pax_global_header00006660000000000000000000000064131013273030014503gustar00rootroot0000000000000052 comment=79560c106304362f6389250e92bbd291132a7f34 python-opcua-0.90.3/000077500000000000000000000000001310132730300142225ustar00rootroot00000000000000python-opcua-0.90.3/.gitignore000066400000000000000000000003001310132730300162030ustar00rootroot00000000000000tmp_test_* build* MANIFEST .idea* htmlcov* docs/_* *.pyc dist *.old *.swp *.swo *.log t.py tmp old dist *.egg-info *.swp newdocs examples/history.db *.sql /.project /.pydevproject /.settings/ python-opcua-0.90.3/.travis.yml000066400000000000000000000016361310132730300163410ustar00rootroot00000000000000language: python python: - "2.7" - "3.4" - "pypy" # command to install dependencies install: - pip install python-dateutil - pip install pytz - pip install lxml - if [[ $TRAVIS_PYTHON_VERSION == '3.4' ]]; then pip install cryptography ; fi - if [[ $TRAVIS_PYTHON_VERSION == '2.7' ]]; then pip install futures ; fi - if [[ $TRAVIS_PYTHON_VERSION == '2.7' ]]; then pip install cryptography ; fi - if [[ $TRAVIS_PYTHON_VERSION == '2.7' ]]; then pip install trollius ; fi - if [[ $TRAVIS_PYTHON_VERSION == '2.7' ]]; then pip install enum34 ; fi #- if [[ $TRAVIS_PYTHON_VERSION == 'pypy3' ]]; then pip install cryptography ; fi - if [[ $TRAVIS_PYTHON_VERSION == 'pypy' ]]; then pip install futures ; fi - if [[ $TRAVIS_PYTHON_VERSION == 'pypy' ]]; then pip install trollius ; fi - if [[ $TRAVIS_PYTHON_VERSION == 'pypy' ]]; then pip install enum34 ; fi # command to run tests script: ./run-tests.sh python-opcua-0.90.3/COPYING000066400000000000000000000167431310132730300152700ustar00rootroot00000000000000 GNU LESSER GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. This version of the GNU Lesser General Public License incorporates the terms and conditions of version 3 of the GNU General Public License, supplemented by the additional permissions listed below. 0. Additional Definitions. As used herein, "this License" refers to version 3 of the GNU Lesser General Public License, and the "GNU GPL" refers to version 3 of the GNU General Public License. "The Library" refers to a covered work governed by this License, other than an Application or a Combined Work as defined below. An "Application" is any work that makes use of an interface provided by the Library, but which is not otherwise based on the Library. Defining a subclass of a class defined by the Library is deemed a mode of using an interface provided by the Library. A "Combined Work" is a work produced by combining or linking an Application with the Library. The particular version of the Library with which the Combined Work was made is also called the "Linked Version". The "Minimal Corresponding Source" for a Combined Work means the Corresponding Source for the Combined Work, excluding any source code for portions of the Combined Work that, considered in isolation, are based on the Application, and not on the Linked Version. The "Corresponding Application Code" for a Combined Work means the object code and/or source code for the Application, including any data and utility programs needed for reproducing the Combined Work from the Application, but excluding the System Libraries of the Combined Work. 1. Exception to Section 3 of the GNU GPL. You may convey a covered work under sections 3 and 4 of this License without being bound by section 3 of the GNU GPL. 2. Conveying Modified Versions. If you modify a copy of the Library, and, in your modifications, a facility refers to a function or data to be supplied by an Application that uses the facility (other than as an argument passed when the facility is invoked), then you may convey a copy of the modified version: a) under this License, provided that you make a good faith effort to ensure that, in the event an Application does not supply the function or data, the facility still operates, and performs whatever part of its purpose remains meaningful, or b) under the GNU GPL, with none of the additional permissions of this License applicable to that copy. 3. Object Code Incorporating Material from Library Header Files. The object code form of an Application may incorporate material from a header file that is part of the Library. You may convey such object code under terms of your choice, provided that, if the incorporated material is not limited to numerical parameters, data structure layouts and accessors, or small macros, inline functions and templates (ten or fewer lines in length), you do both of the following: a) Give prominent notice with each copy of the object code that the Library is used in it and that the Library and its use are covered by this License. b) Accompany the object code with a copy of the GNU GPL and this license document. 4. Combined Works. You may convey a Combined Work under terms of your choice that, taken together, effectively do not restrict modification of the portions of the Library contained in the Combined Work and reverse engineering for debugging such modifications, if you also do each of the following: a) Give prominent notice with each copy of the Combined Work that the Library is used in it and that the Library and its use are covered by this License. b) Accompany the Combined Work with a copy of the GNU GPL and this license document. c) For a Combined Work that displays copyright notices during execution, include the copyright notice for the Library among these notices, as well as a reference directing the user to the copies of the GNU GPL and this license document. d) Do one of the following: 0) Convey the Minimal Corresponding Source under the terms of this License, and the Corresponding Application Code in a form suitable for, and under terms that permit, the user to recombine or relink the Application with a modified version of the Linked Version to produce a modified Combined Work, in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source. 1) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (a) uses at run time a copy of the Library already present on the user's computer system, and (b) will operate properly with a modified version of the Library that is interface-compatible with the Linked Version. e) Provide Installation Information, but only if you would otherwise be required to provide such information under section 6 of the GNU GPL, and only to the extent that such information is necessary to install and execute a modified version of the Combined Work produced by recombining or relinking the Application with a modified version of the Linked Version. (If you use option 4d0, the Installation Information must accompany the Minimal Corresponding Source and Corresponding Application Code. If you use option 4d1, you must provide the Installation Information in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source.) 5. Combined Libraries. You may place library facilities that are a work based on the Library side by side in a single library together with other library facilities that are not Applications and are not covered by this License, and convey such a combined library under terms of your choice, if you do both of the following: a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities, conveyed under the terms of this License. b) Give prominent notice with the combined library that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 6. Revised Versions of the GNU Lesser General Public License. The Free Software Foundation may publish revised and/or new versions of the GNU Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Library as you received it specifies that a certain numbered version of the GNU Lesser General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that published version or of any later version published by the Free Software Foundation. If the Library as you received it does not specify a version number of the GNU Lesser General Public License, you may choose any version of the GNU Lesser General Public License ever published by the Free Software Foundation. If the Library as you received it specifies that a proxy can decide whether future versions of the GNU Lesser General Public License shall apply, that proxy's public statement of acceptance of any version is permanent authorization for you to choose that version for the Library. python-opcua-0.90.3/README.md000066400000000000000000000133171310132730300155060ustar00rootroot00000000000000Pure Python OPC UA / IEC 62541 Client and Server Python 2, 3 and pypy . http://freeopcua.github.io/, https://github.com/FreeOpcUa/python-opcua [![Build Status](https://travis-ci.org/FreeOpcUa/python-opcua.svg?branch=master)](https://travis-ci.org/FreeOpcUa/python-opcua) [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/FreeOpcUa/python-opcua/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/FreeOpcUa/python-opcua/?branch=master) [![Code Coverage](https://scrutinizer-ci.com/g/FreeOpcUa/python-opcua/badges/coverage.png?b=master)](https://scrutinizer-ci.com/g/FreeOpcUa/python-opcua/?branch=master) [![Codacy Badge](https://api.codacy.com/project/badge/grade/f7f9a138ee7c4541b3b794b86e61e929)](https://www.codacy.com/app/olivier-roulet/python-opcua) [![Code Climate](https://codeclimate.com/github/FreeOpcUa/python-opcua/badges/gpa.svg)](https://codeclimate.com/github/FreeOpcUa/python-opcua) [![PyPI Oackage](https://badge.fury.io/py/freeopcua.svg)](https://badge.fury.io/py/freeopcua) OPC UA binary protocol implementation is quasi complete and has been tested against many different OPC UA stacks. API offers both a low level interface to send and receive all UA defined structures and high level classes allowing to write a server or a client in a few lines. It is easy to mix high level objects and low level UA calls in one application. Most low level code is autogenerated from xml specification, thus adding missing functionality to client or server is often trivial. Using Python > 3.4 the dependencies are cryptography, dateutil, lxml and pytz. If using python 2.7 or pypy < 3 you also need to install enum34, trollius(asyncio), and futures(concurrent.futures), with pip for example. coveryage.py reports a test coverage of over 90% of code, most of non-tested code is autogenerated code that is not used yet. Some documentation is available at http://python-opcua.readthedocs.org/en/latest/ A simple GUI client is available: https://github.com/FreeOpcUa/opcua-client-gui Examples: https://github.com/FreeOpcUa/python-opcua/tree/master/examples Minimal client example: https://github.com/FreeOpcUa/python-opcua/blob/master/examples/client-minimal.py Minimal server example: https://github.com/FreeOpcUa/python-opcua/blob/master/examples/server-minimal.py A set of command line tools also available: https://github.com/FreeOpcUa/python-opcua/tree/master/tools * uadiscover (find_servers, get_endpoints and find_servers_on_network calls) * uals (list children of a node) * uahistoryread * uaread (read attribute of a node) * uawrite (write attribute of a node) * uacall (call method of a node) * uasubscribe (subscribe to a node and print datachange events) * uaclient (connect to server and start python shell) * uaserver (starts a demo OPC UA server) tools/uaserver --populate --certificate cert.pem --private_key pk.pem How to generate certificate: https://github.com/FreeOpcUa/python-opcua/tree/master/examples/generate_certificate.sh Client: what works: * connection to server, opening channel, session * browsing and reading attributes value * getting nodes by path and nodeids * creating subscriptions * subscribing to items for data change * subscribing to events * adding nodes * method call * user and password * history read * login with certificate * communication encryption * removing nodes Tested servers: freeopcua C++, freeopcua Python, prosys, kepware, beckoff, winCC, .. Client: what is not implemented yet * localized text feature * XML protocol * maybe automatic reconnection... Server: what works: * creating channel and sessions * read/set attributes and browse * getting nodes by path and nodeids * autogenerate address space from spec * adding nodes to address space * datachange events * events * methods * basic user implementation (one existing user called admin, which can be disabled, all others are read only) * encryption * certificate handling * removing nodes * history support for data change and events Tested clients: freeopcua C++, freeopcua Python, uaexpert, prosys, quickopc Server: what is not implemented * more high level solution to create custom structures * session restore * alarms * XML protocol * views * localized text features * better security model with users and password Server: Running on a Raspberry Pi Setting up the standard address-space from XML is the most time-consuming step of the startup process which may lead to long startup times on less powerful devices like a Raspberry Pi. By passing a path to a cache-file to the server constructor, a shelve holding the address space will be created during the first startup. All following startups will make use of the cache-file which leads to significantly better startup performance (~3.5 vs 125 seconds on a Raspberry Pi Model B). # Development Code follows PEP8 apart for line lengths which should be max 120 characters and OPC UA structures that keep camel case from XML definition. All protocol code is under opcua directory - opcua/ua contains all UA structures from specification, most are autogenerated - opcua/common contains high level objects and methods used both in server and client - opcua/client contains client specific code - opcua/server contains server specific code - opcua/utils contains some utilities function and classes - opcua/tools contains code for command lines tools - schemas contains the XML and text files from specification and the python scripts used to autogenerate code - tests contains tests - docs contains files to auto generate documentation from doc strings - examples contains many example files - tools contains python scripts that can be used to run command line tools from repository without installing ## Running tests: python tests.py ## Coverage coverage run tests.py coverage html firefox htmlcov/index.html python-opcua-0.90.3/docs/000077500000000000000000000000001310132730300151525ustar00rootroot00000000000000python-opcua-0.90.3/docs/Makefile000066400000000000000000000164111310132730300166150ustar00rootroot00000000000000# Makefile for Sphinx documentation # # You can set these variables from the command line. SPHINXOPTS = SPHINXBUILD = sphinx-build PAPER = BUILDDIR = _build # User-friendly check for sphinx-build ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) $(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/) endif # Internal variables. PAPEROPT_a4 = -D latex_paper_size=a4 PAPEROPT_letter = -D latex_paper_size=letter ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . # the i18n builder cannot share the environment and doctrees with the others I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . .PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest coverage gettext help: @echo "Please use \`make ' where is one of" @echo " html to make standalone HTML files" @echo " dirhtml to make HTML files named index.html in directories" @echo " singlehtml to make a single large HTML file" @echo " pickle to make pickle files" @echo " json to make JSON files" @echo " htmlhelp to make HTML files and a HTML help project" @echo " qthelp to make HTML files and a qthelp project" @echo " applehelp to make an Apple Help Book" @echo " devhelp to make HTML files and a Devhelp project" @echo " epub to make an epub" @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" @echo " latexpdf to make LaTeX files and run them through pdflatex" @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx" @echo " text to make text files" @echo " man to make manual pages" @echo " texinfo to make Texinfo files" @echo " info to make Texinfo files and run them through makeinfo" @echo " gettext to make PO message catalogs" @echo " changes to make an overview of all changed/added/deprecated items" @echo " xml to make Docutils-native XML files" @echo " pseudoxml to make pseudoxml-XML files for display purposes" @echo " linkcheck to check all external links for integrity" @echo " doctest to run all doctests embedded in the documentation (if enabled)" @echo " coverage to run coverage check of the documentation (if enabled)" clean: rm -rf $(BUILDDIR)/* html: $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html @echo @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." dirhtml: $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml @echo @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." singlehtml: $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml @echo @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." pickle: $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle @echo @echo "Build finished; now you can process the pickle files." json: $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json @echo @echo "Build finished; now you can process the JSON files." htmlhelp: $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp @echo @echo "Build finished; now you can run HTML Help Workshop with the" \ ".hhp project file in $(BUILDDIR)/htmlhelp." qthelp: $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp @echo @echo "Build finished; now you can run "qcollectiongenerator" with the" \ ".qhcp project file in $(BUILDDIR)/qthelp, like this:" @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/PythonOPC-UA.qhcp" @echo "To view the help file:" @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/PythonOPC-UA.qhc" applehelp: $(SPHINXBUILD) -b applehelp $(ALLSPHINXOPTS) $(BUILDDIR)/applehelp @echo @echo "Build finished. The help book is in $(BUILDDIR)/applehelp." @echo "N.B. You won't be able to view it unless you put it in" \ "~/Library/Documentation/Help or install it in your application" \ "bundle." devhelp: $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp @echo @echo "Build finished." @echo "To view the help file:" @echo "# mkdir -p $$HOME/.local/share/devhelp/PythonOPC-UA" @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/PythonOPC-UA" @echo "# devhelp" epub: $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub @echo @echo "Build finished. The epub file is in $(BUILDDIR)/epub." latex: $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex @echo @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." @echo "Run \`make' in that directory to run these through (pdf)latex" \ "(use \`make latexpdf' here to do that automatically)." latexpdf: $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex @echo "Running LaTeX files through pdflatex..." $(MAKE) -C $(BUILDDIR)/latex all-pdf @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." latexpdfja: $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex @echo "Running LaTeX files through platex and dvipdfmx..." $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." text: $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text @echo @echo "Build finished. The text files are in $(BUILDDIR)/text." man: $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man @echo @echo "Build finished. The manual pages are in $(BUILDDIR)/man." texinfo: $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo @echo @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." @echo "Run \`make' in that directory to run these through makeinfo" \ "(use \`make info' here to do that automatically)." info: $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo @echo "Running Texinfo files through makeinfo..." make -C $(BUILDDIR)/texinfo info @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." gettext: $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale @echo @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." changes: $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes @echo @echo "The overview file is in $(BUILDDIR)/changes." linkcheck: $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck @echo @echo "Link check complete; look for any errors in the above output " \ "or in $(BUILDDIR)/linkcheck/output.txt." doctest: $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest @echo "Testing of doctests in the sources finished, look at the " \ "results in $(BUILDDIR)/doctest/output.txt." coverage: $(SPHINXBUILD) -b coverage $(ALLSPHINXOPTS) $(BUILDDIR)/coverage @echo "Testing of coverage in the sources finished, look at the " \ "results in $(BUILDDIR)/coverage/python.txt." xml: $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml @echo @echo "Build finished. The XML files are in $(BUILDDIR)/xml." pseudoxml: $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml @echo @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml." python-opcua-0.90.3/docs/client.rst000066400000000000000000000003341310132730300171620ustar00rootroot00000000000000 OPC-UA Client Class ========================================= .. autoclass:: opcua.client.client.Client :members: :undoc-members: .. autoclass:: opcua.client.ua_client.UaClient :members: :undoc-members: python-opcua-0.90.3/docs/conf.py000066400000000000000000000221631310132730300164550ustar00rootroot00000000000000# -*- coding: utf-8 -*- # # Python OPC-UA documentation build configuration file, created by # sphinx-quickstart on Sun May 3 22:03:49 2015. # # This file is execfile()d with the current directory set to its # containing dir. # # Note that not all possible configuration values are present in this # autogenerated file. # # All configuration values have a default; values that are commented out # serve to show the default. import sys import os import shlex # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. sys.path.insert(0, os.path.abspath('..')) # -- General configuration ------------------------------------------------ # If your documentation needs a minimal Sphinx version, state it here. #needs_sphinx = '1.0' # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. extensions = [ 'sphinx.ext.autodoc', 'sphinx.ext.coverage', 'sphinx.ext.viewcode', ] # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] # The suffix(es) of source filenames. # You can specify multiple suffix as a list of string: # source_suffix = ['.rst', '.md'] source_suffix = '.rst' # The encoding of source files. #source_encoding = 'utf-8-sig' # The master toctree document. master_doc = 'index' # General information about the project. project = u'Python OPC-UA' copyright = u'2015, Olivier Roulet-Dubonnet' author = u'Olivier Roulet-Dubonnet' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the # built documents. # # The short X.Y version. version = '1.0' # The full version, including alpha/beta/rc tags. release = '1.0' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. # # This is also used if you do content translation via gettext catalogs. # Usually you set "language" from the command line for these cases. language = None # There are two options for replacing |today|: either, you set today to some # non-false value, then it is used: #today = '' # Else, today_fmt is used as the format for a strftime call. #today_fmt = '%B %d, %Y' # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. exclude_patterns = ['_build'] # The reST default role (used for this markup: `text`) to use for all # documents. #default_role = None # If true, '()' will be appended to :func: etc. cross-reference text. #add_function_parentheses = True # If true, the current module name will be prepended to all description # unit titles (such as .. function::). #add_module_names = True # If true, sectionauthor and moduleauthor directives will be shown in the # output. They are ignored by default. #show_authors = False # The name of the Pygments (syntax highlighting) style to use. pygments_style = 'sphinx' # A list of ignored prefixes for module index sorting. #modindex_common_prefix = [] # If true, keep warnings as "system message" paragraphs in the built documents. #keep_warnings = False # If true, `todo` and `todoList` produce output, else they produce nothing. todo_include_todos = False # -- Options for HTML output ---------------------------------------------- # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. #html_theme = 'alabaster' # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the # documentation. #html_theme_options = {} # Add any paths that contain custom themes here, relative to this directory. #html_theme_path = [] # The name for this set of Sphinx documents. If None, it defaults to # " v documentation". #html_title = None # A shorter title for the navigation bar. Default is the same as html_title. #html_short_title = None # The name of an image file (relative to this directory) to place at the top # of the sidebar. #html_logo = None # The name of an image file (within the static path) to use as favicon of the # docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 # pixels large. #html_favicon = None # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". html_static_path = ['_static'] # Add any extra paths that contain custom files (such as robots.txt or # .htaccess) here, relative to this directory. These files are copied # directly to the root of the documentation. #html_extra_path = [] # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, # using the given strftime format. #html_last_updated_fmt = '%b %d, %Y' # If true, SmartyPants will be used to convert quotes and dashes to # typographically correct entities. #html_use_smartypants = True # Custom sidebar templates, maps document names to template names. #html_sidebars = {} # Additional templates that should be rendered to pages, maps page names to # template names. #html_additional_pages = {} # If false, no module index is generated. #html_domain_indices = True # If false, no index is generated. #html_use_index = True # If true, the index is split into individual pages for each letter. #html_split_index = False # If true, links to the reST sources are added to the pages. #html_show_sourcelink = True # If true, "Created using Sphinx" is shown in the HTML footer. Default is True. #html_show_sphinx = True # If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. #html_show_copyright = True # If true, an OpenSearch description file will be output, and all pages will # contain a tag referring to it. The value of this option must be the # base URL from which the finished HTML is served. #html_use_opensearch = '' # This is the file name suffix for HTML files (e.g. ".xhtml"). #html_file_suffix = None # Language to be used for generating the HTML full-text search index. # Sphinx supports the following languages: # 'da', 'de', 'en', 'es', 'fi', 'fr', 'hu', 'it', 'ja' # 'nl', 'no', 'pt', 'ro', 'ru', 'sv', 'tr' #html_search_language = 'en' # A dictionary with options for the search language support, empty by default. # Now only 'ja' uses this config value #html_search_options = {'type': 'default'} # The name of a javascript file (relative to the configuration directory) that # implements a search results scorer. If empty, the default will be used. #html_search_scorer = 'scorer.js' # Output file base name for HTML help builder. htmlhelp_basename = 'PythonOPC-UAdoc' # -- Options for LaTeX output --------------------------------------------- latex_elements = { # The paper size ('letterpaper' or 'a4paper'). #'papersize': 'letterpaper', # The font size ('10pt', '11pt' or '12pt'). #'pointsize': '10pt', # Additional stuff for the LaTeX preamble. #'preamble': '', # Latex figure (float) alignment #'figure_align': 'htbp', } # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, # author, documentclass [howto, manual, or own class]). latex_documents = [ (master_doc, 'PythonOPC-UA.tex', u'Python OPC-UA Documentation', u'Olivier Roulet-Dubonnet', 'manual'), ] # The name of an image file (relative to this directory) to place at the top of # the title page. #latex_logo = None # For "manual" documents, if this is true, then toplevel headings are parts, # not chapters. #latex_use_parts = False # If true, show page references after internal links. #latex_show_pagerefs = False # If true, show URL addresses after external links. #latex_show_urls = False # Documents to append as an appendix to all manuals. #latex_appendices = [] # If false, no module index is generated. #latex_domain_indices = True # -- Options for manual page output --------------------------------------- # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). man_pages = [ (master_doc, 'pythonopc-ua', u'Python OPC-UA Documentation', [author], 1) ] # If true, show URL addresses after external links. #man_show_urls = False # -- Options for Texinfo output ------------------------------------------- # Grouping the document tree into Texinfo files. List of tuples # (source start file, target name, title, author, # dir menu entry, description, category) texinfo_documents = [ (master_doc, 'PythonOPC-UA', u'Python OPC-UA Documentation', author, 'PythonOPC-UA', 'One line description of project.', 'Miscellaneous'), ] # Documents to append as an appendix to all manuals. #texinfo_appendices = [] # If false, no module index is generated. #texinfo_domain_indices = True # How to display URL addresses: 'footnote', 'no', or 'inline'. #texinfo_show_urls = 'footnote' # If true, do not generate a @detailmenu in the "Top" node's menu. #texinfo_no_detailmenu = False python-opcua-0.90.3/docs/index.rst000066400000000000000000000031551310132730300170170ustar00rootroot00000000000000.. Python OPC-UA documentation master file, created by sphinx-quickstart on Sun May 3 10:13:43 2015. You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. Python OPC-UA Documentation ========================================= Pure Python OPC-UA / IEC 62541 Client and Server Python 2, 3 and pypy . http://freeopcua.github.io/, https://github.com/FreeOpcUa/python-opcua OPC-UA implementation is quasi complete and has been tested against many different OPC-UA stacks. API offers both a low level interface to send and receive all UA defined structures and high level classes allowing to write a server or a client in a few lines. It is easy to mix high level objects and low level UA calls in one application. Most code is autogenerated from xml specification using same code as the one that is used for freeopcua C++ client and server, thus adding missing functionnality to client and server shoud be trivial. Some documentation is available at http://python-opcua.readthedocs.org/en/latest/ A simple GUI client is available: https://github.com/FreeOpcUa/opcua-client-gui Examples: https://github.com/FreeOpcUa/python-opcua/tree/master/examples Minimal client example: https://github.com/FreeOpcUa/python-opcua/blob/master/examples/client-minimal.py Minimal server example: https://github.com/FreeOpcUa/python-opcua/blob/master/examples/server-minimal.py Contents: .. toctree:: :maxdepth: 2 server client node subscription opcua All: modules Indices and tables ================== * :ref:`genindex` * :ref:`modindex` * :ref:`search` python-opcua-0.90.3/docs/modules.rst000066400000000000000000000000641310132730300173540ustar00rootroot00000000000000opcua ===== .. toctree:: :maxdepth: 4 opcua python-opcua-0.90.3/docs/node.rst000066400000000000000000000006071310132730300166340ustar00rootroot00000000000000 High level Functions and Node Class ========================================= .. automodule:: opcua.common.node :member-order: bysource :members: :undoc-members: .. automodule:: opcua.common.manage_nodes :members: :undoc-members: .. automodule:: opcua.common.methods :members: :undoc-members: .. automodule:: opcua.common.event :members: :undoc-members: python-opcua-0.90.3/docs/opcua.client.rst000066400000000000000000000007551310132730300202770ustar00rootroot00000000000000opcua.client package ==================== Submodules ---------- opcua.client.client module -------------------------- .. automodule:: opcua.client.client :members: :undoc-members: :show-inheritance: opcua.client.ua_client module ----------------------------- .. automodule:: opcua.client.ua_client :members: :undoc-members: :show-inheritance: Module contents --------------- .. automodule:: opcua.client :members: :undoc-members: :show-inheritance: python-opcua-0.90.3/docs/opcua.common.rst000066400000000000000000000033241310132730300203040ustar00rootroot00000000000000opcua.common package ==================== Submodules ---------- opcua.common.event module ------------------------- .. automodule:: opcua.common.event :members: :undoc-members: :show-inheritance: opcua.common.instanciate module ------------------------------- .. automodule:: opcua.common.instanciate :members: :undoc-members: :show-inheritance: opcua.common.manage_nodes module -------------------------------- .. automodule:: opcua.common.manage_nodes :members: :undoc-members: :show-inheritance: opcua.common.methods module --------------------------- .. automodule:: opcua.common.methods :members: :undoc-members: :show-inheritance: opcua.common.node module ------------------------ .. automodule:: opcua.common.node :members: :undoc-members: :show-inheritance: opcua.common.subscription module -------------------------------- .. automodule:: opcua.common.subscription :members: :undoc-members: :show-inheritance: opcua.common.uaerrors module ---------------------------- .. automodule:: opcua.common.uaerrors :members: :undoc-members: :show-inheritance: opcua.common.utils module ------------------------- .. automodule:: opcua.common.utils :members: :undoc-members: :show-inheritance: opcua.common.xmlimporter module ------------------------------- .. automodule:: opcua.common.xmlimporter :members: :undoc-members: :show-inheritance: opcua.common.xmlparser module ----------------------------- .. automodule:: opcua.common.xmlparser :members: :undoc-members: :show-inheritance: Module contents --------------- .. automodule:: opcua.common :members: :undoc-members: :show-inheritance: python-opcua-0.90.3/docs/opcua.crypto.rst000066400000000000000000000010131310132730300203250ustar00rootroot00000000000000opcua.crypto package ==================== Submodules ---------- opcua.crypto.security_policies module ------------------------------------- .. automodule:: opcua.crypto.security_policies :members: :undoc-members: :show-inheritance: opcua.crypto.uacrypto module ---------------------------- .. automodule:: opcua.crypto.uacrypto :members: :undoc-members: :show-inheritance: Module contents --------------- .. automodule:: opcua.crypto :members: :undoc-members: :show-inheritance: python-opcua-0.90.3/docs/opcua.rst000066400000000000000000000006331310132730300170150ustar00rootroot00000000000000opcua package ============= Subpackages ----------- .. toctree:: opcua.client opcua.common opcua.crypto opcua.server opcua.ua Submodules ---------- opcua.tools module ------------------ .. automodule:: opcua.tools :members: :undoc-members: :show-inheritance: Module contents --------------- .. automodule:: opcua :members: :undoc-members: :show-inheritance: python-opcua-0.90.3/docs/opcua.server.rst000066400000000000000000000034341310132730300203240ustar00rootroot00000000000000opcua.server package ==================== Subpackages ----------- .. toctree:: opcua.server.standard_address_space Submodules ---------- opcua.server.address_space module --------------------------------- .. automodule:: opcua.server.address_space :members: :undoc-members: :show-inheritance: opcua.server.binary_server module --------------------------------- .. automodule:: opcua.server.binary_server :members: :undoc-members: :show-inheritance: opcua.server.binary_server_asyncio module ----------------------------------------- .. automodule:: opcua.server.binary_server_asyncio :members: :undoc-members: :show-inheritance: opcua.server.internal_server module ----------------------------------- .. automodule:: opcua.server.internal_server :members: :undoc-members: :show-inheritance: opcua.server.internal_subscription module ----------------------------------------- .. automodule:: opcua.server.internal_subscription :members: :undoc-members: :show-inheritance: opcua.server.server module -------------------------- .. automodule:: opcua.server.server :members: :undoc-members: :show-inheritance: opcua.server.subscription_service module ---------------------------------------- .. automodule:: opcua.server.subscription_service :members: :undoc-members: :show-inheritance: opcua.server.uaprocessor module ------------------------------- .. automodule:: opcua.server.uaprocessor :members: :undoc-members: :show-inheritance: opcua.server.users module ------------------------- .. automodule:: opcua.server.users :members: :undoc-members: :show-inheritance: Module contents --------------- .. automodule:: opcua.server :members: :undoc-members: :show-inheritance: python-opcua-0.90.3/docs/opcua.server.standard_address_space.rst000066400000000000000000000053621310132730300250050ustar00rootroot00000000000000opcua.server.standard_address_space package =========================================== Submodules ---------- opcua.server.standard_address_space.standard_address_space module ----------------------------------------------------------------- .. automodule:: opcua.server.standard_address_space.standard_address_space :members: :undoc-members: :show-inheritance: opcua.server.standard_address_space.standard_address_space_part10 module ------------------------------------------------------------------------ .. automodule:: opcua.server.standard_address_space.standard_address_space_part10 :members: :undoc-members: :show-inheritance: opcua.server.standard_address_space.standard_address_space_part11 module ------------------------------------------------------------------------ .. automodule:: opcua.server.standard_address_space.standard_address_space_part11 :members: :undoc-members: :show-inheritance: opcua.server.standard_address_space.standard_address_space_part13 module ------------------------------------------------------------------------ .. automodule:: opcua.server.standard_address_space.standard_address_space_part13 :members: :undoc-members: :show-inheritance: opcua.server.standard_address_space.standard_address_space_part3 module ----------------------------------------------------------------------- .. automodule:: opcua.server.standard_address_space.standard_address_space_part3 :members: :undoc-members: :show-inheritance: opcua.server.standard_address_space.standard_address_space_part4 module ----------------------------------------------------------------------- .. automodule:: opcua.server.standard_address_space.standard_address_space_part4 :members: :undoc-members: :show-inheritance: opcua.server.standard_address_space.standard_address_space_part5 module ----------------------------------------------------------------------- .. automodule:: opcua.server.standard_address_space.standard_address_space_part5 :members: :undoc-members: :show-inheritance: opcua.server.standard_address_space.standard_address_space_part8 module ----------------------------------------------------------------------- .. automodule:: opcua.server.standard_address_space.standard_address_space_part8 :members: :undoc-members: :show-inheritance: opcua.server.standard_address_space.standard_address_space_part9 module ----------------------------------------------------------------------- .. automodule:: opcua.server.standard_address_space.standard_address_space_part9 :members: :undoc-members: :show-inheritance: Module contents --------------- .. automodule:: opcua.server.standard_address_space :members: :undoc-members: :show-inheritance: python-opcua-0.90.3/docs/opcua.ua.rst000066400000000000000000000023721310132730300174230ustar00rootroot00000000000000opcua.ua package ================ Submodules ---------- opcua.ua.attribute_ids module ----------------------------- .. automodule:: opcua.ua.attribute_ids :members: :undoc-members: :show-inheritance: opcua.ua.extension_objects module --------------------------------- .. automodule:: opcua.ua.extension_objects :members: :undoc-members: :show-inheritance: opcua.ua.object_ids module -------------------------- .. automodule:: opcua.ua.object_ids :members: :undoc-members: :show-inheritance: opcua.ua.status_codes module ---------------------------- .. automodule:: opcua.ua.status_codes :members: :undoc-members: :show-inheritance: opcua.ua.uaprotocol_auto module ------------------------------- .. automodule:: opcua.ua.uaprotocol_auto :members: :undoc-members: :show-inheritance: opcua.ua.uaprotocol_hand module ------------------------------- .. automodule:: opcua.ua.uaprotocol_hand :members: :undoc-members: :show-inheritance: opcua.ua.uatypes module ----------------------- .. automodule:: opcua.ua.uatypes :members: :undoc-members: :show-inheritance: Module contents --------------- .. automodule:: opcua.ua :members: :undoc-members: :show-inheritance: python-opcua-0.90.3/docs/requirements.txt000066400000000000000000000000631310132730300204350ustar00rootroot00000000000000sphinx sphinxcontrib-napoleon futures cryptography python-opcua-0.90.3/docs/server.rst000066400000000000000000000006751310132730300172220ustar00rootroot00000000000000 OPC-UA Server Class ========================================= .. autoclass:: opcua.server.server.Server :members: :undoc-members: .. autoattribute: .. autoclass:: opcua.server.internal_server.InternalServer :members: :undoc-members: .. autoclass:: opcua.server.internal_server.InternalSession :members: :undoc-members: .. autoclass:: opcua.server.binary_server_asyncio.BinaryServer :members: :undoc-members: python-opcua-0.90.3/docs/subscription.rst000066400000000000000000000002311310132730300204240ustar00rootroot00000000000000 Subscription Class ========================================= .. autoclass:: opcua.common.subscription.Subscription :members: :undoc-members: python-opcua-0.90.3/examples/000077500000000000000000000000001310132730300160405ustar00rootroot00000000000000python-opcua-0.90.3/examples/certificate-example.der000066400000000000000000000015221310132730300224470ustar00rootroot000000000000000N06 $aG0  *H  0#1!0U python-opcua.example.org0 160104230823Z 250923230823Z0#1!0U python-opcua.example.org0"0  *H 0 h0{ߘ심H%L g=!.ݐ Au xk| *=Y2`v(ܔI@M3+⼸0)Ȓ**J lՋ(J彷9%SF2 Kn3Lǫ3=Bq*=/ cO+()dq*1 t)D~`Eų.u B8SޙU4zCJhT%܋hYlj00Uś8OZZ+T0U#0ś8OZZ+T0 U001U*0(&urn:example.org:FreeOpcUa:python-opcua0  *H  W-Iik'yު܌(8n O v W(^5 lm_oxJ*os]7eSݵb: ~Z1{34=(g;M(t;qCAUou~>PcޚIzϮ,va\a>qx$dJt7whpܤlO'gy!LC4夼R)s7.w]lO)^@0q yxpython-opcua-0.90.3/examples/client-events.py000066400000000000000000000031661310132730300212000ustar00rootroot00000000000000import sys sys.path.insert(0, "..") try: from IPython import embed except ImportError: import code def embed(): vars = globals() vars.update(locals()) shell = code.InteractiveConsole(vars) shell.interact() from opcua import Client class SubHandler(object): """ Subscription Handler. To receive events from server for a subscription data_change and event methods are called directly from receiving thread. Do not do expensive, slow or network operation there. Create another thread if you need to do such a thing """ def event_notification(self, event): print("New event recived: ", event) if __name__ == "__main__": client = Client("opc.tcp://localhost:4840/freeopcua/server/") # client = Client("opc.tcp://admin@localhost:4840/freeopcua/server/") #connect using a user try: client.connect() # Client has a few methods to get proxy to UA nodes that should always be in address space such as Root or Objects root = client.get_root_node() print("Objects node is: ", root) # Now getting a variable node using its browse path obj = root.get_child(["0:Objects", "2:MyObject"]) print("MyObject is: ", obj) myevent = root.get_child(["0:Types", "0:EventTypes", "0:BaseEventType", "2:MyFirstEvent"]) print("MyFirstEventType is: ", myevent) msclt = SubHandler() sub = client.create_subscription(100, msclt) handle = sub.subscribe_events(obj, myevent) embed() sub.unsubscribe(handle) sub.delete() finally: client.disconnect() python-opcua-0.90.3/examples/client-example.py000066400000000000000000000055231310132730300213260ustar00rootroot00000000000000import sys sys.path.insert(0, "..") import logging import time try: from IPython import embed except ImportError: import code def embed(): vars = globals() vars.update(locals()) shell = code.InteractiveConsole(vars) shell.interact() from opcua import Client from opcua import ua class SubHandler(object): """ Subscription Handler. To receive events from server for a subscription data_change and event methods are called directly from receiving thread. Do not do expensive, slow or network operation there. Create another thread if you need to do such a thing """ def datachange_notification(self, node, val, data): print("Python: New data change event", node, val) def event_notification(self, event): print("Python: New event", event) if __name__ == "__main__": logging.basicConfig(level=logging.WARN) #logger = logging.getLogger("KeepAlive") #logger.setLevel(logging.DEBUG) client = Client("opc.tcp://localhost:4840/freeopcua/server/") # client = Client("opc.tcp://admin@localhost:4840/freeopcua/server/") #connect using a user try: client.connect() # Client has a few methods to get proxy to UA nodes that should always be in address space such as Root or Objects root = client.get_root_node() print("Root node is: ", root) objects = client.get_objects_node() print("Objects node is: ", objects) # Node objects have methods to read and write node attributes as well as browse or populate address space print("Children of root are: ", root.get_children()) # get a specific node knowing its node id #var = client.get_node(ua.NodeId(1002, 2)) #var = client.get_node("ns=3;i=2002") #print(var) #var.get_data_value() # get value of node as a DataValue object #var.get_value() # get value of node as a python builtin #var.set_value(ua.Variant([23], ua.VariantType.Int64)) #set node value using explicit data type #var.set_value(3.9) # set node value using implicit data type # Now getting a variable node using its browse path myvar = root.get_child(["0:Objects", "2:MyObject", "2:MyVariable"]) obj = root.get_child(["0:Objects", "2:MyObject"]) print("myvar is: ", myvar) # subscribing to a variable node handler = SubHandler() sub = client.create_subscription(500, handler) handle = sub.subscribe_data_change(myvar) time.sleep(0.1) # we can also subscribe to events from server sub.subscribe_events() # sub.unsubscribe(handle) # sub.delete() # calling a method on server res = obj.call_method("2:multiply", 3, "klk") print("method result is: ", res) embed() finally: client.disconnect() python-opcua-0.90.3/examples/client-minimal.py000066400000000000000000000026131310132730300213160ustar00rootroot00000000000000import sys sys.path.insert(0, "..") from opcua import Client if __name__ == "__main__": client = Client("opc.tcp://localhost:4840/freeopcua/server/") # client = Client("opc.tcp://admin@localhost:4840/freeopcua/server/") #connect using a user try: client.connect() # Client has a few methods to get proxy to UA nodes that should always be in address space such as Root or Objects root = client.get_root_node() print("Objects node is: ", root) # Node objects have methods to read and write node attributes as well as browse or populate address space print("Children of root are: ", root.get_children()) # get a specific node knowing its node id #var = client.get_node(ua.NodeId(1002, 2)) #var = client.get_node("ns=3;i=2002") #print(var) #var.get_data_value() # get value of node as a DataValue object #var.get_value() # get value of node as a python builtin #var.set_value(ua.Variant([23], ua.VariantType.Int64)) #set node value using explicit data type #var.set_value(3.9) # set node value using implicit data type # Now getting a variable node using its browse path myvar = root.get_child(["0:Objects", "2:MyObject", "2:MyVariable"]) obj = root.get_child(["0:Objects", "2:MyObject"]) print("myvar is: ", myvar) finally: client.disconnect() python-opcua-0.90.3/examples/client_deleting.py000066400000000000000000000015741310132730300215520ustar00rootroot00000000000000import sys sys.path.insert(0, "..") import logging from opcua import Client from opcua import ua if __name__ == "__main__": logging.basicConfig(level=logging.WARN) client = Client("opc.tcp://admin@localhost:4840/freeopcua/server/") #connect using a user try: client.connect() objects = client.get_objects_node() folder = objects.add_folder("ns=2;i=3007", "2:Folder1") var = folder.add_variable("ns=2;i=3008", "2:Variable1", 3.45) # Now getting a variable node using its browse path var.set_value(9.89) # just to check it works results = client.delete_nodes([folder, var]) try: #var.set_value(9.89) # just to check it does not work var.get_browse_name() except ua.UaStatusCodeError: print("The variable has been removed OK") finally: client.disconnect() python-opcua-0.90.3/examples/client_read-custom_structures.py000066400000000000000000000012611310132730300244760ustar00rootroot00000000000000import sys sys.path.insert(0, "..") import time import logging from IPython import embed from opcua import Client from opcua import ua if __name__ == "__main__": logging.basicConfig(level=logging.WARN) client = Client("opc.tcp://opcua.demo-this.com:51210/UA/SampleServer") try: client.connect() root = client.get_root_node() objects = client.get_objects_node() struct = client.get_node("ns=2;i=10239") before = struct.get_value() client.import_and_register_structures() # scan server for custom structures and import them after = struct.get_value() embed() finally: client.disconnect() python-opcua-0.90.3/examples/client_to_demo-this.com.py000066400000000000000000000012611310132730300231200ustar00rootroot00000000000000import sys sys.path.insert(0, "..") import time import logging from IPython import embed from opcua import Client from opcua import ua if __name__ == "__main__": logging.basicConfig(level=logging.WARN) client = Client("opc.tcp://opcua.demo-this.com:51210/UA/SampleServer") try: client.connect() root = client.get_root_node() objects = client.get_objects_node() struct = client.get_node("ns=2;i=10239") before = struct.get_value() client.import_and_register_structures() # scan server for custom structures and import them after = struct.get_value() embed() finally: client.disconnect() python-opcua-0.90.3/examples/client_to_kepware.py000066400000000000000000000032731310132730300221150ustar00rootroot00000000000000import sys sys.path.insert(0, "..") import logging from opcua import Client from opcua import uaprotocol as ua class SubHandler(object): """ Client to subscription. It will receive events from server """ def datachange_notification(self, node, val, data): print("Python: New data change event", node, val) def event_notification(self, event): print("Python: New event", event) if __name__ == "__main__": #from IPython import embed logging.basicConfig(level=logging.WARN) client = Client("opc.tcp://192.168.56.100:49320/OPCUA/SimulationServer/") #client = Client("opc.tcp://192.168.56.100:4840/OPCUA/SimulationServer/") #client = Client("opc.tcp://olivier:olivierpass@localhost:53530/OPCUA/SimulationServer/") try: client.connect() root = client.get_root_node() print("Root is", root) print("childs of root are: ", root.get_children()) print("name of root is", root.get_browse_name()) objects = client.get_objects_node() print("childs og objects are: ", objects.get_children()) tag1 = client.get_node("ns=2;s=Channel1.Device1.Tag1") print("tag1 is: {0} with value {1} ".format(tag1, tag1.get_value())) tag2 = client.get_node("ns=2;s=Channel1.Device1.Tag2") print("tag2 is: {0} with value {1} ".format(tag2, tag2.get_value())) handler = SubHandler() sub = client.create_subscription(500, handler) handle = sub.subscribe_data_change(tag1) handle = sub.subscribe_data_change(tag2) from IPython import embed embed() sub.unsubscribe(handle) sub.delete() finally: client.disconnect() python-opcua-0.90.3/examples/client_to_prosys.py000066400000000000000000000044671310132730300220240ustar00rootroot00000000000000import sys sys.path.insert(0, "..") import time import logging from opcua import Client from opcua import ua class SubHandler(object): """ Client to subscription. It will receive events from server """ def datachange_notification(self, node, val, data): print("Python: New data change event", node, val) def event_notification(self, event): print("Python: New event", event) if __name__ == "__main__": #from IPython import embed logging.basicConfig(level=logging.DEBUG) client = Client("opc.tcp://localhost:53530/OPCUA/SimulationServer/") #client = Client("opc.tcp://olivier:olivierpass@localhost:53530/OPCUA/SimulationServer/") #client.set_security_string("Basic256,SignAndEncrypt,certificate-example.der,private-key-example.pem") try: client.connect() root = client.get_root_node() print("Root is", root) print("childs of root are: ", root.get_children()) print("name of root is", root.get_browse_name()) objects = client.get_objects_node() print("childs og objects are: ", objects.get_children()) myfloat = client.get_node("ns=4;s=Float") mydouble = client.get_node("ns=4;s=Double") myint64 = client.get_node("ns=4;s=Int64") myuint64 = client.get_node("ns=4;s=UInt64") myint32 = client.get_node("ns=4;s=Int32") myuint32 = client.get_node("ns=4;s=UInt32") var = client.get_node(ua.NodeId("Random1", 5)) print("var is: ", var) print("value of var is: ", var.get_value()) var.set_value(ua.Variant([23], ua.VariantType.Double)) print("setting float value") myfloat.set_value(ua.Variant(1.234, ua.VariantType.Float)) print("reading float value: ", myfloat.get_value()) handler = SubHandler() sub = client.create_subscription(500, handler) handle = sub.subscribe_data_change(var) device = objects.get_child(["2:MyObjects", "2:MyDevice"]) method = device.get_child("2:MyMethod") result = device.call_method(method, ua.Variant("sin"), ua.Variant(180, ua.VariantType.Double)) print("Mehtod result is: ", result) #embed() time.sleep(3) sub.unsubscribe(handle) sub.delete() #client.close_session() finally: client.disconnect() python-opcua-0.90.3/examples/client_to_prosys_cert.py000066400000000000000000000011101310132730300230170ustar00rootroot00000000000000import sys sys.path.insert(0, "..") import logging from IPython import embed from opcua import Client if __name__ == "__main__": logging.basicConfig(level=logging.WARN) client = Client("opc.tcp://localhost:53530/OPCUA/SimulationServer/") client.load_client_certificate("server_cert.pem") client.load_private_key("mykey.pem") try: client.connect() root = client.get_root_node() objects = client.get_objects_node() print("childs og objects are: ", objects.get_children()) embed() finally: client.disconnect() python-opcua-0.90.3/examples/client_to_prosys_events.py000066400000000000000000000024121310132730300233740ustar00rootroot00000000000000import sys sys.path.insert(0, "..") import logging from opcua import Client from opcua import ua from IPython import embed class SubHandler(object): """ Subscription Handler. To receive events from server for a subscription """ def datachange_notification(self, node, val, data): print("Python: New data change event", node, val) def event_notification(self, event): print("Python: New event", event.EventType) if __name__ == "__main__": #from IPython import embed logging.basicConfig(level=logging.WARN) client = Client("opc.tcp://localhost:53530/OPCUA/SimulationServer/") #client = Client("opc.tcp://olivier:olivierpass@localhost:53530/OPCUA/SimulationServer/") try: client.connect() root = client.get_root_node() print("Root is", root) handler = SubHandler() sub = client.create_subscription(500, handler) handle = sub.subscribe_events(evtype=2788) # refresh server condition to force generation of events cond = root.get_child(["0:Types", "0:EventTypes", "0:BaseEventType", "0:ConditionType"]) cond.call_method("0:ConditionRefresh", ua.Variant(sub.subscription_id, ua.VariantType.UInt32)) embed() finally: client.disconnect() python-opcua-0.90.3/examples/custom_nodes.xml000066400000000000000000000030311310132730300212610ustar00rootroot00000000000000 A custom folder. i=61 i=85 A custom object node. i=58 i=30001 i=69 i=30002 StringValue i=68 i=30002 76 python-opcua-0.90.3/examples/customobject.xml000066400000000000000000000033611310132730300212660ustar00rootroot00000000000000 https://github.com/FreeOpcUa/python-opcua/customobject i=11 i=37 i=40 i=45 i=47 MyObjectType ns=1;i=6001 i=58 MyVariable i=63 i=78 ns=1;i=1002 0 python-opcua-0.90.3/examples/generate_certificate.sh000077500000000000000000000002331310132730300225310ustar00rootroot00000000000000openssl req -x509 -newkey rsa:2048 -keyout my_private_key.pem -out my_cert.pem -days 355 -nodes openssl x509 -outform der -in my_cert.pem -out my_cert.der python-opcua-0.90.3/examples/private-key-example.pem000066400000000000000000000032541310132730300224400ustar00rootroot00000000000000-----BEGIN PRIVATE KEY----- MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCfaDB7pK/fmP/I 7IusSK8lTCBnPZghqIbVLt2QHYAMoEF1CaF4F4rxo2vl1Mt8gwsq4T3osQFZMvnL YHb7KNyUoJgTjLxJQADv2u4Q3U38heAzK5Tp4ry4MCnuyJIqAPK1GiruwEq4zQrx +WzVix8otO37SuW9tzklqlNGMiAYBL0TBKHvS5XMbjP1idBMB8erMz29w/TVQnEB Kj0vCdZjrbVPKygptt5kcSrL5f4xCZwU+ufz7cp0GLwpRMJ+shG9YJJFBxb0itPF sy51vAyEtdBC7jgAU96ZVeQ06nryDq1D2EpoVMElqNyL46Jo3lnKbGquGKzXzQYU BN32/scDAgMBAAECggEBAJE/mo3PLgILo2YtQ8ekIxNVHmF0Gl7w9IrjvTdH6hmX HI3MTLjkmtI7GmG9V/0IWvCjdInGX3grnrjWGRQZ04QKIQgPQLFuBGyJjEsJm7nx MqztlS7YTyV1nX/aenSTkJO8WEpcJLnm+4YoxCaAMdAhrIdBY71OamALpv1bRysa FaiCGcemT2yqZn0GqIS8O26Tz5zIqrTN2G1eSmgh7DG+7FoddMz35cute8R10xUG hF5YU+6fcXiRQ/Kh7nlxelPGqdZFPMk7LpVHzkQKwdJ+N0P23lPDIfNsvpG1n0OP 3g5km7gHSrSU2yZ3eFl6DB9x1IFNS9BaQQuSxYJtKwECgYEA1C8jjzpXZDLvlYsV 2jlMzkrbsIrX2dzblVrNsPs2jRbjYU8mg2DUDO6lOhtxHfqZG6sO+gmWi/zvoy9l yolGbXe1Jqx66p9fznIcecSwar8+ACa356Wk74Nt1PlBOfCMqaJnYLOLaFJa29Vy u5ClZVzKd5AVXl7yFVd4XfLv/WECgYEAwFMMtFoasdF92c0d31rZ1uoPOtFz6xq6 uQggdm5zzkhnfwUAGqppS/u1CHcJ7T/74++jLbFTsaohGr4jEzWSGvJpomEUChy3 r25YofMclUhJ5pCEStsLtqiCR1Am6LlI8HMdBEP1QDgEC5q8bQW4+UHuew1E1zxz osZOhe09WuMCgYEA0G9aFCnwjUqIFjQiDFP7gi8BLqTFs4uE3Wvs4W11whV42i+B ms90nxuTjchFT3jMDOT1+mOO0wdudLRr3xEI8SIF/u6ydGaJG+j21huEXehtxIJE aDdNFcfbDbqo+3y1ATK7MMBPMvSrsoY0hdJq127WqasNgr3sO1DIuima3SECgYEA nkM5TyhekzlbIOHD1UsDu/D7+2DkzPE/+oePfyXBMl0unb3VqhvVbmuBO6gJiSx/ 8b//PdiQkMD5YPJaFrKcuoQFHVRZk0CyfzCEyzAts0K7XXpLAvZiGztriZeRjSz7 srJnjF0H8oKmAY6hw+1Tm/n/b08p+RyL48TgVSE2vhUCgYA3BWpkD4PlCcn/FZsq OrLFyFXI6jIaxskFtsRW1IxxIlAdZmxfB26P/2gx6VjLdxJI/RRPkJyEN2dP7CbR BDjb565dy1O9D6+UrY70Iuwjz+OcALRBBGTaiF2pLn6IhSzNI2sy/tXX8q8dBlg9 OFCrqT/emes3KytTPfa5NZtYeQ== -----END PRIVATE KEY----- python-opcua-0.90.3/examples/server-callback.py000066400000000000000000000054531310132730300214610ustar00rootroot00000000000000import sys sys.path.insert(0, "..") import logging from datetime import datetime try: from IPython import embed except ImportError: import code def embed(): vars = globals() vars.update(locals()) shell = code.InteractiveConsole(vars) shell.interact() from opcua import ua, uamethod, Server from opcua.common.callback import CallbackType def create_monitored_items(event, dispatcher): print("Monitored Item") for idx in range(len(event.response_params)) : if (event.response_params[idx].StatusCode.is_good()) : nodeId = event.request_params.ItemsToCreate[idx].ItemToMonitor.NodeId print("Node {0} was created".format(nodeId)) def modify_monitored_items(event, dispatcher): print('modify_monitored_items') def delete_monitored_items(event, dispatcher): print('delete_monitored_items') if __name__ == "__main__": # optional: setup logging logging.basicConfig(level=logging.WARN) #logger = logging.getLogger("opcua.address_space") # logger.setLevel(logging.DEBUG) #logger = logging.getLogger("opcua.internal_server") # logger.setLevel(logging.DEBUG) #logger = logging.getLogger("opcua.binary_server_asyncio") # logger.setLevel(logging.DEBUG) #logger = logging.getLogger("opcua.uaprocessor") # logger.setLevel(logging.DEBUG) logger = logging.getLogger("opcua.subscription_service") logger.setLevel(logging.DEBUG) # now setup our server server = Server() #server.disable_clock() #server.set_endpoint("opc.tcp://localhost:4840/freeopcua/server/") server.set_endpoint("opc.tcp://0.0.0.0:4840/freeopcua/server/") server.set_server_name("FreeOpcUa Example Server") # setup our own namespace uri = "http://examples.freeopcua.github.io" idx = server.register_namespace(uri) # get Objects node, this is where we should put our custom stuff objects = server.get_objects_node() # populating our address space myfolder = objects.add_folder(idx, "myEmptyFolder") myobj = objects.add_object(idx, "MyObject") myvar = myobj.add_variable(idx, "MyVariable", 6.7) myvar.set_writable() # Set MyVariable to be writable by clients # starting! server.start() # Create Callback for item event server.subscribe_server_callback(CallbackType.ItemSubscriptionCreated, create_monitored_items) server.subscribe_server_callback(CallbackType.ItemSubscriptionModified, modify_monitored_items) server.subscribe_server_callback(CallbackType.ItemSubscriptionDeleted, delete_monitored_items) print("Available loggers are: ", logging.Logger.manager.loggerDict.keys()) try: # enable following if you want to subscribe to nodes on server side embed() finally: server.stop() python-opcua-0.90.3/examples/server-custom-object.py000066400000000000000000000056641310132730300225070ustar00rootroot00000000000000''' Show 3 different examples for creating an object: 1) create a basic object 2) create a new object type and a instance of the new object type 3) import a new object from xml address space and create a instance of the new object type ''' import sys sys.path.insert(0, "..") import time from opcua import ua, Server if __name__ == "__main__": # setup our server server = Server() server.set_endpoint("opc.tcp://0.0.0.0:4840/freeopcua/server/") # setup our own namespace, not really necessary but should as spec uri = "http://examples.freeopcua.github.io" idx = server.register_namespace(uri) # get Objects node, this is where we should put our custom stuff objects = server.get_objects_node() # Example 1 - create a basic object #------------------------------------------------------------------------------- myobj = objects.add_object(idx, "MyObject") #------------------------------------------------------------------------------- # Example 2 - create a new object type and a instance of the new object type #------------------------------------------------------------------------------- types = server.get_node(ua.ObjectIds.BaseObjectType) object_type_to_derive_from = server.get_root_node().get_child(["0:Types", "0:ObjectTypes", "0:BaseObjectType"]) mycustomobj_type = types.add_object_type(idx, "MyCustomObjectType") mycustomobj_type.add_variable(0, "var_should_be_there_after_instantiate", 1.0) # demonstrates instantiate myobj = objects.add_object(idx, "MyCustomObjectA", mycustomobj_type.nodeid) #------------------------------------------------------------------------------- # Example 3 - import a new object from xml address space and create a instance of the new object type #------------------------------------------------------------------------------- # Import customobject type server.import_xml('customobject.xml') # get nodeid of custom object type by one of the following 3 ways: # 1) Use node ID # 2) Or Full path # 3) Or As child from parent myobject1_type_nodeid = ua.NodeId.from_string('ns=%d;i=2' % idx) myobject2_type_nodeid = server.get_root_node().get_child(["0:Types", "0:ObjectTypes", "0:BaseObjectType", "%d:MyCustomObjectType" % idx]).nodeid myobject3_type_nodeid = server.get_node(ua.ObjectIds.BaseObjectType).get_child(["%d:MyCustomObjectType" % idx]).nodeid # populating our address space myobj = objects.add_object(idx, "MyCustomObjectB", myobject3_type_nodeid) #------------------------------------------------------------------------------- # starting! server.start() try: while True: time.sleep(1) finally: # close connection, remove subcsriptions, etc server.stop() python-opcua-0.90.3/examples/server-datavalue-history.py000066400000000000000000000026301310132730300233640ustar00rootroot00000000000000import sys sys.path.insert(0, "..") import time import math from opcua import ua, Server from opcua.server.history_sql import HistorySQLite if __name__ == "__main__": # setup our server server = Server() server.set_endpoint("opc.tcp://0.0.0.0:4840/freeopcua/server/") # setup our own namespace, not really necessary but should as spec uri = "http://examples.freeopcua.github.io" idx = server.register_namespace(uri) # get Objects node, this is where we should put our custom stuff objects = server.get_objects_node() # populating our address space myobj = objects.add_object(idx, "MyObject") myvar = myobj.add_variable(idx, "MyVariable", ua.Variant(0, ua.VariantType.Double)) myvar.set_writable() # Set MyVariable to be writable by clients # Configure server to use sqlite as history database (default is a simple memory dict) server.iserver.history_manager.set_storage(HistorySQLite("my_datavalue_history.sql")) # starting! server.start() # enable data change history for this particular node, must be called after start since it uses subscription server.historize_node_data_change(myvar, period=None, count=100) try: count = 0 while True: time.sleep(1) count += 0.1 myvar.set_value(math.sin(count)) finally: # close connection, remove subscriptions, etc server.stop() python-opcua-0.90.3/examples/server-enum.py000066400000000000000000000055221310132730300206660ustar00rootroot00000000000000''' This example demonstrates the use of custom enums by: - Create a custom enum type - Create an object that contains a variable of this type ''' import sys sys.path.insert(0, "..") try: from IPython import embed except ImportError: import code def embed(): vars = globals() vars.update(locals()) shell = code.InteractiveConsole(vars) shell.interact() interactive = True from opcua import ua, Server from opcua.common import node from enum import IntEnum # Not required just for convenience # Because this example is based on EnumStrings, the values should start at 0 and no gaps are allowed. class MyEnum(IntEnum): ok = 0 idle = 1 # helper method to automatically create string list def enum_to_stringlist(a_enum): items = [] for value in a_enum: items.append(ua.LocalizedText(value.name)) return items if __name__ == "__main__": # setup our server server = Server() server.set_endpoint("opc.tcp://0.0.0.0:4840/freeopcua/server/") # setup our own namespace, not really necessary but should as spec uri = "http://examples.freeopcua.github.io" nsidx = server.register_namespace(uri) # -------------------------------------------------------- # create custom enum data type # -------------------------------------------------------- enums = server.get_root_node().get_child(["0:Types", "0:DataTypes", "0:BaseDataType", "0:Enumeration"]) # 1. # Create Enum Type myenum_type = enums.add_data_type(nsidx, 'MyEnum') # 2. # Add enumerations as EnumStrings (Not yet tested with EnumValues) # Essential to use namespace 0 for EnumStrings ! # By hand # es = myenum_type.add_variable(0, "EnumStrings" , [ua.LocalizedText("ok"), # ua.LocalizedText("idle")]) # Or convert the existing IntEnum MyEnum es = myenum_type.add_variable(0, "EnumStrings" , enum_to_stringlist(MyEnum)) es.set_value_rank(1) es.set_array_dimensions([0]) # -------------------------------------------------------- # create object with enum variable # -------------------------------------------------------- # get Objects node, this is where we should put our custom stuff objects = server.get_objects_node() # create object myobj = objects.add_object(nsidx, 'MyObjectWithEnumVar') # add var with as type the custom enumeration myenum_var = myobj.add_variable(nsidx, 'MyEnum2Var', MyEnum.ok, datatype = myenum_type.nodeid) myenum_var.set_writable() myenum_var.set_value(MyEnum.idle) # change value of enumeration server.start() try: if interactive: embed() else: while True: time.sleep(0.5) except IOError: pass finally: server.stop() print("done") python-opcua-0.90.3/examples/server-events-history.py000066400000000000000000000061551310132730300227300ustar00rootroot00000000000000import sys sys.path.insert(0, "..") import time from datetime import datetime from opcua import ua, Server from opcua.server.history_sql import HistorySQLite if __name__ == "__main__": # setup our server server = Server() server.set_endpoint("opc.tcp://0.0.0.0:4840/freeopcua/server/") # setup our own namespace, not really necessary but should as spec uri = "http://examples.freeopcua.github.io" idx = server.register_namespace(uri) # get Objects node, this is where we should put our custom stuff objects = server.get_objects_node() # populating our address space myobj = objects.add_object(idx, "MyObject") # Creating a custom event: Approach 1 # The custom event object automatically will have members from its parent (BaseEventType) etype = server.create_custom_event_type(2, 'MyFirstEvent', ua.ObjectIds.BaseEventType, [('MyNumericProperty', ua.VariantType.Float), ('MyStringProperty', ua.VariantType.String)]) # create second event etype2 = server.create_custom_event_type(2, 'MySecondEvent', ua.ObjectIds.BaseEventType, [('MyOtherProperty', ua.VariantType.Float)]) # get an event generator for the myobj node which generates custom events myevgen = server.get_event_generator(etype, myobj) myevgen.event.Severity = 500 myevgen.event.MyStringProperty = ua.Variant("hello world") myevgen.event.MyNumericProperty = ua.Variant(-456) # get another event generator for the myobj node which generates different custom events myevgen2 = server.get_event_generator(etype2, myobj) myevgen2.event.Severity = 123 myevgen2.event.MyOtherProperty = ua.Variant(1.337) # get an event generator for the server node which generates BaseEventType serverevgen = server.get_event_generator() serverevgen.event.Severity = 111 # Configure server to use sqlite as history database (default is a simple in memory dict) server.iserver.history_manager.set_storage(HistorySQLite("my_event_history.sql")) # starting! server.start() # enable history for myobj events; must be called after start since it uses subscription server.iserver.enable_history_event(myobj, period=None) # enable history for server events; must be called after start since it uses subscription server_node = server.get_node(ua.ObjectIds.Server) server.historize_node_event(server_node, period=None) try: count = 0 while True: time.sleep(1) count += 0.1 # generate events for subscribed clients and history myevgen.trigger(message="This is MyFirstEvent " + str(count)) myevgen2.trigger(message="This is MySecondEvent " + str(count)) serverevgen.trigger(message="Server Event Message") # read event history from sql end_time = datetime.utcnow() server_event_history = server_node.read_event_history(None, end_time, 0) finally: # close connection, remove subscriptions, etc server.stop() python-opcua-0.90.3/examples/server-events.py000066400000000000000000000045111310132730300212230ustar00rootroot00000000000000import sys sys.path.insert(0, "..") import logging try: from IPython import embed except ImportError: import code def embed(): vars = globals() vars.update(locals()) shell = code.InteractiveConsole(vars) shell.interact() from opcua import ua, Server if __name__ == "__main__": logging.basicConfig(level=logging.WARN) logger = logging.getLogger("opcua.server.internal_subscription") logger.setLevel(logging.DEBUG) # setup our server server = Server() server.set_endpoint("opc.tcp://0.0.0.0:4840/freeopcua/server/") # setup our own namespace, not really necessary but should as spec uri = "http://examples.freeopcua.github.io" idx = server.register_namespace(uri) # get Objects node, this is where we should put our custom stuff objects = server.get_objects_node() # populating our address space myobj = objects.add_object(idx, "MyObject") # Creating a custom event: Approach 1 # The custom event object automatically will have members from its parent (BaseEventType) etype = server.create_custom_event_type(idx, 'MyFirstEvent', ua.ObjectIds.BaseEventType, [('MyNumericProperty', ua.VariantType.Float), ('MyStringProperty', ua.VariantType.String)]) myevgen = server.get_event_generator(etype, myobj) # Creating a custom event: Approach 2 custom_etype = server.nodes.base_event_type.add_object_type(2, 'MySecondEvent') custom_etype.add_property(2, 'MyIntProperty', ua.Variant(0, ua.VariantType.Int32)) custom_etype.add_property(2, 'MyBoolProperty', ua.Variant(True, ua.VariantType.Boolean)) mysecondevgen = server.get_event_generator(custom_etype, myobj) # starting! server.start() try: # time.sleep is here just because we want to see events in UaExpert import time count = 0 while True: time.sleep(5) myevgen.event.Message = ua.LocalizedText("MyFirstEvent %d" % count) myevgen.event.Severity = count myevgen.event.MyNumericProperty = count myevgen.event.MyStringProperty = "Property " + str(count) myevgen.trigger() mysecondevgen.trigger(message="MySecondEvent %d" % count) count += 1 embed() finally: # close connection, remove subcsriptions, etc server.stop() python-opcua-0.90.3/examples/server-example.py000066400000000000000000000106771310132730300213640ustar00rootroot00000000000000import sys sys.path.insert(0, "..") import logging from datetime import datetime try: from IPython import embed except ImportError: import code def embed(): vars = globals() vars.update(locals()) shell = code.InteractiveConsole(vars) shell.interact() from opcua import ua, uamethod, Server class SubHandler(object): """ Subscription Handler. To receive events from server for a subscription """ def datachange_notification(self, node, val, data): print("Python: New data change event", node, val) def event_notification(self, event): print("Python: New event", event) # method to be exposed through server def func(parent, variant): ret = False if variant.Value % 2 == 0: ret = True return [ua.Variant(ret, ua.VariantType.Boolean)] # method to be exposed through server # uses a decorator to automatically convert to and from variants @uamethod def multiply(parent, x, y): print("multiply method call with parameters: ", x, y) return x * y if __name__ == "__main__": # optional: setup logging logging.basicConfig(level=logging.WARN) #logger = logging.getLogger("opcua.address_space") # logger.setLevel(logging.DEBUG) #logger = logging.getLogger("opcua.internal_server") # logger.setLevel(logging.DEBUG) #logger = logging.getLogger("opcua.binary_server_asyncio") # logger.setLevel(logging.DEBUG) #logger = logging.getLogger("opcua.uaprocessor") # logger.setLevel(logging.DEBUG) # now setup our server server = Server() #server.disable_clock() #server.set_endpoint("opc.tcp://localhost:4840/freeopcua/server/") server.set_endpoint("opc.tcp://0.0.0.0:4840/freeopcua/server/") server.set_server_name("FreeOpcUa Example Server") # setup our own namespace uri = "http://examples.freeopcua.github.io" idx = server.register_namespace(uri) # create a new node type we can instantiate in our address space dev = server.nodes.base_object_type.add_object_type(0, "MyDevice") dev.add_variable(0, "sensor1", 1.0) dev.add_property(0, "device_id", "0340") ctrl = dev.add_object(0, "controller") ctrl.add_property(0, "state", "Idle") # populating our address space # First a folder to organise our nodes myfolder = server.nodes.objects.add_folder(idx, "myEmptyFolder") # instanciate one instance of our device mydevice = server.nodes.objects.add_object(idx, "Device0001", dev) mydevice_var = mydevice.get_child(["0:controller", "0:state"]) # get proxy to our device state variable # create directly some objects and variables myobj = server.nodes.objects.add_object(idx, "MyObject") myvar = myobj.add_variable(idx, "MyVariable", 6.7) myvar.set_writable() # Set MyVariable to be writable by clients mystringvar = myobj.add_variable(idx, "MyStringVariable", "Really nice string") mystringvar.set_writable() # Set MyVariable to be writable by clients mydtvar = myobj.add_variable(idx, "MyDateTimeVar", datetime.utcnow()) mydtvar.set_writable() # Set MyVariable to be writable by clients myarrayvar = myobj.add_variable(idx, "myarrayvar", [6.7, 7.9]) myarrayvar = myobj.add_variable(idx, "myStronglytTypedVariable", ua.Variant([], ua.VariantType.UInt32)) myprop = myobj.add_property(idx, "myproperty", "I am a property") mymethod = myobj.add_method(idx, "mymethod", func, [ua.VariantType.Int64], [ua.VariantType.Boolean]) multiply_node = myobj.add_method(idx, "multiply", multiply, [ua.VariantType.Int64, ua.VariantType.Int64], [ua.VariantType.Int64]) # import some nodes from xml server.import_xml("custom_nodes.xml") # creating a default event object # The event object automatically will have members for all events properties # you probably want to create a custom event type, see other examples myevgen = server.get_event_generator() myevgen.event.Severity = 300 # starting! server.start() print("Available loggers are: ", logging.Logger.manager.loggerDict.keys()) try: # enable following if you want to subscribe to nodes on server side #handler = SubHandler() #sub = server.create_subscription(500, handler) #handle = sub.subscribe_data_change(myvar) # trigger event, all subscribed clients wil receive it mydevice_var.set_value("Running") myevgen.trigger(message="This is BaseEvent") embed() finally: server.stop() python-opcua-0.90.3/examples/server-instantiate-object.py000066400000000000000000000023651310132730300235130ustar00rootroot00000000000000import sys sys.path.insert(0, "..") import time from IPython import embed from opcua import ua, Server, instantiate if __name__ == "__main__": # setup our server server = Server() server.set_endpoint("opc.tcp://0.0.0.0:4840/freeopcua/server/") # setup our own namespace, not really necessary but should as spec uri = "http://examples.freeopcua.github.io" idx = server.register_namespace(uri) # create our custom object type dev = server.nodes.base_object_type.add_object_type(0, "MyDevice") dev.add_variable(0, "sensor1", 1.0) dev.add_property(0, "device_id", "0340") ctrl = dev.add_object(0, "controller") ctrl.add_property(0, "state", "Idle") # instantiate our new object type mydevice = instantiate(server.nodes.objects, dev, bname="2:Device0001") #mydevice = server.nodes.objects.add_object(2, "Device0001", objecttype=dev) # specificying objecttype to add_object also instanciate a node type mydevice_var = mydevice.get_child(["0:controller", "0:state"]) # get proxy to our device state variable # starting! server.start() try: mydevice_var.set_value("Running") embed() finally: # close connection, remove subcsriptions, etc server.stop() python-opcua-0.90.3/examples/server-methods.py000066400000000000000000000063711310132730300213700ustar00rootroot00000000000000import sys sys.path.insert(0, "..") import logging try: from IPython import embed except ImportError: import code def embed(): vars = globals() vars.update(locals()) shell = code.InteractiveConsole(vars) shell.interact() from opcua import ua, uamethod, Server # method to be exposed through server def func(parent, variant): ret = False if variant.Value % 2 == 0: ret = True return [ua.Variant(ret, ua.VariantType.Boolean)] # method to be exposed through server # uses a decorator to automatically convert to and from variants @uamethod def multiply(parent, x, y): print("multiply method call with parameters: ", x, y) return x * y if __name__ == "__main__": # optional: setup logging logging.basicConfig(level=logging.WARN) #logger = logging.getLogger("opcua.address_space") # logger.setLevel(logging.DEBUG) #logger = logging.getLogger("opcua.internal_server") # logger.setLevel(logging.DEBUG) #logger = logging.getLogger("opcua.binary_server_asyncio") # logger.setLevel(logging.DEBUG) #logger = logging.getLogger("opcua.uaprocessor") # logger.setLevel(logging.DEBUG) #logger = logging.getLogger("opcua.subscription_service") # logger.setLevel(logging.DEBUG) # now setup our server server = Server() #server.set_endpoint("opc.tcp://localhost:4840/freeopcua/server/") server.set_endpoint("opc.tcp://0.0.0.0:4840/freeopcua/server/") server.set_server_name("FreeOpcUa Example Server") # setup our own namespace uri = "http://examples.freeopcua.github.io" idx = server.register_namespace(uri) # get Objects node, this is where we should put our custom stuff objects = server.get_objects_node() # populating our address space myfolder = objects.add_folder(idx, "myEmptyFolder") myobj = objects.add_object(idx, "MyObject") myvar = myobj.add_variable(idx, "MyVariable", 6.7) myvar.set_writable() # Set MyVariable to be writable by clients myarrayvar = myobj.add_variable(idx, "myarrayvar", [6.7, 7.9]) myarrayvar = myobj.add_variable(idx, "myStronglytTypedVariable", ua.Variant([], ua.VariantType.UInt32)) myprop = myobj.add_property(idx, "myproperty", "I am a property") mymethod = myobj.add_method(idx, "mymethod", func, [ua.VariantType.Int64], [ua.VariantType.Boolean]) inargx = ua.Argument() inargx.Name = "x" inargx.DataType = ua.NodeId(ua.ObjectIds.Int64) inargx.ValueRank = -1 inargx.ArrayDimensions = [] inargx.Description = ua.LocalizedText("First number x") inargy = ua.Argument() inargy.Name = "y" inargy.DataType = ua.NodeId(ua.ObjectIds.Int64) inargy.ValueRank = -1 inargy.ArrayDimensions = [] inargy.Description = ua.LocalizedText("Second number y") outarg = ua.Argument() outarg.Name = "Result" outarg.DataType = ua.NodeId(ua.ObjectIds.Int64) outarg.ValueRank = -1 outarg.ArrayDimensions = [] outarg.Description = ua.LocalizedText("Multiplication result") multiply_node = myobj.add_method(idx, "multiply", multiply, [inargx, inargy], [outarg]) # starting! server.start() print("Available loggers are: ", logging.Logger.manager.loggerDict.keys()) try: embed() finally: server.stop() python-opcua-0.90.3/examples/server-minimal.py000066400000000000000000000016761310132730300213560ustar00rootroot00000000000000import sys sys.path.insert(0, "..") import time from opcua import ua, Server if __name__ == "__main__": # setup our server server = Server() server.set_endpoint("opc.tcp://0.0.0.0:4840/freeopcua/server/") # setup our own namespace, not really necessary but should as spec uri = "http://examples.freeopcua.github.io" idx = server.register_namespace(uri) # get Objects node, this is where we should put our nodes objects = server.get_objects_node() # populating our address space myobj = objects.add_object(idx, "MyObject") myvar = myobj.add_variable(idx, "MyVariable", 6.7) myvar.set_writable() # Set MyVariable to be writable by clients # starting! server.start() try: count = 0 while True: time.sleep(1) count += 0.1 myvar.set_value(count) finally: #close connection, remove subcsriptions, etc server.stop() python-opcua-0.90.3/examples/server-with-encryption.py000066400000000000000000000022301310132730300230560ustar00rootroot00000000000000import sys import time sys.path.insert(0, "..") from opcua import ua, Server if __name__ == "__main__": # setup our server server = Server() server.set_endpoint("opc.tcp://0.0.0.0:4840/freeopcua/server/") # load server certificate and private key. This enables endpoints # with signing and encryption. server.load_certificate("certificate-example.der") server.load_private_key("private-key-example.pem") # setup our own namespace, not really necessary but should as spec uri = "http://examples.freeopcua.github.io" idx = server.register_namespace(uri) # get Objects node, this is where we should put our custom stuff objects = server.get_objects_node() # populating our address space myobj = objects.add_object(idx, "MyObject") myvar = myobj.add_variable(idx, "MyVariable", 6.7) myvar.set_writable() # Set MyVariable to be writable by clients # starting! server.start() try: count = 0 while True: time.sleep(1) count += 0.1 myvar.set_value(count) finally: #close connection, remove subcsriptions, etc server.stop() python-opcua-0.90.3/examples/server-xmlexporter.py000066400000000000000000000023071310132730300223110ustar00rootroot00000000000000import sys sys.path.insert(0, "..") import time from collections import OrderedDict from opcua import ua, Server, instantiate from opcua.common.xmlexporter import XmlExporter if __name__ == "__main__": # setup our server server = Server() server.set_endpoint("opc.tcp://0.0.0.0:4840/freeopcua/server/") # setup our own namespace, not really necessary but should as spec uri = "http://examples.freeopcua.github.io" idx = server.register_namespace(uri) # get Objects node, this is where we should put our nodes objects = server.get_objects_node() # populating our address space myobj = objects.add_object(idx, "MyObject") myvar = myobj.add_variable(idx, "MyVariable", 6.7) myvar.set_writable() # Set MyVariable to be writable by clients dev = server.nodes.base_object_type.add_object_type(0, "MyDevice") dev.add_variable(0, "sensor1", 1.0) mydevice = instantiate(server.nodes.objects, dev, bname="2:Device0001") node_list = [dev, mydevice, myobj, myvar] # starting! server.start() exporter = XmlExporter(server) exporter.build_etree(node_list, ['http://myua.org/test/']) exporter.write_xml('ua-export.xml') server.stop() python-opcua-0.90.3/examples/simple-client-server-xml/000077500000000000000000000000001310132730300227075ustar00rootroot00000000000000python-opcua-0.90.3/examples/simple-client-server-xml/client_minimal.py000066400000000000000000000020221310132730300262410ustar00rootroot00000000000000from opcua import Client, ua from opcua.ua import ua_binary as uabin from opcua.common.methods import call_method class HelloClient: def __init__(self, endpoint): self.client = Client(endpoint) def __enter__(self): self.client.connect() return self.client def __exit__(self, exc_type, exc_val, exc_tb): self.client.disconnect() if __name__ == '__main__': with HelloClient("opc.tcp://localhost:40840/freeopcua/server/") as client: root = client.get_root_node() print("Root node is: ", root) objects = client.get_objects_node() print("Objects node is: ", objects) hellower = objects.get_child("0:Hellower") print("Hellower is: ", hellower) resulting_text = hellower.call_method("0:SayHello", False) print(resulting_text) resulting_text = hellower.call_method("1:SayHello2", True) print(resulting_text) resulting_array = hellower.call_method("1:SayHelloArray", False) print(resulting_array) python-opcua-0.90.3/examples/simple-client-server-xml/server.py000066400000000000000000000042261310132730300245730ustar00rootroot00000000000000import os.path try: from IPython import embed except ImportError: import code def embed(): vars = globals() vars.update(locals()) shell = code.InteractiveConsole(vars) shell.interact() from opcua import ua, uamethod, Server @uamethod def say_hello_xml(parent, happy): print("Calling say_hello_xml") if happy: result = "I'm happy" else: result = "I'm not happy" print(result) return result @uamethod def say_hello(parent, happy): if happy: result = "I'm happy" else: result = "I'm not happy" print(result) return result @uamethod def say_hello_array(parent, happy): if happy: result = "I'm happy" else: result = "I'm not happy" print(result) return [result, "Actually I am"] class HelloServer: def __init__(self, endpoint, name, model_filepath): self.server = Server() # This need to be imported at the start or else it will overwrite the data self.server.import_xml(model_filepath) self.server.set_endpoint(endpoint) self.server.set_server_name(name) objects = self.server.get_objects_node() freeopcua_namespace = self.server.get_namespace_index("urn:freeopcua:python:server") hellower = objects.get_child("0:Hellower") hellower_say_hello = hellower.get_child("0:SayHello") self.server.link_method(hellower_say_hello, say_hello_xml) hellower.add_method( freeopcua_namespace, "SayHello2", say_hello, [ua.VariantType.Boolean], [ua.VariantType.String]) hellower.add_method( freeopcua_namespace, "SayHelloArray", say_hello_array, [ua.VariantType.Boolean], [ua.VariantType.String]) def __enter__(self): self.server.start() return self.server def __exit__(self, exc_type, exc_val, exc_tb): self.server.stop() if __name__ == '__main__': script_dir = os.path.dirname(__file__) with HelloServer( "opc.tcp://0.0.0.0:40840/freeopcua/server/", "FreeOpcUa Example Server", os.path.join(script_dir, "test_saying.xml")) as server: embed() python-opcua-0.90.3/examples/simple-client-server-xml/test_saying.xml000066400000000000000000000071341310132730300257670ustar00rootroot00000000000000 i=35 i=40 i=46 i=47 i=296 BaseObjectType The base type for all object nodes. i=85 i=58 i=20002 SayHello SayHello i=20001 i=20003 i=20004 InputArguments InputArguments i=296 -1 i=1 happy i=20002 i=68 OutputArguments OutputArguments i=296 -1 i=12 saying i=20002 i=68 python-opcua-0.90.3/examples/test_perf.py000066400000000000000000000014661310132730300204140ustar00rootroot00000000000000import sys sys.path.insert(0, "..") import time from opcua import ua, Server import cProfile import re def mymain(): # setup our server server = Server() server.set_endpoint("opc.tcp://0.0.0.0:4840/freeopcua/server/") # setup our own namespace, not really necessary but should as spec uri = "http://examples.freeopcua.github.io" idx = server.register_namespace(uri) # get Objects node, this is where we should put our nodes objects = server.get_objects_node() # populating our address space myobj = objects.add_object(idx, "MyObject") myvar = myobj.add_variable(idx, "MyVariable", 6.7) myvar.set_writable() # Set MyVariable to be writable by clients # starting! server.start() server.stop() if __name__ == "__main__": cProfile.run('mymain()') python-opcua-0.90.3/make_deb.sh000077500000000000000000000004141310132730300163070ustar00rootroot00000000000000#! /bin/sh # # This script generates a .deb file for generating a debian package of python-opcua # You need to install python-stdeb to use it. # Usage : ./make_deb.sh # The package is generate in ./deb_dist # python setup.py --command-packages=stdeb.command bdist_deb python-opcua-0.90.3/opcua/000077500000000000000000000000001310132730300153315ustar00rootroot00000000000000python-opcua-0.90.3/opcua/__init__.py000066400000000000000000000006141310132730300174430ustar00rootroot00000000000000""" Pure Python OPC-UA library """ from opcua.common.node import Node from opcua.common.methods import uamethod from opcua.common.subscription import Subscription from opcua.client.client import Client from opcua.server.server import Server from opcua.server.event_generator import EventGenerator from opcua.common.instantiate import instantiate from opcua.common.copy_node import copy_node python-opcua-0.90.3/opcua/client/000077500000000000000000000000001310132730300166075ustar00rootroot00000000000000python-opcua-0.90.3/opcua/client/__init__.py000066400000000000000000000000001310132730300207060ustar00rootroot00000000000000python-opcua-0.90.3/opcua/client/client.py000066400000000000000000000571411310132730300204470ustar00rootroot00000000000000from __future__ import division # support for python2 from threading import Thread, Condition import logging try: from urllib.parse import urlparse except ImportError: # support for python2 from urlparse import urlparse from opcua import ua from opcua.client.ua_client import UaClient from opcua.common.xmlimporter import XmlImporter from opcua.common.xmlexporter import XmlExporter from opcua.common.node import Node from opcua.common.manage_nodes import delete_nodes from opcua.common.subscription import Subscription from opcua.common import utils from opcua.crypto import security_policies from opcua.common.shortcuts import Shortcuts from opcua.common.structures_generator import StructGenerator use_crypto = True try: from opcua.crypto import uacrypto except ImportError: print("cryptography is not installed, use of crypto disabled") use_crypto = False class KeepAlive(Thread): """ Used by Client to keep the session open. OPCUA defines timeout both for sessions and secure channel """ def __init__(self, client, timeout): """ :param session_timeout: Timeout to re-new the session in milliseconds. """ Thread.__init__(self) self.logger = logging.getLogger(__name__) self.client = client self._dostop = False self._cond = Condition() self.timeout = timeout # some server support no timeout, but we do not trust them if self.timeout == 0: self.timeout = 3600000 # 1 hour def run(self): self.logger.debug("starting keepalive thread with period of %s milliseconds", self.timeout) server_state = self.client.get_node(ua.FourByteNodeId(ua.ObjectIds.Server_ServerStatus_State)) while not self._dostop: with self._cond: self._cond.wait(self.timeout / 1000) if self._dostop: break self.logger.debug("renewing channel") self.client.open_secure_channel(renew=True) val = server_state.get_value() self.logger.debug("server state is: %s ", val) self.logger.debug("keepalive thread has stopped") def stop(self): self.logger.debug("stoping keepalive thread") self._dostop = True with self._cond: self._cond.notify_all() class Client(object): """ High level client to connect to an OPC-UA server. This class makes it easy to connect and browse address space. It attemps to expose as much functionality as possible but if you want more flexibility it is possible and adviced to use UaClient object, available as self.uaclient which offers the raw OPC-UA services interface. """ def __init__(self, url, timeout=4): """ :param url: url of the server. if you are unsure of url, write at least hostname and port and call get_endpoints :param timeout: Each request sent to the server expects an answer within this time. The timeout is specified in seconds. """ self.logger = logging.getLogger(__name__) self.server_url = urlparse(url) #take initial username and password from the url self._username = self.server_url.username self._password = self.server_url.password self.name = "Pure Python Client" self.description = self.name self.application_uri = "urn:freeopcua:client" self.product_uri = "urn:freeopcua.github.no:client" self.security_policy = ua.SecurityPolicy() self.secure_channel_id = None self.secure_channel_timeout = 3600000 # 1 hour self.session_timeout = 3600000 # 1 hour self._policy_ids = [] self.uaclient = UaClient(timeout) self.user_certificate = None self.user_private_key = None self._session_counter = 1 self.keepalive = None self.nodes = Shortcuts(self.uaclient) def __enter__(self): self.connect() return self def __exit__(self, exc_type, exc_value, traceback): self.disconnect() @staticmethod def find_endpoint(endpoints, security_mode, policy_uri): """ Find endpoint with required security mode and policy URI """ for ep in endpoints: if (ep.EndpointUrl.startswith(ua.OPC_TCP_SCHEME) and ep.SecurityMode == security_mode and ep.SecurityPolicyUri == policy_uri): return ep raise ua.UaError("No matching endpoints: {0}, {1}".format( security_mode, policy_uri)) def set_user(self, username): """ Set user name for the connection. initial user from the URL will be overwritten """ self._username = username def set_password(self, pwd): """ Set user password for the connection. initial password from the URL will be overwritten """ self._password = pwd def set_security_string(self, string): """ Set SecureConnection mode. String format: Policy,Mode,certificate,private_key[,server_private_key] where Policy is Basic128Rsa15 or Basic256, Mode is Sign or SignAndEncrypt certificate, private_key and server_private_key are paths to .pem or .der files Call this before connect() """ if not string: return parts = string.split(',') if len(parts) < 4: raise ua.UaError('Wrong format: `{0}`, expected at least 4 comma-separated values'.format(string)) policy_class = getattr(security_policies, 'SecurityPolicy' + parts[0]) mode = getattr(ua.MessageSecurityMode, parts[1]) return self.set_security(policy_class, parts[2], parts[3], parts[4] if len(parts) >= 5 else None, mode) def set_security(self, policy, certificate_path, private_key_path, server_certificate_path=None, mode=ua.MessageSecurityMode.SignAndEncrypt): """ Set SecureConnection mode. Call this before connect() """ if server_certificate_path is None: # load certificate from server's list of endpoints endpoints = self.connect_and_get_server_endpoints() endpoint = Client.find_endpoint(endpoints, mode, policy.URI) server_cert = uacrypto.x509_from_der(endpoint.ServerCertificate) else: server_cert = uacrypto.load_certificate(server_certificate_path) cert = uacrypto.load_certificate(certificate_path) pk = uacrypto.load_private_key(private_key_path) self.security_policy = policy(server_cert, cert, pk, mode) self.uaclient.set_security(self.security_policy) def load_client_certificate(self, path): """ load our certificate from file, either pem or der """ self.user_certificate = uacrypto.load_certificate(path) def load_private_key(self, path): """ Load user private key. This is used for authenticating using certificate """ self.user_private_key = uacrypto.load_private_key(path) def connect_and_get_server_endpoints(self): """ Connect, ask server for endpoints, and disconnect """ self.connect_socket() self.send_hello() self.open_secure_channel() endpoints = self.get_endpoints() self.close_secure_channel() self.disconnect_socket() return endpoints def connect_and_find_servers(self): """ Connect, ask server for a list of known servers, and disconnect """ self.connect_socket() self.send_hello() self.open_secure_channel() # spec says it should not be necessary to open channel servers = self.find_servers() self.close_secure_channel() self.disconnect_socket() return servers def connect_and_find_servers_on_network(self): """ Connect, ask server for a list of known servers on network, and disconnect """ self.connect_socket() self.send_hello() self.open_secure_channel() servers = self.find_servers_on_network() self.close_secure_channel() self.disconnect_socket() return servers def connect(self): """ High level method Connect, create and activate session """ self.connect_socket() self.send_hello() self.open_secure_channel() self.create_session() self.activate_session(username=self._username, password=self._password, certificate=self.user_certificate) def disconnect(self): """ High level method Close session, secure channel and socket """ self.close_session() self.close_secure_channel() self.disconnect_socket() def connect_socket(self): """ connect to socket defined in url """ self.uaclient.connect_socket(self.server_url.hostname, self.server_url.port) def disconnect_socket(self): self.uaclient.disconnect_socket() def send_hello(self): """ Send OPC-UA hello to server """ ack = self.uaclient.send_hello(self.server_url.geturl()) # FIXME check ack def open_secure_channel(self, renew=False): """ Open secure channel, if renew is True, renew channel """ params = ua.OpenSecureChannelParameters() params.ClientProtocolVersion = 0 params.RequestType = ua.SecurityTokenRequestType.Issue if renew: params.RequestType = ua.SecurityTokenRequestType.Renew params.SecurityMode = self.security_policy.Mode params.RequestedLifetime = self.secure_channel_timeout nonce = utils.create_nonce(self.security_policy.symmetric_key_size) # length should be equal to the length of key of symmetric encryption params.ClientNonce = nonce # this nonce is used to create a symmetric key result = self.uaclient.open_secure_channel(params) self.security_policy.make_symmetric_key(nonce, result.ServerNonce) self.secure_channel_timeout = result.SecurityToken.RevisedLifetime def close_secure_channel(self): return self.uaclient.close_secure_channel() def get_endpoints(self): params = ua.GetEndpointsParameters() params.EndpointUrl = self.server_url.geturl() return self.uaclient.get_endpoints(params) def register_server(self, server, discovery_configuration=None): """ register a server to discovery server if discovery_configuration is provided, the newer register_server2 service call is used """ serv = ua.RegisteredServer() serv.ServerUri = server.application_uri serv.ProductUri = server.product_uri serv.DiscoveryUrls = [server.endpoint.geturl()] serv.ServerType = server.application_type serv.ServerNames = [ua.LocalizedText(server.name)] serv.IsOnline = True if discovery_configuration: params = ua.RegisterServer2Parameters() params.Server = serv params.DiscoveryConfiguration = discovery_configuration return self.uaclient.register_server2(params) else: return self.uaclient.register_server(serv) def find_servers(self, uris=None): """ send a FindServer request to the server. The answer should be a list of servers the server knows about A list of uris can be provided, only server having matching uris will be returned """ if uris is None: uris = [] params = ua.FindServersParameters() params.EndpointUrl = self.server_url.geturl() params.ServerUris = uris return self.uaclient.find_servers(params) def find_servers_on_network(self): params = ua.FindServersOnNetworkParameters() return self.uaclient.find_servers_on_network(params) def create_session(self): """ send a CreateSessionRequest to server with reasonable parameters. If you want o modify settings look at code of this methods and make your own """ desc = ua.ApplicationDescription() desc.ApplicationUri = self.application_uri desc.ProductUri = self.product_uri desc.ApplicationName = ua.LocalizedText(self.name) desc.ApplicationType = ua.ApplicationType.Client params = ua.CreateSessionParameters() nonce = utils.create_nonce(32) # at least 32 random bytes for server to prove possession of private key (specs part 4, 5.6.2.2) params.ClientNonce = nonce params.ClientCertificate = self.security_policy.client_certificate params.ClientDescription = desc params.EndpointUrl = self.server_url.geturl() params.SessionName = self.description + " Session" + str(self._session_counter) params.RequestedSessionTimeout = 3600000 params.MaxResponseMessageSize = 0 # means no max size response = self.uaclient.create_session(params) if self.security_policy.client_certificate is None: data = nonce else: data = self.security_policy.client_certificate + nonce self.security_policy.asymmetric_cryptography.verify(data, response.ServerSignature.Signature) self._server_nonce = response.ServerNonce if not self.security_policy.server_certificate: self.security_policy.server_certificate = response.ServerCertificate elif self.security_policy.server_certificate != response.ServerCertificate: raise ua.UaError("Server certificate mismatch") # remember PolicyId's: we will use them in activate_session() ep = Client.find_endpoint(response.ServerEndpoints, self.security_policy.Mode, self.security_policy.URI) self._policy_ids = ep.UserIdentityTokens self.session_timeout = response.RevisedSessionTimeout self.keepalive = KeepAlive(self, min(self.session_timeout, self.secure_channel_timeout) * 0.7) # 0.7 is from spec self.keepalive.start() return response def server_policy_id(self, token_type, default): """ Find PolicyId of server's UserTokenPolicy by token_type. Return default if there's no matching UserTokenPolicy. """ for policy in self._policy_ids: if policy.TokenType == token_type: return policy.PolicyId return default def server_policy_uri(self, token_type): """ Find SecurityPolicyUri of server's UserTokenPolicy by token_type. If SecurityPolicyUri is empty, use default SecurityPolicyUri of the endpoint """ for policy in self._policy_ids: if policy.TokenType == token_type: if policy.SecurityPolicyUri: return policy.SecurityPolicyUri else: # empty URI means "use this endpoint's policy URI" return self.security_policy.URI return self.security_policy.URI def activate_session(self, username=None, password=None, certificate=None): """ Activate session using either username and password or private_key """ params = ua.ActivateSessionParameters() challenge = b"" if self.security_policy.server_certificate is not None: challenge += self.security_policy.server_certificate if self._server_nonce is not None: challenge += self._server_nonce params.ClientSignature.Algorithm = b"http://www.w3.org/2000/09/xmldsig#rsa-sha1" params.ClientSignature.Signature = self.security_policy.asymmetric_cryptography.signature(challenge) params.LocaleIds.append("en") if not username and not certificate: self._add_anonymous_auth(params) elif certificate: self._add_certificate_auth(params, certificate, challenge) else: self._add_user_auth(params, username, password) return self.uaclient.activate_session(params) def _add_anonymous_auth(self, params): params.UserIdentityToken = ua.AnonymousIdentityToken() params.UserIdentityToken.PolicyId = self.server_policy_id(ua.UserTokenType.Anonymous, b"anonymous") def _add_certificate_auth(self, params, certificate, challenge): params.UserIdentityToken = ua.X509IdentityToken() params.UserIdentityToken.PolicyId = self.server_policy_id(ua.UserTokenType.Certificate, b"certificate_basic256") params.UserIdentityToken.CertificateData = uacrypto.der_from_x509(certificate) # specs part 4, 5.6.3.1: the data to sign is created by appending # the last serverNonce to the serverCertificate sig = uacrypto.sign_sha1(self.user_private_key, challenge) params.UserTokenSignature = ua.SignatureData() params.UserTokenSignature.Algorithm = b"http://www.w3.org/2000/09/xmldsig#rsa-sha1" params.UserTokenSignature.Signature = sig def _add_user_auth(self, params, username, password): params.UserIdentityToken = ua.UserNameIdentityToken() params.UserIdentityToken.UserName = username policy_uri = self.server_policy_uri(ua.UserTokenType.UserName) if not policy_uri or policy_uri == security_policies.POLICY_NONE_URI: # see specs part 4, 7.36.3: if the token is NOT encrypted, # then the password only contains UTF-8 encoded password # and EncryptionAlgorithm is null if self._password: self.logger.warning("Sending plain-text password") params.UserIdentityToken.Password = password params.UserIdentityToken.EncryptionAlgorithm = '' elif self._password: data, uri = self._encrypt_password(password, policy_uri) params.UserIdentityToken.Password = data params.UserIdentityToken.EncryptionAlgorithm = uri params.UserIdentityToken.PolicyId = self.server_policy_id(ua.UserTokenType.UserName, b"username_basic256") def _encrypt_password(self, password, policy_uri): pubkey = uacrypto.x509_from_der(self.security_policy.server_certificate).public_key() # see specs part 4, 7.36.3: if the token is encrypted, password # shall be converted to UTF-8 and serialized with server nonce passwd = password.encode("utf8") if self._server_nonce is not None: passwd += self._server_nonce etoken = ua.ua_binary.Primitives.Bytes.pack(passwd) data, uri = security_policies.encrypt_asymmetric(pubkey, etoken, policy_uri) return data, uri def close_session(self): """ Close session """ if self.keepalive: self.keepalive.stop() return self.uaclient.close_session(True) def get_root_node(self): return self.get_node(ua.TwoByteNodeId(ua.ObjectIds.RootFolder)) def get_objects_node(self): return self.get_node(ua.TwoByteNodeId(ua.ObjectIds.ObjectsFolder)) def get_server_node(self): return self.get_node(ua.FourByteNodeId(ua.ObjectIds.Server)) def get_node(self, nodeid): """ Get node using NodeId object or a string representing a NodeId """ return Node(self.uaclient, nodeid) def create_subscription(self, period, handler): """ Create a subscription. returns a Subscription object which allow to subscribe to events or data on server handler argument is a class with data_change and/or event methods. period argument is either a publishing interval in seconds or a CreateSubscriptionParameters instance. The second option should be used, if the opcua-server has problems with the default options. These methods will be called when notfication from server are received. See example-client.py. Do not do expensive/slow or network operation from these methods since they are called directly from receiving thread. This is a design choice, start another thread if you need to do such a thing. """ if isinstance(period, ua.CreateSubscriptionParameters): return Subscription(self.uaclient, period, handler) params = ua.CreateSubscriptionParameters() params.RequestedPublishingInterval = period params.RequestedLifetimeCount = 10000 params.RequestedMaxKeepAliveCount = 3000 params.MaxNotificationsPerPublish = 10000 params.PublishingEnabled = True params.Priority = 0 return Subscription(self.uaclient, params, handler) def get_namespace_array(self): ns_node = self.get_node(ua.NodeId(ua.ObjectIds.Server_NamespaceArray)) return ns_node.get_value() def get_namespace_index(self, uri): uries = self.get_namespace_array() return uries.index(uri) def delete_nodes(self, nodes, recursive=False): return delete_nodes(self.uaclient, nodes, recursive) def import_xml(self, path): """ Import nodes defined in xml """ importer = XmlImporter(self) return importer.import_xml(path) def export_xml(self, nodes, path): """ Export defined nodes to xml """ exp = XmlExporter(self) exp.build_etree(nodes) return exp.write_xml(path) def register_namespace(self, uri): """ Register a new namespace. Nodes should in custom namespace, not 0. This method is mainly implemented for symetry with server """ ns_node = self.get_node(ua.NodeId(ua.ObjectIds.Server_NamespaceArray)) uries = ns_node.get_value() if uri in uries: return uries.index(uri) uries.append(uri) ns_node.set_value(uries) return len(uries) - 1 def import_and_register_structures(self, nodes=None): """ Download xml from given variable node defining custom structures. If no no node is given, attemps to import variables from all nodes under "0:OPC Binary" the code is generated and imported on the fly. If you know the structures are not going to be modified it might be interresting to copy the generated files and include them in you code """ if nodes is None: nodes = [] for desc in self.nodes.opc_binary.get_children_descriptions(): if desc.BrowseName != ua.QualifiedName("Opc.Ua"): nodes.append(self.get_node(desc.NodeId)) self.logger.info("Importing structures from nodes: %s", nodes) structs_dict = {} for node in nodes: xml = node.get_value() xml = xml.decode("utf-8") name = "structures_" + node.get_browse_name().Name gen = StructGenerator() gen.make_model_from_string(xml) gen.save_and_import(name + ".py", append_to=structs_dict) # register classes for desc in self.nodes.base_structure_type.get_children_descriptions(): # FIXME: maybe we should look recursively at children # FIXME: we should get enoding and description but this is too # expensive. we take a shorcut and assume that browsename of struct # is the same as the name of the data type structure if desc.BrowseName.Name in structs_dict: struct_node = self.get_node(desc.NodeId) refs = struct_node.get_references(ua.ObjectIds.HasEncoding, ua.BrowseDirection.Forward) for ref in refs: if "Binary" in ref.BrowseName.Name: ua.register_extension_object(desc.BrowseName.Name, ref.NodeId, structs_dict[desc.BrowseName.Name]) python-opcua-0.90.3/opcua/client/ua_client.py000066400000000000000000000543461310132730300211400ustar00rootroot00000000000000""" Low level binary client """ import logging import socket from threading import Thread, Lock from concurrent.futures import Future from functools import partial from opcua import ua from opcua.common import utils from opcua.ua.uaerrors import UaError, BadTimeout, BadNoSubscription, BadSessionClosed class UASocketClient(object): """ handle socket connection and send ua messages timeout is the timeout used while waiting for an ua answer from server """ def __init__(self, timeout=1, security_policy=ua.SecurityPolicy()): self.logger = logging.getLogger(__name__ + ".Socket") self._thread = None self._lock = Lock() self.timeout = timeout self._socket = None self._do_stop = False self.authentication_token = ua.NodeId() self._request_id = 0 self._request_handle = 0 self._callbackmap = {} self._connection = ua.SecureConnection(security_policy) def start(self): """ Start receiving thread. this is called automatically in connect and should not be necessary to call directly """ self._thread = Thread(target=self._run) self._thread.start() def _send_request(self, request, callback=None, timeout=1000, message_type=ua.MessageType.SecureMessage): """ send request to server, lower-level method timeout is the timeout written in ua header returns future """ with self._lock: request.RequestHeader = self._create_request_header(timeout) self.logger.debug("Sending: %s", request) try: binreq = request.to_binary() except: # reset reqeust handle if any error # see self._create_request_header self._request_handle -= 1 raise self._request_id += 1 future = Future() if callback: future.add_done_callback(callback) self._callbackmap[self._request_id] = future msg = self._connection.message_to_binary(binreq, message_type=message_type, request_id=self._request_id) self._socket.write(msg) return future def send_request(self, request, callback=None, timeout=1000, message_type=ua.MessageType.SecureMessage): """ send request to server. timeout is the timeout written in ua header returns response object if no callback is provided """ future = self._send_request(request, callback, timeout, message_type) if not callback: data = future.result(self.timeout) self.check_answer(data, " in response to " + request.__class__.__name__) return data def check_answer(self, data, context): data = data.copy() typeid = ua.NodeId.from_binary(data) if typeid == ua.FourByteNodeId(ua.ObjectIds.ServiceFault_Encoding_DefaultBinary): self.logger.warning("ServiceFault from server received %s", context) hdr = ua.ResponseHeader.from_binary(data) hdr.ServiceResult.check() return False return True def _run(self): self.logger.info("Thread started") while not self._do_stop: try: self._receive() except ua.utils.SocketClosedException: self.logger.info("Socket has closed connection") break except UaError: self.logger.exception("Protocol Error") self.logger.info("Thread ended") def _receive(self): msg = self._connection.receive_from_socket(self._socket) if msg is None: return elif isinstance(msg, ua.Message): self._call_callback(msg.request_id(), msg.body()) elif isinstance(msg, ua.Acknowledge): self._call_callback(0, msg) elif isinstance(msg, ua.ErrorMessage): self.logger.warning("Received an error: %s", msg) else: raise ua.UaError("Unsupported message type: %s", msg) def _call_callback(self, request_id, body): with self._lock: future = self._callbackmap.pop(request_id, None) if future is None: raise ua.UaError("No future object found for request: {0}, callbacks in list are {1}".format(request_id, self._callbackmap.keys())) future.set_result(body) def _create_request_header(self, timeout=1000): hdr = ua.RequestHeader() hdr.AuthenticationToken = self.authentication_token self._request_handle += 1 hdr.RequestHandle = self._request_handle hdr.TimeoutHint = timeout return hdr def connect_socket(self, host, port): """ connect to server socket and start receiving thread """ self.logger.info("opening connection") sock = socket.create_connection((host, port)) sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) # nodelay ncessary to avoid packing in one frame, some servers do not like it self._socket = utils.SocketWrapper(sock) self.start() def disconnect_socket(self): self.logger.info("stop request") self._do_stop = True self._socket.socket.shutdown(socket.SHUT_RDWR) self._socket.socket.close() def send_hello(self, url): hello = ua.Hello() hello.EndpointUrl = url future = Future() with self._lock: self._callbackmap[0] = future binmsg = self._connection.tcp_to_binary(ua.MessageType.Hello, hello) self._socket.write(binmsg) ack = future.result(self.timeout) return ack def open_secure_channel(self, params): self.logger.info("open_secure_channel") request = ua.OpenSecureChannelRequest() request.Parameters = params future = self._send_request(request, message_type=ua.MessageType.SecureOpen) # FIXME: we have a race condition here # we can get a packet with the new token id before we reach to store it.. response = ua.OpenSecureChannelResponse.from_binary(future.result(self.timeout)) response.ResponseHeader.ServiceResult.check() self._connection.set_channel(response.Parameters) return response.Parameters def close_secure_channel(self): """ close secure channel. It seems to trigger a shutdown of socket in most servers, so be prepare to reconnect. OPC UA specs Part 6, 7.1.4 say that Server does not send a CloseSecureChannel response and should just close socket """ self.logger.info("close_secure_channel") request = ua.CloseSecureChannelRequest() future = self._send_request(request, message_type=ua.MessageType.SecureClose) with self._lock: # don't expect any more answers future.cancel() self._callbackmap.clear() # some servers send a response here, most do not ... so we ignore class UaClient(object): """ low level OPC-UA client. It implements (almost) all methods defined in opcua spec taking in argument the structures defined in opcua spec. In this Python implementation most of the structures are defined in uaprotocol_auto.py and uaprotocol_hand.py available under opcua.ua """ def __init__(self, timeout=1): self.logger = logging.getLogger(__name__) # _publishcallbacks should be accessed in recv thread only self._publishcallbacks = {} self._timeout = timeout self._uasocket = None self._security_policy = ua.SecurityPolicy() def set_security(self, policy): self._security_policy = policy def connect_socket(self, host, port): """ connect to server socket and start receiving thread """ self._uasocket = UASocketClient(self._timeout, security_policy=self._security_policy) return self._uasocket.connect_socket(host, port) def disconnect_socket(self): return self._uasocket.disconnect_socket() def send_hello(self, url): return self._uasocket.send_hello(url) def open_secure_channel(self, params): return self._uasocket.open_secure_channel(params) def close_secure_channel(self): """ close secure channel. It seems to trigger a shutdown of socket in most servers, so be prepare to reconnect """ return self._uasocket.close_secure_channel() def create_session(self, parameters): self.logger.info("create_session") request = ua.CreateSessionRequest() request.Parameters = parameters data = self._uasocket.send_request(request) response = ua.CreateSessionResponse.from_binary(data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() self._uasocket.authentication_token = response.Parameters.AuthenticationToken return response.Parameters def activate_session(self, parameters): self.logger.info("activate_session") request = ua.ActivateSessionRequest() request.Parameters = parameters data = self._uasocket.send_request(request) response = ua.ActivateSessionResponse.from_binary(data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() return response.Parameters def close_session(self, deletesubscriptions): self.logger.info("close_session") request = ua.CloseSessionRequest() request.DeleteSubscriptions = deletesubscriptions data = self._uasocket.send_request(request) response = ua.CloseSessionResponse.from_binary(data) try: response.ResponseHeader.ServiceResult.check() except BadSessionClosed: # Problem: closing the session with open publish requests leads to BadSessionClosed responses # we can just ignore it therefore. # Alternatively we could make sure that there are no publish requests in flight when # closing the session. pass def browse(self, parameters): self.logger.info("browse") request = ua.BrowseRequest() request.Parameters = parameters data = self._uasocket.send_request(request) response = ua.BrowseResponse.from_binary(data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() return response.Results def browse_next(self, parameters): self.logger.info("browse next") request = ua.BrowseNextRequest() request.Parameters = parameters data = self._uasocket.send_request(request) response = ua.BrowseNextResponse.from_binary(data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() return response.Parameters.Results def read(self, parameters): self.logger.info("read") request = ua.ReadRequest() request.Parameters = parameters data = self._uasocket.send_request(request) response = ua.ReadResponse.from_binary(data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() # cast to Enum attributes that need to for idx, rv in enumerate(parameters.NodesToRead): if rv.AttributeId == ua.AttributeIds.NodeClass: dv = response.Results[idx] if dv.StatusCode.is_good(): dv.Value.Value = ua.NodeClass(dv.Value.Value) elif rv.AttributeId == ua.AttributeIds.ValueRank: dv = response.Results[idx] if dv.StatusCode.is_good() and dv.Value.Value in (-3, -2, -1, 0, 1, 2, 3, 4): dv.Value.Value = ua.ValueRank(dv.Value.Value) return response.Results def write(self, params): self.logger.info("read") request = ua.WriteRequest() request.Parameters = params data = self._uasocket.send_request(request) response = ua.WriteResponse.from_binary(data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() return response.Results def get_endpoints(self, params): self.logger.info("get_endpoint") request = ua.GetEndpointsRequest() request.Parameters = params data = self._uasocket.send_request(request) response = ua.GetEndpointsResponse.from_binary(data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() return response.Endpoints def find_servers(self, params): self.logger.info("find_servers") request = ua.FindServersRequest() request.Parameters = params data = self._uasocket.send_request(request) response = ua.FindServersResponse.from_binary(data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() return response.Servers def find_servers_on_network(self, params): self.logger.info("find_servers_on_network") request = ua.FindServersOnNetworkRequest() request.Parameters = params data = self._uasocket.send_request(request) response = ua.FindServersOnNetworkResponse.from_binary(data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() return response.Parameters def register_server(self, registered_server): self.logger.info("register_server") request = ua.RegisterServerRequest() request.Server = registered_server data = self._uasocket.send_request(request) response = ua.RegisterServerResponse.from_binary(data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() # nothing to return for this service def register_server2(self, params): self.logger.info("register_server2") request = ua.RegisterServer2Request() request.Parameters = params data = self._uasocket.send_request(request) response = ua.RegisterServer2Response.from_binary(data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() return response.ConfigurationResults def translate_browsepaths_to_nodeids(self, browsepaths): self.logger.info("translate_browsepath_to_nodeid") request = ua.TranslateBrowsePathsToNodeIdsRequest() request.Parameters.BrowsePaths = browsepaths data = self._uasocket.send_request(request) response = ua.TranslateBrowsePathsToNodeIdsResponse.from_binary(data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() return response.Results def create_subscription(self, params, callback): self.logger.info("create_subscription") request = ua.CreateSubscriptionRequest() request.Parameters = params resp_fut = Future() mycallbak = partial(self._create_subscription_callback, callback, resp_fut) self._uasocket.send_request(request, mycallbak) return resp_fut.result(self._timeout) def _create_subscription_callback(self, pub_callback, resp_fut, data_fut): self.logger.info("_create_subscription_callback") data = data_fut.result() response = ua.CreateSubscriptionResponse.from_binary(data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() self._publishcallbacks[response.Parameters.SubscriptionId] = pub_callback resp_fut.set_result(response.Parameters) def delete_subscriptions(self, subscriptionids): self.logger.info("delete_subscription") request = ua.DeleteSubscriptionsRequest() request.Parameters.SubscriptionIds = subscriptionids resp_fut = Future() mycallbak = partial(self._delete_subscriptions_callback, subscriptionids, resp_fut) self._uasocket.send_request(request, mycallbak) return resp_fut.result(self._timeout) def _delete_subscriptions_callback(self, subscriptionids, resp_fut, data_fut): self.logger.info("_delete_subscriptions_callback") data = data_fut.result() response = ua.DeleteSubscriptionsResponse.from_binary(data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() for sid in subscriptionids: self._publishcallbacks.pop(sid) resp_fut.set_result(response.Results) def publish(self, acks=None): self.logger.info("publish") if acks is None: acks = [] request = ua.PublishRequest() request.Parameters.SubscriptionAcknowledgements = acks # timeout could be set to 0 (= no timeout) but some servers do not support it self._uasocket.send_request(request, self._call_publish_callback, timeout=int(9e8)) # 250 days def _call_publish_callback(self, future): self.logger.info("call_publish_callback") data = future.result() # check if answer looks ok try: self._uasocket.check_answer(data, "while waiting for publish response") except BadTimeout: # Spec Part 4, 7.28 self.publish() return except BadNoSubscription: # Spec Part 5, 13.8.1 # BadNoSubscription is expected after deleting the last subscription. # # We should therefore also check for len(self._publishcallbacks) == 0, but # this gets us into trouble if a Publish response arrives before the # DeleteSubscription response. # # We could remove the callback already when sending the DeleteSubscription request, # but there are some legitimate reasons to keep them around, such as when the server # responds with "BadTimeout" and we should try again later instead of just removing # the subscription client-side. # # There are a variety of ways to act correctly, but the most practical solution seems # to be to just ignore any BadNoSubscription responses. self.logger.info("BadNoSubscription received, ignoring because it's probably valid.") return # parse publish response try: response = ua.PublishResponse.from_binary(data) self.logger.debug(response) except Exception: # INFO: catching the exception here might be obsolete because we already # catch BadTimeout above. However, it's not really clear what this code # does so it stays in, doesn't seem to hurt. self.logger.exception("Error parsing notificatipn from server") self.publish([]) #send publish request ot server so he does stop sending notifications return # look for callback try: callback = self._publishcallbacks[response.Parameters.SubscriptionId] except KeyError: self.logger.warning("Received data for unknown subscription: %s ", response.Parameters.SubscriptionId) return # do callback try: callback(response.Parameters) except Exception: # we call client code, catch everything! self.logger.exception("Exception while calling user callback: %s") def create_monitored_items(self, params): self.logger.info("create_monitored_items") request = ua.CreateMonitoredItemsRequest() request.Parameters = params data = self._uasocket.send_request(request) response = ua.CreateMonitoredItemsResponse.from_binary(data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() return response.Results def delete_monitored_items(self, params): self.logger.info("delete_monitored_items") request = ua.DeleteMonitoredItemsRequest() request.Parameters = params data = self._uasocket.send_request(request) response = ua.DeleteMonitoredItemsResponse.from_binary(data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() return response.Results def add_nodes(self, nodestoadd): self.logger.info("add_nodes") request = ua.AddNodesRequest() request.Parameters.NodesToAdd = nodestoadd data = self._uasocket.send_request(request) response = ua.AddNodesResponse.from_binary(data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() return response.Results def add_references(self, refs): self.logger.info("add_references") request = ua.AddReferencesRequest() request.Parameters.ReferencesToAdd = refs data = self._uasocket.send_request(request) response = ua.AddReferencesResponse.from_binary(data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() return response.Results def delete_nodes(self, params): self.logger.info("delete_nodes") request = ua.DeleteNodesRequest() request.Parameters = params data = self._uasocket.send_request(request) response = ua.DeleteNodesResponse.from_binary(data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() return response.Results def call(self, methodstocall): request = ua.CallRequest() request.Parameters.MethodsToCall = methodstocall data = self._uasocket.send_request(request) response = ua.CallResponse.from_binary(data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() return response.Results def history_read(self, params): self.logger.info("history_read") request = ua.HistoryReadRequest() request.Parameters = params data = self._uasocket.send_request(request) response = ua.HistoryReadResponse.from_binary(data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() return response.Results def modify_monitored_items(self, params): self.logger.info("modify_monitored_items") request = ua.ModifyMonitoredItemsRequest() request.Parameters = params data = self._uasocket.send_request(request) response = ua.ModifyMonitoredItemsResponse.from_binary(data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() return response.Results python-opcua-0.90.3/opcua/common/000077500000000000000000000000001310132730300166215ustar00rootroot00000000000000python-opcua-0.90.3/opcua/common/__init__.py000066400000000000000000000000001310132730300207200ustar00rootroot00000000000000python-opcua-0.90.3/opcua/common/callback.py000066400000000000000000000061641310132730300207360ustar00rootroot00000000000000 """ server side implementation of callback event """ from collections import OrderedDict from enum import Enum class CallbackType(Enum): ''' The possible types of a Callback type. :ivar Null: :ivar MonitoredItem: ''' Null = 0 ItemSubscriptionCreated = 1 ItemSubscriptionModified = 2 ItemSubscriptionDeleted= 3 class Callback(object): def __init__(self): self.__name = None def setName(self, name): self.__name = name def getName(self): return self.__name class ServerItemCallback(Callback): def __init__(self, request_params, response_params): self.request_params = request_params self.response_params = response_params class CallbackSubscriberInterface(object): def getSubscribedEvents(self): raise NotImplementedError() class CallbackDispatcher(object): def __init__(self): self._listeners = {} def dispatch(self, eventName, event=None): if event is None: event = Callback() elif not isinstance(event, Callback): raise ValueError('Unexpected event type given') event.setName(eventName) if eventName not in self._listeners: return event for listener in self._listeners[eventName].values(): listener(event, self) return event def addListener(self, eventName, listener, priority=0): if eventName not in self._listeners: self._listeners[eventName] = {} self._listeners[eventName][priority] = listener self._listeners[eventName] = OrderedDict(sorted(self._listeners[eventName].items(), key=lambda item: item[0])) def removeListener(self, eventName, listener=None): if eventName not in self._listeners: return if not listener: del self._listeners[eventName] else: for p, l in self._listeners[eventName].items(): if l is listener: self._listeners[eventName].pop(p) return def addSubscriber(self, subscriber): if not isinstance(subscriber, CallbackSubscriberInterface): raise ValueError('Unexpected subscriber type given') for eventName, params in subscriber.getSubscribedEvents().items(): if isinstance(params, str): self.addListener(eventName, getattr(subscriber, params)) elif isinstance(params, list): if not params: raise ValueError('Invalid params "{0!r}" for event "{1!s}"'.format(params, eventName)) if len(params) <= 2 and isinstance(params[0], str): priority = params[1] if len(params) > 1 else 0 self.addListener(eventName, getattr(subscriber, params[0]), priority) else: for listener in params: priority = listener[1] if len(listener) > 1 else 0 self.addListener(eventName, getattr(subscriber, listener[0]), priority) else: raise ValueError('Invalid params for event "{0!s}"'.format(eventName)) python-opcua-0.90.3/opcua/common/copy_node.py000066400000000000000000000057611310132730300211630ustar00rootroot00000000000000import logging from opcua import ua from opcua.common.node import Node logger = logging.getLogger(__name__) def copy_node(parent, node, nodeid=None, recursive=True): """ Copy a node or node tree as child of parent node """ rdesc = _rdesc_from_node(parent, node) if nodeid is None: nodeid = ua.NodeId(namespaceidx=node.nodeid.NamespaceIndex) added_nodeids = _copy_node(parent.server, parent.nodeid, rdesc, nodeid, recursive) return [Node(parent.server, nid) for nid in added_nodeids] def _copy_node(server, parent_nodeid, rdesc, nodeid, recursive): addnode = ua.AddNodesItem() addnode.RequestedNewNodeId = nodeid addnode.BrowseName = rdesc.BrowseName addnode.ParentNodeId = parent_nodeid addnode.ReferenceTypeId = rdesc.ReferenceTypeId addnode.TypeDefinition = rdesc.TypeDefinition addnode.NodeClass = rdesc.NodeClass node_to_copy = Node(server, rdesc.NodeId) attrObj = getattr(ua, rdesc.NodeClass.name + "Attributes") _read_and_copy_attrs(node_to_copy, attrObj(), addnode) res = server.add_nodes([addnode])[0] added_nodes = [res.AddedNodeId] if recursive: descs = node_to_copy.get_children_descriptions() for desc in descs: nodes = _copy_node(server, res.AddedNodeId, desc, nodeid=ua.NodeId(namespaceidx=desc.NodeId.NamespaceIndex), recursive=True) added_nodes.extend(nodes) return added_nodes def _rdesc_from_node(parent, node): results = node.get_attributes([ua.AttributeIds.NodeClass, ua.AttributeIds.BrowseName, ua.AttributeIds.DisplayName]) nclass, qname, dname = [res.Value.Value for res in results] rdesc = ua.ReferenceDescription() rdesc.NodeId = node.nodeid rdesc.BrowseName = qname rdesc.DisplayName = dname rdesc.NodeClass = nclass if parent.get_type_definition() == ua.NodeId(ua.ObjectIds.FolderType): rdesc.ReferenceTypeId = ua.NodeId(ua.ObjectIds.Organizes) else: rdesc.ReferenceTypeId = ua.NodeId(ua.ObjectIds.HasComponent) typedef = node.get_type_definition() if typedef: rdesc.TypeDefinition = typedef return rdesc def _read_and_copy_attrs(node_type, struct, addnode): names = [name for name in struct.__dict__.keys() if not name.startswith("_") and name not in ("BodyLength", "TypeId", "SpecifiedAttributes", "Encoding", "IsAbstract", "EventNotifier")] attrs = [getattr(ua.AttributeIds, name) for name in names] for name in names: results = node_type.get_attributes(attrs) for idx, name in enumerate(names): if results[idx].StatusCode.is_good(): if name == "Value": setattr(struct, name, results[idx].Value) else: setattr(struct, name, results[idx].Value.Value) else: logger.warning("Instantiate: while copying attributes from node type {0!s}, attribute {1!s}, statuscode is {2!s}".format(node_type, name, results[idx].StatusCode)) addnode.NodeAttributes = struct python-opcua-0.90.3/opcua/common/event_objects.py000066400000000000000000000441701310132730300220330ustar00rootroot00000000000000""" Autogenerated code from xml spec """ from opcua import ua from opcua.common.events import Event class BaseEvent(Event): """ BaseEvent: The base type for all events. """ def __init__(self, sourcenode=None, message=None, severity=1): Event.__init__(self) self.add_property('EventId', None, ua.VariantType.ByteString) self.add_property('EventType', ua.NodeId(ua.ObjectIds.BaseEventType), ua.VariantType.NodeId) self.add_property('SourceNode', sourcenode, ua.VariantType.NodeId) self.add_property('SourceName', None, ua.VariantType.String) self.add_property('Time', None, ua.VariantType.DateTime) self.add_property('ReceiveTime', None, ua.VariantType.DateTime) self.add_property('LocalTime', None, ua.VariantType.DateTime) self.add_property('Message', ua.LocalizedText(message), ua.VariantType.LocalizedText) self.add_property('Severity', severity, ua.VariantType.UInt16) class AuditEvent(BaseEvent): """ AuditEvent: A base type for events used to track client initiated changes to the server state. """ def __init__(self, sourcenode=None, message=None, severity=1): super(AuditEvent, self).__init__(sourcenode, message, severity) self.EventType = ua.NodeId(ua.ObjectIds.AuditEventType) self.add_property('ActionTimeStamp', None, ua.NodeId(ua.ObjectIds.UtcTime)) self.add_property('Status', False, ua.VariantType.Boolean) self.add_property('ServerId', None, ua.VariantType.String) self.add_property('ClientAuditEntryId', None, ua.VariantType.String) self.add_property('ClientUserId', None, ua.VariantType.String) class AuditSecurityEvent(AuditEvent): """ AuditSecurityEvent: A base type for events used to track security related changes. """ def __init__(self, sourcenode=None, message=None, severity=1): super(AuditSecurityEvent, self).__init__(sourcenode, message, severity) self.EventType = ua.NodeId(ua.ObjectIds.AuditSecurityEventType) class AuditChannelEvent(AuditSecurityEvent): """ AuditChannelEvent: A base type for events used to track related changes to a secure channel. """ def __init__(self, sourcenode=None, message=None, severity=1): super(AuditChannelEvent, self).__init__(sourcenode, message, severity) self.EventType = ua.NodeId(ua.ObjectIds.AuditChannelEventType) self.add_property('SecureChannelId', None, ua.VariantType.String) class AuditOpenSecureChannelEvent(AuditChannelEvent): """ AuditOpenSecureChannelEvent: An event that is raised when a secure channel is opened. """ def __init__(self, sourcenode=None, message=None, severity=1): super(AuditOpenSecureChannelEvent, self).__init__(sourcenode, message, severity) self.EventType = ua.NodeId(ua.ObjectIds.AuditOpenSecureChannelEventType) self.add_property('ClientCertificate', None, ua.VariantType.ByteString) self.add_property('ClientCertificateThumbprint', None, ua.VariantType.String) self.add_property('RequestType', None, ua.NodeId(ua.ObjectIds.SecurityTokenRequestType)) self.add_property('SecurityPolicyUri', None, ua.VariantType.String) self.add_property('SecurityMode', None, ua.NodeId(ua.ObjectIds.MessageSecurityMode)) self.add_property('RequestedLifetime', None, ua.NodeId(ua.ObjectIds.Duration)) class AuditSessionEvent(AuditSecurityEvent): """ AuditSessionEvent: A base type for events used to track related changes to a session. """ def __init__(self, sourcenode=None, message=None, severity=1): super(AuditSessionEvent, self).__init__(sourcenode, message, severity) self.EventType = ua.NodeId(ua.ObjectIds.AuditSessionEventType) self.add_property('SessionId', ua.NodeId(ua.ObjectIds.AuditSessionEventType), ua.VariantType.NodeId) class AuditCreateSessionEvent(AuditSessionEvent): """ AuditCreateSessionEvent: An event that is raised when a session is created. """ def __init__(self, sourcenode=None, message=None, severity=1): super(AuditCreateSessionEvent, self).__init__(sourcenode, message, severity) self.EventType = ua.NodeId(ua.ObjectIds.AuditCreateSessionEventType) self.add_property('SecureChannelId', None, ua.VariantType.String) self.add_property('ClientCertificate', None, ua.VariantType.ByteString) self.add_property('ClientCertificateThumbprint', None, ua.VariantType.String) self.add_property('RevisedSessionTimeout', None, ua.NodeId(ua.ObjectIds.Duration)) class AuditActivateSessionEvent(AuditSessionEvent): """ AuditActivateSessionEvent: """ def __init__(self, sourcenode=None, message=None, severity=1): super(AuditActivateSessionEvent, self).__init__(sourcenode, message, severity) self.EventType = ua.NodeId(ua.ObjectIds.AuditActivateSessionEventType) self.add_property('ClientSoftwareCertificates', None, ua.NodeId(ua.ObjectIds.SignedSoftwareCertificate)) self.add_property('UserIdentityToken', None, ua.NodeId(ua.ObjectIds.UserIdentityToken)) self.add_property('SecureChannelId', None, ua.VariantType.String) class AuditCancelEvent(AuditSessionEvent): """ AuditCancelEvent: """ def __init__(self, sourcenode=None, message=None, severity=1): super(AuditCancelEvent, self).__init__(sourcenode, message, severity) self.EventType = ua.NodeId(ua.ObjectIds.AuditCancelEventType) self.add_property('RequestHandle', None, ua.VariantType.UInt32) class AuditCertificateEvent(AuditSecurityEvent): """ AuditCertificateEvent: """ def __init__(self, sourcenode=None, message=None, severity=1): super(AuditCertificateEvent, self).__init__(sourcenode, message, severity) self.EventType = ua.NodeId(ua.ObjectIds.AuditCertificateEventType) self.add_property('Certificate', None, ua.VariantType.ByteString) class AuditCertificateDataMismatchEvent(AuditCertificateEvent): """ AuditCertificateDataMismatchEvent: """ def __init__(self, sourcenode=None, message=None, severity=1): super(AuditCertificateDataMismatchEvent, self).__init__(sourcenode, message, severity) self.EventType = ua.NodeId(ua.ObjectIds.AuditCertificateDataMismatchEventType) self.add_property('InvalidHostname', None, ua.VariantType.String) self.add_property('InvalidUri', None, ua.VariantType.String) class AuditCertificateExpiredEvent(AuditCertificateEvent): """ AuditCertificateExpiredEvent: """ def __init__(self, sourcenode=None, message=None, severity=1): super(AuditCertificateExpiredEvent, self).__init__(sourcenode, message, severity) self.EventType = ua.NodeId(ua.ObjectIds.AuditCertificateExpiredEventType) class AuditCertificateInvalidEvent(AuditCertificateEvent): """ AuditCertificateInvalidEvent: """ def __init__(self, sourcenode=None, message=None, severity=1): super(AuditCertificateInvalidEvent, self).__init__(sourcenode, message, severity) self.EventType = ua.NodeId(ua.ObjectIds.AuditCertificateInvalidEventType) class AuditCertificateUntrustedEvent(AuditCertificateEvent): """ AuditCertificateUntrustedEvent: """ def __init__(self, sourcenode=None, message=None, severity=1): super(AuditCertificateUntrustedEvent, self).__init__(sourcenode, message, severity) self.EventType = ua.NodeId(ua.ObjectIds.AuditCertificateUntrustedEventType) class AuditCertificateRevokedEvent(AuditCertificateEvent): """ AuditCertificateRevokedEvent: """ def __init__(self, sourcenode=None, message=None, severity=1): super(AuditCertificateRevokedEvent, self).__init__(sourcenode, message, severity) self.EventType = ua.NodeId(ua.ObjectIds.AuditCertificateRevokedEventType) class AuditCertificateMismatchEvent(AuditCertificateEvent): """ AuditCertificateMismatchEvent: """ def __init__(self, sourcenode=None, message=None, severity=1): super(AuditCertificateMismatchEvent, self).__init__(sourcenode, message, severity) self.EventType = ua.NodeId(ua.ObjectIds.AuditCertificateMismatchEventType) class AuditNodeManagementEvent(AuditEvent): """ AuditNodeManagementEvent: """ def __init__(self, sourcenode=None, message=None, severity=1): super(AuditNodeManagementEvent, self).__init__(sourcenode, message, severity) self.EventType = ua.NodeId(ua.ObjectIds.AuditNodeManagementEventType) class AuditAddNodesEvent(AuditNodeManagementEvent): """ AuditAddNodesEvent: """ def __init__(self, sourcenode=None, message=None, severity=1): super(AuditAddNodesEvent, self).__init__(sourcenode, message, severity) self.EventType = ua.NodeId(ua.ObjectIds.AuditAddNodesEventType) self.add_property('NodesToAdd', None, ua.NodeId(ua.ObjectIds.AddNodesItem)) class AuditDeleteNodesEvent(AuditNodeManagementEvent): """ AuditDeleteNodesEvent: """ def __init__(self, sourcenode=None, message=None, severity=1): super(AuditDeleteNodesEvent, self).__init__(sourcenode, message, severity) self.EventType = ua.NodeId(ua.ObjectIds.AuditDeleteNodesEventType) self.add_property('NodesToDelete', None, ua.NodeId(ua.ObjectIds.DeleteNodesItem)) class AuditAddReferencesEvent(AuditNodeManagementEvent): """ AuditAddReferencesEvent: """ def __init__(self, sourcenode=None, message=None, severity=1): super(AuditAddReferencesEvent, self).__init__(sourcenode, message, severity) self.EventType = ua.NodeId(ua.ObjectIds.AuditAddReferencesEventType) self.add_property('ReferencesToAdd', None, ua.NodeId(ua.ObjectIds.AddReferencesItem)) class AuditDeleteReferencesEvent(AuditNodeManagementEvent): """ AuditDeleteReferencesEvent: """ def __init__(self, sourcenode=None, message=None, severity=1): super(AuditDeleteReferencesEvent, self).__init__(sourcenode, message, severity) self.EventType = ua.NodeId(ua.ObjectIds.AuditDeleteReferencesEventType) self.add_property('ReferencesToDelete', None, ua.NodeId(ua.ObjectIds.DeleteReferencesItem)) class AuditUpdateEvent(AuditEvent): """ AuditUpdateEvent: """ def __init__(self, sourcenode=None, message=None, severity=1): super(AuditUpdateEvent, self).__init__(sourcenode, message, severity) self.EventType = ua.NodeId(ua.ObjectIds.AuditUpdateEventType) class AuditWriteUpdateEvent(AuditUpdateEvent): """ AuditWriteUpdateEvent: """ def __init__(self, sourcenode=None, message=None, severity=1): super(AuditWriteUpdateEvent, self).__init__(sourcenode, message, severity) self.EventType = ua.NodeId(ua.ObjectIds.AuditWriteUpdateEventType) self.add_property('AttributeId', None, ua.VariantType.UInt32) self.add_property('IndexRange', None, ua.NodeId(ua.ObjectIds.NumericRange)) self.add_property('OldValue', None, ua.VariantType.Variant) self.add_property('NewValue', None, ua.VariantType.Variant) class AuditHistoryUpdateEvent(AuditUpdateEvent): """ AuditHistoryUpdateEvent: """ def __init__(self, sourcenode=None, message=None, severity=1): super(AuditHistoryUpdateEvent, self).__init__(sourcenode, message, severity) self.EventType = ua.NodeId(ua.ObjectIds.AuditHistoryUpdateEventType) self.add_property('ParameterDataTypeId', ua.NodeId(ua.ObjectIds.AuditHistoryUpdateEventType), ua.VariantType.NodeId) class AuditUpdateMethodEvent(AuditEvent): """ AuditUpdateMethodEvent: """ def __init__(self, sourcenode=None, message=None, severity=1): super(AuditUpdateMethodEvent, self).__init__(sourcenode, message, severity) self.EventType = ua.NodeId(ua.ObjectIds.AuditUpdateMethodEventType) self.add_property('MethodId', ua.NodeId(ua.ObjectIds.AuditUpdateMethodEventType), ua.VariantType.NodeId) self.add_property('InputArguments', None, ua.VariantType.Variant) class SystemEvent(BaseEvent): """ SystemEvent: """ def __init__(self, sourcenode=None, message=None, severity=1): super(SystemEvent, self).__init__(sourcenode, message, severity) self.EventType = ua.NodeId(ua.ObjectIds.SystemEventType) class DeviceFailureEvent(SystemEvent): """ DeviceFailureEvent: """ def __init__(self, sourcenode=None, message=None, severity=1): super(DeviceFailureEvent, self).__init__(sourcenode, message, severity) self.EventType = ua.NodeId(ua.ObjectIds.DeviceFailureEventType) class BaseModelChangeEvent(BaseEvent): """ BaseModelChangeEvent: """ def __init__(self, sourcenode=None, message=None, severity=1): super(BaseModelChangeEvent, self).__init__(sourcenode, message, severity) self.EventType = ua.NodeId(ua.ObjectIds.BaseModelChangeEventType) class GeneralModelChangeEvent(BaseModelChangeEvent): """ GeneralModelChangeEvent: """ def __init__(self, sourcenode=None, message=None, severity=1): super(GeneralModelChangeEvent, self).__init__(sourcenode, message, severity) self.EventType = ua.NodeId(ua.ObjectIds.GeneralModelChangeEventType) self.add_property('Changes', None, ua.NodeId(ua.ObjectIds.ModelChangeStructureDataType)) class TransitionEvent(BaseEvent): """ TransitionEvent: """ def __init__(self, sourcenode=None, message=None, severity=1): super(TransitionEvent, self).__init__(sourcenode, message, severity) self.EventType = ua.NodeId(ua.ObjectIds.TransitionEventType) class AuditUpdateStateEvent(AuditUpdateMethodEvent): """ AuditUpdateStateEvent: """ def __init__(self, sourcenode=None, message=None, severity=1): super(AuditUpdateStateEvent, self).__init__(sourcenode, message, severity) self.EventType = ua.NodeId(ua.ObjectIds.AuditUpdateStateEventType) self.add_property('OldStateId', None, ua.VariantType.Variant) self.add_property('NewStateId', None, ua.VariantType.Variant) class SemanticChangeEvent(BaseModelChangeEvent): """ SemanticChangeEvent: """ def __init__(self, sourcenode=None, message=None, severity=1): super(SemanticChangeEvent, self).__init__(sourcenode, message, severity) self.EventType = ua.NodeId(ua.ObjectIds.SemanticChangeEventType) self.add_property('Changes', None, ua.NodeId(ua.ObjectIds.SemanticChangeStructureDataType)) class AuditUrlMismatchEvent(AuditCreateSessionEvent): """ AuditUrlMismatchEvent: """ def __init__(self, sourcenode=None, message=None, severity=1): super(AuditUrlMismatchEvent, self).__init__(sourcenode, message, severity) self.EventType = ua.NodeId(ua.ObjectIds.AuditUrlMismatchEventType) self.add_property('EndpointUrl', None, ua.VariantType.String) class EventQueueOverflowEvent(BaseEvent): """ EventQueueOverflowEvent: """ def __init__(self, sourcenode=None, message=None, severity=1): super(EventQueueOverflowEvent, self).__init__(sourcenode, message, severity) self.EventType = ua.NodeId(ua.ObjectIds.EventQueueOverflowEventType) class ProgressEvent(BaseEvent): """ ProgressEvent: """ def __init__(self, sourcenode=None, message=None, severity=1): super(ProgressEvent, self).__init__(sourcenode, message, severity) self.EventType = ua.NodeId(ua.ObjectIds.ProgressEventType) self.add_property('Context', None, ua.VariantType.Variant) self.add_property('Progress', None, ua.VariantType.UInt16) class SystemStatusChangeEvent(SystemEvent): """ SystemStatusChangeEvent: """ def __init__(self, sourcenode=None, message=None, severity=1): super(SystemStatusChangeEvent, self).__init__(sourcenode, message, severity) self.EventType = ua.NodeId(ua.ObjectIds.SystemStatusChangeEventType) self.add_property('SystemState', None, ua.NodeId(ua.ObjectIds.ServerState)) IMPLEMENTED_EVENTS = { ua.ObjectIds.BaseEventType: BaseEvent, ua.ObjectIds.AuditEventType: AuditEvent, ua.ObjectIds.AuditSecurityEventType: AuditSecurityEvent, ua.ObjectIds.AuditChannelEventType: AuditChannelEvent, ua.ObjectIds.AuditOpenSecureChannelEventType: AuditOpenSecureChannelEvent, ua.ObjectIds.AuditSessionEventType: AuditSessionEvent, ua.ObjectIds.AuditCreateSessionEventType: AuditCreateSessionEvent, ua.ObjectIds.AuditActivateSessionEventType: AuditActivateSessionEvent, ua.ObjectIds.AuditCancelEventType: AuditCancelEvent, ua.ObjectIds.AuditCertificateEventType: AuditCertificateEvent, ua.ObjectIds.AuditCertificateDataMismatchEventType: AuditCertificateDataMismatchEvent, ua.ObjectIds.AuditCertificateExpiredEventType: AuditCertificateExpiredEvent, ua.ObjectIds.AuditCertificateInvalidEventType: AuditCertificateInvalidEvent, ua.ObjectIds.AuditCertificateUntrustedEventType: AuditCertificateUntrustedEvent, ua.ObjectIds.AuditCertificateRevokedEventType: AuditCertificateRevokedEvent, ua.ObjectIds.AuditCertificateMismatchEventType: AuditCertificateMismatchEvent, ua.ObjectIds.AuditNodeManagementEventType: AuditNodeManagementEvent, ua.ObjectIds.AuditAddNodesEventType: AuditAddNodesEvent, ua.ObjectIds.AuditDeleteNodesEventType: AuditDeleteNodesEvent, ua.ObjectIds.AuditAddReferencesEventType: AuditAddReferencesEvent, ua.ObjectIds.AuditDeleteReferencesEventType: AuditDeleteReferencesEvent, ua.ObjectIds.AuditUpdateEventType: AuditUpdateEvent, ua.ObjectIds.AuditWriteUpdateEventType: AuditWriteUpdateEvent, ua.ObjectIds.AuditHistoryUpdateEventType: AuditHistoryUpdateEvent, ua.ObjectIds.AuditUpdateMethodEventType: AuditUpdateMethodEvent, ua.ObjectIds.SystemEventType: SystemEvent, ua.ObjectIds.DeviceFailureEventType: DeviceFailureEvent, ua.ObjectIds.BaseModelChangeEventType: BaseModelChangeEvent, ua.ObjectIds.GeneralModelChangeEventType: GeneralModelChangeEvent, ua.ObjectIds.TransitionEventType: TransitionEvent, ua.ObjectIds.AuditUpdateStateEventType: AuditUpdateStateEvent, ua.ObjectIds.SemanticChangeEventType: SemanticChangeEvent, ua.ObjectIds.AuditUrlMismatchEventType: AuditUrlMismatchEvent, ua.ObjectIds.EventQueueOverflowEventType: EventQueueOverflowEvent, ua.ObjectIds.ProgressEventType: ProgressEvent, ua.ObjectIds.SystemStatusChangeEventType: SystemStatusChangeEvent, } python-opcua-0.90.3/opcua/common/events.py000066400000000000000000000173621310132730300205100ustar00rootroot00000000000000import copy from opcua import ua import opcua from opcua.ua.uaerrors import UaError from opcua.common import ua_utils class Event(object): """ OPC UA Event object. This is class in inherited by the common event objects such as BaseEvent, other auto standard events and custom events Events are used to trigger events on server side and are sent to clients for every events from server Developper Warning: On server side the data type of attributes should be known, thus add properties using the add_property method!!! """ def __init__(self): self.server_handle = None self.select_clauses = None self.event_fields = None self.data_types = {} # save current attributes self.internal_properties = list(self.__dict__.keys())[:] + ["internal_properties"] def __str__(self): return "{0}({1})".format( self.__class__.__name__, [str(k) + ":" + str(v) for k, v in self.__dict__.items() if k not in self.internal_properties]) __repr__ = __str__ def add_property(self, name, val, datatype): """ Add a property to event and tore its data type """ setattr(self, name, val) self.data_types[name] = datatype def get_event_props_as_fields_dict(self): """ convert all properties of the Event class to a dict of variants """ field_vars = {} for key, value in vars(self).items(): if not key.startswith("__") and key not in self.internal_properties: field_vars[key] = ua.Variant(value, self.data_types[key]) return field_vars @staticmethod def from_field_dict(fields): """ Create an Event object from a dict of name and variants """ ev = Event() for k, v in fields.items(): ev.add_property(k, v.Value, v.VariantType) return ev def to_event_fields_using_subscription_fields(self, select_clauses): """ Using a new select_clauses and the original select_clauses used during subscription, return a field list """ fields = [] for sattr in select_clauses: for idx, o_sattr in enumerate(self.select_clauses): if sattr.BrowsePath == o_sattr.BrowsePath and sattr.AttributeId == o_sattr.AttributeId: fields.append(self.event_fields[idx]) break return fields def to_event_fields(self, select_clauses): """ return a field list using a select clause and the object properties """ fields = [] for sattr in select_clauses: if not sattr.BrowsePath: name = ua.AttributeIds(sattr.AttributeId).name else: name = sattr.BrowsePath[0].Name try: val = getattr(self, name) except AttributeError: field = ua.Variant(None) else: field = ua.Variant(copy.deepcopy(val), self.data_types[name]) fields.append(field) return fields @staticmethod def from_event_fields(select_clauses, fields): """ Instantiate an Event object from a select_clauses and fields """ ev = Event() ev.select_clauses = select_clauses ev.event_fields = fields for idx, sattr in enumerate(select_clauses): if len(sattr.BrowsePath) == 0: name = sattr.AttributeId.name else: name = sattr.BrowsePath[0].Name ev.add_property(name, fields[idx].Value, fields[idx].VariantType) return ev def get_filter_from_event_type(eventtypes): evfilter = ua.EventFilter() evfilter.SelectClauses = select_clauses_from_evtype(eventtypes) evfilter.WhereClause = where_clause_from_evtype(eventtypes) return evfilter def select_clauses_from_evtype(evtypes): clauses = [] selected_paths = [] for evtype in evtypes: for prop in get_event_properties_from_type_node(evtype): if prop.get_browse_name() not in selected_paths: op = ua.SimpleAttributeOperand() op.AttributeId = ua.AttributeIds.Value op.BrowsePath = [prop.get_browse_name()] clauses.append(op) selected_paths.append(prop.get_browse_name()) return clauses def where_clause_from_evtype(evtypes): cf = ua.ContentFilter() el = ua.ContentFilterElement() # operands can be ElementOperand, LiteralOperand, AttributeOperand, SimpleAttribute # Create a clause where the generate event type property EventType # must be a subtype of events in evtypes argument # the first operand is the attribute event type op = ua.SimpleAttributeOperand() # op.TypeDefinitionId = evtype.nodeid op.BrowsePath.append(ua.QualifiedName("EventType", 0)) op.AttributeId = ua.AttributeIds.Value el.FilterOperands.append(op) # now create a list of all subtypes we want to accept subtypes = [] for evtype in evtypes: subtypes += [st.nodeid for st in ua_utils.get_node_subtypes(evtype)] subtypes = list(set(subtypes)) # remove duplicates for subtypeid in subtypes: op = ua.LiteralOperand() op.Value = ua.Variant(subtypeid) el.FilterOperands.append(op) el.FilterOperator = ua.FilterOperator.InList cf.Elements.append(el) return cf def get_event_properties_from_type_node(node): properties = [] curr_node = node while True: properties.extend(curr_node.get_properties()) if curr_node.nodeid.Identifier == ua.ObjectIds.BaseEventType: break parents = curr_node.get_referenced_nodes(refs=ua.ObjectIds.HasSubtype, direction=ua.BrowseDirection.Inverse, includesubtypes=True) if len(parents) != 1: # Something went wrong return None curr_node = parents[0] return properties def get_event_obj_from_type_node(node): """ return an Event object from an event type node """ if node.nodeid.Identifier in opcua.common.event_objects.IMPLEMENTED_EVENTS.keys(): return opcua.common.event_objects.IMPLEMENTED_EVENTS[node.nodeid.Identifier]() else: parent_identifier, parent_eventtype = _find_parent_eventtype(node) class CustomEvent(parent_eventtype): def __init__(self): parent_eventtype.__init__(self) self.EventType = node.nodeid curr_node = node while curr_node.nodeid.Identifier != parent_identifier: for prop in curr_node.get_properties(): name = prop.get_browse_name().Name val = prop.get_data_value() self.add_property(name, val.Value.Value, val.Value.VariantType) parents = curr_node.get_referenced_nodes(refs=ua.ObjectIds.HasSubtype, direction=ua.BrowseDirection.Inverse, includesubtypes=True) if len(parents) != 1: # Something went wrong raise UaError("Parent of event type could notbe found") curr_node = parents[0] self._freeze = True return CustomEvent() def _find_parent_eventtype(node): """ """ parents = node.get_referenced_nodes(refs=ua.ObjectIds.HasSubtype, direction=ua.BrowseDirection.Inverse, includesubtypes=True) if len(parents) != 1: # Something went wrong raise UaError("Parent of event type could notbe found") if parents[0].nodeid.Identifier in opcua.common.event_objects.IMPLEMENTED_EVENTS.keys(): return parents[0].nodeid.Identifier, opcua.common.event_objects.IMPLEMENTED_EVENTS[parents[0].nodeid.Identifier] else: return _find_parent_eventtype(parents[0]) python-opcua-0.90.3/opcua/common/instantiate.py000066400000000000000000000074031310132730300215220ustar00rootroot00000000000000""" Instantiate a new node and its child nodes from a node type. """ import logging from opcua import Node from opcua import ua from opcua.common import ua_utils from opcua.common.copy_node import _rdesc_from_node, _read_and_copy_attrs logger = logging.getLogger(__name__) def instantiate(parent, node_type, nodeid=None, bname=None, dname=None, idx=0): """ instantiate a node type under a parent node. nodeid and browse name of new node can be specified, or just namespace index If they exists children of the node type, such as components, variables and properties are also instantiated """ rdesc = _rdesc_from_node(parent, node_type) rdesc.TypeDefinition = node_type.nodeid if nodeid is None: nodeid = ua.NodeId(namespaceidx=idx) # will trigger automatic node generation in namespace idx if bname is None: bname = rdesc.BrowseName elif isinstance(bname, str): bname = ua.QualifiedName.from_string(bname) nodeids = _instantiate_node(parent.server, parent.nodeid, rdesc, nodeid, bname, dname=dname) return [Node(parent.server, nid) for nid in nodeids] def _instantiate_node(server, parentid, rdesc, nodeid, bname, dname=None, recursive=True): """ instantiate a node type under parent """ node_type = Node(server, rdesc.NodeId) refs = node_type.get_referenced_nodes(refs=ua.ObjectIds.HasModellingRule) # skip optional elements if len(refs) == 1 and refs[0].nodeid == ua.NodeId(ua.ObjectIds.ModellingRule_Optional): return [] addnode = ua.AddNodesItem() addnode.RequestedNewNodeId = nodeid addnode.BrowseName = bname addnode.ParentNodeId = parentid addnode.ReferenceTypeId = rdesc.ReferenceTypeId addnode.TypeDefinition = rdesc.TypeDefinition if rdesc.NodeClass in (ua.NodeClass.Object, ua.NodeClass.ObjectType): addnode.NodeClass = ua.NodeClass.Object _read_and_copy_attrs(node_type, ua.ObjectAttributes(), addnode) elif rdesc.NodeClass in (ua.NodeClass.Variable, ua.NodeClass.VariableType): addnode.NodeClass = ua.NodeClass.Variable _read_and_copy_attrs(node_type, ua.VariableAttributes(), addnode) elif rdesc.NodeClass in (ua.NodeClass.Method,): addnode.NodeClass = ua.NodeClass.Method _read_and_copy_attrs(node_type, ua.MethodAttributes(), addnode) else: logger.warning("Instantiate: Node class not supported: %s", rdesc.NodeClass) return if dname is not None: addnode.NodeAttributes.DisplayName = dname res = server.add_nodes([addnode])[0] added_nodes = [res.AddedNodeId] if recursive: parents = ua_utils.get_node_supertypes(node_type, includeitself=True) node = Node(server, res.AddedNodeId) for parent in parents: descs = parent.get_children_descriptions(includesubtypes=False) for c_rdesc in descs: # skip items that already exists, prefer the 'lowest' one in object hierarchy if not ua_utils.is_child_present(node, c_rdesc.BrowseName): # if root node being instantiated has a String NodeId, create the children with a String NodeId if res.AddedNodeId.NodeIdType is ua.NodeIdType.String: inst_nodeid = res.AddedNodeId.Identifier + "." + c_rdesc.BrowseName.Name nodeids = _instantiate_node(server, res.AddedNodeId, c_rdesc, nodeid=ua.NodeId(identifier=inst_nodeid, namespaceidx=res.AddedNodeId.NamespaceIndex), bname=c_rdesc.BrowseName) else: nodeids = _instantiate_node(server, res.AddedNodeId, c_rdesc, nodeid=ua.NodeId(namespaceidx=res.AddedNodeId.NamespaceIndex), bname=c_rdesc.BrowseName) added_nodes.extend(nodeids) return added_nodes python-opcua-0.90.3/opcua/common/manage_nodes.py000066400000000000000000000354561310132730300216300ustar00rootroot00000000000000""" High level functions to create nodes """ from opcua import ua from opcua.common import node from opcua.common.instantiate import instantiate def _parse_nodeid_qname(*args): try: if isinstance(args[0], int): nodeid = ua.NodeId(0, int(args[0])) qname = ua.QualifiedName(args[1], int(args[0])) return nodeid, qname if isinstance(args[0], ua.NodeId): nodeid = args[0] elif isinstance(args[0], str): nodeid = ua.NodeId.from_string(args[0]) else: raise RuntimeError() if isinstance(args[1], ua.QualifiedName): qname = args[1] elif isinstance(args[1], str): qname = ua.QualifiedName.from_string(args[1]) else: raise RuntimeError() return nodeid, qname except ua.UaError: raise except Exception as ex: raise TypeError("This method takes either a namespace index and a string as argument or a nodeid and a qualifiedname. Received arguments {0} and got exception {1}".format(args, ex)) def create_folder(parent, nodeid, bname): """ create a child node folder arguments are nodeid, browsename or namespace index, name """ nodeid, qname = _parse_nodeid_qname(nodeid, bname) return node.Node(parent.server, _create_object(parent.server, parent.nodeid, nodeid, qname, ua.ObjectIds.FolderType)) def create_object(parent, nodeid, bname, objecttype=None): """ create a child node object arguments are nodeid, browsename, [objecttype] or namespace index, name, [objecttype] if objectype is given (a NodeId) then the type node is instantiated inclusive its child nodes """ nodeid, qname = _parse_nodeid_qname(nodeid, bname) if objecttype is not None: objecttype = node.Node(parent.server, objecttype) dname = ua.LocalizedText(bname) nodes = instantiate(parent, objecttype, nodeid, bname=qname, dname=dname)[0] return nodes else: return node.Node(parent.server, _create_object(parent.server, parent.nodeid, nodeid, qname, ua.ObjectIds.BaseObjectType)) def create_property(parent, nodeid, bname, val, varianttype=None, datatype=None): """ create a child node property args are nodeid, browsename, value, [variant type] or idx, name, value, [variant type] """ nodeid, qname = _parse_nodeid_qname(nodeid, bname) var = ua.Variant(val, varianttype) if datatype and isinstance(datatype, int): datatype = ua.NodeId(datatype, 0) if datatype and not isinstance(datatype, ua.NodeId): raise RuntimeError("datatype argument must be a nodeid or an int refering to a nodeid") return node.Node(parent.server, _create_variable(parent.server, parent.nodeid, nodeid, qname, var, datatype=datatype, isproperty=True)) def create_variable(parent, nodeid, bname, val, varianttype=None, datatype=None): """ create a child node variable args are nodeid, browsename, value, [variant type], [data type] or idx, name, value, [variant type], [data type] """ nodeid, qname = _parse_nodeid_qname(nodeid, bname) var = ua.Variant(val, varianttype) if datatype and isinstance(datatype, int): datatype = ua.NodeId(datatype, 0) if datatype and not isinstance(datatype, ua.NodeId): raise RuntimeError("datatype argument must be a nodeid or an int refering to a nodeid") return node.Node(parent.server, _create_variable(parent.server, parent.nodeid, nodeid, qname, var, datatype=datatype, isproperty=False)) def create_variable_type(parent, nodeid, bname, datatype): """ Create a new variable type args are nodeid, browsename and datatype or idx, name and data type """ nodeid, qname = _parse_nodeid_qname(nodeid, bname) if datatype and isinstance(datatype, int): datatype = ua.NodeId(datatype, 0) if datatype and not isinstance(datatype, ua.NodeId): raise RuntimeError("Data type argument must be a nodeid or an int refering to a nodeid, received: {}".format(datatype)) return node.Node(parent.server, _create_variable_type(parent.server, parent.nodeid, nodeid, qname, datatype)) def create_reference_type(parent, nodeid, bname): """ Create a new reference type args are nodeid and browsename or idx and name """ nodeid, qname = _parse_nodeid_qname(nodeid, bname) addnode = ua.AddNodesItem() addnode.RequestedNewNodeId = nodeid addnode.BrowseName = qname addnode.NodeClass = ua.NodeClass.Variable addnode.ParentNodeId = parent.nodeid addnode.ReferenceTypeId = ua.NodeId(ua.ObjectIds.HasSubtype) attrs = ua.ReferenceTypeAttributes() attrs.IsAbstract = False attrs.Description = ua.LocalizedText(qname.Name) attrs.DisplayName = ua.LocalizedText(qname.Name) attrs.AccessLevel = ua.AccessLevel.CurrentRead.mask attrs.UserAccessLevel = ua.AccessLevel.CurrentRead.mask addnode.NodeAttributes = attrs results = parent.server.add_nodes([addnode]) results[0].StatusCode.check() return node.Node(parent.server, results[0].AddedNodeId) def create_object_type(parent, nodeid, bname): """ Create a new object type to be instanciated in address space. arguments are nodeid, browsename or namespace index, name """ nodeid, qname = _parse_nodeid_qname(nodeid, bname) return node.Node(parent.server, _create_object_type(parent.server, parent.nodeid, nodeid, qname)) def create_method(parent, *args): """ create a child method object This is only possible on server side!! args are nodeid, browsename, method_to_be_called, [input argument types], [output argument types] or idx, name, method_to_be_called, [input argument types], [output argument types] if argument types is specified, child nodes advertising what arguments the method uses and returns will be created a callback is a method accepting the nodeid of the parent as first argument and variants after. returns a list of variants """ nodeid, qname = _parse_nodeid_qname(*args[:2]) callback = args[2] if len(args) > 3: inputs = args[3] else: inputs = [] if len(args) > 4: outputs = args[4] else: outputs = [] return node.Node(parent.server, _create_method(parent, nodeid, qname, callback, inputs, outputs)) def _create_object(server, parentnodeid, nodeid, qname, objecttype): addnode = ua.AddNodesItem() addnode.RequestedNewNodeId = nodeid addnode.BrowseName = qname addnode.ParentNodeId = parentnodeid if node.Node(server, parentnodeid).get_type_definition() == ua.NodeId(ua.ObjectIds.FolderType): addnode.ReferenceTypeId = ua.NodeId(ua.ObjectIds.Organizes) else: addnode.ReferenceTypeId = ua.NodeId(ua.ObjectIds.HasComponent) addnode.NodeClass = ua.NodeClass.Object if isinstance(objecttype, int): addnode.TypeDefinition = ua.NodeId(objecttype) else: addnode.TypeDefinition = objecttype attrs = ua.ObjectAttributes() attrs.EventNotifier = 0 attrs.Description = ua.LocalizedText(qname.Name) attrs.DisplayName = ua.LocalizedText(qname.Name) attrs.WriteMask = 0 attrs.UserWriteMask = 0 addnode.NodeAttributes = attrs results = server.add_nodes([addnode]) results[0].StatusCode.check() return results[0].AddedNodeId def _create_object_type(server, parentnodeid, nodeid, qname): addnode = ua.AddNodesItem() addnode.RequestedNewNodeId = nodeid addnode.BrowseName = qname addnode.ParentNodeId = parentnodeid addnode.ReferenceTypeId = ua.NodeId(ua.ObjectIds.HasSubtype) addnode.NodeClass = ua.NodeClass.ObjectType attrs = ua.ObjectTypeAttributes() attrs.IsAbstract = False attrs.Description = ua.LocalizedText(qname.Name) attrs.DisplayName = ua.LocalizedText(qname.Name) attrs.WriteMask = 0 attrs.UserWriteMask = 0 addnode.NodeAttributes = attrs results = server.add_nodes([addnode]) results[0].StatusCode.check() return results[0].AddedNodeId def _create_variable(server, parentnodeid, nodeid, qname, var, datatype=None, isproperty=False): addnode = ua.AddNodesItem() addnode.RequestedNewNodeId = nodeid addnode.BrowseName = qname addnode.NodeClass = ua.NodeClass.Variable addnode.ParentNodeId = parentnodeid if isproperty: addnode.ReferenceTypeId = ua.NodeId(ua.ObjectIds.HasProperty) addnode.TypeDefinition = ua.NodeId(ua.ObjectIds.PropertyType) else: addnode.ReferenceTypeId = ua.NodeId(ua.ObjectIds.HasComponent) addnode.TypeDefinition = ua.NodeId(ua.ObjectIds.BaseDataVariableType) attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText(qname.Name) attrs.DisplayName = ua.LocalizedText(qname.Name) if datatype: attrs.DataType = datatype else: attrs.DataType = _guess_datatype(var) attrs.Value = var if not isinstance(var.Value, (list, tuple)): attrs.ValueRank = ua.ValueRank.Scalar else: if var.Dimensions: attrs.ValueRank = len(var.Dimensions) attrs.ArrayDimensions = var.Dimensions attrs.WriteMask = 0 attrs.UserWriteMask = 0 attrs.Historizing = 0 attrs.AccessLevel = ua.AccessLevel.CurrentRead.mask attrs.UserAccessLevel = ua.AccessLevel.CurrentRead.mask addnode.NodeAttributes = attrs results = server.add_nodes([addnode]) results[0].StatusCode.check() return results[0].AddedNodeId def _create_variable_type(server, parentnodeid, nodeid, qname, datatype, value=None): addnode = ua.AddNodesItem() addnode.RequestedNewNodeId = nodeid addnode.BrowseName = qname addnode.NodeClass = ua.NodeClass.VariableType addnode.ParentNodeId = parentnodeid addnode.ReferenceTypeId = ua.NodeId(ua.ObjectIds.HasSubtype) #addnode.TypeDefinition = ua.NodeId(ua.ObjectIds.BaseDataVariableType) attrs = ua.VariableTypeAttributes() attrs.Description = ua.LocalizedText(qname.Name) attrs.DisplayName = ua.LocalizedText(qname.Name) attrs.DataType = datatype attrs.IsAbstract = False if value: attrs.Value = value if isinstance(value, (list, tuple)): attrs.ValueRank = ua.ValueRank.OneDimension else: attrs.ValueRank = ua.ValueRank.Scalar #attrs.ArrayDimensions = None attrs.WriteMask = 0 attrs.UserWriteMask = 0 addnode.NodeAttributes = attrs results = server.add_nodes([addnode]) results[0].StatusCode.check() return results[0].AddedNodeId def create_data_type(parent, nodeid, bname, description=None): """ Create a new data type to be used in new variables, etc .. arguments are nodeid, browsename or namespace index, name """ nodeid, qname = _parse_nodeid_qname(nodeid, bname) addnode = ua.AddNodesItem() addnode.RequestedNewNodeId = nodeid addnode.BrowseName = qname addnode.NodeClass = ua.NodeClass.DataType addnode.ParentNodeId = parent.nodeid addnode.ReferenceTypeId = ua.NodeId(ua.ObjectIds.HasSubtype) #addnode.TypeDefinition = ua.NodeId(ua.ObjectIds.BaseDataVariableType) # No type definition for types attrs = ua.DataTypeAttributes() if description is None: attrs.Description = ua.LocalizedText(qname.Name) else: attrs.Description = ua.LocalizedText(description) attrs.DisplayName = ua.LocalizedText(qname.Name) attrs.WriteMask = 0 attrs.UserWriteMask = 0 attrs.IsAbstract = False # True mean they cannot be instanciated addnode.NodeAttributes = attrs results = parent.server.add_nodes([addnode]) results[0].StatusCode.check() return node.Node(parent.server, results[0].AddedNodeId) def _create_method(parent, nodeid, qname, callback, inputs, outputs): addnode = ua.AddNodesItem() addnode.RequestedNewNodeId = nodeid addnode.BrowseName = qname addnode.NodeClass = ua.NodeClass.Method addnode.ParentNodeId = parent.nodeid addnode.ReferenceTypeId = ua.NodeId(ua.ObjectIds.HasComponent) #node.TypeDefinition = ua.NodeId(ua.ObjectIds.BaseObjectType) attrs = ua.MethodAttributes() attrs.Description = ua.LocalizedText(qname.Name) attrs.DisplayName = ua.LocalizedText(qname.Name) attrs.WriteMask = 0 attrs.UserWriteMask = 0 attrs.Executable = True attrs.UserExecutable = True addnode.NodeAttributes = attrs results = parent.server.add_nodes([addnode]) results[0].StatusCode.check() method = node.Node(parent.server, results[0].AddedNodeId) if inputs: create_property(method, ua.NodeId(namespaceidx=method.nodeid.NamespaceIndex), ua.QualifiedName("InputArguments", 0), [_vtype_to_argument(vtype) for vtype in inputs], varianttype=ua.VariantType.ExtensionObject, datatype=ua.ObjectIds.Argument) if outputs: create_property(method, ua.NodeId(namespaceidx=method.nodeid.NamespaceIndex), ua.QualifiedName("OutputArguments", 0), [_vtype_to_argument(vtype) for vtype in outputs], varianttype=ua.VariantType.ExtensionObject, datatype=ua.ObjectIds.Argument) if hasattr(parent.server, "add_method_callback"): parent.server.add_method_callback(method.nodeid, callback) return results[0].AddedNodeId def _vtype_to_argument(vtype): if isinstance(vtype, ua.Argument): return vtype arg = ua.Argument() if isinstance(vtype, ua.VariantType): arg.DataType = ua.NodeId(vtype.value) else: arg.DataType = ua.NodeId(vtype) return arg def _guess_datatype(variant): if variant.VariantType == ua.VariantType.ExtensionObject: if variant.Value is None: raise ua.UaError("Cannot guess DataType from Null ExtensionObject") if type(variant.Value) in (list, tuple): if len(variant.Value) == 0: raise ua.UaError("Cannot guess DataType from Null ExtensionObject") extobj = variant.Value[0] else: extobj = variant.Value classname = extobj.__class__.__name__ return ua.NodeId(getattr(ua.ObjectIds, classname)) else: return ua.NodeId(getattr(ua.ObjectIds, variant.VariantType.name)) def delete_nodes(server, nodes, recursive=False): """ Delete specified nodes. Optionally delete recursively all nodes with a downward hierachic references to the node """ nodestodelete = [] if recursive: nodes += _add_childs(nodes) for mynode in nodes: it = ua.DeleteNodesItem() it.NodeId = mynode.nodeid it.DeleteTargetReferences = True nodestodelete.append(it) params = ua.DeleteNodesParameters() params.NodesToDelete = nodestodelete return server.delete_nodes(params) def _add_childs(nodes): results = [] for mynode in nodes[:]: results += mynode.get_children() return results python-opcua-0.90.3/opcua/common/methods.py000066400000000000000000000037221310132730300206420ustar00rootroot00000000000000""" High level method related functions """ from opcua import ua from opcua.common import node def call_method(parent, methodid, *args): """ Call an OPC-UA method. methodid is browse name of child method or the nodeid of method as a NodeId object arguments are variants or python object convertible to variants. which may be of different types returns a list of variants which are output of the method """ if isinstance(methodid, str): methodid = parent.get_child(methodid).nodeid elif isinstance(methodid, node.Node): methodid = methodid.nodeid arguments = [] for arg in args: if not isinstance(arg, ua.Variant): arg = ua.Variant(arg) arguments.append(arg) result = _call_method(parent.server, parent.nodeid, methodid, arguments) if len(result.OutputArguments) == 0: return None elif len(result.OutputArguments) == 1: return result.OutputArguments[0].Value else: return [var.Value for var in result.OutputArguments] def _call_method(server, parentnodeid, methodid, arguments): request = ua.CallMethodRequest() request.ObjectId = parentnodeid request.MethodId = methodid request.InputArguments = arguments methodstocall = [request] results = server.call(methodstocall) res = results[0] res.StatusCode.check() return res def uamethod(func): """ Method decorator to automatically convert arguments and output to and from variants """ def wrapper(parent, *args): if isinstance(parent, ua.NodeId): result = func(parent, *[arg.Value for arg in args]) else: self = parent parent = args[0] args = args[1:] result = func(self, parent, *[arg.Value for arg in args]) return to_variant(result) return wrapper def to_variant(*args): uaargs = [] for arg in args: uaargs.append(ua.Variant(arg)) return uaargs python-opcua-0.90.3/opcua/common/node.py000066400000000000000000000541661310132730300201340ustar00rootroot00000000000000""" High level node object, to access node attribute and browse address space """ from opcua import ua from opcua.common import events import opcua.common class Node(object): """ High level node object, to access node attribute, browse and populate address space. Node objects are usefull as-is but they do not expose the entire OPC-UA protocol. Feel free to look at the code of this class and call directly UA services methods to optimize your code """ def __init__(self, server, nodeid): self.server = server self.nodeid = None if isinstance(nodeid, Node): self.nodeid = nodeid.nodeid elif isinstance(nodeid, ua.NodeId): self.nodeid = nodeid elif type(nodeid) in (str, bytes): self.nodeid = ua.NodeId.from_string(nodeid) elif isinstance(nodeid, int): self.nodeid = ua.NodeId(nodeid, 0) else: raise ua.UaError("argument to node must be a NodeId object or a string defining a nodeid found {0} of type {1}".format(nodeid, type(nodeid))) def __eq__(self, other): if isinstance(other, Node) and self.nodeid == other.nodeid: return True return False def __ne__(self, other): return not self.__eq__(other) def __str__(self): return "Node({0})".format(self.nodeid) __repr__ = __str__ def __hash__(self): return self.nodeid.__hash__() def get_browse_name(self): """ Get browse name of a node. A browse name is a QualifiedName object composed of a string(name) and a namespace index. """ result = self.get_attribute(ua.AttributeIds.BrowseName) return result.Value.Value def get_display_name(self): """ get description attribute of node """ result = self.get_attribute(ua.AttributeIds.DisplayName) return result.Value.Value def get_data_type(self): """ get data type of node as NodeId """ result = self.get_attribute(ua.AttributeIds.DataType) return result.Value.Value def get_data_type_as_variant_type(self): """ get data type of node as VariantType This only works if node is a variable, otherwise type may not be convertible to VariantType """ result = self.get_attribute(ua.AttributeIds.DataType) return opcua.common.ua_utils.data_type_to_variant_type(Node(self.server, result.Value.Value)) def get_access_level(self): """ Get the access level attribute of the node as a set of AccessLevel enum values. """ result = self.get_attribute(ua.AttributeIds.AccessLevel) return ua.AccessLevel.parse_bitfield(result.Value.Value) def get_user_access_level(self): """ Get the user access level attribute of the node as a set of AccessLevel enum values. """ result = self.get_attribute(ua.AttributeIds.UserAccessLevel) return ua.AccessLevel.parse_bitfield(result.Value.Value) def get_event_notifier(self): """ Get the event notifier attribute of the node as a set of EventNotifier enum values. """ result = self.get_attribute(ua.AttributeIds.EventNotifier) return ua.EventNotifier.parse_bitfield(result.Value.Value) def set_event_notifier(self, values): """ Set the event notifier attribute. :param values: an iterable of EventNotifier enum values. """ event_notifier_bitfield = ua.EventNotifier.to_bitfield(values) self.set_attribute(ua.AttributeIds.EventNotifier, ua.DataValue(ua.Variant(event_notifier_bitfield, ua.VariantType.Byte))) def get_node_class(self): """ get node class attribute of node """ result = self.get_attribute(ua.AttributeIds.NodeClass) return result.Value.Value def get_description(self): """ get description attribute class of node """ result = self.get_attribute(ua.AttributeIds.Description) return result.Value.Value def get_value(self): """ Get value of a node as a python type. Only variables ( and properties) have values. An exception will be generated for other node types. """ result = self.get_data_value() return result.Value.Value def get_data_value(self): """ Get value of a node as a DataValue object. Only variables (and properties) have values. An exception will be generated for other node types. DataValue contain a variable value as a variant as well as server and source timestamps """ return self.get_attribute(ua.AttributeIds.Value) def set_array_dimensions(self, value): """ Set attribute ArrayDimensions of node make sure it has the correct data type """ v = ua.Variant(value, ua.VariantType.UInt32) self.set_attribute(ua.AttributeIds.ArrayDimensions, ua.DataValue(v)) def get_array_dimensions(self): """ Read and return ArrayDimensions attribute of node """ res = self.get_attribute(ua.AttributeIds.ArrayDimensions) return res.Value.Value def set_value_rank(self, value): """ Set attribute ArrayDimensions of node """ v = ua.Variant(value, ua.VariantType.Int32) self.set_attribute(ua.AttributeIds.ValueRank, ua.DataValue(v)) def get_value_rank(self): """ Read and return ArrayDimensions attribute of node """ res = self.get_attribute(ua.AttributeIds.ValueRank) return res.Value.Value def set_value(self, value, varianttype=None): """ Set value of a node. Only variables(properties) have values. An exception will be generated for other node types. value argument is either: * a python built-in type, converted to opc-ua optionnaly using the variantype argument. * a ua.Variant, varianttype is then ignored * a ua.DataValue, you then have full control over data send to server """ datavalue = None if isinstance(value, ua.DataValue): datavalue = value elif isinstance(value, ua.Variant): datavalue = ua.DataValue(value) else: datavalue = ua.DataValue(ua.Variant(value, varianttype)) self.set_attribute(ua.AttributeIds.Value, datavalue) set_data_value = set_value def set_writable(self, writable=True): """ Set node as writable by clients. A node is always writable on server side. """ if writable: self.set_attr_bit(ua.AttributeIds.AccessLevel, ua.AccessLevel.CurrentWrite) self.set_attr_bit(ua.AttributeIds.UserAccessLevel, ua.AccessLevel.CurrentWrite) else: self.unset_attr_bit(ua.AttributeIds.AccessLevel, ua.AccessLevel.CurrentWrite) self.unset_attr_bit(ua.AttributeIds.UserAccessLevel, ua.AccessLevel.CurrentWrite) def set_attr_bit(self, attr, bit): val = self.get_attribute(attr) val.Value.Value = ua.ua_binary.set_bit(val.Value.Value, bit) self.set_attribute(attr, val) def unset_attr_bit(self, attr, bit): val = self.get_attribute(attr) val.Value.Value = ua.ua_binary.unset_bit(val.Value.Value, bit) self.set_attribute(attr, val) def set_read_only(self): """ Set a node as read-only for clients. A node is always writable on server side. """ return self.set_writable(False) def set_attribute(self, attributeid, datavalue): """ Set an attribute of a node attributeid is a member of ua.AttributeIds datavalue is a ua.DataValue object """ attr = ua.WriteValue() attr.NodeId = self.nodeid attr.AttributeId = attributeid attr.Value = datavalue params = ua.WriteParameters() params.NodesToWrite = [attr] result = self.server.write(params) result[0].check() def get_attribute(self, attr): """ Read one attribute of a node result code from server is checked and an exception is raised in case of error """ rv = ua.ReadValueId() rv.NodeId = self.nodeid rv.AttributeId = attr params = ua.ReadParameters() params.NodesToRead.append(rv) result = self.server.read(params) result[0].StatusCode.check() return result[0] def get_attributes(self, attrs): """ Read several attributes of a node list of DataValue is returned """ params = ua.ReadParameters() for attr in attrs: rv = ua.ReadValueId() rv.NodeId = self.nodeid rv.AttributeId = attr params.NodesToRead.append(rv) results = self.server.read(params) return results def get_children(self, refs=ua.ObjectIds.HierarchicalReferences, nodeclassmask=ua.NodeClass.Unspecified): """ Get all children of a node. By default hierarchical references and all node classes are returned. Other reference types may be given: References = 31 NonHierarchicalReferences = 32 HierarchicalReferences = 33 HasChild = 34 Organizes = 35 HasEventSource = 36 HasModellingRule = 37 HasEncoding = 38 HasDescription = 39 HasTypeDefinition = 40 GeneratesEvent = 41 Aggregates = 44 HasSubtype = 45 HasProperty = 46 HasComponent = 47 HasNotifier = 48 HasOrderedComponent = 49 """ return self.get_referenced_nodes(refs, ua.BrowseDirection.Forward, nodeclassmask) def get_properties(self): """ return properties of node. properties are child nodes with a reference of type HasProperty and a NodeClass of Variable """ return self.get_children(refs=ua.ObjectIds.HasProperty, nodeclassmask=ua.NodeClass.Variable) def get_variables(self): """ return variables of node. properties are child nodes with a reference of type HasComponent and a NodeClass of Variable """ return self.get_children(refs=ua.ObjectIds.HasComponent, nodeclassmask=ua.NodeClass.Variable) def get_methods(self): """ return methods of node. properties are child nodes with a reference of type HasComponent and a NodeClass of Method """ return self.get_children(refs=ua.ObjectIds.HasComponent, nodeclassmask=ua.NodeClass.Method) def get_children_descriptions(self, refs=ua.ObjectIds.HierarchicalReferences, nodeclassmask=ua.NodeClass.Unspecified, includesubtypes=True): return self.get_references(refs, ua.BrowseDirection.Forward, nodeclassmask, includesubtypes) def get_encoding_refs(self): return self.get_referenced_nodes(ua.ObjectIds.HasEncoding, ua.BrowseDirection.Forward) def get_description_refs(self): return self.get_referenced_nodes(ua.ObjectIds.HasDescription, ua.BrowseDirection.Forward) def get_references(self, refs=ua.ObjectIds.References, direction=ua.BrowseDirection.Both, nodeclassmask=ua.NodeClass.Unspecified, includesubtypes=True): """ returns references of the node based on specific filter defined with: refs = ObjectId of the Reference direction = Browse direction for references nodeclassmask = filter nodes based on specific class includesubtypes = If true subtypes of the reference (ref) are also included """ desc = ua.BrowseDescription() desc.BrowseDirection = direction desc.ReferenceTypeId = ua.TwoByteNodeId(refs) desc.IncludeSubtypes = includesubtypes desc.NodeClassMask = nodeclassmask desc.ResultMask = ua.BrowseResultMask.All desc.NodeId = self.nodeid params = ua.BrowseParameters() params.View.Timestamp = ua.get_win_epoch() params.NodesToBrowse.append(desc) params.RequestedMaxReferencesPerNode = 0 results = self.server.browse(params) references = self._browse_next(results) return references def _browse_next(self, results): references = results[0].References while results[0].ContinuationPoint: params = ua.BrowseNextParameters() params.ContinuationPoints = [results[0].ContinuationPoint] params.ReleaseContinuationPoints = False results = self.server.browse_next(params) references.extend(results[0].References) return references def get_referenced_nodes(self, refs=ua.ObjectIds.References, direction=ua.BrowseDirection.Both, nodeclassmask=ua.NodeClass.Unspecified, includesubtypes=True): """ returns referenced nodes based on specific filter Paramters are the same as for get_references """ references = self.get_references(refs, direction, nodeclassmask, includesubtypes) nodes = [] for desc in references: node = Node(self.server, desc.NodeId) nodes.append(node) return nodes def get_type_definition(self): """ returns type definition of the node. """ references = self.get_references(refs=ua.ObjectIds.HasTypeDefinition, direction=ua.BrowseDirection.Forward) if len(references) == 0: return None return references[0].NodeId def get_path_as_string(self, max_length=20): """ Attempt to find path of node from root node and return it as a list of strings. There might several possible paths to a node, this function will return one Some nodes may be missing references, so this method may return an empty list Since address space may have circular references, a max length is specified """ path = self._get_path(max_length) path = [ref.BrowseName.to_string() for ref in path] path.append(self.get_browse_name().to_string()) return path def get_path(self, max_length=20): """ Attempt to find path of node from root node and return it as a list of Nodes. There might several possible paths to a node, this function will return one Some nodes may be missing references, so this method may return an empty list Since address space may have circular references, a max length is specified """ path = self._get_path(max_length) path = [Node(self.server, ref.NodeId) for ref in path] path.append(self) return path def _get_path(self, max_length=20): """ Attempt to find path of node from root node and return it as a list of Nodes. There might several possible paths to a node, this function will return one Some nodes may be missing references, so this method may return an empty list Since address space may have circular references, a max length is specified """ path = [] node = self while True: refs = node.get_references(refs=ua.ObjectIds.HierarchicalReferences, direction=ua.BrowseDirection.Inverse) if len(refs) > 0: path.insert(0, refs[0]) node = Node(self.server, refs[0].NodeId) if len(path) >= (max_length -1): return path else: return path def get_parent(self): """ returns parent of the node. A Node may have several parents, the first found is returned. This method uses reverse references, a node might be missing such a link, thus we will not find its parent. """ refs = self.get_references(refs=ua.ObjectIds.HierarchicalReferences, direction=ua.BrowseDirection.Inverse) if len(refs) > 0: return Node(self.server, refs[0].NodeId) else: return None def get_child(self, path): """ get a child specified by its path from this node. A path might be: * a string representing a qualified name. * a qualified name * a list of string * a list of qualified names """ if type(path) not in (list, tuple): path = [path] rpath = self._make_relative_path(path) bpath = ua.BrowsePath() bpath.StartingNode = self.nodeid bpath.RelativePath = rpath result = self.server.translate_browsepaths_to_nodeids([bpath]) result = result[0] result.StatusCode.check() # FIXME: seems this method may return several nodes return Node(self.server, result.Targets[0].TargetId) def _make_relative_path(self, path): rpath = ua.RelativePath() for item in path: el = ua.RelativePathElement() el.ReferenceTypeId = ua.TwoByteNodeId(ua.ObjectIds.HierarchicalReferences) el.IsInverse = False el.IncludeSubtypes = True if isinstance(item, ua.QualifiedName): el.TargetName = item else: el.TargetName = ua.QualifiedName.from_string(item) rpath.Elements.append(el) return rpath def read_raw_history(self, starttime=None, endtime=None, numvalues=0): """ Read raw history of a node result code from server is checked and an exception is raised in case of error If numvalues is > 0 and number of events in period is > numvalues then result will be truncated """ details = ua.ReadRawModifiedDetails() details.IsReadModified = False if starttime: details.StartTime = starttime else: details.StartTime = ua.get_win_epoch() if endtime: details.EndTime = endtime else: details.EndTime = ua.get_win_epoch() details.NumValuesPerNode = numvalues details.ReturnBounds = True result = self.history_read(details) return result.HistoryData.DataValues def history_read(self, details): """ Read raw history of a node, low-level function result code from server is checked and an exception is raised in case of error """ valueid = ua.HistoryReadValueId() valueid.NodeId = self.nodeid valueid.IndexRange = '' params = ua.HistoryReadParameters() params.HistoryReadDetails = details params.TimestampsToReturn = ua.TimestampsToReturn.Both params.ReleaseContinuationPoints = False params.NodesToRead.append(valueid) result = self.server.history_read(params)[0] return result def read_event_history(self, starttime=None, endtime=None, numvalues=0, evtypes=ua.ObjectIds.BaseEventType): """ Read event history of a source node result code from server is checked and an exception is raised in case of error If numvalues is > 0 and number of events in period is > numvalues then result will be truncated """ details = ua.ReadEventDetails() if starttime: details.StartTime = starttime else: details.StartTime = ua.get_win_epoch() if endtime: details.EndTime = endtime else: details.EndTime = ua.get_win_epoch() details.NumValuesPerNode = numvalues if not isinstance(evtypes, (list, tuple)): evtypes = [evtypes] evtypes = [Node(self.server, evtype) for evtype in evtypes] evfilter = events.get_filter_from_event_type(evtypes) details.Filter = evfilter result = self.history_read_events(details) event_res = [] for res in result.HistoryData.Events: event_res.append(events.Event.from_event_fields(evfilter.SelectClauses, res.EventFields)) return event_res def history_read_events(self, details): """ Read event history of a node, low-level function result code from server is checked and an exception is raised in case of error """ valueid = ua.HistoryReadValueId() valueid.NodeId = self.nodeid valueid.IndexRange = '' params = ua.HistoryReadParameters() params.HistoryReadDetails = details params.TimestampsToReturn = ua.TimestampsToReturn.Both params.ReleaseContinuationPoints = False params.NodesToRead.append(valueid) result = self.server.history_read(params)[0] return result def delete(self, delete_references=True): """ Delete node from address space """ ditem = ua.DeleteNodesItem() ditem.NodeId = self.nodeid ditem.DeleteTargetReferences = delete_references params = ua.DeleteNodesParameters() params.NodesToDelete = [ditem] result = self.server.delete_nodes(params) result[0].check() def add_folder(self, nodeid, bname): return opcua.common.manage_nodes.create_folder(self, nodeid, bname) def add_object(self, nodeid, bname, objecttype=None): return opcua.common.manage_nodes.create_object(self, nodeid, bname, objecttype) def add_variable(self, nodeid, bname, val, varianttype=None, datatype=None): return opcua.common.manage_nodes.create_variable(self, nodeid, bname, val, varianttype, datatype) def add_object_type(self, nodeid, bname): return opcua.common.manage_nodes.create_object_type(self, nodeid, bname) def add_variable_type(self, nodeid, bname, datatype): return opcua.common.manage_nodes.create_variable_type(self, nodeid, bname, datatype) def add_data_type(self, nodeid, bname, description=None): return opcua.common.manage_nodes.create_data_type(self, nodeid, bname, description=None) def add_property(self, nodeid, bname, val, varianttype=None, datatype=None): return opcua.common.manage_nodes.create_property(self, nodeid, bname, val, varianttype, datatype) def add_method(self, *args): return opcua.common.manage_nodes.create_method(self, *args) def add_reference_type(self, parent, nodeid, bname): return opcua.common.manage_nodes.create_reference_type(parent, nodeid, bname) def call_method(self, methodid, *args): return opcua.common.methods.call_method(self, methodid, *args) python-opcua-0.90.3/opcua/common/shortcuts.py000066400000000000000000000026711310132730300212370ustar00rootroot00000000000000from opcua.ua import ObjectIds from opcua import Node class Shortcuts(object): """ This object contains Node objects to some commonly used nodes """ def __init__(self, server): self.root = Node(server, ObjectIds.RootFolder) self.objects = Node(server, ObjectIds.ObjectsFolder) self.server = Node(server, ObjectIds.Server) self.types = Node(server, ObjectIds.TypesFolder) self.base_object_type = Node(server, ObjectIds.BaseObjectType) self.base_data_type = Node(server, ObjectIds.BaseDataType) self.base_event_type = Node(server, ObjectIds.BaseEventType) self.base_variable_type = Node(server, ObjectIds.BaseVariableType) self.folder_type = Node(server, ObjectIds.FolderType) self.enum_data_type = Node(server, ObjectIds.Enumeration) self.types = Node(server, ObjectIds.TypesFolder) self.data_types = Node(server, ObjectIds.DataTypesFolder) self.event_types = Node(server, ObjectIds.EventTypesFolder) self.reference_types = Node(server, ObjectIds.ReferenceTypesFolder) self.variable_types = Node(server, ObjectIds.VariableTypesFolder) self.object_types = Node(server, ObjectIds.ObjectTypesFolder) self.namespace_array = Node(server, ObjectIds.Server_NamespaceArray) self.opc_binary = Node(server, ObjectIds.OPCBinarySchema_TypeSystem) self.base_structure_type = Node(server, ObjectIds.Structure) python-opcua-0.90.3/opcua/common/structures_generator.py000066400000000000000000000145631310132730300234750ustar00rootroot00000000000000""" parse simple structures from an xml tree We only support a subset of features but should be enough for custom structures """ import os import importlib from lxml import objectify from opcua.ua.ua_binary import Primitives def get_default_value(uatype): if uatype == "String": return "None" elif uatype == "Guid": return "uuid.uuid4()" elif uatype in ("ByteString", "CharArray", "Char"): return None elif uatype == "Boolean": return "True" elif uatype == "DateTime": return "datetime.utcnow()" elif uatype in ("Int8", "Int16", "Int32", "Int64", "UInt8", "UInt16", "UInt32", "UInt64", "Double", "Float", "Byte", "SByte"): return 0 else: return "ua." + uatype + "()" class Struct(object): def __init__(self, name): self.name = name self.fields = [] self.code = "" def get_code(self): if not self.fields: return """ class {}(object): pass """.format(self.name) self._make_constructor() self._make_from_binary() self._make_to_binary() return self.code def _make_constructor(self): self.code = """ class {0}(object): ''' {0} structure autogenerated from xml ''' def __init__(self, data=None): if data is not None: self._binary_init(data) return """.format(self.name) for field in self.fields: self.code += " self.{} = {}\n".format(field.name, field.value) def _make_from_binary(self): self.code += ''' @staticmethod def from_binary(data): return {}(data=data) def _binary_init(self, data): '''.format(self.name) for field in self.fields: if hasattr(Primitives, field.uatype): if field.array: self.code += ' self.{} = ua.ua_binary.Primitives.{}.unpack_array(data)\n'.format(field.name, field.uatype) else: self.code += ' self.{} = ua.ua_binary.Primitives.{}.unpack(data)\n'.format(field.name, field.uatype) else: if field.array: self.code += ''' length = ua.ua_binary.Primitives.Int32.unpack(data) if length == -1: self.{0} = None else: self.{0} = [ua.{1}.from_binary(data) for _ in range(length)] '''.format(field.name, field.uatype) else: self.code += " self.{} = ua.{}.from_binary(data)\n".format(field.name, field.uatype) def _make_to_binary(self): self.code += ''' def to_binary(self): packet = [] ''' for field in self.fields: if hasattr(Primitives, field.uatype): if field.array: self.code += ' packet.append(ua.ua_binary.Primitives.{}.pack_array(self.{}))\n'.format(field.uatype, field.name) else: self.code += ' packet.append(ua.ua_binary.Primitives.{}.pack(self.{}))\n'.format(field.uatype, field.name) else: if field.array: self.code += ''' if self.{0} is None: packet.append(ua.ua_binary.Primitives.Int32.pack(-1)) else: packet.append(ua.ua_binary.Primitives.Int32.pack(len(self.{0}))) for element in self.{0}: packet.append(element.to_binary()) '''.format(field.name) else: self.code += " packet.append(self.{}.to_binary())\n".format(field.name) self.code += ' return b"".join(packet)' class Field(object): def __init__(self, name): self.name = name self.uatype = None self.value = None self.array = False class StructGenerator(object): def __init__(self): self.model = [] def make_model_from_string(self, xml): obj = objectify.fromstring(xml) self._make_model(obj) def make_model_from_file(self, path): obj = objectify.parse(path) root = obj.getroot() self._make_model(root) def _make_model(self, root): for child in root.iter("{*}StructuredType"): struct = Struct(child.get("Name")) array = False for xmlfield in child.iter("{*}Field"): name = xmlfield.get("Name") if name.startswith("NoOf"): array = True continue field = Field(name) field.uatype = xmlfield.get("TypeName") if ":" in field.uatype: field.uatype = field.uatype.split(":")[1] field.value = get_default_value(field.uatype) if array: field.array = True field.value = [] array = False struct.fields.append(field) self.model.append(struct) def save_to_file(self, path): _file = open(path, "wt") self._make_header(_file) for struct in self.model: _file.write(struct.get_code()) _file.close() def save_and_import(self, path, append_to=None): """ save the new structures to a python file which be used later import the result and return resulting classes in a dict if append_to is a dict, the classes are added to the dict """ self.save_to_file(path) name = os.path.basename(path) name = os.path.splitext(name)[0] mymodule = importlib.import_module(name) if append_to is None: result = {} else: result = append_to for struct in self.model: result[struct.name] = getattr(mymodule, struct.name) return result def get_structures(self): ld = {} for struct in self.model: exec(struct.get_code(), ld) return ld def _make_header(self, _file): _file.write(""" ''' THIS FILE IS AUTOGENERATED, DO NOT EDIT!!! ''' from datetime import datetime import uuid from opcua import ua """) if __name__ == "__main__": import sys from IPython import embed sys.path.insert(0, ".") # necessary for import in current dir #xmlpath = "schemas/Opc.Ua.Types.bsd" xmlpath = "schemas/example.bsd" c = StructGenerator(xmlpath, "structures.py") c.run() import structures as s #sts = c.get_structures() embed() python-opcua-0.90.3/opcua/common/subscription.py000066400000000000000000000352321310132730300217240ustar00rootroot00000000000000""" high level interface to subscriptions """ import time import logging from threading import Lock import collections from opcua import ua from opcua.common import events from opcua import Node class SubHandler(object): """ Subscription Handler. To receive events from server for a subscription This class is just a sample class. Whatever class having these methods can be used """ def data_change(self, handle, node, val, attr): """ Deprecated, use datachange_notification """ pass def datachange_notification(self, node, val, data): """ called for every datachange notification from server """ pass def event_notification(self, event): """ called for every event notification from server """ pass def status_change_notification(self, status): """ called for every status change notification from server """ pass class SubscriptionItemData(object): """ To store useful data from a monitored item """ def __init__(self): self.node = None self.client_handle = None self.server_handle = None self.attribute = None self.mfilter = None class DataChangeNotif(object): """ To be send to clients for every datachange notification from server """ def __init__(self, subscription_data, monitored_item): self.monitored_item = monitored_item self.subscription_data = subscription_data def __str__(self): return "DataChangeNotification({0}, {1})".format(self.subscription_data, self.monitored_item) __repr__ = __str__ class Subscription(object): """ Subscription object returned by Server or Client objects. The object represent a subscription to an opc-ua server. This is a high level class, especially subscribe_data_change and subscribe_events methods. If more control is necessary look at code and/or use create_monitored_items method. """ def __init__(self, server, params, handler): self.logger = logging.getLogger(__name__) self.server = server self._client_handle = 200 self._handler = handler self.parameters = params # move to data class self._monitoreditems_map = {} self._lock = Lock() self.subscription_id = None response = self.server.create_subscription(params, self.publish_callback) self.subscription_id = response.SubscriptionId # move to data class # Launching two publish requests is a heuristic. We try to ensure # that the server always has at least one publish request in the queue, # even after it just replied to a publish request. self.server.publish() self.server.publish() def delete(self): """ Delete subscription on server. This is automatically done by Client and Server classes on exit """ results = self.server.delete_subscriptions([self.subscription_id]) results[0].check() def publish_callback(self, publishresult): self.logger.info("Publish callback called with result: %s", publishresult) while self.subscription_id is None: time.sleep(0.01) for notif in publishresult.NotificationMessage.NotificationData: if isinstance(notif, ua.DataChangeNotification): self._call_datachange(notif) elif isinstance(notif, ua.EventNotificationList): self._call_event(notif) elif isinstance(notif, ua.StatusChangeNotification): self._call_status(notif) else: self.logger.warning("Notification type not supported yet for notification %s", notif) ack = ua.SubscriptionAcknowledgement() ack.SubscriptionId = self.subscription_id ack.SequenceNumber = publishresult.NotificationMessage.SequenceNumber self.server.publish([ack]) def _call_datachange(self, datachange): for item in datachange.MonitoredItems: with self._lock: if item.ClientHandle not in self._monitoreditems_map: self.logger.warning("Received a notification for unknown handle: %s", item.ClientHandle) continue data = self._monitoreditems_map[item.ClientHandle] if hasattr(self._handler, "datachange_notification"): event_data = DataChangeNotif(data, item) try: self._handler.datachange_notification(data.node, item.Value.Value.Value, event_data) except Exception: self.logger.exception("Exception calling data change handler") elif hasattr(self._handler, "data_change"): # deprecated API self.logger.warning("data_change method is deprecated, use datachange_notification") try: self._handler.data_change(data.server_handle, data.node, item.Value.Value.Value, data.attribute) except Exception: self.logger.exception("Exception calling deprecated data change handler") else: self.logger.error("DataChange subscription created but handler has no datachange_notification method") def _call_event(self, eventlist): for event in eventlist.Events: with self._lock: data = self._monitoreditems_map[event.ClientHandle] result = events.Event.from_event_fields(data.mfilter.SelectClauses, event.EventFields) result.server_handle = data.server_handle if hasattr(self._handler, "event_notification"): try: self._handler.event_notification(result) except Exception: self.logger.exception("Exception calling event handler") elif hasattr(self._handler, "event"): # depcrecated API try: self._handler.event(data.server_handle, result) except Exception: self.logger.exception("Exception calling deprecated event handler") else: self.logger.error("Event subscription created but handler has no event_notification method") def _call_status(self, status): try: self._handler.status_change_notification(status.Status) except Exception: self.logger.exception("Exception calling status change handler") def subscribe_data_change(self, nodes, attr=ua.AttributeIds.Value): """ Subscribe for data change events for a node or list of nodes. default attribute is Value. Return a handle which can be used to unsubscribe If more control is necessary use create_monitored_items method """ return self._subscribe(nodes, attr, queuesize=0) def subscribe_events(self, sourcenode=ua.ObjectIds.Server, evtypes=ua.ObjectIds.BaseEventType, evfilter=None): """ Subscribe to events from a node. Default node is Server node. In most servers the server node is the only one you can subscribe to. if evtypes is not provided, evtype defaults to BaseEventType if evtypes is a list or tuple of custom event types, the events will be filtered to the supplied types Return a handle which can be used to unsubscribe """ sourcenode = Node(self.server, sourcenode) if evfilter is None: if not type(evtypes) in (list, tuple): evtypes = [evtypes] evtypes = [Node(self.server, evtype) for evtype in evtypes] evfilter = events.get_filter_from_event_type(evtypes) return self._subscribe(sourcenode, ua.AttributeIds.EventNotifier, evfilter) def _subscribe(self, nodes, attr, mfilter=None, queuesize=0): is_list = True if isinstance(nodes, collections.Iterable): nodes = list(nodes) else: nodes = [nodes] is_list = False mirs = [] for node in nodes: mir = self._make_monitored_item_request(node, attr, mfilter, queuesize) mirs.append(mir) mids = self.create_monitored_items(mirs) if is_list: return mids if type(mids[0]) == ua.StatusCode: mids[0].check() return mids[0] def _make_monitored_item_request(self, node, attr, mfilter, queuesize): rv = ua.ReadValueId() rv.NodeId = node.nodeid rv.AttributeId = attr # rv.IndexRange //We leave it null, then the entire array is returned mparams = ua.MonitoringParameters() with self._lock: self._client_handle += 1 mparams.ClientHandle = self._client_handle mparams.SamplingInterval = self.parameters.RequestedPublishingInterval mparams.QueueSize = queuesize mparams.DiscardOldest = True if mfilter: mparams.Filter = mfilter mir = ua.MonitoredItemCreateRequest() mir.ItemToMonitor = rv mir.MonitoringMode = ua.MonitoringMode.Reporting mir.RequestedParameters = mparams return mir def create_monitored_items(self, monitored_items): """ low level method to have full control over subscription parameters Client handle must be unique since it will be used as key for internal registration of data """ params = ua.CreateMonitoredItemsParameters() params.SubscriptionId = self.subscription_id params.ItemsToCreate = monitored_items params.TimestampsToReturn = ua.TimestampsToReturn.Both # insert monitored item into map to avoid notification arrive before result return # server_handle is left as None in purpose as we don't get it yet. with self._lock: for mi in monitored_items: data = SubscriptionItemData() data.client_handle = mi.RequestedParameters.ClientHandle data.node = Node(self.server, mi.ItemToMonitor.NodeId) data.attribute = mi.ItemToMonitor.AttributeId #TODO: Either use the filter from request or from response. Here it uses from request, in modify it uses from response data.mfilter = mi.RequestedParameters.Filter self._monitoreditems_map[mi.RequestedParameters.ClientHandle] = data results = self.server.create_monitored_items(params) mids = [] # process result, add server_handle, or remove it if failed with self._lock: for idx, result in enumerate(results): mi = params.ItemsToCreate[idx] if not result.StatusCode.is_good(): del self._monitoreditems_map[mi.RequestedParameters.ClientHandle] mids.append(result.StatusCode) continue data = self._monitoreditems_map[mi.RequestedParameters.ClientHandle] data.server_handle = result.MonitoredItemId mids.append(result.MonitoredItemId) return mids def unsubscribe(self, handle): """ unsubscribe to datachange or events using the handle returned while subscribing if you delete subscription, you do not need to unsubscribe """ params = ua.DeleteMonitoredItemsParameters() params.SubscriptionId = self.subscription_id params.MonitoredItemIds = [handle] results = self.server.delete_monitored_items(params) results[0].check() with self._lock: for k, v in self._monitoreditems_map.items(): if v.server_handle == handle: del(self._monitoreditems_map[k]) return def modify_monitored_item(self, handle, new_samp_time, new_queuesize=0, mod_filter_val=-1): """ Modify a monitored item. :param handle: Handle returned when originally subscribing :param new_samp_time: New wanted sample time :param new_queuesize: New wanted queuesize, default is 0 :param mod_filter_val: New deadband filter value :return: Return a Modify Monitored Item Result """ for monitored_item_index in self._monitoreditems_map: if self._monitoreditems_map[monitored_item_index].server_handle == handle: item_to_change = self._monitoreditems_map[monitored_item_index] break if mod_filter_val is None: mod_filter = None elif mod_filter_val < 0: mod_filter = item_to_change.mfilter else: mod_filter = ua.DataChangeFilter() mod_filter.Trigger = ua.DataChangeTrigger(1) # send notification when status or value change mod_filter.DeadbandType = 1 mod_filter.DeadbandValue = mod_filter_val # absolute float value or from 0 to 100 for percentage deadband modif_item = ua.MonitoredItemModifyRequest() modif_item.MonitoredItemId = handle modif_item.RequestedParameters = self._modify_monitored_item_request(new_queuesize, new_samp_time, mod_filter, item_to_change.client_handle) params = ua.ModifyMonitoredItemsParameters() params.SubscriptionId = self.subscription_id params.ItemsToModify.append(modif_item) results = self.server.modify_monitored_items(params) item_to_change.mfilter = results[0].FilterResult return results def _modify_monitored_item_request(self, new_queuesize, new_samp_time, mod_filter, client_handle): req_params = ua.MonitoringParameters() with self._lock: req_params.ClientHandle = client_handle req_params.QueueSize = new_queuesize req_params.Filter = mod_filter req_params.SamplingInterval = new_samp_time return req_params def deadband_monitor(self, var, deadband_val, deadbandtype=1, queuesize=0, attr=ua.AttributeIds.Value): """ Method to create a subscription with a Deadband Value. Default deadband value type is absolute. Return a handle which can be used to unsubscribe :param var: Variable to which you want to subscribe :param deadband_val: Absolute float value :param deadbandtype: Default value is 1 (absolute), change to 2 for percentage deadband :param queuesize: Wanted queue size, default is 1 """ deadband_filter = ua.DataChangeFilter() deadband_filter.Trigger = ua.DataChangeTrigger(1) # send notification when status or value change deadband_filter.DeadbandType = deadbandtype deadband_filter.DeadbandValue = deadband_val # absolute float value or from 0 to 100 for percentage deadband return self._subscribe(var, attr, deadband_filter, queuesize) python-opcua-0.90.3/opcua/common/ua_utils.py000066400000000000000000000201361310132730300210220ustar00rootroot00000000000000""" Usefull method and classes not belonging anywhere and depending on opcua library """ from dateutil import parser from datetime import datetime from enum import Enum, IntEnum import uuid from opcua import ua from opcua.ua.uaerrors import UaError def val_to_string(val): """ convert a python object or python-opcua object to a string which should be easy to understand for human easy to modify, and not too hard to parse back ....not easy meant for UI or command lines """ if isinstance(val, (list, tuple)): res = [] for v in val: res.append(val_to_string(v)) return "[" + ", ".join(res) + "]" if hasattr(val, "to_string"): val = val.to_string() elif isinstance(val, ua.StatusCode): val = val.name elif isinstance(val, (Enum, IntEnum)): val = val.name elif isinstance(val, ua.DataValue): val = variant_to_string(val.Value) elif isinstance(val, ua.XmlElement): val = val.Value elif isinstance(val, str): pass elif isinstance(val, bytes): val = str(val) elif isinstance(val, datetime): val = val.isoformat() elif isinstance(val, (int, float)): val = str(val) else: # FIXME: Some types are probably missing! val = str(val) return val def variant_to_string(var): """ convert a variant to a string which should be easy to understand for human easy to modify, and not too hard to parse back ....not easy meant for UI or command lines """ return val_to_string(var.Value) def string_to_val(string, vtype): """ Convert back a string to a python or python-opcua object Note: no error checking is done here, supplying null strings could raise exceptions (datetime and guid) """ string = string.strip() if string.startswith("["): string = string[1:-1] var = [] for s in string.split(","): s = s.strip() val = string_to_val(s, vtype) var.append(val) return var if vtype == ua.VariantType.Null: val = None elif vtype == ua.VariantType.Boolean: if string in ("True", "true", "on", "On", "1"): val = True else: val = False elif vtype in (ua.VariantType.SByte, ua.VariantType.Int16, ua.VariantType.Int32, ua.VariantType.Int64): val = int(string) elif vtype in (ua.VariantType.Byte, ua.VariantType.UInt16, ua.VariantType.UInt32, ua.VariantType.UInt64): val = int(string) elif vtype in (ua.VariantType.Float, ua.VariantType.Double): val = float(string) elif vtype == ua.VariantType.XmlElement: val = ua.XmlElement(string) elif vtype == ua.VariantType.String: val = string elif vtype == ua.VariantType.ByteString: val = string.encode("utf-8") elif vtype in (ua.VariantType.NodeId, ua.VariantType.ExpandedNodeId): val = ua.NodeId.from_string(string) elif vtype == ua.VariantType.QualifiedName: val = ua.QualifiedName.from_string(string) elif vtype == ua.VariantType.DateTime: val = parser.parse(string) elif vtype == ua.VariantType.LocalizedText: val = ua.LocalizedText(string) elif vtype == ua.VariantType.StatusCode: val = ua.StatusCode(string) elif vtype == ua.VariantType.Guid: val = uuid.UUID(string) else: # FIXME: Some types are probably missing! raise NotImplementedError return val def string_to_variant(string, vtype): """ convert back a string to an ua.Variant """ return ua.Variant(string_to_val(string, vtype), vtype) def get_node_children(node, nodes=None): """ Get recursively all children of a node """ if nodes is None: nodes = [node] for child in node.get_children(): nodes.append(child) get_node_children(child, nodes) return nodes def get_node_subtypes(node, nodes=None): if nodes is None: nodes = [node] for child in node.get_children(refs=ua.ObjectIds.HasSubtype): nodes.append(child) get_node_subtypes(child, nodes) return nodes def get_node_supertypes(node, includeitself=False, skipbase=True): """ return get all subtype parents of node recursive :param node: can be a ua.Node or ua.NodeId :param includeitself: include also node to the list :param skipbase don't include the toplevel one :returns list of ua.Node, top parent first """ parents = [] if includeitself: parents.append(node) parents.extend(_get_node_supertypes(node)) if skipbase and len(parents) > 1: parents = parents[:-1] return parents def _get_node_supertypes(node): """ recursive implementation of get_node_derived_from_types """ basetypes = [] parent = get_node_supertype(node) if parent: basetypes.append(parent) basetypes.extend(_get_node_supertypes(parent)) return basetypes def get_node_supertype(node): """ return node supertype or None """ supertypes = node.get_referenced_nodes(refs=ua.ObjectIds.HasSubtype, direction=ua.BrowseDirection.Inverse, includesubtypes=True) if supertypes: return supertypes[0] else: return None def is_child_present(node, browsename): """ return if a browsename is present a child from the provide node :param node: node wherein to find the browsename :param browsename: browsename to search :returns returne True if the browsename is present else False """ child_descs = node.get_children_descriptions() for child_desc in child_descs: if child_desc.BrowseName == browsename: return True return False def data_type_to_variant_type(dtype_node): """ Given a Node datatype, find out the variant type to encode data. This is not exactly straightforward... """ base = get_base_data_type(dtype_node) if base.nodeid.Identifier != 29: return ua.VariantType(base.nodeid.Identifier) else: # we have an enumeration, value is a Int32 return ua.VariantType.Int32 def get_base_data_type(datatype): """ Looks up the base datatype of the provided datatype Node The base datatype is either: A primitive type (ns=0, i<=21) or a complex one (ns=0 i>21 and i<=30) like Enum and Struct. Args: datatype: NodeId of a datype of a variable Returns: NodeId of datatype base or None in case base datype can not be determined """ base = datatype while base: if base.nodeid.NamespaceIndex == 0 and isinstance(base.nodeid.Identifier, int) and base.nodeid.Identifier <= 30: return base base = get_node_supertype(base) raise ua.UaError("Datatype must be a subtype of builtin types {0!s}".format(datatype)) def get_nodes_of_namespace(server, namespaces=None): """ Get the nodes of one or more namespaces . Args: server: opc ua server to use namespaces: list of string uri or int indexes of the namespace to export Returns: List of nodes that are part of the provided namespaces """ if namespaces is None: namespaces = [] ns_available = server.get_namespace_array() if not namespaces: namespaces = ns_available[1:] elif isinstance(namespaces, (str, int)): namespaces = [namespaces] # make sure all namespace are indexes (if needed convert strings to indexes) namespace_indexes = [n if isinstance(n, int) else ns_available.index(n) for n in namespaces] # filter nodeis based on the provide namespaces and convert the nodeid to a node nodes = [server.get_node(nodeid) for nodeid in server.iserver.aspace.keys() if nodeid.NamespaceIndex != 0 and nodeid.NamespaceIndex in namespace_indexes] return nodes def get_default_value(uatype): if isinstance(uatype, ua.VariantType): return ua.get_default_values(uatype) elif hasattr(ua.VariantType, uatype): return ua.get_default_value(getattr(ua.VariantType, uatype)) else: return getattr(ua, uatype)() python-opcua-0.90.3/opcua/common/utils.py000066400000000000000000000130111310132730300203270ustar00rootroot00000000000000""" Helper function and classes that do not rely on opcua library. Helper function and classes depending on ua object are in ua_utils.py """ import logging import os from concurrent.futures import Future import functools import threading from socket import error as SocketError try: import asyncio except ImportError: import trollius as asyncio from opcua.ua.uaerrors import UaError class ServiceError(UaError): def __init__(self, code): super(ServiceError, self).__init__('UA Service Error') self.code = code class NotEnoughData(UaError): pass class SocketClosedException(UaError): pass class Buffer(object): """ alternative to io.BytesIO making debug easier and added a few conveniance methods """ def __init__(self, data, start_pos=0, size=-1): # self.logger = logging.getLogger(__name__) self._data = data self._cur_pos = start_pos if size == -1: size = len(data) - start_pos self._size = size def __str__(self): return "Buffer(size:{0}, data:{1})".format( self._size, self._data[self._cur_pos:self._cur_pos + self._size]) __repr__ = __str__ def __len__(self): return self._size def read(self, size): """ read and pop number of bytes for buffer """ if size > self._size: raise NotEnoughData("Not enough data left in buffer, request for {0}, we have {1}".format(size, self)) # self.logger.debug("Request for %s bytes, from %s", size, self) self._size -= size pos = self._cur_pos self._cur_pos += size data = self._data[pos:self._cur_pos] # self.logger.debug("Returning: %s ", data) return data def copy(self, size=-1): """ return a shadow copy, optionnaly only copy 'size' bytes """ if size == -1 or size > self._size: size = self._size return Buffer(self._data, self._cur_pos, size) def skip(self, size): """ skip size bytes in buffer """ if size > self._size: raise NotEnoughData("Not enough data left in buffer, request for {0}, we have {1}".format(size, self)) self._size -= size self._cur_pos += size class SocketWrapper(object): """ wrapper to make it possible to have same api for normal sockets, socket from asyncio, StringIO, etc.... """ def __init__(self, sock): self.socket = sock def read(self, size): """ Receive up to size bytes from socket """ data = b'' while size > 0: try: chunk = self.socket.recv(size) except (OSError, SocketError) as ex: raise SocketClosedException("Server socket has closed", ex) if not chunk: raise SocketClosedException("Server socket has closed") data += chunk size -= len(chunk) return data def write(self, data): self.socket.sendall(data) def create_nonce(size=32): return os.urandom(size) class ThreadLoop(threading.Thread): """ run an asyncio loop in a thread """ def __init__(self): threading.Thread.__init__(self) self.logger = logging.getLogger(__name__) self.loop = None self._cond = threading.Condition() def start(self): with self._cond: threading.Thread.start(self) self._cond.wait() def run(self): self.logger.debug("Starting subscription thread") self.loop = asyncio.new_event_loop() asyncio.set_event_loop(self.loop) with self._cond: self._cond.notify_all() self.loop.run_forever() self.logger.debug("subscription thread ended") def create_server(self, proto, hostname, port): return self.loop.create_server(proto, hostname, port) def stop(self): """ stop subscription loop, thus the subscription thread """ self.loop.call_soon_threadsafe(self.loop.stop) def call_soon(self, callback): self.loop.call_soon_threadsafe(callback) def call_later(self, delay, callback): """ threadsafe call_later from asyncio """ p = functools.partial(self.loop.call_later, delay, callback) self.loop.call_soon_threadsafe(p) def _create_task(self, future, coro, cb=None): #task = self.loop.create_task(coro) task = asyncio.async(coro, loop=self.loop) if cb: task.add_done_callback(cb) future.set_result(task) def create_task(self, coro, cb=None): """ threadsafe create_task from asyncio """ future = Future() p = functools.partial(self._create_task, future, coro, cb) self.loop.call_soon_threadsafe(p) return future.result() def run_coro_and_wait(self, coro): cond = threading.Condition() def cb(_): with cond: cond.notify_all() with cond: task = self.create_task(coro, cb) cond.wait() return task.result() def _run_until_complete(self, future, coro): task = self.loop.run_until_complete(coro) future.set_result(task) def run_until_complete(self, coro): """ threadsafe run_until_completed from asyncio """ future = Future() p = functools.partial(self._run_until_complete, future, coro) self.loop.call_soon_threadsafe(p) return future.result() python-opcua-0.90.3/opcua/common/xmlexporter.py000066400000000000000000000422251310132730300215710ustar00rootroot00000000000000""" from a list of nodes in the address space, build an XML file format is the one from opc-ua specification """ import logging from collections import OrderedDict import xml.etree.ElementTree as Et from copy import copy from opcua import ua from opcua.ua import object_ids as o_ids from opcua.common.ua_utils import get_base_data_type class XmlExporter(object): ''' If it is required that for _extobj_to_etree members to the value should be written in a certain order it can be added to the dictionary below. ''' extobj_ordered_elements = { ua.NodeId(ua.ObjectIds.Argument) : ['Name', 'DataType', 'ValueRank', 'ArrayDimensions', 'Description'] } def __init__(self, server): self.logger = logging.getLogger(__name__) self.server = server self.aliases = {} self._addr_idx_to_xml_idx = {} node_set_attributes = OrderedDict() node_set_attributes['xmlns:xsi'] = 'http://www.w3.org/2001/XMLSchema-instance' node_set_attributes['xmlns:uax'] = 'http://opcfoundation.org/UA/2008/02/Types.xsd' node_set_attributes['xmlns:xsd'] = 'http://www.w3.org/2001/XMLSchema' node_set_attributes['xmlns'] = 'http://opcfoundation.org/UA/2011/03/UANodeSet.xsd' self.etree = Et.ElementTree(Et.Element('UANodeSet', node_set_attributes)) def build_etree(self, node_list, uris=None): """ Create an XML etree object from a list of nodes; custom namespace uris are optional Namespaces used by nodes are always exported for consistency. Args: node_list: list of Node objects for export uris: list of namespace uri strings Returns: """ self.logger.info('Building XML etree') self._add_namespaces(node_list, uris) # add all nodes in the list to the XML etree for node in node_list: self.node_to_etree(node) # add aliases to the XML etree self._add_alias_els() def _add_namespaces(self, nodes, uris): idxs = self._get_ns_idxs_of_nodes(nodes) ns_array = self.server.get_namespace_array() # now add index of provided uris if necessary if uris: self._add_idxs_from_uris(idxs, uris, ns_array) # now create a dict of idx_in_address_space to idx_in_exported_file self._addr_idx_to_xml_idx = self._make_idx_dict(idxs, ns_array) ns_to_export = [ns_array[i] for i in sorted(list(self._addr_idx_to_xml_idx.keys())) if i != 0] # write namespaces to xml self._add_namespace_uri_els(ns_to_export) def _make_idx_dict(self, idxs, ns_array): idxs.sort() addr_idx_to_xml_idx = {0: 0} for xml_idx, addr_idx in enumerate(idxs): if addr_idx >= len(ns_array): break addr_idx_to_xml_idx[addr_idx] = xml_idx + 1 return addr_idx_to_xml_idx def _get_ns_idxs_of_nodes(self, nodes): """ get a list of all indexes used or references by nodes """ idxs = [] for node in nodes: node_idxs = [node.nodeid.NamespaceIndex] node_idxs.append(node.get_browse_name().NamespaceIndex) node_idxs.extend(ref.NodeId.NamespaceIndex for ref in node.get_references()) node_idxs = list(set(node_idxs)) # remove duplicates for i in node_idxs: if i != 0 and i not in idxs: idxs.append(i) return idxs def _add_idxs_from_uris(self, idxs, uris, ns_array): for uri in uris: if uri in ns_array: i = ns_array.index(uri) if i not in idxs: idxs.append(i) def write_xml(self, xmlpath, pretty=True): """ Write the XML etree in the exporter object to a file Args: xmlpath: string representing the path/file name Returns: """ # try to write the XML etree to a file self.logger.info('Exporting XML file to %s', xmlpath) # from IPython import embed # embed() if pretty: self.indent(self.etree.getroot()) self.etree.write(xmlpath, encoding='utf-8', xml_declaration=True ) else: self.etree.write(xmlpath, encoding='utf-8', xml_declaration=True ) def dump_etree(self): """ Dump etree to console for debugging Returns: """ self.logger.info('Dumping XML etree to console') Et.dump(self.etree) def node_to_etree(self, node): """ Add the necessary XML sub elements to the etree for exporting the node Args: node: Node object which will be added to XML etree Returns: """ node_class = node.get_node_class() if node_class is ua.NodeClass.Object: self.add_etree_object(node) elif node_class is ua.NodeClass.ObjectType: self.add_etree_object_type(node) elif node_class is ua.NodeClass.Variable: self.add_etree_variable(node) elif node_class is ua.NodeClass.VariableType: self.add_etree_variable_type(node) elif node_class is ua.NodeClass.ReferenceType: self.add_etree_reference_type(node) elif node_class is ua.NodeClass.DataType: self.add_etree_datatype(node) elif node_class is ua.NodeClass.Method: self.add_etree_method(node) else: self.logger.info("Exporting node class not implemented: %s ", node_class) def _add_sub_el(self, el, name, text): child_el = Et.SubElement(el, name) child_el.text = text return child_el def _node_to_string(self, nodeid): if not isinstance(nodeid, ua.NodeId): nodeid = nodeid.nodeid if nodeid.NamespaceIndex in self._addr_idx_to_xml_idx: nodeid = copy(nodeid) nodeid.NamespaceIndex = self._addr_idx_to_xml_idx[nodeid.NamespaceIndex] return nodeid.to_string() def _bname_to_string(self, bname): if bname.NamespaceIndex in self._addr_idx_to_xml_idx: bname = copy(bname) bname.NamespaceIndex = self._addr_idx_to_xml_idx[bname.NamespaceIndex] return bname.to_string() def _add_node_common(self, nodetype, node): browsename = node.get_browse_name() nodeid = node.nodeid parent = node.get_parent() displayname = node.get_display_name().Text.decode('utf-8') desc = node.get_description().Text node_el = Et.SubElement(self.etree.getroot(), nodetype) node_el.attrib["NodeId"] = self._node_to_string(nodeid) node_el.attrib["BrowseName"] = self._bname_to_string(browsename) if parent is not None: node_class = node.get_node_class() if node_class in (ua.NodeClass.Object, ua.NodeClass.Variable, ua.NodeClass.Method): node_el.attrib["ParentNodeId"] = self._node_to_string(parent) self._add_sub_el(node_el, 'DisplayName', displayname) if desc not in (None, ""): self._add_sub_el(node_el, 'Description', desc.decode('utf-8')) # FIXME: add WriteMask and UserWriteMask return node_el def add_etree_object(self, node): """ Add a UA object element to the XML etree """ obj_el = self._add_node_common("UAObject", node) var = node.get_attribute(ua.AttributeIds.EventNotifier) if var.Value.Value != 0: obj_el.attrib["EventNotifier"] = str(var.Value.Value) self._add_ref_els(obj_el, node) def add_etree_object_type(self, node): """ Add a UA object type element to the XML etree """ obj_el = self._add_node_common("UAObjectType", node) abstract = node.get_attribute(ua.AttributeIds.IsAbstract).Value.Value if abstract: obj_el.attrib["IsAbstract"] = 'true' self._add_ref_els(obj_el, node) def add_variable_common(self, node, el): dtype = node.get_data_type() if dtype.NamespaceIndex == 0 and dtype.Identifier in o_ids.ObjectIdNames: dtype_name = o_ids.ObjectIdNames[dtype.Identifier] self.aliases[dtype] = dtype_name else: dtype_name = dtype.to_string() rank = node.get_value_rank() if rank != -1: el.attrib["ValueRank"] = str(int(rank)) dim = node.get_attribute(ua.AttributeIds.ArrayDimensions) if dim.Value.Value: el.attrib["ArrayDimensions"] = ",".join([str(i) for i in dim.Value.Value]) el.attrib["DataType"] = dtype_name self.value_to_etree(el, dtype_name, dtype, node) def add_etree_variable(self, node): """ Add a UA variable element to the XML etree """ var_el = self._add_node_common("UAVariable", node) self._add_ref_els(var_el, node) self.add_variable_common(node, var_el) accesslevel = node.get_attribute(ua.AttributeIds.AccessLevel).Value.Value useraccesslevel = node.get_attribute(ua.AttributeIds.UserAccessLevel).Value.Value # We only write these values if they are different from defaults # Not sure where default is defined.... if accesslevel not in (0, ua.AccessLevel.CurrentRead.mask): var_el.attrib["AccessLevel"] = str(accesslevel) if useraccesslevel not in (0, ua.AccessLevel.CurrentRead.mask): var_el.attrib["UserAccessLevel"] = str(useraccesslevel) var = node.get_attribute(ua.AttributeIds.MinimumSamplingInterval) if var.Value.Value: var_el.attrib["MinimumSamplingInterval"] = str(var.Value.Value) var = node.get_attribute(ua.AttributeIds.Historizing) if var.Value.Value: var_el.attrib["Historizing"] = 'true' def add_etree_variable_type(self, node): """ Add a UA variable type element to the XML etree """ var_el = self._add_node_common("UAVariableType", node) self.add_variable_common(node, var_el) abstract = node.get_attribute(ua.AttributeIds.IsAbstract) if abstract.Value.Value: var_el.attrib["IsAbstract"] = "true" self._add_ref_els(var_el, node) def add_etree_method(self, node): obj_el = self._add_node_common("UAMethod", node) var = node.get_attribute(ua.AttributeIds.Executable) if var.Value.Value is False: obj_el.attrib["Executable"] = "false" var = node.get_attribute(ua.AttributeIds.UserExecutable) if var.Value.Value is False: obj_el.attrib["UserExecutable"] = "false" self._add_ref_els(obj_el, node) def add_etree_reference_type(self, obj): obj_el = self._add_node_common("UAReferenceType", obj) self._add_ref_els(obj_el, obj) var = obj.get_attribute(ua.AttributeIds.InverseName) if var is not None and var.Value.Value is not None and var.Value.Value.Text is not None: self._add_sub_el(obj_el, 'InverseName', var.Value.Value.Text.decode('utf-8')) def add_etree_datatype(self, obj): """ Add a UA data type element to the XML etree """ obj_el = self._add_node_common("UADataType", obj) self._add_ref_els(obj_el, obj) def _add_namespace_uri_els(self, uris): nuris_el = Et.Element('NamespaceUris') for uri in uris: self._add_sub_el(nuris_el, 'Uri', uri) self.etree.getroot().insert(0, nuris_el) def _add_alias_els(self): aliases_el = Et.Element('Aliases') ordered_keys = list(self.aliases.keys()) ordered_keys.sort() for nodeid in ordered_keys: name = self.aliases[nodeid] ref_el = Et.SubElement(aliases_el, 'Alias', Alias=name) ref_el.text = nodeid.to_string() # insert behind the namespace element self.etree.getroot().insert(1, aliases_el) def _add_ref_els(self, parent_el, obj): refs = obj.get_references() refs_el = Et.SubElement(parent_el, 'References') for ref in refs: if ref.ReferenceTypeId.Identifier in o_ids.ObjectIdNames: ref_name = o_ids.ObjectIdNames[ref.ReferenceTypeId.Identifier] else: ref_name = ref.ReferenceTypeId.to_string() ref_el = Et.SubElement(refs_el, 'Reference') ref_el.attrib['ReferenceType'] = ref_name if not ref.IsForward: ref_el.attrib['IsForward'] = 'false' ref_el.text = self._node_to_string(ref.NodeId) self.aliases[ref.ReferenceTypeId] = ref_name def member_to_etree(self, el, name, dtype, val): member_el = Et.SubElement(el, "uax:" + name) if isinstance(val, (list, tuple)): for v in val: self._value_to_etree(member_el, ua.ObjectIdNames[dtype.Identifier], dtype, v) else: self._val_to_etree(member_el, dtype, val) def _val_to_etree(self, el, dtype, val): if val is None: val = "" if dtype == ua.NodeId(ua.ObjectIds.NodeId): id_el = Et.SubElement(el, "uax:Identifier") id_el.text = val.to_string() elif dtype == ua.NodeId(ua.ObjectIds.Guid): id_el = Et.SubElement(el, "uax:String") id_el.text = str(val) elif dtype == ua.NodeId(ua.ObjectIds.Boolean): el.text = 'true' if val else 'false' elif not hasattr(val, "ua_types"): if isinstance(val, bytes): el.text = val.decode("utf-8") else: el.text = str(val) else: for name, vtype in val.ua_types.items(): self.member_to_etree(el, name, ua.NodeId(getattr(ua.ObjectIds, vtype)), getattr(val, name)) def value_to_etree(self, el, dtype_name, dtype, node): var = node.get_data_value().Value if var.Value is not None: val_el = Et.SubElement(el, 'Value') self._value_to_etree(val_el, dtype_name, dtype, var.Value) def _value_to_etree(self, el, type_name, dtype, val): if val is None: return if isinstance(val, (list, tuple)): if dtype.NamespaceIndex == 0 and dtype.Identifier <= 21: elname = "uax:ListOf" + type_name else: # this is an extentionObject: elname = "uax:ListOfExtensionObject" list_el = Et.SubElement(el, elname) for nval in val: self._value_to_etree(list_el, type_name, dtype, nval) else: dtype_base = get_base_data_type(self.server.get_node(dtype)) dtype_base = dtype_base.nodeid if dtype_base == ua.NodeId(ua.ObjectIds.Enumeration): dtype_base = ua.NodeId(ua.ObjectIds.Int32) type_name = ua.ObjectIdNames[dtype_base.Identifier] if dtype_base.NamespaceIndex == 0 and dtype_base.Identifier <= 21: type_name = ua.ObjectIdNames[dtype_base.Identifier] val_el = Et.SubElement(el, "uax:" + type_name) self._val_to_etree(val_el, dtype_base, val) else: self._extobj_to_etree(el, type_name, dtype, val) def _extobj_to_etree(self, val_el, name, dtype, val): obj_el = Et.SubElement(val_el, "uax:ExtensionObject") type_el = Et.SubElement(obj_el, "uax:TypeId") id_el = Et.SubElement(type_el, "uax:Identifier") id_el.text = dtype.to_string() body_el = Et.SubElement(obj_el, "uax:Body") struct_el = Et.SubElement(body_el, "uax:" + name) for name in self._get_member_order(dtype, val): self.member_to_etree(struct_el, name, ua.NodeId(getattr(ua.ObjectIds, val.ua_types[name])), getattr(val, name)) def _get_member_order(self, dtype, val): ''' If an dtype has an entry in XmlExporter.extobj_ordered_elements return the export order of the elements else return the unordered members. ''' if dtype not in XmlExporter.extobj_ordered_elements.keys(): return val.ua_types.keys() else: member_keys = [name for name in XmlExporter.extobj_ordered_elements[dtype] if name in val.ua_types.keys() and getattr(val, name) is not None ] return member_keys def indent(self, elem, level=0): """ copy and paste from http://effbot.org/zone/element-lib.htm#prettyprint it basically walks your tree and adds spaces and newlines so the tree is printed in a nice way """ i = "\n" + level * " " if len(elem): if not elem.text or not elem.text.strip(): elem.text = i + " " if not elem.tail or not elem.tail.strip(): elem.tail = i for elem in elem: self.indent(elem, level + 1) if not elem.tail or not elem.tail.strip(): elem.tail = i else: if level and (not elem.tail or not elem.tail.strip()): elem.tail = i python-opcua-0.90.3/opcua/common/xmlimporter.py000066400000000000000000000376051310132730300215700ustar00rootroot00000000000000""" add nodes defined in XML to address space format is the one from opc-ua specification """ import logging import uuid from copy import copy import opcua from opcua import ua from opcua.common import xmlparser import sys if sys.version_info.major > 2: unicode = str class XmlImporter(object): def __init__(self, server): self.logger = logging.getLogger(__name__) self.parser = None self.server = server self.namespaces = {} self.aliases = {} def _map_namespaces(self, namespaces_uris): """ creates a mapping between the namespaces in the xml file and in the server. if not present the namespace is registered. """ namespaces = {} for ns_index, ns_uri in enumerate(namespaces_uris): ns_server_index = self.server.register_namespace(ns_uri) namespaces[ns_index + 1] = ns_server_index return namespaces def _map_aliases(self, aliases): """ maps the import aliases to the correct namespaces """ aliases_mapped = {} for alias, node_id in aliases.items(): aliases_mapped[alias] = self._migrate_ns(self.to_nodeid(node_id)) return aliases_mapped def import_xml(self, xmlpath): """ import xml and return added nodes """ self.logger.info("Importing XML file %s", xmlpath) self.parser = xmlparser.XMLParser(xmlpath) self.namespaces = self._map_namespaces(self.parser.get_used_namespaces()) self.aliases = self._map_aliases(self.parser.get_aliases()) dnodes = self.parser.get_node_datas() dnodes = self.make_objects(dnodes) nodes_parsed = self._sort_nodes_by_parentid(dnodes) nodes = [] for nodedata in nodes_parsed: # self.parser: try: node = self._add_node_data(nodedata) except Exception: self.logger.warning("failure adding node %s", nodedata) raise nodes.append(node) return nodes def _add_node_data(self, nodedata): if nodedata.nodetype == 'UAObject': node = self.add_object(nodedata) elif nodedata.nodetype == 'UAObjectType': node = self.add_object_type(nodedata) elif nodedata.nodetype == 'UAVariable': node = self.add_variable(nodedata) elif nodedata.nodetype == 'UAVariableType': node = self.add_variable_type(nodedata) elif nodedata.nodetype == 'UAReferenceType': node = self.add_reference_type(nodedata) elif nodedata.nodetype == 'UADataType': node = self.add_datatype(nodedata) elif nodedata.nodetype == 'UAMethod': node = self.add_method(nodedata) else: self.logger.warning("Not implemented node type: %s ", nodedata.nodetype) return node def _add_node(self, node): if isinstance(self.server, opcua.server.server.Server): return self.server.iserver.isession.add_nodes([node]) else: return self.server.uaclient.add_nodes([node]) def _add_references(self, refs): if isinstance(self.server, opcua.server.server.Server): return self.server.iserver.isession.add_references(refs) else: return self.server.uaclient.add_references(refs) def make_objects(self, node_datas): new_nodes = [] for ndata in node_datas: ndata.nodeid = ua.NodeId.from_string(ndata.nodeid) ndata.browsename = ua.QualifiedName.from_string(ndata.browsename) if ndata.parent: ndata.parent = ua.NodeId.from_string(ndata.parent) if ndata.parentlink: ndata.parentlink = self.to_nodeid(ndata.parentlink) if ndata.typedef: ndata.typedef = self.to_nodeid(ndata.typedef) new_nodes.append(ndata) return new_nodes def _migrate_ns(self, nodeid): """ Check if the index of nodeid or browsename given in the xml model file must be converted to a already existing namespace id based on the files namespace uri :returns: NodeId (str) """ if nodeid.NamespaceIndex in self.namespaces: nodeid = copy(nodeid) nodeid.NamespaceIndex = self.namespaces[nodeid.NamespaceIndex] return nodeid def _get_node(self, obj): node = ua.AddNodesItem() node.RequestedNewNodeId = self._migrate_ns(obj.nodeid) node.BrowseName = self._migrate_ns(obj.browsename) self.logger.info("Importing xml node (%s, %s) as (%s %s)", obj.browsename, obj.nodeid, node.BrowseName, node.RequestedNewNodeId) node.NodeClass = getattr(ua.NodeClass, obj.nodetype[2:]) if obj.parent: node.ParentNodeId = self._migrate_ns(obj.parent) if obj.parentlink: node.ReferenceTypeId = self._migrate_ns(obj.parentlink) if obj.typedef: node.TypeDefinition = self._migrate_ns(obj.typedef) return node def to_nodeid(self, nodeid): if isinstance(nodeid, ua.NodeId): return nodeid elif not nodeid: return ua.NodeId(ua.ObjectIds.String) elif "=" in nodeid: return ua.NodeId.from_string(nodeid) elif hasattr(ua.ObjectIds, nodeid): return ua.NodeId(getattr(ua.ObjectIds, nodeid)) else: if nodeid in self.aliases: return self.aliases[nodeid] else: return ua.NodeId(getattr(ua.ObjectIds, nodeid)) def add_object(self, obj): node = self._get_node(obj) attrs = ua.ObjectAttributes() if obj.desc: attrs.Description = ua.LocalizedText(obj.desc) attrs.DisplayName = ua.LocalizedText(obj.displayname) attrs.EventNotifier = obj.eventnotifier node.NodeAttributes = attrs res = self._add_node(node) self._add_refs(obj) res[0].StatusCode.check() return res[0].AddedNodeId def add_object_type(self, obj): node = self._get_node(obj) attrs = ua.ObjectTypeAttributes() if obj.desc: attrs.Description = ua.LocalizedText(obj.desc) attrs.DisplayName = ua.LocalizedText(obj.displayname) attrs.IsAbstract = obj.abstract node.NodeAttributes = attrs res = self._add_node(node) self._add_refs(obj) res[0].StatusCode.check() return res[0].AddedNodeId def add_variable(self, obj): node = self._get_node(obj) attrs = ua.VariableAttributes() if obj.desc: attrs.Description = ua.LocalizedText(obj.desc) attrs.DisplayName = ua.LocalizedText(obj.displayname) attrs.DataType = self.to_nodeid(obj.datatype) if obj.value is not None: attrs.Value = self._add_variable_value(obj,) if obj.rank: attrs.ValueRank = obj.rank if obj.accesslevel: attrs.AccessLevel = obj.accesslevel if obj.useraccesslevel: attrs.UserAccessLevel = obj.useraccesslevel if obj.minsample: attrs.MinimumSamplingInterval = obj.minsample if obj.dimensions: attrs.ArrayDimensions = obj.dimensions node.NodeAttributes = attrs res = self._add_node(node) self._add_refs(obj) res[0].StatusCode.check() return res[0].AddedNodeId def _make_ext_obj(self, obj): ext = getattr(ua, obj.objname)() for name, val in obj.body: if isinstance(val, str): raise Exception("Error val should a dict", name, val) else: for attname, v in val: self._set_attr(ext, attname, v) return ext def _set_attr(self, obj, attname, val): # tow possible values: # either we get value directly # or a dict if it s an object or a list if isinstance(val, (str, unicode)): pval = xmlparser.ua_type_to_python(val, obj.ua_types[attname]) setattr(obj, attname, pval) else: # so we have either an object or a list... obj2 = getattr(obj, attname) if isinstance(obj2, ua.NodeId): # NodeId representation does not follow common rules!! for attname2, v2 in val: if attname2 == "Identifier": obj2 = ua.NodeId.from_string(v2) setattr(obj, attname, obj2) break elif not isinstance(obj2, ua.NodeId) and not hasattr(obj2, "ua_types"): # we probably have a list my_list = [] for vtype, v2 in val: my_list.append(xmlparser.ua_type_to_python(v2, vtype)) setattr(obj, attname, my_list) else: for attname2, v2 in val: self._set_attr(obj2, attname2, v2) setattr(obj, attname, obj2) def _add_variable_value(self, obj): """ Returns the value for a Variable based on the objects value type. """ self.logger.debug("Setting value with type %s and value %s", obj.valuetype, obj.value) if obj.valuetype == 'ListOfExtensionObject': values = [] for ext in obj.value: extobj = self._make_ext_obj(ext) values.append(extobj) return ua.Variant(values, ua.VariantType.ExtensionObject) elif obj.valuetype == 'ListOfGuid': return ua.Variant([ uuid.UUID(guid) for guid in obj.value ], getattr(ua.VariantType, obj.valuetype[6:])) elif obj.valuetype.startswith("ListOf"): vtype = obj.valuetype[6:] if hasattr(ua.ua_binary.Primitives, vtype): return ua.Variant(obj.value, getattr(ua.VariantType, vtype)) else: return ua.Variant([getattr(ua, vtype)(v) for v in obj.value]) elif obj.valuetype == 'ExtensionObject': extobj = self._make_ext_obj(obj.value) return ua.Variant(extobj, getattr(ua.VariantType, obj.valuetype)) elif obj.valuetype == 'Guid': return ua.Variant(uuid.UUID(obj.value), getattr(ua.VariantType, obj.valuetype)) elif obj.valuetype == 'LocalizedText': ltext = ua.LocalizedText() for name, val in obj.value: if name == "Text": ltext.Text = val.encode("utf-8") else: self.logger.warning("While parsing localizedText value, unkown element: %s with val: %s", name, val) return ua.Variant(ltext, ua.VariantType.LocalizedText) elif obj.valuetype == 'NodeId': return ua.Variant(ua.NodeId.from_string(obj.value)) else: return ua.Variant(obj.value, getattr(ua.VariantType, obj.valuetype)) def add_variable_type(self, obj): node = self._get_node(obj) attrs = ua.VariableTypeAttributes() if obj.desc: attrs.Description = ua.LocalizedText(obj.desc) attrs.DisplayName = ua.LocalizedText(obj.displayname) attrs.DataType = self.to_nodeid(obj.datatype) if obj.value and len(obj.value) == 1: attrs.Value = obj.value[0] if obj.rank: attrs.ValueRank = obj.rank if obj.abstract: attrs.IsAbstract = obj.abstract if obj.dimensions: attrs.ArrayDimensions = obj.dimensions node.NodeAttributes = attrs res = self._add_node(node) self._add_refs(obj) res[0].StatusCode.check() return res[0].AddedNodeId def add_method(self, obj): node = self._get_node(obj) attrs = ua.MethodAttributes() if obj.desc: attrs.Description = ua.LocalizedText(obj.desc) attrs.DisplayName = ua.LocalizedText(obj.displayname) if obj.accesslevel: attrs.AccessLevel = obj.accesslevel if obj.useraccesslevel: attrs.UserAccessLevel = obj.useraccesslevel if obj.minsample: attrs.MinimumSamplingInterval = obj.minsample if obj.dimensions: attrs.ArrayDimensions = obj.dimensions node.NodeAttributes = attrs res = self._add_node(node) self._add_refs(obj) res[0].StatusCode.check() return res[0].AddedNodeId def add_reference_type(self, obj): node = self._get_node(obj) attrs = ua.ReferenceTypeAttributes() if obj.desc: attrs.Description = ua.LocalizedText(obj.desc) attrs.DisplayName = ua.LocalizedText(obj.displayname) if obj. inversename: attrs.InverseName = ua.LocalizedText(obj.inversename) if obj.abstract: attrs.IsAbstract = obj.abstract if obj.symmetric: attrs.Symmetric = obj.symmetric node.NodeAttributes = attrs res = self._add_node(node) self._add_refs(obj) res[0].StatusCode.check() return res[0].AddedNodeId def add_datatype(self, obj): node = self._get_node(obj) attrs = ua.DataTypeAttributes() if obj.desc: attrs.Description = ua.LocalizedText(obj.desc) attrs.DisplayName = ua.LocalizedText(obj.displayname) if obj.abstract: attrs.IsAbstract = obj.abstract node.NodeAttributes = attrs res = self._add_node(node) self._add_refs(obj) res[0].StatusCode.check() return res[0].AddedNodeId def _add_refs(self, obj): if not obj.refs: return refs = [] for data in obj.refs: ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = self.to_nodeid(data.reftype) ref.SourceNodeId = self._migrate_ns(obj.nodeid) ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = self._migrate_ns(self.to_nodeid(data.target)) refs.append(ref) self._add_references(refs) def _sort_nodes_by_parentid(self, ndatas): """ Sort the list of nodes according their parent node in order to respect the dependency between nodes. :param nodes: list of NodeDataObjects :returns: list of sorted nodes """ _ndatas = list(ndatas) # list of node ids that are already sorted / inserted sorted_nodes_ids = [] # list of sorted nodes (i.e. XML Elements) sorted_ndatas = [] all_node_ids = [data.nodeid for data in ndatas] # list of namespace indexes that are relevant for this import # we can only respect ordering nodes for namespaces indexes that # are defined in the xml file itself. Thus we assume that all other # references namespaces are already known to the server and should # not create any dependency problems (like "NodeNotFound") while len(_ndatas) > 0: pop_nodes = [] for ndata in _ndatas: # Insert nodes that # (1) have no parent / parent_ns is None (e.g. namespace 0) # (2) ns is not in list of relevant namespaces if ndata.nodeid.NamespaceIndex not in self.namespaces or \ ndata.parent is None or \ ndata.parent not in all_node_ids: sorted_ndatas.append(ndata) sorted_nodes_ids.append(ndata.nodeid) pop_nodes.append(ndata) else: # Check if the nodes parent is already in the list of # inserted nodes if ndata.parent in sorted_nodes_ids: sorted_ndatas.append(ndata) sorted_nodes_ids.append(ndata.nodeid) pop_nodes.append(ndata) # Remove inserted nodes from the list for ndata in pop_nodes: _ndatas.pop(_ndatas.index(ndata)) return sorted_ndatas python-opcua-0.90.3/opcua/common/xmlparser.py000066400000000000000000000266651310132730300212270ustar00rootroot00000000000000""" parse xml file from opcua-spec """ import logging from pytz import utc import uuid import re import sys import xml.etree.ElementTree as ET from opcua.common import ua_utils from opcua import ua def ua_type_to_python(val, uatype_as_str): """ Converts a string value to a python value according to ua_utils. """ return ua_utils.string_to_val(val, getattr(ua.VariantType, uatype_as_str)) def _to_bool(val): """ Easy access to boolean conversion. """ return ua_type_to_python(val, "Boolean") class NodeData(object): def __init__(self): self.nodetype = None self.nodeid = None self.browsename = None self.displayname = None self.symname = None # FIXME: this param is never used, why? self.parent = None self.parentlink = None self.desc = "" self.typedef = None self.refs = [] self.nodeclass = None self.eventnotifier = 0 # variable self.datatype = None self.rank = -1 # check default value self.value = None self.valuetype = None self.dimensions = None self.accesslevel = None self.useraccesslevel = None self.minsample = None # referencetype self.inversename = "" self.abstract = False self.symmetric = False # datatype self.definition = [] def __str__(self): return "NodeData(nodeid:{0})".format(self.nodeid) __repr__ = __str__ class RefStruct(object): def __init__(self): self.reftype = None self.forward = True self.target = None class ExtObj(object): def __init__(self): self.typeid = None self.objname = None self.bodytype = None self.body = {} def __str__(self): return "ExtObj({0}, {1})".format(self.objname, self.body) __repr__ = __str__ class XMLParser(object): def __init__(self, xmlpath): self.logger = logging.getLogger(__name__) self._retag = re.compile(r"(\{.*\})(.*)") self.path = xmlpath self.tree = ET.parse(xmlpath) self.root = self.tree.getroot() # FIXME: hard to get these xml namespaces with ElementTree, we may have to shift to lxml self.ns = { 'base': "http://opcfoundation.org/UA/2011/03/UANodeSet.xsd", 'uax': "http://opcfoundation.org/UA/2008/02/Types.xsd", 'xsd': "http://www.w3.org/2001/XMLSchema", 'xsi': "http://www.w3.org/2001/XMLSchema-instance" } def get_used_namespaces(self): """ Return the used namespace uris in this import file """ namespaces_uris = [] for child in self.root: tag = self._retag.match(child.tag).groups()[1] if tag == 'NamespaceUris': namespaces_uris = [ns_element.text for ns_element in child] break return namespaces_uris def get_aliases(self): """ Return the used node aliases in this import file """ aliases = {} for child in self.root: tag = self._retag.match(child.tag).groups()[1] if tag == 'Aliases': for el in child: aliases[el.attrib["Alias"]] = el.text break return aliases def get_node_datas(self): nodes = [] for child in self.root: tag = self._retag.match(child.tag).groups()[1] if tag not in ["Aliases", "NamespaceUris", "Extensions", "Models"]: # these XML tags don't contain nodes node = self._parse_node(tag, child) nodes.append(node) return nodes def _parse_node(self, nodetype, child): """ Parse a XML node and create a NodeData object. """ obj = NodeData() obj.nodetype = nodetype for key, val in child.attrib.items(): self._set_attr(key, val, obj) self.logger.info("Parsing node: %s %s", obj.nodeid, obj.browsename) obj.displayname = obj.browsename # give a default value to display name for el in child: self._parse_attr(el, obj) return obj def _set_attr(self, key, val, obj): if key == "NodeId": obj.nodeid = val elif key == "BrowseName": obj.browsename = val elif key == "SymbolicName": obj.symname = val elif key == "ParentNodeId": obj.parent = val elif key == "DataType": obj.datatype = val elif key == "IsAbstract": obj.abstract = _to_bool(val) elif key == "Executable": obj.executable = _to_bool(val) elif key == "EventNotifier": obj.eventnotifier = int(val) elif key == "ValueRank": obj.rank = int(val) elif key == "ArrayDimensions": obj.dimensions = [int(i) for i in val.split(",")] elif key == "MinimumSamplingInterval": obj.minsample = int(val) elif key == "AccessLevel": obj.accesslevel = int(val) elif key == "UserAccessLevel": obj.useraccesslevel = int(val) elif key == "Symmetric": obj.symmetric = _to_bool(val) else: self.logger.info("Attribute not implemented: %s:%s", key, val) def _parse_attr(self, el, obj): tag = self._retag.match(el.tag).groups()[1] if tag == "DisplayName": obj.displayname = el.text elif tag == "Description": obj.desc = el.text elif tag == "References": self._parse_refs(el, obj) elif tag == "Value": self._parse_contained_value(el, obj) elif tag == "InverseName": obj.inversename = el.text elif tag == "Definition": for field in el: obj.definition.append(field) else: self.logger.info("Not implemented tag: %s", el) def _parse_contained_value(self, el, obj): """ Parse the child of el as a constant. """ val_el = el.find(".//") # should be only one child self._parse_value(val_el, obj) def _parse_value(self, val_el, obj): """ Parse the node val_el as a constant. """ if val_el is not None and val_el.text is not None: ntag = self._retag.match(val_el.tag).groups()[1] else: ntag = "Null" obj.valuetype = ntag if ntag == "Null": obj.value = None elif hasattr(ua.ua_binary.Primitives1, ntag): # Elementary types have their parsing directly relying on ua_type_to_python. obj.value = ua_type_to_python(val_el.text, ntag) elif ntag == "DateTime": obj.value = ua_type_to_python(val_el.text, ntag) # According to specs, DateTime should be either UTC or with a timezone. if obj.value.tzinfo is None or obj.value.tzinfo.utcoffset(obj.value) is None: utc.localize(obj.value) # FIXME Forcing to UTC if unaware, maybe should raise? elif ntag in ("ByteString", "String"): mytext = val_el.text if mytext is None: # Support importing null strings. mytext = "" mytext = mytext.replace('\n', '').replace('\r', '') obj.value = ua_type_to_python(mytext, ntag) elif ntag == "Guid": self._parse_contained_value(val_el, obj) # Override parsed string type to guid. obj.valuetype = ntag elif ntag == "NodeId": id_el = val_el.find("uax:Identifier", self.ns) if id_el is not None: obj.value = id_el.text elif ntag == "ExtensionObject": obj.value = self._parse_ext_obj(val_el) elif ntag == "LocalizedText": obj.value = self._parse_body(val_el) elif ntag == "ListOfLocalizedText": obj.value = self._parse_list_of_localized_text(val_el) elif ntag == "ListOfExtensionObject": obj.value = self._parse_list_of_extension_object(val_el) elif ntag.startswith("ListOf"): # Default case for "ListOf" types. # Should stay after particular cases (e.g.: "ListOfLocalizedText"). obj.value = [] for val_el in val_el: tmp = NodeData() self._parse_value(val_el, tmp) obj.value.append(tmp.value) else: # Missing according to string_to_val: XmlElement, ExpandedNodeId, # QualifiedName, StatusCode. # Missing according to ua.VariantType (also missing in string_to_val): # DataValue, Variant, DiagnosticInfo. self.logger.warning("Parsing value of type '%s' not implemented", ntag) def _get_text(self, el): txtlist = [txt.strip() for txt in el.itertext()] return "".join(txtlist) def _parse_list_of_localized_text(self, el): # FIXME Why not calling parse_body as for LocalizedText without list? value = [] for localized_text in el: ntag = self._retag.match(localized_text.tag).groups()[1] for child in localized_text: ntag = self._retag.match(child.tag).groups()[1] if ntag == 'Text': value.append(self._get_text(child)) return value def _parse_list_of_extension_object(self, el): """ Parse a uax:ListOfExtensionObject Value Return an list of ExtObj """ value = [] for extension_object in el: ext_obj = self._parse_ext_obj(extension_object) value.append(ext_obj) return value def _parse_ext_obj(self, el): ext = ExtObj() for extension_object_part in el: ntag = self._retag.match(extension_object_part.tag).groups()[1] if ntag == 'TypeId': ntag = self._retag.match(extension_object_part.find('*').tag).groups()[1] ext.typeid = self._get_text(extension_object_part) elif ntag == 'Body': ext.objname = self._retag.match(extension_object_part.find('*').tag).groups()[1] ext.body = self._parse_body(extension_object_part) else: self.logger.warning("Unknown ntag", ntag) return ext def _parse_body(self, el): body = [] for body_item in el: otag = self._retag.match(body_item.tag).groups()[1] childs = [i for i in body_item] if not childs: val = self._get_text(body_item) else: val = self._parse_body(body_item) if val: body.append((otag, val)) return body def _parse_refs(self, el, obj): for ref in el: if ref.attrib["ReferenceType"] == "HasTypeDefinition": obj.typedef = ref.text elif "IsForward" in ref.attrib and ref.attrib["IsForward"] in ("false", "False"): # if obj.parent: # sys.stderr.write("Parent is already set with: "+ obj.parent + " " + ref.text + "\n") obj.parent = ref.text obj.parentlink = ref.attrib["ReferenceType"] else: struct = RefStruct() if "IsForward" in ref.attrib: struct.forward = ref.attrib["IsForward"] struct.target = ref.text struct.reftype = ref.attrib["ReferenceType"] obj.refs.append(struct) python-opcua-0.90.3/opcua/compat.py000066400000000000000000000003501310132730300171640ustar00rootroot00000000000000""" Module with Python 2/3 compatibility functions. """ def with_metaclass(Meta, *bases): """ Allows to specify metaclasses in Python 2 and 3 compatible ways. Might not allow """ return Meta("Meta", bases, {}) python-opcua-0.90.3/opcua/crypto/000077500000000000000000000000001310132730300166515ustar00rootroot00000000000000python-opcua-0.90.3/opcua/crypto/__init__.py000066400000000000000000000000001310132730300207500ustar00rootroot00000000000000python-opcua-0.90.3/opcua/crypto/security_policies.py000066400000000000000000000343271310132730300227720ustar00rootroot00000000000000from abc import ABCMeta, abstractmethod from opcua.ua import CryptographyNone, SecurityPolicy from opcua.ua import MessageSecurityMode from opcua.ua import UaError try: from opcua.crypto import uacrypto CRYPTOGRAPHY_AVAILABLE = True except ImportError: CRYPTOGRAPHY_AVAILABLE = False POLICY_NONE_URI = 'http://opcfoundation.org/UA/SecurityPolicy#None' def require_cryptography(obj): """ Raise exception if cryptography module is not available. Call this function in constructors. """ if not CRYPTOGRAPHY_AVAILABLE: raise UaError("Can't use {0}, cryptography module is not installed".format(obj.__class__.__name__)) class Signer(object): """ Abstract base class for cryptographic signature algorithm """ __metaclass__ = ABCMeta @abstractmethod def signature_size(self): pass @abstractmethod def signature(self, data): pass class Verifier(object): """ Abstract base class for cryptographic signature verification """ __metaclass__ = ABCMeta @abstractmethod def signature_size(self): pass @abstractmethod def verify(self, data, signature): pass class Encryptor(object): """ Abstract base class for encryption algorithm """ __metaclass__ = ABCMeta @abstractmethod def plain_block_size(self): pass @abstractmethod def encrypted_block_size(self): pass @abstractmethod def encrypt(self, data): pass class Decryptor(object): """ Abstract base class for decryption algorithm """ __metaclass__ = ABCMeta @abstractmethod def plain_block_size(self): pass @abstractmethod def encrypted_block_size(self): pass @abstractmethod def decrypt(self, data): pass class Cryptography(CryptographyNone): """ Security policy: Sign or SignAndEncrypt """ def __init__(self, mode=MessageSecurityMode.Sign): self.Signer = None self.Verifier = None self.Encryptor = None self.Decryptor = None assert mode in (MessageSecurityMode.Sign, MessageSecurityMode.SignAndEncrypt) self.is_encrypted = (mode == MessageSecurityMode.SignAndEncrypt) def plain_block_size(self): """ Size of plain text block for block cipher. """ if self.is_encrypted: return self.Encryptor.plain_block_size() return 1 def encrypted_block_size(self): """ Size of encrypted text block for block cipher. """ if self.is_encrypted: return self.Encryptor.encrypted_block_size() return 1 def padding(self, size): """ Create padding for a block of given size. plain_size = size + len(padding) + signature_size() plain_size = N * plain_block_size() """ if not self.is_encrypted: return b'' block_size = self.Encryptor.plain_block_size() rem = (size + self.signature_size() + 1) % block_size if rem != 0: rem = block_size - rem return bytes(bytearray([rem])) * (rem + 1) def min_padding_size(self): if self.is_encrypted: return 1 return 0 def signature_size(self): return self.Signer.signature_size() def signature(self, data): return self.Signer.signature(data) def vsignature_size(self): return self.Verifier.signature_size() def verify(self, data, sig): self.Verifier.verify(data, sig) def encrypt(self, data): if self.is_encrypted: assert len(data) % self.Encryptor.plain_block_size() == 0 return self.Encryptor.encrypt(data) return data def decrypt(self, data): if self.is_encrypted: return self.Decryptor.decrypt(data) return data def remove_padding(self, data): if self.is_encrypted: pad_size = bytearray(data[-1:])[0] + 1 return data[:-pad_size] return data class SignerRsa(Signer): def __init__(self, client_pk): require_cryptography(self) self.client_pk = client_pk self.key_size = self.client_pk.key_size // 8 def signature_size(self): return self.key_size def signature(self, data): return uacrypto.sign_sha1(self.client_pk, data) class VerifierRsa(Verifier): def __init__(self, server_cert): require_cryptography(self) self.server_cert = server_cert self.key_size = self.server_cert.public_key().key_size // 8 def signature_size(self): return self.key_size def verify(self, data, signature): uacrypto.verify_sha1(self.server_cert, data, signature) class EncryptorRsa(Encryptor): def __init__(self, server_cert, enc_fn, padding_size): require_cryptography(self) self.server_cert = server_cert self.key_size = self.server_cert.public_key().key_size // 8 self.encryptor = enc_fn self.padding_size = padding_size def plain_block_size(self): return self.key_size - self.padding_size def encrypted_block_size(self): return self.key_size def encrypt(self, data): encrypted = b'' block_size = self.plain_block_size() for i in range(0, len(data), block_size): encrypted += self.encryptor(self.server_cert.public_key(), data[i: i + block_size]) return encrypted class DecryptorRsa(Decryptor): def __init__(self, client_pk, dec_fn, padding_size): require_cryptography(self) self.client_pk = client_pk self.key_size = self.client_pk.key_size // 8 self.decryptor = dec_fn self.padding_size = padding_size def plain_block_size(self): return self.key_size - self.padding_size def encrypted_block_size(self): return self.key_size def decrypt(self, data): decrypted = b'' block_size = self.encrypted_block_size() for i in range(0, len(data), block_size): decrypted += self.decryptor(self.client_pk, data[i: i + block_size]) return decrypted class SignerAesCbc(Signer): def __init__(self, key): require_cryptography(self) self.key = key def signature_size(self): return uacrypto.sha1_size() def signature(self, data): return uacrypto.hmac_sha1(self.key, data) class VerifierAesCbc(Verifier): def __init__(self, key): require_cryptography(self) self.key = key def signature_size(self): return uacrypto.sha1_size() def verify(self, data, signature): expected = uacrypto.hmac_sha1(self.key, data) if signature != expected: raise uacrypto.InvalidSignature class EncryptorAesCbc(Encryptor): def __init__(self, key, init_vec): require_cryptography(self) self.cipher = uacrypto.cipher_aes_cbc(key, init_vec) def plain_block_size(self): return self.cipher.algorithm.key_size // 8 def encrypted_block_size(self): return self.cipher.algorithm.key_size // 8 def encrypt(self, data): return uacrypto.cipher_encrypt(self.cipher, data) class DecryptorAesCbc(Decryptor): def __init__(self, key, init_vec): require_cryptography(self) self.cipher = uacrypto.cipher_aes_cbc(key, init_vec) def plain_block_size(self): return self.cipher.algorithm.key_size // 8 def encrypted_block_size(self): return self.cipher.algorithm.key_size // 8 def decrypt(self, data): return uacrypto.cipher_decrypt(self.cipher, data) class SecurityPolicyBasic128Rsa15(SecurityPolicy): """ Security Basic 128Rsa15 A suite of algorithms that uses RSA15 as Key-Wrap-algorithm and 128-Bit (16 bytes) for encryption algorithms. - SymmetricSignatureAlgorithm - HmacSha1 (http://www.w3.org/2000/09/xmldsig#hmac-sha1) - SymmetricEncryptionAlgorithm - Aes128 (http://www.w3.org/2001/04/xmlenc#aes128-cbc) - AsymmetricSignatureAlgorithm - RsaSha1 (http://www.w3.org/2000/09/xmldsig#rsa-sha1) - AsymmetricKeyWrapAlgorithm - KwRsa15 (http://www.w3.org/2001/04/xmlenc#rsa-1_5) - AsymmetricEncryptionAlgorithm - Rsa15 (http://www.w3.org/2001/04/xmlenc#rsa-1_5) - KeyDerivationAlgorithm - PSha1 (http://docs.oasis-open.org/ws-sx/ws-secureconversation/200512/dk/p_sha1) - DerivedSignatureKeyLength - 128 (16 bytes) - MinAsymmetricKeyLength - 1024 (128 bytes) - MaxAsymmetricKeyLength - 2048 (256 bytes) - CertificateSignatureAlgorithm - Sha1 If a certificate or any certificate in the chain is not signed with a hash that is Sha1 or stronger then the certificate shall be rejected. """ URI = "http://opcfoundation.org/UA/SecurityPolicy#Basic128Rsa15" signature_key_size = 16 symmetric_key_size = 16 AsymmetricEncryptionURI = "http://www.w3.org/2001/04/xmlenc#rsa-1_5" @staticmethod def encrypt_asymmetric(pubkey, data): return uacrypto.encrypt_rsa15(pubkey, data) def __init__(self, server_cert, client_cert, client_pk, mode): require_cryptography(self) if isinstance(server_cert, bytes): server_cert = uacrypto.x509_from_der(server_cert) # even in Sign mode we need to asymmetrically encrypt secrets # transmitted in OpenSecureChannel. So SignAndEncrypt here self.asymmetric_cryptography = Cryptography( MessageSecurityMode.SignAndEncrypt) self.asymmetric_cryptography.Signer = SignerRsa(client_pk) self.asymmetric_cryptography.Verifier = VerifierRsa(server_cert) self.asymmetric_cryptography.Encryptor = EncryptorRsa( server_cert, uacrypto.encrypt_rsa15, 11) self.asymmetric_cryptography.Decryptor = DecryptorRsa( client_pk, uacrypto.decrypt_rsa15, 11) self.symmetric_cryptography = Cryptography(mode) self.Mode = mode self.server_certificate = uacrypto.der_from_x509(server_cert) self.client_certificate = uacrypto.der_from_x509(client_cert) def make_symmetric_key(self, nonce1, nonce2): key_sizes = (self.signature_key_size, self.symmetric_key_size, 16) (sigkey, key, init_vec) = uacrypto.p_sha1(nonce2, nonce1, key_sizes) self.symmetric_cryptography.Signer = SignerAesCbc(sigkey) self.symmetric_cryptography.Encryptor = EncryptorAesCbc(key, init_vec) (sigkey, key, init_vec) = uacrypto.p_sha1(nonce1, nonce2, key_sizes) self.symmetric_cryptography.Verifier = VerifierAesCbc(sigkey) self.symmetric_cryptography.Decryptor = DecryptorAesCbc(key, init_vec) class SecurityPolicyBasic256(SecurityPolicy): """ Security Basic 256 A suite of algorithms that are for 256-Bit (32 bytes) encryption, algorithms include: - SymmetricSignatureAlgorithm - HmacSha1 (http://www.w3.org/2000/09/xmldsig#hmac-sha1) - SymmetricEncryptionAlgorithm - Aes256 (http://www.w3.org/2001/04/xmlenc#aes256-cbc) - AsymmetricSignatureAlgorithm - RsaSha1 (http://www.w3.org/2000/09/xmldsig#rsa-sha1) - AsymmetricKeyWrapAlgorithm - KwRsaOaep (http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p) - AsymmetricEncryptionAlgorithm - RsaOaep (http://www.w3.org/2001/04/xmlenc#rsa-oaep) - KeyDerivationAlgorithm - PSha1 (http://docs.oasis-open.org/ws-sx/ws-secureconversation/200512/dk/p_sha1) - DerivedSignatureKeyLength - 192 (24 bytes) - MinAsymmetricKeyLength - 1024 (128 bytes) - MaxAsymmetricKeyLength - 2048 (256 bytes) - CertificateSignatureAlgorithm - Sha1 If a certificate or any certificate in the chain is not signed with a hash that is Sha1 or stronger then the certificate shall be rejected. """ URI = "http://opcfoundation.org/UA/SecurityPolicy#Basic256" signature_key_size = 24 symmetric_key_size = 32 AsymmetricEncryptionURI = "http://www.w3.org/2001/04/xmlenc#rsa-oaep" @staticmethod def encrypt_asymmetric(pubkey, data): return uacrypto.encrypt_rsa_oaep(pubkey, data) def __init__(self, server_cert, client_cert, client_pk, mode): require_cryptography(self) if isinstance(server_cert, bytes): server_cert = uacrypto.x509_from_der(server_cert) # even in Sign mode we need to asymmetrically encrypt secrets # transmitted in OpenSecureChannel. So SignAndEncrypt here self.asymmetric_cryptography = Cryptography( MessageSecurityMode.SignAndEncrypt) self.asymmetric_cryptography.Signer = SignerRsa(client_pk) self.asymmetric_cryptography.Verifier = VerifierRsa(server_cert) self.asymmetric_cryptography.Encryptor = EncryptorRsa( server_cert, uacrypto.encrypt_rsa_oaep, 42) self.asymmetric_cryptography.Decryptor = DecryptorRsa( client_pk, uacrypto.decrypt_rsa_oaep, 42) self.symmetric_cryptography = Cryptography(mode) self.Mode = mode self.server_certificate = uacrypto.der_from_x509(server_cert) self.client_certificate = uacrypto.der_from_x509(client_cert) def make_symmetric_key(self, nonce1, nonce2): # specs part 6, 6.7.5 key_sizes = (self.signature_key_size, self.symmetric_key_size, 16) (sigkey, key, init_vec) = uacrypto.p_sha1(nonce2, nonce1, key_sizes) self.symmetric_cryptography.Signer = SignerAesCbc(sigkey) self.symmetric_cryptography.Encryptor = EncryptorAesCbc(key, init_vec) (sigkey, key, init_vec) = uacrypto.p_sha1(nonce1, nonce2, key_sizes) self.symmetric_cryptography.Verifier = VerifierAesCbc(sigkey) self.symmetric_cryptography.Decryptor = DecryptorAesCbc(key, init_vec) def encrypt_asymmetric(pubkey, data, policy_uri): """ Encrypt data with pubkey using an asymmetric algorithm. The algorithm is selected by policy_uri. Returns a tuple (encrypted_data, algorithm_uri) """ for cls in [SecurityPolicyBasic256, SecurityPolicyBasic128Rsa15]: if policy_uri == cls.URI: return (cls.encrypt_asymmetric(pubkey, data), cls.AsymmetricEncryptionURI) if not policy_uri or policy_uri == POLICY_NONE_URI: return (data, '') raise UaError("Unsupported security policy `{0}`".format(policy_uri)) python-opcua-0.90.3/opcua/crypto/uacrypto.py000066400000000000000000000114131310132730300210710ustar00rootroot00000000000000import os from cryptography import x509 from cryptography.exceptions import InvalidSignature from cryptography.hazmat.backends import default_backend from cryptography.hazmat.primitives import serialization from cryptography.hazmat.primitives import hashes from cryptography.hazmat.primitives import hmac from cryptography.hazmat.primitives.asymmetric import padding from cryptography.hazmat.primitives.ciphers import Cipher from cryptography.hazmat.primitives.ciphers import algorithms from cryptography.hazmat.primitives.ciphers import modes def load_certificate(path): _, ext = os.path.splitext(path) with open(path, "rb") as f: if ext == ".pem": return x509.load_pem_x509_certificate(f.read(), default_backend()) else: return x509.load_der_x509_certificate(f.read(), default_backend()) def x509_from_der(data): if not data: return None return x509.load_der_x509_certificate(data, default_backend()) def load_private_key(path): _, ext = os.path.splitext(path) with open(path, "rb") as f: if ext == ".pem": return serialization.load_pem_private_key(f.read(), password=None, backend=default_backend()) else: return serialization.load_der_private_key(f.read(), password=None, backend=default_backend()) def der_from_x509(certificate): if certificate is None: return b"" return certificate.public_bytes(serialization.Encoding.DER) def sign_sha1(private_key, data): signer = private_key.signer( padding.PKCS1v15(), hashes.SHA1() ) signer.update(data) return signer.finalize() def verify_sha1(certificate, data, signature): verifier = certificate.public_key().verifier( signature, padding.PKCS1v15(), hashes.SHA1()) verifier.update(data) verifier.verify() def encrypt_basic256(public_key, data): ciphertext = public_key.encrypt( data, padding.OAEP( mgf=padding.MGF1(algorithm=hashes.SHA256()), algorithm=hashes.SHA256(), label=None) ) return ciphertext def encrypt_rsa_oaep(public_key, data): ciphertext = public_key.encrypt( data, padding.OAEP( mgf=padding.MGF1(algorithm=hashes.SHA1()), algorithm=hashes.SHA1(), label=None) ) return ciphertext def encrypt_rsa15(public_key, data): ciphertext = public_key.encrypt( data, padding.PKCS1v15() ) return ciphertext def decrypt_rsa_oaep(private_key, data): text = private_key.decrypt( data, padding.OAEP( mgf=padding.MGF1(algorithm=hashes.SHA1()), algorithm=hashes.SHA1(), label=None) ) return text def decrypt_rsa15(private_key, data): text = private_key.decrypt( data, padding.PKCS1v15() ) return text def cipher_aes_cbc(key, init_vec): return Cipher(algorithms.AES(key), modes.CBC(init_vec), default_backend()) def cipher_encrypt(cipher, data): encryptor = cipher.encryptor() return encryptor.update(data) + encryptor.finalize() def cipher_decrypt(cipher, data): decryptor = cipher.decryptor() return decryptor.update(data) + decryptor.finalize() def hmac_sha1(key, message): hasher = hmac.HMAC(key, hashes.SHA1(), backend=default_backend()) hasher.update(message) return hasher.finalize() def sha1_size(): return hashes.SHA1.digest_size def p_sha1(secret, seed, sizes=()): """ Derive one or more keys from secret and seed. (See specs part 6, 6.7.5 and RFC 2246 - TLS v1.0) Lengths of keys will match sizes argument """ full_size = 0 for size in sizes: full_size += size result = b'' accum = seed while len(result) < full_size: accum = hmac_sha1(secret, accum) result += hmac_sha1(secret, accum + seed) parts = [] for size in sizes: parts.append(result[:size]) result = result[size:] return tuple(parts) def x509_name_to_string(name): parts = ["{0}={1}".format(attr.oid._name, attr.value) for attr in name] return ', '.join(parts) def x509_to_string(cert): """ Convert x509 certificate to human-readable string """ if cert.subject == cert.issuer: issuer = ' (self-signed)' else: issuer = ', issuer: {0}'.format(x509_name_to_string(cert.issuer)) # TODO: show more information return "{0}{1}, {2} - {3}".format(x509_name_to_string(cert.subject), issuer, cert.not_valid_before, cert.not_valid_after) if __name__ == "__main__": # Convert from PEM to DER cert = load_certificate("../examples/server_cert.pem") #rsa_pubkey = pubkey_from_dercert(der) rsa_privkey = load_private_key("../examples/mykey.pem") from IPython import embed embed() python-opcua-0.90.3/opcua/server/000077500000000000000000000000001310132730300166375ustar00rootroot00000000000000python-opcua-0.90.3/opcua/server/__init__.py000066400000000000000000000000001310132730300207360ustar00rootroot00000000000000python-opcua-0.90.3/opcua/server/address_space.py000066400000000000000000000644701310132730300220240ustar00rootroot00000000000000from threading import RLock import logging from datetime import datetime import collections import shelve try: import cPickle as pickle except: import pickle from opcua import ua from opcua.server.users import User class AttributeValue(object): def __init__(self, value): self.value = value self.value_callback = None self.datachange_callbacks = {} def __str__(self): return "AttributeValue({0})".format(self.value) __repr__ = __str__ class NodeData(object): def __init__(self, nodeid): self.nodeid = nodeid self.attributes = {} self.references = [] self.call = None def __str__(self): return "NodeData(id:{0}, attrs:{1}, refs:{2})".format(self.nodeid, self.attributes, self.references) __repr__ = __str__ class AttributeService(object): def __init__(self, aspace): self.logger = logging.getLogger(__name__) self._aspace = aspace def read(self, params): self.logger.debug("read %s", params) res = [] for readvalue in params.NodesToRead: res.append(self._aspace.get_attribute_value(readvalue.NodeId, readvalue.AttributeId)) return res def write(self, params, user=User.Admin): self.logger.debug("write %s as user %s", params, user) res = [] for writevalue in params.NodesToWrite: if user != User.Admin: if writevalue.AttributeId != ua.AttributeIds.Value: res.append(ua.StatusCode(ua.StatusCodes.BadUserAccessDenied)) continue al = self._aspace.get_attribute_value(writevalue.NodeId, ua.AttributeIds.AccessLevel) ual = self._aspace.get_attribute_value(writevalue.NodeId, ua.AttributeIds.UserAccessLevel) if not ua.ua_binary.test_bit(al.Value.Value, ua.AccessLevel.CurrentWrite) or not ua.ua_binary.test_bit(ual.Value.Value, ua.AccessLevel.CurrentWrite): res.append(ua.StatusCode(ua.StatusCodes.BadUserAccessDenied)) continue res.append(self._aspace.set_attribute_value(writevalue.NodeId, writevalue.AttributeId, writevalue.Value)) return res class ViewService(object): def __init__(self, aspace): self.logger = logging.getLogger(__name__) self._aspace = aspace def browse(self, params): self.logger.debug("browse %s", params) res = [] for desc in params.NodesToBrowse: res.append(self._browse(desc)) return res def _browse(self, desc): res = ua.BrowseResult() if desc.NodeId not in self._aspace: res.StatusCode = ua.StatusCode(ua.StatusCodes.BadNodeIdInvalid) return res node = self._aspace[desc.NodeId] for ref in node.references: if not self._is_suitable_ref(desc, ref): continue res.References.append(ref) return res def _is_suitable_ref(self, desc, ref): if not self._suitable_direction(desc.BrowseDirection, ref.IsForward): self.logger.debug("%s is not suitable due to direction", ref) return False if not self._suitable_reftype(desc.ReferenceTypeId, ref.ReferenceTypeId, desc.IncludeSubtypes): self.logger.debug("%s is not suitable due to type", ref) return False if desc.NodeClassMask and ((desc.NodeClassMask & ref.NodeClass) == 0): self.logger.debug("%s is not suitable due to class", ref) return False self.logger.debug("%s is a suitable ref for desc %s", ref, desc) return True def _suitable_reftype(self, ref1, ref2, subtypes): """ """ if not subtypes and ref2.Identifier == ua.ObjectIds.HasSubtype: return False if ref1.Identifier == ref2.Identifier: return True oktypes = self._get_sub_ref(ref1) if not subtypes and ua.NodeId(ua.ObjectIds.HasSubtype) in oktypes: oktypes.remove(ua.NodeId(ua.ObjectIds.HasSubtype)) return ref2 in oktypes def _get_sub_ref(self, ref): res = [] nodedata = self._aspace[ref] if nodedata is not None: for ref in nodedata.references: if ref.ReferenceTypeId.Identifier == ua.ObjectIds.HasSubtype and ref.IsForward: res.append(ref.NodeId) res += self._get_sub_ref(ref.NodeId) return res def _suitable_direction(self, desc, isforward): if desc == ua.BrowseDirection.Both: return True if desc == ua.BrowseDirection.Forward and isforward: return True if desc == ua.BrowseDirection.Inverse and not isforward: return True return False def translate_browsepaths_to_nodeids(self, browsepaths): self.logger.debug("translate browsepath: %s", browsepaths) results = [] for path in browsepaths: results.append(self._translate_browsepath_to_nodeid(path)) return results def _translate_browsepath_to_nodeid(self, path): self.logger.debug("looking at path: %s", path) res = ua.BrowsePathResult() if path.StartingNode not in self._aspace: res.StatusCode = ua.StatusCode(ua.StatusCodes.BadNodeIdInvalid) return res current = path.StartingNode for el in path.RelativePath.Elements: nodeid = self._find_element_in_node(el, current) if not nodeid: res.StatusCode = ua.StatusCode(ua.StatusCodes.BadNoMatch) return res current = nodeid target = ua.BrowsePathTarget() target.TargetId = current target.RemainingPathIndex = 4294967295 res.Targets = [target] return res def _find_element_in_node(self, el, nodeid): nodedata = self._aspace[nodeid] for ref in nodedata.references: # FIXME: here we should check other arguments!! if ref.BrowseName == el.TargetName: return ref.NodeId self.logger.info("element %s was not found in node %s", el, nodeid) return None class NodeManagementService(object): def __init__(self, aspace): self.logger = logging.getLogger(__name__) self._aspace = aspace def add_nodes(self, addnodeitems, user=User.Admin): results = [] for item in addnodeitems: results.append(self._add_node(item, user)) return results def _add_node(self, item, user): result = ua.AddNodesResult() # If Identifier of requested NodeId is null we generate a new NodeId using # the namespace of the nodeid, this is an extention of the spec to allow # to requests the server to generate a new nodeid in a specified namespace if item.RequestedNewNodeId.has_null_identifier(): self.logger.debug("RequestedNewNodeId has null identifier, generating Identifier") nodedata = NodeData(self._aspace.generate_nodeid(item.RequestedNewNodeId.NamespaceIndex)) else: nodedata = NodeData(item.RequestedNewNodeId) if nodedata.nodeid in self._aspace: self.logger.warning("AddNodesItem: Requested NodeId %s already exists", nodedata.nodeid) result.StatusCode = ua.StatusCode(ua.StatusCodes.BadNodeIdExists) return result if item.ParentNodeId.is_null(): # self.logger.warning("add_node: creating node %s without parent", nodedata.nodeid) # should return Error here, but the standard namespace define many nodes without parents... pass elif item.ParentNodeId not in self._aspace: self.logger.warning("add_node: while adding node %s, requested parent node %s does not exists", nodedata.nodeid, item.ParentNodeId) result.StatusCode = ua.StatusCode(ua.StatusCodes.BadParentNodeIdInvalid) return result if not user == User.Admin: result.StatusCode = ua.StatusCode(ua.StatusCodes.BadUserAccessDenied) return result self._add_node_attributes(nodedata, item) # now add our node to db self._aspace[nodedata.nodeid] = nodedata if not item.ParentNodeId.is_null(): self._add_ref_from_parent(nodedata, item) self._add_ref_to_parent(nodedata, item, user) # add type definition if item.TypeDefinition != ua.NodeId(): self._add_type_definition(nodedata, item, user) result.StatusCode = ua.StatusCode() result.AddedNodeId = nodedata.nodeid return result def _add_node_attributes(self, nodedata, item): # add common attrs nodedata.attributes[ua.AttributeIds.NodeId] = AttributeValue( ua.DataValue(ua.Variant(nodedata.nodeid, ua.VariantType.NodeId)) ) nodedata.attributes[ua.AttributeIds.BrowseName] = AttributeValue( ua.DataValue(ua.Variant(item.BrowseName, ua.VariantType.QualifiedName)) ) nodedata.attributes[ua.AttributeIds.NodeClass] = AttributeValue( ua.DataValue(ua.Variant(item.NodeClass, ua.VariantType.Int32)) ) # add requested attrs self._add_nodeattributes(item.NodeAttributes, nodedata) def _add_ref_from_parent(self, nodedata, item): desc = ua.ReferenceDescription() desc.ReferenceTypeId = item.ReferenceTypeId desc.NodeId = nodedata.nodeid desc.NodeClass = item.NodeClass desc.BrowseName = item.BrowseName desc.DisplayName = item.NodeAttributes.DisplayName desc.TypeDefinition = item.TypeDefinition desc.IsForward = True self._aspace[item.ParentNodeId].references.append(desc) def _add_ref_to_parent(self, nodedata, item, user): addref = ua.AddReferencesItem() addref.ReferenceTypeId = item.ReferenceTypeId addref.SourceNodeId = nodedata.nodeid addref.TargetNodeId = item.ParentNodeId addref.TargetNodeClass = self._aspace[item.ParentNodeId].attributes[ua.AttributeIds.NodeClass].value.Value.Value addref.IsForward = False self._add_reference(addref, user) def _add_type_definition(self, nodedata, item, user): addref = ua.AddReferencesItem() addref.SourceNodeId = nodedata.nodeid addref.IsForward = True addref.ReferenceTypeId = ua.NodeId(ua.ObjectIds.HasTypeDefinition) addref.TargetNodeId = item.TypeDefinition addref.TargetNodeClass = ua.NodeClass.DataType self._add_reference(addref, user) def delete_nodes(self, deletenodeitems, user=User.Admin): results = [] for item in deletenodeitems.NodesToDelete: results.append(self._delete_node(item, user)) return results def _delete_node(self, item, user): if user != User.Admin: return ua.StatusCode(ua.StatusCodes.BadUserAccessDenied) if item.NodeId not in self._aspace: self.logger.warning("DeleteNodesItem: NodeId %s does not exists", item.NodeId) return ua.StatusCode(ua.StatusCodes.BadNodeIdUnknown) if item.DeleteTargetReferences: for elem in self._aspace.keys(): for rdesc in self._aspace[elem].references: if rdesc.NodeId == item.NodeId: self._aspace[elem].references.remove(rdesc) self._delete_node_callbacks(self._aspace[item.NodeId]) del(self._aspace[item.NodeId]) return ua.StatusCode() def _delete_node_callbacks(self, nodedata): if ua.AttributeIds.Value in nodedata.attributes: for handle, callback in nodedata.attributes[ua.AttributeIds.Value].datachange_callbacks.items(): try: callback(handle, None, ua.StatusCode(ua.StatusCodes.BadNodeIdUnknown)) self._aspace.delete_datachange_callback(handle) except Exception as ex: self.logger.exception("Error calling delete node callback callback %s, %s, %s", nodedata, ua.AttributeIds.Value, ex) def add_references(self, refs, user=User.Admin): result = [] for ref in refs: result.append(self._add_reference(ref, user)) return result def _add_reference(self, addref, user): if addref.SourceNodeId not in self._aspace: return ua.StatusCode(ua.StatusCodes.BadSourceNodeIdInvalid) if addref.TargetNodeId not in self._aspace: return ua.StatusCode(ua.StatusCodes.BadTargetNodeIdInvalid) if user != User.Admin: return ua.StatusCode(ua.StatusCodes.BadUserAccessDenied) rdesc = ua.ReferenceDescription() rdesc.ReferenceTypeId = addref.ReferenceTypeId rdesc.IsForward = addref.IsForward rdesc.NodeId = addref.TargetNodeId rdesc.NodeClass = addref.TargetNodeClass bname = self._aspace.get_attribute_value(addref.TargetNodeId, ua.AttributeIds.BrowseName).Value.Value if bname: rdesc.BrowseName = bname dname = self._aspace.get_attribute_value(addref.TargetNodeId, ua.AttributeIds.DisplayName).Value.Value if dname: rdesc.DisplayName = dname self._aspace[addref.SourceNodeId].references.append(rdesc) return ua.StatusCode() def delete_references(self, refs, user=User.Admin): result = [] for ref in refs: result.append(self._delete_reference(ref, user)) return result def _delete_reference(self, item, user): if item.SourceNodeId not in self._aspace: return ua.StatusCode(ua.StatusCodes.BadSourceNodeIdInvalid) if item.TargetNodeId not in self._aspace: return ua.StatusCode(ua.StatusCodes.BadTargetNodeIdInvalid) if user != User.Admin: return ua.StatusCode(ua.StatusCodes.BadUserAccessDenied) for rdesc in self._aspace[item.SourceNodeId].references: if rdesc.NodeId is item.TargetNodeId: if rdesc.RefrenceTypeId != item.RefrenceTypeId: return ua.StatusCode(ua.StatusCodes.BadReferenceTypeIdInvalid) if rdesc.IsForward == item.IsForward or item.DeleteBidirectional: self._aspace[item.SourceNodeId].references.remove(rdesc) for rdesc in self._aspace[item.TargetNodeId].references: if rdesc.NodeId is item.SourceNodeId: if rdesc.RefrenceTypeId != item.RefrenceTypeId: return ua.StatusCode(ua.StatusCodes.BadReferenceTypeIdInvalid) if rdesc.IsForward == item.IsForward or item.DeleteBidirectional: self._aspace[item.SourceNodeId].references.remove(rdesc) return ua.StatusCode() def _add_node_attr(self, item, nodedata, name, vtype=None): if item.SpecifiedAttributes & getattr(ua.NodeAttributesMask, name): dv = ua.DataValue(ua.Variant(getattr(item, name), vtype)) dv.ServerTimestamp = datetime.utcnow() dv.SourceTimestamp = datetime.utcnow() nodedata.attributes[getattr(ua.AttributeIds, name)] = AttributeValue(dv) def _add_nodeattributes(self, item, nodedata): self._add_node_attr(item, nodedata, "AccessLevel", ua.VariantType.Byte) self._add_node_attr(item, nodedata, "ArrayDimensions", ua.VariantType.UInt32) self._add_node_attr(item, nodedata, "BrowseName", ua.VariantType.QualifiedName) self._add_node_attr(item, nodedata, "ContainsNoLoops", ua.VariantType.Boolean) self._add_node_attr(item, nodedata, "DataType", ua.VariantType.NodeId) self._add_node_attr(item, nodedata, "Description", ua.VariantType.LocalizedText) self._add_node_attr(item, nodedata, "DisplayName", ua.VariantType.LocalizedText) self._add_node_attr(item, nodedata, "EventNotifier", ua.VariantType.Byte) self._add_node_attr(item, nodedata, "Executable", ua.VariantType.Boolean) self._add_node_attr(item, nodedata, "Historizing", ua.VariantType.Boolean) self._add_node_attr(item, nodedata, "InverseName", ua.VariantType.LocalizedText) self._add_node_attr(item, nodedata, "IsAbstract", ua.VariantType.Boolean) self._add_node_attr(item, nodedata, "MinimumSamplingInterval", ua.VariantType.Double) self._add_node_attr(item, nodedata, "NodeClass", ua.VariantType.UInt32) self._add_node_attr(item, nodedata, "NodeId", ua.VariantType.NodeId) self._add_node_attr(item, nodedata, "Symmetric", ua.VariantType.Boolean) self._add_node_attr(item, nodedata, "UserAccessLevel", ua.VariantType.Byte) self._add_node_attr(item, nodedata, "UserExecutable", ua.VariantType.Boolean) self._add_node_attr(item, nodedata, "UserWriteMask", ua.VariantType.Byte) self._add_node_attr(item, nodedata, "ValueRank", ua.VariantType.Int32) self._add_node_attr(item, nodedata, "WriteMask", ua.VariantType.UInt32) self._add_node_attr(item, nodedata, "UserWriteMask", ua.VariantType.UInt32) self._add_node_attr(item, nodedata, "Value") class MethodService(object): def __init__(self, aspace): self.logger = logging.getLogger(__name__) self._aspace = aspace def call(self, methods): results = [] for method in methods: results.append(self._call(method)) return results def _call(self, method): res = ua.CallMethodResult() if method.ObjectId not in self._aspace or method.MethodId not in self._aspace: res.StatusCode = ua.StatusCode(ua.StatusCodes.BadNodeIdInvalid) else: node = self._aspace[method.MethodId] if node.call is None: res.StatusCode = ua.StatusCode(ua.StatusCodes.BadNothingToDo) else: try: res.OutputArguments = node.call(method.ObjectId, *method.InputArguments) for _ in method.InputArguments: res.InputArgumentResults.append(ua.StatusCode()) except Exception: self.logger.exception("Error executing method call %s, an exception was raised: ", method) res.StatusCode = ua.StatusCode(ua.StatusCodes.BadUnexpectedError) return res class AddressSpace(object): """ The address space object stores all the nodes of the OPC-UA server and helper methods. The methods are thread safe """ def __init__(self): self.logger = logging.getLogger(__name__) self._nodes = {} self._lock = RLock() # FIXME: should use multiple reader, one writter pattern self._datachange_callback_counter = 200 self._handle_to_attribute_map = {} self._default_idx = 2 self._nodeid_counter = {0: 20000, 1: 2000} def __getitem__(self, nodeid): with self._lock: if nodeid in self._nodes: return self._nodes.__getitem__(nodeid) def __setitem__(self, nodeid, value): with self._lock: return self._nodes.__setitem__(nodeid, value) def __contains__(self, nodeid): with self._lock: return self._nodes.__contains__(nodeid) def __delitem__(self, nodeid): with self._lock: self._nodes.__delitem__(nodeid) def generate_nodeid(self, idx=None): if idx is None: idx = self._default_idx if idx in self._nodeid_counter: self._nodeid_counter[idx] += 1 else: self._nodeid_counter[idx] = 1 nodeid = ua.NodeId(self._nodeid_counter[idx], idx) with self._lock: # OK since reentrant lock while True: if nodeid in self._nodes: nodeid = self.generate_nodeid(idx) else: return nodeid def keys(self): with self._lock: return self._nodes.keys() def empty(self): """ Delete all nodes in address space """ with self._lock: self._nodes = {} def dump(self, path): """ Dump address space as binary to file; note that server must be stopped for this method to work DO NOT DUMP AN ADDRESS SPACE WHICH IS USING A SHELF (load_aspace_shelf), ONLY CACHED NODES WILL GET DUMPED! """ # prepare nodes in address space for being serialized for nodeid, ndata in self._nodes.items(): # if the node has a reference to a method call, remove it so the object can be serialized if ndata.call is not None: self._nodes[nodeid].call = None with open(path, 'wb') as f: pickle.dump(self._nodes, f, pickle.HIGHEST_PROTOCOL) def load(self, path): """ Load address space from a binary file, overwriting everything in the current address space """ with open(path, 'rb') as f: self._nodes = pickle.load(f) def make_aspace_shelf(self, path): """ Make a shelf for containing the nodes from the standard address space; this is typically only done on first start of the server. Subsequent server starts will load the shelf, nodes are then moved to a cache by the LazyLoadingDict class when they are accessed. Saving data back to the shelf is currently NOT supported, it is only used for the default OPC UA standard address space Note: Intended for slow devices, such as Raspberry Pi, to greatly improve start up time """ s = shelve.open(path, "n", protocol=pickle.HIGHEST_PROTOCOL) for nodeid, ndata in self._nodes.items(): s[nodeid.to_string()] = ndata s.close() def load_aspace_shelf(self, path): """ Load the standard address space nodes from a python shelve via LazyLoadingDict as needed. The dump() method can no longer be used if the address space is being loaded from a shelf Note: Intended for slow devices, such as Raspberry Pi, to greatly improve start up time """ class LazyLoadingDict(collections.MutableMapping): """ Special dict that only loads nodes as they are accessed. If a node is accessed it gets copied from the shelve to the cache dict. All user nodes are saved in the cache ONLY. Saving data back to the shelf is currently NOT supported """ def __init__(self, source): self.source = source # python shelf self.cache = {} # internal dict def __getitem__(self, key): # try to get the item (node) from the cache, if it isn't there get it from the shelf try: return self.cache[key] except KeyError: node = self.cache[key] = self.source[key.to_string()] return node def __setitem__(self, key, value): # add a new item to the cache; if this item is in the shelf it is not updated self.cache[key] = value def __contains__(self, key): return key in self.cache or key.to_string() in self.source def __delitem__(self, key): # only deleting items from the cache is allowed del self.cache[key] def __iter__(self): # only the cache can be iterated over return iter(self.cache.keys()) def __len__(self): # only returns the length of items in the cache, not unaccessed items in the shelf return len(self.cache) self._nodes = LazyLoadingDict(shelve.open(path, "r")) def get_attribute_value(self, nodeid, attr): with self._lock: self.logger.debug("get attr val: %s %s", nodeid, attr) if nodeid not in self._nodes: dv = ua.DataValue() dv.StatusCode = ua.StatusCode(ua.StatusCodes.BadNodeIdUnknown) return dv node = self._nodes[nodeid] if attr not in node.attributes: dv = ua.DataValue() dv.StatusCode = ua.StatusCode(ua.StatusCodes.BadAttributeIdInvalid) return dv attval = node.attributes[attr] if attval.value_callback: return attval.value_callback() return attval.value def set_attribute_value(self, nodeid, attr, value): with self._lock: self.logger.debug("set attr val: %s %s %s", nodeid, attr, value) if nodeid not in self._nodes: return ua.StatusCode(ua.StatusCodes.BadNodeIdUnknown) node = self._nodes[nodeid] if attr not in node.attributes: return ua.StatusCode(ua.StatusCodes.BadAttributeIdInvalid) if not value.SourceTimestamp: value.SourceTimestamp = datetime.utcnow() if not value.ServerTimestamp: value.ServerTimestamp = datetime.utcnow() attval = node.attributes[attr] old = attval.value attval.value = value cbs = [] if old.Value != value.Value: # only send call callback when a value change has happend cbs = list(attval.datachange_callbacks.items()) for k, v in cbs: try: v(k, value) except Exception as ex: self.logger.exception("Error calling datachange callback %s, %s, %s", k, v, ex) return ua.StatusCode() def add_datachange_callback(self, nodeid, attr, callback): with self._lock: self.logger.debug("set attr callback: %s %s %s", nodeid, attr, callback) if nodeid not in self._nodes: return ua.StatusCode(ua.StatusCodes.BadNodeIdUnknown), 0 node = self._nodes[nodeid] if attr not in node.attributes: return ua.StatusCode(ua.StatusCodes.BadAttributeIdInvalid), 0 attval = node.attributes[attr] self._datachange_callback_counter += 1 handle = self._datachange_callback_counter attval.datachange_callbacks[handle] = callback self._handle_to_attribute_map[handle] = (nodeid, attr) return ua.StatusCode(), handle def delete_datachange_callback(self, handle): with self._lock: nodeid, attr = self._handle_to_attribute_map.pop(handle) self._nodes[nodeid].attributes[attr].datachange_callbacks.pop(handle) def add_method_callback(self, methodid, callback): with self._lock: node = self._nodes[methodid] node.call = callback python-opcua-0.90.3/opcua/server/binary_server_asyncio.py000066400000000000000000000106411310132730300236120ustar00rootroot00000000000000""" Socket server forwarding request to internal server """ import logging try: # we prefer to use bundles asyncio version, otherwise fallback to trollius import asyncio except ImportError: import trollius as asyncio from opcua import ua from opcua.server.uaprocessor import UaProcessor logger = logging.getLogger(__name__) class BinaryServer(object): def __init__(self, internal_server, hostname, port): self.logger = logging.getLogger(__name__) self.hostname = hostname self.port = port self.iserver = internal_server self.loop = internal_server.loop self._server = None self._policies = [] def set_policies(self, policies): self._policies = policies def start(self): class OPCUAProtocol(asyncio.Protocol): """ instanciated for every connection defined as internal class since it needs access to the internal server object FIXME: find another solution """ iserver = self.iserver loop = self.loop logger = self.logger policies = self._policies def connection_made(self, transport): self.peername = transport.get_extra_info('peername') self.logger.info('New connection from %s', self.peername) self.transport = transport self.processor = UaProcessor(self.iserver, self.transport) self.processor.set_policies(self.policies) self.data = b"" self.iserver.asyncio_transports.append(transport) def connection_lost(self, ex): self.logger.info('Lost connection from %s, %s', self.peername, ex) self.transport.close() self.iserver.asyncio_transports.remove(self.transport) self.processor.close() def data_received(self, data): logger.debug("received %s bytes from socket", len(data)) if self.data: data = self.data + data self.data = b"" self._process_data(data) def _process_data(self, data): buf = ua.utils.Buffer(data) while True: try: backup_buf = buf.copy() try: hdr = ua.Header.from_string(buf) except ua.utils.NotEnoughData: logger.info("We did not receive enough data from client, waiting for more") self.data = backup_buf.read(len(backup_buf)) return if len(buf) < hdr.body_size: logger.info("We did not receive enough data from client, waiting for more") self.data = backup_buf.read(len(backup_buf)) return ret = self.processor.process(hdr, buf) if not ret: logger.info("processor returned False, we close connection from %s", self.peername) self.transport.close() return if len(buf) == 0: return except Exception: logger.exception("Exception raised while parsing message from client, closing") return coro = self.loop.create_server(OPCUAProtocol, self.hostname, self.port) self._server = self.loop.run_coro_and_wait(coro) # get the port and the hostname from the created server socket # only relevant for dynamic port asignment (when self.port == 0) if self.port == 0 and len(self._server.sockets) == 1: # will work for AF_INET and AF_INET6 socket names # these are to only families supported by the create_server call sockname = self._server.sockets[0].getsockname() self.hostname = sockname[0] self.port = sockname[1] print('Listening on {0}:{1}'.format(self.hostname, self.port)) def stop(self): self.logger.info("Closing asyncio socket server") for transport in self.iserver.asyncio_transports: transport.close() self.loop.call_soon(self._server.close) self.loop.run_coro_and_wait(self._server.wait_closed()) python-opcua-0.90.3/opcua/server/event_generator.py000066400000000000000000000075501310132730300224070ustar00rootroot00000000000000import logging from datetime import datetime import uuid from opcua import ua from opcua import Node from opcua.common import events from opcua.common import event_objects class EventGenerator(object): """ Create an event based on an event type. Per default is BaseEventType used. Object members are dynamically created from the base event type and send to client when evebt is triggered (see example code in source) Arguments to constructor are: server: The InternalSession object to use for query and event triggering source: The emiting source for the node, either an objectId, NodeId or a Node etype: The event type, either an objectId, a NodeId or a Node object """ def __init__(self, isession, etype=None, source=ua.ObjectIds.Server): if not etype: etype = event_objects.BaseEvent() self.logger = logging.getLogger(__name__) self.isession = isession self.event = None node = None if isinstance(etype, event_objects.BaseEvent): self.event = etype elif isinstance(etype, Node): node = etype elif isinstance(etype, ua.NodeId): node = Node(self.isession, etype) else: node = Node(self.isession, ua.NodeId(etype)) if node: self.event = events.get_event_obj_from_type_node(node) if isinstance(source, Node): pass elif isinstance(source, ua.NodeId): source = Node(isession, source) else: source = Node(isession, ua.NodeId(source)) if self.event.SourceNode: if source.nodeid != self.event.SourceNode: self.logger.warning( "Source NodeId: '%s' and event SourceNode: '%s' are not the same. Using '%s' as SourceNode", str(source.nodeid), str(self.event.SourceNode), str(self.event.SourceNode)) source = Node(self.isession, self.event.SourceNode) self.event.SourceNode = source.nodeid self.event.SourceName = source.get_browse_name().Name source.set_event_notifier([ua.EventNotifier.SubscribeToEvents, ua.EventNotifier.HistoryRead]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId(ua.ObjectIds.GeneratesEvent) ref.SourceNodeId = source.nodeid ref.TargetNodeClass = ua.NodeClass.ObjectType ref.TargetNodeId = self.event.EventType refs.append(ref) results = self.isession.add_references(refs) # result.StatusCode.check() def __str__(self): return "EventGenerator(Type:{0}, Source:{1}, Time:{2}, Message: {3})".format(self.event.EventType, self.event.SourceNode, self.event.Time, self.event.Message) __repr__ = __str__ def trigger(self, time=None, message=None): """ Trigger the event. This will send a notification to all subscribed clients """ self.event.EventId = ua.Variant(uuid.uuid4().hex, ua.VariantType.ByteString) if time: self.event.Time = time else: self.event.Time = datetime.utcnow() self.event.ReceiveTime = datetime.utcnow() # FIXME: LocalTime is wrong but currently know better. For description s. Part 5 page 18 self.event.LocalTime = datetime.utcnow() if message: self.event.Message = ua.LocalizedText(message) elif not self.event.Message: self.event.Message = ua.LocalizedText(Node(self.isession, self.event.SourceNode).get_browse_name().Text) self.isession.subscription_service.trigger_event(self.event) python-opcua-0.90.3/opcua/server/history.py000066400000000000000000000341301310132730300207130ustar00rootroot00000000000000import logging from datetime import timedelta from datetime import datetime from opcua import Subscription from opcua import ua from opcua.common import utils class UaNodeAlreadyHistorizedError(ua.UaError): pass class HistoryStorageInterface(object): """ Interface of a history backend. Must be implemented by backends """ def new_historized_node(self, node_id, period, count=0): """ Called when a new node is to be historized Returns None """ raise NotImplementedError def save_node_value(self, node_id, datavalue): """ Called when the value of a historized node has changed and should be saved in history Returns None """ raise NotImplementedError def read_node_history(self, node_id, start, end, nb_values): """ Called when a client make a history read request for a node if start or end is missing then nb_values is used to limit query nb_values is the max number of values to read. Ignored if 0 Start time and end time are inclusive Returns a list of DataValues and a continuation point which is None if all nodes are read or the ServerTimeStamp of the last rejected DataValue """ raise NotImplementedError def new_historized_event(self, source_id, evtypes, period, count=0): """ Called when historization of events is enabled on server side Returns None """ raise NotImplementedError def save_event(self, event): """ Called when a new event has been generated ans should be saved in history Returns None """ raise NotImplementedError def read_event_history(self, source_id, start, end, nb_values, evfilter): """ Called when a client make a history read request for events Start time and end time are inclusive Returns a list of Events and a continuation point which is None if all events are read or the ServerTimeStamp of the last rejected event """ raise NotImplementedError def stop(self): """ Called when the server shuts down Can be used to close database connections etc. """ raise NotImplementedError class HistoryDict(HistoryStorageInterface): """ Very minimal history backend storing data in memory using a Python dictionary """ def __init__(self): self._datachanges = {} self._datachanges_period = {} self._events = {} self._events_periods = {} def new_historized_node(self, node_id, period, count=0): if node_id in self._datachanges: raise UaNodeAlreadyHistorizedError(node_id) self._datachanges[node_id] = [] self._datachanges_period[node_id] = period, count def save_node_value(self, node_id, datavalue): data = self._datachanges[node_id] period, count = self._datachanges_period[node_id] data.append(datavalue) now = datetime.utcnow() if period: while len(data) and now - data[0].ServerTimestamp > period: data.pop(0) if count and len(data) > count: data.pop(0) def read_node_history(self, node_id, start, end, nb_values): cont = None if node_id not in self._datachanges: print("Error attempt to read history for a node which is not historized") return [], cont else: if start is None: start = ua.get_win_epoch() if end is None: end = ua.get_win_epoch() if start == ua.get_win_epoch(): results = [dv for dv in reversed(self._datachanges[node_id]) if start <= dv.ServerTimestamp] elif end == ua.get_win_epoch(): results = [dv for dv in self._datachanges[node_id] if start <= dv.ServerTimestamp] elif start > end: results = [dv for dv in reversed(self._datachanges[node_id]) if end <= dv.ServerTimestamp <= start] else: results = [dv for dv in self._datachanges[node_id] if start <= dv.ServerTimestamp <= end] if nb_values and len(results) > nb_values: cont = results[nb_values + 1].ServerTimestamp results = results[:nb_values] return results, cont def new_historized_event(self, source_id, evtypes, period, count=0): if source_id in self._events: raise UaNodeAlreadyHistorizedError(source_id) self._events[source_id] = [] self._events_periods[source_id] = period, count def save_event(self, event): evts = self._events[event.SourceNode] evts.append(event) period, count = self._events_periods[event.SourceNode] now = datetime.utcnow() if period: while len(evts) and now - evts[0].ServerTimestamp > period: evts.pop(0) if count and len(evts) > count: evts.pop(0) def read_event_history(self, source_id, start, end, nb_values, evfilter): cont = None if source_id not in self._events: print("Error attempt to read event history for a node which does not historize events") return [], cont else: if start is None: start = ua.get_win_epoch() if end is None: end = ua.get_win_epoch() if start == ua.get_win_epoch(): results = [ev for ev in reversed(self._events[source_id]) if start <= ev.Time] elif end == ua.get_win_epoch(): results = [ev for ev in self._events[source_id] if start <= ev.Time] elif start > end: results = [ev for ev in reversed(self._events[source_id]) if end <= ev.Time <= start] else: results = [ev for ev in self._events[source_id] if start <= ev.Time <= end] if nb_values and len(results) > nb_values: cont = results[nb_values + 1].Time results = results[:nb_values] return results, cont def stop(self): pass class SubHandler(object): def __init__(self, storage): self.storage = storage def datachange_notification(self, node, val, data): self.storage.save_node_value(node.nodeid, data.monitored_item.Value) def event_notification(self, event): self.storage.save_event(event) class HistoryManager(object): def __init__(self, iserver): self.logger = logging.getLogger(__name__) self.iserver = iserver self.storage = HistoryDict() self._sub = None self._handlers = {} def set_storage(self, storage): """ set the desired HistoryStorageInterface which History Manager will use for historizing """ self.storage = storage def _create_subscription(self, handler): params = ua.CreateSubscriptionParameters() params.RequestedPublishingInterval = 10 params.RequestedLifetimeCount = 3000 params.RequestedMaxKeepAliveCount = 10000 params.MaxNotificationsPerPublish = 0 params.PublishingEnabled = True params.Priority = 0 return Subscription(self.iserver.isession, params, handler) def historize_data_change(self, node, period=timedelta(days=7), count=0): """ Subscribe to the nodes' data changes and store the data in the active storage. """ if not self._sub: self._sub = self._create_subscription(SubHandler(self.storage)) if node in self._handlers: raise ua.UaError("Node {0} is already historized".format(node)) self.storage.new_historized_node(node.nodeid, period, count) handler = self._sub.subscribe_data_change(node) self._handlers[node] = handler def historize_event(self, source, period=timedelta(days=7), count=0): """ Subscribe to the source nodes' events and store the data in the active storage. SQL Implementation The default is to historize every event type the source generates, custom event properties are included. At this time there is no way to historize a specific event type. The user software can filter out events which are not desired when reading. Note that adding custom events to a source node AFTER historizing has been activated is not supported at this time (in SQL history there will be no columns in the SQL table for the new event properties). For SQL The table must be deleted manually so that a new table with the custom event fields can be created. """ if not self._sub: self._sub = self._create_subscription(SubHandler(self.storage)) if source in self._handlers: raise ua.UaError("Events from {0} are already historized".format(source)) # get list of all event types that the source node generates; change this to only historize specific events event_types = source.get_referenced_nodes(ua.ObjectIds.GeneratesEvent) self.storage.new_historized_event(source.nodeid, event_types, period, count) handler = self._sub.subscribe_events(source, event_types) self._handlers[source] = handler def dehistorize(self, node): """ Remove subscription to the node/source which is being historized SQL Implementation Only the subscriptions is removed. The historical data remains. """ if node in self._handlers: self._sub.unsubscribe(self._handlers[node]) del(self._handlers[node]) else: self.logger.error("History Manager isn't subscribed to %s", node) def read_history(self, params): """ Read history for a node This is the part AttributeService, but implemented as its own service since it requires more logic than other attribute service methods """ results = [] for rv in params.NodesToRead: res = self._read_history(params.HistoryReadDetails, rv) results.append(res) return results def _read_history(self, details, rv): """ determine if the history read is for a data changes or events; then read the history for that node """ result = ua.HistoryReadResult() if isinstance(details, ua.ReadRawModifiedDetails): if details.IsReadModified: result.HistoryData = ua.HistoryModifiedData() # we do not support modified history by design so we return what we have else: result.HistoryData = ua.HistoryData() dv, cont = self._read_datavalue_history(rv, details) result.HistoryData.DataValues = dv result.ContinuationPoint = cont elif isinstance(details, ua.ReadEventDetails): result.HistoryData = ua.HistoryEvent() # FIXME: filter is a cumbersome type, maybe transform it something easier # to handle for storage ev, cont = self._read_event_history(rv, details) result.HistoryData.Events = ev result.ContinuationPoint = cont else: # we do not currently support the other types, clients can process data themselves result.StatusCode = ua.StatusCode(ua.StatusCodes.BadNotImplemented) return result def _read_datavalue_history(self, rv, details): starttime = details.StartTime if rv.ContinuationPoint: # Spec says we should ignore details if cont point is present # but they also say we can use cont point as timestamp to enable stateless # implementation. This is contradictory, so we assume details is # send correctly with continuation point starttime = ua.ua_binary.Primitives.DateTime.unpack(utils.Buffer(rv.ContinuationPoint)) dv, cont = self.storage.read_node_history(rv.NodeId, starttime, details.EndTime, details.NumValuesPerNode) if cont: cont = ua.ua_binary.Primitives.DateTime.pack(cont) # rv.IndexRange # rv.DataEncoding # xml or binary, seems spec say we can ignore that one return dv, cont def _read_event_history(self, rv, details): starttime = details.StartTime if rv.ContinuationPoint: # Spec says we should ignore details if cont point is present # but they also say we can use cont point as timestamp to enable stateless # implementation. This is contradictory, so we assume details is # send correctly with continuation point starttime = ua.ua_binary.Primitives.DateTime.unpack(utils.Buffer(rv.ContinuationPoint)) evts, cont = self.storage.read_event_history(rv.NodeId, starttime, details.EndTime, details.NumValuesPerNode, details.Filter) results = [] for ev in evts: field_list = ua.HistoryEventFieldList() field_list.EventFields = ev.to_event_fields(details.Filter.SelectClauses) results.append(field_list) if cont: cont = ua.ua_binary.Primitives.DateTime.pack(cont) return results, cont def update_history(self, params): """ Update history for a node This is the part AttributeService, but implemented as its own service since it requires more logic than other attribute service methods """ results = [] for _ in params.HistoryUpdateDetails: result = ua.HistoryUpdateResult() # we do not accept to rewrite history result.StatusCode = ua.StatusCode(ua.StatusCodes.BadNotWritable) results.append(results) return results def stop(self): """ call stop methods of active storage interface whenever the server is stopped """ self.storage.stop() python-opcua-0.90.3/opcua/server/history_sql.py000066400000000000000000000334441310132730300216010ustar00rootroot00000000000000import logging from datetime import timedelta from datetime import datetime from threading import Lock import sqlite3 from opcua import ua from opcua.common.utils import Buffer from opcua.common import events from opcua.server.history import HistoryStorageInterface class HistorySQLite(HistoryStorageInterface): """ history backend which stores data values and object events in a SQLite database this backend is intended to only be accessed via OPC UA, therefore all UA Variants saved in the history database are in binary format (SQLite BLOBs) note that PARSE_DECLTYPES is active so certain data types (such as datetime) will not be BLOBs """ def __init__(self, path="history.db"): self.logger = logging.getLogger(__name__) self._datachanges_period = {} self._db_file = path self._lock = Lock() self._event_fields = {} self._conn = sqlite3.connect(self._db_file, detect_types=sqlite3.PARSE_DECLTYPES, check_same_thread=False) def new_historized_node(self, node_id, period, count=0): with self._lock: _c_new = self._conn.cursor() table = self._get_table_name(node_id) self._datachanges_period[node_id] = period, count # create a table for the node which will store attributes of the DataValue object # note: Value/VariantType TEXT is only for human reading, the actual data is stored in VariantBinary column try: _c_new.execute('CREATE TABLE "{tn}" (_Id INTEGER PRIMARY KEY NOT NULL,' ' ServerTimestamp TIMESTAMP,' ' SourceTimestamp TIMESTAMP,' ' StatusCode INTEGER,' ' Value TEXT,' ' VariantType TEXT,' ' VariantBinary BLOB)'.format(tn=table)) except sqlite3.Error as e: self.logger.info('Historizing SQL Table Creation Error for %s: %s', node_id, e) self._conn.commit() def save_node_value(self, node_id, datavalue): with self._lock: _c_sub = self._conn.cursor() table = self._get_table_name(node_id) # insert the data change into the database try: _c_sub.execute('INSERT INTO "{tn}" VALUES (NULL, ?, ?, ?, ?, ?, ?)'.format(tn=table), ( datavalue.ServerTimestamp, datavalue.SourceTimestamp, datavalue.StatusCode.value, str(datavalue.Value.Value), datavalue.Value.VariantType.name, sqlite3.Binary(datavalue.Value.to_binary()) ) ) except sqlite3.Error as e: self.logger.error('Historizing SQL Insert Error for %s: %s', node_id, e) self._conn.commit() # get this node's period from the period dict and calculate the limit period, count = self._datachanges_period[node_id] def execute_sql_delete(condition, args): query = ('DELETE FROM "{tn}" WHERE ' + condition).format(tn=table) try: _c_sub.execute(query, args) except sqlite3.Error as e: self.logger.error('Historizing SQL Delete Old Data Error for %s: %s', node_id, e) self._conn.commit() if period: # after the insert, if a period was specified delete all records older than period date_limit = datetime.utcnow() - period execute_sql_delete('ServerTimestamp < ?', (date_limit,)) if count: # ensure that no more than count records are stored for the specified node execute_sql_delete('ServerTimestamp = (SELECT CASE WHEN COUNT(*) > ? ' 'THEN MIN(ServerTimestamp) ELSE NULL END FROM "{tn}")', (count,)) def read_node_history(self, node_id, start, end, nb_values): with self._lock: _c_read = self._conn.cursor() table = self._get_table_name(node_id) start_time, end_time, order, limit = self._get_bounds(start, end, nb_values) cont = None results = [] # select values from the database; recreate UA Variant from binary try: for row in _c_read.execute('SELECT * FROM "{tn}" WHERE "ServerTimestamp" BETWEEN ? AND ? ' 'ORDER BY "_Id" {dir} LIMIT ?'.format(tn=table, dir=order), (start_time, end_time, limit,)): # rebuild the data value object dv = ua.DataValue(ua.Variant.from_binary(Buffer(row[6]))) dv.ServerTimestamp = row[1] dv.SourceTimestamp = row[2] dv.StatusCode = ua.StatusCode(row[3]) results.append(dv) except sqlite3.Error as e: self.logger.error('Historizing SQL Read Error for %s: %s', node_id, e) if nb_values: if len(results) > nb_values: cont = results[nb_values].ServerTimestamp results = results[:nb_values] return results, cont def new_historized_event(self, source_id, evtypes, period, count=0): with self._lock: _c_new = self._conn.cursor() # get all fields for the event type nodes ev_fields = self._get_event_fields(evtypes) self._datachanges_period[source_id] = period self._event_fields[source_id] = ev_fields table = self._get_table_name(source_id) columns = self._get_event_columns(ev_fields) # create a table for the event which will store fields generated by the source object's events # note that _Timestamp is for SQL query, _EventTypeName is for debugging, be careful not to create event # properties with these names try: _c_new.execute( 'CREATE TABLE "{tn}" (_Id INTEGER PRIMARY KEY NOT NULL, _Timestamp TIMESTAMP, _EventTypeName TEXT, {co})' .format(tn=table, co=columns)) except sqlite3.Error as e: self.logger.info('Historizing SQL Table Creation Error for events from %s: %s', source_id, e) self._conn.commit() def save_event(self, event): with self._lock: _c_sub = self._conn.cursor() table = self._get_table_name(event.SourceNode) columns, placeholders, evtup = self._format_event(event) event_type = event.EventType # useful for troubleshooting database # insert the event into the database try: _c_sub.execute( 'INSERT INTO "{tn}" ("_Id", "_Timestamp", "_EventTypeName", {co}) VALUES (NULL, "{ts}", "{et}", {pl})' .format(tn=table, co=columns, ts=event.Time, et=event_type, pl=placeholders), evtup) except sqlite3.Error as e: self.logger.error('Historizing SQL Insert Error for events from %s: %s', event.SourceNode, e) self._conn.commit() # get this node's period from the period dict and calculate the limit period = self._datachanges_period[event.SourceNode] if period: # after the insert, if a period was specified delete all records older than period date_limit = datetime.utcnow() - period try: _c_sub.execute('DELETE FROM "{tn}" WHERE Time < ?'.format(tn=table), (date_limit.isoformat(' '),)) except sqlite3.Error as e: self.logger.error('Historizing SQL Delete Old Data Error for events from %s: %s', event.SourceNode, e) self._conn.commit() def read_event_history(self, source_id, start, end, nb_values, evfilter): with self._lock: _c_read = self._conn.cursor() table = self._get_table_name(source_id) start_time, end_time, order, limit = self._get_bounds(start, end, nb_values) clauses, clauses_str = self._get_select_clauses(source_id, evfilter) cont = None cont_timestamps = [] results = [] # select events from the database; SQL select clause is built from EventFilter and available fields try: for row in _c_read.execute( 'SELECT "_Timestamp", {cl} FROM "{tn}" WHERE "_Timestamp" BETWEEN ? AND ? ORDER BY "_Id" {dir} LIMIT ?' .format(cl=clauses_str, tn=table, dir=order), (start_time, end_time, limit)): fdict = {} cont_timestamps.append(row[0]) for i, field in enumerate(row[1:]): if field is not None: fdict[clauses[i]] = ua.Variant.from_binary(Buffer(field)) else: fdict[clauses[i]] = ua.Variant(None) results.append(events.Event.from_field_dict(fdict)) except sqlite3.Error as e: self.logger.error('Historizing SQL Read Error events for node %s: %s', source_id, e) if nb_values: if len(results) > nb_values: # start > ua.get_win_epoch() and cont = cont_timestamps[nb_values] results = results[:nb_values] return results, cont def _get_table_name(self, node_id): return str(node_id.NamespaceIndex) + '_' + str(node_id.Identifier) def _get_event_fields(self, evtypes): """ Get all fields from the event types that are to be historized Args: evtypes: List of event type nodes Returns: List of fields for all event types """ # get all fields from the event types that are to be historized ev_aggregate_fields = [] for event_type in evtypes: ev_aggregate_fields.extend((events.get_event_properties_from_type_node(event_type))) ev_fields = [] for field in set(ev_aggregate_fields): ev_fields.append(field.get_display_name().Text.decode(encoding='utf-8')) return ev_fields @staticmethod def _get_bounds(start, end, nb_values): order = "ASC" if start is None or start == ua.get_win_epoch(): order = "DESC" start = ua.get_win_epoch() if end is None or end == ua.get_win_epoch(): end = datetime.utcnow() + timedelta(days=1) if start < end: start_time = start.isoformat(' ') end_time = end.isoformat(' ') else: order = "DESC" start_time = end.isoformat(' ') end_time = start.isoformat(' ') if nb_values: limit = nb_values + 1 # add 1 to the number of values for retrieving a continuation point else: limit = -1 # in SQLite a LIMIT of -1 returns all results return start_time, end_time, order, limit def _format_event(self, event): """ Convert an event object triggered by the subscription into ordered lists for the SQL insert string Args: event: The event returned by the subscription Returns: List of event fields (SQL column names), List of '?' placeholders, Tuple of variant binaries """ placeholders = [] ev_variant_binaries = [] ev_variant_dict = event.get_event_props_as_fields_dict() names = list(ev_variant_dict.keys()) names.sort() # sort alphabetically since dict is not sorted # split dict into two synchronized lists which will be converted to SQL strings # note that the variants are converted to binary objects for storing in SQL BLOB format for name in names: variant = ev_variant_dict[name] placeholders.append('?') ev_variant_binaries.append(sqlite3.Binary(variant.to_binary())) return self._list_to_sql_str(names), self._list_to_sql_str(placeholders, False), tuple(ev_variant_binaries) def _get_event_columns(self, ev_fields): fields = [] for field in ev_fields: fields.append(field + ' BLOB') return self._list_to_sql_str(fields, False) def _get_select_clauses(self, source_id, evfilter): s_clauses = [] for select_clause in evfilter.SelectClauses: try: if not select_clause.BrowsePath: s_clauses.append(select_clause.Attribute.name) else: name = select_clause.BrowsePath[0].Name s_clauses.append(name) except AttributeError: self.logger.warning('Historizing SQL OPC UA Select Clause Warning for node %s,' ' Clause: %s:', source_id, select_clause) # remove select clauses that the event type doesn't have; SQL will error because the column doesn't exist clauses = [x for x in s_clauses if x in self._event_fields[source_id]] return clauses, self._list_to_sql_str(clauses) @staticmethod def _list_to_sql_str(ls, quotes=True): sql_str = '' for item in ls: if quotes: sql_str += '"' + item + '", ' else: sql_str += item + ', ' return sql_str[:-2] # remove trailing space and comma for SQL syntax def stop(self): with self._lock: self._conn.close() self.logger.info('Historizing SQL connection closed') python-opcua-0.90.3/opcua/server/internal_server.py000066400000000000000000000364671310132730300224330ustar00rootroot00000000000000""" Internal server implementing opcu-ua interface. Can be used on server side or to implement binary/https opc-ua servers """ from datetime import datetime from copy import copy, deepcopy from datetime import timedelta from os import path import logging from threading import Lock from enum import Enum try: from urllib.parse import urlparse except ImportError: from urlparse import urlparse from opcua import ua from opcua.common import utils from opcua.common.callback import (CallbackType, ServerItemCallback, CallbackDispatcher) from opcua.common.node import Node from opcua.server.history import HistoryManager from opcua.server.address_space import AddressSpace from opcua.server.address_space import AttributeService from opcua.server.address_space import ViewService from opcua.server.address_space import NodeManagementService from opcua.server.address_space import MethodService from opcua.server.subscription_service import SubscriptionService from opcua.server.standard_address_space import standard_address_space from opcua.server.users import User from opcua.common import xmlimporter class SessionState(Enum): Created = 0 Activated = 1 Closed = 2 class ServerDesc(object): def __init__(self, serv, cap=None): self.Server = serv self.Capabilities = cap class InternalServer(object): def __init__(self, shelffile=None): self.logger = logging.getLogger(__name__) self.server_callback_dispatcher = CallbackDispatcher() self.endpoints = [] self._channel_id_counter = 5 self.allow_remote_admin = True self.disabled_clock = False # for debugging we may want to disable clock that writes too much in log self._known_servers = {} # used if we are a discovery server self.aspace = AddressSpace() self.attribute_service = AttributeService(self.aspace) self.view_service = ViewService(self.aspace) self.method_service = MethodService(self.aspace) self.node_mgt_service = NodeManagementService(self.aspace) self.load_standard_address_space(shelffile) self.loop = utils.ThreadLoop() self.asyncio_transports = [] self.subscription_service = SubscriptionService(self.loop, self.aspace) self.history_manager = HistoryManager(self) # create a session to use on server side self.isession = InternalSession(self, self.aspace, self.subscription_service, "Internal", user=User.Admin) self.current_time_node = Node(self.isession, ua.NodeId(ua.ObjectIds.Server_ServerStatus_CurrentTime)) self.setup_nodes() def setup_nodes(self): """ Set up some nodes as defined by spec """ uries = ["http://opcfoundation.org/UA/"] ns_node = Node(self.isession, ua.NodeId(ua.ObjectIds.Server_NamespaceArray)) ns_node.set_value(uries) def load_standard_address_space(self, shelffile=None): # check for a python shelf file, in windows the file extension is also needed for the check shelffile_win = shelffile if shelffile_win: shelffile_win += ".dat" if shelffile and (path.isfile(shelffile) or path.isfile(shelffile_win)): # import address space from shelf self.aspace.load_aspace_shelf(shelffile) else: # import address space from code generated from xml standard_address_space.fill_address_space(self.node_mgt_service) # import address space directly from xml, this has performance impact so disabled # importer = xmlimporter.XmlImporter(self.node_mgt_service) # importer.import_xml("/path/to/python-opcua/schemas/Opc.Ua.NodeSet2.xml", self) # if a cache file was supplied a shelve of the standard address space can now be built for next start up if shelffile: self.aspace.make_aspace_shelf(shelffile) def load_address_space(self, path): """ Load address space from path """ self.aspace.load(path) def dump_address_space(self, path): """ Dump current address space to path """ self.aspace.dump(path) def start(self): self.logger.info("starting internal server") for edp in self.endpoints: self._known_servers[edp.Server.ApplicationUri] = ServerDesc(edp.Server) self.loop.start() Node(self.isession, ua.NodeId(ua.ObjectIds.Server_ServerStatus_State)).set_value(0, ua.VariantType.Int32) Node(self.isession, ua.NodeId(ua.ObjectIds.Server_ServerStatus_StartTime)).set_value(datetime.utcnow()) if not self.disabled_clock: self._set_current_time() def stop(self): self.logger.info("stopping internal server") self.isession.close_session() self.loop.stop() self.history_manager.stop() def _set_current_time(self): self.current_time_node.set_value(datetime.utcnow()) self.loop.call_later(1, self._set_current_time) def get_new_channel_id(self): self._channel_id_counter += 1 return self._channel_id_counter def add_endpoint(self, endpoint): self.endpoints.append(endpoint) def get_endpoints(self, params=None, sockname=None): self.logger.info("get endpoint") if sockname: # return to client the ip address it has access to edps = [] for edp in self.endpoints: edp1 = copy(edp) url = urlparse(edp1.EndpointUrl) url = url._replace(netloc=sockname[0] + ":" + str(sockname[1])) edp1.EndpointUrl = url.geturl() edps.append(edp1) return edps return self.endpoints[:] def find_servers(self, params): if not params.ServerUris: return [desc.Server for desc in self._known_servers.values()] servers = [] for serv in self._known_servers.values(): serv_uri = serv.Server.ApplicationUri.split(":") for uri in params.ServerUris: uri = uri.split(":") if serv_uri[:len(uri)] == uri: servers.append(serv.Server) break return servers def register_server(self, server, conf=None): appdesc = ua.ApplicationDescription() appdesc.ApplicationUri = server.ServerUri appdesc.ProductUri = server.ProductUri # FIXME: select name from client locale appdesc.ApplicationName = server.ServerNames[0] appdesc.ApplicationType = server.ServerType appdesc.DiscoveryUrls = server.DiscoveryUrls # FIXME: select discovery uri using reachability from client network appdesc.GatewayServerUri = server.GatewayServerUri self._known_servers[server.ServerUri] = ServerDesc(appdesc, conf) def register_server2(self, params): return self.register_server(params.Server, params.DiscoveryConfiguration) def create_session(self, name, user=User.Anonymous, external=False): return InternalSession(self, self.aspace, self.subscription_service, name, user=user, external=external) def enable_history_data_change(self, node, period=timedelta(days=7), count=0): """ Set attribute Historizing of node to True and start storing data for history """ node.set_attribute(ua.AttributeIds.Historizing, ua.DataValue(True)) node.set_attr_bit(ua.AttributeIds.AccessLevel, ua.AccessLevel.HistoryRead) node.set_attr_bit(ua.AttributeIds.UserAccessLevel, ua.AccessLevel.HistoryRead) self.history_manager.historize_data_change(node, period, count) def disable_history_data_change(self, node): """ Set attribute Historizing of node to False and stop storing data for history """ node.set_attribute(ua.AttributeIds.Historizing, ua.DataValue(False)) node.unset_attr_bit(ua.AttributeIds.AccessLevel, ua.AccessLevel.HistoryRead) node.unset_attr_bit(ua.AttributeIds.UserAccessLevel, ua.AccessLevel.HistoryRead) self.history_manager.dehistorize(node) def enable_history_event(self, source, period=timedelta(days=7), count=0): """ Set attribute History Read of object events to True and start storing data for history """ event_notifier = source.get_event_notifier() if ua.EventNotifier.SubscribeToEvents not in event_notifier: raise ua.UaError("Node does not generate events", event_notifier) if ua.EventNotifier.HistoryRead not in event_notifier: event_notifier.append(ua.EventNotifier.HistoryRead) source.set_event_notifier(event_notifier) self.history_manager.historize_event(source, period, count) def disable_history_event(self, source): """ Set attribute History Read of node to False and stop storing data for history """ source.unset_attr_bit(ua.AttributeIds.EventNotifier, ua.EventNotifier.HistoryRead) self.history_manager.dehistorize(source) def subscribe_server_callback(self, event, handle): """ Create a subscription from event to handle """ self.server_callback_dispatcher.addListener(event, handle) def unsubscribe_server_callback(self, event, handle): """ Remove a subscription from event to handle """ self.server_callback_dispatcher.removeListener(event, handle) class InternalSession(object): _counter = 10 _auth_counter = 1000 def __init__(self, internal_server, aspace, submgr, name, user=User.Anonymous, external=False): self.logger = logging.getLogger(__name__) self.iserver = internal_server self.external = external # define if session is external, we need to copy some objects if it is internal self.aspace = aspace self.subscription_service = submgr self.name = name self.user = user self.nonce = None self.state = SessionState.Created self.session_id = ua.NodeId(self._counter) InternalSession._counter += 1 self.authentication_token = ua.NodeId(self._auth_counter) InternalSession._auth_counter += 1 self.subscriptions = [] self.logger.info("Created internal session %s", self.name) self._lock = Lock() def __str__(self): return "InternalSession(name:{0}, user:{1}, id:{2}, auth_token:{3})".format( self.name, self.user, self.session_id, self.authentication_token) def get_endpoints(self, params=None, sockname=None): return self.iserver.get_endpoints(params, sockname) def create_session(self, params, sockname=None): self.logger.info("Create session request") result = ua.CreateSessionResult() result.SessionId = self.session_id result.AuthenticationToken = self.authentication_token result.RevisedSessionTimeout = params.RequestedSessionTimeout result.MaxRequestMessageSize = 65536 self.nonce = utils.create_nonce(32) result.ServerNonce = self.nonce result.ServerEndpoints = self.get_endpoints(sockname=sockname) return result def close_session(self, delete_subs=True): self.logger.info("close session %s with subscriptions %s", self, self.subscriptions) self.state = SessionState.Closed self.delete_subscriptions(self.subscriptions[:]) def activate_session(self, params): self.logger.info("activate session") result = ua.ActivateSessionResult() if self.state != SessionState.Created: raise utils.ServiceError(ua.StatusCodes.BadSessionIdInvalid) self.nonce = utils.create_nonce(32) result.ServerNonce = self.nonce for _ in params.ClientSoftwareCertificates: result.Results.append(ua.StatusCode()) self.state = SessionState.Activated id_token = params.UserIdentityToken if isinstance(id_token, ua.UserNameIdentityToken): if self.iserver.allow_remote_admin and id_token.UserName in ("admin", "Admin"): self.user = User.Admin self.logger.info("Activated internal session %s for user %s", self.name, self.user) return result def read(self, params): results = self.iserver.attribute_service.read(params) if self.external: return results return [deepcopy(dv) for dv in results] def history_read(self, params): return self.iserver.history_manager.read_history(params) def write(self, params): if not self.external: # If session is internal we need to store a copy og object, not a reference, # otherwise users may change it and we will not generate expected events params.NodesToWrite = [deepcopy(ntw) for ntw in params.NodesToWrite] return self.iserver.attribute_service.write(params, self.user) def browse(self, params): return self.iserver.view_service.browse(params) def translate_browsepaths_to_nodeids(self, params): return self.iserver.view_service.translate_browsepaths_to_nodeids(params) def add_nodes(self, params): return self.iserver.node_mgt_service.add_nodes(params, self.user) def delete_nodes(self, params): return self.iserver.node_mgt_service.delete_nodes(params, self.user) def add_references(self, params): return self.iserver.node_mgt_service.add_references(params, self.user) def delete_references(self, params): return self.iserver.node_mgt_service.delete_references(params, self.user) def add_method_callback(self, methodid, callback): return self.aspace.add_method_callback(methodid, callback) def call(self, params): return self.iserver.method_service.call(params) def create_subscription(self, params, callback): result = self.subscription_service.create_subscription(params, callback) with self._lock: self.subscriptions.append(result.SubscriptionId) return result def create_monitored_items(self, params): subscription_result = self.subscription_service.create_monitored_items(params) self.iserver.server_callback_dispatcher.dispatch( CallbackType.ItemSubscriptionCreated, ServerItemCallback(params, subscription_result)) return subscription_result def modify_monitored_items(self, params): subscription_result = self.subscription_service.modify_monitored_items(params) self.iserver.server_callback_dispatcher.dispatch( CallbackType.ItemSubscriptionModified, ServerItemCallback(params, subscription_result)) return subscription_result def republish(self, params): return self.subscription_service.republish(params) def delete_subscriptions(self, ids): for i in ids: with self._lock: if i in self.subscriptions: self.subscriptions.remove(i) return self.subscription_service.delete_subscriptions(ids) def delete_monitored_items(self, params): subscription_result = self.subscription_service.delete_monitored_items(params) self.iserver.server_callback_dispatcher.dispatch( CallbackType.ItemSubscriptionDeleted, ServerItemCallback(params, subscription_result)) return subscription_result def publish(self, acks=None): if acks is None: acks = [] return self.subscription_service.publish(acks) python-opcua-0.90.3/opcua/server/internal_subscription.py000066400000000000000000000514701310132730300236400ustar00rootroot00000000000000""" server side implementation of a subscription object """ from threading import RLock import logging # import copy # import traceback from opcua import ua class MonitoredItemData(object): def __init__(self): self.client_handle = None self.callback_handle = None self.monitored_item_id = None self.mode = None self.filter = None self.mvalue = MonitoredItemValues() self.where_clause_evaluator = None self.queue_size = 0 class MonitoredItemValues(object): def __init__(self): self.current_value = None self.old_value = None def set_current_value(self, cur_val): self.old_value = self.current_value self.current_value = cur_val def get_current_value(self): return self.current_value def get_old_value(self): return self.old_value class MonitoredItemService(object): """ implement monitoreditem service for 1 subscription """ def __init__(self, isub, aspace): self.logger = logging.getLogger(__name__ + "." + str(isub.data.SubscriptionId)) self.isub = isub self.aspace = aspace self._lock = RLock() self._monitored_items = {} self._monitored_events = {} self._monitored_datachange = {} self._monitored_item_counter = 111 def delete_all_monitored_items(self): self.delete_monitored_items([mdata.monitored_item_id for mdata in self._monitored_items.values()]) def create_monitored_items(self, params): results = [] for item in params.ItemsToCreate: with self._lock: if item.ItemToMonitor.AttributeId == ua.AttributeIds.EventNotifier: result = self._create_events_monitored_item(item) else: result = self._create_data_change_monitored_item(item) results.append(result) return results def modify_monitored_items(self, params): results = [] for item in params.ItemsToModify: results.append(self._modify_monitored_item(item)) return results def trigger_datachange(self, handle, nodeid, attr): self.logger.debug("triggering datachange for handle %s, nodeid %s, and attribute %s", handle, nodeid, attr) variant = self.aspace.get_attribute_value(nodeid, attr) self.datachange_callback(handle, variant) def _modify_monitored_item(self, params): with self._lock: for mdata in self._monitored_items.values(): result = ua.MonitoredItemModifyResult() if mdata.monitored_item_id == params.MonitoredItemId: result.RevisedSamplingInterval = params.RequestedParameters.SamplingInterval result.RevisedQueueSize = params.RequestedParameters.QueueSize if params.RequestedParameters.Filter is not None: mdata.filter = params.RequestedParameters.Filter mdata.queue_size = params.RequestedParameters.QueueSize return result result = ua.MonitoredItemModifyResult() result.StatusCode(ua.StatusCodes.BadMonitoredItemIdInvalid) return result def _commit_monitored_item(self, result, mdata): if result.StatusCode.is_good(): self._monitored_items[result.MonitoredItemId] = mdata self._monitored_item_counter += 1 def _make_monitored_item_common(self, params): result = ua.MonitoredItemCreateResult() result.RevisedSamplingInterval = self.isub.data.RevisedPublishingInterval result.RevisedQueueSize = params.RequestedParameters.QueueSize self._monitored_item_counter += 1 result.MonitoredItemId = self._monitored_item_counter self.logger.debug("Creating MonitoredItem with id %s", result.MonitoredItemId) mdata = MonitoredItemData() mdata.mode = params.MonitoringMode mdata.client_handle = params.RequestedParameters.ClientHandle mdata.monitored_item_id = result.MonitoredItemId mdata.queue_size = params.RequestedParameters.QueueSize mdata.filter = params.RequestedParameters.Filter return result, mdata def _create_events_monitored_item(self, params): self.logger.info("request to subscribe to events for node %s and attribute %s", params.ItemToMonitor.NodeId, params.ItemToMonitor.AttributeId) result, mdata = self._make_monitored_item_common(params) ev_notify_byte = self.aspace.get_attribute_value( params.ItemToMonitor.NodeId, ua.AttributeIds.EventNotifier).Value.Value if ev_notify_byte is None or not ua.ua_binary.test_bit(ev_notify_byte, ua.EventNotifier.SubscribeToEvents): result.StatusCode = ua.StatusCode(ua.StatusCodes.BadServiceUnsupported) return result # result.FilterResult = ua.EventFilterResult() # spec says we can ignore if not error mdata.where_clause_evaluator = WhereClauseEvaluator(self.logger, self.aspace, mdata.filter.WhereClause) self._commit_monitored_item(result, mdata) if params.ItemToMonitor.NodeId not in self._monitored_events: self._monitored_events[params.ItemToMonitor.NodeId] = [] self._monitored_events[params.ItemToMonitor.NodeId].append(result.MonitoredItemId) return result def _create_data_change_monitored_item(self, params): self.logger.info("request to subscribe to datachange for node %s and attribute %s", params.ItemToMonitor.NodeId, params.ItemToMonitor.AttributeId) result, mdata = self._make_monitored_item_common(params) result.FilterResult = params.RequestedParameters.Filter result.StatusCode, handle = self.aspace.add_datachange_callback( params.ItemToMonitor.NodeId, params.ItemToMonitor.AttributeId, self.datachange_callback) self.logger.debug("adding callback return status %s and handle %s", result.StatusCode, handle) mdata.callback_handle = handle self._commit_monitored_item(result, mdata) if result.StatusCode.is_good(): self._monitored_datachange[handle] = result.MonitoredItemId # force data change event generation self.trigger_datachange(handle, params.ItemToMonitor.NodeId, params.ItemToMonitor.AttributeId) return result def delete_monitored_items(self, ids): self.logger.debug("delete monitored items %s", ids) with self._lock: results = [] for mid in ids: results.append(self._delete_monitored_items(mid)) return results def _delete_monitored_items(self, mid): if mid not in self._monitored_items: return ua.StatusCode(ua.StatusCodes.BadMonitoredItemIdInvalid) for k, v in self._monitored_events.items(): if mid in v: v.remove(mid) if not v: self._monitored_events.pop(k) break for k, v in self._monitored_datachange.items(): if v == mid: self.aspace.delete_datachange_callback(k) self._monitored_datachange.pop(k) break self._monitored_items.pop(mid) return ua.StatusCode() def datachange_callback(self, handle, value, error=None): if error: self.logger.info("subscription %s: datachange callback called with handle '%s' and erorr '%s'", self, handle, error) self.trigger_statuschange(error) else: self.logger.info("subscription %s: datachange callback called with handle '%s' and value '%s'", self, handle, value.Value) event = ua.MonitoredItemNotification() with self._lock: mid = self._monitored_datachange[handle] mdata = self._monitored_items[mid] mdata.mvalue.set_current_value(value.Value.Value) if mdata.filter is not None: deadband_flag_pass = self.deadband_callback(mdata.mvalue, mdata.filter) else: deadband_flag_pass = True if deadband_flag_pass: event.ClientHandle = mdata.client_handle event.Value = value self.isub.enqueue_datachange_event(mid, event, mdata.queue_size) def deadband_callback(self, values, flt): ua.DeadbandType.None_ if flt.DeadbandType == ua.DeadbandType.None_ or values.get_old_value() is None: return True elif flt.DeadbandType == ua.DeadbandType.Absolute and \ ((abs(values.get_current_value() - values.get_old_value())) > flt.DeadbandValue): return True elif flt.DeadbandType == ua.DeadbandType.Percent: self.logger.warn("DeadbandType Percent is not implemented !") return True else: return False def trigger_event(self, event): with self._lock: if event.SourceNode not in self._monitored_events: self.logger.debug("%s has no subscription for events %s from node: %s", self, event, event.SourceNode) return False self.logger.debug("%s has subscription for events %s from node: %s", self, event, event.SourceNode) mids = self._monitored_events[event.SourceNode] for mid in mids: self._trigger_event(event, mid) def _trigger_event(self, event, mid): if mid not in self._monitored_items: self.logger.debug("Could not find monitored items for id %s for event %s in subscription %s", mid, event, self) return mdata = self._monitored_items[mid] if not mdata.where_clause_evaluator.eval(event): self.logger.info("%s, %s, Event %s does not fit WhereClause, not generating event", self, mid, event) return fieldlist = ua.EventFieldList() fieldlist.ClientHandle = mdata.client_handle fieldlist.EventFields = event.to_event_fields(mdata.filter.SelectClauses) self.isub.enqueue_event(mid, fieldlist, mdata.queue_size) def trigger_statuschange(self, code): self.isub.enqueue_statuschange(code) class InternalSubscription(object): def __init__(self, subservice, data, addressspace, callback): self.logger = logging.getLogger(__name__) self.aspace = addressspace self.subservice = subservice self.data = data self.callback = callback self.monitored_item_srv = MonitoredItemService(self, addressspace) self.task = None self._lock = RLock() self._triggered_datachanges = {} self._triggered_events = {} self._triggered_statuschanges = [] self._notification_seq = 1 self._not_acknowledged_results = {} self._startup = True self._keep_alive_count = 0 self._publish_cycles_count = 0 self._stopev = False def __str__(self): return "Subscription(id:{0})".format(self.data.SubscriptionId) def start(self): self.logger.debug("starting subscription %s", self.data.SubscriptionId) self._subscription_loop() def stop(self): self.logger.debug("stopping subscription %s", self.data.SubscriptionId) self._stopev = True self.monitored_item_srv.delete_all_monitored_items() def _subscription_loop(self): if not self._stopev: self.subservice.loop.call_later(self.data.RevisedPublishingInterval / 1000.0, self._sub_loop) def _sub_loop(self): if self._stopev: return self.publish_results() self._subscription_loop() def has_published_results(self): with self._lock: if self._startup or self._triggered_datachanges or self._triggered_events: return True if self._keep_alive_count > self.data.RevisedMaxKeepAliveCount: self.logger.debug("keep alive count %s is > than max keep alive count %s, sending publish event", self._keep_alive_count, self.data.RevisedMaxKeepAliveCount) return True self._keep_alive_count += 1 return False def publish_results(self): if self._publish_cycles_count > self.data.RevisedLifetimeCount: self.logger.warning("Subscription %s has expired, publish cycle count(%s) > lifetime count (%s)", self, self._publish_cycles_count, self.data.RevisedLifetimeCount) # FIXME this will never be send since we do not have publish request anyway self.monitored_item_srv.trigger_statuschange(ua.StatusCode(ua.StatusCodes.BadTimeout)) self._stopev = True result = None with self._lock: if self.has_published_results(): # FIXME: should we pop a publish request here? or we do not care? self._publish_cycles_count += 1 result = self._pop_publish_result() if result is not None: self.callback(result) def _pop_publish_result(self): result = ua.PublishResult() result.SubscriptionId = self.data.SubscriptionId self._pop_triggered_datachanges(result) self._pop_triggered_events(result) self._pop_triggered_statuschanges(result) self._keep_alive_count = 0 self._startup = False result.NotificationMessage.SequenceNumber = self._notification_seq if len(result.NotificationMessage.NotificationData) != 0: self._notification_seq += 1 self._not_acknowledged_results[result.NotificationMessage.SequenceNumber] = result result.MoreNotifications = False result.AvailableSequenceNumbers = list(self._not_acknowledged_results.keys()) return result def _pop_triggered_datachanges(self, result): if self._triggered_datachanges: notif = ua.DataChangeNotification() notif.MonitoredItems = [item for sublist in self._triggered_datachanges.values() for item in sublist] self._triggered_datachanges = {} self.logger.debug("sending datachanges notification with %s events", len(notif.MonitoredItems)) result.NotificationMessage.NotificationData.append(notif) def _pop_triggered_events(self, result): if self._triggered_events: notif = ua.EventNotificationList() notif.Events = [item for sublist in self._triggered_events.values() for item in sublist] self._triggered_events = {} result.NotificationMessage.NotificationData.append(notif) self.logger.debug("sending event notification with %s events", len(notif.Events)) def _pop_triggered_statuschanges(self, result): if self._triggered_statuschanges: notif = ua.StatusChangeNotification() notif.Status = self._triggered_statuschanges.pop(0) result.NotificationMessage.NotificationData.append(notif) self.logger.debug("sending event notification %s", notif.Status) def publish(self, acks): self.logger.info("publish request with acks %s", acks) with self._lock: self._publish_cycles_count = 0 for nb in acks: if nb in self._not_acknowledged_results: self._not_acknowledged_results.pop(nb) def republish(self, nb): self.logger.info("re-publish request for ack %s in subscription %s", nb, self) with self._lock: if nb in self._not_acknowledged_results: self.logger.info("re-publishing ack %s in subscription %s", nb, self) return self._not_acknowledged_results[nb].NotificationMessage else: self.logger.info("Error request to re-published non existing ack %s in subscription %s", nb, self) return ua.NotificationMessage() def enqueue_datachange_event(self, mid, eventdata, maxsize): self._enqueue_event(mid, eventdata, maxsize, self._triggered_datachanges) def enqueue_event(self, mid, eventdata, maxsize): self._enqueue_event(mid, eventdata, maxsize, self._triggered_events) def enqueue_statuschange(self, code): self._triggered_statuschanges.append(code) def _enqueue_event(self, mid, eventdata, size, queue): if mid not in queue: queue[mid] = [eventdata] return if size != 0: if len(queue[mid]) >= size: queue[mid].pop(0) queue[mid].append(eventdata) class WhereClauseEvaluator(object): def __init__(self, logger, aspace, whereclause): self.logger = logger self.elements = whereclause.Elements self._aspace = aspace def eval(self, event): if not self.elements: return True # spec says we should only evaluate first element, which may use other elements try: res = self._eval_el(0, event) except Exception as ex: self.logger.exception("Exception while evaluating WhereClause %s for event %s: %s", self.elements, event, ex) return False return res def _eval_el(self, index, event): el = self.elements[index] # ops = [self._eval_op(op, event) for op in el.FilterOperands] ops = el.FilterOperands # just to make code more readable if el.FilterOperator == ua.FilterOperator.Equals: return self._eval_op(ops[0], event) == self._eval_el(ops[1], event) elif el.FilterOperator == ua.FilterOperator.IsNull: return self._eval_op(ops[0], event) is None # FIXME: might be too strict elif el.FilterOperator == ua.FilterOperator.GreaterThan: return self._eval_op(ops[0], event) > self._eval_el(ops[1], event) elif el.FilterOperator == ua.FilterOperator.LessThan: return self._eval_op(ops[0], event) < self._eval_el(ops[1], event) elif el.FilterOperator == ua.FilterOperator.GreaterThanOrEqual: return self._eval_op(ops[0], event) >= self._eval_el(ops[1], event) elif el.FilterOperator == ua.FilterOperator.LessThanOrEqual: return self._eval_op(ops[0], event) <= self._eval_el(ops[1], event) elif el.FilterOperator == ua.FilterOperator.Like: return self._likeoperator(self._eval_op(ops[0], event), self._eval_el(ops[1], event)) elif el.FilterOperator == ua.FilterOperator.Not: return not self._eval_op(ops[0], event) elif el.FilterOperator == ua.FilterOperator.Between: return self._eval_el(ops[2], event) >= self._eval_op(ops[0], event) >= self._eval_el(ops[1], event) elif el.FilterOperator == ua.FilterOperator.InList: return self._eval_op(ops[0], event) in [self._eval_op(op, event) for op in ops[1:]] elif el.FilterOperator == ua.FilterOperator.And: self.elements(ops[0].Index) return self._eval_op(ops[0], event) and self._eval_op(ops[1], event) elif el.FilterOperator == ua.FilterOperator.Or: return self._eval_op(ops[0], event) or self._eval_el(ops[1], event) elif el.FilterOperator == ua.FilterOperator.Cast: self.logger.warn("Cast operand not implemented, assuming True") return True elif el.FilterOperator == ua.FilterOperator.OfType: return event.EventType == self._eval_op(ops[0], event) else: # TODO: implement missing operators self.logger.warning("WhereClause not implemented for element: %s", el) raise NotImplementedError def _like_operator(self, string, pattern): raise NotImplementedError def _eval_op(self, op, event): # seems spec says we should return Null if issues if type(op) is ua.ElementOperand: return self._eval_el(op.Index, event) elif type(op) is ua.AttributeOperand: if op.BrowsePath: return getattr(event, op.BrowsePath.Elements[0].TargetName.Name) else: return self._aspace.get_attribute_value(event.EventType, op.AttributeId).Value.Value # FIXME: check, this is probably broken elif type(op) is ua.SimpleAttributeOperand: if op.BrowsePath: # we only support depth of 1 return getattr(event, op.BrowsePath[0].Name) else: # TODO: write code for index range.... but doe it make any sense return self._aspace.get_attribute_value(event.EventType, op.AttributeId).Value.Value elif type(op) is ua.LiteralOperand: return op.Value.Value else: self.logger.warning("Where clause element % is not of a known type", op) raise NotImplementedError python-opcua-0.90.3/opcua/server/server.py000066400000000000000000000472041310132730300205260ustar00rootroot00000000000000""" High level interface to pure python OPC-UA server """ import logging from datetime import timedelta try: from urllib.parse import urlparse except ImportError: from urlparse import urlparse from opcua import ua # from opcua.binary_server import BinaryServer from opcua.server.binary_server_asyncio import BinaryServer from opcua.server.internal_server import InternalServer from opcua.server.event_generator import EventGenerator from opcua.common.node import Node from opcua.common.subscription import Subscription from opcua.common.manage_nodes import delete_nodes from opcua.client.client import Client from opcua.crypto import security_policies from opcua.common.event_objects import BaseEvent from opcua.common.shortcuts import Shortcuts from opcua.common.xmlexporter import XmlExporter from opcua.common.xmlimporter import XmlImporter from opcua.common.ua_utils import get_nodes_of_namespace use_crypto = True try: from opcua.crypto import uacrypto except ImportError: print("cryptography is not installed, use of crypto disabled") use_crypto = False class Server(object): """ High level Server class This class creates an opcua server with default values Create your own namespace and then populate your server address space using use the get_root() or get_objects() to get Node objects. and get_event_object() to fire events. Then start server. See example_server.py All methods are threadsafe If you need more flexibility you call directly the Ua Service methods on the iserver or iserver.isesssion object members. During startup the standard address space will be constructed, which may be time-consuming when running a server on a less powerful device (e.g. a Raspberry Pi). In order to improve startup performance, a optional path to a cache file can be passed to the server constructor. If the parameter is defined, the address space will be loaded from the cache file or the file will be created if it does not exist yet. As a result the first startup will be even slower due to the cache file generation but all further start ups will be significantly faster. :ivar application_uri: :vartype application_uri: uri :ivar product_uri: :vartype product_uri: uri :ivar name: :vartype name: string :ivar default_timeout: timeout in milliseconds for sessions and secure channel :vartype default_timeout: int :ivar iserver: internal server object :vartype default_timeout: InternalServer :ivar bserver: binary protocol server :vartype bserver: BinaryServer :ivar nodes: shortcuts to common nodes :vartype nodes: Shortcuts """ def __init__(self, shelffile=None, iserver=None): self.logger = logging.getLogger(__name__) self.endpoint = urlparse("opc.tcp://0.0.0.0:4840/freeopcua/server/") self.application_uri = "urn:freeopcua:python:server" self.product_uri = "urn:freeopcua.github.no:python:server" self.name = "FreeOpcUa Python Server" self.application_type = ua.ApplicationType.ClientAndServer self.default_timeout = 3600000 if iserver is not None: self.iserver = iserver else: self.iserver = InternalServer(shelffile) self.bserver = None self._discovery_clients = {} self._discovery_period = 60 self.certificate = None self.private_key = None self._policies = [] self.nodes = Shortcuts(self.iserver.isession) # setup some expected values self.register_namespace(self.application_uri) sa_node = self.get_node(ua.NodeId(ua.ObjectIds.Server_ServerArray)) sa_node.set_value([self.application_uri]) def __enter__(self): self.start() return self def __exit__(self, exc_type, exc_value, traceback): self.stop() def load_certificate(self, path): """ load server certificate from file, either pem or der """ self.certificate = uacrypto.load_certificate(path) def load_private_key(self, path): self.private_key = uacrypto.load_private_key(path) def disable_clock(self, val=True): """ for debugging you may want to disable clock that write every second to address space """ self.iserver.disabled_clock = val def set_application_uri(self, uri): """ Set application/server URI. This uri is supposed to be unique. If you intent to register your server to a discovery server, it really should be unique in your system! default is : "urn:freeopcua:python:server" """ self.application_uri = uri def find_servers(self, uris=None): """ find_servers. mainly implemented for symmetry with client """ if uris is None: uris = [] params = ua.FindServersParameters() params.EndpointUrl = self.endpoint.geturl() params.ServerUris = uris return self.iserver.find_servers(params) def register_to_discovery(self, url="opc.tcp://localhost:4840", period=60): """ Register to an OPC-UA Discovery server. Registering must be renewed at least every 10 minutes, so this method will use our asyncio thread to re-register every period seconds if period is 0 registration is not automatically renewed """ # FIXME: have a period per discovery if url in self._discovery_clients: self._discovery_clients[url].disconnect() self._discovery_clients[url] = Client(url) self._discovery_clients[url].connect() self._discovery_clients[url].register_server(self) self._discovery_period = period if period: self.iserver.loop.call_soon(self._renew_registration) def unregister_to_discovery(self, url="opc.tcp://localhost:4840"): """ stop registration thread """ # FIXME: is there really no way to deregister? self._discovery_clients[url].disconnect() def _renew_registration(self): for client in self._discovery_clients.values(): client.register_server(self) self.iserver.loop.call_later(self._discovery_period, self._renew_registration) def get_client_to_discovery(self, url="opc.tcp://localhost:4840"): """ Create a client to discovery server and return it """ client = Client(url) client.connect() return client def allow_remote_admin(self, allow): """ Enable or disable the builtin Admin user from network clients """ self.iserver.allow_remote_admin = allow def set_endpoint(self, url): self.endpoint = urlparse(url) def get_endpoints(self): return self.iserver.get_endpoints() def _setup_server_nodes(self): # to be called just before starting server since it needs all parameters to be setup self._set_endpoints() self._policies = [ua.SecurityPolicyFactory()] if self.certificate and self.private_key: self._set_endpoints(security_policies.SecurityPolicyBasic128Rsa15, ua.MessageSecurityMode.SignAndEncrypt) self._policies.append(ua.SecurityPolicyFactory(security_policies.SecurityPolicyBasic128Rsa15, ua.MessageSecurityMode.SignAndEncrypt, self.certificate, self.private_key) ) self._set_endpoints(security_policies.SecurityPolicyBasic128Rsa15, ua.MessageSecurityMode.Sign) self._policies.append(ua.SecurityPolicyFactory(security_policies.SecurityPolicyBasic128Rsa15, ua.MessageSecurityMode.Sign, self.certificate, self.private_key) ) self._set_endpoints(security_policies.SecurityPolicyBasic256, ua.MessageSecurityMode.SignAndEncrypt) self._policies.append(ua.SecurityPolicyFactory(security_policies.SecurityPolicyBasic256, ua.MessageSecurityMode.SignAndEncrypt, self.certificate, self.private_key) ) self._set_endpoints(security_policies.SecurityPolicyBasic256, ua.MessageSecurityMode.Sign) self._policies.append(ua.SecurityPolicyFactory(security_policies.SecurityPolicyBasic256, ua.MessageSecurityMode.Sign, self.certificate, self.private_key) ) def _set_endpoints(self, policy=ua.SecurityPolicy, mode=ua.MessageSecurityMode.None_): idtoken = ua.UserTokenPolicy() idtoken.PolicyId = 'anonymous' idtoken.TokenType = ua.UserTokenType.Anonymous idtoken2 = ua.UserTokenPolicy() idtoken2.PolicyId = 'certificate_basic256' idtoken2.TokenType = ua.UserTokenType.Certificate idtoken3 = ua.UserTokenPolicy() idtoken3.PolicyId = 'certificate_basic128' idtoken3.TokenType = ua.UserTokenType.Certificate idtoken4 = ua.UserTokenPolicy() idtoken4.PolicyId = 'username' idtoken4.TokenType = ua.UserTokenType.UserName appdesc = ua.ApplicationDescription() appdesc.ApplicationName = ua.LocalizedText(self.name) appdesc.ApplicationUri = self.application_uri appdesc.ApplicationType = self.application_type appdesc.ProductUri = self.product_uri appdesc.DiscoveryUrls.append(self.endpoint.geturl()) edp = ua.EndpointDescription() edp.EndpointUrl = self.endpoint.geturl() edp.Server = appdesc if self.certificate: edp.ServerCertificate = uacrypto.der_from_x509(self.certificate) edp.SecurityMode = mode edp.SecurityPolicyUri = policy.URI edp.UserIdentityTokens = [idtoken, idtoken2, idtoken3, idtoken4] edp.TransportProfileUri = 'http://opcfoundation.org/UA-Profile/Transport/uatcp-uasc-uabinary' edp.SecurityLevel = 0 self.iserver.add_endpoint(edp) def set_server_name(self, name): self.name = name def start(self): """ Start to listen on network """ self._setup_server_nodes() self.iserver.start() self.bserver = BinaryServer(self.iserver, self.endpoint.hostname, self.endpoint.port) self.bserver.set_policies(self._policies) self.bserver.start() def stop(self): """ Stop server """ for client in self._discovery_clients.values(): client.disconnect() self.bserver.stop() self.iserver.stop() def get_root_node(self): """ Get Root node of server. Returns a Node object. """ return self.get_node(ua.TwoByteNodeId(ua.ObjectIds.RootFolder)) def get_objects_node(self): """ Get Objects node of server. Returns a Node object. """ return self.get_node(ua.TwoByteNodeId(ua.ObjectIds.ObjectsFolder)) def get_server_node(self): """ Get Server node of server. Returns a Node object. """ return self.get_node(ua.TwoByteNodeId(ua.ObjectIds.Server)) def get_node(self, nodeid): """ Get a specific node using NodeId object or a string representing a NodeId """ return Node(self.iserver.isession, nodeid) def create_subscription(self, period, handler): """ Create a subscription. returns a Subscription object which allow to subscribe to events or data on server """ params = ua.CreateSubscriptionParameters() params.RequestedPublishingInterval = period params.RequestedLifetimeCount = 3000 params.RequestedMaxKeepAliveCount = 10000 params.MaxNotificationsPerPublish = 0 params.PublishingEnabled = True params.Priority = 0 return Subscription(self.iserver.isession, params, handler) def get_namespace_array(self): """ get all namespace defined in server """ ns_node = self.get_node(ua.NodeId(ua.ObjectIds.Server_NamespaceArray)) return ns_node.get_value() def register_namespace(self, uri): """ Register a new namespace. Nodes should in custom namespace, not 0. """ ns_node = self.get_node(ua.NodeId(ua.ObjectIds.Server_NamespaceArray)) uries = ns_node.get_value() if uri in uries: return uries.index(uri) uries.append(uri) ns_node.set_value(uries) return len(uries) - 1 def get_namespace_index(self, uri): """ get index of a namespace using its uri """ uries = self.get_namespace_array() return uries.index(uri) def get_event_generator(self, etype=None, source=ua.ObjectIds.Server): """ Returns an event object using an event type from address space. Use this object to fire events """ if not etype: etype = BaseEvent() return EventGenerator(self.iserver.isession, etype, source) def create_custom_data_type(self, idx, name, basetype=ua.ObjectIds.BaseDataType, properties=None): if properties is None: properties = [] return self._create_custom_type(idx, name, basetype, properties, [], []) def create_custom_event_type(self, idx, name, basetype=ua.ObjectIds.BaseEventType, properties=None): if properties is None: properties = [] return self._create_custom_type(idx, name, basetype, properties, [], []) def create_custom_object_type(self, idx, name, basetype=ua.ObjectIds.BaseObjectType, properties=None, variables=None, methods=None): if properties is None: properties = [] if variables is None: variables = [] if methods is None: methods = [] return self._create_custom_type(idx, name, basetype, properties, variables, methods) # def create_custom_reference_type(self, idx, name, basetype=ua.ObjectIds.BaseReferenceType, properties=[]): # return self._create_custom_type(idx, name, basetype, properties) def create_custom_variable_type(self, idx, name, basetype=ua.ObjectIds.BaseVariableType, properties=None, variables=None, methods=None): if properties is None: properties = [] if variables is None: variables = [] if methods is None: methods = [] return self._create_custom_type(idx, name, basetype, properties, variables, methods) def _create_custom_type(self, idx, name, basetype, properties, variables, methods): if isinstance(basetype, Node): base_t = basetype elif isinstance(basetype, ua.NodeId): base_t = Node(self.iserver.isession, basetype) else: base_t = Node(self.iserver.isession, ua.NodeId(basetype)) custom_t = base_t.add_object_type(idx, name) for prop in properties: datatype = None if len(prop) > 2: datatype = prop[2] custom_t.add_property(idx, prop[0], ua.get_default_value(prop[1]), varianttype=prop[1], datatype=datatype) for variable in variables: datatype = None if len(variable) > 2: datatype = variable[2] custom_t.add_variable(idx, variable[0], ua.get_default_value(variable[1]), varianttype=variable[1], datatype=datatype) for method in methods: custom_t.add_method(idx, method[0], method[1], method[2], method[3]) return custom_t def import_xml(self, path): """ Import nodes defined in xml """ importer = XmlImporter(self) return importer.import_xml(path) def export_xml(self, nodes, path): """ Export defined nodes to xml """ exp = XmlExporter(self) exp.build_etree(nodes) return exp.write_xml(path) def export_xml_by_ns(self, path, namespaces=None): """ Export nodes of one or more namespaces to an XML file. Namespaces used by nodes are always exported for consistency. Args: server: opc ua server to use path: name of the xml file to write namespaces: list of string uris or int indexes of the namespace to export, if not provide all ns are used except 0 Returns: """ if namespaces is None: namespaces = [] nodes = get_nodes_of_namespace(self, namespaces) self.export_xml(nodes, path) def delete_nodes(self, nodes, recursive=False): return delete_nodes(self.iserver.isession, nodes, recursive) def historize_node_data_change(self, node, period=timedelta(days=7), count=0): """ Start historizing supplied nodes; see history module Args: node: node or list of nodes that can be historized (variables/properties) period: time delta to store the history; older data will be deleted from the storage count: number of changes to store in the history Returns: """ nodes = [node] for node in nodes: self.iserver.enable_history_data_change(node, period, count) def dehistorize_node_data_change(self, node): """ Stop historizing supplied nodes; see history module Args: node: node or list of nodes that can be historized (UA variables/properties) Returns: """ nodes = [node] for node in nodes: self.iserver.disable_history_data_change(node) def historize_node_event(self, node, period=timedelta(days=7), count=0): """ Start historizing events from node (typically a UA object); see history module Args: node: node or list of nodes that can be historized (UA objects) period: time delta to store the history; older data will be deleted from the storage count: number of events to store in the history Returns: """ nodes = [node] for node in nodes: self.iserver.enable_history_event(node, period, count) def dehistorize_node_event(self, node): """ Stop historizing events from node (typically a UA object); see history module Args: node: node or list of nodes that can be historized (UA objects) Returns: """ nodes = [node] for node in nodes: self.iserver.disable_history_event(node) def subscribe_server_callback(self, event, handle): self.iserver.subscribe_server_callback(event, handle) def unsubscribe_server_callback(self, event, handle): self.iserver.unsubscribe_server_callback(event, handle) def link_method(self, node, callback): """ Link a python function to a UA method in the address space; required when a UA method has been imported to the address space via XML; the python executable must be linked manually Args: node: UA method node callback: python function that the UA method will call Returns: """ self.iserver.isession.add_method_callback(node.nodeid, callback) python-opcua-0.90.3/opcua/server/standard_address_space/000077500000000000000000000000001310132730300233175ustar00rootroot00000000000000python-opcua-0.90.3/opcua/server/standard_address_space/__init__.py000066400000000000000000000000001310132730300254160ustar00rootroot00000000000000python-opcua-0.90.3/opcua/server/standard_address_space/standard_address_space.py000066400000000000000000000025771310132730300303640ustar00rootroot00000000000000 import os.path import opcua from opcua.server.standard_address_space.standard_address_space_part3 import create_standard_address_space_Part3 from opcua.server.standard_address_space.standard_address_space_part4 import create_standard_address_space_Part4 from opcua.server.standard_address_space.standard_address_space_part5 import create_standard_address_space_Part5 from opcua.server.standard_address_space.standard_address_space_part8 import create_standard_address_space_Part8 from opcua.server.standard_address_space.standard_address_space_part9 import create_standard_address_space_Part9 from opcua.server.standard_address_space.standard_address_space_part10 import create_standard_address_space_Part10 from opcua.server.standard_address_space.standard_address_space_part11 import create_standard_address_space_Part11 from opcua.server.standard_address_space.standard_address_space_part13 import create_standard_address_space_Part13 def fill_address_space(nodeservice): create_standard_address_space_Part3(nodeservice) create_standard_address_space_Part4(nodeservice) create_standard_address_space_Part5(nodeservice) create_standard_address_space_Part8(nodeservice) create_standard_address_space_Part9(nodeservice) create_standard_address_space_Part10(nodeservice) create_standard_address_space_Part11(nodeservice) create_standard_address_space_Part13(nodeservice) python-opcua-0.90.3/opcua/server/standard_address_space/standard_address_space_part10.py000066400000000000000000003007231310132730300315450ustar00rootroot00000000000000 """ DO NOT EDIT THIS FILE! It is automatically generated from opcfoundation.org schemas. """ from opcua import ua def create_standard_address_space_Part10(server): node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2391") node.BrowseName = ua.QualifiedName.from_string("ProgramStateMachineType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2771") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.Description = ua.LocalizedText("A state machine for a program.") attrs.DisplayName = ua.LocalizedText("ProgramStateMachineType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2391") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3830") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2391") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3835") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2391") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2392") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2391") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2393") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2391") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2394") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2391") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2395") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2391") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2396") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2391") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2397") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2391") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2398") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2391") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2399") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2391") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3850") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2391") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2400") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2391") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2402") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2391") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2404") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2391") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2406") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2391") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2408") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2391") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2410") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2391") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2412") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2391") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2414") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2391") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2416") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2391") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2418") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2391") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2420") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2391") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2422") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2391") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2424") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2391") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2426") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2391") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2427") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2391") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2428") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2391") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2429") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2391") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2430") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3830") node.BrowseName = ua.QualifiedName.from_string("CurrentState") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2391") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2760") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CurrentState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=3830") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3831") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=3830") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3833") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3830") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3831") node.BrowseName = ua.QualifiedName.from_string("Id") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3830") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3831") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3833") node.BrowseName = ua.QualifiedName.from_string("Number") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3830") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Number") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3833") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3835") node.BrowseName = ua.QualifiedName.from_string("LastTransition") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2391") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2767") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("LastTransition") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=3835") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3836") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=3835") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3838") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=3835") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3839") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3835") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3836") node.BrowseName = ua.QualifiedName.from_string("Id") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3835") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3836") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3838") node.BrowseName = ua.QualifiedName.from_string("Number") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3835") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Number") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3838") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3839") node.BrowseName = ua.QualifiedName.from_string("TransitionTime") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3835") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TransitionTime") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3839") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2392") node.BrowseName = ua.QualifiedName.from_string("Creatable") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2391") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Creatable") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2393") node.BrowseName = ua.QualifiedName.from_string("Deletable") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2391") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Deletable") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2393") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2394") node.BrowseName = ua.QualifiedName.from_string("AutoDelete") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2391") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("AutoDelete") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2394") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=79") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2395") node.BrowseName = ua.QualifiedName.from_string("RecycleCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2391") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("RecycleCount") attrs.DataType = ua.NodeId(ua.ObjectIds.Int32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2395") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2396") node.BrowseName = ua.QualifiedName.from_string("InstanceCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2391") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InstanceCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2397") node.BrowseName = ua.QualifiedName.from_string("MaxInstanceCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2391") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("MaxInstanceCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2398") node.BrowseName = ua.QualifiedName.from_string("MaxRecycleCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2391") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("MaxRecycleCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2399") node.BrowseName = ua.QualifiedName.from_string("ProgramDiagnostics") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2391") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2380") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ProgramDiagnostics") attrs.DataType = ua.NodeId.from_string("i=894") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2399") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3840") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2399") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3841") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2399") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3842") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2399") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3843") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2399") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3844") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2399") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3845") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2399") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3846") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2399") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3847") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2399") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3848") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2399") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3849") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2399") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3840") node.BrowseName = ua.QualifiedName.from_string("CreateSessionId") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2399") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CreateSessionId") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3840") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3841") node.BrowseName = ua.QualifiedName.from_string("CreateClientName") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2399") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CreateClientName") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3841") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3842") node.BrowseName = ua.QualifiedName.from_string("InvocationCreationTime") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2399") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InvocationCreationTime") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3842") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3843") node.BrowseName = ua.QualifiedName.from_string("LastTransitionTime") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2399") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("LastTransitionTime") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3843") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3844") node.BrowseName = ua.QualifiedName.from_string("LastMethodCall") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2399") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("LastMethodCall") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3844") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3845") node.BrowseName = ua.QualifiedName.from_string("LastMethodSessionId") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2399") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("LastMethodSessionId") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3845") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3846") node.BrowseName = ua.QualifiedName.from_string("LastMethodInputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2399") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("LastMethodInputArguments") attrs.DataType = ua.NodeId.from_string("i=296") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3846") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3847") node.BrowseName = ua.QualifiedName.from_string("LastMethodOutputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2399") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("LastMethodOutputArguments") attrs.DataType = ua.NodeId.from_string("i=296") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3847") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3848") node.BrowseName = ua.QualifiedName.from_string("LastMethodCallTime") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2399") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("LastMethodCallTime") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3848") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3849") node.BrowseName = ua.QualifiedName.from_string("LastMethodReturnStatus") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2399") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("LastMethodReturnStatus") attrs.DataType = ua.NodeId.from_string("i=299") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3849") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3850") node.BrowseName = ua.QualifiedName.from_string("FinalResultData") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2391") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=58") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("FinalResultData") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3850") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2400") node.BrowseName = ua.QualifiedName.from_string("Ready") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2391") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2307") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("The Program is properly initialized and may be started.") attrs.DisplayName = ua.LocalizedText("Ready") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2400") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2401") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2401") node.BrowseName = ua.QualifiedName.from_string("StateNumber") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2400") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("StateNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.Value = ua.Variant(1, ua.VariantType.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2401") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2402") node.BrowseName = ua.QualifiedName.from_string("Running") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2391") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2307") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("The Program is executing making progress towards completion.") attrs.DisplayName = ua.LocalizedText("Running") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2402") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2403") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2403") node.BrowseName = ua.QualifiedName.from_string("StateNumber") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2402") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("StateNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.Value = ua.Variant(2, ua.VariantType.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2403") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2404") node.BrowseName = ua.QualifiedName.from_string("Suspended") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2391") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2307") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("The Program has been stopped prior to reaching a terminal state but may be resumed.") attrs.DisplayName = ua.LocalizedText("Suspended") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2404") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2405") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2405") node.BrowseName = ua.QualifiedName.from_string("StateNumber") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2404") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("StateNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.Value = ua.Variant(3, ua.VariantType.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2405") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2406") node.BrowseName = ua.QualifiedName.from_string("Halted") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2391") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2307") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("The Program is in a terminal or failed state, and it cannot be started or resumed without being reset.") attrs.DisplayName = ua.LocalizedText("Halted") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2406") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2407") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2407") node.BrowseName = ua.QualifiedName.from_string("StateNumber") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2406") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("StateNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.Value = ua.Variant(4, ua.VariantType.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2407") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2408") node.BrowseName = ua.QualifiedName.from_string("HaltedToReady") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2391") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2310") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("HaltedToReady") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2408") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2409") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=51") ref.SourceNodeId = ua.NodeId.from_string("i=2408") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2406") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=52") ref.SourceNodeId = ua.NodeId.from_string("i=2408") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2400") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=53") ref.SourceNodeId = ua.NodeId.from_string("i=2408") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2430") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=54") ref.SourceNodeId = ua.NodeId.from_string("i=2408") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2378") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2409") node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2408") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TransitionNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.Value = ua.Variant(1, ua.VariantType.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2409") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2410") node.BrowseName = ua.QualifiedName.from_string("ReadyToRunning") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2391") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2310") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("ReadyToRunning") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2410") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2411") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=51") ref.SourceNodeId = ua.NodeId.from_string("i=2410") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2400") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=52") ref.SourceNodeId = ua.NodeId.from_string("i=2410") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2402") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=53") ref.SourceNodeId = ua.NodeId.from_string("i=2410") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2426") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=54") ref.SourceNodeId = ua.NodeId.from_string("i=2410") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2378") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2411") node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2410") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TransitionNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.Value = ua.Variant(2, ua.VariantType.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2411") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2412") node.BrowseName = ua.QualifiedName.from_string("RunningToHalted") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2391") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2310") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("RunningToHalted") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2412") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2413") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=51") ref.SourceNodeId = ua.NodeId.from_string("i=2412") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2402") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=52") ref.SourceNodeId = ua.NodeId.from_string("i=2412") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2406") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=53") ref.SourceNodeId = ua.NodeId.from_string("i=2412") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2429") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=54") ref.SourceNodeId = ua.NodeId.from_string("i=2412") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2378") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2413") node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2412") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TransitionNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.Value = ua.Variant(3, ua.VariantType.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2413") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2414") node.BrowseName = ua.QualifiedName.from_string("RunningToReady") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2391") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2310") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("RunningToReady") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2414") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2415") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=51") ref.SourceNodeId = ua.NodeId.from_string("i=2414") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2402") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=52") ref.SourceNodeId = ua.NodeId.from_string("i=2414") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2400") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=54") ref.SourceNodeId = ua.NodeId.from_string("i=2414") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2378") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2415") node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2414") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TransitionNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.Value = ua.Variant(4, ua.VariantType.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2415") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2416") node.BrowseName = ua.QualifiedName.from_string("RunningToSuspended") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2391") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2310") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("RunningToSuspended") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2416") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2417") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=51") ref.SourceNodeId = ua.NodeId.from_string("i=2416") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2402") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=52") ref.SourceNodeId = ua.NodeId.from_string("i=2416") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2404") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=53") ref.SourceNodeId = ua.NodeId.from_string("i=2416") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2427") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=54") ref.SourceNodeId = ua.NodeId.from_string("i=2416") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2378") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2417") node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2416") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TransitionNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.Value = ua.Variant(5, ua.VariantType.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2417") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2418") node.BrowseName = ua.QualifiedName.from_string("SuspendedToRunning") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2391") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2310") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("SuspendedToRunning") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2418") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2419") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=51") ref.SourceNodeId = ua.NodeId.from_string("i=2418") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2404") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=52") ref.SourceNodeId = ua.NodeId.from_string("i=2418") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2402") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=53") ref.SourceNodeId = ua.NodeId.from_string("i=2418") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2428") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=54") ref.SourceNodeId = ua.NodeId.from_string("i=2418") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2378") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2419") node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2418") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TransitionNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.Value = ua.Variant(6, ua.VariantType.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2419") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2420") node.BrowseName = ua.QualifiedName.from_string("SuspendedToHalted") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2391") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2310") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("SuspendedToHalted") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2420") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2421") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=51") ref.SourceNodeId = ua.NodeId.from_string("i=2420") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2404") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=52") ref.SourceNodeId = ua.NodeId.from_string("i=2420") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2406") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=53") ref.SourceNodeId = ua.NodeId.from_string("i=2420") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2429") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=54") ref.SourceNodeId = ua.NodeId.from_string("i=2420") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2378") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2421") node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2420") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TransitionNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.Value = ua.Variant(7, ua.VariantType.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2421") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2422") node.BrowseName = ua.QualifiedName.from_string("SuspendedToReady") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2391") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2310") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("SuspendedToReady") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2422") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2423") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=51") ref.SourceNodeId = ua.NodeId.from_string("i=2422") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2404") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=52") ref.SourceNodeId = ua.NodeId.from_string("i=2422") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2400") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=54") ref.SourceNodeId = ua.NodeId.from_string("i=2422") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2378") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2423") node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2422") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TransitionNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.Value = ua.Variant(8, ua.VariantType.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2423") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2424") node.BrowseName = ua.QualifiedName.from_string("ReadyToHalted") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2391") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2310") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("ReadyToHalted") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2424") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2425") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=51") ref.SourceNodeId = ua.NodeId.from_string("i=2424") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2400") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=52") ref.SourceNodeId = ua.NodeId.from_string("i=2424") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2406") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=53") ref.SourceNodeId = ua.NodeId.from_string("i=2424") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2429") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=54") ref.SourceNodeId = ua.NodeId.from_string("i=2424") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2378") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2425") node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2424") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TransitionNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.Value = ua.Variant(9, ua.VariantType.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2425") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2426") node.BrowseName = ua.QualifiedName.from_string("Start") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=2391") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.Description = ua.LocalizedText("Causes the Program to transition from the Ready state to the Running state.") attrs.DisplayName = ua.LocalizedText("Start") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2426") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2427") node.BrowseName = ua.QualifiedName.from_string("Suspend") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=2391") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.Description = ua.LocalizedText("Causes the Program to transition from the Running state to the Suspended state.") attrs.DisplayName = ua.LocalizedText("Suspend") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2427") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2428") node.BrowseName = ua.QualifiedName.from_string("Resume") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=2391") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.Description = ua.LocalizedText("Causes the Program to transition from the Suspended state to the Running state.") attrs.DisplayName = ua.LocalizedText("Resume") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2428") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2429") node.BrowseName = ua.QualifiedName.from_string("Halt") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=2391") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.Description = ua.LocalizedText("Causes the Program to transition from the Ready, Running or Suspended state to the Halted state.") attrs.DisplayName = ua.LocalizedText("Halt") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2429") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2430") node.BrowseName = ua.QualifiedName.from_string("Reset") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=2391") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.Description = ua.LocalizedText("Causes the Program to transition from the Halted state to the Ready state.") attrs.DisplayName = ua.LocalizedText("Reset") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2430") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2378") node.BrowseName = ua.QualifiedName.from_string("ProgramTransitionEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2311") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("ProgramTransitionEventType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2378") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2379") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2379") node.BrowseName = ua.QualifiedName.from_string("IntermediateResult") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2378") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("IntermediateResult") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2379") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11856") node.BrowseName = ua.QualifiedName.from_string("AuditProgramTransitionEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2315") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("AuditProgramTransitionEventType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11856") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11875") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11875") node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11856") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TransitionNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11875") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3806") node.BrowseName = ua.QualifiedName.from_string("ProgramTransitionAuditEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2315") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("ProgramTransitionAuditEventType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=3806") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3825") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3825") node.BrowseName = ua.QualifiedName.from_string("Transition") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3806") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2767") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Transition") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=3825") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3826") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3825") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3826") node.BrowseName = ua.QualifiedName.from_string("Id") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3825") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3826") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2380") node.BrowseName = ua.QualifiedName.from_string("ProgramDiagnosticType") node.NodeClass = ua.NodeClass.VariableType node.ParentNodeId = ua.NodeId.from_string("i=63") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.VariableTypeAttributes() attrs.DisplayName = ua.LocalizedText("ProgramDiagnosticType") attrs.DisplayName = ua.LocalizedText("ProgramDiagnosticType") attrs.DataType = ua.NodeId.from_string("i=894") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2380") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2381") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2380") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2382") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2380") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2383") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2380") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2384") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2380") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2385") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2380") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2386") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2380") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2387") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2380") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2388") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2380") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2389") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2380") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2390") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2381") node.BrowseName = ua.QualifiedName.from_string("CreateSessionId") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2380") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CreateSessionId") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2381") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2382") node.BrowseName = ua.QualifiedName.from_string("CreateClientName") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2380") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CreateClientName") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2382") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2383") node.BrowseName = ua.QualifiedName.from_string("InvocationCreationTime") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2380") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InvocationCreationTime") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2383") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2384") node.BrowseName = ua.QualifiedName.from_string("LastTransitionTime") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2380") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("LastTransitionTime") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2384") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2385") node.BrowseName = ua.QualifiedName.from_string("LastMethodCall") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2380") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("LastMethodCall") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2385") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2386") node.BrowseName = ua.QualifiedName.from_string("LastMethodSessionId") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2380") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("LastMethodSessionId") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2386") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2387") node.BrowseName = ua.QualifiedName.from_string("LastMethodInputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2380") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("LastMethodInputArguments") attrs.DataType = ua.NodeId.from_string("i=296") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2387") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2388") node.BrowseName = ua.QualifiedName.from_string("LastMethodOutputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2380") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("LastMethodOutputArguments") attrs.DataType = ua.NodeId.from_string("i=296") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2388") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2389") node.BrowseName = ua.QualifiedName.from_string("LastMethodCallTime") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2380") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("LastMethodCallTime") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2389") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2390") node.BrowseName = ua.QualifiedName.from_string("LastMethodReturnStatus") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2380") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("LastMethodReturnStatus") attrs.DataType = ua.NodeId.from_string("i=299") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2390") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=894") node.BrowseName = ua.QualifiedName.from_string("ProgramDiagnosticDataType") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=22") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.DisplayName = ua.LocalizedText("ProgramDiagnosticDataType") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=895") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=894") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=895") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8882") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=896") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=894") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=896") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8247") refs.append(ref) server.add_references(refs) python-opcua-0.90.3/opcua/server/standard_address_space/standard_address_space_part11.py000066400000000000000000002565161310132730300315600ustar00rootroot00000000000000 """ DO NOT EDIT THIS FILE! It is automatically generated from opcfoundation.org schemas. """ from opcua import ua def create_standard_address_space_Part11(server): node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=56") node.BrowseName = ua.QualifiedName.from_string("HasHistoricalConfiguration") node.NodeClass = ua.NodeClass.ReferenceType node.ParentNodeId = ua.NodeId.from_string("i=44") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ReferenceTypeAttributes() attrs.Description = ua.LocalizedText("The type for a reference to the historical configuration for a data variable.") attrs.DisplayName = ua.LocalizedText("HasHistoricalConfiguration") attrs.InverseName = ua.LocalizedText("HistoricalConfigurationOf") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11192") node.BrowseName = ua.QualifiedName.from_string("HistoryServerCapabilities") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2268") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2330") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("HistoryServerCapabilities") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11192") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11193") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11192") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11242") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11192") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11273") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11192") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11274") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11192") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11196") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11192") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11197") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11192") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11198") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11192") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11199") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11192") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11200") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11192") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11281") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11192") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11282") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11192") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11283") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11192") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11502") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11192") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11275") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=11192") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11201") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11193") node.BrowseName = ua.QualifiedName.from_string("AccessHistoryDataCapability") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11192") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("AccessHistoryDataCapability") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11242") node.BrowseName = ua.QualifiedName.from_string("AccessHistoryEventsCapability") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11192") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("AccessHistoryEventsCapability") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11273") node.BrowseName = ua.QualifiedName.from_string("MaxReturnDataValues") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11192") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("MaxReturnDataValues") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11274") node.BrowseName = ua.QualifiedName.from_string("MaxReturnEventValues") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11192") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("MaxReturnEventValues") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11196") node.BrowseName = ua.QualifiedName.from_string("InsertDataCapability") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11192") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InsertDataCapability") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11197") node.BrowseName = ua.QualifiedName.from_string("ReplaceDataCapability") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11192") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ReplaceDataCapability") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11198") node.BrowseName = ua.QualifiedName.from_string("UpdateDataCapability") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11192") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("UpdateDataCapability") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11199") node.BrowseName = ua.QualifiedName.from_string("DeleteRawCapability") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11192") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("DeleteRawCapability") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11200") node.BrowseName = ua.QualifiedName.from_string("DeleteAtTimeCapability") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11192") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("DeleteAtTimeCapability") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11281") node.BrowseName = ua.QualifiedName.from_string("InsertEventCapability") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11192") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InsertEventCapability") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11282") node.BrowseName = ua.QualifiedName.from_string("ReplaceEventCapability") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11192") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ReplaceEventCapability") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11283") node.BrowseName = ua.QualifiedName.from_string("UpdateEventCapability") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11192") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("UpdateEventCapability") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11502") node.BrowseName = ua.QualifiedName.from_string("DeleteEventCapability") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11192") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("DeleteEventCapability") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11275") node.BrowseName = ua.QualifiedName.from_string("InsertAnnotationCapability") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11192") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InsertAnnotationCapability") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11201") node.BrowseName = ua.QualifiedName.from_string("AggregateFunctions") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=11192") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=61") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("AggregateFunctions") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11214") node.BrowseName = ua.QualifiedName.from_string("Annotations") node.NodeClass = ua.NodeClass.Variable node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Annotations") attrs.DataType = ua.NodeId.from_string("i=891") attrs.ValueRank = -2 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2318") node.BrowseName = ua.QualifiedName.from_string("HistoricalDataConfigurationType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=58") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("HistoricalDataConfigurationType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2318") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3059") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2318") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11876") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2318") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2323") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2318") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2324") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2318") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2325") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2318") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2326") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2318") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2327") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2318") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2328") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2318") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11499") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2318") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11500") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3059") node.BrowseName = ua.QualifiedName.from_string("AggregateConfiguration") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2318") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=11187") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("AggregateConfiguration") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=3059") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11168") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=3059") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11169") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=3059") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11170") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=3059") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11171") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3059") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11168") node.BrowseName = ua.QualifiedName.from_string("TreatUncertainAsBad") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3059") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TreatUncertainAsBad") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11168") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11169") node.BrowseName = ua.QualifiedName.from_string("PercentDataBad") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3059") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("PercentDataBad") attrs.DataType = ua.NodeId(ua.ObjectIds.Byte) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11169") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11170") node.BrowseName = ua.QualifiedName.from_string("PercentDataGood") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3059") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("PercentDataGood") attrs.DataType = ua.NodeId(ua.ObjectIds.Byte) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11170") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11171") node.BrowseName = ua.QualifiedName.from_string("UseSlopedExtrapolation") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3059") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("UseSlopedExtrapolation") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11171") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11876") node.BrowseName = ua.QualifiedName.from_string("AggregateFunctions") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2318") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=61") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("AggregateFunctions") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11876") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2323") node.BrowseName = ua.QualifiedName.from_string("Stepped") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2318") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Stepped") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2323") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2324") node.BrowseName = ua.QualifiedName.from_string("Definition") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2318") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Definition") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2324") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2325") node.BrowseName = ua.QualifiedName.from_string("MaxTimeInterval") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2318") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("MaxTimeInterval") attrs.DataType = ua.NodeId.from_string("i=290") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2325") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2326") node.BrowseName = ua.QualifiedName.from_string("MinTimeInterval") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2318") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("MinTimeInterval") attrs.DataType = ua.NodeId.from_string("i=290") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2326") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2327") node.BrowseName = ua.QualifiedName.from_string("ExceptionDeviation") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2318") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ExceptionDeviation") attrs.DataType = ua.NodeId(ua.ObjectIds.Double) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2327") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2328") node.BrowseName = ua.QualifiedName.from_string("ExceptionDeviationFormat") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2318") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ExceptionDeviationFormat") attrs.DataType = ua.NodeId.from_string("i=890") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2328") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11499") node.BrowseName = ua.QualifiedName.from_string("StartOfArchive") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2318") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("StartOfArchive") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11499") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11500") node.BrowseName = ua.QualifiedName.from_string("StartOfOnlineArchive") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2318") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("StartOfOnlineArchive") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11500") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11202") node.BrowseName = ua.QualifiedName.from_string("HA Configuration") node.NodeClass = ua.NodeClass.Object node.TypeDefinition = ua.NodeId.from_string("i=2318") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("HA Configuration") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=11202") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11203") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11202") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11208") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11203") node.BrowseName = ua.QualifiedName.from_string("AggregateConfiguration") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=11202") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=11187") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("AggregateConfiguration") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11203") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11204") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11203") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11205") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11203") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11206") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11203") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11207") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11204") node.BrowseName = ua.QualifiedName.from_string("TreatUncertainAsBad") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11203") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TreatUncertainAsBad") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11205") node.BrowseName = ua.QualifiedName.from_string("PercentDataBad") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11203") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("PercentDataBad") attrs.DataType = ua.NodeId(ua.ObjectIds.Byte) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11206") node.BrowseName = ua.QualifiedName.from_string("PercentDataGood") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11203") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("PercentDataGood") attrs.DataType = ua.NodeId(ua.ObjectIds.Byte) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11207") node.BrowseName = ua.QualifiedName.from_string("UseSlopedExtrapolation") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11203") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("UseSlopedExtrapolation") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11208") node.BrowseName = ua.QualifiedName.from_string("Stepped") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11202") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Stepped") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11215") node.BrowseName = ua.QualifiedName.from_string("HistoricalEventFilter") node.NodeClass = ua.NodeClass.Variable node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("HistoricalEventFilter") attrs.DataType = ua.NodeId.from_string("i=725") attrs.ValueRank = -2 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2330") node.BrowseName = ua.QualifiedName.from_string("HistoryServerCapabilitiesType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=58") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("HistoryServerCapabilitiesType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2330") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2331") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2330") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2332") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2330") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11268") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2330") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11269") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2330") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2334") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2330") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2335") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2330") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2336") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2330") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2337") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2330") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2338") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2330") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11278") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2330") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11279") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2330") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11280") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2330") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11501") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2330") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11270") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2330") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11172") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2331") node.BrowseName = ua.QualifiedName.from_string("AccessHistoryDataCapability") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2330") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("AccessHistoryDataCapability") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2331") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2332") node.BrowseName = ua.QualifiedName.from_string("AccessHistoryEventsCapability") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2330") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("AccessHistoryEventsCapability") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2332") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11268") node.BrowseName = ua.QualifiedName.from_string("MaxReturnDataValues") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2330") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("MaxReturnDataValues") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11268") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11269") node.BrowseName = ua.QualifiedName.from_string("MaxReturnEventValues") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2330") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("MaxReturnEventValues") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11269") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2334") node.BrowseName = ua.QualifiedName.from_string("InsertDataCapability") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2330") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InsertDataCapability") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2334") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2335") node.BrowseName = ua.QualifiedName.from_string("ReplaceDataCapability") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2330") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ReplaceDataCapability") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2335") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2336") node.BrowseName = ua.QualifiedName.from_string("UpdateDataCapability") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2330") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("UpdateDataCapability") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2336") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2337") node.BrowseName = ua.QualifiedName.from_string("DeleteRawCapability") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2330") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("DeleteRawCapability") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2337") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2338") node.BrowseName = ua.QualifiedName.from_string("DeleteAtTimeCapability") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2330") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("DeleteAtTimeCapability") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2338") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11278") node.BrowseName = ua.QualifiedName.from_string("InsertEventCapability") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2330") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InsertEventCapability") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11278") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11279") node.BrowseName = ua.QualifiedName.from_string("ReplaceEventCapability") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2330") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ReplaceEventCapability") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11279") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11280") node.BrowseName = ua.QualifiedName.from_string("UpdateEventCapability") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2330") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("UpdateEventCapability") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11280") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11501") node.BrowseName = ua.QualifiedName.from_string("DeleteEventCapability") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2330") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("DeleteEventCapability") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11501") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11270") node.BrowseName = ua.QualifiedName.from_string("InsertAnnotationCapability") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2330") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InsertAnnotationCapability") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11270") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11172") node.BrowseName = ua.QualifiedName.from_string("AggregateFunctions") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2330") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=61") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("AggregateFunctions") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11172") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2999") node.BrowseName = ua.QualifiedName.from_string("AuditHistoryEventUpdateEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2104") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("AuditHistoryEventUpdateEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2999") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3025") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2999") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3028") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2999") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3003") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2999") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3029") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2999") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3030") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3025") node.BrowseName = ua.QualifiedName.from_string("UpdatedNode") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2999") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("UpdatedNode") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3025") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3028") node.BrowseName = ua.QualifiedName.from_string("PerformInsertReplace") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2999") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("PerformInsertReplace") attrs.DataType = ua.NodeId.from_string("i=11293") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3028") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3003") node.BrowseName = ua.QualifiedName.from_string("Filter") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2999") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Filter") attrs.DataType = ua.NodeId.from_string("i=725") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3003") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3029") node.BrowseName = ua.QualifiedName.from_string("NewValues") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2999") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("NewValues") attrs.DataType = ua.NodeId.from_string("i=920") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3029") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3030") node.BrowseName = ua.QualifiedName.from_string("OldValues") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2999") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("OldValues") attrs.DataType = ua.NodeId.from_string("i=920") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3030") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3006") node.BrowseName = ua.QualifiedName.from_string("AuditHistoryValueUpdateEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2104") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("AuditHistoryValueUpdateEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=3006") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3026") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=3006") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3031") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=3006") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3032") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=3006") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3033") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3026") node.BrowseName = ua.QualifiedName.from_string("UpdatedNode") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3006") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("UpdatedNode") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3026") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3031") node.BrowseName = ua.QualifiedName.from_string("PerformInsertReplace") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3006") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("PerformInsertReplace") attrs.DataType = ua.NodeId.from_string("i=11293") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3031") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3032") node.BrowseName = ua.QualifiedName.from_string("NewValues") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3006") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("NewValues") attrs.DataType = ua.NodeId.from_string("i=23") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3032") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3033") node.BrowseName = ua.QualifiedName.from_string("OldValues") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3006") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("OldValues") attrs.DataType = ua.NodeId.from_string("i=23") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3033") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3012") node.BrowseName = ua.QualifiedName.from_string("AuditHistoryDeleteEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2104") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("AuditHistoryDeleteEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=3012") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3027") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3027") node.BrowseName = ua.QualifiedName.from_string("UpdatedNode") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3012") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("UpdatedNode") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3027") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3014") node.BrowseName = ua.QualifiedName.from_string("AuditHistoryRawModifyDeleteEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=3012") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("AuditHistoryRawModifyDeleteEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=3014") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3015") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=3014") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3016") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=3014") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3017") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=3014") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3034") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3015") node.BrowseName = ua.QualifiedName.from_string("IsDeleteModified") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3014") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("IsDeleteModified") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3015") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3016") node.BrowseName = ua.QualifiedName.from_string("StartTime") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3014") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("StartTime") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3016") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3017") node.BrowseName = ua.QualifiedName.from_string("EndTime") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3014") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EndTime") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3017") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3034") node.BrowseName = ua.QualifiedName.from_string("OldValues") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3014") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("OldValues") attrs.DataType = ua.NodeId.from_string("i=23") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3034") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3019") node.BrowseName = ua.QualifiedName.from_string("AuditHistoryAtTimeDeleteEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=3012") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("AuditHistoryAtTimeDeleteEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=3019") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3020") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=3019") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3021") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3020") node.BrowseName = ua.QualifiedName.from_string("ReqTimes") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3019") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ReqTimes") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3020") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3021") node.BrowseName = ua.QualifiedName.from_string("OldValues") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3019") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("OldValues") attrs.DataType = ua.NodeId.from_string("i=23") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3021") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3022") node.BrowseName = ua.QualifiedName.from_string("AuditHistoryEventDeleteEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=3012") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("AuditHistoryEventDeleteEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=3022") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3023") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=3022") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3024") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3023") node.BrowseName = ua.QualifiedName.from_string("EventIds") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3022") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EventIds") attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3023") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3024") node.BrowseName = ua.QualifiedName.from_string("OldValues") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3022") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("OldValues") attrs.DataType = ua.NodeId.from_string("i=920") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3024") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=891") node.BrowseName = ua.QualifiedName.from_string("Annotation") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=22") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.DisplayName = ua.LocalizedText("Annotation") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=890") node.BrowseName = ua.QualifiedName.from_string("ExceptionDeviationFormat") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=29") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.DisplayName = ua.LocalizedText("ExceptionDeviationFormat") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=890") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7614") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=7614") node.BrowseName = ua.QualifiedName.from_string("EnumStrings") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=890") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EnumStrings") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.Value = ua.Variant(['AbsoluteValue', 'PercentOfValue', 'PercentOfRange', 'PercentOfEURange', 'Unknown'], ua.VariantType.LocalizedText) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=7614") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=892") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=891") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=892") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8879") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=893") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=891") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=893") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8244") refs.append(ref) server.add_references(refs) python-opcua-0.90.3/opcua/server/standard_address_space/standard_address_space_part13.py000066400000000000000000000644471310132730300315620ustar00rootroot00000000000000 """ DO NOT EDIT THIS FILE! It is automatically generated from opcfoundation.org schemas. """ from opcua import ua def create_standard_address_space_Part13(server): node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11187") node.BrowseName = ua.QualifiedName.from_string("AggregateConfigurationType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=58") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("AggregateConfigurationType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11187") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11188") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11187") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11189") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11187") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11190") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11187") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11191") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11188") node.BrowseName = ua.QualifiedName.from_string("TreatUncertainAsBad") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11187") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TreatUncertainAsBad") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11188") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11189") node.BrowseName = ua.QualifiedName.from_string("PercentDataBad") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11187") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("PercentDataBad") attrs.DataType = ua.NodeId(ua.ObjectIds.Byte) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11189") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11190") node.BrowseName = ua.QualifiedName.from_string("PercentDataGood") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11187") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("PercentDataGood") attrs.DataType = ua.NodeId(ua.ObjectIds.Byte) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11190") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11191") node.BrowseName = ua.QualifiedName.from_string("UseSlopedExtrapolation") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11187") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("UseSlopedExtrapolation") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11191") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2341") node.BrowseName = ua.QualifiedName.from_string("Interpolative") node.NodeClass = ua.NodeClass.Object node.TypeDefinition = ua.NodeId.from_string("i=2340") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("At the beginning of each interval, retrieve the calculated value from the data points on either side of the requested timestamp.") attrs.DisplayName = ua.LocalizedText("Interpolative") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2342") node.BrowseName = ua.QualifiedName.from_string("Average") node.NodeClass = ua.NodeClass.Object node.TypeDefinition = ua.NodeId.from_string("i=2340") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Retrieve the average value of the data over the interval.") attrs.DisplayName = ua.LocalizedText("Average") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2343") node.BrowseName = ua.QualifiedName.from_string("TimeAverage") node.NodeClass = ua.NodeClass.Object node.TypeDefinition = ua.NodeId.from_string("i=2340") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Retrieve the time weighted average data over the interval using Interpolated Bounding Values.") attrs.DisplayName = ua.LocalizedText("TimeAverage") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11285") node.BrowseName = ua.QualifiedName.from_string("TimeAverage2") node.NodeClass = ua.NodeClass.Object node.TypeDefinition = ua.NodeId.from_string("i=2340") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Retrieve the time weighted average data over the interval using Simple Bounding Values.") attrs.DisplayName = ua.LocalizedText("TimeAverage2") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2344") node.BrowseName = ua.QualifiedName.from_string("Total") node.NodeClass = ua.NodeClass.Object node.TypeDefinition = ua.NodeId.from_string("i=2340") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Retrieve the total (time integral) of the data over the interval using Interpolated Bounding Values.") attrs.DisplayName = ua.LocalizedText("Total") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11304") node.BrowseName = ua.QualifiedName.from_string("Total2") node.NodeClass = ua.NodeClass.Object node.TypeDefinition = ua.NodeId.from_string("i=2340") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Retrieve the total (time integral) of the data over the interval using Simple Bounding Values.") attrs.DisplayName = ua.LocalizedText("Total2") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2346") node.BrowseName = ua.QualifiedName.from_string("Minimum") node.NodeClass = ua.NodeClass.Object node.TypeDefinition = ua.NodeId.from_string("i=2340") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Retrieve the minimum raw value in the interval with the timestamp of the start of the interval.") attrs.DisplayName = ua.LocalizedText("Minimum") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2347") node.BrowseName = ua.QualifiedName.from_string("Maximum") node.NodeClass = ua.NodeClass.Object node.TypeDefinition = ua.NodeId.from_string("i=2340") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Retrieve the maximum raw value in the interval with the timestamp of the start of the interval.") attrs.DisplayName = ua.LocalizedText("Maximum") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2348") node.BrowseName = ua.QualifiedName.from_string("MinimumActualTime") node.NodeClass = ua.NodeClass.Object node.TypeDefinition = ua.NodeId.from_string("i=2340") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Retrieve the minimum value in the interval and the Timestamp of the minimum value.") attrs.DisplayName = ua.LocalizedText("MinimumActualTime") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2349") node.BrowseName = ua.QualifiedName.from_string("MaximumActualTime") node.NodeClass = ua.NodeClass.Object node.TypeDefinition = ua.NodeId.from_string("i=2340") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Retrieve the maximum value in the interval and the Timestamp of the maximum value.") attrs.DisplayName = ua.LocalizedText("MaximumActualTime") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2350") node.BrowseName = ua.QualifiedName.from_string("Range") node.NodeClass = ua.NodeClass.Object node.TypeDefinition = ua.NodeId.from_string("i=2340") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Retrieve the difference between the minimum and maximum Value over the interval.") attrs.DisplayName = ua.LocalizedText("Range") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11286") node.BrowseName = ua.QualifiedName.from_string("Minimum2") node.NodeClass = ua.NodeClass.Object node.TypeDefinition = ua.NodeId.from_string("i=2340") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Retrieve the minimum value in the interval including the Simple Bounding Values.") attrs.DisplayName = ua.LocalizedText("Minimum2") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11287") node.BrowseName = ua.QualifiedName.from_string("Maximum2") node.NodeClass = ua.NodeClass.Object node.TypeDefinition = ua.NodeId.from_string("i=2340") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Retrieve the maximum value in the interval including the Simple Bounding Values.") attrs.DisplayName = ua.LocalizedText("Maximum2") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11305") node.BrowseName = ua.QualifiedName.from_string("MinimumActualTime2") node.NodeClass = ua.NodeClass.Object node.TypeDefinition = ua.NodeId.from_string("i=2340") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Retrieve the minimum value with the actual timestamp including the Simple Bounding Values.") attrs.DisplayName = ua.LocalizedText("MinimumActualTime2") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11306") node.BrowseName = ua.QualifiedName.from_string("MaximumActualTime2") node.NodeClass = ua.NodeClass.Object node.TypeDefinition = ua.NodeId.from_string("i=2340") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Retrieve the maximum value with the actual timestamp including the Simple Bounding Values.") attrs.DisplayName = ua.LocalizedText("MaximumActualTime2") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11288") node.BrowseName = ua.QualifiedName.from_string("Range2") node.NodeClass = ua.NodeClass.Object node.TypeDefinition = ua.NodeId.from_string("i=2340") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Retrieve the difference between the Minimum2 and Maximum2 value over the interval.") attrs.DisplayName = ua.LocalizedText("Range2") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2351") node.BrowseName = ua.QualifiedName.from_string("AnnotationCount") node.NodeClass = ua.NodeClass.Object node.TypeDefinition = ua.NodeId.from_string("i=2340") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Retrieve the number of Annotations in the interval.") attrs.DisplayName = ua.LocalizedText("AnnotationCount") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2352") node.BrowseName = ua.QualifiedName.from_string("Count") node.NodeClass = ua.NodeClass.Object node.TypeDefinition = ua.NodeId.from_string("i=2340") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Retrieve the number of raw values over the interval.") attrs.DisplayName = ua.LocalizedText("Count") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11307") node.BrowseName = ua.QualifiedName.from_string("DurationInStateZero") node.NodeClass = ua.NodeClass.Object node.TypeDefinition = ua.NodeId.from_string("i=2340") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Retrieve the time a Boolean or numeric was in a zero state using Simple Bounding Values.") attrs.DisplayName = ua.LocalizedText("DurationInStateZero") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11308") node.BrowseName = ua.QualifiedName.from_string("DurationInStateNonZero") node.NodeClass = ua.NodeClass.Object node.TypeDefinition = ua.NodeId.from_string("i=2340") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Retrieve the time a Boolean or numeric was in a non-zero state using Simple Bounding Values.") attrs.DisplayName = ua.LocalizedText("DurationInStateNonZero") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2355") node.BrowseName = ua.QualifiedName.from_string("NumberOfTransitions") node.NodeClass = ua.NodeClass.Object node.TypeDefinition = ua.NodeId.from_string("i=2340") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Retrieve the number of changes between zero and non-zero that a Boolean or Numeric value experienced in the interval.") attrs.DisplayName = ua.LocalizedText("NumberOfTransitions") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2357") node.BrowseName = ua.QualifiedName.from_string("Start") node.NodeClass = ua.NodeClass.Object node.TypeDefinition = ua.NodeId.from_string("i=2340") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Retrieve the value at the beginning of the interval using Interpolated Bounding Values.") attrs.DisplayName = ua.LocalizedText("Start") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2358") node.BrowseName = ua.QualifiedName.from_string("End") node.NodeClass = ua.NodeClass.Object node.TypeDefinition = ua.NodeId.from_string("i=2340") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Retrieve the value at the end of the interval using Interpolated Bounding Values.") attrs.DisplayName = ua.LocalizedText("End") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2359") node.BrowseName = ua.QualifiedName.from_string("Delta") node.NodeClass = ua.NodeClass.Object node.TypeDefinition = ua.NodeId.from_string("i=2340") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Retrieve the difference between the Start and End value in the interval.") attrs.DisplayName = ua.LocalizedText("Delta") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11505") node.BrowseName = ua.QualifiedName.from_string("StartBound") node.NodeClass = ua.NodeClass.Object node.TypeDefinition = ua.NodeId.from_string("i=2340") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Retrieve the value at the beginning of the interval using Simple Bounding Values.") attrs.DisplayName = ua.LocalizedText("StartBound") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11506") node.BrowseName = ua.QualifiedName.from_string("EndBound") node.NodeClass = ua.NodeClass.Object node.TypeDefinition = ua.NodeId.from_string("i=2340") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Retrieve the value at the end of the interval using Simple Bounding Values.") attrs.DisplayName = ua.LocalizedText("EndBound") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11507") node.BrowseName = ua.QualifiedName.from_string("DeltaBounds") node.NodeClass = ua.NodeClass.Object node.TypeDefinition = ua.NodeId.from_string("i=2340") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Retrieve the difference between the StartBound and EndBound value in the interval.") attrs.DisplayName = ua.LocalizedText("DeltaBounds") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2360") node.BrowseName = ua.QualifiedName.from_string("DurationGood") node.NodeClass = ua.NodeClass.Object node.TypeDefinition = ua.NodeId.from_string("i=2340") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Retrieve the total duration of time in the interval during which the data is good.") attrs.DisplayName = ua.LocalizedText("DurationGood") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2361") node.BrowseName = ua.QualifiedName.from_string("DurationBad") node.NodeClass = ua.NodeClass.Object node.TypeDefinition = ua.NodeId.from_string("i=2340") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Retrieve the total duration of time in the interval during which the data is bad.") attrs.DisplayName = ua.LocalizedText("DurationBad") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2362") node.BrowseName = ua.QualifiedName.from_string("PercentGood") node.NodeClass = ua.NodeClass.Object node.TypeDefinition = ua.NodeId.from_string("i=2340") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Retrieve the percent of data (0 to 100) in the interval which has a good StatusCode.") attrs.DisplayName = ua.LocalizedText("PercentGood") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2363") node.BrowseName = ua.QualifiedName.from_string("PercentBad") node.NodeClass = ua.NodeClass.Object node.TypeDefinition = ua.NodeId.from_string("i=2340") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Retrieve the percent of data (0 to 100) in the interval which has a bad StatusCode.") attrs.DisplayName = ua.LocalizedText("PercentBad") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2364") node.BrowseName = ua.QualifiedName.from_string("WorstQuality") node.NodeClass = ua.NodeClass.Object node.TypeDefinition = ua.NodeId.from_string("i=2340") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Retrieve the worst StatusCode of data in the interval.") attrs.DisplayName = ua.LocalizedText("WorstQuality") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11292") node.BrowseName = ua.QualifiedName.from_string("WorstQuality2") node.NodeClass = ua.NodeClass.Object node.TypeDefinition = ua.NodeId.from_string("i=2340") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Retrieve the worst StatusCode of data in the interval including the Simple Bounding Values.") attrs.DisplayName = ua.LocalizedText("WorstQuality2") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11426") node.BrowseName = ua.QualifiedName.from_string("StandardDeviationSample") node.NodeClass = ua.NodeClass.Object node.TypeDefinition = ua.NodeId.from_string("i=2340") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Retrieve the standard deviation for the interval for a sample of the population (n-1).") attrs.DisplayName = ua.LocalizedText("StandardDeviationSample") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11427") node.BrowseName = ua.QualifiedName.from_string("StandardDeviationPopulation") node.NodeClass = ua.NodeClass.Object node.TypeDefinition = ua.NodeId.from_string("i=2340") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Retrieve the standard deviation for the interval for a complete population (n) which includes Simple Bounding Values.") attrs.DisplayName = ua.LocalizedText("StandardDeviationPopulation") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11428") node.BrowseName = ua.QualifiedName.from_string("VarianceSample") node.NodeClass = ua.NodeClass.Object node.TypeDefinition = ua.NodeId.from_string("i=2340") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Retrieve the variance for the interval as calculated by the StandardDeviationSample.") attrs.DisplayName = ua.LocalizedText("VarianceSample") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11429") node.BrowseName = ua.QualifiedName.from_string("VariancePopulation") node.NodeClass = ua.NodeClass.Object node.TypeDefinition = ua.NodeId.from_string("i=2340") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Retrieve the variance for the interval as calculated by the StandardDeviationPopulation which includes Simple Bounding Values.") attrs.DisplayName = ua.LocalizedText("VariancePopulation") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) python-opcua-0.90.3/opcua/server/standard_address_space/standard_address_space_part3.py000066400000000000000000001753551310132730300315020ustar00rootroot00000000000000 """ DO NOT EDIT THIS FILE! It is automatically generated from opcfoundation.org schemas. """ from opcua import ua def create_standard_address_space_Part3(server): node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3062") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.TypeDefinition = ua.NodeId.from_string("i=58") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("The default binary encoding for a data type.") attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3063") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.TypeDefinition = ua.NodeId.from_string("i=58") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("The default XML encoding for a data type.") attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=24") node.BrowseName = ua.QualifiedName.from_string("BaseDataType") node.NodeClass = ua.NodeClass.DataType attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'Describes a value that can have any valid DataType.'") attrs.DisplayName = ua.LocalizedText("BaseDataType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=26") node.BrowseName = ua.QualifiedName.from_string("Number") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=24") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'Describes a value that can have any numeric DataType.'") attrs.DisplayName = ua.LocalizedText("Number") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=27") node.BrowseName = ua.QualifiedName.from_string("Integer") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=26") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'Describes a value that can have any integer DataType.'") attrs.DisplayName = ua.LocalizedText("Integer") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=28") node.BrowseName = ua.QualifiedName.from_string("UInteger") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=26") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'Describes a value that can have any unsigned integer DataType.'") attrs.DisplayName = ua.LocalizedText("UInteger") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=29") node.BrowseName = ua.QualifiedName.from_string("Enumeration") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=24") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'Describes a value that is an enumerated DataType.'") attrs.DisplayName = ua.LocalizedText("Enumeration") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=1") node.BrowseName = ua.QualifiedName.from_string("Boolean") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=24") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'Describes a value that is either TRUE or FALSE.'") attrs.DisplayName = ua.LocalizedText("Boolean") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2") node.BrowseName = ua.QualifiedName.from_string("SByte") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=27") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'Describes a value that is an integer between -128 and 127.'") attrs.DisplayName = ua.LocalizedText("SByte") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3") node.BrowseName = ua.QualifiedName.from_string("Byte") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=28") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'Describes a value that is an integer between 0 and 255.'") attrs.DisplayName = ua.LocalizedText("Byte") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=4") node.BrowseName = ua.QualifiedName.from_string("Int16") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=27") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'Describes a value that is an integer between ?32,768 and 32,767.'") attrs.DisplayName = ua.LocalizedText("Int16") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=5") node.BrowseName = ua.QualifiedName.from_string("UInt16") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=28") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'Describes a value that is an integer between 0 and 65535.'") attrs.DisplayName = ua.LocalizedText("UInt16") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=6") node.BrowseName = ua.QualifiedName.from_string("Int32") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=27") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'Describes a value that is an integer between ?2,147,483,648 and 2,147,483,647.'") attrs.DisplayName = ua.LocalizedText("Int32") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=7") node.BrowseName = ua.QualifiedName.from_string("UInt32") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=28") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'Describes a value that is an integer between 0 and 4,294,967,295.'") attrs.DisplayName = ua.LocalizedText("UInt32") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8") node.BrowseName = ua.QualifiedName.from_string("Int64") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=27") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'Describes a value that is an integer between ?9,223,372,036,854,775,808 and 9,223,372,036,854,775,807.'") attrs.DisplayName = ua.LocalizedText("Int64") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9") node.BrowseName = ua.QualifiedName.from_string("UInt64") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=28") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'Describes a value that is an integer between 0 and 18,446,744,073,709,551,615.'") attrs.DisplayName = ua.LocalizedText("UInt64") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=10") node.BrowseName = ua.QualifiedName.from_string("Float") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=26") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'Describes a value that is an IEEE 754-1985 single precision floating point number.'") attrs.DisplayName = ua.LocalizedText("Float") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11") node.BrowseName = ua.QualifiedName.from_string("Double") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=26") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'Describes a value that is an IEEE 754-1985 double precision floating point number.'") attrs.DisplayName = ua.LocalizedText("Double") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12") node.BrowseName = ua.QualifiedName.from_string("String") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=24") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'Describes a value that is a sequence of printable Unicode characters.'") attrs.DisplayName = ua.LocalizedText("String") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=13") node.BrowseName = ua.QualifiedName.from_string("DateTime") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=24") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'Describes a value that is a Gregorian calender date and time.'") attrs.DisplayName = ua.LocalizedText("DateTime") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=14") node.BrowseName = ua.QualifiedName.from_string("Guid") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=24") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'Describes a value that is a 128-bit globally unique identifier.'") attrs.DisplayName = ua.LocalizedText("Guid") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=15") node.BrowseName = ua.QualifiedName.from_string("ByteString") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=24") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'Describes a value that is a sequence of bytes.'") attrs.DisplayName = ua.LocalizedText("ByteString") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=16") node.BrowseName = ua.QualifiedName.from_string("XmlElement") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=24") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'Describes a value that is an XML element.'") attrs.DisplayName = ua.LocalizedText("XmlElement") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=17") node.BrowseName = ua.QualifiedName.from_string("NodeId") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=24") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'Describes a value that is an identifier for a node within a Server address space.'") attrs.DisplayName = ua.LocalizedText("NodeId") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=20") node.BrowseName = ua.QualifiedName.from_string("QualifiedName") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=24") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'Describes a value that is a name qualified by a namespace.'") attrs.DisplayName = ua.LocalizedText("QualifiedName") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=21") node.BrowseName = ua.QualifiedName.from_string("LocalizedText") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=24") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'Describes a value that is human readable Unicode text with a locale identifier.'") attrs.DisplayName = ua.LocalizedText("LocalizedText") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=22") node.BrowseName = ua.QualifiedName.from_string("Structure") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=24") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'Describes a value that is any type of structure that can be described with a data encoding.'") attrs.DisplayName = ua.LocalizedText("Structure") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=30") node.BrowseName = ua.QualifiedName.from_string("Image") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=15") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'Describes a value that is an image encoded as a string of bytes.'") attrs.DisplayName = ua.LocalizedText("Image") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=121") node.BrowseName = ua.QualifiedName.from_string("Decimal128") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=26") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'Describes a 128-bit decimal value.'") attrs.DisplayName = ua.LocalizedText("Decimal128") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=31") node.BrowseName = ua.QualifiedName.from_string("References") node.NodeClass = ua.NodeClass.ReferenceType attrs = ua.ReferenceTypeAttributes() attrs.Description = ua.LocalizedText("The abstract base type for all references.") attrs.DisplayName = ua.LocalizedText("References") attrs.InverseName = ua.LocalizedText("References") attrs.IsAbstract = True attrs.Symmetric = True node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=32") node.BrowseName = ua.QualifiedName.from_string("NonHierarchicalReferences") node.NodeClass = ua.NodeClass.ReferenceType node.ParentNodeId = ua.NodeId.from_string("i=31") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ReferenceTypeAttributes() attrs.Description = ua.LocalizedText("The abstract base type for all non-hierarchical references.") attrs.DisplayName = ua.LocalizedText("NonHierarchicalReferences") attrs.InverseName = ua.LocalizedText("NonHierarchicalReferences") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=33") node.BrowseName = ua.QualifiedName.from_string("HierarchicalReferences") node.NodeClass = ua.NodeClass.ReferenceType node.ParentNodeId = ua.NodeId.from_string("i=31") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ReferenceTypeAttributes() attrs.Description = ua.LocalizedText("The abstract base type for all hierarchical references.") attrs.DisplayName = ua.LocalizedText("HierarchicalReferences") attrs.InverseName = ua.LocalizedText("HierarchicalReferences") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=34") node.BrowseName = ua.QualifiedName.from_string("HasChild") node.NodeClass = ua.NodeClass.ReferenceType node.ParentNodeId = ua.NodeId.from_string("i=33") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ReferenceTypeAttributes() attrs.Description = ua.LocalizedText("The abstract base type for all non-looping hierarchical references.") attrs.DisplayName = ua.LocalizedText("HasChild") attrs.InverseName = ua.LocalizedText("ChildOf") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=35") node.BrowseName = ua.QualifiedName.from_string("Organizes") node.NodeClass = ua.NodeClass.ReferenceType node.ParentNodeId = ua.NodeId.from_string("i=33") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ReferenceTypeAttributes() attrs.Description = ua.LocalizedText("The type for hierarchical references that are used to organize nodes.") attrs.DisplayName = ua.LocalizedText("Organizes") attrs.InverseName = ua.LocalizedText("OrganizedBy") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=36") node.BrowseName = ua.QualifiedName.from_string("HasEventSource") node.NodeClass = ua.NodeClass.ReferenceType node.ParentNodeId = ua.NodeId.from_string("i=33") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ReferenceTypeAttributes() attrs.Description = ua.LocalizedText("The type for non-looping hierarchical references that are used to organize event sources.") attrs.DisplayName = ua.LocalizedText("HasEventSource") attrs.InverseName = ua.LocalizedText("EventSourceOf") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=37") node.BrowseName = ua.QualifiedName.from_string("HasModellingRule") node.NodeClass = ua.NodeClass.ReferenceType node.ParentNodeId = ua.NodeId.from_string("i=32") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ReferenceTypeAttributes() attrs.Description = ua.LocalizedText("The type for references from instance declarations to modelling rule nodes.") attrs.DisplayName = ua.LocalizedText("HasModellingRule") attrs.InverseName = ua.LocalizedText("ModellingRuleOf") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=38") node.BrowseName = ua.QualifiedName.from_string("HasEncoding") node.NodeClass = ua.NodeClass.ReferenceType node.ParentNodeId = ua.NodeId.from_string("i=32") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ReferenceTypeAttributes() attrs.Description = ua.LocalizedText("The type for references from data type nodes to to data type encoding nodes.") attrs.DisplayName = ua.LocalizedText("HasEncoding") attrs.InverseName = ua.LocalizedText("EncodingOf") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=39") node.BrowseName = ua.QualifiedName.from_string("HasDescription") node.NodeClass = ua.NodeClass.ReferenceType node.ParentNodeId = ua.NodeId.from_string("i=32") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ReferenceTypeAttributes() attrs.Description = ua.LocalizedText("The type for references from data type encoding nodes to data type description nodes.") attrs.DisplayName = ua.LocalizedText("HasDescription") attrs.InverseName = ua.LocalizedText("DescriptionOf") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=40") node.BrowseName = ua.QualifiedName.from_string("HasTypeDefinition") node.NodeClass = ua.NodeClass.ReferenceType node.ParentNodeId = ua.NodeId.from_string("i=32") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ReferenceTypeAttributes() attrs.Description = ua.LocalizedText("The type for references from a instance node its type defintion node.") attrs.DisplayName = ua.LocalizedText("HasTypeDefinition") attrs.InverseName = ua.LocalizedText("TypeDefinitionOf") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=41") node.BrowseName = ua.QualifiedName.from_string("GeneratesEvent") node.NodeClass = ua.NodeClass.ReferenceType node.ParentNodeId = ua.NodeId.from_string("i=32") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ReferenceTypeAttributes() attrs.Description = ua.LocalizedText("The type for references from a node to an event type that is raised by node.") attrs.DisplayName = ua.LocalizedText("GeneratesEvent") attrs.InverseName = ua.LocalizedText("GeneratesEvent") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3065") node.BrowseName = ua.QualifiedName.from_string("AlwaysGeneratesEvent") node.NodeClass = ua.NodeClass.ReferenceType node.ParentNodeId = ua.NodeId.from_string("i=32") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ReferenceTypeAttributes() attrs.Description = ua.LocalizedText("The type for references from a node to an event type that is always raised by node.") attrs.DisplayName = ua.LocalizedText("AlwaysGeneratesEvent") attrs.InverseName = ua.LocalizedText("AlwaysGeneratesEvent") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=44") node.BrowseName = ua.QualifiedName.from_string("Aggregates") node.NodeClass = ua.NodeClass.ReferenceType node.ParentNodeId = ua.NodeId.from_string("i=34") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ReferenceTypeAttributes() attrs.Description = ua.LocalizedText("The type for non-looping hierarchical references that are used to aggregate nodes into complex types.") attrs.DisplayName = ua.LocalizedText("Aggregates") attrs.InverseName = ua.LocalizedText("AggregatedBy") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=45") node.BrowseName = ua.QualifiedName.from_string("HasSubtype") node.NodeClass = ua.NodeClass.ReferenceType node.ParentNodeId = ua.NodeId.from_string("i=34") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ReferenceTypeAttributes() attrs.Description = ua.LocalizedText("The type for non-looping hierarchical references that are used to define sub types.") attrs.DisplayName = ua.LocalizedText("HasSubtype") attrs.InverseName = ua.LocalizedText("HasSupertype") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=46") node.BrowseName = ua.QualifiedName.from_string("HasProperty") node.NodeClass = ua.NodeClass.ReferenceType node.ParentNodeId = ua.NodeId.from_string("i=44") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ReferenceTypeAttributes() attrs.Description = ua.LocalizedText("The type for non-looping hierarchical reference from a node to its property.") attrs.DisplayName = ua.LocalizedText("HasProperty") attrs.InverseName = ua.LocalizedText("PropertyOf") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=47") node.BrowseName = ua.QualifiedName.from_string("HasComponent") node.NodeClass = ua.NodeClass.ReferenceType node.ParentNodeId = ua.NodeId.from_string("i=44") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ReferenceTypeAttributes() attrs.Description = ua.LocalizedText("The type for non-looping hierarchical reference from a node to its component.") attrs.DisplayName = ua.LocalizedText("HasComponent") attrs.InverseName = ua.LocalizedText("ComponentOf") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=48") node.BrowseName = ua.QualifiedName.from_string("HasNotifier") node.NodeClass = ua.NodeClass.ReferenceType node.ParentNodeId = ua.NodeId.from_string("i=36") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ReferenceTypeAttributes() attrs.Description = ua.LocalizedText("The type for non-looping hierarchical references that are used to indicate how events propagate from node to node.") attrs.DisplayName = ua.LocalizedText("HasNotifier") attrs.InverseName = ua.LocalizedText("NotifierOf") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=49") node.BrowseName = ua.QualifiedName.from_string("HasOrderedComponent") node.NodeClass = ua.NodeClass.ReferenceType node.ParentNodeId = ua.NodeId.from_string("i=47") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ReferenceTypeAttributes() attrs.Description = ua.LocalizedText("The type for non-looping hierarchical reference from a node to its component when the order of references matters.") attrs.DisplayName = ua.LocalizedText("HasOrderedComponent") attrs.InverseName = ua.LocalizedText("OrderedComponentOf") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=120") node.BrowseName = ua.QualifiedName.from_string("NamingRuleType") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=29") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'Describes a value that specifies the significance of the BrowseName for an instance declaration.'") attrs.DisplayName = ua.LocalizedText("NamingRuleType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=120") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12169") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12169") node.BrowseName = ua.QualifiedName.from_string("EnumValues") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=120") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EnumValues") attrs.DataType = ua.NodeId.from_string("i=7594") value = [] extobj = ua.EnumValueType() extobj.Description.Text = b'The BrowseName must appear in all instances of the type.' extobj.DisplayName.Text = b'Mandatory' extobj.Value = 1 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The BrowseName may appear in an instance of the type.' extobj.DisplayName.Text = b'Optional' extobj.Value = 2 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The modelling rule defines a constraint and the BrowseName is not used in an instance of the type.' extobj.DisplayName.Text = b'Constraint' extobj.Value = 3 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12169") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3068") node.BrowseName = ua.QualifiedName.from_string("NodeVersion") node.NodeClass = ua.NodeClass.Variable node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The version number of the node (used to indicate changes to references of the owning node).") attrs.DisplayName = ua.LocalizedText("NodeVersion") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -2 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12170") node.BrowseName = ua.QualifiedName.from_string("ViewVersion") node.NodeClass = ua.NodeClass.Variable node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The version number of the view.") attrs.DisplayName = ua.LocalizedText("ViewVersion") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -2 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3067") node.BrowseName = ua.QualifiedName.from_string("Icon") node.NodeClass = ua.NodeClass.Variable node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("A small image representing the object.") attrs.DisplayName = ua.LocalizedText("Icon") attrs.DataType = ua.NodeId.from_string("i=30") attrs.ValueRank = -2 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3069") node.BrowseName = ua.QualifiedName.from_string("LocalTime") node.NodeClass = ua.NodeClass.Variable node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The local time where the owning variable value was collected.") attrs.DisplayName = ua.LocalizedText("LocalTime") attrs.DataType = ua.NodeId.from_string("i=8912") attrs.ValueRank = -2 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3070") node.BrowseName = ua.QualifiedName.from_string("AllowNulls") node.NodeClass = ua.NodeClass.Variable node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("Whether the value of the owning variable is allowed to be null.") attrs.DisplayName = ua.LocalizedText("AllowNulls") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -2 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11433") node.BrowseName = ua.QualifiedName.from_string("ValueAsText") node.NodeClass = ua.NodeClass.Variable node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The string representation of the current value for a variable with an enumerated data type.") attrs.DisplayName = ua.LocalizedText("ValueAsText") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -2 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11498") node.BrowseName = ua.QualifiedName.from_string("MaxStringLength") node.NodeClass = ua.NodeClass.Variable node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The maximum length for a string that can be stored in the owning variable.") attrs.DisplayName = ua.LocalizedText("MaxStringLength") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -2 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12908") node.BrowseName = ua.QualifiedName.from_string("MaxByteStringLength") node.NodeClass = ua.NodeClass.Variable node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The maximum length for a byte string that can be stored in the owning variable.") attrs.DisplayName = ua.LocalizedText("MaxByteStringLength") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -2 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11512") node.BrowseName = ua.QualifiedName.from_string("MaxArrayLength") node.NodeClass = ua.NodeClass.Variable node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The maximum length for an array that can be stored in the owning variable.") attrs.DisplayName = ua.LocalizedText("MaxArrayLength") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -2 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11513") node.BrowseName = ua.QualifiedName.from_string("EngineeringUnits") node.NodeClass = ua.NodeClass.Variable node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The engineering units for the value of the owning variable.") attrs.DisplayName = ua.LocalizedText("EngineeringUnits") attrs.DataType = ua.NodeId.from_string("i=887") attrs.ValueRank = -2 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11432") node.BrowseName = ua.QualifiedName.from_string("EnumStrings") node.NodeClass = ua.NodeClass.Variable node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The human readable strings associated with the values of an enumerated value (when values are sequential).") attrs.DisplayName = ua.LocalizedText("EnumStrings") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3071") node.BrowseName = ua.QualifiedName.from_string("EnumValues") node.NodeClass = ua.NodeClass.Variable node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The human readable strings associated with the values of an enumerated value (when values have no sequence).") attrs.DisplayName = ua.LocalizedText("EnumValues") attrs.DataType = ua.NodeId.from_string("i=7594") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12745") node.BrowseName = ua.QualifiedName.from_string("OptionSetValues") node.NodeClass = ua.NodeClass.Variable node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("Contains the human-readable representation for each bit of the bit mask.") attrs.DisplayName = ua.LocalizedText("OptionSetValues") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3072") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The input arguments for a method.") attrs.DisplayName = ua.LocalizedText("InputArguments") attrs.DataType = ua.NodeId.from_string("i=296") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3073") node.BrowseName = ua.QualifiedName.from_string("OutputArguments") node.NodeClass = ua.NodeClass.Variable node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The output arguments for a method.") attrs.DisplayName = ua.LocalizedText("OutputArguments") attrs.DataType = ua.NodeId.from_string("i=296") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2000") node.BrowseName = ua.QualifiedName.from_string("ImageBMP") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=30") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'An image encoded in BMP format.'") attrs.DisplayName = ua.LocalizedText("ImageBMP") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2001") node.BrowseName = ua.QualifiedName.from_string("ImageGIF") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=30") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'An image encoded in GIF format.'") attrs.DisplayName = ua.LocalizedText("ImageGIF") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2002") node.BrowseName = ua.QualifiedName.from_string("ImageJPG") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=30") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'An image encoded in JPEG format.'") attrs.DisplayName = ua.LocalizedText("ImageJPG") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2003") node.BrowseName = ua.QualifiedName.from_string("ImagePNG") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=30") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'An image encoded in PNG format.'") attrs.DisplayName = ua.LocalizedText("ImagePNG") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=256") node.BrowseName = ua.QualifiedName.from_string("IdType") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=29") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'The type of identifier used in a node id.'") attrs.DisplayName = ua.LocalizedText("IdType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=256") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7591") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=7591") node.BrowseName = ua.QualifiedName.from_string("EnumStrings") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=256") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EnumStrings") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.Value = ua.Variant(['Numeric', 'String', 'Guid', 'Opaque'], ua.VariantType.LocalizedText) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=7591") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=257") node.BrowseName = ua.QualifiedName.from_string("NodeClass") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=29") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'A mask specifying the class of the node.'") attrs.DisplayName = ua.LocalizedText("NodeClass") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=257") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11878") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11878") node.BrowseName = ua.QualifiedName.from_string("EnumValues") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=257") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EnumValues") attrs.DataType = ua.NodeId.from_string("i=7594") value = [] extobj = ua.EnumValueType() extobj.Description.Text = b'No classes are selected.' extobj.DisplayName.Text = b'Unspecified' extobj.Value = 0 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The node is an object.' extobj.DisplayName.Text = b'Object' extobj.Value = 1 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The node is a variable.' extobj.DisplayName.Text = b'Variable' extobj.Value = 2 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The node is a method.' extobj.DisplayName.Text = b'Method' extobj.Value = 4 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The node is an object type.' extobj.DisplayName.Text = b'ObjectType' extobj.Value = 8 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The node is an variable type.' extobj.DisplayName.Text = b'VariableType' extobj.Value = 16 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The node is a reference type.' extobj.DisplayName.Text = b'ReferenceType' extobj.Value = 32 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The node is a data type.' extobj.DisplayName.Text = b'DataType' extobj.Value = 64 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The node is a view.' extobj.DisplayName.Text = b'View' extobj.Value = 128 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11878") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=296") node.BrowseName = ua.QualifiedName.from_string("Argument") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=22") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'An argument for a method.'") attrs.DisplayName = ua.LocalizedText("Argument") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=7594") node.BrowseName = ua.QualifiedName.from_string("EnumValueType") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=22") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'A mapping between a value of an enumerated type and a name and description.'") attrs.DisplayName = ua.LocalizedText("EnumValueType") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12755") node.BrowseName = ua.QualifiedName.from_string("OptionSet") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=22") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask.'") attrs.DisplayName = ua.LocalizedText("OptionSet") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12756") node.BrowseName = ua.QualifiedName.from_string("Union") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=22") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'This abstract DataType is the base DataType for all union DataTypes.'") attrs.DisplayName = ua.LocalizedText("Union") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12877") node.BrowseName = ua.QualifiedName.from_string("NormalizedString") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=12") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'A string normalized based on the rules in the unicode specification.'") attrs.DisplayName = ua.LocalizedText("NormalizedString") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12878") node.BrowseName = ua.QualifiedName.from_string("DecimalString") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=12") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'An arbitraty numeric value.'") attrs.DisplayName = ua.LocalizedText("DecimalString") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12879") node.BrowseName = ua.QualifiedName.from_string("DurationString") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=12") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'A period of time formatted as defined in ISO 8601-2000.'") attrs.DisplayName = ua.LocalizedText("DurationString") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12880") node.BrowseName = ua.QualifiedName.from_string("TimeString") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=12") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'A time formatted as defined in ISO 8601-2000.'") attrs.DisplayName = ua.LocalizedText("TimeString") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12881") node.BrowseName = ua.QualifiedName.from_string("DateString") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=12") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'A date formatted as defined in ISO 8601-2000.'") attrs.DisplayName = ua.LocalizedText("DateString") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=290") node.BrowseName = ua.QualifiedName.from_string("Duration") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=11") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'A period of time measured in milliseconds.'") attrs.DisplayName = ua.LocalizedText("Duration") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=294") node.BrowseName = ua.QualifiedName.from_string("UtcTime") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=13") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'A date/time value specified in Universal Coordinated Time (UTC).'") attrs.DisplayName = ua.LocalizedText("UtcTime") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=295") node.BrowseName = ua.QualifiedName.from_string("LocaleId") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=12") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'An identifier for a user locale.'") attrs.DisplayName = ua.LocalizedText("LocaleId") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8912") node.BrowseName = ua.QualifiedName.from_string("TimeZoneDataType") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=22") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.DisplayName = ua.LocalizedText("TimeZoneDataType") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=297") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=296") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=297") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8285") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=7616") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=7594") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=7616") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8291") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12757") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=12755") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=12757") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12759") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12758") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=12756") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=12758") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12762") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8913") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=8912") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=8913") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8918") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=298") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=296") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=298") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7650") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8251") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=7594") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=8251") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7656") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12765") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=12755") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=12765") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12767") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12766") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=12756") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=12766") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12770") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8917") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=8912") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=8917") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8914") refs.append(ref) server.add_references(refs) python-opcua-0.90.3/opcua/server/standard_address_space/standard_address_space_part4.py000066400000000000000000003506601310132730300314750ustar00rootroot00000000000000 """ DO NOT EDIT THIS FILE! It is automatically generated from opcfoundation.org schemas. """ from opcua import ua def create_standard_address_space_Part4(server): node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=18") node.BrowseName = ua.QualifiedName.from_string("ExpandedNodeId") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=24") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'Describes a value that is an absolute identifier for a node.'") attrs.DisplayName = ua.LocalizedText("ExpandedNodeId") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=19") node.BrowseName = ua.QualifiedName.from_string("StatusCode") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=24") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'Describes a value that is a code representing the outcome of an operation by a Server.'") attrs.DisplayName = ua.LocalizedText("StatusCode") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=23") node.BrowseName = ua.QualifiedName.from_string("DataValue") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=24") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'Describes a value that is a structure containing a value, a status code and timestamps.'") attrs.DisplayName = ua.LocalizedText("DataValue") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=25") node.BrowseName = ua.QualifiedName.from_string("DiagnosticInfo") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=24") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'Describes a value that is a structure containing diagnostics associated with a StatusCode.'") attrs.DisplayName = ua.LocalizedText("DiagnosticInfo") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=288") node.BrowseName = ua.QualifiedName.from_string("IntegerId") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=7") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'A numeric identifier for an object.'") attrs.DisplayName = ua.LocalizedText("IntegerId") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=307") node.BrowseName = ua.QualifiedName.from_string("ApplicationType") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=29") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'The types of applications.'") attrs.DisplayName = ua.LocalizedText("ApplicationType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=307") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7597") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=7597") node.BrowseName = ua.QualifiedName.from_string("EnumStrings") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=307") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EnumStrings") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.Value = ua.Variant(['Server', 'Client', 'ClientAndServer', 'DiscoveryServer'], ua.VariantType.LocalizedText) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=7597") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=308") node.BrowseName = ua.QualifiedName.from_string("ApplicationDescription") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=22") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'Describes an application and how to find it.'") attrs.DisplayName = ua.LocalizedText("ApplicationDescription") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12189") node.BrowseName = ua.QualifiedName.from_string("ServerOnNetwork") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=22") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.DisplayName = ua.LocalizedText("ServerOnNetwork") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=311") node.BrowseName = ua.QualifiedName.from_string("ApplicationInstanceCertificate") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=15") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'A certificate for an instance of an application.'") attrs.DisplayName = ua.LocalizedText("ApplicationInstanceCertificate") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=302") node.BrowseName = ua.QualifiedName.from_string("MessageSecurityMode") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=29") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'The type of security to use on a message.'") attrs.DisplayName = ua.LocalizedText("MessageSecurityMode") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=302") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7595") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=7595") node.BrowseName = ua.QualifiedName.from_string("EnumStrings") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=302") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EnumStrings") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.Value = ua.Variant(['Invalid', 'None', 'Sign', 'SignAndEncrypt'], ua.VariantType.LocalizedText) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=7595") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=303") node.BrowseName = ua.QualifiedName.from_string("UserTokenType") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=29") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'The possible user token types.'") attrs.DisplayName = ua.LocalizedText("UserTokenType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=303") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7596") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=7596") node.BrowseName = ua.QualifiedName.from_string("EnumStrings") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=303") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EnumStrings") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.Value = ua.Variant(['Anonymous', 'UserName', 'Certificate', 'IssuedToken', 'Kerberos'], ua.VariantType.LocalizedText) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=7596") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=304") node.BrowseName = ua.QualifiedName.from_string("UserTokenPolicy") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=22") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'Describes a user token that can be used with a server.'") attrs.DisplayName = ua.LocalizedText("UserTokenPolicy") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=312") node.BrowseName = ua.QualifiedName.from_string("EndpointDescription") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=22") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'The description of a endpoint that can be used to access a server.'") attrs.DisplayName = ua.LocalizedText("EndpointDescription") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=432") node.BrowseName = ua.QualifiedName.from_string("RegisteredServer") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=22") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'The information required to register a server with a discovery server.'") attrs.DisplayName = ua.LocalizedText("RegisteredServer") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12890") node.BrowseName = ua.QualifiedName.from_string("DiscoveryConfiguration") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=22") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'A base type for discovery configuration information.'") attrs.DisplayName = ua.LocalizedText("DiscoveryConfiguration") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12891") node.BrowseName = ua.QualifiedName.from_string("MdnsDiscoveryConfiguration") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=12890") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'The discovery information needed for mDNS registration.'") attrs.DisplayName = ua.LocalizedText("MdnsDiscoveryConfiguration") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=315") node.BrowseName = ua.QualifiedName.from_string("SecurityTokenRequestType") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=29") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'Indicates whether a token if being created or renewed.'") attrs.DisplayName = ua.LocalizedText("SecurityTokenRequestType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=315") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7598") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=7598") node.BrowseName = ua.QualifiedName.from_string("EnumStrings") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=315") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EnumStrings") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.Value = ua.Variant(['Issue', 'Renew'], ua.VariantType.LocalizedText) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=7598") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=344") node.BrowseName = ua.QualifiedName.from_string("SignedSoftwareCertificate") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=22") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'A software certificate with a digital signature.'") attrs.DisplayName = ua.LocalizedText("SignedSoftwareCertificate") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=388") node.BrowseName = ua.QualifiedName.from_string("SessionAuthenticationToken") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=17") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'A unique identifier for a session used to authenticate requests.'") attrs.DisplayName = ua.LocalizedText("SessionAuthenticationToken") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=316") node.BrowseName = ua.QualifiedName.from_string("UserIdentityToken") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=22") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'A base type for a user identity token.'") attrs.DisplayName = ua.LocalizedText("UserIdentityToken") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=319") node.BrowseName = ua.QualifiedName.from_string("AnonymousIdentityToken") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=316") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'A token representing an anonymous user.'") attrs.DisplayName = ua.LocalizedText("AnonymousIdentityToken") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=322") node.BrowseName = ua.QualifiedName.from_string("UserNameIdentityToken") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=316") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'A token representing a user identified by a user name and password.'") attrs.DisplayName = ua.LocalizedText("UserNameIdentityToken") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=325") node.BrowseName = ua.QualifiedName.from_string("X509IdentityToken") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=316") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'A token representing a user identified by an X509 certificate.'") attrs.DisplayName = ua.LocalizedText("X509IdentityToken") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12504") node.BrowseName = ua.QualifiedName.from_string("KerberosIdentityToken") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=316") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.DisplayName = ua.LocalizedText("KerberosIdentityToken") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=938") node.BrowseName = ua.QualifiedName.from_string("IssuedIdentityToken") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=316") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'A token representing a user identified by a WS-Security XML token.'") attrs.DisplayName = ua.LocalizedText("IssuedIdentityToken") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=348") node.BrowseName = ua.QualifiedName.from_string("NodeAttributesMask") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=29") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'The bits used to specify default attributes for a new node.'") attrs.DisplayName = ua.LocalizedText("NodeAttributesMask") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=348") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11881") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11881") node.BrowseName = ua.QualifiedName.from_string("EnumValues") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=348") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EnumValues") attrs.DataType = ua.NodeId.from_string("i=7594") value = [] extobj = ua.EnumValueType() extobj.Description.Text = b'No attribuites provided.' extobj.DisplayName.Text = b'None' extobj.Value = 0 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The access level attribute is specified.' extobj.DisplayName.Text = b'AccessLevel' extobj.Value = 1 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The array dimensions attribute is specified.' extobj.DisplayName.Text = b'ArrayDimensions' extobj.Value = 2 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The browse name attribute is specified.' extobj.DisplayName.Text = b'BrowseName' extobj.Value = 4 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The contains no loops attribute is specified.' extobj.DisplayName.Text = b'ContainsNoLoops' extobj.Value = 8 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The data type attribute is specified.' extobj.DisplayName.Text = b'DataType' extobj.Value = 16 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The description attribute is specified.' extobj.DisplayName.Text = b'Description' extobj.Value = 32 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The display name attribute is specified.' extobj.DisplayName.Text = b'DisplayName' extobj.Value = 64 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The event notifier attribute is specified.' extobj.DisplayName.Text = b'EventNotifier' extobj.Value = 128 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The executable attribute is specified.' extobj.DisplayName.Text = b'Executable' extobj.Value = 256 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The historizing attribute is specified.' extobj.DisplayName.Text = b'Historizing' extobj.Value = 512 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The inverse name attribute is specified.' extobj.DisplayName.Text = b'InverseName' extobj.Value = 1024 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The is abstract attribute is specified.' extobj.DisplayName.Text = b'IsAbstract' extobj.Value = 2048 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The minimum sampling interval attribute is specified.' extobj.DisplayName.Text = b'MinimumSamplingInterval' extobj.Value = 4096 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The node class attribute is specified.' extobj.DisplayName.Text = b'NodeClass' extobj.Value = 8192 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The node id attribute is specified.' extobj.DisplayName.Text = b'NodeId' extobj.Value = 16384 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The symmetric attribute is specified.' extobj.DisplayName.Text = b'Symmetric' extobj.Value = 32768 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The user access level attribute is specified.' extobj.DisplayName.Text = b'UserAccessLevel' extobj.Value = 65536 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The user executable attribute is specified.' extobj.DisplayName.Text = b'UserExecutable' extobj.Value = 131072 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The user write mask attribute is specified.' extobj.DisplayName.Text = b'UserWriteMask' extobj.Value = 262144 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The value rank attribute is specified.' extobj.DisplayName.Text = b'ValueRank' extobj.Value = 524288 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The write mask attribute is specified.' extobj.DisplayName.Text = b'WriteMask' extobj.Value = 1048576 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The value attribute is specified.' extobj.DisplayName.Text = b'Value' extobj.Value = 2097152 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'All attributes are specified.' extobj.DisplayName.Text = b'All' extobj.Value = 4194303 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'All base attributes are specified.' extobj.DisplayName.Text = b'BaseNode' extobj.Value = 1335396 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'All object attributes are specified.' extobj.DisplayName.Text = b'Object' extobj.Value = 1335524 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'All object type or data type attributes are specified.' extobj.DisplayName.Text = b'ObjectTypeOrDataType' extobj.Value = 1337444 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'All variable attributes are specified.' extobj.DisplayName.Text = b'Variable' extobj.Value = 4026999 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'All variable type attributes are specified.' extobj.DisplayName.Text = b'VariableType' extobj.Value = 3958902 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'All method attributes are specified.' extobj.DisplayName.Text = b'Method' extobj.Value = 1466724 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'All reference type attributes are specified.' extobj.DisplayName.Text = b'ReferenceType' extobj.Value = 1371236 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'All view attributes are specified.' extobj.DisplayName.Text = b'View' extobj.Value = 1335532 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11881") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=376") node.BrowseName = ua.QualifiedName.from_string("AddNodesItem") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=22") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'A request to add a node to the server address space.'") attrs.DisplayName = ua.LocalizedText("AddNodesItem") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=379") node.BrowseName = ua.QualifiedName.from_string("AddReferencesItem") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=22") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'A request to add a reference to the server address space.'") attrs.DisplayName = ua.LocalizedText("AddReferencesItem") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=382") node.BrowseName = ua.QualifiedName.from_string("DeleteNodesItem") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=22") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'A request to delete a node to the server address space.'") attrs.DisplayName = ua.LocalizedText("DeleteNodesItem") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=385") node.BrowseName = ua.QualifiedName.from_string("DeleteReferencesItem") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=22") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'A request to delete a node from the server address space.'") attrs.DisplayName = ua.LocalizedText("DeleteReferencesItem") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=347") node.BrowseName = ua.QualifiedName.from_string("AttributeWriteMask") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=29") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'Define bits used to indicate which attributes are writable.'") attrs.DisplayName = ua.LocalizedText("AttributeWriteMask") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=347") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11882") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11882") node.BrowseName = ua.QualifiedName.from_string("EnumValues") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=347") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EnumValues") attrs.DataType = ua.NodeId.from_string("i=7594") value = [] extobj = ua.EnumValueType() extobj.Description.Text = b'No attributes are writable.' extobj.DisplayName.Text = b'None' extobj.Value = 0 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The access level attribute is writable.' extobj.DisplayName.Text = b'AccessLevel' extobj.Value = 1 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The array dimensions attribute is writable.' extobj.DisplayName.Text = b'ArrayDimensions' extobj.Value = 2 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The browse name attribute is writable.' extobj.DisplayName.Text = b'BrowseName' extobj.Value = 4 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The contains no loops attribute is writable.' extobj.DisplayName.Text = b'ContainsNoLoops' extobj.Value = 8 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The data type attribute is writable.' extobj.DisplayName.Text = b'DataType' extobj.Value = 16 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The description attribute is writable.' extobj.DisplayName.Text = b'Description' extobj.Value = 32 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The display name attribute is writable.' extobj.DisplayName.Text = b'DisplayName' extobj.Value = 64 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The event notifier attribute is writable.' extobj.DisplayName.Text = b'EventNotifier' extobj.Value = 128 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The executable attribute is writable.' extobj.DisplayName.Text = b'Executable' extobj.Value = 256 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The historizing attribute is writable.' extobj.DisplayName.Text = b'Historizing' extobj.Value = 512 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The inverse name attribute is writable.' extobj.DisplayName.Text = b'InverseName' extobj.Value = 1024 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The is abstract attribute is writable.' extobj.DisplayName.Text = b'IsAbstract' extobj.Value = 2048 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The minimum sampling interval attribute is writable.' extobj.DisplayName.Text = b'MinimumSamplingInterval' extobj.Value = 4096 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The node class attribute is writable.' extobj.DisplayName.Text = b'NodeClass' extobj.Value = 8192 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The node id attribute is writable.' extobj.DisplayName.Text = b'NodeId' extobj.Value = 16384 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The symmetric attribute is writable.' extobj.DisplayName.Text = b'Symmetric' extobj.Value = 32768 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The user access level attribute is writable.' extobj.DisplayName.Text = b'UserAccessLevel' extobj.Value = 65536 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The user executable attribute is writable.' extobj.DisplayName.Text = b'UserExecutable' extobj.Value = 131072 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The user write mask attribute is writable.' extobj.DisplayName.Text = b'UserWriteMask' extobj.Value = 262144 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The value rank attribute is writable.' extobj.DisplayName.Text = b'ValueRank' extobj.Value = 524288 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The write mask attribute is writable.' extobj.DisplayName.Text = b'WriteMask' extobj.Value = 1048576 value.append(extobj) extobj = ua.EnumValueType() extobj.Description.Text = b'The value attribute is writable.' extobj.DisplayName.Text = b'ValueForVariableType' extobj.Value = 2097152 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11882") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=521") node.BrowseName = ua.QualifiedName.from_string("ContinuationPoint") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=15") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'An identifier for a suspended query or browse operation.'") attrs.DisplayName = ua.LocalizedText("ContinuationPoint") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=537") node.BrowseName = ua.QualifiedName.from_string("RelativePathElement") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=22") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'An element in a relative path.'") attrs.DisplayName = ua.LocalizedText("RelativePathElement") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=540") node.BrowseName = ua.QualifiedName.from_string("RelativePath") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=22") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'A relative path constructed from reference types and browse names.'") attrs.DisplayName = ua.LocalizedText("RelativePath") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=289") node.BrowseName = ua.QualifiedName.from_string("Counter") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=7") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'A monotonically increasing value.'") attrs.DisplayName = ua.LocalizedText("Counter") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=291") node.BrowseName = ua.QualifiedName.from_string("NumericRange") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=12") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'Specifies a range of array indexes.'") attrs.DisplayName = ua.LocalizedText("NumericRange") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=292") node.BrowseName = ua.QualifiedName.from_string("Time") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=12") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'A time value specified as HH:MM:SS.SSS.'") attrs.DisplayName = ua.LocalizedText("Time") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=293") node.BrowseName = ua.QualifiedName.from_string("Date") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=13") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'A date value.'") attrs.DisplayName = ua.LocalizedText("Date") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=331") node.BrowseName = ua.QualifiedName.from_string("EndpointConfiguration") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=22") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.DisplayName = ua.LocalizedText("EndpointConfiguration") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=334") node.BrowseName = ua.QualifiedName.from_string("ComplianceLevel") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=29") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.DisplayName = ua.LocalizedText("ComplianceLevel") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=334") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7599") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=7599") node.BrowseName = ua.QualifiedName.from_string("EnumStrings") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=334") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EnumStrings") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.Value = ua.Variant(['Untested', 'Partial', 'SelfTested', 'Certified'], ua.VariantType.LocalizedText) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=7599") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=335") node.BrowseName = ua.QualifiedName.from_string("SupportedProfile") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=22") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.DisplayName = ua.LocalizedText("SupportedProfile") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=341") node.BrowseName = ua.QualifiedName.from_string("SoftwareCertificate") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=22") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.DisplayName = ua.LocalizedText("SoftwareCertificate") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=576") node.BrowseName = ua.QualifiedName.from_string("FilterOperator") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=29") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.DisplayName = ua.LocalizedText("FilterOperator") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=576") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7605") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=7605") node.BrowseName = ua.QualifiedName.from_string("EnumStrings") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=576") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EnumStrings") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.Value = ua.Variant(['Equals', 'IsNull', 'GreaterThan', 'LessThan', 'GreaterThanOrEqual', 'LessThanOrEqual', 'Like', 'Not', 'Between', 'InList', 'And', 'Or', 'Cast', 'InView', 'OfType', 'RelatedTo', 'BitwiseAnd', 'BitwiseOr'], ua.VariantType.LocalizedText) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=7605") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=583") node.BrowseName = ua.QualifiedName.from_string("ContentFilterElement") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=22") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.DisplayName = ua.LocalizedText("ContentFilterElement") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=586") node.BrowseName = ua.QualifiedName.from_string("ContentFilter") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=22") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.DisplayName = ua.LocalizedText("ContentFilter") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=589") node.BrowseName = ua.QualifiedName.from_string("FilterOperand") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=22") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.DisplayName = ua.LocalizedText("FilterOperand") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=592") node.BrowseName = ua.QualifiedName.from_string("ElementOperand") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=589") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.DisplayName = ua.LocalizedText("ElementOperand") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=595") node.BrowseName = ua.QualifiedName.from_string("LiteralOperand") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=589") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.DisplayName = ua.LocalizedText("LiteralOperand") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=598") node.BrowseName = ua.QualifiedName.from_string("AttributeOperand") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=589") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.DisplayName = ua.LocalizedText("AttributeOperand") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=601") node.BrowseName = ua.QualifiedName.from_string("SimpleAttributeOperand") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=589") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.DisplayName = ua.LocalizedText("SimpleAttributeOperand") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=659") node.BrowseName = ua.QualifiedName.from_string("HistoryEvent") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=22") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.DisplayName = ua.LocalizedText("HistoryEvent") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11234") node.BrowseName = ua.QualifiedName.from_string("HistoryUpdateType") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=29") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.DisplayName = ua.LocalizedText("HistoryUpdateType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11234") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11884") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11884") node.BrowseName = ua.QualifiedName.from_string("EnumValues") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11234") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EnumValues") attrs.DataType = ua.NodeId.from_string("i=7594") value = [] extobj = ua.EnumValueType() extobj.DisplayName.Text = b'Insert' extobj.Value = 1 value.append(extobj) extobj = ua.EnumValueType() extobj.DisplayName.Text = b'Replace' extobj.Value = 2 value.append(extobj) extobj = ua.EnumValueType() extobj.DisplayName.Text = b'Update' extobj.Value = 3 value.append(extobj) extobj = ua.EnumValueType() extobj.DisplayName.Text = b'Delete' extobj.Value = 4 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11884") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11293") node.BrowseName = ua.QualifiedName.from_string("PerformUpdateType") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=29") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.DisplayName = ua.LocalizedText("PerformUpdateType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11293") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11885") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11885") node.BrowseName = ua.QualifiedName.from_string("EnumValues") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11293") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EnumValues") attrs.DataType = ua.NodeId.from_string("i=7594") value = [] extobj = ua.EnumValueType() extobj.DisplayName.Text = b'Insert' extobj.Value = 1 value.append(extobj) extobj = ua.EnumValueType() extobj.DisplayName.Text = b'Replace' extobj.Value = 2 value.append(extobj) extobj = ua.EnumValueType() extobj.DisplayName.Text = b'Update' extobj.Value = 3 value.append(extobj) extobj = ua.EnumValueType() extobj.DisplayName.Text = b'Remove' extobj.Value = 4 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11885") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=719") node.BrowseName = ua.QualifiedName.from_string("MonitoringFilter") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=22") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.DisplayName = ua.LocalizedText("MonitoringFilter") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=725") node.BrowseName = ua.QualifiedName.from_string("EventFilter") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=719") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.DisplayName = ua.LocalizedText("EventFilter") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=948") node.BrowseName = ua.QualifiedName.from_string("AggregateConfiguration") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=22") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.DisplayName = ua.LocalizedText("AggregateConfiguration") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=920") node.BrowseName = ua.QualifiedName.from_string("HistoryEventFieldList") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=22") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.DisplayName = ua.LocalizedText("HistoryEventFieldList") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=309") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=308") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=309") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8300") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12195") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=12189") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=12195") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12201") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=305") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=304") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=305") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8297") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=313") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=312") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=313") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8303") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=433") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=432") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=433") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8417") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12892") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=12890") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=12892") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12894") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12893") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=12891") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=12893") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12897") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=345") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=344") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=345") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8333") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=317") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=316") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=317") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8306") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=320") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=319") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=320") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8309") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=323") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=322") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=323") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8312") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=326") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=325") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=326") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8315") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12505") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=12504") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=12505") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12506") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=939") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=938") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=939") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8318") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=377") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=376") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=377") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8363") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=380") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=379") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=380") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8366") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=383") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=382") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=383") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8369") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=386") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=385") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=386") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8372") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=538") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=537") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=538") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12712") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=541") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=540") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=541") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12715") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=332") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=331") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=332") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8321") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=336") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=335") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=336") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8324") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=342") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=341") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=342") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8330") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=584") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=583") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=584") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8564") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=587") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=586") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=587") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8567") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=590") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=589") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=590") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8570") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=593") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=592") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=593") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8573") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=596") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=595") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=596") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8576") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=599") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=598") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=599") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8579") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=602") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=601") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=602") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8582") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=660") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=659") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=660") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8639") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=720") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=719") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=720") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8702") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=726") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=725") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=726") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8708") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=949") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=948") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=949") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8711") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=921") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=920") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=921") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8807") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=310") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=308") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=310") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7665") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12207") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=12189") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=12207") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12213") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=306") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=304") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=306") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7662") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=314") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=312") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=314") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7668") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=434") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=432") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=434") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7782") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12900") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=12890") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=12900") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12902") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12901") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=12891") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=12901") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12905") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=346") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=344") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=346") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7698") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=318") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=316") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=318") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7671") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=321") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=319") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=321") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7674") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=324") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=322") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=324") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7677") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=327") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=325") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=327") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7680") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12509") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=12504") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=12509") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12510") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=940") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=938") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=940") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7683") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=378") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=376") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=378") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7728") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=381") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=379") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=381") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7731") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=384") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=382") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=384") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7734") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=387") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=385") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=387") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7737") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=539") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=537") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=539") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12718") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=542") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=540") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=542") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12721") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=333") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=331") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=333") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7686") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=337") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=335") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=337") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7689") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=343") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=341") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=343") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7695") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=585") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=583") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=585") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7929") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=588") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=586") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=588") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7932") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=591") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=589") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=591") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7935") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=594") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=592") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=594") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7938") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=597") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=595") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=597") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7941") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=600") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=598") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=600") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7944") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=603") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=601") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=603") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7947") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=661") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=659") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=661") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8004") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=721") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=719") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=721") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8067") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=727") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=725") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=727") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8073") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=950") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=948") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=950") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8076") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=922") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=920") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=922") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8172") refs.append(ref) server.add_references(refs) python-opcua-0.90.3/opcua/server/standard_address_space/standard_address_space_part5.py000066400000000000000000060527741310132730300315110ustar00rootroot00000000000000 """ DO NOT EDIT THIS FILE! It is automatically generated from opcfoundation.org schemas. """ from opcua import ua def create_standard_address_space_Part5(server): node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=51") node.BrowseName = ua.QualifiedName.from_string("FromState") node.NodeClass = ua.NodeClass.ReferenceType node.ParentNodeId = ua.NodeId.from_string("i=32") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ReferenceTypeAttributes() attrs.Description = ua.LocalizedText("The type for a reference to the state before a transition.") attrs.DisplayName = ua.LocalizedText("FromState") attrs.InverseName = ua.LocalizedText("ToTransition") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=52") node.BrowseName = ua.QualifiedName.from_string("ToState") node.NodeClass = ua.NodeClass.ReferenceType node.ParentNodeId = ua.NodeId.from_string("i=32") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ReferenceTypeAttributes() attrs.Description = ua.LocalizedText("The type for a reference to the state after a transition.") attrs.DisplayName = ua.LocalizedText("ToState") attrs.InverseName = ua.LocalizedText("FromTransition") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=53") node.BrowseName = ua.QualifiedName.from_string("HasCause") node.NodeClass = ua.NodeClass.ReferenceType node.ParentNodeId = ua.NodeId.from_string("i=32") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ReferenceTypeAttributes() attrs.Description = ua.LocalizedText("The type for a reference to a method that can cause a transition to occur.") attrs.DisplayName = ua.LocalizedText("HasCause") attrs.InverseName = ua.LocalizedText("MayBeCausedBy") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=54") node.BrowseName = ua.QualifiedName.from_string("HasEffect") node.NodeClass = ua.NodeClass.ReferenceType node.ParentNodeId = ua.NodeId.from_string("i=32") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ReferenceTypeAttributes() attrs.Description = ua.LocalizedText("The type for a reference to an event that may be raised when a transition occurs.") attrs.DisplayName = ua.LocalizedText("HasEffect") attrs.InverseName = ua.LocalizedText("MayBeEffectedBy") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=117") node.BrowseName = ua.QualifiedName.from_string("HasSubStateMachine") node.NodeClass = ua.NodeClass.ReferenceType node.ParentNodeId = ua.NodeId.from_string("i=32") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ReferenceTypeAttributes() attrs.Description = ua.LocalizedText("The type for a reference to a substate for a state.") attrs.DisplayName = ua.LocalizedText("HasSubStateMachine") attrs.InverseName = ua.LocalizedText("SubStateMachineOf") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=58") node.BrowseName = ua.QualifiedName.from_string("BaseObjectType") node.NodeClass = ua.NodeClass.ObjectType attrs = ua.ObjectTypeAttributes() attrs.Description = ua.LocalizedText("The base type for all object nodes.") attrs.DisplayName = ua.LocalizedText("BaseObjectType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=61") node.BrowseName = ua.QualifiedName.from_string("FolderType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=58") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.Description = ua.LocalizedText("The type for objects that organize other nodes.") attrs.DisplayName = ua.LocalizedText("FolderType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=62") node.BrowseName = ua.QualifiedName.from_string("BaseVariableType") node.NodeClass = ua.NodeClass.VariableType attrs = ua.VariableTypeAttributes() attrs.Description = ua.LocalizedText("The abstract base type for all variable nodes.") attrs.DisplayName = ua.LocalizedText("BaseVariableType") attrs.IsAbstract = True attrs.Description = ua.LocalizedText("The abstract base type for all variable nodes.") attrs.DisplayName = ua.LocalizedText("BaseVariableType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -2 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=63") node.BrowseName = ua.QualifiedName.from_string("BaseDataVariableType") node.NodeClass = ua.NodeClass.VariableType node.ParentNodeId = ua.NodeId.from_string("i=62") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.VariableTypeAttributes() attrs.Description = ua.LocalizedText("The type for variable that represents a process value.") attrs.DisplayName = ua.LocalizedText("BaseDataVariableType") attrs.Description = ua.LocalizedText("The type for variable that represents a process value.") attrs.DisplayName = ua.LocalizedText("BaseDataVariableType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -2 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=68") node.BrowseName = ua.QualifiedName.from_string("PropertyType") node.NodeClass = ua.NodeClass.VariableType node.ParentNodeId = ua.NodeId.from_string("i=62") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.VariableTypeAttributes() attrs.Description = ua.LocalizedText("The type for variable that represents a property of another node.") attrs.DisplayName = ua.LocalizedText("PropertyType") attrs.Description = ua.LocalizedText("The type for variable that represents a property of another node.") attrs.DisplayName = ua.LocalizedText("PropertyType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -2 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=69") node.BrowseName = ua.QualifiedName.from_string("DataTypeDescriptionType") node.NodeClass = ua.NodeClass.VariableType node.ParentNodeId = ua.NodeId.from_string("i=63") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.VariableTypeAttributes() attrs.Description = ua.LocalizedText("The type for variable that represents the description of a data type encoding.") attrs.DisplayName = ua.LocalizedText("DataTypeDescriptionType") attrs.Description = ua.LocalizedText("The type for variable that represents the description of a data type encoding.") attrs.DisplayName = ua.LocalizedText("DataTypeDescriptionType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=69") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=104") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=69") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=105") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=104") node.BrowseName = ua.QualifiedName.from_string("DataTypeVersion") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=69") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The version number for the data type description.") attrs.DisplayName = ua.LocalizedText("DataTypeVersion") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=104") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=105") node.BrowseName = ua.QualifiedName.from_string("DictionaryFragment") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=69") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("A fragment of a data type dictionary that defines the data type.") attrs.DisplayName = ua.LocalizedText("DictionaryFragment") attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=105") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=72") node.BrowseName = ua.QualifiedName.from_string("DataTypeDictionaryType") node.NodeClass = ua.NodeClass.VariableType node.ParentNodeId = ua.NodeId.from_string("i=63") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.VariableTypeAttributes() attrs.Description = ua.LocalizedText("The type for variable that represents the collection of data type decriptions.") attrs.DisplayName = ua.LocalizedText("DataTypeDictionaryType") attrs.Description = ua.LocalizedText("The type for variable that represents the collection of data type decriptions.") attrs.DisplayName = ua.LocalizedText("DataTypeDictionaryType") attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=72") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=106") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=72") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=107") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=106") node.BrowseName = ua.QualifiedName.from_string("DataTypeVersion") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=72") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The version number for the data type dictionary.") attrs.DisplayName = ua.LocalizedText("DataTypeVersion") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=106") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=107") node.BrowseName = ua.QualifiedName.from_string("NamespaceUri") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=72") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("A URI that uniquely identifies the dictionary.") attrs.DisplayName = ua.LocalizedText("NamespaceUri") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=107") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=75") node.BrowseName = ua.QualifiedName.from_string("DataTypeSystemType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=58") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("DataTypeSystemType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=76") node.BrowseName = ua.QualifiedName.from_string("DataTypeEncodingType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=58") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("DataTypeEncodingType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=77") node.BrowseName = ua.QualifiedName.from_string("ModellingRuleType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=58") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.Description = ua.LocalizedText("The type for an object that describes how an instance declaration is used when a type is instantiated.") attrs.DisplayName = ua.LocalizedText("ModellingRuleType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=77") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=111") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=111") node.BrowseName = ua.QualifiedName.from_string("NamingRule") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=77") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("Specified the significances of the BrowseName when a type is instantiated.") attrs.DisplayName = ua.LocalizedText("NamingRule") attrs.DataType = ua.NodeId.from_string("i=120") attrs.Value = ua.Variant(1, ua.VariantType.Int32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=111") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=78") node.BrowseName = ua.QualifiedName.from_string("Mandatory") node.NodeClass = ua.NodeClass.Object node.TypeDefinition = ua.NodeId.from_string("i=77") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Specifies that an instance with the attributes and references of the instance declaration must appear when a type is instantiated.") attrs.DisplayName = ua.LocalizedText("Mandatory") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=78") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=112") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=112") node.BrowseName = ua.QualifiedName.from_string("NamingRule") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=78") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("Specified the significances of the BrowseName when a type is instantiated.") attrs.DisplayName = ua.LocalizedText("NamingRule") attrs.DataType = ua.NodeId.from_string("i=120") attrs.Value = ua.Variant(1, ua.VariantType.Int32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=80") node.BrowseName = ua.QualifiedName.from_string("Optional") node.NodeClass = ua.NodeClass.Object node.TypeDefinition = ua.NodeId.from_string("i=77") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Specifies that an instance with the attributes and references of the instance declaration may appear when a type is instantiated.") attrs.DisplayName = ua.LocalizedText("Optional") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=80") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=113") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=113") node.BrowseName = ua.QualifiedName.from_string("NamingRule") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=80") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("Specified the significances of the BrowseName when a type is instantiated.") attrs.DisplayName = ua.LocalizedText("NamingRule") attrs.DataType = ua.NodeId.from_string("i=120") attrs.Value = ua.Variant(2, ua.VariantType.Int32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=83") node.BrowseName = ua.QualifiedName.from_string("ExposesItsArray") node.NodeClass = ua.NodeClass.Object node.TypeDefinition = ua.NodeId.from_string("i=77") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Specifies that an instance appears for each element of the containing array variable.") attrs.DisplayName = ua.LocalizedText("ExposesItsArray") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=83") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=114") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=114") node.BrowseName = ua.QualifiedName.from_string("NamingRule") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=83") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("Specified the significances of the BrowseName when a type is instantiated.") attrs.DisplayName = ua.LocalizedText("NamingRule") attrs.DataType = ua.NodeId.from_string("i=120") attrs.Value = ua.Variant(3, ua.VariantType.Int32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=79") node.BrowseName = ua.QualifiedName.from_string("MandatoryShared") node.NodeClass = ua.NodeClass.Object node.TypeDefinition = ua.NodeId.from_string("i=77") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Specifies that a reference to a shared instance must appear in when a type is instantiated.") attrs.DisplayName = ua.LocalizedText("MandatoryShared") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=79") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=116") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=116") node.BrowseName = ua.QualifiedName.from_string("NamingRule") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=79") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("Specified the significances of the BrowseName when a type is instantiated.") attrs.DisplayName = ua.LocalizedText("NamingRule") attrs.DataType = ua.NodeId.from_string("i=120") attrs.Value = ua.Variant(1, ua.VariantType.Int32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11508") node.BrowseName = ua.QualifiedName.from_string("OptionalPlaceholder") node.NodeClass = ua.NodeClass.Object node.TypeDefinition = ua.NodeId.from_string("i=77") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Specifies that zero or more instances with the attributes and references of the instance declaration may appear when a type is instantiated.") attrs.DisplayName = ua.LocalizedText("OptionalPlaceholder") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11508") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11509") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11509") node.BrowseName = ua.QualifiedName.from_string("NamingRule") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11508") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("Specified the significances of the BrowseName when a type is instantiated.") attrs.DisplayName = ua.LocalizedText("NamingRule") attrs.DataType = ua.NodeId.from_string("i=120") attrs.Value = ua.Variant(2, ua.VariantType.Int32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11510") node.BrowseName = ua.QualifiedName.from_string("MandatoryPlaceholder") node.NodeClass = ua.NodeClass.Object node.TypeDefinition = ua.NodeId.from_string("i=77") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Specifies that one or more instances with the attributes and references of the instance declaration must appear when a type is instantiated.") attrs.DisplayName = ua.LocalizedText("MandatoryPlaceholder") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11510") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11511") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11511") node.BrowseName = ua.QualifiedName.from_string("NamingRule") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11510") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("Specified the significances of the BrowseName when a type is instantiated.") attrs.DisplayName = ua.LocalizedText("NamingRule") attrs.DataType = ua.NodeId.from_string("i=120") attrs.Value = ua.Variant(1, ua.VariantType.Int32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=84") node.BrowseName = ua.QualifiedName.from_string("Root") node.NodeClass = ua.NodeClass.Object node.TypeDefinition = ua.NodeId.from_string("i=61") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("The root of the server address space.") attrs.DisplayName = ua.LocalizedText("Root") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=85") node.BrowseName = ua.QualifiedName.from_string("Objects") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=84") node.ReferenceTypeId = ua.NodeId.from_string("i=35") node.TypeDefinition = ua.NodeId.from_string("i=61") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("The browse entry point when looking for objects in the server address space.") attrs.DisplayName = ua.LocalizedText("Objects") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=86") node.BrowseName = ua.QualifiedName.from_string("Types") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=84") node.ReferenceTypeId = ua.NodeId.from_string("i=35") node.TypeDefinition = ua.NodeId.from_string("i=61") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("The browse entry point when looking for types in the server address space.") attrs.DisplayName = ua.LocalizedText("Types") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=87") node.BrowseName = ua.QualifiedName.from_string("Views") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=84") node.ReferenceTypeId = ua.NodeId.from_string("i=35") node.TypeDefinition = ua.NodeId.from_string("i=61") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("The browse entry point when looking for views in the server address space.") attrs.DisplayName = ua.LocalizedText("Views") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=88") node.BrowseName = ua.QualifiedName.from_string("ObjectTypes") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=86") node.ReferenceTypeId = ua.NodeId.from_string("i=35") node.TypeDefinition = ua.NodeId.from_string("i=61") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("The browse entry point when looking for object types in the server address space.") attrs.DisplayName = ua.LocalizedText("ObjectTypes") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=35") ref.SourceNodeId = ua.NodeId.from_string("i=88") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=58") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=89") node.BrowseName = ua.QualifiedName.from_string("VariableTypes") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=86") node.ReferenceTypeId = ua.NodeId.from_string("i=35") node.TypeDefinition = ua.NodeId.from_string("i=61") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("The browse entry point when looking for variable types in the server address space.") attrs.DisplayName = ua.LocalizedText("VariableTypes") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=35") ref.SourceNodeId = ua.NodeId.from_string("i=89") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=62") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=90") node.BrowseName = ua.QualifiedName.from_string("DataTypes") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=86") node.ReferenceTypeId = ua.NodeId.from_string("i=35") node.TypeDefinition = ua.NodeId.from_string("i=61") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("The browse entry point when looking for data types in the server address space.") attrs.DisplayName = ua.LocalizedText("DataTypes") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=35") ref.SourceNodeId = ua.NodeId.from_string("i=90") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=24") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=91") node.BrowseName = ua.QualifiedName.from_string("ReferenceTypes") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=86") node.ReferenceTypeId = ua.NodeId.from_string("i=35") node.TypeDefinition = ua.NodeId.from_string("i=61") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("The browse entry point when looking for reference types in the server address space.") attrs.DisplayName = ua.LocalizedText("ReferenceTypes") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=35") ref.SourceNodeId = ua.NodeId.from_string("i=91") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=31") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=92") node.BrowseName = ua.QualifiedName.from_string("XML Schema") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=90") node.ReferenceTypeId = ua.NodeId.from_string("i=35") node.TypeDefinition = ua.NodeId.from_string("i=75") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("A type system which uses XML schema to describe the encoding of data types.") attrs.DisplayName = ua.LocalizedText("XML Schema") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=93") node.BrowseName = ua.QualifiedName.from_string("OPC Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=90") node.ReferenceTypeId = ua.NodeId.from_string("i=35") node.TypeDefinition = ua.NodeId.from_string("i=75") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("A type system which uses OPC binary schema to describe the encoding of data types.") attrs.DisplayName = ua.LocalizedText("OPC Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2004") node.BrowseName = ua.QualifiedName.from_string("ServerType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=58") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.Description = ua.LocalizedText("Specifies the current status and capabilities of the server.") attrs.DisplayName = ua.LocalizedText("ServerType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2004") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2005") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2004") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2006") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2004") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2007") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2004") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2008") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2004") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2742") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2004") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12882") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2004") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2009") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2004") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2010") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2004") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2011") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2004") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2012") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2004") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11527") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2004") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11489") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2004") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12871") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2004") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12746") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2004") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12883") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2005") node.BrowseName = ua.QualifiedName.from_string("ServerArray") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2004") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 attrs.Description = ua.LocalizedText("The list of server URIs used by the server.") attrs.DisplayName = ua.LocalizedText("ServerArray") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2005") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2006") node.BrowseName = ua.QualifiedName.from_string("NamespaceArray") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2004") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 attrs.Description = ua.LocalizedText("The list of namespace URIs used by the server.") attrs.DisplayName = ua.LocalizedText("NamespaceArray") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2006") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2007") node.BrowseName = ua.QualifiedName.from_string("ServerStatus") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2004") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2138") attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 attrs.Description = ua.LocalizedText("The current status of the server.") attrs.DisplayName = ua.LocalizedText("ServerStatus") attrs.DataType = ua.NodeId.from_string("i=862") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2007") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3074") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2007") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3075") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2007") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3076") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2007") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3077") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2007") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3084") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2007") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3085") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2007") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3074") node.BrowseName = ua.QualifiedName.from_string("StartTime") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2007") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("StartTime") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3074") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3075") node.BrowseName = ua.QualifiedName.from_string("CurrentTime") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2007") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CurrentTime") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3075") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3076") node.BrowseName = ua.QualifiedName.from_string("State") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2007") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("State") attrs.DataType = ua.NodeId.from_string("i=852") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3076") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3077") node.BrowseName = ua.QualifiedName.from_string("BuildInfo") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2007") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=3051") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("BuildInfo") attrs.DataType = ua.NodeId.from_string("i=338") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=3077") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3078") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=3077") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3079") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=3077") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3080") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=3077") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3081") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=3077") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3082") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=3077") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3083") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3077") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3078") node.BrowseName = ua.QualifiedName.from_string("ProductUri") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3077") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 attrs.DisplayName = ua.LocalizedText("ProductUri") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3078") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3079") node.BrowseName = ua.QualifiedName.from_string("ManufacturerName") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3077") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 attrs.DisplayName = ua.LocalizedText("ManufacturerName") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3079") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3080") node.BrowseName = ua.QualifiedName.from_string("ProductName") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3077") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 attrs.DisplayName = ua.LocalizedText("ProductName") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3080") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3081") node.BrowseName = ua.QualifiedName.from_string("SoftwareVersion") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3077") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 attrs.DisplayName = ua.LocalizedText("SoftwareVersion") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3081") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3082") node.BrowseName = ua.QualifiedName.from_string("BuildNumber") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3077") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 attrs.DisplayName = ua.LocalizedText("BuildNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3082") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3083") node.BrowseName = ua.QualifiedName.from_string("BuildDate") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3077") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 attrs.DisplayName = ua.LocalizedText("BuildDate") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3083") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3084") node.BrowseName = ua.QualifiedName.from_string("SecondsTillShutdown") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2007") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SecondsTillShutdown") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3084") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3085") node.BrowseName = ua.QualifiedName.from_string("ShutdownReason") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2007") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ShutdownReason") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3085") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2008") node.BrowseName = ua.QualifiedName.from_string("ServiceLevel") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2004") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 attrs.Description = ua.LocalizedText("A value indicating the level of service the server can provide. 255 indicates the best.") attrs.DisplayName = ua.LocalizedText("ServiceLevel") attrs.DataType = ua.NodeId(ua.ObjectIds.Byte) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2008") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2742") node.BrowseName = ua.QualifiedName.from_string("Auditing") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2004") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 attrs.Description = ua.LocalizedText("A flag indicating whether the server is currently generating audit events.") attrs.DisplayName = ua.LocalizedText("Auditing") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2742") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12882") node.BrowseName = ua.QualifiedName.from_string("EstimatedReturnTime") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2004") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 attrs.Description = ua.LocalizedText("Indicates the time at which the Server is expected to be available in the state RUNNING.") attrs.DisplayName = ua.LocalizedText("EstimatedReturnTime") attrs.DataType = ua.NodeId(ua.ObjectIds.DateTime) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12882") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2009") node.BrowseName = ua.QualifiedName.from_string("ServerCapabilities") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2004") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2013") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Describes capabilities supported by the server.") attrs.DisplayName = ua.LocalizedText("ServerCapabilities") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2009") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3086") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2009") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3087") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2009") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3088") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2009") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3089") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2009") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3090") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2009") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3091") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2009") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3092") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2009") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3093") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2009") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3094") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2009") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3086") node.BrowseName = ua.QualifiedName.from_string("ServerProfileArray") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2009") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("A list of profiles supported by the server.") attrs.DisplayName = ua.LocalizedText("ServerProfileArray") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3086") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3087") node.BrowseName = ua.QualifiedName.from_string("LocaleIdArray") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2009") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("A list of locales supported by the server.") attrs.DisplayName = ua.LocalizedText("LocaleIdArray") attrs.DataType = ua.NodeId.from_string("i=295") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3087") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3088") node.BrowseName = ua.QualifiedName.from_string("MinSupportedSampleRate") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2009") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The minimum sampling interval supported by the server.") attrs.DisplayName = ua.LocalizedText("MinSupportedSampleRate") attrs.DataType = ua.NodeId.from_string("i=290") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3088") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3089") node.BrowseName = ua.QualifiedName.from_string("MaxBrowseContinuationPoints") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2009") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The maximum number of continuation points for Browse operations per session.") attrs.DisplayName = ua.LocalizedText("MaxBrowseContinuationPoints") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3089") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3090") node.BrowseName = ua.QualifiedName.from_string("MaxQueryContinuationPoints") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2009") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The maximum number of continuation points for Query operations per session.") attrs.DisplayName = ua.LocalizedText("MaxQueryContinuationPoints") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3090") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3091") node.BrowseName = ua.QualifiedName.from_string("MaxHistoryContinuationPoints") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2009") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The maximum number of continuation points for ReadHistory operations per session.") attrs.DisplayName = ua.LocalizedText("MaxHistoryContinuationPoints") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3091") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3092") node.BrowseName = ua.QualifiedName.from_string("SoftwareCertificates") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2009") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The software certificates owned by the server.") attrs.DisplayName = ua.LocalizedText("SoftwareCertificates") attrs.DataType = ua.NodeId.from_string("i=344") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3092") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3093") node.BrowseName = ua.QualifiedName.from_string("ModellingRules") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2009") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=61") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("A folder for the modelling rules supported by the server.") attrs.DisplayName = ua.LocalizedText("ModellingRules") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3093") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3094") node.BrowseName = ua.QualifiedName.from_string("AggregateFunctions") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2009") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=61") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("A folder for the real time aggregates supported by the server.") attrs.DisplayName = ua.LocalizedText("AggregateFunctions") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3094") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2010") node.BrowseName = ua.QualifiedName.from_string("ServerDiagnostics") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2004") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2020") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Reports diagnostics about the server.") attrs.DisplayName = ua.LocalizedText("ServerDiagnostics") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2010") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3095") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2010") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3110") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2010") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3111") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2010") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3114") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2010") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3095") node.BrowseName = ua.QualifiedName.from_string("ServerDiagnosticsSummary") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2010") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2150") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("A summary of server level diagnostics.") attrs.DisplayName = ua.LocalizedText("ServerDiagnosticsSummary") attrs.DataType = ua.NodeId.from_string("i=859") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=3095") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3096") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=3095") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3097") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=3095") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3098") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=3095") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3099") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=3095") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3100") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=3095") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3101") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=3095") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3102") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=3095") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3104") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=3095") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3105") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=3095") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3106") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=3095") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3107") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=3095") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3108") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3095") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3096") node.BrowseName = ua.QualifiedName.from_string("ServerViewCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3095") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ServerViewCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3096") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3097") node.BrowseName = ua.QualifiedName.from_string("CurrentSessionCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3095") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CurrentSessionCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3097") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3098") node.BrowseName = ua.QualifiedName.from_string("CumulatedSessionCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3095") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CumulatedSessionCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3098") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3099") node.BrowseName = ua.QualifiedName.from_string("SecurityRejectedSessionCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3095") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SecurityRejectedSessionCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3099") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3100") node.BrowseName = ua.QualifiedName.from_string("RejectedSessionCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3095") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("RejectedSessionCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3100") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3101") node.BrowseName = ua.QualifiedName.from_string("SessionTimeoutCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3095") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SessionTimeoutCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3101") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3102") node.BrowseName = ua.QualifiedName.from_string("SessionAbortCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3095") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SessionAbortCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3102") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3104") node.BrowseName = ua.QualifiedName.from_string("PublishingIntervalCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3095") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("PublishingIntervalCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3104") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3105") node.BrowseName = ua.QualifiedName.from_string("CurrentSubscriptionCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3095") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CurrentSubscriptionCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3105") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3106") node.BrowseName = ua.QualifiedName.from_string("CumulatedSubscriptionCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3095") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CumulatedSubscriptionCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3106") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3107") node.BrowseName = ua.QualifiedName.from_string("SecurityRejectedRequestsCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3095") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SecurityRejectedRequestsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3107") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3108") node.BrowseName = ua.QualifiedName.from_string("RejectedRequestsCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3095") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("RejectedRequestsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3108") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3110") node.BrowseName = ua.QualifiedName.from_string("SubscriptionDiagnosticsArray") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2010") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2171") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("A list of diagnostics for each active subscription.") attrs.DisplayName = ua.LocalizedText("SubscriptionDiagnosticsArray") attrs.DataType = ua.NodeId.from_string("i=874") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3110") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3111") node.BrowseName = ua.QualifiedName.from_string("SessionsDiagnosticsSummary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2010") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2026") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("A summary of session level diagnostics.") attrs.DisplayName = ua.LocalizedText("SessionsDiagnosticsSummary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=3111") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3112") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=3111") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3113") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3111") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3112") node.BrowseName = ua.QualifiedName.from_string("SessionDiagnosticsArray") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3111") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2196") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("A list of diagnostics for each active session.") attrs.DisplayName = ua.LocalizedText("SessionDiagnosticsArray") attrs.DataType = ua.NodeId.from_string("i=865") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3112") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3113") node.BrowseName = ua.QualifiedName.from_string("SessionSecurityDiagnosticsArray") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3111") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2243") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("A list of security related diagnostics for each active session.") attrs.DisplayName = ua.LocalizedText("SessionSecurityDiagnosticsArray") attrs.DataType = ua.NodeId.from_string("i=868") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3113") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3114") node.BrowseName = ua.QualifiedName.from_string("EnabledFlag") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2010") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("If TRUE the diagnostics collection is enabled.") attrs.DisplayName = ua.LocalizedText("EnabledFlag") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 attrs.AccessLevel = 3 attrs.UserAccessLevel = 3 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3114") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2011") node.BrowseName = ua.QualifiedName.from_string("VendorServerInfo") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2004") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2033") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Server information provided by the vendor.") attrs.DisplayName = ua.LocalizedText("VendorServerInfo") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2011") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2012") node.BrowseName = ua.QualifiedName.from_string("ServerRedundancy") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2004") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2034") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Describes the redundancy capabilities of the server.") attrs.DisplayName = ua.LocalizedText("ServerRedundancy") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2012") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3115") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2012") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3115") node.BrowseName = ua.QualifiedName.from_string("RedundancySupport") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2012") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("Indicates what style of redundancy is supported by the server.") attrs.DisplayName = ua.LocalizedText("RedundancySupport") attrs.DataType = ua.NodeId.from_string("i=851") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3115") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11527") node.BrowseName = ua.QualifiedName.from_string("Namespaces") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2004") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=11645") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Describes the namespaces supported by the server.") attrs.DisplayName = ua.LocalizedText("Namespaces") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11527") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11489") node.BrowseName = ua.QualifiedName.from_string("GetMonitoredItems") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=2004") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("GetMonitoredItems") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11489") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11490") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11489") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11491") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11489") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11490") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11489") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=7") extobj.Name = 'SubscriptionId' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11490") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11491") node.BrowseName = ua.QualifiedName.from_string("OutputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11489") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("OutputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=7") extobj.Name = 'ServerHandles' extobj.ValueRank = 1 value.append(extobj) extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=7") extobj.Name = 'ClientHandles' extobj.ValueRank = 1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11491") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12871") node.BrowseName = ua.QualifiedName.from_string("ResendData") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=2004") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("ResendData") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=12871") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12872") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12871") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12872") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12871") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=7") extobj.Name = 'SubscriptionId' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12872") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12746") node.BrowseName = ua.QualifiedName.from_string("SetSubscriptionDurable") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=2004") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("SetSubscriptionDurable") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=12746") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12747") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=12746") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12748") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12746") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12747") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12746") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=7") extobj.Name = 'SubscriptionId' extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=7") extobj.Name = 'LifetimeInHours' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12747") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12748") node.BrowseName = ua.QualifiedName.from_string("OutputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12746") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("OutputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=7") extobj.Name = 'RevisedLifetimeInHours' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12748") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12883") node.BrowseName = ua.QualifiedName.from_string("RequestServerStateChange") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=2004") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("RequestServerStateChange") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=12883") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12884") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12883") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12884") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12883") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=852") extobj.Name = 'State' extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=13") extobj.Name = 'EstimatedReturnTime' extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=7") extobj.Name = 'SecondsTillShutdown' extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=21") extobj.Name = 'Reason' extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=1") extobj.Name = 'Restart' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12884") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2013") node.BrowseName = ua.QualifiedName.from_string("ServerCapabilitiesType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=58") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.Description = ua.LocalizedText("Describes the capabilities supported by the server.") attrs.DisplayName = ua.LocalizedText("ServerCapabilitiesType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2013") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2014") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2013") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2016") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2013") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2017") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2013") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2732") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2013") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2733") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2013") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2734") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2013") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3049") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2013") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11549") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2013") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11550") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2013") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12910") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2013") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11551") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2013") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2019") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2013") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2754") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2013") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11562") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2014") node.BrowseName = ua.QualifiedName.from_string("ServerProfileArray") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2013") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("A list of profiles supported by the server.") attrs.DisplayName = ua.LocalizedText("ServerProfileArray") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2014") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2016") node.BrowseName = ua.QualifiedName.from_string("LocaleIdArray") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2013") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("A list of locales supported by the server.") attrs.DisplayName = ua.LocalizedText("LocaleIdArray") attrs.DataType = ua.NodeId.from_string("i=295") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2016") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2017") node.BrowseName = ua.QualifiedName.from_string("MinSupportedSampleRate") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2013") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The minimum sampling interval supported by the server.") attrs.DisplayName = ua.LocalizedText("MinSupportedSampleRate") attrs.DataType = ua.NodeId.from_string("i=290") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2017") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2732") node.BrowseName = ua.QualifiedName.from_string("MaxBrowseContinuationPoints") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2013") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The maximum number of continuation points for Browse operations per session.") attrs.DisplayName = ua.LocalizedText("MaxBrowseContinuationPoints") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2732") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2733") node.BrowseName = ua.QualifiedName.from_string("MaxQueryContinuationPoints") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2013") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The maximum number of continuation points for Query operations per session.") attrs.DisplayName = ua.LocalizedText("MaxQueryContinuationPoints") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2733") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2734") node.BrowseName = ua.QualifiedName.from_string("MaxHistoryContinuationPoints") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2013") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The maximum number of continuation points for ReadHistory operations per session.") attrs.DisplayName = ua.LocalizedText("MaxHistoryContinuationPoints") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2734") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3049") node.BrowseName = ua.QualifiedName.from_string("SoftwareCertificates") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2013") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The software certificates owned by the server.") attrs.DisplayName = ua.LocalizedText("SoftwareCertificates") attrs.DataType = ua.NodeId.from_string("i=344") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3049") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11549") node.BrowseName = ua.QualifiedName.from_string("MaxArrayLength") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2013") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The maximum length for an array value supported by the server.") attrs.DisplayName = ua.LocalizedText("MaxArrayLength") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11549") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11550") node.BrowseName = ua.QualifiedName.from_string("MaxStringLength") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2013") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The maximum length for a string value supported by the server.") attrs.DisplayName = ua.LocalizedText("MaxStringLength") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11550") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12910") node.BrowseName = ua.QualifiedName.from_string("MaxByteStringLength") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2013") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The maximum length for a byte string value supported by the server.") attrs.DisplayName = ua.LocalizedText("MaxByteStringLength") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12910") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11551") node.BrowseName = ua.QualifiedName.from_string("OperationLimits") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2013") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=11564") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Defines the limits supported by the server for different operations.") attrs.DisplayName = ua.LocalizedText("OperationLimits") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11551") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2019") node.BrowseName = ua.QualifiedName.from_string("ModellingRules") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2013") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=61") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("A folder for the modelling rules supported by the server.") attrs.DisplayName = ua.LocalizedText("ModellingRules") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2019") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2754") node.BrowseName = ua.QualifiedName.from_string("AggregateFunctions") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2013") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=61") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("A folder for the real time aggregates supported by the server.") attrs.DisplayName = ua.LocalizedText("AggregateFunctions") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2754") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11562") node.BrowseName = ua.QualifiedName.from_string("") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2013") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2137") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11562") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11508") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2020") node.BrowseName = ua.QualifiedName.from_string("ServerDiagnosticsType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=58") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.Description = ua.LocalizedText("The diagnostics information for a server.") attrs.DisplayName = ua.LocalizedText("ServerDiagnosticsType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2020") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2021") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2020") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2022") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2020") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2023") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2020") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2744") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2020") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2025") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2021") node.BrowseName = ua.QualifiedName.from_string("ServerDiagnosticsSummary") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2020") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2150") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("A summary of server level diagnostics.") attrs.DisplayName = ua.LocalizedText("ServerDiagnosticsSummary") attrs.DataType = ua.NodeId.from_string("i=859") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2021") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3116") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2021") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3117") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2021") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3118") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2021") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3119") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2021") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3120") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2021") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3121") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2021") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3122") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2021") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3124") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2021") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3125") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2021") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3126") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2021") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3127") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2021") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3128") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2021") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3116") node.BrowseName = ua.QualifiedName.from_string("ServerViewCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2021") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ServerViewCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3116") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3117") node.BrowseName = ua.QualifiedName.from_string("CurrentSessionCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2021") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CurrentSessionCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3117") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3118") node.BrowseName = ua.QualifiedName.from_string("CumulatedSessionCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2021") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CumulatedSessionCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3118") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3119") node.BrowseName = ua.QualifiedName.from_string("SecurityRejectedSessionCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2021") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SecurityRejectedSessionCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3119") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3120") node.BrowseName = ua.QualifiedName.from_string("RejectedSessionCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2021") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("RejectedSessionCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3120") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3121") node.BrowseName = ua.QualifiedName.from_string("SessionTimeoutCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2021") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SessionTimeoutCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3121") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3122") node.BrowseName = ua.QualifiedName.from_string("SessionAbortCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2021") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SessionAbortCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3122") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3124") node.BrowseName = ua.QualifiedName.from_string("PublishingIntervalCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2021") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("PublishingIntervalCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3124") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3125") node.BrowseName = ua.QualifiedName.from_string("CurrentSubscriptionCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2021") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CurrentSubscriptionCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3125") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3126") node.BrowseName = ua.QualifiedName.from_string("CumulatedSubscriptionCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2021") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CumulatedSubscriptionCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3126") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3127") node.BrowseName = ua.QualifiedName.from_string("SecurityRejectedRequestsCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2021") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SecurityRejectedRequestsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3127") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3128") node.BrowseName = ua.QualifiedName.from_string("RejectedRequestsCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2021") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("RejectedRequestsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3128") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2022") node.BrowseName = ua.QualifiedName.from_string("SamplingIntervalDiagnosticsArray") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2020") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2164") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("A list of diagnostics for each sampling interval supported by the server.") attrs.DisplayName = ua.LocalizedText("SamplingIntervalDiagnosticsArray") attrs.DataType = ua.NodeId.from_string("i=856") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2022") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2023") node.BrowseName = ua.QualifiedName.from_string("SubscriptionDiagnosticsArray") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2020") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2171") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("A list of diagnostics for each active subscription.") attrs.DisplayName = ua.LocalizedText("SubscriptionDiagnosticsArray") attrs.DataType = ua.NodeId.from_string("i=874") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2023") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2744") node.BrowseName = ua.QualifiedName.from_string("SessionsDiagnosticsSummary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2020") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2026") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("A summary of session level diagnostics.") attrs.DisplayName = ua.LocalizedText("SessionsDiagnosticsSummary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2744") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3129") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2744") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3130") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2744") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3129") node.BrowseName = ua.QualifiedName.from_string("SessionDiagnosticsArray") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2744") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2196") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("A list of diagnostics for each active session.") attrs.DisplayName = ua.LocalizedText("SessionDiagnosticsArray") attrs.DataType = ua.NodeId.from_string("i=865") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3129") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3130") node.BrowseName = ua.QualifiedName.from_string("SessionSecurityDiagnosticsArray") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2744") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2243") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("A list of security related diagnostics for each active session.") attrs.DisplayName = ua.LocalizedText("SessionSecurityDiagnosticsArray") attrs.DataType = ua.NodeId.from_string("i=868") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3130") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2025") node.BrowseName = ua.QualifiedName.from_string("EnabledFlag") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2020") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("If TRUE the diagnostics collection is enabled.") attrs.DisplayName = ua.LocalizedText("EnabledFlag") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 attrs.AccessLevel = 3 attrs.UserAccessLevel = 3 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2025") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2026") node.BrowseName = ua.QualifiedName.from_string("SessionsDiagnosticsSummaryType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=58") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.Description = ua.LocalizedText("Provides a summary of session level diagnostics.") attrs.DisplayName = ua.LocalizedText("SessionsDiagnosticsSummaryType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2026") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2027") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2026") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2028") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2026") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12097") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2027") node.BrowseName = ua.QualifiedName.from_string("SessionDiagnosticsArray") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2026") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2196") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("A list of diagnostics for each active session.") attrs.DisplayName = ua.LocalizedText("SessionDiagnosticsArray") attrs.DataType = ua.NodeId.from_string("i=865") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2027") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2028") node.BrowseName = ua.QualifiedName.from_string("SessionSecurityDiagnosticsArray") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2026") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2243") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("A list of security related diagnostics for each active session.") attrs.DisplayName = ua.LocalizedText("SessionSecurityDiagnosticsArray") attrs.DataType = ua.NodeId.from_string("i=868") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2028") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12097") node.BrowseName = ua.QualifiedName.from_string("") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2026") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2029") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12097") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12098") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12097") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12142") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12097") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12152") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12097") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11508") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12098") node.BrowseName = ua.QualifiedName.from_string("SessionDiagnostics") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12097") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2197") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("Diagnostics information for an active session.") attrs.DisplayName = ua.LocalizedText("SessionDiagnostics") attrs.DataType = ua.NodeId.from_string("i=865") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12098") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12099") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12098") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12100") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12098") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12101") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12098") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12102") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12098") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12103") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12098") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12104") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12098") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12105") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12098") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12106") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12098") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12107") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12098") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12108") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12098") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12109") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12098") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12110") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12098") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12111") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12098") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12112") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12098") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12113") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12098") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12114") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12098") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12115") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12098") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12116") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12098") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12117") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12098") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12118") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12098") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12119") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12098") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12120") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12098") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12121") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12098") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12122") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12098") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12123") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12098") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12124") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12098") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12125") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12098") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12126") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12098") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12127") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12098") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12128") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12098") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12129") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12098") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12130") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12098") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12131") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12098") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12132") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12098") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12133") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12098") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12134") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12098") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12135") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12098") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12136") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12098") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12137") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12098") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12138") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12098") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12139") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12098") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12140") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12098") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12141") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12098") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12099") node.BrowseName = ua.QualifiedName.from_string("SessionId") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12098") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SessionId") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12099") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12100") node.BrowseName = ua.QualifiedName.from_string("SessionName") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12098") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SessionName") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12100") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12101") node.BrowseName = ua.QualifiedName.from_string("ClientDescription") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12098") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ClientDescription") attrs.DataType = ua.NodeId.from_string("i=308") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12101") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12102") node.BrowseName = ua.QualifiedName.from_string("ServerUri") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12098") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ServerUri") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12102") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12103") node.BrowseName = ua.QualifiedName.from_string("EndpointUrl") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12098") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EndpointUrl") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12103") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12104") node.BrowseName = ua.QualifiedName.from_string("LocaleIds") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12098") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("LocaleIds") attrs.DataType = ua.NodeId.from_string("i=295") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12104") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12105") node.BrowseName = ua.QualifiedName.from_string("ActualSessionTimeout") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12098") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ActualSessionTimeout") attrs.DataType = ua.NodeId.from_string("i=290") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12105") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12106") node.BrowseName = ua.QualifiedName.from_string("MaxResponseMessageSize") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12098") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("MaxResponseMessageSize") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12106") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12107") node.BrowseName = ua.QualifiedName.from_string("ClientConnectionTime") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12098") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ClientConnectionTime") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12107") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12108") node.BrowseName = ua.QualifiedName.from_string("ClientLastContactTime") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12098") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ClientLastContactTime") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12108") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12109") node.BrowseName = ua.QualifiedName.from_string("CurrentSubscriptionsCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12098") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CurrentSubscriptionsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12109") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12110") node.BrowseName = ua.QualifiedName.from_string("CurrentMonitoredItemsCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12098") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CurrentMonitoredItemsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12110") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12111") node.BrowseName = ua.QualifiedName.from_string("CurrentPublishRequestsInQueue") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12098") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CurrentPublishRequestsInQueue") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12111") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12112") node.BrowseName = ua.QualifiedName.from_string("TotalRequestCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12098") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TotalRequestCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12112") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12113") node.BrowseName = ua.QualifiedName.from_string("UnauthorizedRequestCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12098") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("UnauthorizedRequestCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12113") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12114") node.BrowseName = ua.QualifiedName.from_string("ReadCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12098") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ReadCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12114") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12115") node.BrowseName = ua.QualifiedName.from_string("HistoryReadCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12098") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("HistoryReadCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12115") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12116") node.BrowseName = ua.QualifiedName.from_string("WriteCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12098") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("WriteCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12116") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12117") node.BrowseName = ua.QualifiedName.from_string("HistoryUpdateCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12098") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("HistoryUpdateCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12117") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12118") node.BrowseName = ua.QualifiedName.from_string("CallCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12098") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CallCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12118") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12119") node.BrowseName = ua.QualifiedName.from_string("CreateMonitoredItemsCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12098") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CreateMonitoredItemsCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12119") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12120") node.BrowseName = ua.QualifiedName.from_string("ModifyMonitoredItemsCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12098") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ModifyMonitoredItemsCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12120") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12121") node.BrowseName = ua.QualifiedName.from_string("SetMonitoringModeCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12098") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SetMonitoringModeCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12121") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12122") node.BrowseName = ua.QualifiedName.from_string("SetTriggeringCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12098") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SetTriggeringCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12122") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12123") node.BrowseName = ua.QualifiedName.from_string("DeleteMonitoredItemsCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12098") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("DeleteMonitoredItemsCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12123") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12124") node.BrowseName = ua.QualifiedName.from_string("CreateSubscriptionCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12098") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CreateSubscriptionCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12124") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12125") node.BrowseName = ua.QualifiedName.from_string("ModifySubscriptionCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12098") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ModifySubscriptionCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12125") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12126") node.BrowseName = ua.QualifiedName.from_string("SetPublishingModeCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12098") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SetPublishingModeCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12126") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12127") node.BrowseName = ua.QualifiedName.from_string("PublishCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12098") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("PublishCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12127") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12128") node.BrowseName = ua.QualifiedName.from_string("RepublishCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12098") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("RepublishCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12128") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12129") node.BrowseName = ua.QualifiedName.from_string("TransferSubscriptionsCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12098") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TransferSubscriptionsCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12129") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12130") node.BrowseName = ua.QualifiedName.from_string("DeleteSubscriptionsCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12098") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("DeleteSubscriptionsCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12130") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12131") node.BrowseName = ua.QualifiedName.from_string("AddNodesCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12098") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("AddNodesCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12131") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12132") node.BrowseName = ua.QualifiedName.from_string("AddReferencesCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12098") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("AddReferencesCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12132") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12133") node.BrowseName = ua.QualifiedName.from_string("DeleteNodesCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12098") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("DeleteNodesCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12133") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12134") node.BrowseName = ua.QualifiedName.from_string("DeleteReferencesCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12098") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("DeleteReferencesCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12134") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12135") node.BrowseName = ua.QualifiedName.from_string("BrowseCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12098") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("BrowseCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12135") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12136") node.BrowseName = ua.QualifiedName.from_string("BrowseNextCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12098") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("BrowseNextCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12136") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12137") node.BrowseName = ua.QualifiedName.from_string("TranslateBrowsePathsToNodeIdsCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12098") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TranslateBrowsePathsToNodeIdsCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12137") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12138") node.BrowseName = ua.QualifiedName.from_string("QueryFirstCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12098") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("QueryFirstCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12138") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12139") node.BrowseName = ua.QualifiedName.from_string("QueryNextCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12098") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("QueryNextCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12139") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12140") node.BrowseName = ua.QualifiedName.from_string("RegisterNodesCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12098") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("RegisterNodesCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12140") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12141") node.BrowseName = ua.QualifiedName.from_string("UnregisterNodesCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12098") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("UnregisterNodesCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12141") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12142") node.BrowseName = ua.QualifiedName.from_string("SessionSecurityDiagnostics") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12097") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2244") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("Security related diagnostics information for an active session.") attrs.DisplayName = ua.LocalizedText("SessionSecurityDiagnostics") attrs.DataType = ua.NodeId.from_string("i=868") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12142") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12143") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12142") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12144") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12142") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12145") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12142") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12146") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12142") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12147") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12142") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12148") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12142") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12149") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12142") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12150") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12142") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12151") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12142") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12143") node.BrowseName = ua.QualifiedName.from_string("SessionId") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12142") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SessionId") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12143") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12144") node.BrowseName = ua.QualifiedName.from_string("ClientUserIdOfSession") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12142") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ClientUserIdOfSession") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12144") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12145") node.BrowseName = ua.QualifiedName.from_string("ClientUserIdHistory") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12142") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ClientUserIdHistory") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12145") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12146") node.BrowseName = ua.QualifiedName.from_string("AuthenticationMechanism") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12142") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("AuthenticationMechanism") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12146") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12147") node.BrowseName = ua.QualifiedName.from_string("Encoding") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12142") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Encoding") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12147") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12148") node.BrowseName = ua.QualifiedName.from_string("TransportProtocol") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12142") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TransportProtocol") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12148") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12149") node.BrowseName = ua.QualifiedName.from_string("SecurityMode") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12142") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SecurityMode") attrs.DataType = ua.NodeId.from_string("i=302") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12149") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12150") node.BrowseName = ua.QualifiedName.from_string("SecurityPolicyUri") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12142") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SecurityPolicyUri") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12150") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12151") node.BrowseName = ua.QualifiedName.from_string("ClientCertificate") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12142") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ClientCertificate") attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12151") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12152") node.BrowseName = ua.QualifiedName.from_string("SubscriptionDiagnosticsArray") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12097") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2171") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("A list of diagnostics for each subscription owned by the session.") attrs.DisplayName = ua.LocalizedText("SubscriptionDiagnosticsArray") attrs.DataType = ua.NodeId.from_string("i=874") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12152") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2029") node.BrowseName = ua.QualifiedName.from_string("SessionDiagnosticsObjectType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=58") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.Description = ua.LocalizedText("A container for session level diagnostics information.") attrs.DisplayName = ua.LocalizedText("SessionDiagnosticsObjectType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2029") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2030") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2029") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2031") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2029") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2032") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2030") node.BrowseName = ua.QualifiedName.from_string("SessionDiagnostics") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2029") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2197") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("Diagnostics information for an active session.") attrs.DisplayName = ua.LocalizedText("SessionDiagnostics") attrs.DataType = ua.NodeId.from_string("i=865") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2030") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3131") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2030") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3132") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2030") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3133") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2030") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3134") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2030") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3135") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2030") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3136") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2030") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3137") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2030") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3138") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2030") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3139") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2030") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3140") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2030") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3141") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2030") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3142") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2030") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3143") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2030") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8898") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2030") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11891") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2030") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3151") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2030") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3152") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2030") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3153") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2030") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3154") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2030") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3155") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2030") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3156") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2030") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3157") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2030") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3158") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2030") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3159") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2030") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3160") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2030") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3161") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2030") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3162") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2030") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3163") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2030") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3164") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2030") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3165") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2030") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3166") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2030") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3167") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2030") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3168") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2030") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3169") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2030") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3170") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2030") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3171") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2030") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3172") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2030") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3173") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2030") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3174") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2030") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3175") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2030") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3176") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2030") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3177") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2030") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3178") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2030") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3131") node.BrowseName = ua.QualifiedName.from_string("SessionId") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2030") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SessionId") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3131") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3132") node.BrowseName = ua.QualifiedName.from_string("SessionName") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2030") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SessionName") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3132") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3133") node.BrowseName = ua.QualifiedName.from_string("ClientDescription") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2030") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ClientDescription") attrs.DataType = ua.NodeId.from_string("i=308") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3133") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3134") node.BrowseName = ua.QualifiedName.from_string("ServerUri") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2030") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ServerUri") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3134") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3135") node.BrowseName = ua.QualifiedName.from_string("EndpointUrl") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2030") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EndpointUrl") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3135") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3136") node.BrowseName = ua.QualifiedName.from_string("LocaleIds") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2030") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("LocaleIds") attrs.DataType = ua.NodeId.from_string("i=295") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3136") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3137") node.BrowseName = ua.QualifiedName.from_string("ActualSessionTimeout") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2030") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ActualSessionTimeout") attrs.DataType = ua.NodeId.from_string("i=290") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3137") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3138") node.BrowseName = ua.QualifiedName.from_string("MaxResponseMessageSize") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2030") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("MaxResponseMessageSize") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3138") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3139") node.BrowseName = ua.QualifiedName.from_string("ClientConnectionTime") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2030") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ClientConnectionTime") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3139") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3140") node.BrowseName = ua.QualifiedName.from_string("ClientLastContactTime") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2030") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ClientLastContactTime") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3140") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3141") node.BrowseName = ua.QualifiedName.from_string("CurrentSubscriptionsCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2030") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CurrentSubscriptionsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3141") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3142") node.BrowseName = ua.QualifiedName.from_string("CurrentMonitoredItemsCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2030") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CurrentMonitoredItemsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3142") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3143") node.BrowseName = ua.QualifiedName.from_string("CurrentPublishRequestsInQueue") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2030") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CurrentPublishRequestsInQueue") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3143") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8898") node.BrowseName = ua.QualifiedName.from_string("TotalRequestCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2030") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TotalRequestCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=8898") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11891") node.BrowseName = ua.QualifiedName.from_string("UnauthorizedRequestCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2030") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("UnauthorizedRequestCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11891") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3151") node.BrowseName = ua.QualifiedName.from_string("ReadCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2030") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ReadCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3151") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3152") node.BrowseName = ua.QualifiedName.from_string("HistoryReadCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2030") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("HistoryReadCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3152") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3153") node.BrowseName = ua.QualifiedName.from_string("WriteCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2030") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("WriteCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3153") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3154") node.BrowseName = ua.QualifiedName.from_string("HistoryUpdateCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2030") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("HistoryUpdateCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3154") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3155") node.BrowseName = ua.QualifiedName.from_string("CallCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2030") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CallCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3155") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3156") node.BrowseName = ua.QualifiedName.from_string("CreateMonitoredItemsCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2030") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CreateMonitoredItemsCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3156") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3157") node.BrowseName = ua.QualifiedName.from_string("ModifyMonitoredItemsCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2030") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ModifyMonitoredItemsCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3157") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3158") node.BrowseName = ua.QualifiedName.from_string("SetMonitoringModeCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2030") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SetMonitoringModeCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3158") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3159") node.BrowseName = ua.QualifiedName.from_string("SetTriggeringCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2030") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SetTriggeringCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3159") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3160") node.BrowseName = ua.QualifiedName.from_string("DeleteMonitoredItemsCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2030") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("DeleteMonitoredItemsCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3160") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3161") node.BrowseName = ua.QualifiedName.from_string("CreateSubscriptionCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2030") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CreateSubscriptionCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3161") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3162") node.BrowseName = ua.QualifiedName.from_string("ModifySubscriptionCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2030") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ModifySubscriptionCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3162") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3163") node.BrowseName = ua.QualifiedName.from_string("SetPublishingModeCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2030") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SetPublishingModeCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3163") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3164") node.BrowseName = ua.QualifiedName.from_string("PublishCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2030") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("PublishCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3164") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3165") node.BrowseName = ua.QualifiedName.from_string("RepublishCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2030") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("RepublishCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3165") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3166") node.BrowseName = ua.QualifiedName.from_string("TransferSubscriptionsCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2030") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TransferSubscriptionsCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3166") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3167") node.BrowseName = ua.QualifiedName.from_string("DeleteSubscriptionsCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2030") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("DeleteSubscriptionsCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3167") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3168") node.BrowseName = ua.QualifiedName.from_string("AddNodesCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2030") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("AddNodesCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3168") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3169") node.BrowseName = ua.QualifiedName.from_string("AddReferencesCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2030") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("AddReferencesCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3169") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3170") node.BrowseName = ua.QualifiedName.from_string("DeleteNodesCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2030") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("DeleteNodesCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3170") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3171") node.BrowseName = ua.QualifiedName.from_string("DeleteReferencesCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2030") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("DeleteReferencesCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3171") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3172") node.BrowseName = ua.QualifiedName.from_string("BrowseCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2030") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("BrowseCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3172") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3173") node.BrowseName = ua.QualifiedName.from_string("BrowseNextCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2030") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("BrowseNextCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3173") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3174") node.BrowseName = ua.QualifiedName.from_string("TranslateBrowsePathsToNodeIdsCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2030") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TranslateBrowsePathsToNodeIdsCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3174") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3175") node.BrowseName = ua.QualifiedName.from_string("QueryFirstCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2030") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("QueryFirstCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3175") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3176") node.BrowseName = ua.QualifiedName.from_string("QueryNextCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2030") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("QueryNextCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3176") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3177") node.BrowseName = ua.QualifiedName.from_string("RegisterNodesCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2030") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("RegisterNodesCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3177") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3178") node.BrowseName = ua.QualifiedName.from_string("UnregisterNodesCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2030") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("UnregisterNodesCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3178") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2031") node.BrowseName = ua.QualifiedName.from_string("SessionSecurityDiagnostics") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2029") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2244") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("Security related diagnostics information for an active session.") attrs.DisplayName = ua.LocalizedText("SessionSecurityDiagnostics") attrs.DataType = ua.NodeId.from_string("i=868") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2031") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3179") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2031") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3180") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2031") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3181") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2031") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3182") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2031") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3183") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2031") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3184") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2031") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3185") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2031") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3186") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2031") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3187") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2031") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3179") node.BrowseName = ua.QualifiedName.from_string("SessionId") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2031") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SessionId") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3179") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3180") node.BrowseName = ua.QualifiedName.from_string("ClientUserIdOfSession") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2031") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ClientUserIdOfSession") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3180") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3181") node.BrowseName = ua.QualifiedName.from_string("ClientUserIdHistory") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2031") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ClientUserIdHistory") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3181") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3182") node.BrowseName = ua.QualifiedName.from_string("AuthenticationMechanism") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2031") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("AuthenticationMechanism") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3182") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3183") node.BrowseName = ua.QualifiedName.from_string("Encoding") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2031") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Encoding") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3183") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3184") node.BrowseName = ua.QualifiedName.from_string("TransportProtocol") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2031") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TransportProtocol") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3184") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3185") node.BrowseName = ua.QualifiedName.from_string("SecurityMode") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2031") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SecurityMode") attrs.DataType = ua.NodeId.from_string("i=302") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3185") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3186") node.BrowseName = ua.QualifiedName.from_string("SecurityPolicyUri") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2031") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SecurityPolicyUri") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3186") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3187") node.BrowseName = ua.QualifiedName.from_string("ClientCertificate") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2031") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ClientCertificate") attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3187") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2032") node.BrowseName = ua.QualifiedName.from_string("SubscriptionDiagnosticsArray") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2029") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2171") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("A list of diagnostics for each subscription owned by the session.") attrs.DisplayName = ua.LocalizedText("SubscriptionDiagnosticsArray") attrs.DataType = ua.NodeId.from_string("i=874") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2032") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2033") node.BrowseName = ua.QualifiedName.from_string("VendorServerInfoType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=58") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.Description = ua.LocalizedText("A base type for vendor specific server information.") attrs.DisplayName = ua.LocalizedText("VendorServerInfoType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2034") node.BrowseName = ua.QualifiedName.from_string("ServerRedundancyType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=58") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.Description = ua.LocalizedText("A base type for an object that describe how a server supports redundancy.") attrs.DisplayName = ua.LocalizedText("ServerRedundancyType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2034") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2035") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2035") node.BrowseName = ua.QualifiedName.from_string("RedundancySupport") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2034") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("Indicates what style of redundancy is supported by the server.") attrs.DisplayName = ua.LocalizedText("RedundancySupport") attrs.DataType = ua.NodeId.from_string("i=851") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2035") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2036") node.BrowseName = ua.QualifiedName.from_string("TransparentRedundancyType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2034") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.Description = ua.LocalizedText("Identifies the capabilties of server that supports transparent redundancy.") attrs.DisplayName = ua.LocalizedText("TransparentRedundancyType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2036") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2037") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2036") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2038") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2037") node.BrowseName = ua.QualifiedName.from_string("CurrentServerId") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2036") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The ID of the server that is currently in use.") attrs.DisplayName = ua.LocalizedText("CurrentServerId") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2037") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2038") node.BrowseName = ua.QualifiedName.from_string("RedundantServerArray") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2036") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("A list of servers in the same redundant set.") attrs.DisplayName = ua.LocalizedText("RedundantServerArray") attrs.DataType = ua.NodeId.from_string("i=853") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2038") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2039") node.BrowseName = ua.QualifiedName.from_string("NonTransparentRedundancyType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2034") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.Description = ua.LocalizedText("Identifies the capabilties of server that supports non-transparent redundancy.") attrs.DisplayName = ua.LocalizedText("NonTransparentRedundancyType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2039") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2040") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2040") node.BrowseName = ua.QualifiedName.from_string("ServerUriArray") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2039") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("A list of servers in the same redundant set.") attrs.DisplayName = ua.LocalizedText("ServerUriArray") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2040") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11945") node.BrowseName = ua.QualifiedName.from_string("NonTransparentNetworkRedundancyType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2039") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("NonTransparentNetworkRedundancyType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11945") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11948") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11948") node.BrowseName = ua.QualifiedName.from_string("ServerNetworkGroups") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11945") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ServerNetworkGroups") attrs.DataType = ua.NodeId.from_string("i=11944") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11948") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11564") node.BrowseName = ua.QualifiedName.from_string("OperationLimitsType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=58") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.Description = ua.LocalizedText("Identifies the operation limits imposed by the server.") attrs.DisplayName = ua.LocalizedText("OperationLimitsType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11564") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11565") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11564") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12161") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11564") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12162") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11564") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11567") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11564") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12163") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11564") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12164") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11564") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11569") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11564") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11570") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11564") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11571") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11564") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11572") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11564") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11573") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11564") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11574") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11565") node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerRead") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11564") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The maximum number of operations in a single Read request.") attrs.DisplayName = ua.LocalizedText("MaxNodesPerRead") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11565") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12161") node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerHistoryReadData") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11564") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The maximum number of operations in a single data HistoryRead request.") attrs.DisplayName = ua.LocalizedText("MaxNodesPerHistoryReadData") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12161") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12162") node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerHistoryReadEvents") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11564") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The maximum number of operations in a single event HistoryRead request.") attrs.DisplayName = ua.LocalizedText("MaxNodesPerHistoryReadEvents") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12162") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11567") node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerWrite") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11564") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The maximum number of operations in a single Write request.") attrs.DisplayName = ua.LocalizedText("MaxNodesPerWrite") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11567") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12163") node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerHistoryUpdateData") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11564") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The maximum number of operations in a single data HistoryUpdate request.") attrs.DisplayName = ua.LocalizedText("MaxNodesPerHistoryUpdateData") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12163") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12164") node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerHistoryUpdateEvents") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11564") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The maximum number of operations in a single event HistoryUpdate request.") attrs.DisplayName = ua.LocalizedText("MaxNodesPerHistoryUpdateEvents") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12164") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11569") node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerMethodCall") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11564") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The maximum number of operations in a single Call request.") attrs.DisplayName = ua.LocalizedText("MaxNodesPerMethodCall") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11569") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11570") node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerBrowse") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11564") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The maximum number of operations in a single Browse request.") attrs.DisplayName = ua.LocalizedText("MaxNodesPerBrowse") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11570") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11571") node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerRegisterNodes") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11564") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The maximum number of operations in a single RegisterNodes request.") attrs.DisplayName = ua.LocalizedText("MaxNodesPerRegisterNodes") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11571") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11572") node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerTranslateBrowsePathsToNodeIds") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11564") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The maximum number of operations in a single TranslateBrowsePathsToNodeIds request.") attrs.DisplayName = ua.LocalizedText("MaxNodesPerTranslateBrowsePathsToNodeIds") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11572") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11573") node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerNodeManagement") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11564") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The maximum number of operations in a single AddNodes, AddReferences, DeleteNodes or DeleteReferences request.") attrs.DisplayName = ua.LocalizedText("MaxNodesPerNodeManagement") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11573") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11574") node.BrowseName = ua.QualifiedName.from_string("MaxMonitoredItemsPerCall") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11564") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The maximum number of operations in a single MonitoredItem related request.") attrs.DisplayName = ua.LocalizedText("MaxMonitoredItemsPerCall") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11574") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11575") node.BrowseName = ua.QualifiedName.from_string("FileType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=58") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.Description = ua.LocalizedText("An object that represents a file that can be accessed via the server.") attrs.DisplayName = ua.LocalizedText("FileType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11575") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11576") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11575") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12686") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11575") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12687") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11575") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11579") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11575") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=13341") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=11575") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11580") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=11575") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11583") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=11575") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11585") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=11575") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11588") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=11575") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11590") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=11575") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11593") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11576") node.BrowseName = ua.QualifiedName.from_string("Size") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11575") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The size of the file in bytes.") attrs.DisplayName = ua.LocalizedText("Size") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt64) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11576") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12686") node.BrowseName = ua.QualifiedName.from_string("Writable") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11575") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("Whether the file is writable.") attrs.DisplayName = ua.LocalizedText("Writable") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12686") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12687") node.BrowseName = ua.QualifiedName.from_string("UserWritable") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11575") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("Whether the file is writable by the current user.") attrs.DisplayName = ua.LocalizedText("UserWritable") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12687") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11579") node.BrowseName = ua.QualifiedName.from_string("OpenCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11575") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The current number of open file handles.") attrs.DisplayName = ua.LocalizedText("OpenCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11579") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=13341") node.BrowseName = ua.QualifiedName.from_string("MimeType") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11575") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The content of the file.") attrs.DisplayName = ua.LocalizedText("MimeType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=13341") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11580") node.BrowseName = ua.QualifiedName.from_string("Open") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=11575") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("Open") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11580") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11581") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11580") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11582") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11580") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11581") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11580") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=3") extobj.Name = 'Mode' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11581") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11582") node.BrowseName = ua.QualifiedName.from_string("OutputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11580") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("OutputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=7") extobj.Name = 'FileHandle' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11582") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11583") node.BrowseName = ua.QualifiedName.from_string("Close") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=11575") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("Close") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11583") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11584") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11583") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11584") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11583") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=7") extobj.Name = 'FileHandle' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11584") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11585") node.BrowseName = ua.QualifiedName.from_string("Read") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=11575") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("Read") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11585") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11586") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11585") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11587") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11585") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11586") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11585") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=7") extobj.Name = 'FileHandle' extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=6") extobj.Name = 'Length' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11586") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11587") node.BrowseName = ua.QualifiedName.from_string("OutputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11585") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("OutputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=15") extobj.Name = 'Data' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11587") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11588") node.BrowseName = ua.QualifiedName.from_string("Write") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=11575") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("Write") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11588") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11589") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11588") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11589") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11588") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=7") extobj.Name = 'FileHandle' extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=15") extobj.Name = 'Data' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11589") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11590") node.BrowseName = ua.QualifiedName.from_string("GetPosition") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=11575") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("GetPosition") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11590") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11591") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11590") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11592") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11590") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11591") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11590") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=7") extobj.Name = 'FileHandle' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11591") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11592") node.BrowseName = ua.QualifiedName.from_string("OutputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11590") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("OutputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=9") extobj.Name = 'Position' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11592") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11593") node.BrowseName = ua.QualifiedName.from_string("SetPosition") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=11575") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("SetPosition") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11593") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11594") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11593") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11594") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11593") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=7") extobj.Name = 'FileHandle' extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=9") extobj.Name = 'Position' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11594") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=13353") node.BrowseName = ua.QualifiedName.from_string("FileDirectoryType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=61") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("FileDirectoryType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=13353") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=13354") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=13353") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=13366") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=13353") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=13387") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=13353") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=13390") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=13353") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=13393") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=13353") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=13395") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=13354") node.BrowseName = ua.QualifiedName.from_string("") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=13353") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=13353") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=13354") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=13355") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=13354") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=13358") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=13354") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=13361") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=13354") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=13363") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=13354") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11508") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=13355") node.BrowseName = ua.QualifiedName.from_string("CreateDirectory") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=13354") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("CreateDirectory") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=13355") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=13356") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=13355") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=13357") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=13355") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=13356") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=13355") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=12") extobj.Name = 'DirectoryName' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=13356") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=13357") node.BrowseName = ua.QualifiedName.from_string("OutputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=13355") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("OutputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=17") extobj.Name = 'DirectoryNodeId' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=13357") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=13358") node.BrowseName = ua.QualifiedName.from_string("CreateFile") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=13354") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("CreateFile") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=13358") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=13359") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=13358") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=13360") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=13358") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=13359") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=13358") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=12") extobj.Name = 'FileName' extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=1") extobj.Name = 'RequestFileOpen' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=13359") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=13360") node.BrowseName = ua.QualifiedName.from_string("OutputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=13358") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("OutputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=17") extobj.Name = 'FileNodeId' extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=7") extobj.Name = 'FileHandle' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=13360") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=13361") node.BrowseName = ua.QualifiedName.from_string("Delete") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=13354") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("Delete") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=13361") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=13362") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=13361") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=13362") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=13361") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=17") extobj.Name = 'ObjectToDelete' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=13362") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=13363") node.BrowseName = ua.QualifiedName.from_string("MoveOrCopy") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=13354") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("MoveOrCopy") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=13363") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=13364") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=13363") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=13365") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=13363") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=13364") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=13363") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=17") extobj.Name = 'ObjectToMoveOrCopy' extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=17") extobj.Name = 'TargetDirectory' extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=1") extobj.Name = 'CreateCopy' extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=12") extobj.Name = 'NewName' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=13364") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=13365") node.BrowseName = ua.QualifiedName.from_string("OutputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=13363") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("OutputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=17") extobj.Name = 'NewNodeId' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=13365") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=13366") node.BrowseName = ua.QualifiedName.from_string("") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=13353") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=11575") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=13366") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=13367") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=13366") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=13368") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=13366") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=13369") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=13366") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=13370") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=13366") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=13372") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=13366") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=13375") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=13366") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=13377") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=13366") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=13380") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=13366") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=13382") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=13366") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=13385") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=13366") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11508") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=13367") node.BrowseName = ua.QualifiedName.from_string("Size") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=13366") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The size of the file in bytes.") attrs.DisplayName = ua.LocalizedText("Size") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt64) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=13367") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=13368") node.BrowseName = ua.QualifiedName.from_string("Writable") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=13366") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("Whether the file is writable.") attrs.DisplayName = ua.LocalizedText("Writable") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=13368") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=13369") node.BrowseName = ua.QualifiedName.from_string("UserWritable") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=13366") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("Whether the file is writable by the current user.") attrs.DisplayName = ua.LocalizedText("UserWritable") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=13369") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=13370") node.BrowseName = ua.QualifiedName.from_string("OpenCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=13366") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The current number of open file handles.") attrs.DisplayName = ua.LocalizedText("OpenCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=13370") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=13372") node.BrowseName = ua.QualifiedName.from_string("Open") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=13366") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("Open") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=13372") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=13373") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=13372") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=13374") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=13372") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=13373") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=13372") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=3") extobj.Name = 'Mode' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=13373") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=13374") node.BrowseName = ua.QualifiedName.from_string("OutputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=13372") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("OutputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=7") extobj.Name = 'FileHandle' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=13374") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=13375") node.BrowseName = ua.QualifiedName.from_string("Close") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=13366") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("Close") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=13375") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=13376") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=13375") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=13376") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=13375") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=7") extobj.Name = 'FileHandle' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=13376") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=13377") node.BrowseName = ua.QualifiedName.from_string("Read") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=13366") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("Read") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=13377") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=13378") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=13377") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=13379") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=13377") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=13378") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=13377") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=7") extobj.Name = 'FileHandle' extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=6") extobj.Name = 'Length' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=13378") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=13379") node.BrowseName = ua.QualifiedName.from_string("OutputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=13377") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("OutputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=15") extobj.Name = 'Data' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=13379") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=13380") node.BrowseName = ua.QualifiedName.from_string("Write") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=13366") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("Write") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=13380") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=13381") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=13380") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=13381") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=13380") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=7") extobj.Name = 'FileHandle' extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=15") extobj.Name = 'Data' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=13381") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=13382") node.BrowseName = ua.QualifiedName.from_string("GetPosition") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=13366") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("GetPosition") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=13382") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=13383") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=13382") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=13384") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=13382") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=13383") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=13382") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=7") extobj.Name = 'FileHandle' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=13383") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=13384") node.BrowseName = ua.QualifiedName.from_string("OutputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=13382") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("OutputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=9") extobj.Name = 'Position' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=13384") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=13385") node.BrowseName = ua.QualifiedName.from_string("SetPosition") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=13366") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("SetPosition") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=13385") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=13386") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=13385") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=13386") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=13385") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=7") extobj.Name = 'FileHandle' extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=9") extobj.Name = 'Position' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=13386") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=13387") node.BrowseName = ua.QualifiedName.from_string("CreateDirectory") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=13353") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("CreateDirectory") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=13387") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=13388") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=13387") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=13389") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=13387") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=13388") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=13387") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=12") extobj.Name = 'DirectoryName' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=13388") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=13389") node.BrowseName = ua.QualifiedName.from_string("OutputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=13387") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("OutputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=17") extobj.Name = 'DirectoryNodeId' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=13389") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=13390") node.BrowseName = ua.QualifiedName.from_string("CreateFile") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=13353") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("CreateFile") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=13390") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=13391") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=13390") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=13392") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=13390") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=13391") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=13390") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=12") extobj.Name = 'FileName' extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=1") extobj.Name = 'RequestFileOpen' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=13391") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=13392") node.BrowseName = ua.QualifiedName.from_string("OutputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=13390") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("OutputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=17") extobj.Name = 'FileNodeId' extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=7") extobj.Name = 'FileHandle' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=13392") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=13393") node.BrowseName = ua.QualifiedName.from_string("Delete") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=13353") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("Delete") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=13393") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=13394") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=13393") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=13394") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=13393") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=17") extobj.Name = 'ObjectToDelete' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=13394") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=13395") node.BrowseName = ua.QualifiedName.from_string("MoveOrCopy") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=13353") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("MoveOrCopy") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=13395") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=13396") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=13395") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=13397") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=13395") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=13396") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=13395") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=17") extobj.Name = 'ObjectToMoveOrCopy' extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=17") extobj.Name = 'TargetDirectory' extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=1") extobj.Name = 'CreateCopy' extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=12") extobj.Name = 'NewName' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=13396") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=13397") node.BrowseName = ua.QualifiedName.from_string("OutputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=13395") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("OutputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=17") extobj.Name = 'NewNodeId' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=13397") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11595") node.BrowseName = ua.QualifiedName.from_string("AddressSpaceFileType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=11575") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.Description = ua.LocalizedText("A file used to store a namespace exported from the server.") attrs.DisplayName = ua.LocalizedText("AddressSpaceFileType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=11595") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11615") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11615") node.BrowseName = ua.QualifiedName.from_string("ExportNamespace") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=11595") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.Description = ua.LocalizedText("Updates the file by exporting the server namespace.") attrs.DisplayName = ua.LocalizedText("ExportNamespace") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11615") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11616") node.BrowseName = ua.QualifiedName.from_string("NamespaceMetadataType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=58") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.Description = ua.LocalizedText("Provides the metadata for a namespace used by the server.") attrs.DisplayName = ua.LocalizedText("NamespaceMetadataType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11616") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11617") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11616") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11618") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11616") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11619") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11616") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11620") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11616") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11621") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11616") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11622") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11616") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11623") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=11616") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11624") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11617") node.BrowseName = ua.QualifiedName.from_string("NamespaceUri") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11616") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The URI of the namespace.") attrs.DisplayName = ua.LocalizedText("NamespaceUri") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11618") node.BrowseName = ua.QualifiedName.from_string("NamespaceVersion") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11616") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The human readable string representing version of the namespace.") attrs.DisplayName = ua.LocalizedText("NamespaceVersion") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11618") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11619") node.BrowseName = ua.QualifiedName.from_string("NamespacePublicationDate") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11616") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The publication date for the namespace.") attrs.DisplayName = ua.LocalizedText("NamespacePublicationDate") attrs.DataType = ua.NodeId(ua.ObjectIds.DateTime) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11619") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11620") node.BrowseName = ua.QualifiedName.from_string("IsNamespaceSubset") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11616") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("If TRUE then the server only supports a subset of the namespace.") attrs.DisplayName = ua.LocalizedText("IsNamespaceSubset") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11620") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11621") node.BrowseName = ua.QualifiedName.from_string("StaticNodeIdIdentifierTypes") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11616") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("A list of IdTypes for nodes which are the same in every server that exposes them.") attrs.DisplayName = ua.LocalizedText("StaticNodeIdIdentifierTypes") attrs.DataType = ua.NodeId.from_string("i=256") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11621") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11622") node.BrowseName = ua.QualifiedName.from_string("StaticNumericNodeIdRange") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11616") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("A list of ranges for numeric node ids which are the same in every server that exposes them.") attrs.DisplayName = ua.LocalizedText("StaticNumericNodeIdRange") attrs.DataType = ua.NodeId.from_string("i=291") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11622") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11623") node.BrowseName = ua.QualifiedName.from_string("StaticStringNodeIdPattern") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11616") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("A regular expression which matches string node ids are the same in every server that exposes them.") attrs.DisplayName = ua.LocalizedText("StaticStringNodeIdPattern") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11623") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11624") node.BrowseName = ua.QualifiedName.from_string("NamespaceFile") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=11616") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=11595") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("A file containing the nodes of the namespace.") attrs.DisplayName = ua.LocalizedText("NamespaceFile") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11624") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11625") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11624") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12690") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11624") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12691") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11624") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11628") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=11624") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11629") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=11624") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11632") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=11624") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11634") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=11624") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11637") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=11624") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11639") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=11624") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11642") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11624") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11625") node.BrowseName = ua.QualifiedName.from_string("Size") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11624") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The size of the file in bytes.") attrs.DisplayName = ua.LocalizedText("Size") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt64) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11625") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12690") node.BrowseName = ua.QualifiedName.from_string("Writable") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11624") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("Whether the file is writable.") attrs.DisplayName = ua.LocalizedText("Writable") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12690") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12691") node.BrowseName = ua.QualifiedName.from_string("UserWritable") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11624") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("Whether the file is writable by the current user.") attrs.DisplayName = ua.LocalizedText("UserWritable") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12691") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11628") node.BrowseName = ua.QualifiedName.from_string("OpenCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11624") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The current number of open file handles.") attrs.DisplayName = ua.LocalizedText("OpenCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11628") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11629") node.BrowseName = ua.QualifiedName.from_string("Open") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=11624") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("Open") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11629") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11630") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11629") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11631") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11629") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11630") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11629") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=3") extobj.Name = 'Mode' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11630") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11631") node.BrowseName = ua.QualifiedName.from_string("OutputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11629") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("OutputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=7") extobj.Name = 'FileHandle' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11631") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11632") node.BrowseName = ua.QualifiedName.from_string("Close") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=11624") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("Close") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11632") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11633") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11632") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11633") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11632") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=7") extobj.Name = 'FileHandle' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11633") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11634") node.BrowseName = ua.QualifiedName.from_string("Read") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=11624") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("Read") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11634") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11635") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11634") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11636") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11634") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11635") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11634") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=7") extobj.Name = 'FileHandle' extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=6") extobj.Name = 'Length' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11635") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11636") node.BrowseName = ua.QualifiedName.from_string("OutputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11634") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("OutputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=15") extobj.Name = 'Data' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11636") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11637") node.BrowseName = ua.QualifiedName.from_string("Write") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=11624") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("Write") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11637") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11638") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11637") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11638") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11637") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=7") extobj.Name = 'FileHandle' extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=15") extobj.Name = 'Data' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11638") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11639") node.BrowseName = ua.QualifiedName.from_string("GetPosition") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=11624") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("GetPosition") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11639") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11640") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11639") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11641") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11639") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11640") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11639") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=7") extobj.Name = 'FileHandle' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11640") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11641") node.BrowseName = ua.QualifiedName.from_string("OutputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11639") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("OutputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=9") extobj.Name = 'Position' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11641") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11642") node.BrowseName = ua.QualifiedName.from_string("SetPosition") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=11624") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("SetPosition") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11642") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11643") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11642") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11643") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11642") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=7") extobj.Name = 'FileHandle' extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=9") extobj.Name = 'Position' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11643") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11645") node.BrowseName = ua.QualifiedName.from_string("NamespacesType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=58") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.Description = ua.LocalizedText("A container for the namespace metadata provided by the server.") attrs.DisplayName = ua.LocalizedText("NamespacesType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=11645") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11646") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=11645") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11675") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11646") node.BrowseName = ua.QualifiedName.from_string("") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=11645") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=11616") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11646") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11647") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11646") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11648") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11646") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11649") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11646") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11650") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11646") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11651") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11646") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11652") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11646") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11653") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11646") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11508") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11647") node.BrowseName = ua.QualifiedName.from_string("NamespaceUri") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11646") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The URI of the namespace.") attrs.DisplayName = ua.LocalizedText("NamespaceUri") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11647") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11648") node.BrowseName = ua.QualifiedName.from_string("NamespaceVersion") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11646") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The human readable string representing version of the namespace.") attrs.DisplayName = ua.LocalizedText("NamespaceVersion") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11648") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11649") node.BrowseName = ua.QualifiedName.from_string("NamespacePublicationDate") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11646") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The publication date for the namespace.") attrs.DisplayName = ua.LocalizedText("NamespacePublicationDate") attrs.DataType = ua.NodeId(ua.ObjectIds.DateTime) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11649") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11650") node.BrowseName = ua.QualifiedName.from_string("IsNamespaceSubset") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11646") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("If TRUE then the server only supports a subset of the namespace.") attrs.DisplayName = ua.LocalizedText("IsNamespaceSubset") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11650") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11651") node.BrowseName = ua.QualifiedName.from_string("StaticNodeIdIdentifierTypes") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11646") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("A list of IdTypes for nodes which are the same in every server that exposes them.") attrs.DisplayName = ua.LocalizedText("StaticNodeIdIdentifierTypes") attrs.DataType = ua.NodeId.from_string("i=256") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11651") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11652") node.BrowseName = ua.QualifiedName.from_string("StaticNumericNodeIdRange") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11646") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("A list of ranges for numeric node ids which are the same in every server that exposes them.") attrs.DisplayName = ua.LocalizedText("StaticNumericNodeIdRange") attrs.DataType = ua.NodeId.from_string("i=291") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11652") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11653") node.BrowseName = ua.QualifiedName.from_string("StaticStringNodeIdPattern") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11646") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("A regular expression which matches string node ids are the same in every server that exposes them.") attrs.DisplayName = ua.LocalizedText("StaticStringNodeIdPattern") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11653") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11675") node.BrowseName = ua.QualifiedName.from_string("AddressSpaceFile") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=11645") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=11595") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("A file containing the nodes of the namespace.") attrs.DisplayName = ua.LocalizedText("AddressSpaceFile") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11675") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11676") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11675") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12694") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11675") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12695") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11675") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11679") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=11675") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11680") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=11675") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11683") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=11675") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11685") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=11675") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11688") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=11675") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11690") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=11675") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11693") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11675") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11676") node.BrowseName = ua.QualifiedName.from_string("Size") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11675") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The size of the file in bytes.") attrs.DisplayName = ua.LocalizedText("Size") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt64) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11676") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12694") node.BrowseName = ua.QualifiedName.from_string("Writable") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11675") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("Whether the file is writable.") attrs.DisplayName = ua.LocalizedText("Writable") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12694") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12695") node.BrowseName = ua.QualifiedName.from_string("UserWritable") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11675") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("Whether the file is writable by the current user.") attrs.DisplayName = ua.LocalizedText("UserWritable") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12695") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11679") node.BrowseName = ua.QualifiedName.from_string("OpenCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11675") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The current number of open file handles.") attrs.DisplayName = ua.LocalizedText("OpenCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11679") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11680") node.BrowseName = ua.QualifiedName.from_string("Open") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=11675") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("Open") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11680") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11681") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11680") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11682") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11680") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11681") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11680") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=3") extobj.Name = 'Mode' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11681") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11682") node.BrowseName = ua.QualifiedName.from_string("OutputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11680") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("OutputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=7") extobj.Name = 'FileHandle' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11682") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11683") node.BrowseName = ua.QualifiedName.from_string("Close") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=11675") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("Close") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11683") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11684") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11683") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11684") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11683") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=7") extobj.Name = 'FileHandle' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11684") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11685") node.BrowseName = ua.QualifiedName.from_string("Read") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=11675") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("Read") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11685") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11686") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11685") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11687") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11685") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11686") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11685") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=7") extobj.Name = 'FileHandle' extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=6") extobj.Name = 'Length' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11686") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11687") node.BrowseName = ua.QualifiedName.from_string("OutputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11685") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("OutputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=15") extobj.Name = 'Data' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11687") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11688") node.BrowseName = ua.QualifiedName.from_string("Write") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=11675") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("Write") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11688") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11689") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11688") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11689") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11688") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=7") extobj.Name = 'FileHandle' extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=15") extobj.Name = 'Data' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11689") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11690") node.BrowseName = ua.QualifiedName.from_string("GetPosition") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=11675") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("GetPosition") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11690") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11691") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11690") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11692") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11690") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11691") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11690") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=7") extobj.Name = 'FileHandle' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11691") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11692") node.BrowseName = ua.QualifiedName.from_string("OutputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11690") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("OutputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=9") extobj.Name = 'Position' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11692") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11693") node.BrowseName = ua.QualifiedName.from_string("SetPosition") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=11675") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("SetPosition") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11693") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11694") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11693") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11694") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11693") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=7") extobj.Name = 'FileHandle' extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=9") extobj.Name = 'Position' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11694") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2041") node.BrowseName = ua.QualifiedName.from_string("BaseEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=58") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.Description = ua.LocalizedText("The base type for all events.") attrs.DisplayName = ua.LocalizedText("BaseEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2041") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2042") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2041") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2043") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2041") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2044") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2041") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2045") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2041") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2046") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2041") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2047") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2041") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3190") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2041") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2050") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2041") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2051") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2042") node.BrowseName = ua.QualifiedName.from_string("EventId") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2041") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("A globally unique identifier for the event.") attrs.DisplayName = ua.LocalizedText("EventId") attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2042") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2043") node.BrowseName = ua.QualifiedName.from_string("EventType") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2041") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The identifier for the event type.") attrs.DisplayName = ua.LocalizedText("EventType") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2043") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2044") node.BrowseName = ua.QualifiedName.from_string("SourceNode") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2041") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The source of the event.") attrs.DisplayName = ua.LocalizedText("SourceNode") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2044") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2045") node.BrowseName = ua.QualifiedName.from_string("SourceName") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2041") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("A description of the source of the event.") attrs.DisplayName = ua.LocalizedText("SourceName") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2045") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2046") node.BrowseName = ua.QualifiedName.from_string("Time") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2041") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("When the event occurred.") attrs.DisplayName = ua.LocalizedText("Time") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2046") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2047") node.BrowseName = ua.QualifiedName.from_string("ReceiveTime") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2041") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("When the server received the event from the underlying system.") attrs.DisplayName = ua.LocalizedText("ReceiveTime") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2047") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3190") node.BrowseName = ua.QualifiedName.from_string("LocalTime") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2041") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("Information about the local time where the event originated.") attrs.DisplayName = ua.LocalizedText("LocalTime") attrs.DataType = ua.NodeId.from_string("i=8912") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3190") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2050") node.BrowseName = ua.QualifiedName.from_string("Message") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2041") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("A localized description of the event.") attrs.DisplayName = ua.LocalizedText("Message") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2050") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2051") node.BrowseName = ua.QualifiedName.from_string("Severity") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2041") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("Indicates how urgent an event is.") attrs.DisplayName = ua.LocalizedText("Severity") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2051") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2052") node.BrowseName = ua.QualifiedName.from_string("AuditEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2041") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.Description = ua.LocalizedText("A base type for events used to track client initiated changes to the server state.") attrs.DisplayName = ua.LocalizedText("AuditEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2052") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2053") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2052") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2054") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2052") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2055") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2052") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2056") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2052") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2057") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2053") node.BrowseName = ua.QualifiedName.from_string("ActionTimeStamp") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2052") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("When the action triggering the event occurred.") attrs.DisplayName = ua.LocalizedText("ActionTimeStamp") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2053") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2054") node.BrowseName = ua.QualifiedName.from_string("Status") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2052") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("If TRUE the action was performed. If FALSE the action failed and the server state did not change.") attrs.DisplayName = ua.LocalizedText("Status") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2054") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2055") node.BrowseName = ua.QualifiedName.from_string("ServerId") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2052") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The unique identifier for the server generating the event.") attrs.DisplayName = ua.LocalizedText("ServerId") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2055") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2056") node.BrowseName = ua.QualifiedName.from_string("ClientAuditEntryId") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2052") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The log entry id provided in the request that initiated the action.") attrs.DisplayName = ua.LocalizedText("ClientAuditEntryId") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2056") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2057") node.BrowseName = ua.QualifiedName.from_string("ClientUserId") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2052") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The user identity associated with the session that initiated the action.") attrs.DisplayName = ua.LocalizedText("ClientUserId") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2057") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2058") node.BrowseName = ua.QualifiedName.from_string("AuditSecurityEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2052") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.Description = ua.LocalizedText("A base type for events used to track security related changes.") attrs.DisplayName = ua.LocalizedText("AuditSecurityEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2059") node.BrowseName = ua.QualifiedName.from_string("AuditChannelEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2058") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.Description = ua.LocalizedText("A base type for events used to track related changes to a secure channel.") attrs.DisplayName = ua.LocalizedText("AuditChannelEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2059") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2745") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2745") node.BrowseName = ua.QualifiedName.from_string("SecureChannelId") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2059") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The identifier for the secure channel that was changed.") attrs.DisplayName = ua.LocalizedText("SecureChannelId") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2745") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2060") node.BrowseName = ua.QualifiedName.from_string("AuditOpenSecureChannelEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2059") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.Description = ua.LocalizedText("An event that is raised when a secure channel is opened.") attrs.DisplayName = ua.LocalizedText("AuditOpenSecureChannelEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2060") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2061") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2060") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2746") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2060") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2062") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2060") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2063") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2060") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2065") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2060") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2066") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2061") node.BrowseName = ua.QualifiedName.from_string("ClientCertificate") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2060") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The certificate provided by the client.") attrs.DisplayName = ua.LocalizedText("ClientCertificate") attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2061") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2746") node.BrowseName = ua.QualifiedName.from_string("ClientCertificateThumbprint") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2060") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The thumbprint for certificate provided by the client.") attrs.DisplayName = ua.LocalizedText("ClientCertificateThumbprint") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2746") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2062") node.BrowseName = ua.QualifiedName.from_string("RequestType") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2060") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The type of request (NEW or RENEW).") attrs.DisplayName = ua.LocalizedText("RequestType") attrs.DataType = ua.NodeId.from_string("i=315") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2062") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2063") node.BrowseName = ua.QualifiedName.from_string("SecurityPolicyUri") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2060") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The security policy used by the channel.") attrs.DisplayName = ua.LocalizedText("SecurityPolicyUri") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2063") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2065") node.BrowseName = ua.QualifiedName.from_string("SecurityMode") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2060") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The security mode used by the channel.") attrs.DisplayName = ua.LocalizedText("SecurityMode") attrs.DataType = ua.NodeId.from_string("i=302") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2065") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2066") node.BrowseName = ua.QualifiedName.from_string("RequestedLifetime") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2060") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The lifetime of the channel requested by the client.") attrs.DisplayName = ua.LocalizedText("RequestedLifetime") attrs.DataType = ua.NodeId.from_string("i=290") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2066") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2069") node.BrowseName = ua.QualifiedName.from_string("AuditSessionEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2058") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.Description = ua.LocalizedText("A base type for events used to track related changes to a session.") attrs.DisplayName = ua.LocalizedText("AuditSessionEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2069") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2070") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2070") node.BrowseName = ua.QualifiedName.from_string("SessionId") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2069") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The unique identifier for the session,.") attrs.DisplayName = ua.LocalizedText("SessionId") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2070") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2071") node.BrowseName = ua.QualifiedName.from_string("AuditCreateSessionEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2069") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.Description = ua.LocalizedText("An event that is raised when a session is created.") attrs.DisplayName = ua.LocalizedText("AuditCreateSessionEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2071") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2072") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2071") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2073") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2071") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2747") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2071") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2074") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2072") node.BrowseName = ua.QualifiedName.from_string("SecureChannelId") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2071") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The secure channel associated with the session.") attrs.DisplayName = ua.LocalizedText("SecureChannelId") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2072") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2073") node.BrowseName = ua.QualifiedName.from_string("ClientCertificate") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2071") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The certificate provided by the client.") attrs.DisplayName = ua.LocalizedText("ClientCertificate") attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2073") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2747") node.BrowseName = ua.QualifiedName.from_string("ClientCertificateThumbprint") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2071") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The thumbprint of the certificate provided by the client.") attrs.DisplayName = ua.LocalizedText("ClientCertificateThumbprint") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2747") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2074") node.BrowseName = ua.QualifiedName.from_string("RevisedSessionTimeout") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2071") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The timeout for the session.") attrs.DisplayName = ua.LocalizedText("RevisedSessionTimeout") attrs.DataType = ua.NodeId.from_string("i=290") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2074") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2748") node.BrowseName = ua.QualifiedName.from_string("AuditUrlMismatchEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2071") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("AuditUrlMismatchEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2748") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2749") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2749") node.BrowseName = ua.QualifiedName.from_string("EndpointUrl") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2748") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EndpointUrl") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2749") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2075") node.BrowseName = ua.QualifiedName.from_string("AuditActivateSessionEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2069") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("AuditActivateSessionEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2075") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2076") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2075") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2077") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2075") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11485") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2076") node.BrowseName = ua.QualifiedName.from_string("ClientSoftwareCertificates") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2075") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ClientSoftwareCertificates") attrs.DataType = ua.NodeId.from_string("i=344") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2076") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2077") node.BrowseName = ua.QualifiedName.from_string("UserIdentityToken") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2075") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("UserIdentityToken") attrs.DataType = ua.NodeId.from_string("i=316") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2077") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11485") node.BrowseName = ua.QualifiedName.from_string("SecureChannelId") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2075") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SecureChannelId") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11485") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2078") node.BrowseName = ua.QualifiedName.from_string("AuditCancelEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2069") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("AuditCancelEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2078") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2079") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2079") node.BrowseName = ua.QualifiedName.from_string("RequestHandle") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2078") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("RequestHandle") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2079") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2080") node.BrowseName = ua.QualifiedName.from_string("AuditCertificateEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2058") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("AuditCertificateEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2080") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2081") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2081") node.BrowseName = ua.QualifiedName.from_string("Certificate") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2080") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Certificate") attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2081") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2082") node.BrowseName = ua.QualifiedName.from_string("AuditCertificateDataMismatchEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2080") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("AuditCertificateDataMismatchEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2082") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2083") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2082") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2084") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2083") node.BrowseName = ua.QualifiedName.from_string("InvalidHostname") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2082") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InvalidHostname") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2083") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2084") node.BrowseName = ua.QualifiedName.from_string("InvalidUri") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2082") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InvalidUri") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2084") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2085") node.BrowseName = ua.QualifiedName.from_string("AuditCertificateExpiredEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2080") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("AuditCertificateExpiredEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2086") node.BrowseName = ua.QualifiedName.from_string("AuditCertificateInvalidEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2080") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("AuditCertificateInvalidEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2087") node.BrowseName = ua.QualifiedName.from_string("AuditCertificateUntrustedEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2080") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("AuditCertificateUntrustedEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2088") node.BrowseName = ua.QualifiedName.from_string("AuditCertificateRevokedEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2080") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("AuditCertificateRevokedEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2089") node.BrowseName = ua.QualifiedName.from_string("AuditCertificateMismatchEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2080") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("AuditCertificateMismatchEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2090") node.BrowseName = ua.QualifiedName.from_string("AuditNodeManagementEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2052") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("AuditNodeManagementEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2091") node.BrowseName = ua.QualifiedName.from_string("AuditAddNodesEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2090") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("AuditAddNodesEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2091") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2092") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2092") node.BrowseName = ua.QualifiedName.from_string("NodesToAdd") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2091") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("NodesToAdd") attrs.DataType = ua.NodeId.from_string("i=376") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2092") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2093") node.BrowseName = ua.QualifiedName.from_string("AuditDeleteNodesEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2090") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("AuditDeleteNodesEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2093") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2094") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2094") node.BrowseName = ua.QualifiedName.from_string("NodesToDelete") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2093") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("NodesToDelete") attrs.DataType = ua.NodeId.from_string("i=382") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2094") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2095") node.BrowseName = ua.QualifiedName.from_string("AuditAddReferencesEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2090") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("AuditAddReferencesEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2095") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2096") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2096") node.BrowseName = ua.QualifiedName.from_string("ReferencesToAdd") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2095") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ReferencesToAdd") attrs.DataType = ua.NodeId.from_string("i=379") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2096") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2097") node.BrowseName = ua.QualifiedName.from_string("AuditDeleteReferencesEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2090") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("AuditDeleteReferencesEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2097") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2098") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2098") node.BrowseName = ua.QualifiedName.from_string("ReferencesToDelete") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2097") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ReferencesToDelete") attrs.DataType = ua.NodeId.from_string("i=385") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2098") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2099") node.BrowseName = ua.QualifiedName.from_string("AuditUpdateEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2052") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("AuditUpdateEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2100") node.BrowseName = ua.QualifiedName.from_string("AuditWriteUpdateEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2099") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("AuditWriteUpdateEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2100") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2750") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2100") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2101") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2100") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2102") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2100") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2103") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2750") node.BrowseName = ua.QualifiedName.from_string("AttributeId") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2100") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("AttributeId") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2750") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2101") node.BrowseName = ua.QualifiedName.from_string("IndexRange") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2100") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("IndexRange") attrs.DataType = ua.NodeId.from_string("i=291") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2101") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2102") node.BrowseName = ua.QualifiedName.from_string("OldValue") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2100") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("OldValue") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2102") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2103") node.BrowseName = ua.QualifiedName.from_string("NewValue") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2100") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("NewValue") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2103") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2104") node.BrowseName = ua.QualifiedName.from_string("AuditHistoryUpdateEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2099") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("AuditHistoryUpdateEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2104") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2751") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2751") node.BrowseName = ua.QualifiedName.from_string("ParameterDataTypeId") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2104") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ParameterDataTypeId") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2751") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2127") node.BrowseName = ua.QualifiedName.from_string("AuditUpdateMethodEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2052") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("AuditUpdateMethodEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2127") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2128") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2127") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2129") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2128") node.BrowseName = ua.QualifiedName.from_string("MethodId") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2127") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("MethodId") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2128") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2129") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2127") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InputArguments") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2129") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2130") node.BrowseName = ua.QualifiedName.from_string("SystemEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2041") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("SystemEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2131") node.BrowseName = ua.QualifiedName.from_string("DeviceFailureEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2130") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("DeviceFailureEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11446") node.BrowseName = ua.QualifiedName.from_string("SystemStatusChangeEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2130") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("SystemStatusChangeEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11446") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11696") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11696") node.BrowseName = ua.QualifiedName.from_string("SystemState") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11446") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SystemState") attrs.DataType = ua.NodeId.from_string("i=852") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11696") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2132") node.BrowseName = ua.QualifiedName.from_string("BaseModelChangeEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2041") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("BaseModelChangeEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2133") node.BrowseName = ua.QualifiedName.from_string("GeneralModelChangeEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2132") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("GeneralModelChangeEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2133") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2134") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2134") node.BrowseName = ua.QualifiedName.from_string("Changes") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2133") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Changes") attrs.DataType = ua.NodeId.from_string("i=877") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2134") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2738") node.BrowseName = ua.QualifiedName.from_string("SemanticChangeEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2132") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("SemanticChangeEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2738") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2739") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2739") node.BrowseName = ua.QualifiedName.from_string("Changes") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2738") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Changes") attrs.DataType = ua.NodeId.from_string("i=897") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2739") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3035") node.BrowseName = ua.QualifiedName.from_string("EventQueueOverflowEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2041") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("EventQueueOverflowEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11436") node.BrowseName = ua.QualifiedName.from_string("ProgressEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2041") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("ProgressEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11436") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12502") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11436") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12503") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12502") node.BrowseName = ua.QualifiedName.from_string("Context") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11436") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Context") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12502") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12503") node.BrowseName = ua.QualifiedName.from_string("Progress") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11436") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Progress") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12503") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2340") node.BrowseName = ua.QualifiedName.from_string("AggregateFunctionType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=58") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("AggregateFunctionType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2137") node.BrowseName = ua.QualifiedName.from_string("ServerVendorCapabilityType") node.NodeClass = ua.NodeClass.VariableType node.ParentNodeId = ua.NodeId.from_string("i=63") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.VariableTypeAttributes() attrs.DisplayName = ua.LocalizedText("ServerVendorCapabilityType") attrs.IsAbstract = True attrs.DisplayName = ua.LocalizedText("ServerVendorCapabilityType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2138") node.BrowseName = ua.QualifiedName.from_string("ServerStatusType") node.NodeClass = ua.NodeClass.VariableType node.ParentNodeId = ua.NodeId.from_string("i=63") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.VariableTypeAttributes() attrs.DisplayName = ua.LocalizedText("ServerStatusType") attrs.DisplayName = ua.LocalizedText("ServerStatusType") attrs.DataType = ua.NodeId.from_string("i=862") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2138") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2139") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2138") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2140") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2138") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2141") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2138") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2142") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2138") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2752") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2138") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2753") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2139") node.BrowseName = ua.QualifiedName.from_string("StartTime") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2138") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("StartTime") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2139") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2140") node.BrowseName = ua.QualifiedName.from_string("CurrentTime") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2138") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CurrentTime") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2140") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2141") node.BrowseName = ua.QualifiedName.from_string("State") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2138") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("State") attrs.DataType = ua.NodeId.from_string("i=852") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2141") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2142") node.BrowseName = ua.QualifiedName.from_string("BuildInfo") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2138") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=3051") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("BuildInfo") attrs.DataType = ua.NodeId.from_string("i=338") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2142") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3698") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2142") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3699") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2142") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3700") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2142") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3701") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2142") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3702") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2142") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3703") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2142") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3698") node.BrowseName = ua.QualifiedName.from_string("ProductUri") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2142") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 attrs.DisplayName = ua.LocalizedText("ProductUri") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3698") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3699") node.BrowseName = ua.QualifiedName.from_string("ManufacturerName") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2142") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 attrs.DisplayName = ua.LocalizedText("ManufacturerName") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3699") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3700") node.BrowseName = ua.QualifiedName.from_string("ProductName") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2142") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 attrs.DisplayName = ua.LocalizedText("ProductName") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3700") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3701") node.BrowseName = ua.QualifiedName.from_string("SoftwareVersion") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2142") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 attrs.DisplayName = ua.LocalizedText("SoftwareVersion") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3701") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3702") node.BrowseName = ua.QualifiedName.from_string("BuildNumber") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2142") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 attrs.DisplayName = ua.LocalizedText("BuildNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3702") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3703") node.BrowseName = ua.QualifiedName.from_string("BuildDate") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2142") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 attrs.DisplayName = ua.LocalizedText("BuildDate") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3703") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2752") node.BrowseName = ua.QualifiedName.from_string("SecondsTillShutdown") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2138") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SecondsTillShutdown") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2752") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2753") node.BrowseName = ua.QualifiedName.from_string("ShutdownReason") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2138") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ShutdownReason") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2753") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3051") node.BrowseName = ua.QualifiedName.from_string("BuildInfoType") node.NodeClass = ua.NodeClass.VariableType node.ParentNodeId = ua.NodeId.from_string("i=63") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.VariableTypeAttributes() attrs.DisplayName = ua.LocalizedText("BuildInfoType") attrs.DisplayName = ua.LocalizedText("BuildInfoType") attrs.DataType = ua.NodeId.from_string("i=338") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=3051") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3052") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=3051") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3053") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=3051") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3054") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=3051") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3055") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=3051") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3056") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=3051") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3057") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3052") node.BrowseName = ua.QualifiedName.from_string("ProductUri") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3051") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 attrs.DisplayName = ua.LocalizedText("ProductUri") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3052") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3053") node.BrowseName = ua.QualifiedName.from_string("ManufacturerName") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3051") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 attrs.DisplayName = ua.LocalizedText("ManufacturerName") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3053") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3054") node.BrowseName = ua.QualifiedName.from_string("ProductName") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3051") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 attrs.DisplayName = ua.LocalizedText("ProductName") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3054") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3055") node.BrowseName = ua.QualifiedName.from_string("SoftwareVersion") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3051") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 attrs.DisplayName = ua.LocalizedText("SoftwareVersion") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3055") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3056") node.BrowseName = ua.QualifiedName.from_string("BuildNumber") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3051") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 attrs.DisplayName = ua.LocalizedText("BuildNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3056") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3057") node.BrowseName = ua.QualifiedName.from_string("BuildDate") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3051") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 attrs.DisplayName = ua.LocalizedText("BuildDate") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3057") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2150") node.BrowseName = ua.QualifiedName.from_string("ServerDiagnosticsSummaryType") node.NodeClass = ua.NodeClass.VariableType node.ParentNodeId = ua.NodeId.from_string("i=63") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.VariableTypeAttributes() attrs.DisplayName = ua.LocalizedText("ServerDiagnosticsSummaryType") attrs.DisplayName = ua.LocalizedText("ServerDiagnosticsSummaryType") attrs.DataType = ua.NodeId.from_string("i=859") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2150") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2151") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2150") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2152") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2150") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2153") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2150") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2154") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2150") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2155") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2150") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2156") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2150") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2157") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2150") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2159") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2150") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2160") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2150") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2161") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2150") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2162") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2150") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2163") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2151") node.BrowseName = ua.QualifiedName.from_string("ServerViewCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2150") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ServerViewCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2151") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2152") node.BrowseName = ua.QualifiedName.from_string("CurrentSessionCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2150") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CurrentSessionCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2152") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2153") node.BrowseName = ua.QualifiedName.from_string("CumulatedSessionCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2150") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CumulatedSessionCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2153") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2154") node.BrowseName = ua.QualifiedName.from_string("SecurityRejectedSessionCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2150") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SecurityRejectedSessionCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2154") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2155") node.BrowseName = ua.QualifiedName.from_string("RejectedSessionCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2150") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("RejectedSessionCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2155") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2156") node.BrowseName = ua.QualifiedName.from_string("SessionTimeoutCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2150") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SessionTimeoutCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2156") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2157") node.BrowseName = ua.QualifiedName.from_string("SessionAbortCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2150") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SessionAbortCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2157") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2159") node.BrowseName = ua.QualifiedName.from_string("PublishingIntervalCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2150") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("PublishingIntervalCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2159") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2160") node.BrowseName = ua.QualifiedName.from_string("CurrentSubscriptionCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2150") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CurrentSubscriptionCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2160") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2161") node.BrowseName = ua.QualifiedName.from_string("CumulatedSubscriptionCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2150") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CumulatedSubscriptionCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2161") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2162") node.BrowseName = ua.QualifiedName.from_string("SecurityRejectedRequestsCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2150") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SecurityRejectedRequestsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2162") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2163") node.BrowseName = ua.QualifiedName.from_string("RejectedRequestsCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2150") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("RejectedRequestsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2163") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2164") node.BrowseName = ua.QualifiedName.from_string("SamplingIntervalDiagnosticsArrayType") node.NodeClass = ua.NodeClass.VariableType node.ParentNodeId = ua.NodeId.from_string("i=63") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.VariableTypeAttributes() attrs.DisplayName = ua.LocalizedText("SamplingIntervalDiagnosticsArrayType") attrs.DisplayName = ua.LocalizedText("SamplingIntervalDiagnosticsArrayType") attrs.DataType = ua.NodeId.from_string("i=856") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2164") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12779") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12779") node.BrowseName = ua.QualifiedName.from_string("SamplingIntervalDiagnostics") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2164") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2165") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SamplingIntervalDiagnostics") attrs.DataType = ua.NodeId.from_string("i=856") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12779") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12780") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12779") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12781") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12779") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12782") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12779") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12783") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12779") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=83") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12780") node.BrowseName = ua.QualifiedName.from_string("SamplingInterval") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12779") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SamplingInterval") attrs.DataType = ua.NodeId.from_string("i=290") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12780") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12781") node.BrowseName = ua.QualifiedName.from_string("SampledMonitoredItemsCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12779") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SampledMonitoredItemsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12781") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12782") node.BrowseName = ua.QualifiedName.from_string("MaxSampledMonitoredItemsCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12779") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("MaxSampledMonitoredItemsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12782") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12783") node.BrowseName = ua.QualifiedName.from_string("DisabledMonitoredItemsSamplingCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12779") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("DisabledMonitoredItemsSamplingCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12783") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2165") node.BrowseName = ua.QualifiedName.from_string("SamplingIntervalDiagnosticsType") node.NodeClass = ua.NodeClass.VariableType node.ParentNodeId = ua.NodeId.from_string("i=63") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.VariableTypeAttributes() attrs.DisplayName = ua.LocalizedText("SamplingIntervalDiagnosticsType") attrs.DisplayName = ua.LocalizedText("SamplingIntervalDiagnosticsType") attrs.DataType = ua.NodeId.from_string("i=856") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2165") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2166") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2165") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11697") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2165") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11698") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2165") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11699") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2166") node.BrowseName = ua.QualifiedName.from_string("SamplingInterval") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2165") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SamplingInterval") attrs.DataType = ua.NodeId.from_string("i=290") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2166") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11697") node.BrowseName = ua.QualifiedName.from_string("SampledMonitoredItemsCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2165") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SampledMonitoredItemsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11697") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11698") node.BrowseName = ua.QualifiedName.from_string("MaxSampledMonitoredItemsCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2165") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("MaxSampledMonitoredItemsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11698") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11699") node.BrowseName = ua.QualifiedName.from_string("DisabledMonitoredItemsSamplingCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2165") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("DisabledMonitoredItemsSamplingCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11699") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2171") node.BrowseName = ua.QualifiedName.from_string("SubscriptionDiagnosticsArrayType") node.NodeClass = ua.NodeClass.VariableType node.ParentNodeId = ua.NodeId.from_string("i=63") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.VariableTypeAttributes() attrs.DisplayName = ua.LocalizedText("SubscriptionDiagnosticsArrayType") attrs.DisplayName = ua.LocalizedText("SubscriptionDiagnosticsArrayType") attrs.DataType = ua.NodeId.from_string("i=874") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2171") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12784") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12784") node.BrowseName = ua.QualifiedName.from_string("SubscriptionDiagnostics") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2171") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2172") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SubscriptionDiagnostics") attrs.DataType = ua.NodeId.from_string("i=874") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12785") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12786") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12787") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12788") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12789") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12790") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12791") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12792") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12793") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12794") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12795") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12796") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12797") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12798") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12799") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12800") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12801") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12802") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12803") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12804") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12805") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12806") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12807") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12808") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12809") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12810") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12811") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12812") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12813") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12814") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12815") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=83") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12785") node.BrowseName = ua.QualifiedName.from_string("SessionId") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SessionId") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12785") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12786") node.BrowseName = ua.QualifiedName.from_string("SubscriptionId") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SubscriptionId") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12786") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12787") node.BrowseName = ua.QualifiedName.from_string("Priority") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Priority") attrs.DataType = ua.NodeId(ua.ObjectIds.Byte) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12787") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12788") node.BrowseName = ua.QualifiedName.from_string("PublishingInterval") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("PublishingInterval") attrs.DataType = ua.NodeId(ua.ObjectIds.Double) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12788") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12789") node.BrowseName = ua.QualifiedName.from_string("MaxKeepAliveCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("MaxKeepAliveCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12789") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12790") node.BrowseName = ua.QualifiedName.from_string("MaxLifetimeCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("MaxLifetimeCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12790") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12791") node.BrowseName = ua.QualifiedName.from_string("MaxNotificationsPerPublish") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("MaxNotificationsPerPublish") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12791") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12792") node.BrowseName = ua.QualifiedName.from_string("PublishingEnabled") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("PublishingEnabled") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12792") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12793") node.BrowseName = ua.QualifiedName.from_string("ModifyCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ModifyCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12793") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12794") node.BrowseName = ua.QualifiedName.from_string("EnableCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EnableCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12794") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12795") node.BrowseName = ua.QualifiedName.from_string("DisableCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("DisableCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12795") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12796") node.BrowseName = ua.QualifiedName.from_string("RepublishRequestCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("RepublishRequestCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12796") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12797") node.BrowseName = ua.QualifiedName.from_string("RepublishMessageRequestCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("RepublishMessageRequestCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12797") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12798") node.BrowseName = ua.QualifiedName.from_string("RepublishMessageCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("RepublishMessageCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12798") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12799") node.BrowseName = ua.QualifiedName.from_string("TransferRequestCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TransferRequestCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12799") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12800") node.BrowseName = ua.QualifiedName.from_string("TransferredToAltClientCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TransferredToAltClientCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12800") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12801") node.BrowseName = ua.QualifiedName.from_string("TransferredToSameClientCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TransferredToSameClientCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12801") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12802") node.BrowseName = ua.QualifiedName.from_string("PublishRequestCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("PublishRequestCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12802") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12803") node.BrowseName = ua.QualifiedName.from_string("DataChangeNotificationsCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("DataChangeNotificationsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12803") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12804") node.BrowseName = ua.QualifiedName.from_string("EventNotificationsCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EventNotificationsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12804") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12805") node.BrowseName = ua.QualifiedName.from_string("NotificationsCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("NotificationsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12805") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12806") node.BrowseName = ua.QualifiedName.from_string("LatePublishRequestCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("LatePublishRequestCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12806") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12807") node.BrowseName = ua.QualifiedName.from_string("CurrentKeepAliveCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CurrentKeepAliveCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12807") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12808") node.BrowseName = ua.QualifiedName.from_string("CurrentLifetimeCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CurrentLifetimeCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12808") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12809") node.BrowseName = ua.QualifiedName.from_string("UnacknowledgedMessageCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("UnacknowledgedMessageCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12809") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12810") node.BrowseName = ua.QualifiedName.from_string("DiscardedMessageCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("DiscardedMessageCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12810") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12811") node.BrowseName = ua.QualifiedName.from_string("MonitoredItemCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("MonitoredItemCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12811") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12812") node.BrowseName = ua.QualifiedName.from_string("DisabledMonitoredItemCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("DisabledMonitoredItemCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12812") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12813") node.BrowseName = ua.QualifiedName.from_string("MonitoringQueueOverflowCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("MonitoringQueueOverflowCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12813") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12814") node.BrowseName = ua.QualifiedName.from_string("NextSequenceNumber") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("NextSequenceNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12814") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12815") node.BrowseName = ua.QualifiedName.from_string("EventQueueOverFlowCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EventQueueOverFlowCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12815") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2172") node.BrowseName = ua.QualifiedName.from_string("SubscriptionDiagnosticsType") node.NodeClass = ua.NodeClass.VariableType node.ParentNodeId = ua.NodeId.from_string("i=63") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.VariableTypeAttributes() attrs.DisplayName = ua.LocalizedText("SubscriptionDiagnosticsType") attrs.DisplayName = ua.LocalizedText("SubscriptionDiagnosticsType") attrs.DataType = ua.NodeId.from_string("i=874") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2172") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2173") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2172") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2174") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2172") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2175") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2172") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2176") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2172") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2177") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2172") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8888") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2172") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2179") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2172") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2180") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2172") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2181") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2172") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2182") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2172") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2183") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2172") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2184") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2172") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2185") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2172") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2186") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2172") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2187") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2172") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2188") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2172") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2189") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2172") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2190") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2172") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2191") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2172") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2998") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2172") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2193") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2172") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8889") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2172") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8890") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2172") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8891") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2172") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8892") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2172") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8893") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2172") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8894") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2172") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8895") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2172") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8896") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2172") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8897") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2172") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8902") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2173") node.BrowseName = ua.QualifiedName.from_string("SessionId") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SessionId") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2173") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2174") node.BrowseName = ua.QualifiedName.from_string("SubscriptionId") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SubscriptionId") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2174") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2175") node.BrowseName = ua.QualifiedName.from_string("Priority") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Priority") attrs.DataType = ua.NodeId(ua.ObjectIds.Byte) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2175") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2176") node.BrowseName = ua.QualifiedName.from_string("PublishingInterval") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("PublishingInterval") attrs.DataType = ua.NodeId(ua.ObjectIds.Double) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2176") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2177") node.BrowseName = ua.QualifiedName.from_string("MaxKeepAliveCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("MaxKeepAliveCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2177") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8888") node.BrowseName = ua.QualifiedName.from_string("MaxLifetimeCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("MaxLifetimeCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=8888") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2179") node.BrowseName = ua.QualifiedName.from_string("MaxNotificationsPerPublish") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("MaxNotificationsPerPublish") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2179") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2180") node.BrowseName = ua.QualifiedName.from_string("PublishingEnabled") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("PublishingEnabled") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2180") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2181") node.BrowseName = ua.QualifiedName.from_string("ModifyCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ModifyCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2181") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2182") node.BrowseName = ua.QualifiedName.from_string("EnableCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EnableCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2182") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2183") node.BrowseName = ua.QualifiedName.from_string("DisableCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("DisableCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2183") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2184") node.BrowseName = ua.QualifiedName.from_string("RepublishRequestCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("RepublishRequestCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2184") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2185") node.BrowseName = ua.QualifiedName.from_string("RepublishMessageRequestCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("RepublishMessageRequestCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2185") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2186") node.BrowseName = ua.QualifiedName.from_string("RepublishMessageCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("RepublishMessageCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2186") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2187") node.BrowseName = ua.QualifiedName.from_string("TransferRequestCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TransferRequestCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2187") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2188") node.BrowseName = ua.QualifiedName.from_string("TransferredToAltClientCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TransferredToAltClientCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2188") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2189") node.BrowseName = ua.QualifiedName.from_string("TransferredToSameClientCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TransferredToSameClientCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2189") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2190") node.BrowseName = ua.QualifiedName.from_string("PublishRequestCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("PublishRequestCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2190") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2191") node.BrowseName = ua.QualifiedName.from_string("DataChangeNotificationsCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("DataChangeNotificationsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2191") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2998") node.BrowseName = ua.QualifiedName.from_string("EventNotificationsCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EventNotificationsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2998") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2193") node.BrowseName = ua.QualifiedName.from_string("NotificationsCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("NotificationsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2193") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8889") node.BrowseName = ua.QualifiedName.from_string("LatePublishRequestCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("LatePublishRequestCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=8889") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8890") node.BrowseName = ua.QualifiedName.from_string("CurrentKeepAliveCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CurrentKeepAliveCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=8890") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8891") node.BrowseName = ua.QualifiedName.from_string("CurrentLifetimeCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CurrentLifetimeCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=8891") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8892") node.BrowseName = ua.QualifiedName.from_string("UnacknowledgedMessageCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("UnacknowledgedMessageCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=8892") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8893") node.BrowseName = ua.QualifiedName.from_string("DiscardedMessageCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("DiscardedMessageCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=8893") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8894") node.BrowseName = ua.QualifiedName.from_string("MonitoredItemCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("MonitoredItemCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=8894") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8895") node.BrowseName = ua.QualifiedName.from_string("DisabledMonitoredItemCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("DisabledMonitoredItemCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=8895") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8896") node.BrowseName = ua.QualifiedName.from_string("MonitoringQueueOverflowCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("MonitoringQueueOverflowCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=8896") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8897") node.BrowseName = ua.QualifiedName.from_string("NextSequenceNumber") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("NextSequenceNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=8897") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8902") node.BrowseName = ua.QualifiedName.from_string("EventQueueOverFlowCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EventQueueOverFlowCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=8902") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2196") node.BrowseName = ua.QualifiedName.from_string("SessionDiagnosticsArrayType") node.NodeClass = ua.NodeClass.VariableType node.ParentNodeId = ua.NodeId.from_string("i=63") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.VariableTypeAttributes() attrs.DisplayName = ua.LocalizedText("SessionDiagnosticsArrayType") attrs.DisplayName = ua.LocalizedText("SessionDiagnosticsArrayType") attrs.DataType = ua.NodeId.from_string("i=865") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2196") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12816") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12816") node.BrowseName = ua.QualifiedName.from_string("SessionDiagnostics") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2196") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2197") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SessionDiagnostics") attrs.DataType = ua.NodeId.from_string("i=865") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12817") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12818") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12819") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12820") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12821") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12822") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12823") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12824") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12825") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12826") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12827") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12828") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12829") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12830") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12831") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12832") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12833") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12834") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12835") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12836") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12837") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12838") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12839") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12840") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12841") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12842") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12843") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12844") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12845") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12846") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12847") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12848") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12849") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12850") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12851") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12852") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12853") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12854") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12855") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12856") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12857") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12858") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12859") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=83") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12817") node.BrowseName = ua.QualifiedName.from_string("SessionId") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SessionId") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12817") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12818") node.BrowseName = ua.QualifiedName.from_string("SessionName") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SessionName") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12818") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12819") node.BrowseName = ua.QualifiedName.from_string("ClientDescription") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ClientDescription") attrs.DataType = ua.NodeId.from_string("i=308") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12819") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12820") node.BrowseName = ua.QualifiedName.from_string("ServerUri") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ServerUri") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12820") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12821") node.BrowseName = ua.QualifiedName.from_string("EndpointUrl") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EndpointUrl") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12821") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12822") node.BrowseName = ua.QualifiedName.from_string("LocaleIds") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("LocaleIds") attrs.DataType = ua.NodeId.from_string("i=295") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12822") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12823") node.BrowseName = ua.QualifiedName.from_string("ActualSessionTimeout") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ActualSessionTimeout") attrs.DataType = ua.NodeId.from_string("i=290") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12823") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12824") node.BrowseName = ua.QualifiedName.from_string("MaxResponseMessageSize") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("MaxResponseMessageSize") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12824") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12825") node.BrowseName = ua.QualifiedName.from_string("ClientConnectionTime") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ClientConnectionTime") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12825") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12826") node.BrowseName = ua.QualifiedName.from_string("ClientLastContactTime") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ClientLastContactTime") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12826") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12827") node.BrowseName = ua.QualifiedName.from_string("CurrentSubscriptionsCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CurrentSubscriptionsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12827") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12828") node.BrowseName = ua.QualifiedName.from_string("CurrentMonitoredItemsCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CurrentMonitoredItemsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12828") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12829") node.BrowseName = ua.QualifiedName.from_string("CurrentPublishRequestsInQueue") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CurrentPublishRequestsInQueue") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12829") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12830") node.BrowseName = ua.QualifiedName.from_string("TotalRequestCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TotalRequestCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12830") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12831") node.BrowseName = ua.QualifiedName.from_string("UnauthorizedRequestCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("UnauthorizedRequestCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12831") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12832") node.BrowseName = ua.QualifiedName.from_string("ReadCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ReadCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12832") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12833") node.BrowseName = ua.QualifiedName.from_string("HistoryReadCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("HistoryReadCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12833") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12834") node.BrowseName = ua.QualifiedName.from_string("WriteCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("WriteCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12834") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12835") node.BrowseName = ua.QualifiedName.from_string("HistoryUpdateCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("HistoryUpdateCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12835") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12836") node.BrowseName = ua.QualifiedName.from_string("CallCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CallCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12836") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12837") node.BrowseName = ua.QualifiedName.from_string("CreateMonitoredItemsCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CreateMonitoredItemsCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12837") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12838") node.BrowseName = ua.QualifiedName.from_string("ModifyMonitoredItemsCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ModifyMonitoredItemsCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12838") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12839") node.BrowseName = ua.QualifiedName.from_string("SetMonitoringModeCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SetMonitoringModeCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12839") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12840") node.BrowseName = ua.QualifiedName.from_string("SetTriggeringCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SetTriggeringCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12840") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12841") node.BrowseName = ua.QualifiedName.from_string("DeleteMonitoredItemsCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("DeleteMonitoredItemsCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12841") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12842") node.BrowseName = ua.QualifiedName.from_string("CreateSubscriptionCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CreateSubscriptionCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12842") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12843") node.BrowseName = ua.QualifiedName.from_string("ModifySubscriptionCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ModifySubscriptionCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12843") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12844") node.BrowseName = ua.QualifiedName.from_string("SetPublishingModeCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SetPublishingModeCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12844") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12845") node.BrowseName = ua.QualifiedName.from_string("PublishCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("PublishCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12845") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12846") node.BrowseName = ua.QualifiedName.from_string("RepublishCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("RepublishCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12846") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12847") node.BrowseName = ua.QualifiedName.from_string("TransferSubscriptionsCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TransferSubscriptionsCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12847") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12848") node.BrowseName = ua.QualifiedName.from_string("DeleteSubscriptionsCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("DeleteSubscriptionsCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12848") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12849") node.BrowseName = ua.QualifiedName.from_string("AddNodesCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("AddNodesCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12849") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12850") node.BrowseName = ua.QualifiedName.from_string("AddReferencesCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("AddReferencesCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12850") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12851") node.BrowseName = ua.QualifiedName.from_string("DeleteNodesCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("DeleteNodesCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12851") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12852") node.BrowseName = ua.QualifiedName.from_string("DeleteReferencesCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("DeleteReferencesCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12852") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12853") node.BrowseName = ua.QualifiedName.from_string("BrowseCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("BrowseCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12853") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12854") node.BrowseName = ua.QualifiedName.from_string("BrowseNextCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("BrowseNextCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12854") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12855") node.BrowseName = ua.QualifiedName.from_string("TranslateBrowsePathsToNodeIdsCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TranslateBrowsePathsToNodeIdsCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12855") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12856") node.BrowseName = ua.QualifiedName.from_string("QueryFirstCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("QueryFirstCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12856") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12857") node.BrowseName = ua.QualifiedName.from_string("QueryNextCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("QueryNextCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12857") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12858") node.BrowseName = ua.QualifiedName.from_string("RegisterNodesCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("RegisterNodesCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12858") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12859") node.BrowseName = ua.QualifiedName.from_string("UnregisterNodesCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("UnregisterNodesCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12859") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2197") node.BrowseName = ua.QualifiedName.from_string("SessionDiagnosticsVariableType") node.NodeClass = ua.NodeClass.VariableType node.ParentNodeId = ua.NodeId.from_string("i=63") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.VariableTypeAttributes() attrs.DisplayName = ua.LocalizedText("SessionDiagnosticsVariableType") attrs.DisplayName = ua.LocalizedText("SessionDiagnosticsVariableType") attrs.DataType = ua.NodeId.from_string("i=865") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2198") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2199") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2200") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2201") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2202") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2203") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2204") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3050") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2205") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2206") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2207") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2208") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2209") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8900") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11892") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2217") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2218") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2219") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2220") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2221") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2222") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2223") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2224") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2225") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2226") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2227") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2228") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2229") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2230") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2231") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2232") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2233") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2234") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2235") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2236") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2237") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2238") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2239") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2240") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2241") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2242") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2730") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2731") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2198") node.BrowseName = ua.QualifiedName.from_string("SessionId") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SessionId") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2198") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2199") node.BrowseName = ua.QualifiedName.from_string("SessionName") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SessionName") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2199") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2200") node.BrowseName = ua.QualifiedName.from_string("ClientDescription") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ClientDescription") attrs.DataType = ua.NodeId.from_string("i=308") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2200") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2201") node.BrowseName = ua.QualifiedName.from_string("ServerUri") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ServerUri") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2201") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2202") node.BrowseName = ua.QualifiedName.from_string("EndpointUrl") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EndpointUrl") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2202") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2203") node.BrowseName = ua.QualifiedName.from_string("LocaleIds") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("LocaleIds") attrs.DataType = ua.NodeId.from_string("i=295") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2203") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2204") node.BrowseName = ua.QualifiedName.from_string("ActualSessionTimeout") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ActualSessionTimeout") attrs.DataType = ua.NodeId.from_string("i=290") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2204") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3050") node.BrowseName = ua.QualifiedName.from_string("MaxResponseMessageSize") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("MaxResponseMessageSize") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3050") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2205") node.BrowseName = ua.QualifiedName.from_string("ClientConnectionTime") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ClientConnectionTime") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2205") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2206") node.BrowseName = ua.QualifiedName.from_string("ClientLastContactTime") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ClientLastContactTime") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2206") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2207") node.BrowseName = ua.QualifiedName.from_string("CurrentSubscriptionsCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CurrentSubscriptionsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2207") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2208") node.BrowseName = ua.QualifiedName.from_string("CurrentMonitoredItemsCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CurrentMonitoredItemsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2208") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2209") node.BrowseName = ua.QualifiedName.from_string("CurrentPublishRequestsInQueue") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CurrentPublishRequestsInQueue") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2209") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8900") node.BrowseName = ua.QualifiedName.from_string("TotalRequestCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TotalRequestCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=8900") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11892") node.BrowseName = ua.QualifiedName.from_string("UnauthorizedRequestCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("UnauthorizedRequestCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11892") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2217") node.BrowseName = ua.QualifiedName.from_string("ReadCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ReadCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2217") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2218") node.BrowseName = ua.QualifiedName.from_string("HistoryReadCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("HistoryReadCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2218") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2219") node.BrowseName = ua.QualifiedName.from_string("WriteCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("WriteCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2219") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2220") node.BrowseName = ua.QualifiedName.from_string("HistoryUpdateCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("HistoryUpdateCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2220") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2221") node.BrowseName = ua.QualifiedName.from_string("CallCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CallCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2221") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2222") node.BrowseName = ua.QualifiedName.from_string("CreateMonitoredItemsCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CreateMonitoredItemsCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2222") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2223") node.BrowseName = ua.QualifiedName.from_string("ModifyMonitoredItemsCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ModifyMonitoredItemsCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2223") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2224") node.BrowseName = ua.QualifiedName.from_string("SetMonitoringModeCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SetMonitoringModeCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2224") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2225") node.BrowseName = ua.QualifiedName.from_string("SetTriggeringCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SetTriggeringCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2225") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2226") node.BrowseName = ua.QualifiedName.from_string("DeleteMonitoredItemsCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("DeleteMonitoredItemsCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2226") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2227") node.BrowseName = ua.QualifiedName.from_string("CreateSubscriptionCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CreateSubscriptionCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2227") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2228") node.BrowseName = ua.QualifiedName.from_string("ModifySubscriptionCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ModifySubscriptionCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2228") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2229") node.BrowseName = ua.QualifiedName.from_string("SetPublishingModeCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SetPublishingModeCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2229") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2230") node.BrowseName = ua.QualifiedName.from_string("PublishCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("PublishCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2230") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2231") node.BrowseName = ua.QualifiedName.from_string("RepublishCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("RepublishCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2231") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2232") node.BrowseName = ua.QualifiedName.from_string("TransferSubscriptionsCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TransferSubscriptionsCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2232") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2233") node.BrowseName = ua.QualifiedName.from_string("DeleteSubscriptionsCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("DeleteSubscriptionsCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2233") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2234") node.BrowseName = ua.QualifiedName.from_string("AddNodesCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("AddNodesCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2234") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2235") node.BrowseName = ua.QualifiedName.from_string("AddReferencesCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("AddReferencesCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2235") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2236") node.BrowseName = ua.QualifiedName.from_string("DeleteNodesCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("DeleteNodesCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2236") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2237") node.BrowseName = ua.QualifiedName.from_string("DeleteReferencesCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("DeleteReferencesCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2237") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2238") node.BrowseName = ua.QualifiedName.from_string("BrowseCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("BrowseCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2238") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2239") node.BrowseName = ua.QualifiedName.from_string("BrowseNextCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("BrowseNextCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2239") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2240") node.BrowseName = ua.QualifiedName.from_string("TranslateBrowsePathsToNodeIdsCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TranslateBrowsePathsToNodeIdsCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2240") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2241") node.BrowseName = ua.QualifiedName.from_string("QueryFirstCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("QueryFirstCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2241") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2242") node.BrowseName = ua.QualifiedName.from_string("QueryNextCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("QueryNextCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2242") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2730") node.BrowseName = ua.QualifiedName.from_string("RegisterNodesCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("RegisterNodesCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2730") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2731") node.BrowseName = ua.QualifiedName.from_string("UnregisterNodesCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("UnregisterNodesCount") attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2731") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2243") node.BrowseName = ua.QualifiedName.from_string("SessionSecurityDiagnosticsArrayType") node.NodeClass = ua.NodeClass.VariableType node.ParentNodeId = ua.NodeId.from_string("i=63") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.VariableTypeAttributes() attrs.DisplayName = ua.LocalizedText("SessionSecurityDiagnosticsArrayType") attrs.DisplayName = ua.LocalizedText("SessionSecurityDiagnosticsArrayType") attrs.DataType = ua.NodeId.from_string("i=868") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2243") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12860") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12860") node.BrowseName = ua.QualifiedName.from_string("SessionSecurityDiagnostics") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2243") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2244") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SessionSecurityDiagnostics") attrs.DataType = ua.NodeId.from_string("i=868") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12860") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12861") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12860") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12862") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12860") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12863") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12860") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12864") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12860") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12865") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12860") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12866") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12860") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12867") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12860") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12868") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=12860") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12869") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12860") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=83") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12861") node.BrowseName = ua.QualifiedName.from_string("SessionId") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12860") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SessionId") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12861") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12862") node.BrowseName = ua.QualifiedName.from_string("ClientUserIdOfSession") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12860") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ClientUserIdOfSession") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12862") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12863") node.BrowseName = ua.QualifiedName.from_string("ClientUserIdHistory") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12860") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ClientUserIdHistory") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12863") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12864") node.BrowseName = ua.QualifiedName.from_string("AuthenticationMechanism") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12860") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("AuthenticationMechanism") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12864") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12865") node.BrowseName = ua.QualifiedName.from_string("Encoding") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12860") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Encoding") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12865") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12866") node.BrowseName = ua.QualifiedName.from_string("TransportProtocol") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12860") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TransportProtocol") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12866") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12867") node.BrowseName = ua.QualifiedName.from_string("SecurityMode") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12860") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SecurityMode") attrs.DataType = ua.NodeId.from_string("i=302") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12867") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12868") node.BrowseName = ua.QualifiedName.from_string("SecurityPolicyUri") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12860") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SecurityPolicyUri") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12868") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12869") node.BrowseName = ua.QualifiedName.from_string("ClientCertificate") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12860") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ClientCertificate") attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12869") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2244") node.BrowseName = ua.QualifiedName.from_string("SessionSecurityDiagnosticsType") node.NodeClass = ua.NodeClass.VariableType node.ParentNodeId = ua.NodeId.from_string("i=63") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.VariableTypeAttributes() attrs.DisplayName = ua.LocalizedText("SessionSecurityDiagnosticsType") attrs.DisplayName = ua.LocalizedText("SessionSecurityDiagnosticsType") attrs.DataType = ua.NodeId.from_string("i=868") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2244") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2245") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2244") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2246") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2244") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2247") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2244") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2248") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2244") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2249") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2244") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2250") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2244") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2251") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2244") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2252") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2244") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3058") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2245") node.BrowseName = ua.QualifiedName.from_string("SessionId") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2244") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SessionId") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2245") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2246") node.BrowseName = ua.QualifiedName.from_string("ClientUserIdOfSession") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2244") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ClientUserIdOfSession") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2246") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2247") node.BrowseName = ua.QualifiedName.from_string("ClientUserIdHistory") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2244") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ClientUserIdHistory") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2247") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2248") node.BrowseName = ua.QualifiedName.from_string("AuthenticationMechanism") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2244") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("AuthenticationMechanism") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2248") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2249") node.BrowseName = ua.QualifiedName.from_string("Encoding") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2244") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Encoding") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2249") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2250") node.BrowseName = ua.QualifiedName.from_string("TransportProtocol") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2244") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TransportProtocol") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2250") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2251") node.BrowseName = ua.QualifiedName.from_string("SecurityMode") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2244") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SecurityMode") attrs.DataType = ua.NodeId.from_string("i=302") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2251") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2252") node.BrowseName = ua.QualifiedName.from_string("SecurityPolicyUri") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2244") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SecurityPolicyUri") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3058") node.BrowseName = ua.QualifiedName.from_string("ClientCertificate") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2244") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ClientCertificate") attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3058") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11487") node.BrowseName = ua.QualifiedName.from_string("OptionSetType") node.NodeClass = ua.NodeClass.VariableType node.ParentNodeId = ua.NodeId.from_string("i=63") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.VariableTypeAttributes() attrs.DisplayName = ua.LocalizedText("OptionSetType") attrs.DisplayName = ua.LocalizedText("OptionSetType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11487") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11488") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11487") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11701") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11488") node.BrowseName = ua.QualifiedName.from_string("OptionSetValues") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11487") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("OptionSetValues") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11488") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11701") node.BrowseName = ua.QualifiedName.from_string("BitMask") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11487") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("BitMask") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11701") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3048") node.BrowseName = ua.QualifiedName.from_string("EventTypes") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=86") node.ReferenceTypeId = ua.NodeId.from_string("i=35") node.TypeDefinition = ua.NodeId.from_string("i=61") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("EventTypes") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=35") ref.SourceNodeId = ua.NodeId.from_string("i=3048") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2041") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2253") node.BrowseName = ua.QualifiedName.from_string("Server") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=85") node.ReferenceTypeId = ua.NodeId.from_string("i=35") node.TypeDefinition = ua.NodeId.from_string("i=2004") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Server") attrs.EventNotifier = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2253") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2254") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2253") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2255") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2253") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2256") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2253") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2267") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2253") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2994") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2253") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12885") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2253") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2268") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2253") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2274") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2253") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2295") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2253") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2296") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2253") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11715") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2253") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11492") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2253") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12873") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2253") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12749") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2253") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12886") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2254") node.BrowseName = ua.QualifiedName.from_string("ServerArray") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2253") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 attrs.Description = ua.LocalizedText("The list of server URIs used by the server.") attrs.DisplayName = ua.LocalizedText("ServerArray") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2255") node.BrowseName = ua.QualifiedName.from_string("NamespaceArray") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2253") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 attrs.Description = ua.LocalizedText("The list of namespace URIs used by the server.") attrs.DisplayName = ua.LocalizedText("NamespaceArray") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2256") node.BrowseName = ua.QualifiedName.from_string("ServerStatus") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2253") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2138") attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 attrs.Description = ua.LocalizedText("The current status of the server.") attrs.DisplayName = ua.LocalizedText("ServerStatus") attrs.DataType = ua.NodeId.from_string("i=862") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2256") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2257") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2256") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2258") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2256") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2259") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2256") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2260") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2256") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2992") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2256") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2993") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2257") node.BrowseName = ua.QualifiedName.from_string("StartTime") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2256") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("StartTime") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2258") node.BrowseName = ua.QualifiedName.from_string("CurrentTime") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2256") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CurrentTime") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2259") node.BrowseName = ua.QualifiedName.from_string("State") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2256") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("State") attrs.DataType = ua.NodeId.from_string("i=852") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2260") node.BrowseName = ua.QualifiedName.from_string("BuildInfo") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2256") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=3051") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("BuildInfo") attrs.DataType = ua.NodeId.from_string("i=338") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2260") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2262") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2260") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2263") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2260") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2261") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2260") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2264") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2260") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2265") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2260") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2266") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2262") node.BrowseName = ua.QualifiedName.from_string("ProductUri") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2260") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 attrs.DisplayName = ua.LocalizedText("ProductUri") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2263") node.BrowseName = ua.QualifiedName.from_string("ManufacturerName") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2260") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 attrs.DisplayName = ua.LocalizedText("ManufacturerName") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2261") node.BrowseName = ua.QualifiedName.from_string("ProductName") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2260") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 attrs.DisplayName = ua.LocalizedText("ProductName") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2264") node.BrowseName = ua.QualifiedName.from_string("SoftwareVersion") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2260") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 attrs.DisplayName = ua.LocalizedText("SoftwareVersion") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2265") node.BrowseName = ua.QualifiedName.from_string("BuildNumber") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2260") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 attrs.DisplayName = ua.LocalizedText("BuildNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2266") node.BrowseName = ua.QualifiedName.from_string("BuildDate") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2260") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 attrs.DisplayName = ua.LocalizedText("BuildDate") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2992") node.BrowseName = ua.QualifiedName.from_string("SecondsTillShutdown") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2256") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SecondsTillShutdown") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2993") node.BrowseName = ua.QualifiedName.from_string("ShutdownReason") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2256") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ShutdownReason") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2267") node.BrowseName = ua.QualifiedName.from_string("ServiceLevel") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2253") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 attrs.Description = ua.LocalizedText("A value indicating the level of service the server can provide. 255 indicates the best.") attrs.DisplayName = ua.LocalizedText("ServiceLevel") attrs.DataType = ua.NodeId(ua.ObjectIds.Byte) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2994") node.BrowseName = ua.QualifiedName.from_string("Auditing") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2253") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 attrs.Description = ua.LocalizedText("A flag indicating whether the server is currently generating audit events.") attrs.DisplayName = ua.LocalizedText("Auditing") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12885") node.BrowseName = ua.QualifiedName.from_string("EstimatedReturnTime") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2253") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 attrs.Description = ua.LocalizedText("Indicates the time at which the Server is expected to be available in the state RUNNING.") attrs.DisplayName = ua.LocalizedText("EstimatedReturnTime") attrs.DataType = ua.NodeId(ua.ObjectIds.DateTime) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2268") node.BrowseName = ua.QualifiedName.from_string("ServerCapabilities") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2253") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2013") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Describes capabilities supported by the server.") attrs.DisplayName = ua.LocalizedText("ServerCapabilities") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2268") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2269") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2268") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2271") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2268") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2272") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2268") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2735") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2268") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2736") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2268") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2737") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2268") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3704") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2268") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11702") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2268") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11703") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2268") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12911") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2268") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11704") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2268") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2996") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2268") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2997") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2269") node.BrowseName = ua.QualifiedName.from_string("ServerProfileArray") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2268") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("A list of profiles supported by the server.") attrs.DisplayName = ua.LocalizedText("ServerProfileArray") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2271") node.BrowseName = ua.QualifiedName.from_string("LocaleIdArray") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2268") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("A list of locales supported by the server.") attrs.DisplayName = ua.LocalizedText("LocaleIdArray") attrs.DataType = ua.NodeId.from_string("i=295") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2272") node.BrowseName = ua.QualifiedName.from_string("MinSupportedSampleRate") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2268") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The minimum sampling interval supported by the server.") attrs.DisplayName = ua.LocalizedText("MinSupportedSampleRate") attrs.DataType = ua.NodeId.from_string("i=290") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2735") node.BrowseName = ua.QualifiedName.from_string("MaxBrowseContinuationPoints") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2268") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The maximum number of continuation points for Browse operations per session.") attrs.DisplayName = ua.LocalizedText("MaxBrowseContinuationPoints") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2736") node.BrowseName = ua.QualifiedName.from_string("MaxQueryContinuationPoints") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2268") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The maximum number of continuation points for Query operations per session.") attrs.DisplayName = ua.LocalizedText("MaxQueryContinuationPoints") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2737") node.BrowseName = ua.QualifiedName.from_string("MaxHistoryContinuationPoints") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2268") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The maximum number of continuation points for ReadHistory operations per session.") attrs.DisplayName = ua.LocalizedText("MaxHistoryContinuationPoints") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3704") node.BrowseName = ua.QualifiedName.from_string("SoftwareCertificates") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2268") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The software certificates owned by the server.") attrs.DisplayName = ua.LocalizedText("SoftwareCertificates") attrs.DataType = ua.NodeId.from_string("i=344") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11702") node.BrowseName = ua.QualifiedName.from_string("MaxArrayLength") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2268") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The maximum length for an array value supported by the server.") attrs.DisplayName = ua.LocalizedText("MaxArrayLength") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11703") node.BrowseName = ua.QualifiedName.from_string("MaxStringLength") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2268") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The maximum length for a string value supported by the server.") attrs.DisplayName = ua.LocalizedText("MaxStringLength") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12911") node.BrowseName = ua.QualifiedName.from_string("MaxByteStringLength") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2268") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The maximum length for a byte string value supported by the server.") attrs.DisplayName = ua.LocalizedText("MaxByteStringLength") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11704") node.BrowseName = ua.QualifiedName.from_string("OperationLimits") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2268") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=11564") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Defines the limits supported by the server for different operations.") attrs.DisplayName = ua.LocalizedText("OperationLimits") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11704") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11705") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11704") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12165") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11704") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12166") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11704") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11707") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11704") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12167") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11704") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12168") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11704") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11709") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11704") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11710") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11704") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11711") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11704") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11712") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11704") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11713") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11704") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11714") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11705") node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerRead") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11704") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The maximum number of operations in a single Read request.") attrs.DisplayName = ua.LocalizedText("MaxNodesPerRead") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12165") node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerHistoryReadData") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11704") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The maximum number of operations in a single data HistoryRead request.") attrs.DisplayName = ua.LocalizedText("MaxNodesPerHistoryReadData") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12166") node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerHistoryReadEvents") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11704") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The maximum number of operations in a single event HistoryRead request.") attrs.DisplayName = ua.LocalizedText("MaxNodesPerHistoryReadEvents") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11707") node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerWrite") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11704") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The maximum number of operations in a single Write request.") attrs.DisplayName = ua.LocalizedText("MaxNodesPerWrite") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12167") node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerHistoryUpdateData") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11704") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The maximum number of operations in a single data HistoryUpdate request.") attrs.DisplayName = ua.LocalizedText("MaxNodesPerHistoryUpdateData") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12168") node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerHistoryUpdateEvents") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11704") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The maximum number of operations in a single event HistoryUpdate request.") attrs.DisplayName = ua.LocalizedText("MaxNodesPerHistoryUpdateEvents") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11709") node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerMethodCall") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11704") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The maximum number of operations in a single Call request.") attrs.DisplayName = ua.LocalizedText("MaxNodesPerMethodCall") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11710") node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerBrowse") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11704") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The maximum number of operations in a single Browse request.") attrs.DisplayName = ua.LocalizedText("MaxNodesPerBrowse") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11711") node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerRegisterNodes") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11704") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The maximum number of operations in a single RegisterNodes request.") attrs.DisplayName = ua.LocalizedText("MaxNodesPerRegisterNodes") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11712") node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerTranslateBrowsePathsToNodeIds") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11704") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The maximum number of operations in a single TranslateBrowsePathsToNodeIds request.") attrs.DisplayName = ua.LocalizedText("MaxNodesPerTranslateBrowsePathsToNodeIds") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11713") node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerNodeManagement") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11704") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The maximum number of operations in a single AddNodes, AddReferences, DeleteNodes or DeleteReferences request.") attrs.DisplayName = ua.LocalizedText("MaxNodesPerNodeManagement") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11714") node.BrowseName = ua.QualifiedName.from_string("MaxMonitoredItemsPerCall") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11704") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The maximum number of operations in a single MonitoredItem related request.") attrs.DisplayName = ua.LocalizedText("MaxMonitoredItemsPerCall") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2996") node.BrowseName = ua.QualifiedName.from_string("ModellingRules") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2268") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=61") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("A folder for the modelling rules supported by the server.") attrs.DisplayName = ua.LocalizedText("ModellingRules") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2997") node.BrowseName = ua.QualifiedName.from_string("AggregateFunctions") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2268") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=61") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("A folder for the real time aggregates supported by the server.") attrs.DisplayName = ua.LocalizedText("AggregateFunctions") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2274") node.BrowseName = ua.QualifiedName.from_string("ServerDiagnostics") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2253") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2020") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Reports diagnostics about the server.") attrs.DisplayName = ua.LocalizedText("ServerDiagnostics") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2274") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2275") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2274") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2289") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2274") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2290") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2274") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3706") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2274") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2294") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2275") node.BrowseName = ua.QualifiedName.from_string("ServerDiagnosticsSummary") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2274") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2150") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("A summary of server level diagnostics.") attrs.DisplayName = ua.LocalizedText("ServerDiagnosticsSummary") attrs.DataType = ua.NodeId.from_string("i=859") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2275") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2276") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2275") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2277") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2275") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2278") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2275") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2279") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2275") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3705") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2275") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2281") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2275") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2282") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2275") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2284") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2275") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2285") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2275") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2286") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2275") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2287") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2275") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2288") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2276") node.BrowseName = ua.QualifiedName.from_string("ServerViewCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2275") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ServerViewCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2277") node.BrowseName = ua.QualifiedName.from_string("CurrentSessionCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2275") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CurrentSessionCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2278") node.BrowseName = ua.QualifiedName.from_string("CumulatedSessionCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2275") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CumulatedSessionCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2279") node.BrowseName = ua.QualifiedName.from_string("SecurityRejectedSessionCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2275") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SecurityRejectedSessionCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3705") node.BrowseName = ua.QualifiedName.from_string("RejectedSessionCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2275") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("RejectedSessionCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2281") node.BrowseName = ua.QualifiedName.from_string("SessionTimeoutCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2275") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SessionTimeoutCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2282") node.BrowseName = ua.QualifiedName.from_string("SessionAbortCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2275") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SessionAbortCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2284") node.BrowseName = ua.QualifiedName.from_string("PublishingIntervalCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2275") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("PublishingIntervalCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2285") node.BrowseName = ua.QualifiedName.from_string("CurrentSubscriptionCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2275") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CurrentSubscriptionCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2286") node.BrowseName = ua.QualifiedName.from_string("CumulatedSubscriptionCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2275") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CumulatedSubscriptionCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2287") node.BrowseName = ua.QualifiedName.from_string("SecurityRejectedRequestsCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2275") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SecurityRejectedRequestsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2288") node.BrowseName = ua.QualifiedName.from_string("RejectedRequestsCount") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2275") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("RejectedRequestsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2289") node.BrowseName = ua.QualifiedName.from_string("SamplingIntervalDiagnosticsArray") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2274") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2164") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("A list of diagnostics for each sampling interval supported by the server.") attrs.DisplayName = ua.LocalizedText("SamplingIntervalDiagnosticsArray") attrs.DataType = ua.NodeId.from_string("i=856") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2290") node.BrowseName = ua.QualifiedName.from_string("SubscriptionDiagnosticsArray") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2274") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2171") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("A list of diagnostics for each active subscription.") attrs.DisplayName = ua.LocalizedText("SubscriptionDiagnosticsArray") attrs.DataType = ua.NodeId.from_string("i=874") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3706") node.BrowseName = ua.QualifiedName.from_string("SessionsDiagnosticsSummary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2274") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2026") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("A summary of session level diagnostics.") attrs.DisplayName = ua.LocalizedText("SessionsDiagnosticsSummary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=3706") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3707") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=3706") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3708") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3707") node.BrowseName = ua.QualifiedName.from_string("SessionDiagnosticsArray") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3706") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2196") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("A list of diagnostics for each active session.") attrs.DisplayName = ua.LocalizedText("SessionDiagnosticsArray") attrs.DataType = ua.NodeId.from_string("i=865") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3708") node.BrowseName = ua.QualifiedName.from_string("SessionSecurityDiagnosticsArray") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3706") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2243") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("A list of security related diagnostics for each active session.") attrs.DisplayName = ua.LocalizedText("SessionSecurityDiagnosticsArray") attrs.DataType = ua.NodeId.from_string("i=868") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2294") node.BrowseName = ua.QualifiedName.from_string("EnabledFlag") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2274") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("If TRUE the diagnostics collection is enabled.") attrs.DisplayName = ua.LocalizedText("EnabledFlag") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 attrs.AccessLevel = 3 attrs.UserAccessLevel = 3 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2295") node.BrowseName = ua.QualifiedName.from_string("VendorServerInfo") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2253") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2033") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Server information provided by the vendor.") attrs.DisplayName = ua.LocalizedText("VendorServerInfo") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2296") node.BrowseName = ua.QualifiedName.from_string("ServerRedundancy") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2253") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2034") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Describes the redundancy capabilities of the server.") attrs.DisplayName = ua.LocalizedText("ServerRedundancy") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2296") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3709") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2296") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11312") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2296") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11313") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2296") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11314") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2296") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=14415") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3709") node.BrowseName = ua.QualifiedName.from_string("RedundancySupport") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2296") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("Indicates what style of redundancy is supported by the server.") attrs.DisplayName = ua.LocalizedText("RedundancySupport") attrs.DataType = ua.NodeId.from_string("i=851") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11312") node.BrowseName = ua.QualifiedName.from_string("CurrentServerId") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2296") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CurrentServerId") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11313") node.BrowseName = ua.QualifiedName.from_string("RedundantServerArray") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2296") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("RedundantServerArray") attrs.DataType = ua.NodeId.from_string("i=853") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11314") node.BrowseName = ua.QualifiedName.from_string("ServerUriArray") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2296") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ServerUriArray") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=14415") node.BrowseName = ua.QualifiedName.from_string("ServerNetworkGroups") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2296") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ServerNetworkGroups") attrs.DataType = ua.NodeId.from_string("i=11944") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11715") node.BrowseName = ua.QualifiedName.from_string("Namespaces") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2253") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=11645") attrs = ua.ObjectAttributes() attrs.Description = ua.LocalizedText("Describes the namespaces supported by the server.") attrs.DisplayName = ua.LocalizedText("Namespaces") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11492") node.BrowseName = ua.QualifiedName.from_string("GetMonitoredItems") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=2253") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("GetMonitoredItems") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11492") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11493") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11492") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11494") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11493") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11492") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=7") extobj.Name = 'SubscriptionId' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11494") node.BrowseName = ua.QualifiedName.from_string("OutputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11492") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("OutputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=7") extobj.Name = 'ServerHandles' extobj.ValueRank = 1 value.append(extobj) extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=7") extobj.Name = 'ClientHandles' extobj.ValueRank = 1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12873") node.BrowseName = ua.QualifiedName.from_string("ResendData") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=2253") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("ResendData") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=12873") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12874") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12874") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12873") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=7") extobj.Name = 'SubscriptionId' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12749") node.BrowseName = ua.QualifiedName.from_string("SetSubscriptionDurable") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=2253") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("SetSubscriptionDurable") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=12749") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12750") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=12749") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12751") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12750") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12749") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=7") extobj.Name = 'SubscriptionId' extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=7") extobj.Name = 'LifetimeInHours' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12751") node.BrowseName = ua.QualifiedName.from_string("OutputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12749") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("OutputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=7") extobj.Name = 'RevisedLifetimeInHours' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12886") node.BrowseName = ua.QualifiedName.from_string("RequestServerStateChange") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=2253") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("RequestServerStateChange") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=12886") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12887") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12887") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12886") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=852") extobj.Name = 'State' extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=13") extobj.Name = 'EstimatedReturnTime' extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=7") extobj.Name = 'SecondsTillShutdown' extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=21") extobj.Name = 'Reason' extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.DataType = ua.NodeId.from_string("i=1") extobj.Name = 'Restart' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11737") node.BrowseName = ua.QualifiedName.from_string("BitFieldMaskDataType") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=9") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("b'A mask of 32 bits that can be updated individually by using the top 32 bits as a mask.'") attrs.DisplayName = ua.LocalizedText("BitFieldMaskDataType") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2299") node.BrowseName = ua.QualifiedName.from_string("StateMachineType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=58") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("StateMachineType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2299") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2769") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2299") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2770") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2769") node.BrowseName = ua.QualifiedName.from_string("CurrentState") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2299") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2755") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CurrentState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2769") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3720") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2769") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3720") node.BrowseName = ua.QualifiedName.from_string("Id") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2769") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3720") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2770") node.BrowseName = ua.QualifiedName.from_string("LastTransition") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2299") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2762") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("LastTransition") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2770") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3724") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2770") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3724") node.BrowseName = ua.QualifiedName.from_string("Id") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2770") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3724") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2755") node.BrowseName = ua.QualifiedName.from_string("StateVariableType") node.NodeClass = ua.NodeClass.VariableType node.ParentNodeId = ua.NodeId.from_string("i=63") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.VariableTypeAttributes() attrs.DisplayName = ua.LocalizedText("StateVariableType") attrs.DisplayName = ua.LocalizedText("StateVariableType") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2755") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2756") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2755") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2757") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2755") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2758") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2755") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2759") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2756") node.BrowseName = ua.QualifiedName.from_string("Id") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2755") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2756") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2757") node.BrowseName = ua.QualifiedName.from_string("Name") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2755") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Name") attrs.DataType = ua.NodeId(ua.ObjectIds.QualifiedName) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2757") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2758") node.BrowseName = ua.QualifiedName.from_string("Number") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2755") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Number") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2758") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2759") node.BrowseName = ua.QualifiedName.from_string("EffectiveDisplayName") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2755") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EffectiveDisplayName") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2759") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2762") node.BrowseName = ua.QualifiedName.from_string("TransitionVariableType") node.NodeClass = ua.NodeClass.VariableType node.ParentNodeId = ua.NodeId.from_string("i=63") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.VariableTypeAttributes() attrs.DisplayName = ua.LocalizedText("TransitionVariableType") attrs.DisplayName = ua.LocalizedText("TransitionVariableType") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2762") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2763") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2762") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2764") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2762") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2765") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2762") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2766") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2762") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11456") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2763") node.BrowseName = ua.QualifiedName.from_string("Id") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2762") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2763") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2764") node.BrowseName = ua.QualifiedName.from_string("Name") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2762") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Name") attrs.DataType = ua.NodeId(ua.ObjectIds.QualifiedName) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2764") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2765") node.BrowseName = ua.QualifiedName.from_string("Number") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2762") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Number") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2765") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2766") node.BrowseName = ua.QualifiedName.from_string("TransitionTime") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2762") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TransitionTime") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2766") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11456") node.BrowseName = ua.QualifiedName.from_string("EffectiveTransitionTime") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2762") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EffectiveTransitionTime") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11456") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2771") node.BrowseName = ua.QualifiedName.from_string("FiniteStateMachineType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2299") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("FiniteStateMachineType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2771") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2772") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2771") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2773") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2772") node.BrowseName = ua.QualifiedName.from_string("CurrentState") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2771") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2760") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CurrentState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2772") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3728") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2772") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3728") node.BrowseName = ua.QualifiedName.from_string("Id") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2772") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3728") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2773") node.BrowseName = ua.QualifiedName.from_string("LastTransition") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2771") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2767") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("LastTransition") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2773") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3732") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2773") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3732") node.BrowseName = ua.QualifiedName.from_string("Id") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2773") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3732") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2760") node.BrowseName = ua.QualifiedName.from_string("FiniteStateVariableType") node.NodeClass = ua.NodeClass.VariableType node.ParentNodeId = ua.NodeId.from_string("i=2755") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.VariableTypeAttributes() attrs.DisplayName = ua.LocalizedText("FiniteStateVariableType") attrs.DisplayName = ua.LocalizedText("FiniteStateVariableType") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2760") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2761") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2761") node.BrowseName = ua.QualifiedName.from_string("Id") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2760") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2761") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2767") node.BrowseName = ua.QualifiedName.from_string("FiniteTransitionVariableType") node.NodeClass = ua.NodeClass.VariableType node.ParentNodeId = ua.NodeId.from_string("i=2762") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.VariableTypeAttributes() attrs.DisplayName = ua.LocalizedText("FiniteTransitionVariableType") attrs.DisplayName = ua.LocalizedText("FiniteTransitionVariableType") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2767") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2768") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2768") node.BrowseName = ua.QualifiedName.from_string("Id") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2767") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2768") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2307") node.BrowseName = ua.QualifiedName.from_string("StateType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=58") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("StateType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2307") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2308") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2308") node.BrowseName = ua.QualifiedName.from_string("StateNumber") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2307") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("StateNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2308") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2309") node.BrowseName = ua.QualifiedName.from_string("InitialStateType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2307") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("InitialStateType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2310") node.BrowseName = ua.QualifiedName.from_string("TransitionType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=58") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("TransitionType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2310") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2312") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2312") node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2310") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TransitionNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2312") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2311") node.BrowseName = ua.QualifiedName.from_string("TransitionEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2041") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("TransitionEventType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2311") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2774") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2311") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2775") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2311") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2776") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2774") node.BrowseName = ua.QualifiedName.from_string("Transition") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2311") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2762") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Transition") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2774") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3754") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2774") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3754") node.BrowseName = ua.QualifiedName.from_string("Id") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2774") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3754") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2775") node.BrowseName = ua.QualifiedName.from_string("FromState") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2311") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2755") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("FromState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2775") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3746") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2775") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3746") node.BrowseName = ua.QualifiedName.from_string("Id") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2775") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3746") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2776") node.BrowseName = ua.QualifiedName.from_string("ToState") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2311") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2755") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ToState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2776") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3750") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2776") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3750") node.BrowseName = ua.QualifiedName.from_string("Id") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2776") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3750") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2315") node.BrowseName = ua.QualifiedName.from_string("AuditUpdateStateEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2127") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("AuditUpdateStateEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2315") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2777") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2315") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2778") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2777") node.BrowseName = ua.QualifiedName.from_string("OldStateId") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2315") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("OldStateId") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2777") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2778") node.BrowseName = ua.QualifiedName.from_string("NewStateId") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2315") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("NewStateId") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2778") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=338") node.BrowseName = ua.QualifiedName.from_string("BuildInfo") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=22") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.DisplayName = ua.LocalizedText("BuildInfo") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=851") node.BrowseName = ua.QualifiedName.from_string("RedundancySupport") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=29") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.DisplayName = ua.LocalizedText("RedundancySupport") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=851") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7611") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=7611") node.BrowseName = ua.QualifiedName.from_string("EnumStrings") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=851") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EnumStrings") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.Value = ua.Variant(['None', 'Cold', 'Warm', 'Hot', 'Transparent', 'HotAndMirrored'], ua.VariantType.LocalizedText) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=7611") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=852") node.BrowseName = ua.QualifiedName.from_string("ServerState") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=29") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.DisplayName = ua.LocalizedText("ServerState") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=852") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7612") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=7612") node.BrowseName = ua.QualifiedName.from_string("EnumStrings") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=852") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EnumStrings") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.Value = ua.Variant(['Running', 'Failed', 'NoConfiguration', 'Suspended', 'Shutdown', 'Test', 'CommunicationFault', 'Unknown'], ua.VariantType.LocalizedText) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=7612") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=853") node.BrowseName = ua.QualifiedName.from_string("RedundantServerDataType") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=22") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.DisplayName = ua.LocalizedText("RedundantServerDataType") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11943") node.BrowseName = ua.QualifiedName.from_string("EndpointUrlListDataType") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=22") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.DisplayName = ua.LocalizedText("EndpointUrlListDataType") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11944") node.BrowseName = ua.QualifiedName.from_string("NetworkGroupDataType") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=22") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.DisplayName = ua.LocalizedText("NetworkGroupDataType") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=856") node.BrowseName = ua.QualifiedName.from_string("SamplingIntervalDiagnosticsDataType") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=22") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.DisplayName = ua.LocalizedText("SamplingIntervalDiagnosticsDataType") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=859") node.BrowseName = ua.QualifiedName.from_string("ServerDiagnosticsSummaryDataType") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=22") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.DisplayName = ua.LocalizedText("ServerDiagnosticsSummaryDataType") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=862") node.BrowseName = ua.QualifiedName.from_string("ServerStatusDataType") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=22") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.DisplayName = ua.LocalizedText("ServerStatusDataType") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=865") node.BrowseName = ua.QualifiedName.from_string("SessionDiagnosticsDataType") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=22") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.DisplayName = ua.LocalizedText("SessionDiagnosticsDataType") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=868") node.BrowseName = ua.QualifiedName.from_string("SessionSecurityDiagnosticsDataType") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=22") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.DisplayName = ua.LocalizedText("SessionSecurityDiagnosticsDataType") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=871") node.BrowseName = ua.QualifiedName.from_string("ServiceCounterDataType") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=22") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.DisplayName = ua.LocalizedText("ServiceCounterDataType") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=299") node.BrowseName = ua.QualifiedName.from_string("StatusResult") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=22") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.DisplayName = ua.LocalizedText("StatusResult") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=874") node.BrowseName = ua.QualifiedName.from_string("SubscriptionDiagnosticsDataType") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=22") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.DisplayName = ua.LocalizedText("SubscriptionDiagnosticsDataType") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=877") node.BrowseName = ua.QualifiedName.from_string("ModelChangeStructureDataType") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=22") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.DisplayName = ua.LocalizedText("ModelChangeStructureDataType") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=897") node.BrowseName = ua.QualifiedName.from_string("SemanticChangeStructureDataType") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=22") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.DisplayName = ua.LocalizedText("SemanticChangeStructureDataType") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=339") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=338") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=339") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8327") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=854") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=853") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=854") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8843") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11949") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=11943") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=11949") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11951") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11950") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=11944") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=11950") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11954") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=857") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=856") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=857") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8846") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=860") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=859") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=860") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8849") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=863") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=862") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=863") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8852") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=866") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=865") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=866") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8855") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=869") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=868") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=869") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8858") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=872") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=871") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=872") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8861") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=300") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=299") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=300") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8294") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=875") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=874") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=875") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8864") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=878") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=877") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=878") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8867") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=898") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=897") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=898") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8870") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8252") node.BrowseName = ua.QualifiedName.from_string("Opc.Ua") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=92") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=72") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Opc.Ua") attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) attrs.Value = ua.Variant("PHhzOnNjaGVtYQ0KICB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiDQogIHhtbG5zOnVhPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvMjAwOC8wMi9UeXBlcy54c2QiDQogIHhtbG5zOnRucz0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VBLzIwMDgvMDIvVHlwZXMueHNkIg0KICB0YXJnZXROYW1lc3BhY2U9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9VQS8yMDA4LzAyL1R5cGVzLnhzZCINCiAgZWxlbWVudEZvcm1EZWZhdWx0PSJxdWFsaWZpZWQiDQo+DQogIDx4czplbGVtZW50IG5hbWU9IkJvb2xlYW4iIG5pbGxhYmxlPSJ0cnVlIiB0eXBlPSJ4czpib29sZWFuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZCb29sZWFuIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCb29sZWFuIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJvb2xlYW4iIHR5cGU9InRuczpMaXN0T2ZCb29sZWFuIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czplbGVtZW50IG5hbWU9IlNCeXRlIiBuaWxsYWJsZT0idHJ1ZSIgdHlwZT0ieHM6Ynl0ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU0J5dGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNCeXRlIiB0eXBlPSJ4czpieXRlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlNCeXRlIiB0eXBlPSJ0bnM6TGlzdE9mU0J5dGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnl0ZSIgbmlsbGFibGU9InRydWUiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnl0ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnl0ZSIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJ5dGUiIHR5cGU9InRuczpMaXN0T2ZCeXRlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czplbGVtZW50IG5hbWU9IkludDE2IiBuaWxsYWJsZT0idHJ1ZSIgdHlwZT0ieHM6c2hvcnQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkludDE2Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbnQxNiIgdHlwZT0ieHM6c2hvcnQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mSW50MTYiIHR5cGU9InRuczpMaXN0T2ZJbnQxNiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVSW50MTYiIG5pbGxhYmxlPSJ0cnVlIiB0eXBlPSJ4czp1bnNpZ25lZFNob3J0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZVSW50MTYiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVJbnQxNiIgdHlwZT0ieHM6dW5zaWduZWRTaG9ydCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZVSW50MTYiIHR5cGU9InRuczpMaXN0T2ZVSW50MTYiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iSW50MzIiIG5pbGxhYmxlPSJ0cnVlIiB0eXBlPSJ4czppbnQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkludDMyIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbnQzMiIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkludDMyIiB0eXBlPSJ0bnM6TGlzdE9mSW50MzIiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iVUludDMyIiBuaWxsYWJsZT0idHJ1ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlVJbnQzMiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVUludDMyIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZVSW50MzIiIHR5cGU9InRuczpMaXN0T2ZVSW50MzIiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iSW50NjQiIG5pbGxhYmxlPSJ0cnVlIiB0eXBlPSJ4czpsb25nIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZJbnQ2NCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW50NjQiIHR5cGU9InhzOmxvbmciIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mSW50NjQiIHR5cGU9InRuczpMaXN0T2ZJbnQ2NCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVSW50NjQiIG5pbGxhYmxlPSJ0cnVlIiB0eXBlPSJ4czp1bnNpZ25lZExvbmciIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlVJbnQ2NCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVUludDY0IiB0eXBlPSJ4czp1bnNpZ25lZExvbmciIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mVUludDY0IiB0eXBlPSJ0bnM6TGlzdE9mVUludDY0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czplbGVtZW50IG5hbWU9IkZsb2F0IiBuaWxsYWJsZT0idHJ1ZSIgdHlwZT0ieHM6ZmxvYXQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkZsb2F0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGbG9hdCIgdHlwZT0ieHM6ZmxvYXQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRmxvYXQiIHR5cGU9InRuczpMaXN0T2ZGbG9hdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEb3VibGUiIG5pbGxhYmxlPSJ0cnVlIiB0eXBlPSJ4czpkb3VibGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkRvdWJsZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRG91YmxlIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRG91YmxlIiB0eXBlPSJ0bnM6TGlzdE9mRG91YmxlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czplbGVtZW50IG5hbWU9IlN0cmluZyIgbmlsbGFibGU9InRydWUiIHR5cGU9InhzOnN0cmluZyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU3RyaW5nIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdHJpbmciIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTdHJpbmciIHR5cGU9InRuczpMaXN0T2ZTdHJpbmciIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0ZVRpbWUiIG5pbGxhYmxlPSJ0cnVlIiB0eXBlPSJ4czpkYXRlVGltZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGF0ZVRpbWUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGVUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZEYXRlVGltZSIgdHlwZT0idG5zOkxpc3RPZkRhdGVUaW1lIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJHdWlkIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czphcHBpbmZvPg0KICAgICAgICA8SXNWYWx1ZVR5cGUgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vMjAwMy8xMC9TZXJpYWxpemF0aW9uLyI+dHJ1ZTwvSXNWYWx1ZVR5cGU+DQogICAgICA8L3hzOmFwcGluZm8+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0cmluZyIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0iMSIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iR3VpZCIgdHlwZT0idG5zOkd1aWQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkd1aWQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikd1aWQiIHR5cGU9InRuczpHdWlkIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkd1aWQiIHR5cGU9InRuczpMaXN0T2ZHdWlkIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czplbGVtZW50IG5hbWU9IkJ5dGVTdHJpbmciIG5pbGxhYmxlPSJ0cnVlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkJ5dGVTdHJpbmciPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJ5dGVTdHJpbmciIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQnl0ZVN0cmluZyIgdHlwZT0idG5zOkxpc3RPZkJ5dGVTdHJpbmciIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlhtbEVsZW1lbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlhtbEVsZW1lbnQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIj4NCiAgICAgICAgPHhzOmNvbXBsZXhUeXBlPg0KICAgICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICAgIDx4czphbnkgbWluT2NjdXJzPSIwIiBwcm9jZXNzQ29udGVudHM9ImxheCIvPg0KICAgICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICAgIDwveHM6Y29tcGxleFR5cGU+DQogICAgICA8L3hzOmVsZW1lbnQ+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mWG1sRWxlbWVudCIgdHlwZT0idG5zOkxpc3RPZlhtbEVsZW1lbnQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik5vZGVJZCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSWRlbnRpZmllciIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0iMSIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ0bnM6Tm9kZUlkIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZOb2RlSWQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0idG5zOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTm9kZUlkIiB0eXBlPSJ0bnM6TGlzdE9mTm9kZUlkIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFeHBhbmRlZE5vZGVJZCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSWRlbnRpZmllciIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0iMSIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRXhwYW5kZWROb2RlSWQiIHR5cGU9InRuczpFeHBhbmRlZE5vZGVJZCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRXhwYW5kZWROb2RlSWQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkV4cGFuZGVkTm9kZUlkIiB0eXBlPSJ0bnM6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkV4cGFuZGVkTm9kZUlkIiB0eXBlPSJ0bnM6TGlzdE9mRXhwYW5kZWROb2RlSWQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlN0YXR1c0NvZGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmFwcGluZm8+DQogICAgICAgIDxJc1ZhbHVlVHlwZSB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS8yMDAzLzEwL1NlcmlhbGl6YXRpb24vIj50cnVlPC9Jc1ZhbHVlVHlwZT4NCiAgICAgIDwveHM6YXBwaW5mbz4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29kZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ0bnM6U3RhdHVzQ29kZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU3RhdHVzQ29kZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idG5zOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU3RhdHVzQ29kZSIgdHlwZT0idG5zOkxpc3RPZlN0YXR1c0NvZGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRpYWdub3N0aWNJbmZvIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTeW1ib2xpY0lkIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5hbWVzcGFjZVVyaSIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMb2NhbGUiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxpemVkVGV4dCIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRpdGlvbmFsSW5mbyIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbm5lclN0YXR1c0NvZGUiIHR5cGU9InRuczpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbm5lckRpYWdub3N0aWNJbmZvIiB0eXBlPSJ0bnM6RGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mbyIgdHlwZT0idG5zOkRpYWdub3N0aWNJbmZvIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZEaWFnbm9zdGljSW5mbyI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm8iIHR5cGU9InRuczpEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRGlhZ25vc3RpY0luZm8iIHR5cGU9InRuczpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTG9jYWxpemVkVGV4dCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUZXh0IiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkxvY2FsaXplZFRleHQiIHR5cGU9InRuczpMb2NhbGl6ZWRUZXh0IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTG9jYWxpemVkVGV4dCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxpemVkVGV4dCIgdHlwZT0idG5zOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkxvY2FsaXplZFRleHQiIHR5cGU9InRuczpMaXN0T2ZMb2NhbGl6ZWRUZXh0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJRdWFsaWZpZWROYW1lIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOYW1lc3BhY2VJbmRleCIgdHlwZT0ieHM6dW5zaWduZWRTaG9ydCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlF1YWxpZmllZE5hbWUiIHR5cGU9InRuczpRdWFsaWZpZWROYW1lIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUXVhbGlmaWVkTmFtZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVhbGlmaWVkTmFtZSIgdHlwZT0idG5zOlF1YWxpZmllZE5hbWUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlF1YWxpZmllZE5hbWUiIHR5cGU9InRuczpMaXN0T2ZRdWFsaWZpZWROYW1lIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDwhLS0NCiAgICBTb21lIGVudmlyb25tZW50cyByZXF1aXJlIGEgV1NETC9YU0Qgd2hpY2ggZXhwbGljaXRseSBkZWZpbmVzIGFsbCBwb3NzaWJsZSB0eXBlcy4NCiAgICBUaGUgVUEgV1NETC9YU0QgY2FuIGJlIG1vZGlmaWVkIHRvIHN1cHBvcnQgdGhlc2UgZW52aXJvbm1lbnRzIGJ5IHJlcGxhY2luZyB0aGUNCiAgICBkZWZpbml0aW9ucyBvZiB0aGUgRXh0ZW5zaW9uT2JqZWN0Qm9keSBhbmQgVmFyaWFudFZhbHVlIGNvbXBsZXggdHlwZXMgd2l0aCB0aGUNCiAgICBkZWZpbml0aW9ucyBpbiB0aGUgY29tbWVudHMgc2hvd24gaGVyZS4gRGV2ZWxvcGVycyB3b3VsZCB0aGVuIGRlZmluZSBzdWJ0eXBlcw0KICAgIG9mIHRoZSBFeHRlbnNpb25PYmplY3RCb2R5IHR5cGUgd2hpY2ggZXhwbGljaXRseSBkZWNsYXJlIGEgY2hvaWNlIGJldHdlZW4gYWxsIG9mIHRoZQ0KICAgIGNvbXBsZXggdHlwZXMgdXNlZCBieSB0aGUgc3lzdGVtLiBUaGUgRXhhbXBsZUV4dGVuc2lvbk9iamVjdEJvZHkgc3VidHlwZSBpcyBwcm92aWRlcw0KICAgIGEgdGVtcGxhdGUgYmFzZWQgb24gYSBmZXcgY29tbW9uIFVBLWRlZmluZWQgY29tcGxleCB0eXBlcy4NCiAgICAtLT4NCg0KICA8IS0tDQogICAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkV4dGVuc2lvbk9iamVjdEJvZHkiIC8+DQoNCiAgICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRXhhbXBsZUV4dGVuc2lvbk9iamVjdEJvZHkiPg0KICAgICAgPHhzOmNvbXBsZXhDb250ZW50Pg0KICAgICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpFeHRlbnNpb25PYmplY3RCb2R5Ij4NCiAgICAgICAgICA8eHM6Y2hvaWNlPg0KICAgICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXJndW1lbnQiIHR5cGU9InRuczpBcmd1bWVudCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJJZGVudGl0eVRva2VuIiB0eXBlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyTmFtZUlkZW50aXR5VG9rZW4iIHR5cGU9InRuczpVc2VyTmFtZUlkZW50aXR5VG9rZW4iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPC94czpjaG9pY2U+DQogICAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgICA8L3hzOmNvbXBsZXhUeXBlPg0KDQogICAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkV4dGVuc2lvbk9iamVjdCI+DQogICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgIDx4czplbGVtZW50IG5hbWU9IlR5cGVJZCIgdHlwZT0idG5zOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCb2R5IiBtaW5PY2N1cnM9IjAiIHR5cGU9InRuczpFeHRlbnNpb25PYmplY3RCb2R5IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgPC94czpjb21wbGV4VHlwZT4NCiAgICA8eHM6ZWxlbWVudCBuYW1lPSJFeHRlbnNpb25PYmplY3QiIHR5cGU9InRuczpFeHRlbnNpb25PYmplY3QiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIC0tPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFeHRlbnNpb25PYmplY3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlR5cGVJZCIgdHlwZT0idG5zOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJvZHkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiPg0KICAgICAgICA8eHM6Y29tcGxleFR5cGU+DQogICAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgICAgPHhzOmFueSBtaW5PY2N1cnM9IjAiIHByb2Nlc3NDb250ZW50cz0ibGF4Ii8+DQogICAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgICAgPC94czpjb21wbGV4VHlwZT4NCiAgICAgIDwveHM6ZWxlbWVudD4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFeHRlbnNpb25PYmplY3QiIHR5cGU9InRuczpFeHRlbnNpb25PYmplY3QiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZFeHRlbnNpb25PYmplY3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkV4dGVuc2lvbk9iamVjdCIgdHlwZT0idG5zOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRXh0ZW5zaW9uT2JqZWN0IiB0eXBlPSJ0bnM6TGlzdE9mRXh0ZW5zaW9uT2JqZWN0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDwhLS0NCiAgICBTb21lIFdTREwvWE1MIGNvbXBpbGVycyBoYXZlIGlzc3VlcyB3aXRoIHRoZSB4czpjaG9pY2UgY29uc3RydWN0LiBGb3IgdGhhdCByZWFzb24NCiAgICB0aGUgZGVmYXVsdCBkZWNsYXJhdGlvbiBvZiBhIFZhcmlhbnQgdXNlcyB4czphbnkgY29uc3RydWN0LiBUaGUgc2NoZW1hIGFjdXR1YWxseQ0KICAgIGRlZmluZWQgYnkgdGhlIHNwZWNpZmljYXRpb24gaXMgcHJvdmlkZWQgYnkgdGhlIE1hdHJpeCBhbmQgVmFyaWFudFZhbHVlIGNvbXBsZXggdHlwZXMNCiAgICBzaG93biBpbiBjb21tZW50cyBiZWxvdy4gQXBwbGljYXRpb24gZGV2ZWxvcGVycyBjYW4gcmVwbGFjZSB0aGUgVmFyaWFudFZhbHVlIGRlY2xhcmF0aW9uDQogICAgd2l0aCB0aGUgc3BlY2lmaWMgZGVjbGFyYXRpb24gaWYgdGhleSBoYXZlIGEgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQgdGhhdCBjYW4gaGFuZGxlDQogICAgdGhlIHhzOmNob2ljZSBjb25zdHJ1Y3QgaW4gYSByZWFzb25hYmxlIHdheS4NCiAgICAtLT4NCg0KICA8IS0tDQogICAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1hdHJpeCI+DQogICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpbWVuc2lvbnMiIHR5cGU9InRuczpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIj4NCiAgICAgICAgICA8eHM6Y29tcGxleFR5cGUgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgICAgICAgIDx4czpjaG9pY2UgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiPg0KICAgICAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCb29sZWFuIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlNCeXRlIiB0eXBlPSJ4czpieXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkJ5dGUiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbnQxNiIgdHlwZT0ieHM6c2hvcnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVUludDE2IiB0eXBlPSJ4czp1bnNpZ25lZFNob3J0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkludDMyIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVUludDMyIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbnQ2NCIgdHlwZT0ieHM6bG9uZyIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVSW50NjQiIHR5cGU9InhzOnVuc2lnbmVkTG9uZyIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGbG9hdCIgdHlwZT0ieHM6ZmxvYXQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRG91YmxlIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RyaW5nIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0ZVRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ikd1aWQiIHR5cGU9InRuczpHdWlkIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkJ5dGVTdHJpbmciIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJYbWxFbGVtZW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIj4NCiAgICAgICAgICAgICAgICA8eHM6Y29tcGxleFR5cGU+DQogICAgICAgICAgICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgICAgICAgICAgIDx4czphbnkgbWluT2NjdXJzPSIwIiBwcm9jZXNzQ29udGVudHM9ImxheCIgLz4NCiAgICAgICAgICAgICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICAgICAgICAgICAgPC94czpjb21wbGV4VHlwZT4NCiAgICAgICAgICAgICAgPC94czplbGVtZW50Pg0KICAgICAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ0bnM6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InRuczpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXhwYW5kZWROb2RlSWQiIHR5cGU9InRuczpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJRdWFsaWZpZWROYW1lIiB0eXBlPSJ0bnM6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMb2NhbGl6ZWRUZXh0IiB0eXBlPSJ0bnM6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFeHRlbnNpb25PYmplY3QiIHR5cGU9InRuczpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFyaWFudCIgdHlwZT0idG5zOlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICAgIDwveHM6Y2hvaWNlPg0KICAgICAgICAgIDwveHM6Y29tcGxleFR5cGU+DQogICAgICAgIDwveHM6ZWxlbWVudD4NCiAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgPC94czpjb21wbGV4VHlwZT4NCiAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXRyaXgiIHR5cGU9InRuczpNYXRyaXgiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KDQogICAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhbnRWYWx1ZSI+DQogICAgICA8eHM6Y2hvaWNlPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCb29sZWFuIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDx4czplbGVtZW50IG5hbWU9IlNCeXRlIiB0eXBlPSJ4czpieXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDx4czplbGVtZW50IG5hbWU9IkJ5dGUiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbnQxNiIgdHlwZT0ieHM6c2hvcnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVUludDE2IiB0eXBlPSJ4czp1bnNpZ25lZFNob3J0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDx4czplbGVtZW50IG5hbWU9IkludDMyIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVUludDMyIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbnQ2NCIgdHlwZT0ieHM6bG9uZyIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVSW50NjQiIHR5cGU9InhzOnVuc2lnbmVkTG9uZyIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGbG9hdCIgdHlwZT0ieHM6ZmxvYXQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRG91YmxlIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RyaW5nIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0ZVRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDx4czplbGVtZW50IG5hbWU9Ikd1aWQiIHR5cGU9InRuczpHdWlkIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDx4czplbGVtZW50IG5hbWU9IkJ5dGVTdHJpbmciIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJYbWxFbGVtZW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIj4NCiAgICAgICAgICA8eHM6Y29tcGxleFR5cGU+DQogICAgICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgICAgIDx4czphbnkgbWluT2NjdXJzPSIwIiBwcm9jZXNzQ29udGVudHM9ImxheCIgLz4NCiAgICAgICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICAgICAgPC94czpjb21wbGV4VHlwZT4NCiAgICAgICAgPC94czplbGVtZW50Pg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ0bnM6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InRuczpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXhwYW5kZWROb2RlSWQiIHR5cGU9InRuczpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJRdWFsaWZpZWROYW1lIiB0eXBlPSJ0bnM6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMb2NhbGl6ZWRUZXh0IiB0eXBlPSJ0bnM6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFeHRlbnNpb25PYmplY3QiIHR5cGU9InRuczpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQm9vbGVhbiIgdHlwZT0idG5zOkxpc3RPZkJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU0J5dGUiIHR5cGU9InRuczpMaXN0T2ZTQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZCeXRlIiB0eXBlPSJ0bnM6TGlzdE9mQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZJbnQxNiIgdHlwZT0idG5zOkxpc3RPZkludDE2IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlVJbnQxNiIgdHlwZT0idG5zOkxpc3RPZlVJbnQxNiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZJbnQzMiIgdHlwZT0idG5zOkxpc3RPZkludDMyIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlVJbnQzMiIgdHlwZT0idG5zOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZJbnQ2NCIgdHlwZT0idG5zOkxpc3RPZkludDY0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlVJbnQ2NCIgdHlwZT0idG5zOkxpc3RPZlVJbnQ2NCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZGbG9hdCIgdHlwZT0idG5zOkxpc3RPZkZsb2F0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRvdWJsZSIgdHlwZT0idG5zOkxpc3RPZkRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTdHJpbmciIHR5cGU9InRuczpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRGF0ZVRpbWUiIHR5cGU9InRuczpMaXN0T2ZEYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZHdWlkIiB0eXBlPSJ0bnM6TGlzdE9mR3VpZCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZCeXRlU3RyaW5nIiB0eXBlPSJ0bnM6TGlzdE9mQnl0ZVN0cmluZyIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZYbWxFbGVtZW50IiB0eXBlPSJ0bnM6TGlzdE9mWG1sRWxlbWVudCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTdGF0dXNDb2RlIiB0eXBlPSJ0bnM6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZOb2RlSWQiIHR5cGU9InRuczpMaXN0T2ZOb2RlSWQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRXhwYW5kZWROb2RlSWQiIHR5cGU9InRuczpMaXN0T2ZFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZRdWFsaWZpZWROYW1lIiB0eXBlPSJ0bnM6TGlzdE9mUXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZMb2NhbGl6ZWRUZXh0IiB0eXBlPSJ0bnM6TGlzdE9mTG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFeHRlbnNpb25PYmplY3QiIHR5cGU9InRuczpMaXN0T2ZFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mVmFyaWFudCIgdHlwZT0idG5zOkxpc3RPZlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF0cml4IiB0eXBlPSJ0bnM6TWF0cml4IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8L3hzOmNob2ljZT4NCiAgICA8L3hzOmNvbXBsZXhUeXBlPg0KDQogICAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhbnQiPg0KICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0idG5zOlZhcmlhbnRWYWx1ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgPC94czpjb21wbGV4VHlwZT4NCiAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYXJpYW50IiB0eXBlPSJ0bnM6VmFyaWFudCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgLS0+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhbnQiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmFwcGluZm8+DQogICAgICAgIDxJc1ZhbHVlVHlwZSB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS8yMDAzLzEwL1NlcmlhbGl6YXRpb24vIj50cnVlPC9Jc1ZhbHVlVHlwZT4NCiAgICAgIDwveHM6YXBwaW5mbz4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiPg0KICAgICAgICA8eHM6Y29tcGxleFR5cGU+DQogICAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgICAgPHhzOmFueSBtaW5PY2N1cnM9IjAiIHByb2Nlc3NDb250ZW50cz0ibGF4IiAvPg0KICAgICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICAgIDwveHM6Y29tcGxleFR5cGU+DQogICAgICA8L3hzOmVsZW1lbnQ+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVmFyaWFudCIgdHlwZT0idG5zOlZhcmlhbnQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZWYXJpYW50Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYXJpYW50IiB0eXBlPSJ0bnM6VmFyaWFudCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZWYXJpYW50IiB0eXBlPSJ0bnM6TGlzdE9mVmFyaWFudCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGF0YVZhbHVlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0idG5zOlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c0NvZGUiIHR5cGU9InRuczpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTb3VyY2VUaW1lc3RhbXAiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTb3VyY2VQaWNvc2Vjb25kcyIgdHlwZT0ieHM6dW5zaWduZWRTaG9ydCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVGltZXN0YW1wIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyUGljb3NlY29uZHMiIHR5cGU9InhzOnVuc2lnbmVkU2hvcnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVmFsdWUiIHR5cGU9InRuczpEYXRhVmFsdWUiIG5pbGxhYmxlPSJ0cnVlIi8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkRhdGFWYWx1ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVZhbHVlIiB0eXBlPSJ0bnM6RGF0YVZhbHVlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZEYXRhVmFsdWUiIHR5cGU9InRuczpMaXN0T2ZEYXRhVmFsdWUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iSW52b2tlU2VydmljZVJlcXVlc3QiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbmlsbGFibGU9InRydWUiIC8+DQogIDx4czplbGVtZW50IG5hbWU9Ikludm9rZVNlcnZpY2VSZXNwb25zZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJJbWFnZUJNUCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkltYWdlR0lGIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iSW1hZ2VKUEciIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJJbWFnZVBORyIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkJpdEZpZWxkTWFza0RhdGFUeXBlIiB0eXBlPSJ4czp1bnNpZ25lZExvbmciIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9Ik9wZW5GaWxlTW9kZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlYWRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iV3JpdGVfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRXJhc2VFeGlzdGluZ180IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBcHBlbmRfOCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9wZW5GaWxlTW9kZSIgdHlwZT0idG5zOk9wZW5GaWxlTW9kZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mT3BlbkZpbGVNb2RlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPcGVuRmlsZU1vZGUiIHR5cGU9InRuczpPcGVuRmlsZU1vZGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mT3BlbkZpbGVNb2RlIiB0eXBlPSJ0bnM6TGlzdE9mT3BlbkZpbGVNb2RlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJUcnVzdExpc3RNYXNrcyI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVHJ1c3RlZENlcnRpZmljYXRlc18xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJUcnVzdGVkQ3Jsc18yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJc3N1ZXJDZXJ0aWZpY2F0ZXNfNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNzdWVyQ3Jsc184IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBbGxfMTUiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUcnVzdExpc3RNYXNrcyIgdHlwZT0idG5zOlRydXN0TGlzdE1hc2tzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJUcnVzdExpc3REYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3BlY2lmaWVkTGlzdHMiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcnVzdGVkQ2VydGlmaWNhdGVzIiB0eXBlPSJ1YTpMaXN0T2ZCeXRlU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJ1c3RlZENybHMiIHR5cGU9InVhOkxpc3RPZkJ5dGVTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc3N1ZXJDZXJ0aWZpY2F0ZXMiIHR5cGU9InVhOkxpc3RPZkJ5dGVTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc3N1ZXJDcmxzIiB0eXBlPSJ1YTpMaXN0T2ZCeXRlU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRydXN0TGlzdERhdGFUeXBlIiB0eXBlPSJ0bnM6VHJ1c3RMaXN0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlRydXN0TGlzdERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcnVzdExpc3REYXRhVHlwZSIgdHlwZT0idG5zOlRydXN0TGlzdERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZUcnVzdExpc3REYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlRydXN0TGlzdERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJJZFR5cGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIHR5cGUgb2YgaWRlbnRpZmllciB1c2VkIGluIGEgbm9kZSBpZC48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOdW1lcmljXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN0cmluZ18xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJHdWlkXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik9wYXF1ZV8zIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSWRUeXBlIiB0eXBlPSJ0bnM6SWRUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZJZFR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IklkVHlwZSIgdHlwZT0idG5zOklkVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZJZFR5cGUiIHR5cGU9InRuczpMaXN0T2ZJZFR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9Ik5vZGVDbGFzcyI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIG1hc2sgc3BlY2lmeWluZyB0aGUgY2xhc3Mgb2YgdGhlIG5vZGUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVW5zcGVjaWZpZWRfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iT2JqZWN0XzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZhcmlhYmxlXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik1ldGhvZF80IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJPYmplY3RUeXBlXzgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZhcmlhYmxlVHlwZV8xNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVmZXJlbmNlVHlwZV8zMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGF0YVR5cGVfNjQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZpZXdfMTI4IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUNsYXNzIiB0eXBlPSJ0bnM6Tm9kZUNsYXNzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJOb2RlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gYWxsIG5vZGVzLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlQ2xhc3MiIHR5cGU9InRuczpOb2RlQ2xhc3MiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZU5hbWUiIHR5cGU9InVhOlF1YWxpZmllZE5hbWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNwbGF5TmFtZSIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlc2NyaXB0aW9uIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVNYXNrIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlcldyaXRlTWFzayIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZXMiIHR5cGU9InRuczpMaXN0T2ZSZWZlcmVuY2VOb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik5vZGUiIHR5cGU9InRuczpOb2RlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZOb2RlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlIiB0eXBlPSJ0bnM6Tm9kZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTm9kZSIgdHlwZT0idG5zOkxpc3RPZk5vZGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikluc3RhbmNlTm9kZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSW5zdGFuY2VOb2RlIiB0eXBlPSJ0bnM6SW5zdGFuY2VOb2RlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJUeXBlTm9kZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVHlwZU5vZGUiIHR5cGU9InRuczpUeXBlTm9kZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iT2JqZWN0Tm9kZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRvIG9iamVjdCBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SW5zdGFuY2VOb2RlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50Tm90aWZpZXIiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT2JqZWN0Tm9kZSIgdHlwZT0idG5zOk9iamVjdE5vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik9iamVjdFR5cGVOb2RlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gb2JqZWN0IHR5cGUgbm9kZXMuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOlR5cGVOb2RlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IklzQWJzdHJhY3QiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9iamVjdFR5cGVOb2RlIiB0eXBlPSJ0bnM6T2JqZWN0VHlwZU5vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhYmxlTm9kZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRvIHZhcmlhYmxlIG5vZGVzLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpJbnN0YW5jZU5vZGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUiIHR5cGU9InVhOlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlUmFuayIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXJyYXlEaW1lbnNpb25zIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWNjZXNzTGV2ZWwiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJBY2Nlc3NMZXZlbCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWluaW11bVNhbXBsaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3Rvcml6aW5nIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWYXJpYWJsZU5vZGUiIHR5cGU9InRuczpWYXJpYWJsZU5vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhYmxlVHlwZU5vZGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+U3BlY2lmaWVzIHRoZSBhdHRyaWJ1dGVzIHdoaWNoIGJlbG9uZyB0byB2YXJpYWJsZSB0eXBlIG5vZGVzLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpUeXBlTm9kZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0idWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcnJheURpbWVuc2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWYXJpYWJsZVR5cGVOb2RlIiB0eXBlPSJ0bnM6VmFyaWFibGVUeXBlTm9kZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVmZXJlbmNlVHlwZU5vZGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+U3BlY2lmaWVzIHRoZSBhdHRyaWJ1dGVzIHdoaWNoIGJlbG9uZyB0byByZWZlcmVuY2UgdHlwZSBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6VHlwZU5vZGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNBYnN0cmFjdCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN5bW1ldHJpYyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkludmVyc2VOYW1lIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlVHlwZU5vZGUiIHR5cGU9InRuczpSZWZlcmVuY2VUeXBlTm9kZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTWV0aG9kTm9kZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRvIG1ldGhvZCBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SW5zdGFuY2VOb2RlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV4ZWN1dGFibGUiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyRXhlY3V0YWJsZSIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTWV0aG9kTm9kZSIgdHlwZT0idG5zOk1ldGhvZE5vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZpZXdOb2RlIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkluc3RhbmNlTm9kZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250YWluc05vTG9vcHMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudE5vdGlmaWVyIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlZpZXdOb2RlIiB0eXBlPSJ0bnM6Vmlld05vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFUeXBlTm9kZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpUeXBlTm9kZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZU5vZGUiIHR5cGU9InRuczpEYXRhVHlwZU5vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZmVyZW5jZU5vZGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+U3BlY2lmaWVzIGEgcmVmZXJlbmNlIHdoaWNoIGJlbG9uZ3MgdG8gYSBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ludmVyc2UiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRhcmdldElkIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VOb2RlIiB0eXBlPSJ0bnM6UmVmZXJlbmNlTm9kZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUmVmZXJlbmNlTm9kZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlTm9kZSIgdHlwZT0idG5zOlJlZmVyZW5jZU5vZGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlJlZmVyZW5jZU5vZGUiIHR5cGU9InRuczpMaXN0T2ZSZWZlcmVuY2VOb2RlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBcmd1bWVudCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BbiBhcmd1bWVudCBmb3IgYSBtZXRob2QuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFycmF5RGltZW5zaW9ucyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVzY3JpcHRpb24iIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXJndW1lbnQiIHR5cGU9InRuczpBcmd1bWVudCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQXJndW1lbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFyZ3VtZW50IiB0eXBlPSJ0bnM6QXJndW1lbnQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkFyZ3VtZW50IiB0eXBlPSJ0bnM6TGlzdE9mQXJndW1lbnQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVudW1WYWx1ZVR5cGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBtYXBwaW5nIGJldHdlZW4gYSB2YWx1ZSBvZiBhbiBlbnVtZXJhdGVkIHR5cGUgYW5kIGEgbmFtZSBhbmQgZGVzY3JpcHRpb24uPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0ieHM6bG9uZyIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzcGxheU5hbWUiIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFbnVtVmFsdWVUeXBlIiB0eXBlPSJ0bnM6RW51bVZhbHVlVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRW51bVZhbHVlVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW51bVZhbHVlVHlwZSIgdHlwZT0idG5zOkVudW1WYWx1ZVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkVudW1WYWx1ZVR5cGUiIHR5cGU9InRuczpMaXN0T2ZFbnVtVmFsdWVUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJPcHRpb25TZXQiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhpcyBhYnN0cmFjdCBTdHJ1Y3R1cmVkIERhdGFUeXBlIGlzIHRoZSBiYXNlIERhdGFUeXBlIGZvciBhbGwgRGF0YVR5cGVzIHJlcHJlc2VudGluZyBhIGJpdCBtYXNrLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbGlkQml0cyIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9wdGlvblNldCIgdHlwZT0idG5zOk9wdGlvblNldCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mT3B0aW9uU2V0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPcHRpb25TZXQiIHR5cGU9InRuczpPcHRpb25TZXQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk9wdGlvblNldCIgdHlwZT0idG5zOkxpc3RPZk9wdGlvblNldCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVW5pb24iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhpcyBhYnN0cmFjdCBEYXRhVHlwZSBpcyB0aGUgYmFzZSBEYXRhVHlwZSBmb3IgYWxsIHVuaW9uIERhdGFUeXBlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVbmlvbiIgdHlwZT0idG5zOlVuaW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZVbmlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVW5pb24iIHR5cGU9InRuczpVbmlvbiIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mVW5pb24iIHR5cGU9InRuczpMaXN0T2ZVbmlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOb3JtYWxpemVkU3RyaW5nIiB0eXBlPSJ4czpzdHJpbmciIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVjaW1hbFN0cmluZyIgdHlwZT0ieHM6c3RyaW5nIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkR1cmF0aW9uU3RyaW5nIiB0eXBlPSJ4czpzdHJpbmciIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZVN0cmluZyIgdHlwZT0ieHM6c3RyaW5nIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkRhdGVTdHJpbmciIHR5cGU9InhzOnN0cmluZyIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEdXJhdGlvbiIgdHlwZT0ieHM6ZG91YmxlIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IlV0Y1RpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkxvY2FsZUlkIiB0eXBlPSJ4czpzdHJpbmciIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlRpbWVab25lRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik9mZnNldCIgdHlwZT0ieHM6c2hvcnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRheWxpZ2h0U2F2aW5nSW5PZmZzZXQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lWm9uZURhdGFUeXBlIiB0eXBlPSJ0bnM6VGltZVpvbmVEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mVGltZVpvbmVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZVpvbmVEYXRhVHlwZSIgdHlwZT0idG5zOlRpbWVab25lRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlRpbWVab25lRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZUaW1lWm9uZURhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czplbGVtZW50IG5hbWU9IkludGVnZXJJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkFwcGxpY2F0aW9uVHlwZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgdHlwZXMgb2YgYXBwbGljYXRpb25zLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNlcnZlcl8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJDbGllbnRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ2xpZW50QW5kU2VydmVyXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRpc2NvdmVyeVNlcnZlcl8zIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25UeXBlIiB0eXBlPSJ0bnM6QXBwbGljYXRpb25UeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkRlc2NyaWJlcyBhbiBhcHBsaWNhdGlvbiBhbmQgaG93IHRvIGZpbmQgaXQuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcHBsaWNhdGlvblVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJvZHVjdFVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25OYW1lIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25UeXBlIiB0eXBlPSJ0bnM6QXBwbGljYXRpb25UeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJHYXRld2F5U2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjb3ZlcnlQcm9maWxlVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjb3ZlcnlVcmxzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25EZXNjcmlwdGlvbiIgdHlwZT0idG5zOkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIHR5cGU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mQXBwbGljYXRpb25EZXNjcmlwdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVxdWVzdEhlYWRlciI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgaGVhZGVyIHBhc3NlZCB3aXRoIGV2ZXJ5IHNlcnZlciByZXF1ZXN0LjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXV0aGVudGljYXRpb25Ub2tlbiIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0YW1wIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhhbmRsZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldHVybkRpYWdub3N0aWNzIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXVkaXRFbnRyeUlkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lb3V0SGludCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZGl0aW9uYWxIZWFkZXIiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVzcG9uc2VIZWFkZXIiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGhlYWRlciBwYXNzZWQgd2l0aCBldmVyeSBzZXJ2ZXIgcmVzcG9uc2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lc3RhbXAiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGFuZGxlIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmljZVJlc3VsdCIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmljZURpYWdub3N0aWNzIiB0eXBlPSJ1YTpEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0cmluZ1RhYmxlIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRpdGlvbmFsSGVhZGVyIiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2VydmljZUZhdWx0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSByZXNwb25zZSByZXR1cm5lZCBieSBhbGwgc2VydmljZXMgd2hlbiB0aGVyZSBpcyBhIHNlcnZpY2UgbGV2ZWwgZXJyb3IuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNlcnZpY2VGYXVsdCIgdHlwZT0idG5zOlNlcnZpY2VGYXVsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRmluZFNlcnZlcnNSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkZpbmRzIHRoZSBzZXJ2ZXJzIGtub3duIHRvIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJVcmlzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRmluZFNlcnZlcnNSZXF1ZXN0IiB0eXBlPSJ0bnM6RmluZFNlcnZlcnNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJGaW5kU2VydmVyc1Jlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkZpbmRzIHRoZSBzZXJ2ZXJzIGtub3duIHRvIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlcnMiIHR5cGU9InRuczpMaXN0T2ZBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkZpbmRTZXJ2ZXJzUmVzcG9uc2UiIHR5cGU9InRuczpGaW5kU2VydmVyc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXJ2ZXJPbk5ldHdvcmsiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlY29yZElkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzY292ZXJ5VXJsIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJDYXBhYmlsaXRpZXMiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJPbk5ldHdvcmsiIHR5cGU9InRuczpTZXJ2ZXJPbk5ldHdvcmsiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlNlcnZlck9uTmV0d29yayI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyT25OZXR3b3JrIiB0eXBlPSJ0bnM6U2VydmVyT25OZXR3b3JrIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTZXJ2ZXJPbk5ldHdvcmsiIHR5cGU9InRuczpMaXN0T2ZTZXJ2ZXJPbk5ldHdvcmsiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGFydGluZ1JlY29yZElkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4UmVjb3Jkc1RvUmV0dXJuIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyQ2FwYWJpbGl0eUZpbHRlciIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVxdWVzdCIgdHlwZT0idG5zOkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRmluZFNlcnZlcnNPbk5ldHdvcmtSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxhc3RDb3VudGVyUmVzZXRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVycyIgdHlwZT0idG5zOkxpc3RPZlNlcnZlck9uTmV0d29yayIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJGaW5kU2VydmVyc09uTmV0d29ya1Jlc3BvbnNlIiB0eXBlPSJ0bnM6RmluZFNlcnZlcnNPbk5ldHdvcmtSZXNwb25zZSIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBcHBsaWNhdGlvbkluc3RhbmNlQ2VydGlmaWNhdGUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iTWVzc2FnZVNlY3VyaXR5TW9kZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgdHlwZSBvZiBzZWN1cml0eSB0byB1c2Ugb24gYSBtZXNzYWdlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkludmFsaWRfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9uZV8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTaWduXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNpZ25BbmRFbmNyeXB0XzMiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNZXNzYWdlU2VjdXJpdHlNb2RlIiB0eXBlPSJ0bnM6TWVzc2FnZVNlY3VyaXR5TW9kZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iVXNlclRva2VuVHlwZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgcG9zc2libGUgdXNlciB0b2tlbiB0eXBlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBbm9ueW1vdXNfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVXNlck5hbWVfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ2VydGlmaWNhdGVfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNzdWVkVG9rZW5fMyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iS2VyYmVyb3NfNCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVzZXJUb2tlblR5cGUiIHR5cGU9InRuczpVc2VyVG9rZW5UeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJVc2VyVG9rZW5Qb2xpY3kiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+RGVzY3JpYmVzIGEgdXNlciB0b2tlbiB0aGF0IGNhbiBiZSB1c2VkIHdpdGggYSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQb2xpY3lJZCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVG9rZW5UeXBlIiB0eXBlPSJ0bnM6VXNlclRva2VuVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNzdWVkVG9rZW5UeXBlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc3N1ZXJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlQb2xpY3lVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyVG9rZW5Qb2xpY3kiIHR5cGU9InRuczpVc2VyVG9rZW5Qb2xpY3kiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlVzZXJUb2tlblBvbGljeSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlclRva2VuUG9saWN5IiB0eXBlPSJ0bnM6VXNlclRva2VuUG9saWN5IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZVc2VyVG9rZW5Qb2xpY3kiIHR5cGU9InRuczpMaXN0T2ZVc2VyVG9rZW5Qb2xpY3kiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVuZHBvaW50RGVzY3JpcHRpb24iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGRlc2NyaXB0aW9uIG9mIGEgZW5kcG9pbnQgdGhhdCBjYW4gYmUgdXNlZCB0byBhY2Nlc3MgYSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyIiB0eXBlPSJ0bnM6QXBwbGljYXRpb25EZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlckNlcnRpZmljYXRlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVBvbGljeVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlcklkZW50aXR5VG9rZW5zIiB0eXBlPSJ0bnM6TGlzdE9mVXNlclRva2VuUG9saWN5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNwb3J0UHJvZmlsZVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlMZXZlbCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRW5kcG9pbnREZXNjcmlwdGlvbiIgdHlwZT0idG5zOkVuZHBvaW50RGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkVuZHBvaW50RGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50RGVzY3JpcHRpb24iIHR5cGU9InRuczpFbmRwb2ludERlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFbmRwb2ludERlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mRW5kcG9pbnREZXNjcmlwdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iR2V0RW5kcG9pbnRzUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5HZXRzIHRoZSBlbmRwb2ludHMgdXNlZCBieSB0aGUgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQcm9maWxlVXJpcyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkdldEVuZHBvaW50c1JlcXVlc3QiIHR5cGU9InRuczpHZXRFbmRwb2ludHNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJHZXRFbmRwb2ludHNSZXNwb25zZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5HZXRzIHRoZSBlbmRwb2ludHMgdXNlZCBieSB0aGUgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50cyIgdHlwZT0idG5zOkxpc3RPZkVuZHBvaW50RGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iR2V0RW5kcG9pbnRzUmVzcG9uc2UiIHR5cGU9InRuczpHZXRFbmRwb2ludHNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVnaXN0ZXJlZFNlcnZlciI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgaW5mb3JtYXRpb24gcmVxdWlyZWQgdG8gcmVnaXN0ZXIgYSBzZXJ2ZXIgd2l0aCBhIGRpc2NvdmVyeSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlByb2R1Y3RVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlck5hbWVzIiB0eXBlPSJ1YTpMaXN0T2ZMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVHlwZSIgdHlwZT0idG5zOkFwcGxpY2F0aW9uVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iR2F0ZXdheVNlcnZlclVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzY292ZXJ5VXJscyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VtYXBob3JlRmlsZVBhdGgiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IklzT25saW5lIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVnaXN0ZXJlZFNlcnZlciIgdHlwZT0idG5zOlJlZ2lzdGVyZWRTZXJ2ZXIiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlJlZ2lzdGVyZWRTZXJ2ZXIiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyZWRTZXJ2ZXIiIHR5cGU9InRuczpSZWdpc3RlcmVkU2VydmVyIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZSZWdpc3RlcmVkU2VydmVyIiB0eXBlPSJ0bnM6TGlzdE9mUmVnaXN0ZXJlZFNlcnZlciIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXJSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlJlZ2lzdGVycyBhIHNlcnZlciB3aXRoIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXIiIHR5cGU9InRuczpSZWdpc3RlcmVkU2VydmVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyU2VydmVyUmVxdWVzdCIgdHlwZT0idG5zOlJlZ2lzdGVyU2VydmVyUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXJSZXNwb25zZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5SZWdpc3RlcnMgYSBzZXJ2ZXIgd2l0aCB0aGUgZGlzY292ZXJ5IHNlcnZlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXJSZXNwb25zZSIgdHlwZT0idG5zOlJlZ2lzdGVyU2VydmVyUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBiYXNlIHR5cGUgZm9yIGRpc2NvdmVyeSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNZG5zRGlzY292ZXJ5Q29uZmlndXJhdGlvbiI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgZGlzY292ZXJ5IGluZm9ybWF0aW9uIG5lZWRlZCBmb3IgbUROUyByZWdpc3RyYXRpb24uPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWRuc1NlcnZlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJDYXBhYmlsaXRpZXMiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1kbnNEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiB0eXBlPSJ0bnM6TWRuc0Rpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZ2lzdGVyU2VydmVyMlJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyIiB0eXBlPSJ0bnM6UmVnaXN0ZXJlZFNlcnZlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIHR5cGU9InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWdpc3RlclNlcnZlcjJSZXF1ZXN0IiB0eXBlPSJ0bnM6UmVnaXN0ZXJTZXJ2ZXIyUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXIyUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb25maWd1cmF0aW9uUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXIyUmVzcG9uc2UiIHR5cGU9InRuczpSZWdpc3RlclNlcnZlcjJSZXNwb25zZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iU2VjdXJpdHlUb2tlblJlcXVlc3RUeXBlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkluZGljYXRlcyB3aGV0aGVyIGEgdG9rZW4gaWYgYmVpbmcgY3JlYXRlZCBvciByZW5ld2VkLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Iklzc3VlXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlbmV3XzEiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVRva2VuUmVxdWVzdFR5cGUiIHR5cGU9InRuczpTZWN1cml0eVRva2VuUmVxdWVzdFR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNoYW5uZWxTZWN1cml0eVRva2VuIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSB0b2tlbiB0aGF0IGlkZW50aWZpZXMgYSBzZXQgb2Yga2V5cyBmb3IgYW4gYWN0aXZlIHNlY3VyZSBjaGFubmVsLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2hhbm5lbElkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVG9rZW5JZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZWRBdCIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRMaWZldGltZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDaGFubmVsU2VjdXJpdHlUb2tlbiIgdHlwZT0idG5zOkNoYW5uZWxTZWN1cml0eVRva2VuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJPcGVuU2VjdXJlQ2hhbm5lbFJlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q3JlYXRlcyBhIHNlY3VyZSBjaGFubmVsIHdpdGggYSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVudFByb3RvY29sVmVyc2lvbiIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RUeXBlIiB0eXBlPSJ0bnM6U2VjdXJpdHlUb2tlblJlcXVlc3RUeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnROb25jZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTGlmZXRpbWUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT3BlblNlY3VyZUNoYW5uZWxSZXF1ZXN0IiB0eXBlPSJ0bnM6T3BlblNlY3VyZUNoYW5uZWxSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJPcGVuU2VjdXJlQ2hhbm5lbFJlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNyZWF0ZXMgYSBzZWN1cmUgY2hhbm5lbCB3aXRoIGEgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlclByb3RvY29sVmVyc2lvbiIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5VG9rZW4iIHR5cGU9InRuczpDaGFubmVsU2VjdXJpdHlUb2tlbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlck5vbmNlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT3BlblNlY3VyZUNoYW5uZWxSZXNwb25zZSIgdHlwZT0idG5zOk9wZW5TZWN1cmVDaGFubmVsUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNsb3NlU2VjdXJlQ2hhbm5lbFJlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q2xvc2VzIGEgc2VjdXJlIGNoYW5uZWwuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDbG9zZVNlY3VyZUNoYW5uZWxSZXF1ZXN0IiB0eXBlPSJ0bnM6Q2xvc2VTZWN1cmVDaGFubmVsUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2xvc2VTZWN1cmVDaGFubmVsUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q2xvc2VzIGEgc2VjdXJlIGNoYW5uZWwuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNsb3NlU2VjdXJlQ2hhbm5lbFJlc3BvbnNlIiB0eXBlPSJ0bnM6Q2xvc2VTZWN1cmVDaGFubmVsUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBzb2Z0d2FyZSBjZXJ0aWZpY2F0ZSB3aXRoIGEgZGlnaXRhbCBzaWduYXR1cmUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDZXJ0aWZpY2F0ZURhdGEiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNpZ25hdHVyZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiIHR5cGU9InRuczpTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiB0eXBlPSJ0bnM6U2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgdHlwZT0idG5zOkxpc3RPZlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbkF1dGhlbnRpY2F0aW9uVG9rZW4iIHR5cGU9InVhOk5vZGVJZCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2lnbmF0dXJlRGF0YSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIGRpZ2l0YWwgc2lnbmF0dXJlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWxnb3JpdGhtIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTaWduYXR1cmUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTaWduYXR1cmVEYXRhIiB0eXBlPSJ0bnM6U2lnbmF0dXJlRGF0YSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ3JlYXRlU2Vzc2lvblJlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q3JlYXRlcyBhIG5ldyBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50RGVzY3JpcHRpb24iIHR5cGU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbk5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVudE5vbmNlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRDZXJ0aWZpY2F0ZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkU2Vzc2lvblRpbWVvdXQiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4UmVzcG9uc2VNZXNzYWdlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVTZXNzaW9uUmVxdWVzdCIgdHlwZT0idG5zOkNyZWF0ZVNlc3Npb25SZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDcmVhdGVTZXNzaW9uUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q3JlYXRlcyBhIG5ldyBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkF1dGhlbnRpY2F0aW9uVG9rZW4iIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRTZXNzaW9uVGltZW91dCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJOb25jZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyQ2VydGlmaWNhdGUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlckVuZHBvaW50cyIgdHlwZT0idG5zOkxpc3RPZkVuZHBvaW50RGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJTb2Z0d2FyZUNlcnRpZmljYXRlcyIgdHlwZT0idG5zOkxpc3RPZlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJTaWduYXR1cmUiIHR5cGU9InRuczpTaWduYXR1cmVEYXRhIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4UmVxdWVzdE1lc3NhZ2VTaXplIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZVNlc3Npb25SZXNwb25zZSIgdHlwZT0idG5zOkNyZWF0ZVNlc3Npb25SZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVXNlcklkZW50aXR5VG9rZW4iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBiYXNlIHR5cGUgZm9yIGEgdXNlciBpZGVudGl0eSB0b2tlbi48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBvbGljeUlkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlcklkZW50aXR5VG9rZW4iIHR5cGU9InRuczpVc2VySWRlbnRpdHlUb2tlbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQW5vbnltb3VzSWRlbnRpdHlUb2tlbiI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHRva2VuIHJlcHJlc2VudGluZyBhbiBhbm9ueW1vdXMgdXNlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBbm9ueW1vdXNJZGVudGl0eVRva2VuIiB0eXBlPSJ0bnM6QW5vbnltb3VzSWRlbnRpdHlUb2tlbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVXNlck5hbWVJZGVudGl0eVRva2VuIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgdG9rZW4gcmVwcmVzZW50aW5nIGEgdXNlciBpZGVudGlmaWVkIGJ5IGEgdXNlciBuYW1lIGFuZCBwYXNzd29yZC48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQYXNzd29yZCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuY3J5cHRpb25BbGdvcml0aG0iIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVzZXJOYW1lSWRlbnRpdHlUb2tlbiIgdHlwZT0idG5zOlVzZXJOYW1lSWRlbnRpdHlUb2tlbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iWDUwOUlkZW50aXR5VG9rZW4iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSB0b2tlbiByZXByZXNlbnRpbmcgYSB1c2VyIGlkZW50aWZpZWQgYnkgYW4gWDUwOSBjZXJ0aWZpY2F0ZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2VydGlmaWNhdGVEYXRhIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJYNTA5SWRlbnRpdHlUb2tlbiIgdHlwZT0idG5zOlg1MDlJZGVudGl0eVRva2VuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJLZXJiZXJvc0lkZW50aXR5VG9rZW4iPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGlja2V0RGF0YSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iS2VyYmVyb3NJZGVudGl0eVRva2VuIiB0eXBlPSJ0bnM6S2VyYmVyb3NJZGVudGl0eVRva2VuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJJc3N1ZWRJZGVudGl0eVRva2VuIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgdG9rZW4gcmVwcmVzZW50aW5nIGEgdXNlciBpZGVudGlmaWVkIGJ5IGEgV1MtU2VjdXJpdHkgWE1MIHRva2VuLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpVc2VySWRlbnRpdHlUb2tlbiI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUb2tlbkRhdGEiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmNyeXB0aW9uQWxnb3JpdGhtIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJJc3N1ZWRJZGVudGl0eVRva2VuIiB0eXBlPSJ0bnM6SXNzdWVkSWRlbnRpdHlUb2tlbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWN0aXZhdGVTZXNzaW9uUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BY3RpdmF0ZXMgYSBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50U2lnbmF0dXJlIiB0eXBlPSJ0bnM6U2lnbmF0dXJlRGF0YSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVudFNvZnR3YXJlQ2VydGlmaWNhdGVzIiB0eXBlPSJ0bnM6TGlzdE9mU2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkxvY2FsZUlkcyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlcklkZW50aXR5VG9rZW4iIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJUb2tlblNpZ25hdHVyZSIgdHlwZT0idG5zOlNpZ25hdHVyZURhdGEiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWN0aXZhdGVTZXNzaW9uUmVxdWVzdCIgdHlwZT0idG5zOkFjdGl2YXRlU2Vzc2lvblJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFjdGl2YXRlU2Vzc2lvblJlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkFjdGl2YXRlcyBhIHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlck5vbmNlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBY3RpdmF0ZVNlc3Npb25SZXNwb25zZSIgdHlwZT0idG5zOkFjdGl2YXRlU2Vzc2lvblJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDbG9zZVNlc3Npb25SZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNsb3NlcyBhIHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVTdWJzY3JpcHRpb25zIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xvc2VTZXNzaW9uUmVxdWVzdCIgdHlwZT0idG5zOkNsb3NlU2Vzc2lvblJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNsb3NlU2Vzc2lvblJlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNsb3NlcyBhIHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDbG9zZVNlc3Npb25SZXNwb25zZSIgdHlwZT0idG5zOkNsb3NlU2Vzc2lvblJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDYW5jZWxSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNhbmNlbHMgYW4gb3V0c3RhbmRpbmcgcmVxdWVzdC48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhhbmRsZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDYW5jZWxSZXF1ZXN0IiB0eXBlPSJ0bnM6Q2FuY2VsUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2FuY2VsUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q2FuY2VscyBhbiBvdXRzdGFuZGluZyByZXF1ZXN0LjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNhbmNlbENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNhbmNlbFJlc3BvbnNlIiB0eXBlPSJ0bnM6Q2FuY2VsUmVzcG9uc2UiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9Ik5vZGVBdHRyaWJ1dGVzTWFzayI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgYml0cyB1c2VkIHRvIHNwZWNpZnkgZGVmYXVsdCBhdHRyaWJ1dGVzIGZvciBhIG5ldyBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQWNjZXNzTGV2ZWxfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQXJyYXlEaW1lbnNpb25zXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJyb3dzZU5hbWVfNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ29udGFpbnNOb0xvb3BzXzgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRhdGFUeXBlXzE2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEZXNjcmlwdGlvbl8zMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGlzcGxheU5hbWVfNjQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkV2ZW50Tm90aWZpZXJfMTI4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJFeGVjdXRhYmxlXzI1NiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSGlzdG9yaXppbmdfNTEyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJbnZlcnNlTmFtZV8xMDI0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJc0Fic3RyYWN0XzIwNDgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik1pbmltdW1TYW1wbGluZ0ludGVydmFsXzQwOTYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vZGVDbGFzc184MTkyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb2RlSWRfMTYzODQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN5bW1ldHJpY18zMjc2OCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVXNlckFjY2Vzc0xldmVsXzY1NTM2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVc2VyRXhlY3V0YWJsZV8xMzEwNzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVzZXJXcml0ZU1hc2tfMjYyMTQ0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJWYWx1ZVJhbmtfNTI0Mjg4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJXcml0ZU1hc2tfMTA0ODU3NiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVmFsdWVfMjA5NzE1MiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQWxsXzQxOTQzMDMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJhc2VOb2RlXzEzMzUzOTYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik9iamVjdF8xMzM1NTI0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJPYmplY3RUeXBlT3JEYXRhVHlwZV8xMzM3NDQ0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJWYXJpYWJsZV80MDI2OTk5IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJWYXJpYWJsZVR5cGVfMzk1ODkwMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTWV0aG9kXzE0NjY3MjQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlZmVyZW5jZVR5cGVfMTM3MTIzNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVmlld18xMzM1NTMyIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUF0dHJpYnV0ZXNNYXNrIiB0eXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXNNYXNrIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJOb2RlQXR0cmlidXRlcyI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgYmFzZSBhdHRyaWJ1dGVzIGZvciBhbGwgbm9kZXMuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzcGxheU5hbWUiIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IldyaXRlTWFzayIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJXcml0ZU1hc2siIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUF0dHJpYnV0ZXMiIHR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iT2JqZWN0QXR0cmlidXRlcyI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYW4gb2JqZWN0IG5vZGUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50Tm90aWZpZXIiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT2JqZWN0QXR0cmlidXRlcyIgdHlwZT0idG5zOk9iamVjdEF0dHJpYnV0ZXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhYmxlQXR0cmlidXRlcyI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSB2YXJpYWJsZSBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0idWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcnJheURpbWVuc2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBY2Nlc3NMZXZlbCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlckFjY2Vzc0xldmVsIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNaW5pbXVtU2FtcGxpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yaXppbmciIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlZhcmlhYmxlQXR0cmlidXRlcyIgdHlwZT0idG5zOlZhcmlhYmxlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTWV0aG9kQXR0cmlidXRlcyI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSBtZXRob2Qgbm9kZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXhlY3V0YWJsZSIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJFeGVjdXRhYmxlIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNZXRob2RBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6TWV0aG9kQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iT2JqZWN0VHlwZUF0dHJpYnV0ZXMiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGFuIG9iamVjdCB0eXBlIG5vZGUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IklzQWJzdHJhY3QiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9iamVjdFR5cGVBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6T2JqZWN0VHlwZUF0dHJpYnV0ZXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhYmxlVHlwZUF0dHJpYnV0ZXMiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGEgdmFyaWFibGUgdHlwZSBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0idWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcnJheURpbWVuc2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWYXJpYWJsZVR5cGVBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6VmFyaWFibGVUeXBlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVmZXJlbmNlVHlwZUF0dHJpYnV0ZXMiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGEgcmVmZXJlbmNlIHR5cGUgbm9kZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNBYnN0cmFjdCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN5bW1ldHJpYyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkludmVyc2VOYW1lIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlVHlwZUF0dHJpYnV0ZXMiIHR5cGU9InRuczpSZWZlcmVuY2VUeXBlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGF0YVR5cGVBdHRyaWJ1dGVzIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1dGVzIGZvciBhIGRhdGEgdHlwZSBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZUF0dHJpYnV0ZXMiIHR5cGU9InRuczpEYXRhVHlwZUF0dHJpYnV0ZXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZpZXdBdHRyaWJ1dGVzIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1dGVzIGZvciBhIHZpZXcgbm9kZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGFpbnNOb0xvb3BzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnROb3RpZmllciIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWaWV3QXR0cmlidXRlcyIgdHlwZT0idG5zOlZpZXdBdHRyaWJ1dGVzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZGROb2Rlc0l0ZW0iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSByZXF1ZXN0IHRvIGFkZCBhIG5vZGUgdG8gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUGFyZW50Tm9kZUlkIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTmV3Tm9kZUlkIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZU5hbWUiIHR5cGU9InVhOlF1YWxpZmllZE5hbWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlQ2xhc3MiIHR5cGU9InRuczpOb2RlQ2xhc3MiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVBdHRyaWJ1dGVzIiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUeXBlRGVmaW5pdGlvbiIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkTm9kZXNJdGVtIiB0eXBlPSJ0bnM6QWRkTm9kZXNJdGVtIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZBZGROb2Rlc0l0ZW0iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZE5vZGVzSXRlbSIgdHlwZT0idG5zOkFkZE5vZGVzSXRlbSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQWRkTm9kZXNJdGVtIiB0eXBlPSJ0bnM6TGlzdE9mQWRkTm9kZXNJdGVtIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZGROb2Rlc1Jlc3VsdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHJlc3VsdCBvZiBhbiBhZGQgbm9kZSBvcGVyYXRpb24uPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRlZE5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFkZE5vZGVzUmVzdWx0IiB0eXBlPSJ0bnM6QWRkTm9kZXNSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkFkZE5vZGVzUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGROb2Rlc1Jlc3VsdCIgdHlwZT0idG5zOkFkZE5vZGVzUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZBZGROb2Rlc1Jlc3VsdCIgdHlwZT0idG5zOkxpc3RPZkFkZE5vZGVzUmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZGROb2Rlc1JlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QWRkcyBvbmUgb3IgbW9yZSBub2RlcyB0byB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVzVG9BZGQiIHR5cGU9InRuczpMaXN0T2ZBZGROb2Rlc0l0ZW0iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkTm9kZXNSZXF1ZXN0IiB0eXBlPSJ0bnM6QWRkTm9kZXNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZGROb2Rlc1Jlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkFkZHMgb25lIG9yIG1vcmUgbm9kZXMgdG8gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZBZGROb2Rlc1Jlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkTm9kZXNSZXNwb25zZSIgdHlwZT0idG5zOkFkZE5vZGVzUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFkZFJlZmVyZW5jZXNJdGVtIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgcmVxdWVzdCB0byBhZGQgYSByZWZlcmVuY2UgdG8gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU291cmNlTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VUeXBlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IklzRm9yd2FyZCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGFyZ2V0U2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXROb2RlSWQiIHR5cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGFyZ2V0Tm9kZUNsYXNzIiB0eXBlPSJ0bnM6Tm9kZUNsYXNzIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkUmVmZXJlbmNlc0l0ZW0iIHR5cGU9InRuczpBZGRSZWZlcmVuY2VzSXRlbSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQWRkUmVmZXJlbmNlc0l0ZW0iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZFJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0bnM6QWRkUmVmZXJlbmNlc0l0ZW0iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkFkZFJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0bnM6TGlzdE9mQWRkUmVmZXJlbmNlc0l0ZW0iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFkZFJlZmVyZW5jZXNSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkFkZHMgb25lIG9yIG1vcmUgcmVmZXJlbmNlcyB0byB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZXNUb0FkZCIgdHlwZT0idG5zOkxpc3RPZkFkZFJlZmVyZW5jZXNJdGVtIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFkZFJlZmVyZW5jZXNSZXF1ZXN0IiB0eXBlPSJ0bnM6QWRkUmVmZXJlbmNlc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFkZFJlZmVyZW5jZXNSZXNwb25zZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BZGRzIG9uZSBvciBtb3JlIHJlZmVyZW5jZXMgdG8gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFkZFJlZmVyZW5jZXNSZXNwb25zZSIgdHlwZT0idG5zOkFkZFJlZmVyZW5jZXNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlTm9kZXNJdGVtIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgcmVxdWVzdCB0byBkZWxldGUgYSBub2RlIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlVGFyZ2V0UmVmZXJlbmNlcyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZU5vZGVzSXRlbSIgdHlwZT0idG5zOkRlbGV0ZU5vZGVzSXRlbSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGVsZXRlTm9kZXNJdGVtIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVOb2Rlc0l0ZW0iIHR5cGU9InRuczpEZWxldGVOb2Rlc0l0ZW0iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRlbGV0ZU5vZGVzSXRlbSIgdHlwZT0idG5zOkxpc3RPZkRlbGV0ZU5vZGVzSXRlbSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlTm9kZXNSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkRlbGV0ZSBvbmUgb3IgbW9yZSBub2RlcyBmcm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb0RlbGV0ZSIgdHlwZT0idG5zOkxpc3RPZkRlbGV0ZU5vZGVzSXRlbSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVOb2Rlc1JlcXVlc3QiIHR5cGU9InRuczpEZWxldGVOb2Rlc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZU5vZGVzUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+RGVsZXRlIG9uZSBvciBtb3JlIG5vZGVzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZU5vZGVzUmVzcG9uc2UiIHR5cGU9InRuczpEZWxldGVOb2Rlc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEZWxldGVSZWZlcmVuY2VzSXRlbSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHJlcXVlc3QgdG8gZGVsZXRlIGEgbm9kZSBmcm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNvdXJjZU5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ZvcndhcmQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRhcmdldE5vZGVJZCIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVCaWRpcmVjdGlvbmFsIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlUmVmZXJlbmNlc0l0ZW0iIHR5cGU9InRuczpEZWxldGVSZWZlcmVuY2VzSXRlbSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGVsZXRlUmVmZXJlbmNlc0l0ZW0iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0bnM6RGVsZXRlUmVmZXJlbmNlc0l0ZW0iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRlbGV0ZVJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0bnM6TGlzdE9mRGVsZXRlUmVmZXJlbmNlc0l0ZW0iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkRlbGV0ZSBvbmUgb3IgbW9yZSByZWZlcmVuY2VzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VzVG9EZWxldGUiIHR5cGU9InRuczpMaXN0T2ZEZWxldGVSZWZlcmVuY2VzSXRlbSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVSZWZlcmVuY2VzUmVxdWVzdCIgdHlwZT0idG5zOkRlbGV0ZVJlZmVyZW5jZXNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEZWxldGVSZWZlcmVuY2VzUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+RGVsZXRlIG9uZSBvciBtb3JlIHJlZmVyZW5jZXMgZnJvbSB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlUmVmZXJlbmNlc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6RGVsZXRlUmVmZXJlbmNlc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJBdHRyaWJ1dGVXcml0ZU1hc2siPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+RGVmaW5lIGJpdHMgdXNlZCB0byBpbmRpY2F0ZSB3aGljaCBhdHRyaWJ1dGVzIGFyZSB3cml0YWJsZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb25lXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFjY2Vzc0xldmVsXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFycmF5RGltZW5zaW9uc18yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJCcm93c2VOYW1lXzQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkNvbnRhaW5zTm9Mb29wc184IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEYXRhVHlwZV8xNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGVzY3JpcHRpb25fMzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRpc3BsYXlOYW1lXzY0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJFdmVudE5vdGlmaWVyXzEyOCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRXhlY3V0YWJsZV8yNTYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ikhpc3Rvcml6aW5nXzUxMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW52ZXJzZU5hbWVfMTAyNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNBYnN0cmFjdF8yMDQ4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJNaW5pbXVtU2FtcGxpbmdJbnRlcnZhbF80MDk2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb2RlQ2xhc3NfODE5MiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9kZUlkXzE2Mzg0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTeW1tZXRyaWNfMzI3NjgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVzZXJBY2Nlc3NMZXZlbF82NTUzNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVXNlckV4ZWN1dGFibGVfMTMxMDcyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVc2VyV3JpdGVNYXNrXzI2MjE0NCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVmFsdWVSYW5rXzUyNDI4OCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iV3JpdGVNYXNrXzEwNDg1NzYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZhbHVlRm9yVmFyaWFibGVUeXBlXzIwOTcxNTIiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBdHRyaWJ1dGVXcml0ZU1hc2siIHR5cGU9InRuczpBdHRyaWJ1dGVXcml0ZU1hc2siIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkJyb3dzZURpcmVjdGlvbiI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgZGlyZWN0aW9ucyBvZiB0aGUgcmVmZXJlbmNlcyB0byByZXR1cm4uPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRm9yd2FyZF8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJbnZlcnNlXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJvdGhfMiIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZURpcmVjdGlvbiIgdHlwZT0idG5zOkJyb3dzZURpcmVjdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVmlld0Rlc2NyaXB0aW9uIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSB2aWV3IHRvIGJyb3dzZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZpZXdJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0YW1wIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmlld1ZlcnNpb24iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVmlld0Rlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6Vmlld0Rlc2NyaXB0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VEZXNjcmlwdGlvbiI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHJlcXVlc3QgdG8gYnJvd3NlIHRoZSB0aGUgcmVmZXJlbmNlcyBmcm9tIGEgbm9kZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlRGlyZWN0aW9uIiB0eXBlPSJ0bnM6QnJvd3NlRGlyZWN0aW9uIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VUeXBlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkluY2x1ZGVTdWJ0eXBlcyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUNsYXNzTWFzayIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdE1hc2siIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlRGVzY3JpcHRpb24iIHR5cGU9InRuczpCcm93c2VEZXNjcmlwdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJvd3NlRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6QnJvd3NlRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb3dzZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlRGVzY3JpcHRpb24iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkJyb3dzZVJlc3VsdE1hc2siPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBiaXQgbWFzayB3aGljaCBzcGVjaWZpZXMgd2hhdCBzaG91bGQgYmUgcmV0dXJuZWQgaW4gYSBicm93c2UgcmVzcG9uc2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9uZV8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZWZlcmVuY2VUeXBlSWRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNGb3J3YXJkXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vZGVDbGFzc180IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJCcm93c2VOYW1lXzgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRpc3BsYXlOYW1lXzE2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJUeXBlRGVmaW5pdGlvbl8zMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQWxsXzYzIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZWZlcmVuY2VUeXBlSW5mb18zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJUYXJnZXRJbmZvXzYwIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUmVzdWx0TWFzayIgdHlwZT0idG5zOkJyb3dzZVJlc3VsdE1hc2siIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZmVyZW5jZURlc2NyaXB0aW9uIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSBkZXNjcmlwdGlvbiBvZiBhIHJlZmVyZW5jZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNGb3J3YXJkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlTmFtZSIgdHlwZT0idWE6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc3BsYXlOYW1lIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUNsYXNzIiB0eXBlPSJ0bnM6Tm9kZUNsYXNzIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUeXBlRGVmaW5pdGlvbiIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlRGVzY3JpcHRpb24iIHR5cGU9InRuczpSZWZlcmVuY2VEZXNjcmlwdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUmVmZXJlbmNlRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6UmVmZXJlbmNlRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlJlZmVyZW5jZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mUmVmZXJlbmNlRGVzY3JpcHRpb24iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGludWF0aW9uUG9pbnQiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQnJvd3NlUmVzdWx0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSByZXN1bHQgb2YgYSBicm93c2Ugb3BlcmF0aW9uLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGludWF0aW9uUG9pbnQiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZXMiIHR5cGU9InRuczpMaXN0T2ZSZWZlcmVuY2VEZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VSZXN1bHQiIHR5cGU9InRuczpCcm93c2VSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkJyb3dzZVJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUmVzdWx0IiB0eXBlPSJ0bnM6QnJvd3NlUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZCcm93c2VSZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb3dzZVJlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QnJvd3NlIHRoZSByZWZlcmVuY2VzIGZvciBvbmUgb3IgbW9yZSBub2RlcyBmcm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmlldyIgdHlwZT0idG5zOlZpZXdEZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZE1heFJlZmVyZW5jZXNQZXJOb2RlIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb0Jyb3dzZSIgdHlwZT0idG5zOkxpc3RPZkJyb3dzZURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVJlcXVlc3QiIHR5cGU9InRuczpCcm93c2VSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VSZXNwb25zZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5Ccm93c2UgdGhlIHJlZmVyZW5jZXMgZm9yIG9uZSBvciBtb3JlIG5vZGVzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVJlc3BvbnNlIiB0eXBlPSJ0bnM6QnJvd3NlUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb3dzZU5leHRSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNvbnRpbnVlcyBvbmUgb3IgbW9yZSBicm93c2Ugb3BlcmF0aW9ucy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsZWFzZUNvbnRpbnVhdGlvblBvaW50cyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGludWF0aW9uUG9pbnRzIiB0eXBlPSJ1YTpMaXN0T2ZCeXRlU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZU5leHRSZXF1ZXN0IiB0eXBlPSJ0bnM6QnJvd3NlTmV4dFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb3dzZU5leHRSZXNwb25zZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5Db250aW51ZXMgb25lIG9yIG1vcmUgYnJvd3NlIG9wZXJhdGlvbnMuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZkJyb3dzZVJlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlTmV4dFJlc3BvbnNlIiB0eXBlPSJ0bnM6QnJvd3NlTmV4dFJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWxhdGl2ZVBhdGhFbGVtZW50Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkFuIGVsZW1lbnQgaW4gYSByZWxhdGl2ZSBwYXRoLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ludmVyc2UiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkluY2x1ZGVTdWJ0eXBlcyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGFyZ2V0TmFtZSIgdHlwZT0idWE6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWxhdGl2ZVBhdGhFbGVtZW50IiB0eXBlPSJ0bnM6UmVsYXRpdmVQYXRoRWxlbWVudCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUmVsYXRpdmVQYXRoRWxlbWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsYXRpdmVQYXRoRWxlbWVudCIgdHlwZT0idG5zOlJlbGF0aXZlUGF0aEVsZW1lbnQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlJlbGF0aXZlUGF0aEVsZW1lbnQiIHR5cGU9InRuczpMaXN0T2ZSZWxhdGl2ZVBhdGhFbGVtZW50IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWxhdGl2ZVBhdGgiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSByZWxhdGl2ZSBwYXRoIGNvbnN0cnVjdGVkIGZyb20gcmVmZXJlbmNlIHR5cGVzIGFuZCBicm93c2UgbmFtZXMuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbGVtZW50cyIgdHlwZT0idG5zOkxpc3RPZlJlbGF0aXZlUGF0aEVsZW1lbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsYXRpdmVQYXRoIiB0eXBlPSJ0bnM6UmVsYXRpdmVQYXRoIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VQYXRoIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgcmVxdWVzdCB0byB0cmFuc2xhdGUgYSBwYXRoIGludG8gYSBub2RlIGlkLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhcnRpbmdOb2RlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWxhdGl2ZVBhdGgiIHR5cGU9InRuczpSZWxhdGl2ZVBhdGgiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUGF0aCIgdHlwZT0idG5zOkJyb3dzZVBhdGgiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGgiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGgiIHR5cGU9InRuczpCcm93c2VQYXRoIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZCcm93c2VQYXRoIiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlUGF0aCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQnJvd3NlUGF0aFRhcmdldCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgdGFyZ2V0IG9mIHRoZSB0cmFuc2xhdGVkIHBhdGguPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXRJZCIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZW1haW5pbmdQYXRoSW5kZXgiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUGF0aFRhcmdldCIgdHlwZT0idG5zOkJyb3dzZVBhdGhUYXJnZXQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGhUYXJnZXQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGhUYXJnZXQiIHR5cGU9InRuczpCcm93c2VQYXRoVGFyZ2V0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZCcm93c2VQYXRoVGFyZ2V0IiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlUGF0aFRhcmdldCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQnJvd3NlUGF0aFJlc3VsdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgcmVzdWx0IG9mIGEgdHJhbnNsYXRlIG9wZWFyYXRpb24uPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXRzIiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlUGF0aFRhcmdldCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VQYXRoUmVzdWx0IiB0eXBlPSJ0bnM6QnJvd3NlUGF0aFJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJvd3NlUGF0aFJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUGF0aFJlc3VsdCIgdHlwZT0idG5zOkJyb3dzZVBhdGhSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGhSZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VQYXRoUmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJUcmFuc2xhdGVCcm93c2VQYXRoc1RvTm9kZUlkc1JlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VHJhbnNsYXRlcyBvbmUgb3IgbW9yZSBwYXRocyBpbiB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGhzIiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlUGF0aCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2xhdGVCcm93c2VQYXRoc1RvTm9kZUlkc1JlcXVlc3QiIHR5cGU9InRuczpUcmFuc2xhdGVCcm93c2VQYXRoc1RvTm9kZUlkc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlRyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VHJhbnNsYXRlcyBvbmUgb3IgbW9yZSBwYXRocyBpbiB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZkJyb3dzZVBhdGhSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVzcG9uc2UiIHR5cGU9InRuczpUcmFuc2xhdGVCcm93c2VQYXRoc1RvTm9kZUlkc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWdpc3Rlck5vZGVzUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5SZWdpc3RlcnMgb25lIG9yIG1vcmUgbm9kZXMgZm9yIHJlcGVhdGVkIHVzZSB3aXRoaW4gYSBzZXNzaW9uLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2Rlc1RvUmVnaXN0ZXIiIHR5cGU9InVhOkxpc3RPZk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWdpc3Rlck5vZGVzUmVxdWVzdCIgdHlwZT0idG5zOlJlZ2lzdGVyTm9kZXNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWdpc3Rlck5vZGVzUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+UmVnaXN0ZXJzIG9uZSBvciBtb3JlIG5vZGVzIGZvciByZXBlYXRlZCB1c2Ugd2l0aGluIGEgc2Vzc2lvbi48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWdpc3RlcmVkTm9kZUlkcyIgdHlwZT0idWE6TGlzdE9mTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyTm9kZXNSZXNwb25zZSIgdHlwZT0idG5zOlJlZ2lzdGVyTm9kZXNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVW5yZWdpc3Rlck5vZGVzUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5VbnJlZ2lzdGVycyBvbmUgb3IgbW9yZSBwcmV2aW91c2x5IHJlZ2lzdGVyZWQgbm9kZXMuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVzVG9VbnJlZ2lzdGVyIiB0eXBlPSJ1YTpMaXN0T2ZOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVW5yZWdpc3Rlck5vZGVzUmVxdWVzdCIgdHlwZT0idG5zOlVucmVnaXN0ZXJOb2Rlc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlVucmVnaXN0ZXJOb2Rlc1Jlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlVucmVnaXN0ZXJzIG9uZSBvciBtb3JlIHByZXZpb3VzbHkgcmVnaXN0ZXJlZCBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVW5yZWdpc3Rlck5vZGVzUmVzcG9uc2UiIHR5cGU9InRuczpVbnJlZ2lzdGVyTm9kZXNSZXNwb25zZSIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb3VudGVyIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOdW1lcmljUmFuZ2UiIHR5cGU9InhzOnN0cmluZyIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lIiB0eXBlPSJ4czpzdHJpbmciIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0ZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVuZHBvaW50Q29uZmlndXJhdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iT3BlcmF0aW9uVGltZW91dCIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VCaW5hcnlFbmNvZGluZyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4U3RyaW5nTGVuZ3RoIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heEJ5dGVTdHJpbmdMZW5ndGgiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4QXJyYXlMZW5ndGgiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4TWVzc2FnZVNpemUiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4QnVmZmVyU2l6ZSIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDaGFubmVsTGlmZXRpbWUiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlUb2tlbkxpZmV0aW1lIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludENvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpFbmRwb2ludENvbmZpZ3VyYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkVuZHBvaW50Q29uZmlndXJhdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5kcG9pbnRDb25maWd1cmF0aW9uIiB0eXBlPSJ0bnM6RW5kcG9pbnRDb25maWd1cmF0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFbmRwb2ludENvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpMaXN0T2ZFbmRwb2ludENvbmZpZ3VyYXRpb24iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkNvbXBsaWFuY2VMZXZlbCI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVudGVzdGVkXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlBhcnRpYWxfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU2VsZlRlc3RlZF8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJDZXJ0aWZpZWRfMyIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNvbXBsaWFuY2VMZXZlbCIgdHlwZT0idG5zOkNvbXBsaWFuY2VMZXZlbCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU3VwcG9ydGVkUHJvZmlsZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iT3JnYW5pemF0aW9uVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQcm9maWxlSWQiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNvbXBsaWFuY2VUb29sIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb21wbGlhbmNlRGF0ZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNvbXBsaWFuY2VMZXZlbCIgdHlwZT0idG5zOkNvbXBsaWFuY2VMZXZlbCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVW5zdXBwb3J0ZWRVbml0SWRzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU3VwcG9ydGVkUHJvZmlsZSIgdHlwZT0idG5zOlN1cHBvcnRlZFByb2ZpbGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlN1cHBvcnRlZFByb2ZpbGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1cHBvcnRlZFByb2ZpbGUiIHR5cGU9InRuczpTdXBwb3J0ZWRQcm9maWxlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTdXBwb3J0ZWRQcm9maWxlIiB0eXBlPSJ0bnM6TGlzdE9mU3VwcG9ydGVkUHJvZmlsZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU29mdHdhcmVDZXJ0aWZpY2F0ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJvZHVjdE5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlByb2R1Y3RVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZlbmRvck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZlbmRvclByb2R1Y3RDZXJ0aWZpY2F0ZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU29mdHdhcmVWZXJzaW9uIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCdWlsZE51bWJlciIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnVpbGREYXRlIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNzdWVkQnkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Iklzc3VlRGF0ZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1cHBvcnRlZFByb2ZpbGVzIiB0eXBlPSJ0bnM6TGlzdE9mU3VwcG9ydGVkUHJvZmlsZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTb2Z0d2FyZUNlcnRpZmljYXRlIiB0eXBlPSJ0bnM6U29mdHdhcmVDZXJ0aWZpY2F0ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUXVlcnlEYXRhRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlbGF0aXZlUGF0aCIgdHlwZT0idG5zOlJlbGF0aXZlUGF0aCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkF0dHJpYnV0ZUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXhSYW5nZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5RGF0YURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6UXVlcnlEYXRhRGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlF1ZXJ5RGF0YURlc2NyaXB0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeURhdGFEZXNjcmlwdGlvbiIgdHlwZT0idG5zOlF1ZXJ5RGF0YURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZRdWVyeURhdGFEZXNjcmlwdGlvbiIgdHlwZT0idG5zOkxpc3RPZlF1ZXJ5RGF0YURlc2NyaXB0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJOb2RlVHlwZURlc2NyaXB0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUeXBlRGVmaW5pdGlvbk5vZGUiIHR5cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5jbHVkZVN1YlR5cGVzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVG9SZXR1cm4iIHR5cGU9InRuczpMaXN0T2ZRdWVyeURhdGFEZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlVHlwZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6Tm9kZVR5cGVEZXNjcmlwdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTm9kZVR5cGVEZXNjcmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZVR5cGVEZXNjcmlwdGlvbiIgdHlwZT0idG5zOk5vZGVUeXBlRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk5vZGVUeXBlRGVzY3JpcHRpb24iIHR5cGU9InRuczpMaXN0T2ZOb2RlVHlwZURlc2NyaXB0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJGaWx0ZXJPcGVyYXRvciI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkVxdWFsc18wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJc051bGxfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iR3JlYXRlclRoYW5fMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTGVzc1RoYW5fMyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iR3JlYXRlclRoYW5PckVxdWFsXzQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ikxlc3NUaGFuT3JFcXVhbF81IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJMaWtlXzYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vdF83IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJCZXR3ZWVuXzgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkluTGlzdF85IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBbmRfMTAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik9yXzExIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJDYXN0XzEyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJblZpZXdfMTMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik9mVHlwZV8xNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVsYXRlZFRvXzE1IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJCaXR3aXNlQW5kXzE2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJCaXR3aXNlT3JfMTciIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXJPcGVyYXRvciIgdHlwZT0idG5zOkZpbHRlck9wZXJhdG9yIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJRdWVyeURhdGFTZXQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUeXBlRGVmaW5pdGlvbk5vZGUiIHR5cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVzIiB0eXBlPSJ1YTpMaXN0T2ZWYXJpYW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5RGF0YVNldCIgdHlwZT0idG5zOlF1ZXJ5RGF0YVNldCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUXVlcnlEYXRhU2V0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeURhdGFTZXQiIHR5cGU9InRuczpRdWVyeURhdGFTZXQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlF1ZXJ5RGF0YVNldCIgdHlwZT0idG5zOkxpc3RPZlF1ZXJ5RGF0YVNldCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTm9kZVJlZmVyZW5jZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VUeXBlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IklzRm9yd2FyZCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlZE5vZGVJZHMiIHR5cGU9InVhOkxpc3RPZk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlUmVmZXJlbmNlIiB0eXBlPSJ0bnM6Tm9kZVJlZmVyZW5jZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTm9kZVJlZmVyZW5jZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZVJlZmVyZW5jZSIgdHlwZT0idG5zOk5vZGVSZWZlcmVuY2UiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk5vZGVSZWZlcmVuY2UiIHR5cGU9InRuczpMaXN0T2ZOb2RlUmVmZXJlbmNlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDb250ZW50RmlsdGVyRWxlbWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyT3BlcmF0b3IiIHR5cGU9InRuczpGaWx0ZXJPcGVyYXRvciIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyT3BlcmFuZHMiIHR5cGU9InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb250ZW50RmlsdGVyRWxlbWVudCIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXJFbGVtZW50IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZDb250ZW50RmlsdGVyRWxlbWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGVudEZpbHRlckVsZW1lbnQiIHR5cGU9InRuczpDb250ZW50RmlsdGVyRWxlbWVudCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQ29udGVudEZpbHRlckVsZW1lbnQiIHR5cGU9InRuczpMaXN0T2ZDb250ZW50RmlsdGVyRWxlbWVudCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ29udGVudEZpbHRlciI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRWxlbWVudHMiIHR5cGU9InRuczpMaXN0T2ZDb250ZW50RmlsdGVyRWxlbWVudCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb250ZW50RmlsdGVyIiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlciIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQ29udGVudEZpbHRlciI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGVudEZpbHRlciIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXIiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkNvbnRlbnRGaWx0ZXIiIHR5cGU9InRuczpMaXN0T2ZDb250ZW50RmlsdGVyIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJGaWx0ZXJPcGVyYW5kIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyT3BlcmFuZCIgdHlwZT0idG5zOkZpbHRlck9wZXJhbmQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVsZW1lbnRPcGVyYW5kIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXgiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFbGVtZW50T3BlcmFuZCIgdHlwZT0idG5zOkVsZW1lbnRPcGVyYW5kIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXRlcmFsT3BlcmFuZCI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpGaWx0ZXJPcGVyYW5kIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlIiB0eXBlPSJ1YTpWYXJpYW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXRlcmFsT3BlcmFuZCIgdHlwZT0idG5zOkxpdGVyYWxPcGVyYW5kIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBdHRyaWJ1dGVPcGVyYW5kIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWxpYXMiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VQYXRoIiB0eXBlPSJ0bnM6UmVsYXRpdmVQYXRoIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkF0dHJpYnV0ZUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkF0dHJpYnV0ZU9wZXJhbmQiIHR5cGU9InRuczpBdHRyaWJ1dGVPcGVyYW5kIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTaW1wbGVBdHRyaWJ1dGVPcGVyYW5kIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHlwZURlZmluaXRpb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGgiIHR5cGU9InVhOkxpc3RPZlF1YWxpZmllZE5hbWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXR0cmlidXRlSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXhSYW5nZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2ltcGxlQXR0cmlidXRlT3BlcmFuZCIgdHlwZT0idG5zOlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIHR5cGU9InRuczpTaW1wbGVBdHRyaWJ1dGVPcGVyYW5kIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTaW1wbGVBdHRyaWJ1dGVPcGVyYW5kIiB0eXBlPSJ0bnM6TGlzdE9mU2ltcGxlQXR0cmlidXRlT3BlcmFuZCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ29udGVudEZpbHRlckVsZW1lbnRSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c0NvZGUiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik9wZXJhbmRTdGF0dXNDb2RlcyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik9wZXJhbmREaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0IiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlckVsZW1lbnRSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIgdHlwZT0idG5zOkxpc3RPZkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDb250ZW50RmlsdGVyUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbGVtZW50UmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRWxlbWVudERpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGVudEZpbHRlclJlc3VsdCIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXJSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlBhcnNpbmdSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c0NvZGUiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTdGF0dXNDb2RlcyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlBhcnNpbmdSZXN1bHQiIHR5cGU9InRuczpQYXJzaW5nUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZQYXJzaW5nUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQYXJzaW5nUmVzdWx0IiB0eXBlPSJ0bnM6UGFyc2luZ1Jlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUGFyc2luZ1Jlc3VsdCIgdHlwZT0idG5zOkxpc3RPZlBhcnNpbmdSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlF1ZXJ5Rmlyc3RSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZpZXciIHR5cGU9InRuczpWaWV3RGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlVHlwZXMiIHR5cGU9InRuczpMaXN0T2ZOb2RlVHlwZURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyIiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heERhdGFTZXRzVG9SZXR1cm4iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhSZWZlcmVuY2VzVG9SZXR1cm4iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlGaXJzdFJlcXVlc3QiIHR5cGU9InRuczpRdWVyeUZpcnN0UmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUXVlcnlGaXJzdFJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlEYXRhU2V0cyIgdHlwZT0idG5zOkxpc3RPZlF1ZXJ5RGF0YVNldCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQYXJzaW5nUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZlBhcnNpbmdSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyUmVzdWx0IiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlclJlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeUZpcnN0UmVzcG9uc2UiIHR5cGU9InRuczpRdWVyeUZpcnN0UmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlF1ZXJ5TmV4dFJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsZWFzZUNvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250aW51YXRpb25Qb2ludCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5TmV4dFJlcXVlc3QiIHR5cGU9InRuczpRdWVyeU5leHRSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJRdWVyeU5leHRSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5RGF0YVNldHMiIHR5cGU9InRuczpMaXN0T2ZRdWVyeURhdGFTZXQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkQ29udGludWF0aW9uUG9pbnQiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeU5leHRSZXNwb25zZSIgdHlwZT0idG5zOlF1ZXJ5TmV4dFJlc3BvbnNlIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTb3VyY2VfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU2VydmVyXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJvdGhfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTmVpdGhlcl8zIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiB0eXBlPSJ0bnM6VGltZXN0YW1wc1RvUmV0dXJuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWFkVmFsdWVJZCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdHRyaWJ1dGVJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFFbmNvZGluZyIgdHlwZT0idWE6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWFkVmFsdWVJZCIgdHlwZT0idG5zOlJlYWRWYWx1ZUlkIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZSZWFkVmFsdWVJZCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZFZhbHVlSWQiIHR5cGU9InRuczpSZWFkVmFsdWVJZCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUmVhZFZhbHVlSWQiIHR5cGU9InRuczpMaXN0T2ZSZWFkVmFsdWVJZCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZFJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4QWdlIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRpbWVzdGFtcHNUb1JldHVybiIgdHlwZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb1JlYWQiIHR5cGU9InRuczpMaXN0T2ZSZWFkVmFsdWVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWFkUmVxdWVzdCIgdHlwZT0idG5zOlJlYWRSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWFkUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZEYXRhVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlYWRSZXNwb25zZSIgdHlwZT0idG5zOlJlYWRSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeVJlYWRWYWx1ZUlkIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFFbmNvZGluZyIgdHlwZT0idWE6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRWYWx1ZUlkIiB0eXBlPSJ0bnM6SGlzdG9yeVJlYWRWYWx1ZUlkIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZIaXN0b3J5UmVhZFZhbHVlSWQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlSZWFkVmFsdWVJZCIgdHlwZT0idG5zOkhpc3RvcnlSZWFkVmFsdWVJZCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mSGlzdG9yeVJlYWRWYWx1ZUlkIiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeVJlYWRWYWx1ZUlkIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5UmVhZFJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGludWF0aW9uUG9pbnQiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlEYXRhIiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRSZXN1bHQiIHR5cGU9InRuczpIaXN0b3J5UmVhZFJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mSGlzdG9yeVJlYWRSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlSZWFkUmVzdWx0IiB0eXBlPSJ0bnM6SGlzdG9yeVJlYWRSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkhpc3RvcnlSZWFkUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeVJlYWRSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlSZWFkRGV0YWlscyI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlSZWFkRGV0YWlscyIgdHlwZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZEV2ZW50RGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5UmVhZERldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTnVtVmFsdWVzUGVyTm9kZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGFydFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5kVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXIiIHR5cGU9InRuczpFdmVudEZpbHRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlYWRFdmVudERldGFpbHMiIHR5cGU9InRuczpSZWFkRXZlbnREZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWFkUmF3TW9kaWZpZWREZXRhaWxzIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc1JlYWRNb2RpZmllZCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXJ0VGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik51bVZhbHVlc1Blck5vZGUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV0dXJuQm91bmRzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWFkUmF3TW9kaWZpZWREZXRhaWxzIiB0eXBlPSJ0bnM6UmVhZFJhd01vZGlmaWVkRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZFByb2Nlc3NlZERldGFpbHMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXJ0VGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlByb2Nlc3NpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWdncmVnYXRlVHlwZSIgdHlwZT0idWE6TGlzdE9mTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZFByb2Nlc3NlZERldGFpbHMiIHR5cGU9InRuczpSZWFkUHJvY2Vzc2VkRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZEF0VGltZURldGFpbHMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcVRpbWVzIiB0eXBlPSJ1YTpMaXN0T2ZEYXRlVGltZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VTaW1wbGVCb3VuZHMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlYWRBdFRpbWVEZXRhaWxzIiB0eXBlPSJ0bnM6UmVhZEF0VGltZURldGFpbHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlEYXRhIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVmFsdWVzIiB0eXBlPSJ1YTpMaXN0T2ZEYXRhVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeURhdGEiIHR5cGU9InRuczpIaXN0b3J5RGF0YSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9kaWZpY2F0aW9uSW5mbyI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZpY2F0aW9uVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVwZGF0ZVR5cGUiIHR5cGU9InRuczpIaXN0b3J5VXBkYXRlVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZmljYXRpb25JbmZvIiB0eXBlPSJ0bnM6TW9kaWZpY2F0aW9uSW5mbyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTW9kaWZpY2F0aW9uSW5mbyI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZpY2F0aW9uSW5mbyIgdHlwZT0idG5zOk1vZGlmaWNhdGlvbkluZm8iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk1vZGlmaWNhdGlvbkluZm8iIHR5cGU9InRuczpMaXN0T2ZNb2RpZmljYXRpb25JbmZvIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5TW9kaWZpZWREYXRhIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkhpc3RvcnlEYXRhIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmaWNhdGlvbkluZm9zIiB0eXBlPSJ0bnM6TGlzdE9mTW9kaWZpY2F0aW9uSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlNb2RpZmllZERhdGEiIHR5cGU9InRuczpIaXN0b3J5TW9kaWZpZWREYXRhIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5RXZlbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50cyIgdHlwZT0idG5zOkxpc3RPZkhpc3RvcnlFdmVudEZpZWxkTGlzdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5RXZlbnQiIHR5cGU9InRuczpIaXN0b3J5RXZlbnQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlSZWFkUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5UmVhZERldGFpbHMiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRpbWVzdGFtcHNUb1JldHVybiIgdHlwZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsZWFzZUNvbnRpbnVhdGlvblBvaW50cyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb1JlYWQiIHR5cGU9InRuczpMaXN0T2ZIaXN0b3J5UmVhZFZhbHVlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRSZXF1ZXN0IiB0eXBlPSJ0bnM6SGlzdG9yeVJlYWRSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5UmVhZFJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZkhpc3RvcnlSZWFkUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5UmVhZFJlc3BvbnNlIiB0eXBlPSJ0bnM6SGlzdG9yeVJlYWRSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iV3JpdGVWYWx1ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdHRyaWJ1dGVJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlIiB0eXBlPSJ1YTpEYXRhVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVWYWx1ZSIgdHlwZT0idG5zOldyaXRlVmFsdWUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZldyaXRlVmFsdWUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IldyaXRlVmFsdWUiIHR5cGU9InRuczpXcml0ZVZhbHVlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZXcml0ZVZhbHVlIiB0eXBlPSJ0bnM6TGlzdE9mV3JpdGVWYWx1ZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iV3JpdGVSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVzVG9Xcml0ZSIgdHlwZT0idG5zOkxpc3RPZldyaXRlVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVSZXF1ZXN0IiB0eXBlPSJ0bnM6V3JpdGVSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJXcml0ZVJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVSZXNwb25zZSIgdHlwZT0idG5zOldyaXRlUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5VXBkYXRlRGV0YWlscyIgdHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJIaXN0b3J5VXBkYXRlVHlwZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ikluc2VydF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZXBsYWNlXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVwZGF0ZV8zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEZWxldGVfNCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlVcGRhdGVUeXBlIiB0eXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZVR5cGUiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IlBlcmZvcm1VcGRhdGVUeXBlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW5zZXJ0XzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlcGxhY2VfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVXBkYXRlXzMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlbW92ZV80IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUGVyZm9ybVVwZGF0ZVR5cGUiIHR5cGU9InRuczpQZXJmb3JtVXBkYXRlVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVXBkYXRlRGF0YURldGFpbHMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUGVyZm9ybUluc2VydFJlcGxhY2UiIHR5cGU9InRuczpQZXJmb3JtVXBkYXRlVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlVwZGF0ZVZhbHVlcyIgdHlwZT0idWE6TGlzdE9mRGF0YVZhbHVlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVXBkYXRlRGF0YURldGFpbHMiIHR5cGU9InRuczpVcGRhdGVEYXRhRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVXBkYXRlU3RydWN0dXJlRGF0YURldGFpbHMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUGVyZm9ybUluc2VydFJlcGxhY2UiIHR5cGU9InRuczpQZXJmb3JtVXBkYXRlVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlVwZGF0ZVZhbHVlcyIgdHlwZT0idWE6TGlzdE9mRGF0YVZhbHVlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVXBkYXRlU3RydWN0dXJlRGF0YURldGFpbHMiIHR5cGU9InRuczpVcGRhdGVTdHJ1Y3R1cmVEYXRhRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVXBkYXRlRXZlbnREZXRhaWxzIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlBlcmZvcm1JbnNlcnRSZXBsYWNlIiB0eXBlPSJ0bnM6UGVyZm9ybVVwZGF0ZVR5cGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXIiIHR5cGU9InRuczpFdmVudEZpbHRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudERhdGEiIHR5cGU9InRuczpMaXN0T2ZIaXN0b3J5RXZlbnRGaWVsZExpc3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVcGRhdGVFdmVudERldGFpbHMiIHR5cGU9InRuczpVcGRhdGVFdmVudERldGFpbHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZVJhd01vZGlmaWVkRGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0RlbGV0ZU1vZGlmaWVkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhcnRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVSYXdNb2RpZmllZERldGFpbHMiIHR5cGU9InRuczpEZWxldGVSYXdNb2RpZmllZERldGFpbHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZUF0VGltZURldGFpbHMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxVGltZXMiIHR5cGU9InVhOkxpc3RPZkRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlQXRUaW1lRGV0YWlscyIgdHlwZT0idG5zOkRlbGV0ZUF0VGltZURldGFpbHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZUV2ZW50RGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudElkcyIgdHlwZT0idWE6TGlzdE9mQnl0ZVN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZUV2ZW50RGV0YWlscyIgdHlwZT0idG5zOkRlbGV0ZUV2ZW50RGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iT3BlcmF0aW9uUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3VsdCIgdHlwZT0idG5zOkhpc3RvcnlVcGRhdGVSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkhpc3RvcnlVcGRhdGVSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlVcGRhdGVSZXN1bHQiIHR5cGU9InRuczpIaXN0b3J5VXBkYXRlUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZIaXN0b3J5VXBkYXRlUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeVVwZGF0ZVJlc3VsdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeVVwZGF0ZVJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVVwZGF0ZURldGFpbHMiIHR5cGU9InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5VXBkYXRlUmVxdWVzdCIgdHlwZT0idG5zOkhpc3RvcnlVcGRhdGVSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5VXBkYXRlUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeVVwZGF0ZVJlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3BvbnNlIiB0eXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZVJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDYWxsTWV0aG9kUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iT2JqZWN0SWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1ldGhvZElkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbnB1dEFyZ3VtZW50cyIgdHlwZT0idWE6TGlzdE9mVmFyaWFudCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDYWxsTWV0aG9kUmVxdWVzdCIgdHlwZT0idG5zOkNhbGxNZXRob2RSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZDYWxsTWV0aG9kUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2FsbE1ldGhvZFJlcXVlc3QiIHR5cGU9InRuczpDYWxsTWV0aG9kUmVxdWVzdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQ2FsbE1ldGhvZFJlcXVlc3QiIHR5cGU9InRuczpMaXN0T2ZDYWxsTWV0aG9kUmVxdWVzdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2FsbE1ldGhvZFJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5wdXRBcmd1bWVudFJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbnB1dEFyZ3VtZW50RGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik91dHB1dEFyZ3VtZW50cyIgdHlwZT0idWE6TGlzdE9mVmFyaWFudCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDYWxsTWV0aG9kUmVzdWx0IiB0eXBlPSJ0bnM6Q2FsbE1ldGhvZFJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQ2FsbE1ldGhvZFJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2FsbE1ldGhvZFJlc3VsdCIgdHlwZT0idG5zOkNhbGxNZXRob2RSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkNhbGxNZXRob2RSZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZDYWxsTWV0aG9kUmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDYWxsUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXRob2RzVG9DYWxsIiB0eXBlPSJ0bnM6TGlzdE9mQ2FsbE1ldGhvZFJlcXVlc3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ2FsbFJlcXVlc3QiIHR5cGU9InRuczpDYWxsUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2FsbFJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZkNhbGxNZXRob2RSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNhbGxSZXNwb25zZSIgdHlwZT0idG5zOkNhbGxSZXNwb25zZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iTW9uaXRvcmluZ01vZGUiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEaXNhYmxlZF8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTYW1wbGluZ18xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZXBvcnRpbmdfMiIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JpbmdNb2RlIiB0eXBlPSJ0bnM6TW9uaXRvcmluZ01vZGUiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkRhdGFDaGFuZ2VUcmlnZ2VyIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU3RhdHVzXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN0YXR1c1ZhbHVlXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN0YXR1c1ZhbHVlVGltZXN0YW1wXzIiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhQ2hhbmdlVHJpZ2dlciIgdHlwZT0idG5zOkRhdGFDaGFuZ2VUcmlnZ2VyIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJEZWFkYmFuZFR5cGUiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb25lXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFic29sdXRlXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlBlcmNlbnRfMiIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlYWRiYW5kVHlwZSIgdHlwZT0idG5zOkRlYWRiYW5kVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9uaXRvcmluZ0ZpbHRlciI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JpbmdGaWx0ZXIiIHR5cGU9InRuczpNb25pdG9yaW5nRmlsdGVyIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEYXRhQ2hhbmdlRmlsdGVyIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk1vbml0b3JpbmdGaWx0ZXIiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJpZ2dlciIgdHlwZT0idG5zOkRhdGFDaGFuZ2VUcmlnZ2VyIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVhZGJhbmRUeXBlIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlYWRiYW5kVmFsdWUiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YUNoYW5nZUZpbHRlciIgdHlwZT0idG5zOkRhdGFDaGFuZ2VGaWx0ZXIiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkV2ZW50RmlsdGVyIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk1vbml0b3JpbmdGaWx0ZXIiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VsZWN0Q2xhdXNlcyIgdHlwZT0idG5zOkxpc3RPZlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iV2hlcmVDbGF1c2UiIHR5cGU9InRuczpDb250ZW50RmlsdGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnRGaWx0ZXIiIHR5cGU9InRuczpFdmVudEZpbHRlciIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWdncmVnYXRlQ29uZmlndXJhdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlU2VydmVyQ2FwYWJpbGl0aWVzRGVmYXVsdHMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyZWF0VW5jZXJ0YWluQXNCYWQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBlcmNlbnREYXRhQmFkIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBlcmNlbnREYXRhR29vZCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VTbG9wZWRFeHRyYXBvbGF0aW9uIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWdncmVnYXRlQ29uZmlndXJhdGlvbiIgdHlwZT0idG5zOkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFnZ3JlZ2F0ZUZpbHRlciI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpNb25pdG9yaW5nRmlsdGVyIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXJ0VGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZ2dyZWdhdGVUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJvY2Vzc2luZ0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiB0eXBlPSJ0bnM6QWdncmVnYXRlQ29uZmlndXJhdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFnZ3JlZ2F0ZUZpbHRlciIgdHlwZT0idG5zOkFnZ3JlZ2F0ZUZpbHRlciIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9uaXRvcmluZ0ZpbHRlclJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JpbmdGaWx0ZXJSZXN1bHQiIHR5cGU9InRuczpNb25pdG9yaW5nRmlsdGVyUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFdmVudEZpbHRlclJlc3VsdCI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpNb25pdG9yaW5nRmlsdGVyUmVzdWx0Ij4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlbGVjdENsYXVzZVJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VsZWN0Q2xhdXNlRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJXaGVyZUNsYXVzZVJlc3VsdCIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXJSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudEZpbHRlclJlc3VsdCIgdHlwZT0idG5zOkV2ZW50RmlsdGVyUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZ2dyZWdhdGVGaWx0ZXJSZXN1bHQiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6TW9uaXRvcmluZ0ZpbHRlclJlc3VsdCI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkU3RhcnRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRQcm9jZXNzaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiB0eXBlPSJ0bnM6QWdncmVnYXRlQ29uZmlndXJhdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFnZ3JlZ2F0ZUZpbHRlclJlc3VsdCIgdHlwZT0idG5zOkFnZ3JlZ2F0ZUZpbHRlclJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9uaXRvcmluZ1BhcmFtZXRlcnMiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVudEhhbmRsZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNhbXBsaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyIiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJRdWV1ZVNpemUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjYXJkT2xkZXN0IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ1BhcmFtZXRlcnMiIHR5cGU9InRuczpNb25pdG9yaW5nUGFyYW1ldGVycyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikl0ZW1Ub01vbml0b3IiIHR5cGU9InRuczpSZWFkVmFsdWVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JpbmdNb2RlIiB0eXBlPSJ0bnM6TW9uaXRvcmluZ01vZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZFBhcmFtZXRlcnMiIHR5cGU9InRuczpNb25pdG9yaW5nUGFyYW1ldGVycyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCIgdHlwZT0idG5zOk1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIHR5cGU9InRuczpNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9uaXRvcmVkSXRlbUNyZWF0ZVJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFNhbXBsaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFF1ZXVlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlclJlc3VsdCIgdHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIHR5cGU9InRuczpNb25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0IiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRlbUNyZWF0ZVJlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbUNyZWF0ZVJlc3VsdCIgdHlwZT0idG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRpbWVzdGFtcHNUb1JldHVybiIgdHlwZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXRlbXNUb0NyZWF0ZSIgdHlwZT0idG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgdHlwZT0idG5zOkNyZWF0ZU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ3JlYXRlTW9uaXRvcmVkSXRlbXNSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6Q3JlYXRlTW9uaXRvcmVkSXRlbXNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlmeVJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1JZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZFBhcmFtZXRlcnMiIHR5cGU9InRuczpNb25pdG9yaW5nUGFyYW1ldGVycyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCIgdHlwZT0idG5zOk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlmeVJlcXVlc3QiIHR5cGU9InRuczpNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbU1vZGlmeVJlcXVlc3QiIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFNhbXBsaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFF1ZXVlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlclJlc3VsdCIgdHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiIHR5cGU9InRuczpNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0IiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCIgdHlwZT0idG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1vZGlmeU1vbml0b3JlZEl0ZW1zUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRpbWVzdGFtcHNUb1JldHVybiIgdHlwZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXRlbXNUb01vZGlmeSIgdHlwZT0idG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmeU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgdHlwZT0idG5zOk1vZGlmeU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZnlNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6TW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2V0TW9uaXRvcmluZ01vZGVSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ01vZGUiIHR5cGU9InRuczpNb25pdG9yaW5nTW9kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUlkcyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNldE1vbml0b3JpbmdNb2RlUmVxdWVzdCIgdHlwZT0idG5zOlNldE1vbml0b3JpbmdNb2RlUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2V0TW9uaXRvcmluZ01vZGVSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNldE1vbml0b3JpbmdNb2RlUmVzcG9uc2UiIHR5cGU9InRuczpTZXRNb25pdG9yaW5nTW9kZVJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXRUcmlnZ2VyaW5nUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyaWdnZXJpbmdJdGVtSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaW5rc1RvQWRkIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaW5rc1RvUmVtb3ZlIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0VHJpZ2dlcmluZ1JlcXVlc3QiIHR5cGU9InRuczpTZXRUcmlnZ2VyaW5nUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2V0VHJpZ2dlcmluZ1Jlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZERpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZW1vdmVSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVtb3ZlRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXRUcmlnZ2VyaW5nUmVzcG9uc2UiIHR5cGU9InRuczpTZXRUcmlnZ2VyaW5nUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1JZHMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVNb25pdG9yZWRJdGVtc1JlcXVlc3QiIHR5cGU9InRuczpEZWxldGVNb25pdG9yZWRJdGVtc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6RGVsZXRlTW9uaXRvcmVkSXRlbXNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ3JlYXRlU3Vic2NyaXB0aW9uUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTGlmZXRpbWVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2giIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoaW5nRW5hYmxlZCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJpb3JpdHkiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZVN1YnNjcmlwdGlvblJlcXVlc3QiIHR5cGU9InRuczpDcmVhdGVTdWJzY3JpcHRpb25SZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDcmVhdGVTdWJzY3JpcHRpb25SZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFB1Ymxpc2hpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkTGlmZXRpbWVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRNYXhLZWVwQWxpdmVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVTdWJzY3JpcHRpb25SZXNwb25zZSIgdHlwZT0idG5zOkNyZWF0ZVN1YnNjcmlwdGlvblJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb2RpZnlTdWJzY3JpcHRpb25SZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZExpZmV0aW1lQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJpb3JpdHkiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmeVN1YnNjcmlwdGlvblJlcXVlc3QiIHR5cGU9InRuczpNb2RpZnlTdWJzY3JpcHRpb25SZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb2RpZnlTdWJzY3JpcHRpb25SZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRQdWJsaXNoaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZExpZmV0aW1lQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkTWF4S2VlcEFsaXZlQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZ5U3Vic2NyaXB0aW9uUmVzcG9uc2UiIHR5cGU9InRuczpNb2RpZnlTdWJzY3JpcHRpb25SZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2V0UHVibGlzaGluZ01vZGVSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hpbmdFbmFibGVkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZHMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXRQdWJsaXNoaW5nTW9kZVJlcXVlc3QiIHR5cGU9InRuczpTZXRQdWJsaXNoaW5nTW9kZVJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNldFB1Ymxpc2hpbmdNb2RlUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXRQdWJsaXNoaW5nTW9kZVJlc3BvbnNlIiB0eXBlPSJ0bnM6U2V0UHVibGlzaGluZ01vZGVSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTm90aWZpY2F0aW9uTWVzc2FnZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VxdWVuY2VOdW1iZXIiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vdGlmaWNhdGlvbkRhdGEiIHR5cGU9InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOb3RpZmljYXRpb25NZXNzYWdlIiB0eXBlPSJ0bnM6Tm90aWZpY2F0aW9uTWVzc2FnZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTm90aWZpY2F0aW9uRGF0YSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik5vdGlmaWNhdGlvbkRhdGEiIHR5cGU9InRuczpOb3RpZmljYXRpb25EYXRhIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEYXRhQ2hhbmdlTm90aWZpY2F0aW9uIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk5vdGlmaWNhdGlvbkRhdGEiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbXMiIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtTm90aWZpY2F0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhQ2hhbmdlTm90aWZpY2F0aW9uIiB0eXBlPSJ0bnM6RGF0YUNoYW5nZU5vdGlmaWNhdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50SGFuZGxlIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUiIHR5cGU9InVhOkRhdGFWYWx1ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtTm90aWZpY2F0aW9uIiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiIgdHlwZT0idG5zOk1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24iIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtTm90aWZpY2F0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFdmVudE5vdGlmaWNhdGlvbkxpc3QiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm90aWZpY2F0aW9uRGF0YSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudHMiIHR5cGU9InRuczpMaXN0T2ZFdmVudEZpZWxkTGlzdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkV2ZW50Tm90aWZpY2F0aW9uTGlzdCIgdHlwZT0idG5zOkV2ZW50Tm90aWZpY2F0aW9uTGlzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRXZlbnRGaWVsZExpc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVudEhhbmRsZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50RmllbGRzIiB0eXBlPSJ1YTpMaXN0T2ZWYXJpYW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkV2ZW50RmllbGRMaXN0IiB0eXBlPSJ0bnM6RXZlbnRGaWVsZExpc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkV2ZW50RmllbGRMaXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudEZpZWxkTGlzdCIgdHlwZT0idG5zOkV2ZW50RmllbGRMaXN0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFdmVudEZpZWxkTGlzdCIgdHlwZT0idG5zOkxpc3RPZkV2ZW50RmllbGRMaXN0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5RXZlbnRGaWVsZExpc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50RmllbGRzIiB0eXBlPSJ1YTpMaXN0T2ZWYXJpYW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlFdmVudEZpZWxkTGlzdCIgdHlwZT0idG5zOkhpc3RvcnlFdmVudEZpZWxkTGlzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mSGlzdG9yeUV2ZW50RmllbGRMaXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5RXZlbnRGaWVsZExpc3QiIHR5cGU9InRuczpIaXN0b3J5RXZlbnRGaWVsZExpc3QiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkhpc3RvcnlFdmVudEZpZWxkTGlzdCIgdHlwZT0idG5zOkxpc3RPZkhpc3RvcnlFdmVudEZpZWxkTGlzdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU3RhdHVzQ2hhbmdlTm90aWZpY2F0aW9uIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk5vdGlmaWNhdGlvbkRhdGEiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm8iIHR5cGU9InVhOkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ2hhbmdlTm90aWZpY2F0aW9uIiB0eXBlPSJ0bnM6U3RhdHVzQ2hhbmdlTm90aWZpY2F0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VxdWVuY2VOdW1iZXIiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50IiB0eXBlPSJ0bnM6U3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudCIgdHlwZT0idG5zOlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50IiB0eXBlPSJ0bnM6TGlzdE9mU3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJQdWJsaXNoUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnRzIiB0eXBlPSJ0bnM6TGlzdE9mU3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hSZXF1ZXN0IiB0eXBlPSJ0bnM6UHVibGlzaFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlB1Ymxpc2hSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXZhaWxhYmxlU2VxdWVuY2VOdW1iZXJzIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb3JlTm90aWZpY2F0aW9ucyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm90aWZpY2F0aW9uTWVzc2FnZSIgdHlwZT0idG5zOk5vdGlmaWNhdGlvbk1lc3NhZ2UiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoUmVzcG9uc2UiIHR5cGU9InRuczpQdWJsaXNoUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlcHVibGlzaFJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXRyYW5zbWl0U2VxdWVuY2VOdW1iZXIiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVwdWJsaXNoUmVxdWVzdCIgdHlwZT0idG5zOlJlcHVibGlzaFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlcHVibGlzaFJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm90aWZpY2F0aW9uTWVzc2FnZSIgdHlwZT0idG5zOk5vdGlmaWNhdGlvbk1lc3NhZ2UiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVwdWJsaXNoUmVzcG9uc2UiIHR5cGU9InRuczpSZXB1Ymxpc2hSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVHJhbnNmZXJSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c0NvZGUiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkF2YWlsYWJsZVNlcXVlbmNlTnVtYmVycyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRyYW5zZmVyUmVzdWx0IiB0eXBlPSJ0bnM6VHJhbnNmZXJSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlRyYW5zZmVyUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2ZlclJlc3VsdCIgdHlwZT0idG5zOlRyYW5zZmVyUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZUcmFuc2ZlclJlc3VsdCIgdHlwZT0idG5zOkxpc3RPZlRyYW5zZmVyUmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJUcmFuc2ZlclN1YnNjcmlwdGlvbnNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkcyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VuZEluaXRpYWxWYWx1ZXMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2ZlclN1YnNjcmlwdGlvbnNSZXF1ZXN0IiB0eXBlPSJ0bnM6VHJhbnNmZXJTdWJzY3JpcHRpb25zUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVHJhbnNmZXJTdWJzY3JpcHRpb25zUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ0bnM6TGlzdE9mVHJhbnNmZXJSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRyYW5zZmVyU3Vic2NyaXB0aW9uc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6VHJhbnNmZXJTdWJzY3JpcHRpb25zUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZVN1YnNjcmlwdGlvbnNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkcyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZVN1YnNjcmlwdGlvbnNSZXF1ZXN0IiB0eXBlPSJ0bnM6RGVsZXRlU3Vic2NyaXB0aW9uc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZVN1YnNjcmlwdGlvbnNSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZVN1YnNjcmlwdGlvbnNSZXNwb25zZSIgdHlwZT0idG5zOkRlbGV0ZVN1YnNjcmlwdGlvbnNSZXNwb25zZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iRW51bWVyYXRlZFRlc3RUeXBlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgc2ltcGxlIGVudW1lcmF0ZWQgdHlwZSB1c2VkIGZvciB0ZXN0aW5nLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlZF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJZZWxsb3dfNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iR3JlZW5fNSIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkVudW1lcmF0ZWRUZXN0VHlwZSIgdHlwZT0idG5zOkVudW1lcmF0ZWRUZXN0VHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRW51bWVyYXRlZFRlc3RUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbnVtZXJhdGVkVGVzdFR5cGUiIHR5cGU9InRuczpFbnVtZXJhdGVkVGVzdFR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRW51bWVyYXRlZFRlc3RUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mRW51bWVyYXRlZFRlc3RUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCdWlsZEluZm8iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlByb2R1Y3RVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1hbnVmYWN0dXJlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlByb2R1Y3ROYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTb2Z0d2FyZVZlcnNpb24iIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJ1aWxkTnVtYmVyIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCdWlsZERhdGUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnVpbGRJbmZvIiB0eXBlPSJ0bnM6QnVpbGRJbmZvIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJSZWR1bmRhbmN5U3VwcG9ydCI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ29sZF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJXYXJtXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkhvdF8zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJUcmFuc3BhcmVudF80IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJIb3RBbmRNaXJyb3JlZF81IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVkdW5kYW5jeVN1cHBvcnQiIHR5cGU9InRuczpSZWR1bmRhbmN5U3VwcG9ydCIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iU2VydmVyU3RhdGUiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSdW5uaW5nXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkZhaWxlZF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb0NvbmZpZ3VyYXRpb25fMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU3VzcGVuZGVkXzMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNodXRkb3duXzQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlRlc3RfNSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ29tbXVuaWNhdGlvbkZhdWx0XzYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVua25vd25fNyIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNlcnZlclN0YXRlIiB0eXBlPSJ0bnM6U2VydmVyU3RhdGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZHVuZGFudFNlcnZlckRhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJJZCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmljZUxldmVsIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlclN0YXRlIiB0eXBlPSJ0bnM6U2VydmVyU3RhdGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIgdHlwZT0idG5zOlJlZHVuZGFudFNlcnZlckRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVkdW5kYW50U2VydmVyRGF0YVR5cGUiIHR5cGU9InRuczpSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUmVkdW5kYW50U2VydmVyRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRW5kcG9pbnRVcmxMaXN0RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50VXJsTGlzdCIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIiB0eXBlPSJ0bnM6RW5kcG9pbnRVcmxMaXN0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVybExpc3REYXRhVHlwZSIgdHlwZT0idG5zOkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFbmRwb2ludFVybExpc3REYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJOZXR3b3JrR3JvdXBEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOZXR3b3JrUGF0aHMiIHR5cGU9InRuczpMaXN0T2ZFbmRwb2ludFVybExpc3REYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOZXR3b3JrR3JvdXBEYXRhVHlwZSIgdHlwZT0idG5zOk5ldHdvcmtHcm91cERhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZOZXR3b3JrR3JvdXBEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmV0d29ya0dyb3VwRGF0YVR5cGUiIHR5cGU9InRuczpOZXR3b3JrR3JvdXBEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTmV0d29ya0dyb3VwRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZOZXR3b3JrR3JvdXBEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNhbXBsaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4TW9uaXRvcmVkSXRlbUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzYWJsZWRNb25pdG9yZWRJdGVtQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpTYW1wbGluZ0ludGVydmFsRGlhZ25vc3RpY3NEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNhbXBsaW5nSW50ZXJ2YWxEaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlNhbXBsaW5nSW50ZXJ2YWxEaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlcnZlckRpYWdub3N0aWNzU3VtbWFyeURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJWaWV3Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJyZW50U2Vzc2lvbkNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VtdWxhdGVkU2Vzc2lvbkNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlSZWplY3RlZFNlc3Npb25Db3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlamVjdGVkU2Vzc2lvbkNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvblRpbWVvdXRDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlc3Npb25BYm9ydENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudFN1YnNjcmlwdGlvbkNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VtdWxhdGVkU3Vic2NyaXB0aW9uQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoaW5nSW50ZXJ2YWxDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5UmVqZWN0ZWRSZXF1ZXN0c0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVqZWN0ZWRSZXF1ZXN0c0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNlcnZlckRpYWdub3N0aWNzU3VtbWFyeURhdGFUeXBlIiB0eXBlPSJ0bnM6U2VydmVyRGlhZ25vc3RpY3NTdW1tYXJ5RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlcnZlclN0YXR1c0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGFydFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJyZW50VGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXRlIiB0eXBlPSJ0bnM6U2VydmVyU3RhdGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJ1aWxkSW5mbyIgdHlwZT0idG5zOkJ1aWxkSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY29uZHNUaWxsU2h1dGRvd24iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTaHV0ZG93blJlYXNvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJTdGF0dXNEYXRhVHlwZSIgdHlwZT0idG5zOlNlcnZlclN0YXR1c0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXNzaW9uRGlhZ25vc3RpY3NEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbklkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50RGVzY3JpcHRpb24iIHR5cGU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBY3R1YWxTZXNzaW9uVGltZW91dCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhSZXNwb25zZU1lc3NhZ2VTaXplIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50Q29ubmVjdGlvblRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRMYXN0Q29udGFjdFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJyZW50U3Vic2NyaXB0aW9uc0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudE1vbml0b3JlZEl0ZW1zQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJyZW50UHVibGlzaFJlcXVlc3RzSW5RdWV1ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRvdGFsUmVxdWVzdENvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVuYXV0aG9yaXplZFJlcXVlc3RDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlYWRDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5UmVhZENvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IldyaXRlQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVVwZGF0ZUNvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNhbGxDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVNb25pdG9yZWRJdGVtc0NvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmeU1vbml0b3JlZEl0ZW1zQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0TW9uaXRvcmluZ01vZGVDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXRUcmlnZ2VyaW5nQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlTW9uaXRvcmVkSXRlbXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVTdWJzY3JpcHRpb25Db3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZnlTdWJzY3JpcHRpb25Db3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXRQdWJsaXNoaW5nTW9kZUNvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXB1Ymxpc2hDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2ZlclN1YnNjcmlwdGlvbnNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVTdWJzY3JpcHRpb25zQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkTm9kZXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRSZWZlcmVuY2VzQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlTm9kZXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVSZWZlcmVuY2VzQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlTmV4dENvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlGaXJzdENvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5TmV4dENvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyTm9kZXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVbnJlZ2lzdGVyTm9kZXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpTZXNzaW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlc3Npb25EaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlNlc3Npb25EaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlc3Npb25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlc3Npb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50VXNlcklkT2ZTZXNzaW9uIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRVc2VySWRIaXN0b3J5IiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdXRoZW50aWNhdGlvbk1lY2hhbmlzbSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5jb2RpbmciIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zcG9ydFByb3RvY29sIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVBvbGljeVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50Q2VydGlmaWNhdGUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uU2VjdXJpdHlEaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U2Vzc2lvblNlY3VyaXR5RGlhZ25vc3RpY3NEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU2Vzc2lvblNlY3VyaXR5RGlhZ25vc3RpY3NEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvblNlY3VyaXR5RGlhZ25vc3RpY3NEYXRhVHlwZSIgdHlwZT0idG5zOlNlc3Npb25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlNlc3Npb25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZTZXNzaW9uU2VjdXJpdHlEaWFnbm9zdGljc0RhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXJ2aWNlQ291bnRlckRhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUb3RhbENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXJyb3JDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU3RhdHVzUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mbyIgdHlwZT0idWE6RGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzUmVzdWx0IiB0eXBlPSJ0bnM6U3RhdHVzUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTdGF0dXNSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c1Jlc3VsdCIgdHlwZT0idG5zOlN0YXR1c1Jlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU3RhdHVzUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mU3RhdHVzUmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTdWJzY3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJpb3JpdHkiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGluZ0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heEtlZXBBbGl2ZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4TGlmZXRpbWVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGluZ0VuYWJsZWQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmeUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5hYmxlQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNhYmxlQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXB1Ymxpc2hSZXF1ZXN0Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXB1Ymxpc2hNZXNzYWdlUmVxdWVzdENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVwdWJsaXNoTWVzc2FnZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNmZXJSZXF1ZXN0Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2ZlcnJlZFRvQWx0Q2xpZW50Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2ZlcnJlZFRvU2FtZUNsaWVudENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaFJlcXVlc3RDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFDaGFuZ2VOb3RpZmljYXRpb25zQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudE5vdGlmaWNhdGlvbnNDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vdGlmaWNhdGlvbnNDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkxhdGVQdWJsaXNoUmVxdWVzdENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudEtlZXBBbGl2ZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudExpZmV0aW1lQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVbmFja25vd2xlZGdlZE1lc3NhZ2VDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2NhcmRlZE1lc3NhZ2VDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1Db3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2FibGVkTW9uaXRvcmVkSXRlbUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ1F1ZXVlT3ZlcmZsb3dDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5leHRTZXF1ZW5jZU51bWJlciIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50UXVldWVPdmVyRmxvd0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbkRpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpTdWJzY3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTdWJzY3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U3Vic2NyaXB0aW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU3Vic2NyaXB0aW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlN1YnNjcmlwdGlvbkRpYWdub3N0aWNzRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9Ik1vZGVsQ2hhbmdlU3RydWN0dXJlVmVyYk1hc2siPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb2RlQWRkZWRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9kZURlbGV0ZWRfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVmZXJlbmNlQWRkZWRfNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVmZXJlbmNlRGVsZXRlZF84IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEYXRhVHlwZUNoYW5nZWRfMTYiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RlbENoYW5nZVN0cnVjdHVyZVZlcmJNYXNrIiB0eXBlPSJ0bnM6TW9kZWxDaGFuZ2VTdHJ1Y3R1cmVWZXJiTWFzayIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWZmZWN0ZWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFmZmVjdGVkVHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmVyYiIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgdHlwZT0idG5zOk1vZGVsQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk1vZGVsQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vZGVsQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIHR5cGU9InRuczpNb2RlbENoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZNb2RlbENoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2VtYW50aWNDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWZmZWN0ZWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFmZmVjdGVkVHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNlbWFudGljQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIHR5cGU9InRuczpTZW1hbnRpY0NoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTZW1hbnRpY0NoYW5nZVN0cnVjdHVyZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZW1hbnRpY0NoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiB0eXBlPSJ0bnM6U2VtYW50aWNDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU2VtYW50aWNDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlNlbWFudGljQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJhbmdlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMb3ciIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlnaCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmFuZ2UiIHR5cGU9InRuczpSYW5nZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRVVJbmZvcm1hdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFtZXNwYWNlVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVbml0SWQiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzcGxheU5hbWUiIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFVUluZm9ybWF0aW9uIiB0eXBlPSJ0bnM6RVVJbmZvcm1hdGlvbiIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iQXhpc1NjYWxlRW51bWVyYXRpb24iPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJMaW5lYXJfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTG9nXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkxuXzIiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBeGlzU2NhbGVFbnVtZXJhdGlvbiIgdHlwZT0idG5zOkF4aXNTY2FsZUVudW1lcmF0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDb21wbGV4TnVtYmVyVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhbCIgdHlwZT0ieHM6ZmxvYXQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkltYWdpbmFyeSIgdHlwZT0ieHM6ZmxvYXQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb21wbGV4TnVtYmVyVHlwZSIgdHlwZT0idG5zOkNvbXBsZXhOdW1iZXJUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEb3VibGVDb21wbGV4TnVtYmVyVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbWFnaW5hcnkiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRvdWJsZUNvbXBsZXhOdW1iZXJUeXBlIiB0eXBlPSJ0bnM6RG91YmxlQ29tcGxleE51bWJlclR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkF4aXNJbmZvcm1hdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5naW5lZXJpbmdVbml0cyIgdHlwZT0idG5zOkVVSW5mb3JtYXRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFVVJhbmdlIiB0eXBlPSJ0bnM6UmFuZ2UiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaXRsZSIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkF4aXNTY2FsZVR5cGUiIHR5cGU9InRuczpBeGlzU2NhbGVFbnVtZXJhdGlvbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXhpc1N0ZXBzIiB0eXBlPSJ1YTpMaXN0T2ZEb3VibGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXhpc0luZm9ybWF0aW9uIiB0eXBlPSJ0bnM6QXhpc0luZm9ybWF0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJYVlR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlgiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUiIHR5cGU9InhzOmZsb2F0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iWFZUeXBlIiB0eXBlPSJ0bnM6WFZUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJQcm9ncmFtRGlhZ25vc3RpY0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVTZXNzaW9uSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZUNsaWVudE5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikludm9jYXRpb25DcmVhdGlvblRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0VHJhbnNpdGlvblRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kQ2FsbCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdE1ldGhvZFNlc3Npb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdE1ldGhvZElucHV0QXJndW1lbnRzIiB0eXBlPSJ0bnM6TGlzdE9mQXJndW1lbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kT3V0cHV0QXJndW1lbnRzIiB0eXBlPSJ0bnM6TGlzdE9mQXJndW1lbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kQ2FsbFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kUmV0dXJuU3RhdHVzIiB0eXBlPSJ0bnM6U3RhdHVzUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlByb2dyYW1EaWFnbm9zdGljRGF0YVR5cGUiIHR5cGU9InRuczpQcm9ncmFtRGlhZ25vc3RpY0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBbm5vdGF0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXNzYWdlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQW5ub3RhdGlvblRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQW5ub3RhdGlvbiIgdHlwZT0idG5zOkFubm90YXRpb24iIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkV4Y2VwdGlvbkRldmlhdGlvbkZvcm1hdCI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFic29sdXRlVmFsdWVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudE9mVmFsdWVfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudE9mUmFuZ2VfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudE9mRVVSYW5nZV8zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVbmtub3duXzQiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFeGNlcHRpb25EZXZpYXRpb25Gb3JtYXQiIHR5cGU9InRuczpFeGNlcHRpb25EZXZpYXRpb25Gb3JtYXQiIC8+DQoNCjwveHM6c2NoZW1hPg==", ua.VariantType.ByteString) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8254") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12677") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8285") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8291") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12759") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12762") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8918") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8300") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12201") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8297") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8303") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8417") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12894") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12897") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8333") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8306") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8309") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8312") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8315") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12506") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8318") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8363") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8366") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8369") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8372") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12712") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12715") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8321") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8324") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8330") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8564") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8567") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8570") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8573") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8576") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8579") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8582") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8639") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8702") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8708") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8711") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8807") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8327") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8843") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11951") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11954") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8846") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8849") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8852") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8855") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8858") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8861") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8294") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8864") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8867") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8870") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8873") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8876") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12175") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12178") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12083") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12086") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8882") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8879") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8254") node.BrowseName = ua.QualifiedName.from_string("NamespaceUri") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("A URI that uniquely identifies the dictionary.") attrs.DisplayName = ua.LocalizedText("NamespaceUri") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("http://opcfoundation.org/UA/2008/02/Types.xsd", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12677") node.BrowseName = ua.QualifiedName.from_string("TrustListDataType") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TrustListDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='TrustListDataType']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8285") node.BrowseName = ua.QualifiedName.from_string("Argument") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Argument") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='Argument']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8291") node.BrowseName = ua.QualifiedName.from_string("EnumValueType") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EnumValueType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='EnumValueType']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12759") node.BrowseName = ua.QualifiedName.from_string("OptionSet") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("OptionSet") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='OptionSet']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12762") node.BrowseName = ua.QualifiedName.from_string("Union") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Union") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='Union']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8918") node.BrowseName = ua.QualifiedName.from_string("TimeZoneDataType") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TimeZoneDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='TimeZoneDataType']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8300") node.BrowseName = ua.QualifiedName.from_string("ApplicationDescription") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ApplicationDescription") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='ApplicationDescription']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12201") node.BrowseName = ua.QualifiedName.from_string("ServerOnNetwork") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ServerOnNetwork") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='ServerOnNetwork']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8297") node.BrowseName = ua.QualifiedName.from_string("UserTokenPolicy") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("UserTokenPolicy") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='UserTokenPolicy']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8303") node.BrowseName = ua.QualifiedName.from_string("EndpointDescription") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EndpointDescription") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='EndpointDescription']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8417") node.BrowseName = ua.QualifiedName.from_string("RegisteredServer") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("RegisteredServer") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='RegisteredServer']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12894") node.BrowseName = ua.QualifiedName.from_string("DiscoveryConfiguration") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("DiscoveryConfiguration") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='DiscoveryConfiguration']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12897") node.BrowseName = ua.QualifiedName.from_string("MdnsDiscoveryConfiguration") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("MdnsDiscoveryConfiguration") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='MdnsDiscoveryConfiguration']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8333") node.BrowseName = ua.QualifiedName.from_string("SignedSoftwareCertificate") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SignedSoftwareCertificate") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='SignedSoftwareCertificate']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8306") node.BrowseName = ua.QualifiedName.from_string("UserIdentityToken") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("UserIdentityToken") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='UserIdentityToken']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8309") node.BrowseName = ua.QualifiedName.from_string("AnonymousIdentityToken") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("AnonymousIdentityToken") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='AnonymousIdentityToken']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8312") node.BrowseName = ua.QualifiedName.from_string("UserNameIdentityToken") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("UserNameIdentityToken") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='UserNameIdentityToken']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8315") node.BrowseName = ua.QualifiedName.from_string("X509IdentityToken") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("X509IdentityToken") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='X509IdentityToken']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12506") node.BrowseName = ua.QualifiedName.from_string("KerberosIdentityToken") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("KerberosIdentityToken") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='KerberosIdentityToken']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8318") node.BrowseName = ua.QualifiedName.from_string("IssuedIdentityToken") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("IssuedIdentityToken") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='IssuedIdentityToken']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8363") node.BrowseName = ua.QualifiedName.from_string("AddNodesItem") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("AddNodesItem") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='AddNodesItem']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8366") node.BrowseName = ua.QualifiedName.from_string("AddReferencesItem") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("AddReferencesItem") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='AddReferencesItem']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8369") node.BrowseName = ua.QualifiedName.from_string("DeleteNodesItem") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("DeleteNodesItem") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='DeleteNodesItem']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8372") node.BrowseName = ua.QualifiedName.from_string("DeleteReferencesItem") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("DeleteReferencesItem") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='DeleteReferencesItem']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12712") node.BrowseName = ua.QualifiedName.from_string("RelativePathElement") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("RelativePathElement") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='RelativePathElement']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12715") node.BrowseName = ua.QualifiedName.from_string("RelativePath") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("RelativePath") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='RelativePath']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8321") node.BrowseName = ua.QualifiedName.from_string("EndpointConfiguration") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EndpointConfiguration") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='EndpointConfiguration']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8324") node.BrowseName = ua.QualifiedName.from_string("SupportedProfile") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SupportedProfile") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='SupportedProfile']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8330") node.BrowseName = ua.QualifiedName.from_string("SoftwareCertificate") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SoftwareCertificate") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='SoftwareCertificate']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8564") node.BrowseName = ua.QualifiedName.from_string("ContentFilterElement") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ContentFilterElement") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='ContentFilterElement']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8567") node.BrowseName = ua.QualifiedName.from_string("ContentFilter") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ContentFilter") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='ContentFilter']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8570") node.BrowseName = ua.QualifiedName.from_string("FilterOperand") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("FilterOperand") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='FilterOperand']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8573") node.BrowseName = ua.QualifiedName.from_string("ElementOperand") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ElementOperand") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='ElementOperand']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8576") node.BrowseName = ua.QualifiedName.from_string("LiteralOperand") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("LiteralOperand") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='LiteralOperand']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8579") node.BrowseName = ua.QualifiedName.from_string("AttributeOperand") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("AttributeOperand") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='AttributeOperand']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8582") node.BrowseName = ua.QualifiedName.from_string("SimpleAttributeOperand") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SimpleAttributeOperand") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='SimpleAttributeOperand']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8639") node.BrowseName = ua.QualifiedName.from_string("HistoryEvent") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("HistoryEvent") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='HistoryEvent']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8702") node.BrowseName = ua.QualifiedName.from_string("MonitoringFilter") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("MonitoringFilter") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='MonitoringFilter']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8708") node.BrowseName = ua.QualifiedName.from_string("EventFilter") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EventFilter") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='EventFilter']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8711") node.BrowseName = ua.QualifiedName.from_string("AggregateConfiguration") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("AggregateConfiguration") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='AggregateConfiguration']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8807") node.BrowseName = ua.QualifiedName.from_string("HistoryEventFieldList") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("HistoryEventFieldList") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='HistoryEventFieldList']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8327") node.BrowseName = ua.QualifiedName.from_string("BuildInfo") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("BuildInfo") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='BuildInfo']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8843") node.BrowseName = ua.QualifiedName.from_string("RedundantServerDataType") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("RedundantServerDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='RedundantServerDataType']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11951") node.BrowseName = ua.QualifiedName.from_string("EndpointUrlListDataType") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EndpointUrlListDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='EndpointUrlListDataType']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11954") node.BrowseName = ua.QualifiedName.from_string("NetworkGroupDataType") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("NetworkGroupDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='NetworkGroupDataType']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8846") node.BrowseName = ua.QualifiedName.from_string("SamplingIntervalDiagnosticsDataType") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SamplingIntervalDiagnosticsDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='SamplingIntervalDiagnosticsDataType']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8849") node.BrowseName = ua.QualifiedName.from_string("ServerDiagnosticsSummaryDataType") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ServerDiagnosticsSummaryDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='ServerDiagnosticsSummaryDataType']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8852") node.BrowseName = ua.QualifiedName.from_string("ServerStatusDataType") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ServerStatusDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='ServerStatusDataType']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8855") node.BrowseName = ua.QualifiedName.from_string("SessionDiagnosticsDataType") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SessionDiagnosticsDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='SessionDiagnosticsDataType']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8858") node.BrowseName = ua.QualifiedName.from_string("SessionSecurityDiagnosticsDataType") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SessionSecurityDiagnosticsDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='SessionSecurityDiagnosticsDataType']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8861") node.BrowseName = ua.QualifiedName.from_string("ServiceCounterDataType") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ServiceCounterDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='ServiceCounterDataType']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8294") node.BrowseName = ua.QualifiedName.from_string("StatusResult") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("StatusResult") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='StatusResult']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8864") node.BrowseName = ua.QualifiedName.from_string("SubscriptionDiagnosticsDataType") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SubscriptionDiagnosticsDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='SubscriptionDiagnosticsDataType']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8867") node.BrowseName = ua.QualifiedName.from_string("ModelChangeStructureDataType") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ModelChangeStructureDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='ModelChangeStructureDataType']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8870") node.BrowseName = ua.QualifiedName.from_string("SemanticChangeStructureDataType") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SemanticChangeStructureDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='SemanticChangeStructureDataType']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8873") node.BrowseName = ua.QualifiedName.from_string("Range") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Range") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='Range']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8876") node.BrowseName = ua.QualifiedName.from_string("EUInformation") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EUInformation") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='EUInformation']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12175") node.BrowseName = ua.QualifiedName.from_string("ComplexNumberType") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ComplexNumberType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='ComplexNumberType']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12178") node.BrowseName = ua.QualifiedName.from_string("DoubleComplexNumberType") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("DoubleComplexNumberType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='DoubleComplexNumberType']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12083") node.BrowseName = ua.QualifiedName.from_string("AxisInformation") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("AxisInformation") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='AxisInformation']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12086") node.BrowseName = ua.QualifiedName.from_string("XVType") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("XVType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='XVType']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8882") node.BrowseName = ua.QualifiedName.from_string("ProgramDiagnosticDataType") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ProgramDiagnosticDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='ProgramDiagnosticDataType']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8879") node.BrowseName = ua.QualifiedName.from_string("Annotation") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Annotation") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='Annotation']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=340") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=338") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=340") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7692") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=855") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=853") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=855") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8208") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11957") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=11943") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=11957") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11959") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11958") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=11944") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=11958") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11962") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=858") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=856") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=858") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8211") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=861") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=859") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=861") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8214") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=864") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=862") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=864") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8217") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=867") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=865") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=867") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8220") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=870") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=868") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=870") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8223") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=873") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=871") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=873") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8226") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=301") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=299") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=301") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7659") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=876") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=874") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=876") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8229") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=879") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=877") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=879") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8232") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=899") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=897") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=899") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8235") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=7617") node.BrowseName = ua.QualifiedName.from_string("Opc.Ua") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=93") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=72") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Opc.Ua") attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) attrs.Value = ua.Variant("PG9wYzpUeXBlRGljdGlvbmFyeQ0KICB4bWxuczpvcGM9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9CaW5hcnlTY2hlbWEvIg0KICB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIg0KICB4bWxuczp1YT0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VBLyINCiAgeG1sbnM6dG5zPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvIg0KICBEZWZhdWx0Qnl0ZU9yZGVyPSJMaXR0bGVFbmRpYW4iDQogIFRhcmdldE5hbWVzcGFjZT0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VBLyINCj4NCiAgPCEtLSBUaGlzIEZpbGUgd2FzIGdlbmVyYXRlZCBvbiAyMDE1LTA4LTE4IGFuZCBzdXBwb3J0cyB0aGUgc3BlY2lmaWNhdGlvbnMgc3VwcG9ydGVkIGJ5IHZlcnNpb24gMS4xLjMzNS4xIG9mIHRoZSBPUEMgVUEgZGVsaXZlcmFibGVzLiAtLT4NCg0KICA8b3BjOkltcG9ydCBOYW1lc3BhY2U9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9CaW5hcnlTY2hlbWEvIiAvPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iWG1sRWxlbWVudCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkFuIFhNTCBlbGVtZW50IGVuY29kZWQgYXMgYSBVVEYtOCBzdHJpbmcuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxlbmd0aCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0ib3BjOkNoYXIiIExlbmd0aEZpZWxkPSJMZW5ndGgiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iTm9kZUlkVHlwZSIgTGVuZ3RoSW5CaXRzPSI2Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHBvc3NpYmxlIGVuY29kaW5ncyBmb3IgYSBOb2RlSWQgdmFsdWUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJUd29CeXRlIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJGb3VyQnl0ZSIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTnVtZXJpYyIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3RyaW5nIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJHdWlkIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCeXRlU3RyaW5nIiBWYWx1ZT0iNSIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJUd29CeXRlTm9kZUlkIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklkZW50aWZpZXIiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJGb3VyQnl0ZU5vZGVJZCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lc3BhY2VJbmRleCIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSWRlbnRpZmllciIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTnVtZXJpY05vZGVJZCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lc3BhY2VJbmRleCIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJZGVudGlmaWVyIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTdHJpbmdOb2RlSWQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmFtZXNwYWNlSW5kZXgiIFR5cGVOYW1lPSJvcGM6VUludDE2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSWRlbnRpZmllciIgVHlwZU5hbWU9Im9wYzpDaGFyQXJyYXkiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iR3VpZE5vZGVJZCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lc3BhY2VJbmRleCIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJZGVudGlmaWVyIiBUeXBlTmFtZT0ib3BjOkd1aWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQnl0ZVN0cmluZ05vZGVJZCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lc3BhY2VJbmRleCIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJZGVudGlmaWVyIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTm9kZUlkIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QW4gaWRlbnRpZmllciBmb3IgYSBub2RlIGluIGEgVUEgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZFR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWRUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzZXJ2ZWQxIiBUeXBlTmFtZT0ib3BjOkJpdCIgTGVuZ3RoPSIyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHdvQnl0ZSIgVHlwZU5hbWU9InVhOlR3b0J5dGVOb2RlSWQiIFN3aXRjaEZpZWxkPSJOb2RlSWRUeXBlIiBTd2l0Y2hWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZvdXJCeXRlIiBUeXBlTmFtZT0idWE6Rm91ckJ5dGVOb2RlSWQiIFN3aXRjaEZpZWxkPSJOb2RlSWRUeXBlIiBTd2l0Y2hWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik51bWVyaWMiIFR5cGVOYW1lPSJ1YTpOdW1lcmljTm9kZUlkIiBTd2l0Y2hGaWVsZD0iTm9kZUlkVHlwZSIgU3dpdGNoVmFsdWU9IjIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdHJpbmciIFR5cGVOYW1lPSJ1YTpTdHJpbmdOb2RlSWQiIFN3aXRjaEZpZWxkPSJOb2RlSWRUeXBlIiBTd2l0Y2hWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikd1aWQiIFR5cGVOYW1lPSJ1YTpHdWlkTm9kZUlkIiBTd2l0Y2hGaWVsZD0iTm9kZUlkVHlwZSIgU3dpdGNoVmFsdWU9IjQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCeXRlU3RyaW5nIiBUeXBlTmFtZT0idWE6Qnl0ZVN0cmluZ05vZGVJZCIgU3dpdGNoRmllbGQ9Ik5vZGVJZFR5cGUiIFN3aXRjaFZhbHVlPSI1IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkV4cGFuZGVkTm9kZUlkIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QW4gaWRlbnRpZmllciBmb3IgYSBub2RlIGluIGEgVUEgc2VydmVyIGFkZHJlc3Mgc3BhY2UgcXVhbGlmaWVkIHdpdGggYSBjb21wbGV0ZSBuYW1lc3BhY2Ugc3RyaW5nLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWRUeXBlIiBUeXBlTmFtZT0idWE6Tm9kZUlkVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlckluZGV4U3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWVzcGFjZVVSSVNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUd29CeXRlIiBUeXBlTmFtZT0idWE6VHdvQnl0ZU5vZGVJZCIgU3dpdGNoRmllbGQ9Ik5vZGVJZFR5cGUiIFN3aXRjaFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRm91ckJ5dGUiIFR5cGVOYW1lPSJ1YTpGb3VyQnl0ZU5vZGVJZCIgU3dpdGNoRmllbGQ9Ik5vZGVJZFR5cGUiIFN3aXRjaFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTnVtZXJpYyIgVHlwZU5hbWU9InVhOk51bWVyaWNOb2RlSWQiIFN3aXRjaEZpZWxkPSJOb2RlSWRUeXBlIiBTd2l0Y2hWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0cmluZyIgVHlwZU5hbWU9InVhOlN0cmluZ05vZGVJZCIgU3dpdGNoRmllbGQ9Ik5vZGVJZFR5cGUiIFN3aXRjaFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iR3VpZCIgVHlwZU5hbWU9InVhOkd1aWROb2RlSWQiIFN3aXRjaEZpZWxkPSJOb2RlSWRUeXBlIiBTd2l0Y2hWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJ5dGVTdHJpbmciIFR5cGVOYW1lPSJ1YTpCeXRlU3RyaW5nTm9kZUlkIiBTd2l0Y2hGaWVsZD0iTm9kZUlkVHlwZSIgU3dpdGNoVmFsdWU9IjUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lc3BhY2VVUkkiIFR5cGVOYW1lPSJvcGM6Q2hhckFycmF5IiBTd2l0Y2hGaWVsZD0iTmFtZXNwYWNlVVJJU3BlY2lmaWVkIi8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJJbmRleCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFN3aXRjaEZpZWxkPSJTZXJ2ZXJJbmRleFNwZWNpZmllZCIvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iU3RhdHVzQ29kZSIgTGVuZ3RoSW5CaXRzPSIzMiIgQnl0ZU9yZGVyU2lnbmlmaWNhbnQ9InRydWUiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIDMyLWJpdCBzdGF0dXMgY29kZSB2YWx1ZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGlhZ25vc3RpY0luZm8iPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHJlY3Vyc2l2ZSBzdHJ1Y3R1cmUgY29udGFpbmluZyBkaWFnbm9zdGljIGluZm9ybWF0aW9uIGFzc29jaWF0ZWQgd2l0aCBhIHN0YXR1cyBjb2RlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTeW1ib2xpY0lkU3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWVzcGFjZVVSSVNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMb2NhbGVTcGVjaWZpZWQiIFR5cGVOYW1lPSJvcGM6Qml0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTG9jYWxpemVkVGV4dFNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGRpdGlvbmFsSW5mb1NwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbm5lclN0YXR1c0NvZGVTcGVjaWZpZWQiIFR5cGVOYW1lPSJvcGM6Qml0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5uZXJEaWFnbm9zdGljSW5mb1NwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNlcnZlZDEiIFR5cGVOYW1lPSJvcGM6Qml0IiBMZW5ndGg9IjIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTeW1ib2xpY0lkIiBUeXBlTmFtZT0ib3BjOkludDMyIiBTd2l0Y2hGaWVsZD0iU3ltYm9saWNJZFNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWVzcGFjZVVSSSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgU3dpdGNoRmllbGQ9Ik5hbWVzcGFjZVVSSVNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgU3dpdGNoRmllbGQ9IkxvY2FsZVNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsaXplZFRleHQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIFN3aXRjaEZpZWxkPSJMb2NhbGl6ZWRUZXh0U3BlY2lmaWVkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWRkaXRpb25hbEluZm8iIFR5cGVOYW1lPSJvcGM6Q2hhckFycmF5IiBTd2l0Y2hGaWVsZD0iQWRkaXRpb25hbEluZm9TcGVjaWZpZWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbm5lclN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBTd2l0Y2hGaWVsZD0iSW5uZXJTdGF0dXNDb2RlU3BlY2lmaWVkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5uZXJEaWFnbm9zdGljSW5mbyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBTd2l0Y2hGaWVsZD0iSW5uZXJEaWFnbm9zdGljSW5mb1NwZWNpZmllZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJRdWFsaWZpZWROYW1lIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBzdHJpbmcgcXVhbGlmaWVkIHdpdGggYSBuYW1lc3BhY2UgaW5kZXguPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWVzcGFjZUluZGV4IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmFtZSIgVHlwZU5hbWU9Im9wYzpDaGFyQXJyYXkiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTG9jYWxpemVkVGV4dCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgc3RyaW5nIHF1YWxpZmllZCB3aXRoIGEgbmFtZXNwYWNlIGluZGV4Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMb2NhbGVTcGVjaWZpZWQiIFR5cGVOYW1lPSJvcGM6Qml0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGV4dFNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNlcnZlZDEiIFR5cGVOYW1lPSJvcGM6Qml0IiBMZW5ndGg9IjYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMb2NhbGUiIFR5cGVOYW1lPSJvcGM6Q2hhckFycmF5IiBTd2l0Y2hGaWVsZD0iTG9jYWxlU3BlY2lmaWVkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGV4dCIgVHlwZU5hbWU9Im9wYzpDaGFyQXJyYXkiIFN3aXRjaEZpZWxkPSJUZXh0U3BlY2lmaWVkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFWYWx1ZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgdmFsdWUgd2l0aCBhbiBhc3NvY2lhdGVkIHRpbWVzdGFtcCwgYW5kIHF1YWxpdHkuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlU3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGVTcGVjaWZpZWQiIFR5cGVOYW1lPSJvcGM6Qml0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU291cmNlVGltZXN0YW1wU3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvdXJjZVBpY29zZWNvbmRzU3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclRpbWVzdGFtcFNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJQaWNvc2Vjb25kc1NwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNlcnZlZDEiIFR5cGVOYW1lPSJvcGM6Qml0IiBMZW5ndGg9IjIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIFN3aXRjaEZpZWxkPSJWYWx1ZVNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBTd2l0Y2hGaWVsZD0iU3RhdHVzQ29kZVNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvdXJjZVRpbWVzdGFtcCIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgU3dpdGNoRmllbGQ9IlNvdXJjZVRpbWVzdGFtcFNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvdXJjZVBpY29zZWNvbmRzIiBUeXBlTmFtZT0ib3BjOlVJbnQxNiIgU3dpdGNoRmllbGQ9IlNvdXJjZVBpY29zZWNvbmRzU3BlY2lmaWVkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyVGltZXN0YW1wIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiBTd2l0Y2hGaWVsZD0iU2VydmVyVGltZXN0YW1wU3BlY2lmaWVkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyUGljb3NlY29uZHMiIFR5cGVOYW1lPSJvcGM6VUludDE2IiBTd2l0Y2hGaWVsZD0iU2VydmVyUGljb3NlY29uZHNTcGVjaWZpZWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBzZXJpYWxpemVkIG9iamVjdCBwcmVmaXhlZCB3aXRoIGl0cyBkYXRhIHR5cGUgaWRlbnRpZmllci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHlwZUlkU3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJpbmFyeUJvZHkiIFR5cGVOYW1lPSJvcGM6Qml0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iWG1sQm9keSIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNlcnZlZDEiIFR5cGVOYW1lPSJvcGM6Qml0IiBMZW5ndGg9IjUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUeXBlSWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgU3dpdGNoRmllbGQ9IlR5cGVJZFNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJvZHlMZW5ndGgiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCb2R5IiBUeXBlTmFtZT0ib3BjOkJ5dGUiIExlbmd0aEZpZWxkPSJCb2R5TGVuZ3RoIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlZhcmlhbnQiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHVuaW9uIG9mIHNldmVyYWwgdHlwZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhcmlhbnRUeXBlIiBUeXBlTmFtZT0ib3BjOkJpdCIgTGVuZ3RoPSI2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXJyYXlEaW1lbnNpb25zU3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgTGVuZ3RoPSIxIi8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBcnJheUxlbmd0aFNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIExlbmd0aD0iMSIvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXJyYXlMZW5ndGgiIFR5cGVOYW1lPSJvcGM6SW50MzIiIFN3aXRjaEZpZWxkPSJBcnJheUxlbmd0aFNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJvb2xlYW4iIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU0J5dGUiIFR5cGVOYW1lPSJvcGM6U0J5dGUiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJ5dGUiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW50MTYiIFR5cGVOYW1lPSJvcGM6SW50MTYiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVJbnQxNiIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iNSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkludDMyIiBUeXBlTmFtZT0ib3BjOkludDMyIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVSW50MzIiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbnQ2NCIgVHlwZU5hbWU9Im9wYzpJbnQ2NCIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSI4IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVUludDY0IiBUeXBlTmFtZT0ib3BjOlVJbnQ2NCIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSI5IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmxvYXQiIFR5cGVOYW1lPSJvcGM6RmxvYXQiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iMTAiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEb3VibGUiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjExIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RyaW5nIiBUeXBlTmFtZT0ib3BjOkNoYXJBcnJheSIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSIxMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGVUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjEzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iR3VpZCIgVHlwZU5hbWU9Im9wYzpHdWlkIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjE0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnl0ZVN0cmluZyIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjE1IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iWG1sRWxlbWVudCIgVHlwZU5hbWU9InVhOlhtbEVsZW1lbnQiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iMTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iMTciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFeHBhbmRlZE5vZGVJZCIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjE4IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iMTkiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJRdWFsaWZpZWROYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSIyMCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsaXplZFRleHQiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjIxIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXh0ZW5zaW9uT2JqZWN0IiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjIyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVZhbHVlIiBUeXBlTmFtZT0idWE6RGF0YVZhbHVlIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjIzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFyaWFudCIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iMjQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mbyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjI1IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgU3dpdGNoRmllbGQ9IkFycmF5RGltZW5zaW9uc1NwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIFN3aXRjaEZpZWxkPSJBcnJheURpbWVuc2lvbnNTcGVjaWZpZWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iTmFtaW5nUnVsZVR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik1hbmRhdG9yeSIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iT3B0aW9uYWwiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkNvbnN0cmFpbnQiIFZhbHVlPSIzIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCiAgICANCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iSW1hZ2VCTVAiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BbiBpbWFnZSBlbmNvZGVkIGluIEJNUCBmb3JtYXQuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iSW1hZ2VHSUYiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BbiBpbWFnZSBlbmNvZGVkIGluIEdJRiBmb3JtYXQuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iSW1hZ2VKUEciPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BbiBpbWFnZSBlbmNvZGVkIGluIEpQRUcgZm9ybWF0Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkltYWdlUE5HIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QW4gaW1hZ2UgZW5jb2RlZCBpbiBQTkcgZm9ybWF0Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkJpdEZpZWxkTWFza0RhdGFUeXBlIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBtYXNrIG9mIDMyIGJpdHMgdGhhdCBjYW4gYmUgdXBkYXRlZCBpbmRpdmlkdWFsbHkgYnkgdXNpbmcgdGhlIHRvcCAzMiBiaXRzIGFzIGEgbWFzay48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iT3BlbkZpbGVNb2RlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWFkIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJXcml0ZSIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRXJhc2VFeGlzdGluZyIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQXBwZW5kIiBWYWx1ZT0iOCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJUcnVzdExpc3RNYXNrcyIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVHJ1c3RlZENlcnRpZmljYXRlcyIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVHJ1c3RlZENybHMiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Iklzc3VlckNlcnRpZmljYXRlcyIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSXNzdWVyQ3JscyIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQWxsIiBWYWx1ZT0iMTUiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVHJ1c3RMaXN0RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3BlY2lmaWVkTGlzdHMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlRydXN0ZWRDZXJ0aWZpY2F0ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcnVzdGVkQ2VydGlmaWNhdGVzIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mVHJ1c3RlZENlcnRpZmljYXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZUcnVzdGVkQ3JscyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRydXN0ZWRDcmxzIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mVHJ1c3RlZENybHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mSXNzdWVyQ2VydGlmaWNhdGVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNzdWVyQ2VydGlmaWNhdGVzIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mSXNzdWVyQ2VydGlmaWNhdGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZklzc3VlckNybHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc3N1ZXJDcmxzIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mSXNzdWVyQ3JscyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJJZFR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgdHlwZSBvZiBpZGVudGlmaWVyIHVzZWQgaW4gYSBub2RlIGlkLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTnVtZXJpYyIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3RyaW5nIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJHdWlkIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJPcGFxdWUiIFZhbHVlPSIzIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9Ik5vZGVDbGFzcyIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgbWFzayBzcGVjaWZ5aW5nIHRoZSBjbGFzcyBvZiB0aGUgbm9kZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVuc3BlY2lmaWVkIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJPYmplY3QiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZhcmlhYmxlIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJNZXRob2QiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik9iamVjdFR5cGUiIFZhbHVlPSI4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZhcmlhYmxlVHlwZSIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlZmVyZW5jZVR5cGUiIFZhbHVlPSIzMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEYXRhVHlwZSIgVmFsdWU9IjY0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZpZXciIFZhbHVlPSIxMjgiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTm9kZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gYWxsIG5vZGVzLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlTm9kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2VzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikluc3RhbmNlTm9kZSIgQmFzZVR5cGU9InRuczpOb2RlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNzIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlTm9kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2VzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlR5cGVOb2RlIiBCYXNlVHlwZT0idG5zOk5vZGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iT2JqZWN0Tm9kZSIgQmFzZVR5cGU9InRuczpJbnN0YW5jZU5vZGUiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRvIG9iamVjdCBub2Rlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVudE5vdGlmaWVyIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iT2JqZWN0VHlwZU5vZGUiIEJhc2VUeXBlPSJ0bnM6VHlwZU5vZGUiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRvIG9iamVjdCB0eXBlIG5vZGVzLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBlTmFtZT0idG5zOlJlZmVyZW5jZU5vZGUiIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJWYXJpYWJsZU5vZGUiIEJhc2VUeXBlPSJ0bnM6SW5zdGFuY2VOb2RlIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+U3BlY2lmaWVzIHRoZSBhdHRyaWJ1dGVzIHdoaWNoIGJlbG9uZyB0byB2YXJpYWJsZSBub2Rlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlUmFuayIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkFycmF5RGltZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFjY2Vzc0xldmVsIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyQWNjZXNzTGV2ZWwiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1pbmltdW1TYW1wbGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikhpc3Rvcml6aW5nIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVmFyaWFibGVUeXBlTm9kZSIgQmFzZVR5cGU9InRuczpUeXBlTm9kZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gdmFyaWFibGUgdHlwZSBub2Rlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlUmFuayIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkFycmF5RGltZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWZlcmVuY2VUeXBlTm9kZSIgQmFzZVR5cGU9InRuczpUeXBlTm9kZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gcmVmZXJlbmNlIHR5cGUgbm9kZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNzIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlTm9kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2VzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNBYnN0cmFjdCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3ltbWV0cmljIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbnZlcnNlTmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTWV0aG9kTm9kZSIgQmFzZVR5cGU9InRuczpJbnN0YW5jZU5vZGUiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRvIG1ldGhvZCBub2Rlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFeGVjdXRhYmxlIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyRXhlY3V0YWJsZSIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlZpZXdOb2RlIiBCYXNlVHlwZT0idG5zOkluc3RhbmNlTm9kZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBlTmFtZT0idG5zOlJlZmVyZW5jZU5vZGUiIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbnRhaW5zTm9Mb29wcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnROb3RpZmllciIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFUeXBlTm9kZSIgQmFzZVR5cGU9InRuczpUeXBlTm9kZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBlTmFtZT0idG5zOlJlZmVyZW5jZU5vZGUiIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWZlcmVuY2VOb2RlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+U3BlY2lmaWVzIGEgcmVmZXJlbmNlIHdoaWNoIGJlbG9uZ3MgdG8gYSBub2RlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0ludmVyc2UiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldElkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQXJndW1lbnQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BbiBhcmd1bWVudCBmb3IgYSBtZXRob2QuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZVJhbmsiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRW51bVZhbHVlVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgbWFwcGluZyBiZXR3ZWVuIGEgdmFsdWUgb2YgYW4gZW51bWVyYXRlZCB0eXBlIGFuZCBhIG5hbWUgYW5kIGRlc2NyaXB0aW9uLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9Im9wYzpJbnQ2NCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJPcHRpb25TZXQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGlzIGFic3RyYWN0IFN0cnVjdHVyZWQgRGF0YVR5cGUgaXMgdGhlIGJhc2UgRGF0YVR5cGUgZm9yIGFsbCBEYXRhVHlwZXMgcmVwcmVzZW50aW5nIGEgYml0IG1hc2suPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWxpZEJpdHMiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVbmlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoaXMgYWJzdHJhY3QgRGF0YVR5cGUgaXMgdGhlIGJhc2UgRGF0YVR5cGUgZm9yIGFsbCB1bmlvbiBEYXRhVHlwZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9Ik5vcm1hbGl6ZWRTdHJpbmciPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHN0cmluZyBub3JtYWxpemVkIGJhc2VkIG9uIHRoZSBydWxlcyBpbiB0aGUgdW5pY29kZSBzcGVjaWZpY2F0aW9uLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkRlY2ltYWxTdHJpbmciPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BbiBhcmJpdHJhdHkgbnVtZXJpYyB2YWx1ZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJEdXJhdGlvblN0cmluZyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgcGVyaW9kIG9mIHRpbWUgZm9ybWF0dGVkIGFzIGRlZmluZWQgaW4gSVNPIDg2MDEtMjAwMC48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJUaW1lU3RyaW5nIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSB0aW1lIGZvcm1hdHRlZCBhcyBkZWZpbmVkIGluIElTTyA4NjAxLTIwMDAuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iRGF0ZVN0cmluZyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgZGF0ZSBmb3JtYXR0ZWQgYXMgZGVmaW5lZCBpbiBJU08gODYwMS0yMDAwLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkR1cmF0aW9uIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBwZXJpb2Qgb2YgdGltZSBtZWFzdXJlZCBpbiBtaWxsaXNlY29uZHMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iVXRjVGltZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgZGF0ZS90aW1lIHZhbHVlIHNwZWNpZmllZCBpbiBVbml2ZXJzYWwgQ29vcmRpbmF0ZWQgVGltZSAoVVRDKS48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJMb2NhbGVJZCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkFuIGlkZW50aWZpZXIgZm9yIGEgdXNlciBsb2NhbGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRpbWVab25lRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iT2Zmc2V0IiBUeXBlTmFtZT0ib3BjOkludDE2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF5bGlnaHRTYXZpbmdJbk9mZnNldCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iSW50ZWdlcklkIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBudW1lcmljIGlkZW50aWZpZXIgZm9yIGFuIG9iamVjdC48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iQXBwbGljYXRpb25UeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHR5cGVzIG9mIGFwcGxpY2F0aW9ucy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNlcnZlciIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ2xpZW50IiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDbGllbnRBbmRTZXJ2ZXIiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRpc2NvdmVyeVNlcnZlciIgVmFsdWU9IjMiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQXBwbGljYXRpb25EZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkRlc2NyaWJlcyBhbiBhcHBsaWNhdGlvbiBhbmQgaG93IHRvIGZpbmQgaXQuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFwcGxpY2F0aW9uVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByb2R1Y3RVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXBwbGljYXRpb25OYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFwcGxpY2F0aW9uVHlwZSIgVHlwZU5hbWU9InRuczpBcHBsaWNhdGlvblR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJHYXRld2F5U2VydmVyVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2NvdmVyeVByb2ZpbGVVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpc2NvdmVyeVVybHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNjb3ZlcnlVcmxzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaXNjb3ZlcnlVcmxzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlcXVlc3RIZWFkZXIiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgaGVhZGVyIHBhc3NlZCB3aXRoIGV2ZXJ5IHNlcnZlciByZXF1ZXN0Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdXRoZW50aWNhdGlvblRva2VuIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGltZXN0YW1wIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhhbmRsZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXR1cm5EaWFnbm9zdGljcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdWRpdEVudHJ5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGltZW91dEhpbnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWRkaXRpb25hbEhlYWRlciIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZXNwb25zZUhlYWRlciIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSBoZWFkZXIgcGFzc2VkIHdpdGggZXZlcnkgc2VydmVyIHJlc3BvbnNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaW1lc3RhbXAiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGFuZGxlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZpY2VSZXN1bHQiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmljZURpYWdub3N0aWNzIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU3RyaW5nVGFibGUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdHJpbmdUYWJsZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mU3RyaW5nVGFibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGRpdGlvbmFsSGVhZGVyIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNlcnZpY2VGYXVsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSByZXNwb25zZSByZXR1cm5lZCBieSBhbGwgc2VydmljZXMgd2hlbiB0aGVyZSBpcyBhIHNlcnZpY2UgbGV2ZWwgZXJyb3IuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkZpbmRTZXJ2ZXJzUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkZpbmRzIHRoZSBzZXJ2ZXJzIGtub3duIHRvIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRwb2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZMb2NhbGVJZHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VydmVyVXJpcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclVyaXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlclVyaXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRmluZFNlcnZlcnNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkZpbmRzIHRoZSBzZXJ2ZXJzIGtub3duIHRvIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVycyIgVHlwZU5hbWU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlcnMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2VydmVyT25OZXR3b3JrIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlY29yZElkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzY292ZXJ5VXJsIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJDYXBhYmlsaXRpZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJDYXBhYmlsaXRpZXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlckNhcGFiaWxpdGllcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJGaW5kU2VydmVyc09uTmV0d29ya1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhcnRpbmdSZWNvcmRJZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhSZWNvcmRzVG9SZXR1cm4iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlcnZlckNhcGFiaWxpdHlGaWx0ZXIiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJDYXBhYmlsaXR5RmlsdGVyIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJDYXBhYmlsaXR5RmlsdGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0Q291bnRlclJlc2V0VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVycyIgVHlwZU5hbWU9InRuczpTZXJ2ZXJPbk5ldHdvcmsiIExlbmd0aEZpZWxkPSJOb09mU2VydmVycyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkFwcGxpY2F0aW9uSW5zdGFuY2VDZXJ0aWZpY2F0ZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgY2VydGlmaWNhdGUgZm9yIGFuIGluc3RhbmNlIG9mIGFuIGFwcGxpY2F0aW9uLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJNZXNzYWdlU2VjdXJpdHlNb2RlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHR5cGUgb2Ygc2VjdXJpdHkgdG8gdXNlIG9uIGEgbWVzc2FnZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkludmFsaWQiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNpZ24iIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNpZ25BbmRFbmNyeXB0IiBWYWx1ZT0iMyIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJVc2VyVG9rZW5UeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHBvc3NpYmxlIHVzZXIgdG9rZW4gdHlwZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBbm9ueW1vdXMiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVzZXJOYW1lIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDZXJ0aWZpY2F0ZSIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSXNzdWVkVG9rZW4iIFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IktlcmJlcm9zIiBWYWx1ZT0iNCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVc2VyVG9rZW5Qb2xpY3kiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5EZXNjcmliZXMgYSB1c2VyIHRva2VuIHRoYXQgY2FuIGJlIHVzZWQgd2l0aCBhIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUG9saWN5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVG9rZW5UeXBlIiBUeXBlTmFtZT0idG5zOlVzZXJUb2tlblR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc3N1ZWRUb2tlblR5cGUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNzdWVyRW5kcG9pbnRVcmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlQb2xpY3lVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkVuZHBvaW50RGVzY3JpcHRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgZGVzY3JpcHRpb24gb2YgYSBlbmRwb2ludCB0aGF0IGNhbiBiZSB1c2VkIHRvIGFjY2VzcyBhIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kcG9pbnRVcmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyIiBUeXBlTmFtZT0idG5zOkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJDZXJ0aWZpY2F0ZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlNb2RlIiBUeXBlTmFtZT0idG5zOk1lc3NhZ2VTZWN1cml0eU1vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eVBvbGljeVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVXNlcklkZW50aXR5VG9rZW5zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcklkZW50aXR5VG9rZW5zIiBUeXBlTmFtZT0idG5zOlVzZXJUb2tlblBvbGljeSIgTGVuZ3RoRmllbGQ9Ik5vT2ZVc2VySWRlbnRpdHlUb2tlbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFuc3BvcnRQcm9maWxlVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TGV2ZWwiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJHZXRFbmRwb2ludHNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+R2V0cyB0aGUgZW5kcG9pbnRzIHVzZWQgYnkgdGhlIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kcG9pbnRVcmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxvY2FsZUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsZUlkcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mTG9jYWxlSWRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlByb2ZpbGVVcmlzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJvZmlsZVVyaXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlByb2ZpbGVVcmlzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkdldEVuZHBvaW50c1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+R2V0cyB0aGUgZW5kcG9pbnRzIHVzZWQgYnkgdGhlIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRW5kcG9pbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kcG9pbnRzIiBUeXBlTmFtZT0idG5zOkVuZHBvaW50RGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09mRW5kcG9pbnRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlZ2lzdGVyZWRTZXJ2ZXIiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgaW5mb3JtYXRpb24gcmVxdWlyZWQgdG8gcmVnaXN0ZXIgYSBzZXJ2ZXIgd2l0aCBhIGRpc2NvdmVyeSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcm9kdWN0VXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJOYW1lcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlck5hbWVzIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJOYW1lcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclR5cGUiIFR5cGVOYW1lPSJ0bnM6QXBwbGljYXRpb25UeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iR2F0ZXdheVNlcnZlclVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlzY292ZXJ5VXJscyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2NvdmVyeVVybHMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZkRpc2NvdmVyeVVybHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZW1hcGhvcmVGaWxlUGF0aCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc09ubGluZSIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlZ2lzdGVyU2VydmVyUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlJlZ2lzdGVycyBhIHNlcnZlciB3aXRoIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXIiIFR5cGVOYW1lPSJ0bnM6UmVnaXN0ZXJlZFNlcnZlciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWdpc3RlclNlcnZlclJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+UmVnaXN0ZXJzIGEgc2VydmVyIHdpdGggdGhlIGRpc2NvdmVyeSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIGJhc2UgdHlwZSBmb3IgZGlzY292ZXJ5IGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24uPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNZG5zRGlzY292ZXJ5Q29uZmlndXJhdGlvbiIgQmFzZVR5cGU9InRuczpEaXNjb3ZlcnlDb25maWd1cmF0aW9uIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIGRpc2NvdmVyeSBpbmZvcm1hdGlvbiBuZWVkZWQgZm9yIG1ETlMgcmVnaXN0cmF0aW9uLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZG5zU2VydmVyTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VydmVyQ2FwYWJpbGl0aWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyQ2FwYWJpbGl0aWVzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJDYXBhYmlsaXRpZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVnaXN0ZXJTZXJ2ZXIyUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXIiIFR5cGVOYW1lPSJ0bnM6UmVnaXN0ZXJlZFNlcnZlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzY292ZXJ5Q29uZmlndXJhdGlvbiIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlZ2lzdGVyU2VydmVyMlJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkNvbmZpZ3VyYXRpb25SZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29uZmlndXJhdGlvblJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZkNvbmZpZ3VyYXRpb25SZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJTZWN1cml0eVRva2VuUmVxdWVzdFR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5JbmRpY2F0ZXMgd2hldGhlciBhIHRva2VuIGlmIGJlaW5nIGNyZWF0ZWQgb3IgcmVuZXdlZC48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Iklzc3VlIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZW5ldyIgVmFsdWU9IjEiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ2hhbm5lbFNlY3VyaXR5VG9rZW4iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgdG9rZW4gdGhhdCBpZGVudGlmaWVzIGEgc2V0IG9mIGtleXMgZm9yIGFuIGFjdGl2ZSBzZWN1cmUgY2hhbm5lbC48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2hhbm5lbElkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRva2VuSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3JlYXRlZEF0IiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZExpZmV0aW1lIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJPcGVuU2VjdXJlQ2hhbm5lbFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5DcmVhdGVzIGEgc2VjdXJlIGNoYW5uZWwgd2l0aCBhIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50UHJvdG9jb2xWZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RUeXBlIiBUeXBlTmFtZT0idG5zOlNlY3VyaXR5VG9rZW5SZXF1ZXN0VHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TW9kZSIgVHlwZU5hbWU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50Tm9uY2UiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZExpZmV0aW1lIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJPcGVuU2VjdXJlQ2hhbm5lbFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q3JlYXRlcyBhIHNlY3VyZSBjaGFubmVsIHdpdGggYSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyUHJvdG9jb2xWZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5VG9rZW4iIFR5cGVOYW1lPSJ0bnM6Q2hhbm5lbFNlY3VyaXR5VG9rZW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJOb25jZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNsb3NlU2VjdXJlQ2hhbm5lbFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5DbG9zZXMgYSBzZWN1cmUgY2hhbm5lbC48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNsb3NlU2VjdXJlQ2hhbm5lbFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q2xvc2VzIGEgc2VjdXJlIGNoYW5uZWwuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHNvZnR3YXJlIGNlcnRpZmljYXRlIHdpdGggYSBkaWdpdGFsIHNpZ25hdHVyZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2VydGlmaWNhdGVEYXRhIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTaWduYXR1cmUiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IlNlc3Npb25BdXRoZW50aWNhdGlvblRva2VuIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSB1bmlxdWUgaWRlbnRpZmllciBmb3IgYSBzZXNzaW9uIHVzZWQgdG8gYXV0aGVudGljYXRlIHJlcXVlc3RzLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTaWduYXR1cmVEYXRhIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBkaWdpdGFsIHNpZ25hdHVyZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWxnb3JpdGhtIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNpZ25hdHVyZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNyZWF0ZVNlc3Npb25SZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q3JlYXRlcyBhIG5ldyBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50RGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ0bnM6QXBwbGljYXRpb25EZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRwb2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXNzaW9uTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnROb25jZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50Q2VydGlmaWNhdGUiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZFNlc3Npb25UaW1lb3V0IiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heFJlc3BvbnNlTWVzc2FnZVNpemUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNyZWF0ZVNlc3Npb25SZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkNyZWF0ZXMgYSBuZXcgc2Vzc2lvbiB3aXRoIHRoZSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXV0aGVudGljYXRpb25Ub2tlbiIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRTZXNzaW9uVGltZW91dCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJOb25jZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyQ2VydGlmaWNhdGUiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJFbmRwb2ludHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJFbmRwb2ludHMiIFR5cGVOYW1lPSJ0bnM6RW5kcG9pbnREZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJFbmRwb2ludHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VydmVyU29mdHdhcmVDZXJ0aWZpY2F0ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJTb2Z0d2FyZUNlcnRpZmljYXRlcyIgVHlwZU5hbWU9InRuczpTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlclNvZnR3YXJlQ2VydGlmaWNhdGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyU2lnbmF0dXJlIiBUeXBlTmFtZT0idG5zOlNpZ25hdHVyZURhdGEiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhSZXF1ZXN0TWVzc2FnZVNpemUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlVzZXJJZGVudGl0eVRva2VuIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBiYXNlIHR5cGUgZm9yIGEgdXNlciBpZGVudGl0eSB0b2tlbi48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUG9saWN5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFub255bW91c0lkZW50aXR5VG9rZW4iIEJhc2VUeXBlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHRva2VuIHJlcHJlc2VudGluZyBhbiBhbm9ueW1vdXMgdXNlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUG9saWN5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBTb3VyY2VUeXBlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVXNlck5hbWVJZGVudGl0eVRva2VuIiBCYXNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSB0b2tlbiByZXByZXNlbnRpbmcgYSB1c2VyIGlkZW50aWZpZWQgYnkgYSB1c2VyIG5hbWUgYW5kIHBhc3N3b3JkLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQb2xpY3lJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIFNvdXJjZVR5cGU9InRuczpVc2VySWRlbnRpdHlUb2tlbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBhc3N3b3JkIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmNyeXB0aW9uQWxnb3JpdGhtIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJYNTA5SWRlbnRpdHlUb2tlbiIgQmFzZVR5cGU9InRuczpVc2VySWRlbnRpdHlUb2tlbiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgdG9rZW4gcmVwcmVzZW50aW5nIGEgdXNlciBpZGVudGlmaWVkIGJ5IGFuIFg1MDkgY2VydGlmaWNhdGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBvbGljeUlkIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgU291cmNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2VydGlmaWNhdGVEYXRhIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iS2VyYmVyb3NJZGVudGl0eVRva2VuIiBCYXNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBvbGljeUlkIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgU291cmNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGlja2V0RGF0YSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Iklzc3VlZElkZW50aXR5VG9rZW4iIEJhc2VUeXBlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHRva2VuIHJlcHJlc2VudGluZyBhIHVzZXIgaWRlbnRpZmllZCBieSBhIFdTLVNlY3VyaXR5IFhNTCB0b2tlbi48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUG9saWN5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBTb3VyY2VUeXBlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUb2tlbkRhdGEiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuY3J5cHRpb25BbGdvcml0aG0iIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFjdGl2YXRlU2Vzc2lvblJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BY3RpdmF0ZXMgYSBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50U2lnbmF0dXJlIiBUeXBlTmFtZT0idG5zOlNpZ25hdHVyZURhdGEiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQ2xpZW50U29mdHdhcmVDZXJ0aWZpY2F0ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnRTb2Z0d2FyZUNlcnRpZmljYXRlcyIgVHlwZU5hbWU9InRuczpTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiBMZW5ndGhGaWVsZD0iTm9PZkNsaWVudFNvZnR3YXJlQ2VydGlmaWNhdGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxvY2FsZUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsZUlkcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mTG9jYWxlSWRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcklkZW50aXR5VG9rZW4iIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyVG9rZW5TaWduYXR1cmUiIFR5cGVOYW1lPSJ0bnM6U2lnbmF0dXJlRGF0YSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBY3RpdmF0ZVNlc3Npb25SZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkFjdGl2YXRlcyBhIHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlck5vbmNlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNsb3NlU2Vzc2lvblJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5DbG9zZXMgYSBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVsZXRlU3Vic2NyaXB0aW9ucyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNsb3NlU2Vzc2lvblJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q2xvc2VzIGEgc2Vzc2lvbiB3aXRoIHRoZSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNhbmNlbFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5DYW5jZWxzIGFuIG91dHN0YW5kaW5nIHJlcXVlc3QuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIYW5kbGUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNhbmNlbFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q2FuY2VscyBhbiBvdXRzdGFuZGluZyByZXF1ZXN0Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNhbmNlbENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJOb2RlQXR0cmlidXRlc01hc2siIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYml0cyB1c2VkIHRvIHNwZWNpZnkgZGVmYXVsdCBhdHRyaWJ1dGVzIGZvciBhIG5ldyBub2RlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQWNjZXNzTGV2ZWwiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFycmF5RGltZW5zaW9ucyIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQnJvd3NlTmFtZSIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ29udGFpbnNOb0xvb3BzIiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEYXRhVHlwZSIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRlc2NyaXB0aW9uIiBWYWx1ZT0iMzIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGlzcGxheU5hbWUiIFZhbHVlPSI2NCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJFdmVudE5vdGlmaWVyIiBWYWx1ZT0iMTI4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkV4ZWN1dGFibGUiIFZhbHVlPSIyNTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSGlzdG9yaXppbmciIFZhbHVlPSI1MTIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW52ZXJzZU5hbWUiIFZhbHVlPSIxMDI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IklzQWJzdHJhY3QiIFZhbHVlPSIyMDQ4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik1pbmltdW1TYW1wbGluZ0ludGVydmFsIiBWYWx1ZT0iNDA5NiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlQ2xhc3MiIFZhbHVlPSI4MTkyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vZGVJZCIgVmFsdWU9IjE2Mzg0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN5bW1ldHJpYyIgVmFsdWU9IjMyNzY4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVzZXJBY2Nlc3NMZXZlbCIgVmFsdWU9IjY1NTM2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVzZXJFeGVjdXRhYmxlIiBWYWx1ZT0iMTMxMDcyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVzZXJXcml0ZU1hc2siIFZhbHVlPSIyNjIxNDQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVmFsdWVSYW5rIiBWYWx1ZT0iNTI0Mjg4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IldyaXRlTWFzayIgVmFsdWU9IjEwNDg1NzYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVmFsdWUiIFZhbHVlPSIyMDk3MTUyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFsbCIgVmFsdWU9IjQxOTQzMDMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQmFzZU5vZGUiIFZhbHVlPSIxMzM1Mzk2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik9iamVjdCIgVmFsdWU9IjEzMzU1MjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iT2JqZWN0VHlwZU9yRGF0YVR5cGUiIFZhbHVlPSIxMzM3NDQ0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZhcmlhYmxlIiBWYWx1ZT0iNDAyNjk5OSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJWYXJpYWJsZVR5cGUiIFZhbHVlPSIzOTU4OTAyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik1ldGhvZCIgVmFsdWU9IjE0NjY3MjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlVHlwZSIgVmFsdWU9IjEzNzEyMzYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVmlldyIgVmFsdWU9IjEzMzU1MzIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTm9kZUF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYmFzZSBhdHRyaWJ1dGVzIGZvciBhbGwgbm9kZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik9iamVjdEF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYW4gb2JqZWN0IG5vZGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50Tm90aWZpZXIiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJWYXJpYWJsZUF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSB2YXJpYWJsZSBub2RlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlUmFuayIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkFycmF5RGltZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFjY2Vzc0xldmVsIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyQWNjZXNzTGV2ZWwiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1pbmltdW1TYW1wbGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikhpc3Rvcml6aW5nIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTWV0aG9kQXR0cmlidXRlcyIgQmFzZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1dGVzIGZvciBhIG1ldGhvZCBub2RlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFeGVjdXRhYmxlIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyRXhlY3V0YWJsZSIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik9iamVjdFR5cGVBdHRyaWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGFuIG9iamVjdCB0eXBlIG5vZGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJWYXJpYWJsZVR5cGVBdHRyaWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGEgdmFyaWFibGUgdHlwZSBub2RlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlUmFuayIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkFycmF5RGltZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWZlcmVuY2VUeXBlQXR0cmlidXRlcyIgQmFzZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1dGVzIGZvciBhIHJlZmVyZW5jZSB0eXBlIG5vZGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN5bW1ldHJpYyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW52ZXJzZU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFUeXBlQXR0cmlidXRlcyIgQmFzZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1dGVzIGZvciBhIGRhdGEgdHlwZSBub2RlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0Fic3RyYWN0IiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVmlld0F0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSB2aWV3IG5vZGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbnRhaW5zTm9Mb29wcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnROb3RpZmllciIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFkZE5vZGVzSXRlbSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgcmVxdWVzdCB0byBhZGQgYSBub2RlIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGFyZW50Tm9kZUlkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWROZXdOb2RlSWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVBdHRyaWJ1dGVzIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHlwZURlZmluaXRpb24iIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBZGROb2Rlc1Jlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgcmVzdWx0IG9mIGFuIGFkZCBub2RlIG9wZXJhdGlvbi48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGRlZE5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBZGROb2Rlc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BZGRzIG9uZSBvciBtb3JlIG5vZGVzIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vZGVzVG9BZGQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rlc1RvQWRkIiBUeXBlTmFtZT0idG5zOkFkZE5vZGVzSXRlbSIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvQWRkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFkZE5vZGVzUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BZGRzIG9uZSBvciBtb3JlIG5vZGVzIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6QWRkTm9kZXNSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWRkUmVmZXJlbmNlc0l0ZW0iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHJlcXVlc3QgdG8gYWRkIGEgcmVmZXJlbmNlIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU291cmNlTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNGb3J3YXJkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUYXJnZXRTZXJ2ZXJVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGFyZ2V0Tm9kZUlkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUYXJnZXROb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFkZFJlZmVyZW5jZXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QWRkcyBvbmUgb3IgbW9yZSByZWZlcmVuY2VzIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXNUb0FkZCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXNUb0FkZCIgVHlwZU5hbWU9InRuczpBZGRSZWZlcmVuY2VzSXRlbSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2VzVG9BZGQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWRkUmVmZXJlbmNlc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QWRkcyBvbmUgb3IgbW9yZSByZWZlcmVuY2VzIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZU5vZGVzSXRlbSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgcmVxdWVzdCB0byBkZWxldGUgYSBub2RlIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVsZXRlVGFyZ2V0UmVmZXJlbmNlcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZU5vZGVzUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkRlbGV0ZSBvbmUgb3IgbW9yZSBub2RlcyBmcm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vZGVzVG9EZWxldGUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rlc1RvRGVsZXRlIiBUeXBlTmFtZT0idG5zOkRlbGV0ZU5vZGVzSXRlbSIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvRGVsZXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZU5vZGVzUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5EZWxldGUgb25lIG9yIG1vcmUgbm9kZXMgZnJvbSB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVSZWZlcmVuY2VzSXRlbSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgcmVxdWVzdCB0byBkZWxldGUgYSBub2RlIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTb3VyY2VOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0ZvcndhcmQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldE5vZGVJZCIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVsZXRlQmlkaXJlY3Rpb25hbCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+RGVsZXRlIG9uZSBvciBtb3JlIHJlZmVyZW5jZXMgZnJvbSB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzVG9EZWxldGUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzVG9EZWxldGUiIFR5cGVOYW1lPSJ0bnM6RGVsZXRlUmVmZXJlbmNlc0l0ZW0iIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlc1RvRGVsZXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkRlbGV0ZSBvbmUgb3IgbW9yZSByZWZlcmVuY2VzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iQXR0cmlidXRlV3JpdGVNYXNrIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+RGVmaW5lIGJpdHMgdXNlZCB0byBpbmRpY2F0ZSB3aGljaCBhdHRyaWJ1dGVzIGFyZSB3cml0YWJsZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFjY2Vzc0xldmVsIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBcnJheURpbWVuc2lvbnMiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJyb3dzZU5hbWUiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkNvbnRhaW5zTm9Mb29wcyIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGF0YVR5cGUiIFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEZXNjcmlwdGlvbiIgVmFsdWU9IjMyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRpc3BsYXlOYW1lIiBWYWx1ZT0iNjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRXZlbnROb3RpZmllciIgVmFsdWU9IjEyOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJFeGVjdXRhYmxlIiBWYWx1ZT0iMjU2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikhpc3Rvcml6aW5nIiBWYWx1ZT0iNTEyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkludmVyc2VOYW1lIiBWYWx1ZT0iMTAyNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJc0Fic3RyYWN0IiBWYWx1ZT0iMjA0OCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJNaW5pbXVtU2FtcGxpbmdJbnRlcnZhbCIgVmFsdWU9IjQwOTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9kZUNsYXNzIiBWYWx1ZT0iODE5MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlSWQiIFZhbHVlPSIxNjM4NCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTeW1tZXRyaWMiIFZhbHVlPSIzMjc2OCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVc2VyQWNjZXNzTGV2ZWwiIFZhbHVlPSI2NTUzNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVc2VyRXhlY3V0YWJsZSIgVmFsdWU9IjEzMTA3MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVc2VyV3JpdGVNYXNrIiBWYWx1ZT0iMjYyMTQ0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZhbHVlUmFuayIgVmFsdWU9IjUyNDI4OCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJXcml0ZU1hc2siIFZhbHVlPSIxMDQ4NTc2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZhbHVlRm9yVmFyaWFibGVUeXBlIiBWYWx1ZT0iMjA5NzE1MiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJCcm93c2VEaXJlY3Rpb24iIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgZGlyZWN0aW9ucyBvZiB0aGUgcmVmZXJlbmNlcyB0byByZXR1cm4uPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJGb3J3YXJkIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnZlcnNlIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCb3RoIiBWYWx1ZT0iMiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJWaWV3RGVzY3JpcHRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgdmlldyB0byBicm93c2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZpZXdJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRpbWVzdGFtcCIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZpZXdWZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm93c2VEZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgcmVxdWVzdCB0byBicm93c2UgdGhlIHRoZSByZWZlcmVuY2VzIGZyb20gYSBub2RlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VEaXJlY3Rpb24iIFR5cGVOYW1lPSJ0bnM6QnJvd3NlRGlyZWN0aW9uIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5jbHVkZVN1YnR5cGVzIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3NNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdE1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkJyb3dzZVJlc3VsdE1hc2siIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIGJpdCBtYXNrIHdoaWNoIHNwZWNpZmllcyB3aGF0IHNob3VsZCBiZSByZXR1cm5lZCBpbiBhIGJyb3dzZSByZXNwb25zZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSXNGb3J3YXJkIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlQ2xhc3MiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJyb3dzZU5hbWUiIFZhbHVlPSI4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRpc3BsYXlOYW1lIiBWYWx1ZT0iMTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVHlwZURlZmluaXRpb24iIFZhbHVlPSIzMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBbGwiIFZhbHVlPSI2MyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWZlcmVuY2VUeXBlSW5mbyIgVmFsdWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVGFyZ2V0SW5mbyIgVmFsdWU9IjYwIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlZmVyZW5jZURlc2NyaXB0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIGRlc2NyaXB0aW9uIG9mIGEgcmVmZXJlbmNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0ZvcndhcmQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHlwZURlZmluaXRpb24iIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkNvbnRpbnVhdGlvblBvaW50Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QW4gaWRlbnRpZmllciBmb3IgYSBzdXNwZW5kZWQgcXVlcnkgb3IgYnJvd3NlIG9wZXJhdGlvbi48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJvd3NlUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHJlc3VsdCBvZiBhIGJyb3dzZSBvcGVyYXRpb24uPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29udGludWF0aW9uUG9pbnQiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VEZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2VzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb3dzZVJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5Ccm93c2UgdGhlIHJlZmVyZW5jZXMgZm9yIG9uZSBvciBtb3JlIG5vZGVzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWaWV3IiBUeXBlTmFtZT0idG5zOlZpZXdEZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZE1heFJlZmVyZW5jZXNQZXJOb2RlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOb2Rlc1RvQnJvd3NlIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZXNUb0Jyb3dzZSIgVHlwZU5hbWU9InRuczpCcm93c2VEZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvQnJvd3NlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb3dzZVJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QnJvd3NlIHRoZSByZWZlcmVuY2VzIGZvciBvbmUgb3IgbW9yZSBub2RlcyBmcm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6QnJvd3NlUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb3dzZU5leHRSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q29udGludWVzIG9uZSBvciBtb3JlIGJyb3dzZSBvcGVyYXRpb25zLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWxlYXNlQ29udGludWF0aW9uUG9pbnRzIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQ29udGludWF0aW9uUG9pbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29udGludWF0aW9uUG9pbnRzIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mQ29udGludWF0aW9uUG9pbnRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb3dzZU5leHRSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkNvbnRpbnVlcyBvbmUgb3IgbW9yZSBicm93c2Ugb3BlcmF0aW9ucy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6QnJvd3NlUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlbGF0aXZlUGF0aEVsZW1lbnQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BbiBlbGVtZW50IGluIGEgcmVsYXRpdmUgcGF0aC48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNJbnZlcnNlIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbmNsdWRlU3VidHlwZXMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldE5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlbGF0aXZlUGF0aCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgcmVsYXRpdmUgcGF0aCBjb25zdHJ1Y3RlZCBmcm9tIHJlZmVyZW5jZSB0eXBlcyBhbmQgYnJvd3NlIG5hbWVzLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRWxlbWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbGVtZW50cyIgVHlwZU5hbWU9InRuczpSZWxhdGl2ZVBhdGhFbGVtZW50IiBMZW5ndGhGaWVsZD0iTm9PZkVsZW1lbnRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb3dzZVBhdGgiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHJlcXVlc3QgdG8gdHJhbnNsYXRlIGEgcGF0aCBpbnRvIGEgbm9kZSBpZC48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhcnRpbmdOb2RlIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVsYXRpdmVQYXRoIiBUeXBlTmFtZT0idG5zOlJlbGF0aXZlUGF0aCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm93c2VQYXRoVGFyZ2V0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHRhcmdldCBvZiB0aGUgdHJhbnNsYXRlZCBwYXRoLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUYXJnZXRJZCIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVtYWluaW5nUGF0aEluZGV4IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm93c2VQYXRoUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHJlc3VsdCBvZiBhIHRyYW5zbGF0ZSBvcGVhcmF0aW9uLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZUYXJnZXRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGFyZ2V0cyIgVHlwZU5hbWU9InRuczpCcm93c2VQYXRoVGFyZ2V0IiBMZW5ndGhGaWVsZD0iTm9PZlRhcmdldHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVHJhbnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VHJhbnNsYXRlcyBvbmUgb3IgbW9yZSBwYXRocyBpbiB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZCcm93c2VQYXRocyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZVBhdGhzIiBUeXBlTmFtZT0idG5zOkJyb3dzZVBhdGgiIExlbmd0aEZpZWxkPSJOb09mQnJvd3NlUGF0aHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVHJhbnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRyYW5zbGF0ZXMgb25lIG9yIG1vcmUgcGF0aHMgaW4gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InRuczpCcm93c2VQYXRoUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlZ2lzdGVyTm9kZXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+UmVnaXN0ZXJzIG9uZSBvciBtb3JlIG5vZGVzIGZvciByZXBlYXRlZCB1c2Ugd2l0aGluIGEgc2Vzc2lvbi48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vZGVzVG9SZWdpc3RlciIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVzVG9SZWdpc3RlciIgVHlwZU5hbWU9InVhOk5vZGVJZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvUmVnaXN0ZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVnaXN0ZXJOb2Rlc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+UmVnaXN0ZXJzIG9uZSBvciBtb3JlIG5vZGVzIGZvciByZXBlYXRlZCB1c2Ugd2l0aGluIGEgc2Vzc2lvbi48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVnaXN0ZXJlZE5vZGVJZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWdpc3RlcmVkTm9kZUlkcyIgVHlwZU5hbWU9InVhOk5vZGVJZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWdpc3RlcmVkTm9kZUlkcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVbnJlZ2lzdGVyTm9kZXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VW5yZWdpc3RlcnMgb25lIG9yIG1vcmUgcHJldmlvdXNseSByZWdpc3RlcmVkIG5vZGVzLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTm9kZXNUb1VucmVnaXN0ZXIiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rlc1RvVW5yZWdpc3RlciIgVHlwZU5hbWU9InVhOk5vZGVJZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvVW5yZWdpc3RlciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVbnJlZ2lzdGVyTm9kZXNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlVucmVnaXN0ZXJzIG9uZSBvciBtb3JlIHByZXZpb3VzbHkgcmVnaXN0ZXJlZCBub2Rlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJDb3VudGVyIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBtb25vdG9uaWNhbGx5IGluY3JlYXNpbmcgdmFsdWUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iTnVtZXJpY1JhbmdlIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+U3BlY2lmaWVzIGEgcmFuZ2Ugb2YgYXJyYXkgaW5kZXhlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJUaW1lIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSB0aW1lIHZhbHVlIHNwZWNpZmllZCBhcyBISDpNTTpTUy5TU1MuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iRGF0ZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgZGF0ZSB2YWx1ZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRW5kcG9pbnRDb25maWd1cmF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik9wZXJhdGlvblRpbWVvdXQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VCaW5hcnlFbmNvZGluZyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4U3RyaW5nTGVuZ3RoIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4Qnl0ZVN0cmluZ0xlbmd0aCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heEFycmF5TGVuZ3RoIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4TWVzc2FnZVNpemUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhCdWZmZXJTaXplIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2hhbm5lbExpZmV0aW1lIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlUb2tlbkxpZmV0aW1lIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkNvbXBsaWFuY2VMZXZlbCIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVW50ZXN0ZWQiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlBhcnRpYWwiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNlbGZUZXN0ZWQiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkNlcnRpZmllZCIgVmFsdWU9IjMiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU3VwcG9ydGVkUHJvZmlsZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJPcmdhbml6YXRpb25VcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJvZmlsZUlkIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbXBsaWFuY2VUb29sIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbXBsaWFuY2VEYXRlIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29tcGxpYW5jZUxldmVsIiBUeXBlTmFtZT0idG5zOkNvbXBsaWFuY2VMZXZlbCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZVbnN1cHBvcnRlZFVuaXRJZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVbnN1cHBvcnRlZFVuaXRJZHMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlVuc3VwcG9ydGVkVW5pdElkcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTb2Z0d2FyZUNlcnRpZmljYXRlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByb2R1Y3ROYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByb2R1Y3RVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmVuZG9yTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWZW5kb3JQcm9kdWN0Q2VydGlmaWNhdGUiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvZnR3YXJlVmVyc2lvbiIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCdWlsZE51bWJlciIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCdWlsZERhdGUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc3N1ZWRCeSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc3N1ZURhdGUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU3VwcG9ydGVkUHJvZmlsZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdXBwb3J0ZWRQcm9maWxlcyIgVHlwZU5hbWU9InRuczpTdXBwb3J0ZWRQcm9maWxlIiBMZW5ndGhGaWVsZD0iTm9PZlN1cHBvcnRlZFByb2ZpbGVzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlF1ZXJ5RGF0YURlc2NyaXB0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlbGF0aXZlUGF0aCIgVHlwZU5hbWU9InRuczpSZWxhdGl2ZVBhdGgiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdHRyaWJ1dGVJZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbmRleFJhbmdlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJOb2RlVHlwZURlc2NyaXB0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlR5cGVEZWZpbml0aW9uTm9kZSIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5jbHVkZVN1YlR5cGVzIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGF0YVRvUmV0dXJuIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVRvUmV0dXJuIiBUeXBlTmFtZT0idG5zOlF1ZXJ5RGF0YURlc2NyaXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZkRhdGFUb1JldHVybiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJGaWx0ZXJPcGVyYXRvciIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRXF1YWxzIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJc051bGwiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkdyZWF0ZXJUaGFuIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJMZXNzVGhhbiIgVmFsdWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iR3JlYXRlclRoYW5PckVxdWFsIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJMZXNzVGhhbk9yRXF1YWwiIFZhbHVlPSI1IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikxpa2UiIFZhbHVlPSI2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vdCIgVmFsdWU9IjciIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQmV0d2VlbiIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW5MaXN0IiBWYWx1ZT0iOSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBbmQiIFZhbHVlPSIxMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJPciIgVmFsdWU9IjExIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkNhc3QiIFZhbHVlPSIxMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJblZpZXciIFZhbHVlPSIxMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJPZlR5cGUiIFZhbHVlPSIxNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWxhdGVkVG8iIFZhbHVlPSIxNSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCaXR3aXNlQW5kIiBWYWx1ZT0iMTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQml0d2lzZU9yIiBWYWx1ZT0iMTciIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUXVlcnlEYXRhU2V0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHlwZURlZmluaXRpb25Ob2RlIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVmFsdWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsdWVzIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZWYWx1ZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTm9kZVJlZmVyZW5jZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0ZvcndhcmQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VkTm9kZUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZWROb2RlSWRzIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZWROb2RlSWRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNvbnRlbnRGaWx0ZXJFbGVtZW50IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRlck9wZXJhdG9yIiBUeXBlTmFtZT0idG5zOkZpbHRlck9wZXJhdG9yIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkZpbHRlck9wZXJhbmRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmlsdGVyT3BlcmFuZHMiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIExlbmd0aEZpZWxkPSJOb09mRmlsdGVyT3BlcmFuZHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ29udGVudEZpbHRlciIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRWxlbWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbGVtZW50cyIgVHlwZU5hbWU9InRuczpDb250ZW50RmlsdGVyRWxlbWVudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZFbGVtZW50cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJGaWx0ZXJPcGVyYW5kIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJFbGVtZW50T3BlcmFuZCIgQmFzZVR5cGU9InRuczpGaWx0ZXJPcGVyYW5kIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkluZGV4IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJMaXRlcmFsT3BlcmFuZCIgQmFzZVR5cGU9InRuczpGaWx0ZXJPcGVyYW5kIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBdHRyaWJ1dGVPcGVyYW5kIiBCYXNlVHlwZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWxpYXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlUGF0aCIgVHlwZU5hbWU9InRuczpSZWxhdGl2ZVBhdGgiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdHRyaWJ1dGVJZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbmRleFJhbmdlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTaW1wbGVBdHRyaWJ1dGVPcGVyYW5kIiBCYXNlVHlwZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHlwZURlZmluaXRpb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZCcm93c2VQYXRoIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlUGF0aCIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIExlbmd0aEZpZWxkPSJOb09mQnJvd3NlUGF0aCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF0dHJpYnV0ZUlkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkluZGV4UmFuZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk9wZXJhbmRTdGF0dXNDb2RlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik9wZXJhbmRTdGF0dXNDb2RlcyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mT3BlcmFuZFN0YXR1c0NvZGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk9wZXJhbmREaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJPcGVyYW5kRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mT3BlcmFuZERpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDb250ZW50RmlsdGVyUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFbGVtZW50UmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVsZW1lbnRSZXN1bHRzIiBUeXBlTmFtZT0idG5zOkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZkVsZW1lbnRSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkVsZW1lbnREaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbGVtZW50RGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRWxlbWVudERpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJQYXJzaW5nUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRhdGFTdGF0dXNDb2RlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTdGF0dXNDb2RlcyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mRGF0YVN0YXR1c0NvZGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRhdGFEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGF0YURpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJRdWVyeUZpcnN0UmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWaWV3IiBUeXBlTmFtZT0idG5zOlZpZXdEZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOb2RlVHlwZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlVHlwZXMiIFR5cGVOYW1lPSJ0bnM6Tm9kZVR5cGVEZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb2RlVHlwZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXIiIFR5cGVOYW1lPSJ0bnM6Q29udGVudEZpbHRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heERhdGFTZXRzVG9SZXR1cm4iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4UmVmZXJlbmNlc1RvUmV0dXJuIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJRdWVyeUZpcnN0UmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUXVlcnlEYXRhU2V0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlF1ZXJ5RGF0YVNldHMiIFR5cGVOYW1lPSJ0bnM6UXVlcnlEYXRhU2V0IiBMZW5ndGhGaWVsZD0iTm9PZlF1ZXJ5RGF0YVNldHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDb250aW51YXRpb25Qb2ludCIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlBhcnNpbmdSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGFyc2luZ1Jlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6UGFyc2luZ1Jlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZQYXJzaW5nUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXJSZXN1bHQiIFR5cGVOYW1lPSJ0bnM6Q29udGVudEZpbHRlclJlc3VsdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJRdWVyeU5leHRSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlbGVhc2VDb250aW51YXRpb25Qb2ludCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29udGludWF0aW9uUG9pbnQiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJRdWVyeU5leHRSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZRdWVyeURhdGFTZXRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVlcnlEYXRhU2V0cyIgVHlwZU5hbWU9InRuczpRdWVyeURhdGFTZXQiIExlbmd0aEZpZWxkPSJOb09mUXVlcnlEYXRhU2V0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRDb250aW51YXRpb25Qb2ludCIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IlRpbWVzdGFtcHNUb1JldHVybiIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU291cmNlIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTZXJ2ZXIiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJvdGgiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5laXRoZXIiIFZhbHVlPSIzIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlYWRWYWx1ZUlkIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF0dHJpYnV0ZUlkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkluZGV4UmFuZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YUVuY29kaW5nIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWFkUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhBZ2UiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiBUeXBlTmFtZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOb2Rlc1RvUmVhZCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVzVG9SZWFkIiBUeXBlTmFtZT0idG5zOlJlYWRWYWx1ZUlkIiBMZW5ndGhGaWVsZD0iTm9PZk5vZGVzVG9SZWFkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlYWRSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVhOkRhdGFWYWx1ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5UmVhZFZhbHVlSWQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5kZXhSYW5nZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhRW5jb2RpbmciIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29udGludWF0aW9uUG9pbnQiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5UmVhZFJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJIaXN0b3J5RGF0YSIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5UmVhZERldGFpbHMiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlYWRFdmVudERldGFpbHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik51bVZhbHVlc1Blck5vZGUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhcnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRlciIgVHlwZU5hbWU9InRuczpFdmVudEZpbHRlciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWFkUmF3TW9kaWZpZWREZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc1JlYWRNb2RpZmllZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhcnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik51bVZhbHVlc1Blck5vZGUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV0dXJuQm91bmRzIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVhZFByb2Nlc3NlZERldGFpbHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXJ0VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuZFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcm9jZXNzaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkFnZ3JlZ2F0ZVR5cGUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZ2dyZWdhdGVUeXBlIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBMZW5ndGhGaWVsZD0iTm9PZkFnZ3JlZ2F0ZVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBUeXBlTmFtZT0idG5zOkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVhZEF0VGltZURldGFpbHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXFUaW1lcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcVRpbWVzIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiBMZW5ndGhGaWVsZD0iTm9PZlJlcVRpbWVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlU2ltcGxlQm91bmRzIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeURhdGEiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRhdGFWYWx1ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVmFsdWVzIiBUeXBlTmFtZT0idWE6RGF0YVZhbHVlIiBMZW5ndGhGaWVsZD0iTm9PZkRhdGFWYWx1ZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9kaWZpY2F0aW9uSW5mbyIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb2RpZmljYXRpb25UaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXBkYXRlVHlwZSIgVHlwZU5hbWU9InRuczpIaXN0b3J5VXBkYXRlVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5TW9kaWZpZWREYXRhIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlEYXRhIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEYXRhVmFsdWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVZhbHVlcyIgVHlwZU5hbWU9InVhOkRhdGFWYWx1ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZEYXRhVmFsdWVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk1vZGlmaWNhdGlvbkluZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9kaWZpY2F0aW9uSW5mb3MiIFR5cGVOYW1lPSJ0bnM6TW9kaWZpY2F0aW9uSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZNb2RpZmljYXRpb25JbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5RXZlbnQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkV2ZW50cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50cyIgVHlwZU5hbWU9InRuczpIaXN0b3J5RXZlbnRGaWVsZExpc3QiIExlbmd0aEZpZWxkPSJOb09mRXZlbnRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlSZWFkUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJIaXN0b3J5UmVhZERldGFpbHMiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iIFR5cGVOYW1lPSJ0bnM6VGltZXN0YW1wc1RvUmV0dXJuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVsZWFzZUNvbnRpbnVhdGlvblBvaW50cyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vZGVzVG9SZWFkIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZXNUb1JlYWQiIFR5cGVOYW1lPSJ0bnM6SGlzdG9yeVJlYWRWYWx1ZUlkIiBMZW5ndGhGaWVsZD0iTm9PZk5vZGVzVG9SZWFkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlSZWFkUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6SGlzdG9yeVJlYWRSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iV3JpdGVWYWx1ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdHRyaWJ1dGVJZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbmRleFJhbmdlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0idWE6RGF0YVZhbHVlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IldyaXRlUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTm9kZXNUb1dyaXRlIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZXNUb1dyaXRlIiBUeXBlTmFtZT0idG5zOldyaXRlVmFsdWUiIExlbmd0aEZpZWxkPSJOb09mTm9kZXNUb1dyaXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IldyaXRlUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlVcGRhdGVEZXRhaWxzIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJIaXN0b3J5VXBkYXRlVHlwZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW5zZXJ0IiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZXBsYWNlIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVcGRhdGUiIFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRlbGV0ZSIgVmFsdWU9IjQiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iUGVyZm9ybVVwZGF0ZVR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikluc2VydCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVwbGFjZSIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVXBkYXRlIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZW1vdmUiIFZhbHVlPSI0IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlVwZGF0ZURhdGFEZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGVyZm9ybUluc2VydFJlcGxhY2UiIFR5cGVOYW1lPSJ0bnM6UGVyZm9ybVVwZGF0ZVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVXBkYXRlVmFsdWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXBkYXRlVmFsdWVzIiBUeXBlTmFtZT0idWE6RGF0YVZhbHVlIiBMZW5ndGhGaWVsZD0iTm9PZlVwZGF0ZVZhbHVlcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVcGRhdGVTdHJ1Y3R1cmVEYXRhRGV0YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBlcmZvcm1JbnNlcnRSZXBsYWNlIiBUeXBlTmFtZT0idG5zOlBlcmZvcm1VcGRhdGVUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlVwZGF0ZVZhbHVlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVwZGF0ZVZhbHVlcyIgVHlwZU5hbWU9InVhOkRhdGFWYWx1ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZVcGRhdGVWYWx1ZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVXBkYXRlRXZlbnREZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGVyZm9ybUluc2VydFJlcGxhY2UiIFR5cGVOYW1lPSJ0bnM6UGVyZm9ybVVwZGF0ZVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXIiIFR5cGVOYW1lPSJ0bnM6RXZlbnRGaWx0ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRXZlbnREYXRhIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnREYXRhIiBUeXBlTmFtZT0idG5zOkhpc3RvcnlFdmVudEZpZWxkTGlzdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZFdmVudERhdGEiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlUmF3TW9kaWZpZWREZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNEZWxldGVNb2RpZmllZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhcnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVBdFRpbWVEZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlcVRpbWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxVGltZXMiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIExlbmd0aEZpZWxkPSJOb09mUmVxVGltZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlRXZlbnREZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkV2ZW50SWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnRJZHMiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZFdmVudElkcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5VXBkYXRlUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk9wZXJhdGlvblJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJPcGVyYXRpb25SZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZPcGVyYXRpb25SZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5VXBkYXRlUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mSGlzdG9yeVVwZGF0ZURldGFpbHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJIaXN0b3J5VXBkYXRlRGV0YWlscyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZIaXN0b3J5VXBkYXRlRGV0YWlscyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5VXBkYXRlUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6SGlzdG9yeVVwZGF0ZVJlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDYWxsTWV0aG9kUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJPYmplY3RJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1ldGhvZElkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZklucHV0QXJndW1lbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5wdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiBMZW5ndGhGaWVsZD0iTm9PZklucHV0QXJndW1lbnRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNhbGxNZXRob2RSZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mSW5wdXRBcmd1bWVudFJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbnB1dEFyZ3VtZW50UmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mSW5wdXRBcmd1bWVudFJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mSW5wdXRBcmd1bWVudERpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklucHV0QXJndW1lbnREaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZJbnB1dEFyZ3VtZW50RGlhZ25vc3RpY0luZm9zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk91dHB1dEFyZ3VtZW50cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik91dHB1dEFyZ3VtZW50cyIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIExlbmd0aEZpZWxkPSJOb09mT3V0cHV0QXJndW1lbnRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNhbGxSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZNZXRob2RzVG9DYWxsIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWV0aG9kc1RvQ2FsbCIgVHlwZU5hbWU9InRuczpDYWxsTWV0aG9kUmVxdWVzdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZNZXRob2RzVG9DYWxsIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNhbGxSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InRuczpDYWxsTWV0aG9kUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9Ik1vbml0b3JpbmdNb2RlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEaXNhYmxlZCIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU2FtcGxpbmciIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlcG9ydGluZyIgVmFsdWU9IjIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRGF0YUNoYW5nZVRyaWdnZXIiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN0YXR1cyIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3RhdHVzVmFsdWUiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN0YXR1c1ZhbHVlVGltZXN0YW1wIiBWYWx1ZT0iMiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJEZWFkYmFuZFR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFic29sdXRlIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJQZXJjZW50IiBWYWx1ZT0iMiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb25pdG9yaW5nRmlsdGVyIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRhQ2hhbmdlRmlsdGVyIiBCYXNlVHlwZT0idG5zOk1vbml0b3JpbmdGaWx0ZXIiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJpZ2dlciIgVHlwZU5hbWU9InRuczpEYXRhQ2hhbmdlVHJpZ2dlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlYWRiYW5kVHlwZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZWFkYmFuZFZhbHVlIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJFdmVudEZpbHRlciIgQmFzZVR5cGU9InRuczpNb25pdG9yaW5nRmlsdGVyIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZWxlY3RDbGF1c2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VsZWN0Q2xhdXNlcyIgVHlwZU5hbWU9InRuczpTaW1wbGVBdHRyaWJ1dGVPcGVyYW5kIiBMZW5ndGhGaWVsZD0iTm9PZlNlbGVjdENsYXVzZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXaGVyZUNsYXVzZSIgVHlwZU5hbWU9InRuczpDb250ZW50RmlsdGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlU2VydmVyQ2FwYWJpbGl0aWVzRGVmYXVsdHMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyZWF0VW5jZXJ0YWluQXNCYWQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBlcmNlbnREYXRhQmFkIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQZXJjZW50RGF0YUdvb2QiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZVNsb3BlZEV4dHJhcG9sYXRpb24iIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBZ2dyZWdhdGVGaWx0ZXIiIEJhc2VUeXBlPSJ0bnM6TW9uaXRvcmluZ0ZpbHRlciI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGFydFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZ2dyZWdhdGVUeXBlIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJvY2Vzc2luZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIFR5cGVOYW1lPSJ0bnM6QWdncmVnYXRlQ29uZmlndXJhdGlvbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb25pdG9yaW5nRmlsdGVyUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJFdmVudEZpbHRlclJlc3VsdCIgQmFzZVR5cGU9InRuczpNb25pdG9yaW5nRmlsdGVyUmVzdWx0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZWxlY3RDbGF1c2VSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VsZWN0Q2xhdXNlUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mU2VsZWN0Q2xhdXNlUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZWxlY3RDbGF1c2VEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWxlY3RDbGF1c2VEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZWxlY3RDbGF1c2VEaWFnbm9zdGljSW5mb3MiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXaGVyZUNsYXVzZVJlc3VsdCIgVHlwZU5hbWU9InRuczpDb250ZW50RmlsdGVyUmVzdWx0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFnZ3JlZ2F0ZUZpbHRlclJlc3VsdCIgQmFzZVR5cGU9InRuczpNb25pdG9yaW5nRmlsdGVyUmVzdWx0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRTdGFydFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkUHJvY2Vzc2luZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBUeXBlTmFtZT0idG5zOkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9uaXRvcmluZ1BhcmFtZXRlcnMiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50SGFuZGxlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNhbXBsaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmlsdGVyIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVldWVTaXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2NhcmRPbGRlc3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJdGVtVG9Nb25pdG9yIiBUeXBlTmFtZT0idG5zOlJlYWRWYWx1ZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmluZ01vZGUiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmluZ01vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRQYXJhbWV0ZXJzIiBUeXBlTmFtZT0idG5zOk1vbml0b3JpbmdQYXJhbWV0ZXJzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vbml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb25pdG9yZWRJdGVtSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZFNhbXBsaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZFF1ZXVlU2l6ZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXJSZXN1bHQiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ3JlYXRlTW9uaXRvcmVkSXRlbXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRpbWVzdGFtcHNUb1JldHVybiIgVHlwZU5hbWU9InRuczpUaW1lc3RhbXBzVG9SZXR1cm4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mSXRlbXNUb0NyZWF0ZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikl0ZW1zVG9DcmVhdGUiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIExlbmd0aEZpZWxkPSJOb09mSXRlbXNUb0NyZWF0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDcmVhdGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idG5zOk1vbml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlmeVJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmVkSXRlbUlkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZFBhcmFtZXRlcnMiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmluZ1BhcmFtZXRlcnMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRTYW1wbGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRRdWV1ZVNpemUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmlsdGVyUmVzdWx0IiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vZGlmeU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iIFR5cGVOYW1lPSJ0bnM6VGltZXN0YW1wc1RvUmV0dXJuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkl0ZW1zVG9Nb2RpZnkiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJdGVtc1RvTW9kaWZ5IiBUeXBlTmFtZT0idG5zOk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiBMZW5ndGhGaWVsZD0iTm9PZkl0ZW1zVG9Nb2RpZnkiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InRuczpNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNldE1vbml0b3JpbmdNb2RlUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb25pdG9yaW5nTW9kZSIgVHlwZU5hbWU9InRuczpNb25pdG9yaW5nTW9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZNb25pdG9yZWRJdGVtSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmVkSXRlbUlkcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mTW9uaXRvcmVkSXRlbUlkcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXRNb25pdG9yaW5nTW9kZVJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXRUcmlnZ2VyaW5nUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmlnZ2VyaW5nSXRlbUlkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZMaW5rc1RvQWRkIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGlua3NUb0FkZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mTGlua3NUb0FkZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZMaW5rc1RvUmVtb3ZlIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGlua3NUb1JlbW92ZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mTGlua3NUb1JlbW92ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXRUcmlnZ2VyaW5nUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQWRkUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFkZFJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZkFkZFJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQWRkRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWRkRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mQWRkRGlhZ25vc3RpY0luZm9zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlbW92ZVJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZW1vdmVSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZW1vdmVSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlbW92ZURpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlbW92ZURpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZlJlbW92ZURpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVNb25pdG9yZWRJdGVtc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk1vbml0b3JlZEl0ZW1JZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb25pdG9yZWRJdGVtSWRzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZNb25pdG9yZWRJdGVtSWRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNyZWF0ZVN1YnNjcmlwdGlvblJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZExpZmV0aW1lQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2giIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaGluZ0VuYWJsZWQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByaW9yaXR5IiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ3JlYXRlU3Vic2NyaXB0aW9uUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkUHVibGlzaGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRMaWZldGltZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRNYXhLZWVwQWxpdmVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9kaWZ5U3Vic2NyaXB0aW9uUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkTGlmZXRpbWVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcmlvcml0eSIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vZGlmeVN1YnNjcmlwdGlvblJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZFB1Ymxpc2hpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkTGlmZXRpbWVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkTWF4S2VlcEFsaXZlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNldFB1Ymxpc2hpbmdNb2RlUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nRW5hYmxlZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlN1YnNjcmlwdGlvbklkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mU3Vic2NyaXB0aW9uSWRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNldFB1Ymxpc2hpbmdNb2RlUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik5vdGlmaWNhdGlvbk1lc3NhZ2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VxdWVuY2VOdW1iZXIiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTm90aWZpY2F0aW9uRGF0YSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vdGlmaWNhdGlvbkRhdGEiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIExlbmd0aEZpZWxkPSJOb09mTm90aWZpY2F0aW9uRGF0YSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJOb3RpZmljYXRpb25EYXRhIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRhQ2hhbmdlTm90aWZpY2F0aW9uIiBCYXNlVHlwZT0idG5zOk5vdGlmaWNhdGlvbkRhdGEiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk1vbml0b3JlZEl0ZW1zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmVkSXRlbXMiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZNb25pdG9yZWRJdGVtcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnRIYW5kbGUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsdWUiIFR5cGVOYW1lPSJ1YTpEYXRhVmFsdWUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRXZlbnROb3RpZmljYXRpb25MaXN0IiBCYXNlVHlwZT0idG5zOk5vdGlmaWNhdGlvbkRhdGEiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkV2ZW50cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50cyIgVHlwZU5hbWU9InRuczpFdmVudEZpZWxkTGlzdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZFdmVudHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRXZlbnRGaWVsZExpc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50SGFuZGxlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFdmVudEZpZWxkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50RmllbGRzIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZFdmVudEZpZWxkcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5RXZlbnRGaWVsZExpc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkV2ZW50RmllbGRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnRGaWVsZHMiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiBMZW5ndGhGaWVsZD0iTm9PZkV2ZW50RmllbGRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlN0YXR1c0NoYW5nZU5vdGlmaWNhdGlvbiIgQmFzZVR5cGU9InRuczpOb3RpZmljYXRpb25EYXRhIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mbyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXF1ZW5jZU51bWJlciIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUHVibGlzaFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnRzIiBUeXBlTmFtZT0idG5zOlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlB1Ymxpc2hSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBdmFpbGFibGVTZXF1ZW5jZU51bWJlcnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdmFpbGFibGVTZXF1ZW5jZU51bWJlcnMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkF2YWlsYWJsZVNlcXVlbmNlTnVtYmVycyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vcmVOb3RpZmljYXRpb25zIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb3RpZmljYXRpb25NZXNzYWdlIiBUeXBlTmFtZT0idG5zOk5vdGlmaWNhdGlvbk1lc3NhZ2UiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlcHVibGlzaFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV0cmFuc21pdFNlcXVlbmNlTnVtYmVyIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZXB1Ymxpc2hSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vdGlmaWNhdGlvbk1lc3NhZ2UiIFR5cGVOYW1lPSJ0bnM6Tm90aWZpY2F0aW9uTWVzc2FnZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJUcmFuc2ZlclJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBdmFpbGFibGVTZXF1ZW5jZU51bWJlcnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdmFpbGFibGVTZXF1ZW5jZU51bWJlcnMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkF2YWlsYWJsZVNlcXVlbmNlTnVtYmVycyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJUcmFuc2ZlclN1YnNjcmlwdGlvbnNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTdWJzY3JpcHRpb25JZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZHMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZlN1YnNjcmlwdGlvbklkcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlbmRJbml0aWFsVmFsdWVzIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVHJhbnNmZXJTdWJzY3JpcHRpb25zUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6VHJhbnNmZXJSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlU3Vic2NyaXB0aW9uc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlN1YnNjcmlwdGlvbklkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mU3Vic2NyaXB0aW9uSWRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZVN1YnNjcmlwdGlvbnNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRW51bWVyYXRlZFRlc3RUeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBzaW1wbGUgZW51bWVyYXRlZCB0eXBlIHVzZWQgZm9yIHRlc3RpbmcuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlllbGxvdyIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iR3JlZW4iIFZhbHVlPSI1IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJ1aWxkSW5mbyIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcm9kdWN0VXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1hbnVmYWN0dXJlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJvZHVjdE5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU29mdHdhcmVWZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJ1aWxkTnVtYmVyIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJ1aWxkRGF0ZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJSZWR1bmRhbmN5U3VwcG9ydCIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ29sZCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iV2FybSIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSG90IiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJUcmFuc3BhcmVudCIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSG90QW5kTWlycm9yZWQiIFZhbHVlPSI1IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IlNlcnZlclN0YXRlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSdW5uaW5nIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJGYWlsZWQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vQ29uZmlndXJhdGlvbiIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3VzcGVuZGVkIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTaHV0ZG93biIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVGVzdCIgVmFsdWU9IjUiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ29tbXVuaWNhdGlvbkZhdWx0IiBWYWx1ZT0iNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVbmtub3duIiBWYWx1ZT0iNyIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2aWNlTGV2ZWwiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclN0YXRlIiBUeXBlTmFtZT0idG5zOlNlcnZlclN0YXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFbmRwb2ludFVybExpc3QiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRwb2ludFVybExpc3QiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZkVuZHBvaW50VXJsTGlzdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJOZXR3b3JrR3JvdXBEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5ldHdvcmtQYXRocyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5ldHdvcmtQYXRocyIgVHlwZU5hbWU9InRuczpFbmRwb2ludFVybExpc3REYXRhVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZOZXR3b3JrUGF0aHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2FtcGxpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb25pdG9yZWRJdGVtQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4TW9uaXRvcmVkSXRlbUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2FibGVkTW9uaXRvcmVkSXRlbUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXJ2ZXJEaWFnbm9zdGljc1N1bW1hcnlEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJWaWV3Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3VycmVudFNlc3Npb25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdW11bGF0ZWRTZXNzaW9uQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlSZWplY3RlZFNlc3Npb25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWplY3RlZFNlc3Npb25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXNzaW9uVGltZW91dENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlc3Npb25BYm9ydENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1cnJlbnRTdWJzY3JpcHRpb25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdW11bGF0ZWRTdWJzY3JpcHRpb25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nSW50ZXJ2YWxDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eVJlamVjdGVkUmVxdWVzdHNDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWplY3RlZFJlcXVlc3RzQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNlcnZlclN0YXR1c0RhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXJ0VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1cnJlbnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdGUiIFR5cGVOYW1lPSJ0bnM6U2VydmVyU3RhdGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCdWlsZEluZm8iIFR5cGVOYW1lPSJ0bnM6QnVpbGRJbmZvIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vjb25kc1RpbGxTaHV0ZG93biIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTaHV0ZG93blJlYXNvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvbk5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50RGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ0bnM6QXBwbGljYXRpb25EZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRwb2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZMb2NhbGVJZHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBY3R1YWxTZXNzaW9uVGltZW91dCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhSZXNwb25zZU1lc3NhZ2VTaXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudENvbm5lY3Rpb25UaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50TGFzdENvbnRhY3RUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3VycmVudFN1YnNjcmlwdGlvbnNDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdXJyZW50TW9uaXRvcmVkSXRlbXNDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdXJyZW50UHVibGlzaFJlcXVlc3RzSW5RdWV1ZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUb3RhbFJlcXVlc3RDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVW5hdXRob3JpemVkUmVxdWVzdENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlYWRDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSGlzdG9yeVJlYWRDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSGlzdG9yeVVwZGF0ZUNvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDYWxsQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vZGlmeU1vbml0b3JlZEl0ZW1zQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNldE1vbml0b3JpbmdNb2RlQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNldFRyaWdnZXJpbmdDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVsZXRlTW9uaXRvcmVkSXRlbXNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3JlYXRlU3Vic2NyaXB0aW9uQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vZGlmeVN1YnNjcmlwdGlvbkNvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXRQdWJsaXNoaW5nTW9kZUNvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcHVibGlzaENvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFuc2ZlclN1YnNjcmlwdGlvbnNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVsZXRlU3Vic2NyaXB0aW9uc0NvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGROb2Rlc0NvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGRSZWZlcmVuY2VzQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlbGV0ZU5vZGVzQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5leHRDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhbnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVlcnlGaXJzdENvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJRdWVyeU5leHRDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVnaXN0ZXJOb2Rlc0NvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVbnJlZ2lzdGVyTm9kZXNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNlc3Npb25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50VXNlcklkT2ZTZXNzaW9uIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZDbGllbnRVc2VySWRIaXN0b3J5IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50VXNlcklkSGlzdG9yeSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mQ2xpZW50VXNlcklkSGlzdG9yeSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF1dGhlbnRpY2F0aW9uTWVjaGFuaXNtIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuY29kaW5nIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyYW5zcG9ydFByb3RvY29sIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TW9kZSIgVHlwZU5hbWU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlQb2xpY3lVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50Q2VydGlmaWNhdGUiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRvdGFsQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXJyb3JDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU3RhdHVzUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm8iIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTdWJzY3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByaW9yaXR5IiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4S2VlcEFsaXZlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4TGlmZXRpbWVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nRW5hYmxlZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9kaWZ5Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5hYmxlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzYWJsZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcHVibGlzaFJlcXVlc3RDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXB1Ymxpc2hNZXNzYWdlUmVxdWVzdENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcHVibGlzaE1lc3NhZ2VDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFuc2ZlclJlcXVlc3RDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFuc2ZlcnJlZFRvQWx0Q2xpZW50Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhbnNmZXJyZWRUb1NhbWVDbGllbnRDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoUmVxdWVzdENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFDaGFuZ2VOb3RpZmljYXRpb25zQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnROb3RpZmljYXRpb25zQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm90aWZpY2F0aW9uc0NvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxhdGVQdWJsaXNoUmVxdWVzdENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1cnJlbnRLZWVwQWxpdmVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdXJyZW50TGlmZXRpbWVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVbmFja25vd2xlZGdlZE1lc3NhZ2VDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNjYXJkZWRNZXNzYWdlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmVkSXRlbUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2FibGVkTW9uaXRvcmVkSXRlbUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3JpbmdRdWV1ZU92ZXJmbG93Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmV4dFNlcXVlbmNlTnVtYmVyIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50UXVldWVPdmVyRmxvd0NvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJNb2RlbENoYW5nZVN0cnVjdHVyZVZlcmJNYXNrIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlQWRkZWQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vZGVEZWxldGVkIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWZlcmVuY2VBZGRlZCIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlRGVsZXRlZCIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGF0YVR5cGVDaGFuZ2VkIiBWYWx1ZT0iMTYiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZmZlY3RlZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFmZmVjdGVkVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZlcmIiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZW1hbnRpY0NoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFmZmVjdGVkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWZmZWN0ZWRUeXBlIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJhbmdlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvdyIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJIaWdoIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJFVUluZm9ybWF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWVzcGFjZVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVbml0SWQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iQXhpc1NjYWxlRW51bWVyYXRpb24iIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkxpbmVhciIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTG9nIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJMbiIgVmFsdWU9IjIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ29tcGxleE51bWJlclR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVhbCIgVHlwZU5hbWU9Im9wYzpGbG9hdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkltYWdpbmFyeSIgVHlwZU5hbWU9Im9wYzpGbG9hdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEb3VibGVDb21wbGV4TnVtYmVyVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkltYWdpbmFyeSIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQXhpc0luZm9ybWF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuZ2luZWVyaW5nVW5pdHMiIFR5cGVOYW1lPSJ0bnM6RVVJbmZvcm1hdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVVUmFuZ2UiIFR5cGVOYW1lPSJ0bnM6UmFuZ2UiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaXRsZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBeGlzU2NhbGVUeXBlIiBUeXBlTmFtZT0idG5zOkF4aXNTY2FsZUVudW1lcmF0aW9uIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkF4aXNTdGVwcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF4aXNTdGVwcyIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIExlbmd0aEZpZWxkPSJOb09mQXhpc1N0ZXBzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlhWVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJYIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0ib3BjOkZsb2F0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlByb2dyYW1EaWFnbm9zdGljRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3JlYXRlU2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3JlYXRlQ2xpZW50TmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbnZvY2F0aW9uQ3JlYXRpb25UaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdFRyYW5zaXRpb25UaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZENhbGwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZFNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZMYXN0TWV0aG9kSW5wdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kSW5wdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJ0bnM6QXJndW1lbnQiIExlbmd0aEZpZWxkPSJOb09mTGFzdE1ldGhvZElucHV0QXJndW1lbnRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxhc3RNZXRob2RPdXRwdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kT3V0cHV0QXJndW1lbnRzIiBUeXBlTmFtZT0idG5zOkFyZ3VtZW50IiBMZW5ndGhGaWVsZD0iTm9PZkxhc3RNZXRob2RPdXRwdXRBcmd1bWVudHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kQ2FsbFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kUmV0dXJuU3RhdHVzIiBUeXBlTmFtZT0idG5zOlN0YXR1c1Jlc3VsdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBbm5vdGF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQW5ub3RhdGlvblRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRXhjZXB0aW9uRGV2aWF0aW9uRm9ybWF0IiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBYnNvbHV0ZVZhbHVlIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJQZXJjZW50T2ZWYWx1ZSIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUGVyY2VudE9mUmFuZ2UiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlBlcmNlbnRPZkVVUmFuZ2UiIFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVua25vd24iIFZhbHVlPSI0IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KPC9vcGM6VHlwZURpY3Rpb25hcnk+", ua.VariantType.ByteString) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7619") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12681") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7650") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7656") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12767") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12770") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8914") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7665") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12213") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7662") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7668") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7782") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12902") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12905") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7698") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7671") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7674") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7677") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7680") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12510") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7683") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7728") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7731") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7734") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7737") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12718") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12721") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7686") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7689") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7695") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7929") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7932") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7935") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7938") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7941") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7944") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7947") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8004") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8067") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8073") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8076") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8172") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7692") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8208") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11959") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11962") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8211") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8214") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8217") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8220") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8223") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8226") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7659") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8229") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8232") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8235") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8238") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8241") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12183") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12186") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12091") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12094") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8247") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8244") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=7619") node.BrowseName = ua.QualifiedName.from_string("NamespaceUri") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("A URI that uniquely identifies the dictionary.") attrs.DisplayName = ua.LocalizedText("NamespaceUri") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("http://opcfoundation.org/UA/", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12681") node.BrowseName = ua.QualifiedName.from_string("TrustListDataType") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TrustListDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("TrustListDataType", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=7650") node.BrowseName = ua.QualifiedName.from_string("Argument") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Argument") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("Argument", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=7656") node.BrowseName = ua.QualifiedName.from_string("EnumValueType") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EnumValueType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("EnumValueType", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12767") node.BrowseName = ua.QualifiedName.from_string("OptionSet") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("OptionSet") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("OptionSet", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12770") node.BrowseName = ua.QualifiedName.from_string("Union") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Union") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("Union", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8914") node.BrowseName = ua.QualifiedName.from_string("TimeZoneDataType") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TimeZoneDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("TimeZoneDataType", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=7665") node.BrowseName = ua.QualifiedName.from_string("ApplicationDescription") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ApplicationDescription") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("ApplicationDescription", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12213") node.BrowseName = ua.QualifiedName.from_string("ServerOnNetwork") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ServerOnNetwork") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("ServerOnNetwork", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=7662") node.BrowseName = ua.QualifiedName.from_string("UserTokenPolicy") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("UserTokenPolicy") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("UserTokenPolicy", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=7668") node.BrowseName = ua.QualifiedName.from_string("EndpointDescription") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EndpointDescription") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("EndpointDescription", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=7782") node.BrowseName = ua.QualifiedName.from_string("RegisteredServer") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("RegisteredServer") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("RegisteredServer", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12902") node.BrowseName = ua.QualifiedName.from_string("DiscoveryConfiguration") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("DiscoveryConfiguration") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("DiscoveryConfiguration", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12905") node.BrowseName = ua.QualifiedName.from_string("MdnsDiscoveryConfiguration") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("MdnsDiscoveryConfiguration") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("MdnsDiscoveryConfiguration", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=7698") node.BrowseName = ua.QualifiedName.from_string("SignedSoftwareCertificate") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SignedSoftwareCertificate") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("SignedSoftwareCertificate", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=7671") node.BrowseName = ua.QualifiedName.from_string("UserIdentityToken") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("UserIdentityToken") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("UserIdentityToken", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=7674") node.BrowseName = ua.QualifiedName.from_string("AnonymousIdentityToken") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("AnonymousIdentityToken") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("AnonymousIdentityToken", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=7677") node.BrowseName = ua.QualifiedName.from_string("UserNameIdentityToken") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("UserNameIdentityToken") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("UserNameIdentityToken", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=7680") node.BrowseName = ua.QualifiedName.from_string("X509IdentityToken") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("X509IdentityToken") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("X509IdentityToken", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12510") node.BrowseName = ua.QualifiedName.from_string("KerberosIdentityToken") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("KerberosIdentityToken") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("KerberosIdentityToken", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=7683") node.BrowseName = ua.QualifiedName.from_string("IssuedIdentityToken") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("IssuedIdentityToken") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("IssuedIdentityToken", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=7728") node.BrowseName = ua.QualifiedName.from_string("AddNodesItem") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("AddNodesItem") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("AddNodesItem", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=7731") node.BrowseName = ua.QualifiedName.from_string("AddReferencesItem") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("AddReferencesItem") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("AddReferencesItem", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=7734") node.BrowseName = ua.QualifiedName.from_string("DeleteNodesItem") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("DeleteNodesItem") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("DeleteNodesItem", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=7737") node.BrowseName = ua.QualifiedName.from_string("DeleteReferencesItem") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("DeleteReferencesItem") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("DeleteReferencesItem", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12718") node.BrowseName = ua.QualifiedName.from_string("RelativePathElement") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("RelativePathElement") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("RelativePathElement", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12721") node.BrowseName = ua.QualifiedName.from_string("RelativePath") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("RelativePath") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("RelativePath", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=7686") node.BrowseName = ua.QualifiedName.from_string("EndpointConfiguration") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EndpointConfiguration") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("EndpointConfiguration", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=7689") node.BrowseName = ua.QualifiedName.from_string("SupportedProfile") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SupportedProfile") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("SupportedProfile", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=7695") node.BrowseName = ua.QualifiedName.from_string("SoftwareCertificate") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SoftwareCertificate") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("SoftwareCertificate", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=7929") node.BrowseName = ua.QualifiedName.from_string("ContentFilterElement") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ContentFilterElement") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("ContentFilterElement", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=7932") node.BrowseName = ua.QualifiedName.from_string("ContentFilter") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ContentFilter") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("ContentFilter", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=7935") node.BrowseName = ua.QualifiedName.from_string("FilterOperand") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("FilterOperand") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("FilterOperand", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=7938") node.BrowseName = ua.QualifiedName.from_string("ElementOperand") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ElementOperand") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("ElementOperand", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=7941") node.BrowseName = ua.QualifiedName.from_string("LiteralOperand") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("LiteralOperand") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("LiteralOperand", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=7944") node.BrowseName = ua.QualifiedName.from_string("AttributeOperand") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("AttributeOperand") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("AttributeOperand", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=7947") node.BrowseName = ua.QualifiedName.from_string("SimpleAttributeOperand") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SimpleAttributeOperand") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("SimpleAttributeOperand", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8004") node.BrowseName = ua.QualifiedName.from_string("HistoryEvent") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("HistoryEvent") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("HistoryEvent", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8067") node.BrowseName = ua.QualifiedName.from_string("MonitoringFilter") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("MonitoringFilter") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("MonitoringFilter", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8073") node.BrowseName = ua.QualifiedName.from_string("EventFilter") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EventFilter") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("EventFilter", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8076") node.BrowseName = ua.QualifiedName.from_string("AggregateConfiguration") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("AggregateConfiguration") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("AggregateConfiguration", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8172") node.BrowseName = ua.QualifiedName.from_string("HistoryEventFieldList") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("HistoryEventFieldList") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("HistoryEventFieldList", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=7692") node.BrowseName = ua.QualifiedName.from_string("BuildInfo") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("BuildInfo") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("BuildInfo", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8208") node.BrowseName = ua.QualifiedName.from_string("RedundantServerDataType") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("RedundantServerDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("RedundantServerDataType", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11959") node.BrowseName = ua.QualifiedName.from_string("EndpointUrlListDataType") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EndpointUrlListDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("EndpointUrlListDataType", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11962") node.BrowseName = ua.QualifiedName.from_string("NetworkGroupDataType") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("NetworkGroupDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("NetworkGroupDataType", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8211") node.BrowseName = ua.QualifiedName.from_string("SamplingIntervalDiagnosticsDataType") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SamplingIntervalDiagnosticsDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("SamplingIntervalDiagnosticsDataType", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8214") node.BrowseName = ua.QualifiedName.from_string("ServerDiagnosticsSummaryDataType") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ServerDiagnosticsSummaryDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("ServerDiagnosticsSummaryDataType", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8217") node.BrowseName = ua.QualifiedName.from_string("ServerStatusDataType") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ServerStatusDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("ServerStatusDataType", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8220") node.BrowseName = ua.QualifiedName.from_string("SessionDiagnosticsDataType") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SessionDiagnosticsDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("SessionDiagnosticsDataType", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8223") node.BrowseName = ua.QualifiedName.from_string("SessionSecurityDiagnosticsDataType") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SessionSecurityDiagnosticsDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("SessionSecurityDiagnosticsDataType", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8226") node.BrowseName = ua.QualifiedName.from_string("ServiceCounterDataType") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ServiceCounterDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("ServiceCounterDataType", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=7659") node.BrowseName = ua.QualifiedName.from_string("StatusResult") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("StatusResult") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("StatusResult", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8229") node.BrowseName = ua.QualifiedName.from_string("SubscriptionDiagnosticsDataType") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SubscriptionDiagnosticsDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("SubscriptionDiagnosticsDataType", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8232") node.BrowseName = ua.QualifiedName.from_string("ModelChangeStructureDataType") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ModelChangeStructureDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("ModelChangeStructureDataType", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8235") node.BrowseName = ua.QualifiedName.from_string("SemanticChangeStructureDataType") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SemanticChangeStructureDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("SemanticChangeStructureDataType", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8238") node.BrowseName = ua.QualifiedName.from_string("Range") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Range") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("Range", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8241") node.BrowseName = ua.QualifiedName.from_string("EUInformation") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EUInformation") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("EUInformation", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12183") node.BrowseName = ua.QualifiedName.from_string("ComplexNumberType") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ComplexNumberType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("ComplexNumberType", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12186") node.BrowseName = ua.QualifiedName.from_string("DoubleComplexNumberType") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("DoubleComplexNumberType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("DoubleComplexNumberType", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12091") node.BrowseName = ua.QualifiedName.from_string("AxisInformation") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("AxisInformation") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("AxisInformation", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12094") node.BrowseName = ua.QualifiedName.from_string("XVType") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("XVType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("XVType", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8247") node.BrowseName = ua.QualifiedName.from_string("ProgramDiagnosticDataType") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ProgramDiagnosticDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("ProgramDiagnosticDataType", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8244") node.BrowseName = ua.QualifiedName.from_string("Annotation") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=7617") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Annotation") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("Annotation", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) python-opcua-0.90.3/opcua/server/standard_address_space/standard_address_space_part8.py000066400000000000000000001471361310132730300315030ustar00rootroot00000000000000 """ DO NOT EDIT THIS FILE! It is automatically generated from opcfoundation.org schemas. """ from opcua import ua def create_standard_address_space_Part8(server): node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2365") node.BrowseName = ua.QualifiedName.from_string("DataItemType") node.NodeClass = ua.NodeClass.VariableType node.ParentNodeId = ua.NodeId.from_string("i=63") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.VariableTypeAttributes() attrs.Description = ua.LocalizedText("A variable that contains live automation data.") attrs.DisplayName = ua.LocalizedText("DataItemType") attrs.Description = ua.LocalizedText("A variable that contains live automation data.") attrs.DisplayName = ua.LocalizedText("DataItemType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -2 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2365") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2366") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2365") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2367") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2366") node.BrowseName = ua.QualifiedName.from_string("Definition") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2365") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("A vendor-specific, human readable string that specifies how the value of this DataItem is calculated.") attrs.DisplayName = ua.LocalizedText("Definition") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2366") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2367") node.BrowseName = ua.QualifiedName.from_string("ValuePrecision") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2365") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("The maximum precision that the server can maintain for the item based on restrictions in the target environment.") attrs.DisplayName = ua.LocalizedText("ValuePrecision") attrs.DataType = ua.NodeId(ua.ObjectIds.Double) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2367") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2368") node.BrowseName = ua.QualifiedName.from_string("AnalogItemType") node.NodeClass = ua.NodeClass.VariableType node.ParentNodeId = ua.NodeId.from_string("i=2365") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.VariableTypeAttributes() attrs.DisplayName = ua.LocalizedText("AnalogItemType") attrs.DisplayName = ua.LocalizedText("AnalogItemType") attrs.DataType = ua.NodeId(ua.ObjectIds.Number) attrs.ValueRank = -2 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2368") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2370") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2368") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2369") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2368") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2371") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2370") node.BrowseName = ua.QualifiedName.from_string("InstrumentRange") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2368") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InstrumentRange") attrs.DataType = ua.NodeId.from_string("i=884") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2370") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2369") node.BrowseName = ua.QualifiedName.from_string("EURange") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2368") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EURange") attrs.DataType = ua.NodeId.from_string("i=884") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2369") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2371") node.BrowseName = ua.QualifiedName.from_string("EngineeringUnits") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2368") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EngineeringUnits") attrs.DataType = ua.NodeId.from_string("i=887") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2371") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2372") node.BrowseName = ua.QualifiedName.from_string("DiscreteItemType") node.NodeClass = ua.NodeClass.VariableType node.ParentNodeId = ua.NodeId.from_string("i=2365") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.VariableTypeAttributes() attrs.DisplayName = ua.LocalizedText("DiscreteItemType") attrs.IsAbstract = True attrs.DisplayName = ua.LocalizedText("DiscreteItemType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -2 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2373") node.BrowseName = ua.QualifiedName.from_string("TwoStateDiscreteType") node.NodeClass = ua.NodeClass.VariableType node.ParentNodeId = ua.NodeId.from_string("i=2372") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.VariableTypeAttributes() attrs.DisplayName = ua.LocalizedText("TwoStateDiscreteType") attrs.DisplayName = ua.LocalizedText("TwoStateDiscreteType") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -2 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2373") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2374") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2373") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2375") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2374") node.BrowseName = ua.QualifiedName.from_string("FalseState") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2373") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("FalseState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2374") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2375") node.BrowseName = ua.QualifiedName.from_string("TrueState") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2373") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TrueState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2375") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2376") node.BrowseName = ua.QualifiedName.from_string("MultiStateDiscreteType") node.NodeClass = ua.NodeClass.VariableType node.ParentNodeId = ua.NodeId.from_string("i=2372") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.VariableTypeAttributes() attrs.DisplayName = ua.LocalizedText("MultiStateDiscreteType") attrs.DisplayName = ua.LocalizedText("MultiStateDiscreteType") attrs.DataType = ua.NodeId(ua.ObjectIds.UInteger) attrs.ValueRank = -2 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2376") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2377") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2377") node.BrowseName = ua.QualifiedName.from_string("EnumStrings") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2376") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EnumStrings") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2377") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11238") node.BrowseName = ua.QualifiedName.from_string("MultiStateValueDiscreteType") node.NodeClass = ua.NodeClass.VariableType node.ParentNodeId = ua.NodeId.from_string("i=2372") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.VariableTypeAttributes() attrs.DisplayName = ua.LocalizedText("MultiStateValueDiscreteType") attrs.DisplayName = ua.LocalizedText("MultiStateValueDiscreteType") attrs.DataType = ua.NodeId(ua.ObjectIds.Number) attrs.ValueRank = -2 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11238") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11241") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11238") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11461") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11241") node.BrowseName = ua.QualifiedName.from_string("EnumValues") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11238") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EnumValues") attrs.DataType = ua.NodeId.from_string("i=7594") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11241") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11461") node.BrowseName = ua.QualifiedName.from_string("ValueAsText") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11238") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ValueAsText") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11461") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12021") node.BrowseName = ua.QualifiedName.from_string("ArrayItemType") node.NodeClass = ua.NodeClass.VariableType node.ParentNodeId = ua.NodeId.from_string("i=2365") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.VariableTypeAttributes() attrs.DisplayName = ua.LocalizedText("ArrayItemType") attrs.IsAbstract = True attrs.DisplayName = ua.LocalizedText("ArrayItemType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=12021") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12024") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=12021") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12025") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=12021") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12026") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=12021") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12027") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=12021") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12028") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12024") node.BrowseName = ua.QualifiedName.from_string("InstrumentRange") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12021") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InstrumentRange") attrs.DataType = ua.NodeId.from_string("i=884") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12024") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12025") node.BrowseName = ua.QualifiedName.from_string("EURange") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12021") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EURange") attrs.DataType = ua.NodeId.from_string("i=884") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12025") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12026") node.BrowseName = ua.QualifiedName.from_string("EngineeringUnits") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12021") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EngineeringUnits") attrs.DataType = ua.NodeId.from_string("i=887") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12026") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12027") node.BrowseName = ua.QualifiedName.from_string("Title") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12021") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Title") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12027") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12028") node.BrowseName = ua.QualifiedName.from_string("AxisScaleType") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12021") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("AxisScaleType") attrs.DataType = ua.NodeId.from_string("i=12077") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12028") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12029") node.BrowseName = ua.QualifiedName.from_string("YArrayItemType") node.NodeClass = ua.NodeClass.VariableType node.ParentNodeId = ua.NodeId.from_string("i=12021") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.VariableTypeAttributes() attrs.DisplayName = ua.LocalizedText("YArrayItemType") attrs.DisplayName = ua.LocalizedText("YArrayItemType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 1 attrs.ArrayDimensions = [0] node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=12029") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12037") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12037") node.BrowseName = ua.QualifiedName.from_string("XAxisDefinition") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12029") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("XAxisDefinition") attrs.DataType = ua.NodeId.from_string("i=12079") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12037") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12038") node.BrowseName = ua.QualifiedName.from_string("XYArrayItemType") node.NodeClass = ua.NodeClass.VariableType node.ParentNodeId = ua.NodeId.from_string("i=12021") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.VariableTypeAttributes() attrs.DisplayName = ua.LocalizedText("XYArrayItemType") attrs.DisplayName = ua.LocalizedText("XYArrayItemType") attrs.DataType = ua.NodeId.from_string("i=12080") attrs.ValueRank = 1 attrs.ArrayDimensions = [0] node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=12038") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12046") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12046") node.BrowseName = ua.QualifiedName.from_string("XAxisDefinition") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12038") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("XAxisDefinition") attrs.DataType = ua.NodeId.from_string("i=12079") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12046") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12047") node.BrowseName = ua.QualifiedName.from_string("ImageItemType") node.NodeClass = ua.NodeClass.VariableType node.ParentNodeId = ua.NodeId.from_string("i=12021") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.VariableTypeAttributes() attrs.DisplayName = ua.LocalizedText("ImageItemType") attrs.DisplayName = ua.LocalizedText("ImageItemType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 2 attrs.ArrayDimensions = [0, 0] node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=12047") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12055") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=12047") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12056") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12055") node.BrowseName = ua.QualifiedName.from_string("XAxisDefinition") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12047") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("XAxisDefinition") attrs.DataType = ua.NodeId.from_string("i=12079") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12055") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12056") node.BrowseName = ua.QualifiedName.from_string("YAxisDefinition") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12047") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("YAxisDefinition") attrs.DataType = ua.NodeId.from_string("i=12079") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12056") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12057") node.BrowseName = ua.QualifiedName.from_string("CubeItemType") node.NodeClass = ua.NodeClass.VariableType node.ParentNodeId = ua.NodeId.from_string("i=12021") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.VariableTypeAttributes() attrs.DisplayName = ua.LocalizedText("CubeItemType") attrs.DisplayName = ua.LocalizedText("CubeItemType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 3 attrs.ArrayDimensions = [0, 0, 0] node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=12057") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12065") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=12057") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12066") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=12057") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12067") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12065") node.BrowseName = ua.QualifiedName.from_string("XAxisDefinition") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12057") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("XAxisDefinition") attrs.DataType = ua.NodeId.from_string("i=12079") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12065") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12066") node.BrowseName = ua.QualifiedName.from_string("YAxisDefinition") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12057") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("YAxisDefinition") attrs.DataType = ua.NodeId.from_string("i=12079") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12066") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12067") node.BrowseName = ua.QualifiedName.from_string("ZAxisDefinition") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12057") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ZAxisDefinition") attrs.DataType = ua.NodeId.from_string("i=12079") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12067") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12068") node.BrowseName = ua.QualifiedName.from_string("NDimensionArrayItemType") node.NodeClass = ua.NodeClass.VariableType node.ParentNodeId = ua.NodeId.from_string("i=12021") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.VariableTypeAttributes() attrs.DisplayName = ua.LocalizedText("NDimensionArrayItemType") attrs.DisplayName = ua.LocalizedText("NDimensionArrayItemType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=12068") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12076") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12076") node.BrowseName = ua.QualifiedName.from_string("AxisDefinition") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12068") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("AxisDefinition") attrs.DataType = ua.NodeId.from_string("i=12079") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12076") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=884") node.BrowseName = ua.QualifiedName.from_string("Range") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=22") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.DisplayName = ua.LocalizedText("Range") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=887") node.BrowseName = ua.QualifiedName.from_string("EUInformation") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=22") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.DisplayName = ua.LocalizedText("EUInformation") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12077") node.BrowseName = ua.QualifiedName.from_string("AxisScaleEnumeration") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=29") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.DisplayName = ua.LocalizedText("AxisScaleEnumeration") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=12077") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12078") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12078") node.BrowseName = ua.QualifiedName.from_string("EnumStrings") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12077") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EnumStrings") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.Value = ua.Variant(['Linear', 'Log', 'Ln'], ua.VariantType.LocalizedText) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12078") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12171") node.BrowseName = ua.QualifiedName.from_string("ComplexNumberType") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=22") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.DisplayName = ua.LocalizedText("ComplexNumberType") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12172") node.BrowseName = ua.QualifiedName.from_string("DoubleComplexNumberType") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=22") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.DisplayName = ua.LocalizedText("DoubleComplexNumberType") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12079") node.BrowseName = ua.QualifiedName.from_string("AxisInformation") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=22") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.DisplayName = ua.LocalizedText("AxisInformation") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12080") node.BrowseName = ua.QualifiedName.from_string("XVType") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=22") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.DisplayName = ua.LocalizedText("XVType") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=885") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=884") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=885") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8873") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=888") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=887") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=888") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8876") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12173") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=12171") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=12173") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12175") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12174") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=12172") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=12174") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12178") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12081") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=12079") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=12081") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12083") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12082") node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=12080") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=12082") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12086") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=886") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=884") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=886") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8238") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=889") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=887") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=889") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8241") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12181") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=12171") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=12181") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12183") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12182") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=12172") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=12182") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12186") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12089") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=12079") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=12089") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12091") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12090") node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=12080") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") ref.SourceNodeId = ua.NodeId.from_string("i=12090") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12094") refs.append(ref) server.add_references(refs) python-opcua-0.90.3/opcua/server/standard_address_space/standard_address_space_part9.py000066400000000000000000007041111310132730300314740ustar00rootroot00000000000000 """ DO NOT EDIT THIS FILE! It is automatically generated from opcfoundation.org schemas. """ from opcua import ua def create_standard_address_space_Part9(server): node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8995") node.BrowseName = ua.QualifiedName.from_string("TwoStateVariableType") node.NodeClass = ua.NodeClass.VariableType node.ParentNodeId = ua.NodeId.from_string("i=2755") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.VariableTypeAttributes() attrs.DisplayName = ua.LocalizedText("TwoStateVariableType") attrs.DisplayName = ua.LocalizedText("TwoStateVariableType") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=8995") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8996") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=8995") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9000") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=8995") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9001") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=8995") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11110") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=8995") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11111") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8996") node.BrowseName = ua.QualifiedName.from_string("Id") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8995") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=8996") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9000") node.BrowseName = ua.QualifiedName.from_string("TransitionTime") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8995") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TransitionTime") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9000") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9001") node.BrowseName = ua.QualifiedName.from_string("EffectiveTransitionTime") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8995") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EffectiveTransitionTime") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9001") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11110") node.BrowseName = ua.QualifiedName.from_string("TrueState") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8995") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TrueState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11110") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11111") node.BrowseName = ua.QualifiedName.from_string("FalseState") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8995") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("FalseState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11111") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9002") node.BrowseName = ua.QualifiedName.from_string("ConditionVariableType") node.NodeClass = ua.NodeClass.VariableType node.ParentNodeId = ua.NodeId.from_string("i=63") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.VariableTypeAttributes() attrs.DisplayName = ua.LocalizedText("ConditionVariableType") attrs.DisplayName = ua.LocalizedText("ConditionVariableType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -2 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=9002") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9003") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9003") node.BrowseName = ua.QualifiedName.from_string("SourceTimestamp") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9002") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SourceTimestamp") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9003") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9004") node.BrowseName = ua.QualifiedName.from_string("HasTrueSubState") node.NodeClass = ua.NodeClass.ReferenceType node.ParentNodeId = ua.NodeId.from_string("i=32") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ReferenceTypeAttributes() attrs.DisplayName = ua.LocalizedText("HasTrueSubState") attrs.InverseName = ua.LocalizedText("IsTrueSubStateOf") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9005") node.BrowseName = ua.QualifiedName.from_string("HasFalseSubState") node.NodeClass = ua.NodeClass.ReferenceType node.ParentNodeId = ua.NodeId.from_string("i=32") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ReferenceTypeAttributes() attrs.DisplayName = ua.LocalizedText("HasFalseSubState") attrs.InverseName = ua.LocalizedText("IsFalseSubStateOf") node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2782") node.BrowseName = ua.QualifiedName.from_string("ConditionType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2041") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("ConditionType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2782") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11112") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2782") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11113") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2782") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9009") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2782") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9010") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2782") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3874") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2782") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9011") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2782") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9020") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2782") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9022") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2782") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9024") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2782") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9026") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2782") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9028") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2782") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9027") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2782") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9029") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2782") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3875") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2782") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12912") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11112") node.BrowseName = ua.QualifiedName.from_string("ConditionClassId") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2782") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ConditionClassId") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11112") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11113") node.BrowseName = ua.QualifiedName.from_string("ConditionClassName") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2782") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ConditionClassName") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11113") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9009") node.BrowseName = ua.QualifiedName.from_string("ConditionName") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2782") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ConditionName") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9009") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9010") node.BrowseName = ua.QualifiedName.from_string("BranchId") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2782") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("BranchId") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9010") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3874") node.BrowseName = ua.QualifiedName.from_string("Retain") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2782") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Retain") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3874") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9011") node.BrowseName = ua.QualifiedName.from_string("EnabledState") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2782") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=8995") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EnabledState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=9011") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9012") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=9011") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9015") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=9011") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9016") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=9011") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9017") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9011") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9012") node.BrowseName = ua.QualifiedName.from_string("Id") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9011") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9012") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9015") node.BrowseName = ua.QualifiedName.from_string("EffectiveDisplayName") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9011") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EffectiveDisplayName") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9015") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9016") node.BrowseName = ua.QualifiedName.from_string("TransitionTime") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9011") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TransitionTime") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9016") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9017") node.BrowseName = ua.QualifiedName.from_string("EffectiveTransitionTime") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9011") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EffectiveTransitionTime") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9017") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9020") node.BrowseName = ua.QualifiedName.from_string("Quality") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2782") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=9002") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Quality") attrs.DataType = ua.NodeId(ua.ObjectIds.StatusCode) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=9020") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9021") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9020") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9021") node.BrowseName = ua.QualifiedName.from_string("SourceTimestamp") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9020") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SourceTimestamp") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9021") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9022") node.BrowseName = ua.QualifiedName.from_string("LastSeverity") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2782") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=9002") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("LastSeverity") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=9022") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9023") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9022") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9023") node.BrowseName = ua.QualifiedName.from_string("SourceTimestamp") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9022") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SourceTimestamp") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9023") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9024") node.BrowseName = ua.QualifiedName.from_string("Comment") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2782") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=9002") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Comment") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=9024") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9025") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9024") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9025") node.BrowseName = ua.QualifiedName.from_string("SourceTimestamp") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9024") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SourceTimestamp") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9025") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9026") node.BrowseName = ua.QualifiedName.from_string("ClientUserId") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2782") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ClientUserId") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9026") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9028") node.BrowseName = ua.QualifiedName.from_string("Disable") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=2782") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("Disable") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") ref.SourceNodeId = ua.NodeId.from_string("i=9028") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2803") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9028") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9027") node.BrowseName = ua.QualifiedName.from_string("Enable") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=2782") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("Enable") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") ref.SourceNodeId = ua.NodeId.from_string("i=9027") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2803") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9027") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9029") node.BrowseName = ua.QualifiedName.from_string("AddComment") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=2782") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("AddComment") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=9029") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9030") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") ref.SourceNodeId = ua.NodeId.from_string("i=9029") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2829") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9029") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9030") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9029") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.Description.Text = b'The identifier for the event to comment.' extobj.DataType = ua.NodeId.from_string("i=15") extobj.Name = 'EventId' extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.Description.Text = b'The comment to add to the condition.' extobj.DataType = ua.NodeId.from_string("i=21") extobj.Name = 'Comment' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9030") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3875") node.BrowseName = ua.QualifiedName.from_string("ConditionRefresh") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=2782") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("ConditionRefresh") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=3875") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3876") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") ref.SourceNodeId = ua.NodeId.from_string("i=3875") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2787") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") ref.SourceNodeId = ua.NodeId.from_string("i=3875") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2788") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3876") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=3875") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.Description.Text = b'The identifier for the suscription to refresh.' extobj.DataType = ua.NodeId.from_string("i=288") extobj.Name = 'SubscriptionId' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=3876") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12912") node.BrowseName = ua.QualifiedName.from_string("ConditionRefresh2") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=2782") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("ConditionRefresh2") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=12912") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12913") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") ref.SourceNodeId = ua.NodeId.from_string("i=12912") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2787") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") ref.SourceNodeId = ua.NodeId.from_string("i=12912") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2788") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12913") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=12912") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.Description.Text = b'The identifier for the suscription to refresh.' extobj.DataType = ua.NodeId.from_string("i=288") extobj.Name = 'SubscriptionId' extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.Description.Text = b'The identifier for the monitored item to refresh.' extobj.DataType = ua.NodeId.from_string("i=288") extobj.Name = 'MonitoredItemId' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=12913") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2830") node.BrowseName = ua.QualifiedName.from_string("DialogConditionType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2782") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("DialogConditionType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2830") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9035") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2830") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9055") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2830") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2831") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2830") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9064") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2830") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9065") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2830") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9066") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2830") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9067") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2830") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9068") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2830") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9069") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9035") node.BrowseName = ua.QualifiedName.from_string("EnabledState") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2830") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=8995") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EnabledState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=9035") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9036") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") ref.SourceNodeId = ua.NodeId.from_string("i=9035") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9055") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9035") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9036") node.BrowseName = ua.QualifiedName.from_string("Id") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9035") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9036") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9055") node.BrowseName = ua.QualifiedName.from_string("DialogState") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2830") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=8995") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("DialogState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=9055") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9056") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=9055") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9060") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9055") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9056") node.BrowseName = ua.QualifiedName.from_string("Id") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9055") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9056") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9060") node.BrowseName = ua.QualifiedName.from_string("TransitionTime") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9055") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TransitionTime") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9060") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2831") node.BrowseName = ua.QualifiedName.from_string("Prompt") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2830") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Prompt") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2831") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9064") node.BrowseName = ua.QualifiedName.from_string("ResponseOptionSet") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2830") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ResponseOptionSet") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9064") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9065") node.BrowseName = ua.QualifiedName.from_string("DefaultResponse") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2830") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("DefaultResponse") attrs.DataType = ua.NodeId(ua.ObjectIds.Int32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9065") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9066") node.BrowseName = ua.QualifiedName.from_string("OkResponse") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2830") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("OkResponse") attrs.DataType = ua.NodeId(ua.ObjectIds.Int32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9066") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9067") node.BrowseName = ua.QualifiedName.from_string("CancelResponse") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2830") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CancelResponse") attrs.DataType = ua.NodeId(ua.ObjectIds.Int32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9067") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9068") node.BrowseName = ua.QualifiedName.from_string("LastResponse") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2830") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("LastResponse") attrs.DataType = ua.NodeId(ua.ObjectIds.Int32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9068") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9069") node.BrowseName = ua.QualifiedName.from_string("Respond") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=2830") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("Respond") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=9069") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9070") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") ref.SourceNodeId = ua.NodeId.from_string("i=9069") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8927") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9069") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9070") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9069") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.Description.Text = b'The response to the dialog condition.' extobj.DataType = ua.NodeId.from_string("i=6") extobj.Name = 'SelectedResponse' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9070") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2881") node.BrowseName = ua.QualifiedName.from_string("AcknowledgeableConditionType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2782") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("AcknowledgeableConditionType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2881") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9073") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2881") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9093") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2881") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9102") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2881") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9111") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2881") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9113") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9073") node.BrowseName = ua.QualifiedName.from_string("EnabledState") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2881") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=8995") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EnabledState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=9073") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9074") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") ref.SourceNodeId = ua.NodeId.from_string("i=9073") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9093") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") ref.SourceNodeId = ua.NodeId.from_string("i=9073") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9102") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9073") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9074") node.BrowseName = ua.QualifiedName.from_string("Id") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9073") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9074") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9093") node.BrowseName = ua.QualifiedName.from_string("AckedState") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2881") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=8995") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("AckedState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=9093") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9094") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=9093") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9098") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9093") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9094") node.BrowseName = ua.QualifiedName.from_string("Id") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9093") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9094") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9098") node.BrowseName = ua.QualifiedName.from_string("TransitionTime") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9093") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TransitionTime") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9098") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9102") node.BrowseName = ua.QualifiedName.from_string("ConfirmedState") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2881") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=8995") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ConfirmedState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=9102") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9103") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=9102") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9107") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9102") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9103") node.BrowseName = ua.QualifiedName.from_string("Id") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9102") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9103") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9107") node.BrowseName = ua.QualifiedName.from_string("TransitionTime") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9102") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TransitionTime") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9107") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9111") node.BrowseName = ua.QualifiedName.from_string("Acknowledge") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=2881") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("Acknowledge") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=9111") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9112") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") ref.SourceNodeId = ua.NodeId.from_string("i=9111") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8944") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9111") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9112") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9111") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.Description.Text = b'The identifier for the event to comment.' extobj.DataType = ua.NodeId.from_string("i=15") extobj.Name = 'EventId' extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.Description.Text = b'The comment to add to the condition.' extobj.DataType = ua.NodeId.from_string("i=21") extobj.Name = 'Comment' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9112") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9113") node.BrowseName = ua.QualifiedName.from_string("Confirm") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=2881") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("Confirm") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=9113") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9114") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") ref.SourceNodeId = ua.NodeId.from_string("i=9113") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8961") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9113") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9114") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9113") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.Description.Text = b'The identifier for the event to comment.' extobj.DataType = ua.NodeId.from_string("i=15") extobj.Name = 'EventId' extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.Description.Text = b'The comment to add to the condition.' extobj.DataType = ua.NodeId.from_string("i=21") extobj.Name = 'Comment' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9114") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2915") node.BrowseName = ua.QualifiedName.from_string("AlarmConditionType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2881") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("AlarmConditionType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2915") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9118") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2915") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9160") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2915") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11120") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2915") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9169") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2915") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9178") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2915") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9215") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2915") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9216") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9118") node.BrowseName = ua.QualifiedName.from_string("EnabledState") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2915") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=8995") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EnabledState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=9118") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9119") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") ref.SourceNodeId = ua.NodeId.from_string("i=9118") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9160") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") ref.SourceNodeId = ua.NodeId.from_string("i=9118") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9169") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") ref.SourceNodeId = ua.NodeId.from_string("i=9118") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9178") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9118") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9119") node.BrowseName = ua.QualifiedName.from_string("Id") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9118") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9119") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9160") node.BrowseName = ua.QualifiedName.from_string("ActiveState") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2915") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=8995") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ActiveState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=9160") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9161") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=9160") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9164") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=9160") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9165") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=9160") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9166") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9160") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9161") node.BrowseName = ua.QualifiedName.from_string("Id") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9160") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9161") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9164") node.BrowseName = ua.QualifiedName.from_string("EffectiveDisplayName") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9160") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EffectiveDisplayName") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9164") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9165") node.BrowseName = ua.QualifiedName.from_string("TransitionTime") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9160") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TransitionTime") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9165") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9166") node.BrowseName = ua.QualifiedName.from_string("EffectiveTransitionTime") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9160") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EffectiveTransitionTime") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9166") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11120") node.BrowseName = ua.QualifiedName.from_string("InputNode") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2915") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InputNode") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11120") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9169") node.BrowseName = ua.QualifiedName.from_string("SuppressedState") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2915") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=8995") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SuppressedState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=9169") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9170") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=9169") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9174") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9169") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9170") node.BrowseName = ua.QualifiedName.from_string("Id") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9169") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9170") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9174") node.BrowseName = ua.QualifiedName.from_string("TransitionTime") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9169") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TransitionTime") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9174") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9178") node.BrowseName = ua.QualifiedName.from_string("ShelvingState") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2915") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2929") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("ShelvingState") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=9178") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9179") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=9178") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9184") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=9178") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9189") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=9178") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9211") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=9178") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9212") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=9178") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9213") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9178") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9179") node.BrowseName = ua.QualifiedName.from_string("CurrentState") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9178") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2760") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CurrentState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=9179") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9180") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9179") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9180") node.BrowseName = ua.QualifiedName.from_string("Id") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9179") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9180") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9184") node.BrowseName = ua.QualifiedName.from_string("LastTransition") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9178") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2767") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("LastTransition") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=9184") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9185") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=9184") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9188") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9184") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9185") node.BrowseName = ua.QualifiedName.from_string("Id") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9184") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9185") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9188") node.BrowseName = ua.QualifiedName.from_string("TransitionTime") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9184") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TransitionTime") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9188") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9189") node.BrowseName = ua.QualifiedName.from_string("UnshelveTime") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9178") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("UnshelveTime") attrs.DataType = ua.NodeId.from_string("i=290") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9189") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9211") node.BrowseName = ua.QualifiedName.from_string("Unshelve") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=9178") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("Unshelve") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") ref.SourceNodeId = ua.NodeId.from_string("i=9211") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11093") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9211") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9212") node.BrowseName = ua.QualifiedName.from_string("OneShotShelve") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=9178") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("OneShotShelve") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") ref.SourceNodeId = ua.NodeId.from_string("i=9212") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11093") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9212") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9213") node.BrowseName = ua.QualifiedName.from_string("TimedShelve") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=9178") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("TimedShelve") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=9213") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9214") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") ref.SourceNodeId = ua.NodeId.from_string("i=9213") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11093") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9213") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9214") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9213") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.Description.Text = b'If not 0, this parameter specifies a fixed time for which the Alarm is to be shelved.' extobj.DataType = ua.NodeId.from_string("i=290") extobj.Name = 'ShelvingTime' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9214") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9215") node.BrowseName = ua.QualifiedName.from_string("SuppressedOrShelved") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2915") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SuppressedOrShelved") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9215") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9216") node.BrowseName = ua.QualifiedName.from_string("MaxTimeShelved") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2915") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("MaxTimeShelved") attrs.DataType = ua.NodeId.from_string("i=290") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9216") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2929") node.BrowseName = ua.QualifiedName.from_string("ShelvedStateMachineType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2771") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("ShelvedStateMachineType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2929") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9115") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2929") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2930") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2929") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2932") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2929") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2933") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2929") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2935") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2929") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2936") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2929") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2940") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2929") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2942") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2929") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2943") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2929") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2945") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2929") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2947") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2929") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2948") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2929") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2949") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9115") node.BrowseName = ua.QualifiedName.from_string("UnshelveTime") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2929") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("UnshelveTime") attrs.DataType = ua.NodeId.from_string("i=290") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9115") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2930") node.BrowseName = ua.QualifiedName.from_string("Unshelved") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2929") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2307") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Unshelved") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2930") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=6098") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=6098") node.BrowseName = ua.QualifiedName.from_string("StateNumber") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2930") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("StateNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=6098") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2932") node.BrowseName = ua.QualifiedName.from_string("TimedShelved") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2929") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2307") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("TimedShelved") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2932") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=6100") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=6100") node.BrowseName = ua.QualifiedName.from_string("StateNumber") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2932") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("StateNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=6100") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2933") node.BrowseName = ua.QualifiedName.from_string("OneShotShelved") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2929") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2307") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("OneShotShelved") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2933") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=6101") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=6101") node.BrowseName = ua.QualifiedName.from_string("StateNumber") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2933") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("StateNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=6101") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2935") node.BrowseName = ua.QualifiedName.from_string("UnshelvedToTimedShelved") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2929") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2310") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("UnshelvedToTimedShelved") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2935") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11322") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=51") ref.SourceNodeId = ua.NodeId.from_string("i=2935") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2930") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=52") ref.SourceNodeId = ua.NodeId.from_string("i=2935") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2932") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=54") ref.SourceNodeId = ua.NodeId.from_string("i=2935") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2915") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=53") ref.SourceNodeId = ua.NodeId.from_string("i=2935") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2949") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11322") node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2935") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TransitionNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11322") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2936") node.BrowseName = ua.QualifiedName.from_string("UnshelvedToOneShotShelved") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2929") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2310") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("UnshelvedToOneShotShelved") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2936") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11323") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=51") ref.SourceNodeId = ua.NodeId.from_string("i=2936") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2930") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=52") ref.SourceNodeId = ua.NodeId.from_string("i=2936") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2933") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=54") ref.SourceNodeId = ua.NodeId.from_string("i=2936") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2915") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=53") ref.SourceNodeId = ua.NodeId.from_string("i=2936") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2948") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11323") node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2936") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TransitionNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11323") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2940") node.BrowseName = ua.QualifiedName.from_string("TimedShelvedToUnshelved") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2929") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2310") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("TimedShelvedToUnshelved") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2940") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11324") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=51") ref.SourceNodeId = ua.NodeId.from_string("i=2940") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2932") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=52") ref.SourceNodeId = ua.NodeId.from_string("i=2940") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2930") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=54") ref.SourceNodeId = ua.NodeId.from_string("i=2940") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2915") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=53") ref.SourceNodeId = ua.NodeId.from_string("i=2940") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2947") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11324") node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2940") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TransitionNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11324") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2942") node.BrowseName = ua.QualifiedName.from_string("TimedShelvedToOneShotShelved") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2929") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2310") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("TimedShelvedToOneShotShelved") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2942") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11325") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=51") ref.SourceNodeId = ua.NodeId.from_string("i=2942") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2932") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=52") ref.SourceNodeId = ua.NodeId.from_string("i=2942") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2933") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=54") ref.SourceNodeId = ua.NodeId.from_string("i=2942") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2915") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=53") ref.SourceNodeId = ua.NodeId.from_string("i=2942") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2948") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11325") node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2942") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TransitionNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11325") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2943") node.BrowseName = ua.QualifiedName.from_string("OneShotShelvedToUnshelved") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2929") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2310") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("OneShotShelvedToUnshelved") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2943") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11326") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=51") ref.SourceNodeId = ua.NodeId.from_string("i=2943") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2933") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=52") ref.SourceNodeId = ua.NodeId.from_string("i=2943") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2930") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=54") ref.SourceNodeId = ua.NodeId.from_string("i=2943") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2915") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=53") ref.SourceNodeId = ua.NodeId.from_string("i=2943") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2947") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11326") node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2943") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TransitionNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11326") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2945") node.BrowseName = ua.QualifiedName.from_string("OneShotShelvedToTimedShelved") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2929") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2310") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("OneShotShelvedToTimedShelved") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2945") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11327") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=51") ref.SourceNodeId = ua.NodeId.from_string("i=2945") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2933") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=52") ref.SourceNodeId = ua.NodeId.from_string("i=2945") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2932") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=54") ref.SourceNodeId = ua.NodeId.from_string("i=2945") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2915") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=53") ref.SourceNodeId = ua.NodeId.from_string("i=2945") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2949") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11327") node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2945") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TransitionNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11327") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2947") node.BrowseName = ua.QualifiedName.from_string("Unshelve") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=2929") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("Unshelve") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") ref.SourceNodeId = ua.NodeId.from_string("i=2947") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11093") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2947") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2948") node.BrowseName = ua.QualifiedName.from_string("OneShotShelve") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=2929") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("OneShotShelve") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") ref.SourceNodeId = ua.NodeId.from_string("i=2948") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11093") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2948") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2949") node.BrowseName = ua.QualifiedName.from_string("TimedShelve") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=2929") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("TimedShelve") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2949") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2991") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") ref.SourceNodeId = ua.NodeId.from_string("i=2949") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11093") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2949") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2991") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2949") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("InputArguments") attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() extobj.Description.Text = b'If not 0, this parameter specifies a fixed time for which the Alarm is to be shelved.' extobj.DataType = ua.NodeId.from_string("i=290") extobj.Name = 'ShelvingTime' extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2991") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2955") node.BrowseName = ua.QualifiedName.from_string("LimitAlarmType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2915") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("LimitAlarmType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2955") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11124") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2955") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11125") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2955") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11126") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2955") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11127") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11124") node.BrowseName = ua.QualifiedName.from_string("HighHighLimit") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2955") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("HighHighLimit") attrs.DataType = ua.NodeId(ua.ObjectIds.Double) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11124") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11125") node.BrowseName = ua.QualifiedName.from_string("HighLimit") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2955") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("HighLimit") attrs.DataType = ua.NodeId(ua.ObjectIds.Double) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11125") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11126") node.BrowseName = ua.QualifiedName.from_string("LowLimit") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2955") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("LowLimit") attrs.DataType = ua.NodeId(ua.ObjectIds.Double) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11126") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11127") node.BrowseName = ua.QualifiedName.from_string("LowLowLimit") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2955") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("LowLowLimit") attrs.DataType = ua.NodeId(ua.ObjectIds.Double) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11127") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9318") node.BrowseName = ua.QualifiedName.from_string("ExclusiveLimitStateMachineType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2771") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("ExclusiveLimitStateMachineType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=9318") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9329") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=9318") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9331") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=9318") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9333") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=9318") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9335") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=9318") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9337") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=9318") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9338") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=9318") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9339") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=9318") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9340") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9329") node.BrowseName = ua.QualifiedName.from_string("HighHigh") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=9318") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2307") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("HighHigh") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=9329") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9330") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9330") node.BrowseName = ua.QualifiedName.from_string("StateNumber") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9329") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("StateNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9330") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9331") node.BrowseName = ua.QualifiedName.from_string("High") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=9318") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2307") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("High") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=9331") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9332") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9332") node.BrowseName = ua.QualifiedName.from_string("StateNumber") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9331") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("StateNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9332") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9333") node.BrowseName = ua.QualifiedName.from_string("Low") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=9318") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2307") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("Low") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=9333") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9334") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9334") node.BrowseName = ua.QualifiedName.from_string("StateNumber") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9333") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("StateNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9334") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9335") node.BrowseName = ua.QualifiedName.from_string("LowLow") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=9318") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2307") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("LowLow") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=9335") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9336") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9336") node.BrowseName = ua.QualifiedName.from_string("StateNumber") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9335") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("StateNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9336") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9337") node.BrowseName = ua.QualifiedName.from_string("LowLowToLow") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=9318") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2310") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("LowLowToLow") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=9337") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11340") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=51") ref.SourceNodeId = ua.NodeId.from_string("i=9337") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9335") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=52") ref.SourceNodeId = ua.NodeId.from_string("i=9337") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9333") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11340") node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9337") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TransitionNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11340") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9338") node.BrowseName = ua.QualifiedName.from_string("LowToLowLow") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=9318") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2310") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("LowToLowLow") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=9338") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11341") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=51") ref.SourceNodeId = ua.NodeId.from_string("i=9338") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9333") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=52") ref.SourceNodeId = ua.NodeId.from_string("i=9338") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9335") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11341") node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9338") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TransitionNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11341") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9339") node.BrowseName = ua.QualifiedName.from_string("HighHighToHigh") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=9318") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2310") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("HighHighToHigh") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=9339") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11342") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=51") ref.SourceNodeId = ua.NodeId.from_string("i=9339") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9329") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=52") ref.SourceNodeId = ua.NodeId.from_string("i=9339") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9331") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11342") node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9339") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TransitionNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11342") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9340") node.BrowseName = ua.QualifiedName.from_string("HighToHighHigh") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=9318") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2310") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("HighToHighHigh") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=9340") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11343") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=51") ref.SourceNodeId = ua.NodeId.from_string("i=9340") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9331") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=52") ref.SourceNodeId = ua.NodeId.from_string("i=9340") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9329") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11343") node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9340") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TransitionNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11343") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9341") node.BrowseName = ua.QualifiedName.from_string("ExclusiveLimitAlarmType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2955") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("ExclusiveLimitAlarmType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=9341") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9398") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=9341") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9455") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9398") node.BrowseName = ua.QualifiedName.from_string("ActiveState") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9341") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=8995") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ActiveState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=9398") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9399") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") ref.SourceNodeId = ua.NodeId.from_string("i=9398") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9455") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9398") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9399") node.BrowseName = ua.QualifiedName.from_string("Id") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9398") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9399") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9455") node.BrowseName = ua.QualifiedName.from_string("LimitState") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=9341") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=9318") attrs = ua.ObjectAttributes() attrs.DisplayName = ua.LocalizedText("LimitState") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=9455") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9456") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=9455") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9461") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9455") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9456") node.BrowseName = ua.QualifiedName.from_string("CurrentState") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9455") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2760") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CurrentState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=9456") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9457") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9456") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9457") node.BrowseName = ua.QualifiedName.from_string("Id") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9456") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9457") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9461") node.BrowseName = ua.QualifiedName.from_string("LastTransition") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9455") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2767") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("LastTransition") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=9461") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9462") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=9461") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9465") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9461") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9462") node.BrowseName = ua.QualifiedName.from_string("Id") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9461") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9462") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9465") node.BrowseName = ua.QualifiedName.from_string("TransitionTime") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9461") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TransitionTime") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9465") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9906") node.BrowseName = ua.QualifiedName.from_string("NonExclusiveLimitAlarmType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2955") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("NonExclusiveLimitAlarmType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=9906") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9963") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=9906") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=10020") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=9906") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=10029") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=9906") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=10038") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=9906") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=10047") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9963") node.BrowseName = ua.QualifiedName.from_string("ActiveState") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9906") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=8995") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ActiveState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=9963") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9964") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") ref.SourceNodeId = ua.NodeId.from_string("i=9963") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=10020") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") ref.SourceNodeId = ua.NodeId.from_string("i=9963") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=10029") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") ref.SourceNodeId = ua.NodeId.from_string("i=9963") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=10038") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") ref.SourceNodeId = ua.NodeId.from_string("i=9963") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=10047") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9963") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9964") node.BrowseName = ua.QualifiedName.from_string("Id") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9963") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9964") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=10020") node.BrowseName = ua.QualifiedName.from_string("HighHighState") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9906") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=8995") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("HighHighState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=10020") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=10021") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=10020") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=10025") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=10020") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=10021") node.BrowseName = ua.QualifiedName.from_string("Id") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=10020") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=10021") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=10025") node.BrowseName = ua.QualifiedName.from_string("TransitionTime") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=10020") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TransitionTime") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=10025") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=10029") node.BrowseName = ua.QualifiedName.from_string("HighState") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9906") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=8995") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("HighState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=10029") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=10030") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=10029") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=10034") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=10029") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=10030") node.BrowseName = ua.QualifiedName.from_string("Id") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=10029") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=10030") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=10034") node.BrowseName = ua.QualifiedName.from_string("TransitionTime") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=10029") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TransitionTime") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=10034") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=10038") node.BrowseName = ua.QualifiedName.from_string("LowState") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9906") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=8995") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("LowState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=10038") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=10039") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=10038") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=10043") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=10038") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=10039") node.BrowseName = ua.QualifiedName.from_string("Id") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=10038") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=10039") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=10043") node.BrowseName = ua.QualifiedName.from_string("TransitionTime") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=10038") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TransitionTime") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=10043") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=10047") node.BrowseName = ua.QualifiedName.from_string("LowLowState") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9906") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=8995") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("LowLowState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=10047") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=10048") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=10047") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=10052") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=10047") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=10048") node.BrowseName = ua.QualifiedName.from_string("Id") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=10047") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=10048") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=10052") node.BrowseName = ua.QualifiedName.from_string("TransitionTime") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=10047") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("TransitionTime") attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=10052") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=10060") node.BrowseName = ua.QualifiedName.from_string("NonExclusiveLevelAlarmType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=9906") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("NonExclusiveLevelAlarmType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9482") node.BrowseName = ua.QualifiedName.from_string("ExclusiveLevelAlarmType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=9341") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("ExclusiveLevelAlarmType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=10368") node.BrowseName = ua.QualifiedName.from_string("NonExclusiveDeviationAlarmType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=9906") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("NonExclusiveDeviationAlarmType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=10368") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=10522") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=10522") node.BrowseName = ua.QualifiedName.from_string("SetpointNode") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=10368") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SetpointNode") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=10522") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9764") node.BrowseName = ua.QualifiedName.from_string("ExclusiveDeviationAlarmType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=9341") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("ExclusiveDeviationAlarmType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=9764") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9905") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9905") node.BrowseName = ua.QualifiedName.from_string("SetpointNode") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=9764") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SetpointNode") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=9905") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=10214") node.BrowseName = ua.QualifiedName.from_string("NonExclusiveRateOfChangeAlarmType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=9906") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("NonExclusiveRateOfChangeAlarmType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9623") node.BrowseName = ua.QualifiedName.from_string("ExclusiveRateOfChangeAlarmType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=9341") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("ExclusiveRateOfChangeAlarmType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=10523") node.BrowseName = ua.QualifiedName.from_string("DiscreteAlarmType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2915") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("DiscreteAlarmType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=10637") node.BrowseName = ua.QualifiedName.from_string("OffNormalAlarmType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=10523") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("OffNormalAlarmType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=10637") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11158") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11158") node.BrowseName = ua.QualifiedName.from_string("NormalState") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=10637") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("NormalState") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11158") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11753") node.BrowseName = ua.QualifiedName.from_string("SystemOffNormalAlarmType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=10637") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("SystemOffNormalAlarmType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=13225") node.BrowseName = ua.QualifiedName.from_string("CertificateExpirationAlarmType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=11753") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("CertificateExpirationAlarmType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=13225") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=13325") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=13225") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=13326") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=13225") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=13327") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=13325") node.BrowseName = ua.QualifiedName.from_string("ExpirationDate") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=13225") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ExpirationDate") attrs.DataType = ua.NodeId(ua.ObjectIds.DateTime) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=13325") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=13326") node.BrowseName = ua.QualifiedName.from_string("CertificateType") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=13225") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("CertificateType") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=13326") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=13327") node.BrowseName = ua.QualifiedName.from_string("Certificate") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=13225") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Certificate") attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=13327") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=10751") node.BrowseName = ua.QualifiedName.from_string("TripAlarmType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=10637") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("TripAlarmType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11163") node.BrowseName = ua.QualifiedName.from_string("BaseConditionClassType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=58") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("BaseConditionClassType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11164") node.BrowseName = ua.QualifiedName.from_string("ProcessConditionClassType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=11163") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("ProcessConditionClassType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11165") node.BrowseName = ua.QualifiedName.from_string("MaintenanceConditionClassType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=11163") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("MaintenanceConditionClassType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11166") node.BrowseName = ua.QualifiedName.from_string("SystemConditionClassType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=11163") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("SystemConditionClassType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2790") node.BrowseName = ua.QualifiedName.from_string("AuditConditionEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2127") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("AuditConditionEventType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2803") node.BrowseName = ua.QualifiedName.from_string("AuditConditionEnableEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2790") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("AuditConditionEnableEventType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2829") node.BrowseName = ua.QualifiedName.from_string("AuditConditionCommentEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2790") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("AuditConditionCommentEventType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2829") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=4170") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2829") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11851") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=4170") node.BrowseName = ua.QualifiedName.from_string("EventId") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2829") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("A globally unique identifier for the event.") attrs.DisplayName = ua.LocalizedText("EventId") attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=4170") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11851") node.BrowseName = ua.QualifiedName.from_string("Comment") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2829") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Comment") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11851") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8927") node.BrowseName = ua.QualifiedName.from_string("AuditConditionRespondEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2790") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("AuditConditionRespondEventType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=8927") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11852") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11852") node.BrowseName = ua.QualifiedName.from_string("SelectedResponse") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8927") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("SelectedResponse") attrs.DataType = ua.NodeId(ua.ObjectIds.Int32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11852") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8944") node.BrowseName = ua.QualifiedName.from_string("AuditConditionAcknowledgeEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2790") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("AuditConditionAcknowledgeEventType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=8944") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8945") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=8944") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11853") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8945") node.BrowseName = ua.QualifiedName.from_string("EventId") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8944") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("A globally unique identifier for the event.") attrs.DisplayName = ua.LocalizedText("EventId") attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=8945") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11853") node.BrowseName = ua.QualifiedName.from_string("Comment") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8944") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Comment") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11853") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8961") node.BrowseName = ua.QualifiedName.from_string("AuditConditionConfirmEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2790") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("AuditConditionConfirmEventType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=8961") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8962") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=8961") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11854") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8962") node.BrowseName = ua.QualifiedName.from_string("EventId") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8961") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("A globally unique identifier for the event.") attrs.DisplayName = ua.LocalizedText("EventId") attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=8962") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11854") node.BrowseName = ua.QualifiedName.from_string("Comment") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=8961") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Comment") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11854") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11093") node.BrowseName = ua.QualifiedName.from_string("AuditConditionShelvingEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2790") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("AuditConditionShelvingEventType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=11093") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11855") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11855") node.BrowseName = ua.QualifiedName.from_string("ShelvingTime") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11093") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ShelvingTime") attrs.DataType = ua.NodeId.from_string("i=290") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=11855") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2787") node.BrowseName = ua.QualifiedName.from_string("RefreshStartEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2130") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("RefreshStartEventType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2788") node.BrowseName = ua.QualifiedName.from_string("RefreshEndEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2130") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("RefreshEndEventType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2789") node.BrowseName = ua.QualifiedName.from_string("RefreshRequiredEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2130") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("RefreshRequiredEventType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9006") node.BrowseName = ua.QualifiedName.from_string("HasCondition") node.NodeClass = ua.NodeClass.ReferenceType node.ParentNodeId = ua.NodeId.from_string("i=32") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ReferenceTypeAttributes() attrs.DisplayName = ua.LocalizedText("HasCondition") attrs.InverseName = ua.LocalizedText("IsConditionOf") node.NodeAttributes = attrs server.add_nodes([node]) python-opcua-0.90.3/opcua/server/subscription_service.py000066400000000000000000000100331310132730300234520ustar00rootroot00000000000000""" server side implementation of subscription service """ from threading import RLock import logging from opcua import ua from opcua.server.internal_subscription import InternalSubscription class SubscriptionService(object): def __init__(self, loop, aspace): self.logger = logging.getLogger(__name__) self.loop = loop self.aspace = aspace self.subscriptions = {} self._sub_id_counter = 77 self._lock = RLock() def create_subscription(self, params, callback): self.logger.info("create subscription with callback: %s", callback) result = ua.CreateSubscriptionResult() result.RevisedPublishingInterval = params.RequestedPublishingInterval result.RevisedLifetimeCount = params.RequestedLifetimeCount result.RevisedMaxKeepAliveCount = params.RequestedMaxKeepAliveCount with self._lock: self._sub_id_counter += 1 result.SubscriptionId = self._sub_id_counter sub = InternalSubscription(self, result, self.aspace, callback) sub.start() self.subscriptions[result.SubscriptionId] = sub return result def delete_subscriptions(self, ids): self.logger.info("delete subscriptions: %s", ids) res = [] for i in ids: with self._lock: if i not in self.subscriptions: res.append(ua.StatusCode(ua.StatusCodes.BadSubscriptionIdInvalid)) else: sub = self.subscriptions.pop(i) sub.stop() res.append(ua.StatusCode()) return res def publish(self, acks): self.logger.info("publish request with acks %s", acks) with self._lock: for subid, sub in self.subscriptions.items(): sub.publish([ack.SequenceNumber for ack in acks if ack.SubscriptionId == subid]) def create_monitored_items(self, params): self.logger.info("create monitored items") with self._lock: if params.SubscriptionId not in self.subscriptions: res = [] for _ in params.ItemsToCreate: response = ua.MonitoredItemCreateResult() response.StatusCode = ua.StatusCode(ua.StatusCodes.BadSubscriptionIdInvalid) res.append(response) return res return self.subscriptions[params.SubscriptionId].monitored_item_srv.create_monitored_items(params) def modify_monitored_items(self, params): self.logger.info("modify monitored items") with self._lock: if params.SubscriptionId not in self.subscriptions: res = [] for _ in params.ItemsToModify: result = ua.MonitoredItemModifyResult() result.StatusCode = ua.StatusCode(ua.StatusCodes.BadSubscriptionIdInvalid) res.append(result) return res return self.subscriptions[params.SubscriptionId].monitored_item_srv.modify_monitored_items(params) def delete_monitored_items(self, params): self.logger.info("delete monitored items") with self._lock: if params.SubscriptionId not in self.subscriptions: res = [] for _ in params.MonitoredItemIds: res.append(ua.StatusCode(ua.StatusCodes.BadSubscriptionIdInvalid)) return res return self.subscriptions[params.SubscriptionId].monitored_item_srv.delete_monitored_items( params.MonitoredItemIds) def republish(self, params): with self._lock: if params.SubscriptionId not in self.subscriptions: # TODO: what should I do? return ua.NotificationMessage() return self.subscriptions[params.SubscriptionId].republish(params.RetransmitSequenceNumber) def trigger_event(self, event): with self._lock: for sub in self.subscriptions.values(): sub.monitored_item_srv.trigger_event(event) python-opcua-0.90.3/opcua/server/uaprocessor.py000066400000000000000000000473211310132730300215650ustar00rootroot00000000000000 import logging from threading import RLock, Lock import time from opcua import ua from opcua.common import utils class PublishRequestData(object): def __init__(self): self.requesthdr = None self.algohdr = None self.seqhdr = None self.timestamp = time.time() class UaProcessor(object): def __init__(self, internal_server, socket): self.logger = logging.getLogger(__name__) self.iserver = internal_server self.name = socket.get_extra_info('peername') self.sockname = socket.get_extra_info('sockname') self.session = None self.socket = socket self._socketlock = Lock() self._datalock = RLock() self._publishdata_queue = [] self._publish_result_queue = [] # used when we need to wait for PublishRequest self._connection = ua.SecureConnection(ua.SecurityPolicy()) def set_policies(self, policies): self._connection.set_policy_factories(policies) def send_response(self, requesthandle, algohdr, seqhdr, response, msgtype=ua.MessageType.SecureMessage): with self._socketlock: response.ResponseHeader.RequestHandle = requesthandle data = self._connection.message_to_binary( response.to_binary(), message_type=msgtype, request_id=seqhdr.RequestId, algohdr=algohdr) self.socket.write(data) def open_secure_channel(self, algohdr, seqhdr, body): request = ua.OpenSecureChannelRequest.from_binary(body) self._connection.select_policy( algohdr.SecurityPolicyURI, algohdr.SenderCertificate, request.Parameters.SecurityMode) channel = self._connection.open(request.Parameters, self.iserver) # send response response = ua.OpenSecureChannelResponse() response.Parameters = channel self.send_response(request.RequestHeader.RequestHandle, None, seqhdr, response, ua.MessageType.SecureOpen) def forward_publish_response(self, result): self.logger.info("forward publish response %s", result) with self._datalock: while True: if len(self._publishdata_queue) == 0: self._publish_result_queue.append(result) self.logger.info("Server wants to send publish answer but no publish request is available," "enqueing notification, length of result queue is %s", len(self._publish_result_queue)) return requestdata = self._publishdata_queue.pop(0) if time.time() - requestdata.timestamp < requestdata.requesthdr.TimeoutHint / 1000: break response = ua.PublishResponse() response.Parameters = result self.send_response(requestdata.requesthdr.RequestHandle, requestdata.algohdr, requestdata.seqhdr, response) def process(self, header, body): msg = self._connection.receive_from_header_and_body(header, body) if isinstance(msg, ua.Message): if header.MessageType == ua.MessageType.SecureOpen: self.open_secure_channel(msg.SecurityHeader(), msg.SequenceHeader(), msg.body()) elif header.MessageType == ua.MessageType.SecureClose: self._connection.close() return False elif header.MessageType == ua.MessageType.SecureMessage: return self.process_message(msg.SecurityHeader(), msg.SequenceHeader(), msg.body()) elif isinstance(msg, ua.Hello): ack = ua.Acknowledge() ack.ReceiveBufferSize = msg.ReceiveBufferSize ack.SendBufferSize = msg.SendBufferSize data = self._connection.tcp_to_binary(ua.MessageType.Acknowledge, ack) self.socket.write(data) elif isinstance(msg, ua.ErrorMessage): self.logger.warning("Received an error message type") elif msg is None: pass # msg is a ChunkType.Intermediate of an ua.MessageType.SecureMessage else: self.logger.warning("Unsupported message type: %s", header.MessageType) raise utils.ServiceError(ua.StatusCodes.BadTcpMessageTypeInvalid) return True def process_message(self, algohdr, seqhdr, body): typeid = ua.NodeId.from_binary(body) requesthdr = ua.RequestHeader.from_binary(body) try: return self._process_message(typeid, requesthdr, algohdr, seqhdr, body) except utils.ServiceError as e: status = ua.StatusCode(e.code) response = ua.ServiceFault() response.ResponseHeader.ServiceResult = status self.logger.info("sending service fault response: %s (%s)", status.doc, status.name) self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) return True def _process_message(self, typeid, requesthdr, algohdr, seqhdr, body): if typeid == ua.NodeId(ua.ObjectIds.CreateSessionRequest_Encoding_DefaultBinary): self.logger.info("Create session request") params = ua.CreateSessionParameters.from_binary(body) # create the session on server self.session = self.iserver.create_session(self.name, external=True) # get a session creation result to send back sessiondata = self.session.create_session(params, sockname=self.sockname) response = ua.CreateSessionResponse() response.Parameters = sessiondata response.Parameters.ServerCertificate = self._connection._security_policy.client_certificate if self._connection._security_policy.server_certificate is None: data = params.ClientNonce else: data = self._connection._security_policy.server_certificate + params.ClientNonce response.Parameters.ServerSignature.Signature = \ self._connection._security_policy.asymmetric_cryptography.signature(data) response.Parameters.ServerSignature.Algorithm = "http://www.w3.org/2000/09/xmldsig#rsa-sha1" self.logger.info("sending create sesssion response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.CloseSessionRequest_Encoding_DefaultBinary): self.logger.info("Close session request") deletesubs = ua.ua_binary.Primitives.Boolean.unpack(body) self.session.close_session(deletesubs) response = ua.CloseSessionResponse() self.logger.info("sending close sesssion response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.ActivateSessionRequest_Encoding_DefaultBinary): self.logger.info("Activate session request") params = ua.ActivateSessionParameters.from_binary(body) if not self.session: self.logger.info("request to activate non-existing session") raise utils.ServiceError(ua.StatusCodes.BadSessionIdInvalid) if self._connection._security_policy.client_certificate is None: data = self.session.nonce else: data = self._connection._security_policy.client_certificate + self.session.nonce self._connection._security_policy.asymmetric_cryptography.verify(data, params.ClientSignature.Signature) result = self.session.activate_session(params) response = ua.ActivateSessionResponse() response.Parameters = result self.logger.info("sending read response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.ReadRequest_Encoding_DefaultBinary): self.logger.info("Read request") params = ua.ReadParameters.from_binary(body) results = self.session.read(params) response = ua.ReadResponse() response.Results = results self.logger.info("sending read response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.WriteRequest_Encoding_DefaultBinary): self.logger.info("Write request") params = ua.WriteParameters.from_binary(body) results = self.session.write(params) response = ua.WriteResponse() response.Results = results self.logger.info("sending write response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.BrowseRequest_Encoding_DefaultBinary): self.logger.info("Browse request") params = ua.BrowseParameters.from_binary(body) results = self.session.browse(params) response = ua.BrowseResponse() response.Results = results self.logger.info("sending browse response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.GetEndpointsRequest_Encoding_DefaultBinary): self.logger.info("get endpoints request") params = ua.GetEndpointsParameters.from_binary(body) endpoints = self.iserver.get_endpoints(params, sockname=self.sockname) response = ua.GetEndpointsResponse() response.Endpoints = endpoints self.logger.info("sending get endpoints response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.FindServersRequest_Encoding_DefaultBinary): self.logger.info("find servers request") params = ua.FindServersParameters.from_binary(body) servers = self.iserver.find_servers(params) response = ua.FindServersResponse() response.Servers = servers self.logger.info("sending find servers response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.RegisterServerRequest_Encoding_DefaultBinary): self.logger.info("register server request") serv = ua.RegisteredServer.from_binary(body) self.iserver.register_server(serv) response = ua.RegisterServerResponse() self.logger.info("sending register server response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.RegisterServer2Request_Encoding_DefaultBinary): self.logger.info("register server 2 request") params = ua.RegisterServer2Parameters.from_binary(body) results = self.iserver.register_server2(params) response = ua.RegisterServer2Response() response.ConfigurationResults = results self.logger.info("sending register server 2 response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultBinary): self.logger.info("translate browsepaths to nodeids request") params = ua.TranslateBrowsePathsToNodeIdsParameters.from_binary(body) paths = self.session.translate_browsepaths_to_nodeids(params.BrowsePaths) response = ua.TranslateBrowsePathsToNodeIdsResponse() response.Results = paths self.logger.info("sending translate browsepaths to nodeids response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.AddNodesRequest_Encoding_DefaultBinary): self.logger.info("add nodes request") params = ua.AddNodesParameters.from_binary(body) results = self.session.add_nodes(params.NodesToAdd) response = ua.AddNodesResponse() response.Results = results self.logger.info("sending add node response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.DeleteNodesRequest_Encoding_DefaultBinary): self.logger.info("delete nodes request") params = ua.DeleteNodesParameters.from_binary(body) results = self.session.delete_nodes(params) response = ua.DeleteNodesResponse() response.Results = results self.logger.info("sending delete node response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.AddReferencesRequest_Encoding_DefaultBinary): self.logger.info("add references request") params = ua.AddReferencesParameters.from_binary(body) results = self.session.add_references(params.ReferencesToAdd) response = ua.AddReferencesResponse() response.Results = results self.logger.info("sending add references response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.CreateSubscriptionRequest_Encoding_DefaultBinary): self.logger.info("create subscription request") params = ua.CreateSubscriptionParameters.from_binary(body) result = self.session.create_subscription(params, self.forward_publish_response) response = ua.CreateSubscriptionResponse() response.Parameters = result self.logger.info("sending create subscription response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.DeleteSubscriptionsRequest_Encoding_DefaultBinary): self.logger.info("delete subscriptions request") params = ua.DeleteSubscriptionsParameters.from_binary(body) results = self.session.delete_subscriptions(params.SubscriptionIds) response = ua.DeleteSubscriptionsResponse() response.Results = results self.logger.info("sending delte subscription response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.CreateMonitoredItemsRequest_Encoding_DefaultBinary): self.logger.info("create monitored items request") params = ua.CreateMonitoredItemsParameters.from_binary(body) results = self.session.create_monitored_items(params) response = ua.CreateMonitoredItemsResponse() response.Results = results self.logger.info("sending create monitored items response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.ModifyMonitoredItemsRequest_Encoding_DefaultBinary): self.logger.info("modify monitored items request") params = ua.ModifyMonitoredItemsParameters.from_binary(body) results = self.session.modify_monitored_items(params) response = ua.ModifyMonitoredItemsResponse() response.Results = results self.logger.info("sending modify monitored items response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.DeleteMonitoredItemsRequest_Encoding_DefaultBinary): self.logger.info("delete monitored items request") params = ua.DeleteMonitoredItemsParameters.from_binary(body) results = self.session.delete_monitored_items(params) response = ua.DeleteMonitoredItemsResponse() response.Results = results self.logger.info("sending delete monitored items response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.HistoryReadRequest_Encoding_DefaultBinary): self.logger.info("history read request") params = ua.HistoryReadParameters.from_binary(body) results = self.session.history_read(params) response = ua.HistoryReadResponse() response.Results = results self.logger.info("sending history read response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.RegisterNodesRequest_Encoding_DefaultBinary): self.logger.info("register nodes request") params = ua.RegisterNodesParameters.from_binary(body) self.logger.info("Node registration not implemented") response = ua.RegisterNodesResponse() response.Parameters.RegisteredNodeIds = params.NodesToRegister self.logger.info("sending register nodes response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.UnregisterNodesRequest_Encoding_DefaultBinary): self.logger.info("unregister nodes request") params = ua.UnregisterNodesParameters.from_binary(body) response = ua.UnregisterNodesResponse() self.logger.info("sending unregister nodes response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.PublishRequest_Encoding_DefaultBinary): self.logger.info("publish request") if not self.session: return False params = ua.PublishParameters.from_binary(body) data = PublishRequestData() data.requesthdr = requesthdr data.seqhdr = seqhdr data.algohdr = algohdr with self._datalock: self._publishdata_queue.append(data) # will be used to send publish answers from server if self._publish_result_queue: result = self._publish_result_queue.pop(0) self.forward_publish_response(result) self.session.publish(params.SubscriptionAcknowledgements) self.logger.info("publish forward to server") elif typeid == ua.NodeId(ua.ObjectIds.RepublishRequest_Encoding_DefaultBinary): self.logger.info("re-publish request") params = ua.RepublishParameters.from_binary(body) msg = self.session.republish(params) response = ua.RepublishResponse() response.NotificationMessage = msg self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.CloseSecureChannelRequest_Encoding_DefaultBinary): self.logger.info("close secure channel request") self._connection.close() response = ua.CloseSecureChannelResponse() self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) return False elif typeid == ua.NodeId(ua.ObjectIds.CallRequest_Encoding_DefaultBinary): self.logger.info("call request") params = ua.CallParameters.from_binary(body) results = self.session.call(params.MethodsToCall) response = ua.CallResponse() response.Results = results self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) else: self.logger.warning("Unknown message received %s", typeid) raise utils.ServiceError(ua.StatusCodes.BadNotImplemented) return True def close(self): """ to be called when client has disconnected to ensure we really close everything we should """ print("Cleanup client connection: ", self.name) if self.session: self.session.close_session(True) python-opcua-0.90.3/opcua/server/users.py000066400000000000000000000002551310132730300203540ustar00rootroot00000000000000""" Implement user managent here """ from enum import Enum class User(Enum): """ Define some default users. """ Admin = 0 Anonymous = 1 User = 3 python-opcua-0.90.3/opcua/tools.py000066400000000000000000000676221310132730300170600ustar00rootroot00000000000000import logging import sys import argparse from datetime import datetime, timedelta import math import time try: from IPython import embed except ImportError: import code def embed(): code.interact(local=dict(globals(), **locals())) from opcua import ua from opcua import Client from opcua import Server from opcua import Node from opcua import uamethod def add_minimum_args(parser): parser.add_argument("-u", "--url", help="URL of OPC UA server (for example: opc.tcp://example.org:4840)", default='opc.tcp://localhost:4840', metavar="URL") parser.add_argument("-v", "--verbose", dest="loglevel", choices=['DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL'], default='WARNING', help="Set log level") parser.add_argument("--timeout", dest="timeout", type=int, default=1, help="Set socket timeout (NOT the diverse UA timeouts)") def add_common_args(parser, default_node='i=84'): add_minimum_args(parser) parser.add_argument("-n", "--nodeid", help="Fully-qualified node ID (for example: i=85). Default: root node", default=default_node, metavar="NODE") parser.add_argument("-p", "--path", help="Comma separated browse path to the node starting at NODE (for example: 3:Mybject,3:MyVariable)", default='', metavar="BROWSEPATH") parser.add_argument("-i", "--namespace", help="Default namespace", type=int, default=0, metavar="NAMESPACE") parser.add_argument("--security", help="Security settings, for example: Basic256,SignAndEncrypt,cert.der,pk.pem[,server_cert.der]. Default: None", default='') def _require_nodeid(parser, args): # check that a nodeid has been given explicitly, a bit hackish... if args.nodeid == "i=84" and args.path == "": parser.print_usage() print("{0}: error: A NodeId or BrowsePath is required".format(parser.prog)) sys.exit(1) def parse_args(parser, requirenodeid=False): args = parser.parse_args() logging.basicConfig(format="%(levelname)s: %(message)s", level=getattr(logging, args.loglevel)) if args.url and '://' not in args.url: logging.info("Adding default scheme %s to URL %s", ua.OPC_TCP_SCHEME, args.url) args.url = ua.OPC_TCP_SCHEME + '://' + args.url if requirenodeid: _require_nodeid(parser, args) return args def get_node(client, args): node = client.get_node(args.nodeid) if args.path: path = args.path.split(",") if node.nodeid == ua.NodeId(84, 0) and path[0] == "0:Root": # let user specify root if not node given path = path[1:] node = node.get_child(path) return node def uaread(): parser = argparse.ArgumentParser(description="Read attribute of a node, per default reads value of a node") add_common_args(parser) parser.add_argument("-a", "--attribute", dest="attribute", type=int, default=ua.AttributeIds.Value, help="Set attribute to read") parser.add_argument("-t", "--datatype", dest="datatype", default="python", choices=['python', 'variant', 'datavalue'], help="Data type to return") args = parse_args(parser, requirenodeid=True) client = Client(args.url, timeout=args.timeout) client.set_security_string(args.security) client.connect() try: node = get_node(client, args) attr = node.get_attribute(args.attribute) if args.datatype == "python": print(attr.Value.Value) elif args.datatype == "variant": print(attr.Value) else: print(attr) finally: client.disconnect() sys.exit(0) print(args) def _args_to_array(val, array): if array == "guess": if "," in val: array = "true" if array == "true": val = val.split(",") return val def _arg_to_bool(val): return val in ("true", "True") def _arg_to_variant(val, array, ptype, varianttype=None): val = _args_to_array(val, array) if isinstance(val, list): val = [ptype(i) for i in val] else: val = ptype(val) if varianttype: return ua.Variant(val, varianttype) else: return ua.Variant(val) def _val_to_variant(val, args): array = args.array if args.datatype == "guess": if val in ("true", "True", "false", "False"): return _arg_to_variant(val, array, _arg_to_bool) try: return _arg_to_variant(val, array, int) except ValueError: try: return _arg_to_variant(val, array, float) except ValueError: return _arg_to_variant(val, array, str) elif args.datatype == "bool": if val in ("1", "True", "true"): return ua.Variant(True, ua.VariantType.Boolean) else: return ua.Variant(False, ua.VariantType.Boolean) elif args.datatype == "sbyte": return _arg_to_variant(val, array, int, ua.VariantType.SByte) elif args.datatype == "byte": return _arg_to_variant(val, array, int, ua.VariantType.Byte) #elif args.datatype == "uint8": #return _arg_to_variant(val, array, int, ua.VariantType.Byte) elif args.datatype == "uint16": return _arg_to_variant(val, array, int, ua.VariantType.UInt16) elif args.datatype == "uint32": return _arg_to_variant(val, array, int, ua.VariantType.UInt32) elif args.datatype == "uint64": return _arg_to_variant(val, array, int, ua.VariantType.UInt64) #elif args.datatype == "int8": #return ua.Variant(int(val), ua.VariantType.Int8) elif args.datatype == "int16": return _arg_to_variant(val, array, int, ua.VariantType.Int16) elif args.datatype == "int32": return _arg_to_variant(val, array, int, ua.VariantType.Int32) elif args.datatype == "int64": return _arg_to_variant(val, array, int, ua.VariantType.Int64) elif args.datatype == "float": return _arg_to_variant(val, array, float, ua.VariantType.Float) elif args.datatype == "double": return _arg_to_variant(val, array, float, ua.VariantType.Double) elif args.datatype == "string": return _arg_to_variant(val, array, str, ua.VariantType.String) elif args.datatype == "datetime": raise NotImplementedError elif args.datatype == "Guid": return _arg_to_variant(val, array, bytes, ua.VariantType.Guid) elif args.datatype == "ByteString": return _arg_to_variant(val, array, bytes, ua.VariantType.ByteString) elif args.datatype == "xml": return _arg_to_variant(val, array, str, ua.VariantType.XmlElement) elif args.datatype == "nodeid": return _arg_to_variant(val, array, ua.NodeId.from_string, ua.VariantType.NodeId) elif args.datatype == "expandednodeid": return _arg_to_variant(val, array, ua.ExpandedNodeId.from_string, ua.VariantType.ExpandedNodeId) elif args.datatype == "statuscode": return _arg_to_variant(val, array, int, ua.VariantType.StatusCode) elif args.datatype in ("qualifiedname", "browsename"): return _arg_to_variant(val, array, ua.QualifiedName.from_string, ua.VariantType.QualifiedName) elif args.datatype == "LocalizedText": return _arg_to_variant(val, array, ua.LocalizedText, ua.VariantType.LocalizedText) def uawrite(): parser = argparse.ArgumentParser(description="Write attribute of a node, per default write value of node") add_common_args(parser) parser.add_argument("-a", "--attribute", dest="attribute", type=int, default=ua.AttributeIds.Value, help="Set attribute to read") parser.add_argument("-l", "--list", "--array", dest="array", default="guess", choices=["guess", "true", "false"], help="Value is an array") parser.add_argument("-t", "--datatype", dest="datatype", default="guess", choices=["guess", 'byte', 'sbyte', 'nodeid', 'expandednodeid', 'qualifiedname', 'browsename', 'string', 'float', 'double', 'int16', 'int32', "int64", 'uint16', 'uint32', 'uint64', "bool", "string", 'datetime', 'bytestring', 'xmlelement', 'statuscode', 'localizedtext'], help="Data type to return") parser.add_argument("value", help="Value to be written", metavar="VALUE") args = parse_args(parser, requirenodeid=True) client = Client(args.url, timeout=args.timeout) client.set_security_string(args.security) client.connect() try: node = get_node(client, args) val = _val_to_variant(args.value, args) node.set_attribute(args.attribute, ua.DataValue(val)) finally: client.disconnect() sys.exit(0) print(args) def uals(): parser = argparse.ArgumentParser(description="Browse OPC-UA node and print result") add_common_args(parser) parser.add_argument("-l", dest="long_format", const=3, nargs="?", type=int, help="use a long listing format") parser.add_argument("-d", "--depth", default=1, type=int, help="Browse depth") args = parse_args(parser) if args.long_format is None: args.long_format = 1 client = Client(args.url, timeout=args.timeout) client.set_security_string(args.security) client.connect() try: node = get_node(client, args) print("Browsing node {0} at {1}\n".format(node, args.url)) if args.long_format == 0: _lsprint_0(node, args.depth - 1) elif args.long_format == 1: _lsprint_1(node, args.depth - 1) else: _lsprint_long(node, args.depth - 1) finally: client.disconnect() sys.exit(0) print(args) def _lsprint_0(node, depth, indent=""): if not indent: print("{0:30} {1:25}".format("DisplayName", "NodeId")) print("") for desc in node.get_children_descriptions(): print("{0}{1:30} {2:25}".format(indent, desc.DisplayName.to_string(), desc.NodeId.to_string())) if depth: _lsprint_0(Node(node.server, desc.NodeId), depth - 1, indent + " ") def _lsprint_1(node, depth, indent=""): if not indent: print("{0:30} {1:25} {2:25} {3:25}".format("DisplayName", "NodeId", "BrowseName", "Value")) print("") for desc in node.get_children_descriptions(): if desc.NodeClass == ua.NodeClass.Variable: val = Node(node.server, desc.NodeId).get_value() print("{0}{1:30} {2!s:25} {3!s:25}, {4!s:3}".format(indent, desc.DisplayName.to_string(), desc.NodeId.to_string(), desc.BrowseName.to_string(), val)) else: print("{0}{1:30} {2!s:25} {3!s:25}".format(indent, desc.DisplayName.to_string(), desc.NodeId.to_string(), desc.BrowseName.to_string())) if depth: _lsprint_1(Node(node.server, desc.NodeId), depth - 1, indent + " ") def _lsprint_long(pnode, depth, indent=""): if not indent: print("{0:30} {1:25} {2:25} {3:10} {4:30} {5:25}".format("DisplayName", "NodeId", "BrowseName", "DataType", "Timestamp", "Value")) print("") for node in pnode.get_children(): attrs = node.get_attributes([ua.AttributeIds.DisplayName, ua.AttributeIds.BrowseName, ua.AttributeIds.NodeClass, ua.AttributeIds.WriteMask, ua.AttributeIds.UserWriteMask, ua.AttributeIds.DataType, ua.AttributeIds.Value]) name, bname, nclass, mask, umask, dtype, val = [attr.Value.Value for attr in attrs] update = attrs[-1].ServerTimestamp if nclass == ua.NodeClass.Variable: print("{0}{1:30} {2:25} {3:25} {4:10} {5!s:30} {6!s:25}".format(indent, name.to_string(), node.nodeid.to_string(), bname.to_string(), dtype.to_string(), update, val)) else: print("{0}{1:30} {2:25} {3:25}".format(indent, name.to_string(), bname.to_string(), node.nodeid.to_string())) if depth: _lsprint_long(node, depth - 1, indent + " ") class SubHandler(object): def datachange_notification(self, node, val, data): print("New data change event", node, val, data) def event_notification(self, event): print("New event", event) def uasubscribe(): parser = argparse.ArgumentParser(description="Subscribe to a node and print results") add_common_args(parser) parser.add_argument("-t", "--eventtype", dest="eventtype", default="datachange", choices=['datachange', 'event'], help="Event type to subscribe to") args = parse_args(parser, requirenodeid=False) if args.eventtype == "datachange": _require_nodeid(parser, args) else: # FIXME: this is broken, someone may have written i=84 on purpose if args.nodeid == "i=84" and args.path == "": args.nodeid = "i=2253" client = Client(args.url, timeout=args.timeout) client.set_security_string(args.security) client.connect() try: node = get_node(client, args) handler = SubHandler() sub = client.create_subscription(500, handler) if args.eventtype == "datachange": sub.subscribe_data_change(node) else: sub.subscribe_events(node) print("Type Ctr-C to exit") while True: time.sleep(1) finally: client.disconnect() sys.exit(0) print(args) def application_to_strings(app): result = [] result.append(('Application URI', app.ApplicationUri)) optionals = [ ('Product URI', app.ProductUri), ('Application Name', app.ApplicationName.to_string()), ('Application Type', str(app.ApplicationType)), ('Gateway Server URI', app.GatewayServerUri), ('Discovery Profile URI', app.DiscoveryProfileUri), ] for (n, v) in optionals: if v: result.append((n, v)) for url in app.DiscoveryUrls: result.append(('Discovery URL', url)) return result # ['{}: {}'.format(n, v) for (n, v) in result] def cert_to_string(der): if not der: return '[no certificate]' try: from opcua.crypto import uacrypto except ImportError: return "{0} bytes".format(len(der)) cert = uacrypto.x509_from_der(der) return uacrypto.x509_to_string(cert) def endpoint_to_strings(ep): result = [('Endpoint URL', ep.EndpointUrl)] result += application_to_strings(ep.Server) result += [ ('Server Certificate', cert_to_string(ep.ServerCertificate)), ('Security Mode', str(ep.SecurityMode)), ('Security Policy URI', ep.SecurityPolicyUri)] for tok in ep.UserIdentityTokens: result += [ ('User policy', tok.PolicyId), (' Token type', str(tok.TokenType))] if tok.IssuedTokenType or tok.IssuerEndpointUrl: result += [ (' Issued Token type', tok.IssuedTokenType), (' Issuer Endpoint URL', tok.IssuerEndpointUrl)] if tok.SecurityPolicyUri: result.append((' Security Policy URI', tok.SecurityPolicyUri)) result += [ ('Transport Profile URI', ep.TransportProfileUri), ('Security Level', ep.SecurityLevel)] return result def uaclient(): parser = argparse.ArgumentParser(description="Connect to server and start python shell. root and objects nodes are available. Node specificed in command line is available as mynode variable") add_common_args(parser) parser.add_argument("-c", "--certificate", help="set client certificate") parser.add_argument("-k", "--private_key", help="set client private key") args = parse_args(parser) client = Client(args.url, timeout=args.timeout) client.set_security_string(args.security) if args.certificate: client.load_client_certificate(args.certificate) if args.private_key: client.load_private_key(args.private_key) client.connect() try: root = client.get_root_node() objects = client.get_objects_node() mynode = get_node(client, args) embed() finally: client.disconnect() sys.exit(0) def uaserver(): parser = argparse.ArgumentParser(description="Run an example OPC-UA server. By importing xml definition and using uawrite command line, it is even possible to expose real data using this server") # we setup a server, this is a bit different from other tool so we do not reuse common arguments parser.add_argument("-u", "--url", help="URL of OPC UA server, default is opc.tcp://0.0.0.0:4840", default='opc.tcp://0.0.0.0:4840', metavar="URL") parser.add_argument("-v", "--verbose", dest="loglevel", choices=['DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL'], default='WARNING', help="Set log level") parser.add_argument("-x", "--xml", metavar="XML_FILE", help="Populate address space with nodes defined in XML") parser.add_argument("-p", "--populate", action="store_true", help="Populate address space with some sample nodes") parser.add_argument("-c", "--disable-clock", action="store_true", help="Disable clock, to avoid seeing many write if debugging an application") parser.add_argument("-s", "--shell", action="store_true", help="Start python shell instead of randomly changing node values") parser.add_argument("--certificate", help="set server certificate") parser.add_argument("--private_key", help="set server private key") args = parser.parse_args() logging.basicConfig(format="%(levelname)s: %(message)s", level=getattr(logging, args.loglevel)) server = Server() server.set_endpoint(args.url) if args.certificate: server.load_certificate(args.certificate) if args.private_key: server.load_private_key(args.private_key) server.disable_clock(args.disable_clock) server.set_server_name("FreeOpcUa Example Server") if args.xml: server.import_xml(args.xml) if args.populate: @uamethod def multiply(parent, x, y): print("multiply method call with parameters: ", x, y) return x * y uri = "http://examples.freeopcua.github.io" idx = server.register_namespace(uri) objects = server.get_objects_node() myobj = objects.add_object(idx, "MyObject") mywritablevar = myobj.add_variable(idx, "MyWritableVariable", 6.7) mywritablevar.set_writable() # Set MyVariable to be writable by clients myvar = myobj.add_variable(idx, "MyVariable", 6.7) myarrayvar = myobj.add_variable(idx, "MyVarArray", [6.7, 7.9]) myprop = myobj.add_property(idx, "MyProperty", "I am a property") mymethod = myobj.add_method(idx, "MyMethod", multiply, [ua.VariantType.Double, ua.VariantType.Int64], [ua.VariantType.Double]) server.start() try: if args.shell: embed() elif args.populate: count = 0 while True: time.sleep(1) myvar.set_value(math.sin(count / 10)) myarrayvar.set_value([math.sin(count / 10), math.sin(count / 100)]) count += 1 else: while True: time.sleep(1) finally: server.stop() sys.exit(0) def uadiscover(): parser = argparse.ArgumentParser(description="Performs OPC UA discovery and prints information on servers and endpoints.") add_minimum_args(parser) parser.add_argument("-n", "--network", action="store_true", help="Also send a FindServersOnNetwork request to server") #parser.add_argument("-s", #"--servers", #action="store_false", #help="send a FindServers request to server") #parser.add_argument("-e", #"--endpoints", #action="store_false", #help="send a GetEndpoints request to server") args = parse_args(parser) client = Client(args.url, timeout=args.timeout) if args.network: print("Performing discovery at {0}\n".format(args.url)) for i, server in enumerate(client.connect_and_find_servers_on_network(), start=1): print('Server {0}:'.format(i)) #for (n, v) in application_to_strings(server): #print(' {}: {}'.format(n, v)) print('') print("Performing discovery at {0}\n".format(args.url)) for i, server in enumerate(client.connect_and_find_servers(), start=1): print('Server {0}:'.format(i)) for (n, v) in application_to_strings(server): print(' {0}: {1}'.format(n, v)) print('') for i, ep in enumerate(client.connect_and_get_server_endpoints(), start=1): print('Endpoint {0}:'.format(i)) for (n, v) in endpoint_to_strings(ep): print(' {0}: {1}'.format(n, v)) print('') sys.exit(0) def print_history(o): if isinstance(o, ua.HistoryData): print("{0:30} {1:10} {2}".format('Source timestamp', 'Status', 'Value')) for d in o.DataValues: print("{0:30} {1:10} {2}".format(str(d.SourceTimestamp), d.StatusCode.name, d.Value)) def str_to_datetime(s, default=None): if not s: if default is not None: return default return datetime.utcnow() # FIXME: try different datetime formats for fmt in ["%Y-%m-%d", "%Y-%m-%d %H:%M", "%Y-%m-%d %H:%M:%S"]: try: return datetime.strptime(s, fmt) except ValueError: pass def uahistoryread(): parser = argparse.ArgumentParser(description="Read history of a node") add_common_args(parser) parser.add_argument("--starttime", default=None, help="Start time, formatted as YYYY-MM-DD [HH:MM[:SS]]. Default: current time - one day") parser.add_argument("--endtime", default=None, help="End time, formatted as YYYY-MM-DD [HH:MM[:SS]]. Default: current time") parser.add_argument("-e", "--events", action="store_true", help="Read event history instead of data change history") parser.add_argument("-l", "--limit", type=int, default=10, help="Maximum number of notfication to return") args = parse_args(parser, requirenodeid=True) client = Client(args.url, timeout=args.timeout) client.set_security_string(args.security) client.connect() try: node = get_node(client, args) starttime = str_to_datetime(args.starttime, datetime.utcnow() - timedelta(days=1)) endtime = str_to_datetime(args.endtime, datetime.utcnow()) print("Reading raw history of node {0} at {1}; start at {2}, end at {3}\n".format(node, args.url, starttime, endtime)) if args.events: evs = node.read_event_history(starttime, endtime, numvalues=args.limit) for ev in evs: print(ev) else: print_history(node.read_raw_history(starttime, endtime, numvalues=args.limit)) finally: client.disconnect() sys.exit(0) def uacall(): parser = argparse.ArgumentParser(description="Call method of a node") add_common_args(parser) parser.add_argument("-m", "--method", dest="method", type=int, default=None, help="Set method to call. If not given then (single) method of the selected node is used.") parser.add_argument("-l", "--list", "--array", dest="array", default="guess", choices=["guess", "true", "false"], help="Value is an array") parser.add_argument("-t", "--datatype", dest="datatype", default="guess", choices=["guess", 'byte', 'sbyte', 'nodeid', 'expandednodeid', 'qualifiedname', 'browsename', 'string', 'float', 'double', 'int16', 'int32', "int64", 'uint16', 'uint32', 'uint64', "bool", "string", 'datetime', 'bytestring', 'xmlelement', 'statuscode', 'localizedtext'], help="Data type to return") parser.add_argument("value", help="Value to use for call to method, if any", nargs="?", metavar="VALUE") args = parse_args(parser, requirenodeid=True) client = Client(args.url, timeout=args.timeout) client.set_security_string(args.security) client.connect() try: node = get_node(client, args) # val must be a tuple in order to enable method calls without arguments if ( args.value is None ): val = () #empty tuple else: val = (_val_to_variant(args.value, args),) # tuple with one element # determine method to call: Either explicitly given or automatically select the method of the selected node. methods = node.get_methods() method_id = None #print( "methods=%s" % (methods) ) if ( args.method is None ): if ( len( methods ) == 0 ): raise ValueError( "No methods in selected node and no method given" ) elif ( len( methods ) == 1 ): method_id = methods[0] else: raise ValueError( "Selected node has {0:d} methods but no method given. Provide one of {1!s}".format(*(methods)) ) else: for m in methods: if ( m.nodeid.Identifier == args.method ): method_id = m.nodeid break if ( method_id is None): # last resort: method_id = ua.NodeId( identifier=args.method )#, namespaceidx=? )#, nodeidtype=?): ) #print( "method_id=%s\nval=%s" % (method_id,val) ) result_variants = node.call_method( method_id, *val ) print( "resulting result_variants={0!s}".format(result_variants) ) finally: client.disconnect() sys.exit(0) print(args) python-opcua-0.90.3/opcua/ua/000077500000000000000000000000001310132730300157365ustar00rootroot00000000000000python-opcua-0.90.3/opcua/ua/__init__.py000066400000000000000000000006101310132730300200440ustar00rootroot00000000000000# the order is important, some classes are overriden from opcua.ua.attribute_ids import AttributeIds from opcua.ua.object_ids import ObjectIds from opcua.ua.object_ids import ObjectIdNames from opcua.ua.status_codes import StatusCodes from opcua.ua.uaprotocol_auto import * from opcua.ua.uaprotocol_hand import * from opcua.ua.uatypes import * #TODO: This should be renamed to uatypes_hand python-opcua-0.90.3/opcua/ua/attribute_ids.py000066400000000000000000000010251310132730300211500ustar00rootroot00000000000000#AUTOGENERATED!!! from enum import IntEnum class AttributeIds(IntEnum): NodeId = 1 NodeClass = 2 BrowseName = 3 DisplayName = 4 Description = 5 WriteMask = 6 UserWriteMask = 7 IsAbstract = 8 Symmetric = 9 InverseName = 10 ContainsNoLoops = 11 EventNotifier = 12 Value = 13 DataType = 14 ValueRank = 15 ArrayDimensions = 16 AccessLevel = 17 UserAccessLevel = 18 MinimumSamplingInterval = 19 Historizing = 20 Executable = 21 UserExecutable = 22 python-opcua-0.90.3/opcua/ua/object_ids.py000066400000000000000000026114241310132730300204270ustar00rootroot00000000000000#AUTOGENERATED!!! from enum import IntEnum class ObjectIds(object): Null = 0 Boolean = 1 SByte = 2 Byte = 3 Int16 = 4 UInt16 = 5 Int32 = 6 UInt32 = 7 Int64 = 8 UInt64 = 9 Float = 10 Double = 11 String = 12 DateTime = 13 Guid = 14 ByteString = 15 XmlElement = 16 NodeId = 17 ExpandedNodeId = 18 StatusCode = 19 QualifiedName = 20 LocalizedText = 21 Structure = 22 DataValue = 23 BaseDataType = 24 DiagnosticInfo = 25 Number = 26 Integer = 27 UInteger = 28 Enumeration = 29 Image = 30 References = 31 NonHierarchicalReferences = 32 HierarchicalReferences = 33 HasChild = 34 Organizes = 35 HasEventSource = 36 HasModellingRule = 37 HasEncoding = 38 HasDescription = 39 HasTypeDefinition = 40 GeneratesEvent = 41 Aggregates = 44 HasSubtype = 45 HasProperty = 46 HasComponent = 47 HasNotifier = 48 HasOrderedComponent = 49 FromState = 51 ToState = 52 HasCause = 53 HasEffect = 54 HasHistoricalConfiguration = 56 BaseObjectType = 58 FolderType = 61 BaseVariableType = 62 BaseDataVariableType = 63 PropertyType = 68 DataTypeDescriptionType = 69 DataTypeDictionaryType = 72 DataTypeSystemType = 75 DataTypeEncodingType = 76 ModellingRuleType = 77 ModellingRule_Mandatory = 78 ModellingRule_MandatoryShared = 79 ModellingRule_Optional = 80 ModellingRule_ExposesItsArray = 83 RootFolder = 84 ObjectsFolder = 85 TypesFolder = 86 ViewsFolder = 87 ObjectTypesFolder = 88 VariableTypesFolder = 89 DataTypesFolder = 90 ReferenceTypesFolder = 91 XmlSchema_TypeSystem = 92 OPCBinarySchema_TypeSystem = 93 DataTypeDescriptionType_DataTypeVersion = 104 DataTypeDescriptionType_DictionaryFragment = 105 DataTypeDictionaryType_DataTypeVersion = 106 DataTypeDictionaryType_NamespaceUri = 107 ModellingRuleType_NamingRule = 111 ModellingRule_Mandatory_NamingRule = 112 ModellingRule_Optional_NamingRule = 113 ModellingRule_ExposesItsArray_NamingRule = 114 ModellingRule_MandatoryShared_NamingRule = 116 HasSubStateMachine = 117 NamingRuleType = 120 Decimal128 = 121 IdType = 256 NodeClass = 257 Node = 258 Node_Encoding_DefaultXml = 259 Node_Encoding_DefaultBinary = 260 ObjectNode = 261 ObjectNode_Encoding_DefaultXml = 262 ObjectNode_Encoding_DefaultBinary = 263 ObjectTypeNode = 264 ObjectTypeNode_Encoding_DefaultXml = 265 ObjectTypeNode_Encoding_DefaultBinary = 266 VariableNode = 267 VariableNode_Encoding_DefaultXml = 268 VariableNode_Encoding_DefaultBinary = 269 VariableTypeNode = 270 VariableTypeNode_Encoding_DefaultXml = 271 VariableTypeNode_Encoding_DefaultBinary = 272 ReferenceTypeNode = 273 ReferenceTypeNode_Encoding_DefaultXml = 274 ReferenceTypeNode_Encoding_DefaultBinary = 275 MethodNode = 276 MethodNode_Encoding_DefaultXml = 277 MethodNode_Encoding_DefaultBinary = 278 ViewNode = 279 ViewNode_Encoding_DefaultXml = 280 ViewNode_Encoding_DefaultBinary = 281 DataTypeNode = 282 DataTypeNode_Encoding_DefaultXml = 283 DataTypeNode_Encoding_DefaultBinary = 284 ReferenceNode = 285 ReferenceNode_Encoding_DefaultXml = 286 ReferenceNode_Encoding_DefaultBinary = 287 IntegerId = 288 Counter = 289 Duration = 290 NumericRange = 291 Time = 292 Date = 293 UtcTime = 294 LocaleId = 295 Argument = 296 Argument_Encoding_DefaultXml = 297 Argument_Encoding_DefaultBinary = 298 StatusResult = 299 StatusResult_Encoding_DefaultXml = 300 StatusResult_Encoding_DefaultBinary = 301 MessageSecurityMode = 302 UserTokenType = 303 UserTokenPolicy = 304 UserTokenPolicy_Encoding_DefaultXml = 305 UserTokenPolicy_Encoding_DefaultBinary = 306 ApplicationType = 307 ApplicationDescription = 308 ApplicationDescription_Encoding_DefaultXml = 309 ApplicationDescription_Encoding_DefaultBinary = 310 ApplicationInstanceCertificate = 311 EndpointDescription = 312 EndpointDescription_Encoding_DefaultXml = 313 EndpointDescription_Encoding_DefaultBinary = 314 SecurityTokenRequestType = 315 UserIdentityToken = 316 UserIdentityToken_Encoding_DefaultXml = 317 UserIdentityToken_Encoding_DefaultBinary = 318 AnonymousIdentityToken = 319 AnonymousIdentityToken_Encoding_DefaultXml = 320 AnonymousIdentityToken_Encoding_DefaultBinary = 321 UserNameIdentityToken = 322 UserNameIdentityToken_Encoding_DefaultXml = 323 UserNameIdentityToken_Encoding_DefaultBinary = 324 X509IdentityToken = 325 X509IdentityToken_Encoding_DefaultXml = 326 X509IdentityToken_Encoding_DefaultBinary = 327 EndpointConfiguration = 331 EndpointConfiguration_Encoding_DefaultXml = 332 EndpointConfiguration_Encoding_DefaultBinary = 333 ComplianceLevel = 334 SupportedProfile = 335 SupportedProfile_Encoding_DefaultXml = 336 SupportedProfile_Encoding_DefaultBinary = 337 BuildInfo = 338 BuildInfo_Encoding_DefaultXml = 339 BuildInfo_Encoding_DefaultBinary = 340 SoftwareCertificate = 341 SoftwareCertificate_Encoding_DefaultXml = 342 SoftwareCertificate_Encoding_DefaultBinary = 343 SignedSoftwareCertificate = 344 SignedSoftwareCertificate_Encoding_DefaultXml = 345 SignedSoftwareCertificate_Encoding_DefaultBinary = 346 AttributeWriteMask = 347 NodeAttributesMask = 348 NodeAttributes = 349 NodeAttributes_Encoding_DefaultXml = 350 NodeAttributes_Encoding_DefaultBinary = 351 ObjectAttributes = 352 ObjectAttributes_Encoding_DefaultXml = 353 ObjectAttributes_Encoding_DefaultBinary = 354 VariableAttributes = 355 VariableAttributes_Encoding_DefaultXml = 356 VariableAttributes_Encoding_DefaultBinary = 357 MethodAttributes = 358 MethodAttributes_Encoding_DefaultXml = 359 MethodAttributes_Encoding_DefaultBinary = 360 ObjectTypeAttributes = 361 ObjectTypeAttributes_Encoding_DefaultXml = 362 ObjectTypeAttributes_Encoding_DefaultBinary = 363 VariableTypeAttributes = 364 VariableTypeAttributes_Encoding_DefaultXml = 365 VariableTypeAttributes_Encoding_DefaultBinary = 366 ReferenceTypeAttributes = 367 ReferenceTypeAttributes_Encoding_DefaultXml = 368 ReferenceTypeAttributes_Encoding_DefaultBinary = 369 DataTypeAttributes = 370 DataTypeAttributes_Encoding_DefaultXml = 371 DataTypeAttributes_Encoding_DefaultBinary = 372 ViewAttributes = 373 ViewAttributes_Encoding_DefaultXml = 374 ViewAttributes_Encoding_DefaultBinary = 375 AddNodesItem = 376 AddNodesItem_Encoding_DefaultXml = 377 AddNodesItem_Encoding_DefaultBinary = 378 AddReferencesItem = 379 AddReferencesItem_Encoding_DefaultXml = 380 AddReferencesItem_Encoding_DefaultBinary = 381 DeleteNodesItem = 382 DeleteNodesItem_Encoding_DefaultXml = 383 DeleteNodesItem_Encoding_DefaultBinary = 384 DeleteReferencesItem = 385 DeleteReferencesItem_Encoding_DefaultXml = 386 DeleteReferencesItem_Encoding_DefaultBinary = 387 SessionAuthenticationToken = 388 RequestHeader = 389 RequestHeader_Encoding_DefaultXml = 390 RequestHeader_Encoding_DefaultBinary = 391 ResponseHeader = 392 ResponseHeader_Encoding_DefaultXml = 393 ResponseHeader_Encoding_DefaultBinary = 394 ServiceFault = 395 ServiceFault_Encoding_DefaultXml = 396 ServiceFault_Encoding_DefaultBinary = 397 EnumeratedTestType = 398 FindServersRequest = 420 FindServersRequest_Encoding_DefaultXml = 421 FindServersRequest_Encoding_DefaultBinary = 422 FindServersResponse = 423 FindServersResponse_Encoding_DefaultXml = 424 FindServersResponse_Encoding_DefaultBinary = 425 GetEndpointsRequest = 426 GetEndpointsRequest_Encoding_DefaultXml = 427 GetEndpointsRequest_Encoding_DefaultBinary = 428 GetEndpointsResponse = 429 GetEndpointsResponse_Encoding_DefaultXml = 430 GetEndpointsResponse_Encoding_DefaultBinary = 431 RegisteredServer = 432 RegisteredServer_Encoding_DefaultXml = 433 RegisteredServer_Encoding_DefaultBinary = 434 RegisterServerRequest = 435 RegisterServerRequest_Encoding_DefaultXml = 436 RegisterServerRequest_Encoding_DefaultBinary = 437 RegisterServerResponse = 438 RegisterServerResponse_Encoding_DefaultXml = 439 RegisterServerResponse_Encoding_DefaultBinary = 440 ChannelSecurityToken = 441 ChannelSecurityToken_Encoding_DefaultXml = 442 ChannelSecurityToken_Encoding_DefaultBinary = 443 OpenSecureChannelRequest = 444 OpenSecureChannelRequest_Encoding_DefaultXml = 445 OpenSecureChannelRequest_Encoding_DefaultBinary = 446 OpenSecureChannelResponse = 447 OpenSecureChannelResponse_Encoding_DefaultXml = 448 OpenSecureChannelResponse_Encoding_DefaultBinary = 449 CloseSecureChannelRequest = 450 CloseSecureChannelRequest_Encoding_DefaultXml = 451 CloseSecureChannelRequest_Encoding_DefaultBinary = 452 CloseSecureChannelResponse = 453 CloseSecureChannelResponse_Encoding_DefaultXml = 454 CloseSecureChannelResponse_Encoding_DefaultBinary = 455 SignatureData = 456 SignatureData_Encoding_DefaultXml = 457 SignatureData_Encoding_DefaultBinary = 458 CreateSessionRequest = 459 CreateSessionRequest_Encoding_DefaultXml = 460 CreateSessionRequest_Encoding_DefaultBinary = 461 CreateSessionResponse = 462 CreateSessionResponse_Encoding_DefaultXml = 463 CreateSessionResponse_Encoding_DefaultBinary = 464 ActivateSessionRequest = 465 ActivateSessionRequest_Encoding_DefaultXml = 466 ActivateSessionRequest_Encoding_DefaultBinary = 467 ActivateSessionResponse = 468 ActivateSessionResponse_Encoding_DefaultXml = 469 ActivateSessionResponse_Encoding_DefaultBinary = 470 CloseSessionRequest = 471 CloseSessionRequest_Encoding_DefaultXml = 472 CloseSessionRequest_Encoding_DefaultBinary = 473 CloseSessionResponse = 474 CloseSessionResponse_Encoding_DefaultXml = 475 CloseSessionResponse_Encoding_DefaultBinary = 476 CancelRequest = 477 CancelRequest_Encoding_DefaultXml = 478 CancelRequest_Encoding_DefaultBinary = 479 CancelResponse = 480 CancelResponse_Encoding_DefaultXml = 481 CancelResponse_Encoding_DefaultBinary = 482 AddNodesResult = 483 AddNodesResult_Encoding_DefaultXml = 484 AddNodesResult_Encoding_DefaultBinary = 485 AddNodesRequest = 486 AddNodesRequest_Encoding_DefaultXml = 487 AddNodesRequest_Encoding_DefaultBinary = 488 AddNodesResponse = 489 AddNodesResponse_Encoding_DefaultXml = 490 AddNodesResponse_Encoding_DefaultBinary = 491 AddReferencesRequest = 492 AddReferencesRequest_Encoding_DefaultXml = 493 AddReferencesRequest_Encoding_DefaultBinary = 494 AddReferencesResponse = 495 AddReferencesResponse_Encoding_DefaultXml = 496 AddReferencesResponse_Encoding_DefaultBinary = 497 DeleteNodesRequest = 498 DeleteNodesRequest_Encoding_DefaultXml = 499 DeleteNodesRequest_Encoding_DefaultBinary = 500 DeleteNodesResponse = 501 DeleteNodesResponse_Encoding_DefaultXml = 502 DeleteNodesResponse_Encoding_DefaultBinary = 503 DeleteReferencesRequest = 504 DeleteReferencesRequest_Encoding_DefaultXml = 505 DeleteReferencesRequest_Encoding_DefaultBinary = 506 DeleteReferencesResponse = 507 DeleteReferencesResponse_Encoding_DefaultXml = 508 DeleteReferencesResponse_Encoding_DefaultBinary = 509 BrowseDirection = 510 ViewDescription = 511 ViewDescription_Encoding_DefaultXml = 512 ViewDescription_Encoding_DefaultBinary = 513 BrowseDescription = 514 BrowseDescription_Encoding_DefaultXml = 515 BrowseDescription_Encoding_DefaultBinary = 516 BrowseResultMask = 517 ReferenceDescription = 518 ReferenceDescription_Encoding_DefaultXml = 519 ReferenceDescription_Encoding_DefaultBinary = 520 ContinuationPoint = 521 BrowseResult = 522 BrowseResult_Encoding_DefaultXml = 523 BrowseResult_Encoding_DefaultBinary = 524 BrowseRequest = 525 BrowseRequest_Encoding_DefaultXml = 526 BrowseRequest_Encoding_DefaultBinary = 527 BrowseResponse = 528 BrowseResponse_Encoding_DefaultXml = 529 BrowseResponse_Encoding_DefaultBinary = 530 BrowseNextRequest = 531 BrowseNextRequest_Encoding_DefaultXml = 532 BrowseNextRequest_Encoding_DefaultBinary = 533 BrowseNextResponse = 534 BrowseNextResponse_Encoding_DefaultXml = 535 BrowseNextResponse_Encoding_DefaultBinary = 536 RelativePathElement = 537 RelativePathElement_Encoding_DefaultXml = 538 RelativePathElement_Encoding_DefaultBinary = 539 RelativePath = 540 RelativePath_Encoding_DefaultXml = 541 RelativePath_Encoding_DefaultBinary = 542 BrowsePath = 543 BrowsePath_Encoding_DefaultXml = 544 BrowsePath_Encoding_DefaultBinary = 545 BrowsePathTarget = 546 BrowsePathTarget_Encoding_DefaultXml = 547 BrowsePathTarget_Encoding_DefaultBinary = 548 BrowsePathResult = 549 BrowsePathResult_Encoding_DefaultXml = 550 BrowsePathResult_Encoding_DefaultBinary = 551 TranslateBrowsePathsToNodeIdsRequest = 552 TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultXml = 553 TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultBinary = 554 TranslateBrowsePathsToNodeIdsResponse = 555 TranslateBrowsePathsToNodeIdsResponse_Encoding_DefaultXml = 556 TranslateBrowsePathsToNodeIdsResponse_Encoding_DefaultBinary = 557 RegisterNodesRequest = 558 RegisterNodesRequest_Encoding_DefaultXml = 559 RegisterNodesRequest_Encoding_DefaultBinary = 560 RegisterNodesResponse = 561 RegisterNodesResponse_Encoding_DefaultXml = 562 RegisterNodesResponse_Encoding_DefaultBinary = 563 UnregisterNodesRequest = 564 UnregisterNodesRequest_Encoding_DefaultXml = 565 UnregisterNodesRequest_Encoding_DefaultBinary = 566 UnregisterNodesResponse = 567 UnregisterNodesResponse_Encoding_DefaultXml = 568 UnregisterNodesResponse_Encoding_DefaultBinary = 569 QueryDataDescription = 570 QueryDataDescription_Encoding_DefaultXml = 571 QueryDataDescription_Encoding_DefaultBinary = 572 NodeTypeDescription = 573 NodeTypeDescription_Encoding_DefaultXml = 574 NodeTypeDescription_Encoding_DefaultBinary = 575 FilterOperator = 576 QueryDataSet = 577 QueryDataSet_Encoding_DefaultXml = 578 QueryDataSet_Encoding_DefaultBinary = 579 NodeReference = 580 NodeReference_Encoding_DefaultXml = 581 NodeReference_Encoding_DefaultBinary = 582 ContentFilterElement = 583 ContentFilterElement_Encoding_DefaultXml = 584 ContentFilterElement_Encoding_DefaultBinary = 585 ContentFilter = 586 ContentFilter_Encoding_DefaultXml = 587 ContentFilter_Encoding_DefaultBinary = 588 FilterOperand = 589 FilterOperand_Encoding_DefaultXml = 590 FilterOperand_Encoding_DefaultBinary = 591 ElementOperand = 592 ElementOperand_Encoding_DefaultXml = 593 ElementOperand_Encoding_DefaultBinary = 594 LiteralOperand = 595 LiteralOperand_Encoding_DefaultXml = 596 LiteralOperand_Encoding_DefaultBinary = 597 AttributeOperand = 598 AttributeOperand_Encoding_DefaultXml = 599 AttributeOperand_Encoding_DefaultBinary = 600 SimpleAttributeOperand = 601 SimpleAttributeOperand_Encoding_DefaultXml = 602 SimpleAttributeOperand_Encoding_DefaultBinary = 603 ContentFilterElementResult = 604 ContentFilterElementResult_Encoding_DefaultXml = 605 ContentFilterElementResult_Encoding_DefaultBinary = 606 ContentFilterResult = 607 ContentFilterResult_Encoding_DefaultXml = 608 ContentFilterResult_Encoding_DefaultBinary = 609 ParsingResult = 610 ParsingResult_Encoding_DefaultXml = 611 ParsingResult_Encoding_DefaultBinary = 612 QueryFirstRequest = 613 QueryFirstRequest_Encoding_DefaultXml = 614 QueryFirstRequest_Encoding_DefaultBinary = 615 QueryFirstResponse = 616 QueryFirstResponse_Encoding_DefaultXml = 617 QueryFirstResponse_Encoding_DefaultBinary = 618 QueryNextRequest = 619 QueryNextRequest_Encoding_DefaultXml = 620 QueryNextRequest_Encoding_DefaultBinary = 621 QueryNextResponse = 622 QueryNextResponse_Encoding_DefaultXml = 623 QueryNextResponse_Encoding_DefaultBinary = 624 TimestampsToReturn = 625 ReadValueId = 626 ReadValueId_Encoding_DefaultXml = 627 ReadValueId_Encoding_DefaultBinary = 628 ReadRequest = 629 ReadRequest_Encoding_DefaultXml = 630 ReadRequest_Encoding_DefaultBinary = 631 ReadResponse = 632 ReadResponse_Encoding_DefaultXml = 633 ReadResponse_Encoding_DefaultBinary = 634 HistoryReadValueId = 635 HistoryReadValueId_Encoding_DefaultXml = 636 HistoryReadValueId_Encoding_DefaultBinary = 637 HistoryReadResult = 638 HistoryReadResult_Encoding_DefaultXml = 639 HistoryReadResult_Encoding_DefaultBinary = 640 HistoryReadDetails = 641 HistoryReadDetails_Encoding_DefaultXml = 642 HistoryReadDetails_Encoding_DefaultBinary = 643 ReadEventDetails = 644 ReadEventDetails_Encoding_DefaultXml = 645 ReadEventDetails_Encoding_DefaultBinary = 646 ReadRawModifiedDetails = 647 ReadRawModifiedDetails_Encoding_DefaultXml = 648 ReadRawModifiedDetails_Encoding_DefaultBinary = 649 ReadProcessedDetails = 650 ReadProcessedDetails_Encoding_DefaultXml = 651 ReadProcessedDetails_Encoding_DefaultBinary = 652 ReadAtTimeDetails = 653 ReadAtTimeDetails_Encoding_DefaultXml = 654 ReadAtTimeDetails_Encoding_DefaultBinary = 655 HistoryData = 656 HistoryData_Encoding_DefaultXml = 657 HistoryData_Encoding_DefaultBinary = 658 HistoryEvent = 659 HistoryEvent_Encoding_DefaultXml = 660 HistoryEvent_Encoding_DefaultBinary = 661 HistoryReadRequest = 662 HistoryReadRequest_Encoding_DefaultXml = 663 HistoryReadRequest_Encoding_DefaultBinary = 664 HistoryReadResponse = 665 HistoryReadResponse_Encoding_DefaultXml = 666 HistoryReadResponse_Encoding_DefaultBinary = 667 WriteValue = 668 WriteValue_Encoding_DefaultXml = 669 WriteValue_Encoding_DefaultBinary = 670 WriteRequest = 671 WriteRequest_Encoding_DefaultXml = 672 WriteRequest_Encoding_DefaultBinary = 673 WriteResponse = 674 WriteResponse_Encoding_DefaultXml = 675 WriteResponse_Encoding_DefaultBinary = 676 HistoryUpdateDetails = 677 HistoryUpdateDetails_Encoding_DefaultXml = 678 HistoryUpdateDetails_Encoding_DefaultBinary = 679 UpdateDataDetails = 680 UpdateDataDetails_Encoding_DefaultXml = 681 UpdateDataDetails_Encoding_DefaultBinary = 682 UpdateEventDetails = 683 UpdateEventDetails_Encoding_DefaultXml = 684 UpdateEventDetails_Encoding_DefaultBinary = 685 DeleteRawModifiedDetails = 686 DeleteRawModifiedDetails_Encoding_DefaultXml = 687 DeleteRawModifiedDetails_Encoding_DefaultBinary = 688 DeleteAtTimeDetails = 689 DeleteAtTimeDetails_Encoding_DefaultXml = 690 DeleteAtTimeDetails_Encoding_DefaultBinary = 691 DeleteEventDetails = 692 DeleteEventDetails_Encoding_DefaultXml = 693 DeleteEventDetails_Encoding_DefaultBinary = 694 HistoryUpdateResult = 695 HistoryUpdateResult_Encoding_DefaultXml = 696 HistoryUpdateResult_Encoding_DefaultBinary = 697 HistoryUpdateRequest = 698 HistoryUpdateRequest_Encoding_DefaultXml = 699 HistoryUpdateRequest_Encoding_DefaultBinary = 700 HistoryUpdateResponse = 701 HistoryUpdateResponse_Encoding_DefaultXml = 702 HistoryUpdateResponse_Encoding_DefaultBinary = 703 CallMethodRequest = 704 CallMethodRequest_Encoding_DefaultXml = 705 CallMethodRequest_Encoding_DefaultBinary = 706 CallMethodResult = 707 CallMethodResult_Encoding_DefaultXml = 708 CallMethodResult_Encoding_DefaultBinary = 709 CallRequest = 710 CallRequest_Encoding_DefaultXml = 711 CallRequest_Encoding_DefaultBinary = 712 CallResponse = 713 CallResponse_Encoding_DefaultXml = 714 CallResponse_Encoding_DefaultBinary = 715 MonitoringMode = 716 DataChangeTrigger = 717 DeadbandType = 718 MonitoringFilter = 719 MonitoringFilter_Encoding_DefaultXml = 720 MonitoringFilter_Encoding_DefaultBinary = 721 DataChangeFilter = 722 DataChangeFilter_Encoding_DefaultXml = 723 DataChangeFilter_Encoding_DefaultBinary = 724 EventFilter = 725 EventFilter_Encoding_DefaultXml = 726 EventFilter_Encoding_DefaultBinary = 727 AggregateFilter = 728 AggregateFilter_Encoding_DefaultXml = 729 AggregateFilter_Encoding_DefaultBinary = 730 MonitoringFilterResult = 731 MonitoringFilterResult_Encoding_DefaultXml = 732 MonitoringFilterResult_Encoding_DefaultBinary = 733 EventFilterResult = 734 EventFilterResult_Encoding_DefaultXml = 735 EventFilterResult_Encoding_DefaultBinary = 736 AggregateFilterResult = 737 AggregateFilterResult_Encoding_DefaultXml = 738 AggregateFilterResult_Encoding_DefaultBinary = 739 MonitoringParameters = 740 MonitoringParameters_Encoding_DefaultXml = 741 MonitoringParameters_Encoding_DefaultBinary = 742 MonitoredItemCreateRequest = 743 MonitoredItemCreateRequest_Encoding_DefaultXml = 744 MonitoredItemCreateRequest_Encoding_DefaultBinary = 745 MonitoredItemCreateResult = 746 MonitoredItemCreateResult_Encoding_DefaultXml = 747 MonitoredItemCreateResult_Encoding_DefaultBinary = 748 CreateMonitoredItemsRequest = 749 CreateMonitoredItemsRequest_Encoding_DefaultXml = 750 CreateMonitoredItemsRequest_Encoding_DefaultBinary = 751 CreateMonitoredItemsResponse = 752 CreateMonitoredItemsResponse_Encoding_DefaultXml = 753 CreateMonitoredItemsResponse_Encoding_DefaultBinary = 754 MonitoredItemModifyRequest = 755 MonitoredItemModifyRequest_Encoding_DefaultXml = 756 MonitoredItemModifyRequest_Encoding_DefaultBinary = 757 MonitoredItemModifyResult = 758 MonitoredItemModifyResult_Encoding_DefaultXml = 759 MonitoredItemModifyResult_Encoding_DefaultBinary = 760 ModifyMonitoredItemsRequest = 761 ModifyMonitoredItemsRequest_Encoding_DefaultXml = 762 ModifyMonitoredItemsRequest_Encoding_DefaultBinary = 763 ModifyMonitoredItemsResponse = 764 ModifyMonitoredItemsResponse_Encoding_DefaultXml = 765 ModifyMonitoredItemsResponse_Encoding_DefaultBinary = 766 SetMonitoringModeRequest = 767 SetMonitoringModeRequest_Encoding_DefaultXml = 768 SetMonitoringModeRequest_Encoding_DefaultBinary = 769 SetMonitoringModeResponse = 770 SetMonitoringModeResponse_Encoding_DefaultXml = 771 SetMonitoringModeResponse_Encoding_DefaultBinary = 772 SetTriggeringRequest = 773 SetTriggeringRequest_Encoding_DefaultXml = 774 SetTriggeringRequest_Encoding_DefaultBinary = 775 SetTriggeringResponse = 776 SetTriggeringResponse_Encoding_DefaultXml = 777 SetTriggeringResponse_Encoding_DefaultBinary = 778 DeleteMonitoredItemsRequest = 779 DeleteMonitoredItemsRequest_Encoding_DefaultXml = 780 DeleteMonitoredItemsRequest_Encoding_DefaultBinary = 781 DeleteMonitoredItemsResponse = 782 DeleteMonitoredItemsResponse_Encoding_DefaultXml = 783 DeleteMonitoredItemsResponse_Encoding_DefaultBinary = 784 CreateSubscriptionRequest = 785 CreateSubscriptionRequest_Encoding_DefaultXml = 786 CreateSubscriptionRequest_Encoding_DefaultBinary = 787 CreateSubscriptionResponse = 788 CreateSubscriptionResponse_Encoding_DefaultXml = 789 CreateSubscriptionResponse_Encoding_DefaultBinary = 790 ModifySubscriptionRequest = 791 ModifySubscriptionRequest_Encoding_DefaultXml = 792 ModifySubscriptionRequest_Encoding_DefaultBinary = 793 ModifySubscriptionResponse = 794 ModifySubscriptionResponse_Encoding_DefaultXml = 795 ModifySubscriptionResponse_Encoding_DefaultBinary = 796 SetPublishingModeRequest = 797 SetPublishingModeRequest_Encoding_DefaultXml = 798 SetPublishingModeRequest_Encoding_DefaultBinary = 799 SetPublishingModeResponse = 800 SetPublishingModeResponse_Encoding_DefaultXml = 801 SetPublishingModeResponse_Encoding_DefaultBinary = 802 NotificationMessage = 803 NotificationMessage_Encoding_DefaultXml = 804 NotificationMessage_Encoding_DefaultBinary = 805 MonitoredItemNotification = 806 MonitoredItemNotification_Encoding_DefaultXml = 807 MonitoredItemNotification_Encoding_DefaultBinary = 808 DataChangeNotification = 809 DataChangeNotification_Encoding_DefaultXml = 810 DataChangeNotification_Encoding_DefaultBinary = 811 StatusChangeNotification = 818 StatusChangeNotification_Encoding_DefaultXml = 819 StatusChangeNotification_Encoding_DefaultBinary = 820 SubscriptionAcknowledgement = 821 SubscriptionAcknowledgement_Encoding_DefaultXml = 822 SubscriptionAcknowledgement_Encoding_DefaultBinary = 823 PublishRequest = 824 PublishRequest_Encoding_DefaultXml = 825 PublishRequest_Encoding_DefaultBinary = 826 PublishResponse = 827 PublishResponse_Encoding_DefaultXml = 828 PublishResponse_Encoding_DefaultBinary = 829 RepublishRequest = 830 RepublishRequest_Encoding_DefaultXml = 831 RepublishRequest_Encoding_DefaultBinary = 832 RepublishResponse = 833 RepublishResponse_Encoding_DefaultXml = 834 RepublishResponse_Encoding_DefaultBinary = 835 TransferResult = 836 TransferResult_Encoding_DefaultXml = 837 TransferResult_Encoding_DefaultBinary = 838 TransferSubscriptionsRequest = 839 TransferSubscriptionsRequest_Encoding_DefaultXml = 840 TransferSubscriptionsRequest_Encoding_DefaultBinary = 841 TransferSubscriptionsResponse = 842 TransferSubscriptionsResponse_Encoding_DefaultXml = 843 TransferSubscriptionsResponse_Encoding_DefaultBinary = 844 DeleteSubscriptionsRequest = 845 DeleteSubscriptionsRequest_Encoding_DefaultXml = 846 DeleteSubscriptionsRequest_Encoding_DefaultBinary = 847 DeleteSubscriptionsResponse = 848 DeleteSubscriptionsResponse_Encoding_DefaultXml = 849 DeleteSubscriptionsResponse_Encoding_DefaultBinary = 850 RedundancySupport = 851 ServerState = 852 RedundantServerDataType = 853 RedundantServerDataType_Encoding_DefaultXml = 854 RedundantServerDataType_Encoding_DefaultBinary = 855 SamplingIntervalDiagnosticsDataType = 856 SamplingIntervalDiagnosticsDataType_Encoding_DefaultXml = 857 SamplingIntervalDiagnosticsDataType_Encoding_DefaultBinary = 858 ServerDiagnosticsSummaryDataType = 859 ServerDiagnosticsSummaryDataType_Encoding_DefaultXml = 860 ServerDiagnosticsSummaryDataType_Encoding_DefaultBinary = 861 ServerStatusDataType = 862 ServerStatusDataType_Encoding_DefaultXml = 863 ServerStatusDataType_Encoding_DefaultBinary = 864 SessionDiagnosticsDataType = 865 SessionDiagnosticsDataType_Encoding_DefaultXml = 866 SessionDiagnosticsDataType_Encoding_DefaultBinary = 867 SessionSecurityDiagnosticsDataType = 868 SessionSecurityDiagnosticsDataType_Encoding_DefaultXml = 869 SessionSecurityDiagnosticsDataType_Encoding_DefaultBinary = 870 ServiceCounterDataType = 871 ServiceCounterDataType_Encoding_DefaultXml = 872 ServiceCounterDataType_Encoding_DefaultBinary = 873 SubscriptionDiagnosticsDataType = 874 SubscriptionDiagnosticsDataType_Encoding_DefaultXml = 875 SubscriptionDiagnosticsDataType_Encoding_DefaultBinary = 876 ModelChangeStructureDataType = 877 ModelChangeStructureDataType_Encoding_DefaultXml = 878 ModelChangeStructureDataType_Encoding_DefaultBinary = 879 Range = 884 Range_Encoding_DefaultXml = 885 Range_Encoding_DefaultBinary = 886 EUInformation = 887 EUInformation_Encoding_DefaultXml = 888 EUInformation_Encoding_DefaultBinary = 889 ExceptionDeviationFormat = 890 Annotation = 891 Annotation_Encoding_DefaultXml = 892 Annotation_Encoding_DefaultBinary = 893 ProgramDiagnosticDataType = 894 ProgramDiagnosticDataType_Encoding_DefaultXml = 895 ProgramDiagnosticDataType_Encoding_DefaultBinary = 896 SemanticChangeStructureDataType = 897 SemanticChangeStructureDataType_Encoding_DefaultXml = 898 SemanticChangeStructureDataType_Encoding_DefaultBinary = 899 EventNotificationList = 914 EventNotificationList_Encoding_DefaultXml = 915 EventNotificationList_Encoding_DefaultBinary = 916 EventFieldList = 917 EventFieldList_Encoding_DefaultXml = 918 EventFieldList_Encoding_DefaultBinary = 919 HistoryEventFieldList = 920 HistoryEventFieldList_Encoding_DefaultXml = 921 HistoryEventFieldList_Encoding_DefaultBinary = 922 IssuedIdentityToken = 938 IssuedIdentityToken_Encoding_DefaultXml = 939 IssuedIdentityToken_Encoding_DefaultBinary = 940 NotificationData = 945 NotificationData_Encoding_DefaultXml = 946 NotificationData_Encoding_DefaultBinary = 947 AggregateConfiguration = 948 AggregateConfiguration_Encoding_DefaultXml = 949 AggregateConfiguration_Encoding_DefaultBinary = 950 ImageBMP = 2000 ImageGIF = 2001 ImageJPG = 2002 ImagePNG = 2003 ServerType = 2004 ServerType_ServerArray = 2005 ServerType_NamespaceArray = 2006 ServerType_ServerStatus = 2007 ServerType_ServiceLevel = 2008 ServerType_ServerCapabilities = 2009 ServerType_ServerDiagnostics = 2010 ServerType_VendorServerInfo = 2011 ServerType_ServerRedundancy = 2012 ServerCapabilitiesType = 2013 ServerCapabilitiesType_ServerProfileArray = 2014 ServerCapabilitiesType_LocaleIdArray = 2016 ServerCapabilitiesType_MinSupportedSampleRate = 2017 ServerCapabilitiesType_ModellingRules = 2019 ServerDiagnosticsType = 2020 ServerDiagnosticsType_ServerDiagnosticsSummary = 2021 ServerDiagnosticsType_SamplingIntervalDiagnosticsArray = 2022 ServerDiagnosticsType_SubscriptionDiagnosticsArray = 2023 ServerDiagnosticsType_EnabledFlag = 2025 SessionsDiagnosticsSummaryType = 2026 SessionsDiagnosticsSummaryType_SessionDiagnosticsArray = 2027 SessionsDiagnosticsSummaryType_SessionSecurityDiagnosticsArray = 2028 SessionDiagnosticsObjectType = 2029 SessionDiagnosticsObjectType_SessionDiagnostics = 2030 SessionDiagnosticsObjectType_SessionSecurityDiagnostics = 2031 SessionDiagnosticsObjectType_SubscriptionDiagnosticsArray = 2032 VendorServerInfoType = 2033 ServerRedundancyType = 2034 ServerRedundancyType_RedundancySupport = 2035 TransparentRedundancyType = 2036 TransparentRedundancyType_CurrentServerId = 2037 TransparentRedundancyType_RedundantServerArray = 2038 NonTransparentRedundancyType = 2039 NonTransparentRedundancyType_ServerUriArray = 2040 BaseEventType = 2041 BaseEventType_EventId = 2042 BaseEventType_EventType = 2043 BaseEventType_SourceNode = 2044 BaseEventType_SourceName = 2045 BaseEventType_Time = 2046 BaseEventType_ReceiveTime = 2047 BaseEventType_Message = 2050 BaseEventType_Severity = 2051 AuditEventType = 2052 AuditEventType_ActionTimeStamp = 2053 AuditEventType_Status = 2054 AuditEventType_ServerId = 2055 AuditEventType_ClientAuditEntryId = 2056 AuditEventType_ClientUserId = 2057 AuditSecurityEventType = 2058 AuditChannelEventType = 2059 AuditOpenSecureChannelEventType = 2060 AuditOpenSecureChannelEventType_ClientCertificate = 2061 AuditOpenSecureChannelEventType_RequestType = 2062 AuditOpenSecureChannelEventType_SecurityPolicyUri = 2063 AuditOpenSecureChannelEventType_SecurityMode = 2065 AuditOpenSecureChannelEventType_RequestedLifetime = 2066 AuditSessionEventType = 2069 AuditSessionEventType_SessionId = 2070 AuditCreateSessionEventType = 2071 AuditCreateSessionEventType_SecureChannelId = 2072 AuditCreateSessionEventType_ClientCertificate = 2073 AuditCreateSessionEventType_RevisedSessionTimeout = 2074 AuditActivateSessionEventType = 2075 AuditActivateSessionEventType_ClientSoftwareCertificates = 2076 AuditActivateSessionEventType_UserIdentityToken = 2077 AuditCancelEventType = 2078 AuditCancelEventType_RequestHandle = 2079 AuditCertificateEventType = 2080 AuditCertificateEventType_Certificate = 2081 AuditCertificateDataMismatchEventType = 2082 AuditCertificateDataMismatchEventType_InvalidHostname = 2083 AuditCertificateDataMismatchEventType_InvalidUri = 2084 AuditCertificateExpiredEventType = 2085 AuditCertificateInvalidEventType = 2086 AuditCertificateUntrustedEventType = 2087 AuditCertificateRevokedEventType = 2088 AuditCertificateMismatchEventType = 2089 AuditNodeManagementEventType = 2090 AuditAddNodesEventType = 2091 AuditAddNodesEventType_NodesToAdd = 2092 AuditDeleteNodesEventType = 2093 AuditDeleteNodesEventType_NodesToDelete = 2094 AuditAddReferencesEventType = 2095 AuditAddReferencesEventType_ReferencesToAdd = 2096 AuditDeleteReferencesEventType = 2097 AuditDeleteReferencesEventType_ReferencesToDelete = 2098 AuditUpdateEventType = 2099 AuditWriteUpdateEventType = 2100 AuditWriteUpdateEventType_IndexRange = 2101 AuditWriteUpdateEventType_OldValue = 2102 AuditWriteUpdateEventType_NewValue = 2103 AuditHistoryUpdateEventType = 2104 AuditUpdateMethodEventType = 2127 AuditUpdateMethodEventType_MethodId = 2128 AuditUpdateMethodEventType_InputArguments = 2129 SystemEventType = 2130 DeviceFailureEventType = 2131 BaseModelChangeEventType = 2132 GeneralModelChangeEventType = 2133 GeneralModelChangeEventType_Changes = 2134 ServerVendorCapabilityType = 2137 ServerStatusType = 2138 ServerStatusType_StartTime = 2139 ServerStatusType_CurrentTime = 2140 ServerStatusType_State = 2141 ServerStatusType_BuildInfo = 2142 ServerDiagnosticsSummaryType = 2150 ServerDiagnosticsSummaryType_ServerViewCount = 2151 ServerDiagnosticsSummaryType_CurrentSessionCount = 2152 ServerDiagnosticsSummaryType_CumulatedSessionCount = 2153 ServerDiagnosticsSummaryType_SecurityRejectedSessionCount = 2154 ServerDiagnosticsSummaryType_RejectedSessionCount = 2155 ServerDiagnosticsSummaryType_SessionTimeoutCount = 2156 ServerDiagnosticsSummaryType_SessionAbortCount = 2157 ServerDiagnosticsSummaryType_PublishingIntervalCount = 2159 ServerDiagnosticsSummaryType_CurrentSubscriptionCount = 2160 ServerDiagnosticsSummaryType_CumulatedSubscriptionCount = 2161 ServerDiagnosticsSummaryType_SecurityRejectedRequestsCount = 2162 ServerDiagnosticsSummaryType_RejectedRequestsCount = 2163 SamplingIntervalDiagnosticsArrayType = 2164 SamplingIntervalDiagnosticsType = 2165 SamplingIntervalDiagnosticsType_SamplingInterval = 2166 SubscriptionDiagnosticsArrayType = 2171 SubscriptionDiagnosticsType = 2172 SubscriptionDiagnosticsType_SessionId = 2173 SubscriptionDiagnosticsType_SubscriptionId = 2174 SubscriptionDiagnosticsType_Priority = 2175 SubscriptionDiagnosticsType_PublishingInterval = 2176 SubscriptionDiagnosticsType_MaxKeepAliveCount = 2177 SubscriptionDiagnosticsType_MaxNotificationsPerPublish = 2179 SubscriptionDiagnosticsType_PublishingEnabled = 2180 SubscriptionDiagnosticsType_ModifyCount = 2181 SubscriptionDiagnosticsType_EnableCount = 2182 SubscriptionDiagnosticsType_DisableCount = 2183 SubscriptionDiagnosticsType_RepublishRequestCount = 2184 SubscriptionDiagnosticsType_RepublishMessageRequestCount = 2185 SubscriptionDiagnosticsType_RepublishMessageCount = 2186 SubscriptionDiagnosticsType_TransferRequestCount = 2187 SubscriptionDiagnosticsType_TransferredToAltClientCount = 2188 SubscriptionDiagnosticsType_TransferredToSameClientCount = 2189 SubscriptionDiagnosticsType_PublishRequestCount = 2190 SubscriptionDiagnosticsType_DataChangeNotificationsCount = 2191 SubscriptionDiagnosticsType_NotificationsCount = 2193 SessionDiagnosticsArrayType = 2196 SessionDiagnosticsVariableType = 2197 SessionDiagnosticsVariableType_SessionId = 2198 SessionDiagnosticsVariableType_SessionName = 2199 SessionDiagnosticsVariableType_ClientDescription = 2200 SessionDiagnosticsVariableType_ServerUri = 2201 SessionDiagnosticsVariableType_EndpointUrl = 2202 SessionDiagnosticsVariableType_LocaleIds = 2203 SessionDiagnosticsVariableType_ActualSessionTimeout = 2204 SessionDiagnosticsVariableType_ClientConnectionTime = 2205 SessionDiagnosticsVariableType_ClientLastContactTime = 2206 SessionDiagnosticsVariableType_CurrentSubscriptionsCount = 2207 SessionDiagnosticsVariableType_CurrentMonitoredItemsCount = 2208 SessionDiagnosticsVariableType_CurrentPublishRequestsInQueue = 2209 SessionDiagnosticsVariableType_ReadCount = 2217 SessionDiagnosticsVariableType_HistoryReadCount = 2218 SessionDiagnosticsVariableType_WriteCount = 2219 SessionDiagnosticsVariableType_HistoryUpdateCount = 2220 SessionDiagnosticsVariableType_CallCount = 2221 SessionDiagnosticsVariableType_CreateMonitoredItemsCount = 2222 SessionDiagnosticsVariableType_ModifyMonitoredItemsCount = 2223 SessionDiagnosticsVariableType_SetMonitoringModeCount = 2224 SessionDiagnosticsVariableType_SetTriggeringCount = 2225 SessionDiagnosticsVariableType_DeleteMonitoredItemsCount = 2226 SessionDiagnosticsVariableType_CreateSubscriptionCount = 2227 SessionDiagnosticsVariableType_ModifySubscriptionCount = 2228 SessionDiagnosticsVariableType_SetPublishingModeCount = 2229 SessionDiagnosticsVariableType_PublishCount = 2230 SessionDiagnosticsVariableType_RepublishCount = 2231 SessionDiagnosticsVariableType_TransferSubscriptionsCount = 2232 SessionDiagnosticsVariableType_DeleteSubscriptionsCount = 2233 SessionDiagnosticsVariableType_AddNodesCount = 2234 SessionDiagnosticsVariableType_AddReferencesCount = 2235 SessionDiagnosticsVariableType_DeleteNodesCount = 2236 SessionDiagnosticsVariableType_DeleteReferencesCount = 2237 SessionDiagnosticsVariableType_BrowseCount = 2238 SessionDiagnosticsVariableType_BrowseNextCount = 2239 SessionDiagnosticsVariableType_TranslateBrowsePathsToNodeIdsCount = 2240 SessionDiagnosticsVariableType_QueryFirstCount = 2241 SessionDiagnosticsVariableType_QueryNextCount = 2242 SessionSecurityDiagnosticsArrayType = 2243 SessionSecurityDiagnosticsType = 2244 SessionSecurityDiagnosticsType_SessionId = 2245 SessionSecurityDiagnosticsType_ClientUserIdOfSession = 2246 SessionSecurityDiagnosticsType_ClientUserIdHistory = 2247 SessionSecurityDiagnosticsType_AuthenticationMechanism = 2248 SessionSecurityDiagnosticsType_Encoding = 2249 SessionSecurityDiagnosticsType_TransportProtocol = 2250 SessionSecurityDiagnosticsType_SecurityMode = 2251 SessionSecurityDiagnosticsType_SecurityPolicyUri = 2252 Server = 2253 Server_ServerArray = 2254 Server_NamespaceArray = 2255 Server_ServerStatus = 2256 Server_ServerStatus_StartTime = 2257 Server_ServerStatus_CurrentTime = 2258 Server_ServerStatus_State = 2259 Server_ServerStatus_BuildInfo = 2260 Server_ServerStatus_BuildInfo_ProductName = 2261 Server_ServerStatus_BuildInfo_ProductUri = 2262 Server_ServerStatus_BuildInfo_ManufacturerName = 2263 Server_ServerStatus_BuildInfo_SoftwareVersion = 2264 Server_ServerStatus_BuildInfo_BuildNumber = 2265 Server_ServerStatus_BuildInfo_BuildDate = 2266 Server_ServiceLevel = 2267 Server_ServerCapabilities = 2268 Server_ServerCapabilities_ServerProfileArray = 2269 Server_ServerCapabilities_LocaleIdArray = 2271 Server_ServerCapabilities_MinSupportedSampleRate = 2272 Server_ServerDiagnostics = 2274 Server_ServerDiagnostics_ServerDiagnosticsSummary = 2275 Server_ServerDiagnostics_ServerDiagnosticsSummary_ServerViewCount = 2276 Server_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSessionCount = 2277 Server_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSessionCount = 2278 Server_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedSessionCount = 2279 Server_ServerDiagnostics_ServerDiagnosticsSummary_SessionTimeoutCount = 2281 Server_ServerDiagnostics_ServerDiagnosticsSummary_SessionAbortCount = 2282 Server_ServerDiagnostics_ServerDiagnosticsSummary_PublishingIntervalCount = 2284 Server_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSubscriptionCount = 2285 Server_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSubscriptionCount = 2286 Server_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedRequestsCount = 2287 Server_ServerDiagnostics_ServerDiagnosticsSummary_RejectedRequestsCount = 2288 Server_ServerDiagnostics_SamplingIntervalDiagnosticsArray = 2289 Server_ServerDiagnostics_SubscriptionDiagnosticsArray = 2290 Server_ServerDiagnostics_EnabledFlag = 2294 Server_VendorServerInfo = 2295 Server_ServerRedundancy = 2296 StateMachineType = 2299 StateType = 2307 StateType_StateNumber = 2308 InitialStateType = 2309 TransitionType = 2310 TransitionEventType = 2311 TransitionType_TransitionNumber = 2312 AuditUpdateStateEventType = 2315 HistoricalDataConfigurationType = 2318 HistoricalDataConfigurationType_Stepped = 2323 HistoricalDataConfigurationType_Definition = 2324 HistoricalDataConfigurationType_MaxTimeInterval = 2325 HistoricalDataConfigurationType_MinTimeInterval = 2326 HistoricalDataConfigurationType_ExceptionDeviation = 2327 HistoricalDataConfigurationType_ExceptionDeviationFormat = 2328 HistoryServerCapabilitiesType = 2330 HistoryServerCapabilitiesType_AccessHistoryDataCapability = 2331 HistoryServerCapabilitiesType_AccessHistoryEventsCapability = 2332 HistoryServerCapabilitiesType_InsertDataCapability = 2334 HistoryServerCapabilitiesType_ReplaceDataCapability = 2335 HistoryServerCapabilitiesType_UpdateDataCapability = 2336 HistoryServerCapabilitiesType_DeleteRawCapability = 2337 HistoryServerCapabilitiesType_DeleteAtTimeCapability = 2338 AggregateFunctionType = 2340 AggregateFunction_Interpolative = 2341 AggregateFunction_Average = 2342 AggregateFunction_TimeAverage = 2343 AggregateFunction_Total = 2344 AggregateFunction_Minimum = 2346 AggregateFunction_Maximum = 2347 AggregateFunction_MinimumActualTime = 2348 AggregateFunction_MaximumActualTime = 2349 AggregateFunction_Range = 2350 AggregateFunction_AnnotationCount = 2351 AggregateFunction_Count = 2352 AggregateFunction_NumberOfTransitions = 2355 AggregateFunction_Start = 2357 AggregateFunction_End = 2358 AggregateFunction_Delta = 2359 AggregateFunction_DurationGood = 2360 AggregateFunction_DurationBad = 2361 AggregateFunction_PercentGood = 2362 AggregateFunction_PercentBad = 2363 AggregateFunction_WorstQuality = 2364 DataItemType = 2365 DataItemType_Definition = 2366 DataItemType_ValuePrecision = 2367 AnalogItemType = 2368 AnalogItemType_EURange = 2369 AnalogItemType_InstrumentRange = 2370 AnalogItemType_EngineeringUnits = 2371 DiscreteItemType = 2372 TwoStateDiscreteType = 2373 TwoStateDiscreteType_FalseState = 2374 TwoStateDiscreteType_TrueState = 2375 MultiStateDiscreteType = 2376 MultiStateDiscreteType_EnumStrings = 2377 ProgramTransitionEventType = 2378 ProgramTransitionEventType_IntermediateResult = 2379 ProgramDiagnosticType = 2380 ProgramDiagnosticType_CreateSessionId = 2381 ProgramDiagnosticType_CreateClientName = 2382 ProgramDiagnosticType_InvocationCreationTime = 2383 ProgramDiagnosticType_LastTransitionTime = 2384 ProgramDiagnosticType_LastMethodCall = 2385 ProgramDiagnosticType_LastMethodSessionId = 2386 ProgramDiagnosticType_LastMethodInputArguments = 2387 ProgramDiagnosticType_LastMethodOutputArguments = 2388 ProgramDiagnosticType_LastMethodCallTime = 2389 ProgramDiagnosticType_LastMethodReturnStatus = 2390 ProgramStateMachineType = 2391 ProgramStateMachineType_Creatable = 2392 ProgramStateMachineType_Deletable = 2393 ProgramStateMachineType_AutoDelete = 2394 ProgramStateMachineType_RecycleCount = 2395 ProgramStateMachineType_InstanceCount = 2396 ProgramStateMachineType_MaxInstanceCount = 2397 ProgramStateMachineType_MaxRecycleCount = 2398 ProgramStateMachineType_ProgramDiagnostics = 2399 ProgramStateMachineType_Ready = 2400 ProgramStateMachineType_Ready_StateNumber = 2401 ProgramStateMachineType_Running = 2402 ProgramStateMachineType_Running_StateNumber = 2403 ProgramStateMachineType_Suspended = 2404 ProgramStateMachineType_Suspended_StateNumber = 2405 ProgramStateMachineType_Halted = 2406 ProgramStateMachineType_Halted_StateNumber = 2407 ProgramStateMachineType_HaltedToReady = 2408 ProgramStateMachineType_HaltedToReady_TransitionNumber = 2409 ProgramStateMachineType_ReadyToRunning = 2410 ProgramStateMachineType_ReadyToRunning_TransitionNumber = 2411 ProgramStateMachineType_RunningToHalted = 2412 ProgramStateMachineType_RunningToHalted_TransitionNumber = 2413 ProgramStateMachineType_RunningToReady = 2414 ProgramStateMachineType_RunningToReady_TransitionNumber = 2415 ProgramStateMachineType_RunningToSuspended = 2416 ProgramStateMachineType_RunningToSuspended_TransitionNumber = 2417 ProgramStateMachineType_SuspendedToRunning = 2418 ProgramStateMachineType_SuspendedToRunning_TransitionNumber = 2419 ProgramStateMachineType_SuspendedToHalted = 2420 ProgramStateMachineType_SuspendedToHalted_TransitionNumber = 2421 ProgramStateMachineType_SuspendedToReady = 2422 ProgramStateMachineType_SuspendedToReady_TransitionNumber = 2423 ProgramStateMachineType_ReadyToHalted = 2424 ProgramStateMachineType_ReadyToHalted_TransitionNumber = 2425 ProgramStateMachineType_Start = 2426 ProgramStateMachineType_Suspend = 2427 ProgramStateMachineType_Resume = 2428 ProgramStateMachineType_Halt = 2429 ProgramStateMachineType_Reset = 2430 SessionDiagnosticsVariableType_RegisterNodesCount = 2730 SessionDiagnosticsVariableType_UnregisterNodesCount = 2731 ServerCapabilitiesType_MaxBrowseContinuationPoints = 2732 ServerCapabilitiesType_MaxQueryContinuationPoints = 2733 ServerCapabilitiesType_MaxHistoryContinuationPoints = 2734 Server_ServerCapabilities_MaxBrowseContinuationPoints = 2735 Server_ServerCapabilities_MaxQueryContinuationPoints = 2736 Server_ServerCapabilities_MaxHistoryContinuationPoints = 2737 SemanticChangeEventType = 2738 SemanticChangeEventType_Changes = 2739 ServerType_Auditing = 2742 ServerDiagnosticsType_SessionsDiagnosticsSummary = 2744 AuditChannelEventType_SecureChannelId = 2745 AuditOpenSecureChannelEventType_ClientCertificateThumbprint = 2746 AuditCreateSessionEventType_ClientCertificateThumbprint = 2747 AuditUrlMismatchEventType = 2748 AuditUrlMismatchEventType_EndpointUrl = 2749 AuditWriteUpdateEventType_AttributeId = 2750 AuditHistoryUpdateEventType_ParameterDataTypeId = 2751 ServerStatusType_SecondsTillShutdown = 2752 ServerStatusType_ShutdownReason = 2753 ServerCapabilitiesType_AggregateFunctions = 2754 StateVariableType = 2755 StateVariableType_Id = 2756 StateVariableType_Name = 2757 StateVariableType_Number = 2758 StateVariableType_EffectiveDisplayName = 2759 FiniteStateVariableType = 2760 FiniteStateVariableType_Id = 2761 TransitionVariableType = 2762 TransitionVariableType_Id = 2763 TransitionVariableType_Name = 2764 TransitionVariableType_Number = 2765 TransitionVariableType_TransitionTime = 2766 FiniteTransitionVariableType = 2767 FiniteTransitionVariableType_Id = 2768 StateMachineType_CurrentState = 2769 StateMachineType_LastTransition = 2770 FiniteStateMachineType = 2771 FiniteStateMachineType_CurrentState = 2772 FiniteStateMachineType_LastTransition = 2773 TransitionEventType_Transition = 2774 TransitionEventType_FromState = 2775 TransitionEventType_ToState = 2776 AuditUpdateStateEventType_OldStateId = 2777 AuditUpdateStateEventType_NewStateId = 2778 ConditionType = 2782 RefreshStartEventType = 2787 RefreshEndEventType = 2788 RefreshRequiredEventType = 2789 AuditConditionEventType = 2790 AuditConditionEnableEventType = 2803 AuditConditionCommentEventType = 2829 DialogConditionType = 2830 DialogConditionType_Prompt = 2831 AcknowledgeableConditionType = 2881 AlarmConditionType = 2915 ShelvedStateMachineType = 2929 ShelvedStateMachineType_Unshelved = 2930 ShelvedStateMachineType_TimedShelved = 2932 ShelvedStateMachineType_OneShotShelved = 2933 ShelvedStateMachineType_UnshelvedToTimedShelved = 2935 ShelvedStateMachineType_UnshelvedToOneShotShelved = 2936 ShelvedStateMachineType_TimedShelvedToUnshelved = 2940 ShelvedStateMachineType_TimedShelvedToOneShotShelved = 2942 ShelvedStateMachineType_OneShotShelvedToUnshelved = 2943 ShelvedStateMachineType_OneShotShelvedToTimedShelved = 2945 ShelvedStateMachineType_Unshelve = 2947 ShelvedStateMachineType_OneShotShelve = 2948 ShelvedStateMachineType_TimedShelve = 2949 LimitAlarmType = 2955 ShelvedStateMachineType_TimedShelve_InputArguments = 2991 Server_ServerStatus_SecondsTillShutdown = 2992 Server_ServerStatus_ShutdownReason = 2993 Server_Auditing = 2994 Server_ServerCapabilities_ModellingRules = 2996 Server_ServerCapabilities_AggregateFunctions = 2997 SubscriptionDiagnosticsType_EventNotificationsCount = 2998 AuditHistoryEventUpdateEventType = 2999 AuditHistoryEventUpdateEventType_Filter = 3003 AuditHistoryValueUpdateEventType = 3006 AuditHistoryDeleteEventType = 3012 AuditHistoryRawModifyDeleteEventType = 3014 AuditHistoryRawModifyDeleteEventType_IsDeleteModified = 3015 AuditHistoryRawModifyDeleteEventType_StartTime = 3016 AuditHistoryRawModifyDeleteEventType_EndTime = 3017 AuditHistoryAtTimeDeleteEventType = 3019 AuditHistoryAtTimeDeleteEventType_ReqTimes = 3020 AuditHistoryAtTimeDeleteEventType_OldValues = 3021 AuditHistoryEventDeleteEventType = 3022 AuditHistoryEventDeleteEventType_EventIds = 3023 AuditHistoryEventDeleteEventType_OldValues = 3024 AuditHistoryEventUpdateEventType_UpdatedNode = 3025 AuditHistoryValueUpdateEventType_UpdatedNode = 3026 AuditHistoryDeleteEventType_UpdatedNode = 3027 AuditHistoryEventUpdateEventType_PerformInsertReplace = 3028 AuditHistoryEventUpdateEventType_NewValues = 3029 AuditHistoryEventUpdateEventType_OldValues = 3030 AuditHistoryValueUpdateEventType_PerformInsertReplace = 3031 AuditHistoryValueUpdateEventType_NewValues = 3032 AuditHistoryValueUpdateEventType_OldValues = 3033 AuditHistoryRawModifyDeleteEventType_OldValues = 3034 EventQueueOverflowEventType = 3035 EventTypesFolder = 3048 ServerCapabilitiesType_SoftwareCertificates = 3049 SessionDiagnosticsVariableType_MaxResponseMessageSize = 3050 BuildInfoType = 3051 BuildInfoType_ProductUri = 3052 BuildInfoType_ManufacturerName = 3053 BuildInfoType_ProductName = 3054 BuildInfoType_SoftwareVersion = 3055 BuildInfoType_BuildNumber = 3056 BuildInfoType_BuildDate = 3057 SessionSecurityDiagnosticsType_ClientCertificate = 3058 HistoricalDataConfigurationType_AggregateConfiguration = 3059 DefaultBinary = 3062 DefaultXml = 3063 AlwaysGeneratesEvent = 3065 Icon = 3067 NodeVersion = 3068 LocalTime = 3069 AllowNulls = 3070 EnumValues = 3071 InputArguments = 3072 OutputArguments = 3073 ServerType_ServerStatus_StartTime = 3074 ServerType_ServerStatus_CurrentTime = 3075 ServerType_ServerStatus_State = 3076 ServerType_ServerStatus_BuildInfo = 3077 ServerType_ServerStatus_BuildInfo_ProductUri = 3078 ServerType_ServerStatus_BuildInfo_ManufacturerName = 3079 ServerType_ServerStatus_BuildInfo_ProductName = 3080 ServerType_ServerStatus_BuildInfo_SoftwareVersion = 3081 ServerType_ServerStatus_BuildInfo_BuildNumber = 3082 ServerType_ServerStatus_BuildInfo_BuildDate = 3083 ServerType_ServerStatus_SecondsTillShutdown = 3084 ServerType_ServerStatus_ShutdownReason = 3085 ServerType_ServerCapabilities_ServerProfileArray = 3086 ServerType_ServerCapabilities_LocaleIdArray = 3087 ServerType_ServerCapabilities_MinSupportedSampleRate = 3088 ServerType_ServerCapabilities_MaxBrowseContinuationPoints = 3089 ServerType_ServerCapabilities_MaxQueryContinuationPoints = 3090 ServerType_ServerCapabilities_MaxHistoryContinuationPoints = 3091 ServerType_ServerCapabilities_SoftwareCertificates = 3092 ServerType_ServerCapabilities_ModellingRules = 3093 ServerType_ServerCapabilities_AggregateFunctions = 3094 ServerType_ServerDiagnostics_ServerDiagnosticsSummary = 3095 ServerType_ServerDiagnostics_ServerDiagnosticsSummary_ServerViewCount = 3096 ServerType_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSessionCount = 3097 ServerType_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSessionCount = 3098 ServerType_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedSessionCount = 3099 ServerType_ServerDiagnostics_ServerDiagnosticsSummary_RejectedSessionCount = 3100 ServerType_ServerDiagnostics_ServerDiagnosticsSummary_SessionTimeoutCount = 3101 ServerType_ServerDiagnostics_ServerDiagnosticsSummary_SessionAbortCount = 3102 ServerType_ServerDiagnostics_ServerDiagnosticsSummary_PublishingIntervalCount = 3104 ServerType_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSubscriptionCount = 3105 ServerType_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSubscriptionCount = 3106 ServerType_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedRequestsCount = 3107 ServerType_ServerDiagnostics_ServerDiagnosticsSummary_RejectedRequestsCount = 3108 ServerType_ServerDiagnostics_SamplingIntervalDiagnosticsArray = 3109 ServerType_ServerDiagnostics_SubscriptionDiagnosticsArray = 3110 ServerType_ServerDiagnostics_SessionsDiagnosticsSummary = 3111 ServerType_ServerDiagnostics_SessionsDiagnosticsSummary_SessionDiagnosticsArray = 3112 ServerType_ServerDiagnostics_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray = 3113 ServerType_ServerDiagnostics_EnabledFlag = 3114 ServerType_ServerRedundancy_RedundancySupport = 3115 ServerDiagnosticsType_ServerDiagnosticsSummary_ServerViewCount = 3116 ServerDiagnosticsType_ServerDiagnosticsSummary_CurrentSessionCount = 3117 ServerDiagnosticsType_ServerDiagnosticsSummary_CumulatedSessionCount = 3118 ServerDiagnosticsType_ServerDiagnosticsSummary_SecurityRejectedSessionCount = 3119 ServerDiagnosticsType_ServerDiagnosticsSummary_RejectedSessionCount = 3120 ServerDiagnosticsType_ServerDiagnosticsSummary_SessionTimeoutCount = 3121 ServerDiagnosticsType_ServerDiagnosticsSummary_SessionAbortCount = 3122 ServerDiagnosticsType_ServerDiagnosticsSummary_PublishingIntervalCount = 3124 ServerDiagnosticsType_ServerDiagnosticsSummary_CurrentSubscriptionCount = 3125 ServerDiagnosticsType_ServerDiagnosticsSummary_CumulatedSubscriptionCount = 3126 ServerDiagnosticsType_ServerDiagnosticsSummary_SecurityRejectedRequestsCount = 3127 ServerDiagnosticsType_ServerDiagnosticsSummary_RejectedRequestsCount = 3128 ServerDiagnosticsType_SessionsDiagnosticsSummary_SessionDiagnosticsArray = 3129 ServerDiagnosticsType_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray = 3130 SessionDiagnosticsObjectType_SessionDiagnostics_SessionId = 3131 SessionDiagnosticsObjectType_SessionDiagnostics_SessionName = 3132 SessionDiagnosticsObjectType_SessionDiagnostics_ClientDescription = 3133 SessionDiagnosticsObjectType_SessionDiagnostics_ServerUri = 3134 SessionDiagnosticsObjectType_SessionDiagnostics_EndpointUrl = 3135 SessionDiagnosticsObjectType_SessionDiagnostics_LocaleIds = 3136 SessionDiagnosticsObjectType_SessionDiagnostics_ActualSessionTimeout = 3137 SessionDiagnosticsObjectType_SessionDiagnostics_MaxResponseMessageSize = 3138 SessionDiagnosticsObjectType_SessionDiagnostics_ClientConnectionTime = 3139 SessionDiagnosticsObjectType_SessionDiagnostics_ClientLastContactTime = 3140 SessionDiagnosticsObjectType_SessionDiagnostics_CurrentSubscriptionsCount = 3141 SessionDiagnosticsObjectType_SessionDiagnostics_CurrentMonitoredItemsCount = 3142 SessionDiagnosticsObjectType_SessionDiagnostics_CurrentPublishRequestsInQueue = 3143 SessionDiagnosticsObjectType_SessionDiagnostics_ReadCount = 3151 SessionDiagnosticsObjectType_SessionDiagnostics_HistoryReadCount = 3152 SessionDiagnosticsObjectType_SessionDiagnostics_WriteCount = 3153 SessionDiagnosticsObjectType_SessionDiagnostics_HistoryUpdateCount = 3154 SessionDiagnosticsObjectType_SessionDiagnostics_CallCount = 3155 SessionDiagnosticsObjectType_SessionDiagnostics_CreateMonitoredItemsCount = 3156 SessionDiagnosticsObjectType_SessionDiagnostics_ModifyMonitoredItemsCount = 3157 SessionDiagnosticsObjectType_SessionDiagnostics_SetMonitoringModeCount = 3158 SessionDiagnosticsObjectType_SessionDiagnostics_SetTriggeringCount = 3159 SessionDiagnosticsObjectType_SessionDiagnostics_DeleteMonitoredItemsCount = 3160 SessionDiagnosticsObjectType_SessionDiagnostics_CreateSubscriptionCount = 3161 SessionDiagnosticsObjectType_SessionDiagnostics_ModifySubscriptionCount = 3162 SessionDiagnosticsObjectType_SessionDiagnostics_SetPublishingModeCount = 3163 SessionDiagnosticsObjectType_SessionDiagnostics_PublishCount = 3164 SessionDiagnosticsObjectType_SessionDiagnostics_RepublishCount = 3165 SessionDiagnosticsObjectType_SessionDiagnostics_TransferSubscriptionsCount = 3166 SessionDiagnosticsObjectType_SessionDiagnostics_DeleteSubscriptionsCount = 3167 SessionDiagnosticsObjectType_SessionDiagnostics_AddNodesCount = 3168 SessionDiagnosticsObjectType_SessionDiagnostics_AddReferencesCount = 3169 SessionDiagnosticsObjectType_SessionDiagnostics_DeleteNodesCount = 3170 SessionDiagnosticsObjectType_SessionDiagnostics_DeleteReferencesCount = 3171 SessionDiagnosticsObjectType_SessionDiagnostics_BrowseCount = 3172 SessionDiagnosticsObjectType_SessionDiagnostics_BrowseNextCount = 3173 SessionDiagnosticsObjectType_SessionDiagnostics_TranslateBrowsePathsToNodeIdsCount = 3174 SessionDiagnosticsObjectType_SessionDiagnostics_QueryFirstCount = 3175 SessionDiagnosticsObjectType_SessionDiagnostics_QueryNextCount = 3176 SessionDiagnosticsObjectType_SessionDiagnostics_RegisterNodesCount = 3177 SessionDiagnosticsObjectType_SessionDiagnostics_UnregisterNodesCount = 3178 SessionDiagnosticsObjectType_SessionSecurityDiagnostics_SessionId = 3179 SessionDiagnosticsObjectType_SessionSecurityDiagnostics_ClientUserIdOfSession = 3180 SessionDiagnosticsObjectType_SessionSecurityDiagnostics_ClientUserIdHistory = 3181 SessionDiagnosticsObjectType_SessionSecurityDiagnostics_AuthenticationMechanism = 3182 SessionDiagnosticsObjectType_SessionSecurityDiagnostics_Encoding = 3183 SessionDiagnosticsObjectType_SessionSecurityDiagnostics_TransportProtocol = 3184 SessionDiagnosticsObjectType_SessionSecurityDiagnostics_SecurityMode = 3185 SessionDiagnosticsObjectType_SessionSecurityDiagnostics_SecurityPolicyUri = 3186 SessionDiagnosticsObjectType_SessionSecurityDiagnostics_ClientCertificate = 3187 TransparentRedundancyType_RedundancySupport = 3188 NonTransparentRedundancyType_RedundancySupport = 3189 BaseEventType_LocalTime = 3190 EventQueueOverflowEventType_EventId = 3191 EventQueueOverflowEventType_EventType = 3192 EventQueueOverflowEventType_SourceNode = 3193 EventQueueOverflowEventType_SourceName = 3194 EventQueueOverflowEventType_Time = 3195 EventQueueOverflowEventType_ReceiveTime = 3196 EventQueueOverflowEventType_LocalTime = 3197 EventQueueOverflowEventType_Message = 3198 EventQueueOverflowEventType_Severity = 3199 AuditEventType_EventId = 3200 AuditEventType_EventType = 3201 AuditEventType_SourceNode = 3202 AuditEventType_SourceName = 3203 AuditEventType_Time = 3204 AuditEventType_ReceiveTime = 3205 AuditEventType_LocalTime = 3206 AuditEventType_Message = 3207 AuditEventType_Severity = 3208 AuditSecurityEventType_EventId = 3209 AuditSecurityEventType_EventType = 3210 AuditSecurityEventType_SourceNode = 3211 AuditSecurityEventType_SourceName = 3212 AuditSecurityEventType_Time = 3213 AuditSecurityEventType_ReceiveTime = 3214 AuditSecurityEventType_LocalTime = 3215 AuditSecurityEventType_Message = 3216 AuditSecurityEventType_Severity = 3217 AuditSecurityEventType_ActionTimeStamp = 3218 AuditSecurityEventType_Status = 3219 AuditSecurityEventType_ServerId = 3220 AuditSecurityEventType_ClientAuditEntryId = 3221 AuditSecurityEventType_ClientUserId = 3222 AuditChannelEventType_EventId = 3223 AuditChannelEventType_EventType = 3224 AuditChannelEventType_SourceNode = 3225 AuditChannelEventType_SourceName = 3226 AuditChannelEventType_Time = 3227 AuditChannelEventType_ReceiveTime = 3228 AuditChannelEventType_LocalTime = 3229 AuditChannelEventType_Message = 3230 AuditChannelEventType_Severity = 3231 AuditChannelEventType_ActionTimeStamp = 3232 AuditChannelEventType_Status = 3233 AuditChannelEventType_ServerId = 3234 AuditChannelEventType_ClientAuditEntryId = 3235 AuditChannelEventType_ClientUserId = 3236 AuditOpenSecureChannelEventType_EventId = 3237 AuditOpenSecureChannelEventType_EventType = 3238 AuditOpenSecureChannelEventType_SourceNode = 3239 AuditOpenSecureChannelEventType_SourceName = 3240 AuditOpenSecureChannelEventType_Time = 3241 AuditOpenSecureChannelEventType_ReceiveTime = 3242 AuditOpenSecureChannelEventType_LocalTime = 3243 AuditOpenSecureChannelEventType_Message = 3244 AuditOpenSecureChannelEventType_Severity = 3245 AuditOpenSecureChannelEventType_ActionTimeStamp = 3246 AuditOpenSecureChannelEventType_Status = 3247 AuditOpenSecureChannelEventType_ServerId = 3248 AuditOpenSecureChannelEventType_ClientAuditEntryId = 3249 AuditOpenSecureChannelEventType_ClientUserId = 3250 AuditOpenSecureChannelEventType_SecureChannelId = 3251 AuditSessionEventType_EventId = 3252 AuditSessionEventType_EventType = 3253 AuditSessionEventType_SourceNode = 3254 AuditSessionEventType_SourceName = 3255 AuditSessionEventType_Time = 3256 AuditSessionEventType_ReceiveTime = 3257 AuditSessionEventType_LocalTime = 3258 AuditSessionEventType_Message = 3259 AuditSessionEventType_Severity = 3260 AuditSessionEventType_ActionTimeStamp = 3261 AuditSessionEventType_Status = 3262 AuditSessionEventType_ServerId = 3263 AuditSessionEventType_ClientAuditEntryId = 3264 AuditSessionEventType_ClientUserId = 3265 AuditCreateSessionEventType_EventId = 3266 AuditCreateSessionEventType_EventType = 3267 AuditCreateSessionEventType_SourceNode = 3268 AuditCreateSessionEventType_SourceName = 3269 AuditCreateSessionEventType_Time = 3270 AuditCreateSessionEventType_ReceiveTime = 3271 AuditCreateSessionEventType_LocalTime = 3272 AuditCreateSessionEventType_Message = 3273 AuditCreateSessionEventType_Severity = 3274 AuditCreateSessionEventType_ActionTimeStamp = 3275 AuditCreateSessionEventType_Status = 3276 AuditCreateSessionEventType_ServerId = 3277 AuditCreateSessionEventType_ClientAuditEntryId = 3278 AuditCreateSessionEventType_ClientUserId = 3279 AuditUrlMismatchEventType_EventId = 3281 AuditUrlMismatchEventType_EventType = 3282 AuditUrlMismatchEventType_SourceNode = 3283 AuditUrlMismatchEventType_SourceName = 3284 AuditUrlMismatchEventType_Time = 3285 AuditUrlMismatchEventType_ReceiveTime = 3286 AuditUrlMismatchEventType_LocalTime = 3287 AuditUrlMismatchEventType_Message = 3288 AuditUrlMismatchEventType_Severity = 3289 AuditUrlMismatchEventType_ActionTimeStamp = 3290 AuditUrlMismatchEventType_Status = 3291 AuditUrlMismatchEventType_ServerId = 3292 AuditUrlMismatchEventType_ClientAuditEntryId = 3293 AuditUrlMismatchEventType_ClientUserId = 3294 AuditUrlMismatchEventType_SecureChannelId = 3296 AuditUrlMismatchEventType_ClientCertificate = 3297 AuditUrlMismatchEventType_ClientCertificateThumbprint = 3298 AuditUrlMismatchEventType_RevisedSessionTimeout = 3299 AuditActivateSessionEventType_EventId = 3300 AuditActivateSessionEventType_EventType = 3301 AuditActivateSessionEventType_SourceNode = 3302 AuditActivateSessionEventType_SourceName = 3303 AuditActivateSessionEventType_Time = 3304 AuditActivateSessionEventType_ReceiveTime = 3305 AuditActivateSessionEventType_LocalTime = 3306 AuditActivateSessionEventType_Message = 3307 AuditActivateSessionEventType_Severity = 3308 AuditActivateSessionEventType_ActionTimeStamp = 3309 AuditActivateSessionEventType_Status = 3310 AuditActivateSessionEventType_ServerId = 3311 AuditActivateSessionEventType_ClientAuditEntryId = 3312 AuditActivateSessionEventType_ClientUserId = 3313 AuditActivateSessionEventType_SessionId = 3314 AuditCancelEventType_EventId = 3315 AuditCancelEventType_EventType = 3316 AuditCancelEventType_SourceNode = 3317 AuditCancelEventType_SourceName = 3318 AuditCancelEventType_Time = 3319 AuditCancelEventType_ReceiveTime = 3320 AuditCancelEventType_LocalTime = 3321 AuditCancelEventType_Message = 3322 AuditCancelEventType_Severity = 3323 AuditCancelEventType_ActionTimeStamp = 3324 AuditCancelEventType_Status = 3325 AuditCancelEventType_ServerId = 3326 AuditCancelEventType_ClientAuditEntryId = 3327 AuditCancelEventType_ClientUserId = 3328 AuditCancelEventType_SessionId = 3329 AuditCertificateEventType_EventId = 3330 AuditCertificateEventType_EventType = 3331 AuditCertificateEventType_SourceNode = 3332 AuditCertificateEventType_SourceName = 3333 AuditCertificateEventType_Time = 3334 AuditCertificateEventType_ReceiveTime = 3335 AuditCertificateEventType_LocalTime = 3336 AuditCertificateEventType_Message = 3337 AuditCertificateEventType_Severity = 3338 AuditCertificateEventType_ActionTimeStamp = 3339 AuditCertificateEventType_Status = 3340 AuditCertificateEventType_ServerId = 3341 AuditCertificateEventType_ClientAuditEntryId = 3342 AuditCertificateEventType_ClientUserId = 3343 AuditCertificateDataMismatchEventType_EventId = 3344 AuditCertificateDataMismatchEventType_EventType = 3345 AuditCertificateDataMismatchEventType_SourceNode = 3346 AuditCertificateDataMismatchEventType_SourceName = 3347 AuditCertificateDataMismatchEventType_Time = 3348 AuditCertificateDataMismatchEventType_ReceiveTime = 3349 AuditCertificateDataMismatchEventType_LocalTime = 3350 AuditCertificateDataMismatchEventType_Message = 3351 AuditCertificateDataMismatchEventType_Severity = 3352 AuditCertificateDataMismatchEventType_ActionTimeStamp = 3353 AuditCertificateDataMismatchEventType_Status = 3354 AuditCertificateDataMismatchEventType_ServerId = 3355 AuditCertificateDataMismatchEventType_ClientAuditEntryId = 3356 AuditCertificateDataMismatchEventType_ClientUserId = 3357 AuditCertificateDataMismatchEventType_Certificate = 3358 AuditCertificateExpiredEventType_EventId = 3359 AuditCertificateExpiredEventType_EventType = 3360 AuditCertificateExpiredEventType_SourceNode = 3361 AuditCertificateExpiredEventType_SourceName = 3362 AuditCertificateExpiredEventType_Time = 3363 AuditCertificateExpiredEventType_ReceiveTime = 3364 AuditCertificateExpiredEventType_LocalTime = 3365 AuditCertificateExpiredEventType_Message = 3366 AuditCertificateExpiredEventType_Severity = 3367 AuditCertificateExpiredEventType_ActionTimeStamp = 3368 AuditCertificateExpiredEventType_Status = 3369 AuditCertificateExpiredEventType_ServerId = 3370 AuditCertificateExpiredEventType_ClientAuditEntryId = 3371 AuditCertificateExpiredEventType_ClientUserId = 3372 AuditCertificateExpiredEventType_Certificate = 3373 AuditCertificateInvalidEventType_EventId = 3374 AuditCertificateInvalidEventType_EventType = 3375 AuditCertificateInvalidEventType_SourceNode = 3376 AuditCertificateInvalidEventType_SourceName = 3377 AuditCertificateInvalidEventType_Time = 3378 AuditCertificateInvalidEventType_ReceiveTime = 3379 AuditCertificateInvalidEventType_LocalTime = 3380 AuditCertificateInvalidEventType_Message = 3381 AuditCertificateInvalidEventType_Severity = 3382 AuditCertificateInvalidEventType_ActionTimeStamp = 3383 AuditCertificateInvalidEventType_Status = 3384 AuditCertificateInvalidEventType_ServerId = 3385 AuditCertificateInvalidEventType_ClientAuditEntryId = 3386 AuditCertificateInvalidEventType_ClientUserId = 3387 AuditCertificateInvalidEventType_Certificate = 3388 AuditCertificateUntrustedEventType_EventId = 3389 AuditCertificateUntrustedEventType_EventType = 3390 AuditCertificateUntrustedEventType_SourceNode = 3391 AuditCertificateUntrustedEventType_SourceName = 3392 AuditCertificateUntrustedEventType_Time = 3393 AuditCertificateUntrustedEventType_ReceiveTime = 3394 AuditCertificateUntrustedEventType_LocalTime = 3395 AuditCertificateUntrustedEventType_Message = 3396 AuditCertificateUntrustedEventType_Severity = 3397 AuditCertificateUntrustedEventType_ActionTimeStamp = 3398 AuditCertificateUntrustedEventType_Status = 3399 AuditCertificateUntrustedEventType_ServerId = 3400 AuditCertificateUntrustedEventType_ClientAuditEntryId = 3401 AuditCertificateUntrustedEventType_ClientUserId = 3402 AuditCertificateUntrustedEventType_Certificate = 3403 AuditCertificateRevokedEventType_EventId = 3404 AuditCertificateRevokedEventType_EventType = 3405 AuditCertificateRevokedEventType_SourceNode = 3406 AuditCertificateRevokedEventType_SourceName = 3407 AuditCertificateRevokedEventType_Time = 3408 AuditCertificateRevokedEventType_ReceiveTime = 3409 AuditCertificateRevokedEventType_LocalTime = 3410 AuditCertificateRevokedEventType_Message = 3411 AuditCertificateRevokedEventType_Severity = 3412 AuditCertificateRevokedEventType_ActionTimeStamp = 3413 AuditCertificateRevokedEventType_Status = 3414 AuditCertificateRevokedEventType_ServerId = 3415 AuditCertificateRevokedEventType_ClientAuditEntryId = 3416 AuditCertificateRevokedEventType_ClientUserId = 3417 AuditCertificateRevokedEventType_Certificate = 3418 AuditCertificateMismatchEventType_EventId = 3419 AuditCertificateMismatchEventType_EventType = 3420 AuditCertificateMismatchEventType_SourceNode = 3421 AuditCertificateMismatchEventType_SourceName = 3422 AuditCertificateMismatchEventType_Time = 3423 AuditCertificateMismatchEventType_ReceiveTime = 3424 AuditCertificateMismatchEventType_LocalTime = 3425 AuditCertificateMismatchEventType_Message = 3426 AuditCertificateMismatchEventType_Severity = 3427 AuditCertificateMismatchEventType_ActionTimeStamp = 3428 AuditCertificateMismatchEventType_Status = 3429 AuditCertificateMismatchEventType_ServerId = 3430 AuditCertificateMismatchEventType_ClientAuditEntryId = 3431 AuditCertificateMismatchEventType_ClientUserId = 3432 AuditCertificateMismatchEventType_Certificate = 3433 AuditNodeManagementEventType_EventId = 3434 AuditNodeManagementEventType_EventType = 3435 AuditNodeManagementEventType_SourceNode = 3436 AuditNodeManagementEventType_SourceName = 3437 AuditNodeManagementEventType_Time = 3438 AuditNodeManagementEventType_ReceiveTime = 3439 AuditNodeManagementEventType_LocalTime = 3440 AuditNodeManagementEventType_Message = 3441 AuditNodeManagementEventType_Severity = 3442 AuditNodeManagementEventType_ActionTimeStamp = 3443 AuditNodeManagementEventType_Status = 3444 AuditNodeManagementEventType_ServerId = 3445 AuditNodeManagementEventType_ClientAuditEntryId = 3446 AuditNodeManagementEventType_ClientUserId = 3447 AuditAddNodesEventType_EventId = 3448 AuditAddNodesEventType_EventType = 3449 AuditAddNodesEventType_SourceNode = 3450 AuditAddNodesEventType_SourceName = 3451 AuditAddNodesEventType_Time = 3452 AuditAddNodesEventType_ReceiveTime = 3453 AuditAddNodesEventType_LocalTime = 3454 AuditAddNodesEventType_Message = 3455 AuditAddNodesEventType_Severity = 3456 AuditAddNodesEventType_ActionTimeStamp = 3457 AuditAddNodesEventType_Status = 3458 AuditAddNodesEventType_ServerId = 3459 AuditAddNodesEventType_ClientAuditEntryId = 3460 AuditAddNodesEventType_ClientUserId = 3461 AuditDeleteNodesEventType_EventId = 3462 AuditDeleteNodesEventType_EventType = 3463 AuditDeleteNodesEventType_SourceNode = 3464 AuditDeleteNodesEventType_SourceName = 3465 AuditDeleteNodesEventType_Time = 3466 AuditDeleteNodesEventType_ReceiveTime = 3467 AuditDeleteNodesEventType_LocalTime = 3468 AuditDeleteNodesEventType_Message = 3469 AuditDeleteNodesEventType_Severity = 3470 AuditDeleteNodesEventType_ActionTimeStamp = 3471 AuditDeleteNodesEventType_Status = 3472 AuditDeleteNodesEventType_ServerId = 3473 AuditDeleteNodesEventType_ClientAuditEntryId = 3474 AuditDeleteNodesEventType_ClientUserId = 3475 AuditAddReferencesEventType_EventId = 3476 AuditAddReferencesEventType_EventType = 3477 AuditAddReferencesEventType_SourceNode = 3478 AuditAddReferencesEventType_SourceName = 3479 AuditAddReferencesEventType_Time = 3480 AuditAddReferencesEventType_ReceiveTime = 3481 AuditAddReferencesEventType_LocalTime = 3482 AuditAddReferencesEventType_Message = 3483 AuditAddReferencesEventType_Severity = 3484 AuditAddReferencesEventType_ActionTimeStamp = 3485 AuditAddReferencesEventType_Status = 3486 AuditAddReferencesEventType_ServerId = 3487 AuditAddReferencesEventType_ClientAuditEntryId = 3488 AuditAddReferencesEventType_ClientUserId = 3489 AuditDeleteReferencesEventType_EventId = 3490 AuditDeleteReferencesEventType_EventType = 3491 AuditDeleteReferencesEventType_SourceNode = 3492 AuditDeleteReferencesEventType_SourceName = 3493 AuditDeleteReferencesEventType_Time = 3494 AuditDeleteReferencesEventType_ReceiveTime = 3495 AuditDeleteReferencesEventType_LocalTime = 3496 AuditDeleteReferencesEventType_Message = 3497 AuditDeleteReferencesEventType_Severity = 3498 AuditDeleteReferencesEventType_ActionTimeStamp = 3499 AuditDeleteReferencesEventType_Status = 3500 AuditDeleteReferencesEventType_ServerId = 3501 AuditDeleteReferencesEventType_ClientAuditEntryId = 3502 AuditDeleteReferencesEventType_ClientUserId = 3503 AuditUpdateEventType_EventId = 3504 AuditUpdateEventType_EventType = 3505 AuditUpdateEventType_SourceNode = 3506 AuditUpdateEventType_SourceName = 3507 AuditUpdateEventType_Time = 3508 AuditUpdateEventType_ReceiveTime = 3509 AuditUpdateEventType_LocalTime = 3510 AuditUpdateEventType_Message = 3511 AuditUpdateEventType_Severity = 3512 AuditUpdateEventType_ActionTimeStamp = 3513 AuditUpdateEventType_Status = 3514 AuditUpdateEventType_ServerId = 3515 AuditUpdateEventType_ClientAuditEntryId = 3516 AuditUpdateEventType_ClientUserId = 3517 AuditWriteUpdateEventType_EventId = 3518 AuditWriteUpdateEventType_EventType = 3519 AuditWriteUpdateEventType_SourceNode = 3520 AuditWriteUpdateEventType_SourceName = 3521 AuditWriteUpdateEventType_Time = 3522 AuditWriteUpdateEventType_ReceiveTime = 3523 AuditWriteUpdateEventType_LocalTime = 3524 AuditWriteUpdateEventType_Message = 3525 AuditWriteUpdateEventType_Severity = 3526 AuditWriteUpdateEventType_ActionTimeStamp = 3527 AuditWriteUpdateEventType_Status = 3528 AuditWriteUpdateEventType_ServerId = 3529 AuditWriteUpdateEventType_ClientAuditEntryId = 3530 AuditWriteUpdateEventType_ClientUserId = 3531 AuditHistoryUpdateEventType_EventId = 3532 AuditHistoryUpdateEventType_EventType = 3533 AuditHistoryUpdateEventType_SourceNode = 3534 AuditHistoryUpdateEventType_SourceName = 3535 AuditHistoryUpdateEventType_Time = 3536 AuditHistoryUpdateEventType_ReceiveTime = 3537 AuditHistoryUpdateEventType_LocalTime = 3538 AuditHistoryUpdateEventType_Message = 3539 AuditHistoryUpdateEventType_Severity = 3540 AuditHistoryUpdateEventType_ActionTimeStamp = 3541 AuditHistoryUpdateEventType_Status = 3542 AuditHistoryUpdateEventType_ServerId = 3543 AuditHistoryUpdateEventType_ClientAuditEntryId = 3544 AuditHistoryUpdateEventType_ClientUserId = 3545 AuditHistoryEventUpdateEventType_EventId = 3546 AuditHistoryEventUpdateEventType_EventType = 3547 AuditHistoryEventUpdateEventType_SourceNode = 3548 AuditHistoryEventUpdateEventType_SourceName = 3549 AuditHistoryEventUpdateEventType_Time = 3550 AuditHistoryEventUpdateEventType_ReceiveTime = 3551 AuditHistoryEventUpdateEventType_LocalTime = 3552 AuditHistoryEventUpdateEventType_Message = 3553 AuditHistoryEventUpdateEventType_Severity = 3554 AuditHistoryEventUpdateEventType_ActionTimeStamp = 3555 AuditHistoryEventUpdateEventType_Status = 3556 AuditHistoryEventUpdateEventType_ServerId = 3557 AuditHistoryEventUpdateEventType_ClientAuditEntryId = 3558 AuditHistoryEventUpdateEventType_ClientUserId = 3559 AuditHistoryEventUpdateEventType_ParameterDataTypeId = 3560 AuditHistoryValueUpdateEventType_EventId = 3561 AuditHistoryValueUpdateEventType_EventType = 3562 AuditHistoryValueUpdateEventType_SourceNode = 3563 AuditHistoryValueUpdateEventType_SourceName = 3564 AuditHistoryValueUpdateEventType_Time = 3565 AuditHistoryValueUpdateEventType_ReceiveTime = 3566 AuditHistoryValueUpdateEventType_LocalTime = 3567 AuditHistoryValueUpdateEventType_Message = 3568 AuditHistoryValueUpdateEventType_Severity = 3569 AuditHistoryValueUpdateEventType_ActionTimeStamp = 3570 AuditHistoryValueUpdateEventType_Status = 3571 AuditHistoryValueUpdateEventType_ServerId = 3572 AuditHistoryValueUpdateEventType_ClientAuditEntryId = 3573 AuditHistoryValueUpdateEventType_ClientUserId = 3574 AuditHistoryValueUpdateEventType_ParameterDataTypeId = 3575 AuditHistoryDeleteEventType_EventId = 3576 AuditHistoryDeleteEventType_EventType = 3577 AuditHistoryDeleteEventType_SourceNode = 3578 AuditHistoryDeleteEventType_SourceName = 3579 AuditHistoryDeleteEventType_Time = 3580 AuditHistoryDeleteEventType_ReceiveTime = 3581 AuditHistoryDeleteEventType_LocalTime = 3582 AuditHistoryDeleteEventType_Message = 3583 AuditHistoryDeleteEventType_Severity = 3584 AuditHistoryDeleteEventType_ActionTimeStamp = 3585 AuditHistoryDeleteEventType_Status = 3586 AuditHistoryDeleteEventType_ServerId = 3587 AuditHistoryDeleteEventType_ClientAuditEntryId = 3588 AuditHistoryDeleteEventType_ClientUserId = 3589 AuditHistoryDeleteEventType_ParameterDataTypeId = 3590 AuditHistoryRawModifyDeleteEventType_EventId = 3591 AuditHistoryRawModifyDeleteEventType_EventType = 3592 AuditHistoryRawModifyDeleteEventType_SourceNode = 3593 AuditHistoryRawModifyDeleteEventType_SourceName = 3594 AuditHistoryRawModifyDeleteEventType_Time = 3595 AuditHistoryRawModifyDeleteEventType_ReceiveTime = 3596 AuditHistoryRawModifyDeleteEventType_LocalTime = 3597 AuditHistoryRawModifyDeleteEventType_Message = 3598 AuditHistoryRawModifyDeleteEventType_Severity = 3599 AuditHistoryRawModifyDeleteEventType_ActionTimeStamp = 3600 AuditHistoryRawModifyDeleteEventType_Status = 3601 AuditHistoryRawModifyDeleteEventType_ServerId = 3602 AuditHistoryRawModifyDeleteEventType_ClientAuditEntryId = 3603 AuditHistoryRawModifyDeleteEventType_ClientUserId = 3604 AuditHistoryRawModifyDeleteEventType_ParameterDataTypeId = 3605 AuditHistoryRawModifyDeleteEventType_UpdatedNode = 3606 AuditHistoryAtTimeDeleteEventType_EventId = 3607 AuditHistoryAtTimeDeleteEventType_EventType = 3608 AuditHistoryAtTimeDeleteEventType_SourceNode = 3609 AuditHistoryAtTimeDeleteEventType_SourceName = 3610 AuditHistoryAtTimeDeleteEventType_Time = 3611 AuditHistoryAtTimeDeleteEventType_ReceiveTime = 3612 AuditHistoryAtTimeDeleteEventType_LocalTime = 3613 AuditHistoryAtTimeDeleteEventType_Message = 3614 AuditHistoryAtTimeDeleteEventType_Severity = 3615 AuditHistoryAtTimeDeleteEventType_ActionTimeStamp = 3616 AuditHistoryAtTimeDeleteEventType_Status = 3617 AuditHistoryAtTimeDeleteEventType_ServerId = 3618 AuditHistoryAtTimeDeleteEventType_ClientAuditEntryId = 3619 AuditHistoryAtTimeDeleteEventType_ClientUserId = 3620 AuditHistoryAtTimeDeleteEventType_ParameterDataTypeId = 3621 AuditHistoryAtTimeDeleteEventType_UpdatedNode = 3622 AuditHistoryEventDeleteEventType_EventId = 3623 AuditHistoryEventDeleteEventType_EventType = 3624 AuditHistoryEventDeleteEventType_SourceNode = 3625 AuditHistoryEventDeleteEventType_SourceName = 3626 AuditHistoryEventDeleteEventType_Time = 3627 AuditHistoryEventDeleteEventType_ReceiveTime = 3628 AuditHistoryEventDeleteEventType_LocalTime = 3629 AuditHistoryEventDeleteEventType_Message = 3630 AuditHistoryEventDeleteEventType_Severity = 3631 AuditHistoryEventDeleteEventType_ActionTimeStamp = 3632 AuditHistoryEventDeleteEventType_Status = 3633 AuditHistoryEventDeleteEventType_ServerId = 3634 AuditHistoryEventDeleteEventType_ClientAuditEntryId = 3635 AuditHistoryEventDeleteEventType_ClientUserId = 3636 AuditHistoryEventDeleteEventType_ParameterDataTypeId = 3637 AuditHistoryEventDeleteEventType_UpdatedNode = 3638 AuditUpdateMethodEventType_EventId = 3639 AuditUpdateMethodEventType_EventType = 3640 AuditUpdateMethodEventType_SourceNode = 3641 AuditUpdateMethodEventType_SourceName = 3642 AuditUpdateMethodEventType_Time = 3643 AuditUpdateMethodEventType_ReceiveTime = 3644 AuditUpdateMethodEventType_LocalTime = 3645 AuditUpdateMethodEventType_Message = 3646 AuditUpdateMethodEventType_Severity = 3647 AuditUpdateMethodEventType_ActionTimeStamp = 3648 AuditUpdateMethodEventType_Status = 3649 AuditUpdateMethodEventType_ServerId = 3650 AuditUpdateMethodEventType_ClientAuditEntryId = 3651 AuditUpdateMethodEventType_ClientUserId = 3652 SystemEventType_EventId = 3653 SystemEventType_EventType = 3654 SystemEventType_SourceNode = 3655 SystemEventType_SourceName = 3656 SystemEventType_Time = 3657 SystemEventType_ReceiveTime = 3658 SystemEventType_LocalTime = 3659 SystemEventType_Message = 3660 SystemEventType_Severity = 3661 DeviceFailureEventType_EventId = 3662 DeviceFailureEventType_EventType = 3663 DeviceFailureEventType_SourceNode = 3664 DeviceFailureEventType_SourceName = 3665 DeviceFailureEventType_Time = 3666 DeviceFailureEventType_ReceiveTime = 3667 DeviceFailureEventType_LocalTime = 3668 DeviceFailureEventType_Message = 3669 DeviceFailureEventType_Severity = 3670 BaseModelChangeEventType_EventId = 3671 BaseModelChangeEventType_EventType = 3672 BaseModelChangeEventType_SourceNode = 3673 BaseModelChangeEventType_SourceName = 3674 BaseModelChangeEventType_Time = 3675 BaseModelChangeEventType_ReceiveTime = 3676 BaseModelChangeEventType_LocalTime = 3677 BaseModelChangeEventType_Message = 3678 BaseModelChangeEventType_Severity = 3679 GeneralModelChangeEventType_EventId = 3680 GeneralModelChangeEventType_EventType = 3681 GeneralModelChangeEventType_SourceNode = 3682 GeneralModelChangeEventType_SourceName = 3683 GeneralModelChangeEventType_Time = 3684 GeneralModelChangeEventType_ReceiveTime = 3685 GeneralModelChangeEventType_LocalTime = 3686 GeneralModelChangeEventType_Message = 3687 GeneralModelChangeEventType_Severity = 3688 SemanticChangeEventType_EventId = 3689 SemanticChangeEventType_EventType = 3690 SemanticChangeEventType_SourceNode = 3691 SemanticChangeEventType_SourceName = 3692 SemanticChangeEventType_Time = 3693 SemanticChangeEventType_ReceiveTime = 3694 SemanticChangeEventType_LocalTime = 3695 SemanticChangeEventType_Message = 3696 SemanticChangeEventType_Severity = 3697 ServerStatusType_BuildInfo_ProductUri = 3698 ServerStatusType_BuildInfo_ManufacturerName = 3699 ServerStatusType_BuildInfo_ProductName = 3700 ServerStatusType_BuildInfo_SoftwareVersion = 3701 ServerStatusType_BuildInfo_BuildNumber = 3702 ServerStatusType_BuildInfo_BuildDate = 3703 Server_ServerCapabilities_SoftwareCertificates = 3704 Server_ServerDiagnostics_ServerDiagnosticsSummary_RejectedSessionCount = 3705 Server_ServerDiagnostics_SessionsDiagnosticsSummary = 3706 Server_ServerDiagnostics_SessionsDiagnosticsSummary_SessionDiagnosticsArray = 3707 Server_ServerDiagnostics_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray = 3708 Server_ServerRedundancy_RedundancySupport = 3709 FiniteStateVariableType_Name = 3714 FiniteStateVariableType_Number = 3715 FiniteStateVariableType_EffectiveDisplayName = 3716 FiniteTransitionVariableType_Name = 3717 FiniteTransitionVariableType_Number = 3718 FiniteTransitionVariableType_TransitionTime = 3719 StateMachineType_CurrentState_Id = 3720 StateMachineType_CurrentState_Name = 3721 StateMachineType_CurrentState_Number = 3722 StateMachineType_CurrentState_EffectiveDisplayName = 3723 StateMachineType_LastTransition_Id = 3724 StateMachineType_LastTransition_Name = 3725 StateMachineType_LastTransition_Number = 3726 StateMachineType_LastTransition_TransitionTime = 3727 FiniteStateMachineType_CurrentState_Id = 3728 FiniteStateMachineType_CurrentState_Name = 3729 FiniteStateMachineType_CurrentState_Number = 3730 FiniteStateMachineType_CurrentState_EffectiveDisplayName = 3731 FiniteStateMachineType_LastTransition_Id = 3732 FiniteStateMachineType_LastTransition_Name = 3733 FiniteStateMachineType_LastTransition_Number = 3734 FiniteStateMachineType_LastTransition_TransitionTime = 3735 InitialStateType_StateNumber = 3736 TransitionEventType_EventId = 3737 TransitionEventType_EventType = 3738 TransitionEventType_SourceNode = 3739 TransitionEventType_SourceName = 3740 TransitionEventType_Time = 3741 TransitionEventType_ReceiveTime = 3742 TransitionEventType_LocalTime = 3743 TransitionEventType_Message = 3744 TransitionEventType_Severity = 3745 TransitionEventType_FromState_Id = 3746 TransitionEventType_FromState_Name = 3747 TransitionEventType_FromState_Number = 3748 TransitionEventType_FromState_EffectiveDisplayName = 3749 TransitionEventType_ToState_Id = 3750 TransitionEventType_ToState_Name = 3751 TransitionEventType_ToState_Number = 3752 TransitionEventType_ToState_EffectiveDisplayName = 3753 TransitionEventType_Transition_Id = 3754 TransitionEventType_Transition_Name = 3755 TransitionEventType_Transition_Number = 3756 TransitionEventType_Transition_TransitionTime = 3757 AuditUpdateStateEventType_EventId = 3758 AuditUpdateStateEventType_EventType = 3759 AuditUpdateStateEventType_SourceNode = 3760 AuditUpdateStateEventType_SourceName = 3761 AuditUpdateStateEventType_Time = 3762 AuditUpdateStateEventType_ReceiveTime = 3763 AuditUpdateStateEventType_LocalTime = 3764 AuditUpdateStateEventType_Message = 3765 AuditUpdateStateEventType_Severity = 3766 AuditUpdateStateEventType_ActionTimeStamp = 3767 AuditUpdateStateEventType_Status = 3768 AuditUpdateStateEventType_ServerId = 3769 AuditUpdateStateEventType_ClientAuditEntryId = 3770 AuditUpdateStateEventType_ClientUserId = 3771 AuditUpdateStateEventType_MethodId = 3772 AuditUpdateStateEventType_InputArguments = 3773 AnalogItemType_Definition = 3774 AnalogItemType_ValuePrecision = 3775 DiscreteItemType_Definition = 3776 DiscreteItemType_ValuePrecision = 3777 TwoStateDiscreteType_Definition = 3778 TwoStateDiscreteType_ValuePrecision = 3779 MultiStateDiscreteType_Definition = 3780 MultiStateDiscreteType_ValuePrecision = 3781 ProgramTransitionEventType_EventId = 3782 ProgramTransitionEventType_EventType = 3783 ProgramTransitionEventType_SourceNode = 3784 ProgramTransitionEventType_SourceName = 3785 ProgramTransitionEventType_Time = 3786 ProgramTransitionEventType_ReceiveTime = 3787 ProgramTransitionEventType_LocalTime = 3788 ProgramTransitionEventType_Message = 3789 ProgramTransitionEventType_Severity = 3790 ProgramTransitionEventType_FromState = 3791 ProgramTransitionEventType_FromState_Id = 3792 ProgramTransitionEventType_FromState_Name = 3793 ProgramTransitionEventType_FromState_Number = 3794 ProgramTransitionEventType_FromState_EffectiveDisplayName = 3795 ProgramTransitionEventType_ToState = 3796 ProgramTransitionEventType_ToState_Id = 3797 ProgramTransitionEventType_ToState_Name = 3798 ProgramTransitionEventType_ToState_Number = 3799 ProgramTransitionEventType_ToState_EffectiveDisplayName = 3800 ProgramTransitionEventType_Transition = 3801 ProgramTransitionEventType_Transition_Id = 3802 ProgramTransitionEventType_Transition_Name = 3803 ProgramTransitionEventType_Transition_Number = 3804 ProgramTransitionEventType_Transition_TransitionTime = 3805 ProgramTransitionAuditEventType = 3806 ProgramTransitionAuditEventType_EventId = 3807 ProgramTransitionAuditEventType_EventType = 3808 ProgramTransitionAuditEventType_SourceNode = 3809 ProgramTransitionAuditEventType_SourceName = 3810 ProgramTransitionAuditEventType_Time = 3811 ProgramTransitionAuditEventType_ReceiveTime = 3812 ProgramTransitionAuditEventType_LocalTime = 3813 ProgramTransitionAuditEventType_Message = 3814 ProgramTransitionAuditEventType_Severity = 3815 ProgramTransitionAuditEventType_ActionTimeStamp = 3816 ProgramTransitionAuditEventType_Status = 3817 ProgramTransitionAuditEventType_ServerId = 3818 ProgramTransitionAuditEventType_ClientAuditEntryId = 3819 ProgramTransitionAuditEventType_ClientUserId = 3820 ProgramTransitionAuditEventType_MethodId = 3821 ProgramTransitionAuditEventType_InputArguments = 3822 ProgramTransitionAuditEventType_OldStateId = 3823 ProgramTransitionAuditEventType_NewStateId = 3824 ProgramTransitionAuditEventType_Transition = 3825 ProgramTransitionAuditEventType_Transition_Id = 3826 ProgramTransitionAuditEventType_Transition_Name = 3827 ProgramTransitionAuditEventType_Transition_Number = 3828 ProgramTransitionAuditEventType_Transition_TransitionTime = 3829 ProgramStateMachineType_CurrentState = 3830 ProgramStateMachineType_CurrentState_Id = 3831 ProgramStateMachineType_CurrentState_Name = 3832 ProgramStateMachineType_CurrentState_Number = 3833 ProgramStateMachineType_CurrentState_EffectiveDisplayName = 3834 ProgramStateMachineType_LastTransition = 3835 ProgramStateMachineType_LastTransition_Id = 3836 ProgramStateMachineType_LastTransition_Name = 3837 ProgramStateMachineType_LastTransition_Number = 3838 ProgramStateMachineType_LastTransition_TransitionTime = 3839 ProgramStateMachineType_ProgramDiagnostics_CreateSessionId = 3840 ProgramStateMachineType_ProgramDiagnostics_CreateClientName = 3841 ProgramStateMachineType_ProgramDiagnostics_InvocationCreationTime = 3842 ProgramStateMachineType_ProgramDiagnostics_LastTransitionTime = 3843 ProgramStateMachineType_ProgramDiagnostics_LastMethodCall = 3844 ProgramStateMachineType_ProgramDiagnostics_LastMethodSessionId = 3845 ProgramStateMachineType_ProgramDiagnostics_LastMethodInputArguments = 3846 ProgramStateMachineType_ProgramDiagnostics_LastMethodOutputArguments = 3847 ProgramStateMachineType_ProgramDiagnostics_LastMethodCallTime = 3848 ProgramStateMachineType_ProgramDiagnostics_LastMethodReturnStatus = 3849 ProgramStateMachineType_FinalResultData = 3850 AddCommentMethodType = 3863 AddCommentMethodType_InputArguments = 3864 ConditionType_EventId = 3865 ConditionType_EventType = 3866 ConditionType_SourceNode = 3867 ConditionType_SourceName = 3868 ConditionType_Time = 3869 ConditionType_ReceiveTime = 3870 ConditionType_LocalTime = 3871 ConditionType_Message = 3872 ConditionType_Severity = 3873 ConditionType_Retain = 3874 ConditionType_ConditionRefresh = 3875 ConditionType_ConditionRefresh_InputArguments = 3876 RefreshStartEventType_EventId = 3969 RefreshStartEventType_EventType = 3970 RefreshStartEventType_SourceNode = 3971 RefreshStartEventType_SourceName = 3972 RefreshStartEventType_Time = 3973 RefreshStartEventType_ReceiveTime = 3974 RefreshStartEventType_LocalTime = 3975 RefreshStartEventType_Message = 3976 RefreshStartEventType_Severity = 3977 RefreshEndEventType_EventId = 3978 RefreshEndEventType_EventType = 3979 RefreshEndEventType_SourceNode = 3980 RefreshEndEventType_SourceName = 3981 RefreshEndEventType_Time = 3982 RefreshEndEventType_ReceiveTime = 3983 RefreshEndEventType_LocalTime = 3984 RefreshEndEventType_Message = 3985 RefreshEndEventType_Severity = 3986 RefreshRequiredEventType_EventId = 3987 RefreshRequiredEventType_EventType = 3988 RefreshRequiredEventType_SourceNode = 3989 RefreshRequiredEventType_SourceName = 3990 RefreshRequiredEventType_Time = 3991 RefreshRequiredEventType_ReceiveTime = 3992 RefreshRequiredEventType_LocalTime = 3993 RefreshRequiredEventType_Message = 3994 RefreshRequiredEventType_Severity = 3995 AuditConditionEventType_EventId = 3996 AuditConditionEventType_EventType = 3997 AuditConditionEventType_SourceNode = 3998 AuditConditionEventType_SourceName = 3999 AuditConditionEventType_Time = 4000 AuditConditionEventType_ReceiveTime = 4001 AuditConditionEventType_LocalTime = 4002 AuditConditionEventType_Message = 4003 AuditConditionEventType_Severity = 4004 AuditConditionEventType_ActionTimeStamp = 4005 AuditConditionEventType_Status = 4006 AuditConditionEventType_ServerId = 4007 AuditConditionEventType_ClientAuditEntryId = 4008 AuditConditionEventType_ClientUserId = 4009 AuditConditionEventType_MethodId = 4010 AuditConditionEventType_InputArguments = 4011 AuditConditionEnableEventType_EventId = 4106 AuditConditionEnableEventType_EventType = 4107 AuditConditionEnableEventType_SourceNode = 4108 AuditConditionEnableEventType_SourceName = 4109 AuditConditionEnableEventType_Time = 4110 AuditConditionEnableEventType_ReceiveTime = 4111 AuditConditionEnableEventType_LocalTime = 4112 AuditConditionEnableEventType_Message = 4113 AuditConditionEnableEventType_Severity = 4114 AuditConditionEnableEventType_ActionTimeStamp = 4115 AuditConditionEnableEventType_Status = 4116 AuditConditionEnableEventType_ServerId = 4117 AuditConditionEnableEventType_ClientAuditEntryId = 4118 AuditConditionEnableEventType_ClientUserId = 4119 AuditConditionEnableEventType_MethodId = 4120 AuditConditionEnableEventType_InputArguments = 4121 AuditConditionCommentEventType_EventId = 4170 AuditConditionCommentEventType_EventType = 4171 AuditConditionCommentEventType_SourceNode = 4172 AuditConditionCommentEventType_SourceName = 4173 AuditConditionCommentEventType_Time = 4174 AuditConditionCommentEventType_ReceiveTime = 4175 AuditConditionCommentEventType_LocalTime = 4176 AuditConditionCommentEventType_Message = 4177 AuditConditionCommentEventType_Severity = 4178 AuditConditionCommentEventType_ActionTimeStamp = 4179 AuditConditionCommentEventType_Status = 4180 AuditConditionCommentEventType_ServerId = 4181 AuditConditionCommentEventType_ClientAuditEntryId = 4182 AuditConditionCommentEventType_ClientUserId = 4183 AuditConditionCommentEventType_MethodId = 4184 AuditConditionCommentEventType_InputArguments = 4185 DialogConditionType_EventId = 4188 DialogConditionType_EventType = 4189 DialogConditionType_SourceNode = 4190 DialogConditionType_SourceName = 4191 DialogConditionType_Time = 4192 DialogConditionType_ReceiveTime = 4193 DialogConditionType_LocalTime = 4194 DialogConditionType_Message = 4195 DialogConditionType_Severity = 4196 DialogConditionType_Retain = 4197 DialogConditionType_ConditionRefresh = 4198 DialogConditionType_ConditionRefresh_InputArguments = 4199 AcknowledgeableConditionType_EventId = 5113 AcknowledgeableConditionType_EventType = 5114 AcknowledgeableConditionType_SourceNode = 5115 AcknowledgeableConditionType_SourceName = 5116 AcknowledgeableConditionType_Time = 5117 AcknowledgeableConditionType_ReceiveTime = 5118 AcknowledgeableConditionType_LocalTime = 5119 AcknowledgeableConditionType_Message = 5120 AcknowledgeableConditionType_Severity = 5121 AcknowledgeableConditionType_Retain = 5122 AcknowledgeableConditionType_ConditionRefresh = 5123 AcknowledgeableConditionType_ConditionRefresh_InputArguments = 5124 AlarmConditionType_EventId = 5540 AlarmConditionType_EventType = 5541 AlarmConditionType_SourceNode = 5542 AlarmConditionType_SourceName = 5543 AlarmConditionType_Time = 5544 AlarmConditionType_ReceiveTime = 5545 AlarmConditionType_LocalTime = 5546 AlarmConditionType_Message = 5547 AlarmConditionType_Severity = 5548 AlarmConditionType_Retain = 5549 AlarmConditionType_ConditionRefresh = 5550 AlarmConditionType_ConditionRefresh_InputArguments = 5551 ShelvedStateMachineType_CurrentState = 6088 ShelvedStateMachineType_CurrentState_Id = 6089 ShelvedStateMachineType_CurrentState_Name = 6090 ShelvedStateMachineType_CurrentState_Number = 6091 ShelvedStateMachineType_CurrentState_EffectiveDisplayName = 6092 ShelvedStateMachineType_LastTransition = 6093 ShelvedStateMachineType_LastTransition_Id = 6094 ShelvedStateMachineType_LastTransition_Name = 6095 ShelvedStateMachineType_LastTransition_Number = 6096 ShelvedStateMachineType_LastTransition_TransitionTime = 6097 ShelvedStateMachineType_Unshelved_StateNumber = 6098 ShelvedStateMachineType_TimedShelved_StateNumber = 6100 ShelvedStateMachineType_OneShotShelved_StateNumber = 6101 TimedShelveMethodType = 6102 TimedShelveMethodType_InputArguments = 6103 LimitAlarmType_EventId = 6116 LimitAlarmType_EventType = 6117 LimitAlarmType_SourceNode = 6118 LimitAlarmType_SourceName = 6119 LimitAlarmType_Time = 6120 LimitAlarmType_ReceiveTime = 6121 LimitAlarmType_LocalTime = 6122 LimitAlarmType_Message = 6123 LimitAlarmType_Severity = 6124 LimitAlarmType_Retain = 6125 LimitAlarmType_ConditionRefresh = 6126 LimitAlarmType_ConditionRefresh_InputArguments = 6127 IdType_EnumStrings = 7591 EnumValueType = 7594 MessageSecurityMode_EnumStrings = 7595 UserTokenType_EnumStrings = 7596 ApplicationType_EnumStrings = 7597 SecurityTokenRequestType_EnumStrings = 7598 ComplianceLevel_EnumStrings = 7599 BrowseDirection_EnumStrings = 7603 FilterOperator_EnumStrings = 7605 TimestampsToReturn_EnumStrings = 7606 MonitoringMode_EnumStrings = 7608 DataChangeTrigger_EnumStrings = 7609 DeadbandType_EnumStrings = 7610 RedundancySupport_EnumStrings = 7611 ServerState_EnumStrings = 7612 ExceptionDeviationFormat_EnumStrings = 7614 EnumValueType_Encoding_DefaultXml = 7616 OpcUa_BinarySchema = 7617 OpcUa_BinarySchema_DataTypeVersion = 7618 OpcUa_BinarySchema_NamespaceUri = 7619 OpcUa_BinarySchema_Argument = 7650 OpcUa_BinarySchema_Argument_DataTypeVersion = 7651 OpcUa_BinarySchema_Argument_DictionaryFragment = 7652 OpcUa_BinarySchema_EnumValueType = 7656 OpcUa_BinarySchema_EnumValueType_DataTypeVersion = 7657 OpcUa_BinarySchema_EnumValueType_DictionaryFragment = 7658 OpcUa_BinarySchema_StatusResult = 7659 OpcUa_BinarySchema_StatusResult_DataTypeVersion = 7660 OpcUa_BinarySchema_StatusResult_DictionaryFragment = 7661 OpcUa_BinarySchema_UserTokenPolicy = 7662 OpcUa_BinarySchema_UserTokenPolicy_DataTypeVersion = 7663 OpcUa_BinarySchema_UserTokenPolicy_DictionaryFragment = 7664 OpcUa_BinarySchema_ApplicationDescription = 7665 OpcUa_BinarySchema_ApplicationDescription_DataTypeVersion = 7666 OpcUa_BinarySchema_ApplicationDescription_DictionaryFragment = 7667 OpcUa_BinarySchema_EndpointDescription = 7668 OpcUa_BinarySchema_EndpointDescription_DataTypeVersion = 7669 OpcUa_BinarySchema_EndpointDescription_DictionaryFragment = 7670 OpcUa_BinarySchema_UserIdentityToken = 7671 OpcUa_BinarySchema_UserIdentityToken_DataTypeVersion = 7672 OpcUa_BinarySchema_UserIdentityToken_DictionaryFragment = 7673 OpcUa_BinarySchema_AnonymousIdentityToken = 7674 OpcUa_BinarySchema_AnonymousIdentityToken_DataTypeVersion = 7675 OpcUa_BinarySchema_AnonymousIdentityToken_DictionaryFragment = 7676 OpcUa_BinarySchema_UserNameIdentityToken = 7677 OpcUa_BinarySchema_UserNameIdentityToken_DataTypeVersion = 7678 OpcUa_BinarySchema_UserNameIdentityToken_DictionaryFragment = 7679 OpcUa_BinarySchema_X509IdentityToken = 7680 OpcUa_BinarySchema_X509IdentityToken_DataTypeVersion = 7681 OpcUa_BinarySchema_X509IdentityToken_DictionaryFragment = 7682 OpcUa_BinarySchema_IssuedIdentityToken = 7683 OpcUa_BinarySchema_IssuedIdentityToken_DataTypeVersion = 7684 OpcUa_BinarySchema_IssuedIdentityToken_DictionaryFragment = 7685 OpcUa_BinarySchema_EndpointConfiguration = 7686 OpcUa_BinarySchema_EndpointConfiguration_DataTypeVersion = 7687 OpcUa_BinarySchema_EndpointConfiguration_DictionaryFragment = 7688 OpcUa_BinarySchema_SupportedProfile = 7689 OpcUa_BinarySchema_SupportedProfile_DataTypeVersion = 7690 OpcUa_BinarySchema_SupportedProfile_DictionaryFragment = 7691 OpcUa_BinarySchema_BuildInfo = 7692 OpcUa_BinarySchema_BuildInfo_DataTypeVersion = 7693 OpcUa_BinarySchema_BuildInfo_DictionaryFragment = 7694 OpcUa_BinarySchema_SoftwareCertificate = 7695 OpcUa_BinarySchema_SoftwareCertificate_DataTypeVersion = 7696 OpcUa_BinarySchema_SoftwareCertificate_DictionaryFragment = 7697 OpcUa_BinarySchema_SignedSoftwareCertificate = 7698 OpcUa_BinarySchema_SignedSoftwareCertificate_DataTypeVersion = 7699 OpcUa_BinarySchema_SignedSoftwareCertificate_DictionaryFragment = 7700 OpcUa_BinarySchema_AddNodesItem = 7728 OpcUa_BinarySchema_AddNodesItem_DataTypeVersion = 7729 OpcUa_BinarySchema_AddNodesItem_DictionaryFragment = 7730 OpcUa_BinarySchema_AddReferencesItem = 7731 OpcUa_BinarySchema_AddReferencesItem_DataTypeVersion = 7732 OpcUa_BinarySchema_AddReferencesItem_DictionaryFragment = 7733 OpcUa_BinarySchema_DeleteNodesItem = 7734 OpcUa_BinarySchema_DeleteNodesItem_DataTypeVersion = 7735 OpcUa_BinarySchema_DeleteNodesItem_DictionaryFragment = 7736 OpcUa_BinarySchema_DeleteReferencesItem = 7737 OpcUa_BinarySchema_DeleteReferencesItem_DataTypeVersion = 7738 OpcUa_BinarySchema_DeleteReferencesItem_DictionaryFragment = 7739 OpcUa_BinarySchema_RegisteredServer = 7782 OpcUa_BinarySchema_RegisteredServer_DataTypeVersion = 7783 OpcUa_BinarySchema_RegisteredServer_DictionaryFragment = 7784 OpcUa_BinarySchema_ContentFilterElement = 7929 OpcUa_BinarySchema_ContentFilterElement_DataTypeVersion = 7930 OpcUa_BinarySchema_ContentFilterElement_DictionaryFragment = 7931 OpcUa_BinarySchema_ContentFilter = 7932 OpcUa_BinarySchema_ContentFilter_DataTypeVersion = 7933 OpcUa_BinarySchema_ContentFilter_DictionaryFragment = 7934 OpcUa_BinarySchema_FilterOperand = 7935 OpcUa_BinarySchema_FilterOperand_DataTypeVersion = 7936 OpcUa_BinarySchema_FilterOperand_DictionaryFragment = 7937 OpcUa_BinarySchema_ElementOperand = 7938 OpcUa_BinarySchema_ElementOperand_DataTypeVersion = 7939 OpcUa_BinarySchema_ElementOperand_DictionaryFragment = 7940 OpcUa_BinarySchema_LiteralOperand = 7941 OpcUa_BinarySchema_LiteralOperand_DataTypeVersion = 7942 OpcUa_BinarySchema_LiteralOperand_DictionaryFragment = 7943 OpcUa_BinarySchema_AttributeOperand = 7944 OpcUa_BinarySchema_AttributeOperand_DataTypeVersion = 7945 OpcUa_BinarySchema_AttributeOperand_DictionaryFragment = 7946 OpcUa_BinarySchema_SimpleAttributeOperand = 7947 OpcUa_BinarySchema_SimpleAttributeOperand_DataTypeVersion = 7948 OpcUa_BinarySchema_SimpleAttributeOperand_DictionaryFragment = 7949 OpcUa_BinarySchema_HistoryEvent = 8004 OpcUa_BinarySchema_HistoryEvent_DataTypeVersion = 8005 OpcUa_BinarySchema_HistoryEvent_DictionaryFragment = 8006 OpcUa_BinarySchema_MonitoringFilter = 8067 OpcUa_BinarySchema_MonitoringFilter_DataTypeVersion = 8068 OpcUa_BinarySchema_MonitoringFilter_DictionaryFragment = 8069 OpcUa_BinarySchema_EventFilter = 8073 OpcUa_BinarySchema_EventFilter_DataTypeVersion = 8074 OpcUa_BinarySchema_EventFilter_DictionaryFragment = 8075 OpcUa_BinarySchema_AggregateConfiguration = 8076 OpcUa_BinarySchema_AggregateConfiguration_DataTypeVersion = 8077 OpcUa_BinarySchema_AggregateConfiguration_DictionaryFragment = 8078 OpcUa_BinarySchema_HistoryEventFieldList = 8172 OpcUa_BinarySchema_HistoryEventFieldList_DataTypeVersion = 8173 OpcUa_BinarySchema_HistoryEventFieldList_DictionaryFragment = 8174 OpcUa_BinarySchema_RedundantServerDataType = 8208 OpcUa_BinarySchema_RedundantServerDataType_DataTypeVersion = 8209 OpcUa_BinarySchema_RedundantServerDataType_DictionaryFragment = 8210 OpcUa_BinarySchema_SamplingIntervalDiagnosticsDataType = 8211 OpcUa_BinarySchema_SamplingIntervalDiagnosticsDataType_DataTypeVersion = 8212 OpcUa_BinarySchema_SamplingIntervalDiagnosticsDataType_DictionaryFragment = 8213 OpcUa_BinarySchema_ServerDiagnosticsSummaryDataType = 8214 OpcUa_BinarySchema_ServerDiagnosticsSummaryDataType_DataTypeVersion = 8215 OpcUa_BinarySchema_ServerDiagnosticsSummaryDataType_DictionaryFragment = 8216 OpcUa_BinarySchema_ServerStatusDataType = 8217 OpcUa_BinarySchema_ServerStatusDataType_DataTypeVersion = 8218 OpcUa_BinarySchema_ServerStatusDataType_DictionaryFragment = 8219 OpcUa_BinarySchema_SessionDiagnosticsDataType = 8220 OpcUa_BinarySchema_SessionDiagnosticsDataType_DataTypeVersion = 8221 OpcUa_BinarySchema_SessionDiagnosticsDataType_DictionaryFragment = 8222 OpcUa_BinarySchema_SessionSecurityDiagnosticsDataType = 8223 OpcUa_BinarySchema_SessionSecurityDiagnosticsDataType_DataTypeVersion = 8224 OpcUa_BinarySchema_SessionSecurityDiagnosticsDataType_DictionaryFragment = 8225 OpcUa_BinarySchema_ServiceCounterDataType = 8226 OpcUa_BinarySchema_ServiceCounterDataType_DataTypeVersion = 8227 OpcUa_BinarySchema_ServiceCounterDataType_DictionaryFragment = 8228 OpcUa_BinarySchema_SubscriptionDiagnosticsDataType = 8229 OpcUa_BinarySchema_SubscriptionDiagnosticsDataType_DataTypeVersion = 8230 OpcUa_BinarySchema_SubscriptionDiagnosticsDataType_DictionaryFragment = 8231 OpcUa_BinarySchema_ModelChangeStructureDataType = 8232 OpcUa_BinarySchema_ModelChangeStructureDataType_DataTypeVersion = 8233 OpcUa_BinarySchema_ModelChangeStructureDataType_DictionaryFragment = 8234 OpcUa_BinarySchema_SemanticChangeStructureDataType = 8235 OpcUa_BinarySchema_SemanticChangeStructureDataType_DataTypeVersion = 8236 OpcUa_BinarySchema_SemanticChangeStructureDataType_DictionaryFragment = 8237 OpcUa_BinarySchema_Range = 8238 OpcUa_BinarySchema_Range_DataTypeVersion = 8239 OpcUa_BinarySchema_Range_DictionaryFragment = 8240 OpcUa_BinarySchema_EUInformation = 8241 OpcUa_BinarySchema_EUInformation_DataTypeVersion = 8242 OpcUa_BinarySchema_EUInformation_DictionaryFragment = 8243 OpcUa_BinarySchema_Annotation = 8244 OpcUa_BinarySchema_Annotation_DataTypeVersion = 8245 OpcUa_BinarySchema_Annotation_DictionaryFragment = 8246 OpcUa_BinarySchema_ProgramDiagnosticDataType = 8247 OpcUa_BinarySchema_ProgramDiagnosticDataType_DataTypeVersion = 8248 OpcUa_BinarySchema_ProgramDiagnosticDataType_DictionaryFragment = 8249 EnumValueType_Encoding_DefaultBinary = 8251 OpcUa_XmlSchema = 8252 OpcUa_XmlSchema_DataTypeVersion = 8253 OpcUa_XmlSchema_NamespaceUri = 8254 OpcUa_XmlSchema_Argument = 8285 OpcUa_XmlSchema_Argument_DataTypeVersion = 8286 OpcUa_XmlSchema_Argument_DictionaryFragment = 8287 OpcUa_XmlSchema_EnumValueType = 8291 OpcUa_XmlSchema_EnumValueType_DataTypeVersion = 8292 OpcUa_XmlSchema_EnumValueType_DictionaryFragment = 8293 OpcUa_XmlSchema_StatusResult = 8294 OpcUa_XmlSchema_StatusResult_DataTypeVersion = 8295 OpcUa_XmlSchema_StatusResult_DictionaryFragment = 8296 OpcUa_XmlSchema_UserTokenPolicy = 8297 OpcUa_XmlSchema_UserTokenPolicy_DataTypeVersion = 8298 OpcUa_XmlSchema_UserTokenPolicy_DictionaryFragment = 8299 OpcUa_XmlSchema_ApplicationDescription = 8300 OpcUa_XmlSchema_ApplicationDescription_DataTypeVersion = 8301 OpcUa_XmlSchema_ApplicationDescription_DictionaryFragment = 8302 OpcUa_XmlSchema_EndpointDescription = 8303 OpcUa_XmlSchema_EndpointDescription_DataTypeVersion = 8304 OpcUa_XmlSchema_EndpointDescription_DictionaryFragment = 8305 OpcUa_XmlSchema_UserIdentityToken = 8306 OpcUa_XmlSchema_UserIdentityToken_DataTypeVersion = 8307 OpcUa_XmlSchema_UserIdentityToken_DictionaryFragment = 8308 OpcUa_XmlSchema_AnonymousIdentityToken = 8309 OpcUa_XmlSchema_AnonymousIdentityToken_DataTypeVersion = 8310 OpcUa_XmlSchema_AnonymousIdentityToken_DictionaryFragment = 8311 OpcUa_XmlSchema_UserNameIdentityToken = 8312 OpcUa_XmlSchema_UserNameIdentityToken_DataTypeVersion = 8313 OpcUa_XmlSchema_UserNameIdentityToken_DictionaryFragment = 8314 OpcUa_XmlSchema_X509IdentityToken = 8315 OpcUa_XmlSchema_X509IdentityToken_DataTypeVersion = 8316 OpcUa_XmlSchema_X509IdentityToken_DictionaryFragment = 8317 OpcUa_XmlSchema_IssuedIdentityToken = 8318 OpcUa_XmlSchema_IssuedIdentityToken_DataTypeVersion = 8319 OpcUa_XmlSchema_IssuedIdentityToken_DictionaryFragment = 8320 OpcUa_XmlSchema_EndpointConfiguration = 8321 OpcUa_XmlSchema_EndpointConfiguration_DataTypeVersion = 8322 OpcUa_XmlSchema_EndpointConfiguration_DictionaryFragment = 8323 OpcUa_XmlSchema_SupportedProfile = 8324 OpcUa_XmlSchema_SupportedProfile_DataTypeVersion = 8325 OpcUa_XmlSchema_SupportedProfile_DictionaryFragment = 8326 OpcUa_XmlSchema_BuildInfo = 8327 OpcUa_XmlSchema_BuildInfo_DataTypeVersion = 8328 OpcUa_XmlSchema_BuildInfo_DictionaryFragment = 8329 OpcUa_XmlSchema_SoftwareCertificate = 8330 OpcUa_XmlSchema_SoftwareCertificate_DataTypeVersion = 8331 OpcUa_XmlSchema_SoftwareCertificate_DictionaryFragment = 8332 OpcUa_XmlSchema_SignedSoftwareCertificate = 8333 OpcUa_XmlSchema_SignedSoftwareCertificate_DataTypeVersion = 8334 OpcUa_XmlSchema_SignedSoftwareCertificate_DictionaryFragment = 8335 OpcUa_XmlSchema_AddNodesItem = 8363 OpcUa_XmlSchema_AddNodesItem_DataTypeVersion = 8364 OpcUa_XmlSchema_AddNodesItem_DictionaryFragment = 8365 OpcUa_XmlSchema_AddReferencesItem = 8366 OpcUa_XmlSchema_AddReferencesItem_DataTypeVersion = 8367 OpcUa_XmlSchema_AddReferencesItem_DictionaryFragment = 8368 OpcUa_XmlSchema_DeleteNodesItem = 8369 OpcUa_XmlSchema_DeleteNodesItem_DataTypeVersion = 8370 OpcUa_XmlSchema_DeleteNodesItem_DictionaryFragment = 8371 OpcUa_XmlSchema_DeleteReferencesItem = 8372 OpcUa_XmlSchema_DeleteReferencesItem_DataTypeVersion = 8373 OpcUa_XmlSchema_DeleteReferencesItem_DictionaryFragment = 8374 OpcUa_XmlSchema_RegisteredServer = 8417 OpcUa_XmlSchema_RegisteredServer_DataTypeVersion = 8418 OpcUa_XmlSchema_RegisteredServer_DictionaryFragment = 8419 OpcUa_XmlSchema_ContentFilterElement = 8564 OpcUa_XmlSchema_ContentFilterElement_DataTypeVersion = 8565 OpcUa_XmlSchema_ContentFilterElement_DictionaryFragment = 8566 OpcUa_XmlSchema_ContentFilter = 8567 OpcUa_XmlSchema_ContentFilter_DataTypeVersion = 8568 OpcUa_XmlSchema_ContentFilter_DictionaryFragment = 8569 OpcUa_XmlSchema_FilterOperand = 8570 OpcUa_XmlSchema_FilterOperand_DataTypeVersion = 8571 OpcUa_XmlSchema_FilterOperand_DictionaryFragment = 8572 OpcUa_XmlSchema_ElementOperand = 8573 OpcUa_XmlSchema_ElementOperand_DataTypeVersion = 8574 OpcUa_XmlSchema_ElementOperand_DictionaryFragment = 8575 OpcUa_XmlSchema_LiteralOperand = 8576 OpcUa_XmlSchema_LiteralOperand_DataTypeVersion = 8577 OpcUa_XmlSchema_LiteralOperand_DictionaryFragment = 8578 OpcUa_XmlSchema_AttributeOperand = 8579 OpcUa_XmlSchema_AttributeOperand_DataTypeVersion = 8580 OpcUa_XmlSchema_AttributeOperand_DictionaryFragment = 8581 OpcUa_XmlSchema_SimpleAttributeOperand = 8582 OpcUa_XmlSchema_SimpleAttributeOperand_DataTypeVersion = 8583 OpcUa_XmlSchema_SimpleAttributeOperand_DictionaryFragment = 8584 OpcUa_XmlSchema_HistoryEvent = 8639 OpcUa_XmlSchema_HistoryEvent_DataTypeVersion = 8640 OpcUa_XmlSchema_HistoryEvent_DictionaryFragment = 8641 OpcUa_XmlSchema_MonitoringFilter = 8702 OpcUa_XmlSchema_MonitoringFilter_DataTypeVersion = 8703 OpcUa_XmlSchema_MonitoringFilter_DictionaryFragment = 8704 OpcUa_XmlSchema_EventFilter = 8708 OpcUa_XmlSchema_EventFilter_DataTypeVersion = 8709 OpcUa_XmlSchema_EventFilter_DictionaryFragment = 8710 OpcUa_XmlSchema_AggregateConfiguration = 8711 OpcUa_XmlSchema_AggregateConfiguration_DataTypeVersion = 8712 OpcUa_XmlSchema_AggregateConfiguration_DictionaryFragment = 8713 OpcUa_XmlSchema_HistoryEventFieldList = 8807 OpcUa_XmlSchema_HistoryEventFieldList_DataTypeVersion = 8808 OpcUa_XmlSchema_HistoryEventFieldList_DictionaryFragment = 8809 OpcUa_XmlSchema_RedundantServerDataType = 8843 OpcUa_XmlSchema_RedundantServerDataType_DataTypeVersion = 8844 OpcUa_XmlSchema_RedundantServerDataType_DictionaryFragment = 8845 OpcUa_XmlSchema_SamplingIntervalDiagnosticsDataType = 8846 OpcUa_XmlSchema_SamplingIntervalDiagnosticsDataType_DataTypeVersion = 8847 OpcUa_XmlSchema_SamplingIntervalDiagnosticsDataType_DictionaryFragment = 8848 OpcUa_XmlSchema_ServerDiagnosticsSummaryDataType = 8849 OpcUa_XmlSchema_ServerDiagnosticsSummaryDataType_DataTypeVersion = 8850 OpcUa_XmlSchema_ServerDiagnosticsSummaryDataType_DictionaryFragment = 8851 OpcUa_XmlSchema_ServerStatusDataType = 8852 OpcUa_XmlSchema_ServerStatusDataType_DataTypeVersion = 8853 OpcUa_XmlSchema_ServerStatusDataType_DictionaryFragment = 8854 OpcUa_XmlSchema_SessionDiagnosticsDataType = 8855 OpcUa_XmlSchema_SessionDiagnosticsDataType_DataTypeVersion = 8856 OpcUa_XmlSchema_SessionDiagnosticsDataType_DictionaryFragment = 8857 OpcUa_XmlSchema_SessionSecurityDiagnosticsDataType = 8858 OpcUa_XmlSchema_SessionSecurityDiagnosticsDataType_DataTypeVersion = 8859 OpcUa_XmlSchema_SessionSecurityDiagnosticsDataType_DictionaryFragment = 8860 OpcUa_XmlSchema_ServiceCounterDataType = 8861 OpcUa_XmlSchema_ServiceCounterDataType_DataTypeVersion = 8862 OpcUa_XmlSchema_ServiceCounterDataType_DictionaryFragment = 8863 OpcUa_XmlSchema_SubscriptionDiagnosticsDataType = 8864 OpcUa_XmlSchema_SubscriptionDiagnosticsDataType_DataTypeVersion = 8865 OpcUa_XmlSchema_SubscriptionDiagnosticsDataType_DictionaryFragment = 8866 OpcUa_XmlSchema_ModelChangeStructureDataType = 8867 OpcUa_XmlSchema_ModelChangeStructureDataType_DataTypeVersion = 8868 OpcUa_XmlSchema_ModelChangeStructureDataType_DictionaryFragment = 8869 OpcUa_XmlSchema_SemanticChangeStructureDataType = 8870 OpcUa_XmlSchema_SemanticChangeStructureDataType_DataTypeVersion = 8871 OpcUa_XmlSchema_SemanticChangeStructureDataType_DictionaryFragment = 8872 OpcUa_XmlSchema_Range = 8873 OpcUa_XmlSchema_Range_DataTypeVersion = 8874 OpcUa_XmlSchema_Range_DictionaryFragment = 8875 OpcUa_XmlSchema_EUInformation = 8876 OpcUa_XmlSchema_EUInformation_DataTypeVersion = 8877 OpcUa_XmlSchema_EUInformation_DictionaryFragment = 8878 OpcUa_XmlSchema_Annotation = 8879 OpcUa_XmlSchema_Annotation_DataTypeVersion = 8880 OpcUa_XmlSchema_Annotation_DictionaryFragment = 8881 OpcUa_XmlSchema_ProgramDiagnosticDataType = 8882 OpcUa_XmlSchema_ProgramDiagnosticDataType_DataTypeVersion = 8883 OpcUa_XmlSchema_ProgramDiagnosticDataType_DictionaryFragment = 8884 SubscriptionDiagnosticsType_MaxLifetimeCount = 8888 SubscriptionDiagnosticsType_LatePublishRequestCount = 8889 SubscriptionDiagnosticsType_CurrentKeepAliveCount = 8890 SubscriptionDiagnosticsType_CurrentLifetimeCount = 8891 SubscriptionDiagnosticsType_UnacknowledgedMessageCount = 8892 SubscriptionDiagnosticsType_DiscardedMessageCount = 8893 SubscriptionDiagnosticsType_MonitoredItemCount = 8894 SubscriptionDiagnosticsType_DisabledMonitoredItemCount = 8895 SubscriptionDiagnosticsType_MonitoringQueueOverflowCount = 8896 SubscriptionDiagnosticsType_NextSequenceNumber = 8897 SessionDiagnosticsObjectType_SessionDiagnostics_TotalRequestCount = 8898 SessionDiagnosticsVariableType_TotalRequestCount = 8900 SubscriptionDiagnosticsType_EventQueueOverFlowCount = 8902 TimeZoneDataType = 8912 TimeZoneDataType_Encoding_DefaultXml = 8913 OpcUa_BinarySchema_TimeZoneDataType = 8914 OpcUa_BinarySchema_TimeZoneDataType_DataTypeVersion = 8915 OpcUa_BinarySchema_TimeZoneDataType_DictionaryFragment = 8916 TimeZoneDataType_Encoding_DefaultBinary = 8917 OpcUa_XmlSchema_TimeZoneDataType = 8918 OpcUa_XmlSchema_TimeZoneDataType_DataTypeVersion = 8919 OpcUa_XmlSchema_TimeZoneDataType_DictionaryFragment = 8920 AuditConditionRespondEventType = 8927 AuditConditionRespondEventType_EventId = 8928 AuditConditionRespondEventType_EventType = 8929 AuditConditionRespondEventType_SourceNode = 8930 AuditConditionRespondEventType_SourceName = 8931 AuditConditionRespondEventType_Time = 8932 AuditConditionRespondEventType_ReceiveTime = 8933 AuditConditionRespondEventType_LocalTime = 8934 AuditConditionRespondEventType_Message = 8935 AuditConditionRespondEventType_Severity = 8936 AuditConditionRespondEventType_ActionTimeStamp = 8937 AuditConditionRespondEventType_Status = 8938 AuditConditionRespondEventType_ServerId = 8939 AuditConditionRespondEventType_ClientAuditEntryId = 8940 AuditConditionRespondEventType_ClientUserId = 8941 AuditConditionRespondEventType_MethodId = 8942 AuditConditionRespondEventType_InputArguments = 8943 AuditConditionAcknowledgeEventType = 8944 AuditConditionAcknowledgeEventType_EventId = 8945 AuditConditionAcknowledgeEventType_EventType = 8946 AuditConditionAcknowledgeEventType_SourceNode = 8947 AuditConditionAcknowledgeEventType_SourceName = 8948 AuditConditionAcknowledgeEventType_Time = 8949 AuditConditionAcknowledgeEventType_ReceiveTime = 8950 AuditConditionAcknowledgeEventType_LocalTime = 8951 AuditConditionAcknowledgeEventType_Message = 8952 AuditConditionAcknowledgeEventType_Severity = 8953 AuditConditionAcknowledgeEventType_ActionTimeStamp = 8954 AuditConditionAcknowledgeEventType_Status = 8955 AuditConditionAcknowledgeEventType_ServerId = 8956 AuditConditionAcknowledgeEventType_ClientAuditEntryId = 8957 AuditConditionAcknowledgeEventType_ClientUserId = 8958 AuditConditionAcknowledgeEventType_MethodId = 8959 AuditConditionAcknowledgeEventType_InputArguments = 8960 AuditConditionConfirmEventType = 8961 AuditConditionConfirmEventType_EventId = 8962 AuditConditionConfirmEventType_EventType = 8963 AuditConditionConfirmEventType_SourceNode = 8964 AuditConditionConfirmEventType_SourceName = 8965 AuditConditionConfirmEventType_Time = 8966 AuditConditionConfirmEventType_ReceiveTime = 8967 AuditConditionConfirmEventType_LocalTime = 8968 AuditConditionConfirmEventType_Message = 8969 AuditConditionConfirmEventType_Severity = 8970 AuditConditionConfirmEventType_ActionTimeStamp = 8971 AuditConditionConfirmEventType_Status = 8972 AuditConditionConfirmEventType_ServerId = 8973 AuditConditionConfirmEventType_ClientAuditEntryId = 8974 AuditConditionConfirmEventType_ClientUserId = 8975 AuditConditionConfirmEventType_MethodId = 8976 AuditConditionConfirmEventType_InputArguments = 8977 TwoStateVariableType = 8995 TwoStateVariableType_Id = 8996 TwoStateVariableType_Name = 8997 TwoStateVariableType_Number = 8998 TwoStateVariableType_EffectiveDisplayName = 8999 TwoStateVariableType_TransitionTime = 9000 TwoStateVariableType_EffectiveTransitionTime = 9001 ConditionVariableType = 9002 ConditionVariableType_SourceTimestamp = 9003 HasTrueSubState = 9004 HasFalseSubState = 9005 HasCondition = 9006 ConditionRefreshMethodType = 9007 ConditionRefreshMethodType_InputArguments = 9008 ConditionType_ConditionName = 9009 ConditionType_BranchId = 9010 ConditionType_EnabledState = 9011 ConditionType_EnabledState_Id = 9012 ConditionType_EnabledState_Name = 9013 ConditionType_EnabledState_Number = 9014 ConditionType_EnabledState_EffectiveDisplayName = 9015 ConditionType_EnabledState_TransitionTime = 9016 ConditionType_EnabledState_EffectiveTransitionTime = 9017 ConditionType_EnabledState_TrueState = 9018 ConditionType_EnabledState_FalseState = 9019 ConditionType_Quality = 9020 ConditionType_Quality_SourceTimestamp = 9021 ConditionType_LastSeverity = 9022 ConditionType_LastSeverity_SourceTimestamp = 9023 ConditionType_Comment = 9024 ConditionType_Comment_SourceTimestamp = 9025 ConditionType_ClientUserId = 9026 ConditionType_Enable = 9027 ConditionType_Disable = 9028 ConditionType_AddComment = 9029 ConditionType_AddComment_InputArguments = 9030 DialogResponseMethodType = 9031 DialogResponseMethodType_InputArguments = 9032 DialogConditionType_ConditionName = 9033 DialogConditionType_BranchId = 9034 DialogConditionType_EnabledState = 9035 DialogConditionType_EnabledState_Id = 9036 DialogConditionType_EnabledState_Name = 9037 DialogConditionType_EnabledState_Number = 9038 DialogConditionType_EnabledState_EffectiveDisplayName = 9039 DialogConditionType_EnabledState_TransitionTime = 9040 DialogConditionType_EnabledState_EffectiveTransitionTime = 9041 DialogConditionType_EnabledState_TrueState = 9042 DialogConditionType_EnabledState_FalseState = 9043 DialogConditionType_Quality = 9044 DialogConditionType_Quality_SourceTimestamp = 9045 DialogConditionType_LastSeverity = 9046 DialogConditionType_LastSeverity_SourceTimestamp = 9047 DialogConditionType_Comment = 9048 DialogConditionType_Comment_SourceTimestamp = 9049 DialogConditionType_ClientUserId = 9050 DialogConditionType_Enable = 9051 DialogConditionType_Disable = 9052 DialogConditionType_AddComment = 9053 DialogConditionType_AddComment_InputArguments = 9054 DialogConditionType_DialogState = 9055 DialogConditionType_DialogState_Id = 9056 DialogConditionType_DialogState_Name = 9057 DialogConditionType_DialogState_Number = 9058 DialogConditionType_DialogState_EffectiveDisplayName = 9059 DialogConditionType_DialogState_TransitionTime = 9060 DialogConditionType_DialogState_EffectiveTransitionTime = 9061 DialogConditionType_DialogState_TrueState = 9062 DialogConditionType_DialogState_FalseState = 9063 DialogConditionType_ResponseOptionSet = 9064 DialogConditionType_DefaultResponse = 9065 DialogConditionType_OkResponse = 9066 DialogConditionType_CancelResponse = 9067 DialogConditionType_LastResponse = 9068 DialogConditionType_Respond = 9069 DialogConditionType_Respond_InputArguments = 9070 AcknowledgeableConditionType_ConditionName = 9071 AcknowledgeableConditionType_BranchId = 9072 AcknowledgeableConditionType_EnabledState = 9073 AcknowledgeableConditionType_EnabledState_Id = 9074 AcknowledgeableConditionType_EnabledState_Name = 9075 AcknowledgeableConditionType_EnabledState_Number = 9076 AcknowledgeableConditionType_EnabledState_EffectiveDisplayName = 9077 AcknowledgeableConditionType_EnabledState_TransitionTime = 9078 AcknowledgeableConditionType_EnabledState_EffectiveTransitionTime = 9079 AcknowledgeableConditionType_EnabledState_TrueState = 9080 AcknowledgeableConditionType_EnabledState_FalseState = 9081 AcknowledgeableConditionType_Quality = 9082 AcknowledgeableConditionType_Quality_SourceTimestamp = 9083 AcknowledgeableConditionType_LastSeverity = 9084 AcknowledgeableConditionType_LastSeverity_SourceTimestamp = 9085 AcknowledgeableConditionType_Comment = 9086 AcknowledgeableConditionType_Comment_SourceTimestamp = 9087 AcknowledgeableConditionType_ClientUserId = 9088 AcknowledgeableConditionType_Enable = 9089 AcknowledgeableConditionType_Disable = 9090 AcknowledgeableConditionType_AddComment = 9091 AcknowledgeableConditionType_AddComment_InputArguments = 9092 AcknowledgeableConditionType_AckedState = 9093 AcknowledgeableConditionType_AckedState_Id = 9094 AcknowledgeableConditionType_AckedState_Name = 9095 AcknowledgeableConditionType_AckedState_Number = 9096 AcknowledgeableConditionType_AckedState_EffectiveDisplayName = 9097 AcknowledgeableConditionType_AckedState_TransitionTime = 9098 AcknowledgeableConditionType_AckedState_EffectiveTransitionTime = 9099 AcknowledgeableConditionType_AckedState_TrueState = 9100 AcknowledgeableConditionType_AckedState_FalseState = 9101 AcknowledgeableConditionType_ConfirmedState = 9102 AcknowledgeableConditionType_ConfirmedState_Id = 9103 AcknowledgeableConditionType_ConfirmedState_Name = 9104 AcknowledgeableConditionType_ConfirmedState_Number = 9105 AcknowledgeableConditionType_ConfirmedState_EffectiveDisplayName = 9106 AcknowledgeableConditionType_ConfirmedState_TransitionTime = 9107 AcknowledgeableConditionType_ConfirmedState_EffectiveTransitionTime = 9108 AcknowledgeableConditionType_ConfirmedState_TrueState = 9109 AcknowledgeableConditionType_ConfirmedState_FalseState = 9110 AcknowledgeableConditionType_Acknowledge = 9111 AcknowledgeableConditionType_Acknowledge_InputArguments = 9112 AcknowledgeableConditionType_Confirm = 9113 AcknowledgeableConditionType_Confirm_InputArguments = 9114 ShelvedStateMachineType_UnshelveTime = 9115 AlarmConditionType_ConditionName = 9116 AlarmConditionType_BranchId = 9117 AlarmConditionType_EnabledState = 9118 AlarmConditionType_EnabledState_Id = 9119 AlarmConditionType_EnabledState_Name = 9120 AlarmConditionType_EnabledState_Number = 9121 AlarmConditionType_EnabledState_EffectiveDisplayName = 9122 AlarmConditionType_EnabledState_TransitionTime = 9123 AlarmConditionType_EnabledState_EffectiveTransitionTime = 9124 AlarmConditionType_EnabledState_TrueState = 9125 AlarmConditionType_EnabledState_FalseState = 9126 AlarmConditionType_Quality = 9127 AlarmConditionType_Quality_SourceTimestamp = 9128 AlarmConditionType_LastSeverity = 9129 AlarmConditionType_LastSeverity_SourceTimestamp = 9130 AlarmConditionType_Comment = 9131 AlarmConditionType_Comment_SourceTimestamp = 9132 AlarmConditionType_ClientUserId = 9133 AlarmConditionType_Enable = 9134 AlarmConditionType_Disable = 9135 AlarmConditionType_AddComment = 9136 AlarmConditionType_AddComment_InputArguments = 9137 AlarmConditionType_AckedState = 9138 AlarmConditionType_AckedState_Id = 9139 AlarmConditionType_AckedState_Name = 9140 AlarmConditionType_AckedState_Number = 9141 AlarmConditionType_AckedState_EffectiveDisplayName = 9142 AlarmConditionType_AckedState_TransitionTime = 9143 AlarmConditionType_AckedState_EffectiveTransitionTime = 9144 AlarmConditionType_AckedState_TrueState = 9145 AlarmConditionType_AckedState_FalseState = 9146 AlarmConditionType_ConfirmedState = 9147 AlarmConditionType_ConfirmedState_Id = 9148 AlarmConditionType_ConfirmedState_Name = 9149 AlarmConditionType_ConfirmedState_Number = 9150 AlarmConditionType_ConfirmedState_EffectiveDisplayName = 9151 AlarmConditionType_ConfirmedState_TransitionTime = 9152 AlarmConditionType_ConfirmedState_EffectiveTransitionTime = 9153 AlarmConditionType_ConfirmedState_TrueState = 9154 AlarmConditionType_ConfirmedState_FalseState = 9155 AlarmConditionType_Acknowledge = 9156 AlarmConditionType_Acknowledge_InputArguments = 9157 AlarmConditionType_Confirm = 9158 AlarmConditionType_Confirm_InputArguments = 9159 AlarmConditionType_ActiveState = 9160 AlarmConditionType_ActiveState_Id = 9161 AlarmConditionType_ActiveState_Name = 9162 AlarmConditionType_ActiveState_Number = 9163 AlarmConditionType_ActiveState_EffectiveDisplayName = 9164 AlarmConditionType_ActiveState_TransitionTime = 9165 AlarmConditionType_ActiveState_EffectiveTransitionTime = 9166 AlarmConditionType_ActiveState_TrueState = 9167 AlarmConditionType_ActiveState_FalseState = 9168 AlarmConditionType_SuppressedState = 9169 AlarmConditionType_SuppressedState_Id = 9170 AlarmConditionType_SuppressedState_Name = 9171 AlarmConditionType_SuppressedState_Number = 9172 AlarmConditionType_SuppressedState_EffectiveDisplayName = 9173 AlarmConditionType_SuppressedState_TransitionTime = 9174 AlarmConditionType_SuppressedState_EffectiveTransitionTime = 9175 AlarmConditionType_SuppressedState_TrueState = 9176 AlarmConditionType_SuppressedState_FalseState = 9177 AlarmConditionType_ShelvingState = 9178 AlarmConditionType_ShelvingState_CurrentState = 9179 AlarmConditionType_ShelvingState_CurrentState_Id = 9180 AlarmConditionType_ShelvingState_CurrentState_Name = 9181 AlarmConditionType_ShelvingState_CurrentState_Number = 9182 AlarmConditionType_ShelvingState_CurrentState_EffectiveDisplayName = 9183 AlarmConditionType_ShelvingState_LastTransition = 9184 AlarmConditionType_ShelvingState_LastTransition_Id = 9185 AlarmConditionType_ShelvingState_LastTransition_Name = 9186 AlarmConditionType_ShelvingState_LastTransition_Number = 9187 AlarmConditionType_ShelvingState_LastTransition_TransitionTime = 9188 AlarmConditionType_ShelvingState_UnshelveTime = 9189 AlarmConditionType_ShelvingState_Unshelve = 9211 AlarmConditionType_ShelvingState_OneShotShelve = 9212 AlarmConditionType_ShelvingState_TimedShelve = 9213 AlarmConditionType_ShelvingState_TimedShelve_InputArguments = 9214 AlarmConditionType_SuppressedOrShelved = 9215 AlarmConditionType_MaxTimeShelved = 9216 LimitAlarmType_ConditionName = 9217 LimitAlarmType_BranchId = 9218 LimitAlarmType_EnabledState = 9219 LimitAlarmType_EnabledState_Id = 9220 LimitAlarmType_EnabledState_Name = 9221 LimitAlarmType_EnabledState_Number = 9222 LimitAlarmType_EnabledState_EffectiveDisplayName = 9223 LimitAlarmType_EnabledState_TransitionTime = 9224 LimitAlarmType_EnabledState_EffectiveTransitionTime = 9225 LimitAlarmType_EnabledState_TrueState = 9226 LimitAlarmType_EnabledState_FalseState = 9227 LimitAlarmType_Quality = 9228 LimitAlarmType_Quality_SourceTimestamp = 9229 LimitAlarmType_LastSeverity = 9230 LimitAlarmType_LastSeverity_SourceTimestamp = 9231 LimitAlarmType_Comment = 9232 LimitAlarmType_Comment_SourceTimestamp = 9233 LimitAlarmType_ClientUserId = 9234 LimitAlarmType_Enable = 9235 LimitAlarmType_Disable = 9236 LimitAlarmType_AddComment = 9237 LimitAlarmType_AddComment_InputArguments = 9238 LimitAlarmType_AckedState = 9239 LimitAlarmType_AckedState_Id = 9240 LimitAlarmType_AckedState_Name = 9241 LimitAlarmType_AckedState_Number = 9242 LimitAlarmType_AckedState_EffectiveDisplayName = 9243 LimitAlarmType_AckedState_TransitionTime = 9244 LimitAlarmType_AckedState_EffectiveTransitionTime = 9245 LimitAlarmType_AckedState_TrueState = 9246 LimitAlarmType_AckedState_FalseState = 9247 LimitAlarmType_ConfirmedState = 9248 LimitAlarmType_ConfirmedState_Id = 9249 LimitAlarmType_ConfirmedState_Name = 9250 LimitAlarmType_ConfirmedState_Number = 9251 LimitAlarmType_ConfirmedState_EffectiveDisplayName = 9252 LimitAlarmType_ConfirmedState_TransitionTime = 9253 LimitAlarmType_ConfirmedState_EffectiveTransitionTime = 9254 LimitAlarmType_ConfirmedState_TrueState = 9255 LimitAlarmType_ConfirmedState_FalseState = 9256 LimitAlarmType_Acknowledge = 9257 LimitAlarmType_Acknowledge_InputArguments = 9258 LimitAlarmType_Confirm = 9259 LimitAlarmType_Confirm_InputArguments = 9260 LimitAlarmType_ActiveState = 9261 LimitAlarmType_ActiveState_Id = 9262 LimitAlarmType_ActiveState_Name = 9263 LimitAlarmType_ActiveState_Number = 9264 LimitAlarmType_ActiveState_EffectiveDisplayName = 9265 LimitAlarmType_ActiveState_TransitionTime = 9266 LimitAlarmType_ActiveState_EffectiveTransitionTime = 9267 LimitAlarmType_ActiveState_TrueState = 9268 LimitAlarmType_ActiveState_FalseState = 9269 LimitAlarmType_SuppressedState = 9270 LimitAlarmType_SuppressedState_Id = 9271 LimitAlarmType_SuppressedState_Name = 9272 LimitAlarmType_SuppressedState_Number = 9273 LimitAlarmType_SuppressedState_EffectiveDisplayName = 9274 LimitAlarmType_SuppressedState_TransitionTime = 9275 LimitAlarmType_SuppressedState_EffectiveTransitionTime = 9276 LimitAlarmType_SuppressedState_TrueState = 9277 LimitAlarmType_SuppressedState_FalseState = 9278 LimitAlarmType_ShelvingState = 9279 LimitAlarmType_ShelvingState_CurrentState = 9280 LimitAlarmType_ShelvingState_CurrentState_Id = 9281 LimitAlarmType_ShelvingState_CurrentState_Name = 9282 LimitAlarmType_ShelvingState_CurrentState_Number = 9283 LimitAlarmType_ShelvingState_CurrentState_EffectiveDisplayName = 9284 LimitAlarmType_ShelvingState_LastTransition = 9285 LimitAlarmType_ShelvingState_LastTransition_Id = 9286 LimitAlarmType_ShelvingState_LastTransition_Name = 9287 LimitAlarmType_ShelvingState_LastTransition_Number = 9288 LimitAlarmType_ShelvingState_LastTransition_TransitionTime = 9289 LimitAlarmType_ShelvingState_UnshelveTime = 9290 LimitAlarmType_ShelvingState_Unshelve = 9312 LimitAlarmType_ShelvingState_OneShotShelve = 9313 LimitAlarmType_ShelvingState_TimedShelve = 9314 LimitAlarmType_ShelvingState_TimedShelve_InputArguments = 9315 LimitAlarmType_SuppressedOrShelved = 9316 LimitAlarmType_MaxTimeShelved = 9317 ExclusiveLimitStateMachineType = 9318 ExclusiveLimitStateMachineType_CurrentState = 9319 ExclusiveLimitStateMachineType_CurrentState_Id = 9320 ExclusiveLimitStateMachineType_CurrentState_Name = 9321 ExclusiveLimitStateMachineType_CurrentState_Number = 9322 ExclusiveLimitStateMachineType_CurrentState_EffectiveDisplayName = 9323 ExclusiveLimitStateMachineType_LastTransition = 9324 ExclusiveLimitStateMachineType_LastTransition_Id = 9325 ExclusiveLimitStateMachineType_LastTransition_Name = 9326 ExclusiveLimitStateMachineType_LastTransition_Number = 9327 ExclusiveLimitStateMachineType_LastTransition_TransitionTime = 9328 ExclusiveLimitStateMachineType_HighHigh = 9329 ExclusiveLimitStateMachineType_HighHigh_StateNumber = 9330 ExclusiveLimitStateMachineType_High = 9331 ExclusiveLimitStateMachineType_High_StateNumber = 9332 ExclusiveLimitStateMachineType_Low = 9333 ExclusiveLimitStateMachineType_Low_StateNumber = 9334 ExclusiveLimitStateMachineType_LowLow = 9335 ExclusiveLimitStateMachineType_LowLow_StateNumber = 9336 ExclusiveLimitStateMachineType_LowLowToLow = 9337 ExclusiveLimitStateMachineType_LowToLowLow = 9338 ExclusiveLimitStateMachineType_HighHighToHigh = 9339 ExclusiveLimitStateMachineType_HighToHighHigh = 9340 ExclusiveLimitAlarmType = 9341 ExclusiveLimitAlarmType_EventId = 9342 ExclusiveLimitAlarmType_EventType = 9343 ExclusiveLimitAlarmType_SourceNode = 9344 ExclusiveLimitAlarmType_SourceName = 9345 ExclusiveLimitAlarmType_Time = 9346 ExclusiveLimitAlarmType_ReceiveTime = 9347 ExclusiveLimitAlarmType_LocalTime = 9348 ExclusiveLimitAlarmType_Message = 9349 ExclusiveLimitAlarmType_Severity = 9350 ExclusiveLimitAlarmType_ConditionName = 9351 ExclusiveLimitAlarmType_BranchId = 9352 ExclusiveLimitAlarmType_Retain = 9353 ExclusiveLimitAlarmType_EnabledState = 9354 ExclusiveLimitAlarmType_EnabledState_Id = 9355 ExclusiveLimitAlarmType_EnabledState_Name = 9356 ExclusiveLimitAlarmType_EnabledState_Number = 9357 ExclusiveLimitAlarmType_EnabledState_EffectiveDisplayName = 9358 ExclusiveLimitAlarmType_EnabledState_TransitionTime = 9359 ExclusiveLimitAlarmType_EnabledState_EffectiveTransitionTime = 9360 ExclusiveLimitAlarmType_EnabledState_TrueState = 9361 ExclusiveLimitAlarmType_EnabledState_FalseState = 9362 ExclusiveLimitAlarmType_Quality = 9363 ExclusiveLimitAlarmType_Quality_SourceTimestamp = 9364 ExclusiveLimitAlarmType_LastSeverity = 9365 ExclusiveLimitAlarmType_LastSeverity_SourceTimestamp = 9366 ExclusiveLimitAlarmType_Comment = 9367 ExclusiveLimitAlarmType_Comment_SourceTimestamp = 9368 ExclusiveLimitAlarmType_ClientUserId = 9369 ExclusiveLimitAlarmType_Enable = 9370 ExclusiveLimitAlarmType_Disable = 9371 ExclusiveLimitAlarmType_AddComment = 9372 ExclusiveLimitAlarmType_AddComment_InputArguments = 9373 ExclusiveLimitAlarmType_ConditionRefresh = 9374 ExclusiveLimitAlarmType_ConditionRefresh_InputArguments = 9375 ExclusiveLimitAlarmType_AckedState = 9376 ExclusiveLimitAlarmType_AckedState_Id = 9377 ExclusiveLimitAlarmType_AckedState_Name = 9378 ExclusiveLimitAlarmType_AckedState_Number = 9379 ExclusiveLimitAlarmType_AckedState_EffectiveDisplayName = 9380 ExclusiveLimitAlarmType_AckedState_TransitionTime = 9381 ExclusiveLimitAlarmType_AckedState_EffectiveTransitionTime = 9382 ExclusiveLimitAlarmType_AckedState_TrueState = 9383 ExclusiveLimitAlarmType_AckedState_FalseState = 9384 ExclusiveLimitAlarmType_ConfirmedState = 9385 ExclusiveLimitAlarmType_ConfirmedState_Id = 9386 ExclusiveLimitAlarmType_ConfirmedState_Name = 9387 ExclusiveLimitAlarmType_ConfirmedState_Number = 9388 ExclusiveLimitAlarmType_ConfirmedState_EffectiveDisplayName = 9389 ExclusiveLimitAlarmType_ConfirmedState_TransitionTime = 9390 ExclusiveLimitAlarmType_ConfirmedState_EffectiveTransitionTime = 9391 ExclusiveLimitAlarmType_ConfirmedState_TrueState = 9392 ExclusiveLimitAlarmType_ConfirmedState_FalseState = 9393 ExclusiveLimitAlarmType_Acknowledge = 9394 ExclusiveLimitAlarmType_Acknowledge_InputArguments = 9395 ExclusiveLimitAlarmType_Confirm = 9396 ExclusiveLimitAlarmType_Confirm_InputArguments = 9397 ExclusiveLimitAlarmType_ActiveState = 9398 ExclusiveLimitAlarmType_ActiveState_Id = 9399 ExclusiveLimitAlarmType_ActiveState_Name = 9400 ExclusiveLimitAlarmType_ActiveState_Number = 9401 ExclusiveLimitAlarmType_ActiveState_EffectiveDisplayName = 9402 ExclusiveLimitAlarmType_ActiveState_TransitionTime = 9403 ExclusiveLimitAlarmType_ActiveState_EffectiveTransitionTime = 9404 ExclusiveLimitAlarmType_ActiveState_TrueState = 9405 ExclusiveLimitAlarmType_ActiveState_FalseState = 9406 ExclusiveLimitAlarmType_SuppressedState = 9407 ExclusiveLimitAlarmType_SuppressedState_Id = 9408 ExclusiveLimitAlarmType_SuppressedState_Name = 9409 ExclusiveLimitAlarmType_SuppressedState_Number = 9410 ExclusiveLimitAlarmType_SuppressedState_EffectiveDisplayName = 9411 ExclusiveLimitAlarmType_SuppressedState_TransitionTime = 9412 ExclusiveLimitAlarmType_SuppressedState_EffectiveTransitionTime = 9413 ExclusiveLimitAlarmType_SuppressedState_TrueState = 9414 ExclusiveLimitAlarmType_SuppressedState_FalseState = 9415 ExclusiveLimitAlarmType_ShelvingState = 9416 ExclusiveLimitAlarmType_ShelvingState_CurrentState = 9417 ExclusiveLimitAlarmType_ShelvingState_CurrentState_Id = 9418 ExclusiveLimitAlarmType_ShelvingState_CurrentState_Name = 9419 ExclusiveLimitAlarmType_ShelvingState_CurrentState_Number = 9420 ExclusiveLimitAlarmType_ShelvingState_CurrentState_EffectiveDisplayName = 9421 ExclusiveLimitAlarmType_ShelvingState_LastTransition = 9422 ExclusiveLimitAlarmType_ShelvingState_LastTransition_Id = 9423 ExclusiveLimitAlarmType_ShelvingState_LastTransition_Name = 9424 ExclusiveLimitAlarmType_ShelvingState_LastTransition_Number = 9425 ExclusiveLimitAlarmType_ShelvingState_LastTransition_TransitionTime = 9426 ExclusiveLimitAlarmType_ShelvingState_UnshelveTime = 9427 ExclusiveLimitAlarmType_ShelvingState_Unshelve = 9449 ExclusiveLimitAlarmType_ShelvingState_OneShotShelve = 9450 ExclusiveLimitAlarmType_ShelvingState_TimedShelve = 9451 ExclusiveLimitAlarmType_ShelvingState_TimedShelve_InputArguments = 9452 ExclusiveLimitAlarmType_SuppressedOrShelved = 9453 ExclusiveLimitAlarmType_MaxTimeShelved = 9454 ExclusiveLimitAlarmType_LimitState = 9455 ExclusiveLimitAlarmType_LimitState_CurrentState = 9456 ExclusiveLimitAlarmType_LimitState_CurrentState_Id = 9457 ExclusiveLimitAlarmType_LimitState_CurrentState_Name = 9458 ExclusiveLimitAlarmType_LimitState_CurrentState_Number = 9459 ExclusiveLimitAlarmType_LimitState_CurrentState_EffectiveDisplayName = 9460 ExclusiveLimitAlarmType_LimitState_LastTransition = 9461 ExclusiveLimitAlarmType_LimitState_LastTransition_Id = 9462 ExclusiveLimitAlarmType_LimitState_LastTransition_Name = 9463 ExclusiveLimitAlarmType_LimitState_LastTransition_Number = 9464 ExclusiveLimitAlarmType_LimitState_LastTransition_TransitionTime = 9465 ExclusiveLimitAlarmType_HighHighLimit = 9478 ExclusiveLimitAlarmType_HighLimit = 9479 ExclusiveLimitAlarmType_LowLimit = 9480 ExclusiveLimitAlarmType_LowLowLimit = 9481 ExclusiveLevelAlarmType = 9482 ExclusiveLevelAlarmType_EventId = 9483 ExclusiveLevelAlarmType_EventType = 9484 ExclusiveLevelAlarmType_SourceNode = 9485 ExclusiveLevelAlarmType_SourceName = 9486 ExclusiveLevelAlarmType_Time = 9487 ExclusiveLevelAlarmType_ReceiveTime = 9488 ExclusiveLevelAlarmType_LocalTime = 9489 ExclusiveLevelAlarmType_Message = 9490 ExclusiveLevelAlarmType_Severity = 9491 ExclusiveLevelAlarmType_ConditionName = 9492 ExclusiveLevelAlarmType_BranchId = 9493 ExclusiveLevelAlarmType_Retain = 9494 ExclusiveLevelAlarmType_EnabledState = 9495 ExclusiveLevelAlarmType_EnabledState_Id = 9496 ExclusiveLevelAlarmType_EnabledState_Name = 9497 ExclusiveLevelAlarmType_EnabledState_Number = 9498 ExclusiveLevelAlarmType_EnabledState_EffectiveDisplayName = 9499 ExclusiveLevelAlarmType_EnabledState_TransitionTime = 9500 ExclusiveLevelAlarmType_EnabledState_EffectiveTransitionTime = 9501 ExclusiveLevelAlarmType_EnabledState_TrueState = 9502 ExclusiveLevelAlarmType_EnabledState_FalseState = 9503 ExclusiveLevelAlarmType_Quality = 9504 ExclusiveLevelAlarmType_Quality_SourceTimestamp = 9505 ExclusiveLevelAlarmType_LastSeverity = 9506 ExclusiveLevelAlarmType_LastSeverity_SourceTimestamp = 9507 ExclusiveLevelAlarmType_Comment = 9508 ExclusiveLevelAlarmType_Comment_SourceTimestamp = 9509 ExclusiveLevelAlarmType_ClientUserId = 9510 ExclusiveLevelAlarmType_Enable = 9511 ExclusiveLevelAlarmType_Disable = 9512 ExclusiveLevelAlarmType_AddComment = 9513 ExclusiveLevelAlarmType_AddComment_InputArguments = 9514 ExclusiveLevelAlarmType_ConditionRefresh = 9515 ExclusiveLevelAlarmType_ConditionRefresh_InputArguments = 9516 ExclusiveLevelAlarmType_AckedState = 9517 ExclusiveLevelAlarmType_AckedState_Id = 9518 ExclusiveLevelAlarmType_AckedState_Name = 9519 ExclusiveLevelAlarmType_AckedState_Number = 9520 ExclusiveLevelAlarmType_AckedState_EffectiveDisplayName = 9521 ExclusiveLevelAlarmType_AckedState_TransitionTime = 9522 ExclusiveLevelAlarmType_AckedState_EffectiveTransitionTime = 9523 ExclusiveLevelAlarmType_AckedState_TrueState = 9524 ExclusiveLevelAlarmType_AckedState_FalseState = 9525 ExclusiveLevelAlarmType_ConfirmedState = 9526 ExclusiveLevelAlarmType_ConfirmedState_Id = 9527 ExclusiveLevelAlarmType_ConfirmedState_Name = 9528 ExclusiveLevelAlarmType_ConfirmedState_Number = 9529 ExclusiveLevelAlarmType_ConfirmedState_EffectiveDisplayName = 9530 ExclusiveLevelAlarmType_ConfirmedState_TransitionTime = 9531 ExclusiveLevelAlarmType_ConfirmedState_EffectiveTransitionTime = 9532 ExclusiveLevelAlarmType_ConfirmedState_TrueState = 9533 ExclusiveLevelAlarmType_ConfirmedState_FalseState = 9534 ExclusiveLevelAlarmType_Acknowledge = 9535 ExclusiveLevelAlarmType_Acknowledge_InputArguments = 9536 ExclusiveLevelAlarmType_Confirm = 9537 ExclusiveLevelAlarmType_Confirm_InputArguments = 9538 ExclusiveLevelAlarmType_ActiveState = 9539 ExclusiveLevelAlarmType_ActiveState_Id = 9540 ExclusiveLevelAlarmType_ActiveState_Name = 9541 ExclusiveLevelAlarmType_ActiveState_Number = 9542 ExclusiveLevelAlarmType_ActiveState_EffectiveDisplayName = 9543 ExclusiveLevelAlarmType_ActiveState_TransitionTime = 9544 ExclusiveLevelAlarmType_ActiveState_EffectiveTransitionTime = 9545 ExclusiveLevelAlarmType_ActiveState_TrueState = 9546 ExclusiveLevelAlarmType_ActiveState_FalseState = 9547 ExclusiveLevelAlarmType_SuppressedState = 9548 ExclusiveLevelAlarmType_SuppressedState_Id = 9549 ExclusiveLevelAlarmType_SuppressedState_Name = 9550 ExclusiveLevelAlarmType_SuppressedState_Number = 9551 ExclusiveLevelAlarmType_SuppressedState_EffectiveDisplayName = 9552 ExclusiveLevelAlarmType_SuppressedState_TransitionTime = 9553 ExclusiveLevelAlarmType_SuppressedState_EffectiveTransitionTime = 9554 ExclusiveLevelAlarmType_SuppressedState_TrueState = 9555 ExclusiveLevelAlarmType_SuppressedState_FalseState = 9556 ExclusiveLevelAlarmType_ShelvingState = 9557 ExclusiveLevelAlarmType_ShelvingState_CurrentState = 9558 ExclusiveLevelAlarmType_ShelvingState_CurrentState_Id = 9559 ExclusiveLevelAlarmType_ShelvingState_CurrentState_Name = 9560 ExclusiveLevelAlarmType_ShelvingState_CurrentState_Number = 9561 ExclusiveLevelAlarmType_ShelvingState_CurrentState_EffectiveDisplayName = 9562 ExclusiveLevelAlarmType_ShelvingState_LastTransition = 9563 ExclusiveLevelAlarmType_ShelvingState_LastTransition_Id = 9564 ExclusiveLevelAlarmType_ShelvingState_LastTransition_Name = 9565 ExclusiveLevelAlarmType_ShelvingState_LastTransition_Number = 9566 ExclusiveLevelAlarmType_ShelvingState_LastTransition_TransitionTime = 9567 ExclusiveLevelAlarmType_ShelvingState_UnshelveTime = 9568 ExclusiveLevelAlarmType_ShelvingState_Unshelve = 9590 ExclusiveLevelAlarmType_ShelvingState_OneShotShelve = 9591 ExclusiveLevelAlarmType_ShelvingState_TimedShelve = 9592 ExclusiveLevelAlarmType_ShelvingState_TimedShelve_InputArguments = 9593 ExclusiveLevelAlarmType_SuppressedOrShelved = 9594 ExclusiveLevelAlarmType_MaxTimeShelved = 9595 ExclusiveLevelAlarmType_LimitState = 9596 ExclusiveLevelAlarmType_LimitState_CurrentState = 9597 ExclusiveLevelAlarmType_LimitState_CurrentState_Id = 9598 ExclusiveLevelAlarmType_LimitState_CurrentState_Name = 9599 ExclusiveLevelAlarmType_LimitState_CurrentState_Number = 9600 ExclusiveLevelAlarmType_LimitState_CurrentState_EffectiveDisplayName = 9601 ExclusiveLevelAlarmType_LimitState_LastTransition = 9602 ExclusiveLevelAlarmType_LimitState_LastTransition_Id = 9603 ExclusiveLevelAlarmType_LimitState_LastTransition_Name = 9604 ExclusiveLevelAlarmType_LimitState_LastTransition_Number = 9605 ExclusiveLevelAlarmType_LimitState_LastTransition_TransitionTime = 9606 ExclusiveLevelAlarmType_HighHighLimit = 9619 ExclusiveLevelAlarmType_HighLimit = 9620 ExclusiveLevelAlarmType_LowLimit = 9621 ExclusiveLevelAlarmType_LowLowLimit = 9622 ExclusiveRateOfChangeAlarmType = 9623 ExclusiveRateOfChangeAlarmType_EventId = 9624 ExclusiveRateOfChangeAlarmType_EventType = 9625 ExclusiveRateOfChangeAlarmType_SourceNode = 9626 ExclusiveRateOfChangeAlarmType_SourceName = 9627 ExclusiveRateOfChangeAlarmType_Time = 9628 ExclusiveRateOfChangeAlarmType_ReceiveTime = 9629 ExclusiveRateOfChangeAlarmType_LocalTime = 9630 ExclusiveRateOfChangeAlarmType_Message = 9631 ExclusiveRateOfChangeAlarmType_Severity = 9632 ExclusiveRateOfChangeAlarmType_ConditionName = 9633 ExclusiveRateOfChangeAlarmType_BranchId = 9634 ExclusiveRateOfChangeAlarmType_Retain = 9635 ExclusiveRateOfChangeAlarmType_EnabledState = 9636 ExclusiveRateOfChangeAlarmType_EnabledState_Id = 9637 ExclusiveRateOfChangeAlarmType_EnabledState_Name = 9638 ExclusiveRateOfChangeAlarmType_EnabledState_Number = 9639 ExclusiveRateOfChangeAlarmType_EnabledState_EffectiveDisplayName = 9640 ExclusiveRateOfChangeAlarmType_EnabledState_TransitionTime = 9641 ExclusiveRateOfChangeAlarmType_EnabledState_EffectiveTransitionTime = 9642 ExclusiveRateOfChangeAlarmType_EnabledState_TrueState = 9643 ExclusiveRateOfChangeAlarmType_EnabledState_FalseState = 9644 ExclusiveRateOfChangeAlarmType_Quality = 9645 ExclusiveRateOfChangeAlarmType_Quality_SourceTimestamp = 9646 ExclusiveRateOfChangeAlarmType_LastSeverity = 9647 ExclusiveRateOfChangeAlarmType_LastSeverity_SourceTimestamp = 9648 ExclusiveRateOfChangeAlarmType_Comment = 9649 ExclusiveRateOfChangeAlarmType_Comment_SourceTimestamp = 9650 ExclusiveRateOfChangeAlarmType_ClientUserId = 9651 ExclusiveRateOfChangeAlarmType_Enable = 9652 ExclusiveRateOfChangeAlarmType_Disable = 9653 ExclusiveRateOfChangeAlarmType_AddComment = 9654 ExclusiveRateOfChangeAlarmType_AddComment_InputArguments = 9655 ExclusiveRateOfChangeAlarmType_ConditionRefresh = 9656 ExclusiveRateOfChangeAlarmType_ConditionRefresh_InputArguments = 9657 ExclusiveRateOfChangeAlarmType_AckedState = 9658 ExclusiveRateOfChangeAlarmType_AckedState_Id = 9659 ExclusiveRateOfChangeAlarmType_AckedState_Name = 9660 ExclusiveRateOfChangeAlarmType_AckedState_Number = 9661 ExclusiveRateOfChangeAlarmType_AckedState_EffectiveDisplayName = 9662 ExclusiveRateOfChangeAlarmType_AckedState_TransitionTime = 9663 ExclusiveRateOfChangeAlarmType_AckedState_EffectiveTransitionTime = 9664 ExclusiveRateOfChangeAlarmType_AckedState_TrueState = 9665 ExclusiveRateOfChangeAlarmType_AckedState_FalseState = 9666 ExclusiveRateOfChangeAlarmType_ConfirmedState = 9667 ExclusiveRateOfChangeAlarmType_ConfirmedState_Id = 9668 ExclusiveRateOfChangeAlarmType_ConfirmedState_Name = 9669 ExclusiveRateOfChangeAlarmType_ConfirmedState_Number = 9670 ExclusiveRateOfChangeAlarmType_ConfirmedState_EffectiveDisplayName = 9671 ExclusiveRateOfChangeAlarmType_ConfirmedState_TransitionTime = 9672 ExclusiveRateOfChangeAlarmType_ConfirmedState_EffectiveTransitionTime = 9673 ExclusiveRateOfChangeAlarmType_ConfirmedState_TrueState = 9674 ExclusiveRateOfChangeAlarmType_ConfirmedState_FalseState = 9675 ExclusiveRateOfChangeAlarmType_Acknowledge = 9676 ExclusiveRateOfChangeAlarmType_Acknowledge_InputArguments = 9677 ExclusiveRateOfChangeAlarmType_Confirm = 9678 ExclusiveRateOfChangeAlarmType_Confirm_InputArguments = 9679 ExclusiveRateOfChangeAlarmType_ActiveState = 9680 ExclusiveRateOfChangeAlarmType_ActiveState_Id = 9681 ExclusiveRateOfChangeAlarmType_ActiveState_Name = 9682 ExclusiveRateOfChangeAlarmType_ActiveState_Number = 9683 ExclusiveRateOfChangeAlarmType_ActiveState_EffectiveDisplayName = 9684 ExclusiveRateOfChangeAlarmType_ActiveState_TransitionTime = 9685 ExclusiveRateOfChangeAlarmType_ActiveState_EffectiveTransitionTime = 9686 ExclusiveRateOfChangeAlarmType_ActiveState_TrueState = 9687 ExclusiveRateOfChangeAlarmType_ActiveState_FalseState = 9688 ExclusiveRateOfChangeAlarmType_SuppressedState = 9689 ExclusiveRateOfChangeAlarmType_SuppressedState_Id = 9690 ExclusiveRateOfChangeAlarmType_SuppressedState_Name = 9691 ExclusiveRateOfChangeAlarmType_SuppressedState_Number = 9692 ExclusiveRateOfChangeAlarmType_SuppressedState_EffectiveDisplayName = 9693 ExclusiveRateOfChangeAlarmType_SuppressedState_TransitionTime = 9694 ExclusiveRateOfChangeAlarmType_SuppressedState_EffectiveTransitionTime = 9695 ExclusiveRateOfChangeAlarmType_SuppressedState_TrueState = 9696 ExclusiveRateOfChangeAlarmType_SuppressedState_FalseState = 9697 ExclusiveRateOfChangeAlarmType_ShelvingState = 9698 ExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState = 9699 ExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_Id = 9700 ExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_Name = 9701 ExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_Number = 9702 ExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_EffectiveDisplayName = 9703 ExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition = 9704 ExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_Id = 9705 ExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_Name = 9706 ExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_Number = 9707 ExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_TransitionTime = 9708 ExclusiveRateOfChangeAlarmType_ShelvingState_UnshelveTime = 9709 ExclusiveRateOfChangeAlarmType_ShelvingState_Unshelve = 9731 ExclusiveRateOfChangeAlarmType_ShelvingState_OneShotShelve = 9732 ExclusiveRateOfChangeAlarmType_ShelvingState_TimedShelve = 9733 ExclusiveRateOfChangeAlarmType_ShelvingState_TimedShelve_InputArguments = 9734 ExclusiveRateOfChangeAlarmType_SuppressedOrShelved = 9735 ExclusiveRateOfChangeAlarmType_MaxTimeShelved = 9736 ExclusiveRateOfChangeAlarmType_LimitState = 9737 ExclusiveRateOfChangeAlarmType_LimitState_CurrentState = 9738 ExclusiveRateOfChangeAlarmType_LimitState_CurrentState_Id = 9739 ExclusiveRateOfChangeAlarmType_LimitState_CurrentState_Name = 9740 ExclusiveRateOfChangeAlarmType_LimitState_CurrentState_Number = 9741 ExclusiveRateOfChangeAlarmType_LimitState_CurrentState_EffectiveDisplayName = 9742 ExclusiveRateOfChangeAlarmType_LimitState_LastTransition = 9743 ExclusiveRateOfChangeAlarmType_LimitState_LastTransition_Id = 9744 ExclusiveRateOfChangeAlarmType_LimitState_LastTransition_Name = 9745 ExclusiveRateOfChangeAlarmType_LimitState_LastTransition_Number = 9746 ExclusiveRateOfChangeAlarmType_LimitState_LastTransition_TransitionTime = 9747 ExclusiveRateOfChangeAlarmType_HighHighLimit = 9760 ExclusiveRateOfChangeAlarmType_HighLimit = 9761 ExclusiveRateOfChangeAlarmType_LowLimit = 9762 ExclusiveRateOfChangeAlarmType_LowLowLimit = 9763 ExclusiveDeviationAlarmType = 9764 ExclusiveDeviationAlarmType_EventId = 9765 ExclusiveDeviationAlarmType_EventType = 9766 ExclusiveDeviationAlarmType_SourceNode = 9767 ExclusiveDeviationAlarmType_SourceName = 9768 ExclusiveDeviationAlarmType_Time = 9769 ExclusiveDeviationAlarmType_ReceiveTime = 9770 ExclusiveDeviationAlarmType_LocalTime = 9771 ExclusiveDeviationAlarmType_Message = 9772 ExclusiveDeviationAlarmType_Severity = 9773 ExclusiveDeviationAlarmType_ConditionName = 9774 ExclusiveDeviationAlarmType_BranchId = 9775 ExclusiveDeviationAlarmType_Retain = 9776 ExclusiveDeviationAlarmType_EnabledState = 9777 ExclusiveDeviationAlarmType_EnabledState_Id = 9778 ExclusiveDeviationAlarmType_EnabledState_Name = 9779 ExclusiveDeviationAlarmType_EnabledState_Number = 9780 ExclusiveDeviationAlarmType_EnabledState_EffectiveDisplayName = 9781 ExclusiveDeviationAlarmType_EnabledState_TransitionTime = 9782 ExclusiveDeviationAlarmType_EnabledState_EffectiveTransitionTime = 9783 ExclusiveDeviationAlarmType_EnabledState_TrueState = 9784 ExclusiveDeviationAlarmType_EnabledState_FalseState = 9785 ExclusiveDeviationAlarmType_Quality = 9786 ExclusiveDeviationAlarmType_Quality_SourceTimestamp = 9787 ExclusiveDeviationAlarmType_LastSeverity = 9788 ExclusiveDeviationAlarmType_LastSeverity_SourceTimestamp = 9789 ExclusiveDeviationAlarmType_Comment = 9790 ExclusiveDeviationAlarmType_Comment_SourceTimestamp = 9791 ExclusiveDeviationAlarmType_ClientUserId = 9792 ExclusiveDeviationAlarmType_Enable = 9793 ExclusiveDeviationAlarmType_Disable = 9794 ExclusiveDeviationAlarmType_AddComment = 9795 ExclusiveDeviationAlarmType_AddComment_InputArguments = 9796 ExclusiveDeviationAlarmType_ConditionRefresh = 9797 ExclusiveDeviationAlarmType_ConditionRefresh_InputArguments = 9798 ExclusiveDeviationAlarmType_AckedState = 9799 ExclusiveDeviationAlarmType_AckedState_Id = 9800 ExclusiveDeviationAlarmType_AckedState_Name = 9801 ExclusiveDeviationAlarmType_AckedState_Number = 9802 ExclusiveDeviationAlarmType_AckedState_EffectiveDisplayName = 9803 ExclusiveDeviationAlarmType_AckedState_TransitionTime = 9804 ExclusiveDeviationAlarmType_AckedState_EffectiveTransitionTime = 9805 ExclusiveDeviationAlarmType_AckedState_TrueState = 9806 ExclusiveDeviationAlarmType_AckedState_FalseState = 9807 ExclusiveDeviationAlarmType_ConfirmedState = 9808 ExclusiveDeviationAlarmType_ConfirmedState_Id = 9809 ExclusiveDeviationAlarmType_ConfirmedState_Name = 9810 ExclusiveDeviationAlarmType_ConfirmedState_Number = 9811 ExclusiveDeviationAlarmType_ConfirmedState_EffectiveDisplayName = 9812 ExclusiveDeviationAlarmType_ConfirmedState_TransitionTime = 9813 ExclusiveDeviationAlarmType_ConfirmedState_EffectiveTransitionTime = 9814 ExclusiveDeviationAlarmType_ConfirmedState_TrueState = 9815 ExclusiveDeviationAlarmType_ConfirmedState_FalseState = 9816 ExclusiveDeviationAlarmType_Acknowledge = 9817 ExclusiveDeviationAlarmType_Acknowledge_InputArguments = 9818 ExclusiveDeviationAlarmType_Confirm = 9819 ExclusiveDeviationAlarmType_Confirm_InputArguments = 9820 ExclusiveDeviationAlarmType_ActiveState = 9821 ExclusiveDeviationAlarmType_ActiveState_Id = 9822 ExclusiveDeviationAlarmType_ActiveState_Name = 9823 ExclusiveDeviationAlarmType_ActiveState_Number = 9824 ExclusiveDeviationAlarmType_ActiveState_EffectiveDisplayName = 9825 ExclusiveDeviationAlarmType_ActiveState_TransitionTime = 9826 ExclusiveDeviationAlarmType_ActiveState_EffectiveTransitionTime = 9827 ExclusiveDeviationAlarmType_ActiveState_TrueState = 9828 ExclusiveDeviationAlarmType_ActiveState_FalseState = 9829 ExclusiveDeviationAlarmType_SuppressedState = 9830 ExclusiveDeviationAlarmType_SuppressedState_Id = 9831 ExclusiveDeviationAlarmType_SuppressedState_Name = 9832 ExclusiveDeviationAlarmType_SuppressedState_Number = 9833 ExclusiveDeviationAlarmType_SuppressedState_EffectiveDisplayName = 9834 ExclusiveDeviationAlarmType_SuppressedState_TransitionTime = 9835 ExclusiveDeviationAlarmType_SuppressedState_EffectiveTransitionTime = 9836 ExclusiveDeviationAlarmType_SuppressedState_TrueState = 9837 ExclusiveDeviationAlarmType_SuppressedState_FalseState = 9838 ExclusiveDeviationAlarmType_ShelvingState = 9839 ExclusiveDeviationAlarmType_ShelvingState_CurrentState = 9840 ExclusiveDeviationAlarmType_ShelvingState_CurrentState_Id = 9841 ExclusiveDeviationAlarmType_ShelvingState_CurrentState_Name = 9842 ExclusiveDeviationAlarmType_ShelvingState_CurrentState_Number = 9843 ExclusiveDeviationAlarmType_ShelvingState_CurrentState_EffectiveDisplayName = 9844 ExclusiveDeviationAlarmType_ShelvingState_LastTransition = 9845 ExclusiveDeviationAlarmType_ShelvingState_LastTransition_Id = 9846 ExclusiveDeviationAlarmType_ShelvingState_LastTransition_Name = 9847 ExclusiveDeviationAlarmType_ShelvingState_LastTransition_Number = 9848 ExclusiveDeviationAlarmType_ShelvingState_LastTransition_TransitionTime = 9849 ExclusiveDeviationAlarmType_ShelvingState_UnshelveTime = 9850 ExclusiveDeviationAlarmType_ShelvingState_Unshelve = 9872 ExclusiveDeviationAlarmType_ShelvingState_OneShotShelve = 9873 ExclusiveDeviationAlarmType_ShelvingState_TimedShelve = 9874 ExclusiveDeviationAlarmType_ShelvingState_TimedShelve_InputArguments = 9875 ExclusiveDeviationAlarmType_SuppressedOrShelved = 9876 ExclusiveDeviationAlarmType_MaxTimeShelved = 9877 ExclusiveDeviationAlarmType_LimitState = 9878 ExclusiveDeviationAlarmType_LimitState_CurrentState = 9879 ExclusiveDeviationAlarmType_LimitState_CurrentState_Id = 9880 ExclusiveDeviationAlarmType_LimitState_CurrentState_Name = 9881 ExclusiveDeviationAlarmType_LimitState_CurrentState_Number = 9882 ExclusiveDeviationAlarmType_LimitState_CurrentState_EffectiveDisplayName = 9883 ExclusiveDeviationAlarmType_LimitState_LastTransition = 9884 ExclusiveDeviationAlarmType_LimitState_LastTransition_Id = 9885 ExclusiveDeviationAlarmType_LimitState_LastTransition_Name = 9886 ExclusiveDeviationAlarmType_LimitState_LastTransition_Number = 9887 ExclusiveDeviationAlarmType_LimitState_LastTransition_TransitionTime = 9888 ExclusiveDeviationAlarmType_HighHighLimit = 9901 ExclusiveDeviationAlarmType_HighLimit = 9902 ExclusiveDeviationAlarmType_LowLimit = 9903 ExclusiveDeviationAlarmType_LowLowLimit = 9904 ExclusiveDeviationAlarmType_SetpointNode = 9905 NonExclusiveLimitAlarmType = 9906 NonExclusiveLimitAlarmType_EventId = 9907 NonExclusiveLimitAlarmType_EventType = 9908 NonExclusiveLimitAlarmType_SourceNode = 9909 NonExclusiveLimitAlarmType_SourceName = 9910 NonExclusiveLimitAlarmType_Time = 9911 NonExclusiveLimitAlarmType_ReceiveTime = 9912 NonExclusiveLimitAlarmType_LocalTime = 9913 NonExclusiveLimitAlarmType_Message = 9914 NonExclusiveLimitAlarmType_Severity = 9915 NonExclusiveLimitAlarmType_ConditionName = 9916 NonExclusiveLimitAlarmType_BranchId = 9917 NonExclusiveLimitAlarmType_Retain = 9918 NonExclusiveLimitAlarmType_EnabledState = 9919 NonExclusiveLimitAlarmType_EnabledState_Id = 9920 NonExclusiveLimitAlarmType_EnabledState_Name = 9921 NonExclusiveLimitAlarmType_EnabledState_Number = 9922 NonExclusiveLimitAlarmType_EnabledState_EffectiveDisplayName = 9923 NonExclusiveLimitAlarmType_EnabledState_TransitionTime = 9924 NonExclusiveLimitAlarmType_EnabledState_EffectiveTransitionTime = 9925 NonExclusiveLimitAlarmType_EnabledState_TrueState = 9926 NonExclusiveLimitAlarmType_EnabledState_FalseState = 9927 NonExclusiveLimitAlarmType_Quality = 9928 NonExclusiveLimitAlarmType_Quality_SourceTimestamp = 9929 NonExclusiveLimitAlarmType_LastSeverity = 9930 NonExclusiveLimitAlarmType_LastSeverity_SourceTimestamp = 9931 NonExclusiveLimitAlarmType_Comment = 9932 NonExclusiveLimitAlarmType_Comment_SourceTimestamp = 9933 NonExclusiveLimitAlarmType_ClientUserId = 9934 NonExclusiveLimitAlarmType_Enable = 9935 NonExclusiveLimitAlarmType_Disable = 9936 NonExclusiveLimitAlarmType_AddComment = 9937 NonExclusiveLimitAlarmType_AddComment_InputArguments = 9938 NonExclusiveLimitAlarmType_ConditionRefresh = 9939 NonExclusiveLimitAlarmType_ConditionRefresh_InputArguments = 9940 NonExclusiveLimitAlarmType_AckedState = 9941 NonExclusiveLimitAlarmType_AckedState_Id = 9942 NonExclusiveLimitAlarmType_AckedState_Name = 9943 NonExclusiveLimitAlarmType_AckedState_Number = 9944 NonExclusiveLimitAlarmType_AckedState_EffectiveDisplayName = 9945 NonExclusiveLimitAlarmType_AckedState_TransitionTime = 9946 NonExclusiveLimitAlarmType_AckedState_EffectiveTransitionTime = 9947 NonExclusiveLimitAlarmType_AckedState_TrueState = 9948 NonExclusiveLimitAlarmType_AckedState_FalseState = 9949 NonExclusiveLimitAlarmType_ConfirmedState = 9950 NonExclusiveLimitAlarmType_ConfirmedState_Id = 9951 NonExclusiveLimitAlarmType_ConfirmedState_Name = 9952 NonExclusiveLimitAlarmType_ConfirmedState_Number = 9953 NonExclusiveLimitAlarmType_ConfirmedState_EffectiveDisplayName = 9954 NonExclusiveLimitAlarmType_ConfirmedState_TransitionTime = 9955 NonExclusiveLimitAlarmType_ConfirmedState_EffectiveTransitionTime = 9956 NonExclusiveLimitAlarmType_ConfirmedState_TrueState = 9957 NonExclusiveLimitAlarmType_ConfirmedState_FalseState = 9958 NonExclusiveLimitAlarmType_Acknowledge = 9959 NonExclusiveLimitAlarmType_Acknowledge_InputArguments = 9960 NonExclusiveLimitAlarmType_Confirm = 9961 NonExclusiveLimitAlarmType_Confirm_InputArguments = 9962 NonExclusiveLimitAlarmType_ActiveState = 9963 NonExclusiveLimitAlarmType_ActiveState_Id = 9964 NonExclusiveLimitAlarmType_ActiveState_Name = 9965 NonExclusiveLimitAlarmType_ActiveState_Number = 9966 NonExclusiveLimitAlarmType_ActiveState_EffectiveDisplayName = 9967 NonExclusiveLimitAlarmType_ActiveState_TransitionTime = 9968 NonExclusiveLimitAlarmType_ActiveState_EffectiveTransitionTime = 9969 NonExclusiveLimitAlarmType_ActiveState_TrueState = 9970 NonExclusiveLimitAlarmType_ActiveState_FalseState = 9971 NonExclusiveLimitAlarmType_SuppressedState = 9972 NonExclusiveLimitAlarmType_SuppressedState_Id = 9973 NonExclusiveLimitAlarmType_SuppressedState_Name = 9974 NonExclusiveLimitAlarmType_SuppressedState_Number = 9975 NonExclusiveLimitAlarmType_SuppressedState_EffectiveDisplayName = 9976 NonExclusiveLimitAlarmType_SuppressedState_TransitionTime = 9977 NonExclusiveLimitAlarmType_SuppressedState_EffectiveTransitionTime = 9978 NonExclusiveLimitAlarmType_SuppressedState_TrueState = 9979 NonExclusiveLimitAlarmType_SuppressedState_FalseState = 9980 NonExclusiveLimitAlarmType_ShelvingState = 9981 NonExclusiveLimitAlarmType_ShelvingState_CurrentState = 9982 NonExclusiveLimitAlarmType_ShelvingState_CurrentState_Id = 9983 NonExclusiveLimitAlarmType_ShelvingState_CurrentState_Name = 9984 NonExclusiveLimitAlarmType_ShelvingState_CurrentState_Number = 9985 NonExclusiveLimitAlarmType_ShelvingState_CurrentState_EffectiveDisplayName = 9986 NonExclusiveLimitAlarmType_ShelvingState_LastTransition = 9987 NonExclusiveLimitAlarmType_ShelvingState_LastTransition_Id = 9988 NonExclusiveLimitAlarmType_ShelvingState_LastTransition_Name = 9989 NonExclusiveLimitAlarmType_ShelvingState_LastTransition_Number = 9990 NonExclusiveLimitAlarmType_ShelvingState_LastTransition_TransitionTime = 9991 NonExclusiveLimitAlarmType_ShelvingState_UnshelveTime = 9992 NonExclusiveLimitAlarmType_ShelvingState_Unshelve = 10014 NonExclusiveLimitAlarmType_ShelvingState_OneShotShelve = 10015 NonExclusiveLimitAlarmType_ShelvingState_TimedShelve = 10016 NonExclusiveLimitAlarmType_ShelvingState_TimedShelve_InputArguments = 10017 NonExclusiveLimitAlarmType_SuppressedOrShelved = 10018 NonExclusiveLimitAlarmType_MaxTimeShelved = 10019 NonExclusiveLimitAlarmType_HighHighState = 10020 NonExclusiveLimitAlarmType_HighHighState_Id = 10021 NonExclusiveLimitAlarmType_HighHighState_Name = 10022 NonExclusiveLimitAlarmType_HighHighState_Number = 10023 NonExclusiveLimitAlarmType_HighHighState_EffectiveDisplayName = 10024 NonExclusiveLimitAlarmType_HighHighState_TransitionTime = 10025 NonExclusiveLimitAlarmType_HighHighState_EffectiveTransitionTime = 10026 NonExclusiveLimitAlarmType_HighHighState_TrueState = 10027 NonExclusiveLimitAlarmType_HighHighState_FalseState = 10028 NonExclusiveLimitAlarmType_HighState = 10029 NonExclusiveLimitAlarmType_HighState_Id = 10030 NonExclusiveLimitAlarmType_HighState_Name = 10031 NonExclusiveLimitAlarmType_HighState_Number = 10032 NonExclusiveLimitAlarmType_HighState_EffectiveDisplayName = 10033 NonExclusiveLimitAlarmType_HighState_TransitionTime = 10034 NonExclusiveLimitAlarmType_HighState_EffectiveTransitionTime = 10035 NonExclusiveLimitAlarmType_HighState_TrueState = 10036 NonExclusiveLimitAlarmType_HighState_FalseState = 10037 NonExclusiveLimitAlarmType_LowState = 10038 NonExclusiveLimitAlarmType_LowState_Id = 10039 NonExclusiveLimitAlarmType_LowState_Name = 10040 NonExclusiveLimitAlarmType_LowState_Number = 10041 NonExclusiveLimitAlarmType_LowState_EffectiveDisplayName = 10042 NonExclusiveLimitAlarmType_LowState_TransitionTime = 10043 NonExclusiveLimitAlarmType_LowState_EffectiveTransitionTime = 10044 NonExclusiveLimitAlarmType_LowState_TrueState = 10045 NonExclusiveLimitAlarmType_LowState_FalseState = 10046 NonExclusiveLimitAlarmType_LowLowState = 10047 NonExclusiveLimitAlarmType_LowLowState_Id = 10048 NonExclusiveLimitAlarmType_LowLowState_Name = 10049 NonExclusiveLimitAlarmType_LowLowState_Number = 10050 NonExclusiveLimitAlarmType_LowLowState_EffectiveDisplayName = 10051 NonExclusiveLimitAlarmType_LowLowState_TransitionTime = 10052 NonExclusiveLimitAlarmType_LowLowState_EffectiveTransitionTime = 10053 NonExclusiveLimitAlarmType_LowLowState_TrueState = 10054 NonExclusiveLimitAlarmType_LowLowState_FalseState = 10055 NonExclusiveLimitAlarmType_HighHighLimit = 10056 NonExclusiveLimitAlarmType_HighLimit = 10057 NonExclusiveLimitAlarmType_LowLimit = 10058 NonExclusiveLimitAlarmType_LowLowLimit = 10059 NonExclusiveLevelAlarmType = 10060 NonExclusiveLevelAlarmType_EventId = 10061 NonExclusiveLevelAlarmType_EventType = 10062 NonExclusiveLevelAlarmType_SourceNode = 10063 NonExclusiveLevelAlarmType_SourceName = 10064 NonExclusiveLevelAlarmType_Time = 10065 NonExclusiveLevelAlarmType_ReceiveTime = 10066 NonExclusiveLevelAlarmType_LocalTime = 10067 NonExclusiveLevelAlarmType_Message = 10068 NonExclusiveLevelAlarmType_Severity = 10069 NonExclusiveLevelAlarmType_ConditionName = 10070 NonExclusiveLevelAlarmType_BranchId = 10071 NonExclusiveLevelAlarmType_Retain = 10072 NonExclusiveLevelAlarmType_EnabledState = 10073 NonExclusiveLevelAlarmType_EnabledState_Id = 10074 NonExclusiveLevelAlarmType_EnabledState_Name = 10075 NonExclusiveLevelAlarmType_EnabledState_Number = 10076 NonExclusiveLevelAlarmType_EnabledState_EffectiveDisplayName = 10077 NonExclusiveLevelAlarmType_EnabledState_TransitionTime = 10078 NonExclusiveLevelAlarmType_EnabledState_EffectiveTransitionTime = 10079 NonExclusiveLevelAlarmType_EnabledState_TrueState = 10080 NonExclusiveLevelAlarmType_EnabledState_FalseState = 10081 NonExclusiveLevelAlarmType_Quality = 10082 NonExclusiveLevelAlarmType_Quality_SourceTimestamp = 10083 NonExclusiveLevelAlarmType_LastSeverity = 10084 NonExclusiveLevelAlarmType_LastSeverity_SourceTimestamp = 10085 NonExclusiveLevelAlarmType_Comment = 10086 NonExclusiveLevelAlarmType_Comment_SourceTimestamp = 10087 NonExclusiveLevelAlarmType_ClientUserId = 10088 NonExclusiveLevelAlarmType_Enable = 10089 NonExclusiveLevelAlarmType_Disable = 10090 NonExclusiveLevelAlarmType_AddComment = 10091 NonExclusiveLevelAlarmType_AddComment_InputArguments = 10092 NonExclusiveLevelAlarmType_ConditionRefresh = 10093 NonExclusiveLevelAlarmType_ConditionRefresh_InputArguments = 10094 NonExclusiveLevelAlarmType_AckedState = 10095 NonExclusiveLevelAlarmType_AckedState_Id = 10096 NonExclusiveLevelAlarmType_AckedState_Name = 10097 NonExclusiveLevelAlarmType_AckedState_Number = 10098 NonExclusiveLevelAlarmType_AckedState_EffectiveDisplayName = 10099 NonExclusiveLevelAlarmType_AckedState_TransitionTime = 10100 NonExclusiveLevelAlarmType_AckedState_EffectiveTransitionTime = 10101 NonExclusiveLevelAlarmType_AckedState_TrueState = 10102 NonExclusiveLevelAlarmType_AckedState_FalseState = 10103 NonExclusiveLevelAlarmType_ConfirmedState = 10104 NonExclusiveLevelAlarmType_ConfirmedState_Id = 10105 NonExclusiveLevelAlarmType_ConfirmedState_Name = 10106 NonExclusiveLevelAlarmType_ConfirmedState_Number = 10107 NonExclusiveLevelAlarmType_ConfirmedState_EffectiveDisplayName = 10108 NonExclusiveLevelAlarmType_ConfirmedState_TransitionTime = 10109 NonExclusiveLevelAlarmType_ConfirmedState_EffectiveTransitionTime = 10110 NonExclusiveLevelAlarmType_ConfirmedState_TrueState = 10111 NonExclusiveLevelAlarmType_ConfirmedState_FalseState = 10112 NonExclusiveLevelAlarmType_Acknowledge = 10113 NonExclusiveLevelAlarmType_Acknowledge_InputArguments = 10114 NonExclusiveLevelAlarmType_Confirm = 10115 NonExclusiveLevelAlarmType_Confirm_InputArguments = 10116 NonExclusiveLevelAlarmType_ActiveState = 10117 NonExclusiveLevelAlarmType_ActiveState_Id = 10118 NonExclusiveLevelAlarmType_ActiveState_Name = 10119 NonExclusiveLevelAlarmType_ActiveState_Number = 10120 NonExclusiveLevelAlarmType_ActiveState_EffectiveDisplayName = 10121 NonExclusiveLevelAlarmType_ActiveState_TransitionTime = 10122 NonExclusiveLevelAlarmType_ActiveState_EffectiveTransitionTime = 10123 NonExclusiveLevelAlarmType_ActiveState_TrueState = 10124 NonExclusiveLevelAlarmType_ActiveState_FalseState = 10125 NonExclusiveLevelAlarmType_SuppressedState = 10126 NonExclusiveLevelAlarmType_SuppressedState_Id = 10127 NonExclusiveLevelAlarmType_SuppressedState_Name = 10128 NonExclusiveLevelAlarmType_SuppressedState_Number = 10129 NonExclusiveLevelAlarmType_SuppressedState_EffectiveDisplayName = 10130 NonExclusiveLevelAlarmType_SuppressedState_TransitionTime = 10131 NonExclusiveLevelAlarmType_SuppressedState_EffectiveTransitionTime = 10132 NonExclusiveLevelAlarmType_SuppressedState_TrueState = 10133 NonExclusiveLevelAlarmType_SuppressedState_FalseState = 10134 NonExclusiveLevelAlarmType_ShelvingState = 10135 NonExclusiveLevelAlarmType_ShelvingState_CurrentState = 10136 NonExclusiveLevelAlarmType_ShelvingState_CurrentState_Id = 10137 NonExclusiveLevelAlarmType_ShelvingState_CurrentState_Name = 10138 NonExclusiveLevelAlarmType_ShelvingState_CurrentState_Number = 10139 NonExclusiveLevelAlarmType_ShelvingState_CurrentState_EffectiveDisplayName = 10140 NonExclusiveLevelAlarmType_ShelvingState_LastTransition = 10141 NonExclusiveLevelAlarmType_ShelvingState_LastTransition_Id = 10142 NonExclusiveLevelAlarmType_ShelvingState_LastTransition_Name = 10143 NonExclusiveLevelAlarmType_ShelvingState_LastTransition_Number = 10144 NonExclusiveLevelAlarmType_ShelvingState_LastTransition_TransitionTime = 10145 NonExclusiveLevelAlarmType_ShelvingState_UnshelveTime = 10146 NonExclusiveLevelAlarmType_ShelvingState_Unshelve = 10168 NonExclusiveLevelAlarmType_ShelvingState_OneShotShelve = 10169 NonExclusiveLevelAlarmType_ShelvingState_TimedShelve = 10170 NonExclusiveLevelAlarmType_ShelvingState_TimedShelve_InputArguments = 10171 NonExclusiveLevelAlarmType_SuppressedOrShelved = 10172 NonExclusiveLevelAlarmType_MaxTimeShelved = 10173 NonExclusiveLevelAlarmType_HighHighState = 10174 NonExclusiveLevelAlarmType_HighHighState_Id = 10175 NonExclusiveLevelAlarmType_HighHighState_Name = 10176 NonExclusiveLevelAlarmType_HighHighState_Number = 10177 NonExclusiveLevelAlarmType_HighHighState_EffectiveDisplayName = 10178 NonExclusiveLevelAlarmType_HighHighState_TransitionTime = 10179 NonExclusiveLevelAlarmType_HighHighState_EffectiveTransitionTime = 10180 NonExclusiveLevelAlarmType_HighHighState_TrueState = 10181 NonExclusiveLevelAlarmType_HighHighState_FalseState = 10182 NonExclusiveLevelAlarmType_HighState = 10183 NonExclusiveLevelAlarmType_HighState_Id = 10184 NonExclusiveLevelAlarmType_HighState_Name = 10185 NonExclusiveLevelAlarmType_HighState_Number = 10186 NonExclusiveLevelAlarmType_HighState_EffectiveDisplayName = 10187 NonExclusiveLevelAlarmType_HighState_TransitionTime = 10188 NonExclusiveLevelAlarmType_HighState_EffectiveTransitionTime = 10189 NonExclusiveLevelAlarmType_HighState_TrueState = 10190 NonExclusiveLevelAlarmType_HighState_FalseState = 10191 NonExclusiveLevelAlarmType_LowState = 10192 NonExclusiveLevelAlarmType_LowState_Id = 10193 NonExclusiveLevelAlarmType_LowState_Name = 10194 NonExclusiveLevelAlarmType_LowState_Number = 10195 NonExclusiveLevelAlarmType_LowState_EffectiveDisplayName = 10196 NonExclusiveLevelAlarmType_LowState_TransitionTime = 10197 NonExclusiveLevelAlarmType_LowState_EffectiveTransitionTime = 10198 NonExclusiveLevelAlarmType_LowState_TrueState = 10199 NonExclusiveLevelAlarmType_LowState_FalseState = 10200 NonExclusiveLevelAlarmType_LowLowState = 10201 NonExclusiveLevelAlarmType_LowLowState_Id = 10202 NonExclusiveLevelAlarmType_LowLowState_Name = 10203 NonExclusiveLevelAlarmType_LowLowState_Number = 10204 NonExclusiveLevelAlarmType_LowLowState_EffectiveDisplayName = 10205 NonExclusiveLevelAlarmType_LowLowState_TransitionTime = 10206 NonExclusiveLevelAlarmType_LowLowState_EffectiveTransitionTime = 10207 NonExclusiveLevelAlarmType_LowLowState_TrueState = 10208 NonExclusiveLevelAlarmType_LowLowState_FalseState = 10209 NonExclusiveLevelAlarmType_HighHighLimit = 10210 NonExclusiveLevelAlarmType_HighLimit = 10211 NonExclusiveLevelAlarmType_LowLimit = 10212 NonExclusiveLevelAlarmType_LowLowLimit = 10213 NonExclusiveRateOfChangeAlarmType = 10214 NonExclusiveRateOfChangeAlarmType_EventId = 10215 NonExclusiveRateOfChangeAlarmType_EventType = 10216 NonExclusiveRateOfChangeAlarmType_SourceNode = 10217 NonExclusiveRateOfChangeAlarmType_SourceName = 10218 NonExclusiveRateOfChangeAlarmType_Time = 10219 NonExclusiveRateOfChangeAlarmType_ReceiveTime = 10220 NonExclusiveRateOfChangeAlarmType_LocalTime = 10221 NonExclusiveRateOfChangeAlarmType_Message = 10222 NonExclusiveRateOfChangeAlarmType_Severity = 10223 NonExclusiveRateOfChangeAlarmType_ConditionName = 10224 NonExclusiveRateOfChangeAlarmType_BranchId = 10225 NonExclusiveRateOfChangeAlarmType_Retain = 10226 NonExclusiveRateOfChangeAlarmType_EnabledState = 10227 NonExclusiveRateOfChangeAlarmType_EnabledState_Id = 10228 NonExclusiveRateOfChangeAlarmType_EnabledState_Name = 10229 NonExclusiveRateOfChangeAlarmType_EnabledState_Number = 10230 NonExclusiveRateOfChangeAlarmType_EnabledState_EffectiveDisplayName = 10231 NonExclusiveRateOfChangeAlarmType_EnabledState_TransitionTime = 10232 NonExclusiveRateOfChangeAlarmType_EnabledState_EffectiveTransitionTime = 10233 NonExclusiveRateOfChangeAlarmType_EnabledState_TrueState = 10234 NonExclusiveRateOfChangeAlarmType_EnabledState_FalseState = 10235 NonExclusiveRateOfChangeAlarmType_Quality = 10236 NonExclusiveRateOfChangeAlarmType_Quality_SourceTimestamp = 10237 NonExclusiveRateOfChangeAlarmType_LastSeverity = 10238 NonExclusiveRateOfChangeAlarmType_LastSeverity_SourceTimestamp = 10239 NonExclusiveRateOfChangeAlarmType_Comment = 10240 NonExclusiveRateOfChangeAlarmType_Comment_SourceTimestamp = 10241 NonExclusiveRateOfChangeAlarmType_ClientUserId = 10242 NonExclusiveRateOfChangeAlarmType_Enable = 10243 NonExclusiveRateOfChangeAlarmType_Disable = 10244 NonExclusiveRateOfChangeAlarmType_AddComment = 10245 NonExclusiveRateOfChangeAlarmType_AddComment_InputArguments = 10246 NonExclusiveRateOfChangeAlarmType_ConditionRefresh = 10247 NonExclusiveRateOfChangeAlarmType_ConditionRefresh_InputArguments = 10248 NonExclusiveRateOfChangeAlarmType_AckedState = 10249 NonExclusiveRateOfChangeAlarmType_AckedState_Id = 10250 NonExclusiveRateOfChangeAlarmType_AckedState_Name = 10251 NonExclusiveRateOfChangeAlarmType_AckedState_Number = 10252 NonExclusiveRateOfChangeAlarmType_AckedState_EffectiveDisplayName = 10253 NonExclusiveRateOfChangeAlarmType_AckedState_TransitionTime = 10254 NonExclusiveRateOfChangeAlarmType_AckedState_EffectiveTransitionTime = 10255 NonExclusiveRateOfChangeAlarmType_AckedState_TrueState = 10256 NonExclusiveRateOfChangeAlarmType_AckedState_FalseState = 10257 NonExclusiveRateOfChangeAlarmType_ConfirmedState = 10258 NonExclusiveRateOfChangeAlarmType_ConfirmedState_Id = 10259 NonExclusiveRateOfChangeAlarmType_ConfirmedState_Name = 10260 NonExclusiveRateOfChangeAlarmType_ConfirmedState_Number = 10261 NonExclusiveRateOfChangeAlarmType_ConfirmedState_EffectiveDisplayName = 10262 NonExclusiveRateOfChangeAlarmType_ConfirmedState_TransitionTime = 10263 NonExclusiveRateOfChangeAlarmType_ConfirmedState_EffectiveTransitionTime = 10264 NonExclusiveRateOfChangeAlarmType_ConfirmedState_TrueState = 10265 NonExclusiveRateOfChangeAlarmType_ConfirmedState_FalseState = 10266 NonExclusiveRateOfChangeAlarmType_Acknowledge = 10267 NonExclusiveRateOfChangeAlarmType_Acknowledge_InputArguments = 10268 NonExclusiveRateOfChangeAlarmType_Confirm = 10269 NonExclusiveRateOfChangeAlarmType_Confirm_InputArguments = 10270 NonExclusiveRateOfChangeAlarmType_ActiveState = 10271 NonExclusiveRateOfChangeAlarmType_ActiveState_Id = 10272 NonExclusiveRateOfChangeAlarmType_ActiveState_Name = 10273 NonExclusiveRateOfChangeAlarmType_ActiveState_Number = 10274 NonExclusiveRateOfChangeAlarmType_ActiveState_EffectiveDisplayName = 10275 NonExclusiveRateOfChangeAlarmType_ActiveState_TransitionTime = 10276 NonExclusiveRateOfChangeAlarmType_ActiveState_EffectiveTransitionTime = 10277 NonExclusiveRateOfChangeAlarmType_ActiveState_TrueState = 10278 NonExclusiveRateOfChangeAlarmType_ActiveState_FalseState = 10279 NonExclusiveRateOfChangeAlarmType_SuppressedState = 10280 NonExclusiveRateOfChangeAlarmType_SuppressedState_Id = 10281 NonExclusiveRateOfChangeAlarmType_SuppressedState_Name = 10282 NonExclusiveRateOfChangeAlarmType_SuppressedState_Number = 10283 NonExclusiveRateOfChangeAlarmType_SuppressedState_EffectiveDisplayName = 10284 NonExclusiveRateOfChangeAlarmType_SuppressedState_TransitionTime = 10285 NonExclusiveRateOfChangeAlarmType_SuppressedState_EffectiveTransitionTime = 10286 NonExclusiveRateOfChangeAlarmType_SuppressedState_TrueState = 10287 NonExclusiveRateOfChangeAlarmType_SuppressedState_FalseState = 10288 NonExclusiveRateOfChangeAlarmType_ShelvingState = 10289 NonExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState = 10290 NonExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_Id = 10291 NonExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_Name = 10292 NonExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_Number = 10293 NonExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_EffectiveDisplayName = 10294 NonExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition = 10295 NonExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_Id = 10296 NonExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_Name = 10297 NonExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_Number = 10298 NonExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_TransitionTime = 10299 NonExclusiveRateOfChangeAlarmType_ShelvingState_UnshelveTime = 10300 NonExclusiveRateOfChangeAlarmType_ShelvingState_Unshelve = 10322 NonExclusiveRateOfChangeAlarmType_ShelvingState_OneShotShelve = 10323 NonExclusiveRateOfChangeAlarmType_ShelvingState_TimedShelve = 10324 NonExclusiveRateOfChangeAlarmType_ShelvingState_TimedShelve_InputArguments = 10325 NonExclusiveRateOfChangeAlarmType_SuppressedOrShelved = 10326 NonExclusiveRateOfChangeAlarmType_MaxTimeShelved = 10327 NonExclusiveRateOfChangeAlarmType_HighHighState = 10328 NonExclusiveRateOfChangeAlarmType_HighHighState_Id = 10329 NonExclusiveRateOfChangeAlarmType_HighHighState_Name = 10330 NonExclusiveRateOfChangeAlarmType_HighHighState_Number = 10331 NonExclusiveRateOfChangeAlarmType_HighHighState_EffectiveDisplayName = 10332 NonExclusiveRateOfChangeAlarmType_HighHighState_TransitionTime = 10333 NonExclusiveRateOfChangeAlarmType_HighHighState_EffectiveTransitionTime = 10334 NonExclusiveRateOfChangeAlarmType_HighHighState_TrueState = 10335 NonExclusiveRateOfChangeAlarmType_HighHighState_FalseState = 10336 NonExclusiveRateOfChangeAlarmType_HighState = 10337 NonExclusiveRateOfChangeAlarmType_HighState_Id = 10338 NonExclusiveRateOfChangeAlarmType_HighState_Name = 10339 NonExclusiveRateOfChangeAlarmType_HighState_Number = 10340 NonExclusiveRateOfChangeAlarmType_HighState_EffectiveDisplayName = 10341 NonExclusiveRateOfChangeAlarmType_HighState_TransitionTime = 10342 NonExclusiveRateOfChangeAlarmType_HighState_EffectiveTransitionTime = 10343 NonExclusiveRateOfChangeAlarmType_HighState_TrueState = 10344 NonExclusiveRateOfChangeAlarmType_HighState_FalseState = 10345 NonExclusiveRateOfChangeAlarmType_LowState = 10346 NonExclusiveRateOfChangeAlarmType_LowState_Id = 10347 NonExclusiveRateOfChangeAlarmType_LowState_Name = 10348 NonExclusiveRateOfChangeAlarmType_LowState_Number = 10349 NonExclusiveRateOfChangeAlarmType_LowState_EffectiveDisplayName = 10350 NonExclusiveRateOfChangeAlarmType_LowState_TransitionTime = 10351 NonExclusiveRateOfChangeAlarmType_LowState_EffectiveTransitionTime = 10352 NonExclusiveRateOfChangeAlarmType_LowState_TrueState = 10353 NonExclusiveRateOfChangeAlarmType_LowState_FalseState = 10354 NonExclusiveRateOfChangeAlarmType_LowLowState = 10355 NonExclusiveRateOfChangeAlarmType_LowLowState_Id = 10356 NonExclusiveRateOfChangeAlarmType_LowLowState_Name = 10357 NonExclusiveRateOfChangeAlarmType_LowLowState_Number = 10358 NonExclusiveRateOfChangeAlarmType_LowLowState_EffectiveDisplayName = 10359 NonExclusiveRateOfChangeAlarmType_LowLowState_TransitionTime = 10360 NonExclusiveRateOfChangeAlarmType_LowLowState_EffectiveTransitionTime = 10361 NonExclusiveRateOfChangeAlarmType_LowLowState_TrueState = 10362 NonExclusiveRateOfChangeAlarmType_LowLowState_FalseState = 10363 NonExclusiveRateOfChangeAlarmType_HighHighLimit = 10364 NonExclusiveRateOfChangeAlarmType_HighLimit = 10365 NonExclusiveRateOfChangeAlarmType_LowLimit = 10366 NonExclusiveRateOfChangeAlarmType_LowLowLimit = 10367 NonExclusiveDeviationAlarmType = 10368 NonExclusiveDeviationAlarmType_EventId = 10369 NonExclusiveDeviationAlarmType_EventType = 10370 NonExclusiveDeviationAlarmType_SourceNode = 10371 NonExclusiveDeviationAlarmType_SourceName = 10372 NonExclusiveDeviationAlarmType_Time = 10373 NonExclusiveDeviationAlarmType_ReceiveTime = 10374 NonExclusiveDeviationAlarmType_LocalTime = 10375 NonExclusiveDeviationAlarmType_Message = 10376 NonExclusiveDeviationAlarmType_Severity = 10377 NonExclusiveDeviationAlarmType_ConditionName = 10378 NonExclusiveDeviationAlarmType_BranchId = 10379 NonExclusiveDeviationAlarmType_Retain = 10380 NonExclusiveDeviationAlarmType_EnabledState = 10381 NonExclusiveDeviationAlarmType_EnabledState_Id = 10382 NonExclusiveDeviationAlarmType_EnabledState_Name = 10383 NonExclusiveDeviationAlarmType_EnabledState_Number = 10384 NonExclusiveDeviationAlarmType_EnabledState_EffectiveDisplayName = 10385 NonExclusiveDeviationAlarmType_EnabledState_TransitionTime = 10386 NonExclusiveDeviationAlarmType_EnabledState_EffectiveTransitionTime = 10387 NonExclusiveDeviationAlarmType_EnabledState_TrueState = 10388 NonExclusiveDeviationAlarmType_EnabledState_FalseState = 10389 NonExclusiveDeviationAlarmType_Quality = 10390 NonExclusiveDeviationAlarmType_Quality_SourceTimestamp = 10391 NonExclusiveDeviationAlarmType_LastSeverity = 10392 NonExclusiveDeviationAlarmType_LastSeverity_SourceTimestamp = 10393 NonExclusiveDeviationAlarmType_Comment = 10394 NonExclusiveDeviationAlarmType_Comment_SourceTimestamp = 10395 NonExclusiveDeviationAlarmType_ClientUserId = 10396 NonExclusiveDeviationAlarmType_Enable = 10397 NonExclusiveDeviationAlarmType_Disable = 10398 NonExclusiveDeviationAlarmType_AddComment = 10399 NonExclusiveDeviationAlarmType_AddComment_InputArguments = 10400 NonExclusiveDeviationAlarmType_ConditionRefresh = 10401 NonExclusiveDeviationAlarmType_ConditionRefresh_InputArguments = 10402 NonExclusiveDeviationAlarmType_AckedState = 10403 NonExclusiveDeviationAlarmType_AckedState_Id = 10404 NonExclusiveDeviationAlarmType_AckedState_Name = 10405 NonExclusiveDeviationAlarmType_AckedState_Number = 10406 NonExclusiveDeviationAlarmType_AckedState_EffectiveDisplayName = 10407 NonExclusiveDeviationAlarmType_AckedState_TransitionTime = 10408 NonExclusiveDeviationAlarmType_AckedState_EffectiveTransitionTime = 10409 NonExclusiveDeviationAlarmType_AckedState_TrueState = 10410 NonExclusiveDeviationAlarmType_AckedState_FalseState = 10411 NonExclusiveDeviationAlarmType_ConfirmedState = 10412 NonExclusiveDeviationAlarmType_ConfirmedState_Id = 10413 NonExclusiveDeviationAlarmType_ConfirmedState_Name = 10414 NonExclusiveDeviationAlarmType_ConfirmedState_Number = 10415 NonExclusiveDeviationAlarmType_ConfirmedState_EffectiveDisplayName = 10416 NonExclusiveDeviationAlarmType_ConfirmedState_TransitionTime = 10417 NonExclusiveDeviationAlarmType_ConfirmedState_EffectiveTransitionTime = 10418 NonExclusiveDeviationAlarmType_ConfirmedState_TrueState = 10419 NonExclusiveDeviationAlarmType_ConfirmedState_FalseState = 10420 NonExclusiveDeviationAlarmType_Acknowledge = 10421 NonExclusiveDeviationAlarmType_Acknowledge_InputArguments = 10422 NonExclusiveDeviationAlarmType_Confirm = 10423 NonExclusiveDeviationAlarmType_Confirm_InputArguments = 10424 NonExclusiveDeviationAlarmType_ActiveState = 10425 NonExclusiveDeviationAlarmType_ActiveState_Id = 10426 NonExclusiveDeviationAlarmType_ActiveState_Name = 10427 NonExclusiveDeviationAlarmType_ActiveState_Number = 10428 NonExclusiveDeviationAlarmType_ActiveState_EffectiveDisplayName = 10429 NonExclusiveDeviationAlarmType_ActiveState_TransitionTime = 10430 NonExclusiveDeviationAlarmType_ActiveState_EffectiveTransitionTime = 10431 NonExclusiveDeviationAlarmType_ActiveState_TrueState = 10432 NonExclusiveDeviationAlarmType_ActiveState_FalseState = 10433 NonExclusiveDeviationAlarmType_SuppressedState = 10434 NonExclusiveDeviationAlarmType_SuppressedState_Id = 10435 NonExclusiveDeviationAlarmType_SuppressedState_Name = 10436 NonExclusiveDeviationAlarmType_SuppressedState_Number = 10437 NonExclusiveDeviationAlarmType_SuppressedState_EffectiveDisplayName = 10438 NonExclusiveDeviationAlarmType_SuppressedState_TransitionTime = 10439 NonExclusiveDeviationAlarmType_SuppressedState_EffectiveTransitionTime = 10440 NonExclusiveDeviationAlarmType_SuppressedState_TrueState = 10441 NonExclusiveDeviationAlarmType_SuppressedState_FalseState = 10442 NonExclusiveDeviationAlarmType_ShelvingState = 10443 NonExclusiveDeviationAlarmType_ShelvingState_CurrentState = 10444 NonExclusiveDeviationAlarmType_ShelvingState_CurrentState_Id = 10445 NonExclusiveDeviationAlarmType_ShelvingState_CurrentState_Name = 10446 NonExclusiveDeviationAlarmType_ShelvingState_CurrentState_Number = 10447 NonExclusiveDeviationAlarmType_ShelvingState_CurrentState_EffectiveDisplayName = 10448 NonExclusiveDeviationAlarmType_ShelvingState_LastTransition = 10449 NonExclusiveDeviationAlarmType_ShelvingState_LastTransition_Id = 10450 NonExclusiveDeviationAlarmType_ShelvingState_LastTransition_Name = 10451 NonExclusiveDeviationAlarmType_ShelvingState_LastTransition_Number = 10452 NonExclusiveDeviationAlarmType_ShelvingState_LastTransition_TransitionTime = 10453 NonExclusiveDeviationAlarmType_ShelvingState_UnshelveTime = 10454 NonExclusiveDeviationAlarmType_ShelvingState_Unshelve = 10476 NonExclusiveDeviationAlarmType_ShelvingState_OneShotShelve = 10477 NonExclusiveDeviationAlarmType_ShelvingState_TimedShelve = 10478 NonExclusiveDeviationAlarmType_ShelvingState_TimedShelve_InputArguments = 10479 NonExclusiveDeviationAlarmType_SuppressedOrShelved = 10480 NonExclusiveDeviationAlarmType_MaxTimeShelved = 10481 NonExclusiveDeviationAlarmType_HighHighState = 10482 NonExclusiveDeviationAlarmType_HighHighState_Id = 10483 NonExclusiveDeviationAlarmType_HighHighState_Name = 10484 NonExclusiveDeviationAlarmType_HighHighState_Number = 10485 NonExclusiveDeviationAlarmType_HighHighState_EffectiveDisplayName = 10486 NonExclusiveDeviationAlarmType_HighHighState_TransitionTime = 10487 NonExclusiveDeviationAlarmType_HighHighState_EffectiveTransitionTime = 10488 NonExclusiveDeviationAlarmType_HighHighState_TrueState = 10489 NonExclusiveDeviationAlarmType_HighHighState_FalseState = 10490 NonExclusiveDeviationAlarmType_HighState = 10491 NonExclusiveDeviationAlarmType_HighState_Id = 10492 NonExclusiveDeviationAlarmType_HighState_Name = 10493 NonExclusiveDeviationAlarmType_HighState_Number = 10494 NonExclusiveDeviationAlarmType_HighState_EffectiveDisplayName = 10495 NonExclusiveDeviationAlarmType_HighState_TransitionTime = 10496 NonExclusiveDeviationAlarmType_HighState_EffectiveTransitionTime = 10497 NonExclusiveDeviationAlarmType_HighState_TrueState = 10498 NonExclusiveDeviationAlarmType_HighState_FalseState = 10499 NonExclusiveDeviationAlarmType_LowState = 10500 NonExclusiveDeviationAlarmType_LowState_Id = 10501 NonExclusiveDeviationAlarmType_LowState_Name = 10502 NonExclusiveDeviationAlarmType_LowState_Number = 10503 NonExclusiveDeviationAlarmType_LowState_EffectiveDisplayName = 10504 NonExclusiveDeviationAlarmType_LowState_TransitionTime = 10505 NonExclusiveDeviationAlarmType_LowState_EffectiveTransitionTime = 10506 NonExclusiveDeviationAlarmType_LowState_TrueState = 10507 NonExclusiveDeviationAlarmType_LowState_FalseState = 10508 NonExclusiveDeviationAlarmType_LowLowState = 10509 NonExclusiveDeviationAlarmType_LowLowState_Id = 10510 NonExclusiveDeviationAlarmType_LowLowState_Name = 10511 NonExclusiveDeviationAlarmType_LowLowState_Number = 10512 NonExclusiveDeviationAlarmType_LowLowState_EffectiveDisplayName = 10513 NonExclusiveDeviationAlarmType_LowLowState_TransitionTime = 10514 NonExclusiveDeviationAlarmType_LowLowState_EffectiveTransitionTime = 10515 NonExclusiveDeviationAlarmType_LowLowState_TrueState = 10516 NonExclusiveDeviationAlarmType_LowLowState_FalseState = 10517 NonExclusiveDeviationAlarmType_HighHighLimit = 10518 NonExclusiveDeviationAlarmType_HighLimit = 10519 NonExclusiveDeviationAlarmType_LowLimit = 10520 NonExclusiveDeviationAlarmType_LowLowLimit = 10521 NonExclusiveDeviationAlarmType_SetpointNode = 10522 DiscreteAlarmType = 10523 DiscreteAlarmType_EventId = 10524 DiscreteAlarmType_EventType = 10525 DiscreteAlarmType_SourceNode = 10526 DiscreteAlarmType_SourceName = 10527 DiscreteAlarmType_Time = 10528 DiscreteAlarmType_ReceiveTime = 10529 DiscreteAlarmType_LocalTime = 10530 DiscreteAlarmType_Message = 10531 DiscreteAlarmType_Severity = 10532 DiscreteAlarmType_ConditionName = 10533 DiscreteAlarmType_BranchId = 10534 DiscreteAlarmType_Retain = 10535 DiscreteAlarmType_EnabledState = 10536 DiscreteAlarmType_EnabledState_Id = 10537 DiscreteAlarmType_EnabledState_Name = 10538 DiscreteAlarmType_EnabledState_Number = 10539 DiscreteAlarmType_EnabledState_EffectiveDisplayName = 10540 DiscreteAlarmType_EnabledState_TransitionTime = 10541 DiscreteAlarmType_EnabledState_EffectiveTransitionTime = 10542 DiscreteAlarmType_EnabledState_TrueState = 10543 DiscreteAlarmType_EnabledState_FalseState = 10544 DiscreteAlarmType_Quality = 10545 DiscreteAlarmType_Quality_SourceTimestamp = 10546 DiscreteAlarmType_LastSeverity = 10547 DiscreteAlarmType_LastSeverity_SourceTimestamp = 10548 DiscreteAlarmType_Comment = 10549 DiscreteAlarmType_Comment_SourceTimestamp = 10550 DiscreteAlarmType_ClientUserId = 10551 DiscreteAlarmType_Enable = 10552 DiscreteAlarmType_Disable = 10553 DiscreteAlarmType_AddComment = 10554 DiscreteAlarmType_AddComment_InputArguments = 10555 DiscreteAlarmType_ConditionRefresh = 10556 DiscreteAlarmType_ConditionRefresh_InputArguments = 10557 DiscreteAlarmType_AckedState = 10558 DiscreteAlarmType_AckedState_Id = 10559 DiscreteAlarmType_AckedState_Name = 10560 DiscreteAlarmType_AckedState_Number = 10561 DiscreteAlarmType_AckedState_EffectiveDisplayName = 10562 DiscreteAlarmType_AckedState_TransitionTime = 10563 DiscreteAlarmType_AckedState_EffectiveTransitionTime = 10564 DiscreteAlarmType_AckedState_TrueState = 10565 DiscreteAlarmType_AckedState_FalseState = 10566 DiscreteAlarmType_ConfirmedState = 10567 DiscreteAlarmType_ConfirmedState_Id = 10568 DiscreteAlarmType_ConfirmedState_Name = 10569 DiscreteAlarmType_ConfirmedState_Number = 10570 DiscreteAlarmType_ConfirmedState_EffectiveDisplayName = 10571 DiscreteAlarmType_ConfirmedState_TransitionTime = 10572 DiscreteAlarmType_ConfirmedState_EffectiveTransitionTime = 10573 DiscreteAlarmType_ConfirmedState_TrueState = 10574 DiscreteAlarmType_ConfirmedState_FalseState = 10575 DiscreteAlarmType_Acknowledge = 10576 DiscreteAlarmType_Acknowledge_InputArguments = 10577 DiscreteAlarmType_Confirm = 10578 DiscreteAlarmType_Confirm_InputArguments = 10579 DiscreteAlarmType_ActiveState = 10580 DiscreteAlarmType_ActiveState_Id = 10581 DiscreteAlarmType_ActiveState_Name = 10582 DiscreteAlarmType_ActiveState_Number = 10583 DiscreteAlarmType_ActiveState_EffectiveDisplayName = 10584 DiscreteAlarmType_ActiveState_TransitionTime = 10585 DiscreteAlarmType_ActiveState_EffectiveTransitionTime = 10586 DiscreteAlarmType_ActiveState_TrueState = 10587 DiscreteAlarmType_ActiveState_FalseState = 10588 DiscreteAlarmType_SuppressedState = 10589 DiscreteAlarmType_SuppressedState_Id = 10590 DiscreteAlarmType_SuppressedState_Name = 10591 DiscreteAlarmType_SuppressedState_Number = 10592 DiscreteAlarmType_SuppressedState_EffectiveDisplayName = 10593 DiscreteAlarmType_SuppressedState_TransitionTime = 10594 DiscreteAlarmType_SuppressedState_EffectiveTransitionTime = 10595 DiscreteAlarmType_SuppressedState_TrueState = 10596 DiscreteAlarmType_SuppressedState_FalseState = 10597 DiscreteAlarmType_ShelvingState = 10598 DiscreteAlarmType_ShelvingState_CurrentState = 10599 DiscreteAlarmType_ShelvingState_CurrentState_Id = 10600 DiscreteAlarmType_ShelvingState_CurrentState_Name = 10601 DiscreteAlarmType_ShelvingState_CurrentState_Number = 10602 DiscreteAlarmType_ShelvingState_CurrentState_EffectiveDisplayName = 10603 DiscreteAlarmType_ShelvingState_LastTransition = 10604 DiscreteAlarmType_ShelvingState_LastTransition_Id = 10605 DiscreteAlarmType_ShelvingState_LastTransition_Name = 10606 DiscreteAlarmType_ShelvingState_LastTransition_Number = 10607 DiscreteAlarmType_ShelvingState_LastTransition_TransitionTime = 10608 DiscreteAlarmType_ShelvingState_UnshelveTime = 10609 DiscreteAlarmType_ShelvingState_Unshelve = 10631 DiscreteAlarmType_ShelvingState_OneShotShelve = 10632 DiscreteAlarmType_ShelvingState_TimedShelve = 10633 DiscreteAlarmType_ShelvingState_TimedShelve_InputArguments = 10634 DiscreteAlarmType_SuppressedOrShelved = 10635 DiscreteAlarmType_MaxTimeShelved = 10636 OffNormalAlarmType = 10637 OffNormalAlarmType_EventId = 10638 OffNormalAlarmType_EventType = 10639 OffNormalAlarmType_SourceNode = 10640 OffNormalAlarmType_SourceName = 10641 OffNormalAlarmType_Time = 10642 OffNormalAlarmType_ReceiveTime = 10643 OffNormalAlarmType_LocalTime = 10644 OffNormalAlarmType_Message = 10645 OffNormalAlarmType_Severity = 10646 OffNormalAlarmType_ConditionName = 10647 OffNormalAlarmType_BranchId = 10648 OffNormalAlarmType_Retain = 10649 OffNormalAlarmType_EnabledState = 10650 OffNormalAlarmType_EnabledState_Id = 10651 OffNormalAlarmType_EnabledState_Name = 10652 OffNormalAlarmType_EnabledState_Number = 10653 OffNormalAlarmType_EnabledState_EffectiveDisplayName = 10654 OffNormalAlarmType_EnabledState_TransitionTime = 10655 OffNormalAlarmType_EnabledState_EffectiveTransitionTime = 10656 OffNormalAlarmType_EnabledState_TrueState = 10657 OffNormalAlarmType_EnabledState_FalseState = 10658 OffNormalAlarmType_Quality = 10659 OffNormalAlarmType_Quality_SourceTimestamp = 10660 OffNormalAlarmType_LastSeverity = 10661 OffNormalAlarmType_LastSeverity_SourceTimestamp = 10662 OffNormalAlarmType_Comment = 10663 OffNormalAlarmType_Comment_SourceTimestamp = 10664 OffNormalAlarmType_ClientUserId = 10665 OffNormalAlarmType_Enable = 10666 OffNormalAlarmType_Disable = 10667 OffNormalAlarmType_AddComment = 10668 OffNormalAlarmType_AddComment_InputArguments = 10669 OffNormalAlarmType_ConditionRefresh = 10670 OffNormalAlarmType_ConditionRefresh_InputArguments = 10671 OffNormalAlarmType_AckedState = 10672 OffNormalAlarmType_AckedState_Id = 10673 OffNormalAlarmType_AckedState_Name = 10674 OffNormalAlarmType_AckedState_Number = 10675 OffNormalAlarmType_AckedState_EffectiveDisplayName = 10676 OffNormalAlarmType_AckedState_TransitionTime = 10677 OffNormalAlarmType_AckedState_EffectiveTransitionTime = 10678 OffNormalAlarmType_AckedState_TrueState = 10679 OffNormalAlarmType_AckedState_FalseState = 10680 OffNormalAlarmType_ConfirmedState = 10681 OffNormalAlarmType_ConfirmedState_Id = 10682 OffNormalAlarmType_ConfirmedState_Name = 10683 OffNormalAlarmType_ConfirmedState_Number = 10684 OffNormalAlarmType_ConfirmedState_EffectiveDisplayName = 10685 OffNormalAlarmType_ConfirmedState_TransitionTime = 10686 OffNormalAlarmType_ConfirmedState_EffectiveTransitionTime = 10687 OffNormalAlarmType_ConfirmedState_TrueState = 10688 OffNormalAlarmType_ConfirmedState_FalseState = 10689 OffNormalAlarmType_Acknowledge = 10690 OffNormalAlarmType_Acknowledge_InputArguments = 10691 OffNormalAlarmType_Confirm = 10692 OffNormalAlarmType_Confirm_InputArguments = 10693 OffNormalAlarmType_ActiveState = 10694 OffNormalAlarmType_ActiveState_Id = 10695 OffNormalAlarmType_ActiveState_Name = 10696 OffNormalAlarmType_ActiveState_Number = 10697 OffNormalAlarmType_ActiveState_EffectiveDisplayName = 10698 OffNormalAlarmType_ActiveState_TransitionTime = 10699 OffNormalAlarmType_ActiveState_EffectiveTransitionTime = 10700 OffNormalAlarmType_ActiveState_TrueState = 10701 OffNormalAlarmType_ActiveState_FalseState = 10702 OffNormalAlarmType_SuppressedState = 10703 OffNormalAlarmType_SuppressedState_Id = 10704 OffNormalAlarmType_SuppressedState_Name = 10705 OffNormalAlarmType_SuppressedState_Number = 10706 OffNormalAlarmType_SuppressedState_EffectiveDisplayName = 10707 OffNormalAlarmType_SuppressedState_TransitionTime = 10708 OffNormalAlarmType_SuppressedState_EffectiveTransitionTime = 10709 OffNormalAlarmType_SuppressedState_TrueState = 10710 OffNormalAlarmType_SuppressedState_FalseState = 10711 OffNormalAlarmType_ShelvingState = 10712 OffNormalAlarmType_ShelvingState_CurrentState = 10713 OffNormalAlarmType_ShelvingState_CurrentState_Id = 10714 OffNormalAlarmType_ShelvingState_CurrentState_Name = 10715 OffNormalAlarmType_ShelvingState_CurrentState_Number = 10716 OffNormalAlarmType_ShelvingState_CurrentState_EffectiveDisplayName = 10717 OffNormalAlarmType_ShelvingState_LastTransition = 10718 OffNormalAlarmType_ShelvingState_LastTransition_Id = 10719 OffNormalAlarmType_ShelvingState_LastTransition_Name = 10720 OffNormalAlarmType_ShelvingState_LastTransition_Number = 10721 OffNormalAlarmType_ShelvingState_LastTransition_TransitionTime = 10722 OffNormalAlarmType_ShelvingState_UnshelveTime = 10723 OffNormalAlarmType_ShelvingState_Unshelve = 10745 OffNormalAlarmType_ShelvingState_OneShotShelve = 10746 OffNormalAlarmType_ShelvingState_TimedShelve = 10747 OffNormalAlarmType_ShelvingState_TimedShelve_InputArguments = 10748 OffNormalAlarmType_SuppressedOrShelved = 10749 OffNormalAlarmType_MaxTimeShelved = 10750 TripAlarmType = 10751 TripAlarmType_EventId = 10752 TripAlarmType_EventType = 10753 TripAlarmType_SourceNode = 10754 TripAlarmType_SourceName = 10755 TripAlarmType_Time = 10756 TripAlarmType_ReceiveTime = 10757 TripAlarmType_LocalTime = 10758 TripAlarmType_Message = 10759 TripAlarmType_Severity = 10760 TripAlarmType_ConditionName = 10761 TripAlarmType_BranchId = 10762 TripAlarmType_Retain = 10763 TripAlarmType_EnabledState = 10764 TripAlarmType_EnabledState_Id = 10765 TripAlarmType_EnabledState_Name = 10766 TripAlarmType_EnabledState_Number = 10767 TripAlarmType_EnabledState_EffectiveDisplayName = 10768 TripAlarmType_EnabledState_TransitionTime = 10769 TripAlarmType_EnabledState_EffectiveTransitionTime = 10770 TripAlarmType_EnabledState_TrueState = 10771 TripAlarmType_EnabledState_FalseState = 10772 TripAlarmType_Quality = 10773 TripAlarmType_Quality_SourceTimestamp = 10774 TripAlarmType_LastSeverity = 10775 TripAlarmType_LastSeverity_SourceTimestamp = 10776 TripAlarmType_Comment = 10777 TripAlarmType_Comment_SourceTimestamp = 10778 TripAlarmType_ClientUserId = 10779 TripAlarmType_Enable = 10780 TripAlarmType_Disable = 10781 TripAlarmType_AddComment = 10782 TripAlarmType_AddComment_InputArguments = 10783 TripAlarmType_ConditionRefresh = 10784 TripAlarmType_ConditionRefresh_InputArguments = 10785 TripAlarmType_AckedState = 10786 TripAlarmType_AckedState_Id = 10787 TripAlarmType_AckedState_Name = 10788 TripAlarmType_AckedState_Number = 10789 TripAlarmType_AckedState_EffectiveDisplayName = 10790 TripAlarmType_AckedState_TransitionTime = 10791 TripAlarmType_AckedState_EffectiveTransitionTime = 10792 TripAlarmType_AckedState_TrueState = 10793 TripAlarmType_AckedState_FalseState = 10794 TripAlarmType_ConfirmedState = 10795 TripAlarmType_ConfirmedState_Id = 10796 TripAlarmType_ConfirmedState_Name = 10797 TripAlarmType_ConfirmedState_Number = 10798 TripAlarmType_ConfirmedState_EffectiveDisplayName = 10799 TripAlarmType_ConfirmedState_TransitionTime = 10800 TripAlarmType_ConfirmedState_EffectiveTransitionTime = 10801 TripAlarmType_ConfirmedState_TrueState = 10802 TripAlarmType_ConfirmedState_FalseState = 10803 TripAlarmType_Acknowledge = 10804 TripAlarmType_Acknowledge_InputArguments = 10805 TripAlarmType_Confirm = 10806 TripAlarmType_Confirm_InputArguments = 10807 TripAlarmType_ActiveState = 10808 TripAlarmType_ActiveState_Id = 10809 TripAlarmType_ActiveState_Name = 10810 TripAlarmType_ActiveState_Number = 10811 TripAlarmType_ActiveState_EffectiveDisplayName = 10812 TripAlarmType_ActiveState_TransitionTime = 10813 TripAlarmType_ActiveState_EffectiveTransitionTime = 10814 TripAlarmType_ActiveState_TrueState = 10815 TripAlarmType_ActiveState_FalseState = 10816 TripAlarmType_SuppressedState = 10817 TripAlarmType_SuppressedState_Id = 10818 TripAlarmType_SuppressedState_Name = 10819 TripAlarmType_SuppressedState_Number = 10820 TripAlarmType_SuppressedState_EffectiveDisplayName = 10821 TripAlarmType_SuppressedState_TransitionTime = 10822 TripAlarmType_SuppressedState_EffectiveTransitionTime = 10823 TripAlarmType_SuppressedState_TrueState = 10824 TripAlarmType_SuppressedState_FalseState = 10825 TripAlarmType_ShelvingState = 10826 TripAlarmType_ShelvingState_CurrentState = 10827 TripAlarmType_ShelvingState_CurrentState_Id = 10828 TripAlarmType_ShelvingState_CurrentState_Name = 10829 TripAlarmType_ShelvingState_CurrentState_Number = 10830 TripAlarmType_ShelvingState_CurrentState_EffectiveDisplayName = 10831 TripAlarmType_ShelvingState_LastTransition = 10832 TripAlarmType_ShelvingState_LastTransition_Id = 10833 TripAlarmType_ShelvingState_LastTransition_Name = 10834 TripAlarmType_ShelvingState_LastTransition_Number = 10835 TripAlarmType_ShelvingState_LastTransition_TransitionTime = 10836 TripAlarmType_ShelvingState_UnshelveTime = 10837 TripAlarmType_ShelvingState_Unshelve = 10859 TripAlarmType_ShelvingState_OneShotShelve = 10860 TripAlarmType_ShelvingState_TimedShelve = 10861 TripAlarmType_ShelvingState_TimedShelve_InputArguments = 10862 TripAlarmType_SuppressedOrShelved = 10863 TripAlarmType_MaxTimeShelved = 10864 AuditConditionShelvingEventType = 11093 AuditConditionShelvingEventType_EventId = 11094 AuditConditionShelvingEventType_EventType = 11095 AuditConditionShelvingEventType_SourceNode = 11096 AuditConditionShelvingEventType_SourceName = 11097 AuditConditionShelvingEventType_Time = 11098 AuditConditionShelvingEventType_ReceiveTime = 11099 AuditConditionShelvingEventType_LocalTime = 11100 AuditConditionShelvingEventType_Message = 11101 AuditConditionShelvingEventType_Severity = 11102 AuditConditionShelvingEventType_ActionTimeStamp = 11103 AuditConditionShelvingEventType_Status = 11104 AuditConditionShelvingEventType_ServerId = 11105 AuditConditionShelvingEventType_ClientAuditEntryId = 11106 AuditConditionShelvingEventType_ClientUserId = 11107 AuditConditionShelvingEventType_MethodId = 11108 AuditConditionShelvingEventType_InputArguments = 11109 TwoStateVariableType_TrueState = 11110 TwoStateVariableType_FalseState = 11111 ConditionType_ConditionClassId = 11112 ConditionType_ConditionClassName = 11113 DialogConditionType_ConditionClassId = 11114 DialogConditionType_ConditionClassName = 11115 AcknowledgeableConditionType_ConditionClassId = 11116 AcknowledgeableConditionType_ConditionClassName = 11117 AlarmConditionType_ConditionClassId = 11118 AlarmConditionType_ConditionClassName = 11119 AlarmConditionType_InputNode = 11120 LimitAlarmType_ConditionClassId = 11121 LimitAlarmType_ConditionClassName = 11122 LimitAlarmType_InputNode = 11123 LimitAlarmType_HighHighLimit = 11124 LimitAlarmType_HighLimit = 11125 LimitAlarmType_LowLimit = 11126 LimitAlarmType_LowLowLimit = 11127 ExclusiveLimitAlarmType_ConditionClassId = 11128 ExclusiveLimitAlarmType_ConditionClassName = 11129 ExclusiveLimitAlarmType_InputNode = 11130 ExclusiveLevelAlarmType_ConditionClassId = 11131 ExclusiveLevelAlarmType_ConditionClassName = 11132 ExclusiveLevelAlarmType_InputNode = 11133 ExclusiveRateOfChangeAlarmType_ConditionClassId = 11134 ExclusiveRateOfChangeAlarmType_ConditionClassName = 11135 ExclusiveRateOfChangeAlarmType_InputNode = 11136 ExclusiveDeviationAlarmType_ConditionClassId = 11137 ExclusiveDeviationAlarmType_ConditionClassName = 11138 ExclusiveDeviationAlarmType_InputNode = 11139 NonExclusiveLimitAlarmType_ConditionClassId = 11140 NonExclusiveLimitAlarmType_ConditionClassName = 11141 NonExclusiveLimitAlarmType_InputNode = 11142 NonExclusiveLevelAlarmType_ConditionClassId = 11143 NonExclusiveLevelAlarmType_ConditionClassName = 11144 NonExclusiveLevelAlarmType_InputNode = 11145 NonExclusiveRateOfChangeAlarmType_ConditionClassId = 11146 NonExclusiveRateOfChangeAlarmType_ConditionClassName = 11147 NonExclusiveRateOfChangeAlarmType_InputNode = 11148 NonExclusiveDeviationAlarmType_ConditionClassId = 11149 NonExclusiveDeviationAlarmType_ConditionClassName = 11150 NonExclusiveDeviationAlarmType_InputNode = 11151 DiscreteAlarmType_ConditionClassId = 11152 DiscreteAlarmType_ConditionClassName = 11153 DiscreteAlarmType_InputNode = 11154 OffNormalAlarmType_ConditionClassId = 11155 OffNormalAlarmType_ConditionClassName = 11156 OffNormalAlarmType_InputNode = 11157 OffNormalAlarmType_NormalState = 11158 TripAlarmType_ConditionClassId = 11159 TripAlarmType_ConditionClassName = 11160 TripAlarmType_InputNode = 11161 TripAlarmType_NormalState = 11162 BaseConditionClassType = 11163 ProcessConditionClassType = 11164 MaintenanceConditionClassType = 11165 SystemConditionClassType = 11166 HistoricalDataConfigurationType_AggregateConfiguration_TreatUncertainAsBad = 11168 HistoricalDataConfigurationType_AggregateConfiguration_PercentDataBad = 11169 HistoricalDataConfigurationType_AggregateConfiguration_PercentDataGood = 11170 HistoricalDataConfigurationType_AggregateConfiguration_UseSlopedExtrapolation = 11171 HistoryServerCapabilitiesType_AggregateFunctions = 11172 AggregateConfigurationType = 11187 AggregateConfigurationType_TreatUncertainAsBad = 11188 AggregateConfigurationType_PercentDataBad = 11189 AggregateConfigurationType_PercentDataGood = 11190 AggregateConfigurationType_UseSlopedExtrapolation = 11191 HistoryServerCapabilities = 11192 HistoryServerCapabilities_AccessHistoryDataCapability = 11193 HistoryServerCapabilities_InsertDataCapability = 11196 HistoryServerCapabilities_ReplaceDataCapability = 11197 HistoryServerCapabilities_UpdateDataCapability = 11198 HistoryServerCapabilities_DeleteRawCapability = 11199 HistoryServerCapabilities_DeleteAtTimeCapability = 11200 HistoryServerCapabilities_AggregateFunctions = 11201 HAConfiguration = 11202 HAConfiguration_AggregateConfiguration = 11203 HAConfiguration_AggregateConfiguration_TreatUncertainAsBad = 11204 HAConfiguration_AggregateConfiguration_PercentDataBad = 11205 HAConfiguration_AggregateConfiguration_PercentDataGood = 11206 HAConfiguration_AggregateConfiguration_UseSlopedExtrapolation = 11207 HAConfiguration_Stepped = 11208 HAConfiguration_Definition = 11209 HAConfiguration_MaxTimeInterval = 11210 HAConfiguration_MinTimeInterval = 11211 HAConfiguration_ExceptionDeviation = 11212 HAConfiguration_ExceptionDeviationFormat = 11213 Annotations = 11214 HistoricalEventFilter = 11215 ModificationInfo = 11216 HistoryModifiedData = 11217 ModificationInfo_Encoding_DefaultXml = 11218 HistoryModifiedData_Encoding_DefaultXml = 11219 ModificationInfo_Encoding_DefaultBinary = 11226 HistoryModifiedData_Encoding_DefaultBinary = 11227 HistoryUpdateType = 11234 MultiStateValueDiscreteType = 11238 MultiStateValueDiscreteType_Definition = 11239 MultiStateValueDiscreteType_ValuePrecision = 11240 MultiStateValueDiscreteType_EnumValues = 11241 HistoryServerCapabilities_AccessHistoryEventsCapability = 11242 HistoryServerCapabilitiesType_MaxReturnDataValues = 11268 HistoryServerCapabilitiesType_MaxReturnEventValues = 11269 HistoryServerCapabilitiesType_InsertAnnotationCapability = 11270 HistoryServerCapabilities_MaxReturnDataValues = 11273 HistoryServerCapabilities_MaxReturnEventValues = 11274 HistoryServerCapabilities_InsertAnnotationCapability = 11275 HistoryServerCapabilitiesType_InsertEventCapability = 11278 HistoryServerCapabilitiesType_ReplaceEventCapability = 11279 HistoryServerCapabilitiesType_UpdateEventCapability = 11280 HistoryServerCapabilities_InsertEventCapability = 11281 HistoryServerCapabilities_ReplaceEventCapability = 11282 HistoryServerCapabilities_UpdateEventCapability = 11283 AggregateFunction_TimeAverage2 = 11285 AggregateFunction_Minimum2 = 11286 AggregateFunction_Maximum2 = 11287 AggregateFunction_Range2 = 11288 AggregateFunction_WorstQuality2 = 11292 PerformUpdateType = 11293 UpdateStructureDataDetails = 11295 UpdateStructureDataDetails_Encoding_DefaultXml = 11296 UpdateStructureDataDetails_Encoding_DefaultBinary = 11300 AggregateFunction_Total2 = 11304 AggregateFunction_MinimumActualTime2 = 11305 AggregateFunction_MaximumActualTime2 = 11306 AggregateFunction_DurationInStateZero = 11307 AggregateFunction_DurationInStateNonZero = 11308 Server_ServerRedundancy_CurrentServerId = 11312 Server_ServerRedundancy_RedundantServerArray = 11313 Server_ServerRedundancy_ServerUriArray = 11314 ShelvedStateMachineType_UnshelvedToTimedShelved_TransitionNumber = 11322 ShelvedStateMachineType_UnshelvedToOneShotShelved_TransitionNumber = 11323 ShelvedStateMachineType_TimedShelvedToUnshelved_TransitionNumber = 11324 ShelvedStateMachineType_TimedShelvedToOneShotShelved_TransitionNumber = 11325 ShelvedStateMachineType_OneShotShelvedToUnshelved_TransitionNumber = 11326 ShelvedStateMachineType_OneShotShelvedToTimedShelved_TransitionNumber = 11327 ExclusiveLimitStateMachineType_LowLowToLow_TransitionNumber = 11340 ExclusiveLimitStateMachineType_LowToLowLow_TransitionNumber = 11341 ExclusiveLimitStateMachineType_HighHighToHigh_TransitionNumber = 11342 ExclusiveLimitStateMachineType_HighToHighHigh_TransitionNumber = 11343 AggregateFunction_StandardDeviationSample = 11426 AggregateFunction_StandardDeviationPopulation = 11427 AggregateFunction_VarianceSample = 11428 AggregateFunction_VariancePopulation = 11429 EnumStrings = 11432 ValueAsText = 11433 ProgressEventType = 11436 ProgressEventType_EventId = 11437 ProgressEventType_EventType = 11438 ProgressEventType_SourceNode = 11439 ProgressEventType_SourceName = 11440 ProgressEventType_Time = 11441 ProgressEventType_ReceiveTime = 11442 ProgressEventType_LocalTime = 11443 ProgressEventType_Message = 11444 ProgressEventType_Severity = 11445 SystemStatusChangeEventType = 11446 SystemStatusChangeEventType_EventId = 11447 SystemStatusChangeEventType_EventType = 11448 SystemStatusChangeEventType_SourceNode = 11449 SystemStatusChangeEventType_SourceName = 11450 SystemStatusChangeEventType_Time = 11451 SystemStatusChangeEventType_ReceiveTime = 11452 SystemStatusChangeEventType_LocalTime = 11453 SystemStatusChangeEventType_Message = 11454 SystemStatusChangeEventType_Severity = 11455 TransitionVariableType_EffectiveTransitionTime = 11456 FiniteTransitionVariableType_EffectiveTransitionTime = 11457 StateMachineType_LastTransition_EffectiveTransitionTime = 11458 FiniteStateMachineType_LastTransition_EffectiveTransitionTime = 11459 TransitionEventType_Transition_EffectiveTransitionTime = 11460 MultiStateValueDiscreteType_ValueAsText = 11461 ProgramTransitionEventType_Transition_EffectiveTransitionTime = 11462 ProgramTransitionAuditEventType_Transition_EffectiveTransitionTime = 11463 ProgramStateMachineType_LastTransition_EffectiveTransitionTime = 11464 ShelvedStateMachineType_LastTransition_EffectiveTransitionTime = 11465 AlarmConditionType_ShelvingState_LastTransition_EffectiveTransitionTime = 11466 LimitAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime = 11467 ExclusiveLimitStateMachineType_LastTransition_EffectiveTransitionTime = 11468 ExclusiveLimitAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime = 11469 ExclusiveLimitAlarmType_LimitState_LastTransition_EffectiveTransitionTime = 11470 ExclusiveLevelAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime = 11471 ExclusiveLevelAlarmType_LimitState_LastTransition_EffectiveTransitionTime = 11472 ExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime = 11473 ExclusiveRateOfChangeAlarmType_LimitState_LastTransition_EffectiveTransitionTime = 11474 ExclusiveDeviationAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime = 11475 ExclusiveDeviationAlarmType_LimitState_LastTransition_EffectiveTransitionTime = 11476 NonExclusiveLimitAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime = 11477 NonExclusiveLevelAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime = 11478 NonExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime = 11479 NonExclusiveDeviationAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime = 11480 DiscreteAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime = 11481 OffNormalAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime = 11482 TripAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime = 11483 AuditActivateSessionEventType_SecureChannelId = 11485 OptionSetType = 11487 OptionSetType_OptionSetValues = 11488 ServerType_GetMonitoredItems = 11489 ServerType_GetMonitoredItems_InputArguments = 11490 ServerType_GetMonitoredItems_OutputArguments = 11491 Server_GetMonitoredItems = 11492 Server_GetMonitoredItems_InputArguments = 11493 Server_GetMonitoredItems_OutputArguments = 11494 GetMonitoredItemsMethodType = 11495 GetMonitoredItemsMethodType_InputArguments = 11496 GetMonitoredItemsMethodType_OutputArguments = 11497 MaxStringLength = 11498 HistoricalDataConfigurationType_StartOfArchive = 11499 HistoricalDataConfigurationType_StartOfOnlineArchive = 11500 HistoryServerCapabilitiesType_DeleteEventCapability = 11501 HistoryServerCapabilities_DeleteEventCapability = 11502 HAConfiguration_StartOfArchive = 11503 HAConfiguration_StartOfOnlineArchive = 11504 AggregateFunction_StartBound = 11505 AggregateFunction_EndBound = 11506 AggregateFunction_DeltaBounds = 11507 ModellingRule_OptionalPlaceholder = 11508 ModellingRule_OptionalPlaceholder_NamingRule = 11509 ModellingRule_MandatoryPlaceholder = 11510 ModellingRule_MandatoryPlaceholder_NamingRule = 11511 MaxArrayLength = 11512 EngineeringUnits = 11513 ServerType_ServerCapabilities_MaxArrayLength = 11514 ServerType_ServerCapabilities_MaxStringLength = 11515 ServerType_ServerCapabilities_OperationLimits = 11516 ServerType_ServerCapabilities_OperationLimits_MaxNodesPerRead = 11517 ServerType_ServerCapabilities_OperationLimits_MaxNodesPerWrite = 11519 ServerType_ServerCapabilities_OperationLimits_MaxNodesPerMethodCall = 11521 ServerType_ServerCapabilities_OperationLimits_MaxNodesPerBrowse = 11522 ServerType_ServerCapabilities_OperationLimits_MaxNodesPerRegisterNodes = 11523 ServerType_ServerCapabilities_OperationLimits_MaxNodesPerTranslateBrowsePathsToNodeIds = 11524 ServerType_ServerCapabilities_OperationLimits_MaxNodesPerNodeManagement = 11525 ServerType_ServerCapabilities_OperationLimits_MaxMonitoredItemsPerCall = 11526 ServerType_Namespaces = 11527 ServerType_Namespaces_AddressSpaceFile = 11528 ServerType_Namespaces_AddressSpaceFile_Size = 11529 ServerType_Namespaces_AddressSpaceFile_OpenCount = 11532 ServerType_Namespaces_AddressSpaceFile_Open = 11533 ServerType_Namespaces_AddressSpaceFile_Open_InputArguments = 11534 ServerType_Namespaces_AddressSpaceFile_Open_OutputArguments = 11535 ServerType_Namespaces_AddressSpaceFile_Close = 11536 ServerType_Namespaces_AddressSpaceFile_Close_InputArguments = 11537 ServerType_Namespaces_AddressSpaceFile_Read = 11538 ServerType_Namespaces_AddressSpaceFile_Read_InputArguments = 11539 ServerType_Namespaces_AddressSpaceFile_Read_OutputArguments = 11540 ServerType_Namespaces_AddressSpaceFile_Write = 11541 ServerType_Namespaces_AddressSpaceFile_Write_InputArguments = 11542 ServerType_Namespaces_AddressSpaceFile_GetPosition = 11543 ServerType_Namespaces_AddressSpaceFile_GetPosition_InputArguments = 11544 ServerType_Namespaces_AddressSpaceFile_GetPosition_OutputArguments = 11545 ServerType_Namespaces_AddressSpaceFile_SetPosition = 11546 ServerType_Namespaces_AddressSpaceFile_SetPosition_InputArguments = 11547 ServerType_Namespaces_AddressSpaceFile_ExportNamespace = 11548 ServerCapabilitiesType_MaxArrayLength = 11549 ServerCapabilitiesType_MaxStringLength = 11550 ServerCapabilitiesType_OperationLimits = 11551 ServerCapabilitiesType_OperationLimits_MaxNodesPerRead = 11552 ServerCapabilitiesType_OperationLimits_MaxNodesPerWrite = 11554 ServerCapabilitiesType_OperationLimits_MaxNodesPerMethodCall = 11556 ServerCapabilitiesType_OperationLimits_MaxNodesPerBrowse = 11557 ServerCapabilitiesType_OperationLimits_MaxNodesPerRegisterNodes = 11558 ServerCapabilitiesType_OperationLimits_MaxNodesPerTranslateBrowsePathsToNodeIds = 11559 ServerCapabilitiesType_OperationLimits_MaxNodesPerNodeManagement = 11560 ServerCapabilitiesType_OperationLimits_MaxMonitoredItemsPerCall = 11561 ServerCapabilitiesType_VendorCapability = 11562 OperationLimitsType = 11564 OperationLimitsType_MaxNodesPerRead = 11565 OperationLimitsType_MaxNodesPerWrite = 11567 OperationLimitsType_MaxNodesPerMethodCall = 11569 OperationLimitsType_MaxNodesPerBrowse = 11570 OperationLimitsType_MaxNodesPerRegisterNodes = 11571 OperationLimitsType_MaxNodesPerTranslateBrowsePathsToNodeIds = 11572 OperationLimitsType_MaxNodesPerNodeManagement = 11573 OperationLimitsType_MaxMonitoredItemsPerCall = 11574 FileType = 11575 FileType_Size = 11576 FileType_OpenCount = 11579 FileType_Open = 11580 FileType_Open_InputArguments = 11581 FileType_Open_OutputArguments = 11582 FileType_Close = 11583 FileType_Close_InputArguments = 11584 FileType_Read = 11585 FileType_Read_InputArguments = 11586 FileType_Read_OutputArguments = 11587 FileType_Write = 11588 FileType_Write_InputArguments = 11589 FileType_GetPosition = 11590 FileType_GetPosition_InputArguments = 11591 FileType_GetPosition_OutputArguments = 11592 FileType_SetPosition = 11593 FileType_SetPosition_InputArguments = 11594 AddressSpaceFileType = 11595 AddressSpaceFileType_Size = 11596 AddressSpaceFileType_OpenCount = 11599 AddressSpaceFileType_Open = 11600 AddressSpaceFileType_Open_InputArguments = 11601 AddressSpaceFileType_Open_OutputArguments = 11602 AddressSpaceFileType_Close = 11603 AddressSpaceFileType_Close_InputArguments = 11604 AddressSpaceFileType_Read = 11605 AddressSpaceFileType_Read_InputArguments = 11606 AddressSpaceFileType_Read_OutputArguments = 11607 AddressSpaceFileType_Write = 11608 AddressSpaceFileType_Write_InputArguments = 11609 AddressSpaceFileType_GetPosition = 11610 AddressSpaceFileType_GetPosition_InputArguments = 11611 AddressSpaceFileType_GetPosition_OutputArguments = 11612 AddressSpaceFileType_SetPosition = 11613 AddressSpaceFileType_SetPosition_InputArguments = 11614 AddressSpaceFileType_ExportNamespace = 11615 NamespaceMetadataType = 11616 NamespaceMetadataType_NamespaceUri = 11617 NamespaceMetadataType_NamespaceVersion = 11618 NamespaceMetadataType_NamespacePublicationDate = 11619 NamespaceMetadataType_IsNamespaceSubset = 11620 NamespaceMetadataType_StaticNodeIdIdentifierTypes = 11621 NamespaceMetadataType_StaticNumericNodeIdRange = 11622 NamespaceMetadataType_StaticStringNodeIdPattern = 11623 NamespaceMetadataType_NamespaceFile = 11624 NamespaceMetadataType_NamespaceFile_Size = 11625 NamespaceMetadataType_NamespaceFile_OpenCount = 11628 NamespaceMetadataType_NamespaceFile_Open = 11629 NamespaceMetadataType_NamespaceFile_Open_InputArguments = 11630 NamespaceMetadataType_NamespaceFile_Open_OutputArguments = 11631 NamespaceMetadataType_NamespaceFile_Close = 11632 NamespaceMetadataType_NamespaceFile_Close_InputArguments = 11633 NamespaceMetadataType_NamespaceFile_Read = 11634 NamespaceMetadataType_NamespaceFile_Read_InputArguments = 11635 NamespaceMetadataType_NamespaceFile_Read_OutputArguments = 11636 NamespaceMetadataType_NamespaceFile_Write = 11637 NamespaceMetadataType_NamespaceFile_Write_InputArguments = 11638 NamespaceMetadataType_NamespaceFile_GetPosition = 11639 NamespaceMetadataType_NamespaceFile_GetPosition_InputArguments = 11640 NamespaceMetadataType_NamespaceFile_GetPosition_OutputArguments = 11641 NamespaceMetadataType_NamespaceFile_SetPosition = 11642 NamespaceMetadataType_NamespaceFile_SetPosition_InputArguments = 11643 NamespaceMetadataType_NamespaceFile_ExportNamespace = 11644 NamespacesType = 11645 NamespacesType_NamespaceIdentifier = 11646 NamespacesType_NamespaceIdentifier_NamespaceUri = 11647 NamespacesType_NamespaceIdentifier_NamespaceVersion = 11648 NamespacesType_NamespaceIdentifier_NamespacePublicationDate = 11649 NamespacesType_NamespaceIdentifier_IsNamespaceSubset = 11650 NamespacesType_NamespaceIdentifier_StaticNodeIdIdentifierTypes = 11651 NamespacesType_NamespaceIdentifier_StaticNumericNodeIdRange = 11652 NamespacesType_NamespaceIdentifier_StaticStringNodeIdPattern = 11653 NamespacesType_NamespaceIdentifier_NamespaceFile = 11654 NamespacesType_NamespaceIdentifier_NamespaceFile_Size = 11655 NamespacesType_NamespaceIdentifier_NamespaceFile_OpenCount = 11658 NamespacesType_NamespaceIdentifier_NamespaceFile_Open = 11659 NamespacesType_NamespaceIdentifier_NamespaceFile_Open_InputArguments = 11660 NamespacesType_NamespaceIdentifier_NamespaceFile_Open_OutputArguments = 11661 NamespacesType_NamespaceIdentifier_NamespaceFile_Close = 11662 NamespacesType_NamespaceIdentifier_NamespaceFile_Close_InputArguments = 11663 NamespacesType_NamespaceIdentifier_NamespaceFile_Read = 11664 NamespacesType_NamespaceIdentifier_NamespaceFile_Read_InputArguments = 11665 NamespacesType_NamespaceIdentifier_NamespaceFile_Read_OutputArguments = 11666 NamespacesType_NamespaceIdentifier_NamespaceFile_Write = 11667 NamespacesType_NamespaceIdentifier_NamespaceFile_Write_InputArguments = 11668 NamespacesType_NamespaceIdentifier_NamespaceFile_GetPosition = 11669 NamespacesType_NamespaceIdentifier_NamespaceFile_GetPosition_InputArguments = 11670 NamespacesType_NamespaceIdentifier_NamespaceFile_GetPosition_OutputArguments = 11671 NamespacesType_NamespaceIdentifier_NamespaceFile_SetPosition = 11672 NamespacesType_NamespaceIdentifier_NamespaceFile_SetPosition_InputArguments = 11673 NamespacesType_NamespaceIdentifier_NamespaceFile_ExportNamespace = 11674 NamespacesType_AddressSpaceFile = 11675 NamespacesType_AddressSpaceFile_Size = 11676 NamespacesType_AddressSpaceFile_OpenCount = 11679 NamespacesType_AddressSpaceFile_Open = 11680 NamespacesType_AddressSpaceFile_Open_InputArguments = 11681 NamespacesType_AddressSpaceFile_Open_OutputArguments = 11682 NamespacesType_AddressSpaceFile_Close = 11683 NamespacesType_AddressSpaceFile_Close_InputArguments = 11684 NamespacesType_AddressSpaceFile_Read = 11685 NamespacesType_AddressSpaceFile_Read_InputArguments = 11686 NamespacesType_AddressSpaceFile_Read_OutputArguments = 11687 NamespacesType_AddressSpaceFile_Write = 11688 NamespacesType_AddressSpaceFile_Write_InputArguments = 11689 NamespacesType_AddressSpaceFile_GetPosition = 11690 NamespacesType_AddressSpaceFile_GetPosition_InputArguments = 11691 NamespacesType_AddressSpaceFile_GetPosition_OutputArguments = 11692 NamespacesType_AddressSpaceFile_SetPosition = 11693 NamespacesType_AddressSpaceFile_SetPosition_InputArguments = 11694 NamespacesType_AddressSpaceFile_ExportNamespace = 11695 SystemStatusChangeEventType_SystemState = 11696 SamplingIntervalDiagnosticsType_SampledMonitoredItemsCount = 11697 SamplingIntervalDiagnosticsType_MaxSampledMonitoredItemsCount = 11698 SamplingIntervalDiagnosticsType_DisabledMonitoredItemsSamplingCount = 11699 OptionSetType_BitMask = 11701 Server_ServerCapabilities_MaxArrayLength = 11702 Server_ServerCapabilities_MaxStringLength = 11703 Server_ServerCapabilities_OperationLimits = 11704 Server_ServerCapabilities_OperationLimits_MaxNodesPerRead = 11705 Server_ServerCapabilities_OperationLimits_MaxNodesPerWrite = 11707 Server_ServerCapabilities_OperationLimits_MaxNodesPerMethodCall = 11709 Server_ServerCapabilities_OperationLimits_MaxNodesPerBrowse = 11710 Server_ServerCapabilities_OperationLimits_MaxNodesPerRegisterNodes = 11711 Server_ServerCapabilities_OperationLimits_MaxNodesPerTranslateBrowsePathsToNodeIds = 11712 Server_ServerCapabilities_OperationLimits_MaxNodesPerNodeManagement = 11713 Server_ServerCapabilities_OperationLimits_MaxMonitoredItemsPerCall = 11714 Server_Namespaces = 11715 Server_Namespaces_AddressSpaceFile = 11716 Server_Namespaces_AddressSpaceFile_Size = 11717 Server_Namespaces_AddressSpaceFile_OpenCount = 11720 Server_Namespaces_AddressSpaceFile_Open = 11721 Server_Namespaces_AddressSpaceFile_Open_InputArguments = 11722 Server_Namespaces_AddressSpaceFile_Open_OutputArguments = 11723 Server_Namespaces_AddressSpaceFile_Close = 11724 Server_Namespaces_AddressSpaceFile_Close_InputArguments = 11725 Server_Namespaces_AddressSpaceFile_Read = 11726 Server_Namespaces_AddressSpaceFile_Read_InputArguments = 11727 Server_Namespaces_AddressSpaceFile_Read_OutputArguments = 11728 Server_Namespaces_AddressSpaceFile_Write = 11729 Server_Namespaces_AddressSpaceFile_Write_InputArguments = 11730 Server_Namespaces_AddressSpaceFile_GetPosition = 11731 Server_Namespaces_AddressSpaceFile_GetPosition_InputArguments = 11732 Server_Namespaces_AddressSpaceFile_GetPosition_OutputArguments = 11733 Server_Namespaces_AddressSpaceFile_SetPosition = 11734 Server_Namespaces_AddressSpaceFile_SetPosition_InputArguments = 11735 Server_Namespaces_AddressSpaceFile_ExportNamespace = 11736 BitFieldMaskDataType = 11737 OpenMethodType = 11738 OpenMethodType_InputArguments = 11739 OpenMethodType_OutputArguments = 11740 CloseMethodType = 11741 CloseMethodType_InputArguments = 11742 ReadMethodType = 11743 ReadMethodType_InputArguments = 11744 ReadMethodType_OutputArguments = 11745 WriteMethodType = 11746 WriteMethodType_InputArguments = 11747 GetPositionMethodType = 11748 GetPositionMethodType_InputArguments = 11749 GetPositionMethodType_OutputArguments = 11750 SetPositionMethodType = 11751 SetPositionMethodType_InputArguments = 11752 SystemOffNormalAlarmType = 11753 SystemOffNormalAlarmType_EventId = 11754 SystemOffNormalAlarmType_EventType = 11755 SystemOffNormalAlarmType_SourceNode = 11756 SystemOffNormalAlarmType_SourceName = 11757 SystemOffNormalAlarmType_Time = 11758 SystemOffNormalAlarmType_ReceiveTime = 11759 SystemOffNormalAlarmType_LocalTime = 11760 SystemOffNormalAlarmType_Message = 11761 SystemOffNormalAlarmType_Severity = 11762 SystemOffNormalAlarmType_ConditionClassId = 11763 SystemOffNormalAlarmType_ConditionClassName = 11764 SystemOffNormalAlarmType_ConditionName = 11765 SystemOffNormalAlarmType_BranchId = 11766 SystemOffNormalAlarmType_Retain = 11767 SystemOffNormalAlarmType_EnabledState = 11768 SystemOffNormalAlarmType_EnabledState_Id = 11769 SystemOffNormalAlarmType_EnabledState_Name = 11770 SystemOffNormalAlarmType_EnabledState_Number = 11771 SystemOffNormalAlarmType_EnabledState_EffectiveDisplayName = 11772 SystemOffNormalAlarmType_EnabledState_TransitionTime = 11773 SystemOffNormalAlarmType_EnabledState_EffectiveTransitionTime = 11774 SystemOffNormalAlarmType_EnabledState_TrueState = 11775 SystemOffNormalAlarmType_EnabledState_FalseState = 11776 SystemOffNormalAlarmType_Quality = 11777 SystemOffNormalAlarmType_Quality_SourceTimestamp = 11778 SystemOffNormalAlarmType_LastSeverity = 11779 SystemOffNormalAlarmType_LastSeverity_SourceTimestamp = 11780 SystemOffNormalAlarmType_Comment = 11781 SystemOffNormalAlarmType_Comment_SourceTimestamp = 11782 SystemOffNormalAlarmType_ClientUserId = 11783 SystemOffNormalAlarmType_Disable = 11784 SystemOffNormalAlarmType_Enable = 11785 SystemOffNormalAlarmType_AddComment = 11786 SystemOffNormalAlarmType_AddComment_InputArguments = 11787 SystemOffNormalAlarmType_ConditionRefresh = 11788 SystemOffNormalAlarmType_ConditionRefresh_InputArguments = 11789 SystemOffNormalAlarmType_AckedState = 11790 SystemOffNormalAlarmType_AckedState_Id = 11791 SystemOffNormalAlarmType_AckedState_Name = 11792 SystemOffNormalAlarmType_AckedState_Number = 11793 SystemOffNormalAlarmType_AckedState_EffectiveDisplayName = 11794 SystemOffNormalAlarmType_AckedState_TransitionTime = 11795 SystemOffNormalAlarmType_AckedState_EffectiveTransitionTime = 11796 SystemOffNormalAlarmType_AckedState_TrueState = 11797 SystemOffNormalAlarmType_AckedState_FalseState = 11798 SystemOffNormalAlarmType_ConfirmedState = 11799 SystemOffNormalAlarmType_ConfirmedState_Id = 11800 SystemOffNormalAlarmType_ConfirmedState_Name = 11801 SystemOffNormalAlarmType_ConfirmedState_Number = 11802 SystemOffNormalAlarmType_ConfirmedState_EffectiveDisplayName = 11803 SystemOffNormalAlarmType_ConfirmedState_TransitionTime = 11804 SystemOffNormalAlarmType_ConfirmedState_EffectiveTransitionTime = 11805 SystemOffNormalAlarmType_ConfirmedState_TrueState = 11806 SystemOffNormalAlarmType_ConfirmedState_FalseState = 11807 SystemOffNormalAlarmType_Acknowledge = 11808 SystemOffNormalAlarmType_Acknowledge_InputArguments = 11809 SystemOffNormalAlarmType_Confirm = 11810 SystemOffNormalAlarmType_Confirm_InputArguments = 11811 SystemOffNormalAlarmType_ActiveState = 11812 SystemOffNormalAlarmType_ActiveState_Id = 11813 SystemOffNormalAlarmType_ActiveState_Name = 11814 SystemOffNormalAlarmType_ActiveState_Number = 11815 SystemOffNormalAlarmType_ActiveState_EffectiveDisplayName = 11816 SystemOffNormalAlarmType_ActiveState_TransitionTime = 11817 SystemOffNormalAlarmType_ActiveState_EffectiveTransitionTime = 11818 SystemOffNormalAlarmType_ActiveState_TrueState = 11819 SystemOffNormalAlarmType_ActiveState_FalseState = 11820 SystemOffNormalAlarmType_InputNode = 11821 SystemOffNormalAlarmType_SuppressedState = 11822 SystemOffNormalAlarmType_SuppressedState_Id = 11823 SystemOffNormalAlarmType_SuppressedState_Name = 11824 SystemOffNormalAlarmType_SuppressedState_Number = 11825 SystemOffNormalAlarmType_SuppressedState_EffectiveDisplayName = 11826 SystemOffNormalAlarmType_SuppressedState_TransitionTime = 11827 SystemOffNormalAlarmType_SuppressedState_EffectiveTransitionTime = 11828 SystemOffNormalAlarmType_SuppressedState_TrueState = 11829 SystemOffNormalAlarmType_SuppressedState_FalseState = 11830 SystemOffNormalAlarmType_ShelvingState = 11831 SystemOffNormalAlarmType_ShelvingState_CurrentState = 11832 SystemOffNormalAlarmType_ShelvingState_CurrentState_Id = 11833 SystemOffNormalAlarmType_ShelvingState_CurrentState_Name = 11834 SystemOffNormalAlarmType_ShelvingState_CurrentState_Number = 11835 SystemOffNormalAlarmType_ShelvingState_CurrentState_EffectiveDisplayName = 11836 SystemOffNormalAlarmType_ShelvingState_LastTransition = 11837 SystemOffNormalAlarmType_ShelvingState_LastTransition_Id = 11838 SystemOffNormalAlarmType_ShelvingState_LastTransition_Name = 11839 SystemOffNormalAlarmType_ShelvingState_LastTransition_Number = 11840 SystemOffNormalAlarmType_ShelvingState_LastTransition_TransitionTime = 11841 SystemOffNormalAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime = 11842 SystemOffNormalAlarmType_ShelvingState_UnshelveTime = 11843 SystemOffNormalAlarmType_ShelvingState_Unshelve = 11844 SystemOffNormalAlarmType_ShelvingState_OneShotShelve = 11845 SystemOffNormalAlarmType_ShelvingState_TimedShelve = 11846 SystemOffNormalAlarmType_ShelvingState_TimedShelve_InputArguments = 11847 SystemOffNormalAlarmType_SuppressedOrShelved = 11848 SystemOffNormalAlarmType_MaxTimeShelved = 11849 SystemOffNormalAlarmType_NormalState = 11850 AuditConditionCommentEventType_Comment = 11851 AuditConditionRespondEventType_SelectedResponse = 11852 AuditConditionAcknowledgeEventType_Comment = 11853 AuditConditionConfirmEventType_Comment = 11854 AuditConditionShelvingEventType_ShelvingTime = 11855 AuditProgramTransitionEventType = 11856 AuditProgramTransitionEventType_EventId = 11857 AuditProgramTransitionEventType_EventType = 11858 AuditProgramTransitionEventType_SourceNode = 11859 AuditProgramTransitionEventType_SourceName = 11860 AuditProgramTransitionEventType_Time = 11861 AuditProgramTransitionEventType_ReceiveTime = 11862 AuditProgramTransitionEventType_LocalTime = 11863 AuditProgramTransitionEventType_Message = 11864 AuditProgramTransitionEventType_Severity = 11865 AuditProgramTransitionEventType_ActionTimeStamp = 11866 AuditProgramTransitionEventType_Status = 11867 AuditProgramTransitionEventType_ServerId = 11868 AuditProgramTransitionEventType_ClientAuditEntryId = 11869 AuditProgramTransitionEventType_ClientUserId = 11870 AuditProgramTransitionEventType_MethodId = 11871 AuditProgramTransitionEventType_InputArguments = 11872 AuditProgramTransitionEventType_OldStateId = 11873 AuditProgramTransitionEventType_NewStateId = 11874 AuditProgramTransitionEventType_TransitionNumber = 11875 HistoricalDataConfigurationType_AggregateFunctions = 11876 HAConfiguration_AggregateFunctions = 11877 NodeClass_EnumValues = 11878 InstanceNode = 11879 TypeNode = 11880 NodeAttributesMask_EnumValues = 11881 AttributeWriteMask_EnumValues = 11882 BrowseResultMask_EnumValues = 11883 HistoryUpdateType_EnumValues = 11884 PerformUpdateType_EnumValues = 11885 EnumeratedTestType_EnumValues = 11886 InstanceNode_Encoding_DefaultXml = 11887 TypeNode_Encoding_DefaultXml = 11888 InstanceNode_Encoding_DefaultBinary = 11889 TypeNode_Encoding_DefaultBinary = 11890 SessionDiagnosticsObjectType_SessionDiagnostics_UnauthorizedRequestCount = 11891 SessionDiagnosticsVariableType_UnauthorizedRequestCount = 11892 OpenFileMode = 11939 OpenFileMode_EnumValues = 11940 ModelChangeStructureVerbMask = 11941 ModelChangeStructureVerbMask_EnumValues = 11942 EndpointUrlListDataType = 11943 NetworkGroupDataType = 11944 NonTransparentNetworkRedundancyType = 11945 NonTransparentNetworkRedundancyType_RedundancySupport = 11946 NonTransparentNetworkRedundancyType_ServerUriArray = 11947 NonTransparentNetworkRedundancyType_ServerNetworkGroups = 11948 EndpointUrlListDataType_Encoding_DefaultXml = 11949 NetworkGroupDataType_Encoding_DefaultXml = 11950 OpcUa_XmlSchema_EndpointUrlListDataType = 11951 OpcUa_XmlSchema_EndpointUrlListDataType_DataTypeVersion = 11952 OpcUa_XmlSchema_EndpointUrlListDataType_DictionaryFragment = 11953 OpcUa_XmlSchema_NetworkGroupDataType = 11954 OpcUa_XmlSchema_NetworkGroupDataType_DataTypeVersion = 11955 OpcUa_XmlSchema_NetworkGroupDataType_DictionaryFragment = 11956 EndpointUrlListDataType_Encoding_DefaultBinary = 11957 NetworkGroupDataType_Encoding_DefaultBinary = 11958 OpcUa_BinarySchema_EndpointUrlListDataType = 11959 OpcUa_BinarySchema_EndpointUrlListDataType_DataTypeVersion = 11960 OpcUa_BinarySchema_EndpointUrlListDataType_DictionaryFragment = 11961 OpcUa_BinarySchema_NetworkGroupDataType = 11962 OpcUa_BinarySchema_NetworkGroupDataType_DataTypeVersion = 11963 OpcUa_BinarySchema_NetworkGroupDataType_DictionaryFragment = 11964 ArrayItemType = 12021 ArrayItemType_Definition = 12022 ArrayItemType_ValuePrecision = 12023 ArrayItemType_InstrumentRange = 12024 ArrayItemType_EURange = 12025 ArrayItemType_EngineeringUnits = 12026 ArrayItemType_Title = 12027 ArrayItemType_AxisScaleType = 12028 YArrayItemType = 12029 YArrayItemType_Definition = 12030 YArrayItemType_ValuePrecision = 12031 YArrayItemType_InstrumentRange = 12032 YArrayItemType_EURange = 12033 YArrayItemType_EngineeringUnits = 12034 YArrayItemType_Title = 12035 YArrayItemType_AxisScaleType = 12036 YArrayItemType_XAxisDefinition = 12037 XYArrayItemType = 12038 XYArrayItemType_Definition = 12039 XYArrayItemType_ValuePrecision = 12040 XYArrayItemType_InstrumentRange = 12041 XYArrayItemType_EURange = 12042 XYArrayItemType_EngineeringUnits = 12043 XYArrayItemType_Title = 12044 XYArrayItemType_AxisScaleType = 12045 XYArrayItemType_XAxisDefinition = 12046 ImageItemType = 12047 ImageItemType_Definition = 12048 ImageItemType_ValuePrecision = 12049 ImageItemType_InstrumentRange = 12050 ImageItemType_EURange = 12051 ImageItemType_EngineeringUnits = 12052 ImageItemType_Title = 12053 ImageItemType_AxisScaleType = 12054 ImageItemType_XAxisDefinition = 12055 ImageItemType_YAxisDefinition = 12056 CubeItemType = 12057 CubeItemType_Definition = 12058 CubeItemType_ValuePrecision = 12059 CubeItemType_InstrumentRange = 12060 CubeItemType_EURange = 12061 CubeItemType_EngineeringUnits = 12062 CubeItemType_Title = 12063 CubeItemType_AxisScaleType = 12064 CubeItemType_XAxisDefinition = 12065 CubeItemType_YAxisDefinition = 12066 CubeItemType_ZAxisDefinition = 12067 NDimensionArrayItemType = 12068 NDimensionArrayItemType_Definition = 12069 NDimensionArrayItemType_ValuePrecision = 12070 NDimensionArrayItemType_InstrumentRange = 12071 NDimensionArrayItemType_EURange = 12072 NDimensionArrayItemType_EngineeringUnits = 12073 NDimensionArrayItemType_Title = 12074 NDimensionArrayItemType_AxisScaleType = 12075 NDimensionArrayItemType_AxisDefinition = 12076 AxisScaleEnumeration = 12077 AxisScaleEnumeration_EnumStrings = 12078 AxisInformation = 12079 XVType = 12080 AxisInformation_Encoding_DefaultXml = 12081 XVType_Encoding_DefaultXml = 12082 OpcUa_XmlSchema_AxisInformation = 12083 OpcUa_XmlSchema_AxisInformation_DataTypeVersion = 12084 OpcUa_XmlSchema_AxisInformation_DictionaryFragment = 12085 OpcUa_XmlSchema_XVType = 12086 OpcUa_XmlSchema_XVType_DataTypeVersion = 12087 OpcUa_XmlSchema_XVType_DictionaryFragment = 12088 AxisInformation_Encoding_DefaultBinary = 12089 XVType_Encoding_DefaultBinary = 12090 OpcUa_BinarySchema_AxisInformation = 12091 OpcUa_BinarySchema_AxisInformation_DataTypeVersion = 12092 OpcUa_BinarySchema_AxisInformation_DictionaryFragment = 12093 OpcUa_BinarySchema_XVType = 12094 OpcUa_BinarySchema_XVType_DataTypeVersion = 12095 OpcUa_BinarySchema_XVType_DictionaryFragment = 12096 SessionsDiagnosticsSummaryType_SessionPlaceholder = 12097 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics = 12098 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SessionId = 12099 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SessionName = 12100 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ClientDescription = 12101 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ServerUri = 12102 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_EndpointUrl = 12103 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_LocaleIds = 12104 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ActualSessionTimeout = 12105 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_MaxResponseMessageSize = 12106 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ClientConnectionTime = 12107 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ClientLastContactTime = 12108 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CurrentSubscriptionsCount = 12109 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CurrentMonitoredItemsCount = 12110 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CurrentPublishRequestsInQueue = 12111 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_TotalRequestCount = 12112 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_UnauthorizedRequestCount = 12113 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ReadCount = 12114 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_HistoryReadCount = 12115 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_WriteCount = 12116 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_HistoryUpdateCount = 12117 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CallCount = 12118 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CreateMonitoredItemsCount = 12119 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ModifyMonitoredItemsCount = 12120 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SetMonitoringModeCount = 12121 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SetTriggeringCount = 12122 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_DeleteMonitoredItemsCount = 12123 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CreateSubscriptionCount = 12124 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ModifySubscriptionCount = 12125 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SetPublishingModeCount = 12126 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_PublishCount = 12127 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_RepublishCount = 12128 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_TransferSubscriptionsCount = 12129 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_DeleteSubscriptionsCount = 12130 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_AddNodesCount = 12131 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_AddReferencesCount = 12132 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_DeleteNodesCount = 12133 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_DeleteReferencesCount = 12134 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_BrowseCount = 12135 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_BrowseNextCount = 12136 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_TranslateBrowsePathsToNodeIdsCount = 12137 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_QueryFirstCount = 12138 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_QueryNextCount = 12139 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_RegisterNodesCount = 12140 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_UnregisterNodesCount = 12141 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics = 12142 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_SessionId = 12143 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_ClientUserIdOfSession = 12144 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_ClientUserIdHistory = 12145 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_AuthenticationMechanism = 12146 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_Encoding = 12147 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_TransportProtocol = 12148 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_SecurityMode = 12149 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_SecurityPolicyUri = 12150 SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_ClientCertificate = 12151 SessionsDiagnosticsSummaryType_SessionPlaceholder_SubscriptionDiagnosticsArray = 12152 ServerType_ServerCapabilities_OperationLimits_MaxNodesPerHistoryReadData = 12153 ServerType_ServerCapabilities_OperationLimits_MaxNodesPerHistoryReadEvents = 12154 ServerType_ServerCapabilities_OperationLimits_MaxNodesPerHistoryUpdateData = 12155 ServerType_ServerCapabilities_OperationLimits_MaxNodesPerHistoryUpdateEvents = 12156 ServerCapabilitiesType_OperationLimits_MaxNodesPerHistoryReadData = 12157 ServerCapabilitiesType_OperationLimits_MaxNodesPerHistoryReadEvents = 12158 ServerCapabilitiesType_OperationLimits_MaxNodesPerHistoryUpdateData = 12159 ServerCapabilitiesType_OperationLimits_MaxNodesPerHistoryUpdateEvents = 12160 OperationLimitsType_MaxNodesPerHistoryReadData = 12161 OperationLimitsType_MaxNodesPerHistoryReadEvents = 12162 OperationLimitsType_MaxNodesPerHistoryUpdateData = 12163 OperationLimitsType_MaxNodesPerHistoryUpdateEvents = 12164 Server_ServerCapabilities_OperationLimits_MaxNodesPerHistoryReadData = 12165 Server_ServerCapabilities_OperationLimits_MaxNodesPerHistoryReadEvents = 12166 Server_ServerCapabilities_OperationLimits_MaxNodesPerHistoryUpdateData = 12167 Server_ServerCapabilities_OperationLimits_MaxNodesPerHistoryUpdateEvents = 12168 NamingRuleType_EnumValues = 12169 ViewVersion = 12170 ComplexNumberType = 12171 DoubleComplexNumberType = 12172 ComplexNumberType_Encoding_DefaultXml = 12173 DoubleComplexNumberType_Encoding_DefaultXml = 12174 OpcUa_XmlSchema_ComplexNumberType = 12175 OpcUa_XmlSchema_ComplexNumberType_DataTypeVersion = 12176 OpcUa_XmlSchema_ComplexNumberType_DictionaryFragment = 12177 OpcUa_XmlSchema_DoubleComplexNumberType = 12178 OpcUa_XmlSchema_DoubleComplexNumberType_DataTypeVersion = 12179 OpcUa_XmlSchema_DoubleComplexNumberType_DictionaryFragment = 12180 ComplexNumberType_Encoding_DefaultBinary = 12181 DoubleComplexNumberType_Encoding_DefaultBinary = 12182 OpcUa_BinarySchema_ComplexNumberType = 12183 OpcUa_BinarySchema_ComplexNumberType_DataTypeVersion = 12184 OpcUa_BinarySchema_ComplexNumberType_DictionaryFragment = 12185 OpcUa_BinarySchema_DoubleComplexNumberType = 12186 OpcUa_BinarySchema_DoubleComplexNumberType_DataTypeVersion = 12187 OpcUa_BinarySchema_DoubleComplexNumberType_DictionaryFragment = 12188 ServerOnNetwork = 12189 FindServersOnNetworkRequest = 12190 FindServersOnNetworkResponse = 12191 RegisterServer2Request = 12193 RegisterServer2Response = 12194 ServerOnNetwork_Encoding_DefaultXml = 12195 FindServersOnNetworkRequest_Encoding_DefaultXml = 12196 FindServersOnNetworkResponse_Encoding_DefaultXml = 12197 RegisterServer2Request_Encoding_DefaultXml = 12199 RegisterServer2Response_Encoding_DefaultXml = 12200 OpcUa_XmlSchema_ServerOnNetwork = 12201 OpcUa_XmlSchema_ServerOnNetwork_DataTypeVersion = 12202 OpcUa_XmlSchema_ServerOnNetwork_DictionaryFragment = 12203 ServerOnNetwork_Encoding_DefaultBinary = 12207 FindServersOnNetworkRequest_Encoding_DefaultBinary = 12208 FindServersOnNetworkResponse_Encoding_DefaultBinary = 12209 RegisterServer2Request_Encoding_DefaultBinary = 12211 RegisterServer2Response_Encoding_DefaultBinary = 12212 OpcUa_BinarySchema_ServerOnNetwork = 12213 OpcUa_BinarySchema_ServerOnNetwork_DataTypeVersion = 12214 OpcUa_BinarySchema_ServerOnNetwork_DictionaryFragment = 12215 ProgressEventType_Context = 12502 ProgressEventType_Progress = 12503 KerberosIdentityToken = 12504 KerberosIdentityToken_Encoding_DefaultXml = 12505 OpcUa_XmlSchema_KerberosIdentityToken = 12506 OpcUa_XmlSchema_KerberosIdentityToken_DataTypeVersion = 12507 OpcUa_XmlSchema_KerberosIdentityToken_DictionaryFragment = 12508 KerberosIdentityToken_Encoding_DefaultBinary = 12509 OpcUa_BinarySchema_KerberosIdentityToken = 12510 OpcUa_BinarySchema_KerberosIdentityToken_DataTypeVersion = 12511 OpcUa_BinarySchema_KerberosIdentityToken_DictionaryFragment = 12512 OpenWithMasksMethodType = 12513 OpenWithMasksMethodType_InputArguments = 12514 OpenWithMasksMethodType_OutputArguments = 12515 CloseAndUpdateMethodType = 12516 CloseAndUpdateMethodType_OutputArguments = 12517 AddCertificateMethodType = 12518 AddCertificateMethodType_InputArguments = 12519 RemoveCertificateMethodType = 12520 RemoveCertificateMethodType_InputArguments = 12521 TrustListType = 12522 TrustListType_Size = 12523 TrustListType_OpenCount = 12526 TrustListType_Open = 12527 TrustListType_Open_InputArguments = 12528 TrustListType_Open_OutputArguments = 12529 TrustListType_Close = 12530 TrustListType_Close_InputArguments = 12531 TrustListType_Read = 12532 TrustListType_Read_InputArguments = 12533 TrustListType_Read_OutputArguments = 12534 TrustListType_Write = 12535 TrustListType_Write_InputArguments = 12536 TrustListType_GetPosition = 12537 TrustListType_GetPosition_InputArguments = 12538 TrustListType_GetPosition_OutputArguments = 12539 TrustListType_SetPosition = 12540 TrustListType_SetPosition_InputArguments = 12541 TrustListType_LastUpdateTime = 12542 TrustListType_OpenWithMasks = 12543 TrustListType_OpenWithMasks_InputArguments = 12544 TrustListType_OpenWithMasks_OutputArguments = 12545 TrustListType_CloseAndUpdate = 12546 TrustListType_CloseAndUpdate_OutputArguments = 12547 TrustListType_AddCertificate = 12548 TrustListType_AddCertificate_InputArguments = 12549 TrustListType_RemoveCertificate = 12550 TrustListType_RemoveCertificate_InputArguments = 12551 TrustListMasks = 12552 TrustListMasks_EnumValues = 12553 TrustListDataType = 12554 CertificateGroupType = 12555 CertificateType = 12556 ApplicationCertificateType = 12557 HttpsCertificateType = 12558 RsaMinApplicationCertificateType = 12559 RsaSha256ApplicationCertificateType = 12560 TrustListUpdatedAuditEventType = 12561 TrustListUpdatedAuditEventType_EventId = 12562 TrustListUpdatedAuditEventType_EventType = 12563 TrustListUpdatedAuditEventType_SourceNode = 12564 TrustListUpdatedAuditEventType_SourceName = 12565 TrustListUpdatedAuditEventType_Time = 12566 TrustListUpdatedAuditEventType_ReceiveTime = 12567 TrustListUpdatedAuditEventType_LocalTime = 12568 TrustListUpdatedAuditEventType_Message = 12569 TrustListUpdatedAuditEventType_Severity = 12570 TrustListUpdatedAuditEventType_ActionTimeStamp = 12571 TrustListUpdatedAuditEventType_Status = 12572 TrustListUpdatedAuditEventType_ServerId = 12573 TrustListUpdatedAuditEventType_ClientAuditEntryId = 12574 TrustListUpdatedAuditEventType_ClientUserId = 12575 TrustListUpdatedAuditEventType_MethodId = 12576 TrustListUpdatedAuditEventType_InputArguments = 12577 UpdateCertificateMethodType = 12578 UpdateCertificateMethodType_InputArguments = 12579 UpdateCertificateMethodType_OutputArguments = 12580 ServerConfigurationType = 12581 ServerConfigurationType_SupportedPrivateKeyFormats = 12583 ServerConfigurationType_MaxTrustListSize = 12584 ServerConfigurationType_MulticastDnsEnabled = 12585 ServerConfigurationType_UpdateCertificate = 12616 ServerConfigurationType_UpdateCertificate_InputArguments = 12617 ServerConfigurationType_UpdateCertificate_OutputArguments = 12618 CertificateUpdatedAuditEventType = 12620 CertificateUpdatedAuditEventType_EventId = 12621 CertificateUpdatedAuditEventType_EventType = 12622 CertificateUpdatedAuditEventType_SourceNode = 12623 CertificateUpdatedAuditEventType_SourceName = 12624 CertificateUpdatedAuditEventType_Time = 12625 CertificateUpdatedAuditEventType_ReceiveTime = 12626 CertificateUpdatedAuditEventType_LocalTime = 12627 CertificateUpdatedAuditEventType_Message = 12628 CertificateUpdatedAuditEventType_Severity = 12629 CertificateUpdatedAuditEventType_ActionTimeStamp = 12630 CertificateUpdatedAuditEventType_Status = 12631 CertificateUpdatedAuditEventType_ServerId = 12632 CertificateUpdatedAuditEventType_ClientAuditEntryId = 12633 CertificateUpdatedAuditEventType_ClientUserId = 12634 CertificateUpdatedAuditEventType_MethodId = 12635 CertificateUpdatedAuditEventType_InputArguments = 12636 ServerConfiguration = 12637 ServerConfiguration_SupportedPrivateKeyFormats = 12639 ServerConfiguration_MaxTrustListSize = 12640 ServerConfiguration_MulticastDnsEnabled = 12641 ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList = 12642 ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Size = 12643 ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_OpenCount = 12646 ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Open = 12647 ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Open_InputArguments = 12648 ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Open_OutputArguments = 12649 ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Close = 12650 ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Close_InputArguments = 12651 ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Read = 12652 ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Read_InputArguments = 12653 ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Read_OutputArguments = 12654 ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Write = 12655 ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Write_InputArguments = 12656 ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_GetPosition = 12657 ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_GetPosition_InputArguments = 12658 ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_GetPosition_OutputArguments = 12659 ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_SetPosition = 12660 ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_SetPosition_InputArguments = 12661 ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_LastUpdateTime = 12662 ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_OpenWithMasks = 12663 ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_OpenWithMasks_InputArguments = 12664 ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_OpenWithMasks_OutputArguments = 12665 ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_CloseAndUpdate = 12666 ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_CloseAndUpdate_OutputArguments = 12667 ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_AddCertificate = 12668 ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_AddCertificate_InputArguments = 12669 ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_RemoveCertificate = 12670 ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_RemoveCertificate_InputArguments = 12671 TrustListDataType_Encoding_DefaultXml = 12676 OpcUa_XmlSchema_TrustListDataType = 12677 OpcUa_XmlSchema_TrustListDataType_DataTypeVersion = 12678 OpcUa_XmlSchema_TrustListDataType_DictionaryFragment = 12679 TrustListDataType_Encoding_DefaultBinary = 12680 OpcUa_BinarySchema_TrustListDataType = 12681 OpcUa_BinarySchema_TrustListDataType_DataTypeVersion = 12682 OpcUa_BinarySchema_TrustListDataType_DictionaryFragment = 12683 ServerType_Namespaces_AddressSpaceFile_Writable = 12684 ServerType_Namespaces_AddressSpaceFile_UserWritable = 12685 FileType_Writable = 12686 FileType_UserWritable = 12687 AddressSpaceFileType_Writable = 12688 AddressSpaceFileType_UserWritable = 12689 NamespaceMetadataType_NamespaceFile_Writable = 12690 NamespaceMetadataType_NamespaceFile_UserWritable = 12691 NamespacesType_NamespaceIdentifier_NamespaceFile_Writable = 12692 NamespacesType_NamespaceIdentifier_NamespaceFile_UserWritable = 12693 NamespacesType_AddressSpaceFile_Writable = 12694 NamespacesType_AddressSpaceFile_UserWritable = 12695 Server_Namespaces_AddressSpaceFile_Writable = 12696 Server_Namespaces_AddressSpaceFile_UserWritable = 12697 TrustListType_Writable = 12698 TrustListType_UserWritable = 12699 CloseAndUpdateMethodType_InputArguments = 12704 TrustListType_CloseAndUpdate_InputArguments = 12705 ServerConfigurationType_ServerCapabilities = 12708 ServerConfiguration_ServerCapabilities = 12710 OpcUa_XmlSchema_RelativePathElement = 12712 OpcUa_XmlSchema_RelativePathElement_DataTypeVersion = 12713 OpcUa_XmlSchema_RelativePathElement_DictionaryFragment = 12714 OpcUa_XmlSchema_RelativePath = 12715 OpcUa_XmlSchema_RelativePath_DataTypeVersion = 12716 OpcUa_XmlSchema_RelativePath_DictionaryFragment = 12717 OpcUa_BinarySchema_RelativePathElement = 12718 OpcUa_BinarySchema_RelativePathElement_DataTypeVersion = 12719 OpcUa_BinarySchema_RelativePathElement_DictionaryFragment = 12720 OpcUa_BinarySchema_RelativePath = 12721 OpcUa_BinarySchema_RelativePath_DataTypeVersion = 12722 OpcUa_BinarySchema_RelativePath_DictionaryFragment = 12723 ServerConfigurationType_CreateSigningRequest = 12731 ServerConfigurationType_CreateSigningRequest_InputArguments = 12732 ServerConfigurationType_CreateSigningRequest_OutputArguments = 12733 ServerConfigurationType_ApplyChanges = 12734 ServerConfiguration_CreateSigningRequest = 12737 ServerConfiguration_CreateSigningRequest_InputArguments = 12738 ServerConfiguration_CreateSigningRequest_OutputArguments = 12739 ServerConfiguration_ApplyChanges = 12740 CreateSigningRequestMethodType = 12741 CreateSigningRequestMethodType_InputArguments = 12742 CreateSigningRequestMethodType_OutputArguments = 12743 OptionSetValues = 12745 ServerType_SetSubscriptionDurable = 12746 ServerType_SetSubscriptionDurable_InputArguments = 12747 ServerType_SetSubscriptionDurable_OutputArguments = 12748 Server_SetSubscriptionDurable = 12749 Server_SetSubscriptionDurable_InputArguments = 12750 Server_SetSubscriptionDurable_OutputArguments = 12751 SetSubscriptionDurableMethodType = 12752 SetSubscriptionDurableMethodType_InputArguments = 12753 SetSubscriptionDurableMethodType_OutputArguments = 12754 OptionSet = 12755 Union = 12756 OptionSet_Encoding_DefaultXml = 12757 Union_Encoding_DefaultXml = 12758 OpcUa_XmlSchema_OptionSet = 12759 OpcUa_XmlSchema_OptionSet_DataTypeVersion = 12760 OpcUa_XmlSchema_OptionSet_DictionaryFragment = 12761 OpcUa_XmlSchema_Union = 12762 OpcUa_XmlSchema_Union_DataTypeVersion = 12763 OpcUa_XmlSchema_Union_DictionaryFragment = 12764 OptionSet_Encoding_DefaultBinary = 12765 Union_Encoding_DefaultBinary = 12766 OpcUa_BinarySchema_OptionSet = 12767 OpcUa_BinarySchema_OptionSet_DataTypeVersion = 12768 OpcUa_BinarySchema_OptionSet_DictionaryFragment = 12769 OpcUa_BinarySchema_Union = 12770 OpcUa_BinarySchema_Union_DataTypeVersion = 12771 OpcUa_BinarySchema_Union_DictionaryFragment = 12772 GetRejectedListMethodType = 12773 GetRejectedListMethodType_OutputArguments = 12774 ServerConfigurationType_GetRejectedList = 12775 ServerConfigurationType_GetRejectedList_OutputArguments = 12776 ServerConfiguration_GetRejectedList = 12777 ServerConfiguration_GetRejectedList_OutputArguments = 12778 SamplingIntervalDiagnosticsArrayType_SamplingIntervalDiagnostics = 12779 SamplingIntervalDiagnosticsArrayType_SamplingIntervalDiagnostics_SamplingInterval = 12780 SamplingIntervalDiagnosticsArrayType_SamplingIntervalDiagnostics_SampledMonitoredItemsCount = 12781 SamplingIntervalDiagnosticsArrayType_SamplingIntervalDiagnostics_MaxSampledMonitoredItemsCount = 12782 SamplingIntervalDiagnosticsArrayType_SamplingIntervalDiagnostics_DisabledMonitoredItemsSamplingCount = 12783 SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics = 12784 SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_SessionId = 12785 SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_SubscriptionId = 12786 SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_Priority = 12787 SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_PublishingInterval = 12788 SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_MaxKeepAliveCount = 12789 SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_MaxLifetimeCount = 12790 SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_MaxNotificationsPerPublish = 12791 SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_PublishingEnabled = 12792 SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_ModifyCount = 12793 SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_EnableCount = 12794 SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_DisableCount = 12795 SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_RepublishRequestCount = 12796 SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_RepublishMessageRequestCount = 12797 SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_RepublishMessageCount = 12798 SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_TransferRequestCount = 12799 SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_TransferredToAltClientCount = 12800 SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_TransferredToSameClientCount = 12801 SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_PublishRequestCount = 12802 SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_DataChangeNotificationsCount = 12803 SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_EventNotificationsCount = 12804 SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_NotificationsCount = 12805 SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_LatePublishRequestCount = 12806 SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_CurrentKeepAliveCount = 12807 SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_CurrentLifetimeCount = 12808 SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_UnacknowledgedMessageCount = 12809 SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_DiscardedMessageCount = 12810 SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_MonitoredItemCount = 12811 SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_DisabledMonitoredItemCount = 12812 SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_MonitoringQueueOverflowCount = 12813 SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_NextSequenceNumber = 12814 SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_EventQueueOverFlowCount = 12815 SessionDiagnosticsArrayType_SessionDiagnostics = 12816 SessionDiagnosticsArrayType_SessionDiagnostics_SessionId = 12817 SessionDiagnosticsArrayType_SessionDiagnostics_SessionName = 12818 SessionDiagnosticsArrayType_SessionDiagnostics_ClientDescription = 12819 SessionDiagnosticsArrayType_SessionDiagnostics_ServerUri = 12820 SessionDiagnosticsArrayType_SessionDiagnostics_EndpointUrl = 12821 SessionDiagnosticsArrayType_SessionDiagnostics_LocaleIds = 12822 SessionDiagnosticsArrayType_SessionDiagnostics_ActualSessionTimeout = 12823 SessionDiagnosticsArrayType_SessionDiagnostics_MaxResponseMessageSize = 12824 SessionDiagnosticsArrayType_SessionDiagnostics_ClientConnectionTime = 12825 SessionDiagnosticsArrayType_SessionDiagnostics_ClientLastContactTime = 12826 SessionDiagnosticsArrayType_SessionDiagnostics_CurrentSubscriptionsCount = 12827 SessionDiagnosticsArrayType_SessionDiagnostics_CurrentMonitoredItemsCount = 12828 SessionDiagnosticsArrayType_SessionDiagnostics_CurrentPublishRequestsInQueue = 12829 SessionDiagnosticsArrayType_SessionDiagnostics_TotalRequestCount = 12830 SessionDiagnosticsArrayType_SessionDiagnostics_UnauthorizedRequestCount = 12831 SessionDiagnosticsArrayType_SessionDiagnostics_ReadCount = 12832 SessionDiagnosticsArrayType_SessionDiagnostics_HistoryReadCount = 12833 SessionDiagnosticsArrayType_SessionDiagnostics_WriteCount = 12834 SessionDiagnosticsArrayType_SessionDiagnostics_HistoryUpdateCount = 12835 SessionDiagnosticsArrayType_SessionDiagnostics_CallCount = 12836 SessionDiagnosticsArrayType_SessionDiagnostics_CreateMonitoredItemsCount = 12837 SessionDiagnosticsArrayType_SessionDiagnostics_ModifyMonitoredItemsCount = 12838 SessionDiagnosticsArrayType_SessionDiagnostics_SetMonitoringModeCount = 12839 SessionDiagnosticsArrayType_SessionDiagnostics_SetTriggeringCount = 12840 SessionDiagnosticsArrayType_SessionDiagnostics_DeleteMonitoredItemsCount = 12841 SessionDiagnosticsArrayType_SessionDiagnostics_CreateSubscriptionCount = 12842 SessionDiagnosticsArrayType_SessionDiagnostics_ModifySubscriptionCount = 12843 SessionDiagnosticsArrayType_SessionDiagnostics_SetPublishingModeCount = 12844 SessionDiagnosticsArrayType_SessionDiagnostics_PublishCount = 12845 SessionDiagnosticsArrayType_SessionDiagnostics_RepublishCount = 12846 SessionDiagnosticsArrayType_SessionDiagnostics_TransferSubscriptionsCount = 12847 SessionDiagnosticsArrayType_SessionDiagnostics_DeleteSubscriptionsCount = 12848 SessionDiagnosticsArrayType_SessionDiagnostics_AddNodesCount = 12849 SessionDiagnosticsArrayType_SessionDiagnostics_AddReferencesCount = 12850 SessionDiagnosticsArrayType_SessionDiagnostics_DeleteNodesCount = 12851 SessionDiagnosticsArrayType_SessionDiagnostics_DeleteReferencesCount = 12852 SessionDiagnosticsArrayType_SessionDiagnostics_BrowseCount = 12853 SessionDiagnosticsArrayType_SessionDiagnostics_BrowseNextCount = 12854 SessionDiagnosticsArrayType_SessionDiagnostics_TranslateBrowsePathsToNodeIdsCount = 12855 SessionDiagnosticsArrayType_SessionDiagnostics_QueryFirstCount = 12856 SessionDiagnosticsArrayType_SessionDiagnostics_QueryNextCount = 12857 SessionDiagnosticsArrayType_SessionDiagnostics_RegisterNodesCount = 12858 SessionDiagnosticsArrayType_SessionDiagnostics_UnregisterNodesCount = 12859 SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics = 12860 SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_SessionId = 12861 SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_ClientUserIdOfSession = 12862 SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_ClientUserIdHistory = 12863 SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_AuthenticationMechanism = 12864 SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_Encoding = 12865 SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_TransportProtocol = 12866 SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_SecurityMode = 12867 SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_SecurityPolicyUri = 12868 SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_ClientCertificate = 12869 ServerType_ResendData = 12871 ServerType_ResendData_InputArguments = 12872 Server_ResendData = 12873 Server_ResendData_InputArguments = 12874 ResendDataMethodType = 12875 ResendDataMethodType_InputArguments = 12876 NormalizedString = 12877 DecimalString = 12878 DurationString = 12879 TimeString = 12880 DateString = 12881 ServerType_EstimatedReturnTime = 12882 ServerType_RequestServerStateChange = 12883 ServerType_RequestServerStateChange_InputArguments = 12884 Server_EstimatedReturnTime = 12885 Server_RequestServerStateChange = 12886 Server_RequestServerStateChange_InputArguments = 12887 RequestServerStateChangeMethodType = 12888 RequestServerStateChangeMethodType_InputArguments = 12889 DiscoveryConfiguration = 12890 MdnsDiscoveryConfiguration = 12891 DiscoveryConfiguration_Encoding_DefaultXml = 12892 MdnsDiscoveryConfiguration_Encoding_DefaultXml = 12893 OpcUa_XmlSchema_DiscoveryConfiguration = 12894 OpcUa_XmlSchema_DiscoveryConfiguration_DataTypeVersion = 12895 OpcUa_XmlSchema_DiscoveryConfiguration_DictionaryFragment = 12896 OpcUa_XmlSchema_MdnsDiscoveryConfiguration = 12897 OpcUa_XmlSchema_MdnsDiscoveryConfiguration_DataTypeVersion = 12898 OpcUa_XmlSchema_MdnsDiscoveryConfiguration_DictionaryFragment = 12899 DiscoveryConfiguration_Encoding_DefaultBinary = 12900 MdnsDiscoveryConfiguration_Encoding_DefaultBinary = 12901 OpcUa_BinarySchema_DiscoveryConfiguration = 12902 OpcUa_BinarySchema_DiscoveryConfiguration_DataTypeVersion = 12903 OpcUa_BinarySchema_DiscoveryConfiguration_DictionaryFragment = 12904 OpcUa_BinarySchema_MdnsDiscoveryConfiguration = 12905 OpcUa_BinarySchema_MdnsDiscoveryConfiguration_DataTypeVersion = 12906 OpcUa_BinarySchema_MdnsDiscoveryConfiguration_DictionaryFragment = 12907 MaxByteStringLength = 12908 ServerType_ServerCapabilities_MaxByteStringLength = 12909 ServerCapabilitiesType_MaxByteStringLength = 12910 Server_ServerCapabilities_MaxByteStringLength = 12911 ConditionType_ConditionRefresh2 = 12912 ConditionType_ConditionRefresh2_InputArguments = 12913 ConditionRefresh2MethodType = 12914 ConditionRefresh2MethodType_InputArguments = 12915 DialogConditionType_ConditionRefresh2 = 12916 DialogConditionType_ConditionRefresh2_InputArguments = 12917 AcknowledgeableConditionType_ConditionRefresh2 = 12918 AcknowledgeableConditionType_ConditionRefresh2_InputArguments = 12919 AlarmConditionType_ConditionRefresh2 = 12984 AlarmConditionType_ConditionRefresh2_InputArguments = 12985 LimitAlarmType_ConditionRefresh2 = 12986 LimitAlarmType_ConditionRefresh2_InputArguments = 12987 ExclusiveLimitAlarmType_ConditionRefresh2 = 12988 ExclusiveLimitAlarmType_ConditionRefresh2_InputArguments = 12989 NonExclusiveLimitAlarmType_ConditionRefresh2 = 12990 NonExclusiveLimitAlarmType_ConditionRefresh2_InputArguments = 12991 NonExclusiveLevelAlarmType_ConditionRefresh2 = 12992 NonExclusiveLevelAlarmType_ConditionRefresh2_InputArguments = 12993 ExclusiveLevelAlarmType_ConditionRefresh2 = 12994 ExclusiveLevelAlarmType_ConditionRefresh2_InputArguments = 12995 NonExclusiveDeviationAlarmType_ConditionRefresh2 = 12996 NonExclusiveDeviationAlarmType_ConditionRefresh2_InputArguments = 12997 ExclusiveDeviationAlarmType_ConditionRefresh2 = 12998 ExclusiveDeviationAlarmType_ConditionRefresh2_InputArguments = 12999 NonExclusiveRateOfChangeAlarmType_ConditionRefresh2 = 13000 NonExclusiveRateOfChangeAlarmType_ConditionRefresh2_InputArguments = 13001 ExclusiveRateOfChangeAlarmType_ConditionRefresh2 = 13002 ExclusiveRateOfChangeAlarmType_ConditionRefresh2_InputArguments = 13003 DiscreteAlarmType_ConditionRefresh2 = 13004 DiscreteAlarmType_ConditionRefresh2_InputArguments = 13005 OffNormalAlarmType_ConditionRefresh2 = 13006 OffNormalAlarmType_ConditionRefresh2_InputArguments = 13007 SystemOffNormalAlarmType_ConditionRefresh2 = 13008 SystemOffNormalAlarmType_ConditionRefresh2_InputArguments = 13009 TripAlarmType_ConditionRefresh2 = 13010 TripAlarmType_ConditionRefresh2_InputArguments = 13011 CertificateExpirationAlarmType = 13225 CertificateExpirationAlarmType_EventId = 13226 CertificateExpirationAlarmType_EventType = 13227 CertificateExpirationAlarmType_SourceNode = 13228 CertificateExpirationAlarmType_SourceName = 13229 CertificateExpirationAlarmType_Time = 13230 CertificateExpirationAlarmType_ReceiveTime = 13231 CertificateExpirationAlarmType_LocalTime = 13232 CertificateExpirationAlarmType_Message = 13233 CertificateExpirationAlarmType_Severity = 13234 CertificateExpirationAlarmType_ConditionClassId = 13235 CertificateExpirationAlarmType_ConditionClassName = 13236 CertificateExpirationAlarmType_ConditionName = 13237 CertificateExpirationAlarmType_BranchId = 13238 CertificateExpirationAlarmType_Retain = 13239 CertificateExpirationAlarmType_EnabledState = 13240 CertificateExpirationAlarmType_EnabledState_Id = 13241 CertificateExpirationAlarmType_EnabledState_Name = 13242 CertificateExpirationAlarmType_EnabledState_Number = 13243 CertificateExpirationAlarmType_EnabledState_EffectiveDisplayName = 13244 CertificateExpirationAlarmType_EnabledState_TransitionTime = 13245 CertificateExpirationAlarmType_EnabledState_EffectiveTransitionTime = 13246 CertificateExpirationAlarmType_EnabledState_TrueState = 13247 CertificateExpirationAlarmType_EnabledState_FalseState = 13248 CertificateExpirationAlarmType_Quality = 13249 CertificateExpirationAlarmType_Quality_SourceTimestamp = 13250 CertificateExpirationAlarmType_LastSeverity = 13251 CertificateExpirationAlarmType_LastSeverity_SourceTimestamp = 13252 CertificateExpirationAlarmType_Comment = 13253 CertificateExpirationAlarmType_Comment_SourceTimestamp = 13254 CertificateExpirationAlarmType_ClientUserId = 13255 CertificateExpirationAlarmType_Disable = 13256 CertificateExpirationAlarmType_Enable = 13257 CertificateExpirationAlarmType_AddComment = 13258 CertificateExpirationAlarmType_AddComment_InputArguments = 13259 CertificateExpirationAlarmType_ConditionRefresh = 13260 CertificateExpirationAlarmType_ConditionRefresh_InputArguments = 13261 CertificateExpirationAlarmType_ConditionRefresh2 = 13262 CertificateExpirationAlarmType_ConditionRefresh2_InputArguments = 13263 CertificateExpirationAlarmType_AckedState = 13264 CertificateExpirationAlarmType_AckedState_Id = 13265 CertificateExpirationAlarmType_AckedState_Name = 13266 CertificateExpirationAlarmType_AckedState_Number = 13267 CertificateExpirationAlarmType_AckedState_EffectiveDisplayName = 13268 CertificateExpirationAlarmType_AckedState_TransitionTime = 13269 CertificateExpirationAlarmType_AckedState_EffectiveTransitionTime = 13270 CertificateExpirationAlarmType_AckedState_TrueState = 13271 CertificateExpirationAlarmType_AckedState_FalseState = 13272 CertificateExpirationAlarmType_ConfirmedState = 13273 CertificateExpirationAlarmType_ConfirmedState_Id = 13274 CertificateExpirationAlarmType_ConfirmedState_Name = 13275 CertificateExpirationAlarmType_ConfirmedState_Number = 13276 CertificateExpirationAlarmType_ConfirmedState_EffectiveDisplayName = 13277 CertificateExpirationAlarmType_ConfirmedState_TransitionTime = 13278 CertificateExpirationAlarmType_ConfirmedState_EffectiveTransitionTime = 13279 CertificateExpirationAlarmType_ConfirmedState_TrueState = 13280 CertificateExpirationAlarmType_ConfirmedState_FalseState = 13281 CertificateExpirationAlarmType_Acknowledge = 13282 CertificateExpirationAlarmType_Acknowledge_InputArguments = 13283 CertificateExpirationAlarmType_Confirm = 13284 CertificateExpirationAlarmType_Confirm_InputArguments = 13285 CertificateExpirationAlarmType_ActiveState = 13286 CertificateExpirationAlarmType_ActiveState_Id = 13287 CertificateExpirationAlarmType_ActiveState_Name = 13288 CertificateExpirationAlarmType_ActiveState_Number = 13289 CertificateExpirationAlarmType_ActiveState_EffectiveDisplayName = 13290 CertificateExpirationAlarmType_ActiveState_TransitionTime = 13291 CertificateExpirationAlarmType_ActiveState_EffectiveTransitionTime = 13292 CertificateExpirationAlarmType_ActiveState_TrueState = 13293 CertificateExpirationAlarmType_ActiveState_FalseState = 13294 CertificateExpirationAlarmType_InputNode = 13295 CertificateExpirationAlarmType_SuppressedState = 13296 CertificateExpirationAlarmType_SuppressedState_Id = 13297 CertificateExpirationAlarmType_SuppressedState_Name = 13298 CertificateExpirationAlarmType_SuppressedState_Number = 13299 CertificateExpirationAlarmType_SuppressedState_EffectiveDisplayName = 13300 CertificateExpirationAlarmType_SuppressedState_TransitionTime = 13301 CertificateExpirationAlarmType_SuppressedState_EffectiveTransitionTime = 13302 CertificateExpirationAlarmType_SuppressedState_TrueState = 13303 CertificateExpirationAlarmType_SuppressedState_FalseState = 13304 CertificateExpirationAlarmType_ShelvingState = 13305 CertificateExpirationAlarmType_ShelvingState_CurrentState = 13306 CertificateExpirationAlarmType_ShelvingState_CurrentState_Id = 13307 CertificateExpirationAlarmType_ShelvingState_CurrentState_Name = 13308 CertificateExpirationAlarmType_ShelvingState_CurrentState_Number = 13309 CertificateExpirationAlarmType_ShelvingState_CurrentState_EffectiveDisplayName = 13310 CertificateExpirationAlarmType_ShelvingState_LastTransition = 13311 CertificateExpirationAlarmType_ShelvingState_LastTransition_Id = 13312 CertificateExpirationAlarmType_ShelvingState_LastTransition_Name = 13313 CertificateExpirationAlarmType_ShelvingState_LastTransition_Number = 13314 CertificateExpirationAlarmType_ShelvingState_LastTransition_TransitionTime = 13315 CertificateExpirationAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime = 13316 CertificateExpirationAlarmType_ShelvingState_UnshelveTime = 13317 CertificateExpirationAlarmType_ShelvingState_Unshelve = 13318 CertificateExpirationAlarmType_ShelvingState_OneShotShelve = 13319 CertificateExpirationAlarmType_ShelvingState_TimedShelve = 13320 CertificateExpirationAlarmType_ShelvingState_TimedShelve_InputArguments = 13321 CertificateExpirationAlarmType_SuppressedOrShelved = 13322 CertificateExpirationAlarmType_MaxTimeShelved = 13323 CertificateExpirationAlarmType_NormalState = 13324 CertificateExpirationAlarmType_ExpirationDate = 13325 CertificateExpirationAlarmType_CertificateType = 13326 CertificateExpirationAlarmType_Certificate = 13327 ServerType_Namespaces_AddressSpaceFile_MimeType = 13340 FileType_MimeType = 13341 CreateDirectoryMethodType = 13342 CreateDirectoryMethodType_InputArguments = 13343 CreateDirectoryMethodType_OutputArguments = 13344 CreateFileMethodType = 13345 CreateFileMethodType_InputArguments = 13346 CreateFileMethodType_OutputArguments = 13347 DeleteFileMethodType = 13348 DeleteFileMethodType_InputArguments = 13349 MoveOrCopyMethodType = 13350 MoveOrCopyMethodType_InputArguments = 13351 MoveOrCopyMethodType_OutputArguments = 13352 FileDirectoryType = 13353 FileDirectoryType_xFileDirectoryNamex = 13354 FileDirectoryType_xFileDirectoryNamex_CreateDirectory = 13355 FileDirectoryType_xFileDirectoryNamex_CreateDirectory_InputArguments = 13356 FileDirectoryType_xFileDirectoryNamex_CreateDirectory_OutputArguments = 13357 FileDirectoryType_xFileDirectoryNamex_CreateFile = 13358 FileDirectoryType_xFileDirectoryNamex_CreateFile_InputArguments = 13359 FileDirectoryType_xFileDirectoryNamex_CreateFile_OutputArguments = 13360 FileDirectoryType_xFileDirectoryNamex_Delete = 13361 FileDirectoryType_xFileDirectoryNamex_Delete_InputArguments = 13362 FileDirectoryType_xFileDirectoryNamex_MoveOrCopy = 13363 FileDirectoryType_xFileDirectoryNamex_MoveOrCopy_InputArguments = 13364 FileDirectoryType_xFileDirectoryNamex_MoveOrCopy_OutputArguments = 13365 FileDirectoryType_xFileNamex = 13366 FileDirectoryType_xFileNamex_Size = 13367 FileDirectoryType_xFileNamex_Writable = 13368 FileDirectoryType_xFileNamex_UserWritable = 13369 FileDirectoryType_xFileNamex_OpenCount = 13370 FileDirectoryType_xFileNamex_MimeType = 13371 FileDirectoryType_xFileNamex_Open = 13372 FileDirectoryType_xFileNamex_Open_InputArguments = 13373 FileDirectoryType_xFileNamex_Open_OutputArguments = 13374 FileDirectoryType_xFileNamex_Close = 13375 FileDirectoryType_xFileNamex_Close_InputArguments = 13376 FileDirectoryType_xFileNamex_Read = 13377 FileDirectoryType_xFileNamex_Read_InputArguments = 13378 FileDirectoryType_xFileNamex_Read_OutputArguments = 13379 FileDirectoryType_xFileNamex_Write = 13380 FileDirectoryType_xFileNamex_Write_InputArguments = 13381 FileDirectoryType_xFileNamex_GetPosition = 13382 FileDirectoryType_xFileNamex_GetPosition_InputArguments = 13383 FileDirectoryType_xFileNamex_GetPosition_OutputArguments = 13384 FileDirectoryType_xFileNamex_SetPosition = 13385 FileDirectoryType_xFileNamex_SetPosition_InputArguments = 13386 FileDirectoryType_CreateDirectory = 13387 FileDirectoryType_CreateDirectory_InputArguments = 13388 FileDirectoryType_CreateDirectory_OutputArguments = 13389 FileDirectoryType_CreateFile = 13390 FileDirectoryType_CreateFile_InputArguments = 13391 FileDirectoryType_CreateFile_OutputArguments = 13392 FileDirectoryType_Delete = 13393 FileDirectoryType_Delete_InputArguments = 13394 FileDirectoryType_MoveOrCopy = 13395 FileDirectoryType_MoveOrCopy_InputArguments = 13396 FileDirectoryType_MoveOrCopy_OutputArguments = 13397 AddressSpaceFileType_MimeType = 13398 NamespaceMetadataType_NamespaceFile_MimeType = 13399 NamespacesType_NamespaceIdentifier_NamespaceFile_MimeType = 13400 NamespacesType_AddressSpaceFile_MimeType = 13401 Server_Namespaces_AddressSpaceFile_MimeType = 13402 TrustListType_MimeType = 13403 CertificateGroupType_TrustList = 13599 CertificateGroupType_TrustList_Size = 13600 CertificateGroupType_TrustList_Writable = 13601 CertificateGroupType_TrustList_UserWritable = 13602 CertificateGroupType_TrustList_OpenCount = 13603 CertificateGroupType_TrustList_MimeType = 13604 CertificateGroupType_TrustList_Open = 13605 CertificateGroupType_TrustList_Open_InputArguments = 13606 CertificateGroupType_TrustList_Open_OutputArguments = 13607 CertificateGroupType_TrustList_Close = 13608 CertificateGroupType_TrustList_Close_InputArguments = 13609 CertificateGroupType_TrustList_Read = 13610 CertificateGroupType_TrustList_Read_InputArguments = 13611 CertificateGroupType_TrustList_Read_OutputArguments = 13612 CertificateGroupType_TrustList_Write = 13613 CertificateGroupType_TrustList_Write_InputArguments = 13614 CertificateGroupType_TrustList_GetPosition = 13615 CertificateGroupType_TrustList_GetPosition_InputArguments = 13616 CertificateGroupType_TrustList_GetPosition_OutputArguments = 13617 CertificateGroupType_TrustList_SetPosition = 13618 CertificateGroupType_TrustList_SetPosition_InputArguments = 13619 CertificateGroupType_TrustList_LastUpdateTime = 13620 CertificateGroupType_TrustList_OpenWithMasks = 13621 CertificateGroupType_TrustList_OpenWithMasks_InputArguments = 13622 CertificateGroupType_TrustList_OpenWithMasks_OutputArguments = 13623 CertificateGroupType_TrustList_CloseAndUpdate = 13624 CertificateGroupType_TrustList_CloseAndUpdate_InputArguments = 13625 CertificateGroupType_TrustList_CloseAndUpdate_OutputArguments = 13626 CertificateGroupType_TrustList_AddCertificate = 13627 CertificateGroupType_TrustList_AddCertificate_InputArguments = 13628 CertificateGroupType_TrustList_RemoveCertificate = 13629 CertificateGroupType_TrustList_RemoveCertificate_InputArguments = 13630 CertificateGroupType_CertificateTypes = 13631 CertificateUpdatedAuditEventType_CertificateGroup = 13735 CertificateUpdatedAuditEventType_CertificateType = 13736 ServerConfiguration_UpdateCertificate = 13737 ServerConfiguration_UpdateCertificate_InputArguments = 13738 ServerConfiguration_UpdateCertificate_OutputArguments = 13739 CertificateGroupFolderType = 13813 CertificateGroupFolderType_DefaultApplicationGroup = 13814 CertificateGroupFolderType_DefaultApplicationGroup_TrustList = 13815 CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Size = 13816 CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Writable = 13817 CertificateGroupFolderType_DefaultApplicationGroup_TrustList_UserWritable = 13818 CertificateGroupFolderType_DefaultApplicationGroup_TrustList_OpenCount = 13819 CertificateGroupFolderType_DefaultApplicationGroup_TrustList_MimeType = 13820 CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Open = 13821 CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Open_InputArguments = 13822 CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Open_OutputArguments = 13823 CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Close = 13824 CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Close_InputArguments = 13825 CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Read = 13826 CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Read_InputArguments = 13827 CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Read_OutputArguments = 13828 CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Write = 13829 CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Write_InputArguments = 13830 CertificateGroupFolderType_DefaultApplicationGroup_TrustList_GetPosition = 13831 CertificateGroupFolderType_DefaultApplicationGroup_TrustList_GetPosition_InputArguments = 13832 CertificateGroupFolderType_DefaultApplicationGroup_TrustList_GetPosition_OutputArguments = 13833 CertificateGroupFolderType_DefaultApplicationGroup_TrustList_SetPosition = 13834 CertificateGroupFolderType_DefaultApplicationGroup_TrustList_SetPosition_InputArguments = 13835 CertificateGroupFolderType_DefaultApplicationGroup_TrustList_LastUpdateTime = 13836 CertificateGroupFolderType_DefaultApplicationGroup_TrustList_OpenWithMasks = 13837 CertificateGroupFolderType_DefaultApplicationGroup_TrustList_OpenWithMasks_InputArguments = 13838 CertificateGroupFolderType_DefaultApplicationGroup_TrustList_OpenWithMasks_OutputArguments = 13839 CertificateGroupFolderType_DefaultApplicationGroup_TrustList_CloseAndUpdate = 13840 CertificateGroupFolderType_DefaultApplicationGroup_TrustList_CloseAndUpdate_InputArguments = 13841 CertificateGroupFolderType_DefaultApplicationGroup_TrustList_CloseAndUpdate_OutputArguments = 13842 CertificateGroupFolderType_DefaultApplicationGroup_TrustList_AddCertificate = 13843 CertificateGroupFolderType_DefaultApplicationGroup_TrustList_AddCertificate_InputArguments = 13844 CertificateGroupFolderType_DefaultApplicationGroup_TrustList_RemoveCertificate = 13845 CertificateGroupFolderType_DefaultApplicationGroup_TrustList_RemoveCertificate_InputArguments = 13846 CertificateGroupFolderType_DefaultApplicationGroup_CertificateTypes = 13847 CertificateGroupFolderType_DefaultHttpsGroup = 13848 CertificateGroupFolderType_DefaultHttpsGroup_TrustList = 13849 CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Size = 13850 CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Writable = 13851 CertificateGroupFolderType_DefaultHttpsGroup_TrustList_UserWritable = 13852 CertificateGroupFolderType_DefaultHttpsGroup_TrustList_OpenCount = 13853 CertificateGroupFolderType_DefaultHttpsGroup_TrustList_MimeType = 13854 CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Open = 13855 CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Open_InputArguments = 13856 CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Open_OutputArguments = 13857 CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Close = 13858 CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Close_InputArguments = 13859 CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Read = 13860 CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Read_InputArguments = 13861 CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Read_OutputArguments = 13862 CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Write = 13863 CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Write_InputArguments = 13864 CertificateGroupFolderType_DefaultHttpsGroup_TrustList_GetPosition = 13865 CertificateGroupFolderType_DefaultHttpsGroup_TrustList_GetPosition_InputArguments = 13866 CertificateGroupFolderType_DefaultHttpsGroup_TrustList_GetPosition_OutputArguments = 13867 CertificateGroupFolderType_DefaultHttpsGroup_TrustList_SetPosition = 13868 CertificateGroupFolderType_DefaultHttpsGroup_TrustList_SetPosition_InputArguments = 13869 CertificateGroupFolderType_DefaultHttpsGroup_TrustList_LastUpdateTime = 13870 CertificateGroupFolderType_DefaultHttpsGroup_TrustList_OpenWithMasks = 13871 CertificateGroupFolderType_DefaultHttpsGroup_TrustList_OpenWithMasks_InputArguments = 13872 CertificateGroupFolderType_DefaultHttpsGroup_TrustList_OpenWithMasks_OutputArguments = 13873 CertificateGroupFolderType_DefaultHttpsGroup_TrustList_CloseAndUpdate = 13874 CertificateGroupFolderType_DefaultHttpsGroup_TrustList_CloseAndUpdate_InputArguments = 13875 CertificateGroupFolderType_DefaultHttpsGroup_TrustList_CloseAndUpdate_OutputArguments = 13876 CertificateGroupFolderType_DefaultHttpsGroup_TrustList_AddCertificate = 13877 CertificateGroupFolderType_DefaultHttpsGroup_TrustList_AddCertificate_InputArguments = 13878 CertificateGroupFolderType_DefaultHttpsGroup_TrustList_RemoveCertificate = 13879 CertificateGroupFolderType_DefaultHttpsGroup_TrustList_RemoveCertificate_InputArguments = 13880 CertificateGroupFolderType_DefaultHttpsGroup_CertificateTypes = 13881 CertificateGroupFolderType_DefaultUserTokenGroup = 13882 CertificateGroupFolderType_DefaultUserTokenGroup_TrustList = 13883 CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Size = 13884 CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Writable = 13885 CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_UserWritable = 13886 CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_OpenCount = 13887 CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_MimeType = 13888 CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Open = 13889 CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Open_InputArguments = 13890 CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Open_OutputArguments = 13891 CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Close = 13892 CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Close_InputArguments = 13893 CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Read = 13894 CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Read_InputArguments = 13895 CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Read_OutputArguments = 13896 CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Write = 13897 CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Write_InputArguments = 13898 CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_GetPosition = 13899 CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_GetPosition_InputArguments = 13900 CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_GetPosition_OutputArguments = 13901 CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_SetPosition = 13902 CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_SetPosition_InputArguments = 13903 CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_LastUpdateTime = 13904 CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_OpenWithMasks = 13905 CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_OpenWithMasks_InputArguments = 13906 CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_OpenWithMasks_OutputArguments = 13907 CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_CloseAndUpdate = 13908 CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_CloseAndUpdate_InputArguments = 13909 CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_CloseAndUpdate_OutputArguments = 13910 CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_AddCertificate = 13911 CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_AddCertificate_InputArguments = 13912 CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_RemoveCertificate = 13913 CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_RemoveCertificate_InputArguments = 13914 CertificateGroupFolderType_DefaultUserTokenGroup_CertificateTypes = 13915 CertificateGroupFolderType_xCertificateGroupx = 13916 CertificateGroupFolderType_xCertificateGroupx_TrustList = 13917 CertificateGroupFolderType_xCertificateGroupx_TrustList_Size = 13918 CertificateGroupFolderType_xCertificateGroupx_TrustList_Writable = 13919 CertificateGroupFolderType_xCertificateGroupx_TrustList_UserWritable = 13920 CertificateGroupFolderType_xCertificateGroupx_TrustList_OpenCount = 13921 CertificateGroupFolderType_xCertificateGroupx_TrustList_MimeType = 13922 CertificateGroupFolderType_xCertificateGroupx_TrustList_Open = 13923 CertificateGroupFolderType_xCertificateGroupx_TrustList_Open_InputArguments = 13924 CertificateGroupFolderType_xCertificateGroupx_TrustList_Open_OutputArguments = 13925 CertificateGroupFolderType_xCertificateGroupx_TrustList_Close = 13926 CertificateGroupFolderType_xCertificateGroupx_TrustList_Close_InputArguments = 13927 CertificateGroupFolderType_xCertificateGroupx_TrustList_Read = 13928 CertificateGroupFolderType_xCertificateGroupx_TrustList_Read_InputArguments = 13929 CertificateGroupFolderType_xCertificateGroupx_TrustList_Read_OutputArguments = 13930 CertificateGroupFolderType_xCertificateGroupx_TrustList_Write = 13931 CertificateGroupFolderType_xCertificateGroupx_TrustList_Write_InputArguments = 13932 CertificateGroupFolderType_xCertificateGroupx_TrustList_GetPosition = 13933 CertificateGroupFolderType_xCertificateGroupx_TrustList_GetPosition_InputArguments = 13934 CertificateGroupFolderType_xCertificateGroupx_TrustList_GetPosition_OutputArguments = 13935 CertificateGroupFolderType_xCertificateGroupx_TrustList_SetPosition = 13936 CertificateGroupFolderType_xCertificateGroupx_TrustList_SetPosition_InputArguments = 13937 CertificateGroupFolderType_xCertificateGroupx_TrustList_LastUpdateTime = 13938 CertificateGroupFolderType_xCertificateGroupx_TrustList_OpenWithMasks = 13939 CertificateGroupFolderType_xCertificateGroupx_TrustList_OpenWithMasks_InputArguments = 13940 CertificateGroupFolderType_xCertificateGroupx_TrustList_OpenWithMasks_OutputArguments = 13941 CertificateGroupFolderType_xCertificateGroupx_TrustList_CloseAndUpdate = 13942 CertificateGroupFolderType_xCertificateGroupx_TrustList_CloseAndUpdate_InputArguments = 13943 CertificateGroupFolderType_xCertificateGroupx_TrustList_CloseAndUpdate_OutputArguments = 13944 CertificateGroupFolderType_xCertificateGroupx_TrustList_AddCertificate = 13945 CertificateGroupFolderType_xCertificateGroupx_TrustList_AddCertificate_InputArguments = 13946 CertificateGroupFolderType_xCertificateGroupx_TrustList_RemoveCertificate = 13947 CertificateGroupFolderType_xCertificateGroupx_TrustList_RemoveCertificate_InputArguments = 13948 CertificateGroupFolderType_xCertificateGroupx_CertificateTypes = 13949 ServerConfigurationType_CertificateGroups = 13950 ServerConfigurationType_CertificateGroups_DefaultApplicationGroup = 13951 ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList = 13952 ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Size = 13953 ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Writable = 13954 ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_UserWritable = 13955 ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_OpenCount = 13956 ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_MimeType = 13957 ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Open = 13958 ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Open_InputArguments = 13959 ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Open_OutputArguments = 13960 ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Close = 13961 ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Close_InputArguments = 13962 ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Read = 13963 ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Read_InputArguments = 13964 ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Read_OutputArguments = 13965 ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Write = 13966 ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Write_InputArguments = 13967 ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_GetPosition = 13968 ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_GetPosition_InputArguments = 13969 ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_GetPosition_OutputArguments = 13970 ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_SetPosition = 13971 ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_SetPosition_InputArguments = 13972 ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_LastUpdateTime = 13973 ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_OpenWithMasks = 13974 ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_OpenWithMasks_InputArguments = 13975 ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_OpenWithMasks_OutputArguments = 13976 ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_CloseAndUpdate = 13977 ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_CloseAndUpdate_InputArguments = 13978 ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_CloseAndUpdate_OutputArguments = 13979 ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_AddCertificate = 13980 ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_AddCertificate_InputArguments = 13981 ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_RemoveCertificate = 13982 ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_RemoveCertificate_InputArguments = 13983 ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_CertificateTypes = 13984 ServerConfigurationType_CertificateGroups_DefaultHttpsGroup = 13985 ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList = 13986 ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Size = 13987 ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Writable = 13988 ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_UserWritable = 13989 ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_OpenCount = 13990 ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_MimeType = 13991 ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Open = 13992 ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Open_InputArguments = 13993 ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Open_OutputArguments = 13994 ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Close = 13995 ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Close_InputArguments = 13996 ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Read = 13997 ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Read_InputArguments = 13998 ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Read_OutputArguments = 13999 ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Write = 14000 ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Write_InputArguments = 14001 ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_GetPosition = 14002 ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_GetPosition_InputArguments = 14003 ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_GetPosition_OutputArguments = 14004 ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_SetPosition = 14005 ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_SetPosition_InputArguments = 14006 ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_LastUpdateTime = 14007 ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_OpenWithMasks = 14008 ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_OpenWithMasks_InputArguments = 14009 ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_OpenWithMasks_OutputArguments = 14010 ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_CloseAndUpdate = 14011 ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_CloseAndUpdate_InputArguments = 14012 ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_CloseAndUpdate_OutputArguments = 14013 ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_AddCertificate = 14014 ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_AddCertificate_InputArguments = 14015 ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_RemoveCertificate = 14016 ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_RemoveCertificate_InputArguments = 14017 ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_CertificateTypes = 14018 ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup = 14019 ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList = 14020 ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Size = 14021 ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Writable = 14022 ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_UserWritable = 14023 ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenCount = 14024 ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_MimeType = 14025 ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Open = 14026 ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Open_InputArguments = 14027 ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Open_OutputArguments = 14028 ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Close = 14029 ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Close_InputArguments = 14030 ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Read = 14031 ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Read_InputArguments = 14032 ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Read_OutputArguments = 14033 ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Write = 14034 ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Write_InputArguments = 14035 ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_GetPosition = 14036 ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_GetPosition_InputArguments = 14037 ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_GetPosition_OutputArguments = 14038 ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_SetPosition = 14039 ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_SetPosition_InputArguments = 14040 ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_LastUpdateTime = 14041 ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenWithMasks = 14042 ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenWithMasks_InputArguments = 14043 ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenWithMasks_OutputArguments = 14044 ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_CloseAndUpdate = 14045 ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_CloseAndUpdate_InputArguments = 14046 ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_CloseAndUpdate_OutputArguments = 14047 ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_AddCertificate = 14048 ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_AddCertificate_InputArguments = 14049 ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_RemoveCertificate = 14050 ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_RemoveCertificate_InputArguments = 14051 ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_CertificateTypes = 14052 ServerConfiguration_CertificateGroups = 14053 ServerConfiguration_CertificateGroups_DefaultHttpsGroup = 14088 ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList = 14089 ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Size = 14090 ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Writable = 14091 ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_UserWritable = 14092 ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_OpenCount = 14093 ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_MimeType = 14094 ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Open = 14095 ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Open_InputArguments = 14096 ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Open_OutputArguments = 14097 ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Close = 14098 ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Close_InputArguments = 14099 ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Read = 14100 ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Read_InputArguments = 14101 ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Read_OutputArguments = 14102 ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Write = 14103 ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Write_InputArguments = 14104 ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_GetPosition = 14105 ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_GetPosition_InputArguments = 14106 ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_GetPosition_OutputArguments = 14107 ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_SetPosition = 14108 ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_SetPosition_InputArguments = 14109 ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_LastUpdateTime = 14110 ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_OpenWithMasks = 14111 ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_OpenWithMasks_InputArguments = 14112 ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_OpenWithMasks_OutputArguments = 14113 ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_CloseAndUpdate = 14114 ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_CloseAndUpdate_InputArguments = 14115 ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_CloseAndUpdate_OutputArguments = 14116 ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_AddCertificate = 14117 ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_AddCertificate_InputArguments = 14118 ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_RemoveCertificate = 14119 ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_RemoveCertificate_InputArguments = 14120 ServerConfiguration_CertificateGroups_DefaultHttpsGroup_CertificateTypes = 14121 ServerConfiguration_CertificateGroups_DefaultUserTokenGroup = 14122 ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList = 14123 ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Size = 14124 ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Writable = 14125 ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_UserWritable = 14126 ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenCount = 14127 ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_MimeType = 14128 ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Open = 14129 ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Open_InputArguments = 14130 ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Open_OutputArguments = 14131 ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Close = 14132 ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Close_InputArguments = 14133 ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Read = 14134 ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Read_InputArguments = 14135 ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Read_OutputArguments = 14136 ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Write = 14137 ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Write_InputArguments = 14138 ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_GetPosition = 14139 ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_GetPosition_InputArguments = 14140 ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_GetPosition_OutputArguments = 14141 ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_SetPosition = 14142 ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_SetPosition_InputArguments = 14143 ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_LastUpdateTime = 14144 ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenWithMasks = 14145 ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenWithMasks_InputArguments = 14146 ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenWithMasks_OutputArguments = 14147 ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_CloseAndUpdate = 14148 ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_CloseAndUpdate_InputArguments = 14149 ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_CloseAndUpdate_OutputArguments = 14150 ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_AddCertificate = 14151 ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_AddCertificate_InputArguments = 14152 ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_RemoveCertificate = 14153 ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_RemoveCertificate_InputArguments = 14154 ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_CertificateTypes = 14155 ServerConfiguration_CertificateGroups_DefaultApplicationGroup = 14156 ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Writable = 14157 ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_UserWritable = 14158 ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_MimeType = 14159 ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_CloseAndUpdate_InputArguments = 14160 ServerConfiguration_CertificateGroups_DefaultApplicationGroup_CertificateTypes = 14161 AuditCreateSessionEventType_SessionId = 14413 AuditUrlMismatchEventType_SessionId = 14414 Server_ServerRedundancy_ServerNetworkGroups = 14415 ObjectIdNames = {} ObjectIdNames[0] = 'Null' ObjectIdNames[1] = 'Boolean' ObjectIdNames[2] = 'SByte' ObjectIdNames[3] = 'Byte' ObjectIdNames[4] = 'Int16' ObjectIdNames[5] = 'UInt16' ObjectIdNames[6] = 'Int32' ObjectIdNames[7] = 'UInt32' ObjectIdNames[8] = 'Int64' ObjectIdNames[9] = 'UInt64' ObjectIdNames[10] = 'Float' ObjectIdNames[11] = 'Double' ObjectIdNames[12] = 'String' ObjectIdNames[13] = 'DateTime' ObjectIdNames[14] = 'Guid' ObjectIdNames[15] = 'ByteString' ObjectIdNames[16] = 'XmlElement' ObjectIdNames[17] = 'NodeId' ObjectIdNames[18] = 'ExpandedNodeId' ObjectIdNames[19] = 'StatusCode' ObjectIdNames[20] = 'QualifiedName' ObjectIdNames[21] = 'LocalizedText' ObjectIdNames[22] = 'Structure' ObjectIdNames[23] = 'DataValue' ObjectIdNames[24] = 'BaseDataType' ObjectIdNames[25] = 'DiagnosticInfo' ObjectIdNames[26] = 'Number' ObjectIdNames[27] = 'Integer' ObjectIdNames[28] = 'UInteger' ObjectIdNames[29] = 'Enumeration' ObjectIdNames[30] = 'Image' ObjectIdNames[31] = 'References' ObjectIdNames[32] = 'NonHierarchicalReferences' ObjectIdNames[33] = 'HierarchicalReferences' ObjectIdNames[34] = 'HasChild' ObjectIdNames[35] = 'Organizes' ObjectIdNames[36] = 'HasEventSource' ObjectIdNames[37] = 'HasModellingRule' ObjectIdNames[38] = 'HasEncoding' ObjectIdNames[39] = 'HasDescription' ObjectIdNames[40] = 'HasTypeDefinition' ObjectIdNames[41] = 'GeneratesEvent' ObjectIdNames[44] = 'Aggregates' ObjectIdNames[45] = 'HasSubtype' ObjectIdNames[46] = 'HasProperty' ObjectIdNames[47] = 'HasComponent' ObjectIdNames[48] = 'HasNotifier' ObjectIdNames[49] = 'HasOrderedComponent' ObjectIdNames[51] = 'FromState' ObjectIdNames[52] = 'ToState' ObjectIdNames[53] = 'HasCause' ObjectIdNames[54] = 'HasEffect' ObjectIdNames[56] = 'HasHistoricalConfiguration' ObjectIdNames[58] = 'BaseObjectType' ObjectIdNames[61] = 'FolderType' ObjectIdNames[62] = 'BaseVariableType' ObjectIdNames[63] = 'BaseDataVariableType' ObjectIdNames[68] = 'PropertyType' ObjectIdNames[69] = 'DataTypeDescriptionType' ObjectIdNames[72] = 'DataTypeDictionaryType' ObjectIdNames[75] = 'DataTypeSystemType' ObjectIdNames[76] = 'DataTypeEncodingType' ObjectIdNames[77] = 'ModellingRuleType' ObjectIdNames[78] = 'ModellingRule_Mandatory' ObjectIdNames[79] = 'ModellingRule_MandatoryShared' ObjectIdNames[80] = 'ModellingRule_Optional' ObjectIdNames[83] = 'ModellingRule_ExposesItsArray' ObjectIdNames[84] = 'RootFolder' ObjectIdNames[85] = 'ObjectsFolder' ObjectIdNames[86] = 'TypesFolder' ObjectIdNames[87] = 'ViewsFolder' ObjectIdNames[88] = 'ObjectTypesFolder' ObjectIdNames[89] = 'VariableTypesFolder' ObjectIdNames[90] = 'DataTypesFolder' ObjectIdNames[91] = 'ReferenceTypesFolder' ObjectIdNames[92] = 'XmlSchema_TypeSystem' ObjectIdNames[93] = 'OPCBinarySchema_TypeSystem' ObjectIdNames[104] = 'DataTypeDescriptionType_DataTypeVersion' ObjectIdNames[105] = 'DataTypeDescriptionType_DictionaryFragment' ObjectIdNames[106] = 'DataTypeDictionaryType_DataTypeVersion' ObjectIdNames[107] = 'DataTypeDictionaryType_NamespaceUri' ObjectIdNames[111] = 'ModellingRuleType_NamingRule' ObjectIdNames[112] = 'ModellingRule_Mandatory_NamingRule' ObjectIdNames[113] = 'ModellingRule_Optional_NamingRule' ObjectIdNames[114] = 'ModellingRule_ExposesItsArray_NamingRule' ObjectIdNames[116] = 'ModellingRule_MandatoryShared_NamingRule' ObjectIdNames[117] = 'HasSubStateMachine' ObjectIdNames[120] = 'NamingRuleType' ObjectIdNames[121] = 'Decimal128' ObjectIdNames[256] = 'IdType' ObjectIdNames[257] = 'NodeClass' ObjectIdNames[258] = 'Node' ObjectIdNames[259] = 'Node_Encoding_DefaultXml' ObjectIdNames[260] = 'Node_Encoding_DefaultBinary' ObjectIdNames[261] = 'ObjectNode' ObjectIdNames[262] = 'ObjectNode_Encoding_DefaultXml' ObjectIdNames[263] = 'ObjectNode_Encoding_DefaultBinary' ObjectIdNames[264] = 'ObjectTypeNode' ObjectIdNames[265] = 'ObjectTypeNode_Encoding_DefaultXml' ObjectIdNames[266] = 'ObjectTypeNode_Encoding_DefaultBinary' ObjectIdNames[267] = 'VariableNode' ObjectIdNames[268] = 'VariableNode_Encoding_DefaultXml' ObjectIdNames[269] = 'VariableNode_Encoding_DefaultBinary' ObjectIdNames[270] = 'VariableTypeNode' ObjectIdNames[271] = 'VariableTypeNode_Encoding_DefaultXml' ObjectIdNames[272] = 'VariableTypeNode_Encoding_DefaultBinary' ObjectIdNames[273] = 'ReferenceTypeNode' ObjectIdNames[274] = 'ReferenceTypeNode_Encoding_DefaultXml' ObjectIdNames[275] = 'ReferenceTypeNode_Encoding_DefaultBinary' ObjectIdNames[276] = 'MethodNode' ObjectIdNames[277] = 'MethodNode_Encoding_DefaultXml' ObjectIdNames[278] = 'MethodNode_Encoding_DefaultBinary' ObjectIdNames[279] = 'ViewNode' ObjectIdNames[280] = 'ViewNode_Encoding_DefaultXml' ObjectIdNames[281] = 'ViewNode_Encoding_DefaultBinary' ObjectIdNames[282] = 'DataTypeNode' ObjectIdNames[283] = 'DataTypeNode_Encoding_DefaultXml' ObjectIdNames[284] = 'DataTypeNode_Encoding_DefaultBinary' ObjectIdNames[285] = 'ReferenceNode' ObjectIdNames[286] = 'ReferenceNode_Encoding_DefaultXml' ObjectIdNames[287] = 'ReferenceNode_Encoding_DefaultBinary' ObjectIdNames[288] = 'IntegerId' ObjectIdNames[289] = 'Counter' ObjectIdNames[290] = 'Duration' ObjectIdNames[291] = 'NumericRange' ObjectIdNames[292] = 'Time' ObjectIdNames[293] = 'Date' ObjectIdNames[294] = 'UtcTime' ObjectIdNames[295] = 'LocaleId' ObjectIdNames[296] = 'Argument' ObjectIdNames[297] = 'Argument_Encoding_DefaultXml' ObjectIdNames[298] = 'Argument_Encoding_DefaultBinary' ObjectIdNames[299] = 'StatusResult' ObjectIdNames[300] = 'StatusResult_Encoding_DefaultXml' ObjectIdNames[301] = 'StatusResult_Encoding_DefaultBinary' ObjectIdNames[302] = 'MessageSecurityMode' ObjectIdNames[303] = 'UserTokenType' ObjectIdNames[304] = 'UserTokenPolicy' ObjectIdNames[305] = 'UserTokenPolicy_Encoding_DefaultXml' ObjectIdNames[306] = 'UserTokenPolicy_Encoding_DefaultBinary' ObjectIdNames[307] = 'ApplicationType' ObjectIdNames[308] = 'ApplicationDescription' ObjectIdNames[309] = 'ApplicationDescription_Encoding_DefaultXml' ObjectIdNames[310] = 'ApplicationDescription_Encoding_DefaultBinary' ObjectIdNames[311] = 'ApplicationInstanceCertificate' ObjectIdNames[312] = 'EndpointDescription' ObjectIdNames[313] = 'EndpointDescription_Encoding_DefaultXml' ObjectIdNames[314] = 'EndpointDescription_Encoding_DefaultBinary' ObjectIdNames[315] = 'SecurityTokenRequestType' ObjectIdNames[316] = 'UserIdentityToken' ObjectIdNames[317] = 'UserIdentityToken_Encoding_DefaultXml' ObjectIdNames[318] = 'UserIdentityToken_Encoding_DefaultBinary' ObjectIdNames[319] = 'AnonymousIdentityToken' ObjectIdNames[320] = 'AnonymousIdentityToken_Encoding_DefaultXml' ObjectIdNames[321] = 'AnonymousIdentityToken_Encoding_DefaultBinary' ObjectIdNames[322] = 'UserNameIdentityToken' ObjectIdNames[323] = 'UserNameIdentityToken_Encoding_DefaultXml' ObjectIdNames[324] = 'UserNameIdentityToken_Encoding_DefaultBinary' ObjectIdNames[325] = 'X509IdentityToken' ObjectIdNames[326] = 'X509IdentityToken_Encoding_DefaultXml' ObjectIdNames[327] = 'X509IdentityToken_Encoding_DefaultBinary' ObjectIdNames[331] = 'EndpointConfiguration' ObjectIdNames[332] = 'EndpointConfiguration_Encoding_DefaultXml' ObjectIdNames[333] = 'EndpointConfiguration_Encoding_DefaultBinary' ObjectIdNames[334] = 'ComplianceLevel' ObjectIdNames[335] = 'SupportedProfile' ObjectIdNames[336] = 'SupportedProfile_Encoding_DefaultXml' ObjectIdNames[337] = 'SupportedProfile_Encoding_DefaultBinary' ObjectIdNames[338] = 'BuildInfo' ObjectIdNames[339] = 'BuildInfo_Encoding_DefaultXml' ObjectIdNames[340] = 'BuildInfo_Encoding_DefaultBinary' ObjectIdNames[341] = 'SoftwareCertificate' ObjectIdNames[342] = 'SoftwareCertificate_Encoding_DefaultXml' ObjectIdNames[343] = 'SoftwareCertificate_Encoding_DefaultBinary' ObjectIdNames[344] = 'SignedSoftwareCertificate' ObjectIdNames[345] = 'SignedSoftwareCertificate_Encoding_DefaultXml' ObjectIdNames[346] = 'SignedSoftwareCertificate_Encoding_DefaultBinary' ObjectIdNames[347] = 'AttributeWriteMask' ObjectIdNames[348] = 'NodeAttributesMask' ObjectIdNames[349] = 'NodeAttributes' ObjectIdNames[350] = 'NodeAttributes_Encoding_DefaultXml' ObjectIdNames[351] = 'NodeAttributes_Encoding_DefaultBinary' ObjectIdNames[352] = 'ObjectAttributes' ObjectIdNames[353] = 'ObjectAttributes_Encoding_DefaultXml' ObjectIdNames[354] = 'ObjectAttributes_Encoding_DefaultBinary' ObjectIdNames[355] = 'VariableAttributes' ObjectIdNames[356] = 'VariableAttributes_Encoding_DefaultXml' ObjectIdNames[357] = 'VariableAttributes_Encoding_DefaultBinary' ObjectIdNames[358] = 'MethodAttributes' ObjectIdNames[359] = 'MethodAttributes_Encoding_DefaultXml' ObjectIdNames[360] = 'MethodAttributes_Encoding_DefaultBinary' ObjectIdNames[361] = 'ObjectTypeAttributes' ObjectIdNames[362] = 'ObjectTypeAttributes_Encoding_DefaultXml' ObjectIdNames[363] = 'ObjectTypeAttributes_Encoding_DefaultBinary' ObjectIdNames[364] = 'VariableTypeAttributes' ObjectIdNames[365] = 'VariableTypeAttributes_Encoding_DefaultXml' ObjectIdNames[366] = 'VariableTypeAttributes_Encoding_DefaultBinary' ObjectIdNames[367] = 'ReferenceTypeAttributes' ObjectIdNames[368] = 'ReferenceTypeAttributes_Encoding_DefaultXml' ObjectIdNames[369] = 'ReferenceTypeAttributes_Encoding_DefaultBinary' ObjectIdNames[370] = 'DataTypeAttributes' ObjectIdNames[371] = 'DataTypeAttributes_Encoding_DefaultXml' ObjectIdNames[372] = 'DataTypeAttributes_Encoding_DefaultBinary' ObjectIdNames[373] = 'ViewAttributes' ObjectIdNames[374] = 'ViewAttributes_Encoding_DefaultXml' ObjectIdNames[375] = 'ViewAttributes_Encoding_DefaultBinary' ObjectIdNames[376] = 'AddNodesItem' ObjectIdNames[377] = 'AddNodesItem_Encoding_DefaultXml' ObjectIdNames[378] = 'AddNodesItem_Encoding_DefaultBinary' ObjectIdNames[379] = 'AddReferencesItem' ObjectIdNames[380] = 'AddReferencesItem_Encoding_DefaultXml' ObjectIdNames[381] = 'AddReferencesItem_Encoding_DefaultBinary' ObjectIdNames[382] = 'DeleteNodesItem' ObjectIdNames[383] = 'DeleteNodesItem_Encoding_DefaultXml' ObjectIdNames[384] = 'DeleteNodesItem_Encoding_DefaultBinary' ObjectIdNames[385] = 'DeleteReferencesItem' ObjectIdNames[386] = 'DeleteReferencesItem_Encoding_DefaultXml' ObjectIdNames[387] = 'DeleteReferencesItem_Encoding_DefaultBinary' ObjectIdNames[388] = 'SessionAuthenticationToken' ObjectIdNames[389] = 'RequestHeader' ObjectIdNames[390] = 'RequestHeader_Encoding_DefaultXml' ObjectIdNames[391] = 'RequestHeader_Encoding_DefaultBinary' ObjectIdNames[392] = 'ResponseHeader' ObjectIdNames[393] = 'ResponseHeader_Encoding_DefaultXml' ObjectIdNames[394] = 'ResponseHeader_Encoding_DefaultBinary' ObjectIdNames[395] = 'ServiceFault' ObjectIdNames[396] = 'ServiceFault_Encoding_DefaultXml' ObjectIdNames[397] = 'ServiceFault_Encoding_DefaultBinary' ObjectIdNames[398] = 'EnumeratedTestType' ObjectIdNames[420] = 'FindServersRequest' ObjectIdNames[421] = 'FindServersRequest_Encoding_DefaultXml' ObjectIdNames[422] = 'FindServersRequest_Encoding_DefaultBinary' ObjectIdNames[423] = 'FindServersResponse' ObjectIdNames[424] = 'FindServersResponse_Encoding_DefaultXml' ObjectIdNames[425] = 'FindServersResponse_Encoding_DefaultBinary' ObjectIdNames[426] = 'GetEndpointsRequest' ObjectIdNames[427] = 'GetEndpointsRequest_Encoding_DefaultXml' ObjectIdNames[428] = 'GetEndpointsRequest_Encoding_DefaultBinary' ObjectIdNames[429] = 'GetEndpointsResponse' ObjectIdNames[430] = 'GetEndpointsResponse_Encoding_DefaultXml' ObjectIdNames[431] = 'GetEndpointsResponse_Encoding_DefaultBinary' ObjectIdNames[432] = 'RegisteredServer' ObjectIdNames[433] = 'RegisteredServer_Encoding_DefaultXml' ObjectIdNames[434] = 'RegisteredServer_Encoding_DefaultBinary' ObjectIdNames[435] = 'RegisterServerRequest' ObjectIdNames[436] = 'RegisterServerRequest_Encoding_DefaultXml' ObjectIdNames[437] = 'RegisterServerRequest_Encoding_DefaultBinary' ObjectIdNames[438] = 'RegisterServerResponse' ObjectIdNames[439] = 'RegisterServerResponse_Encoding_DefaultXml' ObjectIdNames[440] = 'RegisterServerResponse_Encoding_DefaultBinary' ObjectIdNames[441] = 'ChannelSecurityToken' ObjectIdNames[442] = 'ChannelSecurityToken_Encoding_DefaultXml' ObjectIdNames[443] = 'ChannelSecurityToken_Encoding_DefaultBinary' ObjectIdNames[444] = 'OpenSecureChannelRequest' ObjectIdNames[445] = 'OpenSecureChannelRequest_Encoding_DefaultXml' ObjectIdNames[446] = 'OpenSecureChannelRequest_Encoding_DefaultBinary' ObjectIdNames[447] = 'OpenSecureChannelResponse' ObjectIdNames[448] = 'OpenSecureChannelResponse_Encoding_DefaultXml' ObjectIdNames[449] = 'OpenSecureChannelResponse_Encoding_DefaultBinary' ObjectIdNames[450] = 'CloseSecureChannelRequest' ObjectIdNames[451] = 'CloseSecureChannelRequest_Encoding_DefaultXml' ObjectIdNames[452] = 'CloseSecureChannelRequest_Encoding_DefaultBinary' ObjectIdNames[453] = 'CloseSecureChannelResponse' ObjectIdNames[454] = 'CloseSecureChannelResponse_Encoding_DefaultXml' ObjectIdNames[455] = 'CloseSecureChannelResponse_Encoding_DefaultBinary' ObjectIdNames[456] = 'SignatureData' ObjectIdNames[457] = 'SignatureData_Encoding_DefaultXml' ObjectIdNames[458] = 'SignatureData_Encoding_DefaultBinary' ObjectIdNames[459] = 'CreateSessionRequest' ObjectIdNames[460] = 'CreateSessionRequest_Encoding_DefaultXml' ObjectIdNames[461] = 'CreateSessionRequest_Encoding_DefaultBinary' ObjectIdNames[462] = 'CreateSessionResponse' ObjectIdNames[463] = 'CreateSessionResponse_Encoding_DefaultXml' ObjectIdNames[464] = 'CreateSessionResponse_Encoding_DefaultBinary' ObjectIdNames[465] = 'ActivateSessionRequest' ObjectIdNames[466] = 'ActivateSessionRequest_Encoding_DefaultXml' ObjectIdNames[467] = 'ActivateSessionRequest_Encoding_DefaultBinary' ObjectIdNames[468] = 'ActivateSessionResponse' ObjectIdNames[469] = 'ActivateSessionResponse_Encoding_DefaultXml' ObjectIdNames[470] = 'ActivateSessionResponse_Encoding_DefaultBinary' ObjectIdNames[471] = 'CloseSessionRequest' ObjectIdNames[472] = 'CloseSessionRequest_Encoding_DefaultXml' ObjectIdNames[473] = 'CloseSessionRequest_Encoding_DefaultBinary' ObjectIdNames[474] = 'CloseSessionResponse' ObjectIdNames[475] = 'CloseSessionResponse_Encoding_DefaultXml' ObjectIdNames[476] = 'CloseSessionResponse_Encoding_DefaultBinary' ObjectIdNames[477] = 'CancelRequest' ObjectIdNames[478] = 'CancelRequest_Encoding_DefaultXml' ObjectIdNames[479] = 'CancelRequest_Encoding_DefaultBinary' ObjectIdNames[480] = 'CancelResponse' ObjectIdNames[481] = 'CancelResponse_Encoding_DefaultXml' ObjectIdNames[482] = 'CancelResponse_Encoding_DefaultBinary' ObjectIdNames[483] = 'AddNodesResult' ObjectIdNames[484] = 'AddNodesResult_Encoding_DefaultXml' ObjectIdNames[485] = 'AddNodesResult_Encoding_DefaultBinary' ObjectIdNames[486] = 'AddNodesRequest' ObjectIdNames[487] = 'AddNodesRequest_Encoding_DefaultXml' ObjectIdNames[488] = 'AddNodesRequest_Encoding_DefaultBinary' ObjectIdNames[489] = 'AddNodesResponse' ObjectIdNames[490] = 'AddNodesResponse_Encoding_DefaultXml' ObjectIdNames[491] = 'AddNodesResponse_Encoding_DefaultBinary' ObjectIdNames[492] = 'AddReferencesRequest' ObjectIdNames[493] = 'AddReferencesRequest_Encoding_DefaultXml' ObjectIdNames[494] = 'AddReferencesRequest_Encoding_DefaultBinary' ObjectIdNames[495] = 'AddReferencesResponse' ObjectIdNames[496] = 'AddReferencesResponse_Encoding_DefaultXml' ObjectIdNames[497] = 'AddReferencesResponse_Encoding_DefaultBinary' ObjectIdNames[498] = 'DeleteNodesRequest' ObjectIdNames[499] = 'DeleteNodesRequest_Encoding_DefaultXml' ObjectIdNames[500] = 'DeleteNodesRequest_Encoding_DefaultBinary' ObjectIdNames[501] = 'DeleteNodesResponse' ObjectIdNames[502] = 'DeleteNodesResponse_Encoding_DefaultXml' ObjectIdNames[503] = 'DeleteNodesResponse_Encoding_DefaultBinary' ObjectIdNames[504] = 'DeleteReferencesRequest' ObjectIdNames[505] = 'DeleteReferencesRequest_Encoding_DefaultXml' ObjectIdNames[506] = 'DeleteReferencesRequest_Encoding_DefaultBinary' ObjectIdNames[507] = 'DeleteReferencesResponse' ObjectIdNames[508] = 'DeleteReferencesResponse_Encoding_DefaultXml' ObjectIdNames[509] = 'DeleteReferencesResponse_Encoding_DefaultBinary' ObjectIdNames[510] = 'BrowseDirection' ObjectIdNames[511] = 'ViewDescription' ObjectIdNames[512] = 'ViewDescription_Encoding_DefaultXml' ObjectIdNames[513] = 'ViewDescription_Encoding_DefaultBinary' ObjectIdNames[514] = 'BrowseDescription' ObjectIdNames[515] = 'BrowseDescription_Encoding_DefaultXml' ObjectIdNames[516] = 'BrowseDescription_Encoding_DefaultBinary' ObjectIdNames[517] = 'BrowseResultMask' ObjectIdNames[518] = 'ReferenceDescription' ObjectIdNames[519] = 'ReferenceDescription_Encoding_DefaultXml' ObjectIdNames[520] = 'ReferenceDescription_Encoding_DefaultBinary' ObjectIdNames[521] = 'ContinuationPoint' ObjectIdNames[522] = 'BrowseResult' ObjectIdNames[523] = 'BrowseResult_Encoding_DefaultXml' ObjectIdNames[524] = 'BrowseResult_Encoding_DefaultBinary' ObjectIdNames[525] = 'BrowseRequest' ObjectIdNames[526] = 'BrowseRequest_Encoding_DefaultXml' ObjectIdNames[527] = 'BrowseRequest_Encoding_DefaultBinary' ObjectIdNames[528] = 'BrowseResponse' ObjectIdNames[529] = 'BrowseResponse_Encoding_DefaultXml' ObjectIdNames[530] = 'BrowseResponse_Encoding_DefaultBinary' ObjectIdNames[531] = 'BrowseNextRequest' ObjectIdNames[532] = 'BrowseNextRequest_Encoding_DefaultXml' ObjectIdNames[533] = 'BrowseNextRequest_Encoding_DefaultBinary' ObjectIdNames[534] = 'BrowseNextResponse' ObjectIdNames[535] = 'BrowseNextResponse_Encoding_DefaultXml' ObjectIdNames[536] = 'BrowseNextResponse_Encoding_DefaultBinary' ObjectIdNames[537] = 'RelativePathElement' ObjectIdNames[538] = 'RelativePathElement_Encoding_DefaultXml' ObjectIdNames[539] = 'RelativePathElement_Encoding_DefaultBinary' ObjectIdNames[540] = 'RelativePath' ObjectIdNames[541] = 'RelativePath_Encoding_DefaultXml' ObjectIdNames[542] = 'RelativePath_Encoding_DefaultBinary' ObjectIdNames[543] = 'BrowsePath' ObjectIdNames[544] = 'BrowsePath_Encoding_DefaultXml' ObjectIdNames[545] = 'BrowsePath_Encoding_DefaultBinary' ObjectIdNames[546] = 'BrowsePathTarget' ObjectIdNames[547] = 'BrowsePathTarget_Encoding_DefaultXml' ObjectIdNames[548] = 'BrowsePathTarget_Encoding_DefaultBinary' ObjectIdNames[549] = 'BrowsePathResult' ObjectIdNames[550] = 'BrowsePathResult_Encoding_DefaultXml' ObjectIdNames[551] = 'BrowsePathResult_Encoding_DefaultBinary' ObjectIdNames[552] = 'TranslateBrowsePathsToNodeIdsRequest' ObjectIdNames[553] = 'TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultXml' ObjectIdNames[554] = 'TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultBinary' ObjectIdNames[555] = 'TranslateBrowsePathsToNodeIdsResponse' ObjectIdNames[556] = 'TranslateBrowsePathsToNodeIdsResponse_Encoding_DefaultXml' ObjectIdNames[557] = 'TranslateBrowsePathsToNodeIdsResponse_Encoding_DefaultBinary' ObjectIdNames[558] = 'RegisterNodesRequest' ObjectIdNames[559] = 'RegisterNodesRequest_Encoding_DefaultXml' ObjectIdNames[560] = 'RegisterNodesRequest_Encoding_DefaultBinary' ObjectIdNames[561] = 'RegisterNodesResponse' ObjectIdNames[562] = 'RegisterNodesResponse_Encoding_DefaultXml' ObjectIdNames[563] = 'RegisterNodesResponse_Encoding_DefaultBinary' ObjectIdNames[564] = 'UnregisterNodesRequest' ObjectIdNames[565] = 'UnregisterNodesRequest_Encoding_DefaultXml' ObjectIdNames[566] = 'UnregisterNodesRequest_Encoding_DefaultBinary' ObjectIdNames[567] = 'UnregisterNodesResponse' ObjectIdNames[568] = 'UnregisterNodesResponse_Encoding_DefaultXml' ObjectIdNames[569] = 'UnregisterNodesResponse_Encoding_DefaultBinary' ObjectIdNames[570] = 'QueryDataDescription' ObjectIdNames[571] = 'QueryDataDescription_Encoding_DefaultXml' ObjectIdNames[572] = 'QueryDataDescription_Encoding_DefaultBinary' ObjectIdNames[573] = 'NodeTypeDescription' ObjectIdNames[574] = 'NodeTypeDescription_Encoding_DefaultXml' ObjectIdNames[575] = 'NodeTypeDescription_Encoding_DefaultBinary' ObjectIdNames[576] = 'FilterOperator' ObjectIdNames[577] = 'QueryDataSet' ObjectIdNames[578] = 'QueryDataSet_Encoding_DefaultXml' ObjectIdNames[579] = 'QueryDataSet_Encoding_DefaultBinary' ObjectIdNames[580] = 'NodeReference' ObjectIdNames[581] = 'NodeReference_Encoding_DefaultXml' ObjectIdNames[582] = 'NodeReference_Encoding_DefaultBinary' ObjectIdNames[583] = 'ContentFilterElement' ObjectIdNames[584] = 'ContentFilterElement_Encoding_DefaultXml' ObjectIdNames[585] = 'ContentFilterElement_Encoding_DefaultBinary' ObjectIdNames[586] = 'ContentFilter' ObjectIdNames[587] = 'ContentFilter_Encoding_DefaultXml' ObjectIdNames[588] = 'ContentFilter_Encoding_DefaultBinary' ObjectIdNames[589] = 'FilterOperand' ObjectIdNames[590] = 'FilterOperand_Encoding_DefaultXml' ObjectIdNames[591] = 'FilterOperand_Encoding_DefaultBinary' ObjectIdNames[592] = 'ElementOperand' ObjectIdNames[593] = 'ElementOperand_Encoding_DefaultXml' ObjectIdNames[594] = 'ElementOperand_Encoding_DefaultBinary' ObjectIdNames[595] = 'LiteralOperand' ObjectIdNames[596] = 'LiteralOperand_Encoding_DefaultXml' ObjectIdNames[597] = 'LiteralOperand_Encoding_DefaultBinary' ObjectIdNames[598] = 'AttributeOperand' ObjectIdNames[599] = 'AttributeOperand_Encoding_DefaultXml' ObjectIdNames[600] = 'AttributeOperand_Encoding_DefaultBinary' ObjectIdNames[601] = 'SimpleAttributeOperand' ObjectIdNames[602] = 'SimpleAttributeOperand_Encoding_DefaultXml' ObjectIdNames[603] = 'SimpleAttributeOperand_Encoding_DefaultBinary' ObjectIdNames[604] = 'ContentFilterElementResult' ObjectIdNames[605] = 'ContentFilterElementResult_Encoding_DefaultXml' ObjectIdNames[606] = 'ContentFilterElementResult_Encoding_DefaultBinary' ObjectIdNames[607] = 'ContentFilterResult' ObjectIdNames[608] = 'ContentFilterResult_Encoding_DefaultXml' ObjectIdNames[609] = 'ContentFilterResult_Encoding_DefaultBinary' ObjectIdNames[610] = 'ParsingResult' ObjectIdNames[611] = 'ParsingResult_Encoding_DefaultXml' ObjectIdNames[612] = 'ParsingResult_Encoding_DefaultBinary' ObjectIdNames[613] = 'QueryFirstRequest' ObjectIdNames[614] = 'QueryFirstRequest_Encoding_DefaultXml' ObjectIdNames[615] = 'QueryFirstRequest_Encoding_DefaultBinary' ObjectIdNames[616] = 'QueryFirstResponse' ObjectIdNames[617] = 'QueryFirstResponse_Encoding_DefaultXml' ObjectIdNames[618] = 'QueryFirstResponse_Encoding_DefaultBinary' ObjectIdNames[619] = 'QueryNextRequest' ObjectIdNames[620] = 'QueryNextRequest_Encoding_DefaultXml' ObjectIdNames[621] = 'QueryNextRequest_Encoding_DefaultBinary' ObjectIdNames[622] = 'QueryNextResponse' ObjectIdNames[623] = 'QueryNextResponse_Encoding_DefaultXml' ObjectIdNames[624] = 'QueryNextResponse_Encoding_DefaultBinary' ObjectIdNames[625] = 'TimestampsToReturn' ObjectIdNames[626] = 'ReadValueId' ObjectIdNames[627] = 'ReadValueId_Encoding_DefaultXml' ObjectIdNames[628] = 'ReadValueId_Encoding_DefaultBinary' ObjectIdNames[629] = 'ReadRequest' ObjectIdNames[630] = 'ReadRequest_Encoding_DefaultXml' ObjectIdNames[631] = 'ReadRequest_Encoding_DefaultBinary' ObjectIdNames[632] = 'ReadResponse' ObjectIdNames[633] = 'ReadResponse_Encoding_DefaultXml' ObjectIdNames[634] = 'ReadResponse_Encoding_DefaultBinary' ObjectIdNames[635] = 'HistoryReadValueId' ObjectIdNames[636] = 'HistoryReadValueId_Encoding_DefaultXml' ObjectIdNames[637] = 'HistoryReadValueId_Encoding_DefaultBinary' ObjectIdNames[638] = 'HistoryReadResult' ObjectIdNames[639] = 'HistoryReadResult_Encoding_DefaultXml' ObjectIdNames[640] = 'HistoryReadResult_Encoding_DefaultBinary' ObjectIdNames[641] = 'HistoryReadDetails' ObjectIdNames[642] = 'HistoryReadDetails_Encoding_DefaultXml' ObjectIdNames[643] = 'HistoryReadDetails_Encoding_DefaultBinary' ObjectIdNames[644] = 'ReadEventDetails' ObjectIdNames[645] = 'ReadEventDetails_Encoding_DefaultXml' ObjectIdNames[646] = 'ReadEventDetails_Encoding_DefaultBinary' ObjectIdNames[647] = 'ReadRawModifiedDetails' ObjectIdNames[648] = 'ReadRawModifiedDetails_Encoding_DefaultXml' ObjectIdNames[649] = 'ReadRawModifiedDetails_Encoding_DefaultBinary' ObjectIdNames[650] = 'ReadProcessedDetails' ObjectIdNames[651] = 'ReadProcessedDetails_Encoding_DefaultXml' ObjectIdNames[652] = 'ReadProcessedDetails_Encoding_DefaultBinary' ObjectIdNames[653] = 'ReadAtTimeDetails' ObjectIdNames[654] = 'ReadAtTimeDetails_Encoding_DefaultXml' ObjectIdNames[655] = 'ReadAtTimeDetails_Encoding_DefaultBinary' ObjectIdNames[656] = 'HistoryData' ObjectIdNames[657] = 'HistoryData_Encoding_DefaultXml' ObjectIdNames[658] = 'HistoryData_Encoding_DefaultBinary' ObjectIdNames[659] = 'HistoryEvent' ObjectIdNames[660] = 'HistoryEvent_Encoding_DefaultXml' ObjectIdNames[661] = 'HistoryEvent_Encoding_DefaultBinary' ObjectIdNames[662] = 'HistoryReadRequest' ObjectIdNames[663] = 'HistoryReadRequest_Encoding_DefaultXml' ObjectIdNames[664] = 'HistoryReadRequest_Encoding_DefaultBinary' ObjectIdNames[665] = 'HistoryReadResponse' ObjectIdNames[666] = 'HistoryReadResponse_Encoding_DefaultXml' ObjectIdNames[667] = 'HistoryReadResponse_Encoding_DefaultBinary' ObjectIdNames[668] = 'WriteValue' ObjectIdNames[669] = 'WriteValue_Encoding_DefaultXml' ObjectIdNames[670] = 'WriteValue_Encoding_DefaultBinary' ObjectIdNames[671] = 'WriteRequest' ObjectIdNames[672] = 'WriteRequest_Encoding_DefaultXml' ObjectIdNames[673] = 'WriteRequest_Encoding_DefaultBinary' ObjectIdNames[674] = 'WriteResponse' ObjectIdNames[675] = 'WriteResponse_Encoding_DefaultXml' ObjectIdNames[676] = 'WriteResponse_Encoding_DefaultBinary' ObjectIdNames[677] = 'HistoryUpdateDetails' ObjectIdNames[678] = 'HistoryUpdateDetails_Encoding_DefaultXml' ObjectIdNames[679] = 'HistoryUpdateDetails_Encoding_DefaultBinary' ObjectIdNames[680] = 'UpdateDataDetails' ObjectIdNames[681] = 'UpdateDataDetails_Encoding_DefaultXml' ObjectIdNames[682] = 'UpdateDataDetails_Encoding_DefaultBinary' ObjectIdNames[683] = 'UpdateEventDetails' ObjectIdNames[684] = 'UpdateEventDetails_Encoding_DefaultXml' ObjectIdNames[685] = 'UpdateEventDetails_Encoding_DefaultBinary' ObjectIdNames[686] = 'DeleteRawModifiedDetails' ObjectIdNames[687] = 'DeleteRawModifiedDetails_Encoding_DefaultXml' ObjectIdNames[688] = 'DeleteRawModifiedDetails_Encoding_DefaultBinary' ObjectIdNames[689] = 'DeleteAtTimeDetails' ObjectIdNames[690] = 'DeleteAtTimeDetails_Encoding_DefaultXml' ObjectIdNames[691] = 'DeleteAtTimeDetails_Encoding_DefaultBinary' ObjectIdNames[692] = 'DeleteEventDetails' ObjectIdNames[693] = 'DeleteEventDetails_Encoding_DefaultXml' ObjectIdNames[694] = 'DeleteEventDetails_Encoding_DefaultBinary' ObjectIdNames[695] = 'HistoryUpdateResult' ObjectIdNames[696] = 'HistoryUpdateResult_Encoding_DefaultXml' ObjectIdNames[697] = 'HistoryUpdateResult_Encoding_DefaultBinary' ObjectIdNames[698] = 'HistoryUpdateRequest' ObjectIdNames[699] = 'HistoryUpdateRequest_Encoding_DefaultXml' ObjectIdNames[700] = 'HistoryUpdateRequest_Encoding_DefaultBinary' ObjectIdNames[701] = 'HistoryUpdateResponse' ObjectIdNames[702] = 'HistoryUpdateResponse_Encoding_DefaultXml' ObjectIdNames[703] = 'HistoryUpdateResponse_Encoding_DefaultBinary' ObjectIdNames[704] = 'CallMethodRequest' ObjectIdNames[705] = 'CallMethodRequest_Encoding_DefaultXml' ObjectIdNames[706] = 'CallMethodRequest_Encoding_DefaultBinary' ObjectIdNames[707] = 'CallMethodResult' ObjectIdNames[708] = 'CallMethodResult_Encoding_DefaultXml' ObjectIdNames[709] = 'CallMethodResult_Encoding_DefaultBinary' ObjectIdNames[710] = 'CallRequest' ObjectIdNames[711] = 'CallRequest_Encoding_DefaultXml' ObjectIdNames[712] = 'CallRequest_Encoding_DefaultBinary' ObjectIdNames[713] = 'CallResponse' ObjectIdNames[714] = 'CallResponse_Encoding_DefaultXml' ObjectIdNames[715] = 'CallResponse_Encoding_DefaultBinary' ObjectIdNames[716] = 'MonitoringMode' ObjectIdNames[717] = 'DataChangeTrigger' ObjectIdNames[718] = 'DeadbandType' ObjectIdNames[719] = 'MonitoringFilter' ObjectIdNames[720] = 'MonitoringFilter_Encoding_DefaultXml' ObjectIdNames[721] = 'MonitoringFilter_Encoding_DefaultBinary' ObjectIdNames[722] = 'DataChangeFilter' ObjectIdNames[723] = 'DataChangeFilter_Encoding_DefaultXml' ObjectIdNames[724] = 'DataChangeFilter_Encoding_DefaultBinary' ObjectIdNames[725] = 'EventFilter' ObjectIdNames[726] = 'EventFilter_Encoding_DefaultXml' ObjectIdNames[727] = 'EventFilter_Encoding_DefaultBinary' ObjectIdNames[728] = 'AggregateFilter' ObjectIdNames[729] = 'AggregateFilter_Encoding_DefaultXml' ObjectIdNames[730] = 'AggregateFilter_Encoding_DefaultBinary' ObjectIdNames[731] = 'MonitoringFilterResult' ObjectIdNames[732] = 'MonitoringFilterResult_Encoding_DefaultXml' ObjectIdNames[733] = 'MonitoringFilterResult_Encoding_DefaultBinary' ObjectIdNames[734] = 'EventFilterResult' ObjectIdNames[735] = 'EventFilterResult_Encoding_DefaultXml' ObjectIdNames[736] = 'EventFilterResult_Encoding_DefaultBinary' ObjectIdNames[737] = 'AggregateFilterResult' ObjectIdNames[738] = 'AggregateFilterResult_Encoding_DefaultXml' ObjectIdNames[739] = 'AggregateFilterResult_Encoding_DefaultBinary' ObjectIdNames[740] = 'MonitoringParameters' ObjectIdNames[741] = 'MonitoringParameters_Encoding_DefaultXml' ObjectIdNames[742] = 'MonitoringParameters_Encoding_DefaultBinary' ObjectIdNames[743] = 'MonitoredItemCreateRequest' ObjectIdNames[744] = 'MonitoredItemCreateRequest_Encoding_DefaultXml' ObjectIdNames[745] = 'MonitoredItemCreateRequest_Encoding_DefaultBinary' ObjectIdNames[746] = 'MonitoredItemCreateResult' ObjectIdNames[747] = 'MonitoredItemCreateResult_Encoding_DefaultXml' ObjectIdNames[748] = 'MonitoredItemCreateResult_Encoding_DefaultBinary' ObjectIdNames[749] = 'CreateMonitoredItemsRequest' ObjectIdNames[750] = 'CreateMonitoredItemsRequest_Encoding_DefaultXml' ObjectIdNames[751] = 'CreateMonitoredItemsRequest_Encoding_DefaultBinary' ObjectIdNames[752] = 'CreateMonitoredItemsResponse' ObjectIdNames[753] = 'CreateMonitoredItemsResponse_Encoding_DefaultXml' ObjectIdNames[754] = 'CreateMonitoredItemsResponse_Encoding_DefaultBinary' ObjectIdNames[755] = 'MonitoredItemModifyRequest' ObjectIdNames[756] = 'MonitoredItemModifyRequest_Encoding_DefaultXml' ObjectIdNames[757] = 'MonitoredItemModifyRequest_Encoding_DefaultBinary' ObjectIdNames[758] = 'MonitoredItemModifyResult' ObjectIdNames[759] = 'MonitoredItemModifyResult_Encoding_DefaultXml' ObjectIdNames[760] = 'MonitoredItemModifyResult_Encoding_DefaultBinary' ObjectIdNames[761] = 'ModifyMonitoredItemsRequest' ObjectIdNames[762] = 'ModifyMonitoredItemsRequest_Encoding_DefaultXml' ObjectIdNames[763] = 'ModifyMonitoredItemsRequest_Encoding_DefaultBinary' ObjectIdNames[764] = 'ModifyMonitoredItemsResponse' ObjectIdNames[765] = 'ModifyMonitoredItemsResponse_Encoding_DefaultXml' ObjectIdNames[766] = 'ModifyMonitoredItemsResponse_Encoding_DefaultBinary' ObjectIdNames[767] = 'SetMonitoringModeRequest' ObjectIdNames[768] = 'SetMonitoringModeRequest_Encoding_DefaultXml' ObjectIdNames[769] = 'SetMonitoringModeRequest_Encoding_DefaultBinary' ObjectIdNames[770] = 'SetMonitoringModeResponse' ObjectIdNames[771] = 'SetMonitoringModeResponse_Encoding_DefaultXml' ObjectIdNames[772] = 'SetMonitoringModeResponse_Encoding_DefaultBinary' ObjectIdNames[773] = 'SetTriggeringRequest' ObjectIdNames[774] = 'SetTriggeringRequest_Encoding_DefaultXml' ObjectIdNames[775] = 'SetTriggeringRequest_Encoding_DefaultBinary' ObjectIdNames[776] = 'SetTriggeringResponse' ObjectIdNames[777] = 'SetTriggeringResponse_Encoding_DefaultXml' ObjectIdNames[778] = 'SetTriggeringResponse_Encoding_DefaultBinary' ObjectIdNames[779] = 'DeleteMonitoredItemsRequest' ObjectIdNames[780] = 'DeleteMonitoredItemsRequest_Encoding_DefaultXml' ObjectIdNames[781] = 'DeleteMonitoredItemsRequest_Encoding_DefaultBinary' ObjectIdNames[782] = 'DeleteMonitoredItemsResponse' ObjectIdNames[783] = 'DeleteMonitoredItemsResponse_Encoding_DefaultXml' ObjectIdNames[784] = 'DeleteMonitoredItemsResponse_Encoding_DefaultBinary' ObjectIdNames[785] = 'CreateSubscriptionRequest' ObjectIdNames[786] = 'CreateSubscriptionRequest_Encoding_DefaultXml' ObjectIdNames[787] = 'CreateSubscriptionRequest_Encoding_DefaultBinary' ObjectIdNames[788] = 'CreateSubscriptionResponse' ObjectIdNames[789] = 'CreateSubscriptionResponse_Encoding_DefaultXml' ObjectIdNames[790] = 'CreateSubscriptionResponse_Encoding_DefaultBinary' ObjectIdNames[791] = 'ModifySubscriptionRequest' ObjectIdNames[792] = 'ModifySubscriptionRequest_Encoding_DefaultXml' ObjectIdNames[793] = 'ModifySubscriptionRequest_Encoding_DefaultBinary' ObjectIdNames[794] = 'ModifySubscriptionResponse' ObjectIdNames[795] = 'ModifySubscriptionResponse_Encoding_DefaultXml' ObjectIdNames[796] = 'ModifySubscriptionResponse_Encoding_DefaultBinary' ObjectIdNames[797] = 'SetPublishingModeRequest' ObjectIdNames[798] = 'SetPublishingModeRequest_Encoding_DefaultXml' ObjectIdNames[799] = 'SetPublishingModeRequest_Encoding_DefaultBinary' ObjectIdNames[800] = 'SetPublishingModeResponse' ObjectIdNames[801] = 'SetPublishingModeResponse_Encoding_DefaultXml' ObjectIdNames[802] = 'SetPublishingModeResponse_Encoding_DefaultBinary' ObjectIdNames[803] = 'NotificationMessage' ObjectIdNames[804] = 'NotificationMessage_Encoding_DefaultXml' ObjectIdNames[805] = 'NotificationMessage_Encoding_DefaultBinary' ObjectIdNames[806] = 'MonitoredItemNotification' ObjectIdNames[807] = 'MonitoredItemNotification_Encoding_DefaultXml' ObjectIdNames[808] = 'MonitoredItemNotification_Encoding_DefaultBinary' ObjectIdNames[809] = 'DataChangeNotification' ObjectIdNames[810] = 'DataChangeNotification_Encoding_DefaultXml' ObjectIdNames[811] = 'DataChangeNotification_Encoding_DefaultBinary' ObjectIdNames[818] = 'StatusChangeNotification' ObjectIdNames[819] = 'StatusChangeNotification_Encoding_DefaultXml' ObjectIdNames[820] = 'StatusChangeNotification_Encoding_DefaultBinary' ObjectIdNames[821] = 'SubscriptionAcknowledgement' ObjectIdNames[822] = 'SubscriptionAcknowledgement_Encoding_DefaultXml' ObjectIdNames[823] = 'SubscriptionAcknowledgement_Encoding_DefaultBinary' ObjectIdNames[824] = 'PublishRequest' ObjectIdNames[825] = 'PublishRequest_Encoding_DefaultXml' ObjectIdNames[826] = 'PublishRequest_Encoding_DefaultBinary' ObjectIdNames[827] = 'PublishResponse' ObjectIdNames[828] = 'PublishResponse_Encoding_DefaultXml' ObjectIdNames[829] = 'PublishResponse_Encoding_DefaultBinary' ObjectIdNames[830] = 'RepublishRequest' ObjectIdNames[831] = 'RepublishRequest_Encoding_DefaultXml' ObjectIdNames[832] = 'RepublishRequest_Encoding_DefaultBinary' ObjectIdNames[833] = 'RepublishResponse' ObjectIdNames[834] = 'RepublishResponse_Encoding_DefaultXml' ObjectIdNames[835] = 'RepublishResponse_Encoding_DefaultBinary' ObjectIdNames[836] = 'TransferResult' ObjectIdNames[837] = 'TransferResult_Encoding_DefaultXml' ObjectIdNames[838] = 'TransferResult_Encoding_DefaultBinary' ObjectIdNames[839] = 'TransferSubscriptionsRequest' ObjectIdNames[840] = 'TransferSubscriptionsRequest_Encoding_DefaultXml' ObjectIdNames[841] = 'TransferSubscriptionsRequest_Encoding_DefaultBinary' ObjectIdNames[842] = 'TransferSubscriptionsResponse' ObjectIdNames[843] = 'TransferSubscriptionsResponse_Encoding_DefaultXml' ObjectIdNames[844] = 'TransferSubscriptionsResponse_Encoding_DefaultBinary' ObjectIdNames[845] = 'DeleteSubscriptionsRequest' ObjectIdNames[846] = 'DeleteSubscriptionsRequest_Encoding_DefaultXml' ObjectIdNames[847] = 'DeleteSubscriptionsRequest_Encoding_DefaultBinary' ObjectIdNames[848] = 'DeleteSubscriptionsResponse' ObjectIdNames[849] = 'DeleteSubscriptionsResponse_Encoding_DefaultXml' ObjectIdNames[850] = 'DeleteSubscriptionsResponse_Encoding_DefaultBinary' ObjectIdNames[851] = 'RedundancySupport' ObjectIdNames[852] = 'ServerState' ObjectIdNames[853] = 'RedundantServerDataType' ObjectIdNames[854] = 'RedundantServerDataType_Encoding_DefaultXml' ObjectIdNames[855] = 'RedundantServerDataType_Encoding_DefaultBinary' ObjectIdNames[856] = 'SamplingIntervalDiagnosticsDataType' ObjectIdNames[857] = 'SamplingIntervalDiagnosticsDataType_Encoding_DefaultXml' ObjectIdNames[858] = 'SamplingIntervalDiagnosticsDataType_Encoding_DefaultBinary' ObjectIdNames[859] = 'ServerDiagnosticsSummaryDataType' ObjectIdNames[860] = 'ServerDiagnosticsSummaryDataType_Encoding_DefaultXml' ObjectIdNames[861] = 'ServerDiagnosticsSummaryDataType_Encoding_DefaultBinary' ObjectIdNames[862] = 'ServerStatusDataType' ObjectIdNames[863] = 'ServerStatusDataType_Encoding_DefaultXml' ObjectIdNames[864] = 'ServerStatusDataType_Encoding_DefaultBinary' ObjectIdNames[865] = 'SessionDiagnosticsDataType' ObjectIdNames[866] = 'SessionDiagnosticsDataType_Encoding_DefaultXml' ObjectIdNames[867] = 'SessionDiagnosticsDataType_Encoding_DefaultBinary' ObjectIdNames[868] = 'SessionSecurityDiagnosticsDataType' ObjectIdNames[869] = 'SessionSecurityDiagnosticsDataType_Encoding_DefaultXml' ObjectIdNames[870] = 'SessionSecurityDiagnosticsDataType_Encoding_DefaultBinary' ObjectIdNames[871] = 'ServiceCounterDataType' ObjectIdNames[872] = 'ServiceCounterDataType_Encoding_DefaultXml' ObjectIdNames[873] = 'ServiceCounterDataType_Encoding_DefaultBinary' ObjectIdNames[874] = 'SubscriptionDiagnosticsDataType' ObjectIdNames[875] = 'SubscriptionDiagnosticsDataType_Encoding_DefaultXml' ObjectIdNames[876] = 'SubscriptionDiagnosticsDataType_Encoding_DefaultBinary' ObjectIdNames[877] = 'ModelChangeStructureDataType' ObjectIdNames[878] = 'ModelChangeStructureDataType_Encoding_DefaultXml' ObjectIdNames[879] = 'ModelChangeStructureDataType_Encoding_DefaultBinary' ObjectIdNames[884] = 'Range' ObjectIdNames[885] = 'Range_Encoding_DefaultXml' ObjectIdNames[886] = 'Range_Encoding_DefaultBinary' ObjectIdNames[887] = 'EUInformation' ObjectIdNames[888] = 'EUInformation_Encoding_DefaultXml' ObjectIdNames[889] = 'EUInformation_Encoding_DefaultBinary' ObjectIdNames[890] = 'ExceptionDeviationFormat' ObjectIdNames[891] = 'Annotation' ObjectIdNames[892] = 'Annotation_Encoding_DefaultXml' ObjectIdNames[893] = 'Annotation_Encoding_DefaultBinary' ObjectIdNames[894] = 'ProgramDiagnosticDataType' ObjectIdNames[895] = 'ProgramDiagnosticDataType_Encoding_DefaultXml' ObjectIdNames[896] = 'ProgramDiagnosticDataType_Encoding_DefaultBinary' ObjectIdNames[897] = 'SemanticChangeStructureDataType' ObjectIdNames[898] = 'SemanticChangeStructureDataType_Encoding_DefaultXml' ObjectIdNames[899] = 'SemanticChangeStructureDataType_Encoding_DefaultBinary' ObjectIdNames[914] = 'EventNotificationList' ObjectIdNames[915] = 'EventNotificationList_Encoding_DefaultXml' ObjectIdNames[916] = 'EventNotificationList_Encoding_DefaultBinary' ObjectIdNames[917] = 'EventFieldList' ObjectIdNames[918] = 'EventFieldList_Encoding_DefaultXml' ObjectIdNames[919] = 'EventFieldList_Encoding_DefaultBinary' ObjectIdNames[920] = 'HistoryEventFieldList' ObjectIdNames[921] = 'HistoryEventFieldList_Encoding_DefaultXml' ObjectIdNames[922] = 'HistoryEventFieldList_Encoding_DefaultBinary' ObjectIdNames[938] = 'IssuedIdentityToken' ObjectIdNames[939] = 'IssuedIdentityToken_Encoding_DefaultXml' ObjectIdNames[940] = 'IssuedIdentityToken_Encoding_DefaultBinary' ObjectIdNames[945] = 'NotificationData' ObjectIdNames[946] = 'NotificationData_Encoding_DefaultXml' ObjectIdNames[947] = 'NotificationData_Encoding_DefaultBinary' ObjectIdNames[948] = 'AggregateConfiguration' ObjectIdNames[949] = 'AggregateConfiguration_Encoding_DefaultXml' ObjectIdNames[950] = 'AggregateConfiguration_Encoding_DefaultBinary' ObjectIdNames[2000] = 'ImageBMP' ObjectIdNames[2001] = 'ImageGIF' ObjectIdNames[2002] = 'ImageJPG' ObjectIdNames[2003] = 'ImagePNG' ObjectIdNames[2004] = 'ServerType' ObjectIdNames[2005] = 'ServerType_ServerArray' ObjectIdNames[2006] = 'ServerType_NamespaceArray' ObjectIdNames[2007] = 'ServerType_ServerStatus' ObjectIdNames[2008] = 'ServerType_ServiceLevel' ObjectIdNames[2009] = 'ServerType_ServerCapabilities' ObjectIdNames[2010] = 'ServerType_ServerDiagnostics' ObjectIdNames[2011] = 'ServerType_VendorServerInfo' ObjectIdNames[2012] = 'ServerType_ServerRedundancy' ObjectIdNames[2013] = 'ServerCapabilitiesType' ObjectIdNames[2014] = 'ServerCapabilitiesType_ServerProfileArray' ObjectIdNames[2016] = 'ServerCapabilitiesType_LocaleIdArray' ObjectIdNames[2017] = 'ServerCapabilitiesType_MinSupportedSampleRate' ObjectIdNames[2019] = 'ServerCapabilitiesType_ModellingRules' ObjectIdNames[2020] = 'ServerDiagnosticsType' ObjectIdNames[2021] = 'ServerDiagnosticsType_ServerDiagnosticsSummary' ObjectIdNames[2022] = 'ServerDiagnosticsType_SamplingIntervalDiagnosticsArray' ObjectIdNames[2023] = 'ServerDiagnosticsType_SubscriptionDiagnosticsArray' ObjectIdNames[2025] = 'ServerDiagnosticsType_EnabledFlag' ObjectIdNames[2026] = 'SessionsDiagnosticsSummaryType' ObjectIdNames[2027] = 'SessionsDiagnosticsSummaryType_SessionDiagnosticsArray' ObjectIdNames[2028] = 'SessionsDiagnosticsSummaryType_SessionSecurityDiagnosticsArray' ObjectIdNames[2029] = 'SessionDiagnosticsObjectType' ObjectIdNames[2030] = 'SessionDiagnosticsObjectType_SessionDiagnostics' ObjectIdNames[2031] = 'SessionDiagnosticsObjectType_SessionSecurityDiagnostics' ObjectIdNames[2032] = 'SessionDiagnosticsObjectType_SubscriptionDiagnosticsArray' ObjectIdNames[2033] = 'VendorServerInfoType' ObjectIdNames[2034] = 'ServerRedundancyType' ObjectIdNames[2035] = 'ServerRedundancyType_RedundancySupport' ObjectIdNames[2036] = 'TransparentRedundancyType' ObjectIdNames[2037] = 'TransparentRedundancyType_CurrentServerId' ObjectIdNames[2038] = 'TransparentRedundancyType_RedundantServerArray' ObjectIdNames[2039] = 'NonTransparentRedundancyType' ObjectIdNames[2040] = 'NonTransparentRedundancyType_ServerUriArray' ObjectIdNames[2041] = 'BaseEventType' ObjectIdNames[2042] = 'BaseEventType_EventId' ObjectIdNames[2043] = 'BaseEventType_EventType' ObjectIdNames[2044] = 'BaseEventType_SourceNode' ObjectIdNames[2045] = 'BaseEventType_SourceName' ObjectIdNames[2046] = 'BaseEventType_Time' ObjectIdNames[2047] = 'BaseEventType_ReceiveTime' ObjectIdNames[2050] = 'BaseEventType_Message' ObjectIdNames[2051] = 'BaseEventType_Severity' ObjectIdNames[2052] = 'AuditEventType' ObjectIdNames[2053] = 'AuditEventType_ActionTimeStamp' ObjectIdNames[2054] = 'AuditEventType_Status' ObjectIdNames[2055] = 'AuditEventType_ServerId' ObjectIdNames[2056] = 'AuditEventType_ClientAuditEntryId' ObjectIdNames[2057] = 'AuditEventType_ClientUserId' ObjectIdNames[2058] = 'AuditSecurityEventType' ObjectIdNames[2059] = 'AuditChannelEventType' ObjectIdNames[2060] = 'AuditOpenSecureChannelEventType' ObjectIdNames[2061] = 'AuditOpenSecureChannelEventType_ClientCertificate' ObjectIdNames[2062] = 'AuditOpenSecureChannelEventType_RequestType' ObjectIdNames[2063] = 'AuditOpenSecureChannelEventType_SecurityPolicyUri' ObjectIdNames[2065] = 'AuditOpenSecureChannelEventType_SecurityMode' ObjectIdNames[2066] = 'AuditOpenSecureChannelEventType_RequestedLifetime' ObjectIdNames[2069] = 'AuditSessionEventType' ObjectIdNames[2070] = 'AuditSessionEventType_SessionId' ObjectIdNames[2071] = 'AuditCreateSessionEventType' ObjectIdNames[2072] = 'AuditCreateSessionEventType_SecureChannelId' ObjectIdNames[2073] = 'AuditCreateSessionEventType_ClientCertificate' ObjectIdNames[2074] = 'AuditCreateSessionEventType_RevisedSessionTimeout' ObjectIdNames[2075] = 'AuditActivateSessionEventType' ObjectIdNames[2076] = 'AuditActivateSessionEventType_ClientSoftwareCertificates' ObjectIdNames[2077] = 'AuditActivateSessionEventType_UserIdentityToken' ObjectIdNames[2078] = 'AuditCancelEventType' ObjectIdNames[2079] = 'AuditCancelEventType_RequestHandle' ObjectIdNames[2080] = 'AuditCertificateEventType' ObjectIdNames[2081] = 'AuditCertificateEventType_Certificate' ObjectIdNames[2082] = 'AuditCertificateDataMismatchEventType' ObjectIdNames[2083] = 'AuditCertificateDataMismatchEventType_InvalidHostname' ObjectIdNames[2084] = 'AuditCertificateDataMismatchEventType_InvalidUri' ObjectIdNames[2085] = 'AuditCertificateExpiredEventType' ObjectIdNames[2086] = 'AuditCertificateInvalidEventType' ObjectIdNames[2087] = 'AuditCertificateUntrustedEventType' ObjectIdNames[2088] = 'AuditCertificateRevokedEventType' ObjectIdNames[2089] = 'AuditCertificateMismatchEventType' ObjectIdNames[2090] = 'AuditNodeManagementEventType' ObjectIdNames[2091] = 'AuditAddNodesEventType' ObjectIdNames[2092] = 'AuditAddNodesEventType_NodesToAdd' ObjectIdNames[2093] = 'AuditDeleteNodesEventType' ObjectIdNames[2094] = 'AuditDeleteNodesEventType_NodesToDelete' ObjectIdNames[2095] = 'AuditAddReferencesEventType' ObjectIdNames[2096] = 'AuditAddReferencesEventType_ReferencesToAdd' ObjectIdNames[2097] = 'AuditDeleteReferencesEventType' ObjectIdNames[2098] = 'AuditDeleteReferencesEventType_ReferencesToDelete' ObjectIdNames[2099] = 'AuditUpdateEventType' ObjectIdNames[2100] = 'AuditWriteUpdateEventType' ObjectIdNames[2101] = 'AuditWriteUpdateEventType_IndexRange' ObjectIdNames[2102] = 'AuditWriteUpdateEventType_OldValue' ObjectIdNames[2103] = 'AuditWriteUpdateEventType_NewValue' ObjectIdNames[2104] = 'AuditHistoryUpdateEventType' ObjectIdNames[2127] = 'AuditUpdateMethodEventType' ObjectIdNames[2128] = 'AuditUpdateMethodEventType_MethodId' ObjectIdNames[2129] = 'AuditUpdateMethodEventType_InputArguments' ObjectIdNames[2130] = 'SystemEventType' ObjectIdNames[2131] = 'DeviceFailureEventType' ObjectIdNames[2132] = 'BaseModelChangeEventType' ObjectIdNames[2133] = 'GeneralModelChangeEventType' ObjectIdNames[2134] = 'GeneralModelChangeEventType_Changes' ObjectIdNames[2137] = 'ServerVendorCapabilityType' ObjectIdNames[2138] = 'ServerStatusType' ObjectIdNames[2139] = 'ServerStatusType_StartTime' ObjectIdNames[2140] = 'ServerStatusType_CurrentTime' ObjectIdNames[2141] = 'ServerStatusType_State' ObjectIdNames[2142] = 'ServerStatusType_BuildInfo' ObjectIdNames[2150] = 'ServerDiagnosticsSummaryType' ObjectIdNames[2151] = 'ServerDiagnosticsSummaryType_ServerViewCount' ObjectIdNames[2152] = 'ServerDiagnosticsSummaryType_CurrentSessionCount' ObjectIdNames[2153] = 'ServerDiagnosticsSummaryType_CumulatedSessionCount' ObjectIdNames[2154] = 'ServerDiagnosticsSummaryType_SecurityRejectedSessionCount' ObjectIdNames[2155] = 'ServerDiagnosticsSummaryType_RejectedSessionCount' ObjectIdNames[2156] = 'ServerDiagnosticsSummaryType_SessionTimeoutCount' ObjectIdNames[2157] = 'ServerDiagnosticsSummaryType_SessionAbortCount' ObjectIdNames[2159] = 'ServerDiagnosticsSummaryType_PublishingIntervalCount' ObjectIdNames[2160] = 'ServerDiagnosticsSummaryType_CurrentSubscriptionCount' ObjectIdNames[2161] = 'ServerDiagnosticsSummaryType_CumulatedSubscriptionCount' ObjectIdNames[2162] = 'ServerDiagnosticsSummaryType_SecurityRejectedRequestsCount' ObjectIdNames[2163] = 'ServerDiagnosticsSummaryType_RejectedRequestsCount' ObjectIdNames[2164] = 'SamplingIntervalDiagnosticsArrayType' ObjectIdNames[2165] = 'SamplingIntervalDiagnosticsType' ObjectIdNames[2166] = 'SamplingIntervalDiagnosticsType_SamplingInterval' ObjectIdNames[2171] = 'SubscriptionDiagnosticsArrayType' ObjectIdNames[2172] = 'SubscriptionDiagnosticsType' ObjectIdNames[2173] = 'SubscriptionDiagnosticsType_SessionId' ObjectIdNames[2174] = 'SubscriptionDiagnosticsType_SubscriptionId' ObjectIdNames[2175] = 'SubscriptionDiagnosticsType_Priority' ObjectIdNames[2176] = 'SubscriptionDiagnosticsType_PublishingInterval' ObjectIdNames[2177] = 'SubscriptionDiagnosticsType_MaxKeepAliveCount' ObjectIdNames[2179] = 'SubscriptionDiagnosticsType_MaxNotificationsPerPublish' ObjectIdNames[2180] = 'SubscriptionDiagnosticsType_PublishingEnabled' ObjectIdNames[2181] = 'SubscriptionDiagnosticsType_ModifyCount' ObjectIdNames[2182] = 'SubscriptionDiagnosticsType_EnableCount' ObjectIdNames[2183] = 'SubscriptionDiagnosticsType_DisableCount' ObjectIdNames[2184] = 'SubscriptionDiagnosticsType_RepublishRequestCount' ObjectIdNames[2185] = 'SubscriptionDiagnosticsType_RepublishMessageRequestCount' ObjectIdNames[2186] = 'SubscriptionDiagnosticsType_RepublishMessageCount' ObjectIdNames[2187] = 'SubscriptionDiagnosticsType_TransferRequestCount' ObjectIdNames[2188] = 'SubscriptionDiagnosticsType_TransferredToAltClientCount' ObjectIdNames[2189] = 'SubscriptionDiagnosticsType_TransferredToSameClientCount' ObjectIdNames[2190] = 'SubscriptionDiagnosticsType_PublishRequestCount' ObjectIdNames[2191] = 'SubscriptionDiagnosticsType_DataChangeNotificationsCount' ObjectIdNames[2193] = 'SubscriptionDiagnosticsType_NotificationsCount' ObjectIdNames[2196] = 'SessionDiagnosticsArrayType' ObjectIdNames[2197] = 'SessionDiagnosticsVariableType' ObjectIdNames[2198] = 'SessionDiagnosticsVariableType_SessionId' ObjectIdNames[2199] = 'SessionDiagnosticsVariableType_SessionName' ObjectIdNames[2200] = 'SessionDiagnosticsVariableType_ClientDescription' ObjectIdNames[2201] = 'SessionDiagnosticsVariableType_ServerUri' ObjectIdNames[2202] = 'SessionDiagnosticsVariableType_EndpointUrl' ObjectIdNames[2203] = 'SessionDiagnosticsVariableType_LocaleIds' ObjectIdNames[2204] = 'SessionDiagnosticsVariableType_ActualSessionTimeout' ObjectIdNames[2205] = 'SessionDiagnosticsVariableType_ClientConnectionTime' ObjectIdNames[2206] = 'SessionDiagnosticsVariableType_ClientLastContactTime' ObjectIdNames[2207] = 'SessionDiagnosticsVariableType_CurrentSubscriptionsCount' ObjectIdNames[2208] = 'SessionDiagnosticsVariableType_CurrentMonitoredItemsCount' ObjectIdNames[2209] = 'SessionDiagnosticsVariableType_CurrentPublishRequestsInQueue' ObjectIdNames[2217] = 'SessionDiagnosticsVariableType_ReadCount' ObjectIdNames[2218] = 'SessionDiagnosticsVariableType_HistoryReadCount' ObjectIdNames[2219] = 'SessionDiagnosticsVariableType_WriteCount' ObjectIdNames[2220] = 'SessionDiagnosticsVariableType_HistoryUpdateCount' ObjectIdNames[2221] = 'SessionDiagnosticsVariableType_CallCount' ObjectIdNames[2222] = 'SessionDiagnosticsVariableType_CreateMonitoredItemsCount' ObjectIdNames[2223] = 'SessionDiagnosticsVariableType_ModifyMonitoredItemsCount' ObjectIdNames[2224] = 'SessionDiagnosticsVariableType_SetMonitoringModeCount' ObjectIdNames[2225] = 'SessionDiagnosticsVariableType_SetTriggeringCount' ObjectIdNames[2226] = 'SessionDiagnosticsVariableType_DeleteMonitoredItemsCount' ObjectIdNames[2227] = 'SessionDiagnosticsVariableType_CreateSubscriptionCount' ObjectIdNames[2228] = 'SessionDiagnosticsVariableType_ModifySubscriptionCount' ObjectIdNames[2229] = 'SessionDiagnosticsVariableType_SetPublishingModeCount' ObjectIdNames[2230] = 'SessionDiagnosticsVariableType_PublishCount' ObjectIdNames[2231] = 'SessionDiagnosticsVariableType_RepublishCount' ObjectIdNames[2232] = 'SessionDiagnosticsVariableType_TransferSubscriptionsCount' ObjectIdNames[2233] = 'SessionDiagnosticsVariableType_DeleteSubscriptionsCount' ObjectIdNames[2234] = 'SessionDiagnosticsVariableType_AddNodesCount' ObjectIdNames[2235] = 'SessionDiagnosticsVariableType_AddReferencesCount' ObjectIdNames[2236] = 'SessionDiagnosticsVariableType_DeleteNodesCount' ObjectIdNames[2237] = 'SessionDiagnosticsVariableType_DeleteReferencesCount' ObjectIdNames[2238] = 'SessionDiagnosticsVariableType_BrowseCount' ObjectIdNames[2239] = 'SessionDiagnosticsVariableType_BrowseNextCount' ObjectIdNames[2240] = 'SessionDiagnosticsVariableType_TranslateBrowsePathsToNodeIdsCount' ObjectIdNames[2241] = 'SessionDiagnosticsVariableType_QueryFirstCount' ObjectIdNames[2242] = 'SessionDiagnosticsVariableType_QueryNextCount' ObjectIdNames[2243] = 'SessionSecurityDiagnosticsArrayType' ObjectIdNames[2244] = 'SessionSecurityDiagnosticsType' ObjectIdNames[2245] = 'SessionSecurityDiagnosticsType_SessionId' ObjectIdNames[2246] = 'SessionSecurityDiagnosticsType_ClientUserIdOfSession' ObjectIdNames[2247] = 'SessionSecurityDiagnosticsType_ClientUserIdHistory' ObjectIdNames[2248] = 'SessionSecurityDiagnosticsType_AuthenticationMechanism' ObjectIdNames[2249] = 'SessionSecurityDiagnosticsType_Encoding' ObjectIdNames[2250] = 'SessionSecurityDiagnosticsType_TransportProtocol' ObjectIdNames[2251] = 'SessionSecurityDiagnosticsType_SecurityMode' ObjectIdNames[2252] = 'SessionSecurityDiagnosticsType_SecurityPolicyUri' ObjectIdNames[2253] = 'Server' ObjectIdNames[2254] = 'Server_ServerArray' ObjectIdNames[2255] = 'Server_NamespaceArray' ObjectIdNames[2256] = 'Server_ServerStatus' ObjectIdNames[2257] = 'Server_ServerStatus_StartTime' ObjectIdNames[2258] = 'Server_ServerStatus_CurrentTime' ObjectIdNames[2259] = 'Server_ServerStatus_State' ObjectIdNames[2260] = 'Server_ServerStatus_BuildInfo' ObjectIdNames[2261] = 'Server_ServerStatus_BuildInfo_ProductName' ObjectIdNames[2262] = 'Server_ServerStatus_BuildInfo_ProductUri' ObjectIdNames[2263] = 'Server_ServerStatus_BuildInfo_ManufacturerName' ObjectIdNames[2264] = 'Server_ServerStatus_BuildInfo_SoftwareVersion' ObjectIdNames[2265] = 'Server_ServerStatus_BuildInfo_BuildNumber' ObjectIdNames[2266] = 'Server_ServerStatus_BuildInfo_BuildDate' ObjectIdNames[2267] = 'Server_ServiceLevel' ObjectIdNames[2268] = 'Server_ServerCapabilities' ObjectIdNames[2269] = 'Server_ServerCapabilities_ServerProfileArray' ObjectIdNames[2271] = 'Server_ServerCapabilities_LocaleIdArray' ObjectIdNames[2272] = 'Server_ServerCapabilities_MinSupportedSampleRate' ObjectIdNames[2274] = 'Server_ServerDiagnostics' ObjectIdNames[2275] = 'Server_ServerDiagnostics_ServerDiagnosticsSummary' ObjectIdNames[2276] = 'Server_ServerDiagnostics_ServerDiagnosticsSummary_ServerViewCount' ObjectIdNames[2277] = 'Server_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSessionCount' ObjectIdNames[2278] = 'Server_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSessionCount' ObjectIdNames[2279] = 'Server_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedSessionCount' ObjectIdNames[2281] = 'Server_ServerDiagnostics_ServerDiagnosticsSummary_SessionTimeoutCount' ObjectIdNames[2282] = 'Server_ServerDiagnostics_ServerDiagnosticsSummary_SessionAbortCount' ObjectIdNames[2284] = 'Server_ServerDiagnostics_ServerDiagnosticsSummary_PublishingIntervalCount' ObjectIdNames[2285] = 'Server_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSubscriptionCount' ObjectIdNames[2286] = 'Server_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSubscriptionCount' ObjectIdNames[2287] = 'Server_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedRequestsCount' ObjectIdNames[2288] = 'Server_ServerDiagnostics_ServerDiagnosticsSummary_RejectedRequestsCount' ObjectIdNames[2289] = 'Server_ServerDiagnostics_SamplingIntervalDiagnosticsArray' ObjectIdNames[2290] = 'Server_ServerDiagnostics_SubscriptionDiagnosticsArray' ObjectIdNames[2294] = 'Server_ServerDiagnostics_EnabledFlag' ObjectIdNames[2295] = 'Server_VendorServerInfo' ObjectIdNames[2296] = 'Server_ServerRedundancy' ObjectIdNames[2299] = 'StateMachineType' ObjectIdNames[2307] = 'StateType' ObjectIdNames[2308] = 'StateType_StateNumber' ObjectIdNames[2309] = 'InitialStateType' ObjectIdNames[2310] = 'TransitionType' ObjectIdNames[2311] = 'TransitionEventType' ObjectIdNames[2312] = 'TransitionType_TransitionNumber' ObjectIdNames[2315] = 'AuditUpdateStateEventType' ObjectIdNames[2318] = 'HistoricalDataConfigurationType' ObjectIdNames[2323] = 'HistoricalDataConfigurationType_Stepped' ObjectIdNames[2324] = 'HistoricalDataConfigurationType_Definition' ObjectIdNames[2325] = 'HistoricalDataConfigurationType_MaxTimeInterval' ObjectIdNames[2326] = 'HistoricalDataConfigurationType_MinTimeInterval' ObjectIdNames[2327] = 'HistoricalDataConfigurationType_ExceptionDeviation' ObjectIdNames[2328] = 'HistoricalDataConfigurationType_ExceptionDeviationFormat' ObjectIdNames[2330] = 'HistoryServerCapabilitiesType' ObjectIdNames[2331] = 'HistoryServerCapabilitiesType_AccessHistoryDataCapability' ObjectIdNames[2332] = 'HistoryServerCapabilitiesType_AccessHistoryEventsCapability' ObjectIdNames[2334] = 'HistoryServerCapabilitiesType_InsertDataCapability' ObjectIdNames[2335] = 'HistoryServerCapabilitiesType_ReplaceDataCapability' ObjectIdNames[2336] = 'HistoryServerCapabilitiesType_UpdateDataCapability' ObjectIdNames[2337] = 'HistoryServerCapabilitiesType_DeleteRawCapability' ObjectIdNames[2338] = 'HistoryServerCapabilitiesType_DeleteAtTimeCapability' ObjectIdNames[2340] = 'AggregateFunctionType' ObjectIdNames[2341] = 'AggregateFunction_Interpolative' ObjectIdNames[2342] = 'AggregateFunction_Average' ObjectIdNames[2343] = 'AggregateFunction_TimeAverage' ObjectIdNames[2344] = 'AggregateFunction_Total' ObjectIdNames[2346] = 'AggregateFunction_Minimum' ObjectIdNames[2347] = 'AggregateFunction_Maximum' ObjectIdNames[2348] = 'AggregateFunction_MinimumActualTime' ObjectIdNames[2349] = 'AggregateFunction_MaximumActualTime' ObjectIdNames[2350] = 'AggregateFunction_Range' ObjectIdNames[2351] = 'AggregateFunction_AnnotationCount' ObjectIdNames[2352] = 'AggregateFunction_Count' ObjectIdNames[2355] = 'AggregateFunction_NumberOfTransitions' ObjectIdNames[2357] = 'AggregateFunction_Start' ObjectIdNames[2358] = 'AggregateFunction_End' ObjectIdNames[2359] = 'AggregateFunction_Delta' ObjectIdNames[2360] = 'AggregateFunction_DurationGood' ObjectIdNames[2361] = 'AggregateFunction_DurationBad' ObjectIdNames[2362] = 'AggregateFunction_PercentGood' ObjectIdNames[2363] = 'AggregateFunction_PercentBad' ObjectIdNames[2364] = 'AggregateFunction_WorstQuality' ObjectIdNames[2365] = 'DataItemType' ObjectIdNames[2366] = 'DataItemType_Definition' ObjectIdNames[2367] = 'DataItemType_ValuePrecision' ObjectIdNames[2368] = 'AnalogItemType' ObjectIdNames[2369] = 'AnalogItemType_EURange' ObjectIdNames[2370] = 'AnalogItemType_InstrumentRange' ObjectIdNames[2371] = 'AnalogItemType_EngineeringUnits' ObjectIdNames[2372] = 'DiscreteItemType' ObjectIdNames[2373] = 'TwoStateDiscreteType' ObjectIdNames[2374] = 'TwoStateDiscreteType_FalseState' ObjectIdNames[2375] = 'TwoStateDiscreteType_TrueState' ObjectIdNames[2376] = 'MultiStateDiscreteType' ObjectIdNames[2377] = 'MultiStateDiscreteType_EnumStrings' ObjectIdNames[2378] = 'ProgramTransitionEventType' ObjectIdNames[2379] = 'ProgramTransitionEventType_IntermediateResult' ObjectIdNames[2380] = 'ProgramDiagnosticType' ObjectIdNames[2381] = 'ProgramDiagnosticType_CreateSessionId' ObjectIdNames[2382] = 'ProgramDiagnosticType_CreateClientName' ObjectIdNames[2383] = 'ProgramDiagnosticType_InvocationCreationTime' ObjectIdNames[2384] = 'ProgramDiagnosticType_LastTransitionTime' ObjectIdNames[2385] = 'ProgramDiagnosticType_LastMethodCall' ObjectIdNames[2386] = 'ProgramDiagnosticType_LastMethodSessionId' ObjectIdNames[2387] = 'ProgramDiagnosticType_LastMethodInputArguments' ObjectIdNames[2388] = 'ProgramDiagnosticType_LastMethodOutputArguments' ObjectIdNames[2389] = 'ProgramDiagnosticType_LastMethodCallTime' ObjectIdNames[2390] = 'ProgramDiagnosticType_LastMethodReturnStatus' ObjectIdNames[2391] = 'ProgramStateMachineType' ObjectIdNames[2392] = 'ProgramStateMachineType_Creatable' ObjectIdNames[2393] = 'ProgramStateMachineType_Deletable' ObjectIdNames[2394] = 'ProgramStateMachineType_AutoDelete' ObjectIdNames[2395] = 'ProgramStateMachineType_RecycleCount' ObjectIdNames[2396] = 'ProgramStateMachineType_InstanceCount' ObjectIdNames[2397] = 'ProgramStateMachineType_MaxInstanceCount' ObjectIdNames[2398] = 'ProgramStateMachineType_MaxRecycleCount' ObjectIdNames[2399] = 'ProgramStateMachineType_ProgramDiagnostics' ObjectIdNames[2400] = 'ProgramStateMachineType_Ready' ObjectIdNames[2401] = 'ProgramStateMachineType_Ready_StateNumber' ObjectIdNames[2402] = 'ProgramStateMachineType_Running' ObjectIdNames[2403] = 'ProgramStateMachineType_Running_StateNumber' ObjectIdNames[2404] = 'ProgramStateMachineType_Suspended' ObjectIdNames[2405] = 'ProgramStateMachineType_Suspended_StateNumber' ObjectIdNames[2406] = 'ProgramStateMachineType_Halted' ObjectIdNames[2407] = 'ProgramStateMachineType_Halted_StateNumber' ObjectIdNames[2408] = 'ProgramStateMachineType_HaltedToReady' ObjectIdNames[2409] = 'ProgramStateMachineType_HaltedToReady_TransitionNumber' ObjectIdNames[2410] = 'ProgramStateMachineType_ReadyToRunning' ObjectIdNames[2411] = 'ProgramStateMachineType_ReadyToRunning_TransitionNumber' ObjectIdNames[2412] = 'ProgramStateMachineType_RunningToHalted' ObjectIdNames[2413] = 'ProgramStateMachineType_RunningToHalted_TransitionNumber' ObjectIdNames[2414] = 'ProgramStateMachineType_RunningToReady' ObjectIdNames[2415] = 'ProgramStateMachineType_RunningToReady_TransitionNumber' ObjectIdNames[2416] = 'ProgramStateMachineType_RunningToSuspended' ObjectIdNames[2417] = 'ProgramStateMachineType_RunningToSuspended_TransitionNumber' ObjectIdNames[2418] = 'ProgramStateMachineType_SuspendedToRunning' ObjectIdNames[2419] = 'ProgramStateMachineType_SuspendedToRunning_TransitionNumber' ObjectIdNames[2420] = 'ProgramStateMachineType_SuspendedToHalted' ObjectIdNames[2421] = 'ProgramStateMachineType_SuspendedToHalted_TransitionNumber' ObjectIdNames[2422] = 'ProgramStateMachineType_SuspendedToReady' ObjectIdNames[2423] = 'ProgramStateMachineType_SuspendedToReady_TransitionNumber' ObjectIdNames[2424] = 'ProgramStateMachineType_ReadyToHalted' ObjectIdNames[2425] = 'ProgramStateMachineType_ReadyToHalted_TransitionNumber' ObjectIdNames[2426] = 'ProgramStateMachineType_Start' ObjectIdNames[2427] = 'ProgramStateMachineType_Suspend' ObjectIdNames[2428] = 'ProgramStateMachineType_Resume' ObjectIdNames[2429] = 'ProgramStateMachineType_Halt' ObjectIdNames[2430] = 'ProgramStateMachineType_Reset' ObjectIdNames[2730] = 'SessionDiagnosticsVariableType_RegisterNodesCount' ObjectIdNames[2731] = 'SessionDiagnosticsVariableType_UnregisterNodesCount' ObjectIdNames[2732] = 'ServerCapabilitiesType_MaxBrowseContinuationPoints' ObjectIdNames[2733] = 'ServerCapabilitiesType_MaxQueryContinuationPoints' ObjectIdNames[2734] = 'ServerCapabilitiesType_MaxHistoryContinuationPoints' ObjectIdNames[2735] = 'Server_ServerCapabilities_MaxBrowseContinuationPoints' ObjectIdNames[2736] = 'Server_ServerCapabilities_MaxQueryContinuationPoints' ObjectIdNames[2737] = 'Server_ServerCapabilities_MaxHistoryContinuationPoints' ObjectIdNames[2738] = 'SemanticChangeEventType' ObjectIdNames[2739] = 'SemanticChangeEventType_Changes' ObjectIdNames[2742] = 'ServerType_Auditing' ObjectIdNames[2744] = 'ServerDiagnosticsType_SessionsDiagnosticsSummary' ObjectIdNames[2745] = 'AuditChannelEventType_SecureChannelId' ObjectIdNames[2746] = 'AuditOpenSecureChannelEventType_ClientCertificateThumbprint' ObjectIdNames[2747] = 'AuditCreateSessionEventType_ClientCertificateThumbprint' ObjectIdNames[2748] = 'AuditUrlMismatchEventType' ObjectIdNames[2749] = 'AuditUrlMismatchEventType_EndpointUrl' ObjectIdNames[2750] = 'AuditWriteUpdateEventType_AttributeId' ObjectIdNames[2751] = 'AuditHistoryUpdateEventType_ParameterDataTypeId' ObjectIdNames[2752] = 'ServerStatusType_SecondsTillShutdown' ObjectIdNames[2753] = 'ServerStatusType_ShutdownReason' ObjectIdNames[2754] = 'ServerCapabilitiesType_AggregateFunctions' ObjectIdNames[2755] = 'StateVariableType' ObjectIdNames[2756] = 'StateVariableType_Id' ObjectIdNames[2757] = 'StateVariableType_Name' ObjectIdNames[2758] = 'StateVariableType_Number' ObjectIdNames[2759] = 'StateVariableType_EffectiveDisplayName' ObjectIdNames[2760] = 'FiniteStateVariableType' ObjectIdNames[2761] = 'FiniteStateVariableType_Id' ObjectIdNames[2762] = 'TransitionVariableType' ObjectIdNames[2763] = 'TransitionVariableType_Id' ObjectIdNames[2764] = 'TransitionVariableType_Name' ObjectIdNames[2765] = 'TransitionVariableType_Number' ObjectIdNames[2766] = 'TransitionVariableType_TransitionTime' ObjectIdNames[2767] = 'FiniteTransitionVariableType' ObjectIdNames[2768] = 'FiniteTransitionVariableType_Id' ObjectIdNames[2769] = 'StateMachineType_CurrentState' ObjectIdNames[2770] = 'StateMachineType_LastTransition' ObjectIdNames[2771] = 'FiniteStateMachineType' ObjectIdNames[2772] = 'FiniteStateMachineType_CurrentState' ObjectIdNames[2773] = 'FiniteStateMachineType_LastTransition' ObjectIdNames[2774] = 'TransitionEventType_Transition' ObjectIdNames[2775] = 'TransitionEventType_FromState' ObjectIdNames[2776] = 'TransitionEventType_ToState' ObjectIdNames[2777] = 'AuditUpdateStateEventType_OldStateId' ObjectIdNames[2778] = 'AuditUpdateStateEventType_NewStateId' ObjectIdNames[2782] = 'ConditionType' ObjectIdNames[2787] = 'RefreshStartEventType' ObjectIdNames[2788] = 'RefreshEndEventType' ObjectIdNames[2789] = 'RefreshRequiredEventType' ObjectIdNames[2790] = 'AuditConditionEventType' ObjectIdNames[2803] = 'AuditConditionEnableEventType' ObjectIdNames[2829] = 'AuditConditionCommentEventType' ObjectIdNames[2830] = 'DialogConditionType' ObjectIdNames[2831] = 'DialogConditionType_Prompt' ObjectIdNames[2881] = 'AcknowledgeableConditionType' ObjectIdNames[2915] = 'AlarmConditionType' ObjectIdNames[2929] = 'ShelvedStateMachineType' ObjectIdNames[2930] = 'ShelvedStateMachineType_Unshelved' ObjectIdNames[2932] = 'ShelvedStateMachineType_TimedShelved' ObjectIdNames[2933] = 'ShelvedStateMachineType_OneShotShelved' ObjectIdNames[2935] = 'ShelvedStateMachineType_UnshelvedToTimedShelved' ObjectIdNames[2936] = 'ShelvedStateMachineType_UnshelvedToOneShotShelved' ObjectIdNames[2940] = 'ShelvedStateMachineType_TimedShelvedToUnshelved' ObjectIdNames[2942] = 'ShelvedStateMachineType_TimedShelvedToOneShotShelved' ObjectIdNames[2943] = 'ShelvedStateMachineType_OneShotShelvedToUnshelved' ObjectIdNames[2945] = 'ShelvedStateMachineType_OneShotShelvedToTimedShelved' ObjectIdNames[2947] = 'ShelvedStateMachineType_Unshelve' ObjectIdNames[2948] = 'ShelvedStateMachineType_OneShotShelve' ObjectIdNames[2949] = 'ShelvedStateMachineType_TimedShelve' ObjectIdNames[2955] = 'LimitAlarmType' ObjectIdNames[2991] = 'ShelvedStateMachineType_TimedShelve_InputArguments' ObjectIdNames[2992] = 'Server_ServerStatus_SecondsTillShutdown' ObjectIdNames[2993] = 'Server_ServerStatus_ShutdownReason' ObjectIdNames[2994] = 'Server_Auditing' ObjectIdNames[2996] = 'Server_ServerCapabilities_ModellingRules' ObjectIdNames[2997] = 'Server_ServerCapabilities_AggregateFunctions' ObjectIdNames[2998] = 'SubscriptionDiagnosticsType_EventNotificationsCount' ObjectIdNames[2999] = 'AuditHistoryEventUpdateEventType' ObjectIdNames[3003] = 'AuditHistoryEventUpdateEventType_Filter' ObjectIdNames[3006] = 'AuditHistoryValueUpdateEventType' ObjectIdNames[3012] = 'AuditHistoryDeleteEventType' ObjectIdNames[3014] = 'AuditHistoryRawModifyDeleteEventType' ObjectIdNames[3015] = 'AuditHistoryRawModifyDeleteEventType_IsDeleteModified' ObjectIdNames[3016] = 'AuditHistoryRawModifyDeleteEventType_StartTime' ObjectIdNames[3017] = 'AuditHistoryRawModifyDeleteEventType_EndTime' ObjectIdNames[3019] = 'AuditHistoryAtTimeDeleteEventType' ObjectIdNames[3020] = 'AuditHistoryAtTimeDeleteEventType_ReqTimes' ObjectIdNames[3021] = 'AuditHistoryAtTimeDeleteEventType_OldValues' ObjectIdNames[3022] = 'AuditHistoryEventDeleteEventType' ObjectIdNames[3023] = 'AuditHistoryEventDeleteEventType_EventIds' ObjectIdNames[3024] = 'AuditHistoryEventDeleteEventType_OldValues' ObjectIdNames[3025] = 'AuditHistoryEventUpdateEventType_UpdatedNode' ObjectIdNames[3026] = 'AuditHistoryValueUpdateEventType_UpdatedNode' ObjectIdNames[3027] = 'AuditHistoryDeleteEventType_UpdatedNode' ObjectIdNames[3028] = 'AuditHistoryEventUpdateEventType_PerformInsertReplace' ObjectIdNames[3029] = 'AuditHistoryEventUpdateEventType_NewValues' ObjectIdNames[3030] = 'AuditHistoryEventUpdateEventType_OldValues' ObjectIdNames[3031] = 'AuditHistoryValueUpdateEventType_PerformInsertReplace' ObjectIdNames[3032] = 'AuditHistoryValueUpdateEventType_NewValues' ObjectIdNames[3033] = 'AuditHistoryValueUpdateEventType_OldValues' ObjectIdNames[3034] = 'AuditHistoryRawModifyDeleteEventType_OldValues' ObjectIdNames[3035] = 'EventQueueOverflowEventType' ObjectIdNames[3048] = 'EventTypesFolder' ObjectIdNames[3049] = 'ServerCapabilitiesType_SoftwareCertificates' ObjectIdNames[3050] = 'SessionDiagnosticsVariableType_MaxResponseMessageSize' ObjectIdNames[3051] = 'BuildInfoType' ObjectIdNames[3052] = 'BuildInfoType_ProductUri' ObjectIdNames[3053] = 'BuildInfoType_ManufacturerName' ObjectIdNames[3054] = 'BuildInfoType_ProductName' ObjectIdNames[3055] = 'BuildInfoType_SoftwareVersion' ObjectIdNames[3056] = 'BuildInfoType_BuildNumber' ObjectIdNames[3057] = 'BuildInfoType_BuildDate' ObjectIdNames[3058] = 'SessionSecurityDiagnosticsType_ClientCertificate' ObjectIdNames[3059] = 'HistoricalDataConfigurationType_AggregateConfiguration' ObjectIdNames[3062] = 'DefaultBinary' ObjectIdNames[3063] = 'DefaultXml' ObjectIdNames[3065] = 'AlwaysGeneratesEvent' ObjectIdNames[3067] = 'Icon' ObjectIdNames[3068] = 'NodeVersion' ObjectIdNames[3069] = 'LocalTime' ObjectIdNames[3070] = 'AllowNulls' ObjectIdNames[3071] = 'EnumValues' ObjectIdNames[3072] = 'InputArguments' ObjectIdNames[3073] = 'OutputArguments' ObjectIdNames[3074] = 'ServerType_ServerStatus_StartTime' ObjectIdNames[3075] = 'ServerType_ServerStatus_CurrentTime' ObjectIdNames[3076] = 'ServerType_ServerStatus_State' ObjectIdNames[3077] = 'ServerType_ServerStatus_BuildInfo' ObjectIdNames[3078] = 'ServerType_ServerStatus_BuildInfo_ProductUri' ObjectIdNames[3079] = 'ServerType_ServerStatus_BuildInfo_ManufacturerName' ObjectIdNames[3080] = 'ServerType_ServerStatus_BuildInfo_ProductName' ObjectIdNames[3081] = 'ServerType_ServerStatus_BuildInfo_SoftwareVersion' ObjectIdNames[3082] = 'ServerType_ServerStatus_BuildInfo_BuildNumber' ObjectIdNames[3083] = 'ServerType_ServerStatus_BuildInfo_BuildDate' ObjectIdNames[3084] = 'ServerType_ServerStatus_SecondsTillShutdown' ObjectIdNames[3085] = 'ServerType_ServerStatus_ShutdownReason' ObjectIdNames[3086] = 'ServerType_ServerCapabilities_ServerProfileArray' ObjectIdNames[3087] = 'ServerType_ServerCapabilities_LocaleIdArray' ObjectIdNames[3088] = 'ServerType_ServerCapabilities_MinSupportedSampleRate' ObjectIdNames[3089] = 'ServerType_ServerCapabilities_MaxBrowseContinuationPoints' ObjectIdNames[3090] = 'ServerType_ServerCapabilities_MaxQueryContinuationPoints' ObjectIdNames[3091] = 'ServerType_ServerCapabilities_MaxHistoryContinuationPoints' ObjectIdNames[3092] = 'ServerType_ServerCapabilities_SoftwareCertificates' ObjectIdNames[3093] = 'ServerType_ServerCapabilities_ModellingRules' ObjectIdNames[3094] = 'ServerType_ServerCapabilities_AggregateFunctions' ObjectIdNames[3095] = 'ServerType_ServerDiagnostics_ServerDiagnosticsSummary' ObjectIdNames[3096] = 'ServerType_ServerDiagnostics_ServerDiagnosticsSummary_ServerViewCount' ObjectIdNames[3097] = 'ServerType_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSessionCount' ObjectIdNames[3098] = 'ServerType_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSessionCount' ObjectIdNames[3099] = 'ServerType_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedSessionCount' ObjectIdNames[3100] = 'ServerType_ServerDiagnostics_ServerDiagnosticsSummary_RejectedSessionCount' ObjectIdNames[3101] = 'ServerType_ServerDiagnostics_ServerDiagnosticsSummary_SessionTimeoutCount' ObjectIdNames[3102] = 'ServerType_ServerDiagnostics_ServerDiagnosticsSummary_SessionAbortCount' ObjectIdNames[3104] = 'ServerType_ServerDiagnostics_ServerDiagnosticsSummary_PublishingIntervalCount' ObjectIdNames[3105] = 'ServerType_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSubscriptionCount' ObjectIdNames[3106] = 'ServerType_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSubscriptionCount' ObjectIdNames[3107] = 'ServerType_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedRequestsCount' ObjectIdNames[3108] = 'ServerType_ServerDiagnostics_ServerDiagnosticsSummary_RejectedRequestsCount' ObjectIdNames[3109] = 'ServerType_ServerDiagnostics_SamplingIntervalDiagnosticsArray' ObjectIdNames[3110] = 'ServerType_ServerDiagnostics_SubscriptionDiagnosticsArray' ObjectIdNames[3111] = 'ServerType_ServerDiagnostics_SessionsDiagnosticsSummary' ObjectIdNames[3112] = 'ServerType_ServerDiagnostics_SessionsDiagnosticsSummary_SessionDiagnosticsArray' ObjectIdNames[3113] = 'ServerType_ServerDiagnostics_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray' ObjectIdNames[3114] = 'ServerType_ServerDiagnostics_EnabledFlag' ObjectIdNames[3115] = 'ServerType_ServerRedundancy_RedundancySupport' ObjectIdNames[3116] = 'ServerDiagnosticsType_ServerDiagnosticsSummary_ServerViewCount' ObjectIdNames[3117] = 'ServerDiagnosticsType_ServerDiagnosticsSummary_CurrentSessionCount' ObjectIdNames[3118] = 'ServerDiagnosticsType_ServerDiagnosticsSummary_CumulatedSessionCount' ObjectIdNames[3119] = 'ServerDiagnosticsType_ServerDiagnosticsSummary_SecurityRejectedSessionCount' ObjectIdNames[3120] = 'ServerDiagnosticsType_ServerDiagnosticsSummary_RejectedSessionCount' ObjectIdNames[3121] = 'ServerDiagnosticsType_ServerDiagnosticsSummary_SessionTimeoutCount' ObjectIdNames[3122] = 'ServerDiagnosticsType_ServerDiagnosticsSummary_SessionAbortCount' ObjectIdNames[3124] = 'ServerDiagnosticsType_ServerDiagnosticsSummary_PublishingIntervalCount' ObjectIdNames[3125] = 'ServerDiagnosticsType_ServerDiagnosticsSummary_CurrentSubscriptionCount' ObjectIdNames[3126] = 'ServerDiagnosticsType_ServerDiagnosticsSummary_CumulatedSubscriptionCount' ObjectIdNames[3127] = 'ServerDiagnosticsType_ServerDiagnosticsSummary_SecurityRejectedRequestsCount' ObjectIdNames[3128] = 'ServerDiagnosticsType_ServerDiagnosticsSummary_RejectedRequestsCount' ObjectIdNames[3129] = 'ServerDiagnosticsType_SessionsDiagnosticsSummary_SessionDiagnosticsArray' ObjectIdNames[3130] = 'ServerDiagnosticsType_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray' ObjectIdNames[3131] = 'SessionDiagnosticsObjectType_SessionDiagnostics_SessionId' ObjectIdNames[3132] = 'SessionDiagnosticsObjectType_SessionDiagnostics_SessionName' ObjectIdNames[3133] = 'SessionDiagnosticsObjectType_SessionDiagnostics_ClientDescription' ObjectIdNames[3134] = 'SessionDiagnosticsObjectType_SessionDiagnostics_ServerUri' ObjectIdNames[3135] = 'SessionDiagnosticsObjectType_SessionDiagnostics_EndpointUrl' ObjectIdNames[3136] = 'SessionDiagnosticsObjectType_SessionDiagnostics_LocaleIds' ObjectIdNames[3137] = 'SessionDiagnosticsObjectType_SessionDiagnostics_ActualSessionTimeout' ObjectIdNames[3138] = 'SessionDiagnosticsObjectType_SessionDiagnostics_MaxResponseMessageSize' ObjectIdNames[3139] = 'SessionDiagnosticsObjectType_SessionDiagnostics_ClientConnectionTime' ObjectIdNames[3140] = 'SessionDiagnosticsObjectType_SessionDiagnostics_ClientLastContactTime' ObjectIdNames[3141] = 'SessionDiagnosticsObjectType_SessionDiagnostics_CurrentSubscriptionsCount' ObjectIdNames[3142] = 'SessionDiagnosticsObjectType_SessionDiagnostics_CurrentMonitoredItemsCount' ObjectIdNames[3143] = 'SessionDiagnosticsObjectType_SessionDiagnostics_CurrentPublishRequestsInQueue' ObjectIdNames[3151] = 'SessionDiagnosticsObjectType_SessionDiagnostics_ReadCount' ObjectIdNames[3152] = 'SessionDiagnosticsObjectType_SessionDiagnostics_HistoryReadCount' ObjectIdNames[3153] = 'SessionDiagnosticsObjectType_SessionDiagnostics_WriteCount' ObjectIdNames[3154] = 'SessionDiagnosticsObjectType_SessionDiagnostics_HistoryUpdateCount' ObjectIdNames[3155] = 'SessionDiagnosticsObjectType_SessionDiagnostics_CallCount' ObjectIdNames[3156] = 'SessionDiagnosticsObjectType_SessionDiagnostics_CreateMonitoredItemsCount' ObjectIdNames[3157] = 'SessionDiagnosticsObjectType_SessionDiagnostics_ModifyMonitoredItemsCount' ObjectIdNames[3158] = 'SessionDiagnosticsObjectType_SessionDiagnostics_SetMonitoringModeCount' ObjectIdNames[3159] = 'SessionDiagnosticsObjectType_SessionDiagnostics_SetTriggeringCount' ObjectIdNames[3160] = 'SessionDiagnosticsObjectType_SessionDiagnostics_DeleteMonitoredItemsCount' ObjectIdNames[3161] = 'SessionDiagnosticsObjectType_SessionDiagnostics_CreateSubscriptionCount' ObjectIdNames[3162] = 'SessionDiagnosticsObjectType_SessionDiagnostics_ModifySubscriptionCount' ObjectIdNames[3163] = 'SessionDiagnosticsObjectType_SessionDiagnostics_SetPublishingModeCount' ObjectIdNames[3164] = 'SessionDiagnosticsObjectType_SessionDiagnostics_PublishCount' ObjectIdNames[3165] = 'SessionDiagnosticsObjectType_SessionDiagnostics_RepublishCount' ObjectIdNames[3166] = 'SessionDiagnosticsObjectType_SessionDiagnostics_TransferSubscriptionsCount' ObjectIdNames[3167] = 'SessionDiagnosticsObjectType_SessionDiagnostics_DeleteSubscriptionsCount' ObjectIdNames[3168] = 'SessionDiagnosticsObjectType_SessionDiagnostics_AddNodesCount' ObjectIdNames[3169] = 'SessionDiagnosticsObjectType_SessionDiagnostics_AddReferencesCount' ObjectIdNames[3170] = 'SessionDiagnosticsObjectType_SessionDiagnostics_DeleteNodesCount' ObjectIdNames[3171] = 'SessionDiagnosticsObjectType_SessionDiagnostics_DeleteReferencesCount' ObjectIdNames[3172] = 'SessionDiagnosticsObjectType_SessionDiagnostics_BrowseCount' ObjectIdNames[3173] = 'SessionDiagnosticsObjectType_SessionDiagnostics_BrowseNextCount' ObjectIdNames[3174] = 'SessionDiagnosticsObjectType_SessionDiagnostics_TranslateBrowsePathsToNodeIdsCount' ObjectIdNames[3175] = 'SessionDiagnosticsObjectType_SessionDiagnostics_QueryFirstCount' ObjectIdNames[3176] = 'SessionDiagnosticsObjectType_SessionDiagnostics_QueryNextCount' ObjectIdNames[3177] = 'SessionDiagnosticsObjectType_SessionDiagnostics_RegisterNodesCount' ObjectIdNames[3178] = 'SessionDiagnosticsObjectType_SessionDiagnostics_UnregisterNodesCount' ObjectIdNames[3179] = 'SessionDiagnosticsObjectType_SessionSecurityDiagnostics_SessionId' ObjectIdNames[3180] = 'SessionDiagnosticsObjectType_SessionSecurityDiagnostics_ClientUserIdOfSession' ObjectIdNames[3181] = 'SessionDiagnosticsObjectType_SessionSecurityDiagnostics_ClientUserIdHistory' ObjectIdNames[3182] = 'SessionDiagnosticsObjectType_SessionSecurityDiagnostics_AuthenticationMechanism' ObjectIdNames[3183] = 'SessionDiagnosticsObjectType_SessionSecurityDiagnostics_Encoding' ObjectIdNames[3184] = 'SessionDiagnosticsObjectType_SessionSecurityDiagnostics_TransportProtocol' ObjectIdNames[3185] = 'SessionDiagnosticsObjectType_SessionSecurityDiagnostics_SecurityMode' ObjectIdNames[3186] = 'SessionDiagnosticsObjectType_SessionSecurityDiagnostics_SecurityPolicyUri' ObjectIdNames[3187] = 'SessionDiagnosticsObjectType_SessionSecurityDiagnostics_ClientCertificate' ObjectIdNames[3188] = 'TransparentRedundancyType_RedundancySupport' ObjectIdNames[3189] = 'NonTransparentRedundancyType_RedundancySupport' ObjectIdNames[3190] = 'BaseEventType_LocalTime' ObjectIdNames[3191] = 'EventQueueOverflowEventType_EventId' ObjectIdNames[3192] = 'EventQueueOverflowEventType_EventType' ObjectIdNames[3193] = 'EventQueueOverflowEventType_SourceNode' ObjectIdNames[3194] = 'EventQueueOverflowEventType_SourceName' ObjectIdNames[3195] = 'EventQueueOverflowEventType_Time' ObjectIdNames[3196] = 'EventQueueOverflowEventType_ReceiveTime' ObjectIdNames[3197] = 'EventQueueOverflowEventType_LocalTime' ObjectIdNames[3198] = 'EventQueueOverflowEventType_Message' ObjectIdNames[3199] = 'EventQueueOverflowEventType_Severity' ObjectIdNames[3200] = 'AuditEventType_EventId' ObjectIdNames[3201] = 'AuditEventType_EventType' ObjectIdNames[3202] = 'AuditEventType_SourceNode' ObjectIdNames[3203] = 'AuditEventType_SourceName' ObjectIdNames[3204] = 'AuditEventType_Time' ObjectIdNames[3205] = 'AuditEventType_ReceiveTime' ObjectIdNames[3206] = 'AuditEventType_LocalTime' ObjectIdNames[3207] = 'AuditEventType_Message' ObjectIdNames[3208] = 'AuditEventType_Severity' ObjectIdNames[3209] = 'AuditSecurityEventType_EventId' ObjectIdNames[3210] = 'AuditSecurityEventType_EventType' ObjectIdNames[3211] = 'AuditSecurityEventType_SourceNode' ObjectIdNames[3212] = 'AuditSecurityEventType_SourceName' ObjectIdNames[3213] = 'AuditSecurityEventType_Time' ObjectIdNames[3214] = 'AuditSecurityEventType_ReceiveTime' ObjectIdNames[3215] = 'AuditSecurityEventType_LocalTime' ObjectIdNames[3216] = 'AuditSecurityEventType_Message' ObjectIdNames[3217] = 'AuditSecurityEventType_Severity' ObjectIdNames[3218] = 'AuditSecurityEventType_ActionTimeStamp' ObjectIdNames[3219] = 'AuditSecurityEventType_Status' ObjectIdNames[3220] = 'AuditSecurityEventType_ServerId' ObjectIdNames[3221] = 'AuditSecurityEventType_ClientAuditEntryId' ObjectIdNames[3222] = 'AuditSecurityEventType_ClientUserId' ObjectIdNames[3223] = 'AuditChannelEventType_EventId' ObjectIdNames[3224] = 'AuditChannelEventType_EventType' ObjectIdNames[3225] = 'AuditChannelEventType_SourceNode' ObjectIdNames[3226] = 'AuditChannelEventType_SourceName' ObjectIdNames[3227] = 'AuditChannelEventType_Time' ObjectIdNames[3228] = 'AuditChannelEventType_ReceiveTime' ObjectIdNames[3229] = 'AuditChannelEventType_LocalTime' ObjectIdNames[3230] = 'AuditChannelEventType_Message' ObjectIdNames[3231] = 'AuditChannelEventType_Severity' ObjectIdNames[3232] = 'AuditChannelEventType_ActionTimeStamp' ObjectIdNames[3233] = 'AuditChannelEventType_Status' ObjectIdNames[3234] = 'AuditChannelEventType_ServerId' ObjectIdNames[3235] = 'AuditChannelEventType_ClientAuditEntryId' ObjectIdNames[3236] = 'AuditChannelEventType_ClientUserId' ObjectIdNames[3237] = 'AuditOpenSecureChannelEventType_EventId' ObjectIdNames[3238] = 'AuditOpenSecureChannelEventType_EventType' ObjectIdNames[3239] = 'AuditOpenSecureChannelEventType_SourceNode' ObjectIdNames[3240] = 'AuditOpenSecureChannelEventType_SourceName' ObjectIdNames[3241] = 'AuditOpenSecureChannelEventType_Time' ObjectIdNames[3242] = 'AuditOpenSecureChannelEventType_ReceiveTime' ObjectIdNames[3243] = 'AuditOpenSecureChannelEventType_LocalTime' ObjectIdNames[3244] = 'AuditOpenSecureChannelEventType_Message' ObjectIdNames[3245] = 'AuditOpenSecureChannelEventType_Severity' ObjectIdNames[3246] = 'AuditOpenSecureChannelEventType_ActionTimeStamp' ObjectIdNames[3247] = 'AuditOpenSecureChannelEventType_Status' ObjectIdNames[3248] = 'AuditOpenSecureChannelEventType_ServerId' ObjectIdNames[3249] = 'AuditOpenSecureChannelEventType_ClientAuditEntryId' ObjectIdNames[3250] = 'AuditOpenSecureChannelEventType_ClientUserId' ObjectIdNames[3251] = 'AuditOpenSecureChannelEventType_SecureChannelId' ObjectIdNames[3252] = 'AuditSessionEventType_EventId' ObjectIdNames[3253] = 'AuditSessionEventType_EventType' ObjectIdNames[3254] = 'AuditSessionEventType_SourceNode' ObjectIdNames[3255] = 'AuditSessionEventType_SourceName' ObjectIdNames[3256] = 'AuditSessionEventType_Time' ObjectIdNames[3257] = 'AuditSessionEventType_ReceiveTime' ObjectIdNames[3258] = 'AuditSessionEventType_LocalTime' ObjectIdNames[3259] = 'AuditSessionEventType_Message' ObjectIdNames[3260] = 'AuditSessionEventType_Severity' ObjectIdNames[3261] = 'AuditSessionEventType_ActionTimeStamp' ObjectIdNames[3262] = 'AuditSessionEventType_Status' ObjectIdNames[3263] = 'AuditSessionEventType_ServerId' ObjectIdNames[3264] = 'AuditSessionEventType_ClientAuditEntryId' ObjectIdNames[3265] = 'AuditSessionEventType_ClientUserId' ObjectIdNames[3266] = 'AuditCreateSessionEventType_EventId' ObjectIdNames[3267] = 'AuditCreateSessionEventType_EventType' ObjectIdNames[3268] = 'AuditCreateSessionEventType_SourceNode' ObjectIdNames[3269] = 'AuditCreateSessionEventType_SourceName' ObjectIdNames[3270] = 'AuditCreateSessionEventType_Time' ObjectIdNames[3271] = 'AuditCreateSessionEventType_ReceiveTime' ObjectIdNames[3272] = 'AuditCreateSessionEventType_LocalTime' ObjectIdNames[3273] = 'AuditCreateSessionEventType_Message' ObjectIdNames[3274] = 'AuditCreateSessionEventType_Severity' ObjectIdNames[3275] = 'AuditCreateSessionEventType_ActionTimeStamp' ObjectIdNames[3276] = 'AuditCreateSessionEventType_Status' ObjectIdNames[3277] = 'AuditCreateSessionEventType_ServerId' ObjectIdNames[3278] = 'AuditCreateSessionEventType_ClientAuditEntryId' ObjectIdNames[3279] = 'AuditCreateSessionEventType_ClientUserId' ObjectIdNames[3281] = 'AuditUrlMismatchEventType_EventId' ObjectIdNames[3282] = 'AuditUrlMismatchEventType_EventType' ObjectIdNames[3283] = 'AuditUrlMismatchEventType_SourceNode' ObjectIdNames[3284] = 'AuditUrlMismatchEventType_SourceName' ObjectIdNames[3285] = 'AuditUrlMismatchEventType_Time' ObjectIdNames[3286] = 'AuditUrlMismatchEventType_ReceiveTime' ObjectIdNames[3287] = 'AuditUrlMismatchEventType_LocalTime' ObjectIdNames[3288] = 'AuditUrlMismatchEventType_Message' ObjectIdNames[3289] = 'AuditUrlMismatchEventType_Severity' ObjectIdNames[3290] = 'AuditUrlMismatchEventType_ActionTimeStamp' ObjectIdNames[3291] = 'AuditUrlMismatchEventType_Status' ObjectIdNames[3292] = 'AuditUrlMismatchEventType_ServerId' ObjectIdNames[3293] = 'AuditUrlMismatchEventType_ClientAuditEntryId' ObjectIdNames[3294] = 'AuditUrlMismatchEventType_ClientUserId' ObjectIdNames[3296] = 'AuditUrlMismatchEventType_SecureChannelId' ObjectIdNames[3297] = 'AuditUrlMismatchEventType_ClientCertificate' ObjectIdNames[3298] = 'AuditUrlMismatchEventType_ClientCertificateThumbprint' ObjectIdNames[3299] = 'AuditUrlMismatchEventType_RevisedSessionTimeout' ObjectIdNames[3300] = 'AuditActivateSessionEventType_EventId' ObjectIdNames[3301] = 'AuditActivateSessionEventType_EventType' ObjectIdNames[3302] = 'AuditActivateSessionEventType_SourceNode' ObjectIdNames[3303] = 'AuditActivateSessionEventType_SourceName' ObjectIdNames[3304] = 'AuditActivateSessionEventType_Time' ObjectIdNames[3305] = 'AuditActivateSessionEventType_ReceiveTime' ObjectIdNames[3306] = 'AuditActivateSessionEventType_LocalTime' ObjectIdNames[3307] = 'AuditActivateSessionEventType_Message' ObjectIdNames[3308] = 'AuditActivateSessionEventType_Severity' ObjectIdNames[3309] = 'AuditActivateSessionEventType_ActionTimeStamp' ObjectIdNames[3310] = 'AuditActivateSessionEventType_Status' ObjectIdNames[3311] = 'AuditActivateSessionEventType_ServerId' ObjectIdNames[3312] = 'AuditActivateSessionEventType_ClientAuditEntryId' ObjectIdNames[3313] = 'AuditActivateSessionEventType_ClientUserId' ObjectIdNames[3314] = 'AuditActivateSessionEventType_SessionId' ObjectIdNames[3315] = 'AuditCancelEventType_EventId' ObjectIdNames[3316] = 'AuditCancelEventType_EventType' ObjectIdNames[3317] = 'AuditCancelEventType_SourceNode' ObjectIdNames[3318] = 'AuditCancelEventType_SourceName' ObjectIdNames[3319] = 'AuditCancelEventType_Time' ObjectIdNames[3320] = 'AuditCancelEventType_ReceiveTime' ObjectIdNames[3321] = 'AuditCancelEventType_LocalTime' ObjectIdNames[3322] = 'AuditCancelEventType_Message' ObjectIdNames[3323] = 'AuditCancelEventType_Severity' ObjectIdNames[3324] = 'AuditCancelEventType_ActionTimeStamp' ObjectIdNames[3325] = 'AuditCancelEventType_Status' ObjectIdNames[3326] = 'AuditCancelEventType_ServerId' ObjectIdNames[3327] = 'AuditCancelEventType_ClientAuditEntryId' ObjectIdNames[3328] = 'AuditCancelEventType_ClientUserId' ObjectIdNames[3329] = 'AuditCancelEventType_SessionId' ObjectIdNames[3330] = 'AuditCertificateEventType_EventId' ObjectIdNames[3331] = 'AuditCertificateEventType_EventType' ObjectIdNames[3332] = 'AuditCertificateEventType_SourceNode' ObjectIdNames[3333] = 'AuditCertificateEventType_SourceName' ObjectIdNames[3334] = 'AuditCertificateEventType_Time' ObjectIdNames[3335] = 'AuditCertificateEventType_ReceiveTime' ObjectIdNames[3336] = 'AuditCertificateEventType_LocalTime' ObjectIdNames[3337] = 'AuditCertificateEventType_Message' ObjectIdNames[3338] = 'AuditCertificateEventType_Severity' ObjectIdNames[3339] = 'AuditCertificateEventType_ActionTimeStamp' ObjectIdNames[3340] = 'AuditCertificateEventType_Status' ObjectIdNames[3341] = 'AuditCertificateEventType_ServerId' ObjectIdNames[3342] = 'AuditCertificateEventType_ClientAuditEntryId' ObjectIdNames[3343] = 'AuditCertificateEventType_ClientUserId' ObjectIdNames[3344] = 'AuditCertificateDataMismatchEventType_EventId' ObjectIdNames[3345] = 'AuditCertificateDataMismatchEventType_EventType' ObjectIdNames[3346] = 'AuditCertificateDataMismatchEventType_SourceNode' ObjectIdNames[3347] = 'AuditCertificateDataMismatchEventType_SourceName' ObjectIdNames[3348] = 'AuditCertificateDataMismatchEventType_Time' ObjectIdNames[3349] = 'AuditCertificateDataMismatchEventType_ReceiveTime' ObjectIdNames[3350] = 'AuditCertificateDataMismatchEventType_LocalTime' ObjectIdNames[3351] = 'AuditCertificateDataMismatchEventType_Message' ObjectIdNames[3352] = 'AuditCertificateDataMismatchEventType_Severity' ObjectIdNames[3353] = 'AuditCertificateDataMismatchEventType_ActionTimeStamp' ObjectIdNames[3354] = 'AuditCertificateDataMismatchEventType_Status' ObjectIdNames[3355] = 'AuditCertificateDataMismatchEventType_ServerId' ObjectIdNames[3356] = 'AuditCertificateDataMismatchEventType_ClientAuditEntryId' ObjectIdNames[3357] = 'AuditCertificateDataMismatchEventType_ClientUserId' ObjectIdNames[3358] = 'AuditCertificateDataMismatchEventType_Certificate' ObjectIdNames[3359] = 'AuditCertificateExpiredEventType_EventId' ObjectIdNames[3360] = 'AuditCertificateExpiredEventType_EventType' ObjectIdNames[3361] = 'AuditCertificateExpiredEventType_SourceNode' ObjectIdNames[3362] = 'AuditCertificateExpiredEventType_SourceName' ObjectIdNames[3363] = 'AuditCertificateExpiredEventType_Time' ObjectIdNames[3364] = 'AuditCertificateExpiredEventType_ReceiveTime' ObjectIdNames[3365] = 'AuditCertificateExpiredEventType_LocalTime' ObjectIdNames[3366] = 'AuditCertificateExpiredEventType_Message' ObjectIdNames[3367] = 'AuditCertificateExpiredEventType_Severity' ObjectIdNames[3368] = 'AuditCertificateExpiredEventType_ActionTimeStamp' ObjectIdNames[3369] = 'AuditCertificateExpiredEventType_Status' ObjectIdNames[3370] = 'AuditCertificateExpiredEventType_ServerId' ObjectIdNames[3371] = 'AuditCertificateExpiredEventType_ClientAuditEntryId' ObjectIdNames[3372] = 'AuditCertificateExpiredEventType_ClientUserId' ObjectIdNames[3373] = 'AuditCertificateExpiredEventType_Certificate' ObjectIdNames[3374] = 'AuditCertificateInvalidEventType_EventId' ObjectIdNames[3375] = 'AuditCertificateInvalidEventType_EventType' ObjectIdNames[3376] = 'AuditCertificateInvalidEventType_SourceNode' ObjectIdNames[3377] = 'AuditCertificateInvalidEventType_SourceName' ObjectIdNames[3378] = 'AuditCertificateInvalidEventType_Time' ObjectIdNames[3379] = 'AuditCertificateInvalidEventType_ReceiveTime' ObjectIdNames[3380] = 'AuditCertificateInvalidEventType_LocalTime' ObjectIdNames[3381] = 'AuditCertificateInvalidEventType_Message' ObjectIdNames[3382] = 'AuditCertificateInvalidEventType_Severity' ObjectIdNames[3383] = 'AuditCertificateInvalidEventType_ActionTimeStamp' ObjectIdNames[3384] = 'AuditCertificateInvalidEventType_Status' ObjectIdNames[3385] = 'AuditCertificateInvalidEventType_ServerId' ObjectIdNames[3386] = 'AuditCertificateInvalidEventType_ClientAuditEntryId' ObjectIdNames[3387] = 'AuditCertificateInvalidEventType_ClientUserId' ObjectIdNames[3388] = 'AuditCertificateInvalidEventType_Certificate' ObjectIdNames[3389] = 'AuditCertificateUntrustedEventType_EventId' ObjectIdNames[3390] = 'AuditCertificateUntrustedEventType_EventType' ObjectIdNames[3391] = 'AuditCertificateUntrustedEventType_SourceNode' ObjectIdNames[3392] = 'AuditCertificateUntrustedEventType_SourceName' ObjectIdNames[3393] = 'AuditCertificateUntrustedEventType_Time' ObjectIdNames[3394] = 'AuditCertificateUntrustedEventType_ReceiveTime' ObjectIdNames[3395] = 'AuditCertificateUntrustedEventType_LocalTime' ObjectIdNames[3396] = 'AuditCertificateUntrustedEventType_Message' ObjectIdNames[3397] = 'AuditCertificateUntrustedEventType_Severity' ObjectIdNames[3398] = 'AuditCertificateUntrustedEventType_ActionTimeStamp' ObjectIdNames[3399] = 'AuditCertificateUntrustedEventType_Status' ObjectIdNames[3400] = 'AuditCertificateUntrustedEventType_ServerId' ObjectIdNames[3401] = 'AuditCertificateUntrustedEventType_ClientAuditEntryId' ObjectIdNames[3402] = 'AuditCertificateUntrustedEventType_ClientUserId' ObjectIdNames[3403] = 'AuditCertificateUntrustedEventType_Certificate' ObjectIdNames[3404] = 'AuditCertificateRevokedEventType_EventId' ObjectIdNames[3405] = 'AuditCertificateRevokedEventType_EventType' ObjectIdNames[3406] = 'AuditCertificateRevokedEventType_SourceNode' ObjectIdNames[3407] = 'AuditCertificateRevokedEventType_SourceName' ObjectIdNames[3408] = 'AuditCertificateRevokedEventType_Time' ObjectIdNames[3409] = 'AuditCertificateRevokedEventType_ReceiveTime' ObjectIdNames[3410] = 'AuditCertificateRevokedEventType_LocalTime' ObjectIdNames[3411] = 'AuditCertificateRevokedEventType_Message' ObjectIdNames[3412] = 'AuditCertificateRevokedEventType_Severity' ObjectIdNames[3413] = 'AuditCertificateRevokedEventType_ActionTimeStamp' ObjectIdNames[3414] = 'AuditCertificateRevokedEventType_Status' ObjectIdNames[3415] = 'AuditCertificateRevokedEventType_ServerId' ObjectIdNames[3416] = 'AuditCertificateRevokedEventType_ClientAuditEntryId' ObjectIdNames[3417] = 'AuditCertificateRevokedEventType_ClientUserId' ObjectIdNames[3418] = 'AuditCertificateRevokedEventType_Certificate' ObjectIdNames[3419] = 'AuditCertificateMismatchEventType_EventId' ObjectIdNames[3420] = 'AuditCertificateMismatchEventType_EventType' ObjectIdNames[3421] = 'AuditCertificateMismatchEventType_SourceNode' ObjectIdNames[3422] = 'AuditCertificateMismatchEventType_SourceName' ObjectIdNames[3423] = 'AuditCertificateMismatchEventType_Time' ObjectIdNames[3424] = 'AuditCertificateMismatchEventType_ReceiveTime' ObjectIdNames[3425] = 'AuditCertificateMismatchEventType_LocalTime' ObjectIdNames[3426] = 'AuditCertificateMismatchEventType_Message' ObjectIdNames[3427] = 'AuditCertificateMismatchEventType_Severity' ObjectIdNames[3428] = 'AuditCertificateMismatchEventType_ActionTimeStamp' ObjectIdNames[3429] = 'AuditCertificateMismatchEventType_Status' ObjectIdNames[3430] = 'AuditCertificateMismatchEventType_ServerId' ObjectIdNames[3431] = 'AuditCertificateMismatchEventType_ClientAuditEntryId' ObjectIdNames[3432] = 'AuditCertificateMismatchEventType_ClientUserId' ObjectIdNames[3433] = 'AuditCertificateMismatchEventType_Certificate' ObjectIdNames[3434] = 'AuditNodeManagementEventType_EventId' ObjectIdNames[3435] = 'AuditNodeManagementEventType_EventType' ObjectIdNames[3436] = 'AuditNodeManagementEventType_SourceNode' ObjectIdNames[3437] = 'AuditNodeManagementEventType_SourceName' ObjectIdNames[3438] = 'AuditNodeManagementEventType_Time' ObjectIdNames[3439] = 'AuditNodeManagementEventType_ReceiveTime' ObjectIdNames[3440] = 'AuditNodeManagementEventType_LocalTime' ObjectIdNames[3441] = 'AuditNodeManagementEventType_Message' ObjectIdNames[3442] = 'AuditNodeManagementEventType_Severity' ObjectIdNames[3443] = 'AuditNodeManagementEventType_ActionTimeStamp' ObjectIdNames[3444] = 'AuditNodeManagementEventType_Status' ObjectIdNames[3445] = 'AuditNodeManagementEventType_ServerId' ObjectIdNames[3446] = 'AuditNodeManagementEventType_ClientAuditEntryId' ObjectIdNames[3447] = 'AuditNodeManagementEventType_ClientUserId' ObjectIdNames[3448] = 'AuditAddNodesEventType_EventId' ObjectIdNames[3449] = 'AuditAddNodesEventType_EventType' ObjectIdNames[3450] = 'AuditAddNodesEventType_SourceNode' ObjectIdNames[3451] = 'AuditAddNodesEventType_SourceName' ObjectIdNames[3452] = 'AuditAddNodesEventType_Time' ObjectIdNames[3453] = 'AuditAddNodesEventType_ReceiveTime' ObjectIdNames[3454] = 'AuditAddNodesEventType_LocalTime' ObjectIdNames[3455] = 'AuditAddNodesEventType_Message' ObjectIdNames[3456] = 'AuditAddNodesEventType_Severity' ObjectIdNames[3457] = 'AuditAddNodesEventType_ActionTimeStamp' ObjectIdNames[3458] = 'AuditAddNodesEventType_Status' ObjectIdNames[3459] = 'AuditAddNodesEventType_ServerId' ObjectIdNames[3460] = 'AuditAddNodesEventType_ClientAuditEntryId' ObjectIdNames[3461] = 'AuditAddNodesEventType_ClientUserId' ObjectIdNames[3462] = 'AuditDeleteNodesEventType_EventId' ObjectIdNames[3463] = 'AuditDeleteNodesEventType_EventType' ObjectIdNames[3464] = 'AuditDeleteNodesEventType_SourceNode' ObjectIdNames[3465] = 'AuditDeleteNodesEventType_SourceName' ObjectIdNames[3466] = 'AuditDeleteNodesEventType_Time' ObjectIdNames[3467] = 'AuditDeleteNodesEventType_ReceiveTime' ObjectIdNames[3468] = 'AuditDeleteNodesEventType_LocalTime' ObjectIdNames[3469] = 'AuditDeleteNodesEventType_Message' ObjectIdNames[3470] = 'AuditDeleteNodesEventType_Severity' ObjectIdNames[3471] = 'AuditDeleteNodesEventType_ActionTimeStamp' ObjectIdNames[3472] = 'AuditDeleteNodesEventType_Status' ObjectIdNames[3473] = 'AuditDeleteNodesEventType_ServerId' ObjectIdNames[3474] = 'AuditDeleteNodesEventType_ClientAuditEntryId' ObjectIdNames[3475] = 'AuditDeleteNodesEventType_ClientUserId' ObjectIdNames[3476] = 'AuditAddReferencesEventType_EventId' ObjectIdNames[3477] = 'AuditAddReferencesEventType_EventType' ObjectIdNames[3478] = 'AuditAddReferencesEventType_SourceNode' ObjectIdNames[3479] = 'AuditAddReferencesEventType_SourceName' ObjectIdNames[3480] = 'AuditAddReferencesEventType_Time' ObjectIdNames[3481] = 'AuditAddReferencesEventType_ReceiveTime' ObjectIdNames[3482] = 'AuditAddReferencesEventType_LocalTime' ObjectIdNames[3483] = 'AuditAddReferencesEventType_Message' ObjectIdNames[3484] = 'AuditAddReferencesEventType_Severity' ObjectIdNames[3485] = 'AuditAddReferencesEventType_ActionTimeStamp' ObjectIdNames[3486] = 'AuditAddReferencesEventType_Status' ObjectIdNames[3487] = 'AuditAddReferencesEventType_ServerId' ObjectIdNames[3488] = 'AuditAddReferencesEventType_ClientAuditEntryId' ObjectIdNames[3489] = 'AuditAddReferencesEventType_ClientUserId' ObjectIdNames[3490] = 'AuditDeleteReferencesEventType_EventId' ObjectIdNames[3491] = 'AuditDeleteReferencesEventType_EventType' ObjectIdNames[3492] = 'AuditDeleteReferencesEventType_SourceNode' ObjectIdNames[3493] = 'AuditDeleteReferencesEventType_SourceName' ObjectIdNames[3494] = 'AuditDeleteReferencesEventType_Time' ObjectIdNames[3495] = 'AuditDeleteReferencesEventType_ReceiveTime' ObjectIdNames[3496] = 'AuditDeleteReferencesEventType_LocalTime' ObjectIdNames[3497] = 'AuditDeleteReferencesEventType_Message' ObjectIdNames[3498] = 'AuditDeleteReferencesEventType_Severity' ObjectIdNames[3499] = 'AuditDeleteReferencesEventType_ActionTimeStamp' ObjectIdNames[3500] = 'AuditDeleteReferencesEventType_Status' ObjectIdNames[3501] = 'AuditDeleteReferencesEventType_ServerId' ObjectIdNames[3502] = 'AuditDeleteReferencesEventType_ClientAuditEntryId' ObjectIdNames[3503] = 'AuditDeleteReferencesEventType_ClientUserId' ObjectIdNames[3504] = 'AuditUpdateEventType_EventId' ObjectIdNames[3505] = 'AuditUpdateEventType_EventType' ObjectIdNames[3506] = 'AuditUpdateEventType_SourceNode' ObjectIdNames[3507] = 'AuditUpdateEventType_SourceName' ObjectIdNames[3508] = 'AuditUpdateEventType_Time' ObjectIdNames[3509] = 'AuditUpdateEventType_ReceiveTime' ObjectIdNames[3510] = 'AuditUpdateEventType_LocalTime' ObjectIdNames[3511] = 'AuditUpdateEventType_Message' ObjectIdNames[3512] = 'AuditUpdateEventType_Severity' ObjectIdNames[3513] = 'AuditUpdateEventType_ActionTimeStamp' ObjectIdNames[3514] = 'AuditUpdateEventType_Status' ObjectIdNames[3515] = 'AuditUpdateEventType_ServerId' ObjectIdNames[3516] = 'AuditUpdateEventType_ClientAuditEntryId' ObjectIdNames[3517] = 'AuditUpdateEventType_ClientUserId' ObjectIdNames[3518] = 'AuditWriteUpdateEventType_EventId' ObjectIdNames[3519] = 'AuditWriteUpdateEventType_EventType' ObjectIdNames[3520] = 'AuditWriteUpdateEventType_SourceNode' ObjectIdNames[3521] = 'AuditWriteUpdateEventType_SourceName' ObjectIdNames[3522] = 'AuditWriteUpdateEventType_Time' ObjectIdNames[3523] = 'AuditWriteUpdateEventType_ReceiveTime' ObjectIdNames[3524] = 'AuditWriteUpdateEventType_LocalTime' ObjectIdNames[3525] = 'AuditWriteUpdateEventType_Message' ObjectIdNames[3526] = 'AuditWriteUpdateEventType_Severity' ObjectIdNames[3527] = 'AuditWriteUpdateEventType_ActionTimeStamp' ObjectIdNames[3528] = 'AuditWriteUpdateEventType_Status' ObjectIdNames[3529] = 'AuditWriteUpdateEventType_ServerId' ObjectIdNames[3530] = 'AuditWriteUpdateEventType_ClientAuditEntryId' ObjectIdNames[3531] = 'AuditWriteUpdateEventType_ClientUserId' ObjectIdNames[3532] = 'AuditHistoryUpdateEventType_EventId' ObjectIdNames[3533] = 'AuditHistoryUpdateEventType_EventType' ObjectIdNames[3534] = 'AuditHistoryUpdateEventType_SourceNode' ObjectIdNames[3535] = 'AuditHistoryUpdateEventType_SourceName' ObjectIdNames[3536] = 'AuditHistoryUpdateEventType_Time' ObjectIdNames[3537] = 'AuditHistoryUpdateEventType_ReceiveTime' ObjectIdNames[3538] = 'AuditHistoryUpdateEventType_LocalTime' ObjectIdNames[3539] = 'AuditHistoryUpdateEventType_Message' ObjectIdNames[3540] = 'AuditHistoryUpdateEventType_Severity' ObjectIdNames[3541] = 'AuditHistoryUpdateEventType_ActionTimeStamp' ObjectIdNames[3542] = 'AuditHistoryUpdateEventType_Status' ObjectIdNames[3543] = 'AuditHistoryUpdateEventType_ServerId' ObjectIdNames[3544] = 'AuditHistoryUpdateEventType_ClientAuditEntryId' ObjectIdNames[3545] = 'AuditHistoryUpdateEventType_ClientUserId' ObjectIdNames[3546] = 'AuditHistoryEventUpdateEventType_EventId' ObjectIdNames[3547] = 'AuditHistoryEventUpdateEventType_EventType' ObjectIdNames[3548] = 'AuditHistoryEventUpdateEventType_SourceNode' ObjectIdNames[3549] = 'AuditHistoryEventUpdateEventType_SourceName' ObjectIdNames[3550] = 'AuditHistoryEventUpdateEventType_Time' ObjectIdNames[3551] = 'AuditHistoryEventUpdateEventType_ReceiveTime' ObjectIdNames[3552] = 'AuditHistoryEventUpdateEventType_LocalTime' ObjectIdNames[3553] = 'AuditHistoryEventUpdateEventType_Message' ObjectIdNames[3554] = 'AuditHistoryEventUpdateEventType_Severity' ObjectIdNames[3555] = 'AuditHistoryEventUpdateEventType_ActionTimeStamp' ObjectIdNames[3556] = 'AuditHistoryEventUpdateEventType_Status' ObjectIdNames[3557] = 'AuditHistoryEventUpdateEventType_ServerId' ObjectIdNames[3558] = 'AuditHistoryEventUpdateEventType_ClientAuditEntryId' ObjectIdNames[3559] = 'AuditHistoryEventUpdateEventType_ClientUserId' ObjectIdNames[3560] = 'AuditHistoryEventUpdateEventType_ParameterDataTypeId' ObjectIdNames[3561] = 'AuditHistoryValueUpdateEventType_EventId' ObjectIdNames[3562] = 'AuditHistoryValueUpdateEventType_EventType' ObjectIdNames[3563] = 'AuditHistoryValueUpdateEventType_SourceNode' ObjectIdNames[3564] = 'AuditHistoryValueUpdateEventType_SourceName' ObjectIdNames[3565] = 'AuditHistoryValueUpdateEventType_Time' ObjectIdNames[3566] = 'AuditHistoryValueUpdateEventType_ReceiveTime' ObjectIdNames[3567] = 'AuditHistoryValueUpdateEventType_LocalTime' ObjectIdNames[3568] = 'AuditHistoryValueUpdateEventType_Message' ObjectIdNames[3569] = 'AuditHistoryValueUpdateEventType_Severity' ObjectIdNames[3570] = 'AuditHistoryValueUpdateEventType_ActionTimeStamp' ObjectIdNames[3571] = 'AuditHistoryValueUpdateEventType_Status' ObjectIdNames[3572] = 'AuditHistoryValueUpdateEventType_ServerId' ObjectIdNames[3573] = 'AuditHistoryValueUpdateEventType_ClientAuditEntryId' ObjectIdNames[3574] = 'AuditHistoryValueUpdateEventType_ClientUserId' ObjectIdNames[3575] = 'AuditHistoryValueUpdateEventType_ParameterDataTypeId' ObjectIdNames[3576] = 'AuditHistoryDeleteEventType_EventId' ObjectIdNames[3577] = 'AuditHistoryDeleteEventType_EventType' ObjectIdNames[3578] = 'AuditHistoryDeleteEventType_SourceNode' ObjectIdNames[3579] = 'AuditHistoryDeleteEventType_SourceName' ObjectIdNames[3580] = 'AuditHistoryDeleteEventType_Time' ObjectIdNames[3581] = 'AuditHistoryDeleteEventType_ReceiveTime' ObjectIdNames[3582] = 'AuditHistoryDeleteEventType_LocalTime' ObjectIdNames[3583] = 'AuditHistoryDeleteEventType_Message' ObjectIdNames[3584] = 'AuditHistoryDeleteEventType_Severity' ObjectIdNames[3585] = 'AuditHistoryDeleteEventType_ActionTimeStamp' ObjectIdNames[3586] = 'AuditHistoryDeleteEventType_Status' ObjectIdNames[3587] = 'AuditHistoryDeleteEventType_ServerId' ObjectIdNames[3588] = 'AuditHistoryDeleteEventType_ClientAuditEntryId' ObjectIdNames[3589] = 'AuditHistoryDeleteEventType_ClientUserId' ObjectIdNames[3590] = 'AuditHistoryDeleteEventType_ParameterDataTypeId' ObjectIdNames[3591] = 'AuditHistoryRawModifyDeleteEventType_EventId' ObjectIdNames[3592] = 'AuditHistoryRawModifyDeleteEventType_EventType' ObjectIdNames[3593] = 'AuditHistoryRawModifyDeleteEventType_SourceNode' ObjectIdNames[3594] = 'AuditHistoryRawModifyDeleteEventType_SourceName' ObjectIdNames[3595] = 'AuditHistoryRawModifyDeleteEventType_Time' ObjectIdNames[3596] = 'AuditHistoryRawModifyDeleteEventType_ReceiveTime' ObjectIdNames[3597] = 'AuditHistoryRawModifyDeleteEventType_LocalTime' ObjectIdNames[3598] = 'AuditHistoryRawModifyDeleteEventType_Message' ObjectIdNames[3599] = 'AuditHistoryRawModifyDeleteEventType_Severity' ObjectIdNames[3600] = 'AuditHistoryRawModifyDeleteEventType_ActionTimeStamp' ObjectIdNames[3601] = 'AuditHistoryRawModifyDeleteEventType_Status' ObjectIdNames[3602] = 'AuditHistoryRawModifyDeleteEventType_ServerId' ObjectIdNames[3603] = 'AuditHistoryRawModifyDeleteEventType_ClientAuditEntryId' ObjectIdNames[3604] = 'AuditHistoryRawModifyDeleteEventType_ClientUserId' ObjectIdNames[3605] = 'AuditHistoryRawModifyDeleteEventType_ParameterDataTypeId' ObjectIdNames[3606] = 'AuditHistoryRawModifyDeleteEventType_UpdatedNode' ObjectIdNames[3607] = 'AuditHistoryAtTimeDeleteEventType_EventId' ObjectIdNames[3608] = 'AuditHistoryAtTimeDeleteEventType_EventType' ObjectIdNames[3609] = 'AuditHistoryAtTimeDeleteEventType_SourceNode' ObjectIdNames[3610] = 'AuditHistoryAtTimeDeleteEventType_SourceName' ObjectIdNames[3611] = 'AuditHistoryAtTimeDeleteEventType_Time' ObjectIdNames[3612] = 'AuditHistoryAtTimeDeleteEventType_ReceiveTime' ObjectIdNames[3613] = 'AuditHistoryAtTimeDeleteEventType_LocalTime' ObjectIdNames[3614] = 'AuditHistoryAtTimeDeleteEventType_Message' ObjectIdNames[3615] = 'AuditHistoryAtTimeDeleteEventType_Severity' ObjectIdNames[3616] = 'AuditHistoryAtTimeDeleteEventType_ActionTimeStamp' ObjectIdNames[3617] = 'AuditHistoryAtTimeDeleteEventType_Status' ObjectIdNames[3618] = 'AuditHistoryAtTimeDeleteEventType_ServerId' ObjectIdNames[3619] = 'AuditHistoryAtTimeDeleteEventType_ClientAuditEntryId' ObjectIdNames[3620] = 'AuditHistoryAtTimeDeleteEventType_ClientUserId' ObjectIdNames[3621] = 'AuditHistoryAtTimeDeleteEventType_ParameterDataTypeId' ObjectIdNames[3622] = 'AuditHistoryAtTimeDeleteEventType_UpdatedNode' ObjectIdNames[3623] = 'AuditHistoryEventDeleteEventType_EventId' ObjectIdNames[3624] = 'AuditHistoryEventDeleteEventType_EventType' ObjectIdNames[3625] = 'AuditHistoryEventDeleteEventType_SourceNode' ObjectIdNames[3626] = 'AuditHistoryEventDeleteEventType_SourceName' ObjectIdNames[3627] = 'AuditHistoryEventDeleteEventType_Time' ObjectIdNames[3628] = 'AuditHistoryEventDeleteEventType_ReceiveTime' ObjectIdNames[3629] = 'AuditHistoryEventDeleteEventType_LocalTime' ObjectIdNames[3630] = 'AuditHistoryEventDeleteEventType_Message' ObjectIdNames[3631] = 'AuditHistoryEventDeleteEventType_Severity' ObjectIdNames[3632] = 'AuditHistoryEventDeleteEventType_ActionTimeStamp' ObjectIdNames[3633] = 'AuditHistoryEventDeleteEventType_Status' ObjectIdNames[3634] = 'AuditHistoryEventDeleteEventType_ServerId' ObjectIdNames[3635] = 'AuditHistoryEventDeleteEventType_ClientAuditEntryId' ObjectIdNames[3636] = 'AuditHistoryEventDeleteEventType_ClientUserId' ObjectIdNames[3637] = 'AuditHistoryEventDeleteEventType_ParameterDataTypeId' ObjectIdNames[3638] = 'AuditHistoryEventDeleteEventType_UpdatedNode' ObjectIdNames[3639] = 'AuditUpdateMethodEventType_EventId' ObjectIdNames[3640] = 'AuditUpdateMethodEventType_EventType' ObjectIdNames[3641] = 'AuditUpdateMethodEventType_SourceNode' ObjectIdNames[3642] = 'AuditUpdateMethodEventType_SourceName' ObjectIdNames[3643] = 'AuditUpdateMethodEventType_Time' ObjectIdNames[3644] = 'AuditUpdateMethodEventType_ReceiveTime' ObjectIdNames[3645] = 'AuditUpdateMethodEventType_LocalTime' ObjectIdNames[3646] = 'AuditUpdateMethodEventType_Message' ObjectIdNames[3647] = 'AuditUpdateMethodEventType_Severity' ObjectIdNames[3648] = 'AuditUpdateMethodEventType_ActionTimeStamp' ObjectIdNames[3649] = 'AuditUpdateMethodEventType_Status' ObjectIdNames[3650] = 'AuditUpdateMethodEventType_ServerId' ObjectIdNames[3651] = 'AuditUpdateMethodEventType_ClientAuditEntryId' ObjectIdNames[3652] = 'AuditUpdateMethodEventType_ClientUserId' ObjectIdNames[3653] = 'SystemEventType_EventId' ObjectIdNames[3654] = 'SystemEventType_EventType' ObjectIdNames[3655] = 'SystemEventType_SourceNode' ObjectIdNames[3656] = 'SystemEventType_SourceName' ObjectIdNames[3657] = 'SystemEventType_Time' ObjectIdNames[3658] = 'SystemEventType_ReceiveTime' ObjectIdNames[3659] = 'SystemEventType_LocalTime' ObjectIdNames[3660] = 'SystemEventType_Message' ObjectIdNames[3661] = 'SystemEventType_Severity' ObjectIdNames[3662] = 'DeviceFailureEventType_EventId' ObjectIdNames[3663] = 'DeviceFailureEventType_EventType' ObjectIdNames[3664] = 'DeviceFailureEventType_SourceNode' ObjectIdNames[3665] = 'DeviceFailureEventType_SourceName' ObjectIdNames[3666] = 'DeviceFailureEventType_Time' ObjectIdNames[3667] = 'DeviceFailureEventType_ReceiveTime' ObjectIdNames[3668] = 'DeviceFailureEventType_LocalTime' ObjectIdNames[3669] = 'DeviceFailureEventType_Message' ObjectIdNames[3670] = 'DeviceFailureEventType_Severity' ObjectIdNames[3671] = 'BaseModelChangeEventType_EventId' ObjectIdNames[3672] = 'BaseModelChangeEventType_EventType' ObjectIdNames[3673] = 'BaseModelChangeEventType_SourceNode' ObjectIdNames[3674] = 'BaseModelChangeEventType_SourceName' ObjectIdNames[3675] = 'BaseModelChangeEventType_Time' ObjectIdNames[3676] = 'BaseModelChangeEventType_ReceiveTime' ObjectIdNames[3677] = 'BaseModelChangeEventType_LocalTime' ObjectIdNames[3678] = 'BaseModelChangeEventType_Message' ObjectIdNames[3679] = 'BaseModelChangeEventType_Severity' ObjectIdNames[3680] = 'GeneralModelChangeEventType_EventId' ObjectIdNames[3681] = 'GeneralModelChangeEventType_EventType' ObjectIdNames[3682] = 'GeneralModelChangeEventType_SourceNode' ObjectIdNames[3683] = 'GeneralModelChangeEventType_SourceName' ObjectIdNames[3684] = 'GeneralModelChangeEventType_Time' ObjectIdNames[3685] = 'GeneralModelChangeEventType_ReceiveTime' ObjectIdNames[3686] = 'GeneralModelChangeEventType_LocalTime' ObjectIdNames[3687] = 'GeneralModelChangeEventType_Message' ObjectIdNames[3688] = 'GeneralModelChangeEventType_Severity' ObjectIdNames[3689] = 'SemanticChangeEventType_EventId' ObjectIdNames[3690] = 'SemanticChangeEventType_EventType' ObjectIdNames[3691] = 'SemanticChangeEventType_SourceNode' ObjectIdNames[3692] = 'SemanticChangeEventType_SourceName' ObjectIdNames[3693] = 'SemanticChangeEventType_Time' ObjectIdNames[3694] = 'SemanticChangeEventType_ReceiveTime' ObjectIdNames[3695] = 'SemanticChangeEventType_LocalTime' ObjectIdNames[3696] = 'SemanticChangeEventType_Message' ObjectIdNames[3697] = 'SemanticChangeEventType_Severity' ObjectIdNames[3698] = 'ServerStatusType_BuildInfo_ProductUri' ObjectIdNames[3699] = 'ServerStatusType_BuildInfo_ManufacturerName' ObjectIdNames[3700] = 'ServerStatusType_BuildInfo_ProductName' ObjectIdNames[3701] = 'ServerStatusType_BuildInfo_SoftwareVersion' ObjectIdNames[3702] = 'ServerStatusType_BuildInfo_BuildNumber' ObjectIdNames[3703] = 'ServerStatusType_BuildInfo_BuildDate' ObjectIdNames[3704] = 'Server_ServerCapabilities_SoftwareCertificates' ObjectIdNames[3705] = 'Server_ServerDiagnostics_ServerDiagnosticsSummary_RejectedSessionCount' ObjectIdNames[3706] = 'Server_ServerDiagnostics_SessionsDiagnosticsSummary' ObjectIdNames[3707] = 'Server_ServerDiagnostics_SessionsDiagnosticsSummary_SessionDiagnosticsArray' ObjectIdNames[3708] = 'Server_ServerDiagnostics_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray' ObjectIdNames[3709] = 'Server_ServerRedundancy_RedundancySupport' ObjectIdNames[3714] = 'FiniteStateVariableType_Name' ObjectIdNames[3715] = 'FiniteStateVariableType_Number' ObjectIdNames[3716] = 'FiniteStateVariableType_EffectiveDisplayName' ObjectIdNames[3717] = 'FiniteTransitionVariableType_Name' ObjectIdNames[3718] = 'FiniteTransitionVariableType_Number' ObjectIdNames[3719] = 'FiniteTransitionVariableType_TransitionTime' ObjectIdNames[3720] = 'StateMachineType_CurrentState_Id' ObjectIdNames[3721] = 'StateMachineType_CurrentState_Name' ObjectIdNames[3722] = 'StateMachineType_CurrentState_Number' ObjectIdNames[3723] = 'StateMachineType_CurrentState_EffectiveDisplayName' ObjectIdNames[3724] = 'StateMachineType_LastTransition_Id' ObjectIdNames[3725] = 'StateMachineType_LastTransition_Name' ObjectIdNames[3726] = 'StateMachineType_LastTransition_Number' ObjectIdNames[3727] = 'StateMachineType_LastTransition_TransitionTime' ObjectIdNames[3728] = 'FiniteStateMachineType_CurrentState_Id' ObjectIdNames[3729] = 'FiniteStateMachineType_CurrentState_Name' ObjectIdNames[3730] = 'FiniteStateMachineType_CurrentState_Number' ObjectIdNames[3731] = 'FiniteStateMachineType_CurrentState_EffectiveDisplayName' ObjectIdNames[3732] = 'FiniteStateMachineType_LastTransition_Id' ObjectIdNames[3733] = 'FiniteStateMachineType_LastTransition_Name' ObjectIdNames[3734] = 'FiniteStateMachineType_LastTransition_Number' ObjectIdNames[3735] = 'FiniteStateMachineType_LastTransition_TransitionTime' ObjectIdNames[3736] = 'InitialStateType_StateNumber' ObjectIdNames[3737] = 'TransitionEventType_EventId' ObjectIdNames[3738] = 'TransitionEventType_EventType' ObjectIdNames[3739] = 'TransitionEventType_SourceNode' ObjectIdNames[3740] = 'TransitionEventType_SourceName' ObjectIdNames[3741] = 'TransitionEventType_Time' ObjectIdNames[3742] = 'TransitionEventType_ReceiveTime' ObjectIdNames[3743] = 'TransitionEventType_LocalTime' ObjectIdNames[3744] = 'TransitionEventType_Message' ObjectIdNames[3745] = 'TransitionEventType_Severity' ObjectIdNames[3746] = 'TransitionEventType_FromState_Id' ObjectIdNames[3747] = 'TransitionEventType_FromState_Name' ObjectIdNames[3748] = 'TransitionEventType_FromState_Number' ObjectIdNames[3749] = 'TransitionEventType_FromState_EffectiveDisplayName' ObjectIdNames[3750] = 'TransitionEventType_ToState_Id' ObjectIdNames[3751] = 'TransitionEventType_ToState_Name' ObjectIdNames[3752] = 'TransitionEventType_ToState_Number' ObjectIdNames[3753] = 'TransitionEventType_ToState_EffectiveDisplayName' ObjectIdNames[3754] = 'TransitionEventType_Transition_Id' ObjectIdNames[3755] = 'TransitionEventType_Transition_Name' ObjectIdNames[3756] = 'TransitionEventType_Transition_Number' ObjectIdNames[3757] = 'TransitionEventType_Transition_TransitionTime' ObjectIdNames[3758] = 'AuditUpdateStateEventType_EventId' ObjectIdNames[3759] = 'AuditUpdateStateEventType_EventType' ObjectIdNames[3760] = 'AuditUpdateStateEventType_SourceNode' ObjectIdNames[3761] = 'AuditUpdateStateEventType_SourceName' ObjectIdNames[3762] = 'AuditUpdateStateEventType_Time' ObjectIdNames[3763] = 'AuditUpdateStateEventType_ReceiveTime' ObjectIdNames[3764] = 'AuditUpdateStateEventType_LocalTime' ObjectIdNames[3765] = 'AuditUpdateStateEventType_Message' ObjectIdNames[3766] = 'AuditUpdateStateEventType_Severity' ObjectIdNames[3767] = 'AuditUpdateStateEventType_ActionTimeStamp' ObjectIdNames[3768] = 'AuditUpdateStateEventType_Status' ObjectIdNames[3769] = 'AuditUpdateStateEventType_ServerId' ObjectIdNames[3770] = 'AuditUpdateStateEventType_ClientAuditEntryId' ObjectIdNames[3771] = 'AuditUpdateStateEventType_ClientUserId' ObjectIdNames[3772] = 'AuditUpdateStateEventType_MethodId' ObjectIdNames[3773] = 'AuditUpdateStateEventType_InputArguments' ObjectIdNames[3774] = 'AnalogItemType_Definition' ObjectIdNames[3775] = 'AnalogItemType_ValuePrecision' ObjectIdNames[3776] = 'DiscreteItemType_Definition' ObjectIdNames[3777] = 'DiscreteItemType_ValuePrecision' ObjectIdNames[3778] = 'TwoStateDiscreteType_Definition' ObjectIdNames[3779] = 'TwoStateDiscreteType_ValuePrecision' ObjectIdNames[3780] = 'MultiStateDiscreteType_Definition' ObjectIdNames[3781] = 'MultiStateDiscreteType_ValuePrecision' ObjectIdNames[3782] = 'ProgramTransitionEventType_EventId' ObjectIdNames[3783] = 'ProgramTransitionEventType_EventType' ObjectIdNames[3784] = 'ProgramTransitionEventType_SourceNode' ObjectIdNames[3785] = 'ProgramTransitionEventType_SourceName' ObjectIdNames[3786] = 'ProgramTransitionEventType_Time' ObjectIdNames[3787] = 'ProgramTransitionEventType_ReceiveTime' ObjectIdNames[3788] = 'ProgramTransitionEventType_LocalTime' ObjectIdNames[3789] = 'ProgramTransitionEventType_Message' ObjectIdNames[3790] = 'ProgramTransitionEventType_Severity' ObjectIdNames[3791] = 'ProgramTransitionEventType_FromState' ObjectIdNames[3792] = 'ProgramTransitionEventType_FromState_Id' ObjectIdNames[3793] = 'ProgramTransitionEventType_FromState_Name' ObjectIdNames[3794] = 'ProgramTransitionEventType_FromState_Number' ObjectIdNames[3795] = 'ProgramTransitionEventType_FromState_EffectiveDisplayName' ObjectIdNames[3796] = 'ProgramTransitionEventType_ToState' ObjectIdNames[3797] = 'ProgramTransitionEventType_ToState_Id' ObjectIdNames[3798] = 'ProgramTransitionEventType_ToState_Name' ObjectIdNames[3799] = 'ProgramTransitionEventType_ToState_Number' ObjectIdNames[3800] = 'ProgramTransitionEventType_ToState_EffectiveDisplayName' ObjectIdNames[3801] = 'ProgramTransitionEventType_Transition' ObjectIdNames[3802] = 'ProgramTransitionEventType_Transition_Id' ObjectIdNames[3803] = 'ProgramTransitionEventType_Transition_Name' ObjectIdNames[3804] = 'ProgramTransitionEventType_Transition_Number' ObjectIdNames[3805] = 'ProgramTransitionEventType_Transition_TransitionTime' ObjectIdNames[3806] = 'ProgramTransitionAuditEventType' ObjectIdNames[3807] = 'ProgramTransitionAuditEventType_EventId' ObjectIdNames[3808] = 'ProgramTransitionAuditEventType_EventType' ObjectIdNames[3809] = 'ProgramTransitionAuditEventType_SourceNode' ObjectIdNames[3810] = 'ProgramTransitionAuditEventType_SourceName' ObjectIdNames[3811] = 'ProgramTransitionAuditEventType_Time' ObjectIdNames[3812] = 'ProgramTransitionAuditEventType_ReceiveTime' ObjectIdNames[3813] = 'ProgramTransitionAuditEventType_LocalTime' ObjectIdNames[3814] = 'ProgramTransitionAuditEventType_Message' ObjectIdNames[3815] = 'ProgramTransitionAuditEventType_Severity' ObjectIdNames[3816] = 'ProgramTransitionAuditEventType_ActionTimeStamp' ObjectIdNames[3817] = 'ProgramTransitionAuditEventType_Status' ObjectIdNames[3818] = 'ProgramTransitionAuditEventType_ServerId' ObjectIdNames[3819] = 'ProgramTransitionAuditEventType_ClientAuditEntryId' ObjectIdNames[3820] = 'ProgramTransitionAuditEventType_ClientUserId' ObjectIdNames[3821] = 'ProgramTransitionAuditEventType_MethodId' ObjectIdNames[3822] = 'ProgramTransitionAuditEventType_InputArguments' ObjectIdNames[3823] = 'ProgramTransitionAuditEventType_OldStateId' ObjectIdNames[3824] = 'ProgramTransitionAuditEventType_NewStateId' ObjectIdNames[3825] = 'ProgramTransitionAuditEventType_Transition' ObjectIdNames[3826] = 'ProgramTransitionAuditEventType_Transition_Id' ObjectIdNames[3827] = 'ProgramTransitionAuditEventType_Transition_Name' ObjectIdNames[3828] = 'ProgramTransitionAuditEventType_Transition_Number' ObjectIdNames[3829] = 'ProgramTransitionAuditEventType_Transition_TransitionTime' ObjectIdNames[3830] = 'ProgramStateMachineType_CurrentState' ObjectIdNames[3831] = 'ProgramStateMachineType_CurrentState_Id' ObjectIdNames[3832] = 'ProgramStateMachineType_CurrentState_Name' ObjectIdNames[3833] = 'ProgramStateMachineType_CurrentState_Number' ObjectIdNames[3834] = 'ProgramStateMachineType_CurrentState_EffectiveDisplayName' ObjectIdNames[3835] = 'ProgramStateMachineType_LastTransition' ObjectIdNames[3836] = 'ProgramStateMachineType_LastTransition_Id' ObjectIdNames[3837] = 'ProgramStateMachineType_LastTransition_Name' ObjectIdNames[3838] = 'ProgramStateMachineType_LastTransition_Number' ObjectIdNames[3839] = 'ProgramStateMachineType_LastTransition_TransitionTime' ObjectIdNames[3840] = 'ProgramStateMachineType_ProgramDiagnostics_CreateSessionId' ObjectIdNames[3841] = 'ProgramStateMachineType_ProgramDiagnostics_CreateClientName' ObjectIdNames[3842] = 'ProgramStateMachineType_ProgramDiagnostics_InvocationCreationTime' ObjectIdNames[3843] = 'ProgramStateMachineType_ProgramDiagnostics_LastTransitionTime' ObjectIdNames[3844] = 'ProgramStateMachineType_ProgramDiagnostics_LastMethodCall' ObjectIdNames[3845] = 'ProgramStateMachineType_ProgramDiagnostics_LastMethodSessionId' ObjectIdNames[3846] = 'ProgramStateMachineType_ProgramDiagnostics_LastMethodInputArguments' ObjectIdNames[3847] = 'ProgramStateMachineType_ProgramDiagnostics_LastMethodOutputArguments' ObjectIdNames[3848] = 'ProgramStateMachineType_ProgramDiagnostics_LastMethodCallTime' ObjectIdNames[3849] = 'ProgramStateMachineType_ProgramDiagnostics_LastMethodReturnStatus' ObjectIdNames[3850] = 'ProgramStateMachineType_FinalResultData' ObjectIdNames[3863] = 'AddCommentMethodType' ObjectIdNames[3864] = 'AddCommentMethodType_InputArguments' ObjectIdNames[3865] = 'ConditionType_EventId' ObjectIdNames[3866] = 'ConditionType_EventType' ObjectIdNames[3867] = 'ConditionType_SourceNode' ObjectIdNames[3868] = 'ConditionType_SourceName' ObjectIdNames[3869] = 'ConditionType_Time' ObjectIdNames[3870] = 'ConditionType_ReceiveTime' ObjectIdNames[3871] = 'ConditionType_LocalTime' ObjectIdNames[3872] = 'ConditionType_Message' ObjectIdNames[3873] = 'ConditionType_Severity' ObjectIdNames[3874] = 'ConditionType_Retain' ObjectIdNames[3875] = 'ConditionType_ConditionRefresh' ObjectIdNames[3876] = 'ConditionType_ConditionRefresh_InputArguments' ObjectIdNames[3969] = 'RefreshStartEventType_EventId' ObjectIdNames[3970] = 'RefreshStartEventType_EventType' ObjectIdNames[3971] = 'RefreshStartEventType_SourceNode' ObjectIdNames[3972] = 'RefreshStartEventType_SourceName' ObjectIdNames[3973] = 'RefreshStartEventType_Time' ObjectIdNames[3974] = 'RefreshStartEventType_ReceiveTime' ObjectIdNames[3975] = 'RefreshStartEventType_LocalTime' ObjectIdNames[3976] = 'RefreshStartEventType_Message' ObjectIdNames[3977] = 'RefreshStartEventType_Severity' ObjectIdNames[3978] = 'RefreshEndEventType_EventId' ObjectIdNames[3979] = 'RefreshEndEventType_EventType' ObjectIdNames[3980] = 'RefreshEndEventType_SourceNode' ObjectIdNames[3981] = 'RefreshEndEventType_SourceName' ObjectIdNames[3982] = 'RefreshEndEventType_Time' ObjectIdNames[3983] = 'RefreshEndEventType_ReceiveTime' ObjectIdNames[3984] = 'RefreshEndEventType_LocalTime' ObjectIdNames[3985] = 'RefreshEndEventType_Message' ObjectIdNames[3986] = 'RefreshEndEventType_Severity' ObjectIdNames[3987] = 'RefreshRequiredEventType_EventId' ObjectIdNames[3988] = 'RefreshRequiredEventType_EventType' ObjectIdNames[3989] = 'RefreshRequiredEventType_SourceNode' ObjectIdNames[3990] = 'RefreshRequiredEventType_SourceName' ObjectIdNames[3991] = 'RefreshRequiredEventType_Time' ObjectIdNames[3992] = 'RefreshRequiredEventType_ReceiveTime' ObjectIdNames[3993] = 'RefreshRequiredEventType_LocalTime' ObjectIdNames[3994] = 'RefreshRequiredEventType_Message' ObjectIdNames[3995] = 'RefreshRequiredEventType_Severity' ObjectIdNames[3996] = 'AuditConditionEventType_EventId' ObjectIdNames[3997] = 'AuditConditionEventType_EventType' ObjectIdNames[3998] = 'AuditConditionEventType_SourceNode' ObjectIdNames[3999] = 'AuditConditionEventType_SourceName' ObjectIdNames[4000] = 'AuditConditionEventType_Time' ObjectIdNames[4001] = 'AuditConditionEventType_ReceiveTime' ObjectIdNames[4002] = 'AuditConditionEventType_LocalTime' ObjectIdNames[4003] = 'AuditConditionEventType_Message' ObjectIdNames[4004] = 'AuditConditionEventType_Severity' ObjectIdNames[4005] = 'AuditConditionEventType_ActionTimeStamp' ObjectIdNames[4006] = 'AuditConditionEventType_Status' ObjectIdNames[4007] = 'AuditConditionEventType_ServerId' ObjectIdNames[4008] = 'AuditConditionEventType_ClientAuditEntryId' ObjectIdNames[4009] = 'AuditConditionEventType_ClientUserId' ObjectIdNames[4010] = 'AuditConditionEventType_MethodId' ObjectIdNames[4011] = 'AuditConditionEventType_InputArguments' ObjectIdNames[4106] = 'AuditConditionEnableEventType_EventId' ObjectIdNames[4107] = 'AuditConditionEnableEventType_EventType' ObjectIdNames[4108] = 'AuditConditionEnableEventType_SourceNode' ObjectIdNames[4109] = 'AuditConditionEnableEventType_SourceName' ObjectIdNames[4110] = 'AuditConditionEnableEventType_Time' ObjectIdNames[4111] = 'AuditConditionEnableEventType_ReceiveTime' ObjectIdNames[4112] = 'AuditConditionEnableEventType_LocalTime' ObjectIdNames[4113] = 'AuditConditionEnableEventType_Message' ObjectIdNames[4114] = 'AuditConditionEnableEventType_Severity' ObjectIdNames[4115] = 'AuditConditionEnableEventType_ActionTimeStamp' ObjectIdNames[4116] = 'AuditConditionEnableEventType_Status' ObjectIdNames[4117] = 'AuditConditionEnableEventType_ServerId' ObjectIdNames[4118] = 'AuditConditionEnableEventType_ClientAuditEntryId' ObjectIdNames[4119] = 'AuditConditionEnableEventType_ClientUserId' ObjectIdNames[4120] = 'AuditConditionEnableEventType_MethodId' ObjectIdNames[4121] = 'AuditConditionEnableEventType_InputArguments' ObjectIdNames[4170] = 'AuditConditionCommentEventType_EventId' ObjectIdNames[4171] = 'AuditConditionCommentEventType_EventType' ObjectIdNames[4172] = 'AuditConditionCommentEventType_SourceNode' ObjectIdNames[4173] = 'AuditConditionCommentEventType_SourceName' ObjectIdNames[4174] = 'AuditConditionCommentEventType_Time' ObjectIdNames[4175] = 'AuditConditionCommentEventType_ReceiveTime' ObjectIdNames[4176] = 'AuditConditionCommentEventType_LocalTime' ObjectIdNames[4177] = 'AuditConditionCommentEventType_Message' ObjectIdNames[4178] = 'AuditConditionCommentEventType_Severity' ObjectIdNames[4179] = 'AuditConditionCommentEventType_ActionTimeStamp' ObjectIdNames[4180] = 'AuditConditionCommentEventType_Status' ObjectIdNames[4181] = 'AuditConditionCommentEventType_ServerId' ObjectIdNames[4182] = 'AuditConditionCommentEventType_ClientAuditEntryId' ObjectIdNames[4183] = 'AuditConditionCommentEventType_ClientUserId' ObjectIdNames[4184] = 'AuditConditionCommentEventType_MethodId' ObjectIdNames[4185] = 'AuditConditionCommentEventType_InputArguments' ObjectIdNames[4188] = 'DialogConditionType_EventId' ObjectIdNames[4189] = 'DialogConditionType_EventType' ObjectIdNames[4190] = 'DialogConditionType_SourceNode' ObjectIdNames[4191] = 'DialogConditionType_SourceName' ObjectIdNames[4192] = 'DialogConditionType_Time' ObjectIdNames[4193] = 'DialogConditionType_ReceiveTime' ObjectIdNames[4194] = 'DialogConditionType_LocalTime' ObjectIdNames[4195] = 'DialogConditionType_Message' ObjectIdNames[4196] = 'DialogConditionType_Severity' ObjectIdNames[4197] = 'DialogConditionType_Retain' ObjectIdNames[4198] = 'DialogConditionType_ConditionRefresh' ObjectIdNames[4199] = 'DialogConditionType_ConditionRefresh_InputArguments' ObjectIdNames[5113] = 'AcknowledgeableConditionType_EventId' ObjectIdNames[5114] = 'AcknowledgeableConditionType_EventType' ObjectIdNames[5115] = 'AcknowledgeableConditionType_SourceNode' ObjectIdNames[5116] = 'AcknowledgeableConditionType_SourceName' ObjectIdNames[5117] = 'AcknowledgeableConditionType_Time' ObjectIdNames[5118] = 'AcknowledgeableConditionType_ReceiveTime' ObjectIdNames[5119] = 'AcknowledgeableConditionType_LocalTime' ObjectIdNames[5120] = 'AcknowledgeableConditionType_Message' ObjectIdNames[5121] = 'AcknowledgeableConditionType_Severity' ObjectIdNames[5122] = 'AcknowledgeableConditionType_Retain' ObjectIdNames[5123] = 'AcknowledgeableConditionType_ConditionRefresh' ObjectIdNames[5124] = 'AcknowledgeableConditionType_ConditionRefresh_InputArguments' ObjectIdNames[5540] = 'AlarmConditionType_EventId' ObjectIdNames[5541] = 'AlarmConditionType_EventType' ObjectIdNames[5542] = 'AlarmConditionType_SourceNode' ObjectIdNames[5543] = 'AlarmConditionType_SourceName' ObjectIdNames[5544] = 'AlarmConditionType_Time' ObjectIdNames[5545] = 'AlarmConditionType_ReceiveTime' ObjectIdNames[5546] = 'AlarmConditionType_LocalTime' ObjectIdNames[5547] = 'AlarmConditionType_Message' ObjectIdNames[5548] = 'AlarmConditionType_Severity' ObjectIdNames[5549] = 'AlarmConditionType_Retain' ObjectIdNames[5550] = 'AlarmConditionType_ConditionRefresh' ObjectIdNames[5551] = 'AlarmConditionType_ConditionRefresh_InputArguments' ObjectIdNames[6088] = 'ShelvedStateMachineType_CurrentState' ObjectIdNames[6089] = 'ShelvedStateMachineType_CurrentState_Id' ObjectIdNames[6090] = 'ShelvedStateMachineType_CurrentState_Name' ObjectIdNames[6091] = 'ShelvedStateMachineType_CurrentState_Number' ObjectIdNames[6092] = 'ShelvedStateMachineType_CurrentState_EffectiveDisplayName' ObjectIdNames[6093] = 'ShelvedStateMachineType_LastTransition' ObjectIdNames[6094] = 'ShelvedStateMachineType_LastTransition_Id' ObjectIdNames[6095] = 'ShelvedStateMachineType_LastTransition_Name' ObjectIdNames[6096] = 'ShelvedStateMachineType_LastTransition_Number' ObjectIdNames[6097] = 'ShelvedStateMachineType_LastTransition_TransitionTime' ObjectIdNames[6098] = 'ShelvedStateMachineType_Unshelved_StateNumber' ObjectIdNames[6100] = 'ShelvedStateMachineType_TimedShelved_StateNumber' ObjectIdNames[6101] = 'ShelvedStateMachineType_OneShotShelved_StateNumber' ObjectIdNames[6102] = 'TimedShelveMethodType' ObjectIdNames[6103] = 'TimedShelveMethodType_InputArguments' ObjectIdNames[6116] = 'LimitAlarmType_EventId' ObjectIdNames[6117] = 'LimitAlarmType_EventType' ObjectIdNames[6118] = 'LimitAlarmType_SourceNode' ObjectIdNames[6119] = 'LimitAlarmType_SourceName' ObjectIdNames[6120] = 'LimitAlarmType_Time' ObjectIdNames[6121] = 'LimitAlarmType_ReceiveTime' ObjectIdNames[6122] = 'LimitAlarmType_LocalTime' ObjectIdNames[6123] = 'LimitAlarmType_Message' ObjectIdNames[6124] = 'LimitAlarmType_Severity' ObjectIdNames[6125] = 'LimitAlarmType_Retain' ObjectIdNames[6126] = 'LimitAlarmType_ConditionRefresh' ObjectIdNames[6127] = 'LimitAlarmType_ConditionRefresh_InputArguments' ObjectIdNames[7591] = 'IdType_EnumStrings' ObjectIdNames[7594] = 'EnumValueType' ObjectIdNames[7595] = 'MessageSecurityMode_EnumStrings' ObjectIdNames[7596] = 'UserTokenType_EnumStrings' ObjectIdNames[7597] = 'ApplicationType_EnumStrings' ObjectIdNames[7598] = 'SecurityTokenRequestType_EnumStrings' ObjectIdNames[7599] = 'ComplianceLevel_EnumStrings' ObjectIdNames[7603] = 'BrowseDirection_EnumStrings' ObjectIdNames[7605] = 'FilterOperator_EnumStrings' ObjectIdNames[7606] = 'TimestampsToReturn_EnumStrings' ObjectIdNames[7608] = 'MonitoringMode_EnumStrings' ObjectIdNames[7609] = 'DataChangeTrigger_EnumStrings' ObjectIdNames[7610] = 'DeadbandType_EnumStrings' ObjectIdNames[7611] = 'RedundancySupport_EnumStrings' ObjectIdNames[7612] = 'ServerState_EnumStrings' ObjectIdNames[7614] = 'ExceptionDeviationFormat_EnumStrings' ObjectIdNames[7616] = 'EnumValueType_Encoding_DefaultXml' ObjectIdNames[7617] = 'OpcUa_BinarySchema' ObjectIdNames[7618] = 'OpcUa_BinarySchema_DataTypeVersion' ObjectIdNames[7619] = 'OpcUa_BinarySchema_NamespaceUri' ObjectIdNames[7650] = 'OpcUa_BinarySchema_Argument' ObjectIdNames[7651] = 'OpcUa_BinarySchema_Argument_DataTypeVersion' ObjectIdNames[7652] = 'OpcUa_BinarySchema_Argument_DictionaryFragment' ObjectIdNames[7656] = 'OpcUa_BinarySchema_EnumValueType' ObjectIdNames[7657] = 'OpcUa_BinarySchema_EnumValueType_DataTypeVersion' ObjectIdNames[7658] = 'OpcUa_BinarySchema_EnumValueType_DictionaryFragment' ObjectIdNames[7659] = 'OpcUa_BinarySchema_StatusResult' ObjectIdNames[7660] = 'OpcUa_BinarySchema_StatusResult_DataTypeVersion' ObjectIdNames[7661] = 'OpcUa_BinarySchema_StatusResult_DictionaryFragment' ObjectIdNames[7662] = 'OpcUa_BinarySchema_UserTokenPolicy' ObjectIdNames[7663] = 'OpcUa_BinarySchema_UserTokenPolicy_DataTypeVersion' ObjectIdNames[7664] = 'OpcUa_BinarySchema_UserTokenPolicy_DictionaryFragment' ObjectIdNames[7665] = 'OpcUa_BinarySchema_ApplicationDescription' ObjectIdNames[7666] = 'OpcUa_BinarySchema_ApplicationDescription_DataTypeVersion' ObjectIdNames[7667] = 'OpcUa_BinarySchema_ApplicationDescription_DictionaryFragment' ObjectIdNames[7668] = 'OpcUa_BinarySchema_EndpointDescription' ObjectIdNames[7669] = 'OpcUa_BinarySchema_EndpointDescription_DataTypeVersion' ObjectIdNames[7670] = 'OpcUa_BinarySchema_EndpointDescription_DictionaryFragment' ObjectIdNames[7671] = 'OpcUa_BinarySchema_UserIdentityToken' ObjectIdNames[7672] = 'OpcUa_BinarySchema_UserIdentityToken_DataTypeVersion' ObjectIdNames[7673] = 'OpcUa_BinarySchema_UserIdentityToken_DictionaryFragment' ObjectIdNames[7674] = 'OpcUa_BinarySchema_AnonymousIdentityToken' ObjectIdNames[7675] = 'OpcUa_BinarySchema_AnonymousIdentityToken_DataTypeVersion' ObjectIdNames[7676] = 'OpcUa_BinarySchema_AnonymousIdentityToken_DictionaryFragment' ObjectIdNames[7677] = 'OpcUa_BinarySchema_UserNameIdentityToken' ObjectIdNames[7678] = 'OpcUa_BinarySchema_UserNameIdentityToken_DataTypeVersion' ObjectIdNames[7679] = 'OpcUa_BinarySchema_UserNameIdentityToken_DictionaryFragment' ObjectIdNames[7680] = 'OpcUa_BinarySchema_X509IdentityToken' ObjectIdNames[7681] = 'OpcUa_BinarySchema_X509IdentityToken_DataTypeVersion' ObjectIdNames[7682] = 'OpcUa_BinarySchema_X509IdentityToken_DictionaryFragment' ObjectIdNames[7683] = 'OpcUa_BinarySchema_IssuedIdentityToken' ObjectIdNames[7684] = 'OpcUa_BinarySchema_IssuedIdentityToken_DataTypeVersion' ObjectIdNames[7685] = 'OpcUa_BinarySchema_IssuedIdentityToken_DictionaryFragment' ObjectIdNames[7686] = 'OpcUa_BinarySchema_EndpointConfiguration' ObjectIdNames[7687] = 'OpcUa_BinarySchema_EndpointConfiguration_DataTypeVersion' ObjectIdNames[7688] = 'OpcUa_BinarySchema_EndpointConfiguration_DictionaryFragment' ObjectIdNames[7689] = 'OpcUa_BinarySchema_SupportedProfile' ObjectIdNames[7690] = 'OpcUa_BinarySchema_SupportedProfile_DataTypeVersion' ObjectIdNames[7691] = 'OpcUa_BinarySchema_SupportedProfile_DictionaryFragment' ObjectIdNames[7692] = 'OpcUa_BinarySchema_BuildInfo' ObjectIdNames[7693] = 'OpcUa_BinarySchema_BuildInfo_DataTypeVersion' ObjectIdNames[7694] = 'OpcUa_BinarySchema_BuildInfo_DictionaryFragment' ObjectIdNames[7695] = 'OpcUa_BinarySchema_SoftwareCertificate' ObjectIdNames[7696] = 'OpcUa_BinarySchema_SoftwareCertificate_DataTypeVersion' ObjectIdNames[7697] = 'OpcUa_BinarySchema_SoftwareCertificate_DictionaryFragment' ObjectIdNames[7698] = 'OpcUa_BinarySchema_SignedSoftwareCertificate' ObjectIdNames[7699] = 'OpcUa_BinarySchema_SignedSoftwareCertificate_DataTypeVersion' ObjectIdNames[7700] = 'OpcUa_BinarySchema_SignedSoftwareCertificate_DictionaryFragment' ObjectIdNames[7728] = 'OpcUa_BinarySchema_AddNodesItem' ObjectIdNames[7729] = 'OpcUa_BinarySchema_AddNodesItem_DataTypeVersion' ObjectIdNames[7730] = 'OpcUa_BinarySchema_AddNodesItem_DictionaryFragment' ObjectIdNames[7731] = 'OpcUa_BinarySchema_AddReferencesItem' ObjectIdNames[7732] = 'OpcUa_BinarySchema_AddReferencesItem_DataTypeVersion' ObjectIdNames[7733] = 'OpcUa_BinarySchema_AddReferencesItem_DictionaryFragment' ObjectIdNames[7734] = 'OpcUa_BinarySchema_DeleteNodesItem' ObjectIdNames[7735] = 'OpcUa_BinarySchema_DeleteNodesItem_DataTypeVersion' ObjectIdNames[7736] = 'OpcUa_BinarySchema_DeleteNodesItem_DictionaryFragment' ObjectIdNames[7737] = 'OpcUa_BinarySchema_DeleteReferencesItem' ObjectIdNames[7738] = 'OpcUa_BinarySchema_DeleteReferencesItem_DataTypeVersion' ObjectIdNames[7739] = 'OpcUa_BinarySchema_DeleteReferencesItem_DictionaryFragment' ObjectIdNames[7782] = 'OpcUa_BinarySchema_RegisteredServer' ObjectIdNames[7783] = 'OpcUa_BinarySchema_RegisteredServer_DataTypeVersion' ObjectIdNames[7784] = 'OpcUa_BinarySchema_RegisteredServer_DictionaryFragment' ObjectIdNames[7929] = 'OpcUa_BinarySchema_ContentFilterElement' ObjectIdNames[7930] = 'OpcUa_BinarySchema_ContentFilterElement_DataTypeVersion' ObjectIdNames[7931] = 'OpcUa_BinarySchema_ContentFilterElement_DictionaryFragment' ObjectIdNames[7932] = 'OpcUa_BinarySchema_ContentFilter' ObjectIdNames[7933] = 'OpcUa_BinarySchema_ContentFilter_DataTypeVersion' ObjectIdNames[7934] = 'OpcUa_BinarySchema_ContentFilter_DictionaryFragment' ObjectIdNames[7935] = 'OpcUa_BinarySchema_FilterOperand' ObjectIdNames[7936] = 'OpcUa_BinarySchema_FilterOperand_DataTypeVersion' ObjectIdNames[7937] = 'OpcUa_BinarySchema_FilterOperand_DictionaryFragment' ObjectIdNames[7938] = 'OpcUa_BinarySchema_ElementOperand' ObjectIdNames[7939] = 'OpcUa_BinarySchema_ElementOperand_DataTypeVersion' ObjectIdNames[7940] = 'OpcUa_BinarySchema_ElementOperand_DictionaryFragment' ObjectIdNames[7941] = 'OpcUa_BinarySchema_LiteralOperand' ObjectIdNames[7942] = 'OpcUa_BinarySchema_LiteralOperand_DataTypeVersion' ObjectIdNames[7943] = 'OpcUa_BinarySchema_LiteralOperand_DictionaryFragment' ObjectIdNames[7944] = 'OpcUa_BinarySchema_AttributeOperand' ObjectIdNames[7945] = 'OpcUa_BinarySchema_AttributeOperand_DataTypeVersion' ObjectIdNames[7946] = 'OpcUa_BinarySchema_AttributeOperand_DictionaryFragment' ObjectIdNames[7947] = 'OpcUa_BinarySchema_SimpleAttributeOperand' ObjectIdNames[7948] = 'OpcUa_BinarySchema_SimpleAttributeOperand_DataTypeVersion' ObjectIdNames[7949] = 'OpcUa_BinarySchema_SimpleAttributeOperand_DictionaryFragment' ObjectIdNames[8004] = 'OpcUa_BinarySchema_HistoryEvent' ObjectIdNames[8005] = 'OpcUa_BinarySchema_HistoryEvent_DataTypeVersion' ObjectIdNames[8006] = 'OpcUa_BinarySchema_HistoryEvent_DictionaryFragment' ObjectIdNames[8067] = 'OpcUa_BinarySchema_MonitoringFilter' ObjectIdNames[8068] = 'OpcUa_BinarySchema_MonitoringFilter_DataTypeVersion' ObjectIdNames[8069] = 'OpcUa_BinarySchema_MonitoringFilter_DictionaryFragment' ObjectIdNames[8073] = 'OpcUa_BinarySchema_EventFilter' ObjectIdNames[8074] = 'OpcUa_BinarySchema_EventFilter_DataTypeVersion' ObjectIdNames[8075] = 'OpcUa_BinarySchema_EventFilter_DictionaryFragment' ObjectIdNames[8076] = 'OpcUa_BinarySchema_AggregateConfiguration' ObjectIdNames[8077] = 'OpcUa_BinarySchema_AggregateConfiguration_DataTypeVersion' ObjectIdNames[8078] = 'OpcUa_BinarySchema_AggregateConfiguration_DictionaryFragment' ObjectIdNames[8172] = 'OpcUa_BinarySchema_HistoryEventFieldList' ObjectIdNames[8173] = 'OpcUa_BinarySchema_HistoryEventFieldList_DataTypeVersion' ObjectIdNames[8174] = 'OpcUa_BinarySchema_HistoryEventFieldList_DictionaryFragment' ObjectIdNames[8208] = 'OpcUa_BinarySchema_RedundantServerDataType' ObjectIdNames[8209] = 'OpcUa_BinarySchema_RedundantServerDataType_DataTypeVersion' ObjectIdNames[8210] = 'OpcUa_BinarySchema_RedundantServerDataType_DictionaryFragment' ObjectIdNames[8211] = 'OpcUa_BinarySchema_SamplingIntervalDiagnosticsDataType' ObjectIdNames[8212] = 'OpcUa_BinarySchema_SamplingIntervalDiagnosticsDataType_DataTypeVersion' ObjectIdNames[8213] = 'OpcUa_BinarySchema_SamplingIntervalDiagnosticsDataType_DictionaryFragment' ObjectIdNames[8214] = 'OpcUa_BinarySchema_ServerDiagnosticsSummaryDataType' ObjectIdNames[8215] = 'OpcUa_BinarySchema_ServerDiagnosticsSummaryDataType_DataTypeVersion' ObjectIdNames[8216] = 'OpcUa_BinarySchema_ServerDiagnosticsSummaryDataType_DictionaryFragment' ObjectIdNames[8217] = 'OpcUa_BinarySchema_ServerStatusDataType' ObjectIdNames[8218] = 'OpcUa_BinarySchema_ServerStatusDataType_DataTypeVersion' ObjectIdNames[8219] = 'OpcUa_BinarySchema_ServerStatusDataType_DictionaryFragment' ObjectIdNames[8220] = 'OpcUa_BinarySchema_SessionDiagnosticsDataType' ObjectIdNames[8221] = 'OpcUa_BinarySchema_SessionDiagnosticsDataType_DataTypeVersion' ObjectIdNames[8222] = 'OpcUa_BinarySchema_SessionDiagnosticsDataType_DictionaryFragment' ObjectIdNames[8223] = 'OpcUa_BinarySchema_SessionSecurityDiagnosticsDataType' ObjectIdNames[8224] = 'OpcUa_BinarySchema_SessionSecurityDiagnosticsDataType_DataTypeVersion' ObjectIdNames[8225] = 'OpcUa_BinarySchema_SessionSecurityDiagnosticsDataType_DictionaryFragment' ObjectIdNames[8226] = 'OpcUa_BinarySchema_ServiceCounterDataType' ObjectIdNames[8227] = 'OpcUa_BinarySchema_ServiceCounterDataType_DataTypeVersion' ObjectIdNames[8228] = 'OpcUa_BinarySchema_ServiceCounterDataType_DictionaryFragment' ObjectIdNames[8229] = 'OpcUa_BinarySchema_SubscriptionDiagnosticsDataType' ObjectIdNames[8230] = 'OpcUa_BinarySchema_SubscriptionDiagnosticsDataType_DataTypeVersion' ObjectIdNames[8231] = 'OpcUa_BinarySchema_SubscriptionDiagnosticsDataType_DictionaryFragment' ObjectIdNames[8232] = 'OpcUa_BinarySchema_ModelChangeStructureDataType' ObjectIdNames[8233] = 'OpcUa_BinarySchema_ModelChangeStructureDataType_DataTypeVersion' ObjectIdNames[8234] = 'OpcUa_BinarySchema_ModelChangeStructureDataType_DictionaryFragment' ObjectIdNames[8235] = 'OpcUa_BinarySchema_SemanticChangeStructureDataType' ObjectIdNames[8236] = 'OpcUa_BinarySchema_SemanticChangeStructureDataType_DataTypeVersion' ObjectIdNames[8237] = 'OpcUa_BinarySchema_SemanticChangeStructureDataType_DictionaryFragment' ObjectIdNames[8238] = 'OpcUa_BinarySchema_Range' ObjectIdNames[8239] = 'OpcUa_BinarySchema_Range_DataTypeVersion' ObjectIdNames[8240] = 'OpcUa_BinarySchema_Range_DictionaryFragment' ObjectIdNames[8241] = 'OpcUa_BinarySchema_EUInformation' ObjectIdNames[8242] = 'OpcUa_BinarySchema_EUInformation_DataTypeVersion' ObjectIdNames[8243] = 'OpcUa_BinarySchema_EUInformation_DictionaryFragment' ObjectIdNames[8244] = 'OpcUa_BinarySchema_Annotation' ObjectIdNames[8245] = 'OpcUa_BinarySchema_Annotation_DataTypeVersion' ObjectIdNames[8246] = 'OpcUa_BinarySchema_Annotation_DictionaryFragment' ObjectIdNames[8247] = 'OpcUa_BinarySchema_ProgramDiagnosticDataType' ObjectIdNames[8248] = 'OpcUa_BinarySchema_ProgramDiagnosticDataType_DataTypeVersion' ObjectIdNames[8249] = 'OpcUa_BinarySchema_ProgramDiagnosticDataType_DictionaryFragment' ObjectIdNames[8251] = 'EnumValueType_Encoding_DefaultBinary' ObjectIdNames[8252] = 'OpcUa_XmlSchema' ObjectIdNames[8253] = 'OpcUa_XmlSchema_DataTypeVersion' ObjectIdNames[8254] = 'OpcUa_XmlSchema_NamespaceUri' ObjectIdNames[8285] = 'OpcUa_XmlSchema_Argument' ObjectIdNames[8286] = 'OpcUa_XmlSchema_Argument_DataTypeVersion' ObjectIdNames[8287] = 'OpcUa_XmlSchema_Argument_DictionaryFragment' ObjectIdNames[8291] = 'OpcUa_XmlSchema_EnumValueType' ObjectIdNames[8292] = 'OpcUa_XmlSchema_EnumValueType_DataTypeVersion' ObjectIdNames[8293] = 'OpcUa_XmlSchema_EnumValueType_DictionaryFragment' ObjectIdNames[8294] = 'OpcUa_XmlSchema_StatusResult' ObjectIdNames[8295] = 'OpcUa_XmlSchema_StatusResult_DataTypeVersion' ObjectIdNames[8296] = 'OpcUa_XmlSchema_StatusResult_DictionaryFragment' ObjectIdNames[8297] = 'OpcUa_XmlSchema_UserTokenPolicy' ObjectIdNames[8298] = 'OpcUa_XmlSchema_UserTokenPolicy_DataTypeVersion' ObjectIdNames[8299] = 'OpcUa_XmlSchema_UserTokenPolicy_DictionaryFragment' ObjectIdNames[8300] = 'OpcUa_XmlSchema_ApplicationDescription' ObjectIdNames[8301] = 'OpcUa_XmlSchema_ApplicationDescription_DataTypeVersion' ObjectIdNames[8302] = 'OpcUa_XmlSchema_ApplicationDescription_DictionaryFragment' ObjectIdNames[8303] = 'OpcUa_XmlSchema_EndpointDescription' ObjectIdNames[8304] = 'OpcUa_XmlSchema_EndpointDescription_DataTypeVersion' ObjectIdNames[8305] = 'OpcUa_XmlSchema_EndpointDescription_DictionaryFragment' ObjectIdNames[8306] = 'OpcUa_XmlSchema_UserIdentityToken' ObjectIdNames[8307] = 'OpcUa_XmlSchema_UserIdentityToken_DataTypeVersion' ObjectIdNames[8308] = 'OpcUa_XmlSchema_UserIdentityToken_DictionaryFragment' ObjectIdNames[8309] = 'OpcUa_XmlSchema_AnonymousIdentityToken' ObjectIdNames[8310] = 'OpcUa_XmlSchema_AnonymousIdentityToken_DataTypeVersion' ObjectIdNames[8311] = 'OpcUa_XmlSchema_AnonymousIdentityToken_DictionaryFragment' ObjectIdNames[8312] = 'OpcUa_XmlSchema_UserNameIdentityToken' ObjectIdNames[8313] = 'OpcUa_XmlSchema_UserNameIdentityToken_DataTypeVersion' ObjectIdNames[8314] = 'OpcUa_XmlSchema_UserNameIdentityToken_DictionaryFragment' ObjectIdNames[8315] = 'OpcUa_XmlSchema_X509IdentityToken' ObjectIdNames[8316] = 'OpcUa_XmlSchema_X509IdentityToken_DataTypeVersion' ObjectIdNames[8317] = 'OpcUa_XmlSchema_X509IdentityToken_DictionaryFragment' ObjectIdNames[8318] = 'OpcUa_XmlSchema_IssuedIdentityToken' ObjectIdNames[8319] = 'OpcUa_XmlSchema_IssuedIdentityToken_DataTypeVersion' ObjectIdNames[8320] = 'OpcUa_XmlSchema_IssuedIdentityToken_DictionaryFragment' ObjectIdNames[8321] = 'OpcUa_XmlSchema_EndpointConfiguration' ObjectIdNames[8322] = 'OpcUa_XmlSchema_EndpointConfiguration_DataTypeVersion' ObjectIdNames[8323] = 'OpcUa_XmlSchema_EndpointConfiguration_DictionaryFragment' ObjectIdNames[8324] = 'OpcUa_XmlSchema_SupportedProfile' ObjectIdNames[8325] = 'OpcUa_XmlSchema_SupportedProfile_DataTypeVersion' ObjectIdNames[8326] = 'OpcUa_XmlSchema_SupportedProfile_DictionaryFragment' ObjectIdNames[8327] = 'OpcUa_XmlSchema_BuildInfo' ObjectIdNames[8328] = 'OpcUa_XmlSchema_BuildInfo_DataTypeVersion' ObjectIdNames[8329] = 'OpcUa_XmlSchema_BuildInfo_DictionaryFragment' ObjectIdNames[8330] = 'OpcUa_XmlSchema_SoftwareCertificate' ObjectIdNames[8331] = 'OpcUa_XmlSchema_SoftwareCertificate_DataTypeVersion' ObjectIdNames[8332] = 'OpcUa_XmlSchema_SoftwareCertificate_DictionaryFragment' ObjectIdNames[8333] = 'OpcUa_XmlSchema_SignedSoftwareCertificate' ObjectIdNames[8334] = 'OpcUa_XmlSchema_SignedSoftwareCertificate_DataTypeVersion' ObjectIdNames[8335] = 'OpcUa_XmlSchema_SignedSoftwareCertificate_DictionaryFragment' ObjectIdNames[8363] = 'OpcUa_XmlSchema_AddNodesItem' ObjectIdNames[8364] = 'OpcUa_XmlSchema_AddNodesItem_DataTypeVersion' ObjectIdNames[8365] = 'OpcUa_XmlSchema_AddNodesItem_DictionaryFragment' ObjectIdNames[8366] = 'OpcUa_XmlSchema_AddReferencesItem' ObjectIdNames[8367] = 'OpcUa_XmlSchema_AddReferencesItem_DataTypeVersion' ObjectIdNames[8368] = 'OpcUa_XmlSchema_AddReferencesItem_DictionaryFragment' ObjectIdNames[8369] = 'OpcUa_XmlSchema_DeleteNodesItem' ObjectIdNames[8370] = 'OpcUa_XmlSchema_DeleteNodesItem_DataTypeVersion' ObjectIdNames[8371] = 'OpcUa_XmlSchema_DeleteNodesItem_DictionaryFragment' ObjectIdNames[8372] = 'OpcUa_XmlSchema_DeleteReferencesItem' ObjectIdNames[8373] = 'OpcUa_XmlSchema_DeleteReferencesItem_DataTypeVersion' ObjectIdNames[8374] = 'OpcUa_XmlSchema_DeleteReferencesItem_DictionaryFragment' ObjectIdNames[8417] = 'OpcUa_XmlSchema_RegisteredServer' ObjectIdNames[8418] = 'OpcUa_XmlSchema_RegisteredServer_DataTypeVersion' ObjectIdNames[8419] = 'OpcUa_XmlSchema_RegisteredServer_DictionaryFragment' ObjectIdNames[8564] = 'OpcUa_XmlSchema_ContentFilterElement' ObjectIdNames[8565] = 'OpcUa_XmlSchema_ContentFilterElement_DataTypeVersion' ObjectIdNames[8566] = 'OpcUa_XmlSchema_ContentFilterElement_DictionaryFragment' ObjectIdNames[8567] = 'OpcUa_XmlSchema_ContentFilter' ObjectIdNames[8568] = 'OpcUa_XmlSchema_ContentFilter_DataTypeVersion' ObjectIdNames[8569] = 'OpcUa_XmlSchema_ContentFilter_DictionaryFragment' ObjectIdNames[8570] = 'OpcUa_XmlSchema_FilterOperand' ObjectIdNames[8571] = 'OpcUa_XmlSchema_FilterOperand_DataTypeVersion' ObjectIdNames[8572] = 'OpcUa_XmlSchema_FilterOperand_DictionaryFragment' ObjectIdNames[8573] = 'OpcUa_XmlSchema_ElementOperand' ObjectIdNames[8574] = 'OpcUa_XmlSchema_ElementOperand_DataTypeVersion' ObjectIdNames[8575] = 'OpcUa_XmlSchema_ElementOperand_DictionaryFragment' ObjectIdNames[8576] = 'OpcUa_XmlSchema_LiteralOperand' ObjectIdNames[8577] = 'OpcUa_XmlSchema_LiteralOperand_DataTypeVersion' ObjectIdNames[8578] = 'OpcUa_XmlSchema_LiteralOperand_DictionaryFragment' ObjectIdNames[8579] = 'OpcUa_XmlSchema_AttributeOperand' ObjectIdNames[8580] = 'OpcUa_XmlSchema_AttributeOperand_DataTypeVersion' ObjectIdNames[8581] = 'OpcUa_XmlSchema_AttributeOperand_DictionaryFragment' ObjectIdNames[8582] = 'OpcUa_XmlSchema_SimpleAttributeOperand' ObjectIdNames[8583] = 'OpcUa_XmlSchema_SimpleAttributeOperand_DataTypeVersion' ObjectIdNames[8584] = 'OpcUa_XmlSchema_SimpleAttributeOperand_DictionaryFragment' ObjectIdNames[8639] = 'OpcUa_XmlSchema_HistoryEvent' ObjectIdNames[8640] = 'OpcUa_XmlSchema_HistoryEvent_DataTypeVersion' ObjectIdNames[8641] = 'OpcUa_XmlSchema_HistoryEvent_DictionaryFragment' ObjectIdNames[8702] = 'OpcUa_XmlSchema_MonitoringFilter' ObjectIdNames[8703] = 'OpcUa_XmlSchema_MonitoringFilter_DataTypeVersion' ObjectIdNames[8704] = 'OpcUa_XmlSchema_MonitoringFilter_DictionaryFragment' ObjectIdNames[8708] = 'OpcUa_XmlSchema_EventFilter' ObjectIdNames[8709] = 'OpcUa_XmlSchema_EventFilter_DataTypeVersion' ObjectIdNames[8710] = 'OpcUa_XmlSchema_EventFilter_DictionaryFragment' ObjectIdNames[8711] = 'OpcUa_XmlSchema_AggregateConfiguration' ObjectIdNames[8712] = 'OpcUa_XmlSchema_AggregateConfiguration_DataTypeVersion' ObjectIdNames[8713] = 'OpcUa_XmlSchema_AggregateConfiguration_DictionaryFragment' ObjectIdNames[8807] = 'OpcUa_XmlSchema_HistoryEventFieldList' ObjectIdNames[8808] = 'OpcUa_XmlSchema_HistoryEventFieldList_DataTypeVersion' ObjectIdNames[8809] = 'OpcUa_XmlSchema_HistoryEventFieldList_DictionaryFragment' ObjectIdNames[8843] = 'OpcUa_XmlSchema_RedundantServerDataType' ObjectIdNames[8844] = 'OpcUa_XmlSchema_RedundantServerDataType_DataTypeVersion' ObjectIdNames[8845] = 'OpcUa_XmlSchema_RedundantServerDataType_DictionaryFragment' ObjectIdNames[8846] = 'OpcUa_XmlSchema_SamplingIntervalDiagnosticsDataType' ObjectIdNames[8847] = 'OpcUa_XmlSchema_SamplingIntervalDiagnosticsDataType_DataTypeVersion' ObjectIdNames[8848] = 'OpcUa_XmlSchema_SamplingIntervalDiagnosticsDataType_DictionaryFragment' ObjectIdNames[8849] = 'OpcUa_XmlSchema_ServerDiagnosticsSummaryDataType' ObjectIdNames[8850] = 'OpcUa_XmlSchema_ServerDiagnosticsSummaryDataType_DataTypeVersion' ObjectIdNames[8851] = 'OpcUa_XmlSchema_ServerDiagnosticsSummaryDataType_DictionaryFragment' ObjectIdNames[8852] = 'OpcUa_XmlSchema_ServerStatusDataType' ObjectIdNames[8853] = 'OpcUa_XmlSchema_ServerStatusDataType_DataTypeVersion' ObjectIdNames[8854] = 'OpcUa_XmlSchema_ServerStatusDataType_DictionaryFragment' ObjectIdNames[8855] = 'OpcUa_XmlSchema_SessionDiagnosticsDataType' ObjectIdNames[8856] = 'OpcUa_XmlSchema_SessionDiagnosticsDataType_DataTypeVersion' ObjectIdNames[8857] = 'OpcUa_XmlSchema_SessionDiagnosticsDataType_DictionaryFragment' ObjectIdNames[8858] = 'OpcUa_XmlSchema_SessionSecurityDiagnosticsDataType' ObjectIdNames[8859] = 'OpcUa_XmlSchema_SessionSecurityDiagnosticsDataType_DataTypeVersion' ObjectIdNames[8860] = 'OpcUa_XmlSchema_SessionSecurityDiagnosticsDataType_DictionaryFragment' ObjectIdNames[8861] = 'OpcUa_XmlSchema_ServiceCounterDataType' ObjectIdNames[8862] = 'OpcUa_XmlSchema_ServiceCounterDataType_DataTypeVersion' ObjectIdNames[8863] = 'OpcUa_XmlSchema_ServiceCounterDataType_DictionaryFragment' ObjectIdNames[8864] = 'OpcUa_XmlSchema_SubscriptionDiagnosticsDataType' ObjectIdNames[8865] = 'OpcUa_XmlSchema_SubscriptionDiagnosticsDataType_DataTypeVersion' ObjectIdNames[8866] = 'OpcUa_XmlSchema_SubscriptionDiagnosticsDataType_DictionaryFragment' ObjectIdNames[8867] = 'OpcUa_XmlSchema_ModelChangeStructureDataType' ObjectIdNames[8868] = 'OpcUa_XmlSchema_ModelChangeStructureDataType_DataTypeVersion' ObjectIdNames[8869] = 'OpcUa_XmlSchema_ModelChangeStructureDataType_DictionaryFragment' ObjectIdNames[8870] = 'OpcUa_XmlSchema_SemanticChangeStructureDataType' ObjectIdNames[8871] = 'OpcUa_XmlSchema_SemanticChangeStructureDataType_DataTypeVersion' ObjectIdNames[8872] = 'OpcUa_XmlSchema_SemanticChangeStructureDataType_DictionaryFragment' ObjectIdNames[8873] = 'OpcUa_XmlSchema_Range' ObjectIdNames[8874] = 'OpcUa_XmlSchema_Range_DataTypeVersion' ObjectIdNames[8875] = 'OpcUa_XmlSchema_Range_DictionaryFragment' ObjectIdNames[8876] = 'OpcUa_XmlSchema_EUInformation' ObjectIdNames[8877] = 'OpcUa_XmlSchema_EUInformation_DataTypeVersion' ObjectIdNames[8878] = 'OpcUa_XmlSchema_EUInformation_DictionaryFragment' ObjectIdNames[8879] = 'OpcUa_XmlSchema_Annotation' ObjectIdNames[8880] = 'OpcUa_XmlSchema_Annotation_DataTypeVersion' ObjectIdNames[8881] = 'OpcUa_XmlSchema_Annotation_DictionaryFragment' ObjectIdNames[8882] = 'OpcUa_XmlSchema_ProgramDiagnosticDataType' ObjectIdNames[8883] = 'OpcUa_XmlSchema_ProgramDiagnosticDataType_DataTypeVersion' ObjectIdNames[8884] = 'OpcUa_XmlSchema_ProgramDiagnosticDataType_DictionaryFragment' ObjectIdNames[8888] = 'SubscriptionDiagnosticsType_MaxLifetimeCount' ObjectIdNames[8889] = 'SubscriptionDiagnosticsType_LatePublishRequestCount' ObjectIdNames[8890] = 'SubscriptionDiagnosticsType_CurrentKeepAliveCount' ObjectIdNames[8891] = 'SubscriptionDiagnosticsType_CurrentLifetimeCount' ObjectIdNames[8892] = 'SubscriptionDiagnosticsType_UnacknowledgedMessageCount' ObjectIdNames[8893] = 'SubscriptionDiagnosticsType_DiscardedMessageCount' ObjectIdNames[8894] = 'SubscriptionDiagnosticsType_MonitoredItemCount' ObjectIdNames[8895] = 'SubscriptionDiagnosticsType_DisabledMonitoredItemCount' ObjectIdNames[8896] = 'SubscriptionDiagnosticsType_MonitoringQueueOverflowCount' ObjectIdNames[8897] = 'SubscriptionDiagnosticsType_NextSequenceNumber' ObjectIdNames[8898] = 'SessionDiagnosticsObjectType_SessionDiagnostics_TotalRequestCount' ObjectIdNames[8900] = 'SessionDiagnosticsVariableType_TotalRequestCount' ObjectIdNames[8902] = 'SubscriptionDiagnosticsType_EventQueueOverFlowCount' ObjectIdNames[8912] = 'TimeZoneDataType' ObjectIdNames[8913] = 'TimeZoneDataType_Encoding_DefaultXml' ObjectIdNames[8914] = 'OpcUa_BinarySchema_TimeZoneDataType' ObjectIdNames[8915] = 'OpcUa_BinarySchema_TimeZoneDataType_DataTypeVersion' ObjectIdNames[8916] = 'OpcUa_BinarySchema_TimeZoneDataType_DictionaryFragment' ObjectIdNames[8917] = 'TimeZoneDataType_Encoding_DefaultBinary' ObjectIdNames[8918] = 'OpcUa_XmlSchema_TimeZoneDataType' ObjectIdNames[8919] = 'OpcUa_XmlSchema_TimeZoneDataType_DataTypeVersion' ObjectIdNames[8920] = 'OpcUa_XmlSchema_TimeZoneDataType_DictionaryFragment' ObjectIdNames[8927] = 'AuditConditionRespondEventType' ObjectIdNames[8928] = 'AuditConditionRespondEventType_EventId' ObjectIdNames[8929] = 'AuditConditionRespondEventType_EventType' ObjectIdNames[8930] = 'AuditConditionRespondEventType_SourceNode' ObjectIdNames[8931] = 'AuditConditionRespondEventType_SourceName' ObjectIdNames[8932] = 'AuditConditionRespondEventType_Time' ObjectIdNames[8933] = 'AuditConditionRespondEventType_ReceiveTime' ObjectIdNames[8934] = 'AuditConditionRespondEventType_LocalTime' ObjectIdNames[8935] = 'AuditConditionRespondEventType_Message' ObjectIdNames[8936] = 'AuditConditionRespondEventType_Severity' ObjectIdNames[8937] = 'AuditConditionRespondEventType_ActionTimeStamp' ObjectIdNames[8938] = 'AuditConditionRespondEventType_Status' ObjectIdNames[8939] = 'AuditConditionRespondEventType_ServerId' ObjectIdNames[8940] = 'AuditConditionRespondEventType_ClientAuditEntryId' ObjectIdNames[8941] = 'AuditConditionRespondEventType_ClientUserId' ObjectIdNames[8942] = 'AuditConditionRespondEventType_MethodId' ObjectIdNames[8943] = 'AuditConditionRespondEventType_InputArguments' ObjectIdNames[8944] = 'AuditConditionAcknowledgeEventType' ObjectIdNames[8945] = 'AuditConditionAcknowledgeEventType_EventId' ObjectIdNames[8946] = 'AuditConditionAcknowledgeEventType_EventType' ObjectIdNames[8947] = 'AuditConditionAcknowledgeEventType_SourceNode' ObjectIdNames[8948] = 'AuditConditionAcknowledgeEventType_SourceName' ObjectIdNames[8949] = 'AuditConditionAcknowledgeEventType_Time' ObjectIdNames[8950] = 'AuditConditionAcknowledgeEventType_ReceiveTime' ObjectIdNames[8951] = 'AuditConditionAcknowledgeEventType_LocalTime' ObjectIdNames[8952] = 'AuditConditionAcknowledgeEventType_Message' ObjectIdNames[8953] = 'AuditConditionAcknowledgeEventType_Severity' ObjectIdNames[8954] = 'AuditConditionAcknowledgeEventType_ActionTimeStamp' ObjectIdNames[8955] = 'AuditConditionAcknowledgeEventType_Status' ObjectIdNames[8956] = 'AuditConditionAcknowledgeEventType_ServerId' ObjectIdNames[8957] = 'AuditConditionAcknowledgeEventType_ClientAuditEntryId' ObjectIdNames[8958] = 'AuditConditionAcknowledgeEventType_ClientUserId' ObjectIdNames[8959] = 'AuditConditionAcknowledgeEventType_MethodId' ObjectIdNames[8960] = 'AuditConditionAcknowledgeEventType_InputArguments' ObjectIdNames[8961] = 'AuditConditionConfirmEventType' ObjectIdNames[8962] = 'AuditConditionConfirmEventType_EventId' ObjectIdNames[8963] = 'AuditConditionConfirmEventType_EventType' ObjectIdNames[8964] = 'AuditConditionConfirmEventType_SourceNode' ObjectIdNames[8965] = 'AuditConditionConfirmEventType_SourceName' ObjectIdNames[8966] = 'AuditConditionConfirmEventType_Time' ObjectIdNames[8967] = 'AuditConditionConfirmEventType_ReceiveTime' ObjectIdNames[8968] = 'AuditConditionConfirmEventType_LocalTime' ObjectIdNames[8969] = 'AuditConditionConfirmEventType_Message' ObjectIdNames[8970] = 'AuditConditionConfirmEventType_Severity' ObjectIdNames[8971] = 'AuditConditionConfirmEventType_ActionTimeStamp' ObjectIdNames[8972] = 'AuditConditionConfirmEventType_Status' ObjectIdNames[8973] = 'AuditConditionConfirmEventType_ServerId' ObjectIdNames[8974] = 'AuditConditionConfirmEventType_ClientAuditEntryId' ObjectIdNames[8975] = 'AuditConditionConfirmEventType_ClientUserId' ObjectIdNames[8976] = 'AuditConditionConfirmEventType_MethodId' ObjectIdNames[8977] = 'AuditConditionConfirmEventType_InputArguments' ObjectIdNames[8995] = 'TwoStateVariableType' ObjectIdNames[8996] = 'TwoStateVariableType_Id' ObjectIdNames[8997] = 'TwoStateVariableType_Name' ObjectIdNames[8998] = 'TwoStateVariableType_Number' ObjectIdNames[8999] = 'TwoStateVariableType_EffectiveDisplayName' ObjectIdNames[9000] = 'TwoStateVariableType_TransitionTime' ObjectIdNames[9001] = 'TwoStateVariableType_EffectiveTransitionTime' ObjectIdNames[9002] = 'ConditionVariableType' ObjectIdNames[9003] = 'ConditionVariableType_SourceTimestamp' ObjectIdNames[9004] = 'HasTrueSubState' ObjectIdNames[9005] = 'HasFalseSubState' ObjectIdNames[9006] = 'HasCondition' ObjectIdNames[9007] = 'ConditionRefreshMethodType' ObjectIdNames[9008] = 'ConditionRefreshMethodType_InputArguments' ObjectIdNames[9009] = 'ConditionType_ConditionName' ObjectIdNames[9010] = 'ConditionType_BranchId' ObjectIdNames[9011] = 'ConditionType_EnabledState' ObjectIdNames[9012] = 'ConditionType_EnabledState_Id' ObjectIdNames[9013] = 'ConditionType_EnabledState_Name' ObjectIdNames[9014] = 'ConditionType_EnabledState_Number' ObjectIdNames[9015] = 'ConditionType_EnabledState_EffectiveDisplayName' ObjectIdNames[9016] = 'ConditionType_EnabledState_TransitionTime' ObjectIdNames[9017] = 'ConditionType_EnabledState_EffectiveTransitionTime' ObjectIdNames[9018] = 'ConditionType_EnabledState_TrueState' ObjectIdNames[9019] = 'ConditionType_EnabledState_FalseState' ObjectIdNames[9020] = 'ConditionType_Quality' ObjectIdNames[9021] = 'ConditionType_Quality_SourceTimestamp' ObjectIdNames[9022] = 'ConditionType_LastSeverity' ObjectIdNames[9023] = 'ConditionType_LastSeverity_SourceTimestamp' ObjectIdNames[9024] = 'ConditionType_Comment' ObjectIdNames[9025] = 'ConditionType_Comment_SourceTimestamp' ObjectIdNames[9026] = 'ConditionType_ClientUserId' ObjectIdNames[9027] = 'ConditionType_Enable' ObjectIdNames[9028] = 'ConditionType_Disable' ObjectIdNames[9029] = 'ConditionType_AddComment' ObjectIdNames[9030] = 'ConditionType_AddComment_InputArguments' ObjectIdNames[9031] = 'DialogResponseMethodType' ObjectIdNames[9032] = 'DialogResponseMethodType_InputArguments' ObjectIdNames[9033] = 'DialogConditionType_ConditionName' ObjectIdNames[9034] = 'DialogConditionType_BranchId' ObjectIdNames[9035] = 'DialogConditionType_EnabledState' ObjectIdNames[9036] = 'DialogConditionType_EnabledState_Id' ObjectIdNames[9037] = 'DialogConditionType_EnabledState_Name' ObjectIdNames[9038] = 'DialogConditionType_EnabledState_Number' ObjectIdNames[9039] = 'DialogConditionType_EnabledState_EffectiveDisplayName' ObjectIdNames[9040] = 'DialogConditionType_EnabledState_TransitionTime' ObjectIdNames[9041] = 'DialogConditionType_EnabledState_EffectiveTransitionTime' ObjectIdNames[9042] = 'DialogConditionType_EnabledState_TrueState' ObjectIdNames[9043] = 'DialogConditionType_EnabledState_FalseState' ObjectIdNames[9044] = 'DialogConditionType_Quality' ObjectIdNames[9045] = 'DialogConditionType_Quality_SourceTimestamp' ObjectIdNames[9046] = 'DialogConditionType_LastSeverity' ObjectIdNames[9047] = 'DialogConditionType_LastSeverity_SourceTimestamp' ObjectIdNames[9048] = 'DialogConditionType_Comment' ObjectIdNames[9049] = 'DialogConditionType_Comment_SourceTimestamp' ObjectIdNames[9050] = 'DialogConditionType_ClientUserId' ObjectIdNames[9051] = 'DialogConditionType_Enable' ObjectIdNames[9052] = 'DialogConditionType_Disable' ObjectIdNames[9053] = 'DialogConditionType_AddComment' ObjectIdNames[9054] = 'DialogConditionType_AddComment_InputArguments' ObjectIdNames[9055] = 'DialogConditionType_DialogState' ObjectIdNames[9056] = 'DialogConditionType_DialogState_Id' ObjectIdNames[9057] = 'DialogConditionType_DialogState_Name' ObjectIdNames[9058] = 'DialogConditionType_DialogState_Number' ObjectIdNames[9059] = 'DialogConditionType_DialogState_EffectiveDisplayName' ObjectIdNames[9060] = 'DialogConditionType_DialogState_TransitionTime' ObjectIdNames[9061] = 'DialogConditionType_DialogState_EffectiveTransitionTime' ObjectIdNames[9062] = 'DialogConditionType_DialogState_TrueState' ObjectIdNames[9063] = 'DialogConditionType_DialogState_FalseState' ObjectIdNames[9064] = 'DialogConditionType_ResponseOptionSet' ObjectIdNames[9065] = 'DialogConditionType_DefaultResponse' ObjectIdNames[9066] = 'DialogConditionType_OkResponse' ObjectIdNames[9067] = 'DialogConditionType_CancelResponse' ObjectIdNames[9068] = 'DialogConditionType_LastResponse' ObjectIdNames[9069] = 'DialogConditionType_Respond' ObjectIdNames[9070] = 'DialogConditionType_Respond_InputArguments' ObjectIdNames[9071] = 'AcknowledgeableConditionType_ConditionName' ObjectIdNames[9072] = 'AcknowledgeableConditionType_BranchId' ObjectIdNames[9073] = 'AcknowledgeableConditionType_EnabledState' ObjectIdNames[9074] = 'AcknowledgeableConditionType_EnabledState_Id' ObjectIdNames[9075] = 'AcknowledgeableConditionType_EnabledState_Name' ObjectIdNames[9076] = 'AcknowledgeableConditionType_EnabledState_Number' ObjectIdNames[9077] = 'AcknowledgeableConditionType_EnabledState_EffectiveDisplayName' ObjectIdNames[9078] = 'AcknowledgeableConditionType_EnabledState_TransitionTime' ObjectIdNames[9079] = 'AcknowledgeableConditionType_EnabledState_EffectiveTransitionTime' ObjectIdNames[9080] = 'AcknowledgeableConditionType_EnabledState_TrueState' ObjectIdNames[9081] = 'AcknowledgeableConditionType_EnabledState_FalseState' ObjectIdNames[9082] = 'AcknowledgeableConditionType_Quality' ObjectIdNames[9083] = 'AcknowledgeableConditionType_Quality_SourceTimestamp' ObjectIdNames[9084] = 'AcknowledgeableConditionType_LastSeverity' ObjectIdNames[9085] = 'AcknowledgeableConditionType_LastSeverity_SourceTimestamp' ObjectIdNames[9086] = 'AcknowledgeableConditionType_Comment' ObjectIdNames[9087] = 'AcknowledgeableConditionType_Comment_SourceTimestamp' ObjectIdNames[9088] = 'AcknowledgeableConditionType_ClientUserId' ObjectIdNames[9089] = 'AcknowledgeableConditionType_Enable' ObjectIdNames[9090] = 'AcknowledgeableConditionType_Disable' ObjectIdNames[9091] = 'AcknowledgeableConditionType_AddComment' ObjectIdNames[9092] = 'AcknowledgeableConditionType_AddComment_InputArguments' ObjectIdNames[9093] = 'AcknowledgeableConditionType_AckedState' ObjectIdNames[9094] = 'AcknowledgeableConditionType_AckedState_Id' ObjectIdNames[9095] = 'AcknowledgeableConditionType_AckedState_Name' ObjectIdNames[9096] = 'AcknowledgeableConditionType_AckedState_Number' ObjectIdNames[9097] = 'AcknowledgeableConditionType_AckedState_EffectiveDisplayName' ObjectIdNames[9098] = 'AcknowledgeableConditionType_AckedState_TransitionTime' ObjectIdNames[9099] = 'AcknowledgeableConditionType_AckedState_EffectiveTransitionTime' ObjectIdNames[9100] = 'AcknowledgeableConditionType_AckedState_TrueState' ObjectIdNames[9101] = 'AcknowledgeableConditionType_AckedState_FalseState' ObjectIdNames[9102] = 'AcknowledgeableConditionType_ConfirmedState' ObjectIdNames[9103] = 'AcknowledgeableConditionType_ConfirmedState_Id' ObjectIdNames[9104] = 'AcknowledgeableConditionType_ConfirmedState_Name' ObjectIdNames[9105] = 'AcknowledgeableConditionType_ConfirmedState_Number' ObjectIdNames[9106] = 'AcknowledgeableConditionType_ConfirmedState_EffectiveDisplayName' ObjectIdNames[9107] = 'AcknowledgeableConditionType_ConfirmedState_TransitionTime' ObjectIdNames[9108] = 'AcknowledgeableConditionType_ConfirmedState_EffectiveTransitionTime' ObjectIdNames[9109] = 'AcknowledgeableConditionType_ConfirmedState_TrueState' ObjectIdNames[9110] = 'AcknowledgeableConditionType_ConfirmedState_FalseState' ObjectIdNames[9111] = 'AcknowledgeableConditionType_Acknowledge' ObjectIdNames[9112] = 'AcknowledgeableConditionType_Acknowledge_InputArguments' ObjectIdNames[9113] = 'AcknowledgeableConditionType_Confirm' ObjectIdNames[9114] = 'AcknowledgeableConditionType_Confirm_InputArguments' ObjectIdNames[9115] = 'ShelvedStateMachineType_UnshelveTime' ObjectIdNames[9116] = 'AlarmConditionType_ConditionName' ObjectIdNames[9117] = 'AlarmConditionType_BranchId' ObjectIdNames[9118] = 'AlarmConditionType_EnabledState' ObjectIdNames[9119] = 'AlarmConditionType_EnabledState_Id' ObjectIdNames[9120] = 'AlarmConditionType_EnabledState_Name' ObjectIdNames[9121] = 'AlarmConditionType_EnabledState_Number' ObjectIdNames[9122] = 'AlarmConditionType_EnabledState_EffectiveDisplayName' ObjectIdNames[9123] = 'AlarmConditionType_EnabledState_TransitionTime' ObjectIdNames[9124] = 'AlarmConditionType_EnabledState_EffectiveTransitionTime' ObjectIdNames[9125] = 'AlarmConditionType_EnabledState_TrueState' ObjectIdNames[9126] = 'AlarmConditionType_EnabledState_FalseState' ObjectIdNames[9127] = 'AlarmConditionType_Quality' ObjectIdNames[9128] = 'AlarmConditionType_Quality_SourceTimestamp' ObjectIdNames[9129] = 'AlarmConditionType_LastSeverity' ObjectIdNames[9130] = 'AlarmConditionType_LastSeverity_SourceTimestamp' ObjectIdNames[9131] = 'AlarmConditionType_Comment' ObjectIdNames[9132] = 'AlarmConditionType_Comment_SourceTimestamp' ObjectIdNames[9133] = 'AlarmConditionType_ClientUserId' ObjectIdNames[9134] = 'AlarmConditionType_Enable' ObjectIdNames[9135] = 'AlarmConditionType_Disable' ObjectIdNames[9136] = 'AlarmConditionType_AddComment' ObjectIdNames[9137] = 'AlarmConditionType_AddComment_InputArguments' ObjectIdNames[9138] = 'AlarmConditionType_AckedState' ObjectIdNames[9139] = 'AlarmConditionType_AckedState_Id' ObjectIdNames[9140] = 'AlarmConditionType_AckedState_Name' ObjectIdNames[9141] = 'AlarmConditionType_AckedState_Number' ObjectIdNames[9142] = 'AlarmConditionType_AckedState_EffectiveDisplayName' ObjectIdNames[9143] = 'AlarmConditionType_AckedState_TransitionTime' ObjectIdNames[9144] = 'AlarmConditionType_AckedState_EffectiveTransitionTime' ObjectIdNames[9145] = 'AlarmConditionType_AckedState_TrueState' ObjectIdNames[9146] = 'AlarmConditionType_AckedState_FalseState' ObjectIdNames[9147] = 'AlarmConditionType_ConfirmedState' ObjectIdNames[9148] = 'AlarmConditionType_ConfirmedState_Id' ObjectIdNames[9149] = 'AlarmConditionType_ConfirmedState_Name' ObjectIdNames[9150] = 'AlarmConditionType_ConfirmedState_Number' ObjectIdNames[9151] = 'AlarmConditionType_ConfirmedState_EffectiveDisplayName' ObjectIdNames[9152] = 'AlarmConditionType_ConfirmedState_TransitionTime' ObjectIdNames[9153] = 'AlarmConditionType_ConfirmedState_EffectiveTransitionTime' ObjectIdNames[9154] = 'AlarmConditionType_ConfirmedState_TrueState' ObjectIdNames[9155] = 'AlarmConditionType_ConfirmedState_FalseState' ObjectIdNames[9156] = 'AlarmConditionType_Acknowledge' ObjectIdNames[9157] = 'AlarmConditionType_Acknowledge_InputArguments' ObjectIdNames[9158] = 'AlarmConditionType_Confirm' ObjectIdNames[9159] = 'AlarmConditionType_Confirm_InputArguments' ObjectIdNames[9160] = 'AlarmConditionType_ActiveState' ObjectIdNames[9161] = 'AlarmConditionType_ActiveState_Id' ObjectIdNames[9162] = 'AlarmConditionType_ActiveState_Name' ObjectIdNames[9163] = 'AlarmConditionType_ActiveState_Number' ObjectIdNames[9164] = 'AlarmConditionType_ActiveState_EffectiveDisplayName' ObjectIdNames[9165] = 'AlarmConditionType_ActiveState_TransitionTime' ObjectIdNames[9166] = 'AlarmConditionType_ActiveState_EffectiveTransitionTime' ObjectIdNames[9167] = 'AlarmConditionType_ActiveState_TrueState' ObjectIdNames[9168] = 'AlarmConditionType_ActiveState_FalseState' ObjectIdNames[9169] = 'AlarmConditionType_SuppressedState' ObjectIdNames[9170] = 'AlarmConditionType_SuppressedState_Id' ObjectIdNames[9171] = 'AlarmConditionType_SuppressedState_Name' ObjectIdNames[9172] = 'AlarmConditionType_SuppressedState_Number' ObjectIdNames[9173] = 'AlarmConditionType_SuppressedState_EffectiveDisplayName' ObjectIdNames[9174] = 'AlarmConditionType_SuppressedState_TransitionTime' ObjectIdNames[9175] = 'AlarmConditionType_SuppressedState_EffectiveTransitionTime' ObjectIdNames[9176] = 'AlarmConditionType_SuppressedState_TrueState' ObjectIdNames[9177] = 'AlarmConditionType_SuppressedState_FalseState' ObjectIdNames[9178] = 'AlarmConditionType_ShelvingState' ObjectIdNames[9179] = 'AlarmConditionType_ShelvingState_CurrentState' ObjectIdNames[9180] = 'AlarmConditionType_ShelvingState_CurrentState_Id' ObjectIdNames[9181] = 'AlarmConditionType_ShelvingState_CurrentState_Name' ObjectIdNames[9182] = 'AlarmConditionType_ShelvingState_CurrentState_Number' ObjectIdNames[9183] = 'AlarmConditionType_ShelvingState_CurrentState_EffectiveDisplayName' ObjectIdNames[9184] = 'AlarmConditionType_ShelvingState_LastTransition' ObjectIdNames[9185] = 'AlarmConditionType_ShelvingState_LastTransition_Id' ObjectIdNames[9186] = 'AlarmConditionType_ShelvingState_LastTransition_Name' ObjectIdNames[9187] = 'AlarmConditionType_ShelvingState_LastTransition_Number' ObjectIdNames[9188] = 'AlarmConditionType_ShelvingState_LastTransition_TransitionTime' ObjectIdNames[9189] = 'AlarmConditionType_ShelvingState_UnshelveTime' ObjectIdNames[9211] = 'AlarmConditionType_ShelvingState_Unshelve' ObjectIdNames[9212] = 'AlarmConditionType_ShelvingState_OneShotShelve' ObjectIdNames[9213] = 'AlarmConditionType_ShelvingState_TimedShelve' ObjectIdNames[9214] = 'AlarmConditionType_ShelvingState_TimedShelve_InputArguments' ObjectIdNames[9215] = 'AlarmConditionType_SuppressedOrShelved' ObjectIdNames[9216] = 'AlarmConditionType_MaxTimeShelved' ObjectIdNames[9217] = 'LimitAlarmType_ConditionName' ObjectIdNames[9218] = 'LimitAlarmType_BranchId' ObjectIdNames[9219] = 'LimitAlarmType_EnabledState' ObjectIdNames[9220] = 'LimitAlarmType_EnabledState_Id' ObjectIdNames[9221] = 'LimitAlarmType_EnabledState_Name' ObjectIdNames[9222] = 'LimitAlarmType_EnabledState_Number' ObjectIdNames[9223] = 'LimitAlarmType_EnabledState_EffectiveDisplayName' ObjectIdNames[9224] = 'LimitAlarmType_EnabledState_TransitionTime' ObjectIdNames[9225] = 'LimitAlarmType_EnabledState_EffectiveTransitionTime' ObjectIdNames[9226] = 'LimitAlarmType_EnabledState_TrueState' ObjectIdNames[9227] = 'LimitAlarmType_EnabledState_FalseState' ObjectIdNames[9228] = 'LimitAlarmType_Quality' ObjectIdNames[9229] = 'LimitAlarmType_Quality_SourceTimestamp' ObjectIdNames[9230] = 'LimitAlarmType_LastSeverity' ObjectIdNames[9231] = 'LimitAlarmType_LastSeverity_SourceTimestamp' ObjectIdNames[9232] = 'LimitAlarmType_Comment' ObjectIdNames[9233] = 'LimitAlarmType_Comment_SourceTimestamp' ObjectIdNames[9234] = 'LimitAlarmType_ClientUserId' ObjectIdNames[9235] = 'LimitAlarmType_Enable' ObjectIdNames[9236] = 'LimitAlarmType_Disable' ObjectIdNames[9237] = 'LimitAlarmType_AddComment' ObjectIdNames[9238] = 'LimitAlarmType_AddComment_InputArguments' ObjectIdNames[9239] = 'LimitAlarmType_AckedState' ObjectIdNames[9240] = 'LimitAlarmType_AckedState_Id' ObjectIdNames[9241] = 'LimitAlarmType_AckedState_Name' ObjectIdNames[9242] = 'LimitAlarmType_AckedState_Number' ObjectIdNames[9243] = 'LimitAlarmType_AckedState_EffectiveDisplayName' ObjectIdNames[9244] = 'LimitAlarmType_AckedState_TransitionTime' ObjectIdNames[9245] = 'LimitAlarmType_AckedState_EffectiveTransitionTime' ObjectIdNames[9246] = 'LimitAlarmType_AckedState_TrueState' ObjectIdNames[9247] = 'LimitAlarmType_AckedState_FalseState' ObjectIdNames[9248] = 'LimitAlarmType_ConfirmedState' ObjectIdNames[9249] = 'LimitAlarmType_ConfirmedState_Id' ObjectIdNames[9250] = 'LimitAlarmType_ConfirmedState_Name' ObjectIdNames[9251] = 'LimitAlarmType_ConfirmedState_Number' ObjectIdNames[9252] = 'LimitAlarmType_ConfirmedState_EffectiveDisplayName' ObjectIdNames[9253] = 'LimitAlarmType_ConfirmedState_TransitionTime' ObjectIdNames[9254] = 'LimitAlarmType_ConfirmedState_EffectiveTransitionTime' ObjectIdNames[9255] = 'LimitAlarmType_ConfirmedState_TrueState' ObjectIdNames[9256] = 'LimitAlarmType_ConfirmedState_FalseState' ObjectIdNames[9257] = 'LimitAlarmType_Acknowledge' ObjectIdNames[9258] = 'LimitAlarmType_Acknowledge_InputArguments' ObjectIdNames[9259] = 'LimitAlarmType_Confirm' ObjectIdNames[9260] = 'LimitAlarmType_Confirm_InputArguments' ObjectIdNames[9261] = 'LimitAlarmType_ActiveState' ObjectIdNames[9262] = 'LimitAlarmType_ActiveState_Id' ObjectIdNames[9263] = 'LimitAlarmType_ActiveState_Name' ObjectIdNames[9264] = 'LimitAlarmType_ActiveState_Number' ObjectIdNames[9265] = 'LimitAlarmType_ActiveState_EffectiveDisplayName' ObjectIdNames[9266] = 'LimitAlarmType_ActiveState_TransitionTime' ObjectIdNames[9267] = 'LimitAlarmType_ActiveState_EffectiveTransitionTime' ObjectIdNames[9268] = 'LimitAlarmType_ActiveState_TrueState' ObjectIdNames[9269] = 'LimitAlarmType_ActiveState_FalseState' ObjectIdNames[9270] = 'LimitAlarmType_SuppressedState' ObjectIdNames[9271] = 'LimitAlarmType_SuppressedState_Id' ObjectIdNames[9272] = 'LimitAlarmType_SuppressedState_Name' ObjectIdNames[9273] = 'LimitAlarmType_SuppressedState_Number' ObjectIdNames[9274] = 'LimitAlarmType_SuppressedState_EffectiveDisplayName' ObjectIdNames[9275] = 'LimitAlarmType_SuppressedState_TransitionTime' ObjectIdNames[9276] = 'LimitAlarmType_SuppressedState_EffectiveTransitionTime' ObjectIdNames[9277] = 'LimitAlarmType_SuppressedState_TrueState' ObjectIdNames[9278] = 'LimitAlarmType_SuppressedState_FalseState' ObjectIdNames[9279] = 'LimitAlarmType_ShelvingState' ObjectIdNames[9280] = 'LimitAlarmType_ShelvingState_CurrentState' ObjectIdNames[9281] = 'LimitAlarmType_ShelvingState_CurrentState_Id' ObjectIdNames[9282] = 'LimitAlarmType_ShelvingState_CurrentState_Name' ObjectIdNames[9283] = 'LimitAlarmType_ShelvingState_CurrentState_Number' ObjectIdNames[9284] = 'LimitAlarmType_ShelvingState_CurrentState_EffectiveDisplayName' ObjectIdNames[9285] = 'LimitAlarmType_ShelvingState_LastTransition' ObjectIdNames[9286] = 'LimitAlarmType_ShelvingState_LastTransition_Id' ObjectIdNames[9287] = 'LimitAlarmType_ShelvingState_LastTransition_Name' ObjectIdNames[9288] = 'LimitAlarmType_ShelvingState_LastTransition_Number' ObjectIdNames[9289] = 'LimitAlarmType_ShelvingState_LastTransition_TransitionTime' ObjectIdNames[9290] = 'LimitAlarmType_ShelvingState_UnshelveTime' ObjectIdNames[9312] = 'LimitAlarmType_ShelvingState_Unshelve' ObjectIdNames[9313] = 'LimitAlarmType_ShelvingState_OneShotShelve' ObjectIdNames[9314] = 'LimitAlarmType_ShelvingState_TimedShelve' ObjectIdNames[9315] = 'LimitAlarmType_ShelvingState_TimedShelve_InputArguments' ObjectIdNames[9316] = 'LimitAlarmType_SuppressedOrShelved' ObjectIdNames[9317] = 'LimitAlarmType_MaxTimeShelved' ObjectIdNames[9318] = 'ExclusiveLimitStateMachineType' ObjectIdNames[9319] = 'ExclusiveLimitStateMachineType_CurrentState' ObjectIdNames[9320] = 'ExclusiveLimitStateMachineType_CurrentState_Id' ObjectIdNames[9321] = 'ExclusiveLimitStateMachineType_CurrentState_Name' ObjectIdNames[9322] = 'ExclusiveLimitStateMachineType_CurrentState_Number' ObjectIdNames[9323] = 'ExclusiveLimitStateMachineType_CurrentState_EffectiveDisplayName' ObjectIdNames[9324] = 'ExclusiveLimitStateMachineType_LastTransition' ObjectIdNames[9325] = 'ExclusiveLimitStateMachineType_LastTransition_Id' ObjectIdNames[9326] = 'ExclusiveLimitStateMachineType_LastTransition_Name' ObjectIdNames[9327] = 'ExclusiveLimitStateMachineType_LastTransition_Number' ObjectIdNames[9328] = 'ExclusiveLimitStateMachineType_LastTransition_TransitionTime' ObjectIdNames[9329] = 'ExclusiveLimitStateMachineType_HighHigh' ObjectIdNames[9330] = 'ExclusiveLimitStateMachineType_HighHigh_StateNumber' ObjectIdNames[9331] = 'ExclusiveLimitStateMachineType_High' ObjectIdNames[9332] = 'ExclusiveLimitStateMachineType_High_StateNumber' ObjectIdNames[9333] = 'ExclusiveLimitStateMachineType_Low' ObjectIdNames[9334] = 'ExclusiveLimitStateMachineType_Low_StateNumber' ObjectIdNames[9335] = 'ExclusiveLimitStateMachineType_LowLow' ObjectIdNames[9336] = 'ExclusiveLimitStateMachineType_LowLow_StateNumber' ObjectIdNames[9337] = 'ExclusiveLimitStateMachineType_LowLowToLow' ObjectIdNames[9338] = 'ExclusiveLimitStateMachineType_LowToLowLow' ObjectIdNames[9339] = 'ExclusiveLimitStateMachineType_HighHighToHigh' ObjectIdNames[9340] = 'ExclusiveLimitStateMachineType_HighToHighHigh' ObjectIdNames[9341] = 'ExclusiveLimitAlarmType' ObjectIdNames[9342] = 'ExclusiveLimitAlarmType_EventId' ObjectIdNames[9343] = 'ExclusiveLimitAlarmType_EventType' ObjectIdNames[9344] = 'ExclusiveLimitAlarmType_SourceNode' ObjectIdNames[9345] = 'ExclusiveLimitAlarmType_SourceName' ObjectIdNames[9346] = 'ExclusiveLimitAlarmType_Time' ObjectIdNames[9347] = 'ExclusiveLimitAlarmType_ReceiveTime' ObjectIdNames[9348] = 'ExclusiveLimitAlarmType_LocalTime' ObjectIdNames[9349] = 'ExclusiveLimitAlarmType_Message' ObjectIdNames[9350] = 'ExclusiveLimitAlarmType_Severity' ObjectIdNames[9351] = 'ExclusiveLimitAlarmType_ConditionName' ObjectIdNames[9352] = 'ExclusiveLimitAlarmType_BranchId' ObjectIdNames[9353] = 'ExclusiveLimitAlarmType_Retain' ObjectIdNames[9354] = 'ExclusiveLimitAlarmType_EnabledState' ObjectIdNames[9355] = 'ExclusiveLimitAlarmType_EnabledState_Id' ObjectIdNames[9356] = 'ExclusiveLimitAlarmType_EnabledState_Name' ObjectIdNames[9357] = 'ExclusiveLimitAlarmType_EnabledState_Number' ObjectIdNames[9358] = 'ExclusiveLimitAlarmType_EnabledState_EffectiveDisplayName' ObjectIdNames[9359] = 'ExclusiveLimitAlarmType_EnabledState_TransitionTime' ObjectIdNames[9360] = 'ExclusiveLimitAlarmType_EnabledState_EffectiveTransitionTime' ObjectIdNames[9361] = 'ExclusiveLimitAlarmType_EnabledState_TrueState' ObjectIdNames[9362] = 'ExclusiveLimitAlarmType_EnabledState_FalseState' ObjectIdNames[9363] = 'ExclusiveLimitAlarmType_Quality' ObjectIdNames[9364] = 'ExclusiveLimitAlarmType_Quality_SourceTimestamp' ObjectIdNames[9365] = 'ExclusiveLimitAlarmType_LastSeverity' ObjectIdNames[9366] = 'ExclusiveLimitAlarmType_LastSeverity_SourceTimestamp' ObjectIdNames[9367] = 'ExclusiveLimitAlarmType_Comment' ObjectIdNames[9368] = 'ExclusiveLimitAlarmType_Comment_SourceTimestamp' ObjectIdNames[9369] = 'ExclusiveLimitAlarmType_ClientUserId' ObjectIdNames[9370] = 'ExclusiveLimitAlarmType_Enable' ObjectIdNames[9371] = 'ExclusiveLimitAlarmType_Disable' ObjectIdNames[9372] = 'ExclusiveLimitAlarmType_AddComment' ObjectIdNames[9373] = 'ExclusiveLimitAlarmType_AddComment_InputArguments' ObjectIdNames[9374] = 'ExclusiveLimitAlarmType_ConditionRefresh' ObjectIdNames[9375] = 'ExclusiveLimitAlarmType_ConditionRefresh_InputArguments' ObjectIdNames[9376] = 'ExclusiveLimitAlarmType_AckedState' ObjectIdNames[9377] = 'ExclusiveLimitAlarmType_AckedState_Id' ObjectIdNames[9378] = 'ExclusiveLimitAlarmType_AckedState_Name' ObjectIdNames[9379] = 'ExclusiveLimitAlarmType_AckedState_Number' ObjectIdNames[9380] = 'ExclusiveLimitAlarmType_AckedState_EffectiveDisplayName' ObjectIdNames[9381] = 'ExclusiveLimitAlarmType_AckedState_TransitionTime' ObjectIdNames[9382] = 'ExclusiveLimitAlarmType_AckedState_EffectiveTransitionTime' ObjectIdNames[9383] = 'ExclusiveLimitAlarmType_AckedState_TrueState' ObjectIdNames[9384] = 'ExclusiveLimitAlarmType_AckedState_FalseState' ObjectIdNames[9385] = 'ExclusiveLimitAlarmType_ConfirmedState' ObjectIdNames[9386] = 'ExclusiveLimitAlarmType_ConfirmedState_Id' ObjectIdNames[9387] = 'ExclusiveLimitAlarmType_ConfirmedState_Name' ObjectIdNames[9388] = 'ExclusiveLimitAlarmType_ConfirmedState_Number' ObjectIdNames[9389] = 'ExclusiveLimitAlarmType_ConfirmedState_EffectiveDisplayName' ObjectIdNames[9390] = 'ExclusiveLimitAlarmType_ConfirmedState_TransitionTime' ObjectIdNames[9391] = 'ExclusiveLimitAlarmType_ConfirmedState_EffectiveTransitionTime' ObjectIdNames[9392] = 'ExclusiveLimitAlarmType_ConfirmedState_TrueState' ObjectIdNames[9393] = 'ExclusiveLimitAlarmType_ConfirmedState_FalseState' ObjectIdNames[9394] = 'ExclusiveLimitAlarmType_Acknowledge' ObjectIdNames[9395] = 'ExclusiveLimitAlarmType_Acknowledge_InputArguments' ObjectIdNames[9396] = 'ExclusiveLimitAlarmType_Confirm' ObjectIdNames[9397] = 'ExclusiveLimitAlarmType_Confirm_InputArguments' ObjectIdNames[9398] = 'ExclusiveLimitAlarmType_ActiveState' ObjectIdNames[9399] = 'ExclusiveLimitAlarmType_ActiveState_Id' ObjectIdNames[9400] = 'ExclusiveLimitAlarmType_ActiveState_Name' ObjectIdNames[9401] = 'ExclusiveLimitAlarmType_ActiveState_Number' ObjectIdNames[9402] = 'ExclusiveLimitAlarmType_ActiveState_EffectiveDisplayName' ObjectIdNames[9403] = 'ExclusiveLimitAlarmType_ActiveState_TransitionTime' ObjectIdNames[9404] = 'ExclusiveLimitAlarmType_ActiveState_EffectiveTransitionTime' ObjectIdNames[9405] = 'ExclusiveLimitAlarmType_ActiveState_TrueState' ObjectIdNames[9406] = 'ExclusiveLimitAlarmType_ActiveState_FalseState' ObjectIdNames[9407] = 'ExclusiveLimitAlarmType_SuppressedState' ObjectIdNames[9408] = 'ExclusiveLimitAlarmType_SuppressedState_Id' ObjectIdNames[9409] = 'ExclusiveLimitAlarmType_SuppressedState_Name' ObjectIdNames[9410] = 'ExclusiveLimitAlarmType_SuppressedState_Number' ObjectIdNames[9411] = 'ExclusiveLimitAlarmType_SuppressedState_EffectiveDisplayName' ObjectIdNames[9412] = 'ExclusiveLimitAlarmType_SuppressedState_TransitionTime' ObjectIdNames[9413] = 'ExclusiveLimitAlarmType_SuppressedState_EffectiveTransitionTime' ObjectIdNames[9414] = 'ExclusiveLimitAlarmType_SuppressedState_TrueState' ObjectIdNames[9415] = 'ExclusiveLimitAlarmType_SuppressedState_FalseState' ObjectIdNames[9416] = 'ExclusiveLimitAlarmType_ShelvingState' ObjectIdNames[9417] = 'ExclusiveLimitAlarmType_ShelvingState_CurrentState' ObjectIdNames[9418] = 'ExclusiveLimitAlarmType_ShelvingState_CurrentState_Id' ObjectIdNames[9419] = 'ExclusiveLimitAlarmType_ShelvingState_CurrentState_Name' ObjectIdNames[9420] = 'ExclusiveLimitAlarmType_ShelvingState_CurrentState_Number' ObjectIdNames[9421] = 'ExclusiveLimitAlarmType_ShelvingState_CurrentState_EffectiveDisplayName' ObjectIdNames[9422] = 'ExclusiveLimitAlarmType_ShelvingState_LastTransition' ObjectIdNames[9423] = 'ExclusiveLimitAlarmType_ShelvingState_LastTransition_Id' ObjectIdNames[9424] = 'ExclusiveLimitAlarmType_ShelvingState_LastTransition_Name' ObjectIdNames[9425] = 'ExclusiveLimitAlarmType_ShelvingState_LastTransition_Number' ObjectIdNames[9426] = 'ExclusiveLimitAlarmType_ShelvingState_LastTransition_TransitionTime' ObjectIdNames[9427] = 'ExclusiveLimitAlarmType_ShelvingState_UnshelveTime' ObjectIdNames[9449] = 'ExclusiveLimitAlarmType_ShelvingState_Unshelve' ObjectIdNames[9450] = 'ExclusiveLimitAlarmType_ShelvingState_OneShotShelve' ObjectIdNames[9451] = 'ExclusiveLimitAlarmType_ShelvingState_TimedShelve' ObjectIdNames[9452] = 'ExclusiveLimitAlarmType_ShelvingState_TimedShelve_InputArguments' ObjectIdNames[9453] = 'ExclusiveLimitAlarmType_SuppressedOrShelved' ObjectIdNames[9454] = 'ExclusiveLimitAlarmType_MaxTimeShelved' ObjectIdNames[9455] = 'ExclusiveLimitAlarmType_LimitState' ObjectIdNames[9456] = 'ExclusiveLimitAlarmType_LimitState_CurrentState' ObjectIdNames[9457] = 'ExclusiveLimitAlarmType_LimitState_CurrentState_Id' ObjectIdNames[9458] = 'ExclusiveLimitAlarmType_LimitState_CurrentState_Name' ObjectIdNames[9459] = 'ExclusiveLimitAlarmType_LimitState_CurrentState_Number' ObjectIdNames[9460] = 'ExclusiveLimitAlarmType_LimitState_CurrentState_EffectiveDisplayName' ObjectIdNames[9461] = 'ExclusiveLimitAlarmType_LimitState_LastTransition' ObjectIdNames[9462] = 'ExclusiveLimitAlarmType_LimitState_LastTransition_Id' ObjectIdNames[9463] = 'ExclusiveLimitAlarmType_LimitState_LastTransition_Name' ObjectIdNames[9464] = 'ExclusiveLimitAlarmType_LimitState_LastTransition_Number' ObjectIdNames[9465] = 'ExclusiveLimitAlarmType_LimitState_LastTransition_TransitionTime' ObjectIdNames[9478] = 'ExclusiveLimitAlarmType_HighHighLimit' ObjectIdNames[9479] = 'ExclusiveLimitAlarmType_HighLimit' ObjectIdNames[9480] = 'ExclusiveLimitAlarmType_LowLimit' ObjectIdNames[9481] = 'ExclusiveLimitAlarmType_LowLowLimit' ObjectIdNames[9482] = 'ExclusiveLevelAlarmType' ObjectIdNames[9483] = 'ExclusiveLevelAlarmType_EventId' ObjectIdNames[9484] = 'ExclusiveLevelAlarmType_EventType' ObjectIdNames[9485] = 'ExclusiveLevelAlarmType_SourceNode' ObjectIdNames[9486] = 'ExclusiveLevelAlarmType_SourceName' ObjectIdNames[9487] = 'ExclusiveLevelAlarmType_Time' ObjectIdNames[9488] = 'ExclusiveLevelAlarmType_ReceiveTime' ObjectIdNames[9489] = 'ExclusiveLevelAlarmType_LocalTime' ObjectIdNames[9490] = 'ExclusiveLevelAlarmType_Message' ObjectIdNames[9491] = 'ExclusiveLevelAlarmType_Severity' ObjectIdNames[9492] = 'ExclusiveLevelAlarmType_ConditionName' ObjectIdNames[9493] = 'ExclusiveLevelAlarmType_BranchId' ObjectIdNames[9494] = 'ExclusiveLevelAlarmType_Retain' ObjectIdNames[9495] = 'ExclusiveLevelAlarmType_EnabledState' ObjectIdNames[9496] = 'ExclusiveLevelAlarmType_EnabledState_Id' ObjectIdNames[9497] = 'ExclusiveLevelAlarmType_EnabledState_Name' ObjectIdNames[9498] = 'ExclusiveLevelAlarmType_EnabledState_Number' ObjectIdNames[9499] = 'ExclusiveLevelAlarmType_EnabledState_EffectiveDisplayName' ObjectIdNames[9500] = 'ExclusiveLevelAlarmType_EnabledState_TransitionTime' ObjectIdNames[9501] = 'ExclusiveLevelAlarmType_EnabledState_EffectiveTransitionTime' ObjectIdNames[9502] = 'ExclusiveLevelAlarmType_EnabledState_TrueState' ObjectIdNames[9503] = 'ExclusiveLevelAlarmType_EnabledState_FalseState' ObjectIdNames[9504] = 'ExclusiveLevelAlarmType_Quality' ObjectIdNames[9505] = 'ExclusiveLevelAlarmType_Quality_SourceTimestamp' ObjectIdNames[9506] = 'ExclusiveLevelAlarmType_LastSeverity' ObjectIdNames[9507] = 'ExclusiveLevelAlarmType_LastSeverity_SourceTimestamp' ObjectIdNames[9508] = 'ExclusiveLevelAlarmType_Comment' ObjectIdNames[9509] = 'ExclusiveLevelAlarmType_Comment_SourceTimestamp' ObjectIdNames[9510] = 'ExclusiveLevelAlarmType_ClientUserId' ObjectIdNames[9511] = 'ExclusiveLevelAlarmType_Enable' ObjectIdNames[9512] = 'ExclusiveLevelAlarmType_Disable' ObjectIdNames[9513] = 'ExclusiveLevelAlarmType_AddComment' ObjectIdNames[9514] = 'ExclusiveLevelAlarmType_AddComment_InputArguments' ObjectIdNames[9515] = 'ExclusiveLevelAlarmType_ConditionRefresh' ObjectIdNames[9516] = 'ExclusiveLevelAlarmType_ConditionRefresh_InputArguments' ObjectIdNames[9517] = 'ExclusiveLevelAlarmType_AckedState' ObjectIdNames[9518] = 'ExclusiveLevelAlarmType_AckedState_Id' ObjectIdNames[9519] = 'ExclusiveLevelAlarmType_AckedState_Name' ObjectIdNames[9520] = 'ExclusiveLevelAlarmType_AckedState_Number' ObjectIdNames[9521] = 'ExclusiveLevelAlarmType_AckedState_EffectiveDisplayName' ObjectIdNames[9522] = 'ExclusiveLevelAlarmType_AckedState_TransitionTime' ObjectIdNames[9523] = 'ExclusiveLevelAlarmType_AckedState_EffectiveTransitionTime' ObjectIdNames[9524] = 'ExclusiveLevelAlarmType_AckedState_TrueState' ObjectIdNames[9525] = 'ExclusiveLevelAlarmType_AckedState_FalseState' ObjectIdNames[9526] = 'ExclusiveLevelAlarmType_ConfirmedState' ObjectIdNames[9527] = 'ExclusiveLevelAlarmType_ConfirmedState_Id' ObjectIdNames[9528] = 'ExclusiveLevelAlarmType_ConfirmedState_Name' ObjectIdNames[9529] = 'ExclusiveLevelAlarmType_ConfirmedState_Number' ObjectIdNames[9530] = 'ExclusiveLevelAlarmType_ConfirmedState_EffectiveDisplayName' ObjectIdNames[9531] = 'ExclusiveLevelAlarmType_ConfirmedState_TransitionTime' ObjectIdNames[9532] = 'ExclusiveLevelAlarmType_ConfirmedState_EffectiveTransitionTime' ObjectIdNames[9533] = 'ExclusiveLevelAlarmType_ConfirmedState_TrueState' ObjectIdNames[9534] = 'ExclusiveLevelAlarmType_ConfirmedState_FalseState' ObjectIdNames[9535] = 'ExclusiveLevelAlarmType_Acknowledge' ObjectIdNames[9536] = 'ExclusiveLevelAlarmType_Acknowledge_InputArguments' ObjectIdNames[9537] = 'ExclusiveLevelAlarmType_Confirm' ObjectIdNames[9538] = 'ExclusiveLevelAlarmType_Confirm_InputArguments' ObjectIdNames[9539] = 'ExclusiveLevelAlarmType_ActiveState' ObjectIdNames[9540] = 'ExclusiveLevelAlarmType_ActiveState_Id' ObjectIdNames[9541] = 'ExclusiveLevelAlarmType_ActiveState_Name' ObjectIdNames[9542] = 'ExclusiveLevelAlarmType_ActiveState_Number' ObjectIdNames[9543] = 'ExclusiveLevelAlarmType_ActiveState_EffectiveDisplayName' ObjectIdNames[9544] = 'ExclusiveLevelAlarmType_ActiveState_TransitionTime' ObjectIdNames[9545] = 'ExclusiveLevelAlarmType_ActiveState_EffectiveTransitionTime' ObjectIdNames[9546] = 'ExclusiveLevelAlarmType_ActiveState_TrueState' ObjectIdNames[9547] = 'ExclusiveLevelAlarmType_ActiveState_FalseState' ObjectIdNames[9548] = 'ExclusiveLevelAlarmType_SuppressedState' ObjectIdNames[9549] = 'ExclusiveLevelAlarmType_SuppressedState_Id' ObjectIdNames[9550] = 'ExclusiveLevelAlarmType_SuppressedState_Name' ObjectIdNames[9551] = 'ExclusiveLevelAlarmType_SuppressedState_Number' ObjectIdNames[9552] = 'ExclusiveLevelAlarmType_SuppressedState_EffectiveDisplayName' ObjectIdNames[9553] = 'ExclusiveLevelAlarmType_SuppressedState_TransitionTime' ObjectIdNames[9554] = 'ExclusiveLevelAlarmType_SuppressedState_EffectiveTransitionTime' ObjectIdNames[9555] = 'ExclusiveLevelAlarmType_SuppressedState_TrueState' ObjectIdNames[9556] = 'ExclusiveLevelAlarmType_SuppressedState_FalseState' ObjectIdNames[9557] = 'ExclusiveLevelAlarmType_ShelvingState' ObjectIdNames[9558] = 'ExclusiveLevelAlarmType_ShelvingState_CurrentState' ObjectIdNames[9559] = 'ExclusiveLevelAlarmType_ShelvingState_CurrentState_Id' ObjectIdNames[9560] = 'ExclusiveLevelAlarmType_ShelvingState_CurrentState_Name' ObjectIdNames[9561] = 'ExclusiveLevelAlarmType_ShelvingState_CurrentState_Number' ObjectIdNames[9562] = 'ExclusiveLevelAlarmType_ShelvingState_CurrentState_EffectiveDisplayName' ObjectIdNames[9563] = 'ExclusiveLevelAlarmType_ShelvingState_LastTransition' ObjectIdNames[9564] = 'ExclusiveLevelAlarmType_ShelvingState_LastTransition_Id' ObjectIdNames[9565] = 'ExclusiveLevelAlarmType_ShelvingState_LastTransition_Name' ObjectIdNames[9566] = 'ExclusiveLevelAlarmType_ShelvingState_LastTransition_Number' ObjectIdNames[9567] = 'ExclusiveLevelAlarmType_ShelvingState_LastTransition_TransitionTime' ObjectIdNames[9568] = 'ExclusiveLevelAlarmType_ShelvingState_UnshelveTime' ObjectIdNames[9590] = 'ExclusiveLevelAlarmType_ShelvingState_Unshelve' ObjectIdNames[9591] = 'ExclusiveLevelAlarmType_ShelvingState_OneShotShelve' ObjectIdNames[9592] = 'ExclusiveLevelAlarmType_ShelvingState_TimedShelve' ObjectIdNames[9593] = 'ExclusiveLevelAlarmType_ShelvingState_TimedShelve_InputArguments' ObjectIdNames[9594] = 'ExclusiveLevelAlarmType_SuppressedOrShelved' ObjectIdNames[9595] = 'ExclusiveLevelAlarmType_MaxTimeShelved' ObjectIdNames[9596] = 'ExclusiveLevelAlarmType_LimitState' ObjectIdNames[9597] = 'ExclusiveLevelAlarmType_LimitState_CurrentState' ObjectIdNames[9598] = 'ExclusiveLevelAlarmType_LimitState_CurrentState_Id' ObjectIdNames[9599] = 'ExclusiveLevelAlarmType_LimitState_CurrentState_Name' ObjectIdNames[9600] = 'ExclusiveLevelAlarmType_LimitState_CurrentState_Number' ObjectIdNames[9601] = 'ExclusiveLevelAlarmType_LimitState_CurrentState_EffectiveDisplayName' ObjectIdNames[9602] = 'ExclusiveLevelAlarmType_LimitState_LastTransition' ObjectIdNames[9603] = 'ExclusiveLevelAlarmType_LimitState_LastTransition_Id' ObjectIdNames[9604] = 'ExclusiveLevelAlarmType_LimitState_LastTransition_Name' ObjectIdNames[9605] = 'ExclusiveLevelAlarmType_LimitState_LastTransition_Number' ObjectIdNames[9606] = 'ExclusiveLevelAlarmType_LimitState_LastTransition_TransitionTime' ObjectIdNames[9619] = 'ExclusiveLevelAlarmType_HighHighLimit' ObjectIdNames[9620] = 'ExclusiveLevelAlarmType_HighLimit' ObjectIdNames[9621] = 'ExclusiveLevelAlarmType_LowLimit' ObjectIdNames[9622] = 'ExclusiveLevelAlarmType_LowLowLimit' ObjectIdNames[9623] = 'ExclusiveRateOfChangeAlarmType' ObjectIdNames[9624] = 'ExclusiveRateOfChangeAlarmType_EventId' ObjectIdNames[9625] = 'ExclusiveRateOfChangeAlarmType_EventType' ObjectIdNames[9626] = 'ExclusiveRateOfChangeAlarmType_SourceNode' ObjectIdNames[9627] = 'ExclusiveRateOfChangeAlarmType_SourceName' ObjectIdNames[9628] = 'ExclusiveRateOfChangeAlarmType_Time' ObjectIdNames[9629] = 'ExclusiveRateOfChangeAlarmType_ReceiveTime' ObjectIdNames[9630] = 'ExclusiveRateOfChangeAlarmType_LocalTime' ObjectIdNames[9631] = 'ExclusiveRateOfChangeAlarmType_Message' ObjectIdNames[9632] = 'ExclusiveRateOfChangeAlarmType_Severity' ObjectIdNames[9633] = 'ExclusiveRateOfChangeAlarmType_ConditionName' ObjectIdNames[9634] = 'ExclusiveRateOfChangeAlarmType_BranchId' ObjectIdNames[9635] = 'ExclusiveRateOfChangeAlarmType_Retain' ObjectIdNames[9636] = 'ExclusiveRateOfChangeAlarmType_EnabledState' ObjectIdNames[9637] = 'ExclusiveRateOfChangeAlarmType_EnabledState_Id' ObjectIdNames[9638] = 'ExclusiveRateOfChangeAlarmType_EnabledState_Name' ObjectIdNames[9639] = 'ExclusiveRateOfChangeAlarmType_EnabledState_Number' ObjectIdNames[9640] = 'ExclusiveRateOfChangeAlarmType_EnabledState_EffectiveDisplayName' ObjectIdNames[9641] = 'ExclusiveRateOfChangeAlarmType_EnabledState_TransitionTime' ObjectIdNames[9642] = 'ExclusiveRateOfChangeAlarmType_EnabledState_EffectiveTransitionTime' ObjectIdNames[9643] = 'ExclusiveRateOfChangeAlarmType_EnabledState_TrueState' ObjectIdNames[9644] = 'ExclusiveRateOfChangeAlarmType_EnabledState_FalseState' ObjectIdNames[9645] = 'ExclusiveRateOfChangeAlarmType_Quality' ObjectIdNames[9646] = 'ExclusiveRateOfChangeAlarmType_Quality_SourceTimestamp' ObjectIdNames[9647] = 'ExclusiveRateOfChangeAlarmType_LastSeverity' ObjectIdNames[9648] = 'ExclusiveRateOfChangeAlarmType_LastSeverity_SourceTimestamp' ObjectIdNames[9649] = 'ExclusiveRateOfChangeAlarmType_Comment' ObjectIdNames[9650] = 'ExclusiveRateOfChangeAlarmType_Comment_SourceTimestamp' ObjectIdNames[9651] = 'ExclusiveRateOfChangeAlarmType_ClientUserId' ObjectIdNames[9652] = 'ExclusiveRateOfChangeAlarmType_Enable' ObjectIdNames[9653] = 'ExclusiveRateOfChangeAlarmType_Disable' ObjectIdNames[9654] = 'ExclusiveRateOfChangeAlarmType_AddComment' ObjectIdNames[9655] = 'ExclusiveRateOfChangeAlarmType_AddComment_InputArguments' ObjectIdNames[9656] = 'ExclusiveRateOfChangeAlarmType_ConditionRefresh' ObjectIdNames[9657] = 'ExclusiveRateOfChangeAlarmType_ConditionRefresh_InputArguments' ObjectIdNames[9658] = 'ExclusiveRateOfChangeAlarmType_AckedState' ObjectIdNames[9659] = 'ExclusiveRateOfChangeAlarmType_AckedState_Id' ObjectIdNames[9660] = 'ExclusiveRateOfChangeAlarmType_AckedState_Name' ObjectIdNames[9661] = 'ExclusiveRateOfChangeAlarmType_AckedState_Number' ObjectIdNames[9662] = 'ExclusiveRateOfChangeAlarmType_AckedState_EffectiveDisplayName' ObjectIdNames[9663] = 'ExclusiveRateOfChangeAlarmType_AckedState_TransitionTime' ObjectIdNames[9664] = 'ExclusiveRateOfChangeAlarmType_AckedState_EffectiveTransitionTime' ObjectIdNames[9665] = 'ExclusiveRateOfChangeAlarmType_AckedState_TrueState' ObjectIdNames[9666] = 'ExclusiveRateOfChangeAlarmType_AckedState_FalseState' ObjectIdNames[9667] = 'ExclusiveRateOfChangeAlarmType_ConfirmedState' ObjectIdNames[9668] = 'ExclusiveRateOfChangeAlarmType_ConfirmedState_Id' ObjectIdNames[9669] = 'ExclusiveRateOfChangeAlarmType_ConfirmedState_Name' ObjectIdNames[9670] = 'ExclusiveRateOfChangeAlarmType_ConfirmedState_Number' ObjectIdNames[9671] = 'ExclusiveRateOfChangeAlarmType_ConfirmedState_EffectiveDisplayName' ObjectIdNames[9672] = 'ExclusiveRateOfChangeAlarmType_ConfirmedState_TransitionTime' ObjectIdNames[9673] = 'ExclusiveRateOfChangeAlarmType_ConfirmedState_EffectiveTransitionTime' ObjectIdNames[9674] = 'ExclusiveRateOfChangeAlarmType_ConfirmedState_TrueState' ObjectIdNames[9675] = 'ExclusiveRateOfChangeAlarmType_ConfirmedState_FalseState' ObjectIdNames[9676] = 'ExclusiveRateOfChangeAlarmType_Acknowledge' ObjectIdNames[9677] = 'ExclusiveRateOfChangeAlarmType_Acknowledge_InputArguments' ObjectIdNames[9678] = 'ExclusiveRateOfChangeAlarmType_Confirm' ObjectIdNames[9679] = 'ExclusiveRateOfChangeAlarmType_Confirm_InputArguments' ObjectIdNames[9680] = 'ExclusiveRateOfChangeAlarmType_ActiveState' ObjectIdNames[9681] = 'ExclusiveRateOfChangeAlarmType_ActiveState_Id' ObjectIdNames[9682] = 'ExclusiveRateOfChangeAlarmType_ActiveState_Name' ObjectIdNames[9683] = 'ExclusiveRateOfChangeAlarmType_ActiveState_Number' ObjectIdNames[9684] = 'ExclusiveRateOfChangeAlarmType_ActiveState_EffectiveDisplayName' ObjectIdNames[9685] = 'ExclusiveRateOfChangeAlarmType_ActiveState_TransitionTime' ObjectIdNames[9686] = 'ExclusiveRateOfChangeAlarmType_ActiveState_EffectiveTransitionTime' ObjectIdNames[9687] = 'ExclusiveRateOfChangeAlarmType_ActiveState_TrueState' ObjectIdNames[9688] = 'ExclusiveRateOfChangeAlarmType_ActiveState_FalseState' ObjectIdNames[9689] = 'ExclusiveRateOfChangeAlarmType_SuppressedState' ObjectIdNames[9690] = 'ExclusiveRateOfChangeAlarmType_SuppressedState_Id' ObjectIdNames[9691] = 'ExclusiveRateOfChangeAlarmType_SuppressedState_Name' ObjectIdNames[9692] = 'ExclusiveRateOfChangeAlarmType_SuppressedState_Number' ObjectIdNames[9693] = 'ExclusiveRateOfChangeAlarmType_SuppressedState_EffectiveDisplayName' ObjectIdNames[9694] = 'ExclusiveRateOfChangeAlarmType_SuppressedState_TransitionTime' ObjectIdNames[9695] = 'ExclusiveRateOfChangeAlarmType_SuppressedState_EffectiveTransitionTime' ObjectIdNames[9696] = 'ExclusiveRateOfChangeAlarmType_SuppressedState_TrueState' ObjectIdNames[9697] = 'ExclusiveRateOfChangeAlarmType_SuppressedState_FalseState' ObjectIdNames[9698] = 'ExclusiveRateOfChangeAlarmType_ShelvingState' ObjectIdNames[9699] = 'ExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState' ObjectIdNames[9700] = 'ExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_Id' ObjectIdNames[9701] = 'ExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_Name' ObjectIdNames[9702] = 'ExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_Number' ObjectIdNames[9703] = 'ExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_EffectiveDisplayName' ObjectIdNames[9704] = 'ExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition' ObjectIdNames[9705] = 'ExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_Id' ObjectIdNames[9706] = 'ExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_Name' ObjectIdNames[9707] = 'ExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_Number' ObjectIdNames[9708] = 'ExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_TransitionTime' ObjectIdNames[9709] = 'ExclusiveRateOfChangeAlarmType_ShelvingState_UnshelveTime' ObjectIdNames[9731] = 'ExclusiveRateOfChangeAlarmType_ShelvingState_Unshelve' ObjectIdNames[9732] = 'ExclusiveRateOfChangeAlarmType_ShelvingState_OneShotShelve' ObjectIdNames[9733] = 'ExclusiveRateOfChangeAlarmType_ShelvingState_TimedShelve' ObjectIdNames[9734] = 'ExclusiveRateOfChangeAlarmType_ShelvingState_TimedShelve_InputArguments' ObjectIdNames[9735] = 'ExclusiveRateOfChangeAlarmType_SuppressedOrShelved' ObjectIdNames[9736] = 'ExclusiveRateOfChangeAlarmType_MaxTimeShelved' ObjectIdNames[9737] = 'ExclusiveRateOfChangeAlarmType_LimitState' ObjectIdNames[9738] = 'ExclusiveRateOfChangeAlarmType_LimitState_CurrentState' ObjectIdNames[9739] = 'ExclusiveRateOfChangeAlarmType_LimitState_CurrentState_Id' ObjectIdNames[9740] = 'ExclusiveRateOfChangeAlarmType_LimitState_CurrentState_Name' ObjectIdNames[9741] = 'ExclusiveRateOfChangeAlarmType_LimitState_CurrentState_Number' ObjectIdNames[9742] = 'ExclusiveRateOfChangeAlarmType_LimitState_CurrentState_EffectiveDisplayName' ObjectIdNames[9743] = 'ExclusiveRateOfChangeAlarmType_LimitState_LastTransition' ObjectIdNames[9744] = 'ExclusiveRateOfChangeAlarmType_LimitState_LastTransition_Id' ObjectIdNames[9745] = 'ExclusiveRateOfChangeAlarmType_LimitState_LastTransition_Name' ObjectIdNames[9746] = 'ExclusiveRateOfChangeAlarmType_LimitState_LastTransition_Number' ObjectIdNames[9747] = 'ExclusiveRateOfChangeAlarmType_LimitState_LastTransition_TransitionTime' ObjectIdNames[9760] = 'ExclusiveRateOfChangeAlarmType_HighHighLimit' ObjectIdNames[9761] = 'ExclusiveRateOfChangeAlarmType_HighLimit' ObjectIdNames[9762] = 'ExclusiveRateOfChangeAlarmType_LowLimit' ObjectIdNames[9763] = 'ExclusiveRateOfChangeAlarmType_LowLowLimit' ObjectIdNames[9764] = 'ExclusiveDeviationAlarmType' ObjectIdNames[9765] = 'ExclusiveDeviationAlarmType_EventId' ObjectIdNames[9766] = 'ExclusiveDeviationAlarmType_EventType' ObjectIdNames[9767] = 'ExclusiveDeviationAlarmType_SourceNode' ObjectIdNames[9768] = 'ExclusiveDeviationAlarmType_SourceName' ObjectIdNames[9769] = 'ExclusiveDeviationAlarmType_Time' ObjectIdNames[9770] = 'ExclusiveDeviationAlarmType_ReceiveTime' ObjectIdNames[9771] = 'ExclusiveDeviationAlarmType_LocalTime' ObjectIdNames[9772] = 'ExclusiveDeviationAlarmType_Message' ObjectIdNames[9773] = 'ExclusiveDeviationAlarmType_Severity' ObjectIdNames[9774] = 'ExclusiveDeviationAlarmType_ConditionName' ObjectIdNames[9775] = 'ExclusiveDeviationAlarmType_BranchId' ObjectIdNames[9776] = 'ExclusiveDeviationAlarmType_Retain' ObjectIdNames[9777] = 'ExclusiveDeviationAlarmType_EnabledState' ObjectIdNames[9778] = 'ExclusiveDeviationAlarmType_EnabledState_Id' ObjectIdNames[9779] = 'ExclusiveDeviationAlarmType_EnabledState_Name' ObjectIdNames[9780] = 'ExclusiveDeviationAlarmType_EnabledState_Number' ObjectIdNames[9781] = 'ExclusiveDeviationAlarmType_EnabledState_EffectiveDisplayName' ObjectIdNames[9782] = 'ExclusiveDeviationAlarmType_EnabledState_TransitionTime' ObjectIdNames[9783] = 'ExclusiveDeviationAlarmType_EnabledState_EffectiveTransitionTime' ObjectIdNames[9784] = 'ExclusiveDeviationAlarmType_EnabledState_TrueState' ObjectIdNames[9785] = 'ExclusiveDeviationAlarmType_EnabledState_FalseState' ObjectIdNames[9786] = 'ExclusiveDeviationAlarmType_Quality' ObjectIdNames[9787] = 'ExclusiveDeviationAlarmType_Quality_SourceTimestamp' ObjectIdNames[9788] = 'ExclusiveDeviationAlarmType_LastSeverity' ObjectIdNames[9789] = 'ExclusiveDeviationAlarmType_LastSeverity_SourceTimestamp' ObjectIdNames[9790] = 'ExclusiveDeviationAlarmType_Comment' ObjectIdNames[9791] = 'ExclusiveDeviationAlarmType_Comment_SourceTimestamp' ObjectIdNames[9792] = 'ExclusiveDeviationAlarmType_ClientUserId' ObjectIdNames[9793] = 'ExclusiveDeviationAlarmType_Enable' ObjectIdNames[9794] = 'ExclusiveDeviationAlarmType_Disable' ObjectIdNames[9795] = 'ExclusiveDeviationAlarmType_AddComment' ObjectIdNames[9796] = 'ExclusiveDeviationAlarmType_AddComment_InputArguments' ObjectIdNames[9797] = 'ExclusiveDeviationAlarmType_ConditionRefresh' ObjectIdNames[9798] = 'ExclusiveDeviationAlarmType_ConditionRefresh_InputArguments' ObjectIdNames[9799] = 'ExclusiveDeviationAlarmType_AckedState' ObjectIdNames[9800] = 'ExclusiveDeviationAlarmType_AckedState_Id' ObjectIdNames[9801] = 'ExclusiveDeviationAlarmType_AckedState_Name' ObjectIdNames[9802] = 'ExclusiveDeviationAlarmType_AckedState_Number' ObjectIdNames[9803] = 'ExclusiveDeviationAlarmType_AckedState_EffectiveDisplayName' ObjectIdNames[9804] = 'ExclusiveDeviationAlarmType_AckedState_TransitionTime' ObjectIdNames[9805] = 'ExclusiveDeviationAlarmType_AckedState_EffectiveTransitionTime' ObjectIdNames[9806] = 'ExclusiveDeviationAlarmType_AckedState_TrueState' ObjectIdNames[9807] = 'ExclusiveDeviationAlarmType_AckedState_FalseState' ObjectIdNames[9808] = 'ExclusiveDeviationAlarmType_ConfirmedState' ObjectIdNames[9809] = 'ExclusiveDeviationAlarmType_ConfirmedState_Id' ObjectIdNames[9810] = 'ExclusiveDeviationAlarmType_ConfirmedState_Name' ObjectIdNames[9811] = 'ExclusiveDeviationAlarmType_ConfirmedState_Number' ObjectIdNames[9812] = 'ExclusiveDeviationAlarmType_ConfirmedState_EffectiveDisplayName' ObjectIdNames[9813] = 'ExclusiveDeviationAlarmType_ConfirmedState_TransitionTime' ObjectIdNames[9814] = 'ExclusiveDeviationAlarmType_ConfirmedState_EffectiveTransitionTime' ObjectIdNames[9815] = 'ExclusiveDeviationAlarmType_ConfirmedState_TrueState' ObjectIdNames[9816] = 'ExclusiveDeviationAlarmType_ConfirmedState_FalseState' ObjectIdNames[9817] = 'ExclusiveDeviationAlarmType_Acknowledge' ObjectIdNames[9818] = 'ExclusiveDeviationAlarmType_Acknowledge_InputArguments' ObjectIdNames[9819] = 'ExclusiveDeviationAlarmType_Confirm' ObjectIdNames[9820] = 'ExclusiveDeviationAlarmType_Confirm_InputArguments' ObjectIdNames[9821] = 'ExclusiveDeviationAlarmType_ActiveState' ObjectIdNames[9822] = 'ExclusiveDeviationAlarmType_ActiveState_Id' ObjectIdNames[9823] = 'ExclusiveDeviationAlarmType_ActiveState_Name' ObjectIdNames[9824] = 'ExclusiveDeviationAlarmType_ActiveState_Number' ObjectIdNames[9825] = 'ExclusiveDeviationAlarmType_ActiveState_EffectiveDisplayName' ObjectIdNames[9826] = 'ExclusiveDeviationAlarmType_ActiveState_TransitionTime' ObjectIdNames[9827] = 'ExclusiveDeviationAlarmType_ActiveState_EffectiveTransitionTime' ObjectIdNames[9828] = 'ExclusiveDeviationAlarmType_ActiveState_TrueState' ObjectIdNames[9829] = 'ExclusiveDeviationAlarmType_ActiveState_FalseState' ObjectIdNames[9830] = 'ExclusiveDeviationAlarmType_SuppressedState' ObjectIdNames[9831] = 'ExclusiveDeviationAlarmType_SuppressedState_Id' ObjectIdNames[9832] = 'ExclusiveDeviationAlarmType_SuppressedState_Name' ObjectIdNames[9833] = 'ExclusiveDeviationAlarmType_SuppressedState_Number' ObjectIdNames[9834] = 'ExclusiveDeviationAlarmType_SuppressedState_EffectiveDisplayName' ObjectIdNames[9835] = 'ExclusiveDeviationAlarmType_SuppressedState_TransitionTime' ObjectIdNames[9836] = 'ExclusiveDeviationAlarmType_SuppressedState_EffectiveTransitionTime' ObjectIdNames[9837] = 'ExclusiveDeviationAlarmType_SuppressedState_TrueState' ObjectIdNames[9838] = 'ExclusiveDeviationAlarmType_SuppressedState_FalseState' ObjectIdNames[9839] = 'ExclusiveDeviationAlarmType_ShelvingState' ObjectIdNames[9840] = 'ExclusiveDeviationAlarmType_ShelvingState_CurrentState' ObjectIdNames[9841] = 'ExclusiveDeviationAlarmType_ShelvingState_CurrentState_Id' ObjectIdNames[9842] = 'ExclusiveDeviationAlarmType_ShelvingState_CurrentState_Name' ObjectIdNames[9843] = 'ExclusiveDeviationAlarmType_ShelvingState_CurrentState_Number' ObjectIdNames[9844] = 'ExclusiveDeviationAlarmType_ShelvingState_CurrentState_EffectiveDisplayName' ObjectIdNames[9845] = 'ExclusiveDeviationAlarmType_ShelvingState_LastTransition' ObjectIdNames[9846] = 'ExclusiveDeviationAlarmType_ShelvingState_LastTransition_Id' ObjectIdNames[9847] = 'ExclusiveDeviationAlarmType_ShelvingState_LastTransition_Name' ObjectIdNames[9848] = 'ExclusiveDeviationAlarmType_ShelvingState_LastTransition_Number' ObjectIdNames[9849] = 'ExclusiveDeviationAlarmType_ShelvingState_LastTransition_TransitionTime' ObjectIdNames[9850] = 'ExclusiveDeviationAlarmType_ShelvingState_UnshelveTime' ObjectIdNames[9872] = 'ExclusiveDeviationAlarmType_ShelvingState_Unshelve' ObjectIdNames[9873] = 'ExclusiveDeviationAlarmType_ShelvingState_OneShotShelve' ObjectIdNames[9874] = 'ExclusiveDeviationAlarmType_ShelvingState_TimedShelve' ObjectIdNames[9875] = 'ExclusiveDeviationAlarmType_ShelvingState_TimedShelve_InputArguments' ObjectIdNames[9876] = 'ExclusiveDeviationAlarmType_SuppressedOrShelved' ObjectIdNames[9877] = 'ExclusiveDeviationAlarmType_MaxTimeShelved' ObjectIdNames[9878] = 'ExclusiveDeviationAlarmType_LimitState' ObjectIdNames[9879] = 'ExclusiveDeviationAlarmType_LimitState_CurrentState' ObjectIdNames[9880] = 'ExclusiveDeviationAlarmType_LimitState_CurrentState_Id' ObjectIdNames[9881] = 'ExclusiveDeviationAlarmType_LimitState_CurrentState_Name' ObjectIdNames[9882] = 'ExclusiveDeviationAlarmType_LimitState_CurrentState_Number' ObjectIdNames[9883] = 'ExclusiveDeviationAlarmType_LimitState_CurrentState_EffectiveDisplayName' ObjectIdNames[9884] = 'ExclusiveDeviationAlarmType_LimitState_LastTransition' ObjectIdNames[9885] = 'ExclusiveDeviationAlarmType_LimitState_LastTransition_Id' ObjectIdNames[9886] = 'ExclusiveDeviationAlarmType_LimitState_LastTransition_Name' ObjectIdNames[9887] = 'ExclusiveDeviationAlarmType_LimitState_LastTransition_Number' ObjectIdNames[9888] = 'ExclusiveDeviationAlarmType_LimitState_LastTransition_TransitionTime' ObjectIdNames[9901] = 'ExclusiveDeviationAlarmType_HighHighLimit' ObjectIdNames[9902] = 'ExclusiveDeviationAlarmType_HighLimit' ObjectIdNames[9903] = 'ExclusiveDeviationAlarmType_LowLimit' ObjectIdNames[9904] = 'ExclusiveDeviationAlarmType_LowLowLimit' ObjectIdNames[9905] = 'ExclusiveDeviationAlarmType_SetpointNode' ObjectIdNames[9906] = 'NonExclusiveLimitAlarmType' ObjectIdNames[9907] = 'NonExclusiveLimitAlarmType_EventId' ObjectIdNames[9908] = 'NonExclusiveLimitAlarmType_EventType' ObjectIdNames[9909] = 'NonExclusiveLimitAlarmType_SourceNode' ObjectIdNames[9910] = 'NonExclusiveLimitAlarmType_SourceName' ObjectIdNames[9911] = 'NonExclusiveLimitAlarmType_Time' ObjectIdNames[9912] = 'NonExclusiveLimitAlarmType_ReceiveTime' ObjectIdNames[9913] = 'NonExclusiveLimitAlarmType_LocalTime' ObjectIdNames[9914] = 'NonExclusiveLimitAlarmType_Message' ObjectIdNames[9915] = 'NonExclusiveLimitAlarmType_Severity' ObjectIdNames[9916] = 'NonExclusiveLimitAlarmType_ConditionName' ObjectIdNames[9917] = 'NonExclusiveLimitAlarmType_BranchId' ObjectIdNames[9918] = 'NonExclusiveLimitAlarmType_Retain' ObjectIdNames[9919] = 'NonExclusiveLimitAlarmType_EnabledState' ObjectIdNames[9920] = 'NonExclusiveLimitAlarmType_EnabledState_Id' ObjectIdNames[9921] = 'NonExclusiveLimitAlarmType_EnabledState_Name' ObjectIdNames[9922] = 'NonExclusiveLimitAlarmType_EnabledState_Number' ObjectIdNames[9923] = 'NonExclusiveLimitAlarmType_EnabledState_EffectiveDisplayName' ObjectIdNames[9924] = 'NonExclusiveLimitAlarmType_EnabledState_TransitionTime' ObjectIdNames[9925] = 'NonExclusiveLimitAlarmType_EnabledState_EffectiveTransitionTime' ObjectIdNames[9926] = 'NonExclusiveLimitAlarmType_EnabledState_TrueState' ObjectIdNames[9927] = 'NonExclusiveLimitAlarmType_EnabledState_FalseState' ObjectIdNames[9928] = 'NonExclusiveLimitAlarmType_Quality' ObjectIdNames[9929] = 'NonExclusiveLimitAlarmType_Quality_SourceTimestamp' ObjectIdNames[9930] = 'NonExclusiveLimitAlarmType_LastSeverity' ObjectIdNames[9931] = 'NonExclusiveLimitAlarmType_LastSeverity_SourceTimestamp' ObjectIdNames[9932] = 'NonExclusiveLimitAlarmType_Comment' ObjectIdNames[9933] = 'NonExclusiveLimitAlarmType_Comment_SourceTimestamp' ObjectIdNames[9934] = 'NonExclusiveLimitAlarmType_ClientUserId' ObjectIdNames[9935] = 'NonExclusiveLimitAlarmType_Enable' ObjectIdNames[9936] = 'NonExclusiveLimitAlarmType_Disable' ObjectIdNames[9937] = 'NonExclusiveLimitAlarmType_AddComment' ObjectIdNames[9938] = 'NonExclusiveLimitAlarmType_AddComment_InputArguments' ObjectIdNames[9939] = 'NonExclusiveLimitAlarmType_ConditionRefresh' ObjectIdNames[9940] = 'NonExclusiveLimitAlarmType_ConditionRefresh_InputArguments' ObjectIdNames[9941] = 'NonExclusiveLimitAlarmType_AckedState' ObjectIdNames[9942] = 'NonExclusiveLimitAlarmType_AckedState_Id' ObjectIdNames[9943] = 'NonExclusiveLimitAlarmType_AckedState_Name' ObjectIdNames[9944] = 'NonExclusiveLimitAlarmType_AckedState_Number' ObjectIdNames[9945] = 'NonExclusiveLimitAlarmType_AckedState_EffectiveDisplayName' ObjectIdNames[9946] = 'NonExclusiveLimitAlarmType_AckedState_TransitionTime' ObjectIdNames[9947] = 'NonExclusiveLimitAlarmType_AckedState_EffectiveTransitionTime' ObjectIdNames[9948] = 'NonExclusiveLimitAlarmType_AckedState_TrueState' ObjectIdNames[9949] = 'NonExclusiveLimitAlarmType_AckedState_FalseState' ObjectIdNames[9950] = 'NonExclusiveLimitAlarmType_ConfirmedState' ObjectIdNames[9951] = 'NonExclusiveLimitAlarmType_ConfirmedState_Id' ObjectIdNames[9952] = 'NonExclusiveLimitAlarmType_ConfirmedState_Name' ObjectIdNames[9953] = 'NonExclusiveLimitAlarmType_ConfirmedState_Number' ObjectIdNames[9954] = 'NonExclusiveLimitAlarmType_ConfirmedState_EffectiveDisplayName' ObjectIdNames[9955] = 'NonExclusiveLimitAlarmType_ConfirmedState_TransitionTime' ObjectIdNames[9956] = 'NonExclusiveLimitAlarmType_ConfirmedState_EffectiveTransitionTime' ObjectIdNames[9957] = 'NonExclusiveLimitAlarmType_ConfirmedState_TrueState' ObjectIdNames[9958] = 'NonExclusiveLimitAlarmType_ConfirmedState_FalseState' ObjectIdNames[9959] = 'NonExclusiveLimitAlarmType_Acknowledge' ObjectIdNames[9960] = 'NonExclusiveLimitAlarmType_Acknowledge_InputArguments' ObjectIdNames[9961] = 'NonExclusiveLimitAlarmType_Confirm' ObjectIdNames[9962] = 'NonExclusiveLimitAlarmType_Confirm_InputArguments' ObjectIdNames[9963] = 'NonExclusiveLimitAlarmType_ActiveState' ObjectIdNames[9964] = 'NonExclusiveLimitAlarmType_ActiveState_Id' ObjectIdNames[9965] = 'NonExclusiveLimitAlarmType_ActiveState_Name' ObjectIdNames[9966] = 'NonExclusiveLimitAlarmType_ActiveState_Number' ObjectIdNames[9967] = 'NonExclusiveLimitAlarmType_ActiveState_EffectiveDisplayName' ObjectIdNames[9968] = 'NonExclusiveLimitAlarmType_ActiveState_TransitionTime' ObjectIdNames[9969] = 'NonExclusiveLimitAlarmType_ActiveState_EffectiveTransitionTime' ObjectIdNames[9970] = 'NonExclusiveLimitAlarmType_ActiveState_TrueState' ObjectIdNames[9971] = 'NonExclusiveLimitAlarmType_ActiveState_FalseState' ObjectIdNames[9972] = 'NonExclusiveLimitAlarmType_SuppressedState' ObjectIdNames[9973] = 'NonExclusiveLimitAlarmType_SuppressedState_Id' ObjectIdNames[9974] = 'NonExclusiveLimitAlarmType_SuppressedState_Name' ObjectIdNames[9975] = 'NonExclusiveLimitAlarmType_SuppressedState_Number' ObjectIdNames[9976] = 'NonExclusiveLimitAlarmType_SuppressedState_EffectiveDisplayName' ObjectIdNames[9977] = 'NonExclusiveLimitAlarmType_SuppressedState_TransitionTime' ObjectIdNames[9978] = 'NonExclusiveLimitAlarmType_SuppressedState_EffectiveTransitionTime' ObjectIdNames[9979] = 'NonExclusiveLimitAlarmType_SuppressedState_TrueState' ObjectIdNames[9980] = 'NonExclusiveLimitAlarmType_SuppressedState_FalseState' ObjectIdNames[9981] = 'NonExclusiveLimitAlarmType_ShelvingState' ObjectIdNames[9982] = 'NonExclusiveLimitAlarmType_ShelvingState_CurrentState' ObjectIdNames[9983] = 'NonExclusiveLimitAlarmType_ShelvingState_CurrentState_Id' ObjectIdNames[9984] = 'NonExclusiveLimitAlarmType_ShelvingState_CurrentState_Name' ObjectIdNames[9985] = 'NonExclusiveLimitAlarmType_ShelvingState_CurrentState_Number' ObjectIdNames[9986] = 'NonExclusiveLimitAlarmType_ShelvingState_CurrentState_EffectiveDisplayName' ObjectIdNames[9987] = 'NonExclusiveLimitAlarmType_ShelvingState_LastTransition' ObjectIdNames[9988] = 'NonExclusiveLimitAlarmType_ShelvingState_LastTransition_Id' ObjectIdNames[9989] = 'NonExclusiveLimitAlarmType_ShelvingState_LastTransition_Name' ObjectIdNames[9990] = 'NonExclusiveLimitAlarmType_ShelvingState_LastTransition_Number' ObjectIdNames[9991] = 'NonExclusiveLimitAlarmType_ShelvingState_LastTransition_TransitionTime' ObjectIdNames[9992] = 'NonExclusiveLimitAlarmType_ShelvingState_UnshelveTime' ObjectIdNames[10014] = 'NonExclusiveLimitAlarmType_ShelvingState_Unshelve' ObjectIdNames[10015] = 'NonExclusiveLimitAlarmType_ShelvingState_OneShotShelve' ObjectIdNames[10016] = 'NonExclusiveLimitAlarmType_ShelvingState_TimedShelve' ObjectIdNames[10017] = 'NonExclusiveLimitAlarmType_ShelvingState_TimedShelve_InputArguments' ObjectIdNames[10018] = 'NonExclusiveLimitAlarmType_SuppressedOrShelved' ObjectIdNames[10019] = 'NonExclusiveLimitAlarmType_MaxTimeShelved' ObjectIdNames[10020] = 'NonExclusiveLimitAlarmType_HighHighState' ObjectIdNames[10021] = 'NonExclusiveLimitAlarmType_HighHighState_Id' ObjectIdNames[10022] = 'NonExclusiveLimitAlarmType_HighHighState_Name' ObjectIdNames[10023] = 'NonExclusiveLimitAlarmType_HighHighState_Number' ObjectIdNames[10024] = 'NonExclusiveLimitAlarmType_HighHighState_EffectiveDisplayName' ObjectIdNames[10025] = 'NonExclusiveLimitAlarmType_HighHighState_TransitionTime' ObjectIdNames[10026] = 'NonExclusiveLimitAlarmType_HighHighState_EffectiveTransitionTime' ObjectIdNames[10027] = 'NonExclusiveLimitAlarmType_HighHighState_TrueState' ObjectIdNames[10028] = 'NonExclusiveLimitAlarmType_HighHighState_FalseState' ObjectIdNames[10029] = 'NonExclusiveLimitAlarmType_HighState' ObjectIdNames[10030] = 'NonExclusiveLimitAlarmType_HighState_Id' ObjectIdNames[10031] = 'NonExclusiveLimitAlarmType_HighState_Name' ObjectIdNames[10032] = 'NonExclusiveLimitAlarmType_HighState_Number' ObjectIdNames[10033] = 'NonExclusiveLimitAlarmType_HighState_EffectiveDisplayName' ObjectIdNames[10034] = 'NonExclusiveLimitAlarmType_HighState_TransitionTime' ObjectIdNames[10035] = 'NonExclusiveLimitAlarmType_HighState_EffectiveTransitionTime' ObjectIdNames[10036] = 'NonExclusiveLimitAlarmType_HighState_TrueState' ObjectIdNames[10037] = 'NonExclusiveLimitAlarmType_HighState_FalseState' ObjectIdNames[10038] = 'NonExclusiveLimitAlarmType_LowState' ObjectIdNames[10039] = 'NonExclusiveLimitAlarmType_LowState_Id' ObjectIdNames[10040] = 'NonExclusiveLimitAlarmType_LowState_Name' ObjectIdNames[10041] = 'NonExclusiveLimitAlarmType_LowState_Number' ObjectIdNames[10042] = 'NonExclusiveLimitAlarmType_LowState_EffectiveDisplayName' ObjectIdNames[10043] = 'NonExclusiveLimitAlarmType_LowState_TransitionTime' ObjectIdNames[10044] = 'NonExclusiveLimitAlarmType_LowState_EffectiveTransitionTime' ObjectIdNames[10045] = 'NonExclusiveLimitAlarmType_LowState_TrueState' ObjectIdNames[10046] = 'NonExclusiveLimitAlarmType_LowState_FalseState' ObjectIdNames[10047] = 'NonExclusiveLimitAlarmType_LowLowState' ObjectIdNames[10048] = 'NonExclusiveLimitAlarmType_LowLowState_Id' ObjectIdNames[10049] = 'NonExclusiveLimitAlarmType_LowLowState_Name' ObjectIdNames[10050] = 'NonExclusiveLimitAlarmType_LowLowState_Number' ObjectIdNames[10051] = 'NonExclusiveLimitAlarmType_LowLowState_EffectiveDisplayName' ObjectIdNames[10052] = 'NonExclusiveLimitAlarmType_LowLowState_TransitionTime' ObjectIdNames[10053] = 'NonExclusiveLimitAlarmType_LowLowState_EffectiveTransitionTime' ObjectIdNames[10054] = 'NonExclusiveLimitAlarmType_LowLowState_TrueState' ObjectIdNames[10055] = 'NonExclusiveLimitAlarmType_LowLowState_FalseState' ObjectIdNames[10056] = 'NonExclusiveLimitAlarmType_HighHighLimit' ObjectIdNames[10057] = 'NonExclusiveLimitAlarmType_HighLimit' ObjectIdNames[10058] = 'NonExclusiveLimitAlarmType_LowLimit' ObjectIdNames[10059] = 'NonExclusiveLimitAlarmType_LowLowLimit' ObjectIdNames[10060] = 'NonExclusiveLevelAlarmType' ObjectIdNames[10061] = 'NonExclusiveLevelAlarmType_EventId' ObjectIdNames[10062] = 'NonExclusiveLevelAlarmType_EventType' ObjectIdNames[10063] = 'NonExclusiveLevelAlarmType_SourceNode' ObjectIdNames[10064] = 'NonExclusiveLevelAlarmType_SourceName' ObjectIdNames[10065] = 'NonExclusiveLevelAlarmType_Time' ObjectIdNames[10066] = 'NonExclusiveLevelAlarmType_ReceiveTime' ObjectIdNames[10067] = 'NonExclusiveLevelAlarmType_LocalTime' ObjectIdNames[10068] = 'NonExclusiveLevelAlarmType_Message' ObjectIdNames[10069] = 'NonExclusiveLevelAlarmType_Severity' ObjectIdNames[10070] = 'NonExclusiveLevelAlarmType_ConditionName' ObjectIdNames[10071] = 'NonExclusiveLevelAlarmType_BranchId' ObjectIdNames[10072] = 'NonExclusiveLevelAlarmType_Retain' ObjectIdNames[10073] = 'NonExclusiveLevelAlarmType_EnabledState' ObjectIdNames[10074] = 'NonExclusiveLevelAlarmType_EnabledState_Id' ObjectIdNames[10075] = 'NonExclusiveLevelAlarmType_EnabledState_Name' ObjectIdNames[10076] = 'NonExclusiveLevelAlarmType_EnabledState_Number' ObjectIdNames[10077] = 'NonExclusiveLevelAlarmType_EnabledState_EffectiveDisplayName' ObjectIdNames[10078] = 'NonExclusiveLevelAlarmType_EnabledState_TransitionTime' ObjectIdNames[10079] = 'NonExclusiveLevelAlarmType_EnabledState_EffectiveTransitionTime' ObjectIdNames[10080] = 'NonExclusiveLevelAlarmType_EnabledState_TrueState' ObjectIdNames[10081] = 'NonExclusiveLevelAlarmType_EnabledState_FalseState' ObjectIdNames[10082] = 'NonExclusiveLevelAlarmType_Quality' ObjectIdNames[10083] = 'NonExclusiveLevelAlarmType_Quality_SourceTimestamp' ObjectIdNames[10084] = 'NonExclusiveLevelAlarmType_LastSeverity' ObjectIdNames[10085] = 'NonExclusiveLevelAlarmType_LastSeverity_SourceTimestamp' ObjectIdNames[10086] = 'NonExclusiveLevelAlarmType_Comment' ObjectIdNames[10087] = 'NonExclusiveLevelAlarmType_Comment_SourceTimestamp' ObjectIdNames[10088] = 'NonExclusiveLevelAlarmType_ClientUserId' ObjectIdNames[10089] = 'NonExclusiveLevelAlarmType_Enable' ObjectIdNames[10090] = 'NonExclusiveLevelAlarmType_Disable' ObjectIdNames[10091] = 'NonExclusiveLevelAlarmType_AddComment' ObjectIdNames[10092] = 'NonExclusiveLevelAlarmType_AddComment_InputArguments' ObjectIdNames[10093] = 'NonExclusiveLevelAlarmType_ConditionRefresh' ObjectIdNames[10094] = 'NonExclusiveLevelAlarmType_ConditionRefresh_InputArguments' ObjectIdNames[10095] = 'NonExclusiveLevelAlarmType_AckedState' ObjectIdNames[10096] = 'NonExclusiveLevelAlarmType_AckedState_Id' ObjectIdNames[10097] = 'NonExclusiveLevelAlarmType_AckedState_Name' ObjectIdNames[10098] = 'NonExclusiveLevelAlarmType_AckedState_Number' ObjectIdNames[10099] = 'NonExclusiveLevelAlarmType_AckedState_EffectiveDisplayName' ObjectIdNames[10100] = 'NonExclusiveLevelAlarmType_AckedState_TransitionTime' ObjectIdNames[10101] = 'NonExclusiveLevelAlarmType_AckedState_EffectiveTransitionTime' ObjectIdNames[10102] = 'NonExclusiveLevelAlarmType_AckedState_TrueState' ObjectIdNames[10103] = 'NonExclusiveLevelAlarmType_AckedState_FalseState' ObjectIdNames[10104] = 'NonExclusiveLevelAlarmType_ConfirmedState' ObjectIdNames[10105] = 'NonExclusiveLevelAlarmType_ConfirmedState_Id' ObjectIdNames[10106] = 'NonExclusiveLevelAlarmType_ConfirmedState_Name' ObjectIdNames[10107] = 'NonExclusiveLevelAlarmType_ConfirmedState_Number' ObjectIdNames[10108] = 'NonExclusiveLevelAlarmType_ConfirmedState_EffectiveDisplayName' ObjectIdNames[10109] = 'NonExclusiveLevelAlarmType_ConfirmedState_TransitionTime' ObjectIdNames[10110] = 'NonExclusiveLevelAlarmType_ConfirmedState_EffectiveTransitionTime' ObjectIdNames[10111] = 'NonExclusiveLevelAlarmType_ConfirmedState_TrueState' ObjectIdNames[10112] = 'NonExclusiveLevelAlarmType_ConfirmedState_FalseState' ObjectIdNames[10113] = 'NonExclusiveLevelAlarmType_Acknowledge' ObjectIdNames[10114] = 'NonExclusiveLevelAlarmType_Acknowledge_InputArguments' ObjectIdNames[10115] = 'NonExclusiveLevelAlarmType_Confirm' ObjectIdNames[10116] = 'NonExclusiveLevelAlarmType_Confirm_InputArguments' ObjectIdNames[10117] = 'NonExclusiveLevelAlarmType_ActiveState' ObjectIdNames[10118] = 'NonExclusiveLevelAlarmType_ActiveState_Id' ObjectIdNames[10119] = 'NonExclusiveLevelAlarmType_ActiveState_Name' ObjectIdNames[10120] = 'NonExclusiveLevelAlarmType_ActiveState_Number' ObjectIdNames[10121] = 'NonExclusiveLevelAlarmType_ActiveState_EffectiveDisplayName' ObjectIdNames[10122] = 'NonExclusiveLevelAlarmType_ActiveState_TransitionTime' ObjectIdNames[10123] = 'NonExclusiveLevelAlarmType_ActiveState_EffectiveTransitionTime' ObjectIdNames[10124] = 'NonExclusiveLevelAlarmType_ActiveState_TrueState' ObjectIdNames[10125] = 'NonExclusiveLevelAlarmType_ActiveState_FalseState' ObjectIdNames[10126] = 'NonExclusiveLevelAlarmType_SuppressedState' ObjectIdNames[10127] = 'NonExclusiveLevelAlarmType_SuppressedState_Id' ObjectIdNames[10128] = 'NonExclusiveLevelAlarmType_SuppressedState_Name' ObjectIdNames[10129] = 'NonExclusiveLevelAlarmType_SuppressedState_Number' ObjectIdNames[10130] = 'NonExclusiveLevelAlarmType_SuppressedState_EffectiveDisplayName' ObjectIdNames[10131] = 'NonExclusiveLevelAlarmType_SuppressedState_TransitionTime' ObjectIdNames[10132] = 'NonExclusiveLevelAlarmType_SuppressedState_EffectiveTransitionTime' ObjectIdNames[10133] = 'NonExclusiveLevelAlarmType_SuppressedState_TrueState' ObjectIdNames[10134] = 'NonExclusiveLevelAlarmType_SuppressedState_FalseState' ObjectIdNames[10135] = 'NonExclusiveLevelAlarmType_ShelvingState' ObjectIdNames[10136] = 'NonExclusiveLevelAlarmType_ShelvingState_CurrentState' ObjectIdNames[10137] = 'NonExclusiveLevelAlarmType_ShelvingState_CurrentState_Id' ObjectIdNames[10138] = 'NonExclusiveLevelAlarmType_ShelvingState_CurrentState_Name' ObjectIdNames[10139] = 'NonExclusiveLevelAlarmType_ShelvingState_CurrentState_Number' ObjectIdNames[10140] = 'NonExclusiveLevelAlarmType_ShelvingState_CurrentState_EffectiveDisplayName' ObjectIdNames[10141] = 'NonExclusiveLevelAlarmType_ShelvingState_LastTransition' ObjectIdNames[10142] = 'NonExclusiveLevelAlarmType_ShelvingState_LastTransition_Id' ObjectIdNames[10143] = 'NonExclusiveLevelAlarmType_ShelvingState_LastTransition_Name' ObjectIdNames[10144] = 'NonExclusiveLevelAlarmType_ShelvingState_LastTransition_Number' ObjectIdNames[10145] = 'NonExclusiveLevelAlarmType_ShelvingState_LastTransition_TransitionTime' ObjectIdNames[10146] = 'NonExclusiveLevelAlarmType_ShelvingState_UnshelveTime' ObjectIdNames[10168] = 'NonExclusiveLevelAlarmType_ShelvingState_Unshelve' ObjectIdNames[10169] = 'NonExclusiveLevelAlarmType_ShelvingState_OneShotShelve' ObjectIdNames[10170] = 'NonExclusiveLevelAlarmType_ShelvingState_TimedShelve' ObjectIdNames[10171] = 'NonExclusiveLevelAlarmType_ShelvingState_TimedShelve_InputArguments' ObjectIdNames[10172] = 'NonExclusiveLevelAlarmType_SuppressedOrShelved' ObjectIdNames[10173] = 'NonExclusiveLevelAlarmType_MaxTimeShelved' ObjectIdNames[10174] = 'NonExclusiveLevelAlarmType_HighHighState' ObjectIdNames[10175] = 'NonExclusiveLevelAlarmType_HighHighState_Id' ObjectIdNames[10176] = 'NonExclusiveLevelAlarmType_HighHighState_Name' ObjectIdNames[10177] = 'NonExclusiveLevelAlarmType_HighHighState_Number' ObjectIdNames[10178] = 'NonExclusiveLevelAlarmType_HighHighState_EffectiveDisplayName' ObjectIdNames[10179] = 'NonExclusiveLevelAlarmType_HighHighState_TransitionTime' ObjectIdNames[10180] = 'NonExclusiveLevelAlarmType_HighHighState_EffectiveTransitionTime' ObjectIdNames[10181] = 'NonExclusiveLevelAlarmType_HighHighState_TrueState' ObjectIdNames[10182] = 'NonExclusiveLevelAlarmType_HighHighState_FalseState' ObjectIdNames[10183] = 'NonExclusiveLevelAlarmType_HighState' ObjectIdNames[10184] = 'NonExclusiveLevelAlarmType_HighState_Id' ObjectIdNames[10185] = 'NonExclusiveLevelAlarmType_HighState_Name' ObjectIdNames[10186] = 'NonExclusiveLevelAlarmType_HighState_Number' ObjectIdNames[10187] = 'NonExclusiveLevelAlarmType_HighState_EffectiveDisplayName' ObjectIdNames[10188] = 'NonExclusiveLevelAlarmType_HighState_TransitionTime' ObjectIdNames[10189] = 'NonExclusiveLevelAlarmType_HighState_EffectiveTransitionTime' ObjectIdNames[10190] = 'NonExclusiveLevelAlarmType_HighState_TrueState' ObjectIdNames[10191] = 'NonExclusiveLevelAlarmType_HighState_FalseState' ObjectIdNames[10192] = 'NonExclusiveLevelAlarmType_LowState' ObjectIdNames[10193] = 'NonExclusiveLevelAlarmType_LowState_Id' ObjectIdNames[10194] = 'NonExclusiveLevelAlarmType_LowState_Name' ObjectIdNames[10195] = 'NonExclusiveLevelAlarmType_LowState_Number' ObjectIdNames[10196] = 'NonExclusiveLevelAlarmType_LowState_EffectiveDisplayName' ObjectIdNames[10197] = 'NonExclusiveLevelAlarmType_LowState_TransitionTime' ObjectIdNames[10198] = 'NonExclusiveLevelAlarmType_LowState_EffectiveTransitionTime' ObjectIdNames[10199] = 'NonExclusiveLevelAlarmType_LowState_TrueState' ObjectIdNames[10200] = 'NonExclusiveLevelAlarmType_LowState_FalseState' ObjectIdNames[10201] = 'NonExclusiveLevelAlarmType_LowLowState' ObjectIdNames[10202] = 'NonExclusiveLevelAlarmType_LowLowState_Id' ObjectIdNames[10203] = 'NonExclusiveLevelAlarmType_LowLowState_Name' ObjectIdNames[10204] = 'NonExclusiveLevelAlarmType_LowLowState_Number' ObjectIdNames[10205] = 'NonExclusiveLevelAlarmType_LowLowState_EffectiveDisplayName' ObjectIdNames[10206] = 'NonExclusiveLevelAlarmType_LowLowState_TransitionTime' ObjectIdNames[10207] = 'NonExclusiveLevelAlarmType_LowLowState_EffectiveTransitionTime' ObjectIdNames[10208] = 'NonExclusiveLevelAlarmType_LowLowState_TrueState' ObjectIdNames[10209] = 'NonExclusiveLevelAlarmType_LowLowState_FalseState' ObjectIdNames[10210] = 'NonExclusiveLevelAlarmType_HighHighLimit' ObjectIdNames[10211] = 'NonExclusiveLevelAlarmType_HighLimit' ObjectIdNames[10212] = 'NonExclusiveLevelAlarmType_LowLimit' ObjectIdNames[10213] = 'NonExclusiveLevelAlarmType_LowLowLimit' ObjectIdNames[10214] = 'NonExclusiveRateOfChangeAlarmType' ObjectIdNames[10215] = 'NonExclusiveRateOfChangeAlarmType_EventId' ObjectIdNames[10216] = 'NonExclusiveRateOfChangeAlarmType_EventType' ObjectIdNames[10217] = 'NonExclusiveRateOfChangeAlarmType_SourceNode' ObjectIdNames[10218] = 'NonExclusiveRateOfChangeAlarmType_SourceName' ObjectIdNames[10219] = 'NonExclusiveRateOfChangeAlarmType_Time' ObjectIdNames[10220] = 'NonExclusiveRateOfChangeAlarmType_ReceiveTime' ObjectIdNames[10221] = 'NonExclusiveRateOfChangeAlarmType_LocalTime' ObjectIdNames[10222] = 'NonExclusiveRateOfChangeAlarmType_Message' ObjectIdNames[10223] = 'NonExclusiveRateOfChangeAlarmType_Severity' ObjectIdNames[10224] = 'NonExclusiveRateOfChangeAlarmType_ConditionName' ObjectIdNames[10225] = 'NonExclusiveRateOfChangeAlarmType_BranchId' ObjectIdNames[10226] = 'NonExclusiveRateOfChangeAlarmType_Retain' ObjectIdNames[10227] = 'NonExclusiveRateOfChangeAlarmType_EnabledState' ObjectIdNames[10228] = 'NonExclusiveRateOfChangeAlarmType_EnabledState_Id' ObjectIdNames[10229] = 'NonExclusiveRateOfChangeAlarmType_EnabledState_Name' ObjectIdNames[10230] = 'NonExclusiveRateOfChangeAlarmType_EnabledState_Number' ObjectIdNames[10231] = 'NonExclusiveRateOfChangeAlarmType_EnabledState_EffectiveDisplayName' ObjectIdNames[10232] = 'NonExclusiveRateOfChangeAlarmType_EnabledState_TransitionTime' ObjectIdNames[10233] = 'NonExclusiveRateOfChangeAlarmType_EnabledState_EffectiveTransitionTime' ObjectIdNames[10234] = 'NonExclusiveRateOfChangeAlarmType_EnabledState_TrueState' ObjectIdNames[10235] = 'NonExclusiveRateOfChangeAlarmType_EnabledState_FalseState' ObjectIdNames[10236] = 'NonExclusiveRateOfChangeAlarmType_Quality' ObjectIdNames[10237] = 'NonExclusiveRateOfChangeAlarmType_Quality_SourceTimestamp' ObjectIdNames[10238] = 'NonExclusiveRateOfChangeAlarmType_LastSeverity' ObjectIdNames[10239] = 'NonExclusiveRateOfChangeAlarmType_LastSeverity_SourceTimestamp' ObjectIdNames[10240] = 'NonExclusiveRateOfChangeAlarmType_Comment' ObjectIdNames[10241] = 'NonExclusiveRateOfChangeAlarmType_Comment_SourceTimestamp' ObjectIdNames[10242] = 'NonExclusiveRateOfChangeAlarmType_ClientUserId' ObjectIdNames[10243] = 'NonExclusiveRateOfChangeAlarmType_Enable' ObjectIdNames[10244] = 'NonExclusiveRateOfChangeAlarmType_Disable' ObjectIdNames[10245] = 'NonExclusiveRateOfChangeAlarmType_AddComment' ObjectIdNames[10246] = 'NonExclusiveRateOfChangeAlarmType_AddComment_InputArguments' ObjectIdNames[10247] = 'NonExclusiveRateOfChangeAlarmType_ConditionRefresh' ObjectIdNames[10248] = 'NonExclusiveRateOfChangeAlarmType_ConditionRefresh_InputArguments' ObjectIdNames[10249] = 'NonExclusiveRateOfChangeAlarmType_AckedState' ObjectIdNames[10250] = 'NonExclusiveRateOfChangeAlarmType_AckedState_Id' ObjectIdNames[10251] = 'NonExclusiveRateOfChangeAlarmType_AckedState_Name' ObjectIdNames[10252] = 'NonExclusiveRateOfChangeAlarmType_AckedState_Number' ObjectIdNames[10253] = 'NonExclusiveRateOfChangeAlarmType_AckedState_EffectiveDisplayName' ObjectIdNames[10254] = 'NonExclusiveRateOfChangeAlarmType_AckedState_TransitionTime' ObjectIdNames[10255] = 'NonExclusiveRateOfChangeAlarmType_AckedState_EffectiveTransitionTime' ObjectIdNames[10256] = 'NonExclusiveRateOfChangeAlarmType_AckedState_TrueState' ObjectIdNames[10257] = 'NonExclusiveRateOfChangeAlarmType_AckedState_FalseState' ObjectIdNames[10258] = 'NonExclusiveRateOfChangeAlarmType_ConfirmedState' ObjectIdNames[10259] = 'NonExclusiveRateOfChangeAlarmType_ConfirmedState_Id' ObjectIdNames[10260] = 'NonExclusiveRateOfChangeAlarmType_ConfirmedState_Name' ObjectIdNames[10261] = 'NonExclusiveRateOfChangeAlarmType_ConfirmedState_Number' ObjectIdNames[10262] = 'NonExclusiveRateOfChangeAlarmType_ConfirmedState_EffectiveDisplayName' ObjectIdNames[10263] = 'NonExclusiveRateOfChangeAlarmType_ConfirmedState_TransitionTime' ObjectIdNames[10264] = 'NonExclusiveRateOfChangeAlarmType_ConfirmedState_EffectiveTransitionTime' ObjectIdNames[10265] = 'NonExclusiveRateOfChangeAlarmType_ConfirmedState_TrueState' ObjectIdNames[10266] = 'NonExclusiveRateOfChangeAlarmType_ConfirmedState_FalseState' ObjectIdNames[10267] = 'NonExclusiveRateOfChangeAlarmType_Acknowledge' ObjectIdNames[10268] = 'NonExclusiveRateOfChangeAlarmType_Acknowledge_InputArguments' ObjectIdNames[10269] = 'NonExclusiveRateOfChangeAlarmType_Confirm' ObjectIdNames[10270] = 'NonExclusiveRateOfChangeAlarmType_Confirm_InputArguments' ObjectIdNames[10271] = 'NonExclusiveRateOfChangeAlarmType_ActiveState' ObjectIdNames[10272] = 'NonExclusiveRateOfChangeAlarmType_ActiveState_Id' ObjectIdNames[10273] = 'NonExclusiveRateOfChangeAlarmType_ActiveState_Name' ObjectIdNames[10274] = 'NonExclusiveRateOfChangeAlarmType_ActiveState_Number' ObjectIdNames[10275] = 'NonExclusiveRateOfChangeAlarmType_ActiveState_EffectiveDisplayName' ObjectIdNames[10276] = 'NonExclusiveRateOfChangeAlarmType_ActiveState_TransitionTime' ObjectIdNames[10277] = 'NonExclusiveRateOfChangeAlarmType_ActiveState_EffectiveTransitionTime' ObjectIdNames[10278] = 'NonExclusiveRateOfChangeAlarmType_ActiveState_TrueState' ObjectIdNames[10279] = 'NonExclusiveRateOfChangeAlarmType_ActiveState_FalseState' ObjectIdNames[10280] = 'NonExclusiveRateOfChangeAlarmType_SuppressedState' ObjectIdNames[10281] = 'NonExclusiveRateOfChangeAlarmType_SuppressedState_Id' ObjectIdNames[10282] = 'NonExclusiveRateOfChangeAlarmType_SuppressedState_Name' ObjectIdNames[10283] = 'NonExclusiveRateOfChangeAlarmType_SuppressedState_Number' ObjectIdNames[10284] = 'NonExclusiveRateOfChangeAlarmType_SuppressedState_EffectiveDisplayName' ObjectIdNames[10285] = 'NonExclusiveRateOfChangeAlarmType_SuppressedState_TransitionTime' ObjectIdNames[10286] = 'NonExclusiveRateOfChangeAlarmType_SuppressedState_EffectiveTransitionTime' ObjectIdNames[10287] = 'NonExclusiveRateOfChangeAlarmType_SuppressedState_TrueState' ObjectIdNames[10288] = 'NonExclusiveRateOfChangeAlarmType_SuppressedState_FalseState' ObjectIdNames[10289] = 'NonExclusiveRateOfChangeAlarmType_ShelvingState' ObjectIdNames[10290] = 'NonExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState' ObjectIdNames[10291] = 'NonExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_Id' ObjectIdNames[10292] = 'NonExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_Name' ObjectIdNames[10293] = 'NonExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_Number' ObjectIdNames[10294] = 'NonExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_EffectiveDisplayName' ObjectIdNames[10295] = 'NonExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition' ObjectIdNames[10296] = 'NonExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_Id' ObjectIdNames[10297] = 'NonExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_Name' ObjectIdNames[10298] = 'NonExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_Number' ObjectIdNames[10299] = 'NonExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_TransitionTime' ObjectIdNames[10300] = 'NonExclusiveRateOfChangeAlarmType_ShelvingState_UnshelveTime' ObjectIdNames[10322] = 'NonExclusiveRateOfChangeAlarmType_ShelvingState_Unshelve' ObjectIdNames[10323] = 'NonExclusiveRateOfChangeAlarmType_ShelvingState_OneShotShelve' ObjectIdNames[10324] = 'NonExclusiveRateOfChangeAlarmType_ShelvingState_TimedShelve' ObjectIdNames[10325] = 'NonExclusiveRateOfChangeAlarmType_ShelvingState_TimedShelve_InputArguments' ObjectIdNames[10326] = 'NonExclusiveRateOfChangeAlarmType_SuppressedOrShelved' ObjectIdNames[10327] = 'NonExclusiveRateOfChangeAlarmType_MaxTimeShelved' ObjectIdNames[10328] = 'NonExclusiveRateOfChangeAlarmType_HighHighState' ObjectIdNames[10329] = 'NonExclusiveRateOfChangeAlarmType_HighHighState_Id' ObjectIdNames[10330] = 'NonExclusiveRateOfChangeAlarmType_HighHighState_Name' ObjectIdNames[10331] = 'NonExclusiveRateOfChangeAlarmType_HighHighState_Number' ObjectIdNames[10332] = 'NonExclusiveRateOfChangeAlarmType_HighHighState_EffectiveDisplayName' ObjectIdNames[10333] = 'NonExclusiveRateOfChangeAlarmType_HighHighState_TransitionTime' ObjectIdNames[10334] = 'NonExclusiveRateOfChangeAlarmType_HighHighState_EffectiveTransitionTime' ObjectIdNames[10335] = 'NonExclusiveRateOfChangeAlarmType_HighHighState_TrueState' ObjectIdNames[10336] = 'NonExclusiveRateOfChangeAlarmType_HighHighState_FalseState' ObjectIdNames[10337] = 'NonExclusiveRateOfChangeAlarmType_HighState' ObjectIdNames[10338] = 'NonExclusiveRateOfChangeAlarmType_HighState_Id' ObjectIdNames[10339] = 'NonExclusiveRateOfChangeAlarmType_HighState_Name' ObjectIdNames[10340] = 'NonExclusiveRateOfChangeAlarmType_HighState_Number' ObjectIdNames[10341] = 'NonExclusiveRateOfChangeAlarmType_HighState_EffectiveDisplayName' ObjectIdNames[10342] = 'NonExclusiveRateOfChangeAlarmType_HighState_TransitionTime' ObjectIdNames[10343] = 'NonExclusiveRateOfChangeAlarmType_HighState_EffectiveTransitionTime' ObjectIdNames[10344] = 'NonExclusiveRateOfChangeAlarmType_HighState_TrueState' ObjectIdNames[10345] = 'NonExclusiveRateOfChangeAlarmType_HighState_FalseState' ObjectIdNames[10346] = 'NonExclusiveRateOfChangeAlarmType_LowState' ObjectIdNames[10347] = 'NonExclusiveRateOfChangeAlarmType_LowState_Id' ObjectIdNames[10348] = 'NonExclusiveRateOfChangeAlarmType_LowState_Name' ObjectIdNames[10349] = 'NonExclusiveRateOfChangeAlarmType_LowState_Number' ObjectIdNames[10350] = 'NonExclusiveRateOfChangeAlarmType_LowState_EffectiveDisplayName' ObjectIdNames[10351] = 'NonExclusiveRateOfChangeAlarmType_LowState_TransitionTime' ObjectIdNames[10352] = 'NonExclusiveRateOfChangeAlarmType_LowState_EffectiveTransitionTime' ObjectIdNames[10353] = 'NonExclusiveRateOfChangeAlarmType_LowState_TrueState' ObjectIdNames[10354] = 'NonExclusiveRateOfChangeAlarmType_LowState_FalseState' ObjectIdNames[10355] = 'NonExclusiveRateOfChangeAlarmType_LowLowState' ObjectIdNames[10356] = 'NonExclusiveRateOfChangeAlarmType_LowLowState_Id' ObjectIdNames[10357] = 'NonExclusiveRateOfChangeAlarmType_LowLowState_Name' ObjectIdNames[10358] = 'NonExclusiveRateOfChangeAlarmType_LowLowState_Number' ObjectIdNames[10359] = 'NonExclusiveRateOfChangeAlarmType_LowLowState_EffectiveDisplayName' ObjectIdNames[10360] = 'NonExclusiveRateOfChangeAlarmType_LowLowState_TransitionTime' ObjectIdNames[10361] = 'NonExclusiveRateOfChangeAlarmType_LowLowState_EffectiveTransitionTime' ObjectIdNames[10362] = 'NonExclusiveRateOfChangeAlarmType_LowLowState_TrueState' ObjectIdNames[10363] = 'NonExclusiveRateOfChangeAlarmType_LowLowState_FalseState' ObjectIdNames[10364] = 'NonExclusiveRateOfChangeAlarmType_HighHighLimit' ObjectIdNames[10365] = 'NonExclusiveRateOfChangeAlarmType_HighLimit' ObjectIdNames[10366] = 'NonExclusiveRateOfChangeAlarmType_LowLimit' ObjectIdNames[10367] = 'NonExclusiveRateOfChangeAlarmType_LowLowLimit' ObjectIdNames[10368] = 'NonExclusiveDeviationAlarmType' ObjectIdNames[10369] = 'NonExclusiveDeviationAlarmType_EventId' ObjectIdNames[10370] = 'NonExclusiveDeviationAlarmType_EventType' ObjectIdNames[10371] = 'NonExclusiveDeviationAlarmType_SourceNode' ObjectIdNames[10372] = 'NonExclusiveDeviationAlarmType_SourceName' ObjectIdNames[10373] = 'NonExclusiveDeviationAlarmType_Time' ObjectIdNames[10374] = 'NonExclusiveDeviationAlarmType_ReceiveTime' ObjectIdNames[10375] = 'NonExclusiveDeviationAlarmType_LocalTime' ObjectIdNames[10376] = 'NonExclusiveDeviationAlarmType_Message' ObjectIdNames[10377] = 'NonExclusiveDeviationAlarmType_Severity' ObjectIdNames[10378] = 'NonExclusiveDeviationAlarmType_ConditionName' ObjectIdNames[10379] = 'NonExclusiveDeviationAlarmType_BranchId' ObjectIdNames[10380] = 'NonExclusiveDeviationAlarmType_Retain' ObjectIdNames[10381] = 'NonExclusiveDeviationAlarmType_EnabledState' ObjectIdNames[10382] = 'NonExclusiveDeviationAlarmType_EnabledState_Id' ObjectIdNames[10383] = 'NonExclusiveDeviationAlarmType_EnabledState_Name' ObjectIdNames[10384] = 'NonExclusiveDeviationAlarmType_EnabledState_Number' ObjectIdNames[10385] = 'NonExclusiveDeviationAlarmType_EnabledState_EffectiveDisplayName' ObjectIdNames[10386] = 'NonExclusiveDeviationAlarmType_EnabledState_TransitionTime' ObjectIdNames[10387] = 'NonExclusiveDeviationAlarmType_EnabledState_EffectiveTransitionTime' ObjectIdNames[10388] = 'NonExclusiveDeviationAlarmType_EnabledState_TrueState' ObjectIdNames[10389] = 'NonExclusiveDeviationAlarmType_EnabledState_FalseState' ObjectIdNames[10390] = 'NonExclusiveDeviationAlarmType_Quality' ObjectIdNames[10391] = 'NonExclusiveDeviationAlarmType_Quality_SourceTimestamp' ObjectIdNames[10392] = 'NonExclusiveDeviationAlarmType_LastSeverity' ObjectIdNames[10393] = 'NonExclusiveDeviationAlarmType_LastSeverity_SourceTimestamp' ObjectIdNames[10394] = 'NonExclusiveDeviationAlarmType_Comment' ObjectIdNames[10395] = 'NonExclusiveDeviationAlarmType_Comment_SourceTimestamp' ObjectIdNames[10396] = 'NonExclusiveDeviationAlarmType_ClientUserId' ObjectIdNames[10397] = 'NonExclusiveDeviationAlarmType_Enable' ObjectIdNames[10398] = 'NonExclusiveDeviationAlarmType_Disable' ObjectIdNames[10399] = 'NonExclusiveDeviationAlarmType_AddComment' ObjectIdNames[10400] = 'NonExclusiveDeviationAlarmType_AddComment_InputArguments' ObjectIdNames[10401] = 'NonExclusiveDeviationAlarmType_ConditionRefresh' ObjectIdNames[10402] = 'NonExclusiveDeviationAlarmType_ConditionRefresh_InputArguments' ObjectIdNames[10403] = 'NonExclusiveDeviationAlarmType_AckedState' ObjectIdNames[10404] = 'NonExclusiveDeviationAlarmType_AckedState_Id' ObjectIdNames[10405] = 'NonExclusiveDeviationAlarmType_AckedState_Name' ObjectIdNames[10406] = 'NonExclusiveDeviationAlarmType_AckedState_Number' ObjectIdNames[10407] = 'NonExclusiveDeviationAlarmType_AckedState_EffectiveDisplayName' ObjectIdNames[10408] = 'NonExclusiveDeviationAlarmType_AckedState_TransitionTime' ObjectIdNames[10409] = 'NonExclusiveDeviationAlarmType_AckedState_EffectiveTransitionTime' ObjectIdNames[10410] = 'NonExclusiveDeviationAlarmType_AckedState_TrueState' ObjectIdNames[10411] = 'NonExclusiveDeviationAlarmType_AckedState_FalseState' ObjectIdNames[10412] = 'NonExclusiveDeviationAlarmType_ConfirmedState' ObjectIdNames[10413] = 'NonExclusiveDeviationAlarmType_ConfirmedState_Id' ObjectIdNames[10414] = 'NonExclusiveDeviationAlarmType_ConfirmedState_Name' ObjectIdNames[10415] = 'NonExclusiveDeviationAlarmType_ConfirmedState_Number' ObjectIdNames[10416] = 'NonExclusiveDeviationAlarmType_ConfirmedState_EffectiveDisplayName' ObjectIdNames[10417] = 'NonExclusiveDeviationAlarmType_ConfirmedState_TransitionTime' ObjectIdNames[10418] = 'NonExclusiveDeviationAlarmType_ConfirmedState_EffectiveTransitionTime' ObjectIdNames[10419] = 'NonExclusiveDeviationAlarmType_ConfirmedState_TrueState' ObjectIdNames[10420] = 'NonExclusiveDeviationAlarmType_ConfirmedState_FalseState' ObjectIdNames[10421] = 'NonExclusiveDeviationAlarmType_Acknowledge' ObjectIdNames[10422] = 'NonExclusiveDeviationAlarmType_Acknowledge_InputArguments' ObjectIdNames[10423] = 'NonExclusiveDeviationAlarmType_Confirm' ObjectIdNames[10424] = 'NonExclusiveDeviationAlarmType_Confirm_InputArguments' ObjectIdNames[10425] = 'NonExclusiveDeviationAlarmType_ActiveState' ObjectIdNames[10426] = 'NonExclusiveDeviationAlarmType_ActiveState_Id' ObjectIdNames[10427] = 'NonExclusiveDeviationAlarmType_ActiveState_Name' ObjectIdNames[10428] = 'NonExclusiveDeviationAlarmType_ActiveState_Number' ObjectIdNames[10429] = 'NonExclusiveDeviationAlarmType_ActiveState_EffectiveDisplayName' ObjectIdNames[10430] = 'NonExclusiveDeviationAlarmType_ActiveState_TransitionTime' ObjectIdNames[10431] = 'NonExclusiveDeviationAlarmType_ActiveState_EffectiveTransitionTime' ObjectIdNames[10432] = 'NonExclusiveDeviationAlarmType_ActiveState_TrueState' ObjectIdNames[10433] = 'NonExclusiveDeviationAlarmType_ActiveState_FalseState' ObjectIdNames[10434] = 'NonExclusiveDeviationAlarmType_SuppressedState' ObjectIdNames[10435] = 'NonExclusiveDeviationAlarmType_SuppressedState_Id' ObjectIdNames[10436] = 'NonExclusiveDeviationAlarmType_SuppressedState_Name' ObjectIdNames[10437] = 'NonExclusiveDeviationAlarmType_SuppressedState_Number' ObjectIdNames[10438] = 'NonExclusiveDeviationAlarmType_SuppressedState_EffectiveDisplayName' ObjectIdNames[10439] = 'NonExclusiveDeviationAlarmType_SuppressedState_TransitionTime' ObjectIdNames[10440] = 'NonExclusiveDeviationAlarmType_SuppressedState_EffectiveTransitionTime' ObjectIdNames[10441] = 'NonExclusiveDeviationAlarmType_SuppressedState_TrueState' ObjectIdNames[10442] = 'NonExclusiveDeviationAlarmType_SuppressedState_FalseState' ObjectIdNames[10443] = 'NonExclusiveDeviationAlarmType_ShelvingState' ObjectIdNames[10444] = 'NonExclusiveDeviationAlarmType_ShelvingState_CurrentState' ObjectIdNames[10445] = 'NonExclusiveDeviationAlarmType_ShelvingState_CurrentState_Id' ObjectIdNames[10446] = 'NonExclusiveDeviationAlarmType_ShelvingState_CurrentState_Name' ObjectIdNames[10447] = 'NonExclusiveDeviationAlarmType_ShelvingState_CurrentState_Number' ObjectIdNames[10448] = 'NonExclusiveDeviationAlarmType_ShelvingState_CurrentState_EffectiveDisplayName' ObjectIdNames[10449] = 'NonExclusiveDeviationAlarmType_ShelvingState_LastTransition' ObjectIdNames[10450] = 'NonExclusiveDeviationAlarmType_ShelvingState_LastTransition_Id' ObjectIdNames[10451] = 'NonExclusiveDeviationAlarmType_ShelvingState_LastTransition_Name' ObjectIdNames[10452] = 'NonExclusiveDeviationAlarmType_ShelvingState_LastTransition_Number' ObjectIdNames[10453] = 'NonExclusiveDeviationAlarmType_ShelvingState_LastTransition_TransitionTime' ObjectIdNames[10454] = 'NonExclusiveDeviationAlarmType_ShelvingState_UnshelveTime' ObjectIdNames[10476] = 'NonExclusiveDeviationAlarmType_ShelvingState_Unshelve' ObjectIdNames[10477] = 'NonExclusiveDeviationAlarmType_ShelvingState_OneShotShelve' ObjectIdNames[10478] = 'NonExclusiveDeviationAlarmType_ShelvingState_TimedShelve' ObjectIdNames[10479] = 'NonExclusiveDeviationAlarmType_ShelvingState_TimedShelve_InputArguments' ObjectIdNames[10480] = 'NonExclusiveDeviationAlarmType_SuppressedOrShelved' ObjectIdNames[10481] = 'NonExclusiveDeviationAlarmType_MaxTimeShelved' ObjectIdNames[10482] = 'NonExclusiveDeviationAlarmType_HighHighState' ObjectIdNames[10483] = 'NonExclusiveDeviationAlarmType_HighHighState_Id' ObjectIdNames[10484] = 'NonExclusiveDeviationAlarmType_HighHighState_Name' ObjectIdNames[10485] = 'NonExclusiveDeviationAlarmType_HighHighState_Number' ObjectIdNames[10486] = 'NonExclusiveDeviationAlarmType_HighHighState_EffectiveDisplayName' ObjectIdNames[10487] = 'NonExclusiveDeviationAlarmType_HighHighState_TransitionTime' ObjectIdNames[10488] = 'NonExclusiveDeviationAlarmType_HighHighState_EffectiveTransitionTime' ObjectIdNames[10489] = 'NonExclusiveDeviationAlarmType_HighHighState_TrueState' ObjectIdNames[10490] = 'NonExclusiveDeviationAlarmType_HighHighState_FalseState' ObjectIdNames[10491] = 'NonExclusiveDeviationAlarmType_HighState' ObjectIdNames[10492] = 'NonExclusiveDeviationAlarmType_HighState_Id' ObjectIdNames[10493] = 'NonExclusiveDeviationAlarmType_HighState_Name' ObjectIdNames[10494] = 'NonExclusiveDeviationAlarmType_HighState_Number' ObjectIdNames[10495] = 'NonExclusiveDeviationAlarmType_HighState_EffectiveDisplayName' ObjectIdNames[10496] = 'NonExclusiveDeviationAlarmType_HighState_TransitionTime' ObjectIdNames[10497] = 'NonExclusiveDeviationAlarmType_HighState_EffectiveTransitionTime' ObjectIdNames[10498] = 'NonExclusiveDeviationAlarmType_HighState_TrueState' ObjectIdNames[10499] = 'NonExclusiveDeviationAlarmType_HighState_FalseState' ObjectIdNames[10500] = 'NonExclusiveDeviationAlarmType_LowState' ObjectIdNames[10501] = 'NonExclusiveDeviationAlarmType_LowState_Id' ObjectIdNames[10502] = 'NonExclusiveDeviationAlarmType_LowState_Name' ObjectIdNames[10503] = 'NonExclusiveDeviationAlarmType_LowState_Number' ObjectIdNames[10504] = 'NonExclusiveDeviationAlarmType_LowState_EffectiveDisplayName' ObjectIdNames[10505] = 'NonExclusiveDeviationAlarmType_LowState_TransitionTime' ObjectIdNames[10506] = 'NonExclusiveDeviationAlarmType_LowState_EffectiveTransitionTime' ObjectIdNames[10507] = 'NonExclusiveDeviationAlarmType_LowState_TrueState' ObjectIdNames[10508] = 'NonExclusiveDeviationAlarmType_LowState_FalseState' ObjectIdNames[10509] = 'NonExclusiveDeviationAlarmType_LowLowState' ObjectIdNames[10510] = 'NonExclusiveDeviationAlarmType_LowLowState_Id' ObjectIdNames[10511] = 'NonExclusiveDeviationAlarmType_LowLowState_Name' ObjectIdNames[10512] = 'NonExclusiveDeviationAlarmType_LowLowState_Number' ObjectIdNames[10513] = 'NonExclusiveDeviationAlarmType_LowLowState_EffectiveDisplayName' ObjectIdNames[10514] = 'NonExclusiveDeviationAlarmType_LowLowState_TransitionTime' ObjectIdNames[10515] = 'NonExclusiveDeviationAlarmType_LowLowState_EffectiveTransitionTime' ObjectIdNames[10516] = 'NonExclusiveDeviationAlarmType_LowLowState_TrueState' ObjectIdNames[10517] = 'NonExclusiveDeviationAlarmType_LowLowState_FalseState' ObjectIdNames[10518] = 'NonExclusiveDeviationAlarmType_HighHighLimit' ObjectIdNames[10519] = 'NonExclusiveDeviationAlarmType_HighLimit' ObjectIdNames[10520] = 'NonExclusiveDeviationAlarmType_LowLimit' ObjectIdNames[10521] = 'NonExclusiveDeviationAlarmType_LowLowLimit' ObjectIdNames[10522] = 'NonExclusiveDeviationAlarmType_SetpointNode' ObjectIdNames[10523] = 'DiscreteAlarmType' ObjectIdNames[10524] = 'DiscreteAlarmType_EventId' ObjectIdNames[10525] = 'DiscreteAlarmType_EventType' ObjectIdNames[10526] = 'DiscreteAlarmType_SourceNode' ObjectIdNames[10527] = 'DiscreteAlarmType_SourceName' ObjectIdNames[10528] = 'DiscreteAlarmType_Time' ObjectIdNames[10529] = 'DiscreteAlarmType_ReceiveTime' ObjectIdNames[10530] = 'DiscreteAlarmType_LocalTime' ObjectIdNames[10531] = 'DiscreteAlarmType_Message' ObjectIdNames[10532] = 'DiscreteAlarmType_Severity' ObjectIdNames[10533] = 'DiscreteAlarmType_ConditionName' ObjectIdNames[10534] = 'DiscreteAlarmType_BranchId' ObjectIdNames[10535] = 'DiscreteAlarmType_Retain' ObjectIdNames[10536] = 'DiscreteAlarmType_EnabledState' ObjectIdNames[10537] = 'DiscreteAlarmType_EnabledState_Id' ObjectIdNames[10538] = 'DiscreteAlarmType_EnabledState_Name' ObjectIdNames[10539] = 'DiscreteAlarmType_EnabledState_Number' ObjectIdNames[10540] = 'DiscreteAlarmType_EnabledState_EffectiveDisplayName' ObjectIdNames[10541] = 'DiscreteAlarmType_EnabledState_TransitionTime' ObjectIdNames[10542] = 'DiscreteAlarmType_EnabledState_EffectiveTransitionTime' ObjectIdNames[10543] = 'DiscreteAlarmType_EnabledState_TrueState' ObjectIdNames[10544] = 'DiscreteAlarmType_EnabledState_FalseState' ObjectIdNames[10545] = 'DiscreteAlarmType_Quality' ObjectIdNames[10546] = 'DiscreteAlarmType_Quality_SourceTimestamp' ObjectIdNames[10547] = 'DiscreteAlarmType_LastSeverity' ObjectIdNames[10548] = 'DiscreteAlarmType_LastSeverity_SourceTimestamp' ObjectIdNames[10549] = 'DiscreteAlarmType_Comment' ObjectIdNames[10550] = 'DiscreteAlarmType_Comment_SourceTimestamp' ObjectIdNames[10551] = 'DiscreteAlarmType_ClientUserId' ObjectIdNames[10552] = 'DiscreteAlarmType_Enable' ObjectIdNames[10553] = 'DiscreteAlarmType_Disable' ObjectIdNames[10554] = 'DiscreteAlarmType_AddComment' ObjectIdNames[10555] = 'DiscreteAlarmType_AddComment_InputArguments' ObjectIdNames[10556] = 'DiscreteAlarmType_ConditionRefresh' ObjectIdNames[10557] = 'DiscreteAlarmType_ConditionRefresh_InputArguments' ObjectIdNames[10558] = 'DiscreteAlarmType_AckedState' ObjectIdNames[10559] = 'DiscreteAlarmType_AckedState_Id' ObjectIdNames[10560] = 'DiscreteAlarmType_AckedState_Name' ObjectIdNames[10561] = 'DiscreteAlarmType_AckedState_Number' ObjectIdNames[10562] = 'DiscreteAlarmType_AckedState_EffectiveDisplayName' ObjectIdNames[10563] = 'DiscreteAlarmType_AckedState_TransitionTime' ObjectIdNames[10564] = 'DiscreteAlarmType_AckedState_EffectiveTransitionTime' ObjectIdNames[10565] = 'DiscreteAlarmType_AckedState_TrueState' ObjectIdNames[10566] = 'DiscreteAlarmType_AckedState_FalseState' ObjectIdNames[10567] = 'DiscreteAlarmType_ConfirmedState' ObjectIdNames[10568] = 'DiscreteAlarmType_ConfirmedState_Id' ObjectIdNames[10569] = 'DiscreteAlarmType_ConfirmedState_Name' ObjectIdNames[10570] = 'DiscreteAlarmType_ConfirmedState_Number' ObjectIdNames[10571] = 'DiscreteAlarmType_ConfirmedState_EffectiveDisplayName' ObjectIdNames[10572] = 'DiscreteAlarmType_ConfirmedState_TransitionTime' ObjectIdNames[10573] = 'DiscreteAlarmType_ConfirmedState_EffectiveTransitionTime' ObjectIdNames[10574] = 'DiscreteAlarmType_ConfirmedState_TrueState' ObjectIdNames[10575] = 'DiscreteAlarmType_ConfirmedState_FalseState' ObjectIdNames[10576] = 'DiscreteAlarmType_Acknowledge' ObjectIdNames[10577] = 'DiscreteAlarmType_Acknowledge_InputArguments' ObjectIdNames[10578] = 'DiscreteAlarmType_Confirm' ObjectIdNames[10579] = 'DiscreteAlarmType_Confirm_InputArguments' ObjectIdNames[10580] = 'DiscreteAlarmType_ActiveState' ObjectIdNames[10581] = 'DiscreteAlarmType_ActiveState_Id' ObjectIdNames[10582] = 'DiscreteAlarmType_ActiveState_Name' ObjectIdNames[10583] = 'DiscreteAlarmType_ActiveState_Number' ObjectIdNames[10584] = 'DiscreteAlarmType_ActiveState_EffectiveDisplayName' ObjectIdNames[10585] = 'DiscreteAlarmType_ActiveState_TransitionTime' ObjectIdNames[10586] = 'DiscreteAlarmType_ActiveState_EffectiveTransitionTime' ObjectIdNames[10587] = 'DiscreteAlarmType_ActiveState_TrueState' ObjectIdNames[10588] = 'DiscreteAlarmType_ActiveState_FalseState' ObjectIdNames[10589] = 'DiscreteAlarmType_SuppressedState' ObjectIdNames[10590] = 'DiscreteAlarmType_SuppressedState_Id' ObjectIdNames[10591] = 'DiscreteAlarmType_SuppressedState_Name' ObjectIdNames[10592] = 'DiscreteAlarmType_SuppressedState_Number' ObjectIdNames[10593] = 'DiscreteAlarmType_SuppressedState_EffectiveDisplayName' ObjectIdNames[10594] = 'DiscreteAlarmType_SuppressedState_TransitionTime' ObjectIdNames[10595] = 'DiscreteAlarmType_SuppressedState_EffectiveTransitionTime' ObjectIdNames[10596] = 'DiscreteAlarmType_SuppressedState_TrueState' ObjectIdNames[10597] = 'DiscreteAlarmType_SuppressedState_FalseState' ObjectIdNames[10598] = 'DiscreteAlarmType_ShelvingState' ObjectIdNames[10599] = 'DiscreteAlarmType_ShelvingState_CurrentState' ObjectIdNames[10600] = 'DiscreteAlarmType_ShelvingState_CurrentState_Id' ObjectIdNames[10601] = 'DiscreteAlarmType_ShelvingState_CurrentState_Name' ObjectIdNames[10602] = 'DiscreteAlarmType_ShelvingState_CurrentState_Number' ObjectIdNames[10603] = 'DiscreteAlarmType_ShelvingState_CurrentState_EffectiveDisplayName' ObjectIdNames[10604] = 'DiscreteAlarmType_ShelvingState_LastTransition' ObjectIdNames[10605] = 'DiscreteAlarmType_ShelvingState_LastTransition_Id' ObjectIdNames[10606] = 'DiscreteAlarmType_ShelvingState_LastTransition_Name' ObjectIdNames[10607] = 'DiscreteAlarmType_ShelvingState_LastTransition_Number' ObjectIdNames[10608] = 'DiscreteAlarmType_ShelvingState_LastTransition_TransitionTime' ObjectIdNames[10609] = 'DiscreteAlarmType_ShelvingState_UnshelveTime' ObjectIdNames[10631] = 'DiscreteAlarmType_ShelvingState_Unshelve' ObjectIdNames[10632] = 'DiscreteAlarmType_ShelvingState_OneShotShelve' ObjectIdNames[10633] = 'DiscreteAlarmType_ShelvingState_TimedShelve' ObjectIdNames[10634] = 'DiscreteAlarmType_ShelvingState_TimedShelve_InputArguments' ObjectIdNames[10635] = 'DiscreteAlarmType_SuppressedOrShelved' ObjectIdNames[10636] = 'DiscreteAlarmType_MaxTimeShelved' ObjectIdNames[10637] = 'OffNormalAlarmType' ObjectIdNames[10638] = 'OffNormalAlarmType_EventId' ObjectIdNames[10639] = 'OffNormalAlarmType_EventType' ObjectIdNames[10640] = 'OffNormalAlarmType_SourceNode' ObjectIdNames[10641] = 'OffNormalAlarmType_SourceName' ObjectIdNames[10642] = 'OffNormalAlarmType_Time' ObjectIdNames[10643] = 'OffNormalAlarmType_ReceiveTime' ObjectIdNames[10644] = 'OffNormalAlarmType_LocalTime' ObjectIdNames[10645] = 'OffNormalAlarmType_Message' ObjectIdNames[10646] = 'OffNormalAlarmType_Severity' ObjectIdNames[10647] = 'OffNormalAlarmType_ConditionName' ObjectIdNames[10648] = 'OffNormalAlarmType_BranchId' ObjectIdNames[10649] = 'OffNormalAlarmType_Retain' ObjectIdNames[10650] = 'OffNormalAlarmType_EnabledState' ObjectIdNames[10651] = 'OffNormalAlarmType_EnabledState_Id' ObjectIdNames[10652] = 'OffNormalAlarmType_EnabledState_Name' ObjectIdNames[10653] = 'OffNormalAlarmType_EnabledState_Number' ObjectIdNames[10654] = 'OffNormalAlarmType_EnabledState_EffectiveDisplayName' ObjectIdNames[10655] = 'OffNormalAlarmType_EnabledState_TransitionTime' ObjectIdNames[10656] = 'OffNormalAlarmType_EnabledState_EffectiveTransitionTime' ObjectIdNames[10657] = 'OffNormalAlarmType_EnabledState_TrueState' ObjectIdNames[10658] = 'OffNormalAlarmType_EnabledState_FalseState' ObjectIdNames[10659] = 'OffNormalAlarmType_Quality' ObjectIdNames[10660] = 'OffNormalAlarmType_Quality_SourceTimestamp' ObjectIdNames[10661] = 'OffNormalAlarmType_LastSeverity' ObjectIdNames[10662] = 'OffNormalAlarmType_LastSeverity_SourceTimestamp' ObjectIdNames[10663] = 'OffNormalAlarmType_Comment' ObjectIdNames[10664] = 'OffNormalAlarmType_Comment_SourceTimestamp' ObjectIdNames[10665] = 'OffNormalAlarmType_ClientUserId' ObjectIdNames[10666] = 'OffNormalAlarmType_Enable' ObjectIdNames[10667] = 'OffNormalAlarmType_Disable' ObjectIdNames[10668] = 'OffNormalAlarmType_AddComment' ObjectIdNames[10669] = 'OffNormalAlarmType_AddComment_InputArguments' ObjectIdNames[10670] = 'OffNormalAlarmType_ConditionRefresh' ObjectIdNames[10671] = 'OffNormalAlarmType_ConditionRefresh_InputArguments' ObjectIdNames[10672] = 'OffNormalAlarmType_AckedState' ObjectIdNames[10673] = 'OffNormalAlarmType_AckedState_Id' ObjectIdNames[10674] = 'OffNormalAlarmType_AckedState_Name' ObjectIdNames[10675] = 'OffNormalAlarmType_AckedState_Number' ObjectIdNames[10676] = 'OffNormalAlarmType_AckedState_EffectiveDisplayName' ObjectIdNames[10677] = 'OffNormalAlarmType_AckedState_TransitionTime' ObjectIdNames[10678] = 'OffNormalAlarmType_AckedState_EffectiveTransitionTime' ObjectIdNames[10679] = 'OffNormalAlarmType_AckedState_TrueState' ObjectIdNames[10680] = 'OffNormalAlarmType_AckedState_FalseState' ObjectIdNames[10681] = 'OffNormalAlarmType_ConfirmedState' ObjectIdNames[10682] = 'OffNormalAlarmType_ConfirmedState_Id' ObjectIdNames[10683] = 'OffNormalAlarmType_ConfirmedState_Name' ObjectIdNames[10684] = 'OffNormalAlarmType_ConfirmedState_Number' ObjectIdNames[10685] = 'OffNormalAlarmType_ConfirmedState_EffectiveDisplayName' ObjectIdNames[10686] = 'OffNormalAlarmType_ConfirmedState_TransitionTime' ObjectIdNames[10687] = 'OffNormalAlarmType_ConfirmedState_EffectiveTransitionTime' ObjectIdNames[10688] = 'OffNormalAlarmType_ConfirmedState_TrueState' ObjectIdNames[10689] = 'OffNormalAlarmType_ConfirmedState_FalseState' ObjectIdNames[10690] = 'OffNormalAlarmType_Acknowledge' ObjectIdNames[10691] = 'OffNormalAlarmType_Acknowledge_InputArguments' ObjectIdNames[10692] = 'OffNormalAlarmType_Confirm' ObjectIdNames[10693] = 'OffNormalAlarmType_Confirm_InputArguments' ObjectIdNames[10694] = 'OffNormalAlarmType_ActiveState' ObjectIdNames[10695] = 'OffNormalAlarmType_ActiveState_Id' ObjectIdNames[10696] = 'OffNormalAlarmType_ActiveState_Name' ObjectIdNames[10697] = 'OffNormalAlarmType_ActiveState_Number' ObjectIdNames[10698] = 'OffNormalAlarmType_ActiveState_EffectiveDisplayName' ObjectIdNames[10699] = 'OffNormalAlarmType_ActiveState_TransitionTime' ObjectIdNames[10700] = 'OffNormalAlarmType_ActiveState_EffectiveTransitionTime' ObjectIdNames[10701] = 'OffNormalAlarmType_ActiveState_TrueState' ObjectIdNames[10702] = 'OffNormalAlarmType_ActiveState_FalseState' ObjectIdNames[10703] = 'OffNormalAlarmType_SuppressedState' ObjectIdNames[10704] = 'OffNormalAlarmType_SuppressedState_Id' ObjectIdNames[10705] = 'OffNormalAlarmType_SuppressedState_Name' ObjectIdNames[10706] = 'OffNormalAlarmType_SuppressedState_Number' ObjectIdNames[10707] = 'OffNormalAlarmType_SuppressedState_EffectiveDisplayName' ObjectIdNames[10708] = 'OffNormalAlarmType_SuppressedState_TransitionTime' ObjectIdNames[10709] = 'OffNormalAlarmType_SuppressedState_EffectiveTransitionTime' ObjectIdNames[10710] = 'OffNormalAlarmType_SuppressedState_TrueState' ObjectIdNames[10711] = 'OffNormalAlarmType_SuppressedState_FalseState' ObjectIdNames[10712] = 'OffNormalAlarmType_ShelvingState' ObjectIdNames[10713] = 'OffNormalAlarmType_ShelvingState_CurrentState' ObjectIdNames[10714] = 'OffNormalAlarmType_ShelvingState_CurrentState_Id' ObjectIdNames[10715] = 'OffNormalAlarmType_ShelvingState_CurrentState_Name' ObjectIdNames[10716] = 'OffNormalAlarmType_ShelvingState_CurrentState_Number' ObjectIdNames[10717] = 'OffNormalAlarmType_ShelvingState_CurrentState_EffectiveDisplayName' ObjectIdNames[10718] = 'OffNormalAlarmType_ShelvingState_LastTransition' ObjectIdNames[10719] = 'OffNormalAlarmType_ShelvingState_LastTransition_Id' ObjectIdNames[10720] = 'OffNormalAlarmType_ShelvingState_LastTransition_Name' ObjectIdNames[10721] = 'OffNormalAlarmType_ShelvingState_LastTransition_Number' ObjectIdNames[10722] = 'OffNormalAlarmType_ShelvingState_LastTransition_TransitionTime' ObjectIdNames[10723] = 'OffNormalAlarmType_ShelvingState_UnshelveTime' ObjectIdNames[10745] = 'OffNormalAlarmType_ShelvingState_Unshelve' ObjectIdNames[10746] = 'OffNormalAlarmType_ShelvingState_OneShotShelve' ObjectIdNames[10747] = 'OffNormalAlarmType_ShelvingState_TimedShelve' ObjectIdNames[10748] = 'OffNormalAlarmType_ShelvingState_TimedShelve_InputArguments' ObjectIdNames[10749] = 'OffNormalAlarmType_SuppressedOrShelved' ObjectIdNames[10750] = 'OffNormalAlarmType_MaxTimeShelved' ObjectIdNames[10751] = 'TripAlarmType' ObjectIdNames[10752] = 'TripAlarmType_EventId' ObjectIdNames[10753] = 'TripAlarmType_EventType' ObjectIdNames[10754] = 'TripAlarmType_SourceNode' ObjectIdNames[10755] = 'TripAlarmType_SourceName' ObjectIdNames[10756] = 'TripAlarmType_Time' ObjectIdNames[10757] = 'TripAlarmType_ReceiveTime' ObjectIdNames[10758] = 'TripAlarmType_LocalTime' ObjectIdNames[10759] = 'TripAlarmType_Message' ObjectIdNames[10760] = 'TripAlarmType_Severity' ObjectIdNames[10761] = 'TripAlarmType_ConditionName' ObjectIdNames[10762] = 'TripAlarmType_BranchId' ObjectIdNames[10763] = 'TripAlarmType_Retain' ObjectIdNames[10764] = 'TripAlarmType_EnabledState' ObjectIdNames[10765] = 'TripAlarmType_EnabledState_Id' ObjectIdNames[10766] = 'TripAlarmType_EnabledState_Name' ObjectIdNames[10767] = 'TripAlarmType_EnabledState_Number' ObjectIdNames[10768] = 'TripAlarmType_EnabledState_EffectiveDisplayName' ObjectIdNames[10769] = 'TripAlarmType_EnabledState_TransitionTime' ObjectIdNames[10770] = 'TripAlarmType_EnabledState_EffectiveTransitionTime' ObjectIdNames[10771] = 'TripAlarmType_EnabledState_TrueState' ObjectIdNames[10772] = 'TripAlarmType_EnabledState_FalseState' ObjectIdNames[10773] = 'TripAlarmType_Quality' ObjectIdNames[10774] = 'TripAlarmType_Quality_SourceTimestamp' ObjectIdNames[10775] = 'TripAlarmType_LastSeverity' ObjectIdNames[10776] = 'TripAlarmType_LastSeverity_SourceTimestamp' ObjectIdNames[10777] = 'TripAlarmType_Comment' ObjectIdNames[10778] = 'TripAlarmType_Comment_SourceTimestamp' ObjectIdNames[10779] = 'TripAlarmType_ClientUserId' ObjectIdNames[10780] = 'TripAlarmType_Enable' ObjectIdNames[10781] = 'TripAlarmType_Disable' ObjectIdNames[10782] = 'TripAlarmType_AddComment' ObjectIdNames[10783] = 'TripAlarmType_AddComment_InputArguments' ObjectIdNames[10784] = 'TripAlarmType_ConditionRefresh' ObjectIdNames[10785] = 'TripAlarmType_ConditionRefresh_InputArguments' ObjectIdNames[10786] = 'TripAlarmType_AckedState' ObjectIdNames[10787] = 'TripAlarmType_AckedState_Id' ObjectIdNames[10788] = 'TripAlarmType_AckedState_Name' ObjectIdNames[10789] = 'TripAlarmType_AckedState_Number' ObjectIdNames[10790] = 'TripAlarmType_AckedState_EffectiveDisplayName' ObjectIdNames[10791] = 'TripAlarmType_AckedState_TransitionTime' ObjectIdNames[10792] = 'TripAlarmType_AckedState_EffectiveTransitionTime' ObjectIdNames[10793] = 'TripAlarmType_AckedState_TrueState' ObjectIdNames[10794] = 'TripAlarmType_AckedState_FalseState' ObjectIdNames[10795] = 'TripAlarmType_ConfirmedState' ObjectIdNames[10796] = 'TripAlarmType_ConfirmedState_Id' ObjectIdNames[10797] = 'TripAlarmType_ConfirmedState_Name' ObjectIdNames[10798] = 'TripAlarmType_ConfirmedState_Number' ObjectIdNames[10799] = 'TripAlarmType_ConfirmedState_EffectiveDisplayName' ObjectIdNames[10800] = 'TripAlarmType_ConfirmedState_TransitionTime' ObjectIdNames[10801] = 'TripAlarmType_ConfirmedState_EffectiveTransitionTime' ObjectIdNames[10802] = 'TripAlarmType_ConfirmedState_TrueState' ObjectIdNames[10803] = 'TripAlarmType_ConfirmedState_FalseState' ObjectIdNames[10804] = 'TripAlarmType_Acknowledge' ObjectIdNames[10805] = 'TripAlarmType_Acknowledge_InputArguments' ObjectIdNames[10806] = 'TripAlarmType_Confirm' ObjectIdNames[10807] = 'TripAlarmType_Confirm_InputArguments' ObjectIdNames[10808] = 'TripAlarmType_ActiveState' ObjectIdNames[10809] = 'TripAlarmType_ActiveState_Id' ObjectIdNames[10810] = 'TripAlarmType_ActiveState_Name' ObjectIdNames[10811] = 'TripAlarmType_ActiveState_Number' ObjectIdNames[10812] = 'TripAlarmType_ActiveState_EffectiveDisplayName' ObjectIdNames[10813] = 'TripAlarmType_ActiveState_TransitionTime' ObjectIdNames[10814] = 'TripAlarmType_ActiveState_EffectiveTransitionTime' ObjectIdNames[10815] = 'TripAlarmType_ActiveState_TrueState' ObjectIdNames[10816] = 'TripAlarmType_ActiveState_FalseState' ObjectIdNames[10817] = 'TripAlarmType_SuppressedState' ObjectIdNames[10818] = 'TripAlarmType_SuppressedState_Id' ObjectIdNames[10819] = 'TripAlarmType_SuppressedState_Name' ObjectIdNames[10820] = 'TripAlarmType_SuppressedState_Number' ObjectIdNames[10821] = 'TripAlarmType_SuppressedState_EffectiveDisplayName' ObjectIdNames[10822] = 'TripAlarmType_SuppressedState_TransitionTime' ObjectIdNames[10823] = 'TripAlarmType_SuppressedState_EffectiveTransitionTime' ObjectIdNames[10824] = 'TripAlarmType_SuppressedState_TrueState' ObjectIdNames[10825] = 'TripAlarmType_SuppressedState_FalseState' ObjectIdNames[10826] = 'TripAlarmType_ShelvingState' ObjectIdNames[10827] = 'TripAlarmType_ShelvingState_CurrentState' ObjectIdNames[10828] = 'TripAlarmType_ShelvingState_CurrentState_Id' ObjectIdNames[10829] = 'TripAlarmType_ShelvingState_CurrentState_Name' ObjectIdNames[10830] = 'TripAlarmType_ShelvingState_CurrentState_Number' ObjectIdNames[10831] = 'TripAlarmType_ShelvingState_CurrentState_EffectiveDisplayName' ObjectIdNames[10832] = 'TripAlarmType_ShelvingState_LastTransition' ObjectIdNames[10833] = 'TripAlarmType_ShelvingState_LastTransition_Id' ObjectIdNames[10834] = 'TripAlarmType_ShelvingState_LastTransition_Name' ObjectIdNames[10835] = 'TripAlarmType_ShelvingState_LastTransition_Number' ObjectIdNames[10836] = 'TripAlarmType_ShelvingState_LastTransition_TransitionTime' ObjectIdNames[10837] = 'TripAlarmType_ShelvingState_UnshelveTime' ObjectIdNames[10859] = 'TripAlarmType_ShelvingState_Unshelve' ObjectIdNames[10860] = 'TripAlarmType_ShelvingState_OneShotShelve' ObjectIdNames[10861] = 'TripAlarmType_ShelvingState_TimedShelve' ObjectIdNames[10862] = 'TripAlarmType_ShelvingState_TimedShelve_InputArguments' ObjectIdNames[10863] = 'TripAlarmType_SuppressedOrShelved' ObjectIdNames[10864] = 'TripAlarmType_MaxTimeShelved' ObjectIdNames[11093] = 'AuditConditionShelvingEventType' ObjectIdNames[11094] = 'AuditConditionShelvingEventType_EventId' ObjectIdNames[11095] = 'AuditConditionShelvingEventType_EventType' ObjectIdNames[11096] = 'AuditConditionShelvingEventType_SourceNode' ObjectIdNames[11097] = 'AuditConditionShelvingEventType_SourceName' ObjectIdNames[11098] = 'AuditConditionShelvingEventType_Time' ObjectIdNames[11099] = 'AuditConditionShelvingEventType_ReceiveTime' ObjectIdNames[11100] = 'AuditConditionShelvingEventType_LocalTime' ObjectIdNames[11101] = 'AuditConditionShelvingEventType_Message' ObjectIdNames[11102] = 'AuditConditionShelvingEventType_Severity' ObjectIdNames[11103] = 'AuditConditionShelvingEventType_ActionTimeStamp' ObjectIdNames[11104] = 'AuditConditionShelvingEventType_Status' ObjectIdNames[11105] = 'AuditConditionShelvingEventType_ServerId' ObjectIdNames[11106] = 'AuditConditionShelvingEventType_ClientAuditEntryId' ObjectIdNames[11107] = 'AuditConditionShelvingEventType_ClientUserId' ObjectIdNames[11108] = 'AuditConditionShelvingEventType_MethodId' ObjectIdNames[11109] = 'AuditConditionShelvingEventType_InputArguments' ObjectIdNames[11110] = 'TwoStateVariableType_TrueState' ObjectIdNames[11111] = 'TwoStateVariableType_FalseState' ObjectIdNames[11112] = 'ConditionType_ConditionClassId' ObjectIdNames[11113] = 'ConditionType_ConditionClassName' ObjectIdNames[11114] = 'DialogConditionType_ConditionClassId' ObjectIdNames[11115] = 'DialogConditionType_ConditionClassName' ObjectIdNames[11116] = 'AcknowledgeableConditionType_ConditionClassId' ObjectIdNames[11117] = 'AcknowledgeableConditionType_ConditionClassName' ObjectIdNames[11118] = 'AlarmConditionType_ConditionClassId' ObjectIdNames[11119] = 'AlarmConditionType_ConditionClassName' ObjectIdNames[11120] = 'AlarmConditionType_InputNode' ObjectIdNames[11121] = 'LimitAlarmType_ConditionClassId' ObjectIdNames[11122] = 'LimitAlarmType_ConditionClassName' ObjectIdNames[11123] = 'LimitAlarmType_InputNode' ObjectIdNames[11124] = 'LimitAlarmType_HighHighLimit' ObjectIdNames[11125] = 'LimitAlarmType_HighLimit' ObjectIdNames[11126] = 'LimitAlarmType_LowLimit' ObjectIdNames[11127] = 'LimitAlarmType_LowLowLimit' ObjectIdNames[11128] = 'ExclusiveLimitAlarmType_ConditionClassId' ObjectIdNames[11129] = 'ExclusiveLimitAlarmType_ConditionClassName' ObjectIdNames[11130] = 'ExclusiveLimitAlarmType_InputNode' ObjectIdNames[11131] = 'ExclusiveLevelAlarmType_ConditionClassId' ObjectIdNames[11132] = 'ExclusiveLevelAlarmType_ConditionClassName' ObjectIdNames[11133] = 'ExclusiveLevelAlarmType_InputNode' ObjectIdNames[11134] = 'ExclusiveRateOfChangeAlarmType_ConditionClassId' ObjectIdNames[11135] = 'ExclusiveRateOfChangeAlarmType_ConditionClassName' ObjectIdNames[11136] = 'ExclusiveRateOfChangeAlarmType_InputNode' ObjectIdNames[11137] = 'ExclusiveDeviationAlarmType_ConditionClassId' ObjectIdNames[11138] = 'ExclusiveDeviationAlarmType_ConditionClassName' ObjectIdNames[11139] = 'ExclusiveDeviationAlarmType_InputNode' ObjectIdNames[11140] = 'NonExclusiveLimitAlarmType_ConditionClassId' ObjectIdNames[11141] = 'NonExclusiveLimitAlarmType_ConditionClassName' ObjectIdNames[11142] = 'NonExclusiveLimitAlarmType_InputNode' ObjectIdNames[11143] = 'NonExclusiveLevelAlarmType_ConditionClassId' ObjectIdNames[11144] = 'NonExclusiveLevelAlarmType_ConditionClassName' ObjectIdNames[11145] = 'NonExclusiveLevelAlarmType_InputNode' ObjectIdNames[11146] = 'NonExclusiveRateOfChangeAlarmType_ConditionClassId' ObjectIdNames[11147] = 'NonExclusiveRateOfChangeAlarmType_ConditionClassName' ObjectIdNames[11148] = 'NonExclusiveRateOfChangeAlarmType_InputNode' ObjectIdNames[11149] = 'NonExclusiveDeviationAlarmType_ConditionClassId' ObjectIdNames[11150] = 'NonExclusiveDeviationAlarmType_ConditionClassName' ObjectIdNames[11151] = 'NonExclusiveDeviationAlarmType_InputNode' ObjectIdNames[11152] = 'DiscreteAlarmType_ConditionClassId' ObjectIdNames[11153] = 'DiscreteAlarmType_ConditionClassName' ObjectIdNames[11154] = 'DiscreteAlarmType_InputNode' ObjectIdNames[11155] = 'OffNormalAlarmType_ConditionClassId' ObjectIdNames[11156] = 'OffNormalAlarmType_ConditionClassName' ObjectIdNames[11157] = 'OffNormalAlarmType_InputNode' ObjectIdNames[11158] = 'OffNormalAlarmType_NormalState' ObjectIdNames[11159] = 'TripAlarmType_ConditionClassId' ObjectIdNames[11160] = 'TripAlarmType_ConditionClassName' ObjectIdNames[11161] = 'TripAlarmType_InputNode' ObjectIdNames[11162] = 'TripAlarmType_NormalState' ObjectIdNames[11163] = 'BaseConditionClassType' ObjectIdNames[11164] = 'ProcessConditionClassType' ObjectIdNames[11165] = 'MaintenanceConditionClassType' ObjectIdNames[11166] = 'SystemConditionClassType' ObjectIdNames[11168] = 'HistoricalDataConfigurationType_AggregateConfiguration_TreatUncertainAsBad' ObjectIdNames[11169] = 'HistoricalDataConfigurationType_AggregateConfiguration_PercentDataBad' ObjectIdNames[11170] = 'HistoricalDataConfigurationType_AggregateConfiguration_PercentDataGood' ObjectIdNames[11171] = 'HistoricalDataConfigurationType_AggregateConfiguration_UseSlopedExtrapolation' ObjectIdNames[11172] = 'HistoryServerCapabilitiesType_AggregateFunctions' ObjectIdNames[11187] = 'AggregateConfigurationType' ObjectIdNames[11188] = 'AggregateConfigurationType_TreatUncertainAsBad' ObjectIdNames[11189] = 'AggregateConfigurationType_PercentDataBad' ObjectIdNames[11190] = 'AggregateConfigurationType_PercentDataGood' ObjectIdNames[11191] = 'AggregateConfigurationType_UseSlopedExtrapolation' ObjectIdNames[11192] = 'HistoryServerCapabilities' ObjectIdNames[11193] = 'HistoryServerCapabilities_AccessHistoryDataCapability' ObjectIdNames[11196] = 'HistoryServerCapabilities_InsertDataCapability' ObjectIdNames[11197] = 'HistoryServerCapabilities_ReplaceDataCapability' ObjectIdNames[11198] = 'HistoryServerCapabilities_UpdateDataCapability' ObjectIdNames[11199] = 'HistoryServerCapabilities_DeleteRawCapability' ObjectIdNames[11200] = 'HistoryServerCapabilities_DeleteAtTimeCapability' ObjectIdNames[11201] = 'HistoryServerCapabilities_AggregateFunctions' ObjectIdNames[11202] = 'HAConfiguration' ObjectIdNames[11203] = 'HAConfiguration_AggregateConfiguration' ObjectIdNames[11204] = 'HAConfiguration_AggregateConfiguration_TreatUncertainAsBad' ObjectIdNames[11205] = 'HAConfiguration_AggregateConfiguration_PercentDataBad' ObjectIdNames[11206] = 'HAConfiguration_AggregateConfiguration_PercentDataGood' ObjectIdNames[11207] = 'HAConfiguration_AggregateConfiguration_UseSlopedExtrapolation' ObjectIdNames[11208] = 'HAConfiguration_Stepped' ObjectIdNames[11209] = 'HAConfiguration_Definition' ObjectIdNames[11210] = 'HAConfiguration_MaxTimeInterval' ObjectIdNames[11211] = 'HAConfiguration_MinTimeInterval' ObjectIdNames[11212] = 'HAConfiguration_ExceptionDeviation' ObjectIdNames[11213] = 'HAConfiguration_ExceptionDeviationFormat' ObjectIdNames[11214] = 'Annotations' ObjectIdNames[11215] = 'HistoricalEventFilter' ObjectIdNames[11216] = 'ModificationInfo' ObjectIdNames[11217] = 'HistoryModifiedData' ObjectIdNames[11218] = 'ModificationInfo_Encoding_DefaultXml' ObjectIdNames[11219] = 'HistoryModifiedData_Encoding_DefaultXml' ObjectIdNames[11226] = 'ModificationInfo_Encoding_DefaultBinary' ObjectIdNames[11227] = 'HistoryModifiedData_Encoding_DefaultBinary' ObjectIdNames[11234] = 'HistoryUpdateType' ObjectIdNames[11238] = 'MultiStateValueDiscreteType' ObjectIdNames[11239] = 'MultiStateValueDiscreteType_Definition' ObjectIdNames[11240] = 'MultiStateValueDiscreteType_ValuePrecision' ObjectIdNames[11241] = 'MultiStateValueDiscreteType_EnumValues' ObjectIdNames[11242] = 'HistoryServerCapabilities_AccessHistoryEventsCapability' ObjectIdNames[11268] = 'HistoryServerCapabilitiesType_MaxReturnDataValues' ObjectIdNames[11269] = 'HistoryServerCapabilitiesType_MaxReturnEventValues' ObjectIdNames[11270] = 'HistoryServerCapabilitiesType_InsertAnnotationCapability' ObjectIdNames[11273] = 'HistoryServerCapabilities_MaxReturnDataValues' ObjectIdNames[11274] = 'HistoryServerCapabilities_MaxReturnEventValues' ObjectIdNames[11275] = 'HistoryServerCapabilities_InsertAnnotationCapability' ObjectIdNames[11278] = 'HistoryServerCapabilitiesType_InsertEventCapability' ObjectIdNames[11279] = 'HistoryServerCapabilitiesType_ReplaceEventCapability' ObjectIdNames[11280] = 'HistoryServerCapabilitiesType_UpdateEventCapability' ObjectIdNames[11281] = 'HistoryServerCapabilities_InsertEventCapability' ObjectIdNames[11282] = 'HistoryServerCapabilities_ReplaceEventCapability' ObjectIdNames[11283] = 'HistoryServerCapabilities_UpdateEventCapability' ObjectIdNames[11285] = 'AggregateFunction_TimeAverage2' ObjectIdNames[11286] = 'AggregateFunction_Minimum2' ObjectIdNames[11287] = 'AggregateFunction_Maximum2' ObjectIdNames[11288] = 'AggregateFunction_Range2' ObjectIdNames[11292] = 'AggregateFunction_WorstQuality2' ObjectIdNames[11293] = 'PerformUpdateType' ObjectIdNames[11295] = 'UpdateStructureDataDetails' ObjectIdNames[11296] = 'UpdateStructureDataDetails_Encoding_DefaultXml' ObjectIdNames[11300] = 'UpdateStructureDataDetails_Encoding_DefaultBinary' ObjectIdNames[11304] = 'AggregateFunction_Total2' ObjectIdNames[11305] = 'AggregateFunction_MinimumActualTime2' ObjectIdNames[11306] = 'AggregateFunction_MaximumActualTime2' ObjectIdNames[11307] = 'AggregateFunction_DurationInStateZero' ObjectIdNames[11308] = 'AggregateFunction_DurationInStateNonZero' ObjectIdNames[11312] = 'Server_ServerRedundancy_CurrentServerId' ObjectIdNames[11313] = 'Server_ServerRedundancy_RedundantServerArray' ObjectIdNames[11314] = 'Server_ServerRedundancy_ServerUriArray' ObjectIdNames[11322] = 'ShelvedStateMachineType_UnshelvedToTimedShelved_TransitionNumber' ObjectIdNames[11323] = 'ShelvedStateMachineType_UnshelvedToOneShotShelved_TransitionNumber' ObjectIdNames[11324] = 'ShelvedStateMachineType_TimedShelvedToUnshelved_TransitionNumber' ObjectIdNames[11325] = 'ShelvedStateMachineType_TimedShelvedToOneShotShelved_TransitionNumber' ObjectIdNames[11326] = 'ShelvedStateMachineType_OneShotShelvedToUnshelved_TransitionNumber' ObjectIdNames[11327] = 'ShelvedStateMachineType_OneShotShelvedToTimedShelved_TransitionNumber' ObjectIdNames[11340] = 'ExclusiveLimitStateMachineType_LowLowToLow_TransitionNumber' ObjectIdNames[11341] = 'ExclusiveLimitStateMachineType_LowToLowLow_TransitionNumber' ObjectIdNames[11342] = 'ExclusiveLimitStateMachineType_HighHighToHigh_TransitionNumber' ObjectIdNames[11343] = 'ExclusiveLimitStateMachineType_HighToHighHigh_TransitionNumber' ObjectIdNames[11426] = 'AggregateFunction_StandardDeviationSample' ObjectIdNames[11427] = 'AggregateFunction_StandardDeviationPopulation' ObjectIdNames[11428] = 'AggregateFunction_VarianceSample' ObjectIdNames[11429] = 'AggregateFunction_VariancePopulation' ObjectIdNames[11432] = 'EnumStrings' ObjectIdNames[11433] = 'ValueAsText' ObjectIdNames[11436] = 'ProgressEventType' ObjectIdNames[11437] = 'ProgressEventType_EventId' ObjectIdNames[11438] = 'ProgressEventType_EventType' ObjectIdNames[11439] = 'ProgressEventType_SourceNode' ObjectIdNames[11440] = 'ProgressEventType_SourceName' ObjectIdNames[11441] = 'ProgressEventType_Time' ObjectIdNames[11442] = 'ProgressEventType_ReceiveTime' ObjectIdNames[11443] = 'ProgressEventType_LocalTime' ObjectIdNames[11444] = 'ProgressEventType_Message' ObjectIdNames[11445] = 'ProgressEventType_Severity' ObjectIdNames[11446] = 'SystemStatusChangeEventType' ObjectIdNames[11447] = 'SystemStatusChangeEventType_EventId' ObjectIdNames[11448] = 'SystemStatusChangeEventType_EventType' ObjectIdNames[11449] = 'SystemStatusChangeEventType_SourceNode' ObjectIdNames[11450] = 'SystemStatusChangeEventType_SourceName' ObjectIdNames[11451] = 'SystemStatusChangeEventType_Time' ObjectIdNames[11452] = 'SystemStatusChangeEventType_ReceiveTime' ObjectIdNames[11453] = 'SystemStatusChangeEventType_LocalTime' ObjectIdNames[11454] = 'SystemStatusChangeEventType_Message' ObjectIdNames[11455] = 'SystemStatusChangeEventType_Severity' ObjectIdNames[11456] = 'TransitionVariableType_EffectiveTransitionTime' ObjectIdNames[11457] = 'FiniteTransitionVariableType_EffectiveTransitionTime' ObjectIdNames[11458] = 'StateMachineType_LastTransition_EffectiveTransitionTime' ObjectIdNames[11459] = 'FiniteStateMachineType_LastTransition_EffectiveTransitionTime' ObjectIdNames[11460] = 'TransitionEventType_Transition_EffectiveTransitionTime' ObjectIdNames[11461] = 'MultiStateValueDiscreteType_ValueAsText' ObjectIdNames[11462] = 'ProgramTransitionEventType_Transition_EffectiveTransitionTime' ObjectIdNames[11463] = 'ProgramTransitionAuditEventType_Transition_EffectiveTransitionTime' ObjectIdNames[11464] = 'ProgramStateMachineType_LastTransition_EffectiveTransitionTime' ObjectIdNames[11465] = 'ShelvedStateMachineType_LastTransition_EffectiveTransitionTime' ObjectIdNames[11466] = 'AlarmConditionType_ShelvingState_LastTransition_EffectiveTransitionTime' ObjectIdNames[11467] = 'LimitAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime' ObjectIdNames[11468] = 'ExclusiveLimitStateMachineType_LastTransition_EffectiveTransitionTime' ObjectIdNames[11469] = 'ExclusiveLimitAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime' ObjectIdNames[11470] = 'ExclusiveLimitAlarmType_LimitState_LastTransition_EffectiveTransitionTime' ObjectIdNames[11471] = 'ExclusiveLevelAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime' ObjectIdNames[11472] = 'ExclusiveLevelAlarmType_LimitState_LastTransition_EffectiveTransitionTime' ObjectIdNames[11473] = 'ExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime' ObjectIdNames[11474] = 'ExclusiveRateOfChangeAlarmType_LimitState_LastTransition_EffectiveTransitionTime' ObjectIdNames[11475] = 'ExclusiveDeviationAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime' ObjectIdNames[11476] = 'ExclusiveDeviationAlarmType_LimitState_LastTransition_EffectiveTransitionTime' ObjectIdNames[11477] = 'NonExclusiveLimitAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime' ObjectIdNames[11478] = 'NonExclusiveLevelAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime' ObjectIdNames[11479] = 'NonExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime' ObjectIdNames[11480] = 'NonExclusiveDeviationAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime' ObjectIdNames[11481] = 'DiscreteAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime' ObjectIdNames[11482] = 'OffNormalAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime' ObjectIdNames[11483] = 'TripAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime' ObjectIdNames[11485] = 'AuditActivateSessionEventType_SecureChannelId' ObjectIdNames[11487] = 'OptionSetType' ObjectIdNames[11488] = 'OptionSetType_OptionSetValues' ObjectIdNames[11489] = 'ServerType_GetMonitoredItems' ObjectIdNames[11490] = 'ServerType_GetMonitoredItems_InputArguments' ObjectIdNames[11491] = 'ServerType_GetMonitoredItems_OutputArguments' ObjectIdNames[11492] = 'Server_GetMonitoredItems' ObjectIdNames[11493] = 'Server_GetMonitoredItems_InputArguments' ObjectIdNames[11494] = 'Server_GetMonitoredItems_OutputArguments' ObjectIdNames[11495] = 'GetMonitoredItemsMethodType' ObjectIdNames[11496] = 'GetMonitoredItemsMethodType_InputArguments' ObjectIdNames[11497] = 'GetMonitoredItemsMethodType_OutputArguments' ObjectIdNames[11498] = 'MaxStringLength' ObjectIdNames[11499] = 'HistoricalDataConfigurationType_StartOfArchive' ObjectIdNames[11500] = 'HistoricalDataConfigurationType_StartOfOnlineArchive' ObjectIdNames[11501] = 'HistoryServerCapabilitiesType_DeleteEventCapability' ObjectIdNames[11502] = 'HistoryServerCapabilities_DeleteEventCapability' ObjectIdNames[11503] = 'HAConfiguration_StartOfArchive' ObjectIdNames[11504] = 'HAConfiguration_StartOfOnlineArchive' ObjectIdNames[11505] = 'AggregateFunction_StartBound' ObjectIdNames[11506] = 'AggregateFunction_EndBound' ObjectIdNames[11507] = 'AggregateFunction_DeltaBounds' ObjectIdNames[11508] = 'ModellingRule_OptionalPlaceholder' ObjectIdNames[11509] = 'ModellingRule_OptionalPlaceholder_NamingRule' ObjectIdNames[11510] = 'ModellingRule_MandatoryPlaceholder' ObjectIdNames[11511] = 'ModellingRule_MandatoryPlaceholder_NamingRule' ObjectIdNames[11512] = 'MaxArrayLength' ObjectIdNames[11513] = 'EngineeringUnits' ObjectIdNames[11514] = 'ServerType_ServerCapabilities_MaxArrayLength' ObjectIdNames[11515] = 'ServerType_ServerCapabilities_MaxStringLength' ObjectIdNames[11516] = 'ServerType_ServerCapabilities_OperationLimits' ObjectIdNames[11517] = 'ServerType_ServerCapabilities_OperationLimits_MaxNodesPerRead' ObjectIdNames[11519] = 'ServerType_ServerCapabilities_OperationLimits_MaxNodesPerWrite' ObjectIdNames[11521] = 'ServerType_ServerCapabilities_OperationLimits_MaxNodesPerMethodCall' ObjectIdNames[11522] = 'ServerType_ServerCapabilities_OperationLimits_MaxNodesPerBrowse' ObjectIdNames[11523] = 'ServerType_ServerCapabilities_OperationLimits_MaxNodesPerRegisterNodes' ObjectIdNames[11524] = 'ServerType_ServerCapabilities_OperationLimits_MaxNodesPerTranslateBrowsePathsToNodeIds' ObjectIdNames[11525] = 'ServerType_ServerCapabilities_OperationLimits_MaxNodesPerNodeManagement' ObjectIdNames[11526] = 'ServerType_ServerCapabilities_OperationLimits_MaxMonitoredItemsPerCall' ObjectIdNames[11527] = 'ServerType_Namespaces' ObjectIdNames[11528] = 'ServerType_Namespaces_AddressSpaceFile' ObjectIdNames[11529] = 'ServerType_Namespaces_AddressSpaceFile_Size' ObjectIdNames[11532] = 'ServerType_Namespaces_AddressSpaceFile_OpenCount' ObjectIdNames[11533] = 'ServerType_Namespaces_AddressSpaceFile_Open' ObjectIdNames[11534] = 'ServerType_Namespaces_AddressSpaceFile_Open_InputArguments' ObjectIdNames[11535] = 'ServerType_Namespaces_AddressSpaceFile_Open_OutputArguments' ObjectIdNames[11536] = 'ServerType_Namespaces_AddressSpaceFile_Close' ObjectIdNames[11537] = 'ServerType_Namespaces_AddressSpaceFile_Close_InputArguments' ObjectIdNames[11538] = 'ServerType_Namespaces_AddressSpaceFile_Read' ObjectIdNames[11539] = 'ServerType_Namespaces_AddressSpaceFile_Read_InputArguments' ObjectIdNames[11540] = 'ServerType_Namespaces_AddressSpaceFile_Read_OutputArguments' ObjectIdNames[11541] = 'ServerType_Namespaces_AddressSpaceFile_Write' ObjectIdNames[11542] = 'ServerType_Namespaces_AddressSpaceFile_Write_InputArguments' ObjectIdNames[11543] = 'ServerType_Namespaces_AddressSpaceFile_GetPosition' ObjectIdNames[11544] = 'ServerType_Namespaces_AddressSpaceFile_GetPosition_InputArguments' ObjectIdNames[11545] = 'ServerType_Namespaces_AddressSpaceFile_GetPosition_OutputArguments' ObjectIdNames[11546] = 'ServerType_Namespaces_AddressSpaceFile_SetPosition' ObjectIdNames[11547] = 'ServerType_Namespaces_AddressSpaceFile_SetPosition_InputArguments' ObjectIdNames[11548] = 'ServerType_Namespaces_AddressSpaceFile_ExportNamespace' ObjectIdNames[11549] = 'ServerCapabilitiesType_MaxArrayLength' ObjectIdNames[11550] = 'ServerCapabilitiesType_MaxStringLength' ObjectIdNames[11551] = 'ServerCapabilitiesType_OperationLimits' ObjectIdNames[11552] = 'ServerCapabilitiesType_OperationLimits_MaxNodesPerRead' ObjectIdNames[11554] = 'ServerCapabilitiesType_OperationLimits_MaxNodesPerWrite' ObjectIdNames[11556] = 'ServerCapabilitiesType_OperationLimits_MaxNodesPerMethodCall' ObjectIdNames[11557] = 'ServerCapabilitiesType_OperationLimits_MaxNodesPerBrowse' ObjectIdNames[11558] = 'ServerCapabilitiesType_OperationLimits_MaxNodesPerRegisterNodes' ObjectIdNames[11559] = 'ServerCapabilitiesType_OperationLimits_MaxNodesPerTranslateBrowsePathsToNodeIds' ObjectIdNames[11560] = 'ServerCapabilitiesType_OperationLimits_MaxNodesPerNodeManagement' ObjectIdNames[11561] = 'ServerCapabilitiesType_OperationLimits_MaxMonitoredItemsPerCall' ObjectIdNames[11562] = 'ServerCapabilitiesType_VendorCapability' ObjectIdNames[11564] = 'OperationLimitsType' ObjectIdNames[11565] = 'OperationLimitsType_MaxNodesPerRead' ObjectIdNames[11567] = 'OperationLimitsType_MaxNodesPerWrite' ObjectIdNames[11569] = 'OperationLimitsType_MaxNodesPerMethodCall' ObjectIdNames[11570] = 'OperationLimitsType_MaxNodesPerBrowse' ObjectIdNames[11571] = 'OperationLimitsType_MaxNodesPerRegisterNodes' ObjectIdNames[11572] = 'OperationLimitsType_MaxNodesPerTranslateBrowsePathsToNodeIds' ObjectIdNames[11573] = 'OperationLimitsType_MaxNodesPerNodeManagement' ObjectIdNames[11574] = 'OperationLimitsType_MaxMonitoredItemsPerCall' ObjectIdNames[11575] = 'FileType' ObjectIdNames[11576] = 'FileType_Size' ObjectIdNames[11579] = 'FileType_OpenCount' ObjectIdNames[11580] = 'FileType_Open' ObjectIdNames[11581] = 'FileType_Open_InputArguments' ObjectIdNames[11582] = 'FileType_Open_OutputArguments' ObjectIdNames[11583] = 'FileType_Close' ObjectIdNames[11584] = 'FileType_Close_InputArguments' ObjectIdNames[11585] = 'FileType_Read' ObjectIdNames[11586] = 'FileType_Read_InputArguments' ObjectIdNames[11587] = 'FileType_Read_OutputArguments' ObjectIdNames[11588] = 'FileType_Write' ObjectIdNames[11589] = 'FileType_Write_InputArguments' ObjectIdNames[11590] = 'FileType_GetPosition' ObjectIdNames[11591] = 'FileType_GetPosition_InputArguments' ObjectIdNames[11592] = 'FileType_GetPosition_OutputArguments' ObjectIdNames[11593] = 'FileType_SetPosition' ObjectIdNames[11594] = 'FileType_SetPosition_InputArguments' ObjectIdNames[11595] = 'AddressSpaceFileType' ObjectIdNames[11596] = 'AddressSpaceFileType_Size' ObjectIdNames[11599] = 'AddressSpaceFileType_OpenCount' ObjectIdNames[11600] = 'AddressSpaceFileType_Open' ObjectIdNames[11601] = 'AddressSpaceFileType_Open_InputArguments' ObjectIdNames[11602] = 'AddressSpaceFileType_Open_OutputArguments' ObjectIdNames[11603] = 'AddressSpaceFileType_Close' ObjectIdNames[11604] = 'AddressSpaceFileType_Close_InputArguments' ObjectIdNames[11605] = 'AddressSpaceFileType_Read' ObjectIdNames[11606] = 'AddressSpaceFileType_Read_InputArguments' ObjectIdNames[11607] = 'AddressSpaceFileType_Read_OutputArguments' ObjectIdNames[11608] = 'AddressSpaceFileType_Write' ObjectIdNames[11609] = 'AddressSpaceFileType_Write_InputArguments' ObjectIdNames[11610] = 'AddressSpaceFileType_GetPosition' ObjectIdNames[11611] = 'AddressSpaceFileType_GetPosition_InputArguments' ObjectIdNames[11612] = 'AddressSpaceFileType_GetPosition_OutputArguments' ObjectIdNames[11613] = 'AddressSpaceFileType_SetPosition' ObjectIdNames[11614] = 'AddressSpaceFileType_SetPosition_InputArguments' ObjectIdNames[11615] = 'AddressSpaceFileType_ExportNamespace' ObjectIdNames[11616] = 'NamespaceMetadataType' ObjectIdNames[11617] = 'NamespaceMetadataType_NamespaceUri' ObjectIdNames[11618] = 'NamespaceMetadataType_NamespaceVersion' ObjectIdNames[11619] = 'NamespaceMetadataType_NamespacePublicationDate' ObjectIdNames[11620] = 'NamespaceMetadataType_IsNamespaceSubset' ObjectIdNames[11621] = 'NamespaceMetadataType_StaticNodeIdIdentifierTypes' ObjectIdNames[11622] = 'NamespaceMetadataType_StaticNumericNodeIdRange' ObjectIdNames[11623] = 'NamespaceMetadataType_StaticStringNodeIdPattern' ObjectIdNames[11624] = 'NamespaceMetadataType_NamespaceFile' ObjectIdNames[11625] = 'NamespaceMetadataType_NamespaceFile_Size' ObjectIdNames[11628] = 'NamespaceMetadataType_NamespaceFile_OpenCount' ObjectIdNames[11629] = 'NamespaceMetadataType_NamespaceFile_Open' ObjectIdNames[11630] = 'NamespaceMetadataType_NamespaceFile_Open_InputArguments' ObjectIdNames[11631] = 'NamespaceMetadataType_NamespaceFile_Open_OutputArguments' ObjectIdNames[11632] = 'NamespaceMetadataType_NamespaceFile_Close' ObjectIdNames[11633] = 'NamespaceMetadataType_NamespaceFile_Close_InputArguments' ObjectIdNames[11634] = 'NamespaceMetadataType_NamespaceFile_Read' ObjectIdNames[11635] = 'NamespaceMetadataType_NamespaceFile_Read_InputArguments' ObjectIdNames[11636] = 'NamespaceMetadataType_NamespaceFile_Read_OutputArguments' ObjectIdNames[11637] = 'NamespaceMetadataType_NamespaceFile_Write' ObjectIdNames[11638] = 'NamespaceMetadataType_NamespaceFile_Write_InputArguments' ObjectIdNames[11639] = 'NamespaceMetadataType_NamespaceFile_GetPosition' ObjectIdNames[11640] = 'NamespaceMetadataType_NamespaceFile_GetPosition_InputArguments' ObjectIdNames[11641] = 'NamespaceMetadataType_NamespaceFile_GetPosition_OutputArguments' ObjectIdNames[11642] = 'NamespaceMetadataType_NamespaceFile_SetPosition' ObjectIdNames[11643] = 'NamespaceMetadataType_NamespaceFile_SetPosition_InputArguments' ObjectIdNames[11644] = 'NamespaceMetadataType_NamespaceFile_ExportNamespace' ObjectIdNames[11645] = 'NamespacesType' ObjectIdNames[11646] = 'NamespacesType_NamespaceIdentifier' ObjectIdNames[11647] = 'NamespacesType_NamespaceIdentifier_NamespaceUri' ObjectIdNames[11648] = 'NamespacesType_NamespaceIdentifier_NamespaceVersion' ObjectIdNames[11649] = 'NamespacesType_NamespaceIdentifier_NamespacePublicationDate' ObjectIdNames[11650] = 'NamespacesType_NamespaceIdentifier_IsNamespaceSubset' ObjectIdNames[11651] = 'NamespacesType_NamespaceIdentifier_StaticNodeIdIdentifierTypes' ObjectIdNames[11652] = 'NamespacesType_NamespaceIdentifier_StaticNumericNodeIdRange' ObjectIdNames[11653] = 'NamespacesType_NamespaceIdentifier_StaticStringNodeIdPattern' ObjectIdNames[11654] = 'NamespacesType_NamespaceIdentifier_NamespaceFile' ObjectIdNames[11655] = 'NamespacesType_NamespaceIdentifier_NamespaceFile_Size' ObjectIdNames[11658] = 'NamespacesType_NamespaceIdentifier_NamespaceFile_OpenCount' ObjectIdNames[11659] = 'NamespacesType_NamespaceIdentifier_NamespaceFile_Open' ObjectIdNames[11660] = 'NamespacesType_NamespaceIdentifier_NamespaceFile_Open_InputArguments' ObjectIdNames[11661] = 'NamespacesType_NamespaceIdentifier_NamespaceFile_Open_OutputArguments' ObjectIdNames[11662] = 'NamespacesType_NamespaceIdentifier_NamespaceFile_Close' ObjectIdNames[11663] = 'NamespacesType_NamespaceIdentifier_NamespaceFile_Close_InputArguments' ObjectIdNames[11664] = 'NamespacesType_NamespaceIdentifier_NamespaceFile_Read' ObjectIdNames[11665] = 'NamespacesType_NamespaceIdentifier_NamespaceFile_Read_InputArguments' ObjectIdNames[11666] = 'NamespacesType_NamespaceIdentifier_NamespaceFile_Read_OutputArguments' ObjectIdNames[11667] = 'NamespacesType_NamespaceIdentifier_NamespaceFile_Write' ObjectIdNames[11668] = 'NamespacesType_NamespaceIdentifier_NamespaceFile_Write_InputArguments' ObjectIdNames[11669] = 'NamespacesType_NamespaceIdentifier_NamespaceFile_GetPosition' ObjectIdNames[11670] = 'NamespacesType_NamespaceIdentifier_NamespaceFile_GetPosition_InputArguments' ObjectIdNames[11671] = 'NamespacesType_NamespaceIdentifier_NamespaceFile_GetPosition_OutputArguments' ObjectIdNames[11672] = 'NamespacesType_NamespaceIdentifier_NamespaceFile_SetPosition' ObjectIdNames[11673] = 'NamespacesType_NamespaceIdentifier_NamespaceFile_SetPosition_InputArguments' ObjectIdNames[11674] = 'NamespacesType_NamespaceIdentifier_NamespaceFile_ExportNamespace' ObjectIdNames[11675] = 'NamespacesType_AddressSpaceFile' ObjectIdNames[11676] = 'NamespacesType_AddressSpaceFile_Size' ObjectIdNames[11679] = 'NamespacesType_AddressSpaceFile_OpenCount' ObjectIdNames[11680] = 'NamespacesType_AddressSpaceFile_Open' ObjectIdNames[11681] = 'NamespacesType_AddressSpaceFile_Open_InputArguments' ObjectIdNames[11682] = 'NamespacesType_AddressSpaceFile_Open_OutputArguments' ObjectIdNames[11683] = 'NamespacesType_AddressSpaceFile_Close' ObjectIdNames[11684] = 'NamespacesType_AddressSpaceFile_Close_InputArguments' ObjectIdNames[11685] = 'NamespacesType_AddressSpaceFile_Read' ObjectIdNames[11686] = 'NamespacesType_AddressSpaceFile_Read_InputArguments' ObjectIdNames[11687] = 'NamespacesType_AddressSpaceFile_Read_OutputArguments' ObjectIdNames[11688] = 'NamespacesType_AddressSpaceFile_Write' ObjectIdNames[11689] = 'NamespacesType_AddressSpaceFile_Write_InputArguments' ObjectIdNames[11690] = 'NamespacesType_AddressSpaceFile_GetPosition' ObjectIdNames[11691] = 'NamespacesType_AddressSpaceFile_GetPosition_InputArguments' ObjectIdNames[11692] = 'NamespacesType_AddressSpaceFile_GetPosition_OutputArguments' ObjectIdNames[11693] = 'NamespacesType_AddressSpaceFile_SetPosition' ObjectIdNames[11694] = 'NamespacesType_AddressSpaceFile_SetPosition_InputArguments' ObjectIdNames[11695] = 'NamespacesType_AddressSpaceFile_ExportNamespace' ObjectIdNames[11696] = 'SystemStatusChangeEventType_SystemState' ObjectIdNames[11697] = 'SamplingIntervalDiagnosticsType_SampledMonitoredItemsCount' ObjectIdNames[11698] = 'SamplingIntervalDiagnosticsType_MaxSampledMonitoredItemsCount' ObjectIdNames[11699] = 'SamplingIntervalDiagnosticsType_DisabledMonitoredItemsSamplingCount' ObjectIdNames[11701] = 'OptionSetType_BitMask' ObjectIdNames[11702] = 'Server_ServerCapabilities_MaxArrayLength' ObjectIdNames[11703] = 'Server_ServerCapabilities_MaxStringLength' ObjectIdNames[11704] = 'Server_ServerCapabilities_OperationLimits' ObjectIdNames[11705] = 'Server_ServerCapabilities_OperationLimits_MaxNodesPerRead' ObjectIdNames[11707] = 'Server_ServerCapabilities_OperationLimits_MaxNodesPerWrite' ObjectIdNames[11709] = 'Server_ServerCapabilities_OperationLimits_MaxNodesPerMethodCall' ObjectIdNames[11710] = 'Server_ServerCapabilities_OperationLimits_MaxNodesPerBrowse' ObjectIdNames[11711] = 'Server_ServerCapabilities_OperationLimits_MaxNodesPerRegisterNodes' ObjectIdNames[11712] = 'Server_ServerCapabilities_OperationLimits_MaxNodesPerTranslateBrowsePathsToNodeIds' ObjectIdNames[11713] = 'Server_ServerCapabilities_OperationLimits_MaxNodesPerNodeManagement' ObjectIdNames[11714] = 'Server_ServerCapabilities_OperationLimits_MaxMonitoredItemsPerCall' ObjectIdNames[11715] = 'Server_Namespaces' ObjectIdNames[11716] = 'Server_Namespaces_AddressSpaceFile' ObjectIdNames[11717] = 'Server_Namespaces_AddressSpaceFile_Size' ObjectIdNames[11720] = 'Server_Namespaces_AddressSpaceFile_OpenCount' ObjectIdNames[11721] = 'Server_Namespaces_AddressSpaceFile_Open' ObjectIdNames[11722] = 'Server_Namespaces_AddressSpaceFile_Open_InputArguments' ObjectIdNames[11723] = 'Server_Namespaces_AddressSpaceFile_Open_OutputArguments' ObjectIdNames[11724] = 'Server_Namespaces_AddressSpaceFile_Close' ObjectIdNames[11725] = 'Server_Namespaces_AddressSpaceFile_Close_InputArguments' ObjectIdNames[11726] = 'Server_Namespaces_AddressSpaceFile_Read' ObjectIdNames[11727] = 'Server_Namespaces_AddressSpaceFile_Read_InputArguments' ObjectIdNames[11728] = 'Server_Namespaces_AddressSpaceFile_Read_OutputArguments' ObjectIdNames[11729] = 'Server_Namespaces_AddressSpaceFile_Write' ObjectIdNames[11730] = 'Server_Namespaces_AddressSpaceFile_Write_InputArguments' ObjectIdNames[11731] = 'Server_Namespaces_AddressSpaceFile_GetPosition' ObjectIdNames[11732] = 'Server_Namespaces_AddressSpaceFile_GetPosition_InputArguments' ObjectIdNames[11733] = 'Server_Namespaces_AddressSpaceFile_GetPosition_OutputArguments' ObjectIdNames[11734] = 'Server_Namespaces_AddressSpaceFile_SetPosition' ObjectIdNames[11735] = 'Server_Namespaces_AddressSpaceFile_SetPosition_InputArguments' ObjectIdNames[11736] = 'Server_Namespaces_AddressSpaceFile_ExportNamespace' ObjectIdNames[11737] = 'BitFieldMaskDataType' ObjectIdNames[11738] = 'OpenMethodType' ObjectIdNames[11739] = 'OpenMethodType_InputArguments' ObjectIdNames[11740] = 'OpenMethodType_OutputArguments' ObjectIdNames[11741] = 'CloseMethodType' ObjectIdNames[11742] = 'CloseMethodType_InputArguments' ObjectIdNames[11743] = 'ReadMethodType' ObjectIdNames[11744] = 'ReadMethodType_InputArguments' ObjectIdNames[11745] = 'ReadMethodType_OutputArguments' ObjectIdNames[11746] = 'WriteMethodType' ObjectIdNames[11747] = 'WriteMethodType_InputArguments' ObjectIdNames[11748] = 'GetPositionMethodType' ObjectIdNames[11749] = 'GetPositionMethodType_InputArguments' ObjectIdNames[11750] = 'GetPositionMethodType_OutputArguments' ObjectIdNames[11751] = 'SetPositionMethodType' ObjectIdNames[11752] = 'SetPositionMethodType_InputArguments' ObjectIdNames[11753] = 'SystemOffNormalAlarmType' ObjectIdNames[11754] = 'SystemOffNormalAlarmType_EventId' ObjectIdNames[11755] = 'SystemOffNormalAlarmType_EventType' ObjectIdNames[11756] = 'SystemOffNormalAlarmType_SourceNode' ObjectIdNames[11757] = 'SystemOffNormalAlarmType_SourceName' ObjectIdNames[11758] = 'SystemOffNormalAlarmType_Time' ObjectIdNames[11759] = 'SystemOffNormalAlarmType_ReceiveTime' ObjectIdNames[11760] = 'SystemOffNormalAlarmType_LocalTime' ObjectIdNames[11761] = 'SystemOffNormalAlarmType_Message' ObjectIdNames[11762] = 'SystemOffNormalAlarmType_Severity' ObjectIdNames[11763] = 'SystemOffNormalAlarmType_ConditionClassId' ObjectIdNames[11764] = 'SystemOffNormalAlarmType_ConditionClassName' ObjectIdNames[11765] = 'SystemOffNormalAlarmType_ConditionName' ObjectIdNames[11766] = 'SystemOffNormalAlarmType_BranchId' ObjectIdNames[11767] = 'SystemOffNormalAlarmType_Retain' ObjectIdNames[11768] = 'SystemOffNormalAlarmType_EnabledState' ObjectIdNames[11769] = 'SystemOffNormalAlarmType_EnabledState_Id' ObjectIdNames[11770] = 'SystemOffNormalAlarmType_EnabledState_Name' ObjectIdNames[11771] = 'SystemOffNormalAlarmType_EnabledState_Number' ObjectIdNames[11772] = 'SystemOffNormalAlarmType_EnabledState_EffectiveDisplayName' ObjectIdNames[11773] = 'SystemOffNormalAlarmType_EnabledState_TransitionTime' ObjectIdNames[11774] = 'SystemOffNormalAlarmType_EnabledState_EffectiveTransitionTime' ObjectIdNames[11775] = 'SystemOffNormalAlarmType_EnabledState_TrueState' ObjectIdNames[11776] = 'SystemOffNormalAlarmType_EnabledState_FalseState' ObjectIdNames[11777] = 'SystemOffNormalAlarmType_Quality' ObjectIdNames[11778] = 'SystemOffNormalAlarmType_Quality_SourceTimestamp' ObjectIdNames[11779] = 'SystemOffNormalAlarmType_LastSeverity' ObjectIdNames[11780] = 'SystemOffNormalAlarmType_LastSeverity_SourceTimestamp' ObjectIdNames[11781] = 'SystemOffNormalAlarmType_Comment' ObjectIdNames[11782] = 'SystemOffNormalAlarmType_Comment_SourceTimestamp' ObjectIdNames[11783] = 'SystemOffNormalAlarmType_ClientUserId' ObjectIdNames[11784] = 'SystemOffNormalAlarmType_Disable' ObjectIdNames[11785] = 'SystemOffNormalAlarmType_Enable' ObjectIdNames[11786] = 'SystemOffNormalAlarmType_AddComment' ObjectIdNames[11787] = 'SystemOffNormalAlarmType_AddComment_InputArguments' ObjectIdNames[11788] = 'SystemOffNormalAlarmType_ConditionRefresh' ObjectIdNames[11789] = 'SystemOffNormalAlarmType_ConditionRefresh_InputArguments' ObjectIdNames[11790] = 'SystemOffNormalAlarmType_AckedState' ObjectIdNames[11791] = 'SystemOffNormalAlarmType_AckedState_Id' ObjectIdNames[11792] = 'SystemOffNormalAlarmType_AckedState_Name' ObjectIdNames[11793] = 'SystemOffNormalAlarmType_AckedState_Number' ObjectIdNames[11794] = 'SystemOffNormalAlarmType_AckedState_EffectiveDisplayName' ObjectIdNames[11795] = 'SystemOffNormalAlarmType_AckedState_TransitionTime' ObjectIdNames[11796] = 'SystemOffNormalAlarmType_AckedState_EffectiveTransitionTime' ObjectIdNames[11797] = 'SystemOffNormalAlarmType_AckedState_TrueState' ObjectIdNames[11798] = 'SystemOffNormalAlarmType_AckedState_FalseState' ObjectIdNames[11799] = 'SystemOffNormalAlarmType_ConfirmedState' ObjectIdNames[11800] = 'SystemOffNormalAlarmType_ConfirmedState_Id' ObjectIdNames[11801] = 'SystemOffNormalAlarmType_ConfirmedState_Name' ObjectIdNames[11802] = 'SystemOffNormalAlarmType_ConfirmedState_Number' ObjectIdNames[11803] = 'SystemOffNormalAlarmType_ConfirmedState_EffectiveDisplayName' ObjectIdNames[11804] = 'SystemOffNormalAlarmType_ConfirmedState_TransitionTime' ObjectIdNames[11805] = 'SystemOffNormalAlarmType_ConfirmedState_EffectiveTransitionTime' ObjectIdNames[11806] = 'SystemOffNormalAlarmType_ConfirmedState_TrueState' ObjectIdNames[11807] = 'SystemOffNormalAlarmType_ConfirmedState_FalseState' ObjectIdNames[11808] = 'SystemOffNormalAlarmType_Acknowledge' ObjectIdNames[11809] = 'SystemOffNormalAlarmType_Acknowledge_InputArguments' ObjectIdNames[11810] = 'SystemOffNormalAlarmType_Confirm' ObjectIdNames[11811] = 'SystemOffNormalAlarmType_Confirm_InputArguments' ObjectIdNames[11812] = 'SystemOffNormalAlarmType_ActiveState' ObjectIdNames[11813] = 'SystemOffNormalAlarmType_ActiveState_Id' ObjectIdNames[11814] = 'SystemOffNormalAlarmType_ActiveState_Name' ObjectIdNames[11815] = 'SystemOffNormalAlarmType_ActiveState_Number' ObjectIdNames[11816] = 'SystemOffNormalAlarmType_ActiveState_EffectiveDisplayName' ObjectIdNames[11817] = 'SystemOffNormalAlarmType_ActiveState_TransitionTime' ObjectIdNames[11818] = 'SystemOffNormalAlarmType_ActiveState_EffectiveTransitionTime' ObjectIdNames[11819] = 'SystemOffNormalAlarmType_ActiveState_TrueState' ObjectIdNames[11820] = 'SystemOffNormalAlarmType_ActiveState_FalseState' ObjectIdNames[11821] = 'SystemOffNormalAlarmType_InputNode' ObjectIdNames[11822] = 'SystemOffNormalAlarmType_SuppressedState' ObjectIdNames[11823] = 'SystemOffNormalAlarmType_SuppressedState_Id' ObjectIdNames[11824] = 'SystemOffNormalAlarmType_SuppressedState_Name' ObjectIdNames[11825] = 'SystemOffNormalAlarmType_SuppressedState_Number' ObjectIdNames[11826] = 'SystemOffNormalAlarmType_SuppressedState_EffectiveDisplayName' ObjectIdNames[11827] = 'SystemOffNormalAlarmType_SuppressedState_TransitionTime' ObjectIdNames[11828] = 'SystemOffNormalAlarmType_SuppressedState_EffectiveTransitionTime' ObjectIdNames[11829] = 'SystemOffNormalAlarmType_SuppressedState_TrueState' ObjectIdNames[11830] = 'SystemOffNormalAlarmType_SuppressedState_FalseState' ObjectIdNames[11831] = 'SystemOffNormalAlarmType_ShelvingState' ObjectIdNames[11832] = 'SystemOffNormalAlarmType_ShelvingState_CurrentState' ObjectIdNames[11833] = 'SystemOffNormalAlarmType_ShelvingState_CurrentState_Id' ObjectIdNames[11834] = 'SystemOffNormalAlarmType_ShelvingState_CurrentState_Name' ObjectIdNames[11835] = 'SystemOffNormalAlarmType_ShelvingState_CurrentState_Number' ObjectIdNames[11836] = 'SystemOffNormalAlarmType_ShelvingState_CurrentState_EffectiveDisplayName' ObjectIdNames[11837] = 'SystemOffNormalAlarmType_ShelvingState_LastTransition' ObjectIdNames[11838] = 'SystemOffNormalAlarmType_ShelvingState_LastTransition_Id' ObjectIdNames[11839] = 'SystemOffNormalAlarmType_ShelvingState_LastTransition_Name' ObjectIdNames[11840] = 'SystemOffNormalAlarmType_ShelvingState_LastTransition_Number' ObjectIdNames[11841] = 'SystemOffNormalAlarmType_ShelvingState_LastTransition_TransitionTime' ObjectIdNames[11842] = 'SystemOffNormalAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime' ObjectIdNames[11843] = 'SystemOffNormalAlarmType_ShelvingState_UnshelveTime' ObjectIdNames[11844] = 'SystemOffNormalAlarmType_ShelvingState_Unshelve' ObjectIdNames[11845] = 'SystemOffNormalAlarmType_ShelvingState_OneShotShelve' ObjectIdNames[11846] = 'SystemOffNormalAlarmType_ShelvingState_TimedShelve' ObjectIdNames[11847] = 'SystemOffNormalAlarmType_ShelvingState_TimedShelve_InputArguments' ObjectIdNames[11848] = 'SystemOffNormalAlarmType_SuppressedOrShelved' ObjectIdNames[11849] = 'SystemOffNormalAlarmType_MaxTimeShelved' ObjectIdNames[11850] = 'SystemOffNormalAlarmType_NormalState' ObjectIdNames[11851] = 'AuditConditionCommentEventType_Comment' ObjectIdNames[11852] = 'AuditConditionRespondEventType_SelectedResponse' ObjectIdNames[11853] = 'AuditConditionAcknowledgeEventType_Comment' ObjectIdNames[11854] = 'AuditConditionConfirmEventType_Comment' ObjectIdNames[11855] = 'AuditConditionShelvingEventType_ShelvingTime' ObjectIdNames[11856] = 'AuditProgramTransitionEventType' ObjectIdNames[11857] = 'AuditProgramTransitionEventType_EventId' ObjectIdNames[11858] = 'AuditProgramTransitionEventType_EventType' ObjectIdNames[11859] = 'AuditProgramTransitionEventType_SourceNode' ObjectIdNames[11860] = 'AuditProgramTransitionEventType_SourceName' ObjectIdNames[11861] = 'AuditProgramTransitionEventType_Time' ObjectIdNames[11862] = 'AuditProgramTransitionEventType_ReceiveTime' ObjectIdNames[11863] = 'AuditProgramTransitionEventType_LocalTime' ObjectIdNames[11864] = 'AuditProgramTransitionEventType_Message' ObjectIdNames[11865] = 'AuditProgramTransitionEventType_Severity' ObjectIdNames[11866] = 'AuditProgramTransitionEventType_ActionTimeStamp' ObjectIdNames[11867] = 'AuditProgramTransitionEventType_Status' ObjectIdNames[11868] = 'AuditProgramTransitionEventType_ServerId' ObjectIdNames[11869] = 'AuditProgramTransitionEventType_ClientAuditEntryId' ObjectIdNames[11870] = 'AuditProgramTransitionEventType_ClientUserId' ObjectIdNames[11871] = 'AuditProgramTransitionEventType_MethodId' ObjectIdNames[11872] = 'AuditProgramTransitionEventType_InputArguments' ObjectIdNames[11873] = 'AuditProgramTransitionEventType_OldStateId' ObjectIdNames[11874] = 'AuditProgramTransitionEventType_NewStateId' ObjectIdNames[11875] = 'AuditProgramTransitionEventType_TransitionNumber' ObjectIdNames[11876] = 'HistoricalDataConfigurationType_AggregateFunctions' ObjectIdNames[11877] = 'HAConfiguration_AggregateFunctions' ObjectIdNames[11878] = 'NodeClass_EnumValues' ObjectIdNames[11879] = 'InstanceNode' ObjectIdNames[11880] = 'TypeNode' ObjectIdNames[11881] = 'NodeAttributesMask_EnumValues' ObjectIdNames[11882] = 'AttributeWriteMask_EnumValues' ObjectIdNames[11883] = 'BrowseResultMask_EnumValues' ObjectIdNames[11884] = 'HistoryUpdateType_EnumValues' ObjectIdNames[11885] = 'PerformUpdateType_EnumValues' ObjectIdNames[11886] = 'EnumeratedTestType_EnumValues' ObjectIdNames[11887] = 'InstanceNode_Encoding_DefaultXml' ObjectIdNames[11888] = 'TypeNode_Encoding_DefaultXml' ObjectIdNames[11889] = 'InstanceNode_Encoding_DefaultBinary' ObjectIdNames[11890] = 'TypeNode_Encoding_DefaultBinary' ObjectIdNames[11891] = 'SessionDiagnosticsObjectType_SessionDiagnostics_UnauthorizedRequestCount' ObjectIdNames[11892] = 'SessionDiagnosticsVariableType_UnauthorizedRequestCount' ObjectIdNames[11939] = 'OpenFileMode' ObjectIdNames[11940] = 'OpenFileMode_EnumValues' ObjectIdNames[11941] = 'ModelChangeStructureVerbMask' ObjectIdNames[11942] = 'ModelChangeStructureVerbMask_EnumValues' ObjectIdNames[11943] = 'EndpointUrlListDataType' ObjectIdNames[11944] = 'NetworkGroupDataType' ObjectIdNames[11945] = 'NonTransparentNetworkRedundancyType' ObjectIdNames[11946] = 'NonTransparentNetworkRedundancyType_RedundancySupport' ObjectIdNames[11947] = 'NonTransparentNetworkRedundancyType_ServerUriArray' ObjectIdNames[11948] = 'NonTransparentNetworkRedundancyType_ServerNetworkGroups' ObjectIdNames[11949] = 'EndpointUrlListDataType_Encoding_DefaultXml' ObjectIdNames[11950] = 'NetworkGroupDataType_Encoding_DefaultXml' ObjectIdNames[11951] = 'OpcUa_XmlSchema_EndpointUrlListDataType' ObjectIdNames[11952] = 'OpcUa_XmlSchema_EndpointUrlListDataType_DataTypeVersion' ObjectIdNames[11953] = 'OpcUa_XmlSchema_EndpointUrlListDataType_DictionaryFragment' ObjectIdNames[11954] = 'OpcUa_XmlSchema_NetworkGroupDataType' ObjectIdNames[11955] = 'OpcUa_XmlSchema_NetworkGroupDataType_DataTypeVersion' ObjectIdNames[11956] = 'OpcUa_XmlSchema_NetworkGroupDataType_DictionaryFragment' ObjectIdNames[11957] = 'EndpointUrlListDataType_Encoding_DefaultBinary' ObjectIdNames[11958] = 'NetworkGroupDataType_Encoding_DefaultBinary' ObjectIdNames[11959] = 'OpcUa_BinarySchema_EndpointUrlListDataType' ObjectIdNames[11960] = 'OpcUa_BinarySchema_EndpointUrlListDataType_DataTypeVersion' ObjectIdNames[11961] = 'OpcUa_BinarySchema_EndpointUrlListDataType_DictionaryFragment' ObjectIdNames[11962] = 'OpcUa_BinarySchema_NetworkGroupDataType' ObjectIdNames[11963] = 'OpcUa_BinarySchema_NetworkGroupDataType_DataTypeVersion' ObjectIdNames[11964] = 'OpcUa_BinarySchema_NetworkGroupDataType_DictionaryFragment' ObjectIdNames[12021] = 'ArrayItemType' ObjectIdNames[12022] = 'ArrayItemType_Definition' ObjectIdNames[12023] = 'ArrayItemType_ValuePrecision' ObjectIdNames[12024] = 'ArrayItemType_InstrumentRange' ObjectIdNames[12025] = 'ArrayItemType_EURange' ObjectIdNames[12026] = 'ArrayItemType_EngineeringUnits' ObjectIdNames[12027] = 'ArrayItemType_Title' ObjectIdNames[12028] = 'ArrayItemType_AxisScaleType' ObjectIdNames[12029] = 'YArrayItemType' ObjectIdNames[12030] = 'YArrayItemType_Definition' ObjectIdNames[12031] = 'YArrayItemType_ValuePrecision' ObjectIdNames[12032] = 'YArrayItemType_InstrumentRange' ObjectIdNames[12033] = 'YArrayItemType_EURange' ObjectIdNames[12034] = 'YArrayItemType_EngineeringUnits' ObjectIdNames[12035] = 'YArrayItemType_Title' ObjectIdNames[12036] = 'YArrayItemType_AxisScaleType' ObjectIdNames[12037] = 'YArrayItemType_XAxisDefinition' ObjectIdNames[12038] = 'XYArrayItemType' ObjectIdNames[12039] = 'XYArrayItemType_Definition' ObjectIdNames[12040] = 'XYArrayItemType_ValuePrecision' ObjectIdNames[12041] = 'XYArrayItemType_InstrumentRange' ObjectIdNames[12042] = 'XYArrayItemType_EURange' ObjectIdNames[12043] = 'XYArrayItemType_EngineeringUnits' ObjectIdNames[12044] = 'XYArrayItemType_Title' ObjectIdNames[12045] = 'XYArrayItemType_AxisScaleType' ObjectIdNames[12046] = 'XYArrayItemType_XAxisDefinition' ObjectIdNames[12047] = 'ImageItemType' ObjectIdNames[12048] = 'ImageItemType_Definition' ObjectIdNames[12049] = 'ImageItemType_ValuePrecision' ObjectIdNames[12050] = 'ImageItemType_InstrumentRange' ObjectIdNames[12051] = 'ImageItemType_EURange' ObjectIdNames[12052] = 'ImageItemType_EngineeringUnits' ObjectIdNames[12053] = 'ImageItemType_Title' ObjectIdNames[12054] = 'ImageItemType_AxisScaleType' ObjectIdNames[12055] = 'ImageItemType_XAxisDefinition' ObjectIdNames[12056] = 'ImageItemType_YAxisDefinition' ObjectIdNames[12057] = 'CubeItemType' ObjectIdNames[12058] = 'CubeItemType_Definition' ObjectIdNames[12059] = 'CubeItemType_ValuePrecision' ObjectIdNames[12060] = 'CubeItemType_InstrumentRange' ObjectIdNames[12061] = 'CubeItemType_EURange' ObjectIdNames[12062] = 'CubeItemType_EngineeringUnits' ObjectIdNames[12063] = 'CubeItemType_Title' ObjectIdNames[12064] = 'CubeItemType_AxisScaleType' ObjectIdNames[12065] = 'CubeItemType_XAxisDefinition' ObjectIdNames[12066] = 'CubeItemType_YAxisDefinition' ObjectIdNames[12067] = 'CubeItemType_ZAxisDefinition' ObjectIdNames[12068] = 'NDimensionArrayItemType' ObjectIdNames[12069] = 'NDimensionArrayItemType_Definition' ObjectIdNames[12070] = 'NDimensionArrayItemType_ValuePrecision' ObjectIdNames[12071] = 'NDimensionArrayItemType_InstrumentRange' ObjectIdNames[12072] = 'NDimensionArrayItemType_EURange' ObjectIdNames[12073] = 'NDimensionArrayItemType_EngineeringUnits' ObjectIdNames[12074] = 'NDimensionArrayItemType_Title' ObjectIdNames[12075] = 'NDimensionArrayItemType_AxisScaleType' ObjectIdNames[12076] = 'NDimensionArrayItemType_AxisDefinition' ObjectIdNames[12077] = 'AxisScaleEnumeration' ObjectIdNames[12078] = 'AxisScaleEnumeration_EnumStrings' ObjectIdNames[12079] = 'AxisInformation' ObjectIdNames[12080] = 'XVType' ObjectIdNames[12081] = 'AxisInformation_Encoding_DefaultXml' ObjectIdNames[12082] = 'XVType_Encoding_DefaultXml' ObjectIdNames[12083] = 'OpcUa_XmlSchema_AxisInformation' ObjectIdNames[12084] = 'OpcUa_XmlSchema_AxisInformation_DataTypeVersion' ObjectIdNames[12085] = 'OpcUa_XmlSchema_AxisInformation_DictionaryFragment' ObjectIdNames[12086] = 'OpcUa_XmlSchema_XVType' ObjectIdNames[12087] = 'OpcUa_XmlSchema_XVType_DataTypeVersion' ObjectIdNames[12088] = 'OpcUa_XmlSchema_XVType_DictionaryFragment' ObjectIdNames[12089] = 'AxisInformation_Encoding_DefaultBinary' ObjectIdNames[12090] = 'XVType_Encoding_DefaultBinary' ObjectIdNames[12091] = 'OpcUa_BinarySchema_AxisInformation' ObjectIdNames[12092] = 'OpcUa_BinarySchema_AxisInformation_DataTypeVersion' ObjectIdNames[12093] = 'OpcUa_BinarySchema_AxisInformation_DictionaryFragment' ObjectIdNames[12094] = 'OpcUa_BinarySchema_XVType' ObjectIdNames[12095] = 'OpcUa_BinarySchema_XVType_DataTypeVersion' ObjectIdNames[12096] = 'OpcUa_BinarySchema_XVType_DictionaryFragment' ObjectIdNames[12097] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder' ObjectIdNames[12098] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics' ObjectIdNames[12099] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SessionId' ObjectIdNames[12100] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SessionName' ObjectIdNames[12101] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ClientDescription' ObjectIdNames[12102] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ServerUri' ObjectIdNames[12103] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_EndpointUrl' ObjectIdNames[12104] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_LocaleIds' ObjectIdNames[12105] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ActualSessionTimeout' ObjectIdNames[12106] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_MaxResponseMessageSize' ObjectIdNames[12107] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ClientConnectionTime' ObjectIdNames[12108] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ClientLastContactTime' ObjectIdNames[12109] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CurrentSubscriptionsCount' ObjectIdNames[12110] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CurrentMonitoredItemsCount' ObjectIdNames[12111] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CurrentPublishRequestsInQueue' ObjectIdNames[12112] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_TotalRequestCount' ObjectIdNames[12113] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_UnauthorizedRequestCount' ObjectIdNames[12114] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ReadCount' ObjectIdNames[12115] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_HistoryReadCount' ObjectIdNames[12116] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_WriteCount' ObjectIdNames[12117] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_HistoryUpdateCount' ObjectIdNames[12118] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CallCount' ObjectIdNames[12119] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CreateMonitoredItemsCount' ObjectIdNames[12120] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ModifyMonitoredItemsCount' ObjectIdNames[12121] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SetMonitoringModeCount' ObjectIdNames[12122] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SetTriggeringCount' ObjectIdNames[12123] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_DeleteMonitoredItemsCount' ObjectIdNames[12124] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CreateSubscriptionCount' ObjectIdNames[12125] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ModifySubscriptionCount' ObjectIdNames[12126] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SetPublishingModeCount' ObjectIdNames[12127] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_PublishCount' ObjectIdNames[12128] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_RepublishCount' ObjectIdNames[12129] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_TransferSubscriptionsCount' ObjectIdNames[12130] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_DeleteSubscriptionsCount' ObjectIdNames[12131] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_AddNodesCount' ObjectIdNames[12132] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_AddReferencesCount' ObjectIdNames[12133] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_DeleteNodesCount' ObjectIdNames[12134] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_DeleteReferencesCount' ObjectIdNames[12135] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_BrowseCount' ObjectIdNames[12136] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_BrowseNextCount' ObjectIdNames[12137] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_TranslateBrowsePathsToNodeIdsCount' ObjectIdNames[12138] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_QueryFirstCount' ObjectIdNames[12139] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_QueryNextCount' ObjectIdNames[12140] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_RegisterNodesCount' ObjectIdNames[12141] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_UnregisterNodesCount' ObjectIdNames[12142] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics' ObjectIdNames[12143] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_SessionId' ObjectIdNames[12144] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_ClientUserIdOfSession' ObjectIdNames[12145] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_ClientUserIdHistory' ObjectIdNames[12146] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_AuthenticationMechanism' ObjectIdNames[12147] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_Encoding' ObjectIdNames[12148] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_TransportProtocol' ObjectIdNames[12149] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_SecurityMode' ObjectIdNames[12150] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_SecurityPolicyUri' ObjectIdNames[12151] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_ClientCertificate' ObjectIdNames[12152] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SubscriptionDiagnosticsArray' ObjectIdNames[12153] = 'ServerType_ServerCapabilities_OperationLimits_MaxNodesPerHistoryReadData' ObjectIdNames[12154] = 'ServerType_ServerCapabilities_OperationLimits_MaxNodesPerHistoryReadEvents' ObjectIdNames[12155] = 'ServerType_ServerCapabilities_OperationLimits_MaxNodesPerHistoryUpdateData' ObjectIdNames[12156] = 'ServerType_ServerCapabilities_OperationLimits_MaxNodesPerHistoryUpdateEvents' ObjectIdNames[12157] = 'ServerCapabilitiesType_OperationLimits_MaxNodesPerHistoryReadData' ObjectIdNames[12158] = 'ServerCapabilitiesType_OperationLimits_MaxNodesPerHistoryReadEvents' ObjectIdNames[12159] = 'ServerCapabilitiesType_OperationLimits_MaxNodesPerHistoryUpdateData' ObjectIdNames[12160] = 'ServerCapabilitiesType_OperationLimits_MaxNodesPerHistoryUpdateEvents' ObjectIdNames[12161] = 'OperationLimitsType_MaxNodesPerHistoryReadData' ObjectIdNames[12162] = 'OperationLimitsType_MaxNodesPerHistoryReadEvents' ObjectIdNames[12163] = 'OperationLimitsType_MaxNodesPerHistoryUpdateData' ObjectIdNames[12164] = 'OperationLimitsType_MaxNodesPerHistoryUpdateEvents' ObjectIdNames[12165] = 'Server_ServerCapabilities_OperationLimits_MaxNodesPerHistoryReadData' ObjectIdNames[12166] = 'Server_ServerCapabilities_OperationLimits_MaxNodesPerHistoryReadEvents' ObjectIdNames[12167] = 'Server_ServerCapabilities_OperationLimits_MaxNodesPerHistoryUpdateData' ObjectIdNames[12168] = 'Server_ServerCapabilities_OperationLimits_MaxNodesPerHistoryUpdateEvents' ObjectIdNames[12169] = 'NamingRuleType_EnumValues' ObjectIdNames[12170] = 'ViewVersion' ObjectIdNames[12171] = 'ComplexNumberType' ObjectIdNames[12172] = 'DoubleComplexNumberType' ObjectIdNames[12173] = 'ComplexNumberType_Encoding_DefaultXml' ObjectIdNames[12174] = 'DoubleComplexNumberType_Encoding_DefaultXml' ObjectIdNames[12175] = 'OpcUa_XmlSchema_ComplexNumberType' ObjectIdNames[12176] = 'OpcUa_XmlSchema_ComplexNumberType_DataTypeVersion' ObjectIdNames[12177] = 'OpcUa_XmlSchema_ComplexNumberType_DictionaryFragment' ObjectIdNames[12178] = 'OpcUa_XmlSchema_DoubleComplexNumberType' ObjectIdNames[12179] = 'OpcUa_XmlSchema_DoubleComplexNumberType_DataTypeVersion' ObjectIdNames[12180] = 'OpcUa_XmlSchema_DoubleComplexNumberType_DictionaryFragment' ObjectIdNames[12181] = 'ComplexNumberType_Encoding_DefaultBinary' ObjectIdNames[12182] = 'DoubleComplexNumberType_Encoding_DefaultBinary' ObjectIdNames[12183] = 'OpcUa_BinarySchema_ComplexNumberType' ObjectIdNames[12184] = 'OpcUa_BinarySchema_ComplexNumberType_DataTypeVersion' ObjectIdNames[12185] = 'OpcUa_BinarySchema_ComplexNumberType_DictionaryFragment' ObjectIdNames[12186] = 'OpcUa_BinarySchema_DoubleComplexNumberType' ObjectIdNames[12187] = 'OpcUa_BinarySchema_DoubleComplexNumberType_DataTypeVersion' ObjectIdNames[12188] = 'OpcUa_BinarySchema_DoubleComplexNumberType_DictionaryFragment' ObjectIdNames[12189] = 'ServerOnNetwork' ObjectIdNames[12190] = 'FindServersOnNetworkRequest' ObjectIdNames[12191] = 'FindServersOnNetworkResponse' ObjectIdNames[12193] = 'RegisterServer2Request' ObjectIdNames[12194] = 'RegisterServer2Response' ObjectIdNames[12195] = 'ServerOnNetwork_Encoding_DefaultXml' ObjectIdNames[12196] = 'FindServersOnNetworkRequest_Encoding_DefaultXml' ObjectIdNames[12197] = 'FindServersOnNetworkResponse_Encoding_DefaultXml' ObjectIdNames[12199] = 'RegisterServer2Request_Encoding_DefaultXml' ObjectIdNames[12200] = 'RegisterServer2Response_Encoding_DefaultXml' ObjectIdNames[12201] = 'OpcUa_XmlSchema_ServerOnNetwork' ObjectIdNames[12202] = 'OpcUa_XmlSchema_ServerOnNetwork_DataTypeVersion' ObjectIdNames[12203] = 'OpcUa_XmlSchema_ServerOnNetwork_DictionaryFragment' ObjectIdNames[12207] = 'ServerOnNetwork_Encoding_DefaultBinary' ObjectIdNames[12208] = 'FindServersOnNetworkRequest_Encoding_DefaultBinary' ObjectIdNames[12209] = 'FindServersOnNetworkResponse_Encoding_DefaultBinary' ObjectIdNames[12211] = 'RegisterServer2Request_Encoding_DefaultBinary' ObjectIdNames[12212] = 'RegisterServer2Response_Encoding_DefaultBinary' ObjectIdNames[12213] = 'OpcUa_BinarySchema_ServerOnNetwork' ObjectIdNames[12214] = 'OpcUa_BinarySchema_ServerOnNetwork_DataTypeVersion' ObjectIdNames[12215] = 'OpcUa_BinarySchema_ServerOnNetwork_DictionaryFragment' ObjectIdNames[12502] = 'ProgressEventType_Context' ObjectIdNames[12503] = 'ProgressEventType_Progress' ObjectIdNames[12504] = 'KerberosIdentityToken' ObjectIdNames[12505] = 'KerberosIdentityToken_Encoding_DefaultXml' ObjectIdNames[12506] = 'OpcUa_XmlSchema_KerberosIdentityToken' ObjectIdNames[12507] = 'OpcUa_XmlSchema_KerberosIdentityToken_DataTypeVersion' ObjectIdNames[12508] = 'OpcUa_XmlSchema_KerberosIdentityToken_DictionaryFragment' ObjectIdNames[12509] = 'KerberosIdentityToken_Encoding_DefaultBinary' ObjectIdNames[12510] = 'OpcUa_BinarySchema_KerberosIdentityToken' ObjectIdNames[12511] = 'OpcUa_BinarySchema_KerberosIdentityToken_DataTypeVersion' ObjectIdNames[12512] = 'OpcUa_BinarySchema_KerberosIdentityToken_DictionaryFragment' ObjectIdNames[12513] = 'OpenWithMasksMethodType' ObjectIdNames[12514] = 'OpenWithMasksMethodType_InputArguments' ObjectIdNames[12515] = 'OpenWithMasksMethodType_OutputArguments' ObjectIdNames[12516] = 'CloseAndUpdateMethodType' ObjectIdNames[12517] = 'CloseAndUpdateMethodType_OutputArguments' ObjectIdNames[12518] = 'AddCertificateMethodType' ObjectIdNames[12519] = 'AddCertificateMethodType_InputArguments' ObjectIdNames[12520] = 'RemoveCertificateMethodType' ObjectIdNames[12521] = 'RemoveCertificateMethodType_InputArguments' ObjectIdNames[12522] = 'TrustListType' ObjectIdNames[12523] = 'TrustListType_Size' ObjectIdNames[12526] = 'TrustListType_OpenCount' ObjectIdNames[12527] = 'TrustListType_Open' ObjectIdNames[12528] = 'TrustListType_Open_InputArguments' ObjectIdNames[12529] = 'TrustListType_Open_OutputArguments' ObjectIdNames[12530] = 'TrustListType_Close' ObjectIdNames[12531] = 'TrustListType_Close_InputArguments' ObjectIdNames[12532] = 'TrustListType_Read' ObjectIdNames[12533] = 'TrustListType_Read_InputArguments' ObjectIdNames[12534] = 'TrustListType_Read_OutputArguments' ObjectIdNames[12535] = 'TrustListType_Write' ObjectIdNames[12536] = 'TrustListType_Write_InputArguments' ObjectIdNames[12537] = 'TrustListType_GetPosition' ObjectIdNames[12538] = 'TrustListType_GetPosition_InputArguments' ObjectIdNames[12539] = 'TrustListType_GetPosition_OutputArguments' ObjectIdNames[12540] = 'TrustListType_SetPosition' ObjectIdNames[12541] = 'TrustListType_SetPosition_InputArguments' ObjectIdNames[12542] = 'TrustListType_LastUpdateTime' ObjectIdNames[12543] = 'TrustListType_OpenWithMasks' ObjectIdNames[12544] = 'TrustListType_OpenWithMasks_InputArguments' ObjectIdNames[12545] = 'TrustListType_OpenWithMasks_OutputArguments' ObjectIdNames[12546] = 'TrustListType_CloseAndUpdate' ObjectIdNames[12547] = 'TrustListType_CloseAndUpdate_OutputArguments' ObjectIdNames[12548] = 'TrustListType_AddCertificate' ObjectIdNames[12549] = 'TrustListType_AddCertificate_InputArguments' ObjectIdNames[12550] = 'TrustListType_RemoveCertificate' ObjectIdNames[12551] = 'TrustListType_RemoveCertificate_InputArguments' ObjectIdNames[12552] = 'TrustListMasks' ObjectIdNames[12553] = 'TrustListMasks_EnumValues' ObjectIdNames[12554] = 'TrustListDataType' ObjectIdNames[12555] = 'CertificateGroupType' ObjectIdNames[12556] = 'CertificateType' ObjectIdNames[12557] = 'ApplicationCertificateType' ObjectIdNames[12558] = 'HttpsCertificateType' ObjectIdNames[12559] = 'RsaMinApplicationCertificateType' ObjectIdNames[12560] = 'RsaSha256ApplicationCertificateType' ObjectIdNames[12561] = 'TrustListUpdatedAuditEventType' ObjectIdNames[12562] = 'TrustListUpdatedAuditEventType_EventId' ObjectIdNames[12563] = 'TrustListUpdatedAuditEventType_EventType' ObjectIdNames[12564] = 'TrustListUpdatedAuditEventType_SourceNode' ObjectIdNames[12565] = 'TrustListUpdatedAuditEventType_SourceName' ObjectIdNames[12566] = 'TrustListUpdatedAuditEventType_Time' ObjectIdNames[12567] = 'TrustListUpdatedAuditEventType_ReceiveTime' ObjectIdNames[12568] = 'TrustListUpdatedAuditEventType_LocalTime' ObjectIdNames[12569] = 'TrustListUpdatedAuditEventType_Message' ObjectIdNames[12570] = 'TrustListUpdatedAuditEventType_Severity' ObjectIdNames[12571] = 'TrustListUpdatedAuditEventType_ActionTimeStamp' ObjectIdNames[12572] = 'TrustListUpdatedAuditEventType_Status' ObjectIdNames[12573] = 'TrustListUpdatedAuditEventType_ServerId' ObjectIdNames[12574] = 'TrustListUpdatedAuditEventType_ClientAuditEntryId' ObjectIdNames[12575] = 'TrustListUpdatedAuditEventType_ClientUserId' ObjectIdNames[12576] = 'TrustListUpdatedAuditEventType_MethodId' ObjectIdNames[12577] = 'TrustListUpdatedAuditEventType_InputArguments' ObjectIdNames[12578] = 'UpdateCertificateMethodType' ObjectIdNames[12579] = 'UpdateCertificateMethodType_InputArguments' ObjectIdNames[12580] = 'UpdateCertificateMethodType_OutputArguments' ObjectIdNames[12581] = 'ServerConfigurationType' ObjectIdNames[12583] = 'ServerConfigurationType_SupportedPrivateKeyFormats' ObjectIdNames[12584] = 'ServerConfigurationType_MaxTrustListSize' ObjectIdNames[12585] = 'ServerConfigurationType_MulticastDnsEnabled' ObjectIdNames[12616] = 'ServerConfigurationType_UpdateCertificate' ObjectIdNames[12617] = 'ServerConfigurationType_UpdateCertificate_InputArguments' ObjectIdNames[12618] = 'ServerConfigurationType_UpdateCertificate_OutputArguments' ObjectIdNames[12620] = 'CertificateUpdatedAuditEventType' ObjectIdNames[12621] = 'CertificateUpdatedAuditEventType_EventId' ObjectIdNames[12622] = 'CertificateUpdatedAuditEventType_EventType' ObjectIdNames[12623] = 'CertificateUpdatedAuditEventType_SourceNode' ObjectIdNames[12624] = 'CertificateUpdatedAuditEventType_SourceName' ObjectIdNames[12625] = 'CertificateUpdatedAuditEventType_Time' ObjectIdNames[12626] = 'CertificateUpdatedAuditEventType_ReceiveTime' ObjectIdNames[12627] = 'CertificateUpdatedAuditEventType_LocalTime' ObjectIdNames[12628] = 'CertificateUpdatedAuditEventType_Message' ObjectIdNames[12629] = 'CertificateUpdatedAuditEventType_Severity' ObjectIdNames[12630] = 'CertificateUpdatedAuditEventType_ActionTimeStamp' ObjectIdNames[12631] = 'CertificateUpdatedAuditEventType_Status' ObjectIdNames[12632] = 'CertificateUpdatedAuditEventType_ServerId' ObjectIdNames[12633] = 'CertificateUpdatedAuditEventType_ClientAuditEntryId' ObjectIdNames[12634] = 'CertificateUpdatedAuditEventType_ClientUserId' ObjectIdNames[12635] = 'CertificateUpdatedAuditEventType_MethodId' ObjectIdNames[12636] = 'CertificateUpdatedAuditEventType_InputArguments' ObjectIdNames[12637] = 'ServerConfiguration' ObjectIdNames[12639] = 'ServerConfiguration_SupportedPrivateKeyFormats' ObjectIdNames[12640] = 'ServerConfiguration_MaxTrustListSize' ObjectIdNames[12641] = 'ServerConfiguration_MulticastDnsEnabled' ObjectIdNames[12642] = 'ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList' ObjectIdNames[12643] = 'ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Size' ObjectIdNames[12646] = 'ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_OpenCount' ObjectIdNames[12647] = 'ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Open' ObjectIdNames[12648] = 'ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Open_InputArguments' ObjectIdNames[12649] = 'ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Open_OutputArguments' ObjectIdNames[12650] = 'ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Close' ObjectIdNames[12651] = 'ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Close_InputArguments' ObjectIdNames[12652] = 'ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Read' ObjectIdNames[12653] = 'ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Read_InputArguments' ObjectIdNames[12654] = 'ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Read_OutputArguments' ObjectIdNames[12655] = 'ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Write' ObjectIdNames[12656] = 'ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Write_InputArguments' ObjectIdNames[12657] = 'ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_GetPosition' ObjectIdNames[12658] = 'ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_GetPosition_InputArguments' ObjectIdNames[12659] = 'ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_GetPosition_OutputArguments' ObjectIdNames[12660] = 'ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_SetPosition' ObjectIdNames[12661] = 'ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_SetPosition_InputArguments' ObjectIdNames[12662] = 'ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_LastUpdateTime' ObjectIdNames[12663] = 'ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_OpenWithMasks' ObjectIdNames[12664] = 'ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_OpenWithMasks_InputArguments' ObjectIdNames[12665] = 'ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_OpenWithMasks_OutputArguments' ObjectIdNames[12666] = 'ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_CloseAndUpdate' ObjectIdNames[12667] = 'ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_CloseAndUpdate_OutputArguments' ObjectIdNames[12668] = 'ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_AddCertificate' ObjectIdNames[12669] = 'ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_AddCertificate_InputArguments' ObjectIdNames[12670] = 'ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_RemoveCertificate' ObjectIdNames[12671] = 'ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_RemoveCertificate_InputArguments' ObjectIdNames[12676] = 'TrustListDataType_Encoding_DefaultXml' ObjectIdNames[12677] = 'OpcUa_XmlSchema_TrustListDataType' ObjectIdNames[12678] = 'OpcUa_XmlSchema_TrustListDataType_DataTypeVersion' ObjectIdNames[12679] = 'OpcUa_XmlSchema_TrustListDataType_DictionaryFragment' ObjectIdNames[12680] = 'TrustListDataType_Encoding_DefaultBinary' ObjectIdNames[12681] = 'OpcUa_BinarySchema_TrustListDataType' ObjectIdNames[12682] = 'OpcUa_BinarySchema_TrustListDataType_DataTypeVersion' ObjectIdNames[12683] = 'OpcUa_BinarySchema_TrustListDataType_DictionaryFragment' ObjectIdNames[12684] = 'ServerType_Namespaces_AddressSpaceFile_Writable' ObjectIdNames[12685] = 'ServerType_Namespaces_AddressSpaceFile_UserWritable' ObjectIdNames[12686] = 'FileType_Writable' ObjectIdNames[12687] = 'FileType_UserWritable' ObjectIdNames[12688] = 'AddressSpaceFileType_Writable' ObjectIdNames[12689] = 'AddressSpaceFileType_UserWritable' ObjectIdNames[12690] = 'NamespaceMetadataType_NamespaceFile_Writable' ObjectIdNames[12691] = 'NamespaceMetadataType_NamespaceFile_UserWritable' ObjectIdNames[12692] = 'NamespacesType_NamespaceIdentifier_NamespaceFile_Writable' ObjectIdNames[12693] = 'NamespacesType_NamespaceIdentifier_NamespaceFile_UserWritable' ObjectIdNames[12694] = 'NamespacesType_AddressSpaceFile_Writable' ObjectIdNames[12695] = 'NamespacesType_AddressSpaceFile_UserWritable' ObjectIdNames[12696] = 'Server_Namespaces_AddressSpaceFile_Writable' ObjectIdNames[12697] = 'Server_Namespaces_AddressSpaceFile_UserWritable' ObjectIdNames[12698] = 'TrustListType_Writable' ObjectIdNames[12699] = 'TrustListType_UserWritable' ObjectIdNames[12704] = 'CloseAndUpdateMethodType_InputArguments' ObjectIdNames[12705] = 'TrustListType_CloseAndUpdate_InputArguments' ObjectIdNames[12708] = 'ServerConfigurationType_ServerCapabilities' ObjectIdNames[12710] = 'ServerConfiguration_ServerCapabilities' ObjectIdNames[12712] = 'OpcUa_XmlSchema_RelativePathElement' ObjectIdNames[12713] = 'OpcUa_XmlSchema_RelativePathElement_DataTypeVersion' ObjectIdNames[12714] = 'OpcUa_XmlSchema_RelativePathElement_DictionaryFragment' ObjectIdNames[12715] = 'OpcUa_XmlSchema_RelativePath' ObjectIdNames[12716] = 'OpcUa_XmlSchema_RelativePath_DataTypeVersion' ObjectIdNames[12717] = 'OpcUa_XmlSchema_RelativePath_DictionaryFragment' ObjectIdNames[12718] = 'OpcUa_BinarySchema_RelativePathElement' ObjectIdNames[12719] = 'OpcUa_BinarySchema_RelativePathElement_DataTypeVersion' ObjectIdNames[12720] = 'OpcUa_BinarySchema_RelativePathElement_DictionaryFragment' ObjectIdNames[12721] = 'OpcUa_BinarySchema_RelativePath' ObjectIdNames[12722] = 'OpcUa_BinarySchema_RelativePath_DataTypeVersion' ObjectIdNames[12723] = 'OpcUa_BinarySchema_RelativePath_DictionaryFragment' ObjectIdNames[12731] = 'ServerConfigurationType_CreateSigningRequest' ObjectIdNames[12732] = 'ServerConfigurationType_CreateSigningRequest_InputArguments' ObjectIdNames[12733] = 'ServerConfigurationType_CreateSigningRequest_OutputArguments' ObjectIdNames[12734] = 'ServerConfigurationType_ApplyChanges' ObjectIdNames[12737] = 'ServerConfiguration_CreateSigningRequest' ObjectIdNames[12738] = 'ServerConfiguration_CreateSigningRequest_InputArguments' ObjectIdNames[12739] = 'ServerConfiguration_CreateSigningRequest_OutputArguments' ObjectIdNames[12740] = 'ServerConfiguration_ApplyChanges' ObjectIdNames[12741] = 'CreateSigningRequestMethodType' ObjectIdNames[12742] = 'CreateSigningRequestMethodType_InputArguments' ObjectIdNames[12743] = 'CreateSigningRequestMethodType_OutputArguments' ObjectIdNames[12745] = 'OptionSetValues' ObjectIdNames[12746] = 'ServerType_SetSubscriptionDurable' ObjectIdNames[12747] = 'ServerType_SetSubscriptionDurable_InputArguments' ObjectIdNames[12748] = 'ServerType_SetSubscriptionDurable_OutputArguments' ObjectIdNames[12749] = 'Server_SetSubscriptionDurable' ObjectIdNames[12750] = 'Server_SetSubscriptionDurable_InputArguments' ObjectIdNames[12751] = 'Server_SetSubscriptionDurable_OutputArguments' ObjectIdNames[12752] = 'SetSubscriptionDurableMethodType' ObjectIdNames[12753] = 'SetSubscriptionDurableMethodType_InputArguments' ObjectIdNames[12754] = 'SetSubscriptionDurableMethodType_OutputArguments' ObjectIdNames[12755] = 'OptionSet' ObjectIdNames[12756] = 'Union' ObjectIdNames[12757] = 'OptionSet_Encoding_DefaultXml' ObjectIdNames[12758] = 'Union_Encoding_DefaultXml' ObjectIdNames[12759] = 'OpcUa_XmlSchema_OptionSet' ObjectIdNames[12760] = 'OpcUa_XmlSchema_OptionSet_DataTypeVersion' ObjectIdNames[12761] = 'OpcUa_XmlSchema_OptionSet_DictionaryFragment' ObjectIdNames[12762] = 'OpcUa_XmlSchema_Union' ObjectIdNames[12763] = 'OpcUa_XmlSchema_Union_DataTypeVersion' ObjectIdNames[12764] = 'OpcUa_XmlSchema_Union_DictionaryFragment' ObjectIdNames[12765] = 'OptionSet_Encoding_DefaultBinary' ObjectIdNames[12766] = 'Union_Encoding_DefaultBinary' ObjectIdNames[12767] = 'OpcUa_BinarySchema_OptionSet' ObjectIdNames[12768] = 'OpcUa_BinarySchema_OptionSet_DataTypeVersion' ObjectIdNames[12769] = 'OpcUa_BinarySchema_OptionSet_DictionaryFragment' ObjectIdNames[12770] = 'OpcUa_BinarySchema_Union' ObjectIdNames[12771] = 'OpcUa_BinarySchema_Union_DataTypeVersion' ObjectIdNames[12772] = 'OpcUa_BinarySchema_Union_DictionaryFragment' ObjectIdNames[12773] = 'GetRejectedListMethodType' ObjectIdNames[12774] = 'GetRejectedListMethodType_OutputArguments' ObjectIdNames[12775] = 'ServerConfigurationType_GetRejectedList' ObjectIdNames[12776] = 'ServerConfigurationType_GetRejectedList_OutputArguments' ObjectIdNames[12777] = 'ServerConfiguration_GetRejectedList' ObjectIdNames[12778] = 'ServerConfiguration_GetRejectedList_OutputArguments' ObjectIdNames[12779] = 'SamplingIntervalDiagnosticsArrayType_SamplingIntervalDiagnostics' ObjectIdNames[12780] = 'SamplingIntervalDiagnosticsArrayType_SamplingIntervalDiagnostics_SamplingInterval' ObjectIdNames[12781] = 'SamplingIntervalDiagnosticsArrayType_SamplingIntervalDiagnostics_SampledMonitoredItemsCount' ObjectIdNames[12782] = 'SamplingIntervalDiagnosticsArrayType_SamplingIntervalDiagnostics_MaxSampledMonitoredItemsCount' ObjectIdNames[12783] = 'SamplingIntervalDiagnosticsArrayType_SamplingIntervalDiagnostics_DisabledMonitoredItemsSamplingCount' ObjectIdNames[12784] = 'SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics' ObjectIdNames[12785] = 'SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_SessionId' ObjectIdNames[12786] = 'SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_SubscriptionId' ObjectIdNames[12787] = 'SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_Priority' ObjectIdNames[12788] = 'SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_PublishingInterval' ObjectIdNames[12789] = 'SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_MaxKeepAliveCount' ObjectIdNames[12790] = 'SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_MaxLifetimeCount' ObjectIdNames[12791] = 'SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_MaxNotificationsPerPublish' ObjectIdNames[12792] = 'SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_PublishingEnabled' ObjectIdNames[12793] = 'SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_ModifyCount' ObjectIdNames[12794] = 'SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_EnableCount' ObjectIdNames[12795] = 'SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_DisableCount' ObjectIdNames[12796] = 'SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_RepublishRequestCount' ObjectIdNames[12797] = 'SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_RepublishMessageRequestCount' ObjectIdNames[12798] = 'SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_RepublishMessageCount' ObjectIdNames[12799] = 'SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_TransferRequestCount' ObjectIdNames[12800] = 'SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_TransferredToAltClientCount' ObjectIdNames[12801] = 'SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_TransferredToSameClientCount' ObjectIdNames[12802] = 'SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_PublishRequestCount' ObjectIdNames[12803] = 'SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_DataChangeNotificationsCount' ObjectIdNames[12804] = 'SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_EventNotificationsCount' ObjectIdNames[12805] = 'SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_NotificationsCount' ObjectIdNames[12806] = 'SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_LatePublishRequestCount' ObjectIdNames[12807] = 'SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_CurrentKeepAliveCount' ObjectIdNames[12808] = 'SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_CurrentLifetimeCount' ObjectIdNames[12809] = 'SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_UnacknowledgedMessageCount' ObjectIdNames[12810] = 'SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_DiscardedMessageCount' ObjectIdNames[12811] = 'SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_MonitoredItemCount' ObjectIdNames[12812] = 'SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_DisabledMonitoredItemCount' ObjectIdNames[12813] = 'SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_MonitoringQueueOverflowCount' ObjectIdNames[12814] = 'SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_NextSequenceNumber' ObjectIdNames[12815] = 'SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_EventQueueOverFlowCount' ObjectIdNames[12816] = 'SessionDiagnosticsArrayType_SessionDiagnostics' ObjectIdNames[12817] = 'SessionDiagnosticsArrayType_SessionDiagnostics_SessionId' ObjectIdNames[12818] = 'SessionDiagnosticsArrayType_SessionDiagnostics_SessionName' ObjectIdNames[12819] = 'SessionDiagnosticsArrayType_SessionDiagnostics_ClientDescription' ObjectIdNames[12820] = 'SessionDiagnosticsArrayType_SessionDiagnostics_ServerUri' ObjectIdNames[12821] = 'SessionDiagnosticsArrayType_SessionDiagnostics_EndpointUrl' ObjectIdNames[12822] = 'SessionDiagnosticsArrayType_SessionDiagnostics_LocaleIds' ObjectIdNames[12823] = 'SessionDiagnosticsArrayType_SessionDiagnostics_ActualSessionTimeout' ObjectIdNames[12824] = 'SessionDiagnosticsArrayType_SessionDiagnostics_MaxResponseMessageSize' ObjectIdNames[12825] = 'SessionDiagnosticsArrayType_SessionDiagnostics_ClientConnectionTime' ObjectIdNames[12826] = 'SessionDiagnosticsArrayType_SessionDiagnostics_ClientLastContactTime' ObjectIdNames[12827] = 'SessionDiagnosticsArrayType_SessionDiagnostics_CurrentSubscriptionsCount' ObjectIdNames[12828] = 'SessionDiagnosticsArrayType_SessionDiagnostics_CurrentMonitoredItemsCount' ObjectIdNames[12829] = 'SessionDiagnosticsArrayType_SessionDiagnostics_CurrentPublishRequestsInQueue' ObjectIdNames[12830] = 'SessionDiagnosticsArrayType_SessionDiagnostics_TotalRequestCount' ObjectIdNames[12831] = 'SessionDiagnosticsArrayType_SessionDiagnostics_UnauthorizedRequestCount' ObjectIdNames[12832] = 'SessionDiagnosticsArrayType_SessionDiagnostics_ReadCount' ObjectIdNames[12833] = 'SessionDiagnosticsArrayType_SessionDiagnostics_HistoryReadCount' ObjectIdNames[12834] = 'SessionDiagnosticsArrayType_SessionDiagnostics_WriteCount' ObjectIdNames[12835] = 'SessionDiagnosticsArrayType_SessionDiagnostics_HistoryUpdateCount' ObjectIdNames[12836] = 'SessionDiagnosticsArrayType_SessionDiagnostics_CallCount' ObjectIdNames[12837] = 'SessionDiagnosticsArrayType_SessionDiagnostics_CreateMonitoredItemsCount' ObjectIdNames[12838] = 'SessionDiagnosticsArrayType_SessionDiagnostics_ModifyMonitoredItemsCount' ObjectIdNames[12839] = 'SessionDiagnosticsArrayType_SessionDiagnostics_SetMonitoringModeCount' ObjectIdNames[12840] = 'SessionDiagnosticsArrayType_SessionDiagnostics_SetTriggeringCount' ObjectIdNames[12841] = 'SessionDiagnosticsArrayType_SessionDiagnostics_DeleteMonitoredItemsCount' ObjectIdNames[12842] = 'SessionDiagnosticsArrayType_SessionDiagnostics_CreateSubscriptionCount' ObjectIdNames[12843] = 'SessionDiagnosticsArrayType_SessionDiagnostics_ModifySubscriptionCount' ObjectIdNames[12844] = 'SessionDiagnosticsArrayType_SessionDiagnostics_SetPublishingModeCount' ObjectIdNames[12845] = 'SessionDiagnosticsArrayType_SessionDiagnostics_PublishCount' ObjectIdNames[12846] = 'SessionDiagnosticsArrayType_SessionDiagnostics_RepublishCount' ObjectIdNames[12847] = 'SessionDiagnosticsArrayType_SessionDiagnostics_TransferSubscriptionsCount' ObjectIdNames[12848] = 'SessionDiagnosticsArrayType_SessionDiagnostics_DeleteSubscriptionsCount' ObjectIdNames[12849] = 'SessionDiagnosticsArrayType_SessionDiagnostics_AddNodesCount' ObjectIdNames[12850] = 'SessionDiagnosticsArrayType_SessionDiagnostics_AddReferencesCount' ObjectIdNames[12851] = 'SessionDiagnosticsArrayType_SessionDiagnostics_DeleteNodesCount' ObjectIdNames[12852] = 'SessionDiagnosticsArrayType_SessionDiagnostics_DeleteReferencesCount' ObjectIdNames[12853] = 'SessionDiagnosticsArrayType_SessionDiagnostics_BrowseCount' ObjectIdNames[12854] = 'SessionDiagnosticsArrayType_SessionDiagnostics_BrowseNextCount' ObjectIdNames[12855] = 'SessionDiagnosticsArrayType_SessionDiagnostics_TranslateBrowsePathsToNodeIdsCount' ObjectIdNames[12856] = 'SessionDiagnosticsArrayType_SessionDiagnostics_QueryFirstCount' ObjectIdNames[12857] = 'SessionDiagnosticsArrayType_SessionDiagnostics_QueryNextCount' ObjectIdNames[12858] = 'SessionDiagnosticsArrayType_SessionDiagnostics_RegisterNodesCount' ObjectIdNames[12859] = 'SessionDiagnosticsArrayType_SessionDiagnostics_UnregisterNodesCount' ObjectIdNames[12860] = 'SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics' ObjectIdNames[12861] = 'SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_SessionId' ObjectIdNames[12862] = 'SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_ClientUserIdOfSession' ObjectIdNames[12863] = 'SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_ClientUserIdHistory' ObjectIdNames[12864] = 'SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_AuthenticationMechanism' ObjectIdNames[12865] = 'SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_Encoding' ObjectIdNames[12866] = 'SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_TransportProtocol' ObjectIdNames[12867] = 'SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_SecurityMode' ObjectIdNames[12868] = 'SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_SecurityPolicyUri' ObjectIdNames[12869] = 'SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_ClientCertificate' ObjectIdNames[12871] = 'ServerType_ResendData' ObjectIdNames[12872] = 'ServerType_ResendData_InputArguments' ObjectIdNames[12873] = 'Server_ResendData' ObjectIdNames[12874] = 'Server_ResendData_InputArguments' ObjectIdNames[12875] = 'ResendDataMethodType' ObjectIdNames[12876] = 'ResendDataMethodType_InputArguments' ObjectIdNames[12877] = 'NormalizedString' ObjectIdNames[12878] = 'DecimalString' ObjectIdNames[12879] = 'DurationString' ObjectIdNames[12880] = 'TimeString' ObjectIdNames[12881] = 'DateString' ObjectIdNames[12882] = 'ServerType_EstimatedReturnTime' ObjectIdNames[12883] = 'ServerType_RequestServerStateChange' ObjectIdNames[12884] = 'ServerType_RequestServerStateChange_InputArguments' ObjectIdNames[12885] = 'Server_EstimatedReturnTime' ObjectIdNames[12886] = 'Server_RequestServerStateChange' ObjectIdNames[12887] = 'Server_RequestServerStateChange_InputArguments' ObjectIdNames[12888] = 'RequestServerStateChangeMethodType' ObjectIdNames[12889] = 'RequestServerStateChangeMethodType_InputArguments' ObjectIdNames[12890] = 'DiscoveryConfiguration' ObjectIdNames[12891] = 'MdnsDiscoveryConfiguration' ObjectIdNames[12892] = 'DiscoveryConfiguration_Encoding_DefaultXml' ObjectIdNames[12893] = 'MdnsDiscoveryConfiguration_Encoding_DefaultXml' ObjectIdNames[12894] = 'OpcUa_XmlSchema_DiscoveryConfiguration' ObjectIdNames[12895] = 'OpcUa_XmlSchema_DiscoveryConfiguration_DataTypeVersion' ObjectIdNames[12896] = 'OpcUa_XmlSchema_DiscoveryConfiguration_DictionaryFragment' ObjectIdNames[12897] = 'OpcUa_XmlSchema_MdnsDiscoveryConfiguration' ObjectIdNames[12898] = 'OpcUa_XmlSchema_MdnsDiscoveryConfiguration_DataTypeVersion' ObjectIdNames[12899] = 'OpcUa_XmlSchema_MdnsDiscoveryConfiguration_DictionaryFragment' ObjectIdNames[12900] = 'DiscoveryConfiguration_Encoding_DefaultBinary' ObjectIdNames[12901] = 'MdnsDiscoveryConfiguration_Encoding_DefaultBinary' ObjectIdNames[12902] = 'OpcUa_BinarySchema_DiscoveryConfiguration' ObjectIdNames[12903] = 'OpcUa_BinarySchema_DiscoveryConfiguration_DataTypeVersion' ObjectIdNames[12904] = 'OpcUa_BinarySchema_DiscoveryConfiguration_DictionaryFragment' ObjectIdNames[12905] = 'OpcUa_BinarySchema_MdnsDiscoveryConfiguration' ObjectIdNames[12906] = 'OpcUa_BinarySchema_MdnsDiscoveryConfiguration_DataTypeVersion' ObjectIdNames[12907] = 'OpcUa_BinarySchema_MdnsDiscoveryConfiguration_DictionaryFragment' ObjectIdNames[12908] = 'MaxByteStringLength' ObjectIdNames[12909] = 'ServerType_ServerCapabilities_MaxByteStringLength' ObjectIdNames[12910] = 'ServerCapabilitiesType_MaxByteStringLength' ObjectIdNames[12911] = 'Server_ServerCapabilities_MaxByteStringLength' ObjectIdNames[12912] = 'ConditionType_ConditionRefresh2' ObjectIdNames[12913] = 'ConditionType_ConditionRefresh2_InputArguments' ObjectIdNames[12914] = 'ConditionRefresh2MethodType' ObjectIdNames[12915] = 'ConditionRefresh2MethodType_InputArguments' ObjectIdNames[12916] = 'DialogConditionType_ConditionRefresh2' ObjectIdNames[12917] = 'DialogConditionType_ConditionRefresh2_InputArguments' ObjectIdNames[12918] = 'AcknowledgeableConditionType_ConditionRefresh2' ObjectIdNames[12919] = 'AcknowledgeableConditionType_ConditionRefresh2_InputArguments' ObjectIdNames[12984] = 'AlarmConditionType_ConditionRefresh2' ObjectIdNames[12985] = 'AlarmConditionType_ConditionRefresh2_InputArguments' ObjectIdNames[12986] = 'LimitAlarmType_ConditionRefresh2' ObjectIdNames[12987] = 'LimitAlarmType_ConditionRefresh2_InputArguments' ObjectIdNames[12988] = 'ExclusiveLimitAlarmType_ConditionRefresh2' ObjectIdNames[12989] = 'ExclusiveLimitAlarmType_ConditionRefresh2_InputArguments' ObjectIdNames[12990] = 'NonExclusiveLimitAlarmType_ConditionRefresh2' ObjectIdNames[12991] = 'NonExclusiveLimitAlarmType_ConditionRefresh2_InputArguments' ObjectIdNames[12992] = 'NonExclusiveLevelAlarmType_ConditionRefresh2' ObjectIdNames[12993] = 'NonExclusiveLevelAlarmType_ConditionRefresh2_InputArguments' ObjectIdNames[12994] = 'ExclusiveLevelAlarmType_ConditionRefresh2' ObjectIdNames[12995] = 'ExclusiveLevelAlarmType_ConditionRefresh2_InputArguments' ObjectIdNames[12996] = 'NonExclusiveDeviationAlarmType_ConditionRefresh2' ObjectIdNames[12997] = 'NonExclusiveDeviationAlarmType_ConditionRefresh2_InputArguments' ObjectIdNames[12998] = 'ExclusiveDeviationAlarmType_ConditionRefresh2' ObjectIdNames[12999] = 'ExclusiveDeviationAlarmType_ConditionRefresh2_InputArguments' ObjectIdNames[13000] = 'NonExclusiveRateOfChangeAlarmType_ConditionRefresh2' ObjectIdNames[13001] = 'NonExclusiveRateOfChangeAlarmType_ConditionRefresh2_InputArguments' ObjectIdNames[13002] = 'ExclusiveRateOfChangeAlarmType_ConditionRefresh2' ObjectIdNames[13003] = 'ExclusiveRateOfChangeAlarmType_ConditionRefresh2_InputArguments' ObjectIdNames[13004] = 'DiscreteAlarmType_ConditionRefresh2' ObjectIdNames[13005] = 'DiscreteAlarmType_ConditionRefresh2_InputArguments' ObjectIdNames[13006] = 'OffNormalAlarmType_ConditionRefresh2' ObjectIdNames[13007] = 'OffNormalAlarmType_ConditionRefresh2_InputArguments' ObjectIdNames[13008] = 'SystemOffNormalAlarmType_ConditionRefresh2' ObjectIdNames[13009] = 'SystemOffNormalAlarmType_ConditionRefresh2_InputArguments' ObjectIdNames[13010] = 'TripAlarmType_ConditionRefresh2' ObjectIdNames[13011] = 'TripAlarmType_ConditionRefresh2_InputArguments' ObjectIdNames[13225] = 'CertificateExpirationAlarmType' ObjectIdNames[13226] = 'CertificateExpirationAlarmType_EventId' ObjectIdNames[13227] = 'CertificateExpirationAlarmType_EventType' ObjectIdNames[13228] = 'CertificateExpirationAlarmType_SourceNode' ObjectIdNames[13229] = 'CertificateExpirationAlarmType_SourceName' ObjectIdNames[13230] = 'CertificateExpirationAlarmType_Time' ObjectIdNames[13231] = 'CertificateExpirationAlarmType_ReceiveTime' ObjectIdNames[13232] = 'CertificateExpirationAlarmType_LocalTime' ObjectIdNames[13233] = 'CertificateExpirationAlarmType_Message' ObjectIdNames[13234] = 'CertificateExpirationAlarmType_Severity' ObjectIdNames[13235] = 'CertificateExpirationAlarmType_ConditionClassId' ObjectIdNames[13236] = 'CertificateExpirationAlarmType_ConditionClassName' ObjectIdNames[13237] = 'CertificateExpirationAlarmType_ConditionName' ObjectIdNames[13238] = 'CertificateExpirationAlarmType_BranchId' ObjectIdNames[13239] = 'CertificateExpirationAlarmType_Retain' ObjectIdNames[13240] = 'CertificateExpirationAlarmType_EnabledState' ObjectIdNames[13241] = 'CertificateExpirationAlarmType_EnabledState_Id' ObjectIdNames[13242] = 'CertificateExpirationAlarmType_EnabledState_Name' ObjectIdNames[13243] = 'CertificateExpirationAlarmType_EnabledState_Number' ObjectIdNames[13244] = 'CertificateExpirationAlarmType_EnabledState_EffectiveDisplayName' ObjectIdNames[13245] = 'CertificateExpirationAlarmType_EnabledState_TransitionTime' ObjectIdNames[13246] = 'CertificateExpirationAlarmType_EnabledState_EffectiveTransitionTime' ObjectIdNames[13247] = 'CertificateExpirationAlarmType_EnabledState_TrueState' ObjectIdNames[13248] = 'CertificateExpirationAlarmType_EnabledState_FalseState' ObjectIdNames[13249] = 'CertificateExpirationAlarmType_Quality' ObjectIdNames[13250] = 'CertificateExpirationAlarmType_Quality_SourceTimestamp' ObjectIdNames[13251] = 'CertificateExpirationAlarmType_LastSeverity' ObjectIdNames[13252] = 'CertificateExpirationAlarmType_LastSeverity_SourceTimestamp' ObjectIdNames[13253] = 'CertificateExpirationAlarmType_Comment' ObjectIdNames[13254] = 'CertificateExpirationAlarmType_Comment_SourceTimestamp' ObjectIdNames[13255] = 'CertificateExpirationAlarmType_ClientUserId' ObjectIdNames[13256] = 'CertificateExpirationAlarmType_Disable' ObjectIdNames[13257] = 'CertificateExpirationAlarmType_Enable' ObjectIdNames[13258] = 'CertificateExpirationAlarmType_AddComment' ObjectIdNames[13259] = 'CertificateExpirationAlarmType_AddComment_InputArguments' ObjectIdNames[13260] = 'CertificateExpirationAlarmType_ConditionRefresh' ObjectIdNames[13261] = 'CertificateExpirationAlarmType_ConditionRefresh_InputArguments' ObjectIdNames[13262] = 'CertificateExpirationAlarmType_ConditionRefresh2' ObjectIdNames[13263] = 'CertificateExpirationAlarmType_ConditionRefresh2_InputArguments' ObjectIdNames[13264] = 'CertificateExpirationAlarmType_AckedState' ObjectIdNames[13265] = 'CertificateExpirationAlarmType_AckedState_Id' ObjectIdNames[13266] = 'CertificateExpirationAlarmType_AckedState_Name' ObjectIdNames[13267] = 'CertificateExpirationAlarmType_AckedState_Number' ObjectIdNames[13268] = 'CertificateExpirationAlarmType_AckedState_EffectiveDisplayName' ObjectIdNames[13269] = 'CertificateExpirationAlarmType_AckedState_TransitionTime' ObjectIdNames[13270] = 'CertificateExpirationAlarmType_AckedState_EffectiveTransitionTime' ObjectIdNames[13271] = 'CertificateExpirationAlarmType_AckedState_TrueState' ObjectIdNames[13272] = 'CertificateExpirationAlarmType_AckedState_FalseState' ObjectIdNames[13273] = 'CertificateExpirationAlarmType_ConfirmedState' ObjectIdNames[13274] = 'CertificateExpirationAlarmType_ConfirmedState_Id' ObjectIdNames[13275] = 'CertificateExpirationAlarmType_ConfirmedState_Name' ObjectIdNames[13276] = 'CertificateExpirationAlarmType_ConfirmedState_Number' ObjectIdNames[13277] = 'CertificateExpirationAlarmType_ConfirmedState_EffectiveDisplayName' ObjectIdNames[13278] = 'CertificateExpirationAlarmType_ConfirmedState_TransitionTime' ObjectIdNames[13279] = 'CertificateExpirationAlarmType_ConfirmedState_EffectiveTransitionTime' ObjectIdNames[13280] = 'CertificateExpirationAlarmType_ConfirmedState_TrueState' ObjectIdNames[13281] = 'CertificateExpirationAlarmType_ConfirmedState_FalseState' ObjectIdNames[13282] = 'CertificateExpirationAlarmType_Acknowledge' ObjectIdNames[13283] = 'CertificateExpirationAlarmType_Acknowledge_InputArguments' ObjectIdNames[13284] = 'CertificateExpirationAlarmType_Confirm' ObjectIdNames[13285] = 'CertificateExpirationAlarmType_Confirm_InputArguments' ObjectIdNames[13286] = 'CertificateExpirationAlarmType_ActiveState' ObjectIdNames[13287] = 'CertificateExpirationAlarmType_ActiveState_Id' ObjectIdNames[13288] = 'CertificateExpirationAlarmType_ActiveState_Name' ObjectIdNames[13289] = 'CertificateExpirationAlarmType_ActiveState_Number' ObjectIdNames[13290] = 'CertificateExpirationAlarmType_ActiveState_EffectiveDisplayName' ObjectIdNames[13291] = 'CertificateExpirationAlarmType_ActiveState_TransitionTime' ObjectIdNames[13292] = 'CertificateExpirationAlarmType_ActiveState_EffectiveTransitionTime' ObjectIdNames[13293] = 'CertificateExpirationAlarmType_ActiveState_TrueState' ObjectIdNames[13294] = 'CertificateExpirationAlarmType_ActiveState_FalseState' ObjectIdNames[13295] = 'CertificateExpirationAlarmType_InputNode' ObjectIdNames[13296] = 'CertificateExpirationAlarmType_SuppressedState' ObjectIdNames[13297] = 'CertificateExpirationAlarmType_SuppressedState_Id' ObjectIdNames[13298] = 'CertificateExpirationAlarmType_SuppressedState_Name' ObjectIdNames[13299] = 'CertificateExpirationAlarmType_SuppressedState_Number' ObjectIdNames[13300] = 'CertificateExpirationAlarmType_SuppressedState_EffectiveDisplayName' ObjectIdNames[13301] = 'CertificateExpirationAlarmType_SuppressedState_TransitionTime' ObjectIdNames[13302] = 'CertificateExpirationAlarmType_SuppressedState_EffectiveTransitionTime' ObjectIdNames[13303] = 'CertificateExpirationAlarmType_SuppressedState_TrueState' ObjectIdNames[13304] = 'CertificateExpirationAlarmType_SuppressedState_FalseState' ObjectIdNames[13305] = 'CertificateExpirationAlarmType_ShelvingState' ObjectIdNames[13306] = 'CertificateExpirationAlarmType_ShelvingState_CurrentState' ObjectIdNames[13307] = 'CertificateExpirationAlarmType_ShelvingState_CurrentState_Id' ObjectIdNames[13308] = 'CertificateExpirationAlarmType_ShelvingState_CurrentState_Name' ObjectIdNames[13309] = 'CertificateExpirationAlarmType_ShelvingState_CurrentState_Number' ObjectIdNames[13310] = 'CertificateExpirationAlarmType_ShelvingState_CurrentState_EffectiveDisplayName' ObjectIdNames[13311] = 'CertificateExpirationAlarmType_ShelvingState_LastTransition' ObjectIdNames[13312] = 'CertificateExpirationAlarmType_ShelvingState_LastTransition_Id' ObjectIdNames[13313] = 'CertificateExpirationAlarmType_ShelvingState_LastTransition_Name' ObjectIdNames[13314] = 'CertificateExpirationAlarmType_ShelvingState_LastTransition_Number' ObjectIdNames[13315] = 'CertificateExpirationAlarmType_ShelvingState_LastTransition_TransitionTime' ObjectIdNames[13316] = 'CertificateExpirationAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime' ObjectIdNames[13317] = 'CertificateExpirationAlarmType_ShelvingState_UnshelveTime' ObjectIdNames[13318] = 'CertificateExpirationAlarmType_ShelvingState_Unshelve' ObjectIdNames[13319] = 'CertificateExpirationAlarmType_ShelvingState_OneShotShelve' ObjectIdNames[13320] = 'CertificateExpirationAlarmType_ShelvingState_TimedShelve' ObjectIdNames[13321] = 'CertificateExpirationAlarmType_ShelvingState_TimedShelve_InputArguments' ObjectIdNames[13322] = 'CertificateExpirationAlarmType_SuppressedOrShelved' ObjectIdNames[13323] = 'CertificateExpirationAlarmType_MaxTimeShelved' ObjectIdNames[13324] = 'CertificateExpirationAlarmType_NormalState' ObjectIdNames[13325] = 'CertificateExpirationAlarmType_ExpirationDate' ObjectIdNames[13326] = 'CertificateExpirationAlarmType_CertificateType' ObjectIdNames[13327] = 'CertificateExpirationAlarmType_Certificate' ObjectIdNames[13340] = 'ServerType_Namespaces_AddressSpaceFile_MimeType' ObjectIdNames[13341] = 'FileType_MimeType' ObjectIdNames[13342] = 'CreateDirectoryMethodType' ObjectIdNames[13343] = 'CreateDirectoryMethodType_InputArguments' ObjectIdNames[13344] = 'CreateDirectoryMethodType_OutputArguments' ObjectIdNames[13345] = 'CreateFileMethodType' ObjectIdNames[13346] = 'CreateFileMethodType_InputArguments' ObjectIdNames[13347] = 'CreateFileMethodType_OutputArguments' ObjectIdNames[13348] = 'DeleteFileMethodType' ObjectIdNames[13349] = 'DeleteFileMethodType_InputArguments' ObjectIdNames[13350] = 'MoveOrCopyMethodType' ObjectIdNames[13351] = 'MoveOrCopyMethodType_InputArguments' ObjectIdNames[13352] = 'MoveOrCopyMethodType_OutputArguments' ObjectIdNames[13353] = 'FileDirectoryType' ObjectIdNames[13354] = 'FileDirectoryType_xFileDirectoryNamex' ObjectIdNames[13355] = 'FileDirectoryType_xFileDirectoryNamex_CreateDirectory' ObjectIdNames[13356] = 'FileDirectoryType_xFileDirectoryNamex_CreateDirectory_InputArguments' ObjectIdNames[13357] = 'FileDirectoryType_xFileDirectoryNamex_CreateDirectory_OutputArguments' ObjectIdNames[13358] = 'FileDirectoryType_xFileDirectoryNamex_CreateFile' ObjectIdNames[13359] = 'FileDirectoryType_xFileDirectoryNamex_CreateFile_InputArguments' ObjectIdNames[13360] = 'FileDirectoryType_xFileDirectoryNamex_CreateFile_OutputArguments' ObjectIdNames[13361] = 'FileDirectoryType_xFileDirectoryNamex_Delete' ObjectIdNames[13362] = 'FileDirectoryType_xFileDirectoryNamex_Delete_InputArguments' ObjectIdNames[13363] = 'FileDirectoryType_xFileDirectoryNamex_MoveOrCopy' ObjectIdNames[13364] = 'FileDirectoryType_xFileDirectoryNamex_MoveOrCopy_InputArguments' ObjectIdNames[13365] = 'FileDirectoryType_xFileDirectoryNamex_MoveOrCopy_OutputArguments' ObjectIdNames[13366] = 'FileDirectoryType_xFileNamex' ObjectIdNames[13367] = 'FileDirectoryType_xFileNamex_Size' ObjectIdNames[13368] = 'FileDirectoryType_xFileNamex_Writable' ObjectIdNames[13369] = 'FileDirectoryType_xFileNamex_UserWritable' ObjectIdNames[13370] = 'FileDirectoryType_xFileNamex_OpenCount' ObjectIdNames[13371] = 'FileDirectoryType_xFileNamex_MimeType' ObjectIdNames[13372] = 'FileDirectoryType_xFileNamex_Open' ObjectIdNames[13373] = 'FileDirectoryType_xFileNamex_Open_InputArguments' ObjectIdNames[13374] = 'FileDirectoryType_xFileNamex_Open_OutputArguments' ObjectIdNames[13375] = 'FileDirectoryType_xFileNamex_Close' ObjectIdNames[13376] = 'FileDirectoryType_xFileNamex_Close_InputArguments' ObjectIdNames[13377] = 'FileDirectoryType_xFileNamex_Read' ObjectIdNames[13378] = 'FileDirectoryType_xFileNamex_Read_InputArguments' ObjectIdNames[13379] = 'FileDirectoryType_xFileNamex_Read_OutputArguments' ObjectIdNames[13380] = 'FileDirectoryType_xFileNamex_Write' ObjectIdNames[13381] = 'FileDirectoryType_xFileNamex_Write_InputArguments' ObjectIdNames[13382] = 'FileDirectoryType_xFileNamex_GetPosition' ObjectIdNames[13383] = 'FileDirectoryType_xFileNamex_GetPosition_InputArguments' ObjectIdNames[13384] = 'FileDirectoryType_xFileNamex_GetPosition_OutputArguments' ObjectIdNames[13385] = 'FileDirectoryType_xFileNamex_SetPosition' ObjectIdNames[13386] = 'FileDirectoryType_xFileNamex_SetPosition_InputArguments' ObjectIdNames[13387] = 'FileDirectoryType_CreateDirectory' ObjectIdNames[13388] = 'FileDirectoryType_CreateDirectory_InputArguments' ObjectIdNames[13389] = 'FileDirectoryType_CreateDirectory_OutputArguments' ObjectIdNames[13390] = 'FileDirectoryType_CreateFile' ObjectIdNames[13391] = 'FileDirectoryType_CreateFile_InputArguments' ObjectIdNames[13392] = 'FileDirectoryType_CreateFile_OutputArguments' ObjectIdNames[13393] = 'FileDirectoryType_Delete' ObjectIdNames[13394] = 'FileDirectoryType_Delete_InputArguments' ObjectIdNames[13395] = 'FileDirectoryType_MoveOrCopy' ObjectIdNames[13396] = 'FileDirectoryType_MoveOrCopy_InputArguments' ObjectIdNames[13397] = 'FileDirectoryType_MoveOrCopy_OutputArguments' ObjectIdNames[13398] = 'AddressSpaceFileType_MimeType' ObjectIdNames[13399] = 'NamespaceMetadataType_NamespaceFile_MimeType' ObjectIdNames[13400] = 'NamespacesType_NamespaceIdentifier_NamespaceFile_MimeType' ObjectIdNames[13401] = 'NamespacesType_AddressSpaceFile_MimeType' ObjectIdNames[13402] = 'Server_Namespaces_AddressSpaceFile_MimeType' ObjectIdNames[13403] = 'TrustListType_MimeType' ObjectIdNames[13599] = 'CertificateGroupType_TrustList' ObjectIdNames[13600] = 'CertificateGroupType_TrustList_Size' ObjectIdNames[13601] = 'CertificateGroupType_TrustList_Writable' ObjectIdNames[13602] = 'CertificateGroupType_TrustList_UserWritable' ObjectIdNames[13603] = 'CertificateGroupType_TrustList_OpenCount' ObjectIdNames[13604] = 'CertificateGroupType_TrustList_MimeType' ObjectIdNames[13605] = 'CertificateGroupType_TrustList_Open' ObjectIdNames[13606] = 'CertificateGroupType_TrustList_Open_InputArguments' ObjectIdNames[13607] = 'CertificateGroupType_TrustList_Open_OutputArguments' ObjectIdNames[13608] = 'CertificateGroupType_TrustList_Close' ObjectIdNames[13609] = 'CertificateGroupType_TrustList_Close_InputArguments' ObjectIdNames[13610] = 'CertificateGroupType_TrustList_Read' ObjectIdNames[13611] = 'CertificateGroupType_TrustList_Read_InputArguments' ObjectIdNames[13612] = 'CertificateGroupType_TrustList_Read_OutputArguments' ObjectIdNames[13613] = 'CertificateGroupType_TrustList_Write' ObjectIdNames[13614] = 'CertificateGroupType_TrustList_Write_InputArguments' ObjectIdNames[13615] = 'CertificateGroupType_TrustList_GetPosition' ObjectIdNames[13616] = 'CertificateGroupType_TrustList_GetPosition_InputArguments' ObjectIdNames[13617] = 'CertificateGroupType_TrustList_GetPosition_OutputArguments' ObjectIdNames[13618] = 'CertificateGroupType_TrustList_SetPosition' ObjectIdNames[13619] = 'CertificateGroupType_TrustList_SetPosition_InputArguments' ObjectIdNames[13620] = 'CertificateGroupType_TrustList_LastUpdateTime' ObjectIdNames[13621] = 'CertificateGroupType_TrustList_OpenWithMasks' ObjectIdNames[13622] = 'CertificateGroupType_TrustList_OpenWithMasks_InputArguments' ObjectIdNames[13623] = 'CertificateGroupType_TrustList_OpenWithMasks_OutputArguments' ObjectIdNames[13624] = 'CertificateGroupType_TrustList_CloseAndUpdate' ObjectIdNames[13625] = 'CertificateGroupType_TrustList_CloseAndUpdate_InputArguments' ObjectIdNames[13626] = 'CertificateGroupType_TrustList_CloseAndUpdate_OutputArguments' ObjectIdNames[13627] = 'CertificateGroupType_TrustList_AddCertificate' ObjectIdNames[13628] = 'CertificateGroupType_TrustList_AddCertificate_InputArguments' ObjectIdNames[13629] = 'CertificateGroupType_TrustList_RemoveCertificate' ObjectIdNames[13630] = 'CertificateGroupType_TrustList_RemoveCertificate_InputArguments' ObjectIdNames[13631] = 'CertificateGroupType_CertificateTypes' ObjectIdNames[13735] = 'CertificateUpdatedAuditEventType_CertificateGroup' ObjectIdNames[13736] = 'CertificateUpdatedAuditEventType_CertificateType' ObjectIdNames[13737] = 'ServerConfiguration_UpdateCertificate' ObjectIdNames[13738] = 'ServerConfiguration_UpdateCertificate_InputArguments' ObjectIdNames[13739] = 'ServerConfiguration_UpdateCertificate_OutputArguments' ObjectIdNames[13813] = 'CertificateGroupFolderType' ObjectIdNames[13814] = 'CertificateGroupFolderType_DefaultApplicationGroup' ObjectIdNames[13815] = 'CertificateGroupFolderType_DefaultApplicationGroup_TrustList' ObjectIdNames[13816] = 'CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Size' ObjectIdNames[13817] = 'CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Writable' ObjectIdNames[13818] = 'CertificateGroupFolderType_DefaultApplicationGroup_TrustList_UserWritable' ObjectIdNames[13819] = 'CertificateGroupFolderType_DefaultApplicationGroup_TrustList_OpenCount' ObjectIdNames[13820] = 'CertificateGroupFolderType_DefaultApplicationGroup_TrustList_MimeType' ObjectIdNames[13821] = 'CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Open' ObjectIdNames[13822] = 'CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Open_InputArguments' ObjectIdNames[13823] = 'CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Open_OutputArguments' ObjectIdNames[13824] = 'CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Close' ObjectIdNames[13825] = 'CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Close_InputArguments' ObjectIdNames[13826] = 'CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Read' ObjectIdNames[13827] = 'CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Read_InputArguments' ObjectIdNames[13828] = 'CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Read_OutputArguments' ObjectIdNames[13829] = 'CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Write' ObjectIdNames[13830] = 'CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Write_InputArguments' ObjectIdNames[13831] = 'CertificateGroupFolderType_DefaultApplicationGroup_TrustList_GetPosition' ObjectIdNames[13832] = 'CertificateGroupFolderType_DefaultApplicationGroup_TrustList_GetPosition_InputArguments' ObjectIdNames[13833] = 'CertificateGroupFolderType_DefaultApplicationGroup_TrustList_GetPosition_OutputArguments' ObjectIdNames[13834] = 'CertificateGroupFolderType_DefaultApplicationGroup_TrustList_SetPosition' ObjectIdNames[13835] = 'CertificateGroupFolderType_DefaultApplicationGroup_TrustList_SetPosition_InputArguments' ObjectIdNames[13836] = 'CertificateGroupFolderType_DefaultApplicationGroup_TrustList_LastUpdateTime' ObjectIdNames[13837] = 'CertificateGroupFolderType_DefaultApplicationGroup_TrustList_OpenWithMasks' ObjectIdNames[13838] = 'CertificateGroupFolderType_DefaultApplicationGroup_TrustList_OpenWithMasks_InputArguments' ObjectIdNames[13839] = 'CertificateGroupFolderType_DefaultApplicationGroup_TrustList_OpenWithMasks_OutputArguments' ObjectIdNames[13840] = 'CertificateGroupFolderType_DefaultApplicationGroup_TrustList_CloseAndUpdate' ObjectIdNames[13841] = 'CertificateGroupFolderType_DefaultApplicationGroup_TrustList_CloseAndUpdate_InputArguments' ObjectIdNames[13842] = 'CertificateGroupFolderType_DefaultApplicationGroup_TrustList_CloseAndUpdate_OutputArguments' ObjectIdNames[13843] = 'CertificateGroupFolderType_DefaultApplicationGroup_TrustList_AddCertificate' ObjectIdNames[13844] = 'CertificateGroupFolderType_DefaultApplicationGroup_TrustList_AddCertificate_InputArguments' ObjectIdNames[13845] = 'CertificateGroupFolderType_DefaultApplicationGroup_TrustList_RemoveCertificate' ObjectIdNames[13846] = 'CertificateGroupFolderType_DefaultApplicationGroup_TrustList_RemoveCertificate_InputArguments' ObjectIdNames[13847] = 'CertificateGroupFolderType_DefaultApplicationGroup_CertificateTypes' ObjectIdNames[13848] = 'CertificateGroupFolderType_DefaultHttpsGroup' ObjectIdNames[13849] = 'CertificateGroupFolderType_DefaultHttpsGroup_TrustList' ObjectIdNames[13850] = 'CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Size' ObjectIdNames[13851] = 'CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Writable' ObjectIdNames[13852] = 'CertificateGroupFolderType_DefaultHttpsGroup_TrustList_UserWritable' ObjectIdNames[13853] = 'CertificateGroupFolderType_DefaultHttpsGroup_TrustList_OpenCount' ObjectIdNames[13854] = 'CertificateGroupFolderType_DefaultHttpsGroup_TrustList_MimeType' ObjectIdNames[13855] = 'CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Open' ObjectIdNames[13856] = 'CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Open_InputArguments' ObjectIdNames[13857] = 'CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Open_OutputArguments' ObjectIdNames[13858] = 'CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Close' ObjectIdNames[13859] = 'CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Close_InputArguments' ObjectIdNames[13860] = 'CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Read' ObjectIdNames[13861] = 'CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Read_InputArguments' ObjectIdNames[13862] = 'CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Read_OutputArguments' ObjectIdNames[13863] = 'CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Write' ObjectIdNames[13864] = 'CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Write_InputArguments' ObjectIdNames[13865] = 'CertificateGroupFolderType_DefaultHttpsGroup_TrustList_GetPosition' ObjectIdNames[13866] = 'CertificateGroupFolderType_DefaultHttpsGroup_TrustList_GetPosition_InputArguments' ObjectIdNames[13867] = 'CertificateGroupFolderType_DefaultHttpsGroup_TrustList_GetPosition_OutputArguments' ObjectIdNames[13868] = 'CertificateGroupFolderType_DefaultHttpsGroup_TrustList_SetPosition' ObjectIdNames[13869] = 'CertificateGroupFolderType_DefaultHttpsGroup_TrustList_SetPosition_InputArguments' ObjectIdNames[13870] = 'CertificateGroupFolderType_DefaultHttpsGroup_TrustList_LastUpdateTime' ObjectIdNames[13871] = 'CertificateGroupFolderType_DefaultHttpsGroup_TrustList_OpenWithMasks' ObjectIdNames[13872] = 'CertificateGroupFolderType_DefaultHttpsGroup_TrustList_OpenWithMasks_InputArguments' ObjectIdNames[13873] = 'CertificateGroupFolderType_DefaultHttpsGroup_TrustList_OpenWithMasks_OutputArguments' ObjectIdNames[13874] = 'CertificateGroupFolderType_DefaultHttpsGroup_TrustList_CloseAndUpdate' ObjectIdNames[13875] = 'CertificateGroupFolderType_DefaultHttpsGroup_TrustList_CloseAndUpdate_InputArguments' ObjectIdNames[13876] = 'CertificateGroupFolderType_DefaultHttpsGroup_TrustList_CloseAndUpdate_OutputArguments' ObjectIdNames[13877] = 'CertificateGroupFolderType_DefaultHttpsGroup_TrustList_AddCertificate' ObjectIdNames[13878] = 'CertificateGroupFolderType_DefaultHttpsGroup_TrustList_AddCertificate_InputArguments' ObjectIdNames[13879] = 'CertificateGroupFolderType_DefaultHttpsGroup_TrustList_RemoveCertificate' ObjectIdNames[13880] = 'CertificateGroupFolderType_DefaultHttpsGroup_TrustList_RemoveCertificate_InputArguments' ObjectIdNames[13881] = 'CertificateGroupFolderType_DefaultHttpsGroup_CertificateTypes' ObjectIdNames[13882] = 'CertificateGroupFolderType_DefaultUserTokenGroup' ObjectIdNames[13883] = 'CertificateGroupFolderType_DefaultUserTokenGroup_TrustList' ObjectIdNames[13884] = 'CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Size' ObjectIdNames[13885] = 'CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Writable' ObjectIdNames[13886] = 'CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_UserWritable' ObjectIdNames[13887] = 'CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_OpenCount' ObjectIdNames[13888] = 'CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_MimeType' ObjectIdNames[13889] = 'CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Open' ObjectIdNames[13890] = 'CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Open_InputArguments' ObjectIdNames[13891] = 'CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Open_OutputArguments' ObjectIdNames[13892] = 'CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Close' ObjectIdNames[13893] = 'CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Close_InputArguments' ObjectIdNames[13894] = 'CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Read' ObjectIdNames[13895] = 'CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Read_InputArguments' ObjectIdNames[13896] = 'CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Read_OutputArguments' ObjectIdNames[13897] = 'CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Write' ObjectIdNames[13898] = 'CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Write_InputArguments' ObjectIdNames[13899] = 'CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_GetPosition' ObjectIdNames[13900] = 'CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_GetPosition_InputArguments' ObjectIdNames[13901] = 'CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_GetPosition_OutputArguments' ObjectIdNames[13902] = 'CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_SetPosition' ObjectIdNames[13903] = 'CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_SetPosition_InputArguments' ObjectIdNames[13904] = 'CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_LastUpdateTime' ObjectIdNames[13905] = 'CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_OpenWithMasks' ObjectIdNames[13906] = 'CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_OpenWithMasks_InputArguments' ObjectIdNames[13907] = 'CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_OpenWithMasks_OutputArguments' ObjectIdNames[13908] = 'CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_CloseAndUpdate' ObjectIdNames[13909] = 'CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_CloseAndUpdate_InputArguments' ObjectIdNames[13910] = 'CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_CloseAndUpdate_OutputArguments' ObjectIdNames[13911] = 'CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_AddCertificate' ObjectIdNames[13912] = 'CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_AddCertificate_InputArguments' ObjectIdNames[13913] = 'CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_RemoveCertificate' ObjectIdNames[13914] = 'CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_RemoveCertificate_InputArguments' ObjectIdNames[13915] = 'CertificateGroupFolderType_DefaultUserTokenGroup_CertificateTypes' ObjectIdNames[13916] = 'CertificateGroupFolderType_xCertificateGroupx' ObjectIdNames[13917] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList' ObjectIdNames[13918] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_Size' ObjectIdNames[13919] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_Writable' ObjectIdNames[13920] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_UserWritable' ObjectIdNames[13921] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_OpenCount' ObjectIdNames[13922] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_MimeType' ObjectIdNames[13923] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_Open' ObjectIdNames[13924] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_Open_InputArguments' ObjectIdNames[13925] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_Open_OutputArguments' ObjectIdNames[13926] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_Close' ObjectIdNames[13927] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_Close_InputArguments' ObjectIdNames[13928] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_Read' ObjectIdNames[13929] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_Read_InputArguments' ObjectIdNames[13930] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_Read_OutputArguments' ObjectIdNames[13931] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_Write' ObjectIdNames[13932] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_Write_InputArguments' ObjectIdNames[13933] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_GetPosition' ObjectIdNames[13934] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_GetPosition_InputArguments' ObjectIdNames[13935] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_GetPosition_OutputArguments' ObjectIdNames[13936] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_SetPosition' ObjectIdNames[13937] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_SetPosition_InputArguments' ObjectIdNames[13938] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_LastUpdateTime' ObjectIdNames[13939] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_OpenWithMasks' ObjectIdNames[13940] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_OpenWithMasks_InputArguments' ObjectIdNames[13941] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_OpenWithMasks_OutputArguments' ObjectIdNames[13942] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_CloseAndUpdate' ObjectIdNames[13943] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_CloseAndUpdate_InputArguments' ObjectIdNames[13944] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_CloseAndUpdate_OutputArguments' ObjectIdNames[13945] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_AddCertificate' ObjectIdNames[13946] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_AddCertificate_InputArguments' ObjectIdNames[13947] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_RemoveCertificate' ObjectIdNames[13948] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_RemoveCertificate_InputArguments' ObjectIdNames[13949] = 'CertificateGroupFolderType_xCertificateGroupx_CertificateTypes' ObjectIdNames[13950] = 'ServerConfigurationType_CertificateGroups' ObjectIdNames[13951] = 'ServerConfigurationType_CertificateGroups_DefaultApplicationGroup' ObjectIdNames[13952] = 'ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList' ObjectIdNames[13953] = 'ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Size' ObjectIdNames[13954] = 'ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Writable' ObjectIdNames[13955] = 'ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_UserWritable' ObjectIdNames[13956] = 'ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_OpenCount' ObjectIdNames[13957] = 'ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_MimeType' ObjectIdNames[13958] = 'ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Open' ObjectIdNames[13959] = 'ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Open_InputArguments' ObjectIdNames[13960] = 'ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Open_OutputArguments' ObjectIdNames[13961] = 'ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Close' ObjectIdNames[13962] = 'ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Close_InputArguments' ObjectIdNames[13963] = 'ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Read' ObjectIdNames[13964] = 'ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Read_InputArguments' ObjectIdNames[13965] = 'ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Read_OutputArguments' ObjectIdNames[13966] = 'ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Write' ObjectIdNames[13967] = 'ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Write_InputArguments' ObjectIdNames[13968] = 'ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_GetPosition' ObjectIdNames[13969] = 'ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_GetPosition_InputArguments' ObjectIdNames[13970] = 'ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_GetPosition_OutputArguments' ObjectIdNames[13971] = 'ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_SetPosition' ObjectIdNames[13972] = 'ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_SetPosition_InputArguments' ObjectIdNames[13973] = 'ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_LastUpdateTime' ObjectIdNames[13974] = 'ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_OpenWithMasks' ObjectIdNames[13975] = 'ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_OpenWithMasks_InputArguments' ObjectIdNames[13976] = 'ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_OpenWithMasks_OutputArguments' ObjectIdNames[13977] = 'ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_CloseAndUpdate' ObjectIdNames[13978] = 'ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_CloseAndUpdate_InputArguments' ObjectIdNames[13979] = 'ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_CloseAndUpdate_OutputArguments' ObjectIdNames[13980] = 'ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_AddCertificate' ObjectIdNames[13981] = 'ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_AddCertificate_InputArguments' ObjectIdNames[13982] = 'ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_RemoveCertificate' ObjectIdNames[13983] = 'ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_RemoveCertificate_InputArguments' ObjectIdNames[13984] = 'ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_CertificateTypes' ObjectIdNames[13985] = 'ServerConfigurationType_CertificateGroups_DefaultHttpsGroup' ObjectIdNames[13986] = 'ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList' ObjectIdNames[13987] = 'ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Size' ObjectIdNames[13988] = 'ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Writable' ObjectIdNames[13989] = 'ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_UserWritable' ObjectIdNames[13990] = 'ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_OpenCount' ObjectIdNames[13991] = 'ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_MimeType' ObjectIdNames[13992] = 'ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Open' ObjectIdNames[13993] = 'ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Open_InputArguments' ObjectIdNames[13994] = 'ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Open_OutputArguments' ObjectIdNames[13995] = 'ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Close' ObjectIdNames[13996] = 'ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Close_InputArguments' ObjectIdNames[13997] = 'ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Read' ObjectIdNames[13998] = 'ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Read_InputArguments' ObjectIdNames[13999] = 'ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Read_OutputArguments' ObjectIdNames[14000] = 'ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Write' ObjectIdNames[14001] = 'ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Write_InputArguments' ObjectIdNames[14002] = 'ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_GetPosition' ObjectIdNames[14003] = 'ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_GetPosition_InputArguments' ObjectIdNames[14004] = 'ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_GetPosition_OutputArguments' ObjectIdNames[14005] = 'ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_SetPosition' ObjectIdNames[14006] = 'ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_SetPosition_InputArguments' ObjectIdNames[14007] = 'ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_LastUpdateTime' ObjectIdNames[14008] = 'ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_OpenWithMasks' ObjectIdNames[14009] = 'ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_OpenWithMasks_InputArguments' ObjectIdNames[14010] = 'ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_OpenWithMasks_OutputArguments' ObjectIdNames[14011] = 'ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_CloseAndUpdate' ObjectIdNames[14012] = 'ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_CloseAndUpdate_InputArguments' ObjectIdNames[14013] = 'ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_CloseAndUpdate_OutputArguments' ObjectIdNames[14014] = 'ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_AddCertificate' ObjectIdNames[14015] = 'ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_AddCertificate_InputArguments' ObjectIdNames[14016] = 'ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_RemoveCertificate' ObjectIdNames[14017] = 'ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_RemoveCertificate_InputArguments' ObjectIdNames[14018] = 'ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_CertificateTypes' ObjectIdNames[14019] = 'ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup' ObjectIdNames[14020] = 'ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList' ObjectIdNames[14021] = 'ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Size' ObjectIdNames[14022] = 'ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Writable' ObjectIdNames[14023] = 'ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_UserWritable' ObjectIdNames[14024] = 'ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenCount' ObjectIdNames[14025] = 'ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_MimeType' ObjectIdNames[14026] = 'ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Open' ObjectIdNames[14027] = 'ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Open_InputArguments' ObjectIdNames[14028] = 'ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Open_OutputArguments' ObjectIdNames[14029] = 'ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Close' ObjectIdNames[14030] = 'ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Close_InputArguments' ObjectIdNames[14031] = 'ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Read' ObjectIdNames[14032] = 'ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Read_InputArguments' ObjectIdNames[14033] = 'ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Read_OutputArguments' ObjectIdNames[14034] = 'ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Write' ObjectIdNames[14035] = 'ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Write_InputArguments' ObjectIdNames[14036] = 'ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_GetPosition' ObjectIdNames[14037] = 'ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_GetPosition_InputArguments' ObjectIdNames[14038] = 'ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_GetPosition_OutputArguments' ObjectIdNames[14039] = 'ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_SetPosition' ObjectIdNames[14040] = 'ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_SetPosition_InputArguments' ObjectIdNames[14041] = 'ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_LastUpdateTime' ObjectIdNames[14042] = 'ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenWithMasks' ObjectIdNames[14043] = 'ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenWithMasks_InputArguments' ObjectIdNames[14044] = 'ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenWithMasks_OutputArguments' ObjectIdNames[14045] = 'ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_CloseAndUpdate' ObjectIdNames[14046] = 'ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_CloseAndUpdate_InputArguments' ObjectIdNames[14047] = 'ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_CloseAndUpdate_OutputArguments' ObjectIdNames[14048] = 'ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_AddCertificate' ObjectIdNames[14049] = 'ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_AddCertificate_InputArguments' ObjectIdNames[14050] = 'ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_RemoveCertificate' ObjectIdNames[14051] = 'ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_RemoveCertificate_InputArguments' ObjectIdNames[14052] = 'ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_CertificateTypes' ObjectIdNames[14053] = 'ServerConfiguration_CertificateGroups' ObjectIdNames[14088] = 'ServerConfiguration_CertificateGroups_DefaultHttpsGroup' ObjectIdNames[14089] = 'ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList' ObjectIdNames[14090] = 'ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Size' ObjectIdNames[14091] = 'ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Writable' ObjectIdNames[14092] = 'ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_UserWritable' ObjectIdNames[14093] = 'ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_OpenCount' ObjectIdNames[14094] = 'ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_MimeType' ObjectIdNames[14095] = 'ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Open' ObjectIdNames[14096] = 'ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Open_InputArguments' ObjectIdNames[14097] = 'ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Open_OutputArguments' ObjectIdNames[14098] = 'ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Close' ObjectIdNames[14099] = 'ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Close_InputArguments' ObjectIdNames[14100] = 'ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Read' ObjectIdNames[14101] = 'ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Read_InputArguments' ObjectIdNames[14102] = 'ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Read_OutputArguments' ObjectIdNames[14103] = 'ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Write' ObjectIdNames[14104] = 'ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Write_InputArguments' ObjectIdNames[14105] = 'ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_GetPosition' ObjectIdNames[14106] = 'ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_GetPosition_InputArguments' ObjectIdNames[14107] = 'ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_GetPosition_OutputArguments' ObjectIdNames[14108] = 'ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_SetPosition' ObjectIdNames[14109] = 'ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_SetPosition_InputArguments' ObjectIdNames[14110] = 'ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_LastUpdateTime' ObjectIdNames[14111] = 'ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_OpenWithMasks' ObjectIdNames[14112] = 'ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_OpenWithMasks_InputArguments' ObjectIdNames[14113] = 'ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_OpenWithMasks_OutputArguments' ObjectIdNames[14114] = 'ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_CloseAndUpdate' ObjectIdNames[14115] = 'ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_CloseAndUpdate_InputArguments' ObjectIdNames[14116] = 'ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_CloseAndUpdate_OutputArguments' ObjectIdNames[14117] = 'ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_AddCertificate' ObjectIdNames[14118] = 'ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_AddCertificate_InputArguments' ObjectIdNames[14119] = 'ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_RemoveCertificate' ObjectIdNames[14120] = 'ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_RemoveCertificate_InputArguments' ObjectIdNames[14121] = 'ServerConfiguration_CertificateGroups_DefaultHttpsGroup_CertificateTypes' ObjectIdNames[14122] = 'ServerConfiguration_CertificateGroups_DefaultUserTokenGroup' ObjectIdNames[14123] = 'ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList' ObjectIdNames[14124] = 'ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Size' ObjectIdNames[14125] = 'ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Writable' ObjectIdNames[14126] = 'ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_UserWritable' ObjectIdNames[14127] = 'ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenCount' ObjectIdNames[14128] = 'ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_MimeType' ObjectIdNames[14129] = 'ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Open' ObjectIdNames[14130] = 'ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Open_InputArguments' ObjectIdNames[14131] = 'ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Open_OutputArguments' ObjectIdNames[14132] = 'ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Close' ObjectIdNames[14133] = 'ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Close_InputArguments' ObjectIdNames[14134] = 'ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Read' ObjectIdNames[14135] = 'ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Read_InputArguments' ObjectIdNames[14136] = 'ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Read_OutputArguments' ObjectIdNames[14137] = 'ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Write' ObjectIdNames[14138] = 'ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Write_InputArguments' ObjectIdNames[14139] = 'ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_GetPosition' ObjectIdNames[14140] = 'ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_GetPosition_InputArguments' ObjectIdNames[14141] = 'ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_GetPosition_OutputArguments' ObjectIdNames[14142] = 'ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_SetPosition' ObjectIdNames[14143] = 'ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_SetPosition_InputArguments' ObjectIdNames[14144] = 'ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_LastUpdateTime' ObjectIdNames[14145] = 'ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenWithMasks' ObjectIdNames[14146] = 'ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenWithMasks_InputArguments' ObjectIdNames[14147] = 'ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenWithMasks_OutputArguments' ObjectIdNames[14148] = 'ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_CloseAndUpdate' ObjectIdNames[14149] = 'ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_CloseAndUpdate_InputArguments' ObjectIdNames[14150] = 'ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_CloseAndUpdate_OutputArguments' ObjectIdNames[14151] = 'ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_AddCertificate' ObjectIdNames[14152] = 'ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_AddCertificate_InputArguments' ObjectIdNames[14153] = 'ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_RemoveCertificate' ObjectIdNames[14154] = 'ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_RemoveCertificate_InputArguments' ObjectIdNames[14155] = 'ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_CertificateTypes' ObjectIdNames[14156] = 'ServerConfiguration_CertificateGroups_DefaultApplicationGroup' ObjectIdNames[14157] = 'ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Writable' ObjectIdNames[14158] = 'ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_UserWritable' ObjectIdNames[14159] = 'ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_MimeType' ObjectIdNames[14160] = 'ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_CloseAndUpdate_InputArguments' ObjectIdNames[14161] = 'ServerConfiguration_CertificateGroups_DefaultApplicationGroup_CertificateTypes' ObjectIdNames[14413] = 'AuditCreateSessionEventType_SessionId' ObjectIdNames[14414] = 'AuditUrlMismatchEventType_SessionId' ObjectIdNames[14415] = 'Server_ServerRedundancy_ServerNetworkGroups' python-opcua-0.90.3/opcua/ua/status_codes.py000066400000000000000000001033421310132730300210130ustar00rootroot00000000000000#AUTOGENERATED!!! from opcua.ua.uaerrors import UaStatusCodeError from opcua.ua import ua_binary as uabin class StatusCodes(object): Good = 0 Uncertain = 0x40000000 Bad = 0x80000000 BadUnexpectedError = 0x80010000 BadInternalError = 0x80020000 BadOutOfMemory = 0x80030000 BadResourceUnavailable = 0x80040000 BadCommunicationError = 0x80050000 BadEncodingError = 0x80060000 BadDecodingError = 0x80070000 BadEncodingLimitsExceeded = 0x80080000 BadRequestTooLarge = 0x80B80000 BadResponseTooLarge = 0x80B90000 BadUnknownResponse = 0x80090000 BadTimeout = 0x800A0000 BadServiceUnsupported = 0x800B0000 BadShutdown = 0x800C0000 BadServerNotConnected = 0x800D0000 BadServerHalted = 0x800E0000 BadNothingToDo = 0x800F0000 BadTooManyOperations = 0x80100000 BadTooManyMonitoredItems = 0x80DB0000 BadDataTypeIdUnknown = 0x80110000 BadCertificateInvalid = 0x80120000 BadSecurityChecksFailed = 0x80130000 BadCertificateTimeInvalid = 0x80140000 BadCertificateIssuerTimeInvalid = 0x80150000 BadCertificateHostNameInvalid = 0x80160000 BadCertificateUriInvalid = 0x80170000 BadCertificateUseNotAllowed = 0x80180000 BadCertificateIssuerUseNotAllowed = 0x80190000 BadCertificateUntrusted = 0x801A0000 BadCertificateRevocationUnknown = 0x801B0000 BadCertificateIssuerRevocationUnknown = 0x801C0000 BadCertificateRevoked = 0x801D0000 BadCertificateIssuerRevoked = 0x801E0000 BadCertificateChainIncomplete = 0x810D0000 BadUserAccessDenied = 0x801F0000 BadIdentityTokenInvalid = 0x80200000 BadIdentityTokenRejected = 0x80210000 BadSecureChannelIdInvalid = 0x80220000 BadInvalidTimestamp = 0x80230000 BadNonceInvalid = 0x80240000 BadSessionIdInvalid = 0x80250000 BadSessionClosed = 0x80260000 BadSessionNotActivated = 0x80270000 BadSubscriptionIdInvalid = 0x80280000 BadRequestHeaderInvalid = 0x802A0000 BadTimestampsToReturnInvalid = 0x802B0000 BadRequestCancelledByClient = 0x802C0000 BadTooManyArguments = 0x80E50000 GoodSubscriptionTransferred = 0x002D0000 GoodCompletesAsynchronously = 0x002E0000 GoodOverload = 0x002F0000 GoodClamped = 0x00300000 BadNoCommunication = 0x80310000 BadWaitingForInitialData = 0x80320000 BadNodeIdInvalid = 0x80330000 BadNodeIdUnknown = 0x80340000 BadAttributeIdInvalid = 0x80350000 BadIndexRangeInvalid = 0x80360000 BadIndexRangeNoData = 0x80370000 BadDataEncodingInvalid = 0x80380000 BadDataEncodingUnsupported = 0x80390000 BadNotReadable = 0x803A0000 BadNotWritable = 0x803B0000 BadOutOfRange = 0x803C0000 BadNotSupported = 0x803D0000 BadNotFound = 0x803E0000 BadObjectDeleted = 0x803F0000 BadNotImplemented = 0x80400000 BadMonitoringModeInvalid = 0x80410000 BadMonitoredItemIdInvalid = 0x80420000 BadMonitoredItemFilterInvalid = 0x80430000 BadMonitoredItemFilterUnsupported = 0x80440000 BadFilterNotAllowed = 0x80450000 BadStructureMissing = 0x80460000 BadEventFilterInvalid = 0x80470000 BadContentFilterInvalid = 0x80480000 BadFilterOperatorInvalid = 0x80C10000 BadFilterOperatorUnsupported = 0x80C20000 BadFilterOperandCountMismatch = 0x80C30000 BadFilterOperandInvalid = 0x80490000 BadFilterElementInvalid = 0x80C40000 BadFilterLiteralInvalid = 0x80C50000 BadContinuationPointInvalid = 0x804A0000 BadNoContinuationPoints = 0x804B0000 BadReferenceTypeIdInvalid = 0x804C0000 BadBrowseDirectionInvalid = 0x804D0000 BadNodeNotInView = 0x804E0000 BadServerUriInvalid = 0x804F0000 BadServerNameMissing = 0x80500000 BadDiscoveryUrlMissing = 0x80510000 BadSempahoreFileMissing = 0x80520000 BadRequestTypeInvalid = 0x80530000 BadSecurityModeRejected = 0x80540000 BadSecurityPolicyRejected = 0x80550000 BadTooManySessions = 0x80560000 BadUserSignatureInvalid = 0x80570000 BadApplicationSignatureInvalid = 0x80580000 BadNoValidCertificates = 0x80590000 BadIdentityChangeNotSupported = 0x80C60000 BadRequestCancelledByRequest = 0x805A0000 BadParentNodeIdInvalid = 0x805B0000 BadReferenceNotAllowed = 0x805C0000 BadNodeIdRejected = 0x805D0000 BadNodeIdExists = 0x805E0000 BadNodeClassInvalid = 0x805F0000 BadBrowseNameInvalid = 0x80600000 BadBrowseNameDuplicated = 0x80610000 BadNodeAttributesInvalid = 0x80620000 BadTypeDefinitionInvalid = 0x80630000 BadSourceNodeIdInvalid = 0x80640000 BadTargetNodeIdInvalid = 0x80650000 BadDuplicateReferenceNotAllowed = 0x80660000 BadInvalidSelfReference = 0x80670000 BadReferenceLocalOnly = 0x80680000 BadNoDeleteRights = 0x80690000 UncertainReferenceNotDeleted = 0x40BC0000 BadServerIndexInvalid = 0x806A0000 BadViewIdUnknown = 0x806B0000 BadViewTimestampInvalid = 0x80C90000 BadViewParameterMismatch = 0x80CA0000 BadViewVersionInvalid = 0x80CB0000 UncertainNotAllNodesAvailable = 0x40C00000 GoodResultsMayBeIncomplete = 0x00BA0000 BadNotTypeDefinition = 0x80C80000 UncertainReferenceOutOfServer = 0x406C0000 BadTooManyMatches = 0x806D0000 BadQueryTooComplex = 0x806E0000 BadNoMatch = 0x806F0000 BadMaxAgeInvalid = 0x80700000 BadSecurityModeInsufficient = 0x80E60000 BadHistoryOperationInvalid = 0x80710000 BadHistoryOperationUnsupported = 0x80720000 BadInvalidTimestampArgument = 0x80BD0000 BadWriteNotSupported = 0x80730000 BadTypeMismatch = 0x80740000 BadMethodInvalid = 0x80750000 BadArgumentsMissing = 0x80760000 BadTooManySubscriptions = 0x80770000 BadTooManyPublishRequests = 0x80780000 BadNoSubscription = 0x80790000 BadSequenceNumberUnknown = 0x807A0000 BadMessageNotAvailable = 0x807B0000 BadInsufficientClientProfile = 0x807C0000 BadStateNotActive = 0x80BF0000 BadTcpServerTooBusy = 0x807D0000 BadTcpMessageTypeInvalid = 0x807E0000 BadTcpSecureChannelUnknown = 0x807F0000 BadTcpMessageTooLarge = 0x80800000 BadTcpNotEnoughResources = 0x80810000 BadTcpInternalError = 0x80820000 BadTcpEndpointUrlInvalid = 0x80830000 BadRequestInterrupted = 0x80840000 BadRequestTimeout = 0x80850000 BadSecureChannelClosed = 0x80860000 BadSecureChannelTokenUnknown = 0x80870000 BadSequenceNumberInvalid = 0x80880000 BadProtocolVersionUnsupported = 0x80BE0000 BadConfigurationError = 0x80890000 BadNotConnected = 0x808A0000 BadDeviceFailure = 0x808B0000 BadSensorFailure = 0x808C0000 BadOutOfService = 0x808D0000 BadDeadbandFilterInvalid = 0x808E0000 UncertainNoCommunicationLastUsableValue = 0x408F0000 UncertainLastUsableValue = 0x40900000 UncertainSubstituteValue = 0x40910000 UncertainInitialValue = 0x40920000 UncertainSensorNotAccurate = 0x40930000 UncertainEngineeringUnitsExceeded = 0x40940000 UncertainSubNormal = 0x40950000 GoodLocalOverride = 0x00960000 BadRefreshInProgress = 0x80970000 BadConditionAlreadyDisabled = 0x80980000 BadConditionAlreadyEnabled = 0x80CC0000 BadConditionDisabled = 0x80990000 BadEventIdUnknown = 0x809A0000 BadEventNotAcknowledgeable = 0x80BB0000 BadDialogNotActive = 0x80CD0000 BadDialogResponseInvalid = 0x80CE0000 BadConditionBranchAlreadyAcked = 0x80CF0000 BadConditionBranchAlreadyConfirmed = 0x80D00000 BadConditionAlreadyShelved = 0x80D10000 BadConditionNotShelved = 0x80D20000 BadShelvingTimeOutOfRange = 0x80D30000 BadNoData = 0x809B0000 BadBoundNotFound = 0x80D70000 BadBoundNotSupported = 0x80D80000 BadDataLost = 0x809D0000 BadDataUnavailable = 0x809E0000 BadEntryExists = 0x809F0000 BadNoEntryExists = 0x80A00000 BadTimestampNotSupported = 0x80A10000 GoodEntryInserted = 0x00A20000 GoodEntryReplaced = 0x00A30000 UncertainDataSubNormal = 0x40A40000 GoodNoData = 0x00A50000 GoodMoreData = 0x00A60000 BadAggregateListMismatch = 0x80D40000 BadAggregateNotSupported = 0x80D50000 BadAggregateInvalidInputs = 0x80D60000 BadAggregateConfigurationRejected = 0x80DA0000 GoodDataIgnored = 0x00D90000 BadRequestNotAllowed = 0x80E40000 GoodEdited = 0x00DC0000 GoodPostActionFailed = 0x00DD0000 UncertainDominantValueChanged = 0x40DE0000 GoodDependentValueChanged = 0x00E00000 BadDominantValueChanged = 0x80E10000 UncertainDependentValueChanged = 0x40E20000 BadDependentValueChanged = 0x80E30000 GoodCommunicationEvent = 0x00A70000 GoodShutdownEvent = 0x00A80000 GoodCallAgain = 0x00A90000 GoodNonCriticalTimeout = 0x00AA0000 BadInvalidArgument = 0x80AB0000 BadConnectionRejected = 0x80AC0000 BadDisconnect = 0x80AD0000 BadConnectionClosed = 0x80AE0000 BadInvalidState = 0x80AF0000 BadEndOfStream = 0x80B00000 BadNoDataAvailable = 0x80B10000 BadWaitingForResponse = 0x80B20000 BadOperationAbandoned = 0x80B30000 BadExpectedStreamToBlock = 0x80B40000 BadWouldBlock = 0x80B50000 BadSyntaxError = 0x80B60000 BadMaxConnectionsReached = 0x80B70000 code_to_name_doc = { 0: ('Good', 'The operation completed successfully.'), 0x40000000: ('Uncertain', 'The operation completed however its outputs may not be usable.'), 0x80000000: ('Bad', 'The operation failed.'), 0x80010000: ('BadUnexpectedError', 'An unexpected error occurred.'), 0x80020000: ('BadInternalError', 'An internal error occurred as a result of a programming or configuration error.'), 0x80030000: ('BadOutOfMemory', 'Not enough memory to complete the operation.'), 0x80040000: ('BadResourceUnavailable', 'An operating system resource is not available.'), 0x80050000: ('BadCommunicationError', 'A low level communication error occurred.'), 0x80060000: ('BadEncodingError', 'Encoding halted because of invalid data in the objects being serialized.'), 0x80070000: ('BadDecodingError', 'Decoding halted because of invalid data in the stream.'), 0x80080000: ('BadEncodingLimitsExceeded', 'The message encoding/decoding limits imposed by the stack have been exceeded.'), 0x80B80000: ('BadRequestTooLarge', 'The request message size exceeds limits set by the server.'), 0x80B90000: ('BadResponseTooLarge', 'The response message size exceeds limits set by the client.'), 0x80090000: ('BadUnknownResponse', 'An unrecognized response was received from the server.'), 0x800A0000: ('BadTimeout', 'The operation timed out.'), 0x800B0000: ('BadServiceUnsupported', 'The server does not support the requested service.'), 0x800C0000: ('BadShutdown', 'The operation was cancelled because the application is shutting down.'), 0x800D0000: ('BadServerNotConnected', 'The operation could not complete because the client is not connected to the server.'), 0x800E0000: ('BadServerHalted', 'The server has stopped and cannot process any requests.'), 0x800F0000: ('BadNothingToDo', 'There was nothing to do because the client passed a list of operations with no elements.'), 0x80100000: ('BadTooManyOperations', 'The request could not be processed because it specified too many operations.'), 0x80DB0000: ('BadTooManyMonitoredItems', 'The request could not be processed because there are too many monitored items in the subscription.'), 0x80110000: ('BadDataTypeIdUnknown', 'The extension object cannot be (de)serialized because the data type id is not recognized.'), 0x80120000: ('BadCertificateInvalid', 'The certificate provided as a parameter is not valid.'), 0x80130000: ('BadSecurityChecksFailed', 'An error occurred verifying security.'), 0x80140000: ('BadCertificateTimeInvalid', 'The Certificate has expired or is not yet valid.'), 0x80150000: ('BadCertificateIssuerTimeInvalid', 'An Issuer Certificate has expired or is not yet valid.'), 0x80160000: ('BadCertificateHostNameInvalid', 'The HostName used to connect to a Server does not match a HostName in the Certificate.'), 0x80170000: ('BadCertificateUriInvalid', 'The URI specified in the ApplicationDescription does not match the URI in the Certificate.'), 0x80180000: ('BadCertificateUseNotAllowed', 'The Certificate may not be used for the requested operation.'), 0x80190000: ('BadCertificateIssuerUseNotAllowed', 'The Issuer Certificate may not be used for the requested operation.'), 0x801A0000: ('BadCertificateUntrusted', 'The Certificate is not trusted.'), 0x801B0000: ('BadCertificateRevocationUnknown', 'It was not possible to determine if the Certificate has been revoked.'), 0x801C0000: ('BadCertificateIssuerRevocationUnknown', 'It was not possible to determine if the Issuer Certificate has been revoked.'), 0x801D0000: ('BadCertificateRevoked', 'The certificate has been revoked.'), 0x801E0000: ('BadCertificateIssuerRevoked', 'The issuer certificate has been revoked.'), 0x810D0000: ('BadCertificateChainIncomplete', 'The certificate chain is incomplete.'), 0x801F0000: ('BadUserAccessDenied', 'User does not have permission to perform the requested operation.'), 0x80200000: ('BadIdentityTokenInvalid', 'The user identity token is not valid.'), 0x80210000: ('BadIdentityTokenRejected', 'The user identity token is valid but the server has rejected it.'), 0x80220000: ('BadSecureChannelIdInvalid', 'The specified secure channel is no longer valid.'), 0x80230000: ('BadInvalidTimestamp', 'The timestamp is outside the range allowed by the server.'), 0x80240000: ('BadNonceInvalid', 'The nonce does appear to be not a random value or it is not the correct length.'), 0x80250000: ('BadSessionIdInvalid', 'The session id is not valid.'), 0x80260000: ('BadSessionClosed', 'The session was closed by the client.'), 0x80270000: ('BadSessionNotActivated', 'The session cannot be used because ActivateSession has not been called.'), 0x80280000: ('BadSubscriptionIdInvalid', 'The subscription id is not valid.'), 0x802A0000: ('BadRequestHeaderInvalid', 'The header for the request is missing or invalid.'), 0x802B0000: ('BadTimestampsToReturnInvalid', 'The timestamps to return parameter is invalid.'), 0x802C0000: ('BadRequestCancelledByClient', 'The request was cancelled by the client.'), 0x80E50000: ('BadTooManyArguments', 'Too many arguments were provided.'), 0x002D0000: ('GoodSubscriptionTransferred', 'The subscription was transferred to another session.'), 0x002E0000: ('GoodCompletesAsynchronously', 'The processing will complete asynchronously.'), 0x002F0000: ('GoodOverload', 'Sampling has slowed down due to resource limitations.'), 0x00300000: ('GoodClamped', 'The value written was accepted but was clamped.'), 0x80310000: ('BadNoCommunication', 'Communication with the data source is defined, but not established, and there is no last known value available.'), 0x80320000: ('BadWaitingForInitialData', 'Waiting for the server to obtain values from the underlying data source.'), 0x80330000: ('BadNodeIdInvalid', 'The syntax of the node id is not valid.'), 0x80340000: ('BadNodeIdUnknown', 'The node id refers to a node that does not exist in the server address space.'), 0x80350000: ('BadAttributeIdInvalid', 'The attribute is not supported for the specified Node.'), 0x80360000: ('BadIndexRangeInvalid', 'The syntax of the index range parameter is invalid.'), 0x80370000: ('BadIndexRangeNoData', 'No data exists within the range of indexes specified.'), 0x80380000: ('BadDataEncodingInvalid', 'The data encoding is invalid.'), 0x80390000: ('BadDataEncodingUnsupported', 'The server does not support the requested data encoding for the node.'), 0x803A0000: ('BadNotReadable', 'The access level does not allow reading or subscribing to the Node.'), 0x803B0000: ('BadNotWritable', 'The access level does not allow writing to the Node.'), 0x803C0000: ('BadOutOfRange', 'The value was out of range.'), 0x803D0000: ('BadNotSupported', 'The requested operation is not supported.'), 0x803E0000: ('BadNotFound', 'A requested item was not found or a search operation ended without success.'), 0x803F0000: ('BadObjectDeleted', 'The object cannot be used because it has been deleted.'), 0x80400000: ('BadNotImplemented', 'Requested operation is not implemented.'), 0x80410000: ('BadMonitoringModeInvalid', 'The monitoring mode is invalid.'), 0x80420000: ('BadMonitoredItemIdInvalid', 'The monitoring item id does not refer to a valid monitored item.'), 0x80430000: ('BadMonitoredItemFilterInvalid', 'The monitored item filter parameter is not valid.'), 0x80440000: ('BadMonitoredItemFilterUnsupported', 'The server does not support the requested monitored item filter.'), 0x80450000: ('BadFilterNotAllowed', 'A monitoring filter cannot be used in combination with the attribute specified.'), 0x80460000: ('BadStructureMissing', 'A mandatory structured parameter was missing or null.'), 0x80470000: ('BadEventFilterInvalid', 'The event filter is not valid.'), 0x80480000: ('BadContentFilterInvalid', 'The content filter is not valid.'), 0x80C10000: ('BadFilterOperatorInvalid', 'An unregognized operator was provided in a filter.'), 0x80C20000: ('BadFilterOperatorUnsupported', 'A valid operator was provided, but the server does not provide support for this filter operator.'), 0x80C30000: ('BadFilterOperandCountMismatch', 'The number of operands provided for the filter operator was less then expected for the operand provided.'), 0x80490000: ('BadFilterOperandInvalid', 'The operand used in a content filter is not valid.'), 0x80C40000: ('BadFilterElementInvalid', 'The referenced element is not a valid element in the content filter.'), 0x80C50000: ('BadFilterLiteralInvalid', 'The referenced literal is not a valid value.'), 0x804A0000: ('BadContinuationPointInvalid', 'The continuation point provide is longer valid.'), 0x804B0000: ('BadNoContinuationPoints', 'The operation could not be processed because all continuation points have been allocated.'), 0x804C0000: ('BadReferenceTypeIdInvalid', 'The operation could not be processed because all continuation points have been allocated.'), 0x804D0000: ('BadBrowseDirectionInvalid', 'The browse direction is not valid.'), 0x804E0000: ('BadNodeNotInView', 'The node is not part of the view.'), 0x804F0000: ('BadServerUriInvalid', 'The ServerUri is not a valid URI.'), 0x80500000: ('BadServerNameMissing', 'No ServerName was specified.'), 0x80510000: ('BadDiscoveryUrlMissing', 'No DiscoveryUrl was specified.'), 0x80520000: ('BadSempahoreFileMissing', 'The semaphore file specified by the client is not valid.'), 0x80530000: ('BadRequestTypeInvalid', 'The security token request type is not valid.'), 0x80540000: ('BadSecurityModeRejected', 'The security mode does not meet the requirements set by the Server.'), 0x80550000: ('BadSecurityPolicyRejected', 'The security policy does not meet the requirements set by the Server.'), 0x80560000: ('BadTooManySessions', 'The server has reached its maximum number of sessions.'), 0x80570000: ('BadUserSignatureInvalid', 'The user token signature is missing or invalid.'), 0x80580000: ('BadApplicationSignatureInvalid', 'The signature generated with the client certificate is missing or invalid.'), 0x80590000: ('BadNoValidCertificates', 'The client did not provide at least one software certificate that is valid and meets the profile requirements for the server.'), 0x80C60000: ('BadIdentityChangeNotSupported', 'The Server does not support changing the user identity assigned to the session.'), 0x805A0000: ('BadRequestCancelledByRequest', 'The request was cancelled by the client with the Cancel service.'), 0x805B0000: ('BadParentNodeIdInvalid', 'The parent node id does not to refer to a valid node.'), 0x805C0000: ('BadReferenceNotAllowed', 'The reference could not be created because it violates constraints imposed by the data model.'), 0x805D0000: ('BadNodeIdRejected', 'The requested node id was reject because it was either invalid or server does not allow node ids to be specified by the client.'), 0x805E0000: ('BadNodeIdExists', 'The requested node id is already used by another node.'), 0x805F0000: ('BadNodeClassInvalid', 'The node class is not valid.'), 0x80600000: ('BadBrowseNameInvalid', 'The browse name is invalid.'), 0x80610000: ('BadBrowseNameDuplicated', 'The browse name is not unique among nodes that share the same relationship with the parent.'), 0x80620000: ('BadNodeAttributesInvalid', 'The node attributes are not valid for the node class.'), 0x80630000: ('BadTypeDefinitionInvalid', 'The type definition node id does not reference an appropriate type node.'), 0x80640000: ('BadSourceNodeIdInvalid', 'The source node id does not reference a valid node.'), 0x80650000: ('BadTargetNodeIdInvalid', 'The target node id does not reference a valid node.'), 0x80660000: ('BadDuplicateReferenceNotAllowed', 'The reference type between the nodes is already defined.'), 0x80670000: ('BadInvalidSelfReference', 'The server does not allow this type of self reference on this node.'), 0x80680000: ('BadReferenceLocalOnly', 'The reference type is not valid for a reference to a remote server.'), 0x80690000: ('BadNoDeleteRights', 'The server will not allow the node to be deleted.'), 0x40BC0000: ('UncertainReferenceNotDeleted', 'The server was not able to delete all target references.'), 0x806A0000: ('BadServerIndexInvalid', 'The server index is not valid.'), 0x806B0000: ('BadViewIdUnknown', 'The view id does not refer to a valid view node.'), 0x80C90000: ('BadViewTimestampInvalid', 'The view timestamp is not available or not supported.'), 0x80CA0000: ('BadViewParameterMismatch', 'The view parameters are not consistent with each other.'), 0x80CB0000: ('BadViewVersionInvalid', 'The view version is not available or not supported.'), 0x40C00000: ('UncertainNotAllNodesAvailable', 'The list of references may not be complete because the underlying system is not available.'), 0x00BA0000: ('GoodResultsMayBeIncomplete', 'The server should have followed a reference to a node in a remote server but did not. The result set may be incomplete.'), 0x80C80000: ('BadNotTypeDefinition', 'The provided Nodeid was not a type definition nodeid.'), 0x406C0000: ('UncertainReferenceOutOfServer', 'One of the references to follow in the relative path references to a node in the address space in another server.'), 0x806D0000: ('BadTooManyMatches', 'The requested operation has too many matches to return.'), 0x806E0000: ('BadQueryTooComplex', 'The requested operation requires too many resources in the server.'), 0x806F0000: ('BadNoMatch', 'The requested operation has no match to return.'), 0x80700000: ('BadMaxAgeInvalid', 'The max age parameter is invalid.'), 0x80E60000: ('BadSecurityModeInsufficient', 'The operation is not permitted over the current secure channel.'), 0x80710000: ('BadHistoryOperationInvalid', 'The history details parameter is not valid.'), 0x80720000: ('BadHistoryOperationUnsupported', 'The server does not support the requested operation.'), 0x80BD0000: ('BadInvalidTimestampArgument', 'The defined timestamp to return was invalid.'), 0x80730000: ('BadWriteNotSupported', 'The server not does support writing the combination of value, status and timestamps provided.'), 0x80740000: ('BadTypeMismatch', 'The value supplied for the attribute is not of the same type as the attribute"s value.'), 0x80750000: ('BadMethodInvalid', 'The method id does not refer to a method for the specified object.'), 0x80760000: ('BadArgumentsMissing', 'The client did not specify all of the input arguments for the method.'), 0x80770000: ('BadTooManySubscriptions', 'The server has reached its maximum number of subscriptions.'), 0x80780000: ('BadTooManyPublishRequests', 'The server has reached the maximum number of queued publish requests.'), 0x80790000: ('BadNoSubscription', 'There is no subscription available for this session.'), 0x807A0000: ('BadSequenceNumberUnknown', 'The sequence number is unknown to the server.'), 0x807B0000: ('BadMessageNotAvailable', 'The requested notification message is no longer available.'), 0x807C0000: ('BadInsufficientClientProfile', 'The Client of the current Session does not support one or more Profiles that are necessary for the Subscription.'), 0x80BF0000: ('BadStateNotActive', 'The sub-state machine is not currently active.'), 0x807D0000: ('BadTcpServerTooBusy', 'The server cannot process the request because it is too busy.'), 0x807E0000: ('BadTcpMessageTypeInvalid', 'The type of the message specified in the header invalid.'), 0x807F0000: ('BadTcpSecureChannelUnknown', 'The SecureChannelId and/or TokenId are not currently in use.'), 0x80800000: ('BadTcpMessageTooLarge', 'The size of the message specified in the header is too large.'), 0x80810000: ('BadTcpNotEnoughResources', 'There are not enough resources to process the request.'), 0x80820000: ('BadTcpInternalError', 'An internal error occurred.'), 0x80830000: ('BadTcpEndpointUrlInvalid', 'The Server does not recognize the QueryString specified.'), 0x80840000: ('BadRequestInterrupted', 'The request could not be sent because of a network interruption.'), 0x80850000: ('BadRequestTimeout', 'Timeout occurred while processing the request.'), 0x80860000: ('BadSecureChannelClosed', 'The secure channel has been closed.'), 0x80870000: ('BadSecureChannelTokenUnknown', 'The token has expired or is not recognized.'), 0x80880000: ('BadSequenceNumberInvalid', 'The sequence number is not valid.'), 0x80BE0000: ('BadProtocolVersionUnsupported', 'The applications do not have compatible protocol versions.'), 0x80890000: ('BadConfigurationError', 'There is a problem with the configuration that affects the usefulness of the value.'), 0x808A0000: ('BadNotConnected', 'The variable should receive its value from another variable, but has never been configured to do so.'), 0x808B0000: ('BadDeviceFailure', 'There has been a failure in the device/data source that generates the value that has affected the value.'), 0x808C0000: ('BadSensorFailure', 'There has been a failure in the sensor from which the value is derived by the device/data source.'), 0x808D0000: ('BadOutOfService', 'The source of the data is not operational.'), 0x808E0000: ('BadDeadbandFilterInvalid', 'The deadband filter is not valid.'), 0x408F0000: ('UncertainNoCommunicationLastUsableValue', 'Communication to the data source has failed. The variable value is the last value that had a good quality.'), 0x40900000: ('UncertainLastUsableValue', 'Whatever was updating this value has stopped doing so.'), 0x40910000: ('UncertainSubstituteValue', 'The value is an operational value that was manually overwritten.'), 0x40920000: ('UncertainInitialValue', 'The value is an initial value for a variable that normally receives its value from another variable.'), 0x40930000: ('UncertainSensorNotAccurate', 'The value is at one of the sensor limits.'), 0x40940000: ('UncertainEngineeringUnitsExceeded', 'The value is outside of the range of values defined for this parameter.'), 0x40950000: ('UncertainSubNormal', 'The value is derived from multiple sources and has less than the required number of Good sources.'), 0x00960000: ('GoodLocalOverride', 'The value has been overridden.'), 0x80970000: ('BadRefreshInProgress', 'This Condition refresh failed, a Condition refresh operation is already in progress.'), 0x80980000: ('BadConditionAlreadyDisabled', 'This condition has already been disabled.'), 0x80CC0000: ('BadConditionAlreadyEnabled', 'This condition has already been enabled.'), 0x80990000: ('BadConditionDisabled', 'Property not available, this condition is disabled.'), 0x809A0000: ('BadEventIdUnknown', 'The specified event id is not recognized.'), 0x80BB0000: ('BadEventNotAcknowledgeable', 'The event cannot be acknowledged.'), 0x80CD0000: ('BadDialogNotActive', 'The dialog condition is not active.'), 0x80CE0000: ('BadDialogResponseInvalid', 'The response is not valid for the dialog.'), 0x80CF0000: ('BadConditionBranchAlreadyAcked', 'The condition branch has already been acknowledged.'), 0x80D00000: ('BadConditionBranchAlreadyConfirmed', 'The condition branch has already been confirmed.'), 0x80D10000: ('BadConditionAlreadyShelved', 'The condition has already been shelved.'), 0x80D20000: ('BadConditionNotShelved', 'The condition is not currently shelved.'), 0x80D30000: ('BadShelvingTimeOutOfRange', 'The shelving time not within an acceptable range.'), 0x809B0000: ('BadNoData', 'No data exists for the requested time range or event filter.'), 0x80D70000: ('BadBoundNotFound', 'No data found to provide upper or lower bound value.'), 0x80D80000: ('BadBoundNotSupported', 'The server cannot retrieve a bound for the variable.'), 0x809D0000: ('BadDataLost', 'Data is missing due to collection started/stopped/lost.'), 0x809E0000: ('BadDataUnavailable', 'Expected data is unavailable for the requested time range due to an un-mounted volume, an off-line archive or tape, or similar reason for temporary unavailability.'), 0x809F0000: ('BadEntryExists', 'The data or event was not successfully inserted because a matching entry exists.'), 0x80A00000: ('BadNoEntryExists', 'The data or event was not successfully updated because no matching entry exists.'), 0x80A10000: ('BadTimestampNotSupported', 'The client requested history using a timestamp format the server does not support (i.e requested ServerTimestamp when server only supports SourceTimestamp).'), 0x00A20000: ('GoodEntryInserted', 'The data or event was successfully inserted into the historical database.'), 0x00A30000: ('GoodEntryReplaced', 'The data or event field was successfully replaced in the historical database.'), 0x40A40000: ('UncertainDataSubNormal', 'The value is derived from multiple values and has less than the required number of Good values.'), 0x00A50000: ('GoodNoData', 'No data exists for the requested time range or event filter.'), 0x00A60000: ('GoodMoreData', 'The data or event field was successfully replaced in the historical database.'), 0x80D40000: ('BadAggregateListMismatch', 'The requested number of Aggregates does not match the requested number of NodeIds.'), 0x80D50000: ('BadAggregateNotSupported', 'The requested Aggregate is not support by the server.'), 0x80D60000: ('BadAggregateInvalidInputs', 'The aggregate value could not be derived due to invalid data inputs.'), 0x80DA0000: ('BadAggregateConfigurationRejected', 'The aggregate configuration is not valid for specified node.'), 0x00D90000: ('GoodDataIgnored', 'The request pecifies fields which are not valid for the EventType or cannot be saved by the historian.'), 0x80E40000: ('BadRequestNotAllowed', 'The request was rejected by the server because it did not meet the criteria set by the server.'), 0x00DC0000: ('GoodEdited', 'The value does not come from the real source and has been edited by the server.'), 0x00DD0000: ('GoodPostActionFailed', 'There was an error in execution of these post-actions.'), 0x40DE0000: ('UncertainDominantValueChanged', 'The related EngineeringUnit has been changed but the Variable Value is still provided based on the previous unit.'), 0x00E00000: ('GoodDependentValueChanged', 'A dependent value has been changed but the change has not been applied to the device.'), 0x80E10000: ('BadDominantValueChanged', 'The related EngineeringUnit has been changed but this change has not been applied to the device. The Variable Value is still dependent on the previous unit but its status is currently Bad.'), 0x40E20000: ('UncertainDependentValueChanged', 'A dependent value has been changed but the change has not been applied to the device. The quality of the dominant variable is uncertain.'), 0x80E30000: ('BadDependentValueChanged', 'A dependent value has been changed but the change has not been applied to the device. The quality of the dominant variable is Bad.'), 0x00A70000: ('GoodCommunicationEvent', 'The communication layer has raised an event.'), 0x00A80000: ('GoodShutdownEvent', 'The system is shutting down.'), 0x00A90000: ('GoodCallAgain', 'The operation is not finished and needs to be called again.'), 0x00AA0000: ('GoodNonCriticalTimeout', 'A non-critical timeout occurred.'), 0x80AB0000: ('BadInvalidArgument', 'One or more arguments are invalid.'), 0x80AC0000: ('BadConnectionRejected', 'Could not establish a network connection to remote server.'), 0x80AD0000: ('BadDisconnect', 'The server has disconnected from the client.'), 0x80AE0000: ('BadConnectionClosed', 'The network connection has been closed.'), 0x80AF0000: ('BadInvalidState', 'The operation cannot be completed because the object is closed, uninitialized or in some other invalid state.'), 0x80B00000: ('BadEndOfStream', 'Cannot move beyond end of the stream.'), 0x80B10000: ('BadNoDataAvailable', 'No data is currently available for reading from a non-blocking stream.'), 0x80B20000: ('BadWaitingForResponse', 'The asynchronous operation is waiting for a response.'), 0x80B30000: ('BadOperationAbandoned', 'The asynchronous operation was abandoned by the caller.'), 0x80B40000: ('BadExpectedStreamToBlock', 'The stream did not return all data requested (possibly because it is a non-blocking stream).'), 0x80B50000: ('BadWouldBlock', 'Non blocking behaviour is required and the operation would block.'), 0x80B60000: ('BadSyntaxError', 'A value had an invalid syntax.'), 0x80B70000: ('BadMaxConnectionsReached', 'The operation could not be finished because all available connections are in use.'), } def get_name_and_doc(val): if val in code_to_name_doc: return code_to_name_doc[val] else: if uabin.test_bit(val, 31): return 'Bad', 'Unknown StatusCode value: {0}'.format(val) elif uabin.test_bit(val, 30): return 'UncertainIn', 'Unknown StatusCode value: {0}'.format(val) else: return 'Good', 'Unknown StatusCode value: {0}'.format(val) python-opcua-0.90.3/opcua/ua/ua_binary.py000066400000000000000000000202571310132730300202670ustar00rootroot00000000000000""" Binary protocol specific functions and constants """ import sys import struct import logging from datetime import datetime, timedelta, tzinfo, MAXYEAR from calendar import timegm import uuid from opcua.ua.uaerrors import UaError if sys.version_info.major > 2: unicode = str logger = logging.getLogger('__name__') EPOCH_AS_FILETIME = 116444736000000000 # January 1, 1970 as MS file time HUNDREDS_OF_NANOSECONDS = 10000000 FILETIME_EPOCH_AS_DATETIME = datetime(1601, 1, 1) def test_bit(data, offset): mask = 1 << offset return data & mask def set_bit(data, offset): mask = 1 << offset return data | mask def unset_bit(data, offset): mask = 1 << offset return data & ~mask class UTC(tzinfo): """ UTC """ def utcoffset(self, dt): return timedelta(0) def tzname(self, dt): return "UTC" def dst(self, dt): return timedelta(0) # method copied from David Buxton sample code def datetime_to_win_epoch(dt): if (dt.tzinfo is None) or (dt.tzinfo.utcoffset(dt) is None): dt = dt.replace(tzinfo=UTC()) ft = EPOCH_AS_FILETIME + (timegm(dt.timetuple()) * HUNDREDS_OF_NANOSECONDS) return ft + (dt.microsecond * 10) def win_epoch_to_datetime(epch): try: return FILETIME_EPOCH_AS_DATETIME + timedelta(microseconds=epch // 10) except OverflowError: # FILETIMEs after 31 Dec 9999 can't be converted to datetime logger.warning("datetime overflow: %s", epch) return datetime(MAXYEAR, 12, 31, 23, 59, 59, 999999) def build_array_format_py2(prefix, length, fmtchar): return prefix + str(length) + fmtchar def build_array_format_py3(prefix, length, fmtchar): return prefix + str(length) + chr(fmtchar) if sys.version_info.major < 3: build_array_format = build_array_format_py2 else: build_array_format = build_array_format_py3 class _Primitive(object): def pack_array(self, array): if array is None: return b'\xff\xff\xff\xff' length = len(array) b = [self.pack(val) for val in array] b.insert(0, Primitives.Int32.pack(length)) return b"".join(b) def unpack_array(self, data): length = Primitives.Int32.unpack(data) if length == -1: return None elif length == 0: return [] else: return [self.unpack(data) for _ in range(length)] class _DateTime(_Primitive): @staticmethod def pack(dt): epch = datetime_to_win_epoch(dt) return Primitives.Int64.pack(epch) @staticmethod def unpack(data): epch = Primitives.Int64.unpack(data) return win_epoch_to_datetime(epch) class _String(_Primitive): @staticmethod def pack(string): if string is None: return Primitives.Int32.pack(-1) if isinstance(string, unicode): string = string.encode('utf-8') length = len(string) return Primitives.Int32.pack(length) + string @staticmethod def unpack(data): b = _Bytes.unpack(data) if sys.version_info.major < 3: return b else: if b is None: return b return b.decode("utf-8") class _Bytes(_Primitive): @staticmethod def pack(data): return _String.pack(data) @staticmethod def unpack(data): length = Primitives.Int32.unpack(data) if length == -1: return None return data.read(length) class _Null(_Primitive): @staticmethod def pack(data): return b"" @staticmethod def unpack(data): return None class _Guid(_Primitive): @staticmethod def pack(guid): # convert python UUID 6 field format to OPC UA 4 field format f1 = Primitives.UInt32.pack(guid.time_low) f2 = Primitives.UInt16.pack(guid.time_mid) f3 = Primitives.UInt16.pack(guid.time_hi_version) f4a = Primitives.Byte.pack(guid.clock_seq_hi_variant) f4b = Primitives.Byte.pack(guid.clock_seq_low) f4c = struct.pack('>Q', guid.node)[2:8] # no primitive .pack available for 6 byte int f4 = f4a+f4b+f4c # concat byte fields b = f1+f2+f3+f4 return b @staticmethod def unpack(data): # convert OPC UA 4 field format to python UUID bytes f1 = struct.pack('>I', Primitives.UInt32.unpack(data)) f2 = struct.pack('>H', Primitives.UInt16.unpack(data)) f3 = struct.pack('>H', Primitives.UInt16.unpack(data)) f4 = data.read(8) # concat byte fields b = f1 + f2 + f3 + f4 return uuid.UUID(bytes=b) class _Primitive1(_Primitive): def __init__(self, fmt): self.struct = struct.Struct(fmt) self.size = self.struct.size self.format = self.struct.format def pack(self, data): return struct.pack(self.format, data) def unpack(self, data): return struct.unpack(self.format, data.read(self.size))[0] #def pack_array(self, array): #""" #Basically the same as the method in _Primitive but MAYBE a bit more efficient.... #""" #if array is None: #return b'\xff\xff\xff\xff' #length = len(array) #if length == 0: #return b'\x00\x00\x00\x00' #if length == 1: #return b'\x01\x00\x00\x00' + self.pack(array[0]) #return struct.pack(build_array_format(" 25: return Primitives.Bytes.pack(value) elif vtype.name == "ExtensionObject": # dependency loop: classes in uaprotocol_auto use Variant defined in this file, # but Variant can contain any object from uaprotocol_auto as ExtensionObject. # Using local import to avoid import loop from opcua.ua import extensionobject_to_binary return extensionobject_to_binary(value) else: try: return value.to_binary() except AttributeError: raise UaError("{0} could not be packed with value {1}".format(vtype, value)) def unpack_uatype(vtype, data): if hasattr(Primitives, vtype.name): st = getattr(Primitives, vtype.name) return st.unpack(data) elif vtype.value > 25: return Primitives.Bytes.unpack(data) elif vtype.name == "ExtensionObject": # dependency loop: classes in uaprotocol_auto use Variant defined in this file, # but Variant can contain any object from uaprotocol_auto as ExtensionObject. # Using local import to avoid import loop from opcua.ua import extensionobject_from_binary return extensionobject_from_binary(data) else: from opcua.ua import uatypes if hasattr(uatypes, vtype.name): klass = getattr(uatypes, vtype.name) return klass.from_binary(data) else: raise UaError("can not unpack unknown vtype {0!s}".format(vtype)) def unpack_uatype_array(vtype, data): if hasattr(Primitives, vtype.name): st = getattr(Primitives, vtype.name) return st.unpack_array(data) else: length = Primitives.Int32.unpack(data) if length == -1: return None else: return [unpack_uatype(vtype, data) for _ in range(length)] python-opcua-0.90.3/opcua/ua/uaerrors/000077500000000000000000000000001310132730300176005ustar00rootroot00000000000000python-opcua-0.90.3/opcua/ua/uaerrors/__init__.py000066400000000000000000000000521310132730300217060ustar00rootroot00000000000000from ._base import * from ._auto import * python-opcua-0.90.3/opcua/ua/uaerrors/_auto.py000066400000000000000000000334351310132730300212710ustar00rootroot00000000000000#AUTOGENERATED!!! from opcua.ua.uaerrors import UaStatusCodeError class Bad(UaStatusCodeError): code = 0x80000000 class BadUnexpectedError(UaStatusCodeError): code = 0x80010000 class BadInternalError(UaStatusCodeError): code = 0x80020000 class BadOutOfMemory(UaStatusCodeError): code = 0x80030000 class BadResourceUnavailable(UaStatusCodeError): code = 0x80040000 class BadCommunicationError(UaStatusCodeError): code = 0x80050000 class BadEncodingError(UaStatusCodeError): code = 0x80060000 class BadDecodingError(UaStatusCodeError): code = 0x80070000 class BadEncodingLimitsExceeded(UaStatusCodeError): code = 0x80080000 class BadRequestTooLarge(UaStatusCodeError): code = 0x80B80000 class BadResponseTooLarge(UaStatusCodeError): code = 0x80B90000 class BadUnknownResponse(UaStatusCodeError): code = 0x80090000 class BadTimeout(UaStatusCodeError): code = 0x800A0000 class BadServiceUnsupported(UaStatusCodeError): code = 0x800B0000 class BadShutdown(UaStatusCodeError): code = 0x800C0000 class BadServerNotConnected(UaStatusCodeError): code = 0x800D0000 class BadServerHalted(UaStatusCodeError): code = 0x800E0000 class BadNothingToDo(UaStatusCodeError): code = 0x800F0000 class BadTooManyOperations(UaStatusCodeError): code = 0x80100000 class BadTooManyMonitoredItems(UaStatusCodeError): code = 0x80DB0000 class BadDataTypeIdUnknown(UaStatusCodeError): code = 0x80110000 class BadCertificateInvalid(UaStatusCodeError): code = 0x80120000 class BadSecurityChecksFailed(UaStatusCodeError): code = 0x80130000 class BadCertificateTimeInvalid(UaStatusCodeError): code = 0x80140000 class BadCertificateIssuerTimeInvalid(UaStatusCodeError): code = 0x80150000 class BadCertificateHostNameInvalid(UaStatusCodeError): code = 0x80160000 class BadCertificateUriInvalid(UaStatusCodeError): code = 0x80170000 class BadCertificateUseNotAllowed(UaStatusCodeError): code = 0x80180000 class BadCertificateIssuerUseNotAllowed(UaStatusCodeError): code = 0x80190000 class BadCertificateUntrusted(UaStatusCodeError): code = 0x801A0000 class BadCertificateRevocationUnknown(UaStatusCodeError): code = 0x801B0000 class BadCertificateIssuerRevocationUnknown(UaStatusCodeError): code = 0x801C0000 class BadCertificateRevoked(UaStatusCodeError): code = 0x801D0000 class BadCertificateIssuerRevoked(UaStatusCodeError): code = 0x801E0000 class BadCertificateChainIncomplete(UaStatusCodeError): code = 0x810D0000 class BadUserAccessDenied(UaStatusCodeError): code = 0x801F0000 class BadIdentityTokenInvalid(UaStatusCodeError): code = 0x80200000 class BadIdentityTokenRejected(UaStatusCodeError): code = 0x80210000 class BadSecureChannelIdInvalid(UaStatusCodeError): code = 0x80220000 class BadInvalidTimestamp(UaStatusCodeError): code = 0x80230000 class BadNonceInvalid(UaStatusCodeError): code = 0x80240000 class BadSessionIdInvalid(UaStatusCodeError): code = 0x80250000 class BadSessionClosed(UaStatusCodeError): code = 0x80260000 class BadSessionNotActivated(UaStatusCodeError): code = 0x80270000 class BadSubscriptionIdInvalid(UaStatusCodeError): code = 0x80280000 class BadRequestHeaderInvalid(UaStatusCodeError): code = 0x802A0000 class BadTimestampsToReturnInvalid(UaStatusCodeError): code = 0x802B0000 class BadRequestCancelledByClient(UaStatusCodeError): code = 0x802C0000 class BadTooManyArguments(UaStatusCodeError): code = 0x80E50000 class BadNoCommunication(UaStatusCodeError): code = 0x80310000 class BadWaitingForInitialData(UaStatusCodeError): code = 0x80320000 class BadNodeIdInvalid(UaStatusCodeError): code = 0x80330000 class BadNodeIdUnknown(UaStatusCodeError): code = 0x80340000 class BadAttributeIdInvalid(UaStatusCodeError): code = 0x80350000 class BadIndexRangeInvalid(UaStatusCodeError): code = 0x80360000 class BadIndexRangeNoData(UaStatusCodeError): code = 0x80370000 class BadDataEncodingInvalid(UaStatusCodeError): code = 0x80380000 class BadDataEncodingUnsupported(UaStatusCodeError): code = 0x80390000 class BadNotReadable(UaStatusCodeError): code = 0x803A0000 class BadNotWritable(UaStatusCodeError): code = 0x803B0000 class BadOutOfRange(UaStatusCodeError): code = 0x803C0000 class BadNotSupported(UaStatusCodeError): code = 0x803D0000 class BadNotFound(UaStatusCodeError): code = 0x803E0000 class BadObjectDeleted(UaStatusCodeError): code = 0x803F0000 class BadNotImplemented(UaStatusCodeError): code = 0x80400000 class BadMonitoringModeInvalid(UaStatusCodeError): code = 0x80410000 class BadMonitoredItemIdInvalid(UaStatusCodeError): code = 0x80420000 class BadMonitoredItemFilterInvalid(UaStatusCodeError): code = 0x80430000 class BadMonitoredItemFilterUnsupported(UaStatusCodeError): code = 0x80440000 class BadFilterNotAllowed(UaStatusCodeError): code = 0x80450000 class BadStructureMissing(UaStatusCodeError): code = 0x80460000 class BadEventFilterInvalid(UaStatusCodeError): code = 0x80470000 class BadContentFilterInvalid(UaStatusCodeError): code = 0x80480000 class BadFilterOperatorInvalid(UaStatusCodeError): code = 0x80C10000 class BadFilterOperatorUnsupported(UaStatusCodeError): code = 0x80C20000 class BadFilterOperandCountMismatch(UaStatusCodeError): code = 0x80C30000 class BadFilterOperandInvalid(UaStatusCodeError): code = 0x80490000 class BadFilterElementInvalid(UaStatusCodeError): code = 0x80C40000 class BadFilterLiteralInvalid(UaStatusCodeError): code = 0x80C50000 class BadContinuationPointInvalid(UaStatusCodeError): code = 0x804A0000 class BadNoContinuationPoints(UaStatusCodeError): code = 0x804B0000 class BadReferenceTypeIdInvalid(UaStatusCodeError): code = 0x804C0000 class BadBrowseDirectionInvalid(UaStatusCodeError): code = 0x804D0000 class BadNodeNotInView(UaStatusCodeError): code = 0x804E0000 class BadServerUriInvalid(UaStatusCodeError): code = 0x804F0000 class BadServerNameMissing(UaStatusCodeError): code = 0x80500000 class BadDiscoveryUrlMissing(UaStatusCodeError): code = 0x80510000 class BadSempahoreFileMissing(UaStatusCodeError): code = 0x80520000 class BadRequestTypeInvalid(UaStatusCodeError): code = 0x80530000 class BadSecurityModeRejected(UaStatusCodeError): code = 0x80540000 class BadSecurityPolicyRejected(UaStatusCodeError): code = 0x80550000 class BadTooManySessions(UaStatusCodeError): code = 0x80560000 class BadUserSignatureInvalid(UaStatusCodeError): code = 0x80570000 class BadApplicationSignatureInvalid(UaStatusCodeError): code = 0x80580000 class BadNoValidCertificates(UaStatusCodeError): code = 0x80590000 class BadIdentityChangeNotSupported(UaStatusCodeError): code = 0x80C60000 class BadRequestCancelledByRequest(UaStatusCodeError): code = 0x805A0000 class BadParentNodeIdInvalid(UaStatusCodeError): code = 0x805B0000 class BadReferenceNotAllowed(UaStatusCodeError): code = 0x805C0000 class BadNodeIdRejected(UaStatusCodeError): code = 0x805D0000 class BadNodeIdExists(UaStatusCodeError): code = 0x805E0000 class BadNodeClassInvalid(UaStatusCodeError): code = 0x805F0000 class BadBrowseNameInvalid(UaStatusCodeError): code = 0x80600000 class BadBrowseNameDuplicated(UaStatusCodeError): code = 0x80610000 class BadNodeAttributesInvalid(UaStatusCodeError): code = 0x80620000 class BadTypeDefinitionInvalid(UaStatusCodeError): code = 0x80630000 class BadSourceNodeIdInvalid(UaStatusCodeError): code = 0x80640000 class BadTargetNodeIdInvalid(UaStatusCodeError): code = 0x80650000 class BadDuplicateReferenceNotAllowed(UaStatusCodeError): code = 0x80660000 class BadInvalidSelfReference(UaStatusCodeError): code = 0x80670000 class BadReferenceLocalOnly(UaStatusCodeError): code = 0x80680000 class BadNoDeleteRights(UaStatusCodeError): code = 0x80690000 class BadServerIndexInvalid(UaStatusCodeError): code = 0x806A0000 class BadViewIdUnknown(UaStatusCodeError): code = 0x806B0000 class BadViewTimestampInvalid(UaStatusCodeError): code = 0x80C90000 class BadViewParameterMismatch(UaStatusCodeError): code = 0x80CA0000 class BadViewVersionInvalid(UaStatusCodeError): code = 0x80CB0000 class BadNotTypeDefinition(UaStatusCodeError): code = 0x80C80000 class BadTooManyMatches(UaStatusCodeError): code = 0x806D0000 class BadQueryTooComplex(UaStatusCodeError): code = 0x806E0000 class BadNoMatch(UaStatusCodeError): code = 0x806F0000 class BadMaxAgeInvalid(UaStatusCodeError): code = 0x80700000 class BadSecurityModeInsufficient(UaStatusCodeError): code = 0x80E60000 class BadHistoryOperationInvalid(UaStatusCodeError): code = 0x80710000 class BadHistoryOperationUnsupported(UaStatusCodeError): code = 0x80720000 class BadInvalidTimestampArgument(UaStatusCodeError): code = 0x80BD0000 class BadWriteNotSupported(UaStatusCodeError): code = 0x80730000 class BadTypeMismatch(UaStatusCodeError): code = 0x80740000 class BadMethodInvalid(UaStatusCodeError): code = 0x80750000 class BadArgumentsMissing(UaStatusCodeError): code = 0x80760000 class BadTooManySubscriptions(UaStatusCodeError): code = 0x80770000 class BadTooManyPublishRequests(UaStatusCodeError): code = 0x80780000 class BadNoSubscription(UaStatusCodeError): code = 0x80790000 class BadSequenceNumberUnknown(UaStatusCodeError): code = 0x807A0000 class BadMessageNotAvailable(UaStatusCodeError): code = 0x807B0000 class BadInsufficientClientProfile(UaStatusCodeError): code = 0x807C0000 class BadStateNotActive(UaStatusCodeError): code = 0x80BF0000 class BadTcpServerTooBusy(UaStatusCodeError): code = 0x807D0000 class BadTcpMessageTypeInvalid(UaStatusCodeError): code = 0x807E0000 class BadTcpSecureChannelUnknown(UaStatusCodeError): code = 0x807F0000 class BadTcpMessageTooLarge(UaStatusCodeError): code = 0x80800000 class BadTcpNotEnoughResources(UaStatusCodeError): code = 0x80810000 class BadTcpInternalError(UaStatusCodeError): code = 0x80820000 class BadTcpEndpointUrlInvalid(UaStatusCodeError): code = 0x80830000 class BadRequestInterrupted(UaStatusCodeError): code = 0x80840000 class BadRequestTimeout(UaStatusCodeError): code = 0x80850000 class BadSecureChannelClosed(UaStatusCodeError): code = 0x80860000 class BadSecureChannelTokenUnknown(UaStatusCodeError): code = 0x80870000 class BadSequenceNumberInvalid(UaStatusCodeError): code = 0x80880000 class BadProtocolVersionUnsupported(UaStatusCodeError): code = 0x80BE0000 class BadConfigurationError(UaStatusCodeError): code = 0x80890000 class BadNotConnected(UaStatusCodeError): code = 0x808A0000 class BadDeviceFailure(UaStatusCodeError): code = 0x808B0000 class BadSensorFailure(UaStatusCodeError): code = 0x808C0000 class BadOutOfService(UaStatusCodeError): code = 0x808D0000 class BadDeadbandFilterInvalid(UaStatusCodeError): code = 0x808E0000 class BadRefreshInProgress(UaStatusCodeError): code = 0x80970000 class BadConditionAlreadyDisabled(UaStatusCodeError): code = 0x80980000 class BadConditionAlreadyEnabled(UaStatusCodeError): code = 0x80CC0000 class BadConditionDisabled(UaStatusCodeError): code = 0x80990000 class BadEventIdUnknown(UaStatusCodeError): code = 0x809A0000 class BadEventNotAcknowledgeable(UaStatusCodeError): code = 0x80BB0000 class BadDialogNotActive(UaStatusCodeError): code = 0x80CD0000 class BadDialogResponseInvalid(UaStatusCodeError): code = 0x80CE0000 class BadConditionBranchAlreadyAcked(UaStatusCodeError): code = 0x80CF0000 class BadConditionBranchAlreadyConfirmed(UaStatusCodeError): code = 0x80D00000 class BadConditionAlreadyShelved(UaStatusCodeError): code = 0x80D10000 class BadConditionNotShelved(UaStatusCodeError): code = 0x80D20000 class BadShelvingTimeOutOfRange(UaStatusCodeError): code = 0x80D30000 class BadNoData(UaStatusCodeError): code = 0x809B0000 class BadBoundNotFound(UaStatusCodeError): code = 0x80D70000 class BadBoundNotSupported(UaStatusCodeError): code = 0x80D80000 class BadDataLost(UaStatusCodeError): code = 0x809D0000 class BadDataUnavailable(UaStatusCodeError): code = 0x809E0000 class BadEntryExists(UaStatusCodeError): code = 0x809F0000 class BadNoEntryExists(UaStatusCodeError): code = 0x80A00000 class BadTimestampNotSupported(UaStatusCodeError): code = 0x80A10000 class BadAggregateListMismatch(UaStatusCodeError): code = 0x80D40000 class BadAggregateNotSupported(UaStatusCodeError): code = 0x80D50000 class BadAggregateInvalidInputs(UaStatusCodeError): code = 0x80D60000 class BadAggregateConfigurationRejected(UaStatusCodeError): code = 0x80DA0000 class BadRequestNotAllowed(UaStatusCodeError): code = 0x80E40000 class BadDominantValueChanged(UaStatusCodeError): code = 0x80E10000 class BadDependentValueChanged(UaStatusCodeError): code = 0x80E30000 class BadInvalidArgument(UaStatusCodeError): code = 0x80AB0000 class BadConnectionRejected(UaStatusCodeError): code = 0x80AC0000 class BadDisconnect(UaStatusCodeError): code = 0x80AD0000 class BadConnectionClosed(UaStatusCodeError): code = 0x80AE0000 class BadInvalidState(UaStatusCodeError): code = 0x80AF0000 class BadEndOfStream(UaStatusCodeError): code = 0x80B00000 class BadNoDataAvailable(UaStatusCodeError): code = 0x80B10000 class BadWaitingForResponse(UaStatusCodeError): code = 0x80B20000 class BadOperationAbandoned(UaStatusCodeError): code = 0x80B30000 class BadExpectedStreamToBlock(UaStatusCodeError): code = 0x80B40000 class BadWouldBlock(UaStatusCodeError): code = 0x80B50000 class BadSyntaxError(UaStatusCodeError): code = 0x80B60000 class BadMaxConnectionsReached(UaStatusCodeError): code = 0x80B70000 python-opcua-0.90.3/opcua/ua/uaerrors/_base.py000066400000000000000000000046111310132730300212250ustar00rootroot00000000000000""" Define exceptions to be raised at various places in the stack """ from opcua.compat import with_metaclass class _AutoRegister(type): def __new__(mcs, name, bases, dict): SubClass = type.__new__(mcs, name, bases, dict) # register subclass in bases for base in bases: try: subclasses = base._subclasses code = dict['code'] except (AttributeError, KeyError): pass else: subclasses[code] = SubClass return SubClass class UaError(RuntimeError): pass class UaStatusCodeError(with_metaclass(_AutoRegister, UaError)): """ This exception is raised when a bad status code is encountered. It exposes the status code number in the `code' property, so the user can distinguish between the different status codes and maybe handle some of them. The list of status error codes can be found in opcua.ua.status_codes. """ """ Dict containing all subclasses keyed to their status code. """ _subclasses = {} def __new__(cls, *args): """ Creates a new UaStatusCodeError but returns a more specific subclass if possible, e.g. UaStatusCodeError(0x80010000) => BadUnexpectedError() """ # switch class to a more appropriate subclass if len(args) >= 1: code = args[0] try: cls = cls._subclasses[code] except (KeyError, AttributeError): pass else: args = args[1:] return UaError.__new__(cls, *args) def __init__(self, code=None): """ :param code: The code of the exception. Only needed when not instanciating a concrete subclass such as BadInternalError. """ if code is None: if type(self) is UaStatusCodeError: raise TypeError("UaStatusCodeError(code) cannot be instantiated without a status code.") UaError.__init__(self, code) def __str__(self): # import here to avoid circular import problems import opcua.ua.status_codes as status_codes return "{1}({0})".format(*status_codes.get_name_and_doc(self.code)) @property def code(self): """ The code of the status error. """ return self.args[0] class UaStringParsingError(UaError): pass python-opcua-0.90.3/opcua/ua/uaprotocol_auto.py000066400000000000000000021214151310132730300215350ustar00rootroot00000000000000''' Autogenerate code from xml spec ''' from datetime import datetime from enum import IntEnum from opcua.ua.uatypes import * from opcua.ua import ua_binary as uabin from opcua.ua.object_ids import ObjectIds class NamingRuleType(IntEnum): ''' :ivar Mandatory: :vartype Mandatory: 1 :ivar Optional: :vartype Optional: 2 :ivar Constraint: :vartype Constraint: 3 ''' Mandatory = 1 Optional = 2 Constraint = 3 class OpenFileMode(IntEnum): ''' :ivar Read: :vartype Read: 1 :ivar Write: :vartype Write: 2 :ivar EraseExisting: :vartype EraseExisting: 4 :ivar Append: :vartype Append: 8 ''' Read = 1 Write = 2 EraseExisting = 4 Append = 8 class TrustListMasks(IntEnum): ''' :ivar None_: :vartype None_: 0 :ivar TrustedCertificates: :vartype TrustedCertificates: 1 :ivar TrustedCrls: :vartype TrustedCrls: 2 :ivar IssuerCertificates: :vartype IssuerCertificates: 4 :ivar IssuerCrls: :vartype IssuerCrls: 8 :ivar All: :vartype All: 15 ''' None_ = 0 TrustedCertificates = 1 TrustedCrls = 2 IssuerCertificates = 4 IssuerCrls = 8 All = 15 class IdType(IntEnum): ''' The type of identifier used in a node id. :ivar Numeric: :vartype Numeric: 0 :ivar String: :vartype String: 1 :ivar Guid: :vartype Guid: 2 :ivar Opaque: :vartype Opaque: 3 ''' Numeric = 0 String = 1 Guid = 2 Opaque = 3 class NodeClass(IntEnum): ''' A mask specifying the class of the node. :ivar Unspecified: :vartype Unspecified: 0 :ivar Object: :vartype Object: 1 :ivar Variable: :vartype Variable: 2 :ivar Method: :vartype Method: 4 :ivar ObjectType: :vartype ObjectType: 8 :ivar VariableType: :vartype VariableType: 16 :ivar ReferenceType: :vartype ReferenceType: 32 :ivar DataType: :vartype DataType: 64 :ivar View: :vartype View: 128 ''' Unspecified = 0 Object = 1 Variable = 2 Method = 4 ObjectType = 8 VariableType = 16 ReferenceType = 32 DataType = 64 View = 128 class ApplicationType(IntEnum): ''' The types of applications. :ivar Server: :vartype Server: 0 :ivar Client: :vartype Client: 1 :ivar ClientAndServer: :vartype ClientAndServer: 2 :ivar DiscoveryServer: :vartype DiscoveryServer: 3 ''' Server = 0 Client = 1 ClientAndServer = 2 DiscoveryServer = 3 class MessageSecurityMode(IntEnum): ''' The type of security to use on a message. :ivar Invalid: :vartype Invalid: 0 :ivar None_: :vartype None_: 1 :ivar Sign: :vartype Sign: 2 :ivar SignAndEncrypt: :vartype SignAndEncrypt: 3 ''' Invalid = 0 None_ = 1 Sign = 2 SignAndEncrypt = 3 class UserTokenType(IntEnum): ''' The possible user token types. :ivar Anonymous: :vartype Anonymous: 0 :ivar UserName: :vartype UserName: 1 :ivar Certificate: :vartype Certificate: 2 :ivar IssuedToken: :vartype IssuedToken: 3 :ivar Kerberos: :vartype Kerberos: 4 ''' Anonymous = 0 UserName = 1 Certificate = 2 IssuedToken = 3 Kerberos = 4 class SecurityTokenRequestType(IntEnum): ''' Indicates whether a token if being created or renewed. :ivar Issue: :vartype Issue: 0 :ivar Renew: :vartype Renew: 1 ''' Issue = 0 Renew = 1 class NodeAttributesMask(IntEnum): ''' The bits used to specify default attributes for a new node. :ivar None_: :vartype None_: 0 :ivar AccessLevel: :vartype AccessLevel: 1 :ivar ArrayDimensions: :vartype ArrayDimensions: 2 :ivar BrowseName: :vartype BrowseName: 4 :ivar ContainsNoLoops: :vartype ContainsNoLoops: 8 :ivar DataType: :vartype DataType: 16 :ivar Description: :vartype Description: 32 :ivar DisplayName: :vartype DisplayName: 64 :ivar EventNotifier: :vartype EventNotifier: 128 :ivar Executable: :vartype Executable: 256 :ivar Historizing: :vartype Historizing: 512 :ivar InverseName: :vartype InverseName: 1024 :ivar IsAbstract: :vartype IsAbstract: 2048 :ivar MinimumSamplingInterval: :vartype MinimumSamplingInterval: 4096 :ivar NodeClass: :vartype NodeClass: 8192 :ivar NodeId: :vartype NodeId: 16384 :ivar Symmetric: :vartype Symmetric: 32768 :ivar UserAccessLevel: :vartype UserAccessLevel: 65536 :ivar UserExecutable: :vartype UserExecutable: 131072 :ivar UserWriteMask: :vartype UserWriteMask: 262144 :ivar ValueRank: :vartype ValueRank: 524288 :ivar WriteMask: :vartype WriteMask: 1048576 :ivar Value: :vartype Value: 2097152 :ivar All: :vartype All: 4194303 :ivar BaseNode: :vartype BaseNode: 1335396 :ivar Object: :vartype Object: 1335524 :ivar ObjectTypeOrDataType: :vartype ObjectTypeOrDataType: 1337444 :ivar Variable: :vartype Variable: 4026999 :ivar VariableType: :vartype VariableType: 3958902 :ivar Method: :vartype Method: 1466724 :ivar ReferenceType: :vartype ReferenceType: 1371236 :ivar View: :vartype View: 1335532 ''' None_ = 0 AccessLevel = 1 ArrayDimensions = 2 BrowseName = 4 ContainsNoLoops = 8 DataType = 16 Description = 32 DisplayName = 64 EventNotifier = 128 Executable = 256 Historizing = 512 InverseName = 1024 IsAbstract = 2048 MinimumSamplingInterval = 4096 NodeClass = 8192 NodeId = 16384 Symmetric = 32768 UserAccessLevel = 65536 UserExecutable = 131072 UserWriteMask = 262144 ValueRank = 524288 WriteMask = 1048576 Value = 2097152 All = 4194303 BaseNode = 1335396 Object = 1335524 ObjectTypeOrDataType = 1337444 Variable = 4026999 VariableType = 3958902 Method = 1466724 ReferenceType = 1371236 View = 1335532 class AttributeWriteMask(IntEnum): ''' Define bits used to indicate which attributes are writable. :ivar None_: :vartype None_: 0 :ivar AccessLevel: :vartype AccessLevel: 1 :ivar ArrayDimensions: :vartype ArrayDimensions: 2 :ivar BrowseName: :vartype BrowseName: 4 :ivar ContainsNoLoops: :vartype ContainsNoLoops: 8 :ivar DataType: :vartype DataType: 16 :ivar Description: :vartype Description: 32 :ivar DisplayName: :vartype DisplayName: 64 :ivar EventNotifier: :vartype EventNotifier: 128 :ivar Executable: :vartype Executable: 256 :ivar Historizing: :vartype Historizing: 512 :ivar InverseName: :vartype InverseName: 1024 :ivar IsAbstract: :vartype IsAbstract: 2048 :ivar MinimumSamplingInterval: :vartype MinimumSamplingInterval: 4096 :ivar NodeClass: :vartype NodeClass: 8192 :ivar NodeId: :vartype NodeId: 16384 :ivar Symmetric: :vartype Symmetric: 32768 :ivar UserAccessLevel: :vartype UserAccessLevel: 65536 :ivar UserExecutable: :vartype UserExecutable: 131072 :ivar UserWriteMask: :vartype UserWriteMask: 262144 :ivar ValueRank: :vartype ValueRank: 524288 :ivar WriteMask: :vartype WriteMask: 1048576 :ivar ValueForVariableType: :vartype ValueForVariableType: 2097152 ''' None_ = 0 AccessLevel = 1 ArrayDimensions = 2 BrowseName = 4 ContainsNoLoops = 8 DataType = 16 Description = 32 DisplayName = 64 EventNotifier = 128 Executable = 256 Historizing = 512 InverseName = 1024 IsAbstract = 2048 MinimumSamplingInterval = 4096 NodeClass = 8192 NodeId = 16384 Symmetric = 32768 UserAccessLevel = 65536 UserExecutable = 131072 UserWriteMask = 262144 ValueRank = 524288 WriteMask = 1048576 ValueForVariableType = 2097152 class BrowseDirection(IntEnum): ''' The directions of the references to return. :ivar Forward: :vartype Forward: 0 :ivar Inverse: :vartype Inverse: 1 :ivar Both: :vartype Both: 2 ''' Forward = 0 Inverse = 1 Both = 2 class BrowseResultMask(IntEnum): ''' A bit mask which specifies what should be returned in a browse response. :ivar None_: :vartype None_: 0 :ivar ReferenceTypeId: :vartype ReferenceTypeId: 1 :ivar IsForward: :vartype IsForward: 2 :ivar NodeClass: :vartype NodeClass: 4 :ivar BrowseName: :vartype BrowseName: 8 :ivar DisplayName: :vartype DisplayName: 16 :ivar TypeDefinition: :vartype TypeDefinition: 32 :ivar All: :vartype All: 63 :ivar ReferenceTypeInfo: :vartype ReferenceTypeInfo: 3 :ivar TargetInfo: :vartype TargetInfo: 60 ''' None_ = 0 ReferenceTypeId = 1 IsForward = 2 NodeClass = 4 BrowseName = 8 DisplayName = 16 TypeDefinition = 32 All = 63 ReferenceTypeInfo = 3 TargetInfo = 60 class ComplianceLevel(IntEnum): ''' :ivar Untested: :vartype Untested: 0 :ivar Partial: :vartype Partial: 1 :ivar SelfTested: :vartype SelfTested: 2 :ivar Certified: :vartype Certified: 3 ''' Untested = 0 Partial = 1 SelfTested = 2 Certified = 3 class FilterOperator(IntEnum): ''' :ivar Equals: :vartype Equals: 0 :ivar IsNull: :vartype IsNull: 1 :ivar GreaterThan: :vartype GreaterThan: 2 :ivar LessThan: :vartype LessThan: 3 :ivar GreaterThanOrEqual: :vartype GreaterThanOrEqual: 4 :ivar LessThanOrEqual: :vartype LessThanOrEqual: 5 :ivar Like: :vartype Like: 6 :ivar Not: :vartype Not: 7 :ivar Between: :vartype Between: 8 :ivar InList: :vartype InList: 9 :ivar And: :vartype And: 10 :ivar Or: :vartype Or: 11 :ivar Cast: :vartype Cast: 12 :ivar InView: :vartype InView: 13 :ivar OfType: :vartype OfType: 14 :ivar RelatedTo: :vartype RelatedTo: 15 :ivar BitwiseAnd: :vartype BitwiseAnd: 16 :ivar BitwiseOr: :vartype BitwiseOr: 17 ''' Equals = 0 IsNull = 1 GreaterThan = 2 LessThan = 3 GreaterThanOrEqual = 4 LessThanOrEqual = 5 Like = 6 Not = 7 Between = 8 InList = 9 And = 10 Or = 11 Cast = 12 InView = 13 OfType = 14 RelatedTo = 15 BitwiseAnd = 16 BitwiseOr = 17 class TimestampsToReturn(IntEnum): ''' :ivar Source: :vartype Source: 0 :ivar Server: :vartype Server: 1 :ivar Both: :vartype Both: 2 :ivar Neither: :vartype Neither: 3 ''' Source = 0 Server = 1 Both = 2 Neither = 3 class HistoryUpdateType(IntEnum): ''' :ivar Insert: :vartype Insert: 1 :ivar Replace: :vartype Replace: 2 :ivar Update: :vartype Update: 3 :ivar Delete: :vartype Delete: 4 ''' Insert = 1 Replace = 2 Update = 3 Delete = 4 class PerformUpdateType(IntEnum): ''' :ivar Insert: :vartype Insert: 1 :ivar Replace: :vartype Replace: 2 :ivar Update: :vartype Update: 3 :ivar Remove: :vartype Remove: 4 ''' Insert = 1 Replace = 2 Update = 3 Remove = 4 class MonitoringMode(IntEnum): ''' :ivar Disabled: :vartype Disabled: 0 :ivar Sampling: :vartype Sampling: 1 :ivar Reporting: :vartype Reporting: 2 ''' Disabled = 0 Sampling = 1 Reporting = 2 class DataChangeTrigger(IntEnum): ''' :ivar Status: :vartype Status: 0 :ivar StatusValue: :vartype StatusValue: 1 :ivar StatusValueTimestamp: :vartype StatusValueTimestamp: 2 ''' Status = 0 StatusValue = 1 StatusValueTimestamp = 2 class DeadbandType(IntEnum): ''' :ivar None_: :vartype None_: 0 :ivar Absolute: :vartype Absolute: 1 :ivar Percent: :vartype Percent: 2 ''' None_ = 0 Absolute = 1 Percent = 2 class EnumeratedTestType(IntEnum): ''' A simple enumerated type used for testing. :ivar Red: :vartype Red: 1 :ivar Yellow: :vartype Yellow: 4 :ivar Green: :vartype Green: 5 ''' Red = 1 Yellow = 4 Green = 5 class RedundancySupport(IntEnum): ''' :ivar None_: :vartype None_: 0 :ivar Cold: :vartype Cold: 1 :ivar Warm: :vartype Warm: 2 :ivar Hot: :vartype Hot: 3 :ivar Transparent: :vartype Transparent: 4 :ivar HotAndMirrored: :vartype HotAndMirrored: 5 ''' None_ = 0 Cold = 1 Warm = 2 Hot = 3 Transparent = 4 HotAndMirrored = 5 class ServerState(IntEnum): ''' :ivar Running: :vartype Running: 0 :ivar Failed: :vartype Failed: 1 :ivar NoConfiguration: :vartype NoConfiguration: 2 :ivar Suspended: :vartype Suspended: 3 :ivar Shutdown: :vartype Shutdown: 4 :ivar Test: :vartype Test: 5 :ivar CommunicationFault: :vartype CommunicationFault: 6 :ivar Unknown: :vartype Unknown: 7 ''' Running = 0 Failed = 1 NoConfiguration = 2 Suspended = 3 Shutdown = 4 Test = 5 CommunicationFault = 6 Unknown = 7 class ModelChangeStructureVerbMask(IntEnum): ''' :ivar NodeAdded: :vartype NodeAdded: 1 :ivar NodeDeleted: :vartype NodeDeleted: 2 :ivar ReferenceAdded: :vartype ReferenceAdded: 4 :ivar ReferenceDeleted: :vartype ReferenceDeleted: 8 :ivar DataTypeChanged: :vartype DataTypeChanged: 16 ''' NodeAdded = 1 NodeDeleted = 2 ReferenceAdded = 4 ReferenceDeleted = 8 DataTypeChanged = 16 class AxisScaleEnumeration(IntEnum): ''' :ivar Linear: :vartype Linear: 0 :ivar Log: :vartype Log: 1 :ivar Ln: :vartype Ln: 2 ''' Linear = 0 Log = 1 Ln = 2 class ExceptionDeviationFormat(IntEnum): ''' :ivar AbsoluteValue: :vartype AbsoluteValue: 0 :ivar PercentOfValue: :vartype PercentOfValue: 1 :ivar PercentOfRange: :vartype PercentOfRange: 2 :ivar PercentOfEURange: :vartype PercentOfEURange: 3 :ivar Unknown: :vartype Unknown: 4 ''' AbsoluteValue = 0 PercentOfValue = 1 PercentOfRange = 2 PercentOfEURange = 3 Unknown = 4 class DiagnosticInfo(FrozenClass): ''' A recursive structure containing diagnostic information associated with a status code. :ivar Encoding: :vartype Encoding: UInt8 :ivar SymbolicId: :vartype SymbolicId: Int32 :ivar NamespaceURI: :vartype NamespaceURI: Int32 :ivar Locale: :vartype Locale: Int32 :ivar LocalizedText: :vartype LocalizedText: Int32 :ivar AdditionalInfo: :vartype AdditionalInfo: CharArray :ivar InnerStatusCode: :vartype InnerStatusCode: StatusCode :ivar InnerDiagnosticInfo: :vartype InnerDiagnosticInfo: DiagnosticInfo ''' ua_types = { 'Encoding': 'UInt8', 'SymbolicId': 'Int32', 'NamespaceURI': 'Int32', 'Locale': 'Int32', 'LocalizedText': 'Int32', 'AdditionalInfo': 'CharArray', 'InnerStatusCode': 'StatusCode', 'InnerDiagnosticInfo': 'DiagnosticInfo', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.Encoding = 0 self.SymbolicId = 0 self.NamespaceURI = 0 self.Locale = 0 self.LocalizedText = 0 self.AdditionalInfo = None self.InnerStatusCode = StatusCode() self.InnerDiagnosticInfo = None self._freeze = True def to_binary(self): packet = [] if self.SymbolicId: self.Encoding |= (1 << 0) if self.NamespaceURI: self.Encoding |= (1 << 1) if self.Locale: self.Encoding |= (1 << 2) if self.LocalizedText: self.Encoding |= (1 << 3) if self.AdditionalInfo: self.Encoding |= (1 << 4) if self.InnerStatusCode: self.Encoding |= (1 << 5) if self.InnerDiagnosticInfo: self.Encoding |= (1 << 6) packet.append(uabin.Primitives.UInt8.pack(self.Encoding)) if self.SymbolicId: packet.append(uabin.Primitives.Int32.pack(self.SymbolicId)) if self.NamespaceURI: packet.append(uabin.Primitives.Int32.pack(self.NamespaceURI)) if self.Locale: packet.append(uabin.Primitives.Int32.pack(self.Locale)) if self.LocalizedText: packet.append(uabin.Primitives.Int32.pack(self.LocalizedText)) if self.AdditionalInfo: packet.append(uabin.Primitives.CharArray.pack(self.AdditionalInfo)) if self.InnerStatusCode: packet.append(self.InnerStatusCode.to_binary()) if self.InnerDiagnosticInfo: packet.append(self.InnerDiagnosticInfo.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return DiagnosticInfo(data) def _binary_init(self, data): self.Encoding = uabin.Primitives.UInt8.unpack(data) if self.Encoding & (1 << 0): self.SymbolicId = uabin.Primitives.Int32.unpack(data) else: self.SymbolicId = 0 if self.Encoding & (1 << 1): self.NamespaceURI = uabin.Primitives.Int32.unpack(data) else: self.NamespaceURI = 0 if self.Encoding & (1 << 2): self.Locale = uabin.Primitives.Int32.unpack(data) else: self.Locale = 0 if self.Encoding & (1 << 3): self.LocalizedText = uabin.Primitives.Int32.unpack(data) else: self.LocalizedText = 0 if self.Encoding & (1 << 4): self.AdditionalInfo = uabin.Primitives.CharArray.unpack(data) else: self.AdditionalInfo = None if self.Encoding & (1 << 5): self.InnerStatusCode = StatusCode.from_binary(data) else: self.InnerStatusCode = StatusCode() if self.Encoding & (1 << 6): self.InnerDiagnosticInfo = DiagnosticInfo.from_binary(data) else: self.InnerDiagnosticInfo = None def __str__(self): return 'DiagnosticInfo(' + 'Encoding:' + str(self.Encoding) + ', ' + \ 'SymbolicId:' + str(self.SymbolicId) + ', ' + \ 'NamespaceURI:' + str(self.NamespaceURI) + ', ' + \ 'Locale:' + str(self.Locale) + ', ' + \ 'LocalizedText:' + str(self.LocalizedText) + ', ' + \ 'AdditionalInfo:' + str(self.AdditionalInfo) + ', ' + \ 'InnerStatusCode:' + str(self.InnerStatusCode) + ', ' + \ 'InnerDiagnosticInfo:' + str(self.InnerDiagnosticInfo) + ')' __repr__ = __str__ class TrustListDataType(FrozenClass): ''' :ivar SpecifiedLists: :vartype SpecifiedLists: UInt32 :ivar TrustedCertificates: :vartype TrustedCertificates: ByteString :ivar TrustedCrls: :vartype TrustedCrls: ByteString :ivar IssuerCertificates: :vartype IssuerCertificates: ByteString :ivar IssuerCrls: :vartype IssuerCrls: ByteString ''' ua_types = { 'SpecifiedLists': 'UInt32', 'TrustedCertificates': 'ByteString', 'TrustedCrls': 'ByteString', 'IssuerCertificates': 'ByteString', 'IssuerCrls': 'ByteString', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.SpecifiedLists = 0 self.TrustedCertificates = [] self.TrustedCrls = [] self.IssuerCertificates = [] self.IssuerCrls = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.UInt32.pack(self.SpecifiedLists)) packet.append(uabin.Primitives.Int32.pack(len(self.TrustedCertificates))) for fieldname in self.TrustedCertificates: packet.append(uabin.Primitives.ByteString.pack(fieldname)) packet.append(uabin.Primitives.Int32.pack(len(self.TrustedCrls))) for fieldname in self.TrustedCrls: packet.append(uabin.Primitives.ByteString.pack(fieldname)) packet.append(uabin.Primitives.Int32.pack(len(self.IssuerCertificates))) for fieldname in self.IssuerCertificates: packet.append(uabin.Primitives.ByteString.pack(fieldname)) packet.append(uabin.Primitives.Int32.pack(len(self.IssuerCrls))) for fieldname in self.IssuerCrls: packet.append(uabin.Primitives.ByteString.pack(fieldname)) return b''.join(packet) @staticmethod def from_binary(data): return TrustListDataType(data) def _binary_init(self, data): self.SpecifiedLists = uabin.Primitives.UInt32.unpack(data) self.TrustedCertificates = uabin.Primitives.ByteString.unpack_array(data) self.TrustedCrls = uabin.Primitives.ByteString.unpack_array(data) self.IssuerCertificates = uabin.Primitives.ByteString.unpack_array(data) self.IssuerCrls = uabin.Primitives.ByteString.unpack_array(data) def __str__(self): return 'TrustListDataType(' + 'SpecifiedLists:' + str(self.SpecifiedLists) + ', ' + \ 'TrustedCertificates:' + str(self.TrustedCertificates) + ', ' + \ 'TrustedCrls:' + str(self.TrustedCrls) + ', ' + \ 'IssuerCertificates:' + str(self.IssuerCertificates) + ', ' + \ 'IssuerCrls:' + str(self.IssuerCrls) + ')' __repr__ = __str__ class Argument(FrozenClass): ''' An argument for a method. :ivar Name: :vartype Name: String :ivar DataType: :vartype DataType: NodeId :ivar ValueRank: :vartype ValueRank: Int32 :ivar ArrayDimensions: :vartype ArrayDimensions: UInt32 :ivar Description: :vartype Description: LocalizedText ''' ua_types = { 'Name': 'String', 'DataType': 'NodeId', 'ValueRank': 'Int32', 'ArrayDimensions': 'UInt32', 'Description': 'LocalizedText', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.Name = None self.DataType = NodeId() self.ValueRank = 0 self.ArrayDimensions = [] self.Description = LocalizedText() self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.String.pack(self.Name)) packet.append(self.DataType.to_binary()) packet.append(uabin.Primitives.Int32.pack(self.ValueRank)) packet.append(uabin.Primitives.Int32.pack(len(self.ArrayDimensions))) for fieldname in self.ArrayDimensions: packet.append(uabin.Primitives.UInt32.pack(fieldname)) packet.append(self.Description.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return Argument(data) def _binary_init(self, data): self.Name = uabin.Primitives.String.unpack(data) self.DataType = NodeId.from_binary(data) self.ValueRank = uabin.Primitives.Int32.unpack(data) self.ArrayDimensions = uabin.Primitives.UInt32.unpack_array(data) self.Description = LocalizedText.from_binary(data) def __str__(self): return 'Argument(' + 'Name:' + str(self.Name) + ', ' + \ 'DataType:' + str(self.DataType) + ', ' + \ 'ValueRank:' + str(self.ValueRank) + ', ' + \ 'ArrayDimensions:' + str(self.ArrayDimensions) + ', ' + \ 'Description:' + str(self.Description) + ')' __repr__ = __str__ class EnumValueType(FrozenClass): ''' A mapping between a value of an enumerated type and a name and description. :ivar Value: :vartype Value: Int64 :ivar DisplayName: :vartype DisplayName: LocalizedText :ivar Description: :vartype Description: LocalizedText ''' ua_types = { 'Value': 'Int64', 'DisplayName': 'LocalizedText', 'Description': 'LocalizedText', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.Value = 0 self.DisplayName = LocalizedText() self.Description = LocalizedText() self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.Int64.pack(self.Value)) packet.append(self.DisplayName.to_binary()) packet.append(self.Description.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return EnumValueType(data) def _binary_init(self, data): self.Value = uabin.Primitives.Int64.unpack(data) self.DisplayName = LocalizedText.from_binary(data) self.Description = LocalizedText.from_binary(data) def __str__(self): return 'EnumValueType(' + 'Value:' + str(self.Value) + ', ' + \ 'DisplayName:' + str(self.DisplayName) + ', ' + \ 'Description:' + str(self.Description) + ')' __repr__ = __str__ class OptionSet(FrozenClass): ''' This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask. :ivar Value: :vartype Value: ByteString :ivar ValidBits: :vartype ValidBits: ByteString ''' ua_types = { 'Value': 'ByteString', 'ValidBits': 'ByteString', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.Value = None self.ValidBits = None self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.ByteString.pack(self.Value)) packet.append(uabin.Primitives.ByteString.pack(self.ValidBits)) return b''.join(packet) @staticmethod def from_binary(data): return OptionSet(data) def _binary_init(self, data): self.Value = uabin.Primitives.ByteString.unpack(data) self.ValidBits = uabin.Primitives.ByteString.unpack(data) def __str__(self): return 'OptionSet(' + 'Value:' + str(self.Value) + ', ' + \ 'ValidBits:' + str(self.ValidBits) + ')' __repr__ = __str__ class Union(FrozenClass): ''' This abstract DataType is the base DataType for all union DataTypes. ''' ua_types = { } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self._freeze = True def to_binary(self): packet = [] return b''.join(packet) @staticmethod def from_binary(data): return Union(data) def _binary_init(self, data): pass def __str__(self): return 'Union(' + + ')' __repr__ = __str__ class TimeZoneDataType(FrozenClass): ''' :ivar Offset: :vartype Offset: Int16 :ivar DaylightSavingInOffset: :vartype DaylightSavingInOffset: Boolean ''' ua_types = { 'Offset': 'Int16', 'DaylightSavingInOffset': 'Boolean', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.Offset = 0 self.DaylightSavingInOffset = True self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.Int16.pack(self.Offset)) packet.append(uabin.Primitives.Boolean.pack(self.DaylightSavingInOffset)) return b''.join(packet) @staticmethod def from_binary(data): return TimeZoneDataType(data) def _binary_init(self, data): self.Offset = uabin.Primitives.Int16.unpack(data) self.DaylightSavingInOffset = uabin.Primitives.Boolean.unpack(data) def __str__(self): return 'TimeZoneDataType(' + 'Offset:' + str(self.Offset) + ', ' + \ 'DaylightSavingInOffset:' + str(self.DaylightSavingInOffset) + ')' __repr__ = __str__ class ApplicationDescription(FrozenClass): ''' Describes an application and how to find it. :ivar ApplicationUri: :vartype ApplicationUri: String :ivar ProductUri: :vartype ProductUri: String :ivar ApplicationName: :vartype ApplicationName: LocalizedText :ivar ApplicationType: :vartype ApplicationType: ApplicationType :ivar GatewayServerUri: :vartype GatewayServerUri: String :ivar DiscoveryProfileUri: :vartype DiscoveryProfileUri: String :ivar DiscoveryUrls: :vartype DiscoveryUrls: String ''' ua_types = { 'ApplicationUri': 'String', 'ProductUri': 'String', 'ApplicationName': 'LocalizedText', 'ApplicationType': 'ApplicationType', 'GatewayServerUri': 'String', 'DiscoveryProfileUri': 'String', 'DiscoveryUrls': 'String', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.ApplicationUri = None self.ProductUri = None self.ApplicationName = LocalizedText() self.ApplicationType = ApplicationType(0) self.GatewayServerUri = None self.DiscoveryProfileUri = None self.DiscoveryUrls = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.String.pack(self.ApplicationUri)) packet.append(uabin.Primitives.String.pack(self.ProductUri)) packet.append(self.ApplicationName.to_binary()) packet.append(uabin.Primitives.UInt32.pack(self.ApplicationType.value)) packet.append(uabin.Primitives.String.pack(self.GatewayServerUri)) packet.append(uabin.Primitives.String.pack(self.DiscoveryProfileUri)) packet.append(uabin.Primitives.Int32.pack(len(self.DiscoveryUrls))) for fieldname in self.DiscoveryUrls: packet.append(uabin.Primitives.String.pack(fieldname)) return b''.join(packet) @staticmethod def from_binary(data): return ApplicationDescription(data) def _binary_init(self, data): self.ApplicationUri = uabin.Primitives.String.unpack(data) self.ProductUri = uabin.Primitives.String.unpack(data) self.ApplicationName = LocalizedText.from_binary(data) self.ApplicationType = ApplicationType(uabin.Primitives.UInt32.unpack(data)) self.GatewayServerUri = uabin.Primitives.String.unpack(data) self.DiscoveryProfileUri = uabin.Primitives.String.unpack(data) self.DiscoveryUrls = uabin.Primitives.String.unpack_array(data) def __str__(self): return 'ApplicationDescription(' + 'ApplicationUri:' + str(self.ApplicationUri) + ', ' + \ 'ProductUri:' + str(self.ProductUri) + ', ' + \ 'ApplicationName:' + str(self.ApplicationName) + ', ' + \ 'ApplicationType:' + str(self.ApplicationType) + ', ' + \ 'GatewayServerUri:' + str(self.GatewayServerUri) + ', ' + \ 'DiscoveryProfileUri:' + str(self.DiscoveryProfileUri) + ', ' + \ 'DiscoveryUrls:' + str(self.DiscoveryUrls) + ')' __repr__ = __str__ class RequestHeader(FrozenClass): ''' The header passed with every server request. :ivar AuthenticationToken: :vartype AuthenticationToken: NodeId :ivar Timestamp: :vartype Timestamp: DateTime :ivar RequestHandle: :vartype RequestHandle: UInt32 :ivar ReturnDiagnostics: :vartype ReturnDiagnostics: UInt32 :ivar AuditEntryId: :vartype AuditEntryId: String :ivar TimeoutHint: :vartype TimeoutHint: UInt32 :ivar AdditionalHeader: :vartype AdditionalHeader: ExtensionObject ''' ua_types = { 'AuthenticationToken': 'NodeId', 'Timestamp': 'DateTime', 'RequestHandle': 'UInt32', 'ReturnDiagnostics': 'UInt32', 'AuditEntryId': 'String', 'TimeoutHint': 'UInt32', 'AdditionalHeader': 'ExtensionObject', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.AuthenticationToken = NodeId() self.Timestamp = datetime.utcnow() self.RequestHandle = 0 self.ReturnDiagnostics = 0 self.AuditEntryId = None self.TimeoutHint = 0 self.AdditionalHeader = None self._freeze = True def to_binary(self): packet = [] packet.append(self.AuthenticationToken.to_binary()) packet.append(uabin.Primitives.DateTime.pack(self.Timestamp)) packet.append(uabin.Primitives.UInt32.pack(self.RequestHandle)) packet.append(uabin.Primitives.UInt32.pack(self.ReturnDiagnostics)) packet.append(uabin.Primitives.String.pack(self.AuditEntryId)) packet.append(uabin.Primitives.UInt32.pack(self.TimeoutHint)) packet.append(extensionobject_to_binary(self.AdditionalHeader)) return b''.join(packet) @staticmethod def from_binary(data): return RequestHeader(data) def _binary_init(self, data): self.AuthenticationToken = NodeId.from_binary(data) self.Timestamp = uabin.Primitives.DateTime.unpack(data) self.RequestHandle = uabin.Primitives.UInt32.unpack(data) self.ReturnDiagnostics = uabin.Primitives.UInt32.unpack(data) self.AuditEntryId = uabin.Primitives.String.unpack(data) self.TimeoutHint = uabin.Primitives.UInt32.unpack(data) self.AdditionalHeader = extensionobject_from_binary(data) def __str__(self): return 'RequestHeader(' + 'AuthenticationToken:' + str(self.AuthenticationToken) + ', ' + \ 'Timestamp:' + str(self.Timestamp) + ', ' + \ 'RequestHandle:' + str(self.RequestHandle) + ', ' + \ 'ReturnDiagnostics:' + str(self.ReturnDiagnostics) + ', ' + \ 'AuditEntryId:' + str(self.AuditEntryId) + ', ' + \ 'TimeoutHint:' + str(self.TimeoutHint) + ', ' + \ 'AdditionalHeader:' + str(self.AdditionalHeader) + ')' __repr__ = __str__ class ResponseHeader(FrozenClass): ''' The header passed with every server response. :ivar Timestamp: :vartype Timestamp: DateTime :ivar RequestHandle: :vartype RequestHandle: UInt32 :ivar ServiceResult: :vartype ServiceResult: StatusCode :ivar ServiceDiagnostics: :vartype ServiceDiagnostics: DiagnosticInfo :ivar StringTable: :vartype StringTable: String :ivar AdditionalHeader: :vartype AdditionalHeader: ExtensionObject ''' ua_types = { 'Timestamp': 'DateTime', 'RequestHandle': 'UInt32', 'ServiceResult': 'StatusCode', 'ServiceDiagnostics': 'DiagnosticInfo', 'StringTable': 'String', 'AdditionalHeader': 'ExtensionObject', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.Timestamp = datetime.utcnow() self.RequestHandle = 0 self.ServiceResult = StatusCode() self.ServiceDiagnostics = DiagnosticInfo() self.StringTable = [] self.AdditionalHeader = None self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.DateTime.pack(self.Timestamp)) packet.append(uabin.Primitives.UInt32.pack(self.RequestHandle)) packet.append(self.ServiceResult.to_binary()) packet.append(self.ServiceDiagnostics.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.StringTable))) for fieldname in self.StringTable: packet.append(uabin.Primitives.String.pack(fieldname)) packet.append(extensionobject_to_binary(self.AdditionalHeader)) return b''.join(packet) @staticmethod def from_binary(data): return ResponseHeader(data) def _binary_init(self, data): self.Timestamp = uabin.Primitives.DateTime.unpack(data) self.RequestHandle = uabin.Primitives.UInt32.unpack(data) self.ServiceResult = StatusCode.from_binary(data) self.ServiceDiagnostics = DiagnosticInfo.from_binary(data) self.StringTable = uabin.Primitives.String.unpack_array(data) self.AdditionalHeader = extensionobject_from_binary(data) def __str__(self): return 'ResponseHeader(' + 'Timestamp:' + str(self.Timestamp) + ', ' + \ 'RequestHandle:' + str(self.RequestHandle) + ', ' + \ 'ServiceResult:' + str(self.ServiceResult) + ', ' + \ 'ServiceDiagnostics:' + str(self.ServiceDiagnostics) + ', ' + \ 'StringTable:' + str(self.StringTable) + ', ' + \ 'AdditionalHeader:' + str(self.AdditionalHeader) + ')' __repr__ = __str__ class ServiceFault(FrozenClass): ''' The response returned by all services when there is a service level error. :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader ''' ua_types = { 'TypeId': 'NodeId', 'ResponseHeader': 'ResponseHeader', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.ServiceFault_Encoding_DefaultBinary) self.ResponseHeader = ResponseHeader() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.ResponseHeader.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return ServiceFault(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.ResponseHeader = ResponseHeader.from_binary(data) def __str__(self): return 'ServiceFault(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'ResponseHeader:' + str(self.ResponseHeader) + ')' __repr__ = __str__ class FindServersParameters(FrozenClass): ''' :ivar EndpointUrl: :vartype EndpointUrl: String :ivar LocaleIds: :vartype LocaleIds: String :ivar ServerUris: :vartype ServerUris: String ''' ua_types = { 'EndpointUrl': 'String', 'LocaleIds': 'String', 'ServerUris': 'String', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.EndpointUrl = None self.LocaleIds = [] self.ServerUris = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.String.pack(self.EndpointUrl)) packet.append(uabin.Primitives.Int32.pack(len(self.LocaleIds))) for fieldname in self.LocaleIds: packet.append(uabin.Primitives.String.pack(fieldname)) packet.append(uabin.Primitives.Int32.pack(len(self.ServerUris))) for fieldname in self.ServerUris: packet.append(uabin.Primitives.String.pack(fieldname)) return b''.join(packet) @staticmethod def from_binary(data): return FindServersParameters(data) def _binary_init(self, data): self.EndpointUrl = uabin.Primitives.String.unpack(data) self.LocaleIds = uabin.Primitives.String.unpack_array(data) self.ServerUris = uabin.Primitives.String.unpack_array(data) def __str__(self): return 'FindServersParameters(' + 'EndpointUrl:' + str(self.EndpointUrl) + ', ' + \ 'LocaleIds:' + str(self.LocaleIds) + ', ' + \ 'ServerUris:' + str(self.ServerUris) + ')' __repr__ = __str__ class FindServersRequest(FrozenClass): ''' Finds the servers known to the discovery server. :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: FindServersParameters ''' ua_types = { 'TypeId': 'NodeId', 'RequestHeader': 'RequestHeader', 'Parameters': 'FindServersParameters', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.FindServersRequest_Encoding_DefaultBinary) self.RequestHeader = RequestHeader() self.Parameters = FindServersParameters() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.RequestHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return FindServersRequest(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.RequestHeader = RequestHeader.from_binary(data) self.Parameters = FindServersParameters.from_binary(data) def __str__(self): return 'FindServersRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class FindServersResponse(FrozenClass): ''' Finds the servers known to the discovery server. :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Servers: :vartype Servers: ApplicationDescription ''' ua_types = { 'TypeId': 'NodeId', 'ResponseHeader': 'ResponseHeader', 'Servers': 'ApplicationDescription', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.FindServersResponse_Encoding_DefaultBinary) self.ResponseHeader = ResponseHeader() self.Servers = [] self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.ResponseHeader.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.Servers))) for fieldname in self.Servers: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return FindServersResponse(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.ResponseHeader = ResponseHeader.from_binary(data) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(ApplicationDescription.from_binary(data)) self.Servers = array def __str__(self): return 'FindServersResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ 'Servers:' + str(self.Servers) + ')' __repr__ = __str__ class ServerOnNetwork(FrozenClass): ''' :ivar RecordId: :vartype RecordId: UInt32 :ivar ServerName: :vartype ServerName: String :ivar DiscoveryUrl: :vartype DiscoveryUrl: String :ivar ServerCapabilities: :vartype ServerCapabilities: String ''' ua_types = { 'RecordId': 'UInt32', 'ServerName': 'String', 'DiscoveryUrl': 'String', 'ServerCapabilities': 'String', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.RecordId = 0 self.ServerName = None self.DiscoveryUrl = None self.ServerCapabilities = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.UInt32.pack(self.RecordId)) packet.append(uabin.Primitives.String.pack(self.ServerName)) packet.append(uabin.Primitives.String.pack(self.DiscoveryUrl)) packet.append(uabin.Primitives.Int32.pack(len(self.ServerCapabilities))) for fieldname in self.ServerCapabilities: packet.append(uabin.Primitives.String.pack(fieldname)) return b''.join(packet) @staticmethod def from_binary(data): return ServerOnNetwork(data) def _binary_init(self, data): self.RecordId = uabin.Primitives.UInt32.unpack(data) self.ServerName = uabin.Primitives.String.unpack(data) self.DiscoveryUrl = uabin.Primitives.String.unpack(data) self.ServerCapabilities = uabin.Primitives.String.unpack_array(data) def __str__(self): return 'ServerOnNetwork(' + 'RecordId:' + str(self.RecordId) + ', ' + \ 'ServerName:' + str(self.ServerName) + ', ' + \ 'DiscoveryUrl:' + str(self.DiscoveryUrl) + ', ' + \ 'ServerCapabilities:' + str(self.ServerCapabilities) + ')' __repr__ = __str__ class FindServersOnNetworkParameters(FrozenClass): ''' :ivar StartingRecordId: :vartype StartingRecordId: UInt32 :ivar MaxRecordsToReturn: :vartype MaxRecordsToReturn: UInt32 :ivar ServerCapabilityFilter: :vartype ServerCapabilityFilter: String ''' ua_types = { 'StartingRecordId': 'UInt32', 'MaxRecordsToReturn': 'UInt32', 'ServerCapabilityFilter': 'String', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.StartingRecordId = 0 self.MaxRecordsToReturn = 0 self.ServerCapabilityFilter = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.UInt32.pack(self.StartingRecordId)) packet.append(uabin.Primitives.UInt32.pack(self.MaxRecordsToReturn)) packet.append(uabin.Primitives.Int32.pack(len(self.ServerCapabilityFilter))) for fieldname in self.ServerCapabilityFilter: packet.append(uabin.Primitives.String.pack(fieldname)) return b''.join(packet) @staticmethod def from_binary(data): return FindServersOnNetworkParameters(data) def _binary_init(self, data): self.StartingRecordId = uabin.Primitives.UInt32.unpack(data) self.MaxRecordsToReturn = uabin.Primitives.UInt32.unpack(data) self.ServerCapabilityFilter = uabin.Primitives.String.unpack_array(data) def __str__(self): return 'FindServersOnNetworkParameters(' + 'StartingRecordId:' + str(self.StartingRecordId) + ', ' + \ 'MaxRecordsToReturn:' + str(self.MaxRecordsToReturn) + ', ' + \ 'ServerCapabilityFilter:' + str(self.ServerCapabilityFilter) + ')' __repr__ = __str__ class FindServersOnNetworkRequest(FrozenClass): ''' :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: FindServersOnNetworkParameters ''' ua_types = { 'TypeId': 'NodeId', 'RequestHeader': 'RequestHeader', 'Parameters': 'FindServersOnNetworkParameters', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.FindServersOnNetworkRequest_Encoding_DefaultBinary) self.RequestHeader = RequestHeader() self.Parameters = FindServersOnNetworkParameters() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.RequestHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return FindServersOnNetworkRequest(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.RequestHeader = RequestHeader.from_binary(data) self.Parameters = FindServersOnNetworkParameters.from_binary(data) def __str__(self): return 'FindServersOnNetworkRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class FindServersOnNetworkResult(FrozenClass): ''' :ivar LastCounterResetTime: :vartype LastCounterResetTime: DateTime :ivar Servers: :vartype Servers: ServerOnNetwork ''' ua_types = { 'LastCounterResetTime': 'DateTime', 'Servers': 'ServerOnNetwork', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.LastCounterResetTime = datetime.utcnow() self.Servers = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.DateTime.pack(self.LastCounterResetTime)) packet.append(uabin.Primitives.Int32.pack(len(self.Servers))) for fieldname in self.Servers: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return FindServersOnNetworkResult(data) def _binary_init(self, data): self.LastCounterResetTime = uabin.Primitives.DateTime.unpack(data) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(ServerOnNetwork.from_binary(data)) self.Servers = array def __str__(self): return 'FindServersOnNetworkResult(' + 'LastCounterResetTime:' + str(self.LastCounterResetTime) + ', ' + \ 'Servers:' + str(self.Servers) + ')' __repr__ = __str__ class FindServersOnNetworkResponse(FrozenClass): ''' :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: FindServersOnNetworkResult ''' ua_types = { 'TypeId': 'NodeId', 'ResponseHeader': 'ResponseHeader', 'Parameters': 'FindServersOnNetworkResult', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.FindServersOnNetworkResponse_Encoding_DefaultBinary) self.ResponseHeader = ResponseHeader() self.Parameters = FindServersOnNetworkResult() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.ResponseHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return FindServersOnNetworkResponse(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.ResponseHeader = ResponseHeader.from_binary(data) self.Parameters = FindServersOnNetworkResult.from_binary(data) def __str__(self): return 'FindServersOnNetworkResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class UserTokenPolicy(FrozenClass): ''' Describes a user token that can be used with a server. :ivar PolicyId: :vartype PolicyId: String :ivar TokenType: :vartype TokenType: UserTokenType :ivar IssuedTokenType: :vartype IssuedTokenType: String :ivar IssuerEndpointUrl: :vartype IssuerEndpointUrl: String :ivar SecurityPolicyUri: :vartype SecurityPolicyUri: String ''' ua_types = { 'PolicyId': 'String', 'TokenType': 'UserTokenType', 'IssuedTokenType': 'String', 'IssuerEndpointUrl': 'String', 'SecurityPolicyUri': 'String', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.PolicyId = None self.TokenType = UserTokenType(0) self.IssuedTokenType = None self.IssuerEndpointUrl = None self.SecurityPolicyUri = None self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.String.pack(self.PolicyId)) packet.append(uabin.Primitives.UInt32.pack(self.TokenType.value)) packet.append(uabin.Primitives.String.pack(self.IssuedTokenType)) packet.append(uabin.Primitives.String.pack(self.IssuerEndpointUrl)) packet.append(uabin.Primitives.String.pack(self.SecurityPolicyUri)) return b''.join(packet) @staticmethod def from_binary(data): return UserTokenPolicy(data) def _binary_init(self, data): self.PolicyId = uabin.Primitives.String.unpack(data) self.TokenType = UserTokenType(uabin.Primitives.UInt32.unpack(data)) self.IssuedTokenType = uabin.Primitives.String.unpack(data) self.IssuerEndpointUrl = uabin.Primitives.String.unpack(data) self.SecurityPolicyUri = uabin.Primitives.String.unpack(data) def __str__(self): return 'UserTokenPolicy(' + 'PolicyId:' + str(self.PolicyId) + ', ' + \ 'TokenType:' + str(self.TokenType) + ', ' + \ 'IssuedTokenType:' + str(self.IssuedTokenType) + ', ' + \ 'IssuerEndpointUrl:' + str(self.IssuerEndpointUrl) + ', ' + \ 'SecurityPolicyUri:' + str(self.SecurityPolicyUri) + ')' __repr__ = __str__ class EndpointDescription(FrozenClass): ''' The description of a endpoint that can be used to access a server. :ivar EndpointUrl: :vartype EndpointUrl: String :ivar Server: :vartype Server: ApplicationDescription :ivar ServerCertificate: :vartype ServerCertificate: ByteString :ivar SecurityMode: :vartype SecurityMode: MessageSecurityMode :ivar SecurityPolicyUri: :vartype SecurityPolicyUri: String :ivar UserIdentityTokens: :vartype UserIdentityTokens: UserTokenPolicy :ivar TransportProfileUri: :vartype TransportProfileUri: String :ivar SecurityLevel: :vartype SecurityLevel: Byte ''' ua_types = { 'EndpointUrl': 'String', 'Server': 'ApplicationDescription', 'ServerCertificate': 'ByteString', 'SecurityMode': 'MessageSecurityMode', 'SecurityPolicyUri': 'String', 'UserIdentityTokens': 'UserTokenPolicy', 'TransportProfileUri': 'String', 'SecurityLevel': 'Byte', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.EndpointUrl = None self.Server = ApplicationDescription() self.ServerCertificate = None self.SecurityMode = MessageSecurityMode(0) self.SecurityPolicyUri = None self.UserIdentityTokens = [] self.TransportProfileUri = None self.SecurityLevel = 0 self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.String.pack(self.EndpointUrl)) packet.append(self.Server.to_binary()) packet.append(uabin.Primitives.ByteString.pack(self.ServerCertificate)) packet.append(uabin.Primitives.UInt32.pack(self.SecurityMode.value)) packet.append(uabin.Primitives.String.pack(self.SecurityPolicyUri)) packet.append(uabin.Primitives.Int32.pack(len(self.UserIdentityTokens))) for fieldname in self.UserIdentityTokens: packet.append(fieldname.to_binary()) packet.append(uabin.Primitives.String.pack(self.TransportProfileUri)) packet.append(uabin.Primitives.Byte.pack(self.SecurityLevel)) return b''.join(packet) @staticmethod def from_binary(data): return EndpointDescription(data) def _binary_init(self, data): self.EndpointUrl = uabin.Primitives.String.unpack(data) self.Server = ApplicationDescription.from_binary(data) self.ServerCertificate = uabin.Primitives.ByteString.unpack(data) self.SecurityMode = MessageSecurityMode(uabin.Primitives.UInt32.unpack(data)) self.SecurityPolicyUri = uabin.Primitives.String.unpack(data) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(UserTokenPolicy.from_binary(data)) self.UserIdentityTokens = array self.TransportProfileUri = uabin.Primitives.String.unpack(data) self.SecurityLevel = uabin.Primitives.Byte.unpack(data) def __str__(self): return 'EndpointDescription(' + 'EndpointUrl:' + str(self.EndpointUrl) + ', ' + \ 'Server:' + str(self.Server) + ', ' + \ 'ServerCertificate:' + str(self.ServerCertificate) + ', ' + \ 'SecurityMode:' + str(self.SecurityMode) + ', ' + \ 'SecurityPolicyUri:' + str(self.SecurityPolicyUri) + ', ' + \ 'UserIdentityTokens:' + str(self.UserIdentityTokens) + ', ' + \ 'TransportProfileUri:' + str(self.TransportProfileUri) + ', ' + \ 'SecurityLevel:' + str(self.SecurityLevel) + ')' __repr__ = __str__ class GetEndpointsParameters(FrozenClass): ''' :ivar EndpointUrl: :vartype EndpointUrl: String :ivar LocaleIds: :vartype LocaleIds: String :ivar ProfileUris: :vartype ProfileUris: String ''' ua_types = { 'EndpointUrl': 'String', 'LocaleIds': 'String', 'ProfileUris': 'String', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.EndpointUrl = None self.LocaleIds = [] self.ProfileUris = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.String.pack(self.EndpointUrl)) packet.append(uabin.Primitives.Int32.pack(len(self.LocaleIds))) for fieldname in self.LocaleIds: packet.append(uabin.Primitives.String.pack(fieldname)) packet.append(uabin.Primitives.Int32.pack(len(self.ProfileUris))) for fieldname in self.ProfileUris: packet.append(uabin.Primitives.String.pack(fieldname)) return b''.join(packet) @staticmethod def from_binary(data): return GetEndpointsParameters(data) def _binary_init(self, data): self.EndpointUrl = uabin.Primitives.String.unpack(data) self.LocaleIds = uabin.Primitives.String.unpack_array(data) self.ProfileUris = uabin.Primitives.String.unpack_array(data) def __str__(self): return 'GetEndpointsParameters(' + 'EndpointUrl:' + str(self.EndpointUrl) + ', ' + \ 'LocaleIds:' + str(self.LocaleIds) + ', ' + \ 'ProfileUris:' + str(self.ProfileUris) + ')' __repr__ = __str__ class GetEndpointsRequest(FrozenClass): ''' Gets the endpoints used by the server. :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: GetEndpointsParameters ''' ua_types = { 'TypeId': 'NodeId', 'RequestHeader': 'RequestHeader', 'Parameters': 'GetEndpointsParameters', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.GetEndpointsRequest_Encoding_DefaultBinary) self.RequestHeader = RequestHeader() self.Parameters = GetEndpointsParameters() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.RequestHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return GetEndpointsRequest(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.RequestHeader = RequestHeader.from_binary(data) self.Parameters = GetEndpointsParameters.from_binary(data) def __str__(self): return 'GetEndpointsRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class GetEndpointsResponse(FrozenClass): ''' Gets the endpoints used by the server. :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Endpoints: :vartype Endpoints: EndpointDescription ''' ua_types = { 'TypeId': 'NodeId', 'ResponseHeader': 'ResponseHeader', 'Endpoints': 'EndpointDescription', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.GetEndpointsResponse_Encoding_DefaultBinary) self.ResponseHeader = ResponseHeader() self.Endpoints = [] self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.ResponseHeader.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.Endpoints))) for fieldname in self.Endpoints: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return GetEndpointsResponse(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.ResponseHeader = ResponseHeader.from_binary(data) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(EndpointDescription.from_binary(data)) self.Endpoints = array def __str__(self): return 'GetEndpointsResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ 'Endpoints:' + str(self.Endpoints) + ')' __repr__ = __str__ class RegisteredServer(FrozenClass): ''' The information required to register a server with a discovery server. :ivar ServerUri: :vartype ServerUri: String :ivar ProductUri: :vartype ProductUri: String :ivar ServerNames: :vartype ServerNames: LocalizedText :ivar ServerType: :vartype ServerType: ApplicationType :ivar GatewayServerUri: :vartype GatewayServerUri: String :ivar DiscoveryUrls: :vartype DiscoveryUrls: String :ivar SemaphoreFilePath: :vartype SemaphoreFilePath: String :ivar IsOnline: :vartype IsOnline: Boolean ''' ua_types = { 'ServerUri': 'String', 'ProductUri': 'String', 'ServerNames': 'LocalizedText', 'ServerType': 'ApplicationType', 'GatewayServerUri': 'String', 'DiscoveryUrls': 'String', 'SemaphoreFilePath': 'String', 'IsOnline': 'Boolean', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.ServerUri = None self.ProductUri = None self.ServerNames = [] self.ServerType = ApplicationType(0) self.GatewayServerUri = None self.DiscoveryUrls = [] self.SemaphoreFilePath = None self.IsOnline = True self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.String.pack(self.ServerUri)) packet.append(uabin.Primitives.String.pack(self.ProductUri)) packet.append(uabin.Primitives.Int32.pack(len(self.ServerNames))) for fieldname in self.ServerNames: packet.append(fieldname.to_binary()) packet.append(uabin.Primitives.UInt32.pack(self.ServerType.value)) packet.append(uabin.Primitives.String.pack(self.GatewayServerUri)) packet.append(uabin.Primitives.Int32.pack(len(self.DiscoveryUrls))) for fieldname in self.DiscoveryUrls: packet.append(uabin.Primitives.String.pack(fieldname)) packet.append(uabin.Primitives.String.pack(self.SemaphoreFilePath)) packet.append(uabin.Primitives.Boolean.pack(self.IsOnline)) return b''.join(packet) @staticmethod def from_binary(data): return RegisteredServer(data) def _binary_init(self, data): self.ServerUri = uabin.Primitives.String.unpack(data) self.ProductUri = uabin.Primitives.String.unpack(data) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(LocalizedText.from_binary(data)) self.ServerNames = array self.ServerType = ApplicationType(uabin.Primitives.UInt32.unpack(data)) self.GatewayServerUri = uabin.Primitives.String.unpack(data) self.DiscoveryUrls = uabin.Primitives.String.unpack_array(data) self.SemaphoreFilePath = uabin.Primitives.String.unpack(data) self.IsOnline = uabin.Primitives.Boolean.unpack(data) def __str__(self): return 'RegisteredServer(' + 'ServerUri:' + str(self.ServerUri) + ', ' + \ 'ProductUri:' + str(self.ProductUri) + ', ' + \ 'ServerNames:' + str(self.ServerNames) + ', ' + \ 'ServerType:' + str(self.ServerType) + ', ' + \ 'GatewayServerUri:' + str(self.GatewayServerUri) + ', ' + \ 'DiscoveryUrls:' + str(self.DiscoveryUrls) + ', ' + \ 'SemaphoreFilePath:' + str(self.SemaphoreFilePath) + ', ' + \ 'IsOnline:' + str(self.IsOnline) + ')' __repr__ = __str__ class RegisterServerRequest(FrozenClass): ''' Registers a server with the discovery server. :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Server: :vartype Server: RegisteredServer ''' ua_types = { 'TypeId': 'NodeId', 'RequestHeader': 'RequestHeader', 'Server': 'RegisteredServer', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.RegisterServerRequest_Encoding_DefaultBinary) self.RequestHeader = RequestHeader() self.Server = RegisteredServer() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.RequestHeader.to_binary()) packet.append(self.Server.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return RegisterServerRequest(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.RequestHeader = RequestHeader.from_binary(data) self.Server = RegisteredServer.from_binary(data) def __str__(self): return 'RegisterServerRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ 'Server:' + str(self.Server) + ')' __repr__ = __str__ class RegisterServerResponse(FrozenClass): ''' Registers a server with the discovery server. :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader ''' ua_types = { 'TypeId': 'NodeId', 'ResponseHeader': 'ResponseHeader', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.RegisterServerResponse_Encoding_DefaultBinary) self.ResponseHeader = ResponseHeader() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.ResponseHeader.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return RegisterServerResponse(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.ResponseHeader = ResponseHeader.from_binary(data) def __str__(self): return 'RegisterServerResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'ResponseHeader:' + str(self.ResponseHeader) + ')' __repr__ = __str__ class DiscoveryConfiguration(FrozenClass): ''' A base type for discovery configuration information. ''' ua_types = { } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self._freeze = True def to_binary(self): packet = [] return b''.join(packet) @staticmethod def from_binary(data): return DiscoveryConfiguration(data) def _binary_init(self, data): pass def __str__(self): return 'DiscoveryConfiguration(' + + ')' __repr__ = __str__ class MdnsDiscoveryConfiguration(FrozenClass): ''' The discovery information needed for mDNS registration. :ivar MdnsServerName: :vartype MdnsServerName: String :ivar ServerCapabilities: :vartype ServerCapabilities: String ''' ua_types = { 'MdnsServerName': 'String', 'ServerCapabilities': 'String', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.MdnsServerName = None self.ServerCapabilities = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.String.pack(self.MdnsServerName)) packet.append(uabin.Primitives.Int32.pack(len(self.ServerCapabilities))) for fieldname in self.ServerCapabilities: packet.append(uabin.Primitives.String.pack(fieldname)) return b''.join(packet) @staticmethod def from_binary(data): return MdnsDiscoveryConfiguration(data) def _binary_init(self, data): self.MdnsServerName = uabin.Primitives.String.unpack(data) self.ServerCapabilities = uabin.Primitives.String.unpack_array(data) def __str__(self): return 'MdnsDiscoveryConfiguration(' + 'MdnsServerName:' + str(self.MdnsServerName) + ', ' + \ 'ServerCapabilities:' + str(self.ServerCapabilities) + ')' __repr__ = __str__ class RegisterServer2Parameters(FrozenClass): ''' :ivar Server: :vartype Server: RegisteredServer :ivar DiscoveryConfiguration: :vartype DiscoveryConfiguration: ExtensionObject ''' ua_types = { 'Server': 'RegisteredServer', 'DiscoveryConfiguration': 'ExtensionObject', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.Server = RegisteredServer() self.DiscoveryConfiguration = [] self._freeze = True def to_binary(self): packet = [] packet.append(self.Server.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.DiscoveryConfiguration))) for fieldname in self.DiscoveryConfiguration: packet.append(extensionobject_to_binary(fieldname)) return b''.join(packet) @staticmethod def from_binary(data): return RegisterServer2Parameters(data) def _binary_init(self, data): self.Server = RegisteredServer.from_binary(data) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(extensionobject_from_binary(data)) self.DiscoveryConfiguration = array def __str__(self): return 'RegisterServer2Parameters(' + 'Server:' + str(self.Server) + ', ' + \ 'DiscoveryConfiguration:' + str(self.DiscoveryConfiguration) + ')' __repr__ = __str__ class RegisterServer2Request(FrozenClass): ''' :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: RegisterServer2Parameters ''' ua_types = { 'TypeId': 'NodeId', 'RequestHeader': 'RequestHeader', 'Parameters': 'RegisterServer2Parameters', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.RegisterServer2Request_Encoding_DefaultBinary) self.RequestHeader = RequestHeader() self.Parameters = RegisterServer2Parameters() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.RequestHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return RegisterServer2Request(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.RequestHeader = RequestHeader.from_binary(data) self.Parameters = RegisterServer2Parameters.from_binary(data) def __str__(self): return 'RegisterServer2Request(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class RegisterServer2Response(FrozenClass): ''' :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar ConfigurationResults: :vartype ConfigurationResults: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo ''' ua_types = { 'TypeId': 'NodeId', 'ResponseHeader': 'ResponseHeader', 'ConfigurationResults': 'StatusCode', 'DiagnosticInfos': 'DiagnosticInfo', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.RegisterServer2Response_Encoding_DefaultBinary) self.ResponseHeader = ResponseHeader() self.ConfigurationResults = [] self.DiagnosticInfos = [] self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.ResponseHeader.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.ConfigurationResults))) for fieldname in self.ConfigurationResults: packet.append(fieldname.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.DiagnosticInfos))) for fieldname in self.DiagnosticInfos: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return RegisterServer2Response(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.ResponseHeader = ResponseHeader.from_binary(data) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(StatusCode.from_binary(data)) self.ConfigurationResults = array length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(DiagnosticInfo.from_binary(data)) self.DiagnosticInfos = array def __str__(self): return 'RegisterServer2Response(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ 'ConfigurationResults:' + str(self.ConfigurationResults) + ', ' + \ 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' __repr__ = __str__ class ChannelSecurityToken(FrozenClass): ''' The token that identifies a set of keys for an active secure channel. :ivar ChannelId: :vartype ChannelId: UInt32 :ivar TokenId: :vartype TokenId: UInt32 :ivar CreatedAt: :vartype CreatedAt: DateTime :ivar RevisedLifetime: :vartype RevisedLifetime: UInt32 ''' ua_types = { 'ChannelId': 'UInt32', 'TokenId': 'UInt32', 'CreatedAt': 'DateTime', 'RevisedLifetime': 'UInt32', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.ChannelId = 0 self.TokenId = 0 self.CreatedAt = datetime.utcnow() self.RevisedLifetime = 0 self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.UInt32.pack(self.ChannelId)) packet.append(uabin.Primitives.UInt32.pack(self.TokenId)) packet.append(uabin.Primitives.DateTime.pack(self.CreatedAt)) packet.append(uabin.Primitives.UInt32.pack(self.RevisedLifetime)) return b''.join(packet) @staticmethod def from_binary(data): return ChannelSecurityToken(data) def _binary_init(self, data): self.ChannelId = uabin.Primitives.UInt32.unpack(data) self.TokenId = uabin.Primitives.UInt32.unpack(data) self.CreatedAt = uabin.Primitives.DateTime.unpack(data) self.RevisedLifetime = uabin.Primitives.UInt32.unpack(data) def __str__(self): return 'ChannelSecurityToken(' + 'ChannelId:' + str(self.ChannelId) + ', ' + \ 'TokenId:' + str(self.TokenId) + ', ' + \ 'CreatedAt:' + str(self.CreatedAt) + ', ' + \ 'RevisedLifetime:' + str(self.RevisedLifetime) + ')' __repr__ = __str__ class OpenSecureChannelParameters(FrozenClass): ''' :ivar ClientProtocolVersion: :vartype ClientProtocolVersion: UInt32 :ivar RequestType: :vartype RequestType: SecurityTokenRequestType :ivar SecurityMode: :vartype SecurityMode: MessageSecurityMode :ivar ClientNonce: :vartype ClientNonce: ByteString :ivar RequestedLifetime: :vartype RequestedLifetime: UInt32 ''' ua_types = { 'ClientProtocolVersion': 'UInt32', 'RequestType': 'SecurityTokenRequestType', 'SecurityMode': 'MessageSecurityMode', 'ClientNonce': 'ByteString', 'RequestedLifetime': 'UInt32', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.ClientProtocolVersion = 0 self.RequestType = SecurityTokenRequestType(0) self.SecurityMode = MessageSecurityMode(0) self.ClientNonce = None self.RequestedLifetime = 0 self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.UInt32.pack(self.ClientProtocolVersion)) packet.append(uabin.Primitives.UInt32.pack(self.RequestType.value)) packet.append(uabin.Primitives.UInt32.pack(self.SecurityMode.value)) packet.append(uabin.Primitives.ByteString.pack(self.ClientNonce)) packet.append(uabin.Primitives.UInt32.pack(self.RequestedLifetime)) return b''.join(packet) @staticmethod def from_binary(data): return OpenSecureChannelParameters(data) def _binary_init(self, data): self.ClientProtocolVersion = uabin.Primitives.UInt32.unpack(data) self.RequestType = SecurityTokenRequestType(uabin.Primitives.UInt32.unpack(data)) self.SecurityMode = MessageSecurityMode(uabin.Primitives.UInt32.unpack(data)) self.ClientNonce = uabin.Primitives.ByteString.unpack(data) self.RequestedLifetime = uabin.Primitives.UInt32.unpack(data) def __str__(self): return 'OpenSecureChannelParameters(' + 'ClientProtocolVersion:' + str(self.ClientProtocolVersion) + ', ' + \ 'RequestType:' + str(self.RequestType) + ', ' + \ 'SecurityMode:' + str(self.SecurityMode) + ', ' + \ 'ClientNonce:' + str(self.ClientNonce) + ', ' + \ 'RequestedLifetime:' + str(self.RequestedLifetime) + ')' __repr__ = __str__ class OpenSecureChannelRequest(FrozenClass): ''' Creates a secure channel with a server. :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: OpenSecureChannelParameters ''' ua_types = { 'TypeId': 'NodeId', 'RequestHeader': 'RequestHeader', 'Parameters': 'OpenSecureChannelParameters', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.OpenSecureChannelRequest_Encoding_DefaultBinary) self.RequestHeader = RequestHeader() self.Parameters = OpenSecureChannelParameters() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.RequestHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return OpenSecureChannelRequest(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.RequestHeader = RequestHeader.from_binary(data) self.Parameters = OpenSecureChannelParameters.from_binary(data) def __str__(self): return 'OpenSecureChannelRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class OpenSecureChannelResult(FrozenClass): ''' :ivar ServerProtocolVersion: :vartype ServerProtocolVersion: UInt32 :ivar SecurityToken: :vartype SecurityToken: ChannelSecurityToken :ivar ServerNonce: :vartype ServerNonce: ByteString ''' ua_types = { 'ServerProtocolVersion': 'UInt32', 'SecurityToken': 'ChannelSecurityToken', 'ServerNonce': 'ByteString', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.ServerProtocolVersion = 0 self.SecurityToken = ChannelSecurityToken() self.ServerNonce = None self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.UInt32.pack(self.ServerProtocolVersion)) packet.append(self.SecurityToken.to_binary()) packet.append(uabin.Primitives.ByteString.pack(self.ServerNonce)) return b''.join(packet) @staticmethod def from_binary(data): return OpenSecureChannelResult(data) def _binary_init(self, data): self.ServerProtocolVersion = uabin.Primitives.UInt32.unpack(data) self.SecurityToken = ChannelSecurityToken.from_binary(data) self.ServerNonce = uabin.Primitives.ByteString.unpack(data) def __str__(self): return 'OpenSecureChannelResult(' + 'ServerProtocolVersion:' + str(self.ServerProtocolVersion) + ', ' + \ 'SecurityToken:' + str(self.SecurityToken) + ', ' + \ 'ServerNonce:' + str(self.ServerNonce) + ')' __repr__ = __str__ class OpenSecureChannelResponse(FrozenClass): ''' Creates a secure channel with a server. :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: OpenSecureChannelResult ''' ua_types = { 'TypeId': 'NodeId', 'ResponseHeader': 'ResponseHeader', 'Parameters': 'OpenSecureChannelResult', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.OpenSecureChannelResponse_Encoding_DefaultBinary) self.ResponseHeader = ResponseHeader() self.Parameters = OpenSecureChannelResult() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.ResponseHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return OpenSecureChannelResponse(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.ResponseHeader = ResponseHeader.from_binary(data) self.Parameters = OpenSecureChannelResult.from_binary(data) def __str__(self): return 'OpenSecureChannelResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class CloseSecureChannelRequest(FrozenClass): ''' Closes a secure channel. :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader ''' ua_types = { 'TypeId': 'NodeId', 'RequestHeader': 'RequestHeader', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.CloseSecureChannelRequest_Encoding_DefaultBinary) self.RequestHeader = RequestHeader() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.RequestHeader.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return CloseSecureChannelRequest(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.RequestHeader = RequestHeader.from_binary(data) def __str__(self): return 'CloseSecureChannelRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'RequestHeader:' + str(self.RequestHeader) + ')' __repr__ = __str__ class CloseSecureChannelResponse(FrozenClass): ''' Closes a secure channel. :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader ''' ua_types = { 'TypeId': 'NodeId', 'ResponseHeader': 'ResponseHeader', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.CloseSecureChannelResponse_Encoding_DefaultBinary) self.ResponseHeader = ResponseHeader() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.ResponseHeader.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return CloseSecureChannelResponse(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.ResponseHeader = ResponseHeader.from_binary(data) def __str__(self): return 'CloseSecureChannelResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'ResponseHeader:' + str(self.ResponseHeader) + ')' __repr__ = __str__ class SignedSoftwareCertificate(FrozenClass): ''' A software certificate with a digital signature. :ivar CertificateData: :vartype CertificateData: ByteString :ivar Signature: :vartype Signature: ByteString ''' ua_types = { 'CertificateData': 'ByteString', 'Signature': 'ByteString', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.CertificateData = None self.Signature = None self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.ByteString.pack(self.CertificateData)) packet.append(uabin.Primitives.ByteString.pack(self.Signature)) return b''.join(packet) @staticmethod def from_binary(data): return SignedSoftwareCertificate(data) def _binary_init(self, data): self.CertificateData = uabin.Primitives.ByteString.unpack(data) self.Signature = uabin.Primitives.ByteString.unpack(data) def __str__(self): return 'SignedSoftwareCertificate(' + 'CertificateData:' + str(self.CertificateData) + ', ' + \ 'Signature:' + str(self.Signature) + ')' __repr__ = __str__ class SignatureData(FrozenClass): ''' A digital signature. :ivar Algorithm: :vartype Algorithm: String :ivar Signature: :vartype Signature: ByteString ''' ua_types = { 'Algorithm': 'String', 'Signature': 'ByteString', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.Algorithm = None self.Signature = None self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.String.pack(self.Algorithm)) packet.append(uabin.Primitives.ByteString.pack(self.Signature)) return b''.join(packet) @staticmethod def from_binary(data): return SignatureData(data) def _binary_init(self, data): self.Algorithm = uabin.Primitives.String.unpack(data) self.Signature = uabin.Primitives.ByteString.unpack(data) def __str__(self): return 'SignatureData(' + 'Algorithm:' + str(self.Algorithm) + ', ' + \ 'Signature:' + str(self.Signature) + ')' __repr__ = __str__ class CreateSessionParameters(FrozenClass): ''' :ivar ClientDescription: :vartype ClientDescription: ApplicationDescription :ivar ServerUri: :vartype ServerUri: String :ivar EndpointUrl: :vartype EndpointUrl: String :ivar SessionName: :vartype SessionName: String :ivar ClientNonce: :vartype ClientNonce: ByteString :ivar ClientCertificate: :vartype ClientCertificate: ByteString :ivar RequestedSessionTimeout: :vartype RequestedSessionTimeout: Double :ivar MaxResponseMessageSize: :vartype MaxResponseMessageSize: UInt32 ''' ua_types = { 'ClientDescription': 'ApplicationDescription', 'ServerUri': 'String', 'EndpointUrl': 'String', 'SessionName': 'String', 'ClientNonce': 'ByteString', 'ClientCertificate': 'ByteString', 'RequestedSessionTimeout': 'Double', 'MaxResponseMessageSize': 'UInt32', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.ClientDescription = ApplicationDescription() self.ServerUri = None self.EndpointUrl = None self.SessionName = None self.ClientNonce = None self.ClientCertificate = None self.RequestedSessionTimeout = 0 self.MaxResponseMessageSize = 0 self._freeze = True def to_binary(self): packet = [] packet.append(self.ClientDescription.to_binary()) packet.append(uabin.Primitives.String.pack(self.ServerUri)) packet.append(uabin.Primitives.String.pack(self.EndpointUrl)) packet.append(uabin.Primitives.String.pack(self.SessionName)) packet.append(uabin.Primitives.ByteString.pack(self.ClientNonce)) packet.append(uabin.Primitives.ByteString.pack(self.ClientCertificate)) packet.append(uabin.Primitives.Double.pack(self.RequestedSessionTimeout)) packet.append(uabin.Primitives.UInt32.pack(self.MaxResponseMessageSize)) return b''.join(packet) @staticmethod def from_binary(data): return CreateSessionParameters(data) def _binary_init(self, data): self.ClientDescription = ApplicationDescription.from_binary(data) self.ServerUri = uabin.Primitives.String.unpack(data) self.EndpointUrl = uabin.Primitives.String.unpack(data) self.SessionName = uabin.Primitives.String.unpack(data) self.ClientNonce = uabin.Primitives.ByteString.unpack(data) self.ClientCertificate = uabin.Primitives.ByteString.unpack(data) self.RequestedSessionTimeout = uabin.Primitives.Double.unpack(data) self.MaxResponseMessageSize = uabin.Primitives.UInt32.unpack(data) def __str__(self): return 'CreateSessionParameters(' + 'ClientDescription:' + str(self.ClientDescription) + ', ' + \ 'ServerUri:' + str(self.ServerUri) + ', ' + \ 'EndpointUrl:' + str(self.EndpointUrl) + ', ' + \ 'SessionName:' + str(self.SessionName) + ', ' + \ 'ClientNonce:' + str(self.ClientNonce) + ', ' + \ 'ClientCertificate:' + str(self.ClientCertificate) + ', ' + \ 'RequestedSessionTimeout:' + str(self.RequestedSessionTimeout) + ', ' + \ 'MaxResponseMessageSize:' + str(self.MaxResponseMessageSize) + ')' __repr__ = __str__ class CreateSessionRequest(FrozenClass): ''' Creates a new session with the server. :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: CreateSessionParameters ''' ua_types = { 'TypeId': 'NodeId', 'RequestHeader': 'RequestHeader', 'Parameters': 'CreateSessionParameters', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.CreateSessionRequest_Encoding_DefaultBinary) self.RequestHeader = RequestHeader() self.Parameters = CreateSessionParameters() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.RequestHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return CreateSessionRequest(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.RequestHeader = RequestHeader.from_binary(data) self.Parameters = CreateSessionParameters.from_binary(data) def __str__(self): return 'CreateSessionRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class CreateSessionResult(FrozenClass): ''' :ivar SessionId: :vartype SessionId: NodeId :ivar AuthenticationToken: :vartype AuthenticationToken: NodeId :ivar RevisedSessionTimeout: :vartype RevisedSessionTimeout: Double :ivar ServerNonce: :vartype ServerNonce: ByteString :ivar ServerCertificate: :vartype ServerCertificate: ByteString :ivar ServerEndpoints: :vartype ServerEndpoints: EndpointDescription :ivar ServerSoftwareCertificates: :vartype ServerSoftwareCertificates: SignedSoftwareCertificate :ivar ServerSignature: :vartype ServerSignature: SignatureData :ivar MaxRequestMessageSize: :vartype MaxRequestMessageSize: UInt32 ''' ua_types = { 'SessionId': 'NodeId', 'AuthenticationToken': 'NodeId', 'RevisedSessionTimeout': 'Double', 'ServerNonce': 'ByteString', 'ServerCertificate': 'ByteString', 'ServerEndpoints': 'EndpointDescription', 'ServerSoftwareCertificates': 'SignedSoftwareCertificate', 'ServerSignature': 'SignatureData', 'MaxRequestMessageSize': 'UInt32', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.SessionId = NodeId() self.AuthenticationToken = NodeId() self.RevisedSessionTimeout = 0 self.ServerNonce = None self.ServerCertificate = None self.ServerEndpoints = [] self.ServerSoftwareCertificates = [] self.ServerSignature = SignatureData() self.MaxRequestMessageSize = 0 self._freeze = True def to_binary(self): packet = [] packet.append(self.SessionId.to_binary()) packet.append(self.AuthenticationToken.to_binary()) packet.append(uabin.Primitives.Double.pack(self.RevisedSessionTimeout)) packet.append(uabin.Primitives.ByteString.pack(self.ServerNonce)) packet.append(uabin.Primitives.ByteString.pack(self.ServerCertificate)) packet.append(uabin.Primitives.Int32.pack(len(self.ServerEndpoints))) for fieldname in self.ServerEndpoints: packet.append(fieldname.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.ServerSoftwareCertificates))) for fieldname in self.ServerSoftwareCertificates: packet.append(fieldname.to_binary()) packet.append(self.ServerSignature.to_binary()) packet.append(uabin.Primitives.UInt32.pack(self.MaxRequestMessageSize)) return b''.join(packet) @staticmethod def from_binary(data): return CreateSessionResult(data) def _binary_init(self, data): self.SessionId = NodeId.from_binary(data) self.AuthenticationToken = NodeId.from_binary(data) self.RevisedSessionTimeout = uabin.Primitives.Double.unpack(data) self.ServerNonce = uabin.Primitives.ByteString.unpack(data) self.ServerCertificate = uabin.Primitives.ByteString.unpack(data) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(EndpointDescription.from_binary(data)) self.ServerEndpoints = array length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(SignedSoftwareCertificate.from_binary(data)) self.ServerSoftwareCertificates = array self.ServerSignature = SignatureData.from_binary(data) self.MaxRequestMessageSize = uabin.Primitives.UInt32.unpack(data) def __str__(self): return 'CreateSessionResult(' + 'SessionId:' + str(self.SessionId) + ', ' + \ 'AuthenticationToken:' + str(self.AuthenticationToken) + ', ' + \ 'RevisedSessionTimeout:' + str(self.RevisedSessionTimeout) + ', ' + \ 'ServerNonce:' + str(self.ServerNonce) + ', ' + \ 'ServerCertificate:' + str(self.ServerCertificate) + ', ' + \ 'ServerEndpoints:' + str(self.ServerEndpoints) + ', ' + \ 'ServerSoftwareCertificates:' + str(self.ServerSoftwareCertificates) + ', ' + \ 'ServerSignature:' + str(self.ServerSignature) + ', ' + \ 'MaxRequestMessageSize:' + str(self.MaxRequestMessageSize) + ')' __repr__ = __str__ class CreateSessionResponse(FrozenClass): ''' Creates a new session with the server. :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: CreateSessionResult ''' ua_types = { 'TypeId': 'NodeId', 'ResponseHeader': 'ResponseHeader', 'Parameters': 'CreateSessionResult', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.CreateSessionResponse_Encoding_DefaultBinary) self.ResponseHeader = ResponseHeader() self.Parameters = CreateSessionResult() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.ResponseHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return CreateSessionResponse(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.ResponseHeader = ResponseHeader.from_binary(data) self.Parameters = CreateSessionResult.from_binary(data) def __str__(self): return 'CreateSessionResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class UserIdentityToken(FrozenClass): ''' A base type for a user identity token. :ivar PolicyId: :vartype PolicyId: String ''' ua_types = { 'PolicyId': 'String', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.PolicyId = None self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.String.pack(self.PolicyId)) return b''.join(packet) @staticmethod def from_binary(data): return UserIdentityToken(data) def _binary_init(self, data): self.PolicyId = uabin.Primitives.String.unpack(data) def __str__(self): return 'UserIdentityToken(' + 'PolicyId:' + str(self.PolicyId) + ')' __repr__ = __str__ class AnonymousIdentityToken(FrozenClass): ''' A token representing an anonymous user. :ivar PolicyId: :vartype PolicyId: String ''' ua_types = { 'PolicyId': 'String', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.PolicyId = None self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.String.pack(self.PolicyId)) return b''.join(packet) @staticmethod def from_binary(data): return AnonymousIdentityToken(data) def _binary_init(self, data): self.PolicyId = uabin.Primitives.String.unpack(data) def __str__(self): return 'AnonymousIdentityToken(' + 'PolicyId:' + str(self.PolicyId) + ')' __repr__ = __str__ class UserNameIdentityToken(FrozenClass): ''' A token representing a user identified by a user name and password. :ivar PolicyId: :vartype PolicyId: String :ivar UserName: :vartype UserName: String :ivar Password: :vartype Password: ByteString :ivar EncryptionAlgorithm: :vartype EncryptionAlgorithm: String ''' ua_types = { 'PolicyId': 'String', 'UserName': 'String', 'Password': 'ByteString', 'EncryptionAlgorithm': 'String', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.PolicyId = None self.UserName = None self.Password = None self.EncryptionAlgorithm = None self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.String.pack(self.PolicyId)) packet.append(uabin.Primitives.String.pack(self.UserName)) packet.append(uabin.Primitives.ByteString.pack(self.Password)) packet.append(uabin.Primitives.String.pack(self.EncryptionAlgorithm)) return b''.join(packet) @staticmethod def from_binary(data): return UserNameIdentityToken(data) def _binary_init(self, data): self.PolicyId = uabin.Primitives.String.unpack(data) self.UserName = uabin.Primitives.String.unpack(data) self.Password = uabin.Primitives.ByteString.unpack(data) self.EncryptionAlgorithm = uabin.Primitives.String.unpack(data) def __str__(self): return 'UserNameIdentityToken(' + 'PolicyId:' + str(self.PolicyId) + ', ' + \ 'UserName:' + str(self.UserName) + ', ' + \ 'Password:' + str(self.Password) + ', ' + \ 'EncryptionAlgorithm:' + str(self.EncryptionAlgorithm) + ')' __repr__ = __str__ class X509IdentityToken(FrozenClass): ''' A token representing a user identified by an X509 certificate. :ivar PolicyId: :vartype PolicyId: String :ivar CertificateData: :vartype CertificateData: ByteString ''' ua_types = { 'PolicyId': 'String', 'CertificateData': 'ByteString', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.PolicyId = None self.CertificateData = None self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.String.pack(self.PolicyId)) packet.append(uabin.Primitives.ByteString.pack(self.CertificateData)) return b''.join(packet) @staticmethod def from_binary(data): return X509IdentityToken(data) def _binary_init(self, data): self.PolicyId = uabin.Primitives.String.unpack(data) self.CertificateData = uabin.Primitives.ByteString.unpack(data) def __str__(self): return 'X509IdentityToken(' + 'PolicyId:' + str(self.PolicyId) + ', ' + \ 'CertificateData:' + str(self.CertificateData) + ')' __repr__ = __str__ class KerberosIdentityToken(FrozenClass): ''' :ivar PolicyId: :vartype PolicyId: String :ivar TicketData: :vartype TicketData: ByteString ''' ua_types = { 'PolicyId': 'String', 'TicketData': 'ByteString', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.PolicyId = None self.TicketData = None self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.String.pack(self.PolicyId)) packet.append(uabin.Primitives.ByteString.pack(self.TicketData)) return b''.join(packet) @staticmethod def from_binary(data): return KerberosIdentityToken(data) def _binary_init(self, data): self.PolicyId = uabin.Primitives.String.unpack(data) self.TicketData = uabin.Primitives.ByteString.unpack(data) def __str__(self): return 'KerberosIdentityToken(' + 'PolicyId:' + str(self.PolicyId) + ', ' + \ 'TicketData:' + str(self.TicketData) + ')' __repr__ = __str__ class IssuedIdentityToken(FrozenClass): ''' A token representing a user identified by a WS-Security XML token. :ivar PolicyId: :vartype PolicyId: String :ivar TokenData: :vartype TokenData: ByteString :ivar EncryptionAlgorithm: :vartype EncryptionAlgorithm: String ''' ua_types = { 'PolicyId': 'String', 'TokenData': 'ByteString', 'EncryptionAlgorithm': 'String', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.PolicyId = None self.TokenData = None self.EncryptionAlgorithm = None self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.String.pack(self.PolicyId)) packet.append(uabin.Primitives.ByteString.pack(self.TokenData)) packet.append(uabin.Primitives.String.pack(self.EncryptionAlgorithm)) return b''.join(packet) @staticmethod def from_binary(data): return IssuedIdentityToken(data) def _binary_init(self, data): self.PolicyId = uabin.Primitives.String.unpack(data) self.TokenData = uabin.Primitives.ByteString.unpack(data) self.EncryptionAlgorithm = uabin.Primitives.String.unpack(data) def __str__(self): return 'IssuedIdentityToken(' + 'PolicyId:' + str(self.PolicyId) + ', ' + \ 'TokenData:' + str(self.TokenData) + ', ' + \ 'EncryptionAlgorithm:' + str(self.EncryptionAlgorithm) + ')' __repr__ = __str__ class ActivateSessionParameters(FrozenClass): ''' :ivar ClientSignature: :vartype ClientSignature: SignatureData :ivar ClientSoftwareCertificates: :vartype ClientSoftwareCertificates: SignedSoftwareCertificate :ivar LocaleIds: :vartype LocaleIds: String :ivar UserIdentityToken: :vartype UserIdentityToken: ExtensionObject :ivar UserTokenSignature: :vartype UserTokenSignature: SignatureData ''' ua_types = { 'ClientSignature': 'SignatureData', 'ClientSoftwareCertificates': 'SignedSoftwareCertificate', 'LocaleIds': 'String', 'UserIdentityToken': 'ExtensionObject', 'UserTokenSignature': 'SignatureData', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.ClientSignature = SignatureData() self.ClientSoftwareCertificates = [] self.LocaleIds = [] self.UserIdentityToken = None self.UserTokenSignature = SignatureData() self._freeze = True def to_binary(self): packet = [] packet.append(self.ClientSignature.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.ClientSoftwareCertificates))) for fieldname in self.ClientSoftwareCertificates: packet.append(fieldname.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.LocaleIds))) for fieldname in self.LocaleIds: packet.append(uabin.Primitives.String.pack(fieldname)) packet.append(extensionobject_to_binary(self.UserIdentityToken)) packet.append(self.UserTokenSignature.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return ActivateSessionParameters(data) def _binary_init(self, data): self.ClientSignature = SignatureData.from_binary(data) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(SignedSoftwareCertificate.from_binary(data)) self.ClientSoftwareCertificates = array self.LocaleIds = uabin.Primitives.String.unpack_array(data) self.UserIdentityToken = extensionobject_from_binary(data) self.UserTokenSignature = SignatureData.from_binary(data) def __str__(self): return 'ActivateSessionParameters(' + 'ClientSignature:' + str(self.ClientSignature) + ', ' + \ 'ClientSoftwareCertificates:' + str(self.ClientSoftwareCertificates) + ', ' + \ 'LocaleIds:' + str(self.LocaleIds) + ', ' + \ 'UserIdentityToken:' + str(self.UserIdentityToken) + ', ' + \ 'UserTokenSignature:' + str(self.UserTokenSignature) + ')' __repr__ = __str__ class ActivateSessionRequest(FrozenClass): ''' Activates a session with the server. :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: ActivateSessionParameters ''' ua_types = { 'TypeId': 'NodeId', 'RequestHeader': 'RequestHeader', 'Parameters': 'ActivateSessionParameters', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.ActivateSessionRequest_Encoding_DefaultBinary) self.RequestHeader = RequestHeader() self.Parameters = ActivateSessionParameters() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.RequestHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return ActivateSessionRequest(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.RequestHeader = RequestHeader.from_binary(data) self.Parameters = ActivateSessionParameters.from_binary(data) def __str__(self): return 'ActivateSessionRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class ActivateSessionResult(FrozenClass): ''' :ivar ServerNonce: :vartype ServerNonce: ByteString :ivar Results: :vartype Results: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo ''' ua_types = { 'ServerNonce': 'ByteString', 'Results': 'StatusCode', 'DiagnosticInfos': 'DiagnosticInfo', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.ServerNonce = None self.Results = [] self.DiagnosticInfos = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.ByteString.pack(self.ServerNonce)) packet.append(uabin.Primitives.Int32.pack(len(self.Results))) for fieldname in self.Results: packet.append(fieldname.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.DiagnosticInfos))) for fieldname in self.DiagnosticInfos: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return ActivateSessionResult(data) def _binary_init(self, data): self.ServerNonce = uabin.Primitives.ByteString.unpack(data) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(StatusCode.from_binary(data)) self.Results = array length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(DiagnosticInfo.from_binary(data)) self.DiagnosticInfos = array def __str__(self): return 'ActivateSessionResult(' + 'ServerNonce:' + str(self.ServerNonce) + ', ' + \ 'Results:' + str(self.Results) + ', ' + \ 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' __repr__ = __str__ class ActivateSessionResponse(FrozenClass): ''' Activates a session with the server. :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: ActivateSessionResult ''' ua_types = { 'TypeId': 'NodeId', 'ResponseHeader': 'ResponseHeader', 'Parameters': 'ActivateSessionResult', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.ActivateSessionResponse_Encoding_DefaultBinary) self.ResponseHeader = ResponseHeader() self.Parameters = ActivateSessionResult() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.ResponseHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return ActivateSessionResponse(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.ResponseHeader = ResponseHeader.from_binary(data) self.Parameters = ActivateSessionResult.from_binary(data) def __str__(self): return 'ActivateSessionResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class CloseSessionRequest(FrozenClass): ''' Closes a session with the server. :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar DeleteSubscriptions: :vartype DeleteSubscriptions: Boolean ''' ua_types = { 'TypeId': 'NodeId', 'RequestHeader': 'RequestHeader', 'DeleteSubscriptions': 'Boolean', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.CloseSessionRequest_Encoding_DefaultBinary) self.RequestHeader = RequestHeader() self.DeleteSubscriptions = True self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.RequestHeader.to_binary()) packet.append(uabin.Primitives.Boolean.pack(self.DeleteSubscriptions)) return b''.join(packet) @staticmethod def from_binary(data): return CloseSessionRequest(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.RequestHeader = RequestHeader.from_binary(data) self.DeleteSubscriptions = uabin.Primitives.Boolean.unpack(data) def __str__(self): return 'CloseSessionRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ 'DeleteSubscriptions:' + str(self.DeleteSubscriptions) + ')' __repr__ = __str__ class CloseSessionResponse(FrozenClass): ''' Closes a session with the server. :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader ''' ua_types = { 'TypeId': 'NodeId', 'ResponseHeader': 'ResponseHeader', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.CloseSessionResponse_Encoding_DefaultBinary) self.ResponseHeader = ResponseHeader() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.ResponseHeader.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return CloseSessionResponse(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.ResponseHeader = ResponseHeader.from_binary(data) def __str__(self): return 'CloseSessionResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'ResponseHeader:' + str(self.ResponseHeader) + ')' __repr__ = __str__ class CancelParameters(FrozenClass): ''' :ivar RequestHandle: :vartype RequestHandle: UInt32 ''' ua_types = { 'RequestHandle': 'UInt32', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.RequestHandle = 0 self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.UInt32.pack(self.RequestHandle)) return b''.join(packet) @staticmethod def from_binary(data): return CancelParameters(data) def _binary_init(self, data): self.RequestHandle = uabin.Primitives.UInt32.unpack(data) def __str__(self): return 'CancelParameters(' + 'RequestHandle:' + str(self.RequestHandle) + ')' __repr__ = __str__ class CancelRequest(FrozenClass): ''' Cancels an outstanding request. :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: CancelParameters ''' ua_types = { 'TypeId': 'NodeId', 'RequestHeader': 'RequestHeader', 'Parameters': 'CancelParameters', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.CancelRequest_Encoding_DefaultBinary) self.RequestHeader = RequestHeader() self.Parameters = CancelParameters() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.RequestHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return CancelRequest(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.RequestHeader = RequestHeader.from_binary(data) self.Parameters = CancelParameters.from_binary(data) def __str__(self): return 'CancelRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class CancelResult(FrozenClass): ''' :ivar CancelCount: :vartype CancelCount: UInt32 ''' ua_types = { 'CancelCount': 'UInt32', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.CancelCount = 0 self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.UInt32.pack(self.CancelCount)) return b''.join(packet) @staticmethod def from_binary(data): return CancelResult(data) def _binary_init(self, data): self.CancelCount = uabin.Primitives.UInt32.unpack(data) def __str__(self): return 'CancelResult(' + 'CancelCount:' + str(self.CancelCount) + ')' __repr__ = __str__ class CancelResponse(FrozenClass): ''' Cancels an outstanding request. :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: CancelResult ''' ua_types = { 'TypeId': 'NodeId', 'ResponseHeader': 'ResponseHeader', 'Parameters': 'CancelResult', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.CancelResponse_Encoding_DefaultBinary) self.ResponseHeader = ResponseHeader() self.Parameters = CancelResult() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.ResponseHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return CancelResponse(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.ResponseHeader = ResponseHeader.from_binary(data) self.Parameters = CancelResult.from_binary(data) def __str__(self): return 'CancelResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class NodeAttributes(FrozenClass): ''' The base attributes for all nodes. :ivar SpecifiedAttributes: :vartype SpecifiedAttributes: UInt32 :ivar DisplayName: :vartype DisplayName: LocalizedText :ivar Description: :vartype Description: LocalizedText :ivar WriteMask: :vartype WriteMask: UInt32 :ivar UserWriteMask: :vartype UserWriteMask: UInt32 ''' ua_types = { 'SpecifiedAttributes': 'UInt32', 'DisplayName': 'LocalizedText', 'Description': 'LocalizedText', 'WriteMask': 'UInt32', 'UserWriteMask': 'UInt32', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.SpecifiedAttributes = 0 self.DisplayName = LocalizedText() self.Description = LocalizedText() self.WriteMask = 0 self.UserWriteMask = 0 self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.UInt32.pack(self.SpecifiedAttributes)) packet.append(self.DisplayName.to_binary()) packet.append(self.Description.to_binary()) packet.append(uabin.Primitives.UInt32.pack(self.WriteMask)) packet.append(uabin.Primitives.UInt32.pack(self.UserWriteMask)) return b''.join(packet) @staticmethod def from_binary(data): return NodeAttributes(data) def _binary_init(self, data): self.SpecifiedAttributes = uabin.Primitives.UInt32.unpack(data) self.DisplayName = LocalizedText.from_binary(data) self.Description = LocalizedText.from_binary(data) self.WriteMask = uabin.Primitives.UInt32.unpack(data) self.UserWriteMask = uabin.Primitives.UInt32.unpack(data) def __str__(self): return 'NodeAttributes(' + 'SpecifiedAttributes:' + str(self.SpecifiedAttributes) + ', ' + \ 'DisplayName:' + str(self.DisplayName) + ', ' + \ 'Description:' + str(self.Description) + ', ' + \ 'WriteMask:' + str(self.WriteMask) + ', ' + \ 'UserWriteMask:' + str(self.UserWriteMask) + ')' __repr__ = __str__ class ObjectAttributes(FrozenClass): ''' The attributes for an object node. :ivar SpecifiedAttributes: :vartype SpecifiedAttributes: UInt32 :ivar DisplayName: :vartype DisplayName: LocalizedText :ivar Description: :vartype Description: LocalizedText :ivar WriteMask: :vartype WriteMask: UInt32 :ivar UserWriteMask: :vartype UserWriteMask: UInt32 :ivar EventNotifier: :vartype EventNotifier: Byte ''' ua_types = { 'SpecifiedAttributes': 'UInt32', 'DisplayName': 'LocalizedText', 'Description': 'LocalizedText', 'WriteMask': 'UInt32', 'UserWriteMask': 'UInt32', 'EventNotifier': 'Byte', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.SpecifiedAttributes = 0 self.DisplayName = LocalizedText() self.Description = LocalizedText() self.WriteMask = 0 self.UserWriteMask = 0 self.EventNotifier = 0 self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.UInt32.pack(self.SpecifiedAttributes)) packet.append(self.DisplayName.to_binary()) packet.append(self.Description.to_binary()) packet.append(uabin.Primitives.UInt32.pack(self.WriteMask)) packet.append(uabin.Primitives.UInt32.pack(self.UserWriteMask)) packet.append(uabin.Primitives.Byte.pack(self.EventNotifier)) return b''.join(packet) @staticmethod def from_binary(data): return ObjectAttributes(data) def _binary_init(self, data): self.SpecifiedAttributes = uabin.Primitives.UInt32.unpack(data) self.DisplayName = LocalizedText.from_binary(data) self.Description = LocalizedText.from_binary(data) self.WriteMask = uabin.Primitives.UInt32.unpack(data) self.UserWriteMask = uabin.Primitives.UInt32.unpack(data) self.EventNotifier = uabin.Primitives.Byte.unpack(data) def __str__(self): return 'ObjectAttributes(' + 'SpecifiedAttributes:' + str(self.SpecifiedAttributes) + ', ' + \ 'DisplayName:' + str(self.DisplayName) + ', ' + \ 'Description:' + str(self.Description) + ', ' + \ 'WriteMask:' + str(self.WriteMask) + ', ' + \ 'UserWriteMask:' + str(self.UserWriteMask) + ', ' + \ 'EventNotifier:' + str(self.EventNotifier) + ')' __repr__ = __str__ class VariableAttributes(FrozenClass): ''' The attributes for a variable node. :ivar SpecifiedAttributes: :vartype SpecifiedAttributes: UInt32 :ivar DisplayName: :vartype DisplayName: LocalizedText :ivar Description: :vartype Description: LocalizedText :ivar WriteMask: :vartype WriteMask: UInt32 :ivar UserWriteMask: :vartype UserWriteMask: UInt32 :ivar Value: :vartype Value: Variant :ivar DataType: :vartype DataType: NodeId :ivar ValueRank: :vartype ValueRank: Int32 :ivar ArrayDimensions: :vartype ArrayDimensions: UInt32 :ivar AccessLevel: :vartype AccessLevel: Byte :ivar UserAccessLevel: :vartype UserAccessLevel: Byte :ivar MinimumSamplingInterval: :vartype MinimumSamplingInterval: Double :ivar Historizing: :vartype Historizing: Boolean ''' ua_types = { 'SpecifiedAttributes': 'UInt32', 'DisplayName': 'LocalizedText', 'Description': 'LocalizedText', 'WriteMask': 'UInt32', 'UserWriteMask': 'UInt32', 'Value': 'Variant', 'DataType': 'NodeId', 'ValueRank': 'Int32', 'ArrayDimensions': 'UInt32', 'AccessLevel': 'Byte', 'UserAccessLevel': 'Byte', 'MinimumSamplingInterval': 'Double', 'Historizing': 'Boolean', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.SpecifiedAttributes = 0 self.DisplayName = LocalizedText() self.Description = LocalizedText() self.WriteMask = 0 self.UserWriteMask = 0 self.Value = Variant() self.DataType = NodeId() self.ValueRank = 0 self.ArrayDimensions = [] self.AccessLevel = 0 self.UserAccessLevel = 0 self.MinimumSamplingInterval = 0 self.Historizing = True self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.UInt32.pack(self.SpecifiedAttributes)) packet.append(self.DisplayName.to_binary()) packet.append(self.Description.to_binary()) packet.append(uabin.Primitives.UInt32.pack(self.WriteMask)) packet.append(uabin.Primitives.UInt32.pack(self.UserWriteMask)) packet.append(self.Value.to_binary()) packet.append(self.DataType.to_binary()) packet.append(uabin.Primitives.Int32.pack(self.ValueRank)) packet.append(uabin.Primitives.Int32.pack(len(self.ArrayDimensions))) for fieldname in self.ArrayDimensions: packet.append(uabin.Primitives.UInt32.pack(fieldname)) packet.append(uabin.Primitives.Byte.pack(self.AccessLevel)) packet.append(uabin.Primitives.Byte.pack(self.UserAccessLevel)) packet.append(uabin.Primitives.Double.pack(self.MinimumSamplingInterval)) packet.append(uabin.Primitives.Boolean.pack(self.Historizing)) return b''.join(packet) @staticmethod def from_binary(data): return VariableAttributes(data) def _binary_init(self, data): self.SpecifiedAttributes = uabin.Primitives.UInt32.unpack(data) self.DisplayName = LocalizedText.from_binary(data) self.Description = LocalizedText.from_binary(data) self.WriteMask = uabin.Primitives.UInt32.unpack(data) self.UserWriteMask = uabin.Primitives.UInt32.unpack(data) self.Value = Variant.from_binary(data) self.DataType = NodeId.from_binary(data) self.ValueRank = uabin.Primitives.Int32.unpack(data) self.ArrayDimensions = uabin.Primitives.UInt32.unpack_array(data) self.AccessLevel = uabin.Primitives.Byte.unpack(data) self.UserAccessLevel = uabin.Primitives.Byte.unpack(data) self.MinimumSamplingInterval = uabin.Primitives.Double.unpack(data) self.Historizing = uabin.Primitives.Boolean.unpack(data) def __str__(self): return 'VariableAttributes(' + 'SpecifiedAttributes:' + str(self.SpecifiedAttributes) + ', ' + \ 'DisplayName:' + str(self.DisplayName) + ', ' + \ 'Description:' + str(self.Description) + ', ' + \ 'WriteMask:' + str(self.WriteMask) + ', ' + \ 'UserWriteMask:' + str(self.UserWriteMask) + ', ' + \ 'Value:' + str(self.Value) + ', ' + \ 'DataType:' + str(self.DataType) + ', ' + \ 'ValueRank:' + str(self.ValueRank) + ', ' + \ 'ArrayDimensions:' + str(self.ArrayDimensions) + ', ' + \ 'AccessLevel:' + str(self.AccessLevel) + ', ' + \ 'UserAccessLevel:' + str(self.UserAccessLevel) + ', ' + \ 'MinimumSamplingInterval:' + str(self.MinimumSamplingInterval) + ', ' + \ 'Historizing:' + str(self.Historizing) + ')' __repr__ = __str__ class MethodAttributes(FrozenClass): ''' The attributes for a method node. :ivar SpecifiedAttributes: :vartype SpecifiedAttributes: UInt32 :ivar DisplayName: :vartype DisplayName: LocalizedText :ivar Description: :vartype Description: LocalizedText :ivar WriteMask: :vartype WriteMask: UInt32 :ivar UserWriteMask: :vartype UserWriteMask: UInt32 :ivar Executable: :vartype Executable: Boolean :ivar UserExecutable: :vartype UserExecutable: Boolean ''' ua_types = { 'SpecifiedAttributes': 'UInt32', 'DisplayName': 'LocalizedText', 'Description': 'LocalizedText', 'WriteMask': 'UInt32', 'UserWriteMask': 'UInt32', 'Executable': 'Boolean', 'UserExecutable': 'Boolean', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.SpecifiedAttributes = 0 self.DisplayName = LocalizedText() self.Description = LocalizedText() self.WriteMask = 0 self.UserWriteMask = 0 self.Executable = True self.UserExecutable = True self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.UInt32.pack(self.SpecifiedAttributes)) packet.append(self.DisplayName.to_binary()) packet.append(self.Description.to_binary()) packet.append(uabin.Primitives.UInt32.pack(self.WriteMask)) packet.append(uabin.Primitives.UInt32.pack(self.UserWriteMask)) packet.append(uabin.Primitives.Boolean.pack(self.Executable)) packet.append(uabin.Primitives.Boolean.pack(self.UserExecutable)) return b''.join(packet) @staticmethod def from_binary(data): return MethodAttributes(data) def _binary_init(self, data): self.SpecifiedAttributes = uabin.Primitives.UInt32.unpack(data) self.DisplayName = LocalizedText.from_binary(data) self.Description = LocalizedText.from_binary(data) self.WriteMask = uabin.Primitives.UInt32.unpack(data) self.UserWriteMask = uabin.Primitives.UInt32.unpack(data) self.Executable = uabin.Primitives.Boolean.unpack(data) self.UserExecutable = uabin.Primitives.Boolean.unpack(data) def __str__(self): return 'MethodAttributes(' + 'SpecifiedAttributes:' + str(self.SpecifiedAttributes) + ', ' + \ 'DisplayName:' + str(self.DisplayName) + ', ' + \ 'Description:' + str(self.Description) + ', ' + \ 'WriteMask:' + str(self.WriteMask) + ', ' + \ 'UserWriteMask:' + str(self.UserWriteMask) + ', ' + \ 'Executable:' + str(self.Executable) + ', ' + \ 'UserExecutable:' + str(self.UserExecutable) + ')' __repr__ = __str__ class ObjectTypeAttributes(FrozenClass): ''' The attributes for an object type node. :ivar SpecifiedAttributes: :vartype SpecifiedAttributes: UInt32 :ivar DisplayName: :vartype DisplayName: LocalizedText :ivar Description: :vartype Description: LocalizedText :ivar WriteMask: :vartype WriteMask: UInt32 :ivar UserWriteMask: :vartype UserWriteMask: UInt32 :ivar IsAbstract: :vartype IsAbstract: Boolean ''' ua_types = { 'SpecifiedAttributes': 'UInt32', 'DisplayName': 'LocalizedText', 'Description': 'LocalizedText', 'WriteMask': 'UInt32', 'UserWriteMask': 'UInt32', 'IsAbstract': 'Boolean', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.SpecifiedAttributes = 0 self.DisplayName = LocalizedText() self.Description = LocalizedText() self.WriteMask = 0 self.UserWriteMask = 0 self.IsAbstract = True self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.UInt32.pack(self.SpecifiedAttributes)) packet.append(self.DisplayName.to_binary()) packet.append(self.Description.to_binary()) packet.append(uabin.Primitives.UInt32.pack(self.WriteMask)) packet.append(uabin.Primitives.UInt32.pack(self.UserWriteMask)) packet.append(uabin.Primitives.Boolean.pack(self.IsAbstract)) return b''.join(packet) @staticmethod def from_binary(data): return ObjectTypeAttributes(data) def _binary_init(self, data): self.SpecifiedAttributes = uabin.Primitives.UInt32.unpack(data) self.DisplayName = LocalizedText.from_binary(data) self.Description = LocalizedText.from_binary(data) self.WriteMask = uabin.Primitives.UInt32.unpack(data) self.UserWriteMask = uabin.Primitives.UInt32.unpack(data) self.IsAbstract = uabin.Primitives.Boolean.unpack(data) def __str__(self): return 'ObjectTypeAttributes(' + 'SpecifiedAttributes:' + str(self.SpecifiedAttributes) + ', ' + \ 'DisplayName:' + str(self.DisplayName) + ', ' + \ 'Description:' + str(self.Description) + ', ' + \ 'WriteMask:' + str(self.WriteMask) + ', ' + \ 'UserWriteMask:' + str(self.UserWriteMask) + ', ' + \ 'IsAbstract:' + str(self.IsAbstract) + ')' __repr__ = __str__ class VariableTypeAttributes(FrozenClass): ''' The attributes for a variable type node. :ivar SpecifiedAttributes: :vartype SpecifiedAttributes: UInt32 :ivar DisplayName: :vartype DisplayName: LocalizedText :ivar Description: :vartype Description: LocalizedText :ivar WriteMask: :vartype WriteMask: UInt32 :ivar UserWriteMask: :vartype UserWriteMask: UInt32 :ivar Value: :vartype Value: Variant :ivar DataType: :vartype DataType: NodeId :ivar ValueRank: :vartype ValueRank: Int32 :ivar ArrayDimensions: :vartype ArrayDimensions: UInt32 :ivar IsAbstract: :vartype IsAbstract: Boolean ''' ua_types = { 'SpecifiedAttributes': 'UInt32', 'DisplayName': 'LocalizedText', 'Description': 'LocalizedText', 'WriteMask': 'UInt32', 'UserWriteMask': 'UInt32', 'Value': 'Variant', 'DataType': 'NodeId', 'ValueRank': 'Int32', 'ArrayDimensions': 'UInt32', 'IsAbstract': 'Boolean', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.SpecifiedAttributes = 0 self.DisplayName = LocalizedText() self.Description = LocalizedText() self.WriteMask = 0 self.UserWriteMask = 0 self.Value = Variant() self.DataType = NodeId() self.ValueRank = 0 self.ArrayDimensions = [] self.IsAbstract = True self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.UInt32.pack(self.SpecifiedAttributes)) packet.append(self.DisplayName.to_binary()) packet.append(self.Description.to_binary()) packet.append(uabin.Primitives.UInt32.pack(self.WriteMask)) packet.append(uabin.Primitives.UInt32.pack(self.UserWriteMask)) packet.append(self.Value.to_binary()) packet.append(self.DataType.to_binary()) packet.append(uabin.Primitives.Int32.pack(self.ValueRank)) packet.append(uabin.Primitives.Int32.pack(len(self.ArrayDimensions))) for fieldname in self.ArrayDimensions: packet.append(uabin.Primitives.UInt32.pack(fieldname)) packet.append(uabin.Primitives.Boolean.pack(self.IsAbstract)) return b''.join(packet) @staticmethod def from_binary(data): return VariableTypeAttributes(data) def _binary_init(self, data): self.SpecifiedAttributes = uabin.Primitives.UInt32.unpack(data) self.DisplayName = LocalizedText.from_binary(data) self.Description = LocalizedText.from_binary(data) self.WriteMask = uabin.Primitives.UInt32.unpack(data) self.UserWriteMask = uabin.Primitives.UInt32.unpack(data) self.Value = Variant.from_binary(data) self.DataType = NodeId.from_binary(data) self.ValueRank = uabin.Primitives.Int32.unpack(data) self.ArrayDimensions = uabin.Primitives.UInt32.unpack_array(data) self.IsAbstract = uabin.Primitives.Boolean.unpack(data) def __str__(self): return 'VariableTypeAttributes(' + 'SpecifiedAttributes:' + str(self.SpecifiedAttributes) + ', ' + \ 'DisplayName:' + str(self.DisplayName) + ', ' + \ 'Description:' + str(self.Description) + ', ' + \ 'WriteMask:' + str(self.WriteMask) + ', ' + \ 'UserWriteMask:' + str(self.UserWriteMask) + ', ' + \ 'Value:' + str(self.Value) + ', ' + \ 'DataType:' + str(self.DataType) + ', ' + \ 'ValueRank:' + str(self.ValueRank) + ', ' + \ 'ArrayDimensions:' + str(self.ArrayDimensions) + ', ' + \ 'IsAbstract:' + str(self.IsAbstract) + ')' __repr__ = __str__ class ReferenceTypeAttributes(FrozenClass): ''' The attributes for a reference type node. :ivar SpecifiedAttributes: :vartype SpecifiedAttributes: UInt32 :ivar DisplayName: :vartype DisplayName: LocalizedText :ivar Description: :vartype Description: LocalizedText :ivar WriteMask: :vartype WriteMask: UInt32 :ivar UserWriteMask: :vartype UserWriteMask: UInt32 :ivar IsAbstract: :vartype IsAbstract: Boolean :ivar Symmetric: :vartype Symmetric: Boolean :ivar InverseName: :vartype InverseName: LocalizedText ''' ua_types = { 'SpecifiedAttributes': 'UInt32', 'DisplayName': 'LocalizedText', 'Description': 'LocalizedText', 'WriteMask': 'UInt32', 'UserWriteMask': 'UInt32', 'IsAbstract': 'Boolean', 'Symmetric': 'Boolean', 'InverseName': 'LocalizedText', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.SpecifiedAttributes = 0 self.DisplayName = LocalizedText() self.Description = LocalizedText() self.WriteMask = 0 self.UserWriteMask = 0 self.IsAbstract = True self.Symmetric = True self.InverseName = LocalizedText() self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.UInt32.pack(self.SpecifiedAttributes)) packet.append(self.DisplayName.to_binary()) packet.append(self.Description.to_binary()) packet.append(uabin.Primitives.UInt32.pack(self.WriteMask)) packet.append(uabin.Primitives.UInt32.pack(self.UserWriteMask)) packet.append(uabin.Primitives.Boolean.pack(self.IsAbstract)) packet.append(uabin.Primitives.Boolean.pack(self.Symmetric)) packet.append(self.InverseName.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return ReferenceTypeAttributes(data) def _binary_init(self, data): self.SpecifiedAttributes = uabin.Primitives.UInt32.unpack(data) self.DisplayName = LocalizedText.from_binary(data) self.Description = LocalizedText.from_binary(data) self.WriteMask = uabin.Primitives.UInt32.unpack(data) self.UserWriteMask = uabin.Primitives.UInt32.unpack(data) self.IsAbstract = uabin.Primitives.Boolean.unpack(data) self.Symmetric = uabin.Primitives.Boolean.unpack(data) self.InverseName = LocalizedText.from_binary(data) def __str__(self): return 'ReferenceTypeAttributes(' + 'SpecifiedAttributes:' + str(self.SpecifiedAttributes) + ', ' + \ 'DisplayName:' + str(self.DisplayName) + ', ' + \ 'Description:' + str(self.Description) + ', ' + \ 'WriteMask:' + str(self.WriteMask) + ', ' + \ 'UserWriteMask:' + str(self.UserWriteMask) + ', ' + \ 'IsAbstract:' + str(self.IsAbstract) + ', ' + \ 'Symmetric:' + str(self.Symmetric) + ', ' + \ 'InverseName:' + str(self.InverseName) + ')' __repr__ = __str__ class DataTypeAttributes(FrozenClass): ''' The attributes for a data type node. :ivar SpecifiedAttributes: :vartype SpecifiedAttributes: UInt32 :ivar DisplayName: :vartype DisplayName: LocalizedText :ivar Description: :vartype Description: LocalizedText :ivar WriteMask: :vartype WriteMask: UInt32 :ivar UserWriteMask: :vartype UserWriteMask: UInt32 :ivar IsAbstract: :vartype IsAbstract: Boolean ''' ua_types = { 'SpecifiedAttributes': 'UInt32', 'DisplayName': 'LocalizedText', 'Description': 'LocalizedText', 'WriteMask': 'UInt32', 'UserWriteMask': 'UInt32', 'IsAbstract': 'Boolean', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.SpecifiedAttributes = 0 self.DisplayName = LocalizedText() self.Description = LocalizedText() self.WriteMask = 0 self.UserWriteMask = 0 self.IsAbstract = True self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.UInt32.pack(self.SpecifiedAttributes)) packet.append(self.DisplayName.to_binary()) packet.append(self.Description.to_binary()) packet.append(uabin.Primitives.UInt32.pack(self.WriteMask)) packet.append(uabin.Primitives.UInt32.pack(self.UserWriteMask)) packet.append(uabin.Primitives.Boolean.pack(self.IsAbstract)) return b''.join(packet) @staticmethod def from_binary(data): return DataTypeAttributes(data) def _binary_init(self, data): self.SpecifiedAttributes = uabin.Primitives.UInt32.unpack(data) self.DisplayName = LocalizedText.from_binary(data) self.Description = LocalizedText.from_binary(data) self.WriteMask = uabin.Primitives.UInt32.unpack(data) self.UserWriteMask = uabin.Primitives.UInt32.unpack(data) self.IsAbstract = uabin.Primitives.Boolean.unpack(data) def __str__(self): return 'DataTypeAttributes(' + 'SpecifiedAttributes:' + str(self.SpecifiedAttributes) + ', ' + \ 'DisplayName:' + str(self.DisplayName) + ', ' + \ 'Description:' + str(self.Description) + ', ' + \ 'WriteMask:' + str(self.WriteMask) + ', ' + \ 'UserWriteMask:' + str(self.UserWriteMask) + ', ' + \ 'IsAbstract:' + str(self.IsAbstract) + ')' __repr__ = __str__ class ViewAttributes(FrozenClass): ''' The attributes for a view node. :ivar SpecifiedAttributes: :vartype SpecifiedAttributes: UInt32 :ivar DisplayName: :vartype DisplayName: LocalizedText :ivar Description: :vartype Description: LocalizedText :ivar WriteMask: :vartype WriteMask: UInt32 :ivar UserWriteMask: :vartype UserWriteMask: UInt32 :ivar ContainsNoLoops: :vartype ContainsNoLoops: Boolean :ivar EventNotifier: :vartype EventNotifier: Byte ''' ua_types = { 'SpecifiedAttributes': 'UInt32', 'DisplayName': 'LocalizedText', 'Description': 'LocalizedText', 'WriteMask': 'UInt32', 'UserWriteMask': 'UInt32', 'ContainsNoLoops': 'Boolean', 'EventNotifier': 'Byte', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.SpecifiedAttributes = 0 self.DisplayName = LocalizedText() self.Description = LocalizedText() self.WriteMask = 0 self.UserWriteMask = 0 self.ContainsNoLoops = True self.EventNotifier = 0 self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.UInt32.pack(self.SpecifiedAttributes)) packet.append(self.DisplayName.to_binary()) packet.append(self.Description.to_binary()) packet.append(uabin.Primitives.UInt32.pack(self.WriteMask)) packet.append(uabin.Primitives.UInt32.pack(self.UserWriteMask)) packet.append(uabin.Primitives.Boolean.pack(self.ContainsNoLoops)) packet.append(uabin.Primitives.Byte.pack(self.EventNotifier)) return b''.join(packet) @staticmethod def from_binary(data): return ViewAttributes(data) def _binary_init(self, data): self.SpecifiedAttributes = uabin.Primitives.UInt32.unpack(data) self.DisplayName = LocalizedText.from_binary(data) self.Description = LocalizedText.from_binary(data) self.WriteMask = uabin.Primitives.UInt32.unpack(data) self.UserWriteMask = uabin.Primitives.UInt32.unpack(data) self.ContainsNoLoops = uabin.Primitives.Boolean.unpack(data) self.EventNotifier = uabin.Primitives.Byte.unpack(data) def __str__(self): return 'ViewAttributes(' + 'SpecifiedAttributes:' + str(self.SpecifiedAttributes) + ', ' + \ 'DisplayName:' + str(self.DisplayName) + ', ' + \ 'Description:' + str(self.Description) + ', ' + \ 'WriteMask:' + str(self.WriteMask) + ', ' + \ 'UserWriteMask:' + str(self.UserWriteMask) + ', ' + \ 'ContainsNoLoops:' + str(self.ContainsNoLoops) + ', ' + \ 'EventNotifier:' + str(self.EventNotifier) + ')' __repr__ = __str__ class AddNodesItem(FrozenClass): ''' A request to add a node to the server address space. :ivar ParentNodeId: :vartype ParentNodeId: ExpandedNodeId :ivar ReferenceTypeId: :vartype ReferenceTypeId: NodeId :ivar RequestedNewNodeId: :vartype RequestedNewNodeId: ExpandedNodeId :ivar BrowseName: :vartype BrowseName: QualifiedName :ivar NodeClass: :vartype NodeClass: NodeClass :ivar NodeAttributes: :vartype NodeAttributes: ExtensionObject :ivar TypeDefinition: :vartype TypeDefinition: ExpandedNodeId ''' ua_types = { 'ParentNodeId': 'ExpandedNodeId', 'ReferenceTypeId': 'NodeId', 'RequestedNewNodeId': 'ExpandedNodeId', 'BrowseName': 'QualifiedName', 'NodeClass': 'NodeClass', 'NodeAttributes': 'ExtensionObject', 'TypeDefinition': 'ExpandedNodeId', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.ParentNodeId = ExpandedNodeId() self.ReferenceTypeId = NodeId() self.RequestedNewNodeId = ExpandedNodeId() self.BrowseName = QualifiedName() self.NodeClass = NodeClass(0) self.NodeAttributes = None self.TypeDefinition = ExpandedNodeId() self._freeze = True def to_binary(self): packet = [] packet.append(self.ParentNodeId.to_binary()) packet.append(self.ReferenceTypeId.to_binary()) packet.append(self.RequestedNewNodeId.to_binary()) packet.append(self.BrowseName.to_binary()) packet.append(uabin.Primitives.UInt32.pack(self.NodeClass.value)) packet.append(extensionobject_to_binary(self.NodeAttributes)) packet.append(self.TypeDefinition.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return AddNodesItem(data) def _binary_init(self, data): self.ParentNodeId = ExpandedNodeId.from_binary(data) self.ReferenceTypeId = NodeId.from_binary(data) self.RequestedNewNodeId = ExpandedNodeId.from_binary(data) self.BrowseName = QualifiedName.from_binary(data) self.NodeClass = NodeClass(uabin.Primitives.UInt32.unpack(data)) self.NodeAttributes = extensionobject_from_binary(data) self.TypeDefinition = ExpandedNodeId.from_binary(data) def __str__(self): return 'AddNodesItem(' + 'ParentNodeId:' + str(self.ParentNodeId) + ', ' + \ 'ReferenceTypeId:' + str(self.ReferenceTypeId) + ', ' + \ 'RequestedNewNodeId:' + str(self.RequestedNewNodeId) + ', ' + \ 'BrowseName:' + str(self.BrowseName) + ', ' + \ 'NodeClass:' + str(self.NodeClass) + ', ' + \ 'NodeAttributes:' + str(self.NodeAttributes) + ', ' + \ 'TypeDefinition:' + str(self.TypeDefinition) + ')' __repr__ = __str__ class AddNodesResult(FrozenClass): ''' A result of an add node operation. :ivar StatusCode: :vartype StatusCode: StatusCode :ivar AddedNodeId: :vartype AddedNodeId: NodeId ''' ua_types = { 'StatusCode': 'StatusCode', 'AddedNodeId': 'NodeId', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.StatusCode = StatusCode() self.AddedNodeId = NodeId() self._freeze = True def to_binary(self): packet = [] packet.append(self.StatusCode.to_binary()) packet.append(self.AddedNodeId.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return AddNodesResult(data) def _binary_init(self, data): self.StatusCode = StatusCode.from_binary(data) self.AddedNodeId = NodeId.from_binary(data) def __str__(self): return 'AddNodesResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ 'AddedNodeId:' + str(self.AddedNodeId) + ')' __repr__ = __str__ class AddNodesParameters(FrozenClass): ''' :ivar NodesToAdd: :vartype NodesToAdd: AddNodesItem ''' ua_types = { 'NodesToAdd': 'AddNodesItem', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.NodesToAdd = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.Int32.pack(len(self.NodesToAdd))) for fieldname in self.NodesToAdd: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return AddNodesParameters(data) def _binary_init(self, data): length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(AddNodesItem.from_binary(data)) self.NodesToAdd = array def __str__(self): return 'AddNodesParameters(' + 'NodesToAdd:' + str(self.NodesToAdd) + ')' __repr__ = __str__ class AddNodesRequest(FrozenClass): ''' Adds one or more nodes to the server address space. :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: AddNodesParameters ''' ua_types = { 'TypeId': 'NodeId', 'RequestHeader': 'RequestHeader', 'Parameters': 'AddNodesParameters', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.AddNodesRequest_Encoding_DefaultBinary) self.RequestHeader = RequestHeader() self.Parameters = AddNodesParameters() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.RequestHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return AddNodesRequest(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.RequestHeader = RequestHeader.from_binary(data) self.Parameters = AddNodesParameters.from_binary(data) def __str__(self): return 'AddNodesRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class AddNodesResponse(FrozenClass): ''' Adds one or more nodes to the server address space. :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Results: :vartype Results: AddNodesResult :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo ''' ua_types = { 'TypeId': 'NodeId', 'ResponseHeader': 'ResponseHeader', 'Results': 'AddNodesResult', 'DiagnosticInfos': 'DiagnosticInfo', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.AddNodesResponse_Encoding_DefaultBinary) self.ResponseHeader = ResponseHeader() self.Results = [] self.DiagnosticInfos = [] self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.ResponseHeader.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.Results))) for fieldname in self.Results: packet.append(fieldname.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.DiagnosticInfos))) for fieldname in self.DiagnosticInfos: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return AddNodesResponse(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.ResponseHeader = ResponseHeader.from_binary(data) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(AddNodesResult.from_binary(data)) self.Results = array length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(DiagnosticInfo.from_binary(data)) self.DiagnosticInfos = array def __str__(self): return 'AddNodesResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ 'Results:' + str(self.Results) + ', ' + \ 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' __repr__ = __str__ class AddReferencesItem(FrozenClass): ''' A request to add a reference to the server address space. :ivar SourceNodeId: :vartype SourceNodeId: NodeId :ivar ReferenceTypeId: :vartype ReferenceTypeId: NodeId :ivar IsForward: :vartype IsForward: Boolean :ivar TargetServerUri: :vartype TargetServerUri: String :ivar TargetNodeId: :vartype TargetNodeId: ExpandedNodeId :ivar TargetNodeClass: :vartype TargetNodeClass: NodeClass ''' ua_types = { 'SourceNodeId': 'NodeId', 'ReferenceTypeId': 'NodeId', 'IsForward': 'Boolean', 'TargetServerUri': 'String', 'TargetNodeId': 'ExpandedNodeId', 'TargetNodeClass': 'NodeClass', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.SourceNodeId = NodeId() self.ReferenceTypeId = NodeId() self.IsForward = True self.TargetServerUri = None self.TargetNodeId = ExpandedNodeId() self.TargetNodeClass = NodeClass(0) self._freeze = True def to_binary(self): packet = [] packet.append(self.SourceNodeId.to_binary()) packet.append(self.ReferenceTypeId.to_binary()) packet.append(uabin.Primitives.Boolean.pack(self.IsForward)) packet.append(uabin.Primitives.String.pack(self.TargetServerUri)) packet.append(self.TargetNodeId.to_binary()) packet.append(uabin.Primitives.UInt32.pack(self.TargetNodeClass.value)) return b''.join(packet) @staticmethod def from_binary(data): return AddReferencesItem(data) def _binary_init(self, data): self.SourceNodeId = NodeId.from_binary(data) self.ReferenceTypeId = NodeId.from_binary(data) self.IsForward = uabin.Primitives.Boolean.unpack(data) self.TargetServerUri = uabin.Primitives.String.unpack(data) self.TargetNodeId = ExpandedNodeId.from_binary(data) self.TargetNodeClass = NodeClass(uabin.Primitives.UInt32.unpack(data)) def __str__(self): return 'AddReferencesItem(' + 'SourceNodeId:' + str(self.SourceNodeId) + ', ' + \ 'ReferenceTypeId:' + str(self.ReferenceTypeId) + ', ' + \ 'IsForward:' + str(self.IsForward) + ', ' + \ 'TargetServerUri:' + str(self.TargetServerUri) + ', ' + \ 'TargetNodeId:' + str(self.TargetNodeId) + ', ' + \ 'TargetNodeClass:' + str(self.TargetNodeClass) + ')' __repr__ = __str__ class AddReferencesParameters(FrozenClass): ''' :ivar ReferencesToAdd: :vartype ReferencesToAdd: AddReferencesItem ''' ua_types = { 'ReferencesToAdd': 'AddReferencesItem', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.ReferencesToAdd = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.Int32.pack(len(self.ReferencesToAdd))) for fieldname in self.ReferencesToAdd: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return AddReferencesParameters(data) def _binary_init(self, data): length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(AddReferencesItem.from_binary(data)) self.ReferencesToAdd = array def __str__(self): return 'AddReferencesParameters(' + 'ReferencesToAdd:' + str(self.ReferencesToAdd) + ')' __repr__ = __str__ class AddReferencesRequest(FrozenClass): ''' Adds one or more references to the server address space. :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: AddReferencesParameters ''' ua_types = { 'TypeId': 'NodeId', 'RequestHeader': 'RequestHeader', 'Parameters': 'AddReferencesParameters', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.AddReferencesRequest_Encoding_DefaultBinary) self.RequestHeader = RequestHeader() self.Parameters = AddReferencesParameters() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.RequestHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return AddReferencesRequest(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.RequestHeader = RequestHeader.from_binary(data) self.Parameters = AddReferencesParameters.from_binary(data) def __str__(self): return 'AddReferencesRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class AddReferencesResponse(FrozenClass): ''' Adds one or more references to the server address space. :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Results: :vartype Results: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo ''' ua_types = { 'TypeId': 'NodeId', 'ResponseHeader': 'ResponseHeader', 'Results': 'StatusCode', 'DiagnosticInfos': 'DiagnosticInfo', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.AddReferencesResponse_Encoding_DefaultBinary) self.ResponseHeader = ResponseHeader() self.Results = [] self.DiagnosticInfos = [] self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.ResponseHeader.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.Results))) for fieldname in self.Results: packet.append(fieldname.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.DiagnosticInfos))) for fieldname in self.DiagnosticInfos: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return AddReferencesResponse(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.ResponseHeader = ResponseHeader.from_binary(data) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(StatusCode.from_binary(data)) self.Results = array length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(DiagnosticInfo.from_binary(data)) self.DiagnosticInfos = array def __str__(self): return 'AddReferencesResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ 'Results:' + str(self.Results) + ', ' + \ 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' __repr__ = __str__ class DeleteNodesItem(FrozenClass): ''' A request to delete a node to the server address space. :ivar NodeId: :vartype NodeId: NodeId :ivar DeleteTargetReferences: :vartype DeleteTargetReferences: Boolean ''' ua_types = { 'NodeId': 'NodeId', 'DeleteTargetReferences': 'Boolean', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.NodeId = NodeId() self.DeleteTargetReferences = True self._freeze = True def to_binary(self): packet = [] packet.append(self.NodeId.to_binary()) packet.append(uabin.Primitives.Boolean.pack(self.DeleteTargetReferences)) return b''.join(packet) @staticmethod def from_binary(data): return DeleteNodesItem(data) def _binary_init(self, data): self.NodeId = NodeId.from_binary(data) self.DeleteTargetReferences = uabin.Primitives.Boolean.unpack(data) def __str__(self): return 'DeleteNodesItem(' + 'NodeId:' + str(self.NodeId) + ', ' + \ 'DeleteTargetReferences:' + str(self.DeleteTargetReferences) + ')' __repr__ = __str__ class DeleteNodesParameters(FrozenClass): ''' :ivar NodesToDelete: :vartype NodesToDelete: DeleteNodesItem ''' ua_types = { 'NodesToDelete': 'DeleteNodesItem', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.NodesToDelete = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.Int32.pack(len(self.NodesToDelete))) for fieldname in self.NodesToDelete: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return DeleteNodesParameters(data) def _binary_init(self, data): length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(DeleteNodesItem.from_binary(data)) self.NodesToDelete = array def __str__(self): return 'DeleteNodesParameters(' + 'NodesToDelete:' + str(self.NodesToDelete) + ')' __repr__ = __str__ class DeleteNodesRequest(FrozenClass): ''' Delete one or more nodes from the server address space. :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: DeleteNodesParameters ''' ua_types = { 'TypeId': 'NodeId', 'RequestHeader': 'RequestHeader', 'Parameters': 'DeleteNodesParameters', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.DeleteNodesRequest_Encoding_DefaultBinary) self.RequestHeader = RequestHeader() self.Parameters = DeleteNodesParameters() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.RequestHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return DeleteNodesRequest(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.RequestHeader = RequestHeader.from_binary(data) self.Parameters = DeleteNodesParameters.from_binary(data) def __str__(self): return 'DeleteNodesRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class DeleteNodesResponse(FrozenClass): ''' Delete one or more nodes from the server address space. :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Results: :vartype Results: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo ''' ua_types = { 'TypeId': 'NodeId', 'ResponseHeader': 'ResponseHeader', 'Results': 'StatusCode', 'DiagnosticInfos': 'DiagnosticInfo', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.DeleteNodesResponse_Encoding_DefaultBinary) self.ResponseHeader = ResponseHeader() self.Results = [] self.DiagnosticInfos = [] self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.ResponseHeader.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.Results))) for fieldname in self.Results: packet.append(fieldname.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.DiagnosticInfos))) for fieldname in self.DiagnosticInfos: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return DeleteNodesResponse(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.ResponseHeader = ResponseHeader.from_binary(data) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(StatusCode.from_binary(data)) self.Results = array length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(DiagnosticInfo.from_binary(data)) self.DiagnosticInfos = array def __str__(self): return 'DeleteNodesResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ 'Results:' + str(self.Results) + ', ' + \ 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' __repr__ = __str__ class DeleteReferencesItem(FrozenClass): ''' A request to delete a node from the server address space. :ivar SourceNodeId: :vartype SourceNodeId: NodeId :ivar ReferenceTypeId: :vartype ReferenceTypeId: NodeId :ivar IsForward: :vartype IsForward: Boolean :ivar TargetNodeId: :vartype TargetNodeId: ExpandedNodeId :ivar DeleteBidirectional: :vartype DeleteBidirectional: Boolean ''' ua_types = { 'SourceNodeId': 'NodeId', 'ReferenceTypeId': 'NodeId', 'IsForward': 'Boolean', 'TargetNodeId': 'ExpandedNodeId', 'DeleteBidirectional': 'Boolean', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.SourceNodeId = NodeId() self.ReferenceTypeId = NodeId() self.IsForward = True self.TargetNodeId = ExpandedNodeId() self.DeleteBidirectional = True self._freeze = True def to_binary(self): packet = [] packet.append(self.SourceNodeId.to_binary()) packet.append(self.ReferenceTypeId.to_binary()) packet.append(uabin.Primitives.Boolean.pack(self.IsForward)) packet.append(self.TargetNodeId.to_binary()) packet.append(uabin.Primitives.Boolean.pack(self.DeleteBidirectional)) return b''.join(packet) @staticmethod def from_binary(data): return DeleteReferencesItem(data) def _binary_init(self, data): self.SourceNodeId = NodeId.from_binary(data) self.ReferenceTypeId = NodeId.from_binary(data) self.IsForward = uabin.Primitives.Boolean.unpack(data) self.TargetNodeId = ExpandedNodeId.from_binary(data) self.DeleteBidirectional = uabin.Primitives.Boolean.unpack(data) def __str__(self): return 'DeleteReferencesItem(' + 'SourceNodeId:' + str(self.SourceNodeId) + ', ' + \ 'ReferenceTypeId:' + str(self.ReferenceTypeId) + ', ' + \ 'IsForward:' + str(self.IsForward) + ', ' + \ 'TargetNodeId:' + str(self.TargetNodeId) + ', ' + \ 'DeleteBidirectional:' + str(self.DeleteBidirectional) + ')' __repr__ = __str__ class DeleteReferencesParameters(FrozenClass): ''' :ivar ReferencesToDelete: :vartype ReferencesToDelete: DeleteReferencesItem ''' ua_types = { 'ReferencesToDelete': 'DeleteReferencesItem', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.ReferencesToDelete = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.Int32.pack(len(self.ReferencesToDelete))) for fieldname in self.ReferencesToDelete: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return DeleteReferencesParameters(data) def _binary_init(self, data): length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(DeleteReferencesItem.from_binary(data)) self.ReferencesToDelete = array def __str__(self): return 'DeleteReferencesParameters(' + 'ReferencesToDelete:' + str(self.ReferencesToDelete) + ')' __repr__ = __str__ class DeleteReferencesRequest(FrozenClass): ''' Delete one or more references from the server address space. :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: DeleteReferencesParameters ''' ua_types = { 'TypeId': 'NodeId', 'RequestHeader': 'RequestHeader', 'Parameters': 'DeleteReferencesParameters', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.DeleteReferencesRequest_Encoding_DefaultBinary) self.RequestHeader = RequestHeader() self.Parameters = DeleteReferencesParameters() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.RequestHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return DeleteReferencesRequest(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.RequestHeader = RequestHeader.from_binary(data) self.Parameters = DeleteReferencesParameters.from_binary(data) def __str__(self): return 'DeleteReferencesRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class DeleteReferencesResult(FrozenClass): ''' :ivar Results: :vartype Results: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo ''' ua_types = { 'Results': 'StatusCode', 'DiagnosticInfos': 'DiagnosticInfo', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.Results = [] self.DiagnosticInfos = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.Int32.pack(len(self.Results))) for fieldname in self.Results: packet.append(fieldname.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.DiagnosticInfos))) for fieldname in self.DiagnosticInfos: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return DeleteReferencesResult(data) def _binary_init(self, data): length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(StatusCode.from_binary(data)) self.Results = array length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(DiagnosticInfo.from_binary(data)) self.DiagnosticInfos = array def __str__(self): return 'DeleteReferencesResult(' + 'Results:' + str(self.Results) + ', ' + \ 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' __repr__ = __str__ class DeleteReferencesResponse(FrozenClass): ''' Delete one or more references from the server address space. :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: DeleteReferencesResult ''' ua_types = { 'TypeId': 'NodeId', 'ResponseHeader': 'ResponseHeader', 'Parameters': 'DeleteReferencesResult', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.DeleteReferencesResponse_Encoding_DefaultBinary) self.ResponseHeader = ResponseHeader() self.Parameters = DeleteReferencesResult() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.ResponseHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return DeleteReferencesResponse(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.ResponseHeader = ResponseHeader.from_binary(data) self.Parameters = DeleteReferencesResult.from_binary(data) def __str__(self): return 'DeleteReferencesResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class ViewDescription(FrozenClass): ''' The view to browse. :ivar ViewId: :vartype ViewId: NodeId :ivar Timestamp: :vartype Timestamp: DateTime :ivar ViewVersion: :vartype ViewVersion: UInt32 ''' ua_types = { 'ViewId': 'NodeId', 'Timestamp': 'DateTime', 'ViewVersion': 'UInt32', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.ViewId = NodeId() self.Timestamp = datetime.utcnow() self.ViewVersion = 0 self._freeze = True def to_binary(self): packet = [] packet.append(self.ViewId.to_binary()) packet.append(uabin.Primitives.DateTime.pack(self.Timestamp)) packet.append(uabin.Primitives.UInt32.pack(self.ViewVersion)) return b''.join(packet) @staticmethod def from_binary(data): return ViewDescription(data) def _binary_init(self, data): self.ViewId = NodeId.from_binary(data) self.Timestamp = uabin.Primitives.DateTime.unpack(data) self.ViewVersion = uabin.Primitives.UInt32.unpack(data) def __str__(self): return 'ViewDescription(' + 'ViewId:' + str(self.ViewId) + ', ' + \ 'Timestamp:' + str(self.Timestamp) + ', ' + \ 'ViewVersion:' + str(self.ViewVersion) + ')' __repr__ = __str__ class BrowseDescription(FrozenClass): ''' A request to browse the the references from a node. :ivar NodeId: :vartype NodeId: NodeId :ivar BrowseDirection: :vartype BrowseDirection: BrowseDirection :ivar ReferenceTypeId: :vartype ReferenceTypeId: NodeId :ivar IncludeSubtypes: :vartype IncludeSubtypes: Boolean :ivar NodeClassMask: :vartype NodeClassMask: UInt32 :ivar ResultMask: :vartype ResultMask: UInt32 ''' ua_types = { 'NodeId': 'NodeId', 'BrowseDirection': 'BrowseDirection', 'ReferenceTypeId': 'NodeId', 'IncludeSubtypes': 'Boolean', 'NodeClassMask': 'UInt32', 'ResultMask': 'UInt32', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.NodeId = NodeId() self.BrowseDirection = BrowseDirection(0) self.ReferenceTypeId = NodeId() self.IncludeSubtypes = True self.NodeClassMask = 0 self.ResultMask = 0 self._freeze = True def to_binary(self): packet = [] packet.append(self.NodeId.to_binary()) packet.append(uabin.Primitives.UInt32.pack(self.BrowseDirection.value)) packet.append(self.ReferenceTypeId.to_binary()) packet.append(uabin.Primitives.Boolean.pack(self.IncludeSubtypes)) packet.append(uabin.Primitives.UInt32.pack(self.NodeClassMask)) packet.append(uabin.Primitives.UInt32.pack(self.ResultMask)) return b''.join(packet) @staticmethod def from_binary(data): return BrowseDescription(data) def _binary_init(self, data): self.NodeId = NodeId.from_binary(data) self.BrowseDirection = BrowseDirection(uabin.Primitives.UInt32.unpack(data)) self.ReferenceTypeId = NodeId.from_binary(data) self.IncludeSubtypes = uabin.Primitives.Boolean.unpack(data) self.NodeClassMask = uabin.Primitives.UInt32.unpack(data) self.ResultMask = uabin.Primitives.UInt32.unpack(data) def __str__(self): return 'BrowseDescription(' + 'NodeId:' + str(self.NodeId) + ', ' + \ 'BrowseDirection:' + str(self.BrowseDirection) + ', ' + \ 'ReferenceTypeId:' + str(self.ReferenceTypeId) + ', ' + \ 'IncludeSubtypes:' + str(self.IncludeSubtypes) + ', ' + \ 'NodeClassMask:' + str(self.NodeClassMask) + ', ' + \ 'ResultMask:' + str(self.ResultMask) + ')' __repr__ = __str__ class ReferenceDescription(FrozenClass): ''' The description of a reference. :ivar ReferenceTypeId: :vartype ReferenceTypeId: NodeId :ivar IsForward: :vartype IsForward: Boolean :ivar NodeId: :vartype NodeId: ExpandedNodeId :ivar BrowseName: :vartype BrowseName: QualifiedName :ivar DisplayName: :vartype DisplayName: LocalizedText :ivar NodeClass: :vartype NodeClass: NodeClass :ivar TypeDefinition: :vartype TypeDefinition: ExpandedNodeId ''' ua_types = { 'ReferenceTypeId': 'NodeId', 'IsForward': 'Boolean', 'NodeId': 'ExpandedNodeId', 'BrowseName': 'QualifiedName', 'DisplayName': 'LocalizedText', 'NodeClass': 'NodeClass', 'TypeDefinition': 'ExpandedNodeId', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.ReferenceTypeId = NodeId() self.IsForward = True self.NodeId = ExpandedNodeId() self.BrowseName = QualifiedName() self.DisplayName = LocalizedText() self.NodeClass = NodeClass(0) self.TypeDefinition = ExpandedNodeId() self._freeze = True def to_binary(self): packet = [] packet.append(self.ReferenceTypeId.to_binary()) packet.append(uabin.Primitives.Boolean.pack(self.IsForward)) packet.append(self.NodeId.to_binary()) packet.append(self.BrowseName.to_binary()) packet.append(self.DisplayName.to_binary()) packet.append(uabin.Primitives.UInt32.pack(self.NodeClass.value)) packet.append(self.TypeDefinition.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return ReferenceDescription(data) def _binary_init(self, data): self.ReferenceTypeId = NodeId.from_binary(data) self.IsForward = uabin.Primitives.Boolean.unpack(data) self.NodeId = ExpandedNodeId.from_binary(data) self.BrowseName = QualifiedName.from_binary(data) self.DisplayName = LocalizedText.from_binary(data) self.NodeClass = NodeClass(uabin.Primitives.UInt32.unpack(data)) self.TypeDefinition = ExpandedNodeId.from_binary(data) def __str__(self): return 'ReferenceDescription(' + 'ReferenceTypeId:' + str(self.ReferenceTypeId) + ', ' + \ 'IsForward:' + str(self.IsForward) + ', ' + \ 'NodeId:' + str(self.NodeId) + ', ' + \ 'BrowseName:' + str(self.BrowseName) + ', ' + \ 'DisplayName:' + str(self.DisplayName) + ', ' + \ 'NodeClass:' + str(self.NodeClass) + ', ' + \ 'TypeDefinition:' + str(self.TypeDefinition) + ')' __repr__ = __str__ class BrowseResult(FrozenClass): ''' The result of a browse operation. :ivar StatusCode: :vartype StatusCode: StatusCode :ivar ContinuationPoint: :vartype ContinuationPoint: ByteString :ivar References: :vartype References: ReferenceDescription ''' ua_types = { 'StatusCode': 'StatusCode', 'ContinuationPoint': 'ByteString', 'References': 'ReferenceDescription', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.StatusCode = StatusCode() self.ContinuationPoint = None self.References = [] self._freeze = True def to_binary(self): packet = [] packet.append(self.StatusCode.to_binary()) packet.append(uabin.Primitives.ByteString.pack(self.ContinuationPoint)) packet.append(uabin.Primitives.Int32.pack(len(self.References))) for fieldname in self.References: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return BrowseResult(data) def _binary_init(self, data): self.StatusCode = StatusCode.from_binary(data) self.ContinuationPoint = uabin.Primitives.ByteString.unpack(data) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(ReferenceDescription.from_binary(data)) self.References = array def __str__(self): return 'BrowseResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ 'ContinuationPoint:' + str(self.ContinuationPoint) + ', ' + \ 'References:' + str(self.References) + ')' __repr__ = __str__ class BrowseParameters(FrozenClass): ''' :ivar View: :vartype View: ViewDescription :ivar RequestedMaxReferencesPerNode: :vartype RequestedMaxReferencesPerNode: UInt32 :ivar NodesToBrowse: :vartype NodesToBrowse: BrowseDescription ''' ua_types = { 'View': 'ViewDescription', 'RequestedMaxReferencesPerNode': 'UInt32', 'NodesToBrowse': 'BrowseDescription', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.View = ViewDescription() self.RequestedMaxReferencesPerNode = 0 self.NodesToBrowse = [] self._freeze = True def to_binary(self): packet = [] packet.append(self.View.to_binary()) packet.append(uabin.Primitives.UInt32.pack(self.RequestedMaxReferencesPerNode)) packet.append(uabin.Primitives.Int32.pack(len(self.NodesToBrowse))) for fieldname in self.NodesToBrowse: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return BrowseParameters(data) def _binary_init(self, data): self.View = ViewDescription.from_binary(data) self.RequestedMaxReferencesPerNode = uabin.Primitives.UInt32.unpack(data) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(BrowseDescription.from_binary(data)) self.NodesToBrowse = array def __str__(self): return 'BrowseParameters(' + 'View:' + str(self.View) + ', ' + \ 'RequestedMaxReferencesPerNode:' + str(self.RequestedMaxReferencesPerNode) + ', ' + \ 'NodesToBrowse:' + str(self.NodesToBrowse) + ')' __repr__ = __str__ class BrowseRequest(FrozenClass): ''' Browse the references for one or more nodes from the server address space. :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: BrowseParameters ''' ua_types = { 'TypeId': 'NodeId', 'RequestHeader': 'RequestHeader', 'Parameters': 'BrowseParameters', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.BrowseRequest_Encoding_DefaultBinary) self.RequestHeader = RequestHeader() self.Parameters = BrowseParameters() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.RequestHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return BrowseRequest(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.RequestHeader = RequestHeader.from_binary(data) self.Parameters = BrowseParameters.from_binary(data) def __str__(self): return 'BrowseRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class BrowseResponse(FrozenClass): ''' Browse the references for one or more nodes from the server address space. :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Results: :vartype Results: BrowseResult :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo ''' ua_types = { 'TypeId': 'NodeId', 'ResponseHeader': 'ResponseHeader', 'Results': 'BrowseResult', 'DiagnosticInfos': 'DiagnosticInfo', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.BrowseResponse_Encoding_DefaultBinary) self.ResponseHeader = ResponseHeader() self.Results = [] self.DiagnosticInfos = [] self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.ResponseHeader.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.Results))) for fieldname in self.Results: packet.append(fieldname.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.DiagnosticInfos))) for fieldname in self.DiagnosticInfos: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return BrowseResponse(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.ResponseHeader = ResponseHeader.from_binary(data) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(BrowseResult.from_binary(data)) self.Results = array length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(DiagnosticInfo.from_binary(data)) self.DiagnosticInfos = array def __str__(self): return 'BrowseResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ 'Results:' + str(self.Results) + ', ' + \ 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' __repr__ = __str__ class BrowseNextParameters(FrozenClass): ''' :ivar ReleaseContinuationPoints: :vartype ReleaseContinuationPoints: Boolean :ivar ContinuationPoints: :vartype ContinuationPoints: ByteString ''' ua_types = { 'ReleaseContinuationPoints': 'Boolean', 'ContinuationPoints': 'ByteString', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.ReleaseContinuationPoints = True self.ContinuationPoints = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.Boolean.pack(self.ReleaseContinuationPoints)) packet.append(uabin.Primitives.Int32.pack(len(self.ContinuationPoints))) for fieldname in self.ContinuationPoints: packet.append(uabin.Primitives.ByteString.pack(fieldname)) return b''.join(packet) @staticmethod def from_binary(data): return BrowseNextParameters(data) def _binary_init(self, data): self.ReleaseContinuationPoints = uabin.Primitives.Boolean.unpack(data) self.ContinuationPoints = uabin.Primitives.ByteString.unpack_array(data) def __str__(self): return 'BrowseNextParameters(' + 'ReleaseContinuationPoints:' + str(self.ReleaseContinuationPoints) + ', ' + \ 'ContinuationPoints:' + str(self.ContinuationPoints) + ')' __repr__ = __str__ class BrowseNextRequest(FrozenClass): ''' Continues one or more browse operations. :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: BrowseNextParameters ''' ua_types = { 'TypeId': 'NodeId', 'RequestHeader': 'RequestHeader', 'Parameters': 'BrowseNextParameters', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.BrowseNextRequest_Encoding_DefaultBinary) self.RequestHeader = RequestHeader() self.Parameters = BrowseNextParameters() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.RequestHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return BrowseNextRequest(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.RequestHeader = RequestHeader.from_binary(data) self.Parameters = BrowseNextParameters.from_binary(data) def __str__(self): return 'BrowseNextRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class BrowseNextResult(FrozenClass): ''' :ivar Results: :vartype Results: BrowseResult :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo ''' ua_types = { 'Results': 'BrowseResult', 'DiagnosticInfos': 'DiagnosticInfo', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.Results = [] self.DiagnosticInfos = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.Int32.pack(len(self.Results))) for fieldname in self.Results: packet.append(fieldname.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.DiagnosticInfos))) for fieldname in self.DiagnosticInfos: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return BrowseNextResult(data) def _binary_init(self, data): length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(BrowseResult.from_binary(data)) self.Results = array length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(DiagnosticInfo.from_binary(data)) self.DiagnosticInfos = array def __str__(self): return 'BrowseNextResult(' + 'Results:' + str(self.Results) + ', ' + \ 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' __repr__ = __str__ class BrowseNextResponse(FrozenClass): ''' Continues one or more browse operations. :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: BrowseNextResult ''' ua_types = { 'TypeId': 'NodeId', 'ResponseHeader': 'ResponseHeader', 'Parameters': 'BrowseNextResult', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.BrowseNextResponse_Encoding_DefaultBinary) self.ResponseHeader = ResponseHeader() self.Parameters = BrowseNextResult() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.ResponseHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return BrowseNextResponse(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.ResponseHeader = ResponseHeader.from_binary(data) self.Parameters = BrowseNextResult.from_binary(data) def __str__(self): return 'BrowseNextResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class RelativePathElement(FrozenClass): ''' An element in a relative path. :ivar ReferenceTypeId: :vartype ReferenceTypeId: NodeId :ivar IsInverse: :vartype IsInverse: Boolean :ivar IncludeSubtypes: :vartype IncludeSubtypes: Boolean :ivar TargetName: :vartype TargetName: QualifiedName ''' ua_types = { 'ReferenceTypeId': 'NodeId', 'IsInverse': 'Boolean', 'IncludeSubtypes': 'Boolean', 'TargetName': 'QualifiedName', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.ReferenceTypeId = NodeId() self.IsInverse = True self.IncludeSubtypes = True self.TargetName = QualifiedName() self._freeze = True def to_binary(self): packet = [] packet.append(self.ReferenceTypeId.to_binary()) packet.append(uabin.Primitives.Boolean.pack(self.IsInverse)) packet.append(uabin.Primitives.Boolean.pack(self.IncludeSubtypes)) packet.append(self.TargetName.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return RelativePathElement(data) def _binary_init(self, data): self.ReferenceTypeId = NodeId.from_binary(data) self.IsInverse = uabin.Primitives.Boolean.unpack(data) self.IncludeSubtypes = uabin.Primitives.Boolean.unpack(data) self.TargetName = QualifiedName.from_binary(data) def __str__(self): return 'RelativePathElement(' + 'ReferenceTypeId:' + str(self.ReferenceTypeId) + ', ' + \ 'IsInverse:' + str(self.IsInverse) + ', ' + \ 'IncludeSubtypes:' + str(self.IncludeSubtypes) + ', ' + \ 'TargetName:' + str(self.TargetName) + ')' __repr__ = __str__ class RelativePath(FrozenClass): ''' A relative path constructed from reference types and browse names. :ivar Elements: :vartype Elements: RelativePathElement ''' ua_types = { 'Elements': 'RelativePathElement', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.Elements = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.Int32.pack(len(self.Elements))) for fieldname in self.Elements: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return RelativePath(data) def _binary_init(self, data): length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(RelativePathElement.from_binary(data)) self.Elements = array def __str__(self): return 'RelativePath(' + 'Elements:' + str(self.Elements) + ')' __repr__ = __str__ class BrowsePath(FrozenClass): ''' A request to translate a path into a node id. :ivar StartingNode: :vartype StartingNode: NodeId :ivar RelativePath: :vartype RelativePath: RelativePath ''' ua_types = { 'StartingNode': 'NodeId', 'RelativePath': 'RelativePath', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.StartingNode = NodeId() self.RelativePath = RelativePath() self._freeze = True def to_binary(self): packet = [] packet.append(self.StartingNode.to_binary()) packet.append(self.RelativePath.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return BrowsePath(data) def _binary_init(self, data): self.StartingNode = NodeId.from_binary(data) self.RelativePath = RelativePath.from_binary(data) def __str__(self): return 'BrowsePath(' + 'StartingNode:' + str(self.StartingNode) + ', ' + \ 'RelativePath:' + str(self.RelativePath) + ')' __repr__ = __str__ class BrowsePathTarget(FrozenClass): ''' The target of the translated path. :ivar TargetId: :vartype TargetId: ExpandedNodeId :ivar RemainingPathIndex: :vartype RemainingPathIndex: UInt32 ''' ua_types = { 'TargetId': 'ExpandedNodeId', 'RemainingPathIndex': 'UInt32', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TargetId = ExpandedNodeId() self.RemainingPathIndex = 0 self._freeze = True def to_binary(self): packet = [] packet.append(self.TargetId.to_binary()) packet.append(uabin.Primitives.UInt32.pack(self.RemainingPathIndex)) return b''.join(packet) @staticmethod def from_binary(data): return BrowsePathTarget(data) def _binary_init(self, data): self.TargetId = ExpandedNodeId.from_binary(data) self.RemainingPathIndex = uabin.Primitives.UInt32.unpack(data) def __str__(self): return 'BrowsePathTarget(' + 'TargetId:' + str(self.TargetId) + ', ' + \ 'RemainingPathIndex:' + str(self.RemainingPathIndex) + ')' __repr__ = __str__ class BrowsePathResult(FrozenClass): ''' The result of a translate opearation. :ivar StatusCode: :vartype StatusCode: StatusCode :ivar Targets: :vartype Targets: BrowsePathTarget ''' ua_types = { 'StatusCode': 'StatusCode', 'Targets': 'BrowsePathTarget', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.StatusCode = StatusCode() self.Targets = [] self._freeze = True def to_binary(self): packet = [] packet.append(self.StatusCode.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.Targets))) for fieldname in self.Targets: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return BrowsePathResult(data) def _binary_init(self, data): self.StatusCode = StatusCode.from_binary(data) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(BrowsePathTarget.from_binary(data)) self.Targets = array def __str__(self): return 'BrowsePathResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ 'Targets:' + str(self.Targets) + ')' __repr__ = __str__ class TranslateBrowsePathsToNodeIdsParameters(FrozenClass): ''' :ivar BrowsePaths: :vartype BrowsePaths: BrowsePath ''' ua_types = { 'BrowsePaths': 'BrowsePath', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.BrowsePaths = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.Int32.pack(len(self.BrowsePaths))) for fieldname in self.BrowsePaths: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return TranslateBrowsePathsToNodeIdsParameters(data) def _binary_init(self, data): length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(BrowsePath.from_binary(data)) self.BrowsePaths = array def __str__(self): return 'TranslateBrowsePathsToNodeIdsParameters(' + 'BrowsePaths:' + str(self.BrowsePaths) + ')' __repr__ = __str__ class TranslateBrowsePathsToNodeIdsRequest(FrozenClass): ''' Translates one or more paths in the server address space. :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: TranslateBrowsePathsToNodeIdsParameters ''' ua_types = { 'TypeId': 'NodeId', 'RequestHeader': 'RequestHeader', 'Parameters': 'TranslateBrowsePathsToNodeIdsParameters', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultBinary) self.RequestHeader = RequestHeader() self.Parameters = TranslateBrowsePathsToNodeIdsParameters() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.RequestHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return TranslateBrowsePathsToNodeIdsRequest(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.RequestHeader = RequestHeader.from_binary(data) self.Parameters = TranslateBrowsePathsToNodeIdsParameters.from_binary(data) def __str__(self): return 'TranslateBrowsePathsToNodeIdsRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class TranslateBrowsePathsToNodeIdsResponse(FrozenClass): ''' Translates one or more paths in the server address space. :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Results: :vartype Results: BrowsePathResult :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo ''' ua_types = { 'TypeId': 'NodeId', 'ResponseHeader': 'ResponseHeader', 'Results': 'BrowsePathResult', 'DiagnosticInfos': 'DiagnosticInfo', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.TranslateBrowsePathsToNodeIdsResponse_Encoding_DefaultBinary) self.ResponseHeader = ResponseHeader() self.Results = [] self.DiagnosticInfos = [] self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.ResponseHeader.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.Results))) for fieldname in self.Results: packet.append(fieldname.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.DiagnosticInfos))) for fieldname in self.DiagnosticInfos: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return TranslateBrowsePathsToNodeIdsResponse(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.ResponseHeader = ResponseHeader.from_binary(data) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(BrowsePathResult.from_binary(data)) self.Results = array length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(DiagnosticInfo.from_binary(data)) self.DiagnosticInfos = array def __str__(self): return 'TranslateBrowsePathsToNodeIdsResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ 'Results:' + str(self.Results) + ', ' + \ 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' __repr__ = __str__ class RegisterNodesParameters(FrozenClass): ''' :ivar NodesToRegister: :vartype NodesToRegister: NodeId ''' ua_types = { 'NodesToRegister': 'NodeId', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.NodesToRegister = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.Int32.pack(len(self.NodesToRegister))) for fieldname in self.NodesToRegister: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return RegisterNodesParameters(data) def _binary_init(self, data): length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(NodeId.from_binary(data)) self.NodesToRegister = array def __str__(self): return 'RegisterNodesParameters(' + 'NodesToRegister:' + str(self.NodesToRegister) + ')' __repr__ = __str__ class RegisterNodesRequest(FrozenClass): ''' Registers one or more nodes for repeated use within a session. :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: RegisterNodesParameters ''' ua_types = { 'TypeId': 'NodeId', 'RequestHeader': 'RequestHeader', 'Parameters': 'RegisterNodesParameters', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.RegisterNodesRequest_Encoding_DefaultBinary) self.RequestHeader = RequestHeader() self.Parameters = RegisterNodesParameters() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.RequestHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return RegisterNodesRequest(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.RequestHeader = RequestHeader.from_binary(data) self.Parameters = RegisterNodesParameters.from_binary(data) def __str__(self): return 'RegisterNodesRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class RegisterNodesResult(FrozenClass): ''' :ivar RegisteredNodeIds: :vartype RegisteredNodeIds: NodeId ''' ua_types = { 'RegisteredNodeIds': 'NodeId', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.RegisteredNodeIds = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.Int32.pack(len(self.RegisteredNodeIds))) for fieldname in self.RegisteredNodeIds: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return RegisterNodesResult(data) def _binary_init(self, data): length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(NodeId.from_binary(data)) self.RegisteredNodeIds = array def __str__(self): return 'RegisterNodesResult(' + 'RegisteredNodeIds:' + str(self.RegisteredNodeIds) + ')' __repr__ = __str__ class RegisterNodesResponse(FrozenClass): ''' Registers one or more nodes for repeated use within a session. :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: RegisterNodesResult ''' ua_types = { 'TypeId': 'NodeId', 'ResponseHeader': 'ResponseHeader', 'Parameters': 'RegisterNodesResult', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.RegisterNodesResponse_Encoding_DefaultBinary) self.ResponseHeader = ResponseHeader() self.Parameters = RegisterNodesResult() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.ResponseHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return RegisterNodesResponse(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.ResponseHeader = ResponseHeader.from_binary(data) self.Parameters = RegisterNodesResult.from_binary(data) def __str__(self): return 'RegisterNodesResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class UnregisterNodesParameters(FrozenClass): ''' :ivar NodesToUnregister: :vartype NodesToUnregister: NodeId ''' ua_types = { 'NodesToUnregister': 'NodeId', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.NodesToUnregister = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.Int32.pack(len(self.NodesToUnregister))) for fieldname in self.NodesToUnregister: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return UnregisterNodesParameters(data) def _binary_init(self, data): length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(NodeId.from_binary(data)) self.NodesToUnregister = array def __str__(self): return 'UnregisterNodesParameters(' + 'NodesToUnregister:' + str(self.NodesToUnregister) + ')' __repr__ = __str__ class UnregisterNodesRequest(FrozenClass): ''' Unregisters one or more previously registered nodes. :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: UnregisterNodesParameters ''' ua_types = { 'TypeId': 'NodeId', 'RequestHeader': 'RequestHeader', 'Parameters': 'UnregisterNodesParameters', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.UnregisterNodesRequest_Encoding_DefaultBinary) self.RequestHeader = RequestHeader() self.Parameters = UnregisterNodesParameters() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.RequestHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return UnregisterNodesRequest(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.RequestHeader = RequestHeader.from_binary(data) self.Parameters = UnregisterNodesParameters.from_binary(data) def __str__(self): return 'UnregisterNodesRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class UnregisterNodesResponse(FrozenClass): ''' Unregisters one or more previously registered nodes. :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader ''' ua_types = { 'TypeId': 'NodeId', 'ResponseHeader': 'ResponseHeader', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.UnregisterNodesResponse_Encoding_DefaultBinary) self.ResponseHeader = ResponseHeader() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.ResponseHeader.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return UnregisterNodesResponse(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.ResponseHeader = ResponseHeader.from_binary(data) def __str__(self): return 'UnregisterNodesResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'ResponseHeader:' + str(self.ResponseHeader) + ')' __repr__ = __str__ class EndpointConfiguration(FrozenClass): ''' :ivar OperationTimeout: :vartype OperationTimeout: Int32 :ivar UseBinaryEncoding: :vartype UseBinaryEncoding: Boolean :ivar MaxStringLength: :vartype MaxStringLength: Int32 :ivar MaxByteStringLength: :vartype MaxByteStringLength: Int32 :ivar MaxArrayLength: :vartype MaxArrayLength: Int32 :ivar MaxMessageSize: :vartype MaxMessageSize: Int32 :ivar MaxBufferSize: :vartype MaxBufferSize: Int32 :ivar ChannelLifetime: :vartype ChannelLifetime: Int32 :ivar SecurityTokenLifetime: :vartype SecurityTokenLifetime: Int32 ''' ua_types = { 'OperationTimeout': 'Int32', 'UseBinaryEncoding': 'Boolean', 'MaxStringLength': 'Int32', 'MaxByteStringLength': 'Int32', 'MaxArrayLength': 'Int32', 'MaxMessageSize': 'Int32', 'MaxBufferSize': 'Int32', 'ChannelLifetime': 'Int32', 'SecurityTokenLifetime': 'Int32', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.OperationTimeout = 0 self.UseBinaryEncoding = True self.MaxStringLength = 0 self.MaxByteStringLength = 0 self.MaxArrayLength = 0 self.MaxMessageSize = 0 self.MaxBufferSize = 0 self.ChannelLifetime = 0 self.SecurityTokenLifetime = 0 self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.Int32.pack(self.OperationTimeout)) packet.append(uabin.Primitives.Boolean.pack(self.UseBinaryEncoding)) packet.append(uabin.Primitives.Int32.pack(self.MaxStringLength)) packet.append(uabin.Primitives.Int32.pack(self.MaxByteStringLength)) packet.append(uabin.Primitives.Int32.pack(self.MaxArrayLength)) packet.append(uabin.Primitives.Int32.pack(self.MaxMessageSize)) packet.append(uabin.Primitives.Int32.pack(self.MaxBufferSize)) packet.append(uabin.Primitives.Int32.pack(self.ChannelLifetime)) packet.append(uabin.Primitives.Int32.pack(self.SecurityTokenLifetime)) return b''.join(packet) @staticmethod def from_binary(data): return EndpointConfiguration(data) def _binary_init(self, data): self.OperationTimeout = uabin.Primitives.Int32.unpack(data) self.UseBinaryEncoding = uabin.Primitives.Boolean.unpack(data) self.MaxStringLength = uabin.Primitives.Int32.unpack(data) self.MaxByteStringLength = uabin.Primitives.Int32.unpack(data) self.MaxArrayLength = uabin.Primitives.Int32.unpack(data) self.MaxMessageSize = uabin.Primitives.Int32.unpack(data) self.MaxBufferSize = uabin.Primitives.Int32.unpack(data) self.ChannelLifetime = uabin.Primitives.Int32.unpack(data) self.SecurityTokenLifetime = uabin.Primitives.Int32.unpack(data) def __str__(self): return 'EndpointConfiguration(' + 'OperationTimeout:' + str(self.OperationTimeout) + ', ' + \ 'UseBinaryEncoding:' + str(self.UseBinaryEncoding) + ', ' + \ 'MaxStringLength:' + str(self.MaxStringLength) + ', ' + \ 'MaxByteStringLength:' + str(self.MaxByteStringLength) + ', ' + \ 'MaxArrayLength:' + str(self.MaxArrayLength) + ', ' + \ 'MaxMessageSize:' + str(self.MaxMessageSize) + ', ' + \ 'MaxBufferSize:' + str(self.MaxBufferSize) + ', ' + \ 'ChannelLifetime:' + str(self.ChannelLifetime) + ', ' + \ 'SecurityTokenLifetime:' + str(self.SecurityTokenLifetime) + ')' __repr__ = __str__ class SupportedProfile(FrozenClass): ''' :ivar OrganizationUri: :vartype OrganizationUri: String :ivar ProfileId: :vartype ProfileId: String :ivar ComplianceTool: :vartype ComplianceTool: String :ivar ComplianceDate: :vartype ComplianceDate: DateTime :ivar ComplianceLevel: :vartype ComplianceLevel: ComplianceLevel :ivar UnsupportedUnitIds: :vartype UnsupportedUnitIds: String ''' ua_types = { 'OrganizationUri': 'String', 'ProfileId': 'String', 'ComplianceTool': 'String', 'ComplianceDate': 'DateTime', 'ComplianceLevel': 'ComplianceLevel', 'UnsupportedUnitIds': 'String', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.OrganizationUri = None self.ProfileId = None self.ComplianceTool = None self.ComplianceDate = datetime.utcnow() self.ComplianceLevel = ComplianceLevel(0) self.UnsupportedUnitIds = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.String.pack(self.OrganizationUri)) packet.append(uabin.Primitives.String.pack(self.ProfileId)) packet.append(uabin.Primitives.String.pack(self.ComplianceTool)) packet.append(uabin.Primitives.DateTime.pack(self.ComplianceDate)) packet.append(uabin.Primitives.UInt32.pack(self.ComplianceLevel.value)) packet.append(uabin.Primitives.Int32.pack(len(self.UnsupportedUnitIds))) for fieldname in self.UnsupportedUnitIds: packet.append(uabin.Primitives.String.pack(fieldname)) return b''.join(packet) @staticmethod def from_binary(data): return SupportedProfile(data) def _binary_init(self, data): self.OrganizationUri = uabin.Primitives.String.unpack(data) self.ProfileId = uabin.Primitives.String.unpack(data) self.ComplianceTool = uabin.Primitives.String.unpack(data) self.ComplianceDate = uabin.Primitives.DateTime.unpack(data) self.ComplianceLevel = ComplianceLevel(uabin.Primitives.UInt32.unpack(data)) self.UnsupportedUnitIds = uabin.Primitives.String.unpack_array(data) def __str__(self): return 'SupportedProfile(' + 'OrganizationUri:' + str(self.OrganizationUri) + ', ' + \ 'ProfileId:' + str(self.ProfileId) + ', ' + \ 'ComplianceTool:' + str(self.ComplianceTool) + ', ' + \ 'ComplianceDate:' + str(self.ComplianceDate) + ', ' + \ 'ComplianceLevel:' + str(self.ComplianceLevel) + ', ' + \ 'UnsupportedUnitIds:' + str(self.UnsupportedUnitIds) + ')' __repr__ = __str__ class SoftwareCertificate(FrozenClass): ''' :ivar ProductName: :vartype ProductName: String :ivar ProductUri: :vartype ProductUri: String :ivar VendorName: :vartype VendorName: String :ivar VendorProductCertificate: :vartype VendorProductCertificate: ByteString :ivar SoftwareVersion: :vartype SoftwareVersion: String :ivar BuildNumber: :vartype BuildNumber: String :ivar BuildDate: :vartype BuildDate: DateTime :ivar IssuedBy: :vartype IssuedBy: String :ivar IssueDate: :vartype IssueDate: DateTime :ivar SupportedProfiles: :vartype SupportedProfiles: SupportedProfile ''' ua_types = { 'ProductName': 'String', 'ProductUri': 'String', 'VendorName': 'String', 'VendorProductCertificate': 'ByteString', 'SoftwareVersion': 'String', 'BuildNumber': 'String', 'BuildDate': 'DateTime', 'IssuedBy': 'String', 'IssueDate': 'DateTime', 'SupportedProfiles': 'SupportedProfile', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.ProductName = None self.ProductUri = None self.VendorName = None self.VendorProductCertificate = None self.SoftwareVersion = None self.BuildNumber = None self.BuildDate = datetime.utcnow() self.IssuedBy = None self.IssueDate = datetime.utcnow() self.SupportedProfiles = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.String.pack(self.ProductName)) packet.append(uabin.Primitives.String.pack(self.ProductUri)) packet.append(uabin.Primitives.String.pack(self.VendorName)) packet.append(uabin.Primitives.ByteString.pack(self.VendorProductCertificate)) packet.append(uabin.Primitives.String.pack(self.SoftwareVersion)) packet.append(uabin.Primitives.String.pack(self.BuildNumber)) packet.append(uabin.Primitives.DateTime.pack(self.BuildDate)) packet.append(uabin.Primitives.String.pack(self.IssuedBy)) packet.append(uabin.Primitives.DateTime.pack(self.IssueDate)) packet.append(uabin.Primitives.Int32.pack(len(self.SupportedProfiles))) for fieldname in self.SupportedProfiles: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return SoftwareCertificate(data) def _binary_init(self, data): self.ProductName = uabin.Primitives.String.unpack(data) self.ProductUri = uabin.Primitives.String.unpack(data) self.VendorName = uabin.Primitives.String.unpack(data) self.VendorProductCertificate = uabin.Primitives.ByteString.unpack(data) self.SoftwareVersion = uabin.Primitives.String.unpack(data) self.BuildNumber = uabin.Primitives.String.unpack(data) self.BuildDate = uabin.Primitives.DateTime.unpack(data) self.IssuedBy = uabin.Primitives.String.unpack(data) self.IssueDate = uabin.Primitives.DateTime.unpack(data) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(SupportedProfile.from_binary(data)) self.SupportedProfiles = array def __str__(self): return 'SoftwareCertificate(' + 'ProductName:' + str(self.ProductName) + ', ' + \ 'ProductUri:' + str(self.ProductUri) + ', ' + \ 'VendorName:' + str(self.VendorName) + ', ' + \ 'VendorProductCertificate:' + str(self.VendorProductCertificate) + ', ' + \ 'SoftwareVersion:' + str(self.SoftwareVersion) + ', ' + \ 'BuildNumber:' + str(self.BuildNumber) + ', ' + \ 'BuildDate:' + str(self.BuildDate) + ', ' + \ 'IssuedBy:' + str(self.IssuedBy) + ', ' + \ 'IssueDate:' + str(self.IssueDate) + ', ' + \ 'SupportedProfiles:' + str(self.SupportedProfiles) + ')' __repr__ = __str__ class QueryDataDescription(FrozenClass): ''' :ivar RelativePath: :vartype RelativePath: RelativePath :ivar AttributeId: :vartype AttributeId: UInt32 :ivar IndexRange: :vartype IndexRange: String ''' ua_types = { 'RelativePath': 'RelativePath', 'AttributeId': 'UInt32', 'IndexRange': 'String', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.RelativePath = RelativePath() self.AttributeId = 0 self.IndexRange = None self._freeze = True def to_binary(self): packet = [] packet.append(self.RelativePath.to_binary()) packet.append(uabin.Primitives.UInt32.pack(self.AttributeId)) packet.append(uabin.Primitives.String.pack(self.IndexRange)) return b''.join(packet) @staticmethod def from_binary(data): return QueryDataDescription(data) def _binary_init(self, data): self.RelativePath = RelativePath.from_binary(data) self.AttributeId = uabin.Primitives.UInt32.unpack(data) self.IndexRange = uabin.Primitives.String.unpack(data) def __str__(self): return 'QueryDataDescription(' + 'RelativePath:' + str(self.RelativePath) + ', ' + \ 'AttributeId:' + str(self.AttributeId) + ', ' + \ 'IndexRange:' + str(self.IndexRange) + ')' __repr__ = __str__ class NodeTypeDescription(FrozenClass): ''' :ivar TypeDefinitionNode: :vartype TypeDefinitionNode: ExpandedNodeId :ivar IncludeSubTypes: :vartype IncludeSubTypes: Boolean :ivar DataToReturn: :vartype DataToReturn: QueryDataDescription ''' ua_types = { 'TypeDefinitionNode': 'ExpandedNodeId', 'IncludeSubTypes': 'Boolean', 'DataToReturn': 'QueryDataDescription', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeDefinitionNode = ExpandedNodeId() self.IncludeSubTypes = True self.DataToReturn = [] self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeDefinitionNode.to_binary()) packet.append(uabin.Primitives.Boolean.pack(self.IncludeSubTypes)) packet.append(uabin.Primitives.Int32.pack(len(self.DataToReturn))) for fieldname in self.DataToReturn: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return NodeTypeDescription(data) def _binary_init(self, data): self.TypeDefinitionNode = ExpandedNodeId.from_binary(data) self.IncludeSubTypes = uabin.Primitives.Boolean.unpack(data) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(QueryDataDescription.from_binary(data)) self.DataToReturn = array def __str__(self): return 'NodeTypeDescription(' + 'TypeDefinitionNode:' + str(self.TypeDefinitionNode) + ', ' + \ 'IncludeSubTypes:' + str(self.IncludeSubTypes) + ', ' + \ 'DataToReturn:' + str(self.DataToReturn) + ')' __repr__ = __str__ class QueryDataSet(FrozenClass): ''' :ivar NodeId: :vartype NodeId: ExpandedNodeId :ivar TypeDefinitionNode: :vartype TypeDefinitionNode: ExpandedNodeId :ivar Values: :vartype Values: Variant ''' ua_types = { 'NodeId': 'ExpandedNodeId', 'TypeDefinitionNode': 'ExpandedNodeId', 'Values': 'Variant', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.NodeId = ExpandedNodeId() self.TypeDefinitionNode = ExpandedNodeId() self.Values = [] self._freeze = True def to_binary(self): packet = [] packet.append(self.NodeId.to_binary()) packet.append(self.TypeDefinitionNode.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.Values))) for fieldname in self.Values: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return QueryDataSet(data) def _binary_init(self, data): self.NodeId = ExpandedNodeId.from_binary(data) self.TypeDefinitionNode = ExpandedNodeId.from_binary(data) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(Variant.from_binary(data)) self.Values = array def __str__(self): return 'QueryDataSet(' + 'NodeId:' + str(self.NodeId) + ', ' + \ 'TypeDefinitionNode:' + str(self.TypeDefinitionNode) + ', ' + \ 'Values:' + str(self.Values) + ')' __repr__ = __str__ class NodeReference(FrozenClass): ''' :ivar NodeId: :vartype NodeId: NodeId :ivar ReferenceTypeId: :vartype ReferenceTypeId: NodeId :ivar IsForward: :vartype IsForward: Boolean :ivar ReferencedNodeIds: :vartype ReferencedNodeIds: NodeId ''' ua_types = { 'NodeId': 'NodeId', 'ReferenceTypeId': 'NodeId', 'IsForward': 'Boolean', 'ReferencedNodeIds': 'NodeId', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.NodeId = NodeId() self.ReferenceTypeId = NodeId() self.IsForward = True self.ReferencedNodeIds = [] self._freeze = True def to_binary(self): packet = [] packet.append(self.NodeId.to_binary()) packet.append(self.ReferenceTypeId.to_binary()) packet.append(uabin.Primitives.Boolean.pack(self.IsForward)) packet.append(uabin.Primitives.Int32.pack(len(self.ReferencedNodeIds))) for fieldname in self.ReferencedNodeIds: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return NodeReference(data) def _binary_init(self, data): self.NodeId = NodeId.from_binary(data) self.ReferenceTypeId = NodeId.from_binary(data) self.IsForward = uabin.Primitives.Boolean.unpack(data) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(NodeId.from_binary(data)) self.ReferencedNodeIds = array def __str__(self): return 'NodeReference(' + 'NodeId:' + str(self.NodeId) + ', ' + \ 'ReferenceTypeId:' + str(self.ReferenceTypeId) + ', ' + \ 'IsForward:' + str(self.IsForward) + ', ' + \ 'ReferencedNodeIds:' + str(self.ReferencedNodeIds) + ')' __repr__ = __str__ class ContentFilterElement(FrozenClass): ''' :ivar FilterOperator: :vartype FilterOperator: FilterOperator :ivar FilterOperands: :vartype FilterOperands: ExtensionObject ''' ua_types = { 'FilterOperator': 'FilterOperator', 'FilterOperands': 'ExtensionObject', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.FilterOperator = FilterOperator(0) self.FilterOperands = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.UInt32.pack(self.FilterOperator.value)) packet.append(uabin.Primitives.Int32.pack(len(self.FilterOperands))) for fieldname in self.FilterOperands: packet.append(extensionobject_to_binary(fieldname)) return b''.join(packet) @staticmethod def from_binary(data): return ContentFilterElement(data) def _binary_init(self, data): self.FilterOperator = FilterOperator(uabin.Primitives.UInt32.unpack(data)) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(extensionobject_from_binary(data)) self.FilterOperands = array def __str__(self): return 'ContentFilterElement(' + 'FilterOperator:' + str(self.FilterOperator) + ', ' + \ 'FilterOperands:' + str(self.FilterOperands) + ')' __repr__ = __str__ class ContentFilter(FrozenClass): ''' :ivar Elements: :vartype Elements: ContentFilterElement ''' ua_types = { 'Elements': 'ContentFilterElement', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.Elements = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.Int32.pack(len(self.Elements))) for fieldname in self.Elements: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return ContentFilter(data) def _binary_init(self, data): length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(ContentFilterElement.from_binary(data)) self.Elements = array def __str__(self): return 'ContentFilter(' + 'Elements:' + str(self.Elements) + ')' __repr__ = __str__ class ElementOperand(FrozenClass): ''' :ivar Index: :vartype Index: UInt32 ''' ua_types = { 'Index': 'UInt32', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.Index = 0 self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.UInt32.pack(self.Index)) return b''.join(packet) @staticmethod def from_binary(data): return ElementOperand(data) def _binary_init(self, data): self.Index = uabin.Primitives.UInt32.unpack(data) def __str__(self): return 'ElementOperand(' + 'Index:' + str(self.Index) + ')' __repr__ = __str__ class LiteralOperand(FrozenClass): ''' :ivar Value: :vartype Value: Variant ''' ua_types = { 'Value': 'Variant', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.Value = Variant() self._freeze = True def to_binary(self): packet = [] packet.append(self.Value.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return LiteralOperand(data) def _binary_init(self, data): self.Value = Variant.from_binary(data) def __str__(self): return 'LiteralOperand(' + 'Value:' + str(self.Value) + ')' __repr__ = __str__ class AttributeOperand(FrozenClass): ''' :ivar NodeId: :vartype NodeId: NodeId :ivar Alias: :vartype Alias: String :ivar BrowsePath: :vartype BrowsePath: RelativePath :ivar AttributeId: :vartype AttributeId: UInt32 :ivar IndexRange: :vartype IndexRange: String ''' ua_types = { 'NodeId': 'NodeId', 'Alias': 'String', 'BrowsePath': 'RelativePath', 'AttributeId': 'UInt32', 'IndexRange': 'String', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.NodeId = NodeId() self.Alias = None self.BrowsePath = RelativePath() self.AttributeId = 0 self.IndexRange = None self._freeze = True def to_binary(self): packet = [] packet.append(self.NodeId.to_binary()) packet.append(uabin.Primitives.String.pack(self.Alias)) packet.append(self.BrowsePath.to_binary()) packet.append(uabin.Primitives.UInt32.pack(self.AttributeId)) packet.append(uabin.Primitives.String.pack(self.IndexRange)) return b''.join(packet) @staticmethod def from_binary(data): return AttributeOperand(data) def _binary_init(self, data): self.NodeId = NodeId.from_binary(data) self.Alias = uabin.Primitives.String.unpack(data) self.BrowsePath = RelativePath.from_binary(data) self.AttributeId = uabin.Primitives.UInt32.unpack(data) self.IndexRange = uabin.Primitives.String.unpack(data) def __str__(self): return 'AttributeOperand(' + 'NodeId:' + str(self.NodeId) + ', ' + \ 'Alias:' + str(self.Alias) + ', ' + \ 'BrowsePath:' + str(self.BrowsePath) + ', ' + \ 'AttributeId:' + str(self.AttributeId) + ', ' + \ 'IndexRange:' + str(self.IndexRange) + ')' __repr__ = __str__ class SimpleAttributeOperand(FrozenClass): ''' :ivar TypeDefinitionId: :vartype TypeDefinitionId: NodeId :ivar BrowsePath: :vartype BrowsePath: QualifiedName :ivar AttributeId: :vartype AttributeId: UInt32 :ivar IndexRange: :vartype IndexRange: String ''' ua_types = { 'TypeDefinitionId': 'NodeId', 'BrowsePath': 'QualifiedName', 'AttributeId': 'UInt32', 'IndexRange': 'String', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeDefinitionId = NodeId() self.BrowsePath = [] self.AttributeId = 0 self.IndexRange = None self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeDefinitionId.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.BrowsePath))) for fieldname in self.BrowsePath: packet.append(fieldname.to_binary()) packet.append(uabin.Primitives.UInt32.pack(self.AttributeId)) packet.append(uabin.Primitives.String.pack(self.IndexRange)) return b''.join(packet) @staticmethod def from_binary(data): return SimpleAttributeOperand(data) def _binary_init(self, data): self.TypeDefinitionId = NodeId.from_binary(data) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(QualifiedName.from_binary(data)) self.BrowsePath = array self.AttributeId = uabin.Primitives.UInt32.unpack(data) self.IndexRange = uabin.Primitives.String.unpack(data) def __str__(self): return 'SimpleAttributeOperand(' + 'TypeDefinitionId:' + str(self.TypeDefinitionId) + ', ' + \ 'BrowsePath:' + str(self.BrowsePath) + ', ' + \ 'AttributeId:' + str(self.AttributeId) + ', ' + \ 'IndexRange:' + str(self.IndexRange) + ')' __repr__ = __str__ class ContentFilterElementResult(FrozenClass): ''' :ivar StatusCode: :vartype StatusCode: StatusCode :ivar OperandStatusCodes: :vartype OperandStatusCodes: StatusCode :ivar OperandDiagnosticInfos: :vartype OperandDiagnosticInfos: DiagnosticInfo ''' ua_types = { 'StatusCode': 'StatusCode', 'OperandStatusCodes': 'StatusCode', 'OperandDiagnosticInfos': 'DiagnosticInfo', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.StatusCode = StatusCode() self.OperandStatusCodes = [] self.OperandDiagnosticInfos = [] self._freeze = True def to_binary(self): packet = [] packet.append(self.StatusCode.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.OperandStatusCodes))) for fieldname in self.OperandStatusCodes: packet.append(fieldname.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.OperandDiagnosticInfos))) for fieldname in self.OperandDiagnosticInfos: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return ContentFilterElementResult(data) def _binary_init(self, data): self.StatusCode = StatusCode.from_binary(data) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(StatusCode.from_binary(data)) self.OperandStatusCodes = array length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(DiagnosticInfo.from_binary(data)) self.OperandDiagnosticInfos = array def __str__(self): return 'ContentFilterElementResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ 'OperandStatusCodes:' + str(self.OperandStatusCodes) + ', ' + \ 'OperandDiagnosticInfos:' + str(self.OperandDiagnosticInfos) + ')' __repr__ = __str__ class ContentFilterResult(FrozenClass): ''' :ivar ElementResults: :vartype ElementResults: ContentFilterElementResult :ivar ElementDiagnosticInfos: :vartype ElementDiagnosticInfos: DiagnosticInfo ''' ua_types = { 'ElementResults': 'ContentFilterElementResult', 'ElementDiagnosticInfos': 'DiagnosticInfo', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.ElementResults = [] self.ElementDiagnosticInfos = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.Int32.pack(len(self.ElementResults))) for fieldname in self.ElementResults: packet.append(fieldname.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.ElementDiagnosticInfos))) for fieldname in self.ElementDiagnosticInfos: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return ContentFilterResult(data) def _binary_init(self, data): length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(ContentFilterElementResult.from_binary(data)) self.ElementResults = array length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(DiagnosticInfo.from_binary(data)) self.ElementDiagnosticInfos = array def __str__(self): return 'ContentFilterResult(' + 'ElementResults:' + str(self.ElementResults) + ', ' + \ 'ElementDiagnosticInfos:' + str(self.ElementDiagnosticInfos) + ')' __repr__ = __str__ class ParsingResult(FrozenClass): ''' :ivar StatusCode: :vartype StatusCode: StatusCode :ivar DataStatusCodes: :vartype DataStatusCodes: StatusCode :ivar DataDiagnosticInfos: :vartype DataDiagnosticInfos: DiagnosticInfo ''' ua_types = { 'StatusCode': 'StatusCode', 'DataStatusCodes': 'StatusCode', 'DataDiagnosticInfos': 'DiagnosticInfo', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.StatusCode = StatusCode() self.DataStatusCodes = [] self.DataDiagnosticInfos = [] self._freeze = True def to_binary(self): packet = [] packet.append(self.StatusCode.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.DataStatusCodes))) for fieldname in self.DataStatusCodes: packet.append(fieldname.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.DataDiagnosticInfos))) for fieldname in self.DataDiagnosticInfos: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return ParsingResult(data) def _binary_init(self, data): self.StatusCode = StatusCode.from_binary(data) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(StatusCode.from_binary(data)) self.DataStatusCodes = array length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(DiagnosticInfo.from_binary(data)) self.DataDiagnosticInfos = array def __str__(self): return 'ParsingResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ 'DataStatusCodes:' + str(self.DataStatusCodes) + ', ' + \ 'DataDiagnosticInfos:' + str(self.DataDiagnosticInfos) + ')' __repr__ = __str__ class QueryFirstParameters(FrozenClass): ''' :ivar View: :vartype View: ViewDescription :ivar NodeTypes: :vartype NodeTypes: NodeTypeDescription :ivar Filter: :vartype Filter: ContentFilter :ivar MaxDataSetsToReturn: :vartype MaxDataSetsToReturn: UInt32 :ivar MaxReferencesToReturn: :vartype MaxReferencesToReturn: UInt32 ''' ua_types = { 'View': 'ViewDescription', 'NodeTypes': 'NodeTypeDescription', 'Filter': 'ContentFilter', 'MaxDataSetsToReturn': 'UInt32', 'MaxReferencesToReturn': 'UInt32', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.View = ViewDescription() self.NodeTypes = [] self.Filter = ContentFilter() self.MaxDataSetsToReturn = 0 self.MaxReferencesToReturn = 0 self._freeze = True def to_binary(self): packet = [] packet.append(self.View.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.NodeTypes))) for fieldname in self.NodeTypes: packet.append(fieldname.to_binary()) packet.append(self.Filter.to_binary()) packet.append(uabin.Primitives.UInt32.pack(self.MaxDataSetsToReturn)) packet.append(uabin.Primitives.UInt32.pack(self.MaxReferencesToReturn)) return b''.join(packet) @staticmethod def from_binary(data): return QueryFirstParameters(data) def _binary_init(self, data): self.View = ViewDescription.from_binary(data) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(NodeTypeDescription.from_binary(data)) self.NodeTypes = array self.Filter = ContentFilter.from_binary(data) self.MaxDataSetsToReturn = uabin.Primitives.UInt32.unpack(data) self.MaxReferencesToReturn = uabin.Primitives.UInt32.unpack(data) def __str__(self): return 'QueryFirstParameters(' + 'View:' + str(self.View) + ', ' + \ 'NodeTypes:' + str(self.NodeTypes) + ', ' + \ 'Filter:' + str(self.Filter) + ', ' + \ 'MaxDataSetsToReturn:' + str(self.MaxDataSetsToReturn) + ', ' + \ 'MaxReferencesToReturn:' + str(self.MaxReferencesToReturn) + ')' __repr__ = __str__ class QueryFirstRequest(FrozenClass): ''' :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: QueryFirstParameters ''' ua_types = { 'TypeId': 'NodeId', 'RequestHeader': 'RequestHeader', 'Parameters': 'QueryFirstParameters', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.QueryFirstRequest_Encoding_DefaultBinary) self.RequestHeader = RequestHeader() self.Parameters = QueryFirstParameters() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.RequestHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return QueryFirstRequest(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.RequestHeader = RequestHeader.from_binary(data) self.Parameters = QueryFirstParameters.from_binary(data) def __str__(self): return 'QueryFirstRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class QueryFirstResult(FrozenClass): ''' :ivar QueryDataSets: :vartype QueryDataSets: QueryDataSet :ivar ContinuationPoint: :vartype ContinuationPoint: ByteString :ivar ParsingResults: :vartype ParsingResults: ParsingResult :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo :ivar FilterResult: :vartype FilterResult: ContentFilterResult ''' ua_types = { 'QueryDataSets': 'QueryDataSet', 'ContinuationPoint': 'ByteString', 'ParsingResults': 'ParsingResult', 'DiagnosticInfos': 'DiagnosticInfo', 'FilterResult': 'ContentFilterResult', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.QueryDataSets = [] self.ContinuationPoint = None self.ParsingResults = [] self.DiagnosticInfos = [] self.FilterResult = ContentFilterResult() self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.Int32.pack(len(self.QueryDataSets))) for fieldname in self.QueryDataSets: packet.append(fieldname.to_binary()) packet.append(uabin.Primitives.ByteString.pack(self.ContinuationPoint)) packet.append(uabin.Primitives.Int32.pack(len(self.ParsingResults))) for fieldname in self.ParsingResults: packet.append(fieldname.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.DiagnosticInfos))) for fieldname in self.DiagnosticInfos: packet.append(fieldname.to_binary()) packet.append(self.FilterResult.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return QueryFirstResult(data) def _binary_init(self, data): length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(QueryDataSet.from_binary(data)) self.QueryDataSets = array self.ContinuationPoint = uabin.Primitives.ByteString.unpack(data) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(ParsingResult.from_binary(data)) self.ParsingResults = array length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(DiagnosticInfo.from_binary(data)) self.DiagnosticInfos = array self.FilterResult = ContentFilterResult.from_binary(data) def __str__(self): return 'QueryFirstResult(' + 'QueryDataSets:' + str(self.QueryDataSets) + ', ' + \ 'ContinuationPoint:' + str(self.ContinuationPoint) + ', ' + \ 'ParsingResults:' + str(self.ParsingResults) + ', ' + \ 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ', ' + \ 'FilterResult:' + str(self.FilterResult) + ')' __repr__ = __str__ class QueryFirstResponse(FrozenClass): ''' :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: QueryFirstResult ''' ua_types = { 'TypeId': 'NodeId', 'ResponseHeader': 'ResponseHeader', 'Parameters': 'QueryFirstResult', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.QueryFirstResponse_Encoding_DefaultBinary) self.ResponseHeader = ResponseHeader() self.Parameters = QueryFirstResult() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.ResponseHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return QueryFirstResponse(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.ResponseHeader = ResponseHeader.from_binary(data) self.Parameters = QueryFirstResult.from_binary(data) def __str__(self): return 'QueryFirstResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class QueryNextParameters(FrozenClass): ''' :ivar ReleaseContinuationPoint: :vartype ReleaseContinuationPoint: Boolean :ivar ContinuationPoint: :vartype ContinuationPoint: ByteString ''' ua_types = { 'ReleaseContinuationPoint': 'Boolean', 'ContinuationPoint': 'ByteString', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.ReleaseContinuationPoint = True self.ContinuationPoint = None self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.Boolean.pack(self.ReleaseContinuationPoint)) packet.append(uabin.Primitives.ByteString.pack(self.ContinuationPoint)) return b''.join(packet) @staticmethod def from_binary(data): return QueryNextParameters(data) def _binary_init(self, data): self.ReleaseContinuationPoint = uabin.Primitives.Boolean.unpack(data) self.ContinuationPoint = uabin.Primitives.ByteString.unpack(data) def __str__(self): return 'QueryNextParameters(' + 'ReleaseContinuationPoint:' + str(self.ReleaseContinuationPoint) + ', ' + \ 'ContinuationPoint:' + str(self.ContinuationPoint) + ')' __repr__ = __str__ class QueryNextRequest(FrozenClass): ''' :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: QueryNextParameters ''' ua_types = { 'TypeId': 'NodeId', 'RequestHeader': 'RequestHeader', 'Parameters': 'QueryNextParameters', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.QueryNextRequest_Encoding_DefaultBinary) self.RequestHeader = RequestHeader() self.Parameters = QueryNextParameters() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.RequestHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return QueryNextRequest(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.RequestHeader = RequestHeader.from_binary(data) self.Parameters = QueryNextParameters.from_binary(data) def __str__(self): return 'QueryNextRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class QueryNextResult(FrozenClass): ''' :ivar QueryDataSets: :vartype QueryDataSets: QueryDataSet :ivar RevisedContinuationPoint: :vartype RevisedContinuationPoint: ByteString ''' ua_types = { 'QueryDataSets': 'QueryDataSet', 'RevisedContinuationPoint': 'ByteString', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.QueryDataSets = [] self.RevisedContinuationPoint = None self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.Int32.pack(len(self.QueryDataSets))) for fieldname in self.QueryDataSets: packet.append(fieldname.to_binary()) packet.append(uabin.Primitives.ByteString.pack(self.RevisedContinuationPoint)) return b''.join(packet) @staticmethod def from_binary(data): return QueryNextResult(data) def _binary_init(self, data): length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(QueryDataSet.from_binary(data)) self.QueryDataSets = array self.RevisedContinuationPoint = uabin.Primitives.ByteString.unpack(data) def __str__(self): return 'QueryNextResult(' + 'QueryDataSets:' + str(self.QueryDataSets) + ', ' + \ 'RevisedContinuationPoint:' + str(self.RevisedContinuationPoint) + ')' __repr__ = __str__ class QueryNextResponse(FrozenClass): ''' :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: QueryNextResult ''' ua_types = { 'TypeId': 'NodeId', 'ResponseHeader': 'ResponseHeader', 'Parameters': 'QueryNextResult', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.QueryNextResponse_Encoding_DefaultBinary) self.ResponseHeader = ResponseHeader() self.Parameters = QueryNextResult() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.ResponseHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return QueryNextResponse(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.ResponseHeader = ResponseHeader.from_binary(data) self.Parameters = QueryNextResult.from_binary(data) def __str__(self): return 'QueryNextResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class ReadValueId(FrozenClass): ''' :ivar NodeId: :vartype NodeId: NodeId :ivar AttributeId: :vartype AttributeId: UInt32 :ivar IndexRange: :vartype IndexRange: String :ivar DataEncoding: :vartype DataEncoding: QualifiedName ''' ua_types = { 'NodeId': 'NodeId', 'AttributeId': 'UInt32', 'IndexRange': 'String', 'DataEncoding': 'QualifiedName', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.NodeId = NodeId() self.AttributeId = 0 self.IndexRange = None self.DataEncoding = QualifiedName() self._freeze = True def to_binary(self): packet = [] packet.append(self.NodeId.to_binary()) packet.append(uabin.Primitives.UInt32.pack(self.AttributeId)) packet.append(uabin.Primitives.String.pack(self.IndexRange)) packet.append(self.DataEncoding.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return ReadValueId(data) def _binary_init(self, data): self.NodeId = NodeId.from_binary(data) self.AttributeId = uabin.Primitives.UInt32.unpack(data) self.IndexRange = uabin.Primitives.String.unpack(data) self.DataEncoding = QualifiedName.from_binary(data) def __str__(self): return 'ReadValueId(' + 'NodeId:' + str(self.NodeId) + ', ' + \ 'AttributeId:' + str(self.AttributeId) + ', ' + \ 'IndexRange:' + str(self.IndexRange) + ', ' + \ 'DataEncoding:' + str(self.DataEncoding) + ')' __repr__ = __str__ class ReadParameters(FrozenClass): ''' :ivar MaxAge: :vartype MaxAge: Double :ivar TimestampsToReturn: :vartype TimestampsToReturn: TimestampsToReturn :ivar NodesToRead: :vartype NodesToRead: ReadValueId ''' ua_types = { 'MaxAge': 'Double', 'TimestampsToReturn': 'TimestampsToReturn', 'NodesToRead': 'ReadValueId', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.MaxAge = 0 self.TimestampsToReturn = TimestampsToReturn(0) self.NodesToRead = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.Double.pack(self.MaxAge)) packet.append(uabin.Primitives.UInt32.pack(self.TimestampsToReturn.value)) packet.append(uabin.Primitives.Int32.pack(len(self.NodesToRead))) for fieldname in self.NodesToRead: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return ReadParameters(data) def _binary_init(self, data): self.MaxAge = uabin.Primitives.Double.unpack(data) self.TimestampsToReturn = TimestampsToReturn(uabin.Primitives.UInt32.unpack(data)) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(ReadValueId.from_binary(data)) self.NodesToRead = array def __str__(self): return 'ReadParameters(' + 'MaxAge:' + str(self.MaxAge) + ', ' + \ 'TimestampsToReturn:' + str(self.TimestampsToReturn) + ', ' + \ 'NodesToRead:' + str(self.NodesToRead) + ')' __repr__ = __str__ class ReadRequest(FrozenClass): ''' :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: ReadParameters ''' ua_types = { 'TypeId': 'NodeId', 'RequestHeader': 'RequestHeader', 'Parameters': 'ReadParameters', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.ReadRequest_Encoding_DefaultBinary) self.RequestHeader = RequestHeader() self.Parameters = ReadParameters() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.RequestHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return ReadRequest(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.RequestHeader = RequestHeader.from_binary(data) self.Parameters = ReadParameters.from_binary(data) def __str__(self): return 'ReadRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class ReadResponse(FrozenClass): ''' :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Results: :vartype Results: DataValue :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo ''' ua_types = { 'TypeId': 'NodeId', 'ResponseHeader': 'ResponseHeader', 'Results': 'DataValue', 'DiagnosticInfos': 'DiagnosticInfo', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.ReadResponse_Encoding_DefaultBinary) self.ResponseHeader = ResponseHeader() self.Results = [] self.DiagnosticInfos = [] self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.ResponseHeader.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.Results))) for fieldname in self.Results: packet.append(fieldname.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.DiagnosticInfos))) for fieldname in self.DiagnosticInfos: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return ReadResponse(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.ResponseHeader = ResponseHeader.from_binary(data) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(DataValue.from_binary(data)) self.Results = array length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(DiagnosticInfo.from_binary(data)) self.DiagnosticInfos = array def __str__(self): return 'ReadResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ 'Results:' + str(self.Results) + ', ' + \ 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' __repr__ = __str__ class HistoryReadValueId(FrozenClass): ''' :ivar NodeId: :vartype NodeId: NodeId :ivar IndexRange: :vartype IndexRange: String :ivar DataEncoding: :vartype DataEncoding: QualifiedName :ivar ContinuationPoint: :vartype ContinuationPoint: ByteString ''' ua_types = { 'NodeId': 'NodeId', 'IndexRange': 'String', 'DataEncoding': 'QualifiedName', 'ContinuationPoint': 'ByteString', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.NodeId = NodeId() self.IndexRange = None self.DataEncoding = QualifiedName() self.ContinuationPoint = None self._freeze = True def to_binary(self): packet = [] packet.append(self.NodeId.to_binary()) packet.append(uabin.Primitives.String.pack(self.IndexRange)) packet.append(self.DataEncoding.to_binary()) packet.append(uabin.Primitives.ByteString.pack(self.ContinuationPoint)) return b''.join(packet) @staticmethod def from_binary(data): return HistoryReadValueId(data) def _binary_init(self, data): self.NodeId = NodeId.from_binary(data) self.IndexRange = uabin.Primitives.String.unpack(data) self.DataEncoding = QualifiedName.from_binary(data) self.ContinuationPoint = uabin.Primitives.ByteString.unpack(data) def __str__(self): return 'HistoryReadValueId(' + 'NodeId:' + str(self.NodeId) + ', ' + \ 'IndexRange:' + str(self.IndexRange) + ', ' + \ 'DataEncoding:' + str(self.DataEncoding) + ', ' + \ 'ContinuationPoint:' + str(self.ContinuationPoint) + ')' __repr__ = __str__ class HistoryReadResult(FrozenClass): ''' :ivar StatusCode: :vartype StatusCode: StatusCode :ivar ContinuationPoint: :vartype ContinuationPoint: ByteString :ivar HistoryData: :vartype HistoryData: ExtensionObject ''' ua_types = { 'StatusCode': 'StatusCode', 'ContinuationPoint': 'ByteString', 'HistoryData': 'ExtensionObject', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.StatusCode = StatusCode() self.ContinuationPoint = None self.HistoryData = None self._freeze = True def to_binary(self): packet = [] packet.append(self.StatusCode.to_binary()) packet.append(uabin.Primitives.ByteString.pack(self.ContinuationPoint)) packet.append(extensionobject_to_binary(self.HistoryData)) return b''.join(packet) @staticmethod def from_binary(data): return HistoryReadResult(data) def _binary_init(self, data): self.StatusCode = StatusCode.from_binary(data) self.ContinuationPoint = uabin.Primitives.ByteString.unpack(data) self.HistoryData = extensionobject_from_binary(data) def __str__(self): return 'HistoryReadResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ 'ContinuationPoint:' + str(self.ContinuationPoint) + ', ' + \ 'HistoryData:' + str(self.HistoryData) + ')' __repr__ = __str__ class HistoryReadDetails(FrozenClass): ''' ''' ua_types = { } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self._freeze = True def to_binary(self): packet = [] return b''.join(packet) @staticmethod def from_binary(data): return HistoryReadDetails(data) def _binary_init(self, data): pass def __str__(self): return 'HistoryReadDetails(' + + ')' __repr__ = __str__ class ReadEventDetails(FrozenClass): ''' :ivar NumValuesPerNode: :vartype NumValuesPerNode: UInt32 :ivar StartTime: :vartype StartTime: DateTime :ivar EndTime: :vartype EndTime: DateTime :ivar Filter: :vartype Filter: EventFilter ''' ua_types = { 'NumValuesPerNode': 'UInt32', 'StartTime': 'DateTime', 'EndTime': 'DateTime', 'Filter': 'EventFilter', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.NumValuesPerNode = 0 self.StartTime = datetime.utcnow() self.EndTime = datetime.utcnow() self.Filter = EventFilter() self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.UInt32.pack(self.NumValuesPerNode)) packet.append(uabin.Primitives.DateTime.pack(self.StartTime)) packet.append(uabin.Primitives.DateTime.pack(self.EndTime)) packet.append(self.Filter.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return ReadEventDetails(data) def _binary_init(self, data): self.NumValuesPerNode = uabin.Primitives.UInt32.unpack(data) self.StartTime = uabin.Primitives.DateTime.unpack(data) self.EndTime = uabin.Primitives.DateTime.unpack(data) self.Filter = EventFilter.from_binary(data) def __str__(self): return 'ReadEventDetails(' + 'NumValuesPerNode:' + str(self.NumValuesPerNode) + ', ' + \ 'StartTime:' + str(self.StartTime) + ', ' + \ 'EndTime:' + str(self.EndTime) + ', ' + \ 'Filter:' + str(self.Filter) + ')' __repr__ = __str__ class ReadRawModifiedDetails(FrozenClass): ''' :ivar IsReadModified: :vartype IsReadModified: Boolean :ivar StartTime: :vartype StartTime: DateTime :ivar EndTime: :vartype EndTime: DateTime :ivar NumValuesPerNode: :vartype NumValuesPerNode: UInt32 :ivar ReturnBounds: :vartype ReturnBounds: Boolean ''' ua_types = { 'IsReadModified': 'Boolean', 'StartTime': 'DateTime', 'EndTime': 'DateTime', 'NumValuesPerNode': 'UInt32', 'ReturnBounds': 'Boolean', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.IsReadModified = True self.StartTime = datetime.utcnow() self.EndTime = datetime.utcnow() self.NumValuesPerNode = 0 self.ReturnBounds = True self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.Boolean.pack(self.IsReadModified)) packet.append(uabin.Primitives.DateTime.pack(self.StartTime)) packet.append(uabin.Primitives.DateTime.pack(self.EndTime)) packet.append(uabin.Primitives.UInt32.pack(self.NumValuesPerNode)) packet.append(uabin.Primitives.Boolean.pack(self.ReturnBounds)) return b''.join(packet) @staticmethod def from_binary(data): return ReadRawModifiedDetails(data) def _binary_init(self, data): self.IsReadModified = uabin.Primitives.Boolean.unpack(data) self.StartTime = uabin.Primitives.DateTime.unpack(data) self.EndTime = uabin.Primitives.DateTime.unpack(data) self.NumValuesPerNode = uabin.Primitives.UInt32.unpack(data) self.ReturnBounds = uabin.Primitives.Boolean.unpack(data) def __str__(self): return 'ReadRawModifiedDetails(' + 'IsReadModified:' + str(self.IsReadModified) + ', ' + \ 'StartTime:' + str(self.StartTime) + ', ' + \ 'EndTime:' + str(self.EndTime) + ', ' + \ 'NumValuesPerNode:' + str(self.NumValuesPerNode) + ', ' + \ 'ReturnBounds:' + str(self.ReturnBounds) + ')' __repr__ = __str__ class ReadProcessedDetails(FrozenClass): ''' :ivar StartTime: :vartype StartTime: DateTime :ivar EndTime: :vartype EndTime: DateTime :ivar ProcessingInterval: :vartype ProcessingInterval: Double :ivar AggregateType: :vartype AggregateType: NodeId :ivar AggregateConfiguration: :vartype AggregateConfiguration: AggregateConfiguration ''' ua_types = { 'StartTime': 'DateTime', 'EndTime': 'DateTime', 'ProcessingInterval': 'Double', 'AggregateType': 'NodeId', 'AggregateConfiguration': 'AggregateConfiguration', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.StartTime = datetime.utcnow() self.EndTime = datetime.utcnow() self.ProcessingInterval = 0 self.AggregateType = [] self.AggregateConfiguration = AggregateConfiguration() self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.DateTime.pack(self.StartTime)) packet.append(uabin.Primitives.DateTime.pack(self.EndTime)) packet.append(uabin.Primitives.Double.pack(self.ProcessingInterval)) packet.append(uabin.Primitives.Int32.pack(len(self.AggregateType))) for fieldname in self.AggregateType: packet.append(fieldname.to_binary()) packet.append(self.AggregateConfiguration.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return ReadProcessedDetails(data) def _binary_init(self, data): self.StartTime = uabin.Primitives.DateTime.unpack(data) self.EndTime = uabin.Primitives.DateTime.unpack(data) self.ProcessingInterval = uabin.Primitives.Double.unpack(data) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(NodeId.from_binary(data)) self.AggregateType = array self.AggregateConfiguration = AggregateConfiguration.from_binary(data) def __str__(self): return 'ReadProcessedDetails(' + 'StartTime:' + str(self.StartTime) + ', ' + \ 'EndTime:' + str(self.EndTime) + ', ' + \ 'ProcessingInterval:' + str(self.ProcessingInterval) + ', ' + \ 'AggregateType:' + str(self.AggregateType) + ', ' + \ 'AggregateConfiguration:' + str(self.AggregateConfiguration) + ')' __repr__ = __str__ class ReadAtTimeDetails(FrozenClass): ''' :ivar ReqTimes: :vartype ReqTimes: DateTime :ivar UseSimpleBounds: :vartype UseSimpleBounds: Boolean ''' ua_types = { 'ReqTimes': 'DateTime', 'UseSimpleBounds': 'Boolean', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.ReqTimes = [] self.UseSimpleBounds = True self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.Int32.pack(len(self.ReqTimes))) for fieldname in self.ReqTimes: packet.append(uabin.Primitives.DateTime.pack(fieldname)) packet.append(uabin.Primitives.Boolean.pack(self.UseSimpleBounds)) return b''.join(packet) @staticmethod def from_binary(data): return ReadAtTimeDetails(data) def _binary_init(self, data): self.ReqTimes = uabin.Primitives.DateTime.unpack_array(data) self.UseSimpleBounds = uabin.Primitives.Boolean.unpack(data) def __str__(self): return 'ReadAtTimeDetails(' + 'ReqTimes:' + str(self.ReqTimes) + ', ' + \ 'UseSimpleBounds:' + str(self.UseSimpleBounds) + ')' __repr__ = __str__ class HistoryData(FrozenClass): ''' :ivar DataValues: :vartype DataValues: DataValue ''' ua_types = { 'DataValues': 'DataValue', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.DataValues = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.Int32.pack(len(self.DataValues))) for fieldname in self.DataValues: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return HistoryData(data) def _binary_init(self, data): length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(DataValue.from_binary(data)) self.DataValues = array def __str__(self): return 'HistoryData(' + 'DataValues:' + str(self.DataValues) + ')' __repr__ = __str__ class ModificationInfo(FrozenClass): ''' :ivar ModificationTime: :vartype ModificationTime: DateTime :ivar UpdateType: :vartype UpdateType: HistoryUpdateType :ivar UserName: :vartype UserName: String ''' ua_types = { 'ModificationTime': 'DateTime', 'UpdateType': 'HistoryUpdateType', 'UserName': 'String', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.ModificationTime = datetime.utcnow() self.UpdateType = HistoryUpdateType(0) self.UserName = None self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.DateTime.pack(self.ModificationTime)) packet.append(uabin.Primitives.UInt32.pack(self.UpdateType.value)) packet.append(uabin.Primitives.String.pack(self.UserName)) return b''.join(packet) @staticmethod def from_binary(data): return ModificationInfo(data) def _binary_init(self, data): self.ModificationTime = uabin.Primitives.DateTime.unpack(data) self.UpdateType = HistoryUpdateType(uabin.Primitives.UInt32.unpack(data)) self.UserName = uabin.Primitives.String.unpack(data) def __str__(self): return 'ModificationInfo(' + 'ModificationTime:' + str(self.ModificationTime) + ', ' + \ 'UpdateType:' + str(self.UpdateType) + ', ' + \ 'UserName:' + str(self.UserName) + ')' __repr__ = __str__ class HistoryModifiedData(FrozenClass): ''' :ivar DataValues: :vartype DataValues: DataValue :ivar ModificationInfos: :vartype ModificationInfos: ModificationInfo ''' ua_types = { 'DataValues': 'DataValue', 'ModificationInfos': 'ModificationInfo', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.DataValues = [] self.ModificationInfos = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.Int32.pack(len(self.DataValues))) for fieldname in self.DataValues: packet.append(fieldname.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.ModificationInfos))) for fieldname in self.ModificationInfos: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return HistoryModifiedData(data) def _binary_init(self, data): length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(DataValue.from_binary(data)) self.DataValues = array length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(ModificationInfo.from_binary(data)) self.ModificationInfos = array def __str__(self): return 'HistoryModifiedData(' + 'DataValues:' + str(self.DataValues) + ', ' + \ 'ModificationInfos:' + str(self.ModificationInfos) + ')' __repr__ = __str__ class HistoryEvent(FrozenClass): ''' :ivar Events: :vartype Events: HistoryEventFieldList ''' ua_types = { 'Events': 'HistoryEventFieldList', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.Events = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.Int32.pack(len(self.Events))) for fieldname in self.Events: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return HistoryEvent(data) def _binary_init(self, data): length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(HistoryEventFieldList.from_binary(data)) self.Events = array def __str__(self): return 'HistoryEvent(' + 'Events:' + str(self.Events) + ')' __repr__ = __str__ class HistoryReadParameters(FrozenClass): ''' :ivar HistoryReadDetails: :vartype HistoryReadDetails: ExtensionObject :ivar TimestampsToReturn: :vartype TimestampsToReturn: TimestampsToReturn :ivar ReleaseContinuationPoints: :vartype ReleaseContinuationPoints: Boolean :ivar NodesToRead: :vartype NodesToRead: HistoryReadValueId ''' ua_types = { 'HistoryReadDetails': 'ExtensionObject', 'TimestampsToReturn': 'TimestampsToReturn', 'ReleaseContinuationPoints': 'Boolean', 'NodesToRead': 'HistoryReadValueId', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.HistoryReadDetails = None self.TimestampsToReturn = TimestampsToReturn(0) self.ReleaseContinuationPoints = True self.NodesToRead = [] self._freeze = True def to_binary(self): packet = [] packet.append(extensionobject_to_binary(self.HistoryReadDetails)) packet.append(uabin.Primitives.UInt32.pack(self.TimestampsToReturn.value)) packet.append(uabin.Primitives.Boolean.pack(self.ReleaseContinuationPoints)) packet.append(uabin.Primitives.Int32.pack(len(self.NodesToRead))) for fieldname in self.NodesToRead: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return HistoryReadParameters(data) def _binary_init(self, data): self.HistoryReadDetails = extensionobject_from_binary(data) self.TimestampsToReturn = TimestampsToReturn(uabin.Primitives.UInt32.unpack(data)) self.ReleaseContinuationPoints = uabin.Primitives.Boolean.unpack(data) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(HistoryReadValueId.from_binary(data)) self.NodesToRead = array def __str__(self): return 'HistoryReadParameters(' + 'HistoryReadDetails:' + str(self.HistoryReadDetails) + ', ' + \ 'TimestampsToReturn:' + str(self.TimestampsToReturn) + ', ' + \ 'ReleaseContinuationPoints:' + str(self.ReleaseContinuationPoints) + ', ' + \ 'NodesToRead:' + str(self.NodesToRead) + ')' __repr__ = __str__ class HistoryReadRequest(FrozenClass): ''' :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: HistoryReadParameters ''' ua_types = { 'TypeId': 'NodeId', 'RequestHeader': 'RequestHeader', 'Parameters': 'HistoryReadParameters', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.HistoryReadRequest_Encoding_DefaultBinary) self.RequestHeader = RequestHeader() self.Parameters = HistoryReadParameters() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.RequestHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return HistoryReadRequest(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.RequestHeader = RequestHeader.from_binary(data) self.Parameters = HistoryReadParameters.from_binary(data) def __str__(self): return 'HistoryReadRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class HistoryReadResponse(FrozenClass): ''' :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Results: :vartype Results: HistoryReadResult :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo ''' ua_types = { 'TypeId': 'NodeId', 'ResponseHeader': 'ResponseHeader', 'Results': 'HistoryReadResult', 'DiagnosticInfos': 'DiagnosticInfo', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.HistoryReadResponse_Encoding_DefaultBinary) self.ResponseHeader = ResponseHeader() self.Results = [] self.DiagnosticInfos = [] self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.ResponseHeader.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.Results))) for fieldname in self.Results: packet.append(fieldname.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.DiagnosticInfos))) for fieldname in self.DiagnosticInfos: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return HistoryReadResponse(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.ResponseHeader = ResponseHeader.from_binary(data) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(HistoryReadResult.from_binary(data)) self.Results = array length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(DiagnosticInfo.from_binary(data)) self.DiagnosticInfos = array def __str__(self): return 'HistoryReadResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ 'Results:' + str(self.Results) + ', ' + \ 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' __repr__ = __str__ class WriteValue(FrozenClass): ''' :ivar NodeId: :vartype NodeId: NodeId :ivar AttributeId: :vartype AttributeId: UInt32 :ivar IndexRange: :vartype IndexRange: String :ivar Value: :vartype Value: DataValue ''' ua_types = { 'NodeId': 'NodeId', 'AttributeId': 'UInt32', 'IndexRange': 'String', 'Value': 'DataValue', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.NodeId = NodeId() self.AttributeId = 0 self.IndexRange = None self.Value = DataValue() self._freeze = True def to_binary(self): packet = [] packet.append(self.NodeId.to_binary()) packet.append(uabin.Primitives.UInt32.pack(self.AttributeId)) packet.append(uabin.Primitives.String.pack(self.IndexRange)) packet.append(self.Value.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return WriteValue(data) def _binary_init(self, data): self.NodeId = NodeId.from_binary(data) self.AttributeId = uabin.Primitives.UInt32.unpack(data) self.IndexRange = uabin.Primitives.String.unpack(data) self.Value = DataValue.from_binary(data) def __str__(self): return 'WriteValue(' + 'NodeId:' + str(self.NodeId) + ', ' + \ 'AttributeId:' + str(self.AttributeId) + ', ' + \ 'IndexRange:' + str(self.IndexRange) + ', ' + \ 'Value:' + str(self.Value) + ')' __repr__ = __str__ class WriteParameters(FrozenClass): ''' :ivar NodesToWrite: :vartype NodesToWrite: WriteValue ''' ua_types = { 'NodesToWrite': 'WriteValue', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.NodesToWrite = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.Int32.pack(len(self.NodesToWrite))) for fieldname in self.NodesToWrite: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return WriteParameters(data) def _binary_init(self, data): length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(WriteValue.from_binary(data)) self.NodesToWrite = array def __str__(self): return 'WriteParameters(' + 'NodesToWrite:' + str(self.NodesToWrite) + ')' __repr__ = __str__ class WriteRequest(FrozenClass): ''' :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: WriteParameters ''' ua_types = { 'TypeId': 'NodeId', 'RequestHeader': 'RequestHeader', 'Parameters': 'WriteParameters', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.WriteRequest_Encoding_DefaultBinary) self.RequestHeader = RequestHeader() self.Parameters = WriteParameters() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.RequestHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return WriteRequest(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.RequestHeader = RequestHeader.from_binary(data) self.Parameters = WriteParameters.from_binary(data) def __str__(self): return 'WriteRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class WriteResponse(FrozenClass): ''' :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Results: :vartype Results: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo ''' ua_types = { 'TypeId': 'NodeId', 'ResponseHeader': 'ResponseHeader', 'Results': 'StatusCode', 'DiagnosticInfos': 'DiagnosticInfo', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.WriteResponse_Encoding_DefaultBinary) self.ResponseHeader = ResponseHeader() self.Results = [] self.DiagnosticInfos = [] self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.ResponseHeader.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.Results))) for fieldname in self.Results: packet.append(fieldname.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.DiagnosticInfos))) for fieldname in self.DiagnosticInfos: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return WriteResponse(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.ResponseHeader = ResponseHeader.from_binary(data) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(StatusCode.from_binary(data)) self.Results = array length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(DiagnosticInfo.from_binary(data)) self.DiagnosticInfos = array def __str__(self): return 'WriteResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ 'Results:' + str(self.Results) + ', ' + \ 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' __repr__ = __str__ class HistoryUpdateDetails(FrozenClass): ''' :ivar NodeId: :vartype NodeId: NodeId ''' ua_types = { 'NodeId': 'NodeId', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.NodeId = NodeId() self._freeze = True def to_binary(self): packet = [] packet.append(self.NodeId.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return HistoryUpdateDetails(data) def _binary_init(self, data): self.NodeId = NodeId.from_binary(data) def __str__(self): return 'HistoryUpdateDetails(' + 'NodeId:' + str(self.NodeId) + ')' __repr__ = __str__ class UpdateDataDetails(FrozenClass): ''' :ivar NodeId: :vartype NodeId: NodeId :ivar PerformInsertReplace: :vartype PerformInsertReplace: PerformUpdateType :ivar UpdateValues: :vartype UpdateValues: DataValue ''' ua_types = { 'NodeId': 'NodeId', 'PerformInsertReplace': 'PerformUpdateType', 'UpdateValues': 'DataValue', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.NodeId = NodeId() self.PerformInsertReplace = PerformUpdateType(0) self.UpdateValues = [] self._freeze = True def to_binary(self): packet = [] packet.append(self.NodeId.to_binary()) packet.append(uabin.Primitives.UInt32.pack(self.PerformInsertReplace.value)) packet.append(uabin.Primitives.Int32.pack(len(self.UpdateValues))) for fieldname in self.UpdateValues: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return UpdateDataDetails(data) def _binary_init(self, data): self.NodeId = NodeId.from_binary(data) self.PerformInsertReplace = PerformUpdateType(uabin.Primitives.UInt32.unpack(data)) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(DataValue.from_binary(data)) self.UpdateValues = array def __str__(self): return 'UpdateDataDetails(' + 'NodeId:' + str(self.NodeId) + ', ' + \ 'PerformInsertReplace:' + str(self.PerformInsertReplace) + ', ' + \ 'UpdateValues:' + str(self.UpdateValues) + ')' __repr__ = __str__ class UpdateStructureDataDetails(FrozenClass): ''' :ivar NodeId: :vartype NodeId: NodeId :ivar PerformInsertReplace: :vartype PerformInsertReplace: PerformUpdateType :ivar UpdateValues: :vartype UpdateValues: DataValue ''' ua_types = { 'NodeId': 'NodeId', 'PerformInsertReplace': 'PerformUpdateType', 'UpdateValues': 'DataValue', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.NodeId = NodeId() self.PerformInsertReplace = PerformUpdateType(0) self.UpdateValues = [] self._freeze = True def to_binary(self): packet = [] packet.append(self.NodeId.to_binary()) packet.append(uabin.Primitives.UInt32.pack(self.PerformInsertReplace.value)) packet.append(uabin.Primitives.Int32.pack(len(self.UpdateValues))) for fieldname in self.UpdateValues: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return UpdateStructureDataDetails(data) def _binary_init(self, data): self.NodeId = NodeId.from_binary(data) self.PerformInsertReplace = PerformUpdateType(uabin.Primitives.UInt32.unpack(data)) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(DataValue.from_binary(data)) self.UpdateValues = array def __str__(self): return 'UpdateStructureDataDetails(' + 'NodeId:' + str(self.NodeId) + ', ' + \ 'PerformInsertReplace:' + str(self.PerformInsertReplace) + ', ' + \ 'UpdateValues:' + str(self.UpdateValues) + ')' __repr__ = __str__ class UpdateEventDetails(FrozenClass): ''' :ivar NodeId: :vartype NodeId: NodeId :ivar PerformInsertReplace: :vartype PerformInsertReplace: PerformUpdateType :ivar Filter: :vartype Filter: EventFilter :ivar EventData: :vartype EventData: HistoryEventFieldList ''' ua_types = { 'NodeId': 'NodeId', 'PerformInsertReplace': 'PerformUpdateType', 'Filter': 'EventFilter', 'EventData': 'HistoryEventFieldList', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.NodeId = NodeId() self.PerformInsertReplace = PerformUpdateType(0) self.Filter = EventFilter() self.EventData = [] self._freeze = True def to_binary(self): packet = [] packet.append(self.NodeId.to_binary()) packet.append(uabin.Primitives.UInt32.pack(self.PerformInsertReplace.value)) packet.append(self.Filter.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.EventData))) for fieldname in self.EventData: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return UpdateEventDetails(data) def _binary_init(self, data): self.NodeId = NodeId.from_binary(data) self.PerformInsertReplace = PerformUpdateType(uabin.Primitives.UInt32.unpack(data)) self.Filter = EventFilter.from_binary(data) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(HistoryEventFieldList.from_binary(data)) self.EventData = array def __str__(self): return 'UpdateEventDetails(' + 'NodeId:' + str(self.NodeId) + ', ' + \ 'PerformInsertReplace:' + str(self.PerformInsertReplace) + ', ' + \ 'Filter:' + str(self.Filter) + ', ' + \ 'EventData:' + str(self.EventData) + ')' __repr__ = __str__ class DeleteRawModifiedDetails(FrozenClass): ''' :ivar NodeId: :vartype NodeId: NodeId :ivar IsDeleteModified: :vartype IsDeleteModified: Boolean :ivar StartTime: :vartype StartTime: DateTime :ivar EndTime: :vartype EndTime: DateTime ''' ua_types = { 'NodeId': 'NodeId', 'IsDeleteModified': 'Boolean', 'StartTime': 'DateTime', 'EndTime': 'DateTime', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.NodeId = NodeId() self.IsDeleteModified = True self.StartTime = datetime.utcnow() self.EndTime = datetime.utcnow() self._freeze = True def to_binary(self): packet = [] packet.append(self.NodeId.to_binary()) packet.append(uabin.Primitives.Boolean.pack(self.IsDeleteModified)) packet.append(uabin.Primitives.DateTime.pack(self.StartTime)) packet.append(uabin.Primitives.DateTime.pack(self.EndTime)) return b''.join(packet) @staticmethod def from_binary(data): return DeleteRawModifiedDetails(data) def _binary_init(self, data): self.NodeId = NodeId.from_binary(data) self.IsDeleteModified = uabin.Primitives.Boolean.unpack(data) self.StartTime = uabin.Primitives.DateTime.unpack(data) self.EndTime = uabin.Primitives.DateTime.unpack(data) def __str__(self): return 'DeleteRawModifiedDetails(' + 'NodeId:' + str(self.NodeId) + ', ' + \ 'IsDeleteModified:' + str(self.IsDeleteModified) + ', ' + \ 'StartTime:' + str(self.StartTime) + ', ' + \ 'EndTime:' + str(self.EndTime) + ')' __repr__ = __str__ class DeleteAtTimeDetails(FrozenClass): ''' :ivar NodeId: :vartype NodeId: NodeId :ivar ReqTimes: :vartype ReqTimes: DateTime ''' ua_types = { 'NodeId': 'NodeId', 'ReqTimes': 'DateTime', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.NodeId = NodeId() self.ReqTimes = [] self._freeze = True def to_binary(self): packet = [] packet.append(self.NodeId.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.ReqTimes))) for fieldname in self.ReqTimes: packet.append(uabin.Primitives.DateTime.pack(fieldname)) return b''.join(packet) @staticmethod def from_binary(data): return DeleteAtTimeDetails(data) def _binary_init(self, data): self.NodeId = NodeId.from_binary(data) self.ReqTimes = uabin.Primitives.DateTime.unpack_array(data) def __str__(self): return 'DeleteAtTimeDetails(' + 'NodeId:' + str(self.NodeId) + ', ' + \ 'ReqTimes:' + str(self.ReqTimes) + ')' __repr__ = __str__ class DeleteEventDetails(FrozenClass): ''' :ivar NodeId: :vartype NodeId: NodeId :ivar EventIds: :vartype EventIds: ByteString ''' ua_types = { 'NodeId': 'NodeId', 'EventIds': 'ByteString', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.NodeId = NodeId() self.EventIds = [] self._freeze = True def to_binary(self): packet = [] packet.append(self.NodeId.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.EventIds))) for fieldname in self.EventIds: packet.append(uabin.Primitives.ByteString.pack(fieldname)) return b''.join(packet) @staticmethod def from_binary(data): return DeleteEventDetails(data) def _binary_init(self, data): self.NodeId = NodeId.from_binary(data) self.EventIds = uabin.Primitives.ByteString.unpack_array(data) def __str__(self): return 'DeleteEventDetails(' + 'NodeId:' + str(self.NodeId) + ', ' + \ 'EventIds:' + str(self.EventIds) + ')' __repr__ = __str__ class HistoryUpdateResult(FrozenClass): ''' :ivar StatusCode: :vartype StatusCode: StatusCode :ivar OperationResults: :vartype OperationResults: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo ''' ua_types = { 'StatusCode': 'StatusCode', 'OperationResults': 'StatusCode', 'DiagnosticInfos': 'DiagnosticInfo', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.StatusCode = StatusCode() self.OperationResults = [] self.DiagnosticInfos = [] self._freeze = True def to_binary(self): packet = [] packet.append(self.StatusCode.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.OperationResults))) for fieldname in self.OperationResults: packet.append(fieldname.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.DiagnosticInfos))) for fieldname in self.DiagnosticInfos: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return HistoryUpdateResult(data) def _binary_init(self, data): self.StatusCode = StatusCode.from_binary(data) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(StatusCode.from_binary(data)) self.OperationResults = array length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(DiagnosticInfo.from_binary(data)) self.DiagnosticInfos = array def __str__(self): return 'HistoryUpdateResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ 'OperationResults:' + str(self.OperationResults) + ', ' + \ 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' __repr__ = __str__ class HistoryUpdateParameters(FrozenClass): ''' :ivar HistoryUpdateDetails: :vartype HistoryUpdateDetails: ExtensionObject ''' ua_types = { 'HistoryUpdateDetails': 'ExtensionObject', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.HistoryUpdateDetails = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.Int32.pack(len(self.HistoryUpdateDetails))) for fieldname in self.HistoryUpdateDetails: packet.append(extensionobject_to_binary(fieldname)) return b''.join(packet) @staticmethod def from_binary(data): return HistoryUpdateParameters(data) def _binary_init(self, data): length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(extensionobject_from_binary(data)) self.HistoryUpdateDetails = array def __str__(self): return 'HistoryUpdateParameters(' + 'HistoryUpdateDetails:' + str(self.HistoryUpdateDetails) + ')' __repr__ = __str__ class HistoryUpdateRequest(FrozenClass): ''' :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: HistoryUpdateParameters ''' ua_types = { 'TypeId': 'NodeId', 'RequestHeader': 'RequestHeader', 'Parameters': 'HistoryUpdateParameters', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.HistoryUpdateRequest_Encoding_DefaultBinary) self.RequestHeader = RequestHeader() self.Parameters = HistoryUpdateParameters() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.RequestHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return HistoryUpdateRequest(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.RequestHeader = RequestHeader.from_binary(data) self.Parameters = HistoryUpdateParameters.from_binary(data) def __str__(self): return 'HistoryUpdateRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class HistoryUpdateResponse(FrozenClass): ''' :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Results: :vartype Results: HistoryUpdateResult :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo ''' ua_types = { 'TypeId': 'NodeId', 'ResponseHeader': 'ResponseHeader', 'Results': 'HistoryUpdateResult', 'DiagnosticInfos': 'DiagnosticInfo', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.HistoryUpdateResponse_Encoding_DefaultBinary) self.ResponseHeader = ResponseHeader() self.Results = [] self.DiagnosticInfos = [] self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.ResponseHeader.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.Results))) for fieldname in self.Results: packet.append(fieldname.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.DiagnosticInfos))) for fieldname in self.DiagnosticInfos: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return HistoryUpdateResponse(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.ResponseHeader = ResponseHeader.from_binary(data) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(HistoryUpdateResult.from_binary(data)) self.Results = array length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(DiagnosticInfo.from_binary(data)) self.DiagnosticInfos = array def __str__(self): return 'HistoryUpdateResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ 'Results:' + str(self.Results) + ', ' + \ 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' __repr__ = __str__ class CallMethodRequest(FrozenClass): ''' :ivar ObjectId: :vartype ObjectId: NodeId :ivar MethodId: :vartype MethodId: NodeId :ivar InputArguments: :vartype InputArguments: Variant ''' ua_types = { 'ObjectId': 'NodeId', 'MethodId': 'NodeId', 'InputArguments': 'Variant', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.ObjectId = NodeId() self.MethodId = NodeId() self.InputArguments = [] self._freeze = True def to_binary(self): packet = [] packet.append(self.ObjectId.to_binary()) packet.append(self.MethodId.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.InputArguments))) for fieldname in self.InputArguments: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return CallMethodRequest(data) def _binary_init(self, data): self.ObjectId = NodeId.from_binary(data) self.MethodId = NodeId.from_binary(data) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(Variant.from_binary(data)) self.InputArguments = array def __str__(self): return 'CallMethodRequest(' + 'ObjectId:' + str(self.ObjectId) + ', ' + \ 'MethodId:' + str(self.MethodId) + ', ' + \ 'InputArguments:' + str(self.InputArguments) + ')' __repr__ = __str__ class CallMethodResult(FrozenClass): ''' :ivar StatusCode: :vartype StatusCode: StatusCode :ivar InputArgumentResults: :vartype InputArgumentResults: StatusCode :ivar InputArgumentDiagnosticInfos: :vartype InputArgumentDiagnosticInfos: DiagnosticInfo :ivar OutputArguments: :vartype OutputArguments: Variant ''' ua_types = { 'StatusCode': 'StatusCode', 'InputArgumentResults': 'StatusCode', 'InputArgumentDiagnosticInfos': 'DiagnosticInfo', 'OutputArguments': 'Variant', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.StatusCode = StatusCode() self.InputArgumentResults = [] self.InputArgumentDiagnosticInfos = [] self.OutputArguments = [] self._freeze = True def to_binary(self): packet = [] packet.append(self.StatusCode.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.InputArgumentResults))) for fieldname in self.InputArgumentResults: packet.append(fieldname.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.InputArgumentDiagnosticInfos))) for fieldname in self.InputArgumentDiagnosticInfos: packet.append(fieldname.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.OutputArguments))) for fieldname in self.OutputArguments: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return CallMethodResult(data) def _binary_init(self, data): self.StatusCode = StatusCode.from_binary(data) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(StatusCode.from_binary(data)) self.InputArgumentResults = array length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(DiagnosticInfo.from_binary(data)) self.InputArgumentDiagnosticInfos = array length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(Variant.from_binary(data)) self.OutputArguments = array def __str__(self): return 'CallMethodResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ 'InputArgumentResults:' + str(self.InputArgumentResults) + ', ' + \ 'InputArgumentDiagnosticInfos:' + str(self.InputArgumentDiagnosticInfos) + ', ' + \ 'OutputArguments:' + str(self.OutputArguments) + ')' __repr__ = __str__ class CallParameters(FrozenClass): ''' :ivar MethodsToCall: :vartype MethodsToCall: CallMethodRequest ''' ua_types = { 'MethodsToCall': 'CallMethodRequest', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.MethodsToCall = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.Int32.pack(len(self.MethodsToCall))) for fieldname in self.MethodsToCall: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return CallParameters(data) def _binary_init(self, data): length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(CallMethodRequest.from_binary(data)) self.MethodsToCall = array def __str__(self): return 'CallParameters(' + 'MethodsToCall:' + str(self.MethodsToCall) + ')' __repr__ = __str__ class CallRequest(FrozenClass): ''' :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: CallParameters ''' ua_types = { 'TypeId': 'NodeId', 'RequestHeader': 'RequestHeader', 'Parameters': 'CallParameters', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.CallRequest_Encoding_DefaultBinary) self.RequestHeader = RequestHeader() self.Parameters = CallParameters() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.RequestHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return CallRequest(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.RequestHeader = RequestHeader.from_binary(data) self.Parameters = CallParameters.from_binary(data) def __str__(self): return 'CallRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class CallResponse(FrozenClass): ''' :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Results: :vartype Results: CallMethodResult :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo ''' ua_types = { 'TypeId': 'NodeId', 'ResponseHeader': 'ResponseHeader', 'Results': 'CallMethodResult', 'DiagnosticInfos': 'DiagnosticInfo', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.CallResponse_Encoding_DefaultBinary) self.ResponseHeader = ResponseHeader() self.Results = [] self.DiagnosticInfos = [] self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.ResponseHeader.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.Results))) for fieldname in self.Results: packet.append(fieldname.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.DiagnosticInfos))) for fieldname in self.DiagnosticInfos: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return CallResponse(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.ResponseHeader = ResponseHeader.from_binary(data) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(CallMethodResult.from_binary(data)) self.Results = array length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(DiagnosticInfo.from_binary(data)) self.DiagnosticInfos = array def __str__(self): return 'CallResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ 'Results:' + str(self.Results) + ', ' + \ 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' __repr__ = __str__ class MonitoringFilter(FrozenClass): ''' ''' ua_types = { } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self._freeze = True def to_binary(self): packet = [] return b''.join(packet) @staticmethod def from_binary(data): return MonitoringFilter(data) def _binary_init(self, data): pass def __str__(self): return 'MonitoringFilter(' + + ')' __repr__ = __str__ class DataChangeFilter(FrozenClass): ''' :ivar Trigger: :vartype Trigger: DataChangeTrigger :ivar DeadbandType: :vartype DeadbandType: UInt32 :ivar DeadbandValue: :vartype DeadbandValue: Double ''' ua_types = { 'Trigger': 'DataChangeTrigger', 'DeadbandType': 'UInt32', 'DeadbandValue': 'Double', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.Trigger = DataChangeTrigger(0) self.DeadbandType = 0 self.DeadbandValue = 0 self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.UInt32.pack(self.Trigger.value)) packet.append(uabin.Primitives.UInt32.pack(self.DeadbandType)) packet.append(uabin.Primitives.Double.pack(self.DeadbandValue)) return b''.join(packet) @staticmethod def from_binary(data): return DataChangeFilter(data) def _binary_init(self, data): self.Trigger = DataChangeTrigger(uabin.Primitives.UInt32.unpack(data)) self.DeadbandType = uabin.Primitives.UInt32.unpack(data) self.DeadbandValue = uabin.Primitives.Double.unpack(data) def __str__(self): return 'DataChangeFilter(' + 'Trigger:' + str(self.Trigger) + ', ' + \ 'DeadbandType:' + str(self.DeadbandType) + ', ' + \ 'DeadbandValue:' + str(self.DeadbandValue) + ')' __repr__ = __str__ class EventFilter(FrozenClass): ''' :ivar SelectClauses: :vartype SelectClauses: SimpleAttributeOperand :ivar WhereClause: :vartype WhereClause: ContentFilter ''' ua_types = { 'SelectClauses': 'SimpleAttributeOperand', 'WhereClause': 'ContentFilter', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.SelectClauses = [] self.WhereClause = ContentFilter() self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.Int32.pack(len(self.SelectClauses))) for fieldname in self.SelectClauses: packet.append(fieldname.to_binary()) packet.append(self.WhereClause.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return EventFilter(data) def _binary_init(self, data): length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(SimpleAttributeOperand.from_binary(data)) self.SelectClauses = array self.WhereClause = ContentFilter.from_binary(data) def __str__(self): return 'EventFilter(' + 'SelectClauses:' + str(self.SelectClauses) + ', ' + \ 'WhereClause:' + str(self.WhereClause) + ')' __repr__ = __str__ class AggregateConfiguration(FrozenClass): ''' :ivar UseServerCapabilitiesDefaults: :vartype UseServerCapabilitiesDefaults: Boolean :ivar TreatUncertainAsBad: :vartype TreatUncertainAsBad: Boolean :ivar PercentDataBad: :vartype PercentDataBad: Byte :ivar PercentDataGood: :vartype PercentDataGood: Byte :ivar UseSlopedExtrapolation: :vartype UseSlopedExtrapolation: Boolean ''' ua_types = { 'UseServerCapabilitiesDefaults': 'Boolean', 'TreatUncertainAsBad': 'Boolean', 'PercentDataBad': 'Byte', 'PercentDataGood': 'Byte', 'UseSlopedExtrapolation': 'Boolean', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.UseServerCapabilitiesDefaults = True self.TreatUncertainAsBad = True self.PercentDataBad = 0 self.PercentDataGood = 0 self.UseSlopedExtrapolation = True self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.Boolean.pack(self.UseServerCapabilitiesDefaults)) packet.append(uabin.Primitives.Boolean.pack(self.TreatUncertainAsBad)) packet.append(uabin.Primitives.Byte.pack(self.PercentDataBad)) packet.append(uabin.Primitives.Byte.pack(self.PercentDataGood)) packet.append(uabin.Primitives.Boolean.pack(self.UseSlopedExtrapolation)) return b''.join(packet) @staticmethod def from_binary(data): return AggregateConfiguration(data) def _binary_init(self, data): self.UseServerCapabilitiesDefaults = uabin.Primitives.Boolean.unpack(data) self.TreatUncertainAsBad = uabin.Primitives.Boolean.unpack(data) self.PercentDataBad = uabin.Primitives.Byte.unpack(data) self.PercentDataGood = uabin.Primitives.Byte.unpack(data) self.UseSlopedExtrapolation = uabin.Primitives.Boolean.unpack(data) def __str__(self): return 'AggregateConfiguration(' + 'UseServerCapabilitiesDefaults:' + str(self.UseServerCapabilitiesDefaults) + ', ' + \ 'TreatUncertainAsBad:' + str(self.TreatUncertainAsBad) + ', ' + \ 'PercentDataBad:' + str(self.PercentDataBad) + ', ' + \ 'PercentDataGood:' + str(self.PercentDataGood) + ', ' + \ 'UseSlopedExtrapolation:' + str(self.UseSlopedExtrapolation) + ')' __repr__ = __str__ class AggregateFilter(FrozenClass): ''' :ivar StartTime: :vartype StartTime: DateTime :ivar AggregateType: :vartype AggregateType: NodeId :ivar ProcessingInterval: :vartype ProcessingInterval: Double :ivar AggregateConfiguration: :vartype AggregateConfiguration: AggregateConfiguration ''' ua_types = { 'StartTime': 'DateTime', 'AggregateType': 'NodeId', 'ProcessingInterval': 'Double', 'AggregateConfiguration': 'AggregateConfiguration', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.StartTime = datetime.utcnow() self.AggregateType = NodeId() self.ProcessingInterval = 0 self.AggregateConfiguration = AggregateConfiguration() self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.DateTime.pack(self.StartTime)) packet.append(self.AggregateType.to_binary()) packet.append(uabin.Primitives.Double.pack(self.ProcessingInterval)) packet.append(self.AggregateConfiguration.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return AggregateFilter(data) def _binary_init(self, data): self.StartTime = uabin.Primitives.DateTime.unpack(data) self.AggregateType = NodeId.from_binary(data) self.ProcessingInterval = uabin.Primitives.Double.unpack(data) self.AggregateConfiguration = AggregateConfiguration.from_binary(data) def __str__(self): return 'AggregateFilter(' + 'StartTime:' + str(self.StartTime) + ', ' + \ 'AggregateType:' + str(self.AggregateType) + ', ' + \ 'ProcessingInterval:' + str(self.ProcessingInterval) + ', ' + \ 'AggregateConfiguration:' + str(self.AggregateConfiguration) + ')' __repr__ = __str__ class MonitoringFilterResult(FrozenClass): ''' ''' ua_types = { } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self._freeze = True def to_binary(self): packet = [] return b''.join(packet) @staticmethod def from_binary(data): return MonitoringFilterResult(data) def _binary_init(self, data): pass def __str__(self): return 'MonitoringFilterResult(' + + ')' __repr__ = __str__ class EventFilterResult(FrozenClass): ''' :ivar SelectClauseResults: :vartype SelectClauseResults: StatusCode :ivar SelectClauseDiagnosticInfos: :vartype SelectClauseDiagnosticInfos: DiagnosticInfo :ivar WhereClauseResult: :vartype WhereClauseResult: ContentFilterResult ''' ua_types = { 'SelectClauseResults': 'StatusCode', 'SelectClauseDiagnosticInfos': 'DiagnosticInfo', 'WhereClauseResult': 'ContentFilterResult', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.SelectClauseResults = [] self.SelectClauseDiagnosticInfos = [] self.WhereClauseResult = ContentFilterResult() self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.Int32.pack(len(self.SelectClauseResults))) for fieldname in self.SelectClauseResults: packet.append(fieldname.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.SelectClauseDiagnosticInfos))) for fieldname in self.SelectClauseDiagnosticInfos: packet.append(fieldname.to_binary()) packet.append(self.WhereClauseResult.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return EventFilterResult(data) def _binary_init(self, data): length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(StatusCode.from_binary(data)) self.SelectClauseResults = array length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(DiagnosticInfo.from_binary(data)) self.SelectClauseDiagnosticInfos = array self.WhereClauseResult = ContentFilterResult.from_binary(data) def __str__(self): return 'EventFilterResult(' + 'SelectClauseResults:' + str(self.SelectClauseResults) + ', ' + \ 'SelectClauseDiagnosticInfos:' + str(self.SelectClauseDiagnosticInfos) + ', ' + \ 'WhereClauseResult:' + str(self.WhereClauseResult) + ')' __repr__ = __str__ class AggregateFilterResult(FrozenClass): ''' :ivar RevisedStartTime: :vartype RevisedStartTime: DateTime :ivar RevisedProcessingInterval: :vartype RevisedProcessingInterval: Double :ivar RevisedAggregateConfiguration: :vartype RevisedAggregateConfiguration: AggregateConfiguration ''' ua_types = { 'RevisedStartTime': 'DateTime', 'RevisedProcessingInterval': 'Double', 'RevisedAggregateConfiguration': 'AggregateConfiguration', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.RevisedStartTime = datetime.utcnow() self.RevisedProcessingInterval = 0 self.RevisedAggregateConfiguration = AggregateConfiguration() self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.DateTime.pack(self.RevisedStartTime)) packet.append(uabin.Primitives.Double.pack(self.RevisedProcessingInterval)) packet.append(self.RevisedAggregateConfiguration.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return AggregateFilterResult(data) def _binary_init(self, data): self.RevisedStartTime = uabin.Primitives.DateTime.unpack(data) self.RevisedProcessingInterval = uabin.Primitives.Double.unpack(data) self.RevisedAggregateConfiguration = AggregateConfiguration.from_binary(data) def __str__(self): return 'AggregateFilterResult(' + 'RevisedStartTime:' + str(self.RevisedStartTime) + ', ' + \ 'RevisedProcessingInterval:' + str(self.RevisedProcessingInterval) + ', ' + \ 'RevisedAggregateConfiguration:' + str(self.RevisedAggregateConfiguration) + ')' __repr__ = __str__ class MonitoringParameters(FrozenClass): ''' :ivar ClientHandle: :vartype ClientHandle: UInt32 :ivar SamplingInterval: :vartype SamplingInterval: Double :ivar Filter: :vartype Filter: ExtensionObject :ivar QueueSize: :vartype QueueSize: UInt32 :ivar DiscardOldest: :vartype DiscardOldest: Boolean ''' ua_types = { 'ClientHandle': 'UInt32', 'SamplingInterval': 'Double', 'Filter': 'ExtensionObject', 'QueueSize': 'UInt32', 'DiscardOldest': 'Boolean', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.ClientHandle = 0 self.SamplingInterval = 0 self.Filter = None self.QueueSize = 0 self.DiscardOldest = True self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.UInt32.pack(self.ClientHandle)) packet.append(uabin.Primitives.Double.pack(self.SamplingInterval)) packet.append(extensionobject_to_binary(self.Filter)) packet.append(uabin.Primitives.UInt32.pack(self.QueueSize)) packet.append(uabin.Primitives.Boolean.pack(self.DiscardOldest)) return b''.join(packet) @staticmethod def from_binary(data): return MonitoringParameters(data) def _binary_init(self, data): self.ClientHandle = uabin.Primitives.UInt32.unpack(data) self.SamplingInterval = uabin.Primitives.Double.unpack(data) self.Filter = extensionobject_from_binary(data) self.QueueSize = uabin.Primitives.UInt32.unpack(data) self.DiscardOldest = uabin.Primitives.Boolean.unpack(data) def __str__(self): return 'MonitoringParameters(' + 'ClientHandle:' + str(self.ClientHandle) + ', ' + \ 'SamplingInterval:' + str(self.SamplingInterval) + ', ' + \ 'Filter:' + str(self.Filter) + ', ' + \ 'QueueSize:' + str(self.QueueSize) + ', ' + \ 'DiscardOldest:' + str(self.DiscardOldest) + ')' __repr__ = __str__ class MonitoredItemCreateRequest(FrozenClass): ''' :ivar ItemToMonitor: :vartype ItemToMonitor: ReadValueId :ivar MonitoringMode: :vartype MonitoringMode: MonitoringMode :ivar RequestedParameters: :vartype RequestedParameters: MonitoringParameters ''' ua_types = { 'ItemToMonitor': 'ReadValueId', 'MonitoringMode': 'MonitoringMode', 'RequestedParameters': 'MonitoringParameters', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.ItemToMonitor = ReadValueId() self.MonitoringMode = MonitoringMode(0) self.RequestedParameters = MonitoringParameters() self._freeze = True def to_binary(self): packet = [] packet.append(self.ItemToMonitor.to_binary()) packet.append(uabin.Primitives.UInt32.pack(self.MonitoringMode.value)) packet.append(self.RequestedParameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return MonitoredItemCreateRequest(data) def _binary_init(self, data): self.ItemToMonitor = ReadValueId.from_binary(data) self.MonitoringMode = MonitoringMode(uabin.Primitives.UInt32.unpack(data)) self.RequestedParameters = MonitoringParameters.from_binary(data) def __str__(self): return 'MonitoredItemCreateRequest(' + 'ItemToMonitor:' + str(self.ItemToMonitor) + ', ' + \ 'MonitoringMode:' + str(self.MonitoringMode) + ', ' + \ 'RequestedParameters:' + str(self.RequestedParameters) + ')' __repr__ = __str__ class MonitoredItemCreateResult(FrozenClass): ''' :ivar StatusCode: :vartype StatusCode: StatusCode :ivar MonitoredItemId: :vartype MonitoredItemId: UInt32 :ivar RevisedSamplingInterval: :vartype RevisedSamplingInterval: Double :ivar RevisedQueueSize: :vartype RevisedQueueSize: UInt32 :ivar FilterResult: :vartype FilterResult: ExtensionObject ''' ua_types = { 'StatusCode': 'StatusCode', 'MonitoredItemId': 'UInt32', 'RevisedSamplingInterval': 'Double', 'RevisedQueueSize': 'UInt32', 'FilterResult': 'ExtensionObject', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.StatusCode = StatusCode() self.MonitoredItemId = 0 self.RevisedSamplingInterval = 0 self.RevisedQueueSize = 0 self.FilterResult = None self._freeze = True def to_binary(self): packet = [] packet.append(self.StatusCode.to_binary()) packet.append(uabin.Primitives.UInt32.pack(self.MonitoredItemId)) packet.append(uabin.Primitives.Double.pack(self.RevisedSamplingInterval)) packet.append(uabin.Primitives.UInt32.pack(self.RevisedQueueSize)) packet.append(extensionobject_to_binary(self.FilterResult)) return b''.join(packet) @staticmethod def from_binary(data): return MonitoredItemCreateResult(data) def _binary_init(self, data): self.StatusCode = StatusCode.from_binary(data) self.MonitoredItemId = uabin.Primitives.UInt32.unpack(data) self.RevisedSamplingInterval = uabin.Primitives.Double.unpack(data) self.RevisedQueueSize = uabin.Primitives.UInt32.unpack(data) self.FilterResult = extensionobject_from_binary(data) def __str__(self): return 'MonitoredItemCreateResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ 'MonitoredItemId:' + str(self.MonitoredItemId) + ', ' + \ 'RevisedSamplingInterval:' + str(self.RevisedSamplingInterval) + ', ' + \ 'RevisedQueueSize:' + str(self.RevisedQueueSize) + ', ' + \ 'FilterResult:' + str(self.FilterResult) + ')' __repr__ = __str__ class CreateMonitoredItemsParameters(FrozenClass): ''' :ivar SubscriptionId: :vartype SubscriptionId: UInt32 :ivar TimestampsToReturn: :vartype TimestampsToReturn: TimestampsToReturn :ivar ItemsToCreate: :vartype ItemsToCreate: MonitoredItemCreateRequest ''' ua_types = { 'SubscriptionId': 'UInt32', 'TimestampsToReturn': 'TimestampsToReturn', 'ItemsToCreate': 'MonitoredItemCreateRequest', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.SubscriptionId = 0 self.TimestampsToReturn = TimestampsToReturn(0) self.ItemsToCreate = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.UInt32.pack(self.SubscriptionId)) packet.append(uabin.Primitives.UInt32.pack(self.TimestampsToReturn.value)) packet.append(uabin.Primitives.Int32.pack(len(self.ItemsToCreate))) for fieldname in self.ItemsToCreate: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return CreateMonitoredItemsParameters(data) def _binary_init(self, data): self.SubscriptionId = uabin.Primitives.UInt32.unpack(data) self.TimestampsToReturn = TimestampsToReturn(uabin.Primitives.UInt32.unpack(data)) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(MonitoredItemCreateRequest.from_binary(data)) self.ItemsToCreate = array def __str__(self): return 'CreateMonitoredItemsParameters(' + 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ 'TimestampsToReturn:' + str(self.TimestampsToReturn) + ', ' + \ 'ItemsToCreate:' + str(self.ItemsToCreate) + ')' __repr__ = __str__ class CreateMonitoredItemsRequest(FrozenClass): ''' :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: CreateMonitoredItemsParameters ''' ua_types = { 'TypeId': 'NodeId', 'RequestHeader': 'RequestHeader', 'Parameters': 'CreateMonitoredItemsParameters', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.CreateMonitoredItemsRequest_Encoding_DefaultBinary) self.RequestHeader = RequestHeader() self.Parameters = CreateMonitoredItemsParameters() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.RequestHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return CreateMonitoredItemsRequest(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.RequestHeader = RequestHeader.from_binary(data) self.Parameters = CreateMonitoredItemsParameters.from_binary(data) def __str__(self): return 'CreateMonitoredItemsRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class CreateMonitoredItemsResponse(FrozenClass): ''' :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Results: :vartype Results: MonitoredItemCreateResult :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo ''' ua_types = { 'TypeId': 'NodeId', 'ResponseHeader': 'ResponseHeader', 'Results': 'MonitoredItemCreateResult', 'DiagnosticInfos': 'DiagnosticInfo', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.CreateMonitoredItemsResponse_Encoding_DefaultBinary) self.ResponseHeader = ResponseHeader() self.Results = [] self.DiagnosticInfos = [] self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.ResponseHeader.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.Results))) for fieldname in self.Results: packet.append(fieldname.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.DiagnosticInfos))) for fieldname in self.DiagnosticInfos: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return CreateMonitoredItemsResponse(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.ResponseHeader = ResponseHeader.from_binary(data) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(MonitoredItemCreateResult.from_binary(data)) self.Results = array length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(DiagnosticInfo.from_binary(data)) self.DiagnosticInfos = array def __str__(self): return 'CreateMonitoredItemsResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ 'Results:' + str(self.Results) + ', ' + \ 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' __repr__ = __str__ class MonitoredItemModifyRequest(FrozenClass): ''' :ivar MonitoredItemId: :vartype MonitoredItemId: UInt32 :ivar RequestedParameters: :vartype RequestedParameters: MonitoringParameters ''' ua_types = { 'MonitoredItemId': 'UInt32', 'RequestedParameters': 'MonitoringParameters', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.MonitoredItemId = 0 self.RequestedParameters = MonitoringParameters() self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.UInt32.pack(self.MonitoredItemId)) packet.append(self.RequestedParameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return MonitoredItemModifyRequest(data) def _binary_init(self, data): self.MonitoredItemId = uabin.Primitives.UInt32.unpack(data) self.RequestedParameters = MonitoringParameters.from_binary(data) def __str__(self): return 'MonitoredItemModifyRequest(' + 'MonitoredItemId:' + str(self.MonitoredItemId) + ', ' + \ 'RequestedParameters:' + str(self.RequestedParameters) + ')' __repr__ = __str__ class MonitoredItemModifyResult(FrozenClass): ''' :ivar StatusCode: :vartype StatusCode: StatusCode :ivar RevisedSamplingInterval: :vartype RevisedSamplingInterval: Double :ivar RevisedQueueSize: :vartype RevisedQueueSize: UInt32 :ivar FilterResult: :vartype FilterResult: ExtensionObject ''' ua_types = { 'StatusCode': 'StatusCode', 'RevisedSamplingInterval': 'Double', 'RevisedQueueSize': 'UInt32', 'FilterResult': 'ExtensionObject', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.StatusCode = StatusCode() self.RevisedSamplingInterval = 0 self.RevisedQueueSize = 0 self.FilterResult = None self._freeze = True def to_binary(self): packet = [] packet.append(self.StatusCode.to_binary()) packet.append(uabin.Primitives.Double.pack(self.RevisedSamplingInterval)) packet.append(uabin.Primitives.UInt32.pack(self.RevisedQueueSize)) packet.append(extensionobject_to_binary(self.FilterResult)) return b''.join(packet) @staticmethod def from_binary(data): return MonitoredItemModifyResult(data) def _binary_init(self, data): self.StatusCode = StatusCode.from_binary(data) self.RevisedSamplingInterval = uabin.Primitives.Double.unpack(data) self.RevisedQueueSize = uabin.Primitives.UInt32.unpack(data) self.FilterResult = extensionobject_from_binary(data) def __str__(self): return 'MonitoredItemModifyResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ 'RevisedSamplingInterval:' + str(self.RevisedSamplingInterval) + ', ' + \ 'RevisedQueueSize:' + str(self.RevisedQueueSize) + ', ' + \ 'FilterResult:' + str(self.FilterResult) + ')' __repr__ = __str__ class ModifyMonitoredItemsParameters(FrozenClass): ''' :ivar SubscriptionId: :vartype SubscriptionId: UInt32 :ivar TimestampsToReturn: :vartype TimestampsToReturn: TimestampsToReturn :ivar ItemsToModify: :vartype ItemsToModify: MonitoredItemModifyRequest ''' ua_types = { 'SubscriptionId': 'UInt32', 'TimestampsToReturn': 'TimestampsToReturn', 'ItemsToModify': 'MonitoredItemModifyRequest', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.SubscriptionId = 0 self.TimestampsToReturn = TimestampsToReturn(0) self.ItemsToModify = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.UInt32.pack(self.SubscriptionId)) packet.append(uabin.Primitives.UInt32.pack(self.TimestampsToReturn.value)) packet.append(uabin.Primitives.Int32.pack(len(self.ItemsToModify))) for fieldname in self.ItemsToModify: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return ModifyMonitoredItemsParameters(data) def _binary_init(self, data): self.SubscriptionId = uabin.Primitives.UInt32.unpack(data) self.TimestampsToReturn = TimestampsToReturn(uabin.Primitives.UInt32.unpack(data)) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(MonitoredItemModifyRequest.from_binary(data)) self.ItemsToModify = array def __str__(self): return 'ModifyMonitoredItemsParameters(' + 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ 'TimestampsToReturn:' + str(self.TimestampsToReturn) + ', ' + \ 'ItemsToModify:' + str(self.ItemsToModify) + ')' __repr__ = __str__ class ModifyMonitoredItemsRequest(FrozenClass): ''' :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: ModifyMonitoredItemsParameters ''' ua_types = { 'TypeId': 'NodeId', 'RequestHeader': 'RequestHeader', 'Parameters': 'ModifyMonitoredItemsParameters', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.ModifyMonitoredItemsRequest_Encoding_DefaultBinary) self.RequestHeader = RequestHeader() self.Parameters = ModifyMonitoredItemsParameters() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.RequestHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return ModifyMonitoredItemsRequest(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.RequestHeader = RequestHeader.from_binary(data) self.Parameters = ModifyMonitoredItemsParameters.from_binary(data) def __str__(self): return 'ModifyMonitoredItemsRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class ModifyMonitoredItemsResponse(FrozenClass): ''' :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Results: :vartype Results: MonitoredItemModifyResult :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo ''' ua_types = { 'TypeId': 'NodeId', 'ResponseHeader': 'ResponseHeader', 'Results': 'MonitoredItemModifyResult', 'DiagnosticInfos': 'DiagnosticInfo', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.ModifyMonitoredItemsResponse_Encoding_DefaultBinary) self.ResponseHeader = ResponseHeader() self.Results = [] self.DiagnosticInfos = [] self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.ResponseHeader.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.Results))) for fieldname in self.Results: packet.append(fieldname.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.DiagnosticInfos))) for fieldname in self.DiagnosticInfos: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return ModifyMonitoredItemsResponse(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.ResponseHeader = ResponseHeader.from_binary(data) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(MonitoredItemModifyResult.from_binary(data)) self.Results = array length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(DiagnosticInfo.from_binary(data)) self.DiagnosticInfos = array def __str__(self): return 'ModifyMonitoredItemsResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ 'Results:' + str(self.Results) + ', ' + \ 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' __repr__ = __str__ class SetMonitoringModeParameters(FrozenClass): ''' :ivar SubscriptionId: :vartype SubscriptionId: UInt32 :ivar MonitoringMode: :vartype MonitoringMode: MonitoringMode :ivar MonitoredItemIds: :vartype MonitoredItemIds: UInt32 ''' ua_types = { 'SubscriptionId': 'UInt32', 'MonitoringMode': 'MonitoringMode', 'MonitoredItemIds': 'UInt32', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.SubscriptionId = 0 self.MonitoringMode = MonitoringMode(0) self.MonitoredItemIds = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.UInt32.pack(self.SubscriptionId)) packet.append(uabin.Primitives.UInt32.pack(self.MonitoringMode.value)) packet.append(uabin.Primitives.Int32.pack(len(self.MonitoredItemIds))) for fieldname in self.MonitoredItemIds: packet.append(uabin.Primitives.UInt32.pack(fieldname)) return b''.join(packet) @staticmethod def from_binary(data): return SetMonitoringModeParameters(data) def _binary_init(self, data): self.SubscriptionId = uabin.Primitives.UInt32.unpack(data) self.MonitoringMode = MonitoringMode(uabin.Primitives.UInt32.unpack(data)) self.MonitoredItemIds = uabin.Primitives.UInt32.unpack_array(data) def __str__(self): return 'SetMonitoringModeParameters(' + 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ 'MonitoringMode:' + str(self.MonitoringMode) + ', ' + \ 'MonitoredItemIds:' + str(self.MonitoredItemIds) + ')' __repr__ = __str__ class SetMonitoringModeRequest(FrozenClass): ''' :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: SetMonitoringModeParameters ''' ua_types = { 'TypeId': 'NodeId', 'RequestHeader': 'RequestHeader', 'Parameters': 'SetMonitoringModeParameters', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.SetMonitoringModeRequest_Encoding_DefaultBinary) self.RequestHeader = RequestHeader() self.Parameters = SetMonitoringModeParameters() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.RequestHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return SetMonitoringModeRequest(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.RequestHeader = RequestHeader.from_binary(data) self.Parameters = SetMonitoringModeParameters.from_binary(data) def __str__(self): return 'SetMonitoringModeRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class SetMonitoringModeResult(FrozenClass): ''' :ivar Results: :vartype Results: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo ''' ua_types = { 'Results': 'StatusCode', 'DiagnosticInfos': 'DiagnosticInfo', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.Results = [] self.DiagnosticInfos = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.Int32.pack(len(self.Results))) for fieldname in self.Results: packet.append(fieldname.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.DiagnosticInfos))) for fieldname in self.DiagnosticInfos: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return SetMonitoringModeResult(data) def _binary_init(self, data): length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(StatusCode.from_binary(data)) self.Results = array length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(DiagnosticInfo.from_binary(data)) self.DiagnosticInfos = array def __str__(self): return 'SetMonitoringModeResult(' + 'Results:' + str(self.Results) + ', ' + \ 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' __repr__ = __str__ class SetMonitoringModeResponse(FrozenClass): ''' :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: SetMonitoringModeResult ''' ua_types = { 'TypeId': 'NodeId', 'ResponseHeader': 'ResponseHeader', 'Parameters': 'SetMonitoringModeResult', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.SetMonitoringModeResponse_Encoding_DefaultBinary) self.ResponseHeader = ResponseHeader() self.Parameters = SetMonitoringModeResult() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.ResponseHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return SetMonitoringModeResponse(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.ResponseHeader = ResponseHeader.from_binary(data) self.Parameters = SetMonitoringModeResult.from_binary(data) def __str__(self): return 'SetMonitoringModeResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class SetTriggeringParameters(FrozenClass): ''' :ivar SubscriptionId: :vartype SubscriptionId: UInt32 :ivar TriggeringItemId: :vartype TriggeringItemId: UInt32 :ivar LinksToAdd: :vartype LinksToAdd: UInt32 :ivar LinksToRemove: :vartype LinksToRemove: UInt32 ''' ua_types = { 'SubscriptionId': 'UInt32', 'TriggeringItemId': 'UInt32', 'LinksToAdd': 'UInt32', 'LinksToRemove': 'UInt32', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.SubscriptionId = 0 self.TriggeringItemId = 0 self.LinksToAdd = [] self.LinksToRemove = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.UInt32.pack(self.SubscriptionId)) packet.append(uabin.Primitives.UInt32.pack(self.TriggeringItemId)) packet.append(uabin.Primitives.Int32.pack(len(self.LinksToAdd))) for fieldname in self.LinksToAdd: packet.append(uabin.Primitives.UInt32.pack(fieldname)) packet.append(uabin.Primitives.Int32.pack(len(self.LinksToRemove))) for fieldname in self.LinksToRemove: packet.append(uabin.Primitives.UInt32.pack(fieldname)) return b''.join(packet) @staticmethod def from_binary(data): return SetTriggeringParameters(data) def _binary_init(self, data): self.SubscriptionId = uabin.Primitives.UInt32.unpack(data) self.TriggeringItemId = uabin.Primitives.UInt32.unpack(data) self.LinksToAdd = uabin.Primitives.UInt32.unpack_array(data) self.LinksToRemove = uabin.Primitives.UInt32.unpack_array(data) def __str__(self): return 'SetTriggeringParameters(' + 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ 'TriggeringItemId:' + str(self.TriggeringItemId) + ', ' + \ 'LinksToAdd:' + str(self.LinksToAdd) + ', ' + \ 'LinksToRemove:' + str(self.LinksToRemove) + ')' __repr__ = __str__ class SetTriggeringRequest(FrozenClass): ''' :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: SetTriggeringParameters ''' ua_types = { 'TypeId': 'NodeId', 'RequestHeader': 'RequestHeader', 'Parameters': 'SetTriggeringParameters', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.SetTriggeringRequest_Encoding_DefaultBinary) self.RequestHeader = RequestHeader() self.Parameters = SetTriggeringParameters() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.RequestHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return SetTriggeringRequest(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.RequestHeader = RequestHeader.from_binary(data) self.Parameters = SetTriggeringParameters.from_binary(data) def __str__(self): return 'SetTriggeringRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class SetTriggeringResult(FrozenClass): ''' :ivar AddResults: :vartype AddResults: StatusCode :ivar AddDiagnosticInfos: :vartype AddDiagnosticInfos: DiagnosticInfo :ivar RemoveResults: :vartype RemoveResults: StatusCode :ivar RemoveDiagnosticInfos: :vartype RemoveDiagnosticInfos: DiagnosticInfo ''' ua_types = { 'AddResults': 'StatusCode', 'AddDiagnosticInfos': 'DiagnosticInfo', 'RemoveResults': 'StatusCode', 'RemoveDiagnosticInfos': 'DiagnosticInfo', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.AddResults = [] self.AddDiagnosticInfos = [] self.RemoveResults = [] self.RemoveDiagnosticInfos = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.Int32.pack(len(self.AddResults))) for fieldname in self.AddResults: packet.append(fieldname.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.AddDiagnosticInfos))) for fieldname in self.AddDiagnosticInfos: packet.append(fieldname.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.RemoveResults))) for fieldname in self.RemoveResults: packet.append(fieldname.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.RemoveDiagnosticInfos))) for fieldname in self.RemoveDiagnosticInfos: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return SetTriggeringResult(data) def _binary_init(self, data): length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(StatusCode.from_binary(data)) self.AddResults = array length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(DiagnosticInfo.from_binary(data)) self.AddDiagnosticInfos = array length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(StatusCode.from_binary(data)) self.RemoveResults = array length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(DiagnosticInfo.from_binary(data)) self.RemoveDiagnosticInfos = array def __str__(self): return 'SetTriggeringResult(' + 'AddResults:' + str(self.AddResults) + ', ' + \ 'AddDiagnosticInfos:' + str(self.AddDiagnosticInfos) + ', ' + \ 'RemoveResults:' + str(self.RemoveResults) + ', ' + \ 'RemoveDiagnosticInfos:' + str(self.RemoveDiagnosticInfos) + ')' __repr__ = __str__ class SetTriggeringResponse(FrozenClass): ''' :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: SetTriggeringResult ''' ua_types = { 'TypeId': 'NodeId', 'ResponseHeader': 'ResponseHeader', 'Parameters': 'SetTriggeringResult', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.SetTriggeringResponse_Encoding_DefaultBinary) self.ResponseHeader = ResponseHeader() self.Parameters = SetTriggeringResult() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.ResponseHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return SetTriggeringResponse(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.ResponseHeader = ResponseHeader.from_binary(data) self.Parameters = SetTriggeringResult.from_binary(data) def __str__(self): return 'SetTriggeringResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class DeleteMonitoredItemsParameters(FrozenClass): ''' :ivar SubscriptionId: :vartype SubscriptionId: UInt32 :ivar MonitoredItemIds: :vartype MonitoredItemIds: UInt32 ''' ua_types = { 'SubscriptionId': 'UInt32', 'MonitoredItemIds': 'UInt32', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.SubscriptionId = 0 self.MonitoredItemIds = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.UInt32.pack(self.SubscriptionId)) packet.append(uabin.Primitives.Int32.pack(len(self.MonitoredItemIds))) for fieldname in self.MonitoredItemIds: packet.append(uabin.Primitives.UInt32.pack(fieldname)) return b''.join(packet) @staticmethod def from_binary(data): return DeleteMonitoredItemsParameters(data) def _binary_init(self, data): self.SubscriptionId = uabin.Primitives.UInt32.unpack(data) self.MonitoredItemIds = uabin.Primitives.UInt32.unpack_array(data) def __str__(self): return 'DeleteMonitoredItemsParameters(' + 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ 'MonitoredItemIds:' + str(self.MonitoredItemIds) + ')' __repr__ = __str__ class DeleteMonitoredItemsRequest(FrozenClass): ''' :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: DeleteMonitoredItemsParameters ''' ua_types = { 'TypeId': 'NodeId', 'RequestHeader': 'RequestHeader', 'Parameters': 'DeleteMonitoredItemsParameters', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.DeleteMonitoredItemsRequest_Encoding_DefaultBinary) self.RequestHeader = RequestHeader() self.Parameters = DeleteMonitoredItemsParameters() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.RequestHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return DeleteMonitoredItemsRequest(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.RequestHeader = RequestHeader.from_binary(data) self.Parameters = DeleteMonitoredItemsParameters.from_binary(data) def __str__(self): return 'DeleteMonitoredItemsRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class DeleteMonitoredItemsResponse(FrozenClass): ''' :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Results: :vartype Results: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo ''' ua_types = { 'TypeId': 'NodeId', 'ResponseHeader': 'ResponseHeader', 'Results': 'StatusCode', 'DiagnosticInfos': 'DiagnosticInfo', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.DeleteMonitoredItemsResponse_Encoding_DefaultBinary) self.ResponseHeader = ResponseHeader() self.Results = [] self.DiagnosticInfos = [] self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.ResponseHeader.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.Results))) for fieldname in self.Results: packet.append(fieldname.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.DiagnosticInfos))) for fieldname in self.DiagnosticInfos: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return DeleteMonitoredItemsResponse(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.ResponseHeader = ResponseHeader.from_binary(data) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(StatusCode.from_binary(data)) self.Results = array length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(DiagnosticInfo.from_binary(data)) self.DiagnosticInfos = array def __str__(self): return 'DeleteMonitoredItemsResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ 'Results:' + str(self.Results) + ', ' + \ 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' __repr__ = __str__ class CreateSubscriptionParameters(FrozenClass): ''' :ivar RequestedPublishingInterval: :vartype RequestedPublishingInterval: Double :ivar RequestedLifetimeCount: :vartype RequestedLifetimeCount: UInt32 :ivar RequestedMaxKeepAliveCount: :vartype RequestedMaxKeepAliveCount: UInt32 :ivar MaxNotificationsPerPublish: :vartype MaxNotificationsPerPublish: UInt32 :ivar PublishingEnabled: :vartype PublishingEnabled: Boolean :ivar Priority: :vartype Priority: Byte ''' ua_types = { 'RequestedPublishingInterval': 'Double', 'RequestedLifetimeCount': 'UInt32', 'RequestedMaxKeepAliveCount': 'UInt32', 'MaxNotificationsPerPublish': 'UInt32', 'PublishingEnabled': 'Boolean', 'Priority': 'Byte', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.RequestedPublishingInterval = 0 self.RequestedLifetimeCount = 0 self.RequestedMaxKeepAliveCount = 0 self.MaxNotificationsPerPublish = 0 self.PublishingEnabled = True self.Priority = 0 self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.Double.pack(self.RequestedPublishingInterval)) packet.append(uabin.Primitives.UInt32.pack(self.RequestedLifetimeCount)) packet.append(uabin.Primitives.UInt32.pack(self.RequestedMaxKeepAliveCount)) packet.append(uabin.Primitives.UInt32.pack(self.MaxNotificationsPerPublish)) packet.append(uabin.Primitives.Boolean.pack(self.PublishingEnabled)) packet.append(uabin.Primitives.Byte.pack(self.Priority)) return b''.join(packet) @staticmethod def from_binary(data): return CreateSubscriptionParameters(data) def _binary_init(self, data): self.RequestedPublishingInterval = uabin.Primitives.Double.unpack(data) self.RequestedLifetimeCount = uabin.Primitives.UInt32.unpack(data) self.RequestedMaxKeepAliveCount = uabin.Primitives.UInt32.unpack(data) self.MaxNotificationsPerPublish = uabin.Primitives.UInt32.unpack(data) self.PublishingEnabled = uabin.Primitives.Boolean.unpack(data) self.Priority = uabin.Primitives.Byte.unpack(data) def __str__(self): return 'CreateSubscriptionParameters(' + 'RequestedPublishingInterval:' + str(self.RequestedPublishingInterval) + ', ' + \ 'RequestedLifetimeCount:' + str(self.RequestedLifetimeCount) + ', ' + \ 'RequestedMaxKeepAliveCount:' + str(self.RequestedMaxKeepAliveCount) + ', ' + \ 'MaxNotificationsPerPublish:' + str(self.MaxNotificationsPerPublish) + ', ' + \ 'PublishingEnabled:' + str(self.PublishingEnabled) + ', ' + \ 'Priority:' + str(self.Priority) + ')' __repr__ = __str__ class CreateSubscriptionRequest(FrozenClass): ''' :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: CreateSubscriptionParameters ''' ua_types = { 'TypeId': 'NodeId', 'RequestHeader': 'RequestHeader', 'Parameters': 'CreateSubscriptionParameters', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.CreateSubscriptionRequest_Encoding_DefaultBinary) self.RequestHeader = RequestHeader() self.Parameters = CreateSubscriptionParameters() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.RequestHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return CreateSubscriptionRequest(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.RequestHeader = RequestHeader.from_binary(data) self.Parameters = CreateSubscriptionParameters.from_binary(data) def __str__(self): return 'CreateSubscriptionRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class CreateSubscriptionResult(FrozenClass): ''' :ivar SubscriptionId: :vartype SubscriptionId: UInt32 :ivar RevisedPublishingInterval: :vartype RevisedPublishingInterval: Double :ivar RevisedLifetimeCount: :vartype RevisedLifetimeCount: UInt32 :ivar RevisedMaxKeepAliveCount: :vartype RevisedMaxKeepAliveCount: UInt32 ''' ua_types = { 'SubscriptionId': 'UInt32', 'RevisedPublishingInterval': 'Double', 'RevisedLifetimeCount': 'UInt32', 'RevisedMaxKeepAliveCount': 'UInt32', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.SubscriptionId = 0 self.RevisedPublishingInterval = 0 self.RevisedLifetimeCount = 0 self.RevisedMaxKeepAliveCount = 0 self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.UInt32.pack(self.SubscriptionId)) packet.append(uabin.Primitives.Double.pack(self.RevisedPublishingInterval)) packet.append(uabin.Primitives.UInt32.pack(self.RevisedLifetimeCount)) packet.append(uabin.Primitives.UInt32.pack(self.RevisedMaxKeepAliveCount)) return b''.join(packet) @staticmethod def from_binary(data): return CreateSubscriptionResult(data) def _binary_init(self, data): self.SubscriptionId = uabin.Primitives.UInt32.unpack(data) self.RevisedPublishingInterval = uabin.Primitives.Double.unpack(data) self.RevisedLifetimeCount = uabin.Primitives.UInt32.unpack(data) self.RevisedMaxKeepAliveCount = uabin.Primitives.UInt32.unpack(data) def __str__(self): return 'CreateSubscriptionResult(' + 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ 'RevisedPublishingInterval:' + str(self.RevisedPublishingInterval) + ', ' + \ 'RevisedLifetimeCount:' + str(self.RevisedLifetimeCount) + ', ' + \ 'RevisedMaxKeepAliveCount:' + str(self.RevisedMaxKeepAliveCount) + ')' __repr__ = __str__ class CreateSubscriptionResponse(FrozenClass): ''' :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: CreateSubscriptionResult ''' ua_types = { 'TypeId': 'NodeId', 'ResponseHeader': 'ResponseHeader', 'Parameters': 'CreateSubscriptionResult', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.CreateSubscriptionResponse_Encoding_DefaultBinary) self.ResponseHeader = ResponseHeader() self.Parameters = CreateSubscriptionResult() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.ResponseHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return CreateSubscriptionResponse(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.ResponseHeader = ResponseHeader.from_binary(data) self.Parameters = CreateSubscriptionResult.from_binary(data) def __str__(self): return 'CreateSubscriptionResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class ModifySubscriptionParameters(FrozenClass): ''' :ivar SubscriptionId: :vartype SubscriptionId: UInt32 :ivar RequestedPublishingInterval: :vartype RequestedPublishingInterval: Double :ivar RequestedLifetimeCount: :vartype RequestedLifetimeCount: UInt32 :ivar RequestedMaxKeepAliveCount: :vartype RequestedMaxKeepAliveCount: UInt32 :ivar MaxNotificationsPerPublish: :vartype MaxNotificationsPerPublish: UInt32 :ivar Priority: :vartype Priority: Byte ''' ua_types = { 'SubscriptionId': 'UInt32', 'RequestedPublishingInterval': 'Double', 'RequestedLifetimeCount': 'UInt32', 'RequestedMaxKeepAliveCount': 'UInt32', 'MaxNotificationsPerPublish': 'UInt32', 'Priority': 'Byte', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.SubscriptionId = 0 self.RequestedPublishingInterval = 0 self.RequestedLifetimeCount = 0 self.RequestedMaxKeepAliveCount = 0 self.MaxNotificationsPerPublish = 0 self.Priority = 0 self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.UInt32.pack(self.SubscriptionId)) packet.append(uabin.Primitives.Double.pack(self.RequestedPublishingInterval)) packet.append(uabin.Primitives.UInt32.pack(self.RequestedLifetimeCount)) packet.append(uabin.Primitives.UInt32.pack(self.RequestedMaxKeepAliveCount)) packet.append(uabin.Primitives.UInt32.pack(self.MaxNotificationsPerPublish)) packet.append(uabin.Primitives.Byte.pack(self.Priority)) return b''.join(packet) @staticmethod def from_binary(data): return ModifySubscriptionParameters(data) def _binary_init(self, data): self.SubscriptionId = uabin.Primitives.UInt32.unpack(data) self.RequestedPublishingInterval = uabin.Primitives.Double.unpack(data) self.RequestedLifetimeCount = uabin.Primitives.UInt32.unpack(data) self.RequestedMaxKeepAliveCount = uabin.Primitives.UInt32.unpack(data) self.MaxNotificationsPerPublish = uabin.Primitives.UInt32.unpack(data) self.Priority = uabin.Primitives.Byte.unpack(data) def __str__(self): return 'ModifySubscriptionParameters(' + 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ 'RequestedPublishingInterval:' + str(self.RequestedPublishingInterval) + ', ' + \ 'RequestedLifetimeCount:' + str(self.RequestedLifetimeCount) + ', ' + \ 'RequestedMaxKeepAliveCount:' + str(self.RequestedMaxKeepAliveCount) + ', ' + \ 'MaxNotificationsPerPublish:' + str(self.MaxNotificationsPerPublish) + ', ' + \ 'Priority:' + str(self.Priority) + ')' __repr__ = __str__ class ModifySubscriptionRequest(FrozenClass): ''' :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: ModifySubscriptionParameters ''' ua_types = { 'TypeId': 'NodeId', 'RequestHeader': 'RequestHeader', 'Parameters': 'ModifySubscriptionParameters', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.ModifySubscriptionRequest_Encoding_DefaultBinary) self.RequestHeader = RequestHeader() self.Parameters = ModifySubscriptionParameters() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.RequestHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return ModifySubscriptionRequest(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.RequestHeader = RequestHeader.from_binary(data) self.Parameters = ModifySubscriptionParameters.from_binary(data) def __str__(self): return 'ModifySubscriptionRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class ModifySubscriptionResult(FrozenClass): ''' :ivar RevisedPublishingInterval: :vartype RevisedPublishingInterval: Double :ivar RevisedLifetimeCount: :vartype RevisedLifetimeCount: UInt32 :ivar RevisedMaxKeepAliveCount: :vartype RevisedMaxKeepAliveCount: UInt32 ''' ua_types = { 'RevisedPublishingInterval': 'Double', 'RevisedLifetimeCount': 'UInt32', 'RevisedMaxKeepAliveCount': 'UInt32', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.RevisedPublishingInterval = 0 self.RevisedLifetimeCount = 0 self.RevisedMaxKeepAliveCount = 0 self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.Double.pack(self.RevisedPublishingInterval)) packet.append(uabin.Primitives.UInt32.pack(self.RevisedLifetimeCount)) packet.append(uabin.Primitives.UInt32.pack(self.RevisedMaxKeepAliveCount)) return b''.join(packet) @staticmethod def from_binary(data): return ModifySubscriptionResult(data) def _binary_init(self, data): self.RevisedPublishingInterval = uabin.Primitives.Double.unpack(data) self.RevisedLifetimeCount = uabin.Primitives.UInt32.unpack(data) self.RevisedMaxKeepAliveCount = uabin.Primitives.UInt32.unpack(data) def __str__(self): return 'ModifySubscriptionResult(' + 'RevisedPublishingInterval:' + str(self.RevisedPublishingInterval) + ', ' + \ 'RevisedLifetimeCount:' + str(self.RevisedLifetimeCount) + ', ' + \ 'RevisedMaxKeepAliveCount:' + str(self.RevisedMaxKeepAliveCount) + ')' __repr__ = __str__ class ModifySubscriptionResponse(FrozenClass): ''' :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: ModifySubscriptionResult ''' ua_types = { 'TypeId': 'NodeId', 'ResponseHeader': 'ResponseHeader', 'Parameters': 'ModifySubscriptionResult', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.ModifySubscriptionResponse_Encoding_DefaultBinary) self.ResponseHeader = ResponseHeader() self.Parameters = ModifySubscriptionResult() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.ResponseHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return ModifySubscriptionResponse(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.ResponseHeader = ResponseHeader.from_binary(data) self.Parameters = ModifySubscriptionResult.from_binary(data) def __str__(self): return 'ModifySubscriptionResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class SetPublishingModeParameters(FrozenClass): ''' :ivar PublishingEnabled: :vartype PublishingEnabled: Boolean :ivar SubscriptionIds: :vartype SubscriptionIds: UInt32 ''' ua_types = { 'PublishingEnabled': 'Boolean', 'SubscriptionIds': 'UInt32', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.PublishingEnabled = True self.SubscriptionIds = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.Boolean.pack(self.PublishingEnabled)) packet.append(uabin.Primitives.Int32.pack(len(self.SubscriptionIds))) for fieldname in self.SubscriptionIds: packet.append(uabin.Primitives.UInt32.pack(fieldname)) return b''.join(packet) @staticmethod def from_binary(data): return SetPublishingModeParameters(data) def _binary_init(self, data): self.PublishingEnabled = uabin.Primitives.Boolean.unpack(data) self.SubscriptionIds = uabin.Primitives.UInt32.unpack_array(data) def __str__(self): return 'SetPublishingModeParameters(' + 'PublishingEnabled:' + str(self.PublishingEnabled) + ', ' + \ 'SubscriptionIds:' + str(self.SubscriptionIds) + ')' __repr__ = __str__ class SetPublishingModeRequest(FrozenClass): ''' :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: SetPublishingModeParameters ''' ua_types = { 'TypeId': 'NodeId', 'RequestHeader': 'RequestHeader', 'Parameters': 'SetPublishingModeParameters', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.SetPublishingModeRequest_Encoding_DefaultBinary) self.RequestHeader = RequestHeader() self.Parameters = SetPublishingModeParameters() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.RequestHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return SetPublishingModeRequest(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.RequestHeader = RequestHeader.from_binary(data) self.Parameters = SetPublishingModeParameters.from_binary(data) def __str__(self): return 'SetPublishingModeRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class SetPublishingModeResult(FrozenClass): ''' :ivar Results: :vartype Results: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo ''' ua_types = { 'Results': 'StatusCode', 'DiagnosticInfos': 'DiagnosticInfo', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.Results = [] self.DiagnosticInfos = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.Int32.pack(len(self.Results))) for fieldname in self.Results: packet.append(fieldname.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.DiagnosticInfos))) for fieldname in self.DiagnosticInfos: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return SetPublishingModeResult(data) def _binary_init(self, data): length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(StatusCode.from_binary(data)) self.Results = array length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(DiagnosticInfo.from_binary(data)) self.DiagnosticInfos = array def __str__(self): return 'SetPublishingModeResult(' + 'Results:' + str(self.Results) + ', ' + \ 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' __repr__ = __str__ class SetPublishingModeResponse(FrozenClass): ''' :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: SetPublishingModeResult ''' ua_types = { 'TypeId': 'NodeId', 'ResponseHeader': 'ResponseHeader', 'Parameters': 'SetPublishingModeResult', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.SetPublishingModeResponse_Encoding_DefaultBinary) self.ResponseHeader = ResponseHeader() self.Parameters = SetPublishingModeResult() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.ResponseHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return SetPublishingModeResponse(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.ResponseHeader = ResponseHeader.from_binary(data) self.Parameters = SetPublishingModeResult.from_binary(data) def __str__(self): return 'SetPublishingModeResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class NotificationMessage(FrozenClass): ''' :ivar SequenceNumber: :vartype SequenceNumber: UInt32 :ivar PublishTime: :vartype PublishTime: DateTime :ivar NotificationData: :vartype NotificationData: ExtensionObject ''' ua_types = { 'SequenceNumber': 'UInt32', 'PublishTime': 'DateTime', 'NotificationData': 'ExtensionObject', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.SequenceNumber = 0 self.PublishTime = datetime.utcnow() self.NotificationData = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.UInt32.pack(self.SequenceNumber)) packet.append(uabin.Primitives.DateTime.pack(self.PublishTime)) packet.append(uabin.Primitives.Int32.pack(len(self.NotificationData))) for fieldname in self.NotificationData: packet.append(extensionobject_to_binary(fieldname)) return b''.join(packet) @staticmethod def from_binary(data): return NotificationMessage(data) def _binary_init(self, data): self.SequenceNumber = uabin.Primitives.UInt32.unpack(data) self.PublishTime = uabin.Primitives.DateTime.unpack(data) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(extensionobject_from_binary(data)) self.NotificationData = array def __str__(self): return 'NotificationMessage(' + 'SequenceNumber:' + str(self.SequenceNumber) + ', ' + \ 'PublishTime:' + str(self.PublishTime) + ', ' + \ 'NotificationData:' + str(self.NotificationData) + ')' __repr__ = __str__ class NotificationData(FrozenClass): ''' ''' ua_types = { } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self._freeze = True def to_binary(self): packet = [] return b''.join(packet) @staticmethod def from_binary(data): return NotificationData(data) def _binary_init(self, data): pass def __str__(self): return 'NotificationData(' + + ')' __repr__ = __str__ class DataChangeNotification(FrozenClass): ''' :ivar MonitoredItems: :vartype MonitoredItems: MonitoredItemNotification :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo ''' ua_types = { 'MonitoredItems': 'MonitoredItemNotification', 'DiagnosticInfos': 'DiagnosticInfo', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.MonitoredItems = [] self.DiagnosticInfos = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.Int32.pack(len(self.MonitoredItems))) for fieldname in self.MonitoredItems: packet.append(fieldname.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.DiagnosticInfos))) for fieldname in self.DiagnosticInfos: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return DataChangeNotification(data) def _binary_init(self, data): length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(MonitoredItemNotification.from_binary(data)) self.MonitoredItems = array length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(DiagnosticInfo.from_binary(data)) self.DiagnosticInfos = array def __str__(self): return 'DataChangeNotification(' + 'MonitoredItems:' + str(self.MonitoredItems) + ', ' + \ 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' __repr__ = __str__ class MonitoredItemNotification(FrozenClass): ''' :ivar ClientHandle: :vartype ClientHandle: UInt32 :ivar Value: :vartype Value: DataValue ''' ua_types = { 'ClientHandle': 'UInt32', 'Value': 'DataValue', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.ClientHandle = 0 self.Value = DataValue() self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.UInt32.pack(self.ClientHandle)) packet.append(self.Value.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return MonitoredItemNotification(data) def _binary_init(self, data): self.ClientHandle = uabin.Primitives.UInt32.unpack(data) self.Value = DataValue.from_binary(data) def __str__(self): return 'MonitoredItemNotification(' + 'ClientHandle:' + str(self.ClientHandle) + ', ' + \ 'Value:' + str(self.Value) + ')' __repr__ = __str__ class EventNotificationList(FrozenClass): ''' :ivar Events: :vartype Events: EventFieldList ''' ua_types = { 'Events': 'EventFieldList', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.Events = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.Int32.pack(len(self.Events))) for fieldname in self.Events: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return EventNotificationList(data) def _binary_init(self, data): length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(EventFieldList.from_binary(data)) self.Events = array def __str__(self): return 'EventNotificationList(' + 'Events:' + str(self.Events) + ')' __repr__ = __str__ class EventFieldList(FrozenClass): ''' :ivar ClientHandle: :vartype ClientHandle: UInt32 :ivar EventFields: :vartype EventFields: Variant ''' ua_types = { 'ClientHandle': 'UInt32', 'EventFields': 'Variant', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.ClientHandle = 0 self.EventFields = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.UInt32.pack(self.ClientHandle)) packet.append(uabin.Primitives.Int32.pack(len(self.EventFields))) for fieldname in self.EventFields: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return EventFieldList(data) def _binary_init(self, data): self.ClientHandle = uabin.Primitives.UInt32.unpack(data) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(Variant.from_binary(data)) self.EventFields = array def __str__(self): return 'EventFieldList(' + 'ClientHandle:' + str(self.ClientHandle) + ', ' + \ 'EventFields:' + str(self.EventFields) + ')' __repr__ = __str__ class HistoryEventFieldList(FrozenClass): ''' :ivar EventFields: :vartype EventFields: Variant ''' ua_types = { 'EventFields': 'Variant', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.EventFields = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.Int32.pack(len(self.EventFields))) for fieldname in self.EventFields: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return HistoryEventFieldList(data) def _binary_init(self, data): length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(Variant.from_binary(data)) self.EventFields = array def __str__(self): return 'HistoryEventFieldList(' + 'EventFields:' + str(self.EventFields) + ')' __repr__ = __str__ class StatusChangeNotification(FrozenClass): ''' :ivar Status: :vartype Status: StatusCode :ivar DiagnosticInfo: :vartype DiagnosticInfo: DiagnosticInfo ''' ua_types = { 'Status': 'StatusCode', 'DiagnosticInfo': 'DiagnosticInfo', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.Status = StatusCode() self.DiagnosticInfo = DiagnosticInfo() self._freeze = True def to_binary(self): packet = [] packet.append(self.Status.to_binary()) packet.append(self.DiagnosticInfo.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return StatusChangeNotification(data) def _binary_init(self, data): self.Status = StatusCode.from_binary(data) self.DiagnosticInfo = DiagnosticInfo.from_binary(data) def __str__(self): return 'StatusChangeNotification(' + 'Status:' + str(self.Status) + ', ' + \ 'DiagnosticInfo:' + str(self.DiagnosticInfo) + ')' __repr__ = __str__ class SubscriptionAcknowledgement(FrozenClass): ''' :ivar SubscriptionId: :vartype SubscriptionId: UInt32 :ivar SequenceNumber: :vartype SequenceNumber: UInt32 ''' ua_types = { 'SubscriptionId': 'UInt32', 'SequenceNumber': 'UInt32', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.SubscriptionId = 0 self.SequenceNumber = 0 self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.UInt32.pack(self.SubscriptionId)) packet.append(uabin.Primitives.UInt32.pack(self.SequenceNumber)) return b''.join(packet) @staticmethod def from_binary(data): return SubscriptionAcknowledgement(data) def _binary_init(self, data): self.SubscriptionId = uabin.Primitives.UInt32.unpack(data) self.SequenceNumber = uabin.Primitives.UInt32.unpack(data) def __str__(self): return 'SubscriptionAcknowledgement(' + 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ 'SequenceNumber:' + str(self.SequenceNumber) + ')' __repr__ = __str__ class PublishParameters(FrozenClass): ''' :ivar SubscriptionAcknowledgements: :vartype SubscriptionAcknowledgements: SubscriptionAcknowledgement ''' ua_types = { 'SubscriptionAcknowledgements': 'SubscriptionAcknowledgement', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.SubscriptionAcknowledgements = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.Int32.pack(len(self.SubscriptionAcknowledgements))) for fieldname in self.SubscriptionAcknowledgements: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return PublishParameters(data) def _binary_init(self, data): length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(SubscriptionAcknowledgement.from_binary(data)) self.SubscriptionAcknowledgements = array def __str__(self): return 'PublishParameters(' + 'SubscriptionAcknowledgements:' + str(self.SubscriptionAcknowledgements) + ')' __repr__ = __str__ class PublishRequest(FrozenClass): ''' :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: PublishParameters ''' ua_types = { 'TypeId': 'NodeId', 'RequestHeader': 'RequestHeader', 'Parameters': 'PublishParameters', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.PublishRequest_Encoding_DefaultBinary) self.RequestHeader = RequestHeader() self.Parameters = PublishParameters() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.RequestHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return PublishRequest(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.RequestHeader = RequestHeader.from_binary(data) self.Parameters = PublishParameters.from_binary(data) def __str__(self): return 'PublishRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class PublishResult(FrozenClass): ''' :ivar SubscriptionId: :vartype SubscriptionId: UInt32 :ivar AvailableSequenceNumbers: :vartype AvailableSequenceNumbers: UInt32 :ivar MoreNotifications: :vartype MoreNotifications: Boolean :ivar NotificationMessage: :vartype NotificationMessage: NotificationMessage :ivar Results: :vartype Results: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo ''' ua_types = { 'SubscriptionId': 'UInt32', 'AvailableSequenceNumbers': 'UInt32', 'MoreNotifications': 'Boolean', 'NotificationMessage': 'NotificationMessage', 'Results': 'StatusCode', 'DiagnosticInfos': 'DiagnosticInfo', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.SubscriptionId = 0 self.AvailableSequenceNumbers = [] self.MoreNotifications = True self.NotificationMessage = NotificationMessage() self.Results = [] self.DiagnosticInfos = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.UInt32.pack(self.SubscriptionId)) packet.append(uabin.Primitives.Int32.pack(len(self.AvailableSequenceNumbers))) for fieldname in self.AvailableSequenceNumbers: packet.append(uabin.Primitives.UInt32.pack(fieldname)) packet.append(uabin.Primitives.Boolean.pack(self.MoreNotifications)) packet.append(self.NotificationMessage.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.Results))) for fieldname in self.Results: packet.append(fieldname.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.DiagnosticInfos))) for fieldname in self.DiagnosticInfos: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return PublishResult(data) def _binary_init(self, data): self.SubscriptionId = uabin.Primitives.UInt32.unpack(data) self.AvailableSequenceNumbers = uabin.Primitives.UInt32.unpack_array(data) self.MoreNotifications = uabin.Primitives.Boolean.unpack(data) self.NotificationMessage = NotificationMessage.from_binary(data) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(StatusCode.from_binary(data)) self.Results = array length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(DiagnosticInfo.from_binary(data)) self.DiagnosticInfos = array def __str__(self): return 'PublishResult(' + 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ 'AvailableSequenceNumbers:' + str(self.AvailableSequenceNumbers) + ', ' + \ 'MoreNotifications:' + str(self.MoreNotifications) + ', ' + \ 'NotificationMessage:' + str(self.NotificationMessage) + ', ' + \ 'Results:' + str(self.Results) + ', ' + \ 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' __repr__ = __str__ class PublishResponse(FrozenClass): ''' :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: PublishResult ''' ua_types = { 'TypeId': 'NodeId', 'ResponseHeader': 'ResponseHeader', 'Parameters': 'PublishResult', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.PublishResponse_Encoding_DefaultBinary) self.ResponseHeader = ResponseHeader() self.Parameters = PublishResult() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.ResponseHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return PublishResponse(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.ResponseHeader = ResponseHeader.from_binary(data) self.Parameters = PublishResult.from_binary(data) def __str__(self): return 'PublishResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class RepublishParameters(FrozenClass): ''' :ivar SubscriptionId: :vartype SubscriptionId: UInt32 :ivar RetransmitSequenceNumber: :vartype RetransmitSequenceNumber: UInt32 ''' ua_types = { 'SubscriptionId': 'UInt32', 'RetransmitSequenceNumber': 'UInt32', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.SubscriptionId = 0 self.RetransmitSequenceNumber = 0 self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.UInt32.pack(self.SubscriptionId)) packet.append(uabin.Primitives.UInt32.pack(self.RetransmitSequenceNumber)) return b''.join(packet) @staticmethod def from_binary(data): return RepublishParameters(data) def _binary_init(self, data): self.SubscriptionId = uabin.Primitives.UInt32.unpack(data) self.RetransmitSequenceNumber = uabin.Primitives.UInt32.unpack(data) def __str__(self): return 'RepublishParameters(' + 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ 'RetransmitSequenceNumber:' + str(self.RetransmitSequenceNumber) + ')' __repr__ = __str__ class RepublishRequest(FrozenClass): ''' :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: RepublishParameters ''' ua_types = { 'TypeId': 'NodeId', 'RequestHeader': 'RequestHeader', 'Parameters': 'RepublishParameters', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.RepublishRequest_Encoding_DefaultBinary) self.RequestHeader = RequestHeader() self.Parameters = RepublishParameters() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.RequestHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return RepublishRequest(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.RequestHeader = RequestHeader.from_binary(data) self.Parameters = RepublishParameters.from_binary(data) def __str__(self): return 'RepublishRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class RepublishResponse(FrozenClass): ''' :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar NotificationMessage: :vartype NotificationMessage: NotificationMessage ''' ua_types = { 'TypeId': 'NodeId', 'ResponseHeader': 'ResponseHeader', 'NotificationMessage': 'NotificationMessage', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.RepublishResponse_Encoding_DefaultBinary) self.ResponseHeader = ResponseHeader() self.NotificationMessage = NotificationMessage() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.ResponseHeader.to_binary()) packet.append(self.NotificationMessage.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return RepublishResponse(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.ResponseHeader = ResponseHeader.from_binary(data) self.NotificationMessage = NotificationMessage.from_binary(data) def __str__(self): return 'RepublishResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ 'NotificationMessage:' + str(self.NotificationMessage) + ')' __repr__ = __str__ class TransferResult(FrozenClass): ''' :ivar StatusCode: :vartype StatusCode: StatusCode :ivar AvailableSequenceNumbers: :vartype AvailableSequenceNumbers: UInt32 ''' ua_types = { 'StatusCode': 'StatusCode', 'AvailableSequenceNumbers': 'UInt32', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.StatusCode = StatusCode() self.AvailableSequenceNumbers = [] self._freeze = True def to_binary(self): packet = [] packet.append(self.StatusCode.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.AvailableSequenceNumbers))) for fieldname in self.AvailableSequenceNumbers: packet.append(uabin.Primitives.UInt32.pack(fieldname)) return b''.join(packet) @staticmethod def from_binary(data): return TransferResult(data) def _binary_init(self, data): self.StatusCode = StatusCode.from_binary(data) self.AvailableSequenceNumbers = uabin.Primitives.UInt32.unpack_array(data) def __str__(self): return 'TransferResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ 'AvailableSequenceNumbers:' + str(self.AvailableSequenceNumbers) + ')' __repr__ = __str__ class TransferSubscriptionsParameters(FrozenClass): ''' :ivar SubscriptionIds: :vartype SubscriptionIds: UInt32 :ivar SendInitialValues: :vartype SendInitialValues: Boolean ''' ua_types = { 'SubscriptionIds': 'UInt32', 'SendInitialValues': 'Boolean', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.SubscriptionIds = [] self.SendInitialValues = True self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.Int32.pack(len(self.SubscriptionIds))) for fieldname in self.SubscriptionIds: packet.append(uabin.Primitives.UInt32.pack(fieldname)) packet.append(uabin.Primitives.Boolean.pack(self.SendInitialValues)) return b''.join(packet) @staticmethod def from_binary(data): return TransferSubscriptionsParameters(data) def _binary_init(self, data): self.SubscriptionIds = uabin.Primitives.UInt32.unpack_array(data) self.SendInitialValues = uabin.Primitives.Boolean.unpack(data) def __str__(self): return 'TransferSubscriptionsParameters(' + 'SubscriptionIds:' + str(self.SubscriptionIds) + ', ' + \ 'SendInitialValues:' + str(self.SendInitialValues) + ')' __repr__ = __str__ class TransferSubscriptionsRequest(FrozenClass): ''' :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: TransferSubscriptionsParameters ''' ua_types = { 'TypeId': 'NodeId', 'RequestHeader': 'RequestHeader', 'Parameters': 'TransferSubscriptionsParameters', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.TransferSubscriptionsRequest_Encoding_DefaultBinary) self.RequestHeader = RequestHeader() self.Parameters = TransferSubscriptionsParameters() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.RequestHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return TransferSubscriptionsRequest(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.RequestHeader = RequestHeader.from_binary(data) self.Parameters = TransferSubscriptionsParameters.from_binary(data) def __str__(self): return 'TransferSubscriptionsRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class TransferSubscriptionsResult(FrozenClass): ''' :ivar Results: :vartype Results: TransferResult :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo ''' ua_types = { 'Results': 'TransferResult', 'DiagnosticInfos': 'DiagnosticInfo', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.Results = [] self.DiagnosticInfos = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.Int32.pack(len(self.Results))) for fieldname in self.Results: packet.append(fieldname.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.DiagnosticInfos))) for fieldname in self.DiagnosticInfos: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return TransferSubscriptionsResult(data) def _binary_init(self, data): length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(TransferResult.from_binary(data)) self.Results = array length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(DiagnosticInfo.from_binary(data)) self.DiagnosticInfos = array def __str__(self): return 'TransferSubscriptionsResult(' + 'Results:' + str(self.Results) + ', ' + \ 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' __repr__ = __str__ class TransferSubscriptionsResponse(FrozenClass): ''' :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: TransferSubscriptionsResult ''' ua_types = { 'TypeId': 'NodeId', 'ResponseHeader': 'ResponseHeader', 'Parameters': 'TransferSubscriptionsResult', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.TransferSubscriptionsResponse_Encoding_DefaultBinary) self.ResponseHeader = ResponseHeader() self.Parameters = TransferSubscriptionsResult() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.ResponseHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return TransferSubscriptionsResponse(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.ResponseHeader = ResponseHeader.from_binary(data) self.Parameters = TransferSubscriptionsResult.from_binary(data) def __str__(self): return 'TransferSubscriptionsResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class DeleteSubscriptionsParameters(FrozenClass): ''' :ivar SubscriptionIds: :vartype SubscriptionIds: UInt32 ''' ua_types = { 'SubscriptionIds': 'UInt32', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.SubscriptionIds = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.Int32.pack(len(self.SubscriptionIds))) for fieldname in self.SubscriptionIds: packet.append(uabin.Primitives.UInt32.pack(fieldname)) return b''.join(packet) @staticmethod def from_binary(data): return DeleteSubscriptionsParameters(data) def _binary_init(self, data): self.SubscriptionIds = uabin.Primitives.UInt32.unpack_array(data) def __str__(self): return 'DeleteSubscriptionsParameters(' + 'SubscriptionIds:' + str(self.SubscriptionIds) + ')' __repr__ = __str__ class DeleteSubscriptionsRequest(FrozenClass): ''' :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: DeleteSubscriptionsParameters ''' ua_types = { 'TypeId': 'NodeId', 'RequestHeader': 'RequestHeader', 'Parameters': 'DeleteSubscriptionsParameters', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.DeleteSubscriptionsRequest_Encoding_DefaultBinary) self.RequestHeader = RequestHeader() self.Parameters = DeleteSubscriptionsParameters() self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.RequestHeader.to_binary()) packet.append(self.Parameters.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return DeleteSubscriptionsRequest(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.RequestHeader = RequestHeader.from_binary(data) self.Parameters = DeleteSubscriptionsParameters.from_binary(data) def __str__(self): return 'DeleteSubscriptionsRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class DeleteSubscriptionsResponse(FrozenClass): ''' :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Results: :vartype Results: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo ''' ua_types = { 'TypeId': 'NodeId', 'ResponseHeader': 'ResponseHeader', 'Results': 'StatusCode', 'DiagnosticInfos': 'DiagnosticInfo', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TypeId = FourByteNodeId(ObjectIds.DeleteSubscriptionsResponse_Encoding_DefaultBinary) self.ResponseHeader = ResponseHeader() self.Results = [] self.DiagnosticInfos = [] self._freeze = True def to_binary(self): packet = [] packet.append(self.TypeId.to_binary()) packet.append(self.ResponseHeader.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.Results))) for fieldname in self.Results: packet.append(fieldname.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.DiagnosticInfos))) for fieldname in self.DiagnosticInfos: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return DeleteSubscriptionsResponse(data) def _binary_init(self, data): self.TypeId = NodeId.from_binary(data) self.ResponseHeader = ResponseHeader.from_binary(data) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(StatusCode.from_binary(data)) self.Results = array length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(DiagnosticInfo.from_binary(data)) self.DiagnosticInfos = array def __str__(self): return 'DeleteSubscriptionsResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ 'Results:' + str(self.Results) + ', ' + \ 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' __repr__ = __str__ class BuildInfo(FrozenClass): ''' :ivar ProductUri: :vartype ProductUri: String :ivar ManufacturerName: :vartype ManufacturerName: String :ivar ProductName: :vartype ProductName: String :ivar SoftwareVersion: :vartype SoftwareVersion: String :ivar BuildNumber: :vartype BuildNumber: String :ivar BuildDate: :vartype BuildDate: DateTime ''' ua_types = { 'ProductUri': 'String', 'ManufacturerName': 'String', 'ProductName': 'String', 'SoftwareVersion': 'String', 'BuildNumber': 'String', 'BuildDate': 'DateTime', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.ProductUri = None self.ManufacturerName = None self.ProductName = None self.SoftwareVersion = None self.BuildNumber = None self.BuildDate = datetime.utcnow() self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.String.pack(self.ProductUri)) packet.append(uabin.Primitives.String.pack(self.ManufacturerName)) packet.append(uabin.Primitives.String.pack(self.ProductName)) packet.append(uabin.Primitives.String.pack(self.SoftwareVersion)) packet.append(uabin.Primitives.String.pack(self.BuildNumber)) packet.append(uabin.Primitives.DateTime.pack(self.BuildDate)) return b''.join(packet) @staticmethod def from_binary(data): return BuildInfo(data) def _binary_init(self, data): self.ProductUri = uabin.Primitives.String.unpack(data) self.ManufacturerName = uabin.Primitives.String.unpack(data) self.ProductName = uabin.Primitives.String.unpack(data) self.SoftwareVersion = uabin.Primitives.String.unpack(data) self.BuildNumber = uabin.Primitives.String.unpack(data) self.BuildDate = uabin.Primitives.DateTime.unpack(data) def __str__(self): return 'BuildInfo(' + 'ProductUri:' + str(self.ProductUri) + ', ' + \ 'ManufacturerName:' + str(self.ManufacturerName) + ', ' + \ 'ProductName:' + str(self.ProductName) + ', ' + \ 'SoftwareVersion:' + str(self.SoftwareVersion) + ', ' + \ 'BuildNumber:' + str(self.BuildNumber) + ', ' + \ 'BuildDate:' + str(self.BuildDate) + ')' __repr__ = __str__ class RedundantServerDataType(FrozenClass): ''' :ivar ServerId: :vartype ServerId: String :ivar ServiceLevel: :vartype ServiceLevel: Byte :ivar ServerState: :vartype ServerState: ServerState ''' ua_types = { 'ServerId': 'String', 'ServiceLevel': 'Byte', 'ServerState': 'ServerState', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.ServerId = None self.ServiceLevel = 0 self.ServerState = ServerState(0) self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.String.pack(self.ServerId)) packet.append(uabin.Primitives.Byte.pack(self.ServiceLevel)) packet.append(uabin.Primitives.UInt32.pack(self.ServerState.value)) return b''.join(packet) @staticmethod def from_binary(data): return RedundantServerDataType(data) def _binary_init(self, data): self.ServerId = uabin.Primitives.String.unpack(data) self.ServiceLevel = uabin.Primitives.Byte.unpack(data) self.ServerState = ServerState(uabin.Primitives.UInt32.unpack(data)) def __str__(self): return 'RedundantServerDataType(' + 'ServerId:' + str(self.ServerId) + ', ' + \ 'ServiceLevel:' + str(self.ServiceLevel) + ', ' + \ 'ServerState:' + str(self.ServerState) + ')' __repr__ = __str__ class EndpointUrlListDataType(FrozenClass): ''' :ivar EndpointUrlList: :vartype EndpointUrlList: String ''' ua_types = { 'EndpointUrlList': 'String', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.EndpointUrlList = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.Int32.pack(len(self.EndpointUrlList))) for fieldname in self.EndpointUrlList: packet.append(uabin.Primitives.String.pack(fieldname)) return b''.join(packet) @staticmethod def from_binary(data): return EndpointUrlListDataType(data) def _binary_init(self, data): self.EndpointUrlList = uabin.Primitives.String.unpack_array(data) def __str__(self): return 'EndpointUrlListDataType(' + 'EndpointUrlList:' + str(self.EndpointUrlList) + ')' __repr__ = __str__ class NetworkGroupDataType(FrozenClass): ''' :ivar ServerUri: :vartype ServerUri: String :ivar NetworkPaths: :vartype NetworkPaths: EndpointUrlListDataType ''' ua_types = { 'ServerUri': 'String', 'NetworkPaths': 'EndpointUrlListDataType', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.ServerUri = None self.NetworkPaths = [] self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.String.pack(self.ServerUri)) packet.append(uabin.Primitives.Int32.pack(len(self.NetworkPaths))) for fieldname in self.NetworkPaths: packet.append(fieldname.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return NetworkGroupDataType(data) def _binary_init(self, data): self.ServerUri = uabin.Primitives.String.unpack(data) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(EndpointUrlListDataType.from_binary(data)) self.NetworkPaths = array def __str__(self): return 'NetworkGroupDataType(' + 'ServerUri:' + str(self.ServerUri) + ', ' + \ 'NetworkPaths:' + str(self.NetworkPaths) + ')' __repr__ = __str__ class SamplingIntervalDiagnosticsDataType(FrozenClass): ''' :ivar SamplingInterval: :vartype SamplingInterval: Double :ivar MonitoredItemCount: :vartype MonitoredItemCount: UInt32 :ivar MaxMonitoredItemCount: :vartype MaxMonitoredItemCount: UInt32 :ivar DisabledMonitoredItemCount: :vartype DisabledMonitoredItemCount: UInt32 ''' ua_types = { 'SamplingInterval': 'Double', 'MonitoredItemCount': 'UInt32', 'MaxMonitoredItemCount': 'UInt32', 'DisabledMonitoredItemCount': 'UInt32', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.SamplingInterval = 0 self.MonitoredItemCount = 0 self.MaxMonitoredItemCount = 0 self.DisabledMonitoredItemCount = 0 self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.Double.pack(self.SamplingInterval)) packet.append(uabin.Primitives.UInt32.pack(self.MonitoredItemCount)) packet.append(uabin.Primitives.UInt32.pack(self.MaxMonitoredItemCount)) packet.append(uabin.Primitives.UInt32.pack(self.DisabledMonitoredItemCount)) return b''.join(packet) @staticmethod def from_binary(data): return SamplingIntervalDiagnosticsDataType(data) def _binary_init(self, data): self.SamplingInterval = uabin.Primitives.Double.unpack(data) self.MonitoredItemCount = uabin.Primitives.UInt32.unpack(data) self.MaxMonitoredItemCount = uabin.Primitives.UInt32.unpack(data) self.DisabledMonitoredItemCount = uabin.Primitives.UInt32.unpack(data) def __str__(self): return 'SamplingIntervalDiagnosticsDataType(' + 'SamplingInterval:' + str(self.SamplingInterval) + ', ' + \ 'MonitoredItemCount:' + str(self.MonitoredItemCount) + ', ' + \ 'MaxMonitoredItemCount:' + str(self.MaxMonitoredItemCount) + ', ' + \ 'DisabledMonitoredItemCount:' + str(self.DisabledMonitoredItemCount) + ')' __repr__ = __str__ class ServerDiagnosticsSummaryDataType(FrozenClass): ''' :ivar ServerViewCount: :vartype ServerViewCount: UInt32 :ivar CurrentSessionCount: :vartype CurrentSessionCount: UInt32 :ivar CumulatedSessionCount: :vartype CumulatedSessionCount: UInt32 :ivar SecurityRejectedSessionCount: :vartype SecurityRejectedSessionCount: UInt32 :ivar RejectedSessionCount: :vartype RejectedSessionCount: UInt32 :ivar SessionTimeoutCount: :vartype SessionTimeoutCount: UInt32 :ivar SessionAbortCount: :vartype SessionAbortCount: UInt32 :ivar CurrentSubscriptionCount: :vartype CurrentSubscriptionCount: UInt32 :ivar CumulatedSubscriptionCount: :vartype CumulatedSubscriptionCount: UInt32 :ivar PublishingIntervalCount: :vartype PublishingIntervalCount: UInt32 :ivar SecurityRejectedRequestsCount: :vartype SecurityRejectedRequestsCount: UInt32 :ivar RejectedRequestsCount: :vartype RejectedRequestsCount: UInt32 ''' ua_types = { 'ServerViewCount': 'UInt32', 'CurrentSessionCount': 'UInt32', 'CumulatedSessionCount': 'UInt32', 'SecurityRejectedSessionCount': 'UInt32', 'RejectedSessionCount': 'UInt32', 'SessionTimeoutCount': 'UInt32', 'SessionAbortCount': 'UInt32', 'CurrentSubscriptionCount': 'UInt32', 'CumulatedSubscriptionCount': 'UInt32', 'PublishingIntervalCount': 'UInt32', 'SecurityRejectedRequestsCount': 'UInt32', 'RejectedRequestsCount': 'UInt32', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.ServerViewCount = 0 self.CurrentSessionCount = 0 self.CumulatedSessionCount = 0 self.SecurityRejectedSessionCount = 0 self.RejectedSessionCount = 0 self.SessionTimeoutCount = 0 self.SessionAbortCount = 0 self.CurrentSubscriptionCount = 0 self.CumulatedSubscriptionCount = 0 self.PublishingIntervalCount = 0 self.SecurityRejectedRequestsCount = 0 self.RejectedRequestsCount = 0 self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.UInt32.pack(self.ServerViewCount)) packet.append(uabin.Primitives.UInt32.pack(self.CurrentSessionCount)) packet.append(uabin.Primitives.UInt32.pack(self.CumulatedSessionCount)) packet.append(uabin.Primitives.UInt32.pack(self.SecurityRejectedSessionCount)) packet.append(uabin.Primitives.UInt32.pack(self.RejectedSessionCount)) packet.append(uabin.Primitives.UInt32.pack(self.SessionTimeoutCount)) packet.append(uabin.Primitives.UInt32.pack(self.SessionAbortCount)) packet.append(uabin.Primitives.UInt32.pack(self.CurrentSubscriptionCount)) packet.append(uabin.Primitives.UInt32.pack(self.CumulatedSubscriptionCount)) packet.append(uabin.Primitives.UInt32.pack(self.PublishingIntervalCount)) packet.append(uabin.Primitives.UInt32.pack(self.SecurityRejectedRequestsCount)) packet.append(uabin.Primitives.UInt32.pack(self.RejectedRequestsCount)) return b''.join(packet) @staticmethod def from_binary(data): return ServerDiagnosticsSummaryDataType(data) def _binary_init(self, data): self.ServerViewCount = uabin.Primitives.UInt32.unpack(data) self.CurrentSessionCount = uabin.Primitives.UInt32.unpack(data) self.CumulatedSessionCount = uabin.Primitives.UInt32.unpack(data) self.SecurityRejectedSessionCount = uabin.Primitives.UInt32.unpack(data) self.RejectedSessionCount = uabin.Primitives.UInt32.unpack(data) self.SessionTimeoutCount = uabin.Primitives.UInt32.unpack(data) self.SessionAbortCount = uabin.Primitives.UInt32.unpack(data) self.CurrentSubscriptionCount = uabin.Primitives.UInt32.unpack(data) self.CumulatedSubscriptionCount = uabin.Primitives.UInt32.unpack(data) self.PublishingIntervalCount = uabin.Primitives.UInt32.unpack(data) self.SecurityRejectedRequestsCount = uabin.Primitives.UInt32.unpack(data) self.RejectedRequestsCount = uabin.Primitives.UInt32.unpack(data) def __str__(self): return 'ServerDiagnosticsSummaryDataType(' + 'ServerViewCount:' + str(self.ServerViewCount) + ', ' + \ 'CurrentSessionCount:' + str(self.CurrentSessionCount) + ', ' + \ 'CumulatedSessionCount:' + str(self.CumulatedSessionCount) + ', ' + \ 'SecurityRejectedSessionCount:' + str(self.SecurityRejectedSessionCount) + ', ' + \ 'RejectedSessionCount:' + str(self.RejectedSessionCount) + ', ' + \ 'SessionTimeoutCount:' + str(self.SessionTimeoutCount) + ', ' + \ 'SessionAbortCount:' + str(self.SessionAbortCount) + ', ' + \ 'CurrentSubscriptionCount:' + str(self.CurrentSubscriptionCount) + ', ' + \ 'CumulatedSubscriptionCount:' + str(self.CumulatedSubscriptionCount) + ', ' + \ 'PublishingIntervalCount:' + str(self.PublishingIntervalCount) + ', ' + \ 'SecurityRejectedRequestsCount:' + str(self.SecurityRejectedRequestsCount) + ', ' + \ 'RejectedRequestsCount:' + str(self.RejectedRequestsCount) + ')' __repr__ = __str__ class ServerStatusDataType(FrozenClass): ''' :ivar StartTime: :vartype StartTime: DateTime :ivar CurrentTime: :vartype CurrentTime: DateTime :ivar State: :vartype State: ServerState :ivar BuildInfo: :vartype BuildInfo: BuildInfo :ivar SecondsTillShutdown: :vartype SecondsTillShutdown: UInt32 :ivar ShutdownReason: :vartype ShutdownReason: LocalizedText ''' ua_types = { 'StartTime': 'DateTime', 'CurrentTime': 'DateTime', 'State': 'ServerState', 'BuildInfo': 'BuildInfo', 'SecondsTillShutdown': 'UInt32', 'ShutdownReason': 'LocalizedText', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.StartTime = datetime.utcnow() self.CurrentTime = datetime.utcnow() self.State = ServerState(0) self.BuildInfo = BuildInfo() self.SecondsTillShutdown = 0 self.ShutdownReason = LocalizedText() self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.DateTime.pack(self.StartTime)) packet.append(uabin.Primitives.DateTime.pack(self.CurrentTime)) packet.append(uabin.Primitives.UInt32.pack(self.State.value)) packet.append(self.BuildInfo.to_binary()) packet.append(uabin.Primitives.UInt32.pack(self.SecondsTillShutdown)) packet.append(self.ShutdownReason.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return ServerStatusDataType(data) def _binary_init(self, data): self.StartTime = uabin.Primitives.DateTime.unpack(data) self.CurrentTime = uabin.Primitives.DateTime.unpack(data) self.State = ServerState(uabin.Primitives.UInt32.unpack(data)) self.BuildInfo = BuildInfo.from_binary(data) self.SecondsTillShutdown = uabin.Primitives.UInt32.unpack(data) self.ShutdownReason = LocalizedText.from_binary(data) def __str__(self): return 'ServerStatusDataType(' + 'StartTime:' + str(self.StartTime) + ', ' + \ 'CurrentTime:' + str(self.CurrentTime) + ', ' + \ 'State:' + str(self.State) + ', ' + \ 'BuildInfo:' + str(self.BuildInfo) + ', ' + \ 'SecondsTillShutdown:' + str(self.SecondsTillShutdown) + ', ' + \ 'ShutdownReason:' + str(self.ShutdownReason) + ')' __repr__ = __str__ class SessionDiagnosticsDataType(FrozenClass): ''' :ivar SessionId: :vartype SessionId: NodeId :ivar SessionName: :vartype SessionName: String :ivar ClientDescription: :vartype ClientDescription: ApplicationDescription :ivar ServerUri: :vartype ServerUri: String :ivar EndpointUrl: :vartype EndpointUrl: String :ivar LocaleIds: :vartype LocaleIds: String :ivar ActualSessionTimeout: :vartype ActualSessionTimeout: Double :ivar MaxResponseMessageSize: :vartype MaxResponseMessageSize: UInt32 :ivar ClientConnectionTime: :vartype ClientConnectionTime: DateTime :ivar ClientLastContactTime: :vartype ClientLastContactTime: DateTime :ivar CurrentSubscriptionsCount: :vartype CurrentSubscriptionsCount: UInt32 :ivar CurrentMonitoredItemsCount: :vartype CurrentMonitoredItemsCount: UInt32 :ivar CurrentPublishRequestsInQueue: :vartype CurrentPublishRequestsInQueue: UInt32 :ivar TotalRequestCount: :vartype TotalRequestCount: ServiceCounterDataType :ivar UnauthorizedRequestCount: :vartype UnauthorizedRequestCount: UInt32 :ivar ReadCount: :vartype ReadCount: ServiceCounterDataType :ivar HistoryReadCount: :vartype HistoryReadCount: ServiceCounterDataType :ivar WriteCount: :vartype WriteCount: ServiceCounterDataType :ivar HistoryUpdateCount: :vartype HistoryUpdateCount: ServiceCounterDataType :ivar CallCount: :vartype CallCount: ServiceCounterDataType :ivar CreateMonitoredItemsCount: :vartype CreateMonitoredItemsCount: ServiceCounterDataType :ivar ModifyMonitoredItemsCount: :vartype ModifyMonitoredItemsCount: ServiceCounterDataType :ivar SetMonitoringModeCount: :vartype SetMonitoringModeCount: ServiceCounterDataType :ivar SetTriggeringCount: :vartype SetTriggeringCount: ServiceCounterDataType :ivar DeleteMonitoredItemsCount: :vartype DeleteMonitoredItemsCount: ServiceCounterDataType :ivar CreateSubscriptionCount: :vartype CreateSubscriptionCount: ServiceCounterDataType :ivar ModifySubscriptionCount: :vartype ModifySubscriptionCount: ServiceCounterDataType :ivar SetPublishingModeCount: :vartype SetPublishingModeCount: ServiceCounterDataType :ivar PublishCount: :vartype PublishCount: ServiceCounterDataType :ivar RepublishCount: :vartype RepublishCount: ServiceCounterDataType :ivar TransferSubscriptionsCount: :vartype TransferSubscriptionsCount: ServiceCounterDataType :ivar DeleteSubscriptionsCount: :vartype DeleteSubscriptionsCount: ServiceCounterDataType :ivar AddNodesCount: :vartype AddNodesCount: ServiceCounterDataType :ivar AddReferencesCount: :vartype AddReferencesCount: ServiceCounterDataType :ivar DeleteNodesCount: :vartype DeleteNodesCount: ServiceCounterDataType :ivar DeleteReferencesCount: :vartype DeleteReferencesCount: ServiceCounterDataType :ivar BrowseCount: :vartype BrowseCount: ServiceCounterDataType :ivar BrowseNextCount: :vartype BrowseNextCount: ServiceCounterDataType :ivar TranslateBrowsePathsToNodeIdsCount: :vartype TranslateBrowsePathsToNodeIdsCount: ServiceCounterDataType :ivar QueryFirstCount: :vartype QueryFirstCount: ServiceCounterDataType :ivar QueryNextCount: :vartype QueryNextCount: ServiceCounterDataType :ivar RegisterNodesCount: :vartype RegisterNodesCount: ServiceCounterDataType :ivar UnregisterNodesCount: :vartype UnregisterNodesCount: ServiceCounterDataType ''' ua_types = { 'SessionId': 'NodeId', 'SessionName': 'String', 'ClientDescription': 'ApplicationDescription', 'ServerUri': 'String', 'EndpointUrl': 'String', 'LocaleIds': 'String', 'ActualSessionTimeout': 'Double', 'MaxResponseMessageSize': 'UInt32', 'ClientConnectionTime': 'DateTime', 'ClientLastContactTime': 'DateTime', 'CurrentSubscriptionsCount': 'UInt32', 'CurrentMonitoredItemsCount': 'UInt32', 'CurrentPublishRequestsInQueue': 'UInt32', 'TotalRequestCount': 'ServiceCounterDataType', 'UnauthorizedRequestCount': 'UInt32', 'ReadCount': 'ServiceCounterDataType', 'HistoryReadCount': 'ServiceCounterDataType', 'WriteCount': 'ServiceCounterDataType', 'HistoryUpdateCount': 'ServiceCounterDataType', 'CallCount': 'ServiceCounterDataType', 'CreateMonitoredItemsCount': 'ServiceCounterDataType', 'ModifyMonitoredItemsCount': 'ServiceCounterDataType', 'SetMonitoringModeCount': 'ServiceCounterDataType', 'SetTriggeringCount': 'ServiceCounterDataType', 'DeleteMonitoredItemsCount': 'ServiceCounterDataType', 'CreateSubscriptionCount': 'ServiceCounterDataType', 'ModifySubscriptionCount': 'ServiceCounterDataType', 'SetPublishingModeCount': 'ServiceCounterDataType', 'PublishCount': 'ServiceCounterDataType', 'RepublishCount': 'ServiceCounterDataType', 'TransferSubscriptionsCount': 'ServiceCounterDataType', 'DeleteSubscriptionsCount': 'ServiceCounterDataType', 'AddNodesCount': 'ServiceCounterDataType', 'AddReferencesCount': 'ServiceCounterDataType', 'DeleteNodesCount': 'ServiceCounterDataType', 'DeleteReferencesCount': 'ServiceCounterDataType', 'BrowseCount': 'ServiceCounterDataType', 'BrowseNextCount': 'ServiceCounterDataType', 'TranslateBrowsePathsToNodeIdsCount': 'ServiceCounterDataType', 'QueryFirstCount': 'ServiceCounterDataType', 'QueryNextCount': 'ServiceCounterDataType', 'RegisterNodesCount': 'ServiceCounterDataType', 'UnregisterNodesCount': 'ServiceCounterDataType', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.SessionId = NodeId() self.SessionName = None self.ClientDescription = ApplicationDescription() self.ServerUri = None self.EndpointUrl = None self.LocaleIds = [] self.ActualSessionTimeout = 0 self.MaxResponseMessageSize = 0 self.ClientConnectionTime = datetime.utcnow() self.ClientLastContactTime = datetime.utcnow() self.CurrentSubscriptionsCount = 0 self.CurrentMonitoredItemsCount = 0 self.CurrentPublishRequestsInQueue = 0 self.TotalRequestCount = ServiceCounterDataType() self.UnauthorizedRequestCount = 0 self.ReadCount = ServiceCounterDataType() self.HistoryReadCount = ServiceCounterDataType() self.WriteCount = ServiceCounterDataType() self.HistoryUpdateCount = ServiceCounterDataType() self.CallCount = ServiceCounterDataType() self.CreateMonitoredItemsCount = ServiceCounterDataType() self.ModifyMonitoredItemsCount = ServiceCounterDataType() self.SetMonitoringModeCount = ServiceCounterDataType() self.SetTriggeringCount = ServiceCounterDataType() self.DeleteMonitoredItemsCount = ServiceCounterDataType() self.CreateSubscriptionCount = ServiceCounterDataType() self.ModifySubscriptionCount = ServiceCounterDataType() self.SetPublishingModeCount = ServiceCounterDataType() self.PublishCount = ServiceCounterDataType() self.RepublishCount = ServiceCounterDataType() self.TransferSubscriptionsCount = ServiceCounterDataType() self.DeleteSubscriptionsCount = ServiceCounterDataType() self.AddNodesCount = ServiceCounterDataType() self.AddReferencesCount = ServiceCounterDataType() self.DeleteNodesCount = ServiceCounterDataType() self.DeleteReferencesCount = ServiceCounterDataType() self.BrowseCount = ServiceCounterDataType() self.BrowseNextCount = ServiceCounterDataType() self.TranslateBrowsePathsToNodeIdsCount = ServiceCounterDataType() self.QueryFirstCount = ServiceCounterDataType() self.QueryNextCount = ServiceCounterDataType() self.RegisterNodesCount = ServiceCounterDataType() self.UnregisterNodesCount = ServiceCounterDataType() self._freeze = True def to_binary(self): packet = [] packet.append(self.SessionId.to_binary()) packet.append(uabin.Primitives.String.pack(self.SessionName)) packet.append(self.ClientDescription.to_binary()) packet.append(uabin.Primitives.String.pack(self.ServerUri)) packet.append(uabin.Primitives.String.pack(self.EndpointUrl)) packet.append(uabin.Primitives.Int32.pack(len(self.LocaleIds))) for fieldname in self.LocaleIds: packet.append(uabin.Primitives.String.pack(fieldname)) packet.append(uabin.Primitives.Double.pack(self.ActualSessionTimeout)) packet.append(uabin.Primitives.UInt32.pack(self.MaxResponseMessageSize)) packet.append(uabin.Primitives.DateTime.pack(self.ClientConnectionTime)) packet.append(uabin.Primitives.DateTime.pack(self.ClientLastContactTime)) packet.append(uabin.Primitives.UInt32.pack(self.CurrentSubscriptionsCount)) packet.append(uabin.Primitives.UInt32.pack(self.CurrentMonitoredItemsCount)) packet.append(uabin.Primitives.UInt32.pack(self.CurrentPublishRequestsInQueue)) packet.append(self.TotalRequestCount.to_binary()) packet.append(uabin.Primitives.UInt32.pack(self.UnauthorizedRequestCount)) packet.append(self.ReadCount.to_binary()) packet.append(self.HistoryReadCount.to_binary()) packet.append(self.WriteCount.to_binary()) packet.append(self.HistoryUpdateCount.to_binary()) packet.append(self.CallCount.to_binary()) packet.append(self.CreateMonitoredItemsCount.to_binary()) packet.append(self.ModifyMonitoredItemsCount.to_binary()) packet.append(self.SetMonitoringModeCount.to_binary()) packet.append(self.SetTriggeringCount.to_binary()) packet.append(self.DeleteMonitoredItemsCount.to_binary()) packet.append(self.CreateSubscriptionCount.to_binary()) packet.append(self.ModifySubscriptionCount.to_binary()) packet.append(self.SetPublishingModeCount.to_binary()) packet.append(self.PublishCount.to_binary()) packet.append(self.RepublishCount.to_binary()) packet.append(self.TransferSubscriptionsCount.to_binary()) packet.append(self.DeleteSubscriptionsCount.to_binary()) packet.append(self.AddNodesCount.to_binary()) packet.append(self.AddReferencesCount.to_binary()) packet.append(self.DeleteNodesCount.to_binary()) packet.append(self.DeleteReferencesCount.to_binary()) packet.append(self.BrowseCount.to_binary()) packet.append(self.BrowseNextCount.to_binary()) packet.append(self.TranslateBrowsePathsToNodeIdsCount.to_binary()) packet.append(self.QueryFirstCount.to_binary()) packet.append(self.QueryNextCount.to_binary()) packet.append(self.RegisterNodesCount.to_binary()) packet.append(self.UnregisterNodesCount.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return SessionDiagnosticsDataType(data) def _binary_init(self, data): self.SessionId = NodeId.from_binary(data) self.SessionName = uabin.Primitives.String.unpack(data) self.ClientDescription = ApplicationDescription.from_binary(data) self.ServerUri = uabin.Primitives.String.unpack(data) self.EndpointUrl = uabin.Primitives.String.unpack(data) self.LocaleIds = uabin.Primitives.String.unpack_array(data) self.ActualSessionTimeout = uabin.Primitives.Double.unpack(data) self.MaxResponseMessageSize = uabin.Primitives.UInt32.unpack(data) self.ClientConnectionTime = uabin.Primitives.DateTime.unpack(data) self.ClientLastContactTime = uabin.Primitives.DateTime.unpack(data) self.CurrentSubscriptionsCount = uabin.Primitives.UInt32.unpack(data) self.CurrentMonitoredItemsCount = uabin.Primitives.UInt32.unpack(data) self.CurrentPublishRequestsInQueue = uabin.Primitives.UInt32.unpack(data) self.TotalRequestCount = ServiceCounterDataType.from_binary(data) self.UnauthorizedRequestCount = uabin.Primitives.UInt32.unpack(data) self.ReadCount = ServiceCounterDataType.from_binary(data) self.HistoryReadCount = ServiceCounterDataType.from_binary(data) self.WriteCount = ServiceCounterDataType.from_binary(data) self.HistoryUpdateCount = ServiceCounterDataType.from_binary(data) self.CallCount = ServiceCounterDataType.from_binary(data) self.CreateMonitoredItemsCount = ServiceCounterDataType.from_binary(data) self.ModifyMonitoredItemsCount = ServiceCounterDataType.from_binary(data) self.SetMonitoringModeCount = ServiceCounterDataType.from_binary(data) self.SetTriggeringCount = ServiceCounterDataType.from_binary(data) self.DeleteMonitoredItemsCount = ServiceCounterDataType.from_binary(data) self.CreateSubscriptionCount = ServiceCounterDataType.from_binary(data) self.ModifySubscriptionCount = ServiceCounterDataType.from_binary(data) self.SetPublishingModeCount = ServiceCounterDataType.from_binary(data) self.PublishCount = ServiceCounterDataType.from_binary(data) self.RepublishCount = ServiceCounterDataType.from_binary(data) self.TransferSubscriptionsCount = ServiceCounterDataType.from_binary(data) self.DeleteSubscriptionsCount = ServiceCounterDataType.from_binary(data) self.AddNodesCount = ServiceCounterDataType.from_binary(data) self.AddReferencesCount = ServiceCounterDataType.from_binary(data) self.DeleteNodesCount = ServiceCounterDataType.from_binary(data) self.DeleteReferencesCount = ServiceCounterDataType.from_binary(data) self.BrowseCount = ServiceCounterDataType.from_binary(data) self.BrowseNextCount = ServiceCounterDataType.from_binary(data) self.TranslateBrowsePathsToNodeIdsCount = ServiceCounterDataType.from_binary(data) self.QueryFirstCount = ServiceCounterDataType.from_binary(data) self.QueryNextCount = ServiceCounterDataType.from_binary(data) self.RegisterNodesCount = ServiceCounterDataType.from_binary(data) self.UnregisterNodesCount = ServiceCounterDataType.from_binary(data) def __str__(self): return 'SessionDiagnosticsDataType(' + 'SessionId:' + str(self.SessionId) + ', ' + \ 'SessionName:' + str(self.SessionName) + ', ' + \ 'ClientDescription:' + str(self.ClientDescription) + ', ' + \ 'ServerUri:' + str(self.ServerUri) + ', ' + \ 'EndpointUrl:' + str(self.EndpointUrl) + ', ' + \ 'LocaleIds:' + str(self.LocaleIds) + ', ' + \ 'ActualSessionTimeout:' + str(self.ActualSessionTimeout) + ', ' + \ 'MaxResponseMessageSize:' + str(self.MaxResponseMessageSize) + ', ' + \ 'ClientConnectionTime:' + str(self.ClientConnectionTime) + ', ' + \ 'ClientLastContactTime:' + str(self.ClientLastContactTime) + ', ' + \ 'CurrentSubscriptionsCount:' + str(self.CurrentSubscriptionsCount) + ', ' + \ 'CurrentMonitoredItemsCount:' + str(self.CurrentMonitoredItemsCount) + ', ' + \ 'CurrentPublishRequestsInQueue:' + str(self.CurrentPublishRequestsInQueue) + ', ' + \ 'TotalRequestCount:' + str(self.TotalRequestCount) + ', ' + \ 'UnauthorizedRequestCount:' + str(self.UnauthorizedRequestCount) + ', ' + \ 'ReadCount:' + str(self.ReadCount) + ', ' + \ 'HistoryReadCount:' + str(self.HistoryReadCount) + ', ' + \ 'WriteCount:' + str(self.WriteCount) + ', ' + \ 'HistoryUpdateCount:' + str(self.HistoryUpdateCount) + ', ' + \ 'CallCount:' + str(self.CallCount) + ', ' + \ 'CreateMonitoredItemsCount:' + str(self.CreateMonitoredItemsCount) + ', ' + \ 'ModifyMonitoredItemsCount:' + str(self.ModifyMonitoredItemsCount) + ', ' + \ 'SetMonitoringModeCount:' + str(self.SetMonitoringModeCount) + ', ' + \ 'SetTriggeringCount:' + str(self.SetTriggeringCount) + ', ' + \ 'DeleteMonitoredItemsCount:' + str(self.DeleteMonitoredItemsCount) + ', ' + \ 'CreateSubscriptionCount:' + str(self.CreateSubscriptionCount) + ', ' + \ 'ModifySubscriptionCount:' + str(self.ModifySubscriptionCount) + ', ' + \ 'SetPublishingModeCount:' + str(self.SetPublishingModeCount) + ', ' + \ 'PublishCount:' + str(self.PublishCount) + ', ' + \ 'RepublishCount:' + str(self.RepublishCount) + ', ' + \ 'TransferSubscriptionsCount:' + str(self.TransferSubscriptionsCount) + ', ' + \ 'DeleteSubscriptionsCount:' + str(self.DeleteSubscriptionsCount) + ', ' + \ 'AddNodesCount:' + str(self.AddNodesCount) + ', ' + \ 'AddReferencesCount:' + str(self.AddReferencesCount) + ', ' + \ 'DeleteNodesCount:' + str(self.DeleteNodesCount) + ', ' + \ 'DeleteReferencesCount:' + str(self.DeleteReferencesCount) + ', ' + \ 'BrowseCount:' + str(self.BrowseCount) + ', ' + \ 'BrowseNextCount:' + str(self.BrowseNextCount) + ', ' + \ 'TranslateBrowsePathsToNodeIdsCount:' + str(self.TranslateBrowsePathsToNodeIdsCount) + ', ' + \ 'QueryFirstCount:' + str(self.QueryFirstCount) + ', ' + \ 'QueryNextCount:' + str(self.QueryNextCount) + ', ' + \ 'RegisterNodesCount:' + str(self.RegisterNodesCount) + ', ' + \ 'UnregisterNodesCount:' + str(self.UnregisterNodesCount) + ')' __repr__ = __str__ class SessionSecurityDiagnosticsDataType(FrozenClass): ''' :ivar SessionId: :vartype SessionId: NodeId :ivar ClientUserIdOfSession: :vartype ClientUserIdOfSession: String :ivar ClientUserIdHistory: :vartype ClientUserIdHistory: String :ivar AuthenticationMechanism: :vartype AuthenticationMechanism: String :ivar Encoding: :vartype Encoding: String :ivar TransportProtocol: :vartype TransportProtocol: String :ivar SecurityMode: :vartype SecurityMode: MessageSecurityMode :ivar SecurityPolicyUri: :vartype SecurityPolicyUri: String :ivar ClientCertificate: :vartype ClientCertificate: ByteString ''' ua_types = { 'SessionId': 'NodeId', 'ClientUserIdOfSession': 'String', 'ClientUserIdHistory': 'String', 'AuthenticationMechanism': 'String', 'Encoding': 'String', 'TransportProtocol': 'String', 'SecurityMode': 'MessageSecurityMode', 'SecurityPolicyUri': 'String', 'ClientCertificate': 'ByteString', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.SessionId = NodeId() self.ClientUserIdOfSession = None self.ClientUserIdHistory = [] self.AuthenticationMechanism = None self.Encoding = None self.TransportProtocol = None self.SecurityMode = MessageSecurityMode(0) self.SecurityPolicyUri = None self.ClientCertificate = None self._freeze = True def to_binary(self): packet = [] packet.append(self.SessionId.to_binary()) packet.append(uabin.Primitives.String.pack(self.ClientUserIdOfSession)) packet.append(uabin.Primitives.Int32.pack(len(self.ClientUserIdHistory))) for fieldname in self.ClientUserIdHistory: packet.append(uabin.Primitives.String.pack(fieldname)) packet.append(uabin.Primitives.String.pack(self.AuthenticationMechanism)) packet.append(uabin.Primitives.String.pack(self.Encoding)) packet.append(uabin.Primitives.String.pack(self.TransportProtocol)) packet.append(uabin.Primitives.UInt32.pack(self.SecurityMode.value)) packet.append(uabin.Primitives.String.pack(self.SecurityPolicyUri)) packet.append(uabin.Primitives.ByteString.pack(self.ClientCertificate)) return b''.join(packet) @staticmethod def from_binary(data): return SessionSecurityDiagnosticsDataType(data) def _binary_init(self, data): self.SessionId = NodeId.from_binary(data) self.ClientUserIdOfSession = uabin.Primitives.String.unpack(data) self.ClientUserIdHistory = uabin.Primitives.String.unpack_array(data) self.AuthenticationMechanism = uabin.Primitives.String.unpack(data) self.Encoding = uabin.Primitives.String.unpack(data) self.TransportProtocol = uabin.Primitives.String.unpack(data) self.SecurityMode = MessageSecurityMode(uabin.Primitives.UInt32.unpack(data)) self.SecurityPolicyUri = uabin.Primitives.String.unpack(data) self.ClientCertificate = uabin.Primitives.ByteString.unpack(data) def __str__(self): return 'SessionSecurityDiagnosticsDataType(' + 'SessionId:' + str(self.SessionId) + ', ' + \ 'ClientUserIdOfSession:' + str(self.ClientUserIdOfSession) + ', ' + \ 'ClientUserIdHistory:' + str(self.ClientUserIdHistory) + ', ' + \ 'AuthenticationMechanism:' + str(self.AuthenticationMechanism) + ', ' + \ 'Encoding:' + str(self.Encoding) + ', ' + \ 'TransportProtocol:' + str(self.TransportProtocol) + ', ' + \ 'SecurityMode:' + str(self.SecurityMode) + ', ' + \ 'SecurityPolicyUri:' + str(self.SecurityPolicyUri) + ', ' + \ 'ClientCertificate:' + str(self.ClientCertificate) + ')' __repr__ = __str__ class ServiceCounterDataType(FrozenClass): ''' :ivar TotalCount: :vartype TotalCount: UInt32 :ivar ErrorCount: :vartype ErrorCount: UInt32 ''' ua_types = { 'TotalCount': 'UInt32', 'ErrorCount': 'UInt32', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.TotalCount = 0 self.ErrorCount = 0 self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.UInt32.pack(self.TotalCount)) packet.append(uabin.Primitives.UInt32.pack(self.ErrorCount)) return b''.join(packet) @staticmethod def from_binary(data): return ServiceCounterDataType(data) def _binary_init(self, data): self.TotalCount = uabin.Primitives.UInt32.unpack(data) self.ErrorCount = uabin.Primitives.UInt32.unpack(data) def __str__(self): return 'ServiceCounterDataType(' + 'TotalCount:' + str(self.TotalCount) + ', ' + \ 'ErrorCount:' + str(self.ErrorCount) + ')' __repr__ = __str__ class StatusResult(FrozenClass): ''' :ivar StatusCode: :vartype StatusCode: StatusCode :ivar DiagnosticInfo: :vartype DiagnosticInfo: DiagnosticInfo ''' ua_types = { 'StatusCode': 'StatusCode', 'DiagnosticInfo': 'DiagnosticInfo', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.StatusCode = StatusCode() self.DiagnosticInfo = DiagnosticInfo() self._freeze = True def to_binary(self): packet = [] packet.append(self.StatusCode.to_binary()) packet.append(self.DiagnosticInfo.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return StatusResult(data) def _binary_init(self, data): self.StatusCode = StatusCode.from_binary(data) self.DiagnosticInfo = DiagnosticInfo.from_binary(data) def __str__(self): return 'StatusResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ 'DiagnosticInfo:' + str(self.DiagnosticInfo) + ')' __repr__ = __str__ class SubscriptionDiagnosticsDataType(FrozenClass): ''' :ivar SessionId: :vartype SessionId: NodeId :ivar SubscriptionId: :vartype SubscriptionId: UInt32 :ivar Priority: :vartype Priority: Byte :ivar PublishingInterval: :vartype PublishingInterval: Double :ivar MaxKeepAliveCount: :vartype MaxKeepAliveCount: UInt32 :ivar MaxLifetimeCount: :vartype MaxLifetimeCount: UInt32 :ivar MaxNotificationsPerPublish: :vartype MaxNotificationsPerPublish: UInt32 :ivar PublishingEnabled: :vartype PublishingEnabled: Boolean :ivar ModifyCount: :vartype ModifyCount: UInt32 :ivar EnableCount: :vartype EnableCount: UInt32 :ivar DisableCount: :vartype DisableCount: UInt32 :ivar RepublishRequestCount: :vartype RepublishRequestCount: UInt32 :ivar RepublishMessageRequestCount: :vartype RepublishMessageRequestCount: UInt32 :ivar RepublishMessageCount: :vartype RepublishMessageCount: UInt32 :ivar TransferRequestCount: :vartype TransferRequestCount: UInt32 :ivar TransferredToAltClientCount: :vartype TransferredToAltClientCount: UInt32 :ivar TransferredToSameClientCount: :vartype TransferredToSameClientCount: UInt32 :ivar PublishRequestCount: :vartype PublishRequestCount: UInt32 :ivar DataChangeNotificationsCount: :vartype DataChangeNotificationsCount: UInt32 :ivar EventNotificationsCount: :vartype EventNotificationsCount: UInt32 :ivar NotificationsCount: :vartype NotificationsCount: UInt32 :ivar LatePublishRequestCount: :vartype LatePublishRequestCount: UInt32 :ivar CurrentKeepAliveCount: :vartype CurrentKeepAliveCount: UInt32 :ivar CurrentLifetimeCount: :vartype CurrentLifetimeCount: UInt32 :ivar UnacknowledgedMessageCount: :vartype UnacknowledgedMessageCount: UInt32 :ivar DiscardedMessageCount: :vartype DiscardedMessageCount: UInt32 :ivar MonitoredItemCount: :vartype MonitoredItemCount: UInt32 :ivar DisabledMonitoredItemCount: :vartype DisabledMonitoredItemCount: UInt32 :ivar MonitoringQueueOverflowCount: :vartype MonitoringQueueOverflowCount: UInt32 :ivar NextSequenceNumber: :vartype NextSequenceNumber: UInt32 :ivar EventQueueOverFlowCount: :vartype EventQueueOverFlowCount: UInt32 ''' ua_types = { 'SessionId': 'NodeId', 'SubscriptionId': 'UInt32', 'Priority': 'Byte', 'PublishingInterval': 'Double', 'MaxKeepAliveCount': 'UInt32', 'MaxLifetimeCount': 'UInt32', 'MaxNotificationsPerPublish': 'UInt32', 'PublishingEnabled': 'Boolean', 'ModifyCount': 'UInt32', 'EnableCount': 'UInt32', 'DisableCount': 'UInt32', 'RepublishRequestCount': 'UInt32', 'RepublishMessageRequestCount': 'UInt32', 'RepublishMessageCount': 'UInt32', 'TransferRequestCount': 'UInt32', 'TransferredToAltClientCount': 'UInt32', 'TransferredToSameClientCount': 'UInt32', 'PublishRequestCount': 'UInt32', 'DataChangeNotificationsCount': 'UInt32', 'EventNotificationsCount': 'UInt32', 'NotificationsCount': 'UInt32', 'LatePublishRequestCount': 'UInt32', 'CurrentKeepAliveCount': 'UInt32', 'CurrentLifetimeCount': 'UInt32', 'UnacknowledgedMessageCount': 'UInt32', 'DiscardedMessageCount': 'UInt32', 'MonitoredItemCount': 'UInt32', 'DisabledMonitoredItemCount': 'UInt32', 'MonitoringQueueOverflowCount': 'UInt32', 'NextSequenceNumber': 'UInt32', 'EventQueueOverFlowCount': 'UInt32', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.SessionId = NodeId() self.SubscriptionId = 0 self.Priority = 0 self.PublishingInterval = 0 self.MaxKeepAliveCount = 0 self.MaxLifetimeCount = 0 self.MaxNotificationsPerPublish = 0 self.PublishingEnabled = True self.ModifyCount = 0 self.EnableCount = 0 self.DisableCount = 0 self.RepublishRequestCount = 0 self.RepublishMessageRequestCount = 0 self.RepublishMessageCount = 0 self.TransferRequestCount = 0 self.TransferredToAltClientCount = 0 self.TransferredToSameClientCount = 0 self.PublishRequestCount = 0 self.DataChangeNotificationsCount = 0 self.EventNotificationsCount = 0 self.NotificationsCount = 0 self.LatePublishRequestCount = 0 self.CurrentKeepAliveCount = 0 self.CurrentLifetimeCount = 0 self.UnacknowledgedMessageCount = 0 self.DiscardedMessageCount = 0 self.MonitoredItemCount = 0 self.DisabledMonitoredItemCount = 0 self.MonitoringQueueOverflowCount = 0 self.NextSequenceNumber = 0 self.EventQueueOverFlowCount = 0 self._freeze = True def to_binary(self): packet = [] packet.append(self.SessionId.to_binary()) packet.append(uabin.Primitives.UInt32.pack(self.SubscriptionId)) packet.append(uabin.Primitives.Byte.pack(self.Priority)) packet.append(uabin.Primitives.Double.pack(self.PublishingInterval)) packet.append(uabin.Primitives.UInt32.pack(self.MaxKeepAliveCount)) packet.append(uabin.Primitives.UInt32.pack(self.MaxLifetimeCount)) packet.append(uabin.Primitives.UInt32.pack(self.MaxNotificationsPerPublish)) packet.append(uabin.Primitives.Boolean.pack(self.PublishingEnabled)) packet.append(uabin.Primitives.UInt32.pack(self.ModifyCount)) packet.append(uabin.Primitives.UInt32.pack(self.EnableCount)) packet.append(uabin.Primitives.UInt32.pack(self.DisableCount)) packet.append(uabin.Primitives.UInt32.pack(self.RepublishRequestCount)) packet.append(uabin.Primitives.UInt32.pack(self.RepublishMessageRequestCount)) packet.append(uabin.Primitives.UInt32.pack(self.RepublishMessageCount)) packet.append(uabin.Primitives.UInt32.pack(self.TransferRequestCount)) packet.append(uabin.Primitives.UInt32.pack(self.TransferredToAltClientCount)) packet.append(uabin.Primitives.UInt32.pack(self.TransferredToSameClientCount)) packet.append(uabin.Primitives.UInt32.pack(self.PublishRequestCount)) packet.append(uabin.Primitives.UInt32.pack(self.DataChangeNotificationsCount)) packet.append(uabin.Primitives.UInt32.pack(self.EventNotificationsCount)) packet.append(uabin.Primitives.UInt32.pack(self.NotificationsCount)) packet.append(uabin.Primitives.UInt32.pack(self.LatePublishRequestCount)) packet.append(uabin.Primitives.UInt32.pack(self.CurrentKeepAliveCount)) packet.append(uabin.Primitives.UInt32.pack(self.CurrentLifetimeCount)) packet.append(uabin.Primitives.UInt32.pack(self.UnacknowledgedMessageCount)) packet.append(uabin.Primitives.UInt32.pack(self.DiscardedMessageCount)) packet.append(uabin.Primitives.UInt32.pack(self.MonitoredItemCount)) packet.append(uabin.Primitives.UInt32.pack(self.DisabledMonitoredItemCount)) packet.append(uabin.Primitives.UInt32.pack(self.MonitoringQueueOverflowCount)) packet.append(uabin.Primitives.UInt32.pack(self.NextSequenceNumber)) packet.append(uabin.Primitives.UInt32.pack(self.EventQueueOverFlowCount)) return b''.join(packet) @staticmethod def from_binary(data): return SubscriptionDiagnosticsDataType(data) def _binary_init(self, data): self.SessionId = NodeId.from_binary(data) self.SubscriptionId = uabin.Primitives.UInt32.unpack(data) self.Priority = uabin.Primitives.Byte.unpack(data) self.PublishingInterval = uabin.Primitives.Double.unpack(data) self.MaxKeepAliveCount = uabin.Primitives.UInt32.unpack(data) self.MaxLifetimeCount = uabin.Primitives.UInt32.unpack(data) self.MaxNotificationsPerPublish = uabin.Primitives.UInt32.unpack(data) self.PublishingEnabled = uabin.Primitives.Boolean.unpack(data) self.ModifyCount = uabin.Primitives.UInt32.unpack(data) self.EnableCount = uabin.Primitives.UInt32.unpack(data) self.DisableCount = uabin.Primitives.UInt32.unpack(data) self.RepublishRequestCount = uabin.Primitives.UInt32.unpack(data) self.RepublishMessageRequestCount = uabin.Primitives.UInt32.unpack(data) self.RepublishMessageCount = uabin.Primitives.UInt32.unpack(data) self.TransferRequestCount = uabin.Primitives.UInt32.unpack(data) self.TransferredToAltClientCount = uabin.Primitives.UInt32.unpack(data) self.TransferredToSameClientCount = uabin.Primitives.UInt32.unpack(data) self.PublishRequestCount = uabin.Primitives.UInt32.unpack(data) self.DataChangeNotificationsCount = uabin.Primitives.UInt32.unpack(data) self.EventNotificationsCount = uabin.Primitives.UInt32.unpack(data) self.NotificationsCount = uabin.Primitives.UInt32.unpack(data) self.LatePublishRequestCount = uabin.Primitives.UInt32.unpack(data) self.CurrentKeepAliveCount = uabin.Primitives.UInt32.unpack(data) self.CurrentLifetimeCount = uabin.Primitives.UInt32.unpack(data) self.UnacknowledgedMessageCount = uabin.Primitives.UInt32.unpack(data) self.DiscardedMessageCount = uabin.Primitives.UInt32.unpack(data) self.MonitoredItemCount = uabin.Primitives.UInt32.unpack(data) self.DisabledMonitoredItemCount = uabin.Primitives.UInt32.unpack(data) self.MonitoringQueueOverflowCount = uabin.Primitives.UInt32.unpack(data) self.NextSequenceNumber = uabin.Primitives.UInt32.unpack(data) self.EventQueueOverFlowCount = uabin.Primitives.UInt32.unpack(data) def __str__(self): return 'SubscriptionDiagnosticsDataType(' + 'SessionId:' + str(self.SessionId) + ', ' + \ 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ 'Priority:' + str(self.Priority) + ', ' + \ 'PublishingInterval:' + str(self.PublishingInterval) + ', ' + \ 'MaxKeepAliveCount:' + str(self.MaxKeepAliveCount) + ', ' + \ 'MaxLifetimeCount:' + str(self.MaxLifetimeCount) + ', ' + \ 'MaxNotificationsPerPublish:' + str(self.MaxNotificationsPerPublish) + ', ' + \ 'PublishingEnabled:' + str(self.PublishingEnabled) + ', ' + \ 'ModifyCount:' + str(self.ModifyCount) + ', ' + \ 'EnableCount:' + str(self.EnableCount) + ', ' + \ 'DisableCount:' + str(self.DisableCount) + ', ' + \ 'RepublishRequestCount:' + str(self.RepublishRequestCount) + ', ' + \ 'RepublishMessageRequestCount:' + str(self.RepublishMessageRequestCount) + ', ' + \ 'RepublishMessageCount:' + str(self.RepublishMessageCount) + ', ' + \ 'TransferRequestCount:' + str(self.TransferRequestCount) + ', ' + \ 'TransferredToAltClientCount:' + str(self.TransferredToAltClientCount) + ', ' + \ 'TransferredToSameClientCount:' + str(self.TransferredToSameClientCount) + ', ' + \ 'PublishRequestCount:' + str(self.PublishRequestCount) + ', ' + \ 'DataChangeNotificationsCount:' + str(self.DataChangeNotificationsCount) + ', ' + \ 'EventNotificationsCount:' + str(self.EventNotificationsCount) + ', ' + \ 'NotificationsCount:' + str(self.NotificationsCount) + ', ' + \ 'LatePublishRequestCount:' + str(self.LatePublishRequestCount) + ', ' + \ 'CurrentKeepAliveCount:' + str(self.CurrentKeepAliveCount) + ', ' + \ 'CurrentLifetimeCount:' + str(self.CurrentLifetimeCount) + ', ' + \ 'UnacknowledgedMessageCount:' + str(self.UnacknowledgedMessageCount) + ', ' + \ 'DiscardedMessageCount:' + str(self.DiscardedMessageCount) + ', ' + \ 'MonitoredItemCount:' + str(self.MonitoredItemCount) + ', ' + \ 'DisabledMonitoredItemCount:' + str(self.DisabledMonitoredItemCount) + ', ' + \ 'MonitoringQueueOverflowCount:' + str(self.MonitoringQueueOverflowCount) + ', ' + \ 'NextSequenceNumber:' + str(self.NextSequenceNumber) + ', ' + \ 'EventQueueOverFlowCount:' + str(self.EventQueueOverFlowCount) + ')' __repr__ = __str__ class ModelChangeStructureDataType(FrozenClass): ''' :ivar Affected: :vartype Affected: NodeId :ivar AffectedType: :vartype AffectedType: NodeId :ivar Verb: :vartype Verb: Byte ''' ua_types = { 'Affected': 'NodeId', 'AffectedType': 'NodeId', 'Verb': 'Byte', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.Affected = NodeId() self.AffectedType = NodeId() self.Verb = 0 self._freeze = True def to_binary(self): packet = [] packet.append(self.Affected.to_binary()) packet.append(self.AffectedType.to_binary()) packet.append(uabin.Primitives.Byte.pack(self.Verb)) return b''.join(packet) @staticmethod def from_binary(data): return ModelChangeStructureDataType(data) def _binary_init(self, data): self.Affected = NodeId.from_binary(data) self.AffectedType = NodeId.from_binary(data) self.Verb = uabin.Primitives.Byte.unpack(data) def __str__(self): return 'ModelChangeStructureDataType(' + 'Affected:' + str(self.Affected) + ', ' + \ 'AffectedType:' + str(self.AffectedType) + ', ' + \ 'Verb:' + str(self.Verb) + ')' __repr__ = __str__ class SemanticChangeStructureDataType(FrozenClass): ''' :ivar Affected: :vartype Affected: NodeId :ivar AffectedType: :vartype AffectedType: NodeId ''' ua_types = { 'Affected': 'NodeId', 'AffectedType': 'NodeId', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.Affected = NodeId() self.AffectedType = NodeId() self._freeze = True def to_binary(self): packet = [] packet.append(self.Affected.to_binary()) packet.append(self.AffectedType.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return SemanticChangeStructureDataType(data) def _binary_init(self, data): self.Affected = NodeId.from_binary(data) self.AffectedType = NodeId.from_binary(data) def __str__(self): return 'SemanticChangeStructureDataType(' + 'Affected:' + str(self.Affected) + ', ' + \ 'AffectedType:' + str(self.AffectedType) + ')' __repr__ = __str__ class Range(FrozenClass): ''' :ivar Low: :vartype Low: Double :ivar High: :vartype High: Double ''' ua_types = { 'Low': 'Double', 'High': 'Double', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.Low = 0 self.High = 0 self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.Double.pack(self.Low)) packet.append(uabin.Primitives.Double.pack(self.High)) return b''.join(packet) @staticmethod def from_binary(data): return Range(data) def _binary_init(self, data): self.Low = uabin.Primitives.Double.unpack(data) self.High = uabin.Primitives.Double.unpack(data) def __str__(self): return 'Range(' + 'Low:' + str(self.Low) + ', ' + \ 'High:' + str(self.High) + ')' __repr__ = __str__ class EUInformation(FrozenClass): ''' :ivar NamespaceUri: :vartype NamespaceUri: String :ivar UnitId: :vartype UnitId: Int32 :ivar DisplayName: :vartype DisplayName: LocalizedText :ivar Description: :vartype Description: LocalizedText ''' ua_types = { 'NamespaceUri': 'String', 'UnitId': 'Int32', 'DisplayName': 'LocalizedText', 'Description': 'LocalizedText', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.NamespaceUri = None self.UnitId = 0 self.DisplayName = LocalizedText() self.Description = LocalizedText() self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.String.pack(self.NamespaceUri)) packet.append(uabin.Primitives.Int32.pack(self.UnitId)) packet.append(self.DisplayName.to_binary()) packet.append(self.Description.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return EUInformation(data) def _binary_init(self, data): self.NamespaceUri = uabin.Primitives.String.unpack(data) self.UnitId = uabin.Primitives.Int32.unpack(data) self.DisplayName = LocalizedText.from_binary(data) self.Description = LocalizedText.from_binary(data) def __str__(self): return 'EUInformation(' + 'NamespaceUri:' + str(self.NamespaceUri) + ', ' + \ 'UnitId:' + str(self.UnitId) + ', ' + \ 'DisplayName:' + str(self.DisplayName) + ', ' + \ 'Description:' + str(self.Description) + ')' __repr__ = __str__ class ComplexNumberType(FrozenClass): ''' :ivar Real: :vartype Real: Float :ivar Imaginary: :vartype Imaginary: Float ''' ua_types = { 'Real': 'Float', 'Imaginary': 'Float', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.Real = 0 self.Imaginary = 0 self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.Float.pack(self.Real)) packet.append(uabin.Primitives.Float.pack(self.Imaginary)) return b''.join(packet) @staticmethod def from_binary(data): return ComplexNumberType(data) def _binary_init(self, data): self.Real = uabin.Primitives.Float.unpack(data) self.Imaginary = uabin.Primitives.Float.unpack(data) def __str__(self): return 'ComplexNumberType(' + 'Real:' + str(self.Real) + ', ' + \ 'Imaginary:' + str(self.Imaginary) + ')' __repr__ = __str__ class DoubleComplexNumberType(FrozenClass): ''' :ivar Real: :vartype Real: Double :ivar Imaginary: :vartype Imaginary: Double ''' ua_types = { 'Real': 'Double', 'Imaginary': 'Double', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.Real = 0 self.Imaginary = 0 self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.Double.pack(self.Real)) packet.append(uabin.Primitives.Double.pack(self.Imaginary)) return b''.join(packet) @staticmethod def from_binary(data): return DoubleComplexNumberType(data) def _binary_init(self, data): self.Real = uabin.Primitives.Double.unpack(data) self.Imaginary = uabin.Primitives.Double.unpack(data) def __str__(self): return 'DoubleComplexNumberType(' + 'Real:' + str(self.Real) + ', ' + \ 'Imaginary:' + str(self.Imaginary) + ')' __repr__ = __str__ class AxisInformation(FrozenClass): ''' :ivar EngineeringUnits: :vartype EngineeringUnits: EUInformation :ivar EURange: :vartype EURange: Range :ivar Title: :vartype Title: LocalizedText :ivar AxisScaleType: :vartype AxisScaleType: AxisScaleEnumeration :ivar AxisSteps: :vartype AxisSteps: Double ''' ua_types = { 'EngineeringUnits': 'EUInformation', 'EURange': 'Range', 'Title': 'LocalizedText', 'AxisScaleType': 'AxisScaleEnumeration', 'AxisSteps': 'Double', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.EngineeringUnits = EUInformation() self.EURange = Range() self.Title = LocalizedText() self.AxisScaleType = AxisScaleEnumeration(0) self.AxisSteps = [] self._freeze = True def to_binary(self): packet = [] packet.append(self.EngineeringUnits.to_binary()) packet.append(self.EURange.to_binary()) packet.append(self.Title.to_binary()) packet.append(uabin.Primitives.UInt32.pack(self.AxisScaleType.value)) packet.append(uabin.Primitives.Int32.pack(len(self.AxisSteps))) for fieldname in self.AxisSteps: packet.append(uabin.Primitives.Double.pack(fieldname)) return b''.join(packet) @staticmethod def from_binary(data): return AxisInformation(data) def _binary_init(self, data): self.EngineeringUnits = EUInformation.from_binary(data) self.EURange = Range.from_binary(data) self.Title = LocalizedText.from_binary(data) self.AxisScaleType = AxisScaleEnumeration(uabin.Primitives.UInt32.unpack(data)) self.AxisSteps = uabin.Primitives.Double.unpack_array(data) def __str__(self): return 'AxisInformation(' + 'EngineeringUnits:' + str(self.EngineeringUnits) + ', ' + \ 'EURange:' + str(self.EURange) + ', ' + \ 'Title:' + str(self.Title) + ', ' + \ 'AxisScaleType:' + str(self.AxisScaleType) + ', ' + \ 'AxisSteps:' + str(self.AxisSteps) + ')' __repr__ = __str__ class XVType(FrozenClass): ''' :ivar X: :vartype X: Double :ivar Value: :vartype Value: Float ''' ua_types = { 'X': 'Double', 'Value': 'Float', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.X = 0 self.Value = 0 self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.Double.pack(self.X)) packet.append(uabin.Primitives.Float.pack(self.Value)) return b''.join(packet) @staticmethod def from_binary(data): return XVType(data) def _binary_init(self, data): self.X = uabin.Primitives.Double.unpack(data) self.Value = uabin.Primitives.Float.unpack(data) def __str__(self): return 'XVType(' + 'X:' + str(self.X) + ', ' + \ 'Value:' + str(self.Value) + ')' __repr__ = __str__ class ProgramDiagnosticDataType(FrozenClass): ''' :ivar CreateSessionId: :vartype CreateSessionId: NodeId :ivar CreateClientName: :vartype CreateClientName: String :ivar InvocationCreationTime: :vartype InvocationCreationTime: DateTime :ivar LastTransitionTime: :vartype LastTransitionTime: DateTime :ivar LastMethodCall: :vartype LastMethodCall: String :ivar LastMethodSessionId: :vartype LastMethodSessionId: NodeId :ivar LastMethodInputArguments: :vartype LastMethodInputArguments: Argument :ivar LastMethodOutputArguments: :vartype LastMethodOutputArguments: Argument :ivar LastMethodCallTime: :vartype LastMethodCallTime: DateTime :ivar LastMethodReturnStatus: :vartype LastMethodReturnStatus: StatusResult ''' ua_types = { 'CreateSessionId': 'NodeId', 'CreateClientName': 'String', 'InvocationCreationTime': 'DateTime', 'LastTransitionTime': 'DateTime', 'LastMethodCall': 'String', 'LastMethodSessionId': 'NodeId', 'LastMethodInputArguments': 'Argument', 'LastMethodOutputArguments': 'Argument', 'LastMethodCallTime': 'DateTime', 'LastMethodReturnStatus': 'StatusResult', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.CreateSessionId = NodeId() self.CreateClientName = None self.InvocationCreationTime = datetime.utcnow() self.LastTransitionTime = datetime.utcnow() self.LastMethodCall = None self.LastMethodSessionId = NodeId() self.LastMethodInputArguments = [] self.LastMethodOutputArguments = [] self.LastMethodCallTime = datetime.utcnow() self.LastMethodReturnStatus = StatusResult() self._freeze = True def to_binary(self): packet = [] packet.append(self.CreateSessionId.to_binary()) packet.append(uabin.Primitives.String.pack(self.CreateClientName)) packet.append(uabin.Primitives.DateTime.pack(self.InvocationCreationTime)) packet.append(uabin.Primitives.DateTime.pack(self.LastTransitionTime)) packet.append(uabin.Primitives.String.pack(self.LastMethodCall)) packet.append(self.LastMethodSessionId.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.LastMethodInputArguments))) for fieldname in self.LastMethodInputArguments: packet.append(fieldname.to_binary()) packet.append(uabin.Primitives.Int32.pack(len(self.LastMethodOutputArguments))) for fieldname in self.LastMethodOutputArguments: packet.append(fieldname.to_binary()) packet.append(uabin.Primitives.DateTime.pack(self.LastMethodCallTime)) packet.append(self.LastMethodReturnStatus.to_binary()) return b''.join(packet) @staticmethod def from_binary(data): return ProgramDiagnosticDataType(data) def _binary_init(self, data): self.CreateSessionId = NodeId.from_binary(data) self.CreateClientName = uabin.Primitives.String.unpack(data) self.InvocationCreationTime = uabin.Primitives.DateTime.unpack(data) self.LastTransitionTime = uabin.Primitives.DateTime.unpack(data) self.LastMethodCall = uabin.Primitives.String.unpack(data) self.LastMethodSessionId = NodeId.from_binary(data) length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(Argument.from_binary(data)) self.LastMethodInputArguments = array length = uabin.Primitives.Int32.unpack(data) array = [] if length != -1: for _ in range(0, length): array.append(Argument.from_binary(data)) self.LastMethodOutputArguments = array self.LastMethodCallTime = uabin.Primitives.DateTime.unpack(data) self.LastMethodReturnStatus = StatusResult.from_binary(data) def __str__(self): return 'ProgramDiagnosticDataType(' + 'CreateSessionId:' + str(self.CreateSessionId) + ', ' + \ 'CreateClientName:' + str(self.CreateClientName) + ', ' + \ 'InvocationCreationTime:' + str(self.InvocationCreationTime) + ', ' + \ 'LastTransitionTime:' + str(self.LastTransitionTime) + ', ' + \ 'LastMethodCall:' + str(self.LastMethodCall) + ', ' + \ 'LastMethodSessionId:' + str(self.LastMethodSessionId) + ', ' + \ 'LastMethodInputArguments:' + str(self.LastMethodInputArguments) + ', ' + \ 'LastMethodOutputArguments:' + str(self.LastMethodOutputArguments) + ', ' + \ 'LastMethodCallTime:' + str(self.LastMethodCallTime) + ', ' + \ 'LastMethodReturnStatus:' + str(self.LastMethodReturnStatus) + ')' __repr__ = __str__ class Annotation(FrozenClass): ''' :ivar Message: :vartype Message: String :ivar UserName: :vartype UserName: String :ivar AnnotationTime: :vartype AnnotationTime: DateTime ''' ua_types = { 'Message': 'String', 'UserName': 'String', 'AnnotationTime': 'DateTime', } def __init__(self, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.Message = None self.UserName = None self.AnnotationTime = datetime.utcnow() self._freeze = True def to_binary(self): packet = [] packet.append(uabin.Primitives.String.pack(self.Message)) packet.append(uabin.Primitives.String.pack(self.UserName)) packet.append(uabin.Primitives.DateTime.pack(self.AnnotationTime)) return b''.join(packet) @staticmethod def from_binary(data): return Annotation(data) def _binary_init(self, data): self.Message = uabin.Primitives.String.unpack(data) self.UserName = uabin.Primitives.String.unpack(data) self.AnnotationTime = uabin.Primitives.DateTime.unpack(data) def __str__(self): return 'Annotation(' + 'Message:' + str(self.Message) + ', ' + \ 'UserName:' + str(self.UserName) + ', ' + \ 'AnnotationTime:' + str(self.AnnotationTime) + ')' __repr__ = __str__ nid = FourByteNodeId(ObjectIds.TrustListDataType_Encoding_DefaultBinary) extension_object_classes[nid] = TrustListDataType extension_object_ids['TrustListDataType'] = nid nid = FourByteNodeId(ObjectIds.Argument_Encoding_DefaultBinary) extension_object_classes[nid] = Argument extension_object_ids['Argument'] = nid nid = FourByteNodeId(ObjectIds.EnumValueType_Encoding_DefaultBinary) extension_object_classes[nid] = EnumValueType extension_object_ids['EnumValueType'] = nid nid = FourByteNodeId(ObjectIds.OptionSet_Encoding_DefaultBinary) extension_object_classes[nid] = OptionSet extension_object_ids['OptionSet'] = nid nid = FourByteNodeId(ObjectIds.Union_Encoding_DefaultBinary) extension_object_classes[nid] = Union extension_object_ids['Union'] = nid nid = FourByteNodeId(ObjectIds.TimeZoneDataType_Encoding_DefaultBinary) extension_object_classes[nid] = TimeZoneDataType extension_object_ids['TimeZoneDataType'] = nid nid = FourByteNodeId(ObjectIds.ApplicationDescription_Encoding_DefaultBinary) extension_object_classes[nid] = ApplicationDescription extension_object_ids['ApplicationDescription'] = nid nid = FourByteNodeId(ObjectIds.RequestHeader_Encoding_DefaultBinary) extension_object_classes[nid] = RequestHeader extension_object_ids['RequestHeader'] = nid nid = FourByteNodeId(ObjectIds.ResponseHeader_Encoding_DefaultBinary) extension_object_classes[nid] = ResponseHeader extension_object_ids['ResponseHeader'] = nid nid = FourByteNodeId(ObjectIds.ServiceFault_Encoding_DefaultBinary) extension_object_classes[nid] = ServiceFault extension_object_ids['ServiceFault'] = nid nid = FourByteNodeId(ObjectIds.FindServersRequest_Encoding_DefaultBinary) extension_object_classes[nid] = FindServersRequest extension_object_ids['FindServersRequest'] = nid nid = FourByteNodeId(ObjectIds.FindServersResponse_Encoding_DefaultBinary) extension_object_classes[nid] = FindServersResponse extension_object_ids['FindServersResponse'] = nid nid = FourByteNodeId(ObjectIds.ServerOnNetwork_Encoding_DefaultBinary) extension_object_classes[nid] = ServerOnNetwork extension_object_ids['ServerOnNetwork'] = nid nid = FourByteNodeId(ObjectIds.FindServersOnNetworkRequest_Encoding_DefaultBinary) extension_object_classes[nid] = FindServersOnNetworkRequest extension_object_ids['FindServersOnNetworkRequest'] = nid nid = FourByteNodeId(ObjectIds.FindServersOnNetworkResponse_Encoding_DefaultBinary) extension_object_classes[nid] = FindServersOnNetworkResponse extension_object_ids['FindServersOnNetworkResponse'] = nid nid = FourByteNodeId(ObjectIds.UserTokenPolicy_Encoding_DefaultBinary) extension_object_classes[nid] = UserTokenPolicy extension_object_ids['UserTokenPolicy'] = nid nid = FourByteNodeId(ObjectIds.EndpointDescription_Encoding_DefaultBinary) extension_object_classes[nid] = EndpointDescription extension_object_ids['EndpointDescription'] = nid nid = FourByteNodeId(ObjectIds.GetEndpointsRequest_Encoding_DefaultBinary) extension_object_classes[nid] = GetEndpointsRequest extension_object_ids['GetEndpointsRequest'] = nid nid = FourByteNodeId(ObjectIds.GetEndpointsResponse_Encoding_DefaultBinary) extension_object_classes[nid] = GetEndpointsResponse extension_object_ids['GetEndpointsResponse'] = nid nid = FourByteNodeId(ObjectIds.RegisteredServer_Encoding_DefaultBinary) extension_object_classes[nid] = RegisteredServer extension_object_ids['RegisteredServer'] = nid nid = FourByteNodeId(ObjectIds.RegisterServerRequest_Encoding_DefaultBinary) extension_object_classes[nid] = RegisterServerRequest extension_object_ids['RegisterServerRequest'] = nid nid = FourByteNodeId(ObjectIds.RegisterServerResponse_Encoding_DefaultBinary) extension_object_classes[nid] = RegisterServerResponse extension_object_ids['RegisterServerResponse'] = nid nid = FourByteNodeId(ObjectIds.DiscoveryConfiguration_Encoding_DefaultBinary) extension_object_classes[nid] = DiscoveryConfiguration extension_object_ids['DiscoveryConfiguration'] = nid nid = FourByteNodeId(ObjectIds.MdnsDiscoveryConfiguration_Encoding_DefaultBinary) extension_object_classes[nid] = MdnsDiscoveryConfiguration extension_object_ids['MdnsDiscoveryConfiguration'] = nid nid = FourByteNodeId(ObjectIds.RegisterServer2Request_Encoding_DefaultBinary) extension_object_classes[nid] = RegisterServer2Request extension_object_ids['RegisterServer2Request'] = nid nid = FourByteNodeId(ObjectIds.RegisterServer2Response_Encoding_DefaultBinary) extension_object_classes[nid] = RegisterServer2Response extension_object_ids['RegisterServer2Response'] = nid nid = FourByteNodeId(ObjectIds.ChannelSecurityToken_Encoding_DefaultBinary) extension_object_classes[nid] = ChannelSecurityToken extension_object_ids['ChannelSecurityToken'] = nid nid = FourByteNodeId(ObjectIds.OpenSecureChannelRequest_Encoding_DefaultBinary) extension_object_classes[nid] = OpenSecureChannelRequest extension_object_ids['OpenSecureChannelRequest'] = nid nid = FourByteNodeId(ObjectIds.OpenSecureChannelResponse_Encoding_DefaultBinary) extension_object_classes[nid] = OpenSecureChannelResponse extension_object_ids['OpenSecureChannelResponse'] = nid nid = FourByteNodeId(ObjectIds.CloseSecureChannelRequest_Encoding_DefaultBinary) extension_object_classes[nid] = CloseSecureChannelRequest extension_object_ids['CloseSecureChannelRequest'] = nid nid = FourByteNodeId(ObjectIds.CloseSecureChannelResponse_Encoding_DefaultBinary) extension_object_classes[nid] = CloseSecureChannelResponse extension_object_ids['CloseSecureChannelResponse'] = nid nid = FourByteNodeId(ObjectIds.SignedSoftwareCertificate_Encoding_DefaultBinary) extension_object_classes[nid] = SignedSoftwareCertificate extension_object_ids['SignedSoftwareCertificate'] = nid nid = FourByteNodeId(ObjectIds.SignatureData_Encoding_DefaultBinary) extension_object_classes[nid] = SignatureData extension_object_ids['SignatureData'] = nid nid = FourByteNodeId(ObjectIds.CreateSessionRequest_Encoding_DefaultBinary) extension_object_classes[nid] = CreateSessionRequest extension_object_ids['CreateSessionRequest'] = nid nid = FourByteNodeId(ObjectIds.CreateSessionResponse_Encoding_DefaultBinary) extension_object_classes[nid] = CreateSessionResponse extension_object_ids['CreateSessionResponse'] = nid nid = FourByteNodeId(ObjectIds.UserIdentityToken_Encoding_DefaultBinary) extension_object_classes[nid] = UserIdentityToken extension_object_ids['UserIdentityToken'] = nid nid = FourByteNodeId(ObjectIds.AnonymousIdentityToken_Encoding_DefaultBinary) extension_object_classes[nid] = AnonymousIdentityToken extension_object_ids['AnonymousIdentityToken'] = nid nid = FourByteNodeId(ObjectIds.UserNameIdentityToken_Encoding_DefaultBinary) extension_object_classes[nid] = UserNameIdentityToken extension_object_ids['UserNameIdentityToken'] = nid nid = FourByteNodeId(ObjectIds.X509IdentityToken_Encoding_DefaultBinary) extension_object_classes[nid] = X509IdentityToken extension_object_ids['X509IdentityToken'] = nid nid = FourByteNodeId(ObjectIds.KerberosIdentityToken_Encoding_DefaultBinary) extension_object_classes[nid] = KerberosIdentityToken extension_object_ids['KerberosIdentityToken'] = nid nid = FourByteNodeId(ObjectIds.IssuedIdentityToken_Encoding_DefaultBinary) extension_object_classes[nid] = IssuedIdentityToken extension_object_ids['IssuedIdentityToken'] = nid nid = FourByteNodeId(ObjectIds.ActivateSessionRequest_Encoding_DefaultBinary) extension_object_classes[nid] = ActivateSessionRequest extension_object_ids['ActivateSessionRequest'] = nid nid = FourByteNodeId(ObjectIds.ActivateSessionResponse_Encoding_DefaultBinary) extension_object_classes[nid] = ActivateSessionResponse extension_object_ids['ActivateSessionResponse'] = nid nid = FourByteNodeId(ObjectIds.CloseSessionRequest_Encoding_DefaultBinary) extension_object_classes[nid] = CloseSessionRequest extension_object_ids['CloseSessionRequest'] = nid nid = FourByteNodeId(ObjectIds.CloseSessionResponse_Encoding_DefaultBinary) extension_object_classes[nid] = CloseSessionResponse extension_object_ids['CloseSessionResponse'] = nid nid = FourByteNodeId(ObjectIds.CancelRequest_Encoding_DefaultBinary) extension_object_classes[nid] = CancelRequest extension_object_ids['CancelRequest'] = nid nid = FourByteNodeId(ObjectIds.CancelResponse_Encoding_DefaultBinary) extension_object_classes[nid] = CancelResponse extension_object_ids['CancelResponse'] = nid nid = FourByteNodeId(ObjectIds.NodeAttributes_Encoding_DefaultBinary) extension_object_classes[nid] = NodeAttributes extension_object_ids['NodeAttributes'] = nid nid = FourByteNodeId(ObjectIds.ObjectAttributes_Encoding_DefaultBinary) extension_object_classes[nid] = ObjectAttributes extension_object_ids['ObjectAttributes'] = nid nid = FourByteNodeId(ObjectIds.VariableAttributes_Encoding_DefaultBinary) extension_object_classes[nid] = VariableAttributes extension_object_ids['VariableAttributes'] = nid nid = FourByteNodeId(ObjectIds.MethodAttributes_Encoding_DefaultBinary) extension_object_classes[nid] = MethodAttributes extension_object_ids['MethodAttributes'] = nid nid = FourByteNodeId(ObjectIds.ObjectTypeAttributes_Encoding_DefaultBinary) extension_object_classes[nid] = ObjectTypeAttributes extension_object_ids['ObjectTypeAttributes'] = nid nid = FourByteNodeId(ObjectIds.VariableTypeAttributes_Encoding_DefaultBinary) extension_object_classes[nid] = VariableTypeAttributes extension_object_ids['VariableTypeAttributes'] = nid nid = FourByteNodeId(ObjectIds.ReferenceTypeAttributes_Encoding_DefaultBinary) extension_object_classes[nid] = ReferenceTypeAttributes extension_object_ids['ReferenceTypeAttributes'] = nid nid = FourByteNodeId(ObjectIds.DataTypeAttributes_Encoding_DefaultBinary) extension_object_classes[nid] = DataTypeAttributes extension_object_ids['DataTypeAttributes'] = nid nid = FourByteNodeId(ObjectIds.ViewAttributes_Encoding_DefaultBinary) extension_object_classes[nid] = ViewAttributes extension_object_ids['ViewAttributes'] = nid nid = FourByteNodeId(ObjectIds.AddNodesItem_Encoding_DefaultBinary) extension_object_classes[nid] = AddNodesItem extension_object_ids['AddNodesItem'] = nid nid = FourByteNodeId(ObjectIds.AddNodesResult_Encoding_DefaultBinary) extension_object_classes[nid] = AddNodesResult extension_object_ids['AddNodesResult'] = nid nid = FourByteNodeId(ObjectIds.AddNodesRequest_Encoding_DefaultBinary) extension_object_classes[nid] = AddNodesRequest extension_object_ids['AddNodesRequest'] = nid nid = FourByteNodeId(ObjectIds.AddNodesResponse_Encoding_DefaultBinary) extension_object_classes[nid] = AddNodesResponse extension_object_ids['AddNodesResponse'] = nid nid = FourByteNodeId(ObjectIds.AddReferencesItem_Encoding_DefaultBinary) extension_object_classes[nid] = AddReferencesItem extension_object_ids['AddReferencesItem'] = nid nid = FourByteNodeId(ObjectIds.AddReferencesRequest_Encoding_DefaultBinary) extension_object_classes[nid] = AddReferencesRequest extension_object_ids['AddReferencesRequest'] = nid nid = FourByteNodeId(ObjectIds.AddReferencesResponse_Encoding_DefaultBinary) extension_object_classes[nid] = AddReferencesResponse extension_object_ids['AddReferencesResponse'] = nid nid = FourByteNodeId(ObjectIds.DeleteNodesItem_Encoding_DefaultBinary) extension_object_classes[nid] = DeleteNodesItem extension_object_ids['DeleteNodesItem'] = nid nid = FourByteNodeId(ObjectIds.DeleteNodesRequest_Encoding_DefaultBinary) extension_object_classes[nid] = DeleteNodesRequest extension_object_ids['DeleteNodesRequest'] = nid nid = FourByteNodeId(ObjectIds.DeleteNodesResponse_Encoding_DefaultBinary) extension_object_classes[nid] = DeleteNodesResponse extension_object_ids['DeleteNodesResponse'] = nid nid = FourByteNodeId(ObjectIds.DeleteReferencesItem_Encoding_DefaultBinary) extension_object_classes[nid] = DeleteReferencesItem extension_object_ids['DeleteReferencesItem'] = nid nid = FourByteNodeId(ObjectIds.DeleteReferencesRequest_Encoding_DefaultBinary) extension_object_classes[nid] = DeleteReferencesRequest extension_object_ids['DeleteReferencesRequest'] = nid nid = FourByteNodeId(ObjectIds.DeleteReferencesResponse_Encoding_DefaultBinary) extension_object_classes[nid] = DeleteReferencesResponse extension_object_ids['DeleteReferencesResponse'] = nid nid = FourByteNodeId(ObjectIds.ViewDescription_Encoding_DefaultBinary) extension_object_classes[nid] = ViewDescription extension_object_ids['ViewDescription'] = nid nid = FourByteNodeId(ObjectIds.BrowseDescription_Encoding_DefaultBinary) extension_object_classes[nid] = BrowseDescription extension_object_ids['BrowseDescription'] = nid nid = FourByteNodeId(ObjectIds.ReferenceDescription_Encoding_DefaultBinary) extension_object_classes[nid] = ReferenceDescription extension_object_ids['ReferenceDescription'] = nid nid = FourByteNodeId(ObjectIds.BrowseResult_Encoding_DefaultBinary) extension_object_classes[nid] = BrowseResult extension_object_ids['BrowseResult'] = nid nid = FourByteNodeId(ObjectIds.BrowseRequest_Encoding_DefaultBinary) extension_object_classes[nid] = BrowseRequest extension_object_ids['BrowseRequest'] = nid nid = FourByteNodeId(ObjectIds.BrowseResponse_Encoding_DefaultBinary) extension_object_classes[nid] = BrowseResponse extension_object_ids['BrowseResponse'] = nid nid = FourByteNodeId(ObjectIds.BrowseNextRequest_Encoding_DefaultBinary) extension_object_classes[nid] = BrowseNextRequest extension_object_ids['BrowseNextRequest'] = nid nid = FourByteNodeId(ObjectIds.BrowseNextResponse_Encoding_DefaultBinary) extension_object_classes[nid] = BrowseNextResponse extension_object_ids['BrowseNextResponse'] = nid nid = FourByteNodeId(ObjectIds.RelativePathElement_Encoding_DefaultBinary) extension_object_classes[nid] = RelativePathElement extension_object_ids['RelativePathElement'] = nid nid = FourByteNodeId(ObjectIds.RelativePath_Encoding_DefaultBinary) extension_object_classes[nid] = RelativePath extension_object_ids['RelativePath'] = nid nid = FourByteNodeId(ObjectIds.BrowsePath_Encoding_DefaultBinary) extension_object_classes[nid] = BrowsePath extension_object_ids['BrowsePath'] = nid nid = FourByteNodeId(ObjectIds.BrowsePathTarget_Encoding_DefaultBinary) extension_object_classes[nid] = BrowsePathTarget extension_object_ids['BrowsePathTarget'] = nid nid = FourByteNodeId(ObjectIds.BrowsePathResult_Encoding_DefaultBinary) extension_object_classes[nid] = BrowsePathResult extension_object_ids['BrowsePathResult'] = nid nid = FourByteNodeId(ObjectIds.TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultBinary) extension_object_classes[nid] = TranslateBrowsePathsToNodeIdsRequest extension_object_ids['TranslateBrowsePathsToNodeIdsRequest'] = nid nid = FourByteNodeId(ObjectIds.TranslateBrowsePathsToNodeIdsResponse_Encoding_DefaultBinary) extension_object_classes[nid] = TranslateBrowsePathsToNodeIdsResponse extension_object_ids['TranslateBrowsePathsToNodeIdsResponse'] = nid nid = FourByteNodeId(ObjectIds.RegisterNodesRequest_Encoding_DefaultBinary) extension_object_classes[nid] = RegisterNodesRequest extension_object_ids['RegisterNodesRequest'] = nid nid = FourByteNodeId(ObjectIds.RegisterNodesResponse_Encoding_DefaultBinary) extension_object_classes[nid] = RegisterNodesResponse extension_object_ids['RegisterNodesResponse'] = nid nid = FourByteNodeId(ObjectIds.UnregisterNodesRequest_Encoding_DefaultBinary) extension_object_classes[nid] = UnregisterNodesRequest extension_object_ids['UnregisterNodesRequest'] = nid nid = FourByteNodeId(ObjectIds.UnregisterNodesResponse_Encoding_DefaultBinary) extension_object_classes[nid] = UnregisterNodesResponse extension_object_ids['UnregisterNodesResponse'] = nid nid = FourByteNodeId(ObjectIds.EndpointConfiguration_Encoding_DefaultBinary) extension_object_classes[nid] = EndpointConfiguration extension_object_ids['EndpointConfiguration'] = nid nid = FourByteNodeId(ObjectIds.SupportedProfile_Encoding_DefaultBinary) extension_object_classes[nid] = SupportedProfile extension_object_ids['SupportedProfile'] = nid nid = FourByteNodeId(ObjectIds.SoftwareCertificate_Encoding_DefaultBinary) extension_object_classes[nid] = SoftwareCertificate extension_object_ids['SoftwareCertificate'] = nid nid = FourByteNodeId(ObjectIds.QueryDataDescription_Encoding_DefaultBinary) extension_object_classes[nid] = QueryDataDescription extension_object_ids['QueryDataDescription'] = nid nid = FourByteNodeId(ObjectIds.NodeTypeDescription_Encoding_DefaultBinary) extension_object_classes[nid] = NodeTypeDescription extension_object_ids['NodeTypeDescription'] = nid nid = FourByteNodeId(ObjectIds.QueryDataSet_Encoding_DefaultBinary) extension_object_classes[nid] = QueryDataSet extension_object_ids['QueryDataSet'] = nid nid = FourByteNodeId(ObjectIds.NodeReference_Encoding_DefaultBinary) extension_object_classes[nid] = NodeReference extension_object_ids['NodeReference'] = nid nid = FourByteNodeId(ObjectIds.ContentFilterElement_Encoding_DefaultBinary) extension_object_classes[nid] = ContentFilterElement extension_object_ids['ContentFilterElement'] = nid nid = FourByteNodeId(ObjectIds.ContentFilter_Encoding_DefaultBinary) extension_object_classes[nid] = ContentFilter extension_object_ids['ContentFilter'] = nid nid = FourByteNodeId(ObjectIds.ElementOperand_Encoding_DefaultBinary) extension_object_classes[nid] = ElementOperand extension_object_ids['ElementOperand'] = nid nid = FourByteNodeId(ObjectIds.LiteralOperand_Encoding_DefaultBinary) extension_object_classes[nid] = LiteralOperand extension_object_ids['LiteralOperand'] = nid nid = FourByteNodeId(ObjectIds.AttributeOperand_Encoding_DefaultBinary) extension_object_classes[nid] = AttributeOperand extension_object_ids['AttributeOperand'] = nid nid = FourByteNodeId(ObjectIds.SimpleAttributeOperand_Encoding_DefaultBinary) extension_object_classes[nid] = SimpleAttributeOperand extension_object_ids['SimpleAttributeOperand'] = nid nid = FourByteNodeId(ObjectIds.ContentFilterElementResult_Encoding_DefaultBinary) extension_object_classes[nid] = ContentFilterElementResult extension_object_ids['ContentFilterElementResult'] = nid nid = FourByteNodeId(ObjectIds.ContentFilterResult_Encoding_DefaultBinary) extension_object_classes[nid] = ContentFilterResult extension_object_ids['ContentFilterResult'] = nid nid = FourByteNodeId(ObjectIds.ParsingResult_Encoding_DefaultBinary) extension_object_classes[nid] = ParsingResult extension_object_ids['ParsingResult'] = nid nid = FourByteNodeId(ObjectIds.QueryFirstRequest_Encoding_DefaultBinary) extension_object_classes[nid] = QueryFirstRequest extension_object_ids['QueryFirstRequest'] = nid nid = FourByteNodeId(ObjectIds.QueryFirstResponse_Encoding_DefaultBinary) extension_object_classes[nid] = QueryFirstResponse extension_object_ids['QueryFirstResponse'] = nid nid = FourByteNodeId(ObjectIds.QueryNextRequest_Encoding_DefaultBinary) extension_object_classes[nid] = QueryNextRequest extension_object_ids['QueryNextRequest'] = nid nid = FourByteNodeId(ObjectIds.QueryNextResponse_Encoding_DefaultBinary) extension_object_classes[nid] = QueryNextResponse extension_object_ids['QueryNextResponse'] = nid nid = FourByteNodeId(ObjectIds.ReadValueId_Encoding_DefaultBinary) extension_object_classes[nid] = ReadValueId extension_object_ids['ReadValueId'] = nid nid = FourByteNodeId(ObjectIds.ReadRequest_Encoding_DefaultBinary) extension_object_classes[nid] = ReadRequest extension_object_ids['ReadRequest'] = nid nid = FourByteNodeId(ObjectIds.ReadResponse_Encoding_DefaultBinary) extension_object_classes[nid] = ReadResponse extension_object_ids['ReadResponse'] = nid nid = FourByteNodeId(ObjectIds.HistoryReadValueId_Encoding_DefaultBinary) extension_object_classes[nid] = HistoryReadValueId extension_object_ids['HistoryReadValueId'] = nid nid = FourByteNodeId(ObjectIds.HistoryReadResult_Encoding_DefaultBinary) extension_object_classes[nid] = HistoryReadResult extension_object_ids['HistoryReadResult'] = nid nid = FourByteNodeId(ObjectIds.HistoryReadDetails_Encoding_DefaultBinary) extension_object_classes[nid] = HistoryReadDetails extension_object_ids['HistoryReadDetails'] = nid nid = FourByteNodeId(ObjectIds.ReadEventDetails_Encoding_DefaultBinary) extension_object_classes[nid] = ReadEventDetails extension_object_ids['ReadEventDetails'] = nid nid = FourByteNodeId(ObjectIds.ReadRawModifiedDetails_Encoding_DefaultBinary) extension_object_classes[nid] = ReadRawModifiedDetails extension_object_ids['ReadRawModifiedDetails'] = nid nid = FourByteNodeId(ObjectIds.ReadProcessedDetails_Encoding_DefaultBinary) extension_object_classes[nid] = ReadProcessedDetails extension_object_ids['ReadProcessedDetails'] = nid nid = FourByteNodeId(ObjectIds.ReadAtTimeDetails_Encoding_DefaultBinary) extension_object_classes[nid] = ReadAtTimeDetails extension_object_ids['ReadAtTimeDetails'] = nid nid = FourByteNodeId(ObjectIds.HistoryData_Encoding_DefaultBinary) extension_object_classes[nid] = HistoryData extension_object_ids['HistoryData'] = nid nid = FourByteNodeId(ObjectIds.ModificationInfo_Encoding_DefaultBinary) extension_object_classes[nid] = ModificationInfo extension_object_ids['ModificationInfo'] = nid nid = FourByteNodeId(ObjectIds.HistoryModifiedData_Encoding_DefaultBinary) extension_object_classes[nid] = HistoryModifiedData extension_object_ids['HistoryModifiedData'] = nid nid = FourByteNodeId(ObjectIds.HistoryEvent_Encoding_DefaultBinary) extension_object_classes[nid] = HistoryEvent extension_object_ids['HistoryEvent'] = nid nid = FourByteNodeId(ObjectIds.HistoryReadRequest_Encoding_DefaultBinary) extension_object_classes[nid] = HistoryReadRequest extension_object_ids['HistoryReadRequest'] = nid nid = FourByteNodeId(ObjectIds.HistoryReadResponse_Encoding_DefaultBinary) extension_object_classes[nid] = HistoryReadResponse extension_object_ids['HistoryReadResponse'] = nid nid = FourByteNodeId(ObjectIds.WriteValue_Encoding_DefaultBinary) extension_object_classes[nid] = WriteValue extension_object_ids['WriteValue'] = nid nid = FourByteNodeId(ObjectIds.WriteRequest_Encoding_DefaultBinary) extension_object_classes[nid] = WriteRequest extension_object_ids['WriteRequest'] = nid nid = FourByteNodeId(ObjectIds.WriteResponse_Encoding_DefaultBinary) extension_object_classes[nid] = WriteResponse extension_object_ids['WriteResponse'] = nid nid = FourByteNodeId(ObjectIds.HistoryUpdateDetails_Encoding_DefaultBinary) extension_object_classes[nid] = HistoryUpdateDetails extension_object_ids['HistoryUpdateDetails'] = nid nid = FourByteNodeId(ObjectIds.UpdateDataDetails_Encoding_DefaultBinary) extension_object_classes[nid] = UpdateDataDetails extension_object_ids['UpdateDataDetails'] = nid nid = FourByteNodeId(ObjectIds.UpdateStructureDataDetails_Encoding_DefaultBinary) extension_object_classes[nid] = UpdateStructureDataDetails extension_object_ids['UpdateStructureDataDetails'] = nid nid = FourByteNodeId(ObjectIds.UpdateEventDetails_Encoding_DefaultBinary) extension_object_classes[nid] = UpdateEventDetails extension_object_ids['UpdateEventDetails'] = nid nid = FourByteNodeId(ObjectIds.DeleteRawModifiedDetails_Encoding_DefaultBinary) extension_object_classes[nid] = DeleteRawModifiedDetails extension_object_ids['DeleteRawModifiedDetails'] = nid nid = FourByteNodeId(ObjectIds.DeleteAtTimeDetails_Encoding_DefaultBinary) extension_object_classes[nid] = DeleteAtTimeDetails extension_object_ids['DeleteAtTimeDetails'] = nid nid = FourByteNodeId(ObjectIds.DeleteEventDetails_Encoding_DefaultBinary) extension_object_classes[nid] = DeleteEventDetails extension_object_ids['DeleteEventDetails'] = nid nid = FourByteNodeId(ObjectIds.HistoryUpdateResult_Encoding_DefaultBinary) extension_object_classes[nid] = HistoryUpdateResult extension_object_ids['HistoryUpdateResult'] = nid nid = FourByteNodeId(ObjectIds.HistoryUpdateRequest_Encoding_DefaultBinary) extension_object_classes[nid] = HistoryUpdateRequest extension_object_ids['HistoryUpdateRequest'] = nid nid = FourByteNodeId(ObjectIds.HistoryUpdateResponse_Encoding_DefaultBinary) extension_object_classes[nid] = HistoryUpdateResponse extension_object_ids['HistoryUpdateResponse'] = nid nid = FourByteNodeId(ObjectIds.CallMethodRequest_Encoding_DefaultBinary) extension_object_classes[nid] = CallMethodRequest extension_object_ids['CallMethodRequest'] = nid nid = FourByteNodeId(ObjectIds.CallMethodResult_Encoding_DefaultBinary) extension_object_classes[nid] = CallMethodResult extension_object_ids['CallMethodResult'] = nid nid = FourByteNodeId(ObjectIds.CallRequest_Encoding_DefaultBinary) extension_object_classes[nid] = CallRequest extension_object_ids['CallRequest'] = nid nid = FourByteNodeId(ObjectIds.CallResponse_Encoding_DefaultBinary) extension_object_classes[nid] = CallResponse extension_object_ids['CallResponse'] = nid nid = FourByteNodeId(ObjectIds.MonitoringFilter_Encoding_DefaultBinary) extension_object_classes[nid] = MonitoringFilter extension_object_ids['MonitoringFilter'] = nid nid = FourByteNodeId(ObjectIds.DataChangeFilter_Encoding_DefaultBinary) extension_object_classes[nid] = DataChangeFilter extension_object_ids['DataChangeFilter'] = nid nid = FourByteNodeId(ObjectIds.EventFilter_Encoding_DefaultBinary) extension_object_classes[nid] = EventFilter extension_object_ids['EventFilter'] = nid nid = FourByteNodeId(ObjectIds.AggregateConfiguration_Encoding_DefaultBinary) extension_object_classes[nid] = AggregateConfiguration extension_object_ids['AggregateConfiguration'] = nid nid = FourByteNodeId(ObjectIds.AggregateFilter_Encoding_DefaultBinary) extension_object_classes[nid] = AggregateFilter extension_object_ids['AggregateFilter'] = nid nid = FourByteNodeId(ObjectIds.MonitoringFilterResult_Encoding_DefaultBinary) extension_object_classes[nid] = MonitoringFilterResult extension_object_ids['MonitoringFilterResult'] = nid nid = FourByteNodeId(ObjectIds.EventFilterResult_Encoding_DefaultBinary) extension_object_classes[nid] = EventFilterResult extension_object_ids['EventFilterResult'] = nid nid = FourByteNodeId(ObjectIds.AggregateFilterResult_Encoding_DefaultBinary) extension_object_classes[nid] = AggregateFilterResult extension_object_ids['AggregateFilterResult'] = nid nid = FourByteNodeId(ObjectIds.MonitoringParameters_Encoding_DefaultBinary) extension_object_classes[nid] = MonitoringParameters extension_object_ids['MonitoringParameters'] = nid nid = FourByteNodeId(ObjectIds.MonitoredItemCreateRequest_Encoding_DefaultBinary) extension_object_classes[nid] = MonitoredItemCreateRequest extension_object_ids['MonitoredItemCreateRequest'] = nid nid = FourByteNodeId(ObjectIds.MonitoredItemCreateResult_Encoding_DefaultBinary) extension_object_classes[nid] = MonitoredItemCreateResult extension_object_ids['MonitoredItemCreateResult'] = nid nid = FourByteNodeId(ObjectIds.CreateMonitoredItemsRequest_Encoding_DefaultBinary) extension_object_classes[nid] = CreateMonitoredItemsRequest extension_object_ids['CreateMonitoredItemsRequest'] = nid nid = FourByteNodeId(ObjectIds.CreateMonitoredItemsResponse_Encoding_DefaultBinary) extension_object_classes[nid] = CreateMonitoredItemsResponse extension_object_ids['CreateMonitoredItemsResponse'] = nid nid = FourByteNodeId(ObjectIds.MonitoredItemModifyRequest_Encoding_DefaultBinary) extension_object_classes[nid] = MonitoredItemModifyRequest extension_object_ids['MonitoredItemModifyRequest'] = nid nid = FourByteNodeId(ObjectIds.MonitoredItemModifyResult_Encoding_DefaultBinary) extension_object_classes[nid] = MonitoredItemModifyResult extension_object_ids['MonitoredItemModifyResult'] = nid nid = FourByteNodeId(ObjectIds.ModifyMonitoredItemsRequest_Encoding_DefaultBinary) extension_object_classes[nid] = ModifyMonitoredItemsRequest extension_object_ids['ModifyMonitoredItemsRequest'] = nid nid = FourByteNodeId(ObjectIds.ModifyMonitoredItemsResponse_Encoding_DefaultBinary) extension_object_classes[nid] = ModifyMonitoredItemsResponse extension_object_ids['ModifyMonitoredItemsResponse'] = nid nid = FourByteNodeId(ObjectIds.SetMonitoringModeRequest_Encoding_DefaultBinary) extension_object_classes[nid] = SetMonitoringModeRequest extension_object_ids['SetMonitoringModeRequest'] = nid nid = FourByteNodeId(ObjectIds.SetMonitoringModeResponse_Encoding_DefaultBinary) extension_object_classes[nid] = SetMonitoringModeResponse extension_object_ids['SetMonitoringModeResponse'] = nid nid = FourByteNodeId(ObjectIds.SetTriggeringRequest_Encoding_DefaultBinary) extension_object_classes[nid] = SetTriggeringRequest extension_object_ids['SetTriggeringRequest'] = nid nid = FourByteNodeId(ObjectIds.SetTriggeringResponse_Encoding_DefaultBinary) extension_object_classes[nid] = SetTriggeringResponse extension_object_ids['SetTriggeringResponse'] = nid nid = FourByteNodeId(ObjectIds.DeleteMonitoredItemsRequest_Encoding_DefaultBinary) extension_object_classes[nid] = DeleteMonitoredItemsRequest extension_object_ids['DeleteMonitoredItemsRequest'] = nid nid = FourByteNodeId(ObjectIds.DeleteMonitoredItemsResponse_Encoding_DefaultBinary) extension_object_classes[nid] = DeleteMonitoredItemsResponse extension_object_ids['DeleteMonitoredItemsResponse'] = nid nid = FourByteNodeId(ObjectIds.CreateSubscriptionRequest_Encoding_DefaultBinary) extension_object_classes[nid] = CreateSubscriptionRequest extension_object_ids['CreateSubscriptionRequest'] = nid nid = FourByteNodeId(ObjectIds.CreateSubscriptionResponse_Encoding_DefaultBinary) extension_object_classes[nid] = CreateSubscriptionResponse extension_object_ids['CreateSubscriptionResponse'] = nid nid = FourByteNodeId(ObjectIds.ModifySubscriptionRequest_Encoding_DefaultBinary) extension_object_classes[nid] = ModifySubscriptionRequest extension_object_ids['ModifySubscriptionRequest'] = nid nid = FourByteNodeId(ObjectIds.ModifySubscriptionResponse_Encoding_DefaultBinary) extension_object_classes[nid] = ModifySubscriptionResponse extension_object_ids['ModifySubscriptionResponse'] = nid nid = FourByteNodeId(ObjectIds.SetPublishingModeRequest_Encoding_DefaultBinary) extension_object_classes[nid] = SetPublishingModeRequest extension_object_ids['SetPublishingModeRequest'] = nid nid = FourByteNodeId(ObjectIds.SetPublishingModeResponse_Encoding_DefaultBinary) extension_object_classes[nid] = SetPublishingModeResponse extension_object_ids['SetPublishingModeResponse'] = nid nid = FourByteNodeId(ObjectIds.NotificationMessage_Encoding_DefaultBinary) extension_object_classes[nid] = NotificationMessage extension_object_ids['NotificationMessage'] = nid nid = FourByteNodeId(ObjectIds.NotificationData_Encoding_DefaultBinary) extension_object_classes[nid] = NotificationData extension_object_ids['NotificationData'] = nid nid = FourByteNodeId(ObjectIds.DataChangeNotification_Encoding_DefaultBinary) extension_object_classes[nid] = DataChangeNotification extension_object_ids['DataChangeNotification'] = nid nid = FourByteNodeId(ObjectIds.MonitoredItemNotification_Encoding_DefaultBinary) extension_object_classes[nid] = MonitoredItemNotification extension_object_ids['MonitoredItemNotification'] = nid nid = FourByteNodeId(ObjectIds.EventNotificationList_Encoding_DefaultBinary) extension_object_classes[nid] = EventNotificationList extension_object_ids['EventNotificationList'] = nid nid = FourByteNodeId(ObjectIds.EventFieldList_Encoding_DefaultBinary) extension_object_classes[nid] = EventFieldList extension_object_ids['EventFieldList'] = nid nid = FourByteNodeId(ObjectIds.HistoryEventFieldList_Encoding_DefaultBinary) extension_object_classes[nid] = HistoryEventFieldList extension_object_ids['HistoryEventFieldList'] = nid nid = FourByteNodeId(ObjectIds.StatusChangeNotification_Encoding_DefaultBinary) extension_object_classes[nid] = StatusChangeNotification extension_object_ids['StatusChangeNotification'] = nid nid = FourByteNodeId(ObjectIds.SubscriptionAcknowledgement_Encoding_DefaultBinary) extension_object_classes[nid] = SubscriptionAcknowledgement extension_object_ids['SubscriptionAcknowledgement'] = nid nid = FourByteNodeId(ObjectIds.PublishRequest_Encoding_DefaultBinary) extension_object_classes[nid] = PublishRequest extension_object_ids['PublishRequest'] = nid nid = FourByteNodeId(ObjectIds.PublishResponse_Encoding_DefaultBinary) extension_object_classes[nid] = PublishResponse extension_object_ids['PublishResponse'] = nid nid = FourByteNodeId(ObjectIds.RepublishRequest_Encoding_DefaultBinary) extension_object_classes[nid] = RepublishRequest extension_object_ids['RepublishRequest'] = nid nid = FourByteNodeId(ObjectIds.RepublishResponse_Encoding_DefaultBinary) extension_object_classes[nid] = RepublishResponse extension_object_ids['RepublishResponse'] = nid nid = FourByteNodeId(ObjectIds.TransferResult_Encoding_DefaultBinary) extension_object_classes[nid] = TransferResult extension_object_ids['TransferResult'] = nid nid = FourByteNodeId(ObjectIds.TransferSubscriptionsRequest_Encoding_DefaultBinary) extension_object_classes[nid] = TransferSubscriptionsRequest extension_object_ids['TransferSubscriptionsRequest'] = nid nid = FourByteNodeId(ObjectIds.TransferSubscriptionsResponse_Encoding_DefaultBinary) extension_object_classes[nid] = TransferSubscriptionsResponse extension_object_ids['TransferSubscriptionsResponse'] = nid nid = FourByteNodeId(ObjectIds.DeleteSubscriptionsRequest_Encoding_DefaultBinary) extension_object_classes[nid] = DeleteSubscriptionsRequest extension_object_ids['DeleteSubscriptionsRequest'] = nid nid = FourByteNodeId(ObjectIds.DeleteSubscriptionsResponse_Encoding_DefaultBinary) extension_object_classes[nid] = DeleteSubscriptionsResponse extension_object_ids['DeleteSubscriptionsResponse'] = nid nid = FourByteNodeId(ObjectIds.BuildInfo_Encoding_DefaultBinary) extension_object_classes[nid] = BuildInfo extension_object_ids['BuildInfo'] = nid nid = FourByteNodeId(ObjectIds.RedundantServerDataType_Encoding_DefaultBinary) extension_object_classes[nid] = RedundantServerDataType extension_object_ids['RedundantServerDataType'] = nid nid = FourByteNodeId(ObjectIds.EndpointUrlListDataType_Encoding_DefaultBinary) extension_object_classes[nid] = EndpointUrlListDataType extension_object_ids['EndpointUrlListDataType'] = nid nid = FourByteNodeId(ObjectIds.NetworkGroupDataType_Encoding_DefaultBinary) extension_object_classes[nid] = NetworkGroupDataType extension_object_ids['NetworkGroupDataType'] = nid nid = FourByteNodeId(ObjectIds.SamplingIntervalDiagnosticsDataType_Encoding_DefaultBinary) extension_object_classes[nid] = SamplingIntervalDiagnosticsDataType extension_object_ids['SamplingIntervalDiagnosticsDataType'] = nid nid = FourByteNodeId(ObjectIds.ServerDiagnosticsSummaryDataType_Encoding_DefaultBinary) extension_object_classes[nid] = ServerDiagnosticsSummaryDataType extension_object_ids['ServerDiagnosticsSummaryDataType'] = nid nid = FourByteNodeId(ObjectIds.ServerStatusDataType_Encoding_DefaultBinary) extension_object_classes[nid] = ServerStatusDataType extension_object_ids['ServerStatusDataType'] = nid nid = FourByteNodeId(ObjectIds.SessionDiagnosticsDataType_Encoding_DefaultBinary) extension_object_classes[nid] = SessionDiagnosticsDataType extension_object_ids['SessionDiagnosticsDataType'] = nid nid = FourByteNodeId(ObjectIds.SessionSecurityDiagnosticsDataType_Encoding_DefaultBinary) extension_object_classes[nid] = SessionSecurityDiagnosticsDataType extension_object_ids['SessionSecurityDiagnosticsDataType'] = nid nid = FourByteNodeId(ObjectIds.ServiceCounterDataType_Encoding_DefaultBinary) extension_object_classes[nid] = ServiceCounterDataType extension_object_ids['ServiceCounterDataType'] = nid nid = FourByteNodeId(ObjectIds.StatusResult_Encoding_DefaultBinary) extension_object_classes[nid] = StatusResult extension_object_ids['StatusResult'] = nid nid = FourByteNodeId(ObjectIds.SubscriptionDiagnosticsDataType_Encoding_DefaultBinary) extension_object_classes[nid] = SubscriptionDiagnosticsDataType extension_object_ids['SubscriptionDiagnosticsDataType'] = nid nid = FourByteNodeId(ObjectIds.ModelChangeStructureDataType_Encoding_DefaultBinary) extension_object_classes[nid] = ModelChangeStructureDataType extension_object_ids['ModelChangeStructureDataType'] = nid nid = FourByteNodeId(ObjectIds.SemanticChangeStructureDataType_Encoding_DefaultBinary) extension_object_classes[nid] = SemanticChangeStructureDataType extension_object_ids['SemanticChangeStructureDataType'] = nid nid = FourByteNodeId(ObjectIds.Range_Encoding_DefaultBinary) extension_object_classes[nid] = Range extension_object_ids['Range'] = nid nid = FourByteNodeId(ObjectIds.EUInformation_Encoding_DefaultBinary) extension_object_classes[nid] = EUInformation extension_object_ids['EUInformation'] = nid nid = FourByteNodeId(ObjectIds.ComplexNumberType_Encoding_DefaultBinary) extension_object_classes[nid] = ComplexNumberType extension_object_ids['ComplexNumberType'] = nid nid = FourByteNodeId(ObjectIds.DoubleComplexNumberType_Encoding_DefaultBinary) extension_object_classes[nid] = DoubleComplexNumberType extension_object_ids['DoubleComplexNumberType'] = nid nid = FourByteNodeId(ObjectIds.AxisInformation_Encoding_DefaultBinary) extension_object_classes[nid] = AxisInformation extension_object_ids['AxisInformation'] = nid nid = FourByteNodeId(ObjectIds.XVType_Encoding_DefaultBinary) extension_object_classes[nid] = XVType extension_object_ids['XVType'] = nid nid = FourByteNodeId(ObjectIds.ProgramDiagnosticDataType_Encoding_DefaultBinary) extension_object_classes[nid] = ProgramDiagnosticDataType extension_object_ids['ProgramDiagnosticDataType'] = nid nid = FourByteNodeId(ObjectIds.Annotation_Encoding_DefaultBinary) extension_object_classes[nid] = Annotation extension_object_ids['Annotation'] = nid python-opcua-0.90.3/opcua/ua/uaprotocol_hand.py000066400000000000000000000702571310132730300215040ustar00rootroot00000000000000import struct import logging import hashlib from datetime import datetime from opcua.ua import uaprotocol_auto as auto from opcua.ua import uatypes from opcua.ua import ua_binary as uabin from opcua.ua import UaError from opcua.common import utils from opcua.ua.uatypes import AccessLevel logger = logging.getLogger('opcua.uaprotocol') OPC_TCP_SCHEME = 'opc.tcp' class Hello(uatypes.FrozenClass): def __init__(self): self.ProtocolVersion = 0 self.ReceiveBufferSize = 65536 self.SendBufferSize = 65536 self.MaxMessageSize = 0 self.MaxChunkCount = 0 self.EndpointUrl = "" self._freeze = True def to_binary(self): b = [] b.append(uabin.Primitives.UInt32.pack(self.ProtocolVersion)) b.append(uabin.Primitives.UInt32.pack(self.ReceiveBufferSize)) b.append(uabin.Primitives.UInt32.pack(self.SendBufferSize)) b.append(uabin.Primitives.UInt32.pack(self.MaxMessageSize)) b.append(uabin.Primitives.UInt32.pack(self.MaxChunkCount)) b.append(uabin.Primitives.String.pack(self.EndpointUrl)) return b"".join(b) @staticmethod def from_binary(data): hello = Hello() hello.ProtocolVersion = uabin.Primitives.UInt32.unpack(data) hello.ReceiveBufferSize = uabin.Primitives.UInt32.unpack(data) hello.SendBufferSize = uabin.Primitives.UInt32.unpack(data) hello.MaxMessageSize = uabin.Primitives.UInt32.unpack(data) hello.MaxChunkCount = uabin.Primitives.UInt32.unpack(data) hello.EndpointUrl = uabin.Primitives.String.unpack(data) return hello class MessageType(object): Invalid = b"INV" # FIXME: check value Hello = b"HEL" Acknowledge = b"ACK" Error = b"ERR" SecureOpen = b"OPN" SecureClose = b"CLO" SecureMessage = b"MSG" class ChunkType(object): Invalid = b"0" # FIXME check Single = b"F" Intermediate = b"C" Abort = b"A" # when an error occurred and the Message is aborted (body is ErrorMessage) class Header(uatypes.FrozenClass): def __init__(self, msgType=None, chunkType=None, channelid=0): self.MessageType = msgType self.ChunkType = chunkType self.ChannelId = channelid self.body_size = 0 self.packet_size = 0 self._freeze = True def add_size(self, size): self.body_size += size def to_binary(self): b = [] b.append(struct.pack("<3ss", self.MessageType, self.ChunkType)) size = self.body_size + 8 if self.MessageType in (MessageType.SecureOpen, MessageType.SecureClose, MessageType.SecureMessage): size += 4 b.append(uabin.Primitives.UInt32.pack(size)) if self.MessageType in (MessageType.SecureOpen, MessageType.SecureClose, MessageType.SecureMessage): b.append(uabin.Primitives.UInt32.pack(self.ChannelId)) return b"".join(b) @staticmethod def from_string(data): hdr = Header() hdr.MessageType, hdr.ChunkType, hdr.packet_size = struct.unpack("<3scI", data.read(8)) hdr.body_size = hdr.packet_size - 8 if hdr.MessageType in (MessageType.SecureOpen, MessageType.SecureClose, MessageType.SecureMessage): hdr.body_size -= 4 hdr.ChannelId = uabin.Primitives.UInt32.unpack(data) return hdr @staticmethod def max_size(): return struct.calcsize("<3scII") def __str__(self): return "Header(type:{0}, chunk_type:{1}, body_size:{2}, channel:{3})".format( self.MessageType, self.ChunkType, self.body_size, self.ChannelId) __repr__ = __str__ class ErrorMessage(uatypes.FrozenClass): def __init__(self): self.Error = uatypes.StatusCode() self.Reason = "" self._freeze = True def to_binary(self): b = [] b.append(self.Error.to_binary()) b.append(uabin.Primitives.String.pack(self.Reason)) return b"".join(b) @staticmethod def from_binary(data): ack = ErrorMessage() ack.Error = uatypes.StatusCode.from_binary(data) ack.Reason = uabin.Primitives.String.unpack(data) return ack def __str__(self): return "MessageAbort(error:{0}, reason:{1})".format(self.Error, self.Reason) __repr__ = __str__ class Acknowledge(uatypes.FrozenClass): def __init__(self): self.ProtocolVersion = 0 self.ReceiveBufferSize = 65536 self.SendBufferSize = 65536 self.MaxMessageSize = 0 # No limits self.MaxChunkCount = 0 # No limits self._freeze = True def to_binary(self): return struct.pack( "<5I", self.ProtocolVersion, self.ReceiveBufferSize, self.SendBufferSize, self.MaxMessageSize, self.MaxChunkCount) @staticmethod def from_binary(data): ack = Acknowledge() ack.ProtocolVersion, ack.ReceiveBufferSize, ack.SendBufferSize, ack.MaxMessageSize, ack.MaxChunkCount \ = struct.unpack("<5I", data.read(20)) return ack class AsymmetricAlgorithmHeader(uatypes.FrozenClass): def __init__(self): self.SecurityPolicyURI = "http://opcfoundation.org/UA/SecurityPolicy#None" self.SenderCertificate = None self.ReceiverCertificateThumbPrint = None self._freeze = True def to_binary(self): b = [] b.append(uabin.Primitives.String.pack(self.SecurityPolicyURI)) b.append(uabin.Primitives.String.pack(self.SenderCertificate)) b.append(uabin.Primitives.String.pack(self.ReceiverCertificateThumbPrint)) return b"".join(b) @staticmethod def from_binary(data): hdr = AsymmetricAlgorithmHeader() hdr.SecurityPolicyURI = uabin.Primitives.String.unpack(data) hdr.SenderCertificate = uabin.Primitives.Bytes.unpack(data) hdr.ReceiverCertificateThumbPrint = uabin.Primitives.Bytes.unpack(data) return hdr def __str__(self): return "{0}(SecurityPolicy:{1}, certificatesize:{2}, receiverCertificatesize:{3} )".format( self.__class__.__name__, self.SecurityPolicyURI, len(self.SenderCertificate), len(self.ReceiverCertificateThumbPrint)) __repr__ = __str__ class SymmetricAlgorithmHeader(uatypes.FrozenClass): def __init__(self): self.TokenId = 0 self._freeze = True @staticmethod def from_binary(data): obj = SymmetricAlgorithmHeader() obj.TokenId = uabin.Primitives.UInt32.unpack(data) return obj def to_binary(self): return uabin.Primitives.UInt32.pack(self.TokenId) @staticmethod def max_size(): return struct.calcsize("= header.body_size, 'Full body expected here' data = buf.copy(header.body_size) buf.skip(header.body_size) if header.MessageType in (MessageType.SecureMessage, MessageType.SecureClose): security_header = SymmetricAlgorithmHeader.from_binary(data) crypto = security_policy.symmetric_cryptography elif header.MessageType == MessageType.SecureOpen: security_header = AsymmetricAlgorithmHeader.from_binary(data) crypto = security_policy.asymmetric_cryptography else: raise UaError("Unsupported message type: {0}".format(header.MessageType)) obj = MessageChunk(crypto) obj.MessageHeader = header obj.SecurityHeader = security_header decrypted = crypto.decrypt(data.read(len(data))) signature_size = crypto.vsignature_size() if signature_size > 0: signature = decrypted[-signature_size:] decrypted = decrypted[:-signature_size] crypto.verify(obj.MessageHeader.to_binary() + obj.SecurityHeader.to_binary() + decrypted, signature) data = utils.Buffer(crypto.remove_padding(decrypted)) obj.SequenceHeader = SequenceHeader.from_binary(data) obj.Body = data.read(len(data)) return obj def encrypted_size(self, plain_size): size = plain_size + self._security_policy.signature_size() pbs = self._security_policy.plain_block_size() assert(size % pbs == 0) return size // pbs * self._security_policy.encrypted_block_size() def to_binary(self): security = self.SecurityHeader.to_binary() encrypted_part = self.SequenceHeader.to_binary() + self.Body encrypted_part += self._security_policy.padding(len(encrypted_part)) self.MessageHeader.body_size = len(security) + self.encrypted_size(len(encrypted_part)) header = self.MessageHeader.to_binary() encrypted_part += self._security_policy.signature(header + security + encrypted_part) return header + security + self._security_policy.encrypt(encrypted_part) @staticmethod def max_body_size(crypto, max_chunk_size): max_encrypted_size = max_chunk_size - Header.max_size() - SymmetricAlgorithmHeader.max_size() max_plain_size = (max_encrypted_size // crypto.encrypted_block_size()) * crypto.plain_block_size() return max_plain_size - SequenceHeader.max_size() - crypto.signature_size() - crypto.min_padding_size() @staticmethod def message_to_chunks(security_policy, body, max_chunk_size, message_type=MessageType.SecureMessage, channel_id=1, request_id=1, token_id=1): """ Pack message body (as binary string) into one or more chunks. Size of each chunk will not exceed max_chunk_size. Returns a list of MessageChunks. SequenceNumber is not initialized here, it must be set by Secure Channel driver. """ if message_type == MessageType.SecureOpen: # SecureOpen message must be in a single chunk (specs, Part 6, 6.7.2) chunk = MessageChunk(security_policy.asymmetric_cryptography, body, message_type, ChunkType.Single) chunk.SecurityHeader.SecurityPolicyURI = security_policy.URI if security_policy.client_certificate: chunk.SecurityHeader.SenderCertificate = security_policy.client_certificate if security_policy.server_certificate: chunk.SecurityHeader.ReceiverCertificateThumbPrint =\ hashlib.sha1(security_policy.server_certificate).digest() chunk.MessageHeader.ChannelId = channel_id chunk.SequenceHeader.RequestId = request_id return [chunk] crypto = security_policy.symmetric_cryptography max_size = MessageChunk.max_body_size(crypto, max_chunk_size) chunks = [] for i in range(0, len(body), max_size): part = body[i:i + max_size] if i + max_size >= len(body): chunk_type = ChunkType.Single else: chunk_type = ChunkType.Intermediate chunk = MessageChunk(crypto, part, message_type, chunk_type) chunk.SecurityHeader.TokenId = token_id chunk.MessageHeader.ChannelId = channel_id chunk.SequenceHeader.RequestId = request_id chunks.append(chunk) return chunks def __str__(self): return "{0}({1}, {2}, {3}, {4} bytes)".format(self.__class__.__name__, self.MessageHeader, self.SequenceHeader, self.SecurityHeader, len(self.Body)) __repr__ = __str__ class Message(object): def __init__(self, chunks): self._chunks = chunks def request_id(self): return self._chunks[0].SequenceHeader.RequestId def SequenceHeader(self): return self._chunks[0].SequenceHeader def SecurityHeader(self): return self._chunks[0].SecurityHeader def body(self): body = b"".join([c.Body for c in self._chunks]) return utils.Buffer(body) class SecureConnection(object): """ Common logic for client and server """ def __init__(self, security_policy): self._sequence_number = 0 self._peer_sequence_number = None self._incoming_parts = [] self._security_policy = security_policy self._policies = [] self.channel = auto.OpenSecureChannelResult() self._old_tokens = [] self._open = False self._max_chunk_size = 65536 def set_channel(self, channel): """ Called on client side when getting secure channel data from server """ self.channel = channel def open(self, params, server): """ called on server side to open secure channel """ if not self._open or params.RequestType == auto.SecurityTokenRequestType.Issue: self._open = True self.channel = auto.OpenSecureChannelResult() self.channel.SecurityToken.TokenId = 13 # random value self.channel.SecurityToken.ChannelId = server.get_new_channel_id() self.channel.SecurityToken.RevisedLifetime = params.RequestedLifetime else: self._old_tokens.append(self.channel.SecurityToken.TokenId) self.channel.SecurityToken.TokenId += 1 self.channel.SecurityToken.CreatedAt = datetime.utcnow() self.channel.SecurityToken.RevisedLifetime = params.RequestedLifetime self.channel.ServerNonce = utils.create_nonce(self._security_policy.symmetric_key_size) self._security_policy.make_symmetric_key(self.channel.ServerNonce, params.ClientNonce) return self.channel def close(self): self._open = False def is_open(self): return self._open def set_policy_factories(self, policies): """ Set a list of available security policies. Use this in servers with multiple endpoints with different security """ self._policies = policies @staticmethod def _policy_matches(policy, uri, mode=None): return policy.URI == uri and (mode is None or policy.Mode == mode) def select_policy(self, uri, peer_certificate, mode=None): for policy in self._policies: if policy.matches(uri, mode): self._security_policy = policy.create(peer_certificate) return if self._security_policy.URI != uri or (mode is not None and self._security_policy.Mode != mode): raise UaError("No matching policy: {0}, {1}".format(uri, mode)) def tcp_to_binary(self, message_type, message): """ Convert OPC UA TCP message (see OPC UA specs Part 6, 7.1) to binary. The only supported types are Hello, Acknowledge and ErrorMessage """ header = Header(message_type, ChunkType.Single) binmsg = message.to_binary() header.body_size = len(binmsg) return header.to_binary() + binmsg def message_to_binary(self, message, message_type=MessageType.SecureMessage, request_id=0, algohdr=None): """ Convert OPC UA secure message to binary. The only supported types are SecureOpen, SecureMessage, SecureClose if message_type is SecureMessage, the AlgoritmHeader should be passed as arg """ if algohdr is None: token_id = self.channel.SecurityToken.TokenId else: token_id = algohdr.TokenId chunks = MessageChunk.message_to_chunks( self._security_policy, message, self._max_chunk_size, message_type=message_type, channel_id=self.channel.SecurityToken.ChannelId, request_id=request_id, token_id=token_id) for chunk in chunks: self._sequence_number += 1 if self._sequence_number >= (1 << 32): logger.debug("Wrapping sequence number: %d -> 1", self._sequence_number) self._sequence_number = 1 chunk.SequenceHeader.SequenceNumber = self._sequence_number return b"".join([chunk.to_binary() for chunk in chunks]) def _check_incoming_chunk(self, chunk): assert isinstance(chunk, MessageChunk), "Expected chunk, got: {0}".format(chunk) if chunk.MessageHeader.MessageType != MessageType.SecureOpen: if chunk.MessageHeader.ChannelId != self.channel.SecurityToken.ChannelId: raise UaError("Wrong channel id {0}, expected {1}".format( chunk.MessageHeader.ChannelId, self.channel.SecurityToken.ChannelId)) if chunk.SecurityHeader.TokenId != self.channel.SecurityToken.TokenId: if chunk.SecurityHeader.TokenId not in self._old_tokens: logger.warning("Received a chunk with wrong token id %s, expected %s", chunk.SecurityHeader.TokenId, self.channel.SecurityToken.TokenId) #raise UaError("Wrong token id {}, expected {}, old tokens are {}".format( #chunk.SecurityHeader.TokenId, #self.channel.SecurityToken.TokenId, #self._old_tokens)) else: # Do some cleanup, spec says we can remove old tokens when new one are used idx = self._old_tokens.index(chunk.SecurityHeader.TokenId) if idx != 0: self._old_tokens = self._old_tokens[idx:] if self._incoming_parts: if self._incoming_parts[0].SequenceHeader.RequestId != chunk.SequenceHeader.RequestId: raise UaError("Wrong request id {0}, expected {1}".format( chunk.SequenceHeader.RequestId, self._incoming_parts[0].SequenceHeader.RequestId)) # sequence number must be incremented or wrapped num = chunk.SequenceHeader.SequenceNumber if self._peer_sequence_number is not None: if num != self._peer_sequence_number + 1: wrap = (1 << 32) - 1024 if num < 1024 and self._peer_sequence_number >= wrap: # specs Part 6, 6.7.2 logger.debug("Sequence number wrapped: %d -> %d", self._peer_sequence_number, num) else: raise UaError( "Wrong sequence {0} -> {1} (server bug or replay attack)" .format(self._peer_sequence_number, num)) self._peer_sequence_number = num def receive_from_header_and_body(self, header, body): """ Convert MessageHeader and binary body to OPC UA TCP message (see OPC UA specs Part 6, 7.1: Hello, Acknowledge or ErrorMessage), or a Message object, or None (if intermediate chunk is received) """ if header.MessageType == MessageType.SecureOpen: data = body.copy(header.body_size) security_header = AsymmetricAlgorithmHeader.from_binary(data) self.select_policy(security_header.SecurityPolicyURI, security_header.SenderCertificate) if header.MessageType in (MessageType.SecureMessage, MessageType.SecureOpen, MessageType.SecureClose): chunk = MessageChunk.from_header_and_body(self._security_policy, header, body) return self._receive(chunk) elif header.MessageType == MessageType.Hello: msg = Hello.from_binary(body) self._max_chunk_size = msg.ReceiveBufferSize return msg elif header.MessageType == MessageType.Acknowledge: msg = Acknowledge.from_binary(body) self._max_chunk_size = msg.SendBufferSize return msg elif header.MessageType == MessageType.Error: msg = ErrorMessage.from_binary(body) logger.warning("Received an error: %s", msg) return msg else: raise UaError("Unsupported message type {0}".format(header.MessageType)) def receive_from_socket(self, socket): """ Convert binary stream to OPC UA TCP message (see OPC UA specs Part 6, 7.1: Hello, Acknowledge or ErrorMessage), or a Message object, or None (if intermediate chunk is received) """ logger.debug("Waiting for header") header = Header.from_string(socket) logger.info("received header: %s", header) body = socket.read(header.body_size) if len(body) != header.body_size: raise UaError("{0} bytes expected, {1} available".format(header.body_size, len(body))) return self.receive_from_header_and_body(header, utils.Buffer(body)) def _receive(self, msg): self._check_incoming_chunk(msg) self._incoming_parts.append(msg) if msg.MessageHeader.ChunkType == ChunkType.Intermediate: return None if msg.MessageHeader.ChunkType == ChunkType.Abort: err = ErrorMessage.from_binary(utils.Buffer(msg.Body)) logger.warning("Message %s aborted: %s", msg, err) # specs Part 6, 6.7.3 say that aborted message shall be ignored # and SecureChannel should not be closed self._incoming_parts = [] return None elif msg.MessageHeader.ChunkType == ChunkType.Single: message = Message(self._incoming_parts) self._incoming_parts = [] return message else: raise UaError("Unsupported chunk type: {0}".format(msg)) # FIXES for missing switchfield in NodeAttributes classes ana = auto.NodeAttributesMask class ObjectAttributes(auto.ObjectAttributes): def __init__(self): auto.ObjectAttributes.__init__(self) self.SpecifiedAttributes = ana.DisplayName | ana.Description | ana.WriteMask | ana.UserWriteMask | ana.EventNotifier class ObjectTypeAttributes(auto.ObjectTypeAttributes): def __init__(self): auto.ObjectTypeAttributes.__init__(self) self.SpecifiedAttributes = ana.DisplayName | ana.Description | ana.WriteMask | ana.UserWriteMask | ana.IsAbstract class VariableAttributes(auto.VariableAttributes): def __init__(self): auto.VariableAttributes.__init__(self) self.SpecifiedAttributes = ana.DisplayName | ana.Description | ana.WriteMask | ana.UserWriteMask | ana.Value | ana.DataType | ana.ValueRank | ana.ArrayDimensions | ana.AccessLevel | ana.UserAccessLevel | ana.MinimumSamplingInterval | ana.Historizing self.Historizing = False self.AccessLevel = AccessLevel.CurrentRead.mask self.UserAccessLevel = AccessLevel.CurrentRead.mask class VariableTypeAttributes(auto.VariableTypeAttributes): def __init__(self): auto.VariableTypeAttributes.__init__(self) self.SpecifiedAttributes = ana.DisplayName | ana.Description | ana.WriteMask | ana.UserWriteMask | ana.Value | ana.DataType | ana.ValueRank | ana.ArrayDimensions | ana.IsAbstract class MethodAttributes(auto.MethodAttributes): def __init__(self): auto.MethodAttributes.__init__(self) self.SpecifiedAttributes = ana.DisplayName | ana.Description | ana.WriteMask | ana.UserWriteMask | ana.Executable | ana.UserExecutable class ReferenceTypeAttributes(auto.ReferenceTypeAttributes): def __init__(self): auto.ReferenceTypeAttributes.__init__(self) self.SpecifiedAttributes = ana.DisplayName | ana.Description | ana.WriteMask | ana.UserWriteMask | ana.IsAbstract | ana.Symmetric | ana.InverseName class DataTypeAttributes(auto.DataTypeAttributes): def __init__(self): auto.DataTypeAttributes.__init__(self) self.SpecifiedAttributes = ana.DisplayName | ana.Description | ana.WriteMask | ana.UserWriteMask | ana.IsAbstract class ViewAttributes(auto.ViewAttributes): def __init__(self): auto.ViewAttributes.__init__(self) self.SpecifiedAttributes = ana.DisplayName | ana.Description | ana.WriteMask | ana.UserWriteMask | ana.ContainsNoLoops | ana.EventNotifier class Argument(auto.Argument): def __init__(self): auto.Argument.__init__(self) self.ValueRank = -2 #AttributeIdsInv = {v: k for k, v in AttributeIds.__dict__.items()} python-opcua-0.90.3/opcua/ua/uatypes.py000066400000000000000000001074171310132730300200140ustar00rootroot00000000000000""" implement ua datatypes """ import logging import struct from enum import Enum, IntEnum from datetime import datetime import sys import os import uuid import re import itertools from opcua.ua import ua_binary as uabin from opcua.ua import status_codes from opcua.ua import ObjectIds from opcua.ua.uaerrors import UaError from opcua.ua.uaerrors import UaStatusCodeError from opcua.ua.uaerrors import UaStringParsingError from opcua.common.utils import Buffer logger = logging.getLogger(__name__) if sys.version_info.major > 2: unicode = str def get_win_epoch(): return uabin.win_epoch_to_datetime(0) class _FrozenClass(object): """ Make it impossible to add members to a class. Not pythonic at all but we found out it prevents many many bugs in use of protocol structures """ _freeze = False def __setattr__(self, key, value): if self._freeze and not hasattr(self, key): raise TypeError("Error adding member '{0}' to class '{1}', class is frozen, members are {2}".format( key, self.__class__.__name__, self.__dict__.keys())) object.__setattr__(self, key, value) if "PYOPCUA_NO_TYPO_CHECK" in os.environ: # typo check is cpu consuming, but it will make debug easy. # if typo check is not need (in production), please set env PYOPCUA_NO_TYPO_CHECK. # this will make all uatype class inherit from object intead of _FrozenClass # and skip the typo check. FrozenClass = object else: FrozenClass = _FrozenClass class ValueRank(IntEnum): """ Defines dimensions of a variable. This enum does not support all cases since ValueRank support any n>0 but since it is an IntEnum it can be replace by a normal int """ ScalarOrOneDimension = -3 Any = -2 Scalar = -1 OneOrMoreDimensions = 0 OneDimension = 1 # the next names are not in spec but so common we express them here TwoDimensions = 2 ThreeDimensions = 3 FourDimensions = 4 class _MaskEnum(IntEnum): @classmethod def parse_bitfield(cls, the_int): """ Take an integer and interpret it as a set of enum values. """ assert isinstance(the_int, int) return {cls(b) for b in cls._bits(the_int)} @classmethod def to_bitfield(cls, collection): """ Takes some enum values and creates an integer from them. """ # make sure all elements are of the correct type (use itertools.tee in case we get passed an # iterator) iter1, iter2 = itertools.tee(iter(collection)) assert all(isinstance(x, cls) for x in iter1) return sum(x.mask for x in iter2) @property def mask(self): return 1 << self.value @staticmethod def _bits(n): """ Iterate over the bits in n. e.g. bits(44) yields at 2, 3, 5 """ assert n >= 0 # avoid infinite recursion pos = 0 while n: if n & 0x1: yield pos n = n // 2 pos += 1 class AccessLevel(_MaskEnum): """ Bit index to indicate what the access level is. Spec Part 3, appears multiple times, e.g. paragraph 5.6.2 Variable NodeClass """ CurrentRead = 0 CurrentWrite = 1 HistoryRead = 2 HistoryWrite = 3 SemanticChange = 4 StatusWrite = 5 TimestampWrite = 6 class WriteMask(_MaskEnum): """ Bit index to indicate which attribute of a node is writable Spec Part 3, Paragraph 5.2.7 WriteMask """ AccessLevel = 0 ArrayDimensions = 1 BrowseName = 2 ContainsNoLoops = 3 DataType = 4 Description = 5 DisplayName = 6 EventNotifier = 7 Executable = 8 Historizing = 9 InverseName = 10 IsAbstract = 11 MinimumSamplingInterval = 12 NodeClass = 13 NodeId = 14 Symmetric = 15 UserAccessLevel = 16 UserExecutable = 17 UserWriteMask = 18 ValueRank = 19 WriteMask = 20 ValueForVariableType = 21 class EventNotifier(_MaskEnum): """ Bit index to indicate how a node can be used for events. Spec Part 3, appears multiple times, e.g. Paragraph 5.4 View NodeClass """ SubscribeToEvents = 0 # Reserved = 1 HistoryRead = 2 HistoryWrite = 3 class StatusCode(FrozenClass): """ :ivar value: :vartype value: int :ivar name: :vartype name: string :ivar doc: :vartype doc: string """ def __init__(self, value=0): if isinstance(value, str): self.name = value self.value = getattr(status_codes.StatusCodes, value) else: self.value = value self.name, self.doc = status_codes.get_name_and_doc(value) self._freeze = True def to_binary(self): return uabin.Primitives.UInt32.pack(self.value) @staticmethod def from_binary(data): val = uabin.Primitives.UInt32.unpack(data) sc = StatusCode(val) return sc def check(self): """ Raises an exception if the status code is anything else than 0 (good). Use the is_good() method if you do not want an exception. """ if not self.is_good(): raise UaStatusCodeError(self.value) def is_good(self): """ return True if status is Good. """ mask = 3 << 30 if mask & self.value: return False else: return True def __str__(self): return 'StatusCode({0})'.format(self.name) __repr__ = __str__ def __eq__(self, other): return self.value == other.value def __ne__(self, other): return not self.__eq__(other) class NodeIdType(IntEnum): TwoByte = 0 FourByte = 1 Numeric = 2 String = 3 Guid = 4 ByteString = 5 class NodeId(FrozenClass): """ NodeId Object Args: identifier: The identifier might be an int, a string, bytes or a Guid namespaceidx(int): The index of the namespace nodeidtype(NodeIdType): The type of the nodeid if it cannor be guess or you want something special like twobyte nodeid or fourbytenodeid :ivar Identifier: :vartype Identifier: NodeId :ivar NamespaceIndex: :vartype NamespaceIndex: Int :ivar NamespaceUri: :vartype NamespaceUri: String :ivar ServerIndex: :vartype ServerIndex: Int """ def __init__(self, identifier=None, namespaceidx=0, nodeidtype=None): self.Identifier = identifier self.NamespaceIndex = namespaceidx self.NodeIdType = nodeidtype self.NamespaceUri = "" self.ServerIndex = 0 self._freeze = True if not isinstance(self.NamespaceIndex, int): raise UaError("NamespaceIndex must be an int") if self.Identifier is None: self.Identifier = 0 self.NodeIdType = NodeIdType.TwoByte return if self.NodeIdType is None: if isinstance(self.Identifier, int): self.NodeIdType = NodeIdType.Numeric elif isinstance(self.Identifier, str): self.NodeIdType = NodeIdType.String elif isinstance(self.Identifier, bytes): self.NodeIdType = NodeIdType.ByteString elif isinstance(self.Identifier, uuid.UUID): self.NodeIdType = NodeIdType.Guid else: raise UaError("NodeId: Could not guess type of NodeId, set NodeIdType") def _key(self): if self.NodeIdType in (NodeIdType.TwoByte, NodeIdType.FourByte, NodeIdType.Numeric): # twobyte, fourbyte and numeric may represent the same node return (NodeIdType.Numeric, self.NamespaceIndex, self.Identifier) return (self.NodeIdType, self.NamespaceIndex, self.Identifier) def __eq__(self, node): return isinstance(node, NodeId) and self._key() == node._key() def __ne__(self, other): return not self.__eq__(other) def __hash__(self): return hash(self._key()) def __lt__(self, other): if not isinstance(other, NodeId): raise AttributeError("Can only compare to NodeId") return self._key() < other._key() def is_null(self): if self.NamespaceIndex != 0: return False return self.has_null_identifier() def has_null_identifier(self): if not self.Identifier: return True if self.NodeIdType == NodeIdType.Guid and re.match(b'0.', self.Identifier): return True return False @staticmethod def from_string(string): try: return NodeId._from_string(string) except ValueError as ex: raise UaStringParsingError("Error parsing string {0}".format(string), ex) @staticmethod def _from_string(string): l = string.split(";") identifier = None namespace = 0 ntype = None srv = None nsu = None for el in l: if not el: continue k, v = el.split("=", 1) k = k.strip() v = v.strip() if k == "ns": namespace = int(v) elif k == "i": ntype = NodeIdType.Numeric identifier = int(v) elif k == "s": ntype = NodeIdType.String identifier = v elif k == "g": ntype = NodeIdType.Guid identifier = v elif k == "b": ntype = NodeIdType.ByteString identifier = v elif k == "srv": srv = v elif k == "nsu": nsu = v if identifier is None: raise UaStringParsingError("Could not find identifier in string: " + string) nodeid = NodeId(identifier, namespace, ntype) nodeid.NamespaceUri = nsu nodeid.ServerIndex = srv return nodeid def to_string(self): string = "" if self.NamespaceIndex != 0: string += "ns={0};".format(self.NamespaceIndex) ntype = None if self.NodeIdType == NodeIdType.Numeric: ntype = "i" elif self.NodeIdType == NodeIdType.String: ntype = "s" elif self.NodeIdType == NodeIdType.TwoByte: ntype = "i" elif self.NodeIdType == NodeIdType.FourByte: ntype = "i" elif self.NodeIdType == NodeIdType.Guid: ntype = "g" elif self.NodeIdType == NodeIdType.ByteString: ntype = "b" string += "{0}={1}".format(ntype, self.Identifier) if self.ServerIndex: string = "srv=" + str(self.ServerIndex) + string if self.NamespaceUri: string += "nsu={0}".format(self.NamespaceUri) return string def __str__(self): return "{0}NodeId({1})".format(self.NodeIdType.name, self.to_string()) __repr__ = __str__ def to_binary(self): if self.NodeIdType == NodeIdType.TwoByte: return struct.pack(" 0b00111111: raise UaError("Cannot create VariantType. VariantType must be {0} > x > {1}, received {2}".format(0b111111, 25, val)) def __str__(self): return "VariantType.Custom:{0}".format(self.value) __repr__ = __str__ def __eq__(self, other): return self.value == other.value class Variant(FrozenClass): """ Create an OPC-UA Variant object. if no argument a Null Variant is created. if not variant type is given, attemps to guess type from python type if a variant is given as value, the new objects becomes a copy of the argument :ivar Value: :vartype Value: Any supported type :ivar VariantType: :vartype VariantType: VariantType :ivar Dimension: :vartype Dimensions: The length of each dimensions. Usually guessed from value. :ivar is_array: :vartype is_array: If the variant is an array. Usually guessed from value. """ def __init__(self, value=None, varianttype=None, dimensions=None, is_array=None): self.Value = value self.VariantType = varianttype self.Dimensions = dimensions self.is_array = is_array if self.is_array is None: if isinstance(value, (list, tuple)): self.is_array = True else: self.is_array = False self._freeze = True if isinstance(value, Variant): self.Value = value.Value self.VariantType = value.VariantType if self.VariantType is None: self.VariantType = self._guess_type(self.Value) if self.Value is None and not self.is_array and self.VariantType not in ( VariantType.Null, VariantType.String, VariantType.DateTime): raise UaError("Non array Variant of type {0} cannot have value None".format(self.VariantType)) if self.Dimensions is None and isinstance(self.Value, (list, tuple)): dims = get_shape(self.Value) if len(dims) > 1: self.Dimensions = dims def __eq__(self, other): if isinstance(other, Variant) and self.VariantType == other.VariantType and self.Value == other.Value: return True return False def __ne__(self, other): return not self.__eq__(other) def _guess_type(self, val): if isinstance(val, (list, tuple)): error_val = val while isinstance(val, (list, tuple)): if len(val) == 0: raise UaError("could not guess UA type of variable {0}".format(error_val)) val = val[0] if val is None: return VariantType.Null elif isinstance(val, bool): return VariantType.Boolean elif isinstance(val, float): return VariantType.Double elif isinstance(val, IntEnum): return VariantType.Int32 elif isinstance(val, int): return VariantType.Int64 elif type(val) in (str, unicode): return VariantType.String elif isinstance(val, bytes): return VariantType.ByteString elif isinstance(val, datetime): return VariantType.DateTime elif isinstance(val, uuid.UUID): return VariantType.Guid else: if isinstance(val, object): try: return getattr(VariantType, val.__class__.__name__) except AttributeError: return VariantType.ExtensionObject else: raise UaError("Could not guess UA type of {0} with type {1}, specify UA type".format(val, type(val))) def __str__(self): return "Variant(val:{0!s},type:{1})".format(self.Value, self.VariantType) __repr__ = __str__ def to_binary(self): b = [] encoding = self.VariantType.value & 0b111111 if self.is_array or type(self.Value) in (list, tuple): self.is_array = True encoding = uabin.set_bit(encoding, 7) if self.Dimensions is not None: encoding = uabin.set_bit(encoding, 6) b.append(uabin.Primitives.UInt8.pack(encoding)) b.append(uabin.pack_uatype_array(self.VariantType, flatten(self.Value))) if self.Dimensions is not None: b.append(uabin.pack_uatype_array(VariantType.Int32, self.Dimensions)) else: b.append(uabin.Primitives.UInt8.pack(encoding)) b.append(uabin.pack_uatype(self.VariantType, self.Value)) return b"".join(b) @staticmethod def from_binary(data): dimensions = None array = False encoding = ord(data.read(1)) int_type = encoding & 0b00111111 vtype = datatype_to_varianttype(int_type) if uabin.test_bit(encoding, 7): value = uabin.unpack_uatype_array(vtype, data) array = True else: value = uabin.unpack_uatype(vtype, data) if uabin.test_bit(encoding, 6): dimensions = uabin.unpack_uatype_array(VariantType.Int32, data) value = reshape(value, dimensions) return Variant(value, vtype, dimensions, is_array=array) def reshape(flat, dims): subdims = dims[1:] subsize = 1 for i in subdims: if i == 0: i = 1 subsize *= i while dims[0] * subsize > len(flat): flat.append([]) if not subdims or subdims == [0]: return flat return [reshape(flat[i: i + subsize], subdims) for i in range(0, len(flat), subsize)] def _split_list(l, n): n = max(1, n) return [l[i:i + n] for i in range(0, len(l), n)] def flatten_and_get_shape(mylist): dims = [] dims.append(len(mylist)) while isinstance(mylist[0], (list, tuple)): dims.append(len(mylist[0])) mylist = [item for sublist in mylist for item in sublist] if len(mylist) == 0: break return mylist, dims def flatten(mylist): if mylist is None: return None elif len(mylist) == 0: return mylist while isinstance(mylist[0], (list, tuple)): mylist = [item for sublist in mylist for item in sublist] if len(mylist) == 0: break return mylist def get_shape(mylist): dims = [] while isinstance(mylist, (list, tuple)): dims.append(len(mylist)) if len(mylist) == 0: break mylist = mylist[0] return dims class XmlElement(FrozenClass): """ An XML element encoded as an UTF-8 string. """ def __init__(self, value=None, binary=None): if binary is not None: self._binary_init(binary) self._freeze = True return self.Value = value self._freeze = True def to_binary(self): return uabin.Primitives.String.pack(self.Value) def __eq__(self, other): return isinstance(other, XmlElement) and self.Value == other.Value @staticmethod def from_binary(data): return XmlElement(binary=data) def _binary_init(self, data): self.Value = uabin.Primitives.String.unpack(data) def __str__(self): return 'XmlElement(Value:' + str(self.Value) + ')' __repr__ = __str__ class DataValue(FrozenClass): """ A value with an associated timestamp, and quality. Automatically generated from xml , copied and modified here to fix errors in xml spec :ivar Value: :vartype Value: Variant :ivar StatusCode: :vartype StatusCode: StatusCode :ivar SourceTimestamp: :vartype SourceTimestamp: datetime :ivar SourcePicoSeconds: :vartype SourcePicoSeconds: int :ivar ServerTimestamp: :vartype ServerTimestamp: datetime :ivar ServerPicoseconds: :vartype ServerPicoseconds: int """ def __init__(self, variant=None, status=None): self.Encoding = 0 if not isinstance(variant, Variant): variant = Variant(variant) self.Value = variant if status is None: self.StatusCode = StatusCode() else: self.StatusCode = status self.SourceTimestamp = None # DateTime() self.SourcePicoseconds = None self.ServerTimestamp = None # DateTime() self.ServerPicoseconds = None self._freeze = True def to_binary(self): packet = [] if self.Value: self.Encoding |= (1 << 0) if self.StatusCode: self.Encoding |= (1 << 1) if self.SourceTimestamp: self.Encoding |= (1 << 2) if self.ServerTimestamp: self.Encoding |= (1 << 3) if self.SourcePicoseconds: self.Encoding |= (1 << 4) if self.ServerPicoseconds: self.Encoding |= (1 << 5) packet.append(uabin.Primitives.UInt8.pack(self.Encoding)) if self.Value: packet.append(self.Value.to_binary()) if self.StatusCode: packet.append(self.StatusCode.to_binary()) if self.SourceTimestamp: packet.append(uabin.Primitives.DateTime.pack(self.SourceTimestamp)) # self.SourceTimestamp.to_binary()) if self.ServerTimestamp: packet.append(uabin.Primitives.DateTime.pack(self.ServerTimestamp)) # self.ServerTimestamp.to_binary()) if self.SourcePicoseconds: packet.append(uabin.Primitives.UInt16.pack(self.SourcePicoseconds)) if self.ServerPicoseconds: packet.append(uabin.Primitives.UInt16.pack(self.ServerPicoseconds)) return b''.join(packet) @staticmethod def from_binary(data): encoding = ord(data.read(1)) if encoding & (1 << 0): value = Variant.from_binary(data) else: value = None if encoding & (1 << 1): status = StatusCode.from_binary(data) else: status = None obj = DataValue(value, status) obj.Encoding = encoding if obj.Encoding & (1 << 2): obj.SourceTimestamp = uabin.Primitives.DateTime.unpack(data) # DateTime.from_binary(data) if obj.Encoding & (1 << 3): obj.ServerTimestamp = uabin.Primitives.DateTime.unpack(data) # DateTime.from_binary(data) if obj.Encoding & (1 << 4): obj.SourcePicoseconds = uabin.Primitives.UInt16.unpack(data) if obj.Encoding & (1 << 5): obj.ServerPicoseconds = uabin.Primitives.UInt16.unpack(data) return obj def __str__(self): s = 'DataValue(Value:{0}'.format(self.Value) if self.StatusCode is not None: s += ', StatusCode:{0}'.format(self.StatusCode) if self.SourceTimestamp is not None: s += ', SourceTimestamp:{0}'.format(self.SourceTimestamp) if self.ServerTimestamp is not None: s += ', ServerTimestamp:{0}'.format(self.ServerTimestamp) if self.SourcePicoseconds is not None: s += ', SourcePicoseconds:{0}'.format(self.SourcePicoseconds) if self.ServerPicoseconds is not None: s += ', ServerPicoseconds:{0}'.format(self.ServerPicoseconds) s += ')' return s __repr__ = __str__ def datatype_to_varianttype(int_type): """ Takes a NodeId or int and return a VariantType This is only supported if int_type < 63 due to VariantType encoding At low level we do not have access to address space thus decoding is limited a better version of this method can be find in ua_utils.py """ if isinstance(int_type, NodeId): int_type = int_type.Identifier if int_type <= 25: return VariantType(int_type) else: return VariantTypeCustom(int_type) def get_default_value(vtype): """ Given a variant type return default value for this type """ if vtype == VariantType.Null: return None elif vtype == VariantType.Boolean: return False elif vtype in (VariantType.SByte, VariantType.Byte): return 0 elif vtype == VariantType.ByteString: return b"" elif 4 <= vtype.value <= 9: return 0 elif vtype in (VariantType.Float, VariantType.Double): return 0.0 elif vtype == VariantType.String: return None # a string can be null elif vtype == VariantType.DateTime: return datetime.utcnow() elif vtype == VariantType.Guid: return uuid.uuid4() elif vtype == VariantType.XmlElement: return None #Not sure this is correct elif vtype == VariantType.NodeId: return NodeId() elif vtype == VariantType.ExpandedNodeId: return NodeId() elif vtype == VariantType.StatusCode: return StatusCode() elif vtype == VariantType.QualifiedName: return QualifiedName() elif vtype == VariantType.LocalizedText: return LocalizedText() elif vtype == VariantType.ExtensionObject: return ExtensionObject() elif vtype == VariantType.DataValue: return DataValue() elif vtype == VariantType.Variant: return Variant() else: raise RuntimeError("function take a uatype as argument, got:", vtype) # These dictionnaries are used to register extensions classes for automatic # decoding and encoding extension_object_classes = {} extension_object_ids = {} def register_extension_object(name, nodeid, class_type): """ """ logger.warning("registring new extension object: %s %s %s", name, nodeid, class_type) extension_object_classes[nodeid] = class_type extension_object_ids[name] = nodeid def extensionobject_from_binary(data): """ Convert binary-coded ExtensionObject to a Python object. Returns an object, or None if TypeId is zero """ typeid = NodeId.from_binary(data) Encoding = ord(data.read(1)) body = None if Encoding & (1 << 0): length = uabin.Primitives.Int32.unpack(data) if length < 1: body = Buffer(b"") else: body = data.copy(length) data.skip(length) if typeid.Identifier == 0: return None elif typeid in extension_object_classes: klass = extension_object_classes[typeid] if body is None: raise UaError("parsing ExtensionObject {0} without data".format(klass.__name__)) return klass.from_binary(body) else: e = ExtensionObject() e.TypeId = typeid e.Encoding = Encoding if body is not None: e.Body = body.read(len(body)) return e def extensionobject_to_binary(obj): """ Convert Python object to binary-coded ExtensionObject. If obj is None, convert to empty ExtensionObject (TypeId = 0, no Body). Returns a binary string """ if isinstance(obj, ExtensionObject): return obj.to_binary() if obj is None: TypeId = NodeId() Encoding = 0 Body = None else: TypeId = extension_object_ids[obj.__class__.__name__] Encoding = 0x01 Body = obj.to_binary() packet = [] packet.append(TypeId.to_binary()) packet.append(uabin.Primitives.UInt8.pack(Encoding)) if Body: packet.append(uabin.Primitives.Bytes.pack(Body)) return b''.join(packet) python-opcua-0.90.3/release.py000066400000000000000000000021401310132730300162110ustar00rootroot00000000000000import re import os def bump_version(): with open("setup.py") as f: s = f.read() m = re.search(r'version="(.*)\.(.*)\.(.*)",', s) v1, v2, v3 = m.groups() oldv = "{0}.{1}.{2}".format(v1, v2, v3) newv = "{0}.{1}.{2}".format(v1, v2, str(int(v3) + 1)) print("Current version is: {0}, write new version, ctrl-c to exit".format(oldv)) ans = input(newv) if ans: newv = ans s = s.replace(oldv, newv) with open("setup.py", "w") as f: f.write(s) return newv def release(): v = bump_version() ans = input("version bumped, commiting?(Y/n)") if ans in ("", "y", "yes"): os.system("git add setup.py") os.system("git commit -m 'new release'") os.system("git tag {0}".format(v)) ans = input("change committed, push to server?(Y/n)") if ans in ("", "y", "yes"): os.system("git push") os.system("git push --tags") ans = input("upload to pip?(Y/n)") if ans in ("", "y", "yes"): os.system("python setup.py sdist upload") if __name__ == "__main__": release() python-opcua-0.90.3/run-tests.sh000077500000000000000000000000401310132730300165170ustar00rootroot00000000000000#!/bin/sh python tests/tests.py python-opcua-0.90.3/schemas/000077500000000000000000000000001310132730300156455ustar00rootroot00000000000000python-opcua-0.90.3/schemas/AttributeIds.csv000066400000000000000000000005351310132730300207700ustar00rootroot00000000000000NodeId,1 NodeClass,2 BrowseName,3 DisplayName,4 Description,5 WriteMask,6 UserWriteMask,7 IsAbstract,8 Symmetric,9 InverseName,10 ContainsNoLoops,11 EventNotifier,12 Value,13 DataType,14 ValueRank,15 ArrayDimensions,16 AccessLevel,17 UserAccessLevel,18 MinimumSamplingInterval,19 Historizing,20 Executable,21 UserExecutable,22 python-opcua-0.90.3/schemas/NodeIds.csv000066400000000000000000012455111310132730300177200ustar00rootroot00000000000000Boolean,1,DataType SByte,2,DataType Byte,3,DataType Int16,4,DataType UInt16,5,DataType Int32,6,DataType UInt32,7,DataType Int64,8,DataType UInt64,9,DataType Float,10,DataType Double,11,DataType String,12,DataType DateTime,13,DataType Guid,14,DataType ByteString,15,DataType XmlElement,16,DataType NodeId,17,DataType ExpandedNodeId,18,DataType StatusCode,19,DataType QualifiedName,20,DataType LocalizedText,21,DataType Structure,22,DataType DataValue,23,DataType BaseDataType,24,DataType DiagnosticInfo,25,DataType Number,26,DataType Integer,27,DataType UInteger,28,DataType Enumeration,29,DataType Image,30,DataType References,31,ReferenceType NonHierarchicalReferences,32,ReferenceType HierarchicalReferences,33,ReferenceType HasChild,34,ReferenceType Organizes,35,ReferenceType HasEventSource,36,ReferenceType HasModellingRule,37,ReferenceType HasEncoding,38,ReferenceType HasDescription,39,ReferenceType HasTypeDefinition,40,ReferenceType GeneratesEvent,41,ReferenceType Aggregates,44,ReferenceType HasSubtype,45,ReferenceType HasProperty,46,ReferenceType HasComponent,47,ReferenceType HasNotifier,48,ReferenceType HasOrderedComponent,49,ReferenceType FromState,51,ReferenceType ToState,52,ReferenceType HasCause,53,ReferenceType HasEffect,54,ReferenceType HasHistoricalConfiguration,56,ReferenceType BaseObjectType,58,ObjectType FolderType,61,ObjectType BaseVariableType,62,VariableType BaseDataVariableType,63,VariableType PropertyType,68,VariableType DataTypeDescriptionType,69,VariableType DataTypeDictionaryType,72,VariableType DataTypeSystemType,75,ObjectType DataTypeEncodingType,76,ObjectType ModellingRuleType,77,ObjectType ModellingRule_Mandatory,78,Object ModellingRule_MandatoryShared,79,Object ModellingRule_Optional,80,Object ModellingRule_ExposesItsArray,83,Object RootFolder,84,Object ObjectsFolder,85,Object TypesFolder,86,Object ViewsFolder,87,Object ObjectTypesFolder,88,Object VariableTypesFolder,89,Object DataTypesFolder,90,Object ReferenceTypesFolder,91,Object XmlSchema_TypeSystem,92,Object OPCBinarySchema_TypeSystem,93,Object DataTypeDescriptionType_DataTypeVersion,104,Variable DataTypeDescriptionType_DictionaryFragment,105,Variable DataTypeDictionaryType_DataTypeVersion,106,Variable DataTypeDictionaryType_NamespaceUri,107,Variable ModellingRuleType_NamingRule,111,Variable ModellingRule_Mandatory_NamingRule,112,Variable ModellingRule_Optional_NamingRule,113,Variable ModellingRule_ExposesItsArray_NamingRule,114,Variable ModellingRule_MandatoryShared_NamingRule,116,Variable HasSubStateMachine,117,ReferenceType NamingRuleType,120,DataType Decimal128,121,DataType IdType,256,DataType NodeClass,257,DataType Node,258,DataType Node_Encoding_DefaultXml,259,Object Node_Encoding_DefaultBinary,260,Object ObjectNode,261,DataType ObjectNode_Encoding_DefaultXml,262,Object ObjectNode_Encoding_DefaultBinary,263,Object ObjectTypeNode,264,DataType ObjectTypeNode_Encoding_DefaultXml,265,Object ObjectTypeNode_Encoding_DefaultBinary,266,Object VariableNode,267,DataType VariableNode_Encoding_DefaultXml,268,Object VariableNode_Encoding_DefaultBinary,269,Object VariableTypeNode,270,DataType VariableTypeNode_Encoding_DefaultXml,271,Object VariableTypeNode_Encoding_DefaultBinary,272,Object ReferenceTypeNode,273,DataType ReferenceTypeNode_Encoding_DefaultXml,274,Object ReferenceTypeNode_Encoding_DefaultBinary,275,Object MethodNode,276,DataType MethodNode_Encoding_DefaultXml,277,Object MethodNode_Encoding_DefaultBinary,278,Object ViewNode,279,DataType ViewNode_Encoding_DefaultXml,280,Object ViewNode_Encoding_DefaultBinary,281,Object DataTypeNode,282,DataType DataTypeNode_Encoding_DefaultXml,283,Object DataTypeNode_Encoding_DefaultBinary,284,Object ReferenceNode,285,DataType ReferenceNode_Encoding_DefaultXml,286,Object ReferenceNode_Encoding_DefaultBinary,287,Object IntegerId,288,DataType Counter,289,DataType Duration,290,DataType NumericRange,291,DataType Time,292,DataType Date,293,DataType UtcTime,294,DataType LocaleId,295,DataType Argument,296,DataType Argument_Encoding_DefaultXml,297,Object Argument_Encoding_DefaultBinary,298,Object StatusResult,299,DataType StatusResult_Encoding_DefaultXml,300,Object StatusResult_Encoding_DefaultBinary,301,Object MessageSecurityMode,302,DataType UserTokenType,303,DataType UserTokenPolicy,304,DataType UserTokenPolicy_Encoding_DefaultXml,305,Object UserTokenPolicy_Encoding_DefaultBinary,306,Object ApplicationType,307,DataType ApplicationDescription,308,DataType ApplicationDescription_Encoding_DefaultXml,309,Object ApplicationDescription_Encoding_DefaultBinary,310,Object ApplicationInstanceCertificate,311,DataType EndpointDescription,312,DataType EndpointDescription_Encoding_DefaultXml,313,Object EndpointDescription_Encoding_DefaultBinary,314,Object SecurityTokenRequestType,315,DataType UserIdentityToken,316,DataType UserIdentityToken_Encoding_DefaultXml,317,Object UserIdentityToken_Encoding_DefaultBinary,318,Object AnonymousIdentityToken,319,DataType AnonymousIdentityToken_Encoding_DefaultXml,320,Object AnonymousIdentityToken_Encoding_DefaultBinary,321,Object UserNameIdentityToken,322,DataType UserNameIdentityToken_Encoding_DefaultXml,323,Object UserNameIdentityToken_Encoding_DefaultBinary,324,Object X509IdentityToken,325,DataType X509IdentityToken_Encoding_DefaultXml,326,Object X509IdentityToken_Encoding_DefaultBinary,327,Object EndpointConfiguration,331,DataType EndpointConfiguration_Encoding_DefaultXml,332,Object EndpointConfiguration_Encoding_DefaultBinary,333,Object ComplianceLevel,334,DataType SupportedProfile,335,DataType SupportedProfile_Encoding_DefaultXml,336,Object SupportedProfile_Encoding_DefaultBinary,337,Object BuildInfo,338,DataType BuildInfo_Encoding_DefaultXml,339,Object BuildInfo_Encoding_DefaultBinary,340,Object SoftwareCertificate,341,DataType SoftwareCertificate_Encoding_DefaultXml,342,Object SoftwareCertificate_Encoding_DefaultBinary,343,Object SignedSoftwareCertificate,344,DataType SignedSoftwareCertificate_Encoding_DefaultXml,345,Object SignedSoftwareCertificate_Encoding_DefaultBinary,346,Object AttributeWriteMask,347,DataType NodeAttributesMask,348,DataType NodeAttributes,349,DataType NodeAttributes_Encoding_DefaultXml,350,Object NodeAttributes_Encoding_DefaultBinary,351,Object ObjectAttributes,352,DataType ObjectAttributes_Encoding_DefaultXml,353,Object ObjectAttributes_Encoding_DefaultBinary,354,Object VariableAttributes,355,DataType VariableAttributes_Encoding_DefaultXml,356,Object VariableAttributes_Encoding_DefaultBinary,357,Object MethodAttributes,358,DataType MethodAttributes_Encoding_DefaultXml,359,Object MethodAttributes_Encoding_DefaultBinary,360,Object ObjectTypeAttributes,361,DataType ObjectTypeAttributes_Encoding_DefaultXml,362,Object ObjectTypeAttributes_Encoding_DefaultBinary,363,Object VariableTypeAttributes,364,DataType VariableTypeAttributes_Encoding_DefaultXml,365,Object VariableTypeAttributes_Encoding_DefaultBinary,366,Object ReferenceTypeAttributes,367,DataType ReferenceTypeAttributes_Encoding_DefaultXml,368,Object ReferenceTypeAttributes_Encoding_DefaultBinary,369,Object DataTypeAttributes,370,DataType DataTypeAttributes_Encoding_DefaultXml,371,Object DataTypeAttributes_Encoding_DefaultBinary,372,Object ViewAttributes,373,DataType ViewAttributes_Encoding_DefaultXml,374,Object ViewAttributes_Encoding_DefaultBinary,375,Object AddNodesItem,376,DataType AddNodesItem_Encoding_DefaultXml,377,Object AddNodesItem_Encoding_DefaultBinary,378,Object AddReferencesItem,379,DataType AddReferencesItem_Encoding_DefaultXml,380,Object AddReferencesItem_Encoding_DefaultBinary,381,Object DeleteNodesItem,382,DataType DeleteNodesItem_Encoding_DefaultXml,383,Object DeleteNodesItem_Encoding_DefaultBinary,384,Object DeleteReferencesItem,385,DataType DeleteReferencesItem_Encoding_DefaultXml,386,Object DeleteReferencesItem_Encoding_DefaultBinary,387,Object SessionAuthenticationToken,388,DataType RequestHeader,389,DataType RequestHeader_Encoding_DefaultXml,390,Object RequestHeader_Encoding_DefaultBinary,391,Object ResponseHeader,392,DataType ResponseHeader_Encoding_DefaultXml,393,Object ResponseHeader_Encoding_DefaultBinary,394,Object ServiceFault,395,DataType ServiceFault_Encoding_DefaultXml,396,Object ServiceFault_Encoding_DefaultBinary,397,Object EnumeratedTestType,398,DataType FindServersRequest,420,DataType FindServersRequest_Encoding_DefaultXml,421,Object FindServersRequest_Encoding_DefaultBinary,422,Object FindServersResponse,423,DataType FindServersResponse_Encoding_DefaultXml,424,Object FindServersResponse_Encoding_DefaultBinary,425,Object GetEndpointsRequest,426,DataType GetEndpointsRequest_Encoding_DefaultXml,427,Object GetEndpointsRequest_Encoding_DefaultBinary,428,Object GetEndpointsResponse,429,DataType GetEndpointsResponse_Encoding_DefaultXml,430,Object GetEndpointsResponse_Encoding_DefaultBinary,431,Object RegisteredServer,432,DataType RegisteredServer_Encoding_DefaultXml,433,Object RegisteredServer_Encoding_DefaultBinary,434,Object RegisterServerRequest,435,DataType RegisterServerRequest_Encoding_DefaultXml,436,Object RegisterServerRequest_Encoding_DefaultBinary,437,Object RegisterServerResponse,438,DataType RegisterServerResponse_Encoding_DefaultXml,439,Object RegisterServerResponse_Encoding_DefaultBinary,440,Object ChannelSecurityToken,441,DataType ChannelSecurityToken_Encoding_DefaultXml,442,Object ChannelSecurityToken_Encoding_DefaultBinary,443,Object OpenSecureChannelRequest,444,DataType OpenSecureChannelRequest_Encoding_DefaultXml,445,Object OpenSecureChannelRequest_Encoding_DefaultBinary,446,Object OpenSecureChannelResponse,447,DataType OpenSecureChannelResponse_Encoding_DefaultXml,448,Object OpenSecureChannelResponse_Encoding_DefaultBinary,449,Object CloseSecureChannelRequest,450,DataType CloseSecureChannelRequest_Encoding_DefaultXml,451,Object CloseSecureChannelRequest_Encoding_DefaultBinary,452,Object CloseSecureChannelResponse,453,DataType CloseSecureChannelResponse_Encoding_DefaultXml,454,Object CloseSecureChannelResponse_Encoding_DefaultBinary,455,Object SignatureData,456,DataType SignatureData_Encoding_DefaultXml,457,Object SignatureData_Encoding_DefaultBinary,458,Object CreateSessionRequest,459,DataType CreateSessionRequest_Encoding_DefaultXml,460,Object CreateSessionRequest_Encoding_DefaultBinary,461,Object CreateSessionResponse,462,DataType CreateSessionResponse_Encoding_DefaultXml,463,Object CreateSessionResponse_Encoding_DefaultBinary,464,Object ActivateSessionRequest,465,DataType ActivateSessionRequest_Encoding_DefaultXml,466,Object ActivateSessionRequest_Encoding_DefaultBinary,467,Object ActivateSessionResponse,468,DataType ActivateSessionResponse_Encoding_DefaultXml,469,Object ActivateSessionResponse_Encoding_DefaultBinary,470,Object CloseSessionRequest,471,DataType CloseSessionRequest_Encoding_DefaultXml,472,Object CloseSessionRequest_Encoding_DefaultBinary,473,Object CloseSessionResponse,474,DataType CloseSessionResponse_Encoding_DefaultXml,475,Object CloseSessionResponse_Encoding_DefaultBinary,476,Object CancelRequest,477,DataType CancelRequest_Encoding_DefaultXml,478,Object CancelRequest_Encoding_DefaultBinary,479,Object CancelResponse,480,DataType CancelResponse_Encoding_DefaultXml,481,Object CancelResponse_Encoding_DefaultBinary,482,Object AddNodesResult,483,DataType AddNodesResult_Encoding_DefaultXml,484,Object AddNodesResult_Encoding_DefaultBinary,485,Object AddNodesRequest,486,DataType AddNodesRequest_Encoding_DefaultXml,487,Object AddNodesRequest_Encoding_DefaultBinary,488,Object AddNodesResponse,489,DataType AddNodesResponse_Encoding_DefaultXml,490,Object AddNodesResponse_Encoding_DefaultBinary,491,Object AddReferencesRequest,492,DataType AddReferencesRequest_Encoding_DefaultXml,493,Object AddReferencesRequest_Encoding_DefaultBinary,494,Object AddReferencesResponse,495,DataType AddReferencesResponse_Encoding_DefaultXml,496,Object AddReferencesResponse_Encoding_DefaultBinary,497,Object DeleteNodesRequest,498,DataType DeleteNodesRequest_Encoding_DefaultXml,499,Object DeleteNodesRequest_Encoding_DefaultBinary,500,Object DeleteNodesResponse,501,DataType DeleteNodesResponse_Encoding_DefaultXml,502,Object DeleteNodesResponse_Encoding_DefaultBinary,503,Object DeleteReferencesRequest,504,DataType DeleteReferencesRequest_Encoding_DefaultXml,505,Object DeleteReferencesRequest_Encoding_DefaultBinary,506,Object DeleteReferencesResponse,507,DataType DeleteReferencesResponse_Encoding_DefaultXml,508,Object DeleteReferencesResponse_Encoding_DefaultBinary,509,Object BrowseDirection,510,DataType ViewDescription,511,DataType ViewDescription_Encoding_DefaultXml,512,Object ViewDescription_Encoding_DefaultBinary,513,Object BrowseDescription,514,DataType BrowseDescription_Encoding_DefaultXml,515,Object BrowseDescription_Encoding_DefaultBinary,516,Object BrowseResultMask,517,DataType ReferenceDescription,518,DataType ReferenceDescription_Encoding_DefaultXml,519,Object ReferenceDescription_Encoding_DefaultBinary,520,Object ContinuationPoint,521,DataType BrowseResult,522,DataType BrowseResult_Encoding_DefaultXml,523,Object BrowseResult_Encoding_DefaultBinary,524,Object BrowseRequest,525,DataType BrowseRequest_Encoding_DefaultXml,526,Object BrowseRequest_Encoding_DefaultBinary,527,Object BrowseResponse,528,DataType BrowseResponse_Encoding_DefaultXml,529,Object BrowseResponse_Encoding_DefaultBinary,530,Object BrowseNextRequest,531,DataType BrowseNextRequest_Encoding_DefaultXml,532,Object BrowseNextRequest_Encoding_DefaultBinary,533,Object BrowseNextResponse,534,DataType BrowseNextResponse_Encoding_DefaultXml,535,Object BrowseNextResponse_Encoding_DefaultBinary,536,Object RelativePathElement,537,DataType RelativePathElement_Encoding_DefaultXml,538,Object RelativePathElement_Encoding_DefaultBinary,539,Object RelativePath,540,DataType RelativePath_Encoding_DefaultXml,541,Object RelativePath_Encoding_DefaultBinary,542,Object BrowsePath,543,DataType BrowsePath_Encoding_DefaultXml,544,Object BrowsePath_Encoding_DefaultBinary,545,Object BrowsePathTarget,546,DataType BrowsePathTarget_Encoding_DefaultXml,547,Object BrowsePathTarget_Encoding_DefaultBinary,548,Object BrowsePathResult,549,DataType BrowsePathResult_Encoding_DefaultXml,550,Object BrowsePathResult_Encoding_DefaultBinary,551,Object TranslateBrowsePathsToNodeIdsRequest,552,DataType TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultXml,553,Object TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultBinary,554,Object TranslateBrowsePathsToNodeIdsResponse,555,DataType TranslateBrowsePathsToNodeIdsResponse_Encoding_DefaultXml,556,Object TranslateBrowsePathsToNodeIdsResponse_Encoding_DefaultBinary,557,Object RegisterNodesRequest,558,DataType RegisterNodesRequest_Encoding_DefaultXml,559,Object RegisterNodesRequest_Encoding_DefaultBinary,560,Object RegisterNodesResponse,561,DataType RegisterNodesResponse_Encoding_DefaultXml,562,Object RegisterNodesResponse_Encoding_DefaultBinary,563,Object UnregisterNodesRequest,564,DataType UnregisterNodesRequest_Encoding_DefaultXml,565,Object UnregisterNodesRequest_Encoding_DefaultBinary,566,Object UnregisterNodesResponse,567,DataType UnregisterNodesResponse_Encoding_DefaultXml,568,Object UnregisterNodesResponse_Encoding_DefaultBinary,569,Object QueryDataDescription,570,DataType QueryDataDescription_Encoding_DefaultXml,571,Object QueryDataDescription_Encoding_DefaultBinary,572,Object NodeTypeDescription,573,DataType NodeTypeDescription_Encoding_DefaultXml,574,Object NodeTypeDescription_Encoding_DefaultBinary,575,Object FilterOperator,576,DataType QueryDataSet,577,DataType QueryDataSet_Encoding_DefaultXml,578,Object QueryDataSet_Encoding_DefaultBinary,579,Object NodeReference,580,DataType NodeReference_Encoding_DefaultXml,581,Object NodeReference_Encoding_DefaultBinary,582,Object ContentFilterElement,583,DataType ContentFilterElement_Encoding_DefaultXml,584,Object ContentFilterElement_Encoding_DefaultBinary,585,Object ContentFilter,586,DataType ContentFilter_Encoding_DefaultXml,587,Object ContentFilter_Encoding_DefaultBinary,588,Object FilterOperand,589,DataType FilterOperand_Encoding_DefaultXml,590,Object FilterOperand_Encoding_DefaultBinary,591,Object ElementOperand,592,DataType ElementOperand_Encoding_DefaultXml,593,Object ElementOperand_Encoding_DefaultBinary,594,Object LiteralOperand,595,DataType LiteralOperand_Encoding_DefaultXml,596,Object LiteralOperand_Encoding_DefaultBinary,597,Object AttributeOperand,598,DataType AttributeOperand_Encoding_DefaultXml,599,Object AttributeOperand_Encoding_DefaultBinary,600,Object SimpleAttributeOperand,601,DataType SimpleAttributeOperand_Encoding_DefaultXml,602,Object SimpleAttributeOperand_Encoding_DefaultBinary,603,Object ContentFilterElementResult,604,DataType ContentFilterElementResult_Encoding_DefaultXml,605,Object ContentFilterElementResult_Encoding_DefaultBinary,606,Object ContentFilterResult,607,DataType ContentFilterResult_Encoding_DefaultXml,608,Object ContentFilterResult_Encoding_DefaultBinary,609,Object ParsingResult,610,DataType ParsingResult_Encoding_DefaultXml,611,Object ParsingResult_Encoding_DefaultBinary,612,Object QueryFirstRequest,613,DataType QueryFirstRequest_Encoding_DefaultXml,614,Object QueryFirstRequest_Encoding_DefaultBinary,615,Object QueryFirstResponse,616,DataType QueryFirstResponse_Encoding_DefaultXml,617,Object QueryFirstResponse_Encoding_DefaultBinary,618,Object QueryNextRequest,619,DataType QueryNextRequest_Encoding_DefaultXml,620,Object QueryNextRequest_Encoding_DefaultBinary,621,Object QueryNextResponse,622,DataType QueryNextResponse_Encoding_DefaultXml,623,Object QueryNextResponse_Encoding_DefaultBinary,624,Object TimestampsToReturn,625,DataType ReadValueId,626,DataType ReadValueId_Encoding_DefaultXml,627,Object ReadValueId_Encoding_DefaultBinary,628,Object ReadRequest,629,DataType ReadRequest_Encoding_DefaultXml,630,Object ReadRequest_Encoding_DefaultBinary,631,Object ReadResponse,632,DataType ReadResponse_Encoding_DefaultXml,633,Object ReadResponse_Encoding_DefaultBinary,634,Object HistoryReadValueId,635,DataType HistoryReadValueId_Encoding_DefaultXml,636,Object HistoryReadValueId_Encoding_DefaultBinary,637,Object HistoryReadResult,638,DataType HistoryReadResult_Encoding_DefaultXml,639,Object HistoryReadResult_Encoding_DefaultBinary,640,Object HistoryReadDetails,641,DataType HistoryReadDetails_Encoding_DefaultXml,642,Object HistoryReadDetails_Encoding_DefaultBinary,643,Object ReadEventDetails,644,DataType ReadEventDetails_Encoding_DefaultXml,645,Object ReadEventDetails_Encoding_DefaultBinary,646,Object ReadRawModifiedDetails,647,DataType ReadRawModifiedDetails_Encoding_DefaultXml,648,Object ReadRawModifiedDetails_Encoding_DefaultBinary,649,Object ReadProcessedDetails,650,DataType ReadProcessedDetails_Encoding_DefaultXml,651,Object ReadProcessedDetails_Encoding_DefaultBinary,652,Object ReadAtTimeDetails,653,DataType ReadAtTimeDetails_Encoding_DefaultXml,654,Object ReadAtTimeDetails_Encoding_DefaultBinary,655,Object HistoryData,656,DataType HistoryData_Encoding_DefaultXml,657,Object HistoryData_Encoding_DefaultBinary,658,Object HistoryEvent,659,DataType HistoryEvent_Encoding_DefaultXml,660,Object HistoryEvent_Encoding_DefaultBinary,661,Object HistoryReadRequest,662,DataType HistoryReadRequest_Encoding_DefaultXml,663,Object HistoryReadRequest_Encoding_DefaultBinary,664,Object HistoryReadResponse,665,DataType HistoryReadResponse_Encoding_DefaultXml,666,Object HistoryReadResponse_Encoding_DefaultBinary,667,Object WriteValue,668,DataType WriteValue_Encoding_DefaultXml,669,Object WriteValue_Encoding_DefaultBinary,670,Object WriteRequest,671,DataType WriteRequest_Encoding_DefaultXml,672,Object WriteRequest_Encoding_DefaultBinary,673,Object WriteResponse,674,DataType WriteResponse_Encoding_DefaultXml,675,Object WriteResponse_Encoding_DefaultBinary,676,Object HistoryUpdateDetails,677,DataType HistoryUpdateDetails_Encoding_DefaultXml,678,Object HistoryUpdateDetails_Encoding_DefaultBinary,679,Object UpdateDataDetails,680,DataType UpdateDataDetails_Encoding_DefaultXml,681,Object UpdateDataDetails_Encoding_DefaultBinary,682,Object UpdateEventDetails,683,DataType UpdateEventDetails_Encoding_DefaultXml,684,Object UpdateEventDetails_Encoding_DefaultBinary,685,Object DeleteRawModifiedDetails,686,DataType DeleteRawModifiedDetails_Encoding_DefaultXml,687,Object DeleteRawModifiedDetails_Encoding_DefaultBinary,688,Object DeleteAtTimeDetails,689,DataType DeleteAtTimeDetails_Encoding_DefaultXml,690,Object DeleteAtTimeDetails_Encoding_DefaultBinary,691,Object DeleteEventDetails,692,DataType DeleteEventDetails_Encoding_DefaultXml,693,Object DeleteEventDetails_Encoding_DefaultBinary,694,Object HistoryUpdateResult,695,DataType HistoryUpdateResult_Encoding_DefaultXml,696,Object HistoryUpdateResult_Encoding_DefaultBinary,697,Object HistoryUpdateRequest,698,DataType HistoryUpdateRequest_Encoding_DefaultXml,699,Object HistoryUpdateRequest_Encoding_DefaultBinary,700,Object HistoryUpdateResponse,701,DataType HistoryUpdateResponse_Encoding_DefaultXml,702,Object HistoryUpdateResponse_Encoding_DefaultBinary,703,Object CallMethodRequest,704,DataType CallMethodRequest_Encoding_DefaultXml,705,Object CallMethodRequest_Encoding_DefaultBinary,706,Object CallMethodResult,707,DataType CallMethodResult_Encoding_DefaultXml,708,Object CallMethodResult_Encoding_DefaultBinary,709,Object CallRequest,710,DataType CallRequest_Encoding_DefaultXml,711,Object CallRequest_Encoding_DefaultBinary,712,Object CallResponse,713,DataType CallResponse_Encoding_DefaultXml,714,Object CallResponse_Encoding_DefaultBinary,715,Object MonitoringMode,716,DataType DataChangeTrigger,717,DataType DeadbandType,718,DataType MonitoringFilter,719,DataType MonitoringFilter_Encoding_DefaultXml,720,Object MonitoringFilter_Encoding_DefaultBinary,721,Object DataChangeFilter,722,DataType DataChangeFilter_Encoding_DefaultXml,723,Object DataChangeFilter_Encoding_DefaultBinary,724,Object EventFilter,725,DataType EventFilter_Encoding_DefaultXml,726,Object EventFilter_Encoding_DefaultBinary,727,Object AggregateFilter,728,DataType AggregateFilter_Encoding_DefaultXml,729,Object AggregateFilter_Encoding_DefaultBinary,730,Object MonitoringFilterResult,731,DataType MonitoringFilterResult_Encoding_DefaultXml,732,Object MonitoringFilterResult_Encoding_DefaultBinary,733,Object EventFilterResult,734,DataType EventFilterResult_Encoding_DefaultXml,735,Object EventFilterResult_Encoding_DefaultBinary,736,Object AggregateFilterResult,737,DataType AggregateFilterResult_Encoding_DefaultXml,738,Object AggregateFilterResult_Encoding_DefaultBinary,739,Object MonitoringParameters,740,DataType MonitoringParameters_Encoding_DefaultXml,741,Object MonitoringParameters_Encoding_DefaultBinary,742,Object MonitoredItemCreateRequest,743,DataType MonitoredItemCreateRequest_Encoding_DefaultXml,744,Object MonitoredItemCreateRequest_Encoding_DefaultBinary,745,Object MonitoredItemCreateResult,746,DataType MonitoredItemCreateResult_Encoding_DefaultXml,747,Object MonitoredItemCreateResult_Encoding_DefaultBinary,748,Object CreateMonitoredItemsRequest,749,DataType CreateMonitoredItemsRequest_Encoding_DefaultXml,750,Object CreateMonitoredItemsRequest_Encoding_DefaultBinary,751,Object CreateMonitoredItemsResponse,752,DataType CreateMonitoredItemsResponse_Encoding_DefaultXml,753,Object CreateMonitoredItemsResponse_Encoding_DefaultBinary,754,Object MonitoredItemModifyRequest,755,DataType MonitoredItemModifyRequest_Encoding_DefaultXml,756,Object MonitoredItemModifyRequest_Encoding_DefaultBinary,757,Object MonitoredItemModifyResult,758,DataType MonitoredItemModifyResult_Encoding_DefaultXml,759,Object MonitoredItemModifyResult_Encoding_DefaultBinary,760,Object ModifyMonitoredItemsRequest,761,DataType ModifyMonitoredItemsRequest_Encoding_DefaultXml,762,Object ModifyMonitoredItemsRequest_Encoding_DefaultBinary,763,Object ModifyMonitoredItemsResponse,764,DataType ModifyMonitoredItemsResponse_Encoding_DefaultXml,765,Object ModifyMonitoredItemsResponse_Encoding_DefaultBinary,766,Object SetMonitoringModeRequest,767,DataType SetMonitoringModeRequest_Encoding_DefaultXml,768,Object SetMonitoringModeRequest_Encoding_DefaultBinary,769,Object SetMonitoringModeResponse,770,DataType SetMonitoringModeResponse_Encoding_DefaultXml,771,Object SetMonitoringModeResponse_Encoding_DefaultBinary,772,Object SetTriggeringRequest,773,DataType SetTriggeringRequest_Encoding_DefaultXml,774,Object SetTriggeringRequest_Encoding_DefaultBinary,775,Object SetTriggeringResponse,776,DataType SetTriggeringResponse_Encoding_DefaultXml,777,Object SetTriggeringResponse_Encoding_DefaultBinary,778,Object DeleteMonitoredItemsRequest,779,DataType DeleteMonitoredItemsRequest_Encoding_DefaultXml,780,Object DeleteMonitoredItemsRequest_Encoding_DefaultBinary,781,Object DeleteMonitoredItemsResponse,782,DataType DeleteMonitoredItemsResponse_Encoding_DefaultXml,783,Object DeleteMonitoredItemsResponse_Encoding_DefaultBinary,784,Object CreateSubscriptionRequest,785,DataType CreateSubscriptionRequest_Encoding_DefaultXml,786,Object CreateSubscriptionRequest_Encoding_DefaultBinary,787,Object CreateSubscriptionResponse,788,DataType CreateSubscriptionResponse_Encoding_DefaultXml,789,Object CreateSubscriptionResponse_Encoding_DefaultBinary,790,Object ModifySubscriptionRequest,791,DataType ModifySubscriptionRequest_Encoding_DefaultXml,792,Object ModifySubscriptionRequest_Encoding_DefaultBinary,793,Object ModifySubscriptionResponse,794,DataType ModifySubscriptionResponse_Encoding_DefaultXml,795,Object ModifySubscriptionResponse_Encoding_DefaultBinary,796,Object SetPublishingModeRequest,797,DataType SetPublishingModeRequest_Encoding_DefaultXml,798,Object SetPublishingModeRequest_Encoding_DefaultBinary,799,Object SetPublishingModeResponse,800,DataType SetPublishingModeResponse_Encoding_DefaultXml,801,Object SetPublishingModeResponse_Encoding_DefaultBinary,802,Object NotificationMessage,803,DataType NotificationMessage_Encoding_DefaultXml,804,Object NotificationMessage_Encoding_DefaultBinary,805,Object MonitoredItemNotification,806,DataType MonitoredItemNotification_Encoding_DefaultXml,807,Object MonitoredItemNotification_Encoding_DefaultBinary,808,Object DataChangeNotification,809,DataType DataChangeNotification_Encoding_DefaultXml,810,Object DataChangeNotification_Encoding_DefaultBinary,811,Object StatusChangeNotification,818,DataType StatusChangeNotification_Encoding_DefaultXml,819,Object StatusChangeNotification_Encoding_DefaultBinary,820,Object SubscriptionAcknowledgement,821,DataType SubscriptionAcknowledgement_Encoding_DefaultXml,822,Object SubscriptionAcknowledgement_Encoding_DefaultBinary,823,Object PublishRequest,824,DataType PublishRequest_Encoding_DefaultXml,825,Object PublishRequest_Encoding_DefaultBinary,826,Object PublishResponse,827,DataType PublishResponse_Encoding_DefaultXml,828,Object PublishResponse_Encoding_DefaultBinary,829,Object RepublishRequest,830,DataType RepublishRequest_Encoding_DefaultXml,831,Object RepublishRequest_Encoding_DefaultBinary,832,Object RepublishResponse,833,DataType RepublishResponse_Encoding_DefaultXml,834,Object RepublishResponse_Encoding_DefaultBinary,835,Object TransferResult,836,DataType TransferResult_Encoding_DefaultXml,837,Object TransferResult_Encoding_DefaultBinary,838,Object TransferSubscriptionsRequest,839,DataType TransferSubscriptionsRequest_Encoding_DefaultXml,840,Object TransferSubscriptionsRequest_Encoding_DefaultBinary,841,Object TransferSubscriptionsResponse,842,DataType TransferSubscriptionsResponse_Encoding_DefaultXml,843,Object TransferSubscriptionsResponse_Encoding_DefaultBinary,844,Object DeleteSubscriptionsRequest,845,DataType DeleteSubscriptionsRequest_Encoding_DefaultXml,846,Object DeleteSubscriptionsRequest_Encoding_DefaultBinary,847,Object DeleteSubscriptionsResponse,848,DataType DeleteSubscriptionsResponse_Encoding_DefaultXml,849,Object DeleteSubscriptionsResponse_Encoding_DefaultBinary,850,Object RedundancySupport,851,DataType ServerState,852,DataType RedundantServerDataType,853,DataType RedundantServerDataType_Encoding_DefaultXml,854,Object RedundantServerDataType_Encoding_DefaultBinary,855,Object SamplingIntervalDiagnosticsDataType,856,DataType SamplingIntervalDiagnosticsDataType_Encoding_DefaultXml,857,Object SamplingIntervalDiagnosticsDataType_Encoding_DefaultBinary,858,Object ServerDiagnosticsSummaryDataType,859,DataType ServerDiagnosticsSummaryDataType_Encoding_DefaultXml,860,Object ServerDiagnosticsSummaryDataType_Encoding_DefaultBinary,861,Object ServerStatusDataType,862,DataType ServerStatusDataType_Encoding_DefaultXml,863,Object ServerStatusDataType_Encoding_DefaultBinary,864,Object SessionDiagnosticsDataType,865,DataType SessionDiagnosticsDataType_Encoding_DefaultXml,866,Object SessionDiagnosticsDataType_Encoding_DefaultBinary,867,Object SessionSecurityDiagnosticsDataType,868,DataType SessionSecurityDiagnosticsDataType_Encoding_DefaultXml,869,Object SessionSecurityDiagnosticsDataType_Encoding_DefaultBinary,870,Object ServiceCounterDataType,871,DataType ServiceCounterDataType_Encoding_DefaultXml,872,Object ServiceCounterDataType_Encoding_DefaultBinary,873,Object SubscriptionDiagnosticsDataType,874,DataType SubscriptionDiagnosticsDataType_Encoding_DefaultXml,875,Object SubscriptionDiagnosticsDataType_Encoding_DefaultBinary,876,Object ModelChangeStructureDataType,877,DataType ModelChangeStructureDataType_Encoding_DefaultXml,878,Object ModelChangeStructureDataType_Encoding_DefaultBinary,879,Object Range,884,DataType Range_Encoding_DefaultXml,885,Object Range_Encoding_DefaultBinary,886,Object EUInformation,887,DataType EUInformation_Encoding_DefaultXml,888,Object EUInformation_Encoding_DefaultBinary,889,Object ExceptionDeviationFormat,890,DataType Annotation,891,DataType Annotation_Encoding_DefaultXml,892,Object Annotation_Encoding_DefaultBinary,893,Object ProgramDiagnosticDataType,894,DataType ProgramDiagnosticDataType_Encoding_DefaultXml,895,Object ProgramDiagnosticDataType_Encoding_DefaultBinary,896,Object SemanticChangeStructureDataType,897,DataType SemanticChangeStructureDataType_Encoding_DefaultXml,898,Object SemanticChangeStructureDataType_Encoding_DefaultBinary,899,Object EventNotificationList,914,DataType EventNotificationList_Encoding_DefaultXml,915,Object EventNotificationList_Encoding_DefaultBinary,916,Object EventFieldList,917,DataType EventFieldList_Encoding_DefaultXml,918,Object EventFieldList_Encoding_DefaultBinary,919,Object HistoryEventFieldList,920,DataType HistoryEventFieldList_Encoding_DefaultXml,921,Object HistoryEventFieldList_Encoding_DefaultBinary,922,Object IssuedIdentityToken,938,DataType IssuedIdentityToken_Encoding_DefaultXml,939,Object IssuedIdentityToken_Encoding_DefaultBinary,940,Object NotificationData,945,DataType NotificationData_Encoding_DefaultXml,946,Object NotificationData_Encoding_DefaultBinary,947,Object AggregateConfiguration,948,DataType AggregateConfiguration_Encoding_DefaultXml,949,Object AggregateConfiguration_Encoding_DefaultBinary,950,Object ImageBMP,2000,DataType ImageGIF,2001,DataType ImageJPG,2002,DataType ImagePNG,2003,DataType ServerType,2004,ObjectType ServerType_ServerArray,2005,Variable ServerType_NamespaceArray,2006,Variable ServerType_ServerStatus,2007,Variable ServerType_ServiceLevel,2008,Variable ServerType_ServerCapabilities,2009,Object ServerType_ServerDiagnostics,2010,Object ServerType_VendorServerInfo,2011,Object ServerType_ServerRedundancy,2012,Object ServerCapabilitiesType,2013,ObjectType ServerCapabilitiesType_ServerProfileArray,2014,Variable ServerCapabilitiesType_LocaleIdArray,2016,Variable ServerCapabilitiesType_MinSupportedSampleRate,2017,Variable ServerCapabilitiesType_ModellingRules,2019,Object ServerDiagnosticsType,2020,ObjectType ServerDiagnosticsType_ServerDiagnosticsSummary,2021,Variable ServerDiagnosticsType_SamplingIntervalDiagnosticsArray,2022,Variable ServerDiagnosticsType_SubscriptionDiagnosticsArray,2023,Variable ServerDiagnosticsType_EnabledFlag,2025,Variable SessionsDiagnosticsSummaryType,2026,ObjectType SessionsDiagnosticsSummaryType_SessionDiagnosticsArray,2027,Variable SessionsDiagnosticsSummaryType_SessionSecurityDiagnosticsArray,2028,Variable SessionDiagnosticsObjectType,2029,ObjectType SessionDiagnosticsObjectType_SessionDiagnostics,2030,Variable SessionDiagnosticsObjectType_SessionSecurityDiagnostics,2031,Variable SessionDiagnosticsObjectType_SubscriptionDiagnosticsArray,2032,Variable VendorServerInfoType,2033,ObjectType ServerRedundancyType,2034,ObjectType ServerRedundancyType_RedundancySupport,2035,Variable TransparentRedundancyType,2036,ObjectType TransparentRedundancyType_CurrentServerId,2037,Variable TransparentRedundancyType_RedundantServerArray,2038,Variable NonTransparentRedundancyType,2039,ObjectType NonTransparentRedundancyType_ServerUriArray,2040,Variable BaseEventType,2041,ObjectType BaseEventType_EventId,2042,Variable BaseEventType_EventType,2043,Variable BaseEventType_SourceNode,2044,Variable BaseEventType_SourceName,2045,Variable BaseEventType_Time,2046,Variable BaseEventType_ReceiveTime,2047,Variable BaseEventType_Message,2050,Variable BaseEventType_Severity,2051,Variable AuditEventType,2052,ObjectType AuditEventType_ActionTimeStamp,2053,Variable AuditEventType_Status,2054,Variable AuditEventType_ServerId,2055,Variable AuditEventType_ClientAuditEntryId,2056,Variable AuditEventType_ClientUserId,2057,Variable AuditSecurityEventType,2058,ObjectType AuditChannelEventType,2059,ObjectType AuditOpenSecureChannelEventType,2060,ObjectType AuditOpenSecureChannelEventType_ClientCertificate,2061,Variable AuditOpenSecureChannelEventType_RequestType,2062,Variable AuditOpenSecureChannelEventType_SecurityPolicyUri,2063,Variable AuditOpenSecureChannelEventType_SecurityMode,2065,Variable AuditOpenSecureChannelEventType_RequestedLifetime,2066,Variable AuditSessionEventType,2069,ObjectType AuditSessionEventType_SessionId,2070,Variable AuditCreateSessionEventType,2071,ObjectType AuditCreateSessionEventType_SecureChannelId,2072,Variable AuditCreateSessionEventType_ClientCertificate,2073,Variable AuditCreateSessionEventType_RevisedSessionTimeout,2074,Variable AuditActivateSessionEventType,2075,ObjectType AuditActivateSessionEventType_ClientSoftwareCertificates,2076,Variable AuditActivateSessionEventType_UserIdentityToken,2077,Variable AuditCancelEventType,2078,ObjectType AuditCancelEventType_RequestHandle,2079,Variable AuditCertificateEventType,2080,ObjectType AuditCertificateEventType_Certificate,2081,Variable AuditCertificateDataMismatchEventType,2082,ObjectType AuditCertificateDataMismatchEventType_InvalidHostname,2083,Variable AuditCertificateDataMismatchEventType_InvalidUri,2084,Variable AuditCertificateExpiredEventType,2085,ObjectType AuditCertificateInvalidEventType,2086,ObjectType AuditCertificateUntrustedEventType,2087,ObjectType AuditCertificateRevokedEventType,2088,ObjectType AuditCertificateMismatchEventType,2089,ObjectType AuditNodeManagementEventType,2090,ObjectType AuditAddNodesEventType,2091,ObjectType AuditAddNodesEventType_NodesToAdd,2092,Variable AuditDeleteNodesEventType,2093,ObjectType AuditDeleteNodesEventType_NodesToDelete,2094,Variable AuditAddReferencesEventType,2095,ObjectType AuditAddReferencesEventType_ReferencesToAdd,2096,Variable AuditDeleteReferencesEventType,2097,ObjectType AuditDeleteReferencesEventType_ReferencesToDelete,2098,Variable AuditUpdateEventType,2099,ObjectType AuditWriteUpdateEventType,2100,ObjectType AuditWriteUpdateEventType_IndexRange,2101,Variable AuditWriteUpdateEventType_OldValue,2102,Variable AuditWriteUpdateEventType_NewValue,2103,Variable AuditHistoryUpdateEventType,2104,ObjectType AuditUpdateMethodEventType,2127,ObjectType AuditUpdateMethodEventType_MethodId,2128,Variable AuditUpdateMethodEventType_InputArguments,2129,Variable SystemEventType,2130,ObjectType DeviceFailureEventType,2131,ObjectType BaseModelChangeEventType,2132,ObjectType GeneralModelChangeEventType,2133,ObjectType GeneralModelChangeEventType_Changes,2134,Variable ServerVendorCapabilityType,2137,VariableType ServerStatusType,2138,VariableType ServerStatusType_StartTime,2139,Variable ServerStatusType_CurrentTime,2140,Variable ServerStatusType_State,2141,Variable ServerStatusType_BuildInfo,2142,Variable ServerDiagnosticsSummaryType,2150,VariableType ServerDiagnosticsSummaryType_ServerViewCount,2151,Variable ServerDiagnosticsSummaryType_CurrentSessionCount,2152,Variable ServerDiagnosticsSummaryType_CumulatedSessionCount,2153,Variable ServerDiagnosticsSummaryType_SecurityRejectedSessionCount,2154,Variable ServerDiagnosticsSummaryType_RejectedSessionCount,2155,Variable ServerDiagnosticsSummaryType_SessionTimeoutCount,2156,Variable ServerDiagnosticsSummaryType_SessionAbortCount,2157,Variable ServerDiagnosticsSummaryType_PublishingIntervalCount,2159,Variable ServerDiagnosticsSummaryType_CurrentSubscriptionCount,2160,Variable ServerDiagnosticsSummaryType_CumulatedSubscriptionCount,2161,Variable ServerDiagnosticsSummaryType_SecurityRejectedRequestsCount,2162,Variable ServerDiagnosticsSummaryType_RejectedRequestsCount,2163,Variable SamplingIntervalDiagnosticsArrayType,2164,VariableType SamplingIntervalDiagnosticsType,2165,VariableType SamplingIntervalDiagnosticsType_SamplingInterval,2166,Variable SubscriptionDiagnosticsArrayType,2171,VariableType SubscriptionDiagnosticsType,2172,VariableType SubscriptionDiagnosticsType_SessionId,2173,Variable SubscriptionDiagnosticsType_SubscriptionId,2174,Variable SubscriptionDiagnosticsType_Priority,2175,Variable SubscriptionDiagnosticsType_PublishingInterval,2176,Variable SubscriptionDiagnosticsType_MaxKeepAliveCount,2177,Variable SubscriptionDiagnosticsType_MaxNotificationsPerPublish,2179,Variable SubscriptionDiagnosticsType_PublishingEnabled,2180,Variable SubscriptionDiagnosticsType_ModifyCount,2181,Variable SubscriptionDiagnosticsType_EnableCount,2182,Variable SubscriptionDiagnosticsType_DisableCount,2183,Variable SubscriptionDiagnosticsType_RepublishRequestCount,2184,Variable SubscriptionDiagnosticsType_RepublishMessageRequestCount,2185,Variable SubscriptionDiagnosticsType_RepublishMessageCount,2186,Variable SubscriptionDiagnosticsType_TransferRequestCount,2187,Variable SubscriptionDiagnosticsType_TransferredToAltClientCount,2188,Variable SubscriptionDiagnosticsType_TransferredToSameClientCount,2189,Variable SubscriptionDiagnosticsType_PublishRequestCount,2190,Variable SubscriptionDiagnosticsType_DataChangeNotificationsCount,2191,Variable SubscriptionDiagnosticsType_NotificationsCount,2193,Variable SessionDiagnosticsArrayType,2196,VariableType SessionDiagnosticsVariableType,2197,VariableType SessionDiagnosticsVariableType_SessionId,2198,Variable SessionDiagnosticsVariableType_SessionName,2199,Variable SessionDiagnosticsVariableType_ClientDescription,2200,Variable SessionDiagnosticsVariableType_ServerUri,2201,Variable SessionDiagnosticsVariableType_EndpointUrl,2202,Variable SessionDiagnosticsVariableType_LocaleIds,2203,Variable SessionDiagnosticsVariableType_ActualSessionTimeout,2204,Variable SessionDiagnosticsVariableType_ClientConnectionTime,2205,Variable SessionDiagnosticsVariableType_ClientLastContactTime,2206,Variable SessionDiagnosticsVariableType_CurrentSubscriptionsCount,2207,Variable SessionDiagnosticsVariableType_CurrentMonitoredItemsCount,2208,Variable SessionDiagnosticsVariableType_CurrentPublishRequestsInQueue,2209,Variable SessionDiagnosticsVariableType_ReadCount,2217,Variable SessionDiagnosticsVariableType_HistoryReadCount,2218,Variable SessionDiagnosticsVariableType_WriteCount,2219,Variable SessionDiagnosticsVariableType_HistoryUpdateCount,2220,Variable SessionDiagnosticsVariableType_CallCount,2221,Variable SessionDiagnosticsVariableType_CreateMonitoredItemsCount,2222,Variable SessionDiagnosticsVariableType_ModifyMonitoredItemsCount,2223,Variable SessionDiagnosticsVariableType_SetMonitoringModeCount,2224,Variable SessionDiagnosticsVariableType_SetTriggeringCount,2225,Variable SessionDiagnosticsVariableType_DeleteMonitoredItemsCount,2226,Variable SessionDiagnosticsVariableType_CreateSubscriptionCount,2227,Variable SessionDiagnosticsVariableType_ModifySubscriptionCount,2228,Variable SessionDiagnosticsVariableType_SetPublishingModeCount,2229,Variable SessionDiagnosticsVariableType_PublishCount,2230,Variable SessionDiagnosticsVariableType_RepublishCount,2231,Variable SessionDiagnosticsVariableType_TransferSubscriptionsCount,2232,Variable SessionDiagnosticsVariableType_DeleteSubscriptionsCount,2233,Variable SessionDiagnosticsVariableType_AddNodesCount,2234,Variable SessionDiagnosticsVariableType_AddReferencesCount,2235,Variable SessionDiagnosticsVariableType_DeleteNodesCount,2236,Variable SessionDiagnosticsVariableType_DeleteReferencesCount,2237,Variable SessionDiagnosticsVariableType_BrowseCount,2238,Variable SessionDiagnosticsVariableType_BrowseNextCount,2239,Variable SessionDiagnosticsVariableType_TranslateBrowsePathsToNodeIdsCount,2240,Variable SessionDiagnosticsVariableType_QueryFirstCount,2241,Variable SessionDiagnosticsVariableType_QueryNextCount,2242,Variable SessionSecurityDiagnosticsArrayType,2243,VariableType SessionSecurityDiagnosticsType,2244,VariableType SessionSecurityDiagnosticsType_SessionId,2245,Variable SessionSecurityDiagnosticsType_ClientUserIdOfSession,2246,Variable SessionSecurityDiagnosticsType_ClientUserIdHistory,2247,Variable SessionSecurityDiagnosticsType_AuthenticationMechanism,2248,Variable SessionSecurityDiagnosticsType_Encoding,2249,Variable SessionSecurityDiagnosticsType_TransportProtocol,2250,Variable SessionSecurityDiagnosticsType_SecurityMode,2251,Variable SessionSecurityDiagnosticsType_SecurityPolicyUri,2252,Variable Server,2253,Object Server_ServerArray,2254,Variable Server_NamespaceArray,2255,Variable Server_ServerStatus,2256,Variable Server_ServerStatus_StartTime,2257,Variable Server_ServerStatus_CurrentTime,2258,Variable Server_ServerStatus_State,2259,Variable Server_ServerStatus_BuildInfo,2260,Variable Server_ServerStatus_BuildInfo_ProductName,2261,Variable Server_ServerStatus_BuildInfo_ProductUri,2262,Variable Server_ServerStatus_BuildInfo_ManufacturerName,2263,Variable Server_ServerStatus_BuildInfo_SoftwareVersion,2264,Variable Server_ServerStatus_BuildInfo_BuildNumber,2265,Variable Server_ServerStatus_BuildInfo_BuildDate,2266,Variable Server_ServiceLevel,2267,Variable Server_ServerCapabilities,2268,Object Server_ServerCapabilities_ServerProfileArray,2269,Variable Server_ServerCapabilities_LocaleIdArray,2271,Variable Server_ServerCapabilities_MinSupportedSampleRate,2272,Variable Server_ServerDiagnostics,2274,Object Server_ServerDiagnostics_ServerDiagnosticsSummary,2275,Variable Server_ServerDiagnostics_ServerDiagnosticsSummary_ServerViewCount,2276,Variable Server_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSessionCount,2277,Variable Server_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSessionCount,2278,Variable Server_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedSessionCount,2279,Variable Server_ServerDiagnostics_ServerDiagnosticsSummary_SessionTimeoutCount,2281,Variable Server_ServerDiagnostics_ServerDiagnosticsSummary_SessionAbortCount,2282,Variable Server_ServerDiagnostics_ServerDiagnosticsSummary_PublishingIntervalCount,2284,Variable Server_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSubscriptionCount,2285,Variable Server_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSubscriptionCount,2286,Variable Server_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedRequestsCount,2287,Variable Server_ServerDiagnostics_ServerDiagnosticsSummary_RejectedRequestsCount,2288,Variable Server_ServerDiagnostics_SamplingIntervalDiagnosticsArray,2289,Variable Server_ServerDiagnostics_SubscriptionDiagnosticsArray,2290,Variable Server_ServerDiagnostics_EnabledFlag,2294,Variable Server_VendorServerInfo,2295,Object Server_ServerRedundancy,2296,Object StateMachineType,2299,ObjectType StateType,2307,ObjectType StateType_StateNumber,2308,Variable InitialStateType,2309,ObjectType TransitionType,2310,ObjectType TransitionEventType,2311,ObjectType TransitionType_TransitionNumber,2312,Variable AuditUpdateStateEventType,2315,ObjectType HistoricalDataConfigurationType,2318,ObjectType HistoricalDataConfigurationType_Stepped,2323,Variable HistoricalDataConfigurationType_Definition,2324,Variable HistoricalDataConfigurationType_MaxTimeInterval,2325,Variable HistoricalDataConfigurationType_MinTimeInterval,2326,Variable HistoricalDataConfigurationType_ExceptionDeviation,2327,Variable HistoricalDataConfigurationType_ExceptionDeviationFormat,2328,Variable HistoryServerCapabilitiesType,2330,ObjectType HistoryServerCapabilitiesType_AccessHistoryDataCapability,2331,Variable HistoryServerCapabilitiesType_AccessHistoryEventsCapability,2332,Variable HistoryServerCapabilitiesType_InsertDataCapability,2334,Variable HistoryServerCapabilitiesType_ReplaceDataCapability,2335,Variable HistoryServerCapabilitiesType_UpdateDataCapability,2336,Variable HistoryServerCapabilitiesType_DeleteRawCapability,2337,Variable HistoryServerCapabilitiesType_DeleteAtTimeCapability,2338,Variable AggregateFunctionType,2340,ObjectType AggregateFunction_Interpolative,2341,Object AggregateFunction_Average,2342,Object AggregateFunction_TimeAverage,2343,Object AggregateFunction_Total,2344,Object AggregateFunction_Minimum,2346,Object AggregateFunction_Maximum,2347,Object AggregateFunction_MinimumActualTime,2348,Object AggregateFunction_MaximumActualTime,2349,Object AggregateFunction_Range,2350,Object AggregateFunction_AnnotationCount,2351,Object AggregateFunction_Count,2352,Object AggregateFunction_NumberOfTransitions,2355,Object AggregateFunction_Start,2357,Object AggregateFunction_End,2358,Object AggregateFunction_Delta,2359,Object AggregateFunction_DurationGood,2360,Object AggregateFunction_DurationBad,2361,Object AggregateFunction_PercentGood,2362,Object AggregateFunction_PercentBad,2363,Object AggregateFunction_WorstQuality,2364,Object DataItemType,2365,VariableType DataItemType_Definition,2366,Variable DataItemType_ValuePrecision,2367,Variable AnalogItemType,2368,VariableType AnalogItemType_EURange,2369,Variable AnalogItemType_InstrumentRange,2370,Variable AnalogItemType_EngineeringUnits,2371,Variable DiscreteItemType,2372,VariableType TwoStateDiscreteType,2373,VariableType TwoStateDiscreteType_FalseState,2374,Variable TwoStateDiscreteType_TrueState,2375,Variable MultiStateDiscreteType,2376,VariableType MultiStateDiscreteType_EnumStrings,2377,Variable ProgramTransitionEventType,2378,ObjectType ProgramTransitionEventType_IntermediateResult,2379,Variable ProgramDiagnosticType,2380,VariableType ProgramDiagnosticType_CreateSessionId,2381,Variable ProgramDiagnosticType_CreateClientName,2382,Variable ProgramDiagnosticType_InvocationCreationTime,2383,Variable ProgramDiagnosticType_LastTransitionTime,2384,Variable ProgramDiagnosticType_LastMethodCall,2385,Variable ProgramDiagnosticType_LastMethodSessionId,2386,Variable ProgramDiagnosticType_LastMethodInputArguments,2387,Variable ProgramDiagnosticType_LastMethodOutputArguments,2388,Variable ProgramDiagnosticType_LastMethodCallTime,2389,Variable ProgramDiagnosticType_LastMethodReturnStatus,2390,Variable ProgramStateMachineType,2391,ObjectType ProgramStateMachineType_Creatable,2392,Variable ProgramStateMachineType_Deletable,2393,Variable ProgramStateMachineType_AutoDelete,2394,Variable ProgramStateMachineType_RecycleCount,2395,Variable ProgramStateMachineType_InstanceCount,2396,Variable ProgramStateMachineType_MaxInstanceCount,2397,Variable ProgramStateMachineType_MaxRecycleCount,2398,Variable ProgramStateMachineType_ProgramDiagnostics,2399,Variable ProgramStateMachineType_Ready,2400,Object ProgramStateMachineType_Ready_StateNumber,2401,Variable ProgramStateMachineType_Running,2402,Object ProgramStateMachineType_Running_StateNumber,2403,Variable ProgramStateMachineType_Suspended,2404,Object ProgramStateMachineType_Suspended_StateNumber,2405,Variable ProgramStateMachineType_Halted,2406,Object ProgramStateMachineType_Halted_StateNumber,2407,Variable ProgramStateMachineType_HaltedToReady,2408,Object ProgramStateMachineType_HaltedToReady_TransitionNumber,2409,Variable ProgramStateMachineType_ReadyToRunning,2410,Object ProgramStateMachineType_ReadyToRunning_TransitionNumber,2411,Variable ProgramStateMachineType_RunningToHalted,2412,Object ProgramStateMachineType_RunningToHalted_TransitionNumber,2413,Variable ProgramStateMachineType_RunningToReady,2414,Object ProgramStateMachineType_RunningToReady_TransitionNumber,2415,Variable ProgramStateMachineType_RunningToSuspended,2416,Object ProgramStateMachineType_RunningToSuspended_TransitionNumber,2417,Variable ProgramStateMachineType_SuspendedToRunning,2418,Object ProgramStateMachineType_SuspendedToRunning_TransitionNumber,2419,Variable ProgramStateMachineType_SuspendedToHalted,2420,Object ProgramStateMachineType_SuspendedToHalted_TransitionNumber,2421,Variable ProgramStateMachineType_SuspendedToReady,2422,Object ProgramStateMachineType_SuspendedToReady_TransitionNumber,2423,Variable ProgramStateMachineType_ReadyToHalted,2424,Object ProgramStateMachineType_ReadyToHalted_TransitionNumber,2425,Variable ProgramStateMachineType_Start,2426,Method ProgramStateMachineType_Suspend,2427,Method ProgramStateMachineType_Resume,2428,Method ProgramStateMachineType_Halt,2429,Method ProgramStateMachineType_Reset,2430,Method SessionDiagnosticsVariableType_RegisterNodesCount,2730,Variable SessionDiagnosticsVariableType_UnregisterNodesCount,2731,Variable ServerCapabilitiesType_MaxBrowseContinuationPoints,2732,Variable ServerCapabilitiesType_MaxQueryContinuationPoints,2733,Variable ServerCapabilitiesType_MaxHistoryContinuationPoints,2734,Variable Server_ServerCapabilities_MaxBrowseContinuationPoints,2735,Variable Server_ServerCapabilities_MaxQueryContinuationPoints,2736,Variable Server_ServerCapabilities_MaxHistoryContinuationPoints,2737,Variable SemanticChangeEventType,2738,ObjectType SemanticChangeEventType_Changes,2739,Variable ServerType_Auditing,2742,Variable ServerDiagnosticsType_SessionsDiagnosticsSummary,2744,Object AuditChannelEventType_SecureChannelId,2745,Variable AuditOpenSecureChannelEventType_ClientCertificateThumbprint,2746,Variable AuditCreateSessionEventType_ClientCertificateThumbprint,2747,Variable AuditUrlMismatchEventType,2748,ObjectType AuditUrlMismatchEventType_EndpointUrl,2749,Variable AuditWriteUpdateEventType_AttributeId,2750,Variable AuditHistoryUpdateEventType_ParameterDataTypeId,2751,Variable ServerStatusType_SecondsTillShutdown,2752,Variable ServerStatusType_ShutdownReason,2753,Variable ServerCapabilitiesType_AggregateFunctions,2754,Object StateVariableType,2755,VariableType StateVariableType_Id,2756,Variable StateVariableType_Name,2757,Variable StateVariableType_Number,2758,Variable StateVariableType_EffectiveDisplayName,2759,Variable FiniteStateVariableType,2760,VariableType FiniteStateVariableType_Id,2761,Variable TransitionVariableType,2762,VariableType TransitionVariableType_Id,2763,Variable TransitionVariableType_Name,2764,Variable TransitionVariableType_Number,2765,Variable TransitionVariableType_TransitionTime,2766,Variable FiniteTransitionVariableType,2767,VariableType FiniteTransitionVariableType_Id,2768,Variable StateMachineType_CurrentState,2769,Variable StateMachineType_LastTransition,2770,Variable FiniteStateMachineType,2771,ObjectType FiniteStateMachineType_CurrentState,2772,Variable FiniteStateMachineType_LastTransition,2773,Variable TransitionEventType_Transition,2774,Variable TransitionEventType_FromState,2775,Variable TransitionEventType_ToState,2776,Variable AuditUpdateStateEventType_OldStateId,2777,Variable AuditUpdateStateEventType_NewStateId,2778,Variable ConditionType,2782,ObjectType RefreshStartEventType,2787,ObjectType RefreshEndEventType,2788,ObjectType RefreshRequiredEventType,2789,ObjectType AuditConditionEventType,2790,ObjectType AuditConditionEnableEventType,2803,ObjectType AuditConditionCommentEventType,2829,ObjectType DialogConditionType,2830,ObjectType DialogConditionType_Prompt,2831,Variable AcknowledgeableConditionType,2881,ObjectType AlarmConditionType,2915,ObjectType ShelvedStateMachineType,2929,ObjectType ShelvedStateMachineType_Unshelved,2930,Object ShelvedStateMachineType_TimedShelved,2932,Object ShelvedStateMachineType_OneShotShelved,2933,Object ShelvedStateMachineType_UnshelvedToTimedShelved,2935,Object ShelvedStateMachineType_UnshelvedToOneShotShelved,2936,Object ShelvedStateMachineType_TimedShelvedToUnshelved,2940,Object ShelvedStateMachineType_TimedShelvedToOneShotShelved,2942,Object ShelvedStateMachineType_OneShotShelvedToUnshelved,2943,Object ShelvedStateMachineType_OneShotShelvedToTimedShelved,2945,Object ShelvedStateMachineType_Unshelve,2947,Method ShelvedStateMachineType_OneShotShelve,2948,Method ShelvedStateMachineType_TimedShelve,2949,Method LimitAlarmType,2955,ObjectType ShelvedStateMachineType_TimedShelve_InputArguments,2991,Variable Server_ServerStatus_SecondsTillShutdown,2992,Variable Server_ServerStatus_ShutdownReason,2993,Variable Server_Auditing,2994,Variable Server_ServerCapabilities_ModellingRules,2996,Object Server_ServerCapabilities_AggregateFunctions,2997,Object SubscriptionDiagnosticsType_EventNotificationsCount,2998,Variable AuditHistoryEventUpdateEventType,2999,ObjectType AuditHistoryEventUpdateEventType_Filter,3003,Variable AuditHistoryValueUpdateEventType,3006,ObjectType AuditHistoryDeleteEventType,3012,ObjectType AuditHistoryRawModifyDeleteEventType,3014,ObjectType AuditHistoryRawModifyDeleteEventType_IsDeleteModified,3015,Variable AuditHistoryRawModifyDeleteEventType_StartTime,3016,Variable AuditHistoryRawModifyDeleteEventType_EndTime,3017,Variable AuditHistoryAtTimeDeleteEventType,3019,ObjectType AuditHistoryAtTimeDeleteEventType_ReqTimes,3020,Variable AuditHistoryAtTimeDeleteEventType_OldValues,3021,Variable AuditHistoryEventDeleteEventType,3022,ObjectType AuditHistoryEventDeleteEventType_EventIds,3023,Variable AuditHistoryEventDeleteEventType_OldValues,3024,Variable AuditHistoryEventUpdateEventType_UpdatedNode,3025,Variable AuditHistoryValueUpdateEventType_UpdatedNode,3026,Variable AuditHistoryDeleteEventType_UpdatedNode,3027,Variable AuditHistoryEventUpdateEventType_PerformInsertReplace,3028,Variable AuditHistoryEventUpdateEventType_NewValues,3029,Variable AuditHistoryEventUpdateEventType_OldValues,3030,Variable AuditHistoryValueUpdateEventType_PerformInsertReplace,3031,Variable AuditHistoryValueUpdateEventType_NewValues,3032,Variable AuditHistoryValueUpdateEventType_OldValues,3033,Variable AuditHistoryRawModifyDeleteEventType_OldValues,3034,Variable EventQueueOverflowEventType,3035,ObjectType EventTypesFolder,3048,Object ServerCapabilitiesType_SoftwareCertificates,3049,Variable SessionDiagnosticsVariableType_MaxResponseMessageSize,3050,Variable BuildInfoType,3051,VariableType BuildInfoType_ProductUri,3052,Variable BuildInfoType_ManufacturerName,3053,Variable BuildInfoType_ProductName,3054,Variable BuildInfoType_SoftwareVersion,3055,Variable BuildInfoType_BuildNumber,3056,Variable BuildInfoType_BuildDate,3057,Variable SessionSecurityDiagnosticsType_ClientCertificate,3058,Variable HistoricalDataConfigurationType_AggregateConfiguration,3059,Object DefaultBinary,3062,Object DefaultXml,3063,Object AlwaysGeneratesEvent,3065,ReferenceType Icon,3067,Variable NodeVersion,3068,Variable LocalTime,3069,Variable AllowNulls,3070,Variable EnumValues,3071,Variable InputArguments,3072,Variable OutputArguments,3073,Variable ServerType_ServerStatus_StartTime,3074,Variable ServerType_ServerStatus_CurrentTime,3075,Variable ServerType_ServerStatus_State,3076,Variable ServerType_ServerStatus_BuildInfo,3077,Variable ServerType_ServerStatus_BuildInfo_ProductUri,3078,Variable ServerType_ServerStatus_BuildInfo_ManufacturerName,3079,Variable ServerType_ServerStatus_BuildInfo_ProductName,3080,Variable ServerType_ServerStatus_BuildInfo_SoftwareVersion,3081,Variable ServerType_ServerStatus_BuildInfo_BuildNumber,3082,Variable ServerType_ServerStatus_BuildInfo_BuildDate,3083,Variable ServerType_ServerStatus_SecondsTillShutdown,3084,Variable ServerType_ServerStatus_ShutdownReason,3085,Variable ServerType_ServerCapabilities_ServerProfileArray,3086,Variable ServerType_ServerCapabilities_LocaleIdArray,3087,Variable ServerType_ServerCapabilities_MinSupportedSampleRate,3088,Variable ServerType_ServerCapabilities_MaxBrowseContinuationPoints,3089,Variable ServerType_ServerCapabilities_MaxQueryContinuationPoints,3090,Variable ServerType_ServerCapabilities_MaxHistoryContinuationPoints,3091,Variable ServerType_ServerCapabilities_SoftwareCertificates,3092,Variable ServerType_ServerCapabilities_ModellingRules,3093,Object ServerType_ServerCapabilities_AggregateFunctions,3094,Object ServerType_ServerDiagnostics_ServerDiagnosticsSummary,3095,Variable ServerType_ServerDiagnostics_ServerDiagnosticsSummary_ServerViewCount,3096,Variable ServerType_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSessionCount,3097,Variable ServerType_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSessionCount,3098,Variable ServerType_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedSessionCount,3099,Variable ServerType_ServerDiagnostics_ServerDiagnosticsSummary_RejectedSessionCount,3100,Variable ServerType_ServerDiagnostics_ServerDiagnosticsSummary_SessionTimeoutCount,3101,Variable ServerType_ServerDiagnostics_ServerDiagnosticsSummary_SessionAbortCount,3102,Variable ServerType_ServerDiagnostics_ServerDiagnosticsSummary_PublishingIntervalCount,3104,Variable ServerType_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSubscriptionCount,3105,Variable ServerType_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSubscriptionCount,3106,Variable ServerType_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedRequestsCount,3107,Variable ServerType_ServerDiagnostics_ServerDiagnosticsSummary_RejectedRequestsCount,3108,Variable ServerType_ServerDiagnostics_SamplingIntervalDiagnosticsArray,3109,Variable ServerType_ServerDiagnostics_SubscriptionDiagnosticsArray,3110,Variable ServerType_ServerDiagnostics_SessionsDiagnosticsSummary,3111,Object ServerType_ServerDiagnostics_SessionsDiagnosticsSummary_SessionDiagnosticsArray,3112,Variable ServerType_ServerDiagnostics_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray,3113,Variable ServerType_ServerDiagnostics_EnabledFlag,3114,Variable ServerType_ServerRedundancy_RedundancySupport,3115,Variable ServerDiagnosticsType_ServerDiagnosticsSummary_ServerViewCount,3116,Variable ServerDiagnosticsType_ServerDiagnosticsSummary_CurrentSessionCount,3117,Variable ServerDiagnosticsType_ServerDiagnosticsSummary_CumulatedSessionCount,3118,Variable ServerDiagnosticsType_ServerDiagnosticsSummary_SecurityRejectedSessionCount,3119,Variable ServerDiagnosticsType_ServerDiagnosticsSummary_RejectedSessionCount,3120,Variable ServerDiagnosticsType_ServerDiagnosticsSummary_SessionTimeoutCount,3121,Variable ServerDiagnosticsType_ServerDiagnosticsSummary_SessionAbortCount,3122,Variable ServerDiagnosticsType_ServerDiagnosticsSummary_PublishingIntervalCount,3124,Variable ServerDiagnosticsType_ServerDiagnosticsSummary_CurrentSubscriptionCount,3125,Variable ServerDiagnosticsType_ServerDiagnosticsSummary_CumulatedSubscriptionCount,3126,Variable ServerDiagnosticsType_ServerDiagnosticsSummary_SecurityRejectedRequestsCount,3127,Variable ServerDiagnosticsType_ServerDiagnosticsSummary_RejectedRequestsCount,3128,Variable ServerDiagnosticsType_SessionsDiagnosticsSummary_SessionDiagnosticsArray,3129,Variable ServerDiagnosticsType_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray,3130,Variable SessionDiagnosticsObjectType_SessionDiagnostics_SessionId,3131,Variable SessionDiagnosticsObjectType_SessionDiagnostics_SessionName,3132,Variable SessionDiagnosticsObjectType_SessionDiagnostics_ClientDescription,3133,Variable SessionDiagnosticsObjectType_SessionDiagnostics_ServerUri,3134,Variable SessionDiagnosticsObjectType_SessionDiagnostics_EndpointUrl,3135,Variable SessionDiagnosticsObjectType_SessionDiagnostics_LocaleIds,3136,Variable SessionDiagnosticsObjectType_SessionDiagnostics_ActualSessionTimeout,3137,Variable SessionDiagnosticsObjectType_SessionDiagnostics_MaxResponseMessageSize,3138,Variable SessionDiagnosticsObjectType_SessionDiagnostics_ClientConnectionTime,3139,Variable SessionDiagnosticsObjectType_SessionDiagnostics_ClientLastContactTime,3140,Variable SessionDiagnosticsObjectType_SessionDiagnostics_CurrentSubscriptionsCount,3141,Variable SessionDiagnosticsObjectType_SessionDiagnostics_CurrentMonitoredItemsCount,3142,Variable SessionDiagnosticsObjectType_SessionDiagnostics_CurrentPublishRequestsInQueue,3143,Variable SessionDiagnosticsObjectType_SessionDiagnostics_ReadCount,3151,Variable SessionDiagnosticsObjectType_SessionDiagnostics_HistoryReadCount,3152,Variable SessionDiagnosticsObjectType_SessionDiagnostics_WriteCount,3153,Variable SessionDiagnosticsObjectType_SessionDiagnostics_HistoryUpdateCount,3154,Variable SessionDiagnosticsObjectType_SessionDiagnostics_CallCount,3155,Variable SessionDiagnosticsObjectType_SessionDiagnostics_CreateMonitoredItemsCount,3156,Variable SessionDiagnosticsObjectType_SessionDiagnostics_ModifyMonitoredItemsCount,3157,Variable SessionDiagnosticsObjectType_SessionDiagnostics_SetMonitoringModeCount,3158,Variable SessionDiagnosticsObjectType_SessionDiagnostics_SetTriggeringCount,3159,Variable SessionDiagnosticsObjectType_SessionDiagnostics_DeleteMonitoredItemsCount,3160,Variable SessionDiagnosticsObjectType_SessionDiagnostics_CreateSubscriptionCount,3161,Variable SessionDiagnosticsObjectType_SessionDiagnostics_ModifySubscriptionCount,3162,Variable SessionDiagnosticsObjectType_SessionDiagnostics_SetPublishingModeCount,3163,Variable SessionDiagnosticsObjectType_SessionDiagnostics_PublishCount,3164,Variable SessionDiagnosticsObjectType_SessionDiagnostics_RepublishCount,3165,Variable SessionDiagnosticsObjectType_SessionDiagnostics_TransferSubscriptionsCount,3166,Variable SessionDiagnosticsObjectType_SessionDiagnostics_DeleteSubscriptionsCount,3167,Variable SessionDiagnosticsObjectType_SessionDiagnostics_AddNodesCount,3168,Variable SessionDiagnosticsObjectType_SessionDiagnostics_AddReferencesCount,3169,Variable SessionDiagnosticsObjectType_SessionDiagnostics_DeleteNodesCount,3170,Variable SessionDiagnosticsObjectType_SessionDiagnostics_DeleteReferencesCount,3171,Variable SessionDiagnosticsObjectType_SessionDiagnostics_BrowseCount,3172,Variable SessionDiagnosticsObjectType_SessionDiagnostics_BrowseNextCount,3173,Variable SessionDiagnosticsObjectType_SessionDiagnostics_TranslateBrowsePathsToNodeIdsCount,3174,Variable SessionDiagnosticsObjectType_SessionDiagnostics_QueryFirstCount,3175,Variable SessionDiagnosticsObjectType_SessionDiagnostics_QueryNextCount,3176,Variable SessionDiagnosticsObjectType_SessionDiagnostics_RegisterNodesCount,3177,Variable SessionDiagnosticsObjectType_SessionDiagnostics_UnregisterNodesCount,3178,Variable SessionDiagnosticsObjectType_SessionSecurityDiagnostics_SessionId,3179,Variable SessionDiagnosticsObjectType_SessionSecurityDiagnostics_ClientUserIdOfSession,3180,Variable SessionDiagnosticsObjectType_SessionSecurityDiagnostics_ClientUserIdHistory,3181,Variable SessionDiagnosticsObjectType_SessionSecurityDiagnostics_AuthenticationMechanism,3182,Variable SessionDiagnosticsObjectType_SessionSecurityDiagnostics_Encoding,3183,Variable SessionDiagnosticsObjectType_SessionSecurityDiagnostics_TransportProtocol,3184,Variable SessionDiagnosticsObjectType_SessionSecurityDiagnostics_SecurityMode,3185,Variable SessionDiagnosticsObjectType_SessionSecurityDiagnostics_SecurityPolicyUri,3186,Variable SessionDiagnosticsObjectType_SessionSecurityDiagnostics_ClientCertificate,3187,Variable TransparentRedundancyType_RedundancySupport,3188,Variable NonTransparentRedundancyType_RedundancySupport,3189,Variable BaseEventType_LocalTime,3190,Variable EventQueueOverflowEventType_EventId,3191,Variable EventQueueOverflowEventType_EventType,3192,Variable EventQueueOverflowEventType_SourceNode,3193,Variable EventQueueOverflowEventType_SourceName,3194,Variable EventQueueOverflowEventType_Time,3195,Variable EventQueueOverflowEventType_ReceiveTime,3196,Variable EventQueueOverflowEventType_LocalTime,3197,Variable EventQueueOverflowEventType_Message,3198,Variable EventQueueOverflowEventType_Severity,3199,Variable AuditEventType_EventId,3200,Variable AuditEventType_EventType,3201,Variable AuditEventType_SourceNode,3202,Variable AuditEventType_SourceName,3203,Variable AuditEventType_Time,3204,Variable AuditEventType_ReceiveTime,3205,Variable AuditEventType_LocalTime,3206,Variable AuditEventType_Message,3207,Variable AuditEventType_Severity,3208,Variable AuditSecurityEventType_EventId,3209,Variable AuditSecurityEventType_EventType,3210,Variable AuditSecurityEventType_SourceNode,3211,Variable AuditSecurityEventType_SourceName,3212,Variable AuditSecurityEventType_Time,3213,Variable AuditSecurityEventType_ReceiveTime,3214,Variable AuditSecurityEventType_LocalTime,3215,Variable AuditSecurityEventType_Message,3216,Variable AuditSecurityEventType_Severity,3217,Variable AuditSecurityEventType_ActionTimeStamp,3218,Variable AuditSecurityEventType_Status,3219,Variable AuditSecurityEventType_ServerId,3220,Variable AuditSecurityEventType_ClientAuditEntryId,3221,Variable AuditSecurityEventType_ClientUserId,3222,Variable AuditChannelEventType_EventId,3223,Variable AuditChannelEventType_EventType,3224,Variable AuditChannelEventType_SourceNode,3225,Variable AuditChannelEventType_SourceName,3226,Variable AuditChannelEventType_Time,3227,Variable AuditChannelEventType_ReceiveTime,3228,Variable AuditChannelEventType_LocalTime,3229,Variable AuditChannelEventType_Message,3230,Variable AuditChannelEventType_Severity,3231,Variable AuditChannelEventType_ActionTimeStamp,3232,Variable AuditChannelEventType_Status,3233,Variable AuditChannelEventType_ServerId,3234,Variable AuditChannelEventType_ClientAuditEntryId,3235,Variable AuditChannelEventType_ClientUserId,3236,Variable AuditOpenSecureChannelEventType_EventId,3237,Variable AuditOpenSecureChannelEventType_EventType,3238,Variable AuditOpenSecureChannelEventType_SourceNode,3239,Variable AuditOpenSecureChannelEventType_SourceName,3240,Variable AuditOpenSecureChannelEventType_Time,3241,Variable AuditOpenSecureChannelEventType_ReceiveTime,3242,Variable AuditOpenSecureChannelEventType_LocalTime,3243,Variable AuditOpenSecureChannelEventType_Message,3244,Variable AuditOpenSecureChannelEventType_Severity,3245,Variable AuditOpenSecureChannelEventType_ActionTimeStamp,3246,Variable AuditOpenSecureChannelEventType_Status,3247,Variable AuditOpenSecureChannelEventType_ServerId,3248,Variable AuditOpenSecureChannelEventType_ClientAuditEntryId,3249,Variable AuditOpenSecureChannelEventType_ClientUserId,3250,Variable AuditOpenSecureChannelEventType_SecureChannelId,3251,Variable AuditSessionEventType_EventId,3252,Variable AuditSessionEventType_EventType,3253,Variable AuditSessionEventType_SourceNode,3254,Variable AuditSessionEventType_SourceName,3255,Variable AuditSessionEventType_Time,3256,Variable AuditSessionEventType_ReceiveTime,3257,Variable AuditSessionEventType_LocalTime,3258,Variable AuditSessionEventType_Message,3259,Variable AuditSessionEventType_Severity,3260,Variable AuditSessionEventType_ActionTimeStamp,3261,Variable AuditSessionEventType_Status,3262,Variable AuditSessionEventType_ServerId,3263,Variable AuditSessionEventType_ClientAuditEntryId,3264,Variable AuditSessionEventType_ClientUserId,3265,Variable AuditCreateSessionEventType_EventId,3266,Variable AuditCreateSessionEventType_EventType,3267,Variable AuditCreateSessionEventType_SourceNode,3268,Variable AuditCreateSessionEventType_SourceName,3269,Variable AuditCreateSessionEventType_Time,3270,Variable AuditCreateSessionEventType_ReceiveTime,3271,Variable AuditCreateSessionEventType_LocalTime,3272,Variable AuditCreateSessionEventType_Message,3273,Variable AuditCreateSessionEventType_Severity,3274,Variable AuditCreateSessionEventType_ActionTimeStamp,3275,Variable AuditCreateSessionEventType_Status,3276,Variable AuditCreateSessionEventType_ServerId,3277,Variable AuditCreateSessionEventType_ClientAuditEntryId,3278,Variable AuditCreateSessionEventType_ClientUserId,3279,Variable AuditUrlMismatchEventType_EventId,3281,Variable AuditUrlMismatchEventType_EventType,3282,Variable AuditUrlMismatchEventType_SourceNode,3283,Variable AuditUrlMismatchEventType_SourceName,3284,Variable AuditUrlMismatchEventType_Time,3285,Variable AuditUrlMismatchEventType_ReceiveTime,3286,Variable AuditUrlMismatchEventType_LocalTime,3287,Variable AuditUrlMismatchEventType_Message,3288,Variable AuditUrlMismatchEventType_Severity,3289,Variable AuditUrlMismatchEventType_ActionTimeStamp,3290,Variable AuditUrlMismatchEventType_Status,3291,Variable AuditUrlMismatchEventType_ServerId,3292,Variable AuditUrlMismatchEventType_ClientAuditEntryId,3293,Variable AuditUrlMismatchEventType_ClientUserId,3294,Variable AuditUrlMismatchEventType_SecureChannelId,3296,Variable AuditUrlMismatchEventType_ClientCertificate,3297,Variable AuditUrlMismatchEventType_ClientCertificateThumbprint,3298,Variable AuditUrlMismatchEventType_RevisedSessionTimeout,3299,Variable AuditActivateSessionEventType_EventId,3300,Variable AuditActivateSessionEventType_EventType,3301,Variable AuditActivateSessionEventType_SourceNode,3302,Variable AuditActivateSessionEventType_SourceName,3303,Variable AuditActivateSessionEventType_Time,3304,Variable AuditActivateSessionEventType_ReceiveTime,3305,Variable AuditActivateSessionEventType_LocalTime,3306,Variable AuditActivateSessionEventType_Message,3307,Variable AuditActivateSessionEventType_Severity,3308,Variable AuditActivateSessionEventType_ActionTimeStamp,3309,Variable AuditActivateSessionEventType_Status,3310,Variable AuditActivateSessionEventType_ServerId,3311,Variable AuditActivateSessionEventType_ClientAuditEntryId,3312,Variable AuditActivateSessionEventType_ClientUserId,3313,Variable AuditActivateSessionEventType_SessionId,3314,Variable AuditCancelEventType_EventId,3315,Variable AuditCancelEventType_EventType,3316,Variable AuditCancelEventType_SourceNode,3317,Variable AuditCancelEventType_SourceName,3318,Variable AuditCancelEventType_Time,3319,Variable AuditCancelEventType_ReceiveTime,3320,Variable AuditCancelEventType_LocalTime,3321,Variable AuditCancelEventType_Message,3322,Variable AuditCancelEventType_Severity,3323,Variable AuditCancelEventType_ActionTimeStamp,3324,Variable AuditCancelEventType_Status,3325,Variable AuditCancelEventType_ServerId,3326,Variable AuditCancelEventType_ClientAuditEntryId,3327,Variable AuditCancelEventType_ClientUserId,3328,Variable AuditCancelEventType_SessionId,3329,Variable AuditCertificateEventType_EventId,3330,Variable AuditCertificateEventType_EventType,3331,Variable AuditCertificateEventType_SourceNode,3332,Variable AuditCertificateEventType_SourceName,3333,Variable AuditCertificateEventType_Time,3334,Variable AuditCertificateEventType_ReceiveTime,3335,Variable AuditCertificateEventType_LocalTime,3336,Variable AuditCertificateEventType_Message,3337,Variable AuditCertificateEventType_Severity,3338,Variable AuditCertificateEventType_ActionTimeStamp,3339,Variable AuditCertificateEventType_Status,3340,Variable AuditCertificateEventType_ServerId,3341,Variable AuditCertificateEventType_ClientAuditEntryId,3342,Variable AuditCertificateEventType_ClientUserId,3343,Variable AuditCertificateDataMismatchEventType_EventId,3344,Variable AuditCertificateDataMismatchEventType_EventType,3345,Variable AuditCertificateDataMismatchEventType_SourceNode,3346,Variable AuditCertificateDataMismatchEventType_SourceName,3347,Variable AuditCertificateDataMismatchEventType_Time,3348,Variable AuditCertificateDataMismatchEventType_ReceiveTime,3349,Variable AuditCertificateDataMismatchEventType_LocalTime,3350,Variable AuditCertificateDataMismatchEventType_Message,3351,Variable AuditCertificateDataMismatchEventType_Severity,3352,Variable AuditCertificateDataMismatchEventType_ActionTimeStamp,3353,Variable AuditCertificateDataMismatchEventType_Status,3354,Variable AuditCertificateDataMismatchEventType_ServerId,3355,Variable AuditCertificateDataMismatchEventType_ClientAuditEntryId,3356,Variable AuditCertificateDataMismatchEventType_ClientUserId,3357,Variable AuditCertificateDataMismatchEventType_Certificate,3358,Variable AuditCertificateExpiredEventType_EventId,3359,Variable AuditCertificateExpiredEventType_EventType,3360,Variable AuditCertificateExpiredEventType_SourceNode,3361,Variable AuditCertificateExpiredEventType_SourceName,3362,Variable AuditCertificateExpiredEventType_Time,3363,Variable AuditCertificateExpiredEventType_ReceiveTime,3364,Variable AuditCertificateExpiredEventType_LocalTime,3365,Variable AuditCertificateExpiredEventType_Message,3366,Variable AuditCertificateExpiredEventType_Severity,3367,Variable AuditCertificateExpiredEventType_ActionTimeStamp,3368,Variable AuditCertificateExpiredEventType_Status,3369,Variable AuditCertificateExpiredEventType_ServerId,3370,Variable AuditCertificateExpiredEventType_ClientAuditEntryId,3371,Variable AuditCertificateExpiredEventType_ClientUserId,3372,Variable AuditCertificateExpiredEventType_Certificate,3373,Variable AuditCertificateInvalidEventType_EventId,3374,Variable AuditCertificateInvalidEventType_EventType,3375,Variable AuditCertificateInvalidEventType_SourceNode,3376,Variable AuditCertificateInvalidEventType_SourceName,3377,Variable AuditCertificateInvalidEventType_Time,3378,Variable AuditCertificateInvalidEventType_ReceiveTime,3379,Variable AuditCertificateInvalidEventType_LocalTime,3380,Variable AuditCertificateInvalidEventType_Message,3381,Variable AuditCertificateInvalidEventType_Severity,3382,Variable AuditCertificateInvalidEventType_ActionTimeStamp,3383,Variable AuditCertificateInvalidEventType_Status,3384,Variable AuditCertificateInvalidEventType_ServerId,3385,Variable AuditCertificateInvalidEventType_ClientAuditEntryId,3386,Variable AuditCertificateInvalidEventType_ClientUserId,3387,Variable AuditCertificateInvalidEventType_Certificate,3388,Variable AuditCertificateUntrustedEventType_EventId,3389,Variable AuditCertificateUntrustedEventType_EventType,3390,Variable AuditCertificateUntrustedEventType_SourceNode,3391,Variable AuditCertificateUntrustedEventType_SourceName,3392,Variable AuditCertificateUntrustedEventType_Time,3393,Variable AuditCertificateUntrustedEventType_ReceiveTime,3394,Variable AuditCertificateUntrustedEventType_LocalTime,3395,Variable AuditCertificateUntrustedEventType_Message,3396,Variable AuditCertificateUntrustedEventType_Severity,3397,Variable AuditCertificateUntrustedEventType_ActionTimeStamp,3398,Variable AuditCertificateUntrustedEventType_Status,3399,Variable AuditCertificateUntrustedEventType_ServerId,3400,Variable AuditCertificateUntrustedEventType_ClientAuditEntryId,3401,Variable AuditCertificateUntrustedEventType_ClientUserId,3402,Variable AuditCertificateUntrustedEventType_Certificate,3403,Variable AuditCertificateRevokedEventType_EventId,3404,Variable AuditCertificateRevokedEventType_EventType,3405,Variable AuditCertificateRevokedEventType_SourceNode,3406,Variable AuditCertificateRevokedEventType_SourceName,3407,Variable AuditCertificateRevokedEventType_Time,3408,Variable AuditCertificateRevokedEventType_ReceiveTime,3409,Variable AuditCertificateRevokedEventType_LocalTime,3410,Variable AuditCertificateRevokedEventType_Message,3411,Variable AuditCertificateRevokedEventType_Severity,3412,Variable AuditCertificateRevokedEventType_ActionTimeStamp,3413,Variable AuditCertificateRevokedEventType_Status,3414,Variable AuditCertificateRevokedEventType_ServerId,3415,Variable AuditCertificateRevokedEventType_ClientAuditEntryId,3416,Variable AuditCertificateRevokedEventType_ClientUserId,3417,Variable AuditCertificateRevokedEventType_Certificate,3418,Variable AuditCertificateMismatchEventType_EventId,3419,Variable AuditCertificateMismatchEventType_EventType,3420,Variable AuditCertificateMismatchEventType_SourceNode,3421,Variable AuditCertificateMismatchEventType_SourceName,3422,Variable AuditCertificateMismatchEventType_Time,3423,Variable AuditCertificateMismatchEventType_ReceiveTime,3424,Variable AuditCertificateMismatchEventType_LocalTime,3425,Variable AuditCertificateMismatchEventType_Message,3426,Variable AuditCertificateMismatchEventType_Severity,3427,Variable AuditCertificateMismatchEventType_ActionTimeStamp,3428,Variable AuditCertificateMismatchEventType_Status,3429,Variable AuditCertificateMismatchEventType_ServerId,3430,Variable AuditCertificateMismatchEventType_ClientAuditEntryId,3431,Variable AuditCertificateMismatchEventType_ClientUserId,3432,Variable AuditCertificateMismatchEventType_Certificate,3433,Variable AuditNodeManagementEventType_EventId,3434,Variable AuditNodeManagementEventType_EventType,3435,Variable AuditNodeManagementEventType_SourceNode,3436,Variable AuditNodeManagementEventType_SourceName,3437,Variable AuditNodeManagementEventType_Time,3438,Variable AuditNodeManagementEventType_ReceiveTime,3439,Variable AuditNodeManagementEventType_LocalTime,3440,Variable AuditNodeManagementEventType_Message,3441,Variable AuditNodeManagementEventType_Severity,3442,Variable AuditNodeManagementEventType_ActionTimeStamp,3443,Variable AuditNodeManagementEventType_Status,3444,Variable AuditNodeManagementEventType_ServerId,3445,Variable AuditNodeManagementEventType_ClientAuditEntryId,3446,Variable AuditNodeManagementEventType_ClientUserId,3447,Variable AuditAddNodesEventType_EventId,3448,Variable AuditAddNodesEventType_EventType,3449,Variable AuditAddNodesEventType_SourceNode,3450,Variable AuditAddNodesEventType_SourceName,3451,Variable AuditAddNodesEventType_Time,3452,Variable AuditAddNodesEventType_ReceiveTime,3453,Variable AuditAddNodesEventType_LocalTime,3454,Variable AuditAddNodesEventType_Message,3455,Variable AuditAddNodesEventType_Severity,3456,Variable AuditAddNodesEventType_ActionTimeStamp,3457,Variable AuditAddNodesEventType_Status,3458,Variable AuditAddNodesEventType_ServerId,3459,Variable AuditAddNodesEventType_ClientAuditEntryId,3460,Variable AuditAddNodesEventType_ClientUserId,3461,Variable AuditDeleteNodesEventType_EventId,3462,Variable AuditDeleteNodesEventType_EventType,3463,Variable AuditDeleteNodesEventType_SourceNode,3464,Variable AuditDeleteNodesEventType_SourceName,3465,Variable AuditDeleteNodesEventType_Time,3466,Variable AuditDeleteNodesEventType_ReceiveTime,3467,Variable AuditDeleteNodesEventType_LocalTime,3468,Variable AuditDeleteNodesEventType_Message,3469,Variable AuditDeleteNodesEventType_Severity,3470,Variable AuditDeleteNodesEventType_ActionTimeStamp,3471,Variable AuditDeleteNodesEventType_Status,3472,Variable AuditDeleteNodesEventType_ServerId,3473,Variable AuditDeleteNodesEventType_ClientAuditEntryId,3474,Variable AuditDeleteNodesEventType_ClientUserId,3475,Variable AuditAddReferencesEventType_EventId,3476,Variable AuditAddReferencesEventType_EventType,3477,Variable AuditAddReferencesEventType_SourceNode,3478,Variable AuditAddReferencesEventType_SourceName,3479,Variable AuditAddReferencesEventType_Time,3480,Variable AuditAddReferencesEventType_ReceiveTime,3481,Variable AuditAddReferencesEventType_LocalTime,3482,Variable AuditAddReferencesEventType_Message,3483,Variable AuditAddReferencesEventType_Severity,3484,Variable AuditAddReferencesEventType_ActionTimeStamp,3485,Variable AuditAddReferencesEventType_Status,3486,Variable AuditAddReferencesEventType_ServerId,3487,Variable AuditAddReferencesEventType_ClientAuditEntryId,3488,Variable AuditAddReferencesEventType_ClientUserId,3489,Variable AuditDeleteReferencesEventType_EventId,3490,Variable AuditDeleteReferencesEventType_EventType,3491,Variable AuditDeleteReferencesEventType_SourceNode,3492,Variable AuditDeleteReferencesEventType_SourceName,3493,Variable AuditDeleteReferencesEventType_Time,3494,Variable AuditDeleteReferencesEventType_ReceiveTime,3495,Variable AuditDeleteReferencesEventType_LocalTime,3496,Variable AuditDeleteReferencesEventType_Message,3497,Variable AuditDeleteReferencesEventType_Severity,3498,Variable AuditDeleteReferencesEventType_ActionTimeStamp,3499,Variable AuditDeleteReferencesEventType_Status,3500,Variable AuditDeleteReferencesEventType_ServerId,3501,Variable AuditDeleteReferencesEventType_ClientAuditEntryId,3502,Variable AuditDeleteReferencesEventType_ClientUserId,3503,Variable AuditUpdateEventType_EventId,3504,Variable AuditUpdateEventType_EventType,3505,Variable AuditUpdateEventType_SourceNode,3506,Variable AuditUpdateEventType_SourceName,3507,Variable AuditUpdateEventType_Time,3508,Variable AuditUpdateEventType_ReceiveTime,3509,Variable AuditUpdateEventType_LocalTime,3510,Variable AuditUpdateEventType_Message,3511,Variable AuditUpdateEventType_Severity,3512,Variable AuditUpdateEventType_ActionTimeStamp,3513,Variable AuditUpdateEventType_Status,3514,Variable AuditUpdateEventType_ServerId,3515,Variable AuditUpdateEventType_ClientAuditEntryId,3516,Variable AuditUpdateEventType_ClientUserId,3517,Variable AuditWriteUpdateEventType_EventId,3518,Variable AuditWriteUpdateEventType_EventType,3519,Variable AuditWriteUpdateEventType_SourceNode,3520,Variable AuditWriteUpdateEventType_SourceName,3521,Variable AuditWriteUpdateEventType_Time,3522,Variable AuditWriteUpdateEventType_ReceiveTime,3523,Variable AuditWriteUpdateEventType_LocalTime,3524,Variable AuditWriteUpdateEventType_Message,3525,Variable AuditWriteUpdateEventType_Severity,3526,Variable AuditWriteUpdateEventType_ActionTimeStamp,3527,Variable AuditWriteUpdateEventType_Status,3528,Variable AuditWriteUpdateEventType_ServerId,3529,Variable AuditWriteUpdateEventType_ClientAuditEntryId,3530,Variable AuditWriteUpdateEventType_ClientUserId,3531,Variable AuditHistoryUpdateEventType_EventId,3532,Variable AuditHistoryUpdateEventType_EventType,3533,Variable AuditHistoryUpdateEventType_SourceNode,3534,Variable AuditHistoryUpdateEventType_SourceName,3535,Variable AuditHistoryUpdateEventType_Time,3536,Variable AuditHistoryUpdateEventType_ReceiveTime,3537,Variable AuditHistoryUpdateEventType_LocalTime,3538,Variable AuditHistoryUpdateEventType_Message,3539,Variable AuditHistoryUpdateEventType_Severity,3540,Variable AuditHistoryUpdateEventType_ActionTimeStamp,3541,Variable AuditHistoryUpdateEventType_Status,3542,Variable AuditHistoryUpdateEventType_ServerId,3543,Variable AuditHistoryUpdateEventType_ClientAuditEntryId,3544,Variable AuditHistoryUpdateEventType_ClientUserId,3545,Variable AuditHistoryEventUpdateEventType_EventId,3546,Variable AuditHistoryEventUpdateEventType_EventType,3547,Variable AuditHistoryEventUpdateEventType_SourceNode,3548,Variable AuditHistoryEventUpdateEventType_SourceName,3549,Variable AuditHistoryEventUpdateEventType_Time,3550,Variable AuditHistoryEventUpdateEventType_ReceiveTime,3551,Variable AuditHistoryEventUpdateEventType_LocalTime,3552,Variable AuditHistoryEventUpdateEventType_Message,3553,Variable AuditHistoryEventUpdateEventType_Severity,3554,Variable AuditHistoryEventUpdateEventType_ActionTimeStamp,3555,Variable AuditHistoryEventUpdateEventType_Status,3556,Variable AuditHistoryEventUpdateEventType_ServerId,3557,Variable AuditHistoryEventUpdateEventType_ClientAuditEntryId,3558,Variable AuditHistoryEventUpdateEventType_ClientUserId,3559,Variable AuditHistoryEventUpdateEventType_ParameterDataTypeId,3560,Variable AuditHistoryValueUpdateEventType_EventId,3561,Variable AuditHistoryValueUpdateEventType_EventType,3562,Variable AuditHistoryValueUpdateEventType_SourceNode,3563,Variable AuditHistoryValueUpdateEventType_SourceName,3564,Variable AuditHistoryValueUpdateEventType_Time,3565,Variable AuditHistoryValueUpdateEventType_ReceiveTime,3566,Variable AuditHistoryValueUpdateEventType_LocalTime,3567,Variable AuditHistoryValueUpdateEventType_Message,3568,Variable AuditHistoryValueUpdateEventType_Severity,3569,Variable AuditHistoryValueUpdateEventType_ActionTimeStamp,3570,Variable AuditHistoryValueUpdateEventType_Status,3571,Variable AuditHistoryValueUpdateEventType_ServerId,3572,Variable AuditHistoryValueUpdateEventType_ClientAuditEntryId,3573,Variable AuditHistoryValueUpdateEventType_ClientUserId,3574,Variable AuditHistoryValueUpdateEventType_ParameterDataTypeId,3575,Variable AuditHistoryDeleteEventType_EventId,3576,Variable AuditHistoryDeleteEventType_EventType,3577,Variable AuditHistoryDeleteEventType_SourceNode,3578,Variable AuditHistoryDeleteEventType_SourceName,3579,Variable AuditHistoryDeleteEventType_Time,3580,Variable AuditHistoryDeleteEventType_ReceiveTime,3581,Variable AuditHistoryDeleteEventType_LocalTime,3582,Variable AuditHistoryDeleteEventType_Message,3583,Variable AuditHistoryDeleteEventType_Severity,3584,Variable AuditHistoryDeleteEventType_ActionTimeStamp,3585,Variable AuditHistoryDeleteEventType_Status,3586,Variable AuditHistoryDeleteEventType_ServerId,3587,Variable AuditHistoryDeleteEventType_ClientAuditEntryId,3588,Variable AuditHistoryDeleteEventType_ClientUserId,3589,Variable AuditHistoryDeleteEventType_ParameterDataTypeId,3590,Variable AuditHistoryRawModifyDeleteEventType_EventId,3591,Variable AuditHistoryRawModifyDeleteEventType_EventType,3592,Variable AuditHistoryRawModifyDeleteEventType_SourceNode,3593,Variable AuditHistoryRawModifyDeleteEventType_SourceName,3594,Variable AuditHistoryRawModifyDeleteEventType_Time,3595,Variable AuditHistoryRawModifyDeleteEventType_ReceiveTime,3596,Variable AuditHistoryRawModifyDeleteEventType_LocalTime,3597,Variable AuditHistoryRawModifyDeleteEventType_Message,3598,Variable AuditHistoryRawModifyDeleteEventType_Severity,3599,Variable AuditHistoryRawModifyDeleteEventType_ActionTimeStamp,3600,Variable AuditHistoryRawModifyDeleteEventType_Status,3601,Variable AuditHistoryRawModifyDeleteEventType_ServerId,3602,Variable AuditHistoryRawModifyDeleteEventType_ClientAuditEntryId,3603,Variable AuditHistoryRawModifyDeleteEventType_ClientUserId,3604,Variable AuditHistoryRawModifyDeleteEventType_ParameterDataTypeId,3605,Variable AuditHistoryRawModifyDeleteEventType_UpdatedNode,3606,Variable AuditHistoryAtTimeDeleteEventType_EventId,3607,Variable AuditHistoryAtTimeDeleteEventType_EventType,3608,Variable AuditHistoryAtTimeDeleteEventType_SourceNode,3609,Variable AuditHistoryAtTimeDeleteEventType_SourceName,3610,Variable AuditHistoryAtTimeDeleteEventType_Time,3611,Variable AuditHistoryAtTimeDeleteEventType_ReceiveTime,3612,Variable AuditHistoryAtTimeDeleteEventType_LocalTime,3613,Variable AuditHistoryAtTimeDeleteEventType_Message,3614,Variable AuditHistoryAtTimeDeleteEventType_Severity,3615,Variable AuditHistoryAtTimeDeleteEventType_ActionTimeStamp,3616,Variable AuditHistoryAtTimeDeleteEventType_Status,3617,Variable AuditHistoryAtTimeDeleteEventType_ServerId,3618,Variable AuditHistoryAtTimeDeleteEventType_ClientAuditEntryId,3619,Variable AuditHistoryAtTimeDeleteEventType_ClientUserId,3620,Variable AuditHistoryAtTimeDeleteEventType_ParameterDataTypeId,3621,Variable AuditHistoryAtTimeDeleteEventType_UpdatedNode,3622,Variable AuditHistoryEventDeleteEventType_EventId,3623,Variable AuditHistoryEventDeleteEventType_EventType,3624,Variable AuditHistoryEventDeleteEventType_SourceNode,3625,Variable AuditHistoryEventDeleteEventType_SourceName,3626,Variable AuditHistoryEventDeleteEventType_Time,3627,Variable AuditHistoryEventDeleteEventType_ReceiveTime,3628,Variable AuditHistoryEventDeleteEventType_LocalTime,3629,Variable AuditHistoryEventDeleteEventType_Message,3630,Variable AuditHistoryEventDeleteEventType_Severity,3631,Variable AuditHistoryEventDeleteEventType_ActionTimeStamp,3632,Variable AuditHistoryEventDeleteEventType_Status,3633,Variable AuditHistoryEventDeleteEventType_ServerId,3634,Variable AuditHistoryEventDeleteEventType_ClientAuditEntryId,3635,Variable AuditHistoryEventDeleteEventType_ClientUserId,3636,Variable AuditHistoryEventDeleteEventType_ParameterDataTypeId,3637,Variable AuditHistoryEventDeleteEventType_UpdatedNode,3638,Variable AuditUpdateMethodEventType_EventId,3639,Variable AuditUpdateMethodEventType_EventType,3640,Variable AuditUpdateMethodEventType_SourceNode,3641,Variable AuditUpdateMethodEventType_SourceName,3642,Variable AuditUpdateMethodEventType_Time,3643,Variable AuditUpdateMethodEventType_ReceiveTime,3644,Variable AuditUpdateMethodEventType_LocalTime,3645,Variable AuditUpdateMethodEventType_Message,3646,Variable AuditUpdateMethodEventType_Severity,3647,Variable AuditUpdateMethodEventType_ActionTimeStamp,3648,Variable AuditUpdateMethodEventType_Status,3649,Variable AuditUpdateMethodEventType_ServerId,3650,Variable AuditUpdateMethodEventType_ClientAuditEntryId,3651,Variable AuditUpdateMethodEventType_ClientUserId,3652,Variable SystemEventType_EventId,3653,Variable SystemEventType_EventType,3654,Variable SystemEventType_SourceNode,3655,Variable SystemEventType_SourceName,3656,Variable SystemEventType_Time,3657,Variable SystemEventType_ReceiveTime,3658,Variable SystemEventType_LocalTime,3659,Variable SystemEventType_Message,3660,Variable SystemEventType_Severity,3661,Variable DeviceFailureEventType_EventId,3662,Variable DeviceFailureEventType_EventType,3663,Variable DeviceFailureEventType_SourceNode,3664,Variable DeviceFailureEventType_SourceName,3665,Variable DeviceFailureEventType_Time,3666,Variable DeviceFailureEventType_ReceiveTime,3667,Variable DeviceFailureEventType_LocalTime,3668,Variable DeviceFailureEventType_Message,3669,Variable DeviceFailureEventType_Severity,3670,Variable BaseModelChangeEventType_EventId,3671,Variable BaseModelChangeEventType_EventType,3672,Variable BaseModelChangeEventType_SourceNode,3673,Variable BaseModelChangeEventType_SourceName,3674,Variable BaseModelChangeEventType_Time,3675,Variable BaseModelChangeEventType_ReceiveTime,3676,Variable BaseModelChangeEventType_LocalTime,3677,Variable BaseModelChangeEventType_Message,3678,Variable BaseModelChangeEventType_Severity,3679,Variable GeneralModelChangeEventType_EventId,3680,Variable GeneralModelChangeEventType_EventType,3681,Variable GeneralModelChangeEventType_SourceNode,3682,Variable GeneralModelChangeEventType_SourceName,3683,Variable GeneralModelChangeEventType_Time,3684,Variable GeneralModelChangeEventType_ReceiveTime,3685,Variable GeneralModelChangeEventType_LocalTime,3686,Variable GeneralModelChangeEventType_Message,3687,Variable GeneralModelChangeEventType_Severity,3688,Variable SemanticChangeEventType_EventId,3689,Variable SemanticChangeEventType_EventType,3690,Variable SemanticChangeEventType_SourceNode,3691,Variable SemanticChangeEventType_SourceName,3692,Variable SemanticChangeEventType_Time,3693,Variable SemanticChangeEventType_ReceiveTime,3694,Variable SemanticChangeEventType_LocalTime,3695,Variable SemanticChangeEventType_Message,3696,Variable SemanticChangeEventType_Severity,3697,Variable ServerStatusType_BuildInfo_ProductUri,3698,Variable ServerStatusType_BuildInfo_ManufacturerName,3699,Variable ServerStatusType_BuildInfo_ProductName,3700,Variable ServerStatusType_BuildInfo_SoftwareVersion,3701,Variable ServerStatusType_BuildInfo_BuildNumber,3702,Variable ServerStatusType_BuildInfo_BuildDate,3703,Variable Server_ServerCapabilities_SoftwareCertificates,3704,Variable Server_ServerDiagnostics_ServerDiagnosticsSummary_RejectedSessionCount,3705,Variable Server_ServerDiagnostics_SessionsDiagnosticsSummary,3706,Object Server_ServerDiagnostics_SessionsDiagnosticsSummary_SessionDiagnosticsArray,3707,Variable Server_ServerDiagnostics_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray,3708,Variable Server_ServerRedundancy_RedundancySupport,3709,Variable FiniteStateVariableType_Name,3714,Variable FiniteStateVariableType_Number,3715,Variable FiniteStateVariableType_EffectiveDisplayName,3716,Variable FiniteTransitionVariableType_Name,3717,Variable FiniteTransitionVariableType_Number,3718,Variable FiniteTransitionVariableType_TransitionTime,3719,Variable StateMachineType_CurrentState_Id,3720,Variable StateMachineType_CurrentState_Name,3721,Variable StateMachineType_CurrentState_Number,3722,Variable StateMachineType_CurrentState_EffectiveDisplayName,3723,Variable StateMachineType_LastTransition_Id,3724,Variable StateMachineType_LastTransition_Name,3725,Variable StateMachineType_LastTransition_Number,3726,Variable StateMachineType_LastTransition_TransitionTime,3727,Variable FiniteStateMachineType_CurrentState_Id,3728,Variable FiniteStateMachineType_CurrentState_Name,3729,Variable FiniteStateMachineType_CurrentState_Number,3730,Variable FiniteStateMachineType_CurrentState_EffectiveDisplayName,3731,Variable FiniteStateMachineType_LastTransition_Id,3732,Variable FiniteStateMachineType_LastTransition_Name,3733,Variable FiniteStateMachineType_LastTransition_Number,3734,Variable FiniteStateMachineType_LastTransition_TransitionTime,3735,Variable InitialStateType_StateNumber,3736,Variable TransitionEventType_EventId,3737,Variable TransitionEventType_EventType,3738,Variable TransitionEventType_SourceNode,3739,Variable TransitionEventType_SourceName,3740,Variable TransitionEventType_Time,3741,Variable TransitionEventType_ReceiveTime,3742,Variable TransitionEventType_LocalTime,3743,Variable TransitionEventType_Message,3744,Variable TransitionEventType_Severity,3745,Variable TransitionEventType_FromState_Id,3746,Variable TransitionEventType_FromState_Name,3747,Variable TransitionEventType_FromState_Number,3748,Variable TransitionEventType_FromState_EffectiveDisplayName,3749,Variable TransitionEventType_ToState_Id,3750,Variable TransitionEventType_ToState_Name,3751,Variable TransitionEventType_ToState_Number,3752,Variable TransitionEventType_ToState_EffectiveDisplayName,3753,Variable TransitionEventType_Transition_Id,3754,Variable TransitionEventType_Transition_Name,3755,Variable TransitionEventType_Transition_Number,3756,Variable TransitionEventType_Transition_TransitionTime,3757,Variable AuditUpdateStateEventType_EventId,3758,Variable AuditUpdateStateEventType_EventType,3759,Variable AuditUpdateStateEventType_SourceNode,3760,Variable AuditUpdateStateEventType_SourceName,3761,Variable AuditUpdateStateEventType_Time,3762,Variable AuditUpdateStateEventType_ReceiveTime,3763,Variable AuditUpdateStateEventType_LocalTime,3764,Variable AuditUpdateStateEventType_Message,3765,Variable AuditUpdateStateEventType_Severity,3766,Variable AuditUpdateStateEventType_ActionTimeStamp,3767,Variable AuditUpdateStateEventType_Status,3768,Variable AuditUpdateStateEventType_ServerId,3769,Variable AuditUpdateStateEventType_ClientAuditEntryId,3770,Variable AuditUpdateStateEventType_ClientUserId,3771,Variable AuditUpdateStateEventType_MethodId,3772,Variable AuditUpdateStateEventType_InputArguments,3773,Variable AnalogItemType_Definition,3774,Variable AnalogItemType_ValuePrecision,3775,Variable DiscreteItemType_Definition,3776,Variable DiscreteItemType_ValuePrecision,3777,Variable TwoStateDiscreteType_Definition,3778,Variable TwoStateDiscreteType_ValuePrecision,3779,Variable MultiStateDiscreteType_Definition,3780,Variable MultiStateDiscreteType_ValuePrecision,3781,Variable ProgramTransitionEventType_EventId,3782,Variable ProgramTransitionEventType_EventType,3783,Variable ProgramTransitionEventType_SourceNode,3784,Variable ProgramTransitionEventType_SourceName,3785,Variable ProgramTransitionEventType_Time,3786,Variable ProgramTransitionEventType_ReceiveTime,3787,Variable ProgramTransitionEventType_LocalTime,3788,Variable ProgramTransitionEventType_Message,3789,Variable ProgramTransitionEventType_Severity,3790,Variable ProgramTransitionEventType_FromState,3791,Variable ProgramTransitionEventType_FromState_Id,3792,Variable ProgramTransitionEventType_FromState_Name,3793,Variable ProgramTransitionEventType_FromState_Number,3794,Variable ProgramTransitionEventType_FromState_EffectiveDisplayName,3795,Variable ProgramTransitionEventType_ToState,3796,Variable ProgramTransitionEventType_ToState_Id,3797,Variable ProgramTransitionEventType_ToState_Name,3798,Variable ProgramTransitionEventType_ToState_Number,3799,Variable ProgramTransitionEventType_ToState_EffectiveDisplayName,3800,Variable ProgramTransitionEventType_Transition,3801,Variable ProgramTransitionEventType_Transition_Id,3802,Variable ProgramTransitionEventType_Transition_Name,3803,Variable ProgramTransitionEventType_Transition_Number,3804,Variable ProgramTransitionEventType_Transition_TransitionTime,3805,Variable ProgramTransitionAuditEventType,3806,ObjectType ProgramTransitionAuditEventType_EventId,3807,Variable ProgramTransitionAuditEventType_EventType,3808,Variable ProgramTransitionAuditEventType_SourceNode,3809,Variable ProgramTransitionAuditEventType_SourceName,3810,Variable ProgramTransitionAuditEventType_Time,3811,Variable ProgramTransitionAuditEventType_ReceiveTime,3812,Variable ProgramTransitionAuditEventType_LocalTime,3813,Variable ProgramTransitionAuditEventType_Message,3814,Variable ProgramTransitionAuditEventType_Severity,3815,Variable ProgramTransitionAuditEventType_ActionTimeStamp,3816,Variable ProgramTransitionAuditEventType_Status,3817,Variable ProgramTransitionAuditEventType_ServerId,3818,Variable ProgramTransitionAuditEventType_ClientAuditEntryId,3819,Variable ProgramTransitionAuditEventType_ClientUserId,3820,Variable ProgramTransitionAuditEventType_MethodId,3821,Variable ProgramTransitionAuditEventType_InputArguments,3822,Variable ProgramTransitionAuditEventType_OldStateId,3823,Variable ProgramTransitionAuditEventType_NewStateId,3824,Variable ProgramTransitionAuditEventType_Transition,3825,Variable ProgramTransitionAuditEventType_Transition_Id,3826,Variable ProgramTransitionAuditEventType_Transition_Name,3827,Variable ProgramTransitionAuditEventType_Transition_Number,3828,Variable ProgramTransitionAuditEventType_Transition_TransitionTime,3829,Variable ProgramStateMachineType_CurrentState,3830,Variable ProgramStateMachineType_CurrentState_Id,3831,Variable ProgramStateMachineType_CurrentState_Name,3832,Variable ProgramStateMachineType_CurrentState_Number,3833,Variable ProgramStateMachineType_CurrentState_EffectiveDisplayName,3834,Variable ProgramStateMachineType_LastTransition,3835,Variable ProgramStateMachineType_LastTransition_Id,3836,Variable ProgramStateMachineType_LastTransition_Name,3837,Variable ProgramStateMachineType_LastTransition_Number,3838,Variable ProgramStateMachineType_LastTransition_TransitionTime,3839,Variable ProgramStateMachineType_ProgramDiagnostics_CreateSessionId,3840,Variable ProgramStateMachineType_ProgramDiagnostics_CreateClientName,3841,Variable ProgramStateMachineType_ProgramDiagnostics_InvocationCreationTime,3842,Variable ProgramStateMachineType_ProgramDiagnostics_LastTransitionTime,3843,Variable ProgramStateMachineType_ProgramDiagnostics_LastMethodCall,3844,Variable ProgramStateMachineType_ProgramDiagnostics_LastMethodSessionId,3845,Variable ProgramStateMachineType_ProgramDiagnostics_LastMethodInputArguments,3846,Variable ProgramStateMachineType_ProgramDiagnostics_LastMethodOutputArguments,3847,Variable ProgramStateMachineType_ProgramDiagnostics_LastMethodCallTime,3848,Variable ProgramStateMachineType_ProgramDiagnostics_LastMethodReturnStatus,3849,Variable ProgramStateMachineType_FinalResultData,3850,Object AddCommentMethodType,3863,Method AddCommentMethodType_InputArguments,3864,Variable ConditionType_EventId,3865,Variable ConditionType_EventType,3866,Variable ConditionType_SourceNode,3867,Variable ConditionType_SourceName,3868,Variable ConditionType_Time,3869,Variable ConditionType_ReceiveTime,3870,Variable ConditionType_LocalTime,3871,Variable ConditionType_Message,3872,Variable ConditionType_Severity,3873,Variable ConditionType_Retain,3874,Variable ConditionType_ConditionRefresh,3875,Method ConditionType_ConditionRefresh_InputArguments,3876,Variable RefreshStartEventType_EventId,3969,Variable RefreshStartEventType_EventType,3970,Variable RefreshStartEventType_SourceNode,3971,Variable RefreshStartEventType_SourceName,3972,Variable RefreshStartEventType_Time,3973,Variable RefreshStartEventType_ReceiveTime,3974,Variable RefreshStartEventType_LocalTime,3975,Variable RefreshStartEventType_Message,3976,Variable RefreshStartEventType_Severity,3977,Variable RefreshEndEventType_EventId,3978,Variable RefreshEndEventType_EventType,3979,Variable RefreshEndEventType_SourceNode,3980,Variable RefreshEndEventType_SourceName,3981,Variable RefreshEndEventType_Time,3982,Variable RefreshEndEventType_ReceiveTime,3983,Variable RefreshEndEventType_LocalTime,3984,Variable RefreshEndEventType_Message,3985,Variable RefreshEndEventType_Severity,3986,Variable RefreshRequiredEventType_EventId,3987,Variable RefreshRequiredEventType_EventType,3988,Variable RefreshRequiredEventType_SourceNode,3989,Variable RefreshRequiredEventType_SourceName,3990,Variable RefreshRequiredEventType_Time,3991,Variable RefreshRequiredEventType_ReceiveTime,3992,Variable RefreshRequiredEventType_LocalTime,3993,Variable RefreshRequiredEventType_Message,3994,Variable RefreshRequiredEventType_Severity,3995,Variable AuditConditionEventType_EventId,3996,Variable AuditConditionEventType_EventType,3997,Variable AuditConditionEventType_SourceNode,3998,Variable AuditConditionEventType_SourceName,3999,Variable AuditConditionEventType_Time,4000,Variable AuditConditionEventType_ReceiveTime,4001,Variable AuditConditionEventType_LocalTime,4002,Variable AuditConditionEventType_Message,4003,Variable AuditConditionEventType_Severity,4004,Variable AuditConditionEventType_ActionTimeStamp,4005,Variable AuditConditionEventType_Status,4006,Variable AuditConditionEventType_ServerId,4007,Variable AuditConditionEventType_ClientAuditEntryId,4008,Variable AuditConditionEventType_ClientUserId,4009,Variable AuditConditionEventType_MethodId,4010,Variable AuditConditionEventType_InputArguments,4011,Variable AuditConditionEnableEventType_EventId,4106,Variable AuditConditionEnableEventType_EventType,4107,Variable AuditConditionEnableEventType_SourceNode,4108,Variable AuditConditionEnableEventType_SourceName,4109,Variable AuditConditionEnableEventType_Time,4110,Variable AuditConditionEnableEventType_ReceiveTime,4111,Variable AuditConditionEnableEventType_LocalTime,4112,Variable AuditConditionEnableEventType_Message,4113,Variable AuditConditionEnableEventType_Severity,4114,Variable AuditConditionEnableEventType_ActionTimeStamp,4115,Variable AuditConditionEnableEventType_Status,4116,Variable AuditConditionEnableEventType_ServerId,4117,Variable AuditConditionEnableEventType_ClientAuditEntryId,4118,Variable AuditConditionEnableEventType_ClientUserId,4119,Variable AuditConditionEnableEventType_MethodId,4120,Variable AuditConditionEnableEventType_InputArguments,4121,Variable AuditConditionCommentEventType_EventId,4170,Variable AuditConditionCommentEventType_EventType,4171,Variable AuditConditionCommentEventType_SourceNode,4172,Variable AuditConditionCommentEventType_SourceName,4173,Variable AuditConditionCommentEventType_Time,4174,Variable AuditConditionCommentEventType_ReceiveTime,4175,Variable AuditConditionCommentEventType_LocalTime,4176,Variable AuditConditionCommentEventType_Message,4177,Variable AuditConditionCommentEventType_Severity,4178,Variable AuditConditionCommentEventType_ActionTimeStamp,4179,Variable AuditConditionCommentEventType_Status,4180,Variable AuditConditionCommentEventType_ServerId,4181,Variable AuditConditionCommentEventType_ClientAuditEntryId,4182,Variable AuditConditionCommentEventType_ClientUserId,4183,Variable AuditConditionCommentEventType_MethodId,4184,Variable AuditConditionCommentEventType_InputArguments,4185,Variable DialogConditionType_EventId,4188,Variable DialogConditionType_EventType,4189,Variable DialogConditionType_SourceNode,4190,Variable DialogConditionType_SourceName,4191,Variable DialogConditionType_Time,4192,Variable DialogConditionType_ReceiveTime,4193,Variable DialogConditionType_LocalTime,4194,Variable DialogConditionType_Message,4195,Variable DialogConditionType_Severity,4196,Variable DialogConditionType_Retain,4197,Variable DialogConditionType_ConditionRefresh,4198,Method DialogConditionType_ConditionRefresh_InputArguments,4199,Variable AcknowledgeableConditionType_EventId,5113,Variable AcknowledgeableConditionType_EventType,5114,Variable AcknowledgeableConditionType_SourceNode,5115,Variable AcknowledgeableConditionType_SourceName,5116,Variable AcknowledgeableConditionType_Time,5117,Variable AcknowledgeableConditionType_ReceiveTime,5118,Variable AcknowledgeableConditionType_LocalTime,5119,Variable AcknowledgeableConditionType_Message,5120,Variable AcknowledgeableConditionType_Severity,5121,Variable AcknowledgeableConditionType_Retain,5122,Variable AcknowledgeableConditionType_ConditionRefresh,5123,Method AcknowledgeableConditionType_ConditionRefresh_InputArguments,5124,Variable AlarmConditionType_EventId,5540,Variable AlarmConditionType_EventType,5541,Variable AlarmConditionType_SourceNode,5542,Variable AlarmConditionType_SourceName,5543,Variable AlarmConditionType_Time,5544,Variable AlarmConditionType_ReceiveTime,5545,Variable AlarmConditionType_LocalTime,5546,Variable AlarmConditionType_Message,5547,Variable AlarmConditionType_Severity,5548,Variable AlarmConditionType_Retain,5549,Variable AlarmConditionType_ConditionRefresh,5550,Method AlarmConditionType_ConditionRefresh_InputArguments,5551,Variable ShelvedStateMachineType_CurrentState,6088,Variable ShelvedStateMachineType_CurrentState_Id,6089,Variable ShelvedStateMachineType_CurrentState_Name,6090,Variable ShelvedStateMachineType_CurrentState_Number,6091,Variable ShelvedStateMachineType_CurrentState_EffectiveDisplayName,6092,Variable ShelvedStateMachineType_LastTransition,6093,Variable ShelvedStateMachineType_LastTransition_Id,6094,Variable ShelvedStateMachineType_LastTransition_Name,6095,Variable ShelvedStateMachineType_LastTransition_Number,6096,Variable ShelvedStateMachineType_LastTransition_TransitionTime,6097,Variable ShelvedStateMachineType_Unshelved_StateNumber,6098,Variable ShelvedStateMachineType_TimedShelved_StateNumber,6100,Variable ShelvedStateMachineType_OneShotShelved_StateNumber,6101,Variable TimedShelveMethodType,6102,Method TimedShelveMethodType_InputArguments,6103,Variable LimitAlarmType_EventId,6116,Variable LimitAlarmType_EventType,6117,Variable LimitAlarmType_SourceNode,6118,Variable LimitAlarmType_SourceName,6119,Variable LimitAlarmType_Time,6120,Variable LimitAlarmType_ReceiveTime,6121,Variable LimitAlarmType_LocalTime,6122,Variable LimitAlarmType_Message,6123,Variable LimitAlarmType_Severity,6124,Variable LimitAlarmType_Retain,6125,Variable LimitAlarmType_ConditionRefresh,6126,Method LimitAlarmType_ConditionRefresh_InputArguments,6127,Variable IdType_EnumStrings,7591,Variable EnumValueType,7594,DataType MessageSecurityMode_EnumStrings,7595,Variable UserTokenType_EnumStrings,7596,Variable ApplicationType_EnumStrings,7597,Variable SecurityTokenRequestType_EnumStrings,7598,Variable ComplianceLevel_EnumStrings,7599,Variable BrowseDirection_EnumStrings,7603,Variable FilterOperator_EnumStrings,7605,Variable TimestampsToReturn_EnumStrings,7606,Variable MonitoringMode_EnumStrings,7608,Variable DataChangeTrigger_EnumStrings,7609,Variable DeadbandType_EnumStrings,7610,Variable RedundancySupport_EnumStrings,7611,Variable ServerState_EnumStrings,7612,Variable ExceptionDeviationFormat_EnumStrings,7614,Variable EnumValueType_Encoding_DefaultXml,7616,Object OpcUa_BinarySchema,7617,Variable OpcUa_BinarySchema_DataTypeVersion,7618,Variable OpcUa_BinarySchema_NamespaceUri,7619,Variable OpcUa_BinarySchema_Argument,7650,Variable OpcUa_BinarySchema_Argument_DataTypeVersion,7651,Variable OpcUa_BinarySchema_Argument_DictionaryFragment,7652,Variable OpcUa_BinarySchema_EnumValueType,7656,Variable OpcUa_BinarySchema_EnumValueType_DataTypeVersion,7657,Variable OpcUa_BinarySchema_EnumValueType_DictionaryFragment,7658,Variable OpcUa_BinarySchema_StatusResult,7659,Variable OpcUa_BinarySchema_StatusResult_DataTypeVersion,7660,Variable OpcUa_BinarySchema_StatusResult_DictionaryFragment,7661,Variable OpcUa_BinarySchema_UserTokenPolicy,7662,Variable OpcUa_BinarySchema_UserTokenPolicy_DataTypeVersion,7663,Variable OpcUa_BinarySchema_UserTokenPolicy_DictionaryFragment,7664,Variable OpcUa_BinarySchema_ApplicationDescription,7665,Variable OpcUa_BinarySchema_ApplicationDescription_DataTypeVersion,7666,Variable OpcUa_BinarySchema_ApplicationDescription_DictionaryFragment,7667,Variable OpcUa_BinarySchema_EndpointDescription,7668,Variable OpcUa_BinarySchema_EndpointDescription_DataTypeVersion,7669,Variable OpcUa_BinarySchema_EndpointDescription_DictionaryFragment,7670,Variable OpcUa_BinarySchema_UserIdentityToken,7671,Variable OpcUa_BinarySchema_UserIdentityToken_DataTypeVersion,7672,Variable OpcUa_BinarySchema_UserIdentityToken_DictionaryFragment,7673,Variable OpcUa_BinarySchema_AnonymousIdentityToken,7674,Variable OpcUa_BinarySchema_AnonymousIdentityToken_DataTypeVersion,7675,Variable OpcUa_BinarySchema_AnonymousIdentityToken_DictionaryFragment,7676,Variable OpcUa_BinarySchema_UserNameIdentityToken,7677,Variable OpcUa_BinarySchema_UserNameIdentityToken_DataTypeVersion,7678,Variable OpcUa_BinarySchema_UserNameIdentityToken_DictionaryFragment,7679,Variable OpcUa_BinarySchema_X509IdentityToken,7680,Variable OpcUa_BinarySchema_X509IdentityToken_DataTypeVersion,7681,Variable OpcUa_BinarySchema_X509IdentityToken_DictionaryFragment,7682,Variable OpcUa_BinarySchema_IssuedIdentityToken,7683,Variable OpcUa_BinarySchema_IssuedIdentityToken_DataTypeVersion,7684,Variable OpcUa_BinarySchema_IssuedIdentityToken_DictionaryFragment,7685,Variable OpcUa_BinarySchema_EndpointConfiguration,7686,Variable OpcUa_BinarySchema_EndpointConfiguration_DataTypeVersion,7687,Variable OpcUa_BinarySchema_EndpointConfiguration_DictionaryFragment,7688,Variable OpcUa_BinarySchema_SupportedProfile,7689,Variable OpcUa_BinarySchema_SupportedProfile_DataTypeVersion,7690,Variable OpcUa_BinarySchema_SupportedProfile_DictionaryFragment,7691,Variable OpcUa_BinarySchema_BuildInfo,7692,Variable OpcUa_BinarySchema_BuildInfo_DataTypeVersion,7693,Variable OpcUa_BinarySchema_BuildInfo_DictionaryFragment,7694,Variable OpcUa_BinarySchema_SoftwareCertificate,7695,Variable OpcUa_BinarySchema_SoftwareCertificate_DataTypeVersion,7696,Variable OpcUa_BinarySchema_SoftwareCertificate_DictionaryFragment,7697,Variable OpcUa_BinarySchema_SignedSoftwareCertificate,7698,Variable OpcUa_BinarySchema_SignedSoftwareCertificate_DataTypeVersion,7699,Variable OpcUa_BinarySchema_SignedSoftwareCertificate_DictionaryFragment,7700,Variable OpcUa_BinarySchema_AddNodesItem,7728,Variable OpcUa_BinarySchema_AddNodesItem_DataTypeVersion,7729,Variable OpcUa_BinarySchema_AddNodesItem_DictionaryFragment,7730,Variable OpcUa_BinarySchema_AddReferencesItem,7731,Variable OpcUa_BinarySchema_AddReferencesItem_DataTypeVersion,7732,Variable OpcUa_BinarySchema_AddReferencesItem_DictionaryFragment,7733,Variable OpcUa_BinarySchema_DeleteNodesItem,7734,Variable OpcUa_BinarySchema_DeleteNodesItem_DataTypeVersion,7735,Variable OpcUa_BinarySchema_DeleteNodesItem_DictionaryFragment,7736,Variable OpcUa_BinarySchema_DeleteReferencesItem,7737,Variable OpcUa_BinarySchema_DeleteReferencesItem_DataTypeVersion,7738,Variable OpcUa_BinarySchema_DeleteReferencesItem_DictionaryFragment,7739,Variable OpcUa_BinarySchema_RegisteredServer,7782,Variable OpcUa_BinarySchema_RegisteredServer_DataTypeVersion,7783,Variable OpcUa_BinarySchema_RegisteredServer_DictionaryFragment,7784,Variable OpcUa_BinarySchema_ContentFilterElement,7929,Variable OpcUa_BinarySchema_ContentFilterElement_DataTypeVersion,7930,Variable OpcUa_BinarySchema_ContentFilterElement_DictionaryFragment,7931,Variable OpcUa_BinarySchema_ContentFilter,7932,Variable OpcUa_BinarySchema_ContentFilter_DataTypeVersion,7933,Variable OpcUa_BinarySchema_ContentFilter_DictionaryFragment,7934,Variable OpcUa_BinarySchema_FilterOperand,7935,Variable OpcUa_BinarySchema_FilterOperand_DataTypeVersion,7936,Variable OpcUa_BinarySchema_FilterOperand_DictionaryFragment,7937,Variable OpcUa_BinarySchema_ElementOperand,7938,Variable OpcUa_BinarySchema_ElementOperand_DataTypeVersion,7939,Variable OpcUa_BinarySchema_ElementOperand_DictionaryFragment,7940,Variable OpcUa_BinarySchema_LiteralOperand,7941,Variable OpcUa_BinarySchema_LiteralOperand_DataTypeVersion,7942,Variable OpcUa_BinarySchema_LiteralOperand_DictionaryFragment,7943,Variable OpcUa_BinarySchema_AttributeOperand,7944,Variable OpcUa_BinarySchema_AttributeOperand_DataTypeVersion,7945,Variable OpcUa_BinarySchema_AttributeOperand_DictionaryFragment,7946,Variable OpcUa_BinarySchema_SimpleAttributeOperand,7947,Variable OpcUa_BinarySchema_SimpleAttributeOperand_DataTypeVersion,7948,Variable OpcUa_BinarySchema_SimpleAttributeOperand_DictionaryFragment,7949,Variable OpcUa_BinarySchema_HistoryEvent,8004,Variable OpcUa_BinarySchema_HistoryEvent_DataTypeVersion,8005,Variable OpcUa_BinarySchema_HistoryEvent_DictionaryFragment,8006,Variable OpcUa_BinarySchema_MonitoringFilter,8067,Variable OpcUa_BinarySchema_MonitoringFilter_DataTypeVersion,8068,Variable OpcUa_BinarySchema_MonitoringFilter_DictionaryFragment,8069,Variable OpcUa_BinarySchema_EventFilter,8073,Variable OpcUa_BinarySchema_EventFilter_DataTypeVersion,8074,Variable OpcUa_BinarySchema_EventFilter_DictionaryFragment,8075,Variable OpcUa_BinarySchema_AggregateConfiguration,8076,Variable OpcUa_BinarySchema_AggregateConfiguration_DataTypeVersion,8077,Variable OpcUa_BinarySchema_AggregateConfiguration_DictionaryFragment,8078,Variable OpcUa_BinarySchema_HistoryEventFieldList,8172,Variable OpcUa_BinarySchema_HistoryEventFieldList_DataTypeVersion,8173,Variable OpcUa_BinarySchema_HistoryEventFieldList_DictionaryFragment,8174,Variable OpcUa_BinarySchema_RedundantServerDataType,8208,Variable OpcUa_BinarySchema_RedundantServerDataType_DataTypeVersion,8209,Variable OpcUa_BinarySchema_RedundantServerDataType_DictionaryFragment,8210,Variable OpcUa_BinarySchema_SamplingIntervalDiagnosticsDataType,8211,Variable OpcUa_BinarySchema_SamplingIntervalDiagnosticsDataType_DataTypeVersion,8212,Variable OpcUa_BinarySchema_SamplingIntervalDiagnosticsDataType_DictionaryFragment,8213,Variable OpcUa_BinarySchema_ServerDiagnosticsSummaryDataType,8214,Variable OpcUa_BinarySchema_ServerDiagnosticsSummaryDataType_DataTypeVersion,8215,Variable OpcUa_BinarySchema_ServerDiagnosticsSummaryDataType_DictionaryFragment,8216,Variable OpcUa_BinarySchema_ServerStatusDataType,8217,Variable OpcUa_BinarySchema_ServerStatusDataType_DataTypeVersion,8218,Variable OpcUa_BinarySchema_ServerStatusDataType_DictionaryFragment,8219,Variable OpcUa_BinarySchema_SessionDiagnosticsDataType,8220,Variable OpcUa_BinarySchema_SessionDiagnosticsDataType_DataTypeVersion,8221,Variable OpcUa_BinarySchema_SessionDiagnosticsDataType_DictionaryFragment,8222,Variable OpcUa_BinarySchema_SessionSecurityDiagnosticsDataType,8223,Variable OpcUa_BinarySchema_SessionSecurityDiagnosticsDataType_DataTypeVersion,8224,Variable OpcUa_BinarySchema_SessionSecurityDiagnosticsDataType_DictionaryFragment,8225,Variable OpcUa_BinarySchema_ServiceCounterDataType,8226,Variable OpcUa_BinarySchema_ServiceCounterDataType_DataTypeVersion,8227,Variable OpcUa_BinarySchema_ServiceCounterDataType_DictionaryFragment,8228,Variable OpcUa_BinarySchema_SubscriptionDiagnosticsDataType,8229,Variable OpcUa_BinarySchema_SubscriptionDiagnosticsDataType_DataTypeVersion,8230,Variable OpcUa_BinarySchema_SubscriptionDiagnosticsDataType_DictionaryFragment,8231,Variable OpcUa_BinarySchema_ModelChangeStructureDataType,8232,Variable OpcUa_BinarySchema_ModelChangeStructureDataType_DataTypeVersion,8233,Variable OpcUa_BinarySchema_ModelChangeStructureDataType_DictionaryFragment,8234,Variable OpcUa_BinarySchema_SemanticChangeStructureDataType,8235,Variable OpcUa_BinarySchema_SemanticChangeStructureDataType_DataTypeVersion,8236,Variable OpcUa_BinarySchema_SemanticChangeStructureDataType_DictionaryFragment,8237,Variable OpcUa_BinarySchema_Range,8238,Variable OpcUa_BinarySchema_Range_DataTypeVersion,8239,Variable OpcUa_BinarySchema_Range_DictionaryFragment,8240,Variable OpcUa_BinarySchema_EUInformation,8241,Variable OpcUa_BinarySchema_EUInformation_DataTypeVersion,8242,Variable OpcUa_BinarySchema_EUInformation_DictionaryFragment,8243,Variable OpcUa_BinarySchema_Annotation,8244,Variable OpcUa_BinarySchema_Annotation_DataTypeVersion,8245,Variable OpcUa_BinarySchema_Annotation_DictionaryFragment,8246,Variable OpcUa_BinarySchema_ProgramDiagnosticDataType,8247,Variable OpcUa_BinarySchema_ProgramDiagnosticDataType_DataTypeVersion,8248,Variable OpcUa_BinarySchema_ProgramDiagnosticDataType_DictionaryFragment,8249,Variable EnumValueType_Encoding_DefaultBinary,8251,Object OpcUa_XmlSchema,8252,Variable OpcUa_XmlSchema_DataTypeVersion,8253,Variable OpcUa_XmlSchema_NamespaceUri,8254,Variable OpcUa_XmlSchema_Argument,8285,Variable OpcUa_XmlSchema_Argument_DataTypeVersion,8286,Variable OpcUa_XmlSchema_Argument_DictionaryFragment,8287,Variable OpcUa_XmlSchema_EnumValueType,8291,Variable OpcUa_XmlSchema_EnumValueType_DataTypeVersion,8292,Variable OpcUa_XmlSchema_EnumValueType_DictionaryFragment,8293,Variable OpcUa_XmlSchema_StatusResult,8294,Variable OpcUa_XmlSchema_StatusResult_DataTypeVersion,8295,Variable OpcUa_XmlSchema_StatusResult_DictionaryFragment,8296,Variable OpcUa_XmlSchema_UserTokenPolicy,8297,Variable OpcUa_XmlSchema_UserTokenPolicy_DataTypeVersion,8298,Variable OpcUa_XmlSchema_UserTokenPolicy_DictionaryFragment,8299,Variable OpcUa_XmlSchema_ApplicationDescription,8300,Variable OpcUa_XmlSchema_ApplicationDescription_DataTypeVersion,8301,Variable OpcUa_XmlSchema_ApplicationDescription_DictionaryFragment,8302,Variable OpcUa_XmlSchema_EndpointDescription,8303,Variable OpcUa_XmlSchema_EndpointDescription_DataTypeVersion,8304,Variable OpcUa_XmlSchema_EndpointDescription_DictionaryFragment,8305,Variable OpcUa_XmlSchema_UserIdentityToken,8306,Variable OpcUa_XmlSchema_UserIdentityToken_DataTypeVersion,8307,Variable OpcUa_XmlSchema_UserIdentityToken_DictionaryFragment,8308,Variable OpcUa_XmlSchema_AnonymousIdentityToken,8309,Variable OpcUa_XmlSchema_AnonymousIdentityToken_DataTypeVersion,8310,Variable OpcUa_XmlSchema_AnonymousIdentityToken_DictionaryFragment,8311,Variable OpcUa_XmlSchema_UserNameIdentityToken,8312,Variable OpcUa_XmlSchema_UserNameIdentityToken_DataTypeVersion,8313,Variable OpcUa_XmlSchema_UserNameIdentityToken_DictionaryFragment,8314,Variable OpcUa_XmlSchema_X509IdentityToken,8315,Variable OpcUa_XmlSchema_X509IdentityToken_DataTypeVersion,8316,Variable OpcUa_XmlSchema_X509IdentityToken_DictionaryFragment,8317,Variable OpcUa_XmlSchema_IssuedIdentityToken,8318,Variable OpcUa_XmlSchema_IssuedIdentityToken_DataTypeVersion,8319,Variable OpcUa_XmlSchema_IssuedIdentityToken_DictionaryFragment,8320,Variable OpcUa_XmlSchema_EndpointConfiguration,8321,Variable OpcUa_XmlSchema_EndpointConfiguration_DataTypeVersion,8322,Variable OpcUa_XmlSchema_EndpointConfiguration_DictionaryFragment,8323,Variable OpcUa_XmlSchema_SupportedProfile,8324,Variable OpcUa_XmlSchema_SupportedProfile_DataTypeVersion,8325,Variable OpcUa_XmlSchema_SupportedProfile_DictionaryFragment,8326,Variable OpcUa_XmlSchema_BuildInfo,8327,Variable OpcUa_XmlSchema_BuildInfo_DataTypeVersion,8328,Variable OpcUa_XmlSchema_BuildInfo_DictionaryFragment,8329,Variable OpcUa_XmlSchema_SoftwareCertificate,8330,Variable OpcUa_XmlSchema_SoftwareCertificate_DataTypeVersion,8331,Variable OpcUa_XmlSchema_SoftwareCertificate_DictionaryFragment,8332,Variable OpcUa_XmlSchema_SignedSoftwareCertificate,8333,Variable OpcUa_XmlSchema_SignedSoftwareCertificate_DataTypeVersion,8334,Variable OpcUa_XmlSchema_SignedSoftwareCertificate_DictionaryFragment,8335,Variable OpcUa_XmlSchema_AddNodesItem,8363,Variable OpcUa_XmlSchema_AddNodesItem_DataTypeVersion,8364,Variable OpcUa_XmlSchema_AddNodesItem_DictionaryFragment,8365,Variable OpcUa_XmlSchema_AddReferencesItem,8366,Variable OpcUa_XmlSchema_AddReferencesItem_DataTypeVersion,8367,Variable OpcUa_XmlSchema_AddReferencesItem_DictionaryFragment,8368,Variable OpcUa_XmlSchema_DeleteNodesItem,8369,Variable OpcUa_XmlSchema_DeleteNodesItem_DataTypeVersion,8370,Variable OpcUa_XmlSchema_DeleteNodesItem_DictionaryFragment,8371,Variable OpcUa_XmlSchema_DeleteReferencesItem,8372,Variable OpcUa_XmlSchema_DeleteReferencesItem_DataTypeVersion,8373,Variable OpcUa_XmlSchema_DeleteReferencesItem_DictionaryFragment,8374,Variable OpcUa_XmlSchema_RegisteredServer,8417,Variable OpcUa_XmlSchema_RegisteredServer_DataTypeVersion,8418,Variable OpcUa_XmlSchema_RegisteredServer_DictionaryFragment,8419,Variable OpcUa_XmlSchema_ContentFilterElement,8564,Variable OpcUa_XmlSchema_ContentFilterElement_DataTypeVersion,8565,Variable OpcUa_XmlSchema_ContentFilterElement_DictionaryFragment,8566,Variable OpcUa_XmlSchema_ContentFilter,8567,Variable OpcUa_XmlSchema_ContentFilter_DataTypeVersion,8568,Variable OpcUa_XmlSchema_ContentFilter_DictionaryFragment,8569,Variable OpcUa_XmlSchema_FilterOperand,8570,Variable OpcUa_XmlSchema_FilterOperand_DataTypeVersion,8571,Variable OpcUa_XmlSchema_FilterOperand_DictionaryFragment,8572,Variable OpcUa_XmlSchema_ElementOperand,8573,Variable OpcUa_XmlSchema_ElementOperand_DataTypeVersion,8574,Variable OpcUa_XmlSchema_ElementOperand_DictionaryFragment,8575,Variable OpcUa_XmlSchema_LiteralOperand,8576,Variable OpcUa_XmlSchema_LiteralOperand_DataTypeVersion,8577,Variable OpcUa_XmlSchema_LiteralOperand_DictionaryFragment,8578,Variable OpcUa_XmlSchema_AttributeOperand,8579,Variable OpcUa_XmlSchema_AttributeOperand_DataTypeVersion,8580,Variable OpcUa_XmlSchema_AttributeOperand_DictionaryFragment,8581,Variable OpcUa_XmlSchema_SimpleAttributeOperand,8582,Variable OpcUa_XmlSchema_SimpleAttributeOperand_DataTypeVersion,8583,Variable OpcUa_XmlSchema_SimpleAttributeOperand_DictionaryFragment,8584,Variable OpcUa_XmlSchema_HistoryEvent,8639,Variable OpcUa_XmlSchema_HistoryEvent_DataTypeVersion,8640,Variable OpcUa_XmlSchema_HistoryEvent_DictionaryFragment,8641,Variable OpcUa_XmlSchema_MonitoringFilter,8702,Variable OpcUa_XmlSchema_MonitoringFilter_DataTypeVersion,8703,Variable OpcUa_XmlSchema_MonitoringFilter_DictionaryFragment,8704,Variable OpcUa_XmlSchema_EventFilter,8708,Variable OpcUa_XmlSchema_EventFilter_DataTypeVersion,8709,Variable OpcUa_XmlSchema_EventFilter_DictionaryFragment,8710,Variable OpcUa_XmlSchema_AggregateConfiguration,8711,Variable OpcUa_XmlSchema_AggregateConfiguration_DataTypeVersion,8712,Variable OpcUa_XmlSchema_AggregateConfiguration_DictionaryFragment,8713,Variable OpcUa_XmlSchema_HistoryEventFieldList,8807,Variable OpcUa_XmlSchema_HistoryEventFieldList_DataTypeVersion,8808,Variable OpcUa_XmlSchema_HistoryEventFieldList_DictionaryFragment,8809,Variable OpcUa_XmlSchema_RedundantServerDataType,8843,Variable OpcUa_XmlSchema_RedundantServerDataType_DataTypeVersion,8844,Variable OpcUa_XmlSchema_RedundantServerDataType_DictionaryFragment,8845,Variable OpcUa_XmlSchema_SamplingIntervalDiagnosticsDataType,8846,Variable OpcUa_XmlSchema_SamplingIntervalDiagnosticsDataType_DataTypeVersion,8847,Variable OpcUa_XmlSchema_SamplingIntervalDiagnosticsDataType_DictionaryFragment,8848,Variable OpcUa_XmlSchema_ServerDiagnosticsSummaryDataType,8849,Variable OpcUa_XmlSchema_ServerDiagnosticsSummaryDataType_DataTypeVersion,8850,Variable OpcUa_XmlSchema_ServerDiagnosticsSummaryDataType_DictionaryFragment,8851,Variable OpcUa_XmlSchema_ServerStatusDataType,8852,Variable OpcUa_XmlSchema_ServerStatusDataType_DataTypeVersion,8853,Variable OpcUa_XmlSchema_ServerStatusDataType_DictionaryFragment,8854,Variable OpcUa_XmlSchema_SessionDiagnosticsDataType,8855,Variable OpcUa_XmlSchema_SessionDiagnosticsDataType_DataTypeVersion,8856,Variable OpcUa_XmlSchema_SessionDiagnosticsDataType_DictionaryFragment,8857,Variable OpcUa_XmlSchema_SessionSecurityDiagnosticsDataType,8858,Variable OpcUa_XmlSchema_SessionSecurityDiagnosticsDataType_DataTypeVersion,8859,Variable OpcUa_XmlSchema_SessionSecurityDiagnosticsDataType_DictionaryFragment,8860,Variable OpcUa_XmlSchema_ServiceCounterDataType,8861,Variable OpcUa_XmlSchema_ServiceCounterDataType_DataTypeVersion,8862,Variable OpcUa_XmlSchema_ServiceCounterDataType_DictionaryFragment,8863,Variable OpcUa_XmlSchema_SubscriptionDiagnosticsDataType,8864,Variable OpcUa_XmlSchema_SubscriptionDiagnosticsDataType_DataTypeVersion,8865,Variable OpcUa_XmlSchema_SubscriptionDiagnosticsDataType_DictionaryFragment,8866,Variable OpcUa_XmlSchema_ModelChangeStructureDataType,8867,Variable OpcUa_XmlSchema_ModelChangeStructureDataType_DataTypeVersion,8868,Variable OpcUa_XmlSchema_ModelChangeStructureDataType_DictionaryFragment,8869,Variable OpcUa_XmlSchema_SemanticChangeStructureDataType,8870,Variable OpcUa_XmlSchema_SemanticChangeStructureDataType_DataTypeVersion,8871,Variable OpcUa_XmlSchema_SemanticChangeStructureDataType_DictionaryFragment,8872,Variable OpcUa_XmlSchema_Range,8873,Variable OpcUa_XmlSchema_Range_DataTypeVersion,8874,Variable OpcUa_XmlSchema_Range_DictionaryFragment,8875,Variable OpcUa_XmlSchema_EUInformation,8876,Variable OpcUa_XmlSchema_EUInformation_DataTypeVersion,8877,Variable OpcUa_XmlSchema_EUInformation_DictionaryFragment,8878,Variable OpcUa_XmlSchema_Annotation,8879,Variable OpcUa_XmlSchema_Annotation_DataTypeVersion,8880,Variable OpcUa_XmlSchema_Annotation_DictionaryFragment,8881,Variable OpcUa_XmlSchema_ProgramDiagnosticDataType,8882,Variable OpcUa_XmlSchema_ProgramDiagnosticDataType_DataTypeVersion,8883,Variable OpcUa_XmlSchema_ProgramDiagnosticDataType_DictionaryFragment,8884,Variable SubscriptionDiagnosticsType_MaxLifetimeCount,8888,Variable SubscriptionDiagnosticsType_LatePublishRequestCount,8889,Variable SubscriptionDiagnosticsType_CurrentKeepAliveCount,8890,Variable SubscriptionDiagnosticsType_CurrentLifetimeCount,8891,Variable SubscriptionDiagnosticsType_UnacknowledgedMessageCount,8892,Variable SubscriptionDiagnosticsType_DiscardedMessageCount,8893,Variable SubscriptionDiagnosticsType_MonitoredItemCount,8894,Variable SubscriptionDiagnosticsType_DisabledMonitoredItemCount,8895,Variable SubscriptionDiagnosticsType_MonitoringQueueOverflowCount,8896,Variable SubscriptionDiagnosticsType_NextSequenceNumber,8897,Variable SessionDiagnosticsObjectType_SessionDiagnostics_TotalRequestCount,8898,Variable SessionDiagnosticsVariableType_TotalRequestCount,8900,Variable SubscriptionDiagnosticsType_EventQueueOverFlowCount,8902,Variable TimeZoneDataType,8912,DataType TimeZoneDataType_Encoding_DefaultXml,8913,Object OpcUa_BinarySchema_TimeZoneDataType,8914,Variable OpcUa_BinarySchema_TimeZoneDataType_DataTypeVersion,8915,Variable OpcUa_BinarySchema_TimeZoneDataType_DictionaryFragment,8916,Variable TimeZoneDataType_Encoding_DefaultBinary,8917,Object OpcUa_XmlSchema_TimeZoneDataType,8918,Variable OpcUa_XmlSchema_TimeZoneDataType_DataTypeVersion,8919,Variable OpcUa_XmlSchema_TimeZoneDataType_DictionaryFragment,8920,Variable AuditConditionRespondEventType,8927,ObjectType AuditConditionRespondEventType_EventId,8928,Variable AuditConditionRespondEventType_EventType,8929,Variable AuditConditionRespondEventType_SourceNode,8930,Variable AuditConditionRespondEventType_SourceName,8931,Variable AuditConditionRespondEventType_Time,8932,Variable AuditConditionRespondEventType_ReceiveTime,8933,Variable AuditConditionRespondEventType_LocalTime,8934,Variable AuditConditionRespondEventType_Message,8935,Variable AuditConditionRespondEventType_Severity,8936,Variable AuditConditionRespondEventType_ActionTimeStamp,8937,Variable AuditConditionRespondEventType_Status,8938,Variable AuditConditionRespondEventType_ServerId,8939,Variable AuditConditionRespondEventType_ClientAuditEntryId,8940,Variable AuditConditionRespondEventType_ClientUserId,8941,Variable AuditConditionRespondEventType_MethodId,8942,Variable AuditConditionRespondEventType_InputArguments,8943,Variable AuditConditionAcknowledgeEventType,8944,ObjectType AuditConditionAcknowledgeEventType_EventId,8945,Variable AuditConditionAcknowledgeEventType_EventType,8946,Variable AuditConditionAcknowledgeEventType_SourceNode,8947,Variable AuditConditionAcknowledgeEventType_SourceName,8948,Variable AuditConditionAcknowledgeEventType_Time,8949,Variable AuditConditionAcknowledgeEventType_ReceiveTime,8950,Variable AuditConditionAcknowledgeEventType_LocalTime,8951,Variable AuditConditionAcknowledgeEventType_Message,8952,Variable AuditConditionAcknowledgeEventType_Severity,8953,Variable AuditConditionAcknowledgeEventType_ActionTimeStamp,8954,Variable AuditConditionAcknowledgeEventType_Status,8955,Variable AuditConditionAcknowledgeEventType_ServerId,8956,Variable AuditConditionAcknowledgeEventType_ClientAuditEntryId,8957,Variable AuditConditionAcknowledgeEventType_ClientUserId,8958,Variable AuditConditionAcknowledgeEventType_MethodId,8959,Variable AuditConditionAcknowledgeEventType_InputArguments,8960,Variable AuditConditionConfirmEventType,8961,ObjectType AuditConditionConfirmEventType_EventId,8962,Variable AuditConditionConfirmEventType_EventType,8963,Variable AuditConditionConfirmEventType_SourceNode,8964,Variable AuditConditionConfirmEventType_SourceName,8965,Variable AuditConditionConfirmEventType_Time,8966,Variable AuditConditionConfirmEventType_ReceiveTime,8967,Variable AuditConditionConfirmEventType_LocalTime,8968,Variable AuditConditionConfirmEventType_Message,8969,Variable AuditConditionConfirmEventType_Severity,8970,Variable AuditConditionConfirmEventType_ActionTimeStamp,8971,Variable AuditConditionConfirmEventType_Status,8972,Variable AuditConditionConfirmEventType_ServerId,8973,Variable AuditConditionConfirmEventType_ClientAuditEntryId,8974,Variable AuditConditionConfirmEventType_ClientUserId,8975,Variable AuditConditionConfirmEventType_MethodId,8976,Variable AuditConditionConfirmEventType_InputArguments,8977,Variable TwoStateVariableType,8995,VariableType TwoStateVariableType_Id,8996,Variable TwoStateVariableType_Name,8997,Variable TwoStateVariableType_Number,8998,Variable TwoStateVariableType_EffectiveDisplayName,8999,Variable TwoStateVariableType_TransitionTime,9000,Variable TwoStateVariableType_EffectiveTransitionTime,9001,Variable ConditionVariableType,9002,VariableType ConditionVariableType_SourceTimestamp,9003,Variable HasTrueSubState,9004,ReferenceType HasFalseSubState,9005,ReferenceType HasCondition,9006,ReferenceType ConditionRefreshMethodType,9007,Method ConditionRefreshMethodType_InputArguments,9008,Variable ConditionType_ConditionName,9009,Variable ConditionType_BranchId,9010,Variable ConditionType_EnabledState,9011,Variable ConditionType_EnabledState_Id,9012,Variable ConditionType_EnabledState_Name,9013,Variable ConditionType_EnabledState_Number,9014,Variable ConditionType_EnabledState_EffectiveDisplayName,9015,Variable ConditionType_EnabledState_TransitionTime,9016,Variable ConditionType_EnabledState_EffectiveTransitionTime,9017,Variable ConditionType_EnabledState_TrueState,9018,Variable ConditionType_EnabledState_FalseState,9019,Variable ConditionType_Quality,9020,Variable ConditionType_Quality_SourceTimestamp,9021,Variable ConditionType_LastSeverity,9022,Variable ConditionType_LastSeverity_SourceTimestamp,9023,Variable ConditionType_Comment,9024,Variable ConditionType_Comment_SourceTimestamp,9025,Variable ConditionType_ClientUserId,9026,Variable ConditionType_Enable,9027,Method ConditionType_Disable,9028,Method ConditionType_AddComment,9029,Method ConditionType_AddComment_InputArguments,9030,Variable DialogResponseMethodType,9031,Method DialogResponseMethodType_InputArguments,9032,Variable DialogConditionType_ConditionName,9033,Variable DialogConditionType_BranchId,9034,Variable DialogConditionType_EnabledState,9035,Variable DialogConditionType_EnabledState_Id,9036,Variable DialogConditionType_EnabledState_Name,9037,Variable DialogConditionType_EnabledState_Number,9038,Variable DialogConditionType_EnabledState_EffectiveDisplayName,9039,Variable DialogConditionType_EnabledState_TransitionTime,9040,Variable DialogConditionType_EnabledState_EffectiveTransitionTime,9041,Variable DialogConditionType_EnabledState_TrueState,9042,Variable DialogConditionType_EnabledState_FalseState,9043,Variable DialogConditionType_Quality,9044,Variable DialogConditionType_Quality_SourceTimestamp,9045,Variable DialogConditionType_LastSeverity,9046,Variable DialogConditionType_LastSeverity_SourceTimestamp,9047,Variable DialogConditionType_Comment,9048,Variable DialogConditionType_Comment_SourceTimestamp,9049,Variable DialogConditionType_ClientUserId,9050,Variable DialogConditionType_Enable,9051,Method DialogConditionType_Disable,9052,Method DialogConditionType_AddComment,9053,Method DialogConditionType_AddComment_InputArguments,9054,Variable DialogConditionType_DialogState,9055,Variable DialogConditionType_DialogState_Id,9056,Variable DialogConditionType_DialogState_Name,9057,Variable DialogConditionType_DialogState_Number,9058,Variable DialogConditionType_DialogState_EffectiveDisplayName,9059,Variable DialogConditionType_DialogState_TransitionTime,9060,Variable DialogConditionType_DialogState_EffectiveTransitionTime,9061,Variable DialogConditionType_DialogState_TrueState,9062,Variable DialogConditionType_DialogState_FalseState,9063,Variable DialogConditionType_ResponseOptionSet,9064,Variable DialogConditionType_DefaultResponse,9065,Variable DialogConditionType_OkResponse,9066,Variable DialogConditionType_CancelResponse,9067,Variable DialogConditionType_LastResponse,9068,Variable DialogConditionType_Respond,9069,Method DialogConditionType_Respond_InputArguments,9070,Variable AcknowledgeableConditionType_ConditionName,9071,Variable AcknowledgeableConditionType_BranchId,9072,Variable AcknowledgeableConditionType_EnabledState,9073,Variable AcknowledgeableConditionType_EnabledState_Id,9074,Variable AcknowledgeableConditionType_EnabledState_Name,9075,Variable AcknowledgeableConditionType_EnabledState_Number,9076,Variable AcknowledgeableConditionType_EnabledState_EffectiveDisplayName,9077,Variable AcknowledgeableConditionType_EnabledState_TransitionTime,9078,Variable AcknowledgeableConditionType_EnabledState_EffectiveTransitionTime,9079,Variable AcknowledgeableConditionType_EnabledState_TrueState,9080,Variable AcknowledgeableConditionType_EnabledState_FalseState,9081,Variable AcknowledgeableConditionType_Quality,9082,Variable AcknowledgeableConditionType_Quality_SourceTimestamp,9083,Variable AcknowledgeableConditionType_LastSeverity,9084,Variable AcknowledgeableConditionType_LastSeverity_SourceTimestamp,9085,Variable AcknowledgeableConditionType_Comment,9086,Variable AcknowledgeableConditionType_Comment_SourceTimestamp,9087,Variable AcknowledgeableConditionType_ClientUserId,9088,Variable AcknowledgeableConditionType_Enable,9089,Method AcknowledgeableConditionType_Disable,9090,Method AcknowledgeableConditionType_AddComment,9091,Method AcknowledgeableConditionType_AddComment_InputArguments,9092,Variable AcknowledgeableConditionType_AckedState,9093,Variable AcknowledgeableConditionType_AckedState_Id,9094,Variable AcknowledgeableConditionType_AckedState_Name,9095,Variable AcknowledgeableConditionType_AckedState_Number,9096,Variable AcknowledgeableConditionType_AckedState_EffectiveDisplayName,9097,Variable AcknowledgeableConditionType_AckedState_TransitionTime,9098,Variable AcknowledgeableConditionType_AckedState_EffectiveTransitionTime,9099,Variable AcknowledgeableConditionType_AckedState_TrueState,9100,Variable AcknowledgeableConditionType_AckedState_FalseState,9101,Variable AcknowledgeableConditionType_ConfirmedState,9102,Variable AcknowledgeableConditionType_ConfirmedState_Id,9103,Variable AcknowledgeableConditionType_ConfirmedState_Name,9104,Variable AcknowledgeableConditionType_ConfirmedState_Number,9105,Variable AcknowledgeableConditionType_ConfirmedState_EffectiveDisplayName,9106,Variable AcknowledgeableConditionType_ConfirmedState_TransitionTime,9107,Variable AcknowledgeableConditionType_ConfirmedState_EffectiveTransitionTime,9108,Variable AcknowledgeableConditionType_ConfirmedState_TrueState,9109,Variable AcknowledgeableConditionType_ConfirmedState_FalseState,9110,Variable AcknowledgeableConditionType_Acknowledge,9111,Method AcknowledgeableConditionType_Acknowledge_InputArguments,9112,Variable AcknowledgeableConditionType_Confirm,9113,Method AcknowledgeableConditionType_Confirm_InputArguments,9114,Variable ShelvedStateMachineType_UnshelveTime,9115,Variable AlarmConditionType_ConditionName,9116,Variable AlarmConditionType_BranchId,9117,Variable AlarmConditionType_EnabledState,9118,Variable AlarmConditionType_EnabledState_Id,9119,Variable AlarmConditionType_EnabledState_Name,9120,Variable AlarmConditionType_EnabledState_Number,9121,Variable AlarmConditionType_EnabledState_EffectiveDisplayName,9122,Variable AlarmConditionType_EnabledState_TransitionTime,9123,Variable AlarmConditionType_EnabledState_EffectiveTransitionTime,9124,Variable AlarmConditionType_EnabledState_TrueState,9125,Variable AlarmConditionType_EnabledState_FalseState,9126,Variable AlarmConditionType_Quality,9127,Variable AlarmConditionType_Quality_SourceTimestamp,9128,Variable AlarmConditionType_LastSeverity,9129,Variable AlarmConditionType_LastSeverity_SourceTimestamp,9130,Variable AlarmConditionType_Comment,9131,Variable AlarmConditionType_Comment_SourceTimestamp,9132,Variable AlarmConditionType_ClientUserId,9133,Variable AlarmConditionType_Enable,9134,Method AlarmConditionType_Disable,9135,Method AlarmConditionType_AddComment,9136,Method AlarmConditionType_AddComment_InputArguments,9137,Variable AlarmConditionType_AckedState,9138,Variable AlarmConditionType_AckedState_Id,9139,Variable AlarmConditionType_AckedState_Name,9140,Variable AlarmConditionType_AckedState_Number,9141,Variable AlarmConditionType_AckedState_EffectiveDisplayName,9142,Variable AlarmConditionType_AckedState_TransitionTime,9143,Variable AlarmConditionType_AckedState_EffectiveTransitionTime,9144,Variable AlarmConditionType_AckedState_TrueState,9145,Variable AlarmConditionType_AckedState_FalseState,9146,Variable AlarmConditionType_ConfirmedState,9147,Variable AlarmConditionType_ConfirmedState_Id,9148,Variable AlarmConditionType_ConfirmedState_Name,9149,Variable AlarmConditionType_ConfirmedState_Number,9150,Variable AlarmConditionType_ConfirmedState_EffectiveDisplayName,9151,Variable AlarmConditionType_ConfirmedState_TransitionTime,9152,Variable AlarmConditionType_ConfirmedState_EffectiveTransitionTime,9153,Variable AlarmConditionType_ConfirmedState_TrueState,9154,Variable AlarmConditionType_ConfirmedState_FalseState,9155,Variable AlarmConditionType_Acknowledge,9156,Method AlarmConditionType_Acknowledge_InputArguments,9157,Variable AlarmConditionType_Confirm,9158,Method AlarmConditionType_Confirm_InputArguments,9159,Variable AlarmConditionType_ActiveState,9160,Variable AlarmConditionType_ActiveState_Id,9161,Variable AlarmConditionType_ActiveState_Name,9162,Variable AlarmConditionType_ActiveState_Number,9163,Variable AlarmConditionType_ActiveState_EffectiveDisplayName,9164,Variable AlarmConditionType_ActiveState_TransitionTime,9165,Variable AlarmConditionType_ActiveState_EffectiveTransitionTime,9166,Variable AlarmConditionType_ActiveState_TrueState,9167,Variable AlarmConditionType_ActiveState_FalseState,9168,Variable AlarmConditionType_SuppressedState,9169,Variable AlarmConditionType_SuppressedState_Id,9170,Variable AlarmConditionType_SuppressedState_Name,9171,Variable AlarmConditionType_SuppressedState_Number,9172,Variable AlarmConditionType_SuppressedState_EffectiveDisplayName,9173,Variable AlarmConditionType_SuppressedState_TransitionTime,9174,Variable AlarmConditionType_SuppressedState_EffectiveTransitionTime,9175,Variable AlarmConditionType_SuppressedState_TrueState,9176,Variable AlarmConditionType_SuppressedState_FalseState,9177,Variable AlarmConditionType_ShelvingState,9178,Object AlarmConditionType_ShelvingState_CurrentState,9179,Variable AlarmConditionType_ShelvingState_CurrentState_Id,9180,Variable AlarmConditionType_ShelvingState_CurrentState_Name,9181,Variable AlarmConditionType_ShelvingState_CurrentState_Number,9182,Variable AlarmConditionType_ShelvingState_CurrentState_EffectiveDisplayName,9183,Variable AlarmConditionType_ShelvingState_LastTransition,9184,Variable AlarmConditionType_ShelvingState_LastTransition_Id,9185,Variable AlarmConditionType_ShelvingState_LastTransition_Name,9186,Variable AlarmConditionType_ShelvingState_LastTransition_Number,9187,Variable AlarmConditionType_ShelvingState_LastTransition_TransitionTime,9188,Variable AlarmConditionType_ShelvingState_UnshelveTime,9189,Variable AlarmConditionType_ShelvingState_Unshelve,9211,Method AlarmConditionType_ShelvingState_OneShotShelve,9212,Method AlarmConditionType_ShelvingState_TimedShelve,9213,Method AlarmConditionType_ShelvingState_TimedShelve_InputArguments,9214,Variable AlarmConditionType_SuppressedOrShelved,9215,Variable AlarmConditionType_MaxTimeShelved,9216,Variable LimitAlarmType_ConditionName,9217,Variable LimitAlarmType_BranchId,9218,Variable LimitAlarmType_EnabledState,9219,Variable LimitAlarmType_EnabledState_Id,9220,Variable LimitAlarmType_EnabledState_Name,9221,Variable LimitAlarmType_EnabledState_Number,9222,Variable LimitAlarmType_EnabledState_EffectiveDisplayName,9223,Variable LimitAlarmType_EnabledState_TransitionTime,9224,Variable LimitAlarmType_EnabledState_EffectiveTransitionTime,9225,Variable LimitAlarmType_EnabledState_TrueState,9226,Variable LimitAlarmType_EnabledState_FalseState,9227,Variable LimitAlarmType_Quality,9228,Variable LimitAlarmType_Quality_SourceTimestamp,9229,Variable LimitAlarmType_LastSeverity,9230,Variable LimitAlarmType_LastSeverity_SourceTimestamp,9231,Variable LimitAlarmType_Comment,9232,Variable LimitAlarmType_Comment_SourceTimestamp,9233,Variable LimitAlarmType_ClientUserId,9234,Variable LimitAlarmType_Enable,9235,Method LimitAlarmType_Disable,9236,Method LimitAlarmType_AddComment,9237,Method LimitAlarmType_AddComment_InputArguments,9238,Variable LimitAlarmType_AckedState,9239,Variable LimitAlarmType_AckedState_Id,9240,Variable LimitAlarmType_AckedState_Name,9241,Variable LimitAlarmType_AckedState_Number,9242,Variable LimitAlarmType_AckedState_EffectiveDisplayName,9243,Variable LimitAlarmType_AckedState_TransitionTime,9244,Variable LimitAlarmType_AckedState_EffectiveTransitionTime,9245,Variable LimitAlarmType_AckedState_TrueState,9246,Variable LimitAlarmType_AckedState_FalseState,9247,Variable LimitAlarmType_ConfirmedState,9248,Variable LimitAlarmType_ConfirmedState_Id,9249,Variable LimitAlarmType_ConfirmedState_Name,9250,Variable LimitAlarmType_ConfirmedState_Number,9251,Variable LimitAlarmType_ConfirmedState_EffectiveDisplayName,9252,Variable LimitAlarmType_ConfirmedState_TransitionTime,9253,Variable LimitAlarmType_ConfirmedState_EffectiveTransitionTime,9254,Variable LimitAlarmType_ConfirmedState_TrueState,9255,Variable LimitAlarmType_ConfirmedState_FalseState,9256,Variable LimitAlarmType_Acknowledge,9257,Method LimitAlarmType_Acknowledge_InputArguments,9258,Variable LimitAlarmType_Confirm,9259,Method LimitAlarmType_Confirm_InputArguments,9260,Variable LimitAlarmType_ActiveState,9261,Variable LimitAlarmType_ActiveState_Id,9262,Variable LimitAlarmType_ActiveState_Name,9263,Variable LimitAlarmType_ActiveState_Number,9264,Variable LimitAlarmType_ActiveState_EffectiveDisplayName,9265,Variable LimitAlarmType_ActiveState_TransitionTime,9266,Variable LimitAlarmType_ActiveState_EffectiveTransitionTime,9267,Variable LimitAlarmType_ActiveState_TrueState,9268,Variable LimitAlarmType_ActiveState_FalseState,9269,Variable LimitAlarmType_SuppressedState,9270,Variable LimitAlarmType_SuppressedState_Id,9271,Variable LimitAlarmType_SuppressedState_Name,9272,Variable LimitAlarmType_SuppressedState_Number,9273,Variable LimitAlarmType_SuppressedState_EffectiveDisplayName,9274,Variable LimitAlarmType_SuppressedState_TransitionTime,9275,Variable LimitAlarmType_SuppressedState_EffectiveTransitionTime,9276,Variable LimitAlarmType_SuppressedState_TrueState,9277,Variable LimitAlarmType_SuppressedState_FalseState,9278,Variable LimitAlarmType_ShelvingState,9279,Object LimitAlarmType_ShelvingState_CurrentState,9280,Variable LimitAlarmType_ShelvingState_CurrentState_Id,9281,Variable LimitAlarmType_ShelvingState_CurrentState_Name,9282,Variable LimitAlarmType_ShelvingState_CurrentState_Number,9283,Variable LimitAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,9284,Variable LimitAlarmType_ShelvingState_LastTransition,9285,Variable LimitAlarmType_ShelvingState_LastTransition_Id,9286,Variable LimitAlarmType_ShelvingState_LastTransition_Name,9287,Variable LimitAlarmType_ShelvingState_LastTransition_Number,9288,Variable LimitAlarmType_ShelvingState_LastTransition_TransitionTime,9289,Variable LimitAlarmType_ShelvingState_UnshelveTime,9290,Variable LimitAlarmType_ShelvingState_Unshelve,9312,Method LimitAlarmType_ShelvingState_OneShotShelve,9313,Method LimitAlarmType_ShelvingState_TimedShelve,9314,Method LimitAlarmType_ShelvingState_TimedShelve_InputArguments,9315,Variable LimitAlarmType_SuppressedOrShelved,9316,Variable LimitAlarmType_MaxTimeShelved,9317,Variable ExclusiveLimitStateMachineType,9318,ObjectType ExclusiveLimitStateMachineType_CurrentState,9319,Variable ExclusiveLimitStateMachineType_CurrentState_Id,9320,Variable ExclusiveLimitStateMachineType_CurrentState_Name,9321,Variable ExclusiveLimitStateMachineType_CurrentState_Number,9322,Variable ExclusiveLimitStateMachineType_CurrentState_EffectiveDisplayName,9323,Variable ExclusiveLimitStateMachineType_LastTransition,9324,Variable ExclusiveLimitStateMachineType_LastTransition_Id,9325,Variable ExclusiveLimitStateMachineType_LastTransition_Name,9326,Variable ExclusiveLimitStateMachineType_LastTransition_Number,9327,Variable ExclusiveLimitStateMachineType_LastTransition_TransitionTime,9328,Variable ExclusiveLimitStateMachineType_HighHigh,9329,Object ExclusiveLimitStateMachineType_HighHigh_StateNumber,9330,Variable ExclusiveLimitStateMachineType_High,9331,Object ExclusiveLimitStateMachineType_High_StateNumber,9332,Variable ExclusiveLimitStateMachineType_Low,9333,Object ExclusiveLimitStateMachineType_Low_StateNumber,9334,Variable ExclusiveLimitStateMachineType_LowLow,9335,Object ExclusiveLimitStateMachineType_LowLow_StateNumber,9336,Variable ExclusiveLimitStateMachineType_LowLowToLow,9337,Object ExclusiveLimitStateMachineType_LowToLowLow,9338,Object ExclusiveLimitStateMachineType_HighHighToHigh,9339,Object ExclusiveLimitStateMachineType_HighToHighHigh,9340,Object ExclusiveLimitAlarmType,9341,ObjectType ExclusiveLimitAlarmType_EventId,9342,Variable ExclusiveLimitAlarmType_EventType,9343,Variable ExclusiveLimitAlarmType_SourceNode,9344,Variable ExclusiveLimitAlarmType_SourceName,9345,Variable ExclusiveLimitAlarmType_Time,9346,Variable ExclusiveLimitAlarmType_ReceiveTime,9347,Variable ExclusiveLimitAlarmType_LocalTime,9348,Variable ExclusiveLimitAlarmType_Message,9349,Variable ExclusiveLimitAlarmType_Severity,9350,Variable ExclusiveLimitAlarmType_ConditionName,9351,Variable ExclusiveLimitAlarmType_BranchId,9352,Variable ExclusiveLimitAlarmType_Retain,9353,Variable ExclusiveLimitAlarmType_EnabledState,9354,Variable ExclusiveLimitAlarmType_EnabledState_Id,9355,Variable ExclusiveLimitAlarmType_EnabledState_Name,9356,Variable ExclusiveLimitAlarmType_EnabledState_Number,9357,Variable ExclusiveLimitAlarmType_EnabledState_EffectiveDisplayName,9358,Variable ExclusiveLimitAlarmType_EnabledState_TransitionTime,9359,Variable ExclusiveLimitAlarmType_EnabledState_EffectiveTransitionTime,9360,Variable ExclusiveLimitAlarmType_EnabledState_TrueState,9361,Variable ExclusiveLimitAlarmType_EnabledState_FalseState,9362,Variable ExclusiveLimitAlarmType_Quality,9363,Variable ExclusiveLimitAlarmType_Quality_SourceTimestamp,9364,Variable ExclusiveLimitAlarmType_LastSeverity,9365,Variable ExclusiveLimitAlarmType_LastSeverity_SourceTimestamp,9366,Variable ExclusiveLimitAlarmType_Comment,9367,Variable ExclusiveLimitAlarmType_Comment_SourceTimestamp,9368,Variable ExclusiveLimitAlarmType_ClientUserId,9369,Variable ExclusiveLimitAlarmType_Enable,9370,Method ExclusiveLimitAlarmType_Disable,9371,Method ExclusiveLimitAlarmType_AddComment,9372,Method ExclusiveLimitAlarmType_AddComment_InputArguments,9373,Variable ExclusiveLimitAlarmType_ConditionRefresh,9374,Method ExclusiveLimitAlarmType_ConditionRefresh_InputArguments,9375,Variable ExclusiveLimitAlarmType_AckedState,9376,Variable ExclusiveLimitAlarmType_AckedState_Id,9377,Variable ExclusiveLimitAlarmType_AckedState_Name,9378,Variable ExclusiveLimitAlarmType_AckedState_Number,9379,Variable ExclusiveLimitAlarmType_AckedState_EffectiveDisplayName,9380,Variable ExclusiveLimitAlarmType_AckedState_TransitionTime,9381,Variable ExclusiveLimitAlarmType_AckedState_EffectiveTransitionTime,9382,Variable ExclusiveLimitAlarmType_AckedState_TrueState,9383,Variable ExclusiveLimitAlarmType_AckedState_FalseState,9384,Variable ExclusiveLimitAlarmType_ConfirmedState,9385,Variable ExclusiveLimitAlarmType_ConfirmedState_Id,9386,Variable ExclusiveLimitAlarmType_ConfirmedState_Name,9387,Variable ExclusiveLimitAlarmType_ConfirmedState_Number,9388,Variable ExclusiveLimitAlarmType_ConfirmedState_EffectiveDisplayName,9389,Variable ExclusiveLimitAlarmType_ConfirmedState_TransitionTime,9390,Variable ExclusiveLimitAlarmType_ConfirmedState_EffectiveTransitionTime,9391,Variable ExclusiveLimitAlarmType_ConfirmedState_TrueState,9392,Variable ExclusiveLimitAlarmType_ConfirmedState_FalseState,9393,Variable ExclusiveLimitAlarmType_Acknowledge,9394,Method ExclusiveLimitAlarmType_Acknowledge_InputArguments,9395,Variable ExclusiveLimitAlarmType_Confirm,9396,Method ExclusiveLimitAlarmType_Confirm_InputArguments,9397,Variable ExclusiveLimitAlarmType_ActiveState,9398,Variable ExclusiveLimitAlarmType_ActiveState_Id,9399,Variable ExclusiveLimitAlarmType_ActiveState_Name,9400,Variable ExclusiveLimitAlarmType_ActiveState_Number,9401,Variable ExclusiveLimitAlarmType_ActiveState_EffectiveDisplayName,9402,Variable ExclusiveLimitAlarmType_ActiveState_TransitionTime,9403,Variable ExclusiveLimitAlarmType_ActiveState_EffectiveTransitionTime,9404,Variable ExclusiveLimitAlarmType_ActiveState_TrueState,9405,Variable ExclusiveLimitAlarmType_ActiveState_FalseState,9406,Variable ExclusiveLimitAlarmType_SuppressedState,9407,Variable ExclusiveLimitAlarmType_SuppressedState_Id,9408,Variable ExclusiveLimitAlarmType_SuppressedState_Name,9409,Variable ExclusiveLimitAlarmType_SuppressedState_Number,9410,Variable ExclusiveLimitAlarmType_SuppressedState_EffectiveDisplayName,9411,Variable ExclusiveLimitAlarmType_SuppressedState_TransitionTime,9412,Variable ExclusiveLimitAlarmType_SuppressedState_EffectiveTransitionTime,9413,Variable ExclusiveLimitAlarmType_SuppressedState_TrueState,9414,Variable ExclusiveLimitAlarmType_SuppressedState_FalseState,9415,Variable ExclusiveLimitAlarmType_ShelvingState,9416,Object ExclusiveLimitAlarmType_ShelvingState_CurrentState,9417,Variable ExclusiveLimitAlarmType_ShelvingState_CurrentState_Id,9418,Variable ExclusiveLimitAlarmType_ShelvingState_CurrentState_Name,9419,Variable ExclusiveLimitAlarmType_ShelvingState_CurrentState_Number,9420,Variable ExclusiveLimitAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,9421,Variable ExclusiveLimitAlarmType_ShelvingState_LastTransition,9422,Variable ExclusiveLimitAlarmType_ShelvingState_LastTransition_Id,9423,Variable ExclusiveLimitAlarmType_ShelvingState_LastTransition_Name,9424,Variable ExclusiveLimitAlarmType_ShelvingState_LastTransition_Number,9425,Variable ExclusiveLimitAlarmType_ShelvingState_LastTransition_TransitionTime,9426,Variable ExclusiveLimitAlarmType_ShelvingState_UnshelveTime,9427,Variable ExclusiveLimitAlarmType_ShelvingState_Unshelve,9449,Method ExclusiveLimitAlarmType_ShelvingState_OneShotShelve,9450,Method ExclusiveLimitAlarmType_ShelvingState_TimedShelve,9451,Method ExclusiveLimitAlarmType_ShelvingState_TimedShelve_InputArguments,9452,Variable ExclusiveLimitAlarmType_SuppressedOrShelved,9453,Variable ExclusiveLimitAlarmType_MaxTimeShelved,9454,Variable ExclusiveLimitAlarmType_LimitState,9455,Object ExclusiveLimitAlarmType_LimitState_CurrentState,9456,Variable ExclusiveLimitAlarmType_LimitState_CurrentState_Id,9457,Variable ExclusiveLimitAlarmType_LimitState_CurrentState_Name,9458,Variable ExclusiveLimitAlarmType_LimitState_CurrentState_Number,9459,Variable ExclusiveLimitAlarmType_LimitState_CurrentState_EffectiveDisplayName,9460,Variable ExclusiveLimitAlarmType_LimitState_LastTransition,9461,Variable ExclusiveLimitAlarmType_LimitState_LastTransition_Id,9462,Variable ExclusiveLimitAlarmType_LimitState_LastTransition_Name,9463,Variable ExclusiveLimitAlarmType_LimitState_LastTransition_Number,9464,Variable ExclusiveLimitAlarmType_LimitState_LastTransition_TransitionTime,9465,Variable ExclusiveLimitAlarmType_HighHighLimit,9478,Variable ExclusiveLimitAlarmType_HighLimit,9479,Variable ExclusiveLimitAlarmType_LowLimit,9480,Variable ExclusiveLimitAlarmType_LowLowLimit,9481,Variable ExclusiveLevelAlarmType,9482,ObjectType ExclusiveLevelAlarmType_EventId,9483,Variable ExclusiveLevelAlarmType_EventType,9484,Variable ExclusiveLevelAlarmType_SourceNode,9485,Variable ExclusiveLevelAlarmType_SourceName,9486,Variable ExclusiveLevelAlarmType_Time,9487,Variable ExclusiveLevelAlarmType_ReceiveTime,9488,Variable ExclusiveLevelAlarmType_LocalTime,9489,Variable ExclusiveLevelAlarmType_Message,9490,Variable ExclusiveLevelAlarmType_Severity,9491,Variable ExclusiveLevelAlarmType_ConditionName,9492,Variable ExclusiveLevelAlarmType_BranchId,9493,Variable ExclusiveLevelAlarmType_Retain,9494,Variable ExclusiveLevelAlarmType_EnabledState,9495,Variable ExclusiveLevelAlarmType_EnabledState_Id,9496,Variable ExclusiveLevelAlarmType_EnabledState_Name,9497,Variable ExclusiveLevelAlarmType_EnabledState_Number,9498,Variable ExclusiveLevelAlarmType_EnabledState_EffectiveDisplayName,9499,Variable ExclusiveLevelAlarmType_EnabledState_TransitionTime,9500,Variable ExclusiveLevelAlarmType_EnabledState_EffectiveTransitionTime,9501,Variable ExclusiveLevelAlarmType_EnabledState_TrueState,9502,Variable ExclusiveLevelAlarmType_EnabledState_FalseState,9503,Variable ExclusiveLevelAlarmType_Quality,9504,Variable ExclusiveLevelAlarmType_Quality_SourceTimestamp,9505,Variable ExclusiveLevelAlarmType_LastSeverity,9506,Variable ExclusiveLevelAlarmType_LastSeverity_SourceTimestamp,9507,Variable ExclusiveLevelAlarmType_Comment,9508,Variable ExclusiveLevelAlarmType_Comment_SourceTimestamp,9509,Variable ExclusiveLevelAlarmType_ClientUserId,9510,Variable ExclusiveLevelAlarmType_Enable,9511,Method ExclusiveLevelAlarmType_Disable,9512,Method ExclusiveLevelAlarmType_AddComment,9513,Method ExclusiveLevelAlarmType_AddComment_InputArguments,9514,Variable ExclusiveLevelAlarmType_ConditionRefresh,9515,Method ExclusiveLevelAlarmType_ConditionRefresh_InputArguments,9516,Variable ExclusiveLevelAlarmType_AckedState,9517,Variable ExclusiveLevelAlarmType_AckedState_Id,9518,Variable ExclusiveLevelAlarmType_AckedState_Name,9519,Variable ExclusiveLevelAlarmType_AckedState_Number,9520,Variable ExclusiveLevelAlarmType_AckedState_EffectiveDisplayName,9521,Variable ExclusiveLevelAlarmType_AckedState_TransitionTime,9522,Variable ExclusiveLevelAlarmType_AckedState_EffectiveTransitionTime,9523,Variable ExclusiveLevelAlarmType_AckedState_TrueState,9524,Variable ExclusiveLevelAlarmType_AckedState_FalseState,9525,Variable ExclusiveLevelAlarmType_ConfirmedState,9526,Variable ExclusiveLevelAlarmType_ConfirmedState_Id,9527,Variable ExclusiveLevelAlarmType_ConfirmedState_Name,9528,Variable ExclusiveLevelAlarmType_ConfirmedState_Number,9529,Variable ExclusiveLevelAlarmType_ConfirmedState_EffectiveDisplayName,9530,Variable ExclusiveLevelAlarmType_ConfirmedState_TransitionTime,9531,Variable ExclusiveLevelAlarmType_ConfirmedState_EffectiveTransitionTime,9532,Variable ExclusiveLevelAlarmType_ConfirmedState_TrueState,9533,Variable ExclusiveLevelAlarmType_ConfirmedState_FalseState,9534,Variable ExclusiveLevelAlarmType_Acknowledge,9535,Method ExclusiveLevelAlarmType_Acknowledge_InputArguments,9536,Variable ExclusiveLevelAlarmType_Confirm,9537,Method ExclusiveLevelAlarmType_Confirm_InputArguments,9538,Variable ExclusiveLevelAlarmType_ActiveState,9539,Variable ExclusiveLevelAlarmType_ActiveState_Id,9540,Variable ExclusiveLevelAlarmType_ActiveState_Name,9541,Variable ExclusiveLevelAlarmType_ActiveState_Number,9542,Variable ExclusiveLevelAlarmType_ActiveState_EffectiveDisplayName,9543,Variable ExclusiveLevelAlarmType_ActiveState_TransitionTime,9544,Variable ExclusiveLevelAlarmType_ActiveState_EffectiveTransitionTime,9545,Variable ExclusiveLevelAlarmType_ActiveState_TrueState,9546,Variable ExclusiveLevelAlarmType_ActiveState_FalseState,9547,Variable ExclusiveLevelAlarmType_SuppressedState,9548,Variable ExclusiveLevelAlarmType_SuppressedState_Id,9549,Variable ExclusiveLevelAlarmType_SuppressedState_Name,9550,Variable ExclusiveLevelAlarmType_SuppressedState_Number,9551,Variable ExclusiveLevelAlarmType_SuppressedState_EffectiveDisplayName,9552,Variable ExclusiveLevelAlarmType_SuppressedState_TransitionTime,9553,Variable ExclusiveLevelAlarmType_SuppressedState_EffectiveTransitionTime,9554,Variable ExclusiveLevelAlarmType_SuppressedState_TrueState,9555,Variable ExclusiveLevelAlarmType_SuppressedState_FalseState,9556,Variable ExclusiveLevelAlarmType_ShelvingState,9557,Object ExclusiveLevelAlarmType_ShelvingState_CurrentState,9558,Variable ExclusiveLevelAlarmType_ShelvingState_CurrentState_Id,9559,Variable ExclusiveLevelAlarmType_ShelvingState_CurrentState_Name,9560,Variable ExclusiveLevelAlarmType_ShelvingState_CurrentState_Number,9561,Variable ExclusiveLevelAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,9562,Variable ExclusiveLevelAlarmType_ShelvingState_LastTransition,9563,Variable ExclusiveLevelAlarmType_ShelvingState_LastTransition_Id,9564,Variable ExclusiveLevelAlarmType_ShelvingState_LastTransition_Name,9565,Variable ExclusiveLevelAlarmType_ShelvingState_LastTransition_Number,9566,Variable ExclusiveLevelAlarmType_ShelvingState_LastTransition_TransitionTime,9567,Variable ExclusiveLevelAlarmType_ShelvingState_UnshelveTime,9568,Variable ExclusiveLevelAlarmType_ShelvingState_Unshelve,9590,Method ExclusiveLevelAlarmType_ShelvingState_OneShotShelve,9591,Method ExclusiveLevelAlarmType_ShelvingState_TimedShelve,9592,Method ExclusiveLevelAlarmType_ShelvingState_TimedShelve_InputArguments,9593,Variable ExclusiveLevelAlarmType_SuppressedOrShelved,9594,Variable ExclusiveLevelAlarmType_MaxTimeShelved,9595,Variable ExclusiveLevelAlarmType_LimitState,9596,Object ExclusiveLevelAlarmType_LimitState_CurrentState,9597,Variable ExclusiveLevelAlarmType_LimitState_CurrentState_Id,9598,Variable ExclusiveLevelAlarmType_LimitState_CurrentState_Name,9599,Variable ExclusiveLevelAlarmType_LimitState_CurrentState_Number,9600,Variable ExclusiveLevelAlarmType_LimitState_CurrentState_EffectiveDisplayName,9601,Variable ExclusiveLevelAlarmType_LimitState_LastTransition,9602,Variable ExclusiveLevelAlarmType_LimitState_LastTransition_Id,9603,Variable ExclusiveLevelAlarmType_LimitState_LastTransition_Name,9604,Variable ExclusiveLevelAlarmType_LimitState_LastTransition_Number,9605,Variable ExclusiveLevelAlarmType_LimitState_LastTransition_TransitionTime,9606,Variable ExclusiveLevelAlarmType_HighHighLimit,9619,Variable ExclusiveLevelAlarmType_HighLimit,9620,Variable ExclusiveLevelAlarmType_LowLimit,9621,Variable ExclusiveLevelAlarmType_LowLowLimit,9622,Variable ExclusiveRateOfChangeAlarmType,9623,ObjectType ExclusiveRateOfChangeAlarmType_EventId,9624,Variable ExclusiveRateOfChangeAlarmType_EventType,9625,Variable ExclusiveRateOfChangeAlarmType_SourceNode,9626,Variable ExclusiveRateOfChangeAlarmType_SourceName,9627,Variable ExclusiveRateOfChangeAlarmType_Time,9628,Variable ExclusiveRateOfChangeAlarmType_ReceiveTime,9629,Variable ExclusiveRateOfChangeAlarmType_LocalTime,9630,Variable ExclusiveRateOfChangeAlarmType_Message,9631,Variable ExclusiveRateOfChangeAlarmType_Severity,9632,Variable ExclusiveRateOfChangeAlarmType_ConditionName,9633,Variable ExclusiveRateOfChangeAlarmType_BranchId,9634,Variable ExclusiveRateOfChangeAlarmType_Retain,9635,Variable ExclusiveRateOfChangeAlarmType_EnabledState,9636,Variable ExclusiveRateOfChangeAlarmType_EnabledState_Id,9637,Variable ExclusiveRateOfChangeAlarmType_EnabledState_Name,9638,Variable ExclusiveRateOfChangeAlarmType_EnabledState_Number,9639,Variable ExclusiveRateOfChangeAlarmType_EnabledState_EffectiveDisplayName,9640,Variable ExclusiveRateOfChangeAlarmType_EnabledState_TransitionTime,9641,Variable ExclusiveRateOfChangeAlarmType_EnabledState_EffectiveTransitionTime,9642,Variable ExclusiveRateOfChangeAlarmType_EnabledState_TrueState,9643,Variable ExclusiveRateOfChangeAlarmType_EnabledState_FalseState,9644,Variable ExclusiveRateOfChangeAlarmType_Quality,9645,Variable ExclusiveRateOfChangeAlarmType_Quality_SourceTimestamp,9646,Variable ExclusiveRateOfChangeAlarmType_LastSeverity,9647,Variable ExclusiveRateOfChangeAlarmType_LastSeverity_SourceTimestamp,9648,Variable ExclusiveRateOfChangeAlarmType_Comment,9649,Variable ExclusiveRateOfChangeAlarmType_Comment_SourceTimestamp,9650,Variable ExclusiveRateOfChangeAlarmType_ClientUserId,9651,Variable ExclusiveRateOfChangeAlarmType_Enable,9652,Method ExclusiveRateOfChangeAlarmType_Disable,9653,Method ExclusiveRateOfChangeAlarmType_AddComment,9654,Method ExclusiveRateOfChangeAlarmType_AddComment_InputArguments,9655,Variable ExclusiveRateOfChangeAlarmType_ConditionRefresh,9656,Method ExclusiveRateOfChangeAlarmType_ConditionRefresh_InputArguments,9657,Variable ExclusiveRateOfChangeAlarmType_AckedState,9658,Variable ExclusiveRateOfChangeAlarmType_AckedState_Id,9659,Variable ExclusiveRateOfChangeAlarmType_AckedState_Name,9660,Variable ExclusiveRateOfChangeAlarmType_AckedState_Number,9661,Variable ExclusiveRateOfChangeAlarmType_AckedState_EffectiveDisplayName,9662,Variable ExclusiveRateOfChangeAlarmType_AckedState_TransitionTime,9663,Variable ExclusiveRateOfChangeAlarmType_AckedState_EffectiveTransitionTime,9664,Variable ExclusiveRateOfChangeAlarmType_AckedState_TrueState,9665,Variable ExclusiveRateOfChangeAlarmType_AckedState_FalseState,9666,Variable ExclusiveRateOfChangeAlarmType_ConfirmedState,9667,Variable ExclusiveRateOfChangeAlarmType_ConfirmedState_Id,9668,Variable ExclusiveRateOfChangeAlarmType_ConfirmedState_Name,9669,Variable ExclusiveRateOfChangeAlarmType_ConfirmedState_Number,9670,Variable ExclusiveRateOfChangeAlarmType_ConfirmedState_EffectiveDisplayName,9671,Variable ExclusiveRateOfChangeAlarmType_ConfirmedState_TransitionTime,9672,Variable ExclusiveRateOfChangeAlarmType_ConfirmedState_EffectiveTransitionTime,9673,Variable ExclusiveRateOfChangeAlarmType_ConfirmedState_TrueState,9674,Variable ExclusiveRateOfChangeAlarmType_ConfirmedState_FalseState,9675,Variable ExclusiveRateOfChangeAlarmType_Acknowledge,9676,Method ExclusiveRateOfChangeAlarmType_Acknowledge_InputArguments,9677,Variable ExclusiveRateOfChangeAlarmType_Confirm,9678,Method ExclusiveRateOfChangeAlarmType_Confirm_InputArguments,9679,Variable ExclusiveRateOfChangeAlarmType_ActiveState,9680,Variable ExclusiveRateOfChangeAlarmType_ActiveState_Id,9681,Variable ExclusiveRateOfChangeAlarmType_ActiveState_Name,9682,Variable ExclusiveRateOfChangeAlarmType_ActiveState_Number,9683,Variable ExclusiveRateOfChangeAlarmType_ActiveState_EffectiveDisplayName,9684,Variable ExclusiveRateOfChangeAlarmType_ActiveState_TransitionTime,9685,Variable ExclusiveRateOfChangeAlarmType_ActiveState_EffectiveTransitionTime,9686,Variable ExclusiveRateOfChangeAlarmType_ActiveState_TrueState,9687,Variable ExclusiveRateOfChangeAlarmType_ActiveState_FalseState,9688,Variable ExclusiveRateOfChangeAlarmType_SuppressedState,9689,Variable ExclusiveRateOfChangeAlarmType_SuppressedState_Id,9690,Variable ExclusiveRateOfChangeAlarmType_SuppressedState_Name,9691,Variable ExclusiveRateOfChangeAlarmType_SuppressedState_Number,9692,Variable ExclusiveRateOfChangeAlarmType_SuppressedState_EffectiveDisplayName,9693,Variable ExclusiveRateOfChangeAlarmType_SuppressedState_TransitionTime,9694,Variable ExclusiveRateOfChangeAlarmType_SuppressedState_EffectiveTransitionTime,9695,Variable ExclusiveRateOfChangeAlarmType_SuppressedState_TrueState,9696,Variable ExclusiveRateOfChangeAlarmType_SuppressedState_FalseState,9697,Variable ExclusiveRateOfChangeAlarmType_ShelvingState,9698,Object ExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState,9699,Variable ExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_Id,9700,Variable ExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_Name,9701,Variable ExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_Number,9702,Variable ExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,9703,Variable ExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition,9704,Variable ExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_Id,9705,Variable ExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_Name,9706,Variable ExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_Number,9707,Variable ExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_TransitionTime,9708,Variable ExclusiveRateOfChangeAlarmType_ShelvingState_UnshelveTime,9709,Variable ExclusiveRateOfChangeAlarmType_ShelvingState_Unshelve,9731,Method ExclusiveRateOfChangeAlarmType_ShelvingState_OneShotShelve,9732,Method ExclusiveRateOfChangeAlarmType_ShelvingState_TimedShelve,9733,Method ExclusiveRateOfChangeAlarmType_ShelvingState_TimedShelve_InputArguments,9734,Variable ExclusiveRateOfChangeAlarmType_SuppressedOrShelved,9735,Variable ExclusiveRateOfChangeAlarmType_MaxTimeShelved,9736,Variable ExclusiveRateOfChangeAlarmType_LimitState,9737,Object ExclusiveRateOfChangeAlarmType_LimitState_CurrentState,9738,Variable ExclusiveRateOfChangeAlarmType_LimitState_CurrentState_Id,9739,Variable ExclusiveRateOfChangeAlarmType_LimitState_CurrentState_Name,9740,Variable ExclusiveRateOfChangeAlarmType_LimitState_CurrentState_Number,9741,Variable ExclusiveRateOfChangeAlarmType_LimitState_CurrentState_EffectiveDisplayName,9742,Variable ExclusiveRateOfChangeAlarmType_LimitState_LastTransition,9743,Variable ExclusiveRateOfChangeAlarmType_LimitState_LastTransition_Id,9744,Variable ExclusiveRateOfChangeAlarmType_LimitState_LastTransition_Name,9745,Variable ExclusiveRateOfChangeAlarmType_LimitState_LastTransition_Number,9746,Variable ExclusiveRateOfChangeAlarmType_LimitState_LastTransition_TransitionTime,9747,Variable ExclusiveRateOfChangeAlarmType_HighHighLimit,9760,Variable ExclusiveRateOfChangeAlarmType_HighLimit,9761,Variable ExclusiveRateOfChangeAlarmType_LowLimit,9762,Variable ExclusiveRateOfChangeAlarmType_LowLowLimit,9763,Variable ExclusiveDeviationAlarmType,9764,ObjectType ExclusiveDeviationAlarmType_EventId,9765,Variable ExclusiveDeviationAlarmType_EventType,9766,Variable ExclusiveDeviationAlarmType_SourceNode,9767,Variable ExclusiveDeviationAlarmType_SourceName,9768,Variable ExclusiveDeviationAlarmType_Time,9769,Variable ExclusiveDeviationAlarmType_ReceiveTime,9770,Variable ExclusiveDeviationAlarmType_LocalTime,9771,Variable ExclusiveDeviationAlarmType_Message,9772,Variable ExclusiveDeviationAlarmType_Severity,9773,Variable ExclusiveDeviationAlarmType_ConditionName,9774,Variable ExclusiveDeviationAlarmType_BranchId,9775,Variable ExclusiveDeviationAlarmType_Retain,9776,Variable ExclusiveDeviationAlarmType_EnabledState,9777,Variable ExclusiveDeviationAlarmType_EnabledState_Id,9778,Variable ExclusiveDeviationAlarmType_EnabledState_Name,9779,Variable ExclusiveDeviationAlarmType_EnabledState_Number,9780,Variable ExclusiveDeviationAlarmType_EnabledState_EffectiveDisplayName,9781,Variable ExclusiveDeviationAlarmType_EnabledState_TransitionTime,9782,Variable ExclusiveDeviationAlarmType_EnabledState_EffectiveTransitionTime,9783,Variable ExclusiveDeviationAlarmType_EnabledState_TrueState,9784,Variable ExclusiveDeviationAlarmType_EnabledState_FalseState,9785,Variable ExclusiveDeviationAlarmType_Quality,9786,Variable ExclusiveDeviationAlarmType_Quality_SourceTimestamp,9787,Variable ExclusiveDeviationAlarmType_LastSeverity,9788,Variable ExclusiveDeviationAlarmType_LastSeverity_SourceTimestamp,9789,Variable ExclusiveDeviationAlarmType_Comment,9790,Variable ExclusiveDeviationAlarmType_Comment_SourceTimestamp,9791,Variable ExclusiveDeviationAlarmType_ClientUserId,9792,Variable ExclusiveDeviationAlarmType_Enable,9793,Method ExclusiveDeviationAlarmType_Disable,9794,Method ExclusiveDeviationAlarmType_AddComment,9795,Method ExclusiveDeviationAlarmType_AddComment_InputArguments,9796,Variable ExclusiveDeviationAlarmType_ConditionRefresh,9797,Method ExclusiveDeviationAlarmType_ConditionRefresh_InputArguments,9798,Variable ExclusiveDeviationAlarmType_AckedState,9799,Variable ExclusiveDeviationAlarmType_AckedState_Id,9800,Variable ExclusiveDeviationAlarmType_AckedState_Name,9801,Variable ExclusiveDeviationAlarmType_AckedState_Number,9802,Variable ExclusiveDeviationAlarmType_AckedState_EffectiveDisplayName,9803,Variable ExclusiveDeviationAlarmType_AckedState_TransitionTime,9804,Variable ExclusiveDeviationAlarmType_AckedState_EffectiveTransitionTime,9805,Variable ExclusiveDeviationAlarmType_AckedState_TrueState,9806,Variable ExclusiveDeviationAlarmType_AckedState_FalseState,9807,Variable ExclusiveDeviationAlarmType_ConfirmedState,9808,Variable ExclusiveDeviationAlarmType_ConfirmedState_Id,9809,Variable ExclusiveDeviationAlarmType_ConfirmedState_Name,9810,Variable ExclusiveDeviationAlarmType_ConfirmedState_Number,9811,Variable ExclusiveDeviationAlarmType_ConfirmedState_EffectiveDisplayName,9812,Variable ExclusiveDeviationAlarmType_ConfirmedState_TransitionTime,9813,Variable ExclusiveDeviationAlarmType_ConfirmedState_EffectiveTransitionTime,9814,Variable ExclusiveDeviationAlarmType_ConfirmedState_TrueState,9815,Variable ExclusiveDeviationAlarmType_ConfirmedState_FalseState,9816,Variable ExclusiveDeviationAlarmType_Acknowledge,9817,Method ExclusiveDeviationAlarmType_Acknowledge_InputArguments,9818,Variable ExclusiveDeviationAlarmType_Confirm,9819,Method ExclusiveDeviationAlarmType_Confirm_InputArguments,9820,Variable ExclusiveDeviationAlarmType_ActiveState,9821,Variable ExclusiveDeviationAlarmType_ActiveState_Id,9822,Variable ExclusiveDeviationAlarmType_ActiveState_Name,9823,Variable ExclusiveDeviationAlarmType_ActiveState_Number,9824,Variable ExclusiveDeviationAlarmType_ActiveState_EffectiveDisplayName,9825,Variable ExclusiveDeviationAlarmType_ActiveState_TransitionTime,9826,Variable ExclusiveDeviationAlarmType_ActiveState_EffectiveTransitionTime,9827,Variable ExclusiveDeviationAlarmType_ActiveState_TrueState,9828,Variable ExclusiveDeviationAlarmType_ActiveState_FalseState,9829,Variable ExclusiveDeviationAlarmType_SuppressedState,9830,Variable ExclusiveDeviationAlarmType_SuppressedState_Id,9831,Variable ExclusiveDeviationAlarmType_SuppressedState_Name,9832,Variable ExclusiveDeviationAlarmType_SuppressedState_Number,9833,Variable ExclusiveDeviationAlarmType_SuppressedState_EffectiveDisplayName,9834,Variable ExclusiveDeviationAlarmType_SuppressedState_TransitionTime,9835,Variable ExclusiveDeviationAlarmType_SuppressedState_EffectiveTransitionTime,9836,Variable ExclusiveDeviationAlarmType_SuppressedState_TrueState,9837,Variable ExclusiveDeviationAlarmType_SuppressedState_FalseState,9838,Variable ExclusiveDeviationAlarmType_ShelvingState,9839,Object ExclusiveDeviationAlarmType_ShelvingState_CurrentState,9840,Variable ExclusiveDeviationAlarmType_ShelvingState_CurrentState_Id,9841,Variable ExclusiveDeviationAlarmType_ShelvingState_CurrentState_Name,9842,Variable ExclusiveDeviationAlarmType_ShelvingState_CurrentState_Number,9843,Variable ExclusiveDeviationAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,9844,Variable ExclusiveDeviationAlarmType_ShelvingState_LastTransition,9845,Variable ExclusiveDeviationAlarmType_ShelvingState_LastTransition_Id,9846,Variable ExclusiveDeviationAlarmType_ShelvingState_LastTransition_Name,9847,Variable ExclusiveDeviationAlarmType_ShelvingState_LastTransition_Number,9848,Variable ExclusiveDeviationAlarmType_ShelvingState_LastTransition_TransitionTime,9849,Variable ExclusiveDeviationAlarmType_ShelvingState_UnshelveTime,9850,Variable ExclusiveDeviationAlarmType_ShelvingState_Unshelve,9872,Method ExclusiveDeviationAlarmType_ShelvingState_OneShotShelve,9873,Method ExclusiveDeviationAlarmType_ShelvingState_TimedShelve,9874,Method ExclusiveDeviationAlarmType_ShelvingState_TimedShelve_InputArguments,9875,Variable ExclusiveDeviationAlarmType_SuppressedOrShelved,9876,Variable ExclusiveDeviationAlarmType_MaxTimeShelved,9877,Variable ExclusiveDeviationAlarmType_LimitState,9878,Object ExclusiveDeviationAlarmType_LimitState_CurrentState,9879,Variable ExclusiveDeviationAlarmType_LimitState_CurrentState_Id,9880,Variable ExclusiveDeviationAlarmType_LimitState_CurrentState_Name,9881,Variable ExclusiveDeviationAlarmType_LimitState_CurrentState_Number,9882,Variable ExclusiveDeviationAlarmType_LimitState_CurrentState_EffectiveDisplayName,9883,Variable ExclusiveDeviationAlarmType_LimitState_LastTransition,9884,Variable ExclusiveDeviationAlarmType_LimitState_LastTransition_Id,9885,Variable ExclusiveDeviationAlarmType_LimitState_LastTransition_Name,9886,Variable ExclusiveDeviationAlarmType_LimitState_LastTransition_Number,9887,Variable ExclusiveDeviationAlarmType_LimitState_LastTransition_TransitionTime,9888,Variable ExclusiveDeviationAlarmType_HighHighLimit,9901,Variable ExclusiveDeviationAlarmType_HighLimit,9902,Variable ExclusiveDeviationAlarmType_LowLimit,9903,Variable ExclusiveDeviationAlarmType_LowLowLimit,9904,Variable ExclusiveDeviationAlarmType_SetpointNode,9905,Variable NonExclusiveLimitAlarmType,9906,ObjectType NonExclusiveLimitAlarmType_EventId,9907,Variable NonExclusiveLimitAlarmType_EventType,9908,Variable NonExclusiveLimitAlarmType_SourceNode,9909,Variable NonExclusiveLimitAlarmType_SourceName,9910,Variable NonExclusiveLimitAlarmType_Time,9911,Variable NonExclusiveLimitAlarmType_ReceiveTime,9912,Variable NonExclusiveLimitAlarmType_LocalTime,9913,Variable NonExclusiveLimitAlarmType_Message,9914,Variable NonExclusiveLimitAlarmType_Severity,9915,Variable NonExclusiveLimitAlarmType_ConditionName,9916,Variable NonExclusiveLimitAlarmType_BranchId,9917,Variable NonExclusiveLimitAlarmType_Retain,9918,Variable NonExclusiveLimitAlarmType_EnabledState,9919,Variable NonExclusiveLimitAlarmType_EnabledState_Id,9920,Variable NonExclusiveLimitAlarmType_EnabledState_Name,9921,Variable NonExclusiveLimitAlarmType_EnabledState_Number,9922,Variable NonExclusiveLimitAlarmType_EnabledState_EffectiveDisplayName,9923,Variable NonExclusiveLimitAlarmType_EnabledState_TransitionTime,9924,Variable NonExclusiveLimitAlarmType_EnabledState_EffectiveTransitionTime,9925,Variable NonExclusiveLimitAlarmType_EnabledState_TrueState,9926,Variable NonExclusiveLimitAlarmType_EnabledState_FalseState,9927,Variable NonExclusiveLimitAlarmType_Quality,9928,Variable NonExclusiveLimitAlarmType_Quality_SourceTimestamp,9929,Variable NonExclusiveLimitAlarmType_LastSeverity,9930,Variable NonExclusiveLimitAlarmType_LastSeverity_SourceTimestamp,9931,Variable NonExclusiveLimitAlarmType_Comment,9932,Variable NonExclusiveLimitAlarmType_Comment_SourceTimestamp,9933,Variable NonExclusiveLimitAlarmType_ClientUserId,9934,Variable NonExclusiveLimitAlarmType_Enable,9935,Method NonExclusiveLimitAlarmType_Disable,9936,Method NonExclusiveLimitAlarmType_AddComment,9937,Method NonExclusiveLimitAlarmType_AddComment_InputArguments,9938,Variable NonExclusiveLimitAlarmType_ConditionRefresh,9939,Method NonExclusiveLimitAlarmType_ConditionRefresh_InputArguments,9940,Variable NonExclusiveLimitAlarmType_AckedState,9941,Variable NonExclusiveLimitAlarmType_AckedState_Id,9942,Variable NonExclusiveLimitAlarmType_AckedState_Name,9943,Variable NonExclusiveLimitAlarmType_AckedState_Number,9944,Variable NonExclusiveLimitAlarmType_AckedState_EffectiveDisplayName,9945,Variable NonExclusiveLimitAlarmType_AckedState_TransitionTime,9946,Variable NonExclusiveLimitAlarmType_AckedState_EffectiveTransitionTime,9947,Variable NonExclusiveLimitAlarmType_AckedState_TrueState,9948,Variable NonExclusiveLimitAlarmType_AckedState_FalseState,9949,Variable NonExclusiveLimitAlarmType_ConfirmedState,9950,Variable NonExclusiveLimitAlarmType_ConfirmedState_Id,9951,Variable NonExclusiveLimitAlarmType_ConfirmedState_Name,9952,Variable NonExclusiveLimitAlarmType_ConfirmedState_Number,9953,Variable NonExclusiveLimitAlarmType_ConfirmedState_EffectiveDisplayName,9954,Variable NonExclusiveLimitAlarmType_ConfirmedState_TransitionTime,9955,Variable NonExclusiveLimitAlarmType_ConfirmedState_EffectiveTransitionTime,9956,Variable NonExclusiveLimitAlarmType_ConfirmedState_TrueState,9957,Variable NonExclusiveLimitAlarmType_ConfirmedState_FalseState,9958,Variable NonExclusiveLimitAlarmType_Acknowledge,9959,Method NonExclusiveLimitAlarmType_Acknowledge_InputArguments,9960,Variable NonExclusiveLimitAlarmType_Confirm,9961,Method NonExclusiveLimitAlarmType_Confirm_InputArguments,9962,Variable NonExclusiveLimitAlarmType_ActiveState,9963,Variable NonExclusiveLimitAlarmType_ActiveState_Id,9964,Variable NonExclusiveLimitAlarmType_ActiveState_Name,9965,Variable NonExclusiveLimitAlarmType_ActiveState_Number,9966,Variable NonExclusiveLimitAlarmType_ActiveState_EffectiveDisplayName,9967,Variable NonExclusiveLimitAlarmType_ActiveState_TransitionTime,9968,Variable NonExclusiveLimitAlarmType_ActiveState_EffectiveTransitionTime,9969,Variable NonExclusiveLimitAlarmType_ActiveState_TrueState,9970,Variable NonExclusiveLimitAlarmType_ActiveState_FalseState,9971,Variable NonExclusiveLimitAlarmType_SuppressedState,9972,Variable NonExclusiveLimitAlarmType_SuppressedState_Id,9973,Variable NonExclusiveLimitAlarmType_SuppressedState_Name,9974,Variable NonExclusiveLimitAlarmType_SuppressedState_Number,9975,Variable NonExclusiveLimitAlarmType_SuppressedState_EffectiveDisplayName,9976,Variable NonExclusiveLimitAlarmType_SuppressedState_TransitionTime,9977,Variable NonExclusiveLimitAlarmType_SuppressedState_EffectiveTransitionTime,9978,Variable NonExclusiveLimitAlarmType_SuppressedState_TrueState,9979,Variable NonExclusiveLimitAlarmType_SuppressedState_FalseState,9980,Variable NonExclusiveLimitAlarmType_ShelvingState,9981,Object NonExclusiveLimitAlarmType_ShelvingState_CurrentState,9982,Variable NonExclusiveLimitAlarmType_ShelvingState_CurrentState_Id,9983,Variable NonExclusiveLimitAlarmType_ShelvingState_CurrentState_Name,9984,Variable NonExclusiveLimitAlarmType_ShelvingState_CurrentState_Number,9985,Variable NonExclusiveLimitAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,9986,Variable NonExclusiveLimitAlarmType_ShelvingState_LastTransition,9987,Variable NonExclusiveLimitAlarmType_ShelvingState_LastTransition_Id,9988,Variable NonExclusiveLimitAlarmType_ShelvingState_LastTransition_Name,9989,Variable NonExclusiveLimitAlarmType_ShelvingState_LastTransition_Number,9990,Variable NonExclusiveLimitAlarmType_ShelvingState_LastTransition_TransitionTime,9991,Variable NonExclusiveLimitAlarmType_ShelvingState_UnshelveTime,9992,Variable NonExclusiveLimitAlarmType_ShelvingState_Unshelve,10014,Method NonExclusiveLimitAlarmType_ShelvingState_OneShotShelve,10015,Method NonExclusiveLimitAlarmType_ShelvingState_TimedShelve,10016,Method NonExclusiveLimitAlarmType_ShelvingState_TimedShelve_InputArguments,10017,Variable NonExclusiveLimitAlarmType_SuppressedOrShelved,10018,Variable NonExclusiveLimitAlarmType_MaxTimeShelved,10019,Variable NonExclusiveLimitAlarmType_HighHighState,10020,Variable NonExclusiveLimitAlarmType_HighHighState_Id,10021,Variable NonExclusiveLimitAlarmType_HighHighState_Name,10022,Variable NonExclusiveLimitAlarmType_HighHighState_Number,10023,Variable NonExclusiveLimitAlarmType_HighHighState_EffectiveDisplayName,10024,Variable NonExclusiveLimitAlarmType_HighHighState_TransitionTime,10025,Variable NonExclusiveLimitAlarmType_HighHighState_EffectiveTransitionTime,10026,Variable NonExclusiveLimitAlarmType_HighHighState_TrueState,10027,Variable NonExclusiveLimitAlarmType_HighHighState_FalseState,10028,Variable NonExclusiveLimitAlarmType_HighState,10029,Variable NonExclusiveLimitAlarmType_HighState_Id,10030,Variable NonExclusiveLimitAlarmType_HighState_Name,10031,Variable NonExclusiveLimitAlarmType_HighState_Number,10032,Variable NonExclusiveLimitAlarmType_HighState_EffectiveDisplayName,10033,Variable NonExclusiveLimitAlarmType_HighState_TransitionTime,10034,Variable NonExclusiveLimitAlarmType_HighState_EffectiveTransitionTime,10035,Variable NonExclusiveLimitAlarmType_HighState_TrueState,10036,Variable NonExclusiveLimitAlarmType_HighState_FalseState,10037,Variable NonExclusiveLimitAlarmType_LowState,10038,Variable NonExclusiveLimitAlarmType_LowState_Id,10039,Variable NonExclusiveLimitAlarmType_LowState_Name,10040,Variable NonExclusiveLimitAlarmType_LowState_Number,10041,Variable NonExclusiveLimitAlarmType_LowState_EffectiveDisplayName,10042,Variable NonExclusiveLimitAlarmType_LowState_TransitionTime,10043,Variable NonExclusiveLimitAlarmType_LowState_EffectiveTransitionTime,10044,Variable NonExclusiveLimitAlarmType_LowState_TrueState,10045,Variable NonExclusiveLimitAlarmType_LowState_FalseState,10046,Variable NonExclusiveLimitAlarmType_LowLowState,10047,Variable NonExclusiveLimitAlarmType_LowLowState_Id,10048,Variable NonExclusiveLimitAlarmType_LowLowState_Name,10049,Variable NonExclusiveLimitAlarmType_LowLowState_Number,10050,Variable NonExclusiveLimitAlarmType_LowLowState_EffectiveDisplayName,10051,Variable NonExclusiveLimitAlarmType_LowLowState_TransitionTime,10052,Variable NonExclusiveLimitAlarmType_LowLowState_EffectiveTransitionTime,10053,Variable NonExclusiveLimitAlarmType_LowLowState_TrueState,10054,Variable NonExclusiveLimitAlarmType_LowLowState_FalseState,10055,Variable NonExclusiveLimitAlarmType_HighHighLimit,10056,Variable NonExclusiveLimitAlarmType_HighLimit,10057,Variable NonExclusiveLimitAlarmType_LowLimit,10058,Variable NonExclusiveLimitAlarmType_LowLowLimit,10059,Variable NonExclusiveLevelAlarmType,10060,ObjectType NonExclusiveLevelAlarmType_EventId,10061,Variable NonExclusiveLevelAlarmType_EventType,10062,Variable NonExclusiveLevelAlarmType_SourceNode,10063,Variable NonExclusiveLevelAlarmType_SourceName,10064,Variable NonExclusiveLevelAlarmType_Time,10065,Variable NonExclusiveLevelAlarmType_ReceiveTime,10066,Variable NonExclusiveLevelAlarmType_LocalTime,10067,Variable NonExclusiveLevelAlarmType_Message,10068,Variable NonExclusiveLevelAlarmType_Severity,10069,Variable NonExclusiveLevelAlarmType_ConditionName,10070,Variable NonExclusiveLevelAlarmType_BranchId,10071,Variable NonExclusiveLevelAlarmType_Retain,10072,Variable NonExclusiveLevelAlarmType_EnabledState,10073,Variable NonExclusiveLevelAlarmType_EnabledState_Id,10074,Variable NonExclusiveLevelAlarmType_EnabledState_Name,10075,Variable NonExclusiveLevelAlarmType_EnabledState_Number,10076,Variable NonExclusiveLevelAlarmType_EnabledState_EffectiveDisplayName,10077,Variable NonExclusiveLevelAlarmType_EnabledState_TransitionTime,10078,Variable NonExclusiveLevelAlarmType_EnabledState_EffectiveTransitionTime,10079,Variable NonExclusiveLevelAlarmType_EnabledState_TrueState,10080,Variable NonExclusiveLevelAlarmType_EnabledState_FalseState,10081,Variable NonExclusiveLevelAlarmType_Quality,10082,Variable NonExclusiveLevelAlarmType_Quality_SourceTimestamp,10083,Variable NonExclusiveLevelAlarmType_LastSeverity,10084,Variable NonExclusiveLevelAlarmType_LastSeverity_SourceTimestamp,10085,Variable NonExclusiveLevelAlarmType_Comment,10086,Variable NonExclusiveLevelAlarmType_Comment_SourceTimestamp,10087,Variable NonExclusiveLevelAlarmType_ClientUserId,10088,Variable NonExclusiveLevelAlarmType_Enable,10089,Method NonExclusiveLevelAlarmType_Disable,10090,Method NonExclusiveLevelAlarmType_AddComment,10091,Method NonExclusiveLevelAlarmType_AddComment_InputArguments,10092,Variable NonExclusiveLevelAlarmType_ConditionRefresh,10093,Method NonExclusiveLevelAlarmType_ConditionRefresh_InputArguments,10094,Variable NonExclusiveLevelAlarmType_AckedState,10095,Variable NonExclusiveLevelAlarmType_AckedState_Id,10096,Variable NonExclusiveLevelAlarmType_AckedState_Name,10097,Variable NonExclusiveLevelAlarmType_AckedState_Number,10098,Variable NonExclusiveLevelAlarmType_AckedState_EffectiveDisplayName,10099,Variable NonExclusiveLevelAlarmType_AckedState_TransitionTime,10100,Variable NonExclusiveLevelAlarmType_AckedState_EffectiveTransitionTime,10101,Variable NonExclusiveLevelAlarmType_AckedState_TrueState,10102,Variable NonExclusiveLevelAlarmType_AckedState_FalseState,10103,Variable NonExclusiveLevelAlarmType_ConfirmedState,10104,Variable NonExclusiveLevelAlarmType_ConfirmedState_Id,10105,Variable NonExclusiveLevelAlarmType_ConfirmedState_Name,10106,Variable NonExclusiveLevelAlarmType_ConfirmedState_Number,10107,Variable NonExclusiveLevelAlarmType_ConfirmedState_EffectiveDisplayName,10108,Variable NonExclusiveLevelAlarmType_ConfirmedState_TransitionTime,10109,Variable NonExclusiveLevelAlarmType_ConfirmedState_EffectiveTransitionTime,10110,Variable NonExclusiveLevelAlarmType_ConfirmedState_TrueState,10111,Variable NonExclusiveLevelAlarmType_ConfirmedState_FalseState,10112,Variable NonExclusiveLevelAlarmType_Acknowledge,10113,Method NonExclusiveLevelAlarmType_Acknowledge_InputArguments,10114,Variable NonExclusiveLevelAlarmType_Confirm,10115,Method NonExclusiveLevelAlarmType_Confirm_InputArguments,10116,Variable NonExclusiveLevelAlarmType_ActiveState,10117,Variable NonExclusiveLevelAlarmType_ActiveState_Id,10118,Variable NonExclusiveLevelAlarmType_ActiveState_Name,10119,Variable NonExclusiveLevelAlarmType_ActiveState_Number,10120,Variable NonExclusiveLevelAlarmType_ActiveState_EffectiveDisplayName,10121,Variable NonExclusiveLevelAlarmType_ActiveState_TransitionTime,10122,Variable NonExclusiveLevelAlarmType_ActiveState_EffectiveTransitionTime,10123,Variable NonExclusiveLevelAlarmType_ActiveState_TrueState,10124,Variable NonExclusiveLevelAlarmType_ActiveState_FalseState,10125,Variable NonExclusiveLevelAlarmType_SuppressedState,10126,Variable NonExclusiveLevelAlarmType_SuppressedState_Id,10127,Variable NonExclusiveLevelAlarmType_SuppressedState_Name,10128,Variable NonExclusiveLevelAlarmType_SuppressedState_Number,10129,Variable NonExclusiveLevelAlarmType_SuppressedState_EffectiveDisplayName,10130,Variable NonExclusiveLevelAlarmType_SuppressedState_TransitionTime,10131,Variable NonExclusiveLevelAlarmType_SuppressedState_EffectiveTransitionTime,10132,Variable NonExclusiveLevelAlarmType_SuppressedState_TrueState,10133,Variable NonExclusiveLevelAlarmType_SuppressedState_FalseState,10134,Variable NonExclusiveLevelAlarmType_ShelvingState,10135,Object NonExclusiveLevelAlarmType_ShelvingState_CurrentState,10136,Variable NonExclusiveLevelAlarmType_ShelvingState_CurrentState_Id,10137,Variable NonExclusiveLevelAlarmType_ShelvingState_CurrentState_Name,10138,Variable NonExclusiveLevelAlarmType_ShelvingState_CurrentState_Number,10139,Variable NonExclusiveLevelAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,10140,Variable NonExclusiveLevelAlarmType_ShelvingState_LastTransition,10141,Variable NonExclusiveLevelAlarmType_ShelvingState_LastTransition_Id,10142,Variable NonExclusiveLevelAlarmType_ShelvingState_LastTransition_Name,10143,Variable NonExclusiveLevelAlarmType_ShelvingState_LastTransition_Number,10144,Variable NonExclusiveLevelAlarmType_ShelvingState_LastTransition_TransitionTime,10145,Variable NonExclusiveLevelAlarmType_ShelvingState_UnshelveTime,10146,Variable NonExclusiveLevelAlarmType_ShelvingState_Unshelve,10168,Method NonExclusiveLevelAlarmType_ShelvingState_OneShotShelve,10169,Method NonExclusiveLevelAlarmType_ShelvingState_TimedShelve,10170,Method NonExclusiveLevelAlarmType_ShelvingState_TimedShelve_InputArguments,10171,Variable NonExclusiveLevelAlarmType_SuppressedOrShelved,10172,Variable NonExclusiveLevelAlarmType_MaxTimeShelved,10173,Variable NonExclusiveLevelAlarmType_HighHighState,10174,Variable NonExclusiveLevelAlarmType_HighHighState_Id,10175,Variable NonExclusiveLevelAlarmType_HighHighState_Name,10176,Variable NonExclusiveLevelAlarmType_HighHighState_Number,10177,Variable NonExclusiveLevelAlarmType_HighHighState_EffectiveDisplayName,10178,Variable NonExclusiveLevelAlarmType_HighHighState_TransitionTime,10179,Variable NonExclusiveLevelAlarmType_HighHighState_EffectiveTransitionTime,10180,Variable NonExclusiveLevelAlarmType_HighHighState_TrueState,10181,Variable NonExclusiveLevelAlarmType_HighHighState_FalseState,10182,Variable NonExclusiveLevelAlarmType_HighState,10183,Variable NonExclusiveLevelAlarmType_HighState_Id,10184,Variable NonExclusiveLevelAlarmType_HighState_Name,10185,Variable NonExclusiveLevelAlarmType_HighState_Number,10186,Variable NonExclusiveLevelAlarmType_HighState_EffectiveDisplayName,10187,Variable NonExclusiveLevelAlarmType_HighState_TransitionTime,10188,Variable NonExclusiveLevelAlarmType_HighState_EffectiveTransitionTime,10189,Variable NonExclusiveLevelAlarmType_HighState_TrueState,10190,Variable NonExclusiveLevelAlarmType_HighState_FalseState,10191,Variable NonExclusiveLevelAlarmType_LowState,10192,Variable NonExclusiveLevelAlarmType_LowState_Id,10193,Variable NonExclusiveLevelAlarmType_LowState_Name,10194,Variable NonExclusiveLevelAlarmType_LowState_Number,10195,Variable NonExclusiveLevelAlarmType_LowState_EffectiveDisplayName,10196,Variable NonExclusiveLevelAlarmType_LowState_TransitionTime,10197,Variable NonExclusiveLevelAlarmType_LowState_EffectiveTransitionTime,10198,Variable NonExclusiveLevelAlarmType_LowState_TrueState,10199,Variable NonExclusiveLevelAlarmType_LowState_FalseState,10200,Variable NonExclusiveLevelAlarmType_LowLowState,10201,Variable NonExclusiveLevelAlarmType_LowLowState_Id,10202,Variable NonExclusiveLevelAlarmType_LowLowState_Name,10203,Variable NonExclusiveLevelAlarmType_LowLowState_Number,10204,Variable NonExclusiveLevelAlarmType_LowLowState_EffectiveDisplayName,10205,Variable NonExclusiveLevelAlarmType_LowLowState_TransitionTime,10206,Variable NonExclusiveLevelAlarmType_LowLowState_EffectiveTransitionTime,10207,Variable NonExclusiveLevelAlarmType_LowLowState_TrueState,10208,Variable NonExclusiveLevelAlarmType_LowLowState_FalseState,10209,Variable NonExclusiveLevelAlarmType_HighHighLimit,10210,Variable NonExclusiveLevelAlarmType_HighLimit,10211,Variable NonExclusiveLevelAlarmType_LowLimit,10212,Variable NonExclusiveLevelAlarmType_LowLowLimit,10213,Variable NonExclusiveRateOfChangeAlarmType,10214,ObjectType NonExclusiveRateOfChangeAlarmType_EventId,10215,Variable NonExclusiveRateOfChangeAlarmType_EventType,10216,Variable NonExclusiveRateOfChangeAlarmType_SourceNode,10217,Variable NonExclusiveRateOfChangeAlarmType_SourceName,10218,Variable NonExclusiveRateOfChangeAlarmType_Time,10219,Variable NonExclusiveRateOfChangeAlarmType_ReceiveTime,10220,Variable NonExclusiveRateOfChangeAlarmType_LocalTime,10221,Variable NonExclusiveRateOfChangeAlarmType_Message,10222,Variable NonExclusiveRateOfChangeAlarmType_Severity,10223,Variable NonExclusiveRateOfChangeAlarmType_ConditionName,10224,Variable NonExclusiveRateOfChangeAlarmType_BranchId,10225,Variable NonExclusiveRateOfChangeAlarmType_Retain,10226,Variable NonExclusiveRateOfChangeAlarmType_EnabledState,10227,Variable NonExclusiveRateOfChangeAlarmType_EnabledState_Id,10228,Variable NonExclusiveRateOfChangeAlarmType_EnabledState_Name,10229,Variable NonExclusiveRateOfChangeAlarmType_EnabledState_Number,10230,Variable NonExclusiveRateOfChangeAlarmType_EnabledState_EffectiveDisplayName,10231,Variable NonExclusiveRateOfChangeAlarmType_EnabledState_TransitionTime,10232,Variable NonExclusiveRateOfChangeAlarmType_EnabledState_EffectiveTransitionTime,10233,Variable NonExclusiveRateOfChangeAlarmType_EnabledState_TrueState,10234,Variable NonExclusiveRateOfChangeAlarmType_EnabledState_FalseState,10235,Variable NonExclusiveRateOfChangeAlarmType_Quality,10236,Variable NonExclusiveRateOfChangeAlarmType_Quality_SourceTimestamp,10237,Variable NonExclusiveRateOfChangeAlarmType_LastSeverity,10238,Variable NonExclusiveRateOfChangeAlarmType_LastSeverity_SourceTimestamp,10239,Variable NonExclusiveRateOfChangeAlarmType_Comment,10240,Variable NonExclusiveRateOfChangeAlarmType_Comment_SourceTimestamp,10241,Variable NonExclusiveRateOfChangeAlarmType_ClientUserId,10242,Variable NonExclusiveRateOfChangeAlarmType_Enable,10243,Method NonExclusiveRateOfChangeAlarmType_Disable,10244,Method NonExclusiveRateOfChangeAlarmType_AddComment,10245,Method NonExclusiveRateOfChangeAlarmType_AddComment_InputArguments,10246,Variable NonExclusiveRateOfChangeAlarmType_ConditionRefresh,10247,Method NonExclusiveRateOfChangeAlarmType_ConditionRefresh_InputArguments,10248,Variable NonExclusiveRateOfChangeAlarmType_AckedState,10249,Variable NonExclusiveRateOfChangeAlarmType_AckedState_Id,10250,Variable NonExclusiveRateOfChangeAlarmType_AckedState_Name,10251,Variable NonExclusiveRateOfChangeAlarmType_AckedState_Number,10252,Variable NonExclusiveRateOfChangeAlarmType_AckedState_EffectiveDisplayName,10253,Variable NonExclusiveRateOfChangeAlarmType_AckedState_TransitionTime,10254,Variable NonExclusiveRateOfChangeAlarmType_AckedState_EffectiveTransitionTime,10255,Variable NonExclusiveRateOfChangeAlarmType_AckedState_TrueState,10256,Variable NonExclusiveRateOfChangeAlarmType_AckedState_FalseState,10257,Variable NonExclusiveRateOfChangeAlarmType_ConfirmedState,10258,Variable NonExclusiveRateOfChangeAlarmType_ConfirmedState_Id,10259,Variable NonExclusiveRateOfChangeAlarmType_ConfirmedState_Name,10260,Variable NonExclusiveRateOfChangeAlarmType_ConfirmedState_Number,10261,Variable NonExclusiveRateOfChangeAlarmType_ConfirmedState_EffectiveDisplayName,10262,Variable NonExclusiveRateOfChangeAlarmType_ConfirmedState_TransitionTime,10263,Variable NonExclusiveRateOfChangeAlarmType_ConfirmedState_EffectiveTransitionTime,10264,Variable NonExclusiveRateOfChangeAlarmType_ConfirmedState_TrueState,10265,Variable NonExclusiveRateOfChangeAlarmType_ConfirmedState_FalseState,10266,Variable NonExclusiveRateOfChangeAlarmType_Acknowledge,10267,Method NonExclusiveRateOfChangeAlarmType_Acknowledge_InputArguments,10268,Variable NonExclusiveRateOfChangeAlarmType_Confirm,10269,Method NonExclusiveRateOfChangeAlarmType_Confirm_InputArguments,10270,Variable NonExclusiveRateOfChangeAlarmType_ActiveState,10271,Variable NonExclusiveRateOfChangeAlarmType_ActiveState_Id,10272,Variable NonExclusiveRateOfChangeAlarmType_ActiveState_Name,10273,Variable NonExclusiveRateOfChangeAlarmType_ActiveState_Number,10274,Variable NonExclusiveRateOfChangeAlarmType_ActiveState_EffectiveDisplayName,10275,Variable NonExclusiveRateOfChangeAlarmType_ActiveState_TransitionTime,10276,Variable NonExclusiveRateOfChangeAlarmType_ActiveState_EffectiveTransitionTime,10277,Variable NonExclusiveRateOfChangeAlarmType_ActiveState_TrueState,10278,Variable NonExclusiveRateOfChangeAlarmType_ActiveState_FalseState,10279,Variable NonExclusiveRateOfChangeAlarmType_SuppressedState,10280,Variable NonExclusiveRateOfChangeAlarmType_SuppressedState_Id,10281,Variable NonExclusiveRateOfChangeAlarmType_SuppressedState_Name,10282,Variable NonExclusiveRateOfChangeAlarmType_SuppressedState_Number,10283,Variable NonExclusiveRateOfChangeAlarmType_SuppressedState_EffectiveDisplayName,10284,Variable NonExclusiveRateOfChangeAlarmType_SuppressedState_TransitionTime,10285,Variable NonExclusiveRateOfChangeAlarmType_SuppressedState_EffectiveTransitionTime,10286,Variable NonExclusiveRateOfChangeAlarmType_SuppressedState_TrueState,10287,Variable NonExclusiveRateOfChangeAlarmType_SuppressedState_FalseState,10288,Variable NonExclusiveRateOfChangeAlarmType_ShelvingState,10289,Object NonExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState,10290,Variable NonExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_Id,10291,Variable NonExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_Name,10292,Variable NonExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_Number,10293,Variable NonExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,10294,Variable NonExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition,10295,Variable NonExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_Id,10296,Variable NonExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_Name,10297,Variable NonExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_Number,10298,Variable NonExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_TransitionTime,10299,Variable NonExclusiveRateOfChangeAlarmType_ShelvingState_UnshelveTime,10300,Variable NonExclusiveRateOfChangeAlarmType_ShelvingState_Unshelve,10322,Method NonExclusiveRateOfChangeAlarmType_ShelvingState_OneShotShelve,10323,Method NonExclusiveRateOfChangeAlarmType_ShelvingState_TimedShelve,10324,Method NonExclusiveRateOfChangeAlarmType_ShelvingState_TimedShelve_InputArguments,10325,Variable NonExclusiveRateOfChangeAlarmType_SuppressedOrShelved,10326,Variable NonExclusiveRateOfChangeAlarmType_MaxTimeShelved,10327,Variable NonExclusiveRateOfChangeAlarmType_HighHighState,10328,Variable NonExclusiveRateOfChangeAlarmType_HighHighState_Id,10329,Variable NonExclusiveRateOfChangeAlarmType_HighHighState_Name,10330,Variable NonExclusiveRateOfChangeAlarmType_HighHighState_Number,10331,Variable NonExclusiveRateOfChangeAlarmType_HighHighState_EffectiveDisplayName,10332,Variable NonExclusiveRateOfChangeAlarmType_HighHighState_TransitionTime,10333,Variable NonExclusiveRateOfChangeAlarmType_HighHighState_EffectiveTransitionTime,10334,Variable NonExclusiveRateOfChangeAlarmType_HighHighState_TrueState,10335,Variable NonExclusiveRateOfChangeAlarmType_HighHighState_FalseState,10336,Variable NonExclusiveRateOfChangeAlarmType_HighState,10337,Variable NonExclusiveRateOfChangeAlarmType_HighState_Id,10338,Variable NonExclusiveRateOfChangeAlarmType_HighState_Name,10339,Variable NonExclusiveRateOfChangeAlarmType_HighState_Number,10340,Variable NonExclusiveRateOfChangeAlarmType_HighState_EffectiveDisplayName,10341,Variable NonExclusiveRateOfChangeAlarmType_HighState_TransitionTime,10342,Variable NonExclusiveRateOfChangeAlarmType_HighState_EffectiveTransitionTime,10343,Variable NonExclusiveRateOfChangeAlarmType_HighState_TrueState,10344,Variable NonExclusiveRateOfChangeAlarmType_HighState_FalseState,10345,Variable NonExclusiveRateOfChangeAlarmType_LowState,10346,Variable NonExclusiveRateOfChangeAlarmType_LowState_Id,10347,Variable NonExclusiveRateOfChangeAlarmType_LowState_Name,10348,Variable NonExclusiveRateOfChangeAlarmType_LowState_Number,10349,Variable NonExclusiveRateOfChangeAlarmType_LowState_EffectiveDisplayName,10350,Variable NonExclusiveRateOfChangeAlarmType_LowState_TransitionTime,10351,Variable NonExclusiveRateOfChangeAlarmType_LowState_EffectiveTransitionTime,10352,Variable NonExclusiveRateOfChangeAlarmType_LowState_TrueState,10353,Variable NonExclusiveRateOfChangeAlarmType_LowState_FalseState,10354,Variable NonExclusiveRateOfChangeAlarmType_LowLowState,10355,Variable NonExclusiveRateOfChangeAlarmType_LowLowState_Id,10356,Variable NonExclusiveRateOfChangeAlarmType_LowLowState_Name,10357,Variable NonExclusiveRateOfChangeAlarmType_LowLowState_Number,10358,Variable NonExclusiveRateOfChangeAlarmType_LowLowState_EffectiveDisplayName,10359,Variable NonExclusiveRateOfChangeAlarmType_LowLowState_TransitionTime,10360,Variable NonExclusiveRateOfChangeAlarmType_LowLowState_EffectiveTransitionTime,10361,Variable NonExclusiveRateOfChangeAlarmType_LowLowState_TrueState,10362,Variable NonExclusiveRateOfChangeAlarmType_LowLowState_FalseState,10363,Variable NonExclusiveRateOfChangeAlarmType_HighHighLimit,10364,Variable NonExclusiveRateOfChangeAlarmType_HighLimit,10365,Variable NonExclusiveRateOfChangeAlarmType_LowLimit,10366,Variable NonExclusiveRateOfChangeAlarmType_LowLowLimit,10367,Variable NonExclusiveDeviationAlarmType,10368,ObjectType NonExclusiveDeviationAlarmType_EventId,10369,Variable NonExclusiveDeviationAlarmType_EventType,10370,Variable NonExclusiveDeviationAlarmType_SourceNode,10371,Variable NonExclusiveDeviationAlarmType_SourceName,10372,Variable NonExclusiveDeviationAlarmType_Time,10373,Variable NonExclusiveDeviationAlarmType_ReceiveTime,10374,Variable NonExclusiveDeviationAlarmType_LocalTime,10375,Variable NonExclusiveDeviationAlarmType_Message,10376,Variable NonExclusiveDeviationAlarmType_Severity,10377,Variable NonExclusiveDeviationAlarmType_ConditionName,10378,Variable NonExclusiveDeviationAlarmType_BranchId,10379,Variable NonExclusiveDeviationAlarmType_Retain,10380,Variable NonExclusiveDeviationAlarmType_EnabledState,10381,Variable NonExclusiveDeviationAlarmType_EnabledState_Id,10382,Variable NonExclusiveDeviationAlarmType_EnabledState_Name,10383,Variable NonExclusiveDeviationAlarmType_EnabledState_Number,10384,Variable NonExclusiveDeviationAlarmType_EnabledState_EffectiveDisplayName,10385,Variable NonExclusiveDeviationAlarmType_EnabledState_TransitionTime,10386,Variable NonExclusiveDeviationAlarmType_EnabledState_EffectiveTransitionTime,10387,Variable NonExclusiveDeviationAlarmType_EnabledState_TrueState,10388,Variable NonExclusiveDeviationAlarmType_EnabledState_FalseState,10389,Variable NonExclusiveDeviationAlarmType_Quality,10390,Variable NonExclusiveDeviationAlarmType_Quality_SourceTimestamp,10391,Variable NonExclusiveDeviationAlarmType_LastSeverity,10392,Variable NonExclusiveDeviationAlarmType_LastSeverity_SourceTimestamp,10393,Variable NonExclusiveDeviationAlarmType_Comment,10394,Variable NonExclusiveDeviationAlarmType_Comment_SourceTimestamp,10395,Variable NonExclusiveDeviationAlarmType_ClientUserId,10396,Variable NonExclusiveDeviationAlarmType_Enable,10397,Method NonExclusiveDeviationAlarmType_Disable,10398,Method NonExclusiveDeviationAlarmType_AddComment,10399,Method NonExclusiveDeviationAlarmType_AddComment_InputArguments,10400,Variable NonExclusiveDeviationAlarmType_ConditionRefresh,10401,Method NonExclusiveDeviationAlarmType_ConditionRefresh_InputArguments,10402,Variable NonExclusiveDeviationAlarmType_AckedState,10403,Variable NonExclusiveDeviationAlarmType_AckedState_Id,10404,Variable NonExclusiveDeviationAlarmType_AckedState_Name,10405,Variable NonExclusiveDeviationAlarmType_AckedState_Number,10406,Variable NonExclusiveDeviationAlarmType_AckedState_EffectiveDisplayName,10407,Variable NonExclusiveDeviationAlarmType_AckedState_TransitionTime,10408,Variable NonExclusiveDeviationAlarmType_AckedState_EffectiveTransitionTime,10409,Variable NonExclusiveDeviationAlarmType_AckedState_TrueState,10410,Variable NonExclusiveDeviationAlarmType_AckedState_FalseState,10411,Variable NonExclusiveDeviationAlarmType_ConfirmedState,10412,Variable NonExclusiveDeviationAlarmType_ConfirmedState_Id,10413,Variable NonExclusiveDeviationAlarmType_ConfirmedState_Name,10414,Variable NonExclusiveDeviationAlarmType_ConfirmedState_Number,10415,Variable NonExclusiveDeviationAlarmType_ConfirmedState_EffectiveDisplayName,10416,Variable NonExclusiveDeviationAlarmType_ConfirmedState_TransitionTime,10417,Variable NonExclusiveDeviationAlarmType_ConfirmedState_EffectiveTransitionTime,10418,Variable NonExclusiveDeviationAlarmType_ConfirmedState_TrueState,10419,Variable NonExclusiveDeviationAlarmType_ConfirmedState_FalseState,10420,Variable NonExclusiveDeviationAlarmType_Acknowledge,10421,Method NonExclusiveDeviationAlarmType_Acknowledge_InputArguments,10422,Variable NonExclusiveDeviationAlarmType_Confirm,10423,Method NonExclusiveDeviationAlarmType_Confirm_InputArguments,10424,Variable NonExclusiveDeviationAlarmType_ActiveState,10425,Variable NonExclusiveDeviationAlarmType_ActiveState_Id,10426,Variable NonExclusiveDeviationAlarmType_ActiveState_Name,10427,Variable NonExclusiveDeviationAlarmType_ActiveState_Number,10428,Variable NonExclusiveDeviationAlarmType_ActiveState_EffectiveDisplayName,10429,Variable NonExclusiveDeviationAlarmType_ActiveState_TransitionTime,10430,Variable NonExclusiveDeviationAlarmType_ActiveState_EffectiveTransitionTime,10431,Variable NonExclusiveDeviationAlarmType_ActiveState_TrueState,10432,Variable NonExclusiveDeviationAlarmType_ActiveState_FalseState,10433,Variable NonExclusiveDeviationAlarmType_SuppressedState,10434,Variable NonExclusiveDeviationAlarmType_SuppressedState_Id,10435,Variable NonExclusiveDeviationAlarmType_SuppressedState_Name,10436,Variable NonExclusiveDeviationAlarmType_SuppressedState_Number,10437,Variable NonExclusiveDeviationAlarmType_SuppressedState_EffectiveDisplayName,10438,Variable NonExclusiveDeviationAlarmType_SuppressedState_TransitionTime,10439,Variable NonExclusiveDeviationAlarmType_SuppressedState_EffectiveTransitionTime,10440,Variable NonExclusiveDeviationAlarmType_SuppressedState_TrueState,10441,Variable NonExclusiveDeviationAlarmType_SuppressedState_FalseState,10442,Variable NonExclusiveDeviationAlarmType_ShelvingState,10443,Object NonExclusiveDeviationAlarmType_ShelvingState_CurrentState,10444,Variable NonExclusiveDeviationAlarmType_ShelvingState_CurrentState_Id,10445,Variable NonExclusiveDeviationAlarmType_ShelvingState_CurrentState_Name,10446,Variable NonExclusiveDeviationAlarmType_ShelvingState_CurrentState_Number,10447,Variable NonExclusiveDeviationAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,10448,Variable NonExclusiveDeviationAlarmType_ShelvingState_LastTransition,10449,Variable NonExclusiveDeviationAlarmType_ShelvingState_LastTransition_Id,10450,Variable NonExclusiveDeviationAlarmType_ShelvingState_LastTransition_Name,10451,Variable NonExclusiveDeviationAlarmType_ShelvingState_LastTransition_Number,10452,Variable NonExclusiveDeviationAlarmType_ShelvingState_LastTransition_TransitionTime,10453,Variable NonExclusiveDeviationAlarmType_ShelvingState_UnshelveTime,10454,Variable NonExclusiveDeviationAlarmType_ShelvingState_Unshelve,10476,Method NonExclusiveDeviationAlarmType_ShelvingState_OneShotShelve,10477,Method NonExclusiveDeviationAlarmType_ShelvingState_TimedShelve,10478,Method NonExclusiveDeviationAlarmType_ShelvingState_TimedShelve_InputArguments,10479,Variable NonExclusiveDeviationAlarmType_SuppressedOrShelved,10480,Variable NonExclusiveDeviationAlarmType_MaxTimeShelved,10481,Variable NonExclusiveDeviationAlarmType_HighHighState,10482,Variable NonExclusiveDeviationAlarmType_HighHighState_Id,10483,Variable NonExclusiveDeviationAlarmType_HighHighState_Name,10484,Variable NonExclusiveDeviationAlarmType_HighHighState_Number,10485,Variable NonExclusiveDeviationAlarmType_HighHighState_EffectiveDisplayName,10486,Variable NonExclusiveDeviationAlarmType_HighHighState_TransitionTime,10487,Variable NonExclusiveDeviationAlarmType_HighHighState_EffectiveTransitionTime,10488,Variable NonExclusiveDeviationAlarmType_HighHighState_TrueState,10489,Variable NonExclusiveDeviationAlarmType_HighHighState_FalseState,10490,Variable NonExclusiveDeviationAlarmType_HighState,10491,Variable NonExclusiveDeviationAlarmType_HighState_Id,10492,Variable NonExclusiveDeviationAlarmType_HighState_Name,10493,Variable NonExclusiveDeviationAlarmType_HighState_Number,10494,Variable NonExclusiveDeviationAlarmType_HighState_EffectiveDisplayName,10495,Variable NonExclusiveDeviationAlarmType_HighState_TransitionTime,10496,Variable NonExclusiveDeviationAlarmType_HighState_EffectiveTransitionTime,10497,Variable NonExclusiveDeviationAlarmType_HighState_TrueState,10498,Variable NonExclusiveDeviationAlarmType_HighState_FalseState,10499,Variable NonExclusiveDeviationAlarmType_LowState,10500,Variable NonExclusiveDeviationAlarmType_LowState_Id,10501,Variable NonExclusiveDeviationAlarmType_LowState_Name,10502,Variable NonExclusiveDeviationAlarmType_LowState_Number,10503,Variable NonExclusiveDeviationAlarmType_LowState_EffectiveDisplayName,10504,Variable NonExclusiveDeviationAlarmType_LowState_TransitionTime,10505,Variable NonExclusiveDeviationAlarmType_LowState_EffectiveTransitionTime,10506,Variable NonExclusiveDeviationAlarmType_LowState_TrueState,10507,Variable NonExclusiveDeviationAlarmType_LowState_FalseState,10508,Variable NonExclusiveDeviationAlarmType_LowLowState,10509,Variable NonExclusiveDeviationAlarmType_LowLowState_Id,10510,Variable NonExclusiveDeviationAlarmType_LowLowState_Name,10511,Variable NonExclusiveDeviationAlarmType_LowLowState_Number,10512,Variable NonExclusiveDeviationAlarmType_LowLowState_EffectiveDisplayName,10513,Variable NonExclusiveDeviationAlarmType_LowLowState_TransitionTime,10514,Variable NonExclusiveDeviationAlarmType_LowLowState_EffectiveTransitionTime,10515,Variable NonExclusiveDeviationAlarmType_LowLowState_TrueState,10516,Variable NonExclusiveDeviationAlarmType_LowLowState_FalseState,10517,Variable NonExclusiveDeviationAlarmType_HighHighLimit,10518,Variable NonExclusiveDeviationAlarmType_HighLimit,10519,Variable NonExclusiveDeviationAlarmType_LowLimit,10520,Variable NonExclusiveDeviationAlarmType_LowLowLimit,10521,Variable NonExclusiveDeviationAlarmType_SetpointNode,10522,Variable DiscreteAlarmType,10523,ObjectType DiscreteAlarmType_EventId,10524,Variable DiscreteAlarmType_EventType,10525,Variable DiscreteAlarmType_SourceNode,10526,Variable DiscreteAlarmType_SourceName,10527,Variable DiscreteAlarmType_Time,10528,Variable DiscreteAlarmType_ReceiveTime,10529,Variable DiscreteAlarmType_LocalTime,10530,Variable DiscreteAlarmType_Message,10531,Variable DiscreteAlarmType_Severity,10532,Variable DiscreteAlarmType_ConditionName,10533,Variable DiscreteAlarmType_BranchId,10534,Variable DiscreteAlarmType_Retain,10535,Variable DiscreteAlarmType_EnabledState,10536,Variable DiscreteAlarmType_EnabledState_Id,10537,Variable DiscreteAlarmType_EnabledState_Name,10538,Variable DiscreteAlarmType_EnabledState_Number,10539,Variable DiscreteAlarmType_EnabledState_EffectiveDisplayName,10540,Variable DiscreteAlarmType_EnabledState_TransitionTime,10541,Variable DiscreteAlarmType_EnabledState_EffectiveTransitionTime,10542,Variable DiscreteAlarmType_EnabledState_TrueState,10543,Variable DiscreteAlarmType_EnabledState_FalseState,10544,Variable DiscreteAlarmType_Quality,10545,Variable DiscreteAlarmType_Quality_SourceTimestamp,10546,Variable DiscreteAlarmType_LastSeverity,10547,Variable DiscreteAlarmType_LastSeverity_SourceTimestamp,10548,Variable DiscreteAlarmType_Comment,10549,Variable DiscreteAlarmType_Comment_SourceTimestamp,10550,Variable DiscreteAlarmType_ClientUserId,10551,Variable DiscreteAlarmType_Enable,10552,Method DiscreteAlarmType_Disable,10553,Method DiscreteAlarmType_AddComment,10554,Method DiscreteAlarmType_AddComment_InputArguments,10555,Variable DiscreteAlarmType_ConditionRefresh,10556,Method DiscreteAlarmType_ConditionRefresh_InputArguments,10557,Variable DiscreteAlarmType_AckedState,10558,Variable DiscreteAlarmType_AckedState_Id,10559,Variable DiscreteAlarmType_AckedState_Name,10560,Variable DiscreteAlarmType_AckedState_Number,10561,Variable DiscreteAlarmType_AckedState_EffectiveDisplayName,10562,Variable DiscreteAlarmType_AckedState_TransitionTime,10563,Variable DiscreteAlarmType_AckedState_EffectiveTransitionTime,10564,Variable DiscreteAlarmType_AckedState_TrueState,10565,Variable DiscreteAlarmType_AckedState_FalseState,10566,Variable DiscreteAlarmType_ConfirmedState,10567,Variable DiscreteAlarmType_ConfirmedState_Id,10568,Variable DiscreteAlarmType_ConfirmedState_Name,10569,Variable DiscreteAlarmType_ConfirmedState_Number,10570,Variable DiscreteAlarmType_ConfirmedState_EffectiveDisplayName,10571,Variable DiscreteAlarmType_ConfirmedState_TransitionTime,10572,Variable DiscreteAlarmType_ConfirmedState_EffectiveTransitionTime,10573,Variable DiscreteAlarmType_ConfirmedState_TrueState,10574,Variable DiscreteAlarmType_ConfirmedState_FalseState,10575,Variable DiscreteAlarmType_Acknowledge,10576,Method DiscreteAlarmType_Acknowledge_InputArguments,10577,Variable DiscreteAlarmType_Confirm,10578,Method DiscreteAlarmType_Confirm_InputArguments,10579,Variable DiscreteAlarmType_ActiveState,10580,Variable DiscreteAlarmType_ActiveState_Id,10581,Variable DiscreteAlarmType_ActiveState_Name,10582,Variable DiscreteAlarmType_ActiveState_Number,10583,Variable DiscreteAlarmType_ActiveState_EffectiveDisplayName,10584,Variable DiscreteAlarmType_ActiveState_TransitionTime,10585,Variable DiscreteAlarmType_ActiveState_EffectiveTransitionTime,10586,Variable DiscreteAlarmType_ActiveState_TrueState,10587,Variable DiscreteAlarmType_ActiveState_FalseState,10588,Variable DiscreteAlarmType_SuppressedState,10589,Variable DiscreteAlarmType_SuppressedState_Id,10590,Variable DiscreteAlarmType_SuppressedState_Name,10591,Variable DiscreteAlarmType_SuppressedState_Number,10592,Variable DiscreteAlarmType_SuppressedState_EffectiveDisplayName,10593,Variable DiscreteAlarmType_SuppressedState_TransitionTime,10594,Variable DiscreteAlarmType_SuppressedState_EffectiveTransitionTime,10595,Variable DiscreteAlarmType_SuppressedState_TrueState,10596,Variable DiscreteAlarmType_SuppressedState_FalseState,10597,Variable DiscreteAlarmType_ShelvingState,10598,Object DiscreteAlarmType_ShelvingState_CurrentState,10599,Variable DiscreteAlarmType_ShelvingState_CurrentState_Id,10600,Variable DiscreteAlarmType_ShelvingState_CurrentState_Name,10601,Variable DiscreteAlarmType_ShelvingState_CurrentState_Number,10602,Variable DiscreteAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,10603,Variable DiscreteAlarmType_ShelvingState_LastTransition,10604,Variable DiscreteAlarmType_ShelvingState_LastTransition_Id,10605,Variable DiscreteAlarmType_ShelvingState_LastTransition_Name,10606,Variable DiscreteAlarmType_ShelvingState_LastTransition_Number,10607,Variable DiscreteAlarmType_ShelvingState_LastTransition_TransitionTime,10608,Variable DiscreteAlarmType_ShelvingState_UnshelveTime,10609,Variable DiscreteAlarmType_ShelvingState_Unshelve,10631,Method DiscreteAlarmType_ShelvingState_OneShotShelve,10632,Method DiscreteAlarmType_ShelvingState_TimedShelve,10633,Method DiscreteAlarmType_ShelvingState_TimedShelve_InputArguments,10634,Variable DiscreteAlarmType_SuppressedOrShelved,10635,Variable DiscreteAlarmType_MaxTimeShelved,10636,Variable OffNormalAlarmType,10637,ObjectType OffNormalAlarmType_EventId,10638,Variable OffNormalAlarmType_EventType,10639,Variable OffNormalAlarmType_SourceNode,10640,Variable OffNormalAlarmType_SourceName,10641,Variable OffNormalAlarmType_Time,10642,Variable OffNormalAlarmType_ReceiveTime,10643,Variable OffNormalAlarmType_LocalTime,10644,Variable OffNormalAlarmType_Message,10645,Variable OffNormalAlarmType_Severity,10646,Variable OffNormalAlarmType_ConditionName,10647,Variable OffNormalAlarmType_BranchId,10648,Variable OffNormalAlarmType_Retain,10649,Variable OffNormalAlarmType_EnabledState,10650,Variable OffNormalAlarmType_EnabledState_Id,10651,Variable OffNormalAlarmType_EnabledState_Name,10652,Variable OffNormalAlarmType_EnabledState_Number,10653,Variable OffNormalAlarmType_EnabledState_EffectiveDisplayName,10654,Variable OffNormalAlarmType_EnabledState_TransitionTime,10655,Variable OffNormalAlarmType_EnabledState_EffectiveTransitionTime,10656,Variable OffNormalAlarmType_EnabledState_TrueState,10657,Variable OffNormalAlarmType_EnabledState_FalseState,10658,Variable OffNormalAlarmType_Quality,10659,Variable OffNormalAlarmType_Quality_SourceTimestamp,10660,Variable OffNormalAlarmType_LastSeverity,10661,Variable OffNormalAlarmType_LastSeverity_SourceTimestamp,10662,Variable OffNormalAlarmType_Comment,10663,Variable OffNormalAlarmType_Comment_SourceTimestamp,10664,Variable OffNormalAlarmType_ClientUserId,10665,Variable OffNormalAlarmType_Enable,10666,Method OffNormalAlarmType_Disable,10667,Method OffNormalAlarmType_AddComment,10668,Method OffNormalAlarmType_AddComment_InputArguments,10669,Variable OffNormalAlarmType_ConditionRefresh,10670,Method OffNormalAlarmType_ConditionRefresh_InputArguments,10671,Variable OffNormalAlarmType_AckedState,10672,Variable OffNormalAlarmType_AckedState_Id,10673,Variable OffNormalAlarmType_AckedState_Name,10674,Variable OffNormalAlarmType_AckedState_Number,10675,Variable OffNormalAlarmType_AckedState_EffectiveDisplayName,10676,Variable OffNormalAlarmType_AckedState_TransitionTime,10677,Variable OffNormalAlarmType_AckedState_EffectiveTransitionTime,10678,Variable OffNormalAlarmType_AckedState_TrueState,10679,Variable OffNormalAlarmType_AckedState_FalseState,10680,Variable OffNormalAlarmType_ConfirmedState,10681,Variable OffNormalAlarmType_ConfirmedState_Id,10682,Variable OffNormalAlarmType_ConfirmedState_Name,10683,Variable OffNormalAlarmType_ConfirmedState_Number,10684,Variable OffNormalAlarmType_ConfirmedState_EffectiveDisplayName,10685,Variable OffNormalAlarmType_ConfirmedState_TransitionTime,10686,Variable OffNormalAlarmType_ConfirmedState_EffectiveTransitionTime,10687,Variable OffNormalAlarmType_ConfirmedState_TrueState,10688,Variable OffNormalAlarmType_ConfirmedState_FalseState,10689,Variable OffNormalAlarmType_Acknowledge,10690,Method OffNormalAlarmType_Acknowledge_InputArguments,10691,Variable OffNormalAlarmType_Confirm,10692,Method OffNormalAlarmType_Confirm_InputArguments,10693,Variable OffNormalAlarmType_ActiveState,10694,Variable OffNormalAlarmType_ActiveState_Id,10695,Variable OffNormalAlarmType_ActiveState_Name,10696,Variable OffNormalAlarmType_ActiveState_Number,10697,Variable OffNormalAlarmType_ActiveState_EffectiveDisplayName,10698,Variable OffNormalAlarmType_ActiveState_TransitionTime,10699,Variable OffNormalAlarmType_ActiveState_EffectiveTransitionTime,10700,Variable OffNormalAlarmType_ActiveState_TrueState,10701,Variable OffNormalAlarmType_ActiveState_FalseState,10702,Variable OffNormalAlarmType_SuppressedState,10703,Variable OffNormalAlarmType_SuppressedState_Id,10704,Variable OffNormalAlarmType_SuppressedState_Name,10705,Variable OffNormalAlarmType_SuppressedState_Number,10706,Variable OffNormalAlarmType_SuppressedState_EffectiveDisplayName,10707,Variable OffNormalAlarmType_SuppressedState_TransitionTime,10708,Variable OffNormalAlarmType_SuppressedState_EffectiveTransitionTime,10709,Variable OffNormalAlarmType_SuppressedState_TrueState,10710,Variable OffNormalAlarmType_SuppressedState_FalseState,10711,Variable OffNormalAlarmType_ShelvingState,10712,Object OffNormalAlarmType_ShelvingState_CurrentState,10713,Variable OffNormalAlarmType_ShelvingState_CurrentState_Id,10714,Variable OffNormalAlarmType_ShelvingState_CurrentState_Name,10715,Variable OffNormalAlarmType_ShelvingState_CurrentState_Number,10716,Variable OffNormalAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,10717,Variable OffNormalAlarmType_ShelvingState_LastTransition,10718,Variable OffNormalAlarmType_ShelvingState_LastTransition_Id,10719,Variable OffNormalAlarmType_ShelvingState_LastTransition_Name,10720,Variable OffNormalAlarmType_ShelvingState_LastTransition_Number,10721,Variable OffNormalAlarmType_ShelvingState_LastTransition_TransitionTime,10722,Variable OffNormalAlarmType_ShelvingState_UnshelveTime,10723,Variable OffNormalAlarmType_ShelvingState_Unshelve,10745,Method OffNormalAlarmType_ShelvingState_OneShotShelve,10746,Method OffNormalAlarmType_ShelvingState_TimedShelve,10747,Method OffNormalAlarmType_ShelvingState_TimedShelve_InputArguments,10748,Variable OffNormalAlarmType_SuppressedOrShelved,10749,Variable OffNormalAlarmType_MaxTimeShelved,10750,Variable TripAlarmType,10751,ObjectType TripAlarmType_EventId,10752,Variable TripAlarmType_EventType,10753,Variable TripAlarmType_SourceNode,10754,Variable TripAlarmType_SourceName,10755,Variable TripAlarmType_Time,10756,Variable TripAlarmType_ReceiveTime,10757,Variable TripAlarmType_LocalTime,10758,Variable TripAlarmType_Message,10759,Variable TripAlarmType_Severity,10760,Variable TripAlarmType_ConditionName,10761,Variable TripAlarmType_BranchId,10762,Variable TripAlarmType_Retain,10763,Variable TripAlarmType_EnabledState,10764,Variable TripAlarmType_EnabledState_Id,10765,Variable TripAlarmType_EnabledState_Name,10766,Variable TripAlarmType_EnabledState_Number,10767,Variable TripAlarmType_EnabledState_EffectiveDisplayName,10768,Variable TripAlarmType_EnabledState_TransitionTime,10769,Variable TripAlarmType_EnabledState_EffectiveTransitionTime,10770,Variable TripAlarmType_EnabledState_TrueState,10771,Variable TripAlarmType_EnabledState_FalseState,10772,Variable TripAlarmType_Quality,10773,Variable TripAlarmType_Quality_SourceTimestamp,10774,Variable TripAlarmType_LastSeverity,10775,Variable TripAlarmType_LastSeverity_SourceTimestamp,10776,Variable TripAlarmType_Comment,10777,Variable TripAlarmType_Comment_SourceTimestamp,10778,Variable TripAlarmType_ClientUserId,10779,Variable TripAlarmType_Enable,10780,Method TripAlarmType_Disable,10781,Method TripAlarmType_AddComment,10782,Method TripAlarmType_AddComment_InputArguments,10783,Variable TripAlarmType_ConditionRefresh,10784,Method TripAlarmType_ConditionRefresh_InputArguments,10785,Variable TripAlarmType_AckedState,10786,Variable TripAlarmType_AckedState_Id,10787,Variable TripAlarmType_AckedState_Name,10788,Variable TripAlarmType_AckedState_Number,10789,Variable TripAlarmType_AckedState_EffectiveDisplayName,10790,Variable TripAlarmType_AckedState_TransitionTime,10791,Variable TripAlarmType_AckedState_EffectiveTransitionTime,10792,Variable TripAlarmType_AckedState_TrueState,10793,Variable TripAlarmType_AckedState_FalseState,10794,Variable TripAlarmType_ConfirmedState,10795,Variable TripAlarmType_ConfirmedState_Id,10796,Variable TripAlarmType_ConfirmedState_Name,10797,Variable TripAlarmType_ConfirmedState_Number,10798,Variable TripAlarmType_ConfirmedState_EffectiveDisplayName,10799,Variable TripAlarmType_ConfirmedState_TransitionTime,10800,Variable TripAlarmType_ConfirmedState_EffectiveTransitionTime,10801,Variable TripAlarmType_ConfirmedState_TrueState,10802,Variable TripAlarmType_ConfirmedState_FalseState,10803,Variable TripAlarmType_Acknowledge,10804,Method TripAlarmType_Acknowledge_InputArguments,10805,Variable TripAlarmType_Confirm,10806,Method TripAlarmType_Confirm_InputArguments,10807,Variable TripAlarmType_ActiveState,10808,Variable TripAlarmType_ActiveState_Id,10809,Variable TripAlarmType_ActiveState_Name,10810,Variable TripAlarmType_ActiveState_Number,10811,Variable TripAlarmType_ActiveState_EffectiveDisplayName,10812,Variable TripAlarmType_ActiveState_TransitionTime,10813,Variable TripAlarmType_ActiveState_EffectiveTransitionTime,10814,Variable TripAlarmType_ActiveState_TrueState,10815,Variable TripAlarmType_ActiveState_FalseState,10816,Variable TripAlarmType_SuppressedState,10817,Variable TripAlarmType_SuppressedState_Id,10818,Variable TripAlarmType_SuppressedState_Name,10819,Variable TripAlarmType_SuppressedState_Number,10820,Variable TripAlarmType_SuppressedState_EffectiveDisplayName,10821,Variable TripAlarmType_SuppressedState_TransitionTime,10822,Variable TripAlarmType_SuppressedState_EffectiveTransitionTime,10823,Variable TripAlarmType_SuppressedState_TrueState,10824,Variable TripAlarmType_SuppressedState_FalseState,10825,Variable TripAlarmType_ShelvingState,10826,Object TripAlarmType_ShelvingState_CurrentState,10827,Variable TripAlarmType_ShelvingState_CurrentState_Id,10828,Variable TripAlarmType_ShelvingState_CurrentState_Name,10829,Variable TripAlarmType_ShelvingState_CurrentState_Number,10830,Variable TripAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,10831,Variable TripAlarmType_ShelvingState_LastTransition,10832,Variable TripAlarmType_ShelvingState_LastTransition_Id,10833,Variable TripAlarmType_ShelvingState_LastTransition_Name,10834,Variable TripAlarmType_ShelvingState_LastTransition_Number,10835,Variable TripAlarmType_ShelvingState_LastTransition_TransitionTime,10836,Variable TripAlarmType_ShelvingState_UnshelveTime,10837,Variable TripAlarmType_ShelvingState_Unshelve,10859,Method TripAlarmType_ShelvingState_OneShotShelve,10860,Method TripAlarmType_ShelvingState_TimedShelve,10861,Method TripAlarmType_ShelvingState_TimedShelve_InputArguments,10862,Variable TripAlarmType_SuppressedOrShelved,10863,Variable TripAlarmType_MaxTimeShelved,10864,Variable AuditConditionShelvingEventType,11093,ObjectType AuditConditionShelvingEventType_EventId,11094,Variable AuditConditionShelvingEventType_EventType,11095,Variable AuditConditionShelvingEventType_SourceNode,11096,Variable AuditConditionShelvingEventType_SourceName,11097,Variable AuditConditionShelvingEventType_Time,11098,Variable AuditConditionShelvingEventType_ReceiveTime,11099,Variable AuditConditionShelvingEventType_LocalTime,11100,Variable AuditConditionShelvingEventType_Message,11101,Variable AuditConditionShelvingEventType_Severity,11102,Variable AuditConditionShelvingEventType_ActionTimeStamp,11103,Variable AuditConditionShelvingEventType_Status,11104,Variable AuditConditionShelvingEventType_ServerId,11105,Variable AuditConditionShelvingEventType_ClientAuditEntryId,11106,Variable AuditConditionShelvingEventType_ClientUserId,11107,Variable AuditConditionShelvingEventType_MethodId,11108,Variable AuditConditionShelvingEventType_InputArguments,11109,Variable TwoStateVariableType_TrueState,11110,Variable TwoStateVariableType_FalseState,11111,Variable ConditionType_ConditionClassId,11112,Variable ConditionType_ConditionClassName,11113,Variable DialogConditionType_ConditionClassId,11114,Variable DialogConditionType_ConditionClassName,11115,Variable AcknowledgeableConditionType_ConditionClassId,11116,Variable AcknowledgeableConditionType_ConditionClassName,11117,Variable AlarmConditionType_ConditionClassId,11118,Variable AlarmConditionType_ConditionClassName,11119,Variable AlarmConditionType_InputNode,11120,Variable LimitAlarmType_ConditionClassId,11121,Variable LimitAlarmType_ConditionClassName,11122,Variable LimitAlarmType_InputNode,11123,Variable LimitAlarmType_HighHighLimit,11124,Variable LimitAlarmType_HighLimit,11125,Variable LimitAlarmType_LowLimit,11126,Variable LimitAlarmType_LowLowLimit,11127,Variable ExclusiveLimitAlarmType_ConditionClassId,11128,Variable ExclusiveLimitAlarmType_ConditionClassName,11129,Variable ExclusiveLimitAlarmType_InputNode,11130,Variable ExclusiveLevelAlarmType_ConditionClassId,11131,Variable ExclusiveLevelAlarmType_ConditionClassName,11132,Variable ExclusiveLevelAlarmType_InputNode,11133,Variable ExclusiveRateOfChangeAlarmType_ConditionClassId,11134,Variable ExclusiveRateOfChangeAlarmType_ConditionClassName,11135,Variable ExclusiveRateOfChangeAlarmType_InputNode,11136,Variable ExclusiveDeviationAlarmType_ConditionClassId,11137,Variable ExclusiveDeviationAlarmType_ConditionClassName,11138,Variable ExclusiveDeviationAlarmType_InputNode,11139,Variable NonExclusiveLimitAlarmType_ConditionClassId,11140,Variable NonExclusiveLimitAlarmType_ConditionClassName,11141,Variable NonExclusiveLimitAlarmType_InputNode,11142,Variable NonExclusiveLevelAlarmType_ConditionClassId,11143,Variable NonExclusiveLevelAlarmType_ConditionClassName,11144,Variable NonExclusiveLevelAlarmType_InputNode,11145,Variable NonExclusiveRateOfChangeAlarmType_ConditionClassId,11146,Variable NonExclusiveRateOfChangeAlarmType_ConditionClassName,11147,Variable NonExclusiveRateOfChangeAlarmType_InputNode,11148,Variable NonExclusiveDeviationAlarmType_ConditionClassId,11149,Variable NonExclusiveDeviationAlarmType_ConditionClassName,11150,Variable NonExclusiveDeviationAlarmType_InputNode,11151,Variable DiscreteAlarmType_ConditionClassId,11152,Variable DiscreteAlarmType_ConditionClassName,11153,Variable DiscreteAlarmType_InputNode,11154,Variable OffNormalAlarmType_ConditionClassId,11155,Variable OffNormalAlarmType_ConditionClassName,11156,Variable OffNormalAlarmType_InputNode,11157,Variable OffNormalAlarmType_NormalState,11158,Variable TripAlarmType_ConditionClassId,11159,Variable TripAlarmType_ConditionClassName,11160,Variable TripAlarmType_InputNode,11161,Variable TripAlarmType_NormalState,11162,Variable BaseConditionClassType,11163,ObjectType ProcessConditionClassType,11164,ObjectType MaintenanceConditionClassType,11165,ObjectType SystemConditionClassType,11166,ObjectType HistoricalDataConfigurationType_AggregateConfiguration_TreatUncertainAsBad,11168,Variable HistoricalDataConfigurationType_AggregateConfiguration_PercentDataBad,11169,Variable HistoricalDataConfigurationType_AggregateConfiguration_PercentDataGood,11170,Variable HistoricalDataConfigurationType_AggregateConfiguration_UseSlopedExtrapolation,11171,Variable HistoryServerCapabilitiesType_AggregateFunctions,11172,Object AggregateConfigurationType,11187,ObjectType AggregateConfigurationType_TreatUncertainAsBad,11188,Variable AggregateConfigurationType_PercentDataBad,11189,Variable AggregateConfigurationType_PercentDataGood,11190,Variable AggregateConfigurationType_UseSlopedExtrapolation,11191,Variable HistoryServerCapabilities,11192,Object HistoryServerCapabilities_AccessHistoryDataCapability,11193,Variable HistoryServerCapabilities_InsertDataCapability,11196,Variable HistoryServerCapabilities_ReplaceDataCapability,11197,Variable HistoryServerCapabilities_UpdateDataCapability,11198,Variable HistoryServerCapabilities_DeleteRawCapability,11199,Variable HistoryServerCapabilities_DeleteAtTimeCapability,11200,Variable HistoryServerCapabilities_AggregateFunctions,11201,Object HAConfiguration,11202,Object HAConfiguration_AggregateConfiguration,11203,Object HAConfiguration_AggregateConfiguration_TreatUncertainAsBad,11204,Variable HAConfiguration_AggregateConfiguration_PercentDataBad,11205,Variable HAConfiguration_AggregateConfiguration_PercentDataGood,11206,Variable HAConfiguration_AggregateConfiguration_UseSlopedExtrapolation,11207,Variable HAConfiguration_Stepped,11208,Variable HAConfiguration_Definition,11209,Variable HAConfiguration_MaxTimeInterval,11210,Variable HAConfiguration_MinTimeInterval,11211,Variable HAConfiguration_ExceptionDeviation,11212,Variable HAConfiguration_ExceptionDeviationFormat,11213,Variable Annotations,11214,Variable HistoricalEventFilter,11215,Variable ModificationInfo,11216,DataType HistoryModifiedData,11217,DataType ModificationInfo_Encoding_DefaultXml,11218,Object HistoryModifiedData_Encoding_DefaultXml,11219,Object ModificationInfo_Encoding_DefaultBinary,11226,Object HistoryModifiedData_Encoding_DefaultBinary,11227,Object HistoryUpdateType,11234,DataType MultiStateValueDiscreteType,11238,VariableType MultiStateValueDiscreteType_Definition,11239,Variable MultiStateValueDiscreteType_ValuePrecision,11240,Variable MultiStateValueDiscreteType_EnumValues,11241,Variable HistoryServerCapabilities_AccessHistoryEventsCapability,11242,Variable HistoryServerCapabilitiesType_MaxReturnDataValues,11268,Variable HistoryServerCapabilitiesType_MaxReturnEventValues,11269,Variable HistoryServerCapabilitiesType_InsertAnnotationCapability,11270,Variable HistoryServerCapabilities_MaxReturnDataValues,11273,Variable HistoryServerCapabilities_MaxReturnEventValues,11274,Variable HistoryServerCapabilities_InsertAnnotationCapability,11275,Variable HistoryServerCapabilitiesType_InsertEventCapability,11278,Variable HistoryServerCapabilitiesType_ReplaceEventCapability,11279,Variable HistoryServerCapabilitiesType_UpdateEventCapability,11280,Variable HistoryServerCapabilities_InsertEventCapability,11281,Variable HistoryServerCapabilities_ReplaceEventCapability,11282,Variable HistoryServerCapabilities_UpdateEventCapability,11283,Variable AggregateFunction_TimeAverage2,11285,Object AggregateFunction_Minimum2,11286,Object AggregateFunction_Maximum2,11287,Object AggregateFunction_Range2,11288,Object AggregateFunction_WorstQuality2,11292,Object PerformUpdateType,11293,DataType UpdateStructureDataDetails,11295,DataType UpdateStructureDataDetails_Encoding_DefaultXml,11296,Object UpdateStructureDataDetails_Encoding_DefaultBinary,11300,Object AggregateFunction_Total2,11304,Object AggregateFunction_MinimumActualTime2,11305,Object AggregateFunction_MaximumActualTime2,11306,Object AggregateFunction_DurationInStateZero,11307,Object AggregateFunction_DurationInStateNonZero,11308,Object Server_ServerRedundancy_CurrentServerId,11312,Variable Server_ServerRedundancy_RedundantServerArray,11313,Variable Server_ServerRedundancy_ServerUriArray,11314,Variable ShelvedStateMachineType_UnshelvedToTimedShelved_TransitionNumber,11322,Variable ShelvedStateMachineType_UnshelvedToOneShotShelved_TransitionNumber,11323,Variable ShelvedStateMachineType_TimedShelvedToUnshelved_TransitionNumber,11324,Variable ShelvedStateMachineType_TimedShelvedToOneShotShelved_TransitionNumber,11325,Variable ShelvedStateMachineType_OneShotShelvedToUnshelved_TransitionNumber,11326,Variable ShelvedStateMachineType_OneShotShelvedToTimedShelved_TransitionNumber,11327,Variable ExclusiveLimitStateMachineType_LowLowToLow_TransitionNumber,11340,Variable ExclusiveLimitStateMachineType_LowToLowLow_TransitionNumber,11341,Variable ExclusiveLimitStateMachineType_HighHighToHigh_TransitionNumber,11342,Variable ExclusiveLimitStateMachineType_HighToHighHigh_TransitionNumber,11343,Variable AggregateFunction_StandardDeviationSample,11426,Object AggregateFunction_StandardDeviationPopulation,11427,Object AggregateFunction_VarianceSample,11428,Object AggregateFunction_VariancePopulation,11429,Object EnumStrings,11432,Variable ValueAsText,11433,Variable ProgressEventType,11436,ObjectType ProgressEventType_EventId,11437,Variable ProgressEventType_EventType,11438,Variable ProgressEventType_SourceNode,11439,Variable ProgressEventType_SourceName,11440,Variable ProgressEventType_Time,11441,Variable ProgressEventType_ReceiveTime,11442,Variable ProgressEventType_LocalTime,11443,Variable ProgressEventType_Message,11444,Variable ProgressEventType_Severity,11445,Variable SystemStatusChangeEventType,11446,ObjectType SystemStatusChangeEventType_EventId,11447,Variable SystemStatusChangeEventType_EventType,11448,Variable SystemStatusChangeEventType_SourceNode,11449,Variable SystemStatusChangeEventType_SourceName,11450,Variable SystemStatusChangeEventType_Time,11451,Variable SystemStatusChangeEventType_ReceiveTime,11452,Variable SystemStatusChangeEventType_LocalTime,11453,Variable SystemStatusChangeEventType_Message,11454,Variable SystemStatusChangeEventType_Severity,11455,Variable TransitionVariableType_EffectiveTransitionTime,11456,Variable FiniteTransitionVariableType_EffectiveTransitionTime,11457,Variable StateMachineType_LastTransition_EffectiveTransitionTime,11458,Variable FiniteStateMachineType_LastTransition_EffectiveTransitionTime,11459,Variable TransitionEventType_Transition_EffectiveTransitionTime,11460,Variable MultiStateValueDiscreteType_ValueAsText,11461,Variable ProgramTransitionEventType_Transition_EffectiveTransitionTime,11462,Variable ProgramTransitionAuditEventType_Transition_EffectiveTransitionTime,11463,Variable ProgramStateMachineType_LastTransition_EffectiveTransitionTime,11464,Variable ShelvedStateMachineType_LastTransition_EffectiveTransitionTime,11465,Variable AlarmConditionType_ShelvingState_LastTransition_EffectiveTransitionTime,11466,Variable LimitAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11467,Variable ExclusiveLimitStateMachineType_LastTransition_EffectiveTransitionTime,11468,Variable ExclusiveLimitAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11469,Variable ExclusiveLimitAlarmType_LimitState_LastTransition_EffectiveTransitionTime,11470,Variable ExclusiveLevelAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11471,Variable ExclusiveLevelAlarmType_LimitState_LastTransition_EffectiveTransitionTime,11472,Variable ExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11473,Variable ExclusiveRateOfChangeAlarmType_LimitState_LastTransition_EffectiveTransitionTime,11474,Variable ExclusiveDeviationAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11475,Variable ExclusiveDeviationAlarmType_LimitState_LastTransition_EffectiveTransitionTime,11476,Variable NonExclusiveLimitAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11477,Variable NonExclusiveLevelAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11478,Variable NonExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11479,Variable NonExclusiveDeviationAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11480,Variable DiscreteAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11481,Variable OffNormalAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11482,Variable TripAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11483,Variable AuditActivateSessionEventType_SecureChannelId,11485,Variable OptionSetType,11487,VariableType OptionSetType_OptionSetValues,11488,Variable ServerType_GetMonitoredItems,11489,Method ServerType_GetMonitoredItems_InputArguments,11490,Variable ServerType_GetMonitoredItems_OutputArguments,11491,Variable Server_GetMonitoredItems,11492,Method Server_GetMonitoredItems_InputArguments,11493,Variable Server_GetMonitoredItems_OutputArguments,11494,Variable GetMonitoredItemsMethodType,11495,Method GetMonitoredItemsMethodType_InputArguments,11496,Variable GetMonitoredItemsMethodType_OutputArguments,11497,Variable MaxStringLength,11498,Variable HistoricalDataConfigurationType_StartOfArchive,11499,Variable HistoricalDataConfigurationType_StartOfOnlineArchive,11500,Variable HistoryServerCapabilitiesType_DeleteEventCapability,11501,Variable HistoryServerCapabilities_DeleteEventCapability,11502,Variable HAConfiguration_StartOfArchive,11503,Variable HAConfiguration_StartOfOnlineArchive,11504,Variable AggregateFunction_StartBound,11505,Object AggregateFunction_EndBound,11506,Object AggregateFunction_DeltaBounds,11507,Object ModellingRule_OptionalPlaceholder,11508,Object ModellingRule_OptionalPlaceholder_NamingRule,11509,Variable ModellingRule_MandatoryPlaceholder,11510,Object ModellingRule_MandatoryPlaceholder_NamingRule,11511,Variable MaxArrayLength,11512,Variable EngineeringUnits,11513,Variable ServerType_ServerCapabilities_MaxArrayLength,11514,Variable ServerType_ServerCapabilities_MaxStringLength,11515,Variable ServerType_ServerCapabilities_OperationLimits,11516,Object ServerType_ServerCapabilities_OperationLimits_MaxNodesPerRead,11517,Variable ServerType_ServerCapabilities_OperationLimits_MaxNodesPerWrite,11519,Variable ServerType_ServerCapabilities_OperationLimits_MaxNodesPerMethodCall,11521,Variable ServerType_ServerCapabilities_OperationLimits_MaxNodesPerBrowse,11522,Variable ServerType_ServerCapabilities_OperationLimits_MaxNodesPerRegisterNodes,11523,Variable ServerType_ServerCapabilities_OperationLimits_MaxNodesPerTranslateBrowsePathsToNodeIds,11524,Variable ServerType_ServerCapabilities_OperationLimits_MaxNodesPerNodeManagement,11525,Variable ServerType_ServerCapabilities_OperationLimits_MaxMonitoredItemsPerCall,11526,Variable ServerType_Namespaces,11527,Object ServerType_Namespaces_AddressSpaceFile,11528,Object ServerType_Namespaces_AddressSpaceFile_Size,11529,Variable ServerType_Namespaces_AddressSpaceFile_OpenCount,11532,Variable ServerType_Namespaces_AddressSpaceFile_Open,11533,Method ServerType_Namespaces_AddressSpaceFile_Open_InputArguments,11534,Variable ServerType_Namespaces_AddressSpaceFile_Open_OutputArguments,11535,Variable ServerType_Namespaces_AddressSpaceFile_Close,11536,Method ServerType_Namespaces_AddressSpaceFile_Close_InputArguments,11537,Variable ServerType_Namespaces_AddressSpaceFile_Read,11538,Method ServerType_Namespaces_AddressSpaceFile_Read_InputArguments,11539,Variable ServerType_Namespaces_AddressSpaceFile_Read_OutputArguments,11540,Variable ServerType_Namespaces_AddressSpaceFile_Write,11541,Method ServerType_Namespaces_AddressSpaceFile_Write_InputArguments,11542,Variable ServerType_Namespaces_AddressSpaceFile_GetPosition,11543,Method ServerType_Namespaces_AddressSpaceFile_GetPosition_InputArguments,11544,Variable ServerType_Namespaces_AddressSpaceFile_GetPosition_OutputArguments,11545,Variable ServerType_Namespaces_AddressSpaceFile_SetPosition,11546,Method ServerType_Namespaces_AddressSpaceFile_SetPosition_InputArguments,11547,Variable ServerType_Namespaces_AddressSpaceFile_ExportNamespace,11548,Method ServerCapabilitiesType_MaxArrayLength,11549,Variable ServerCapabilitiesType_MaxStringLength,11550,Variable ServerCapabilitiesType_OperationLimits,11551,Object ServerCapabilitiesType_OperationLimits_MaxNodesPerRead,11552,Variable ServerCapabilitiesType_OperationLimits_MaxNodesPerWrite,11554,Variable ServerCapabilitiesType_OperationLimits_MaxNodesPerMethodCall,11556,Variable ServerCapabilitiesType_OperationLimits_MaxNodesPerBrowse,11557,Variable ServerCapabilitiesType_OperationLimits_MaxNodesPerRegisterNodes,11558,Variable ServerCapabilitiesType_OperationLimits_MaxNodesPerTranslateBrowsePathsToNodeIds,11559,Variable ServerCapabilitiesType_OperationLimits_MaxNodesPerNodeManagement,11560,Variable ServerCapabilitiesType_OperationLimits_MaxMonitoredItemsPerCall,11561,Variable ServerCapabilitiesType_VendorCapability,11562,Variable OperationLimitsType,11564,ObjectType OperationLimitsType_MaxNodesPerRead,11565,Variable OperationLimitsType_MaxNodesPerWrite,11567,Variable OperationLimitsType_MaxNodesPerMethodCall,11569,Variable OperationLimitsType_MaxNodesPerBrowse,11570,Variable OperationLimitsType_MaxNodesPerRegisterNodes,11571,Variable OperationLimitsType_MaxNodesPerTranslateBrowsePathsToNodeIds,11572,Variable OperationLimitsType_MaxNodesPerNodeManagement,11573,Variable OperationLimitsType_MaxMonitoredItemsPerCall,11574,Variable FileType,11575,ObjectType FileType_Size,11576,Variable FileType_OpenCount,11579,Variable FileType_Open,11580,Method FileType_Open_InputArguments,11581,Variable FileType_Open_OutputArguments,11582,Variable FileType_Close,11583,Method FileType_Close_InputArguments,11584,Variable FileType_Read,11585,Method FileType_Read_InputArguments,11586,Variable FileType_Read_OutputArguments,11587,Variable FileType_Write,11588,Method FileType_Write_InputArguments,11589,Variable FileType_GetPosition,11590,Method FileType_GetPosition_InputArguments,11591,Variable FileType_GetPosition_OutputArguments,11592,Variable FileType_SetPosition,11593,Method FileType_SetPosition_InputArguments,11594,Variable AddressSpaceFileType,11595,ObjectType AddressSpaceFileType_Size,11596,Variable AddressSpaceFileType_OpenCount,11599,Variable AddressSpaceFileType_Open,11600,Method AddressSpaceFileType_Open_InputArguments,11601,Variable AddressSpaceFileType_Open_OutputArguments,11602,Variable AddressSpaceFileType_Close,11603,Method AddressSpaceFileType_Close_InputArguments,11604,Variable AddressSpaceFileType_Read,11605,Method AddressSpaceFileType_Read_InputArguments,11606,Variable AddressSpaceFileType_Read_OutputArguments,11607,Variable AddressSpaceFileType_Write,11608,Method AddressSpaceFileType_Write_InputArguments,11609,Variable AddressSpaceFileType_GetPosition,11610,Method AddressSpaceFileType_GetPosition_InputArguments,11611,Variable AddressSpaceFileType_GetPosition_OutputArguments,11612,Variable AddressSpaceFileType_SetPosition,11613,Method AddressSpaceFileType_SetPosition_InputArguments,11614,Variable AddressSpaceFileType_ExportNamespace,11615,Method NamespaceMetadataType,11616,ObjectType NamespaceMetadataType_NamespaceUri,11617,Variable NamespaceMetadataType_NamespaceVersion,11618,Variable NamespaceMetadataType_NamespacePublicationDate,11619,Variable NamespaceMetadataType_IsNamespaceSubset,11620,Variable NamespaceMetadataType_StaticNodeIdIdentifierTypes,11621,Variable NamespaceMetadataType_StaticNumericNodeIdRange,11622,Variable NamespaceMetadataType_StaticStringNodeIdPattern,11623,Variable NamespaceMetadataType_NamespaceFile,11624,Object NamespaceMetadataType_NamespaceFile_Size,11625,Variable NamespaceMetadataType_NamespaceFile_OpenCount,11628,Variable NamespaceMetadataType_NamespaceFile_Open,11629,Method NamespaceMetadataType_NamespaceFile_Open_InputArguments,11630,Variable NamespaceMetadataType_NamespaceFile_Open_OutputArguments,11631,Variable NamespaceMetadataType_NamespaceFile_Close,11632,Method NamespaceMetadataType_NamespaceFile_Close_InputArguments,11633,Variable NamespaceMetadataType_NamespaceFile_Read,11634,Method NamespaceMetadataType_NamespaceFile_Read_InputArguments,11635,Variable NamespaceMetadataType_NamespaceFile_Read_OutputArguments,11636,Variable NamespaceMetadataType_NamespaceFile_Write,11637,Method NamespaceMetadataType_NamespaceFile_Write_InputArguments,11638,Variable NamespaceMetadataType_NamespaceFile_GetPosition,11639,Method NamespaceMetadataType_NamespaceFile_GetPosition_InputArguments,11640,Variable NamespaceMetadataType_NamespaceFile_GetPosition_OutputArguments,11641,Variable NamespaceMetadataType_NamespaceFile_SetPosition,11642,Method NamespaceMetadataType_NamespaceFile_SetPosition_InputArguments,11643,Variable NamespaceMetadataType_NamespaceFile_ExportNamespace,11644,Method NamespacesType,11645,ObjectType NamespacesType_NamespaceIdentifier,11646,Object NamespacesType_NamespaceIdentifier_NamespaceUri,11647,Variable NamespacesType_NamespaceIdentifier_NamespaceVersion,11648,Variable NamespacesType_NamespaceIdentifier_NamespacePublicationDate,11649,Variable NamespacesType_NamespaceIdentifier_IsNamespaceSubset,11650,Variable NamespacesType_NamespaceIdentifier_StaticNodeIdIdentifierTypes,11651,Variable NamespacesType_NamespaceIdentifier_StaticNumericNodeIdRange,11652,Variable NamespacesType_NamespaceIdentifier_StaticStringNodeIdPattern,11653,Variable NamespacesType_NamespaceIdentifier_NamespaceFile,11654,Object NamespacesType_NamespaceIdentifier_NamespaceFile_Size,11655,Variable NamespacesType_NamespaceIdentifier_NamespaceFile_OpenCount,11658,Variable NamespacesType_NamespaceIdentifier_NamespaceFile_Open,11659,Method NamespacesType_NamespaceIdentifier_NamespaceFile_Open_InputArguments,11660,Variable NamespacesType_NamespaceIdentifier_NamespaceFile_Open_OutputArguments,11661,Variable NamespacesType_NamespaceIdentifier_NamespaceFile_Close,11662,Method NamespacesType_NamespaceIdentifier_NamespaceFile_Close_InputArguments,11663,Variable NamespacesType_NamespaceIdentifier_NamespaceFile_Read,11664,Method NamespacesType_NamespaceIdentifier_NamespaceFile_Read_InputArguments,11665,Variable NamespacesType_NamespaceIdentifier_NamespaceFile_Read_OutputArguments,11666,Variable NamespacesType_NamespaceIdentifier_NamespaceFile_Write,11667,Method NamespacesType_NamespaceIdentifier_NamespaceFile_Write_InputArguments,11668,Variable NamespacesType_NamespaceIdentifier_NamespaceFile_GetPosition,11669,Method NamespacesType_NamespaceIdentifier_NamespaceFile_GetPosition_InputArguments,11670,Variable NamespacesType_NamespaceIdentifier_NamespaceFile_GetPosition_OutputArguments,11671,Variable NamespacesType_NamespaceIdentifier_NamespaceFile_SetPosition,11672,Method NamespacesType_NamespaceIdentifier_NamespaceFile_SetPosition_InputArguments,11673,Variable NamespacesType_NamespaceIdentifier_NamespaceFile_ExportNamespace,11674,Method NamespacesType_AddressSpaceFile,11675,Object NamespacesType_AddressSpaceFile_Size,11676,Variable NamespacesType_AddressSpaceFile_OpenCount,11679,Variable NamespacesType_AddressSpaceFile_Open,11680,Method NamespacesType_AddressSpaceFile_Open_InputArguments,11681,Variable NamespacesType_AddressSpaceFile_Open_OutputArguments,11682,Variable NamespacesType_AddressSpaceFile_Close,11683,Method NamespacesType_AddressSpaceFile_Close_InputArguments,11684,Variable NamespacesType_AddressSpaceFile_Read,11685,Method NamespacesType_AddressSpaceFile_Read_InputArguments,11686,Variable NamespacesType_AddressSpaceFile_Read_OutputArguments,11687,Variable NamespacesType_AddressSpaceFile_Write,11688,Method NamespacesType_AddressSpaceFile_Write_InputArguments,11689,Variable NamespacesType_AddressSpaceFile_GetPosition,11690,Method NamespacesType_AddressSpaceFile_GetPosition_InputArguments,11691,Variable NamespacesType_AddressSpaceFile_GetPosition_OutputArguments,11692,Variable NamespacesType_AddressSpaceFile_SetPosition,11693,Method NamespacesType_AddressSpaceFile_SetPosition_InputArguments,11694,Variable NamespacesType_AddressSpaceFile_ExportNamespace,11695,Method SystemStatusChangeEventType_SystemState,11696,Variable SamplingIntervalDiagnosticsType_SampledMonitoredItemsCount,11697,Variable SamplingIntervalDiagnosticsType_MaxSampledMonitoredItemsCount,11698,Variable SamplingIntervalDiagnosticsType_DisabledMonitoredItemsSamplingCount,11699,Variable OptionSetType_BitMask,11701,Variable Server_ServerCapabilities_MaxArrayLength,11702,Variable Server_ServerCapabilities_MaxStringLength,11703,Variable Server_ServerCapabilities_OperationLimits,11704,Object Server_ServerCapabilities_OperationLimits_MaxNodesPerRead,11705,Variable Server_ServerCapabilities_OperationLimits_MaxNodesPerWrite,11707,Variable Server_ServerCapabilities_OperationLimits_MaxNodesPerMethodCall,11709,Variable Server_ServerCapabilities_OperationLimits_MaxNodesPerBrowse,11710,Variable Server_ServerCapabilities_OperationLimits_MaxNodesPerRegisterNodes,11711,Variable Server_ServerCapabilities_OperationLimits_MaxNodesPerTranslateBrowsePathsToNodeIds,11712,Variable Server_ServerCapabilities_OperationLimits_MaxNodesPerNodeManagement,11713,Variable Server_ServerCapabilities_OperationLimits_MaxMonitoredItemsPerCall,11714,Variable Server_Namespaces,11715,Object Server_Namespaces_AddressSpaceFile,11716,Object Server_Namespaces_AddressSpaceFile_Size,11717,Variable Server_Namespaces_AddressSpaceFile_OpenCount,11720,Variable Server_Namespaces_AddressSpaceFile_Open,11721,Method Server_Namespaces_AddressSpaceFile_Open_InputArguments,11722,Variable Server_Namespaces_AddressSpaceFile_Open_OutputArguments,11723,Variable Server_Namespaces_AddressSpaceFile_Close,11724,Method Server_Namespaces_AddressSpaceFile_Close_InputArguments,11725,Variable Server_Namespaces_AddressSpaceFile_Read,11726,Method Server_Namespaces_AddressSpaceFile_Read_InputArguments,11727,Variable Server_Namespaces_AddressSpaceFile_Read_OutputArguments,11728,Variable Server_Namespaces_AddressSpaceFile_Write,11729,Method Server_Namespaces_AddressSpaceFile_Write_InputArguments,11730,Variable Server_Namespaces_AddressSpaceFile_GetPosition,11731,Method Server_Namespaces_AddressSpaceFile_GetPosition_InputArguments,11732,Variable Server_Namespaces_AddressSpaceFile_GetPosition_OutputArguments,11733,Variable Server_Namespaces_AddressSpaceFile_SetPosition,11734,Method Server_Namespaces_AddressSpaceFile_SetPosition_InputArguments,11735,Variable Server_Namespaces_AddressSpaceFile_ExportNamespace,11736,Method BitFieldMaskDataType,11737,DataType OpenMethodType,11738,Method OpenMethodType_InputArguments,11739,Variable OpenMethodType_OutputArguments,11740,Variable CloseMethodType,11741,Method CloseMethodType_InputArguments,11742,Variable ReadMethodType,11743,Method ReadMethodType_InputArguments,11744,Variable ReadMethodType_OutputArguments,11745,Variable WriteMethodType,11746,Method WriteMethodType_InputArguments,11747,Variable GetPositionMethodType,11748,Method GetPositionMethodType_InputArguments,11749,Variable GetPositionMethodType_OutputArguments,11750,Variable SetPositionMethodType,11751,Method SetPositionMethodType_InputArguments,11752,Variable SystemOffNormalAlarmType,11753,ObjectType SystemOffNormalAlarmType_EventId,11754,Variable SystemOffNormalAlarmType_EventType,11755,Variable SystemOffNormalAlarmType_SourceNode,11756,Variable SystemOffNormalAlarmType_SourceName,11757,Variable SystemOffNormalAlarmType_Time,11758,Variable SystemOffNormalAlarmType_ReceiveTime,11759,Variable SystemOffNormalAlarmType_LocalTime,11760,Variable SystemOffNormalAlarmType_Message,11761,Variable SystemOffNormalAlarmType_Severity,11762,Variable SystemOffNormalAlarmType_ConditionClassId,11763,Variable SystemOffNormalAlarmType_ConditionClassName,11764,Variable SystemOffNormalAlarmType_ConditionName,11765,Variable SystemOffNormalAlarmType_BranchId,11766,Variable SystemOffNormalAlarmType_Retain,11767,Variable SystemOffNormalAlarmType_EnabledState,11768,Variable SystemOffNormalAlarmType_EnabledState_Id,11769,Variable SystemOffNormalAlarmType_EnabledState_Name,11770,Variable SystemOffNormalAlarmType_EnabledState_Number,11771,Variable SystemOffNormalAlarmType_EnabledState_EffectiveDisplayName,11772,Variable SystemOffNormalAlarmType_EnabledState_TransitionTime,11773,Variable SystemOffNormalAlarmType_EnabledState_EffectiveTransitionTime,11774,Variable SystemOffNormalAlarmType_EnabledState_TrueState,11775,Variable SystemOffNormalAlarmType_EnabledState_FalseState,11776,Variable SystemOffNormalAlarmType_Quality,11777,Variable SystemOffNormalAlarmType_Quality_SourceTimestamp,11778,Variable SystemOffNormalAlarmType_LastSeverity,11779,Variable SystemOffNormalAlarmType_LastSeverity_SourceTimestamp,11780,Variable SystemOffNormalAlarmType_Comment,11781,Variable SystemOffNormalAlarmType_Comment_SourceTimestamp,11782,Variable SystemOffNormalAlarmType_ClientUserId,11783,Variable SystemOffNormalAlarmType_Disable,11784,Method SystemOffNormalAlarmType_Enable,11785,Method SystemOffNormalAlarmType_AddComment,11786,Method SystemOffNormalAlarmType_AddComment_InputArguments,11787,Variable SystemOffNormalAlarmType_ConditionRefresh,11788,Method SystemOffNormalAlarmType_ConditionRefresh_InputArguments,11789,Variable SystemOffNormalAlarmType_AckedState,11790,Variable SystemOffNormalAlarmType_AckedState_Id,11791,Variable SystemOffNormalAlarmType_AckedState_Name,11792,Variable SystemOffNormalAlarmType_AckedState_Number,11793,Variable SystemOffNormalAlarmType_AckedState_EffectiveDisplayName,11794,Variable SystemOffNormalAlarmType_AckedState_TransitionTime,11795,Variable SystemOffNormalAlarmType_AckedState_EffectiveTransitionTime,11796,Variable SystemOffNormalAlarmType_AckedState_TrueState,11797,Variable SystemOffNormalAlarmType_AckedState_FalseState,11798,Variable SystemOffNormalAlarmType_ConfirmedState,11799,Variable SystemOffNormalAlarmType_ConfirmedState_Id,11800,Variable SystemOffNormalAlarmType_ConfirmedState_Name,11801,Variable SystemOffNormalAlarmType_ConfirmedState_Number,11802,Variable SystemOffNormalAlarmType_ConfirmedState_EffectiveDisplayName,11803,Variable SystemOffNormalAlarmType_ConfirmedState_TransitionTime,11804,Variable SystemOffNormalAlarmType_ConfirmedState_EffectiveTransitionTime,11805,Variable SystemOffNormalAlarmType_ConfirmedState_TrueState,11806,Variable SystemOffNormalAlarmType_ConfirmedState_FalseState,11807,Variable SystemOffNormalAlarmType_Acknowledge,11808,Method SystemOffNormalAlarmType_Acknowledge_InputArguments,11809,Variable SystemOffNormalAlarmType_Confirm,11810,Method SystemOffNormalAlarmType_Confirm_InputArguments,11811,Variable SystemOffNormalAlarmType_ActiveState,11812,Variable SystemOffNormalAlarmType_ActiveState_Id,11813,Variable SystemOffNormalAlarmType_ActiveState_Name,11814,Variable SystemOffNormalAlarmType_ActiveState_Number,11815,Variable SystemOffNormalAlarmType_ActiveState_EffectiveDisplayName,11816,Variable SystemOffNormalAlarmType_ActiveState_TransitionTime,11817,Variable SystemOffNormalAlarmType_ActiveState_EffectiveTransitionTime,11818,Variable SystemOffNormalAlarmType_ActiveState_TrueState,11819,Variable SystemOffNormalAlarmType_ActiveState_FalseState,11820,Variable SystemOffNormalAlarmType_InputNode,11821,Variable SystemOffNormalAlarmType_SuppressedState,11822,Variable SystemOffNormalAlarmType_SuppressedState_Id,11823,Variable SystemOffNormalAlarmType_SuppressedState_Name,11824,Variable SystemOffNormalAlarmType_SuppressedState_Number,11825,Variable SystemOffNormalAlarmType_SuppressedState_EffectiveDisplayName,11826,Variable SystemOffNormalAlarmType_SuppressedState_TransitionTime,11827,Variable SystemOffNormalAlarmType_SuppressedState_EffectiveTransitionTime,11828,Variable SystemOffNormalAlarmType_SuppressedState_TrueState,11829,Variable SystemOffNormalAlarmType_SuppressedState_FalseState,11830,Variable SystemOffNormalAlarmType_ShelvingState,11831,Object SystemOffNormalAlarmType_ShelvingState_CurrentState,11832,Variable SystemOffNormalAlarmType_ShelvingState_CurrentState_Id,11833,Variable SystemOffNormalAlarmType_ShelvingState_CurrentState_Name,11834,Variable SystemOffNormalAlarmType_ShelvingState_CurrentState_Number,11835,Variable SystemOffNormalAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,11836,Variable SystemOffNormalAlarmType_ShelvingState_LastTransition,11837,Variable SystemOffNormalAlarmType_ShelvingState_LastTransition_Id,11838,Variable SystemOffNormalAlarmType_ShelvingState_LastTransition_Name,11839,Variable SystemOffNormalAlarmType_ShelvingState_LastTransition_Number,11840,Variable SystemOffNormalAlarmType_ShelvingState_LastTransition_TransitionTime,11841,Variable SystemOffNormalAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11842,Variable SystemOffNormalAlarmType_ShelvingState_UnshelveTime,11843,Variable SystemOffNormalAlarmType_ShelvingState_Unshelve,11844,Method SystemOffNormalAlarmType_ShelvingState_OneShotShelve,11845,Method SystemOffNormalAlarmType_ShelvingState_TimedShelve,11846,Method SystemOffNormalAlarmType_ShelvingState_TimedShelve_InputArguments,11847,Variable SystemOffNormalAlarmType_SuppressedOrShelved,11848,Variable SystemOffNormalAlarmType_MaxTimeShelved,11849,Variable SystemOffNormalAlarmType_NormalState,11850,Variable AuditConditionCommentEventType_Comment,11851,Variable AuditConditionRespondEventType_SelectedResponse,11852,Variable AuditConditionAcknowledgeEventType_Comment,11853,Variable AuditConditionConfirmEventType_Comment,11854,Variable AuditConditionShelvingEventType_ShelvingTime,11855,Variable AuditProgramTransitionEventType,11856,ObjectType AuditProgramTransitionEventType_EventId,11857,Variable AuditProgramTransitionEventType_EventType,11858,Variable AuditProgramTransitionEventType_SourceNode,11859,Variable AuditProgramTransitionEventType_SourceName,11860,Variable AuditProgramTransitionEventType_Time,11861,Variable AuditProgramTransitionEventType_ReceiveTime,11862,Variable AuditProgramTransitionEventType_LocalTime,11863,Variable AuditProgramTransitionEventType_Message,11864,Variable AuditProgramTransitionEventType_Severity,11865,Variable AuditProgramTransitionEventType_ActionTimeStamp,11866,Variable AuditProgramTransitionEventType_Status,11867,Variable AuditProgramTransitionEventType_ServerId,11868,Variable AuditProgramTransitionEventType_ClientAuditEntryId,11869,Variable AuditProgramTransitionEventType_ClientUserId,11870,Variable AuditProgramTransitionEventType_MethodId,11871,Variable AuditProgramTransitionEventType_InputArguments,11872,Variable AuditProgramTransitionEventType_OldStateId,11873,Variable AuditProgramTransitionEventType_NewStateId,11874,Variable AuditProgramTransitionEventType_TransitionNumber,11875,Variable HistoricalDataConfigurationType_AggregateFunctions,11876,Object HAConfiguration_AggregateFunctions,11877,Object NodeClass_EnumValues,11878,Variable InstanceNode,11879,DataType TypeNode,11880,DataType NodeAttributesMask_EnumValues,11881,Variable AttributeWriteMask_EnumValues,11882,Variable BrowseResultMask_EnumValues,11883,Variable HistoryUpdateType_EnumValues,11884,Variable PerformUpdateType_EnumValues,11885,Variable EnumeratedTestType_EnumValues,11886,Variable InstanceNode_Encoding_DefaultXml,11887,Object TypeNode_Encoding_DefaultXml,11888,Object InstanceNode_Encoding_DefaultBinary,11889,Object TypeNode_Encoding_DefaultBinary,11890,Object SessionDiagnosticsObjectType_SessionDiagnostics_UnauthorizedRequestCount,11891,Variable SessionDiagnosticsVariableType_UnauthorizedRequestCount,11892,Variable OpenFileMode,11939,DataType OpenFileMode_EnumValues,11940,Variable ModelChangeStructureVerbMask,11941,DataType ModelChangeStructureVerbMask_EnumValues,11942,Variable EndpointUrlListDataType,11943,DataType NetworkGroupDataType,11944,DataType NonTransparentNetworkRedundancyType,11945,ObjectType NonTransparentNetworkRedundancyType_RedundancySupport,11946,Variable NonTransparentNetworkRedundancyType_ServerUriArray,11947,Variable NonTransparentNetworkRedundancyType_ServerNetworkGroups,11948,Variable EndpointUrlListDataType_Encoding_DefaultXml,11949,Object NetworkGroupDataType_Encoding_DefaultXml,11950,Object OpcUa_XmlSchema_EndpointUrlListDataType,11951,Variable OpcUa_XmlSchema_EndpointUrlListDataType_DataTypeVersion,11952,Variable OpcUa_XmlSchema_EndpointUrlListDataType_DictionaryFragment,11953,Variable OpcUa_XmlSchema_NetworkGroupDataType,11954,Variable OpcUa_XmlSchema_NetworkGroupDataType_DataTypeVersion,11955,Variable OpcUa_XmlSchema_NetworkGroupDataType_DictionaryFragment,11956,Variable EndpointUrlListDataType_Encoding_DefaultBinary,11957,Object NetworkGroupDataType_Encoding_DefaultBinary,11958,Object OpcUa_BinarySchema_EndpointUrlListDataType,11959,Variable OpcUa_BinarySchema_EndpointUrlListDataType_DataTypeVersion,11960,Variable OpcUa_BinarySchema_EndpointUrlListDataType_DictionaryFragment,11961,Variable OpcUa_BinarySchema_NetworkGroupDataType,11962,Variable OpcUa_BinarySchema_NetworkGroupDataType_DataTypeVersion,11963,Variable OpcUa_BinarySchema_NetworkGroupDataType_DictionaryFragment,11964,Variable ArrayItemType,12021,VariableType ArrayItemType_Definition,12022,Variable ArrayItemType_ValuePrecision,12023,Variable ArrayItemType_InstrumentRange,12024,Variable ArrayItemType_EURange,12025,Variable ArrayItemType_EngineeringUnits,12026,Variable ArrayItemType_Title,12027,Variable ArrayItemType_AxisScaleType,12028,Variable YArrayItemType,12029,VariableType YArrayItemType_Definition,12030,Variable YArrayItemType_ValuePrecision,12031,Variable YArrayItemType_InstrumentRange,12032,Variable YArrayItemType_EURange,12033,Variable YArrayItemType_EngineeringUnits,12034,Variable YArrayItemType_Title,12035,Variable YArrayItemType_AxisScaleType,12036,Variable YArrayItemType_XAxisDefinition,12037,Variable XYArrayItemType,12038,VariableType XYArrayItemType_Definition,12039,Variable XYArrayItemType_ValuePrecision,12040,Variable XYArrayItemType_InstrumentRange,12041,Variable XYArrayItemType_EURange,12042,Variable XYArrayItemType_EngineeringUnits,12043,Variable XYArrayItemType_Title,12044,Variable XYArrayItemType_AxisScaleType,12045,Variable XYArrayItemType_XAxisDefinition,12046,Variable ImageItemType,12047,VariableType ImageItemType_Definition,12048,Variable ImageItemType_ValuePrecision,12049,Variable ImageItemType_InstrumentRange,12050,Variable ImageItemType_EURange,12051,Variable ImageItemType_EngineeringUnits,12052,Variable ImageItemType_Title,12053,Variable ImageItemType_AxisScaleType,12054,Variable ImageItemType_XAxisDefinition,12055,Variable ImageItemType_YAxisDefinition,12056,Variable CubeItemType,12057,VariableType CubeItemType_Definition,12058,Variable CubeItemType_ValuePrecision,12059,Variable CubeItemType_InstrumentRange,12060,Variable CubeItemType_EURange,12061,Variable CubeItemType_EngineeringUnits,12062,Variable CubeItemType_Title,12063,Variable CubeItemType_AxisScaleType,12064,Variable CubeItemType_XAxisDefinition,12065,Variable CubeItemType_YAxisDefinition,12066,Variable CubeItemType_ZAxisDefinition,12067,Variable NDimensionArrayItemType,12068,VariableType NDimensionArrayItemType_Definition,12069,Variable NDimensionArrayItemType_ValuePrecision,12070,Variable NDimensionArrayItemType_InstrumentRange,12071,Variable NDimensionArrayItemType_EURange,12072,Variable NDimensionArrayItemType_EngineeringUnits,12073,Variable NDimensionArrayItemType_Title,12074,Variable NDimensionArrayItemType_AxisScaleType,12075,Variable NDimensionArrayItemType_AxisDefinition,12076,Variable AxisScaleEnumeration,12077,DataType AxisScaleEnumeration_EnumStrings,12078,Variable AxisInformation,12079,DataType XVType,12080,DataType AxisInformation_Encoding_DefaultXml,12081,Object XVType_Encoding_DefaultXml,12082,Object OpcUa_XmlSchema_AxisInformation,12083,Variable OpcUa_XmlSchema_AxisInformation_DataTypeVersion,12084,Variable OpcUa_XmlSchema_AxisInformation_DictionaryFragment,12085,Variable OpcUa_XmlSchema_XVType,12086,Variable OpcUa_XmlSchema_XVType_DataTypeVersion,12087,Variable OpcUa_XmlSchema_XVType_DictionaryFragment,12088,Variable AxisInformation_Encoding_DefaultBinary,12089,Object XVType_Encoding_DefaultBinary,12090,Object OpcUa_BinarySchema_AxisInformation,12091,Variable OpcUa_BinarySchema_AxisInformation_DataTypeVersion,12092,Variable OpcUa_BinarySchema_AxisInformation_DictionaryFragment,12093,Variable OpcUa_BinarySchema_XVType,12094,Variable OpcUa_BinarySchema_XVType_DataTypeVersion,12095,Variable OpcUa_BinarySchema_XVType_DictionaryFragment,12096,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder,12097,Object SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics,12098,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SessionId,12099,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SessionName,12100,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ClientDescription,12101,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ServerUri,12102,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_EndpointUrl,12103,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_LocaleIds,12104,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ActualSessionTimeout,12105,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_MaxResponseMessageSize,12106,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ClientConnectionTime,12107,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ClientLastContactTime,12108,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CurrentSubscriptionsCount,12109,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CurrentMonitoredItemsCount,12110,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CurrentPublishRequestsInQueue,12111,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_TotalRequestCount,12112,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_UnauthorizedRequestCount,12113,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ReadCount,12114,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_HistoryReadCount,12115,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_WriteCount,12116,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_HistoryUpdateCount,12117,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CallCount,12118,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CreateMonitoredItemsCount,12119,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ModifyMonitoredItemsCount,12120,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SetMonitoringModeCount,12121,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SetTriggeringCount,12122,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_DeleteMonitoredItemsCount,12123,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CreateSubscriptionCount,12124,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ModifySubscriptionCount,12125,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SetPublishingModeCount,12126,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_PublishCount,12127,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_RepublishCount,12128,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_TransferSubscriptionsCount,12129,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_DeleteSubscriptionsCount,12130,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_AddNodesCount,12131,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_AddReferencesCount,12132,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_DeleteNodesCount,12133,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_DeleteReferencesCount,12134,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_BrowseCount,12135,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_BrowseNextCount,12136,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_TranslateBrowsePathsToNodeIdsCount,12137,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_QueryFirstCount,12138,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_QueryNextCount,12139,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_RegisterNodesCount,12140,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_UnregisterNodesCount,12141,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics,12142,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_SessionId,12143,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_ClientUserIdOfSession,12144,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_ClientUserIdHistory,12145,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_AuthenticationMechanism,12146,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_Encoding,12147,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_TransportProtocol,12148,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_SecurityMode,12149,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_SecurityPolicyUri,12150,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_ClientCertificate,12151,Variable SessionsDiagnosticsSummaryType_SessionPlaceholder_SubscriptionDiagnosticsArray,12152,Variable ServerType_ServerCapabilities_OperationLimits_MaxNodesPerHistoryReadData,12153,Variable ServerType_ServerCapabilities_OperationLimits_MaxNodesPerHistoryReadEvents,12154,Variable ServerType_ServerCapabilities_OperationLimits_MaxNodesPerHistoryUpdateData,12155,Variable ServerType_ServerCapabilities_OperationLimits_MaxNodesPerHistoryUpdateEvents,12156,Variable ServerCapabilitiesType_OperationLimits_MaxNodesPerHistoryReadData,12157,Variable ServerCapabilitiesType_OperationLimits_MaxNodesPerHistoryReadEvents,12158,Variable ServerCapabilitiesType_OperationLimits_MaxNodesPerHistoryUpdateData,12159,Variable ServerCapabilitiesType_OperationLimits_MaxNodesPerHistoryUpdateEvents,12160,Variable OperationLimitsType_MaxNodesPerHistoryReadData,12161,Variable OperationLimitsType_MaxNodesPerHistoryReadEvents,12162,Variable OperationLimitsType_MaxNodesPerHistoryUpdateData,12163,Variable OperationLimitsType_MaxNodesPerHistoryUpdateEvents,12164,Variable Server_ServerCapabilities_OperationLimits_MaxNodesPerHistoryReadData,12165,Variable Server_ServerCapabilities_OperationLimits_MaxNodesPerHistoryReadEvents,12166,Variable Server_ServerCapabilities_OperationLimits_MaxNodesPerHistoryUpdateData,12167,Variable Server_ServerCapabilities_OperationLimits_MaxNodesPerHistoryUpdateEvents,12168,Variable NamingRuleType_EnumValues,12169,Variable ViewVersion,12170,Variable ComplexNumberType,12171,DataType DoubleComplexNumberType,12172,DataType ComplexNumberType_Encoding_DefaultXml,12173,Object DoubleComplexNumberType_Encoding_DefaultXml,12174,Object OpcUa_XmlSchema_ComplexNumberType,12175,Variable OpcUa_XmlSchema_ComplexNumberType_DataTypeVersion,12176,Variable OpcUa_XmlSchema_ComplexNumberType_DictionaryFragment,12177,Variable OpcUa_XmlSchema_DoubleComplexNumberType,12178,Variable OpcUa_XmlSchema_DoubleComplexNumberType_DataTypeVersion,12179,Variable OpcUa_XmlSchema_DoubleComplexNumberType_DictionaryFragment,12180,Variable ComplexNumberType_Encoding_DefaultBinary,12181,Object DoubleComplexNumberType_Encoding_DefaultBinary,12182,Object OpcUa_BinarySchema_ComplexNumberType,12183,Variable OpcUa_BinarySchema_ComplexNumberType_DataTypeVersion,12184,Variable OpcUa_BinarySchema_ComplexNumberType_DictionaryFragment,12185,Variable OpcUa_BinarySchema_DoubleComplexNumberType,12186,Variable OpcUa_BinarySchema_DoubleComplexNumberType_DataTypeVersion,12187,Variable OpcUa_BinarySchema_DoubleComplexNumberType_DictionaryFragment,12188,Variable ServerOnNetwork,12189,DataType FindServersOnNetworkRequest,12190,DataType FindServersOnNetworkResponse,12191,DataType RegisterServer2Request,12193,DataType RegisterServer2Response,12194,DataType ServerOnNetwork_Encoding_DefaultXml,12195,Object FindServersOnNetworkRequest_Encoding_DefaultXml,12196,Object FindServersOnNetworkResponse_Encoding_DefaultXml,12197,Object RegisterServer2Request_Encoding_DefaultXml,12199,Object RegisterServer2Response_Encoding_DefaultXml,12200,Object OpcUa_XmlSchema_ServerOnNetwork,12201,Variable OpcUa_XmlSchema_ServerOnNetwork_DataTypeVersion,12202,Variable OpcUa_XmlSchema_ServerOnNetwork_DictionaryFragment,12203,Variable ServerOnNetwork_Encoding_DefaultBinary,12207,Object FindServersOnNetworkRequest_Encoding_DefaultBinary,12208,Object FindServersOnNetworkResponse_Encoding_DefaultBinary,12209,Object RegisterServer2Request_Encoding_DefaultBinary,12211,Object RegisterServer2Response_Encoding_DefaultBinary,12212,Object OpcUa_BinarySchema_ServerOnNetwork,12213,Variable OpcUa_BinarySchema_ServerOnNetwork_DataTypeVersion,12214,Variable OpcUa_BinarySchema_ServerOnNetwork_DictionaryFragment,12215,Variable ProgressEventType_Context,12502,Variable ProgressEventType_Progress,12503,Variable KerberosIdentityToken,12504,DataType KerberosIdentityToken_Encoding_DefaultXml,12505,Object OpcUa_XmlSchema_KerberosIdentityToken,12506,Variable OpcUa_XmlSchema_KerberosIdentityToken_DataTypeVersion,12507,Variable OpcUa_XmlSchema_KerberosIdentityToken_DictionaryFragment,12508,Variable KerberosIdentityToken_Encoding_DefaultBinary,12509,Object OpcUa_BinarySchema_KerberosIdentityToken,12510,Variable OpcUa_BinarySchema_KerberosIdentityToken_DataTypeVersion,12511,Variable OpcUa_BinarySchema_KerberosIdentityToken_DictionaryFragment,12512,Variable OpenWithMasksMethodType,12513,Method OpenWithMasksMethodType_InputArguments,12514,Variable OpenWithMasksMethodType_OutputArguments,12515,Variable CloseAndUpdateMethodType,12516,Method CloseAndUpdateMethodType_OutputArguments,12517,Variable AddCertificateMethodType,12518,Method AddCertificateMethodType_InputArguments,12519,Variable RemoveCertificateMethodType,12520,Method RemoveCertificateMethodType_InputArguments,12521,Variable TrustListType,12522,ObjectType TrustListType_Size,12523,Variable TrustListType_OpenCount,12526,Variable TrustListType_Open,12527,Method TrustListType_Open_InputArguments,12528,Variable TrustListType_Open_OutputArguments,12529,Variable TrustListType_Close,12530,Method TrustListType_Close_InputArguments,12531,Variable TrustListType_Read,12532,Method TrustListType_Read_InputArguments,12533,Variable TrustListType_Read_OutputArguments,12534,Variable TrustListType_Write,12535,Method TrustListType_Write_InputArguments,12536,Variable TrustListType_GetPosition,12537,Method TrustListType_GetPosition_InputArguments,12538,Variable TrustListType_GetPosition_OutputArguments,12539,Variable TrustListType_SetPosition,12540,Method TrustListType_SetPosition_InputArguments,12541,Variable TrustListType_LastUpdateTime,12542,Variable TrustListType_OpenWithMasks,12543,Method TrustListType_OpenWithMasks_InputArguments,12544,Variable TrustListType_OpenWithMasks_OutputArguments,12545,Variable TrustListType_CloseAndUpdate,12546,Method TrustListType_CloseAndUpdate_OutputArguments,12547,Variable TrustListType_AddCertificate,12548,Method TrustListType_AddCertificate_InputArguments,12549,Variable TrustListType_RemoveCertificate,12550,Method TrustListType_RemoveCertificate_InputArguments,12551,Variable TrustListMasks,12552,DataType TrustListMasks_EnumValues,12553,Variable TrustListDataType,12554,DataType CertificateGroupType,12555,ObjectType CertificateType,12556,ObjectType ApplicationCertificateType,12557,ObjectType HttpsCertificateType,12558,ObjectType RsaMinApplicationCertificateType,12559,ObjectType RsaSha256ApplicationCertificateType,12560,ObjectType TrustListUpdatedAuditEventType,12561,ObjectType TrustListUpdatedAuditEventType_EventId,12562,Variable TrustListUpdatedAuditEventType_EventType,12563,Variable TrustListUpdatedAuditEventType_SourceNode,12564,Variable TrustListUpdatedAuditEventType_SourceName,12565,Variable TrustListUpdatedAuditEventType_Time,12566,Variable TrustListUpdatedAuditEventType_ReceiveTime,12567,Variable TrustListUpdatedAuditEventType_LocalTime,12568,Variable TrustListUpdatedAuditEventType_Message,12569,Variable TrustListUpdatedAuditEventType_Severity,12570,Variable TrustListUpdatedAuditEventType_ActionTimeStamp,12571,Variable TrustListUpdatedAuditEventType_Status,12572,Variable TrustListUpdatedAuditEventType_ServerId,12573,Variable TrustListUpdatedAuditEventType_ClientAuditEntryId,12574,Variable TrustListUpdatedAuditEventType_ClientUserId,12575,Variable TrustListUpdatedAuditEventType_MethodId,12576,Variable TrustListUpdatedAuditEventType_InputArguments,12577,Variable UpdateCertificateMethodType,12578,Method UpdateCertificateMethodType_InputArguments,12579,Variable UpdateCertificateMethodType_OutputArguments,12580,Variable ServerConfigurationType,12581,ObjectType ServerConfigurationType_SupportedPrivateKeyFormats,12583,Variable ServerConfigurationType_MaxTrustListSize,12584,Variable ServerConfigurationType_MulticastDnsEnabled,12585,Variable ServerConfigurationType_UpdateCertificate,12616,Method ServerConfigurationType_UpdateCertificate_InputArguments,12617,Variable ServerConfigurationType_UpdateCertificate_OutputArguments,12618,Variable CertificateUpdatedAuditEventType,12620,ObjectType CertificateUpdatedAuditEventType_EventId,12621,Variable CertificateUpdatedAuditEventType_EventType,12622,Variable CertificateUpdatedAuditEventType_SourceNode,12623,Variable CertificateUpdatedAuditEventType_SourceName,12624,Variable CertificateUpdatedAuditEventType_Time,12625,Variable CertificateUpdatedAuditEventType_ReceiveTime,12626,Variable CertificateUpdatedAuditEventType_LocalTime,12627,Variable CertificateUpdatedAuditEventType_Message,12628,Variable CertificateUpdatedAuditEventType_Severity,12629,Variable CertificateUpdatedAuditEventType_ActionTimeStamp,12630,Variable CertificateUpdatedAuditEventType_Status,12631,Variable CertificateUpdatedAuditEventType_ServerId,12632,Variable CertificateUpdatedAuditEventType_ClientAuditEntryId,12633,Variable CertificateUpdatedAuditEventType_ClientUserId,12634,Variable CertificateUpdatedAuditEventType_MethodId,12635,Variable CertificateUpdatedAuditEventType_InputArguments,12636,Variable ServerConfiguration,12637,Object ServerConfiguration_SupportedPrivateKeyFormats,12639,Variable ServerConfiguration_MaxTrustListSize,12640,Variable ServerConfiguration_MulticastDnsEnabled,12641,Variable ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList,12642,Object ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Size,12643,Variable ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_OpenCount,12646,Variable ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Open,12647,Method ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Open_InputArguments,12648,Variable ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Open_OutputArguments,12649,Variable ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Close,12650,Method ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Close_InputArguments,12651,Variable ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Read,12652,Method ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Read_InputArguments,12653,Variable ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Read_OutputArguments,12654,Variable ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Write,12655,Method ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Write_InputArguments,12656,Variable ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_GetPosition,12657,Method ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_GetPosition_InputArguments,12658,Variable ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_GetPosition_OutputArguments,12659,Variable ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_SetPosition,12660,Method ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_SetPosition_InputArguments,12661,Variable ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_LastUpdateTime,12662,Variable ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_OpenWithMasks,12663,Method ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_OpenWithMasks_InputArguments,12664,Variable ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_OpenWithMasks_OutputArguments,12665,Variable ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_CloseAndUpdate,12666,Method ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_CloseAndUpdate_OutputArguments,12667,Variable ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_AddCertificate,12668,Method ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_AddCertificate_InputArguments,12669,Variable ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_RemoveCertificate,12670,Method ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_RemoveCertificate_InputArguments,12671,Variable TrustListDataType_Encoding_DefaultXml,12676,Object OpcUa_XmlSchema_TrustListDataType,12677,Variable OpcUa_XmlSchema_TrustListDataType_DataTypeVersion,12678,Variable OpcUa_XmlSchema_TrustListDataType_DictionaryFragment,12679,Variable TrustListDataType_Encoding_DefaultBinary,12680,Object OpcUa_BinarySchema_TrustListDataType,12681,Variable OpcUa_BinarySchema_TrustListDataType_DataTypeVersion,12682,Variable OpcUa_BinarySchema_TrustListDataType_DictionaryFragment,12683,Variable ServerType_Namespaces_AddressSpaceFile_Writable,12684,Variable ServerType_Namespaces_AddressSpaceFile_UserWritable,12685,Variable FileType_Writable,12686,Variable FileType_UserWritable,12687,Variable AddressSpaceFileType_Writable,12688,Variable AddressSpaceFileType_UserWritable,12689,Variable NamespaceMetadataType_NamespaceFile_Writable,12690,Variable NamespaceMetadataType_NamespaceFile_UserWritable,12691,Variable NamespacesType_NamespaceIdentifier_NamespaceFile_Writable,12692,Variable NamespacesType_NamespaceIdentifier_NamespaceFile_UserWritable,12693,Variable NamespacesType_AddressSpaceFile_Writable,12694,Variable NamespacesType_AddressSpaceFile_UserWritable,12695,Variable Server_Namespaces_AddressSpaceFile_Writable,12696,Variable Server_Namespaces_AddressSpaceFile_UserWritable,12697,Variable TrustListType_Writable,12698,Variable TrustListType_UserWritable,12699,Variable CloseAndUpdateMethodType_InputArguments,12704,Variable TrustListType_CloseAndUpdate_InputArguments,12705,Variable ServerConfigurationType_ServerCapabilities,12708,Variable ServerConfiguration_ServerCapabilities,12710,Variable OpcUa_XmlSchema_RelativePathElement,12712,Variable OpcUa_XmlSchema_RelativePathElement_DataTypeVersion,12713,Variable OpcUa_XmlSchema_RelativePathElement_DictionaryFragment,12714,Variable OpcUa_XmlSchema_RelativePath,12715,Variable OpcUa_XmlSchema_RelativePath_DataTypeVersion,12716,Variable OpcUa_XmlSchema_RelativePath_DictionaryFragment,12717,Variable OpcUa_BinarySchema_RelativePathElement,12718,Variable OpcUa_BinarySchema_RelativePathElement_DataTypeVersion,12719,Variable OpcUa_BinarySchema_RelativePathElement_DictionaryFragment,12720,Variable OpcUa_BinarySchema_RelativePath,12721,Variable OpcUa_BinarySchema_RelativePath_DataTypeVersion,12722,Variable OpcUa_BinarySchema_RelativePath_DictionaryFragment,12723,Variable ServerConfigurationType_CreateSigningRequest,12731,Method ServerConfigurationType_CreateSigningRequest_InputArguments,12732,Variable ServerConfigurationType_CreateSigningRequest_OutputArguments,12733,Variable ServerConfigurationType_ApplyChanges,12734,Method ServerConfiguration_CreateSigningRequest,12737,Method ServerConfiguration_CreateSigningRequest_InputArguments,12738,Variable ServerConfiguration_CreateSigningRequest_OutputArguments,12739,Variable ServerConfiguration_ApplyChanges,12740,Method CreateSigningRequestMethodType,12741,Method CreateSigningRequestMethodType_InputArguments,12742,Variable CreateSigningRequestMethodType_OutputArguments,12743,Variable OptionSetValues,12745,Variable ServerType_SetSubscriptionDurable,12746,Method ServerType_SetSubscriptionDurable_InputArguments,12747,Variable ServerType_SetSubscriptionDurable_OutputArguments,12748,Variable Server_SetSubscriptionDurable,12749,Method Server_SetSubscriptionDurable_InputArguments,12750,Variable Server_SetSubscriptionDurable_OutputArguments,12751,Variable SetSubscriptionDurableMethodType,12752,Method SetSubscriptionDurableMethodType_InputArguments,12753,Variable SetSubscriptionDurableMethodType_OutputArguments,12754,Variable OptionSet,12755,DataType Union,12756,DataType OptionSet_Encoding_DefaultXml,12757,Object Union_Encoding_DefaultXml,12758,Object OpcUa_XmlSchema_OptionSet,12759,Variable OpcUa_XmlSchema_OptionSet_DataTypeVersion,12760,Variable OpcUa_XmlSchema_OptionSet_DictionaryFragment,12761,Variable OpcUa_XmlSchema_Union,12762,Variable OpcUa_XmlSchema_Union_DataTypeVersion,12763,Variable OpcUa_XmlSchema_Union_DictionaryFragment,12764,Variable OptionSet_Encoding_DefaultBinary,12765,Object Union_Encoding_DefaultBinary,12766,Object OpcUa_BinarySchema_OptionSet,12767,Variable OpcUa_BinarySchema_OptionSet_DataTypeVersion,12768,Variable OpcUa_BinarySchema_OptionSet_DictionaryFragment,12769,Variable OpcUa_BinarySchema_Union,12770,Variable OpcUa_BinarySchema_Union_DataTypeVersion,12771,Variable OpcUa_BinarySchema_Union_DictionaryFragment,12772,Variable GetRejectedListMethodType,12773,Method GetRejectedListMethodType_OutputArguments,12774,Variable ServerConfigurationType_GetRejectedList,12775,Method ServerConfigurationType_GetRejectedList_OutputArguments,12776,Variable ServerConfiguration_GetRejectedList,12777,Method ServerConfiguration_GetRejectedList_OutputArguments,12778,Variable SamplingIntervalDiagnosticsArrayType_SamplingIntervalDiagnostics,12779,Variable SamplingIntervalDiagnosticsArrayType_SamplingIntervalDiagnostics_SamplingInterval,12780,Variable SamplingIntervalDiagnosticsArrayType_SamplingIntervalDiagnostics_SampledMonitoredItemsCount,12781,Variable SamplingIntervalDiagnosticsArrayType_SamplingIntervalDiagnostics_MaxSampledMonitoredItemsCount,12782,Variable SamplingIntervalDiagnosticsArrayType_SamplingIntervalDiagnostics_DisabledMonitoredItemsSamplingCount,12783,Variable SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics,12784,Variable SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_SessionId,12785,Variable SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_SubscriptionId,12786,Variable SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_Priority,12787,Variable SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_PublishingInterval,12788,Variable SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_MaxKeepAliveCount,12789,Variable SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_MaxLifetimeCount,12790,Variable SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_MaxNotificationsPerPublish,12791,Variable SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_PublishingEnabled,12792,Variable SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_ModifyCount,12793,Variable SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_EnableCount,12794,Variable SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_DisableCount,12795,Variable SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_RepublishRequestCount,12796,Variable SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_RepublishMessageRequestCount,12797,Variable SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_RepublishMessageCount,12798,Variable SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_TransferRequestCount,12799,Variable SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_TransferredToAltClientCount,12800,Variable SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_TransferredToSameClientCount,12801,Variable SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_PublishRequestCount,12802,Variable SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_DataChangeNotificationsCount,12803,Variable SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_EventNotificationsCount,12804,Variable SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_NotificationsCount,12805,Variable SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_LatePublishRequestCount,12806,Variable SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_CurrentKeepAliveCount,12807,Variable SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_CurrentLifetimeCount,12808,Variable SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_UnacknowledgedMessageCount,12809,Variable SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_DiscardedMessageCount,12810,Variable SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_MonitoredItemCount,12811,Variable SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_DisabledMonitoredItemCount,12812,Variable SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_MonitoringQueueOverflowCount,12813,Variable SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_NextSequenceNumber,12814,Variable SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_EventQueueOverFlowCount,12815,Variable SessionDiagnosticsArrayType_SessionDiagnostics,12816,Variable SessionDiagnosticsArrayType_SessionDiagnostics_SessionId,12817,Variable SessionDiagnosticsArrayType_SessionDiagnostics_SessionName,12818,Variable SessionDiagnosticsArrayType_SessionDiagnostics_ClientDescription,12819,Variable SessionDiagnosticsArrayType_SessionDiagnostics_ServerUri,12820,Variable SessionDiagnosticsArrayType_SessionDiagnostics_EndpointUrl,12821,Variable SessionDiagnosticsArrayType_SessionDiagnostics_LocaleIds,12822,Variable SessionDiagnosticsArrayType_SessionDiagnostics_ActualSessionTimeout,12823,Variable SessionDiagnosticsArrayType_SessionDiagnostics_MaxResponseMessageSize,12824,Variable SessionDiagnosticsArrayType_SessionDiagnostics_ClientConnectionTime,12825,Variable SessionDiagnosticsArrayType_SessionDiagnostics_ClientLastContactTime,12826,Variable SessionDiagnosticsArrayType_SessionDiagnostics_CurrentSubscriptionsCount,12827,Variable SessionDiagnosticsArrayType_SessionDiagnostics_CurrentMonitoredItemsCount,12828,Variable SessionDiagnosticsArrayType_SessionDiagnostics_CurrentPublishRequestsInQueue,12829,Variable SessionDiagnosticsArrayType_SessionDiagnostics_TotalRequestCount,12830,Variable SessionDiagnosticsArrayType_SessionDiagnostics_UnauthorizedRequestCount,12831,Variable SessionDiagnosticsArrayType_SessionDiagnostics_ReadCount,12832,Variable SessionDiagnosticsArrayType_SessionDiagnostics_HistoryReadCount,12833,Variable SessionDiagnosticsArrayType_SessionDiagnostics_WriteCount,12834,Variable SessionDiagnosticsArrayType_SessionDiagnostics_HistoryUpdateCount,12835,Variable SessionDiagnosticsArrayType_SessionDiagnostics_CallCount,12836,Variable SessionDiagnosticsArrayType_SessionDiagnostics_CreateMonitoredItemsCount,12837,Variable SessionDiagnosticsArrayType_SessionDiagnostics_ModifyMonitoredItemsCount,12838,Variable SessionDiagnosticsArrayType_SessionDiagnostics_SetMonitoringModeCount,12839,Variable SessionDiagnosticsArrayType_SessionDiagnostics_SetTriggeringCount,12840,Variable SessionDiagnosticsArrayType_SessionDiagnostics_DeleteMonitoredItemsCount,12841,Variable SessionDiagnosticsArrayType_SessionDiagnostics_CreateSubscriptionCount,12842,Variable SessionDiagnosticsArrayType_SessionDiagnostics_ModifySubscriptionCount,12843,Variable SessionDiagnosticsArrayType_SessionDiagnostics_SetPublishingModeCount,12844,Variable SessionDiagnosticsArrayType_SessionDiagnostics_PublishCount,12845,Variable SessionDiagnosticsArrayType_SessionDiagnostics_RepublishCount,12846,Variable SessionDiagnosticsArrayType_SessionDiagnostics_TransferSubscriptionsCount,12847,Variable SessionDiagnosticsArrayType_SessionDiagnostics_DeleteSubscriptionsCount,12848,Variable SessionDiagnosticsArrayType_SessionDiagnostics_AddNodesCount,12849,Variable SessionDiagnosticsArrayType_SessionDiagnostics_AddReferencesCount,12850,Variable SessionDiagnosticsArrayType_SessionDiagnostics_DeleteNodesCount,12851,Variable SessionDiagnosticsArrayType_SessionDiagnostics_DeleteReferencesCount,12852,Variable SessionDiagnosticsArrayType_SessionDiagnostics_BrowseCount,12853,Variable SessionDiagnosticsArrayType_SessionDiagnostics_BrowseNextCount,12854,Variable SessionDiagnosticsArrayType_SessionDiagnostics_TranslateBrowsePathsToNodeIdsCount,12855,Variable SessionDiagnosticsArrayType_SessionDiagnostics_QueryFirstCount,12856,Variable SessionDiagnosticsArrayType_SessionDiagnostics_QueryNextCount,12857,Variable SessionDiagnosticsArrayType_SessionDiagnostics_RegisterNodesCount,12858,Variable SessionDiagnosticsArrayType_SessionDiagnostics_UnregisterNodesCount,12859,Variable SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics,12860,Variable SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_SessionId,12861,Variable SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_ClientUserIdOfSession,12862,Variable SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_ClientUserIdHistory,12863,Variable SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_AuthenticationMechanism,12864,Variable SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_Encoding,12865,Variable SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_TransportProtocol,12866,Variable SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_SecurityMode,12867,Variable SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_SecurityPolicyUri,12868,Variable SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_ClientCertificate,12869,Variable ServerType_ResendData,12871,Method ServerType_ResendData_InputArguments,12872,Variable Server_ResendData,12873,Method Server_ResendData_InputArguments,12874,Variable ResendDataMethodType,12875,Method ResendDataMethodType_InputArguments,12876,Variable NormalizedString,12877,DataType DecimalString,12878,DataType DurationString,12879,DataType TimeString,12880,DataType DateString,12881,DataType ServerType_EstimatedReturnTime,12882,Variable ServerType_RequestServerStateChange,12883,Method ServerType_RequestServerStateChange_InputArguments,12884,Variable Server_EstimatedReturnTime,12885,Variable Server_RequestServerStateChange,12886,Method Server_RequestServerStateChange_InputArguments,12887,Variable RequestServerStateChangeMethodType,12888,Method RequestServerStateChangeMethodType_InputArguments,12889,Variable DiscoveryConfiguration,12890,DataType MdnsDiscoveryConfiguration,12891,DataType DiscoveryConfiguration_Encoding_DefaultXml,12892,Object MdnsDiscoveryConfiguration_Encoding_DefaultXml,12893,Object OpcUa_XmlSchema_DiscoveryConfiguration,12894,Variable OpcUa_XmlSchema_DiscoveryConfiguration_DataTypeVersion,12895,Variable OpcUa_XmlSchema_DiscoveryConfiguration_DictionaryFragment,12896,Variable OpcUa_XmlSchema_MdnsDiscoveryConfiguration,12897,Variable OpcUa_XmlSchema_MdnsDiscoveryConfiguration_DataTypeVersion,12898,Variable OpcUa_XmlSchema_MdnsDiscoveryConfiguration_DictionaryFragment,12899,Variable DiscoveryConfiguration_Encoding_DefaultBinary,12900,Object MdnsDiscoveryConfiguration_Encoding_DefaultBinary,12901,Object OpcUa_BinarySchema_DiscoveryConfiguration,12902,Variable OpcUa_BinarySchema_DiscoveryConfiguration_DataTypeVersion,12903,Variable OpcUa_BinarySchema_DiscoveryConfiguration_DictionaryFragment,12904,Variable OpcUa_BinarySchema_MdnsDiscoveryConfiguration,12905,Variable OpcUa_BinarySchema_MdnsDiscoveryConfiguration_DataTypeVersion,12906,Variable OpcUa_BinarySchema_MdnsDiscoveryConfiguration_DictionaryFragment,12907,Variable MaxByteStringLength,12908,Variable ServerType_ServerCapabilities_MaxByteStringLength,12909,Variable ServerCapabilitiesType_MaxByteStringLength,12910,Variable Server_ServerCapabilities_MaxByteStringLength,12911,Variable ConditionType_ConditionRefresh2,12912,Method ConditionType_ConditionRefresh2_InputArguments,12913,Variable ConditionRefresh2MethodType,12914,Method ConditionRefresh2MethodType_InputArguments,12915,Variable DialogConditionType_ConditionRefresh2,12916,Method DialogConditionType_ConditionRefresh2_InputArguments,12917,Variable AcknowledgeableConditionType_ConditionRefresh2,12918,Method AcknowledgeableConditionType_ConditionRefresh2_InputArguments,12919,Variable AlarmConditionType_ConditionRefresh2,12984,Method AlarmConditionType_ConditionRefresh2_InputArguments,12985,Variable LimitAlarmType_ConditionRefresh2,12986,Method LimitAlarmType_ConditionRefresh2_InputArguments,12987,Variable ExclusiveLimitAlarmType_ConditionRefresh2,12988,Method ExclusiveLimitAlarmType_ConditionRefresh2_InputArguments,12989,Variable NonExclusiveLimitAlarmType_ConditionRefresh2,12990,Method NonExclusiveLimitAlarmType_ConditionRefresh2_InputArguments,12991,Variable NonExclusiveLevelAlarmType_ConditionRefresh2,12992,Method NonExclusiveLevelAlarmType_ConditionRefresh2_InputArguments,12993,Variable ExclusiveLevelAlarmType_ConditionRefresh2,12994,Method ExclusiveLevelAlarmType_ConditionRefresh2_InputArguments,12995,Variable NonExclusiveDeviationAlarmType_ConditionRefresh2,12996,Method NonExclusiveDeviationAlarmType_ConditionRefresh2_InputArguments,12997,Variable ExclusiveDeviationAlarmType_ConditionRefresh2,12998,Method ExclusiveDeviationAlarmType_ConditionRefresh2_InputArguments,12999,Variable NonExclusiveRateOfChangeAlarmType_ConditionRefresh2,13000,Method NonExclusiveRateOfChangeAlarmType_ConditionRefresh2_InputArguments,13001,Variable ExclusiveRateOfChangeAlarmType_ConditionRefresh2,13002,Method ExclusiveRateOfChangeAlarmType_ConditionRefresh2_InputArguments,13003,Variable DiscreteAlarmType_ConditionRefresh2,13004,Method DiscreteAlarmType_ConditionRefresh2_InputArguments,13005,Variable OffNormalAlarmType_ConditionRefresh2,13006,Method OffNormalAlarmType_ConditionRefresh2_InputArguments,13007,Variable SystemOffNormalAlarmType_ConditionRefresh2,13008,Method SystemOffNormalAlarmType_ConditionRefresh2_InputArguments,13009,Variable TripAlarmType_ConditionRefresh2,13010,Method TripAlarmType_ConditionRefresh2_InputArguments,13011,Variable CertificateExpirationAlarmType,13225,ObjectType CertificateExpirationAlarmType_EventId,13226,Variable CertificateExpirationAlarmType_EventType,13227,Variable CertificateExpirationAlarmType_SourceNode,13228,Variable CertificateExpirationAlarmType_SourceName,13229,Variable CertificateExpirationAlarmType_Time,13230,Variable CertificateExpirationAlarmType_ReceiveTime,13231,Variable CertificateExpirationAlarmType_LocalTime,13232,Variable CertificateExpirationAlarmType_Message,13233,Variable CertificateExpirationAlarmType_Severity,13234,Variable CertificateExpirationAlarmType_ConditionClassId,13235,Variable CertificateExpirationAlarmType_ConditionClassName,13236,Variable CertificateExpirationAlarmType_ConditionName,13237,Variable CertificateExpirationAlarmType_BranchId,13238,Variable CertificateExpirationAlarmType_Retain,13239,Variable CertificateExpirationAlarmType_EnabledState,13240,Variable CertificateExpirationAlarmType_EnabledState_Id,13241,Variable CertificateExpirationAlarmType_EnabledState_Name,13242,Variable CertificateExpirationAlarmType_EnabledState_Number,13243,Variable CertificateExpirationAlarmType_EnabledState_EffectiveDisplayName,13244,Variable CertificateExpirationAlarmType_EnabledState_TransitionTime,13245,Variable CertificateExpirationAlarmType_EnabledState_EffectiveTransitionTime,13246,Variable CertificateExpirationAlarmType_EnabledState_TrueState,13247,Variable CertificateExpirationAlarmType_EnabledState_FalseState,13248,Variable CertificateExpirationAlarmType_Quality,13249,Variable CertificateExpirationAlarmType_Quality_SourceTimestamp,13250,Variable CertificateExpirationAlarmType_LastSeverity,13251,Variable CertificateExpirationAlarmType_LastSeverity_SourceTimestamp,13252,Variable CertificateExpirationAlarmType_Comment,13253,Variable CertificateExpirationAlarmType_Comment_SourceTimestamp,13254,Variable CertificateExpirationAlarmType_ClientUserId,13255,Variable CertificateExpirationAlarmType_Disable,13256,Method CertificateExpirationAlarmType_Enable,13257,Method CertificateExpirationAlarmType_AddComment,13258,Method CertificateExpirationAlarmType_AddComment_InputArguments,13259,Variable CertificateExpirationAlarmType_ConditionRefresh,13260,Method CertificateExpirationAlarmType_ConditionRefresh_InputArguments,13261,Variable CertificateExpirationAlarmType_ConditionRefresh2,13262,Method CertificateExpirationAlarmType_ConditionRefresh2_InputArguments,13263,Variable CertificateExpirationAlarmType_AckedState,13264,Variable CertificateExpirationAlarmType_AckedState_Id,13265,Variable CertificateExpirationAlarmType_AckedState_Name,13266,Variable CertificateExpirationAlarmType_AckedState_Number,13267,Variable CertificateExpirationAlarmType_AckedState_EffectiveDisplayName,13268,Variable CertificateExpirationAlarmType_AckedState_TransitionTime,13269,Variable CertificateExpirationAlarmType_AckedState_EffectiveTransitionTime,13270,Variable CertificateExpirationAlarmType_AckedState_TrueState,13271,Variable CertificateExpirationAlarmType_AckedState_FalseState,13272,Variable CertificateExpirationAlarmType_ConfirmedState,13273,Variable CertificateExpirationAlarmType_ConfirmedState_Id,13274,Variable CertificateExpirationAlarmType_ConfirmedState_Name,13275,Variable CertificateExpirationAlarmType_ConfirmedState_Number,13276,Variable CertificateExpirationAlarmType_ConfirmedState_EffectiveDisplayName,13277,Variable CertificateExpirationAlarmType_ConfirmedState_TransitionTime,13278,Variable CertificateExpirationAlarmType_ConfirmedState_EffectiveTransitionTime,13279,Variable CertificateExpirationAlarmType_ConfirmedState_TrueState,13280,Variable CertificateExpirationAlarmType_ConfirmedState_FalseState,13281,Variable CertificateExpirationAlarmType_Acknowledge,13282,Method CertificateExpirationAlarmType_Acknowledge_InputArguments,13283,Variable CertificateExpirationAlarmType_Confirm,13284,Method CertificateExpirationAlarmType_Confirm_InputArguments,13285,Variable CertificateExpirationAlarmType_ActiveState,13286,Variable CertificateExpirationAlarmType_ActiveState_Id,13287,Variable CertificateExpirationAlarmType_ActiveState_Name,13288,Variable CertificateExpirationAlarmType_ActiveState_Number,13289,Variable CertificateExpirationAlarmType_ActiveState_EffectiveDisplayName,13290,Variable CertificateExpirationAlarmType_ActiveState_TransitionTime,13291,Variable CertificateExpirationAlarmType_ActiveState_EffectiveTransitionTime,13292,Variable CertificateExpirationAlarmType_ActiveState_TrueState,13293,Variable CertificateExpirationAlarmType_ActiveState_FalseState,13294,Variable CertificateExpirationAlarmType_InputNode,13295,Variable CertificateExpirationAlarmType_SuppressedState,13296,Variable CertificateExpirationAlarmType_SuppressedState_Id,13297,Variable CertificateExpirationAlarmType_SuppressedState_Name,13298,Variable CertificateExpirationAlarmType_SuppressedState_Number,13299,Variable CertificateExpirationAlarmType_SuppressedState_EffectiveDisplayName,13300,Variable CertificateExpirationAlarmType_SuppressedState_TransitionTime,13301,Variable CertificateExpirationAlarmType_SuppressedState_EffectiveTransitionTime,13302,Variable CertificateExpirationAlarmType_SuppressedState_TrueState,13303,Variable CertificateExpirationAlarmType_SuppressedState_FalseState,13304,Variable CertificateExpirationAlarmType_ShelvingState,13305,Object CertificateExpirationAlarmType_ShelvingState_CurrentState,13306,Variable CertificateExpirationAlarmType_ShelvingState_CurrentState_Id,13307,Variable CertificateExpirationAlarmType_ShelvingState_CurrentState_Name,13308,Variable CertificateExpirationAlarmType_ShelvingState_CurrentState_Number,13309,Variable CertificateExpirationAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,13310,Variable CertificateExpirationAlarmType_ShelvingState_LastTransition,13311,Variable CertificateExpirationAlarmType_ShelvingState_LastTransition_Id,13312,Variable CertificateExpirationAlarmType_ShelvingState_LastTransition_Name,13313,Variable CertificateExpirationAlarmType_ShelvingState_LastTransition_Number,13314,Variable CertificateExpirationAlarmType_ShelvingState_LastTransition_TransitionTime,13315,Variable CertificateExpirationAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,13316,Variable CertificateExpirationAlarmType_ShelvingState_UnshelveTime,13317,Variable CertificateExpirationAlarmType_ShelvingState_Unshelve,13318,Method CertificateExpirationAlarmType_ShelvingState_OneShotShelve,13319,Method CertificateExpirationAlarmType_ShelvingState_TimedShelve,13320,Method CertificateExpirationAlarmType_ShelvingState_TimedShelve_InputArguments,13321,Variable CertificateExpirationAlarmType_SuppressedOrShelved,13322,Variable CertificateExpirationAlarmType_MaxTimeShelved,13323,Variable CertificateExpirationAlarmType_NormalState,13324,Variable CertificateExpirationAlarmType_ExpirationDate,13325,Variable CertificateExpirationAlarmType_CertificateType,13326,Variable CertificateExpirationAlarmType_Certificate,13327,Variable ServerType_Namespaces_AddressSpaceFile_MimeType,13340,Variable FileType_MimeType,13341,Variable CreateDirectoryMethodType,13342,Method CreateDirectoryMethodType_InputArguments,13343,Variable CreateDirectoryMethodType_OutputArguments,13344,Variable CreateFileMethodType,13345,Method CreateFileMethodType_InputArguments,13346,Variable CreateFileMethodType_OutputArguments,13347,Variable DeleteFileMethodType,13348,Method DeleteFileMethodType_InputArguments,13349,Variable MoveOrCopyMethodType,13350,Method MoveOrCopyMethodType_InputArguments,13351,Variable MoveOrCopyMethodType_OutputArguments,13352,Variable FileDirectoryType,13353,ObjectType FileDirectoryType_xFileDirectoryNamex,13354,Object FileDirectoryType_xFileDirectoryNamex_CreateDirectory,13355,Method FileDirectoryType_xFileDirectoryNamex_CreateDirectory_InputArguments,13356,Variable FileDirectoryType_xFileDirectoryNamex_CreateDirectory_OutputArguments,13357,Variable FileDirectoryType_xFileDirectoryNamex_CreateFile,13358,Method FileDirectoryType_xFileDirectoryNamex_CreateFile_InputArguments,13359,Variable FileDirectoryType_xFileDirectoryNamex_CreateFile_OutputArguments,13360,Variable FileDirectoryType_xFileDirectoryNamex_Delete,13361,Method FileDirectoryType_xFileDirectoryNamex_Delete_InputArguments,13362,Variable FileDirectoryType_xFileDirectoryNamex_MoveOrCopy,13363,Method FileDirectoryType_xFileDirectoryNamex_MoveOrCopy_InputArguments,13364,Variable FileDirectoryType_xFileDirectoryNamex_MoveOrCopy_OutputArguments,13365,Variable FileDirectoryType_xFileNamex,13366,Object FileDirectoryType_xFileNamex_Size,13367,Variable FileDirectoryType_xFileNamex_Writable,13368,Variable FileDirectoryType_xFileNamex_UserWritable,13369,Variable FileDirectoryType_xFileNamex_OpenCount,13370,Variable FileDirectoryType_xFileNamex_MimeType,13371,Variable FileDirectoryType_xFileNamex_Open,13372,Method FileDirectoryType_xFileNamex_Open_InputArguments,13373,Variable FileDirectoryType_xFileNamex_Open_OutputArguments,13374,Variable FileDirectoryType_xFileNamex_Close,13375,Method FileDirectoryType_xFileNamex_Close_InputArguments,13376,Variable FileDirectoryType_xFileNamex_Read,13377,Method FileDirectoryType_xFileNamex_Read_InputArguments,13378,Variable FileDirectoryType_xFileNamex_Read_OutputArguments,13379,Variable FileDirectoryType_xFileNamex_Write,13380,Method FileDirectoryType_xFileNamex_Write_InputArguments,13381,Variable FileDirectoryType_xFileNamex_GetPosition,13382,Method FileDirectoryType_xFileNamex_GetPosition_InputArguments,13383,Variable FileDirectoryType_xFileNamex_GetPosition_OutputArguments,13384,Variable FileDirectoryType_xFileNamex_SetPosition,13385,Method FileDirectoryType_xFileNamex_SetPosition_InputArguments,13386,Variable FileDirectoryType_CreateDirectory,13387,Method FileDirectoryType_CreateDirectory_InputArguments,13388,Variable FileDirectoryType_CreateDirectory_OutputArguments,13389,Variable FileDirectoryType_CreateFile,13390,Method FileDirectoryType_CreateFile_InputArguments,13391,Variable FileDirectoryType_CreateFile_OutputArguments,13392,Variable FileDirectoryType_Delete,13393,Method FileDirectoryType_Delete_InputArguments,13394,Variable FileDirectoryType_MoveOrCopy,13395,Method FileDirectoryType_MoveOrCopy_InputArguments,13396,Variable FileDirectoryType_MoveOrCopy_OutputArguments,13397,Variable AddressSpaceFileType_MimeType,13398,Variable NamespaceMetadataType_NamespaceFile_MimeType,13399,Variable NamespacesType_NamespaceIdentifier_NamespaceFile_MimeType,13400,Variable NamespacesType_AddressSpaceFile_MimeType,13401,Variable Server_Namespaces_AddressSpaceFile_MimeType,13402,Variable TrustListType_MimeType,13403,Variable CertificateGroupType_TrustList,13599,Object CertificateGroupType_TrustList_Size,13600,Variable CertificateGroupType_TrustList_Writable,13601,Variable CertificateGroupType_TrustList_UserWritable,13602,Variable CertificateGroupType_TrustList_OpenCount,13603,Variable CertificateGroupType_TrustList_MimeType,13604,Variable CertificateGroupType_TrustList_Open,13605,Method CertificateGroupType_TrustList_Open_InputArguments,13606,Variable CertificateGroupType_TrustList_Open_OutputArguments,13607,Variable CertificateGroupType_TrustList_Close,13608,Method CertificateGroupType_TrustList_Close_InputArguments,13609,Variable CertificateGroupType_TrustList_Read,13610,Method CertificateGroupType_TrustList_Read_InputArguments,13611,Variable CertificateGroupType_TrustList_Read_OutputArguments,13612,Variable CertificateGroupType_TrustList_Write,13613,Method CertificateGroupType_TrustList_Write_InputArguments,13614,Variable CertificateGroupType_TrustList_GetPosition,13615,Method CertificateGroupType_TrustList_GetPosition_InputArguments,13616,Variable CertificateGroupType_TrustList_GetPosition_OutputArguments,13617,Variable CertificateGroupType_TrustList_SetPosition,13618,Method CertificateGroupType_TrustList_SetPosition_InputArguments,13619,Variable CertificateGroupType_TrustList_LastUpdateTime,13620,Variable CertificateGroupType_TrustList_OpenWithMasks,13621,Method CertificateGroupType_TrustList_OpenWithMasks_InputArguments,13622,Variable CertificateGroupType_TrustList_OpenWithMasks_OutputArguments,13623,Variable CertificateGroupType_TrustList_CloseAndUpdate,13624,Method CertificateGroupType_TrustList_CloseAndUpdate_InputArguments,13625,Variable CertificateGroupType_TrustList_CloseAndUpdate_OutputArguments,13626,Variable CertificateGroupType_TrustList_AddCertificate,13627,Method CertificateGroupType_TrustList_AddCertificate_InputArguments,13628,Variable CertificateGroupType_TrustList_RemoveCertificate,13629,Method CertificateGroupType_TrustList_RemoveCertificate_InputArguments,13630,Variable CertificateGroupType_CertificateTypes,13631,Variable CertificateUpdatedAuditEventType_CertificateGroup,13735,Variable CertificateUpdatedAuditEventType_CertificateType,13736,Variable ServerConfiguration_UpdateCertificate,13737,Method ServerConfiguration_UpdateCertificate_InputArguments,13738,Variable ServerConfiguration_UpdateCertificate_OutputArguments,13739,Variable CertificateGroupFolderType,13813,ObjectType CertificateGroupFolderType_DefaultApplicationGroup,13814,Object CertificateGroupFolderType_DefaultApplicationGroup_TrustList,13815,Object CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Size,13816,Variable CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Writable,13817,Variable CertificateGroupFolderType_DefaultApplicationGroup_TrustList_UserWritable,13818,Variable CertificateGroupFolderType_DefaultApplicationGroup_TrustList_OpenCount,13819,Variable CertificateGroupFolderType_DefaultApplicationGroup_TrustList_MimeType,13820,Variable CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Open,13821,Method CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Open_InputArguments,13822,Variable CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Open_OutputArguments,13823,Variable CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Close,13824,Method CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Close_InputArguments,13825,Variable CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Read,13826,Method CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Read_InputArguments,13827,Variable CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Read_OutputArguments,13828,Variable CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Write,13829,Method CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Write_InputArguments,13830,Variable CertificateGroupFolderType_DefaultApplicationGroup_TrustList_GetPosition,13831,Method CertificateGroupFolderType_DefaultApplicationGroup_TrustList_GetPosition_InputArguments,13832,Variable CertificateGroupFolderType_DefaultApplicationGroup_TrustList_GetPosition_OutputArguments,13833,Variable CertificateGroupFolderType_DefaultApplicationGroup_TrustList_SetPosition,13834,Method CertificateGroupFolderType_DefaultApplicationGroup_TrustList_SetPosition_InputArguments,13835,Variable CertificateGroupFolderType_DefaultApplicationGroup_TrustList_LastUpdateTime,13836,Variable CertificateGroupFolderType_DefaultApplicationGroup_TrustList_OpenWithMasks,13837,Method CertificateGroupFolderType_DefaultApplicationGroup_TrustList_OpenWithMasks_InputArguments,13838,Variable CertificateGroupFolderType_DefaultApplicationGroup_TrustList_OpenWithMasks_OutputArguments,13839,Variable CertificateGroupFolderType_DefaultApplicationGroup_TrustList_CloseAndUpdate,13840,Method CertificateGroupFolderType_DefaultApplicationGroup_TrustList_CloseAndUpdate_InputArguments,13841,Variable CertificateGroupFolderType_DefaultApplicationGroup_TrustList_CloseAndUpdate_OutputArguments,13842,Variable CertificateGroupFolderType_DefaultApplicationGroup_TrustList_AddCertificate,13843,Method CertificateGroupFolderType_DefaultApplicationGroup_TrustList_AddCertificate_InputArguments,13844,Variable CertificateGroupFolderType_DefaultApplicationGroup_TrustList_RemoveCertificate,13845,Method CertificateGroupFolderType_DefaultApplicationGroup_TrustList_RemoveCertificate_InputArguments,13846,Variable CertificateGroupFolderType_DefaultApplicationGroup_CertificateTypes,13847,Variable CertificateGroupFolderType_DefaultHttpsGroup,13848,Object CertificateGroupFolderType_DefaultHttpsGroup_TrustList,13849,Object CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Size,13850,Variable CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Writable,13851,Variable CertificateGroupFolderType_DefaultHttpsGroup_TrustList_UserWritable,13852,Variable CertificateGroupFolderType_DefaultHttpsGroup_TrustList_OpenCount,13853,Variable CertificateGroupFolderType_DefaultHttpsGroup_TrustList_MimeType,13854,Variable CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Open,13855,Method CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Open_InputArguments,13856,Variable CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Open_OutputArguments,13857,Variable CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Close,13858,Method CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Close_InputArguments,13859,Variable CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Read,13860,Method CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Read_InputArguments,13861,Variable CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Read_OutputArguments,13862,Variable CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Write,13863,Method CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Write_InputArguments,13864,Variable CertificateGroupFolderType_DefaultHttpsGroup_TrustList_GetPosition,13865,Method CertificateGroupFolderType_DefaultHttpsGroup_TrustList_GetPosition_InputArguments,13866,Variable CertificateGroupFolderType_DefaultHttpsGroup_TrustList_GetPosition_OutputArguments,13867,Variable CertificateGroupFolderType_DefaultHttpsGroup_TrustList_SetPosition,13868,Method CertificateGroupFolderType_DefaultHttpsGroup_TrustList_SetPosition_InputArguments,13869,Variable CertificateGroupFolderType_DefaultHttpsGroup_TrustList_LastUpdateTime,13870,Variable CertificateGroupFolderType_DefaultHttpsGroup_TrustList_OpenWithMasks,13871,Method CertificateGroupFolderType_DefaultHttpsGroup_TrustList_OpenWithMasks_InputArguments,13872,Variable CertificateGroupFolderType_DefaultHttpsGroup_TrustList_OpenWithMasks_OutputArguments,13873,Variable CertificateGroupFolderType_DefaultHttpsGroup_TrustList_CloseAndUpdate,13874,Method CertificateGroupFolderType_DefaultHttpsGroup_TrustList_CloseAndUpdate_InputArguments,13875,Variable CertificateGroupFolderType_DefaultHttpsGroup_TrustList_CloseAndUpdate_OutputArguments,13876,Variable CertificateGroupFolderType_DefaultHttpsGroup_TrustList_AddCertificate,13877,Method CertificateGroupFolderType_DefaultHttpsGroup_TrustList_AddCertificate_InputArguments,13878,Variable CertificateGroupFolderType_DefaultHttpsGroup_TrustList_RemoveCertificate,13879,Method CertificateGroupFolderType_DefaultHttpsGroup_TrustList_RemoveCertificate_InputArguments,13880,Variable CertificateGroupFolderType_DefaultHttpsGroup_CertificateTypes,13881,Variable CertificateGroupFolderType_DefaultUserTokenGroup,13882,Object CertificateGroupFolderType_DefaultUserTokenGroup_TrustList,13883,Object CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Size,13884,Variable CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Writable,13885,Variable CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_UserWritable,13886,Variable CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_OpenCount,13887,Variable CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_MimeType,13888,Variable CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Open,13889,Method CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Open_InputArguments,13890,Variable CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Open_OutputArguments,13891,Variable CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Close,13892,Method CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Close_InputArguments,13893,Variable CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Read,13894,Method CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Read_InputArguments,13895,Variable CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Read_OutputArguments,13896,Variable CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Write,13897,Method CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Write_InputArguments,13898,Variable CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_GetPosition,13899,Method CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_GetPosition_InputArguments,13900,Variable CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_GetPosition_OutputArguments,13901,Variable CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_SetPosition,13902,Method CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_SetPosition_InputArguments,13903,Variable CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_LastUpdateTime,13904,Variable CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_OpenWithMasks,13905,Method CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_OpenWithMasks_InputArguments,13906,Variable CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_OpenWithMasks_OutputArguments,13907,Variable CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_CloseAndUpdate,13908,Method CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_CloseAndUpdate_InputArguments,13909,Variable CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_CloseAndUpdate_OutputArguments,13910,Variable CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_AddCertificate,13911,Method CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_AddCertificate_InputArguments,13912,Variable CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_RemoveCertificate,13913,Method CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_RemoveCertificate_InputArguments,13914,Variable CertificateGroupFolderType_DefaultUserTokenGroup_CertificateTypes,13915,Variable CertificateGroupFolderType_xCertificateGroupx,13916,Object CertificateGroupFolderType_xCertificateGroupx_TrustList,13917,Object CertificateGroupFolderType_xCertificateGroupx_TrustList_Size,13918,Variable CertificateGroupFolderType_xCertificateGroupx_TrustList_Writable,13919,Variable CertificateGroupFolderType_xCertificateGroupx_TrustList_UserWritable,13920,Variable CertificateGroupFolderType_xCertificateGroupx_TrustList_OpenCount,13921,Variable CertificateGroupFolderType_xCertificateGroupx_TrustList_MimeType,13922,Variable CertificateGroupFolderType_xCertificateGroupx_TrustList_Open,13923,Method CertificateGroupFolderType_xCertificateGroupx_TrustList_Open_InputArguments,13924,Variable CertificateGroupFolderType_xCertificateGroupx_TrustList_Open_OutputArguments,13925,Variable CertificateGroupFolderType_xCertificateGroupx_TrustList_Close,13926,Method CertificateGroupFolderType_xCertificateGroupx_TrustList_Close_InputArguments,13927,Variable CertificateGroupFolderType_xCertificateGroupx_TrustList_Read,13928,Method CertificateGroupFolderType_xCertificateGroupx_TrustList_Read_InputArguments,13929,Variable CertificateGroupFolderType_xCertificateGroupx_TrustList_Read_OutputArguments,13930,Variable CertificateGroupFolderType_xCertificateGroupx_TrustList_Write,13931,Method CertificateGroupFolderType_xCertificateGroupx_TrustList_Write_InputArguments,13932,Variable CertificateGroupFolderType_xCertificateGroupx_TrustList_GetPosition,13933,Method CertificateGroupFolderType_xCertificateGroupx_TrustList_GetPosition_InputArguments,13934,Variable CertificateGroupFolderType_xCertificateGroupx_TrustList_GetPosition_OutputArguments,13935,Variable CertificateGroupFolderType_xCertificateGroupx_TrustList_SetPosition,13936,Method CertificateGroupFolderType_xCertificateGroupx_TrustList_SetPosition_InputArguments,13937,Variable CertificateGroupFolderType_xCertificateGroupx_TrustList_LastUpdateTime,13938,Variable CertificateGroupFolderType_xCertificateGroupx_TrustList_OpenWithMasks,13939,Method CertificateGroupFolderType_xCertificateGroupx_TrustList_OpenWithMasks_InputArguments,13940,Variable CertificateGroupFolderType_xCertificateGroupx_TrustList_OpenWithMasks_OutputArguments,13941,Variable CertificateGroupFolderType_xCertificateGroupx_TrustList_CloseAndUpdate,13942,Method CertificateGroupFolderType_xCertificateGroupx_TrustList_CloseAndUpdate_InputArguments,13943,Variable CertificateGroupFolderType_xCertificateGroupx_TrustList_CloseAndUpdate_OutputArguments,13944,Variable CertificateGroupFolderType_xCertificateGroupx_TrustList_AddCertificate,13945,Method CertificateGroupFolderType_xCertificateGroupx_TrustList_AddCertificate_InputArguments,13946,Variable CertificateGroupFolderType_xCertificateGroupx_TrustList_RemoveCertificate,13947,Method CertificateGroupFolderType_xCertificateGroupx_TrustList_RemoveCertificate_InputArguments,13948,Variable CertificateGroupFolderType_xCertificateGroupx_CertificateTypes,13949,Variable ServerConfigurationType_CertificateGroups,13950,Object ServerConfigurationType_CertificateGroups_DefaultApplicationGroup,13951,Object ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList,13952,Object ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Size,13953,Variable ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Writable,13954,Variable ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_UserWritable,13955,Variable ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_OpenCount,13956,Variable ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_MimeType,13957,Variable ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Open,13958,Method ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Open_InputArguments,13959,Variable ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Open_OutputArguments,13960,Variable ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Close,13961,Method ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Close_InputArguments,13962,Variable ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Read,13963,Method ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Read_InputArguments,13964,Variable ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Read_OutputArguments,13965,Variable ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Write,13966,Method ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Write_InputArguments,13967,Variable ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_GetPosition,13968,Method ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_GetPosition_InputArguments,13969,Variable ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_GetPosition_OutputArguments,13970,Variable ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_SetPosition,13971,Method ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_SetPosition_InputArguments,13972,Variable ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_LastUpdateTime,13973,Variable ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_OpenWithMasks,13974,Method ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_OpenWithMasks_InputArguments,13975,Variable ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_OpenWithMasks_OutputArguments,13976,Variable ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_CloseAndUpdate,13977,Method ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_CloseAndUpdate_InputArguments,13978,Variable ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_CloseAndUpdate_OutputArguments,13979,Variable ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_AddCertificate,13980,Method ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_AddCertificate_InputArguments,13981,Variable ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_RemoveCertificate,13982,Method ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_RemoveCertificate_InputArguments,13983,Variable ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_CertificateTypes,13984,Variable ServerConfigurationType_CertificateGroups_DefaultHttpsGroup,13985,Object ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList,13986,Object ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Size,13987,Variable ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Writable,13988,Variable ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_UserWritable,13989,Variable ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_OpenCount,13990,Variable ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_MimeType,13991,Variable ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Open,13992,Method ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Open_InputArguments,13993,Variable ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Open_OutputArguments,13994,Variable ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Close,13995,Method ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Close_InputArguments,13996,Variable ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Read,13997,Method ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Read_InputArguments,13998,Variable ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Read_OutputArguments,13999,Variable ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Write,14000,Method ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Write_InputArguments,14001,Variable ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_GetPosition,14002,Method ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_GetPosition_InputArguments,14003,Variable ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_GetPosition_OutputArguments,14004,Variable ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_SetPosition,14005,Method ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_SetPosition_InputArguments,14006,Variable ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_LastUpdateTime,14007,Variable ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_OpenWithMasks,14008,Method ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_OpenWithMasks_InputArguments,14009,Variable ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_OpenWithMasks_OutputArguments,14010,Variable ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_CloseAndUpdate,14011,Method ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_CloseAndUpdate_InputArguments,14012,Variable ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_CloseAndUpdate_OutputArguments,14013,Variable ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_AddCertificate,14014,Method ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_AddCertificate_InputArguments,14015,Variable ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_RemoveCertificate,14016,Method ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_RemoveCertificate_InputArguments,14017,Variable ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_CertificateTypes,14018,Variable ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup,14019,Object ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList,14020,Object ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Size,14021,Variable ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Writable,14022,Variable ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_UserWritable,14023,Variable ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenCount,14024,Variable ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_MimeType,14025,Variable ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Open,14026,Method ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Open_InputArguments,14027,Variable ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Open_OutputArguments,14028,Variable ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Close,14029,Method ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Close_InputArguments,14030,Variable ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Read,14031,Method ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Read_InputArguments,14032,Variable ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Read_OutputArguments,14033,Variable ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Write,14034,Method ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Write_InputArguments,14035,Variable ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_GetPosition,14036,Method ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_GetPosition_InputArguments,14037,Variable ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_GetPosition_OutputArguments,14038,Variable ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_SetPosition,14039,Method ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_SetPosition_InputArguments,14040,Variable ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_LastUpdateTime,14041,Variable ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenWithMasks,14042,Method ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenWithMasks_InputArguments,14043,Variable ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenWithMasks_OutputArguments,14044,Variable ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_CloseAndUpdate,14045,Method ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_CloseAndUpdate_InputArguments,14046,Variable ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_CloseAndUpdate_OutputArguments,14047,Variable ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_AddCertificate,14048,Method ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_AddCertificate_InputArguments,14049,Variable ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_RemoveCertificate,14050,Method ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_RemoveCertificate_InputArguments,14051,Variable ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_CertificateTypes,14052,Variable ServerConfiguration_CertificateGroups,14053,Object ServerConfiguration_CertificateGroups_DefaultHttpsGroup,14088,Object ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList,14089,Object ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Size,14090,Variable ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Writable,14091,Variable ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_UserWritable,14092,Variable ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_OpenCount,14093,Variable ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_MimeType,14094,Variable ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Open,14095,Method ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Open_InputArguments,14096,Variable ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Open_OutputArguments,14097,Variable ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Close,14098,Method ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Close_InputArguments,14099,Variable ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Read,14100,Method ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Read_InputArguments,14101,Variable ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Read_OutputArguments,14102,Variable ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Write,14103,Method ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Write_InputArguments,14104,Variable ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_GetPosition,14105,Method ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_GetPosition_InputArguments,14106,Variable ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_GetPosition_OutputArguments,14107,Variable ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_SetPosition,14108,Method ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_SetPosition_InputArguments,14109,Variable ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_LastUpdateTime,14110,Variable ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_OpenWithMasks,14111,Method ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_OpenWithMasks_InputArguments,14112,Variable ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_OpenWithMasks_OutputArguments,14113,Variable ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_CloseAndUpdate,14114,Method ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_CloseAndUpdate_InputArguments,14115,Variable ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_CloseAndUpdate_OutputArguments,14116,Variable ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_AddCertificate,14117,Method ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_AddCertificate_InputArguments,14118,Variable ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_RemoveCertificate,14119,Method ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_RemoveCertificate_InputArguments,14120,Variable ServerConfiguration_CertificateGroups_DefaultHttpsGroup_CertificateTypes,14121,Variable ServerConfiguration_CertificateGroups_DefaultUserTokenGroup,14122,Object ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList,14123,Object ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Size,14124,Variable ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Writable,14125,Variable ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_UserWritable,14126,Variable ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenCount,14127,Variable ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_MimeType,14128,Variable ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Open,14129,Method ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Open_InputArguments,14130,Variable ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Open_OutputArguments,14131,Variable ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Close,14132,Method ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Close_InputArguments,14133,Variable ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Read,14134,Method ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Read_InputArguments,14135,Variable ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Read_OutputArguments,14136,Variable ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Write,14137,Method ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Write_InputArguments,14138,Variable ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_GetPosition,14139,Method ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_GetPosition_InputArguments,14140,Variable ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_GetPosition_OutputArguments,14141,Variable ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_SetPosition,14142,Method ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_SetPosition_InputArguments,14143,Variable ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_LastUpdateTime,14144,Variable ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenWithMasks,14145,Method ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenWithMasks_InputArguments,14146,Variable ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenWithMasks_OutputArguments,14147,Variable ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_CloseAndUpdate,14148,Method ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_CloseAndUpdate_InputArguments,14149,Variable ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_CloseAndUpdate_OutputArguments,14150,Variable ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_AddCertificate,14151,Method ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_AddCertificate_InputArguments,14152,Variable ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_RemoveCertificate,14153,Method ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_RemoveCertificate_InputArguments,14154,Variable ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_CertificateTypes,14155,Variable ServerConfiguration_CertificateGroups_DefaultApplicationGroup,14156,Object ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Writable,14157,Variable ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_UserWritable,14158,Variable ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_MimeType,14159,Variable ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_CloseAndUpdate_InputArguments,14160,Variable ServerConfiguration_CertificateGroups_DefaultApplicationGroup_CertificateTypes,14161,Variable AuditCreateSessionEventType_SessionId,14413,Variable AuditUrlMismatchEventType_SessionId,14414,Variable Server_ServerRedundancy_ServerNetworkGroups,14415,Variable python-opcua-0.90.3/schemas/OPCBinarySchema.xsd000066400000000000000000000111241310132730300212730ustar00rootroot00000000000000 python-opcua-0.90.3/schemas/Opc.Ua.Adi.NodeSet2.xml000066400000000000000000032536041310132730300216070ustar00rootroot00000000000000 http://opcfoundation.org/UA/ADI/ http://opcfoundation.org/UA/DI/ i=1 i=2 i=3 i=4 i=5 i=6 i=7 i=8 i=9 i=10 i=11 i=13 i=12 i=15 i=14 i=16 i=17 i=18 i=20 i=21 i=19 i=22 i=26 i=27 i=28 i=47 i=46 i=35 i=36 i=48 i=45 i=40 i=37 i=38 i=39 AnalyserDeviceType ns=1;i=5001 ns=1;i=5002 ns=1;i=8092 ns=1;i=5003 ns=1;i=5004 ns=1;i=5005 ns=1;i=5006 ns=1;i=9480 ns=1;i=9835 ns=2;i=1002 ParameterSet Flat list of Parameters ns=1;i=6008 ns=1;i=6011 ns=1;i=6016 ns=1;i=6021 ns=1;i=6024 ns=1;i=6027 ns=1;i=6030 ns=1;i=6033 ns=1;i=6036 ns=1;i=6039 ns=1;i=6042 ns=1;i=6048 i=58 i=78 ns=1;i=1001 DiagnosticStatus General health status of the analyser ns=1;i=5004 i=2365 i=78 ns=1;i=5001 OutOfSpecification Device being operated out of Specification. Uncertain value due to process and environment influence ns=1;i=6014 ns=1;i=6015 ns=1;i=5004 i=2373 i=78 ns=1;i=5001 FalseState i=68 i=78 ns=1;i=6011 TrueState i=68 i=78 ns=1;i=6011 FunctionCheck Local operation, configuration is changing, substitute value entered. ns=1;i=6019 ns=1;i=6020 ns=1;i=5004 i=2373 i=78 ns=1;i=5001 FalseState i=68 i=78 ns=1;i=6016 TrueState i=68 i=78 ns=1;i=6016 SerialNumber Identifier that uniquely identifies, within a manufacturer, a device instance ns=1;i=8092 ns=1;i=5005 i=2365 i=78 ns=1;i=5001 Manufacturer Name of the company that manufactured the device ns=1;i=8092 ns=1;i=5005 i=2365 i=78 ns=1;i=5001 Model Model name of the device ns=1;i=8092 ns=1;i=5005 i=2365 i=78 ns=1;i=5001 DeviceManual Address (pathname in the file system or a URL | Web address) of user manual for the device ns=1;i=5005 i=2365 i=78 ns=1;i=5001 DeviceRevision Overall revision level of the device ns=1;i=5005 i=2365 i=78 ns=1;i=5001 SoftwareRevision Revision level of the software/firmware of the device ns=1;i=5005 i=2365 i=78 ns=1;i=5001 HardwareRevision Revision level of the hardware of the device ns=1;i=5005 i=2365 i=78 ns=1;i=5001 RevisionCounter An incremental counter indicating the number of times the static data within the Device has been modified ns=1;i=5005 i=2365 i=78 ns=1;i=5001 MACAddress Analyser primary MAC address i=2365 i=80 ns=1;i=5001 MethodSet Flat list of Methods ns=1;i=8094 ns=1;i=8096 ns=1;i=8099 ns=1;i=8101 ns=1;i=8104 ns=1;i=8105 ns=1;i=8106 ns=1;i=8107 ns=1;i=8108 ns=1;i=8109 i=58 i=78 ns=1;i=1001 GetConfiguration ns=1;i=8095 ns=1;i=8094 i=78 ns=1;i=5002 OutputArguments i=68 i=78 ns=1;i=8094 i=297 ConfigData i=15 -1 SetConfiguration ns=1;i=8097 ns=1;i=8098 ns=1;i=8096 i=78 ns=1;i=5002 InputArguments i=68 i=78 ns=1;i=8096 i=297 ConfigData i=15 -1 OutputArguments i=68 i=78 ns=1;i=8096 i=297 ConfigDataDigest i=12 -1 GetConfigDataDigest ns=1;i=8100 ns=1;i=8099 i=78 ns=1;i=5002 OutputArguments i=68 i=78 ns=1;i=8099 i=297 ConfigDataDigest i=12 -1 CompareConfigDataDigest ns=1;i=8102 ns=1;i=8103 ns=1;i=8101 i=78 ns=1;i=5002 InputArguments i=68 i=78 ns=1;i=8101 i=297 ConfigDataDigest i=12 -1 OutputArguments i=68 i=78 ns=1;i=8101 i=297 IsEqual i=1 -1 ResetAllChannels Reset all AnalyserChannels belonging to this AnalyserDevice. ns=1;i=8104 i=78 ns=1;i=5002 StartAllChannels Start all AnalyserChannels belonging to this AnalyserDevice. ns=1;i=8105 i=78 ns=1;i=5002 StopAllChannels Stop all AnalyserChannels belonging to this AnalyserDevice. ns=1;i=8106 i=78 ns=1;i=5002 AbortAllChannels Abort all AnalyserChannels belonging to this AnalyserDevice. ns=1;i=8107 i=78 ns=1;i=5002 GotoOperating AnalyserDeviceStateMachine to go to Operating state, forcing all AnalyserChannels to leave the SlaveMode state and go to the Operating state. ns=1;i=8108 i=78 ns=1;i=5002 GotoMaintenance AnalyserDeviceStateMachine to go to Maintenance state, forcing all AnalyserChannels to SlaveMode state. ns=1;i=8109 i=78 ns=1;i=5002 Identification Used to organize parameters for identification of this TopologyElement ns=1;i=6024 ns=1;i=6027 ns=1;i=6021 ns=2;i=1005 i=80 ns=1;i=1001 Configuration ns=2;i=1005 i=78 ns=1;i=1001 Status ns=1;i=6008 ns=1;i=6011 ns=1;i=6016 ns=2;i=1005 i=78 ns=1;i=1001 FactorySettings ns=1;i=6021 ns=1;i=6024 ns=1;i=6027 ns=1;i=6030 ns=1;i=6033 ns=1;i=6036 ns=1;i=6039 ns=1;i=6042 ns=2;i=1005 i=78 ns=1;i=1001 AnalyserStateMachine ns=1;i=6051 ns=1;i=5007 ns=1;i=5008 ns=1;i=5009 ns=1;i=5010 ns=1;i=5011 ns=1;i=5012 ns=1;i=5013 ns=1;i=5014 ns=1;i=5015 ns=1;i=5016 ns=1;i=5017 ns=1;i=5018 ns=1;i=5019 ns=1;i=5020 ns=1;i=5021 ns=1;i=8109 ns=1;i=8108 ns=1;i=1002 i=78 ns=1;i=1001 CurrentState ns=1;i=6052 i=2760 i=78 ns=1;i=5006 Id i=68 i=78 ns=1;i=6051 Powerup The AnalyserDevice is in its power-up sequence and cannot perform any other task. i=2309 i=78 ns=1;i=5006 Operating The AnalyserDevice is in the Operating mode. i=2307 i=78 ns=1;i=5006 Local The AnalyserDevice is in the Local mode. This mode is normally used to perform local physical maintenance on the analyser. i=2307 i=78 ns=1;i=5006 Maintenance The AnalyserDevice is in the Maintenance mode. This mode is used to perform remote maintenance on the analyser like firmware upgrade. i=2307 i=78 ns=1;i=5006 Shutdown The AnalyserDevice is in its power-down sequence and cannot perform any other task. i=2307 i=78 ns=1;i=5006 PowerupToOperatingTransition i=2310 i=78 ns=1;i=5006 OperatingToLocalTransition i=2310 i=78 ns=1;i=5006 OperatingToMaintenanceTransition ns=1;i=8109 i=2310 i=78 ns=1;i=5006 LocalToOperatingTransition i=2310 i=78 ns=1;i=5006 LocalToMaintenanceTransition i=2310 i=78 ns=1;i=5006 MaintenanceToOperatingTransition ns=1;i=8108 i=2310 i=78 ns=1;i=5006 MaintenanceToLocalTransition i=2310 i=78 ns=1;i=5006 OperatingToShutdownTransition i=2310 i=78 ns=1;i=5006 LocalToShutdownTransition i=2310 i=78 ns=1;i=5006 MaintenanceToShutdownTransition i=2310 i=78 ns=1;i=5006 <ChannelIdentifier> ns=1;i=9481 ns=1;i=9483 ns=1;i=9511 ns=1;i=9512 ns=1;i=9513 ns=1;i=1003 i=11510 ns=1;i=1001 ParameterSet Flat list of Parameters ns=1;i=9502 ns=1;i=9505 ns=1;i=9508 i=58 i=78 ns=1;i=9480 IsEnabled True if the channel is enabled and accepting commands i=2365 i=78 ns=1;i=9481 DiagnosticStatus AnalyserChannel health status i=2365 i=78 ns=1;i=9481 ActiveStream Active stream for this AnalyserChannel i=2365 i=78 ns=1;i=9481 MethodSet Flat list of Methods ns=1;i=9486 ns=1;i=9488 ns=1;i=9489 ns=1;i=9490 ns=1;i=9491 ns=1;i=9492 ns=1;i=9493 ns=1;i=9494 ns=1;i=9495 ns=1;i=9496 ns=1;i=9497 ns=1;i=9498 i=58 i=78 ns=1;i=9480 StartSingleAcquisition ns=1;i=9487 ns=1;i=8111 i=78 ns=1;i=9483 InputArguments i=68 i=78 ns=1;i=9486 i=297 ExecutionCycle ns=1;i=9378 -1 i=297 ExecutionCycleSubcode i=7 -1 i=297 SelectedStream i=12 -1 GotoOperating Transitions the AnalyserChannel to Operating mode. ns=1;i=8113 i=78 ns=1;i=9483 GotoMaintenance Transitions the AnalyserChannel to Maintenance mode. ns=1;i=8114 i=78 ns=1;i=9483 Reset Causes transition to the Resetting state. ns=1;i=8115 i=78 ns=1;i=9483 Start Causes transition to the Starting state. ns=1;i=8116 i=78 ns=1;i=9483 Stop Causes transition to the Stopping state. ns=1;i=8117 i=78 ns=1;i=9483 Hold Causes transition to the Holding state. ns=1;i=8118 i=78 ns=1;i=9483 Unhold Causes transition to the Unholding state. ns=1;i=8119 i=78 ns=1;i=9483 Suspend Causes transition to the Suspending state. ns=1;i=8120 i=78 ns=1;i=9483 Unsuspend Causes transition to the Unsuspending state. ns=1;i=8121 i=78 ns=1;i=9483 Abort Causes transition to the Aborting state. ns=1;i=8122 i=78 ns=1;i=9483 Clear Causes transition to the Clearing state. ns=1;i=8123 i=78 ns=1;i=9483 Configuration ns=2;i=1005 i=78 ns=1;i=9480 Status ns=2;i=1005 i=78 ns=1;i=9480 ChannelStateMachine ns=1;i=9514 ns=1;i=9525 ns=1;i=9527 ns=1;i=9811 ns=1;i=9813 ns=1;i=9815 ns=1;i=9817 ns=1;i=9819 ns=1;i=9821 ns=1;i=9823 ns=1;i=9825 ns=1;i=9827 ns=1;i=9829 ns=1;i=9831 ns=1;i=9833 ns=1;i=8113 ns=1;i=8114 ns=1;i=1007 i=78 ns=1;i=9480 CurrentState ns=1;i=9515 i=2760 i=78 ns=1;i=9513 Id i=68 i=78 ns=1;i=9514 SlaveMode The AnalyserDevice is in Local or Maintenance mode and all AnalyserChannels are in SlaveMode i=2309 i=78 ns=1;i=9513 Operating The AnalyserChannel is in the Operating mode. ns=1;i=9529 ns=1;i=1004 i=78 ns=1;i=9513 OperatingSubStateMachine ns=1;i=9530 ns=1;i=9541 ns=1;i=9543 ns=1;i=9545 ns=1;i=9547 ns=1;i=9549 ns=1;i=9679 ns=1;i=9681 ns=1;i=9683 ns=1;i=9685 ns=1;i=9687 ns=1;i=9689 ns=1;i=9691 ns=1;i=9693 ns=1;i=9695 ns=1;i=9697 ns=1;i=9699 ns=1;i=9701 ns=1;i=9703 ns=1;i=9705 ns=1;i=9707 ns=1;i=9709 ns=1;i=9711 ns=1;i=9713 ns=1;i=9715 ns=1;i=9717 ns=1;i=9719 ns=1;i=9721 ns=1;i=9723 ns=1;i=9725 ns=1;i=9727 ns=1;i=9729 ns=1;i=9731 ns=1;i=9733 ns=1;i=9735 ns=1;i=9737 ns=1;i=9739 ns=1;i=9741 ns=1;i=9743 ns=1;i=9745 ns=1;i=9747 ns=1;i=9749 ns=1;i=9751 ns=1;i=9753 ns=1;i=9755 ns=1;i=9757 ns=1;i=9759 ns=1;i=9761 ns=1;i=9763 ns=1;i=9765 ns=1;i=9767 ns=1;i=9769 ns=1;i=9771 ns=1;i=9773 ns=1;i=9775 ns=1;i=9777 ns=1;i=9779 ns=1;i=9781 ns=1;i=9783 ns=1;i=9785 ns=1;i=9787 ns=1;i=9789 ns=1;i=9791 ns=1;i=9793 ns=1;i=9795 ns=1;i=9797 ns=1;i=9799 ns=1;i=9801 ns=1;i=9803 ns=1;i=9805 ns=1;i=9807 ns=1;i=9809 ns=1;i=8115 ns=1;i=8116 ns=1;i=8111 ns=1;i=8117 ns=1;i=8118 ns=1;i=8119 ns=1;i=8120 ns=1;i=8121 ns=1;i=8122 ns=1;i=8123 ns=1;i=1008 i=78 ns=1;i=9527 CurrentState ns=1;i=9531 i=2760 i=78 ns=1;i=9529 Id i=68 i=78 ns=1;i=9530 Stopped This is the initial state after AnalyserDeviceStateMachine state Powerup i=2309 i=78 ns=1;i=9529 Resetting This state is the result of a Reset or SetConfiguration Method call from the Stopped state. i=2307 i=78 ns=1;i=9529 Idle The Resetting state is completed, all parameters have been committed and ready to start acquisition i=2307 i=78 ns=1;i=9529 Starting The analyser has received the Start or SingleAcquisitionStart Method call and it is preparing to enter in Execute state. i=2307 i=78 ns=1;i=9529 Execute All repetitive acquisition cycles are done in this state: ns=1;i=9551 ns=1;i=8964 i=78 ns=1;i=9529 OperatingExecuteSubStateMachine ns=1;i=9552 ns=1;i=9563 ns=1;i=9565 ns=1;i=9567 ns=1;i=9569 ns=1;i=9571 ns=1;i=9573 ns=1;i=9575 ns=1;i=9577 ns=1;i=9579 ns=1;i=9581 ns=1;i=9583 ns=1;i=9585 ns=1;i=9587 ns=1;i=9589 ns=1;i=9591 ns=1;i=9593 ns=1;i=9595 ns=1;i=9597 ns=1;i=9599 ns=1;i=9601 ns=1;i=9603 ns=1;i=9605 ns=1;i=9607 ns=1;i=9609 ns=1;i=9611 ns=1;i=9613 ns=1;i=9615 ns=1;i=9617 ns=1;i=9619 ns=1;i=9621 ns=1;i=9623 ns=1;i=9625 ns=1;i=9627 ns=1;i=9629 ns=1;i=9631 ns=1;i=9633 ns=1;i=9635 ns=1;i=9637 ns=1;i=9639 ns=1;i=9641 ns=1;i=9643 ns=1;i=9645 ns=1;i=9647 ns=1;i=9649 ns=1;i=9651 ns=1;i=9653 ns=1;i=9655 ns=1;i=9657 ns=1;i=9659 ns=1;i=9661 ns=1;i=9663 ns=1;i=9665 ns=1;i=9667 ns=1;i=9669 ns=1;i=9671 ns=1;i=9673 ns=1;i=9675 ns=1;i=9677 ns=1;i=1009 i=78 ns=1;i=9549 CurrentState ns=1;i=9553 i=2760 i=78 ns=1;i=9551 Id i=68 i=78 ns=1;i=9552 SelectExecutionCycle This pseudo-state is used to decide which execution path shall be taken. i=2309 i=78 ns=1;i=9551 WaitForCalibrationTrigger Wait until the analyser channel is ready to perform the Calibration acquisition cycle i=2307 i=78 ns=1;i=9551 ExtractCalibrationSample Collect / setup the sampling system to perform the acquisition cycle of a Calibration cycle i=2307 i=78 ns=1;i=9551 PrepareCalibrationSample Prepare the Calibration sample for the AnalyseCalibrationSample state i=2307 i=78 ns=1;i=9551 AnalyseCalibrationSample Perform the analysis of the Calibration Sample i=2307 i=78 ns=1;i=9551 WaitForValidationTrigger Wait until the analyser channel is ready to perform the Validation acquisition cycle i=2307 i=78 ns=1;i=9551 ExtractValidationSample Collect / setup the sampling system to perform the acquisition cycle of a Validation cycle i=2307 i=78 ns=1;i=9551 PrepareValidationSample Prepare the Validation sample for the AnalyseValidationSample state i=2307 i=78 ns=1;i=9551 AnalyseValidationSample Perform the analysis of the Validation Sample i=2307 i=78 ns=1;i=9551 WaitForSampleTrigger Wait until the analyser channel is ready to perform the Sample acquisition cycle i=2307 i=78 ns=1;i=9551 ExtractSample Collect the Sample from the process i=2307 i=78 ns=1;i=9551 PrepareSample Prepare the Sample for the AnalyseSample state i=2307 i=78 ns=1;i=9551 AnalyseSample Perform the analysis of the Sample i=2307 i=78 ns=1;i=9551 WaitForDiagnosticTrigger Wait until the analyser channel is ready to perform the diagnostic cycle, i=2307 i=78 ns=1;i=9551 Diagnostic Perform the diagnostic cycle. i=2307 i=78 ns=1;i=9551 WaitForCleaningTrigger Wait until the analyser channel is ready to perform the cleaning cycle, i=2307 i=78 ns=1;i=9551 Cleaning Perform the cleaning cycle. i=2307 i=78 ns=1;i=9551 PublishResults Publish the results of the previous acquisition cycle i=2307 i=78 ns=1;i=9551 EjectGrabSample The Sample that was just analysed is ejected from the system to allow the operator or another system to grab it i=2307 i=78 ns=1;i=9551 CleanupSamplingSystem Cleanup the sampling sub-system to be ready for the next acquisition i=2307 i=78 ns=1;i=9551 SelectExecutionCycleToWaitForCalibrationTriggerTransition i=2310 i=78 ns=1;i=9551 WaitForCalibrationTriggerToExtractCalibrationSampleTransition i=2310 i=78 ns=1;i=9551 ExtractCalibrationSampleTransition i=2310 i=78 ns=1;i=9551 ExtractCalibrationSampleToPrepareCalibrationSampleTransition i=2310 i=78 ns=1;i=9551 PrepareCalibrationSampleTransition i=2310 i=78 ns=1;i=9551 PrepareCalibrationSampleToAnalyseCalibrationSampleTransition i=2310 i=78 ns=1;i=9551 AnalyseCalibrationSampleTransition i=2310 i=78 ns=1;i=9551 AnalyseCalibrationSampleToPublishResultsTransition i=2310 i=78 ns=1;i=9551 SelectExecutionCycleToWaitForValidationTriggerTransition i=2310 i=78 ns=1;i=9551 WaitForValidationTriggerToExtractValidationSampleTransition i=2310 i=78 ns=1;i=9551 ExtractValidationSampleTransition i=2310 i=78 ns=1;i=9551 ExtractValidationSampleToPrepareValidationSampleTransition i=2310 i=78 ns=1;i=9551 PrepareValidationSampleTransition i=2310 i=78 ns=1;i=9551 PrepareValidationSampleToAnalyseValidationSampleTransition i=2310 i=78 ns=1;i=9551 AnalyseValidationSampleTransition i=2310 i=78 ns=1;i=9551 AnalyseValidationSampleToPublishResultsTransition i=2310 i=78 ns=1;i=9551 SelectExecutionCycleToWaitForSampleTriggerTransition i=2310 i=78 ns=1;i=9551 WaitForSampleTriggerToExtractSampleTransition i=2310 i=78 ns=1;i=9551 ExtractSampleTransition i=2310 i=78 ns=1;i=9551 ExtractSampleToPrepareSampleTransition i=2310 i=78 ns=1;i=9551 PrepareSampleTransition i=2310 i=78 ns=1;i=9551 PrepareSampleToAnalyseSampleTransition i=2310 i=78 ns=1;i=9551 AnalyseSampleTransition i=2310 i=78 ns=1;i=9551 AnalyseSampleToPublishResultsTransition i=2310 i=78 ns=1;i=9551 SelectExecutionCycleToWaitForDiagnosticTriggerTransition i=2310 i=78 ns=1;i=9551 WaitForDiagnosticTriggerToDiagnosticTransition i=2310 i=78 ns=1;i=9551 DiagnosticTransition i=2310 i=78 ns=1;i=9551 DiagnosticToPublishResultsTransition i=2310 i=78 ns=1;i=9551 SelectExecutionCycleToWaitForCleaningTriggerTransition i=2310 i=78 ns=1;i=9551 WaitForCleaningTriggerToCleaningTransition i=2310 i=78 ns=1;i=9551 CleaningTransition i=2310 i=78 ns=1;i=9551 CleaningToPublishResultsTransition i=2310 i=78 ns=1;i=9551 PublishResultsToCleanupSamplingSystemTransition i=2310 i=78 ns=1;i=9551 PublishResultsToEjectGrabSampleTransition i=2310 i=78 ns=1;i=9551 EjectGrabSampleTransition i=2310 i=78 ns=1;i=9551 EjectGrabSampleToCleanupSamplingSystemTransition i=2310 i=78 ns=1;i=9551 CleanupSamplingSystemTransition i=2310 i=78 ns=1;i=9551 CleanupSamplingSystemToSelectExecutionCycleTransition i=2310 i=78 ns=1;i=9551 Completing This state is an automatic or commanded exit from the Execute state. i=2307 i=78 ns=1;i=9529 Complete At this point, the Completing state is done and it transitions automatically to Stopped state to wait. i=2307 i=78 ns=1;i=9529 Suspending This state is a result of a change in monitored conditions due to process conditions or factors. i=2307 i=78 ns=1;i=9529 Suspended The analyser or channel may be running but no results are being generated while the analyser or channel is waiting for external process conditions to return to normal. i=2307 i=78 ns=1;i=9529 Unsuspending This state is a result of a device request from Suspended state to transition back to the Execute state by calling the Unsuspend Method. i=2307 i=78 ns=1;i=9529 Holding Brings the analyser or channel to a controlled stop or to a state which represents Held for the particular unit control mode i=2307 i=78 ns=1;i=9529 Held The Held state holds the analyser or channel's operation. At this state, no acquisition cycle is performed. i=2307 i=78 ns=1;i=9529 Unholding The Unholding state is a response to an operator command to resume the Execute state. i=2307 i=78 ns=1;i=9529 Stopping Initiated by a Stop Method call, this state: i=2307 i=78 ns=1;i=9529 Aborting The Aborting state can be entered at any time in response to the Abort command or on the occurrence of a machine fault. i=2307 i=78 ns=1;i=9529 Aborted This state maintains machine status information relevant to the Abort condition. i=2307 i=78 ns=1;i=9529 Clearing Clears faults that may have occurred when Aborting and are present in the Aborted state before proceeding to a Stopped state i=2307 i=78 ns=1;i=9529 StoppedToResettingTransition ns=1;i=8115 ns=1;i=8096 i=2310 i=78 ns=1;i=9529 ResettingTransition i=2310 i=78 ns=1;i=9529 ResettingToIdleTransition i=2310 i=78 ns=1;i=9529 IdleToStartingTransition ns=1;i=8116 ns=1;i=8111 i=2310 i=78 ns=1;i=9529 StartingTransition i=2310 i=78 ns=1;i=9529 StartingToExecuteTransition i=2310 i=78 ns=1;i=9529 ExecuteToCompletingTransition i=2310 i=78 ns=1;i=9529 CompletingTransition i=2310 i=78 ns=1;i=9529 CompletingToCompleteTransition i=2310 i=78 ns=1;i=9529 CompleteToStoppedTransition i=2310 i=78 ns=1;i=9529 ExecuteToHoldingTransition ns=1;i=8118 i=2310 i=78 ns=1;i=9529 HoldingTransition i=2310 i=78 ns=1;i=9529 HoldingToHeldTransition i=2310 i=78 ns=1;i=9529 HeldToUnholdingTransition ns=1;i=8119 i=2310 i=78 ns=1;i=9529 UnholdingTransition i=2310 i=78 ns=1;i=9529 UnholdingToHoldingTransition ns=1;i=8118 i=2310 i=78 ns=1;i=9529 UnholdingToExecuteTransition i=2310 i=78 ns=1;i=9529 ExecuteToSuspendingTransition ns=1;i=8120 i=2310 i=78 ns=1;i=9529 SuspendingTransition i=2310 i=78 ns=1;i=9529 SuspendingToSuspendedTransition i=2310 i=78 ns=1;i=9529 SuspendedToUnsuspendingTransition ns=1;i=8121 i=2310 i=78 ns=1;i=9529 UnsuspendingTransition i=2310 i=78 ns=1;i=9529 UnsuspendingToSuspendingTransition ns=1;i=8120 i=2310 i=78 ns=1;i=9529 UnsuspendingToExecuteTransition i=2310 i=78 ns=1;i=9529 StoppingToStoppedTransition i=2310 i=78 ns=1;i=9529 AbortingToAbortedTransition i=2310 i=78 ns=1;i=9529 AbortedToClearingTransition ns=1;i=8123 i=2310 i=78 ns=1;i=9529 ClearingToStoppedTransition i=2310 i=78 ns=1;i=9529 ResettingToStoppingTransition ns=1;i=8117 i=2310 i=78 ns=1;i=9529 IdleToStoppingTransition ns=1;i=8117 i=2310 i=78 ns=1;i=9529 StartingToStoppingTransition ns=1;i=8117 i=2310 i=78 ns=1;i=9529 ExecuteToStoppingTransition ns=1;i=8117 i=2310 i=78 ns=1;i=9529 CompletingToStoppingTransition ns=1;i=8117 i=2310 i=78 ns=1;i=9529 CompleteToStoppingTransition ns=1;i=8117 i=2310 i=78 ns=1;i=9529 SuspendingToStoppingTransition ns=1;i=8117 i=2310 i=78 ns=1;i=9529 SuspendedToStoppingTransition ns=1;i=8117 i=2310 i=78 ns=1;i=9529 UnsuspendingToStoppingTransition ns=1;i=8117 i=2310 i=78 ns=1;i=9529 HoldingToStoppingTransition ns=1;i=8117 i=2310 i=78 ns=1;i=9529 HeldToStoppingTransition ns=1;i=8117 i=2310 i=78 ns=1;i=9529 UnholdingToStoppingTransition ns=1;i=8117 i=2310 i=78 ns=1;i=9529 StoppedToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=9529 ResettingToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=9529 IdleToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=9529 StartingToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=9529 ExecuteToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=9529 CompletingToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=9529 CompleteToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=9529 SuspendingToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=9529 SuspendedToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=9529 UnsuspendingToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=9529 HoldingToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=9529 HeldToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=9529 UnholdingToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=9529 StoppingToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=9529 Local The AnalyserChannel is in the Local mode. This mode is normally used to perform local physical maintenance on the analyser. ns=1;i=1005 i=78 ns=1;i=9513 Maintenance The AnalyserChannel is in the Maintenance mode. This mode is used to perform remote maintenance on the analyser like firmware upgrade. ns=1;i=1006 i=78 ns=1;i=9513 SlaveModeToOperatingTransition i=2310 i=78 ns=1;i=9513 OperatingToLocalTransition i=2310 i=78 ns=1;i=9513 OperatingToMaintenanceTransition ns=1;i=8114 i=2310 i=78 ns=1;i=9513 LocalToOperatingTransition i=2310 i=78 ns=1;i=9513 LocalToMaintenanceTransition i=2310 i=78 ns=1;i=9513 MaintenanceToOperatingTransition ns=1;i=8113 i=2310 i=78 ns=1;i=9513 MaintenanceToLocalTransition i=2310 i=78 ns=1;i=9513 OperatingToSlaveModeTransition i=2310 i=78 ns=1;i=9513 LocalToSlaveModeTransition i=2310 i=78 ns=1;i=9513 MaintenanceToSlaveModeTransition i=2310 i=78 ns=1;i=9513 <AccessorySlotIdentifier> ns=1;i=9836 ns=1;i=9837 ns=1;i=9838 ns=1;i=9839 ns=1;i=1017 i=11508 ns=1;i=1001 SupportedTypes Folder maintaining the set of (sub-types of) BaseObjectTypes that can be instantiated in the ConfigurableComponent i=61 i=78 ns=1;i=9835 IsHotSwappable True if an accessory can be inserted in the accessory slot while it is powered i=68 i=78 ns=1;i=9835 IsEnabled True if this accessory slot is capable of accepting an accessory in it i=68 i=78 ns=1;i=9835 AccessorySlotStateMachine ns=1;i=9840 ns=1;i=9851 ns=1;i=9853 ns=1;i=9855 ns=1;i=9857 ns=1;i=9859 ns=1;i=9861 ns=1;i=9863 ns=1;i=9865 ns=1;i=9867 ns=1;i=9869 ns=1;i=9871 ns=1;i=9873 ns=1;i=9875 ns=1;i=9877 ns=1;i=9879 ns=1;i=9881 ns=1;i=9883 ns=1;i=9885 ns=1;i=1018 i=78 ns=1;i=9835 CurrentState ns=1;i=9841 i=2760 i=78 ns=1;i=9839 Id i=68 i=78 ns=1;i=9840 Powerup The AccessorySlot is in its power-up sequence and cannot perform any other task. i=2309 i=78 ns=1;i=9839 Empty This represents an AccessorySlot where no Accessory is installed. i=2307 i=78 ns=1;i=9839 Inserting This represents an AccessorySlot when an Accessory is being inserted and initializing. i=2307 i=78 ns=1;i=9839 Installed This represents an AccessorySlot where an Accessory is installed and ready to use. i=2307 i=78 ns=1;i=9839 Removing This represents an AccessorySlot where no Accessory is installed. i=2307 i=78 ns=1;i=9839 Shutdown The AccessorySlot is in its power-down sequence and cannot perform any other task. i=2307 i=78 ns=1;i=9839 PowerupToEmptyTransition i=2310 i=78 ns=1;i=9839 EmptyToInsertingTransition i=2310 i=78 ns=1;i=9839 InsertingTransition i=2310 i=78 ns=1;i=9839 InsertingToRemovingTransition i=2310 i=78 ns=1;i=9839 InsertingToInstalledTransition i=2310 i=78 ns=1;i=9839 InstalledToRemovingTransition i=2310 i=78 ns=1;i=9839 RemovingTransition i=2310 i=78 ns=1;i=9839 RemovingToEmptyTransition i=2310 i=78 ns=1;i=9839 EmptyToShutdownTransition i=2310 i=78 ns=1;i=9839 InsertingToShutdownTransition i=2310 i=78 ns=1;i=9839 InstalledToShutdownTransition i=2310 i=78 ns=1;i=9839 RemovingToShutdownTransition i=2310 i=78 ns=1;i=9839 AnalyserDeviceTypeGetConfigurationMethod ns=1;i=6082 ns=1;i=8011 OutputArguments i=68 ns=1;i=8011 i=297 ConfigData i=15 -1 AnalyserDeviceTypeSetConfigurationMethod ns=1;i=6083 ns=1;i=6084 ns=1;i=8012 InputArguments i=68 ns=1;i=8012 i=297 ConfigData i=15 -1 OutputArguments i=68 ns=1;i=8012 i=297 ConfigDataDigest i=12 -1 AnalyserDeviceTypeGetConfigDataDigestMethod ns=1;i=6085 ns=1;i=8013 OutputArguments i=68 ns=1;i=8013 i=297 ConfigDataDigest i=12 -1 AnalyserDeviceTypeCompareConfigDataDigestMethod ns=1;i=6086 ns=1;i=6087 ns=1;i=8014 InputArguments i=68 ns=1;i=8014 i=297 ConfigDataDigest i=12 -1 OutputArguments i=68 ns=1;i=8014 i=297 IsEqual i=1 -1 AnalyserDeviceStateMachineType ns=1;i=5022 ns=1;i=5023 ns=1;i=5024 ns=1;i=5025 ns=1;i=5026 ns=1;i=5027 ns=1;i=5028 ns=1;i=5029 ns=1;i=5030 ns=1;i=5031 ns=1;i=5032 ns=1;i=5033 ns=1;i=5034 ns=1;i=5035 ns=1;i=5036 ns=1;i=8109 ns=1;i=8108 i=2771 Powerup The AnalyserDevice is in its power-up sequence and cannot perform any other task. ns=1;i=6098 ns=1;i=5027 i=2309 i=78 ns=1;i=1002 StateNumber i=68 i=80 ns=1;i=5022 0 Operating The AnalyserDevice is in the Operating mode. ns=1;i=6099 ns=1;i=5027 ns=1;i=5028 ns=1;i=5029 ns=1;i=5030 ns=1;i=5032 ns=1;i=5034 i=2307 i=78 ns=1;i=1002 StateNumber i=68 i=80 ns=1;i=5023 0 Local The AnalyserDevice is in the Local mode. This mode is normally used to perform local physical maintenance on the analyser. ns=1;i=6100 ns=1;i=5028 ns=1;i=5030 ns=1;i=5031 ns=1;i=5033 ns=1;i=5035 i=2307 i=78 ns=1;i=1002 StateNumber i=68 i=80 ns=1;i=5024 0 Maintenance The AnalyserDevice is in the Maintenance mode. This mode is used to perform remote maintenance on the analyser like firmware upgrade. ns=1;i=6101 ns=1;i=5029 ns=1;i=5031 ns=1;i=5032 ns=1;i=5033 ns=1;i=5036 i=2307 i=78 ns=1;i=1002 StateNumber i=68 i=80 ns=1;i=5025 0 Shutdown The AnalyserDevice is in its power-down sequence and cannot perform any other task. ns=1;i=6102 ns=1;i=5034 ns=1;i=5035 ns=1;i=5036 i=2307 i=78 ns=1;i=1002 StateNumber i=68 i=80 ns=1;i=5026 0 PowerupToOperatingTransition ns=1;i=6103 ns=1;i=5022 ns=1;i=5023 i=2310 i=78 ns=1;i=1002 TransitionNumber i=68 i=80 ns=1;i=5027 0 OperatingToLocalTransition ns=1;i=6104 ns=1;i=5023 ns=1;i=5024 i=2310 i=78 ns=1;i=1002 TransitionNumber i=68 i=80 ns=1;i=5028 0 OperatingToMaintenanceTransition ns=1;i=6105 ns=1;i=5023 ns=1;i=5025 ns=1;i=8109 i=2310 i=78 ns=1;i=1002 TransitionNumber i=68 i=80 ns=1;i=5029 0 LocalToOperatingTransition ns=1;i=6106 ns=1;i=5024 ns=1;i=5023 i=2310 i=78 ns=1;i=1002 TransitionNumber i=68 i=80 ns=1;i=5030 0 LocalToMaintenanceTransition ns=1;i=6107 ns=1;i=5024 ns=1;i=5025 i=2310 i=78 ns=1;i=1002 TransitionNumber i=68 i=80 ns=1;i=5031 0 MaintenanceToOperatingTransition ns=1;i=6108 ns=1;i=5025 ns=1;i=5023 ns=1;i=8108 i=2310 i=78 ns=1;i=1002 TransitionNumber i=68 i=80 ns=1;i=5032 0 MaintenanceToLocalTransition ns=1;i=6109 ns=1;i=5025 ns=1;i=5024 i=2310 i=78 ns=1;i=1002 TransitionNumber i=68 i=80 ns=1;i=5033 0 OperatingToShutdownTransition ns=1;i=6110 ns=1;i=5023 ns=1;i=5026 i=2310 i=78 ns=1;i=1002 TransitionNumber i=68 i=80 ns=1;i=5034 0 LocalToShutdownTransition ns=1;i=6111 ns=1;i=5024 ns=1;i=5026 i=2310 i=78 ns=1;i=1002 TransitionNumber i=68 i=80 ns=1;i=5035 0 MaintenanceToShutdownTransition ns=1;i=6112 ns=1;i=5025 ns=1;i=5026 i=2310 i=78 ns=1;i=1002 TransitionNumber i=68 i=80 ns=1;i=5036 0 AnalyserChannelType ns=1;i=5037 ns=1;i=5038 ns=1;i=9442 ns=1;i=5039 ns=1;i=5040 ns=1;i=5041 ns=1;i=9887 ns=1;i=9988 ns=2;i=1001 ParameterSet Flat list of Parameters ns=1;i=6113 ns=1;i=8124 ns=1;i=6116 ns=1;i=6119 i=58 i=78 ns=1;i=1003 ChannelId Channel Id defined by user i=2365 i=80 ns=1;i=5037 IsEnabled True if the channel is enabled and accepting commands ns=1;i=5039 i=2365 i=78 ns=1;i=5037 DiagnosticStatus AnalyserChannel health status ns=1;i=5040 i=2365 i=78 ns=1;i=5037 ActiveStream Active stream for this AnalyserChannel ns=1;i=5040 i=2365 i=78 ns=1;i=5037 MethodSet Flat list of Methods ns=1;i=8111 ns=1;i=8113 ns=1;i=8114 ns=1;i=8115 ns=1;i=8116 ns=1;i=8117 ns=1;i=8118 ns=1;i=8119 ns=1;i=8120 ns=1;i=8121 ns=1;i=8122 ns=1;i=8123 i=58 i=78 ns=1;i=1003 StartSingleAcquisition ns=1;i=8112 ns=1;i=8111 i=78 ns=1;i=5038 InputArguments i=68 i=78 ns=1;i=8111 i=297 ExecutionCycle ns=1;i=9378 -1 i=297 ExecutionCycleSubcode i=7 -1 i=297 SelectedStream i=12 -1 GotoOperating Transitions the AnalyserChannel to Operating mode. ns=1;i=8113 i=78 ns=1;i=5038 GotoMaintenance Transitions the AnalyserChannel to Maintenance mode. ns=1;i=8114 i=78 ns=1;i=5038 Reset Causes transition to the Resetting state. ns=1;i=8115 i=78 ns=1;i=5038 Start Causes transition to the Starting state. ns=1;i=8116 i=78 ns=1;i=5038 Stop Causes transition to the Stopping state. ns=1;i=8117 i=78 ns=1;i=5038 Hold Causes transition to the Holding state. ns=1;i=8118 i=78 ns=1;i=5038 Unhold Causes transition to the Unholding state. ns=1;i=8119 i=78 ns=1;i=5038 Suspend Causes transition to the Suspending state. ns=1;i=8120 i=78 ns=1;i=5038 Unsuspend Causes transition to the Unsuspending state. ns=1;i=8121 i=78 ns=1;i=5038 Abort Causes transition to the Aborting state. ns=1;i=8122 i=78 ns=1;i=5038 Clear Causes transition to the Clearing state. ns=1;i=8123 i=78 ns=1;i=5038 <GroupIdentifier> An application specific functional group used to organize parameters and methods. ns=2;i=1005 i=11508 ns=1;i=1003 Configuration ns=1;i=8124 ns=2;i=1005 i=78 ns=1;i=1003 Status ns=1;i=6116 ns=1;i=6119 ns=2;i=1005 i=78 ns=1;i=1003 ChannelStateMachine ns=1;i=6122 ns=1;i=5042 ns=1;i=5043 ns=1;i=5045 ns=1;i=5046 ns=1;i=5047 ns=1;i=5048 ns=1;i=5049 ns=1;i=5050 ns=1;i=5051 ns=1;i=5052 ns=1;i=5053 ns=1;i=5054 ns=1;i=5055 ns=1;i=5056 ns=1;i=8113 ns=1;i=8114 ns=1;i=1007 i=78 ns=1;i=1003 CurrentState ns=1;i=6123 i=2760 i=78 ns=1;i=5041 Id i=68 i=78 ns=1;i=6122 SlaveMode The AnalyserDevice is in Local or Maintenance mode and all AnalyserChannels are in SlaveMode i=2309 i=78 ns=1;i=5041 Operating The AnalyserChannel is in the Operating mode. ns=1;i=5044 ns=1;i=1004 i=78 ns=1;i=5041 OperatingSubStateMachine ns=1;i=8127 ns=1;i=8137 ns=1;i=8139 ns=1;i=8141 ns=1;i=8143 ns=1;i=8145 ns=1;i=8274 ns=1;i=8276 ns=1;i=8278 ns=1;i=8280 ns=1;i=8282 ns=1;i=8284 ns=1;i=8286 ns=1;i=8288 ns=1;i=8290 ns=1;i=8292 ns=1;i=8294 ns=1;i=8296 ns=1;i=8298 ns=1;i=8300 ns=1;i=8302 ns=1;i=8304 ns=1;i=8306 ns=1;i=8308 ns=1;i=8310 ns=1;i=8312 ns=1;i=8314 ns=1;i=8316 ns=1;i=8318 ns=1;i=8320 ns=1;i=8322 ns=1;i=8324 ns=1;i=8326 ns=1;i=8328 ns=1;i=8330 ns=1;i=8332 ns=1;i=8334 ns=1;i=8336 ns=1;i=8338 ns=1;i=8340 ns=1;i=8342 ns=1;i=8344 ns=1;i=8346 ns=1;i=8348 ns=1;i=8350 ns=1;i=8352 ns=1;i=8354 ns=1;i=8356 ns=1;i=8358 ns=1;i=8360 ns=1;i=8362 ns=1;i=8364 ns=1;i=8366 ns=1;i=8368 ns=1;i=8370 ns=1;i=8372 ns=1;i=8374 ns=1;i=8376 ns=1;i=8378 ns=1;i=8380 ns=1;i=8382 ns=1;i=8384 ns=1;i=8386 ns=1;i=8388 ns=1;i=8390 ns=1;i=8392 ns=1;i=8394 ns=1;i=8396 ns=1;i=8398 ns=1;i=8400 ns=1;i=8402 ns=1;i=8404 ns=1;i=8115 ns=1;i=8116 ns=1;i=8111 ns=1;i=8117 ns=1;i=8118 ns=1;i=8119 ns=1;i=8120 ns=1;i=8121 ns=1;i=8122 ns=1;i=8123 ns=1;i=1008 i=78 ns=1;i=5043 CurrentState ns=1;i=8128 i=2760 i=78 ns=1;i=5044 Id i=68 i=78 ns=1;i=8127 Stopped This is the initial state after AnalyserDeviceStateMachine state Powerup i=2309 i=78 ns=1;i=5044 Resetting This state is the result of a Reset or SetConfiguration Method call from the Stopped state. i=2307 i=78 ns=1;i=5044 Idle The Resetting state is completed, all parameters have been committed and ready to start acquisition i=2307 i=78 ns=1;i=5044 Starting The analyser has received the Start or SingleAcquisitionStart Method call and it is preparing to enter in Execute state. i=2307 i=78 ns=1;i=5044 Execute All repetitive acquisition cycles are done in this state: ns=1;i=8147 ns=1;i=8964 i=78 ns=1;i=5044 OperatingExecuteSubStateMachine ns=1;i=8148 ns=1;i=8158 ns=1;i=8160 ns=1;i=8162 ns=1;i=8164 ns=1;i=8166 ns=1;i=8168 ns=1;i=8170 ns=1;i=8172 ns=1;i=8174 ns=1;i=8176 ns=1;i=8178 ns=1;i=8180 ns=1;i=8182 ns=1;i=8184 ns=1;i=8186 ns=1;i=8188 ns=1;i=8190 ns=1;i=8192 ns=1;i=8194 ns=1;i=8196 ns=1;i=8198 ns=1;i=8200 ns=1;i=8202 ns=1;i=8204 ns=1;i=8206 ns=1;i=8208 ns=1;i=8210 ns=1;i=8212 ns=1;i=8214 ns=1;i=8216 ns=1;i=8218 ns=1;i=8220 ns=1;i=8222 ns=1;i=8224 ns=1;i=8226 ns=1;i=8228 ns=1;i=8230 ns=1;i=8232 ns=1;i=8234 ns=1;i=8236 ns=1;i=8238 ns=1;i=8240 ns=1;i=8242 ns=1;i=8244 ns=1;i=8246 ns=1;i=8248 ns=1;i=8250 ns=1;i=8252 ns=1;i=8254 ns=1;i=8256 ns=1;i=8258 ns=1;i=8260 ns=1;i=8262 ns=1;i=8264 ns=1;i=8266 ns=1;i=8268 ns=1;i=8270 ns=1;i=8272 ns=1;i=1009 i=78 ns=1;i=8145 CurrentState ns=1;i=8149 i=2760 i=78 ns=1;i=8147 Id i=68 i=78 ns=1;i=8148 SelectExecutionCycle This pseudo-state is used to decide which execution path shall be taken. i=2309 i=78 ns=1;i=8147 WaitForCalibrationTrigger Wait until the analyser channel is ready to perform the Calibration acquisition cycle i=2307 i=78 ns=1;i=8147 ExtractCalibrationSample Collect / setup the sampling system to perform the acquisition cycle of a Calibration cycle i=2307 i=78 ns=1;i=8147 PrepareCalibrationSample Prepare the Calibration sample for the AnalyseCalibrationSample state i=2307 i=78 ns=1;i=8147 AnalyseCalibrationSample Perform the analysis of the Calibration Sample i=2307 i=78 ns=1;i=8147 WaitForValidationTrigger Wait until the analyser channel is ready to perform the Validation acquisition cycle i=2307 i=78 ns=1;i=8147 ExtractValidationSample Collect / setup the sampling system to perform the acquisition cycle of a Validation cycle i=2307 i=78 ns=1;i=8147 PrepareValidationSample Prepare the Validation sample for the AnalyseValidationSample state i=2307 i=78 ns=1;i=8147 AnalyseValidationSample Perform the analysis of the Validation Sample i=2307 i=78 ns=1;i=8147 WaitForSampleTrigger Wait until the analyser channel is ready to perform the Sample acquisition cycle i=2307 i=78 ns=1;i=8147 ExtractSample Collect the Sample from the process i=2307 i=78 ns=1;i=8147 PrepareSample Prepare the Sample for the AnalyseSample state i=2307 i=78 ns=1;i=8147 AnalyseSample Perform the analysis of the Sample i=2307 i=78 ns=1;i=8147 WaitForDiagnosticTrigger Wait until the analyser channel is ready to perform the diagnostic cycle, i=2307 i=78 ns=1;i=8147 Diagnostic Perform the diagnostic cycle. i=2307 i=78 ns=1;i=8147 WaitForCleaningTrigger Wait until the analyser channel is ready to perform the cleaning cycle, i=2307 i=78 ns=1;i=8147 Cleaning Perform the cleaning cycle. i=2307 i=78 ns=1;i=8147 PublishResults Publish the results of the previous acquisition cycle i=2307 i=78 ns=1;i=8147 EjectGrabSample The Sample that was just analysed is ejected from the system to allow the operator or another system to grab it i=2307 i=78 ns=1;i=8147 CleanupSamplingSystem Cleanup the sampling sub-system to be ready for the next acquisition i=2307 i=78 ns=1;i=8147 SelectExecutionCycleToWaitForCalibrationTriggerTransition i=2310 i=78 ns=1;i=8147 WaitForCalibrationTriggerToExtractCalibrationSampleTransition i=2310 i=78 ns=1;i=8147 ExtractCalibrationSampleTransition i=2310 i=78 ns=1;i=8147 ExtractCalibrationSampleToPrepareCalibrationSampleTransition i=2310 i=78 ns=1;i=8147 PrepareCalibrationSampleTransition i=2310 i=78 ns=1;i=8147 PrepareCalibrationSampleToAnalyseCalibrationSampleTransition i=2310 i=78 ns=1;i=8147 AnalyseCalibrationSampleTransition i=2310 i=78 ns=1;i=8147 AnalyseCalibrationSampleToPublishResultsTransition i=2310 i=78 ns=1;i=8147 SelectExecutionCycleToWaitForValidationTriggerTransition i=2310 i=78 ns=1;i=8147 WaitForValidationTriggerToExtractValidationSampleTransition i=2310 i=78 ns=1;i=8147 ExtractValidationSampleTransition i=2310 i=78 ns=1;i=8147 ExtractValidationSampleToPrepareValidationSampleTransition i=2310 i=78 ns=1;i=8147 PrepareValidationSampleTransition i=2310 i=78 ns=1;i=8147 PrepareValidationSampleToAnalyseValidationSampleTransition i=2310 i=78 ns=1;i=8147 AnalyseValidationSampleTransition i=2310 i=78 ns=1;i=8147 AnalyseValidationSampleToPublishResultsTransition i=2310 i=78 ns=1;i=8147 SelectExecutionCycleToWaitForSampleTriggerTransition i=2310 i=78 ns=1;i=8147 WaitForSampleTriggerToExtractSampleTransition i=2310 i=78 ns=1;i=8147 ExtractSampleTransition i=2310 i=78 ns=1;i=8147 ExtractSampleToPrepareSampleTransition i=2310 i=78 ns=1;i=8147 PrepareSampleTransition i=2310 i=78 ns=1;i=8147 PrepareSampleToAnalyseSampleTransition i=2310 i=78 ns=1;i=8147 AnalyseSampleTransition i=2310 i=78 ns=1;i=8147 AnalyseSampleToPublishResultsTransition i=2310 i=78 ns=1;i=8147 SelectExecutionCycleToWaitForDiagnosticTriggerTransition i=2310 i=78 ns=1;i=8147 WaitForDiagnosticTriggerToDiagnosticTransition i=2310 i=78 ns=1;i=8147 DiagnosticTransition i=2310 i=78 ns=1;i=8147 DiagnosticToPublishResultsTransition i=2310 i=78 ns=1;i=8147 SelectExecutionCycleToWaitForCleaningTriggerTransition i=2310 i=78 ns=1;i=8147 WaitForCleaningTriggerToCleaningTransition i=2310 i=78 ns=1;i=8147 CleaningTransition i=2310 i=78 ns=1;i=8147 CleaningToPublishResultsTransition i=2310 i=78 ns=1;i=8147 PublishResultsToCleanupSamplingSystemTransition i=2310 i=78 ns=1;i=8147 PublishResultsToEjectGrabSampleTransition i=2310 i=78 ns=1;i=8147 EjectGrabSampleTransition i=2310 i=78 ns=1;i=8147 EjectGrabSampleToCleanupSamplingSystemTransition i=2310 i=78 ns=1;i=8147 CleanupSamplingSystemTransition i=2310 i=78 ns=1;i=8147 CleanupSamplingSystemToSelectExecutionCycleTransition i=2310 i=78 ns=1;i=8147 Completing This state is an automatic or commanded exit from the Execute state. i=2307 i=78 ns=1;i=5044 Complete At this point, the Completing state is done and it transitions automatically to Stopped state to wait. i=2307 i=78 ns=1;i=5044 Suspending This state is a result of a change in monitored conditions due to process conditions or factors. i=2307 i=78 ns=1;i=5044 Suspended The analyser or channel may be running but no results are being generated while the analyser or channel is waiting for external process conditions to return to normal. i=2307 i=78 ns=1;i=5044 Unsuspending This state is a result of a device request from Suspended state to transition back to the Execute state by calling the Unsuspend Method. i=2307 i=78 ns=1;i=5044 Holding Brings the analyser or channel to a controlled stop or to a state which represents Held for the particular unit control mode i=2307 i=78 ns=1;i=5044 Held The Held state holds the analyser or channel's operation. At this state, no acquisition cycle is performed. i=2307 i=78 ns=1;i=5044 Unholding The Unholding state is a response to an operator command to resume the Execute state. i=2307 i=78 ns=1;i=5044 Stopping Initiated by a Stop Method call, this state: i=2307 i=78 ns=1;i=5044 Aborting The Aborting state can be entered at any time in response to the Abort command or on the occurrence of a machine fault. i=2307 i=78 ns=1;i=5044 Aborted This state maintains machine status information relevant to the Abort condition. i=2307 i=78 ns=1;i=5044 Clearing Clears faults that may have occurred when Aborting and are present in the Aborted state before proceeding to a Stopped state i=2307 i=78 ns=1;i=5044 StoppedToResettingTransition ns=1;i=8115 ns=1;i=8096 i=2310 i=78 ns=1;i=5044 ResettingTransition i=2310 i=78 ns=1;i=5044 ResettingToIdleTransition i=2310 i=78 ns=1;i=5044 IdleToStartingTransition ns=1;i=8116 ns=1;i=8111 i=2310 i=78 ns=1;i=5044 StartingTransition i=2310 i=78 ns=1;i=5044 StartingToExecuteTransition i=2310 i=78 ns=1;i=5044 ExecuteToCompletingTransition i=2310 i=78 ns=1;i=5044 CompletingTransition i=2310 i=78 ns=1;i=5044 CompletingToCompleteTransition i=2310 i=78 ns=1;i=5044 CompleteToStoppedTransition i=2310 i=78 ns=1;i=5044 ExecuteToHoldingTransition ns=1;i=8118 i=2310 i=78 ns=1;i=5044 HoldingTransition i=2310 i=78 ns=1;i=5044 HoldingToHeldTransition i=2310 i=78 ns=1;i=5044 HeldToUnholdingTransition ns=1;i=8119 i=2310 i=78 ns=1;i=5044 UnholdingTransition i=2310 i=78 ns=1;i=5044 UnholdingToHoldingTransition ns=1;i=8118 i=2310 i=78 ns=1;i=5044 UnholdingToExecuteTransition i=2310 i=78 ns=1;i=5044 ExecuteToSuspendingTransition ns=1;i=8120 i=2310 i=78 ns=1;i=5044 SuspendingTransition i=2310 i=78 ns=1;i=5044 SuspendingToSuspendedTransition i=2310 i=78 ns=1;i=5044 SuspendedToUnsuspendingTransition ns=1;i=8121 i=2310 i=78 ns=1;i=5044 UnsuspendingTransition i=2310 i=78 ns=1;i=5044 UnsuspendingToSuspendingTransition ns=1;i=8120 i=2310 i=78 ns=1;i=5044 UnsuspendingToExecuteTransition i=2310 i=78 ns=1;i=5044 StoppingToStoppedTransition i=2310 i=78 ns=1;i=5044 AbortingToAbortedTransition i=2310 i=78 ns=1;i=5044 AbortedToClearingTransition ns=1;i=8123 i=2310 i=78 ns=1;i=5044 ClearingToStoppedTransition i=2310 i=78 ns=1;i=5044 ResettingToStoppingTransition ns=1;i=8117 i=2310 i=78 ns=1;i=5044 IdleToStoppingTransition ns=1;i=8117 i=2310 i=78 ns=1;i=5044 StartingToStoppingTransition ns=1;i=8117 i=2310 i=78 ns=1;i=5044 ExecuteToStoppingTransition ns=1;i=8117 i=2310 i=78 ns=1;i=5044 CompletingToStoppingTransition ns=1;i=8117 i=2310 i=78 ns=1;i=5044 CompleteToStoppingTransition ns=1;i=8117 i=2310 i=78 ns=1;i=5044 SuspendingToStoppingTransition ns=1;i=8117 i=2310 i=78 ns=1;i=5044 SuspendedToStoppingTransition ns=1;i=8117 i=2310 i=78 ns=1;i=5044 UnsuspendingToStoppingTransition ns=1;i=8117 i=2310 i=78 ns=1;i=5044 HoldingToStoppingTransition ns=1;i=8117 i=2310 i=78 ns=1;i=5044 HeldToStoppingTransition ns=1;i=8117 i=2310 i=78 ns=1;i=5044 UnholdingToStoppingTransition ns=1;i=8117 i=2310 i=78 ns=1;i=5044 StoppedToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=5044 ResettingToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=5044 IdleToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=5044 StartingToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=5044 ExecuteToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=5044 CompletingToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=5044 CompleteToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=5044 SuspendingToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=5044 SuspendedToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=5044 UnsuspendingToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=5044 HoldingToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=5044 HeldToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=5044 UnholdingToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=5044 StoppingToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=5044 Local The AnalyserChannel is in the Local mode. This mode is normally used to perform local physical maintenance on the analyser. ns=1;i=1005 i=78 ns=1;i=5041 Maintenance The AnalyserChannel is in the Maintenance mode. This mode is used to perform remote maintenance on the analyser like firmware upgrade. ns=1;i=1006 i=78 ns=1;i=5041 SlaveModeToOperatingTransition i=2310 i=78 ns=1;i=5041 OperatingToLocalTransition i=2310 i=78 ns=1;i=5041 OperatingToMaintenanceTransition ns=1;i=8114 i=2310 i=78 ns=1;i=5041 LocalToOperatingTransition i=2310 i=78 ns=1;i=5041 LocalToMaintenanceTransition i=2310 i=78 ns=1;i=5041 MaintenanceToOperatingTransition ns=1;i=8113 i=2310 i=78 ns=1;i=5041 MaintenanceToLocalTransition i=2310 i=78 ns=1;i=5041 OperatingToSlaveModeTransition i=2310 i=78 ns=1;i=5041 LocalToSlaveModeTransition i=2310 i=78 ns=1;i=5041 MaintenanceToSlaveModeTransition i=2310 i=78 ns=1;i=5041 <StreamIdentifier> ns=1;i=9888 ns=1;i=9981 ns=1;i=9982 ns=1;i=9983 ns=1;i=9984 ns=1;i=9985 ns=1;i=9986 ns=1;i=9987 ns=1;i=1010 i=11510 ns=1;i=1003 ParameterSet Flat list of Parameters ns=1;i=9893 ns=1;i=9899 ns=1;i=9908 ns=1;i=9917 ns=1;i=9920 ns=1;i=9923 ns=1;i=9927 ns=1;i=9930 ns=1;i=9936 ns=1;i=9942 ns=1;i=9945 i=58 i=78 ns=1;i=9887 IsEnabled True if this stream maybe used to perform acquisition i=2365 i=78 ns=1;i=9888 DiagnosticStatus Stream health status i=2365 i=78 ns=1;i=9888 LastSampleTime Time at which the last sample was acquired i=2365 i=78 ns=1;i=9888 IsActive True if this stream is actually running, acquiring data i=2365 i=78 ns=1;i=9888 ExecutionCycle Indicates which Execution cycle is in progress i=2365 i=78 ns=1;i=9888 ExecutionCycleSubcode Indicates which Execution cycle subcode is in progress ns=1;i=9926 i=2376 i=78 ns=1;i=9888 EnumStrings i=68 i=78 ns=1;i=9923 Progress Indicates the progress of an acquisition in terms of percentage of completion. Its value shall be between 0 and 100. i=2365 i=78 ns=1;i=9888 AcquisitionCounter Simple counter incremented after each Sampling acquisition performed on this Stream ns=1;i=9933 i=2368 i=78 ns=1;i=9888 EURange i=68 i=78 ns=1;i=9930 AcquisitionResultStatus Quality of the acquisition i=2365 i=78 ns=1;i=9888 ScaledData Scaled data produced as a result of data acquisition on the Stream and application of the analyser model i=2365 i=78 ns=1;i=9888 AcquisitionEndTime The end time of the AnalyseSample or AnalyseCalibrationSample or AnalyseValidationSample state of the AnalyserChannel_OperatingModeExecuteSubStateMachine state machine i=2365 i=78 ns=1;i=9888 Configuration ns=2;i=1005 i=78 ns=1;i=9887 Status ns=2;i=1005 i=78 ns=1;i=9887 AcquisitionSettings ns=2;i=1005 i=78 ns=1;i=9887 AcquisitionStatus ns=2;i=1005 i=78 ns=1;i=9887 AcquisitionData ns=2;i=1005 i=78 ns=1;i=9887 ChemometricModelSettings ns=2;i=1005 i=78 ns=1;i=9887 Context ns=2;i=1005 i=78 ns=1;i=9887 <AccessorySlotIdentifier> ns=1;i=9989 ns=1;i=9990 ns=1;i=9991 ns=1;i=9992 ns=1;i=1017 i=11508 ns=1;i=1003 SupportedTypes Folder maintaining the set of (sub-types of) BaseObjectTypes that can be instantiated in the ConfigurableComponent i=61 i=78 ns=1;i=9988 IsHotSwappable True if an accessory can be inserted in the accessory slot while it is powered i=68 i=78 ns=1;i=9988 IsEnabled True if this accessory slot is capable of accepting an accessory in it i=68 i=78 ns=1;i=9988 AccessorySlotStateMachine ns=1;i=9993 ns=1;i=10004 ns=1;i=10006 ns=1;i=10008 ns=1;i=10010 ns=1;i=10012 ns=1;i=10014 ns=1;i=10016 ns=1;i=10018 ns=1;i=10020 ns=1;i=10022 ns=1;i=10024 ns=1;i=10026 ns=1;i=10028 ns=1;i=10030 ns=1;i=10032 ns=1;i=10034 ns=1;i=10036 ns=1;i=10038 ns=1;i=1018 i=78 ns=1;i=9988 CurrentState ns=1;i=9994 i=2760 i=78 ns=1;i=9992 Id i=68 i=78 ns=1;i=9993 Powerup The AccessorySlot is in its power-up sequence and cannot perform any other task. i=2309 i=78 ns=1;i=9992 Empty This represents an AccessorySlot where no Accessory is installed. i=2307 i=78 ns=1;i=9992 Inserting This represents an AccessorySlot when an Accessory is being inserted and initializing. i=2307 i=78 ns=1;i=9992 Installed This represents an AccessorySlot where an Accessory is installed and ready to use. i=2307 i=78 ns=1;i=9992 Removing This represents an AccessorySlot where no Accessory is installed. i=2307 i=78 ns=1;i=9992 Shutdown The AccessorySlot is in its power-down sequence and cannot perform any other task. i=2307 i=78 ns=1;i=9992 PowerupToEmptyTransition i=2310 i=78 ns=1;i=9992 EmptyToInsertingTransition i=2310 i=78 ns=1;i=9992 InsertingTransition i=2310 i=78 ns=1;i=9992 InsertingToRemovingTransition i=2310 i=78 ns=1;i=9992 InsertingToInstalledTransition i=2310 i=78 ns=1;i=9992 InstalledToRemovingTransition i=2310 i=78 ns=1;i=9992 RemovingTransition i=2310 i=78 ns=1;i=9992 RemovingToEmptyTransition i=2310 i=78 ns=1;i=9992 EmptyToShutdownTransition i=2310 i=78 ns=1;i=9992 InsertingToShutdownTransition i=2310 i=78 ns=1;i=9992 InstalledToShutdownTransition i=2310 i=78 ns=1;i=9992 RemovingToShutdownTransition i=2310 i=78 ns=1;i=9992 AnalyserChannelTypeStartSingleAcquisitionMethod ns=1;i=6147 ns=1;i=8020 InputArguments i=68 ns=1;i=8020 i=297 ExecutionCycle ns=1;i=9378 -1 i=297 ExecutionCycleSubcode i=7 -1 i=297 SelectedStream i=12 -1 AnalyserChannelOperatingStateType ns=1;i=5057 i=2307 OperatingSubStateMachine ns=1;i=8406 ns=1;i=8416 ns=1;i=8418 ns=1;i=8420 ns=1;i=8422 ns=1;i=8424 ns=1;i=8553 ns=1;i=8555 ns=1;i=8557 ns=1;i=8559 ns=1;i=8561 ns=1;i=8563 ns=1;i=8565 ns=1;i=8567 ns=1;i=8569 ns=1;i=8571 ns=1;i=8573 ns=1;i=8575 ns=1;i=8577 ns=1;i=8579 ns=1;i=8581 ns=1;i=8583 ns=1;i=8585 ns=1;i=8587 ns=1;i=8589 ns=1;i=8591 ns=1;i=8593 ns=1;i=8595 ns=1;i=8597 ns=1;i=8599 ns=1;i=8601 ns=1;i=8603 ns=1;i=8605 ns=1;i=8607 ns=1;i=8609 ns=1;i=8611 ns=1;i=8613 ns=1;i=8615 ns=1;i=8617 ns=1;i=8619 ns=1;i=8621 ns=1;i=8623 ns=1;i=8625 ns=1;i=8627 ns=1;i=8629 ns=1;i=8631 ns=1;i=8633 ns=1;i=8635 ns=1;i=8637 ns=1;i=8639 ns=1;i=8641 ns=1;i=8643 ns=1;i=8645 ns=1;i=8647 ns=1;i=8649 ns=1;i=8651 ns=1;i=8653 ns=1;i=8655 ns=1;i=8657 ns=1;i=8659 ns=1;i=8661 ns=1;i=8663 ns=1;i=8665 ns=1;i=8667 ns=1;i=8669 ns=1;i=8671 ns=1;i=8673 ns=1;i=8675 ns=1;i=8677 ns=1;i=8679 ns=1;i=8681 ns=1;i=8683 ns=1;i=8115 ns=1;i=8116 ns=1;i=8111 ns=1;i=8117 ns=1;i=8118 ns=1;i=8119 ns=1;i=8120 ns=1;i=8121 ns=1;i=8122 ns=1;i=8123 ns=1;i=1008 i=78 ns=1;i=1004 CurrentState ns=1;i=8407 i=2760 i=78 ns=1;i=5057 Id i=68 i=78 ns=1;i=8406 Stopped This is the initial state after AnalyserDeviceStateMachine state Powerup i=2309 i=78 ns=1;i=5057 Resetting This state is the result of a Reset or SetConfiguration Method call from the Stopped state. i=2307 i=78 ns=1;i=5057 Idle The Resetting state is completed, all parameters have been committed and ready to start acquisition i=2307 i=78 ns=1;i=5057 Starting The analyser has received the Start or SingleAcquisitionStart Method call and it is preparing to enter in Execute state. i=2307 i=78 ns=1;i=5057 Execute All repetitive acquisition cycles are done in this state: ns=1;i=8426 ns=1;i=8964 i=78 ns=1;i=5057 OperatingExecuteSubStateMachine ns=1;i=8427 ns=1;i=8437 ns=1;i=8439 ns=1;i=8441 ns=1;i=8443 ns=1;i=8445 ns=1;i=8447 ns=1;i=8449 ns=1;i=8451 ns=1;i=8453 ns=1;i=8455 ns=1;i=8457 ns=1;i=8459 ns=1;i=8461 ns=1;i=8463 ns=1;i=8465 ns=1;i=8467 ns=1;i=8469 ns=1;i=8471 ns=1;i=8473 ns=1;i=8475 ns=1;i=8477 ns=1;i=8479 ns=1;i=8481 ns=1;i=8483 ns=1;i=8485 ns=1;i=8487 ns=1;i=8489 ns=1;i=8491 ns=1;i=8493 ns=1;i=8495 ns=1;i=8497 ns=1;i=8499 ns=1;i=8501 ns=1;i=8503 ns=1;i=8505 ns=1;i=8507 ns=1;i=8509 ns=1;i=8511 ns=1;i=8513 ns=1;i=8515 ns=1;i=8517 ns=1;i=8519 ns=1;i=8521 ns=1;i=8523 ns=1;i=8525 ns=1;i=8527 ns=1;i=8529 ns=1;i=8531 ns=1;i=8533 ns=1;i=8535 ns=1;i=8537 ns=1;i=8539 ns=1;i=8541 ns=1;i=8543 ns=1;i=8545 ns=1;i=8547 ns=1;i=8549 ns=1;i=8551 ns=1;i=1009 i=78 ns=1;i=8424 CurrentState ns=1;i=8428 i=2760 i=78 ns=1;i=8426 Id i=68 i=78 ns=1;i=8427 SelectExecutionCycle This pseudo-state is used to decide which execution path shall be taken. i=2309 i=78 ns=1;i=8426 WaitForCalibrationTrigger Wait until the analyser channel is ready to perform the Calibration acquisition cycle i=2307 i=78 ns=1;i=8426 ExtractCalibrationSample Collect / setup the sampling system to perform the acquisition cycle of a Calibration cycle i=2307 i=78 ns=1;i=8426 PrepareCalibrationSample Prepare the Calibration sample for the AnalyseCalibrationSample state i=2307 i=78 ns=1;i=8426 AnalyseCalibrationSample Perform the analysis of the Calibration Sample i=2307 i=78 ns=1;i=8426 WaitForValidationTrigger Wait until the analyser channel is ready to perform the Validation acquisition cycle i=2307 i=78 ns=1;i=8426 ExtractValidationSample Collect / setup the sampling system to perform the acquisition cycle of a Validation cycle i=2307 i=78 ns=1;i=8426 PrepareValidationSample Prepare the Validation sample for the AnalyseValidationSample state i=2307 i=78 ns=1;i=8426 AnalyseValidationSample Perform the analysis of the Validation Sample i=2307 i=78 ns=1;i=8426 WaitForSampleTrigger Wait until the analyser channel is ready to perform the Sample acquisition cycle i=2307 i=78 ns=1;i=8426 ExtractSample Collect the Sample from the process i=2307 i=78 ns=1;i=8426 PrepareSample Prepare the Sample for the AnalyseSample state i=2307 i=78 ns=1;i=8426 AnalyseSample Perform the analysis of the Sample i=2307 i=78 ns=1;i=8426 WaitForDiagnosticTrigger Wait until the analyser channel is ready to perform the diagnostic cycle, i=2307 i=78 ns=1;i=8426 Diagnostic Perform the diagnostic cycle. i=2307 i=78 ns=1;i=8426 WaitForCleaningTrigger Wait until the analyser channel is ready to perform the cleaning cycle, i=2307 i=78 ns=1;i=8426 Cleaning Perform the cleaning cycle. i=2307 i=78 ns=1;i=8426 PublishResults Publish the results of the previous acquisition cycle i=2307 i=78 ns=1;i=8426 EjectGrabSample The Sample that was just analysed is ejected from the system to allow the operator or another system to grab it i=2307 i=78 ns=1;i=8426 CleanupSamplingSystem Cleanup the sampling sub-system to be ready for the next acquisition i=2307 i=78 ns=1;i=8426 SelectExecutionCycleToWaitForCalibrationTriggerTransition i=2310 i=78 ns=1;i=8426 WaitForCalibrationTriggerToExtractCalibrationSampleTransition i=2310 i=78 ns=1;i=8426 ExtractCalibrationSampleTransition i=2310 i=78 ns=1;i=8426 ExtractCalibrationSampleToPrepareCalibrationSampleTransition i=2310 i=78 ns=1;i=8426 PrepareCalibrationSampleTransition i=2310 i=78 ns=1;i=8426 PrepareCalibrationSampleToAnalyseCalibrationSampleTransition i=2310 i=78 ns=1;i=8426 AnalyseCalibrationSampleTransition i=2310 i=78 ns=1;i=8426 AnalyseCalibrationSampleToPublishResultsTransition i=2310 i=78 ns=1;i=8426 SelectExecutionCycleToWaitForValidationTriggerTransition i=2310 i=78 ns=1;i=8426 WaitForValidationTriggerToExtractValidationSampleTransition i=2310 i=78 ns=1;i=8426 ExtractValidationSampleTransition i=2310 i=78 ns=1;i=8426 ExtractValidationSampleToPrepareValidationSampleTransition i=2310 i=78 ns=1;i=8426 PrepareValidationSampleTransition i=2310 i=78 ns=1;i=8426 PrepareValidationSampleToAnalyseValidationSampleTransition i=2310 i=78 ns=1;i=8426 AnalyseValidationSampleTransition i=2310 i=78 ns=1;i=8426 AnalyseValidationSampleToPublishResultsTransition i=2310 i=78 ns=1;i=8426 SelectExecutionCycleToWaitForSampleTriggerTransition i=2310 i=78 ns=1;i=8426 WaitForSampleTriggerToExtractSampleTransition i=2310 i=78 ns=1;i=8426 ExtractSampleTransition i=2310 i=78 ns=1;i=8426 ExtractSampleToPrepareSampleTransition i=2310 i=78 ns=1;i=8426 PrepareSampleTransition i=2310 i=78 ns=1;i=8426 PrepareSampleToAnalyseSampleTransition i=2310 i=78 ns=1;i=8426 AnalyseSampleTransition i=2310 i=78 ns=1;i=8426 AnalyseSampleToPublishResultsTransition i=2310 i=78 ns=1;i=8426 SelectExecutionCycleToWaitForDiagnosticTriggerTransition i=2310 i=78 ns=1;i=8426 WaitForDiagnosticTriggerToDiagnosticTransition i=2310 i=78 ns=1;i=8426 DiagnosticTransition i=2310 i=78 ns=1;i=8426 DiagnosticToPublishResultsTransition i=2310 i=78 ns=1;i=8426 SelectExecutionCycleToWaitForCleaningTriggerTransition i=2310 i=78 ns=1;i=8426 WaitForCleaningTriggerToCleaningTransition i=2310 i=78 ns=1;i=8426 CleaningTransition i=2310 i=78 ns=1;i=8426 CleaningToPublishResultsTransition i=2310 i=78 ns=1;i=8426 PublishResultsToCleanupSamplingSystemTransition i=2310 i=78 ns=1;i=8426 PublishResultsToEjectGrabSampleTransition i=2310 i=78 ns=1;i=8426 EjectGrabSampleTransition i=2310 i=78 ns=1;i=8426 EjectGrabSampleToCleanupSamplingSystemTransition i=2310 i=78 ns=1;i=8426 CleanupSamplingSystemTransition i=2310 i=78 ns=1;i=8426 CleanupSamplingSystemToSelectExecutionCycleTransition i=2310 i=78 ns=1;i=8426 Completing This state is an automatic or commanded exit from the Execute state. i=2307 i=78 ns=1;i=5057 Complete At this point, the Completing state is done and it transitions automatically to Stopped state to wait. i=2307 i=78 ns=1;i=5057 Suspending This state is a result of a change in monitored conditions due to process conditions or factors. i=2307 i=78 ns=1;i=5057 Suspended The analyser or channel may be running but no results are being generated while the analyser or channel is waiting for external process conditions to return to normal. i=2307 i=78 ns=1;i=5057 Unsuspending This state is a result of a device request from Suspended state to transition back to the Execute state by calling the Unsuspend Method. i=2307 i=78 ns=1;i=5057 Holding Brings the analyser or channel to a controlled stop or to a state which represents Held for the particular unit control mode i=2307 i=78 ns=1;i=5057 Held The Held state holds the analyser or channel's operation. At this state, no acquisition cycle is performed. i=2307 i=78 ns=1;i=5057 Unholding The Unholding state is a response to an operator command to resume the Execute state. i=2307 i=78 ns=1;i=5057 Stopping Initiated by a Stop Method call, this state: i=2307 i=78 ns=1;i=5057 Aborting The Aborting state can be entered at any time in response to the Abort command or on the occurrence of a machine fault. i=2307 i=78 ns=1;i=5057 Aborted This state maintains machine status information relevant to the Abort condition. i=2307 i=78 ns=1;i=5057 Clearing Clears faults that may have occurred when Aborting and are present in the Aborted state before proceeding to a Stopped state i=2307 i=78 ns=1;i=5057 StoppedToResettingTransition ns=1;i=8115 ns=1;i=8096 i=2310 i=78 ns=1;i=5057 ResettingTransition i=2310 i=78 ns=1;i=5057 ResettingToIdleTransition i=2310 i=78 ns=1;i=5057 IdleToStartingTransition ns=1;i=8116 ns=1;i=8111 i=2310 i=78 ns=1;i=5057 StartingTransition i=2310 i=78 ns=1;i=5057 StartingToExecuteTransition i=2310 i=78 ns=1;i=5057 ExecuteToCompletingTransition i=2310 i=78 ns=1;i=5057 CompletingTransition i=2310 i=78 ns=1;i=5057 CompletingToCompleteTransition i=2310 i=78 ns=1;i=5057 CompleteToStoppedTransition i=2310 i=78 ns=1;i=5057 ExecuteToHoldingTransition ns=1;i=8118 i=2310 i=78 ns=1;i=5057 HoldingTransition i=2310 i=78 ns=1;i=5057 HoldingToHeldTransition i=2310 i=78 ns=1;i=5057 HeldToUnholdingTransition ns=1;i=8119 i=2310 i=78 ns=1;i=5057 UnholdingTransition i=2310 i=78 ns=1;i=5057 UnholdingToHoldingTransition ns=1;i=8118 i=2310 i=78 ns=1;i=5057 UnholdingToExecuteTransition i=2310 i=78 ns=1;i=5057 ExecuteToSuspendingTransition ns=1;i=8120 i=2310 i=78 ns=1;i=5057 SuspendingTransition i=2310 i=78 ns=1;i=5057 SuspendingToSuspendedTransition i=2310 i=78 ns=1;i=5057 SuspendedToUnsuspendingTransition ns=1;i=8121 i=2310 i=78 ns=1;i=5057 UnsuspendingTransition i=2310 i=78 ns=1;i=5057 UnsuspendingToSuspendingTransition ns=1;i=8120 i=2310 i=78 ns=1;i=5057 UnsuspendingToExecuteTransition i=2310 i=78 ns=1;i=5057 StoppingToStoppedTransition i=2310 i=78 ns=1;i=5057 AbortingToAbortedTransition i=2310 i=78 ns=1;i=5057 AbortedToClearingTransition ns=1;i=8123 i=2310 i=78 ns=1;i=5057 ClearingToStoppedTransition i=2310 i=78 ns=1;i=5057 ResettingToStoppingTransition ns=1;i=8117 i=2310 i=78 ns=1;i=5057 IdleToStoppingTransition ns=1;i=8117 i=2310 i=78 ns=1;i=5057 StartingToStoppingTransition ns=1;i=8117 i=2310 i=78 ns=1;i=5057 ExecuteToStoppingTransition ns=1;i=8117 i=2310 i=78 ns=1;i=5057 CompletingToStoppingTransition ns=1;i=8117 i=2310 i=78 ns=1;i=5057 CompleteToStoppingTransition ns=1;i=8117 i=2310 i=78 ns=1;i=5057 SuspendingToStoppingTransition ns=1;i=8117 i=2310 i=78 ns=1;i=5057 SuspendedToStoppingTransition ns=1;i=8117 i=2310 i=78 ns=1;i=5057 UnsuspendingToStoppingTransition ns=1;i=8117 i=2310 i=78 ns=1;i=5057 HoldingToStoppingTransition ns=1;i=8117 i=2310 i=78 ns=1;i=5057 HeldToStoppingTransition ns=1;i=8117 i=2310 i=78 ns=1;i=5057 UnholdingToStoppingTransition ns=1;i=8117 i=2310 i=78 ns=1;i=5057 StoppedToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=5057 ResettingToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=5057 IdleToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=5057 StartingToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=5057 ExecuteToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=5057 CompletingToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=5057 CompleteToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=5057 SuspendingToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=5057 SuspendedToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=5057 UnsuspendingToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=5057 HoldingToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=5057 HeldToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=5057 UnholdingToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=5057 StoppingToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=5057 AnalyserChannelLocalStateType i=2307 AnalyserChannelMaintenanceStateType i=2307 AnalyserChannelStateMachineType Contains a nested state model that defines the top level states Operating, Local and Maintenance ns=1;i=5058 ns=1;i=5059 ns=1;i=5061 ns=1;i=5062 ns=1;i=5063 ns=1;i=5064 ns=1;i=5065 ns=1;i=5066 ns=1;i=5067 ns=1;i=5068 ns=1;i=5069 ns=1;i=5070 ns=1;i=5071 ns=1;i=5072 ns=1;i=8113 ns=1;i=8114 i=2771 SlaveMode The AnalyserDevice is in Local or Maintenance mode and all AnalyserChannels are in SlaveMode ns=1;i=6161 ns=1;i=5063 ns=1;i=5070 ns=1;i=5071 ns=1;i=5072 i=2309 i=78 ns=1;i=1007 StateNumber i=68 i=80 ns=1;i=5058 0 Operating The AnalyserChannel is in the Operating mode. ns=1;i=6162 ns=1;i=5060 ns=1;i=5063 ns=1;i=5064 ns=1;i=5065 ns=1;i=5066 ns=1;i=5068 ns=1;i=5070 ns=1;i=1004 i=78 ns=1;i=1007 StateNumber i=68 i=80 ns=1;i=5059 0 OperatingSubStateMachine ns=1;i=8685 ns=1;i=8695 ns=1;i=8697 ns=1;i=8699 ns=1;i=8701 ns=1;i=8703 ns=1;i=8832 ns=1;i=8834 ns=1;i=8836 ns=1;i=8838 ns=1;i=8840 ns=1;i=8842 ns=1;i=8844 ns=1;i=8846 ns=1;i=8848 ns=1;i=8850 ns=1;i=8852 ns=1;i=8854 ns=1;i=8856 ns=1;i=8858 ns=1;i=8860 ns=1;i=8862 ns=1;i=8864 ns=1;i=8866 ns=1;i=8868 ns=1;i=8870 ns=1;i=8872 ns=1;i=8874 ns=1;i=8876 ns=1;i=8878 ns=1;i=8880 ns=1;i=8882 ns=1;i=8884 ns=1;i=8886 ns=1;i=8888 ns=1;i=8890 ns=1;i=8892 ns=1;i=8894 ns=1;i=8896 ns=1;i=8898 ns=1;i=8900 ns=1;i=8902 ns=1;i=8904 ns=1;i=8906 ns=1;i=8908 ns=1;i=8910 ns=1;i=8912 ns=1;i=8914 ns=1;i=8916 ns=1;i=8918 ns=1;i=8920 ns=1;i=8922 ns=1;i=8924 ns=1;i=8926 ns=1;i=8928 ns=1;i=8930 ns=1;i=8932 ns=1;i=8934 ns=1;i=8936 ns=1;i=8938 ns=1;i=8940 ns=1;i=8942 ns=1;i=8944 ns=1;i=8946 ns=1;i=8948 ns=1;i=8950 ns=1;i=8952 ns=1;i=8954 ns=1;i=8956 ns=1;i=8958 ns=1;i=8960 ns=1;i=8962 ns=1;i=8115 ns=1;i=8116 ns=1;i=8111 ns=1;i=8117 ns=1;i=8118 ns=1;i=8119 ns=1;i=8120 ns=1;i=8121 ns=1;i=8122 ns=1;i=8123 ns=1;i=1008 i=78 ns=1;i=5059 CurrentState ns=1;i=8686 i=2760 i=78 ns=1;i=5060 Id i=68 i=78 ns=1;i=8685 Stopped This is the initial state after AnalyserDeviceStateMachine state Powerup i=2309 i=78 ns=1;i=5060 Resetting This state is the result of a Reset or SetConfiguration Method call from the Stopped state. i=2307 i=78 ns=1;i=5060 Idle The Resetting state is completed, all parameters have been committed and ready to start acquisition i=2307 i=78 ns=1;i=5060 Starting The analyser has received the Start or SingleAcquisitionStart Method call and it is preparing to enter in Execute state. i=2307 i=78 ns=1;i=5060 Execute All repetitive acquisition cycles are done in this state: ns=1;i=8705 ns=1;i=8964 i=78 ns=1;i=5060 OperatingExecuteSubStateMachine ns=1;i=8706 ns=1;i=8716 ns=1;i=8718 ns=1;i=8720 ns=1;i=8722 ns=1;i=8724 ns=1;i=8726 ns=1;i=8728 ns=1;i=8730 ns=1;i=8732 ns=1;i=8734 ns=1;i=8736 ns=1;i=8738 ns=1;i=8740 ns=1;i=8742 ns=1;i=8744 ns=1;i=8746 ns=1;i=8748 ns=1;i=8750 ns=1;i=8752 ns=1;i=8754 ns=1;i=8756 ns=1;i=8758 ns=1;i=8760 ns=1;i=8762 ns=1;i=8764 ns=1;i=8766 ns=1;i=8768 ns=1;i=8770 ns=1;i=8772 ns=1;i=8774 ns=1;i=8776 ns=1;i=8778 ns=1;i=8780 ns=1;i=8782 ns=1;i=8784 ns=1;i=8786 ns=1;i=8788 ns=1;i=8790 ns=1;i=8792 ns=1;i=8794 ns=1;i=8796 ns=1;i=8798 ns=1;i=8800 ns=1;i=8802 ns=1;i=8804 ns=1;i=8806 ns=1;i=8808 ns=1;i=8810 ns=1;i=8812 ns=1;i=8814 ns=1;i=8816 ns=1;i=8818 ns=1;i=8820 ns=1;i=8822 ns=1;i=8824 ns=1;i=8826 ns=1;i=8828 ns=1;i=8830 ns=1;i=1009 i=78 ns=1;i=8703 CurrentState ns=1;i=8707 i=2760 i=78 ns=1;i=8705 Id i=68 i=78 ns=1;i=8706 SelectExecutionCycle This pseudo-state is used to decide which execution path shall be taken. i=2309 i=78 ns=1;i=8705 WaitForCalibrationTrigger Wait until the analyser channel is ready to perform the Calibration acquisition cycle i=2307 i=78 ns=1;i=8705 ExtractCalibrationSample Collect / setup the sampling system to perform the acquisition cycle of a Calibration cycle i=2307 i=78 ns=1;i=8705 PrepareCalibrationSample Prepare the Calibration sample for the AnalyseCalibrationSample state i=2307 i=78 ns=1;i=8705 AnalyseCalibrationSample Perform the analysis of the Calibration Sample i=2307 i=78 ns=1;i=8705 WaitForValidationTrigger Wait until the analyser channel is ready to perform the Validation acquisition cycle i=2307 i=78 ns=1;i=8705 ExtractValidationSample Collect / setup the sampling system to perform the acquisition cycle of a Validation cycle i=2307 i=78 ns=1;i=8705 PrepareValidationSample Prepare the Validation sample for the AnalyseValidationSample state i=2307 i=78 ns=1;i=8705 AnalyseValidationSample Perform the analysis of the Validation Sample i=2307 i=78 ns=1;i=8705 WaitForSampleTrigger Wait until the analyser channel is ready to perform the Sample acquisition cycle i=2307 i=78 ns=1;i=8705 ExtractSample Collect the Sample from the process i=2307 i=78 ns=1;i=8705 PrepareSample Prepare the Sample for the AnalyseSample state i=2307 i=78 ns=1;i=8705 AnalyseSample Perform the analysis of the Sample i=2307 i=78 ns=1;i=8705 WaitForDiagnosticTrigger Wait until the analyser channel is ready to perform the diagnostic cycle, i=2307 i=78 ns=1;i=8705 Diagnostic Perform the diagnostic cycle. i=2307 i=78 ns=1;i=8705 WaitForCleaningTrigger Wait until the analyser channel is ready to perform the cleaning cycle, i=2307 i=78 ns=1;i=8705 Cleaning Perform the cleaning cycle. i=2307 i=78 ns=1;i=8705 PublishResults Publish the results of the previous acquisition cycle i=2307 i=78 ns=1;i=8705 EjectGrabSample The Sample that was just analysed is ejected from the system to allow the operator or another system to grab it i=2307 i=78 ns=1;i=8705 CleanupSamplingSystem Cleanup the sampling sub-system to be ready for the next acquisition i=2307 i=78 ns=1;i=8705 SelectExecutionCycleToWaitForCalibrationTriggerTransition i=2310 i=78 ns=1;i=8705 WaitForCalibrationTriggerToExtractCalibrationSampleTransition i=2310 i=78 ns=1;i=8705 ExtractCalibrationSampleTransition i=2310 i=78 ns=1;i=8705 ExtractCalibrationSampleToPrepareCalibrationSampleTransition i=2310 i=78 ns=1;i=8705 PrepareCalibrationSampleTransition i=2310 i=78 ns=1;i=8705 PrepareCalibrationSampleToAnalyseCalibrationSampleTransition i=2310 i=78 ns=1;i=8705 AnalyseCalibrationSampleTransition i=2310 i=78 ns=1;i=8705 AnalyseCalibrationSampleToPublishResultsTransition i=2310 i=78 ns=1;i=8705 SelectExecutionCycleToWaitForValidationTriggerTransition i=2310 i=78 ns=1;i=8705 WaitForValidationTriggerToExtractValidationSampleTransition i=2310 i=78 ns=1;i=8705 ExtractValidationSampleTransition i=2310 i=78 ns=1;i=8705 ExtractValidationSampleToPrepareValidationSampleTransition i=2310 i=78 ns=1;i=8705 PrepareValidationSampleTransition i=2310 i=78 ns=1;i=8705 PrepareValidationSampleToAnalyseValidationSampleTransition i=2310 i=78 ns=1;i=8705 AnalyseValidationSampleTransition i=2310 i=78 ns=1;i=8705 AnalyseValidationSampleToPublishResultsTransition i=2310 i=78 ns=1;i=8705 SelectExecutionCycleToWaitForSampleTriggerTransition i=2310 i=78 ns=1;i=8705 WaitForSampleTriggerToExtractSampleTransition i=2310 i=78 ns=1;i=8705 ExtractSampleTransition i=2310 i=78 ns=1;i=8705 ExtractSampleToPrepareSampleTransition i=2310 i=78 ns=1;i=8705 PrepareSampleTransition i=2310 i=78 ns=1;i=8705 PrepareSampleToAnalyseSampleTransition i=2310 i=78 ns=1;i=8705 AnalyseSampleTransition i=2310 i=78 ns=1;i=8705 AnalyseSampleToPublishResultsTransition i=2310 i=78 ns=1;i=8705 SelectExecutionCycleToWaitForDiagnosticTriggerTransition i=2310 i=78 ns=1;i=8705 WaitForDiagnosticTriggerToDiagnosticTransition i=2310 i=78 ns=1;i=8705 DiagnosticTransition i=2310 i=78 ns=1;i=8705 DiagnosticToPublishResultsTransition i=2310 i=78 ns=1;i=8705 SelectExecutionCycleToWaitForCleaningTriggerTransition i=2310 i=78 ns=1;i=8705 WaitForCleaningTriggerToCleaningTransition i=2310 i=78 ns=1;i=8705 CleaningTransition i=2310 i=78 ns=1;i=8705 CleaningToPublishResultsTransition i=2310 i=78 ns=1;i=8705 PublishResultsToCleanupSamplingSystemTransition i=2310 i=78 ns=1;i=8705 PublishResultsToEjectGrabSampleTransition i=2310 i=78 ns=1;i=8705 EjectGrabSampleTransition i=2310 i=78 ns=1;i=8705 EjectGrabSampleToCleanupSamplingSystemTransition i=2310 i=78 ns=1;i=8705 CleanupSamplingSystemTransition i=2310 i=78 ns=1;i=8705 CleanupSamplingSystemToSelectExecutionCycleTransition i=2310 i=78 ns=1;i=8705 Completing This state is an automatic or commanded exit from the Execute state. i=2307 i=78 ns=1;i=5060 Complete At this point, the Completing state is done and it transitions automatically to Stopped state to wait. i=2307 i=78 ns=1;i=5060 Suspending This state is a result of a change in monitored conditions due to process conditions or factors. i=2307 i=78 ns=1;i=5060 Suspended The analyser or channel may be running but no results are being generated while the analyser or channel is waiting for external process conditions to return to normal. i=2307 i=78 ns=1;i=5060 Unsuspending This state is a result of a device request from Suspended state to transition back to the Execute state by calling the Unsuspend Method. i=2307 i=78 ns=1;i=5060 Holding Brings the analyser or channel to a controlled stop or to a state which represents Held for the particular unit control mode i=2307 i=78 ns=1;i=5060 Held The Held state holds the analyser or channel's operation. At this state, no acquisition cycle is performed. i=2307 i=78 ns=1;i=5060 Unholding The Unholding state is a response to an operator command to resume the Execute state. i=2307 i=78 ns=1;i=5060 Stopping Initiated by a Stop Method call, this state: i=2307 i=78 ns=1;i=5060 Aborting The Aborting state can be entered at any time in response to the Abort command or on the occurrence of a machine fault. i=2307 i=78 ns=1;i=5060 Aborted This state maintains machine status information relevant to the Abort condition. i=2307 i=78 ns=1;i=5060 Clearing Clears faults that may have occurred when Aborting and are present in the Aborted state before proceeding to a Stopped state i=2307 i=78 ns=1;i=5060 StoppedToResettingTransition ns=1;i=8115 ns=1;i=8096 i=2310 i=78 ns=1;i=5060 ResettingTransition i=2310 i=78 ns=1;i=5060 ResettingToIdleTransition i=2310 i=78 ns=1;i=5060 IdleToStartingTransition ns=1;i=8116 ns=1;i=8111 i=2310 i=78 ns=1;i=5060 StartingTransition i=2310 i=78 ns=1;i=5060 StartingToExecuteTransition i=2310 i=78 ns=1;i=5060 ExecuteToCompletingTransition i=2310 i=78 ns=1;i=5060 CompletingTransition i=2310 i=78 ns=1;i=5060 CompletingToCompleteTransition i=2310 i=78 ns=1;i=5060 CompleteToStoppedTransition i=2310 i=78 ns=1;i=5060 ExecuteToHoldingTransition ns=1;i=8118 i=2310 i=78 ns=1;i=5060 HoldingTransition i=2310 i=78 ns=1;i=5060 HoldingToHeldTransition i=2310 i=78 ns=1;i=5060 HeldToUnholdingTransition ns=1;i=8119 i=2310 i=78 ns=1;i=5060 UnholdingTransition i=2310 i=78 ns=1;i=5060 UnholdingToHoldingTransition ns=1;i=8118 i=2310 i=78 ns=1;i=5060 UnholdingToExecuteTransition i=2310 i=78 ns=1;i=5060 ExecuteToSuspendingTransition ns=1;i=8120 i=2310 i=78 ns=1;i=5060 SuspendingTransition i=2310 i=78 ns=1;i=5060 SuspendingToSuspendedTransition i=2310 i=78 ns=1;i=5060 SuspendedToUnsuspendingTransition ns=1;i=8121 i=2310 i=78 ns=1;i=5060 UnsuspendingTransition i=2310 i=78 ns=1;i=5060 UnsuspendingToSuspendingTransition ns=1;i=8120 i=2310 i=78 ns=1;i=5060 UnsuspendingToExecuteTransition i=2310 i=78 ns=1;i=5060 StoppingToStoppedTransition i=2310 i=78 ns=1;i=5060 AbortingToAbortedTransition i=2310 i=78 ns=1;i=5060 AbortedToClearingTransition ns=1;i=8123 i=2310 i=78 ns=1;i=5060 ClearingToStoppedTransition i=2310 i=78 ns=1;i=5060 ResettingToStoppingTransition ns=1;i=8117 i=2310 i=78 ns=1;i=5060 IdleToStoppingTransition ns=1;i=8117 i=2310 i=78 ns=1;i=5060 StartingToStoppingTransition ns=1;i=8117 i=2310 i=78 ns=1;i=5060 ExecuteToStoppingTransition ns=1;i=8117 i=2310 i=78 ns=1;i=5060 CompletingToStoppingTransition ns=1;i=8117 i=2310 i=78 ns=1;i=5060 CompleteToStoppingTransition ns=1;i=8117 i=2310 i=78 ns=1;i=5060 SuspendingToStoppingTransition ns=1;i=8117 i=2310 i=78 ns=1;i=5060 SuspendedToStoppingTransition ns=1;i=8117 i=2310 i=78 ns=1;i=5060 UnsuspendingToStoppingTransition ns=1;i=8117 i=2310 i=78 ns=1;i=5060 HoldingToStoppingTransition ns=1;i=8117 i=2310 i=78 ns=1;i=5060 HeldToStoppingTransition ns=1;i=8117 i=2310 i=78 ns=1;i=5060 UnholdingToStoppingTransition ns=1;i=8117 i=2310 i=78 ns=1;i=5060 StoppedToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=5060 ResettingToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=5060 IdleToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=5060 StartingToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=5060 ExecuteToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=5060 CompletingToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=5060 CompleteToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=5060 SuspendingToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=5060 SuspendedToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=5060 UnsuspendingToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=5060 HoldingToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=5060 HeldToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=5060 UnholdingToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=5060 StoppingToAbortingTransition ns=1;i=8122 i=2310 i=78 ns=1;i=5060 Local The AnalyserChannel is in the Local mode. This mode is normally used to perform local physical maintenance on the analyser. ns=1;i=6163 ns=1;i=5064 ns=1;i=5066 ns=1;i=5067 ns=1;i=5069 ns=1;i=5071 ns=1;i=1005 i=78 ns=1;i=1007 StateNumber i=68 i=80 ns=1;i=5061 0 Maintenance The AnalyserChannel is in the Maintenance mode. This mode is used to perform remote maintenance on the analyser like firmware upgrade. ns=1;i=6164 ns=1;i=5065 ns=1;i=5067 ns=1;i=5068 ns=1;i=5069 ns=1;i=5072 ns=1;i=1006 i=78 ns=1;i=1007 StateNumber i=68 i=80 ns=1;i=5062 0 SlaveModeToOperatingTransition ns=1;i=6165 ns=1;i=5058 ns=1;i=5059 i=2310 i=78 ns=1;i=1007 TransitionNumber i=68 i=80 ns=1;i=5063 0 OperatingToLocalTransition ns=1;i=6166 ns=1;i=5059 ns=1;i=5061 i=2310 i=78 ns=1;i=1007 TransitionNumber i=68 i=80 ns=1;i=5064 0 OperatingToMaintenanceTransition ns=1;i=6167 ns=1;i=5059 ns=1;i=5062 ns=1;i=8114 i=2310 i=78 ns=1;i=1007 TransitionNumber i=68 i=80 ns=1;i=5065 0 LocalToOperatingTransition ns=1;i=6168 ns=1;i=5061 ns=1;i=5059 i=2310 i=78 ns=1;i=1007 TransitionNumber i=68 i=80 ns=1;i=5066 0 LocalToMaintenanceTransition ns=1;i=6169 ns=1;i=5061 ns=1;i=5062 i=2310 i=78 ns=1;i=1007 TransitionNumber i=68 i=80 ns=1;i=5067 0 MaintenanceToOperatingTransition ns=1;i=6170 ns=1;i=5062 ns=1;i=5059 ns=1;i=8113 i=2310 i=78 ns=1;i=1007 TransitionNumber i=68 i=80 ns=1;i=5068 0 MaintenanceToLocalTransition ns=1;i=6171 ns=1;i=5062 ns=1;i=5061 i=2310 i=78 ns=1;i=1007 TransitionNumber i=68 i=80 ns=1;i=5069 0 OperatingToSlaveModeTransition ns=1;i=6172 ns=1;i=5059 ns=1;i=5058 i=2310 i=78 ns=1;i=1007 TransitionNumber i=68 i=80 ns=1;i=5070 0 LocalToSlaveModeTransition ns=1;i=6173 ns=1;i=5061 ns=1;i=5058 i=2310 i=78 ns=1;i=1007 TransitionNumber i=68 i=80 ns=1;i=5071 0 MaintenanceToSlaveModeTransition ns=1;i=6174 ns=1;i=5062 ns=1;i=5058 i=2310 i=78 ns=1;i=1007 TransitionNumber i=68 i=80 ns=1;i=5072 0 AnalyserChannelOperatingExecuteStateType ns=1;i=8966 i=2307 OperatingExecuteSubStateMachine ns=1;i=8967 ns=1;i=8977 ns=1;i=8979 ns=1;i=8981 ns=1;i=8983 ns=1;i=8985 ns=1;i=8987 ns=1;i=8989 ns=1;i=8991 ns=1;i=8993 ns=1;i=8995 ns=1;i=8997 ns=1;i=8999 ns=1;i=9001 ns=1;i=9003 ns=1;i=9005 ns=1;i=9007 ns=1;i=9009 ns=1;i=9011 ns=1;i=9013 ns=1;i=9015 ns=1;i=9017 ns=1;i=9019 ns=1;i=9021 ns=1;i=9023 ns=1;i=9025 ns=1;i=9027 ns=1;i=9029 ns=1;i=9031 ns=1;i=9033 ns=1;i=9035 ns=1;i=9037 ns=1;i=9039 ns=1;i=9041 ns=1;i=9043 ns=1;i=9045 ns=1;i=9047 ns=1;i=9049 ns=1;i=9051 ns=1;i=9053 ns=1;i=9055 ns=1;i=9057 ns=1;i=9059 ns=1;i=9061 ns=1;i=9063 ns=1;i=9065 ns=1;i=9067 ns=1;i=9069 ns=1;i=9071 ns=1;i=9073 ns=1;i=9075 ns=1;i=9077 ns=1;i=9079 ns=1;i=9081 ns=1;i=9083 ns=1;i=9085 ns=1;i=9087 ns=1;i=9089 ns=1;i=9091 ns=1;i=1009 i=78 ns=1;i=8964 CurrentState ns=1;i=8968 i=2760 i=78 ns=1;i=8966 Id i=68 i=78 ns=1;i=8967 SelectExecutionCycle This pseudo-state is used to decide which execution path shall be taken. i=2309 i=78 ns=1;i=8966 WaitForCalibrationTrigger Wait until the analyser channel is ready to perform the Calibration acquisition cycle i=2307 i=78 ns=1;i=8966 ExtractCalibrationSample Collect / setup the sampling system to perform the acquisition cycle of a Calibration cycle i=2307 i=78 ns=1;i=8966 PrepareCalibrationSample Prepare the Calibration sample for the AnalyseCalibrationSample state i=2307 i=78 ns=1;i=8966 AnalyseCalibrationSample Perform the analysis of the Calibration Sample i=2307 i=78 ns=1;i=8966 WaitForValidationTrigger Wait until the analyser channel is ready to perform the Validation acquisition cycle i=2307 i=78 ns=1;i=8966 ExtractValidationSample Collect / setup the sampling system to perform the acquisition cycle of a Validation cycle i=2307 i=78 ns=1;i=8966 PrepareValidationSample Prepare the Validation sample for the AnalyseValidationSample state i=2307 i=78 ns=1;i=8966 AnalyseValidationSample Perform the analysis of the Validation Sample i=2307 i=78 ns=1;i=8966 WaitForSampleTrigger Wait until the analyser channel is ready to perform the Sample acquisition cycle i=2307 i=78 ns=1;i=8966 ExtractSample Collect the Sample from the process i=2307 i=78 ns=1;i=8966 PrepareSample Prepare the Sample for the AnalyseSample state i=2307 i=78 ns=1;i=8966 AnalyseSample Perform the analysis of the Sample i=2307 i=78 ns=1;i=8966 WaitForDiagnosticTrigger Wait until the analyser channel is ready to perform the diagnostic cycle, i=2307 i=78 ns=1;i=8966 Diagnostic Perform the diagnostic cycle. i=2307 i=78 ns=1;i=8966 WaitForCleaningTrigger Wait until the analyser channel is ready to perform the cleaning cycle, i=2307 i=78 ns=1;i=8966 Cleaning Perform the cleaning cycle. i=2307 i=78 ns=1;i=8966 PublishResults Publish the results of the previous acquisition cycle i=2307 i=78 ns=1;i=8966 EjectGrabSample The Sample that was just analysed is ejected from the system to allow the operator or another system to grab it i=2307 i=78 ns=1;i=8966 CleanupSamplingSystem Cleanup the sampling sub-system to be ready for the next acquisition i=2307 i=78 ns=1;i=8966 SelectExecutionCycleToWaitForCalibrationTriggerTransition i=2310 i=78 ns=1;i=8966 WaitForCalibrationTriggerToExtractCalibrationSampleTransition i=2310 i=78 ns=1;i=8966 ExtractCalibrationSampleTransition i=2310 i=78 ns=1;i=8966 ExtractCalibrationSampleToPrepareCalibrationSampleTransition i=2310 i=78 ns=1;i=8966 PrepareCalibrationSampleTransition i=2310 i=78 ns=1;i=8966 PrepareCalibrationSampleToAnalyseCalibrationSampleTransition i=2310 i=78 ns=1;i=8966 AnalyseCalibrationSampleTransition i=2310 i=78 ns=1;i=8966 AnalyseCalibrationSampleToPublishResultsTransition i=2310 i=78 ns=1;i=8966 SelectExecutionCycleToWaitForValidationTriggerTransition i=2310 i=78 ns=1;i=8966 WaitForValidationTriggerToExtractValidationSampleTransition i=2310 i=78 ns=1;i=8966 ExtractValidationSampleTransition i=2310 i=78 ns=1;i=8966 ExtractValidationSampleToPrepareValidationSampleTransition i=2310 i=78 ns=1;i=8966 PrepareValidationSampleTransition i=2310 i=78 ns=1;i=8966 PrepareValidationSampleToAnalyseValidationSampleTransition i=2310 i=78 ns=1;i=8966 AnalyseValidationSampleTransition i=2310 i=78 ns=1;i=8966 AnalyseValidationSampleToPublishResultsTransition i=2310 i=78 ns=1;i=8966 SelectExecutionCycleToWaitForSampleTriggerTransition i=2310 i=78 ns=1;i=8966 WaitForSampleTriggerToExtractSampleTransition i=2310 i=78 ns=1;i=8966 ExtractSampleTransition i=2310 i=78 ns=1;i=8966 ExtractSampleToPrepareSampleTransition i=2310 i=78 ns=1;i=8966 PrepareSampleTransition i=2310 i=78 ns=1;i=8966 PrepareSampleToAnalyseSampleTransition i=2310 i=78 ns=1;i=8966 AnalyseSampleTransition i=2310 i=78 ns=1;i=8966 AnalyseSampleToPublishResultsTransition i=2310 i=78 ns=1;i=8966 SelectExecutionCycleToWaitForDiagnosticTriggerTransition i=2310 i=78 ns=1;i=8966 WaitForDiagnosticTriggerToDiagnosticTransition i=2310 i=78 ns=1;i=8966 DiagnosticTransition i=2310 i=78 ns=1;i=8966 DiagnosticToPublishResultsTransition i=2310 i=78 ns=1;i=8966 SelectExecutionCycleToWaitForCleaningTriggerTransition i=2310 i=78 ns=1;i=8966 WaitForCleaningTriggerToCleaningTransition i=2310 i=78 ns=1;i=8966 CleaningTransition i=2310 i=78 ns=1;i=8966 CleaningToPublishResultsTransition i=2310 i=78 ns=1;i=8966 PublishResultsToCleanupSamplingSystemTransition i=2310 i=78 ns=1;i=8966 PublishResultsToEjectGrabSampleTransition i=2310 i=78 ns=1;i=8966 EjectGrabSampleTransition i=2310 i=78 ns=1;i=8966 EjectGrabSampleToCleanupSamplingSystemTransition i=2310 i=78 ns=1;i=8966 CleanupSamplingSystemTransition i=2310 i=78 ns=1;i=8966 CleanupSamplingSystemToSelectExecutionCycleTransition i=2310 i=78 ns=1;i=8966 AnalyserChannel_OperatingModeSubStateMachineType AnalyserChannel OperatingMode SubStateMachine ns=1;i=5073 ns=1;i=5074 ns=1;i=5075 ns=1;i=5076 ns=1;i=5077 ns=1;i=5180 ns=1;i=5181 ns=1;i=5182 ns=1;i=5183 ns=1;i=5184 ns=1;i=5185 ns=1;i=5186 ns=1;i=5187 ns=1;i=5188 ns=1;i=5189 ns=1;i=5190 ns=1;i=5191 ns=1;i=5192 ns=1;i=5193 ns=1;i=5194 ns=1;i=5195 ns=1;i=5196 ns=1;i=5197 ns=1;i=5198 ns=1;i=5199 ns=1;i=5200 ns=1;i=5201 ns=1;i=5202 ns=1;i=5203 ns=1;i=5204 ns=1;i=5205 ns=1;i=5206 ns=1;i=5207 ns=1;i=5208 ns=1;i=5209 ns=1;i=5210 ns=1;i=5211 ns=1;i=5212 ns=1;i=5213 ns=1;i=5214 ns=1;i=5215 ns=1;i=5216 ns=1;i=5217 ns=1;i=5218 ns=1;i=5219 ns=1;i=5220 ns=1;i=5221 ns=1;i=5222 ns=1;i=5223 ns=1;i=5224 ns=1;i=5225 ns=1;i=5226 ns=1;i=5227 ns=1;i=5228 ns=1;i=5229 ns=1;i=5230 ns=1;i=5231 ns=1;i=5232 ns=1;i=5233 ns=1;i=5234 ns=1;i=5235 ns=1;i=5236 ns=1;i=5237 ns=1;i=5238 ns=1;i=5239 ns=1;i=5240 ns=1;i=5241 ns=1;i=5242 ns=1;i=5243 ns=1;i=5244 ns=1;i=5245 ns=1;i=8115 ns=1;i=8116 ns=1;i=8111 ns=1;i=8117 ns=1;i=8118 ns=1;i=8119 ns=1;i=8120 ns=1;i=8121 ns=1;i=8122 ns=1;i=8123 i=2771 Stopped This is the initial state after AnalyserDeviceStateMachine state Powerup ns=1;i=6185 ns=1;i=5192 ns=1;i=5201 ns=1;i=5216 ns=1;i=5219 ns=1;i=5232 i=2309 i=78 ns=1;i=1008 StateNumber i=68 i=80 ns=1;i=5073 0 Resetting This state is the result of a Reset or SetConfiguration Method call from the Stopped state. ns=1;i=6186 ns=1;i=5192 ns=1;i=5193 ns=1;i=5193 ns=1;i=5194 ns=1;i=5220 ns=1;i=5233 i=2307 i=78 ns=1;i=1008 StateNumber i=68 i=80 ns=1;i=5074 0 Idle The Resetting state is completed, all parameters have been committed and ready to start acquisition ns=1;i=6187 ns=1;i=5194 ns=1;i=5195 ns=1;i=5221 ns=1;i=5234 i=2307 i=78 ns=1;i=1008 StateNumber i=68 i=80 ns=1;i=5075 0 Starting The analyser has received the Start or SingleAcquisitionStart Method call and it is preparing to enter in Execute state. ns=1;i=6188 ns=1;i=5195 ns=1;i=5196 ns=1;i=5196 ns=1;i=5197 ns=1;i=5222 ns=1;i=5235 i=2307 i=78 ns=1;i=1008 StateNumber i=68 i=80 ns=1;i=5076 0 Execute All repetitive acquisition cycles are done in this state: ns=1;i=6301 ns=1;i=9093 ns=1;i=5197 ns=1;i=5198 ns=1;i=5202 ns=1;i=5208 ns=1;i=5209 ns=1;i=5215 ns=1;i=5223 ns=1;i=5236 ns=1;i=8964 i=78 ns=1;i=1008 StateNumber i=68 i=80 ns=1;i=5077 0 OperatingExecuteSubStateMachine ns=1;i=9094 ns=1;i=9104 ns=1;i=9106 ns=1;i=9108 ns=1;i=9110 ns=1;i=9112 ns=1;i=9114 ns=1;i=9116 ns=1;i=9118 ns=1;i=9120 ns=1;i=9122 ns=1;i=9124 ns=1;i=9126 ns=1;i=9128 ns=1;i=9130 ns=1;i=9132 ns=1;i=9134 ns=1;i=9136 ns=1;i=9138 ns=1;i=9140 ns=1;i=9142 ns=1;i=9144 ns=1;i=9146 ns=1;i=9148 ns=1;i=9150 ns=1;i=9152 ns=1;i=9154 ns=1;i=9156 ns=1;i=9158 ns=1;i=9160 ns=1;i=9162 ns=1;i=9164 ns=1;i=9166 ns=1;i=9168 ns=1;i=9170 ns=1;i=9172 ns=1;i=9174 ns=1;i=9176 ns=1;i=9178 ns=1;i=9180 ns=1;i=9182 ns=1;i=9184 ns=1;i=9186 ns=1;i=9188 ns=1;i=9190 ns=1;i=9192 ns=1;i=9194 ns=1;i=9196 ns=1;i=9198 ns=1;i=9200 ns=1;i=9202 ns=1;i=9204 ns=1;i=9206 ns=1;i=9208 ns=1;i=9210 ns=1;i=9212 ns=1;i=9214 ns=1;i=9216 ns=1;i=9218 ns=1;i=1009 i=78 ns=1;i=5077 CurrentState ns=1;i=9095 i=2760 i=78 ns=1;i=9093 Id i=68 i=78 ns=1;i=9094 SelectExecutionCycle This pseudo-state is used to decide which execution path shall be taken. i=2309 i=78 ns=1;i=9093 WaitForCalibrationTrigger Wait until the analyser channel is ready to perform the Calibration acquisition cycle i=2307 i=78 ns=1;i=9093 ExtractCalibrationSample Collect / setup the sampling system to perform the acquisition cycle of a Calibration cycle i=2307 i=78 ns=1;i=9093 PrepareCalibrationSample Prepare the Calibration sample for the AnalyseCalibrationSample state i=2307 i=78 ns=1;i=9093 AnalyseCalibrationSample Perform the analysis of the Calibration Sample i=2307 i=78 ns=1;i=9093 WaitForValidationTrigger Wait until the analyser channel is ready to perform the Validation acquisition cycle i=2307 i=78 ns=1;i=9093 ExtractValidationSample Collect / setup the sampling system to perform the acquisition cycle of a Validation cycle i=2307 i=78 ns=1;i=9093 PrepareValidationSample Prepare the Validation sample for the AnalyseValidationSample state i=2307 i=78 ns=1;i=9093 AnalyseValidationSample Perform the analysis of the Validation Sample i=2307 i=78 ns=1;i=9093 WaitForSampleTrigger Wait until the analyser channel is ready to perform the Sample acquisition cycle i=2307 i=78 ns=1;i=9093 ExtractSample Collect the Sample from the process i=2307 i=78 ns=1;i=9093 PrepareSample Prepare the Sample for the AnalyseSample state i=2307 i=78 ns=1;i=9093 AnalyseSample Perform the analysis of the Sample i=2307 i=78 ns=1;i=9093 WaitForDiagnosticTrigger Wait until the analyser channel is ready to perform the diagnostic cycle, i=2307 i=78 ns=1;i=9093 Diagnostic Perform the diagnostic cycle. i=2307 i=78 ns=1;i=9093 WaitForCleaningTrigger Wait until the analyser channel is ready to perform the cleaning cycle, i=2307 i=78 ns=1;i=9093 Cleaning Perform the cleaning cycle. i=2307 i=78 ns=1;i=9093 PublishResults Publish the results of the previous acquisition cycle i=2307 i=78 ns=1;i=9093 EjectGrabSample The Sample that was just analysed is ejected from the system to allow the operator or another system to grab it i=2307 i=78 ns=1;i=9093 CleanupSamplingSystem Cleanup the sampling sub-system to be ready for the next acquisition i=2307 i=78 ns=1;i=9093 SelectExecutionCycleToWaitForCalibrationTriggerTransition i=2310 i=78 ns=1;i=9093 WaitForCalibrationTriggerToExtractCalibrationSampleTransition i=2310 i=78 ns=1;i=9093 ExtractCalibrationSampleTransition i=2310 i=78 ns=1;i=9093 ExtractCalibrationSampleToPrepareCalibrationSampleTransition i=2310 i=78 ns=1;i=9093 PrepareCalibrationSampleTransition i=2310 i=78 ns=1;i=9093 PrepareCalibrationSampleToAnalyseCalibrationSampleTransition i=2310 i=78 ns=1;i=9093 AnalyseCalibrationSampleTransition i=2310 i=78 ns=1;i=9093 AnalyseCalibrationSampleToPublishResultsTransition i=2310 i=78 ns=1;i=9093 SelectExecutionCycleToWaitForValidationTriggerTransition i=2310 i=78 ns=1;i=9093 WaitForValidationTriggerToExtractValidationSampleTransition i=2310 i=78 ns=1;i=9093 ExtractValidationSampleTransition i=2310 i=78 ns=1;i=9093 ExtractValidationSampleToPrepareValidationSampleTransition i=2310 i=78 ns=1;i=9093 PrepareValidationSampleTransition i=2310 i=78 ns=1;i=9093 PrepareValidationSampleToAnalyseValidationSampleTransition i=2310 i=78 ns=1;i=9093 AnalyseValidationSampleTransition i=2310 i=78 ns=1;i=9093 AnalyseValidationSampleToPublishResultsTransition i=2310 i=78 ns=1;i=9093 SelectExecutionCycleToWaitForSampleTriggerTransition i=2310 i=78 ns=1;i=9093 WaitForSampleTriggerToExtractSampleTransition i=2310 i=78 ns=1;i=9093 ExtractSampleTransition i=2310 i=78 ns=1;i=9093 ExtractSampleToPrepareSampleTransition i=2310 i=78 ns=1;i=9093 PrepareSampleTransition i=2310 i=78 ns=1;i=9093 PrepareSampleToAnalyseSampleTransition i=2310 i=78 ns=1;i=9093 AnalyseSampleTransition i=2310 i=78 ns=1;i=9093 AnalyseSampleToPublishResultsTransition i=2310 i=78 ns=1;i=9093 SelectExecutionCycleToWaitForDiagnosticTriggerTransition i=2310 i=78 ns=1;i=9093 WaitForDiagnosticTriggerToDiagnosticTransition i=2310 i=78 ns=1;i=9093 DiagnosticTransition i=2310 i=78 ns=1;i=9093 DiagnosticToPublishResultsTransition i=2310 i=78 ns=1;i=9093 SelectExecutionCycleToWaitForCleaningTriggerTransition i=2310 i=78 ns=1;i=9093 WaitForCleaningTriggerToCleaningTransition i=2310 i=78 ns=1;i=9093 CleaningTransition i=2310 i=78 ns=1;i=9093 CleaningToPublishResultsTransition i=2310 i=78 ns=1;i=9093 PublishResultsToCleanupSamplingSystemTransition i=2310 i=78 ns=1;i=9093 PublishResultsToEjectGrabSampleTransition i=2310 i=78 ns=1;i=9093 EjectGrabSampleTransition i=2310 i=78 ns=1;i=9093 EjectGrabSampleToCleanupSamplingSystemTransition i=2310 i=78 ns=1;i=9093 CleanupSamplingSystemTransition i=2310 i=78 ns=1;i=9093 CleanupSamplingSystemToSelectExecutionCycleTransition i=2310 i=78 ns=1;i=9093 Completing This state is an automatic or commanded exit from the Execute state. ns=1;i=6302 ns=1;i=5198 ns=1;i=5199 ns=1;i=5199 ns=1;i=5200 ns=1;i=5224 ns=1;i=5237 i=2307 i=78 ns=1;i=1008 StateNumber i=68 i=80 ns=1;i=5180 0 Complete At this point, the Completing state is done and it transitions automatically to Stopped state to wait. ns=1;i=6303 ns=1;i=5200 ns=1;i=5201 ns=1;i=5225 ns=1;i=5238 i=2307 i=78 ns=1;i=1008 StateNumber i=68 i=80 ns=1;i=5181 0 Suspending This state is a result of a change in monitored conditions due to process conditions or factors. ns=1;i=6304 ns=1;i=5209 ns=1;i=5210 ns=1;i=5210 ns=1;i=5211 ns=1;i=5214 ns=1;i=5226 ns=1;i=5239 i=2307 i=78 ns=1;i=1008 StateNumber i=68 i=80 ns=1;i=5182 0 Suspended The analyser or channel may be running but no results are being generated while the analyser or channel is waiting for external process conditions to return to normal. ns=1;i=6305 ns=1;i=5211 ns=1;i=5212 ns=1;i=5227 ns=1;i=5240 i=2307 i=78 ns=1;i=1008 StateNumber i=68 i=80 ns=1;i=5183 0 Unsuspending This state is a result of a device request from Suspended state to transition back to the Execute state by calling the Unsuspend Method. ns=1;i=6306 ns=1;i=5212 ns=1;i=5213 ns=1;i=5213 ns=1;i=5214 ns=1;i=5215 ns=1;i=5228 ns=1;i=5241 i=2307 i=78 ns=1;i=1008 StateNumber i=68 i=80 ns=1;i=5184 0 Holding Brings the analyser or channel to a controlled stop or to a state which represents Held for the particular unit control mode ns=1;i=6307 ns=1;i=5202 ns=1;i=5203 ns=1;i=5203 ns=1;i=5204 ns=1;i=5207 ns=1;i=5229 ns=1;i=5242 i=2307 i=78 ns=1;i=1008 StateNumber i=68 i=80 ns=1;i=5185 0 Held The Held state holds the analyser or channel's operation. At this state, no acquisition cycle is performed. ns=1;i=6308 ns=1;i=5204 ns=1;i=5205 ns=1;i=5230 ns=1;i=5243 i=2307 i=78 ns=1;i=1008 StateNumber i=68 i=80 ns=1;i=5186 0 Unholding The Unholding state is a response to an operator command to resume the Execute state. ns=1;i=6309 ns=1;i=5205 ns=1;i=5206 ns=1;i=5206 ns=1;i=5207 ns=1;i=5208 ns=1;i=5231 ns=1;i=5244 i=2307 i=78 ns=1;i=1008 StateNumber i=68 i=80 ns=1;i=5187 0 Stopping Initiated by a Stop Method call, this state: ns=1;i=6310 ns=1;i=5216 ns=1;i=5220 ns=1;i=5221 ns=1;i=5222 ns=1;i=5223 ns=1;i=5224 ns=1;i=5225 ns=1;i=5226 ns=1;i=5227 ns=1;i=5228 ns=1;i=5229 ns=1;i=5230 ns=1;i=5231 ns=1;i=5245 i=2307 i=78 ns=1;i=1008 StateNumber i=68 i=80 ns=1;i=5188 0 Aborting The Aborting state can be entered at any time in response to the Abort command or on the occurrence of a machine fault. ns=1;i=6311 ns=1;i=5217 ns=1;i=5232 ns=1;i=5233 ns=1;i=5234 ns=1;i=5235 ns=1;i=5236 ns=1;i=5237 ns=1;i=5238 ns=1;i=5239 ns=1;i=5240 ns=1;i=5241 ns=1;i=5242 ns=1;i=5243 ns=1;i=5244 ns=1;i=5245 i=2307 i=78 ns=1;i=1008 StateNumber i=68 i=80 ns=1;i=5189 0 Aborted This state maintains machine status information relevant to the Abort condition. ns=1;i=6312 ns=1;i=5217 ns=1;i=5218 i=2307 i=78 ns=1;i=1008 StateNumber i=68 i=80 ns=1;i=5190 0 Clearing Clears faults that may have occurred when Aborting and are present in the Aborted state before proceeding to a Stopped state ns=1;i=6313 ns=1;i=5218 ns=1;i=5219 i=2307 i=78 ns=1;i=1008 StateNumber i=68 i=80 ns=1;i=5191 0 StoppedToResettingTransition ns=1;i=6314 ns=1;i=5073 ns=1;i=5074 ns=1;i=8115 ns=1;i=8096 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5192 0 ResettingTransition ns=1;i=6315 ns=1;i=5074 ns=1;i=5074 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5193 0 ResettingToIdleTransition ns=1;i=6316 ns=1;i=5074 ns=1;i=5075 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5194 0 IdleToStartingTransition ns=1;i=6317 ns=1;i=5075 ns=1;i=5076 ns=1;i=8116 ns=1;i=8111 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5195 0 StartingTransition ns=1;i=6318 ns=1;i=5076 ns=1;i=5076 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5196 0 StartingToExecuteTransition ns=1;i=6319 ns=1;i=5076 ns=1;i=5077 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5197 0 ExecuteToCompletingTransition ns=1;i=6320 ns=1;i=5077 ns=1;i=5180 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5198 0 CompletingTransition ns=1;i=6321 ns=1;i=5180 ns=1;i=5180 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5199 0 CompletingToCompleteTransition ns=1;i=6322 ns=1;i=5180 ns=1;i=5181 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5200 0 CompleteToStoppedTransition ns=1;i=6323 ns=1;i=5181 ns=1;i=5073 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5201 0 ExecuteToHoldingTransition ns=1;i=6324 ns=1;i=5077 ns=1;i=5185 ns=1;i=8118 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5202 0 HoldingTransition ns=1;i=6325 ns=1;i=5185 ns=1;i=5185 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5203 0 HoldingToHeldTransition ns=1;i=6326 ns=1;i=5185 ns=1;i=5186 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5204 0 HeldToUnholdingTransition ns=1;i=6327 ns=1;i=5186 ns=1;i=5187 ns=1;i=8119 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5205 0 UnholdingTransition ns=1;i=6328 ns=1;i=5187 ns=1;i=5187 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5206 0 UnholdingToHoldingTransition ns=1;i=6329 ns=1;i=5187 ns=1;i=5185 ns=1;i=8118 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5207 0 UnholdingToExecuteTransition ns=1;i=6330 ns=1;i=5187 ns=1;i=5077 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5208 0 ExecuteToSuspendingTransition ns=1;i=6331 ns=1;i=5077 ns=1;i=5182 ns=1;i=8120 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5209 0 SuspendingTransition ns=1;i=6332 ns=1;i=5182 ns=1;i=5182 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5210 0 SuspendingToSuspendedTransition ns=1;i=6333 ns=1;i=5182 ns=1;i=5183 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5211 0 SuspendedToUnsuspendingTransition ns=1;i=6334 ns=1;i=5183 ns=1;i=5184 ns=1;i=8121 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5212 0 UnsuspendingTransition ns=1;i=6335 ns=1;i=5184 ns=1;i=5184 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5213 0 UnsuspendingToSuspendingTransition ns=1;i=6336 ns=1;i=5184 ns=1;i=5182 ns=1;i=8120 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5214 0 UnsuspendingToExecuteTransition ns=1;i=6337 ns=1;i=5184 ns=1;i=5077 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5215 0 StoppingToStoppedTransition ns=1;i=6338 ns=1;i=5188 ns=1;i=5073 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5216 0 AbortingToAbortedTransition ns=1;i=6339 ns=1;i=5189 ns=1;i=5190 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5217 0 AbortedToClearingTransition ns=1;i=6340 ns=1;i=5190 ns=1;i=5191 ns=1;i=8123 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5218 0 ClearingToStoppedTransition ns=1;i=6341 ns=1;i=5191 ns=1;i=5073 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5219 0 ResettingToStoppingTransition ns=1;i=6342 ns=1;i=5074 ns=1;i=5188 ns=1;i=8117 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5220 0 IdleToStoppingTransition ns=1;i=6343 ns=1;i=5075 ns=1;i=5188 ns=1;i=8117 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5221 0 StartingToStoppingTransition ns=1;i=6344 ns=1;i=5076 ns=1;i=5188 ns=1;i=8117 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5222 0 ExecuteToStoppingTransition ns=1;i=6345 ns=1;i=5077 ns=1;i=5188 ns=1;i=8117 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5223 0 CompletingToStoppingTransition ns=1;i=6346 ns=1;i=5180 ns=1;i=5188 ns=1;i=8117 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5224 0 CompleteToStoppingTransition ns=1;i=6347 ns=1;i=5181 ns=1;i=5188 ns=1;i=8117 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5225 0 SuspendingToStoppingTransition ns=1;i=6348 ns=1;i=5182 ns=1;i=5188 ns=1;i=8117 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5226 0 SuspendedToStoppingTransition ns=1;i=6349 ns=1;i=5183 ns=1;i=5188 ns=1;i=8117 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5227 0 UnsuspendingToStoppingTransition ns=1;i=6350 ns=1;i=5184 ns=1;i=5188 ns=1;i=8117 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5228 0 HoldingToStoppingTransition ns=1;i=6351 ns=1;i=5185 ns=1;i=5188 ns=1;i=8117 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5229 0 HeldToStoppingTransition ns=1;i=6352 ns=1;i=5186 ns=1;i=5188 ns=1;i=8117 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5230 0 UnholdingToStoppingTransition ns=1;i=6353 ns=1;i=5187 ns=1;i=5188 ns=1;i=8117 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5231 0 StoppedToAbortingTransition ns=1;i=6354 ns=1;i=5073 ns=1;i=5189 ns=1;i=8122 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5232 0 ResettingToAbortingTransition ns=1;i=6355 ns=1;i=5074 ns=1;i=5189 ns=1;i=8122 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5233 0 IdleToAbortingTransition ns=1;i=6356 ns=1;i=5075 ns=1;i=5189 ns=1;i=8122 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5234 0 StartingToAbortingTransition ns=1;i=6357 ns=1;i=5076 ns=1;i=5189 ns=1;i=8122 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5235 0 ExecuteToAbortingTransition ns=1;i=6358 ns=1;i=5077 ns=1;i=5189 ns=1;i=8122 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5236 0 CompletingToAbortingTransition ns=1;i=6359 ns=1;i=5180 ns=1;i=5189 ns=1;i=8122 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5237 0 CompleteToAbortingTransition ns=1;i=6360 ns=1;i=5181 ns=1;i=5189 ns=1;i=8122 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5238 0 SuspendingToAbortingTransition ns=1;i=6361 ns=1;i=5182 ns=1;i=5189 ns=1;i=8122 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5239 0 SuspendedToAbortingTransition ns=1;i=6362 ns=1;i=5183 ns=1;i=5189 ns=1;i=8122 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5240 0 UnsuspendingToAbortingTransition ns=1;i=6363 ns=1;i=5184 ns=1;i=5189 ns=1;i=8122 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5241 0 HoldingToAbortingTransition ns=1;i=6364 ns=1;i=5185 ns=1;i=5189 ns=1;i=8122 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5242 0 HeldToAbortingTransition ns=1;i=6365 ns=1;i=5186 ns=1;i=5189 ns=1;i=8122 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5243 0 UnholdingToAbortingTransition ns=1;i=6366 ns=1;i=5187 ns=1;i=5189 ns=1;i=8122 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5244 0 StoppingToAbortingTransition ns=1;i=6367 ns=1;i=5188 ns=1;i=5189 ns=1;i=8122 i=2310 i=78 ns=1;i=1008 TransitionNumber i=68 i=80 ns=1;i=5245 0 AnalyserChannel_OperatingModeExecuteSubStateMachineType ns=1;i=9220 ns=1;i=5247 ns=1;i=5248 ns=1;i=5249 ns=1;i=5250 ns=1;i=5251 ns=1;i=5252 ns=1;i=5253 ns=1;i=5254 ns=1;i=5255 ns=1;i=5256 ns=1;i=5257 ns=1;i=5258 ns=1;i=5259 ns=1;i=5260 ns=1;i=5261 ns=1;i=5262 ns=1;i=5263 ns=1;i=5264 ns=1;i=5265 ns=1;i=9222 ns=1;i=5268 ns=1;i=5269 ns=1;i=5270 ns=1;i=5271 ns=1;i=5272 ns=1;i=5273 ns=1;i=5274 ns=1;i=9224 ns=1;i=5276 ns=1;i=5277 ns=1;i=5278 ns=1;i=5279 ns=1;i=5280 ns=1;i=5281 ns=1;i=5282 ns=1;i=9226 ns=1;i=5284 ns=1;i=5285 ns=1;i=5286 ns=1;i=5287 ns=1;i=5288 ns=1;i=5289 ns=1;i=5290 ns=1;i=9228 ns=1;i=5292 ns=1;i=5293 ns=1;i=5294 ns=1;i=9230 ns=1;i=5296 ns=1;i=5297 ns=1;i=5298 ns=1;i=5299 ns=1;i=5300 ns=1;i=5301 ns=1;i=5302 ns=1;i=5303 ns=1;i=9232 i=2771 SelectExecutionCycle This pseudo-state is used to decide which execution path shall be taken. ns=1;i=9221 ns=1;i=9222 ns=1;i=9224 ns=1;i=9226 ns=1;i=9228 ns=1;i=9230 ns=1;i=9232 i=2309 i=78 ns=1;i=1009 StateNumber i=68 i=80 ns=1;i=9220 0 WaitForCalibrationTrigger Wait until the analyser channel is ready to perform the Calibration acquisition cycle ns=1;i=6379 ns=1;i=9222 ns=1;i=5268 i=2307 i=78 ns=1;i=1009 StateNumber i=68 i=80 ns=1;i=5247 0 ExtractCalibrationSample Collect / setup the sampling system to perform the acquisition cycle of a Calibration cycle ns=1;i=6380 ns=1;i=5268 ns=1;i=5269 ns=1;i=5269 ns=1;i=5270 i=2307 i=78 ns=1;i=1009 StateNumber i=68 i=80 ns=1;i=5248 0 PrepareCalibrationSample Prepare the Calibration sample for the AnalyseCalibrationSample state ns=1;i=6381 ns=1;i=5270 ns=1;i=5271 ns=1;i=5271 ns=1;i=5272 i=2307 i=78 ns=1;i=1009 StateNumber i=68 i=80 ns=1;i=5249 0 AnalyseCalibrationSample Perform the analysis of the Calibration Sample ns=1;i=6382 ns=1;i=5272 ns=1;i=5273 ns=1;i=5273 ns=1;i=5274 i=2307 i=78 ns=1;i=1009 StateNumber i=68 i=80 ns=1;i=5250 0 WaitForValidationTrigger Wait until the analyser channel is ready to perform the Validation acquisition cycle ns=1;i=6383 ns=1;i=9224 ns=1;i=5276 i=2307 i=78 ns=1;i=1009 StateNumber i=68 i=80 ns=1;i=5251 0 ExtractValidationSample Collect / setup the sampling system to perform the acquisition cycle of a Validation cycle ns=1;i=6384 ns=1;i=5276 ns=1;i=5277 ns=1;i=5277 ns=1;i=5278 i=2307 i=78 ns=1;i=1009 StateNumber i=68 i=80 ns=1;i=5252 0 PrepareValidationSample Prepare the Validation sample for the AnalyseValidationSample state ns=1;i=6385 ns=1;i=5278 ns=1;i=5279 ns=1;i=5279 ns=1;i=5280 i=2307 i=78 ns=1;i=1009 StateNumber i=68 i=80 ns=1;i=5253 0 AnalyseValidationSample Perform the analysis of the Validation Sample ns=1;i=6386 ns=1;i=5280 ns=1;i=5281 ns=1;i=5281 ns=1;i=5282 i=2307 i=78 ns=1;i=1009 StateNumber i=68 i=80 ns=1;i=5254 0 WaitForSampleTrigger Wait until the analyser channel is ready to perform the Sample acquisition cycle ns=1;i=6387 ns=1;i=9226 ns=1;i=5284 i=2307 i=78 ns=1;i=1009 StateNumber i=68 i=80 ns=1;i=5255 0 ExtractSample Collect the Sample from the process ns=1;i=6388 ns=1;i=5284 ns=1;i=5285 ns=1;i=5285 ns=1;i=5286 i=2307 i=78 ns=1;i=1009 StateNumber i=68 i=80 ns=1;i=5256 0 PrepareSample Prepare the Sample for the AnalyseSample state ns=1;i=6389 ns=1;i=5286 ns=1;i=5287 ns=1;i=5287 ns=1;i=5288 i=2307 i=78 ns=1;i=1009 StateNumber i=68 i=80 ns=1;i=5257 0 AnalyseSample Perform the analysis of the Sample ns=1;i=6390 ns=1;i=5288 ns=1;i=5289 ns=1;i=5289 ns=1;i=5290 i=2307 i=78 ns=1;i=1009 StateNumber i=68 i=80 ns=1;i=5258 0 WaitForDiagnosticTrigger Wait until the analyser channel is ready to perform the diagnostic cycle, ns=1;i=6391 ns=1;i=9228 ns=1;i=5292 i=2307 i=78 ns=1;i=1009 StateNumber i=68 i=80 ns=1;i=5259 0 Diagnostic Perform the diagnostic cycle. ns=1;i=6392 ns=1;i=5292 ns=1;i=5293 ns=1;i=5293 ns=1;i=5294 i=2307 i=78 ns=1;i=1009 StateNumber i=68 i=80 ns=1;i=5260 0 WaitForCleaningTrigger Wait until the analyser channel is ready to perform the cleaning cycle, ns=1;i=6393 ns=1;i=9230 ns=1;i=5296 i=2307 i=78 ns=1;i=1009 StateNumber i=68 i=80 ns=1;i=5261 0 Cleaning Perform the cleaning cycle. ns=1;i=6394 ns=1;i=5296 ns=1;i=5297 ns=1;i=5297 ns=1;i=5298 i=2307 i=78 ns=1;i=1009 StateNumber i=68 i=80 ns=1;i=5262 0 PublishResults Publish the results of the previous acquisition cycle ns=1;i=6395 ns=1;i=5274 ns=1;i=5282 ns=1;i=5290 ns=1;i=5294 ns=1;i=5298 ns=1;i=5299 ns=1;i=5300 i=2307 i=78 ns=1;i=1009 StateNumber i=68 i=80 ns=1;i=5263 0 EjectGrabSample The Sample that was just analysed is ejected from the system to allow the operator or another system to grab it ns=1;i=6396 ns=1;i=5300 ns=1;i=5301 ns=1;i=5301 ns=1;i=5302 i=2307 i=78 ns=1;i=1009 StateNumber i=68 i=80 ns=1;i=5264 0 CleanupSamplingSystem Cleanup the sampling sub-system to be ready for the next acquisition ns=1;i=6397 ns=1;i=5299 ns=1;i=5302 ns=1;i=5303 ns=1;i=5303 ns=1;i=9232 i=2307 i=78 ns=1;i=1009 StateNumber i=68 i=80 ns=1;i=5265 0 SelectExecutionCycleToWaitForCalibrationTriggerTransition ns=1;i=9223 ns=1;i=9220 ns=1;i=5247 i=2310 i=78 ns=1;i=1009 TransitionNumber i=68 i=80 ns=1;i=9222 0 WaitForCalibrationTriggerToExtractCalibrationSampleTransition ns=1;i=6400 ns=1;i=5247 ns=1;i=5248 i=2310 i=78 ns=1;i=1009 TransitionNumber i=68 i=80 ns=1;i=5268 0 ExtractCalibrationSampleTransition ns=1;i=6401 ns=1;i=5248 ns=1;i=5248 i=2310 i=78 ns=1;i=1009 TransitionNumber i=68 i=80 ns=1;i=5269 0 ExtractCalibrationSampleToPrepareCalibrationSampleTransition ns=1;i=6402 ns=1;i=5248 ns=1;i=5249 i=2310 i=78 ns=1;i=1009 TransitionNumber i=68 i=80 ns=1;i=5270 0 PrepareCalibrationSampleTransition ns=1;i=6403 ns=1;i=5249 ns=1;i=5249 i=2310 i=78 ns=1;i=1009 TransitionNumber i=68 i=80 ns=1;i=5271 0 PrepareCalibrationSampleToAnalyseCalibrationSampleTransition ns=1;i=6404 ns=1;i=5249 ns=1;i=5250 i=2310 i=78 ns=1;i=1009 TransitionNumber i=68 i=80 ns=1;i=5272 0 AnalyseCalibrationSampleTransition ns=1;i=6405 ns=1;i=5250 ns=1;i=5250 i=2310 i=78 ns=1;i=1009 TransitionNumber i=68 i=80 ns=1;i=5273 0 AnalyseCalibrationSampleToPublishResultsTransition ns=1;i=6406 ns=1;i=5250 ns=1;i=5263 i=2310 i=78 ns=1;i=1009 TransitionNumber i=68 i=80 ns=1;i=5274 0 SelectExecutionCycleToWaitForValidationTriggerTransition ns=1;i=9225 ns=1;i=9220 ns=1;i=5251 i=2310 i=78 ns=1;i=1009 TransitionNumber i=68 i=80 ns=1;i=9224 0 WaitForValidationTriggerToExtractValidationSampleTransition ns=1;i=6408 ns=1;i=5251 ns=1;i=5252 i=2310 i=78 ns=1;i=1009 TransitionNumber i=68 i=80 ns=1;i=5276 0 ExtractValidationSampleTransition ns=1;i=6409 ns=1;i=5252 ns=1;i=5252 i=2310 i=78 ns=1;i=1009 TransitionNumber i=68 i=80 ns=1;i=5277 0 ExtractValidationSampleToPrepareValidationSampleTransition ns=1;i=6410 ns=1;i=5252 ns=1;i=5253 i=2310 i=78 ns=1;i=1009 TransitionNumber i=68 i=80 ns=1;i=5278 0 PrepareValidationSampleTransition ns=1;i=6411 ns=1;i=5253 ns=1;i=5253 i=2310 i=78 ns=1;i=1009 TransitionNumber i=68 i=80 ns=1;i=5279 0 PrepareValidationSampleToAnalyseValidationSampleTransition ns=1;i=6412 ns=1;i=5253 ns=1;i=5254 i=2310 i=78 ns=1;i=1009 TransitionNumber i=68 i=80 ns=1;i=5280 0 AnalyseValidationSampleTransition ns=1;i=6413 ns=1;i=5254 ns=1;i=5254 i=2310 i=78 ns=1;i=1009 TransitionNumber i=68 i=80 ns=1;i=5281 0 AnalyseValidationSampleToPublishResultsTransition ns=1;i=6414 ns=1;i=5254 ns=1;i=5263 i=2310 i=78 ns=1;i=1009 TransitionNumber i=68 i=80 ns=1;i=5282 0 SelectExecutionCycleToWaitForSampleTriggerTransition ns=1;i=9227 ns=1;i=9220 ns=1;i=5255 i=2310 i=78 ns=1;i=1009 TransitionNumber i=68 i=80 ns=1;i=9226 0 WaitForSampleTriggerToExtractSampleTransition ns=1;i=6416 ns=1;i=5255 ns=1;i=5256 i=2310 i=78 ns=1;i=1009 TransitionNumber i=68 i=80 ns=1;i=5284 0 ExtractSampleTransition ns=1;i=6417 ns=1;i=5256 ns=1;i=5256 i=2310 i=78 ns=1;i=1009 TransitionNumber i=68 i=80 ns=1;i=5285 0 ExtractSampleToPrepareSampleTransition ns=1;i=6418 ns=1;i=5256 ns=1;i=5257 i=2310 i=78 ns=1;i=1009 TransitionNumber i=68 i=80 ns=1;i=5286 0 PrepareSampleTransition ns=1;i=6419 ns=1;i=5257 ns=1;i=5257 i=2310 i=78 ns=1;i=1009 TransitionNumber i=68 i=80 ns=1;i=5287 0 PrepareSampleToAnalyseSampleTransition ns=1;i=6420 ns=1;i=5257 ns=1;i=5258 i=2310 i=78 ns=1;i=1009 TransitionNumber i=68 i=80 ns=1;i=5288 0 AnalyseSampleTransition ns=1;i=6421 ns=1;i=5258 ns=1;i=5258 i=2310 i=78 ns=1;i=1009 TransitionNumber i=68 i=80 ns=1;i=5289 0 AnalyseSampleToPublishResultsTransition ns=1;i=6422 ns=1;i=5258 ns=1;i=5263 i=2310 i=78 ns=1;i=1009 TransitionNumber i=68 i=80 ns=1;i=5290 0 SelectExecutionCycleToWaitForDiagnosticTriggerTransition ns=1;i=9229 ns=1;i=9220 ns=1;i=5259 i=2310 i=78 ns=1;i=1009 TransitionNumber i=68 i=80 ns=1;i=9228 0 WaitForDiagnosticTriggerToDiagnosticTransition ns=1;i=6424 ns=1;i=5259 ns=1;i=5260 i=2310 i=78 ns=1;i=1009 TransitionNumber i=68 i=80 ns=1;i=5292 0 DiagnosticTransition ns=1;i=6425 ns=1;i=5260 ns=1;i=5260 i=2310 i=78 ns=1;i=1009 TransitionNumber i=68 i=80 ns=1;i=5293 0 DiagnosticToPublishResultsTransition ns=1;i=6426 ns=1;i=5260 ns=1;i=5263 i=2310 i=78 ns=1;i=1009 TransitionNumber i=68 i=80 ns=1;i=5294 0 SelectExecutionCycleToWaitForCleaningTriggerTransition ns=1;i=9231 ns=1;i=9220 ns=1;i=5261 i=2310 i=78 ns=1;i=1009 TransitionNumber i=68 i=80 ns=1;i=9230 0 WaitForCleaningTriggerToCleaningTransition ns=1;i=6428 ns=1;i=5261 ns=1;i=5262 i=2310 i=78 ns=1;i=1009 TransitionNumber i=68 i=80 ns=1;i=5296 0 CleaningTransition ns=1;i=6429 ns=1;i=5262 ns=1;i=5262 i=2310 i=78 ns=1;i=1009 TransitionNumber i=68 i=80 ns=1;i=5297 0 CleaningToPublishResultsTransition ns=1;i=6430 ns=1;i=5262 ns=1;i=5263 i=2310 i=78 ns=1;i=1009 TransitionNumber i=68 i=80 ns=1;i=5298 0 PublishResultsToCleanupSamplingSystemTransition ns=1;i=6431 ns=1;i=5263 ns=1;i=5265 i=2310 i=78 ns=1;i=1009 TransitionNumber i=68 i=80 ns=1;i=5299 0 PublishResultsToEjectGrabSampleTransition ns=1;i=6432 ns=1;i=5263 ns=1;i=5264 i=2310 i=78 ns=1;i=1009 TransitionNumber i=68 i=80 ns=1;i=5300 0 EjectGrabSampleTransition ns=1;i=6433 ns=1;i=5264 ns=1;i=5264 i=2310 i=78 ns=1;i=1009 TransitionNumber i=68 i=80 ns=1;i=5301 0 EjectGrabSampleToCleanupSamplingSystemTransition ns=1;i=6434 ns=1;i=5264 ns=1;i=5265 i=2310 i=78 ns=1;i=1009 TransitionNumber i=68 i=80 ns=1;i=5302 0 CleanupSamplingSystemTransition ns=1;i=6435 ns=1;i=5265 ns=1;i=5265 i=2310 i=78 ns=1;i=1009 TransitionNumber i=68 i=80 ns=1;i=5303 0 CleanupSamplingSystemToSelectExecutionCycleTransition ns=1;i=9233 ns=1;i=5265 ns=1;i=9220 i=2310 i=78 ns=1;i=1009 TransitionNumber i=68 i=80 ns=1;i=9232 0 StreamType ns=1;i=5348 ns=1;i=9445 ns=1;i=5350 ns=1;i=5351 ns=1;i=5352 ns=1;i=5353 ns=1;i=5354 ns=1;i=5355 ns=1;i=5356 ns=2;i=1001 ParameterSet Flat list of Parameters ns=1;i=6483 ns=1;i=6486 ns=1;i=6489 ns=1;i=6492 ns=1;i=6495 ns=1;i=6498 ns=1;i=6501 ns=1;i=6507 ns=1;i=9235 ns=1;i=9236 ns=1;i=6511 ns=1;i=6514 ns=1;i=6520 ns=1;i=6523 ns=1;i=6526 ns=1;i=6529 ns=1;i=6532 ns=1;i=6535 ns=1;i=6538 ns=1;i=6541 ns=1;i=6544 ns=1;i=6547 ns=1;i=6550 ns=1;i=6553 ns=1;i=6556 ns=1;i=6559 ns=1;i=6562 i=58 i=78 ns=1;i=1010 IsEnabled True if this stream maybe used to perform acquisition ns=1;i=5350 i=2365 i=78 ns=1;i=5348 IsForced True if this stream is firced, which means that is the only Stream on this AnalyserChannel that can be used to perform acquisition i=2365 i=80 ns=1;i=5348 DiagnosticStatus Stream health status ns=1;i=5351 i=2365 i=78 ns=1;i=5348 LastCalibrationTime Time at which the last calibration was run i=2365 i=80 ns=1;i=5348 LastValidationTime Time at which the last validation was run i=2365 i=80 ns=1;i=5348 LastSampleTime Time at which the last sample was acquired ns=1;i=5351 i=2365 i=78 ns=1;i=5348 TimeBetweenSamples Number of milliseconds between two consecutive starts of acquisition ns=1;i=6504 i=2368 i=80 ns=1;i=5348 EURange i=68 i=78 ns=1;i=6501 IsActive True if this stream is actually running, acquiring data ns=1;i=5353 i=2365 i=78 ns=1;i=5348 ExecutionCycle Indicates which Execution cycle is in progress ns=1;i=5353 i=2365 i=78 ns=1;i=5348 ExecutionCycleSubcode Indicates which Execution cycle subcode is in progress ns=1;i=9239 ns=1;i=5353 i=2376 i=78 ns=1;i=5348 EnumStrings i=68 i=78 ns=1;i=9236 Progress Indicates the progress of an acquisition in terms of percentage of completion. Its value shall be between 0 and 100. ns=1;i=5353 i=2365 i=78 ns=1;i=5348 AcquisitionCounter Simple counter incremented after each Sampling acquisition performed on this Stream ns=1;i=6517 ns=1;i=5354 i=2368 i=78 ns=1;i=5348 EURange i=68 i=78 ns=1;i=6514 AcquisitionResultStatus Quality of the acquisition ns=1;i=5354 i=2365 i=78 ns=1;i=5348 RawData Raw data produced as a result of data acquisition on the Stream i=2365 i=80 ns=1;i=5348 ScaledData Scaled data produced as a result of data acquisition on the Stream and application of the analyser model ns=1;i=5354 i=2365 i=78 ns=1;i=5348 AcquisitionEndTime The end time of the AnalyseSample or AnalyseCalibrationSample or AnalyseValidationSample state of the AnalyserChannel_OperatingModeExecuteSubStateMachine state machine ns=1;i=5354 i=2365 i=78 ns=1;i=5348 CampaignId Defines the current campaign i=2365 i=80 ns=1;i=5348 BatchId Defines the current batch i=2365 i=80 ns=1;i=5348 SubBatchId Defines the current sub-batch i=2365 i=80 ns=1;i=5348 LotId Defines the current lot i=2365 i=80 ns=1;i=5348 MaterialId Defines the current material i=2365 i=80 ns=1;i=5348 Process Current Process name i=2365 i=80 ns=1;i=5348 Unit Current Unit name i=2365 i=80 ns=1;i=5348 Operation Current Operation name i=2365 i=80 ns=1;i=5348 Phase Current Phase name i=2365 i=80 ns=1;i=5348 UserId Login name of the user who is logged on at the device console i=2365 i=80 ns=1;i=5348 SampleId Identifier for the sample i=2365 i=80 ns=1;i=5348 <GroupIdentifier> An application specific functional group used to organize parameters and methods. ns=2;i=1005 i=11508 ns=1;i=1010 Configuration ns=1;i=6483 ns=2;i=1005 i=78 ns=1;i=1010 Status ns=1;i=6489 ns=1;i=6498 ns=2;i=1005 i=78 ns=1;i=1010 AcquisitionSettings ns=2;i=1005 i=78 ns=1;i=1010 AcquisitionStatus ns=1;i=6507 ns=1;i=9235 ns=1;i=9236 ns=1;i=6511 ns=2;i=1005 i=78 ns=1;i=1010 AcquisitionData ns=1;i=6514 ns=1;i=6520 ns=1;i=6526 ns=1;i=6529 ns=2;i=1005 i=78 ns=1;i=1010 ChemometricModelSettings ns=2;i=1005 i=78 ns=1;i=1010 Context ns=2;i=1005 i=78 ns=1;i=1010 SpectrometerDeviceType ns=1;i=5357 ns=1;i=5361 ns=1;i=1001 ParameterSet Flat list of Parameters ns=1;i=6572 ns=1;i=6575 ns=1;i=6580 ns=1;i=6585 ns=1;i=6588 ns=1;i=6591 ns=1;i=6594 ns=1;i=6597 ns=1;i=6600 ns=1;i=6603 ns=1;i=6606 ns=1;i=6646 i=58 i=78 ns=1;i=1011 DiagnosticStatus General health status of the analyser i=2365 i=78 ns=1;i=5357 OutOfSpecification Device being operated out of Specification. Uncertain value due to process and environment influence ns=1;i=6578 ns=1;i=6579 i=2373 i=78 ns=1;i=5357 FalseState i=68 i=78 ns=1;i=6575 TrueState i=68 i=78 ns=1;i=6575 FunctionCheck Local operation, configuration is changing, substitute value entered. ns=1;i=6583 ns=1;i=6584 i=2373 i=78 ns=1;i=5357 FalseState i=68 i=78 ns=1;i=6580 TrueState i=68 i=78 ns=1;i=6580 SerialNumber Identifier that uniquely identifies, within a manufacturer, a device instance ns=1;i=5361 i=2365 i=78 ns=1;i=5357 Manufacturer Name of the company that manufactured the device ns=1;i=5361 i=2365 i=78 ns=1;i=5357 Model Model name of the device ns=1;i=5361 i=2365 i=78 ns=1;i=5357 DeviceManual Address (pathname in the file system or a URL | Web address) of user manual for the device ns=1;i=5361 i=2365 i=78 ns=1;i=5357 DeviceRevision Overall revision level of the device ns=1;i=5361 i=2365 i=78 ns=1;i=5357 SoftwareRevision Revision level of the software/firmware of the device ns=1;i=5361 i=2365 i=78 ns=1;i=5357 HardwareRevision Revision level of the hardware of the device ns=1;i=5361 i=2365 i=78 ns=1;i=5357 RevisionCounter An incremental counter indicating the number of times the static data within the Device has been modified ns=1;i=5361 i=2365 i=78 ns=1;i=5357 SpectralRange i=2365 i=80 ns=1;i=5357 FactorySettings ns=2;i=1005 i=78 ns=1;i=1011 ParticleSizeMonitorDeviceType ns=1;i=1001 ChromatographDeviceType ns=1;i=1001 MassSpectrometerDeviceType ns=1;i=1001 AcousticSpectrometerDeviceType ns=1;i=1001 NMRDeviceType ns=1;i=1001 AccessorySlotType Organizes zero or more Accessory objects identified by "AccessoryIdentifier" which represent Accessories currently being used on that AccessorySlot. ns=1;i=7054 ns=1;i=7055 ns=1;i=5483 ns=2;i=1004 IsHotSwappable True if an accessory can be inserted in the accessory slot while it is powered i=68 i=78 ns=1;i=1017 IsEnabled True if this accessory slot is capable of accepting an accessory in it i=68 i=78 ns=1;i=1017 AccessorySlotStateMachine ns=1;i=7056 ns=1;i=5484 ns=1;i=5485 ns=1;i=5486 ns=1;i=5487 ns=1;i=5488 ns=1;i=5489 ns=1;i=5490 ns=1;i=5491 ns=1;i=5492 ns=1;i=5493 ns=1;i=5494 ns=1;i=5495 ns=1;i=5496 ns=1;i=5497 ns=1;i=5498 ns=1;i=5499 ns=1;i=5500 ns=1;i=5501 ns=1;i=1018 i=78 ns=1;i=1017 CurrentState ns=1;i=7057 i=2760 i=78 ns=1;i=5483 Id i=68 i=78 ns=1;i=7056 Powerup The AccessorySlot is in its power-up sequence and cannot perform any other task. i=2309 i=78 ns=1;i=5483 Empty This represents an AccessorySlot where no Accessory is installed. i=2307 i=78 ns=1;i=5483 Inserting This represents an AccessorySlot when an Accessory is being inserted and initializing. i=2307 i=78 ns=1;i=5483 Installed This represents an AccessorySlot where an Accessory is installed and ready to use. i=2307 i=78 ns=1;i=5483 Removing This represents an AccessorySlot where no Accessory is installed. i=2307 i=78 ns=1;i=5483 Shutdown The AccessorySlot is in its power-down sequence and cannot perform any other task. i=2307 i=78 ns=1;i=5483 PowerupToEmptyTransition i=2310 i=78 ns=1;i=5483 EmptyToInsertingTransition i=2310 i=78 ns=1;i=5483 InsertingTransition i=2310 i=78 ns=1;i=5483 InsertingToRemovingTransition i=2310 i=78 ns=1;i=5483 InsertingToInstalledTransition i=2310 i=78 ns=1;i=5483 InstalledToRemovingTransition i=2310 i=78 ns=1;i=5483 RemovingTransition i=2310 i=78 ns=1;i=5483 RemovingToEmptyTransition i=2310 i=78 ns=1;i=5483 EmptyToShutdownTransition i=2310 i=78 ns=1;i=5483 InsertingToShutdownTransition i=2310 i=78 ns=1;i=5483 InstalledToShutdownTransition i=2310 i=78 ns=1;i=5483 RemovingToShutdownTransition i=2310 i=78 ns=1;i=5483 AccessorySlotStateMachineType Describes the behaviour of an AccessorySlot when a physical accessory is inserted or removed. ns=1;i=5502 ns=1;i=5503 ns=1;i=5504 ns=1;i=5505 ns=1;i=5506 ns=1;i=5507 ns=1;i=5508 ns=1;i=5509 ns=1;i=5510 ns=1;i=5511 ns=1;i=5512 ns=1;i=5513 ns=1;i=5514 ns=1;i=5515 ns=1;i=5516 ns=1;i=5517 ns=1;i=5518 ns=1;i=5519 i=2771 Powerup The AccessorySlot is in its power-up sequence and cannot perform any other task. ns=1;i=7094 ns=1;i=5508 i=2309 i=78 ns=1;i=1018 StateNumber i=68 i=80 ns=1;i=5502 0 Empty This represents an AccessorySlot where no Accessory is installed. ns=1;i=7095 ns=1;i=5508 ns=1;i=5509 ns=1;i=5515 ns=1;i=5516 i=2307 i=78 ns=1;i=1018 StateNumber i=68 i=80 ns=1;i=5503 0 Inserting This represents an AccessorySlot when an Accessory is being inserted and initializing. ns=1;i=7096 ns=1;i=5509 ns=1;i=5510 ns=1;i=5510 ns=1;i=5511 ns=1;i=5512 ns=1;i=5517 i=2307 i=78 ns=1;i=1018 StateNumber i=68 i=80 ns=1;i=5504 0 Installed This represents an AccessorySlot where an Accessory is installed and ready to use. ns=1;i=7097 ns=1;i=5512 ns=1;i=5513 ns=1;i=5518 i=2307 i=78 ns=1;i=1018 StateNumber i=68 i=80 ns=1;i=5505 0 Removing This represents an AccessorySlot where no Accessory is installed. ns=1;i=7098 ns=1;i=5511 ns=1;i=5513 ns=1;i=5514 ns=1;i=5514 ns=1;i=5515 ns=1;i=5519 i=2307 i=78 ns=1;i=1018 StateNumber i=68 i=80 ns=1;i=5506 0 Shutdown The AccessorySlot is in its power-down sequence and cannot perform any other task. ns=1;i=7099 ns=1;i=5516 ns=1;i=5517 ns=1;i=5518 ns=1;i=5519 i=2307 i=78 ns=1;i=1018 StateNumber i=68 i=80 ns=1;i=5507 0 PowerupToEmptyTransition ns=1;i=7100 ns=1;i=5502 ns=1;i=5503 i=2310 i=78 ns=1;i=1018 TransitionNumber i=68 i=80 ns=1;i=5508 0 EmptyToInsertingTransition ns=1;i=7101 ns=1;i=5503 ns=1;i=5504 i=2310 i=78 ns=1;i=1018 TransitionNumber i=68 i=80 ns=1;i=5509 0 InsertingTransition ns=1;i=7102 ns=1;i=5504 ns=1;i=5504 i=2310 i=78 ns=1;i=1018 TransitionNumber i=68 i=80 ns=1;i=5510 0 InsertingToRemovingTransition ns=1;i=7103 ns=1;i=5504 ns=1;i=5506 i=2310 i=78 ns=1;i=1018 TransitionNumber i=68 i=80 ns=1;i=5511 0 InsertingToInstalledTransition ns=1;i=7104 ns=1;i=5504 ns=1;i=5505 i=2310 i=78 ns=1;i=1018 TransitionNumber i=68 i=80 ns=1;i=5512 0 InstalledToRemovingTransition ns=1;i=7105 ns=1;i=5505 ns=1;i=5506 i=2310 i=78 ns=1;i=1018 TransitionNumber i=68 i=80 ns=1;i=5513 0 RemovingTransition ns=1;i=7106 ns=1;i=5506 ns=1;i=5506 i=2310 i=78 ns=1;i=1018 TransitionNumber i=68 i=80 ns=1;i=5514 0 RemovingToEmptyTransition ns=1;i=7107 ns=1;i=5506 ns=1;i=5503 i=2310 i=78 ns=1;i=1018 TransitionNumber i=68 i=80 ns=1;i=5515 0 EmptyToShutdownTransition ns=1;i=7108 ns=1;i=5503 ns=1;i=5507 i=2310 i=78 ns=1;i=1018 TransitionNumber i=68 i=80 ns=1;i=5516 0 InsertingToShutdownTransition ns=1;i=7109 ns=1;i=5504 ns=1;i=5507 i=2310 i=78 ns=1;i=1018 TransitionNumber i=68 i=80 ns=1;i=5517 0 InstalledToShutdownTransition ns=1;i=7110 ns=1;i=5505 ns=1;i=5507 i=2310 i=78 ns=1;i=1018 TransitionNumber i=68 i=80 ns=1;i=5518 0 RemovingToShutdownTransition ns=1;i=7111 ns=1;i=5506 ns=1;i=5507 i=2310 i=78 ns=1;i=1018 TransitionNumber i=68 i=80 ns=1;i=5519 0 AccessoryType ns=1;i=5522 ns=1;i=5523 ns=1;i=5524 ns=1;i=7112 ns=1;i=7113 ns=2;i=1001 Configuration ns=2;i=1005 i=78 ns=1;i=1019 Status ns=2;i=1005 i=78 ns=1;i=1019 FactorySettings ns=2;i=1005 i=78 ns=1;i=1019 IsHotSwappable True if this accessory can be inserted in the accessory slot while it is powered i=68 i=78 ns=1;i=1019 IsReady True if this accessory is ready for use i=68 i=78 ns=1;i=1019 DetectorType ns=1;i=1019 SmartSamplingSystemType ns=1;i=1019 SourceType ns=1;i=1019 GcOvenType ns=1;i=1019 ExecutionCycleEnumeration ns=1;i=12487 i=29 Idle, no cleaning or acquisition cycle in progress Scquisition cycle collecting data for diagnostic purpose Cleaning cycle Calibration acquisition cycle Validation acquisition cycle Sample acquisition cycle Scquisition cycle collecting data for diagnostic purpose and sample is extracted from the process to be sent in control lab Cleaning cycle with or without acquisition and sample is extracted from the process to be sent in control lab Calibration acquisition cycle and sample is extracted from the process to be sent in control lab Validation acquisition cycle and sample is extracted from the process to be sent in control lab Sample acquisition cycle and sample is extracted from the process to be sent in control lab EnumValues i=68 i=78 ns=1;i=9378 i=7616 0 IDLE Idle, no cleaning or acquisition cycle in progress i=7616 1 DIAGNOSTIC Scquisition cycle collecting data for diagnostic purpose i=7616 2 CLEANING Cleaning cycle i=7616 4 CALIBRATION Calibration acquisition cycle i=7616 8 VALIDATION Validation acquisition cycle i=7616 16 SAMPLING Sample acquisition cycle i=7616 32769 DIAGNOSTIC_WITH_GRAB_SAMPLE Scquisition cycle collecting data for diagnostic purpose and sample is extracted from the process to be sent in control lab i=7616 32770 CLEANING_WITH_GRAB_SAMPLE Cleaning cycle with or without acquisition and sample is extracted from the process to be sent in control lab i=7616 32772 CALIBRATION_WITH_GRAB_SAMPLE Calibration acquisition cycle and sample is extracted from the process to be sent in control lab i=7616 32776 VALIDATION_WITH_GRAB_SAMPLE Validation acquisition cycle and sample is extracted from the process to be sent in control lab i=7616 32784 SAMPLING_WITH_GRAB_SAMPLE Sample acquisition cycle and sample is extracted from the process to be sent in control lab DiagnosticStatusEnumeration ns=1;i=7131 i=29 This element is working correctly. This element is working, but a maintenance operation is required. This element does not work correctly, an immediate action is required. EnumStrings i=68 i=78 ns=1;i=3002 NORMAL MAINTENANCE_REQUIRED FAULT AcquisitionResultStatusEnumeration ns=1;i=7132 i=29 The acquisition is in progress, nothing can be said about its quality. The acquisition has been completed as requested without any error. The acquisition has been completed as requested with error. The acquisition has been completed but nothing can be said about the quality of the result. The acquisition has been partially completed as requested without any error. EnumStrings i=68 i=78 ns=1;i=3003 IN_PROGRESS GOOD BAD UNKNOWN PARTIAL ArrayItemType ns=1;i=7135 ns=1;i=7136 ns=1;i=7137 ns=1;i=7138 ns=1;i=7139 ns=1;i=7140 i=2365 InstrumentRange Defines the ArrayItem.Value range that can be returned by the analyser. i=68 i=80 ns=1;i=2001 EURange Holds the information about the engineering units of the ArrayItem.Value. i=68 i=78 ns=1;i=2001 EngineeringUnits Holds the information about the engineering units of the ArrayItem.Value. i=68 i=78 ns=1;i=2001 title Holds the user readable ArrayItem.Value title, useful when the units are %, the title may be “Particle size distribution” i=68 i=78 ns=1;i=2001 axisScaleType Linear, log, ln, defined by AxisSteps i=68 i=78 ns=1;i=2001 Offset Difference in 100 nanosecond intervals between the sourceTimestamp and the time when the sample material was taken from the process. i=68 i=80 ns=1;i=2001 YArrayItemType Single-dimensional array of numerical values ns=1;i=7149 ns=1;i=2001 xAxisDefinition Holds the information about the engineering units and range for the X-Axis. i=68 i=78 ns=1;i=2002 XYArrayItemType Vector of XY values ns=1;i=7158 ns=1;i=2001 xAxisDefinition Holds the information about the engineering units and range for the X-Axis. i=68 i=78 ns=1;i=2003 ImageItemType Matrix of values like an image, where the pixel position is given by X which is the column and Y the row. The value is the pixel intensity. ns=1;i=7167 ns=1;i=7168 ns=1;i=2001 xAxisDefinition Holds the information about the engineering units and range for the X-Axis. i=68 i=78 ns=1;i=2004 yAxisDefinition Holds the information about the engineering units and range for the Y-Axis. i=68 i=78 ns=1;i=2004 CubeItemType Cube of values like a spatial particle distribution, where the particle position is given by X which is the column, Y the row and Z the depth. The value is the particle size. ns=1;i=7177 ns=1;i=7178 ns=1;i=7179 ns=1;i=2001 xAxisDefinition Holds the information about the engineering units and range for the X-Axis. i=68 i=78 ns=1;i=2005 yAxisDefinition Holds the information about the engineering units and range for the Y-Axis. i=68 i=78 ns=1;i=2005 zAxisDefinition Holds the information about the engineering units and range for the Z-Axis. i=68 i=78 ns=1;i=2005 NDimensionArrayItemType Generic multi-dimensional data type ns=1;i=7188 ns=1;i=2001 axisDefinition Holds the information about the engineering units and range for all axis. i=68 i=78 ns=1;i=2006 EngineeringValueType Expose key results of an analyser and the associated values that qualified it ns=1;i=12482 i=2365 <Identifier> i=2365 i=11508 ns=1;i=9380 ChemometricModelType Hold the descriptions of a mathematical process and associated information to convert scaled data into one or more process values. ns=1;i=7189 ns=1;i=7190 ns=1;i=7191 ns=1;i=12485 ns=1;i=12486 i=63 Name i=68 i=78 ns=1;i=2007 CreationDate i=68 i=78 ns=1;i=2007 ModelDescription i=68 i=78 ns=1;i=2007 <User defined Input#> i=62 i=11510 ns=1;i=2007 <User defined Output#> i=62 i=11510 ns=1;i=2007 ProcessVariableType Provides a stable address space view from the user point of view even if the ADI server address space changes, after the new configuration is loaded. i=2365 AxisInformation Structure defining the information for auxiliary axis for array type variables. i=22 Holds the information about the engineering units for a given axis. Limits of the range of the axis User readable axis title, useful when the units are %, the Title may be “Particle size distribution” Linear, log, ln, defined by AxisSteps Specific value of each axis steps, may be set to “Null” if not used AxisScaleEnumeration Identify on which type of axis the data shall be displayed. ns=1;i=7194 i=29 Linear scale Log base 10 scale Log base e scale EnumStrings i=68 i=78 ns=1;i=3005 LINEAR LOG LN XVType Structure defining XY value like a list of peaks. i=22 Position on the X axis this value The value itself ComplexType Structure defining double IEEE 32 bits complex value i=22 Value real part Value imaginary part DoubleComplexType Structure defining double IEEE 64 bits complex value i=22 Value real part Value imaginary part HasDataSource TargetNode is providing the value for the SourceNode. i=49 DataSourceOf HasInput TargetNode is providing an input value for a ChemometricModel. i=49 InputOf HasOutput TargetNode is exposing an output value of a ChemometricModel. i=49 OutputOf Default XML ns=1;i=3004 ns=1;i=9401 i=76 Default XML ns=1;i=3006 ns=1;i=9404 i=76 Default XML ns=1;i=3007 ns=1;i=9407 i=76 Default XML ns=1;i=3008 ns=1;i=9410 i=76 Opc.Ua.Adi ns=1;i=9400 ns=1;i=9401 ns=1;i=9404 ns=1;i=9407 ns=1;i=9410 i=92 i=72 PHhzOnNjaGVtYSANCiAgeG1sbnM6REk9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9VQS9ESS9UeXBlcy54c2QiDQogIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSINCiAgeG1sbnM6dWE9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9VQS8yMDA4LzAyL1R5cGVzLnhzZCIgDQogIHhtbG5zOnRucz0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VBL0FESS9UeXBlcy54c2QiIA0KICB0YXJnZXROYW1lc3BhY2U9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9VQS9BREkvVHlwZXMueHNkIiANCiAgZWxlbWVudEZvcm1EZWZhdWx0PSJxdWFsaWZpZWQiDQo+DQogIDx4czppbXBvcnQgbmFtZXNwYWNlPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvREkvVHlwZXMueHNkIiAvPg0KICA8eHM6aW1wb3J0IG5hbWVzcGFjZT0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VBLzIwMDgvMDIvVHlwZXMueHNkIiAvPg0KICANCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkV4ZWN1dGlvbkN5Y2xlRW51bWVyYXRpb24iPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJRExFXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRJQUdOT1NUSUNfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ0xFQU5JTkdfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ0FMSUJSQVRJT05fNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVkFMSURBVElPTl84IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTQU1QTElOR18xNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRElBR05PU1RJQ19XSVRIX0dSQUJfU0FNUExFXzMyNzY5IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJDTEVBTklOR19XSVRIX0dSQUJfU0FNUExFXzMyNzcwIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJDQUxJQlJBVElPTl9XSVRIX0dSQUJfU0FNUExFXzMyNzcyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJWQUxJREFUSU9OX1dJVEhfR1JBQl9TQU1QTEVfMzI3NzYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNBTVBMSU5HX1dJVEhfR1JBQl9TQU1QTEVfMzI3ODQiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFeGVjdXRpb25DeWNsZUVudW1lcmF0aW9uIiB0eXBlPSJ0bnM6RXhlY3V0aW9uQ3ljbGVFbnVtZXJhdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRXhlY3V0aW9uQ3ljbGVFbnVtZXJhdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXhlY3V0aW9uQ3ljbGVFbnVtZXJhdGlvbiIgdHlwZT0idG5zOkV4ZWN1dGlvbkN5Y2xlRW51bWVyYXRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRXhlY3V0aW9uQ3ljbGVFbnVtZXJhdGlvbiIgdHlwZT0idG5zOkxpc3RPZkV4ZWN1dGlvbkN5Y2xlRW51bWVyYXRpb24iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkRpYWdub3N0aWNTdGF0dXNFbnVtZXJhdGlvbiI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5PUk1BTF8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJNQUlOVEVOQU5DRV9SRVFVSVJFRF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJGQVVMVF8yIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY1N0YXR1c0VudW1lcmF0aW9uIiB0eXBlPSJ0bnM6RGlhZ25vc3RpY1N0YXR1c0VudW1lcmF0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZEaWFnbm9zdGljU3RhdHVzRW51bWVyYXRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNTdGF0dXNFbnVtZXJhdGlvbiIgdHlwZT0idG5zOkRpYWdub3N0aWNTdGF0dXNFbnVtZXJhdGlvbiIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZEaWFnbm9zdGljU3RhdHVzRW51bWVyYXRpb24iIHR5cGU9InRuczpMaXN0T2ZEaWFnbm9zdGljU3RhdHVzRW51bWVyYXRpb24iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkFjcXVpc2l0aW9uUmVzdWx0U3RhdHVzRW51bWVyYXRpb24iPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJTl9QUk9HUkVTU18wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJHT09EXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJBRF8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVTktOT1dOXzMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlBBUlRJQUxfNCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFjcXVpc2l0aW9uUmVzdWx0U3RhdHVzRW51bWVyYXRpb24iIHR5cGU9InRuczpBY3F1aXNpdGlvblJlc3VsdFN0YXR1c0VudW1lcmF0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZBY3F1aXNpdGlvblJlc3VsdFN0YXR1c0VudW1lcmF0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBY3F1aXNpdGlvblJlc3VsdFN0YXR1c0VudW1lcmF0aW9uIiB0eXBlPSJ0bnM6QWNxdWlzaXRpb25SZXN1bHRTdGF0dXNFbnVtZXJhdGlvbiIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZBY3F1aXNpdGlvblJlc3VsdFN0YXR1c0VudW1lcmF0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mQWNxdWlzaXRpb25SZXN1bHRTdGF0dXNFbnVtZXJhdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQXhpc0luZm9ybWF0aW9uIj4NCiAgCTx4czphbm5vdGF0aW9uPg0KICAJICA8eHM6ZG9jdW1lbnRhdGlvbj5TdHJ1Y3R1cmUgZGVmaW5pbmcgdGhlIGluZm9ybWF0aW9uIGZvciBhdXhpbGlhcnkgYXhpcyBmb3IgYXJyYXkgdHlwZSB2YXJpYWJsZXMuPC94czpkb2N1bWVudGF0aW9uPg0KICAJPC94czphbm5vdGF0aW9uPg0KICAJPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5naW5lZXJpbmdVbml0cyIgdHlwZT0idWE6RVVJbmZvcm1hdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVVUmFuZ2UiIHR5cGU9InVhOlJhbmdlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0idGl0bGUiIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJheGlzU2NhbGVUeXBlIiB0eXBlPSJ0bnM6QXhpc1NjYWxlRW51bWVyYXRpb24iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9ImF4aXNTdGVwcyIgdHlwZT0idWE6TGlzdE9mRG91YmxlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAJPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXhpc0luZm9ybWF0aW9uIiB0eXBlPSJ0bnM6QXhpc0luZm9ybWF0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZBeGlzSW5mb3JtYXRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkF4aXNJbmZvcm1hdGlvbiIgdHlwZT0idG5zOkF4aXNJbmZvcm1hdGlvbiIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQXhpc0luZm9ybWF0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mQXhpc0luZm9ybWF0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJBeGlzU2NhbGVFbnVtZXJhdGlvbiI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5JZGVudGlmeSBvbiB3aGljaCB0eXBlIG9mIGF4aXMgdGhlIGRhdGEgc2hhbGwgYmUgZGlzcGxheWVkLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkxJTkVBUl8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJMT0dfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTE5fMiIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkF4aXNTY2FsZUVudW1lcmF0aW9uIiB0eXBlPSJ0bnM6QXhpc1NjYWxlRW51bWVyYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlhWVHlwZSI+DQogIAk8eHM6YW5ub3RhdGlvbj4NCiAgCSAgPHhzOmRvY3VtZW50YXRpb24+U3RydWN0dXJlIGRlZmluaW5nIFhZIHZhbHVlIGxpa2UgYSBsaXN0IG9mIHBlYWtzLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgCTwveHM6YW5ub3RhdGlvbj4NCiAgCTx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IngiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0idmFsdWUiIHR5cGU9InhzOmZsb2F0IiBtaW5PY2N1cnM9IjAiIC8+DQogIAk8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJYVlR5cGUiIHR5cGU9InRuczpYVlR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlhWVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iWFZUeXBlIiB0eXBlPSJ0bnM6WFZUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZYVlR5cGUiIHR5cGU9InRuczpMaXN0T2ZYVlR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNvbXBsZXhUeXBlIj4NCiAgCTx4czphbm5vdGF0aW9uPg0KICAJICA8eHM6ZG9jdW1lbnRhdGlvbj5TdHJ1Y3R1cmUgZGVmaW5pbmcgZG91YmxlIElFRUUgMzIgYml0cyBjb21wbGV4IHZhbHVlPC94czpkb2N1bWVudGF0aW9uPg0KICAJPC94czphbm5vdGF0aW9uPg0KICAJPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhbCIgdHlwZT0ieHM6ZmxvYXQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkltYWdpbmFyeSIgdHlwZT0ieHM6ZmxvYXQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgCTwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNvbXBsZXhUeXBlIiB0eXBlPSJ0bnM6Q29tcGxleFR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkNvbXBsZXhUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb21wbGV4VHlwZSIgdHlwZT0idG5zOkNvbXBsZXhUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZDb21wbGV4VHlwZSIgdHlwZT0idG5zOkxpc3RPZkNvbXBsZXhUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEb3VibGVDb21wbGV4VHlwZSI+DQogIAk8eHM6YW5ub3RhdGlvbj4NCiAgCSAgPHhzOmRvY3VtZW50YXRpb24+U3RydWN0dXJlIGRlZmluaW5nIGRvdWJsZSBJRUVFIDY0IGJpdHMgY29tcGxleCB2YWx1ZTwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgCTwveHM6YW5ub3RhdGlvbj4NCiAgCTx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlYWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW1hZ2luYXJ5IiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgCTwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRvdWJsZUNvbXBsZXhUeXBlIiB0eXBlPSJ0bnM6RG91YmxlQ29tcGxleFR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkRvdWJsZUNvbXBsZXhUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEb3VibGVDb21wbGV4VHlwZSIgdHlwZT0idG5zOkRvdWJsZUNvbXBsZXhUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZEb3VibGVDb21wbGV4VHlwZSIgdHlwZT0idG5zOkxpc3RPZkRvdWJsZUNvbXBsZXhUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KICANCjwveHM6c2NoZW1hPg== NamespaceUri A URI that uniquely identifies the dictionary. i=68 ns=1;i=9398 http://opcfoundation.org/UA/ADI/Types.xsd AxisInformation i=69 ns=1;i=9398 //xs:element[@name='AxisInformation'] XVType i=69 ns=1;i=9398 //xs:element[@name='XVType'] ComplexType i=69 ns=1;i=9398 //xs:element[@name='ComplexType'] DoubleComplexType i=69 ns=1;i=9398 //xs:element[@name='DoubleComplexType'] Default Binary ns=1;i=3004 ns=1;i=9386 i=76 Default Binary ns=1;i=3006 ns=1;i=9389 i=76 Default Binary ns=1;i=3007 ns=1;i=9392 i=76 Default Binary ns=1;i=3008 ns=1;i=9395 i=76 Opc.Ua.Adi ns=1;i=9385 ns=1;i=9386 ns=1;i=9389 ns=1;i=9392 ns=1;i=9395 i=93 i=72 PG9wYzpUeXBlRGljdGlvbmFyeQ0KICB4bWxuczpEST0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VBL0RJLyINCiAgeG1sbnM6b3BjPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvQmluYXJ5U2NoZW1hLyINCiAgeG1sbnM6dWE9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9VQS8yMDA4LzAyL1R5cGVzLmJzZCINCiAgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSINCiAgeG1sbnM6dG5zPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvQURJLyINCiAgRGVmYXVsdEJ5dGVPcmRlcj0iTGl0dGxlRW5kaWFuIg0KICBUYXJnZXROYW1lc3BhY2U9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9VQS9BREkvIiAgDQo+DQogIDxvcGM6SW1wb3J0IE5hbWVzcGFjZT0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VBL0RJLyIgTG9jYXRpb249Ik9wYy5VYS5EaS5CaW5hcnlTY2hlbWEuYnNkIi8+DQogIDxvcGM6SW1wb3J0IE5hbWVzcGFjZT0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VBLyIgTG9jYXRpb249Ik9wYy5VYS5CaW5hcnlTY2hlbWEuYnNkIi8+DQogIA0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkV4ZWN1dGlvbkN5Y2xlRW51bWVyYXRpb24iIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IklETEUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRJQUdOT1NUSUMiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkNMRUFOSU5HIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDQUxJQlJBVElPTiIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVkFMSURBVElPTiIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU0FNUExJTkciIFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJESUFHTk9TVElDX1dJVEhfR1JBQl9TQU1QTEUiIFZhbHVlPSIzMjc2OSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDTEVBTklOR19XSVRIX0dSQUJfU0FNUExFIiBWYWx1ZT0iMzI3NzAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ0FMSUJSQVRJT05fV0lUSF9HUkFCX1NBTVBMRSIgVmFsdWU9IjMyNzcyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZBTElEQVRJT05fV0lUSF9HUkFCX1NBTVBMRSIgVmFsdWU9IjMyNzc2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNBTVBMSU5HX1dJVEhfR1JBQl9TQU1QTEUiIFZhbHVlPSIzMjc4NCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJEaWFnbm9zdGljU3RhdHVzRW51bWVyYXRpb24iIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5PUk1BTCIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTUFJTlRFTkFOQ0VfUkVRVUlSRUQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkZBVUxUIiBWYWx1ZT0iMiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJBY3F1aXNpdGlvblJlc3VsdFN0YXR1c0VudW1lcmF0aW9uIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJTl9QUk9HUkVTUyIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iR09PRCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQkFEIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVTktOT1dOIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJQQVJUSUFMIiBWYWx1ZT0iNCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBeGlzSW5mb3JtYXRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5TdHJ1Y3R1cmUgZGVmaW5pbmcgdGhlIGluZm9ybWF0aW9uIGZvciBhdXhpbGlhcnkgYXhpcyBmb3IgYXJyYXkgdHlwZSB2YXJpYWJsZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuZ2luZWVyaW5nVW5pdHMiIFR5cGVOYW1lPSJ1YTpFVUluZm9ybWF0aW9uIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRVVSYW5nZSIgVHlwZU5hbWU9InVhOlJhbmdlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0idGl0bGUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iYXhpc1NjYWxlVHlwZSIgVHlwZU5hbWU9InRuczpBeGlzU2NhbGVFbnVtZXJhdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZheGlzU3RlcHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJheGlzU3RlcHMiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiBMZW5ndGhGaWVsZD0iTm9PZmF4aXNTdGVwcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJBeGlzU2NhbGVFbnVtZXJhdGlvbiIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPklkZW50aWZ5IG9uIHdoaWNoIHR5cGUgb2YgYXhpcyB0aGUgZGF0YSBzaGFsbCBiZSBkaXNwbGF5ZWQuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJMSU5FQVIiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkxPRyIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTE4iIFZhbHVlPSIyIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlhWVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlN0cnVjdHVyZSBkZWZpbmluZyBYWSB2YWx1ZSBsaWtlIGEgbGlzdCBvZiBwZWFrcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0ieCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJ2YWx1ZSIgVHlwZU5hbWU9Im9wYzpGbG9hdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDb21wbGV4VHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlN0cnVjdHVyZSBkZWZpbmluZyBkb3VibGUgSUVFRSAzMiBiaXRzIGNvbXBsZXggdmFsdWU8L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVhbCIgVHlwZU5hbWU9Im9wYzpGbG9hdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkltYWdpbmFyeSIgVHlwZU5hbWU9Im9wYzpGbG9hdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEb3VibGVDb21wbGV4VHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlN0cnVjdHVyZSBkZWZpbmluZyBkb3VibGUgSUVFRSA2NCBiaXRzIGNvbXBsZXggdmFsdWU8L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbWFnaW5hcnkiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCiAgDQo8L29wYzpUeXBlRGljdGlvbmFyeT4= NamespaceUri A URI that uniquely identifies the dictionary. i=68 ns=1;i=9383 http://opcfoundation.org/UA/ADI/ AxisInformation i=69 ns=1;i=9383 AxisInformation XVType i=69 ns=1;i=9383 XVType ComplexType i=69 ns=1;i=9383 ComplexType DoubleComplexType i=69 ns=1;i=9383 DoubleComplexType python-opcua-0.90.3/schemas/Opc.Ua.Adi.Types.bsd000066400000000000000000000076111310132730300212300ustar00rootroot00000000000000 Structure defining the information for auxiliary axis for array type variables. Identify on which type of axis the data shall be displayed. Structure defining XY value like a list of peaks. Structure defining double IEEE 32 bits complex value Structure defining double IEEE 64 bits complex value python-opcua-0.90.3/schemas/Opc.Ua.Adi.Types.xsd000066400000000000000000000160661310132730300212620ustar00rootroot00000000000000 Structure defining the information for auxiliary axis for array type variables. Identify on which type of axis the data shall be displayed. Structure defining XY value like a list of peaks. Structure defining double IEEE 32 bits complex value Structure defining double IEEE 64 bits complex value python-opcua-0.90.3/schemas/Opc.Ua.Di.NodeSet2.xml000066400000000000000000000455541310132730300214460ustar00rootroot00000000000000 http://opcfoundation.org/UA/DI/ i=1 i=2 i=3 i=4 i=5 i=6 i=7 i=8 i=9 i=10 i=11 i=13 i=12 i=15 i=14 i=16 i=17 i=18 i=20 i=21 i=19 i=22 i=26 i=27 i=28 i=47 i=46 i=35 i=36 i=48 i=45 i=40 i=37 i=38 i=39 Uses The semantic is to indicate that the target Node is used for the source Node of the Reference i=35 UsedBy DeviceSet Contains all instances of devices i=85 i=58 TopologyElementType Defines the basic information components for all configurable elements in a device topology ns=1;i=5002 ns=1;i=5003 ns=1;i=6019 ns=1;i=6014 i=58 ParameterSet Flat list of Parameters ns=1;i=6017 i=58 i=78 ns=1;i=1001 <ParameterIdentifier> A parameter which belongs to the topology element. i=63 i=11508 ns=1;i=5002 MethodSet Flat list of Methods ns=1;i=6018 i=58 i=80 ns=1;i=1001 <MethodIdentifier> A method which belongs to the topology element. ns=1;i=6018 i=11508 ns=1;i=5003 <GroupIdentifier> An application specific functional group used to organize parameters and methods. ns=1;i=1005 i=11508 ns=1;i=1001 Identification Used to organize parameters for identification of this TopologyElement ns=1;i=1005 i=80 ns=1;i=1001 DeviceType Defines the basic information components for all configurable elements in a device topology ns=1;i=6001 ns=1;i=6002 ns=1;i=6003 ns=1;i=6004 ns=1;i=6005 ns=1;i=6006 ns=1;i=6007 ns=1;i=6008 ns=1;i=1001 SerialNumber Identifier that uniquely identifies, within a manufacturer, a device instance i=68 i=78 ns=1;i=1002 RevisionCounter An incremental counter indicating the number of times the static data within the Device has been modified i=68 i=78 ns=1;i=1002 Manufacturer Model name of the device i=68 i=78 ns=1;i=1002 Model Name of the company that manufactured the device i=68 i=78 ns=1;i=1002 DeviceManual Address (pathname in the file system or a URL | Web address) of user manual for the device i=68 i=78 ns=1;i=1002 DeviceRevision Overall revision level of the device i=68 i=78 ns=1;i=1002 SoftwareRevision Revision level of the software/firmware of the device i=68 i=78 ns=1;i=1002 HardwareRevision Revision level of the hardware of the device i=68 i=78 ns=1;i=1002 BlockType Adds the concept of Blocks needed for block-oriented FieldDevices ns=1;i=6009 ns=1;i=6010 ns=1;i=6011 ns=1;i=6012 ns=1;i=6013 ns=1;i=1001 RevisionCounter Incremental counter indicating the number of times the static data within the Block has been modified i=68 i=80 ns=1;i=1003 ActualMode Current mode of operation the Block is able to achieve i=68 i=80 ns=1;i=1003 PermittedMode Modes of operation that are allowed for the Block based on application requirements i=68 i=80 ns=1;i=1003 NormalMode Mode the Block should be set to during normal operating conditions i=68 i=80 ns=1;i=1003 TargetMode Mode of operation that is desired for the Block i=68 i=80 ns=1;i=1003 ConfigurableObjectType Defines a general pattern to expose and configure modular components ns=1;i=5004 ns=1;i=6026 i=58 SupportedTypes Folder maintaining the set of (sub-types of) BaseObjectTypes that can be instantiated in the ConfigurableComponent i=61 i=78 ns=1;i=1004 <ObjectIdentifier> The instances that . i=58 i=11508 ns=1;i=1004 FunctionalGroupType FolderType is used to organize the Parameters and Methods from the complete set (ParameterSet, MethodSet) with regard to their application ns=1;i=6027 ns=1;i=6028 ns=1;i=6029 i=61 <GroupIdentifier> An application specific functional group used to organize parameters and methods. ns=1;i=1005 i=11508 ns=1;i=1005 <ParameterIdentifier> A parameter which belongs to the group. i=63 i=11508 ns=1;i=1005 <MethodIdentifier> A method which belongs to the group. ns=1;i=6029 i=11508 ns=1;i=1005 ProtocolType General structure of a Protocol ObjectType i=58 python-opcua-0.90.3/schemas/Opc.Ua.Di.Types.bsd000066400000000000000000000007021310132730300210610ustar00rootroot00000000000000 python-opcua-0.90.3/schemas/Opc.Ua.Di.Types.xsd000066400000000000000000000005611310132730300211120ustar00rootroot00000000000000 python-opcua-0.90.3/schemas/Opc.Ua.Endpoints.wsdl000066400000000000000000000603461310132730300216000ustar00rootroot00000000000000 python-opcua-0.90.3/schemas/Opc.Ua.NodeSet2.Part10.xml000066400000000000000000001261021310132730300221460ustar00rootroot00000000000000 i=1 i=2 i=3 i=4 i=5 i=6 i=7 i=8 i=9 i=10 i=11 i=13 i=12 i=15 i=14 i=16 i=17 i=18 i=20 i=21 i=19 i=22 i=26 i=27 i=28 i=47 i=46 i=35 i=36 i=48 i=45 i=40 i=37 i=38 i=39 ProgramStateMachineType A state machine for a program. i=3830 i=3835 i=2392 i=2393 i=2394 i=2395 i=2396 i=2397 i=2398 i=2399 i=3850 i=2400 i=2402 i=2404 i=2406 i=2408 i=2410 i=2412 i=2414 i=2416 i=2418 i=2420 i=2422 i=2424 i=2426 i=2427 i=2428 i=2429 i=2430 i=2771 CurrentState i=3831 i=3833 i=2760 i=78 i=2391 Id i=68 i=78 i=3830 Number i=68 i=78 i=3830 LastTransition i=3836 i=3838 i=3839 i=2767 i=78 i=2391 Id i=68 i=78 i=3835 Number i=68 i=78 i=3835 TransitionTime i=68 i=78 i=3835 Creatable i=68 i=2391 Deletable i=68 i=78 i=2391 AutoDelete i=68 i=79 i=2391 RecycleCount i=68 i=78 i=2391 InstanceCount i=68 i=2391 MaxInstanceCount i=68 i=2391 MaxRecycleCount i=68 i=2391 ProgramDiagnostics i=3840 i=3841 i=3842 i=3843 i=3844 i=3845 i=3846 i=3847 i=3848 i=3849 i=2380 i=80 i=2391 CreateSessionId i=68 i=78 i=2399 CreateClientName i=68 i=78 i=2399 InvocationCreationTime i=68 i=78 i=2399 LastTransitionTime i=68 i=78 i=2399 LastMethodCall i=68 i=78 i=2399 LastMethodSessionId i=68 i=78 i=2399 LastMethodInputArguments i=68 i=78 i=2399 LastMethodOutputArguments i=68 i=78 i=2399 LastMethodCallTime i=68 i=78 i=2399 LastMethodReturnStatus i=68 i=78 i=2399 FinalResultData i=58 i=80 i=2391 Ready The Program is properly initialized and may be started. i=2401 i=2408 i=2410 i=2414 i=2422 i=2424 i=2307 i=2391 StateNumber i=68 i=78 i=2400 1 Running The Program is executing making progress towards completion. i=2403 i=2410 i=2412 i=2414 i=2416 i=2418 i=2307 i=2391 StateNumber i=68 i=78 i=2402 2 Suspended The Program has been stopped prior to reaching a terminal state but may be resumed. i=2405 i=2416 i=2418 i=2420 i=2422 i=2307 i=2391 StateNumber i=68 i=78 i=2404 3 Halted The Program is in a terminal or failed state, and it cannot be started or resumed without being reset. i=2407 i=2408 i=2412 i=2420 i=2424 i=2307 i=2391 StateNumber i=68 i=78 i=2406 4 HaltedToReady i=2409 i=2406 i=2400 i=2430 i=2378 i=2310 i=2391 TransitionNumber i=68 i=78 i=2408 1 ReadyToRunning i=2411 i=2400 i=2402 i=2426 i=2378 i=2310 i=2391 TransitionNumber i=68 i=78 i=2410 2 RunningToHalted i=2413 i=2402 i=2406 i=2429 i=2378 i=2310 i=2391 TransitionNumber i=68 i=78 i=2412 3 RunningToReady i=2415 i=2402 i=2400 i=2378 i=2310 i=2391 TransitionNumber i=68 i=78 i=2414 4 RunningToSuspended i=2417 i=2402 i=2404 i=2427 i=2378 i=2310 i=2391 TransitionNumber i=68 i=78 i=2416 5 SuspendedToRunning i=2419 i=2404 i=2402 i=2428 i=2378 i=2310 i=2391 TransitionNumber i=68 i=78 i=2418 6 SuspendedToHalted i=2421 i=2404 i=2406 i=2429 i=2378 i=2310 i=2391 TransitionNumber i=68 i=78 i=2420 7 SuspendedToReady i=2423 i=2404 i=2400 i=2378 i=2310 i=2391 TransitionNumber i=68 i=78 i=2422 8 ReadyToHalted i=2425 i=2400 i=2406 i=2429 i=2378 i=2310 i=2391 TransitionNumber i=68 i=78 i=2424 9 Start Causes the Program to transition from the Ready state to the Running state. i=2410 i=78 i=2391 Suspend Causes the Program to transition from the Running state to the Suspended state. i=2416 i=78 i=2391 Resume Causes the Program to transition from the Suspended state to the Running state. i=2418 i=78 i=2391 Halt Causes the Program to transition from the Ready, Running or Suspended state to the Halted state. i=2412 i=2420 i=2424 i=78 i=2391 Reset Causes the Program to transition from the Halted state to the Ready state. i=2408 i=78 i=2391 ProgramTransitionEventType i=2379 i=2311 IntermediateResult i=68 i=78 i=2378 AuditProgramTransitionEventType i=11875 i=2315 TransitionNumber i=68 i=78 i=11856 ProgramTransitionAuditEventType i=3825 i=2315 Transition i=3826 i=2767 i=78 i=3806 Id i=68 i=78 i=3825 ProgramDiagnosticType i=2381 i=2382 i=2383 i=2384 i=2385 i=2386 i=2387 i=2388 i=2389 i=2390 i=63 CreateSessionId i=68 i=78 i=2380 CreateClientName i=68 i=78 i=2380 InvocationCreationTime i=68 i=78 i=2380 LastTransitionTime i=68 i=78 i=2380 LastMethodCall i=68 i=78 i=2380 LastMethodSessionId i=68 i=78 i=2380 LastMethodInputArguments i=68 i=78 i=2380 LastMethodOutputArguments i=68 i=78 i=2380 LastMethodCallTime i=68 i=78 i=2380 LastMethodReturnStatus i=68 i=78 i=2380 ProgramDiagnosticDataType i=22 Default XML i=894 i=8882 i=76 Default Binary i=894 i=8247 i=76 python-opcua-0.90.3/schemas/Opc.Ua.NodeSet2.Part11.xml000066400000000000000000001203071310132730300221500ustar00rootroot00000000000000 i=1 i=2 i=3 i=4 i=5 i=6 i=7 i=8 i=9 i=10 i=11 i=13 i=12 i=15 i=14 i=16 i=17 i=18 i=20 i=21 i=19 i=22 i=26 i=27 i=28 i=47 i=46 i=35 i=36 i=48 i=45 i=40 i=37 i=38 i=39 HasHistoricalConfiguration The type for a reference to the historical configuration for a data variable. i=44 HistoricalConfigurationOf HistoryServerCapabilities i=11193 i=11242 i=11273 i=11274 i=11196 i=11197 i=11198 i=11199 i=11200 i=11281 i=11282 i=11283 i=11502 i=11275 i=11201 i=2268 i=2330 AccessHistoryDataCapability i=68 i=11192 AccessHistoryEventsCapability i=68 i=11192 MaxReturnDataValues i=68 i=11192 MaxReturnEventValues i=68 i=11192 InsertDataCapability i=68 i=11192 ReplaceDataCapability i=68 i=11192 UpdateDataCapability i=68 i=11192 DeleteRawCapability i=68 i=11192 DeleteAtTimeCapability i=68 i=11192 InsertEventCapability i=68 i=11192 ReplaceEventCapability i=68 i=11192 UpdateEventCapability i=68 i=11192 DeleteEventCapability i=68 i=11192 InsertAnnotationCapability i=68 i=11192 AggregateFunctions i=61 i=11192 Annotations i=68 HistoricalDataConfigurationType i=3059 i=11876 i=2323 i=2324 i=2325 i=2326 i=2327 i=2328 i=11499 i=11500 i=58 AggregateConfiguration i=11168 i=11169 i=11170 i=11171 i=11187 i=78 i=2318 TreatUncertainAsBad i=68 i=78 i=3059 PercentDataBad i=68 i=78 i=3059 PercentDataGood i=68 i=78 i=3059 UseSlopedExtrapolation i=68 i=78 i=3059 AggregateFunctions i=61 i=80 i=2318 Stepped i=68 i=78 i=2318 Definition i=68 i=80 i=2318 MaxTimeInterval i=68 i=80 i=2318 MinTimeInterval i=68 i=80 i=2318 ExceptionDeviation i=68 i=80 i=2318 ExceptionDeviationFormat i=68 i=80 i=2318 StartOfArchive i=68 i=80 i=2318 StartOfOnlineArchive i=68 i=80 i=2318 HA Configuration i=11203 i=11208 i=2318 AggregateConfiguration i=11204 i=11205 i=11206 i=11207 i=11187 i=11202 TreatUncertainAsBad i=68 i=11203 PercentDataBad i=68 i=11203 PercentDataGood i=68 i=11203 UseSlopedExtrapolation i=68 i=11203 Stepped i=68 i=11202 HistoricalEventFilter i=68 HistoryServerCapabilitiesType i=2331 i=2332 i=11268 i=11269 i=2334 i=2335 i=2336 i=2337 i=2338 i=11278 i=11279 i=11280 i=11501 i=11270 i=11172 i=58 AccessHistoryDataCapability i=68 i=78 i=2330 AccessHistoryEventsCapability i=68 i=78 i=2330 MaxReturnDataValues i=68 i=78 i=2330 MaxReturnEventValues i=68 i=78 i=2330 InsertDataCapability i=68 i=78 i=2330 ReplaceDataCapability i=68 i=78 i=2330 UpdateDataCapability i=68 i=78 i=2330 DeleteRawCapability i=68 i=78 i=2330 DeleteAtTimeCapability i=68 i=78 i=2330 InsertEventCapability i=68 i=78 i=2330 ReplaceEventCapability i=68 i=78 i=2330 UpdateEventCapability i=68 i=78 i=2330 DeleteEventCapability i=68 i=78 i=2330 InsertAnnotationCapability i=68 i=78 i=2330 AggregateFunctions i=61 i=78 i=2330 AuditHistoryEventUpdateEventType i=3025 i=3028 i=3003 i=3029 i=3030 i=2104 UpdatedNode i=68 i=78 i=2999 PerformInsertReplace i=68 i=78 i=2999 Filter i=68 i=78 i=2999 NewValues i=68 i=78 i=2999 OldValues i=68 i=78 i=2999 AuditHistoryValueUpdateEventType i=3026 i=3031 i=3032 i=3033 i=2104 UpdatedNode i=68 i=78 i=3006 PerformInsertReplace i=68 i=78 i=3006 NewValues i=68 i=78 i=3006 OldValues i=68 i=78 i=3006 AuditHistoryDeleteEventType i=3027 i=2104 UpdatedNode i=68 i=78 i=3012 AuditHistoryRawModifyDeleteEventType i=3015 i=3016 i=3017 i=3034 i=3012 IsDeleteModified i=68 i=78 i=3014 StartTime i=68 i=78 i=3014 EndTime i=68 i=78 i=3014 OldValues i=68 i=78 i=3014 AuditHistoryAtTimeDeleteEventType i=3020 i=3021 i=3012 ReqTimes i=68 i=78 i=3019 OldValues i=68 i=78 i=3019 AuditHistoryEventDeleteEventType i=3023 i=3024 i=3012 EventIds i=68 i=78 i=3022 OldValues i=68 i=78 i=3022 Annotation i=22 ExceptionDeviationFormat i=7614 i=29 EnumStrings i=68 i=78 i=890 AbsoluteValue PercentOfValue PercentOfRange PercentOfEURange Unknown Default XML i=891 i=8879 i=76 Default Binary i=891 i=8244 i=76 python-opcua-0.90.3/schemas/Opc.Ua.NodeSet2.Part13.xml000066400000000000000000000442141310132730300221540ustar00rootroot00000000000000 i=1 i=2 i=3 i=4 i=5 i=6 i=7 i=8 i=9 i=10 i=11 i=13 i=12 i=15 i=14 i=16 i=17 i=18 i=20 i=21 i=19 i=22 i=26 i=27 i=28 i=47 i=46 i=35 i=36 i=48 i=45 i=40 i=37 i=38 i=39 AggregateConfigurationType i=11188 i=11189 i=11190 i=11191 i=58 TreatUncertainAsBad i=68 i=78 i=11187 PercentDataBad i=68 i=78 i=11187 PercentDataGood i=68 i=78 i=11187 UseSlopedExtrapolation i=68 i=78 i=11187 Interpolative At the beginning of each interval, retrieve the calculated value from the data points on either side of the requested timestamp. i=2340 Average Retrieve the average value of the data over the interval. i=2340 TimeAverage Retrieve the time weighted average data over the interval using Interpolated Bounding Values. i=2340 TimeAverage2 Retrieve the time weighted average data over the interval using Simple Bounding Values. i=2340 Total Retrieve the total (time integral) of the data over the interval using Interpolated Bounding Values. i=2340 Total2 Retrieve the total (time integral) of the data over the interval using Simple Bounding Values. i=2340 Minimum Retrieve the minimum raw value in the interval with the timestamp of the start of the interval. i=2340 Maximum Retrieve the maximum raw value in the interval with the timestamp of the start of the interval. i=2340 MinimumActualTime Retrieve the minimum value in the interval and the Timestamp of the minimum value. i=2340 MaximumActualTime Retrieve the maximum value in the interval and the Timestamp of the maximum value. i=2340 Range Retrieve the difference between the minimum and maximum Value over the interval. i=2340 Minimum2 Retrieve the minimum value in the interval including the Simple Bounding Values. i=2340 Maximum2 Retrieve the maximum value in the interval including the Simple Bounding Values. i=2340 MinimumActualTime2 Retrieve the minimum value with the actual timestamp including the Simple Bounding Values. i=2340 MaximumActualTime2 Retrieve the maximum value with the actual timestamp including the Simple Bounding Values. i=2340 Range2 Retrieve the difference between the Minimum2 and Maximum2 value over the interval. i=2340 AnnotationCount Retrieve the number of Annotations in the interval. i=2340 Count Retrieve the number of raw values over the interval. i=2340 DurationInStateZero Retrieve the time a Boolean or numeric was in a zero state using Simple Bounding Values. i=2340 DurationInStateNonZero Retrieve the time a Boolean or numeric was in a non-zero state using Simple Bounding Values. i=2340 NumberOfTransitions Retrieve the number of changes between zero and non-zero that a Boolean or Numeric value experienced in the interval. i=2340 Start Retrieve the value at the beginning of the interval using Interpolated Bounding Values. i=2340 End Retrieve the value at the end of the interval using Interpolated Bounding Values. i=2340 Delta Retrieve the difference between the Start and End value in the interval. i=2340 StartBound Retrieve the value at the beginning of the interval using Simple Bounding Values. i=2340 EndBound Retrieve the value at the end of the interval using Simple Bounding Values. i=2340 DeltaBounds Retrieve the difference between the StartBound and EndBound value in the interval. i=2340 DurationGood Retrieve the total duration of time in the interval during which the data is good. i=2340 DurationBad Retrieve the total duration of time in the interval during which the data is bad. i=2340 PercentGood Retrieve the percent of data (0 to 100) in the interval which has a good StatusCode. i=2340 PercentBad Retrieve the percent of data (0 to 100) in the interval which has a bad StatusCode. i=2340 WorstQuality Retrieve the worst StatusCode of data in the interval. i=2340 WorstQuality2 Retrieve the worst StatusCode of data in the interval including the Simple Bounding Values. i=2340 StandardDeviationSample Retrieve the standard deviation for the interval for a sample of the population (n-1). i=2340 StandardDeviationPopulation Retrieve the standard deviation for the interval for a complete population (n) which includes Simple Bounding Values. i=2340 VarianceSample Retrieve the variance for the interval as calculated by the StandardDeviationSample. i=2340 VariancePopulation Retrieve the variance for the interval as calculated by the StandardDeviationPopulation which includes Simple Bounding Values. i=2340 python-opcua-0.90.3/schemas/Opc.Ua.NodeSet2.Part3.xml000066400000000000000000001357261310132730300221040ustar00rootroot00000000000000 i=1 i=2 i=3 i=4 i=5 i=6 i=7 i=8 i=9 i=10 i=11 i=13 i=12 i=15 i=14 i=16 i=17 i=18 i=20 i=21 i=19 i=22 i=26 i=27 i=28 i=47 i=46 i=35 i=36 i=48 i=45 i=40 i=37 i=38 i=39 Default Binary The default binary encoding for a data type. i=58 Default XML The default XML encoding for a data type. i=58 BaseDataType Describes a value that can have any valid DataType. Number Describes a value that can have any numeric DataType. i=24 Integer Describes a value that can have any integer DataType. i=26 UInteger Describes a value that can have any unsigned integer DataType. i=26 Enumeration Describes a value that is an enumerated DataType. i=24 Boolean Describes a value that is either TRUE or FALSE. i=24 SByte Describes a value that is an integer between -128 and 127. i=27 Byte Describes a value that is an integer between 0 and 255. i=28 Int16 Describes a value that is an integer between −32,768 and 32,767. i=27 UInt16 Describes a value that is an integer between 0 and 65535. i=28 Int32 Describes a value that is an integer between −2,147,483,648 and 2,147,483,647. i=27 UInt32 Describes a value that is an integer between 0 and 4,294,967,295. i=28 Int64 Describes a value that is an integer between −9,223,372,036,854,775,808 and 9,223,372,036,854,775,807. i=27 UInt64 Describes a value that is an integer between 0 and 18,446,744,073,709,551,615. i=28 Float Describes a value that is an IEEE 754-1985 single precision floating point number. i=26 Double Describes a value that is an IEEE 754-1985 double precision floating point number. i=26 String Describes a value that is a sequence of printable Unicode characters. i=24 DateTime Describes a value that is a Gregorian calender date and time. i=24 Guid Describes a value that is a 128-bit globally unique identifier. i=24 ByteString Describes a value that is a sequence of bytes. i=24 XmlElement Describes a value that is an XML element. i=24 NodeId Describes a value that is an identifier for a node within a Server address space. i=24 QualifiedName Describes a value that is a name qualified by a namespace. i=24 LocalizedText Describes a value that is human readable Unicode text with a locale identifier. i=24 Structure Describes a value that is any type of structure that can be described with a data encoding. i=24 Image Describes a value that is an image encoded as a string of bytes. i=15 Decimal128 Describes a 128-bit decimal value. i=26 References The abstract base type for all references. References NonHierarchicalReferences The abstract base type for all non-hierarchical references. i=31 NonHierarchicalReferences HierarchicalReferences The abstract base type for all hierarchical references. i=31 HierarchicalReferences HasChild The abstract base type for all non-looping hierarchical references. i=33 ChildOf Organizes The type for hierarchical references that are used to organize nodes. i=33 OrganizedBy HasEventSource The type for non-looping hierarchical references that are used to organize event sources. i=33 EventSourceOf HasModellingRule The type for references from instance declarations to modelling rule nodes. i=32 ModellingRuleOf HasEncoding The type for references from data type nodes to to data type encoding nodes. i=32 EncodingOf HasDescription The type for references from data type encoding nodes to data type description nodes. i=32 DescriptionOf HasTypeDefinition The type for references from a instance node its type defintion node. i=32 TypeDefinitionOf GeneratesEvent The type for references from a node to an event type that is raised by node. i=32 GeneratesEvent AlwaysGeneratesEvent The type for references from a node to an event type that is always raised by node. i=32 AlwaysGeneratesEvent Aggregates The type for non-looping hierarchical references that are used to aggregate nodes into complex types. i=34 AggregatedBy HasSubtype The type for non-looping hierarchical references that are used to define sub types. i=34 HasSupertype HasProperty The type for non-looping hierarchical reference from a node to its property. i=44 PropertyOf HasComponent The type for non-looping hierarchical reference from a node to its component. i=44 ComponentOf HasNotifier The type for non-looping hierarchical references that are used to indicate how events propagate from node to node. i=36 NotifierOf HasOrderedComponent The type for non-looping hierarchical reference from a node to its component when the order of references matters. i=47 OrderedComponentOf NamingRuleType Describes a value that specifies the significance of the BrowseName for an instance declaration. i=12169 i=29 The BrowseName must appear in all instances of the type. The BrowseName may appear in an instance of the type. The modelling rule defines a constraint and the BrowseName is not used in an instance of the type. EnumValues i=68 i=78 i=120 i=7616 1 Mandatory The BrowseName must appear in all instances of the type. i=7616 2 Optional The BrowseName may appear in an instance of the type. i=7616 3 Constraint The modelling rule defines a constraint and the BrowseName is not used in an instance of the type. NodeVersion The version number of the node (used to indicate changes to references of the owning node). i=68 ViewVersion The version number of the view. i=68 Icon A small image representing the object. i=68 LocalTime The local time where the owning variable value was collected. i=68 AllowNulls Whether the value of the owning variable is allowed to be null. i=68 ValueAsText The string representation of the current value for a variable with an enumerated data type. i=68 MaxStringLength The maximum length for a string that can be stored in the owning variable. i=68 MaxByteStringLength The maximum length for a byte string that can be stored in the owning variable. i=68 MaxArrayLength The maximum length for an array that can be stored in the owning variable. i=68 EngineeringUnits The engineering units for the value of the owning variable. i=68 EnumStrings The human readable strings associated with the values of an enumerated value (when values are sequential). i=68 EnumValues The human readable strings associated with the values of an enumerated value (when values have no sequence). i=68 OptionSetValues Contains the human-readable representation for each bit of the bit mask. i=68 InputArguments The input arguments for a method. i=68 OutputArguments The output arguments for a method. i=68 ImageBMP An image encoded in BMP format. i=30 ImageGIF An image encoded in GIF format. i=30 ImageJPG An image encoded in JPEG format. i=30 ImagePNG An image encoded in PNG format. i=30 IdType The type of identifier used in a node id. i=7591 i=29 The identifier is a numeric value. 0 is a null value. The identifier is a string value. An empty string is a null value. The identifier is a 16 byte structure. 16 zero bytes is a null value. The identifier is an array of bytes. A zero length array is a null value. EnumStrings i=68 i=78 i=256 Numeric String Guid Opaque NodeClass A mask specifying the class of the node. i=11878 i=29 No classes are selected. The node is an object. The node is a variable. The node is a method. The node is an object type. The node is an variable type. The node is a reference type. The node is a data type. The node is a view. EnumValues i=68 i=78 i=257 i=7616 0 Unspecified No classes are selected. i=7616 1 Object The node is an object. i=7616 2 Variable The node is a variable. i=7616 4 Method The node is a method. i=7616 8 ObjectType The node is an object type. i=7616 16 VariableType The node is an variable type. i=7616 32 ReferenceType The node is a reference type. i=7616 64 DataType The node is a data type. i=7616 128 View The node is a view. Argument An argument for a method. i=22 The name of the argument. The data type of the argument. Whether the argument is an array type and the rank of the array if it is. The number of dimensions if the argument is an array type and one or more dimensions have a fixed length. The description for the argument. EnumValueType A mapping between a value of an enumerated type and a name and description. i=22 The value of the enumeration. Human readable name for the value. A description of the value. OptionSet This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask. i=22 Array of bytes representing the bits in the option set. Array of bytes with same size as value representing the valid bits in the value parameter. Union This abstract DataType is the base DataType for all union DataTypes. i=22 NormalizedString A string normalized based on the rules in the unicode specification. i=12 DecimalString An arbitraty numeric value. i=12 DurationString A period of time formatted as defined in ISO 8601-2000. i=12 TimeString A time formatted as defined in ISO 8601-2000. i=12 DateString A date formatted as defined in ISO 8601-2000. i=12 Duration A period of time measured in milliseconds. i=11 UtcTime A date/time value specified in Universal Coordinated Time (UTC). i=13 LocaleId An identifier for a user locale. i=12 TimeZoneDataType i=22 Default XML i=296 i=8285 i=76 Default XML i=7594 i=8291 i=76 Default XML i=12755 i=12759 i=76 Default XML i=12756 i=12762 i=76 Default XML i=8912 i=8918 i=76 Default Binary i=296 i=7650 i=76 Default Binary i=7594 i=7656 i=76 Default Binary i=12755 i=12767 i=76 Default Binary i=12756 i=12770 i=76 Default Binary i=8912 i=8914 i=76 python-opcua-0.90.3/schemas/Opc.Ua.NodeSet2.Part4.xml000066400000000000000000003562471310132730300221100ustar00rootroot00000000000000 i=1 i=2 i=3 i=4 i=5 i=6 i=7 i=8 i=9 i=10 i=11 i=13 i=12 i=15 i=14 i=16 i=17 i=18 i=20 i=21 i=19 i=22 i=26 i=27 i=28 i=47 i=46 i=35 i=36 i=48 i=45 i=40 i=37 i=38 i=39 ExpandedNodeId Describes a value that is an absolute identifier for a node. i=24 StatusCode Describes a value that is a code representing the outcome of an operation by a Server. i=24 DataValue Describes a value that is a structure containing a value, a status code and timestamps. i=24 DiagnosticInfo Describes a value that is a structure containing diagnostics associated with a StatusCode. i=24 IntegerId A numeric identifier for an object. i=7 ApplicationType The types of applications. i=7597 i=29 The application is a server. The application is a client. The application is a client and a server. The application is a discovery server. EnumStrings i=68 i=78 i=307 Server Client ClientAndServer DiscoveryServer ApplicationDescription Describes an application and how to find it. i=22 The globally unique identifier for the application. The globally unique identifier for the product. The name of application. The type of application. The globally unique identifier for the server that is acting as a gateway for the server. The globally unique identifier for the discovery profile supported by the server. The URLs for the server's discovery endpoints. ServerOnNetwork i=22 ApplicationInstanceCertificate A certificate for an instance of an application. i=15 MessageSecurityMode The type of security to use on a message. i=7595 i=29 An invalid mode. No security is used. The message is signed. The message is signed and encrypted. EnumStrings i=68 i=78 i=302 Invalid None Sign SignAndEncrypt UserTokenType The possible user token types. i=7596 i=29 An anonymous user. A user identified by a user name and password. A user identified by an X509 certificate. A user identified by WS-Security XML token. A user identified by Kerberos ticket. EnumStrings i=68 i=78 i=303 Anonymous UserName Certificate IssuedToken Kerberos UserTokenPolicy Describes a user token that can be used with a server. i=22 A identifier for the policy assigned by the server. The type of user token. The type of issued token. The endpoint or any other information need to contruct an issued token URL. The security policy to use when encrypting or signing the user token. EndpointDescription The description of a endpoint that can be used to access a server. i=22 The network endpoint to use when connecting to the server. The description of the server. The server's application certificate. The security mode that must be used when connecting to the endpoint. The security policy to use when connecting to the endpoint. The user identity tokens that can be used with this endpoint. The transport profile to use when connecting to the endpoint. A server assigned value that indicates how secure the endpoint is relative to other server endpoints. RegisteredServer The information required to register a server with a discovery server. i=22 The globally unique identifier for the server. The globally unique identifier for the product. The name of server in multiple lcoales. The type of server. The globally unique identifier for the server that is acting as a gateway for the server. The URLs for the server's discovery endpoints. A path to a file that is deleted when the server is no longer accepting connections. If FALSE the server will save the registration information to a persistent datastore. DiscoveryConfiguration A base type for discovery configuration information. i=22 MdnsDiscoveryConfiguration The discovery information needed for mDNS registration. i=12890 The name for server that is broadcast via mDNS. The server capabilities that are broadcast via mDNS. SecurityTokenRequestType Indicates whether a token if being created or renewed. i=7598 i=29 The channel is being created. The channel is being renewed. EnumStrings i=68 i=78 i=315 Issue Renew SignedSoftwareCertificate A software certificate with a digital signature. i=22 The data of the certificate. The digital signature. SessionAuthenticationToken A unique identifier for a session used to authenticate requests. i=17 UserIdentityToken A base type for a user identity token. i=22 The policy id specified in a user token policy for the endpoint being used. AnonymousIdentityToken A token representing an anonymous user. i=316 UserNameIdentityToken A token representing a user identified by a user name and password. i=316 The user name. The password encrypted with the server certificate. The algorithm used to encrypt the password. X509IdentityToken A token representing a user identified by an X509 certificate. i=316 The certificate. KerberosIdentityToken i=316 IssuedIdentityToken A token representing a user identified by a WS-Security XML token. i=316 The XML token encrypted with the server certificate. The algorithm used to encrypt the certificate. NodeAttributesMask The bits used to specify default attributes for a new node. i=11881 i=29 No attribuites provided. The access level attribute is specified. The array dimensions attribute is specified. The browse name attribute is specified. The contains no loops attribute is specified. The data type attribute is specified. The description attribute is specified. The display name attribute is specified. The event notifier attribute is specified. The executable attribute is specified. The historizing attribute is specified. The inverse name attribute is specified. The is abstract attribute is specified. The minimum sampling interval attribute is specified. The node class attribute is specified. The node id attribute is specified. The symmetric attribute is specified. The user access level attribute is specified. The user executable attribute is specified. The user write mask attribute is specified. The value rank attribute is specified. The write mask attribute is specified. The value attribute is specified. All attributes are specified. All base attributes are specified. All object attributes are specified. All object type or data type attributes are specified. All variable attributes are specified. All variable type attributes are specified. All method attributes are specified. All reference type attributes are specified. All view attributes are specified. EnumValues i=68 i=78 i=348 i=7616 0 None No attribuites provided. i=7616 1 AccessLevel The access level attribute is specified. i=7616 2 ArrayDimensions The array dimensions attribute is specified. i=7616 4 BrowseName The browse name attribute is specified. i=7616 8 ContainsNoLoops The contains no loops attribute is specified. i=7616 16 DataType The data type attribute is specified. i=7616 32 Description The description attribute is specified. i=7616 64 DisplayName The display name attribute is specified. i=7616 128 EventNotifier The event notifier attribute is specified. i=7616 256 Executable The executable attribute is specified. i=7616 512 Historizing The historizing attribute is specified. i=7616 1024 InverseName The inverse name attribute is specified. i=7616 2048 IsAbstract The is abstract attribute is specified. i=7616 4096 MinimumSamplingInterval The minimum sampling interval attribute is specified. i=7616 8192 NodeClass The node class attribute is specified. i=7616 16384 NodeId The node id attribute is specified. i=7616 32768 Symmetric The symmetric attribute is specified. i=7616 65536 UserAccessLevel The user access level attribute is specified. i=7616 131072 UserExecutable The user executable attribute is specified. i=7616 262144 UserWriteMask The user write mask attribute is specified. i=7616 524288 ValueRank The value rank attribute is specified. i=7616 1048576 WriteMask The write mask attribute is specified. i=7616 2097152 Value The value attribute is specified. i=7616 4194303 All All attributes are specified. i=7616 1335396 BaseNode All base attributes are specified. i=7616 1335524 Object All object attributes are specified. i=7616 1337444 ObjectTypeOrDataType All object type or data type attributes are specified. i=7616 4026999 Variable All variable attributes are specified. i=7616 3958902 VariableType All variable type attributes are specified. i=7616 1466724 Method All method attributes are specified. i=7616 1371236 ReferenceType All reference type attributes are specified. i=7616 1335532 View All view attributes are specified. AddNodesItem A request to add a node to the server address space. i=22 The node id for the parent node. The type of reference from the parent to the new node. The node id requested by the client. If null the server must provide one. The browse name for the new node. The class of the new node. The default attributes for the new node. The type definition for the new node. AddReferencesItem A request to add a reference to the server address space. i=22 The source of the reference. The type of reference. If TRUE the reference is a forward reference. The URI of the server containing the target (if in another server). The target of the reference. The node class of the target (if known). DeleteNodesItem A request to delete a node to the server address space. i=22 The id of the node to delete. If TRUE all references to the are deleted as well. DeleteReferencesItem A request to delete a node from the server address space. i=22 The source of the reference to delete. The type of reference to delete. If TRUE the a forward reference is deleted. The target of the reference to delete. If TRUE the reference is deleted in both directions. AttributeWriteMask Define bits used to indicate which attributes are writable. i=11882 i=29 No attributes are writable. The access level attribute is writable. The array dimensions attribute is writable. The browse name attribute is writable. The contains no loops attribute is writable. The data type attribute is writable. The description attribute is writable. The display name attribute is writable. The event notifier attribute is writable. The executable attribute is writable. The historizing attribute is writable. The inverse name attribute is writable. The is abstract attribute is writable. The minimum sampling interval attribute is writable. The node class attribute is writable. The node id attribute is writable. The symmetric attribute is writable. The user access level attribute is writable. The user executable attribute is writable. The user write mask attribute is writable. The value rank attribute is writable. The write mask attribute is writable. The value attribute is writable. EnumValues i=68 i=78 i=347 i=7616 0 None No attributes are writable. i=7616 1 AccessLevel The access level attribute is writable. i=7616 2 ArrayDimensions The array dimensions attribute is writable. i=7616 4 BrowseName The browse name attribute is writable. i=7616 8 ContainsNoLoops The contains no loops attribute is writable. i=7616 16 DataType The data type attribute is writable. i=7616 32 Description The description attribute is writable. i=7616 64 DisplayName The display name attribute is writable. i=7616 128 EventNotifier The event notifier attribute is writable. i=7616 256 Executable The executable attribute is writable. i=7616 512 Historizing The historizing attribute is writable. i=7616 1024 InverseName The inverse name attribute is writable. i=7616 2048 IsAbstract The is abstract attribute is writable. i=7616 4096 MinimumSamplingInterval The minimum sampling interval attribute is writable. i=7616 8192 NodeClass The node class attribute is writable. i=7616 16384 NodeId The node id attribute is writable. i=7616 32768 Symmetric The symmetric attribute is writable. i=7616 65536 UserAccessLevel The user access level attribute is writable. i=7616 131072 UserExecutable The user executable attribute is writable. i=7616 262144 UserWriteMask The user write mask attribute is writable. i=7616 524288 ValueRank The value rank attribute is writable. i=7616 1048576 WriteMask The write mask attribute is writable. i=7616 2097152 ValueForVariableType The value attribute is writable. ContinuationPoint An identifier for a suspended query or browse operation. i=15 RelativePathElement An element in a relative path. i=22 The type of reference to follow. If TRUE the reverse reference is followed. If TRUE then subtypes of the reference type are followed. The browse name of the target. RelativePath A relative path constructed from reference types and browse names. i=22 A list of elements in the path. Counter A monotonically increasing value. i=7 NumericRange Specifies a range of array indexes. i=12 Time A time value specified as HH:MM:SS.SSS. i=12 Date A date value. i=13 EndpointConfiguration i=22 ComplianceLevel i=7599 i=29 EnumStrings i=68 i=78 i=334 Untested Partial SelfTested Certified SupportedProfile i=22 SoftwareCertificate i=22 FilterOperator i=7605 i=29 EnumStrings i=68 i=78 i=576 Equals IsNull GreaterThan LessThan GreaterThanOrEqual LessThanOrEqual Like Not Between InList And Or Cast InView OfType RelatedTo BitwiseAnd BitwiseOr ContentFilterElement i=22 ContentFilter i=22 FilterOperand i=22 ElementOperand i=589 LiteralOperand i=589 AttributeOperand i=589 SimpleAttributeOperand i=589 HistoryEvent i=22 HistoryUpdateType i=11884 i=29 EnumValues i=68 i=78 i=11234 i=7616 1 Insert i=7616 2 Replace i=7616 3 Update i=7616 4 Delete PerformUpdateType i=11885 i=29 EnumValues i=68 i=78 i=11293 i=7616 1 Insert i=7616 2 Replace i=7616 3 Update i=7616 4 Remove MonitoringFilter i=22 EventFilter i=719 AggregateConfiguration i=22 HistoryEventFieldList i=22 Default XML i=308 i=8300 i=76 Default XML i=12189 i=12201 i=76 Default XML i=304 i=8297 i=76 Default XML i=312 i=8303 i=76 Default XML i=432 i=8417 i=76 Default XML i=12890 i=12894 i=76 Default XML i=12891 i=12897 i=76 Default XML i=344 i=8333 i=76 Default XML i=316 i=8306 i=76 Default XML i=319 i=8309 i=76 Default XML i=322 i=8312 i=76 Default XML i=325 i=8315 i=76 Default XML i=12504 i=12506 i=76 Default XML i=938 i=8318 i=76 Default XML i=376 i=8363 i=76 Default XML i=379 i=8366 i=76 Default XML i=382 i=8369 i=76 Default XML i=385 i=8372 i=76 Default XML i=537 i=12712 i=76 Default XML i=540 i=12715 i=76 Default XML i=331 i=8321 i=76 Default XML i=335 i=8324 i=76 Default XML i=341 i=8330 i=76 Default XML i=583 i=8564 i=76 Default XML i=586 i=8567 i=76 Default XML i=589 i=8570 i=76 Default XML i=592 i=8573 i=76 Default XML i=595 i=8576 i=76 Default XML i=598 i=8579 i=76 Default XML i=601 i=8582 i=76 Default XML i=659 i=8639 i=76 Default XML i=719 i=8702 i=76 Default XML i=725 i=8708 i=76 Default XML i=948 i=8711 i=76 Default XML i=920 i=8807 i=76 Default Binary i=308 i=7665 i=76 Default Binary i=12189 i=12213 i=76 Default Binary i=304 i=7662 i=76 Default Binary i=312 i=7668 i=76 Default Binary i=432 i=7782 i=76 Default Binary i=12890 i=12902 i=76 Default Binary i=12891 i=12905 i=76 Default Binary i=344 i=7698 i=76 Default Binary i=316 i=7671 i=76 Default Binary i=319 i=7674 i=76 Default Binary i=322 i=7677 i=76 Default Binary i=325 i=7680 i=76 Default Binary i=12504 i=12510 i=76 Default Binary i=938 i=7683 i=76 Default Binary i=376 i=7728 i=76 Default Binary i=379 i=7731 i=76 Default Binary i=382 i=7734 i=76 Default Binary i=385 i=7737 i=76 Default Binary i=537 i=12718 i=76 Default Binary i=540 i=12721 i=76 Default Binary i=331 i=7686 i=76 Default Binary i=335 i=7689 i=76 Default Binary i=341 i=7695 i=76 Default Binary i=583 i=7929 i=76 Default Binary i=586 i=7932 i=76 Default Binary i=589 i=7935 i=76 Default Binary i=592 i=7938 i=76 Default Binary i=595 i=7941 i=76 Default Binary i=598 i=7944 i=76 Default Binary i=601 i=7947 i=76 Default Binary i=659 i=8004 i=76 Default Binary i=719 i=8067 i=76 Default Binary i=725 i=8073 i=76 Default Binary i=948 i=8076 i=76 Default Binary i=920 i=8172 i=76 python-opcua-0.90.3/schemas/Opc.Ua.NodeSet2.Part5.xml000066400000000000000000037346071310132730300221140ustar00rootroot00000000000000 i=1 i=2 i=3 i=4 i=5 i=6 i=7 i=8 i=9 i=10 i=11 i=13 i=12 i=15 i=14 i=16 i=17 i=18 i=20 i=21 i=19 i=22 i=26 i=27 i=28 i=47 i=46 i=35 i=36 i=48 i=45 i=40 i=37 i=38 i=39 FromState The type for a reference to the state before a transition. i=32 ToTransition ToState The type for a reference to the state after a transition. i=32 FromTransition HasCause The type for a reference to a method that can cause a transition to occur. i=32 MayBeCausedBy HasEffect The type for a reference to an event that may be raised when a transition occurs. i=32 MayBeEffectedBy HasSubStateMachine The type for a reference to a substate for a state. i=32 SubStateMachineOf BaseObjectType The base type for all object nodes. FolderType The type for objects that organize other nodes. i=58 BaseVariableType The abstract base type for all variable nodes. BaseDataVariableType The type for variable that represents a process value. i=62 PropertyType The type for variable that represents a property of another node. i=62 DataTypeDescriptionType The type for variable that represents the description of a data type encoding. i=104 i=105 i=63 DataTypeVersion The version number for the data type description. i=68 i=80 i=69 DictionaryFragment A fragment of a data type dictionary that defines the data type. i=68 i=80 i=69 DataTypeDictionaryType The type for variable that represents the collection of data type decriptions. i=106 i=107 i=63 DataTypeVersion The version number for the data type dictionary. i=68 i=80 i=72 NamespaceUri A URI that uniquely identifies the dictionary. i=68 i=80 i=72 DataTypeSystemType i=58 DataTypeEncodingType i=58 ModellingRuleType The type for an object that describes how an instance declaration is used when a type is instantiated. i=111 i=58 NamingRule Specified the significances of the BrowseName when a type is instantiated. i=68 i=78 i=77 1 Mandatory Specifies that an instance with the attributes and references of the instance declaration must appear when a type is instantiated. i=112 i=77 NamingRule Specified the significances of the BrowseName when a type is instantiated. i=68 i=78 1 Optional Specifies that an instance with the attributes and references of the instance declaration may appear when a type is instantiated. i=113 i=77 NamingRule Specified the significances of the BrowseName when a type is instantiated. i=68 i=80 2 ExposesItsArray Specifies that an instance appears for each element of the containing array variable. i=114 i=77 NamingRule Specified the significances of the BrowseName when a type is instantiated. i=68 i=83 3 MandatoryShared Specifies that a reference to a shared instance must appear in when a type is instantiated. i=116 i=77 NamingRule Specified the significances of the BrowseName when a type is instantiated. i=68 i=79 1 OptionalPlaceholder Specifies that zero or more instances with the attributes and references of the instance declaration may appear when a type is instantiated. i=11509 i=77 NamingRule Specified the significances of the BrowseName when a type is instantiated. i=68 i=11508 2 MandatoryPlaceholder Specifies that one or more instances with the attributes and references of the instance declaration must appear when a type is instantiated. i=11511 i=77 NamingRule Specified the significances of the BrowseName when a type is instantiated. i=68 i=11510 1 Root The root of the server address space. i=61 Objects The browse entry point when looking for objects in the server address space. i=84 i=61 Types The browse entry point when looking for types in the server address space. i=84 i=61 Views The browse entry point when looking for views in the server address space. i=84 i=61 ObjectTypes The browse entry point when looking for object types in the server address space. i=86 i=58 i=61 VariableTypes The browse entry point when looking for variable types in the server address space. i=86 i=62 i=61 DataTypes The browse entry point when looking for data types in the server address space. i=86 i=24 i=61 ReferenceTypes The browse entry point when looking for reference types in the server address space. i=86 i=31 i=61 XML Schema A type system which uses XML schema to describe the encoding of data types. i=90 i=75 OPC Binary A type system which uses OPC binary schema to describe the encoding of data types. i=90 i=75 ServerType Specifies the current status and capabilities of the server. i=2005 i=2006 i=2007 i=2008 i=2742 i=12882 i=2009 i=2010 i=2011 i=2012 i=11527 i=11489 i=12871 i=12746 i=12883 i=58 ServerArray The list of server URIs used by the server. i=68 i=78 i=2004 NamespaceArray The list of namespace URIs used by the server. i=68 i=78 i=2004 ServerStatus The current status of the server. i=3074 i=3075 i=3076 i=3077 i=3084 i=3085 i=2138 i=78 i=2004 StartTime i=63 i=78 i=2007 CurrentTime i=63 i=78 i=2007 State i=63 i=78 i=2007 BuildInfo i=3078 i=3079 i=3080 i=3081 i=3082 i=3083 i=3051 i=78 i=2007 ProductUri i=63 i=78 i=3077 ManufacturerName i=63 i=78 i=3077 ProductName i=63 i=78 i=3077 SoftwareVersion i=63 i=78 i=3077 BuildNumber i=63 i=78 i=3077 BuildDate i=63 i=78 i=3077 SecondsTillShutdown i=63 i=78 i=2007 ShutdownReason i=63 i=78 i=2007 ServiceLevel A value indicating the level of service the server can provide. 255 indicates the best. i=68 i=78 i=2004 Auditing A flag indicating whether the server is currently generating audit events. i=68 i=78 i=2004 EstimatedReturnTime Indicates the time at which the Server is expected to be available in the state RUNNING. i=68 i=80 i=2004 ServerCapabilities Describes capabilities supported by the server. i=3086 i=3087 i=3088 i=3089 i=3090 i=3091 i=3092 i=3093 i=3094 i=2013 i=78 i=2004 ServerProfileArray A list of profiles supported by the server. i=68 i=78 i=2009 LocaleIdArray A list of locales supported by the server. i=68 i=78 i=2009 MinSupportedSampleRate The minimum sampling interval supported by the server. i=68 i=78 i=2009 MaxBrowseContinuationPoints The maximum number of continuation points for Browse operations per session. i=68 i=78 i=2009 MaxQueryContinuationPoints The maximum number of continuation points for Query operations per session. i=68 i=78 i=2009 MaxHistoryContinuationPoints The maximum number of continuation points for ReadHistory operations per session. i=68 i=78 i=2009 SoftwareCertificates The software certificates owned by the server. i=68 i=78 i=2009 ModellingRules A folder for the modelling rules supported by the server. i=61 i=78 i=2009 AggregateFunctions A folder for the real time aggregates supported by the server. i=61 i=78 i=2009 ServerDiagnostics Reports diagnostics about the server. i=3095 i=3110 i=3111 i=3114 i=2020 i=78 i=2004 ServerDiagnosticsSummary A summary of server level diagnostics. i=3096 i=3097 i=3098 i=3099 i=3100 i=3101 i=3102 i=3104 i=3105 i=3106 i=3107 i=3108 i=2150 i=78 i=2010 ServerViewCount i=63 i=78 i=3095 CurrentSessionCount i=63 i=78 i=3095 CumulatedSessionCount i=63 i=78 i=3095 SecurityRejectedSessionCount i=63 i=78 i=3095 RejectedSessionCount i=63 i=78 i=3095 SessionTimeoutCount i=63 i=78 i=3095 SessionAbortCount i=63 i=78 i=3095 PublishingIntervalCount i=63 i=78 i=3095 CurrentSubscriptionCount i=63 i=78 i=3095 CumulatedSubscriptionCount i=63 i=78 i=3095 SecurityRejectedRequestsCount i=63 i=78 i=3095 RejectedRequestsCount i=63 i=78 i=3095 SubscriptionDiagnosticsArray A list of diagnostics for each active subscription. i=2171 i=78 i=2010 SessionsDiagnosticsSummary A summary of session level diagnostics. i=3112 i=3113 i=2026 i=78 i=2010 SessionDiagnosticsArray A list of diagnostics for each active session. i=2196 i=78 i=3111 SessionSecurityDiagnosticsArray A list of security related diagnostics for each active session. i=2243 i=78 i=3111 EnabledFlag If TRUE the diagnostics collection is enabled. i=68 i=78 i=2010 VendorServerInfo Server information provided by the vendor. i=2033 i=78 i=2004 ServerRedundancy Describes the redundancy capabilities of the server. i=3115 i=2034 i=78 i=2004 RedundancySupport Indicates what style of redundancy is supported by the server. i=68 i=78 i=2012 Namespaces Describes the namespaces supported by the server. i=11645 i=80 i=2004 GetMonitoredItems i=11490 i=11491 i=80 i=2004 InputArguments i=68 i=78 i=11489 i=297 SubscriptionId i=7 -1 OutputArguments i=68 i=78 i=11489 i=297 ServerHandles i=7 1 i=297 ClientHandles i=7 1 ResendData i=12872 i=80 i=2004 InputArguments i=68 i=78 i=12871 i=297 SubscriptionId i=7 -1 SetSubscriptionDurable i=12747 i=12748 i=80 i=2004 InputArguments i=68 i=78 i=12746 i=297 SubscriptionId i=7 -1 i=297 LifetimeInHours i=7 -1 OutputArguments i=68 i=78 i=12746 i=297 RevisedLifetimeInHours i=7 -1 RequestServerStateChange i=12884 i=80 i=2004 InputArguments i=68 i=78 i=12883 i=297 State i=852 -1 i=297 EstimatedReturnTime i=13 -1 i=297 SecondsTillShutdown i=7 -1 i=297 Reason i=21 -1 i=297 Restart i=1 -1 ServerCapabilitiesType Describes the capabilities supported by the server. i=2014 i=2016 i=2017 i=2732 i=2733 i=2734 i=3049 i=11549 i=11550 i=12910 i=11551 i=2019 i=2754 i=11562 i=58 ServerProfileArray A list of profiles supported by the server. i=68 i=78 i=2013 LocaleIdArray A list of locales supported by the server. i=68 i=78 i=2013 MinSupportedSampleRate The minimum sampling interval supported by the server. i=68 i=78 i=2013 MaxBrowseContinuationPoints The maximum number of continuation points for Browse operations per session. i=68 i=78 i=2013 MaxQueryContinuationPoints The maximum number of continuation points for Query operations per session. i=68 i=78 i=2013 MaxHistoryContinuationPoints The maximum number of continuation points for ReadHistory operations per session. i=68 i=78 i=2013 SoftwareCertificates The software certificates owned by the server. i=68 i=78 i=2013 MaxArrayLength The maximum length for an array value supported by the server. i=68 i=80 i=2013 MaxStringLength The maximum length for a string value supported by the server. i=68 i=80 i=2013 MaxByteStringLength The maximum length for a byte string value supported by the server. i=68 i=80 i=2013 OperationLimits Defines the limits supported by the server for different operations. i=11564 i=80 i=2013 ModellingRules A folder for the modelling rules supported by the server. i=61 i=78 i=2013 AggregateFunctions A folder for the real time aggregates supported by the server. i=61 i=78 i=2013 <VendorCapability> i=2137 i=11508 i=2013 ServerDiagnosticsType The diagnostics information for a server. i=2021 i=2022 i=2023 i=2744 i=2025 i=58 ServerDiagnosticsSummary A summary of server level diagnostics. i=3116 i=3117 i=3118 i=3119 i=3120 i=3121 i=3122 i=3124 i=3125 i=3126 i=3127 i=3128 i=2150 i=78 i=2020 ServerViewCount i=63 i=78 i=2021 CurrentSessionCount i=63 i=78 i=2021 CumulatedSessionCount i=63 i=78 i=2021 SecurityRejectedSessionCount i=63 i=78 i=2021 RejectedSessionCount i=63 i=78 i=2021 SessionTimeoutCount i=63 i=78 i=2021 SessionAbortCount i=63 i=78 i=2021 PublishingIntervalCount i=63 i=78 i=2021 CurrentSubscriptionCount i=63 i=78 i=2021 CumulatedSubscriptionCount i=63 i=78 i=2021 SecurityRejectedRequestsCount i=63 i=78 i=2021 RejectedRequestsCount i=63 i=78 i=2021 SamplingIntervalDiagnosticsArray A list of diagnostics for each sampling interval supported by the server. i=2164 i=80 i=2020 SubscriptionDiagnosticsArray A list of diagnostics for each active subscription. i=2171 i=78 i=2020 SessionsDiagnosticsSummary A summary of session level diagnostics. i=3129 i=3130 i=2026 i=78 i=2020 SessionDiagnosticsArray A list of diagnostics for each active session. i=2196 i=78 i=2744 SessionSecurityDiagnosticsArray A list of security related diagnostics for each active session. i=2243 i=78 i=2744 EnabledFlag If TRUE the diagnostics collection is enabled. i=68 i=78 i=2020 SessionsDiagnosticsSummaryType Provides a summary of session level diagnostics. i=2027 i=2028 i=12097 i=58 SessionDiagnosticsArray A list of diagnostics for each active session. i=2196 i=78 i=2026 SessionSecurityDiagnosticsArray A list of security related diagnostics for each active session. i=2243 i=78 i=2026 <SessionPlaceholder> i=12098 i=12142 i=12152 i=2029 i=11508 i=2026 SessionDiagnostics Diagnostics information for an active session. i=12099 i=12100 i=12101 i=12102 i=12103 i=12104 i=12105 i=12106 i=12107 i=12108 i=12109 i=12110 i=12111 i=12112 i=12113 i=12114 i=12115 i=12116 i=12117 i=12118 i=12119 i=12120 i=12121 i=12122 i=12123 i=12124 i=12125 i=12126 i=12127 i=12128 i=12129 i=12130 i=12131 i=12132 i=12133 i=12134 i=12135 i=12136 i=12137 i=12138 i=12139 i=12140 i=12141 i=2197 i=78 i=12097 SessionId i=63 i=78 i=12098 SessionName i=63 i=78 i=12098 ClientDescription i=63 i=78 i=12098 ServerUri i=63 i=78 i=12098 EndpointUrl i=63 i=78 i=12098 LocaleIds i=63 i=78 i=12098 ActualSessionTimeout i=63 i=78 i=12098 MaxResponseMessageSize i=63 i=78 i=12098 ClientConnectionTime i=63 i=78 i=12098 ClientLastContactTime i=63 i=78 i=12098 CurrentSubscriptionsCount i=63 i=78 i=12098 CurrentMonitoredItemsCount i=63 i=78 i=12098 CurrentPublishRequestsInQueue i=63 i=78 i=12098 TotalRequestCount i=63 i=78 i=12098 UnauthorizedRequestCount i=63 i=78 i=12098 ReadCount i=63 i=78 i=12098 HistoryReadCount i=63 i=78 i=12098 WriteCount i=63 i=78 i=12098 HistoryUpdateCount i=63 i=78 i=12098 CallCount i=63 i=78 i=12098 CreateMonitoredItemsCount i=63 i=78 i=12098 ModifyMonitoredItemsCount i=63 i=78 i=12098 SetMonitoringModeCount i=63 i=78 i=12098 SetTriggeringCount i=63 i=78 i=12098 DeleteMonitoredItemsCount i=63 i=78 i=12098 CreateSubscriptionCount i=63 i=78 i=12098 ModifySubscriptionCount i=63 i=78 i=12098 SetPublishingModeCount i=63 i=78 i=12098 PublishCount i=63 i=78 i=12098 RepublishCount i=63 i=78 i=12098 TransferSubscriptionsCount i=63 i=78 i=12098 DeleteSubscriptionsCount i=63 i=78 i=12098 AddNodesCount i=63 i=78 i=12098 AddReferencesCount i=63 i=78 i=12098 DeleteNodesCount i=63 i=78 i=12098 DeleteReferencesCount i=63 i=78 i=12098 BrowseCount i=63 i=78 i=12098 BrowseNextCount i=63 i=78 i=12098 TranslateBrowsePathsToNodeIdsCount i=63 i=78 i=12098 QueryFirstCount i=63 i=78 i=12098 QueryNextCount i=63 i=78 i=12098 RegisterNodesCount i=63 i=78 i=12098 UnregisterNodesCount i=63 i=78 i=12098 SessionSecurityDiagnostics Security related diagnostics information for an active session. i=12143 i=12144 i=12145 i=12146 i=12147 i=12148 i=12149 i=12150 i=12151 i=2244 i=78 i=12097 SessionId i=63 i=78 i=12142 ClientUserIdOfSession i=63 i=78 i=12142 ClientUserIdHistory i=63 i=78 i=12142 AuthenticationMechanism i=63 i=78 i=12142 Encoding i=63 i=78 i=12142 TransportProtocol i=63 i=78 i=12142 SecurityMode i=63 i=78 i=12142 SecurityPolicyUri i=63 i=78 i=12142 ClientCertificate i=63 i=78 i=12142 SubscriptionDiagnosticsArray A list of diagnostics for each subscription owned by the session. i=2171 i=78 i=12097 SessionDiagnosticsObjectType A container for session level diagnostics information. i=2030 i=2031 i=2032 i=58 SessionDiagnostics Diagnostics information for an active session. i=3131 i=3132 i=3133 i=3134 i=3135 i=3136 i=3137 i=3138 i=3139 i=3140 i=3141 i=3142 i=3143 i=8898 i=11891 i=3151 i=3152 i=3153 i=3154 i=3155 i=3156 i=3157 i=3158 i=3159 i=3160 i=3161 i=3162 i=3163 i=3164 i=3165 i=3166 i=3167 i=3168 i=3169 i=3170 i=3171 i=3172 i=3173 i=3174 i=3175 i=3176 i=3177 i=3178 i=2197 i=78 i=2029 SessionId i=63 i=78 i=2030 SessionName i=63 i=78 i=2030 ClientDescription i=63 i=78 i=2030 ServerUri i=63 i=78 i=2030 EndpointUrl i=63 i=78 i=2030 LocaleIds i=63 i=78 i=2030 ActualSessionTimeout i=63 i=78 i=2030 MaxResponseMessageSize i=63 i=78 i=2030 ClientConnectionTime i=63 i=78 i=2030 ClientLastContactTime i=63 i=78 i=2030 CurrentSubscriptionsCount i=63 i=78 i=2030 CurrentMonitoredItemsCount i=63 i=78 i=2030 CurrentPublishRequestsInQueue i=63 i=78 i=2030 TotalRequestCount i=63 i=78 i=2030 UnauthorizedRequestCount i=63 i=78 i=2030 ReadCount i=63 i=78 i=2030 HistoryReadCount i=63 i=78 i=2030 WriteCount i=63 i=78 i=2030 HistoryUpdateCount i=63 i=78 i=2030 CallCount i=63 i=78 i=2030 CreateMonitoredItemsCount i=63 i=78 i=2030 ModifyMonitoredItemsCount i=63 i=78 i=2030 SetMonitoringModeCount i=63 i=78 i=2030 SetTriggeringCount i=63 i=78 i=2030 DeleteMonitoredItemsCount i=63 i=78 i=2030 CreateSubscriptionCount i=63 i=78 i=2030 ModifySubscriptionCount i=63 i=78 i=2030 SetPublishingModeCount i=63 i=78 i=2030 PublishCount i=63 i=78 i=2030 RepublishCount i=63 i=78 i=2030 TransferSubscriptionsCount i=63 i=78 i=2030 DeleteSubscriptionsCount i=63 i=78 i=2030 AddNodesCount i=63 i=78 i=2030 AddReferencesCount i=63 i=78 i=2030 DeleteNodesCount i=63 i=78 i=2030 DeleteReferencesCount i=63 i=78 i=2030 BrowseCount i=63 i=78 i=2030 BrowseNextCount i=63 i=78 i=2030 TranslateBrowsePathsToNodeIdsCount i=63 i=78 i=2030 QueryFirstCount i=63 i=78 i=2030 QueryNextCount i=63 i=78 i=2030 RegisterNodesCount i=63 i=78 i=2030 UnregisterNodesCount i=63 i=78 i=2030 SessionSecurityDiagnostics Security related diagnostics information for an active session. i=3179 i=3180 i=3181 i=3182 i=3183 i=3184 i=3185 i=3186 i=3187 i=2244 i=78 i=2029 SessionId i=63 i=78 i=2031 ClientUserIdOfSession i=63 i=78 i=2031 ClientUserIdHistory i=63 i=78 i=2031 AuthenticationMechanism i=63 i=78 i=2031 Encoding i=63 i=78 i=2031 TransportProtocol i=63 i=78 i=2031 SecurityMode i=63 i=78 i=2031 SecurityPolicyUri i=63 i=78 i=2031 ClientCertificate i=63 i=78 i=2031 SubscriptionDiagnosticsArray A list of diagnostics for each subscription owned by the session. i=2171 i=78 i=2029 VendorServerInfoType A base type for vendor specific server information. i=58 ServerRedundancyType A base type for an object that describe how a server supports redundancy. i=2035 i=58 RedundancySupport Indicates what style of redundancy is supported by the server. i=68 i=78 i=2034 TransparentRedundancyType Identifies the capabilties of server that supports transparent redundancy. i=2037 i=2038 i=2034 CurrentServerId The ID of the server that is currently in use. i=68 i=78 i=2036 RedundantServerArray A list of servers in the same redundant set. i=68 i=78 i=2036 NonTransparentRedundancyType Identifies the capabilties of server that supports non-transparent redundancy. i=2040 i=2034 ServerUriArray A list of servers in the same redundant set. i=68 i=78 i=2039 NonTransparentNetworkRedundancyType i=11948 i=2039 ServerNetworkGroups i=68 i=78 i=11945 OperationLimitsType Identifies the operation limits imposed by the server. i=11565 i=12161 i=12162 i=11567 i=12163 i=12164 i=11569 i=11570 i=11571 i=11572 i=11573 i=11574 i=58 MaxNodesPerRead The maximum number of operations in a single Read request. i=68 i=80 i=11564 MaxNodesPerHistoryReadData The maximum number of operations in a single data HistoryRead request. i=68 i=80 i=11564 MaxNodesPerHistoryReadEvents The maximum number of operations in a single event HistoryRead request. i=68 i=80 i=11564 MaxNodesPerWrite The maximum number of operations in a single Write request. i=68 i=80 i=11564 MaxNodesPerHistoryUpdateData The maximum number of operations in a single data HistoryUpdate request. i=68 i=80 i=11564 MaxNodesPerHistoryUpdateEvents The maximum number of operations in a single event HistoryUpdate request. i=68 i=80 i=11564 MaxNodesPerMethodCall The maximum number of operations in a single Call request. i=68 i=80 i=11564 MaxNodesPerBrowse The maximum number of operations in a single Browse request. i=68 i=80 i=11564 MaxNodesPerRegisterNodes The maximum number of operations in a single RegisterNodes request. i=68 i=80 i=11564 MaxNodesPerTranslateBrowsePathsToNodeIds The maximum number of operations in a single TranslateBrowsePathsToNodeIds request. i=68 i=80 i=11564 MaxNodesPerNodeManagement The maximum number of operations in a single AddNodes, AddReferences, DeleteNodes or DeleteReferences request. i=68 i=80 i=11564 MaxMonitoredItemsPerCall The maximum number of operations in a single MonitoredItem related request. i=68 i=80 i=11564 FileType An object that represents a file that can be accessed via the server. i=11576 i=12686 i=12687 i=11579 i=13341 i=11580 i=11583 i=11585 i=11588 i=11590 i=11593 i=58 Size The size of the file in bytes. i=68 i=78 i=11575 Writable Whether the file is writable. i=68 i=78 i=11575 UserWritable Whether the file is writable by the current user. i=68 i=78 i=11575 OpenCount The current number of open file handles. i=68 i=78 i=11575 MimeType The content of the file. i=68 i=80 i=11575 Open i=11581 i=11582 i=78 i=11575 InputArguments i=68 i=78 i=11580 i=297 Mode i=3 -1 OutputArguments i=68 i=78 i=11580 i=297 FileHandle i=7 -1 Close i=11584 i=78 i=11575 InputArguments i=68 i=78 i=11583 i=297 FileHandle i=7 -1 Read i=11586 i=11587 i=78 i=11575 InputArguments i=68 i=78 i=11585 i=297 FileHandle i=7 -1 i=297 Length i=6 -1 OutputArguments i=68 i=78 i=11585 i=297 Data i=15 -1 Write i=11589 i=78 i=11575 InputArguments i=68 i=78 i=11588 i=297 FileHandle i=7 -1 i=297 Data i=15 -1 GetPosition i=11591 i=11592 i=78 i=11575 InputArguments i=68 i=78 i=11590 i=297 FileHandle i=7 -1 OutputArguments i=68 i=78 i=11590 i=297 Position i=9 -1 SetPosition i=11594 i=78 i=11575 InputArguments i=68 i=78 i=11593 i=297 FileHandle i=7 -1 i=297 Position i=9 -1 FileDirectoryType i=13354 i=13366 i=13387 i=13390 i=13393 i=13395 i=61 <FileDirectoryName> i=13355 i=13358 i=13361 i=13363 i=13353 i=11508 i=13353 CreateDirectory i=13356 i=13357 i=78 i=13354 InputArguments i=68 i=78 i=13355 i=297 DirectoryName i=12 -1 OutputArguments i=68 i=78 i=13355 i=297 DirectoryNodeId i=17 -1 CreateFile i=13359 i=13360 i=78 i=13354 InputArguments i=68 i=78 i=13358 i=297 FileName i=12 -1 i=297 RequestFileOpen i=1 -1 OutputArguments i=68 i=78 i=13358 i=297 FileNodeId i=17 -1 i=297 FileHandle i=7 -1 Delete i=13362 i=78 i=13354 InputArguments i=68 i=78 i=13361 i=297 ObjectToDelete i=17 -1 MoveOrCopy i=13364 i=13365 i=78 i=13354 InputArguments i=68 i=78 i=13363 i=297 ObjectToMoveOrCopy i=17 -1 i=297 TargetDirectory i=17 -1 i=297 CreateCopy i=1 -1 i=297 NewName i=12 -1 OutputArguments i=68 i=78 i=13363 i=297 NewNodeId i=17 -1 <FileName> i=13367 i=13368 i=13369 i=13370 i=13372 i=13375 i=13377 i=13380 i=13382 i=13385 i=11575 i=11508 i=13353 Size The size of the file in bytes. i=68 i=78 i=13366 Writable Whether the file is writable. i=68 i=78 i=13366 UserWritable Whether the file is writable by the current user. i=68 i=78 i=13366 OpenCount The current number of open file handles. i=68 i=78 i=13366 Open i=13373 i=13374 i=78 i=13366 InputArguments i=68 i=78 i=13372 i=297 Mode i=3 -1 OutputArguments i=68 i=78 i=13372 i=297 FileHandle i=7 -1 Close i=13376 i=78 i=13366 InputArguments i=68 i=78 i=13375 i=297 FileHandle i=7 -1 Read i=13378 i=13379 i=78 i=13366 InputArguments i=68 i=78 i=13377 i=297 FileHandle i=7 -1 i=297 Length i=6 -1 OutputArguments i=68 i=78 i=13377 i=297 Data i=15 -1 Write i=13381 i=78 i=13366 InputArguments i=68 i=78 i=13380 i=297 FileHandle i=7 -1 i=297 Data i=15 -1 GetPosition i=13383 i=13384 i=78 i=13366 InputArguments i=68 i=78 i=13382 i=297 FileHandle i=7 -1 OutputArguments i=68 i=78 i=13382 i=297 Position i=9 -1 SetPosition i=13386 i=78 i=13366 InputArguments i=68 i=78 i=13385 i=297 FileHandle i=7 -1 i=297 Position i=9 -1 CreateDirectory i=13388 i=13389 i=78 i=13353 InputArguments i=68 i=78 i=13387 i=297 DirectoryName i=12 -1 OutputArguments i=68 i=78 i=13387 i=297 DirectoryNodeId i=17 -1 CreateFile i=13391 i=13392 i=78 i=13353 InputArguments i=68 i=78 i=13390 i=297 FileName i=12 -1 i=297 RequestFileOpen i=1 -1 OutputArguments i=68 i=78 i=13390 i=297 FileNodeId i=17 -1 i=297 FileHandle i=7 -1 Delete i=13394 i=78 i=13353 InputArguments i=68 i=78 i=13393 i=297 ObjectToDelete i=17 -1 MoveOrCopy i=13396 i=13397 i=78 i=13353 InputArguments i=68 i=78 i=13395 i=297 ObjectToMoveOrCopy i=17 -1 i=297 TargetDirectory i=17 -1 i=297 CreateCopy i=1 -1 i=297 NewName i=12 -1 OutputArguments i=68 i=78 i=13395 i=297 NewNodeId i=17 -1 AddressSpaceFileType A file used to store a namespace exported from the server. i=11615 i=11575 ExportNamespace Updates the file by exporting the server namespace. i=80 i=11595 NamespaceMetadataType Provides the metadata for a namespace used by the server. i=11617 i=11618 i=11619 i=11620 i=11621 i=11622 i=11623 i=11624 i=58 NamespaceUri The URI of the namespace. i=68 i=78 i=11616 NamespaceVersion The human readable string representing version of the namespace. i=68 i=78 i=11616 NamespacePublicationDate The publication date for the namespace. i=68 i=78 i=11616 IsNamespaceSubset If TRUE then the server only supports a subset of the namespace. i=68 i=78 i=11616 StaticNodeIdIdentifierTypes A list of IdTypes for nodes which are the same in every server that exposes them. i=68 i=78 i=11616 StaticNumericNodeIdRange A list of ranges for numeric node ids which are the same in every server that exposes them. i=68 i=78 i=11616 StaticStringNodeIdPattern A regular expression which matches string node ids are the same in every server that exposes them. i=68 i=78 i=11616 NamespaceFile A file containing the nodes of the namespace. i=11625 i=12690 i=12691 i=11628 i=11629 i=11632 i=11634 i=11637 i=11639 i=11642 i=11595 i=80 i=11616 Size The size of the file in bytes. i=68 i=78 i=11624 Writable Whether the file is writable. i=68 i=78 i=11624 UserWritable Whether the file is writable by the current user. i=68 i=78 i=11624 OpenCount The current number of open file handles. i=68 i=78 i=11624 Open i=11630 i=11631 i=78 i=11624 InputArguments i=68 i=78 i=11629 i=297 Mode i=3 -1 OutputArguments i=68 i=78 i=11629 i=297 FileHandle i=7 -1 Close i=11633 i=78 i=11624 InputArguments i=68 i=78 i=11632 i=297 FileHandle i=7 -1 Read i=11635 i=11636 i=78 i=11624 InputArguments i=68 i=78 i=11634 i=297 FileHandle i=7 -1 i=297 Length i=6 -1 OutputArguments i=68 i=78 i=11634 i=297 Data i=15 -1 Write i=11638 i=78 i=11624 InputArguments i=68 i=78 i=11637 i=297 FileHandle i=7 -1 i=297 Data i=15 -1 GetPosition i=11640 i=11641 i=78 i=11624 InputArguments i=68 i=78 i=11639 i=297 FileHandle i=7 -1 OutputArguments i=68 i=78 i=11639 i=297 Position i=9 -1 SetPosition i=11643 i=78 i=11624 InputArguments i=68 i=78 i=11642 i=297 FileHandle i=7 -1 i=297 Position i=9 -1 NamespacesType A container for the namespace metadata provided by the server. i=11646 i=11675 i=58 <NamespaceIdentifier> i=11647 i=11648 i=11649 i=11650 i=11651 i=11652 i=11653 i=11616 i=11508 i=11645 NamespaceUri The URI of the namespace. i=68 i=78 i=11646 NamespaceVersion The human readable string representing version of the namespace. i=68 i=78 i=11646 NamespacePublicationDate The publication date for the namespace. i=68 i=78 i=11646 IsNamespaceSubset If TRUE then the server only supports a subset of the namespace. i=68 i=78 i=11646 StaticNodeIdIdentifierTypes A list of IdTypes for nodes which are the same in every server that exposes them. i=68 i=78 i=11646 StaticNumericNodeIdRange A list of ranges for numeric node ids which are the same in every server that exposes them. i=68 i=78 i=11646 StaticStringNodeIdPattern A regular expression which matches string node ids are the same in every server that exposes them. i=68 i=78 i=11646 AddressSpaceFile A file containing the nodes of the namespace. i=11676 i=12694 i=12695 i=11679 i=11680 i=11683 i=11685 i=11688 i=11690 i=11693 i=11595 i=80 i=11645 Size The size of the file in bytes. i=68 i=78 i=11675 Writable Whether the file is writable. i=68 i=78 i=11675 UserWritable Whether the file is writable by the current user. i=68 i=78 i=11675 OpenCount The current number of open file handles. i=68 i=78 i=11675 Open i=11681 i=11682 i=78 i=11675 InputArguments i=68 i=78 i=11680 i=297 Mode i=3 -1 OutputArguments i=68 i=78 i=11680 i=297 FileHandle i=7 -1 Close i=11684 i=78 i=11675 InputArguments i=68 i=78 i=11683 i=297 FileHandle i=7 -1 Read i=11686 i=11687 i=78 i=11675 InputArguments i=68 i=78 i=11685 i=297 FileHandle i=7 -1 i=297 Length i=6 -1 OutputArguments i=68 i=78 i=11685 i=297 Data i=15 -1 Write i=11689 i=78 i=11675 InputArguments i=68 i=78 i=11688 i=297 FileHandle i=7 -1 i=297 Data i=15 -1 GetPosition i=11691 i=11692 i=78 i=11675 InputArguments i=68 i=78 i=11690 i=297 FileHandle i=7 -1 OutputArguments i=68 i=78 i=11690 i=297 Position i=9 -1 SetPosition i=11694 i=78 i=11675 InputArguments i=68 i=78 i=11693 i=297 FileHandle i=7 -1 i=297 Position i=9 -1 BaseEventType The base type for all events. i=2042 i=2043 i=2044 i=2045 i=2046 i=2047 i=3190 i=2050 i=2051 i=58 EventId A globally unique identifier for the event. i=68 i=78 i=2041 EventType The identifier for the event type. i=68 i=78 i=2041 SourceNode The source of the event. i=68 i=78 i=2041 SourceName A description of the source of the event. i=68 i=78 i=2041 Time When the event occurred. i=68 i=78 i=2041 ReceiveTime When the server received the event from the underlying system. i=68 i=78 i=2041 LocalTime Information about the local time where the event originated. i=68 i=78 i=2041 Message A localized description of the event. i=68 i=78 i=2041 Severity Indicates how urgent an event is. i=68 i=78 i=2041 AuditEventType A base type for events used to track client initiated changes to the server state. i=2053 i=2054 i=2055 i=2056 i=2057 i=2041 ActionTimeStamp When the action triggering the event occurred. i=68 i=78 i=2052 Status If TRUE the action was performed. If FALSE the action failed and the server state did not change. i=68 i=78 i=2052 ServerId The unique identifier for the server generating the event. i=68 i=78 i=2052 ClientAuditEntryId The log entry id provided in the request that initiated the action. i=68 i=78 i=2052 ClientUserId The user identity associated with the session that initiated the action. i=68 i=78 i=2052 AuditSecurityEventType A base type for events used to track security related changes. i=2052 AuditChannelEventType A base type for events used to track related changes to a secure channel. i=2745 i=2058 SecureChannelId The identifier for the secure channel that was changed. i=68 i=78 i=2059 AuditOpenSecureChannelEventType An event that is raised when a secure channel is opened. i=2061 i=2746 i=2062 i=2063 i=2065 i=2066 i=2059 ClientCertificate The certificate provided by the client. i=68 i=78 i=2060 ClientCertificateThumbprint The thumbprint for certificate provided by the client. i=68 i=78 i=2060 RequestType The type of request (NEW or RENEW). i=68 i=78 i=2060 SecurityPolicyUri The security policy used by the channel. i=68 i=78 i=2060 SecurityMode The security mode used by the channel. i=68 i=78 i=2060 RequestedLifetime The lifetime of the channel requested by the client. i=68 i=78 i=2060 AuditSessionEventType A base type for events used to track related changes to a session. i=2070 i=2058 SessionId The unique identifier for the session,. i=68 i=78 i=2069 AuditCreateSessionEventType An event that is raised when a session is created. i=2072 i=2073 i=2747 i=2074 i=2069 SecureChannelId The secure channel associated with the session. i=68 i=78 i=2071 ClientCertificate The certificate provided by the client. i=68 i=78 i=2071 ClientCertificateThumbprint The thumbprint of the certificate provided by the client. i=68 i=78 i=2071 RevisedSessionTimeout The timeout for the session. i=68 i=78 i=2071 AuditUrlMismatchEventType i=2749 i=2071 EndpointUrl i=68 i=78 i=2748 AuditActivateSessionEventType i=2076 i=2077 i=11485 i=2069 ClientSoftwareCertificates i=68 i=78 i=2075 UserIdentityToken i=68 i=78 i=2075 SecureChannelId i=68 i=78 i=2075 AuditCancelEventType i=2079 i=2069 RequestHandle i=68 i=78 i=2078 AuditCertificateEventType i=2081 i=2058 Certificate i=68 i=78 i=2080 AuditCertificateDataMismatchEventType i=2083 i=2084 i=2080 InvalidHostname i=68 i=78 i=2082 InvalidUri i=68 i=78 i=2082 AuditCertificateExpiredEventType i=2080 AuditCertificateInvalidEventType i=2080 AuditCertificateUntrustedEventType i=2080 AuditCertificateRevokedEventType i=2080 AuditCertificateMismatchEventType i=2080 AuditNodeManagementEventType i=2052 AuditAddNodesEventType i=2092 i=2090 NodesToAdd i=68 i=78 i=2091 AuditDeleteNodesEventType i=2094 i=2090 NodesToDelete i=68 i=78 i=2093 AuditAddReferencesEventType i=2096 i=2090 ReferencesToAdd i=68 i=78 i=2095 AuditDeleteReferencesEventType i=2098 i=2090 ReferencesToDelete i=68 i=78 i=2097 AuditUpdateEventType i=2052 AuditWriteUpdateEventType i=2750 i=2101 i=2102 i=2103 i=2099 AttributeId i=68 i=78 i=2100 IndexRange i=68 i=78 i=2100 OldValue i=68 i=78 i=2100 NewValue i=68 i=78 i=2100 AuditHistoryUpdateEventType i=2751 i=2099 ParameterDataTypeId i=68 i=78 i=2104 AuditUpdateMethodEventType i=2128 i=2129 i=2052 MethodId i=68 i=78 i=2127 InputArguments i=68 i=78 i=2127 SystemEventType i=2041 DeviceFailureEventType i=2130 SystemStatusChangeEventType i=11696 i=2130 SystemState i=68 i=78 i=11446 BaseModelChangeEventType i=2041 GeneralModelChangeEventType i=2134 i=2132 Changes i=68 i=78 i=2133 SemanticChangeEventType i=2739 i=2132 Changes i=68 i=78 i=2738 EventQueueOverflowEventType i=2041 ProgressEventType i=12502 i=12503 i=2041 Context i=68 i=78 i=11436 Progress i=68 i=78 i=11436 AggregateFunctionType i=58 ServerVendorCapabilityType i=63 ServerStatusType i=2139 i=2140 i=2141 i=2142 i=2752 i=2753 i=63 StartTime i=63 i=78 i=2138 CurrentTime i=63 i=78 i=2138 State i=63 i=78 i=2138 BuildInfo i=3698 i=3699 i=3700 i=3701 i=3702 i=3703 i=3051 i=78 i=2138 ProductUri i=63 i=78 i=2142 ManufacturerName i=63 i=78 i=2142 ProductName i=63 i=78 i=2142 SoftwareVersion i=63 i=78 i=2142 BuildNumber i=63 i=78 i=2142 BuildDate i=63 i=78 i=2142 SecondsTillShutdown i=63 i=78 i=2138 ShutdownReason i=63 i=78 i=2138 BuildInfoType i=3052 i=3053 i=3054 i=3055 i=3056 i=3057 i=63 ProductUri i=63 i=78 i=3051 ManufacturerName i=63 i=78 i=3051 ProductName i=63 i=78 i=3051 SoftwareVersion i=63 i=78 i=3051 BuildNumber i=63 i=78 i=3051 BuildDate i=63 i=78 i=3051 ServerDiagnosticsSummaryType i=2151 i=2152 i=2153 i=2154 i=2155 i=2156 i=2157 i=2159 i=2160 i=2161 i=2162 i=2163 i=63 ServerViewCount i=63 i=78 i=2150 CurrentSessionCount i=63 i=78 i=2150 CumulatedSessionCount i=63 i=78 i=2150 SecurityRejectedSessionCount i=63 i=78 i=2150 RejectedSessionCount i=63 i=78 i=2150 SessionTimeoutCount i=63 i=78 i=2150 SessionAbortCount i=63 i=78 i=2150 PublishingIntervalCount i=63 i=78 i=2150 CurrentSubscriptionCount i=63 i=78 i=2150 CumulatedSubscriptionCount i=63 i=78 i=2150 SecurityRejectedRequestsCount i=63 i=78 i=2150 RejectedRequestsCount i=63 i=78 i=2150 SamplingIntervalDiagnosticsArrayType i=12779 i=63 SamplingIntervalDiagnostics i=12780 i=12781 i=12782 i=12783 i=2165 i=83 i=2164 SamplingInterval i=63 i=78 i=12779 SampledMonitoredItemsCount i=63 i=78 i=12779 MaxSampledMonitoredItemsCount i=63 i=78 i=12779 DisabledMonitoredItemsSamplingCount i=63 i=78 i=12779 SamplingIntervalDiagnosticsType i=2166 i=11697 i=11698 i=11699 i=63 SamplingInterval i=63 i=78 i=2165 SampledMonitoredItemsCount i=63 i=78 i=2165 MaxSampledMonitoredItemsCount i=63 i=78 i=2165 DisabledMonitoredItemsSamplingCount i=63 i=78 i=2165 SubscriptionDiagnosticsArrayType i=12784 i=63 SubscriptionDiagnostics i=12785 i=12786 i=12787 i=12788 i=12789 i=12790 i=12791 i=12792 i=12793 i=12794 i=12795 i=12796 i=12797 i=12798 i=12799 i=12800 i=12801 i=12802 i=12803 i=12804 i=12805 i=12806 i=12807 i=12808 i=12809 i=12810 i=12811 i=12812 i=12813 i=12814 i=12815 i=2172 i=83 i=2171 SessionId i=63 i=78 i=12784 SubscriptionId i=63 i=78 i=12784 Priority i=63 i=78 i=12784 PublishingInterval i=63 i=78 i=12784 MaxKeepAliveCount i=63 i=78 i=12784 MaxLifetimeCount i=63 i=78 i=12784 MaxNotificationsPerPublish i=63 i=78 i=12784 PublishingEnabled i=63 i=78 i=12784 ModifyCount i=63 i=78 i=12784 EnableCount i=63 i=78 i=12784 DisableCount i=63 i=78 i=12784 RepublishRequestCount i=63 i=78 i=12784 RepublishMessageRequestCount i=63 i=78 i=12784 RepublishMessageCount i=63 i=78 i=12784 TransferRequestCount i=63 i=78 i=12784 TransferredToAltClientCount i=63 i=78 i=12784 TransferredToSameClientCount i=63 i=78 i=12784 PublishRequestCount i=63 i=78 i=12784 DataChangeNotificationsCount i=63 i=78 i=12784 EventNotificationsCount i=63 i=78 i=12784 NotificationsCount i=63 i=78 i=12784 LatePublishRequestCount i=63 i=78 i=12784 CurrentKeepAliveCount i=63 i=78 i=12784 CurrentLifetimeCount i=63 i=78 i=12784 UnacknowledgedMessageCount i=63 i=78 i=12784 DiscardedMessageCount i=63 i=78 i=12784 MonitoredItemCount i=63 i=78 i=12784 DisabledMonitoredItemCount i=63 i=78 i=12784 MonitoringQueueOverflowCount i=63 i=78 i=12784 NextSequenceNumber i=63 i=78 i=12784 EventQueueOverFlowCount i=63 i=78 i=12784 SubscriptionDiagnosticsType i=2173 i=2174 i=2175 i=2176 i=2177 i=8888 i=2179 i=2180 i=2181 i=2182 i=2183 i=2184 i=2185 i=2186 i=2187 i=2188 i=2189 i=2190 i=2191 i=2998 i=2193 i=8889 i=8890 i=8891 i=8892 i=8893 i=8894 i=8895 i=8896 i=8897 i=8902 i=63 SessionId i=63 i=78 i=2172 SubscriptionId i=63 i=78 i=2172 Priority i=63 i=78 i=2172 PublishingInterval i=63 i=78 i=2172 MaxKeepAliveCount i=63 i=78 i=2172 MaxLifetimeCount i=63 i=78 i=2172 MaxNotificationsPerPublish i=63 i=78 i=2172 PublishingEnabled i=63 i=78 i=2172 ModifyCount i=63 i=78 i=2172 EnableCount i=63 i=78 i=2172 DisableCount i=63 i=78 i=2172 RepublishRequestCount i=63 i=78 i=2172 RepublishMessageRequestCount i=63 i=78 i=2172 RepublishMessageCount i=63 i=78 i=2172 TransferRequestCount i=63 i=78 i=2172 TransferredToAltClientCount i=63 i=78 i=2172 TransferredToSameClientCount i=63 i=78 i=2172 PublishRequestCount i=63 i=78 i=2172 DataChangeNotificationsCount i=63 i=78 i=2172 EventNotificationsCount i=63 i=78 i=2172 NotificationsCount i=63 i=78 i=2172 LatePublishRequestCount i=63 i=78 i=2172 CurrentKeepAliveCount i=63 i=78 i=2172 CurrentLifetimeCount i=63 i=78 i=2172 UnacknowledgedMessageCount i=63 i=78 i=2172 DiscardedMessageCount i=63 i=78 i=2172 MonitoredItemCount i=63 i=78 i=2172 DisabledMonitoredItemCount i=63 i=78 i=2172 MonitoringQueueOverflowCount i=63 i=78 i=2172 NextSequenceNumber i=63 i=78 i=2172 EventQueueOverFlowCount i=63 i=78 i=2172 SessionDiagnosticsArrayType i=12816 i=63 SessionDiagnostics i=12817 i=12818 i=12819 i=12820 i=12821 i=12822 i=12823 i=12824 i=12825 i=12826 i=12827 i=12828 i=12829 i=12830 i=12831 i=12832 i=12833 i=12834 i=12835 i=12836 i=12837 i=12838 i=12839 i=12840 i=12841 i=12842 i=12843 i=12844 i=12845 i=12846 i=12847 i=12848 i=12849 i=12850 i=12851 i=12852 i=12853 i=12854 i=12855 i=12856 i=12857 i=12858 i=12859 i=2197 i=83 i=2196 SessionId i=63 i=78 i=12816 SessionName i=63 i=78 i=12816 ClientDescription i=63 i=78 i=12816 ServerUri i=63 i=78 i=12816 EndpointUrl i=63 i=78 i=12816 LocaleIds i=63 i=78 i=12816 ActualSessionTimeout i=63 i=78 i=12816 MaxResponseMessageSize i=63 i=78 i=12816 ClientConnectionTime i=63 i=78 i=12816 ClientLastContactTime i=63 i=78 i=12816 CurrentSubscriptionsCount i=63 i=78 i=12816 CurrentMonitoredItemsCount i=63 i=78 i=12816 CurrentPublishRequestsInQueue i=63 i=78 i=12816 TotalRequestCount i=63 i=78 i=12816 UnauthorizedRequestCount i=63 i=78 i=12816 ReadCount i=63 i=78 i=12816 HistoryReadCount i=63 i=78 i=12816 WriteCount i=63 i=78 i=12816 HistoryUpdateCount i=63 i=78 i=12816 CallCount i=63 i=78 i=12816 CreateMonitoredItemsCount i=63 i=78 i=12816 ModifyMonitoredItemsCount i=63 i=78 i=12816 SetMonitoringModeCount i=63 i=78 i=12816 SetTriggeringCount i=63 i=78 i=12816 DeleteMonitoredItemsCount i=63 i=78 i=12816 CreateSubscriptionCount i=63 i=78 i=12816 ModifySubscriptionCount i=63 i=78 i=12816 SetPublishingModeCount i=63 i=78 i=12816 PublishCount i=63 i=78 i=12816 RepublishCount i=63 i=78 i=12816 TransferSubscriptionsCount i=63 i=78 i=12816 DeleteSubscriptionsCount i=63 i=78 i=12816 AddNodesCount i=63 i=78 i=12816 AddReferencesCount i=63 i=78 i=12816 DeleteNodesCount i=63 i=78 i=12816 DeleteReferencesCount i=63 i=78 i=12816 BrowseCount i=63 i=78 i=12816 BrowseNextCount i=63 i=78 i=12816 TranslateBrowsePathsToNodeIdsCount i=63 i=78 i=12816 QueryFirstCount i=63 i=78 i=12816 QueryNextCount i=63 i=78 i=12816 RegisterNodesCount i=63 i=78 i=12816 UnregisterNodesCount i=63 i=78 i=12816 SessionDiagnosticsVariableType i=2198 i=2199 i=2200 i=2201 i=2202 i=2203 i=2204 i=3050 i=2205 i=2206 i=2207 i=2208 i=2209 i=8900 i=11892 i=2217 i=2218 i=2219 i=2220 i=2221 i=2222 i=2223 i=2224 i=2225 i=2226 i=2227 i=2228 i=2229 i=2230 i=2231 i=2232 i=2233 i=2234 i=2235 i=2236 i=2237 i=2238 i=2239 i=2240 i=2241 i=2242 i=2730 i=2731 i=63 SessionId i=63 i=78 i=2197 SessionName i=63 i=78 i=2197 ClientDescription i=63 i=78 i=2197 ServerUri i=63 i=78 i=2197 EndpointUrl i=63 i=78 i=2197 LocaleIds i=63 i=78 i=2197 ActualSessionTimeout i=63 i=78 i=2197 MaxResponseMessageSize i=63 i=78 i=2197 ClientConnectionTime i=63 i=78 i=2197 ClientLastContactTime i=63 i=78 i=2197 CurrentSubscriptionsCount i=63 i=78 i=2197 CurrentMonitoredItemsCount i=63 i=78 i=2197 CurrentPublishRequestsInQueue i=63 i=78 i=2197 TotalRequestCount i=63 i=78 i=2197 UnauthorizedRequestCount i=63 i=78 i=2197 ReadCount i=63 i=78 i=2197 HistoryReadCount i=63 i=78 i=2197 WriteCount i=63 i=78 i=2197 HistoryUpdateCount i=63 i=78 i=2197 CallCount i=63 i=78 i=2197 CreateMonitoredItemsCount i=63 i=78 i=2197 ModifyMonitoredItemsCount i=63 i=78 i=2197 SetMonitoringModeCount i=63 i=78 i=2197 SetTriggeringCount i=63 i=78 i=2197 DeleteMonitoredItemsCount i=63 i=78 i=2197 CreateSubscriptionCount i=63 i=78 i=2197 ModifySubscriptionCount i=63 i=78 i=2197 SetPublishingModeCount i=63 i=78 i=2197 PublishCount i=63 i=78 i=2197 RepublishCount i=63 i=78 i=2197 TransferSubscriptionsCount i=63 i=78 i=2197 DeleteSubscriptionsCount i=63 i=78 i=2197 AddNodesCount i=63 i=78 i=2197 AddReferencesCount i=63 i=78 i=2197 DeleteNodesCount i=63 i=78 i=2197 DeleteReferencesCount i=63 i=78 i=2197 BrowseCount i=63 i=78 i=2197 BrowseNextCount i=63 i=78 i=2197 TranslateBrowsePathsToNodeIdsCount i=63 i=78 i=2197 QueryFirstCount i=63 i=78 i=2197 QueryNextCount i=63 i=78 i=2197 RegisterNodesCount i=63 i=78 i=2197 UnregisterNodesCount i=63 i=78 i=2197 SessionSecurityDiagnosticsArrayType i=12860 i=63 SessionSecurityDiagnostics i=12861 i=12862 i=12863 i=12864 i=12865 i=12866 i=12867 i=12868 i=12869 i=2244 i=83 i=2243 SessionId i=63 i=78 i=12860 ClientUserIdOfSession i=63 i=78 i=12860 ClientUserIdHistory i=63 i=78 i=12860 AuthenticationMechanism i=63 i=78 i=12860 Encoding i=63 i=78 i=12860 TransportProtocol i=63 i=78 i=12860 SecurityMode i=63 i=78 i=12860 SecurityPolicyUri i=63 i=78 i=12860 ClientCertificate i=63 i=78 i=12860 SessionSecurityDiagnosticsType i=2245 i=2246 i=2247 i=2248 i=2249 i=2250 i=2251 i=2252 i=3058 i=63 SessionId i=63 i=78 i=2244 ClientUserIdOfSession i=63 i=78 i=2244 ClientUserIdHistory i=63 i=78 i=2244 AuthenticationMechanism i=63 i=78 i=2244 Encoding i=63 i=78 i=2244 TransportProtocol i=63 i=78 i=2244 SecurityMode i=63 i=78 i=2244 SecurityPolicyUri i=63 i=78 i=2244 ClientCertificate i=63 i=78 i=2244 OptionSetType i=11488 i=11701 i=63 OptionSetValues i=68 i=78 i=11487 BitMask i=68 i=80 i=11487 EventTypes i=86 i=2041 i=61 Server i=2254 i=2255 i=2256 i=2267 i=2994 i=12885 i=2268 i=2274 i=2295 i=2296 i=11715 i=11492 i=12873 i=12749 i=12886 i=85 i=2004 ServerArray The list of server URIs used by the server. i=68 i=2253 NamespaceArray The list of namespace URIs used by the server. i=68 i=2253 ServerStatus The current status of the server. i=2257 i=2258 i=2259 i=2260 i=2992 i=2993 i=2138 i=2253 StartTime i=63 i=2256 CurrentTime i=63 i=2256 State i=63 i=2256 BuildInfo i=2262 i=2263 i=2261 i=2264 i=2265 i=2266 i=3051 i=2256 ProductUri i=63 i=2260 ManufacturerName i=63 i=2260 ProductName i=63 i=2260 SoftwareVersion i=63 i=2260 BuildNumber i=63 i=2260 BuildDate i=63 i=2260 SecondsTillShutdown i=63 i=2256 ShutdownReason i=63 i=2256 ServiceLevel A value indicating the level of service the server can provide. 255 indicates the best. i=68 i=2253 Auditing A flag indicating whether the server is currently generating audit events. i=68 i=2253 EstimatedReturnTime Indicates the time at which the Server is expected to be available in the state RUNNING. i=68 i=2253 ServerCapabilities Describes capabilities supported by the server. i=2269 i=2271 i=2272 i=2735 i=2736 i=2737 i=3704 i=11702 i=11703 i=12911 i=11704 i=2996 i=2997 i=2013 i=2253 ServerProfileArray A list of profiles supported by the server. i=68 i=2268 LocaleIdArray A list of locales supported by the server. i=68 i=2268 MinSupportedSampleRate The minimum sampling interval supported by the server. i=68 i=2268 MaxBrowseContinuationPoints The maximum number of continuation points for Browse operations per session. i=68 i=2268 MaxQueryContinuationPoints The maximum number of continuation points for Query operations per session. i=68 i=2268 MaxHistoryContinuationPoints The maximum number of continuation points for ReadHistory operations per session. i=68 i=2268 SoftwareCertificates The software certificates owned by the server. i=68 i=2268 MaxArrayLength The maximum length for an array value supported by the server. i=68 i=2268 MaxStringLength The maximum length for a string value supported by the server. i=68 i=2268 MaxByteStringLength The maximum length for a byte string value supported by the server. i=68 i=2268 OperationLimits Defines the limits supported by the server for different operations. i=11705 i=12165 i=12166 i=11707 i=12167 i=12168 i=11709 i=11710 i=11711 i=11712 i=11713 i=11714 i=11564 i=2268 MaxNodesPerRead The maximum number of operations in a single Read request. i=68 i=11704 MaxNodesPerHistoryReadData The maximum number of operations in a single data HistoryRead request. i=68 i=11704 MaxNodesPerHistoryReadEvents The maximum number of operations in a single event HistoryRead request. i=68 i=11704 MaxNodesPerWrite The maximum number of operations in a single Write request. i=68 i=11704 MaxNodesPerHistoryUpdateData The maximum number of operations in a single data HistoryUpdate request. i=68 i=11704 MaxNodesPerHistoryUpdateEvents The maximum number of operations in a single event HistoryUpdate request. i=68 i=11704 MaxNodesPerMethodCall The maximum number of operations in a single Call request. i=68 i=11704 MaxNodesPerBrowse The maximum number of operations in a single Browse request. i=68 i=11704 MaxNodesPerRegisterNodes The maximum number of operations in a single RegisterNodes request. i=68 i=11704 MaxNodesPerTranslateBrowsePathsToNodeIds The maximum number of operations in a single TranslateBrowsePathsToNodeIds request. i=68 i=11704 MaxNodesPerNodeManagement The maximum number of operations in a single AddNodes, AddReferences, DeleteNodes or DeleteReferences request. i=68 i=11704 MaxMonitoredItemsPerCall The maximum number of operations in a single MonitoredItem related request. i=68 i=11704 ModellingRules A folder for the modelling rules supported by the server. i=61 i=2268 AggregateFunctions A folder for the real time aggregates supported by the server. i=61 i=2268 ServerDiagnostics Reports diagnostics about the server. i=2275 i=2289 i=2290 i=3706 i=2294 i=2020 i=2253 ServerDiagnosticsSummary A summary of server level diagnostics. i=2276 i=2277 i=2278 i=2279 i=3705 i=2281 i=2282 i=2284 i=2285 i=2286 i=2287 i=2288 i=2150 i=2274 ServerViewCount i=63 i=2275 CurrentSessionCount i=63 i=2275 CumulatedSessionCount i=63 i=2275 SecurityRejectedSessionCount i=63 i=2275 RejectedSessionCount i=63 i=2275 SessionTimeoutCount i=63 i=2275 SessionAbortCount i=63 i=2275 PublishingIntervalCount i=63 i=2275 CurrentSubscriptionCount i=63 i=2275 CumulatedSubscriptionCount i=63 i=2275 SecurityRejectedRequestsCount i=63 i=2275 RejectedRequestsCount i=63 i=2275 SamplingIntervalDiagnosticsArray A list of diagnostics for each sampling interval supported by the server. i=2164 i=2274 SubscriptionDiagnosticsArray A list of diagnostics for each active subscription. i=2171 i=2274 SessionsDiagnosticsSummary A summary of session level diagnostics. i=3707 i=3708 i=2026 i=2274 SessionDiagnosticsArray A list of diagnostics for each active session. i=2196 i=3706 SessionSecurityDiagnosticsArray A list of security related diagnostics for each active session. i=2243 i=3706 EnabledFlag If TRUE the diagnostics collection is enabled. i=68 i=2274 VendorServerInfo Server information provided by the vendor. i=2033 i=2253 ServerRedundancy Describes the redundancy capabilities of the server. i=3709 i=11312 i=11313 i=11314 i=14415 i=2034 i=2253 RedundancySupport Indicates what style of redundancy is supported by the server. i=68 i=2296 CurrentServerId i=68 i=2296 RedundantServerArray i=68 i=2296 ServerUriArray i=68 i=2296 ServerNetworkGroups i=68 i=2296 Namespaces Describes the namespaces supported by the server. i=11645 i=2253 GetMonitoredItems i=11493 i=11494 i=2253 InputArguments i=68 i=11492 i=297 SubscriptionId i=7 -1 OutputArguments i=68 i=11492 i=297 ServerHandles i=7 1 i=297 ClientHandles i=7 1 ResendData i=12874 i=2253 InputArguments i=68 i=12873 i=297 SubscriptionId i=7 -1 SetSubscriptionDurable i=12750 i=12751 i=2253 InputArguments i=68 i=12749 i=297 SubscriptionId i=7 -1 i=297 LifetimeInHours i=7 -1 OutputArguments i=68 i=12749 i=297 RevisedLifetimeInHours i=7 -1 RequestServerStateChange i=12887 i=2253 InputArguments i=68 i=12886 i=297 State i=852 -1 i=297 EstimatedReturnTime i=13 -1 i=297 SecondsTillShutdown i=7 -1 i=297 Reason i=21 -1 i=297 Restart i=1 -1 BitFieldMaskDataType A mask of 32 bits that can be updated individually by using the top 32 bits as a mask. i=9 StateMachineType i=2769 i=2770 i=58 CurrentState i=3720 i=2755 i=78 i=2299 Id i=68 i=78 i=2769 LastTransition i=3724 i=2762 i=80 i=2299 Id i=68 i=78 i=2770 StateVariableType i=2756 i=2757 i=2758 i=2759 i=63 Id i=68 i=78 i=2755 Name i=68 i=80 i=2755 Number i=68 i=80 i=2755 EffectiveDisplayName i=68 i=80 i=2755 TransitionVariableType i=2763 i=2764 i=2765 i=2766 i=11456 i=63 Id i=68 i=78 i=2762 Name i=68 i=80 i=2762 Number i=68 i=80 i=2762 TransitionTime i=68 i=80 i=2762 EffectiveTransitionTime i=68 i=80 i=2762 FiniteStateMachineType i=2772 i=2773 i=2299 CurrentState i=3728 i=2760 i=78 i=2771 Id i=68 i=78 i=2772 LastTransition i=3732 i=2767 i=80 i=2771 Id i=68 i=78 i=2773 FiniteStateVariableType i=2761 i=2755 Id i=68 i=78 i=2760 FiniteTransitionVariableType i=2768 i=2762 Id i=68 i=78 i=2767 StateType i=2308 i=58 StateNumber i=68 i=78 i=2307 InitialStateType i=2307 TransitionType i=2312 i=58 TransitionNumber i=68 i=78 i=2310 TransitionEventType i=2774 i=2775 i=2776 i=2041 Transition i=3754 i=2762 i=78 i=2311 Id i=68 i=78 i=2774 FromState i=3746 i=2755 i=78 i=2311 Id i=68 i=78 i=2775 ToState i=3750 i=2755 i=78 i=2311 Id i=68 i=78 i=2776 AuditUpdateStateEventType i=2777 i=2778 i=2127 OldStateId i=68 i=78 i=2315 NewStateId i=68 i=78 i=2315 BuildInfo i=22 RedundancySupport i=7611 i=29 EnumStrings i=68 i=78 i=851 None Cold Warm Hot Transparent HotAndMirrored ServerState i=7612 i=29 EnumStrings i=68 i=78 i=852 Running Failed NoConfiguration Suspended Shutdown Test CommunicationFault Unknown RedundantServerDataType i=22 EndpointUrlListDataType i=22 NetworkGroupDataType i=22 SamplingIntervalDiagnosticsDataType i=22 ServerDiagnosticsSummaryDataType i=22 ServerStatusDataType i=22 SessionDiagnosticsDataType i=22 SessionSecurityDiagnosticsDataType i=22 ServiceCounterDataType i=22 StatusResult i=22 SubscriptionDiagnosticsDataType i=22 ModelChangeStructureDataType i=22 SemanticChangeStructureDataType i=22 Default XML i=338 i=8327 i=76 Default XML i=853 i=8843 i=76 Default XML i=11943 i=11951 i=76 Default XML i=11944 i=11954 i=76 Default XML i=856 i=8846 i=76 Default XML i=859 i=8849 i=76 Default XML i=862 i=8852 i=76 Default XML i=865 i=8855 i=76 Default XML i=868 i=8858 i=76 Default XML i=871 i=8861 i=76 Default XML i=299 i=8294 i=76 Default XML i=874 i=8864 i=76 Default XML i=877 i=8867 i=76 Default XML i=897 i=8870 i=76 Opc.Ua i=8254 i=12677 i=8285 i=8291 i=12759 i=12762 i=8918 i=8300 i=12201 i=8297 i=8303 i=8417 i=12894 i=12897 i=8333 i=8306 i=8309 i=8312 i=8315 i=12506 i=8318 i=8363 i=8366 i=8369 i=8372 i=12712 i=12715 i=8321 i=8324 i=8330 i=8564 i=8567 i=8570 i=8573 i=8576 i=8579 i=8582 i=8639 i=8702 i=8708 i=8711 i=8807 i=8327 i=8843 i=11951 i=11954 i=8846 i=8849 i=8852 i=8855 i=8858 i=8861 i=8294 i=8864 i=8867 i=8870 i=8873 i=8876 i=12175 i=12178 i=12083 i=12086 i=8882 i=8879 i=92 i=72 PHhzOnNjaGVtYQ0KICB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEi DQogIHhtbG5zOnVhPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvMjAwOC8wMi9UeXBlcy54 c2QiDQogIHhtbG5zOnRucz0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VBLzIwMDgvMDIvVHlw ZXMueHNkIg0KICB0YXJnZXROYW1lc3BhY2U9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9VQS8y MDA4LzAyL1R5cGVzLnhzZCINCiAgZWxlbWVudEZvcm1EZWZhdWx0PSJxdWFsaWZpZWQiDQo+DQog IDx4czplbGVtZW50IG5hbWU9IkJvb2xlYW4iIG5pbGxhYmxlPSJ0cnVlIiB0eXBlPSJ4czpib29s ZWFuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZCb29sZWFuIj4NCiAgICA8 eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCb29sZWFuIiB0eXBlPSJ4czpi b29sZWFuIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6 c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RP ZkJvb2xlYW4iIHR5cGU9InRuczpMaXN0T2ZCb29sZWFuIiBuaWxsYWJsZT0idHJ1ZSI+PC94czpl bGVtZW50Pg0KDQogIDx4czplbGVtZW50IG5hbWU9IlNCeXRlIiBuaWxsYWJsZT0idHJ1ZSIgdHlw ZT0ieHM6Ynl0ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU0J5dGUiPg0K ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNCeXRlIiB0eXBlPSJ4 czpieXRlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6 c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RP ZlNCeXRlIiB0eXBlPSJ0bnM6TGlzdE9mU0J5dGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1l bnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnl0ZSIgbmlsbGFibGU9InRydWUiIHR5cGU9Inhz OnVuc2lnbmVkQnl0ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnl0ZSI+ DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnl0ZSIgdHlwZT0i eHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0K ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h bWU9Ikxpc3RPZkJ5dGUiIHR5cGU9InRuczpMaXN0T2ZCeXRlIiBuaWxsYWJsZT0idHJ1ZSI+PC94 czplbGVtZW50Pg0KDQogIDx4czplbGVtZW50IG5hbWU9IkludDE2IiBuaWxsYWJsZT0idHJ1ZSIg dHlwZT0ieHM6c2hvcnQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkludDE2 Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbnQxNiIgdHlw ZT0ieHM6c2hvcnQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAg PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i TGlzdE9mSW50MTYiIHR5cGU9InRuczpMaXN0T2ZJbnQxNiIgbmlsbGFibGU9InRydWUiPjwveHM6 ZWxlbWVudD4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVSW50MTYiIG5pbGxhYmxlPSJ0cnVlIiB0 eXBlPSJ4czp1bnNpZ25lZFNob3J0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0 T2ZVSW50MTYiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVJ bnQxNiIgdHlwZT0ieHM6dW5zaWduZWRTaG9ydCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu Ym91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZVSW50MTYiIHR5cGU9InRuczpMaXN0T2ZVSW50MTYiIG5p bGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iSW50MzIi IG5pbGxhYmxlPSJ0cnVlIiB0eXBlPSJ4czppbnQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h bWU9Ikxpc3RPZkludDMyIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu YW1lPSJJbnQzMiIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3Vu ZGVkIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl bGVtZW50IG5hbWU9Ikxpc3RPZkludDMyIiB0eXBlPSJ0bnM6TGlzdE9mSW50MzIiIG5pbGxhYmxl PSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iVUludDMyIiBuaWxs YWJsZT0idHJ1ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl IG5hbWU9Ikxpc3RPZlVJbnQzMiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l bnQgbmFtZT0iVUludDMyIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiBtYXhP Y2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZVSW50MzIiIHR5cGU9InRuczpMaXN0T2ZV SW50MzIiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFt ZT0iSW50NjQiIG5pbGxhYmxlPSJ0cnVlIiB0eXBlPSJ4czpsb25nIiAvPg0KDQogIDx4czpjb21w bGV4VHlwZSBuYW1lPSJMaXN0T2ZJbnQ2NCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz OmVsZW1lbnQgbmFtZT0iSW50NjQiIHR5cGU9InhzOmxvbmciIG1pbk9jY3Vycz0iMCIgbWF4T2Nj dXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mSW50NjQiIHR5cGU9InRuczpMaXN0T2ZJbnQ2 NCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJV SW50NjQiIG5pbGxhYmxlPSJ0cnVlIiB0eXBlPSJ4czp1bnNpZ25lZExvbmciIC8+DQoNCiAgPHhz OmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlVJbnQ2NCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg ICAgPHhzOmVsZW1lbnQgbmFtZT0iVUludDY0IiB0eXBlPSJ4czp1bnNpZ25lZExvbmciIG1pbk9j Y3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mVUludDY0IiB0eXBl PSJ0bnM6TGlzdE9mVUludDY0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4 czplbGVtZW50IG5hbWU9IkZsb2F0IiBuaWxsYWJsZT0idHJ1ZSIgdHlwZT0ieHM6ZmxvYXQiIC8+ DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkZsb2F0Ij4NCiAgICA8eHM6c2VxdWVu Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGbG9hdCIgdHlwZT0ieHM6ZmxvYXQiIG1pbk9j Y3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRmxvYXQiIHR5cGU9 InRuczpMaXN0T2ZGbG9hdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6 ZWxlbWVudCBuYW1lPSJEb3VibGUiIG5pbGxhYmxlPSJ0cnVlIiB0eXBlPSJ4czpkb3VibGUiIC8+ DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkRvdWJsZSI+DQogICAgPHhzOnNlcXVl bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRG91YmxlIiB0eXBlPSJ4czpkb3VibGUiIG1p bk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRG91YmxlIiB0 eXBlPSJ0bnM6TGlzdE9mRG91YmxlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQog IDx4czplbGVtZW50IG5hbWU9IlN0cmluZyIgbmlsbGFibGU9InRydWUiIHR5cGU9InhzOnN0cmlu ZyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU3RyaW5nIj4NCiAgICA8eHM6 c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdHJpbmciIHR5cGU9InhzOnN0cmlu ZyIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVl bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTdHJp bmciIHR5cGU9InRuczpMaXN0T2ZTdHJpbmciIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+ DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0ZVRpbWUiIG5pbGxhYmxlPSJ0cnVlIiB0eXBlPSJ4 czpkYXRlVGltZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGF0ZVRpbWUi Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGVUaW1lIiB0 eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4N CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu YW1lPSJMaXN0T2ZEYXRlVGltZSIgdHlwZT0idG5zOkxpc3RPZkRhdGVUaW1lIiBuaWxsYWJsZT0i dHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJHdWlkIj4NCiAg ICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czphcHBpbmZvPg0KICAgICAgICA8SXNWYWx1ZVR5 cGUgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vMjAwMy8xMC9TZXJpYWxpemF0 aW9uLyI+dHJ1ZTwvSXNWYWx1ZVR5cGU+DQogICAgICA8L3hzOmFwcGluZm8+DQogICAgPC94czph bm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0 cmluZyIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0iMSIgbmlsbGFi bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg PHhzOmVsZW1lbnQgbmFtZT0iR3VpZCIgdHlwZT0idG5zOkd1aWQiIG5pbGxhYmxlPSJ0cnVlIj48 L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkd1aWQiPg0KICAg IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikd1aWQiIHR5cGU9InRuczpH dWlkIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6c2Vx dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkd1 aWQiIHR5cGU9InRuczpMaXN0T2ZHdWlkIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K DQogIDx4czplbGVtZW50IG5hbWU9IkJ5dGVTdHJpbmciIG5pbGxhYmxlPSJ0cnVlIiB0eXBlPSJ4 czpiYXNlNjRCaW5hcnkiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkJ5dGVT dHJpbmciPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJ5dGVT dHJpbmciIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu Ym91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQnl0ZVN0cmluZyIgdHlwZT0i dG5zOkxpc3RPZkJ5dGVTdHJpbmciIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlhtbEVsZW1lbnQiPg0KICAgIDx4czpzZXF1ZW5j ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlhtbEVsZW1lbnQiIG1pbk9jY3Vycz0iMCIgbWF4 T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIj4NCiAgICAgICAgPHhzOmNvbXBsZXhU eXBlPg0KICAgICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICAgIDx4czphbnkgbWluT2Nj dXJzPSIwIiBwcm9jZXNzQ29udGVudHM9ImxheCIvPg0KICAgICAgICAgIDwveHM6c2VxdWVuY2U+ DQogICAgICAgIDwveHM6Y29tcGxleFR5cGU+DQogICAgICA8L3hzOmVsZW1lbnQ+DQogICAgPC94 czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlz dE9mWG1sRWxlbWVudCIgdHlwZT0idG5zOkxpc3RPZlhtbEVsZW1lbnQiIG5pbGxhYmxlPSJ0cnVl Ij48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik5vZGVJZCI+DQogICAg PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSWRlbnRpZmllciIgdHlwZT0i eHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0iMSIgbmlsbGFibGU9InRydWUiIC8+ DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg bmFtZT0iTm9kZUlkIiB0eXBlPSJ0bnM6Tm9kZUlkIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVt ZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZOb2RlSWQiPg0KICAgIDx4czpz ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0idG5zOk5vZGVJ ZCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+ DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg bmFtZT0iTGlzdE9mTm9kZUlkIiB0eXBlPSJ0bnM6TGlzdE9mTm9kZUlkIiBuaWxsYWJsZT0idHJ1 ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFeHBhbmRlZE5vZGVJ ZCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSWRlbnRpZmll ciIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0iMSIgbmlsbGFibGU9 InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz OmVsZW1lbnQgbmFtZT0iRXhwYW5kZWROb2RlSWQiIHR5cGU9InRuczpFeHBhbmRlZE5vZGVJZCIg bmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i TGlzdE9mRXhwYW5kZWROb2RlSWQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt ZW50IG5hbWU9IkV4cGFuZGVkTm9kZUlkIiB0eXBlPSJ0bnM6RXhwYW5kZWROb2RlSWQiIG1pbk9j Y3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxp c3RPZkV4cGFuZGVkTm9kZUlkIiB0eXBlPSJ0bnM6TGlzdE9mRXhwYW5kZWROb2RlSWQiIG5pbGxh YmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlN0YXR1 c0NvZGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmFwcGluZm8+DQogICAgICAg IDxJc1ZhbHVlVHlwZSB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS8yMDAzLzEw L1NlcmlhbGl6YXRpb24vIj50cnVlPC9Jc1ZhbHVlVHlwZT4NCiAgICAgIDwveHM6YXBwaW5mbz4N CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l bnQgbmFtZT0iQ29kZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l PSJTdGF0dXNDb2RlIiB0eXBlPSJ0bnM6U3RhdHVzQ29kZSIgbmlsbGFibGU9InRydWUiPjwveHM6 ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU3RhdHVzQ29kZSI+DQog ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlw ZT0idG5zOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+ DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg bmFtZT0iTGlzdE9mU3RhdHVzQ29kZSIgdHlwZT0idG5zOkxpc3RPZlN0YXR1c0NvZGUiIG5pbGxh YmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRpYWdu b3N0aWNJbmZvIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJT eW1ib2xpY0lkIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt ZW50IG5hbWU9Ik5hbWVzcGFjZVVyaSIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQog ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMb2NhbGUiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIw IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxpemVkVGV4dCIgdHlwZT0ieHM6aW50 IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRpdGlvbmFsSW5m byIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu YW1lPSJJbm5lclN0YXR1c0NvZGUiIHR5cGU9InRuczpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAi IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbm5lckRpYWdub3N0aWNJbmZvIiB0eXBlPSJ0 bnM6RGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mbyIg dHlwZT0idG5zOkRpYWdub3N0aWNJbmZvIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZEaWFnbm9zdGljSW5mbyI+DQogICAgPHhz OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm8iIHR5cGU9 InRuczpEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIg bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRGlhZ25vc3RpY0luZm8iIHR5cGU9InRuczpM aXN0T2ZEaWFnbm9zdGljSW5mbyIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8 eHM6Y29tcGxleFR5cGUgbmFtZT0iTG9jYWxpemVkVGV4dCI+DQogICAgPHhzOnNlcXVlbmNlPg0K ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vy cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUZXh0IiB0 eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxv Y2FsaXplZFRleHQiIHR5cGU9InRuczpMb2NhbGl6ZWRUZXh0IiBuaWxsYWJsZT0idHJ1ZSIgLz4N Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTG9jYWxpemVkVGV4dCI+DQogICAgPHhz OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxpemVkVGV4dCIgdHlwZT0i dG5zOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5p bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkxvY2FsaXplZFRleHQiIHR5cGU9InRuczpMaXN0 T2ZMb2NhbGl6ZWRUZXh0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpj b21wbGV4VHlwZSBuYW1lPSJRdWFsaWZpZWROYW1lIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg ICA8eHM6ZWxlbWVudCBuYW1lPSJOYW1lc3BhY2VJbmRleCIgdHlwZT0ieHM6dW5zaWduZWRTaG9y dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFtZSIgdHlwZT0i eHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlF1YWxpZmll ZE5hbWUiIHR5cGU9InRuczpRdWFsaWZpZWROYW1lIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCg0KICA8 eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUXVhbGlmaWVkTmFtZSI+DQogICAgPHhzOnNlcXVl bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVhbGlmaWVkTmFtZSIgdHlwZT0idG5zOlF1 YWxpZmllZE5hbWUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxl PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 czplbGVtZW50IG5hbWU9Ikxpc3RPZlF1YWxpZmllZE5hbWUiIHR5cGU9InRuczpMaXN0T2ZRdWFs aWZpZWROYW1lIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDwhLS0NCiAgICBT b21lIGVudmlyb25tZW50cyByZXF1aXJlIGEgV1NETC9YU0Qgd2hpY2ggZXhwbGljaXRseSBkZWZp bmVzIGFsbCBwb3NzaWJsZSB0eXBlcy4NCiAgICBUaGUgVUEgV1NETC9YU0QgY2FuIGJlIG1vZGlm aWVkIHRvIHN1cHBvcnQgdGhlc2UgZW52aXJvbm1lbnRzIGJ5IHJlcGxhY2luZyB0aGUNCiAgICBk ZWZpbml0aW9ucyBvZiB0aGUgRXh0ZW5zaW9uT2JqZWN0Qm9keSBhbmQgVmFyaWFudFZhbHVlIGNv bXBsZXggdHlwZXMgd2l0aCB0aGUNCiAgICBkZWZpbml0aW9ucyBpbiB0aGUgY29tbWVudHMgc2hv d24gaGVyZS4gRGV2ZWxvcGVycyB3b3VsZCB0aGVuIGRlZmluZSBzdWJ0eXBlcw0KICAgIG9mIHRo ZSBFeHRlbnNpb25PYmplY3RCb2R5IHR5cGUgd2hpY2ggZXhwbGljaXRseSBkZWNsYXJlIGEgY2hv aWNlIGJldHdlZW4gYWxsIG9mIHRoZQ0KICAgIGNvbXBsZXggdHlwZXMgdXNlZCBieSB0aGUgc3lz dGVtLiBUaGUgRXhhbXBsZUV4dGVuc2lvbk9iamVjdEJvZHkgc3VidHlwZSBpcyBwcm92aWRlcw0K ICAgIGEgdGVtcGxhdGUgYmFzZWQgb24gYSBmZXcgY29tbW9uIFVBLWRlZmluZWQgY29tcGxleCB0 eXBlcy4NCiAgICAtLT4NCg0KICA8IS0tDQogICAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkV4dGVu c2lvbk9iamVjdEJvZHkiIC8+DQoNCiAgICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRXhhbXBsZUV4 dGVuc2lvbk9iamVjdEJvZHkiPg0KICAgICAgPHhzOmNvbXBsZXhDb250ZW50Pg0KICAgICAgICA8 eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpFeHRlbnNpb25PYmplY3RCb2R5Ij4NCiAgICAgICAgICA8 eHM6Y2hvaWNlPg0KICAgICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXJndW1lbnQiIHR5cGU9 InRuczpBcmd1bWVudCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAg ICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJJZGVudGl0eVRva2VuIiB0eXBlPSJ0bnM6VXNlcklk ZW50aXR5VG9rZW4iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAg ICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyTmFtZUlkZW50aXR5VG9rZW4iIHR5cGU9InRuczpVc2Vy TmFtZUlkZW50aXR5VG9rZW4iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg ICAgICAgPC94czpjaG9pY2U+DQogICAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgICAgPC94czpj b21wbGV4Q29udGVudD4NCiAgICA8L3hzOmNvbXBsZXhUeXBlPg0KDQogICAgPHhzOmNvbXBsZXhU eXBlIG5hbWU9IkV4dGVuc2lvbk9iamVjdCI+DQogICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAg IDx4czplbGVtZW50IG5hbWU9IlR5cGVJZCIgdHlwZT0idG5zOkV4cGFuZGVkTm9kZUlkIiBtaW5P Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJC b2R5IiBtaW5PY2N1cnM9IjAiIHR5cGU9InRuczpFeHRlbnNpb25PYmplY3RCb2R5IiBuaWxsYWJs ZT0idHJ1ZSIgLz4NCiAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgPC94czpjb21wbGV4VHlwZT4N CiAgICA8eHM6ZWxlbWVudCBuYW1lPSJFeHRlbnNpb25PYmplY3QiIHR5cGU9InRuczpFeHRlbnNp b25PYmplY3QiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIC0tPg0KDQogIDx4czpjb21wbGV4VHlw ZSBuYW1lPSJFeHRlbnNpb25PYmplY3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl bGVtZW50IG5hbWU9IlR5cGVJZCIgdHlwZT0idG5zOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxs YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJvZHkiIG1pbk9jY3Vycz0i MCIgbmlsbGFibGU9InRydWUiPg0KICAgICAgICA8eHM6Y29tcGxleFR5cGU+DQogICAgICAgICAg PHhzOnNlcXVlbmNlPg0KICAgICAgICAgICAgPHhzOmFueSBtaW5PY2N1cnM9IjAiIHByb2Nlc3ND b250ZW50cz0ibGF4Ii8+DQogICAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgICAgPC94czpj b21wbGV4VHlwZT4NCiAgICAgIDwveHM6ZWxlbWVudD4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFeHRlbnNpb25PYmplY3QiIHR5 cGU9InRuczpFeHRlbnNpb25PYmplY3QiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KDQogIDx4czpjb21w bGV4VHlwZSBuYW1lPSJMaXN0T2ZFeHRlbnNpb25PYmplY3QiPg0KICAgIDx4czpzZXF1ZW5jZT4N CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkV4dGVuc2lvbk9iamVjdCIgdHlwZT0idG5zOkV4dGVu c2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9 InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz OmVsZW1lbnQgbmFtZT0iTGlzdE9mRXh0ZW5zaW9uT2JqZWN0IiB0eXBlPSJ0bnM6TGlzdE9mRXh0 ZW5zaW9uT2JqZWN0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDwhLS0NCiAg ICBTb21lIFdTREwvWE1MIGNvbXBpbGVycyBoYXZlIGlzc3VlcyB3aXRoIHRoZSB4czpjaG9pY2Ug Y29uc3RydWN0LiBGb3IgdGhhdCByZWFzb24NCiAgICB0aGUgZGVmYXVsdCBkZWNsYXJhdGlvbiBv ZiBhIFZhcmlhbnQgdXNlcyB4czphbnkgY29uc3RydWN0LiBUaGUgc2NoZW1hIGFjdXR1YWxseQ0K ICAgIGRlZmluZWQgYnkgdGhlIHNwZWNpZmljYXRpb24gaXMgcHJvdmlkZWQgYnkgdGhlIE1hdHJp eCBhbmQgVmFyaWFudFZhbHVlIGNvbXBsZXggdHlwZXMNCiAgICBzaG93biBpbiBjb21tZW50cyBi ZWxvdy4gQXBwbGljYXRpb24gZGV2ZWxvcGVycyBjYW4gcmVwbGFjZSB0aGUgVmFyaWFudFZhbHVl IGRlY2xhcmF0aW9uDQogICAgd2l0aCB0aGUgc3BlY2lmaWMgZGVjbGFyYXRpb24gaWYgdGhleSBo YXZlIGEgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQgdGhhdCBjYW4gaGFuZGxlDQogICAgdGhlIHhz OmNob2ljZSBjb25zdHJ1Y3QgaW4gYSByZWFzb25hYmxlIHdheS4NCiAgICAtLT4NCg0KICA8IS0t DQogICAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1hdHJpeCI+DQogICAgICA8eHM6c2VxdWVuY2U+ DQogICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpbWVuc2lvbnMiIHR5cGU9InRuczpMaXN0T2ZV SW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDx4czplbGVt ZW50IG5hbWU9IlZhbHVlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIj4NCiAgICAgICAg ICA8eHM6Y29tcGxleFR5cGUgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgICAgICAgIDx4czpjaG9pY2Ug bWF4T2NjdXJzPSJ1bmJvdW5kZWQiPg0KICAgICAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJC b29sZWFuIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgICAg IDx4czplbGVtZW50IG5hbWU9IlNCeXRlIiB0eXBlPSJ4czpieXRlIiBtaW5PY2N1cnM9IjAiIC8+ DQogICAgICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkJ5dGUiIHR5cGU9InhzOnVuc2lnbmVk Qnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJ bnQxNiIgdHlwZT0ieHM6c2hvcnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICAgICAgPHhz OmVsZW1lbnQgbmFtZT0iVUludDE2IiB0eXBlPSJ4czp1bnNpZ25lZFNob3J0IiBtaW5PY2N1cnM9 IjAiIC8+DQogICAgICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkludDMyIiB0eXBlPSJ4czpp bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVUlu dDMyIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgICAg ICA8eHM6ZWxlbWVudCBuYW1lPSJJbnQ2NCIgdHlwZT0ieHM6bG9uZyIgbWluT2NjdXJzPSIwIiAv Pg0KICAgICAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVSW50NjQiIHR5cGU9InhzOnVuc2ln bmVkTG9uZyIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l PSJGbG9hdCIgdHlwZT0ieHM6ZmxvYXQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICAgICAg PHhzOmVsZW1lbnQgbmFtZT0iRG91YmxlIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIg Lz4NCiAgICAgICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RyaW5nIiB0eXBlPSJ4czpzdHJp bmciIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0 ZVRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgICAg IDx4czplbGVtZW50IG5hbWU9Ikd1aWQiIHR5cGU9InRuczpHdWlkIiBtaW5PY2N1cnM9IjAiIC8+ DQogICAgICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkJ5dGVTdHJpbmciIHR5cGU9InhzOmJh c2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgICAgICA8eHM6ZWxlbWVudCBu YW1lPSJYbWxFbGVtZW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIj4NCiAgICAgICAg ICAgICAgICA8eHM6Y29tcGxleFR5cGU+DQogICAgICAgICAgICAgICAgICA8eHM6c2VxdWVuY2U+ DQogICAgICAgICAgICAgICAgICAgIDx4czphbnkgbWluT2NjdXJzPSIwIiBwcm9jZXNzQ29udGVu dHM9ImxheCIgLz4NCiAgICAgICAgICAgICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICAgICAg ICAgICAgPC94czpjb21wbGV4VHlwZT4NCiAgICAgICAgICAgICAgPC94czplbGVtZW50Pg0KICAg ICAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ0bnM6U3RhdHVz Q29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJO b2RlSWQiIHR5cGU9InRuczpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICAgICAg PHhzOmVsZW1lbnQgbmFtZT0iRXhwYW5kZWROb2RlSWQiIHR5cGU9InRuczpFeHBhbmRlZE5vZGVJ ZCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJRdWFs aWZpZWROYW1lIiB0eXBlPSJ0bnM6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg ICAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMb2NhbGl6ZWRUZXh0IiB0eXBlPSJ0bnM6TG9j YWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgICAgICA8eHM6ZWxlbWVudCBu YW1lPSJFeHRlbnNpb25PYmplY3QiIHR5cGU9InRuczpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vy cz0iMCIgLz4NCiAgICAgICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFyaWFudCIgdHlwZT0i dG5zOlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICAgIDwveHM6Y2hvaWNlPg0K ICAgICAgICAgIDwveHM6Y29tcGxleFR5cGU+DQogICAgICAgIDwveHM6ZWxlbWVudD4NCiAgICAg IDwveHM6c2VxdWVuY2U+DQogICAgPC94czpjb21wbGV4VHlwZT4NCiAgICA8eHM6ZWxlbWVudCBu YW1lPSJNYXRyaXgiIHR5cGU9InRuczpNYXRyaXgiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KDQogICAg PHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhbnRWYWx1ZSI+DQogICAgICA8eHM6Y2hvaWNlPg0K ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCb29sZWFuIiB0eXBlPSJ4czpib29sZWFuIiBtaW5P Y2N1cnM9IjAiIC8+DQogICAgICAgIDx4czplbGVtZW50IG5hbWU9IlNCeXRlIiB0eXBlPSJ4czpi eXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDx4czplbGVtZW50IG5hbWU9IkJ5dGUiIHR5 cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVu dCBuYW1lPSJJbnQxNiIgdHlwZT0ieHM6c2hvcnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg PHhzOmVsZW1lbnQgbmFtZT0iVUludDE2IiB0eXBlPSJ4czp1bnNpZ25lZFNob3J0IiBtaW5PY2N1 cnM9IjAiIC8+DQogICAgICAgIDx4czplbGVtZW50IG5hbWU9IkludDMyIiB0eXBlPSJ4czppbnQi IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVUludDMyIiB0eXBl PSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBu YW1lPSJJbnQ2NCIgdHlwZT0ieHM6bG9uZyIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6 ZWxlbWVudCBuYW1lPSJVSW50NjQiIHR5cGU9InhzOnVuc2lnbmVkTG9uZyIgbWluT2NjdXJzPSIw IiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGbG9hdCIgdHlwZT0ieHM6ZmxvYXQiIG1p bk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRG91YmxlIiB0eXBlPSJ4 czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Ry aW5nIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPHhzOmVsZW1l bnQgbmFtZT0iRGF0ZVRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQog ICAgICAgIDx4czplbGVtZW50IG5hbWU9Ikd1aWQiIHR5cGU9InRuczpHdWlkIiBtaW5PY2N1cnM9 IjAiIC8+DQogICAgICAgIDx4czplbGVtZW50IG5hbWU9IkJ5dGVTdHJpbmciIHR5cGU9InhzOmJh c2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJY bWxFbGVtZW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIj4NCiAgICAgICAgICA8eHM6 Y29tcGxleFR5cGU+DQogICAgICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgICAgIDx4 czphbnkgbWluT2NjdXJzPSIwIiBwcm9jZXNzQ29udGVudHM9ImxheCIgLz4NCiAgICAgICAgICAg IDwveHM6c2VxdWVuY2U+DQogICAgICAgICAgPC94czpjb21wbGV4VHlwZT4NCiAgICAgICAgPC94 czplbGVtZW50Pg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ0 bnM6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1l PSJOb2RlSWQiIHR5cGU9InRuczpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPHhz OmVsZW1lbnQgbmFtZT0iRXhwYW5kZWROb2RlSWQiIHR5cGU9InRuczpFeHBhbmRlZE5vZGVJZCIg bWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJRdWFsaWZpZWROYW1l IiB0eXBlPSJ0bnM6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6 ZWxlbWVudCBuYW1lPSJMb2NhbGl6ZWRUZXh0IiB0eXBlPSJ0bnM6TG9jYWxpemVkVGV4dCIgbWlu T2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFeHRlbnNpb25PYmplY3Qi IHR5cGU9InRuczpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPHhz OmVsZW1lbnQgbmFtZT0iTGlzdE9mQm9vbGVhbiIgdHlwZT0idG5zOkxpc3RPZkJvb2xlYW4iIG1p bk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU0J5dGUiIHR5 cGU9InRuczpMaXN0T2ZTQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVu dCBuYW1lPSJMaXN0T2ZCeXRlIiB0eXBlPSJ0bnM6TGlzdE9mQnl0ZSIgbWluT2NjdXJzPSIwIiAv Pg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZJbnQxNiIgdHlwZT0idG5zOkxpc3RP ZkludDE2IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxpc3RP ZlVJbnQxNiIgdHlwZT0idG5zOkxpc3RPZlVJbnQxNiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg ICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZJbnQzMiIgdHlwZT0idG5zOkxpc3RPZkludDMyIiBt aW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlVJbnQzMiIg dHlwZT0idG5zOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxl bWVudCBuYW1lPSJMaXN0T2ZJbnQ2NCIgdHlwZT0idG5zOkxpc3RPZkludDY0IiBtaW5PY2N1cnM9 IjAiIC8+DQogICAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlVJbnQ2NCIgdHlwZT0idG5z Okxpc3RPZlVJbnQ2NCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1l PSJMaXN0T2ZGbG9hdCIgdHlwZT0idG5zOkxpc3RPZkZsb2F0IiBtaW5PY2N1cnM9IjAiIC8+DQog ICAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRvdWJsZSIgdHlwZT0idG5zOkxpc3RPZkRv dWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZT dHJpbmciIHR5cGU9InRuczpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRGF0ZVRpbWUiIHR5cGU9InRuczpMaXN0T2ZEYXRlVGlt ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZHdWlk IiB0eXBlPSJ0bnM6TGlzdE9mR3VpZCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxl bWVudCBuYW1lPSJMaXN0T2ZCeXRlU3RyaW5nIiB0eXBlPSJ0bnM6TGlzdE9mQnl0ZVN0cmluZyIg bWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZYbWxFbGVt ZW50IiB0eXBlPSJ0bnM6TGlzdE9mWG1sRWxlbWVudCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg ICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTdGF0dXNDb2RlIiB0eXBlPSJ0bnM6TGlzdE9mU3Rh dHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0 T2ZOb2RlSWQiIHR5cGU9InRuczpMaXN0T2ZOb2RlSWQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg ICAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRXhwYW5kZWROb2RlSWQiIHR5cGU9InRuczpMaXN0 T2ZFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBu YW1lPSJMaXN0T2ZRdWFsaWZpZWROYW1lIiB0eXBlPSJ0bnM6TGlzdE9mUXVhbGlmaWVkTmFtZSIg bWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZMb2NhbGl6 ZWRUZXh0IiB0eXBlPSJ0bnM6TGlzdE9mTG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiAvPg0K ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFeHRlbnNpb25PYmplY3QiIHR5cGU9InRu czpMaXN0T2ZFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPHhzOmVs ZW1lbnQgbmFtZT0iTGlzdE9mVmFyaWFudCIgdHlwZT0idG5zOkxpc3RPZlZhcmlhbnQiIG1pbk9j Y3Vycz0iMCIgLz4NCiAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF0cml4IiB0eXBlPSJ0bnM6 TWF0cml4IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8L3hzOmNob2ljZT4NCiAgICA8L3hzOmNv bXBsZXhUeXBlPg0KDQogICAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhbnQiPg0KICAgICAg PHhzOnNlcXVlbmNlPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0idG5z OlZhcmlhbnRWYWx1ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDwv eHM6c2VxdWVuY2U+DQogICAgPC94czpjb21wbGV4VHlwZT4NCiAgICA8eHM6ZWxlbWVudCBuYW1l PSJWYXJpYW50IiB0eXBlPSJ0bnM6VmFyaWFudCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgLS0+ DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhbnQiPg0KICAgIDx4czphbm5vdGF0aW9u Pg0KICAgICAgPHhzOmFwcGluZm8+DQogICAgICAgIDxJc1ZhbHVlVHlwZSB4bWxucz0iaHR0cDov L3NjaGVtYXMubWljcm9zb2Z0LmNvbS8yMDAzLzEwL1NlcmlhbGl6YXRpb24vIj50cnVlPC9Jc1Zh bHVlVHlwZT4NCiAgICAgIDwveHM6YXBwaW5mbz4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAg PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUiIG1pbk9jY3Vycz0i MCIgbmlsbGFibGU9InRydWUiPg0KICAgICAgICA8eHM6Y29tcGxleFR5cGU+DQogICAgICAgICAg PHhzOnNlcXVlbmNlPg0KICAgICAgICAgICAgPHhzOmFueSBtaW5PY2N1cnM9IjAiIHByb2Nlc3ND b250ZW50cz0ibGF4IiAvPg0KICAgICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICAgIDwveHM6 Y29tcGxleFR5cGU+DQogICAgICA8L3hzOmVsZW1lbnQ+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVmFyaWFudCIgdHlwZT0idG5z OlZhcmlhbnQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJM aXN0T2ZWYXJpYW50Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l PSJWYXJpYW50IiB0eXBlPSJ0bnM6VmFyaWFudCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu Ym91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZWYXJpYW50IiB0eXBlPSJ0bnM6TGlzdE9mVmFyaWFudCIg bmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i RGF0YVZhbHVlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJW YWx1ZSIgdHlwZT0idG5zOlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt ZW50IG5hbWU9IlN0YXR1c0NvZGUiIHR5cGU9InRuczpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAi IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTb3VyY2VUaW1lc3RhbXAiIHR5cGU9InhzOmRh dGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTb3VyY2VQ aWNvc2Vjb25kcyIgdHlwZT0ieHM6dW5zaWduZWRTaG9ydCIgbWluT2NjdXJzPSIwIiAvPg0KICAg ICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVGltZXN0YW1wIiB0eXBlPSJ4czpkYXRlVGltZSIg bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyUGljb3NlY29u ZHMiIHR5cGU9InhzOnVuc2lnbmVkU2hvcnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNl cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVmFs dWUiIHR5cGU9InRuczpEYXRhVmFsdWUiIG5pbGxhYmxlPSJ0cnVlIi8+DQoNCiAgPHhzOmNvbXBs ZXhUeXBlIG5hbWU9Ikxpc3RPZkRhdGFWYWx1ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg PHhzOmVsZW1lbnQgbmFtZT0iRGF0YVZhbHVlIiB0eXBlPSJ0bnM6RGF0YVZhbHVlIiBtaW5PY2N1 cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0 T2ZEYXRhVmFsdWUiIHR5cGU9InRuczpMaXN0T2ZEYXRhVmFsdWUiIG5pbGxhYmxlPSJ0cnVlIj48 L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iSW52b2tlU2VydmljZVJlcXVlc3Qi IHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbmlsbGFibGU9InRydWUiIC8+DQogIDx4czplbGVtZW50 IG5hbWU9Ikludm9rZVNlcnZpY2VSZXNwb25zZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBuaWxs YWJsZT0idHJ1ZSIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJJbWFnZUJNUCIgdHlwZT0ieHM6 YmFzZTY0QmluYXJ5IiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkltYWdlR0lGIiB0eXBlPSJ4 czpiYXNlNjRCaW5hcnkiIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iSW1hZ2VKUEciIHR5cGU9 InhzOmJhc2U2NEJpbmFyeSIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJJbWFnZVBORyIgdHlw ZT0ieHM6YmFzZTY0QmluYXJ5IiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkJpdEZpZWxkTWFz a0RhdGFUeXBlIiB0eXBlPSJ4czp1bnNpZ25lZExvbmciIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUg IG5hbWU9Ik9wZW5GaWxlTW9kZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmlu ZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlYWRfMSIgLz4NCiAgICAgIDx4czpl bnVtZXJhdGlvbiB2YWx1ZT0iV3JpdGVfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 ZT0iRXJhc2VFeGlzdGluZ180IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBcHBl bmRfOCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4 czplbGVtZW50IG5hbWU9Ik9wZW5GaWxlTW9kZSIgdHlwZT0idG5zOk9wZW5GaWxlTW9kZSIgLz4N Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mT3BlbkZpbGVNb2RlIj4NCiAgICA8eHM6 c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPcGVuRmlsZU1vZGUiIHR5cGU9InRu czpPcGVuRmlsZU1vZGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQog ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt ZT0iTGlzdE9mT3BlbkZpbGVNb2RlIiB0eXBlPSJ0bnM6TGlzdE9mT3BlbkZpbGVNb2RlIiBuaWxs YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJUcnVz dExpc3RNYXNrcyI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAg ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv biB2YWx1ZT0iVHJ1c3RlZENlcnRpZmljYXRlc18xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u IHZhbHVlPSJUcnVzdGVkQ3Jsc18yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJ c3N1ZXJDZXJ0aWZpY2F0ZXNfNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNz dWVyQ3Jsc184IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBbGxfMTUiIC8+DQog ICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBu YW1lPSJUcnVzdExpc3RNYXNrcyIgdHlwZT0idG5zOlRydXN0TGlzdE1hc2tzIiAvPg0KDQogIDx4 czpjb21wbGV4VHlwZSBuYW1lPSJUcnVzdExpc3REYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNl Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3BlY2lmaWVkTGlzdHMiIHR5cGU9InhzOnVuc2ln bmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcnVzdGVk Q2VydGlmaWNhdGVzIiB0eXBlPSJ1YTpMaXN0T2ZCeXRlU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5p bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJ1c3RlZENybHMiIHR5 cGU9InVhOkxpc3RPZkJ5dGVTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc3N1ZXJDZXJ0aWZpY2F0ZXMiIHR5cGU9InVhOkxp c3RPZkJ5dGVTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 eHM6ZWxlbWVudCBuYW1lPSJJc3N1ZXJDcmxzIiB0eXBlPSJ1YTpMaXN0T2ZCeXRlU3RyaW5nIiBt aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRydXN0TGlzdERhdGFUeXBlIiB0 eXBlPSJ0bnM6VHJ1c3RMaXN0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 Ikxpc3RPZlRydXN0TGlzdERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 ZWxlbWVudCBuYW1lPSJUcnVzdExpc3REYXRhVHlwZSIgdHlwZT0idG5zOlRydXN0TGlzdERhdGFU eXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu dCBuYW1lPSJMaXN0T2ZUcnVzdExpc3REYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlRydXN0TGlz dERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVU eXBlICBuYW1lPSJJZFR5cGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3Vt ZW50YXRpb24+VGhlIHR5cGUgb2YgaWRlbnRpZmllciB1c2VkIGluIGEgbm9kZSBpZC48L3hzOmRv Y3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpyZXN0cmljdGlvbiBi YXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOdW1lcmljXzAi IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN0cmluZ18xIiAvPg0KICAgICAgPHhz OmVudW1lcmF0aW9uIHZhbHVlPSJHdWlkXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs dWU9Ik9wYXF1ZV8zIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlw ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSWRUeXBlIiB0eXBlPSJ0bnM6SWRUeXBlIiAvPg0KDQog IDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZJZFR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4N CiAgICAgIDx4czplbGVtZW50IG5hbWU9IklkVHlwZSIgdHlwZT0idG5zOklkVHlwZSIgbWluT2Nj dXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZJZFR5cGUiIHR5cGU9 InRuczpMaXN0T2ZJZFR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhz OnNpbXBsZVR5cGUgIG5hbWU9Ik5vZGVDbGFzcyI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg ICA8eHM6ZG9jdW1lbnRhdGlvbj5BIG1hc2sgc3BlY2lmeWluZyB0aGUgY2xhc3Mgb2YgdGhlIG5v ZGUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6cmVz dHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i VW5zcGVjaWZpZWRfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iT2JqZWN0XzEi IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZhcmlhYmxlXzIiIC8+DQogICAgICA8 eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik1ldGhvZF80IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u IHZhbHVlPSJPYmplY3RUeXBlXzgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZh cmlhYmxlVHlwZV8xNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVmZXJlbmNl VHlwZV8zMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGF0YVR5cGVfNjQiIC8+ DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZpZXdfMTI4IiAvPg0KICAgIDwveHM6cmVz dHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUNs YXNzIiB0eXBlPSJ0bnM6Tm9kZUNsYXNzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJO b2RlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlNwZWNp ZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gYWxsIG5vZGVzLjwveHM6ZG9jdW1l bnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg PHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIg bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlQ2xhc3MiIHR5 cGU9InRuczpOb2RlQ2xhc3MiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h bWU9IkJyb3dzZU5hbWUiIHR5cGU9InVhOlF1YWxpZmllZE5hbWUiIG1pbk9jY3Vycz0iMCIgbmls bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNwbGF5TmFtZSIgdHlw ZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg ICAgIDx4czplbGVtZW50IG5hbWU9IkRlc2NyaXB0aW9uIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0 IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt ZT0iV3JpdGVNYXNrIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg ICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlcldyaXRlTWFzayIgdHlwZT0ieHM6dW5zaWduZWRJbnQi IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZXMiIHR5 cGU9InRuczpMaXN0T2ZSZWZlcmVuY2VOb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt ZW50IG5hbWU9Ik5vZGUiIHR5cGU9InRuczpOb2RlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu YW1lPSJMaXN0T2ZOb2RlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu YW1lPSJOb2RlIiB0eXBlPSJ0bnM6Tm9kZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91 bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTm9kZSIgdHlwZT0idG5zOkxpc3RP Zk5vZGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBl IG5hbWU9Ikluc3RhbmNlTm9kZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxz ZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlIj4NCiAgICAgICAgPHhzOnNl cXVlbmNlPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQog ICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l bnQgbmFtZT0iSW5zdGFuY2VOb2RlIiB0eXBlPSJ0bnM6SW5zdGFuY2VOb2RlIiAvPg0KDQogIDx4 czpjb21wbGV4VHlwZSBuYW1lPSJUeXBlTm9kZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1p eGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlIj4NCiAgICAg ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRl bnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg PHhzOmVsZW1lbnQgbmFtZT0iVHlwZU5vZGUiIHR5cGU9InRuczpUeXBlTm9kZSIgLz4NCg0KICA8 eHM6Y29tcGxleFR5cGUgbmFtZT0iT2JqZWN0Tm9kZSI+DQogICAgPHhzOmFubm90YXRpb24+DQog ICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVs b25nIHRvIG9iamVjdCBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0 aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4 dGVuc2lvbiBiYXNlPSJ0bnM6SW5zdGFuY2VOb2RlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0K ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50Tm90aWZpZXIiIHR5cGU9InhzOnVuc2ln bmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAg PC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4 VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT2JqZWN0Tm9kZSIgdHlwZT0idG5zOk9iamVjdE5v ZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik9iamVjdFR5cGVOb2RlIj4NCiAgICA8 eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0aGUgYXR0 cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gb2JqZWN0IHR5cGUgbm9kZXMuPC94czpkb2N1bWVudGF0 aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9 ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOlR5cGVOb2RlIj4NCiAgICAg ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IklzQWJzdHJhY3Qi IHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5j ZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwv eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9iamVjdFR5cGVOb2RlIiB0eXBl PSJ0bnM6T2JqZWN0VHlwZU5vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlh YmxlTm9kZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5T cGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRvIHZhcmlhYmxlIG5vZGVzLjwv eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhD b250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpJbnN0 YW5jZU5vZGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg bmFtZT0iVmFsdWUiIHR5cGU9InVhOlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg ICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9 IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVl UmFuayIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1l bnQgbmFtZT0iQXJyYXlEaW1lbnNpb25zIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vy cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWNj ZXNzTGV2ZWwiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg ICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJBY2Nlc3NMZXZlbCIgdHlwZT0ieHM6dW5zaWduZWRC eXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWluaW11 bVNhbXBsaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg ICAgICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3Rvcml6aW5nIiB0eXBlPSJ4czpib29sZWFuIiBt aW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVu c2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 eHM6ZWxlbWVudCBuYW1lPSJWYXJpYWJsZU5vZGUiIHR5cGU9InRuczpWYXJpYWJsZU5vZGUiIC8+ DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhYmxlVHlwZU5vZGUiPg0KICAgIDx4czph bm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+U3BlY2lmaWVzIHRoZSBhdHRyaWJ1 dGVzIHdoaWNoIGJlbG9uZyB0byB2YXJpYWJsZSB0eXBlIG5vZGVzLjwveHM6ZG9jdW1lbnRhdGlv bj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJm YWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpUeXBlTm9kZSI+DQogICAgICAg IDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0i dWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 IkRhdGFUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czppbnQi IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcnJheURpbWVu c2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpi b29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8 L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhU eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWYXJpYWJsZVR5cGVOb2RlIiB0eXBlPSJ0bnM6VmFy aWFibGVUeXBlTm9kZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVmZXJlbmNlVHlw ZU5vZGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+U3Bl Y2lmaWVzIHRoZSBhdHRyaWJ1dGVzIHdoaWNoIGJlbG9uZyB0byByZWZlcmVuY2UgdHlwZSBub2Rl cy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21w bGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6 VHlwZU5vZGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg bmFtZT0iSXNBYnN0cmFjdCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAg ICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN5bW1ldHJpYyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWlu T2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkludmVyc2VOYW1lIiB0 eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K ICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpj b21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i UmVmZXJlbmNlVHlwZU5vZGUiIHR5cGU9InRuczpSZWZlcmVuY2VUeXBlTm9kZSIgLz4NCg0KICA8 eHM6Y29tcGxleFR5cGUgbmFtZT0iTWV0aG9kTm9kZSI+DQogICAgPHhzOmFubm90YXRpb24+DQog ICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVs b25nIHRvIG1ldGhvZCBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0 aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4 dGVuc2lvbiBiYXNlPSJ0bnM6SW5zdGFuY2VOb2RlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0K ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV4ZWN1dGFibGUiIHR5cGU9InhzOmJvb2xlYW4i IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyRXhlY3V0 YWJsZSIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNl cXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4N CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTWV0aG9kTm9kZSIgdHlw ZT0idG5zOk1ldGhvZE5vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZpZXdOb2Rl Ij4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRl bnNpb24gYmFzZT0idG5zOkluc3RhbmNlTm9kZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAg ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250YWluc05vTG9vcHMiIHR5cGU9InhzOmJvb2xl YW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudE5v dGlmaWVyIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg PC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENv bnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlZpZXdOb2Rl IiB0eXBlPSJ0bnM6Vmlld05vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFU eXBlTm9kZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8 eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpUeXBlTm9kZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4N CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpib29sZWFu IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4 dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K ICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZU5vZGUiIHR5cGU9InRuczpEYXRhVHlwZU5vZGUi IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZmVyZW5jZU5vZGUiPg0KICAgIDx4czph bm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+U3BlY2lmaWVzIGEgcmVmZXJlbmNl IHdoaWNoIGJlbG9uZ3MgdG8gYSBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu bm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVm ZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ludmVyc2UiIHR5cGU9InhzOmJvb2xl YW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRhcmdldElkIiB0 eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu YW1lPSJSZWZlcmVuY2VOb2RlIiB0eXBlPSJ0bnM6UmVmZXJlbmNlTm9kZSIgLz4NCg0KICA8eHM6 Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUmVmZXJlbmNlTm9kZSI+DQogICAgPHhzOnNlcXVlbmNl Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlTm9kZSIgdHlwZT0idG5zOlJlZmVy ZW5jZU5vZGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0 cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl bGVtZW50IG5hbWU9Ikxpc3RPZlJlZmVyZW5jZU5vZGUiIHR5cGU9InRuczpMaXN0T2ZSZWZlcmVu Y2VOb2RlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlw ZSBuYW1lPSJBcmd1bWVudCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l bnRhdGlvbj5BbiBhcmd1bWVudCBmb3IgYSBtZXRob2QuPC94czpkb2N1bWVudGF0aW9uPg0KICAg IDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu YW1lPSJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBt aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i VmFsdWVSYW5rIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt ZW50IG5hbWU9IkFycmF5RGltZW5zaW9ucyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1 cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVzY3Jp cHRpb24iIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs ZW1lbnQgbmFtZT0iQXJndW1lbnQiIHR5cGU9InRuczpBcmd1bWVudCIgLz4NCg0KICA8eHM6Y29t cGxleFR5cGUgbmFtZT0iTGlzdE9mQXJndW1lbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg IDx4czplbGVtZW50IG5hbWU9IkFyZ3VtZW50IiB0eXBlPSJ0bnM6QXJndW1lbnQiIG1pbk9jY3Vy cz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RP ZkFyZ3VtZW50IiB0eXBlPSJ0bnM6TGlzdE9mQXJndW1lbnQiIG5pbGxhYmxlPSJ0cnVlIj48L3hz OmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVudW1WYWx1ZVR5cGUiPg0KICAg IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBtYXBwaW5nIGJldHdl ZW4gYSB2YWx1ZSBvZiBhbiBlbnVtZXJhdGVkIHR5cGUgYW5kIGEgbmFtZSBhbmQgZGVzY3JpcHRp b24uPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2Vx dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0ieHM6bG9uZyIgbWlu T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzcGxheU5hbWUiIHR5cGU9 InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg ICA8eHM6ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIg bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFbnVtVmFsdWVUeXBlIiB0eXBl PSJ0bnM6RW51bVZhbHVlVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m RW51bVZhbHVlVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt ZT0iRW51bVZhbHVlVHlwZSIgdHlwZT0idG5zOkVudW1WYWx1ZVR5cGUiIG1pbk9jY3Vycz0iMCIg bWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkVudW1W YWx1ZVR5cGUiIHR5cGU9InRuczpMaXN0T2ZFbnVtVmFsdWVUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+ PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJPcHRpb25TZXQiPg0KICAg IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhpcyBhYnN0cmFjdCBT dHJ1Y3R1cmVkIERhdGFUeXBlIGlzIHRoZSBiYXNlIERhdGFUeXBlIGZvciBhbGwgRGF0YVR5cGVz IHJlcHJlc2VudGluZyBhIGJpdCBtYXNrLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu bm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFs dWUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbGlkQml0cyIgdHlwZT0ieHM6YmFzZTY0Qmlu YXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9wdGlvblNldCIgdHlw ZT0idG5zOk9wdGlvblNldCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mT3B0 aW9uU2V0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPcHRp b25TZXQiIHR5cGU9InRuczpPcHRpb25TZXQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJv dW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk9wdGlvblNldCIgdHlwZT0idG5z Okxpc3RPZk9wdGlvblNldCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6 Y29tcGxleFR5cGUgbmFtZT0iVW5pb24iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhz OmRvY3VtZW50YXRpb24+VGhpcyBhYnN0cmFjdCBEYXRhVHlwZSBpcyB0aGUgYmFzZSBEYXRhVHlw ZSBmb3IgYWxsIHVuaW9uIERhdGFUeXBlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czph bm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVbmlvbiIgdHlwZT0idG5zOlVuaW9u IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZVbmlvbiI+DQogICAgPHhzOnNl cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVW5pb24iIHR5cGU9InRuczpVbmlvbiIg bWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQog ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt ZT0iTGlzdE9mVW5pb24iIHR5cGU9InRuczpMaXN0T2ZVbmlvbiIgbmlsbGFibGU9InRydWUiPjwv eHM6ZWxlbWVudD4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOb3JtYWxpemVkU3RyaW5nIiB0eXBl PSJ4czpzdHJpbmciIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVjaW1hbFN0cmluZyIgdHlw ZT0ieHM6c3RyaW5nIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkR1cmF0aW9uU3RyaW5nIiB0 eXBlPSJ4czpzdHJpbmciIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZVN0cmluZyIgdHlw ZT0ieHM6c3RyaW5nIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkRhdGVTdHJpbmciIHR5cGU9 InhzOnN0cmluZyIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEdXJhdGlvbiIgdHlwZT0ieHM6 ZG91YmxlIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IlV0Y1RpbWUiIHR5cGU9InhzOmRhdGVU aW1lIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkxvY2FsZUlkIiB0eXBlPSJ4czpzdHJpbmci IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlRpbWVab25lRGF0YVR5cGUiPg0KICAgIDx4 czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik9mZnNldCIgdHlwZT0ieHM6c2hv cnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRheWxpZ2h0U2F2 aW5nSW5PZmZzZXQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hz OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1l Wm9uZURhdGFUeXBlIiB0eXBlPSJ0bnM6VGltZVpvbmVEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29t cGxleFR5cGUgbmFtZT0iTGlzdE9mVGltZVpvbmVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNl Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZVpvbmVEYXRhVHlwZSIgdHlwZT0idG5zOlRp bWVab25lRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog IDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlRpbWVab25lRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0 T2ZUaW1lWm9uZURhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4 czplbGVtZW50IG5hbWU9IkludGVnZXJJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIC8+DQoNCiAg PHhzOnNpbXBsZVR5cGUgIG5hbWU9IkFwcGxpY2F0aW9uVHlwZSI+DQogICAgPHhzOmFubm90YXRp b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgdHlwZXMgb2YgYXBwbGljYXRpb25zLjwv eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0 aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNlcnZl cl8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJDbGllbnRfMSIgLz4NCiAgICAg IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ2xpZW50QW5kU2VydmVyXzIiIC8+DQogICAgICA8eHM6 ZW51bWVyYXRpb24gdmFsdWU9IkRpc2NvdmVyeVNlcnZlcl8zIiAvPg0KICAgIDwveHM6cmVzdHJp Y3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRp b25UeXBlIiB0eXBlPSJ0bnM6QXBwbGljYXRpb25UeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw ZSBuYW1lPSJBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg ICAgIDx4czpkb2N1bWVudGF0aW9uPkRlc2NyaWJlcyBhbiBhcHBsaWNhdGlvbiBhbmQgaG93IHRv IGZpbmQgaXQuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcHBsaWNhdGlvblVyaSIgdHlw ZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz OmVsZW1lbnQgbmFtZT0iUHJvZHVjdFVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25O YW1lIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25UeXBlIiB0eXBlPSJ0bnM6 QXBwbGljYXRpb25UeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l PSJHYXRld2F5U2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjb3ZlcnlQcm9maWxlVXJp IiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg ICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjb3ZlcnlVcmxzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmci IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25EZXNjcmlw dGlvbiIgdHlwZT0idG5zOkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBs ZXhUeXBlIG5hbWU9Ikxpc3RPZkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1 ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIHR5 cGU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0i dW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZBcHBsaWNhdGlvbkRlc2Ny aXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mQXBwbGljYXRpb25EZXNjcmlwdGlvbiIgbmlsbGFibGU9 InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVxdWVzdEhl YWRlciI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUg aGVhZGVyIHBhc3NlZCB3aXRoIGV2ZXJ5IHNlcnZlciByZXF1ZXN0LjwveHM6ZG9jdW1lbnRhdGlv bj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs ZW1lbnQgbmFtZT0iQXV0aGVudGljYXRpb25Ub2tlbiIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1 cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0 YW1wIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l bnQgbmFtZT0iUmVxdWVzdEhhbmRsZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldHVybkRpYWdub3N0aWNzIiB0eXBlPSJ4 czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i QXVkaXRFbnRyeUlkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lb3V0SGludCIgdHlwZT0ieHM6dW5z aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZGl0 aW9uYWxIZWFkZXIiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxs YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRl ciIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVzcG9uc2VIZWFkZXIiPg0KICAgIDx4 czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGhlYWRlciBwYXNzZWQg d2l0aCBldmVyeSBzZXJ2ZXIgcmVzcG9uc2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6 YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJU aW1lc3RhbXAiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGFuZGxlIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmljZVJlc3VsdCIgdHlwZT0i dWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i U2VydmljZURpYWdub3N0aWNzIiB0eXBlPSJ1YTpEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIw IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0cmluZ1RhYmxl IiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRpdGlvbmFsSGVhZGVyIiB0eXBlPSJ1YTpFeHRl bnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9u c2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCg0KICA8eHM6Y29tcGxleFR5 cGUgbmFtZT0iU2VydmljZUZhdWx0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpk b2N1bWVudGF0aW9uPlRoZSByZXNwb25zZSByZXR1cm5lZCBieSBhbGwgc2VydmljZXMgd2hlbiB0 aGVyZSBpcyBhIHNlcnZpY2UgbGV2ZWwgZXJyb3IuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwv eHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l PSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAi IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNlcnZpY2VGYXVsdCIgdHlwZT0idG5zOlNlcnZpY2VG YXVsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRmluZFNlcnZlcnNSZXF1ZXN0Ij4N CiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkZpbmRzIHRoZSBz ZXJ2ZXJzIGtub3duIHRvIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4N CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l bnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vy cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2lu dFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmci IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l PSJTZXJ2ZXJVcmlzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg PHhzOmVsZW1lbnQgbmFtZT0iRmluZFNlcnZlcnNSZXF1ZXN0IiB0eXBlPSJ0bnM6RmluZFNlcnZl cnNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJGaW5kU2VydmVyc1Jlc3Bv bnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkZpbmRz IHRoZSBzZXJ2ZXJzIGtub3duIHRvIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwveHM6ZG9jdW1lbnRh dGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz OmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIg bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 IlNlcnZlcnMiIHR5cGU9InRuczpMaXN0T2ZBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1 cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkZpbmRTZXJ2ZXJzUmVzcG9uc2UiIHR5cGU9 InRuczpGaW5kU2VydmVyc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJT ZXJ2ZXJPbk5ldHdvcmsiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h bWU9IlJlY29yZElkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg ICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1 cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzY292 ZXJ5VXJsIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJDYXBhYmlsaXRpZXMiIHR5cGU9InVhOkxp c3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJP bk5ldHdvcmsiIHR5cGU9InRuczpTZXJ2ZXJPbk5ldHdvcmsiIC8+DQoNCiAgPHhzOmNvbXBsZXhU eXBlIG5hbWU9Ikxpc3RPZlNlcnZlck9uTmV0d29yayI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg ICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyT25OZXR3b3JrIiB0eXBlPSJ0bnM6U2VydmVyT25O ZXR3b3JrIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl bWVudCBuYW1lPSJMaXN0T2ZTZXJ2ZXJPbk5ldHdvcmsiIHR5cGU9InRuczpMaXN0T2ZTZXJ2ZXJP bk5ldHdvcmsiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhU eXBlIG5hbWU9IkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNl Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVl c3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl bWVudCBuYW1lPSJTdGFydGluZ1JlY29yZElkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4UmVjb3Jkc1RvUmV0dXJuIiB0 eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg bmFtZT0iU2VydmVyQ2FwYWJpbGl0eUZpbHRlciIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5P Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVx dWVzdCIgdHlwZT0idG5zOkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVxdWVzdCIgLz4NCg0KICA8eHM6 Y29tcGxleFR5cGUgbmFtZT0iRmluZFNlcnZlcnNPbk5ldHdvcmtSZXNwb25zZSI+DQogICAgPHhz OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9 InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg ICAgIDx4czplbGVtZW50IG5hbWU9Ikxhc3RDb3VudGVyUmVzZXRUaW1lIiB0eXBlPSJ4czpkYXRl VGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVycyIg dHlwZT0idG5zOkxpc3RPZlNlcnZlck9uTmV0d29yayIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 ZWxlbWVudCBuYW1lPSJGaW5kU2VydmVyc09uTmV0d29ya1Jlc3BvbnNlIiB0eXBlPSJ0bnM6Rmlu ZFNlcnZlcnNPbk5ldHdvcmtSZXNwb25zZSIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBcHBs aWNhdGlvbkluc3RhbmNlQ2VydGlmaWNhdGUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgLz4NCg0K ICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iTWVzc2FnZVNlY3VyaXR5TW9kZSI+DQogICAgPHhzOmFu bm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgdHlwZSBvZiBzZWN1cml0eSB0 byB1c2Ugb24gYSBtZXNzYWdlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRp b24+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51 bWVyYXRpb24gdmFsdWU9IkludmFsaWRfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 ZT0iTm9uZV8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTaWduXzIiIC8+DQog ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNpZ25BbmRFbmNyeXB0XzMiIC8+DQogICAgPC94 czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJN ZXNzYWdlU2VjdXJpdHlNb2RlIiB0eXBlPSJ0bnM6TWVzc2FnZVNlY3VyaXR5TW9kZSIgLz4NCg0K ICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iVXNlclRva2VuVHlwZSI+DQogICAgPHhzOmFubm90YXRp b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgcG9zc2libGUgdXNlciB0b2tlbiB0eXBl cy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpyZXN0 cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJB bm9ueW1vdXNfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVXNlck5hbWVfMSIg Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ2VydGlmaWNhdGVfMiIgLz4NCiAgICAg IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNzdWVkVG9rZW5fMyIgLz4NCiAgICAgIDx4czplbnVt ZXJhdGlvbiB2YWx1ZT0iS2VyYmVyb3NfNCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8 L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVzZXJUb2tlblR5cGUiIHR5cGU9 InRuczpVc2VyVG9rZW5UeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJVc2VyVG9r ZW5Qb2xpY3kiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+ RGVzY3JpYmVzIGEgdXNlciB0b2tlbiB0aGF0IGNhbiBiZSB1c2VkIHdpdGggYSBzZXJ2ZXIuPC94 czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+ DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQb2xpY3lJZCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5P Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVG9r ZW5UeXBlIiB0eXBlPSJ0bnM6VXNlclRva2VuVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg PHhzOmVsZW1lbnQgbmFtZT0iSXNzdWVkVG9rZW5UeXBlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9j Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc3N1 ZXJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlQb2xpY3lVcmkiIHR5cGU9 InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyVG9r ZW5Qb2xpY3kiIHR5cGU9InRuczpVc2VyVG9rZW5Qb2xpY3kiIC8+DQoNCiAgPHhzOmNvbXBsZXhU eXBlIG5hbWU9Ikxpc3RPZlVzZXJUb2tlblBvbGljeSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg ICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlclRva2VuUG9saWN5IiB0eXBlPSJ0bnM6VXNlclRva2Vu UG9saWN5IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl bWVudCBuYW1lPSJMaXN0T2ZVc2VyVG9rZW5Qb2xpY3kiIHR5cGU9InRuczpMaXN0T2ZVc2VyVG9r ZW5Qb2xpY3kiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhU eXBlIG5hbWU9IkVuZHBvaW50RGVzY3JpcHRpb24iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAg ICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGRlc2NyaXB0aW9uIG9mIGEgZW5kcG9pbnQgdGhhdCBj YW4gYmUgdXNlZCB0byBhY2Nlc3MgYSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwv eHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l PSJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyIiB0eXBlPSJ0bnM6QXBwbGlj YXRpb25EZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg IDx4czplbGVtZW50IG5hbWU9IlNlcnZlckNlcnRpZmljYXRlIiB0eXBlPSJ4czpiYXNlNjRCaW5h cnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu YW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiBtaW5PY2N1 cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVBvbGljeVVyaSIgdHlw ZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz OmVsZW1lbnQgbmFtZT0iVXNlcklkZW50aXR5VG9rZW5zIiB0eXBlPSJ0bnM6TGlzdE9mVXNlclRv a2VuUG9saWN5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs ZW1lbnQgbmFtZT0iVHJhbnNwb3J0UHJvZmlsZVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1 cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJp dHlMZXZlbCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94 czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRW5k cG9pbnREZXNjcmlwdGlvbiIgdHlwZT0idG5zOkVuZHBvaW50RGVzY3JpcHRpb24iIC8+DQoNCiAg PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkVuZHBvaW50RGVzY3JpcHRpb24iPg0KICAgIDx4 czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50RGVzY3JpcHRpb24i IHR5cGU9InRuczpFbmRwb2ludERlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0i dW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFbmRwb2ludERlc2NyaXB0 aW9uIiB0eXBlPSJ0bnM6TGlzdE9mRW5kcG9pbnREZXNjcmlwdGlvbiIgbmlsbGFibGU9InRydWUi PjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iR2V0RW5kcG9pbnRzUmVx dWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5HZXRz IHRoZSBlbmRwb2ludHMgdXNlZCBieSB0aGUgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAg ICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg bmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0i MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVy bCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg ICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1p bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQ cm9maWxlVXJpcyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 czplbGVtZW50IG5hbWU9IkdldEVuZHBvaW50c1JlcXVlc3QiIHR5cGU9InRuczpHZXRFbmRwb2lu dHNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJHZXRFbmRwb2ludHNSZXNw b25zZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5HZXRz IHRoZSBlbmRwb2ludHMgdXNlZCBieSB0aGUgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAg ICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg bmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJz PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50 cyIgdHlwZT0idG5zOkxpc3RPZkVuZHBvaW50RGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbmls bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N CiAgPHhzOmVsZW1lbnQgbmFtZT0iR2V0RW5kcG9pbnRzUmVzcG9uc2UiIHR5cGU9InRuczpHZXRF bmRwb2ludHNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVnaXN0ZXJl ZFNlcnZlciI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5U aGUgaW5mb3JtYXRpb24gcmVxdWlyZWQgdG8gcmVnaXN0ZXIgYSBzZXJ2ZXIgd2l0aCBhIGRpc2Nv dmVyeSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAg ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJVcmkiIHR5cGU9 InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl bGVtZW50IG5hbWU9IlByb2R1Y3RVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBu aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlck5hbWVzIiB0 eXBlPSJ1YTpMaXN0T2ZMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVHlwZSIgdHlwZT0idG5zOkFwcGxp Y2F0aW9uVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iR2F0 ZXdheVNlcnZlclVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzY292ZXJ5VXJscyIgdHlwZT0idWE6 TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz OmVsZW1lbnQgbmFtZT0iU2VtYXBob3JlRmlsZVBhdGgiIHR5cGU9InhzOnN0cmluZyIgbWluT2Nj dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IklzT25s aW5lIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5j ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVnaXN0ZXJlZFNl cnZlciIgdHlwZT0idG5zOlJlZ2lzdGVyZWRTZXJ2ZXIiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl IG5hbWU9Ikxpc3RPZlJlZ2lzdGVyZWRTZXJ2ZXIiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg IDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyZWRTZXJ2ZXIiIHR5cGU9InRuczpSZWdpc3RlcmVk U2VydmVyIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl bWVudCBuYW1lPSJMaXN0T2ZSZWdpc3RlcmVkU2VydmVyIiB0eXBlPSJ0bnM6TGlzdE9mUmVnaXN0 ZXJlZFNlcnZlciIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxl eFR5cGUgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXJSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4N CiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlJlZ2lzdGVycyBhIHNlcnZlciB3aXRoIHRoZSBkaXNj b3Zlcnkgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQog ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIg dHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXIiIHR5cGU9InRuczpSZWdpc3RlcmVkU2Vy dmVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyU2VydmVy UmVxdWVzdCIgdHlwZT0idG5zOlJlZ2lzdGVyU2VydmVyUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29t cGxleFR5cGUgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXJSZXNwb25zZSI+DQogICAgPHhzOmFubm90YXRp b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5SZWdpc3RlcnMgYSBzZXJ2ZXIgd2l0aCB0aGUg ZGlzY292ZXJ5IHNlcnZlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9u Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVh ZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs ZW1lbnQgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXJSZXNwb25zZSIgdHlwZT0idG5zOlJlZ2lzdGVyU2Vy dmVyUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRpc2NvdmVyeUNvbmZp Z3VyYXRpb24iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+ QSBiYXNlIHR5cGUgZm9yIGRpc2NvdmVyeSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uLjwveHM6 ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0K ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h bWU9IkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpEaXNjb3ZlcnlDb25maWd1cmF0 aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNZG5zRGlzY292ZXJ5Q29uZmlndXJh dGlvbiI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUg ZGlzY292ZXJ5IGluZm9ybWF0aW9uIG5lZWRlZCBmb3IgbUROUyByZWdpc3RyYXRpb24uPC94czpk b2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRl bnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkRpc2NvdmVy eUNvbmZpZ3VyYXRpb24iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVs ZW1lbnQgbmFtZT0iTWRuc1NlcnZlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIw IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJD YXBhYmlsaXRpZXMiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs ZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9u Pg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl bGVtZW50IG5hbWU9Ik1kbnNEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiB0eXBlPSJ0bnM6TWRuc0Rp c2NvdmVyeUNvbmZpZ3VyYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZ2lz dGVyU2VydmVyMlJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9 IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyIiB0 eXBlPSJ0bnM6UmVnaXN0ZXJlZFNlcnZlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIHR5cGU9 InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu dCBuYW1lPSJSZWdpc3RlclNlcnZlcjJSZXF1ZXN0IiB0eXBlPSJ0bnM6UmVnaXN0ZXJTZXJ2ZXIy UmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXIyUmVz cG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3Bv bnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb25maWd1cmF0aW9uUmVzdWx0 cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6 TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt ZT0iUmVnaXN0ZXJTZXJ2ZXIyUmVzcG9uc2UiIHR5cGU9InRuczpSZWdpc3RlclNlcnZlcjJSZXNw b25zZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iU2VjdXJpdHlUb2tlblJlcXVlc3RU eXBlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkluZGlj YXRlcyB3aGV0aGVyIGEgdG9rZW4gaWYgYmVpbmcgY3JlYXRlZCBvciByZW5ld2VkLjwveHM6ZG9j dW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJh c2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Iklzc3VlXzAiIC8+ DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlbmV3XzEiIC8+DQogICAgPC94czpyZXN0 cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0 eVRva2VuUmVxdWVzdFR5cGUiIHR5cGU9InRuczpTZWN1cml0eVRva2VuUmVxdWVzdFR5cGUiIC8+ DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNoYW5uZWxTZWN1cml0eVRva2VuIj4NCiAgICA8 eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSB0b2tlbiB0aGF0IGlk ZW50aWZpZXMgYSBzZXQgb2Yga2V5cyBmb3IgYW4gYWN0aXZlIHNlY3VyZSBjaGFubmVsLjwveHM6 ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0K ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2hhbm5lbElkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIg bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVG9rZW5JZCIgdHlwZT0i eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 IkNyZWF0ZWRBdCIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 czplbGVtZW50IG5hbWU9IlJldmlzZWRMaWZldGltZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1p bk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K ICA8eHM6ZWxlbWVudCBuYW1lPSJDaGFubmVsU2VjdXJpdHlUb2tlbiIgdHlwZT0idG5zOkNoYW5u ZWxTZWN1cml0eVRva2VuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJPcGVuU2VjdXJl Q2hhbm5lbFJlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50 YXRpb24+Q3JlYXRlcyBhIHNlY3VyZSBjaGFubmVsIHdpdGggYSBzZXJ2ZXIuPC94czpkb2N1bWVu dGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIg bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 IkNsaWVudFByb3RvY29sVmVyc2lvbiIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RUeXBlIiB0eXBlPSJ0bnM6U2Vj dXJpdHlUb2tlblJlcXVlc3RUeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu dCBuYW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiBtaW5P Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnROb25jZSIgdHlwZT0i eHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg PHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTGlmZXRpbWUiIHR5cGU9InhzOnVuc2lnbmVkSW50 IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT3BlblNlY3VyZUNoYW5uZWxSZXF1ZXN0IiB0eXBlPSJ0 bnM6T3BlblNlY3VyZUNoYW5uZWxSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l PSJPcGVuU2VjdXJlQ2hhbm5lbFJlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAg IDx4czpkb2N1bWVudGF0aW9uPkNyZWF0ZXMgYSBzZWN1cmUgY2hhbm5lbCB3aXRoIGEgc2VydmVy LjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVl bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpS ZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 czplbGVtZW50IG5hbWU9IlNlcnZlclByb3RvY29sVmVyc2lvbiIgdHlwZT0ieHM6dW5zaWduZWRJ bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5VG9r ZW4iIHR5cGU9InRuczpDaGFubmVsU2VjdXJpdHlUb2tlbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJs ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlck5vbmNlIiB0eXBlPSJ4 czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT3Bl blNlY3VyZUNoYW5uZWxSZXNwb25zZSIgdHlwZT0idG5zOk9wZW5TZWN1cmVDaGFubmVsUmVzcG9u c2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNsb3NlU2VjdXJlQ2hhbm5lbFJlcXVl c3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q2xvc2Vz IGEgc2VjdXJlIGNoYW5uZWwuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlv bj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVh ZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl bWVudCBuYW1lPSJDbG9zZVNlY3VyZUNoYW5uZWxSZXF1ZXN0IiB0eXBlPSJ0bnM6Q2xvc2VTZWN1 cmVDaGFubmVsUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2xvc2VTZWN1 cmVDaGFubmVsUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3Vt ZW50YXRpb24+Q2xvc2VzIGEgc2VjdXJlIGNoYW5uZWwuPC94czpkb2N1bWVudGF0aW9uPg0KICAg IDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu YW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9 IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNsb3NlU2VjdXJlQ2hhbm5lbFJlc3BvbnNlIiB0 eXBlPSJ0bnM6Q2xvc2VTZWN1cmVDaGFubmVsUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhU eXBlIG5hbWU9IlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiPg0KICAgIDx4czphbm5vdGF0aW9u Pg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBzb2Z0d2FyZSBjZXJ0aWZpY2F0ZSB3aXRoIGEg ZGlnaXRhbCBzaWduYXR1cmUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlv bj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDZXJ0aWZpY2F0 ZURhdGEiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNpZ25hdHVyZSIgdHlwZT0ieHM6YmFzZTY0 QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNpZ25lZFNvZnR3 YXJlQ2VydGlmaWNhdGUiIHR5cGU9InRuczpTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiAvPg0K DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRl Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTaWduZWRTb2Z0 d2FyZUNlcnRpZmljYXRlIiB0eXBlPSJ0bnM6U2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgbWlu T2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i TGlzdE9mU2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgdHlwZT0idG5zOkxpc3RPZlNpZ25lZFNv ZnR3YXJlQ2VydGlmaWNhdGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhz OmVsZW1lbnQgbmFtZT0iU2Vzc2lvbkF1dGhlbnRpY2F0aW9uVG9rZW4iIHR5cGU9InVhOk5vZGVJ ZCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2lnbmF0dXJlRGF0YSI+DQogICAgPHhz OmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIGRpZ2l0YWwgc2lnbmF0dXJl LjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVl bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWxnb3JpdGhtIiB0eXBlPSJ4czpzdHJpbmci IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l PSJTaWduYXR1cmUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 eHM6ZWxlbWVudCBuYW1lPSJTaWduYXR1cmVEYXRhIiB0eXBlPSJ0bnM6U2lnbmF0dXJlRGF0YSIg Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ3JlYXRlU2Vzc2lvblJlcXVlc3QiPg0KICAg IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q3JlYXRlcyBhIG5ldyBz ZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v dGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVl c3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50RGVzY3JpcHRpb24iIHR5 cGU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVXJpIiB0eXBlPSJ4czpzdHJp bmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu YW1lPSJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbk5hbWUiIHR5cGU9Inhz OnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt ZW50IG5hbWU9IkNsaWVudE5vbmNlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0i MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRDZXJ0 aWZpY2F0ZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkU2Vzc2lvblRpbWVvdXQi IHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt ZT0iTWF4UmVzcG9uc2VNZXNzYWdlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vy cz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 ZWxlbWVudCBuYW1lPSJDcmVhdGVTZXNzaW9uUmVxdWVzdCIgdHlwZT0idG5zOkNyZWF0ZVNlc3Np b25SZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDcmVhdGVTZXNzaW9uUmVz cG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q3Jl YXRlcyBhIG5ldyBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L3hzOmRvY3VtZW50YXRpb24+DQog ICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vy cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9u SWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg ICAgIDx4czplbGVtZW50IG5hbWU9IkF1dGhlbnRpY2F0aW9uVG9rZW4iIHR5cGU9InVhOk5vZGVJ ZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h bWU9IlJldmlzZWRTZXNzaW9uVGltZW91dCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAi IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJOb25jZSIgdHlwZT0ieHM6YmFzZTY0 QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l bnQgbmFtZT0iU2VydmVyQ2VydGlmaWNhdGUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2Nj dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZl ckVuZHBvaW50cyIgdHlwZT0idG5zOkxpc3RPZkVuZHBvaW50RGVzY3JpcHRpb24iIG1pbk9jY3Vy cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJT b2Z0d2FyZUNlcnRpZmljYXRlcyIgdHlwZT0idG5zOkxpc3RPZlNpZ25lZFNvZnR3YXJlQ2VydGlm aWNhdGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu dCBuYW1lPSJTZXJ2ZXJTaWduYXR1cmUiIHR5cGU9InRuczpTaWduYXR1cmVEYXRhIiBtaW5PY2N1 cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4UmVx dWVzdE1lc3NhZ2VTaXplIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0K ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h bWU9IkNyZWF0ZVNlc3Npb25SZXNwb25zZSIgdHlwZT0idG5zOkNyZWF0ZVNlc3Npb25SZXNwb25z ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVXNlcklkZW50aXR5VG9rZW4iPg0KICAg IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBiYXNlIHR5cGUgZm9y IGEgdXNlciBpZGVudGl0eSB0b2tlbi48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v dGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBvbGlj eUlkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt ZT0iVXNlcklkZW50aXR5VG9rZW4iIHR5cGU9InRuczpVc2VySWRlbnRpdHlUb2tlbiIgLz4NCg0K ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQW5vbnltb3VzSWRlbnRpdHlUb2tlbiI+DQogICAgPHhz OmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHRva2VuIHJlcHJlc2VudGlu ZyBhbiBhbm9ueW1vdXMgdXNlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0 aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4 dGVuc2lvbiBiYXNlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgICAgICA8eHM6c2VxdWVu Y2U+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8 L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu YW1lPSJBbm9ueW1vdXNJZGVudGl0eVRva2VuIiB0eXBlPSJ0bnM6QW5vbnltb3VzSWRlbnRpdHlU b2tlbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVXNlck5hbWVJZGVudGl0eVRva2Vu Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgdG9rZW4g cmVwcmVzZW50aW5nIGEgdXNlciBpZGVudGlmaWVkIGJ5IGEgdXNlciBuYW1lIGFuZCBwYXNzd29y ZC48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21w bGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6 VXNlcklkZW50aXR5VG9rZW4iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhz OmVsZW1lbnQgbmFtZT0iVXNlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBu aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQYXNzd29yZCIg dHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuY3J5cHRpb25BbGdvcml0aG0iIHR5cGU9Inhz OnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpz ZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+ DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVzZXJOYW1lSWRlbnRp dHlUb2tlbiIgdHlwZT0idG5zOlVzZXJOYW1lSWRlbnRpdHlUb2tlbiIgLz4NCg0KICA8eHM6Y29t cGxleFR5cGUgbmFtZT0iWDUwOUlkZW50aXR5VG9rZW4iPg0KICAgIDx4czphbm5vdGF0aW9uPg0K ICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSB0b2tlbiByZXByZXNlbnRpbmcgYSB1c2VyIGlkZW50 aWZpZWQgYnkgYW4gWDUwOSBjZXJ0aWZpY2F0ZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94 czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAg ICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgICAgICA8 eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2VydGlmaWNhdGVEYXRh IiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hz OmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l PSJYNTA5SWRlbnRpdHlUb2tlbiIgdHlwZT0idG5zOlg1MDlJZGVudGl0eVRva2VuIiAvPg0KDQog IDx4czpjb21wbGV4VHlwZSBuYW1lPSJLZXJiZXJvc0lkZW50aXR5VG9rZW4iPg0KICAgIDx4czpj b21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0 bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAg PHhzOmVsZW1lbnQgbmFtZT0iVGlja2V0RGF0YSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5P Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAg ICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21w bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iS2VyYmVyb3NJZGVudGl0eVRva2VuIiB0eXBl PSJ0bnM6S2VyYmVyb3NJZGVudGl0eVRva2VuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l PSJJc3N1ZWRJZGVudGl0eVRva2VuIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpk b2N1bWVudGF0aW9uPkEgdG9rZW4gcmVwcmVzZW50aW5nIGEgdXNlciBpZGVudGlmaWVkIGJ5IGEg V1MtU2VjdXJpdHkgWE1MIHRva2VuLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90 YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6 ZXh0ZW5zaW9uIGJhc2U9InRuczpVc2VySWRlbnRpdHlUb2tlbiI+DQogICAgICAgIDx4czpzZXF1 ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUb2tlbkRhdGEiIHR5cGU9InhzOmJh c2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8 eHM6ZWxlbWVudCBuYW1lPSJFbmNyeXB0aW9uQWxnb3JpdGhtIiB0eXBlPSJ4czpzdHJpbmciIG1p bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQog ICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNv bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJJc3N1ZWRJZGVudGl0eVRva2VuIiB0eXBl PSJ0bnM6SXNzdWVkSWRlbnRpdHlUb2tlbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i QWN0aXZhdGVTZXNzaW9uUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6 ZG9jdW1lbnRhdGlvbj5BY3RpdmF0ZXMgYSBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L3hzOmRv Y3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg ICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVh ZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg bmFtZT0iQ2xpZW50U2lnbmF0dXJlIiB0eXBlPSJ0bnM6U2lnbmF0dXJlRGF0YSIgbWluT2NjdXJz PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVudFNv ZnR3YXJlQ2VydGlmaWNhdGVzIiB0eXBlPSJ0bnM6TGlzdE9mU2lnbmVkU29mdHdhcmVDZXJ0aWZp Y2F0ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 IG5hbWU9IkxvY2FsZUlkcyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5p bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlcklkZW50aXR5VG9r ZW4iIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJUb2tlblNpZ25hdHVyZSIgdHlwZT0i dG5zOlNpZ25hdHVyZURhdGEiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i QWN0aXZhdGVTZXNzaW9uUmVxdWVzdCIgdHlwZT0idG5zOkFjdGl2YXRlU2Vzc2lvblJlcXVlc3Qi IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFjdGl2YXRlU2Vzc2lvblJlc3BvbnNlIj4N CiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkFjdGl2YXRlcyBh IHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu bm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVz cG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxs YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlck5vbmNlIiB0eXBl PSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBt aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i RGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJz PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBY3RpdmF0ZVNlc3Npb25SZXNwb25zZSIgdHlw ZT0idG5zOkFjdGl2YXRlU2Vzc2lvblJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu YW1lPSJDbG9zZVNlc3Npb25SZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4 czpkb2N1bWVudGF0aW9uPkNsb3NlcyBhIHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwveHM6ZG9j dW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFk ZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu YW1lPSJEZWxldGVTdWJzY3JpcHRpb25zIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAi IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l bnQgbmFtZT0iQ2xvc2VTZXNzaW9uUmVxdWVzdCIgdHlwZT0idG5zOkNsb3NlU2Vzc2lvblJlcXVl c3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNsb3NlU2Vzc2lvblJlc3BvbnNlIj4N CiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNsb3NlcyBhIHNl c3Npb24gd2l0aCB0aGUgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90 YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9u c2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJs ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 eHM6ZWxlbWVudCBuYW1lPSJDbG9zZVNlc3Npb25SZXNwb25zZSIgdHlwZT0idG5zOkNsb3NlU2Vz c2lvblJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDYW5jZWxSZXF1ZXN0 Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNhbmNlbHMg YW4gb3V0c3RhbmRpbmcgcmVxdWVzdC48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v dGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVl c3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhhbmRsZSIgdHlwZT0i eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDYW5jZWxSZXF1ZXN0IiB0eXBl PSJ0bnM6Q2FuY2VsUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2FuY2Vs UmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+ Q2FuY2VscyBhbiBvdXRzdGFuZGluZyByZXF1ZXN0LjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8 L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt ZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIw IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNhbmNlbENvdW50 IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVu Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNhbmNlbFJlc3Bv bnNlIiB0eXBlPSJ0bnM6Q2FuY2VsUmVzcG9uc2UiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5h bWU9Ik5vZGVBdHRyaWJ1dGVzTWFzayI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6 ZG9jdW1lbnRhdGlvbj5UaGUgYml0cyB1c2VkIHRvIHNwZWNpZnkgZGVmYXVsdCBhdHRyaWJ1dGVz IGZvciBhIG5ldyBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+ DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVy YXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQWNj ZXNzTGV2ZWxfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQXJyYXlEaW1lbnNp b25zXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJyb3dzZU5hbWVfNCIgLz4N CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ29udGFpbnNOb0xvb3BzXzgiIC8+DQogICAg ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRhdGFUeXBlXzE2IiAvPg0KICAgICAgPHhzOmVudW1l cmF0aW9uIHZhbHVlPSJEZXNjcmlwdGlvbl8zMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 YWx1ZT0iRGlzcGxheU5hbWVfNjQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkV2 ZW50Tm90aWZpZXJfMTI4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJFeGVjdXRh YmxlXzI1NiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSGlzdG9yaXppbmdfNTEy IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJbnZlcnNlTmFtZV8xMDI0IiAvPg0K ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJc0Fic3RyYWN0XzIwNDgiIC8+DQogICAgICA8 eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik1pbmltdW1TYW1wbGluZ0ludGVydmFsXzQwOTYiIC8+DQog ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vZGVDbGFzc184MTkyIiAvPg0KICAgICAgPHhz OmVudW1lcmF0aW9uIHZhbHVlPSJOb2RlSWRfMTYzODQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp b24gdmFsdWU9IlN5bW1ldHJpY18zMjc2OCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 ZT0iVXNlckFjY2Vzc0xldmVsXzY1NTM2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl PSJVc2VyRXhlY3V0YWJsZV8xMzEwNzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 IlVzZXJXcml0ZU1hc2tfMjYyMTQ0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJW YWx1ZVJhbmtfNTI0Mjg4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJXcml0ZU1h c2tfMTA0ODU3NiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVmFsdWVfMjA5NzE1 MiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQWxsXzQxOTQzMDMiIC8+DQogICAg ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJhc2VOb2RlXzEzMzUzOTYiIC8+DQogICAgICA8eHM6 ZW51bWVyYXRpb24gdmFsdWU9Ik9iamVjdF8xMzM1NTI0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0 aW9uIHZhbHVlPSJPYmplY3RUeXBlT3JEYXRhVHlwZV8xMzM3NDQ0IiAvPg0KICAgICAgPHhzOmVu dW1lcmF0aW9uIHZhbHVlPSJWYXJpYWJsZV80MDI2OTk5IiAvPg0KICAgICAgPHhzOmVudW1lcmF0 aW9uIHZhbHVlPSJWYXJpYWJsZVR5cGVfMzk1ODkwMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv biB2YWx1ZT0iTWV0aG9kXzE0NjY3MjQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 IlJlZmVyZW5jZVR5cGVfMTM3MTIzNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i Vmlld18xMzM1NTMyIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlw ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUF0dHJpYnV0ZXNNYXNrIiB0eXBlPSJ0bnM6Tm9k ZUF0dHJpYnV0ZXNNYXNrIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJOb2RlQXR0cmli dXRlcyI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUg YmFzZSBhdHRyaWJ1dGVzIGZvciBhbGwgbm9kZXMuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwv eHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l PSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzcGxheU5hbWUiIHR5cGU9InVhOkxvY2Fs aXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl bWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJz PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IldyaXRlTWFz ayIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt ZW50IG5hbWU9IlVzZXJXcml0ZU1hc2siIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9 IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs ZW1lbnQgbmFtZT0iTm9kZUF0dHJpYnV0ZXMiIHR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4N Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iT2JqZWN0QXR0cmlidXRlcyI+DQogICAgPHhzOmFu bm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYW4g b2JqZWN0IG5vZGUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAg ICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24g YmFzZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAg ICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50Tm90aWZpZXIiIHR5cGU9InhzOnVuc2lnbmVkQnl0 ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpl eHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4N CiAgPHhzOmVsZW1lbnQgbmFtZT0iT2JqZWN0QXR0cmlidXRlcyIgdHlwZT0idG5zOk9iamVjdEF0 dHJpYnV0ZXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhYmxlQXR0cmlidXRl cyI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgYXR0 cmlidXRlcyBmb3IgYSB2YXJpYWJsZSBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hz OmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAg ICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgICAgIDx4czpz ZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0idWE6VmFy aWFudCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFU eXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czppbnQiIG1pbk9j Y3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcnJheURpbWVuc2lvbnMi IHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBY2Nlc3NMZXZlbCIgdHlwZT0ieHM6dW5zaWdu ZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNl ckFjY2Vzc0xldmVsIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAg ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNaW5pbXVtU2FtcGxpbmdJbnRlcnZhbCIgdHlwZT0i eHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i SGlzdG9yaXppbmciIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg PC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENv bnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlZhcmlhYmxl QXR0cmlidXRlcyIgdHlwZT0idG5zOlZhcmlhYmxlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29t cGxleFR5cGUgbmFtZT0iTWV0aG9kQXR0cmlidXRlcyI+DQogICAgPHhzOmFubm90YXRpb24+DQog ICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSBtZXRob2Qgbm9kZS48 L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4 Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9k ZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1l bnQgbmFtZT0iRXhlY3V0YWJsZSIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0K ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJFeGVjdXRhYmxlIiB0eXBlPSJ4czpib29s ZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hz OmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBl Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNZXRob2RBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6TWV0aG9k QXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iT2JqZWN0VHlwZUF0dHJp YnV0ZXMiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhl IGF0dHJpYnV0ZXMgZm9yIGFuIG9iamVjdCB0eXBlIG5vZGUuPC94czpkb2N1bWVudGF0aW9uPg0K ICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNl Ij4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICAg ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IklzQWJzdHJhY3Qi IHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5j ZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwv eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9iamVjdFR5cGVBdHRyaWJ1dGVz IiB0eXBlPSJ0bnM6T2JqZWN0VHlwZUF0dHJpYnV0ZXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl IG5hbWU9IlZhcmlhYmxlVHlwZUF0dHJpYnV0ZXMiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAg ICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGEgdmFyaWFibGUgdHlwZSBu b2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNv bXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRu czpOb2RlQXR0cmlidXRlcyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6 ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0idWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0K ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1p bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFt ZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8 eHM6ZWxlbWVudCBuYW1lPSJBcnJheURpbWVuc2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIg bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu YW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg ICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBs ZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWYXJp YWJsZVR5cGVBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6VmFyaWFibGVUeXBlQXR0cmlidXRlcyIgLz4N Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVmZXJlbmNlVHlwZUF0dHJpYnV0ZXMiPg0KICAg IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMg Zm9yIGEgcmVmZXJlbmNlIHR5cGUgbm9kZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czph bm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAg PHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8eHM6c2Vx dWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNBYnN0cmFjdCIgdHlwZT0ieHM6 Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN5 bW1ldHJpYyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4 czplbGVtZW50IG5hbWU9IkludmVyc2VOYW1lIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5P Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAg ICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21w bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlVHlwZUF0dHJpYnV0ZXMiIHR5 cGU9InRuczpSZWZlcmVuY2VUeXBlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg bmFtZT0iRGF0YVR5cGVBdHRyaWJ1dGVzIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4 czpkb2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1dGVzIGZvciBhIGRhdGEgdHlwZSBub2RlLjwveHM6 ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250 ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlQXR0 cmlidXRlcyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu YW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg ICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBs ZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRh VHlwZUF0dHJpYnV0ZXMiIHR5cGU9InRuczpEYXRhVHlwZUF0dHJpYnV0ZXMiIC8+DQoNCiAgPHhz OmNvbXBsZXhUeXBlIG5hbWU9IlZpZXdBdHRyaWJ1dGVzIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4N CiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1dGVzIGZvciBhIHZpZXcgbm9kZS48 L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4 Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9k ZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1l bnQgbmFtZT0iQ29udGFpbnNOb0xvb3BzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAi IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnROb3RpZmllciIgdHlwZT0ieHM6 dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQog ICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNv bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWaWV3QXR0cmlidXRlcyIgdHlwZT0idG5z OlZpZXdBdHRyaWJ1dGVzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZGROb2Rlc0l0 ZW0iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSByZXF1 ZXN0IHRvIGFkZCBhIG5vZGUgdG8gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1l bnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg PHhzOmVsZW1lbnQgbmFtZT0iUGFyZW50Tm9kZUlkIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIg bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 IlJlZmVyZW5jZVR5cGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTmV3Tm9kZUlkIiB0 eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZU5hbWUiIHR5cGU9InVhOlF1YWxpZmllZE5h bWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu YW1lPSJOb2RlQ2xhc3MiIHR5cGU9InRuczpOb2RlQ2xhc3MiIG1pbk9jY3Vycz0iMCIgLz4NCiAg ICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVBdHRyaWJ1dGVzIiB0eXBlPSJ1YTpFeHRlbnNpb25P YmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu dCBuYW1lPSJUeXBlRGVmaW5pdGlvbiIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vy cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkTm9kZXNJdGVtIiB0eXBlPSJ0bnM6QWRk Tm9kZXNJdGVtIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZBZGROb2Rlc0l0 ZW0iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZE5vZGVz SXRlbSIgdHlwZT0idG5zOkFkZE5vZGVzSXRlbSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu Ym91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQWRkTm9kZXNJdGVtIiB0eXBl PSJ0bnM6TGlzdE9mQWRkTm9kZXNJdGVtIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZGROb2Rlc1Jlc3VsdCI+DQogICAgPHhzOmFubm90 YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHJlc3VsdCBvZiBhbiBhZGQgbm9kZSBv cGVyYXRpb24uPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1 YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJB ZGRlZE5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt ZW50IG5hbWU9IkFkZE5vZGVzUmVzdWx0IiB0eXBlPSJ0bnM6QWRkTm9kZXNSZXN1bHQiIC8+DQoN CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkFkZE5vZGVzUmVzdWx0Ij4NCiAgICA8eHM6 c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGROb2Rlc1Jlc3VsdCIgdHlwZT0i dG5zOkFkZE5vZGVzUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZBZGROb2Rlc1Jlc3VsdCIgdHlwZT0idG5zOkxp c3RPZkFkZE5vZGVzUmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4 czpjb21wbGV4VHlwZSBuYW1lPSJBZGROb2Rlc1JlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9u Pg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QWRkcyBvbmUgb3IgbW9yZSBub2RlcyB0byB0aGUg c2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3Rh dGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0 SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVzVG9BZGQiIHR5cGU9InRuczpM aXN0T2ZBZGROb2Rlc0l0ZW0iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i QWRkTm9kZXNSZXF1ZXN0IiB0eXBlPSJ0bnM6QWRkTm9kZXNSZXF1ZXN0IiAvPg0KDQogIDx4czpj b21wbGV4VHlwZSBuYW1lPSJBZGROb2Rlc1Jlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4N CiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkFkZHMgb25lIG9yIG1vcmUgbm9kZXMgdG8gdGhlIHNl cnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRp b24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VI ZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0 T2ZBZGROb2Rlc1Jlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg IDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25v c3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkTm9kZXNS ZXNwb25zZSIgdHlwZT0idG5zOkFkZE5vZGVzUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhU eXBlIG5hbWU9IkFkZFJlZmVyZW5jZXNJdGVtIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAg IDx4czpkb2N1bWVudGF0aW9uPkEgcmVxdWVzdCB0byBhZGQgYSByZWZlcmVuY2UgdG8gdGhlIHNl cnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRp b24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU291cmNlTm9k ZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VUeXBlSWQiIHR5cGU9InVhOk5vZGVJZCIg bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 IklzRm9yd2FyZCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz OmVsZW1lbnQgbmFtZT0iVGFyZ2V0U2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vy cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXRO b2RlSWQiIHR5cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGFyZ2V0Tm9kZUNsYXNzIiB0eXBlPSJ0 bnM6Tm9kZUNsYXNzIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkUmVmZXJlbmNlc0l0ZW0iIHR5 cGU9InRuczpBZGRSZWZlcmVuY2VzSXRlbSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i TGlzdE9mQWRkUmVmZXJlbmNlc0l0ZW0iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl bGVtZW50IG5hbWU9IkFkZFJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0bnM6QWRkUmVmZXJlbmNlc0l0 ZW0iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAv Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 IG5hbWU9Ikxpc3RPZkFkZFJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0bnM6TGlzdE9mQWRkUmVmZXJl bmNlc0l0ZW0iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhU eXBlIG5hbWU9IkFkZFJlZmVyZW5jZXNSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg ICAgIDx4czpkb2N1bWVudGF0aW9uPkFkZHMgb25lIG9yIG1vcmUgcmVmZXJlbmNlcyB0byB0aGUg c2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3Rh dGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0 SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZXNUb0FkZCIgdHlwZT0i dG5zOkxpc3RPZkFkZFJlZmVyZW5jZXNJdGVtIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt ZW50IG5hbWU9IkFkZFJlZmVyZW5jZXNSZXF1ZXN0IiB0eXBlPSJ0bnM6QWRkUmVmZXJlbmNlc1Jl cXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFkZFJlZmVyZW5jZXNSZXNwb25z ZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BZGRzIG9u ZSBvciBtb3JlIHJlZmVyZW5jZXMgdG8gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9j dW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhl YWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIg bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5m b3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 czplbGVtZW50IG5hbWU9IkFkZFJlZmVyZW5jZXNSZXNwb25zZSIgdHlwZT0idG5zOkFkZFJlZmVy ZW5jZXNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlTm9kZXNJ dGVtIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgcmVx dWVzdCB0byBkZWxldGUgYSBub2RlIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRv Y3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg ICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9 IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlVGFy Z2V0UmVmZXJlbmNlcyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwv eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRl bGV0ZU5vZGVzSXRlbSIgdHlwZT0idG5zOkRlbGV0ZU5vZGVzSXRlbSIgLz4NCg0KICA8eHM6Y29t cGxleFR5cGUgbmFtZT0iTGlzdE9mRGVsZXRlTm9kZXNJdGVtIj4NCiAgICA8eHM6c2VxdWVuY2U+ DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVOb2Rlc0l0ZW0iIHR5cGU9InRuczpEZWxl dGVOb2Rlc0l0ZW0iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxl PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 czplbGVtZW50IG5hbWU9Ikxpc3RPZkRlbGV0ZU5vZGVzSXRlbSIgdHlwZT0idG5zOkxpc3RPZkRl bGV0ZU5vZGVzSXRlbSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29t cGxleFR5cGUgbmFtZT0iRGVsZXRlTm9kZXNSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4N CiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkRlbGV0ZSBvbmUgb3IgbW9yZSBub2RlcyBmcm9tIHRo ZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v dGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVl c3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb0RlbGV0ZSIgdHlwZT0i dG5zOkxpc3RPZkRlbGV0ZU5vZGVzSXRlbSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu dCBuYW1lPSJEZWxldGVOb2Rlc1JlcXVlc3QiIHR5cGU9InRuczpEZWxldGVOb2Rlc1JlcXVlc3Qi IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZU5vZGVzUmVzcG9uc2UiPg0KICAg IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+RGVsZXRlIG9uZSBvciBt b3JlIG5vZGVzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlv bj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs ZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWlu T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJl c3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9 InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 IG5hbWU9IkRlbGV0ZU5vZGVzUmVzcG9uc2UiIHR5cGU9InRuczpEZWxldGVOb2Rlc1Jlc3BvbnNl IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEZWxldGVSZWZlcmVuY2VzSXRlbSI+DQog ICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHJlcXVlc3QgdG8g ZGVsZXRlIGEgbm9kZSBmcm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50 YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 czplbGVtZW50IG5hbWU9IlNvdXJjZU5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9 IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNl VHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ZvcndhcmQiIHR5cGU9InhzOmJvb2xlYW4iIG1p bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRhcmdldE5vZGVJZCIgdHlw ZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVCaWRpcmVjdGlvbmFsIiB0eXBlPSJ4czpib29s ZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlUmVmZXJlbmNlc0l0ZW0iIHR5cGU9InRu czpEZWxldGVSZWZlcmVuY2VzSXRlbSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlz dE9mRGVsZXRlUmVmZXJlbmNlc0l0ZW0iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl bGVtZW50IG5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0bnM6RGVsZXRlUmVmZXJl bmNlc0l0ZW0iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0 cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl bGVtZW50IG5hbWU9Ikxpc3RPZkRlbGV0ZVJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0bnM6TGlzdE9m RGVsZXRlUmVmZXJlbmNlc0l0ZW0iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg PHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNSZXF1ZXN0Ij4NCiAgICA8eHM6 YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkRlbGV0ZSBvbmUgb3IgbW9yZSBy ZWZlcmVuY2VzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlv bj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs ZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9j Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZl cmVuY2VzVG9EZWxldGUiIHR5cGU9InRuczpMaXN0T2ZEZWxldGVSZWZlcmVuY2VzSXRlbSIgbWlu T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVSZWZlcmVuY2VzUmVxdWVz dCIgdHlwZT0idG5zOkRlbGV0ZVJlZmVyZW5jZXNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4 VHlwZSBuYW1lPSJEZWxldGVSZWZlcmVuY2VzUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9u Pg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+RGVsZXRlIG9uZSBvciBtb3JlIHJlZmVyZW5jZXMg ZnJvbSB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwv eHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l PSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAi IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlw ZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9m RGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVs ZXRlUmVmZXJlbmNlc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6RGVsZXRlUmVmZXJlbmNlc1Jlc3BvbnNl IiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJBdHRyaWJ1dGVXcml0ZU1hc2siPg0KICAg IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+RGVmaW5lIGJpdHMgdXNl ZCB0byBpbmRpY2F0ZSB3aGljaCBhdHRyaWJ1dGVzIGFyZSB3cml0YWJsZS48L3hzOmRvY3VtZW50 YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4 czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb25lXzAiIC8+DQogICAg ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFjY2Vzc0xldmVsXzEiIC8+DQogICAgICA8eHM6ZW51 bWVyYXRpb24gdmFsdWU9IkFycmF5RGltZW5zaW9uc18yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0 aW9uIHZhbHVlPSJCcm93c2VOYW1lXzQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 IkNvbnRhaW5zTm9Mb29wc184IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEYXRh VHlwZV8xNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGVzY3JpcHRpb25fMzIi IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRpc3BsYXlOYW1lXzY0IiAvPg0KICAg ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJFdmVudE5vdGlmaWVyXzEyOCIgLz4NCiAgICAgIDx4 czplbnVtZXJhdGlvbiB2YWx1ZT0iRXhlY3V0YWJsZV8yNTYiIC8+DQogICAgICA8eHM6ZW51bWVy YXRpb24gdmFsdWU9Ikhpc3Rvcml6aW5nXzUxMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 YWx1ZT0iSW52ZXJzZU5hbWVfMTAyNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i SXNBYnN0cmFjdF8yMDQ4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJNaW5pbXVt U2FtcGxpbmdJbnRlcnZhbF80MDk2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJO b2RlQ2xhc3NfODE5MiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9kZUlkXzE2 Mzg0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTeW1tZXRyaWNfMzI3NjgiIC8+ DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVzZXJBY2Nlc3NMZXZlbF82NTUzNiIgLz4N CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVXNlckV4ZWN1dGFibGVfMTMxMDcyIiAvPg0K ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVc2VyV3JpdGVNYXNrXzI2MjE0NCIgLz4NCiAg ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVmFsdWVSYW5rXzUyNDI4OCIgLz4NCiAgICAgIDx4 czplbnVtZXJhdGlvbiB2YWx1ZT0iV3JpdGVNYXNrXzEwNDg1NzYiIC8+DQogICAgICA8eHM6ZW51 bWVyYXRpb24gdmFsdWU9IlZhbHVlRm9yVmFyaWFibGVUeXBlXzIwOTcxNTIiIC8+DQogICAgPC94 czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJB dHRyaWJ1dGVXcml0ZU1hc2siIHR5cGU9InRuczpBdHRyaWJ1dGVXcml0ZU1hc2siIC8+DQoNCiAg PHhzOnNpbXBsZVR5cGUgIG5hbWU9IkJyb3dzZURpcmVjdGlvbiI+DQogICAgPHhzOmFubm90YXRp b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgZGlyZWN0aW9ucyBvZiB0aGUgcmVmZXJl bmNlcyB0byByZXR1cm4uPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4N CiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJh dGlvbiB2YWx1ZT0iRm9yd2FyZF8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJ bnZlcnNlXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJvdGhfMiIgLz4NCiAg ICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5h bWU9IkJyb3dzZURpcmVjdGlvbiIgdHlwZT0idG5zOkJyb3dzZURpcmVjdGlvbiIgLz4NCg0KICA8 eHM6Y29tcGxleFR5cGUgbmFtZT0iVmlld0Rlc2NyaXB0aW9uIj4NCiAgICA8eHM6YW5ub3RhdGlv bj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSB2aWV3IHRvIGJyb3dzZS48L3hzOmRvY3Vt ZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg IDx4czplbGVtZW50IG5hbWU9IlZpZXdJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAi IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0YW1wIiB0 eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt ZT0iVmlld1ZlcnNpb24iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQog ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt ZT0iVmlld0Rlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6Vmlld0Rlc2NyaXB0aW9uIiAvPg0KDQogIDx4 czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VEZXNjcmlwdGlvbiI+DQogICAgPHhzOmFubm90YXRp b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHJlcXVlc3QgdG8gYnJvd3NlIHRoZSB0aGUg cmVmZXJlbmNlcyBmcm9tIGEgbm9kZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v dGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJ ZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg ICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlRGlyZWN0aW9uIiB0eXBlPSJ0bnM6QnJvd3NlRGly ZWN0aW9uIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVu Y2VUeXBlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkluY2x1ZGVTdWJ0eXBlcyIgdHlwZT0ieHM6Ym9v bGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUNsYXNz TWFzayIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl bGVtZW50IG5hbWU9IlJlc3VsdE1hc2siIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9 IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs ZW1lbnQgbmFtZT0iQnJvd3NlRGVzY3JpcHRpb24iIHR5cGU9InRuczpCcm93c2VEZXNjcmlwdGlv biIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJvd3NlRGVzY3JpcHRpb24i Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZURlc2Ny aXB0aW9uIiB0eXBlPSJ0bnM6QnJvd3NlRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2Nj dXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb3dzZURlc2Ny aXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlRGVzY3JpcHRpb24iIG5pbGxhYmxlPSJ0cnVl Ij48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkJyb3dzZVJlc3VsdE1h c2siPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBiaXQg bWFzayB3aGljaCBzcGVjaWZpZXMgd2hhdCBzaG91bGQgYmUgcmV0dXJuZWQgaW4gYSBicm93c2Ug cmVzcG9uc2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 YWx1ZT0iTm9uZV8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZWZlcmVuY2VU eXBlSWRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNGb3J3YXJkXzIiIC8+ DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vZGVDbGFzc180IiAvPg0KICAgICAgPHhz OmVudW1lcmF0aW9uIHZhbHVlPSJCcm93c2VOYW1lXzgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp b24gdmFsdWU9IkRpc3BsYXlOYW1lXzE2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl PSJUeXBlRGVmaW5pdGlvbl8zMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQWxs XzYzIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZWZlcmVuY2VUeXBlSW5mb18z IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJUYXJnZXRJbmZvXzYwIiAvPg0KICAg IDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt ZT0iQnJvd3NlUmVzdWx0TWFzayIgdHlwZT0idG5zOkJyb3dzZVJlc3VsdE1hc2siIC8+DQoNCiAg PHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZmVyZW5jZURlc2NyaXB0aW9uIj4NCiAgICA8eHM6YW5u b3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSBkZXNjcmlwdGlvbiBvZiBhIHJl ZmVyZW5jZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4 czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgdHlw ZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz OmVsZW1lbnQgbmFtZT0iSXNGb3J3YXJkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAi IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOkV4cGFuZGVkTm9k ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg bmFtZT0iQnJvd3NlTmFtZSIgdHlwZT0idWE6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiBu aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc3BsYXlOYW1lIiB0 eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUNsYXNzIiB0eXBlPSJ0bnM6Tm9kZUNsYXNzIiBt aW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUeXBlRGVmaW5pdGlvbiIg dHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg bmFtZT0iUmVmZXJlbmNlRGVzY3JpcHRpb24iIHR5cGU9InRuczpSZWZlcmVuY2VEZXNjcmlwdGlv biIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUmVmZXJlbmNlRGVzY3JpcHRp b24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5j ZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6UmVmZXJlbmNlRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0i MCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlJl ZmVyZW5jZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mUmVmZXJlbmNlRGVzY3JpcHRpb24i IG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ29u dGludWF0aW9uUG9pbnQiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgLz4NCg0KICA8eHM6Y29tcGxl eFR5cGUgbmFtZT0iQnJvd3NlUmVzdWx0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4 czpkb2N1bWVudGF0aW9uPlRoZSByZXN1bHQgb2YgYSBicm93c2Ugb3BlcmF0aW9uLjwveHM6ZG9j dW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg ICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWlu T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGludWF0aW9uUG9pbnQi IHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZXMiIHR5cGU9InRuczpMaXN0T2ZSZWZl cmVuY2VEZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJC cm93c2VSZXN1bHQiIHR5cGU9InRuczpCcm93c2VSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhU eXBlIG5hbWU9Ikxpc3RPZkJyb3dzZVJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg PHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUmVzdWx0IiB0eXBlPSJ0bnM6QnJvd3NlUmVzdWx0IiBt aW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l PSJMaXN0T2ZCcm93c2VSZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VSZXN1bHQiIG5pbGxh YmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb3dz ZVJlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+ QnJvd3NlIHRoZSByZWZlcmVuY2VzIGZvciBvbmUgb3IgbW9yZSBub2RlcyBmcm9tIHRoZSBzZXJ2 ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9u Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFk ZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmlldyIgdHlwZT0idG5zOlZpZXdEZXNjcmlw dGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 IG5hbWU9IlJlcXVlc3RlZE1heFJlZmVyZW5jZXNQZXJOb2RlIiB0eXBlPSJ4czp1bnNpZ25lZElu dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb0Jyb3dz ZSIgdHlwZT0idG5zOkxpc3RPZkJyb3dzZURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxh YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog IDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVJlcXVlc3QiIHR5cGU9InRuczpCcm93c2VSZXF1ZXN0 IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VSZXNwb25zZSI+DQogICAgPHhz OmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5Ccm93c2UgdGhlIHJlZmVyZW5j ZXMgZm9yIG9uZSBvciBtb3JlIG5vZGVzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwv eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNl Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNw b25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl bGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VSZXN1bHQiIG1pbk9j Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFn bm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAi IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVJlc3BvbnNlIiB0eXBlPSJ0bnM6QnJvd3Nl UmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb3dzZU5leHRSZXF1ZXN0 Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNvbnRpbnVl cyBvbmUgb3IgbW9yZSBicm93c2Ugb3BlcmF0aW9ucy48L3hzOmRvY3VtZW50YXRpb24+DQogICAg PC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h bWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAi IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsZWFzZUNvbnRp bnVhdGlvblBvaW50cyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg PHhzOmVsZW1lbnQgbmFtZT0iQ29udGludWF0aW9uUG9pbnRzIiB0eXBlPSJ1YTpMaXN0T2ZCeXRl U3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZU5leHRS ZXF1ZXN0IiB0eXBlPSJ0bnM6QnJvd3NlTmV4dFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhU eXBlIG5hbWU9IkJyb3dzZU5leHRSZXNwb25zZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg ICA8eHM6ZG9jdW1lbnRhdGlvbj5Db250aW51ZXMgb25lIG9yIG1vcmUgYnJvd3NlIG9wZXJhdGlv bnMuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2Vx dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5z OlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg PHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZkJyb3dzZVJlc3VsdCIg bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vy cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlTmV4dFJlc3BvbnNlIiB0eXBlPSJ0 bnM6QnJvd3NlTmV4dFJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWxh dGl2ZVBhdGhFbGVtZW50Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVu dGF0aW9uPkFuIGVsZW1lbnQgaW4gYSByZWxhdGl2ZSBwYXRoLjwveHM6ZG9jdW1lbnRhdGlvbj4N CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l bnQgbmFtZT0iUmVmZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIg bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ludmVyc2UiIHR5 cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 IkluY2x1ZGVTdWJ0eXBlcyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAg ICAgPHhzOmVsZW1lbnQgbmFtZT0iVGFyZ2V0TmFtZSIgdHlwZT0idWE6UXVhbGlmaWVkTmFtZSIg bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWxhdGl2ZVBhdGhFbGVtZW50 IiB0eXBlPSJ0bnM6UmVsYXRpdmVQYXRoRWxlbWVudCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg bmFtZT0iTGlzdE9mUmVsYXRpdmVQYXRoRWxlbWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsYXRpdmVQYXRoRWxlbWVudCIgdHlwZT0idG5zOlJlbGF0 aXZlUGF0aEVsZW1lbnQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog IDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlJlbGF0aXZlUGF0aEVsZW1lbnQiIHR5cGU9InRuczpM aXN0T2ZSZWxhdGl2ZVBhdGhFbGVtZW50IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWxhdGl2ZVBhdGgiPg0KICAgIDx4czphbm5vdGF0 aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSByZWxhdGl2ZSBwYXRoIGNvbnN0cnVjdGVk IGZyb20gcmVmZXJlbmNlIHR5cGVzIGFuZCBicm93c2UgbmFtZXMuPC94czpkb2N1bWVudGF0aW9u Pg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl bWVudCBuYW1lPSJFbGVtZW50cyIgdHlwZT0idG5zOkxpc3RPZlJlbGF0aXZlUGF0aEVsZW1lbnQi IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsYXRpdmVQYXRoIiB0eXBl PSJ0bnM6UmVsYXRpdmVQYXRoIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VQ YXRoIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgcmVx dWVzdCB0byB0cmFuc2xhdGUgYSBwYXRoIGludG8gYSBub2RlIGlkLjwveHM6ZG9jdW1lbnRhdGlv bj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs ZW1lbnQgbmFtZT0iU3RhcnRpbmdOb2RlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIg bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWxhdGl2ZVBhdGgi IHR5cGU9InRuczpSZWxhdGl2ZVBhdGgiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg bmFtZT0iQnJvd3NlUGF0aCIgdHlwZT0idG5zOkJyb3dzZVBhdGgiIC8+DQoNCiAgPHhzOmNvbXBs ZXhUeXBlIG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGgiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg IDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGgiIHR5cGU9InRuczpCcm93c2VQYXRoIiBtaW5P Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM aXN0T2ZCcm93c2VQYXRoIiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlUGF0aCIgbmlsbGFibGU9InRy dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQnJvd3NlUGF0aFRh cmdldCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUg dGFyZ2V0IG9mIHRoZSB0cmFuc2xhdGVkIHBhdGguPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwv eHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l PSJUYXJnZXRJZCIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFi bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZW1haW5pbmdQYXRoSW5kZXgi IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5j ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUGF0aFRh cmdldCIgdHlwZT0idG5zOkJyb3dzZVBhdGhUYXJnZXQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl IG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGhUYXJnZXQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg IDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGhUYXJnZXQiIHR5cGU9InRuczpCcm93c2VQYXRo VGFyZ2V0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl bWVudCBuYW1lPSJMaXN0T2ZCcm93c2VQYXRoVGFyZ2V0IiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3Nl UGF0aFRhcmdldCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxl eFR5cGUgbmFtZT0iQnJvd3NlUGF0aFJlc3VsdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg ICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgcmVzdWx0IG9mIGEgdHJhbnNsYXRlIG9wZWFyYXRpb24u PC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVu Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXND b2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXRzIiB0 eXBlPSJ0bnM6TGlzdE9mQnJvd3NlUGF0aFRhcmdldCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 ZWxlbWVudCBuYW1lPSJCcm93c2VQYXRoUmVzdWx0IiB0eXBlPSJ0bnM6QnJvd3NlUGF0aFJlc3Vs dCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJvd3NlUGF0aFJlc3VsdCI+ DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUGF0aFJl c3VsdCIgdHlwZT0idG5zOkJyb3dzZVBhdGhSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJz PSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGhSZXN1 bHQiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VQYXRoUmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94 czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJUcmFuc2xhdGVCcm93c2VQYXRo c1RvTm9kZUlkc1JlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3Vt ZW50YXRpb24+VHJhbnNsYXRlcyBvbmUgb3IgbW9yZSBwYXRocyBpbiB0aGUgc2VydmVyIGFkZHJl c3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBl PSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg ICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGhzIiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3Nl UGF0aCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2xhdGVCcm93 c2VQYXRoc1RvTm9kZUlkc1JlcXVlc3QiIHR5cGU9InRuczpUcmFuc2xhdGVCcm93c2VQYXRoc1Rv Tm9kZUlkc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlRyYW5zbGF0ZUJy b3dzZVBhdGhzVG9Ob2RlSWRzUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAg PHhzOmRvY3VtZW50YXRpb24+VHJhbnNsYXRlcyBvbmUgb3IgbW9yZSBwYXRocyBpbiB0aGUgc2Vy dmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlv bj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhl YWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RP ZkJyb3dzZVBhdGhSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg ICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdu b3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRyYW5zbGF0 ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVzcG9uc2UiIHR5cGU9InRuczpUcmFuc2xhdGVCcm93c2VQ YXRoc1RvTm9kZUlkc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWdp c3Rlck5vZGVzUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l bnRhdGlvbj5SZWdpc3RlcnMgb25lIG9yIG1vcmUgbm9kZXMgZm9yIHJlcGVhdGVkIHVzZSB3aXRo aW4gYSBzZXNzaW9uLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQog ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIg dHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2Rlc1RvUmVnaXN0ZXIiIHR5cGU9InVhOkxpc3RP Zk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWdpc3Rlck5v ZGVzUmVxdWVzdCIgdHlwZT0idG5zOlJlZ2lzdGVyTm9kZXNSZXF1ZXN0IiAvPg0KDQogIDx4czpj b21wbGV4VHlwZSBuYW1lPSJSZWdpc3Rlck5vZGVzUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0 aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+UmVnaXN0ZXJzIG9uZSBvciBtb3JlIG5vZGVz IGZvciByZXBlYXRlZCB1c2Ugd2l0aGluIGEgc2Vzc2lvbi48L3hzOmRvY3VtZW50YXRpb24+DQog ICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vy cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWdpc3Rl cmVkTm9kZUlkcyIgdHlwZT0idWE6TGlzdE9mTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyTm9kZXNSZXNwb25zZSIgdHlwZT0idG5zOlJlZ2lzdGVy Tm9kZXNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVW5yZWdpc3Rlck5v ZGVzUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlv bj5VbnJlZ2lzdGVycyBvbmUgb3IgbW9yZSBwcmV2aW91c2x5IHJlZ2lzdGVyZWQgbm9kZXMuPC94 czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+ DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVz dEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt ZW50IG5hbWU9Ik5vZGVzVG9VbnJlZ2lzdGVyIiB0eXBlPSJ1YTpMaXN0T2ZOb2RlSWQiIG1pbk9j Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVW5yZWdpc3Rlck5vZGVzUmVxdWVzdCIg dHlwZT0idG5zOlVucmVnaXN0ZXJOb2Rlc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl IG5hbWU9IlVucmVnaXN0ZXJOb2Rlc1Jlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg ICAgIDx4czpkb2N1bWVudGF0aW9uPlVucmVnaXN0ZXJzIG9uZSBvciBtb3JlIHByZXZpb3VzbHkg cmVnaXN0ZXJlZCBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9u Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVh ZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs ZW1lbnQgbmFtZT0iVW5yZWdpc3Rlck5vZGVzUmVzcG9uc2UiIHR5cGU9InRuczpVbnJlZ2lzdGVy Tm9kZXNSZXNwb25zZSIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb3VudGVyIiB0eXBlPSJ4 czp1bnNpZ25lZEludCIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOdW1lcmljUmFuZ2UiIHR5 cGU9InhzOnN0cmluZyIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lIiB0eXBlPSJ4czpz dHJpbmciIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0ZSIgdHlwZT0ieHM6ZGF0ZVRpbWUi IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVuZHBvaW50Q29uZmlndXJhdGlvbiI+DQog ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iT3BlcmF0aW9uVGltZW91 dCIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l PSJVc2VCaW5hcnlFbmNvZGluZyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0K ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4U3RyaW5nTGVuZ3RoIiB0eXBlPSJ4czppbnQiIG1p bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heEJ5dGVTdHJpbmdMZW5n dGgiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt ZT0iTWF4QXJyYXlMZW5ndGgiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg PHhzOmVsZW1lbnQgbmFtZT0iTWF4TWVzc2FnZVNpemUiIHR5cGU9InhzOmludCIgbWluT2NjdXJz PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4QnVmZmVyU2l6ZSIgdHlwZT0ieHM6 aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDaGFubmVsTGlm ZXRpbWUiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg bmFtZT0iU2VjdXJpdHlUb2tlbkxpZmV0aW1lIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIg Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu dCBuYW1lPSJFbmRwb2ludENvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpFbmRwb2ludENvbmZpZ3Vy YXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkVuZHBvaW50Q29uZmln dXJhdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5k cG9pbnRDb25maWd1cmF0aW9uIiB0eXBlPSJ0bnM6RW5kcG9pbnRDb25maWd1cmF0aW9uIiBtaW5P Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM aXN0T2ZFbmRwb2ludENvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpMaXN0T2ZFbmRwb2ludENvbmZp Z3VyYXRpb24iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5 cGUgIG5hbWU9IkNvbXBsaWFuY2VMZXZlbCI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9Inhz OnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVudGVzdGVkXzAiIC8+DQog ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlBhcnRpYWxfMSIgLz4NCiAgICAgIDx4czplbnVt ZXJhdGlvbiB2YWx1ZT0iU2VsZlRlc3RlZF8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh bHVlPSJDZXJ0aWZpZWRfMyIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBs ZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNvbXBsaWFuY2VMZXZlbCIgdHlwZT0idG5zOkNv bXBsaWFuY2VMZXZlbCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU3VwcG9ydGVkUHJv ZmlsZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iT3JnYW5p emF0aW9uVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQcm9maWxlSWQiIHR5cGU9InhzOnN0cmluZyIg bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 IkNvbXBsaWFuY2VUb29sIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb21wbGlhbmNlRGF0ZSIgdHlwZT0i eHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNv bXBsaWFuY2VMZXZlbCIgdHlwZT0idG5zOkNvbXBsaWFuY2VMZXZlbCIgbWluT2NjdXJzPSIwIiAv Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVW5zdXBwb3J0ZWRVbml0SWRzIiB0eXBlPSJ1YTpM aXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU3VwcG9y dGVkUHJvZmlsZSIgdHlwZT0idG5zOlN1cHBvcnRlZFByb2ZpbGUiIC8+DQoNCiAgPHhzOmNvbXBs ZXhUeXBlIG5hbWU9Ikxpc3RPZlN1cHBvcnRlZFByb2ZpbGUiPg0KICAgIDx4czpzZXF1ZW5jZT4N CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1cHBvcnRlZFByb2ZpbGUiIHR5cGU9InRuczpTdXBw b3J0ZWRQcm9maWxlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJs ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTdXBwb3J0ZWRQcm9maWxlIiB0eXBlPSJ0bnM6TGlzdE9m U3VwcG9ydGVkUHJvZmlsZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6 Y29tcGxleFR5cGUgbmFtZT0iU29mdHdhcmVDZXJ0aWZpY2F0ZSI+DQogICAgPHhzOnNlcXVlbmNl Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJvZHVjdE5hbWUiIHR5cGU9InhzOnN0cmluZyIg bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 IlByb2R1Y3RVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZlbmRvck5hbWUiIHR5cGU9InhzOnN0cmlu ZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h bWU9IlZlbmRvclByb2R1Y3RDZXJ0aWZpY2F0ZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5P Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU29m dHdhcmVWZXJzaW9uIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCdWlsZE51bWJlciIgdHlwZT0ieHM6c3Ry aW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg bmFtZT0iQnVpbGREYXRlIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg ICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNzdWVkQnkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJz PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Iklzc3VlRGF0 ZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 IG5hbWU9IlN1cHBvcnRlZFByb2ZpbGVzIiB0eXBlPSJ0bnM6TGlzdE9mU3VwcG9ydGVkUHJvZmls ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTb2Z0d2FyZUNlcnRpZmlj YXRlIiB0eXBlPSJ0bnM6U29mdHdhcmVDZXJ0aWZpY2F0ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5 cGUgbmFtZT0iUXVlcnlEYXRhRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg IDx4czplbGVtZW50IG5hbWU9IlJlbGF0aXZlUGF0aCIgdHlwZT0idG5zOlJlbGF0aXZlUGF0aCIg bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 IkF0dHJpYnV0ZUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg ICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXhSYW5nZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1 cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5RGF0YURlc2NyaXB0aW9uIiB0eXBl PSJ0bnM6UXVlcnlEYXRhRGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 Ikxpc3RPZlF1ZXJ5RGF0YURlc2NyaXB0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 eHM6ZWxlbWVudCBuYW1lPSJRdWVyeURhdGFEZXNjcmlwdGlvbiIgdHlwZT0idG5zOlF1ZXJ5RGF0 YURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJs ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZRdWVyeURhdGFEZXNjcmlwdGlvbiIgdHlwZT0idG5zOkxp c3RPZlF1ZXJ5RGF0YURlc2NyaXB0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJOb2RlVHlwZURlc2NyaXB0aW9uIj4NCiAgICA8eHM6 c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUeXBlRGVmaW5pdGlvbk5vZGUiIHR5 cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5jbHVkZVN1YlR5cGVzIiB0eXBlPSJ4czpib29sZWFu IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVG9SZXR1cm4i IHR5cGU9InRuczpMaXN0T2ZRdWVyeURhdGFEZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxs YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K ICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlVHlwZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6Tm9kZVR5 cGVEZXNjcmlwdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTm9kZVR5 cGVEZXNjcmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt ZT0iTm9kZVR5cGVEZXNjcmlwdGlvbiIgdHlwZT0idG5zOk5vZGVUeXBlRGVzY3JpcHRpb24iIG1p bk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 Ikxpc3RPZk5vZGVUeXBlRGVzY3JpcHRpb24iIHR5cGU9InRuczpMaXN0T2ZOb2RlVHlwZURlc2Ny aXB0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBl ICBuYW1lPSJGaWx0ZXJPcGVyYXRvciI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0 cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkVxdWFsc18wIiAvPg0KICAgICAg PHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJc051bGxfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv biB2YWx1ZT0iR3JlYXRlclRoYW5fMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i TGVzc1RoYW5fMyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iR3JlYXRlclRoYW5P ckVxdWFsXzQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ikxlc3NUaGFuT3JFcXVh bF81IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJMaWtlXzYiIC8+DQogICAgICA8 eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vdF83IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh bHVlPSJCZXR3ZWVuXzgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkluTGlzdF85 IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBbmRfMTAiIC8+DQogICAgICA8eHM6 ZW51bWVyYXRpb24gdmFsdWU9Ik9yXzExIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl PSJDYXN0XzEyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJblZpZXdfMTMiIC8+ DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik9mVHlwZV8xNCIgLz4NCiAgICAgIDx4czpl bnVtZXJhdGlvbiB2YWx1ZT0iUmVsYXRlZFRvXzE1IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u IHZhbHVlPSJCaXR3aXNlQW5kXzE2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJC aXR3aXNlT3JfMTciIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBl Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXJPcGVyYXRvciIgdHlwZT0idG5zOkZpbHRlck9w ZXJhdG9yIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJRdWVyeURhdGFTZXQiPg0KICAg IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6 RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 eHM6ZWxlbWVudCBuYW1lPSJUeXBlRGVmaW5pdGlvbk5vZGUiIHR5cGU9InVhOkV4cGFuZGVkTm9k ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg bmFtZT0iVmFsdWVzIiB0eXBlPSJ1YTpMaXN0T2ZWYXJpYW50IiBtaW5PY2N1cnM9IjAiIG5pbGxh YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog IDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5RGF0YVNldCIgdHlwZT0idG5zOlF1ZXJ5RGF0YVNldCIg Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUXVlcnlEYXRhU2V0Ij4NCiAgICA8 eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeURhdGFTZXQiIHR5cGU9 InRuczpRdWVyeURhdGFTZXQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5p bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlF1ZXJ5RGF0YVNldCIgdHlwZT0idG5zOkxpc3RP ZlF1ZXJ5RGF0YVNldCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29t cGxleFR5cGUgbmFtZT0iTm9kZVJlZmVyZW5jZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg PHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIg bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VUeXBl SWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg ICAgIDx4czplbGVtZW50IG5hbWU9IklzRm9yd2FyZCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2Nj dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlZE5vZGVJZHMiIHR5 cGU9InVhOkxpc3RPZk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l PSJOb2RlUmVmZXJlbmNlIiB0eXBlPSJ0bnM6Tm9kZVJlZmVyZW5jZSIgLz4NCg0KICA8eHM6Y29t cGxleFR5cGUgbmFtZT0iTGlzdE9mTm9kZVJlZmVyZW5jZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZVJlZmVyZW5jZSIgdHlwZT0idG5zOk5vZGVSZWZl cmVuY2UiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVl IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt ZW50IG5hbWU9Ikxpc3RPZk5vZGVSZWZlcmVuY2UiIHR5cGU9InRuczpMaXN0T2ZOb2RlUmVmZXJl bmNlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBu YW1lPSJDb250ZW50RmlsdGVyRWxlbWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz OmVsZW1lbnQgbmFtZT0iRmlsdGVyT3BlcmF0b3IiIHR5cGU9InRuczpGaWx0ZXJPcGVyYXRvciIg bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyT3BlcmFuZHMi IHR5cGU9InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 ZWxlbWVudCBuYW1lPSJDb250ZW50RmlsdGVyRWxlbWVudCIgdHlwZT0idG5zOkNvbnRlbnRGaWx0 ZXJFbGVtZW50IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZDb250ZW50Rmls dGVyRWxlbWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i Q29udGVudEZpbHRlckVsZW1lbnQiIHR5cGU9InRuczpDb250ZW50RmlsdGVyRWxlbWVudCIgbWlu T2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i TGlzdE9mQ29udGVudEZpbHRlckVsZW1lbnQiIHR5cGU9InRuczpMaXN0T2ZDb250ZW50RmlsdGVy RWxlbWVudCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5 cGUgbmFtZT0iQ29udGVudEZpbHRlciI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs ZW1lbnQgbmFtZT0iRWxlbWVudHMiIHR5cGU9InRuczpMaXN0T2ZDb250ZW50RmlsdGVyRWxlbWVu dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb250ZW50RmlsdGVyIiB0 eXBlPSJ0bnM6Q29udGVudEZpbHRlciIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlz dE9mQ29udGVudEZpbHRlciI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg bmFtZT0iQ29udGVudEZpbHRlciIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXIiIG1pbk9jY3Vycz0i MCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkNv bnRlbnRGaWx0ZXIiIHR5cGU9InRuczpMaXN0T2ZDb250ZW50RmlsdGVyIiBuaWxsYWJsZT0idHJ1 ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJGaWx0ZXJPcGVyYW5k Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyT3BlcmFuZCIgdHlwZT0idG5zOkZpbHRl ck9wZXJhbmQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVsZW1lbnRPcGVyYW5kIj4N CiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNp b24gYmFzZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAg ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXgiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P Y2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lv bj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 ZWxlbWVudCBuYW1lPSJFbGVtZW50T3BlcmFuZCIgdHlwZT0idG5zOkVsZW1lbnRPcGVyYW5kIiAv Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXRlcmFsT3BlcmFuZCI+DQogICAgPHhzOmNv bXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRu czpGaWx0ZXJPcGVyYW5kIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czpl bGVtZW50IG5hbWU9IlZhbHVlIiB0eXBlPSJ1YTpWYXJpYW50IiBtaW5PY2N1cnM9IjAiIC8+DQog ICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNv bXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM aXRlcmFsT3BlcmFuZCIgdHlwZT0idG5zOkxpdGVyYWxPcGVyYW5kIiAvPg0KDQogIDx4czpjb21w bGV4VHlwZSBuYW1lPSJBdHRyaWJ1dGVPcGVyYW5kIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQg bWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkZpbHRlck9wZXJh bmQiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i Tm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWxpYXMiIHR5cGU9InhzOnN0cmluZyIgbWlu T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l PSJCcm93c2VQYXRoIiB0eXBlPSJ0bnM6UmVsYXRpdmVQYXRoIiBtaW5PY2N1cnM9IjAiIG5pbGxh YmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkF0dHJpYnV0ZUlkIiB0 eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVt ZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxs YWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5z aW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 czplbGVtZW50IG5hbWU9IkF0dHJpYnV0ZU9wZXJhbmQiIHR5cGU9InRuczpBdHRyaWJ1dGVPcGVy YW5kIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTaW1wbGVBdHRyaWJ1dGVPcGVyYW5k Ij4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRl bnNpb24gYmFzZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQog ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHlwZURlZmluaXRpb25JZCIgdHlwZT0idWE6Tm9k ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVt ZW50IG5hbWU9IkJyb3dzZVBhdGgiIHR5cGU9InVhOkxpc3RPZlF1YWxpZmllZE5hbWUiIG1pbk9j Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i QXR0cmlidXRlSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAg ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXhSYW5nZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5P Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAg ICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21w bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2ltcGxlQXR0cmlidXRlT3BlcmFuZCIgdHlw ZT0idG5zOlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h bWU9Ikxpc3RPZlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg ICAgIDx4czplbGVtZW50IG5hbWU9IlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIHR5cGU9InRuczpT aW1wbGVBdHRyaWJ1dGVPcGVyYW5kIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVk IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTaW1wbGVBdHRyaWJ1dGVPcGVyYW5kIiB0 eXBlPSJ0bnM6TGlzdE9mU2ltcGxlQXR0cmlidXRlT3BlcmFuZCIgbmlsbGFibGU9InRydWUiPjwv eHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ29udGVudEZpbHRlckVsZW1l bnRSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0 YXR1c0NvZGUiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 czplbGVtZW50IG5hbWU9Ik9wZXJhbmRTdGF0dXNDb2RlcyIgdHlwZT0idWE6TGlzdE9mU3RhdHVz Q29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 IG5hbWU9Ik9wZXJhbmREaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJ bmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNvbnRlbnRGaWx0ZXJF bGVtZW50UmVzdWx0IiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlckVsZW1lbnRSZXN1bHQiIC8+DQoN CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0 Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250ZW50Rmls dGVyRWxlbWVudFJlc3VsdCIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0IiBt aW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l PSJMaXN0T2ZDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIgdHlwZT0idG5zOkxpc3RPZkNvbnRl bnRGaWx0ZXJFbGVtZW50UmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQog IDx4czpjb21wbGV4VHlwZSBuYW1lPSJDb250ZW50RmlsdGVyUmVzdWx0Ij4NCiAgICA8eHM6c2Vx dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbGVtZW50UmVzdWx0cyIgdHlwZT0idG5z Okxpc3RPZkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRWxlbWVudERpYWdub3N0aWNJbmZv cyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz OmVsZW1lbnQgbmFtZT0iQ29udGVudEZpbHRlclJlc3VsdCIgdHlwZT0idG5zOkNvbnRlbnRGaWx0 ZXJSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlBhcnNpbmdSZXN1bHQiPg0K ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c0NvZGUiIHR5 cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h bWU9IkRhdGFTdGF0dXNDb2RlcyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJz PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFEaWFn bm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAi IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlBhcnNpbmdSZXN1bHQiIHR5cGU9InRuczpQYXJzaW5n UmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZQYXJzaW5nUmVzdWx0 Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQYXJzaW5nUmVz dWx0IiB0eXBlPSJ0bnM6UGFyc2luZ1Jlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu Ym91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUGFyc2luZ1Jlc3VsdCIgdHlw ZT0idG5zOkxpc3RPZlBhcnNpbmdSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+ DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlF1ZXJ5Rmlyc3RSZXF1ZXN0Ij4NCiAgICA8eHM6 c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0 bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg IDx4czplbGVtZW50IG5hbWU9IlZpZXciIHR5cGU9InRuczpWaWV3RGVzY3JpcHRpb24iIG1pbk9j Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2Rl VHlwZXMiIHR5cGU9InRuczpMaXN0T2ZOb2RlVHlwZURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAi IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyIiB0eXBl PSJ0bnM6Q29udGVudEZpbHRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg ICAgIDx4czplbGVtZW50IG5hbWU9Ik1heERhdGFTZXRzVG9SZXR1cm4iIHR5cGU9InhzOnVuc2ln bmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhSZWZl cmVuY2VzVG9SZXR1cm4iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQog ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt ZT0iUXVlcnlGaXJzdFJlcXVlc3QiIHR5cGU9InRuczpRdWVyeUZpcnN0UmVxdWVzdCIgLz4NCg0K ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUXVlcnlGaXJzdFJlc3BvbnNlIj4NCiAgICA8eHM6c2Vx dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5z OlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg PHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlEYXRhU2V0cyIgdHlwZT0idG5zOkxpc3RPZlF1ZXJ5RGF0 YVNldCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 IG5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vy cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQYXJzaW5n UmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZlBhcnNpbmdSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmls bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3Mi IHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyUmVzdWx0IiB0eXBlPSJ0bnM6 Q29udGVudEZpbHRlclJlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l PSJRdWVyeUZpcnN0UmVzcG9uc2UiIHR5cGU9InRuczpRdWVyeUZpcnN0UmVzcG9uc2UiIC8+DQoN CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlF1ZXJ5TmV4dFJlcXVlc3QiPg0KICAgIDx4czpzZXF1 ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpS ZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz OmVsZW1lbnQgbmFtZT0iUmVsZWFzZUNvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpib29sZWFu IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250aW51YXRpb25Q b2ludCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt ZW50IG5hbWU9IlF1ZXJ5TmV4dFJlcXVlc3QiIHR5cGU9InRuczpRdWVyeU5leHRSZXF1ZXN0IiAv Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJRdWVyeU5leHRSZXNwb25zZSI+DQogICAgPHhz OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9 InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg ICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5RGF0YVNldHMiIHR5cGU9InRuczpMaXN0T2ZRdWVy eURhdGFTZXQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl bWVudCBuYW1lPSJSZXZpc2VkQ29udGludWF0aW9uUG9pbnQiIHR5cGU9InhzOmJhc2U2NEJpbmFy eSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeU5leHRSZXNwb25z ZSIgdHlwZT0idG5zOlF1ZXJ5TmV4dFJlc3BvbnNlIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBu YW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpz dHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTb3VyY2VfMCIgLz4NCiAgICAg IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU2VydmVyXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp b24gdmFsdWU9IkJvdGhfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTmVpdGhl cl8zIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhz OmVsZW1lbnQgbmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiB0eXBlPSJ0bnM6VGltZXN0YW1wc1Rv UmV0dXJuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWFkVmFsdWVJZCI+DQogICAg PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpO b2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu dCBuYW1lPSJBdHRyaWJ1dGVJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIg Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIg bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 IkRhdGFFbmNvZGluZyIgdHlwZT0idWE6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiBuaWxs YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K ICA8eHM6ZWxlbWVudCBuYW1lPSJSZWFkVmFsdWVJZCIgdHlwZT0idG5zOlJlYWRWYWx1ZUlkIiAv Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZSZWFkVmFsdWVJZCI+DQogICAgPHhz OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZFZhbHVlSWQiIHR5cGU9InRu czpSZWFkVmFsdWVJZCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFi bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUmVhZFZhbHVlSWQiIHR5cGU9InRuczpMaXN0T2ZSZWFk VmFsdWVJZCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5 cGUgbmFtZT0iUmVhZFJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt ZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1 cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4QWdl IiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h bWU9IlRpbWVzdGFtcHNUb1JldHVybiIgdHlwZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgbWlu T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb1JlYWQiIHR5cGU9 InRuczpMaXN0T2ZSZWFkVmFsdWVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu YW1lPSJSZWFkUmVxdWVzdCIgdHlwZT0idG5zOlJlYWRSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21w bGV4VHlwZSBuYW1lPSJSZWFkUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIi IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l PSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZEYXRhVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFi bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5 cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt ZW50IG5hbWU9IlJlYWRSZXNwb25zZSIgdHlwZT0idG5zOlJlYWRSZXNwb25zZSIgLz4NCg0KICA8 eHM6Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeVJlYWRWYWx1ZUlkIj4NCiAgICA8eHM6c2VxdWVu Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWlu T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Iklu ZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFFbmNvZGluZyIgdHlwZT0idWE6UXVhbGlm aWVkTmFtZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt ZW50IG5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9j Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRWYWx1ZUlkIiB0eXBl PSJ0bnM6SGlzdG9yeVJlYWRWYWx1ZUlkIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJM aXN0T2ZIaXN0b3J5UmVhZFZhbHVlSWQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl bGVtZW50IG5hbWU9Ikhpc3RvcnlSZWFkVmFsdWVJZCIgdHlwZT0idG5zOkhpc3RvcnlSZWFkVmFs dWVJZCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUi IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l bnQgbmFtZT0iTGlzdE9mSGlzdG9yeVJlYWRWYWx1ZUlkIiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9y eVJlYWRWYWx1ZUlkIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21w bGV4VHlwZSBuYW1lPSJIaXN0b3J5UmVhZFJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg ICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWlu T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGludWF0aW9uUG9pbnQi IHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N CiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlEYXRhIiB0eXBlPSJ1YTpFeHRlbnNpb25P YmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRS ZXN1bHQiIHR5cGU9InRuczpIaXN0b3J5UmVhZFJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5 cGUgbmFtZT0iTGlzdE9mSGlzdG9yeVJlYWRSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg ICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlSZWFkUmVzdWx0IiB0eXBlPSJ0bnM6SGlzdG9y eVJlYWRSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxl PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 czplbGVtZW50IG5hbWU9Ikxpc3RPZkhpc3RvcnlSZWFkUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9m SGlzdG9yeVJlYWRSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhz OmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlSZWFkRGV0YWlscyI+DQogICAgPHhzOnNlcXVlbmNl Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 IG5hbWU9Ikhpc3RvcnlSZWFkRGV0YWlscyIgdHlwZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyIg Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZEV2ZW50RGV0YWlscyI+DQogICAgPHhz OmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9 InRuczpIaXN0b3J5UmVhZERldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAg ICAgPHhzOmVsZW1lbnQgbmFtZT0iTnVtVmFsdWVzUGVyTm9kZSIgdHlwZT0ieHM6dW5zaWduZWRJ bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGFydFRp bWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVs ZW1lbnQgbmFtZT0iRW5kVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4N CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXIiIHR5cGU9InRuczpFdmVudEZpbHRl ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5j ZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwv eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlYWRFdmVudERldGFpbHMiIHR5 cGU9InRuczpSZWFkRXZlbnREZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJS ZWFkUmF3TW9kaWZpZWREZXRhaWxzIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZh bHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyI+ DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc1Jl YWRNb2RpZmllZCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAg IDx4czplbGVtZW50IG5hbWU9IlN0YXJ0VGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vy cz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRUaW1lIiB0eXBlPSJ4czpk YXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik51 bVZhbHVlc1Blck5vZGUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQog ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV0dXJuQm91bmRzIiB0eXBlPSJ4czpib29sZWFu IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4 dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K ICA8eHM6ZWxlbWVudCBuYW1lPSJSZWFkUmF3TW9kaWZpZWREZXRhaWxzIiB0eXBlPSJ0bnM6UmVh ZFJhd01vZGlmaWVkRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZFBy b2Nlc3NlZERldGFpbHMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0K ICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICAg ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXJ0VGltZSIg dHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVu dCBuYW1lPSJFbmRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg ICAgICAgIDx4czplbGVtZW50IG5hbWU9IlByb2Nlc3NpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91 YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWdncmVn YXRlVHlwZSIgdHlwZT0idWE6TGlzdE9mTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRp b24iIHR5cGU9InRuczpBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxh YmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNp b24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz OmVsZW1lbnQgbmFtZT0iUmVhZFByb2Nlc3NlZERldGFpbHMiIHR5cGU9InRuczpSZWFkUHJvY2Vz c2VkRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZEF0VGltZURldGFp bHMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4 dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICAgICAgPHhzOnNlcXVl bmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcVRpbWVzIiB0eXBlPSJ1YTpMaXN0 T2ZEYXRlVGltZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8 eHM6ZWxlbWVudCBuYW1lPSJVc2VTaW1wbGVCb3VuZHMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9j Y3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9u Pg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl bGVtZW50IG5hbWU9IlJlYWRBdFRpbWVEZXRhaWxzIiB0eXBlPSJ0bnM6UmVhZEF0VGltZURldGFp bHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlEYXRhIj4NCiAgICA8eHM6 c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVmFsdWVzIiB0eXBlPSJ1YTpM aXN0T2ZEYXRhVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlz dG9yeURhdGEiIHR5cGU9InRuczpIaXN0b3J5RGF0YSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg bmFtZT0iTW9kaWZpY2F0aW9uSW5mbyI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs ZW1lbnQgbmFtZT0iTW9kaWZpY2F0aW9uVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vy cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVwZGF0ZVR5cGUiIHR5cGU9InRuczpI aXN0b3J5VXBkYXRlVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt ZT0iVXNlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl bWVudCBuYW1lPSJNb2RpZmljYXRpb25JbmZvIiB0eXBlPSJ0bnM6TW9kaWZpY2F0aW9uSW5mbyIg Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTW9kaWZpY2F0aW9uSW5mbyI+DQog ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZpY2F0aW9uSW5m byIgdHlwZT0idG5zOk1vZGlmaWNhdGlvbkluZm8iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1 bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk1vZGlmaWNhdGlvbkluZm8i IHR5cGU9InRuczpMaXN0T2ZNb2RpZmljYXRpb25JbmZvIiBuaWxsYWJsZT0idHJ1ZSI+PC94czpl bGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5TW9kaWZpZWREYXRhIj4N CiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNp b24gYmFzZT0idG5zOkhpc3RvcnlEYXRhIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAg ICAgIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmaWNhdGlvbkluZm9zIiB0eXBlPSJ0bnM6TGlzdE9m TW9kaWZpY2F0aW9uSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg ICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxl eENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3Rv cnlNb2RpZmllZERhdGEiIHR5cGU9InRuczpIaXN0b3J5TW9kaWZpZWREYXRhIiAvPg0KDQogIDx4 czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5RXZlbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg ICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50cyIgdHlwZT0idG5zOkxpc3RPZkhpc3RvcnlFdmVu dEZpZWxkTGlzdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5 RXZlbnQiIHR5cGU9InRuczpIaXN0b3J5RXZlbnQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h bWU9Ikhpc3RvcnlSZWFkUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs ZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9j Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0 b3J5UmVhZERldGFpbHMiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBu aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRpbWVzdGFtcHNUb1Jl dHVybiIgdHlwZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgbWluT2NjdXJzPSIwIiAvPg0KICAg ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsZWFzZUNvbnRpbnVhdGlvblBvaW50cyIgdHlwZT0ieHM6 Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNU b1JlYWQiIHR5cGU9InRuczpMaXN0T2ZIaXN0b3J5UmVhZFZhbHVlSWQiIG1pbk9jY3Vycz0iMCIg bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRSZXF1ZXN0IiB0eXBlPSJ0bnM6SGlz dG9yeVJlYWRSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5UmVh ZFJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS ZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5p bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0i dG5zOkxpc3RPZkhpc3RvcnlSZWFkUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpM aXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l PSJIaXN0b3J5UmVhZFJlc3BvbnNlIiB0eXBlPSJ0bnM6SGlzdG9yeVJlYWRSZXNwb25zZSIgLz4N Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iV3JpdGVWYWx1ZSI+DQogICAgPHhzOnNlcXVlbmNl Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9j Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdHRy aWJ1dGVJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 czplbGVtZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIw IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlIiB0eXBl PSJ1YTpEYXRhVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iV3Jp dGVWYWx1ZSIgdHlwZT0idG5zOldyaXRlVmFsdWUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h bWU9Ikxpc3RPZldyaXRlVmFsdWUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt ZW50IG5hbWU9IldyaXRlVmFsdWUiIHR5cGU9InRuczpXcml0ZVZhbHVlIiBtaW5PY2N1cnM9IjAi IG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZXcml0 ZVZhbHVlIiB0eXBlPSJ0bnM6TGlzdE9mV3JpdGVWYWx1ZSIgbmlsbGFibGU9InRydWUiPjwveHM6 ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iV3JpdGVSZXF1ZXN0Ij4NCiAgICA8 eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBl PSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg ICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVzVG9Xcml0ZSIgdHlwZT0idG5zOkxpc3RPZldyaXRl VmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVSZXF1ZXN0 IiB0eXBlPSJ0bnM6V3JpdGVSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJX cml0ZVJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l PSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAi IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlw ZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9m RGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iV3Jp dGVSZXNwb25zZSIgdHlwZT0idG5zOldyaXRlUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhU eXBlIG5hbWU9Ikhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg ICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIw IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5VXBkYXRlRGV0YWlscyIgdHlwZT0idG5z Okhpc3RvcnlVcGRhdGVEZXRhaWxzIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJIaXN0 b3J5VXBkYXRlVHlwZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQog ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ikluc2VydF8xIiAvPg0KICAgICAgPHhzOmVudW1l cmF0aW9uIHZhbHVlPSJSZXBsYWNlXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 IlVwZGF0ZV8zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEZWxldGVfNCIgLz4N CiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50 IG5hbWU9Ikhpc3RvcnlVcGRhdGVUeXBlIiB0eXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZVR5cGUiIC8+ DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IlBlcmZvcm1VcGRhdGVUeXBlIj4NCiAgICA8eHM6 cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 ZT0iSW5zZXJ0XzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlcGxhY2VfMiIg Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVXBkYXRlXzMiIC8+DQogICAgICA8eHM6 ZW51bWVyYXRpb24gdmFsdWU9IlJlbW92ZV80IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQog IDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUGVyZm9ybVVwZGF0ZVR5cGUi IHR5cGU9InRuczpQZXJmb3JtVXBkYXRlVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt ZT0iVXBkYXRlRGF0YURldGFpbHMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFs c2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMi Pg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUGVy Zm9ybUluc2VydFJlcGxhY2UiIHR5cGU9InRuczpQZXJmb3JtVXBkYXRlVHlwZSIgbWluT2NjdXJz PSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlVwZGF0ZVZhbHVlcyIgdHlwZT0i dWE6TGlzdE9mRGF0YVZhbHVlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg ICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21w bGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVXBk YXRlRGF0YURldGFpbHMiIHR5cGU9InRuczpVcGRhdGVEYXRhRGV0YWlscyIgLz4NCg0KICA8eHM6 Y29tcGxleFR5cGUgbmFtZT0iVXBkYXRlU3RydWN0dXJlRGF0YURldGFpbHMiPg0KICAgIDx4czpj b21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0 bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAg ICAgPHhzOmVsZW1lbnQgbmFtZT0iUGVyZm9ybUluc2VydFJlcGxhY2UiIHR5cGU9InRuczpQZXJm b3JtVXBkYXRlVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h bWU9IlVwZGF0ZVZhbHVlcyIgdHlwZT0idWE6TGlzdE9mRGF0YVZhbHVlIiBtaW5PY2N1cnM9IjAi IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpl eHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4N CiAgPHhzOmVsZW1lbnQgbmFtZT0iVXBkYXRlU3RydWN0dXJlRGF0YURldGFpbHMiIHR5cGU9InRu czpVcGRhdGVTdHJ1Y3R1cmVEYXRhRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt ZT0iVXBkYXRlRXZlbnREZXRhaWxzIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZh bHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxz Ij4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlBl cmZvcm1JbnNlcnRSZXBsYWNlIiB0eXBlPSJ0bnM6UGVyZm9ybVVwZGF0ZVR5cGUiIG1pbk9jY3Vy cz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXIiIHR5cGU9InRuczpF dmVudEZpbHRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8 eHM6ZWxlbWVudCBuYW1lPSJFdmVudERhdGEiIHR5cGU9InRuczpMaXN0T2ZIaXN0b3J5RXZlbnRG aWVsZExpc3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6 c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50 Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVcGRhdGVFdmVudERl dGFpbHMiIHR5cGU9InRuczpVcGRhdGVFdmVudERldGFpbHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhU eXBlIG5hbWU9IkRlbGV0ZVJhd01vZGlmaWVkRGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250 ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5 VXBkYXRlRGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxl bWVudCBuYW1lPSJJc0RlbGV0ZU1vZGlmaWVkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9 IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhcnRUaW1lIiB0eXBlPSJ4czpk YXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkVu ZFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6 c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50 Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVSYXdNb2Rp ZmllZERldGFpbHMiIHR5cGU9InRuczpEZWxldGVSYXdNb2RpZmllZERldGFpbHMiIC8+DQoNCiAg PHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZUF0VGltZURldGFpbHMiPg0KICAgIDx4czpjb21w bGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6 SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAg PHhzOmVsZW1lbnQgbmFtZT0iUmVxVGltZXMiIHR5cGU9InVhOkxpc3RPZkRhdGVUaW1lIiBtaW5P Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAg ICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21w bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlQXRUaW1lRGV0YWlscyIgdHlwZT0i dG5zOkRlbGV0ZUF0VGltZURldGFpbHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRl bGV0ZUV2ZW50RGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+ DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQog ICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudElk cyIgdHlwZT0idWE6TGlzdE9mQnl0ZVN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAg IDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 IG5hbWU9IkRlbGV0ZUV2ZW50RGV0YWlscyIgdHlwZT0idG5zOkRlbGV0ZUV2ZW50RGV0YWlscyIg Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3VsdCI+DQogICAg PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0i dWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i T3BlcmF0aW9uUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIw IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJ bmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFi bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg PHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3VsdCIgdHlwZT0idG5zOkhpc3RvcnlV cGRhdGVSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkhpc3RvcnlV cGRhdGVSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 Ikhpc3RvcnlVcGRhdGVSZXN1bHQiIHR5cGU9InRuczpIaXN0b3J5VXBkYXRlUmVzdWx0IiBtaW5P Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM aXN0T2ZIaXN0b3J5VXBkYXRlUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeVVwZGF0ZVJl c3VsdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUg bmFtZT0iSGlzdG9yeVVwZGF0ZVJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBt aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i SGlzdG9yeVVwZGF0ZURldGFpbHMiIHR5cGU9InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIgbWlu T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5VXBkYXRlUmVxdWVzdCIg dHlwZT0idG5zOkhpc3RvcnlVcGRhdGVSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu YW1lPSJIaXN0b3J5VXBkYXRlUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIi IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l PSJSZXN1bHRzIiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeVVwZGF0ZVJlc3VsdCIgbWluT2NjdXJz PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0 aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmls bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N CiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3BvbnNlIiB0eXBlPSJ0bnM6SGlz dG9yeVVwZGF0ZVJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDYWxsTWV0 aG9kUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i T2JqZWN0SWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1ldGhvZElkIiB0eXBlPSJ1YTpOb2RlSWQiIG1p bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJ bnB1dEFyZ3VtZW50cyIgdHlwZT0idWE6TGlzdE9mVmFyaWFudCIgbWluT2NjdXJzPSIwIiBuaWxs YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K ICA8eHM6ZWxlbWVudCBuYW1lPSJDYWxsTWV0aG9kUmVxdWVzdCIgdHlwZT0idG5zOkNhbGxNZXRo b2RSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZDYWxsTWV0aG9k UmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2Fs bE1ldGhvZFJlcXVlc3QiIHR5cGU9InRuczpDYWxsTWV0aG9kUmVxdWVzdCIgbWluT2NjdXJzPSIw IiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQ2Fs bE1ldGhvZFJlcXVlc3QiIHR5cGU9InRuczpMaXN0T2ZDYWxsTWV0aG9kUmVxdWVzdCIgbmlsbGFi bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2FsbE1l dGhvZFJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i U3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg PHhzOmVsZW1lbnQgbmFtZT0iSW5wdXRBcmd1bWVudFJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0 YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl bWVudCBuYW1lPSJJbnB1dEFyZ3VtZW50RGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZE aWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 czplbGVtZW50IG5hbWU9Ik91dHB1dEFyZ3VtZW50cyIgdHlwZT0idWE6TGlzdE9mVmFyaWFudCIg bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDYWxsTWV0aG9kUmVzdWx0IiB0 eXBlPSJ0bnM6Q2FsbE1ldGhvZFJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i TGlzdE9mQ2FsbE1ldGhvZFJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs ZW1lbnQgbmFtZT0iQ2FsbE1ldGhvZFJlc3VsdCIgdHlwZT0idG5zOkNhbGxNZXRob2RSZXN1bHQi IG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h bWU9Ikxpc3RPZkNhbGxNZXRob2RSZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZDYWxsTWV0aG9kUmVz dWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBu YW1lPSJDYWxsUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg bmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0i MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXRob2RzVG9D YWxsIiB0eXBlPSJ0bnM6TGlzdE9mQ2FsbE1ldGhvZFJlcXVlc3QiIG1pbk9jY3Vycz0iMCIgbmls bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N CiAgPHhzOmVsZW1lbnQgbmFtZT0iQ2FsbFJlcXVlc3QiIHR5cGU9InRuczpDYWxsUmVxdWVzdCIg Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2FsbFJlc3BvbnNlIj4NCiAgICA8eHM6c2Vx dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5z OlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg PHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZkNhbGxNZXRob2RSZXN1 bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu YW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5P Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNhbGxSZXNwb25zZSIgdHlwZT0idG5z OkNhbGxSZXNwb25zZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iTW9uaXRvcmluZ01v ZGUiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVu dW1lcmF0aW9uIHZhbHVlPSJEaXNhYmxlZF8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh bHVlPSJTYW1wbGluZ18xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZXBvcnRp bmdfMiIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4 czplbGVtZW50IG5hbWU9Ik1vbml0b3JpbmdNb2RlIiB0eXBlPSJ0bnM6TW9uaXRvcmluZ01vZGUi IC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkRhdGFDaGFuZ2VUcmlnZ2VyIj4NCiAgICA8 eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 YWx1ZT0iU3RhdHVzXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN0YXR1c1Zh bHVlXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN0YXR1c1ZhbHVlVGltZXN0 YW1wXzIiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8 eHM6ZWxlbWVudCBuYW1lPSJEYXRhQ2hhbmdlVHJpZ2dlciIgdHlwZT0idG5zOkRhdGFDaGFuZ2VU cmlnZ2VyIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJEZWFkYmFuZFR5cGUiPg0KICAg IDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9u IHZhbHVlPSJOb25lXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFic29sdXRl XzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlBlcmNlbnRfMiIgLz4NCiAgICA8 L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 IkRlYWRiYW5kVHlwZSIgdHlwZT0idG5zOkRlYWRiYW5kVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxl eFR5cGUgbmFtZT0iTW9uaXRvcmluZ0ZpbHRlciI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwv eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1v bml0b3JpbmdGaWx0ZXIiIHR5cGU9InRuczpNb25pdG9yaW5nRmlsdGVyIiAvPg0KDQogIDx4czpj b21wbGV4VHlwZSBuYW1lPSJEYXRhQ2hhbmdlRmlsdGVyIj4NCiAgICA8eHM6Y29tcGxleENvbnRl bnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk1vbml0b3Jp bmdGaWx0ZXIiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg bmFtZT0iVHJpZ2dlciIgdHlwZT0idG5zOkRhdGFDaGFuZ2VUcmlnZ2VyIiBtaW5PY2N1cnM9IjAi IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVhZGJhbmRUeXBlIiB0eXBlPSJ4czp1 bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 IkRlYWRiYW5kVmFsdWUiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg ICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4 Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YUNo YW5nZUZpbHRlciIgdHlwZT0idG5zOkRhdGFDaGFuZ2VGaWx0ZXIiIC8+DQoNCiAgPHhzOmNvbXBs ZXhUeXBlIG5hbWU9IkV2ZW50RmlsdGVyIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9 ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk1vbml0b3JpbmdGaWx0ZXIi Pg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vs ZWN0Q2xhdXNlcyIgdHlwZT0idG5zOkxpc3RPZlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIG1pbk9j Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i V2hlcmVDbGF1c2UiIHR5cGU9InRuczpDb250ZW50RmlsdGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxh YmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNp b24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz OmVsZW1lbnQgbmFtZT0iRXZlbnRGaWx0ZXIiIHR5cGU9InRuczpFdmVudEZpbHRlciIgLz4NCg0K ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWdncmVnYXRlQ29uZmlndXJhdGlvbiI+DQogICAgPHhz OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlU2VydmVyQ2FwYWJpbGl0aWVz RGVmYXVsdHMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl bGVtZW50IG5hbWU9IlRyZWF0VW5jZXJ0YWluQXNCYWQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9j Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBlcmNlbnREYXRhQmFkIiB0eXBl PSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h bWU9IlBlcmNlbnREYXRhR29vZCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAi IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VTbG9wZWRFeHRyYXBvbGF0aW9uIiB0eXBl PSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWdncmVnYXRlQ29uZmlndXJhdGlv biIgdHlwZT0idG5zOkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhU eXBlIG5hbWU9IkFnZ3JlZ2F0ZUZpbHRlciI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVk PSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpNb25pdG9yaW5nRmlsdGVy Ij4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0 YXJ0VGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8 eHM6ZWxlbWVudCBuYW1lPSJBZ2dyZWdhdGVUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vy cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJv Y2Vzc2luZ0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiB0eXBlPSJ0bnM6 QWdncmVnYXRlQ29uZmlndXJhdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N CiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6 Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 IkFnZ3JlZ2F0ZUZpbHRlciIgdHlwZT0idG5zOkFnZ3JlZ2F0ZUZpbHRlciIgLz4NCg0KICA8eHM6 Y29tcGxleFR5cGUgbmFtZT0iTW9uaXRvcmluZ0ZpbHRlclJlc3VsdCI+DQogICAgPHhzOnNlcXVl bmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt ZW50IG5hbWU9Ik1vbml0b3JpbmdGaWx0ZXJSZXN1bHQiIHR5cGU9InRuczpNb25pdG9yaW5nRmls dGVyUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFdmVudEZpbHRlclJlc3Vs dCI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0 ZW5zaW9uIGJhc2U9InRuczpNb25pdG9yaW5nRmlsdGVyUmVzdWx0Ij4NCiAgICAgICAgPHhzOnNl cXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlbGVjdENsYXVzZVJlc3VsdHMi IHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VsZWN0Q2xhdXNlRGlhZ25vc3RpY0lu Zm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs ZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJXaGVyZUNsYXVzZVJlc3Vs dCIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXJSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4N CiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl bWVudCBuYW1lPSJFdmVudEZpbHRlclJlc3VsdCIgdHlwZT0idG5zOkV2ZW50RmlsdGVyUmVzdWx0 IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZ2dyZWdhdGVGaWx0ZXJSZXN1bHQiPg0K ICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lv biBiYXNlPSJ0bnM6TW9uaXRvcmluZ0ZpbHRlclJlc3VsdCI+DQogICAgICAgIDx4czpzZXF1ZW5j ZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkU3RhcnRUaW1lIiB0eXBlPSJ4 czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 IlJldmlzZWRQcm9jZXNzaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIw IiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRBZ2dyZWdhdGVDb25maWd1 cmF0aW9uIiB0eXBlPSJ0bnM6QWdncmVnYXRlQ29uZmlndXJhdGlvbiIgbWluT2NjdXJzPSIwIiBu aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0 ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQog IDx4czplbGVtZW50IG5hbWU9IkFnZ3JlZ2F0ZUZpbHRlclJlc3VsdCIgdHlwZT0idG5zOkFnZ3Jl Z2F0ZUZpbHRlclJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9uaXRvcmlu Z1BhcmFtZXRlcnMiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 IkNsaWVudEhhbmRsZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg ICAgIDx4czplbGVtZW50IG5hbWU9IlNhbXBsaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIg bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyIiB0eXBlPSJ1 YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg ICA8eHM6ZWxlbWVudCBuYW1lPSJRdWV1ZVNpemUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjYXJkT2xkZXN0IiB0eXBl PSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ1BhcmFtZXRlcnMi IHR5cGU9InRuczpNb25pdG9yaW5nUGFyYW1ldGVycyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg bmFtZT0iTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg ICAgIDx4czplbGVtZW50IG5hbWU9Ikl0ZW1Ub01vbml0b3IiIHR5cGU9InRuczpSZWFkVmFsdWVJ ZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h bWU9Ik1vbml0b3JpbmdNb2RlIiB0eXBlPSJ0bnM6TW9uaXRvcmluZ01vZGUiIG1pbk9jY3Vycz0i MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZFBhcmFtZXRlcnMiIHR5cGU9 InRuczpNb25pdG9yaW5nUGFyYW1ldGVycyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu dCBuYW1lPSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCIgdHlwZT0idG5zOk1vbml0b3JlZEl0 ZW1DcmVhdGVSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb25p dG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs ZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIHR5cGU9InRuczpNb25pdG9y ZWRJdGVtQ3JlYXRlUmVxdWVzdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIg bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3Qi IHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCIgbmlsbGFibGU9InRy dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9uaXRvcmVkSXRl bUNyZWF0ZVJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt ZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg ICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUlkIiB0eXBlPSJ4czp1bnNpZ25lZElu dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFNhbXBs aW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz OmVsZW1lbnQgbmFtZT0iUmV2aXNlZFF1ZXVlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1p bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlclJlc3VsdCIgdHlw ZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h bWU9Ik1vbml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIHR5cGU9InRuczpNb25pdG9yZWRJdGVtQ3Jl YXRlUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJ dGVtQ3JlYXRlUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu YW1lPSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0IiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRlbUNy ZWF0ZVJlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9 InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz OmVsZW1lbnQgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbUNyZWF0ZVJlc3VsdCIgdHlwZT0idG5z Okxpc3RPZk1vbml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVs ZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zUmVx dWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVz dEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlwZT0i eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 IlRpbWVzdGFtcHNUb1JldHVybiIgdHlwZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgbWluT2Nj dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXRlbXNUb0NyZWF0ZSIgdHlwZT0i dG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0IiBtaW5PY2N1cnM9IjAiIG5pbGxh YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog IDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgdHlwZT0idG5z OkNyZWF0ZU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt ZT0iQ3JlYXRlTW9uaXRvcmVkSXRlbXNSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhl YWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0 IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt ZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2Nj dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVNb25pdG9yZWRJdGVtc1Jlc3Bv bnNlIiB0eXBlPSJ0bnM6Q3JlYXRlTW9uaXRvcmVkSXRlbXNSZXNwb25zZSIgLz4NCg0KICA8eHM6 Y29tcGxleFR5cGUgbmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlmeVJlcXVlc3QiPg0KICAgIDx4czpz ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1JZCIgdHlwZT0i eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 IlJlcXVlc3RlZFBhcmFtZXRlcnMiIHR5cGU9InRuczpNb25pdG9yaW5nUGFyYW1ldGVycyIgbWlu T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtTW9kaWZ5UmVx dWVzdCIgdHlwZT0idG5zOk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiAvPg0KDQogIDx4czpj b21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCI+DQogICAg PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlm eVJlcXVlc3QiIHR5cGU9InRuczpNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCIgbWluT2NjdXJz PSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9m TW9uaXRvcmVkSXRlbU1vZGlmeVJlcXVlc3QiIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVt TW9kaWZ5UmVxdWVzdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29t cGxleFR5cGUgbmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCI+DQogICAgPHhzOnNlcXVl bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVz Q29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFNh bXBsaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg PHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFF1ZXVlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQi IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlclJlc3VsdCIg dHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 IG5hbWU9Ik1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiIHR5cGU9InRuczpNb25pdG9yZWRJdGVt TW9kaWZ5UmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb25pdG9y ZWRJdGVtTW9kaWZ5UmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu dCBuYW1lPSJNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0IiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRl bU1vZGlmeVJlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFi bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCIgdHlwZT0i dG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hz OmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1vZGlmeU1vbml0b3JlZEl0ZW1z UmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVx dWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlw ZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h bWU9IlRpbWVzdGFtcHNUb1JldHVybiIgdHlwZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgbWlu T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXRlbXNUb01vZGlmeSIgdHlw ZT0idG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiBtaW5PY2N1cnM9IjAiIG5p bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ DQogIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmeU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgdHlwZT0i dG5zOk1vZGlmeU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg bmFtZT0iTW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25z ZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt ZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtTW9kaWZ5UmVz dWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg bmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWlu T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZnlNb25pdG9yZWRJdGVtc1Jl c3BvbnNlIiB0eXBlPSJ0bnM6TW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXNwb25zZSIgLz4NCg0KICA8 eHM6Y29tcGxleFR5cGUgbmFtZT0iU2V0TW9uaXRvcmluZ01vZGVSZXF1ZXN0Ij4NCiAgICA8eHM6 c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0 bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg IDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIg bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ01vZGUi IHR5cGU9InRuczpNb25pdG9yaW5nTW9kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs ZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUlkcyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5P Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNldE1vbml0b3JpbmdNb2RlUmVxdWVz dCIgdHlwZT0idG5zOlNldE1vbml0b3JpbmdNb2RlUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxl eFR5cGUgbmFtZT0iU2V0TW9uaXRvcmluZ01vZGVSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNl Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNw b25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl bGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vy cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9z dGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5p bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ DQogIDx4czplbGVtZW50IG5hbWU9IlNldE1vbml0b3JpbmdNb2RlUmVzcG9uc2UiIHR5cGU9InRu czpTZXRNb25pdG9yaW5nTW9kZVJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l PSJTZXRUcmlnZ2VyaW5nUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs ZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9j Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJz Y3JpcHRpb25JZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg IDx4czplbGVtZW50IG5hbWU9IlRyaWdnZXJpbmdJdGVtSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50 IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaW5rc1RvQWRkIiB0 eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaW5rc1RvUmVtb3ZlIiB0eXBlPSJ1YTpMaXN0T2ZVSW50 MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0VHJpZ2dlcmluZ1Jl cXVlc3QiIHR5cGU9InRuczpTZXRUcmlnZ2VyaW5nUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxl eFR5cGUgbmFtZT0iU2V0VHJpZ2dlcmluZ1Jlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNl SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l bnQgbmFtZT0iQWRkUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJz PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZERpYWdu b3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIg bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZW1vdmVSZXN1bHRz IiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVtb3ZlRGlhZ25vc3RpY0luZm9zIiB0eXBl PSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu dCBuYW1lPSJTZXRUcmlnZ2VyaW5nUmVzcG9uc2UiIHR5cGU9InRuczpTZXRUcmlnZ2VyaW5nUmVz cG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1z UmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVx dWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlw ZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h bWU9Ik1vbml0b3JlZEl0ZW1JZHMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIw IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVNb25pdG9yZWRJdGVtc1JlcXVlc3QiIHR5 cGU9InRuczpEZWxldGVNb25pdG9yZWRJdGVtc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhU eXBlIG5hbWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5j ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVz cG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1 cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25v c3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBu aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiB0eXBl PSJ0bnM6RGVsZXRlTW9uaXRvcmVkSXRlbXNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5 cGUgbmFtZT0iQ3JlYXRlU3Vic2NyaXB0aW9uUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0K ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RI ZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu dCBuYW1lPSJSZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWlu T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTGlmZXRpbWVD b3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl bGVtZW50IG5hbWU9IlJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25l ZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4Tm90aWZp Y2F0aW9uc1BlclB1Ymxpc2giIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+ DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoaW5nRW5hYmxlZCIgdHlwZT0ieHM6Ym9v bGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJpb3JpdHki IHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVu Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZVN1YnNj cmlwdGlvblJlcXVlc3QiIHR5cGU9InRuczpDcmVhdGVTdWJzY3JpcHRpb25SZXF1ZXN0IiAvPg0K DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDcmVhdGVTdWJzY3JpcHRpb25SZXNwb25zZSI+DQog ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIi IHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNp Z25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNl ZFB1Ymxpc2hpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQog ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkTGlmZXRpbWVDb3VudCIgdHlwZT0ieHM6dW5z aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlz ZWRNYXhLZWVwQWxpdmVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIg Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu dCBuYW1lPSJDcmVhdGVTdWJzY3JpcHRpb25SZXNwb25zZSIgdHlwZT0idG5zOkNyZWF0ZVN1YnNj cmlwdGlvblJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb2RpZnlTdWJz Y3JpcHRpb25SZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu YW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIw IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlv bklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs ZW1lbnQgbmFtZT0iUmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUi IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZExpZmV0 aW1lQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudCIgdHlwZT0ieHM6dW5z aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heE5v dGlmaWNhdGlvbnNQZXJQdWJsaXNoIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJpb3JpdHkiIHR5cGU9InhzOnVuc2lnbmVk Qnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmeVN1YnNjcmlwdGlvblJlcXVlc3QiIHR5 cGU9InRuczpNb2RpZnlTdWJzY3JpcHRpb25SZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlw ZSBuYW1lPSJNb2RpZnlTdWJzY3JpcHRpb25SZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25z ZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt ZW50IG5hbWU9IlJldmlzZWRQdWJsaXNoaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWlu T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZExpZmV0aW1lQ291 bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl bWVudCBuYW1lPSJSZXZpc2VkTWF4S2VlcEFsaXZlQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50 IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZ5U3Vic2NyaXB0aW9uUmVzcG9uc2UiIHR5cGU9 InRuczpNb2RpZnlTdWJzY3JpcHRpb25SZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg bmFtZT0iU2V0UHVibGlzaGluZ01vZGVSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRl ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h bWU9IlB1Ymxpc2hpbmdFbmFibGVkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+ DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZHMiIHR5cGU9InVhOkxpc3RP ZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXRQdWJsaXNo aW5nTW9kZVJlcXVlc3QiIHR5cGU9InRuczpTZXRQdWJsaXNoaW5nTW9kZVJlcXVlc3QiIC8+DQoN CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNldFB1Ymxpc2hpbmdNb2RlUmVzcG9uc2UiPg0KICAg IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0 eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXND b2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg bmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWlu T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXRQdWJsaXNoaW5nTW9kZVJlc3Bv bnNlIiB0eXBlPSJ0bnM6U2V0UHVibGlzaGluZ01vZGVSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29t cGxleFR5cGUgbmFtZT0iTm90aWZpY2F0aW9uTWVzc2FnZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VxdWVuY2VOdW1iZXIiIHR5cGU9InhzOnVuc2lnbmVk SW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoVGlt ZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 IG5hbWU9Ik5vdGlmaWNhdGlvbkRhdGEiIHR5cGU9InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIg bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOb3RpZmljYXRpb25NZXNzYWdl IiB0eXBlPSJ0bnM6Tm90aWZpY2F0aW9uTWVzc2FnZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg bmFtZT0iTm90aWZpY2F0aW9uRGF0YSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2Vx dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik5vdGlmaWNh dGlvbkRhdGEiIHR5cGU9InRuczpOb3RpZmljYXRpb25EYXRhIiAvPg0KDQogIDx4czpjb21wbGV4 VHlwZSBuYW1lPSJEYXRhQ2hhbmdlTm90aWZpY2F0aW9uIj4NCiAgICA8eHM6Y29tcGxleENvbnRl bnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk5vdGlmaWNh dGlvbkRhdGEiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg bmFtZT0iTW9uaXRvcmVkSXRlbXMiIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtTm90aWZp Y2F0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czpl bGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0lu Zm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVu Y2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8 L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhQ2hhbmdlTm90aWZpY2F0 aW9uIiB0eXBlPSJ0bnM6RGF0YUNoYW5nZU5vdGlmaWNhdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxl eFR5cGUgbmFtZT0iTW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiI+DQogICAgPHhzOnNlcXVlbmNl Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50SGFuZGxlIiB0eXBlPSJ4czp1bnNpZ25l ZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUiIHR5 cGU9InVhOkRhdGFWYWx1ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJN b25pdG9yZWRJdGVtTm90aWZpY2F0aW9uIiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRlbU5vdGlmaWNh dGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbU5v dGlmaWNhdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i TW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiIgdHlwZT0idG5zOk1vbml0b3JlZEl0ZW1Ob3RpZmlj YXRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVl IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt ZW50IG5hbWU9Ikxpc3RPZk1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24iIHR5cGU9InRuczpMaXN0 T2ZNb25pdG9yZWRJdGVtTm90aWZpY2F0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50 Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFdmVudE5vdGlmaWNhdGlvbkxpc3QiPg0KICAg IDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBi YXNlPSJ0bnM6Tm90aWZpY2F0aW9uRGF0YSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudHMiIHR5cGU9InRuczpMaXN0T2ZFdmVudEZpZWxk TGlzdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1 ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQog IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkV2ZW50Tm90aWZpY2F0aW9u TGlzdCIgdHlwZT0idG5zOkV2ZW50Tm90aWZpY2F0aW9uTGlzdCIgLz4NCg0KICA8eHM6Y29tcGxl eFR5cGUgbmFtZT0iRXZlbnRGaWVsZExpc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 czplbGVtZW50IG5hbWU9IkNsaWVudEhhbmRsZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9j Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50RmllbGRzIiB0eXBlPSJ1 YTpMaXN0T2ZWYXJpYW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkV2 ZW50RmllbGRMaXN0IiB0eXBlPSJ0bnM6RXZlbnRGaWVsZExpc3QiIC8+DQoNCiAgPHhzOmNvbXBs ZXhUeXBlIG5hbWU9Ikxpc3RPZkV2ZW50RmllbGRMaXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQog ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudEZpZWxkTGlzdCIgdHlwZT0idG5zOkV2ZW50Rmll bGRMaXN0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl bWVudCBuYW1lPSJMaXN0T2ZFdmVudEZpZWxkTGlzdCIgdHlwZT0idG5zOkxpc3RPZkV2ZW50Rmll bGRMaXN0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlw ZSBuYW1lPSJIaXN0b3J5RXZlbnRGaWVsZExpc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg IDx4czplbGVtZW50IG5hbWU9IkV2ZW50RmllbGRzIiB0eXBlPSJ1YTpMaXN0T2ZWYXJpYW50IiBt aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlFdmVudEZpZWxkTGlz dCIgdHlwZT0idG5zOkhpc3RvcnlFdmVudEZpZWxkTGlzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5 cGUgbmFtZT0iTGlzdE9mSGlzdG9yeUV2ZW50RmllbGRMaXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+ DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5RXZlbnRGaWVsZExpc3QiIHR5cGU9InRu czpIaXN0b3J5RXZlbnRGaWVsZExpc3QiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5k ZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkhpc3RvcnlFdmVudEZpZWxkTGlzdCIg dHlwZT0idG5zOkxpc3RPZkhpc3RvcnlFdmVudEZpZWxkTGlzdCIgbmlsbGFibGU9InRydWUiPjwv eHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU3RhdHVzQ2hhbmdlTm90aWZp Y2F0aW9uIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4 czpleHRlbnNpb24gYmFzZT0idG5zOk5vdGlmaWNhdGlvbkRhdGEiPg0KICAgICAgICA8eHM6c2Vx dWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzIiB0eXBlPSJ1YTpTdGF0 dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlh Z25vc3RpY0luZm8iIHR5cGU9InVhOkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxh YmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNp b24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz OmVsZW1lbnQgbmFtZT0iU3RhdHVzQ2hhbmdlTm90aWZpY2F0aW9uIiB0eXBlPSJ0bnM6U3RhdHVz Q2hhbmdlTm90aWZpY2F0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTdWJzY3Jp cHRpb25BY2tub3dsZWRnZW1lbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt ZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VxdWVuY2VOdW1iZXIiIHR5cGU9Inhz OnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uQWNrbm93bGVk Z2VtZW50IiB0eXBlPSJ0bnM6U3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50IiAvPg0KDQogIDx4 czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiPg0K ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbkFj a25vd2xlZGdlbWVudCIgdHlwZT0idG5zOlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudCIgbWlu T2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i TGlzdE9mU3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50IiB0eXBlPSJ0bnM6TGlzdE9mU3Vic2Ny aXB0aW9uQWNrbm93bGVkZ2VtZW50IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQog IDx4czpjb21wbGV4VHlwZSBuYW1lPSJQdWJsaXNoUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNl Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVl c3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl bWVudCBuYW1lPSJTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnRzIiB0eXBlPSJ0bnM6TGlzdE9m U3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt ZW50IG5hbWU9IlB1Ymxpc2hSZXF1ZXN0IiB0eXBlPSJ0bnM6UHVibGlzaFJlcXVlc3QiIC8+DQoN CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlB1Ymxpc2hSZXNwb25zZSI+DQogICAgPHhzOnNlcXVl bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpS ZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXZhaWxhYmxlU2VxdWVuY2VO dW1iZXJzIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb3JlTm90aWZpY2F0aW9ucyIgdHlwZT0i eHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm90 aWZpY2F0aW9uTWVzc2FnZSIgdHlwZT0idG5zOk5vdGlmaWNhdGlvbk1lc3NhZ2UiIG1pbk9jY3Vy cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRz IiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpM aXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l PSJQdWJsaXNoUmVzcG9uc2UiIHR5cGU9InRuczpQdWJsaXNoUmVzcG9uc2UiIC8+DQoNCiAgPHhz OmNvbXBsZXhUeXBlIG5hbWU9IlJlcHVibGlzaFJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4N CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0 SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l bnQgbmFtZT0iU3Vic2NyaXB0aW9uSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9 IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXRyYW5zbWl0U2VxdWVuY2VOdW1iZXIi IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5j ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVwdWJsaXNoUmVx dWVzdCIgdHlwZT0idG5zOlJlcHVibGlzaFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl IG5hbWU9IlJlcHVibGlzaFJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBt aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i Tm90aWZpY2F0aW9uTWVzc2FnZSIgdHlwZT0idG5zOk5vdGlmaWNhdGlvbk1lc3NhZ2UiIG1pbk9j Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVwdWJsaXNoUmVzcG9uc2UiIHR5cGU9 InRuczpSZXB1Ymxpc2hSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVHJh bnNmZXJSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 IlN0YXR1c0NvZGUiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg IDx4czplbGVtZW50IG5hbWU9IkF2YWlsYWJsZVNlcXVlbmNlTnVtYmVycyIgdHlwZT0idWE6TGlz dE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRyYW5zZmVy UmVzdWx0IiB0eXBlPSJ0bnM6VHJhbnNmZXJSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl IG5hbWU9Ikxpc3RPZlRyYW5zZmVyUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2ZlclJlc3VsdCIgdHlwZT0idG5zOlRyYW5zZmVyUmVzdWx0 IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4N CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu YW1lPSJMaXN0T2ZUcmFuc2ZlclJlc3VsdCIgdHlwZT0idG5zOkxpc3RPZlRyYW5zZmVyUmVzdWx0 IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l PSJUcmFuc2ZlclN1YnNjcmlwdGlvbnNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRl ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h bWU9IlN1YnNjcmlwdGlvbklkcyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAi IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VuZEluaXRpYWxW YWx1ZXMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVl bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2ZlclN1 YnNjcmlwdGlvbnNSZXF1ZXN0IiB0eXBlPSJ0bnM6VHJhbnNmZXJTdWJzY3JpcHRpb25zUmVxdWVz dCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVHJhbnNmZXJTdWJzY3JpcHRpb25zUmVz cG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3Bv bnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ0bnM6 TGlzdE9mVHJhbnNmZXJSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRp YWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRyYW5z ZmVyU3Vic2NyaXB0aW9uc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6VHJhbnNmZXJTdWJzY3JpcHRpb25z UmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZVN1YnNjcmlwdGlv bnNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS ZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxs YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkcyIg dHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h bWU9IkRlbGV0ZVN1YnNjcmlwdGlvbnNSZXF1ZXN0IiB0eXBlPSJ0bnM6RGVsZXRlU3Vic2NyaXB0 aW9uc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZVN1YnNjcmlw dGlvbnNSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt ZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIw IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5 cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RP ZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRl bGV0ZVN1YnNjcmlwdGlvbnNSZXNwb25zZSIgdHlwZT0idG5zOkRlbGV0ZVN1YnNjcmlwdGlvbnNS ZXNwb25zZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iRW51bWVyYXRlZFRlc3RUeXBl Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgc2ltcGxl IGVudW1lcmF0ZWQgdHlwZSB1c2VkIGZvciB0ZXN0aW5nLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAg ICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+ DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlZF8xIiAvPg0KICAgICAgPHhzOmVudW1l cmF0aW9uIHZhbHVlPSJZZWxsb3dfNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i R3JlZW5fNSIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQog IDx4czplbGVtZW50IG5hbWU9IkVudW1lcmF0ZWRUZXN0VHlwZSIgdHlwZT0idG5zOkVudW1lcmF0 ZWRUZXN0VHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRW51bWVyYXRl ZFRlc3RUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJF bnVtZXJhdGVkVGVzdFR5cGUiIHR5cGU9InRuczpFbnVtZXJhdGVkVGVzdFR5cGUiIG1pbk9jY3Vy cz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRW51bWVyYXRlZFRlc3RU eXBlIiB0eXBlPSJ0bnM6TGlzdE9mRW51bWVyYXRlZFRlc3RUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+ PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCdWlsZEluZm8iPg0KICAg IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlByb2R1Y3RVcmkiIHR5cGU9 InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl bGVtZW50IG5hbWU9Ik1hbnVmYWN0dXJlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJz PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlByb2R1Y3RO YW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTb2Z0d2FyZVZlcnNpb24iIHR5cGU9InhzOnN0cmluZyIg bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 IkJ1aWxkTnVtYmVyIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCdWlsZERhdGUiIHR5cGU9InhzOmRhdGVU aW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnVpbGRJbmZvIiB0eXBlPSJ0bnM6QnVpbGRJbmZv IiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJSZWR1bmRhbmN5U3VwcG9ydCI+DQogICAg PHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24g dmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ29sZF8xIiAv Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJXYXJtXzIiIC8+DQogICAgICA8eHM6ZW51 bWVyYXRpb24gdmFsdWU9IkhvdF8zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJU cmFuc3BhcmVudF80IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJIb3RBbmRNaXJy b3JlZF81IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAg PHhzOmVsZW1lbnQgbmFtZT0iUmVkdW5kYW5jeVN1cHBvcnQiIHR5cGU9InRuczpSZWR1bmRhbmN5 U3VwcG9ydCIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iU2VydmVyU3RhdGUiPg0KICAg IDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9u IHZhbHVlPSJSdW5uaW5nXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkZhaWxl ZF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb0NvbmZpZ3VyYXRpb25fMiIg Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU3VzcGVuZGVkXzMiIC8+DQogICAgICA8 eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNodXRkb3duXzQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp b24gdmFsdWU9IlRlc3RfNSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ29tbXVu aWNhdGlvbkZhdWx0XzYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVua25vd25f NyIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czpl bGVtZW50IG5hbWU9IlNlcnZlclN0YXRlIiB0eXBlPSJ0bnM6U2VydmVyU3RhdGUiIC8+DQoNCiAg PHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZHVuZGFudFNlcnZlckRhdGFUeXBlIj4NCiAgICA8eHM6 c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJJZCIgdHlwZT0ieHM6c3Ry aW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg bmFtZT0iU2VydmljZUxldmVsIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIg Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlclN0YXRlIiB0eXBlPSJ0bnM6U2VydmVy U3RhdGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIgdHlw ZT0idG5zOlJlZHVuZGFudFNlcnZlckRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu YW1lPSJMaXN0T2ZSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVkdW5kYW50U2VydmVyRGF0YVR5cGUiIHR5cGU9InRu czpSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91 bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUmVkdW5kYW50U2VydmVyRGF0YVR5 cGUiIHR5cGU9InRuczpMaXN0T2ZSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIgbmlsbGFibGU9InRy dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRW5kcG9pbnRVcmxM aXN0RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 IkVuZHBvaW50VXJsTGlzdCIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5p bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ DQogIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIiB0eXBlPSJ0bnM6 RW5kcG9pbnRVcmxMaXN0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxp c3RPZkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVybExpc3REYXRhVHlwZSIgdHlwZT0idG5zOkVuZHBv aW50VXJsTGlzdERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFbmRwb2ludFVybExpc3REYXRhVHlwZSIgdHlw ZT0idG5zOkxpc3RPZkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94 czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJOZXR3b3JrR3JvdXBEYXRhVHlw ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVXJp IiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg ICA8eHM6ZWxlbWVudCBuYW1lPSJOZXR3b3JrUGF0aHMiIHR5cGU9InRuczpMaXN0T2ZFbmRwb2lu dFVybExpc3REYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJO ZXR3b3JrR3JvdXBEYXRhVHlwZSIgdHlwZT0idG5zOk5ldHdvcmtHcm91cERhdGFUeXBlIiAvPg0K DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZOZXR3b3JrR3JvdXBEYXRhVHlwZSI+DQog ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmV0d29ya0dyb3VwRGF0 YVR5cGUiIHR5cGU9InRuczpOZXR3b3JrR3JvdXBEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhP Y2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTmV0d29ya0dy b3VwRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZOZXR3b3JrR3JvdXBEYXRhVHlwZSIgbmlsbGFi bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2FtcGxp bmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg IDx4czplbGVtZW50IG5hbWU9IlNhbXBsaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWlu T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUNvdW50 IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l bnQgbmFtZT0iTWF4TW9uaXRvcmVkSXRlbUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzYWJsZWRNb25pdG9yZWRJ dGVtQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94 czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2Ft cGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpTYW1wbGluZ0ludGVy dmFsRGlhZ25vc3RpY3NEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlz dE9mU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5j ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNhbXBsaW5nSW50ZXJ2YWxEaWFnbm9zdGljc0Rh dGFUeXBlIiB0eXBlPSJ0bnM6U2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiIG1p bk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 Ikxpc3RPZlNhbXBsaW5nSW50ZXJ2YWxEaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6TGlz dE9mU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48 L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlcnZlckRpYWdub3N0aWNz U3VtbWFyeURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu YW1lPSJTZXJ2ZXJWaWV3Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAi IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJyZW50U2Vzc2lvbkNvdW50IiB0eXBlPSJ4 czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i Q3VtdWxhdGVkU2Vzc2lvbkNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlSZWplY3RlZFNlc3Npb25Db3Vu dCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt ZW50IG5hbWU9IlJlamVjdGVkU2Vzc2lvbkNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvblRpbWVvdXRDb3Vu dCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt ZW50IG5hbWU9IlNlc3Npb25BYm9ydENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudFN1YnNjcmlwdGlvbkNv dW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs ZW1lbnQgbmFtZT0iQ3VtdWxhdGVkU3Vic2NyaXB0aW9uQ291bnQiIHR5cGU9InhzOnVuc2lnbmVk SW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoaW5n SW50ZXJ2YWxDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg ICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5UmVqZWN0ZWRSZXF1ZXN0c0NvdW50IiB0eXBl PSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt ZT0iUmVqZWN0ZWRSZXF1ZXN0c0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz PSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl bGVtZW50IG5hbWU9IlNlcnZlckRpYWdub3N0aWNzU3VtbWFyeURhdGFUeXBlIiB0eXBlPSJ0bnM6 U2VydmVyRGlhZ25vc3RpY3NTdW1tYXJ5RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl IG5hbWU9IlNlcnZlclN0YXR1c0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 eHM6ZWxlbWVudCBuYW1lPSJTdGFydFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9 IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJyZW50VGltZSIgdHlwZT0ieHM6ZGF0 ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXRlIiB0 eXBlPSJ0bnM6U2VydmVyU3RhdGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 IG5hbWU9IkJ1aWxkSW5mbyIgdHlwZT0idG5zOkJ1aWxkSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxs YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY29uZHNUaWxsU2h1dGRv d24iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl bWVudCBuYW1lPSJTaHV0ZG93blJlYXNvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2Nj dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJTdGF0dXNEYXRhVHlwZSIgdHlw ZT0idG5zOlNlcnZlclN0YXR1c0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l PSJTZXNzaW9uRGlhZ25vc3RpY3NEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg PHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbklkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0i MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uTmFt ZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg ICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50RGVzY3JpcHRpb24iIHR5cGU9InRuczpBcHBsaWNh dGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg PHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0i MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVy bCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg ICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1p bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJB Y3R1YWxTZXNzaW9uVGltZW91dCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQog ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhSZXNwb25zZU1lc3NhZ2VTaXplIiB0eXBlPSJ4czp1 bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xp ZW50Q29ubmVjdGlvblRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQog ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRMYXN0Q29udGFjdFRpbWUiIHR5cGU9InhzOmRh dGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJyZW50 U3Vic2NyaXB0aW9uc0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAv Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudE1vbml0b3JlZEl0ZW1zQ291bnQiIHR5 cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu YW1lPSJDdXJyZW50UHVibGlzaFJlcXVlc3RzSW5RdWV1ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQi IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRvdGFsUmVxdWVzdENv dW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxs YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVuYXV0aG9yaXplZFJlcXVl c3RDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 czplbGVtZW50IG5hbWU9IlJlYWRDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5 cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu YW1lPSJIaXN0b3J5UmVhZENvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIg bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 IldyaXRlQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9 IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVVw ZGF0ZUNvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIw IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNhbGxDb3VudCIg dHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVNb25pdG9yZWRJdGVtc0Nv dW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxs YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmeU1vbml0b3JlZEl0 ZW1zQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAi IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0TW9uaXRvcmlu Z01vZGVDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0i MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXRUcmlnZ2Vy aW5nQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAi IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlTW9uaXRv cmVkSXRlbXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vy cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVT dWJzY3JpcHRpb25Db3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9j Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb2Rp ZnlTdWJzY3JpcHRpb25Db3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1p bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJT ZXRQdWJsaXNoaW5nTW9kZUNvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIg bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 IlB1Ymxpc2hDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vy cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXB1Ymxp c2hDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIg bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2ZlclN1YnNj cmlwdGlvbnNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vy cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVT dWJzY3JpcHRpb25zQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5P Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWRk Tm9kZXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0i MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRSZWZlcmVu Y2VzQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAi IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlTm9kZXND b3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmls bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVSZWZlcmVuY2Vz Q291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5p bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlQ291bnQiIHR5 cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlTmV4dENvdW50IiB0eXBlPSJ0 bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRz Q291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5p bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlGaXJzdENvdW50 IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5TmV4dENvdW50IiB0eXBl PSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyTm9kZXNDb3VudCIgdHlwZT0i dG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVbnJlZ2lzdGVyTm9kZXNDb3VudCIgdHlwZT0i dG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l bnQgbmFtZT0iU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpTZXNzaW9uRGlh Z25vc3RpY3NEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU2Vz c2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl bGVtZW50IG5hbWU9IlNlc3Npb25EaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U2Vzc2lv bkRpYWdub3N0aWNzRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlNlc3Npb25EaWFnbm9zdGljc0RhdGFUeXBl IiB0eXBlPSJ0bnM6TGlzdE9mU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIG5pbGxhYmxlPSJ0 cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlc3Npb25TZWN1 cml0eURpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl bGVtZW50IG5hbWU9IlNlc3Npb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5p bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50VXNlcklkT2ZT ZXNzaW9uIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRVc2VySWRIaXN0b3J5IiB0eXBlPSJ1YTpM aXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 ZWxlbWVudCBuYW1lPSJBdXRoZW50aWNhdGlvbk1lY2hhbmlzbSIgdHlwZT0ieHM6c3RyaW5nIiBt aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i RW5jb2RpbmciIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zcG9ydFByb3RvY29sIiB0eXBlPSJ4czpz dHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu dCBuYW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiBtaW5P Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVBvbGljeVVyaSIg dHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg PHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50Q2VydGlmaWNhdGUiIHR5cGU9InhzOmJhc2U2NEJpbmFy eSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uU2VjdXJpdHlE aWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U2Vzc2lvblNlY3VyaXR5RGlhZ25vc3RpY3NE YXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU2Vzc2lvblNlY3Vy aXR5RGlhZ25vc3RpY3NEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs ZW1lbnQgbmFtZT0iU2Vzc2lvblNlY3VyaXR5RGlhZ25vc3RpY3NEYXRhVHlwZSIgdHlwZT0idG5z OlNlc3Npb25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2Nj dXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlNlc3Npb25TZWN1 cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZTZXNzaW9uU2VjdXJpdHlE aWFnbm9zdGljc0RhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4 czpjb21wbGV4VHlwZSBuYW1lPSJTZXJ2aWNlQ291bnRlckRhdGFUeXBlIj4NCiAgICA8eHM6c2Vx dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUb3RhbENvdW50IiB0eXBlPSJ4czp1bnNp Z25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXJyb3JD b3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNl cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2aWNl Q291bnRlckRhdGFUeXBlIiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCg0K ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU3RhdHVzUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+ DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2Rl IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5m byIgdHlwZT0idWE6RGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l bnQgbmFtZT0iU3RhdHVzUmVzdWx0IiB0eXBlPSJ0bnM6U3RhdHVzUmVzdWx0IiAvPg0KDQogIDx4 czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTdGF0dXNSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5j ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c1Jlc3VsdCIgdHlwZT0idG5zOlN0YXR1 c1Jlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs ZW1lbnQgbmFtZT0iTGlzdE9mU3RhdHVzUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mU3RhdHVzUmVz dWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBu YW1lPSJTdWJzY3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+ DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uSWQiIHR5cGU9InVhOk5vZGVJZCIgbWlu T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1 YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg ICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJpb3JpdHkiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWlu T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGluZ0ludGVydmFs IiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h bWU9Ik1heEtlZXBBbGl2ZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4TGlmZXRpbWVDb3VudCIgdHlwZT0ieHM6 dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1h eE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGluZ0VuYWJsZWQiIHR5cGU9 InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1v ZGlmeUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg PHhzOmVsZW1lbnQgbmFtZT0iRW5hYmxlQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNhYmxlQ291bnQiIHR5cGU9 InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l PSJSZXB1Ymxpc2hSZXF1ZXN0Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9 IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXB1Ymxpc2hNZXNzYWdlUmVxdWVzdENv dW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs ZW1lbnQgbmFtZT0iUmVwdWJsaXNoTWVzc2FnZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIg bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNmZXJSZXF1ZXN0 Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 ZWxlbWVudCBuYW1lPSJUcmFuc2ZlcnJlZFRvQWx0Q2xpZW50Q291bnQiIHR5cGU9InhzOnVuc2ln bmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2Zl cnJlZFRvU2FtZUNsaWVudENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaFJlcXVlc3RDb3VudCIgdHlwZT0i eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 IkRhdGFDaGFuZ2VOb3RpZmljYXRpb25zQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudE5vdGlmaWNhdGlvbnND b3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl bGVtZW50IG5hbWU9Ik5vdGlmaWNhdGlvbnNDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1p bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkxhdGVQdWJsaXNoUmVxdWVz dENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz OmVsZW1lbnQgbmFtZT0iQ3VycmVudEtlZXBBbGl2ZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZElu dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudExpZmV0 aW1lQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 eHM6ZWxlbWVudCBuYW1lPSJVbmFja25vd2xlZGdlZE1lc3NhZ2VDb3VudCIgdHlwZT0ieHM6dW5z aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2Nh cmRlZE1lc3NhZ2VDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4N CiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1Db3VudCIgdHlwZT0ieHM6dW5z aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2Fi bGVkTW9uaXRvcmVkSXRlbUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ1F1ZXVlT3ZlcmZsb3dDb3Vu dCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt ZW50IG5hbWU9Ik5leHRTZXF1ZW5jZU51bWJlciIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9j Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50UXVldWVPdmVyRmxvd0Nv dW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2Vx dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlw dGlvbkRpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpTdWJzY3JpcHRpb25EaWFnbm9zdGlj c0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTdWJzY3JpcHRp b25EaWFnbm9zdGljc0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl bWVudCBuYW1lPSJTdWJzY3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U3Vi c2NyaXB0aW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu Ym91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU3Vic2NyaXB0aW9uRGlhZ25v c3RpY3NEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlN1YnNjcmlwdGlvbkRpYWdub3N0aWNzRGF0 YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUg IG5hbWU9Ik1vZGVsQ2hhbmdlU3RydWN0dXJlVmVyYk1hc2siPg0KICAgIDx4czpyZXN0cmljdGlv biBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb2RlQWRk ZWRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9kZURlbGV0ZWRfMiIgLz4N CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVmZXJlbmNlQWRkZWRfNCIgLz4NCiAgICAg IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVmZXJlbmNlRGVsZXRlZF84IiAvPg0KICAgICAgPHhz OmVudW1lcmF0aW9uIHZhbHVlPSJEYXRhVHlwZUNoYW5nZWRfMTYiIC8+DQogICAgPC94czpyZXN0 cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RlbENo YW5nZVN0cnVjdHVyZVZlcmJNYXNrIiB0eXBlPSJ0bnM6TW9kZWxDaGFuZ2VTdHJ1Y3R1cmVWZXJi TWFzayIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVE YXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWZm ZWN0ZWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFmZmVjdGVkVHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBt aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i VmVyYiIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpz ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kZWxD aGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgdHlwZT0idG5zOk1vZGVsQ2hhbmdlU3RydWN0dXJlRGF0 YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk1vZGVsQ2hhbmdlU3Ry dWN0dXJlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h bWU9Ik1vZGVsQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIHR5cGU9InRuczpNb2RlbENoYW5nZVN0 cnVjdHVyZURhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxs YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K ICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZNb2RlbENoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiB0 eXBlPSJ0bnM6TGlzdE9mTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgbmlsbGFibGU9InRy dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2VtYW50aWNDaGFu Z2VTdHJ1Y3R1cmVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l bnQgbmFtZT0iQWZmZWN0ZWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJs ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFmZmVjdGVkVHlwZSIgdHlwZT0i dWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNlbWFudGlj Q2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIHR5cGU9InRuczpTZW1hbnRpY0NoYW5nZVN0cnVjdHVy ZURhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTZW1hbnRpY0No YW5nZVN0cnVjdHVyZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl bWVudCBuYW1lPSJTZW1hbnRpY0NoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiB0eXBlPSJ0bnM6U2Vt YW50aWNDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu Ym91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU2VtYW50aWNDaGFuZ2VTdHJ1 Y3R1cmVEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlNlbWFudGljQ2hhbmdlU3RydWN0dXJlRGF0 YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBl IG5hbWU9IlJhbmdlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l PSJMb3ciIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l bnQgbmFtZT0iSGlnaCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94 czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmFu Z2UiIHR5cGU9InRuczpSYW5nZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRVVJbmZv cm1hdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFt ZXNwYWNlVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVbml0SWQiIHR5cGU9InhzOmludCIgbWluT2Nj dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzcGxheU5hbWUiIHR5cGU9InVh OkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 eHM6ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWlu T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFVUluZm9ybWF0aW9uIiB0eXBlPSJ0 bnM6RVVJbmZvcm1hdGlvbiIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iQXhpc1NjYWxl RW51bWVyYXRpb24iPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAg ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJMaW5lYXJfMCIgLz4NCiAgICAgIDx4czplbnVtZXJh dGlvbiB2YWx1ZT0iTG9nXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkxuXzIi IC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxl bWVudCBuYW1lPSJBeGlzU2NhbGVFbnVtZXJhdGlvbiIgdHlwZT0idG5zOkF4aXNTY2FsZUVudW1l cmF0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDb21wbGV4TnVtYmVyVHlwZSI+ DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhbCIgdHlwZT0i eHM6ZmxvYXQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkltYWdp bmFyeSIgdHlwZT0ieHM6ZmxvYXQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNl Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb21wbGV4TnVtYmVy VHlwZSIgdHlwZT0idG5zOkNvbXBsZXhOdW1iZXJUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw ZSBuYW1lPSJEb3VibGVDb21wbGV4TnVtYmVyVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAi IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbWFnaW5hcnkiIHR5cGU9InhzOmRvdWJsZSIg bWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ DQogIDx4czplbGVtZW50IG5hbWU9IkRvdWJsZUNvbXBsZXhOdW1iZXJUeXBlIiB0eXBlPSJ0bnM6 RG91YmxlQ29tcGxleE51bWJlclR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkF4 aXNJbmZvcm1hdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt ZT0iRW5naW5lZXJpbmdVbml0cyIgdHlwZT0idG5zOkVVSW5mb3JtYXRpb24iIG1pbk9jY3Vycz0i MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFVVJhbmdlIiB0 eXBlPSJ0bnM6UmFuZ2UiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 eHM6ZWxlbWVudCBuYW1lPSJUaXRsZSIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJz PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkF4aXNTY2Fs ZVR5cGUiIHR5cGU9InRuczpBeGlzU2NhbGVFbnVtZXJhdGlvbiIgbWluT2NjdXJzPSIwIiAvPg0K ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXhpc1N0ZXBzIiB0eXBlPSJ1YTpMaXN0T2ZEb3VibGUi IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXhpc0luZm9ybWF0aW9uIiB0 eXBlPSJ0bnM6QXhpc0luZm9ybWF0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJY VlR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlgiIHR5 cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i VmFsdWUiIHR5cGU9InhzOmZsb2F0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5j ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iWFZUeXBlIiB0eXBl PSJ0bnM6WFZUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJQcm9ncmFtRGlhZ25v c3RpY0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l PSJDcmVhdGVTZXNzaW9uSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJs ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZUNsaWVudE5hbWUiIHR5 cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 czplbGVtZW50IG5hbWU9Ikludm9jYXRpb25DcmVhdGlvblRpbWUiIHR5cGU9InhzOmRhdGVUaW1l IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0VHJhbnNpdGlv blRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl bWVudCBuYW1lPSJMYXN0TWV0aG9kQ2FsbCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdE1ldGhvZFNl c3Npb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdE1ldGhvZElucHV0QXJndW1lbnRzIiB0eXBl PSJ0bnM6TGlzdE9mQXJndW1lbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kT3V0cHV0QXJndW1lbnRzIiB0eXBlPSJ0 bnM6TGlzdE9mQXJndW1lbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg ICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kQ2FsbFRpbWUiIHR5cGU9InhzOmRhdGVUaW1l IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kUmV0 dXJuU3RhdHVzIiB0eXBlPSJ0bnM6U3RhdHVzUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 czplbGVtZW50IG5hbWU9IlByb2dyYW1EaWFnbm9zdGljRGF0YVR5cGUiIHR5cGU9InRuczpQcm9n cmFtRGlhZ25vc3RpY0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBbm5v dGF0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXNz YWdlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1 cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQW5ub3Rh dGlvblRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpz ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQW5ub3Rh dGlvbiIgdHlwZT0idG5zOkFubm90YXRpb24iIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9 IkV4Y2VwdGlvbkRldmlhdGlvbkZvcm1hdCI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9Inhz OnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFic29sdXRlVmFsdWVfMCIg Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudE9mVmFsdWVfMSIgLz4NCiAg ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudE9mUmFuZ2VfMiIgLz4NCiAgICAgIDx4 czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudE9mRVVSYW5nZV8zIiAvPg0KICAgICAgPHhzOmVu dW1lcmF0aW9uIHZhbHVlPSJVbmtub3duXzQiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAg PC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFeGNlcHRpb25EZXZpYXRpb25G b3JtYXQiIHR5cGU9InRuczpFeGNlcHRpb25EZXZpYXRpb25Gb3JtYXQiIC8+DQoNCjwveHM6c2No ZW1hPg== NamespaceUri A URI that uniquely identifies the dictionary. i=68 i=8252 http://opcfoundation.org/UA/2008/02/Types.xsd TrustListDataType i=69 i=8252 //xs:element[@name='TrustListDataType'] Argument i=69 i=8252 //xs:element[@name='Argument'] EnumValueType i=69 i=8252 //xs:element[@name='EnumValueType'] OptionSet i=69 i=8252 //xs:element[@name='OptionSet'] Union i=69 i=8252 //xs:element[@name='Union'] TimeZoneDataType i=69 i=8252 //xs:element[@name='TimeZoneDataType'] ApplicationDescription i=69 i=8252 //xs:element[@name='ApplicationDescription'] ServerOnNetwork i=69 i=8252 //xs:element[@name='ServerOnNetwork'] UserTokenPolicy i=69 i=8252 //xs:element[@name='UserTokenPolicy'] EndpointDescription i=69 i=8252 //xs:element[@name='EndpointDescription'] RegisteredServer i=69 i=8252 //xs:element[@name='RegisteredServer'] DiscoveryConfiguration i=69 i=8252 //xs:element[@name='DiscoveryConfiguration'] MdnsDiscoveryConfiguration i=69 i=8252 //xs:element[@name='MdnsDiscoveryConfiguration'] SignedSoftwareCertificate i=69 i=8252 //xs:element[@name='SignedSoftwareCertificate'] UserIdentityToken i=69 i=8252 //xs:element[@name='UserIdentityToken'] AnonymousIdentityToken i=69 i=8252 //xs:element[@name='AnonymousIdentityToken'] UserNameIdentityToken i=69 i=8252 //xs:element[@name='UserNameIdentityToken'] X509IdentityToken i=69 i=8252 //xs:element[@name='X509IdentityToken'] KerberosIdentityToken i=69 i=8252 //xs:element[@name='KerberosIdentityToken'] IssuedIdentityToken i=69 i=8252 //xs:element[@name='IssuedIdentityToken'] AddNodesItem i=69 i=8252 //xs:element[@name='AddNodesItem'] AddReferencesItem i=69 i=8252 //xs:element[@name='AddReferencesItem'] DeleteNodesItem i=69 i=8252 //xs:element[@name='DeleteNodesItem'] DeleteReferencesItem i=69 i=8252 //xs:element[@name='DeleteReferencesItem'] RelativePathElement i=69 i=8252 //xs:element[@name='RelativePathElement'] RelativePath i=69 i=8252 //xs:element[@name='RelativePath'] EndpointConfiguration i=69 i=8252 //xs:element[@name='EndpointConfiguration'] SupportedProfile i=69 i=8252 //xs:element[@name='SupportedProfile'] SoftwareCertificate i=69 i=8252 //xs:element[@name='SoftwareCertificate'] ContentFilterElement i=69 i=8252 //xs:element[@name='ContentFilterElement'] ContentFilter i=69 i=8252 //xs:element[@name='ContentFilter'] FilterOperand i=69 i=8252 //xs:element[@name='FilterOperand'] ElementOperand i=69 i=8252 //xs:element[@name='ElementOperand'] LiteralOperand i=69 i=8252 //xs:element[@name='LiteralOperand'] AttributeOperand i=69 i=8252 //xs:element[@name='AttributeOperand'] SimpleAttributeOperand i=69 i=8252 //xs:element[@name='SimpleAttributeOperand'] HistoryEvent i=69 i=8252 //xs:element[@name='HistoryEvent'] MonitoringFilter i=69 i=8252 //xs:element[@name='MonitoringFilter'] EventFilter i=69 i=8252 //xs:element[@name='EventFilter'] AggregateConfiguration i=69 i=8252 //xs:element[@name='AggregateConfiguration'] HistoryEventFieldList i=69 i=8252 //xs:element[@name='HistoryEventFieldList'] BuildInfo i=69 i=8252 //xs:element[@name='BuildInfo'] RedundantServerDataType i=69 i=8252 //xs:element[@name='RedundantServerDataType'] EndpointUrlListDataType i=69 i=8252 //xs:element[@name='EndpointUrlListDataType'] NetworkGroupDataType i=69 i=8252 //xs:element[@name='NetworkGroupDataType'] SamplingIntervalDiagnosticsDataType i=69 i=8252 //xs:element[@name='SamplingIntervalDiagnosticsDataType'] ServerDiagnosticsSummaryDataType i=69 i=8252 //xs:element[@name='ServerDiagnosticsSummaryDataType'] ServerStatusDataType i=69 i=8252 //xs:element[@name='ServerStatusDataType'] SessionDiagnosticsDataType i=69 i=8252 //xs:element[@name='SessionDiagnosticsDataType'] SessionSecurityDiagnosticsDataType i=69 i=8252 //xs:element[@name='SessionSecurityDiagnosticsDataType'] ServiceCounterDataType i=69 i=8252 //xs:element[@name='ServiceCounterDataType'] StatusResult i=69 i=8252 //xs:element[@name='StatusResult'] SubscriptionDiagnosticsDataType i=69 i=8252 //xs:element[@name='SubscriptionDiagnosticsDataType'] ModelChangeStructureDataType i=69 i=8252 //xs:element[@name='ModelChangeStructureDataType'] SemanticChangeStructureDataType i=69 i=8252 //xs:element[@name='SemanticChangeStructureDataType'] Range i=69 i=8252 //xs:element[@name='Range'] EUInformation i=69 i=8252 //xs:element[@name='EUInformation'] ComplexNumberType i=69 i=8252 //xs:element[@name='ComplexNumberType'] DoubleComplexNumberType i=69 i=8252 //xs:element[@name='DoubleComplexNumberType'] AxisInformation i=69 i=8252 //xs:element[@name='AxisInformation'] XVType i=69 i=8252 //xs:element[@name='XVType'] ProgramDiagnosticDataType i=69 i=8252 //xs:element[@name='ProgramDiagnosticDataType'] Annotation i=69 i=8252 //xs:element[@name='Annotation'] Default Binary i=338 i=7692 i=76 Default Binary i=853 i=8208 i=76 Default Binary i=11943 i=11959 i=76 Default Binary i=11944 i=11962 i=76 Default Binary i=856 i=8211 i=76 Default Binary i=859 i=8214 i=76 Default Binary i=862 i=8217 i=76 Default Binary i=865 i=8220 i=76 Default Binary i=868 i=8223 i=76 Default Binary i=871 i=8226 i=76 Default Binary i=299 i=7659 i=76 Default Binary i=874 i=8229 i=76 Default Binary i=877 i=8232 i=76 Default Binary i=897 i=8235 i=76 Opc.Ua i=7619 i=12681 i=7650 i=7656 i=12767 i=12770 i=8914 i=7665 i=12213 i=7662 i=7668 i=7782 i=12902 i=12905 i=7698 i=7671 i=7674 i=7677 i=7680 i=12510 i=7683 i=7728 i=7731 i=7734 i=7737 i=12718 i=12721 i=7686 i=7689 i=7695 i=7929 i=7932 i=7935 i=7938 i=7941 i=7944 i=7947 i=8004 i=8067 i=8073 i=8076 i=8172 i=7692 i=8208 i=11959 i=11962 i=8211 i=8214 i=8217 i=8220 i=8223 i=8226 i=7659 i=8229 i=8232 i=8235 i=8238 i=8241 i=12183 i=12186 i=12091 i=12094 i=8247 i=8244 i=93 i=72 PG9wYzpUeXBlRGljdGlvbmFyeQ0KICB4bWxuczpvcGM9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9y Zy9CaW5hcnlTY2hlbWEvIg0KICB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1M U2NoZW1hLWluc3RhbmNlIg0KICB4bWxuczp1YT0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VB LyINCiAgeG1sbnM6dG5zPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvIg0KICBEZWZhdWx0 Qnl0ZU9yZGVyPSJMaXR0bGVFbmRpYW4iDQogIFRhcmdldE5hbWVzcGFjZT0iaHR0cDovL29wY2Zv dW5kYXRpb24ub3JnL1VBLyINCj4NCiAgPCEtLSBUaGlzIEZpbGUgd2FzIGdlbmVyYXRlZCBvbiAy MDE1LTA4LTE4IGFuZCBzdXBwb3J0cyB0aGUgc3BlY2lmaWNhdGlvbnMgc3VwcG9ydGVkIGJ5IHZl cnNpb24gMS4xLjMzNS4xIG9mIHRoZSBPUEMgVUEgZGVsaXZlcmFibGVzLiAtLT4NCg0KICA8b3Bj OkltcG9ydCBOYW1lc3BhY2U9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9CaW5hcnlTY2hlbWEv IiAvPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iWG1sRWxlbWVudCI+DQogICAgPG9w YzpEb2N1bWVudGF0aW9uPkFuIFhNTCBlbGVtZW50IGVuY29kZWQgYXMgYSBVVEYtOCBzdHJpbmcu PC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxlbmd0aCIgVHlwZU5h bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0i b3BjOkNoYXIiIExlbmd0aEZpZWxkPSJMZW5ndGgiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl Pg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iTm9kZUlkVHlwZSIgTGVuZ3RoSW5CaXRz PSI2Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHBvc3NpYmxlIGVuY29kaW5ncyBmb3Ig YSBOb2RlSWQgdmFsdWUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRW YWx1ZSBOYW1lPSJUd29CeXRlIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 ZSBOYW1lPSJGb3VyQnl0ZSIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg TmFtZT0iTnVtZXJpYyIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt ZT0iU3RyaW5nIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJH dWlkIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCeXRlU3Ry aW5nIiBWYWx1ZT0iNSIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 Y3R1cmVkVHlwZSBOYW1lPSJUd29CeXRlTm9kZUlkIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Iklk ZW50aWZpZXIiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJGb3VyQnl0ZU5vZGVJZCI+DQogICAgPG9w YzpGaWVsZCBOYW1lPSJOYW1lc3BhY2VJbmRleCIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICAg IDxvcGM6RmllbGQgTmFtZT0iSWRlbnRpZmllciIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQog IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTnVt ZXJpY05vZGVJZCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lc3BhY2VJbmRleCIgVHlwZU5h bWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJZGVudGlmaWVyIiBUeXBl TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT dHJ1Y3R1cmVkVHlwZSBOYW1lPSJTdHJpbmdOb2RlSWQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i TmFtZXNwYWNlSW5kZXgiIFR5cGVOYW1lPSJvcGM6VUludDE2IiAvPg0KICAgIDxvcGM6RmllbGQg TmFtZT0iSWRlbnRpZmllciIgVHlwZU5hbWU9Im9wYzpDaGFyQXJyYXkiIC8+DQogIDwvb3BjOlN0 cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iR3VpZE5vZGVJZCI+ DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lc3BhY2VJbmRleCIgVHlwZU5hbWU9Im9wYzpVSW50 MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJZGVudGlmaWVyIiBUeXBlTmFtZT0ib3BjOkd1 aWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg TmFtZT0iQnl0ZVN0cmluZ05vZGVJZCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lc3BhY2VJ bmRleCIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJZGVu dGlmaWVyIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTm9kZUlkIj4NCiAgICA8b3BjOkRv Y3VtZW50YXRpb24+QW4gaWRlbnRpZmllciBmb3IgYSBub2RlIGluIGEgVUEgc2VydmVyIGFkZHJl c3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJ ZFR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWRUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i UmVzZXJ2ZWQxIiBUeXBlTmFtZT0ib3BjOkJpdCIgTGVuZ3RoPSIyIiAvPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iVHdvQnl0ZSIgVHlwZU5hbWU9InVhOlR3b0J5dGVOb2RlSWQiIFN3aXRjaEZpZWxk PSJOb2RlSWRUeXBlIiBTd2l0Y2hWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZv dXJCeXRlIiBUeXBlTmFtZT0idWE6Rm91ckJ5dGVOb2RlSWQiIFN3aXRjaEZpZWxkPSJOb2RlSWRU eXBlIiBTd2l0Y2hWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik51bWVyaWMiIFR5 cGVOYW1lPSJ1YTpOdW1lcmljTm9kZUlkIiBTd2l0Y2hGaWVsZD0iTm9kZUlkVHlwZSIgU3dpdGNo VmFsdWU9IjIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdHJpbmciIFR5cGVOYW1lPSJ1YTpT dHJpbmdOb2RlSWQiIFN3aXRjaEZpZWxkPSJOb2RlSWRUeXBlIiBTd2l0Y2hWYWx1ZT0iMyIgLz4N CiAgICA8b3BjOkZpZWxkIE5hbWU9Ikd1aWQiIFR5cGVOYW1lPSJ1YTpHdWlkTm9kZUlkIiBTd2l0 Y2hGaWVsZD0iTm9kZUlkVHlwZSIgU3dpdGNoVmFsdWU9IjQiIC8+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJCeXRlU3RyaW5nIiBUeXBlTmFtZT0idWE6Qnl0ZVN0cmluZ05vZGVJZCIgU3dpdGNoRmll bGQ9Ik5vZGVJZFR5cGUiIFN3aXRjaFZhbHVlPSI1IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkV4cGFuZGVkTm9kZUlkIj4NCiAgICA8 b3BjOkRvY3VtZW50YXRpb24+QW4gaWRlbnRpZmllciBmb3IgYSBub2RlIGluIGEgVUEgc2VydmVy IGFkZHJlc3Mgc3BhY2UgcXVhbGlmaWVkIHdpdGggYSBjb21wbGV0ZSBuYW1lc3BhY2Ugc3RyaW5n Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWRUeXBlIiBU eXBlTmFtZT0idWE6Tm9kZUlkVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlcklu ZGV4U3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 Ik5hbWVzcGFjZVVSSVNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpG aWVsZCBOYW1lPSJUd29CeXRlIiBUeXBlTmFtZT0idWE6VHdvQnl0ZU5vZGVJZCIgU3dpdGNoRmll bGQ9Ik5vZGVJZFR5cGUiIFN3aXRjaFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i Rm91ckJ5dGUiIFR5cGVOYW1lPSJ1YTpGb3VyQnl0ZU5vZGVJZCIgU3dpdGNoRmllbGQ9Ik5vZGVJ ZFR5cGUiIFN3aXRjaFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTnVtZXJpYyIg VHlwZU5hbWU9InVhOk51bWVyaWNOb2RlSWQiIFN3aXRjaEZpZWxkPSJOb2RlSWRUeXBlIiBTd2l0 Y2hWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0cmluZyIgVHlwZU5hbWU9InVh OlN0cmluZ05vZGVJZCIgU3dpdGNoRmllbGQ9Ik5vZGVJZFR5cGUiIFN3aXRjaFZhbHVlPSIzIiAv Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iR3VpZCIgVHlwZU5hbWU9InVhOkd1aWROb2RlSWQiIFN3 aXRjaEZpZWxkPSJOb2RlSWRUeXBlIiBTd2l0Y2hWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkZpZWxk IE5hbWU9IkJ5dGVTdHJpbmciIFR5cGVOYW1lPSJ1YTpCeXRlU3RyaW5nTm9kZUlkIiBTd2l0Y2hG aWVsZD0iTm9kZUlkVHlwZSIgU3dpdGNoVmFsdWU9IjUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l PSJOYW1lc3BhY2VVUkkiIFR5cGVOYW1lPSJvcGM6Q2hhckFycmF5IiBTd2l0Y2hGaWVsZD0iTmFt ZXNwYWNlVVJJU3BlY2lmaWVkIi8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJJbmRleCIg VHlwZU5hbWU9Im9wYzpVSW50MzIiIFN3aXRjaEZpZWxkPSJTZXJ2ZXJJbmRleFNwZWNpZmllZCIv Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iU3Rh dHVzQ29kZSIgTGVuZ3RoSW5CaXRzPSIzMiIgQnl0ZU9yZGVyU2lnbmlmaWNhbnQ9InRydWUiPg0K ICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIDMyLWJpdCBzdGF0dXMgY29kZSB2YWx1ZS48L29wYzpE b2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 cGUgTmFtZT0iRGlhZ25vc3RpY0luZm8iPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHJlY3Vy c2l2ZSBzdHJ1Y3R1cmUgY29udGFpbmluZyBkaWFnbm9zdGljIGluZm9ybWF0aW9uIGFzc29jaWF0 ZWQgd2l0aCBhIHN0YXR1cyBjb2RlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJTeW1ib2xpY0lkU3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9Ik5hbWVzcGFjZVVSSVNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQi IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMb2NhbGVTcGVjaWZpZWQiIFR5cGVOYW1lPSJvcGM6 Qml0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTG9jYWxpemVkVGV4dFNwZWNpZmllZCIgVHlw ZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGRpdGlvbmFsSW5mb1Nw ZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbm5l clN0YXR1c0NvZGVTcGVjaWZpZWQiIFR5cGVOYW1lPSJvcGM6Qml0IiAvPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iSW5uZXJEaWFnbm9zdGljSW5mb1NwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQi IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNlcnZlZDEiIFR5cGVOYW1lPSJvcGM6Qml0IiBM ZW5ndGg9IjIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTeW1ib2xpY0lkIiBUeXBlTmFtZT0i b3BjOkludDMyIiBTd2l0Y2hGaWVsZD0iU3ltYm9saWNJZFNwZWNpZmllZCIgLz4NCiAgICA8b3Bj OkZpZWxkIE5hbWU9Ik5hbWVzcGFjZVVSSSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgU3dpdGNoRmll bGQ9Ik5hbWVzcGFjZVVSSVNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2Fs ZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgU3dpdGNoRmllbGQ9IkxvY2FsZVNwZWNpZmllZCIgLz4N CiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsaXplZFRleHQiIFR5cGVOYW1lPSJvcGM6SW50MzIi IFN3aXRjaEZpZWxkPSJMb2NhbGl6ZWRUZXh0U3BlY2lmaWVkIiAvPg0KICAgIDxvcGM6RmllbGQg TmFtZT0iQWRkaXRpb25hbEluZm8iIFR5cGVOYW1lPSJvcGM6Q2hhckFycmF5IiBTd2l0Y2hGaWVs ZD0iQWRkaXRpb25hbEluZm9TcGVjaWZpZWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbm5l clN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBTd2l0Y2hGaWVsZD0iSW5uZXJT dGF0dXNDb2RlU3BlY2lmaWVkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5uZXJEaWFnbm9z dGljSW5mbyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBTd2l0Y2hGaWVsZD0iSW5uZXJE aWFnbm9zdGljSW5mb1NwZWNpZmllZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJRdWFsaWZpZWROYW1lIj4NCiAgICA8b3BjOkRvY3Vt ZW50YXRpb24+QSBzdHJpbmcgcXVhbGlmaWVkIHdpdGggYSBuYW1lc3BhY2UgaW5kZXguPC9vcGM6 RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWVzcGFjZUluZGV4IiBUeXBl TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmFtZSIgVHlwZU5hbWU9 Im9wYzpDaGFyQXJyYXkiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry dWN0dXJlZFR5cGUgTmFtZT0iTG9jYWxpemVkVGV4dCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u PkEgc3RyaW5nIHF1YWxpZmllZCB3aXRoIGEgbmFtZXNwYWNlIGluZGV4Ljwvb3BjOkRvY3VtZW50 YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMb2NhbGVTcGVjaWZpZWQiIFR5cGVOYW1lPSJv cGM6Qml0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGV4dFNwZWNpZmllZCIgVHlwZU5hbWU9 Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNlcnZlZDEiIFR5cGVOYW1lPSJv cGM6Qml0IiBMZW5ndGg9IjYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMb2NhbGUiIFR5cGVO YW1lPSJvcGM6Q2hhckFycmF5IiBTd2l0Y2hGaWVsZD0iTG9jYWxlU3BlY2lmaWVkIiAvPg0KICAg IDxvcGM6RmllbGQgTmFtZT0iVGV4dCIgVHlwZU5hbWU9Im9wYzpDaGFyQXJyYXkiIFN3aXRjaEZp ZWxkPSJUZXh0U3BlY2lmaWVkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj OlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFWYWx1ZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u PkEgdmFsdWUgd2l0aCBhbiBhc3NvY2lhdGVkIHRpbWVzdGFtcCwgYW5kIHF1YWxpdHkuPC9vcGM6 RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlU3BlY2lmaWVkIiBUeXBl TmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGVTcGVjaWZp ZWQiIFR5cGVOYW1lPSJvcGM6Qml0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU291cmNlVGlt ZXN0YW1wU3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5h bWU9IlNvdXJjZVBpY29zZWNvbmRzU3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAg ICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclRpbWVzdGFtcFNwZWNpZmllZCIgVHlwZU5hbWU9Im9w YzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJQaWNvc2Vjb25kc1NwZWNpZmll ZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNlcnZlZDEi IFR5cGVOYW1lPSJvcGM6Qml0IiBMZW5ndGg9IjIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJW YWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIFN3aXRjaEZpZWxkPSJWYWx1ZVNwZWNpZmllZCIg Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXND b2RlIiBTd2l0Y2hGaWVsZD0iU3RhdHVzQ29kZVNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxk IE5hbWU9IlNvdXJjZVRpbWVzdGFtcCIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgU3dpdGNoRmll bGQ9IlNvdXJjZVRpbWVzdGFtcFNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNv dXJjZVBpY29zZWNvbmRzIiBUeXBlTmFtZT0ib3BjOlVJbnQxNiIgU3dpdGNoRmllbGQ9IlNvdXJj ZVBpY29zZWNvbmRzU3BlY2lmaWVkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyVGlt ZXN0YW1wIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiBTd2l0Y2hGaWVsZD0iU2VydmVyVGltZXN0 YW1wU3BlY2lmaWVkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyUGljb3NlY29uZHMi IFR5cGVOYW1lPSJvcGM6VUludDE2IiBTd2l0Y2hGaWVsZD0iU2VydmVyUGljb3NlY29uZHNTcGVj aWZpZWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 cGUgTmFtZT0iRXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBzZXJp YWxpemVkIG9iamVjdCBwcmVmaXhlZCB3aXRoIGl0cyBkYXRhIHR5cGUgaWRlbnRpZmllci48L29w YzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHlwZUlkU3BlY2lmaWVkIiBU eXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJpbmFyeUJvZHkiIFR5 cGVOYW1lPSJvcGM6Qml0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iWG1sQm9keSIgVHlwZU5h bWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNlcnZlZDEiIFR5cGVOYW1l PSJvcGM6Qml0IiBMZW5ndGg9IjUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUeXBlSWQiIFR5 cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgU3dpdGNoRmllbGQ9IlR5cGVJZFNwZWNpZmllZCIg Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJvZHlMZW5ndGgiIFR5cGVOYW1lPSJvcGM6SW50MzIi IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCb2R5IiBUeXBlTmFtZT0ib3BjOkJ5dGUiIExlbmd0 aEZpZWxkPSJCb2R5TGVuZ3RoIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj OlN0cnVjdHVyZWRUeXBlIE5hbWU9IlZhcmlhbnQiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5B IHVuaW9uIG9mIHNldmVyYWwgdHlwZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZp ZWxkIE5hbWU9IlZhcmlhbnRUeXBlIiBUeXBlTmFtZT0ib3BjOkJpdCIgTGVuZ3RoPSI2IiAvPg0K ICAgIDxvcGM6RmllbGQgTmFtZT0iQXJyYXlEaW1lbnNpb25zU3BlY2lmaWVkIiBUeXBlTmFtZT0i b3BjOkJpdCIgTGVuZ3RoPSIxIi8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBcnJheUxlbmd0aFNw ZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIExlbmd0aD0iMSIvPg0KICAgIDxvcGM6RmllbGQg TmFtZT0iQXJyYXlMZW5ndGgiIFR5cGVOYW1lPSJvcGM6SW50MzIiIFN3aXRjaEZpZWxkPSJBcnJh eUxlbmd0aFNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJvb2xlYW4iIFR5cGVO YW1lPSJvcGM6Qm9vbGVhbiIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0i VmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU0J5 dGUiIFR5cGVOYW1lPSJvcGM6U0J5dGUiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNo RmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h bWU9IkJ5dGUiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBT d2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iSW50MTYiIFR5cGVOYW1lPSJvcGM6SW50MTYiIExlbmd0aEZpZWxkPSJBcnJheUxl bmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iNCIgLz4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9IlVJbnQxNiIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIExlbmd0aEZpZWxk PSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iNSIg Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkludDMyIiBUeXBlTmFtZT0ib3BjOkludDMyIiBMZW5n dGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFs dWU9IjYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVSW50MzIiIFR5cGVOYW1lPSJvcGM6VUlu dDMyIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIg U3dpdGNoVmFsdWU9IjciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbnQ2NCIgVHlwZU5hbWU9 Im9wYzpJbnQ2NCIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFu dFR5cGUiIFN3aXRjaFZhbHVlPSI4IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVUludDY0IiBU eXBlTmFtZT0ib3BjOlVJbnQ2NCIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVs ZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSI5IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i RmxvYXQiIFR5cGVOYW1lPSJvcGM6RmxvYXQiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dp dGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iMTAiIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJEb3VibGUiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiBMZW5ndGhGaWVsZD0iQXJyYXlM ZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjExIiAvPg0KICAg IDxvcGM6RmllbGQgTmFtZT0iU3RyaW5nIiBUeXBlTmFtZT0ib3BjOkNoYXJBcnJheSIgTGVuZ3Ro RmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVl PSIxMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGVUaW1lIiBUeXBlTmFtZT0ib3BjOkRh dGVUaW1lIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlw ZSIgU3dpdGNoVmFsdWU9IjEzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iR3VpZCIgVHlwZU5h bWU9Im9wYzpHdWlkIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJp YW50VHlwZSIgU3dpdGNoVmFsdWU9IjE0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnl0ZVN0 cmluZyIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgi IFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjE1IiAvPg0KICAgIDxvcGM6 RmllbGQgTmFtZT0iWG1sRWxlbWVudCIgVHlwZU5hbWU9InVhOlhtbEVsZW1lbnQiIExlbmd0aEZp ZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0i MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQi IExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0 Y2hWYWx1ZT0iMTciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFeHBhbmRlZE5vZGVJZCIgVHlw ZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRj aEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjE4IiAvPg0KICAgIDxvcGM6RmllbGQg TmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJB cnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iMTkiIC8+ DQogICAgPG9wYzpGaWVsZCBOYW1lPSJRdWFsaWZpZWROYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlm aWVkTmFtZSIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5 cGUiIFN3aXRjaFZhbHVlPSIyMCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsaXplZFRl eHQiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgi IFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjIxIiAvPg0KICAgIDxvcGM6 RmllbGQgTmFtZT0iRXh0ZW5zaW9uT2JqZWN0IiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0 IiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dp dGNoVmFsdWU9IjIyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVZhbHVlIiBUeXBlTmFt ZT0idWE6RGF0YVZhbHVlIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJW YXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjIzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFy aWFudCIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dp dGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iMjQiIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJEaWFnbm9zdGljSW5mbyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5n dGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFs dWU9IjI1IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkFycmF5RGltZW5zaW9ucyIgVHlw ZU5hbWU9Im9wYzpJbnQzMiIgU3dpdGNoRmllbGQ9IkFycmF5RGltZW5zaW9uc1NwZWNpZmllZCIg Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpJ bnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIFN3aXRjaEZpZWxkPSJBcnJh eURpbWVuc2lvbnNTcGVjaWZpZWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv cGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iTmFtaW5nUnVsZVR5cGUiIExlbmd0aEluQml0cz0iMzIi Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik1hbmRhdG9yeSIgVmFsdWU9IjEiIC8+ DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iT3B0aW9uYWwiIFZhbHVlPSIyIiAvPg0K ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkNvbnN0cmFpbnQiIFZhbHVlPSIzIiAvPg0K ICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCiAgICANCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0i SW1hZ2VCTVAiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BbiBpbWFnZSBlbmNvZGVkIGluIEJN UCBmb3JtYXQuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8 b3BjOk9wYXF1ZVR5cGUgTmFtZT0iSW1hZ2VHSUYiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5B biBpbWFnZSBlbmNvZGVkIGluIEdJRiBmb3JtYXQuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9v cGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iSW1hZ2VKUEciPg0KICAg IDxvcGM6RG9jdW1lbnRhdGlvbj5BbiBpbWFnZSBlbmNvZGVkIGluIEpQRUcgZm9ybWF0Ljwvb3Bj OkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBl IE5hbWU9IkltYWdlUE5HIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QW4gaW1hZ2UgZW5jb2Rl ZCBpbiBQTkcgZm9ybWF0Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+ DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkJpdEZpZWxkTWFza0RhdGFUeXBlIj4NCiAgICA8 b3BjOkRvY3VtZW50YXRpb24+QSBtYXNrIG9mIDMyIGJpdHMgdGhhdCBjYW4gYmUgdXBkYXRlZCBp bmRpdmlkdWFsbHkgYnkgdXNpbmcgdGhlIHRvcCAzMiBiaXRzIGFzIGEgbWFzay48L29wYzpEb2N1 bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUg TmFtZT0iT3BlbkZpbGVNb2RlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0 ZWRWYWx1ZSBOYW1lPSJSZWFkIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 ZSBOYW1lPSJXcml0ZSIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt ZT0iRXJhc2VFeGlzdGluZyIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg TmFtZT0iQXBwZW5kIiBWYWx1ZT0iOCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAg PG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJUcnVzdExpc3RNYXNrcyIgTGVuZ3RoSW5CaXRzPSIz MiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQog ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVHJ1c3RlZENlcnRpZmljYXRlcyIgVmFsdWU9 IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVHJ1c3RlZENybHMiIFZhbHVl PSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Iklzc3VlckNlcnRpZmljYXRl cyIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSXNzdWVyQ3Js cyIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQWxsIiBWYWx1 ZT0iMTUiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 cGUgTmFtZT0iVHJ1c3RMaXN0RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3BlY2lmaWVkTGlzdHMiIFR5cGVOYW1lPSJvcGM6VUlu dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlRydXN0ZWRDZXJ0aWZpY2F0ZXMiIFR5 cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcnVzdGVkQ2VydGlm aWNhdGVzIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mVHJ1c3Rl ZENlcnRpZmljYXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZUcnVzdGVkQ3JscyIg VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRydXN0ZWRDcmxz IiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mVHJ1c3RlZENybHMi IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mSXNzdWVyQ2VydGlmaWNhdGVzIiBUeXBlTmFt ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNzdWVyQ2VydGlmaWNhdGVz IiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mSXNzdWVyQ2VydGlm aWNhdGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZklzc3VlckNybHMiIFR5cGVOYW1l PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc3N1ZXJDcmxzIiBUeXBlTmFt ZT0ib3BjOkJ5dGVTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mSXNzdWVyQ3JscyIgLz4NCiAgPC9v cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJJZFR5cGUi IExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgdHlwZSBvZiBp ZGVudGlmaWVyIHVzZWQgaW4gYSBub2RlIGlkLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9w YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTnVtZXJpYyIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpF bnVtZXJhdGVkVmFsdWUgTmFtZT0iU3RyaW5nIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1l cmF0ZWRWYWx1ZSBOYW1lPSJHdWlkIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW YWx1ZSBOYW1lPSJPcGFxdWUiIFZhbHVlPSIzIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4N Cg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9Ik5vZGVDbGFzcyIgTGVuZ3RoSW5CaXRzPSIz MiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgbWFzayBzcGVjaWZ5aW5nIHRoZSBjbGFzcyBv ZiB0aGUgbm9kZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl IE5hbWU9IlVuc3BlY2lmaWVkIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 ZSBOYW1lPSJPYmplY3QiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h bWU9IlZhcmlhYmxlIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l PSJNZXRob2QiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik9i amVjdFR5cGUiIFZhbHVlPSI4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZh cmlhYmxlVHlwZSIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 IlJlZmVyZW5jZVR5cGUiIFZhbHVlPSIzMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO YW1lPSJEYXRhVHlwZSIgVmFsdWU9IjY0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h bWU9IlZpZXciIFZhbHVlPSIxMjgiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxv cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTm9kZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj dCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0aGUgYXR0cmlidXRlcyB3aGlj aCBiZWxvbmcgdG8gYWxsIG5vZGVzLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNzIiAvPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIC8+DQogICAg PG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQi IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2Fs aXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJv cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5h bWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlcyIg VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXMi IFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlTm9kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2Vz IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h bWU9Ikluc3RhbmNlTm9kZSIgQmFzZVR5cGU9InRuczpOb2RlIj4NCiAgICA8b3BjOkZpZWxkIE5h bWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+ DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNz IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5h bWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4N CiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVk VGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNj cmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2Rl IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQz MiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3Jp dGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQog ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJ0bnM6UmVmZXJl bmNlTm9kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2VzIiAvPg0KICA8L29wYzpTdHJ1Y3R1 cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlR5cGVOb2RlIiBCYXNlVHlw ZT0idG5zOk5vZGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6 Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v ZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAv Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmll ZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlz cGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9k ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9j YWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l PSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIg Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUlu dDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZS ZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i UmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9P ZlJlZmVyZW5jZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 dXJlZFR5cGUgTmFtZT0iT2JqZWN0Tm9kZSIgQmFzZVR5cGU9InRuczpJbnN0YW5jZU5vZGUiPg0K ICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVs b25nIHRvIG9iamVjdCBub2Rlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQg TmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIg Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xh c3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3Nl TmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAv Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6 ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRl c2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5v ZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUlu dDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJX cml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4N CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMy IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZl cmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJFdmVudE5vdGlmaWVyIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3BjOlN0 cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iT2JqZWN0VHlwZU5v ZGUiIEJhc2VUeXBlPSJ0bnM6VHlwZU5vZGUiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5TcGVj aWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRvIG9iamVjdCB0eXBlIG5vZGVzLjwv b3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1l PSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt ZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgU291cmNlVHlwZT0idG5zOk5v ZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVh bGlmaWVkTmFtZSIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l PSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRu czpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1 YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxk IE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpO b2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9w YzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i Tm9PZlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJSZWZlcmVuY2VzIiBUeXBlTmFtZT0idG5zOlJlZmVyZW5jZU5vZGUiIExlbmd0aEZpZWxk PSJOb09mUmVmZXJlbmNlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5 cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJWYXJpYWJsZU5vZGUiIEJhc2VUeXBlPSJ0bnM6SW5zdGFu Y2VOb2RlIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+U3BlY2lmaWVzIHRoZSBhdHRyaWJ1dGVz IHdoaWNoIGJlbG9uZyB0byB2YXJpYWJsZSBub2Rlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAg IDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBl PSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9 InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQg TmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9 InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1l PSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZp ZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNl VHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVO YW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxk IE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0 bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFt ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5h bWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQog ICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogICAg PG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9IlZhbHVlUmFuayIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIi IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6 VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkFycmF5RGltZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZp ZWxkIE5hbWU9IkFjY2Vzc0xldmVsIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpG aWVsZCBOYW1lPSJVc2VyQWNjZXNzTGV2ZWwiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9Ik1pbmltdW1TYW1wbGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRv dWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikhpc3Rvcml6aW5nIiBUeXBlTmFtZT0ib3Bj OkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl ZFR5cGUgTmFtZT0iVmFyaWFibGVUeXBlTm9kZSIgQmFzZVR5cGU9InRuczpUeXBlTm9kZSI+DQog ICAgPG9wYzpEb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBiZWxv bmcgdG8gdmFyaWFibGUgdHlwZSBub2Rlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6 RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6 Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpO b2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i QnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9InRuczpO b2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpM b2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h bWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0i dG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJv cGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9k ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3Bj OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRu czpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogICAgPG9w YzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogICAgPG9wYzpG aWVsZCBOYW1lPSJEYXRhVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZp ZWxkIE5hbWU9IlZhbHVlUmFuayIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp ZWxkIE5hbWU9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog ICAgPG9wYzpGaWVsZCBOYW1lPSJBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6VUludDMy IiBMZW5ndGhGaWVsZD0iTm9PZkFycmF5RGltZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h bWU9IklzQWJzdHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0 dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWZlcmVuY2VUeXBlTm9k ZSIgQmFzZVR5cGU9InRuczpUeXBlTm9kZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlNwZWNp ZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gcmVmZXJlbmNlIHR5cGUgbm9kZXMu PC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5h bWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNzIiBTb3VyY2VUeXBlPSJ0bnM6 Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5hbWUiIFR5cGVOYW1lPSJ1YTpR dWFsaWZpZWROYW1lIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h bWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0i dG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9 InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5z Ok5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0i b3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l PSJOb09mUmVmZXJlbmNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk IE5hbWU9IlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlTm9kZSIgTGVuZ3RoRmll bGQ9Ik5vT2ZSZWZlcmVuY2VzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNBYnN0cmFjdCIg VHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3ltbWV0cmlj IiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbnZlcnNl TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTWV0aG9kTm9kZSIgQmFzZVR5cGU9 InRuczpJbnN0YW5jZU5vZGUiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhl IGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRvIG1ldGhvZCBub2Rlcy48L29wYzpEb2N1bWVudGF0 aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBT b3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIg VHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxv cGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNv dXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUi IFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAg ICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4 dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1h c2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3Vy Y2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2Vz IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNl cyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5j ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFeGVjdXRhYmxlIiBUeXBlTmFtZT0ib3BjOkJv b2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyRXhlY3V0YWJsZSIgVHlwZU5hbWU9 Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj dHVyZWRUeXBlIE5hbWU9IlZpZXdOb2RlIiBCYXNlVHlwZT0idG5zOkluc3RhbmNlTm9kZSI+DQog ICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5 cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFt ZT0idG5zOk5vZGVDbGFzcyIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgU291cmNlVHlw ZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5h bWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6 RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3Vy Y2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlw ZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9 InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVO YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBl TmFtZT0idG5zOlJlZmVyZW5jZU5vZGUiIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlcyIgLz4N CiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbnRhaW5zTm9Mb29wcyIgVHlwZU5hbWU9Im9wYzpCb29s ZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnROb3RpZmllciIgVHlwZU5hbWU9Im9w YzpCeXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU eXBlIE5hbWU9IkRhdGFUeXBlTm9kZSIgQmFzZVR5cGU9InRuczpUeXBlTm9kZSI+DQogICAgPG9w YzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRu czpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5z Ok5vZGVDbGFzcyIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l PSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgU291cmNlVHlwZT0idG5z Ok5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVh OkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQg TmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBl PSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9 Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt ZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpO b2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJv cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBlTmFtZT0i dG5zOlJlZmVyZW5jZU5vZGUiIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlcyIgLz4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAg PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWZl cmVuY2VOb2RlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3Vt ZW50YXRpb24+U3BlY2lmaWVzIGEgcmVmZXJlbmNlIHdoaWNoIGJlbG9uZ3MgdG8gYSBub2RlLjwv b3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBlSWQi IFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0ludmVyc2Ui IFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldElk IiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQXJndW1lbnQiIEJhc2VUeXBlPSJ1YTpF eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BbiBhcmd1bWVudCBmb3Ig YSBtZXRob2QuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUi IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5cGUi IFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZVJhbmsi IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXJyYXlE aW1lbnNpb25zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i QXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZB cnJheURpbWVuc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlw ZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRW51bVZhbHVlVHlwZSIgQmFzZVR5cGU9InVhOkV4 dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgbWFwcGluZyBiZXR3ZWVu IGEgdmFsdWUgb2YgYW4gZW51bWVyYXRlZCB0eXBlIGFuZCBhIG5hbWUgYW5kIGRlc2NyaXB0aW9u Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5h bWU9Im9wYzpJbnQ2NCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBl TmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0 aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJPcHRpb25TZXQiIEJhc2VUeXBlPSJ1 YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGlzIGFic3RyYWN0 IFN0cnVjdHVyZWQgRGF0YVR5cGUgaXMgdGhlIGJhc2UgRGF0YVR5cGUgZm9yIGFsbCBEYXRhVHlw ZXMgcmVwcmVzZW50aW5nIGEgYml0IG1hc2suPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj OkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9w YzpGaWVsZCBOYW1lPSJWYWxpZEJpdHMiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAg PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVbmlv biIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u PlRoaXMgYWJzdHJhY3QgRGF0YVR5cGUgaXMgdGhlIGJhc2UgRGF0YVR5cGUgZm9yIGFsbCB1bmlv biBEYXRhVHlwZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9Ik5vcm1hbGl6ZWRTdHJpbmciPg0KICAgIDxvcGM6 RG9jdW1lbnRhdGlvbj5BIHN0cmluZyBub3JtYWxpemVkIGJhc2VkIG9uIHRoZSBydWxlcyBpbiB0 aGUgdW5pY29kZSBzcGVjaWZpY2F0aW9uLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9w YXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkRlY2ltYWxTdHJpbmciPg0KICAg IDxvcGM6RG9jdW1lbnRhdGlvbj5BbiBhcmJpdHJhdHkgbnVtZXJpYyB2YWx1ZS48L29wYzpEb2N1 bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1l PSJEdXJhdGlvblN0cmluZyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgcGVyaW9kIG9mIHRp bWUgZm9ybWF0dGVkIGFzIGRlZmluZWQgaW4gSVNPIDg2MDEtMjAwMC48L29wYzpEb2N1bWVudGF0 aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJUaW1l U3RyaW5nIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSB0aW1lIGZvcm1hdHRlZCBhcyBkZWZp bmVkIGluIElTTyA4NjAxLTIwMDAuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVl VHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iRGF0ZVN0cmluZyI+DQogICAgPG9wYzpE b2N1bWVudGF0aW9uPkEgZGF0ZSBmb3JtYXR0ZWQgYXMgZGVmaW5lZCBpbiBJU08gODYwMS0yMDAw Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFx dWVUeXBlIE5hbWU9IkR1cmF0aW9uIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBwZXJpb2Qg b2YgdGltZSBtZWFzdXJlZCBpbiBtaWxsaXNlY29uZHMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAg PC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iVXRjVGltZSI+DQog ICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgZGF0ZS90aW1lIHZhbHVlIHNwZWNpZmllZCBpbiBVbml2 ZXJzYWwgQ29vcmRpbmF0ZWQgVGltZSAoVVRDKS48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29w YzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJMb2NhbGVJZCI+DQogICAg PG9wYzpEb2N1bWVudGF0aW9uPkFuIGlkZW50aWZpZXIgZm9yIGEgdXNlciBsb2NhbGUuPC9vcGM6 RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU eXBlIE5hbWU9IlRpbWVab25lRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iT2Zmc2V0IiBUeXBlTmFtZT0ib3BjOkludDE2IiAvPg0K ICAgIDxvcGM6RmllbGQgTmFtZT0iRGF5bGlnaHRTYXZpbmdJbk9mZnNldCIgVHlwZU5hbWU9Im9w YzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5 cGUgTmFtZT0iSW50ZWdlcklkIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBudW1lcmljIGlk ZW50aWZpZXIgZm9yIGFuIG9iamVjdC48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFx dWVUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iQXBwbGljYXRpb25UeXBlIiBM ZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHR5cGVzIG9mIGFw cGxpY2F0aW9ucy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl IE5hbWU9IlNlcnZlciIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt ZT0iQ2xpZW50IiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJD bGllbnRBbmRTZXJ2ZXIiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h bWU9IkRpc2NvdmVyeVNlcnZlciIgVmFsdWU9IjMiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBl Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQXBwbGljYXRpb25EZXNjcmlwdGlvbiIg QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkRl c2NyaWJlcyBhbiBhcHBsaWNhdGlvbiBhbmQgaG93IHRvIGZpbmQgaXQuPC9vcGM6RG9jdW1lbnRh dGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFwcGxpY2F0aW9uVXJpIiBUeXBlTmFtZT0ib3Bj OlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByb2R1Y3RVcmkiIFR5cGVOYW1lPSJv cGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXBwbGljYXRpb25OYW1lIiBUeXBl TmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFwcGxpY2F0 aW9uVHlwZSIgVHlwZU5hbWU9InRuczpBcHBsaWNhdGlvblR5cGUiIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJHYXRld2F5U2VydmVyVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9IkRpc2NvdmVyeVByb2ZpbGVVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5n IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpc2NvdmVyeVVybHMiIFR5cGVOYW1lPSJv cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNjb3ZlcnlVcmxzIiBUeXBlTmFt ZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaXNjb3ZlcnlVcmxzIiAvPg0KICA8L29w YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlcXVlc3RI ZWFkZXIiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRh dGlvbj5UaGUgaGVhZGVyIHBhc3NlZCB3aXRoIGV2ZXJ5IHNlcnZlciByZXF1ZXN0Ljwvb3BjOkRv Y3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdXRoZW50aWNhdGlvblRva2VuIiBU eXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGltZXN0YW1wIiBU eXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhh bmRsZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXR1 cm5EaWFnbm9zdGljcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJBdWRpdEVudHJ5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iVGltZW91dEhpbnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6 RmllbGQgTmFtZT0iQWRkaXRpb25hbEhlYWRlciIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVj dCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO YW1lPSJSZXNwb25zZUhlYWRlciIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg PG9wYzpEb2N1bWVudGF0aW9uPlRoZSBoZWFkZXIgcGFzc2VkIHdpdGggZXZlcnkgc2VydmVyIHJl c3BvbnNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaW1lc3Rh bXAiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 ZXN0SGFuZGxlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 IlNlcnZpY2VSZXN1bHQiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iU2VydmljZURpYWdub3N0aWNzIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8i IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU3RyaW5nVGFibGUiIFR5cGVOYW1lPSJvcGM6 SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdHJpbmdUYWJsZSIgVHlwZU5hbWU9Im9w YzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mU3RyaW5nVGFibGUiIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJBZGRpdGlvbmFsSGVhZGVyIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAv Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 IlNlcnZpY2VGYXVsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpE b2N1bWVudGF0aW9uPlRoZSByZXNwb25zZSByZXR1cm5lZCBieSBhbGwgc2VydmljZXMgd2hlbiB0 aGVyZSBpcyBhIHNlcnZpY2UgbGV2ZWwgZXJyb3IuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVh ZGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl IE5hbWU9IkZpbmRTZXJ2ZXJzUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkZpbmRzIHRoZSBzZXJ2ZXJzIGtub3duIHRvIHRoZSBk aXNjb3Zlcnkgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1l PSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9w YzpGaWVsZCBOYW1lPSJFbmRwb2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAg PG9wYzpGaWVsZCBOYW1lPSJOb09mTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K ICAgIDxvcGM6RmllbGQgTmFtZT0iTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVu Z3RoRmllbGQ9Ik5vT2ZMb2NhbGVJZHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2Vy dmVyVXJpcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNl cnZlclVyaXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlclVy aXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg TmFtZT0iRmluZFNlcnZlcnNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkZpbmRzIHRoZSBzZXJ2ZXJzIGtub3duIHRvIHRoZSBk aXNjb3Zlcnkgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1l PSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg IDxvcGM6RmllbGQgTmFtZT0iU2VydmVycyIgVHlwZU5hbWU9InRuczpBcHBsaWNhdGlvbkRlc2Ny aXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlcnMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2VydmVyT25OZXR3b3JrIiBCYXNl VHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlY29yZElk IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlck5h bWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzY292 ZXJ5VXJsIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v T2ZTZXJ2ZXJDYXBhYmlsaXRpZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG aWVsZCBOYW1lPSJTZXJ2ZXJDYXBhYmlsaXRpZXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5n dGhGaWVsZD0iTm9PZlNlcnZlckNhcGFiaWxpdGllcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJGaW5kU2VydmVyc09uTmV0d29ya1Jl cXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt ZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxv cGM6RmllbGQgTmFtZT0iU3RhcnRpbmdSZWNvcmRJZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhSZWNvcmRzVG9SZXR1cm4iIFR5cGVOYW1lPSJvcGM6 VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlcnZlckNhcGFiaWxpdHlGaWx0 ZXIiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJD YXBhYmlsaXR5RmlsdGVyIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZT ZXJ2ZXJDYXBhYmlsaXR5RmlsdGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVzcG9uc2UiIEJh c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9u c2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJMYXN0Q291bnRlclJlc2V0VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4N CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVycyIgVHlwZU5hbWU9InRuczpTZXJ2ZXJPbk5l dHdvcmsiIExlbmd0aEZpZWxkPSJOb09mU2VydmVycyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkFwcGxpY2F0aW9uSW5zdGFuY2VDZXJ0aWZp Y2F0ZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgY2VydGlmaWNhdGUgZm9yIGFuIGluc3Rh bmNlIG9mIGFuIGFwcGxpY2F0aW9uLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1 ZVR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJNZXNzYWdlU2VjdXJpdHlNb2Rl IiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHR5cGUgb2Yg c2VjdXJpdHkgdG8gdXNlIG9uIGEgbWVzc2FnZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxv cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkludmFsaWQiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6 RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVy YXRlZFZhbHVlIE5hbWU9IlNpZ24iIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh bHVlIE5hbWU9IlNpZ25BbmRFbmNyeXB0IiBWYWx1ZT0iMyIgLz4NCiAgPC9vcGM6RW51bWVyYXRl ZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJVc2VyVG9rZW5UeXBlIiBMZW5n dGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHBvc3NpYmxlIHVzZXIg dG9rZW4gdHlwZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 ZSBOYW1lPSJBbm9ueW1vdXMiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl IE5hbWU9IlVzZXJOYW1lIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO YW1lPSJDZXJ0aWZpY2F0ZSIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg TmFtZT0iSXNzdWVkVG9rZW4iIFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl IE5hbWU9IktlcmJlcm9zIiBWYWx1ZT0iNCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoN CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVc2VyVG9rZW5Qb2xpY3kiIEJhc2VUeXBlPSJ1 YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5EZXNjcmliZXMgYSB1 c2VyIHRva2VuIHRoYXQgY2FuIGJlIHVzZWQgd2l0aCBhIHNlcnZlci48L29wYzpEb2N1bWVudGF0 aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUG9saWN5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5n IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVG9rZW5UeXBlIiBUeXBlTmFtZT0idG5zOlVzZXJU b2tlblR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc3N1ZWRUb2tlblR5cGUiIFR5cGVO YW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNzdWVyRW5kcG9pbnRV cmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJp dHlQb2xpY3lVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkVuZHBvaW50RGVzY3JpcHRpb24i IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5U aGUgZGVzY3JpcHRpb24gb2YgYSBlbmRwb2ludCB0aGF0IGNhbiBiZSB1c2VkIHRvIGFjY2VzcyBh IHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kcG9p bnRVcmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vy dmVyIiBUeXBlTmFtZT0idG5zOkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpG aWVsZCBOYW1lPSJTZXJ2ZXJDZXJ0aWZpY2F0ZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAv Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlNb2RlIiBUeXBlTmFtZT0idG5zOk1lc3Nh Z2VTZWN1cml0eU1vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eVBvbGljeVVy aSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVXNl cklkZW50aXR5VG9rZW5zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg TmFtZT0iVXNlcklkZW50aXR5VG9rZW5zIiBUeXBlTmFtZT0idG5zOlVzZXJUb2tlblBvbGljeSIg TGVuZ3RoRmllbGQ9Ik5vT2ZVc2VySWRlbnRpdHlUb2tlbnMiIC8+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJUcmFuc3BvcnRQcm9maWxlVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TGV2ZWwiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAg PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJHZXRF bmRwb2ludHNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj OkRvY3VtZW50YXRpb24+R2V0cyB0aGUgZW5kcG9pbnRzIHVzZWQgYnkgdGhlIHNlcnZlci48L29w YzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlw ZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kcG9p bnRVcmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P ZkxvY2FsZUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 IkxvY2FsZUlkcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mTG9jYWxl SWRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlByb2ZpbGVVcmlzIiBUeXBlTmFtZT0i b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJvZmlsZVVyaXMiIFR5cGVOYW1l PSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlByb2ZpbGVVcmlzIiAvPg0KICA8L29wYzpT dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkdldEVuZHBvaW50 c1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3Vt ZW50YXRpb24+R2V0cyB0aGUgZW5kcG9pbnRzIHVzZWQgYnkgdGhlIHNlcnZlci48L29wYzpEb2N1 bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1l PSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRW5kcG9p bnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kcG9p bnRzIiBUeXBlTmFtZT0idG5zOkVuZHBvaW50RGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09m RW5kcG9pbnRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy ZWRUeXBlIE5hbWU9IlJlZ2lzdGVyZWRTZXJ2ZXIiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl Y3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgaW5mb3JtYXRpb24gcmVxdWlyZWQgdG8g cmVnaXN0ZXIgYSBzZXJ2ZXIgd2l0aCBhIGRpc2NvdmVyeSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRh dGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclVyaSIgVHlwZU5hbWU9Im9wYzpTdHJp bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcm9kdWN0VXJpIiBUeXBlTmFtZT0ib3BjOlN0 cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJOYW1lcyIgVHlwZU5hbWU9 Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlck5hbWVzIiBUeXBlTmFt ZT0idWE6TG9jYWxpemVkVGV4dCIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJOYW1lcyIgLz4NCiAg ICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclR5cGUiIFR5cGVOYW1lPSJ0bnM6QXBwbGljYXRpb25U eXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iR2F0ZXdheVNlcnZlclVyaSIgVHlwZU5hbWU9 Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlzY292ZXJ5VXJscyIg VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2NvdmVyeVVy bHMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZkRpc2NvdmVyeVVybHMi IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZW1hcGhvcmVGaWxlUGF0aCIgVHlwZU5hbWU9Im9w YzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc09ubGluZSIgVHlwZU5hbWU9Im9w YzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy ZWRUeXBlIE5hbWU9IlJlZ2lzdGVyU2VydmVyUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lv bk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlJlZ2lzdGVycyBhIHNlcnZlciB3aXRo IHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQog ICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXIiIFR5cGVOYW1lPSJ0bnM6UmVnaXN0ZXJlZFNlcnZl ciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO YW1lPSJSZWdpc3RlclNlcnZlclJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+UmVnaXN0ZXJzIGEgc2VydmVyIHdpdGggdGhlIGRp c2NvdmVyeSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICA8L29w YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRpc2NvdmVy eUNvbmZpZ3VyYXRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 RG9jdW1lbnRhdGlvbj5BIGJhc2UgdHlwZSBmb3IgZGlzY292ZXJ5IGNvbmZpZ3VyYXRpb24gaW5m b3JtYXRpb24uPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNZG5zRGlzY292ZXJ5Q29uZmlndXJhdGlvbiIg QmFzZVR5cGU9InRuczpEaXNjb3ZlcnlDb25maWd1cmF0aW9uIj4NCiAgICA8b3BjOkRvY3VtZW50 YXRpb24+VGhlIGRpc2NvdmVyeSBpbmZvcm1hdGlvbiBuZWVkZWQgZm9yIG1ETlMgcmVnaXN0cmF0 aW9uLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZG5zU2VydmVy TmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m U2VydmVyQ2FwYWJpbGl0aWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iU2VydmVyQ2FwYWJpbGl0aWVzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3Ro RmllbGQ9Ik5vT2ZTZXJ2ZXJDYXBhYmlsaXRpZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVnaXN0ZXJTZXJ2ZXIyUmVxdWVzdCIg QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJTZXJ2ZXIiIFR5cGVOYW1lPSJ0bnM6UmVnaXN0ZXJlZFNlcnZlciIgLz4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiBUeXBlTmFtZT0ib3Bj OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzY292ZXJ5Q29uZmlndXJhdGlvbiIg VHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaXNjb3ZlcnlD b25maWd1cmF0aW9uIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj dHVyZWRUeXBlIE5hbWU9IlJlZ2lzdGVyU2VydmVyMlJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0 ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBl TmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkNv bmZpZ3VyYXRpb25SZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iQ29uZmlndXJhdGlvblJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBM ZW5ndGhGaWVsZD0iTm9PZkNvbmZpZ3VyYXRpb25SZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQg TmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJ bmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0 dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJTZWN1cml0eVRva2VuUmVx dWVzdFR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5JbmRp Y2F0ZXMgd2hldGhlciBhIHRva2VuIGlmIGJlaW5nIGNyZWF0ZWQgb3IgcmVuZXdlZC48L29wYzpE b2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Iklzc3VlIiBWYWx1 ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZW5ldyIgVmFsdWU9IjEi IC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt ZT0iQ2hhbm5lbFNlY3VyaXR5VG9rZW4iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K ICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgdG9rZW4gdGhhdCBpZGVudGlmaWVzIGEgc2V0IG9m IGtleXMgZm9yIGFuIGFjdGl2ZSBzZWN1cmUgY2hhbm5lbC48L29wYzpEb2N1bWVudGF0aW9uPg0K ICAgIDxvcGM6RmllbGQgTmFtZT0iQ2hhbm5lbElkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N CiAgICA8b3BjOkZpZWxkIE5hbWU9IlRva2VuSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K ICAgIDxvcGM6RmllbGQgTmFtZT0iQ3JlYXRlZEF0IiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAv Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZExpZmV0aW1lIiBUeXBlTmFtZT0ib3BjOlVJ bnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw ZSBOYW1lPSJPcGVuU2VjdXJlQ2hhbm5lbFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P YmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5DcmVhdGVzIGEgc2VjdXJlIGNoYW5uZWwg d2l0aCBhIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i UmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6 RmllbGQgTmFtZT0iQ2xpZW50UHJvdG9jb2xWZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RUeXBlIiBUeXBlTmFtZT0idG5zOlNlY3Vy aXR5VG9rZW5SZXF1ZXN0VHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TW9k ZSIgVHlwZU5hbWU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiAvPg0KICAgIDxvcGM6RmllbGQg TmFtZT0iQ2xpZW50Tm9uY2UiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3Bj OkZpZWxkIE5hbWU9IlJlcXVlc3RlZExpZmV0aW1lIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJP cGVuU2VjdXJlQ2hhbm5lbFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N CiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q3JlYXRlcyBhIHNlY3VyZSBjaGFubmVsIHdpdGggYSBz ZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNl SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQg TmFtZT0iU2VydmVyUHJvdG9jb2xWZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAg ICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5VG9rZW4iIFR5cGVOYW1lPSJ0bnM6Q2hhbm5lbFNl Y3VyaXR5VG9rZW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJOb25jZSIgVHlwZU5h bWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj OlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNsb3NlU2VjdXJlQ2hhbm5lbFJlcXVlc3QiIEJhc2VUeXBl PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5DbG9zZXMgYSBz ZWN1cmUgY2hhbm5lbC48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i UmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICA8L29wYzpT dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNsb3NlU2VjdXJl Q2hhbm5lbFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj OkRvY3VtZW50YXRpb24+Q2xvc2VzIGEgc2VjdXJlIGNoYW5uZWwuPC9vcGM6RG9jdW1lbnRhdGlv bj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJl c3BvbnNlSGVhZGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj dHVyZWRUeXBlIE5hbWU9IlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiIEJhc2VUeXBlPSJ1YTpF eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHNvZnR3YXJlIGNlcnRp ZmljYXRlIHdpdGggYSBkaWdpdGFsIHNpZ25hdHVyZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAg IDxvcGM6RmllbGQgTmFtZT0iQ2VydGlmaWNhdGVEYXRhIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJp bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTaWduYXR1cmUiIFR5cGVOYW1lPSJvcGM6Qnl0 ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBl IE5hbWU9IlNlc3Npb25BdXRoZW50aWNhdGlvblRva2VuIj4NCiAgICA8b3BjOkRvY3VtZW50YXRp b24+QSB1bmlxdWUgaWRlbnRpZmllciBmb3IgYSBzZXNzaW9uIHVzZWQgdG8gYXV0aGVudGljYXRl IHJlcXVlc3RzLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAg PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTaWduYXR1cmVEYXRhIiBCYXNlVHlwZT0idWE6RXh0 ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBkaWdpdGFsIHNpZ25hdHVy ZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWxnb3JpdGhtIiBU eXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNpZ25hdHVyZSIg VHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNyZWF0ZVNlc3Npb25SZXF1ZXN0IiBCYXNlVHlw ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q3JlYXRlcyBh IG5ldyBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxv cGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVy IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50RGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ0 bnM6QXBwbGljYXRpb25EZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZl clVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRw b2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT ZXNzaW9uTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l PSJDbGllbnROb25jZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iQ2xpZW50Q2VydGlmaWNhdGUiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4N CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZFNlc3Npb25UaW1lb3V0IiBUeXBlTmFtZT0i b3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heFJlc3BvbnNlTWVzc2FnZVNp emUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNyZWF0ZVNlc3Npb25SZXNwb25zZSIgQmFzZVR5 cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkNyZWF0ZXMg YSBuZXcgc2Vzc2lvbiB3aXRoIHRoZSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVh ZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6Tm9k ZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXV0aGVudGljYXRpb25Ub2tlbiIgVHlwZU5h bWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRTZXNzaW9uVGlt ZW91dCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2 ZXJOb25jZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt ZT0iU2VydmVyQ2VydGlmaWNhdGUiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJFbmRwb2ludHMiIFR5cGVOYW1lPSJvcGM6SW50MzIi IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJFbmRwb2ludHMiIFR5cGVOYW1lPSJ0bnM6 RW5kcG9pbnREZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJFbmRwb2ludHMiIC8+ DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VydmVyU29mdHdhcmVDZXJ0aWZpY2F0ZXMiIFR5 cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJTb2Z0d2Fy ZUNlcnRpZmljYXRlcyIgVHlwZU5hbWU9InRuczpTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiBM ZW5ndGhGaWVsZD0iTm9PZlNlcnZlclNvZnR3YXJlQ2VydGlmaWNhdGVzIiAvPg0KICAgIDxvcGM6 RmllbGQgTmFtZT0iU2VydmVyU2lnbmF0dXJlIiBUeXBlTmFtZT0idG5zOlNpZ25hdHVyZURhdGEi IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhSZXF1ZXN0TWVzc2FnZVNpemUiIFR5cGVOYW1l PSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj dHVyZWRUeXBlIE5hbWU9IlVzZXJJZGVudGl0eVRva2VuIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u T2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBiYXNlIHR5cGUgZm9yIGEgdXNlciBp ZGVudGl0eSB0b2tlbi48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i UG9saWN5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFub255bW91c0lkZW50aXR5VG9rZW4i IEJhc2VUeXBlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlv bj5BIHRva2VuIHJlcHJlc2VudGluZyBhbiBhbm9ueW1vdXMgdXNlci48L29wYzpEb2N1bWVudGF0 aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUG9saWN5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5n IiBTb3VyY2VUeXBlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iIC8+DQogIDwvb3BjOlN0cnVjdHVy ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVXNlck5hbWVJZGVudGl0eVRv a2VuIiBCYXNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIj4NCiAgICA8b3BjOkRvY3VtZW50 YXRpb24+QSB0b2tlbiByZXByZXNlbnRpbmcgYSB1c2VyIGlkZW50aWZpZWQgYnkgYSB1c2VyIG5h bWUgYW5kIHBhc3N3b3JkLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1l PSJQb2xpY3lJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIFNvdXJjZVR5cGU9InRuczpVc2VySWRl bnRpdHlUb2tlbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJOYW1lIiBUeXBlTmFtZT0i b3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBhc3N3b3JkIiBUeXBlTmFtZT0i b3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmNyeXB0aW9uQWxnb3Jp dGhtIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJYNTA5SWRlbnRpdHlUb2tlbiIgQmFzZVR5cGU9 InRuczpVc2VySWRlbnRpdHlUb2tlbiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgdG9rZW4g cmVwcmVzZW50aW5nIGEgdXNlciBpZGVudGlmaWVkIGJ5IGFuIFg1MDkgY2VydGlmaWNhdGUuPC9v cGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBvbGljeUlkIiBUeXBlTmFt ZT0ib3BjOlN0cmluZyIgU291cmNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIiAvPg0KICAg IDxvcGM6RmllbGQgTmFtZT0iQ2VydGlmaWNhdGVEYXRhIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJp bmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg TmFtZT0iS2VyYmVyb3NJZGVudGl0eVRva2VuIiBCYXNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRv a2VuIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBvbGljeUlkIiBUeXBlTmFtZT0ib3BjOlN0cmlu ZyIgU291cmNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIiAvPg0KICAgIDxvcGM6RmllbGQg TmFtZT0iVGlja2V0RGF0YSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpT dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Iklzc3VlZElkZW50 aXR5VG9rZW4iIEJhc2VUeXBlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgIDxvcGM6RG9j dW1lbnRhdGlvbj5BIHRva2VuIHJlcHJlc2VudGluZyBhIHVzZXIgaWRlbnRpZmllZCBieSBhIFdT LVNlY3VyaXR5IFhNTCB0b2tlbi48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQg TmFtZT0iUG9saWN5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBTb3VyY2VUeXBlPSJ0bnM6VXNl cklkZW50aXR5VG9rZW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUb2tlbkRhdGEiIFR5cGVO YW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuY3J5cHRpb25B bGdvcml0aG0iIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFjdGl2YXRlU2Vzc2lvblJlcXVlc3Qi IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5B Y3RpdmF0ZXMgYSBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0K ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0 SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50U2lnbmF0dXJlIiBUeXBlTmFt ZT0idG5zOlNpZ25hdHVyZURhdGEiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQ2xpZW50 U29mdHdhcmVDZXJ0aWZpY2F0ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG aWVsZCBOYW1lPSJDbGllbnRTb2Z0d2FyZUNlcnRpZmljYXRlcyIgVHlwZU5hbWU9InRuczpTaWdu ZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiBMZW5ndGhGaWVsZD0iTm9PZkNsaWVudFNvZnR3YXJlQ2Vy dGlmaWNhdGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxvY2FsZUlkcyIgVHlwZU5h bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsZUlkcyIgVHlwZU5h bWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mTG9jYWxlSWRzIiAvPg0KICAgIDxvcGM6 RmllbGQgTmFtZT0iVXNlcklkZW50aXR5VG9rZW4iIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmpl Y3QiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyVG9rZW5TaWduYXR1cmUiIFR5cGVOYW1l PSJ0bnM6U2lnbmF0dXJlRGF0YSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBY3RpdmF0ZVNlc3Npb25SZXNwb25zZSIgQmFzZVR5cGU9 InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkFjdGl2YXRlcyBh IHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpG aWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIg Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlck5vbmNlIiBUeXBlTmFtZT0ib3BjOkJ5dGVT dHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9w YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpT dGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv cGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0lu Zm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1 cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNsb3NlU2Vzc2lvblJlcXVl c3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlv bj5DbG9zZXMgYSBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0K ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0 SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVsZXRlU3Vic2NyaXB0aW9ucyIgVHlw ZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj OlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNsb3NlU2Vzc2lvblJlc3BvbnNlIiBCYXNlVHlwZT0idWE6 RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q2xvc2VzIGEgc2Vzc2lv biB3aXRoIHRoZSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5h bWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICA8 L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNhbmNl bFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1l bnRhdGlvbj5DYW5jZWxzIGFuIG91dHN0YW5kaW5nIHJlcXVlc3QuPC9vcGM6RG9jdW1lbnRhdGlv bj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVx dWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIYW5kbGUiIFR5cGVO YW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 cnVjdHVyZWRUeXBlIE5hbWU9IkNhbmNlbFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u T2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q2FuY2VscyBhbiBvdXRzdGFuZGluZyBy ZXF1ZXN0Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25z ZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxk IE5hbWU9IkNhbmNlbENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3Ry dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJOb2RlQXR0cmlidXRl c01hc2siIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYml0 cyB1c2VkIHRvIHNwZWNpZnkgZGVmYXVsdCBhdHRyaWJ1dGVzIGZvciBhIG5ldyBub2RlLjwvb3Bj OkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFs dWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQWNjZXNzTGV2ZWwiIFZh bHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFycmF5RGltZW5zaW9u cyIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQnJvd3NlTmFt ZSIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ29udGFpbnNO b0xvb3BzIiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEYXRh VHlwZSIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRlc2Ny aXB0aW9uIiBWYWx1ZT0iMzIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGlz cGxheU5hbWUiIFZhbHVlPSI2NCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJF dmVudE5vdGlmaWVyIiBWYWx1ZT0iMTI4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h bWU9IkV4ZWN1dGFibGUiIFZhbHVlPSIyNTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg TmFtZT0iSGlzdG9yaXppbmciIFZhbHVlPSI1MTIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs dWUgTmFtZT0iSW52ZXJzZU5hbWUiIFZhbHVlPSIxMDI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRl ZFZhbHVlIE5hbWU9IklzQWJzdHJhY3QiIFZhbHVlPSIyMDQ4IiAvPg0KICAgIDxvcGM6RW51bWVy YXRlZFZhbHVlIE5hbWU9Ik1pbmltdW1TYW1wbGluZ0ludGVydmFsIiBWYWx1ZT0iNDA5NiIgLz4N CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlQ2xhc3MiIFZhbHVlPSI4MTkyIiAv Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vZGVJZCIgVmFsdWU9IjE2Mzg0IiAv Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN5bW1ldHJpYyIgVmFsdWU9IjMyNzY4 IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVzZXJBY2Nlc3NMZXZlbCIgVmFs dWU9IjY1NTM2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVzZXJFeGVjdXRh YmxlIiBWYWx1ZT0iMTMxMDcyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVz ZXJXcml0ZU1hc2siIFZhbHVlPSIyNjIxNDQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg TmFtZT0iVmFsdWVSYW5rIiBWYWx1ZT0iNTI0Mjg4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh bHVlIE5hbWU9IldyaXRlTWFzayIgVmFsdWU9IjEwNDg1NzYiIC8+DQogICAgPG9wYzpFbnVtZXJh dGVkVmFsdWUgTmFtZT0iVmFsdWUiIFZhbHVlPSIyMDk3MTUyIiAvPg0KICAgIDxvcGM6RW51bWVy YXRlZFZhbHVlIE5hbWU9IkFsbCIgVmFsdWU9IjQxOTQzMDMiIC8+DQogICAgPG9wYzpFbnVtZXJh dGVkVmFsdWUgTmFtZT0iQmFzZU5vZGUiIFZhbHVlPSIxMzM1Mzk2IiAvPg0KICAgIDxvcGM6RW51 bWVyYXRlZFZhbHVlIE5hbWU9Ik9iamVjdCIgVmFsdWU9IjEzMzU1MjQiIC8+DQogICAgPG9wYzpF bnVtZXJhdGVkVmFsdWUgTmFtZT0iT2JqZWN0VHlwZU9yRGF0YVR5cGUiIFZhbHVlPSIxMzM3NDQ0 IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZhcmlhYmxlIiBWYWx1ZT0iNDAy Njk5OSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJWYXJpYWJsZVR5cGUiIFZh bHVlPSIzOTU4OTAyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik1ldGhvZCIg VmFsdWU9IjE0NjY3MjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJl bmNlVHlwZSIgVmFsdWU9IjEzNzEyMzYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt ZT0iVmlldyIgVmFsdWU9IjEzMzU1MzIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQog IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTm9kZUF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ1YTpF eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYmFzZSBhdHRyaWJ1 dGVzIGZvciBhbGwgbm9kZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5h bWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxv cGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAv Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6 ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3Bj OlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1l PSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj dHVyZWRUeXBlIE5hbWU9Ik9iamVjdEF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0dHJp YnV0ZXMiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYW4gb2Jq ZWN0IG5vZGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNwZWNp ZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9k ZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5h bWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4N CiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVk VGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQg TmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5v ZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlw ZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAg ICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50Tm90aWZpZXIiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4N CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJW YXJpYWJsZUF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgIDxv cGM6RG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSB2YXJpYWJsZSBub2RlLjwvb3Bj OkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVz IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAv Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6 ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5 cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFz ayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIg Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUlu dDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l PSJEYXRhVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 IlZhbHVlUmFuayIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 Ik5vT2ZBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG aWVsZCBOYW1lPSJBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhG aWVsZD0iTm9PZkFycmF5RGltZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFjY2Vz c0xldmVsIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2Vy QWNjZXNzTGV2ZWwiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 Ik1pbmltdW1TYW1wbGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9Ikhpc3Rvcml6aW5nIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQog IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTWV0 aG9kQXR0cmlidXRlcyIgQmFzZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpE b2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1dGVzIGZvciBhIG1ldGhvZCBub2RlLjwvb3BjOkRvY3Vt ZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiBUeXBl TmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAg IDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0 IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l PSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRu czpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlw ZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAg ICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBT b3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJF eGVjdXRhYmxlIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l PSJVc2VyRXhlY3V0YWJsZSIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1 Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik9iamVjdFR5cGVBdHRy aWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICA8b3BjOkRvY3VtZW50 YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGFuIG9iamVjdCB0eXBlIG5vZGUuPC9vcGM6RG9jdW1l bnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVO YW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAg PG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQi IFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5z Ok5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBl TmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAg IDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNv dXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Iklz QWJzdHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJWYXJpYWJsZVR5cGVBdHRyaWJ1dGVz IiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+ VGhlIGF0dHJpYnV0ZXMgZm9yIGEgdmFyaWFibGUgdHlwZSBub2RlLjwvb3BjOkRvY3VtZW50YXRp b24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFtZT0i b3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6 RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3Vy Y2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNj cmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2Rl QXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9 Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3Bj OkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VU eXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIg VHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZSIg VHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlUmFuayIg VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBcnJheURp bWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJB cnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkFy cmF5RGltZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5cGVO YW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT dHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWZlcmVuY2VUeXBlQXR0cmlidXRlcyIgQmFzZVR5cGU9InRu czpOb2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1dGVz IGZvciBhIHJlZmVyZW5jZSB0eXBlIG5vZGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj OkZpZWxkIE5hbWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBT b3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE aXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpO b2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBl TmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAv Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg U291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i VXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2Rl QXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5cGVOYW1l PSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN5bW1ldHJpYyIgVHlwZU5h bWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW52ZXJzZU5hbWUiIFR5 cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFUeXBlQXR0cmlidXRlcyIgQmFzZVR5cGU9 InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1 dGVzIGZvciBhIGRhdGEgdHlwZSBub2RlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpG aWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291 cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlz cGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9k ZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5h bWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4N CiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNv dXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVz ZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0 dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0Fic3RyYWN0IiBUeXBlTmFtZT0i b3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 dXJlZFR5cGUgTmFtZT0iVmlld0F0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0 ZXMiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSB2aWV3IG5v ZGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNwZWNpZmllZEF0 dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJp YnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVh OkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIg U291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i V3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRy aWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9 Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3Bj OkZpZWxkIE5hbWU9IkNvbnRhaW5zTm9Mb29wcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0K ICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnROb3RpZmllciIgVHlwZU5hbWU9Im9wYzpCeXRlIiAv Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 IkFkZE5vZGVzSXRlbSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpE b2N1bWVudGF0aW9uPkEgcmVxdWVzdCB0byBhZGQgYSBub2RlIHRvIHRoZSBzZXJ2ZXIgYWRkcmVz cyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGFyZW50 Tm9kZUlkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJSZWZlcmVuY2VUeXBlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpG aWVsZCBOYW1lPSJSZXF1ZXN0ZWROZXdOb2RlSWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJ ZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFs aWZpZWROYW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0i dG5zOk5vZGVDbGFzcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVBdHRyaWJ1dGVzIiBU eXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHlw ZURlZmluaXRpb24iIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgPC9vcGM6U3Ry dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBZGROb2Rlc1Jlc3Vs dCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u PkEgcmVzdWx0IG9mIGFuIGFkZCBub2RlIG9wZXJhdGlvbi48L29wYzpEb2N1bWVudGF0aW9uPg0K ICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUi IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGRlZE5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJ ZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO YW1lPSJBZGROb2Rlc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg IDxvcGM6RG9jdW1lbnRhdGlvbj5BZGRzIG9uZSBvciBtb3JlIG5vZGVzIHRvIHRoZSBzZXJ2ZXIg YWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i UmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6 RmllbGQgTmFtZT0iTm9PZk5vZGVzVG9BZGQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg PG9wYzpGaWVsZCBOYW1lPSJOb2Rlc1RvQWRkIiBUeXBlTmFtZT0idG5zOkFkZE5vZGVzSXRlbSIg TGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvQWRkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFkZE5vZGVzUmVzcG9uc2UiIEJhc2VUeXBl PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BZGRzIG9uZSBv ciBtb3JlIG5vZGVzIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0 aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6 UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlw ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVO YW1lPSJ0bnM6QWRkTm9kZXNSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAg ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50 MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1 YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQog IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWRk UmVmZXJlbmNlc0l0ZW0iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 RG9jdW1lbnRhdGlvbj5BIHJlcXVlc3QgdG8gYWRkIGEgcmVmZXJlbmNlIHRvIHRoZSBzZXJ2ZXIg YWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i U291cmNlTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt ZT0iUmVmZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iSXNGb3J3YXJkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpG aWVsZCBOYW1lPSJUYXJnZXRTZXJ2ZXJVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAg IDxvcGM6RmllbGQgTmFtZT0iVGFyZ2V0Tm9kZUlkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2Rl SWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUYXJnZXROb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0 bnM6Tm9kZUNsYXNzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj dHVyZWRUeXBlIE5hbWU9IkFkZFJlZmVyZW5jZXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5z aW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QWRkcyBvbmUgb3IgbW9yZSByZWZl cmVuY2VzIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0K ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0 SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXNUb0FkZCIgVHlw ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXNUb0Fk ZCIgVHlwZU5hbWU9InRuczpBZGRSZWZlcmVuY2VzSXRlbSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZl cmVuY2VzVG9BZGQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 dXJlZFR5cGUgTmFtZT0iQWRkUmVmZXJlbmNlc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5z aW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QWRkcyBvbmUgb3IgbW9yZSByZWZl cmVuY2VzIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0K ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9u c2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9 Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1 YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg IDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3Rp Y0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1 Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZU5vZGVzSXRl bSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u PkEgcmVxdWVzdCB0byBkZWxldGUgYSBub2RlIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48 L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFt ZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVsZXRlVGFyZ2V0UmVmZXJl bmNlcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZU5vZGVzUmVxdWVzdCIgQmFzZVR5 cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkRlbGV0ZSBv bmUgb3IgbW9yZSBub2RlcyBmcm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1 bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9 InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vZGVzVG9E ZWxldGUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rl c1RvRGVsZXRlIiBUeXBlTmFtZT0idG5zOkRlbGV0ZU5vZGVzSXRlbSIgTGVuZ3RoRmllbGQ9Ik5v T2ZOb2Rlc1RvRGVsZXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZU5vZGVzUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRl bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5EZWxldGUgb25lIG9yIG1vcmUg bm9kZXMgZnJvbSB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4N CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3Bv bnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1l PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0i dWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg ICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0 aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3Ry dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVSZWZlcmVu Y2VzSXRlbSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVu dGF0aW9uPkEgcmVxdWVzdCB0byBkZWxldGUgYSBub2RlIGZyb20gdGhlIHNlcnZlciBhZGRyZXNz IHNwYWNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTb3VyY2VO b2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZl cmVuY2VUeXBlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l PSJJc0ZvcndhcmQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h bWU9IlRhcmdldE5vZGVJZCIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICAgIDxv cGM6RmllbGQgTmFtZT0iRGVsZXRlQmlkaXJlY3Rpb25hbCIgVHlwZU5hbWU9Im9wYzpCb29sZWFu IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h bWU9IkRlbGV0ZVJlZmVyZW5jZXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+RGVsZXRlIG9uZSBvciBtb3JlIHJlZmVyZW5jZXMg ZnJvbSB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRl ciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzVG9EZWxldGUiIFR5cGVO YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzVG9EZWxl dGUiIFR5cGVOYW1lPSJ0bnM6RGVsZXRlUmVmZXJlbmNlc0l0ZW0iIExlbmd0aEZpZWxkPSJOb09m UmVmZXJlbmNlc1RvRGVsZXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj OlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNSZXNwb25zZSIgQmFzZVR5cGU9 InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkRlbGV0ZSBvbmUg b3IgbW9yZSByZWZlcmVuY2VzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwvb3BjOkRv Y3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5h bWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1 bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0 cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4N CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6 SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1l PSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+ DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0i QXR0cmlidXRlV3JpdGVNYXNrIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50 YXRpb24+RGVmaW5lIGJpdHMgdXNlZCB0byBpbmRpY2F0ZSB3aGljaCBhdHRyaWJ1dGVzIGFyZSB3 cml0YWJsZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h bWU9Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFj Y2Vzc0xldmVsIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJB cnJheURpbWVuc2lvbnMiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h bWU9IkJyb3dzZU5hbWUiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h bWU9IkNvbnRhaW5zTm9Mb29wcyIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs dWUgTmFtZT0iRGF0YVR5cGUiIFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 ZSBOYW1lPSJEZXNjcmlwdGlvbiIgVmFsdWU9IjMyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh bHVlIE5hbWU9IkRpc3BsYXlOYW1lIiBWYWx1ZT0iNjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk VmFsdWUgTmFtZT0iRXZlbnROb3RpZmllciIgVmFsdWU9IjEyOCIgLz4NCiAgICA8b3BjOkVudW1l cmF0ZWRWYWx1ZSBOYW1lPSJFeGVjdXRhYmxlIiBWYWx1ZT0iMjU2IiAvPg0KICAgIDxvcGM6RW51 bWVyYXRlZFZhbHVlIE5hbWU9Ikhpc3Rvcml6aW5nIiBWYWx1ZT0iNTEyIiAvPg0KICAgIDxvcGM6 RW51bWVyYXRlZFZhbHVlIE5hbWU9IkludmVyc2VOYW1lIiBWYWx1ZT0iMTAyNCIgLz4NCiAgICA8 b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJc0Fic3RyYWN0IiBWYWx1ZT0iMjA0OCIgLz4NCiAg ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJNaW5pbXVtU2FtcGxpbmdJbnRlcnZhbCIgVmFs dWU9IjQwOTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9kZUNsYXNzIiBW YWx1ZT0iODE5MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlSWQiIFZh bHVlPSIxNjM4NCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTeW1tZXRyaWMi IFZhbHVlPSIzMjc2OCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVc2VyQWNj ZXNzTGV2ZWwiIFZhbHVlPSI2NTUzNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l PSJVc2VyRXhlY3V0YWJsZSIgVmFsdWU9IjEzMTA3MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW YWx1ZSBOYW1lPSJVc2VyV3JpdGVNYXNrIiBWYWx1ZT0iMjYyMTQ0IiAvPg0KICAgIDxvcGM6RW51 bWVyYXRlZFZhbHVlIE5hbWU9IlZhbHVlUmFuayIgVmFsdWU9IjUyNDI4OCIgLz4NCiAgICA8b3Bj OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJXcml0ZU1hc2siIFZhbHVlPSIxMDQ4NTc2IiAvPg0KICAg IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZhbHVlRm9yVmFyaWFibGVUeXBlIiBWYWx1ZT0i MjA5NzE1MiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVk VHlwZSBOYW1lPSJCcm93c2VEaXJlY3Rpb24iIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6 RG9jdW1lbnRhdGlvbj5UaGUgZGlyZWN0aW9ucyBvZiB0aGUgcmVmZXJlbmNlcyB0byByZXR1cm4u PC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJGb3J3 YXJkIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnZlcnNl IiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCb3RoIiBWYWx1 ZT0iMiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw ZSBOYW1lPSJWaWV3RGVzY3JpcHRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K ICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgdmlldyB0byBicm93c2UuPC9vcGM6RG9jdW1lbnRh dGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZpZXdJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIg Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRpbWVzdGFtcCIgVHlwZU5hbWU9Im9wYzpEYXRlVGlt ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZpZXdWZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlVJ bnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw ZSBOYW1lPSJCcm93c2VEZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgcmVxdWVzdCB0byBicm93c2UgdGhlIHRoZSByZWZl cmVuY2VzIGZyb20gYSBub2RlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l PSJCcm93c2VEaXJlY3Rpb24iIFR5cGVOYW1lPSJ0bnM6QnJvd3NlRGlyZWN0aW9uIiAvPg0KICAg IDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAv Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5jbHVkZVN1YnR5cGVzIiBUeXBlTmFtZT0ib3BjOkJv b2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3NNYXNrIiBUeXBlTmFtZT0i b3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdE1hc2siIFR5cGVOYW1l PSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1l cmF0ZWRUeXBlIE5hbWU9IkJyb3dzZVJlc3VsdE1hc2siIExlbmd0aEluQml0cz0iMzIiPg0KICAg IDxvcGM6RG9jdW1lbnRhdGlvbj5BIGJpdCBtYXNrIHdoaWNoIHNwZWNpZmllcyB3aGF0IHNob3Vs ZCBiZSByZXR1cm5lZCBpbiBhIGJyb3dzZSByZXNwb25zZS48L29wYzpEb2N1bWVudGF0aW9uPg0K ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAgIDxv cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgVmFsdWU9IjEiIC8+DQog ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSXNGb3J3YXJkIiBWYWx1ZT0iMiIgLz4NCiAg ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlQ2xhc3MiIFZhbHVlPSI0IiAvPg0KICAg IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJyb3dzZU5hbWUiIFZhbHVlPSI4IiAvPg0KICAg IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRpc3BsYXlOYW1lIiBWYWx1ZT0iMTYiIC8+DQog ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVHlwZURlZmluaXRpb24iIFZhbHVlPSIzMiIg Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBbGwiIFZhbHVlPSI2MyIgLz4NCiAg ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWZlcmVuY2VUeXBlSW5mbyIgVmFsdWU9IjMi IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVGFyZ2V0SW5mbyIgVmFsdWU9IjYw IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h bWU9IlJlZmVyZW5jZURlc2NyaXB0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N CiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIGRlc2NyaXB0aW9uIG9mIGEgcmVmZXJlbmNlLjwv b3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBlSWQi IFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0ZvcndhcmQi IFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIg VHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJv d3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIC8+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogICAgPG9w YzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNzIiAvPg0KICAg IDxvcGM6RmllbGQgTmFtZT0iVHlwZURlZmluaXRpb24iIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5v ZGVJZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5h bWU9IkNvbnRpbnVhdGlvblBvaW50Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QW4gaWRlbnRp ZmllciBmb3IgYSBzdXNwZW5kZWQgcXVlcnkgb3IgYnJvd3NlIG9wZXJhdGlvbi48L29wYzpEb2N1 bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg TmFtZT0iQnJvd3NlUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8 b3BjOkRvY3VtZW50YXRpb24+VGhlIHJlc3VsdCBvZiBhIGJyb3dzZSBvcGVyYXRpb24uPC9vcGM6 RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1l PSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29udGludWF0aW9uUG9p bnQiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v T2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt ZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VEZXNjcmlwdGlvbiIgTGVuZ3Ro RmllbGQ9Ik5vT2ZSZWZlcmVuY2VzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb3dzZVJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRl bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5Ccm93c2UgdGhlIHJlZmVyZW5j ZXMgZm9yIG9uZSBvciBtb3JlIG5vZGVzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwv b3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBU eXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWaWV3 IiBUeXBlTmFtZT0idG5zOlZpZXdEZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 IlJlcXVlc3RlZE1heFJlZmVyZW5jZXNQZXJOb2RlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOb2Rlc1RvQnJvd3NlIiBUeXBlTmFtZT0ib3BjOklu dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZXNUb0Jyb3dzZSIgVHlwZU5hbWU9InRu czpCcm93c2VEZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvQnJvd3NlIiAvPg0K ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJy b3dzZVJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRv Y3VtZW50YXRpb24+QnJvd3NlIHRoZSByZWZlcmVuY2VzIGZvciBvbmUgb3IgbW9yZSBub2RlcyBm cm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxv cGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFk ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJ bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6QnJv d3NlUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv cGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0lu Zm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1 cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb3dzZU5leHRSZXF1ZXN0 IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+ Q29udGludWVzIG9uZSBvciBtb3JlIGJyb3dzZSBvcGVyYXRpb25zLjwvb3BjOkRvY3VtZW50YXRp b24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJl cXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWxlYXNlQ29udGludWF0aW9u UG9pbnRzIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO b09mQ29udGludWF0aW9uUG9pbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 RmllbGQgTmFtZT0iQ29udGludWF0aW9uUG9pbnRzIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmci IExlbmd0aEZpZWxkPSJOb09mQ29udGludWF0aW9uUG9pbnRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1 cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb3dzZU5leHRSZXNwb25z ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u PkNvbnRpbnVlcyBvbmUgb3IgbW9yZSBicm93c2Ugb3BlcmF0aW9ucy48L29wYzpEb2N1bWVudGF0 aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6 UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlw ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVO YW1lPSJ0bnM6QnJvd3NlUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAg PG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMy IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6 RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8 L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlbGF0 aXZlUGF0aEVsZW1lbnQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 RG9jdW1lbnRhdGlvbj5BbiBlbGVtZW50IGluIGEgcmVsYXRpdmUgcGF0aC48L29wYzpEb2N1bWVu dGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0i dWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNJbnZlcnNlIiBUeXBlTmFtZT0i b3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbmNsdWRlU3VidHlwZXMiIFR5 cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldE5hbWUi IFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlbGF0aXZlUGF0aCIgQmFzZVR5cGU9InVh OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgcmVsYXRpdmUgcGF0 aCBjb25zdHJ1Y3RlZCBmcm9tIHJlZmVyZW5jZSB0eXBlcyBhbmQgYnJvd3NlIG5hbWVzLjwvb3Bj OkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRWxlbWVudHMiIFR5cGVO YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbGVtZW50cyIgVHlwZU5h bWU9InRuczpSZWxhdGl2ZVBhdGhFbGVtZW50IiBMZW5ndGhGaWVsZD0iTm9PZkVsZW1lbnRzIiAv Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 IkJyb3dzZVBhdGgiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9j dW1lbnRhdGlvbj5BIHJlcXVlc3QgdG8gdHJhbnNsYXRlIGEgcGF0aCBpbnRvIGEgbm9kZSBpZC48 L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhcnRpbmdOb2RlIiBU eXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVsYXRpdmVQYXRo IiBUeXBlTmFtZT0idG5zOlJlbGF0aXZlUGF0aCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm93c2VQYXRoVGFyZ2V0IiBCYXNlVHlw ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHRhcmdl dCBvZiB0aGUgdHJhbnNsYXRlZCBwYXRoLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpG aWVsZCBOYW1lPSJUYXJnZXRJZCIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICAg IDxvcGM6RmllbGQgTmFtZT0iUmVtYWluaW5nUGF0aEluZGV4IiBUeXBlTmFtZT0ib3BjOlVJbnQz MiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO YW1lPSJCcm93c2VQYXRoUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg ICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHJlc3VsdCBvZiBhIHRyYW5zbGF0ZSBvcGVhcmF0aW9u Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBU eXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZUYXJn ZXRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGFyZ2V0 cyIgVHlwZU5hbWU9InRuczpCcm93c2VQYXRoVGFyZ2V0IiBMZW5ndGhGaWVsZD0iTm9PZlRhcmdl dHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg TmFtZT0iVHJhbnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6 RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VHJhbnNsYXRlcyBvbmUg b3IgbW9yZSBwYXRocyBpbiB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRh dGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6 UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZCcm93c2VQYXRocyIg VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZVBhdGhz IiBUeXBlTmFtZT0idG5zOkJyb3dzZVBhdGgiIExlbmd0aEZpZWxkPSJOb09mQnJvd3NlUGF0aHMi IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt ZT0iVHJhbnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4 dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRyYW5zbGF0ZXMgb25lIG9y IG1vcmUgcGF0aHMgaW4gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwvb3BjOkRvY3VtZW50YXRp b24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpS ZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBl TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5h bWU9InRuczpCcm93c2VQYXRoUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQog ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOklu dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0i dWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0K ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJl Z2lzdGVyTm9kZXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8 b3BjOkRvY3VtZW50YXRpb24+UmVnaXN0ZXJzIG9uZSBvciBtb3JlIG5vZGVzIGZvciByZXBlYXRl ZCB1c2Ugd2l0aGluIGEgc2Vzc2lvbi48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0K ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vZGVzVG9SZWdpc3RlciIgVHlwZU5hbWU9Im9wYzpJ bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVzVG9SZWdpc3RlciIgVHlwZU5hbWU9 InVhOk5vZGVJZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvUmVnaXN0ZXIiIC8+DQogIDwvb3Bj OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVnaXN0ZXJO b2Rlc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRv Y3VtZW50YXRpb24+UmVnaXN0ZXJzIG9uZSBvciBtb3JlIG5vZGVzIGZvciByZXBlYXRlZCB1c2Ug d2l0aGluIGEgc2Vzc2lvbi48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFt ZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAg PG9wYzpGaWVsZCBOYW1lPSJOb09mUmVnaXN0ZXJlZE5vZGVJZHMiIFR5cGVOYW1lPSJvcGM6SW50 MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWdpc3RlcmVkTm9kZUlkcyIgVHlwZU5hbWU9 InVhOk5vZGVJZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWdpc3RlcmVkTm9kZUlkcyIgLz4NCiAgPC9v cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVbnJlZ2lz dGVyTm9kZXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj OkRvY3VtZW50YXRpb24+VW5yZWdpc3RlcnMgb25lIG9yIG1vcmUgcHJldmlvdXNseSByZWdpc3Rl cmVkIG5vZGVzLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJOb09mTm9kZXNUb1VucmVnaXN0ZXIiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog ICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rlc1RvVW5yZWdpc3RlciIgVHlwZU5hbWU9InVhOk5vZGVJ ZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvVW5yZWdpc3RlciIgLz4NCiAgPC9vcGM6U3RydWN0 dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVbnJlZ2lzdGVyTm9kZXNS ZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVu dGF0aW9uPlVucmVnaXN0ZXJzIG9uZSBvciBtb3JlIHByZXZpb3VzbHkgcmVnaXN0ZXJlZCBub2Rl cy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFk ZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU eXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJDb3VudGVyIj4NCiAgICA8b3BjOkRvY3Vt ZW50YXRpb24+QSBtb25vdG9uaWNhbGx5IGluY3JlYXNpbmcgdmFsdWUuPC9vcGM6RG9jdW1lbnRh dGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iTnVt ZXJpY1JhbmdlIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+U3BlY2lmaWVzIGEgcmFuZ2Ugb2Yg YXJyYXkgaW5kZXhlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0K DQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJUaW1lIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+ QSB0aW1lIHZhbHVlIHNwZWNpZmllZCBhcyBISDpNTTpTUy5TU1MuPC9vcGM6RG9jdW1lbnRhdGlv bj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iRGF0ZSI+ DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgZGF0ZSB2YWx1ZS48L29wYzpEb2N1bWVudGF0aW9u Pg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRW5k cG9pbnRDb25maWd1cmF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9Ik9wZXJhdGlvblRpbWVvdXQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VCaW5hcnlFbmNvZGluZyIgVHlwZU5hbWU9Im9wYzpC b29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4U3RyaW5nTGVuZ3RoIiBUeXBlTmFt ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4Qnl0ZVN0cmluZ0xlbmd0 aCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heEFycmF5 TGVuZ3RoIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4 TWVzc2FnZVNpemUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l PSJNYXhCdWZmZXJTaXplIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg TmFtZT0iQ2hhbm5lbExpZmV0aW1lIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 RmllbGQgTmFtZT0iU2VjdXJpdHlUb2tlbkxpZmV0aW1lIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9 IkNvbXBsaWFuY2VMZXZlbCIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVk VmFsdWUgTmFtZT0iVW50ZXN0ZWQiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh bHVlIE5hbWU9IlBhcnRpYWwiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl IE5hbWU9IlNlbGZUZXN0ZWQiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl IE5hbWU9IkNlcnRpZmllZCIgVmFsdWU9IjMiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0K DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU3VwcG9ydGVkUHJvZmlsZSIgQmFzZVR5cGU9 InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJPcmdhbml6YXRpb25V cmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJvZmls ZUlkIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbXBs aWFuY2VUb29sIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 IkNvbXBsaWFuY2VEYXRlIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iQ29tcGxpYW5jZUxldmVsIiBUeXBlTmFtZT0idG5zOkNvbXBsaWFuY2VMZXZlbCIg Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZVbnN1cHBvcnRlZFVuaXRJZHMiIFR5cGVOYW1l PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVbnN1cHBvcnRlZFVuaXRJZHMi IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlVuc3VwcG9ydGVkVW5pdElk cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO YW1lPSJTb2Z0d2FyZUNlcnRpZmljYXRlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N CiAgICA8b3BjOkZpZWxkIE5hbWU9IlByb2R1Y3ROYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIg Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByb2R1Y3RVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5n IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmVuZG9yTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJp bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWZW5kb3JQcm9kdWN0Q2VydGlmaWNhdGUiIFR5 cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvZnR3YXJl VmVyc2lvbiIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJC dWlsZE51bWJlciIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l PSJCdWlsZERhdGUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJJc3N1ZWRCeSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJJc3N1ZURhdGUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJOb09mU3VwcG9ydGVkUHJvZmlsZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog ICAgPG9wYzpGaWVsZCBOYW1lPSJTdXBwb3J0ZWRQcm9maWxlcyIgVHlwZU5hbWU9InRuczpTdXBw b3J0ZWRQcm9maWxlIiBMZW5ndGhGaWVsZD0iTm9PZlN1cHBvcnRlZFByb2ZpbGVzIiAvPg0KICA8 L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlF1ZXJ5 RGF0YURlc2NyaXB0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj OkZpZWxkIE5hbWU9IlJlbGF0aXZlUGF0aCIgVHlwZU5hbWU9InRuczpSZWxhdGl2ZVBhdGgiIC8+ DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdHRyaWJ1dGVJZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIi IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbmRleFJhbmdlIiBUeXBlTmFtZT0ib3BjOlN0cmlu ZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO YW1lPSJOb2RlVHlwZURlc2NyaXB0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N CiAgICA8b3BjOkZpZWxkIE5hbWU9IlR5cGVEZWZpbml0aW9uTm9kZSIgVHlwZU5hbWU9InVhOkV4 cGFuZGVkTm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5jbHVkZVN1YlR5cGVzIiBU eXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGF0YVRv UmV0dXJuIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0 YVRvUmV0dXJuIiBUeXBlTmFtZT0idG5zOlF1ZXJ5RGF0YURlc2NyaXB0aW9uIiBMZW5ndGhGaWVs ZD0iTm9PZkRhdGFUb1JldHVybiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w YzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJGaWx0ZXJPcGVyYXRvciIgTGVuZ3RoSW5CaXRzPSIzMiI+ DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRXF1YWxzIiBWYWx1ZT0iMCIgLz4NCiAg ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJc051bGwiIFZhbHVlPSIxIiAvPg0KICAgIDxv cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkdyZWF0ZXJUaGFuIiBWYWx1ZT0iMiIgLz4NCiAgICA8 b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJMZXNzVGhhbiIgVmFsdWU9IjMiIC8+DQogICAgPG9w YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iR3JlYXRlclRoYW5PckVxdWFsIiBWYWx1ZT0iNCIgLz4N CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJMZXNzVGhhbk9yRXF1YWwiIFZhbHVlPSI1 IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikxpa2UiIFZhbHVlPSI2IiAvPg0K ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vdCIgVmFsdWU9IjciIC8+DQogICAgPG9w YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQmV0d2VlbiIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpF bnVtZXJhdGVkVmFsdWUgTmFtZT0iSW5MaXN0IiBWYWx1ZT0iOSIgLz4NCiAgICA8b3BjOkVudW1l cmF0ZWRWYWx1ZSBOYW1lPSJBbmQiIFZhbHVlPSIxMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW YWx1ZSBOYW1lPSJPciIgVmFsdWU9IjExIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h bWU9IkNhc3QiIFZhbHVlPSIxMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJ blZpZXciIFZhbHVlPSIxMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJPZlR5 cGUiIFZhbHVlPSIxNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWxhdGVk VG8iIFZhbHVlPSIxNSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCaXR3aXNl QW5kIiBWYWx1ZT0iMTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQml0d2lz ZU9yIiBWYWx1ZT0iMTciIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3Ry dWN0dXJlZFR5cGUgTmFtZT0iUXVlcnlEYXRhU2V0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOkV4cGFuZGVk Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHlwZURlZmluaXRpb25Ob2RlIiBUeXBl TmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVmFs dWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsdWVz IiBUeXBlTmFtZT0idWE6VmFyaWFudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZWYWx1ZXMiIC8+DQogIDwv b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTm9kZVJl ZmVyZW5jZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l PSJSZWZlcmVuY2VUeXBlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJJc0ZvcndhcmQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZp ZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VkTm9kZUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZWROb2RlSWRzIiBUeXBlTmFtZT0idWE6Tm9k ZUlkIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZWROb2RlSWRzIiAvPg0KICA8L29wYzpTdHJ1 Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNvbnRlbnRGaWx0ZXJF bGVtZW50IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h bWU9IkZpbHRlck9wZXJhdG9yIiBUeXBlTmFtZT0idG5zOkZpbHRlck9wZXJhdG9yIiAvPg0KICAg IDxvcGM6RmllbGQgTmFtZT0iTm9PZkZpbHRlck9wZXJhbmRzIiBUeXBlTmFtZT0ib3BjOkludDMy IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmlsdGVyT3BlcmFuZHMiIFR5cGVOYW1lPSJ1YTpF eHRlbnNpb25PYmplY3QiIExlbmd0aEZpZWxkPSJOb09mRmlsdGVyT3BlcmFuZHMiIC8+DQogIDwv b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ29udGVu dEZpbHRlciIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJOb09mRWxlbWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJFbGVtZW50cyIgVHlwZU5hbWU9InRuczpDb250ZW50RmlsdGVyRWxlbWVudCIgTGVu Z3RoRmllbGQ9Ik5vT2ZFbGVtZW50cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJGaWx0ZXJPcGVyYW5kIiBCYXNlVHlwZT0idWE6RXh0 ZW5zaW9uT2JqZWN0Ij4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 cmVkVHlwZSBOYW1lPSJFbGVtZW50T3BlcmFuZCIgQmFzZVR5cGU9InRuczpGaWx0ZXJPcGVyYW5k Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkluZGV4IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJM aXRlcmFsT3BlcmFuZCIgQmFzZVR5cGU9InRuczpGaWx0ZXJPcGVyYW5kIj4NCiAgICA8b3BjOkZp ZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgLz4NCiAgPC9vcGM6U3RydWN0 dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBdHRyaWJ1dGVPcGVyYW5k IiBCYXNlVHlwZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9k ZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWxpYXMi IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlUGF0 aCIgVHlwZU5hbWU9InRuczpSZWxhdGl2ZVBhdGgiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJB dHRyaWJ1dGVJZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l PSJJbmRleFJhbmdlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJl ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTaW1wbGVBdHRyaWJ1dGVPcGVy YW5kIiBCYXNlVHlwZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i VHlwZURlZmluaXRpb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxk IE5hbWU9Ik5vT2ZCcm93c2VQYXRoIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 RmllbGQgTmFtZT0iQnJvd3NlUGF0aCIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIExlbmd0 aEZpZWxkPSJOb09mQnJvd3NlUGF0aCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF0dHJpYnV0 ZUlkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkluZGV4 UmFuZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0 IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0 YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt ZT0iTm9PZk9wZXJhbmRTdGF0dXNDb2RlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9Ik9wZXJhbmRTdGF0dXNDb2RlcyIgVHlwZU5hbWU9InVhOlN0YXR1c0Nv ZGUiIExlbmd0aEZpZWxkPSJOb09mT3BlcmFuZFN0YXR1c0NvZGVzIiAvPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iTm9PZk9wZXJhbmREaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIi IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJPcGVyYW5kRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFt ZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mT3BlcmFuZERpYWdub3N0aWNJ bmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw ZSBOYW1lPSJDb250ZW50RmlsdGVyUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFbGVtZW50UmVzdWx0cyIgVHlwZU5hbWU9Im9w YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVsZW1lbnRSZXN1bHRzIiBUeXBlTmFt ZT0idG5zOkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZkVsZW1l bnRSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkVsZW1lbnREaWFnbm9zdGlj SW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbGVt ZW50RGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZp ZWxkPSJOb09mRWxlbWVudERpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJQYXJzaW5nUmVzdWx0IiBCYXNlVHlw ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUi IFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRh dGFTdGF0dXNDb2RlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h bWU9IkRhdGFTdGF0dXNDb2RlcyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxk PSJOb09mRGF0YVN0YXR1c0NvZGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRhdGFE aWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJEYXRhRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExl bmd0aEZpZWxkPSJOb09mRGF0YURpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJl ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJRdWVyeUZpcnN0UmVxdWVzdCIg QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJWaWV3IiBUeXBlTmFtZT0idG5zOlZpZXdEZXNjcmlwdGlvbiIgLz4NCiAgICA8b3Bj OkZpZWxkIE5hbWU9Ik5vT2ZOb2RlVHlwZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg PG9wYzpGaWVsZCBOYW1lPSJOb2RlVHlwZXMiIFR5cGVOYW1lPSJ0bnM6Tm9kZVR5cGVEZXNjcmlw dGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb2RlVHlwZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l PSJGaWx0ZXIiIFR5cGVOYW1lPSJ0bnM6Q29udGVudEZpbHRlciIgLz4NCiAgICA8b3BjOkZpZWxk IE5hbWU9Ik1heERhdGFTZXRzVG9SZXR1cm4iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg IDxvcGM6RmllbGQgTmFtZT0iTWF4UmVmZXJlbmNlc1RvUmV0dXJuIiBUeXBlTmFtZT0ib3BjOlVJ bnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw ZSBOYW1lPSJRdWVyeUZpcnN0UmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVz cG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUXVlcnlEYXRhU2V0cyIg VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlF1ZXJ5RGF0YVNl dHMiIFR5cGVOYW1lPSJ0bnM6UXVlcnlEYXRhU2V0IiBMZW5ndGhGaWVsZD0iTm9PZlF1ZXJ5RGF0 YVNldHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDb250aW51YXRpb25Qb2ludCIgVHlwZU5h bWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlBhcnNpbmdS ZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGFy c2luZ1Jlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6UGFyc2luZ1Jlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5v T2ZQYXJzaW5nUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGlj SW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFn bm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5v T2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXJSZXN1bHQi IFR5cGVOYW1lPSJ0bnM6Q29udGVudEZpbHRlclJlc3VsdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJl ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJRdWVyeU5leHRSZXF1ZXN0IiBC YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVl c3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxk IE5hbWU9IlJlbGVhc2VDb250aW51YXRpb25Qb2ludCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAv Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29udGludWF0aW9uUG9pbnQiIFR5cGVOYW1lPSJvcGM6 Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 cmVkVHlwZSBOYW1lPSJRdWVyeU5leHRSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRu czpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZRdWVyeURhdGFT ZXRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVlcnlE YXRhU2V0cyIgVHlwZU5hbWU9InRuczpRdWVyeURhdGFTZXQiIExlbmd0aEZpZWxkPSJOb09mUXVl cnlEYXRhU2V0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRDb250aW51YXRpb25Q b2ludCIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw ZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IlRpbWVzdGFtcHNUb1JldHVybiIgTGVu Z3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU291cmNlIiBW YWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTZXJ2ZXIiIFZhbHVl PSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJvdGgiIFZhbHVlPSIyIiAv Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5laXRoZXIiIFZhbHVlPSIzIiAvPg0K ICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJl YWRWYWx1ZUlkIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk IE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5h bWU9IkF0dHJpYnV0ZUlkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk IE5hbWU9IkluZGV4UmFuZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iRGF0YUVuY29kaW5nIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgLz4NCiAg PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWFk UmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAg PG9wYzpGaWVsZCBOYW1lPSJNYXhBZ2UiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxv cGM6RmllbGQgTmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiBUeXBlTmFtZT0idG5zOlRpbWVzdGFt cHNUb1JldHVybiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOb2Rlc1RvUmVhZCIgVHlw ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVzVG9SZWFkIiBU eXBlTmFtZT0idG5zOlJlYWRWYWx1ZUlkIiBMZW5ndGhGaWVsZD0iTm9PZk5vZGVzVG9SZWFkIiAv Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 IlJlYWRSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpG aWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIg Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMy IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVhOkRhdGFWYWx1 ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P ZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk IE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5n dGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5UmVhZFZhbHVlSWQiIEJhc2VU eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBU eXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5kZXhSYW5nZSIg VHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhRW5jb2Rp bmciIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i Q29udGludWF0aW9uUG9pbnQiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6 U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5UmVh ZFJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZp ZWxkIE5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+ DQogICAgPG9wYzpGaWVsZCBOYW1lPSJIaXN0b3J5RGF0YSIgVHlwZU5hbWU9InVhOkV4dGVuc2lv bk9iamVjdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk VHlwZSBOYW1lPSJIaXN0b3J5UmVhZERldGFpbHMiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl Y3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h bWU9IlJlYWRFdmVudERldGFpbHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIj4N CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik51bVZhbHVlc1Blck5vZGUiIFR5cGVOYW1lPSJvcGM6VUlu dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhcnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRh dGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kVGltZSIgVHlwZU5hbWU9Im9wYzpE YXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRlciIgVHlwZU5hbWU9InRuczpF dmVudEZpbHRlciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 cmVkVHlwZSBOYW1lPSJSZWFkUmF3TW9kaWZpZWREZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3Rv cnlSZWFkRGV0YWlscyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc1JlYWRNb2RpZmllZCIgVHlw ZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhcnRUaW1lIiBU eXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kVGltZSIg VHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik51bVZhbHVl c1Blck5vZGUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i UmV0dXJuQm91bmRzIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVy ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVhZFByb2Nlc3NlZERldGFp bHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxkIE5h bWU9IlN0YXJ0VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxk IE5hbWU9IkVuZFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJQcm9jZXNzaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAg IDxvcGM6RmllbGQgTmFtZT0iTm9PZkFnZ3JlZ2F0ZVR5cGUiIFR5cGVOYW1lPSJvcGM6SW50MzIi IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZ2dyZWdhdGVUeXBlIiBUeXBlTmFtZT0idWE6Tm9k ZUlkIiBMZW5ndGhGaWVsZD0iTm9PZkFnZ3JlZ2F0ZVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBUeXBlTmFtZT0idG5zOkFnZ3JlZ2F0ZUNvbmZp Z3VyYXRpb24iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl ZFR5cGUgTmFtZT0iUmVhZEF0VGltZURldGFpbHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVJlYWRE ZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXFUaW1lcyIgVHlwZU5hbWU9Im9w YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcVRpbWVzIiBUeXBlTmFtZT0ib3Bj OkRhdGVUaW1lIiBMZW5ndGhGaWVsZD0iTm9PZlJlcVRpbWVzIiAvPg0KICAgIDxvcGM6RmllbGQg TmFtZT0iVXNlU2ltcGxlQm91bmRzIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3Bj OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeURh dGEiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i Tm9PZkRhdGFWYWx1ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJEYXRhVmFsdWVzIiBUeXBlTmFtZT0idWE6RGF0YVZhbHVlIiBMZW5ndGhGaWVsZD0iTm9P ZkRhdGFWYWx1ZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 dXJlZFR5cGUgTmFtZT0iTW9kaWZpY2F0aW9uSW5mbyIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb2RpZmljYXRpb25UaW1lIiBUeXBlTmFtZT0i b3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXBkYXRlVHlwZSIgVHlwZU5h bWU9InRuczpIaXN0b3J5VXBkYXRlVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJO YW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5TW9kaWZpZWREYXRhIiBCYXNlVHlw ZT0idG5zOkhpc3RvcnlEYXRhIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEYXRhVmFsdWVz IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVZhbHVl cyIgVHlwZU5hbWU9InVhOkRhdGFWYWx1ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZEYXRhVmFsdWVzIiAv Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk1vZGlmaWNhdGlvbkluZm9zIiBUeXBlTmFtZT0i b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9kaWZpY2F0aW9uSW5mb3MiIFR5 cGVOYW1lPSJ0bnM6TW9kaWZpY2F0aW9uSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZNb2RpZmljYXRp b25JbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk VHlwZSBOYW1lPSJIaXN0b3J5RXZlbnQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkV2ZW50cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N CiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50cyIgVHlwZU5hbWU9InRuczpIaXN0b3J5RXZlbnRG aWVsZExpc3QiIExlbmd0aEZpZWxkPSJOb09mRXZlbnRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlSZWFkUmVxdWVzdCIg QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJIaXN0b3J5UmVhZERldGFpbHMiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3Qi IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iIFR5cGVOYW1lPSJ0 bnM6VGltZXN0YW1wc1RvUmV0dXJuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVsZWFzZUNv bnRpbnVhdGlvblBvaW50cyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iTm9PZk5vZGVzVG9SZWFkIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv cGM6RmllbGQgTmFtZT0iTm9kZXNUb1JlYWQiIFR5cGVOYW1lPSJ0bnM6SGlzdG9yeVJlYWRWYWx1 ZUlkIiBMZW5ndGhGaWVsZD0iTm9PZk5vZGVzVG9SZWFkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlSZWFkUmVzcG9uc2Ui IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVz cG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpG aWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj OkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6SGlzdG9yeVJlYWRSZXN1bHQiIExl bmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFn bm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l PSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmll bGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iV3JpdGVWYWx1ZSIgQmFzZVR5cGU9InVhOkV4dGVu c2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpO b2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdHRyaWJ1dGVJZCIgVHlwZU5hbWU9Im9w YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbmRleFJhbmdlIiBUeXBlTmFtZT0i b3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0idWE6 RGF0YVZhbHVlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy ZWRUeXBlIE5hbWU9IldyaXRlUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVl c3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTm9kZXNUb1dyaXRlIiBUeXBl TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZXNUb1dyaXRlIiBU eXBlTmFtZT0idG5zOldyaXRlVmFsdWUiIExlbmd0aEZpZWxkPSJOb09mTm9kZXNUb1dyaXRlIiAv Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 IldyaXRlUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIi IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQz MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXND b2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO b09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExl bmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlVcGRhdGVEZXRhaWxzIiBC YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJ ZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg PG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJIaXN0b3J5VXBkYXRlVHlwZSIgTGVuZ3RoSW5CaXRz PSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW5zZXJ0IiBWYWx1ZT0iMSIg Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZXBsYWNlIiBWYWx1ZT0iMiIgLz4N CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVcGRhdGUiIFZhbHVlPSIzIiAvPg0KICAg IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRlbGV0ZSIgVmFsdWU9IjQiIC8+DQogIDwvb3Bj OkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iUGVyZm9ybVVw ZGF0ZVR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h bWU9Ikluc2VydCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i UmVwbGFjZSIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVXBk YXRlIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZW1vdmUi IFZhbHVlPSI0IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy ZWRUeXBlIE5hbWU9IlVwZGF0ZURhdGFEZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlVcGRh dGVEZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5v ZGVJZCIgU291cmNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIiAvPg0KICAgIDxvcGM6 RmllbGQgTmFtZT0iUGVyZm9ybUluc2VydFJlcGxhY2UiIFR5cGVOYW1lPSJ0bnM6UGVyZm9ybVVw ZGF0ZVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVXBkYXRlVmFsdWVzIiBUeXBl TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXBkYXRlVmFsdWVzIiBU eXBlTmFtZT0idWE6RGF0YVZhbHVlIiBMZW5ndGhGaWVsZD0iTm9PZlVwZGF0ZVZhbHVlcyIgLz4N CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJV cGRhdGVTdHJ1Y3R1cmVEYXRhRGV0YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0 YWlscyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQi IFNvdXJjZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyIgLz4NCiAgICA8b3BjOkZpZWxk IE5hbWU9IlBlcmZvcm1JbnNlcnRSZXBsYWNlIiBUeXBlTmFtZT0idG5zOlBlcmZvcm1VcGRhdGVU eXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlVwZGF0ZVZhbHVlcyIgVHlwZU5hbWU9 Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVwZGF0ZVZhbHVlcyIgVHlwZU5h bWU9InVhOkRhdGFWYWx1ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZVcGRhdGVWYWx1ZXMiIC8+DQogIDwv b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVXBkYXRl RXZlbnREZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0i dG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGVyZm9y bUluc2VydFJlcGxhY2UiIFR5cGVOYW1lPSJ0bnM6UGVyZm9ybVVwZGF0ZVR5cGUiIC8+DQogICAg PG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXIiIFR5cGVOYW1lPSJ0bnM6RXZlbnRGaWx0ZXIiIC8+DQog ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRXZlbnREYXRhIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnREYXRhIiBUeXBlTmFtZT0idG5zOkhpc3RvcnlF dmVudEZpZWxkTGlzdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZFdmVudERhdGEiIC8+DQogIDwvb3BjOlN0 cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlUmF3TW9k aWZpZWREZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0i dG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNEZWxl dGVNb2RpZmllZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt ZT0iU3RhcnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQg TmFtZT0iRW5kVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgPC9vcGM6U3RydWN0 dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVBdFRpbWVEZXRh aWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxk IE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5zOkhpc3Rv cnlVcGRhdGVEZXRhaWxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlcVRpbWVzIiBU eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxVGltZXMiIFR5 cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIExlbmd0aEZpZWxkPSJOb09mUmVxVGltZXMiIC8+DQogIDwv b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRl RXZlbnREZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0i dG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkV2 ZW50SWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZl bnRJZHMiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZFdmVudElk cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO YW1lPSJIaXN0b3J5VXBkYXRlUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N CiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2Rl IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk9wZXJhdGlvblJlc3VsdHMiIFR5cGVOYW1l PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJPcGVyYXRpb25SZXN1bHRzIiBU eXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZPcGVyYXRpb25SZXN1bHRz IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9 Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlw ZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZv cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO YW1lPSJIaXN0b3J5VXBkYXRlUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVl c3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mSGlzdG9yeVVwZGF0ZURldGFp bHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJIaXN0b3J5 VXBkYXRlRGV0YWlscyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgTGVuZ3RoRmllbGQ9 Ik5vT2ZIaXN0b3J5VXBkYXRlRGV0YWlscyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5VXBkYXRlUmVzcG9uc2UiIEJhc2VU eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VI ZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk IE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6SGlzdG9yeVVwZGF0ZVJlc3VsdCIgTGVuZ3Ro RmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0 aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRp YWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0i Tm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDYWxsTWV0aG9kUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4 dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJPYmplY3RJZCIgVHlwZU5hbWU9 InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1ldGhvZElkIiBUeXBlTmFtZT0i dWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZklucHV0QXJndW1lbnRzIiBU eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5wdXRBcmd1bWVu dHMiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiBMZW5ndGhGaWVsZD0iTm9PZklucHV0QXJndW1lbnRz IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h bWU9IkNhbGxNZXRob2RSZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg IDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+ DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mSW5wdXRBcmd1bWVudFJlc3VsdHMiIFR5cGVOYW1l PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbnB1dEFyZ3VtZW50UmVzdWx0 cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mSW5wdXRBcmd1bWVu dFJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mSW5wdXRBcmd1bWVudERpYWdu b3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 IklucHV0QXJndW1lbnREaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5m byIgTGVuZ3RoRmllbGQ9Ik5vT2ZJbnB1dEFyZ3VtZW50RGlhZ25vc3RpY0luZm9zIiAvPg0KICAg IDxvcGM6RmllbGQgTmFtZT0iTm9PZk91dHB1dEFyZ3VtZW50cyIgVHlwZU5hbWU9Im9wYzpJbnQz MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik91dHB1dEFyZ3VtZW50cyIgVHlwZU5hbWU9InVh OlZhcmlhbnQiIExlbmd0aEZpZWxkPSJOb09mT3V0cHV0QXJndW1lbnRzIiAvPg0KICA8L29wYzpT dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNhbGxSZXF1ZXN0 IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl cXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZp ZWxkIE5hbWU9Ik5vT2ZNZXRob2RzVG9DYWxsIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg IDxvcGM6RmllbGQgTmFtZT0iTWV0aG9kc1RvQ2FsbCIgVHlwZU5hbWU9InRuczpDYWxsTWV0aG9k UmVxdWVzdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZNZXRob2RzVG9DYWxsIiAvPg0KICA8L29wYzpTdHJ1 Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNhbGxSZXNwb25zZSIg QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNw b25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZp ZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InRuczpDYWxsTWV0aG9kUmVzdWx0IiBMZW5n dGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25v c3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i RGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxk PSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9Ik1vbml0b3JpbmdNb2RlIiBMZW5ndGhJbkJpdHM9IjMy Ij4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEaXNhYmxlZCIgVmFsdWU9IjAiIC8+ DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU2FtcGxpbmciIFZhbHVlPSIxIiAvPg0K ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlcG9ydGluZyIgVmFsdWU9IjIiIC8+DQog IDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRGF0 YUNoYW5nZVRyaWdnZXIiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh bHVlIE5hbWU9IlN0YXR1cyIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg TmFtZT0iU3RhdHVzVmFsdWUiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl IE5hbWU9IlN0YXR1c1ZhbHVlVGltZXN0YW1wIiBWYWx1ZT0iMiIgLz4NCiAgPC9vcGM6RW51bWVy YXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJEZWFkYmFuZFR5cGUiIExl bmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZh bHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFic29sdXRlIiBWYWx1 ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJQZXJjZW50IiBWYWx1ZT0i MiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO YW1lPSJNb25pdG9yaW5nRmlsdGVyIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRh Q2hhbmdlRmlsdGVyIiBCYXNlVHlwZT0idG5zOk1vbml0b3JpbmdGaWx0ZXIiPg0KICAgIDxvcGM6 RmllbGQgTmFtZT0iVHJpZ2dlciIgVHlwZU5hbWU9InRuczpEYXRhQ2hhbmdlVHJpZ2dlciIgLz4N CiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlYWRiYW5kVHlwZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIi IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZWFkYmFuZFZhbHVlIiBUeXBlTmFtZT0ib3BjOkRv dWJsZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw ZSBOYW1lPSJFdmVudEZpbHRlciIgQmFzZVR5cGU9InRuczpNb25pdG9yaW5nRmlsdGVyIj4NCiAg ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZWxlY3RDbGF1c2VzIiBUeXBlTmFtZT0ib3BjOkludDMy IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VsZWN0Q2xhdXNlcyIgVHlwZU5hbWU9InRuczpT aW1wbGVBdHRyaWJ1dGVPcGVyYW5kIiBMZW5ndGhGaWVsZD0iTm9PZlNlbGVjdENsYXVzZXMiIC8+ DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXaGVyZUNsYXVzZSIgVHlwZU5hbWU9InRuczpDb250ZW50 RmlsdGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU eXBlIE5hbWU9IkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlU2VydmVyQ2FwYWJpbGl0aWVzRGVmYXVs dHMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyZWF0 VW5jZXJ0YWluQXNCYWQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxk IE5hbWU9IlBlcmNlbnREYXRhQmFkIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpG aWVsZCBOYW1lPSJQZXJjZW50RGF0YUdvb2QiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9IlVzZVNsb3BlZEV4dHJhcG9sYXRpb24iIFR5cGVOYW1lPSJvcGM6Qm9v bGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw ZSBOYW1lPSJBZ2dyZWdhdGVGaWx0ZXIiIEJhc2VUeXBlPSJ0bnM6TW9uaXRvcmluZ0ZpbHRlciI+ DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGFydFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUi IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZ2dyZWdhdGVUeXBlIiBUeXBlTmFtZT0idWE6Tm9k ZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJvY2Vzc2luZ0ludGVydmFsIiBUeXBlTmFt ZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFnZ3JlZ2F0ZUNvbmZpZ3Vy YXRpb24iIFR5cGVOYW1lPSJ0bnM6QWdncmVnYXRlQ29uZmlndXJhdGlvbiIgLz4NCiAgPC9vcGM6 U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb25pdG9yaW5n RmlsdGVyUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgPC9vcGM6U3Ry dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJFdmVudEZpbHRlclJl c3VsdCIgQmFzZVR5cGU9InRuczpNb25pdG9yaW5nRmlsdGVyUmVzdWx0Ij4NCiAgICA8b3BjOkZp ZWxkIE5hbWU9Ik5vT2ZTZWxlY3RDbGF1c2VSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VsZWN0Q2xhdXNlUmVzdWx0cyIgVHlwZU5hbWU9InVh OlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mU2VsZWN0Q2xhdXNlUmVzdWx0cyIgLz4NCiAg ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZWxlY3RDbGF1c2VEaWFnbm9zdGljSW5mb3MiIFR5cGVO YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWxlY3RDbGF1c2VEaWFn bm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5v T2ZTZWxlY3RDbGF1c2VEaWFnbm9zdGljSW5mb3MiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJX aGVyZUNsYXVzZVJlc3VsdCIgVHlwZU5hbWU9InRuczpDb250ZW50RmlsdGVyUmVzdWx0IiAvPg0K ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFn Z3JlZ2F0ZUZpbHRlclJlc3VsdCIgQmFzZVR5cGU9InRuczpNb25pdG9yaW5nRmlsdGVyUmVzdWx0 Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRTdGFydFRpbWUiIFR5cGVOYW1lPSJvcGM6 RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkUHJvY2Vzc2luZ0ludGVy dmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlz ZWRBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBUeXBlTmFtZT0idG5zOkFnZ3JlZ2F0ZUNvbmZpZ3Vy YXRpb24iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 cGUgTmFtZT0iTW9uaXRvcmluZ1BhcmFtZXRlcnMiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl Y3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50SGFuZGxlIiBUeXBlTmFtZT0ib3BjOlVJ bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNhbXBsaW5nSW50ZXJ2YWwiIFR5cGVOYW1l PSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmlsdGVyIiBUeXBlTmFtZT0i dWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVldWVTaXplIiBU eXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2NhcmRPbGRl c3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCIg QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJdGVt VG9Nb25pdG9yIiBUeXBlTmFtZT0idG5zOlJlYWRWYWx1ZUlkIiAvPg0KICAgIDxvcGM6RmllbGQg TmFtZT0iTW9uaXRvcmluZ01vZGUiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmluZ01vZGUiIC8+DQog ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRQYXJhbWV0ZXJzIiBUeXBlTmFtZT0idG5zOk1v bml0b3JpbmdQYXJhbWV0ZXJzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj OlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vbml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIEJhc2VUeXBl PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIg VHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb25pdG9y ZWRJdGVtSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i UmV2aXNlZFNhbXBsaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxv cGM6RmllbGQgTmFtZT0iUmV2aXNlZFF1ZXVlU2l6ZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXJSZXN1bHQiIFR5cGVOYW1lPSJ1YTpFeHRlbnNp b25PYmplY3QiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl ZFR5cGUgTmFtZT0iQ3JlYXRlTW9uaXRvcmVkSXRlbXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0 ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVO YW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlw dGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRp bWVzdGFtcHNUb1JldHVybiIgVHlwZU5hbWU9InRuczpUaW1lc3RhbXBzVG9SZXR1cm4iIC8+DQog ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mSXRlbXNUb0NyZWF0ZSIgVHlwZU5hbWU9Im9wYzpJbnQz MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikl0ZW1zVG9DcmVhdGUiIFR5cGVOYW1lPSJ0bnM6 TW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIExlbmd0aEZpZWxkPSJOb09mSXRlbXNUb0NyZWF0 ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO YW1lPSJDcmVhdGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0i dG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMi IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBU eXBlTmFtZT0idG5zOk1vbml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09m UmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5 cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5m b3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9z dGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl ZFR5cGUgTmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlmeVJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRl bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmVkSXRlbUlkIiBUeXBl TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZFBhcmFt ZXRlcnMiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmluZ1BhcmFtZXRlcnMiIC8+DQogIDwvb3BjOlN0 cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9uaXRvcmVkSXRl bU1vZGlmeVJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpG aWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRTYW1wbGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRv dWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRRdWV1ZVNpemUiIFR5cGVOYW1l PSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmlsdGVyUmVzdWx0IiBUeXBl TmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vZGlmeU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIg QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w YzpGaWVsZCBOYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iIFR5cGVOYW1lPSJ0bnM6VGltZXN0YW1w c1RvUmV0dXJuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkl0ZW1zVG9Nb2RpZnkiIFR5 cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJdGVtc1RvTW9kaWZ5 IiBUeXBlTmFtZT0idG5zOk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiBMZW5ndGhGaWVsZD0i Tm9PZkl0ZW1zVG9Nb2RpZnkiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXNwb25zZSIgQmFzZVR5 cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhl YWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5h bWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg TmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InRuczpNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0IiBM ZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlh Z25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt ZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZp ZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNldE1vbml0b3JpbmdNb2RlUmVxdWVzdCIgQmFz ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0 SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG aWVsZCBOYW1lPSJNb25pdG9yaW5nTW9kZSIgVHlwZU5hbWU9InRuczpNb25pdG9yaW5nTW9kZSIg Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZNb25pdG9yZWRJdGVtSWRzIiBUeXBlTmFtZT0i b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmVkSXRlbUlkcyIgVHlw ZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mTW9uaXRvcmVkSXRlbUlkcyIgLz4N CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJT ZXRNb25pdG9yaW5nTW9kZVJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3Bv bnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1l PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0i dWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg ICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0 aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3Ry dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXRUcmlnZ2VyaW5n UmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAg PG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmlnZ2VyaW5nSXRlbUlkIiBUeXBlTmFtZT0ib3BjOlVJ bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZMaW5rc1RvQWRkIiBUeXBlTmFtZT0i b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGlua3NUb0FkZCIgVHlwZU5hbWU9 Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mTGlua3NUb0FkZCIgLz4NCiAgICA8b3BjOkZp ZWxkIE5hbWU9Ik5vT2ZMaW5rc1RvUmVtb3ZlIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg IDxvcGM6RmllbGQgTmFtZT0iTGlua3NUb1JlbW92ZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIExl bmd0aEZpZWxkPSJOb09mTGlua3NUb1JlbW92ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXRUcmlnZ2VyaW5nUmVzcG9uc2UiIEJh c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9u c2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJOb09mQWRkUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj OkZpZWxkIE5hbWU9IkFkZFJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhG aWVsZD0iTm9PZkFkZFJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQWRkRGlh Z25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt ZT0iQWRkRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0 aEZpZWxkPSJOb09mQWRkRGlhZ25vc3RpY0luZm9zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i Tm9PZlJlbW92ZVJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJSZW1vdmVSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmll bGQ9Ik5vT2ZSZW1vdmVSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlbW92 ZURpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk IE5hbWU9IlJlbW92ZURpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZv IiBMZW5ndGhGaWVsZD0iTm9PZlJlbW92ZURpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3Ry dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVNb25pdG9y ZWRJdGVtc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAv Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUlu dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk1vbml0b3JlZEl0ZW1JZHMiIFR5cGVO YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb25pdG9yZWRJdGVtSWRz IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZNb25pdG9yZWRJdGVtSWRz IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h bWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0 bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIg VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5 cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAg PG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMy IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6 RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8 L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNyZWF0 ZVN1YnNjcmlwdGlvblJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg IDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVh ZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFs IiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3Rl ZExpZmV0aW1lQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg TmFtZT0iUmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAv Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2giIFR5cGVO YW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaGluZ0VuYWJs ZWQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByaW9y aXR5IiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ3JlYXRlU3Vic2NyaXB0aW9uUmVzcG9uc2UiIEJh c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9u c2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w YzpGaWVsZCBOYW1lPSJSZXZpc2VkUHVibGlzaGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRv dWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRMaWZldGltZUNvdW50IiBUeXBl TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRNYXhLZWVw QWxpdmVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9kaWZ5U3Vic2NyaXB0aW9uUmVx dWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1l PSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9w YzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQog ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWwiIFR5cGVOYW1l PSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkTGlmZXRpbWVD b3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w YzpGaWVsZCBOYW1lPSJNYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaCIgVHlwZU5hbWU9Im9wYzpV SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcmlvcml0eSIgVHlwZU5hbWU9Im9wYzpC eXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl IE5hbWU9Ik1vZGlmeVN1YnNjcmlwdGlvblJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0i dG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZFB1Ymxp c2hpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJSZXZpc2VkTGlmZXRpbWVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAg PG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkTWF4S2VlcEFsaXZlQ291bnQiIFR5cGVOYW1lPSJvcGM6 VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU eXBlIE5hbWU9IlNldFB1Ymxpc2hpbmdNb2RlUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lv bk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0i dG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nRW5h YmxlZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P ZlN1YnNjcmlwdGlvbklkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk IE5hbWU9IlN1YnNjcmlwdGlvbklkcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxk PSJOb09mU3Vic2NyaXB0aW9uSWRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNldFB1Ymxpc2hpbmdNb2RlUmVzcG9uc2UiIEJhc2VU eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VI ZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk IE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9P ZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBU eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0lu Zm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25v c3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy ZWRUeXBlIE5hbWU9Ik5vdGlmaWNhdGlvbk1lc3NhZ2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VxdWVuY2VOdW1iZXIiIFR5cGVOYW1lPSJv cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaFRpbWUiIFR5cGVOYW1l PSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTm90aWZpY2F0aW9u RGF0YSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vdGlm aWNhdGlvbkRhdGEiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIExlbmd0aEZpZWxkPSJO b09mTm90aWZpY2F0aW9uRGF0YSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJOb3RpZmljYXRpb25EYXRhIiBCYXNlVHlwZT0idWE6RXh0 ZW5zaW9uT2JqZWN0Ij4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 cmVkVHlwZSBOYW1lPSJEYXRhQ2hhbmdlTm90aWZpY2F0aW9uIiBCYXNlVHlwZT0idG5zOk5vdGlm aWNhdGlvbkRhdGEiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk1vbml0b3JlZEl0ZW1zIiBU eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmVkSXRl bXMiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiIgTGVuZ3RoRmllbGQ9 Ik5vT2ZNb25pdG9yZWRJdGVtcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9z dGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE aWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9 Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiIgQmFzZVR5 cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnRIYW5k bGUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsdWUi IFR5cGVOYW1lPSJ1YTpEYXRhVmFsdWUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRXZlbnROb3RpZmljYXRpb25MaXN0IiBCYXNlVHlw ZT0idG5zOk5vdGlmaWNhdGlvbkRhdGEiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkV2ZW50 cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50cyIg VHlwZU5hbWU9InRuczpFdmVudEZpZWxkTGlzdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZFdmVudHMiIC8+ DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i RXZlbnRGaWVsZExpc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 RmllbGQgTmFtZT0iQ2xpZW50SGFuZGxlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFdmVudEZpZWxkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N CiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50RmllbGRzIiBUeXBlTmFtZT0idWE6VmFyaWFudCIg TGVuZ3RoRmllbGQ9Ik5vT2ZFdmVudEZpZWxkcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5RXZlbnRGaWVsZExpc3QiIEJh c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkV2 ZW50RmllbGRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i RXZlbnRGaWVsZHMiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiBMZW5ndGhGaWVsZD0iTm9PZkV2ZW50 RmllbGRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU eXBlIE5hbWU9IlN0YXR1c0NoYW5nZU5vdGlmaWNhdGlvbiIgQmFzZVR5cGU9InRuczpOb3RpZmlj YXRpb25EYXRhIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1cyIgVHlwZU5hbWU9InVhOlN0 YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mbyIgVHlwZU5h bWU9InVhOkRpYWdub3N0aWNJbmZvIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudCIgQmFz ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3Jp cHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT ZXF1ZW5jZU51bWJlciIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVy ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUHVibGlzaFJlcXVlc3QiIEJh c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVz dEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQg TmFtZT0iTm9PZlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudHMiIFR5cGVOYW1lPSJvcGM6SW50 MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnRz IiBUeXBlTmFtZT0idG5zOlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudCIgTGVuZ3RoRmllbGQ9 Ik5vT2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlB1Ymxpc2hSZXNwb25zZSIgQmFz ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25z ZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxk IE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3Bj OkZpZWxkIE5hbWU9Ik5vT2ZBdmFpbGFibGVTZXF1ZW5jZU51bWJlcnMiIFR5cGVOYW1lPSJvcGM6 SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdmFpbGFibGVTZXF1ZW5jZU51bWJlcnMi IFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkF2YWlsYWJsZVNlcXVlbmNl TnVtYmVycyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vcmVOb3RpZmljYXRpb25zIiBUeXBl TmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb3RpZmljYXRpb25N ZXNzYWdlIiBUeXBlTmFtZT0idG5zOk5vdGlmaWNhdGlvbk1lc3NhZ2UiIC8+DQogICAgPG9wYzpG aWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj OkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVs ZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0lu Zm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25v c3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09m RGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 cnVjdHVyZWRUeXBlIE5hbWU9IlJlcHVibGlzaFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp b25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9 InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9u SWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV0cmFu c21pdFNlcXVlbmNlTnVtYmVyIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3Ry dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZXB1Ymxpc2hSZXNw b25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1l PSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9Ik5vdGlmaWNhdGlvbk1lc3NhZ2UiIFR5cGVOYW1lPSJ0bnM6Tm90aWZp Y2F0aW9uTWVzc2FnZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 Y3R1cmVkVHlwZSBOYW1lPSJUcmFuc2ZlclJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3Rh dHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBdmFpbGFibGVTZXF1ZW5jZU51 bWJlcnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdmFp bGFibGVTZXF1ZW5jZU51bWJlcnMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0i Tm9PZkF2YWlsYWJsZVNlcXVlbmNlTnVtYmVycyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJUcmFuc2ZlclN1YnNjcmlwdGlvbnNSZXF1 ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3Bj OkZpZWxkIE5hbWU9Ik5vT2ZTdWJzY3JpcHRpb25JZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZHMiIFR5cGVOYW1lPSJvcGM6VUlu dDMyIiBMZW5ndGhGaWVsZD0iTm9PZlN1YnNjcmlwdGlvbklkcyIgLz4NCiAgICA8b3BjOkZpZWxk IE5hbWU9IlNlbmRJbml0aWFsVmFsdWVzIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwv b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVHJhbnNm ZXJTdWJzY3JpcHRpb25zUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9u c2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9 Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0 bnM6VHJhbnNmZXJSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3Bj OkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFn bm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3Bj OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlU3Vi c2NyaXB0aW9uc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv cGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVy IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlN1YnNjcmlwdGlvbklkcyIgVHlwZU5hbWU9 Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkcyIgVHlw ZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mU3Vic2NyaXB0aW9uSWRzIiAvPg0K ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRl bGV0ZVN1YnNjcmlwdGlvbnNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNw b25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFt ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9 InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZp ZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog ICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9z dGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0 cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRW51bWVyYXRlZFRl c3RUeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBzaW1w bGUgZW51bWVyYXRlZCB0eXBlIHVzZWQgZm9yIHRlc3RpbmcuPC9vcGM6RG9jdW1lbnRhdGlvbj4N CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWQiIFZhbHVlPSIxIiAvPg0KICAgIDxv cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlllbGxvdyIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpF bnVtZXJhdGVkVmFsdWUgTmFtZT0iR3JlZW4iIFZhbHVlPSI1IiAvPg0KICA8L29wYzpFbnVtZXJh dGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJ1aWxkSW5mbyIgQmFzZVR5 cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcm9kdWN0VXJp IiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1hbnVmYWN0 dXJlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i UHJvZHVjdE5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt ZT0iU29mdHdhcmVWZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp ZWxkIE5hbWU9IkJ1aWxkTnVtYmVyIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3Bj OkZpZWxkIE5hbWU9IkJ1aWxkRGF0ZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgPC9v cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJSZWR1bmRh bmN5U3VwcG9ydCIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg TmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i Q29sZCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iV2FybSIg VmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSG90IiBWYWx1ZT0i MyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJUcmFuc3BhcmVudCIgVmFsdWU9 IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSG90QW5kTWlycm9yZWQiIFZh bHVlPSI1IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRU eXBlIE5hbWU9IlNlcnZlclN0YXRlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1l cmF0ZWRWYWx1ZSBOYW1lPSJSdW5uaW5nIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0 ZWRWYWx1ZSBOYW1lPSJGYWlsZWQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh bHVlIE5hbWU9Ik5vQ29uZmlndXJhdGlvbiIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJh dGVkVmFsdWUgTmFtZT0iU3VzcGVuZGVkIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0 ZWRWYWx1ZSBOYW1lPSJTaHV0ZG93biIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk VmFsdWUgTmFtZT0iVGVzdCIgVmFsdWU9IjUiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg TmFtZT0iQ29tbXVuaWNhdGlvbkZhdWx0IiBWYWx1ZT0iNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0 ZWRWYWx1ZSBOYW1lPSJVbmtub3duIiBWYWx1ZT0iNyIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5 cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlw ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT ZXJ2ZXJJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT ZXJ2aWNlTGV2ZWwiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 IlNlcnZlclN0YXRlIiBUeXBlTmFtZT0idG5zOlNlcnZlclN0YXRlIiAvPg0KICA8L29wYzpTdHJ1 Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkVuZHBvaW50VXJsTGlz dERhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk IE5hbWU9Ik5vT2ZFbmRwb2ludFVybExpc3QiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg PG9wYzpGaWVsZCBOYW1lPSJFbmRwb2ludFVybExpc3QiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBM ZW5ndGhGaWVsZD0iTm9PZkVuZHBvaW50VXJsTGlzdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJOZXR3b3JrR3JvdXBEYXRhVHlwZSIg QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2 ZXJVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P Zk5ldHdvcmtQYXRocyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h bWU9Ik5ldHdvcmtQYXRocyIgVHlwZU5hbWU9InRuczpFbmRwb2ludFVybExpc3REYXRhVHlwZSIg TGVuZ3RoRmllbGQ9Ik5vT2ZOZXR3b3JrUGF0aHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0 aWNzRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iU2FtcGxpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAg PG9wYzpGaWVsZCBOYW1lPSJNb25pdG9yZWRJdGVtQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMy IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4TW9uaXRvcmVkSXRlbUNvdW50IiBUeXBlTmFt ZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2FibGVkTW9uaXRvcmVk SXRlbUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXJ2ZXJEaWFnbm9zdGljc1N1bW1h cnlEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJTZXJ2ZXJWaWV3Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxv cGM6RmllbGQgTmFtZT0iQ3VycmVudFNlc3Npb25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIi IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdW11bGF0ZWRTZXNzaW9uQ291bnQiIFR5cGVOYW1l PSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlSZWplY3RlZFNl c3Npb25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l PSJSZWplY3RlZFNlc3Npb25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w YzpGaWVsZCBOYW1lPSJTZXNzaW9uVGltZW91dENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlc3Npb25BYm9ydENvdW50IiBUeXBlTmFtZT0ib3Bj OlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1cnJlbnRTdWJzY3JpcHRpb25Db3Vu dCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdW11bGF0 ZWRTdWJzY3JpcHRpb25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG aWVsZCBOYW1lPSJQdWJsaXNoaW5nSW50ZXJ2YWxDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIi IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eVJlamVjdGVkUmVxdWVzdHNDb3VudCIg VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWplY3RlZFJl cXVlc3RzQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNlcnZlclN0YXR1c0RhdGFUeXBl IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0 YXJ0VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 IkN1cnJlbnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQg TmFtZT0iU3RhdGUiIFR5cGVOYW1lPSJ0bnM6U2VydmVyU3RhdGUiIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJCdWlsZEluZm8iIFR5cGVOYW1lPSJ0bnM6QnVpbGRJbmZvIiAvPg0KICAgIDxvcGM6 RmllbGQgTmFtZT0iU2Vjb25kc1RpbGxTaHV0ZG93biIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTaHV0ZG93blJlYXNvbiIgVHlwZU5hbWU9InVhOkxvY2Fs aXplZFRleHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl ZFR5cGUgTmFtZT0iU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRl bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvbklkIiBUeXBlTmFtZT0i dWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvbk5hbWUiIFR5cGVOYW1l PSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50RGVzY3JpcHRpb24i IFR5cGVOYW1lPSJ0bnM6QXBwbGljYXRpb25EZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxk IE5hbWU9IlNlcnZlclVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJFbmRwb2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpG aWVsZCBOYW1lPSJOb09mTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv cGM6RmllbGQgTmFtZT0iTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmll bGQ9Ik5vT2ZMb2NhbGVJZHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBY3R1YWxTZXNzaW9u VGltZW91dCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJN YXhSZXNwb25zZU1lc3NhZ2VTaXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3Bj OkZpZWxkIE5hbWU9IkNsaWVudENvbm5lY3Rpb25UaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1l IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50TGFzdENvbnRhY3RUaW1lIiBUeXBlTmFt ZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3VycmVudFN1YnNjcmlw dGlvbnNDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l PSJDdXJyZW50TW9uaXRvcmVkSXRlbXNDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQog ICAgPG9wYzpGaWVsZCBOYW1lPSJDdXJyZW50UHVibGlzaFJlcXVlc3RzSW5RdWV1ZSIgVHlwZU5h bWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUb3RhbFJlcXVlc3RDb3Vu dCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iVW5hdXRob3JpemVkUmVxdWVzdENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlYWRDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNl Q291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSGlzdG9yeVJlYWRDb3Vu dCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iV3JpdGVDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBl IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSGlzdG9yeVVwZGF0ZUNvdW50IiBUeXBlTmFtZT0i dG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDYWxs Q291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3Bj OkZpZWxkIE5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2Vy dmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vZGlmeU1vbml0 b3JlZEl0ZW1zQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4N CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNldE1vbml0b3JpbmdNb2RlQ291bnQiIFR5cGVOYW1lPSJ0 bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNldFRy aWdnZXJpbmdDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0K ICAgIDxvcGM6RmllbGQgTmFtZT0iRGVsZXRlTW9uaXRvcmVkSXRlbXNDb3VudCIgVHlwZU5hbWU9 InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3Jl YXRlU3Vic2NyaXB0aW9uQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlw ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vZGlmeVN1YnNjcmlwdGlvbkNvdW50IiBUeXBl TmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l PSJTZXRQdWJsaXNoaW5nTW9kZUNvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0 YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoQ291bnQiIFR5cGVOYW1lPSJ0 bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcHVi bGlzaENvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAg PG9wYzpGaWVsZCBOYW1lPSJUcmFuc2ZlclN1YnNjcmlwdGlvbnNDb3VudCIgVHlwZU5hbWU9InRu czpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVsZXRl U3Vic2NyaXB0aW9uc0NvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUi IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGROb2Rlc0NvdW50IiBUeXBlTmFtZT0idG5zOlNl cnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGRSZWZlcmVu Y2VzQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9IkRlbGV0ZU5vZGVzQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNv dW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlbGV0ZVJlZmVyZW5jZXND b3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6 RmllbGQgTmFtZT0iQnJvd3NlQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRh VHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5leHRDb3VudCIgVHlwZU5hbWU9 InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJh bnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291 bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVlcnlGaXJzdENvdW50IiBU eXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJRdWVyeU5leHRDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBl IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVnaXN0ZXJOb2Rlc0NvdW50IiBUeXBlTmFtZT0i dG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVbnJl Z2lzdGVyTm9kZXNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAv Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 IlNlc3Npb25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp b25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6 Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50VXNlcklkT2ZTZXNzaW9uIiBU eXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZDbGllbnRV c2VySWRIaXN0b3J5IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt ZT0iQ2xpZW50VXNlcklkSGlzdG9yeSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxk PSJOb09mQ2xpZW50VXNlcklkSGlzdG9yeSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF1dGhl bnRpY2F0aW9uTWVjaGFuaXNtIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp ZWxkIE5hbWU9IkVuY29kaW5nIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp ZWxkIE5hbWU9IlRyYW5zcG9ydFByb3RvY29sIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAg ICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TW9kZSIgVHlwZU5hbWU9InRuczpNZXNzYWdlU2Vj dXJpdHlNb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlQb2xpY3lVcmkiIFR5 cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50Q2VydGlm aWNhdGUiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXJ2aWNlQ291bnRlckRhdGFUeXBl IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRv dGFsQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i RXJyb3JDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU3RhdHVzUmVzdWx0IiBCYXNlVHlw ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUi IFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25v c3RpY0luZm8iIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgLz4NCiAgPC9vcGM6U3RydWN0 dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTdWJzY3JpcHRpb25EaWFn bm9zdGljc0RhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj OkZpZWxkIE5hbWU9IlNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3Bj OkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAg ICA8b3BjOkZpZWxkIE5hbWU9IlByaW9yaXR5IiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAg PG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91Ymxl IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4S2VlcEFsaXZlQ291bnQiIFR5cGVOYW1lPSJv cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4TGlmZXRpbWVDb3VudCIgVHlw ZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhOb3RpZmljYXRp b25zUGVyUHVibGlzaCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJQdWJsaXNoaW5nRW5hYmxlZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxv cGM6RmllbGQgTmFtZT0iTW9kaWZ5Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg IDxvcGM6RmllbGQgTmFtZT0iRW5hYmxlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K ICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzYWJsZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcHVibGlzaFJlcXVlc3RDb3VudCIgVHlwZU5hbWU9 Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXB1Ymxpc2hNZXNzYWdlUmVx dWVzdENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 IlJlcHVibGlzaE1lc3NhZ2VDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w YzpGaWVsZCBOYW1lPSJUcmFuc2ZlclJlcXVlc3RDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIi IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFuc2ZlcnJlZFRvQWx0Q2xpZW50Q291bnQiIFR5 cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhbnNmZXJyZWRU b1NhbWVDbGllbnRDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJQdWJsaXNoUmVxdWVzdENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAg ICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFDaGFuZ2VOb3RpZmljYXRpb25zQ291bnQiIFR5cGVOYW1l PSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnROb3RpZmljYXRpb25z Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm90 aWZpY2F0aW9uc0NvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk IE5hbWU9IkxhdGVQdWJsaXNoUmVxdWVzdENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N CiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1cnJlbnRLZWVwQWxpdmVDb3VudCIgVHlwZU5hbWU9Im9w YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdXJyZW50TGlmZXRpbWVDb3VudCIg VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVbmFja25vd2xl ZGdlZE1lc3NhZ2VDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJEaXNjYXJkZWRNZXNzYWdlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K ICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmVkSXRlbUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJ bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2FibGVkTW9uaXRvcmVkSXRlbUNvdW50 IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3Jp bmdRdWV1ZU92ZXJmbG93Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6 RmllbGQgTmFtZT0iTmV4dFNlcXVlbmNlTnVtYmVyIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N CiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50UXVldWVPdmVyRmxvd0NvdW50IiBUeXBlTmFtZT0i b3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJh dGVkVHlwZSBOYW1lPSJNb2RlbENoYW5nZVN0cnVjdHVyZVZlcmJNYXNrIiBMZW5ndGhJbkJpdHM9 IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlQWRkZWQiIFZhbHVlPSIx IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vZGVEZWxldGVkIiBWYWx1ZT0i MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWZlcmVuY2VBZGRlZCIgVmFs dWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlRGVsZXRl ZCIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGF0YVR5cGVD aGFuZ2VkIiBWYWx1ZT0iMTYiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6 U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgQmFzZVR5 cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZmZlY3RlZCIg VHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFmZmVjdGVkVHlw ZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZlcmIiIFR5 cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT dHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZW1hbnRpY0NoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiBCYXNl VHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFmZmVjdGVk IiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWZmZWN0ZWRU eXBlIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJhbmdlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvdyIgVHlwZU5hbWU9Im9wYzpEb3VibGUi IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJIaWdoIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4N CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJF VUluZm9ybWF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp ZWxkIE5hbWU9Ik5hbWVzcGFjZVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9w YzpGaWVsZCBOYW1lPSJVbml0SWQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG aWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQog ICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRl eHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUg TmFtZT0iQXhpc1NjYWxlRW51bWVyYXRpb24iIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6 RW51bWVyYXRlZFZhbHVlIE5hbWU9IkxpbmVhciIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVt ZXJhdGVkVmFsdWUgTmFtZT0iTG9nIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW YWx1ZSBOYW1lPSJMbiIgVmFsdWU9IjIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQog IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ29tcGxleE51bWJlclR5cGUiIEJhc2VUeXBlPSJ1 YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVhbCIgVHlwZU5hbWU9 Im9wYzpGbG9hdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkltYWdpbmFyeSIgVHlwZU5hbWU9 Im9wYzpGbG9hdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 cmVkVHlwZSBOYW1lPSJEb3VibGVDb21wbGV4TnVtYmVyVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVu c2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWFsIiBUeXBlTmFtZT0ib3BjOkRv dWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkltYWdpbmFyeSIgVHlwZU5hbWU9Im9wYzpE b3VibGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 cGUgTmFtZT0iQXhpc0luZm9ybWF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N CiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuZ2luZWVyaW5nVW5pdHMiIFR5cGVOYW1lPSJ0bnM6RVVJ bmZvcm1hdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVVUmFuZ2UiIFR5cGVOYW1lPSJ0 bnM6UmFuZ2UiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaXRsZSIgVHlwZU5hbWU9InVhOkxv Y2FsaXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBeGlzU2NhbGVUeXBlIiBUeXBl TmFtZT0idG5zOkF4aXNTY2FsZUVudW1lcmF0aW9uIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i Tm9PZkF4aXNTdGVwcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h bWU9IkF4aXNTdGVwcyIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIExlbmd0aEZpZWxkPSJOb09mQXhp c1N0ZXBzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU eXBlIE5hbWU9IlhWVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w YzpGaWVsZCBOYW1lPSJYIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxk IE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0ib3BjOkZsb2F0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlByb2dyYW1EaWFnbm9zdGljRGF0 YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt ZT0iQ3JlYXRlU2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iQ3JlYXRlQ2xpZW50TmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAg PG9wYzpGaWVsZCBOYW1lPSJJbnZvY2F0aW9uQ3JlYXRpb25UaW1lIiBUeXBlTmFtZT0ib3BjOkRh dGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdFRyYW5zaXRpb25UaW1lIiBUeXBl TmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZENh bGwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1l dGhvZFNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5h bWU9Ik5vT2ZMYXN0TWV0aG9kSW5wdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kSW5wdXRBcmd1bWVudHMiIFR5cGVOYW1l PSJ0bnM6QXJndW1lbnQiIExlbmd0aEZpZWxkPSJOb09mTGFzdE1ldGhvZElucHV0QXJndW1lbnRz IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxhc3RNZXRob2RPdXRwdXRBcmd1bWVudHMi IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9k T3V0cHV0QXJndW1lbnRzIiBUeXBlTmFtZT0idG5zOkFyZ3VtZW50IiBMZW5ndGhGaWVsZD0iTm9P Zkxhc3RNZXRob2RPdXRwdXRBcmd1bWVudHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0 TWV0aG9kQ2FsbFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJMYXN0TWV0aG9kUmV0dXJuU3RhdHVzIiBUeXBlTmFtZT0idG5zOlN0YXR1c1Jlc3Vs dCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO YW1lPSJBbm5vdGF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj OkZpZWxkIE5hbWU9Ik1lc3NhZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6 RmllbGQgTmFtZT0iVXNlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6 RmllbGQgTmFtZT0iQW5ub3RhdGlvblRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQog IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRXhj ZXB0aW9uRGV2aWF0aW9uRm9ybWF0IiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1l cmF0ZWRWYWx1ZSBOYW1lPSJBYnNvbHV0ZVZhbHVlIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVu dW1lcmF0ZWRWYWx1ZSBOYW1lPSJQZXJjZW50T2ZWYWx1ZSIgVmFsdWU9IjEiIC8+DQogICAgPG9w YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUGVyY2VudE9mUmFuZ2UiIFZhbHVlPSIyIiAvPg0KICAg IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlBlcmNlbnRPZkVVUmFuZ2UiIFZhbHVlPSIzIiAv Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVua25vd24iIFZhbHVlPSI0IiAvPg0K ICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KPC9vcGM6VHlwZURpY3Rpb25hcnk+ NamespaceUri A URI that uniquely identifies the dictionary. i=68 i=7617 http://opcfoundation.org/UA/ TrustListDataType i=69 i=7617 TrustListDataType Argument i=69 i=7617 Argument EnumValueType i=69 i=7617 EnumValueType OptionSet i=69 i=7617 OptionSet Union i=69 i=7617 Union TimeZoneDataType i=69 i=7617 TimeZoneDataType ApplicationDescription i=69 i=7617 ApplicationDescription ServerOnNetwork i=69 i=7617 ServerOnNetwork UserTokenPolicy i=69 i=7617 UserTokenPolicy EndpointDescription i=69 i=7617 EndpointDescription RegisteredServer i=69 i=7617 RegisteredServer DiscoveryConfiguration i=69 i=7617 DiscoveryConfiguration MdnsDiscoveryConfiguration i=69 i=7617 MdnsDiscoveryConfiguration SignedSoftwareCertificate i=69 i=7617 SignedSoftwareCertificate UserIdentityToken i=69 i=7617 UserIdentityToken AnonymousIdentityToken i=69 i=7617 AnonymousIdentityToken UserNameIdentityToken i=69 i=7617 UserNameIdentityToken X509IdentityToken i=69 i=7617 X509IdentityToken KerberosIdentityToken i=69 i=7617 KerberosIdentityToken IssuedIdentityToken i=69 i=7617 IssuedIdentityToken AddNodesItem i=69 i=7617 AddNodesItem AddReferencesItem i=69 i=7617 AddReferencesItem DeleteNodesItem i=69 i=7617 DeleteNodesItem DeleteReferencesItem i=69 i=7617 DeleteReferencesItem RelativePathElement i=69 i=7617 RelativePathElement RelativePath i=69 i=7617 RelativePath EndpointConfiguration i=69 i=7617 EndpointConfiguration SupportedProfile i=69 i=7617 SupportedProfile SoftwareCertificate i=69 i=7617 SoftwareCertificate ContentFilterElement i=69 i=7617 ContentFilterElement ContentFilter i=69 i=7617 ContentFilter FilterOperand i=69 i=7617 FilterOperand ElementOperand i=69 i=7617 ElementOperand LiteralOperand i=69 i=7617 LiteralOperand AttributeOperand i=69 i=7617 AttributeOperand SimpleAttributeOperand i=69 i=7617 SimpleAttributeOperand HistoryEvent i=69 i=7617 HistoryEvent MonitoringFilter i=69 i=7617 MonitoringFilter EventFilter i=69 i=7617 EventFilter AggregateConfiguration i=69 i=7617 AggregateConfiguration HistoryEventFieldList i=69 i=7617 HistoryEventFieldList BuildInfo i=69 i=7617 BuildInfo RedundantServerDataType i=69 i=7617 RedundantServerDataType EndpointUrlListDataType i=69 i=7617 EndpointUrlListDataType NetworkGroupDataType i=69 i=7617 NetworkGroupDataType SamplingIntervalDiagnosticsDataType i=69 i=7617 SamplingIntervalDiagnosticsDataType ServerDiagnosticsSummaryDataType i=69 i=7617 ServerDiagnosticsSummaryDataType ServerStatusDataType i=69 i=7617 ServerStatusDataType SessionDiagnosticsDataType i=69 i=7617 SessionDiagnosticsDataType SessionSecurityDiagnosticsDataType i=69 i=7617 SessionSecurityDiagnosticsDataType ServiceCounterDataType i=69 i=7617 ServiceCounterDataType StatusResult i=69 i=7617 StatusResult SubscriptionDiagnosticsDataType i=69 i=7617 SubscriptionDiagnosticsDataType ModelChangeStructureDataType i=69 i=7617 ModelChangeStructureDataType SemanticChangeStructureDataType i=69 i=7617 SemanticChangeStructureDataType Range i=69 i=7617 Range EUInformation i=69 i=7617 EUInformation ComplexNumberType i=69 i=7617 ComplexNumberType DoubleComplexNumberType i=69 i=7617 DoubleComplexNumberType AxisInformation i=69 i=7617 AxisInformation XVType i=69 i=7617 XVType ProgramDiagnosticDataType i=69 i=7617 ProgramDiagnosticDataType Annotation i=69 i=7617 Annotation python-opcua-0.90.3/schemas/Opc.Ua.NodeSet2.Part8.xml000066400000000000000000000624751310132730300221110ustar00rootroot00000000000000 i=1 i=2 i=3 i=4 i=5 i=6 i=7 i=8 i=9 i=10 i=11 i=13 i=12 i=15 i=14 i=16 i=17 i=18 i=20 i=21 i=19 i=22 i=26 i=27 i=28 i=47 i=46 i=35 i=36 i=48 i=45 i=40 i=37 i=38 i=39 DataItemType A variable that contains live automation data. i=2366 i=2367 i=63 Definition A vendor-specific, human readable string that specifies how the value of this DataItem is calculated. i=68 i=80 i=2365 ValuePrecision The maximum precision that the server can maintain for the item based on restrictions in the target environment. i=68 i=80 i=2365 AnalogItemType i=2370 i=2369 i=2371 i=2365 InstrumentRange i=68 i=80 i=2368 EURange i=68 i=78 i=2368 EngineeringUnits i=68 i=80 i=2368 DiscreteItemType i=2365 TwoStateDiscreteType i=2374 i=2375 i=2372 FalseState i=68 i=78 i=2373 TrueState i=68 i=78 i=2373 MultiStateDiscreteType i=2377 i=2372 EnumStrings i=68 i=78 i=2376 MultiStateValueDiscreteType i=11241 i=11461 i=2372 EnumValues i=68 i=78 i=11238 ValueAsText i=68 i=78 i=11238 ArrayItemType i=12024 i=12025 i=12026 i=12027 i=12028 i=2365 InstrumentRange i=68 i=80 i=12021 EURange i=68 i=78 i=12021 EngineeringUnits i=68 i=78 i=12021 Title i=68 i=78 i=12021 AxisScaleType i=68 i=78 i=12021 YArrayItemType i=12037 i=12021 XAxisDefinition i=68 i=78 i=12029 XYArrayItemType i=12046 i=12021 XAxisDefinition i=68 i=78 i=12038 ImageItemType i=12055 i=12056 i=12021 XAxisDefinition i=68 i=78 i=12047 YAxisDefinition i=68 i=78 i=12047 CubeItemType i=12065 i=12066 i=12067 i=12021 XAxisDefinition i=68 i=78 i=12057 YAxisDefinition i=68 i=78 i=12057 ZAxisDefinition i=68 i=78 i=12057 NDimensionArrayItemType i=12076 i=12021 AxisDefinition i=68 i=78 i=12068 Range i=22 EUInformation i=22 AxisScaleEnumeration i=12078 i=29 EnumStrings i=68 i=78 i=12077 Linear Log Ln ComplexNumberType i=22 DoubleComplexNumberType i=22 AxisInformation i=22 XVType i=22 Default XML i=884 i=8873 i=76 Default XML i=887 i=8876 i=76 Default XML i=12171 i=12175 i=76 Default XML i=12172 i=12178 i=76 Default XML i=12079 i=12083 i=76 Default XML i=12080 i=12086 i=76 Default Binary i=884 i=8238 i=76 Default Binary i=887 i=8241 i=76 Default Binary i=12171 i=12183 i=76 Default Binary i=12172 i=12186 i=76 Default Binary i=12079 i=12091 i=76 Default Binary i=12080 i=12094 i=76 python-opcua-0.90.3/schemas/Opc.Ua.NodeSet2.Part9.xml000066400000000000000000003072761310132730300221130ustar00rootroot00000000000000 i=1 i=2 i=3 i=4 i=5 i=6 i=7 i=8 i=9 i=10 i=11 i=13 i=12 i=15 i=14 i=16 i=17 i=18 i=20 i=21 i=19 i=22 i=26 i=27 i=28 i=47 i=46 i=35 i=36 i=48 i=45 i=40 i=37 i=38 i=39 TwoStateVariableType i=8996 i=9000 i=9001 i=11110 i=11111 i=2755 Id i=68 i=78 i=8995 TransitionTime i=68 i=80 i=8995 EffectiveTransitionTime i=68 i=80 i=8995 TrueState i=68 i=80 i=8995 FalseState i=68 i=80 i=8995 ConditionVariableType i=9003 i=63 SourceTimestamp i=68 i=78 i=9002 HasTrueSubState i=32 IsTrueSubStateOf HasFalseSubState i=32 IsFalseSubStateOf ConditionType i=11112 i=11113 i=9009 i=9010 i=3874 i=9011 i=9020 i=9022 i=9024 i=9026 i=9028 i=9027 i=9029 i=3875 i=12912 i=2041 ConditionClassId i=68 i=78 i=2782 ConditionClassName i=68 i=78 i=2782 ConditionName i=68 i=78 i=2782 BranchId i=68 i=78 i=2782 Retain i=68 i=78 i=2782 EnabledState i=9012 i=9015 i=9016 i=9017 i=8995 i=78 i=2782 Id i=68 i=78 i=9011 EffectiveDisplayName i=68 i=80 i=9011 TransitionTime i=68 i=80 i=9011 EffectiveTransitionTime i=68 i=80 i=9011 Quality i=9021 i=9002 i=78 i=2782 SourceTimestamp i=68 i=78 i=9020 LastSeverity i=9023 i=9002 i=78 i=2782 SourceTimestamp i=68 i=78 i=9022 Comment i=9025 i=9002 i=78 i=2782 SourceTimestamp i=68 i=78 i=9024 ClientUserId i=68 i=78 i=2782 Disable i=2803 i=78 i=2782 Enable i=2803 i=78 i=2782 AddComment i=9030 i=2829 i=78 i=2782 InputArguments i=68 i=78 i=9029 i=297 EventId i=15 -1 The identifier for the event to comment. i=297 Comment i=21 -1 The comment to add to the condition. ConditionRefresh i=3876 i=2787 i=2788 i=2782 InputArguments i=68 i=78 i=3875 i=297 SubscriptionId i=288 -1 The identifier for the suscription to refresh. ConditionRefresh2 i=12913 i=2787 i=2788 i=2782 InputArguments i=68 i=78 i=12912 i=297 SubscriptionId i=288 -1 The identifier for the suscription to refresh. i=297 MonitoredItemId i=288 -1 The identifier for the monitored item to refresh. DialogConditionType i=9035 i=9055 i=2831 i=9064 i=9065 i=9066 i=9067 i=9068 i=9069 i=2782 EnabledState i=9036 i=9055 i=8995 i=78 i=2830 Id i=68 i=78 i=9035 DialogState i=9056 i=9060 i=9035 i=8995 i=78 i=2830 Id i=68 i=78 i=9055 TransitionTime i=68 i=80 i=9055 Prompt i=68 i=78 i=2830 ResponseOptionSet i=68 i=78 i=2830 DefaultResponse i=68 i=78 i=2830 OkResponse i=68 i=78 i=2830 CancelResponse i=68 i=78 i=2830 LastResponse i=68 i=78 i=2830 Respond i=9070 i=8927 i=78 i=2830 InputArguments i=68 i=78 i=9069 i=297 SelectedResponse i=6 -1 The response to the dialog condition. AcknowledgeableConditionType i=9073 i=9093 i=9102 i=9111 i=9113 i=2782 EnabledState i=9074 i=9093 i=9102 i=8995 i=78 i=2881 Id i=68 i=78 i=9073 AckedState i=9094 i=9098 i=9073 i=8995 i=78 i=2881 Id i=68 i=78 i=9093 TransitionTime i=68 i=80 i=9093 ConfirmedState i=9103 i=9107 i=9073 i=8995 i=80 i=2881 Id i=68 i=78 i=9102 TransitionTime i=68 i=80 i=9102 Acknowledge i=9112 i=8944 i=78 i=2881 InputArguments i=68 i=78 i=9111 i=297 EventId i=15 -1 The identifier for the event to comment. i=297 Comment i=21 -1 The comment to add to the condition. Confirm i=9114 i=8961 i=80 i=2881 InputArguments i=68 i=78 i=9113 i=297 EventId i=15 -1 The identifier for the event to comment. i=297 Comment i=21 -1 The comment to add to the condition. AlarmConditionType i=9118 i=9160 i=11120 i=9169 i=9178 i=9215 i=9216 i=2881 EnabledState i=9119 i=9160 i=9169 i=9178 i=8995 i=78 i=2915 Id i=68 i=78 i=9118 ActiveState i=9161 i=9164 i=9165 i=9166 i=9118 i=8995 i=78 i=2915 Id i=68 i=78 i=9160 EffectiveDisplayName i=68 i=80 i=9160 TransitionTime i=68 i=80 i=9160 EffectiveTransitionTime i=68 i=80 i=9160 InputNode i=68 i=78 i=2915 SuppressedState i=9170 i=9174 i=9118 i=8995 i=80 i=2915 Id i=68 i=78 i=9169 TransitionTime i=68 i=80 i=9169 ShelvingState i=9179 i=9184 i=9189 i=9211 i=9212 i=9213 i=9118 i=2929 i=80 i=2915 CurrentState i=9180 i=2760 i=78 i=9178 Id i=68 i=78 i=9179 LastTransition i=9185 i=9188 i=2767 i=80 i=9178 Id i=68 i=78 i=9184 TransitionTime i=68 i=80 i=9184 UnshelveTime i=68 i=78 i=9178 Unshelve i=11093 i=78 i=9178 OneShotShelve i=11093 i=78 i=9178 TimedShelve i=9214 i=11093 i=78 i=9178 InputArguments i=68 i=78 i=9213 i=297 ShelvingTime i=290 -1 If not 0, this parameter specifies a fixed time for which the Alarm is to be shelved. SuppressedOrShelved i=68 i=78 i=2915 MaxTimeShelved i=68 i=80 i=2915 ShelvedStateMachineType i=9115 i=2930 i=2932 i=2933 i=2935 i=2936 i=2940 i=2942 i=2943 i=2945 i=2947 i=2948 i=2949 i=2771 UnshelveTime i=68 i=78 i=2929 Unshelved i=6098 i=2935 i=2936 i=2940 i=2943 i=2307 i=2929 StateNumber i=68 i=78 i=2930 TimedShelved i=6100 i=2935 i=2940 i=2942 i=2945 i=2307 i=2929 StateNumber i=68 i=78 i=2932 OneShotShelved i=6101 i=2936 i=2942 i=2943 i=2945 i=2307 i=2929 StateNumber i=68 i=78 i=2933 UnshelvedToTimedShelved i=11322 i=2930 i=2932 i=2915 i=2949 i=2310 i=2929 TransitionNumber i=68 i=78 i=2935 UnshelvedToOneShotShelved i=11323 i=2930 i=2933 i=2915 i=2948 i=2310 i=2929 TransitionNumber i=68 i=78 i=2936 TimedShelvedToUnshelved i=11324 i=2932 i=2930 i=2915 i=2947 i=2310 i=2929 TransitionNumber i=68 i=78 i=2940 TimedShelvedToOneShotShelved i=11325 i=2932 i=2933 i=2915 i=2948 i=2310 i=2929 TransitionNumber i=68 i=78 i=2942 OneShotShelvedToUnshelved i=11326 i=2933 i=2930 i=2915 i=2947 i=2310 i=2929 TransitionNumber i=68 i=78 i=2943 OneShotShelvedToTimedShelved i=11327 i=2933 i=2932 i=2915 i=2949 i=2310 i=2929 TransitionNumber i=68 i=78 i=2945 Unshelve i=2940 i=2943 i=11093 i=78 i=2929 OneShotShelve i=2936 i=2942 i=11093 i=78 i=2929 TimedShelve i=2991 i=2935 i=2945 i=11093 i=78 i=2929 InputArguments i=68 i=78 i=2949 i=297 ShelvingTime i=290 -1 If not 0, this parameter specifies a fixed time for which the Alarm is to be shelved. LimitAlarmType i=11124 i=11125 i=11126 i=11127 i=2915 HighHighLimit i=68 i=80 i=2955 HighLimit i=68 i=80 i=2955 LowLimit i=68 i=80 i=2955 LowLowLimit i=68 i=80 i=2955 ExclusiveLimitStateMachineType i=9329 i=9331 i=9333 i=9335 i=9337 i=9338 i=9339 i=9340 i=2771 HighHigh i=9330 i=9339 i=9340 i=2307 i=9318 StateNumber i=68 i=78 i=9329 High i=9332 i=9339 i=9340 i=2307 i=9318 StateNumber i=68 i=78 i=9331 Low i=9334 i=9337 i=9338 i=2307 i=9318 StateNumber i=68 i=78 i=9333 LowLow i=9336 i=9337 i=9338 i=2307 i=9318 StateNumber i=68 i=78 i=9335 LowLowToLow i=11340 i=9335 i=9333 i=2310 i=9318 TransitionNumber i=68 i=78 i=9337 LowToLowLow i=11341 i=9333 i=9335 i=2310 i=9318 TransitionNumber i=68 i=78 i=9338 HighHighToHigh i=11342 i=9329 i=9331 i=2310 i=9318 TransitionNumber i=68 i=78 i=9339 HighToHighHigh i=11343 i=9331 i=9329 i=2310 i=9318 TransitionNumber i=68 i=78 i=9340 ExclusiveLimitAlarmType i=9398 i=9455 i=2955 ActiveState i=9399 i=9455 i=8995 i=78 i=9341 Id i=68 i=78 i=9398 LimitState i=9456 i=9461 i=9398 i=9318 i=78 i=9341 CurrentState i=9457 i=2760 i=78 i=9455 Id i=68 i=78 i=9456 LastTransition i=9462 i=9465 i=2767 i=80 i=9455 Id i=68 i=78 i=9461 TransitionTime i=68 i=80 i=9461 NonExclusiveLimitAlarmType i=9963 i=10020 i=10029 i=10038 i=10047 i=2955 ActiveState i=9964 i=10020 i=10029 i=10038 i=10047 i=8995 i=78 i=9906 Id i=68 i=78 i=9963 HighHighState i=10021 i=10025 i=9963 i=8995 i=80 i=9906 Id i=68 i=78 i=10020 TransitionTime i=68 i=80 i=10020 HighState i=10030 i=10034 i=9963 i=8995 i=80 i=9906 Id i=68 i=78 i=10029 TransitionTime i=68 i=80 i=10029 LowState i=10039 i=10043 i=9963 i=8995 i=80 i=9906 Id i=68 i=78 i=10038 TransitionTime i=68 i=80 i=10038 LowLowState i=10048 i=10052 i=9963 i=8995 i=80 i=9906 Id i=68 i=78 i=10047 TransitionTime i=68 i=80 i=10047 NonExclusiveLevelAlarmType i=9906 ExclusiveLevelAlarmType i=9341 NonExclusiveDeviationAlarmType i=10522 i=9906 SetpointNode i=68 i=78 i=10368 ExclusiveDeviationAlarmType i=9905 i=9341 SetpointNode i=68 i=78 i=9764 NonExclusiveRateOfChangeAlarmType i=9906 ExclusiveRateOfChangeAlarmType i=9341 DiscreteAlarmType i=2915 OffNormalAlarmType i=11158 i=10523 NormalState i=68 i=78 i=10637 SystemOffNormalAlarmType i=10637 CertificateExpirationAlarmType i=13325 i=13326 i=13327 i=11753 ExpirationDate i=68 i=78 i=13225 CertificateType i=68 i=78 i=13225 Certificate i=68 i=78 i=13225 TripAlarmType i=10637 BaseConditionClassType i=58 ProcessConditionClassType i=11163 MaintenanceConditionClassType i=11163 SystemConditionClassType i=11163 AuditConditionEventType i=2127 AuditConditionEnableEventType i=2790 AuditConditionCommentEventType i=4170 i=11851 i=2790 EventId A globally unique identifier for the event. i=68 i=78 i=2829 Comment i=68 i=78 i=2829 AuditConditionRespondEventType i=11852 i=2790 SelectedResponse i=68 i=78 i=8927 AuditConditionAcknowledgeEventType i=8945 i=11853 i=2790 EventId A globally unique identifier for the event. i=68 i=78 i=8944 Comment i=68 i=78 i=8944 AuditConditionConfirmEventType i=8962 i=11854 i=2790 EventId A globally unique identifier for the event. i=68 i=78 i=8961 Comment i=68 i=78 i=8961 AuditConditionShelvingEventType i=11855 i=2790 ShelvingTime i=68 i=78 i=11093 RefreshStartEventType i=2130 RefreshEndEventType i=2130 RefreshRequiredEventType i=2130 HasCondition i=32 IsConditionOf python-opcua-0.90.3/schemas/Opc.Ua.NodeSet2.xml000066400000000000000000063317411310132730300211150ustar00rootroot00000000000000 i=1 i=2 i=3 i=4 i=5 i=6 i=7 i=8 i=9 i=10 i=11 i=13 i=12 i=15 i=14 i=16 i=17 i=18 i=20 i=21 i=19 i=22 i=26 i=27 i=28 i=47 i=46 i=35 i=36 i=48 i=45 i=40 i=37 i=38 i=39 Default Binary The default binary encoding for a data type. i=58 Default XML The default XML encoding for a data type. i=58 BaseDataType Describes a value that can have any valid DataType. Number Describes a value that can have any numeric DataType. i=24 Integer Describes a value that can have any integer DataType. i=26 UInteger Describes a value that can have any unsigned integer DataType. i=26 Enumeration Describes a value that is an enumerated DataType. i=24 Boolean Describes a value that is either TRUE or FALSE. i=24 SByte Describes a value that is an integer between -128 and 127. i=27 Byte Describes a value that is an integer between 0 and 255. i=28 Int16 Describes a value that is an integer between −32,768 and 32,767. i=27 UInt16 Describes a value that is an integer between 0 and 65535. i=28 Int32 Describes a value that is an integer between −2,147,483,648 and 2,147,483,647. i=27 UInt32 Describes a value that is an integer between 0 and 4,294,967,295. i=28 Int64 Describes a value that is an integer between −9,223,372,036,854,775,808 and 9,223,372,036,854,775,807. i=27 UInt64 Describes a value that is an integer between 0 and 18,446,744,073,709,551,615. i=28 Float Describes a value that is an IEEE 754-1985 single precision floating point number. i=26 Double Describes a value that is an IEEE 754-1985 double precision floating point number. i=26 String Describes a value that is a sequence of printable Unicode characters. i=24 DateTime Describes a value that is a Gregorian calender date and time. i=24 Guid Describes a value that is a 128-bit globally unique identifier. i=24 ByteString Describes a value that is a sequence of bytes. i=24 XmlElement Describes a value that is an XML element. i=24 NodeId Describes a value that is an identifier for a node within a Server address space. i=24 ExpandedNodeId Describes a value that is an absolute identifier for a node. i=24 StatusCode Describes a value that is a code representing the outcome of an operation by a Server. i=24 QualifiedName Describes a value that is a name qualified by a namespace. i=24 LocalizedText Describes a value that is human readable Unicode text with a locale identifier. i=24 Structure Describes a value that is any type of structure that can be described with a data encoding. i=24 DataValue Describes a value that is a structure containing a value, a status code and timestamps. i=24 DiagnosticInfo Describes a value that is a structure containing diagnostics associated with a StatusCode. i=24 Image Describes a value that is an image encoded as a string of bytes. i=15 Decimal128 Describes a 128-bit decimal value. i=26 References The abstract base type for all references. References NonHierarchicalReferences The abstract base type for all non-hierarchical references. i=31 NonHierarchicalReferences HierarchicalReferences The abstract base type for all hierarchical references. i=31 HierarchicalReferences HasChild The abstract base type for all non-looping hierarchical references. i=33 ChildOf Organizes The type for hierarchical references that are used to organize nodes. i=33 OrganizedBy HasEventSource The type for non-looping hierarchical references that are used to organize event sources. i=33 EventSourceOf HasModellingRule The type for references from instance declarations to modelling rule nodes. i=32 ModellingRuleOf HasEncoding The type for references from data type nodes to to data type encoding nodes. i=32 EncodingOf HasDescription The type for references from data type encoding nodes to data type description nodes. i=32 DescriptionOf HasTypeDefinition The type for references from a instance node its type defintion node. i=32 TypeDefinitionOf GeneratesEvent The type for references from a node to an event type that is raised by node. i=32 GeneratesEvent AlwaysGeneratesEvent The type for references from a node to an event type that is always raised by node. i=32 AlwaysGeneratesEvent Aggregates The type for non-looping hierarchical references that are used to aggregate nodes into complex types. i=34 AggregatedBy HasSubtype The type for non-looping hierarchical references that are used to define sub types. i=34 HasSupertype HasProperty The type for non-looping hierarchical reference from a node to its property. i=44 PropertyOf HasComponent The type for non-looping hierarchical reference from a node to its component. i=44 ComponentOf HasNotifier The type for non-looping hierarchical references that are used to indicate how events propagate from node to node. i=36 NotifierOf HasOrderedComponent The type for non-looping hierarchical reference from a node to its component when the order of references matters. i=47 OrderedComponentOf FromState The type for a reference to the state before a transition. i=32 ToTransition ToState The type for a reference to the state after a transition. i=32 FromTransition HasCause The type for a reference to a method that can cause a transition to occur. i=32 MayBeCausedBy HasEffect The type for a reference to an event that may be raised when a transition occurs. i=32 MayBeEffectedBy HasSubStateMachine The type for a reference to a substate for a state. i=32 SubStateMachineOf HasHistoricalConfiguration The type for a reference to the historical configuration for a data variable. i=44 HistoricalConfigurationOf BaseObjectType The base type for all object nodes. FolderType The type for objects that organize other nodes. i=58 BaseVariableType The abstract base type for all variable nodes. BaseDataVariableType The type for variable that represents a process value. i=62 PropertyType The type for variable that represents a property of another node. i=62 DataTypeDescriptionType The type for variable that represents the description of a data type encoding. i=104 i=105 i=63 DataTypeVersion The version number for the data type description. i=68 i=80 i=69 DictionaryFragment A fragment of a data type dictionary that defines the data type. i=68 i=80 i=69 DataTypeDictionaryType The type for variable that represents the collection of data type decriptions. i=106 i=107 i=63 DataTypeVersion The version number for the data type dictionary. i=68 i=80 i=72 NamespaceUri A URI that uniquely identifies the dictionary. i=68 i=80 i=72 DataTypeSystemType i=58 DataTypeEncodingType i=58 NamingRuleType Describes a value that specifies the significance of the BrowseName for an instance declaration. i=12169 i=29 The BrowseName must appear in all instances of the type. The BrowseName may appear in an instance of the type. The modelling rule defines a constraint and the BrowseName is not used in an instance of the type. EnumValues i=68 i=78 i=120 i=7616 1 Mandatory The BrowseName must appear in all instances of the type. i=7616 2 Optional The BrowseName may appear in an instance of the type. i=7616 3 Constraint The modelling rule defines a constraint and the BrowseName is not used in an instance of the type. ModellingRuleType The type for an object that describes how an instance declaration is used when a type is instantiated. i=111 i=58 NamingRule Specified the significances of the BrowseName when a type is instantiated. i=68 i=78 i=77 1 Mandatory Specifies that an instance with the attributes and references of the instance declaration must appear when a type is instantiated. i=112 i=77 NamingRule Specified the significances of the BrowseName when a type is instantiated. i=68 i=78 1 Optional Specifies that an instance with the attributes and references of the instance declaration may appear when a type is instantiated. i=113 i=77 NamingRule Specified the significances of the BrowseName when a type is instantiated. i=68 i=80 2 ExposesItsArray Specifies that an instance appears for each element of the containing array variable. i=114 i=77 NamingRule Specified the significances of the BrowseName when a type is instantiated. i=68 i=83 3 MandatoryShared Specifies that a reference to a shared instance must appear in when a type is instantiated. i=116 i=77 NamingRule Specified the significances of the BrowseName when a type is instantiated. i=68 i=79 1 OptionalPlaceholder Specifies that zero or more instances with the attributes and references of the instance declaration may appear when a type is instantiated. i=11509 i=77 NamingRule Specified the significances of the BrowseName when a type is instantiated. i=68 i=11508 2 MandatoryPlaceholder Specifies that one or more instances with the attributes and references of the instance declaration must appear when a type is instantiated. i=11511 i=77 NamingRule Specified the significances of the BrowseName when a type is instantiated. i=68 i=11510 1 Root The root of the server address space. i=61 Objects The browse entry point when looking for objects in the server address space. i=84 i=61 Types The browse entry point when looking for types in the server address space. i=84 i=61 Views The browse entry point when looking for views in the server address space. i=84 i=61 ObjectTypes The browse entry point when looking for object types in the server address space. i=86 i=58 i=61 VariableTypes The browse entry point when looking for variable types in the server address space. i=86 i=62 i=61 DataTypes The browse entry point when looking for data types in the server address space. i=86 i=24 i=61 ReferenceTypes The browse entry point when looking for reference types in the server address space. i=86 i=31 i=61 XML Schema A type system which uses XML schema to describe the encoding of data types. i=90 i=75 OPC Binary A type system which uses OPC binary schema to describe the encoding of data types. i=90 i=75 NodeVersion The version number of the node (used to indicate changes to references of the owning node). i=68 ViewVersion The version number of the view. i=68 Icon A small image representing the object. i=68 LocalTime The local time where the owning variable value was collected. i=68 AllowNulls Whether the value of the owning variable is allowed to be null. i=68 ValueAsText The string representation of the current value for a variable with an enumerated data type. i=68 MaxStringLength The maximum length for a string that can be stored in the owning variable. i=68 MaxByteStringLength The maximum length for a byte string that can be stored in the owning variable. i=68 MaxArrayLength The maximum length for an array that can be stored in the owning variable. i=68 EngineeringUnits The engineering units for the value of the owning variable. i=68 EnumStrings The human readable strings associated with the values of an enumerated value (when values are sequential). i=68 EnumValues The human readable strings associated with the values of an enumerated value (when values have no sequence). i=68 OptionSetValues Contains the human-readable representation for each bit of the bit mask. i=68 InputArguments The input arguments for a method. i=68 OutputArguments The output arguments for a method. i=68 ImageBMP An image encoded in BMP format. i=30 ImageGIF An image encoded in GIF format. i=30 ImageJPG An image encoded in JPEG format. i=30 ImagePNG An image encoded in PNG format. i=30 ServerType Specifies the current status and capabilities of the server. i=2005 i=2006 i=2007 i=2008 i=2742 i=12882 i=2009 i=2010 i=2011 i=2012 i=11527 i=11489 i=12871 i=12746 i=12883 i=58 ServerArray The list of server URIs used by the server. i=68 i=78 i=2004 NamespaceArray The list of namespace URIs used by the server. i=68 i=78 i=2004 ServerStatus The current status of the server. i=3074 i=3075 i=3076 i=3077 i=3084 i=3085 i=2138 i=78 i=2004 StartTime i=63 i=78 i=2007 CurrentTime i=63 i=78 i=2007 State i=63 i=78 i=2007 BuildInfo i=3078 i=3079 i=3080 i=3081 i=3082 i=3083 i=3051 i=78 i=2007 ProductUri i=63 i=78 i=3077 ManufacturerName i=63 i=78 i=3077 ProductName i=63 i=78 i=3077 SoftwareVersion i=63 i=78 i=3077 BuildNumber i=63 i=78 i=3077 BuildDate i=63 i=78 i=3077 SecondsTillShutdown i=63 i=78 i=2007 ShutdownReason i=63 i=78 i=2007 ServiceLevel A value indicating the level of service the server can provide. 255 indicates the best. i=68 i=78 i=2004 Auditing A flag indicating whether the server is currently generating audit events. i=68 i=78 i=2004 EstimatedReturnTime Indicates the time at which the Server is expected to be available in the state RUNNING. i=68 i=80 i=2004 ServerCapabilities Describes capabilities supported by the server. i=3086 i=3087 i=3088 i=3089 i=3090 i=3091 i=3092 i=3093 i=3094 i=2013 i=78 i=2004 ServerProfileArray A list of profiles supported by the server. i=68 i=78 i=2009 LocaleIdArray A list of locales supported by the server. i=68 i=78 i=2009 MinSupportedSampleRate The minimum sampling interval supported by the server. i=68 i=78 i=2009 MaxBrowseContinuationPoints The maximum number of continuation points for Browse operations per session. i=68 i=78 i=2009 MaxQueryContinuationPoints The maximum number of continuation points for Query operations per session. i=68 i=78 i=2009 MaxHistoryContinuationPoints The maximum number of continuation points for ReadHistory operations per session. i=68 i=78 i=2009 SoftwareCertificates The software certificates owned by the server. i=68 i=78 i=2009 ModellingRules A folder for the modelling rules supported by the server. i=61 i=78 i=2009 AggregateFunctions A folder for the real time aggregates supported by the server. i=61 i=78 i=2009 ServerDiagnostics Reports diagnostics about the server. i=3095 i=3110 i=3111 i=3114 i=2020 i=78 i=2004 ServerDiagnosticsSummary A summary of server level diagnostics. i=3096 i=3097 i=3098 i=3099 i=3100 i=3101 i=3102 i=3104 i=3105 i=3106 i=3107 i=3108 i=2150 i=78 i=2010 ServerViewCount i=63 i=78 i=3095 CurrentSessionCount i=63 i=78 i=3095 CumulatedSessionCount i=63 i=78 i=3095 SecurityRejectedSessionCount i=63 i=78 i=3095 RejectedSessionCount i=63 i=78 i=3095 SessionTimeoutCount i=63 i=78 i=3095 SessionAbortCount i=63 i=78 i=3095 PublishingIntervalCount i=63 i=78 i=3095 CurrentSubscriptionCount i=63 i=78 i=3095 CumulatedSubscriptionCount i=63 i=78 i=3095 SecurityRejectedRequestsCount i=63 i=78 i=3095 RejectedRequestsCount i=63 i=78 i=3095 SubscriptionDiagnosticsArray A list of diagnostics for each active subscription. i=2171 i=78 i=2010 SessionsDiagnosticsSummary A summary of session level diagnostics. i=3112 i=3113 i=2026 i=78 i=2010 SessionDiagnosticsArray A list of diagnostics for each active session. i=2196 i=78 i=3111 SessionSecurityDiagnosticsArray A list of security related diagnostics for each active session. i=2243 i=78 i=3111 EnabledFlag If TRUE the diagnostics collection is enabled. i=68 i=78 i=2010 VendorServerInfo Server information provided by the vendor. i=2033 i=78 i=2004 ServerRedundancy Describes the redundancy capabilities of the server. i=3115 i=2034 i=78 i=2004 RedundancySupport Indicates what style of redundancy is supported by the server. i=68 i=78 i=2012 Namespaces Describes the namespaces supported by the server. i=11645 i=80 i=2004 GetMonitoredItems i=11490 i=11491 i=80 i=2004 InputArguments i=68 i=78 i=11489 i=297 SubscriptionId i=7 -1 OutputArguments i=68 i=78 i=11489 i=297 ServerHandles i=7 1 i=297 ClientHandles i=7 1 ResendData i=12872 i=80 i=2004 InputArguments i=68 i=78 i=12871 i=297 SubscriptionId i=7 -1 SetSubscriptionDurable i=12747 i=12748 i=80 i=2004 InputArguments i=68 i=78 i=12746 i=297 SubscriptionId i=7 -1 i=297 LifetimeInHours i=7 -1 OutputArguments i=68 i=78 i=12746 i=297 RevisedLifetimeInHours i=7 -1 RequestServerStateChange i=12884 i=80 i=2004 InputArguments i=68 i=78 i=12883 i=297 State i=852 -1 i=297 EstimatedReturnTime i=13 -1 i=297 SecondsTillShutdown i=7 -1 i=297 Reason i=21 -1 i=297 Restart i=1 -1 ServerCapabilitiesType Describes the capabilities supported by the server. i=2014 i=2016 i=2017 i=2732 i=2733 i=2734 i=3049 i=11549 i=11550 i=12910 i=11551 i=2019 i=2754 i=11562 i=58 ServerProfileArray A list of profiles supported by the server. i=68 i=78 i=2013 LocaleIdArray A list of locales supported by the server. i=68 i=78 i=2013 MinSupportedSampleRate The minimum sampling interval supported by the server. i=68 i=78 i=2013 MaxBrowseContinuationPoints The maximum number of continuation points for Browse operations per session. i=68 i=78 i=2013 MaxQueryContinuationPoints The maximum number of continuation points for Query operations per session. i=68 i=78 i=2013 MaxHistoryContinuationPoints The maximum number of continuation points for ReadHistory operations per session. i=68 i=78 i=2013 SoftwareCertificates The software certificates owned by the server. i=68 i=78 i=2013 MaxArrayLength The maximum length for an array value supported by the server. i=68 i=80 i=2013 MaxStringLength The maximum length for a string value supported by the server. i=68 i=80 i=2013 MaxByteStringLength The maximum length for a byte string value supported by the server. i=68 i=80 i=2013 OperationLimits Defines the limits supported by the server for different operations. i=11564 i=80 i=2013 ModellingRules A folder for the modelling rules supported by the server. i=61 i=78 i=2013 AggregateFunctions A folder for the real time aggregates supported by the server. i=61 i=78 i=2013 <VendorCapability> i=2137 i=11508 i=2013 ServerDiagnosticsType The diagnostics information for a server. i=2021 i=2022 i=2023 i=2744 i=2025 i=58 ServerDiagnosticsSummary A summary of server level diagnostics. i=3116 i=3117 i=3118 i=3119 i=3120 i=3121 i=3122 i=3124 i=3125 i=3126 i=3127 i=3128 i=2150 i=78 i=2020 ServerViewCount i=63 i=78 i=2021 CurrentSessionCount i=63 i=78 i=2021 CumulatedSessionCount i=63 i=78 i=2021 SecurityRejectedSessionCount i=63 i=78 i=2021 RejectedSessionCount i=63 i=78 i=2021 SessionTimeoutCount i=63 i=78 i=2021 SessionAbortCount i=63 i=78 i=2021 PublishingIntervalCount i=63 i=78 i=2021 CurrentSubscriptionCount i=63 i=78 i=2021 CumulatedSubscriptionCount i=63 i=78 i=2021 SecurityRejectedRequestsCount i=63 i=78 i=2021 RejectedRequestsCount i=63 i=78 i=2021 SamplingIntervalDiagnosticsArray A list of diagnostics for each sampling interval supported by the server. i=2164 i=80 i=2020 SubscriptionDiagnosticsArray A list of diagnostics for each active subscription. i=2171 i=78 i=2020 SessionsDiagnosticsSummary A summary of session level diagnostics. i=3129 i=3130 i=2026 i=78 i=2020 SessionDiagnosticsArray A list of diagnostics for each active session. i=2196 i=78 i=2744 SessionSecurityDiagnosticsArray A list of security related diagnostics for each active session. i=2243 i=78 i=2744 EnabledFlag If TRUE the diagnostics collection is enabled. i=68 i=78 i=2020 SessionsDiagnosticsSummaryType Provides a summary of session level diagnostics. i=2027 i=2028 i=12097 i=58 SessionDiagnosticsArray A list of diagnostics for each active session. i=2196 i=78 i=2026 SessionSecurityDiagnosticsArray A list of security related diagnostics for each active session. i=2243 i=78 i=2026 <SessionPlaceholder> i=12098 i=12142 i=12152 i=2029 i=11508 i=2026 SessionDiagnostics Diagnostics information for an active session. i=12099 i=12100 i=12101 i=12102 i=12103 i=12104 i=12105 i=12106 i=12107 i=12108 i=12109 i=12110 i=12111 i=12112 i=12113 i=12114 i=12115 i=12116 i=12117 i=12118 i=12119 i=12120 i=12121 i=12122 i=12123 i=12124 i=12125 i=12126 i=12127 i=12128 i=12129 i=12130 i=12131 i=12132 i=12133 i=12134 i=12135 i=12136 i=12137 i=12138 i=12139 i=12140 i=12141 i=2197 i=78 i=12097 SessionId i=63 i=78 i=12098 SessionName i=63 i=78 i=12098 ClientDescription i=63 i=78 i=12098 ServerUri i=63 i=78 i=12098 EndpointUrl i=63 i=78 i=12098 LocaleIds i=63 i=78 i=12098 ActualSessionTimeout i=63 i=78 i=12098 MaxResponseMessageSize i=63 i=78 i=12098 ClientConnectionTime i=63 i=78 i=12098 ClientLastContactTime i=63 i=78 i=12098 CurrentSubscriptionsCount i=63 i=78 i=12098 CurrentMonitoredItemsCount i=63 i=78 i=12098 CurrentPublishRequestsInQueue i=63 i=78 i=12098 TotalRequestCount i=63 i=78 i=12098 UnauthorizedRequestCount i=63 i=78 i=12098 ReadCount i=63 i=78 i=12098 HistoryReadCount i=63 i=78 i=12098 WriteCount i=63 i=78 i=12098 HistoryUpdateCount i=63 i=78 i=12098 CallCount i=63 i=78 i=12098 CreateMonitoredItemsCount i=63 i=78 i=12098 ModifyMonitoredItemsCount i=63 i=78 i=12098 SetMonitoringModeCount i=63 i=78 i=12098 SetTriggeringCount i=63 i=78 i=12098 DeleteMonitoredItemsCount i=63 i=78 i=12098 CreateSubscriptionCount i=63 i=78 i=12098 ModifySubscriptionCount i=63 i=78 i=12098 SetPublishingModeCount i=63 i=78 i=12098 PublishCount i=63 i=78 i=12098 RepublishCount i=63 i=78 i=12098 TransferSubscriptionsCount i=63 i=78 i=12098 DeleteSubscriptionsCount i=63 i=78 i=12098 AddNodesCount i=63 i=78 i=12098 AddReferencesCount i=63 i=78 i=12098 DeleteNodesCount i=63 i=78 i=12098 DeleteReferencesCount i=63 i=78 i=12098 BrowseCount i=63 i=78 i=12098 BrowseNextCount i=63 i=78 i=12098 TranslateBrowsePathsToNodeIdsCount i=63 i=78 i=12098 QueryFirstCount i=63 i=78 i=12098 QueryNextCount i=63 i=78 i=12098 RegisterNodesCount i=63 i=78 i=12098 UnregisterNodesCount i=63 i=78 i=12098 SessionSecurityDiagnostics Security related diagnostics information for an active session. i=12143 i=12144 i=12145 i=12146 i=12147 i=12148 i=12149 i=12150 i=12151 i=2244 i=78 i=12097 SessionId i=63 i=78 i=12142 ClientUserIdOfSession i=63 i=78 i=12142 ClientUserIdHistory i=63 i=78 i=12142 AuthenticationMechanism i=63 i=78 i=12142 Encoding i=63 i=78 i=12142 TransportProtocol i=63 i=78 i=12142 SecurityMode i=63 i=78 i=12142 SecurityPolicyUri i=63 i=78 i=12142 ClientCertificate i=63 i=78 i=12142 SubscriptionDiagnosticsArray A list of diagnostics for each subscription owned by the session. i=2171 i=78 i=12097 SessionDiagnosticsObjectType A container for session level diagnostics information. i=2030 i=2031 i=2032 i=58 SessionDiagnostics Diagnostics information for an active session. i=3131 i=3132 i=3133 i=3134 i=3135 i=3136 i=3137 i=3138 i=3139 i=3140 i=3141 i=3142 i=3143 i=8898 i=11891 i=3151 i=3152 i=3153 i=3154 i=3155 i=3156 i=3157 i=3158 i=3159 i=3160 i=3161 i=3162 i=3163 i=3164 i=3165 i=3166 i=3167 i=3168 i=3169 i=3170 i=3171 i=3172 i=3173 i=3174 i=3175 i=3176 i=3177 i=3178 i=2197 i=78 i=2029 SessionId i=63 i=78 i=2030 SessionName i=63 i=78 i=2030 ClientDescription i=63 i=78 i=2030 ServerUri i=63 i=78 i=2030 EndpointUrl i=63 i=78 i=2030 LocaleIds i=63 i=78 i=2030 ActualSessionTimeout i=63 i=78 i=2030 MaxResponseMessageSize i=63 i=78 i=2030 ClientConnectionTime i=63 i=78 i=2030 ClientLastContactTime i=63 i=78 i=2030 CurrentSubscriptionsCount i=63 i=78 i=2030 CurrentMonitoredItemsCount i=63 i=78 i=2030 CurrentPublishRequestsInQueue i=63 i=78 i=2030 TotalRequestCount i=63 i=78 i=2030 UnauthorizedRequestCount i=63 i=78 i=2030 ReadCount i=63 i=78 i=2030 HistoryReadCount i=63 i=78 i=2030 WriteCount i=63 i=78 i=2030 HistoryUpdateCount i=63 i=78 i=2030 CallCount i=63 i=78 i=2030 CreateMonitoredItemsCount i=63 i=78 i=2030 ModifyMonitoredItemsCount i=63 i=78 i=2030 SetMonitoringModeCount i=63 i=78 i=2030 SetTriggeringCount i=63 i=78 i=2030 DeleteMonitoredItemsCount i=63 i=78 i=2030 CreateSubscriptionCount i=63 i=78 i=2030 ModifySubscriptionCount i=63 i=78 i=2030 SetPublishingModeCount i=63 i=78 i=2030 PublishCount i=63 i=78 i=2030 RepublishCount i=63 i=78 i=2030 TransferSubscriptionsCount i=63 i=78 i=2030 DeleteSubscriptionsCount i=63 i=78 i=2030 AddNodesCount i=63 i=78 i=2030 AddReferencesCount i=63 i=78 i=2030 DeleteNodesCount i=63 i=78 i=2030 DeleteReferencesCount i=63 i=78 i=2030 BrowseCount i=63 i=78 i=2030 BrowseNextCount i=63 i=78 i=2030 TranslateBrowsePathsToNodeIdsCount i=63 i=78 i=2030 QueryFirstCount i=63 i=78 i=2030 QueryNextCount i=63 i=78 i=2030 RegisterNodesCount i=63 i=78 i=2030 UnregisterNodesCount i=63 i=78 i=2030 SessionSecurityDiagnostics Security related diagnostics information for an active session. i=3179 i=3180 i=3181 i=3182 i=3183 i=3184 i=3185 i=3186 i=3187 i=2244 i=78 i=2029 SessionId i=63 i=78 i=2031 ClientUserIdOfSession i=63 i=78 i=2031 ClientUserIdHistory i=63 i=78 i=2031 AuthenticationMechanism i=63 i=78 i=2031 Encoding i=63 i=78 i=2031 TransportProtocol i=63 i=78 i=2031 SecurityMode i=63 i=78 i=2031 SecurityPolicyUri i=63 i=78 i=2031 ClientCertificate i=63 i=78 i=2031 SubscriptionDiagnosticsArray A list of diagnostics for each subscription owned by the session. i=2171 i=78 i=2029 VendorServerInfoType A base type for vendor specific server information. i=58 ServerRedundancyType A base type for an object that describe how a server supports redundancy. i=2035 i=58 RedundancySupport Indicates what style of redundancy is supported by the server. i=68 i=78 i=2034 TransparentRedundancyType Identifies the capabilties of server that supports transparent redundancy. i=2037 i=2038 i=2034 CurrentServerId The ID of the server that is currently in use. i=68 i=78 i=2036 RedundantServerArray A list of servers in the same redundant set. i=68 i=78 i=2036 NonTransparentRedundancyType Identifies the capabilties of server that supports non-transparent redundancy. i=2040 i=2034 ServerUriArray A list of servers in the same redundant set. i=68 i=78 i=2039 NonTransparentNetworkRedundancyType i=11948 i=2039 ServerNetworkGroups i=68 i=78 i=11945 OperationLimitsType Identifies the operation limits imposed by the server. i=11565 i=12161 i=12162 i=11567 i=12163 i=12164 i=11569 i=11570 i=11571 i=11572 i=11573 i=11574 i=58 MaxNodesPerRead The maximum number of operations in a single Read request. i=68 i=80 i=11564 MaxNodesPerHistoryReadData The maximum number of operations in a single data HistoryRead request. i=68 i=80 i=11564 MaxNodesPerHistoryReadEvents The maximum number of operations in a single event HistoryRead request. i=68 i=80 i=11564 MaxNodesPerWrite The maximum number of operations in a single Write request. i=68 i=80 i=11564 MaxNodesPerHistoryUpdateData The maximum number of operations in a single data HistoryUpdate request. i=68 i=80 i=11564 MaxNodesPerHistoryUpdateEvents The maximum number of operations in a single event HistoryUpdate request. i=68 i=80 i=11564 MaxNodesPerMethodCall The maximum number of operations in a single Call request. i=68 i=80 i=11564 MaxNodesPerBrowse The maximum number of operations in a single Browse request. i=68 i=80 i=11564 MaxNodesPerRegisterNodes The maximum number of operations in a single RegisterNodes request. i=68 i=80 i=11564 MaxNodesPerTranslateBrowsePathsToNodeIds The maximum number of operations in a single TranslateBrowsePathsToNodeIds request. i=68 i=80 i=11564 MaxNodesPerNodeManagement The maximum number of operations in a single AddNodes, AddReferences, DeleteNodes or DeleteReferences request. i=68 i=80 i=11564 MaxMonitoredItemsPerCall The maximum number of operations in a single MonitoredItem related request. i=68 i=80 i=11564 FileType An object that represents a file that can be accessed via the server. i=11576 i=12686 i=12687 i=11579 i=13341 i=11580 i=11583 i=11585 i=11588 i=11590 i=11593 i=58 Size The size of the file in bytes. i=68 i=78 i=11575 Writable Whether the file is writable. i=68 i=78 i=11575 UserWritable Whether the file is writable by the current user. i=68 i=78 i=11575 OpenCount The current number of open file handles. i=68 i=78 i=11575 MimeType The content of the file. i=68 i=80 i=11575 Open i=11581 i=11582 i=78 i=11575 InputArguments i=68 i=78 i=11580 i=297 Mode i=3 -1 OutputArguments i=68 i=78 i=11580 i=297 FileHandle i=7 -1 Close i=11584 i=78 i=11575 InputArguments i=68 i=78 i=11583 i=297 FileHandle i=7 -1 Read i=11586 i=11587 i=78 i=11575 InputArguments i=68 i=78 i=11585 i=297 FileHandle i=7 -1 i=297 Length i=6 -1 OutputArguments i=68 i=78 i=11585 i=297 Data i=15 -1 Write i=11589 i=78 i=11575 InputArguments i=68 i=78 i=11588 i=297 FileHandle i=7 -1 i=297 Data i=15 -1 GetPosition i=11591 i=11592 i=78 i=11575 InputArguments i=68 i=78 i=11590 i=297 FileHandle i=7 -1 OutputArguments i=68 i=78 i=11590 i=297 Position i=9 -1 SetPosition i=11594 i=78 i=11575 InputArguments i=68 i=78 i=11593 i=297 FileHandle i=7 -1 i=297 Position i=9 -1 FileDirectoryType i=13354 i=13366 i=13387 i=13390 i=13393 i=13395 i=61 <FileDirectoryName> i=13355 i=13358 i=13361 i=13363 i=13353 i=11508 i=13353 CreateDirectory i=13356 i=13357 i=78 i=13354 InputArguments i=68 i=78 i=13355 i=297 DirectoryName i=12 -1 OutputArguments i=68 i=78 i=13355 i=297 DirectoryNodeId i=17 -1 CreateFile i=13359 i=13360 i=78 i=13354 InputArguments i=68 i=78 i=13358 i=297 FileName i=12 -1 i=297 RequestFileOpen i=1 -1 OutputArguments i=68 i=78 i=13358 i=297 FileNodeId i=17 -1 i=297 FileHandle i=7 -1 Delete i=13362 i=78 i=13354 InputArguments i=68 i=78 i=13361 i=297 ObjectToDelete i=17 -1 MoveOrCopy i=13364 i=13365 i=78 i=13354 InputArguments i=68 i=78 i=13363 i=297 ObjectToMoveOrCopy i=17 -1 i=297 TargetDirectory i=17 -1 i=297 CreateCopy i=1 -1 i=297 NewName i=12 -1 OutputArguments i=68 i=78 i=13363 i=297 NewNodeId i=17 -1 <FileName> i=13367 i=13368 i=13369 i=13370 i=13372 i=13375 i=13377 i=13380 i=13382 i=13385 i=11575 i=11508 i=13353 Size The size of the file in bytes. i=68 i=78 i=13366 Writable Whether the file is writable. i=68 i=78 i=13366 UserWritable Whether the file is writable by the current user. i=68 i=78 i=13366 OpenCount The current number of open file handles. i=68 i=78 i=13366 Open i=13373 i=13374 i=78 i=13366 InputArguments i=68 i=78 i=13372 i=297 Mode i=3 -1 OutputArguments i=68 i=78 i=13372 i=297 FileHandle i=7 -1 Close i=13376 i=78 i=13366 InputArguments i=68 i=78 i=13375 i=297 FileHandle i=7 -1 Read i=13378 i=13379 i=78 i=13366 InputArguments i=68 i=78 i=13377 i=297 FileHandle i=7 -1 i=297 Length i=6 -1 OutputArguments i=68 i=78 i=13377 i=297 Data i=15 -1 Write i=13381 i=78 i=13366 InputArguments i=68 i=78 i=13380 i=297 FileHandle i=7 -1 i=297 Data i=15 -1 GetPosition i=13383 i=13384 i=78 i=13366 InputArguments i=68 i=78 i=13382 i=297 FileHandle i=7 -1 OutputArguments i=68 i=78 i=13382 i=297 Position i=9 -1 SetPosition i=13386 i=78 i=13366 InputArguments i=68 i=78 i=13385 i=297 FileHandle i=7 -1 i=297 Position i=9 -1 CreateDirectory i=13388 i=13389 i=78 i=13353 InputArguments i=68 i=78 i=13387 i=297 DirectoryName i=12 -1 OutputArguments i=68 i=78 i=13387 i=297 DirectoryNodeId i=17 -1 CreateFile i=13391 i=13392 i=78 i=13353 InputArguments i=68 i=78 i=13390 i=297 FileName i=12 -1 i=297 RequestFileOpen i=1 -1 OutputArguments i=68 i=78 i=13390 i=297 FileNodeId i=17 -1 i=297 FileHandle i=7 -1 Delete i=13394 i=78 i=13353 InputArguments i=68 i=78 i=13393 i=297 ObjectToDelete i=17 -1 MoveOrCopy i=13396 i=13397 i=78 i=13353 InputArguments i=68 i=78 i=13395 i=297 ObjectToMoveOrCopy i=17 -1 i=297 TargetDirectory i=17 -1 i=297 CreateCopy i=1 -1 i=297 NewName i=12 -1 OutputArguments i=68 i=78 i=13395 i=297 NewNodeId i=17 -1 AddressSpaceFileType A file used to store a namespace exported from the server. i=11615 i=11575 ExportNamespace Updates the file by exporting the server namespace. i=80 i=11595 NamespaceMetadataType Provides the metadata for a namespace used by the server. i=11617 i=11618 i=11619 i=11620 i=11621 i=11622 i=11623 i=11624 i=58 NamespaceUri The URI of the namespace. i=68 i=78 i=11616 NamespaceVersion The human readable string representing version of the namespace. i=68 i=78 i=11616 NamespacePublicationDate The publication date for the namespace. i=68 i=78 i=11616 IsNamespaceSubset If TRUE then the server only supports a subset of the namespace. i=68 i=78 i=11616 StaticNodeIdIdentifierTypes A list of IdTypes for nodes which are the same in every server that exposes them. i=68 i=78 i=11616 StaticNumericNodeIdRange A list of ranges for numeric node ids which are the same in every server that exposes them. i=68 i=78 i=11616 StaticStringNodeIdPattern A regular expression which matches string node ids are the same in every server that exposes them. i=68 i=78 i=11616 NamespaceFile A file containing the nodes of the namespace. i=11625 i=12690 i=12691 i=11628 i=11629 i=11632 i=11634 i=11637 i=11639 i=11642 i=11595 i=80 i=11616 Size The size of the file in bytes. i=68 i=78 i=11624 Writable Whether the file is writable. i=68 i=78 i=11624 UserWritable Whether the file is writable by the current user. i=68 i=78 i=11624 OpenCount The current number of open file handles. i=68 i=78 i=11624 Open i=11630 i=11631 i=78 i=11624 InputArguments i=68 i=78 i=11629 i=297 Mode i=3 -1 OutputArguments i=68 i=78 i=11629 i=297 FileHandle i=7 -1 Close i=11633 i=78 i=11624 InputArguments i=68 i=78 i=11632 i=297 FileHandle i=7 -1 Read i=11635 i=11636 i=78 i=11624 InputArguments i=68 i=78 i=11634 i=297 FileHandle i=7 -1 i=297 Length i=6 -1 OutputArguments i=68 i=78 i=11634 i=297 Data i=15 -1 Write i=11638 i=78 i=11624 InputArguments i=68 i=78 i=11637 i=297 FileHandle i=7 -1 i=297 Data i=15 -1 GetPosition i=11640 i=11641 i=78 i=11624 InputArguments i=68 i=78 i=11639 i=297 FileHandle i=7 -1 OutputArguments i=68 i=78 i=11639 i=297 Position i=9 -1 SetPosition i=11643 i=78 i=11624 InputArguments i=68 i=78 i=11642 i=297 FileHandle i=7 -1 i=297 Position i=9 -1 NamespacesType A container for the namespace metadata provided by the server. i=11646 i=11675 i=58 <NamespaceIdentifier> i=11647 i=11648 i=11649 i=11650 i=11651 i=11652 i=11653 i=11616 i=11508 i=11645 NamespaceUri The URI of the namespace. i=68 i=78 i=11646 NamespaceVersion The human readable string representing version of the namespace. i=68 i=78 i=11646 NamespacePublicationDate The publication date for the namespace. i=68 i=78 i=11646 IsNamespaceSubset If TRUE then the server only supports a subset of the namespace. i=68 i=78 i=11646 StaticNodeIdIdentifierTypes A list of IdTypes for nodes which are the same in every server that exposes them. i=68 i=78 i=11646 StaticNumericNodeIdRange A list of ranges for numeric node ids which are the same in every server that exposes them. i=68 i=78 i=11646 StaticStringNodeIdPattern A regular expression which matches string node ids are the same in every server that exposes them. i=68 i=78 i=11646 AddressSpaceFile A file containing the nodes of the namespace. i=11676 i=12694 i=12695 i=11679 i=11680 i=11683 i=11685 i=11688 i=11690 i=11693 i=11595 i=80 i=11645 Size The size of the file in bytes. i=68 i=78 i=11675 Writable Whether the file is writable. i=68 i=78 i=11675 UserWritable Whether the file is writable by the current user. i=68 i=78 i=11675 OpenCount The current number of open file handles. i=68 i=78 i=11675 Open i=11681 i=11682 i=78 i=11675 InputArguments i=68 i=78 i=11680 i=297 Mode i=3 -1 OutputArguments i=68 i=78 i=11680 i=297 FileHandle i=7 -1 Close i=11684 i=78 i=11675 InputArguments i=68 i=78 i=11683 i=297 FileHandle i=7 -1 Read i=11686 i=11687 i=78 i=11675 InputArguments i=68 i=78 i=11685 i=297 FileHandle i=7 -1 i=297 Length i=6 -1 OutputArguments i=68 i=78 i=11685 i=297 Data i=15 -1 Write i=11689 i=78 i=11675 InputArguments i=68 i=78 i=11688 i=297 FileHandle i=7 -1 i=297 Data i=15 -1 GetPosition i=11691 i=11692 i=78 i=11675 InputArguments i=68 i=78 i=11690 i=297 FileHandle i=7 -1 OutputArguments i=68 i=78 i=11690 i=297 Position i=9 -1 SetPosition i=11694 i=78 i=11675 InputArguments i=68 i=78 i=11693 i=297 FileHandle i=7 -1 i=297 Position i=9 -1 BaseEventType The base type for all events. i=2042 i=2043 i=2044 i=2045 i=2046 i=2047 i=3190 i=2050 i=2051 i=58 EventId A globally unique identifier for the event. i=68 i=78 i=2041 EventType The identifier for the event type. i=68 i=78 i=2041 SourceNode The source of the event. i=68 i=78 i=2041 SourceName A description of the source of the event. i=68 i=78 i=2041 Time When the event occurred. i=68 i=78 i=2041 ReceiveTime When the server received the event from the underlying system. i=68 i=78 i=2041 LocalTime Information about the local time where the event originated. i=68 i=78 i=2041 Message A localized description of the event. i=68 i=78 i=2041 Severity Indicates how urgent an event is. i=68 i=78 i=2041 AuditEventType A base type for events used to track client initiated changes to the server state. i=2053 i=2054 i=2055 i=2056 i=2057 i=2041 ActionTimeStamp When the action triggering the event occurred. i=68 i=78 i=2052 Status If TRUE the action was performed. If FALSE the action failed and the server state did not change. i=68 i=78 i=2052 ServerId The unique identifier for the server generating the event. i=68 i=78 i=2052 ClientAuditEntryId The log entry id provided in the request that initiated the action. i=68 i=78 i=2052 ClientUserId The user identity associated with the session that initiated the action. i=68 i=78 i=2052 AuditSecurityEventType A base type for events used to track security related changes. i=2052 AuditChannelEventType A base type for events used to track related changes to a secure channel. i=2745 i=2058 SecureChannelId The identifier for the secure channel that was changed. i=68 i=78 i=2059 AuditOpenSecureChannelEventType An event that is raised when a secure channel is opened. i=2061 i=2746 i=2062 i=2063 i=2065 i=2066 i=2059 ClientCertificate The certificate provided by the client. i=68 i=78 i=2060 ClientCertificateThumbprint The thumbprint for certificate provided by the client. i=68 i=78 i=2060 RequestType The type of request (NEW or RENEW). i=68 i=78 i=2060 SecurityPolicyUri The security policy used by the channel. i=68 i=78 i=2060 SecurityMode The security mode used by the channel. i=68 i=78 i=2060 RequestedLifetime The lifetime of the channel requested by the client. i=68 i=78 i=2060 AuditSessionEventType A base type for events used to track related changes to a session. i=2070 i=2058 SessionId The unique identifier for the session,. i=68 i=78 i=2069 AuditCreateSessionEventType An event that is raised when a session is created. i=2072 i=2073 i=2747 i=2074 i=2069 SecureChannelId The secure channel associated with the session. i=68 i=78 i=2071 ClientCertificate The certificate provided by the client. i=68 i=78 i=2071 ClientCertificateThumbprint The thumbprint of the certificate provided by the client. i=68 i=78 i=2071 RevisedSessionTimeout The timeout for the session. i=68 i=78 i=2071 AuditUrlMismatchEventType i=2749 i=2071 EndpointUrl i=68 i=78 i=2748 AuditActivateSessionEventType i=2076 i=2077 i=11485 i=2069 ClientSoftwareCertificates i=68 i=78 i=2075 UserIdentityToken i=68 i=78 i=2075 SecureChannelId i=68 i=78 i=2075 AuditCancelEventType i=2079 i=2069 RequestHandle i=68 i=78 i=2078 AuditCertificateEventType i=2081 i=2058 Certificate i=68 i=78 i=2080 AuditCertificateDataMismatchEventType i=2083 i=2084 i=2080 InvalidHostname i=68 i=78 i=2082 InvalidUri i=68 i=78 i=2082 AuditCertificateExpiredEventType i=2080 AuditCertificateInvalidEventType i=2080 AuditCertificateUntrustedEventType i=2080 AuditCertificateRevokedEventType i=2080 AuditCertificateMismatchEventType i=2080 AuditNodeManagementEventType i=2052 AuditAddNodesEventType i=2092 i=2090 NodesToAdd i=68 i=78 i=2091 AuditDeleteNodesEventType i=2094 i=2090 NodesToDelete i=68 i=78 i=2093 AuditAddReferencesEventType i=2096 i=2090 ReferencesToAdd i=68 i=78 i=2095 AuditDeleteReferencesEventType i=2098 i=2090 ReferencesToDelete i=68 i=78 i=2097 AuditUpdateEventType i=2052 AuditWriteUpdateEventType i=2750 i=2101 i=2102 i=2103 i=2099 AttributeId i=68 i=78 i=2100 IndexRange i=68 i=78 i=2100 OldValue i=68 i=78 i=2100 NewValue i=68 i=78 i=2100 AuditHistoryUpdateEventType i=2751 i=2099 ParameterDataTypeId i=68 i=78 i=2104 AuditUpdateMethodEventType i=2128 i=2129 i=2052 MethodId i=68 i=78 i=2127 InputArguments i=68 i=78 i=2127 SystemEventType i=2041 DeviceFailureEventType i=2130 SystemStatusChangeEventType i=11696 i=2130 SystemState i=68 i=78 i=11446 BaseModelChangeEventType i=2041 GeneralModelChangeEventType i=2134 i=2132 Changes i=68 i=78 i=2133 SemanticChangeEventType i=2739 i=2132 Changes i=68 i=78 i=2738 EventQueueOverflowEventType i=2041 ProgressEventType i=12502 i=12503 i=2041 Context i=68 i=78 i=11436 Progress i=68 i=78 i=11436 AggregateFunctionType i=58 ServerVendorCapabilityType i=63 ServerStatusType i=2139 i=2140 i=2141 i=2142 i=2752 i=2753 i=63 StartTime i=63 i=78 i=2138 CurrentTime i=63 i=78 i=2138 State i=63 i=78 i=2138 BuildInfo i=3698 i=3699 i=3700 i=3701 i=3702 i=3703 i=3051 i=78 i=2138 ProductUri i=63 i=78 i=2142 ManufacturerName i=63 i=78 i=2142 ProductName i=63 i=78 i=2142 SoftwareVersion i=63 i=78 i=2142 BuildNumber i=63 i=78 i=2142 BuildDate i=63 i=78 i=2142 SecondsTillShutdown i=63 i=78 i=2138 ShutdownReason i=63 i=78 i=2138 BuildInfoType i=3052 i=3053 i=3054 i=3055 i=3056 i=3057 i=63 ProductUri i=63 i=78 i=3051 ManufacturerName i=63 i=78 i=3051 ProductName i=63 i=78 i=3051 SoftwareVersion i=63 i=78 i=3051 BuildNumber i=63 i=78 i=3051 BuildDate i=63 i=78 i=3051 ServerDiagnosticsSummaryType i=2151 i=2152 i=2153 i=2154 i=2155 i=2156 i=2157 i=2159 i=2160 i=2161 i=2162 i=2163 i=63 ServerViewCount i=63 i=78 i=2150 CurrentSessionCount i=63 i=78 i=2150 CumulatedSessionCount i=63 i=78 i=2150 SecurityRejectedSessionCount i=63 i=78 i=2150 RejectedSessionCount i=63 i=78 i=2150 SessionTimeoutCount i=63 i=78 i=2150 SessionAbortCount i=63 i=78 i=2150 PublishingIntervalCount i=63 i=78 i=2150 CurrentSubscriptionCount i=63 i=78 i=2150 CumulatedSubscriptionCount i=63 i=78 i=2150 SecurityRejectedRequestsCount i=63 i=78 i=2150 RejectedRequestsCount i=63 i=78 i=2150 SamplingIntervalDiagnosticsArrayType i=12779 i=63 SamplingIntervalDiagnostics i=12780 i=12781 i=12782 i=12783 i=2165 i=83 i=2164 SamplingInterval i=63 i=78 i=12779 SampledMonitoredItemsCount i=63 i=78 i=12779 MaxSampledMonitoredItemsCount i=63 i=78 i=12779 DisabledMonitoredItemsSamplingCount i=63 i=78 i=12779 SamplingIntervalDiagnosticsType i=2166 i=11697 i=11698 i=11699 i=63 SamplingInterval i=63 i=78 i=2165 SampledMonitoredItemsCount i=63 i=78 i=2165 MaxSampledMonitoredItemsCount i=63 i=78 i=2165 DisabledMonitoredItemsSamplingCount i=63 i=78 i=2165 SubscriptionDiagnosticsArrayType i=12784 i=63 SubscriptionDiagnostics i=12785 i=12786 i=12787 i=12788 i=12789 i=12790 i=12791 i=12792 i=12793 i=12794 i=12795 i=12796 i=12797 i=12798 i=12799 i=12800 i=12801 i=12802 i=12803 i=12804 i=12805 i=12806 i=12807 i=12808 i=12809 i=12810 i=12811 i=12812 i=12813 i=12814 i=12815 i=2172 i=83 i=2171 SessionId i=63 i=78 i=12784 SubscriptionId i=63 i=78 i=12784 Priority i=63 i=78 i=12784 PublishingInterval i=63 i=78 i=12784 MaxKeepAliveCount i=63 i=78 i=12784 MaxLifetimeCount i=63 i=78 i=12784 MaxNotificationsPerPublish i=63 i=78 i=12784 PublishingEnabled i=63 i=78 i=12784 ModifyCount i=63 i=78 i=12784 EnableCount i=63 i=78 i=12784 DisableCount i=63 i=78 i=12784 RepublishRequestCount i=63 i=78 i=12784 RepublishMessageRequestCount i=63 i=78 i=12784 RepublishMessageCount i=63 i=78 i=12784 TransferRequestCount i=63 i=78 i=12784 TransferredToAltClientCount i=63 i=78 i=12784 TransferredToSameClientCount i=63 i=78 i=12784 PublishRequestCount i=63 i=78 i=12784 DataChangeNotificationsCount i=63 i=78 i=12784 EventNotificationsCount i=63 i=78 i=12784 NotificationsCount i=63 i=78 i=12784 LatePublishRequestCount i=63 i=78 i=12784 CurrentKeepAliveCount i=63 i=78 i=12784 CurrentLifetimeCount i=63 i=78 i=12784 UnacknowledgedMessageCount i=63 i=78 i=12784 DiscardedMessageCount i=63 i=78 i=12784 MonitoredItemCount i=63 i=78 i=12784 DisabledMonitoredItemCount i=63 i=78 i=12784 MonitoringQueueOverflowCount i=63 i=78 i=12784 NextSequenceNumber i=63 i=78 i=12784 EventQueueOverFlowCount i=63 i=78 i=12784 SubscriptionDiagnosticsType i=2173 i=2174 i=2175 i=2176 i=2177 i=8888 i=2179 i=2180 i=2181 i=2182 i=2183 i=2184 i=2185 i=2186 i=2187 i=2188 i=2189 i=2190 i=2191 i=2998 i=2193 i=8889 i=8890 i=8891 i=8892 i=8893 i=8894 i=8895 i=8896 i=8897 i=8902 i=63 SessionId i=63 i=78 i=2172 SubscriptionId i=63 i=78 i=2172 Priority i=63 i=78 i=2172 PublishingInterval i=63 i=78 i=2172 MaxKeepAliveCount i=63 i=78 i=2172 MaxLifetimeCount i=63 i=78 i=2172 MaxNotificationsPerPublish i=63 i=78 i=2172 PublishingEnabled i=63 i=78 i=2172 ModifyCount i=63 i=78 i=2172 EnableCount i=63 i=78 i=2172 DisableCount i=63 i=78 i=2172 RepublishRequestCount i=63 i=78 i=2172 RepublishMessageRequestCount i=63 i=78 i=2172 RepublishMessageCount i=63 i=78 i=2172 TransferRequestCount i=63 i=78 i=2172 TransferredToAltClientCount i=63 i=78 i=2172 TransferredToSameClientCount i=63 i=78 i=2172 PublishRequestCount i=63 i=78 i=2172 DataChangeNotificationsCount i=63 i=78 i=2172 EventNotificationsCount i=63 i=78 i=2172 NotificationsCount i=63 i=78 i=2172 LatePublishRequestCount i=63 i=78 i=2172 CurrentKeepAliveCount i=63 i=78 i=2172 CurrentLifetimeCount i=63 i=78 i=2172 UnacknowledgedMessageCount i=63 i=78 i=2172 DiscardedMessageCount i=63 i=78 i=2172 MonitoredItemCount i=63 i=78 i=2172 DisabledMonitoredItemCount i=63 i=78 i=2172 MonitoringQueueOverflowCount i=63 i=78 i=2172 NextSequenceNumber i=63 i=78 i=2172 EventQueueOverFlowCount i=63 i=78 i=2172 SessionDiagnosticsArrayType i=12816 i=63 SessionDiagnostics i=12817 i=12818 i=12819 i=12820 i=12821 i=12822 i=12823 i=12824 i=12825 i=12826 i=12827 i=12828 i=12829 i=12830 i=12831 i=12832 i=12833 i=12834 i=12835 i=12836 i=12837 i=12838 i=12839 i=12840 i=12841 i=12842 i=12843 i=12844 i=12845 i=12846 i=12847 i=12848 i=12849 i=12850 i=12851 i=12852 i=12853 i=12854 i=12855 i=12856 i=12857 i=12858 i=12859 i=2197 i=83 i=2196 SessionId i=63 i=78 i=12816 SessionName i=63 i=78 i=12816 ClientDescription i=63 i=78 i=12816 ServerUri i=63 i=78 i=12816 EndpointUrl i=63 i=78 i=12816 LocaleIds i=63 i=78 i=12816 ActualSessionTimeout i=63 i=78 i=12816 MaxResponseMessageSize i=63 i=78 i=12816 ClientConnectionTime i=63 i=78 i=12816 ClientLastContactTime i=63 i=78 i=12816 CurrentSubscriptionsCount i=63 i=78 i=12816 CurrentMonitoredItemsCount i=63 i=78 i=12816 CurrentPublishRequestsInQueue i=63 i=78 i=12816 TotalRequestCount i=63 i=78 i=12816 UnauthorizedRequestCount i=63 i=78 i=12816 ReadCount i=63 i=78 i=12816 HistoryReadCount i=63 i=78 i=12816 WriteCount i=63 i=78 i=12816 HistoryUpdateCount i=63 i=78 i=12816 CallCount i=63 i=78 i=12816 CreateMonitoredItemsCount i=63 i=78 i=12816 ModifyMonitoredItemsCount i=63 i=78 i=12816 SetMonitoringModeCount i=63 i=78 i=12816 SetTriggeringCount i=63 i=78 i=12816 DeleteMonitoredItemsCount i=63 i=78 i=12816 CreateSubscriptionCount i=63 i=78 i=12816 ModifySubscriptionCount i=63 i=78 i=12816 SetPublishingModeCount i=63 i=78 i=12816 PublishCount i=63 i=78 i=12816 RepublishCount i=63 i=78 i=12816 TransferSubscriptionsCount i=63 i=78 i=12816 DeleteSubscriptionsCount i=63 i=78 i=12816 AddNodesCount i=63 i=78 i=12816 AddReferencesCount i=63 i=78 i=12816 DeleteNodesCount i=63 i=78 i=12816 DeleteReferencesCount i=63 i=78 i=12816 BrowseCount i=63 i=78 i=12816 BrowseNextCount i=63 i=78 i=12816 TranslateBrowsePathsToNodeIdsCount i=63 i=78 i=12816 QueryFirstCount i=63 i=78 i=12816 QueryNextCount i=63 i=78 i=12816 RegisterNodesCount i=63 i=78 i=12816 UnregisterNodesCount i=63 i=78 i=12816 SessionDiagnosticsVariableType i=2198 i=2199 i=2200 i=2201 i=2202 i=2203 i=2204 i=3050 i=2205 i=2206 i=2207 i=2208 i=2209 i=8900 i=11892 i=2217 i=2218 i=2219 i=2220 i=2221 i=2222 i=2223 i=2224 i=2225 i=2226 i=2227 i=2228 i=2229 i=2230 i=2231 i=2232 i=2233 i=2234 i=2235 i=2236 i=2237 i=2238 i=2239 i=2240 i=2241 i=2242 i=2730 i=2731 i=63 SessionId i=63 i=78 i=2197 SessionName i=63 i=78 i=2197 ClientDescription i=63 i=78 i=2197 ServerUri i=63 i=78 i=2197 EndpointUrl i=63 i=78 i=2197 LocaleIds i=63 i=78 i=2197 ActualSessionTimeout i=63 i=78 i=2197 MaxResponseMessageSize i=63 i=78 i=2197 ClientConnectionTime i=63 i=78 i=2197 ClientLastContactTime i=63 i=78 i=2197 CurrentSubscriptionsCount i=63 i=78 i=2197 CurrentMonitoredItemsCount i=63 i=78 i=2197 CurrentPublishRequestsInQueue i=63 i=78 i=2197 TotalRequestCount i=63 i=78 i=2197 UnauthorizedRequestCount i=63 i=78 i=2197 ReadCount i=63 i=78 i=2197 HistoryReadCount i=63 i=78 i=2197 WriteCount i=63 i=78 i=2197 HistoryUpdateCount i=63 i=78 i=2197 CallCount i=63 i=78 i=2197 CreateMonitoredItemsCount i=63 i=78 i=2197 ModifyMonitoredItemsCount i=63 i=78 i=2197 SetMonitoringModeCount i=63 i=78 i=2197 SetTriggeringCount i=63 i=78 i=2197 DeleteMonitoredItemsCount i=63 i=78 i=2197 CreateSubscriptionCount i=63 i=78 i=2197 ModifySubscriptionCount i=63 i=78 i=2197 SetPublishingModeCount i=63 i=78 i=2197 PublishCount i=63 i=78 i=2197 RepublishCount i=63 i=78 i=2197 TransferSubscriptionsCount i=63 i=78 i=2197 DeleteSubscriptionsCount i=63 i=78 i=2197 AddNodesCount i=63 i=78 i=2197 AddReferencesCount i=63 i=78 i=2197 DeleteNodesCount i=63 i=78 i=2197 DeleteReferencesCount i=63 i=78 i=2197 BrowseCount i=63 i=78 i=2197 BrowseNextCount i=63 i=78 i=2197 TranslateBrowsePathsToNodeIdsCount i=63 i=78 i=2197 QueryFirstCount i=63 i=78 i=2197 QueryNextCount i=63 i=78 i=2197 RegisterNodesCount i=63 i=78 i=2197 UnregisterNodesCount i=63 i=78 i=2197 SessionSecurityDiagnosticsArrayType i=12860 i=63 SessionSecurityDiagnostics i=12861 i=12862 i=12863 i=12864 i=12865 i=12866 i=12867 i=12868 i=12869 i=2244 i=83 i=2243 SessionId i=63 i=78 i=12860 ClientUserIdOfSession i=63 i=78 i=12860 ClientUserIdHistory i=63 i=78 i=12860 AuthenticationMechanism i=63 i=78 i=12860 Encoding i=63 i=78 i=12860 TransportProtocol i=63 i=78 i=12860 SecurityMode i=63 i=78 i=12860 SecurityPolicyUri i=63 i=78 i=12860 ClientCertificate i=63 i=78 i=12860 SessionSecurityDiagnosticsType i=2245 i=2246 i=2247 i=2248 i=2249 i=2250 i=2251 i=2252 i=3058 i=63 SessionId i=63 i=78 i=2244 ClientUserIdOfSession i=63 i=78 i=2244 ClientUserIdHistory i=63 i=78 i=2244 AuthenticationMechanism i=63 i=78 i=2244 Encoding i=63 i=78 i=2244 TransportProtocol i=63 i=78 i=2244 SecurityMode i=63 i=78 i=2244 SecurityPolicyUri i=63 i=78 i=2244 ClientCertificate i=63 i=78 i=2244 OptionSetType i=11488 i=11701 i=63 OptionSetValues i=68 i=78 i=11487 BitMask i=68 i=80 i=11487 EventTypes i=86 i=2041 i=61 Server i=2254 i=2255 i=2256 i=2267 i=2994 i=12885 i=2268 i=2274 i=2295 i=2296 i=11715 i=11492 i=12873 i=12749 i=12886 i=85 i=2004 ServerArray The list of server URIs used by the server. i=68 i=2253 NamespaceArray The list of namespace URIs used by the server. i=68 i=2253 ServerStatus The current status of the server. i=2257 i=2258 i=2259 i=2260 i=2992 i=2993 i=2138 i=2253 StartTime i=63 i=2256 CurrentTime i=63 i=2256 State i=63 i=2256 BuildInfo i=2262 i=2263 i=2261 i=2264 i=2265 i=2266 i=3051 i=2256 ProductUri i=63 i=2260 ManufacturerName i=63 i=2260 ProductName i=63 i=2260 SoftwareVersion i=63 i=2260 BuildNumber i=63 i=2260 BuildDate i=63 i=2260 SecondsTillShutdown i=63 i=2256 ShutdownReason i=63 i=2256 ServiceLevel A value indicating the level of service the server can provide. 255 indicates the best. i=68 i=2253 Auditing A flag indicating whether the server is currently generating audit events. i=68 i=2253 EstimatedReturnTime Indicates the time at which the Server is expected to be available in the state RUNNING. i=68 i=2253 ServerCapabilities Describes capabilities supported by the server. i=2269 i=2271 i=2272 i=2735 i=2736 i=2737 i=3704 i=11702 i=11703 i=12911 i=11704 i=2996 i=2997 i=2013 i=2253 ServerProfileArray A list of profiles supported by the server. i=68 i=2268 LocaleIdArray A list of locales supported by the server. i=68 i=2268 MinSupportedSampleRate The minimum sampling interval supported by the server. i=68 i=2268 MaxBrowseContinuationPoints The maximum number of continuation points for Browse operations per session. i=68 i=2268 MaxQueryContinuationPoints The maximum number of continuation points for Query operations per session. i=68 i=2268 MaxHistoryContinuationPoints The maximum number of continuation points for ReadHistory operations per session. i=68 i=2268 SoftwareCertificates The software certificates owned by the server. i=68 i=2268 MaxArrayLength The maximum length for an array value supported by the server. i=68 i=2268 MaxStringLength The maximum length for a string value supported by the server. i=68 i=2268 MaxByteStringLength The maximum length for a byte string value supported by the server. i=68 i=2268 OperationLimits Defines the limits supported by the server for different operations. i=11705 i=12165 i=12166 i=11707 i=12167 i=12168 i=11709 i=11710 i=11711 i=11712 i=11713 i=11714 i=11564 i=2268 MaxNodesPerRead The maximum number of operations in a single Read request. i=68 i=11704 MaxNodesPerHistoryReadData The maximum number of operations in a single data HistoryRead request. i=68 i=11704 MaxNodesPerHistoryReadEvents The maximum number of operations in a single event HistoryRead request. i=68 i=11704 MaxNodesPerWrite The maximum number of operations in a single Write request. i=68 i=11704 MaxNodesPerHistoryUpdateData The maximum number of operations in a single data HistoryUpdate request. i=68 i=11704 MaxNodesPerHistoryUpdateEvents The maximum number of operations in a single event HistoryUpdate request. i=68 i=11704 MaxNodesPerMethodCall The maximum number of operations in a single Call request. i=68 i=11704 MaxNodesPerBrowse The maximum number of operations in a single Browse request. i=68 i=11704 MaxNodesPerRegisterNodes The maximum number of operations in a single RegisterNodes request. i=68 i=11704 MaxNodesPerTranslateBrowsePathsToNodeIds The maximum number of operations in a single TranslateBrowsePathsToNodeIds request. i=68 i=11704 MaxNodesPerNodeManagement The maximum number of operations in a single AddNodes, AddReferences, DeleteNodes or DeleteReferences request. i=68 i=11704 MaxMonitoredItemsPerCall The maximum number of operations in a single MonitoredItem related request. i=68 i=11704 ModellingRules A folder for the modelling rules supported by the server. i=61 i=2268 AggregateFunctions A folder for the real time aggregates supported by the server. i=61 i=2268 ServerDiagnostics Reports diagnostics about the server. i=2275 i=2289 i=2290 i=3706 i=2294 i=2020 i=2253 ServerDiagnosticsSummary A summary of server level diagnostics. i=2276 i=2277 i=2278 i=2279 i=3705 i=2281 i=2282 i=2284 i=2285 i=2286 i=2287 i=2288 i=2150 i=2274 ServerViewCount i=63 i=2275 CurrentSessionCount i=63 i=2275 CumulatedSessionCount i=63 i=2275 SecurityRejectedSessionCount i=63 i=2275 RejectedSessionCount i=63 i=2275 SessionTimeoutCount i=63 i=2275 SessionAbortCount i=63 i=2275 PublishingIntervalCount i=63 i=2275 CurrentSubscriptionCount i=63 i=2275 CumulatedSubscriptionCount i=63 i=2275 SecurityRejectedRequestsCount i=63 i=2275 RejectedRequestsCount i=63 i=2275 SamplingIntervalDiagnosticsArray A list of diagnostics for each sampling interval supported by the server. i=2164 i=2274 SubscriptionDiagnosticsArray A list of diagnostics for each active subscription. i=2171 i=2274 SessionsDiagnosticsSummary A summary of session level diagnostics. i=3707 i=3708 i=2026 i=2274 SessionDiagnosticsArray A list of diagnostics for each active session. i=2196 i=3706 SessionSecurityDiagnosticsArray A list of security related diagnostics for each active session. i=2243 i=3706 EnabledFlag If TRUE the diagnostics collection is enabled. i=68 i=2274 VendorServerInfo Server information provided by the vendor. i=2033 i=2253 ServerRedundancy Describes the redundancy capabilities of the server. i=3709 i=11312 i=11313 i=11314 i=14415 i=2034 i=2253 RedundancySupport Indicates what style of redundancy is supported by the server. i=68 i=2296 CurrentServerId i=68 i=2296 RedundantServerArray i=68 i=2296 ServerUriArray i=68 i=2296 ServerNetworkGroups i=68 i=2296 Namespaces Describes the namespaces supported by the server. i=11645 i=2253 GetMonitoredItems i=11493 i=11494 i=2253 InputArguments i=68 i=11492 i=297 SubscriptionId i=7 -1 OutputArguments i=68 i=11492 i=297 ServerHandles i=7 1 i=297 ClientHandles i=7 1 ResendData i=12874 i=2253 InputArguments i=68 i=12873 i=297 SubscriptionId i=7 -1 SetSubscriptionDurable i=12750 i=12751 i=2253 InputArguments i=68 i=12749 i=297 SubscriptionId i=7 -1 i=297 LifetimeInHours i=7 -1 OutputArguments i=68 i=12749 i=297 RevisedLifetimeInHours i=7 -1 RequestServerStateChange i=12887 i=2253 InputArguments i=68 i=12886 i=297 State i=852 -1 i=297 EstimatedReturnTime i=13 -1 i=297 SecondsTillShutdown i=7 -1 i=297 Reason i=21 -1 i=297 Restart i=1 -1 HistoryServerCapabilities i=11193 i=11242 i=11273 i=11274 i=11196 i=11197 i=11198 i=11199 i=11200 i=11281 i=11282 i=11283 i=11502 i=11275 i=11201 i=2268 i=2330 AccessHistoryDataCapability i=68 i=11192 AccessHistoryEventsCapability i=68 i=11192 MaxReturnDataValues i=68 i=11192 MaxReturnEventValues i=68 i=11192 InsertDataCapability i=68 i=11192 ReplaceDataCapability i=68 i=11192 UpdateDataCapability i=68 i=11192 DeleteRawCapability i=68 i=11192 DeleteAtTimeCapability i=68 i=11192 InsertEventCapability i=68 i=11192 ReplaceEventCapability i=68 i=11192 UpdateEventCapability i=68 i=11192 DeleteEventCapability i=68 i=11192 InsertAnnotationCapability i=68 i=11192 AggregateFunctions i=61 i=11192 BitFieldMaskDataType A mask of 32 bits that can be updated individually by using the top 32 bits as a mask. i=9 StateMachineType i=2769 i=2770 i=58 CurrentState i=3720 i=2755 i=78 i=2299 Id i=68 i=78 i=2769 LastTransition i=3724 i=2762 i=80 i=2299 Id i=68 i=78 i=2770 StateVariableType i=2756 i=2757 i=2758 i=2759 i=63 Id i=68 i=78 i=2755 Name i=68 i=80 i=2755 Number i=68 i=80 i=2755 EffectiveDisplayName i=68 i=80 i=2755 TransitionVariableType i=2763 i=2764 i=2765 i=2766 i=11456 i=63 Id i=68 i=78 i=2762 Name i=68 i=80 i=2762 Number i=68 i=80 i=2762 TransitionTime i=68 i=80 i=2762 EffectiveTransitionTime i=68 i=80 i=2762 FiniteStateMachineType i=2772 i=2773 i=2299 CurrentState i=3728 i=2760 i=78 i=2771 Id i=68 i=78 i=2772 LastTransition i=3732 i=2767 i=80 i=2771 Id i=68 i=78 i=2773 FiniteStateVariableType i=2761 i=2755 Id i=68 i=78 i=2760 FiniteTransitionVariableType i=2768 i=2762 Id i=68 i=78 i=2767 StateType i=2308 i=58 StateNumber i=68 i=78 i=2307 InitialStateType i=2307 TransitionType i=2312 i=58 TransitionNumber i=68 i=78 i=2310 TransitionEventType i=2774 i=2775 i=2776 i=2041 Transition i=3754 i=2762 i=78 i=2311 Id i=68 i=78 i=2774 FromState i=3746 i=2755 i=78 i=2311 Id i=68 i=78 i=2775 ToState i=3750 i=2755 i=78 i=2311 Id i=68 i=78 i=2776 AuditUpdateStateEventType i=2777 i=2778 i=2127 OldStateId i=68 i=78 i=2315 NewStateId i=68 i=78 i=2315 OpenFileMode i=11940 i=29 EnumValues i=68 i=78 i=11939 i=7616 1 Read i=7616 2 Write i=7616 4 EraseExisting i=7616 8 Append DataItemType A variable that contains live automation data. i=2366 i=2367 i=63 Definition A vendor-specific, human readable string that specifies how the value of this DataItem is calculated. i=68 i=80 i=2365 ValuePrecision The maximum precision that the server can maintain for the item based on restrictions in the target environment. i=68 i=80 i=2365 AnalogItemType i=2370 i=2369 i=2371 i=2365 InstrumentRange i=68 i=80 i=2368 EURange i=68 i=78 i=2368 EngineeringUnits i=68 i=80 i=2368 DiscreteItemType i=2365 TwoStateDiscreteType i=2374 i=2375 i=2372 FalseState i=68 i=78 i=2373 TrueState i=68 i=78 i=2373 MultiStateDiscreteType i=2377 i=2372 EnumStrings i=68 i=78 i=2376 MultiStateValueDiscreteType i=11241 i=11461 i=2372 EnumValues i=68 i=78 i=11238 ValueAsText i=68 i=78 i=11238 ArrayItemType i=12024 i=12025 i=12026 i=12027 i=12028 i=2365 InstrumentRange i=68 i=80 i=12021 EURange i=68 i=78 i=12021 EngineeringUnits i=68 i=78 i=12021 Title i=68 i=78 i=12021 AxisScaleType i=68 i=78 i=12021 YArrayItemType i=12037 i=12021 XAxisDefinition i=68 i=78 i=12029 XYArrayItemType i=12046 i=12021 XAxisDefinition i=68 i=78 i=12038 ImageItemType i=12055 i=12056 i=12021 XAxisDefinition i=68 i=78 i=12047 YAxisDefinition i=68 i=78 i=12047 CubeItemType i=12065 i=12066 i=12067 i=12021 XAxisDefinition i=68 i=78 i=12057 YAxisDefinition i=68 i=78 i=12057 ZAxisDefinition i=68 i=78 i=12057 NDimensionArrayItemType i=12076 i=12021 AxisDefinition i=68 i=78 i=12068 TwoStateVariableType i=8996 i=9000 i=9001 i=11110 i=11111 i=2755 Id i=68 i=78 i=8995 TransitionTime i=68 i=80 i=8995 EffectiveTransitionTime i=68 i=80 i=8995 TrueState i=68 i=80 i=8995 FalseState i=68 i=80 i=8995 ConditionVariableType i=9003 i=63 SourceTimestamp i=68 i=78 i=9002 HasTrueSubState i=32 IsTrueSubStateOf HasFalseSubState i=32 IsFalseSubStateOf ConditionType i=11112 i=11113 i=9009 i=9010 i=3874 i=9011 i=9020 i=9022 i=9024 i=9026 i=9028 i=9027 i=9029 i=3875 i=12912 i=2041 ConditionClassId i=68 i=78 i=2782 ConditionClassName i=68 i=78 i=2782 ConditionName i=68 i=78 i=2782 BranchId i=68 i=78 i=2782 Retain i=68 i=78 i=2782 EnabledState i=9012 i=9015 i=9016 i=9017 i=8995 i=78 i=2782 Id i=68 i=78 i=9011 EffectiveDisplayName i=68 i=80 i=9011 TransitionTime i=68 i=80 i=9011 EffectiveTransitionTime i=68 i=80 i=9011 Quality i=9021 i=9002 i=78 i=2782 SourceTimestamp i=68 i=78 i=9020 LastSeverity i=9023 i=9002 i=78 i=2782 SourceTimestamp i=68 i=78 i=9022 Comment i=9025 i=9002 i=78 i=2782 SourceTimestamp i=68 i=78 i=9024 ClientUserId i=68 i=78 i=2782 Disable i=2803 i=78 i=2782 Enable i=2803 i=78 i=2782 AddComment i=9030 i=2829 i=78 i=2782 InputArguments i=68 i=78 i=9029 i=297 EventId i=15 -1 The identifier for the event to comment. i=297 Comment i=21 -1 The comment to add to the condition. ConditionRefresh i=3876 i=2787 i=2788 i=2782 InputArguments i=68 i=78 i=3875 i=297 SubscriptionId i=288 -1 The identifier for the suscription to refresh. ConditionRefresh2 i=12913 i=2787 i=2788 i=2782 InputArguments i=68 i=78 i=12912 i=297 SubscriptionId i=288 -1 The identifier for the suscription to refresh. i=297 MonitoredItemId i=288 -1 The identifier for the monitored item to refresh. DialogConditionType i=9035 i=9055 i=2831 i=9064 i=9065 i=9066 i=9067 i=9068 i=9069 i=2782 EnabledState i=9036 i=9055 i=8995 i=78 i=2830 Id i=68 i=78 i=9035 DialogState i=9056 i=9060 i=9035 i=8995 i=78 i=2830 Id i=68 i=78 i=9055 TransitionTime i=68 i=80 i=9055 Prompt i=68 i=78 i=2830 ResponseOptionSet i=68 i=78 i=2830 DefaultResponse i=68 i=78 i=2830 OkResponse i=68 i=78 i=2830 CancelResponse i=68 i=78 i=2830 LastResponse i=68 i=78 i=2830 Respond i=9070 i=8927 i=78 i=2830 InputArguments i=68 i=78 i=9069 i=297 SelectedResponse i=6 -1 The response to the dialog condition. AcknowledgeableConditionType i=9073 i=9093 i=9102 i=9111 i=9113 i=2782 EnabledState i=9074 i=9093 i=9102 i=8995 i=78 i=2881 Id i=68 i=78 i=9073 AckedState i=9094 i=9098 i=9073 i=8995 i=78 i=2881 Id i=68 i=78 i=9093 TransitionTime i=68 i=80 i=9093 ConfirmedState i=9103 i=9107 i=9073 i=8995 i=80 i=2881 Id i=68 i=78 i=9102 TransitionTime i=68 i=80 i=9102 Acknowledge i=9112 i=8944 i=78 i=2881 InputArguments i=68 i=78 i=9111 i=297 EventId i=15 -1 The identifier for the event to comment. i=297 Comment i=21 -1 The comment to add to the condition. Confirm i=9114 i=8961 i=80 i=2881 InputArguments i=68 i=78 i=9113 i=297 EventId i=15 -1 The identifier for the event to comment. i=297 Comment i=21 -1 The comment to add to the condition. AlarmConditionType i=9118 i=9160 i=11120 i=9169 i=9178 i=9215 i=9216 i=2881 EnabledState i=9119 i=9160 i=9169 i=9178 i=8995 i=78 i=2915 Id i=68 i=78 i=9118 ActiveState i=9161 i=9164 i=9165 i=9166 i=9118 i=8995 i=78 i=2915 Id i=68 i=78 i=9160 EffectiveDisplayName i=68 i=80 i=9160 TransitionTime i=68 i=80 i=9160 EffectiveTransitionTime i=68 i=80 i=9160 InputNode i=68 i=78 i=2915 SuppressedState i=9170 i=9174 i=9118 i=8995 i=80 i=2915 Id i=68 i=78 i=9169 TransitionTime i=68 i=80 i=9169 ShelvingState i=9179 i=9184 i=9189 i=9211 i=9212 i=9213 i=9118 i=2929 i=80 i=2915 CurrentState i=9180 i=2760 i=78 i=9178 Id i=68 i=78 i=9179 LastTransition i=9185 i=9188 i=2767 i=80 i=9178 Id i=68 i=78 i=9184 TransitionTime i=68 i=80 i=9184 UnshelveTime i=68 i=78 i=9178 Unshelve i=11093 i=78 i=9178 OneShotShelve i=11093 i=78 i=9178 TimedShelve i=9214 i=11093 i=78 i=9178 InputArguments i=68 i=78 i=9213 i=297 ShelvingTime i=290 -1 If not 0, this parameter specifies a fixed time for which the Alarm is to be shelved. SuppressedOrShelved i=68 i=78 i=2915 MaxTimeShelved i=68 i=80 i=2915 ShelvedStateMachineType i=9115 i=2930 i=2932 i=2933 i=2935 i=2936 i=2940 i=2942 i=2943 i=2945 i=2947 i=2948 i=2949 i=2771 UnshelveTime i=68 i=78 i=2929 Unshelved i=6098 i=2935 i=2936 i=2940 i=2943 i=2307 i=2929 StateNumber i=68 i=78 i=2930 TimedShelved i=6100 i=2935 i=2940 i=2942 i=2945 i=2307 i=2929 StateNumber i=68 i=78 i=2932 OneShotShelved i=6101 i=2936 i=2942 i=2943 i=2945 i=2307 i=2929 StateNumber i=68 i=78 i=2933 UnshelvedToTimedShelved i=11322 i=2930 i=2932 i=2915 i=2949 i=2310 i=2929 TransitionNumber i=68 i=78 i=2935 UnshelvedToOneShotShelved i=11323 i=2930 i=2933 i=2915 i=2948 i=2310 i=2929 TransitionNumber i=68 i=78 i=2936 TimedShelvedToUnshelved i=11324 i=2932 i=2930 i=2915 i=2947 i=2310 i=2929 TransitionNumber i=68 i=78 i=2940 TimedShelvedToOneShotShelved i=11325 i=2932 i=2933 i=2915 i=2948 i=2310 i=2929 TransitionNumber i=68 i=78 i=2942 OneShotShelvedToUnshelved i=11326 i=2933 i=2930 i=2915 i=2947 i=2310 i=2929 TransitionNumber i=68 i=78 i=2943 OneShotShelvedToTimedShelved i=11327 i=2933 i=2932 i=2915 i=2949 i=2310 i=2929 TransitionNumber i=68 i=78 i=2945 Unshelve i=2940 i=2943 i=11093 i=78 i=2929 OneShotShelve i=2936 i=2942 i=11093 i=78 i=2929 TimedShelve i=2991 i=2935 i=2945 i=11093 i=78 i=2929 InputArguments i=68 i=78 i=2949 i=297 ShelvingTime i=290 -1 If not 0, this parameter specifies a fixed time for which the Alarm is to be shelved. LimitAlarmType i=11124 i=11125 i=11126 i=11127 i=2915 HighHighLimit i=68 i=80 i=2955 HighLimit i=68 i=80 i=2955 LowLimit i=68 i=80 i=2955 LowLowLimit i=68 i=80 i=2955 ExclusiveLimitStateMachineType i=9329 i=9331 i=9333 i=9335 i=9337 i=9338 i=9339 i=9340 i=2771 HighHigh i=9330 i=9339 i=9340 i=2307 i=9318 StateNumber i=68 i=78 i=9329 High i=9332 i=9339 i=9340 i=2307 i=9318 StateNumber i=68 i=78 i=9331 Low i=9334 i=9337 i=9338 i=2307 i=9318 StateNumber i=68 i=78 i=9333 LowLow i=9336 i=9337 i=9338 i=2307 i=9318 StateNumber i=68 i=78 i=9335 LowLowToLow i=11340 i=9335 i=9333 i=2310 i=9318 TransitionNumber i=68 i=78 i=9337 LowToLowLow i=11341 i=9333 i=9335 i=2310 i=9318 TransitionNumber i=68 i=78 i=9338 HighHighToHigh i=11342 i=9329 i=9331 i=2310 i=9318 TransitionNumber i=68 i=78 i=9339 HighToHighHigh i=11343 i=9331 i=9329 i=2310 i=9318 TransitionNumber i=68 i=78 i=9340 ExclusiveLimitAlarmType i=9398 i=9455 i=2955 ActiveState i=9399 i=9455 i=8995 i=78 i=9341 Id i=68 i=78 i=9398 LimitState i=9456 i=9461 i=9398 i=9318 i=78 i=9341 CurrentState i=9457 i=2760 i=78 i=9455 Id i=68 i=78 i=9456 LastTransition i=9462 i=9465 i=2767 i=80 i=9455 Id i=68 i=78 i=9461 TransitionTime i=68 i=80 i=9461 NonExclusiveLimitAlarmType i=9963 i=10020 i=10029 i=10038 i=10047 i=2955 ActiveState i=9964 i=10020 i=10029 i=10038 i=10047 i=8995 i=78 i=9906 Id i=68 i=78 i=9963 HighHighState i=10021 i=10025 i=9963 i=8995 i=80 i=9906 Id i=68 i=78 i=10020 TransitionTime i=68 i=80 i=10020 HighState i=10030 i=10034 i=9963 i=8995 i=80 i=9906 Id i=68 i=78 i=10029 TransitionTime i=68 i=80 i=10029 LowState i=10039 i=10043 i=9963 i=8995 i=80 i=9906 Id i=68 i=78 i=10038 TransitionTime i=68 i=80 i=10038 LowLowState i=10048 i=10052 i=9963 i=8995 i=80 i=9906 Id i=68 i=78 i=10047 TransitionTime i=68 i=80 i=10047 NonExclusiveLevelAlarmType i=9906 ExclusiveLevelAlarmType i=9341 NonExclusiveDeviationAlarmType i=10522 i=9906 SetpointNode i=68 i=78 i=10368 ExclusiveDeviationAlarmType i=9905 i=9341 SetpointNode i=68 i=78 i=9764 NonExclusiveRateOfChangeAlarmType i=9906 ExclusiveRateOfChangeAlarmType i=9341 DiscreteAlarmType i=2915 OffNormalAlarmType i=11158 i=10523 NormalState i=68 i=78 i=10637 SystemOffNormalAlarmType i=10637 CertificateExpirationAlarmType i=13325 i=13326 i=13327 i=11753 ExpirationDate i=68 i=78 i=13225 CertificateType i=68 i=78 i=13225 Certificate i=68 i=78 i=13225 TripAlarmType i=10637 BaseConditionClassType i=58 ProcessConditionClassType i=11163 MaintenanceConditionClassType i=11163 SystemConditionClassType i=11163 AuditConditionEventType i=2127 AuditConditionEnableEventType i=2790 AuditConditionCommentEventType i=4170 i=11851 i=2790 EventId A globally unique identifier for the event. i=68 i=78 i=2829 Comment i=68 i=78 i=2829 AuditConditionRespondEventType i=11852 i=2790 SelectedResponse i=68 i=78 i=8927 AuditConditionAcknowledgeEventType i=8945 i=11853 i=2790 EventId A globally unique identifier for the event. i=68 i=78 i=8944 Comment i=68 i=78 i=8944 AuditConditionConfirmEventType i=8962 i=11854 i=2790 EventId A globally unique identifier for the event. i=68 i=78 i=8961 Comment i=68 i=78 i=8961 AuditConditionShelvingEventType i=11855 i=2790 ShelvingTime i=68 i=78 i=11093 RefreshStartEventType i=2130 RefreshEndEventType i=2130 RefreshRequiredEventType i=2130 HasCondition i=32 IsConditionOf ProgramStateMachineType A state machine for a program. i=3830 i=3835 i=2392 i=2393 i=2394 i=2395 i=2396 i=2397 i=2398 i=2399 i=3850 i=2400 i=2402 i=2404 i=2406 i=2408 i=2410 i=2412 i=2414 i=2416 i=2418 i=2420 i=2422 i=2424 i=2426 i=2427 i=2428 i=2429 i=2430 i=2771 CurrentState i=3831 i=3833 i=2760 i=78 i=2391 Id i=68 i=78 i=3830 Number i=68 i=78 i=3830 LastTransition i=3836 i=3838 i=3839 i=2767 i=78 i=2391 Id i=68 i=78 i=3835 Number i=68 i=78 i=3835 TransitionTime i=68 i=78 i=3835 Creatable i=68 i=2391 Deletable i=68 i=78 i=2391 AutoDelete i=68 i=79 i=2391 RecycleCount i=68 i=78 i=2391 InstanceCount i=68 i=2391 MaxInstanceCount i=68 i=2391 MaxRecycleCount i=68 i=2391 ProgramDiagnostics i=3840 i=3841 i=3842 i=3843 i=3844 i=3845 i=3846 i=3847 i=3848 i=3849 i=2380 i=80 i=2391 CreateSessionId i=68 i=78 i=2399 CreateClientName i=68 i=78 i=2399 InvocationCreationTime i=68 i=78 i=2399 LastTransitionTime i=68 i=78 i=2399 LastMethodCall i=68 i=78 i=2399 LastMethodSessionId i=68 i=78 i=2399 LastMethodInputArguments i=68 i=78 i=2399 LastMethodOutputArguments i=68 i=78 i=2399 LastMethodCallTime i=68 i=78 i=2399 LastMethodReturnStatus i=68 i=78 i=2399 FinalResultData i=58 i=80 i=2391 Ready The Program is properly initialized and may be started. i=2401 i=2408 i=2410 i=2414 i=2422 i=2424 i=2307 i=2391 StateNumber i=68 i=78 i=2400 1 Running The Program is executing making progress towards completion. i=2403 i=2410 i=2412 i=2414 i=2416 i=2418 i=2307 i=2391 StateNumber i=68 i=78 i=2402 2 Suspended The Program has been stopped prior to reaching a terminal state but may be resumed. i=2405 i=2416 i=2418 i=2420 i=2422 i=2307 i=2391 StateNumber i=68 i=78 i=2404 3 Halted The Program is in a terminal or failed state, and it cannot be started or resumed without being reset. i=2407 i=2408 i=2412 i=2420 i=2424 i=2307 i=2391 StateNumber i=68 i=78 i=2406 4 HaltedToReady i=2409 i=2406 i=2400 i=2430 i=2378 i=2310 i=2391 TransitionNumber i=68 i=78 i=2408 1 ReadyToRunning i=2411 i=2400 i=2402 i=2426 i=2378 i=2310 i=2391 TransitionNumber i=68 i=78 i=2410 2 RunningToHalted i=2413 i=2402 i=2406 i=2429 i=2378 i=2310 i=2391 TransitionNumber i=68 i=78 i=2412 3 RunningToReady i=2415 i=2402 i=2400 i=2378 i=2310 i=2391 TransitionNumber i=68 i=78 i=2414 4 RunningToSuspended i=2417 i=2402 i=2404 i=2427 i=2378 i=2310 i=2391 TransitionNumber i=68 i=78 i=2416 5 SuspendedToRunning i=2419 i=2404 i=2402 i=2428 i=2378 i=2310 i=2391 TransitionNumber i=68 i=78 i=2418 6 SuspendedToHalted i=2421 i=2404 i=2406 i=2429 i=2378 i=2310 i=2391 TransitionNumber i=68 i=78 i=2420 7 SuspendedToReady i=2423 i=2404 i=2400 i=2378 i=2310 i=2391 TransitionNumber i=68 i=78 i=2422 8 ReadyToHalted i=2425 i=2400 i=2406 i=2429 i=2378 i=2310 i=2391 TransitionNumber i=68 i=78 i=2424 9 Start Causes the Program to transition from the Ready state to the Running state. i=2410 i=78 i=2391 Suspend Causes the Program to transition from the Running state to the Suspended state. i=2416 i=78 i=2391 Resume Causes the Program to transition from the Suspended state to the Running state. i=2418 i=78 i=2391 Halt Causes the Program to transition from the Ready, Running or Suspended state to the Halted state. i=2412 i=2420 i=2424 i=78 i=2391 Reset Causes the Program to transition from the Halted state to the Ready state. i=2408 i=78 i=2391 ProgramTransitionEventType i=2379 i=2311 IntermediateResult i=68 i=78 i=2378 AuditProgramTransitionEventType i=11875 i=2315 TransitionNumber i=68 i=78 i=11856 ProgramTransitionAuditEventType i=3825 i=2315 Transition i=3826 i=2767 i=78 i=3806 Id i=68 i=78 i=3825 ProgramDiagnosticType i=2381 i=2382 i=2383 i=2384 i=2385 i=2386 i=2387 i=2388 i=2389 i=2390 i=63 CreateSessionId i=68 i=78 i=2380 CreateClientName i=68 i=78 i=2380 InvocationCreationTime i=68 i=78 i=2380 LastTransitionTime i=68 i=78 i=2380 LastMethodCall i=68 i=78 i=2380 LastMethodSessionId i=68 i=78 i=2380 LastMethodInputArguments i=68 i=78 i=2380 LastMethodOutputArguments i=68 i=78 i=2380 LastMethodCallTime i=68 i=78 i=2380 LastMethodReturnStatus i=68 i=78 i=2380 Annotations i=68 HistoricalDataConfigurationType i=3059 i=11876 i=2323 i=2324 i=2325 i=2326 i=2327 i=2328 i=11499 i=11500 i=58 AggregateConfiguration i=11168 i=11169 i=11170 i=11171 i=11187 i=78 i=2318 TreatUncertainAsBad i=68 i=78 i=3059 PercentDataBad i=68 i=78 i=3059 PercentDataGood i=68 i=78 i=3059 UseSlopedExtrapolation i=68 i=78 i=3059 AggregateFunctions i=61 i=80 i=2318 Stepped i=68 i=78 i=2318 Definition i=68 i=80 i=2318 MaxTimeInterval i=68 i=80 i=2318 MinTimeInterval i=68 i=80 i=2318 ExceptionDeviation i=68 i=80 i=2318 ExceptionDeviationFormat i=68 i=80 i=2318 StartOfArchive i=68 i=80 i=2318 StartOfOnlineArchive i=68 i=80 i=2318 HA Configuration i=11203 i=11208 i=2318 AggregateConfiguration i=11204 i=11205 i=11206 i=11207 i=11187 i=11202 TreatUncertainAsBad i=68 i=11203 PercentDataBad i=68 i=11203 PercentDataGood i=68 i=11203 UseSlopedExtrapolation i=68 i=11203 Stepped i=68 i=11202 HistoricalEventFilter i=68 HistoryServerCapabilitiesType i=2331 i=2332 i=11268 i=11269 i=2334 i=2335 i=2336 i=2337 i=2338 i=11278 i=11279 i=11280 i=11501 i=11270 i=11172 i=58 AccessHistoryDataCapability i=68 i=78 i=2330 AccessHistoryEventsCapability i=68 i=78 i=2330 MaxReturnDataValues i=68 i=78 i=2330 MaxReturnEventValues i=68 i=78 i=2330 InsertDataCapability i=68 i=78 i=2330 ReplaceDataCapability i=68 i=78 i=2330 UpdateDataCapability i=68 i=78 i=2330 DeleteRawCapability i=68 i=78 i=2330 DeleteAtTimeCapability i=68 i=78 i=2330 InsertEventCapability i=68 i=78 i=2330 ReplaceEventCapability i=68 i=78 i=2330 UpdateEventCapability i=68 i=78 i=2330 DeleteEventCapability i=68 i=78 i=2330 InsertAnnotationCapability i=68 i=78 i=2330 AggregateFunctions i=61 i=78 i=2330 AuditHistoryEventUpdateEventType i=3025 i=3028 i=3003 i=3029 i=3030 i=2104 UpdatedNode i=68 i=78 i=2999 PerformInsertReplace i=68 i=78 i=2999 Filter i=68 i=78 i=2999 NewValues i=68 i=78 i=2999 OldValues i=68 i=78 i=2999 AuditHistoryValueUpdateEventType i=3026 i=3031 i=3032 i=3033 i=2104 UpdatedNode i=68 i=78 i=3006 PerformInsertReplace i=68 i=78 i=3006 NewValues i=68 i=78 i=3006 OldValues i=68 i=78 i=3006 AuditHistoryDeleteEventType i=3027 i=2104 UpdatedNode i=68 i=78 i=3012 AuditHistoryRawModifyDeleteEventType i=3015 i=3016 i=3017 i=3034 i=3012 IsDeleteModified i=68 i=78 i=3014 StartTime i=68 i=78 i=3014 EndTime i=68 i=78 i=3014 OldValues i=68 i=78 i=3014 AuditHistoryAtTimeDeleteEventType i=3020 i=3021 i=3012 ReqTimes i=68 i=78 i=3019 OldValues i=68 i=78 i=3019 AuditHistoryEventDeleteEventType i=3023 i=3024 i=3012 EventIds i=68 i=78 i=3022 OldValues i=68 i=78 i=3022 TrustListType i=12542 i=12543 i=12546 i=12548 i=12550 i=11575 LastUpdateTime i=68 i=78 i=12522 OpenWithMasks i=12544 i=12545 i=78 i=12522 InputArguments i=68 i=78 i=12543 i=297 Masks i=7 -1 OutputArguments i=68 i=78 i=12543 i=297 FileHandle i=7 -1 CloseAndUpdate i=12705 i=12547 i=80 i=12522 InputArguments i=68 i=78 i=12546 i=297 FileHandle i=7 -1 OutputArguments i=68 i=78 i=12546 i=297 ApplyChangesRequired i=1 -1 AddCertificate i=12549 i=80 i=12522 InputArguments i=68 i=78 i=12548 i=297 Certificate i=15 -1 i=297 IsTrustedCertificate i=1 -1 RemoveCertificate i=12551 i=80 i=12522 InputArguments i=68 i=78 i=12550 i=297 Thumbprint i=12 -1 i=297 IsTrustedCertificate i=1 -1 TrustListMasks i=12553 i=29 EnumValues i=68 i=78 i=12552 i=7616 0 None i=7616 1 TrustedCertificates i=7616 2 TrustedCrls i=7616 4 IssuerCertificates i=7616 8 IssuerCrls i=7616 15 All TrustListDataType i=22 CertificateGroupType i=13599 i=13631 i=58 TrustList i=13600 i=13601 i=13602 i=13603 i=13605 i=13608 i=13610 i=13613 i=13615 i=13618 i=13620 i=13621 i=12522 i=78 i=12555 Size The size of the file in bytes. i=68 i=78 i=13599 Writable Whether the file is writable. i=68 i=78 i=13599 UserWritable Whether the file is writable by the current user. i=68 i=78 i=13599 OpenCount The current number of open file handles. i=68 i=78 i=13599 Open i=13606 i=13607 i=78 i=13599 InputArguments i=68 i=78 i=13605 i=297 Mode i=3 -1 OutputArguments i=68 i=78 i=13605 i=297 FileHandle i=7 -1 Close i=13609 i=78 i=13599 InputArguments i=68 i=78 i=13608 i=297 FileHandle i=7 -1 Read i=13611 i=13612 i=78 i=13599 InputArguments i=68 i=78 i=13610 i=297 FileHandle i=7 -1 i=297 Length i=6 -1 OutputArguments i=68 i=78 i=13610 i=297 Data i=15 -1 Write i=13614 i=78 i=13599 InputArguments i=68 i=78 i=13613 i=297 FileHandle i=7 -1 i=297 Data i=15 -1 GetPosition i=13616 i=13617 i=78 i=13599 InputArguments i=68 i=78 i=13615 i=297 FileHandle i=7 -1 OutputArguments i=68 i=78 i=13615 i=297 Position i=9 -1 SetPosition i=13619 i=78 i=13599 InputArguments i=68 i=78 i=13618 i=297 FileHandle i=7 -1 i=297 Position i=9 -1 LastUpdateTime i=68 i=78 i=13599 OpenWithMasks i=13622 i=13623 i=78 i=13599 InputArguments i=68 i=78 i=13621 i=297 Masks i=7 -1 OutputArguments i=68 i=78 i=13621 i=297 FileHandle i=7 -1 CertificateTypes i=68 i=78 i=12555 CertificateGroupFolderType i=13814 i=13848 i=13882 i=13916 i=61 DefaultApplicationGroup i=13815 i=13847 i=12555 i=78 i=13813 TrustList i=13816 i=13817 i=13818 i=13819 i=13821 i=13824 i=13826 i=13829 i=13831 i=13834 i=13836 i=13837 i=12522 i=78 i=13814 Size The size of the file in bytes. i=68 i=78 i=13815 Writable Whether the file is writable. i=68 i=78 i=13815 UserWritable Whether the file is writable by the current user. i=68 i=78 i=13815 OpenCount The current number of open file handles. i=68 i=78 i=13815 Open i=13822 i=13823 i=78 i=13815 InputArguments i=68 i=78 i=13821 i=297 Mode i=3 -1 OutputArguments i=68 i=78 i=13821 i=297 FileHandle i=7 -1 Close i=13825 i=78 i=13815 InputArguments i=68 i=78 i=13824 i=297 FileHandle i=7 -1 Read i=13827 i=13828 i=78 i=13815 InputArguments i=68 i=78 i=13826 i=297 FileHandle i=7 -1 i=297 Length i=6 -1 OutputArguments i=68 i=78 i=13826 i=297 Data i=15 -1 Write i=13830 i=78 i=13815 InputArguments i=68 i=78 i=13829 i=297 FileHandle i=7 -1 i=297 Data i=15 -1 GetPosition i=13832 i=13833 i=78 i=13815 InputArguments i=68 i=78 i=13831 i=297 FileHandle i=7 -1 OutputArguments i=68 i=78 i=13831 i=297 Position i=9 -1 SetPosition i=13835 i=78 i=13815 InputArguments i=68 i=78 i=13834 i=297 FileHandle i=7 -1 i=297 Position i=9 -1 LastUpdateTime i=68 i=78 i=13815 OpenWithMasks i=13838 i=13839 i=78 i=13815 InputArguments i=68 i=78 i=13837 i=297 Masks i=7 -1 OutputArguments i=68 i=78 i=13837 i=297 FileHandle i=7 -1 CertificateTypes i=68 i=78 i=13814 DefaultHttpsGroup i=13849 i=13881 i=12555 i=80 i=13813 TrustList i=13850 i=13851 i=13852 i=13853 i=13855 i=13858 i=13860 i=13863 i=13865 i=13868 i=13870 i=13871 i=12522 i=78 i=13848 Size The size of the file in bytes. i=68 i=78 i=13849 Writable Whether the file is writable. i=68 i=78 i=13849 UserWritable Whether the file is writable by the current user. i=68 i=78 i=13849 OpenCount The current number of open file handles. i=68 i=78 i=13849 Open i=13856 i=13857 i=78 i=13849 InputArguments i=68 i=78 i=13855 i=297 Mode i=3 -1 OutputArguments i=68 i=78 i=13855 i=297 FileHandle i=7 -1 Close i=13859 i=78 i=13849 InputArguments i=68 i=78 i=13858 i=297 FileHandle i=7 -1 Read i=13861 i=13862 i=78 i=13849 InputArguments i=68 i=78 i=13860 i=297 FileHandle i=7 -1 i=297 Length i=6 -1 OutputArguments i=68 i=78 i=13860 i=297 Data i=15 -1 Write i=13864 i=78 i=13849 InputArguments i=68 i=78 i=13863 i=297 FileHandle i=7 -1 i=297 Data i=15 -1 GetPosition i=13866 i=13867 i=78 i=13849 InputArguments i=68 i=78 i=13865 i=297 FileHandle i=7 -1 OutputArguments i=68 i=78 i=13865 i=297 Position i=9 -1 SetPosition i=13869 i=78 i=13849 InputArguments i=68 i=78 i=13868 i=297 FileHandle i=7 -1 i=297 Position i=9 -1 LastUpdateTime i=68 i=78 i=13849 OpenWithMasks i=13872 i=13873 i=78 i=13849 InputArguments i=68 i=78 i=13871 i=297 Masks i=7 -1 OutputArguments i=68 i=78 i=13871 i=297 FileHandle i=7 -1 CertificateTypes i=68 i=78 i=13848 DefaultUserTokenGroup i=13883 i=13915 i=12555 i=80 i=13813 TrustList i=13884 i=13885 i=13886 i=13887 i=13889 i=13892 i=13894 i=13897 i=13899 i=13902 i=13904 i=13905 i=12522 i=78 i=13882 Size The size of the file in bytes. i=68 i=78 i=13883 Writable Whether the file is writable. i=68 i=78 i=13883 UserWritable Whether the file is writable by the current user. i=68 i=78 i=13883 OpenCount The current number of open file handles. i=68 i=78 i=13883 Open i=13890 i=13891 i=78 i=13883 InputArguments i=68 i=78 i=13889 i=297 Mode i=3 -1 OutputArguments i=68 i=78 i=13889 i=297 FileHandle i=7 -1 Close i=13893 i=78 i=13883 InputArguments i=68 i=78 i=13892 i=297 FileHandle i=7 -1 Read i=13895 i=13896 i=78 i=13883 InputArguments i=68 i=78 i=13894 i=297 FileHandle i=7 -1 i=297 Length i=6 -1 OutputArguments i=68 i=78 i=13894 i=297 Data i=15 -1 Write i=13898 i=78 i=13883 InputArguments i=68 i=78 i=13897 i=297 FileHandle i=7 -1 i=297 Data i=15 -1 GetPosition i=13900 i=13901 i=78 i=13883 InputArguments i=68 i=78 i=13899 i=297 FileHandle i=7 -1 OutputArguments i=68 i=78 i=13899 i=297 Position i=9 -1 SetPosition i=13903 i=78 i=13883 InputArguments i=68 i=78 i=13902 i=297 FileHandle i=7 -1 i=297 Position i=9 -1 LastUpdateTime i=68 i=78 i=13883 OpenWithMasks i=13906 i=13907 i=78 i=13883 InputArguments i=68 i=78 i=13905 i=297 Masks i=7 -1 OutputArguments i=68 i=78 i=13905 i=297 FileHandle i=7 -1 CertificateTypes i=68 i=78 i=13882 <CertificateGroup> i=13917 i=13949 i=12555 i=11510 i=13813 TrustList i=13918 i=13919 i=13920 i=13921 i=13923 i=13926 i=13928 i=13931 i=13933 i=13936 i=13938 i=13939 i=12522 i=78 i=13916 Size The size of the file in bytes. i=68 i=78 i=13917 Writable Whether the file is writable. i=68 i=78 i=13917 UserWritable Whether the file is writable by the current user. i=68 i=78 i=13917 OpenCount The current number of open file handles. i=68 i=78 i=13917 Open i=13924 i=13925 i=78 i=13917 InputArguments i=68 i=78 i=13923 i=297 Mode i=3 -1 OutputArguments i=68 i=78 i=13923 i=297 FileHandle i=7 -1 Close i=13927 i=78 i=13917 InputArguments i=68 i=78 i=13926 i=297 FileHandle i=7 -1 Read i=13929 i=13930 i=78 i=13917 InputArguments i=68 i=78 i=13928 i=297 FileHandle i=7 -1 i=297 Length i=6 -1 OutputArguments i=68 i=78 i=13928 i=297 Data i=15 -1 Write i=13932 i=78 i=13917 InputArguments i=68 i=78 i=13931 i=297 FileHandle i=7 -1 i=297 Data i=15 -1 GetPosition i=13934 i=13935 i=78 i=13917 InputArguments i=68 i=78 i=13933 i=297 FileHandle i=7 -1 OutputArguments i=68 i=78 i=13933 i=297 Position i=9 -1 SetPosition i=13937 i=78 i=13917 InputArguments i=68 i=78 i=13936 i=297 FileHandle i=7 -1 i=297 Position i=9 -1 LastUpdateTime i=68 i=78 i=13917 OpenWithMasks i=13940 i=13941 i=78 i=13917 InputArguments i=68 i=78 i=13939 i=297 Masks i=7 -1 OutputArguments i=68 i=78 i=13939 i=297 FileHandle i=7 -1 CertificateTypes i=68 i=78 i=13916 CertificateType i=58 ApplicationCertificateType i=12556 HttpsCertificateType i=12556 RsaMinApplicationCertificateType i=12557 RsaSha256ApplicationCertificateType i=12557 TrustListUpdatedAuditEventType i=2127 ServerConfigurationType i=13950 i=12708 i=12583 i=12584 i=12585 i=12616 i=12734 i=12731 i=12775 i=58 CertificateGroups i=13951 i=13813 i=78 i=12581 DefaultApplicationGroup i=13952 i=13984 i=12555 i=78 i=13950 TrustList i=13953 i=13954 i=13955 i=13956 i=13958 i=13961 i=13963 i=13966 i=13968 i=13971 i=13973 i=13974 i=12522 i=78 i=13951 Size The size of the file in bytes. i=68 i=78 i=13952 Writable Whether the file is writable. i=68 i=78 i=13952 UserWritable Whether the file is writable by the current user. i=68 i=78 i=13952 OpenCount The current number of open file handles. i=68 i=78 i=13952 Open i=13959 i=13960 i=78 i=13952 InputArguments i=68 i=78 i=13958 i=297 Mode i=3 -1 OutputArguments i=68 i=78 i=13958 i=297 FileHandle i=7 -1 Close i=13962 i=78 i=13952 InputArguments i=68 i=78 i=13961 i=297 FileHandle i=7 -1 Read i=13964 i=13965 i=78 i=13952 InputArguments i=68 i=78 i=13963 i=297 FileHandle i=7 -1 i=297 Length i=6 -1 OutputArguments i=68 i=78 i=13963 i=297 Data i=15 -1 Write i=13967 i=78 i=13952 InputArguments i=68 i=78 i=13966 i=297 FileHandle i=7 -1 i=297 Data i=15 -1 GetPosition i=13969 i=13970 i=78 i=13952 InputArguments i=68 i=78 i=13968 i=297 FileHandle i=7 -1 OutputArguments i=68 i=78 i=13968 i=297 Position i=9 -1 SetPosition i=13972 i=78 i=13952 InputArguments i=68 i=78 i=13971 i=297 FileHandle i=7 -1 i=297 Position i=9 -1 LastUpdateTime i=68 i=78 i=13952 OpenWithMasks i=13975 i=13976 i=78 i=13952 InputArguments i=68 i=78 i=13974 i=297 Masks i=7 -1 OutputArguments i=68 i=78 i=13974 i=297 FileHandle i=7 -1 CertificateTypes i=68 i=78 i=13951 ServerCapabilities i=68 i=78 i=12581 SupportedPrivateKeyFormats i=68 i=78 i=12581 MaxTrustListSize i=68 i=78 i=12581 MulticastDnsEnabled i=68 i=78 i=12581 UpdateCertificate i=12617 i=12618 i=78 i=12581 InputArguments i=68 i=78 i=12616 i=297 CertificateGroupId i=17 -1 i=297 CertificateTypeId i=17 -1 i=297 Certificate i=15 -1 i=297 IssuerCertificates i=15 1 i=297 PrivateKeyFormat i=12 -1 i=297 PrivateKey i=15 -1 OutputArguments i=68 i=78 i=12616 i=297 ApplyChangesRequired i=1 -1 ApplyChanges i=78 i=12581 CreateSigningRequest i=12732 i=12733 i=78 i=12581 InputArguments i=68 i=78 i=12731 i=297 CertificateGroupId i=17 -1 i=297 CertificateTypeId i=17 -1 i=297 SubjectName i=12 -1 i=297 RegeneratePrivateKey i=1 -1 i=297 Nonce i=15 -1 OutputArguments i=68 i=78 i=12731 i=297 CertificateRequest i=15 -1 GetRejectedList i=12776 i=78 i=12581 OutputArguments i=68 i=78 i=12775 i=297 Certificates i=15 1 CertificateUpdatedAuditEventType i=13735 i=13736 i=2127 CertificateGroup i=68 i=78 i=12620 CertificateType i=68 i=78 i=12620 ServerConfiguration i=14053 i=12710 i=12639 i=12640 i=12641 i=13737 i=12740 i=12737 i=12777 i=2253 i=12581 CertificateGroups i=14156 i=14088 i=14122 i=13813 i=12637 DefaultApplicationGroup i=12642 i=14161 i=12555 i=14053 TrustList i=12643 i=14157 i=14158 i=12646 i=12647 i=12650 i=12652 i=12655 i=12657 i=12660 i=12662 i=12663 i=12666 i=12668 i=12670 i=12522 i=14156 Size The size of the file in bytes. i=68 i=12642 Writable Whether the file is writable. i=68 i=12642 UserWritable Whether the file is writable by the current user. i=68 i=12642 OpenCount The current number of open file handles. i=68 i=12642 Open i=12648 i=12649 i=12642 InputArguments i=68 i=12647 i=297 Mode i=3 -1 OutputArguments i=68 i=12647 i=297 FileHandle i=7 -1 Close i=12651 i=12642 InputArguments i=68 i=12650 i=297 FileHandle i=7 -1 Read i=12653 i=12654 i=12642 InputArguments i=68 i=12652 i=297 FileHandle i=7 -1 i=297 Length i=6 -1 OutputArguments i=68 i=12652 i=297 Data i=15 -1 Write i=12656 i=12642 InputArguments i=68 i=12655 i=297 FileHandle i=7 -1 i=297 Data i=15 -1 GetPosition i=12658 i=12659 i=12642 InputArguments i=68 i=12657 i=297 FileHandle i=7 -1 OutputArguments i=68 i=12657 i=297 Position i=9 -1 SetPosition i=12661 i=12642 InputArguments i=68 i=12660 i=297 FileHandle i=7 -1 i=297 Position i=9 -1 LastUpdateTime i=68 i=12642 OpenWithMasks i=12664 i=12665 i=12642 InputArguments i=68 i=12663 i=297 Masks i=7 -1 OutputArguments i=68 i=12663 i=297 FileHandle i=7 -1 CloseAndUpdate i=14160 i=12667 i=12642 InputArguments i=68 i=12666 i=297 FileHandle i=7 -1 OutputArguments i=68 i=12666 i=297 ApplyChangesRequired i=1 -1 AddCertificate i=12669 i=12642 InputArguments i=68 i=12668 i=297 Certificate i=15 -1 i=297 IsTrustedCertificate i=1 -1 RemoveCertificate i=12671 i=12642 InputArguments i=68 i=12670 i=297 Thumbprint i=12 -1 i=297 IsTrustedCertificate i=1 -1 CertificateTypes i=68 i=14156 DefaultHttpsGroup i=14089 i=14121 i=12555 i=14053 TrustList i=14090 i=14091 i=14092 i=14093 i=14095 i=14098 i=14100 i=14103 i=14105 i=14108 i=14110 i=14111 i=14114 i=14117 i=14119 i=12522 i=14088 Size The size of the file in bytes. i=68 i=14089 Writable Whether the file is writable. i=68 i=14089 UserWritable Whether the file is writable by the current user. i=68 i=14089 OpenCount The current number of open file handles. i=68 i=14089 Open i=14096 i=14097 i=14089 InputArguments i=68 i=14095 i=297 Mode i=3 -1 OutputArguments i=68 i=14095 i=297 FileHandle i=7 -1 Close i=14099 i=14089 InputArguments i=68 i=14098 i=297 FileHandle i=7 -1 Read i=14101 i=14102 i=14089 InputArguments i=68 i=14100 i=297 FileHandle i=7 -1 i=297 Length i=6 -1 OutputArguments i=68 i=14100 i=297 Data i=15 -1 Write i=14104 i=14089 InputArguments i=68 i=14103 i=297 FileHandle i=7 -1 i=297 Data i=15 -1 GetPosition i=14106 i=14107 i=14089 InputArguments i=68 i=14105 i=297 FileHandle i=7 -1 OutputArguments i=68 i=14105 i=297 Position i=9 -1 SetPosition i=14109 i=14089 InputArguments i=68 i=14108 i=297 FileHandle i=7 -1 i=297 Position i=9 -1 LastUpdateTime i=68 i=14089 OpenWithMasks i=14112 i=14113 i=14089 InputArguments i=68 i=14111 i=297 Masks i=7 -1 OutputArguments i=68 i=14111 i=297 FileHandle i=7 -1 CloseAndUpdate i=14115 i=14116 i=14089 InputArguments i=68 i=14114 i=297 FileHandle i=7 -1 OutputArguments i=68 i=14114 i=297 ApplyChangesRequired i=1 -1 AddCertificate i=14118 i=14089 InputArguments i=68 i=14117 i=297 Certificate i=15 -1 i=297 IsTrustedCertificate i=1 -1 RemoveCertificate i=14120 i=14089 InputArguments i=68 i=14119 i=297 Thumbprint i=12 -1 i=297 IsTrustedCertificate i=1 -1 CertificateTypes i=68 i=14088 DefaultUserTokenGroup i=14123 i=14155 i=12555 i=14053 TrustList i=14124 i=14125 i=14126 i=14127 i=14129 i=14132 i=14134 i=14137 i=14139 i=14142 i=14144 i=14145 i=14148 i=14151 i=14153 i=12522 i=14122 Size The size of the file in bytes. i=68 i=14123 Writable Whether the file is writable. i=68 i=14123 UserWritable Whether the file is writable by the current user. i=68 i=14123 OpenCount The current number of open file handles. i=68 i=14123 Open i=14130 i=14131 i=14123 InputArguments i=68 i=14129 i=297 Mode i=3 -1 OutputArguments i=68 i=14129 i=297 FileHandle i=7 -1 Close i=14133 i=14123 InputArguments i=68 i=14132 i=297 FileHandle i=7 -1 Read i=14135 i=14136 i=14123 InputArguments i=68 i=14134 i=297 FileHandle i=7 -1 i=297 Length i=6 -1 OutputArguments i=68 i=14134 i=297 Data i=15 -1 Write i=14138 i=14123 InputArguments i=68 i=14137 i=297 FileHandle i=7 -1 i=297 Data i=15 -1 GetPosition i=14140 i=14141 i=14123 InputArguments i=68 i=14139 i=297 FileHandle i=7 -1 OutputArguments i=68 i=14139 i=297 Position i=9 -1 SetPosition i=14143 i=14123 InputArguments i=68 i=14142 i=297 FileHandle i=7 -1 i=297 Position i=9 -1 LastUpdateTime i=68 i=14123 OpenWithMasks i=14146 i=14147 i=14123 InputArguments i=68 i=14145 i=297 Masks i=7 -1 OutputArguments i=68 i=14145 i=297 FileHandle i=7 -1 CloseAndUpdate i=14149 i=14150 i=14123 InputArguments i=68 i=14148 i=297 FileHandle i=7 -1 OutputArguments i=68 i=14148 i=297 ApplyChangesRequired i=1 -1 AddCertificate i=14152 i=14123 InputArguments i=68 i=14151 i=297 Certificate i=15 -1 i=297 IsTrustedCertificate i=1 -1 RemoveCertificate i=14154 i=14123 InputArguments i=68 i=14153 i=297 Thumbprint i=12 -1 i=297 IsTrustedCertificate i=1 -1 CertificateTypes i=68 i=14122 ServerCapabilities i=68 i=12637 SupportedPrivateKeyFormats i=68 i=12637 MaxTrustListSize i=68 i=12637 MulticastDnsEnabled i=68 i=12637 UpdateCertificate i=13738 i=13739 i=12637 InputArguments i=68 i=13737 i=297 CertificateGroupId i=17 -1 i=297 CertificateTypeId i=17 -1 i=297 Certificate i=15 -1 i=297 IssuerCertificates i=15 1 i=297 PrivateKeyFormat i=12 -1 i=297 PrivateKey i=15 -1 OutputArguments i=68 i=13737 i=297 ApplyChangesRequired i=1 -1 ApplyChanges i=12637 CreateSigningRequest i=12738 i=12739 i=12637 InputArguments i=68 i=12737 i=297 CertificateGroupId i=17 -1 i=297 CertificateTypeId i=17 -1 i=297 SubjectName i=12 -1 i=297 RegeneratePrivateKey i=1 -1 i=297 Nonce i=15 -1 OutputArguments i=68 i=12737 i=297 CertificateRequest i=15 -1 GetRejectedList i=12778 i=12637 OutputArguments i=68 i=12777 i=297 Certificates i=15 1 AggregateConfigurationType i=11188 i=11189 i=11190 i=11191 i=58 TreatUncertainAsBad i=68 i=78 i=11187 PercentDataBad i=68 i=78 i=11187 PercentDataGood i=68 i=78 i=11187 UseSlopedExtrapolation i=68 i=78 i=11187 Interpolative At the beginning of each interval, retrieve the calculated value from the data points on either side of the requested timestamp. i=2340 Average Retrieve the average value of the data over the interval. i=2340 TimeAverage Retrieve the time weighted average data over the interval using Interpolated Bounding Values. i=2340 TimeAverage2 Retrieve the time weighted average data over the interval using Simple Bounding Values. i=2340 Total Retrieve the total (time integral) of the data over the interval using Interpolated Bounding Values. i=2340 Total2 Retrieve the total (time integral) of the data over the interval using Simple Bounding Values. i=2340 Minimum Retrieve the minimum raw value in the interval with the timestamp of the start of the interval. i=2340 Maximum Retrieve the maximum raw value in the interval with the timestamp of the start of the interval. i=2340 MinimumActualTime Retrieve the minimum value in the interval and the Timestamp of the minimum value. i=2340 MaximumActualTime Retrieve the maximum value in the interval and the Timestamp of the maximum value. i=2340 Range Retrieve the difference between the minimum and maximum Value over the interval. i=2340 Minimum2 Retrieve the minimum value in the interval including the Simple Bounding Values. i=2340 Maximum2 Retrieve the maximum value in the interval including the Simple Bounding Values. i=2340 MinimumActualTime2 Retrieve the minimum value with the actual timestamp including the Simple Bounding Values. i=2340 MaximumActualTime2 Retrieve the maximum value with the actual timestamp including the Simple Bounding Values. i=2340 Range2 Retrieve the difference between the Minimum2 and Maximum2 value over the interval. i=2340 AnnotationCount Retrieve the number of Annotations in the interval. i=2340 Count Retrieve the number of raw values over the interval. i=2340 DurationInStateZero Retrieve the time a Boolean or numeric was in a zero state using Simple Bounding Values. i=2340 DurationInStateNonZero Retrieve the time a Boolean or numeric was in a non-zero state using Simple Bounding Values. i=2340 NumberOfTransitions Retrieve the number of changes between zero and non-zero that a Boolean or Numeric value experienced in the interval. i=2340 Start Retrieve the value at the beginning of the interval using Interpolated Bounding Values. i=2340 End Retrieve the value at the end of the interval using Interpolated Bounding Values. i=2340 Delta Retrieve the difference between the Start and End value in the interval. i=2340 StartBound Retrieve the value at the beginning of the interval using Simple Bounding Values. i=2340 EndBound Retrieve the value at the end of the interval using Simple Bounding Values. i=2340 DeltaBounds Retrieve the difference between the StartBound and EndBound value in the interval. i=2340 DurationGood Retrieve the total duration of time in the interval during which the data is good. i=2340 DurationBad Retrieve the total duration of time in the interval during which the data is bad. i=2340 PercentGood Retrieve the percent of data (0 to 100) in the interval which has a good StatusCode. i=2340 PercentBad Retrieve the percent of data (0 to 100) in the interval which has a bad StatusCode. i=2340 WorstQuality Retrieve the worst StatusCode of data in the interval. i=2340 WorstQuality2 Retrieve the worst StatusCode of data in the interval including the Simple Bounding Values. i=2340 StandardDeviationSample Retrieve the standard deviation for the interval for a sample of the population (n-1). i=2340 StandardDeviationPopulation Retrieve the standard deviation for the interval for a complete population (n) which includes Simple Bounding Values. i=2340 VarianceSample Retrieve the variance for the interval as calculated by the StandardDeviationSample. i=2340 VariancePopulation Retrieve the variance for the interval as calculated by the StandardDeviationPopulation which includes Simple Bounding Values. i=2340 IdType The type of identifier used in a node id. i=7591 i=29 The identifier is a numeric value. 0 is a null value. The identifier is a string value. An empty string is a null value. The identifier is a 16 byte structure. 16 zero bytes is a null value. The identifier is an array of bytes. A zero length array is a null value. EnumStrings i=68 i=78 i=256 Numeric String Guid Opaque NodeClass A mask specifying the class of the node. i=11878 i=29 No classes are selected. The node is an object. The node is a variable. The node is a method. The node is an object type. The node is an variable type. The node is a reference type. The node is a data type. The node is a view. EnumValues i=68 i=78 i=257 i=7616 0 Unspecified No classes are selected. i=7616 1 Object The node is an object. i=7616 2 Variable The node is a variable. i=7616 4 Method The node is a method. i=7616 8 ObjectType The node is an object type. i=7616 16 VariableType The node is an variable type. i=7616 32 ReferenceType The node is a reference type. i=7616 64 DataType The node is a data type. i=7616 128 View The node is a view. Argument An argument for a method. i=22 The name of the argument. The data type of the argument. Whether the argument is an array type and the rank of the array if it is. The number of dimensions if the argument is an array type and one or more dimensions have a fixed length. The description for the argument. EnumValueType A mapping between a value of an enumerated type and a name and description. i=22 The value of the enumeration. Human readable name for the value. A description of the value. OptionSet This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask. i=22 Array of bytes representing the bits in the option set. Array of bytes with same size as value representing the valid bits in the value parameter. Union This abstract DataType is the base DataType for all union DataTypes. i=22 NormalizedString A string normalized based on the rules in the unicode specification. i=12 DecimalString An arbitraty numeric value. i=12 DurationString A period of time formatted as defined in ISO 8601-2000. i=12 TimeString A time formatted as defined in ISO 8601-2000. i=12 DateString A date formatted as defined in ISO 8601-2000. i=12 Duration A period of time measured in milliseconds. i=11 UtcTime A date/time value specified in Universal Coordinated Time (UTC). i=13 LocaleId An identifier for a user locale. i=12 TimeZoneDataType i=22 IntegerId A numeric identifier for an object. i=7 ApplicationType The types of applications. i=7597 i=29 The application is a server. The application is a client. The application is a client and a server. The application is a discovery server. EnumStrings i=68 i=78 i=307 Server Client ClientAndServer DiscoveryServer ApplicationDescription Describes an application and how to find it. i=22 The globally unique identifier for the application. The globally unique identifier for the product. The name of application. The type of application. The globally unique identifier for the server that is acting as a gateway for the server. The globally unique identifier for the discovery profile supported by the server. The URLs for the server's discovery endpoints. ServerOnNetwork i=22 ApplicationInstanceCertificate A certificate for an instance of an application. i=15 MessageSecurityMode The type of security to use on a message. i=7595 i=29 An invalid mode. No security is used. The message is signed. The message is signed and encrypted. EnumStrings i=68 i=78 i=302 Invalid None Sign SignAndEncrypt UserTokenType The possible user token types. i=7596 i=29 An anonymous user. A user identified by a user name and password. A user identified by an X509 certificate. A user identified by WS-Security XML token. A user identified by Kerberos ticket. EnumStrings i=68 i=78 i=303 Anonymous UserName Certificate IssuedToken Kerberos UserTokenPolicy Describes a user token that can be used with a server. i=22 A identifier for the policy assigned by the server. The type of user token. The type of issued token. The endpoint or any other information need to contruct an issued token URL. The security policy to use when encrypting or signing the user token. EndpointDescription The description of a endpoint that can be used to access a server. i=22 The network endpoint to use when connecting to the server. The description of the server. The server's application certificate. The security mode that must be used when connecting to the endpoint. The security policy to use when connecting to the endpoint. The user identity tokens that can be used with this endpoint. The transport profile to use when connecting to the endpoint. A server assigned value that indicates how secure the endpoint is relative to other server endpoints. RegisteredServer The information required to register a server with a discovery server. i=22 The globally unique identifier for the server. The globally unique identifier for the product. The name of server in multiple lcoales. The type of server. The globally unique identifier for the server that is acting as a gateway for the server. The URLs for the server's discovery endpoints. A path to a file that is deleted when the server is no longer accepting connections. If FALSE the server will save the registration information to a persistent datastore. DiscoveryConfiguration A base type for discovery configuration information. i=22 MdnsDiscoveryConfiguration The discovery information needed for mDNS registration. i=12890 The name for server that is broadcast via mDNS. The server capabilities that are broadcast via mDNS. SecurityTokenRequestType Indicates whether a token if being created or renewed. i=7598 i=29 The channel is being created. The channel is being renewed. EnumStrings i=68 i=78 i=315 Issue Renew SignedSoftwareCertificate A software certificate with a digital signature. i=22 The data of the certificate. The digital signature. SessionAuthenticationToken A unique identifier for a session used to authenticate requests. i=17 UserIdentityToken A base type for a user identity token. i=22 The policy id specified in a user token policy for the endpoint being used. AnonymousIdentityToken A token representing an anonymous user. i=316 UserNameIdentityToken A token representing a user identified by a user name and password. i=316 The user name. The password encrypted with the server certificate. The algorithm used to encrypt the password. X509IdentityToken A token representing a user identified by an X509 certificate. i=316 The certificate. KerberosIdentityToken i=316 IssuedIdentityToken A token representing a user identified by a WS-Security XML token. i=316 The XML token encrypted with the server certificate. The algorithm used to encrypt the certificate. NodeAttributesMask The bits used to specify default attributes for a new node. i=11881 i=29 No attribuites provided. The access level attribute is specified. The array dimensions attribute is specified. The browse name attribute is specified. The contains no loops attribute is specified. The data type attribute is specified. The description attribute is specified. The display name attribute is specified. The event notifier attribute is specified. The executable attribute is specified. The historizing attribute is specified. The inverse name attribute is specified. The is abstract attribute is specified. The minimum sampling interval attribute is specified. The node class attribute is specified. The node id attribute is specified. The symmetric attribute is specified. The user access level attribute is specified. The user executable attribute is specified. The user write mask attribute is specified. The value rank attribute is specified. The write mask attribute is specified. The value attribute is specified. All attributes are specified. All base attributes are specified. All object attributes are specified. All object type or data type attributes are specified. All variable attributes are specified. All variable type attributes are specified. All method attributes are specified. All reference type attributes are specified. All view attributes are specified. EnumValues i=68 i=78 i=348 i=7616 0 None No attribuites provided. i=7616 1 AccessLevel The access level attribute is specified. i=7616 2 ArrayDimensions The array dimensions attribute is specified. i=7616 4 BrowseName The browse name attribute is specified. i=7616 8 ContainsNoLoops The contains no loops attribute is specified. i=7616 16 DataType The data type attribute is specified. i=7616 32 Description The description attribute is specified. i=7616 64 DisplayName The display name attribute is specified. i=7616 128 EventNotifier The event notifier attribute is specified. i=7616 256 Executable The executable attribute is specified. i=7616 512 Historizing The historizing attribute is specified. i=7616 1024 InverseName The inverse name attribute is specified. i=7616 2048 IsAbstract The is abstract attribute is specified. i=7616 4096 MinimumSamplingInterval The minimum sampling interval attribute is specified. i=7616 8192 NodeClass The node class attribute is specified. i=7616 16384 NodeId The node id attribute is specified. i=7616 32768 Symmetric The symmetric attribute is specified. i=7616 65536 UserAccessLevel The user access level attribute is specified. i=7616 131072 UserExecutable The user executable attribute is specified. i=7616 262144 UserWriteMask The user write mask attribute is specified. i=7616 524288 ValueRank The value rank attribute is specified. i=7616 1048576 WriteMask The write mask attribute is specified. i=7616 2097152 Value The value attribute is specified. i=7616 4194303 All All attributes are specified. i=7616 1335396 BaseNode All base attributes are specified. i=7616 1335524 Object All object attributes are specified. i=7616 1337444 ObjectTypeOrDataType All object type or data type attributes are specified. i=7616 4026999 Variable All variable attributes are specified. i=7616 3958902 VariableType All variable type attributes are specified. i=7616 1466724 Method All method attributes are specified. i=7616 1371236 ReferenceType All reference type attributes are specified. i=7616 1335532 View All view attributes are specified. AddNodesItem A request to add a node to the server address space. i=22 The node id for the parent node. The type of reference from the parent to the new node. The node id requested by the client. If null the server must provide one. The browse name for the new node. The class of the new node. The default attributes for the new node. The type definition for the new node. AddReferencesItem A request to add a reference to the server address space. i=22 The source of the reference. The type of reference. If TRUE the reference is a forward reference. The URI of the server containing the target (if in another server). The target of the reference. The node class of the target (if known). DeleteNodesItem A request to delete a node to the server address space. i=22 The id of the node to delete. If TRUE all references to the are deleted as well. DeleteReferencesItem A request to delete a node from the server address space. i=22 The source of the reference to delete. The type of reference to delete. If TRUE the a forward reference is deleted. The target of the reference to delete. If TRUE the reference is deleted in both directions. AttributeWriteMask Define bits used to indicate which attributes are writable. i=11882 i=29 No attributes are writable. The access level attribute is writable. The array dimensions attribute is writable. The browse name attribute is writable. The contains no loops attribute is writable. The data type attribute is writable. The description attribute is writable. The display name attribute is writable. The event notifier attribute is writable. The executable attribute is writable. The historizing attribute is writable. The inverse name attribute is writable. The is abstract attribute is writable. The minimum sampling interval attribute is writable. The node class attribute is writable. The node id attribute is writable. The symmetric attribute is writable. The user access level attribute is writable. The user executable attribute is writable. The user write mask attribute is writable. The value rank attribute is writable. The write mask attribute is writable. The value attribute is writable. EnumValues i=68 i=78 i=347 i=7616 0 None No attributes are writable. i=7616 1 AccessLevel The access level attribute is writable. i=7616 2 ArrayDimensions The array dimensions attribute is writable. i=7616 4 BrowseName The browse name attribute is writable. i=7616 8 ContainsNoLoops The contains no loops attribute is writable. i=7616 16 DataType The data type attribute is writable. i=7616 32 Description The description attribute is writable. i=7616 64 DisplayName The display name attribute is writable. i=7616 128 EventNotifier The event notifier attribute is writable. i=7616 256 Executable The executable attribute is writable. i=7616 512 Historizing The historizing attribute is writable. i=7616 1024 InverseName The inverse name attribute is writable. i=7616 2048 IsAbstract The is abstract attribute is writable. i=7616 4096 MinimumSamplingInterval The minimum sampling interval attribute is writable. i=7616 8192 NodeClass The node class attribute is writable. i=7616 16384 NodeId The node id attribute is writable. i=7616 32768 Symmetric The symmetric attribute is writable. i=7616 65536 UserAccessLevel The user access level attribute is writable. i=7616 131072 UserExecutable The user executable attribute is writable. i=7616 262144 UserWriteMask The user write mask attribute is writable. i=7616 524288 ValueRank The value rank attribute is writable. i=7616 1048576 WriteMask The write mask attribute is writable. i=7616 2097152 ValueForVariableType The value attribute is writable. ContinuationPoint An identifier for a suspended query or browse operation. i=15 RelativePathElement An element in a relative path. i=22 The type of reference to follow. If TRUE the reverse reference is followed. If TRUE then subtypes of the reference type are followed. The browse name of the target. RelativePath A relative path constructed from reference types and browse names. i=22 A list of elements in the path. Counter A monotonically increasing value. i=7 NumericRange Specifies a range of array indexes. i=12 Time A time value specified as HH:MM:SS.SSS. i=12 Date A date value. i=13 EndpointConfiguration i=22 ComplianceLevel i=7599 i=29 EnumStrings i=68 i=78 i=334 Untested Partial SelfTested Certified SupportedProfile i=22 SoftwareCertificate i=22 FilterOperator i=7605 i=29 EnumStrings i=68 i=78 i=576 Equals IsNull GreaterThan LessThan GreaterThanOrEqual LessThanOrEqual Like Not Between InList And Or Cast InView OfType RelatedTo BitwiseAnd BitwiseOr ContentFilterElement i=22 ContentFilter i=22 FilterOperand i=22 ElementOperand i=589 LiteralOperand i=589 AttributeOperand i=589 SimpleAttributeOperand i=589 HistoryEvent i=22 HistoryUpdateType i=11884 i=29 EnumValues i=68 i=78 i=11234 i=7616 1 Insert i=7616 2 Replace i=7616 3 Update i=7616 4 Delete PerformUpdateType i=11885 i=29 EnumValues i=68 i=78 i=11293 i=7616 1 Insert i=7616 2 Replace i=7616 3 Update i=7616 4 Remove MonitoringFilter i=22 EventFilter i=719 AggregateConfiguration i=22 HistoryEventFieldList i=22 EnumeratedTestType A simple enumerated type used for testing. i=11886 i=29 Operation has halted. Operation is proceeding with caution. Operation is proceeding normally. EnumValues i=68 i=78 i=398 i=7616 1 Red Operation has halted. i=7616 4 Yellow Operation is proceeding with caution. i=7616 5 Green Operation is proceeding normally. BuildInfo i=22 RedundancySupport i=7611 i=29 EnumStrings i=68 i=78 i=851 None Cold Warm Hot Transparent HotAndMirrored ServerState i=7612 i=29 EnumStrings i=68 i=78 i=852 Running Failed NoConfiguration Suspended Shutdown Test CommunicationFault Unknown RedundantServerDataType i=22 EndpointUrlListDataType i=22 NetworkGroupDataType i=22 SamplingIntervalDiagnosticsDataType i=22 ServerDiagnosticsSummaryDataType i=22 ServerStatusDataType i=22 SessionDiagnosticsDataType i=22 SessionSecurityDiagnosticsDataType i=22 ServiceCounterDataType i=22 StatusResult i=22 SubscriptionDiagnosticsDataType i=22 ModelChangeStructureDataType i=22 SemanticChangeStructureDataType i=22 Range i=22 EUInformation i=22 AxisScaleEnumeration i=12078 i=29 EnumStrings i=68 i=78 i=12077 Linear Log Ln ComplexNumberType i=22 DoubleComplexNumberType i=22 AxisInformation i=22 XVType i=22 ProgramDiagnosticDataType i=22 Annotation i=22 ExceptionDeviationFormat i=7614 i=29 EnumStrings i=68 i=78 i=890 AbsoluteValue PercentOfValue PercentOfRange PercentOfEURange Unknown Default XML i=12554 i=12677 i=76 Default XML i=296 i=8285 i=76 Default XML i=7594 i=8291 i=76 Default XML i=12755 i=12759 i=76 Default XML i=12756 i=12762 i=76 Default XML i=8912 i=8918 i=76 Default XML i=308 i=8300 i=76 Default XML i=12189 i=12201 i=76 Default XML i=304 i=8297 i=76 Default XML i=312 i=8303 i=76 Default XML i=432 i=8417 i=76 Default XML i=12890 i=12894 i=76 Default XML i=12891 i=12897 i=76 Default XML i=344 i=8333 i=76 Default XML i=316 i=8306 i=76 Default XML i=319 i=8309 i=76 Default XML i=322 i=8312 i=76 Default XML i=325 i=8315 i=76 Default XML i=12504 i=12506 i=76 Default XML i=938 i=8318 i=76 Default XML i=376 i=8363 i=76 Default XML i=379 i=8366 i=76 Default XML i=382 i=8369 i=76 Default XML i=385 i=8372 i=76 Default XML i=537 i=12712 i=76 Default XML i=540 i=12715 i=76 Default XML i=331 i=8321 i=76 Default XML i=335 i=8324 i=76 Default XML i=341 i=8330 i=76 Default XML i=583 i=8564 i=76 Default XML i=586 i=8567 i=76 Default XML i=589 i=8570 i=76 Default XML i=592 i=8573 i=76 Default XML i=595 i=8576 i=76 Default XML i=598 i=8579 i=76 Default XML i=601 i=8582 i=76 Default XML i=659 i=8639 i=76 Default XML i=719 i=8702 i=76 Default XML i=725 i=8708 i=76 Default XML i=948 i=8711 i=76 Default XML i=920 i=8807 i=76 Default XML i=338 i=8327 i=76 Default XML i=853 i=8843 i=76 Default XML i=11943 i=11951 i=76 Default XML i=11944 i=11954 i=76 Default XML i=856 i=8846 i=76 Default XML i=859 i=8849 i=76 Default XML i=862 i=8852 i=76 Default XML i=865 i=8855 i=76 Default XML i=868 i=8858 i=76 Default XML i=871 i=8861 i=76 Default XML i=299 i=8294 i=76 Default XML i=874 i=8864 i=76 Default XML i=877 i=8867 i=76 Default XML i=897 i=8870 i=76 Default XML i=884 i=8873 i=76 Default XML i=887 i=8876 i=76 Default XML i=12171 i=12175 i=76 Default XML i=12172 i=12178 i=76 Default XML i=12079 i=12083 i=76 Default XML i=12080 i=12086 i=76 Default XML i=894 i=8882 i=76 Default XML i=891 i=8879 i=76 Opc.Ua i=8254 i=12677 i=8285 i=8291 i=12759 i=12762 i=8918 i=8300 i=12201 i=8297 i=8303 i=8417 i=12894 i=12897 i=8333 i=8306 i=8309 i=8312 i=8315 i=12506 i=8318 i=8363 i=8366 i=8369 i=8372 i=12712 i=12715 i=8321 i=8324 i=8330 i=8564 i=8567 i=8570 i=8573 i=8576 i=8579 i=8582 i=8639 i=8702 i=8708 i=8711 i=8807 i=8327 i=8843 i=11951 i=11954 i=8846 i=8849 i=8852 i=8855 i=8858 i=8861 i=8294 i=8864 i=8867 i=8870 i=8873 i=8876 i=12175 i=12178 i=12083 i=12086 i=8882 i=8879 i=92 i=72 PHhzOnNjaGVtYQ0KICB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEi DQogIHhtbG5zOnVhPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvMjAwOC8wMi9UeXBlcy54 c2QiDQogIHhtbG5zOnRucz0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VBLzIwMDgvMDIvVHlw ZXMueHNkIg0KICB0YXJnZXROYW1lc3BhY2U9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9VQS8y MDA4LzAyL1R5cGVzLnhzZCINCiAgZWxlbWVudEZvcm1EZWZhdWx0PSJxdWFsaWZpZWQiDQo+DQog IDx4czplbGVtZW50IG5hbWU9IkJvb2xlYW4iIG5pbGxhYmxlPSJ0cnVlIiB0eXBlPSJ4czpib29s ZWFuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZCb29sZWFuIj4NCiAgICA8 eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCb29sZWFuIiB0eXBlPSJ4czpi b29sZWFuIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6 c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RP ZkJvb2xlYW4iIHR5cGU9InRuczpMaXN0T2ZCb29sZWFuIiBuaWxsYWJsZT0idHJ1ZSI+PC94czpl bGVtZW50Pg0KDQogIDx4czplbGVtZW50IG5hbWU9IlNCeXRlIiBuaWxsYWJsZT0idHJ1ZSIgdHlw ZT0ieHM6Ynl0ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU0J5dGUiPg0K ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNCeXRlIiB0eXBlPSJ4 czpieXRlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6 c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RP ZlNCeXRlIiB0eXBlPSJ0bnM6TGlzdE9mU0J5dGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1l bnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnl0ZSIgbmlsbGFibGU9InRydWUiIHR5cGU9Inhz OnVuc2lnbmVkQnl0ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnl0ZSI+ DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnl0ZSIgdHlwZT0i eHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0K ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h bWU9Ikxpc3RPZkJ5dGUiIHR5cGU9InRuczpMaXN0T2ZCeXRlIiBuaWxsYWJsZT0idHJ1ZSI+PC94 czplbGVtZW50Pg0KDQogIDx4czplbGVtZW50IG5hbWU9IkludDE2IiBuaWxsYWJsZT0idHJ1ZSIg dHlwZT0ieHM6c2hvcnQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkludDE2 Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbnQxNiIgdHlw ZT0ieHM6c2hvcnQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAg PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i TGlzdE9mSW50MTYiIHR5cGU9InRuczpMaXN0T2ZJbnQxNiIgbmlsbGFibGU9InRydWUiPjwveHM6 ZWxlbWVudD4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVSW50MTYiIG5pbGxhYmxlPSJ0cnVlIiB0 eXBlPSJ4czp1bnNpZ25lZFNob3J0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0 T2ZVSW50MTYiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVJ bnQxNiIgdHlwZT0ieHM6dW5zaWduZWRTaG9ydCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu Ym91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZVSW50MTYiIHR5cGU9InRuczpMaXN0T2ZVSW50MTYiIG5p bGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iSW50MzIi IG5pbGxhYmxlPSJ0cnVlIiB0eXBlPSJ4czppbnQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h bWU9Ikxpc3RPZkludDMyIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu YW1lPSJJbnQzMiIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3Vu ZGVkIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl bGVtZW50IG5hbWU9Ikxpc3RPZkludDMyIiB0eXBlPSJ0bnM6TGlzdE9mSW50MzIiIG5pbGxhYmxl PSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iVUludDMyIiBuaWxs YWJsZT0idHJ1ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl IG5hbWU9Ikxpc3RPZlVJbnQzMiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l bnQgbmFtZT0iVUludDMyIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiBtYXhP Y2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZVSW50MzIiIHR5cGU9InRuczpMaXN0T2ZV SW50MzIiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFt ZT0iSW50NjQiIG5pbGxhYmxlPSJ0cnVlIiB0eXBlPSJ4czpsb25nIiAvPg0KDQogIDx4czpjb21w bGV4VHlwZSBuYW1lPSJMaXN0T2ZJbnQ2NCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz OmVsZW1lbnQgbmFtZT0iSW50NjQiIHR5cGU9InhzOmxvbmciIG1pbk9jY3Vycz0iMCIgbWF4T2Nj dXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mSW50NjQiIHR5cGU9InRuczpMaXN0T2ZJbnQ2 NCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJV SW50NjQiIG5pbGxhYmxlPSJ0cnVlIiB0eXBlPSJ4czp1bnNpZ25lZExvbmciIC8+DQoNCiAgPHhz OmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlVJbnQ2NCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg ICAgPHhzOmVsZW1lbnQgbmFtZT0iVUludDY0IiB0eXBlPSJ4czp1bnNpZ25lZExvbmciIG1pbk9j Y3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mVUludDY0IiB0eXBl PSJ0bnM6TGlzdE9mVUludDY0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4 czplbGVtZW50IG5hbWU9IkZsb2F0IiBuaWxsYWJsZT0idHJ1ZSIgdHlwZT0ieHM6ZmxvYXQiIC8+ DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkZsb2F0Ij4NCiAgICA8eHM6c2VxdWVu Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGbG9hdCIgdHlwZT0ieHM6ZmxvYXQiIG1pbk9j Y3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRmxvYXQiIHR5cGU9 InRuczpMaXN0T2ZGbG9hdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6 ZWxlbWVudCBuYW1lPSJEb3VibGUiIG5pbGxhYmxlPSJ0cnVlIiB0eXBlPSJ4czpkb3VibGUiIC8+ DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkRvdWJsZSI+DQogICAgPHhzOnNlcXVl bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRG91YmxlIiB0eXBlPSJ4czpkb3VibGUiIG1p bk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRG91YmxlIiB0 eXBlPSJ0bnM6TGlzdE9mRG91YmxlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQog IDx4czplbGVtZW50IG5hbWU9IlN0cmluZyIgbmlsbGFibGU9InRydWUiIHR5cGU9InhzOnN0cmlu ZyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU3RyaW5nIj4NCiAgICA8eHM6 c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdHJpbmciIHR5cGU9InhzOnN0cmlu ZyIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVl bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTdHJp bmciIHR5cGU9InRuczpMaXN0T2ZTdHJpbmciIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+ DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0ZVRpbWUiIG5pbGxhYmxlPSJ0cnVlIiB0eXBlPSJ4 czpkYXRlVGltZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGF0ZVRpbWUi Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGVUaW1lIiB0 eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4N CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu YW1lPSJMaXN0T2ZEYXRlVGltZSIgdHlwZT0idG5zOkxpc3RPZkRhdGVUaW1lIiBuaWxsYWJsZT0i dHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJHdWlkIj4NCiAg ICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czphcHBpbmZvPg0KICAgICAgICA8SXNWYWx1ZVR5 cGUgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vMjAwMy8xMC9TZXJpYWxpemF0 aW9uLyI+dHJ1ZTwvSXNWYWx1ZVR5cGU+DQogICAgICA8L3hzOmFwcGluZm8+DQogICAgPC94czph bm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0 cmluZyIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0iMSIgbmlsbGFi bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg PHhzOmVsZW1lbnQgbmFtZT0iR3VpZCIgdHlwZT0idG5zOkd1aWQiIG5pbGxhYmxlPSJ0cnVlIj48 L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkd1aWQiPg0KICAg IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikd1aWQiIHR5cGU9InRuczpH dWlkIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6c2Vx dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkd1 aWQiIHR5cGU9InRuczpMaXN0T2ZHdWlkIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K DQogIDx4czplbGVtZW50IG5hbWU9IkJ5dGVTdHJpbmciIG5pbGxhYmxlPSJ0cnVlIiB0eXBlPSJ4 czpiYXNlNjRCaW5hcnkiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkJ5dGVT dHJpbmciPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJ5dGVT dHJpbmciIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu Ym91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQnl0ZVN0cmluZyIgdHlwZT0i dG5zOkxpc3RPZkJ5dGVTdHJpbmciIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlhtbEVsZW1lbnQiPg0KICAgIDx4czpzZXF1ZW5j ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlhtbEVsZW1lbnQiIG1pbk9jY3Vycz0iMCIgbWF4 T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIj4NCiAgICAgICAgPHhzOmNvbXBsZXhU eXBlPg0KICAgICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICAgIDx4czphbnkgbWluT2Nj dXJzPSIwIiBwcm9jZXNzQ29udGVudHM9ImxheCIvPg0KICAgICAgICAgIDwveHM6c2VxdWVuY2U+ DQogICAgICAgIDwveHM6Y29tcGxleFR5cGU+DQogICAgICA8L3hzOmVsZW1lbnQ+DQogICAgPC94 czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlz dE9mWG1sRWxlbWVudCIgdHlwZT0idG5zOkxpc3RPZlhtbEVsZW1lbnQiIG5pbGxhYmxlPSJ0cnVl Ij48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik5vZGVJZCI+DQogICAg PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSWRlbnRpZmllciIgdHlwZT0i eHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0iMSIgbmlsbGFibGU9InRydWUiIC8+ DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg bmFtZT0iTm9kZUlkIiB0eXBlPSJ0bnM6Tm9kZUlkIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVt ZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZOb2RlSWQiPg0KICAgIDx4czpz ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0idG5zOk5vZGVJ ZCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+ DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg bmFtZT0iTGlzdE9mTm9kZUlkIiB0eXBlPSJ0bnM6TGlzdE9mTm9kZUlkIiBuaWxsYWJsZT0idHJ1 ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFeHBhbmRlZE5vZGVJ ZCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSWRlbnRpZmll ciIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0iMSIgbmlsbGFibGU9 InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz OmVsZW1lbnQgbmFtZT0iRXhwYW5kZWROb2RlSWQiIHR5cGU9InRuczpFeHBhbmRlZE5vZGVJZCIg bmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i TGlzdE9mRXhwYW5kZWROb2RlSWQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt ZW50IG5hbWU9IkV4cGFuZGVkTm9kZUlkIiB0eXBlPSJ0bnM6RXhwYW5kZWROb2RlSWQiIG1pbk9j Y3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxp c3RPZkV4cGFuZGVkTm9kZUlkIiB0eXBlPSJ0bnM6TGlzdE9mRXhwYW5kZWROb2RlSWQiIG5pbGxh YmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlN0YXR1 c0NvZGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmFwcGluZm8+DQogICAgICAg IDxJc1ZhbHVlVHlwZSB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS8yMDAzLzEw L1NlcmlhbGl6YXRpb24vIj50cnVlPC9Jc1ZhbHVlVHlwZT4NCiAgICAgIDwveHM6YXBwaW5mbz4N CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l bnQgbmFtZT0iQ29kZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l PSJTdGF0dXNDb2RlIiB0eXBlPSJ0bnM6U3RhdHVzQ29kZSIgbmlsbGFibGU9InRydWUiPjwveHM6 ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU3RhdHVzQ29kZSI+DQog ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlw ZT0idG5zOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+ DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg bmFtZT0iTGlzdE9mU3RhdHVzQ29kZSIgdHlwZT0idG5zOkxpc3RPZlN0YXR1c0NvZGUiIG5pbGxh YmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRpYWdu b3N0aWNJbmZvIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJT eW1ib2xpY0lkIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt ZW50IG5hbWU9Ik5hbWVzcGFjZVVyaSIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQog ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMb2NhbGUiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIw IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxpemVkVGV4dCIgdHlwZT0ieHM6aW50 IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRpdGlvbmFsSW5m byIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu YW1lPSJJbm5lclN0YXR1c0NvZGUiIHR5cGU9InRuczpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAi IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbm5lckRpYWdub3N0aWNJbmZvIiB0eXBlPSJ0 bnM6RGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mbyIg dHlwZT0idG5zOkRpYWdub3N0aWNJbmZvIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZEaWFnbm9zdGljSW5mbyI+DQogICAgPHhz OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm8iIHR5cGU9 InRuczpEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIg bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRGlhZ25vc3RpY0luZm8iIHR5cGU9InRuczpM aXN0T2ZEaWFnbm9zdGljSW5mbyIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8 eHM6Y29tcGxleFR5cGUgbmFtZT0iTG9jYWxpemVkVGV4dCI+DQogICAgPHhzOnNlcXVlbmNlPg0K ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vy cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUZXh0IiB0 eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxv Y2FsaXplZFRleHQiIHR5cGU9InRuczpMb2NhbGl6ZWRUZXh0IiBuaWxsYWJsZT0idHJ1ZSIgLz4N Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTG9jYWxpemVkVGV4dCI+DQogICAgPHhz OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxpemVkVGV4dCIgdHlwZT0i dG5zOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5p bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkxvY2FsaXplZFRleHQiIHR5cGU9InRuczpMaXN0 T2ZMb2NhbGl6ZWRUZXh0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpj b21wbGV4VHlwZSBuYW1lPSJRdWFsaWZpZWROYW1lIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg ICA8eHM6ZWxlbWVudCBuYW1lPSJOYW1lc3BhY2VJbmRleCIgdHlwZT0ieHM6dW5zaWduZWRTaG9y dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFtZSIgdHlwZT0i eHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlF1YWxpZmll ZE5hbWUiIHR5cGU9InRuczpRdWFsaWZpZWROYW1lIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCg0KICA8 eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUXVhbGlmaWVkTmFtZSI+DQogICAgPHhzOnNlcXVl bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVhbGlmaWVkTmFtZSIgdHlwZT0idG5zOlF1 YWxpZmllZE5hbWUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxl PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 czplbGVtZW50IG5hbWU9Ikxpc3RPZlF1YWxpZmllZE5hbWUiIHR5cGU9InRuczpMaXN0T2ZRdWFs aWZpZWROYW1lIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDwhLS0NCiAgICBT b21lIGVudmlyb25tZW50cyByZXF1aXJlIGEgV1NETC9YU0Qgd2hpY2ggZXhwbGljaXRseSBkZWZp bmVzIGFsbCBwb3NzaWJsZSB0eXBlcy4NCiAgICBUaGUgVUEgV1NETC9YU0QgY2FuIGJlIG1vZGlm aWVkIHRvIHN1cHBvcnQgdGhlc2UgZW52aXJvbm1lbnRzIGJ5IHJlcGxhY2luZyB0aGUNCiAgICBk ZWZpbml0aW9ucyBvZiB0aGUgRXh0ZW5zaW9uT2JqZWN0Qm9keSBhbmQgVmFyaWFudFZhbHVlIGNv bXBsZXggdHlwZXMgd2l0aCB0aGUNCiAgICBkZWZpbml0aW9ucyBpbiB0aGUgY29tbWVudHMgc2hv d24gaGVyZS4gRGV2ZWxvcGVycyB3b3VsZCB0aGVuIGRlZmluZSBzdWJ0eXBlcw0KICAgIG9mIHRo ZSBFeHRlbnNpb25PYmplY3RCb2R5IHR5cGUgd2hpY2ggZXhwbGljaXRseSBkZWNsYXJlIGEgY2hv aWNlIGJldHdlZW4gYWxsIG9mIHRoZQ0KICAgIGNvbXBsZXggdHlwZXMgdXNlZCBieSB0aGUgc3lz dGVtLiBUaGUgRXhhbXBsZUV4dGVuc2lvbk9iamVjdEJvZHkgc3VidHlwZSBpcyBwcm92aWRlcw0K ICAgIGEgdGVtcGxhdGUgYmFzZWQgb24gYSBmZXcgY29tbW9uIFVBLWRlZmluZWQgY29tcGxleCB0 eXBlcy4NCiAgICAtLT4NCg0KICA8IS0tDQogICAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkV4dGVu c2lvbk9iamVjdEJvZHkiIC8+DQoNCiAgICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRXhhbXBsZUV4 dGVuc2lvbk9iamVjdEJvZHkiPg0KICAgICAgPHhzOmNvbXBsZXhDb250ZW50Pg0KICAgICAgICA8 eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpFeHRlbnNpb25PYmplY3RCb2R5Ij4NCiAgICAgICAgICA8 eHM6Y2hvaWNlPg0KICAgICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXJndW1lbnQiIHR5cGU9 InRuczpBcmd1bWVudCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAg ICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJJZGVudGl0eVRva2VuIiB0eXBlPSJ0bnM6VXNlcklk ZW50aXR5VG9rZW4iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAg ICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyTmFtZUlkZW50aXR5VG9rZW4iIHR5cGU9InRuczpVc2Vy TmFtZUlkZW50aXR5VG9rZW4iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg ICAgICAgPC94czpjaG9pY2U+DQogICAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgICAgPC94czpj b21wbGV4Q29udGVudD4NCiAgICA8L3hzOmNvbXBsZXhUeXBlPg0KDQogICAgPHhzOmNvbXBsZXhU eXBlIG5hbWU9IkV4dGVuc2lvbk9iamVjdCI+DQogICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAg IDx4czplbGVtZW50IG5hbWU9IlR5cGVJZCIgdHlwZT0idG5zOkV4cGFuZGVkTm9kZUlkIiBtaW5P Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJC b2R5IiBtaW5PY2N1cnM9IjAiIHR5cGU9InRuczpFeHRlbnNpb25PYmplY3RCb2R5IiBuaWxsYWJs ZT0idHJ1ZSIgLz4NCiAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgPC94czpjb21wbGV4VHlwZT4N CiAgICA8eHM6ZWxlbWVudCBuYW1lPSJFeHRlbnNpb25PYmplY3QiIHR5cGU9InRuczpFeHRlbnNp b25PYmplY3QiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIC0tPg0KDQogIDx4czpjb21wbGV4VHlw ZSBuYW1lPSJFeHRlbnNpb25PYmplY3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl bGVtZW50IG5hbWU9IlR5cGVJZCIgdHlwZT0idG5zOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxs YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJvZHkiIG1pbk9jY3Vycz0i MCIgbmlsbGFibGU9InRydWUiPg0KICAgICAgICA8eHM6Y29tcGxleFR5cGU+DQogICAgICAgICAg PHhzOnNlcXVlbmNlPg0KICAgICAgICAgICAgPHhzOmFueSBtaW5PY2N1cnM9IjAiIHByb2Nlc3ND b250ZW50cz0ibGF4Ii8+DQogICAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgICAgPC94czpj b21wbGV4VHlwZT4NCiAgICAgIDwveHM6ZWxlbWVudD4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFeHRlbnNpb25PYmplY3QiIHR5 cGU9InRuczpFeHRlbnNpb25PYmplY3QiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KDQogIDx4czpjb21w bGV4VHlwZSBuYW1lPSJMaXN0T2ZFeHRlbnNpb25PYmplY3QiPg0KICAgIDx4czpzZXF1ZW5jZT4N CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkV4dGVuc2lvbk9iamVjdCIgdHlwZT0idG5zOkV4dGVu c2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9 InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz OmVsZW1lbnQgbmFtZT0iTGlzdE9mRXh0ZW5zaW9uT2JqZWN0IiB0eXBlPSJ0bnM6TGlzdE9mRXh0 ZW5zaW9uT2JqZWN0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDwhLS0NCiAg ICBTb21lIFdTREwvWE1MIGNvbXBpbGVycyBoYXZlIGlzc3VlcyB3aXRoIHRoZSB4czpjaG9pY2Ug Y29uc3RydWN0LiBGb3IgdGhhdCByZWFzb24NCiAgICB0aGUgZGVmYXVsdCBkZWNsYXJhdGlvbiBv ZiBhIFZhcmlhbnQgdXNlcyB4czphbnkgY29uc3RydWN0LiBUaGUgc2NoZW1hIGFjdXR1YWxseQ0K ICAgIGRlZmluZWQgYnkgdGhlIHNwZWNpZmljYXRpb24gaXMgcHJvdmlkZWQgYnkgdGhlIE1hdHJp eCBhbmQgVmFyaWFudFZhbHVlIGNvbXBsZXggdHlwZXMNCiAgICBzaG93biBpbiBjb21tZW50cyBi ZWxvdy4gQXBwbGljYXRpb24gZGV2ZWxvcGVycyBjYW4gcmVwbGFjZSB0aGUgVmFyaWFudFZhbHVl IGRlY2xhcmF0aW9uDQogICAgd2l0aCB0aGUgc3BlY2lmaWMgZGVjbGFyYXRpb24gaWYgdGhleSBo YXZlIGEgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQgdGhhdCBjYW4gaGFuZGxlDQogICAgdGhlIHhz OmNob2ljZSBjb25zdHJ1Y3QgaW4gYSByZWFzb25hYmxlIHdheS4NCiAgICAtLT4NCg0KICA8IS0t DQogICAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1hdHJpeCI+DQogICAgICA8eHM6c2VxdWVuY2U+ DQogICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpbWVuc2lvbnMiIHR5cGU9InRuczpMaXN0T2ZV SW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDx4czplbGVt ZW50IG5hbWU9IlZhbHVlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIj4NCiAgICAgICAg ICA8eHM6Y29tcGxleFR5cGUgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgICAgICAgIDx4czpjaG9pY2Ug bWF4T2NjdXJzPSJ1bmJvdW5kZWQiPg0KICAgICAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJC b29sZWFuIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgICAg IDx4czplbGVtZW50IG5hbWU9IlNCeXRlIiB0eXBlPSJ4czpieXRlIiBtaW5PY2N1cnM9IjAiIC8+ DQogICAgICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkJ5dGUiIHR5cGU9InhzOnVuc2lnbmVk Qnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJ bnQxNiIgdHlwZT0ieHM6c2hvcnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICAgICAgPHhz OmVsZW1lbnQgbmFtZT0iVUludDE2IiB0eXBlPSJ4czp1bnNpZ25lZFNob3J0IiBtaW5PY2N1cnM9 IjAiIC8+DQogICAgICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkludDMyIiB0eXBlPSJ4czpp bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVUlu dDMyIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgICAg ICA8eHM6ZWxlbWVudCBuYW1lPSJJbnQ2NCIgdHlwZT0ieHM6bG9uZyIgbWluT2NjdXJzPSIwIiAv Pg0KICAgICAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVSW50NjQiIHR5cGU9InhzOnVuc2ln bmVkTG9uZyIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l PSJGbG9hdCIgdHlwZT0ieHM6ZmxvYXQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICAgICAg PHhzOmVsZW1lbnQgbmFtZT0iRG91YmxlIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIg Lz4NCiAgICAgICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RyaW5nIiB0eXBlPSJ4czpzdHJp bmciIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0 ZVRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgICAg IDx4czplbGVtZW50IG5hbWU9Ikd1aWQiIHR5cGU9InRuczpHdWlkIiBtaW5PY2N1cnM9IjAiIC8+ DQogICAgICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkJ5dGVTdHJpbmciIHR5cGU9InhzOmJh c2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgICAgICA8eHM6ZWxlbWVudCBu YW1lPSJYbWxFbGVtZW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIj4NCiAgICAgICAg ICAgICAgICA8eHM6Y29tcGxleFR5cGU+DQogICAgICAgICAgICAgICAgICA8eHM6c2VxdWVuY2U+ DQogICAgICAgICAgICAgICAgICAgIDx4czphbnkgbWluT2NjdXJzPSIwIiBwcm9jZXNzQ29udGVu dHM9ImxheCIgLz4NCiAgICAgICAgICAgICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICAgICAg ICAgICAgPC94czpjb21wbGV4VHlwZT4NCiAgICAgICAgICAgICAgPC94czplbGVtZW50Pg0KICAg ICAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ0bnM6U3RhdHVz Q29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJO b2RlSWQiIHR5cGU9InRuczpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICAgICAg PHhzOmVsZW1lbnQgbmFtZT0iRXhwYW5kZWROb2RlSWQiIHR5cGU9InRuczpFeHBhbmRlZE5vZGVJ ZCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJRdWFs aWZpZWROYW1lIiB0eXBlPSJ0bnM6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg ICAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMb2NhbGl6ZWRUZXh0IiB0eXBlPSJ0bnM6TG9j YWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgICAgICA8eHM6ZWxlbWVudCBu YW1lPSJFeHRlbnNpb25PYmplY3QiIHR5cGU9InRuczpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vy cz0iMCIgLz4NCiAgICAgICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFyaWFudCIgdHlwZT0i dG5zOlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICAgIDwveHM6Y2hvaWNlPg0K ICAgICAgICAgIDwveHM6Y29tcGxleFR5cGU+DQogICAgICAgIDwveHM6ZWxlbWVudD4NCiAgICAg IDwveHM6c2VxdWVuY2U+DQogICAgPC94czpjb21wbGV4VHlwZT4NCiAgICA8eHM6ZWxlbWVudCBu YW1lPSJNYXRyaXgiIHR5cGU9InRuczpNYXRyaXgiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KDQogICAg PHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhbnRWYWx1ZSI+DQogICAgICA8eHM6Y2hvaWNlPg0K ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCb29sZWFuIiB0eXBlPSJ4czpib29sZWFuIiBtaW5P Y2N1cnM9IjAiIC8+DQogICAgICAgIDx4czplbGVtZW50IG5hbWU9IlNCeXRlIiB0eXBlPSJ4czpi eXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDx4czplbGVtZW50IG5hbWU9IkJ5dGUiIHR5 cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVu dCBuYW1lPSJJbnQxNiIgdHlwZT0ieHM6c2hvcnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg PHhzOmVsZW1lbnQgbmFtZT0iVUludDE2IiB0eXBlPSJ4czp1bnNpZ25lZFNob3J0IiBtaW5PY2N1 cnM9IjAiIC8+DQogICAgICAgIDx4czplbGVtZW50IG5hbWU9IkludDMyIiB0eXBlPSJ4czppbnQi IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVUludDMyIiB0eXBl PSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBu YW1lPSJJbnQ2NCIgdHlwZT0ieHM6bG9uZyIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6 ZWxlbWVudCBuYW1lPSJVSW50NjQiIHR5cGU9InhzOnVuc2lnbmVkTG9uZyIgbWluT2NjdXJzPSIw IiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGbG9hdCIgdHlwZT0ieHM6ZmxvYXQiIG1p bk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRG91YmxlIiB0eXBlPSJ4 czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Ry aW5nIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPHhzOmVsZW1l bnQgbmFtZT0iRGF0ZVRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQog ICAgICAgIDx4czplbGVtZW50IG5hbWU9Ikd1aWQiIHR5cGU9InRuczpHdWlkIiBtaW5PY2N1cnM9 IjAiIC8+DQogICAgICAgIDx4czplbGVtZW50IG5hbWU9IkJ5dGVTdHJpbmciIHR5cGU9InhzOmJh c2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJY bWxFbGVtZW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIj4NCiAgICAgICAgICA8eHM6 Y29tcGxleFR5cGU+DQogICAgICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgICAgIDx4 czphbnkgbWluT2NjdXJzPSIwIiBwcm9jZXNzQ29udGVudHM9ImxheCIgLz4NCiAgICAgICAgICAg IDwveHM6c2VxdWVuY2U+DQogICAgICAgICAgPC94czpjb21wbGV4VHlwZT4NCiAgICAgICAgPC94 czplbGVtZW50Pg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ0 bnM6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1l PSJOb2RlSWQiIHR5cGU9InRuczpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPHhz OmVsZW1lbnQgbmFtZT0iRXhwYW5kZWROb2RlSWQiIHR5cGU9InRuczpFeHBhbmRlZE5vZGVJZCIg bWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJRdWFsaWZpZWROYW1l IiB0eXBlPSJ0bnM6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6 ZWxlbWVudCBuYW1lPSJMb2NhbGl6ZWRUZXh0IiB0eXBlPSJ0bnM6TG9jYWxpemVkVGV4dCIgbWlu T2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFeHRlbnNpb25PYmplY3Qi IHR5cGU9InRuczpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPHhz OmVsZW1lbnQgbmFtZT0iTGlzdE9mQm9vbGVhbiIgdHlwZT0idG5zOkxpc3RPZkJvb2xlYW4iIG1p bk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU0J5dGUiIHR5 cGU9InRuczpMaXN0T2ZTQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVu dCBuYW1lPSJMaXN0T2ZCeXRlIiB0eXBlPSJ0bnM6TGlzdE9mQnl0ZSIgbWluT2NjdXJzPSIwIiAv Pg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZJbnQxNiIgdHlwZT0idG5zOkxpc3RP ZkludDE2IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxpc3RP ZlVJbnQxNiIgdHlwZT0idG5zOkxpc3RPZlVJbnQxNiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg ICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZJbnQzMiIgdHlwZT0idG5zOkxpc3RPZkludDMyIiBt aW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlVJbnQzMiIg dHlwZT0idG5zOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxl bWVudCBuYW1lPSJMaXN0T2ZJbnQ2NCIgdHlwZT0idG5zOkxpc3RPZkludDY0IiBtaW5PY2N1cnM9 IjAiIC8+DQogICAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlVJbnQ2NCIgdHlwZT0idG5z Okxpc3RPZlVJbnQ2NCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1l PSJMaXN0T2ZGbG9hdCIgdHlwZT0idG5zOkxpc3RPZkZsb2F0IiBtaW5PY2N1cnM9IjAiIC8+DQog ICAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRvdWJsZSIgdHlwZT0idG5zOkxpc3RPZkRv dWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZT dHJpbmciIHR5cGU9InRuczpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRGF0ZVRpbWUiIHR5cGU9InRuczpMaXN0T2ZEYXRlVGlt ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZHdWlk IiB0eXBlPSJ0bnM6TGlzdE9mR3VpZCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxl bWVudCBuYW1lPSJMaXN0T2ZCeXRlU3RyaW5nIiB0eXBlPSJ0bnM6TGlzdE9mQnl0ZVN0cmluZyIg bWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZYbWxFbGVt ZW50IiB0eXBlPSJ0bnM6TGlzdE9mWG1sRWxlbWVudCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg ICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTdGF0dXNDb2RlIiB0eXBlPSJ0bnM6TGlzdE9mU3Rh dHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0 T2ZOb2RlSWQiIHR5cGU9InRuczpMaXN0T2ZOb2RlSWQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg ICAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRXhwYW5kZWROb2RlSWQiIHR5cGU9InRuczpMaXN0 T2ZFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBu YW1lPSJMaXN0T2ZRdWFsaWZpZWROYW1lIiB0eXBlPSJ0bnM6TGlzdE9mUXVhbGlmaWVkTmFtZSIg bWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZMb2NhbGl6 ZWRUZXh0IiB0eXBlPSJ0bnM6TGlzdE9mTG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiAvPg0K ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFeHRlbnNpb25PYmplY3QiIHR5cGU9InRu czpMaXN0T2ZFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPHhzOmVs ZW1lbnQgbmFtZT0iTGlzdE9mVmFyaWFudCIgdHlwZT0idG5zOkxpc3RPZlZhcmlhbnQiIG1pbk9j Y3Vycz0iMCIgLz4NCiAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF0cml4IiB0eXBlPSJ0bnM6 TWF0cml4IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8L3hzOmNob2ljZT4NCiAgICA8L3hzOmNv bXBsZXhUeXBlPg0KDQogICAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhbnQiPg0KICAgICAg PHhzOnNlcXVlbmNlPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0idG5z OlZhcmlhbnRWYWx1ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDwv eHM6c2VxdWVuY2U+DQogICAgPC94czpjb21wbGV4VHlwZT4NCiAgICA8eHM6ZWxlbWVudCBuYW1l PSJWYXJpYW50IiB0eXBlPSJ0bnM6VmFyaWFudCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgLS0+ DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhbnQiPg0KICAgIDx4czphbm5vdGF0aW9u Pg0KICAgICAgPHhzOmFwcGluZm8+DQogICAgICAgIDxJc1ZhbHVlVHlwZSB4bWxucz0iaHR0cDov L3NjaGVtYXMubWljcm9zb2Z0LmNvbS8yMDAzLzEwL1NlcmlhbGl6YXRpb24vIj50cnVlPC9Jc1Zh bHVlVHlwZT4NCiAgICAgIDwveHM6YXBwaW5mbz4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAg PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUiIG1pbk9jY3Vycz0i MCIgbmlsbGFibGU9InRydWUiPg0KICAgICAgICA8eHM6Y29tcGxleFR5cGU+DQogICAgICAgICAg PHhzOnNlcXVlbmNlPg0KICAgICAgICAgICAgPHhzOmFueSBtaW5PY2N1cnM9IjAiIHByb2Nlc3ND b250ZW50cz0ibGF4IiAvPg0KICAgICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICAgIDwveHM6 Y29tcGxleFR5cGU+DQogICAgICA8L3hzOmVsZW1lbnQ+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVmFyaWFudCIgdHlwZT0idG5z OlZhcmlhbnQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJM aXN0T2ZWYXJpYW50Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l PSJWYXJpYW50IiB0eXBlPSJ0bnM6VmFyaWFudCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu Ym91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZWYXJpYW50IiB0eXBlPSJ0bnM6TGlzdE9mVmFyaWFudCIg bmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i RGF0YVZhbHVlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJW YWx1ZSIgdHlwZT0idG5zOlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt ZW50IG5hbWU9IlN0YXR1c0NvZGUiIHR5cGU9InRuczpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAi IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTb3VyY2VUaW1lc3RhbXAiIHR5cGU9InhzOmRh dGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTb3VyY2VQ aWNvc2Vjb25kcyIgdHlwZT0ieHM6dW5zaWduZWRTaG9ydCIgbWluT2NjdXJzPSIwIiAvPg0KICAg ICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVGltZXN0YW1wIiB0eXBlPSJ4czpkYXRlVGltZSIg bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyUGljb3NlY29u ZHMiIHR5cGU9InhzOnVuc2lnbmVkU2hvcnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNl cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVmFs dWUiIHR5cGU9InRuczpEYXRhVmFsdWUiIG5pbGxhYmxlPSJ0cnVlIi8+DQoNCiAgPHhzOmNvbXBs ZXhUeXBlIG5hbWU9Ikxpc3RPZkRhdGFWYWx1ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg PHhzOmVsZW1lbnQgbmFtZT0iRGF0YVZhbHVlIiB0eXBlPSJ0bnM6RGF0YVZhbHVlIiBtaW5PY2N1 cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0 T2ZEYXRhVmFsdWUiIHR5cGU9InRuczpMaXN0T2ZEYXRhVmFsdWUiIG5pbGxhYmxlPSJ0cnVlIj48 L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iSW52b2tlU2VydmljZVJlcXVlc3Qi IHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbmlsbGFibGU9InRydWUiIC8+DQogIDx4czplbGVtZW50 IG5hbWU9Ikludm9rZVNlcnZpY2VSZXNwb25zZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBuaWxs YWJsZT0idHJ1ZSIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJJbWFnZUJNUCIgdHlwZT0ieHM6 YmFzZTY0QmluYXJ5IiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkltYWdlR0lGIiB0eXBlPSJ4 czpiYXNlNjRCaW5hcnkiIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iSW1hZ2VKUEciIHR5cGU9 InhzOmJhc2U2NEJpbmFyeSIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJJbWFnZVBORyIgdHlw ZT0ieHM6YmFzZTY0QmluYXJ5IiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkJpdEZpZWxkTWFz a0RhdGFUeXBlIiB0eXBlPSJ4czp1bnNpZ25lZExvbmciIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUg IG5hbWU9Ik9wZW5GaWxlTW9kZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmlu ZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlYWRfMSIgLz4NCiAgICAgIDx4czpl bnVtZXJhdGlvbiB2YWx1ZT0iV3JpdGVfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 ZT0iRXJhc2VFeGlzdGluZ180IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBcHBl bmRfOCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4 czplbGVtZW50IG5hbWU9Ik9wZW5GaWxlTW9kZSIgdHlwZT0idG5zOk9wZW5GaWxlTW9kZSIgLz4N Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mT3BlbkZpbGVNb2RlIj4NCiAgICA8eHM6 c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPcGVuRmlsZU1vZGUiIHR5cGU9InRu czpPcGVuRmlsZU1vZGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQog ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt ZT0iTGlzdE9mT3BlbkZpbGVNb2RlIiB0eXBlPSJ0bnM6TGlzdE9mT3BlbkZpbGVNb2RlIiBuaWxs YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJUcnVz dExpc3RNYXNrcyI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAg ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv biB2YWx1ZT0iVHJ1c3RlZENlcnRpZmljYXRlc18xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u IHZhbHVlPSJUcnVzdGVkQ3Jsc18yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJ c3N1ZXJDZXJ0aWZpY2F0ZXNfNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNz dWVyQ3Jsc184IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBbGxfMTUiIC8+DQog ICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBu YW1lPSJUcnVzdExpc3RNYXNrcyIgdHlwZT0idG5zOlRydXN0TGlzdE1hc2tzIiAvPg0KDQogIDx4 czpjb21wbGV4VHlwZSBuYW1lPSJUcnVzdExpc3REYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNl Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3BlY2lmaWVkTGlzdHMiIHR5cGU9InhzOnVuc2ln bmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcnVzdGVk Q2VydGlmaWNhdGVzIiB0eXBlPSJ1YTpMaXN0T2ZCeXRlU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5p bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJ1c3RlZENybHMiIHR5 cGU9InVhOkxpc3RPZkJ5dGVTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc3N1ZXJDZXJ0aWZpY2F0ZXMiIHR5cGU9InVhOkxp c3RPZkJ5dGVTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 eHM6ZWxlbWVudCBuYW1lPSJJc3N1ZXJDcmxzIiB0eXBlPSJ1YTpMaXN0T2ZCeXRlU3RyaW5nIiBt aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRydXN0TGlzdERhdGFUeXBlIiB0 eXBlPSJ0bnM6VHJ1c3RMaXN0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 Ikxpc3RPZlRydXN0TGlzdERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 ZWxlbWVudCBuYW1lPSJUcnVzdExpc3REYXRhVHlwZSIgdHlwZT0idG5zOlRydXN0TGlzdERhdGFU eXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu dCBuYW1lPSJMaXN0T2ZUcnVzdExpc3REYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlRydXN0TGlz dERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVU eXBlICBuYW1lPSJJZFR5cGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3Vt ZW50YXRpb24+VGhlIHR5cGUgb2YgaWRlbnRpZmllciB1c2VkIGluIGEgbm9kZSBpZC48L3hzOmRv Y3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpyZXN0cmljdGlvbiBi YXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOdW1lcmljXzAi IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN0cmluZ18xIiAvPg0KICAgICAgPHhz OmVudW1lcmF0aW9uIHZhbHVlPSJHdWlkXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs dWU9Ik9wYXF1ZV8zIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlw ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSWRUeXBlIiB0eXBlPSJ0bnM6SWRUeXBlIiAvPg0KDQog IDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZJZFR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4N CiAgICAgIDx4czplbGVtZW50IG5hbWU9IklkVHlwZSIgdHlwZT0idG5zOklkVHlwZSIgbWluT2Nj dXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZJZFR5cGUiIHR5cGU9 InRuczpMaXN0T2ZJZFR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhz OnNpbXBsZVR5cGUgIG5hbWU9Ik5vZGVDbGFzcyI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg ICA8eHM6ZG9jdW1lbnRhdGlvbj5BIG1hc2sgc3BlY2lmeWluZyB0aGUgY2xhc3Mgb2YgdGhlIG5v ZGUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6cmVz dHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i VW5zcGVjaWZpZWRfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iT2JqZWN0XzEi IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZhcmlhYmxlXzIiIC8+DQogICAgICA8 eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik1ldGhvZF80IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u IHZhbHVlPSJPYmplY3RUeXBlXzgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZh cmlhYmxlVHlwZV8xNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVmZXJlbmNl VHlwZV8zMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGF0YVR5cGVfNjQiIC8+ DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZpZXdfMTI4IiAvPg0KICAgIDwveHM6cmVz dHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUNs YXNzIiB0eXBlPSJ0bnM6Tm9kZUNsYXNzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJO b2RlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlNwZWNp ZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gYWxsIG5vZGVzLjwveHM6ZG9jdW1l bnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg PHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIg bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlQ2xhc3MiIHR5 cGU9InRuczpOb2RlQ2xhc3MiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h bWU9IkJyb3dzZU5hbWUiIHR5cGU9InVhOlF1YWxpZmllZE5hbWUiIG1pbk9jY3Vycz0iMCIgbmls bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNwbGF5TmFtZSIgdHlw ZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg ICAgIDx4czplbGVtZW50IG5hbWU9IkRlc2NyaXB0aW9uIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0 IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt ZT0iV3JpdGVNYXNrIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg ICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlcldyaXRlTWFzayIgdHlwZT0ieHM6dW5zaWduZWRJbnQi IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZXMiIHR5 cGU9InRuczpMaXN0T2ZSZWZlcmVuY2VOb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt ZW50IG5hbWU9Ik5vZGUiIHR5cGU9InRuczpOb2RlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu YW1lPSJMaXN0T2ZOb2RlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu YW1lPSJOb2RlIiB0eXBlPSJ0bnM6Tm9kZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91 bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTm9kZSIgdHlwZT0idG5zOkxpc3RP Zk5vZGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBl IG5hbWU9Ikluc3RhbmNlTm9kZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxz ZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlIj4NCiAgICAgICAgPHhzOnNl cXVlbmNlPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQog ICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l bnQgbmFtZT0iSW5zdGFuY2VOb2RlIiB0eXBlPSJ0bnM6SW5zdGFuY2VOb2RlIiAvPg0KDQogIDx4 czpjb21wbGV4VHlwZSBuYW1lPSJUeXBlTm9kZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1p eGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlIj4NCiAgICAg ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRl bnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg PHhzOmVsZW1lbnQgbmFtZT0iVHlwZU5vZGUiIHR5cGU9InRuczpUeXBlTm9kZSIgLz4NCg0KICA8 eHM6Y29tcGxleFR5cGUgbmFtZT0iT2JqZWN0Tm9kZSI+DQogICAgPHhzOmFubm90YXRpb24+DQog ICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVs b25nIHRvIG9iamVjdCBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0 aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4 dGVuc2lvbiBiYXNlPSJ0bnM6SW5zdGFuY2VOb2RlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0K ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50Tm90aWZpZXIiIHR5cGU9InhzOnVuc2ln bmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAg PC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4 VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT2JqZWN0Tm9kZSIgdHlwZT0idG5zOk9iamVjdE5v ZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik9iamVjdFR5cGVOb2RlIj4NCiAgICA8 eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0aGUgYXR0 cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gb2JqZWN0IHR5cGUgbm9kZXMuPC94czpkb2N1bWVudGF0 aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9 ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOlR5cGVOb2RlIj4NCiAgICAg ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IklzQWJzdHJhY3Qi IHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5j ZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwv eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9iamVjdFR5cGVOb2RlIiB0eXBl PSJ0bnM6T2JqZWN0VHlwZU5vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlh YmxlTm9kZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5T cGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRvIHZhcmlhYmxlIG5vZGVzLjwv eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhD b250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpJbnN0 YW5jZU5vZGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg bmFtZT0iVmFsdWUiIHR5cGU9InVhOlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg ICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9 IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVl UmFuayIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1l bnQgbmFtZT0iQXJyYXlEaW1lbnNpb25zIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vy cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWNj ZXNzTGV2ZWwiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg ICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJBY2Nlc3NMZXZlbCIgdHlwZT0ieHM6dW5zaWduZWRC eXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWluaW11 bVNhbXBsaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg ICAgICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3Rvcml6aW5nIiB0eXBlPSJ4czpib29sZWFuIiBt aW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVu c2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 eHM6ZWxlbWVudCBuYW1lPSJWYXJpYWJsZU5vZGUiIHR5cGU9InRuczpWYXJpYWJsZU5vZGUiIC8+ DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhYmxlVHlwZU5vZGUiPg0KICAgIDx4czph bm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+U3BlY2lmaWVzIHRoZSBhdHRyaWJ1 dGVzIHdoaWNoIGJlbG9uZyB0byB2YXJpYWJsZSB0eXBlIG5vZGVzLjwveHM6ZG9jdW1lbnRhdGlv bj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJm YWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpUeXBlTm9kZSI+DQogICAgICAg IDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0i dWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 IkRhdGFUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czppbnQi IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcnJheURpbWVu c2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpi b29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8 L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhU eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWYXJpYWJsZVR5cGVOb2RlIiB0eXBlPSJ0bnM6VmFy aWFibGVUeXBlTm9kZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVmZXJlbmNlVHlw ZU5vZGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+U3Bl Y2lmaWVzIHRoZSBhdHRyaWJ1dGVzIHdoaWNoIGJlbG9uZyB0byByZWZlcmVuY2UgdHlwZSBub2Rl cy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21w bGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6 VHlwZU5vZGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg bmFtZT0iSXNBYnN0cmFjdCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAg ICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN5bW1ldHJpYyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWlu T2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkludmVyc2VOYW1lIiB0 eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K ICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpj b21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i UmVmZXJlbmNlVHlwZU5vZGUiIHR5cGU9InRuczpSZWZlcmVuY2VUeXBlTm9kZSIgLz4NCg0KICA8 eHM6Y29tcGxleFR5cGUgbmFtZT0iTWV0aG9kTm9kZSI+DQogICAgPHhzOmFubm90YXRpb24+DQog ICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVs b25nIHRvIG1ldGhvZCBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0 aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4 dGVuc2lvbiBiYXNlPSJ0bnM6SW5zdGFuY2VOb2RlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0K ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV4ZWN1dGFibGUiIHR5cGU9InhzOmJvb2xlYW4i IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyRXhlY3V0 YWJsZSIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNl cXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4N CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTWV0aG9kTm9kZSIgdHlw ZT0idG5zOk1ldGhvZE5vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZpZXdOb2Rl Ij4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRl bnNpb24gYmFzZT0idG5zOkluc3RhbmNlTm9kZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAg ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250YWluc05vTG9vcHMiIHR5cGU9InhzOmJvb2xl YW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudE5v dGlmaWVyIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg PC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENv bnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlZpZXdOb2Rl IiB0eXBlPSJ0bnM6Vmlld05vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFU eXBlTm9kZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8 eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpUeXBlTm9kZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4N CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpib29sZWFu IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4 dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K ICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZU5vZGUiIHR5cGU9InRuczpEYXRhVHlwZU5vZGUi IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZmVyZW5jZU5vZGUiPg0KICAgIDx4czph bm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+U3BlY2lmaWVzIGEgcmVmZXJlbmNl IHdoaWNoIGJlbG9uZ3MgdG8gYSBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu bm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVm ZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ludmVyc2UiIHR5cGU9InhzOmJvb2xl YW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRhcmdldElkIiB0 eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu YW1lPSJSZWZlcmVuY2VOb2RlIiB0eXBlPSJ0bnM6UmVmZXJlbmNlTm9kZSIgLz4NCg0KICA8eHM6 Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUmVmZXJlbmNlTm9kZSI+DQogICAgPHhzOnNlcXVlbmNl Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlTm9kZSIgdHlwZT0idG5zOlJlZmVy ZW5jZU5vZGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0 cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl bGVtZW50IG5hbWU9Ikxpc3RPZlJlZmVyZW5jZU5vZGUiIHR5cGU9InRuczpMaXN0T2ZSZWZlcmVu Y2VOb2RlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlw ZSBuYW1lPSJBcmd1bWVudCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l bnRhdGlvbj5BbiBhcmd1bWVudCBmb3IgYSBtZXRob2QuPC94czpkb2N1bWVudGF0aW9uPg0KICAg IDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu YW1lPSJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBt aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i VmFsdWVSYW5rIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt ZW50IG5hbWU9IkFycmF5RGltZW5zaW9ucyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1 cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVzY3Jp cHRpb24iIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs ZW1lbnQgbmFtZT0iQXJndW1lbnQiIHR5cGU9InRuczpBcmd1bWVudCIgLz4NCg0KICA8eHM6Y29t cGxleFR5cGUgbmFtZT0iTGlzdE9mQXJndW1lbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg IDx4czplbGVtZW50IG5hbWU9IkFyZ3VtZW50IiB0eXBlPSJ0bnM6QXJndW1lbnQiIG1pbk9jY3Vy cz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RP ZkFyZ3VtZW50IiB0eXBlPSJ0bnM6TGlzdE9mQXJndW1lbnQiIG5pbGxhYmxlPSJ0cnVlIj48L3hz OmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVudW1WYWx1ZVR5cGUiPg0KICAg IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBtYXBwaW5nIGJldHdl ZW4gYSB2YWx1ZSBvZiBhbiBlbnVtZXJhdGVkIHR5cGUgYW5kIGEgbmFtZSBhbmQgZGVzY3JpcHRp b24uPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2Vx dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0ieHM6bG9uZyIgbWlu T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzcGxheU5hbWUiIHR5cGU9 InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg ICA8eHM6ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIg bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFbnVtVmFsdWVUeXBlIiB0eXBl PSJ0bnM6RW51bVZhbHVlVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m RW51bVZhbHVlVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt ZT0iRW51bVZhbHVlVHlwZSIgdHlwZT0idG5zOkVudW1WYWx1ZVR5cGUiIG1pbk9jY3Vycz0iMCIg bWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkVudW1W YWx1ZVR5cGUiIHR5cGU9InRuczpMaXN0T2ZFbnVtVmFsdWVUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+ PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJPcHRpb25TZXQiPg0KICAg IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhpcyBhYnN0cmFjdCBT dHJ1Y3R1cmVkIERhdGFUeXBlIGlzIHRoZSBiYXNlIERhdGFUeXBlIGZvciBhbGwgRGF0YVR5cGVz IHJlcHJlc2VudGluZyBhIGJpdCBtYXNrLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu bm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFs dWUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbGlkQml0cyIgdHlwZT0ieHM6YmFzZTY0Qmlu YXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9wdGlvblNldCIgdHlw ZT0idG5zOk9wdGlvblNldCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mT3B0 aW9uU2V0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPcHRp b25TZXQiIHR5cGU9InRuczpPcHRpb25TZXQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJv dW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk9wdGlvblNldCIgdHlwZT0idG5z Okxpc3RPZk9wdGlvblNldCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6 Y29tcGxleFR5cGUgbmFtZT0iVW5pb24iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhz OmRvY3VtZW50YXRpb24+VGhpcyBhYnN0cmFjdCBEYXRhVHlwZSBpcyB0aGUgYmFzZSBEYXRhVHlw ZSBmb3IgYWxsIHVuaW9uIERhdGFUeXBlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czph bm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVbmlvbiIgdHlwZT0idG5zOlVuaW9u IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZVbmlvbiI+DQogICAgPHhzOnNl cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVW5pb24iIHR5cGU9InRuczpVbmlvbiIg bWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQog ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt ZT0iTGlzdE9mVW5pb24iIHR5cGU9InRuczpMaXN0T2ZVbmlvbiIgbmlsbGFibGU9InRydWUiPjwv eHM6ZWxlbWVudD4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOb3JtYWxpemVkU3RyaW5nIiB0eXBl PSJ4czpzdHJpbmciIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVjaW1hbFN0cmluZyIgdHlw ZT0ieHM6c3RyaW5nIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkR1cmF0aW9uU3RyaW5nIiB0 eXBlPSJ4czpzdHJpbmciIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZVN0cmluZyIgdHlw ZT0ieHM6c3RyaW5nIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkRhdGVTdHJpbmciIHR5cGU9 InhzOnN0cmluZyIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEdXJhdGlvbiIgdHlwZT0ieHM6 ZG91YmxlIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IlV0Y1RpbWUiIHR5cGU9InhzOmRhdGVU aW1lIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkxvY2FsZUlkIiB0eXBlPSJ4czpzdHJpbmci IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlRpbWVab25lRGF0YVR5cGUiPg0KICAgIDx4 czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik9mZnNldCIgdHlwZT0ieHM6c2hv cnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRheWxpZ2h0U2F2 aW5nSW5PZmZzZXQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hz OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1l Wm9uZURhdGFUeXBlIiB0eXBlPSJ0bnM6VGltZVpvbmVEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29t cGxleFR5cGUgbmFtZT0iTGlzdE9mVGltZVpvbmVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNl Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZVpvbmVEYXRhVHlwZSIgdHlwZT0idG5zOlRp bWVab25lRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog IDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlRpbWVab25lRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0 T2ZUaW1lWm9uZURhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4 czplbGVtZW50IG5hbWU9IkludGVnZXJJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIC8+DQoNCiAg PHhzOnNpbXBsZVR5cGUgIG5hbWU9IkFwcGxpY2F0aW9uVHlwZSI+DQogICAgPHhzOmFubm90YXRp b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgdHlwZXMgb2YgYXBwbGljYXRpb25zLjwv eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0 aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNlcnZl cl8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJDbGllbnRfMSIgLz4NCiAgICAg IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ2xpZW50QW5kU2VydmVyXzIiIC8+DQogICAgICA8eHM6 ZW51bWVyYXRpb24gdmFsdWU9IkRpc2NvdmVyeVNlcnZlcl8zIiAvPg0KICAgIDwveHM6cmVzdHJp Y3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRp b25UeXBlIiB0eXBlPSJ0bnM6QXBwbGljYXRpb25UeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw ZSBuYW1lPSJBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg ICAgIDx4czpkb2N1bWVudGF0aW9uPkRlc2NyaWJlcyBhbiBhcHBsaWNhdGlvbiBhbmQgaG93IHRv IGZpbmQgaXQuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcHBsaWNhdGlvblVyaSIgdHlw ZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz OmVsZW1lbnQgbmFtZT0iUHJvZHVjdFVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25O YW1lIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25UeXBlIiB0eXBlPSJ0bnM6 QXBwbGljYXRpb25UeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l PSJHYXRld2F5U2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjb3ZlcnlQcm9maWxlVXJp IiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg ICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjb3ZlcnlVcmxzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmci IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25EZXNjcmlw dGlvbiIgdHlwZT0idG5zOkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBs ZXhUeXBlIG5hbWU9Ikxpc3RPZkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1 ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIHR5 cGU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0i dW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZBcHBsaWNhdGlvbkRlc2Ny aXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mQXBwbGljYXRpb25EZXNjcmlwdGlvbiIgbmlsbGFibGU9 InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVxdWVzdEhl YWRlciI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUg aGVhZGVyIHBhc3NlZCB3aXRoIGV2ZXJ5IHNlcnZlciByZXF1ZXN0LjwveHM6ZG9jdW1lbnRhdGlv bj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs ZW1lbnQgbmFtZT0iQXV0aGVudGljYXRpb25Ub2tlbiIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1 cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0 YW1wIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l bnQgbmFtZT0iUmVxdWVzdEhhbmRsZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldHVybkRpYWdub3N0aWNzIiB0eXBlPSJ4 czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i QXVkaXRFbnRyeUlkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lb3V0SGludCIgdHlwZT0ieHM6dW5z aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZGl0 aW9uYWxIZWFkZXIiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxs YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRl ciIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVzcG9uc2VIZWFkZXIiPg0KICAgIDx4 czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGhlYWRlciBwYXNzZWQg d2l0aCBldmVyeSBzZXJ2ZXIgcmVzcG9uc2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6 YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJU aW1lc3RhbXAiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGFuZGxlIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmljZVJlc3VsdCIgdHlwZT0i dWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i U2VydmljZURpYWdub3N0aWNzIiB0eXBlPSJ1YTpEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIw IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0cmluZ1RhYmxl IiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRpdGlvbmFsSGVhZGVyIiB0eXBlPSJ1YTpFeHRl bnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9u c2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCg0KICA8eHM6Y29tcGxleFR5 cGUgbmFtZT0iU2VydmljZUZhdWx0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpk b2N1bWVudGF0aW9uPlRoZSByZXNwb25zZSByZXR1cm5lZCBieSBhbGwgc2VydmljZXMgd2hlbiB0 aGVyZSBpcyBhIHNlcnZpY2UgbGV2ZWwgZXJyb3IuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwv eHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l PSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAi IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNlcnZpY2VGYXVsdCIgdHlwZT0idG5zOlNlcnZpY2VG YXVsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRmluZFNlcnZlcnNSZXF1ZXN0Ij4N CiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkZpbmRzIHRoZSBz ZXJ2ZXJzIGtub3duIHRvIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4N CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l bnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vy cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2lu dFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmci IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l PSJTZXJ2ZXJVcmlzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg PHhzOmVsZW1lbnQgbmFtZT0iRmluZFNlcnZlcnNSZXF1ZXN0IiB0eXBlPSJ0bnM6RmluZFNlcnZl cnNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJGaW5kU2VydmVyc1Jlc3Bv bnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkZpbmRz IHRoZSBzZXJ2ZXJzIGtub3duIHRvIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwveHM6ZG9jdW1lbnRh dGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz OmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIg bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 IlNlcnZlcnMiIHR5cGU9InRuczpMaXN0T2ZBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1 cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkZpbmRTZXJ2ZXJzUmVzcG9uc2UiIHR5cGU9 InRuczpGaW5kU2VydmVyc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJT ZXJ2ZXJPbk5ldHdvcmsiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h bWU9IlJlY29yZElkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg ICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1 cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzY292 ZXJ5VXJsIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJDYXBhYmlsaXRpZXMiIHR5cGU9InVhOkxp c3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJP bk5ldHdvcmsiIHR5cGU9InRuczpTZXJ2ZXJPbk5ldHdvcmsiIC8+DQoNCiAgPHhzOmNvbXBsZXhU eXBlIG5hbWU9Ikxpc3RPZlNlcnZlck9uTmV0d29yayI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg ICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyT25OZXR3b3JrIiB0eXBlPSJ0bnM6U2VydmVyT25O ZXR3b3JrIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl bWVudCBuYW1lPSJMaXN0T2ZTZXJ2ZXJPbk5ldHdvcmsiIHR5cGU9InRuczpMaXN0T2ZTZXJ2ZXJP bk5ldHdvcmsiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhU eXBlIG5hbWU9IkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNl Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVl c3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl bWVudCBuYW1lPSJTdGFydGluZ1JlY29yZElkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4UmVjb3Jkc1RvUmV0dXJuIiB0 eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg bmFtZT0iU2VydmVyQ2FwYWJpbGl0eUZpbHRlciIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5P Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVx dWVzdCIgdHlwZT0idG5zOkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVxdWVzdCIgLz4NCg0KICA8eHM6 Y29tcGxleFR5cGUgbmFtZT0iRmluZFNlcnZlcnNPbk5ldHdvcmtSZXNwb25zZSI+DQogICAgPHhz OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9 InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg ICAgIDx4czplbGVtZW50IG5hbWU9Ikxhc3RDb3VudGVyUmVzZXRUaW1lIiB0eXBlPSJ4czpkYXRl VGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVycyIg dHlwZT0idG5zOkxpc3RPZlNlcnZlck9uTmV0d29yayIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 ZWxlbWVudCBuYW1lPSJGaW5kU2VydmVyc09uTmV0d29ya1Jlc3BvbnNlIiB0eXBlPSJ0bnM6Rmlu ZFNlcnZlcnNPbk5ldHdvcmtSZXNwb25zZSIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBcHBs aWNhdGlvbkluc3RhbmNlQ2VydGlmaWNhdGUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgLz4NCg0K ICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iTWVzc2FnZVNlY3VyaXR5TW9kZSI+DQogICAgPHhzOmFu bm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgdHlwZSBvZiBzZWN1cml0eSB0 byB1c2Ugb24gYSBtZXNzYWdlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRp b24+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51 bWVyYXRpb24gdmFsdWU9IkludmFsaWRfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 ZT0iTm9uZV8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTaWduXzIiIC8+DQog ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNpZ25BbmRFbmNyeXB0XzMiIC8+DQogICAgPC94 czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJN ZXNzYWdlU2VjdXJpdHlNb2RlIiB0eXBlPSJ0bnM6TWVzc2FnZVNlY3VyaXR5TW9kZSIgLz4NCg0K ICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iVXNlclRva2VuVHlwZSI+DQogICAgPHhzOmFubm90YXRp b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgcG9zc2libGUgdXNlciB0b2tlbiB0eXBl cy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpyZXN0 cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJB bm9ueW1vdXNfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVXNlck5hbWVfMSIg Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ2VydGlmaWNhdGVfMiIgLz4NCiAgICAg IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNzdWVkVG9rZW5fMyIgLz4NCiAgICAgIDx4czplbnVt ZXJhdGlvbiB2YWx1ZT0iS2VyYmVyb3NfNCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8 L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVzZXJUb2tlblR5cGUiIHR5cGU9 InRuczpVc2VyVG9rZW5UeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJVc2VyVG9r ZW5Qb2xpY3kiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+ RGVzY3JpYmVzIGEgdXNlciB0b2tlbiB0aGF0IGNhbiBiZSB1c2VkIHdpdGggYSBzZXJ2ZXIuPC94 czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+ DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQb2xpY3lJZCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5P Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVG9r ZW5UeXBlIiB0eXBlPSJ0bnM6VXNlclRva2VuVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg PHhzOmVsZW1lbnQgbmFtZT0iSXNzdWVkVG9rZW5UeXBlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9j Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc3N1 ZXJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlQb2xpY3lVcmkiIHR5cGU9 InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyVG9r ZW5Qb2xpY3kiIHR5cGU9InRuczpVc2VyVG9rZW5Qb2xpY3kiIC8+DQoNCiAgPHhzOmNvbXBsZXhU eXBlIG5hbWU9Ikxpc3RPZlVzZXJUb2tlblBvbGljeSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg ICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlclRva2VuUG9saWN5IiB0eXBlPSJ0bnM6VXNlclRva2Vu UG9saWN5IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl bWVudCBuYW1lPSJMaXN0T2ZVc2VyVG9rZW5Qb2xpY3kiIHR5cGU9InRuczpMaXN0T2ZVc2VyVG9r ZW5Qb2xpY3kiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhU eXBlIG5hbWU9IkVuZHBvaW50RGVzY3JpcHRpb24iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAg ICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGRlc2NyaXB0aW9uIG9mIGEgZW5kcG9pbnQgdGhhdCBj YW4gYmUgdXNlZCB0byBhY2Nlc3MgYSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwv eHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l PSJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyIiB0eXBlPSJ0bnM6QXBwbGlj YXRpb25EZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg IDx4czplbGVtZW50IG5hbWU9IlNlcnZlckNlcnRpZmljYXRlIiB0eXBlPSJ4czpiYXNlNjRCaW5h cnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu YW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiBtaW5PY2N1 cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVBvbGljeVVyaSIgdHlw ZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz OmVsZW1lbnQgbmFtZT0iVXNlcklkZW50aXR5VG9rZW5zIiB0eXBlPSJ0bnM6TGlzdE9mVXNlclRv a2VuUG9saWN5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs ZW1lbnQgbmFtZT0iVHJhbnNwb3J0UHJvZmlsZVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1 cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJp dHlMZXZlbCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94 czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRW5k cG9pbnREZXNjcmlwdGlvbiIgdHlwZT0idG5zOkVuZHBvaW50RGVzY3JpcHRpb24iIC8+DQoNCiAg PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkVuZHBvaW50RGVzY3JpcHRpb24iPg0KICAgIDx4 czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50RGVzY3JpcHRpb24i IHR5cGU9InRuczpFbmRwb2ludERlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0i dW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFbmRwb2ludERlc2NyaXB0 aW9uIiB0eXBlPSJ0bnM6TGlzdE9mRW5kcG9pbnREZXNjcmlwdGlvbiIgbmlsbGFibGU9InRydWUi PjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iR2V0RW5kcG9pbnRzUmVx dWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5HZXRz IHRoZSBlbmRwb2ludHMgdXNlZCBieSB0aGUgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAg ICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg bmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0i MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVy bCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg ICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1p bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQ cm9maWxlVXJpcyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 czplbGVtZW50IG5hbWU9IkdldEVuZHBvaW50c1JlcXVlc3QiIHR5cGU9InRuczpHZXRFbmRwb2lu dHNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJHZXRFbmRwb2ludHNSZXNw b25zZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5HZXRz IHRoZSBlbmRwb2ludHMgdXNlZCBieSB0aGUgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAg ICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg bmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJz PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50 cyIgdHlwZT0idG5zOkxpc3RPZkVuZHBvaW50RGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbmls bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N CiAgPHhzOmVsZW1lbnQgbmFtZT0iR2V0RW5kcG9pbnRzUmVzcG9uc2UiIHR5cGU9InRuczpHZXRF bmRwb2ludHNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVnaXN0ZXJl ZFNlcnZlciI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5U aGUgaW5mb3JtYXRpb24gcmVxdWlyZWQgdG8gcmVnaXN0ZXIgYSBzZXJ2ZXIgd2l0aCBhIGRpc2Nv dmVyeSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAg ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJVcmkiIHR5cGU9 InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl bGVtZW50IG5hbWU9IlByb2R1Y3RVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBu aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlck5hbWVzIiB0 eXBlPSJ1YTpMaXN0T2ZMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVHlwZSIgdHlwZT0idG5zOkFwcGxp Y2F0aW9uVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iR2F0 ZXdheVNlcnZlclVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzY292ZXJ5VXJscyIgdHlwZT0idWE6 TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz OmVsZW1lbnQgbmFtZT0iU2VtYXBob3JlRmlsZVBhdGgiIHR5cGU9InhzOnN0cmluZyIgbWluT2Nj dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IklzT25s aW5lIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5j ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVnaXN0ZXJlZFNl cnZlciIgdHlwZT0idG5zOlJlZ2lzdGVyZWRTZXJ2ZXIiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl IG5hbWU9Ikxpc3RPZlJlZ2lzdGVyZWRTZXJ2ZXIiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg IDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyZWRTZXJ2ZXIiIHR5cGU9InRuczpSZWdpc3RlcmVk U2VydmVyIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl bWVudCBuYW1lPSJMaXN0T2ZSZWdpc3RlcmVkU2VydmVyIiB0eXBlPSJ0bnM6TGlzdE9mUmVnaXN0 ZXJlZFNlcnZlciIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxl eFR5cGUgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXJSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4N CiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlJlZ2lzdGVycyBhIHNlcnZlciB3aXRoIHRoZSBkaXNj b3Zlcnkgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQog ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIg dHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXIiIHR5cGU9InRuczpSZWdpc3RlcmVkU2Vy dmVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyU2VydmVy UmVxdWVzdCIgdHlwZT0idG5zOlJlZ2lzdGVyU2VydmVyUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29t cGxleFR5cGUgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXJSZXNwb25zZSI+DQogICAgPHhzOmFubm90YXRp b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5SZWdpc3RlcnMgYSBzZXJ2ZXIgd2l0aCB0aGUg ZGlzY292ZXJ5IHNlcnZlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9u Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVh ZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs ZW1lbnQgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXJSZXNwb25zZSIgdHlwZT0idG5zOlJlZ2lzdGVyU2Vy dmVyUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRpc2NvdmVyeUNvbmZp Z3VyYXRpb24iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+ QSBiYXNlIHR5cGUgZm9yIGRpc2NvdmVyeSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uLjwveHM6 ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0K ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h bWU9IkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpEaXNjb3ZlcnlDb25maWd1cmF0 aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNZG5zRGlzY292ZXJ5Q29uZmlndXJh dGlvbiI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUg ZGlzY292ZXJ5IGluZm9ybWF0aW9uIG5lZWRlZCBmb3IgbUROUyByZWdpc3RyYXRpb24uPC94czpk b2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRl bnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkRpc2NvdmVy eUNvbmZpZ3VyYXRpb24iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVs ZW1lbnQgbmFtZT0iTWRuc1NlcnZlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIw IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJD YXBhYmlsaXRpZXMiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs ZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9u Pg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl bGVtZW50IG5hbWU9Ik1kbnNEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiB0eXBlPSJ0bnM6TWRuc0Rp c2NvdmVyeUNvbmZpZ3VyYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZ2lz dGVyU2VydmVyMlJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9 IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyIiB0 eXBlPSJ0bnM6UmVnaXN0ZXJlZFNlcnZlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIHR5cGU9 InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu dCBuYW1lPSJSZWdpc3RlclNlcnZlcjJSZXF1ZXN0IiB0eXBlPSJ0bnM6UmVnaXN0ZXJTZXJ2ZXIy UmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXIyUmVz cG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3Bv bnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb25maWd1cmF0aW9uUmVzdWx0 cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6 TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt ZT0iUmVnaXN0ZXJTZXJ2ZXIyUmVzcG9uc2UiIHR5cGU9InRuczpSZWdpc3RlclNlcnZlcjJSZXNw b25zZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iU2VjdXJpdHlUb2tlblJlcXVlc3RU eXBlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkluZGlj YXRlcyB3aGV0aGVyIGEgdG9rZW4gaWYgYmVpbmcgY3JlYXRlZCBvciByZW5ld2VkLjwveHM6ZG9j dW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJh c2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Iklzc3VlXzAiIC8+ DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlbmV3XzEiIC8+DQogICAgPC94czpyZXN0 cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0 eVRva2VuUmVxdWVzdFR5cGUiIHR5cGU9InRuczpTZWN1cml0eVRva2VuUmVxdWVzdFR5cGUiIC8+ DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNoYW5uZWxTZWN1cml0eVRva2VuIj4NCiAgICA8 eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSB0b2tlbiB0aGF0IGlk ZW50aWZpZXMgYSBzZXQgb2Yga2V5cyBmb3IgYW4gYWN0aXZlIHNlY3VyZSBjaGFubmVsLjwveHM6 ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0K ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2hhbm5lbElkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIg bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVG9rZW5JZCIgdHlwZT0i eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 IkNyZWF0ZWRBdCIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 czplbGVtZW50IG5hbWU9IlJldmlzZWRMaWZldGltZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1p bk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K ICA8eHM6ZWxlbWVudCBuYW1lPSJDaGFubmVsU2VjdXJpdHlUb2tlbiIgdHlwZT0idG5zOkNoYW5u ZWxTZWN1cml0eVRva2VuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJPcGVuU2VjdXJl Q2hhbm5lbFJlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50 YXRpb24+Q3JlYXRlcyBhIHNlY3VyZSBjaGFubmVsIHdpdGggYSBzZXJ2ZXIuPC94czpkb2N1bWVu dGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIg bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 IkNsaWVudFByb3RvY29sVmVyc2lvbiIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RUeXBlIiB0eXBlPSJ0bnM6U2Vj dXJpdHlUb2tlblJlcXVlc3RUeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu dCBuYW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiBtaW5P Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnROb25jZSIgdHlwZT0i eHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg PHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTGlmZXRpbWUiIHR5cGU9InhzOnVuc2lnbmVkSW50 IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT3BlblNlY3VyZUNoYW5uZWxSZXF1ZXN0IiB0eXBlPSJ0 bnM6T3BlblNlY3VyZUNoYW5uZWxSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l PSJPcGVuU2VjdXJlQ2hhbm5lbFJlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAg IDx4czpkb2N1bWVudGF0aW9uPkNyZWF0ZXMgYSBzZWN1cmUgY2hhbm5lbCB3aXRoIGEgc2VydmVy LjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVl bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpS ZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 czplbGVtZW50IG5hbWU9IlNlcnZlclByb3RvY29sVmVyc2lvbiIgdHlwZT0ieHM6dW5zaWduZWRJ bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5VG9r ZW4iIHR5cGU9InRuczpDaGFubmVsU2VjdXJpdHlUb2tlbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJs ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlck5vbmNlIiB0eXBlPSJ4 czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT3Bl blNlY3VyZUNoYW5uZWxSZXNwb25zZSIgdHlwZT0idG5zOk9wZW5TZWN1cmVDaGFubmVsUmVzcG9u c2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNsb3NlU2VjdXJlQ2hhbm5lbFJlcXVl c3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q2xvc2Vz IGEgc2VjdXJlIGNoYW5uZWwuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlv bj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVh ZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl bWVudCBuYW1lPSJDbG9zZVNlY3VyZUNoYW5uZWxSZXF1ZXN0IiB0eXBlPSJ0bnM6Q2xvc2VTZWN1 cmVDaGFubmVsUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2xvc2VTZWN1 cmVDaGFubmVsUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3Vt ZW50YXRpb24+Q2xvc2VzIGEgc2VjdXJlIGNoYW5uZWwuPC94czpkb2N1bWVudGF0aW9uPg0KICAg IDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu YW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9 IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNsb3NlU2VjdXJlQ2hhbm5lbFJlc3BvbnNlIiB0 eXBlPSJ0bnM6Q2xvc2VTZWN1cmVDaGFubmVsUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhU eXBlIG5hbWU9IlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiPg0KICAgIDx4czphbm5vdGF0aW9u Pg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBzb2Z0d2FyZSBjZXJ0aWZpY2F0ZSB3aXRoIGEg ZGlnaXRhbCBzaWduYXR1cmUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlv bj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDZXJ0aWZpY2F0 ZURhdGEiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNpZ25hdHVyZSIgdHlwZT0ieHM6YmFzZTY0 QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNpZ25lZFNvZnR3 YXJlQ2VydGlmaWNhdGUiIHR5cGU9InRuczpTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiAvPg0K DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRl Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTaWduZWRTb2Z0 d2FyZUNlcnRpZmljYXRlIiB0eXBlPSJ0bnM6U2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgbWlu T2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i TGlzdE9mU2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgdHlwZT0idG5zOkxpc3RPZlNpZ25lZFNv ZnR3YXJlQ2VydGlmaWNhdGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhz OmVsZW1lbnQgbmFtZT0iU2Vzc2lvbkF1dGhlbnRpY2F0aW9uVG9rZW4iIHR5cGU9InVhOk5vZGVJ ZCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2lnbmF0dXJlRGF0YSI+DQogICAgPHhz OmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIGRpZ2l0YWwgc2lnbmF0dXJl LjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVl bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWxnb3JpdGhtIiB0eXBlPSJ4czpzdHJpbmci IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l PSJTaWduYXR1cmUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 eHM6ZWxlbWVudCBuYW1lPSJTaWduYXR1cmVEYXRhIiB0eXBlPSJ0bnM6U2lnbmF0dXJlRGF0YSIg Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ3JlYXRlU2Vzc2lvblJlcXVlc3QiPg0KICAg IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q3JlYXRlcyBhIG5ldyBz ZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v dGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVl c3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50RGVzY3JpcHRpb24iIHR5 cGU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVXJpIiB0eXBlPSJ4czpzdHJp bmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu YW1lPSJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbk5hbWUiIHR5cGU9Inhz OnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt ZW50IG5hbWU9IkNsaWVudE5vbmNlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0i MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRDZXJ0 aWZpY2F0ZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkU2Vzc2lvblRpbWVvdXQi IHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt ZT0iTWF4UmVzcG9uc2VNZXNzYWdlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vy cz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 ZWxlbWVudCBuYW1lPSJDcmVhdGVTZXNzaW9uUmVxdWVzdCIgdHlwZT0idG5zOkNyZWF0ZVNlc3Np b25SZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDcmVhdGVTZXNzaW9uUmVz cG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q3Jl YXRlcyBhIG5ldyBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L3hzOmRvY3VtZW50YXRpb24+DQog ICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vy cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9u SWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg ICAgIDx4czplbGVtZW50IG5hbWU9IkF1dGhlbnRpY2F0aW9uVG9rZW4iIHR5cGU9InVhOk5vZGVJ ZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h bWU9IlJldmlzZWRTZXNzaW9uVGltZW91dCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAi IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJOb25jZSIgdHlwZT0ieHM6YmFzZTY0 QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l bnQgbmFtZT0iU2VydmVyQ2VydGlmaWNhdGUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2Nj dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZl ckVuZHBvaW50cyIgdHlwZT0idG5zOkxpc3RPZkVuZHBvaW50RGVzY3JpcHRpb24iIG1pbk9jY3Vy cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJT b2Z0d2FyZUNlcnRpZmljYXRlcyIgdHlwZT0idG5zOkxpc3RPZlNpZ25lZFNvZnR3YXJlQ2VydGlm aWNhdGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu dCBuYW1lPSJTZXJ2ZXJTaWduYXR1cmUiIHR5cGU9InRuczpTaWduYXR1cmVEYXRhIiBtaW5PY2N1 cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4UmVx dWVzdE1lc3NhZ2VTaXplIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0K ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h bWU9IkNyZWF0ZVNlc3Npb25SZXNwb25zZSIgdHlwZT0idG5zOkNyZWF0ZVNlc3Npb25SZXNwb25z ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVXNlcklkZW50aXR5VG9rZW4iPg0KICAg IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBiYXNlIHR5cGUgZm9y IGEgdXNlciBpZGVudGl0eSB0b2tlbi48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v dGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBvbGlj eUlkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt ZT0iVXNlcklkZW50aXR5VG9rZW4iIHR5cGU9InRuczpVc2VySWRlbnRpdHlUb2tlbiIgLz4NCg0K ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQW5vbnltb3VzSWRlbnRpdHlUb2tlbiI+DQogICAgPHhz OmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHRva2VuIHJlcHJlc2VudGlu ZyBhbiBhbm9ueW1vdXMgdXNlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0 aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4 dGVuc2lvbiBiYXNlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgICAgICA8eHM6c2VxdWVu Y2U+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8 L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu YW1lPSJBbm9ueW1vdXNJZGVudGl0eVRva2VuIiB0eXBlPSJ0bnM6QW5vbnltb3VzSWRlbnRpdHlU b2tlbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVXNlck5hbWVJZGVudGl0eVRva2Vu Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgdG9rZW4g cmVwcmVzZW50aW5nIGEgdXNlciBpZGVudGlmaWVkIGJ5IGEgdXNlciBuYW1lIGFuZCBwYXNzd29y ZC48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21w bGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6 VXNlcklkZW50aXR5VG9rZW4iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhz OmVsZW1lbnQgbmFtZT0iVXNlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBu aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQYXNzd29yZCIg dHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuY3J5cHRpb25BbGdvcml0aG0iIHR5cGU9Inhz OnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpz ZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+ DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVzZXJOYW1lSWRlbnRp dHlUb2tlbiIgdHlwZT0idG5zOlVzZXJOYW1lSWRlbnRpdHlUb2tlbiIgLz4NCg0KICA8eHM6Y29t cGxleFR5cGUgbmFtZT0iWDUwOUlkZW50aXR5VG9rZW4iPg0KICAgIDx4czphbm5vdGF0aW9uPg0K ICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSB0b2tlbiByZXByZXNlbnRpbmcgYSB1c2VyIGlkZW50 aWZpZWQgYnkgYW4gWDUwOSBjZXJ0aWZpY2F0ZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94 czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAg ICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgICAgICA8 eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2VydGlmaWNhdGVEYXRh IiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hz OmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l PSJYNTA5SWRlbnRpdHlUb2tlbiIgdHlwZT0idG5zOlg1MDlJZGVudGl0eVRva2VuIiAvPg0KDQog IDx4czpjb21wbGV4VHlwZSBuYW1lPSJLZXJiZXJvc0lkZW50aXR5VG9rZW4iPg0KICAgIDx4czpj b21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0 bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAg PHhzOmVsZW1lbnQgbmFtZT0iVGlja2V0RGF0YSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5P Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAg ICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21w bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iS2VyYmVyb3NJZGVudGl0eVRva2VuIiB0eXBl PSJ0bnM6S2VyYmVyb3NJZGVudGl0eVRva2VuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l PSJJc3N1ZWRJZGVudGl0eVRva2VuIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpk b2N1bWVudGF0aW9uPkEgdG9rZW4gcmVwcmVzZW50aW5nIGEgdXNlciBpZGVudGlmaWVkIGJ5IGEg V1MtU2VjdXJpdHkgWE1MIHRva2VuLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90 YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6 ZXh0ZW5zaW9uIGJhc2U9InRuczpVc2VySWRlbnRpdHlUb2tlbiI+DQogICAgICAgIDx4czpzZXF1 ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUb2tlbkRhdGEiIHR5cGU9InhzOmJh c2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8 eHM6ZWxlbWVudCBuYW1lPSJFbmNyeXB0aW9uQWxnb3JpdGhtIiB0eXBlPSJ4czpzdHJpbmciIG1p bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQog ICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNv bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJJc3N1ZWRJZGVudGl0eVRva2VuIiB0eXBl PSJ0bnM6SXNzdWVkSWRlbnRpdHlUb2tlbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i QWN0aXZhdGVTZXNzaW9uUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6 ZG9jdW1lbnRhdGlvbj5BY3RpdmF0ZXMgYSBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L3hzOmRv Y3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg ICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVh ZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg bmFtZT0iQ2xpZW50U2lnbmF0dXJlIiB0eXBlPSJ0bnM6U2lnbmF0dXJlRGF0YSIgbWluT2NjdXJz PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVudFNv ZnR3YXJlQ2VydGlmaWNhdGVzIiB0eXBlPSJ0bnM6TGlzdE9mU2lnbmVkU29mdHdhcmVDZXJ0aWZp Y2F0ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 IG5hbWU9IkxvY2FsZUlkcyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5p bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlcklkZW50aXR5VG9r ZW4iIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJUb2tlblNpZ25hdHVyZSIgdHlwZT0i dG5zOlNpZ25hdHVyZURhdGEiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i QWN0aXZhdGVTZXNzaW9uUmVxdWVzdCIgdHlwZT0idG5zOkFjdGl2YXRlU2Vzc2lvblJlcXVlc3Qi IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFjdGl2YXRlU2Vzc2lvblJlc3BvbnNlIj4N CiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkFjdGl2YXRlcyBh IHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu bm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVz cG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxs YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlck5vbmNlIiB0eXBl PSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBt aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i RGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJz PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBY3RpdmF0ZVNlc3Npb25SZXNwb25zZSIgdHlw ZT0idG5zOkFjdGl2YXRlU2Vzc2lvblJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu YW1lPSJDbG9zZVNlc3Npb25SZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4 czpkb2N1bWVudGF0aW9uPkNsb3NlcyBhIHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwveHM6ZG9j dW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFk ZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu YW1lPSJEZWxldGVTdWJzY3JpcHRpb25zIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAi IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l bnQgbmFtZT0iQ2xvc2VTZXNzaW9uUmVxdWVzdCIgdHlwZT0idG5zOkNsb3NlU2Vzc2lvblJlcXVl c3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNsb3NlU2Vzc2lvblJlc3BvbnNlIj4N CiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNsb3NlcyBhIHNl c3Npb24gd2l0aCB0aGUgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90 YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9u c2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJs ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 eHM6ZWxlbWVudCBuYW1lPSJDbG9zZVNlc3Npb25SZXNwb25zZSIgdHlwZT0idG5zOkNsb3NlU2Vz c2lvblJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDYW5jZWxSZXF1ZXN0 Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNhbmNlbHMg YW4gb3V0c3RhbmRpbmcgcmVxdWVzdC48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v dGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVl c3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhhbmRsZSIgdHlwZT0i eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDYW5jZWxSZXF1ZXN0IiB0eXBl PSJ0bnM6Q2FuY2VsUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2FuY2Vs UmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+ Q2FuY2VscyBhbiBvdXRzdGFuZGluZyByZXF1ZXN0LjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8 L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt ZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIw IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNhbmNlbENvdW50 IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVu Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNhbmNlbFJlc3Bv bnNlIiB0eXBlPSJ0bnM6Q2FuY2VsUmVzcG9uc2UiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5h bWU9Ik5vZGVBdHRyaWJ1dGVzTWFzayI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6 ZG9jdW1lbnRhdGlvbj5UaGUgYml0cyB1c2VkIHRvIHNwZWNpZnkgZGVmYXVsdCBhdHRyaWJ1dGVz IGZvciBhIG5ldyBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+ DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVy YXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQWNj ZXNzTGV2ZWxfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQXJyYXlEaW1lbnNp b25zXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJyb3dzZU5hbWVfNCIgLz4N CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ29udGFpbnNOb0xvb3BzXzgiIC8+DQogICAg ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRhdGFUeXBlXzE2IiAvPg0KICAgICAgPHhzOmVudW1l cmF0aW9uIHZhbHVlPSJEZXNjcmlwdGlvbl8zMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 YWx1ZT0iRGlzcGxheU5hbWVfNjQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkV2 ZW50Tm90aWZpZXJfMTI4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJFeGVjdXRh YmxlXzI1NiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSGlzdG9yaXppbmdfNTEy IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJbnZlcnNlTmFtZV8xMDI0IiAvPg0K ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJc0Fic3RyYWN0XzIwNDgiIC8+DQogICAgICA8 eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik1pbmltdW1TYW1wbGluZ0ludGVydmFsXzQwOTYiIC8+DQog ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vZGVDbGFzc184MTkyIiAvPg0KICAgICAgPHhz OmVudW1lcmF0aW9uIHZhbHVlPSJOb2RlSWRfMTYzODQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp b24gdmFsdWU9IlN5bW1ldHJpY18zMjc2OCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 ZT0iVXNlckFjY2Vzc0xldmVsXzY1NTM2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl PSJVc2VyRXhlY3V0YWJsZV8xMzEwNzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 IlVzZXJXcml0ZU1hc2tfMjYyMTQ0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJW YWx1ZVJhbmtfNTI0Mjg4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJXcml0ZU1h c2tfMTA0ODU3NiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVmFsdWVfMjA5NzE1 MiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQWxsXzQxOTQzMDMiIC8+DQogICAg ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJhc2VOb2RlXzEzMzUzOTYiIC8+DQogICAgICA8eHM6 ZW51bWVyYXRpb24gdmFsdWU9Ik9iamVjdF8xMzM1NTI0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0 aW9uIHZhbHVlPSJPYmplY3RUeXBlT3JEYXRhVHlwZV8xMzM3NDQ0IiAvPg0KICAgICAgPHhzOmVu dW1lcmF0aW9uIHZhbHVlPSJWYXJpYWJsZV80MDI2OTk5IiAvPg0KICAgICAgPHhzOmVudW1lcmF0 aW9uIHZhbHVlPSJWYXJpYWJsZVR5cGVfMzk1ODkwMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv biB2YWx1ZT0iTWV0aG9kXzE0NjY3MjQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 IlJlZmVyZW5jZVR5cGVfMTM3MTIzNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i Vmlld18xMzM1NTMyIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlw ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUF0dHJpYnV0ZXNNYXNrIiB0eXBlPSJ0bnM6Tm9k ZUF0dHJpYnV0ZXNNYXNrIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJOb2RlQXR0cmli dXRlcyI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUg YmFzZSBhdHRyaWJ1dGVzIGZvciBhbGwgbm9kZXMuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwv eHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l PSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzcGxheU5hbWUiIHR5cGU9InVhOkxvY2Fs aXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl bWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJz PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IldyaXRlTWFz ayIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt ZW50IG5hbWU9IlVzZXJXcml0ZU1hc2siIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9 IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs ZW1lbnQgbmFtZT0iTm9kZUF0dHJpYnV0ZXMiIHR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4N Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iT2JqZWN0QXR0cmlidXRlcyI+DQogICAgPHhzOmFu bm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYW4g b2JqZWN0IG5vZGUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAg ICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24g YmFzZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAg ICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50Tm90aWZpZXIiIHR5cGU9InhzOnVuc2lnbmVkQnl0 ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpl eHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4N CiAgPHhzOmVsZW1lbnQgbmFtZT0iT2JqZWN0QXR0cmlidXRlcyIgdHlwZT0idG5zOk9iamVjdEF0 dHJpYnV0ZXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhYmxlQXR0cmlidXRl cyI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgYXR0 cmlidXRlcyBmb3IgYSB2YXJpYWJsZSBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hz OmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAg ICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgICAgIDx4czpz ZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0idWE6VmFy aWFudCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFU eXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czppbnQiIG1pbk9j Y3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcnJheURpbWVuc2lvbnMi IHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBY2Nlc3NMZXZlbCIgdHlwZT0ieHM6dW5zaWdu ZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNl ckFjY2Vzc0xldmVsIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAg ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNaW5pbXVtU2FtcGxpbmdJbnRlcnZhbCIgdHlwZT0i eHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i SGlzdG9yaXppbmciIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg PC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENv bnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlZhcmlhYmxl QXR0cmlidXRlcyIgdHlwZT0idG5zOlZhcmlhYmxlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29t cGxleFR5cGUgbmFtZT0iTWV0aG9kQXR0cmlidXRlcyI+DQogICAgPHhzOmFubm90YXRpb24+DQog ICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSBtZXRob2Qgbm9kZS48 L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4 Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9k ZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1l bnQgbmFtZT0iRXhlY3V0YWJsZSIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0K ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJFeGVjdXRhYmxlIiB0eXBlPSJ4czpib29s ZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hz OmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBl Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNZXRob2RBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6TWV0aG9k QXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iT2JqZWN0VHlwZUF0dHJp YnV0ZXMiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhl IGF0dHJpYnV0ZXMgZm9yIGFuIG9iamVjdCB0eXBlIG5vZGUuPC94czpkb2N1bWVudGF0aW9uPg0K ICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNl Ij4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICAg ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IklzQWJzdHJhY3Qi IHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5j ZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwv eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9iamVjdFR5cGVBdHRyaWJ1dGVz IiB0eXBlPSJ0bnM6T2JqZWN0VHlwZUF0dHJpYnV0ZXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl IG5hbWU9IlZhcmlhYmxlVHlwZUF0dHJpYnV0ZXMiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAg ICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGEgdmFyaWFibGUgdHlwZSBu b2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNv bXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRu czpOb2RlQXR0cmlidXRlcyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6 ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0idWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0K ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1p bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFt ZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8 eHM6ZWxlbWVudCBuYW1lPSJBcnJheURpbWVuc2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIg bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu YW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg ICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBs ZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWYXJp YWJsZVR5cGVBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6VmFyaWFibGVUeXBlQXR0cmlidXRlcyIgLz4N Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVmZXJlbmNlVHlwZUF0dHJpYnV0ZXMiPg0KICAg IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMg Zm9yIGEgcmVmZXJlbmNlIHR5cGUgbm9kZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czph bm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAg PHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8eHM6c2Vx dWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNBYnN0cmFjdCIgdHlwZT0ieHM6 Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN5 bW1ldHJpYyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4 czplbGVtZW50IG5hbWU9IkludmVyc2VOYW1lIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5P Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAg ICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21w bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlVHlwZUF0dHJpYnV0ZXMiIHR5 cGU9InRuczpSZWZlcmVuY2VUeXBlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg bmFtZT0iRGF0YVR5cGVBdHRyaWJ1dGVzIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4 czpkb2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1dGVzIGZvciBhIGRhdGEgdHlwZSBub2RlLjwveHM6 ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250 ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlQXR0 cmlidXRlcyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu YW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg ICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBs ZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRh VHlwZUF0dHJpYnV0ZXMiIHR5cGU9InRuczpEYXRhVHlwZUF0dHJpYnV0ZXMiIC8+DQoNCiAgPHhz OmNvbXBsZXhUeXBlIG5hbWU9IlZpZXdBdHRyaWJ1dGVzIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4N CiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1dGVzIGZvciBhIHZpZXcgbm9kZS48 L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4 Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9k ZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1l bnQgbmFtZT0iQ29udGFpbnNOb0xvb3BzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAi IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnROb3RpZmllciIgdHlwZT0ieHM6 dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQog ICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNv bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWaWV3QXR0cmlidXRlcyIgdHlwZT0idG5z OlZpZXdBdHRyaWJ1dGVzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZGROb2Rlc0l0 ZW0iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSByZXF1 ZXN0IHRvIGFkZCBhIG5vZGUgdG8gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1l bnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg PHhzOmVsZW1lbnQgbmFtZT0iUGFyZW50Tm9kZUlkIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIg bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 IlJlZmVyZW5jZVR5cGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTmV3Tm9kZUlkIiB0 eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZU5hbWUiIHR5cGU9InVhOlF1YWxpZmllZE5h bWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu YW1lPSJOb2RlQ2xhc3MiIHR5cGU9InRuczpOb2RlQ2xhc3MiIG1pbk9jY3Vycz0iMCIgLz4NCiAg ICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVBdHRyaWJ1dGVzIiB0eXBlPSJ1YTpFeHRlbnNpb25P YmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu dCBuYW1lPSJUeXBlRGVmaW5pdGlvbiIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vy cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkTm9kZXNJdGVtIiB0eXBlPSJ0bnM6QWRk Tm9kZXNJdGVtIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZBZGROb2Rlc0l0 ZW0iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZE5vZGVz SXRlbSIgdHlwZT0idG5zOkFkZE5vZGVzSXRlbSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu Ym91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQWRkTm9kZXNJdGVtIiB0eXBl PSJ0bnM6TGlzdE9mQWRkTm9kZXNJdGVtIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZGROb2Rlc1Jlc3VsdCI+DQogICAgPHhzOmFubm90 YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHJlc3VsdCBvZiBhbiBhZGQgbm9kZSBv cGVyYXRpb24uPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1 YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJB ZGRlZE5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt ZW50IG5hbWU9IkFkZE5vZGVzUmVzdWx0IiB0eXBlPSJ0bnM6QWRkTm9kZXNSZXN1bHQiIC8+DQoN CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkFkZE5vZGVzUmVzdWx0Ij4NCiAgICA8eHM6 c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGROb2Rlc1Jlc3VsdCIgdHlwZT0i dG5zOkFkZE5vZGVzUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZBZGROb2Rlc1Jlc3VsdCIgdHlwZT0idG5zOkxp c3RPZkFkZE5vZGVzUmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4 czpjb21wbGV4VHlwZSBuYW1lPSJBZGROb2Rlc1JlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9u Pg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QWRkcyBvbmUgb3IgbW9yZSBub2RlcyB0byB0aGUg c2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3Rh dGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0 SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVzVG9BZGQiIHR5cGU9InRuczpM aXN0T2ZBZGROb2Rlc0l0ZW0iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i QWRkTm9kZXNSZXF1ZXN0IiB0eXBlPSJ0bnM6QWRkTm9kZXNSZXF1ZXN0IiAvPg0KDQogIDx4czpj b21wbGV4VHlwZSBuYW1lPSJBZGROb2Rlc1Jlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4N CiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkFkZHMgb25lIG9yIG1vcmUgbm9kZXMgdG8gdGhlIHNl cnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRp b24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VI ZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0 T2ZBZGROb2Rlc1Jlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg IDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25v c3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkTm9kZXNS ZXNwb25zZSIgdHlwZT0idG5zOkFkZE5vZGVzUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhU eXBlIG5hbWU9IkFkZFJlZmVyZW5jZXNJdGVtIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAg IDx4czpkb2N1bWVudGF0aW9uPkEgcmVxdWVzdCB0byBhZGQgYSByZWZlcmVuY2UgdG8gdGhlIHNl cnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRp b24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU291cmNlTm9k ZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VUeXBlSWQiIHR5cGU9InVhOk5vZGVJZCIg bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 IklzRm9yd2FyZCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz OmVsZW1lbnQgbmFtZT0iVGFyZ2V0U2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vy cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXRO b2RlSWQiIHR5cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGFyZ2V0Tm9kZUNsYXNzIiB0eXBlPSJ0 bnM6Tm9kZUNsYXNzIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkUmVmZXJlbmNlc0l0ZW0iIHR5 cGU9InRuczpBZGRSZWZlcmVuY2VzSXRlbSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i TGlzdE9mQWRkUmVmZXJlbmNlc0l0ZW0iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl bGVtZW50IG5hbWU9IkFkZFJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0bnM6QWRkUmVmZXJlbmNlc0l0 ZW0iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAv Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 IG5hbWU9Ikxpc3RPZkFkZFJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0bnM6TGlzdE9mQWRkUmVmZXJl bmNlc0l0ZW0iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhU eXBlIG5hbWU9IkFkZFJlZmVyZW5jZXNSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg ICAgIDx4czpkb2N1bWVudGF0aW9uPkFkZHMgb25lIG9yIG1vcmUgcmVmZXJlbmNlcyB0byB0aGUg c2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3Rh dGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0 SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZXNUb0FkZCIgdHlwZT0i dG5zOkxpc3RPZkFkZFJlZmVyZW5jZXNJdGVtIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt ZW50IG5hbWU9IkFkZFJlZmVyZW5jZXNSZXF1ZXN0IiB0eXBlPSJ0bnM6QWRkUmVmZXJlbmNlc1Jl cXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFkZFJlZmVyZW5jZXNSZXNwb25z ZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BZGRzIG9u ZSBvciBtb3JlIHJlZmVyZW5jZXMgdG8gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9j dW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhl YWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIg bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5m b3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 czplbGVtZW50IG5hbWU9IkFkZFJlZmVyZW5jZXNSZXNwb25zZSIgdHlwZT0idG5zOkFkZFJlZmVy ZW5jZXNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlTm9kZXNJ dGVtIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgcmVx dWVzdCB0byBkZWxldGUgYSBub2RlIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRv Y3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg ICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9 IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlVGFy Z2V0UmVmZXJlbmNlcyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwv eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRl bGV0ZU5vZGVzSXRlbSIgdHlwZT0idG5zOkRlbGV0ZU5vZGVzSXRlbSIgLz4NCg0KICA8eHM6Y29t cGxleFR5cGUgbmFtZT0iTGlzdE9mRGVsZXRlTm9kZXNJdGVtIj4NCiAgICA8eHM6c2VxdWVuY2U+ DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVOb2Rlc0l0ZW0iIHR5cGU9InRuczpEZWxl dGVOb2Rlc0l0ZW0iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxl PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 czplbGVtZW50IG5hbWU9Ikxpc3RPZkRlbGV0ZU5vZGVzSXRlbSIgdHlwZT0idG5zOkxpc3RPZkRl bGV0ZU5vZGVzSXRlbSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29t cGxleFR5cGUgbmFtZT0iRGVsZXRlTm9kZXNSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4N CiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkRlbGV0ZSBvbmUgb3IgbW9yZSBub2RlcyBmcm9tIHRo ZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v dGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVl c3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb0RlbGV0ZSIgdHlwZT0i dG5zOkxpc3RPZkRlbGV0ZU5vZGVzSXRlbSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu dCBuYW1lPSJEZWxldGVOb2Rlc1JlcXVlc3QiIHR5cGU9InRuczpEZWxldGVOb2Rlc1JlcXVlc3Qi IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZU5vZGVzUmVzcG9uc2UiPg0KICAg IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+RGVsZXRlIG9uZSBvciBt b3JlIG5vZGVzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlv bj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs ZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWlu T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJl c3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9 InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 IG5hbWU9IkRlbGV0ZU5vZGVzUmVzcG9uc2UiIHR5cGU9InRuczpEZWxldGVOb2Rlc1Jlc3BvbnNl IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEZWxldGVSZWZlcmVuY2VzSXRlbSI+DQog ICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHJlcXVlc3QgdG8g ZGVsZXRlIGEgbm9kZSBmcm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50 YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 czplbGVtZW50IG5hbWU9IlNvdXJjZU5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9 IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNl VHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ZvcndhcmQiIHR5cGU9InhzOmJvb2xlYW4iIG1p bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRhcmdldE5vZGVJZCIgdHlw ZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVCaWRpcmVjdGlvbmFsIiB0eXBlPSJ4czpib29s ZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlUmVmZXJlbmNlc0l0ZW0iIHR5cGU9InRu czpEZWxldGVSZWZlcmVuY2VzSXRlbSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlz dE9mRGVsZXRlUmVmZXJlbmNlc0l0ZW0iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl bGVtZW50IG5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0bnM6RGVsZXRlUmVmZXJl bmNlc0l0ZW0iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0 cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl bGVtZW50IG5hbWU9Ikxpc3RPZkRlbGV0ZVJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0bnM6TGlzdE9m RGVsZXRlUmVmZXJlbmNlc0l0ZW0iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg PHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNSZXF1ZXN0Ij4NCiAgICA8eHM6 YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkRlbGV0ZSBvbmUgb3IgbW9yZSBy ZWZlcmVuY2VzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlv bj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs ZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9j Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZl cmVuY2VzVG9EZWxldGUiIHR5cGU9InRuczpMaXN0T2ZEZWxldGVSZWZlcmVuY2VzSXRlbSIgbWlu T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVSZWZlcmVuY2VzUmVxdWVz dCIgdHlwZT0idG5zOkRlbGV0ZVJlZmVyZW5jZXNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4 VHlwZSBuYW1lPSJEZWxldGVSZWZlcmVuY2VzUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9u Pg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+RGVsZXRlIG9uZSBvciBtb3JlIHJlZmVyZW5jZXMg ZnJvbSB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwv eHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l PSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAi IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlw ZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9m RGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVs ZXRlUmVmZXJlbmNlc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6RGVsZXRlUmVmZXJlbmNlc1Jlc3BvbnNl IiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJBdHRyaWJ1dGVXcml0ZU1hc2siPg0KICAg IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+RGVmaW5lIGJpdHMgdXNl ZCB0byBpbmRpY2F0ZSB3aGljaCBhdHRyaWJ1dGVzIGFyZSB3cml0YWJsZS48L3hzOmRvY3VtZW50 YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4 czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb25lXzAiIC8+DQogICAg ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFjY2Vzc0xldmVsXzEiIC8+DQogICAgICA8eHM6ZW51 bWVyYXRpb24gdmFsdWU9IkFycmF5RGltZW5zaW9uc18yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0 aW9uIHZhbHVlPSJCcm93c2VOYW1lXzQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 IkNvbnRhaW5zTm9Mb29wc184IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEYXRh VHlwZV8xNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGVzY3JpcHRpb25fMzIi IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRpc3BsYXlOYW1lXzY0IiAvPg0KICAg ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJFdmVudE5vdGlmaWVyXzEyOCIgLz4NCiAgICAgIDx4 czplbnVtZXJhdGlvbiB2YWx1ZT0iRXhlY3V0YWJsZV8yNTYiIC8+DQogICAgICA8eHM6ZW51bWVy YXRpb24gdmFsdWU9Ikhpc3Rvcml6aW5nXzUxMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 YWx1ZT0iSW52ZXJzZU5hbWVfMTAyNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i SXNBYnN0cmFjdF8yMDQ4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJNaW5pbXVt U2FtcGxpbmdJbnRlcnZhbF80MDk2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJO b2RlQ2xhc3NfODE5MiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9kZUlkXzE2 Mzg0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTeW1tZXRyaWNfMzI3NjgiIC8+ DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVzZXJBY2Nlc3NMZXZlbF82NTUzNiIgLz4N CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVXNlckV4ZWN1dGFibGVfMTMxMDcyIiAvPg0K ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVc2VyV3JpdGVNYXNrXzI2MjE0NCIgLz4NCiAg ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVmFsdWVSYW5rXzUyNDI4OCIgLz4NCiAgICAgIDx4 czplbnVtZXJhdGlvbiB2YWx1ZT0iV3JpdGVNYXNrXzEwNDg1NzYiIC8+DQogICAgICA8eHM6ZW51 bWVyYXRpb24gdmFsdWU9IlZhbHVlRm9yVmFyaWFibGVUeXBlXzIwOTcxNTIiIC8+DQogICAgPC94 czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJB dHRyaWJ1dGVXcml0ZU1hc2siIHR5cGU9InRuczpBdHRyaWJ1dGVXcml0ZU1hc2siIC8+DQoNCiAg PHhzOnNpbXBsZVR5cGUgIG5hbWU9IkJyb3dzZURpcmVjdGlvbiI+DQogICAgPHhzOmFubm90YXRp b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgZGlyZWN0aW9ucyBvZiB0aGUgcmVmZXJl bmNlcyB0byByZXR1cm4uPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4N CiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJh dGlvbiB2YWx1ZT0iRm9yd2FyZF8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJ bnZlcnNlXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJvdGhfMiIgLz4NCiAg ICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5h bWU9IkJyb3dzZURpcmVjdGlvbiIgdHlwZT0idG5zOkJyb3dzZURpcmVjdGlvbiIgLz4NCg0KICA8 eHM6Y29tcGxleFR5cGUgbmFtZT0iVmlld0Rlc2NyaXB0aW9uIj4NCiAgICA8eHM6YW5ub3RhdGlv bj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSB2aWV3IHRvIGJyb3dzZS48L3hzOmRvY3Vt ZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg IDx4czplbGVtZW50IG5hbWU9IlZpZXdJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAi IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0YW1wIiB0 eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt ZT0iVmlld1ZlcnNpb24iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQog ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt ZT0iVmlld0Rlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6Vmlld0Rlc2NyaXB0aW9uIiAvPg0KDQogIDx4 czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VEZXNjcmlwdGlvbiI+DQogICAgPHhzOmFubm90YXRp b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHJlcXVlc3QgdG8gYnJvd3NlIHRoZSB0aGUg cmVmZXJlbmNlcyBmcm9tIGEgbm9kZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v dGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJ ZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg ICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlRGlyZWN0aW9uIiB0eXBlPSJ0bnM6QnJvd3NlRGly ZWN0aW9uIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVu Y2VUeXBlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkluY2x1ZGVTdWJ0eXBlcyIgdHlwZT0ieHM6Ym9v bGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUNsYXNz TWFzayIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl bGVtZW50IG5hbWU9IlJlc3VsdE1hc2siIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9 IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs ZW1lbnQgbmFtZT0iQnJvd3NlRGVzY3JpcHRpb24iIHR5cGU9InRuczpCcm93c2VEZXNjcmlwdGlv biIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJvd3NlRGVzY3JpcHRpb24i Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZURlc2Ny aXB0aW9uIiB0eXBlPSJ0bnM6QnJvd3NlRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2Nj dXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb3dzZURlc2Ny aXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlRGVzY3JpcHRpb24iIG5pbGxhYmxlPSJ0cnVl Ij48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkJyb3dzZVJlc3VsdE1h c2siPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBiaXQg bWFzayB3aGljaCBzcGVjaWZpZXMgd2hhdCBzaG91bGQgYmUgcmV0dXJuZWQgaW4gYSBicm93c2Ug cmVzcG9uc2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 YWx1ZT0iTm9uZV8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZWZlcmVuY2VU eXBlSWRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNGb3J3YXJkXzIiIC8+ DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vZGVDbGFzc180IiAvPg0KICAgICAgPHhz OmVudW1lcmF0aW9uIHZhbHVlPSJCcm93c2VOYW1lXzgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp b24gdmFsdWU9IkRpc3BsYXlOYW1lXzE2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl PSJUeXBlRGVmaW5pdGlvbl8zMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQWxs XzYzIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZWZlcmVuY2VUeXBlSW5mb18z IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJUYXJnZXRJbmZvXzYwIiAvPg0KICAg IDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt ZT0iQnJvd3NlUmVzdWx0TWFzayIgdHlwZT0idG5zOkJyb3dzZVJlc3VsdE1hc2siIC8+DQoNCiAg PHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZmVyZW5jZURlc2NyaXB0aW9uIj4NCiAgICA8eHM6YW5u b3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSBkZXNjcmlwdGlvbiBvZiBhIHJl ZmVyZW5jZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4 czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgdHlw ZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz OmVsZW1lbnQgbmFtZT0iSXNGb3J3YXJkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAi IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOkV4cGFuZGVkTm9k ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg bmFtZT0iQnJvd3NlTmFtZSIgdHlwZT0idWE6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiBu aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc3BsYXlOYW1lIiB0 eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUNsYXNzIiB0eXBlPSJ0bnM6Tm9kZUNsYXNzIiBt aW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUeXBlRGVmaW5pdGlvbiIg dHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg bmFtZT0iUmVmZXJlbmNlRGVzY3JpcHRpb24iIHR5cGU9InRuczpSZWZlcmVuY2VEZXNjcmlwdGlv biIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUmVmZXJlbmNlRGVzY3JpcHRp b24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5j ZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6UmVmZXJlbmNlRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0i MCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlJl ZmVyZW5jZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mUmVmZXJlbmNlRGVzY3JpcHRpb24i IG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ29u dGludWF0aW9uUG9pbnQiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgLz4NCg0KICA8eHM6Y29tcGxl eFR5cGUgbmFtZT0iQnJvd3NlUmVzdWx0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4 czpkb2N1bWVudGF0aW9uPlRoZSByZXN1bHQgb2YgYSBicm93c2Ugb3BlcmF0aW9uLjwveHM6ZG9j dW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg ICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWlu T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGludWF0aW9uUG9pbnQi IHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZXMiIHR5cGU9InRuczpMaXN0T2ZSZWZl cmVuY2VEZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJC cm93c2VSZXN1bHQiIHR5cGU9InRuczpCcm93c2VSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhU eXBlIG5hbWU9Ikxpc3RPZkJyb3dzZVJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg PHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUmVzdWx0IiB0eXBlPSJ0bnM6QnJvd3NlUmVzdWx0IiBt aW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l PSJMaXN0T2ZCcm93c2VSZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VSZXN1bHQiIG5pbGxh YmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb3dz ZVJlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+ QnJvd3NlIHRoZSByZWZlcmVuY2VzIGZvciBvbmUgb3IgbW9yZSBub2RlcyBmcm9tIHRoZSBzZXJ2 ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9u Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFk ZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmlldyIgdHlwZT0idG5zOlZpZXdEZXNjcmlw dGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 IG5hbWU9IlJlcXVlc3RlZE1heFJlZmVyZW5jZXNQZXJOb2RlIiB0eXBlPSJ4czp1bnNpZ25lZElu dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb0Jyb3dz ZSIgdHlwZT0idG5zOkxpc3RPZkJyb3dzZURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxh YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog IDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVJlcXVlc3QiIHR5cGU9InRuczpCcm93c2VSZXF1ZXN0 IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VSZXNwb25zZSI+DQogICAgPHhz OmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5Ccm93c2UgdGhlIHJlZmVyZW5j ZXMgZm9yIG9uZSBvciBtb3JlIG5vZGVzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwv eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNl Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNw b25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl bGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VSZXN1bHQiIG1pbk9j Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFn bm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAi IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVJlc3BvbnNlIiB0eXBlPSJ0bnM6QnJvd3Nl UmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb3dzZU5leHRSZXF1ZXN0 Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNvbnRpbnVl cyBvbmUgb3IgbW9yZSBicm93c2Ugb3BlcmF0aW9ucy48L3hzOmRvY3VtZW50YXRpb24+DQogICAg PC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h bWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAi IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsZWFzZUNvbnRp bnVhdGlvblBvaW50cyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg PHhzOmVsZW1lbnQgbmFtZT0iQ29udGludWF0aW9uUG9pbnRzIiB0eXBlPSJ1YTpMaXN0T2ZCeXRl U3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZU5leHRS ZXF1ZXN0IiB0eXBlPSJ0bnM6QnJvd3NlTmV4dFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhU eXBlIG5hbWU9IkJyb3dzZU5leHRSZXNwb25zZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg ICA8eHM6ZG9jdW1lbnRhdGlvbj5Db250aW51ZXMgb25lIG9yIG1vcmUgYnJvd3NlIG9wZXJhdGlv bnMuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2Vx dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5z OlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg PHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZkJyb3dzZVJlc3VsdCIg bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vy cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlTmV4dFJlc3BvbnNlIiB0eXBlPSJ0 bnM6QnJvd3NlTmV4dFJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWxh dGl2ZVBhdGhFbGVtZW50Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVu dGF0aW9uPkFuIGVsZW1lbnQgaW4gYSByZWxhdGl2ZSBwYXRoLjwveHM6ZG9jdW1lbnRhdGlvbj4N CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l bnQgbmFtZT0iUmVmZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIg bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ludmVyc2UiIHR5 cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 IkluY2x1ZGVTdWJ0eXBlcyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAg ICAgPHhzOmVsZW1lbnQgbmFtZT0iVGFyZ2V0TmFtZSIgdHlwZT0idWE6UXVhbGlmaWVkTmFtZSIg bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWxhdGl2ZVBhdGhFbGVtZW50 IiB0eXBlPSJ0bnM6UmVsYXRpdmVQYXRoRWxlbWVudCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg bmFtZT0iTGlzdE9mUmVsYXRpdmVQYXRoRWxlbWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsYXRpdmVQYXRoRWxlbWVudCIgdHlwZT0idG5zOlJlbGF0 aXZlUGF0aEVsZW1lbnQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog IDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlJlbGF0aXZlUGF0aEVsZW1lbnQiIHR5cGU9InRuczpM aXN0T2ZSZWxhdGl2ZVBhdGhFbGVtZW50IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWxhdGl2ZVBhdGgiPg0KICAgIDx4czphbm5vdGF0 aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSByZWxhdGl2ZSBwYXRoIGNvbnN0cnVjdGVk IGZyb20gcmVmZXJlbmNlIHR5cGVzIGFuZCBicm93c2UgbmFtZXMuPC94czpkb2N1bWVudGF0aW9u Pg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl bWVudCBuYW1lPSJFbGVtZW50cyIgdHlwZT0idG5zOkxpc3RPZlJlbGF0aXZlUGF0aEVsZW1lbnQi IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsYXRpdmVQYXRoIiB0eXBl PSJ0bnM6UmVsYXRpdmVQYXRoIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VQ YXRoIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgcmVx dWVzdCB0byB0cmFuc2xhdGUgYSBwYXRoIGludG8gYSBub2RlIGlkLjwveHM6ZG9jdW1lbnRhdGlv bj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs ZW1lbnQgbmFtZT0iU3RhcnRpbmdOb2RlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIg bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWxhdGl2ZVBhdGgi IHR5cGU9InRuczpSZWxhdGl2ZVBhdGgiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg bmFtZT0iQnJvd3NlUGF0aCIgdHlwZT0idG5zOkJyb3dzZVBhdGgiIC8+DQoNCiAgPHhzOmNvbXBs ZXhUeXBlIG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGgiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg IDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGgiIHR5cGU9InRuczpCcm93c2VQYXRoIiBtaW5P Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM aXN0T2ZCcm93c2VQYXRoIiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlUGF0aCIgbmlsbGFibGU9InRy dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQnJvd3NlUGF0aFRh cmdldCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUg dGFyZ2V0IG9mIHRoZSB0cmFuc2xhdGVkIHBhdGguPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwv eHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l PSJUYXJnZXRJZCIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFi bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZW1haW5pbmdQYXRoSW5kZXgi IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5j ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUGF0aFRh cmdldCIgdHlwZT0idG5zOkJyb3dzZVBhdGhUYXJnZXQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl IG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGhUYXJnZXQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg IDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGhUYXJnZXQiIHR5cGU9InRuczpCcm93c2VQYXRo VGFyZ2V0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl bWVudCBuYW1lPSJMaXN0T2ZCcm93c2VQYXRoVGFyZ2V0IiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3Nl UGF0aFRhcmdldCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxl eFR5cGUgbmFtZT0iQnJvd3NlUGF0aFJlc3VsdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg ICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgcmVzdWx0IG9mIGEgdHJhbnNsYXRlIG9wZWFyYXRpb24u PC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVu Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXND b2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXRzIiB0 eXBlPSJ0bnM6TGlzdE9mQnJvd3NlUGF0aFRhcmdldCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 ZWxlbWVudCBuYW1lPSJCcm93c2VQYXRoUmVzdWx0IiB0eXBlPSJ0bnM6QnJvd3NlUGF0aFJlc3Vs dCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJvd3NlUGF0aFJlc3VsdCI+ DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUGF0aFJl c3VsdCIgdHlwZT0idG5zOkJyb3dzZVBhdGhSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJz PSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGhSZXN1 bHQiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VQYXRoUmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94 czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJUcmFuc2xhdGVCcm93c2VQYXRo c1RvTm9kZUlkc1JlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3Vt ZW50YXRpb24+VHJhbnNsYXRlcyBvbmUgb3IgbW9yZSBwYXRocyBpbiB0aGUgc2VydmVyIGFkZHJl c3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBl PSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg ICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGhzIiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3Nl UGF0aCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2xhdGVCcm93 c2VQYXRoc1RvTm9kZUlkc1JlcXVlc3QiIHR5cGU9InRuczpUcmFuc2xhdGVCcm93c2VQYXRoc1Rv Tm9kZUlkc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlRyYW5zbGF0ZUJy b3dzZVBhdGhzVG9Ob2RlSWRzUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAg PHhzOmRvY3VtZW50YXRpb24+VHJhbnNsYXRlcyBvbmUgb3IgbW9yZSBwYXRocyBpbiB0aGUgc2Vy dmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlv bj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhl YWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RP ZkJyb3dzZVBhdGhSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg ICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdu b3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRyYW5zbGF0 ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVzcG9uc2UiIHR5cGU9InRuczpUcmFuc2xhdGVCcm93c2VQ YXRoc1RvTm9kZUlkc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWdp c3Rlck5vZGVzUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l bnRhdGlvbj5SZWdpc3RlcnMgb25lIG9yIG1vcmUgbm9kZXMgZm9yIHJlcGVhdGVkIHVzZSB3aXRo aW4gYSBzZXNzaW9uLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQog ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIg dHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2Rlc1RvUmVnaXN0ZXIiIHR5cGU9InVhOkxpc3RP Zk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWdpc3Rlck5v ZGVzUmVxdWVzdCIgdHlwZT0idG5zOlJlZ2lzdGVyTm9kZXNSZXF1ZXN0IiAvPg0KDQogIDx4czpj b21wbGV4VHlwZSBuYW1lPSJSZWdpc3Rlck5vZGVzUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0 aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+UmVnaXN0ZXJzIG9uZSBvciBtb3JlIG5vZGVz IGZvciByZXBlYXRlZCB1c2Ugd2l0aGluIGEgc2Vzc2lvbi48L3hzOmRvY3VtZW50YXRpb24+DQog ICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vy cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWdpc3Rl cmVkTm9kZUlkcyIgdHlwZT0idWE6TGlzdE9mTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyTm9kZXNSZXNwb25zZSIgdHlwZT0idG5zOlJlZ2lzdGVy Tm9kZXNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVW5yZWdpc3Rlck5v ZGVzUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlv bj5VbnJlZ2lzdGVycyBvbmUgb3IgbW9yZSBwcmV2aW91c2x5IHJlZ2lzdGVyZWQgbm9kZXMuPC94 czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+ DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVz dEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt ZW50IG5hbWU9Ik5vZGVzVG9VbnJlZ2lzdGVyIiB0eXBlPSJ1YTpMaXN0T2ZOb2RlSWQiIG1pbk9j Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVW5yZWdpc3Rlck5vZGVzUmVxdWVzdCIg dHlwZT0idG5zOlVucmVnaXN0ZXJOb2Rlc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl IG5hbWU9IlVucmVnaXN0ZXJOb2Rlc1Jlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg ICAgIDx4czpkb2N1bWVudGF0aW9uPlVucmVnaXN0ZXJzIG9uZSBvciBtb3JlIHByZXZpb3VzbHkg cmVnaXN0ZXJlZCBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9u Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVh ZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs ZW1lbnQgbmFtZT0iVW5yZWdpc3Rlck5vZGVzUmVzcG9uc2UiIHR5cGU9InRuczpVbnJlZ2lzdGVy Tm9kZXNSZXNwb25zZSIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb3VudGVyIiB0eXBlPSJ4 czp1bnNpZ25lZEludCIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOdW1lcmljUmFuZ2UiIHR5 cGU9InhzOnN0cmluZyIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lIiB0eXBlPSJ4czpz dHJpbmciIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0ZSIgdHlwZT0ieHM6ZGF0ZVRpbWUi IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVuZHBvaW50Q29uZmlndXJhdGlvbiI+DQog ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iT3BlcmF0aW9uVGltZW91 dCIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l PSJVc2VCaW5hcnlFbmNvZGluZyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0K ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4U3RyaW5nTGVuZ3RoIiB0eXBlPSJ4czppbnQiIG1p bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heEJ5dGVTdHJpbmdMZW5n dGgiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt ZT0iTWF4QXJyYXlMZW5ndGgiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg PHhzOmVsZW1lbnQgbmFtZT0iTWF4TWVzc2FnZVNpemUiIHR5cGU9InhzOmludCIgbWluT2NjdXJz PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4QnVmZmVyU2l6ZSIgdHlwZT0ieHM6 aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDaGFubmVsTGlm ZXRpbWUiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg bmFtZT0iU2VjdXJpdHlUb2tlbkxpZmV0aW1lIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIg Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu dCBuYW1lPSJFbmRwb2ludENvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpFbmRwb2ludENvbmZpZ3Vy YXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkVuZHBvaW50Q29uZmln dXJhdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5k cG9pbnRDb25maWd1cmF0aW9uIiB0eXBlPSJ0bnM6RW5kcG9pbnRDb25maWd1cmF0aW9uIiBtaW5P Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM aXN0T2ZFbmRwb2ludENvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpMaXN0T2ZFbmRwb2ludENvbmZp Z3VyYXRpb24iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5 cGUgIG5hbWU9IkNvbXBsaWFuY2VMZXZlbCI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9Inhz OnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVudGVzdGVkXzAiIC8+DQog ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlBhcnRpYWxfMSIgLz4NCiAgICAgIDx4czplbnVt ZXJhdGlvbiB2YWx1ZT0iU2VsZlRlc3RlZF8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh bHVlPSJDZXJ0aWZpZWRfMyIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBs ZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNvbXBsaWFuY2VMZXZlbCIgdHlwZT0idG5zOkNv bXBsaWFuY2VMZXZlbCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU3VwcG9ydGVkUHJv ZmlsZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iT3JnYW5p emF0aW9uVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQcm9maWxlSWQiIHR5cGU9InhzOnN0cmluZyIg bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 IkNvbXBsaWFuY2VUb29sIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb21wbGlhbmNlRGF0ZSIgdHlwZT0i eHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNv bXBsaWFuY2VMZXZlbCIgdHlwZT0idG5zOkNvbXBsaWFuY2VMZXZlbCIgbWluT2NjdXJzPSIwIiAv Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVW5zdXBwb3J0ZWRVbml0SWRzIiB0eXBlPSJ1YTpM aXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU3VwcG9y dGVkUHJvZmlsZSIgdHlwZT0idG5zOlN1cHBvcnRlZFByb2ZpbGUiIC8+DQoNCiAgPHhzOmNvbXBs ZXhUeXBlIG5hbWU9Ikxpc3RPZlN1cHBvcnRlZFByb2ZpbGUiPg0KICAgIDx4czpzZXF1ZW5jZT4N CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1cHBvcnRlZFByb2ZpbGUiIHR5cGU9InRuczpTdXBw b3J0ZWRQcm9maWxlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJs ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTdXBwb3J0ZWRQcm9maWxlIiB0eXBlPSJ0bnM6TGlzdE9m U3VwcG9ydGVkUHJvZmlsZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6 Y29tcGxleFR5cGUgbmFtZT0iU29mdHdhcmVDZXJ0aWZpY2F0ZSI+DQogICAgPHhzOnNlcXVlbmNl Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJvZHVjdE5hbWUiIHR5cGU9InhzOnN0cmluZyIg bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 IlByb2R1Y3RVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZlbmRvck5hbWUiIHR5cGU9InhzOnN0cmlu ZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h bWU9IlZlbmRvclByb2R1Y3RDZXJ0aWZpY2F0ZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5P Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU29m dHdhcmVWZXJzaW9uIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCdWlsZE51bWJlciIgdHlwZT0ieHM6c3Ry aW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg bmFtZT0iQnVpbGREYXRlIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg ICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNzdWVkQnkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJz PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Iklzc3VlRGF0 ZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 IG5hbWU9IlN1cHBvcnRlZFByb2ZpbGVzIiB0eXBlPSJ0bnM6TGlzdE9mU3VwcG9ydGVkUHJvZmls ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTb2Z0d2FyZUNlcnRpZmlj YXRlIiB0eXBlPSJ0bnM6U29mdHdhcmVDZXJ0aWZpY2F0ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5 cGUgbmFtZT0iUXVlcnlEYXRhRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg IDx4czplbGVtZW50IG5hbWU9IlJlbGF0aXZlUGF0aCIgdHlwZT0idG5zOlJlbGF0aXZlUGF0aCIg bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 IkF0dHJpYnV0ZUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg ICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXhSYW5nZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1 cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5RGF0YURlc2NyaXB0aW9uIiB0eXBl PSJ0bnM6UXVlcnlEYXRhRGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 Ikxpc3RPZlF1ZXJ5RGF0YURlc2NyaXB0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 eHM6ZWxlbWVudCBuYW1lPSJRdWVyeURhdGFEZXNjcmlwdGlvbiIgdHlwZT0idG5zOlF1ZXJ5RGF0 YURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJs ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZRdWVyeURhdGFEZXNjcmlwdGlvbiIgdHlwZT0idG5zOkxp c3RPZlF1ZXJ5RGF0YURlc2NyaXB0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJOb2RlVHlwZURlc2NyaXB0aW9uIj4NCiAgICA8eHM6 c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUeXBlRGVmaW5pdGlvbk5vZGUiIHR5 cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5jbHVkZVN1YlR5cGVzIiB0eXBlPSJ4czpib29sZWFu IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVG9SZXR1cm4i IHR5cGU9InRuczpMaXN0T2ZRdWVyeURhdGFEZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxs YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K ICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlVHlwZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6Tm9kZVR5 cGVEZXNjcmlwdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTm9kZVR5 cGVEZXNjcmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt ZT0iTm9kZVR5cGVEZXNjcmlwdGlvbiIgdHlwZT0idG5zOk5vZGVUeXBlRGVzY3JpcHRpb24iIG1p bk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 Ikxpc3RPZk5vZGVUeXBlRGVzY3JpcHRpb24iIHR5cGU9InRuczpMaXN0T2ZOb2RlVHlwZURlc2Ny aXB0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBl ICBuYW1lPSJGaWx0ZXJPcGVyYXRvciI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0 cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkVxdWFsc18wIiAvPg0KICAgICAg PHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJc051bGxfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv biB2YWx1ZT0iR3JlYXRlclRoYW5fMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i TGVzc1RoYW5fMyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iR3JlYXRlclRoYW5P ckVxdWFsXzQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ikxlc3NUaGFuT3JFcXVh bF81IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJMaWtlXzYiIC8+DQogICAgICA8 eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vdF83IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh bHVlPSJCZXR3ZWVuXzgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkluTGlzdF85 IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBbmRfMTAiIC8+DQogICAgICA8eHM6 ZW51bWVyYXRpb24gdmFsdWU9Ik9yXzExIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl PSJDYXN0XzEyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJblZpZXdfMTMiIC8+ DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik9mVHlwZV8xNCIgLz4NCiAgICAgIDx4czpl bnVtZXJhdGlvbiB2YWx1ZT0iUmVsYXRlZFRvXzE1IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u IHZhbHVlPSJCaXR3aXNlQW5kXzE2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJC aXR3aXNlT3JfMTciIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBl Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXJPcGVyYXRvciIgdHlwZT0idG5zOkZpbHRlck9w ZXJhdG9yIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJRdWVyeURhdGFTZXQiPg0KICAg IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6 RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 eHM6ZWxlbWVudCBuYW1lPSJUeXBlRGVmaW5pdGlvbk5vZGUiIHR5cGU9InVhOkV4cGFuZGVkTm9k ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg bmFtZT0iVmFsdWVzIiB0eXBlPSJ1YTpMaXN0T2ZWYXJpYW50IiBtaW5PY2N1cnM9IjAiIG5pbGxh YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog IDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5RGF0YVNldCIgdHlwZT0idG5zOlF1ZXJ5RGF0YVNldCIg Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUXVlcnlEYXRhU2V0Ij4NCiAgICA8 eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeURhdGFTZXQiIHR5cGU9 InRuczpRdWVyeURhdGFTZXQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5p bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlF1ZXJ5RGF0YVNldCIgdHlwZT0idG5zOkxpc3RP ZlF1ZXJ5RGF0YVNldCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29t cGxleFR5cGUgbmFtZT0iTm9kZVJlZmVyZW5jZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg PHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIg bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VUeXBl SWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg ICAgIDx4czplbGVtZW50IG5hbWU9IklzRm9yd2FyZCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2Nj dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlZE5vZGVJZHMiIHR5 cGU9InVhOkxpc3RPZk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l PSJOb2RlUmVmZXJlbmNlIiB0eXBlPSJ0bnM6Tm9kZVJlZmVyZW5jZSIgLz4NCg0KICA8eHM6Y29t cGxleFR5cGUgbmFtZT0iTGlzdE9mTm9kZVJlZmVyZW5jZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZVJlZmVyZW5jZSIgdHlwZT0idG5zOk5vZGVSZWZl cmVuY2UiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVl IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt ZW50IG5hbWU9Ikxpc3RPZk5vZGVSZWZlcmVuY2UiIHR5cGU9InRuczpMaXN0T2ZOb2RlUmVmZXJl bmNlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBu YW1lPSJDb250ZW50RmlsdGVyRWxlbWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz OmVsZW1lbnQgbmFtZT0iRmlsdGVyT3BlcmF0b3IiIHR5cGU9InRuczpGaWx0ZXJPcGVyYXRvciIg bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyT3BlcmFuZHMi IHR5cGU9InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 ZWxlbWVudCBuYW1lPSJDb250ZW50RmlsdGVyRWxlbWVudCIgdHlwZT0idG5zOkNvbnRlbnRGaWx0 ZXJFbGVtZW50IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZDb250ZW50Rmls dGVyRWxlbWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i Q29udGVudEZpbHRlckVsZW1lbnQiIHR5cGU9InRuczpDb250ZW50RmlsdGVyRWxlbWVudCIgbWlu T2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i TGlzdE9mQ29udGVudEZpbHRlckVsZW1lbnQiIHR5cGU9InRuczpMaXN0T2ZDb250ZW50RmlsdGVy RWxlbWVudCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5 cGUgbmFtZT0iQ29udGVudEZpbHRlciI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs ZW1lbnQgbmFtZT0iRWxlbWVudHMiIHR5cGU9InRuczpMaXN0T2ZDb250ZW50RmlsdGVyRWxlbWVu dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb250ZW50RmlsdGVyIiB0 eXBlPSJ0bnM6Q29udGVudEZpbHRlciIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlz dE9mQ29udGVudEZpbHRlciI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg bmFtZT0iQ29udGVudEZpbHRlciIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXIiIG1pbk9jY3Vycz0i MCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkNv bnRlbnRGaWx0ZXIiIHR5cGU9InRuczpMaXN0T2ZDb250ZW50RmlsdGVyIiBuaWxsYWJsZT0idHJ1 ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJGaWx0ZXJPcGVyYW5k Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyT3BlcmFuZCIgdHlwZT0idG5zOkZpbHRl ck9wZXJhbmQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVsZW1lbnRPcGVyYW5kIj4N CiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNp b24gYmFzZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAg ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXgiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P Y2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lv bj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 ZWxlbWVudCBuYW1lPSJFbGVtZW50T3BlcmFuZCIgdHlwZT0idG5zOkVsZW1lbnRPcGVyYW5kIiAv Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXRlcmFsT3BlcmFuZCI+DQogICAgPHhzOmNv bXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRu czpGaWx0ZXJPcGVyYW5kIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czpl bGVtZW50IG5hbWU9IlZhbHVlIiB0eXBlPSJ1YTpWYXJpYW50IiBtaW5PY2N1cnM9IjAiIC8+DQog ICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNv bXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM aXRlcmFsT3BlcmFuZCIgdHlwZT0idG5zOkxpdGVyYWxPcGVyYW5kIiAvPg0KDQogIDx4czpjb21w bGV4VHlwZSBuYW1lPSJBdHRyaWJ1dGVPcGVyYW5kIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQg bWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkZpbHRlck9wZXJh bmQiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i Tm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWxpYXMiIHR5cGU9InhzOnN0cmluZyIgbWlu T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l PSJCcm93c2VQYXRoIiB0eXBlPSJ0bnM6UmVsYXRpdmVQYXRoIiBtaW5PY2N1cnM9IjAiIG5pbGxh YmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkF0dHJpYnV0ZUlkIiB0 eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVt ZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxs YWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5z aW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 czplbGVtZW50IG5hbWU9IkF0dHJpYnV0ZU9wZXJhbmQiIHR5cGU9InRuczpBdHRyaWJ1dGVPcGVy YW5kIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTaW1wbGVBdHRyaWJ1dGVPcGVyYW5k Ij4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRl bnNpb24gYmFzZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQog ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHlwZURlZmluaXRpb25JZCIgdHlwZT0idWE6Tm9k ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVt ZW50IG5hbWU9IkJyb3dzZVBhdGgiIHR5cGU9InVhOkxpc3RPZlF1YWxpZmllZE5hbWUiIG1pbk9j Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i QXR0cmlidXRlSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAg ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXhSYW5nZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5P Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAg ICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21w bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2ltcGxlQXR0cmlidXRlT3BlcmFuZCIgdHlw ZT0idG5zOlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h bWU9Ikxpc3RPZlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg ICAgIDx4czplbGVtZW50IG5hbWU9IlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIHR5cGU9InRuczpT aW1wbGVBdHRyaWJ1dGVPcGVyYW5kIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVk IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTaW1wbGVBdHRyaWJ1dGVPcGVyYW5kIiB0 eXBlPSJ0bnM6TGlzdE9mU2ltcGxlQXR0cmlidXRlT3BlcmFuZCIgbmlsbGFibGU9InRydWUiPjwv eHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ29udGVudEZpbHRlckVsZW1l bnRSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0 YXR1c0NvZGUiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 czplbGVtZW50IG5hbWU9Ik9wZXJhbmRTdGF0dXNDb2RlcyIgdHlwZT0idWE6TGlzdE9mU3RhdHVz Q29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 IG5hbWU9Ik9wZXJhbmREaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJ bmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNvbnRlbnRGaWx0ZXJF bGVtZW50UmVzdWx0IiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlckVsZW1lbnRSZXN1bHQiIC8+DQoN CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0 Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250ZW50Rmls dGVyRWxlbWVudFJlc3VsdCIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0IiBt aW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l PSJMaXN0T2ZDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIgdHlwZT0idG5zOkxpc3RPZkNvbnRl bnRGaWx0ZXJFbGVtZW50UmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQog IDx4czpjb21wbGV4VHlwZSBuYW1lPSJDb250ZW50RmlsdGVyUmVzdWx0Ij4NCiAgICA8eHM6c2Vx dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbGVtZW50UmVzdWx0cyIgdHlwZT0idG5z Okxpc3RPZkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRWxlbWVudERpYWdub3N0aWNJbmZv cyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz OmVsZW1lbnQgbmFtZT0iQ29udGVudEZpbHRlclJlc3VsdCIgdHlwZT0idG5zOkNvbnRlbnRGaWx0 ZXJSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlBhcnNpbmdSZXN1bHQiPg0K ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c0NvZGUiIHR5 cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h bWU9IkRhdGFTdGF0dXNDb2RlcyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJz PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFEaWFn bm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAi IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlBhcnNpbmdSZXN1bHQiIHR5cGU9InRuczpQYXJzaW5n UmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZQYXJzaW5nUmVzdWx0 Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQYXJzaW5nUmVz dWx0IiB0eXBlPSJ0bnM6UGFyc2luZ1Jlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu Ym91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUGFyc2luZ1Jlc3VsdCIgdHlw ZT0idG5zOkxpc3RPZlBhcnNpbmdSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+ DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlF1ZXJ5Rmlyc3RSZXF1ZXN0Ij4NCiAgICA8eHM6 c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0 bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg IDx4czplbGVtZW50IG5hbWU9IlZpZXciIHR5cGU9InRuczpWaWV3RGVzY3JpcHRpb24iIG1pbk9j Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2Rl VHlwZXMiIHR5cGU9InRuczpMaXN0T2ZOb2RlVHlwZURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAi IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyIiB0eXBl PSJ0bnM6Q29udGVudEZpbHRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg ICAgIDx4czplbGVtZW50IG5hbWU9Ik1heERhdGFTZXRzVG9SZXR1cm4iIHR5cGU9InhzOnVuc2ln bmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhSZWZl cmVuY2VzVG9SZXR1cm4iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQog ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt ZT0iUXVlcnlGaXJzdFJlcXVlc3QiIHR5cGU9InRuczpRdWVyeUZpcnN0UmVxdWVzdCIgLz4NCg0K ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUXVlcnlGaXJzdFJlc3BvbnNlIj4NCiAgICA8eHM6c2Vx dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5z OlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg PHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlEYXRhU2V0cyIgdHlwZT0idG5zOkxpc3RPZlF1ZXJ5RGF0 YVNldCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 IG5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vy cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQYXJzaW5n UmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZlBhcnNpbmdSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmls bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3Mi IHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyUmVzdWx0IiB0eXBlPSJ0bnM6 Q29udGVudEZpbHRlclJlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l PSJRdWVyeUZpcnN0UmVzcG9uc2UiIHR5cGU9InRuczpRdWVyeUZpcnN0UmVzcG9uc2UiIC8+DQoN CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlF1ZXJ5TmV4dFJlcXVlc3QiPg0KICAgIDx4czpzZXF1 ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpS ZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz OmVsZW1lbnQgbmFtZT0iUmVsZWFzZUNvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpib29sZWFu IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250aW51YXRpb25Q b2ludCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt ZW50IG5hbWU9IlF1ZXJ5TmV4dFJlcXVlc3QiIHR5cGU9InRuczpRdWVyeU5leHRSZXF1ZXN0IiAv Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJRdWVyeU5leHRSZXNwb25zZSI+DQogICAgPHhz OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9 InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg ICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5RGF0YVNldHMiIHR5cGU9InRuczpMaXN0T2ZRdWVy eURhdGFTZXQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl bWVudCBuYW1lPSJSZXZpc2VkQ29udGludWF0aW9uUG9pbnQiIHR5cGU9InhzOmJhc2U2NEJpbmFy eSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeU5leHRSZXNwb25z ZSIgdHlwZT0idG5zOlF1ZXJ5TmV4dFJlc3BvbnNlIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBu YW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpz dHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTb3VyY2VfMCIgLz4NCiAgICAg IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU2VydmVyXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp b24gdmFsdWU9IkJvdGhfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTmVpdGhl cl8zIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhz OmVsZW1lbnQgbmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiB0eXBlPSJ0bnM6VGltZXN0YW1wc1Rv UmV0dXJuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWFkVmFsdWVJZCI+DQogICAg PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpO b2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu dCBuYW1lPSJBdHRyaWJ1dGVJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIg Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIg bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 IkRhdGFFbmNvZGluZyIgdHlwZT0idWE6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiBuaWxs YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K ICA8eHM6ZWxlbWVudCBuYW1lPSJSZWFkVmFsdWVJZCIgdHlwZT0idG5zOlJlYWRWYWx1ZUlkIiAv Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZSZWFkVmFsdWVJZCI+DQogICAgPHhz OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZFZhbHVlSWQiIHR5cGU9InRu czpSZWFkVmFsdWVJZCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFi bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUmVhZFZhbHVlSWQiIHR5cGU9InRuczpMaXN0T2ZSZWFk VmFsdWVJZCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5 cGUgbmFtZT0iUmVhZFJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt ZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1 cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4QWdl IiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h bWU9IlRpbWVzdGFtcHNUb1JldHVybiIgdHlwZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgbWlu T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb1JlYWQiIHR5cGU9 InRuczpMaXN0T2ZSZWFkVmFsdWVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu YW1lPSJSZWFkUmVxdWVzdCIgdHlwZT0idG5zOlJlYWRSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21w bGV4VHlwZSBuYW1lPSJSZWFkUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIi IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l PSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZEYXRhVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFi bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5 cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt ZW50IG5hbWU9IlJlYWRSZXNwb25zZSIgdHlwZT0idG5zOlJlYWRSZXNwb25zZSIgLz4NCg0KICA8 eHM6Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeVJlYWRWYWx1ZUlkIj4NCiAgICA8eHM6c2VxdWVu Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWlu T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Iklu ZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFFbmNvZGluZyIgdHlwZT0idWE6UXVhbGlm aWVkTmFtZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt ZW50IG5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9j Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRWYWx1ZUlkIiB0eXBl PSJ0bnM6SGlzdG9yeVJlYWRWYWx1ZUlkIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJM aXN0T2ZIaXN0b3J5UmVhZFZhbHVlSWQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl bGVtZW50IG5hbWU9Ikhpc3RvcnlSZWFkVmFsdWVJZCIgdHlwZT0idG5zOkhpc3RvcnlSZWFkVmFs dWVJZCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUi IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l bnQgbmFtZT0iTGlzdE9mSGlzdG9yeVJlYWRWYWx1ZUlkIiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9y eVJlYWRWYWx1ZUlkIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21w bGV4VHlwZSBuYW1lPSJIaXN0b3J5UmVhZFJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg ICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWlu T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGludWF0aW9uUG9pbnQi IHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N CiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlEYXRhIiB0eXBlPSJ1YTpFeHRlbnNpb25P YmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRS ZXN1bHQiIHR5cGU9InRuczpIaXN0b3J5UmVhZFJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5 cGUgbmFtZT0iTGlzdE9mSGlzdG9yeVJlYWRSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg ICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlSZWFkUmVzdWx0IiB0eXBlPSJ0bnM6SGlzdG9y eVJlYWRSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxl PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 czplbGVtZW50IG5hbWU9Ikxpc3RPZkhpc3RvcnlSZWFkUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9m SGlzdG9yeVJlYWRSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhz OmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlSZWFkRGV0YWlscyI+DQogICAgPHhzOnNlcXVlbmNl Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 IG5hbWU9Ikhpc3RvcnlSZWFkRGV0YWlscyIgdHlwZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyIg Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZEV2ZW50RGV0YWlscyI+DQogICAgPHhz OmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9 InRuczpIaXN0b3J5UmVhZERldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAg ICAgPHhzOmVsZW1lbnQgbmFtZT0iTnVtVmFsdWVzUGVyTm9kZSIgdHlwZT0ieHM6dW5zaWduZWRJ bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGFydFRp bWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVs ZW1lbnQgbmFtZT0iRW5kVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4N CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXIiIHR5cGU9InRuczpFdmVudEZpbHRl ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5j ZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwv eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlYWRFdmVudERldGFpbHMiIHR5 cGU9InRuczpSZWFkRXZlbnREZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJS ZWFkUmF3TW9kaWZpZWREZXRhaWxzIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZh bHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyI+ DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc1Jl YWRNb2RpZmllZCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAg IDx4czplbGVtZW50IG5hbWU9IlN0YXJ0VGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vy cz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRUaW1lIiB0eXBlPSJ4czpk YXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik51 bVZhbHVlc1Blck5vZGUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQog ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV0dXJuQm91bmRzIiB0eXBlPSJ4czpib29sZWFu IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4 dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K ICA8eHM6ZWxlbWVudCBuYW1lPSJSZWFkUmF3TW9kaWZpZWREZXRhaWxzIiB0eXBlPSJ0bnM6UmVh ZFJhd01vZGlmaWVkRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZFBy b2Nlc3NlZERldGFpbHMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0K ICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICAg ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXJ0VGltZSIg dHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVu dCBuYW1lPSJFbmRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg ICAgICAgIDx4czplbGVtZW50IG5hbWU9IlByb2Nlc3NpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91 YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWdncmVn YXRlVHlwZSIgdHlwZT0idWE6TGlzdE9mTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRp b24iIHR5cGU9InRuczpBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxh YmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNp b24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz OmVsZW1lbnQgbmFtZT0iUmVhZFByb2Nlc3NlZERldGFpbHMiIHR5cGU9InRuczpSZWFkUHJvY2Vz c2VkRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZEF0VGltZURldGFp bHMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4 dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICAgICAgPHhzOnNlcXVl bmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcVRpbWVzIiB0eXBlPSJ1YTpMaXN0 T2ZEYXRlVGltZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8 eHM6ZWxlbWVudCBuYW1lPSJVc2VTaW1wbGVCb3VuZHMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9j Y3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9u Pg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl bGVtZW50IG5hbWU9IlJlYWRBdFRpbWVEZXRhaWxzIiB0eXBlPSJ0bnM6UmVhZEF0VGltZURldGFp bHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlEYXRhIj4NCiAgICA8eHM6 c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVmFsdWVzIiB0eXBlPSJ1YTpM aXN0T2ZEYXRhVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlz dG9yeURhdGEiIHR5cGU9InRuczpIaXN0b3J5RGF0YSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg bmFtZT0iTW9kaWZpY2F0aW9uSW5mbyI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs ZW1lbnQgbmFtZT0iTW9kaWZpY2F0aW9uVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vy cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVwZGF0ZVR5cGUiIHR5cGU9InRuczpI aXN0b3J5VXBkYXRlVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt ZT0iVXNlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl bWVudCBuYW1lPSJNb2RpZmljYXRpb25JbmZvIiB0eXBlPSJ0bnM6TW9kaWZpY2F0aW9uSW5mbyIg Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTW9kaWZpY2F0aW9uSW5mbyI+DQog ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZpY2F0aW9uSW5m byIgdHlwZT0idG5zOk1vZGlmaWNhdGlvbkluZm8iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1 bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk1vZGlmaWNhdGlvbkluZm8i IHR5cGU9InRuczpMaXN0T2ZNb2RpZmljYXRpb25JbmZvIiBuaWxsYWJsZT0idHJ1ZSI+PC94czpl bGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5TW9kaWZpZWREYXRhIj4N CiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNp b24gYmFzZT0idG5zOkhpc3RvcnlEYXRhIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAg ICAgIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmaWNhdGlvbkluZm9zIiB0eXBlPSJ0bnM6TGlzdE9m TW9kaWZpY2F0aW9uSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg ICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxl eENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3Rv cnlNb2RpZmllZERhdGEiIHR5cGU9InRuczpIaXN0b3J5TW9kaWZpZWREYXRhIiAvPg0KDQogIDx4 czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5RXZlbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg ICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50cyIgdHlwZT0idG5zOkxpc3RPZkhpc3RvcnlFdmVu dEZpZWxkTGlzdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5 RXZlbnQiIHR5cGU9InRuczpIaXN0b3J5RXZlbnQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h bWU9Ikhpc3RvcnlSZWFkUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs ZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9j Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0 b3J5UmVhZERldGFpbHMiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBu aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRpbWVzdGFtcHNUb1Jl dHVybiIgdHlwZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgbWluT2NjdXJzPSIwIiAvPg0KICAg ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsZWFzZUNvbnRpbnVhdGlvblBvaW50cyIgdHlwZT0ieHM6 Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNU b1JlYWQiIHR5cGU9InRuczpMaXN0T2ZIaXN0b3J5UmVhZFZhbHVlSWQiIG1pbk9jY3Vycz0iMCIg bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRSZXF1ZXN0IiB0eXBlPSJ0bnM6SGlz dG9yeVJlYWRSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5UmVh ZFJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS ZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5p bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0i dG5zOkxpc3RPZkhpc3RvcnlSZWFkUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpM aXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l PSJIaXN0b3J5UmVhZFJlc3BvbnNlIiB0eXBlPSJ0bnM6SGlzdG9yeVJlYWRSZXNwb25zZSIgLz4N Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iV3JpdGVWYWx1ZSI+DQogICAgPHhzOnNlcXVlbmNl Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9j Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdHRy aWJ1dGVJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 czplbGVtZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIw IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlIiB0eXBl PSJ1YTpEYXRhVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iV3Jp dGVWYWx1ZSIgdHlwZT0idG5zOldyaXRlVmFsdWUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h bWU9Ikxpc3RPZldyaXRlVmFsdWUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt ZW50IG5hbWU9IldyaXRlVmFsdWUiIHR5cGU9InRuczpXcml0ZVZhbHVlIiBtaW5PY2N1cnM9IjAi IG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZXcml0 ZVZhbHVlIiB0eXBlPSJ0bnM6TGlzdE9mV3JpdGVWYWx1ZSIgbmlsbGFibGU9InRydWUiPjwveHM6 ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iV3JpdGVSZXF1ZXN0Ij4NCiAgICA8 eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBl PSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg ICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVzVG9Xcml0ZSIgdHlwZT0idG5zOkxpc3RPZldyaXRl VmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVSZXF1ZXN0 IiB0eXBlPSJ0bnM6V3JpdGVSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJX cml0ZVJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l PSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAi IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlw ZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9m RGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iV3Jp dGVSZXNwb25zZSIgdHlwZT0idG5zOldyaXRlUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhU eXBlIG5hbWU9Ikhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg ICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIw IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5VXBkYXRlRGV0YWlscyIgdHlwZT0idG5z Okhpc3RvcnlVcGRhdGVEZXRhaWxzIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJIaXN0 b3J5VXBkYXRlVHlwZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQog ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ikluc2VydF8xIiAvPg0KICAgICAgPHhzOmVudW1l cmF0aW9uIHZhbHVlPSJSZXBsYWNlXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 IlVwZGF0ZV8zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEZWxldGVfNCIgLz4N CiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50 IG5hbWU9Ikhpc3RvcnlVcGRhdGVUeXBlIiB0eXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZVR5cGUiIC8+ DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IlBlcmZvcm1VcGRhdGVUeXBlIj4NCiAgICA8eHM6 cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 ZT0iSW5zZXJ0XzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlcGxhY2VfMiIg Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVXBkYXRlXzMiIC8+DQogICAgICA8eHM6 ZW51bWVyYXRpb24gdmFsdWU9IlJlbW92ZV80IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQog IDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUGVyZm9ybVVwZGF0ZVR5cGUi IHR5cGU9InRuczpQZXJmb3JtVXBkYXRlVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt ZT0iVXBkYXRlRGF0YURldGFpbHMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFs c2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMi Pg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUGVy Zm9ybUluc2VydFJlcGxhY2UiIHR5cGU9InRuczpQZXJmb3JtVXBkYXRlVHlwZSIgbWluT2NjdXJz PSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlVwZGF0ZVZhbHVlcyIgdHlwZT0i dWE6TGlzdE9mRGF0YVZhbHVlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg ICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21w bGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVXBk YXRlRGF0YURldGFpbHMiIHR5cGU9InRuczpVcGRhdGVEYXRhRGV0YWlscyIgLz4NCg0KICA8eHM6 Y29tcGxleFR5cGUgbmFtZT0iVXBkYXRlU3RydWN0dXJlRGF0YURldGFpbHMiPg0KICAgIDx4czpj b21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0 bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAg ICAgPHhzOmVsZW1lbnQgbmFtZT0iUGVyZm9ybUluc2VydFJlcGxhY2UiIHR5cGU9InRuczpQZXJm b3JtVXBkYXRlVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h bWU9IlVwZGF0ZVZhbHVlcyIgdHlwZT0idWE6TGlzdE9mRGF0YVZhbHVlIiBtaW5PY2N1cnM9IjAi IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpl eHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4N CiAgPHhzOmVsZW1lbnQgbmFtZT0iVXBkYXRlU3RydWN0dXJlRGF0YURldGFpbHMiIHR5cGU9InRu czpVcGRhdGVTdHJ1Y3R1cmVEYXRhRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt ZT0iVXBkYXRlRXZlbnREZXRhaWxzIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZh bHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxz Ij4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlBl cmZvcm1JbnNlcnRSZXBsYWNlIiB0eXBlPSJ0bnM6UGVyZm9ybVVwZGF0ZVR5cGUiIG1pbk9jY3Vy cz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXIiIHR5cGU9InRuczpF dmVudEZpbHRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8 eHM6ZWxlbWVudCBuYW1lPSJFdmVudERhdGEiIHR5cGU9InRuczpMaXN0T2ZIaXN0b3J5RXZlbnRG aWVsZExpc3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6 c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50 Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVcGRhdGVFdmVudERl dGFpbHMiIHR5cGU9InRuczpVcGRhdGVFdmVudERldGFpbHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhU eXBlIG5hbWU9IkRlbGV0ZVJhd01vZGlmaWVkRGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250 ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5 VXBkYXRlRGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxl bWVudCBuYW1lPSJJc0RlbGV0ZU1vZGlmaWVkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9 IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhcnRUaW1lIiB0eXBlPSJ4czpk YXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkVu ZFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6 c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50 Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVSYXdNb2Rp ZmllZERldGFpbHMiIHR5cGU9InRuczpEZWxldGVSYXdNb2RpZmllZERldGFpbHMiIC8+DQoNCiAg PHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZUF0VGltZURldGFpbHMiPg0KICAgIDx4czpjb21w bGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6 SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAg PHhzOmVsZW1lbnQgbmFtZT0iUmVxVGltZXMiIHR5cGU9InVhOkxpc3RPZkRhdGVUaW1lIiBtaW5P Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAg ICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21w bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlQXRUaW1lRGV0YWlscyIgdHlwZT0i dG5zOkRlbGV0ZUF0VGltZURldGFpbHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRl bGV0ZUV2ZW50RGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+ DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQog ICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudElk cyIgdHlwZT0idWE6TGlzdE9mQnl0ZVN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAg IDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 IG5hbWU9IkRlbGV0ZUV2ZW50RGV0YWlscyIgdHlwZT0idG5zOkRlbGV0ZUV2ZW50RGV0YWlscyIg Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3VsdCI+DQogICAg PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0i dWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i T3BlcmF0aW9uUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIw IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJ bmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFi bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg PHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3VsdCIgdHlwZT0idG5zOkhpc3RvcnlV cGRhdGVSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkhpc3RvcnlV cGRhdGVSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 Ikhpc3RvcnlVcGRhdGVSZXN1bHQiIHR5cGU9InRuczpIaXN0b3J5VXBkYXRlUmVzdWx0IiBtaW5P Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM aXN0T2ZIaXN0b3J5VXBkYXRlUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeVVwZGF0ZVJl c3VsdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUg bmFtZT0iSGlzdG9yeVVwZGF0ZVJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBt aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i SGlzdG9yeVVwZGF0ZURldGFpbHMiIHR5cGU9InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIgbWlu T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5VXBkYXRlUmVxdWVzdCIg dHlwZT0idG5zOkhpc3RvcnlVcGRhdGVSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu YW1lPSJIaXN0b3J5VXBkYXRlUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIi IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l PSJSZXN1bHRzIiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeVVwZGF0ZVJlc3VsdCIgbWluT2NjdXJz PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0 aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmls bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N CiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3BvbnNlIiB0eXBlPSJ0bnM6SGlz dG9yeVVwZGF0ZVJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDYWxsTWV0 aG9kUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i T2JqZWN0SWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1ldGhvZElkIiB0eXBlPSJ1YTpOb2RlSWQiIG1p bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJ bnB1dEFyZ3VtZW50cyIgdHlwZT0idWE6TGlzdE9mVmFyaWFudCIgbWluT2NjdXJzPSIwIiBuaWxs YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K ICA8eHM6ZWxlbWVudCBuYW1lPSJDYWxsTWV0aG9kUmVxdWVzdCIgdHlwZT0idG5zOkNhbGxNZXRo b2RSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZDYWxsTWV0aG9k UmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2Fs bE1ldGhvZFJlcXVlc3QiIHR5cGU9InRuczpDYWxsTWV0aG9kUmVxdWVzdCIgbWluT2NjdXJzPSIw IiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQ2Fs bE1ldGhvZFJlcXVlc3QiIHR5cGU9InRuczpMaXN0T2ZDYWxsTWV0aG9kUmVxdWVzdCIgbmlsbGFi bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2FsbE1l dGhvZFJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i U3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg PHhzOmVsZW1lbnQgbmFtZT0iSW5wdXRBcmd1bWVudFJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0 YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl bWVudCBuYW1lPSJJbnB1dEFyZ3VtZW50RGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZE aWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 czplbGVtZW50IG5hbWU9Ik91dHB1dEFyZ3VtZW50cyIgdHlwZT0idWE6TGlzdE9mVmFyaWFudCIg bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDYWxsTWV0aG9kUmVzdWx0IiB0 eXBlPSJ0bnM6Q2FsbE1ldGhvZFJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i TGlzdE9mQ2FsbE1ldGhvZFJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs ZW1lbnQgbmFtZT0iQ2FsbE1ldGhvZFJlc3VsdCIgdHlwZT0idG5zOkNhbGxNZXRob2RSZXN1bHQi IG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h bWU9Ikxpc3RPZkNhbGxNZXRob2RSZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZDYWxsTWV0aG9kUmVz dWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBu YW1lPSJDYWxsUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg bmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0i MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXRob2RzVG9D YWxsIiB0eXBlPSJ0bnM6TGlzdE9mQ2FsbE1ldGhvZFJlcXVlc3QiIG1pbk9jY3Vycz0iMCIgbmls bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N CiAgPHhzOmVsZW1lbnQgbmFtZT0iQ2FsbFJlcXVlc3QiIHR5cGU9InRuczpDYWxsUmVxdWVzdCIg Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2FsbFJlc3BvbnNlIj4NCiAgICA8eHM6c2Vx dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5z OlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg PHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZkNhbGxNZXRob2RSZXN1 bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu YW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5P Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNhbGxSZXNwb25zZSIgdHlwZT0idG5z OkNhbGxSZXNwb25zZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iTW9uaXRvcmluZ01v ZGUiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVu dW1lcmF0aW9uIHZhbHVlPSJEaXNhYmxlZF8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh bHVlPSJTYW1wbGluZ18xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZXBvcnRp bmdfMiIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4 czplbGVtZW50IG5hbWU9Ik1vbml0b3JpbmdNb2RlIiB0eXBlPSJ0bnM6TW9uaXRvcmluZ01vZGUi IC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkRhdGFDaGFuZ2VUcmlnZ2VyIj4NCiAgICA8 eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 YWx1ZT0iU3RhdHVzXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN0YXR1c1Zh bHVlXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN0YXR1c1ZhbHVlVGltZXN0 YW1wXzIiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8 eHM6ZWxlbWVudCBuYW1lPSJEYXRhQ2hhbmdlVHJpZ2dlciIgdHlwZT0idG5zOkRhdGFDaGFuZ2VU cmlnZ2VyIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJEZWFkYmFuZFR5cGUiPg0KICAg IDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9u IHZhbHVlPSJOb25lXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFic29sdXRl XzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlBlcmNlbnRfMiIgLz4NCiAgICA8 L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 IkRlYWRiYW5kVHlwZSIgdHlwZT0idG5zOkRlYWRiYW5kVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxl eFR5cGUgbmFtZT0iTW9uaXRvcmluZ0ZpbHRlciI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwv eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1v bml0b3JpbmdGaWx0ZXIiIHR5cGU9InRuczpNb25pdG9yaW5nRmlsdGVyIiAvPg0KDQogIDx4czpj b21wbGV4VHlwZSBuYW1lPSJEYXRhQ2hhbmdlRmlsdGVyIj4NCiAgICA8eHM6Y29tcGxleENvbnRl bnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk1vbml0b3Jp bmdGaWx0ZXIiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg bmFtZT0iVHJpZ2dlciIgdHlwZT0idG5zOkRhdGFDaGFuZ2VUcmlnZ2VyIiBtaW5PY2N1cnM9IjAi IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVhZGJhbmRUeXBlIiB0eXBlPSJ4czp1 bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 IkRlYWRiYW5kVmFsdWUiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg ICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4 Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YUNo YW5nZUZpbHRlciIgdHlwZT0idG5zOkRhdGFDaGFuZ2VGaWx0ZXIiIC8+DQoNCiAgPHhzOmNvbXBs ZXhUeXBlIG5hbWU9IkV2ZW50RmlsdGVyIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9 ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk1vbml0b3JpbmdGaWx0ZXIi Pg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vs ZWN0Q2xhdXNlcyIgdHlwZT0idG5zOkxpc3RPZlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIG1pbk9j Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i V2hlcmVDbGF1c2UiIHR5cGU9InRuczpDb250ZW50RmlsdGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxh YmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNp b24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz OmVsZW1lbnQgbmFtZT0iRXZlbnRGaWx0ZXIiIHR5cGU9InRuczpFdmVudEZpbHRlciIgLz4NCg0K ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWdncmVnYXRlQ29uZmlndXJhdGlvbiI+DQogICAgPHhz OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlU2VydmVyQ2FwYWJpbGl0aWVz RGVmYXVsdHMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl bGVtZW50IG5hbWU9IlRyZWF0VW5jZXJ0YWluQXNCYWQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9j Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBlcmNlbnREYXRhQmFkIiB0eXBl PSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h bWU9IlBlcmNlbnREYXRhR29vZCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAi IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VTbG9wZWRFeHRyYXBvbGF0aW9uIiB0eXBl PSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWdncmVnYXRlQ29uZmlndXJhdGlv biIgdHlwZT0idG5zOkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhU eXBlIG5hbWU9IkFnZ3JlZ2F0ZUZpbHRlciI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVk PSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpNb25pdG9yaW5nRmlsdGVy Ij4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0 YXJ0VGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8 eHM6ZWxlbWVudCBuYW1lPSJBZ2dyZWdhdGVUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vy cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJv Y2Vzc2luZ0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiB0eXBlPSJ0bnM6 QWdncmVnYXRlQ29uZmlndXJhdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N CiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6 Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 IkFnZ3JlZ2F0ZUZpbHRlciIgdHlwZT0idG5zOkFnZ3JlZ2F0ZUZpbHRlciIgLz4NCg0KICA8eHM6 Y29tcGxleFR5cGUgbmFtZT0iTW9uaXRvcmluZ0ZpbHRlclJlc3VsdCI+DQogICAgPHhzOnNlcXVl bmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt ZW50IG5hbWU9Ik1vbml0b3JpbmdGaWx0ZXJSZXN1bHQiIHR5cGU9InRuczpNb25pdG9yaW5nRmls dGVyUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFdmVudEZpbHRlclJlc3Vs dCI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0 ZW5zaW9uIGJhc2U9InRuczpNb25pdG9yaW5nRmlsdGVyUmVzdWx0Ij4NCiAgICAgICAgPHhzOnNl cXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlbGVjdENsYXVzZVJlc3VsdHMi IHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VsZWN0Q2xhdXNlRGlhZ25vc3RpY0lu Zm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs ZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJXaGVyZUNsYXVzZVJlc3Vs dCIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXJSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4N CiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl bWVudCBuYW1lPSJFdmVudEZpbHRlclJlc3VsdCIgdHlwZT0idG5zOkV2ZW50RmlsdGVyUmVzdWx0 IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZ2dyZWdhdGVGaWx0ZXJSZXN1bHQiPg0K ICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lv biBiYXNlPSJ0bnM6TW9uaXRvcmluZ0ZpbHRlclJlc3VsdCI+DQogICAgICAgIDx4czpzZXF1ZW5j ZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkU3RhcnRUaW1lIiB0eXBlPSJ4 czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 IlJldmlzZWRQcm9jZXNzaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIw IiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRBZ2dyZWdhdGVDb25maWd1 cmF0aW9uIiB0eXBlPSJ0bnM6QWdncmVnYXRlQ29uZmlndXJhdGlvbiIgbWluT2NjdXJzPSIwIiBu aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0 ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQog IDx4czplbGVtZW50IG5hbWU9IkFnZ3JlZ2F0ZUZpbHRlclJlc3VsdCIgdHlwZT0idG5zOkFnZ3Jl Z2F0ZUZpbHRlclJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9uaXRvcmlu Z1BhcmFtZXRlcnMiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 IkNsaWVudEhhbmRsZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg ICAgIDx4czplbGVtZW50IG5hbWU9IlNhbXBsaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIg bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyIiB0eXBlPSJ1 YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg ICA8eHM6ZWxlbWVudCBuYW1lPSJRdWV1ZVNpemUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjYXJkT2xkZXN0IiB0eXBl PSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ1BhcmFtZXRlcnMi IHR5cGU9InRuczpNb25pdG9yaW5nUGFyYW1ldGVycyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg bmFtZT0iTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg ICAgIDx4czplbGVtZW50IG5hbWU9Ikl0ZW1Ub01vbml0b3IiIHR5cGU9InRuczpSZWFkVmFsdWVJ ZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h bWU9Ik1vbml0b3JpbmdNb2RlIiB0eXBlPSJ0bnM6TW9uaXRvcmluZ01vZGUiIG1pbk9jY3Vycz0i MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZFBhcmFtZXRlcnMiIHR5cGU9 InRuczpNb25pdG9yaW5nUGFyYW1ldGVycyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu dCBuYW1lPSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCIgdHlwZT0idG5zOk1vbml0b3JlZEl0 ZW1DcmVhdGVSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb25p dG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs ZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIHR5cGU9InRuczpNb25pdG9y ZWRJdGVtQ3JlYXRlUmVxdWVzdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIg bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3Qi IHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCIgbmlsbGFibGU9InRy dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9uaXRvcmVkSXRl bUNyZWF0ZVJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt ZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg ICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUlkIiB0eXBlPSJ4czp1bnNpZ25lZElu dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFNhbXBs aW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz OmVsZW1lbnQgbmFtZT0iUmV2aXNlZFF1ZXVlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1p bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlclJlc3VsdCIgdHlw ZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h bWU9Ik1vbml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIHR5cGU9InRuczpNb25pdG9yZWRJdGVtQ3Jl YXRlUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJ dGVtQ3JlYXRlUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu YW1lPSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0IiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRlbUNy ZWF0ZVJlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9 InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz OmVsZW1lbnQgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbUNyZWF0ZVJlc3VsdCIgdHlwZT0idG5z Okxpc3RPZk1vbml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVs ZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zUmVx dWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVz dEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlwZT0i eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 IlRpbWVzdGFtcHNUb1JldHVybiIgdHlwZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgbWluT2Nj dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXRlbXNUb0NyZWF0ZSIgdHlwZT0i dG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0IiBtaW5PY2N1cnM9IjAiIG5pbGxh YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog IDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgdHlwZT0idG5z OkNyZWF0ZU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt ZT0iQ3JlYXRlTW9uaXRvcmVkSXRlbXNSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhl YWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0 IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt ZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2Nj dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVNb25pdG9yZWRJdGVtc1Jlc3Bv bnNlIiB0eXBlPSJ0bnM6Q3JlYXRlTW9uaXRvcmVkSXRlbXNSZXNwb25zZSIgLz4NCg0KICA8eHM6 Y29tcGxleFR5cGUgbmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlmeVJlcXVlc3QiPg0KICAgIDx4czpz ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1JZCIgdHlwZT0i eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 IlJlcXVlc3RlZFBhcmFtZXRlcnMiIHR5cGU9InRuczpNb25pdG9yaW5nUGFyYW1ldGVycyIgbWlu T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtTW9kaWZ5UmVx dWVzdCIgdHlwZT0idG5zOk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiAvPg0KDQogIDx4czpj b21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCI+DQogICAg PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlm eVJlcXVlc3QiIHR5cGU9InRuczpNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCIgbWluT2NjdXJz PSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9m TW9uaXRvcmVkSXRlbU1vZGlmeVJlcXVlc3QiIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVt TW9kaWZ5UmVxdWVzdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29t cGxleFR5cGUgbmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCI+DQogICAgPHhzOnNlcXVl bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVz Q29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFNh bXBsaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg PHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFF1ZXVlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQi IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlclJlc3VsdCIg dHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 IG5hbWU9Ik1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiIHR5cGU9InRuczpNb25pdG9yZWRJdGVt TW9kaWZ5UmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb25pdG9y ZWRJdGVtTW9kaWZ5UmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu dCBuYW1lPSJNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0IiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRl bU1vZGlmeVJlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFi bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCIgdHlwZT0i dG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hz OmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1vZGlmeU1vbml0b3JlZEl0ZW1z UmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVx dWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlw ZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h bWU9IlRpbWVzdGFtcHNUb1JldHVybiIgdHlwZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgbWlu T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXRlbXNUb01vZGlmeSIgdHlw ZT0idG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiBtaW5PY2N1cnM9IjAiIG5p bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ DQogIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmeU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgdHlwZT0i dG5zOk1vZGlmeU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg bmFtZT0iTW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25z ZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt ZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtTW9kaWZ5UmVz dWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg bmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWlu T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZnlNb25pdG9yZWRJdGVtc1Jl c3BvbnNlIiB0eXBlPSJ0bnM6TW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXNwb25zZSIgLz4NCg0KICA8 eHM6Y29tcGxleFR5cGUgbmFtZT0iU2V0TW9uaXRvcmluZ01vZGVSZXF1ZXN0Ij4NCiAgICA8eHM6 c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0 bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg IDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIg bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ01vZGUi IHR5cGU9InRuczpNb25pdG9yaW5nTW9kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs ZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUlkcyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5P Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNldE1vbml0b3JpbmdNb2RlUmVxdWVz dCIgdHlwZT0idG5zOlNldE1vbml0b3JpbmdNb2RlUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxl eFR5cGUgbmFtZT0iU2V0TW9uaXRvcmluZ01vZGVSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNl Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNw b25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl bGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vy cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9z dGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5p bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ DQogIDx4czplbGVtZW50IG5hbWU9IlNldE1vbml0b3JpbmdNb2RlUmVzcG9uc2UiIHR5cGU9InRu czpTZXRNb25pdG9yaW5nTW9kZVJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l PSJTZXRUcmlnZ2VyaW5nUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs ZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9j Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJz Y3JpcHRpb25JZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg IDx4czplbGVtZW50IG5hbWU9IlRyaWdnZXJpbmdJdGVtSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50 IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaW5rc1RvQWRkIiB0 eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaW5rc1RvUmVtb3ZlIiB0eXBlPSJ1YTpMaXN0T2ZVSW50 MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0VHJpZ2dlcmluZ1Jl cXVlc3QiIHR5cGU9InRuczpTZXRUcmlnZ2VyaW5nUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxl eFR5cGUgbmFtZT0iU2V0VHJpZ2dlcmluZ1Jlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNl SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l bnQgbmFtZT0iQWRkUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJz PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZERpYWdu b3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIg bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZW1vdmVSZXN1bHRz IiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVtb3ZlRGlhZ25vc3RpY0luZm9zIiB0eXBl PSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu dCBuYW1lPSJTZXRUcmlnZ2VyaW5nUmVzcG9uc2UiIHR5cGU9InRuczpTZXRUcmlnZ2VyaW5nUmVz cG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1z UmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVx dWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlw ZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h bWU9Ik1vbml0b3JlZEl0ZW1JZHMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIw IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVNb25pdG9yZWRJdGVtc1JlcXVlc3QiIHR5 cGU9InRuczpEZWxldGVNb25pdG9yZWRJdGVtc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhU eXBlIG5hbWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5j ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVz cG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1 cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25v c3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBu aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiB0eXBl PSJ0bnM6RGVsZXRlTW9uaXRvcmVkSXRlbXNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5 cGUgbmFtZT0iQ3JlYXRlU3Vic2NyaXB0aW9uUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0K ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RI ZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu dCBuYW1lPSJSZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWlu T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTGlmZXRpbWVD b3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl bGVtZW50IG5hbWU9IlJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25l ZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4Tm90aWZp Y2F0aW9uc1BlclB1Ymxpc2giIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+ DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoaW5nRW5hYmxlZCIgdHlwZT0ieHM6Ym9v bGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJpb3JpdHki IHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVu Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZVN1YnNj cmlwdGlvblJlcXVlc3QiIHR5cGU9InRuczpDcmVhdGVTdWJzY3JpcHRpb25SZXF1ZXN0IiAvPg0K DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDcmVhdGVTdWJzY3JpcHRpb25SZXNwb25zZSI+DQog ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIi IHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNp Z25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNl ZFB1Ymxpc2hpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQog ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkTGlmZXRpbWVDb3VudCIgdHlwZT0ieHM6dW5z aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlz ZWRNYXhLZWVwQWxpdmVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIg Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu dCBuYW1lPSJDcmVhdGVTdWJzY3JpcHRpb25SZXNwb25zZSIgdHlwZT0idG5zOkNyZWF0ZVN1YnNj cmlwdGlvblJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb2RpZnlTdWJz Y3JpcHRpb25SZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu YW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIw IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlv bklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs ZW1lbnQgbmFtZT0iUmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUi IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZExpZmV0 aW1lQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudCIgdHlwZT0ieHM6dW5z aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heE5v dGlmaWNhdGlvbnNQZXJQdWJsaXNoIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJpb3JpdHkiIHR5cGU9InhzOnVuc2lnbmVk Qnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmeVN1YnNjcmlwdGlvblJlcXVlc3QiIHR5 cGU9InRuczpNb2RpZnlTdWJzY3JpcHRpb25SZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlw ZSBuYW1lPSJNb2RpZnlTdWJzY3JpcHRpb25SZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25z ZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt ZW50IG5hbWU9IlJldmlzZWRQdWJsaXNoaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWlu T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZExpZmV0aW1lQ291 bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl bWVudCBuYW1lPSJSZXZpc2VkTWF4S2VlcEFsaXZlQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50 IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZ5U3Vic2NyaXB0aW9uUmVzcG9uc2UiIHR5cGU9 InRuczpNb2RpZnlTdWJzY3JpcHRpb25SZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg bmFtZT0iU2V0UHVibGlzaGluZ01vZGVSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRl ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h bWU9IlB1Ymxpc2hpbmdFbmFibGVkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+ DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZHMiIHR5cGU9InVhOkxpc3RP ZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXRQdWJsaXNo aW5nTW9kZVJlcXVlc3QiIHR5cGU9InRuczpTZXRQdWJsaXNoaW5nTW9kZVJlcXVlc3QiIC8+DQoN CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNldFB1Ymxpc2hpbmdNb2RlUmVzcG9uc2UiPg0KICAg IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0 eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXND b2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg bmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWlu T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXRQdWJsaXNoaW5nTW9kZVJlc3Bv bnNlIiB0eXBlPSJ0bnM6U2V0UHVibGlzaGluZ01vZGVSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29t cGxleFR5cGUgbmFtZT0iTm90aWZpY2F0aW9uTWVzc2FnZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VxdWVuY2VOdW1iZXIiIHR5cGU9InhzOnVuc2lnbmVk SW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoVGlt ZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 IG5hbWU9Ik5vdGlmaWNhdGlvbkRhdGEiIHR5cGU9InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIg bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOb3RpZmljYXRpb25NZXNzYWdl IiB0eXBlPSJ0bnM6Tm90aWZpY2F0aW9uTWVzc2FnZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg bmFtZT0iTm90aWZpY2F0aW9uRGF0YSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2Vx dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik5vdGlmaWNh dGlvbkRhdGEiIHR5cGU9InRuczpOb3RpZmljYXRpb25EYXRhIiAvPg0KDQogIDx4czpjb21wbGV4 VHlwZSBuYW1lPSJEYXRhQ2hhbmdlTm90aWZpY2F0aW9uIj4NCiAgICA8eHM6Y29tcGxleENvbnRl bnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk5vdGlmaWNh dGlvbkRhdGEiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg bmFtZT0iTW9uaXRvcmVkSXRlbXMiIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtTm90aWZp Y2F0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czpl bGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0lu Zm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVu Y2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8 L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhQ2hhbmdlTm90aWZpY2F0 aW9uIiB0eXBlPSJ0bnM6RGF0YUNoYW5nZU5vdGlmaWNhdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxl eFR5cGUgbmFtZT0iTW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiI+DQogICAgPHhzOnNlcXVlbmNl Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50SGFuZGxlIiB0eXBlPSJ4czp1bnNpZ25l ZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUiIHR5 cGU9InVhOkRhdGFWYWx1ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJN b25pdG9yZWRJdGVtTm90aWZpY2F0aW9uIiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRlbU5vdGlmaWNh dGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbU5v dGlmaWNhdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i TW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiIgdHlwZT0idG5zOk1vbml0b3JlZEl0ZW1Ob3RpZmlj YXRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVl IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt ZW50IG5hbWU9Ikxpc3RPZk1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24iIHR5cGU9InRuczpMaXN0 T2ZNb25pdG9yZWRJdGVtTm90aWZpY2F0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50 Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFdmVudE5vdGlmaWNhdGlvbkxpc3QiPg0KICAg IDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBi YXNlPSJ0bnM6Tm90aWZpY2F0aW9uRGF0YSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudHMiIHR5cGU9InRuczpMaXN0T2ZFdmVudEZpZWxk TGlzdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1 ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQog IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkV2ZW50Tm90aWZpY2F0aW9u TGlzdCIgdHlwZT0idG5zOkV2ZW50Tm90aWZpY2F0aW9uTGlzdCIgLz4NCg0KICA8eHM6Y29tcGxl eFR5cGUgbmFtZT0iRXZlbnRGaWVsZExpc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 czplbGVtZW50IG5hbWU9IkNsaWVudEhhbmRsZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9j Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50RmllbGRzIiB0eXBlPSJ1 YTpMaXN0T2ZWYXJpYW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkV2 ZW50RmllbGRMaXN0IiB0eXBlPSJ0bnM6RXZlbnRGaWVsZExpc3QiIC8+DQoNCiAgPHhzOmNvbXBs ZXhUeXBlIG5hbWU9Ikxpc3RPZkV2ZW50RmllbGRMaXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQog ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudEZpZWxkTGlzdCIgdHlwZT0idG5zOkV2ZW50Rmll bGRMaXN0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl bWVudCBuYW1lPSJMaXN0T2ZFdmVudEZpZWxkTGlzdCIgdHlwZT0idG5zOkxpc3RPZkV2ZW50Rmll bGRMaXN0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlw ZSBuYW1lPSJIaXN0b3J5RXZlbnRGaWVsZExpc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg IDx4czplbGVtZW50IG5hbWU9IkV2ZW50RmllbGRzIiB0eXBlPSJ1YTpMaXN0T2ZWYXJpYW50IiBt aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlFdmVudEZpZWxkTGlz dCIgdHlwZT0idG5zOkhpc3RvcnlFdmVudEZpZWxkTGlzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5 cGUgbmFtZT0iTGlzdE9mSGlzdG9yeUV2ZW50RmllbGRMaXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+ DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5RXZlbnRGaWVsZExpc3QiIHR5cGU9InRu czpIaXN0b3J5RXZlbnRGaWVsZExpc3QiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5k ZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkhpc3RvcnlFdmVudEZpZWxkTGlzdCIg dHlwZT0idG5zOkxpc3RPZkhpc3RvcnlFdmVudEZpZWxkTGlzdCIgbmlsbGFibGU9InRydWUiPjwv eHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU3RhdHVzQ2hhbmdlTm90aWZp Y2F0aW9uIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4 czpleHRlbnNpb24gYmFzZT0idG5zOk5vdGlmaWNhdGlvbkRhdGEiPg0KICAgICAgICA8eHM6c2Vx dWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzIiB0eXBlPSJ1YTpTdGF0 dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlh Z25vc3RpY0luZm8iIHR5cGU9InVhOkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxh YmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNp b24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz OmVsZW1lbnQgbmFtZT0iU3RhdHVzQ2hhbmdlTm90aWZpY2F0aW9uIiB0eXBlPSJ0bnM6U3RhdHVz Q2hhbmdlTm90aWZpY2F0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTdWJzY3Jp cHRpb25BY2tub3dsZWRnZW1lbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt ZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VxdWVuY2VOdW1iZXIiIHR5cGU9Inhz OnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uQWNrbm93bGVk Z2VtZW50IiB0eXBlPSJ0bnM6U3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50IiAvPg0KDQogIDx4 czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiPg0K ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbkFj a25vd2xlZGdlbWVudCIgdHlwZT0idG5zOlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudCIgbWlu T2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i TGlzdE9mU3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50IiB0eXBlPSJ0bnM6TGlzdE9mU3Vic2Ny aXB0aW9uQWNrbm93bGVkZ2VtZW50IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQog IDx4czpjb21wbGV4VHlwZSBuYW1lPSJQdWJsaXNoUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNl Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVl c3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl bWVudCBuYW1lPSJTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnRzIiB0eXBlPSJ0bnM6TGlzdE9m U3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt ZW50IG5hbWU9IlB1Ymxpc2hSZXF1ZXN0IiB0eXBlPSJ0bnM6UHVibGlzaFJlcXVlc3QiIC8+DQoN CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlB1Ymxpc2hSZXNwb25zZSI+DQogICAgPHhzOnNlcXVl bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpS ZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXZhaWxhYmxlU2VxdWVuY2VO dW1iZXJzIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb3JlTm90aWZpY2F0aW9ucyIgdHlwZT0i eHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm90 aWZpY2F0aW9uTWVzc2FnZSIgdHlwZT0idG5zOk5vdGlmaWNhdGlvbk1lc3NhZ2UiIG1pbk9jY3Vy cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRz IiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpM aXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l PSJQdWJsaXNoUmVzcG9uc2UiIHR5cGU9InRuczpQdWJsaXNoUmVzcG9uc2UiIC8+DQoNCiAgPHhz OmNvbXBsZXhUeXBlIG5hbWU9IlJlcHVibGlzaFJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4N CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0 SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l bnQgbmFtZT0iU3Vic2NyaXB0aW9uSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9 IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXRyYW5zbWl0U2VxdWVuY2VOdW1iZXIi IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5j ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVwdWJsaXNoUmVx dWVzdCIgdHlwZT0idG5zOlJlcHVibGlzaFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl IG5hbWU9IlJlcHVibGlzaFJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBt aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i Tm90aWZpY2F0aW9uTWVzc2FnZSIgdHlwZT0idG5zOk5vdGlmaWNhdGlvbk1lc3NhZ2UiIG1pbk9j Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVwdWJsaXNoUmVzcG9uc2UiIHR5cGU9 InRuczpSZXB1Ymxpc2hSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVHJh bnNmZXJSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 IlN0YXR1c0NvZGUiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg IDx4czplbGVtZW50IG5hbWU9IkF2YWlsYWJsZVNlcXVlbmNlTnVtYmVycyIgdHlwZT0idWE6TGlz dE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRyYW5zZmVy UmVzdWx0IiB0eXBlPSJ0bnM6VHJhbnNmZXJSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl IG5hbWU9Ikxpc3RPZlRyYW5zZmVyUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2ZlclJlc3VsdCIgdHlwZT0idG5zOlRyYW5zZmVyUmVzdWx0 IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4N CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu YW1lPSJMaXN0T2ZUcmFuc2ZlclJlc3VsdCIgdHlwZT0idG5zOkxpc3RPZlRyYW5zZmVyUmVzdWx0 IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l PSJUcmFuc2ZlclN1YnNjcmlwdGlvbnNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRl ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h bWU9IlN1YnNjcmlwdGlvbklkcyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAi IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VuZEluaXRpYWxW YWx1ZXMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVl bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2ZlclN1 YnNjcmlwdGlvbnNSZXF1ZXN0IiB0eXBlPSJ0bnM6VHJhbnNmZXJTdWJzY3JpcHRpb25zUmVxdWVz dCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVHJhbnNmZXJTdWJzY3JpcHRpb25zUmVz cG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3Bv bnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ0bnM6 TGlzdE9mVHJhbnNmZXJSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRp YWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRyYW5z ZmVyU3Vic2NyaXB0aW9uc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6VHJhbnNmZXJTdWJzY3JpcHRpb25z UmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZVN1YnNjcmlwdGlv bnNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS ZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxs YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkcyIg dHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h bWU9IkRlbGV0ZVN1YnNjcmlwdGlvbnNSZXF1ZXN0IiB0eXBlPSJ0bnM6RGVsZXRlU3Vic2NyaXB0 aW9uc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZVN1YnNjcmlw dGlvbnNSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt ZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIw IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5 cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RP ZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRl bGV0ZVN1YnNjcmlwdGlvbnNSZXNwb25zZSIgdHlwZT0idG5zOkRlbGV0ZVN1YnNjcmlwdGlvbnNS ZXNwb25zZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iRW51bWVyYXRlZFRlc3RUeXBl Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgc2ltcGxl IGVudW1lcmF0ZWQgdHlwZSB1c2VkIGZvciB0ZXN0aW5nLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAg ICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+ DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlZF8xIiAvPg0KICAgICAgPHhzOmVudW1l cmF0aW9uIHZhbHVlPSJZZWxsb3dfNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i R3JlZW5fNSIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQog IDx4czplbGVtZW50IG5hbWU9IkVudW1lcmF0ZWRUZXN0VHlwZSIgdHlwZT0idG5zOkVudW1lcmF0 ZWRUZXN0VHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRW51bWVyYXRl ZFRlc3RUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJF bnVtZXJhdGVkVGVzdFR5cGUiIHR5cGU9InRuczpFbnVtZXJhdGVkVGVzdFR5cGUiIG1pbk9jY3Vy cz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRW51bWVyYXRlZFRlc3RU eXBlIiB0eXBlPSJ0bnM6TGlzdE9mRW51bWVyYXRlZFRlc3RUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+ PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCdWlsZEluZm8iPg0KICAg IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlByb2R1Y3RVcmkiIHR5cGU9 InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl bGVtZW50IG5hbWU9Ik1hbnVmYWN0dXJlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJz PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlByb2R1Y3RO YW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTb2Z0d2FyZVZlcnNpb24iIHR5cGU9InhzOnN0cmluZyIg bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 IkJ1aWxkTnVtYmVyIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCdWlsZERhdGUiIHR5cGU9InhzOmRhdGVU aW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnVpbGRJbmZvIiB0eXBlPSJ0bnM6QnVpbGRJbmZv IiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJSZWR1bmRhbmN5U3VwcG9ydCI+DQogICAg PHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24g dmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ29sZF8xIiAv Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJXYXJtXzIiIC8+DQogICAgICA8eHM6ZW51 bWVyYXRpb24gdmFsdWU9IkhvdF8zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJU cmFuc3BhcmVudF80IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJIb3RBbmRNaXJy b3JlZF81IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAg PHhzOmVsZW1lbnQgbmFtZT0iUmVkdW5kYW5jeVN1cHBvcnQiIHR5cGU9InRuczpSZWR1bmRhbmN5 U3VwcG9ydCIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iU2VydmVyU3RhdGUiPg0KICAg IDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9u IHZhbHVlPSJSdW5uaW5nXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkZhaWxl ZF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb0NvbmZpZ3VyYXRpb25fMiIg Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU3VzcGVuZGVkXzMiIC8+DQogICAgICA8 eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNodXRkb3duXzQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp b24gdmFsdWU9IlRlc3RfNSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ29tbXVu aWNhdGlvbkZhdWx0XzYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVua25vd25f NyIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czpl bGVtZW50IG5hbWU9IlNlcnZlclN0YXRlIiB0eXBlPSJ0bnM6U2VydmVyU3RhdGUiIC8+DQoNCiAg PHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZHVuZGFudFNlcnZlckRhdGFUeXBlIj4NCiAgICA8eHM6 c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJJZCIgdHlwZT0ieHM6c3Ry aW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg bmFtZT0iU2VydmljZUxldmVsIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIg Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlclN0YXRlIiB0eXBlPSJ0bnM6U2VydmVy U3RhdGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIgdHlw ZT0idG5zOlJlZHVuZGFudFNlcnZlckRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu YW1lPSJMaXN0T2ZSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVkdW5kYW50U2VydmVyRGF0YVR5cGUiIHR5cGU9InRu czpSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91 bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUmVkdW5kYW50U2VydmVyRGF0YVR5 cGUiIHR5cGU9InRuczpMaXN0T2ZSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIgbmlsbGFibGU9InRy dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRW5kcG9pbnRVcmxM aXN0RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 IkVuZHBvaW50VXJsTGlzdCIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5p bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ DQogIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIiB0eXBlPSJ0bnM6 RW5kcG9pbnRVcmxMaXN0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxp c3RPZkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVybExpc3REYXRhVHlwZSIgdHlwZT0idG5zOkVuZHBv aW50VXJsTGlzdERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFbmRwb2ludFVybExpc3REYXRhVHlwZSIgdHlw ZT0idG5zOkxpc3RPZkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94 czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJOZXR3b3JrR3JvdXBEYXRhVHlw ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVXJp IiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg ICA8eHM6ZWxlbWVudCBuYW1lPSJOZXR3b3JrUGF0aHMiIHR5cGU9InRuczpMaXN0T2ZFbmRwb2lu dFVybExpc3REYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJO ZXR3b3JrR3JvdXBEYXRhVHlwZSIgdHlwZT0idG5zOk5ldHdvcmtHcm91cERhdGFUeXBlIiAvPg0K DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZOZXR3b3JrR3JvdXBEYXRhVHlwZSI+DQog ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmV0d29ya0dyb3VwRGF0 YVR5cGUiIHR5cGU9InRuczpOZXR3b3JrR3JvdXBEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhP Y2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTmV0d29ya0dy b3VwRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZOZXR3b3JrR3JvdXBEYXRhVHlwZSIgbmlsbGFi bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2FtcGxp bmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg IDx4czplbGVtZW50IG5hbWU9IlNhbXBsaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWlu T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUNvdW50 IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l bnQgbmFtZT0iTWF4TW9uaXRvcmVkSXRlbUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzYWJsZWRNb25pdG9yZWRJ dGVtQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94 czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2Ft cGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpTYW1wbGluZ0ludGVy dmFsRGlhZ25vc3RpY3NEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlz dE9mU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5j ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNhbXBsaW5nSW50ZXJ2YWxEaWFnbm9zdGljc0Rh dGFUeXBlIiB0eXBlPSJ0bnM6U2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiIG1p bk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 Ikxpc3RPZlNhbXBsaW5nSW50ZXJ2YWxEaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6TGlz dE9mU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48 L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlcnZlckRpYWdub3N0aWNz U3VtbWFyeURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu YW1lPSJTZXJ2ZXJWaWV3Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAi IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJyZW50U2Vzc2lvbkNvdW50IiB0eXBlPSJ4 czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i Q3VtdWxhdGVkU2Vzc2lvbkNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlSZWplY3RlZFNlc3Npb25Db3Vu dCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt ZW50IG5hbWU9IlJlamVjdGVkU2Vzc2lvbkNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvblRpbWVvdXRDb3Vu dCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt ZW50IG5hbWU9IlNlc3Npb25BYm9ydENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudFN1YnNjcmlwdGlvbkNv dW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs ZW1lbnQgbmFtZT0iQ3VtdWxhdGVkU3Vic2NyaXB0aW9uQ291bnQiIHR5cGU9InhzOnVuc2lnbmVk SW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoaW5n SW50ZXJ2YWxDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg ICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5UmVqZWN0ZWRSZXF1ZXN0c0NvdW50IiB0eXBl PSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt ZT0iUmVqZWN0ZWRSZXF1ZXN0c0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz PSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl bGVtZW50IG5hbWU9IlNlcnZlckRpYWdub3N0aWNzU3VtbWFyeURhdGFUeXBlIiB0eXBlPSJ0bnM6 U2VydmVyRGlhZ25vc3RpY3NTdW1tYXJ5RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl IG5hbWU9IlNlcnZlclN0YXR1c0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 eHM6ZWxlbWVudCBuYW1lPSJTdGFydFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9 IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJyZW50VGltZSIgdHlwZT0ieHM6ZGF0 ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXRlIiB0 eXBlPSJ0bnM6U2VydmVyU3RhdGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 IG5hbWU9IkJ1aWxkSW5mbyIgdHlwZT0idG5zOkJ1aWxkSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxs YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY29uZHNUaWxsU2h1dGRv d24iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl bWVudCBuYW1lPSJTaHV0ZG93blJlYXNvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2Nj dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJTdGF0dXNEYXRhVHlwZSIgdHlw ZT0idG5zOlNlcnZlclN0YXR1c0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l PSJTZXNzaW9uRGlhZ25vc3RpY3NEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg PHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbklkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0i MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uTmFt ZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg ICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50RGVzY3JpcHRpb24iIHR5cGU9InRuczpBcHBsaWNh dGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg PHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0i MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVy bCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg ICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1p bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJB Y3R1YWxTZXNzaW9uVGltZW91dCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQog ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhSZXNwb25zZU1lc3NhZ2VTaXplIiB0eXBlPSJ4czp1 bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xp ZW50Q29ubmVjdGlvblRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQog ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRMYXN0Q29udGFjdFRpbWUiIHR5cGU9InhzOmRh dGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJyZW50 U3Vic2NyaXB0aW9uc0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAv Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudE1vbml0b3JlZEl0ZW1zQ291bnQiIHR5 cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu YW1lPSJDdXJyZW50UHVibGlzaFJlcXVlc3RzSW5RdWV1ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQi IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRvdGFsUmVxdWVzdENv dW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxs YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVuYXV0aG9yaXplZFJlcXVl c3RDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 czplbGVtZW50IG5hbWU9IlJlYWRDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5 cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu YW1lPSJIaXN0b3J5UmVhZENvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIg bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 IldyaXRlQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9 IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVVw ZGF0ZUNvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIw IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNhbGxDb3VudCIg dHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVNb25pdG9yZWRJdGVtc0Nv dW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxs YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmeU1vbml0b3JlZEl0 ZW1zQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAi IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0TW9uaXRvcmlu Z01vZGVDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0i MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXRUcmlnZ2Vy aW5nQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAi IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlTW9uaXRv cmVkSXRlbXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vy cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVT dWJzY3JpcHRpb25Db3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9j Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb2Rp ZnlTdWJzY3JpcHRpb25Db3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1p bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJT ZXRQdWJsaXNoaW5nTW9kZUNvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIg bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 IlB1Ymxpc2hDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vy cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXB1Ymxp c2hDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIg bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2ZlclN1YnNj cmlwdGlvbnNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vy cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVT dWJzY3JpcHRpb25zQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5P Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWRk Tm9kZXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0i MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRSZWZlcmVu Y2VzQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAi IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlTm9kZXND b3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmls bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVSZWZlcmVuY2Vz Q291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5p bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlQ291bnQiIHR5 cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlTmV4dENvdW50IiB0eXBlPSJ0 bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRz Q291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5p bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlGaXJzdENvdW50 IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5TmV4dENvdW50IiB0eXBl PSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyTm9kZXNDb3VudCIgdHlwZT0i dG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVbnJlZ2lzdGVyTm9kZXNDb3VudCIgdHlwZT0i dG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l bnQgbmFtZT0iU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpTZXNzaW9uRGlh Z25vc3RpY3NEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU2Vz c2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl bGVtZW50IG5hbWU9IlNlc3Npb25EaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U2Vzc2lv bkRpYWdub3N0aWNzRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlNlc3Npb25EaWFnbm9zdGljc0RhdGFUeXBl IiB0eXBlPSJ0bnM6TGlzdE9mU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIG5pbGxhYmxlPSJ0 cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlc3Npb25TZWN1 cml0eURpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl bGVtZW50IG5hbWU9IlNlc3Npb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5p bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50VXNlcklkT2ZT ZXNzaW9uIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRVc2VySWRIaXN0b3J5IiB0eXBlPSJ1YTpM aXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 ZWxlbWVudCBuYW1lPSJBdXRoZW50aWNhdGlvbk1lY2hhbmlzbSIgdHlwZT0ieHM6c3RyaW5nIiBt aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i RW5jb2RpbmciIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zcG9ydFByb3RvY29sIiB0eXBlPSJ4czpz dHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu dCBuYW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiBtaW5P Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVBvbGljeVVyaSIg dHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg PHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50Q2VydGlmaWNhdGUiIHR5cGU9InhzOmJhc2U2NEJpbmFy eSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uU2VjdXJpdHlE aWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U2Vzc2lvblNlY3VyaXR5RGlhZ25vc3RpY3NE YXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU2Vzc2lvblNlY3Vy aXR5RGlhZ25vc3RpY3NEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs ZW1lbnQgbmFtZT0iU2Vzc2lvblNlY3VyaXR5RGlhZ25vc3RpY3NEYXRhVHlwZSIgdHlwZT0idG5z OlNlc3Npb25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2Nj dXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlNlc3Npb25TZWN1 cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZTZXNzaW9uU2VjdXJpdHlE aWFnbm9zdGljc0RhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4 czpjb21wbGV4VHlwZSBuYW1lPSJTZXJ2aWNlQ291bnRlckRhdGFUeXBlIj4NCiAgICA8eHM6c2Vx dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUb3RhbENvdW50IiB0eXBlPSJ4czp1bnNp Z25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXJyb3JD b3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNl cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2aWNl Q291bnRlckRhdGFUeXBlIiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCg0K ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU3RhdHVzUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+ DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2Rl IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5m byIgdHlwZT0idWE6RGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l bnQgbmFtZT0iU3RhdHVzUmVzdWx0IiB0eXBlPSJ0bnM6U3RhdHVzUmVzdWx0IiAvPg0KDQogIDx4 czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTdGF0dXNSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5j ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c1Jlc3VsdCIgdHlwZT0idG5zOlN0YXR1 c1Jlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs ZW1lbnQgbmFtZT0iTGlzdE9mU3RhdHVzUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mU3RhdHVzUmVz dWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBu YW1lPSJTdWJzY3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+ DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uSWQiIHR5cGU9InVhOk5vZGVJZCIgbWlu T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1 YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg ICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJpb3JpdHkiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWlu T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGluZ0ludGVydmFs IiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h bWU9Ik1heEtlZXBBbGl2ZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4TGlmZXRpbWVDb3VudCIgdHlwZT0ieHM6 dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1h eE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGluZ0VuYWJsZWQiIHR5cGU9 InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1v ZGlmeUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg PHhzOmVsZW1lbnQgbmFtZT0iRW5hYmxlQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNhYmxlQ291bnQiIHR5cGU9 InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l PSJSZXB1Ymxpc2hSZXF1ZXN0Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9 IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXB1Ymxpc2hNZXNzYWdlUmVxdWVzdENv dW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs ZW1lbnQgbmFtZT0iUmVwdWJsaXNoTWVzc2FnZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIg bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNmZXJSZXF1ZXN0 Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 ZWxlbWVudCBuYW1lPSJUcmFuc2ZlcnJlZFRvQWx0Q2xpZW50Q291bnQiIHR5cGU9InhzOnVuc2ln bmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2Zl cnJlZFRvU2FtZUNsaWVudENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaFJlcXVlc3RDb3VudCIgdHlwZT0i eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 IkRhdGFDaGFuZ2VOb3RpZmljYXRpb25zQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudE5vdGlmaWNhdGlvbnND b3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl bGVtZW50IG5hbWU9Ik5vdGlmaWNhdGlvbnNDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1p bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkxhdGVQdWJsaXNoUmVxdWVz dENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz OmVsZW1lbnQgbmFtZT0iQ3VycmVudEtlZXBBbGl2ZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZElu dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudExpZmV0 aW1lQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 eHM6ZWxlbWVudCBuYW1lPSJVbmFja25vd2xlZGdlZE1lc3NhZ2VDb3VudCIgdHlwZT0ieHM6dW5z aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2Nh cmRlZE1lc3NhZ2VDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4N CiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1Db3VudCIgdHlwZT0ieHM6dW5z aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2Fi bGVkTW9uaXRvcmVkSXRlbUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ1F1ZXVlT3ZlcmZsb3dDb3Vu dCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt ZW50IG5hbWU9Ik5leHRTZXF1ZW5jZU51bWJlciIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9j Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50UXVldWVPdmVyRmxvd0Nv dW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2Vx dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlw dGlvbkRpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpTdWJzY3JpcHRpb25EaWFnbm9zdGlj c0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTdWJzY3JpcHRp b25EaWFnbm9zdGljc0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl bWVudCBuYW1lPSJTdWJzY3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U3Vi c2NyaXB0aW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu Ym91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU3Vic2NyaXB0aW9uRGlhZ25v c3RpY3NEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlN1YnNjcmlwdGlvbkRpYWdub3N0aWNzRGF0 YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUg IG5hbWU9Ik1vZGVsQ2hhbmdlU3RydWN0dXJlVmVyYk1hc2siPg0KICAgIDx4czpyZXN0cmljdGlv biBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb2RlQWRk ZWRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9kZURlbGV0ZWRfMiIgLz4N CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVmZXJlbmNlQWRkZWRfNCIgLz4NCiAgICAg IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVmZXJlbmNlRGVsZXRlZF84IiAvPg0KICAgICAgPHhz OmVudW1lcmF0aW9uIHZhbHVlPSJEYXRhVHlwZUNoYW5nZWRfMTYiIC8+DQogICAgPC94czpyZXN0 cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RlbENo YW5nZVN0cnVjdHVyZVZlcmJNYXNrIiB0eXBlPSJ0bnM6TW9kZWxDaGFuZ2VTdHJ1Y3R1cmVWZXJi TWFzayIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVE YXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWZm ZWN0ZWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFmZmVjdGVkVHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBt aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i VmVyYiIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpz ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kZWxD aGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgdHlwZT0idG5zOk1vZGVsQ2hhbmdlU3RydWN0dXJlRGF0 YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk1vZGVsQ2hhbmdlU3Ry dWN0dXJlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h bWU9Ik1vZGVsQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIHR5cGU9InRuczpNb2RlbENoYW5nZVN0 cnVjdHVyZURhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxs YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K ICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZNb2RlbENoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiB0 eXBlPSJ0bnM6TGlzdE9mTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgbmlsbGFibGU9InRy dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2VtYW50aWNDaGFu Z2VTdHJ1Y3R1cmVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l bnQgbmFtZT0iQWZmZWN0ZWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJs ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFmZmVjdGVkVHlwZSIgdHlwZT0i dWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNlbWFudGlj Q2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIHR5cGU9InRuczpTZW1hbnRpY0NoYW5nZVN0cnVjdHVy ZURhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTZW1hbnRpY0No YW5nZVN0cnVjdHVyZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl bWVudCBuYW1lPSJTZW1hbnRpY0NoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiB0eXBlPSJ0bnM6U2Vt YW50aWNDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu Ym91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU2VtYW50aWNDaGFuZ2VTdHJ1 Y3R1cmVEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlNlbWFudGljQ2hhbmdlU3RydWN0dXJlRGF0 YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBl IG5hbWU9IlJhbmdlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l PSJMb3ciIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l bnQgbmFtZT0iSGlnaCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94 czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmFu Z2UiIHR5cGU9InRuczpSYW5nZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRVVJbmZv cm1hdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFt ZXNwYWNlVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVbml0SWQiIHR5cGU9InhzOmludCIgbWluT2Nj dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzcGxheU5hbWUiIHR5cGU9InVh OkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 eHM6ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWlu T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFVUluZm9ybWF0aW9uIiB0eXBlPSJ0 bnM6RVVJbmZvcm1hdGlvbiIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iQXhpc1NjYWxl RW51bWVyYXRpb24iPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAg ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJMaW5lYXJfMCIgLz4NCiAgICAgIDx4czplbnVtZXJh dGlvbiB2YWx1ZT0iTG9nXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkxuXzIi IC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxl bWVudCBuYW1lPSJBeGlzU2NhbGVFbnVtZXJhdGlvbiIgdHlwZT0idG5zOkF4aXNTY2FsZUVudW1l cmF0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDb21wbGV4TnVtYmVyVHlwZSI+ DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhbCIgdHlwZT0i eHM6ZmxvYXQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkltYWdp bmFyeSIgdHlwZT0ieHM6ZmxvYXQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNl Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb21wbGV4TnVtYmVy VHlwZSIgdHlwZT0idG5zOkNvbXBsZXhOdW1iZXJUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw ZSBuYW1lPSJEb3VibGVDb21wbGV4TnVtYmVyVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAi IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbWFnaW5hcnkiIHR5cGU9InhzOmRvdWJsZSIg bWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ DQogIDx4czplbGVtZW50IG5hbWU9IkRvdWJsZUNvbXBsZXhOdW1iZXJUeXBlIiB0eXBlPSJ0bnM6 RG91YmxlQ29tcGxleE51bWJlclR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkF4 aXNJbmZvcm1hdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt ZT0iRW5naW5lZXJpbmdVbml0cyIgdHlwZT0idG5zOkVVSW5mb3JtYXRpb24iIG1pbk9jY3Vycz0i MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFVVJhbmdlIiB0 eXBlPSJ0bnM6UmFuZ2UiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 eHM6ZWxlbWVudCBuYW1lPSJUaXRsZSIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJz PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkF4aXNTY2Fs ZVR5cGUiIHR5cGU9InRuczpBeGlzU2NhbGVFbnVtZXJhdGlvbiIgbWluT2NjdXJzPSIwIiAvPg0K ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXhpc1N0ZXBzIiB0eXBlPSJ1YTpMaXN0T2ZEb3VibGUi IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXhpc0luZm9ybWF0aW9uIiB0 eXBlPSJ0bnM6QXhpc0luZm9ybWF0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJY VlR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlgiIHR5 cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i VmFsdWUiIHR5cGU9InhzOmZsb2F0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5j ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iWFZUeXBlIiB0eXBl PSJ0bnM6WFZUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJQcm9ncmFtRGlhZ25v c3RpY0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l PSJDcmVhdGVTZXNzaW9uSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJs ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZUNsaWVudE5hbWUiIHR5 cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 czplbGVtZW50IG5hbWU9Ikludm9jYXRpb25DcmVhdGlvblRpbWUiIHR5cGU9InhzOmRhdGVUaW1l IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0VHJhbnNpdGlv blRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl bWVudCBuYW1lPSJMYXN0TWV0aG9kQ2FsbCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdE1ldGhvZFNl c3Npb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdE1ldGhvZElucHV0QXJndW1lbnRzIiB0eXBl PSJ0bnM6TGlzdE9mQXJndW1lbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kT3V0cHV0QXJndW1lbnRzIiB0eXBlPSJ0 bnM6TGlzdE9mQXJndW1lbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg ICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kQ2FsbFRpbWUiIHR5cGU9InhzOmRhdGVUaW1l IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kUmV0 dXJuU3RhdHVzIiB0eXBlPSJ0bnM6U3RhdHVzUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 czplbGVtZW50IG5hbWU9IlByb2dyYW1EaWFnbm9zdGljRGF0YVR5cGUiIHR5cGU9InRuczpQcm9n cmFtRGlhZ25vc3RpY0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBbm5v dGF0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXNz YWdlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1 cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQW5ub3Rh dGlvblRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpz ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQW5ub3Rh dGlvbiIgdHlwZT0idG5zOkFubm90YXRpb24iIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9 IkV4Y2VwdGlvbkRldmlhdGlvbkZvcm1hdCI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9Inhz OnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFic29sdXRlVmFsdWVfMCIg Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudE9mVmFsdWVfMSIgLz4NCiAg ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudE9mUmFuZ2VfMiIgLz4NCiAgICAgIDx4 czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudE9mRVVSYW5nZV8zIiAvPg0KICAgICAgPHhzOmVu dW1lcmF0aW9uIHZhbHVlPSJVbmtub3duXzQiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAg PC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFeGNlcHRpb25EZXZpYXRpb25G b3JtYXQiIHR5cGU9InRuczpFeGNlcHRpb25EZXZpYXRpb25Gb3JtYXQiIC8+DQoNCjwveHM6c2No ZW1hPg== NamespaceUri A URI that uniquely identifies the dictionary. i=68 i=8252 http://opcfoundation.org/UA/2008/02/Types.xsd TrustListDataType i=69 i=8252 //xs:element[@name='TrustListDataType'] Argument i=69 i=8252 //xs:element[@name='Argument'] EnumValueType i=69 i=8252 //xs:element[@name='EnumValueType'] OptionSet i=69 i=8252 //xs:element[@name='OptionSet'] Union i=69 i=8252 //xs:element[@name='Union'] TimeZoneDataType i=69 i=8252 //xs:element[@name='TimeZoneDataType'] ApplicationDescription i=69 i=8252 //xs:element[@name='ApplicationDescription'] ServerOnNetwork i=69 i=8252 //xs:element[@name='ServerOnNetwork'] UserTokenPolicy i=69 i=8252 //xs:element[@name='UserTokenPolicy'] EndpointDescription i=69 i=8252 //xs:element[@name='EndpointDescription'] RegisteredServer i=69 i=8252 //xs:element[@name='RegisteredServer'] DiscoveryConfiguration i=69 i=8252 //xs:element[@name='DiscoveryConfiguration'] MdnsDiscoveryConfiguration i=69 i=8252 //xs:element[@name='MdnsDiscoveryConfiguration'] SignedSoftwareCertificate i=69 i=8252 //xs:element[@name='SignedSoftwareCertificate'] UserIdentityToken i=69 i=8252 //xs:element[@name='UserIdentityToken'] AnonymousIdentityToken i=69 i=8252 //xs:element[@name='AnonymousIdentityToken'] UserNameIdentityToken i=69 i=8252 //xs:element[@name='UserNameIdentityToken'] X509IdentityToken i=69 i=8252 //xs:element[@name='X509IdentityToken'] KerberosIdentityToken i=69 i=8252 //xs:element[@name='KerberosIdentityToken'] IssuedIdentityToken i=69 i=8252 //xs:element[@name='IssuedIdentityToken'] AddNodesItem i=69 i=8252 //xs:element[@name='AddNodesItem'] AddReferencesItem i=69 i=8252 //xs:element[@name='AddReferencesItem'] DeleteNodesItem i=69 i=8252 //xs:element[@name='DeleteNodesItem'] DeleteReferencesItem i=69 i=8252 //xs:element[@name='DeleteReferencesItem'] RelativePathElement i=69 i=8252 //xs:element[@name='RelativePathElement'] RelativePath i=69 i=8252 //xs:element[@name='RelativePath'] EndpointConfiguration i=69 i=8252 //xs:element[@name='EndpointConfiguration'] SupportedProfile i=69 i=8252 //xs:element[@name='SupportedProfile'] SoftwareCertificate i=69 i=8252 //xs:element[@name='SoftwareCertificate'] ContentFilterElement i=69 i=8252 //xs:element[@name='ContentFilterElement'] ContentFilter i=69 i=8252 //xs:element[@name='ContentFilter'] FilterOperand i=69 i=8252 //xs:element[@name='FilterOperand'] ElementOperand i=69 i=8252 //xs:element[@name='ElementOperand'] LiteralOperand i=69 i=8252 //xs:element[@name='LiteralOperand'] AttributeOperand i=69 i=8252 //xs:element[@name='AttributeOperand'] SimpleAttributeOperand i=69 i=8252 //xs:element[@name='SimpleAttributeOperand'] HistoryEvent i=69 i=8252 //xs:element[@name='HistoryEvent'] MonitoringFilter i=69 i=8252 //xs:element[@name='MonitoringFilter'] EventFilter i=69 i=8252 //xs:element[@name='EventFilter'] AggregateConfiguration i=69 i=8252 //xs:element[@name='AggregateConfiguration'] HistoryEventFieldList i=69 i=8252 //xs:element[@name='HistoryEventFieldList'] BuildInfo i=69 i=8252 //xs:element[@name='BuildInfo'] RedundantServerDataType i=69 i=8252 //xs:element[@name='RedundantServerDataType'] EndpointUrlListDataType i=69 i=8252 //xs:element[@name='EndpointUrlListDataType'] NetworkGroupDataType i=69 i=8252 //xs:element[@name='NetworkGroupDataType'] SamplingIntervalDiagnosticsDataType i=69 i=8252 //xs:element[@name='SamplingIntervalDiagnosticsDataType'] ServerDiagnosticsSummaryDataType i=69 i=8252 //xs:element[@name='ServerDiagnosticsSummaryDataType'] ServerStatusDataType i=69 i=8252 //xs:element[@name='ServerStatusDataType'] SessionDiagnosticsDataType i=69 i=8252 //xs:element[@name='SessionDiagnosticsDataType'] SessionSecurityDiagnosticsDataType i=69 i=8252 //xs:element[@name='SessionSecurityDiagnosticsDataType'] ServiceCounterDataType i=69 i=8252 //xs:element[@name='ServiceCounterDataType'] StatusResult i=69 i=8252 //xs:element[@name='StatusResult'] SubscriptionDiagnosticsDataType i=69 i=8252 //xs:element[@name='SubscriptionDiagnosticsDataType'] ModelChangeStructureDataType i=69 i=8252 //xs:element[@name='ModelChangeStructureDataType'] SemanticChangeStructureDataType i=69 i=8252 //xs:element[@name='SemanticChangeStructureDataType'] Range i=69 i=8252 //xs:element[@name='Range'] EUInformation i=69 i=8252 //xs:element[@name='EUInformation'] ComplexNumberType i=69 i=8252 //xs:element[@name='ComplexNumberType'] DoubleComplexNumberType i=69 i=8252 //xs:element[@name='DoubleComplexNumberType'] AxisInformation i=69 i=8252 //xs:element[@name='AxisInformation'] XVType i=69 i=8252 //xs:element[@name='XVType'] ProgramDiagnosticDataType i=69 i=8252 //xs:element[@name='ProgramDiagnosticDataType'] Annotation i=69 i=8252 //xs:element[@name='Annotation'] Default Binary i=12554 i=12681 i=76 Default Binary i=296 i=7650 i=76 Default Binary i=7594 i=7656 i=76 Default Binary i=12755 i=12767 i=76 Default Binary i=12756 i=12770 i=76 Default Binary i=8912 i=8914 i=76 Default Binary i=308 i=7665 i=76 Default Binary i=12189 i=12213 i=76 Default Binary i=304 i=7662 i=76 Default Binary i=312 i=7668 i=76 Default Binary i=432 i=7782 i=76 Default Binary i=12890 i=12902 i=76 Default Binary i=12891 i=12905 i=76 Default Binary i=344 i=7698 i=76 Default Binary i=316 i=7671 i=76 Default Binary i=319 i=7674 i=76 Default Binary i=322 i=7677 i=76 Default Binary i=325 i=7680 i=76 Default Binary i=12504 i=12510 i=76 Default Binary i=938 i=7683 i=76 Default Binary i=376 i=7728 i=76 Default Binary i=379 i=7731 i=76 Default Binary i=382 i=7734 i=76 Default Binary i=385 i=7737 i=76 Default Binary i=537 i=12718 i=76 Default Binary i=540 i=12721 i=76 Default Binary i=331 i=7686 i=76 Default Binary i=335 i=7689 i=76 Default Binary i=341 i=7695 i=76 Default Binary i=583 i=7929 i=76 Default Binary i=586 i=7932 i=76 Default Binary i=589 i=7935 i=76 Default Binary i=592 i=7938 i=76 Default Binary i=595 i=7941 i=76 Default Binary i=598 i=7944 i=76 Default Binary i=601 i=7947 i=76 Default Binary i=659 i=8004 i=76 Default Binary i=719 i=8067 i=76 Default Binary i=725 i=8073 i=76 Default Binary i=948 i=8076 i=76 Default Binary i=920 i=8172 i=76 Default Binary i=338 i=7692 i=76 Default Binary i=853 i=8208 i=76 Default Binary i=11943 i=11959 i=76 Default Binary i=11944 i=11962 i=76 Default Binary i=856 i=8211 i=76 Default Binary i=859 i=8214 i=76 Default Binary i=862 i=8217 i=76 Default Binary i=865 i=8220 i=76 Default Binary i=868 i=8223 i=76 Default Binary i=871 i=8226 i=76 Default Binary i=299 i=7659 i=76 Default Binary i=874 i=8229 i=76 Default Binary i=877 i=8232 i=76 Default Binary i=897 i=8235 i=76 Default Binary i=884 i=8238 i=76 Default Binary i=887 i=8241 i=76 Default Binary i=12171 i=12183 i=76 Default Binary i=12172 i=12186 i=76 Default Binary i=12079 i=12091 i=76 Default Binary i=12080 i=12094 i=76 Default Binary i=894 i=8247 i=76 Default Binary i=891 i=8244 i=76 Opc.Ua i=7619 i=12681 i=7650 i=7656 i=12767 i=12770 i=8914 i=7665 i=12213 i=7662 i=7668 i=7782 i=12902 i=12905 i=7698 i=7671 i=7674 i=7677 i=7680 i=12510 i=7683 i=7728 i=7731 i=7734 i=7737 i=12718 i=12721 i=7686 i=7689 i=7695 i=7929 i=7932 i=7935 i=7938 i=7941 i=7944 i=7947 i=8004 i=8067 i=8073 i=8076 i=8172 i=7692 i=8208 i=11959 i=11962 i=8211 i=8214 i=8217 i=8220 i=8223 i=8226 i=7659 i=8229 i=8232 i=8235 i=8238 i=8241 i=12183 i=12186 i=12091 i=12094 i=8247 i=8244 i=93 i=72 PG9wYzpUeXBlRGljdGlvbmFyeQ0KICB4bWxuczpvcGM9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9y Zy9CaW5hcnlTY2hlbWEvIg0KICB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1M U2NoZW1hLWluc3RhbmNlIg0KICB4bWxuczp1YT0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VB LyINCiAgeG1sbnM6dG5zPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvIg0KICBEZWZhdWx0 Qnl0ZU9yZGVyPSJMaXR0bGVFbmRpYW4iDQogIFRhcmdldE5hbWVzcGFjZT0iaHR0cDovL29wY2Zv dW5kYXRpb24ub3JnL1VBLyINCj4NCiAgPCEtLSBUaGlzIEZpbGUgd2FzIGdlbmVyYXRlZCBvbiAy MDE1LTA4LTE4IGFuZCBzdXBwb3J0cyB0aGUgc3BlY2lmaWNhdGlvbnMgc3VwcG9ydGVkIGJ5IHZl cnNpb24gMS4xLjMzNS4xIG9mIHRoZSBPUEMgVUEgZGVsaXZlcmFibGVzLiAtLT4NCg0KICA8b3Bj OkltcG9ydCBOYW1lc3BhY2U9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9CaW5hcnlTY2hlbWEv IiAvPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iWG1sRWxlbWVudCI+DQogICAgPG9w YzpEb2N1bWVudGF0aW9uPkFuIFhNTCBlbGVtZW50IGVuY29kZWQgYXMgYSBVVEYtOCBzdHJpbmcu PC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxlbmd0aCIgVHlwZU5h bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0i b3BjOkNoYXIiIExlbmd0aEZpZWxkPSJMZW5ndGgiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl Pg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iTm9kZUlkVHlwZSIgTGVuZ3RoSW5CaXRz PSI2Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHBvc3NpYmxlIGVuY29kaW5ncyBmb3Ig YSBOb2RlSWQgdmFsdWUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRW YWx1ZSBOYW1lPSJUd29CeXRlIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 ZSBOYW1lPSJGb3VyQnl0ZSIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg TmFtZT0iTnVtZXJpYyIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt ZT0iU3RyaW5nIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJH dWlkIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCeXRlU3Ry aW5nIiBWYWx1ZT0iNSIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 Y3R1cmVkVHlwZSBOYW1lPSJUd29CeXRlTm9kZUlkIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Iklk ZW50aWZpZXIiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJGb3VyQnl0ZU5vZGVJZCI+DQogICAgPG9w YzpGaWVsZCBOYW1lPSJOYW1lc3BhY2VJbmRleCIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICAg IDxvcGM6RmllbGQgTmFtZT0iSWRlbnRpZmllciIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQog IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTnVt ZXJpY05vZGVJZCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lc3BhY2VJbmRleCIgVHlwZU5h bWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJZGVudGlmaWVyIiBUeXBl TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT dHJ1Y3R1cmVkVHlwZSBOYW1lPSJTdHJpbmdOb2RlSWQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i TmFtZXNwYWNlSW5kZXgiIFR5cGVOYW1lPSJvcGM6VUludDE2IiAvPg0KICAgIDxvcGM6RmllbGQg TmFtZT0iSWRlbnRpZmllciIgVHlwZU5hbWU9Im9wYzpDaGFyQXJyYXkiIC8+DQogIDwvb3BjOlN0 cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iR3VpZE5vZGVJZCI+ DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lc3BhY2VJbmRleCIgVHlwZU5hbWU9Im9wYzpVSW50 MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJZGVudGlmaWVyIiBUeXBlTmFtZT0ib3BjOkd1 aWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg TmFtZT0iQnl0ZVN0cmluZ05vZGVJZCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lc3BhY2VJ bmRleCIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJZGVu dGlmaWVyIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTm9kZUlkIj4NCiAgICA8b3BjOkRv Y3VtZW50YXRpb24+QW4gaWRlbnRpZmllciBmb3IgYSBub2RlIGluIGEgVUEgc2VydmVyIGFkZHJl c3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJ ZFR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWRUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i UmVzZXJ2ZWQxIiBUeXBlTmFtZT0ib3BjOkJpdCIgTGVuZ3RoPSIyIiAvPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iVHdvQnl0ZSIgVHlwZU5hbWU9InVhOlR3b0J5dGVOb2RlSWQiIFN3aXRjaEZpZWxk PSJOb2RlSWRUeXBlIiBTd2l0Y2hWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZv dXJCeXRlIiBUeXBlTmFtZT0idWE6Rm91ckJ5dGVOb2RlSWQiIFN3aXRjaEZpZWxkPSJOb2RlSWRU eXBlIiBTd2l0Y2hWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik51bWVyaWMiIFR5 cGVOYW1lPSJ1YTpOdW1lcmljTm9kZUlkIiBTd2l0Y2hGaWVsZD0iTm9kZUlkVHlwZSIgU3dpdGNo VmFsdWU9IjIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdHJpbmciIFR5cGVOYW1lPSJ1YTpT dHJpbmdOb2RlSWQiIFN3aXRjaEZpZWxkPSJOb2RlSWRUeXBlIiBTd2l0Y2hWYWx1ZT0iMyIgLz4N CiAgICA8b3BjOkZpZWxkIE5hbWU9Ikd1aWQiIFR5cGVOYW1lPSJ1YTpHdWlkTm9kZUlkIiBTd2l0 Y2hGaWVsZD0iTm9kZUlkVHlwZSIgU3dpdGNoVmFsdWU9IjQiIC8+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJCeXRlU3RyaW5nIiBUeXBlTmFtZT0idWE6Qnl0ZVN0cmluZ05vZGVJZCIgU3dpdGNoRmll bGQ9Ik5vZGVJZFR5cGUiIFN3aXRjaFZhbHVlPSI1IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkV4cGFuZGVkTm9kZUlkIj4NCiAgICA8 b3BjOkRvY3VtZW50YXRpb24+QW4gaWRlbnRpZmllciBmb3IgYSBub2RlIGluIGEgVUEgc2VydmVy IGFkZHJlc3Mgc3BhY2UgcXVhbGlmaWVkIHdpdGggYSBjb21wbGV0ZSBuYW1lc3BhY2Ugc3RyaW5n Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWRUeXBlIiBU eXBlTmFtZT0idWE6Tm9kZUlkVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlcklu ZGV4U3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 Ik5hbWVzcGFjZVVSSVNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpG aWVsZCBOYW1lPSJUd29CeXRlIiBUeXBlTmFtZT0idWE6VHdvQnl0ZU5vZGVJZCIgU3dpdGNoRmll bGQ9Ik5vZGVJZFR5cGUiIFN3aXRjaFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i Rm91ckJ5dGUiIFR5cGVOYW1lPSJ1YTpGb3VyQnl0ZU5vZGVJZCIgU3dpdGNoRmllbGQ9Ik5vZGVJ ZFR5cGUiIFN3aXRjaFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTnVtZXJpYyIg VHlwZU5hbWU9InVhOk51bWVyaWNOb2RlSWQiIFN3aXRjaEZpZWxkPSJOb2RlSWRUeXBlIiBTd2l0 Y2hWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0cmluZyIgVHlwZU5hbWU9InVh OlN0cmluZ05vZGVJZCIgU3dpdGNoRmllbGQ9Ik5vZGVJZFR5cGUiIFN3aXRjaFZhbHVlPSIzIiAv Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iR3VpZCIgVHlwZU5hbWU9InVhOkd1aWROb2RlSWQiIFN3 aXRjaEZpZWxkPSJOb2RlSWRUeXBlIiBTd2l0Y2hWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkZpZWxk IE5hbWU9IkJ5dGVTdHJpbmciIFR5cGVOYW1lPSJ1YTpCeXRlU3RyaW5nTm9kZUlkIiBTd2l0Y2hG aWVsZD0iTm9kZUlkVHlwZSIgU3dpdGNoVmFsdWU9IjUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l PSJOYW1lc3BhY2VVUkkiIFR5cGVOYW1lPSJvcGM6Q2hhckFycmF5IiBTd2l0Y2hGaWVsZD0iTmFt ZXNwYWNlVVJJU3BlY2lmaWVkIi8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJJbmRleCIg VHlwZU5hbWU9Im9wYzpVSW50MzIiIFN3aXRjaEZpZWxkPSJTZXJ2ZXJJbmRleFNwZWNpZmllZCIv Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iU3Rh dHVzQ29kZSIgTGVuZ3RoSW5CaXRzPSIzMiIgQnl0ZU9yZGVyU2lnbmlmaWNhbnQ9InRydWUiPg0K ICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIDMyLWJpdCBzdGF0dXMgY29kZSB2YWx1ZS48L29wYzpE b2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 cGUgTmFtZT0iRGlhZ25vc3RpY0luZm8iPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHJlY3Vy c2l2ZSBzdHJ1Y3R1cmUgY29udGFpbmluZyBkaWFnbm9zdGljIGluZm9ybWF0aW9uIGFzc29jaWF0 ZWQgd2l0aCBhIHN0YXR1cyBjb2RlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJTeW1ib2xpY0lkU3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9Ik5hbWVzcGFjZVVSSVNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQi IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMb2NhbGVTcGVjaWZpZWQiIFR5cGVOYW1lPSJvcGM6 Qml0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTG9jYWxpemVkVGV4dFNwZWNpZmllZCIgVHlw ZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGRpdGlvbmFsSW5mb1Nw ZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbm5l clN0YXR1c0NvZGVTcGVjaWZpZWQiIFR5cGVOYW1lPSJvcGM6Qml0IiAvPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iSW5uZXJEaWFnbm9zdGljSW5mb1NwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQi IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNlcnZlZDEiIFR5cGVOYW1lPSJvcGM6Qml0IiBM ZW5ndGg9IjIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTeW1ib2xpY0lkIiBUeXBlTmFtZT0i b3BjOkludDMyIiBTd2l0Y2hGaWVsZD0iU3ltYm9saWNJZFNwZWNpZmllZCIgLz4NCiAgICA8b3Bj OkZpZWxkIE5hbWU9Ik5hbWVzcGFjZVVSSSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgU3dpdGNoRmll bGQ9Ik5hbWVzcGFjZVVSSVNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2Fs ZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgU3dpdGNoRmllbGQ9IkxvY2FsZVNwZWNpZmllZCIgLz4N CiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsaXplZFRleHQiIFR5cGVOYW1lPSJvcGM6SW50MzIi IFN3aXRjaEZpZWxkPSJMb2NhbGl6ZWRUZXh0U3BlY2lmaWVkIiAvPg0KICAgIDxvcGM6RmllbGQg TmFtZT0iQWRkaXRpb25hbEluZm8iIFR5cGVOYW1lPSJvcGM6Q2hhckFycmF5IiBTd2l0Y2hGaWVs ZD0iQWRkaXRpb25hbEluZm9TcGVjaWZpZWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbm5l clN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBTd2l0Y2hGaWVsZD0iSW5uZXJT dGF0dXNDb2RlU3BlY2lmaWVkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5uZXJEaWFnbm9z dGljSW5mbyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBTd2l0Y2hGaWVsZD0iSW5uZXJE aWFnbm9zdGljSW5mb1NwZWNpZmllZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJRdWFsaWZpZWROYW1lIj4NCiAgICA8b3BjOkRvY3Vt ZW50YXRpb24+QSBzdHJpbmcgcXVhbGlmaWVkIHdpdGggYSBuYW1lc3BhY2UgaW5kZXguPC9vcGM6 RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWVzcGFjZUluZGV4IiBUeXBl TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmFtZSIgVHlwZU5hbWU9 Im9wYzpDaGFyQXJyYXkiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry dWN0dXJlZFR5cGUgTmFtZT0iTG9jYWxpemVkVGV4dCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u PkEgc3RyaW5nIHF1YWxpZmllZCB3aXRoIGEgbmFtZXNwYWNlIGluZGV4Ljwvb3BjOkRvY3VtZW50 YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMb2NhbGVTcGVjaWZpZWQiIFR5cGVOYW1lPSJv cGM6Qml0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGV4dFNwZWNpZmllZCIgVHlwZU5hbWU9 Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNlcnZlZDEiIFR5cGVOYW1lPSJv cGM6Qml0IiBMZW5ndGg9IjYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMb2NhbGUiIFR5cGVO YW1lPSJvcGM6Q2hhckFycmF5IiBTd2l0Y2hGaWVsZD0iTG9jYWxlU3BlY2lmaWVkIiAvPg0KICAg IDxvcGM6RmllbGQgTmFtZT0iVGV4dCIgVHlwZU5hbWU9Im9wYzpDaGFyQXJyYXkiIFN3aXRjaEZp ZWxkPSJUZXh0U3BlY2lmaWVkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj OlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFWYWx1ZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u PkEgdmFsdWUgd2l0aCBhbiBhc3NvY2lhdGVkIHRpbWVzdGFtcCwgYW5kIHF1YWxpdHkuPC9vcGM6 RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlU3BlY2lmaWVkIiBUeXBl TmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGVTcGVjaWZp ZWQiIFR5cGVOYW1lPSJvcGM6Qml0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU291cmNlVGlt ZXN0YW1wU3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5h bWU9IlNvdXJjZVBpY29zZWNvbmRzU3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAg ICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclRpbWVzdGFtcFNwZWNpZmllZCIgVHlwZU5hbWU9Im9w YzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJQaWNvc2Vjb25kc1NwZWNpZmll ZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNlcnZlZDEi IFR5cGVOYW1lPSJvcGM6Qml0IiBMZW5ndGg9IjIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJW YWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIFN3aXRjaEZpZWxkPSJWYWx1ZVNwZWNpZmllZCIg Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXND b2RlIiBTd2l0Y2hGaWVsZD0iU3RhdHVzQ29kZVNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxk IE5hbWU9IlNvdXJjZVRpbWVzdGFtcCIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgU3dpdGNoRmll bGQ9IlNvdXJjZVRpbWVzdGFtcFNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNv dXJjZVBpY29zZWNvbmRzIiBUeXBlTmFtZT0ib3BjOlVJbnQxNiIgU3dpdGNoRmllbGQ9IlNvdXJj ZVBpY29zZWNvbmRzU3BlY2lmaWVkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyVGlt ZXN0YW1wIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiBTd2l0Y2hGaWVsZD0iU2VydmVyVGltZXN0 YW1wU3BlY2lmaWVkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyUGljb3NlY29uZHMi IFR5cGVOYW1lPSJvcGM6VUludDE2IiBTd2l0Y2hGaWVsZD0iU2VydmVyUGljb3NlY29uZHNTcGVj aWZpZWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 cGUgTmFtZT0iRXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBzZXJp YWxpemVkIG9iamVjdCBwcmVmaXhlZCB3aXRoIGl0cyBkYXRhIHR5cGUgaWRlbnRpZmllci48L29w YzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHlwZUlkU3BlY2lmaWVkIiBU eXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJpbmFyeUJvZHkiIFR5 cGVOYW1lPSJvcGM6Qml0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iWG1sQm9keSIgVHlwZU5h bWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNlcnZlZDEiIFR5cGVOYW1l PSJvcGM6Qml0IiBMZW5ndGg9IjUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUeXBlSWQiIFR5 cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgU3dpdGNoRmllbGQ9IlR5cGVJZFNwZWNpZmllZCIg Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJvZHlMZW5ndGgiIFR5cGVOYW1lPSJvcGM6SW50MzIi IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCb2R5IiBUeXBlTmFtZT0ib3BjOkJ5dGUiIExlbmd0 aEZpZWxkPSJCb2R5TGVuZ3RoIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj OlN0cnVjdHVyZWRUeXBlIE5hbWU9IlZhcmlhbnQiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5B IHVuaW9uIG9mIHNldmVyYWwgdHlwZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZp ZWxkIE5hbWU9IlZhcmlhbnRUeXBlIiBUeXBlTmFtZT0ib3BjOkJpdCIgTGVuZ3RoPSI2IiAvPg0K ICAgIDxvcGM6RmllbGQgTmFtZT0iQXJyYXlEaW1lbnNpb25zU3BlY2lmaWVkIiBUeXBlTmFtZT0i b3BjOkJpdCIgTGVuZ3RoPSIxIi8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBcnJheUxlbmd0aFNw ZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIExlbmd0aD0iMSIvPg0KICAgIDxvcGM6RmllbGQg TmFtZT0iQXJyYXlMZW5ndGgiIFR5cGVOYW1lPSJvcGM6SW50MzIiIFN3aXRjaEZpZWxkPSJBcnJh eUxlbmd0aFNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJvb2xlYW4iIFR5cGVO YW1lPSJvcGM6Qm9vbGVhbiIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0i VmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU0J5 dGUiIFR5cGVOYW1lPSJvcGM6U0J5dGUiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNo RmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h bWU9IkJ5dGUiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBT d2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iSW50MTYiIFR5cGVOYW1lPSJvcGM6SW50MTYiIExlbmd0aEZpZWxkPSJBcnJheUxl bmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iNCIgLz4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9IlVJbnQxNiIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIExlbmd0aEZpZWxk PSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iNSIg Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkludDMyIiBUeXBlTmFtZT0ib3BjOkludDMyIiBMZW5n dGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFs dWU9IjYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVSW50MzIiIFR5cGVOYW1lPSJvcGM6VUlu dDMyIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIg U3dpdGNoVmFsdWU9IjciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbnQ2NCIgVHlwZU5hbWU9 Im9wYzpJbnQ2NCIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFu dFR5cGUiIFN3aXRjaFZhbHVlPSI4IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVUludDY0IiBU eXBlTmFtZT0ib3BjOlVJbnQ2NCIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVs ZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSI5IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i RmxvYXQiIFR5cGVOYW1lPSJvcGM6RmxvYXQiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dp dGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iMTAiIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJEb3VibGUiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiBMZW5ndGhGaWVsZD0iQXJyYXlM ZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjExIiAvPg0KICAg IDxvcGM6RmllbGQgTmFtZT0iU3RyaW5nIiBUeXBlTmFtZT0ib3BjOkNoYXJBcnJheSIgTGVuZ3Ro RmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVl PSIxMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGVUaW1lIiBUeXBlTmFtZT0ib3BjOkRh dGVUaW1lIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlw ZSIgU3dpdGNoVmFsdWU9IjEzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iR3VpZCIgVHlwZU5h bWU9Im9wYzpHdWlkIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJp YW50VHlwZSIgU3dpdGNoVmFsdWU9IjE0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnl0ZVN0 cmluZyIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgi IFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjE1IiAvPg0KICAgIDxvcGM6 RmllbGQgTmFtZT0iWG1sRWxlbWVudCIgVHlwZU5hbWU9InVhOlhtbEVsZW1lbnQiIExlbmd0aEZp ZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0i MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQi IExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0 Y2hWYWx1ZT0iMTciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFeHBhbmRlZE5vZGVJZCIgVHlw ZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRj aEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjE4IiAvPg0KICAgIDxvcGM6RmllbGQg TmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJB cnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iMTkiIC8+ DQogICAgPG9wYzpGaWVsZCBOYW1lPSJRdWFsaWZpZWROYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlm aWVkTmFtZSIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5 cGUiIFN3aXRjaFZhbHVlPSIyMCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsaXplZFRl eHQiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgi IFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjIxIiAvPg0KICAgIDxvcGM6 RmllbGQgTmFtZT0iRXh0ZW5zaW9uT2JqZWN0IiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0 IiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dp dGNoVmFsdWU9IjIyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVZhbHVlIiBUeXBlTmFt ZT0idWE6RGF0YVZhbHVlIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJW YXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjIzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFy aWFudCIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dp dGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iMjQiIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJEaWFnbm9zdGljSW5mbyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5n dGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFs dWU9IjI1IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkFycmF5RGltZW5zaW9ucyIgVHlw ZU5hbWU9Im9wYzpJbnQzMiIgU3dpdGNoRmllbGQ9IkFycmF5RGltZW5zaW9uc1NwZWNpZmllZCIg Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpJ bnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIFN3aXRjaEZpZWxkPSJBcnJh eURpbWVuc2lvbnNTcGVjaWZpZWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv cGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iTmFtaW5nUnVsZVR5cGUiIExlbmd0aEluQml0cz0iMzIi Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik1hbmRhdG9yeSIgVmFsdWU9IjEiIC8+ DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iT3B0aW9uYWwiIFZhbHVlPSIyIiAvPg0K ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkNvbnN0cmFpbnQiIFZhbHVlPSIzIiAvPg0K ICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCiAgICANCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0i SW1hZ2VCTVAiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BbiBpbWFnZSBlbmNvZGVkIGluIEJN UCBmb3JtYXQuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8 b3BjOk9wYXF1ZVR5cGUgTmFtZT0iSW1hZ2VHSUYiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5B biBpbWFnZSBlbmNvZGVkIGluIEdJRiBmb3JtYXQuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9v cGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iSW1hZ2VKUEciPg0KICAg IDxvcGM6RG9jdW1lbnRhdGlvbj5BbiBpbWFnZSBlbmNvZGVkIGluIEpQRUcgZm9ybWF0Ljwvb3Bj OkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBl IE5hbWU9IkltYWdlUE5HIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QW4gaW1hZ2UgZW5jb2Rl ZCBpbiBQTkcgZm9ybWF0Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+ DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkJpdEZpZWxkTWFza0RhdGFUeXBlIj4NCiAgICA8 b3BjOkRvY3VtZW50YXRpb24+QSBtYXNrIG9mIDMyIGJpdHMgdGhhdCBjYW4gYmUgdXBkYXRlZCBp bmRpdmlkdWFsbHkgYnkgdXNpbmcgdGhlIHRvcCAzMiBiaXRzIGFzIGEgbWFzay48L29wYzpEb2N1 bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUg TmFtZT0iT3BlbkZpbGVNb2RlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0 ZWRWYWx1ZSBOYW1lPSJSZWFkIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 ZSBOYW1lPSJXcml0ZSIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt ZT0iRXJhc2VFeGlzdGluZyIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg TmFtZT0iQXBwZW5kIiBWYWx1ZT0iOCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAg PG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJUcnVzdExpc3RNYXNrcyIgTGVuZ3RoSW5CaXRzPSIz MiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQog ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVHJ1c3RlZENlcnRpZmljYXRlcyIgVmFsdWU9 IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVHJ1c3RlZENybHMiIFZhbHVl PSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Iklzc3VlckNlcnRpZmljYXRl cyIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSXNzdWVyQ3Js cyIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQWxsIiBWYWx1 ZT0iMTUiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 cGUgTmFtZT0iVHJ1c3RMaXN0RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3BlY2lmaWVkTGlzdHMiIFR5cGVOYW1lPSJvcGM6VUlu dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlRydXN0ZWRDZXJ0aWZpY2F0ZXMiIFR5 cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcnVzdGVkQ2VydGlm aWNhdGVzIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mVHJ1c3Rl ZENlcnRpZmljYXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZUcnVzdGVkQ3JscyIg VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRydXN0ZWRDcmxz IiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mVHJ1c3RlZENybHMi IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mSXNzdWVyQ2VydGlmaWNhdGVzIiBUeXBlTmFt ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNzdWVyQ2VydGlmaWNhdGVz IiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mSXNzdWVyQ2VydGlm aWNhdGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZklzc3VlckNybHMiIFR5cGVOYW1l PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc3N1ZXJDcmxzIiBUeXBlTmFt ZT0ib3BjOkJ5dGVTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mSXNzdWVyQ3JscyIgLz4NCiAgPC9v cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJJZFR5cGUi IExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgdHlwZSBvZiBp ZGVudGlmaWVyIHVzZWQgaW4gYSBub2RlIGlkLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9w YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTnVtZXJpYyIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpF bnVtZXJhdGVkVmFsdWUgTmFtZT0iU3RyaW5nIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1l cmF0ZWRWYWx1ZSBOYW1lPSJHdWlkIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW YWx1ZSBOYW1lPSJPcGFxdWUiIFZhbHVlPSIzIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4N Cg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9Ik5vZGVDbGFzcyIgTGVuZ3RoSW5CaXRzPSIz MiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgbWFzayBzcGVjaWZ5aW5nIHRoZSBjbGFzcyBv ZiB0aGUgbm9kZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl IE5hbWU9IlVuc3BlY2lmaWVkIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 ZSBOYW1lPSJPYmplY3QiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h bWU9IlZhcmlhYmxlIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l PSJNZXRob2QiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik9i amVjdFR5cGUiIFZhbHVlPSI4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZh cmlhYmxlVHlwZSIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 IlJlZmVyZW5jZVR5cGUiIFZhbHVlPSIzMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO YW1lPSJEYXRhVHlwZSIgVmFsdWU9IjY0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h bWU9IlZpZXciIFZhbHVlPSIxMjgiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxv cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTm9kZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj dCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0aGUgYXR0cmlidXRlcyB3aGlj aCBiZWxvbmcgdG8gYWxsIG5vZGVzLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNzIiAvPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIC8+DQogICAg PG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQi IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2Fs aXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJv cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5h bWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlcyIg VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXMi IFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlTm9kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2Vz IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h bWU9Ikluc3RhbmNlTm9kZSIgQmFzZVR5cGU9InRuczpOb2RlIj4NCiAgICA8b3BjOkZpZWxkIE5h bWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+ DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNz IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5h bWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4N CiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVk VGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNj cmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2Rl IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQz MiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3Jp dGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQog ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJ0bnM6UmVmZXJl bmNlTm9kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2VzIiAvPg0KICA8L29wYzpTdHJ1Y3R1 cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlR5cGVOb2RlIiBCYXNlVHlw ZT0idG5zOk5vZGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6 Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v ZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAv Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmll ZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlz cGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9k ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9j YWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l PSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIg Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUlu dDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZS ZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i UmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9P ZlJlZmVyZW5jZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 dXJlZFR5cGUgTmFtZT0iT2JqZWN0Tm9kZSIgQmFzZVR5cGU9InRuczpJbnN0YW5jZU5vZGUiPg0K ICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVs b25nIHRvIG9iamVjdCBub2Rlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQg TmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIg Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xh c3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3Nl TmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAv Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6 ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRl c2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5v ZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUlu dDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJX cml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4N CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMy IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZl cmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJFdmVudE5vdGlmaWVyIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3BjOlN0 cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iT2JqZWN0VHlwZU5v ZGUiIEJhc2VUeXBlPSJ0bnM6VHlwZU5vZGUiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5TcGVj aWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRvIG9iamVjdCB0eXBlIG5vZGVzLjwv b3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1l PSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt ZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgU291cmNlVHlwZT0idG5zOk5v ZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVh bGlmaWVkTmFtZSIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l PSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRu czpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1 YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxk IE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpO b2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9w YzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i Tm9PZlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJSZWZlcmVuY2VzIiBUeXBlTmFtZT0idG5zOlJlZmVyZW5jZU5vZGUiIExlbmd0aEZpZWxk PSJOb09mUmVmZXJlbmNlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5 cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJWYXJpYWJsZU5vZGUiIEJhc2VUeXBlPSJ0bnM6SW5zdGFu Y2VOb2RlIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+U3BlY2lmaWVzIHRoZSBhdHRyaWJ1dGVz IHdoaWNoIGJlbG9uZyB0byB2YXJpYWJsZSBub2Rlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAg IDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBl PSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9 InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQg TmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9 InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1l PSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZp ZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNl VHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVO YW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxk IE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0 bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFt ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5h bWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQog ICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogICAg PG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9IlZhbHVlUmFuayIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIi IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6 VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkFycmF5RGltZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZp ZWxkIE5hbWU9IkFjY2Vzc0xldmVsIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpG aWVsZCBOYW1lPSJVc2VyQWNjZXNzTGV2ZWwiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9Ik1pbmltdW1TYW1wbGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRv dWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikhpc3Rvcml6aW5nIiBUeXBlTmFtZT0ib3Bj OkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl ZFR5cGUgTmFtZT0iVmFyaWFibGVUeXBlTm9kZSIgQmFzZVR5cGU9InRuczpUeXBlTm9kZSI+DQog ICAgPG9wYzpEb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBiZWxv bmcgdG8gdmFyaWFibGUgdHlwZSBub2Rlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6 RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6 Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpO b2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i QnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9InRuczpO b2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpM b2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h bWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0i dG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJv cGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9k ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3Bj OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRu czpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogICAgPG9w YzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogICAgPG9wYzpG aWVsZCBOYW1lPSJEYXRhVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZp ZWxkIE5hbWU9IlZhbHVlUmFuayIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp ZWxkIE5hbWU9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog ICAgPG9wYzpGaWVsZCBOYW1lPSJBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6VUludDMy IiBMZW5ndGhGaWVsZD0iTm9PZkFycmF5RGltZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h bWU9IklzQWJzdHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0 dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWZlcmVuY2VUeXBlTm9k ZSIgQmFzZVR5cGU9InRuczpUeXBlTm9kZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlNwZWNp ZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gcmVmZXJlbmNlIHR5cGUgbm9kZXMu PC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5h bWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNzIiBTb3VyY2VUeXBlPSJ0bnM6 Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5hbWUiIFR5cGVOYW1lPSJ1YTpR dWFsaWZpZWROYW1lIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h bWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0i dG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9 InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5z Ok5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0i b3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l PSJOb09mUmVmZXJlbmNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk IE5hbWU9IlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlTm9kZSIgTGVuZ3RoRmll bGQ9Ik5vT2ZSZWZlcmVuY2VzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNBYnN0cmFjdCIg VHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3ltbWV0cmlj IiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbnZlcnNl TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTWV0aG9kTm9kZSIgQmFzZVR5cGU9 InRuczpJbnN0YW5jZU5vZGUiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhl IGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRvIG1ldGhvZCBub2Rlcy48L29wYzpEb2N1bWVudGF0 aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBT b3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIg VHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxv cGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNv dXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUi IFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAg ICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4 dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1h c2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3Vy Y2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2Vz IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNl cyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5j ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFeGVjdXRhYmxlIiBUeXBlTmFtZT0ib3BjOkJv b2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyRXhlY3V0YWJsZSIgVHlwZU5hbWU9 Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj dHVyZWRUeXBlIE5hbWU9IlZpZXdOb2RlIiBCYXNlVHlwZT0idG5zOkluc3RhbmNlTm9kZSI+DQog ICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5 cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFt ZT0idG5zOk5vZGVDbGFzcyIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgU291cmNlVHlw ZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5h bWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6 RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3Vy Y2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlw ZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9 InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVO YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBl TmFtZT0idG5zOlJlZmVyZW5jZU5vZGUiIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlcyIgLz4N CiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbnRhaW5zTm9Mb29wcyIgVHlwZU5hbWU9Im9wYzpCb29s ZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnROb3RpZmllciIgVHlwZU5hbWU9Im9w YzpCeXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU eXBlIE5hbWU9IkRhdGFUeXBlTm9kZSIgQmFzZVR5cGU9InRuczpUeXBlTm9kZSI+DQogICAgPG9w YzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRu czpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5z Ok5vZGVDbGFzcyIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l PSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgU291cmNlVHlwZT0idG5z Ok5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVh OkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQg TmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBl PSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9 Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt ZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpO b2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJv cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBlTmFtZT0i dG5zOlJlZmVyZW5jZU5vZGUiIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlcyIgLz4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAg PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWZl cmVuY2VOb2RlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3Vt ZW50YXRpb24+U3BlY2lmaWVzIGEgcmVmZXJlbmNlIHdoaWNoIGJlbG9uZ3MgdG8gYSBub2RlLjwv b3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBlSWQi IFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0ludmVyc2Ui IFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldElk IiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQXJndW1lbnQiIEJhc2VUeXBlPSJ1YTpF eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BbiBhcmd1bWVudCBmb3Ig YSBtZXRob2QuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUi IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5cGUi IFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZVJhbmsi IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXJyYXlE aW1lbnNpb25zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i QXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZB cnJheURpbWVuc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlw ZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRW51bVZhbHVlVHlwZSIgQmFzZVR5cGU9InVhOkV4 dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgbWFwcGluZyBiZXR3ZWVu IGEgdmFsdWUgb2YgYW4gZW51bWVyYXRlZCB0eXBlIGFuZCBhIG5hbWUgYW5kIGRlc2NyaXB0aW9u Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5h bWU9Im9wYzpJbnQ2NCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBl TmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0 aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJPcHRpb25TZXQiIEJhc2VUeXBlPSJ1 YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGlzIGFic3RyYWN0 IFN0cnVjdHVyZWQgRGF0YVR5cGUgaXMgdGhlIGJhc2UgRGF0YVR5cGUgZm9yIGFsbCBEYXRhVHlw ZXMgcmVwcmVzZW50aW5nIGEgYml0IG1hc2suPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj OkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9w YzpGaWVsZCBOYW1lPSJWYWxpZEJpdHMiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAg PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVbmlv biIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u PlRoaXMgYWJzdHJhY3QgRGF0YVR5cGUgaXMgdGhlIGJhc2UgRGF0YVR5cGUgZm9yIGFsbCB1bmlv biBEYXRhVHlwZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9Ik5vcm1hbGl6ZWRTdHJpbmciPg0KICAgIDxvcGM6 RG9jdW1lbnRhdGlvbj5BIHN0cmluZyBub3JtYWxpemVkIGJhc2VkIG9uIHRoZSBydWxlcyBpbiB0 aGUgdW5pY29kZSBzcGVjaWZpY2F0aW9uLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9w YXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkRlY2ltYWxTdHJpbmciPg0KICAg IDxvcGM6RG9jdW1lbnRhdGlvbj5BbiBhcmJpdHJhdHkgbnVtZXJpYyB2YWx1ZS48L29wYzpEb2N1 bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1l PSJEdXJhdGlvblN0cmluZyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgcGVyaW9kIG9mIHRp bWUgZm9ybWF0dGVkIGFzIGRlZmluZWQgaW4gSVNPIDg2MDEtMjAwMC48L29wYzpEb2N1bWVudGF0 aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJUaW1l U3RyaW5nIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSB0aW1lIGZvcm1hdHRlZCBhcyBkZWZp bmVkIGluIElTTyA4NjAxLTIwMDAuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVl VHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iRGF0ZVN0cmluZyI+DQogICAgPG9wYzpE b2N1bWVudGF0aW9uPkEgZGF0ZSBmb3JtYXR0ZWQgYXMgZGVmaW5lZCBpbiBJU08gODYwMS0yMDAw Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFx dWVUeXBlIE5hbWU9IkR1cmF0aW9uIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBwZXJpb2Qg b2YgdGltZSBtZWFzdXJlZCBpbiBtaWxsaXNlY29uZHMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAg PC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iVXRjVGltZSI+DQog ICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgZGF0ZS90aW1lIHZhbHVlIHNwZWNpZmllZCBpbiBVbml2 ZXJzYWwgQ29vcmRpbmF0ZWQgVGltZSAoVVRDKS48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29w YzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJMb2NhbGVJZCI+DQogICAg PG9wYzpEb2N1bWVudGF0aW9uPkFuIGlkZW50aWZpZXIgZm9yIGEgdXNlciBsb2NhbGUuPC9vcGM6 RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU eXBlIE5hbWU9IlRpbWVab25lRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iT2Zmc2V0IiBUeXBlTmFtZT0ib3BjOkludDE2IiAvPg0K ICAgIDxvcGM6RmllbGQgTmFtZT0iRGF5bGlnaHRTYXZpbmdJbk9mZnNldCIgVHlwZU5hbWU9Im9w YzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5 cGUgTmFtZT0iSW50ZWdlcklkIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBudW1lcmljIGlk ZW50aWZpZXIgZm9yIGFuIG9iamVjdC48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFx dWVUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iQXBwbGljYXRpb25UeXBlIiBM ZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHR5cGVzIG9mIGFw cGxpY2F0aW9ucy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl IE5hbWU9IlNlcnZlciIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt ZT0iQ2xpZW50IiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJD bGllbnRBbmRTZXJ2ZXIiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h bWU9IkRpc2NvdmVyeVNlcnZlciIgVmFsdWU9IjMiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBl Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQXBwbGljYXRpb25EZXNjcmlwdGlvbiIg QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkRl c2NyaWJlcyBhbiBhcHBsaWNhdGlvbiBhbmQgaG93IHRvIGZpbmQgaXQuPC9vcGM6RG9jdW1lbnRh dGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFwcGxpY2F0aW9uVXJpIiBUeXBlTmFtZT0ib3Bj OlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByb2R1Y3RVcmkiIFR5cGVOYW1lPSJv cGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXBwbGljYXRpb25OYW1lIiBUeXBl TmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFwcGxpY2F0 aW9uVHlwZSIgVHlwZU5hbWU9InRuczpBcHBsaWNhdGlvblR5cGUiIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJHYXRld2F5U2VydmVyVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9IkRpc2NvdmVyeVByb2ZpbGVVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5n IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpc2NvdmVyeVVybHMiIFR5cGVOYW1lPSJv cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNjb3ZlcnlVcmxzIiBUeXBlTmFt ZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaXNjb3ZlcnlVcmxzIiAvPg0KICA8L29w YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlcXVlc3RI ZWFkZXIiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRh dGlvbj5UaGUgaGVhZGVyIHBhc3NlZCB3aXRoIGV2ZXJ5IHNlcnZlciByZXF1ZXN0Ljwvb3BjOkRv Y3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdXRoZW50aWNhdGlvblRva2VuIiBU eXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGltZXN0YW1wIiBU eXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhh bmRsZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXR1 cm5EaWFnbm9zdGljcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJBdWRpdEVudHJ5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iVGltZW91dEhpbnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6 RmllbGQgTmFtZT0iQWRkaXRpb25hbEhlYWRlciIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVj dCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO YW1lPSJSZXNwb25zZUhlYWRlciIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg PG9wYzpEb2N1bWVudGF0aW9uPlRoZSBoZWFkZXIgcGFzc2VkIHdpdGggZXZlcnkgc2VydmVyIHJl c3BvbnNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaW1lc3Rh bXAiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 ZXN0SGFuZGxlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 IlNlcnZpY2VSZXN1bHQiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iU2VydmljZURpYWdub3N0aWNzIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8i IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU3RyaW5nVGFibGUiIFR5cGVOYW1lPSJvcGM6 SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdHJpbmdUYWJsZSIgVHlwZU5hbWU9Im9w YzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mU3RyaW5nVGFibGUiIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJBZGRpdGlvbmFsSGVhZGVyIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAv Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 IlNlcnZpY2VGYXVsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpE b2N1bWVudGF0aW9uPlRoZSByZXNwb25zZSByZXR1cm5lZCBieSBhbGwgc2VydmljZXMgd2hlbiB0 aGVyZSBpcyBhIHNlcnZpY2UgbGV2ZWwgZXJyb3IuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVh ZGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl IE5hbWU9IkZpbmRTZXJ2ZXJzUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkZpbmRzIHRoZSBzZXJ2ZXJzIGtub3duIHRvIHRoZSBk aXNjb3Zlcnkgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1l PSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9w YzpGaWVsZCBOYW1lPSJFbmRwb2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAg PG9wYzpGaWVsZCBOYW1lPSJOb09mTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K ICAgIDxvcGM6RmllbGQgTmFtZT0iTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVu Z3RoRmllbGQ9Ik5vT2ZMb2NhbGVJZHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2Vy dmVyVXJpcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNl cnZlclVyaXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlclVy aXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg TmFtZT0iRmluZFNlcnZlcnNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkZpbmRzIHRoZSBzZXJ2ZXJzIGtub3duIHRvIHRoZSBk aXNjb3Zlcnkgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1l PSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg IDxvcGM6RmllbGQgTmFtZT0iU2VydmVycyIgVHlwZU5hbWU9InRuczpBcHBsaWNhdGlvbkRlc2Ny aXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlcnMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2VydmVyT25OZXR3b3JrIiBCYXNl VHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlY29yZElk IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlck5h bWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzY292 ZXJ5VXJsIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v T2ZTZXJ2ZXJDYXBhYmlsaXRpZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG aWVsZCBOYW1lPSJTZXJ2ZXJDYXBhYmlsaXRpZXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5n dGhGaWVsZD0iTm9PZlNlcnZlckNhcGFiaWxpdGllcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJGaW5kU2VydmVyc09uTmV0d29ya1Jl cXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt ZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxv cGM6RmllbGQgTmFtZT0iU3RhcnRpbmdSZWNvcmRJZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhSZWNvcmRzVG9SZXR1cm4iIFR5cGVOYW1lPSJvcGM6 VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlcnZlckNhcGFiaWxpdHlGaWx0 ZXIiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJD YXBhYmlsaXR5RmlsdGVyIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZT ZXJ2ZXJDYXBhYmlsaXR5RmlsdGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVzcG9uc2UiIEJh c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9u c2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJMYXN0Q291bnRlclJlc2V0VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4N CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVycyIgVHlwZU5hbWU9InRuczpTZXJ2ZXJPbk5l dHdvcmsiIExlbmd0aEZpZWxkPSJOb09mU2VydmVycyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkFwcGxpY2F0aW9uSW5zdGFuY2VDZXJ0aWZp Y2F0ZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgY2VydGlmaWNhdGUgZm9yIGFuIGluc3Rh bmNlIG9mIGFuIGFwcGxpY2F0aW9uLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1 ZVR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJNZXNzYWdlU2VjdXJpdHlNb2Rl IiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHR5cGUgb2Yg c2VjdXJpdHkgdG8gdXNlIG9uIGEgbWVzc2FnZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxv cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkludmFsaWQiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6 RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVy YXRlZFZhbHVlIE5hbWU9IlNpZ24iIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh bHVlIE5hbWU9IlNpZ25BbmRFbmNyeXB0IiBWYWx1ZT0iMyIgLz4NCiAgPC9vcGM6RW51bWVyYXRl ZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJVc2VyVG9rZW5UeXBlIiBMZW5n dGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHBvc3NpYmxlIHVzZXIg dG9rZW4gdHlwZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 ZSBOYW1lPSJBbm9ueW1vdXMiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl IE5hbWU9IlVzZXJOYW1lIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO YW1lPSJDZXJ0aWZpY2F0ZSIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg TmFtZT0iSXNzdWVkVG9rZW4iIFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl IE5hbWU9IktlcmJlcm9zIiBWYWx1ZT0iNCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoN CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVc2VyVG9rZW5Qb2xpY3kiIEJhc2VUeXBlPSJ1 YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5EZXNjcmliZXMgYSB1 c2VyIHRva2VuIHRoYXQgY2FuIGJlIHVzZWQgd2l0aCBhIHNlcnZlci48L29wYzpEb2N1bWVudGF0 aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUG9saWN5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5n IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVG9rZW5UeXBlIiBUeXBlTmFtZT0idG5zOlVzZXJU b2tlblR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc3N1ZWRUb2tlblR5cGUiIFR5cGVO YW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNzdWVyRW5kcG9pbnRV cmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJp dHlQb2xpY3lVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkVuZHBvaW50RGVzY3JpcHRpb24i IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5U aGUgZGVzY3JpcHRpb24gb2YgYSBlbmRwb2ludCB0aGF0IGNhbiBiZSB1c2VkIHRvIGFjY2VzcyBh IHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kcG9p bnRVcmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vy dmVyIiBUeXBlTmFtZT0idG5zOkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpG aWVsZCBOYW1lPSJTZXJ2ZXJDZXJ0aWZpY2F0ZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAv Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlNb2RlIiBUeXBlTmFtZT0idG5zOk1lc3Nh Z2VTZWN1cml0eU1vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eVBvbGljeVVy aSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVXNl cklkZW50aXR5VG9rZW5zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg TmFtZT0iVXNlcklkZW50aXR5VG9rZW5zIiBUeXBlTmFtZT0idG5zOlVzZXJUb2tlblBvbGljeSIg TGVuZ3RoRmllbGQ9Ik5vT2ZVc2VySWRlbnRpdHlUb2tlbnMiIC8+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJUcmFuc3BvcnRQcm9maWxlVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TGV2ZWwiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAg PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJHZXRF bmRwb2ludHNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj OkRvY3VtZW50YXRpb24+R2V0cyB0aGUgZW5kcG9pbnRzIHVzZWQgYnkgdGhlIHNlcnZlci48L29w YzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlw ZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kcG9p bnRVcmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P ZkxvY2FsZUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 IkxvY2FsZUlkcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mTG9jYWxl SWRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlByb2ZpbGVVcmlzIiBUeXBlTmFtZT0i b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJvZmlsZVVyaXMiIFR5cGVOYW1l PSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlByb2ZpbGVVcmlzIiAvPg0KICA8L29wYzpT dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkdldEVuZHBvaW50 c1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3Vt ZW50YXRpb24+R2V0cyB0aGUgZW5kcG9pbnRzIHVzZWQgYnkgdGhlIHNlcnZlci48L29wYzpEb2N1 bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1l PSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRW5kcG9p bnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kcG9p bnRzIiBUeXBlTmFtZT0idG5zOkVuZHBvaW50RGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09m RW5kcG9pbnRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy ZWRUeXBlIE5hbWU9IlJlZ2lzdGVyZWRTZXJ2ZXIiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl Y3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgaW5mb3JtYXRpb24gcmVxdWlyZWQgdG8g cmVnaXN0ZXIgYSBzZXJ2ZXIgd2l0aCBhIGRpc2NvdmVyeSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRh dGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclVyaSIgVHlwZU5hbWU9Im9wYzpTdHJp bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcm9kdWN0VXJpIiBUeXBlTmFtZT0ib3BjOlN0 cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJOYW1lcyIgVHlwZU5hbWU9 Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlck5hbWVzIiBUeXBlTmFt ZT0idWE6TG9jYWxpemVkVGV4dCIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJOYW1lcyIgLz4NCiAg ICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclR5cGUiIFR5cGVOYW1lPSJ0bnM6QXBwbGljYXRpb25U eXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iR2F0ZXdheVNlcnZlclVyaSIgVHlwZU5hbWU9 Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlzY292ZXJ5VXJscyIg VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2NvdmVyeVVy bHMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZkRpc2NvdmVyeVVybHMi IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZW1hcGhvcmVGaWxlUGF0aCIgVHlwZU5hbWU9Im9w YzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc09ubGluZSIgVHlwZU5hbWU9Im9w YzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy ZWRUeXBlIE5hbWU9IlJlZ2lzdGVyU2VydmVyUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lv bk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlJlZ2lzdGVycyBhIHNlcnZlciB3aXRo IHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQog ICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXIiIFR5cGVOYW1lPSJ0bnM6UmVnaXN0ZXJlZFNlcnZl ciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO YW1lPSJSZWdpc3RlclNlcnZlclJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+UmVnaXN0ZXJzIGEgc2VydmVyIHdpdGggdGhlIGRp c2NvdmVyeSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICA8L29w YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRpc2NvdmVy eUNvbmZpZ3VyYXRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 RG9jdW1lbnRhdGlvbj5BIGJhc2UgdHlwZSBmb3IgZGlzY292ZXJ5IGNvbmZpZ3VyYXRpb24gaW5m b3JtYXRpb24uPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNZG5zRGlzY292ZXJ5Q29uZmlndXJhdGlvbiIg QmFzZVR5cGU9InRuczpEaXNjb3ZlcnlDb25maWd1cmF0aW9uIj4NCiAgICA8b3BjOkRvY3VtZW50 YXRpb24+VGhlIGRpc2NvdmVyeSBpbmZvcm1hdGlvbiBuZWVkZWQgZm9yIG1ETlMgcmVnaXN0cmF0 aW9uLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZG5zU2VydmVy TmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m U2VydmVyQ2FwYWJpbGl0aWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iU2VydmVyQ2FwYWJpbGl0aWVzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3Ro RmllbGQ9Ik5vT2ZTZXJ2ZXJDYXBhYmlsaXRpZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVnaXN0ZXJTZXJ2ZXIyUmVxdWVzdCIg QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJTZXJ2ZXIiIFR5cGVOYW1lPSJ0bnM6UmVnaXN0ZXJlZFNlcnZlciIgLz4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiBUeXBlTmFtZT0ib3Bj OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzY292ZXJ5Q29uZmlndXJhdGlvbiIg VHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaXNjb3ZlcnlD b25maWd1cmF0aW9uIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj dHVyZWRUeXBlIE5hbWU9IlJlZ2lzdGVyU2VydmVyMlJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0 ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBl TmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkNv bmZpZ3VyYXRpb25SZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iQ29uZmlndXJhdGlvblJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBM ZW5ndGhGaWVsZD0iTm9PZkNvbmZpZ3VyYXRpb25SZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQg TmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJ bmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0 dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJTZWN1cml0eVRva2VuUmVx dWVzdFR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5JbmRp Y2F0ZXMgd2hldGhlciBhIHRva2VuIGlmIGJlaW5nIGNyZWF0ZWQgb3IgcmVuZXdlZC48L29wYzpE b2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Iklzc3VlIiBWYWx1 ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZW5ldyIgVmFsdWU9IjEi IC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt ZT0iQ2hhbm5lbFNlY3VyaXR5VG9rZW4iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K ICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgdG9rZW4gdGhhdCBpZGVudGlmaWVzIGEgc2V0IG9m IGtleXMgZm9yIGFuIGFjdGl2ZSBzZWN1cmUgY2hhbm5lbC48L29wYzpEb2N1bWVudGF0aW9uPg0K ICAgIDxvcGM6RmllbGQgTmFtZT0iQ2hhbm5lbElkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N CiAgICA8b3BjOkZpZWxkIE5hbWU9IlRva2VuSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K ICAgIDxvcGM6RmllbGQgTmFtZT0iQ3JlYXRlZEF0IiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAv Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZExpZmV0aW1lIiBUeXBlTmFtZT0ib3BjOlVJ bnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw ZSBOYW1lPSJPcGVuU2VjdXJlQ2hhbm5lbFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P YmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5DcmVhdGVzIGEgc2VjdXJlIGNoYW5uZWwg d2l0aCBhIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i UmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6 RmllbGQgTmFtZT0iQ2xpZW50UHJvdG9jb2xWZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RUeXBlIiBUeXBlTmFtZT0idG5zOlNlY3Vy aXR5VG9rZW5SZXF1ZXN0VHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TW9k ZSIgVHlwZU5hbWU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiAvPg0KICAgIDxvcGM6RmllbGQg TmFtZT0iQ2xpZW50Tm9uY2UiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3Bj OkZpZWxkIE5hbWU9IlJlcXVlc3RlZExpZmV0aW1lIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJP cGVuU2VjdXJlQ2hhbm5lbFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N CiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q3JlYXRlcyBhIHNlY3VyZSBjaGFubmVsIHdpdGggYSBz ZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNl SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQg TmFtZT0iU2VydmVyUHJvdG9jb2xWZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAg ICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5VG9rZW4iIFR5cGVOYW1lPSJ0bnM6Q2hhbm5lbFNl Y3VyaXR5VG9rZW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJOb25jZSIgVHlwZU5h bWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj OlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNsb3NlU2VjdXJlQ2hhbm5lbFJlcXVlc3QiIEJhc2VUeXBl PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5DbG9zZXMgYSBz ZWN1cmUgY2hhbm5lbC48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i UmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICA8L29wYzpT dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNsb3NlU2VjdXJl Q2hhbm5lbFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj OkRvY3VtZW50YXRpb24+Q2xvc2VzIGEgc2VjdXJlIGNoYW5uZWwuPC9vcGM6RG9jdW1lbnRhdGlv bj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJl c3BvbnNlSGVhZGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj dHVyZWRUeXBlIE5hbWU9IlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiIEJhc2VUeXBlPSJ1YTpF eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHNvZnR3YXJlIGNlcnRp ZmljYXRlIHdpdGggYSBkaWdpdGFsIHNpZ25hdHVyZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAg IDxvcGM6RmllbGQgTmFtZT0iQ2VydGlmaWNhdGVEYXRhIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJp bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTaWduYXR1cmUiIFR5cGVOYW1lPSJvcGM6Qnl0 ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBl IE5hbWU9IlNlc3Npb25BdXRoZW50aWNhdGlvblRva2VuIj4NCiAgICA8b3BjOkRvY3VtZW50YXRp b24+QSB1bmlxdWUgaWRlbnRpZmllciBmb3IgYSBzZXNzaW9uIHVzZWQgdG8gYXV0aGVudGljYXRl IHJlcXVlc3RzLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAg PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTaWduYXR1cmVEYXRhIiBCYXNlVHlwZT0idWE6RXh0 ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBkaWdpdGFsIHNpZ25hdHVy ZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWxnb3JpdGhtIiBU eXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNpZ25hdHVyZSIg VHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNyZWF0ZVNlc3Npb25SZXF1ZXN0IiBCYXNlVHlw ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q3JlYXRlcyBh IG5ldyBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxv cGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVy IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50RGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ0 bnM6QXBwbGljYXRpb25EZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZl clVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRw b2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT ZXNzaW9uTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l PSJDbGllbnROb25jZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iQ2xpZW50Q2VydGlmaWNhdGUiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4N CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZFNlc3Npb25UaW1lb3V0IiBUeXBlTmFtZT0i b3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heFJlc3BvbnNlTWVzc2FnZVNp emUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNyZWF0ZVNlc3Npb25SZXNwb25zZSIgQmFzZVR5 cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkNyZWF0ZXMg YSBuZXcgc2Vzc2lvbiB3aXRoIHRoZSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVh ZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6Tm9k ZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXV0aGVudGljYXRpb25Ub2tlbiIgVHlwZU5h bWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRTZXNzaW9uVGlt ZW91dCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2 ZXJOb25jZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt ZT0iU2VydmVyQ2VydGlmaWNhdGUiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJFbmRwb2ludHMiIFR5cGVOYW1lPSJvcGM6SW50MzIi IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJFbmRwb2ludHMiIFR5cGVOYW1lPSJ0bnM6 RW5kcG9pbnREZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJFbmRwb2ludHMiIC8+ DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VydmVyU29mdHdhcmVDZXJ0aWZpY2F0ZXMiIFR5 cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJTb2Z0d2Fy ZUNlcnRpZmljYXRlcyIgVHlwZU5hbWU9InRuczpTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiBM ZW5ndGhGaWVsZD0iTm9PZlNlcnZlclNvZnR3YXJlQ2VydGlmaWNhdGVzIiAvPg0KICAgIDxvcGM6 RmllbGQgTmFtZT0iU2VydmVyU2lnbmF0dXJlIiBUeXBlTmFtZT0idG5zOlNpZ25hdHVyZURhdGEi IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhSZXF1ZXN0TWVzc2FnZVNpemUiIFR5cGVOYW1l PSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj dHVyZWRUeXBlIE5hbWU9IlVzZXJJZGVudGl0eVRva2VuIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u T2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBiYXNlIHR5cGUgZm9yIGEgdXNlciBp ZGVudGl0eSB0b2tlbi48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i UG9saWN5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFub255bW91c0lkZW50aXR5VG9rZW4i IEJhc2VUeXBlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlv bj5BIHRva2VuIHJlcHJlc2VudGluZyBhbiBhbm9ueW1vdXMgdXNlci48L29wYzpEb2N1bWVudGF0 aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUG9saWN5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5n IiBTb3VyY2VUeXBlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iIC8+DQogIDwvb3BjOlN0cnVjdHVy ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVXNlck5hbWVJZGVudGl0eVRv a2VuIiBCYXNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIj4NCiAgICA8b3BjOkRvY3VtZW50 YXRpb24+QSB0b2tlbiByZXByZXNlbnRpbmcgYSB1c2VyIGlkZW50aWZpZWQgYnkgYSB1c2VyIG5h bWUgYW5kIHBhc3N3b3JkLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1l PSJQb2xpY3lJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIFNvdXJjZVR5cGU9InRuczpVc2VySWRl bnRpdHlUb2tlbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJOYW1lIiBUeXBlTmFtZT0i b3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBhc3N3b3JkIiBUeXBlTmFtZT0i b3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmNyeXB0aW9uQWxnb3Jp dGhtIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJYNTA5SWRlbnRpdHlUb2tlbiIgQmFzZVR5cGU9 InRuczpVc2VySWRlbnRpdHlUb2tlbiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgdG9rZW4g cmVwcmVzZW50aW5nIGEgdXNlciBpZGVudGlmaWVkIGJ5IGFuIFg1MDkgY2VydGlmaWNhdGUuPC9v cGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBvbGljeUlkIiBUeXBlTmFt ZT0ib3BjOlN0cmluZyIgU291cmNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIiAvPg0KICAg IDxvcGM6RmllbGQgTmFtZT0iQ2VydGlmaWNhdGVEYXRhIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJp bmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg TmFtZT0iS2VyYmVyb3NJZGVudGl0eVRva2VuIiBCYXNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRv a2VuIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBvbGljeUlkIiBUeXBlTmFtZT0ib3BjOlN0cmlu ZyIgU291cmNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIiAvPg0KICAgIDxvcGM6RmllbGQg TmFtZT0iVGlja2V0RGF0YSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpT dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Iklzc3VlZElkZW50 aXR5VG9rZW4iIEJhc2VUeXBlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgIDxvcGM6RG9j dW1lbnRhdGlvbj5BIHRva2VuIHJlcHJlc2VudGluZyBhIHVzZXIgaWRlbnRpZmllZCBieSBhIFdT LVNlY3VyaXR5IFhNTCB0b2tlbi48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQg TmFtZT0iUG9saWN5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBTb3VyY2VUeXBlPSJ0bnM6VXNl cklkZW50aXR5VG9rZW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUb2tlbkRhdGEiIFR5cGVO YW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuY3J5cHRpb25B bGdvcml0aG0iIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFjdGl2YXRlU2Vzc2lvblJlcXVlc3Qi IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5B Y3RpdmF0ZXMgYSBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0K ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0 SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50U2lnbmF0dXJlIiBUeXBlTmFt ZT0idG5zOlNpZ25hdHVyZURhdGEiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQ2xpZW50 U29mdHdhcmVDZXJ0aWZpY2F0ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG aWVsZCBOYW1lPSJDbGllbnRTb2Z0d2FyZUNlcnRpZmljYXRlcyIgVHlwZU5hbWU9InRuczpTaWdu ZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiBMZW5ndGhGaWVsZD0iTm9PZkNsaWVudFNvZnR3YXJlQ2Vy dGlmaWNhdGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxvY2FsZUlkcyIgVHlwZU5h bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsZUlkcyIgVHlwZU5h bWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mTG9jYWxlSWRzIiAvPg0KICAgIDxvcGM6 RmllbGQgTmFtZT0iVXNlcklkZW50aXR5VG9rZW4iIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmpl Y3QiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyVG9rZW5TaWduYXR1cmUiIFR5cGVOYW1l PSJ0bnM6U2lnbmF0dXJlRGF0YSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBY3RpdmF0ZVNlc3Npb25SZXNwb25zZSIgQmFzZVR5cGU9 InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkFjdGl2YXRlcyBh IHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpG aWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIg Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlck5vbmNlIiBUeXBlTmFtZT0ib3BjOkJ5dGVT dHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9w YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpT dGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv cGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0lu Zm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1 cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNsb3NlU2Vzc2lvblJlcXVl c3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlv bj5DbG9zZXMgYSBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0K ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0 SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVsZXRlU3Vic2NyaXB0aW9ucyIgVHlw ZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj OlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNsb3NlU2Vzc2lvblJlc3BvbnNlIiBCYXNlVHlwZT0idWE6 RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q2xvc2VzIGEgc2Vzc2lv biB3aXRoIHRoZSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5h bWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICA8 L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNhbmNl bFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1l bnRhdGlvbj5DYW5jZWxzIGFuIG91dHN0YW5kaW5nIHJlcXVlc3QuPC9vcGM6RG9jdW1lbnRhdGlv bj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVx dWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIYW5kbGUiIFR5cGVO YW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 cnVjdHVyZWRUeXBlIE5hbWU9IkNhbmNlbFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u T2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q2FuY2VscyBhbiBvdXRzdGFuZGluZyBy ZXF1ZXN0Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25z ZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxk IE5hbWU9IkNhbmNlbENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3Ry dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJOb2RlQXR0cmlidXRl c01hc2siIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYml0 cyB1c2VkIHRvIHNwZWNpZnkgZGVmYXVsdCBhdHRyaWJ1dGVzIGZvciBhIG5ldyBub2RlLjwvb3Bj OkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFs dWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQWNjZXNzTGV2ZWwiIFZh bHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFycmF5RGltZW5zaW9u cyIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQnJvd3NlTmFt ZSIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ29udGFpbnNO b0xvb3BzIiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEYXRh VHlwZSIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRlc2Ny aXB0aW9uIiBWYWx1ZT0iMzIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGlz cGxheU5hbWUiIFZhbHVlPSI2NCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJF dmVudE5vdGlmaWVyIiBWYWx1ZT0iMTI4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h bWU9IkV4ZWN1dGFibGUiIFZhbHVlPSIyNTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg TmFtZT0iSGlzdG9yaXppbmciIFZhbHVlPSI1MTIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs dWUgTmFtZT0iSW52ZXJzZU5hbWUiIFZhbHVlPSIxMDI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRl ZFZhbHVlIE5hbWU9IklzQWJzdHJhY3QiIFZhbHVlPSIyMDQ4IiAvPg0KICAgIDxvcGM6RW51bWVy YXRlZFZhbHVlIE5hbWU9Ik1pbmltdW1TYW1wbGluZ0ludGVydmFsIiBWYWx1ZT0iNDA5NiIgLz4N CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlQ2xhc3MiIFZhbHVlPSI4MTkyIiAv Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vZGVJZCIgVmFsdWU9IjE2Mzg0IiAv Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN5bW1ldHJpYyIgVmFsdWU9IjMyNzY4 IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVzZXJBY2Nlc3NMZXZlbCIgVmFs dWU9IjY1NTM2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVzZXJFeGVjdXRh YmxlIiBWYWx1ZT0iMTMxMDcyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVz ZXJXcml0ZU1hc2siIFZhbHVlPSIyNjIxNDQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg TmFtZT0iVmFsdWVSYW5rIiBWYWx1ZT0iNTI0Mjg4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh bHVlIE5hbWU9IldyaXRlTWFzayIgVmFsdWU9IjEwNDg1NzYiIC8+DQogICAgPG9wYzpFbnVtZXJh dGVkVmFsdWUgTmFtZT0iVmFsdWUiIFZhbHVlPSIyMDk3MTUyIiAvPg0KICAgIDxvcGM6RW51bWVy YXRlZFZhbHVlIE5hbWU9IkFsbCIgVmFsdWU9IjQxOTQzMDMiIC8+DQogICAgPG9wYzpFbnVtZXJh dGVkVmFsdWUgTmFtZT0iQmFzZU5vZGUiIFZhbHVlPSIxMzM1Mzk2IiAvPg0KICAgIDxvcGM6RW51 bWVyYXRlZFZhbHVlIE5hbWU9Ik9iamVjdCIgVmFsdWU9IjEzMzU1MjQiIC8+DQogICAgPG9wYzpF bnVtZXJhdGVkVmFsdWUgTmFtZT0iT2JqZWN0VHlwZU9yRGF0YVR5cGUiIFZhbHVlPSIxMzM3NDQ0 IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZhcmlhYmxlIiBWYWx1ZT0iNDAy Njk5OSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJWYXJpYWJsZVR5cGUiIFZh bHVlPSIzOTU4OTAyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik1ldGhvZCIg VmFsdWU9IjE0NjY3MjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJl bmNlVHlwZSIgVmFsdWU9IjEzNzEyMzYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt ZT0iVmlldyIgVmFsdWU9IjEzMzU1MzIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQog IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTm9kZUF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ1YTpF eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYmFzZSBhdHRyaWJ1 dGVzIGZvciBhbGwgbm9kZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5h bWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxv cGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAv Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6 ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3Bj OlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1l PSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj dHVyZWRUeXBlIE5hbWU9Ik9iamVjdEF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0dHJp YnV0ZXMiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYW4gb2Jq ZWN0IG5vZGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNwZWNp ZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9k ZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5h bWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4N CiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVk VGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQg TmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5v ZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlw ZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAg ICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50Tm90aWZpZXIiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4N CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJW YXJpYWJsZUF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgIDxv cGM6RG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSB2YXJpYWJsZSBub2RlLjwvb3Bj OkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVz IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAv Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6 ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5 cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFz ayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIg Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUlu dDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l PSJEYXRhVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 IlZhbHVlUmFuayIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 Ik5vT2ZBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG aWVsZCBOYW1lPSJBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhG aWVsZD0iTm9PZkFycmF5RGltZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFjY2Vz c0xldmVsIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2Vy QWNjZXNzTGV2ZWwiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 Ik1pbmltdW1TYW1wbGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9Ikhpc3Rvcml6aW5nIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQog IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTWV0 aG9kQXR0cmlidXRlcyIgQmFzZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpE b2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1dGVzIGZvciBhIG1ldGhvZCBub2RlLjwvb3BjOkRvY3Vt ZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiBUeXBl TmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAg IDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0 IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l PSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRu czpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlw ZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAg ICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBT b3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJF eGVjdXRhYmxlIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l PSJVc2VyRXhlY3V0YWJsZSIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1 Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik9iamVjdFR5cGVBdHRy aWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICA8b3BjOkRvY3VtZW50 YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGFuIG9iamVjdCB0eXBlIG5vZGUuPC9vcGM6RG9jdW1l bnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVO YW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAg PG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQi IFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5z Ok5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBl TmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAg IDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNv dXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Iklz QWJzdHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJWYXJpYWJsZVR5cGVBdHRyaWJ1dGVz IiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+ VGhlIGF0dHJpYnV0ZXMgZm9yIGEgdmFyaWFibGUgdHlwZSBub2RlLjwvb3BjOkRvY3VtZW50YXRp b24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFtZT0i b3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6 RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3Vy Y2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNj cmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2Rl QXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9 Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3Bj OkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VU eXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIg VHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZSIg VHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlUmFuayIg VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBcnJheURp bWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJB cnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkFy cmF5RGltZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5cGVO YW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT dHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWZlcmVuY2VUeXBlQXR0cmlidXRlcyIgQmFzZVR5cGU9InRu czpOb2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1dGVz IGZvciBhIHJlZmVyZW5jZSB0eXBlIG5vZGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj OkZpZWxkIE5hbWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBT b3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE aXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpO b2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBl TmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAv Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg U291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i VXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2Rl QXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5cGVOYW1l PSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN5bW1ldHJpYyIgVHlwZU5h bWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW52ZXJzZU5hbWUiIFR5 cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFUeXBlQXR0cmlidXRlcyIgQmFzZVR5cGU9 InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1 dGVzIGZvciBhIGRhdGEgdHlwZSBub2RlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpG aWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291 cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlz cGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9k ZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5h bWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4N CiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNv dXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVz ZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0 dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0Fic3RyYWN0IiBUeXBlTmFtZT0i b3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 dXJlZFR5cGUgTmFtZT0iVmlld0F0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0 ZXMiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSB2aWV3IG5v ZGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNwZWNpZmllZEF0 dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJp YnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVh OkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIg U291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i V3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRy aWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9 Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3Bj OkZpZWxkIE5hbWU9IkNvbnRhaW5zTm9Mb29wcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0K ICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnROb3RpZmllciIgVHlwZU5hbWU9Im9wYzpCeXRlIiAv Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 IkFkZE5vZGVzSXRlbSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpE b2N1bWVudGF0aW9uPkEgcmVxdWVzdCB0byBhZGQgYSBub2RlIHRvIHRoZSBzZXJ2ZXIgYWRkcmVz cyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGFyZW50 Tm9kZUlkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJSZWZlcmVuY2VUeXBlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpG aWVsZCBOYW1lPSJSZXF1ZXN0ZWROZXdOb2RlSWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJ ZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFs aWZpZWROYW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0i dG5zOk5vZGVDbGFzcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVBdHRyaWJ1dGVzIiBU eXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHlw ZURlZmluaXRpb24iIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgPC9vcGM6U3Ry dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBZGROb2Rlc1Jlc3Vs dCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u PkEgcmVzdWx0IG9mIGFuIGFkZCBub2RlIG9wZXJhdGlvbi48L29wYzpEb2N1bWVudGF0aW9uPg0K ICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUi IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGRlZE5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJ ZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO YW1lPSJBZGROb2Rlc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg IDxvcGM6RG9jdW1lbnRhdGlvbj5BZGRzIG9uZSBvciBtb3JlIG5vZGVzIHRvIHRoZSBzZXJ2ZXIg YWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i UmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6 RmllbGQgTmFtZT0iTm9PZk5vZGVzVG9BZGQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg PG9wYzpGaWVsZCBOYW1lPSJOb2Rlc1RvQWRkIiBUeXBlTmFtZT0idG5zOkFkZE5vZGVzSXRlbSIg TGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvQWRkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFkZE5vZGVzUmVzcG9uc2UiIEJhc2VUeXBl PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BZGRzIG9uZSBv ciBtb3JlIG5vZGVzIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0 aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6 UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlw ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVO YW1lPSJ0bnM6QWRkTm9kZXNSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAg ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50 MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1 YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQog IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWRk UmVmZXJlbmNlc0l0ZW0iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 RG9jdW1lbnRhdGlvbj5BIHJlcXVlc3QgdG8gYWRkIGEgcmVmZXJlbmNlIHRvIHRoZSBzZXJ2ZXIg YWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i U291cmNlTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt ZT0iUmVmZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iSXNGb3J3YXJkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpG aWVsZCBOYW1lPSJUYXJnZXRTZXJ2ZXJVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAg IDxvcGM6RmllbGQgTmFtZT0iVGFyZ2V0Tm9kZUlkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2Rl SWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUYXJnZXROb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0 bnM6Tm9kZUNsYXNzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj dHVyZWRUeXBlIE5hbWU9IkFkZFJlZmVyZW5jZXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5z aW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QWRkcyBvbmUgb3IgbW9yZSByZWZl cmVuY2VzIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0K ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0 SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXNUb0FkZCIgVHlw ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXNUb0Fk ZCIgVHlwZU5hbWU9InRuczpBZGRSZWZlcmVuY2VzSXRlbSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZl cmVuY2VzVG9BZGQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 dXJlZFR5cGUgTmFtZT0iQWRkUmVmZXJlbmNlc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5z aW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QWRkcyBvbmUgb3IgbW9yZSByZWZl cmVuY2VzIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0K ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9u c2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9 Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1 YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg IDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3Rp Y0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1 Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZU5vZGVzSXRl bSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u PkEgcmVxdWVzdCB0byBkZWxldGUgYSBub2RlIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48 L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFt ZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVsZXRlVGFyZ2V0UmVmZXJl bmNlcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZU5vZGVzUmVxdWVzdCIgQmFzZVR5 cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkRlbGV0ZSBv bmUgb3IgbW9yZSBub2RlcyBmcm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1 bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9 InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vZGVzVG9E ZWxldGUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rl c1RvRGVsZXRlIiBUeXBlTmFtZT0idG5zOkRlbGV0ZU5vZGVzSXRlbSIgTGVuZ3RoRmllbGQ9Ik5v T2ZOb2Rlc1RvRGVsZXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZU5vZGVzUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRl bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5EZWxldGUgb25lIG9yIG1vcmUg bm9kZXMgZnJvbSB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4N CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3Bv bnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1l PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0i dWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg ICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0 aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3Ry dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVSZWZlcmVu Y2VzSXRlbSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVu dGF0aW9uPkEgcmVxdWVzdCB0byBkZWxldGUgYSBub2RlIGZyb20gdGhlIHNlcnZlciBhZGRyZXNz IHNwYWNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTb3VyY2VO b2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZl cmVuY2VUeXBlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l PSJJc0ZvcndhcmQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h bWU9IlRhcmdldE5vZGVJZCIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICAgIDxv cGM6RmllbGQgTmFtZT0iRGVsZXRlQmlkaXJlY3Rpb25hbCIgVHlwZU5hbWU9Im9wYzpCb29sZWFu IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h bWU9IkRlbGV0ZVJlZmVyZW5jZXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+RGVsZXRlIG9uZSBvciBtb3JlIHJlZmVyZW5jZXMg ZnJvbSB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRl ciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzVG9EZWxldGUiIFR5cGVO YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzVG9EZWxl dGUiIFR5cGVOYW1lPSJ0bnM6RGVsZXRlUmVmZXJlbmNlc0l0ZW0iIExlbmd0aEZpZWxkPSJOb09m UmVmZXJlbmNlc1RvRGVsZXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj OlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNSZXNwb25zZSIgQmFzZVR5cGU9 InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkRlbGV0ZSBvbmUg b3IgbW9yZSByZWZlcmVuY2VzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwvb3BjOkRv Y3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5h bWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1 bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0 cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4N CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6 SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1l PSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+ DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0i QXR0cmlidXRlV3JpdGVNYXNrIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50 YXRpb24+RGVmaW5lIGJpdHMgdXNlZCB0byBpbmRpY2F0ZSB3aGljaCBhdHRyaWJ1dGVzIGFyZSB3 cml0YWJsZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h bWU9Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFj Y2Vzc0xldmVsIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJB cnJheURpbWVuc2lvbnMiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h bWU9IkJyb3dzZU5hbWUiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h bWU9IkNvbnRhaW5zTm9Mb29wcyIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs dWUgTmFtZT0iRGF0YVR5cGUiIFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 ZSBOYW1lPSJEZXNjcmlwdGlvbiIgVmFsdWU9IjMyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh bHVlIE5hbWU9IkRpc3BsYXlOYW1lIiBWYWx1ZT0iNjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk VmFsdWUgTmFtZT0iRXZlbnROb3RpZmllciIgVmFsdWU9IjEyOCIgLz4NCiAgICA8b3BjOkVudW1l cmF0ZWRWYWx1ZSBOYW1lPSJFeGVjdXRhYmxlIiBWYWx1ZT0iMjU2IiAvPg0KICAgIDxvcGM6RW51 bWVyYXRlZFZhbHVlIE5hbWU9Ikhpc3Rvcml6aW5nIiBWYWx1ZT0iNTEyIiAvPg0KICAgIDxvcGM6 RW51bWVyYXRlZFZhbHVlIE5hbWU9IkludmVyc2VOYW1lIiBWYWx1ZT0iMTAyNCIgLz4NCiAgICA8 b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJc0Fic3RyYWN0IiBWYWx1ZT0iMjA0OCIgLz4NCiAg ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJNaW5pbXVtU2FtcGxpbmdJbnRlcnZhbCIgVmFs dWU9IjQwOTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9kZUNsYXNzIiBW YWx1ZT0iODE5MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlSWQiIFZh bHVlPSIxNjM4NCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTeW1tZXRyaWMi IFZhbHVlPSIzMjc2OCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVc2VyQWNj ZXNzTGV2ZWwiIFZhbHVlPSI2NTUzNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l PSJVc2VyRXhlY3V0YWJsZSIgVmFsdWU9IjEzMTA3MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW YWx1ZSBOYW1lPSJVc2VyV3JpdGVNYXNrIiBWYWx1ZT0iMjYyMTQ0IiAvPg0KICAgIDxvcGM6RW51 bWVyYXRlZFZhbHVlIE5hbWU9IlZhbHVlUmFuayIgVmFsdWU9IjUyNDI4OCIgLz4NCiAgICA8b3Bj OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJXcml0ZU1hc2siIFZhbHVlPSIxMDQ4NTc2IiAvPg0KICAg IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZhbHVlRm9yVmFyaWFibGVUeXBlIiBWYWx1ZT0i MjA5NzE1MiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVk VHlwZSBOYW1lPSJCcm93c2VEaXJlY3Rpb24iIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6 RG9jdW1lbnRhdGlvbj5UaGUgZGlyZWN0aW9ucyBvZiB0aGUgcmVmZXJlbmNlcyB0byByZXR1cm4u PC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJGb3J3 YXJkIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnZlcnNl IiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCb3RoIiBWYWx1 ZT0iMiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw ZSBOYW1lPSJWaWV3RGVzY3JpcHRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K ICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgdmlldyB0byBicm93c2UuPC9vcGM6RG9jdW1lbnRh dGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZpZXdJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIg Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRpbWVzdGFtcCIgVHlwZU5hbWU9Im9wYzpEYXRlVGlt ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZpZXdWZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlVJ bnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw ZSBOYW1lPSJCcm93c2VEZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgcmVxdWVzdCB0byBicm93c2UgdGhlIHRoZSByZWZl cmVuY2VzIGZyb20gYSBub2RlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l PSJCcm93c2VEaXJlY3Rpb24iIFR5cGVOYW1lPSJ0bnM6QnJvd3NlRGlyZWN0aW9uIiAvPg0KICAg IDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAv Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5jbHVkZVN1YnR5cGVzIiBUeXBlTmFtZT0ib3BjOkJv b2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3NNYXNrIiBUeXBlTmFtZT0i b3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdE1hc2siIFR5cGVOYW1l PSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1l cmF0ZWRUeXBlIE5hbWU9IkJyb3dzZVJlc3VsdE1hc2siIExlbmd0aEluQml0cz0iMzIiPg0KICAg IDxvcGM6RG9jdW1lbnRhdGlvbj5BIGJpdCBtYXNrIHdoaWNoIHNwZWNpZmllcyB3aGF0IHNob3Vs ZCBiZSByZXR1cm5lZCBpbiBhIGJyb3dzZSByZXNwb25zZS48L29wYzpEb2N1bWVudGF0aW9uPg0K ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAgIDxv cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgVmFsdWU9IjEiIC8+DQog ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSXNGb3J3YXJkIiBWYWx1ZT0iMiIgLz4NCiAg ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlQ2xhc3MiIFZhbHVlPSI0IiAvPg0KICAg IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJyb3dzZU5hbWUiIFZhbHVlPSI4IiAvPg0KICAg IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRpc3BsYXlOYW1lIiBWYWx1ZT0iMTYiIC8+DQog ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVHlwZURlZmluaXRpb24iIFZhbHVlPSIzMiIg Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBbGwiIFZhbHVlPSI2MyIgLz4NCiAg ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWZlcmVuY2VUeXBlSW5mbyIgVmFsdWU9IjMi IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVGFyZ2V0SW5mbyIgVmFsdWU9IjYw IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h bWU9IlJlZmVyZW5jZURlc2NyaXB0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N CiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIGRlc2NyaXB0aW9uIG9mIGEgcmVmZXJlbmNlLjwv b3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBlSWQi IFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0ZvcndhcmQi IFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIg VHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJv d3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIC8+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogICAgPG9w YzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNzIiAvPg0KICAg IDxvcGM6RmllbGQgTmFtZT0iVHlwZURlZmluaXRpb24iIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5v ZGVJZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5h bWU9IkNvbnRpbnVhdGlvblBvaW50Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QW4gaWRlbnRp ZmllciBmb3IgYSBzdXNwZW5kZWQgcXVlcnkgb3IgYnJvd3NlIG9wZXJhdGlvbi48L29wYzpEb2N1 bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg TmFtZT0iQnJvd3NlUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8 b3BjOkRvY3VtZW50YXRpb24+VGhlIHJlc3VsdCBvZiBhIGJyb3dzZSBvcGVyYXRpb24uPC9vcGM6 RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1l PSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29udGludWF0aW9uUG9p bnQiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v T2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt ZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VEZXNjcmlwdGlvbiIgTGVuZ3Ro RmllbGQ9Ik5vT2ZSZWZlcmVuY2VzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb3dzZVJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRl bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5Ccm93c2UgdGhlIHJlZmVyZW5j ZXMgZm9yIG9uZSBvciBtb3JlIG5vZGVzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwv b3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBU eXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWaWV3 IiBUeXBlTmFtZT0idG5zOlZpZXdEZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 IlJlcXVlc3RlZE1heFJlZmVyZW5jZXNQZXJOb2RlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOb2Rlc1RvQnJvd3NlIiBUeXBlTmFtZT0ib3BjOklu dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZXNUb0Jyb3dzZSIgVHlwZU5hbWU9InRu czpCcm93c2VEZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvQnJvd3NlIiAvPg0K ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJy b3dzZVJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRv Y3VtZW50YXRpb24+QnJvd3NlIHRoZSByZWZlcmVuY2VzIGZvciBvbmUgb3IgbW9yZSBub2RlcyBm cm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxv cGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFk ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJ bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6QnJv d3NlUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv cGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0lu Zm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1 cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb3dzZU5leHRSZXF1ZXN0 IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+ Q29udGludWVzIG9uZSBvciBtb3JlIGJyb3dzZSBvcGVyYXRpb25zLjwvb3BjOkRvY3VtZW50YXRp b24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJl cXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWxlYXNlQ29udGludWF0aW9u UG9pbnRzIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO b09mQ29udGludWF0aW9uUG9pbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 RmllbGQgTmFtZT0iQ29udGludWF0aW9uUG9pbnRzIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmci IExlbmd0aEZpZWxkPSJOb09mQ29udGludWF0aW9uUG9pbnRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1 cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb3dzZU5leHRSZXNwb25z ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u PkNvbnRpbnVlcyBvbmUgb3IgbW9yZSBicm93c2Ugb3BlcmF0aW9ucy48L29wYzpEb2N1bWVudGF0 aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6 UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlw ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVO YW1lPSJ0bnM6QnJvd3NlUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAg PG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMy IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6 RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8 L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlbGF0 aXZlUGF0aEVsZW1lbnQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 RG9jdW1lbnRhdGlvbj5BbiBlbGVtZW50IGluIGEgcmVsYXRpdmUgcGF0aC48L29wYzpEb2N1bWVu dGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0i dWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNJbnZlcnNlIiBUeXBlTmFtZT0i b3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbmNsdWRlU3VidHlwZXMiIFR5 cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldE5hbWUi IFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlbGF0aXZlUGF0aCIgQmFzZVR5cGU9InVh OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgcmVsYXRpdmUgcGF0 aCBjb25zdHJ1Y3RlZCBmcm9tIHJlZmVyZW5jZSB0eXBlcyBhbmQgYnJvd3NlIG5hbWVzLjwvb3Bj OkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRWxlbWVudHMiIFR5cGVO YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbGVtZW50cyIgVHlwZU5h bWU9InRuczpSZWxhdGl2ZVBhdGhFbGVtZW50IiBMZW5ndGhGaWVsZD0iTm9PZkVsZW1lbnRzIiAv Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 IkJyb3dzZVBhdGgiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9j dW1lbnRhdGlvbj5BIHJlcXVlc3QgdG8gdHJhbnNsYXRlIGEgcGF0aCBpbnRvIGEgbm9kZSBpZC48 L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhcnRpbmdOb2RlIiBU eXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVsYXRpdmVQYXRo IiBUeXBlTmFtZT0idG5zOlJlbGF0aXZlUGF0aCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm93c2VQYXRoVGFyZ2V0IiBCYXNlVHlw ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHRhcmdl dCBvZiB0aGUgdHJhbnNsYXRlZCBwYXRoLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpG aWVsZCBOYW1lPSJUYXJnZXRJZCIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICAg IDxvcGM6RmllbGQgTmFtZT0iUmVtYWluaW5nUGF0aEluZGV4IiBUeXBlTmFtZT0ib3BjOlVJbnQz MiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO YW1lPSJCcm93c2VQYXRoUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg ICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHJlc3VsdCBvZiBhIHRyYW5zbGF0ZSBvcGVhcmF0aW9u Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBU eXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZUYXJn ZXRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGFyZ2V0 cyIgVHlwZU5hbWU9InRuczpCcm93c2VQYXRoVGFyZ2V0IiBMZW5ndGhGaWVsZD0iTm9PZlRhcmdl dHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg TmFtZT0iVHJhbnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6 RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VHJhbnNsYXRlcyBvbmUg b3IgbW9yZSBwYXRocyBpbiB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRh dGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6 UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZCcm93c2VQYXRocyIg VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZVBhdGhz IiBUeXBlTmFtZT0idG5zOkJyb3dzZVBhdGgiIExlbmd0aEZpZWxkPSJOb09mQnJvd3NlUGF0aHMi IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt ZT0iVHJhbnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4 dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRyYW5zbGF0ZXMgb25lIG9y IG1vcmUgcGF0aHMgaW4gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwvb3BjOkRvY3VtZW50YXRp b24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpS ZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBl TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5h bWU9InRuczpCcm93c2VQYXRoUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQog ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOklu dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0i dWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0K ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJl Z2lzdGVyTm9kZXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8 b3BjOkRvY3VtZW50YXRpb24+UmVnaXN0ZXJzIG9uZSBvciBtb3JlIG5vZGVzIGZvciByZXBlYXRl ZCB1c2Ugd2l0aGluIGEgc2Vzc2lvbi48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0K ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vZGVzVG9SZWdpc3RlciIgVHlwZU5hbWU9Im9wYzpJ bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVzVG9SZWdpc3RlciIgVHlwZU5hbWU9 InVhOk5vZGVJZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvUmVnaXN0ZXIiIC8+DQogIDwvb3Bj OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVnaXN0ZXJO b2Rlc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRv Y3VtZW50YXRpb24+UmVnaXN0ZXJzIG9uZSBvciBtb3JlIG5vZGVzIGZvciByZXBlYXRlZCB1c2Ug d2l0aGluIGEgc2Vzc2lvbi48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFt ZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAg PG9wYzpGaWVsZCBOYW1lPSJOb09mUmVnaXN0ZXJlZE5vZGVJZHMiIFR5cGVOYW1lPSJvcGM6SW50 MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWdpc3RlcmVkTm9kZUlkcyIgVHlwZU5hbWU9 InVhOk5vZGVJZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWdpc3RlcmVkTm9kZUlkcyIgLz4NCiAgPC9v cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVbnJlZ2lz dGVyTm9kZXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj OkRvY3VtZW50YXRpb24+VW5yZWdpc3RlcnMgb25lIG9yIG1vcmUgcHJldmlvdXNseSByZWdpc3Rl cmVkIG5vZGVzLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJOb09mTm9kZXNUb1VucmVnaXN0ZXIiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog ICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rlc1RvVW5yZWdpc3RlciIgVHlwZU5hbWU9InVhOk5vZGVJ ZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvVW5yZWdpc3RlciIgLz4NCiAgPC9vcGM6U3RydWN0 dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVbnJlZ2lzdGVyTm9kZXNS ZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVu dGF0aW9uPlVucmVnaXN0ZXJzIG9uZSBvciBtb3JlIHByZXZpb3VzbHkgcmVnaXN0ZXJlZCBub2Rl cy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFk ZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU eXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJDb3VudGVyIj4NCiAgICA8b3BjOkRvY3Vt ZW50YXRpb24+QSBtb25vdG9uaWNhbGx5IGluY3JlYXNpbmcgdmFsdWUuPC9vcGM6RG9jdW1lbnRh dGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iTnVt ZXJpY1JhbmdlIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+U3BlY2lmaWVzIGEgcmFuZ2Ugb2Yg YXJyYXkgaW5kZXhlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0K DQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJUaW1lIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+ QSB0aW1lIHZhbHVlIHNwZWNpZmllZCBhcyBISDpNTTpTUy5TU1MuPC9vcGM6RG9jdW1lbnRhdGlv bj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iRGF0ZSI+ DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgZGF0ZSB2YWx1ZS48L29wYzpEb2N1bWVudGF0aW9u Pg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRW5k cG9pbnRDb25maWd1cmF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9Ik9wZXJhdGlvblRpbWVvdXQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VCaW5hcnlFbmNvZGluZyIgVHlwZU5hbWU9Im9wYzpC b29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4U3RyaW5nTGVuZ3RoIiBUeXBlTmFt ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4Qnl0ZVN0cmluZ0xlbmd0 aCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heEFycmF5 TGVuZ3RoIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4 TWVzc2FnZVNpemUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l PSJNYXhCdWZmZXJTaXplIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg TmFtZT0iQ2hhbm5lbExpZmV0aW1lIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 RmllbGQgTmFtZT0iU2VjdXJpdHlUb2tlbkxpZmV0aW1lIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9 IkNvbXBsaWFuY2VMZXZlbCIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVk VmFsdWUgTmFtZT0iVW50ZXN0ZWQiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh bHVlIE5hbWU9IlBhcnRpYWwiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl IE5hbWU9IlNlbGZUZXN0ZWQiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl IE5hbWU9IkNlcnRpZmllZCIgVmFsdWU9IjMiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0K DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU3VwcG9ydGVkUHJvZmlsZSIgQmFzZVR5cGU9 InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJPcmdhbml6YXRpb25V cmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJvZmls ZUlkIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbXBs aWFuY2VUb29sIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 IkNvbXBsaWFuY2VEYXRlIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iQ29tcGxpYW5jZUxldmVsIiBUeXBlTmFtZT0idG5zOkNvbXBsaWFuY2VMZXZlbCIg Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZVbnN1cHBvcnRlZFVuaXRJZHMiIFR5cGVOYW1l PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVbnN1cHBvcnRlZFVuaXRJZHMi IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlVuc3VwcG9ydGVkVW5pdElk cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO YW1lPSJTb2Z0d2FyZUNlcnRpZmljYXRlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N CiAgICA8b3BjOkZpZWxkIE5hbWU9IlByb2R1Y3ROYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIg Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByb2R1Y3RVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5n IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmVuZG9yTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJp bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWZW5kb3JQcm9kdWN0Q2VydGlmaWNhdGUiIFR5 cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvZnR3YXJl VmVyc2lvbiIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJC dWlsZE51bWJlciIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l PSJCdWlsZERhdGUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJJc3N1ZWRCeSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJJc3N1ZURhdGUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJOb09mU3VwcG9ydGVkUHJvZmlsZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog ICAgPG9wYzpGaWVsZCBOYW1lPSJTdXBwb3J0ZWRQcm9maWxlcyIgVHlwZU5hbWU9InRuczpTdXBw b3J0ZWRQcm9maWxlIiBMZW5ndGhGaWVsZD0iTm9PZlN1cHBvcnRlZFByb2ZpbGVzIiAvPg0KICA8 L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlF1ZXJ5 RGF0YURlc2NyaXB0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj OkZpZWxkIE5hbWU9IlJlbGF0aXZlUGF0aCIgVHlwZU5hbWU9InRuczpSZWxhdGl2ZVBhdGgiIC8+ DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdHRyaWJ1dGVJZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIi IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbmRleFJhbmdlIiBUeXBlTmFtZT0ib3BjOlN0cmlu ZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO YW1lPSJOb2RlVHlwZURlc2NyaXB0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N CiAgICA8b3BjOkZpZWxkIE5hbWU9IlR5cGVEZWZpbml0aW9uTm9kZSIgVHlwZU5hbWU9InVhOkV4 cGFuZGVkTm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5jbHVkZVN1YlR5cGVzIiBU eXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGF0YVRv UmV0dXJuIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0 YVRvUmV0dXJuIiBUeXBlTmFtZT0idG5zOlF1ZXJ5RGF0YURlc2NyaXB0aW9uIiBMZW5ndGhGaWVs ZD0iTm9PZkRhdGFUb1JldHVybiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w YzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJGaWx0ZXJPcGVyYXRvciIgTGVuZ3RoSW5CaXRzPSIzMiI+ DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRXF1YWxzIiBWYWx1ZT0iMCIgLz4NCiAg ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJc051bGwiIFZhbHVlPSIxIiAvPg0KICAgIDxv cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkdyZWF0ZXJUaGFuIiBWYWx1ZT0iMiIgLz4NCiAgICA8 b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJMZXNzVGhhbiIgVmFsdWU9IjMiIC8+DQogICAgPG9w YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iR3JlYXRlclRoYW5PckVxdWFsIiBWYWx1ZT0iNCIgLz4N CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJMZXNzVGhhbk9yRXF1YWwiIFZhbHVlPSI1 IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikxpa2UiIFZhbHVlPSI2IiAvPg0K ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vdCIgVmFsdWU9IjciIC8+DQogICAgPG9w YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQmV0d2VlbiIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpF bnVtZXJhdGVkVmFsdWUgTmFtZT0iSW5MaXN0IiBWYWx1ZT0iOSIgLz4NCiAgICA8b3BjOkVudW1l cmF0ZWRWYWx1ZSBOYW1lPSJBbmQiIFZhbHVlPSIxMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW YWx1ZSBOYW1lPSJPciIgVmFsdWU9IjExIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h bWU9IkNhc3QiIFZhbHVlPSIxMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJ blZpZXciIFZhbHVlPSIxMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJPZlR5 cGUiIFZhbHVlPSIxNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWxhdGVk VG8iIFZhbHVlPSIxNSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCaXR3aXNl QW5kIiBWYWx1ZT0iMTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQml0d2lz ZU9yIiBWYWx1ZT0iMTciIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3Ry dWN0dXJlZFR5cGUgTmFtZT0iUXVlcnlEYXRhU2V0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOkV4cGFuZGVk Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHlwZURlZmluaXRpb25Ob2RlIiBUeXBl TmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVmFs dWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsdWVz IiBUeXBlTmFtZT0idWE6VmFyaWFudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZWYWx1ZXMiIC8+DQogIDwv b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTm9kZVJl ZmVyZW5jZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l PSJSZWZlcmVuY2VUeXBlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJJc0ZvcndhcmQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZp ZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VkTm9kZUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZWROb2RlSWRzIiBUeXBlTmFtZT0idWE6Tm9k ZUlkIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZWROb2RlSWRzIiAvPg0KICA8L29wYzpTdHJ1 Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNvbnRlbnRGaWx0ZXJF bGVtZW50IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h bWU9IkZpbHRlck9wZXJhdG9yIiBUeXBlTmFtZT0idG5zOkZpbHRlck9wZXJhdG9yIiAvPg0KICAg IDxvcGM6RmllbGQgTmFtZT0iTm9PZkZpbHRlck9wZXJhbmRzIiBUeXBlTmFtZT0ib3BjOkludDMy IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmlsdGVyT3BlcmFuZHMiIFR5cGVOYW1lPSJ1YTpF eHRlbnNpb25PYmplY3QiIExlbmd0aEZpZWxkPSJOb09mRmlsdGVyT3BlcmFuZHMiIC8+DQogIDwv b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ29udGVu dEZpbHRlciIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJOb09mRWxlbWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJFbGVtZW50cyIgVHlwZU5hbWU9InRuczpDb250ZW50RmlsdGVyRWxlbWVudCIgTGVu Z3RoRmllbGQ9Ik5vT2ZFbGVtZW50cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJGaWx0ZXJPcGVyYW5kIiBCYXNlVHlwZT0idWE6RXh0 ZW5zaW9uT2JqZWN0Ij4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 cmVkVHlwZSBOYW1lPSJFbGVtZW50T3BlcmFuZCIgQmFzZVR5cGU9InRuczpGaWx0ZXJPcGVyYW5k Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkluZGV4IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJM aXRlcmFsT3BlcmFuZCIgQmFzZVR5cGU9InRuczpGaWx0ZXJPcGVyYW5kIj4NCiAgICA8b3BjOkZp ZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgLz4NCiAgPC9vcGM6U3RydWN0 dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBdHRyaWJ1dGVPcGVyYW5k IiBCYXNlVHlwZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9k ZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWxpYXMi IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlUGF0 aCIgVHlwZU5hbWU9InRuczpSZWxhdGl2ZVBhdGgiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJB dHRyaWJ1dGVJZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l PSJJbmRleFJhbmdlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJl ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTaW1wbGVBdHRyaWJ1dGVPcGVy YW5kIiBCYXNlVHlwZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i VHlwZURlZmluaXRpb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxk IE5hbWU9Ik5vT2ZCcm93c2VQYXRoIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 RmllbGQgTmFtZT0iQnJvd3NlUGF0aCIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIExlbmd0 aEZpZWxkPSJOb09mQnJvd3NlUGF0aCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF0dHJpYnV0 ZUlkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkluZGV4 UmFuZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0 IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0 YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt ZT0iTm9PZk9wZXJhbmRTdGF0dXNDb2RlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9Ik9wZXJhbmRTdGF0dXNDb2RlcyIgVHlwZU5hbWU9InVhOlN0YXR1c0Nv ZGUiIExlbmd0aEZpZWxkPSJOb09mT3BlcmFuZFN0YXR1c0NvZGVzIiAvPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iTm9PZk9wZXJhbmREaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIi IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJPcGVyYW5kRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFt ZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mT3BlcmFuZERpYWdub3N0aWNJ bmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw ZSBOYW1lPSJDb250ZW50RmlsdGVyUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFbGVtZW50UmVzdWx0cyIgVHlwZU5hbWU9Im9w YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVsZW1lbnRSZXN1bHRzIiBUeXBlTmFt ZT0idG5zOkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZkVsZW1l bnRSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkVsZW1lbnREaWFnbm9zdGlj SW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbGVt ZW50RGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZp ZWxkPSJOb09mRWxlbWVudERpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJQYXJzaW5nUmVzdWx0IiBCYXNlVHlw ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUi IFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRh dGFTdGF0dXNDb2RlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h bWU9IkRhdGFTdGF0dXNDb2RlcyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxk PSJOb09mRGF0YVN0YXR1c0NvZGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRhdGFE aWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJEYXRhRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExl bmd0aEZpZWxkPSJOb09mRGF0YURpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJl ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJRdWVyeUZpcnN0UmVxdWVzdCIg QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJWaWV3IiBUeXBlTmFtZT0idG5zOlZpZXdEZXNjcmlwdGlvbiIgLz4NCiAgICA8b3Bj OkZpZWxkIE5hbWU9Ik5vT2ZOb2RlVHlwZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg PG9wYzpGaWVsZCBOYW1lPSJOb2RlVHlwZXMiIFR5cGVOYW1lPSJ0bnM6Tm9kZVR5cGVEZXNjcmlw dGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb2RlVHlwZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l PSJGaWx0ZXIiIFR5cGVOYW1lPSJ0bnM6Q29udGVudEZpbHRlciIgLz4NCiAgICA8b3BjOkZpZWxk IE5hbWU9Ik1heERhdGFTZXRzVG9SZXR1cm4iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg IDxvcGM6RmllbGQgTmFtZT0iTWF4UmVmZXJlbmNlc1RvUmV0dXJuIiBUeXBlTmFtZT0ib3BjOlVJ bnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw ZSBOYW1lPSJRdWVyeUZpcnN0UmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVz cG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUXVlcnlEYXRhU2V0cyIg VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlF1ZXJ5RGF0YVNl dHMiIFR5cGVOYW1lPSJ0bnM6UXVlcnlEYXRhU2V0IiBMZW5ndGhGaWVsZD0iTm9PZlF1ZXJ5RGF0 YVNldHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDb250aW51YXRpb25Qb2ludCIgVHlwZU5h bWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlBhcnNpbmdS ZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGFy c2luZ1Jlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6UGFyc2luZ1Jlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5v T2ZQYXJzaW5nUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGlj SW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFn bm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5v T2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXJSZXN1bHQi IFR5cGVOYW1lPSJ0bnM6Q29udGVudEZpbHRlclJlc3VsdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJl ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJRdWVyeU5leHRSZXF1ZXN0IiBC YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVl c3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxk IE5hbWU9IlJlbGVhc2VDb250aW51YXRpb25Qb2ludCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAv Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29udGludWF0aW9uUG9pbnQiIFR5cGVOYW1lPSJvcGM6 Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 cmVkVHlwZSBOYW1lPSJRdWVyeU5leHRSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRu czpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZRdWVyeURhdGFT ZXRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVlcnlE YXRhU2V0cyIgVHlwZU5hbWU9InRuczpRdWVyeURhdGFTZXQiIExlbmd0aEZpZWxkPSJOb09mUXVl cnlEYXRhU2V0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRDb250aW51YXRpb25Q b2ludCIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw ZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IlRpbWVzdGFtcHNUb1JldHVybiIgTGVu Z3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU291cmNlIiBW YWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTZXJ2ZXIiIFZhbHVl PSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJvdGgiIFZhbHVlPSIyIiAv Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5laXRoZXIiIFZhbHVlPSIzIiAvPg0K ICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJl YWRWYWx1ZUlkIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk IE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5h bWU9IkF0dHJpYnV0ZUlkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk IE5hbWU9IkluZGV4UmFuZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iRGF0YUVuY29kaW5nIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgLz4NCiAg PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWFk UmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAg PG9wYzpGaWVsZCBOYW1lPSJNYXhBZ2UiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxv cGM6RmllbGQgTmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiBUeXBlTmFtZT0idG5zOlRpbWVzdGFt cHNUb1JldHVybiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOb2Rlc1RvUmVhZCIgVHlw ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVzVG9SZWFkIiBU eXBlTmFtZT0idG5zOlJlYWRWYWx1ZUlkIiBMZW5ndGhGaWVsZD0iTm9PZk5vZGVzVG9SZWFkIiAv Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 IlJlYWRSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpG aWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIg Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMy IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVhOkRhdGFWYWx1 ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P ZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk IE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5n dGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5UmVhZFZhbHVlSWQiIEJhc2VU eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBU eXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5kZXhSYW5nZSIg VHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhRW5jb2Rp bmciIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i Q29udGludWF0aW9uUG9pbnQiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6 U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5UmVh ZFJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZp ZWxkIE5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+ DQogICAgPG9wYzpGaWVsZCBOYW1lPSJIaXN0b3J5RGF0YSIgVHlwZU5hbWU9InVhOkV4dGVuc2lv bk9iamVjdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk VHlwZSBOYW1lPSJIaXN0b3J5UmVhZERldGFpbHMiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl Y3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h bWU9IlJlYWRFdmVudERldGFpbHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIj4N CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik51bVZhbHVlc1Blck5vZGUiIFR5cGVOYW1lPSJvcGM6VUlu dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhcnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRh dGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kVGltZSIgVHlwZU5hbWU9Im9wYzpE YXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRlciIgVHlwZU5hbWU9InRuczpF dmVudEZpbHRlciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 cmVkVHlwZSBOYW1lPSJSZWFkUmF3TW9kaWZpZWREZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3Rv cnlSZWFkRGV0YWlscyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc1JlYWRNb2RpZmllZCIgVHlw ZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhcnRUaW1lIiBU eXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kVGltZSIg VHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik51bVZhbHVl c1Blck5vZGUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i UmV0dXJuQm91bmRzIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVy ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVhZFByb2Nlc3NlZERldGFp bHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxkIE5h bWU9IlN0YXJ0VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxk IE5hbWU9IkVuZFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJQcm9jZXNzaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAg IDxvcGM6RmllbGQgTmFtZT0iTm9PZkFnZ3JlZ2F0ZVR5cGUiIFR5cGVOYW1lPSJvcGM6SW50MzIi IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZ2dyZWdhdGVUeXBlIiBUeXBlTmFtZT0idWE6Tm9k ZUlkIiBMZW5ndGhGaWVsZD0iTm9PZkFnZ3JlZ2F0ZVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBUeXBlTmFtZT0idG5zOkFnZ3JlZ2F0ZUNvbmZp Z3VyYXRpb24iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl ZFR5cGUgTmFtZT0iUmVhZEF0VGltZURldGFpbHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVJlYWRE ZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXFUaW1lcyIgVHlwZU5hbWU9Im9w YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcVRpbWVzIiBUeXBlTmFtZT0ib3Bj OkRhdGVUaW1lIiBMZW5ndGhGaWVsZD0iTm9PZlJlcVRpbWVzIiAvPg0KICAgIDxvcGM6RmllbGQg TmFtZT0iVXNlU2ltcGxlQm91bmRzIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3Bj OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeURh dGEiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i Tm9PZkRhdGFWYWx1ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJEYXRhVmFsdWVzIiBUeXBlTmFtZT0idWE6RGF0YVZhbHVlIiBMZW5ndGhGaWVsZD0iTm9P ZkRhdGFWYWx1ZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 dXJlZFR5cGUgTmFtZT0iTW9kaWZpY2F0aW9uSW5mbyIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb2RpZmljYXRpb25UaW1lIiBUeXBlTmFtZT0i b3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXBkYXRlVHlwZSIgVHlwZU5h bWU9InRuczpIaXN0b3J5VXBkYXRlVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJO YW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5TW9kaWZpZWREYXRhIiBCYXNlVHlw ZT0idG5zOkhpc3RvcnlEYXRhIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEYXRhVmFsdWVz IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVZhbHVl cyIgVHlwZU5hbWU9InVhOkRhdGFWYWx1ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZEYXRhVmFsdWVzIiAv Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk1vZGlmaWNhdGlvbkluZm9zIiBUeXBlTmFtZT0i b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9kaWZpY2F0aW9uSW5mb3MiIFR5 cGVOYW1lPSJ0bnM6TW9kaWZpY2F0aW9uSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZNb2RpZmljYXRp b25JbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk VHlwZSBOYW1lPSJIaXN0b3J5RXZlbnQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkV2ZW50cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N CiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50cyIgVHlwZU5hbWU9InRuczpIaXN0b3J5RXZlbnRG aWVsZExpc3QiIExlbmd0aEZpZWxkPSJOb09mRXZlbnRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlSZWFkUmVxdWVzdCIg QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJIaXN0b3J5UmVhZERldGFpbHMiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3Qi IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iIFR5cGVOYW1lPSJ0 bnM6VGltZXN0YW1wc1RvUmV0dXJuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVsZWFzZUNv bnRpbnVhdGlvblBvaW50cyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iTm9PZk5vZGVzVG9SZWFkIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv cGM6RmllbGQgTmFtZT0iTm9kZXNUb1JlYWQiIFR5cGVOYW1lPSJ0bnM6SGlzdG9yeVJlYWRWYWx1 ZUlkIiBMZW5ndGhGaWVsZD0iTm9PZk5vZGVzVG9SZWFkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlSZWFkUmVzcG9uc2Ui IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVz cG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpG aWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj OkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6SGlzdG9yeVJlYWRSZXN1bHQiIExl bmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFn bm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l PSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmll bGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iV3JpdGVWYWx1ZSIgQmFzZVR5cGU9InVhOkV4dGVu c2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpO b2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdHRyaWJ1dGVJZCIgVHlwZU5hbWU9Im9w YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbmRleFJhbmdlIiBUeXBlTmFtZT0i b3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0idWE6 RGF0YVZhbHVlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy ZWRUeXBlIE5hbWU9IldyaXRlUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVl c3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTm9kZXNUb1dyaXRlIiBUeXBl TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZXNUb1dyaXRlIiBU eXBlTmFtZT0idG5zOldyaXRlVmFsdWUiIExlbmd0aEZpZWxkPSJOb09mTm9kZXNUb1dyaXRlIiAv Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 IldyaXRlUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIi IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQz MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXND b2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO b09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExl bmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlVcGRhdGVEZXRhaWxzIiBC YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJ ZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg PG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJIaXN0b3J5VXBkYXRlVHlwZSIgTGVuZ3RoSW5CaXRz PSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW5zZXJ0IiBWYWx1ZT0iMSIg Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZXBsYWNlIiBWYWx1ZT0iMiIgLz4N CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVcGRhdGUiIFZhbHVlPSIzIiAvPg0KICAg IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRlbGV0ZSIgVmFsdWU9IjQiIC8+DQogIDwvb3Bj OkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iUGVyZm9ybVVw ZGF0ZVR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h bWU9Ikluc2VydCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i UmVwbGFjZSIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVXBk YXRlIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZW1vdmUi IFZhbHVlPSI0IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy ZWRUeXBlIE5hbWU9IlVwZGF0ZURhdGFEZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlVcGRh dGVEZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5v ZGVJZCIgU291cmNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIiAvPg0KICAgIDxvcGM6 RmllbGQgTmFtZT0iUGVyZm9ybUluc2VydFJlcGxhY2UiIFR5cGVOYW1lPSJ0bnM6UGVyZm9ybVVw ZGF0ZVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVXBkYXRlVmFsdWVzIiBUeXBl TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXBkYXRlVmFsdWVzIiBU eXBlTmFtZT0idWE6RGF0YVZhbHVlIiBMZW5ndGhGaWVsZD0iTm9PZlVwZGF0ZVZhbHVlcyIgLz4N CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJV cGRhdGVTdHJ1Y3R1cmVEYXRhRGV0YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0 YWlscyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQi IFNvdXJjZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyIgLz4NCiAgICA8b3BjOkZpZWxk IE5hbWU9IlBlcmZvcm1JbnNlcnRSZXBsYWNlIiBUeXBlTmFtZT0idG5zOlBlcmZvcm1VcGRhdGVU eXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlVwZGF0ZVZhbHVlcyIgVHlwZU5hbWU9 Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVwZGF0ZVZhbHVlcyIgVHlwZU5h bWU9InVhOkRhdGFWYWx1ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZVcGRhdGVWYWx1ZXMiIC8+DQogIDwv b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVXBkYXRl RXZlbnREZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0i dG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGVyZm9y bUluc2VydFJlcGxhY2UiIFR5cGVOYW1lPSJ0bnM6UGVyZm9ybVVwZGF0ZVR5cGUiIC8+DQogICAg PG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXIiIFR5cGVOYW1lPSJ0bnM6RXZlbnRGaWx0ZXIiIC8+DQog ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRXZlbnREYXRhIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnREYXRhIiBUeXBlTmFtZT0idG5zOkhpc3RvcnlF dmVudEZpZWxkTGlzdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZFdmVudERhdGEiIC8+DQogIDwvb3BjOlN0 cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlUmF3TW9k aWZpZWREZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0i dG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNEZWxl dGVNb2RpZmllZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt ZT0iU3RhcnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQg TmFtZT0iRW5kVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgPC9vcGM6U3RydWN0 dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVBdFRpbWVEZXRh aWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxk IE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5zOkhpc3Rv cnlVcGRhdGVEZXRhaWxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlcVRpbWVzIiBU eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxVGltZXMiIFR5 cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIExlbmd0aEZpZWxkPSJOb09mUmVxVGltZXMiIC8+DQogIDwv b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRl RXZlbnREZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0i dG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkV2 ZW50SWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZl bnRJZHMiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZFdmVudElk cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO YW1lPSJIaXN0b3J5VXBkYXRlUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N CiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2Rl IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk9wZXJhdGlvblJlc3VsdHMiIFR5cGVOYW1l PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJPcGVyYXRpb25SZXN1bHRzIiBU eXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZPcGVyYXRpb25SZXN1bHRz IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9 Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlw ZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZv cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO YW1lPSJIaXN0b3J5VXBkYXRlUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVl c3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mSGlzdG9yeVVwZGF0ZURldGFp bHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJIaXN0b3J5 VXBkYXRlRGV0YWlscyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgTGVuZ3RoRmllbGQ9 Ik5vT2ZIaXN0b3J5VXBkYXRlRGV0YWlscyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5VXBkYXRlUmVzcG9uc2UiIEJhc2VU eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VI ZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk IE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6SGlzdG9yeVVwZGF0ZVJlc3VsdCIgTGVuZ3Ro RmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0 aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRp YWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0i Tm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDYWxsTWV0aG9kUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4 dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJPYmplY3RJZCIgVHlwZU5hbWU9 InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1ldGhvZElkIiBUeXBlTmFtZT0i dWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZklucHV0QXJndW1lbnRzIiBU eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5wdXRBcmd1bWVu dHMiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiBMZW5ndGhGaWVsZD0iTm9PZklucHV0QXJndW1lbnRz IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h bWU9IkNhbGxNZXRob2RSZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg IDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+ DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mSW5wdXRBcmd1bWVudFJlc3VsdHMiIFR5cGVOYW1l PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbnB1dEFyZ3VtZW50UmVzdWx0 cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mSW5wdXRBcmd1bWVu dFJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mSW5wdXRBcmd1bWVudERpYWdu b3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 IklucHV0QXJndW1lbnREaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5m byIgTGVuZ3RoRmllbGQ9Ik5vT2ZJbnB1dEFyZ3VtZW50RGlhZ25vc3RpY0luZm9zIiAvPg0KICAg IDxvcGM6RmllbGQgTmFtZT0iTm9PZk91dHB1dEFyZ3VtZW50cyIgVHlwZU5hbWU9Im9wYzpJbnQz MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik91dHB1dEFyZ3VtZW50cyIgVHlwZU5hbWU9InVh OlZhcmlhbnQiIExlbmd0aEZpZWxkPSJOb09mT3V0cHV0QXJndW1lbnRzIiAvPg0KICA8L29wYzpT dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNhbGxSZXF1ZXN0 IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl cXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZp ZWxkIE5hbWU9Ik5vT2ZNZXRob2RzVG9DYWxsIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg IDxvcGM6RmllbGQgTmFtZT0iTWV0aG9kc1RvQ2FsbCIgVHlwZU5hbWU9InRuczpDYWxsTWV0aG9k UmVxdWVzdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZNZXRob2RzVG9DYWxsIiAvPg0KICA8L29wYzpTdHJ1 Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNhbGxSZXNwb25zZSIg QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNw b25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZp ZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InRuczpDYWxsTWV0aG9kUmVzdWx0IiBMZW5n dGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25v c3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i RGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxk PSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9Ik1vbml0b3JpbmdNb2RlIiBMZW5ndGhJbkJpdHM9IjMy Ij4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEaXNhYmxlZCIgVmFsdWU9IjAiIC8+ DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU2FtcGxpbmciIFZhbHVlPSIxIiAvPg0K ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlcG9ydGluZyIgVmFsdWU9IjIiIC8+DQog IDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRGF0 YUNoYW5nZVRyaWdnZXIiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh bHVlIE5hbWU9IlN0YXR1cyIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg TmFtZT0iU3RhdHVzVmFsdWUiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl IE5hbWU9IlN0YXR1c1ZhbHVlVGltZXN0YW1wIiBWYWx1ZT0iMiIgLz4NCiAgPC9vcGM6RW51bWVy YXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJEZWFkYmFuZFR5cGUiIExl bmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZh bHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFic29sdXRlIiBWYWx1 ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJQZXJjZW50IiBWYWx1ZT0i MiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO YW1lPSJNb25pdG9yaW5nRmlsdGVyIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRh Q2hhbmdlRmlsdGVyIiBCYXNlVHlwZT0idG5zOk1vbml0b3JpbmdGaWx0ZXIiPg0KICAgIDxvcGM6 RmllbGQgTmFtZT0iVHJpZ2dlciIgVHlwZU5hbWU9InRuczpEYXRhQ2hhbmdlVHJpZ2dlciIgLz4N CiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlYWRiYW5kVHlwZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIi IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZWFkYmFuZFZhbHVlIiBUeXBlTmFtZT0ib3BjOkRv dWJsZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw ZSBOYW1lPSJFdmVudEZpbHRlciIgQmFzZVR5cGU9InRuczpNb25pdG9yaW5nRmlsdGVyIj4NCiAg ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZWxlY3RDbGF1c2VzIiBUeXBlTmFtZT0ib3BjOkludDMy IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VsZWN0Q2xhdXNlcyIgVHlwZU5hbWU9InRuczpT aW1wbGVBdHRyaWJ1dGVPcGVyYW5kIiBMZW5ndGhGaWVsZD0iTm9PZlNlbGVjdENsYXVzZXMiIC8+ DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXaGVyZUNsYXVzZSIgVHlwZU5hbWU9InRuczpDb250ZW50 RmlsdGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU eXBlIE5hbWU9IkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlU2VydmVyQ2FwYWJpbGl0aWVzRGVmYXVs dHMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyZWF0 VW5jZXJ0YWluQXNCYWQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxk IE5hbWU9IlBlcmNlbnREYXRhQmFkIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpG aWVsZCBOYW1lPSJQZXJjZW50RGF0YUdvb2QiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9IlVzZVNsb3BlZEV4dHJhcG9sYXRpb24iIFR5cGVOYW1lPSJvcGM6Qm9v bGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw ZSBOYW1lPSJBZ2dyZWdhdGVGaWx0ZXIiIEJhc2VUeXBlPSJ0bnM6TW9uaXRvcmluZ0ZpbHRlciI+ DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGFydFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUi IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZ2dyZWdhdGVUeXBlIiBUeXBlTmFtZT0idWE6Tm9k ZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJvY2Vzc2luZ0ludGVydmFsIiBUeXBlTmFt ZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFnZ3JlZ2F0ZUNvbmZpZ3Vy YXRpb24iIFR5cGVOYW1lPSJ0bnM6QWdncmVnYXRlQ29uZmlndXJhdGlvbiIgLz4NCiAgPC9vcGM6 U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb25pdG9yaW5n RmlsdGVyUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgPC9vcGM6U3Ry dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJFdmVudEZpbHRlclJl c3VsdCIgQmFzZVR5cGU9InRuczpNb25pdG9yaW5nRmlsdGVyUmVzdWx0Ij4NCiAgICA8b3BjOkZp ZWxkIE5hbWU9Ik5vT2ZTZWxlY3RDbGF1c2VSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VsZWN0Q2xhdXNlUmVzdWx0cyIgVHlwZU5hbWU9InVh OlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mU2VsZWN0Q2xhdXNlUmVzdWx0cyIgLz4NCiAg ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZWxlY3RDbGF1c2VEaWFnbm9zdGljSW5mb3MiIFR5cGVO YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWxlY3RDbGF1c2VEaWFn bm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5v T2ZTZWxlY3RDbGF1c2VEaWFnbm9zdGljSW5mb3MiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJX aGVyZUNsYXVzZVJlc3VsdCIgVHlwZU5hbWU9InRuczpDb250ZW50RmlsdGVyUmVzdWx0IiAvPg0K ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFn Z3JlZ2F0ZUZpbHRlclJlc3VsdCIgQmFzZVR5cGU9InRuczpNb25pdG9yaW5nRmlsdGVyUmVzdWx0 Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRTdGFydFRpbWUiIFR5cGVOYW1lPSJvcGM6 RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkUHJvY2Vzc2luZ0ludGVy dmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlz ZWRBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBUeXBlTmFtZT0idG5zOkFnZ3JlZ2F0ZUNvbmZpZ3Vy YXRpb24iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 cGUgTmFtZT0iTW9uaXRvcmluZ1BhcmFtZXRlcnMiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl Y3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50SGFuZGxlIiBUeXBlTmFtZT0ib3BjOlVJ bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNhbXBsaW5nSW50ZXJ2YWwiIFR5cGVOYW1l PSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmlsdGVyIiBUeXBlTmFtZT0i dWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVldWVTaXplIiBU eXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2NhcmRPbGRl c3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCIg QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJdGVt VG9Nb25pdG9yIiBUeXBlTmFtZT0idG5zOlJlYWRWYWx1ZUlkIiAvPg0KICAgIDxvcGM6RmllbGQg TmFtZT0iTW9uaXRvcmluZ01vZGUiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmluZ01vZGUiIC8+DQog ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRQYXJhbWV0ZXJzIiBUeXBlTmFtZT0idG5zOk1v bml0b3JpbmdQYXJhbWV0ZXJzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj OlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vbml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIEJhc2VUeXBl PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIg VHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb25pdG9y ZWRJdGVtSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i UmV2aXNlZFNhbXBsaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxv cGM6RmllbGQgTmFtZT0iUmV2aXNlZFF1ZXVlU2l6ZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXJSZXN1bHQiIFR5cGVOYW1lPSJ1YTpFeHRlbnNp b25PYmplY3QiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl ZFR5cGUgTmFtZT0iQ3JlYXRlTW9uaXRvcmVkSXRlbXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0 ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVO YW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlw dGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRp bWVzdGFtcHNUb1JldHVybiIgVHlwZU5hbWU9InRuczpUaW1lc3RhbXBzVG9SZXR1cm4iIC8+DQog ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mSXRlbXNUb0NyZWF0ZSIgVHlwZU5hbWU9Im9wYzpJbnQz MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikl0ZW1zVG9DcmVhdGUiIFR5cGVOYW1lPSJ0bnM6 TW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIExlbmd0aEZpZWxkPSJOb09mSXRlbXNUb0NyZWF0 ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO YW1lPSJDcmVhdGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0i dG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMi IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBU eXBlTmFtZT0idG5zOk1vbml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09m UmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5 cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5m b3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9z dGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl ZFR5cGUgTmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlmeVJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRl bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmVkSXRlbUlkIiBUeXBl TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZFBhcmFt ZXRlcnMiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmluZ1BhcmFtZXRlcnMiIC8+DQogIDwvb3BjOlN0 cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9uaXRvcmVkSXRl bU1vZGlmeVJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpG aWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRTYW1wbGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRv dWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRRdWV1ZVNpemUiIFR5cGVOYW1l PSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmlsdGVyUmVzdWx0IiBUeXBl TmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vZGlmeU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIg QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w YzpGaWVsZCBOYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iIFR5cGVOYW1lPSJ0bnM6VGltZXN0YW1w c1RvUmV0dXJuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkl0ZW1zVG9Nb2RpZnkiIFR5 cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJdGVtc1RvTW9kaWZ5 IiBUeXBlTmFtZT0idG5zOk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiBMZW5ndGhGaWVsZD0i Tm9PZkl0ZW1zVG9Nb2RpZnkiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXNwb25zZSIgQmFzZVR5 cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhl YWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5h bWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg TmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InRuczpNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0IiBM ZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlh Z25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt ZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZp ZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNldE1vbml0b3JpbmdNb2RlUmVxdWVzdCIgQmFz ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0 SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG aWVsZCBOYW1lPSJNb25pdG9yaW5nTW9kZSIgVHlwZU5hbWU9InRuczpNb25pdG9yaW5nTW9kZSIg Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZNb25pdG9yZWRJdGVtSWRzIiBUeXBlTmFtZT0i b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmVkSXRlbUlkcyIgVHlw ZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mTW9uaXRvcmVkSXRlbUlkcyIgLz4N CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJT ZXRNb25pdG9yaW5nTW9kZVJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3Bv bnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1l PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0i dWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg ICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0 aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3Ry dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXRUcmlnZ2VyaW5n UmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAg PG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmlnZ2VyaW5nSXRlbUlkIiBUeXBlTmFtZT0ib3BjOlVJ bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZMaW5rc1RvQWRkIiBUeXBlTmFtZT0i b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGlua3NUb0FkZCIgVHlwZU5hbWU9 Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mTGlua3NUb0FkZCIgLz4NCiAgICA8b3BjOkZp ZWxkIE5hbWU9Ik5vT2ZMaW5rc1RvUmVtb3ZlIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg IDxvcGM6RmllbGQgTmFtZT0iTGlua3NUb1JlbW92ZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIExl bmd0aEZpZWxkPSJOb09mTGlua3NUb1JlbW92ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXRUcmlnZ2VyaW5nUmVzcG9uc2UiIEJh c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9u c2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJOb09mQWRkUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj OkZpZWxkIE5hbWU9IkFkZFJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhG aWVsZD0iTm9PZkFkZFJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQWRkRGlh Z25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt ZT0iQWRkRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0 aEZpZWxkPSJOb09mQWRkRGlhZ25vc3RpY0luZm9zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i Tm9PZlJlbW92ZVJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJSZW1vdmVSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmll bGQ9Ik5vT2ZSZW1vdmVSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlbW92 ZURpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk IE5hbWU9IlJlbW92ZURpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZv IiBMZW5ndGhGaWVsZD0iTm9PZlJlbW92ZURpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3Ry dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVNb25pdG9y ZWRJdGVtc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAv Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUlu dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk1vbml0b3JlZEl0ZW1JZHMiIFR5cGVO YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb25pdG9yZWRJdGVtSWRz IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZNb25pdG9yZWRJdGVtSWRz IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h bWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0 bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIg VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5 cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAg PG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMy IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6 RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8 L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNyZWF0 ZVN1YnNjcmlwdGlvblJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg IDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVh ZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFs IiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3Rl ZExpZmV0aW1lQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg TmFtZT0iUmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAv Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2giIFR5cGVO YW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaGluZ0VuYWJs ZWQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByaW9y aXR5IiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ3JlYXRlU3Vic2NyaXB0aW9uUmVzcG9uc2UiIEJh c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9u c2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w YzpGaWVsZCBOYW1lPSJSZXZpc2VkUHVibGlzaGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRv dWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRMaWZldGltZUNvdW50IiBUeXBl TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRNYXhLZWVw QWxpdmVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9kaWZ5U3Vic2NyaXB0aW9uUmVx dWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1l PSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9w YzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQog ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWwiIFR5cGVOYW1l PSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkTGlmZXRpbWVD b3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w YzpGaWVsZCBOYW1lPSJNYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaCIgVHlwZU5hbWU9Im9wYzpV SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcmlvcml0eSIgVHlwZU5hbWU9Im9wYzpC eXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl IE5hbWU9Ik1vZGlmeVN1YnNjcmlwdGlvblJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0i dG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZFB1Ymxp c2hpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJSZXZpc2VkTGlmZXRpbWVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAg PG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkTWF4S2VlcEFsaXZlQ291bnQiIFR5cGVOYW1lPSJvcGM6 VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU eXBlIE5hbWU9IlNldFB1Ymxpc2hpbmdNb2RlUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lv bk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0i dG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nRW5h YmxlZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P ZlN1YnNjcmlwdGlvbklkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk IE5hbWU9IlN1YnNjcmlwdGlvbklkcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxk PSJOb09mU3Vic2NyaXB0aW9uSWRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNldFB1Ymxpc2hpbmdNb2RlUmVzcG9uc2UiIEJhc2VU eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VI ZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk IE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9P ZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBU eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0lu Zm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25v c3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy ZWRUeXBlIE5hbWU9Ik5vdGlmaWNhdGlvbk1lc3NhZ2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VxdWVuY2VOdW1iZXIiIFR5cGVOYW1lPSJv cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaFRpbWUiIFR5cGVOYW1l PSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTm90aWZpY2F0aW9u RGF0YSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vdGlm aWNhdGlvbkRhdGEiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIExlbmd0aEZpZWxkPSJO b09mTm90aWZpY2F0aW9uRGF0YSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJOb3RpZmljYXRpb25EYXRhIiBCYXNlVHlwZT0idWE6RXh0 ZW5zaW9uT2JqZWN0Ij4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 cmVkVHlwZSBOYW1lPSJEYXRhQ2hhbmdlTm90aWZpY2F0aW9uIiBCYXNlVHlwZT0idG5zOk5vdGlm aWNhdGlvbkRhdGEiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk1vbml0b3JlZEl0ZW1zIiBU eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmVkSXRl bXMiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiIgTGVuZ3RoRmllbGQ9 Ik5vT2ZNb25pdG9yZWRJdGVtcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9z dGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE aWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9 Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiIgQmFzZVR5 cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnRIYW5k bGUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsdWUi IFR5cGVOYW1lPSJ1YTpEYXRhVmFsdWUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRXZlbnROb3RpZmljYXRpb25MaXN0IiBCYXNlVHlw ZT0idG5zOk5vdGlmaWNhdGlvbkRhdGEiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkV2ZW50 cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50cyIg VHlwZU5hbWU9InRuczpFdmVudEZpZWxkTGlzdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZFdmVudHMiIC8+ DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i RXZlbnRGaWVsZExpc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 RmllbGQgTmFtZT0iQ2xpZW50SGFuZGxlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFdmVudEZpZWxkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N CiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50RmllbGRzIiBUeXBlTmFtZT0idWE6VmFyaWFudCIg TGVuZ3RoRmllbGQ9Ik5vT2ZFdmVudEZpZWxkcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5RXZlbnRGaWVsZExpc3QiIEJh c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkV2 ZW50RmllbGRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i RXZlbnRGaWVsZHMiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiBMZW5ndGhGaWVsZD0iTm9PZkV2ZW50 RmllbGRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU eXBlIE5hbWU9IlN0YXR1c0NoYW5nZU5vdGlmaWNhdGlvbiIgQmFzZVR5cGU9InRuczpOb3RpZmlj YXRpb25EYXRhIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1cyIgVHlwZU5hbWU9InVhOlN0 YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mbyIgVHlwZU5h bWU9InVhOkRpYWdub3N0aWNJbmZvIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudCIgQmFz ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3Jp cHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT ZXF1ZW5jZU51bWJlciIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVy ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUHVibGlzaFJlcXVlc3QiIEJh c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVz dEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQg TmFtZT0iTm9PZlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudHMiIFR5cGVOYW1lPSJvcGM6SW50 MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnRz IiBUeXBlTmFtZT0idG5zOlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudCIgTGVuZ3RoRmllbGQ9 Ik5vT2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlB1Ymxpc2hSZXNwb25zZSIgQmFz ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25z ZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxk IE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3Bj OkZpZWxkIE5hbWU9Ik5vT2ZBdmFpbGFibGVTZXF1ZW5jZU51bWJlcnMiIFR5cGVOYW1lPSJvcGM6 SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdmFpbGFibGVTZXF1ZW5jZU51bWJlcnMi IFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkF2YWlsYWJsZVNlcXVlbmNl TnVtYmVycyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vcmVOb3RpZmljYXRpb25zIiBUeXBl TmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb3RpZmljYXRpb25N ZXNzYWdlIiBUeXBlTmFtZT0idG5zOk5vdGlmaWNhdGlvbk1lc3NhZ2UiIC8+DQogICAgPG9wYzpG aWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj OkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVs ZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0lu Zm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25v c3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09m RGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 cnVjdHVyZWRUeXBlIE5hbWU9IlJlcHVibGlzaFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp b25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9 InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9u SWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV0cmFu c21pdFNlcXVlbmNlTnVtYmVyIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3Ry dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZXB1Ymxpc2hSZXNw b25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1l PSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9Ik5vdGlmaWNhdGlvbk1lc3NhZ2UiIFR5cGVOYW1lPSJ0bnM6Tm90aWZp Y2F0aW9uTWVzc2FnZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 Y3R1cmVkVHlwZSBOYW1lPSJUcmFuc2ZlclJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3Rh dHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBdmFpbGFibGVTZXF1ZW5jZU51 bWJlcnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdmFp bGFibGVTZXF1ZW5jZU51bWJlcnMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0i Tm9PZkF2YWlsYWJsZVNlcXVlbmNlTnVtYmVycyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJUcmFuc2ZlclN1YnNjcmlwdGlvbnNSZXF1 ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3Bj OkZpZWxkIE5hbWU9Ik5vT2ZTdWJzY3JpcHRpb25JZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZHMiIFR5cGVOYW1lPSJvcGM6VUlu dDMyIiBMZW5ndGhGaWVsZD0iTm9PZlN1YnNjcmlwdGlvbklkcyIgLz4NCiAgICA8b3BjOkZpZWxk IE5hbWU9IlNlbmRJbml0aWFsVmFsdWVzIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwv b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVHJhbnNm ZXJTdWJzY3JpcHRpb25zUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9u c2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9 Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0 bnM6VHJhbnNmZXJSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3Bj OkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFn bm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3Bj OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlU3Vi c2NyaXB0aW9uc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv cGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVy IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlN1YnNjcmlwdGlvbklkcyIgVHlwZU5hbWU9 Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkcyIgVHlw ZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mU3Vic2NyaXB0aW9uSWRzIiAvPg0K ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRl bGV0ZVN1YnNjcmlwdGlvbnNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNw b25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFt ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9 InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZp ZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog ICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9z dGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0 cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRW51bWVyYXRlZFRl c3RUeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBzaW1w bGUgZW51bWVyYXRlZCB0eXBlIHVzZWQgZm9yIHRlc3RpbmcuPC9vcGM6RG9jdW1lbnRhdGlvbj4N CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWQiIFZhbHVlPSIxIiAvPg0KICAgIDxv cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlllbGxvdyIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpF bnVtZXJhdGVkVmFsdWUgTmFtZT0iR3JlZW4iIFZhbHVlPSI1IiAvPg0KICA8L29wYzpFbnVtZXJh dGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJ1aWxkSW5mbyIgQmFzZVR5 cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcm9kdWN0VXJp IiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1hbnVmYWN0 dXJlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i UHJvZHVjdE5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt ZT0iU29mdHdhcmVWZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp ZWxkIE5hbWU9IkJ1aWxkTnVtYmVyIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3Bj OkZpZWxkIE5hbWU9IkJ1aWxkRGF0ZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgPC9v cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJSZWR1bmRh bmN5U3VwcG9ydCIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg TmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i Q29sZCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iV2FybSIg VmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSG90IiBWYWx1ZT0i MyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJUcmFuc3BhcmVudCIgVmFsdWU9 IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSG90QW5kTWlycm9yZWQiIFZh bHVlPSI1IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRU eXBlIE5hbWU9IlNlcnZlclN0YXRlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1l cmF0ZWRWYWx1ZSBOYW1lPSJSdW5uaW5nIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0 ZWRWYWx1ZSBOYW1lPSJGYWlsZWQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh bHVlIE5hbWU9Ik5vQ29uZmlndXJhdGlvbiIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJh dGVkVmFsdWUgTmFtZT0iU3VzcGVuZGVkIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0 ZWRWYWx1ZSBOYW1lPSJTaHV0ZG93biIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk VmFsdWUgTmFtZT0iVGVzdCIgVmFsdWU9IjUiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg TmFtZT0iQ29tbXVuaWNhdGlvbkZhdWx0IiBWYWx1ZT0iNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0 ZWRWYWx1ZSBOYW1lPSJVbmtub3duIiBWYWx1ZT0iNyIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5 cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlw ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT ZXJ2ZXJJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT ZXJ2aWNlTGV2ZWwiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 IlNlcnZlclN0YXRlIiBUeXBlTmFtZT0idG5zOlNlcnZlclN0YXRlIiAvPg0KICA8L29wYzpTdHJ1 Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkVuZHBvaW50VXJsTGlz dERhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk IE5hbWU9Ik5vT2ZFbmRwb2ludFVybExpc3QiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg PG9wYzpGaWVsZCBOYW1lPSJFbmRwb2ludFVybExpc3QiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBM ZW5ndGhGaWVsZD0iTm9PZkVuZHBvaW50VXJsTGlzdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJOZXR3b3JrR3JvdXBEYXRhVHlwZSIg QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2 ZXJVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P Zk5ldHdvcmtQYXRocyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h bWU9Ik5ldHdvcmtQYXRocyIgVHlwZU5hbWU9InRuczpFbmRwb2ludFVybExpc3REYXRhVHlwZSIg TGVuZ3RoRmllbGQ9Ik5vT2ZOZXR3b3JrUGF0aHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0 aWNzRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iU2FtcGxpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAg PG9wYzpGaWVsZCBOYW1lPSJNb25pdG9yZWRJdGVtQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMy IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4TW9uaXRvcmVkSXRlbUNvdW50IiBUeXBlTmFt ZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2FibGVkTW9uaXRvcmVk SXRlbUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXJ2ZXJEaWFnbm9zdGljc1N1bW1h cnlEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJTZXJ2ZXJWaWV3Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxv cGM6RmllbGQgTmFtZT0iQ3VycmVudFNlc3Npb25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIi IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdW11bGF0ZWRTZXNzaW9uQ291bnQiIFR5cGVOYW1l PSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlSZWplY3RlZFNl c3Npb25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l PSJSZWplY3RlZFNlc3Npb25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w YzpGaWVsZCBOYW1lPSJTZXNzaW9uVGltZW91dENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlc3Npb25BYm9ydENvdW50IiBUeXBlTmFtZT0ib3Bj OlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1cnJlbnRTdWJzY3JpcHRpb25Db3Vu dCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdW11bGF0 ZWRTdWJzY3JpcHRpb25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG aWVsZCBOYW1lPSJQdWJsaXNoaW5nSW50ZXJ2YWxDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIi IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eVJlamVjdGVkUmVxdWVzdHNDb3VudCIg VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWplY3RlZFJl cXVlc3RzQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNlcnZlclN0YXR1c0RhdGFUeXBl IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0 YXJ0VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 IkN1cnJlbnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQg TmFtZT0iU3RhdGUiIFR5cGVOYW1lPSJ0bnM6U2VydmVyU3RhdGUiIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJCdWlsZEluZm8iIFR5cGVOYW1lPSJ0bnM6QnVpbGRJbmZvIiAvPg0KICAgIDxvcGM6 RmllbGQgTmFtZT0iU2Vjb25kc1RpbGxTaHV0ZG93biIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTaHV0ZG93blJlYXNvbiIgVHlwZU5hbWU9InVhOkxvY2Fs aXplZFRleHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl ZFR5cGUgTmFtZT0iU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRl bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvbklkIiBUeXBlTmFtZT0i dWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvbk5hbWUiIFR5cGVOYW1l PSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50RGVzY3JpcHRpb24i IFR5cGVOYW1lPSJ0bnM6QXBwbGljYXRpb25EZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxk IE5hbWU9IlNlcnZlclVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJFbmRwb2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpG aWVsZCBOYW1lPSJOb09mTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv cGM6RmllbGQgTmFtZT0iTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmll bGQ9Ik5vT2ZMb2NhbGVJZHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBY3R1YWxTZXNzaW9u VGltZW91dCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJN YXhSZXNwb25zZU1lc3NhZ2VTaXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3Bj OkZpZWxkIE5hbWU9IkNsaWVudENvbm5lY3Rpb25UaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1l IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50TGFzdENvbnRhY3RUaW1lIiBUeXBlTmFt ZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3VycmVudFN1YnNjcmlw dGlvbnNDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l PSJDdXJyZW50TW9uaXRvcmVkSXRlbXNDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQog ICAgPG9wYzpGaWVsZCBOYW1lPSJDdXJyZW50UHVibGlzaFJlcXVlc3RzSW5RdWV1ZSIgVHlwZU5h bWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUb3RhbFJlcXVlc3RDb3Vu dCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iVW5hdXRob3JpemVkUmVxdWVzdENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlYWRDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNl Q291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSGlzdG9yeVJlYWRDb3Vu dCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iV3JpdGVDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBl IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSGlzdG9yeVVwZGF0ZUNvdW50IiBUeXBlTmFtZT0i dG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDYWxs Q291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3Bj OkZpZWxkIE5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2Vy dmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vZGlmeU1vbml0 b3JlZEl0ZW1zQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4N CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNldE1vbml0b3JpbmdNb2RlQ291bnQiIFR5cGVOYW1lPSJ0 bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNldFRy aWdnZXJpbmdDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0K ICAgIDxvcGM6RmllbGQgTmFtZT0iRGVsZXRlTW9uaXRvcmVkSXRlbXNDb3VudCIgVHlwZU5hbWU9 InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3Jl YXRlU3Vic2NyaXB0aW9uQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlw ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vZGlmeVN1YnNjcmlwdGlvbkNvdW50IiBUeXBl TmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l PSJTZXRQdWJsaXNoaW5nTW9kZUNvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0 YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoQ291bnQiIFR5cGVOYW1lPSJ0 bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcHVi bGlzaENvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAg PG9wYzpGaWVsZCBOYW1lPSJUcmFuc2ZlclN1YnNjcmlwdGlvbnNDb3VudCIgVHlwZU5hbWU9InRu czpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVsZXRl U3Vic2NyaXB0aW9uc0NvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUi IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGROb2Rlc0NvdW50IiBUeXBlTmFtZT0idG5zOlNl cnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGRSZWZlcmVu Y2VzQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9IkRlbGV0ZU5vZGVzQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNv dW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlbGV0ZVJlZmVyZW5jZXND b3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6 RmllbGQgTmFtZT0iQnJvd3NlQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRh VHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5leHRDb3VudCIgVHlwZU5hbWU9 InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJh bnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291 bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVlcnlGaXJzdENvdW50IiBU eXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJRdWVyeU5leHRDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBl IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVnaXN0ZXJOb2Rlc0NvdW50IiBUeXBlTmFtZT0i dG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVbnJl Z2lzdGVyTm9kZXNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAv Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 IlNlc3Npb25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp b25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6 Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50VXNlcklkT2ZTZXNzaW9uIiBU eXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZDbGllbnRV c2VySWRIaXN0b3J5IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt ZT0iQ2xpZW50VXNlcklkSGlzdG9yeSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxk PSJOb09mQ2xpZW50VXNlcklkSGlzdG9yeSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF1dGhl bnRpY2F0aW9uTWVjaGFuaXNtIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp ZWxkIE5hbWU9IkVuY29kaW5nIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp ZWxkIE5hbWU9IlRyYW5zcG9ydFByb3RvY29sIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAg ICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TW9kZSIgVHlwZU5hbWU9InRuczpNZXNzYWdlU2Vj dXJpdHlNb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlQb2xpY3lVcmkiIFR5 cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50Q2VydGlm aWNhdGUiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXJ2aWNlQ291bnRlckRhdGFUeXBl IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRv dGFsQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i RXJyb3JDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU3RhdHVzUmVzdWx0IiBCYXNlVHlw ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUi IFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25v c3RpY0luZm8iIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgLz4NCiAgPC9vcGM6U3RydWN0 dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTdWJzY3JpcHRpb25EaWFn bm9zdGljc0RhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj OkZpZWxkIE5hbWU9IlNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3Bj OkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAg ICA8b3BjOkZpZWxkIE5hbWU9IlByaW9yaXR5IiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAg PG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91Ymxl IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4S2VlcEFsaXZlQ291bnQiIFR5cGVOYW1lPSJv cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4TGlmZXRpbWVDb3VudCIgVHlw ZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhOb3RpZmljYXRp b25zUGVyUHVibGlzaCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJQdWJsaXNoaW5nRW5hYmxlZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxv cGM6RmllbGQgTmFtZT0iTW9kaWZ5Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg IDxvcGM6RmllbGQgTmFtZT0iRW5hYmxlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K ICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzYWJsZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcHVibGlzaFJlcXVlc3RDb3VudCIgVHlwZU5hbWU9 Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXB1Ymxpc2hNZXNzYWdlUmVx dWVzdENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 IlJlcHVibGlzaE1lc3NhZ2VDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w YzpGaWVsZCBOYW1lPSJUcmFuc2ZlclJlcXVlc3RDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIi IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFuc2ZlcnJlZFRvQWx0Q2xpZW50Q291bnQiIFR5 cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhbnNmZXJyZWRU b1NhbWVDbGllbnRDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJQdWJsaXNoUmVxdWVzdENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAg ICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFDaGFuZ2VOb3RpZmljYXRpb25zQ291bnQiIFR5cGVOYW1l PSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnROb3RpZmljYXRpb25z Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm90 aWZpY2F0aW9uc0NvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk IE5hbWU9IkxhdGVQdWJsaXNoUmVxdWVzdENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N CiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1cnJlbnRLZWVwQWxpdmVDb3VudCIgVHlwZU5hbWU9Im9w YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdXJyZW50TGlmZXRpbWVDb3VudCIg VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVbmFja25vd2xl ZGdlZE1lc3NhZ2VDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJEaXNjYXJkZWRNZXNzYWdlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K ICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmVkSXRlbUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJ bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2FibGVkTW9uaXRvcmVkSXRlbUNvdW50 IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3Jp bmdRdWV1ZU92ZXJmbG93Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6 RmllbGQgTmFtZT0iTmV4dFNlcXVlbmNlTnVtYmVyIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N CiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50UXVldWVPdmVyRmxvd0NvdW50IiBUeXBlTmFtZT0i b3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJh dGVkVHlwZSBOYW1lPSJNb2RlbENoYW5nZVN0cnVjdHVyZVZlcmJNYXNrIiBMZW5ndGhJbkJpdHM9 IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlQWRkZWQiIFZhbHVlPSIx IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vZGVEZWxldGVkIiBWYWx1ZT0i MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWZlcmVuY2VBZGRlZCIgVmFs dWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlRGVsZXRl ZCIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGF0YVR5cGVD aGFuZ2VkIiBWYWx1ZT0iMTYiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6 U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgQmFzZVR5 cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZmZlY3RlZCIg VHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFmZmVjdGVkVHlw ZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZlcmIiIFR5 cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT dHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZW1hbnRpY0NoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiBCYXNl VHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFmZmVjdGVk IiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWZmZWN0ZWRU eXBlIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJhbmdlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvdyIgVHlwZU5hbWU9Im9wYzpEb3VibGUi IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJIaWdoIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4N CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJF VUluZm9ybWF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp ZWxkIE5hbWU9Ik5hbWVzcGFjZVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9w YzpGaWVsZCBOYW1lPSJVbml0SWQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG aWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQog ICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRl eHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUg TmFtZT0iQXhpc1NjYWxlRW51bWVyYXRpb24iIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6 RW51bWVyYXRlZFZhbHVlIE5hbWU9IkxpbmVhciIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVt ZXJhdGVkVmFsdWUgTmFtZT0iTG9nIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW YWx1ZSBOYW1lPSJMbiIgVmFsdWU9IjIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQog IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ29tcGxleE51bWJlclR5cGUiIEJhc2VUeXBlPSJ1 YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVhbCIgVHlwZU5hbWU9 Im9wYzpGbG9hdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkltYWdpbmFyeSIgVHlwZU5hbWU9 Im9wYzpGbG9hdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 cmVkVHlwZSBOYW1lPSJEb3VibGVDb21wbGV4TnVtYmVyVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVu c2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWFsIiBUeXBlTmFtZT0ib3BjOkRv dWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkltYWdpbmFyeSIgVHlwZU5hbWU9Im9wYzpE b3VibGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 cGUgTmFtZT0iQXhpc0luZm9ybWF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N CiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuZ2luZWVyaW5nVW5pdHMiIFR5cGVOYW1lPSJ0bnM6RVVJ bmZvcm1hdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVVUmFuZ2UiIFR5cGVOYW1lPSJ0 bnM6UmFuZ2UiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaXRsZSIgVHlwZU5hbWU9InVhOkxv Y2FsaXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBeGlzU2NhbGVUeXBlIiBUeXBl TmFtZT0idG5zOkF4aXNTY2FsZUVudW1lcmF0aW9uIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i Tm9PZkF4aXNTdGVwcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h bWU9IkF4aXNTdGVwcyIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIExlbmd0aEZpZWxkPSJOb09mQXhp c1N0ZXBzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU eXBlIE5hbWU9IlhWVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w YzpGaWVsZCBOYW1lPSJYIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxk IE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0ib3BjOkZsb2F0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlByb2dyYW1EaWFnbm9zdGljRGF0 YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt ZT0iQ3JlYXRlU2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iQ3JlYXRlQ2xpZW50TmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAg PG9wYzpGaWVsZCBOYW1lPSJJbnZvY2F0aW9uQ3JlYXRpb25UaW1lIiBUeXBlTmFtZT0ib3BjOkRh dGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdFRyYW5zaXRpb25UaW1lIiBUeXBl TmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZENh bGwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1l dGhvZFNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5h bWU9Ik5vT2ZMYXN0TWV0aG9kSW5wdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kSW5wdXRBcmd1bWVudHMiIFR5cGVOYW1l PSJ0bnM6QXJndW1lbnQiIExlbmd0aEZpZWxkPSJOb09mTGFzdE1ldGhvZElucHV0QXJndW1lbnRz IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxhc3RNZXRob2RPdXRwdXRBcmd1bWVudHMi IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9k T3V0cHV0QXJndW1lbnRzIiBUeXBlTmFtZT0idG5zOkFyZ3VtZW50IiBMZW5ndGhGaWVsZD0iTm9P Zkxhc3RNZXRob2RPdXRwdXRBcmd1bWVudHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0 TWV0aG9kQ2FsbFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJMYXN0TWV0aG9kUmV0dXJuU3RhdHVzIiBUeXBlTmFtZT0idG5zOlN0YXR1c1Jlc3Vs dCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO YW1lPSJBbm5vdGF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj OkZpZWxkIE5hbWU9Ik1lc3NhZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6 RmllbGQgTmFtZT0iVXNlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6 RmllbGQgTmFtZT0iQW5ub3RhdGlvblRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQog IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRXhj ZXB0aW9uRGV2aWF0aW9uRm9ybWF0IiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1l cmF0ZWRWYWx1ZSBOYW1lPSJBYnNvbHV0ZVZhbHVlIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVu dW1lcmF0ZWRWYWx1ZSBOYW1lPSJQZXJjZW50T2ZWYWx1ZSIgVmFsdWU9IjEiIC8+DQogICAgPG9w YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUGVyY2VudE9mUmFuZ2UiIFZhbHVlPSIyIiAvPg0KICAg IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlBlcmNlbnRPZkVVUmFuZ2UiIFZhbHVlPSIzIiAv Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVua25vd24iIFZhbHVlPSI0IiAvPg0K ICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KPC9vcGM6VHlwZURpY3Rpb25hcnk+ NamespaceUri A URI that uniquely identifies the dictionary. i=68 i=7617 http://opcfoundation.org/UA/ TrustListDataType i=69 i=7617 TrustListDataType Argument i=69 i=7617 Argument EnumValueType i=69 i=7617 EnumValueType OptionSet i=69 i=7617 OptionSet Union i=69 i=7617 Union TimeZoneDataType i=69 i=7617 TimeZoneDataType ApplicationDescription i=69 i=7617 ApplicationDescription ServerOnNetwork i=69 i=7617 ServerOnNetwork UserTokenPolicy i=69 i=7617 UserTokenPolicy EndpointDescription i=69 i=7617 EndpointDescription RegisteredServer i=69 i=7617 RegisteredServer DiscoveryConfiguration i=69 i=7617 DiscoveryConfiguration MdnsDiscoveryConfiguration i=69 i=7617 MdnsDiscoveryConfiguration SignedSoftwareCertificate i=69 i=7617 SignedSoftwareCertificate UserIdentityToken i=69 i=7617 UserIdentityToken AnonymousIdentityToken i=69 i=7617 AnonymousIdentityToken UserNameIdentityToken i=69 i=7617 UserNameIdentityToken X509IdentityToken i=69 i=7617 X509IdentityToken KerberosIdentityToken i=69 i=7617 KerberosIdentityToken IssuedIdentityToken i=69 i=7617 IssuedIdentityToken AddNodesItem i=69 i=7617 AddNodesItem AddReferencesItem i=69 i=7617 AddReferencesItem DeleteNodesItem i=69 i=7617 DeleteNodesItem DeleteReferencesItem i=69 i=7617 DeleteReferencesItem RelativePathElement i=69 i=7617 RelativePathElement RelativePath i=69 i=7617 RelativePath EndpointConfiguration i=69 i=7617 EndpointConfiguration SupportedProfile i=69 i=7617 SupportedProfile SoftwareCertificate i=69 i=7617 SoftwareCertificate ContentFilterElement i=69 i=7617 ContentFilterElement ContentFilter i=69 i=7617 ContentFilter FilterOperand i=69 i=7617 FilterOperand ElementOperand i=69 i=7617 ElementOperand LiteralOperand i=69 i=7617 LiteralOperand AttributeOperand i=69 i=7617 AttributeOperand SimpleAttributeOperand i=69 i=7617 SimpleAttributeOperand HistoryEvent i=69 i=7617 HistoryEvent MonitoringFilter i=69 i=7617 MonitoringFilter EventFilter i=69 i=7617 EventFilter AggregateConfiguration i=69 i=7617 AggregateConfiguration HistoryEventFieldList i=69 i=7617 HistoryEventFieldList BuildInfo i=69 i=7617 BuildInfo RedundantServerDataType i=69 i=7617 RedundantServerDataType EndpointUrlListDataType i=69 i=7617 EndpointUrlListDataType NetworkGroupDataType i=69 i=7617 NetworkGroupDataType SamplingIntervalDiagnosticsDataType i=69 i=7617 SamplingIntervalDiagnosticsDataType ServerDiagnosticsSummaryDataType i=69 i=7617 ServerDiagnosticsSummaryDataType ServerStatusDataType i=69 i=7617 ServerStatusDataType SessionDiagnosticsDataType i=69 i=7617 SessionDiagnosticsDataType SessionSecurityDiagnosticsDataType i=69 i=7617 SessionSecurityDiagnosticsDataType ServiceCounterDataType i=69 i=7617 ServiceCounterDataType StatusResult i=69 i=7617 StatusResult SubscriptionDiagnosticsDataType i=69 i=7617 SubscriptionDiagnosticsDataType ModelChangeStructureDataType i=69 i=7617 ModelChangeStructureDataType SemanticChangeStructureDataType i=69 i=7617 SemanticChangeStructureDataType Range i=69 i=7617 Range EUInformation i=69 i=7617 EUInformation ComplexNumberType i=69 i=7617 ComplexNumberType DoubleComplexNumberType i=69 i=7617 DoubleComplexNumberType AxisInformation i=69 i=7617 AxisInformation XVType i=69 i=7617 XVType ProgramDiagnosticDataType i=69 i=7617 ProgramDiagnosticDataType Annotation i=69 i=7617 Annotation python-opcua-0.90.3/schemas/Opc.Ua.Services.wsdl000066400000000000000000001173561310132730300214240ustar00rootroot00000000000000 python-opcua-0.90.3/schemas/Opc.Ua.Types.bsd000066400000000000000000004265061310132730300205440ustar00rootroot00000000000000 An XML element encoded as a UTF-8 string. The possible encodings for a NodeId value. An identifier for a node in a UA server address space. An identifier for a node in a UA server address space qualified with a complete namespace string. A 32-bit status code value. A recursive structure containing diagnostic information associated with a status code. A string qualified with a namespace index. A string qualified with a namespace index. A value with an associated timestamp, and quality. A serialized object prefixed with its data type identifier. A union of several types. An image encoded in BMP format. An image encoded in GIF format. An image encoded in JPEG format. An image encoded in PNG format. A mask of 32 bits that can be updated individually by using the top 32 bits as a mask. The type of identifier used in a node id. A mask specifying the class of the node. Specifies the attributes which belong to all nodes. Specifies the attributes which belong to object nodes. Specifies the attributes which belong to object type nodes. Specifies the attributes which belong to variable nodes. Specifies the attributes which belong to variable type nodes. Specifies the attributes which belong to reference type nodes. Specifies the attributes which belong to method nodes. Specifies a reference which belongs to a node. An argument for a method. A mapping between a value of an enumerated type and a name and description. This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask. This abstract DataType is the base DataType for all union DataTypes. A string normalized based on the rules in the unicode specification. An arbitraty numeric value. A period of time formatted as defined in ISO 8601-2000. A time formatted as defined in ISO 8601-2000. A date formatted as defined in ISO 8601-2000. A period of time measured in milliseconds. A date/time value specified in Universal Coordinated Time (UTC). An identifier for a user locale. A numeric identifier for an object. The types of applications. Describes an application and how to find it. The header passed with every server request. The header passed with every server response. The response returned by all services when there is a service level error. Finds the servers known to the discovery server. Finds the servers known to the discovery server. A certificate for an instance of an application. The type of security to use on a message. The possible user token types. Describes a user token that can be used with a server. The description of a endpoint that can be used to access a server. Gets the endpoints used by the server. Gets the endpoints used by the server. The information required to register a server with a discovery server. Registers a server with the discovery server. Registers a server with the discovery server. A base type for discovery configuration information. The discovery information needed for mDNS registration. Indicates whether a token if being created or renewed. The token that identifies a set of keys for an active secure channel. Creates a secure channel with a server. Creates a secure channel with a server. Closes a secure channel. Closes a secure channel. A software certificate with a digital signature. A unique identifier for a session used to authenticate requests. A digital signature. Creates a new session with the server. Creates a new session with the server. A base type for a user identity token. A token representing an anonymous user. A token representing a user identified by a user name and password. A token representing a user identified by an X509 certificate. A token representing a user identified by a WS-Security XML token. Activates a session with the server. Activates a session with the server. Closes a session with the server. Closes a session with the server. Cancels an outstanding request. Cancels an outstanding request. The bits used to specify default attributes for a new node. The base attributes for all nodes. The attributes for an object node. The attributes for a variable node. The attributes for a method node. The attributes for an object type node. The attributes for a variable type node. The attributes for a reference type node. The attributes for a data type node. The attributes for a view node. A request to add a node to the server address space. A result of an add node operation. Adds one or more nodes to the server address space. Adds one or more nodes to the server address space. A request to add a reference to the server address space. Adds one or more references to the server address space. Adds one or more references to the server address space. A request to delete a node to the server address space. Delete one or more nodes from the server address space. Delete one or more nodes from the server address space. A request to delete a node from the server address space. Delete one or more references from the server address space. Delete one or more references from the server address space. Define bits used to indicate which attributes are writable. The directions of the references to return. The view to browse. A request to browse the the references from a node. A bit mask which specifies what should be returned in a browse response. The description of a reference. An identifier for a suspended query or browse operation. The result of a browse operation. Browse the references for one or more nodes from the server address space. Browse the references for one or more nodes from the server address space. Continues one or more browse operations. Continues one or more browse operations. An element in a relative path. A relative path constructed from reference types and browse names. A request to translate a path into a node id. The target of the translated path. The result of a translate opearation. Translates one or more paths in the server address space. Translates one or more paths in the server address space. Registers one or more nodes for repeated use within a session. Registers one or more nodes for repeated use within a session. Unregisters one or more previously registered nodes. Unregisters one or more previously registered nodes. A monotonically increasing value. Specifies a range of array indexes. A time value specified as HH:MM:SS.SSS. A date value. A simple enumerated type used for testing. python-opcua-0.90.3/schemas/Opc.Ua.Types.xsd000066400000000000000000005746001310132730300205710ustar00rootroot00000000000000 true true true The type of identifier used in a node id. A mask specifying the class of the node. Specifies the attributes which belong to all nodes. Specifies the attributes which belong to object nodes. Specifies the attributes which belong to object type nodes. Specifies the attributes which belong to variable nodes. Specifies the attributes which belong to variable type nodes. Specifies the attributes which belong to reference type nodes. Specifies the attributes which belong to method nodes. Specifies a reference which belongs to a node. An argument for a method. A mapping between a value of an enumerated type and a name and description. This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask. This abstract DataType is the base DataType for all union DataTypes. The types of applications. Describes an application and how to find it. The header passed with every server request. The header passed with every server response. The response returned by all services when there is a service level error. Finds the servers known to the discovery server. Finds the servers known to the discovery server. The type of security to use on a message. The possible user token types. Describes a user token that can be used with a server. The description of a endpoint that can be used to access a server. Gets the endpoints used by the server. Gets the endpoints used by the server. The information required to register a server with a discovery server. Registers a server with the discovery server. Registers a server with the discovery server. A base type for discovery configuration information. The discovery information needed for mDNS registration. Indicates whether a token if being created or renewed. The token that identifies a set of keys for an active secure channel. Creates a secure channel with a server. Creates a secure channel with a server. Closes a secure channel. Closes a secure channel. A software certificate with a digital signature. A digital signature. Creates a new session with the server. Creates a new session with the server. A base type for a user identity token. A token representing an anonymous user. A token representing a user identified by a user name and password. A token representing a user identified by an X509 certificate. A token representing a user identified by a WS-Security XML token. Activates a session with the server. Activates a session with the server. Closes a session with the server. Closes a session with the server. Cancels an outstanding request. Cancels an outstanding request. The bits used to specify default attributes for a new node. The base attributes for all nodes. The attributes for an object node. The attributes for a variable node. The attributes for a method node. The attributes for an object type node. The attributes for a variable type node. The attributes for a reference type node. The attributes for a data type node. The attributes for a view node. A request to add a node to the server address space. A result of an add node operation. Adds one or more nodes to the server address space. Adds one or more nodes to the server address space. A request to add a reference to the server address space. Adds one or more references to the server address space. Adds one or more references to the server address space. A request to delete a node to the server address space. Delete one or more nodes from the server address space. Delete one or more nodes from the server address space. A request to delete a node from the server address space. Delete one or more references from the server address space. Delete one or more references from the server address space. Define bits used to indicate which attributes are writable. The directions of the references to return. The view to browse. A request to browse the the references from a node. A bit mask which specifies what should be returned in a browse response. The description of a reference. The result of a browse operation. Browse the references for one or more nodes from the server address space. Browse the references for one or more nodes from the server address space. Continues one or more browse operations. Continues one or more browse operations. An element in a relative path. A relative path constructed from reference types and browse names. A request to translate a path into a node id. The target of the translated path. The result of a translate opearation. Translates one or more paths in the server address space. Translates one or more paths in the server address space. Registers one or more nodes for repeated use within a session. Registers one or more nodes for repeated use within a session. Unregisters one or more previously registered nodes. Unregisters one or more previously registered nodes. A simple enumerated type used for testing. python-opcua-0.90.3/schemas/SecuredApplication.xsd000066400000000000000000000123451310132730300221500ustar00rootroot00000000000000 python-opcua-0.90.3/schemas/StatusCodes.csv000066400000000000000000000530021310132730300206230ustar00rootroot00000000000000BadUnexpectedError,0x80010000,An unexpected error occurred. BadInternalError,0x80020000,An internal error occurred as a result of a programming or configuration error. BadOutOfMemory,0x80030000,Not enough memory to complete the operation. BadResourceUnavailable,0x80040000,An operating system resource is not available. BadCommunicationError,0x80050000,A low level communication error occurred. BadEncodingError,0x80060000,Encoding halted because of invalid data in the objects being serialized. BadDecodingError,0x80070000,Decoding halted because of invalid data in the stream. BadEncodingLimitsExceeded,0x80080000,The message encoding/decoding limits imposed by the stack have been exceeded. BadRequestTooLarge,0x80B80000,The request message size exceeds limits set by the server. BadResponseTooLarge,0x80B90000,The response message size exceeds limits set by the client. BadUnknownResponse,0x80090000,An unrecognized response was received from the server. BadTimeout,0x800A0000,The operation timed out. BadServiceUnsupported,0x800B0000,The server does not support the requested service. BadShutdown,0x800C0000,The operation was cancelled because the application is shutting down. BadServerNotConnected,0x800D0000,The operation could not complete because the client is not connected to the server. BadServerHalted,0x800E0000,The server has stopped and cannot process any requests. BadNothingToDo,0x800F0000,There was nothing to do because the client passed a list of operations with no elements. BadTooManyOperations,0x80100000,The request could not be processed because it specified too many operations. BadTooManyMonitoredItems,0x80DB0000,The request could not be processed because there are too many monitored items in the subscription. BadDataTypeIdUnknown,0x80110000,The extension object cannot be (de)serialized because the data type id is not recognized. BadCertificateInvalid,0x80120000,The certificate provided as a parameter is not valid. BadSecurityChecksFailed,0x80130000,An error occurred verifying security. BadCertificateTimeInvalid,0x80140000,The Certificate has expired or is not yet valid. BadCertificateIssuerTimeInvalid,0x80150000,An Issuer Certificate has expired or is not yet valid. BadCertificateHostNameInvalid,0x80160000,The HostName used to connect to a Server does not match a HostName in the Certificate. BadCertificateUriInvalid,0x80170000,The URI specified in the ApplicationDescription does not match the URI in the Certificate. BadCertificateUseNotAllowed,0x80180000,The Certificate may not be used for the requested operation. BadCertificateIssuerUseNotAllowed,0x80190000,The Issuer Certificate may not be used for the requested operation. BadCertificateUntrusted,0x801A0000,The Certificate is not trusted. BadCertificateRevocationUnknown,0x801B0000,It was not possible to determine if the Certificate has been revoked. BadCertificateIssuerRevocationUnknown,0x801C0000,It was not possible to determine if the Issuer Certificate has been revoked. BadCertificateRevoked,0x801D0000,The certificate has been revoked. BadCertificateIssuerRevoked,0x801E0000,The issuer certificate has been revoked. BadCertificateChainIncomplete,0x810D0000,The certificate chain is incomplete. BadUserAccessDenied,0x801F0000,User does not have permission to perform the requested operation. BadIdentityTokenInvalid,0x80200000,The user identity token is not valid. BadIdentityTokenRejected,0x80210000,The user identity token is valid but the server has rejected it. BadSecureChannelIdInvalid,0x80220000,The specified secure channel is no longer valid. BadInvalidTimestamp,0x80230000,The timestamp is outside the range allowed by the server. BadNonceInvalid,0x80240000,The nonce does appear to be not a random value or it is not the correct length. BadSessionIdInvalid,0x80250000,The session id is not valid. BadSessionClosed,0x80260000,The session was closed by the client. BadSessionNotActivated,0x80270000,The session cannot be used because ActivateSession has not been called. BadSubscriptionIdInvalid,0x80280000,The subscription id is not valid. BadRequestHeaderInvalid,0x802A0000,The header for the request is missing or invalid. BadTimestampsToReturnInvalid,0x802B0000,The timestamps to return parameter is invalid. BadRequestCancelledByClient,0x802C0000,The request was cancelled by the client. BadTooManyArguments,0x80E50000,Too many arguments were provided. GoodSubscriptionTransferred,0x002D0000,The subscription was transferred to another session. GoodCompletesAsynchronously,0x002E0000,The processing will complete asynchronously. GoodOverload,0x002F0000,Sampling has slowed down due to resource limitations. GoodClamped,0x00300000,The value written was accepted but was clamped. BadNoCommunication,0x80310000,Communication with the data source is defined, but not established, and there is no last known value available. BadWaitingForInitialData,0x80320000,Waiting for the server to obtain values from the underlying data source. BadNodeIdInvalid,0x80330000,The syntax of the node id is not valid. BadNodeIdUnknown,0x80340000,The node id refers to a node that does not exist in the server address space. BadAttributeIdInvalid,0x80350000,The attribute is not supported for the specified Node. BadIndexRangeInvalid,0x80360000,The syntax of the index range parameter is invalid. BadIndexRangeNoData,0x80370000,No data exists within the range of indexes specified. BadDataEncodingInvalid,0x80380000,The data encoding is invalid. BadDataEncodingUnsupported,0x80390000,The server does not support the requested data encoding for the node. BadNotReadable,0x803A0000,The access level does not allow reading or subscribing to the Node. BadNotWritable,0x803B0000,The access level does not allow writing to the Node. BadOutOfRange,0x803C0000,The value was out of range. BadNotSupported,0x803D0000,The requested operation is not supported. BadNotFound,0x803E0000,A requested item was not found or a search operation ended without success. BadObjectDeleted,0x803F0000,The object cannot be used because it has been deleted. BadNotImplemented,0x80400000,Requested operation is not implemented. BadMonitoringModeInvalid,0x80410000,The monitoring mode is invalid. BadMonitoredItemIdInvalid,0x80420000,The monitoring item id does not refer to a valid monitored item. BadMonitoredItemFilterInvalid,0x80430000,The monitored item filter parameter is not valid. BadMonitoredItemFilterUnsupported,0x80440000,The server does not support the requested monitored item filter. BadFilterNotAllowed,0x80450000,A monitoring filter cannot be used in combination with the attribute specified. BadStructureMissing,0x80460000,A mandatory structured parameter was missing or null. BadEventFilterInvalid,0x80470000,The event filter is not valid. BadContentFilterInvalid,0x80480000,The content filter is not valid. BadFilterOperatorInvalid,0x80C10000,An unregognized operator was provided in a filter. BadFilterOperatorUnsupported,0x80C20000,A valid operator was provided, but the server does not provide support for this filter operator. BadFilterOperandCountMismatch,0x80C30000,The number of operands provided for the filter operator was less then expected for the operand provided. BadFilterOperandInvalid,0x80490000,The operand used in a content filter is not valid. BadFilterElementInvalid,0x80C40000,The referenced element is not a valid element in the content filter. BadFilterLiteralInvalid,0x80C50000,The referenced literal is not a valid value. BadContinuationPointInvalid,0x804A0000,The continuation point provide is longer valid. BadNoContinuationPoints,0x804B0000,The operation could not be processed because all continuation points have been allocated. BadReferenceTypeIdInvalid,0x804C0000,The operation could not be processed because all continuation points have been allocated. BadBrowseDirectionInvalid,0x804D0000,The browse direction is not valid. BadNodeNotInView,0x804E0000,The node is not part of the view. BadServerUriInvalid,0x804F0000,The ServerUri is not a valid URI. BadServerNameMissing,0x80500000,No ServerName was specified. BadDiscoveryUrlMissing,0x80510000,No DiscoveryUrl was specified. BadSempahoreFileMissing,0x80520000,The semaphore file specified by the client is not valid. BadRequestTypeInvalid,0x80530000,The security token request type is not valid. BadSecurityModeRejected,0x80540000,The security mode does not meet the requirements set by the Server. BadSecurityPolicyRejected,0x80550000,The security policy does not meet the requirements set by the Server. BadTooManySessions,0x80560000,The server has reached its maximum number of sessions. BadUserSignatureInvalid,0x80570000,The user token signature is missing or invalid. BadApplicationSignatureInvalid,0x80580000,The signature generated with the client certificate is missing or invalid. BadNoValidCertificates,0x80590000,The client did not provide at least one software certificate that is valid and meets the profile requirements for the server. BadIdentityChangeNotSupported,0x80C60000,The Server does not support changing the user identity assigned to the session. BadRequestCancelledByRequest,0x805A0000,The request was cancelled by the client with the Cancel service. BadParentNodeIdInvalid,0x805B0000,The parent node id does not to refer to a valid node. BadReferenceNotAllowed,0x805C0000,The reference could not be created because it violates constraints imposed by the data model. BadNodeIdRejected,0x805D0000,The requested node id was reject because it was either invalid or server does not allow node ids to be specified by the client. BadNodeIdExists,0x805E0000,The requested node id is already used by another node. BadNodeClassInvalid,0x805F0000,The node class is not valid. BadBrowseNameInvalid,0x80600000,The browse name is invalid. BadBrowseNameDuplicated,0x80610000,The browse name is not unique among nodes that share the same relationship with the parent. BadNodeAttributesInvalid,0x80620000,The node attributes are not valid for the node class. BadTypeDefinitionInvalid,0x80630000,The type definition node id does not reference an appropriate type node. BadSourceNodeIdInvalid,0x80640000,The source node id does not reference a valid node. BadTargetNodeIdInvalid,0x80650000,The target node id does not reference a valid node. BadDuplicateReferenceNotAllowed,0x80660000,The reference type between the nodes is already defined. BadInvalidSelfReference,0x80670000,The server does not allow this type of self reference on this node. BadReferenceLocalOnly,0x80680000,The reference type is not valid for a reference to a remote server. BadNoDeleteRights,0x80690000,The server will not allow the node to be deleted. UncertainReferenceNotDeleted,0x40BC0000,The server was not able to delete all target references. BadServerIndexInvalid,0x806A0000,The server index is not valid. BadViewIdUnknown,0x806B0000,The view id does not refer to a valid view node. BadViewTimestampInvalid,0x80C90000,The view timestamp is not available or not supported. BadViewParameterMismatch,0x80CA0000,The view parameters are not consistent with each other. BadViewVersionInvalid,0x80CB0000,The view version is not available or not supported. UncertainNotAllNodesAvailable,0x40C00000,The list of references may not be complete because the underlying system is not available. GoodResultsMayBeIncomplete,0x00BA0000,The server should have followed a reference to a node in a remote server but did not. The result set may be incomplete. BadNotTypeDefinition,0x80C80000,The provided Nodeid was not a type definition nodeid. UncertainReferenceOutOfServer,0x406C0000,One of the references to follow in the relative path references to a node in the address space in another server. BadTooManyMatches,0x806D0000,The requested operation has too many matches to return. BadQueryTooComplex,0x806E0000,The requested operation requires too many resources in the server. BadNoMatch,0x806F0000,The requested operation has no match to return. BadMaxAgeInvalid,0x80700000,The max age parameter is invalid. BadSecurityModeInsufficient,0x80E60000,The operation is not permitted over the current secure channel. BadHistoryOperationInvalid,0x80710000,The history details parameter is not valid. BadHistoryOperationUnsupported,0x80720000,The server does not support the requested operation. BadInvalidTimestampArgument,0x80BD0000,The defined timestamp to return was invalid. BadWriteNotSupported,0x80730000,The server not does support writing the combination of value, status and timestamps provided. BadTypeMismatch,0x80740000,The value supplied for the attribute is not of the same type as the attribute's value. BadMethodInvalid,0x80750000,The method id does not refer to a method for the specified object. BadArgumentsMissing,0x80760000,The client did not specify all of the input arguments for the method. BadTooManySubscriptions,0x80770000,The server has reached its maximum number of subscriptions. BadTooManyPublishRequests,0x80780000,The server has reached the maximum number of queued publish requests. BadNoSubscription,0x80790000,There is no subscription available for this session. BadSequenceNumberUnknown,0x807A0000,The sequence number is unknown to the server. BadMessageNotAvailable,0x807B0000,The requested notification message is no longer available. BadInsufficientClientProfile,0x807C0000,The Client of the current Session does not support one or more Profiles that are necessary for the Subscription. BadStateNotActive,0x80BF0000,The sub-state machine is not currently active. BadTcpServerTooBusy,0x807D0000,The server cannot process the request because it is too busy. BadTcpMessageTypeInvalid,0x807E0000,The type of the message specified in the header invalid. BadTcpSecureChannelUnknown,0x807F0000,The SecureChannelId and/or TokenId are not currently in use. BadTcpMessageTooLarge,0x80800000,The size of the message specified in the header is too large. BadTcpNotEnoughResources,0x80810000,There are not enough resources to process the request. BadTcpInternalError,0x80820000,An internal error occurred. BadTcpEndpointUrlInvalid,0x80830000,The Server does not recognize the QueryString specified. BadRequestInterrupted,0x80840000,The request could not be sent because of a network interruption. BadRequestTimeout,0x80850000,Timeout occurred while processing the request. BadSecureChannelClosed,0x80860000,The secure channel has been closed. BadSecureChannelTokenUnknown,0x80870000,The token has expired or is not recognized. BadSequenceNumberInvalid,0x80880000,The sequence number is not valid. BadProtocolVersionUnsupported,0x80BE0000,The applications do not have compatible protocol versions. BadConfigurationError,0x80890000,There is a problem with the configuration that affects the usefulness of the value. BadNotConnected,0x808A0000,The variable should receive its value from another variable, but has never been configured to do so. BadDeviceFailure,0x808B0000,There has been a failure in the device/data source that generates the value that has affected the value. BadSensorFailure,0x808C0000,There has been a failure in the sensor from which the value is derived by the device/data source. BadOutOfService,0x808D0000,The source of the data is not operational. BadDeadbandFilterInvalid,0x808E0000,The deadband filter is not valid. UncertainNoCommunicationLastUsableValue,0x408F0000,Communication to the data source has failed. The variable value is the last value that had a good quality. UncertainLastUsableValue,0x40900000,Whatever was updating this value has stopped doing so. UncertainSubstituteValue,0x40910000,The value is an operational value that was manually overwritten. UncertainInitialValue,0x40920000,The value is an initial value for a variable that normally receives its value from another variable. UncertainSensorNotAccurate,0x40930000,The value is at one of the sensor limits. UncertainEngineeringUnitsExceeded,0x40940000,The value is outside of the range of values defined for this parameter. UncertainSubNormal,0x40950000,The value is derived from multiple sources and has less than the required number of Good sources. GoodLocalOverride,0x00960000,The value has been overridden. BadRefreshInProgress,0x80970000,This Condition refresh failed, a Condition refresh operation is already in progress. BadConditionAlreadyDisabled,0x80980000,This condition has already been disabled. BadConditionAlreadyEnabled,0x80CC0000,This condition has already been enabled. BadConditionDisabled,0x80990000,Property not available, this condition is disabled. BadEventIdUnknown,0x809A0000,The specified event id is not recognized. BadEventNotAcknowledgeable,0x80BB0000,The event cannot be acknowledged. BadDialogNotActive,0x80CD0000,The dialog condition is not active. BadDialogResponseInvalid,0x80CE0000,The response is not valid for the dialog. BadConditionBranchAlreadyAcked,0x80CF0000,The condition branch has already been acknowledged. BadConditionBranchAlreadyConfirmed,0x80D00000,The condition branch has already been confirmed. BadConditionAlreadyShelved,0x80D10000,The condition has already been shelved. BadConditionNotShelved,0x80D20000,The condition is not currently shelved. BadShelvingTimeOutOfRange,0x80D30000,The shelving time not within an acceptable range. BadNoData,0x809B0000,No data exists for the requested time range or event filter. BadBoundNotFound,0x80D70000,No data found to provide upper or lower bound value. BadBoundNotSupported,0x80D80000,The server cannot retrieve a bound for the variable. BadDataLost,0x809D0000,Data is missing due to collection started/stopped/lost. BadDataUnavailable,0x809E0000,Expected data is unavailable for the requested time range due to an un-mounted volume, an off-line archive or tape, or similar reason for temporary unavailability. BadEntryExists,0x809F0000,The data or event was not successfully inserted because a matching entry exists. BadNoEntryExists,0x80A00000,The data or event was not successfully updated because no matching entry exists. BadTimestampNotSupported,0x80A10000,The client requested history using a timestamp format the server does not support (i.e requested ServerTimestamp when server only supports SourceTimestamp). GoodEntryInserted,0x00A20000,The data or event was successfully inserted into the historical database. GoodEntryReplaced,0x00A30000,The data or event field was successfully replaced in the historical database. UncertainDataSubNormal,0x40A40000,The value is derived from multiple values and has less than the required number of Good values. GoodNoData,0x00A50000,No data exists for the requested time range or event filter. GoodMoreData,0x00A60000,The data or event field was successfully replaced in the historical database. BadAggregateListMismatch,0x80D40000,The requested number of Aggregates does not match the requested number of NodeIds. BadAggregateNotSupported,0x80D50000,The requested Aggregate is not support by the server. BadAggregateInvalidInputs,0x80D60000,The aggregate value could not be derived due to invalid data inputs. BadAggregateConfigurationRejected,0x80DA0000,The aggregate configuration is not valid for specified node. GoodDataIgnored,0x00D90000,The request pecifies fields which are not valid for the EventType or cannot be saved by the historian. BadRequestNotAllowed,0x80E40000,The request was rejected by the server because it did not meet the criteria set by the server. GoodEdited,0x00DC0000,The value does not come from the real source and has been edited by the server. GoodPostActionFailed,0x00DD0000,There was an error in execution of these post-actions. UncertainDominantValueChanged,0x40DE0000,The related EngineeringUnit has been changed but the Variable Value is still provided based on the previous unit. GoodDependentValueChanged,0x00E00000,A dependent value has been changed but the change has not been applied to the device. BadDominantValueChanged,0x80E10000,The related EngineeringUnit has been changed but this change has not been applied to the device. The Variable Value is still dependent on the previous unit but its status is currently Bad. UncertainDependentValueChanged,0x40E20000,A dependent value has been changed but the change has not been applied to the device. The quality of the dominant variable is uncertain. BadDependentValueChanged,0x80E30000,A dependent value has been changed but the change has not been applied to the device. The quality of the dominant variable is Bad. GoodCommunicationEvent,0x00A70000,The communication layer has raised an event. GoodShutdownEvent,0x00A80000,The system is shutting down. GoodCallAgain,0x00A90000,The operation is not finished and needs to be called again. GoodNonCriticalTimeout,0x00AA0000,A non-critical timeout occurred. BadInvalidArgument,0x80AB0000,One or more arguments are invalid. BadConnectionRejected,0x80AC0000,Could not establish a network connection to remote server. BadDisconnect,0x80AD0000,The server has disconnected from the client. BadConnectionClosed,0x80AE0000,The network connection has been closed. BadInvalidState,0x80AF0000,The operation cannot be completed because the object is closed, uninitialized or in some other invalid state. BadEndOfStream,0x80B00000,Cannot move beyond end of the stream. BadNoDataAvailable,0x80B10000,No data is currently available for reading from a non-blocking stream. BadWaitingForResponse,0x80B20000,The asynchronous operation is waiting for a response. BadOperationAbandoned,0x80B30000,The asynchronous operation was abandoned by the caller. BadExpectedStreamToBlock,0x80B40000,The stream did not return all data requested (possibly because it is a non-blocking stream). BadWouldBlock,0x80B50000,Non blocking behaviour is required and the operation would block. BadSyntaxError,0x80B60000,A value had an invalid syntax. BadMaxConnectionsReached,0x80B70000,The operation could not be finished because all available connections are in use.python-opcua-0.90.3/schemas/StatusCodes_add.csv000066400000000000000000000002461310132730300214350ustar00rootroot00000000000000Good,0,The operation completed successfully. Uncertain,0x40000000,The operation completed however its outputs may not be usable. Bad,0x80000000,The operation failed. python-opcua-0.90.3/schemas/UANodeSet.xsd000066400000000000000000000426361310132730300201670ustar00rootroot00000000000000 python-opcua-0.90.3/schemas/UAVariant.xsd000066400000000000000000000000001310132730300202050ustar00rootroot00000000000000python-opcua-0.90.3/schemas/download.py000077500000000000000000000050501310132730300200310ustar00rootroot00000000000000#! /usr/bin/env python from __future__ import print_function # https://opcfoundation.org/UA/schemas/OPC%20UA%20Schema%20Files%20Readme.xls resources = [ 'https://opcfoundation.org/UA/schemas/1.03/Opc.Ua.Types.xsd', 'https://opcfoundation.org/UA/schemas/1.03/Opc.Ua.Services.wsdl', 'https://opcfoundation.org/UA/schemas/1.03/Opc.Ua.Endpoints.wsdl', 'https://opcfoundation.org/UA/schemas/DI/1.00/Opc.Ua.Di.Types.xsd', 'https://opcfoundation.org/UA/schemas/ADI/1.00/Opc.Ua.Adi.Types.xsd', 'https://opcfoundation.org/UA/schemas/1.03/SecuredApplication.xsd', 'https://opcfoundation.org/UA/schemas/1.03/UANodeSet.xsd', 'https://opcfoundation.org/UA/schemas/1.03/UAVariant.xsd', 'https://opcfoundation.org/UA/schemas/1.03/Opc.Ua.NodeSet2.xml', 'https://opcfoundation.org/UA/schemas/1.03/Opc.Ua.NodeSet2.Part3.xml', 'https://opcfoundation.org/UA/schemas/1.03/Opc.Ua.NodeSet2.Part4.xml', 'https://opcfoundation.org/UA/schemas/1.03/Opc.Ua.NodeSet2.Part5.xml', 'https://opcfoundation.org/UA/schemas/Opc.Ua.NodeSet2.Part8.xml', 'https://opcfoundation.org/UA/schemas/1.03/Opc.Ua.NodeSet2.Part9.xml', 'https://opcfoundation.org/UA/schemas/1.03/Opc.Ua.NodeSet2.Part10.xml', 'https://opcfoundation.org/UA/schemas/1.03/Opc.Ua.NodeSet2.Part11.xml', 'https://opcfoundation.org/UA/schemas/1.03/Opc.Ua.NodeSet2.Part13.xml', 'https://opcfoundation.org/UA/schemas/DI/1.00/Opc.Ua.Di.NodeSet2.xml', 'https://opcfoundation.org/UA/schemas/ADI/1.00/Opc.Ua.Adi.NodeSet2.xml', 'https://opcfoundation.org/UA/schemas/1.03/OPCBinarySchema.xsd', 'https://opcfoundation.org/UA/schemas/1.03/Opc.Ua.Types.bsd', 'https://opcfoundation.org/UA/schemas/DI/1.00/Opc.Ua.Di.Types.bsd', 'https://opcfoundation.org/UA/schemas/ADI/1.00/Opc.Ua.Adi.Types.bsd', 'https://opcfoundation.org/UA/schemas/1.03/AttributeIds.csv', 'https://opcfoundation.org/UA/schemas/1.03/StatusCodes.csv', 'https://opcfoundation.org/UA/schemas/1.03/NodeIds.csv', ] import os try: from urllib.request import urlopen from urllib.parse import urlparse from urllib.request import build_opener except ImportError: from urlparse import urlparse from urllib import urlopen from urllib2 import build_opener opener = build_opener() opener.addheaders = [('User-agent', 'Mozilla/5.0')] for url in resources: fname = os.path.basename(url) print('downloading', fname, '... ', end='') try: open(fname, 'wb+').write(opener.open(url).read()) print('OK') except Exception as e: print('FAILED ({0})'.format(e)) python-opcua-0.90.3/schemas/generate_address_space.py000066400000000000000000000316561310132730300227040ustar00rootroot00000000000000""" Generate address space c++ code from xml file specification xmlparser.py is a requirement. it is in opcua folder but to avoid importing all code, developer can link xmlparser.py in current directory """ import sys import logging # sys.path.insert(0, "..") # load local freeopcua implementation #from opcua import xmlparser import xmlparser def _to_val(objs, attr, val): from opcua import ua print("got ", objs, attr, val) cls = getattr(ua, objs[0]) for o in objs[1:]: cls = getattr(ua, cls.ua_types[o]) if cls == ua.NodeId: return "ua.NodeId.from_string('val')" return ua_type_to_python(val, cls.ua_types[attr]) def ua_type_to_python(val, uatype): if uatype in ("String"): return "'{0}'".format(val) elif uatype in ("Bytes", "Bytes", "ByteString", "ByteArray"): return "b'{0}'".format(val) else: return val class CodeGenerator(object): def __init__(self, input_path, output_path): self.input_path = input_path self.output_path = output_path self.output_file = None self.part = self.input_path.split(".")[-2] self.parser = None def run(self): sys.stderr.write("Generating Python code {0} for XML file {1}".format(self.output_path, self.input_path) + "\n") self.output_file = open(self.output_path, "w") self.make_header() self.parser = xmlparser.XMLParser(self.input_path) for node in self.parser.get_node_datas(): if node.nodetype == 'UAObject': self.make_object_code(node) elif node.nodetype == 'UAObjectType': self.make_object_type_code(node) elif node.nodetype == 'UAVariable': self.make_variable_code(node) elif node.nodetype == 'UAVariableType': self.make_variable_type_code(node) elif node.nodetype == 'UAReferenceType': self.make_reference_code(node) elif node.nodetype == 'UADataType': self.make_datatype_code(node) elif node.nodetype == 'UAMethod': self.make_method_code(node) else: sys.stderr.write("Not implemented node type: " + node.nodetype + "\n") self.output_file.close() def writecode(self, *args): self.output_file.write(" ".join(args) + "\n") def make_header(self, ): self.writecode(''' """ DO NOT EDIT THIS FILE! It is automatically generated from opcfoundation.org schemas. """ from opcua import ua def create_standard_address_space_{0!s}(server): '''.format((self.part))) def make_node_code(self, obj, indent): self.writecode(indent, 'node = ua.AddNodesItem()') self.writecode(indent, 'node.RequestedNewNodeId = ua.NodeId.from_string("{0}")'.format(obj.nodeid)) self.writecode(indent, 'node.BrowseName = ua.QualifiedName.from_string("{0}")'.format(obj.browsename)) self.writecode(indent, 'node.NodeClass = ua.NodeClass.{0}'.format(obj.nodetype[2:])) if obj.parent: self.writecode(indent, 'node.ParentNodeId = ua.NodeId.from_string("{0}")'.format(obj.parent)) if obj.parent: self.writecode(indent, 'node.ReferenceTypeId = {0}'.format(self.to_ref_type(obj.parentlink))) if obj.typedef: self.writecode(indent, 'node.TypeDefinition = ua.NodeId.from_string("{0}")'.format(obj.typedef)) def to_data_type(self, nodeid): if not nodeid: return "ua.NodeId(ua.ObjectIds.String)" if "=" in nodeid: return 'ua.NodeId.from_string("{0}")'.format(nodeid) else: return 'ua.NodeId(ua.ObjectIds.{0})'.format(nodeid) def to_ref_type(self, nodeid): if not "=" in nodeid: nodeid = self.parser.get_aliases()[nodeid] return 'ua.NodeId.from_string("{0}")'.format(nodeid) def make_object_code(self, obj): indent = " " self.writecode(indent) self.make_node_code(obj, indent) self.writecode(indent, 'attrs = ua.ObjectAttributes()') if obj.desc: self.writecode(indent, 'attrs.Description = ua.LocalizedText("{0}")'.format(obj.desc)) self.writecode(indent, 'attrs.DisplayName = ua.LocalizedText("{0}")'.format(obj.displayname)) self.writecode(indent, 'attrs.EventNotifier = {0}'.format(obj.eventnotifier)) self.writecode(indent, 'node.NodeAttributes = attrs') self.writecode(indent, 'server.add_nodes([node])') self.make_refs_code(obj, indent) def make_object_type_code(self, obj): indent = " " self.writecode(indent) self.make_node_code(obj, indent) self.writecode(indent, 'attrs = ua.ObjectTypeAttributes()') if obj.desc: self.writecode(indent, 'attrs.Description = ua.LocalizedText("{0}")'.format(obj.desc)) self.writecode(indent, 'attrs.DisplayName = ua.LocalizedText("{0}")'.format(obj.displayname)) self.writecode(indent, 'attrs.IsAbstract = {0}'.format(obj.abstract)) self.writecode(indent, 'node.NodeAttributes = attrs') self.writecode(indent, 'server.add_nodes([node])') self.make_refs_code(obj, indent) def make_common_variable_code(self, indent, obj): if obj.desc: self.writecode(indent, 'attrs.Description = ua.LocalizedText("{0}")'.format(obj.desc)) self.writecode(indent, 'attrs.DisplayName = ua.LocalizedText("{0}")'.format(obj.displayname)) self.writecode(indent, 'attrs.DataType = {0}'.format(self.to_data_type(obj.datatype))) if obj.value is not None: if obj.valuetype == "ListOfExtensionObject": self.writecode(indent, 'value = []') for ext in obj.value: self.make_ext_obj_code(indent, ext) self.writecode(indent, 'value.append(extobj)') self.writecode(indent, 'attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject)') elif obj.valuetype == "ExtensionObject": self.make_ext_obj_code(indent, obj.value) self.writecode(indent, 'value = extobj') self.writecode(indent, 'attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject)') else: if obj.valuetype.startswith("ListOf"): obj.valuetype = obj.valuetype[6:] self.writecode(indent, 'attrs.Value = ua.Variant({0}, ua.VariantType.{1})'.format(self.to_value(obj.value), obj.valuetype)) if obj.rank: self.writecode(indent, 'attrs.ValueRank = {0}'.format(obj.rank)) if obj.accesslevel: self.writecode(indent, 'attrs.AccessLevel = {0}'.format(obj.accesslevel)) if obj.useraccesslevel: self.writecode(indent, 'attrs.UserAccessLevel = {0}'.format(obj.useraccesslevel)) if obj.dimensions: self.writecode(indent, 'attrs.ArrayDimensions = {0}'.format(obj.dimensions)) def make_ext_obj_code(self, indent, extobj): print("makeing code for ", extobj.objname) self.writecode(indent, 'extobj = ua.{0}()'.format(extobj.objname)) for name, val in extobj.body: for k, v in val: if type(v) is str: val = _to_val([extobj.objname], k, v) self.writecode(indent, 'extobj.{0} = {1}'.format(k, val)) else: if k == "DataType": #hack for strange nodeid xml format self.writecode(indent, 'extobj.{0} = ua.NodeId.from_string("{1}")'.format(k, v[0][1])) continue for k2, v2 in v: val2 = _to_val([extobj.objname, k], k2, v2) self.writecode(indent, 'extobj.{0}.{1} = {2}'.format(k, k2, val2)) def make_variable_code(self, obj): indent = " " self.writecode(indent) self.make_node_code(obj, indent) self.writecode(indent, 'attrs = ua.VariableAttributes()') if obj.minsample: self.writecode(indent, 'attrs.MinimumSamplingInterval = {0}'.format(obj.minsample)) self.make_common_variable_code(indent, obj) self.writecode(indent, 'node.NodeAttributes = attrs') self.writecode(indent, 'server.add_nodes([node])') self.make_refs_code(obj, indent) def make_variable_type_code(self, obj): indent = " " self.writecode(indent) self.make_node_code(obj, indent) self.writecode(indent, 'attrs = ua.VariableTypeAttributes()') if obj.desc: self.writecode(indent, 'attrs.Description = ua.LocalizedText("{0}")'.format(obj.desc)) self.writecode(indent, 'attrs.DisplayName = ua.LocalizedText("{0}")'.format(obj.displayname)) if obj.abstract: self.writecode(indent, 'attrs.IsAbstract = {0}'.format(obj.abstract)) self.make_common_variable_code(indent, obj) self.writecode(indent, 'node.NodeAttributes = attrs') self.writecode(indent, 'server.add_nodes([node])') self.make_refs_code(obj, indent) def to_value(self, val): # if type(val) in (str, unicode): if isinstance(val, str): return '"' + val + '"' else: return val def make_method_code(self, obj): indent = " " self.writecode(indent) self.make_node_code(obj, indent) self.writecode(indent, 'attrs = ua.MethodAttributes()') if obj.desc: self.writecode(indent, 'attrs.Description = ua.LocalizedText("{0}")'.format(obj.desc)) self.writecode(indent, 'attrs.DisplayName = ua.LocalizedText("{0}")'.format(obj.displayname)) self.writecode(indent, 'node.NodeAttributes = attrs') self.writecode(indent, 'server.add_nodes([node])') self.make_refs_code(obj, indent) def make_reference_code(self, obj): indent = " " self.writecode(indent) self.make_node_code(obj, indent) self.writecode(indent, 'attrs = ua.ReferenceTypeAttributes()') if obj.desc: self.writecode(indent, 'attrs.Description = ua.LocalizedText("{0}")'.format(obj.desc)) self.writecode(indent, 'attrs.DisplayName = ua.LocalizedText("{0}")'.format(obj.displayname)) if obj. inversename: self.writecode(indent, 'attrs.InverseName = ua.LocalizedText("{0}")'.format(obj.inversename)) if obj.abstract: self.writecode(indent, 'attrs.IsAbstract = {0}'.format(obj.abstract)) if obj.symmetric: self.writecode(indent, 'attrs.Symmetric = {0}'.format(obj.symmetric)) self.writecode(indent, 'node.NodeAttributes = attrs') self.writecode(indent, 'server.add_nodes([node])') self.make_refs_code(obj, indent) def make_datatype_code(self, obj): indent = " " self.writecode(indent) self.make_node_code(obj, indent) self.writecode(indent, 'attrs = ua.DataTypeAttributes()') if obj.desc: self.writecode(indent, u'attrs.Description = ua.LocalizedText("{0}")'.format(obj.desc.encode('ascii', 'replace'))) self.writecode(indent, 'attrs.DisplayName = ua.LocalizedText("{0}")'.format(obj.displayname)) if obj.abstract: self.writecode(indent, 'attrs.IsAbstract = {0}'.format(obj.abstract)) self.writecode(indent, 'node.NodeAttributes = attrs') self.writecode(indent, 'server.add_nodes([node])') self.make_refs_code(obj, indent) def make_refs_code(self, obj, indent): if not obj.refs: return self.writecode(indent, "refs = []") for ref in obj.refs: self.writecode(indent, 'ref = ua.AddReferencesItem()') self.writecode(indent, 'ref.IsForward = True') self.writecode(indent, 'ref.ReferenceTypeId = {0}'.format(self.to_ref_type(ref.reftype))) self.writecode(indent, 'ref.SourceNodeId = ua.NodeId.from_string("{0}")'.format(obj.nodeid)) self.writecode(indent, 'ref.TargetNodeClass = ua.NodeClass.DataType') self.writecode(indent, 'ref.TargetNodeId = ua.NodeId.from_string("{0}")'.format(ref.target)) self.writecode(indent, "refs.append(ref)") self.writecode(indent, 'server.add_references(refs)') def save_aspace_to_disk(): import os.path path = os.path.join("..", "opcua", "binary_address_space.pickle") print("Savind standard address space to:", path) sys.path.append("..") from opcua.server.standard_address_space import standard_address_space from opcua.server.address_space import NodeManagementService, AddressSpace aspace = AddressSpace() standard_address_space.fill_address_space(NodeManagementService(aspace)) aspace.dump(path) if __name__ == "__main__": logging.basicConfig(level=logging.WARN) for i in (3, 4, 5, 8, 9, 10, 11, 13): xmlpath = "Opc.Ua.NodeSet2.Part{0}.xml".format(str(i)) cpppath = "../opcua/server/standard_address_space/standard_address_space_part{0}.py".format(str(i)) c = CodeGenerator(xmlpath, cpppath) c.run() save_aspace_to_disk() python-opcua-0.90.3/schemas/generate_event_objects.py000066400000000000000000000110601310132730300227210ustar00rootroot00000000000000#code to generate eEventTypes import xml.etree.ElementTree as ET import opcua.ua.object_ids as obIds import generate_model_event as gme class EventsCodeGenerator(object): def __init__(self, event_model, output): self.output_file = output self.event_model = event_model self.indent = " " self.iidx = 0 # indent index def eventList(self): tree = ET.parse(self.event_model) root = tree.getroot() for child in root: if child.tag.endswith("UAObjectType"): print child.attrib def write(self, line): if line: line = self.indent * self.iidx + line self.output_file.write(line + "\n") def make_header(self): self.write('"""') self.write("Autogenerated code from xml spec") self.write('"""') self.write("") self.write("from opcua import ua") self.write("from opcua.common.events import Event") def addProperties(self, event): for ref in event.references: if ref.referenceType == "HasProperty": self.write("self.add_property('{0}', {1}, {2})".format(ref.refBrowseName, self.getPropertyValue(ref), self.getPropertyDataType(ref))) def getPropertyValue(self, reference): if reference.refBrowseName == "SourceNode": return "sourcenode" elif reference.refBrowseName == "Severity": return "severity" elif reference.refBrowseName == "Status": return "False" elif reference.refBrowseName == "Message": return "ua.LocalizedText(message)" elif reference.refDataType == "NodeId": return "ua.NodeId(ua.ObjectIds.{0})".format(str(obIds.ObjectIdNames[int(str(reference.refId).split("=")[1])]).split("_")[0]) else: return "None" def getPropertyDataType(self, reference): if str(reference.refBrowseName).endswith("Time"): return "ua.VariantType.DateTime" elif str(reference.refDataType).startswith("i="): return "ua.NodeId(ua.ObjectIds.{0})".format(str(obIds.ObjectIdNames[int(str(reference.refDataType).split("=")[1])]).split("_")[0]) else: return "ua.VariantType.{0}".format(reference.refDataType) def generateEventclass(self, event, *parentEventBrowseName): self.write("") if event.browseName == "BaseEvent": self.write("class {0}(Event):".format(event.browseName)) self.iidx += 1 self.write('"""') if (event.description != None): self.write(event.browseName + ": " + event.description) else: self.write(event.browseName + ": ") self.write('"""') self.write("def __init__(self, sourcenode=None, message=None, severity=1):") self.iidx += 1 self.write("Event.__init__(self)") self.addProperties(event) else: self.write("class {0}({1}):".format(event.browseName, parentEventBrowseName[0])) self.iidx += 1 self.write('"""') if (event.description != None): self.write(event.browseName + ": " + event.description) else: self.write(event.browseName + ": ") self.write('"""') self.write("def __init__(self, sourcenode=None, message=None, severity=1):") self.iidx += 1 self.write("super({0}, self).__init__(sourcenode, message, severity)".format(event.browseName)) self.write("self.EventType = ua.NodeId(ua.ObjectIds.{0}Type)".format(event.browseName)) self.addProperties(event) self.iidx -= 2 def generateEventsCode(self, model): self.output_file = open(self.output_file, "w") self.make_header() for event in model.itervalues(): if (event.browseName == "BaseEvent"): self.generateEventclass(event) else: parentNode = model[event.parentNodeId] self.generateEventclass(event, parentNode.browseName) self.write("") self.write("") self.write("IMPLEMENTED_EVENTS = {") self.iidx += 1 for event in model.itervalues(): self.write("ua.ObjectIds.{0}Type: {0},".format(event.browseName)) self.write("}") if __name__ == "__main__": xmlPath = "Opc.Ua.NodeSet2.Part5.xml" output_file = "../opcua/common/event_objects.py" p = gme.Parser(xmlPath) model = p.parse() ECG = EventsCodeGenerator(model, output_file) ECG.generateEventsCode(model) python-opcua-0.90.3/schemas/generate_ids.py000066400000000000000000000026031310132730300206510ustar00rootroot00000000000000if __name__ == "__main__": inputfile = open("NodeIds.csv") outputfile = open("../opcua/ua/object_ids.py", "w") outputfile.write("#AUTOGENERATED!!!\n") outputfile.write("\n") outputfile.write("from enum import IntEnum\n") outputfile.write("\n") # Making ObjectIds inherit IntEnum has a huge performance impact!!!!! # so we use a normal class and a reverse one for the few places we need it outputfile.write("class ObjectIds(object):\n") outputfile.write(" Null = 0\n") for line in inputfile: name, nb, datatype = line.split(",") outputfile.write(" {0} = {1}\n".format(name, nb)) inputfile.close() inputfile = open("NodeIds.csv") outputfile.write("\n\nObjectIdNames = {}\n") outputfile.write("ObjectIdNames[0] = 'Null'\n".format(nb, name)) for line in inputfile: name, nb, datatype = line.split(",") outputfile.write("ObjectIdNames[{0}] = '{1}'\n".format(nb, name)) inputfile = open("AttributeIds.csv") outputfile = open("../opcua/ua/attribute_ids.py", "w") outputfile.write("#AUTOGENERATED!!!\n") outputfile.write("\n") outputfile.write("from enum import IntEnum\n") outputfile.write("\n") outputfile.write("class AttributeIds(IntEnum):\n") for line in inputfile: name, nb = line.split(",") outputfile.write(" {0} = {1}\n".format(name.strip(), nb.strip())) python-opcua-0.90.3/schemas/generate_model.py000066400000000000000000000443741310132730300212050ustar00rootroot00000000000000""" Generate address space c++ code from xml file specification """ import sys from copy import copy import xml.etree.ElementTree as ET # from IPython import embed NeedOverride = [] NeedConstructor = []#["RelativePathElement", "ReadValueId", "OpenSecureChannelParameters", "UserIdentityToken", "RequestHeader", "ResponseHeader", "ReadParameters", "UserIdentityToken", "BrowseDescription", "ReferenceDescription", "CreateSubscriptionParameters", "PublishResult", "NotificationMessage", "SetPublishingModeParameters"] IgnoredEnums = []#["IdType", "NodeIdType"] #we want to implement som struct by hand, to make better interface or simply because they are too complicated IgnoredStructs = []#["NodeId", "ExpandedNodeId", "Variant", "QualifiedName", "DataValue", "LocalizedText"]#, "ExtensionObject"] #by default we split requests and respons in header and parameters, but some are so simple we do not split them NoSplitStruct = ["GetEndpointsResponse", "CloseSessionRequest", "AddNodesResponse", "DeleteNodesResponse", "BrowseResponse", "HistoryReadResponse", "HistoryUpdateResponse", "RegisterServerResponse", "CloseSecureChannelRequest", "CloseSecureChannelResponse", "CloseSessionRequest", "CloseSessionResponse", "UnregisterNodesResponse", "MonitoredItemModifyRequest", "MonitoredItemsCreateRequest", "ReadResponse", "WriteResponse", "TranslateBrowsePathsToNodeIdsResponse", "DeleteSubscriptionsResponse", "DeleteMonitoredItemsResponse", "CreateMonitoredItemsResponse", "ServiceFault", "AddReferencesResponse", "ModifyMonitoredItemsResponse", "RepublishResponse", "CallResponse", "FindServersResponse", "RegisterServerRequest", "RegisterServer2Response"] #structs that end with Request or Response but are not NotRequest = ["MonitoredItemCreateRequest", "MonitoredItemModifyRequest", "CallMethodRequest"] OverrideTypes = {}#AttributeId": "AttributeID", "ResultMask": "BrowseResultMask", "NodeClassMask": "NodeClass", "AccessLevel": "VariableAccessLevel", "UserAccessLevel": "VariableAccessLevel", "NotificationData": "NotificationData"} OverrideNames = {}#{"RequestHeader": "Header", "ResponseHeader": "Header", "StatusCode": "Status", "NodesToRead": "AttributesToRead"} # "MonitoringMode": "Mode",, "NotificationMessage": "Notification", "NodeIdType": "Type"} #some object are defined in extensionobjects in spec but seems not to be in reality #in addition to this list all request and response and descriptions will not inherit #NoInherit = ["RequestHeader", "ResponseHeader", "ChannelSecurityToken", "UserTokenPolicy", "SignatureData", "BrowseResult", "ReadValueId", "WriteValue", "BrowsePath", "BrowsePathTarget", "RelativePath", "RelativePathElement", "BrowsePathResult"]#, "ApplicationDescription", "EndpointDescription" class Bit(object): def __init__(self): self.name = None self.idx = None self.container = None self.length = 1 def __str__(self): return "(Bit: {0}, container:{1}, idx:{2})".format(self.name, self.container, self.idx) __repr__ = __str__ class Struct(object): def __init__(self): self.name = None self.basetype = None self.doc = "" self.fields = [] self.bits = {} self.needconstructor = None self.needoverride = False self.children = [] self.parents = [] self.extensionobject = False #used for struct which are not pure extension objects def get_field(self, name): for f in self.fields: if f.name == name: return f raise Exception("field not found: " + name) def __str__(self): return "Struct {0}:{1}".format(self.name, self.basetype) __repr__ = __str__ class Field(object): def __init__(self): self.name = None self.uatype = None self.length = None self.sourcetype = None self.switchfield = None self.switchvalue = None self.bitlength = 1 def __str__(self): return "Field {0}({1})".format(self.name, self.uatype) __repr__ = __str__ def is_native_type(self): if self.uatype in ("Char", "SByte", "Int8", "Int16", "Int32", "Int64", "UInt8", "UInt16", "UInt32", "UInt64", "Boolean", "Double", "Float", "Byte", "String", "CharArray", "ByteString", "DateTime"): return True return False def get_ctype(self): if self.uatype == "String": ty = "std::string" elif self.uatype == "CharArray": ty = "std::string" elif self.uatype == "Char": ty = "char" elif self.uatype == "SByte": ty = "char" elif self.uatype == "Int8": ty = "int8_t" elif self.uatype == "Int16": ty = "int16_t" elif self.uatype == "Int32": ty = "int32_t" elif self.uatype == "Int64": ty = "int64_t" elif self.uatype == "UInt8": ty = "uint8_t" elif self.uatype == "UInt16": ty = "uint16_t" elif self.uatype == "UInt32": ty = "uint32_t" elif self.uatype == "UInt64": ty = "uint64_t" elif self.uatype == "DateTime": ty = "OpcUa::DateTime" elif self.uatype == "Boolean": ty = "bool" elif self.uatype == "Double": ty = "double" elif self.uatype == "Float": ty = "float" elif self.uatype == "ByteString": ty = "OpcUa::ByteString" elif self.uatype == "Byte": ty = "uint8_t" else: ty = "OpcUa::" + self.uatype if self.length: ty = "std::vector<{0}>".format(ty) return ty class Enum(object): def __init__(self): self.name = None self.uatype = None self.values = [] self.doc = "" def get_ctype(self): return "uint{0}_t".format(self.uatype) class EnumValue(object): def __init__(self): self.name = None self.value = None class Model(object): def __init__(self): self.structs = [] self.enums = [] self.struct_list = [] self.enum_list = [] def get_struct(self, name): for struct in self.structs: if name == struct.name: return struct raise Exception("No struct named: " + str(name)) def get_enum(self, name): for s in self.enums: if name == s.name: return s raise Exception("No enum named: " + str(name)) def reorder_structs(model): types = IgnoredStructs + IgnoredEnums + ["Bit", "Char", "CharArray", "Guid", "SByte", "Int8", "Int16", "Int32", "Int64", "UInt8", "UInt16", "UInt32", "UInt64", "DateTime", "Boolean", "Double", "Float", "ByteString", "Byte", "StatusCode", "DiagnosticInfo", "String", "AttributeID"] + [enum.name for enum in model.enums] + ["VariableAccessLevel"] waiting = {} newstructs = [] for s in model.structs: types.append(s.name) s.waitingfor = [] ok = True for f in s.fields: if f.uatype not in types: if f.uatype in waiting.keys(): waiting[f.uatype].append(s) s.waitingfor.append(f.uatype) else: waiting[f.uatype] = [s] s.waitingfor.append(f.uatype) ok = False if ok: newstructs.append(s) waitings = waiting.pop(s.name, None) if waitings: for s2 in waitings: s2.waitingfor.remove(s.name) if not s2.waitingfor: newstructs.append(s2) if len(model.structs) != len(newstructs): print("Error while reordering structs, some structs could not be reinserted, had {0} structs, we now have {1} structs".format(len(model.structs), len(newstructs))) s1 = set(model.structs) s2 = set(newstructs) rest = s1 -s2 print("Variant" in types) for s in s1-s2: print("{0} is waiting for: {1}".format(s, s.waitingfor)) #print(s1 -s2) #print(waiting) model.structs = newstructs def override_types(model): for struct in model.structs: for field in struct.fields: if field.name in OverrideTypes.keys(): field.uatype = OverrideTypes[field.name] def remove_duplicates(model): for struct in model.structs: fields = [] names = [] for field in struct.fields: if field.name not in names: names.append(field.name) fields.append(field) struct.fields = fields def add_encoding_field(model): for struct in model.structs: newfields = [] container = None idx = 0 for field in struct.fields: if field.uatype in ("UInt6", "NodeIdType"): container = field.name b = Bit() b.name = field.name b.idx = 0 b.container = container b.length = 6 idx = b.length struct.bits[b.name] = b if field.uatype == "Bit": if not container or idx > 7: container = "Encoding" idx = 0 f = Field() f.sourcetype = field.sourcetype f.name = "Encoding" f.uatype = "UInt8" newfields.append(f) b = Bit() b.name = field.name b.idx = idx b.container = container b.length = field.bitlength idx += field.bitlength struct.bits[b.name] = b else: newfields.append(field) struct.fields = newfields def remove_vector_length(model): for struct in model.structs: new = [] for field in struct.fields: if not field.name.startswith("NoOf"): new.append(field) struct.fields = new def remove_body_length(model): for struct in model.structs: new = [] for field in struct.fields: if not field.name == "BodyLength": new.append(field) struct.fields = new #def remove_extensionobject_fields(model): #for obj in model.structs: #if obj.name.endswith("Request") or obj.name.endswith("Response"): #obj.fields = [el for el in obj.fields if el.name not in ("TypeId", "Body", "Encoding")] def split_requests(model): structs = [] for struct in model.structs: structtype = None if struct.name.endswith("Request") and not struct.name in NotRequest: structtype = "Request" elif struct.name.endswith("Response") or struct.name == "ServiceFault": structtype = "Response" if structtype: #for field in struct.fields: #if field.name == "Encoding": #struct.fields.remove(field) #break #for field in struct.fields: #if field.name == "BodyLength": #struct.fields.remove(field) #break struct.needconstructor = True field = Field() field.name = "TypeId" field.uatype = "NodeId" struct.fields.insert(0, field) if structtype and not struct.name in NoSplitStruct: paramstruct = Struct() if structtype == "Request": basename = struct.name.replace("Request", "") + "Parameters" paramstruct.name = basename else: basename = struct.name.replace("Response", "") + "Result" paramstruct.name = basename paramstruct.fields = struct.fields[2:] paramstruct.bits = struct.bits struct.fields = struct.fields[:2] #struct.bits = {} structs.append(paramstruct) typeid = Field() typeid.name = "Parameters" typeid.uatype = paramstruct.name struct.fields.append(typeid) structs.append(struct) model.structs = structs class Parser(object): def __init__(self, path): self.path = path self.model = None def parse(self): print("Parsing: ", self.path) self.model = Model() tree = ET.parse(self.path) root = tree.getroot() self.add_extension_object() for child in root: tag = child.tag[40:] if tag == "StructuredType": struct = self.parse_struct(child) if struct.name != "ExtensionObject": self.model.structs.append(struct) self.model.struct_list.append(struct.name) elif tag == "EnumeratedType": enum = self.parse_enum(child) self.model.enums.append(enum) self.model.enum_list.append(enum.name) #else: #print("Not implemented node type: " + tag + "\n") return self.model def add_extension_object(self): obj = Struct() obj.name = "ExtensionObject" f = Field() f.name = "TypeId" f.uatype = "NodeId" obj.fields.append(f) f = Field() f.name = "BinaryBody" f.uatype = "Bit" obj.fields.append(f) f = Field() f.name = "XmlBody" f.uatype = "Bit" obj.fields.append(f) f = Field() f.name = "Body" f.uatype = "ByteString" f.switchfield = "BinaryBody" obj.fields.append(f) self.model.struct_list.append(obj.name) self.model.structs.append(obj) def parse_struct(self, child): tag = child.tag[40:] struct = Struct() for key, val in child.attrib.items(): if key == "Name": struct.name = val elif key == "BaseType": if ":" in val: prefix, val = val.split(":") struct.basetype = val tmp = struct while tmp.basetype: struct.parents.append(tmp.basetype) tmp = self.model.get_struct(tmp.basetype) else: print("Error unknown key: ", key) for el in child: tag = el.tag[40:] if tag == "Field": field = Field() for key, val in el.attrib.items(): if key == "Name": field.name = val elif key == "TypeName": field.uatype = val.split(":")[1] elif key == "LengthField": field.length = val elif key == "SourceType": field.sourcetype = val elif key == "SwitchField": field.switchfield = val elif key == "SwitchValue": field.switchvalue = val elif key == "Length": field.bitlength = int(val) else: print("Unknown field item: ", struct.name, key) struct.fields.append(field) elif tag == "Documentation": struct.doc = el.text else: print("Unknown tag: ", tag) return struct def parse_enum(self, child): tag = child.tag[40:] enum = Enum() for k, v in child.items(): if k == "Name": enum.name = v elif k == "LengthInBits": enum.uatype = "UInt" + v else: print("Unknown attr for enum: ", k) for el in child: tag = el.tag[40:] if tag == "EnumeratedValue": ev = EnumValue() for k, v in el.attrib.items(): if k == "Name": ev.name = v elif k == "Value": ev.value = v else: print("Unknown field attrib: ", k) enum.values.append(ev) elif tag == "Documentation": enum.doc = el.text else: print("Unknown enum tag: ", tag) return enum #"def reorder_extobjects(model): #ext = model.get_struct("ExtensionObject") #print(ext) #typeid = ext.fields[4] #ext.fields.remove(typeid) #ext.fields.insert(0, typeid) def add_basetype_members(model): for struct in model.structs: if not struct.basetype: continue emptystruct = False if len(struct.fields) == 0: emptystruct = True if struct.basetype in ("ExtensionObject"): struct.basetype = None continue base = model.get_struct(struct.basetype) #if struct.basetype == "ExtensionObject" and len(struct.fields) != 0: #if struct.basetype == "ExtensionObject" and len(struct.fields) != 0: #if struc #for f in base.fields: #if f.name == "TypeId": #f2 = copy(f) #f2.switchfield = None #struct.fields.insert(0, f2) #break #continue for name, bit in base.bits.items(): struct.bits[name] = bit for idx, field in enumerate(base.fields): field = copy(field) if field.name == "Body" and not emptystruct: #print("Field is names Body", struct.name, field.name) struct.extensionobject = True field.name = "BodyLength" field.uatype = "Int32" field.length = None field.switchfield = None #print("Field is names Body 2", struct.name, field.name) #HACK EXTENSIONOBJECT #if base.name == "ExtensionObject": #continue #if field.uatype == "Bit": #continue #if field.name == "Body": #continue #if field.name == "TypeId": #field.switchfield = None #END HACK if not field.sourcetype: field.sourcetype = base.name struct.fields.insert(idx, field) def fix_names(model): for s in model.enums: for f in s.values: if f.name == "None": f.name = "None_" python-opcua-0.90.3/schemas/generate_model_event.py000066400000000000000000000116341310132730300223770ustar00rootroot00000000000000import xml.etree.ElementTree as ET import collections class Node_struct: def __init__(self): self.nodeId = None self.browseName = None self.isAbstract = True self.parentNodeId = None self.dataType = None self.displayName = None self.description = None self.references = [] def __hash__(self): return hash(self.nodeId, self.browseName, self.isAbstract, self.parentNodeId, self.dataType, self.displayName, self.description, self.references) def __eq__(self, other): return (self.nodeId, self.browseName, self.isAbstract, self.parentNodeId, self.dataType, self.displayName, self.description, self.references) == (other.nodeId, other.browseName, other.isAbstract, other.parentNodeId, other.dataType, other.displayName, other.description, other.references) def __ne__(self, other): return not(self == other) class Reference: def __init__(self): self.referenceType = None self.refId = None def __hash__(self): return hash(self.referenceType, self.refId) def __eq__(self, other): return (self.referenceType, self.refId) == (other.referenceType, other.refValue) def __ne__(self, other): return not(self == other) class Model_Event: def __init__(self): self.structs = [] def get_struct(self, nodeId): for struct in self.structs: if struct.nodeId == nodeId: return struct raise Exception("No struct with the Id: " + str(nodeId)) class Parser(object): nameSpace = "{http://opcfoundation.org/UA/2011/03/UANodeSet.xsd}" def __init__(self, path): self.path = path self.model = None def findNodeWithNodeId(self,root, nodeId): node = Node_struct() for child in root: if nodeId == child.attrib.get('NodeId'): node.browseName = str(child.attrib.get('BrowseName')) node.nodeId = child.attrib.get('NodeId') node.isAbstract = child.attrib.get('IsAbstract') node.dataType = child.attrib.get('DataType') if (node.dataType == None): node.dataType = 'Variant' node.displayName = child.find(self.nameSpace + 'DisplayName').text if (child.find(self.nameSpace + 'Description') != None): node.description = child.find(self.nameSpace + 'Description').text for ref in child.find(self.nameSpace + 'References').findall(self.nameSpace + 'Reference'): reference = Reference() reference.referenceType = ref.attrib.get('ReferenceType') reference.refId = ref.text if ref.attrib.get('IsForward')!=None: node.parentNodeId = reference.refId node.references.append(reference) return node def checkNodeType(self, node): if (node.tag == self.nameSpace + "UAObjectType") or (node.tag == self.nameSpace + "UAVariable") or ( node.tag == self.nameSpace + "UAObject") or (node.tag == self.nameSpace + "UAMethod") or (node.tag == self.nameSpace + "UAVariableType"): return True def parse(self): print("Parsing: " + self.path) tree = ET.parse(self.path) root = tree.getroot() listEventType = {} for child in root: browseName = str(child.attrib.get('BrowseName')) if browseName.endswith("EventType"): if browseName == "EventType": continue node = Node_struct() node.browseName = browseName.replace("Type", "") node.nodeId = child.attrib.get('NodeId') node.isAbstract = child.attrib.get('IsAbstract') node.displayName = child.find(self.nameSpace + 'DisplayName').text if (child.find(self.nameSpace + 'Description') != None): node.description = child.find(self.nameSpace + 'Description').text for ref in child.find(self.nameSpace + 'References').findall(self.nameSpace + 'Reference'): reference = Reference() reference.referenceType = ref.attrib.get('ReferenceType') reference.refId = ref.text self.refNode = self.findNodeWithNodeId(root, reference.refId).browseName reference.refBrowseName = self.findNodeWithNodeId(root, reference.refId).browseName reference.refDataType = self.findNodeWithNodeId(root, reference.refId).dataType if ref.attrib.get('IsForward')!=None: node.parentNodeId = reference.refId node.references.append(reference) listEventType.update({node.nodeId:node}) return collections.OrderedDict(sorted(sorted(listEventType.items(), key=lambda t: t[0]), key=lambda u: len(u[0]))) python-opcua-0.90.3/schemas/generate_protocol_python.py000066400000000000000000000341161310132730300233400ustar00rootroot00000000000000 IgnoredEnums = ["NodeIdType"] IgnoredStructs = ["QualifiedName", "NodeId", "ExpandedNodeId", "FilterOperand", "Variant", "DataValue", "LocalizedText", "ExtensionObject", "XmlElement"] class Primitives1(object): Int8 = 0 SByte = 0 Int16 = 0 Int32 = 0 Int64 = 0 UInt8 = 0 Char = 0 Byte = 0 UInt16 = 0 UInt32 = 0 UInt64 = 0 Boolean = 0 Double = 0 Float = 0 class Primitives(Primitives1): Null = 0 String = 0 Bytes = 0 ByteString = 0 CharArray = 0 DateTime = 0 class CodeGenerator(object): def __init__(self, model, output): self.model = model self.output_path = output self.indent = " " self.iidx = 0 # indent index def run(self): print("Writting python protocol code to ", self.output_path) self.output_file = open(self.output_path, "w") self.make_header() for enum in self.model.enums: if enum.name not in IgnoredEnums: self.generate_enum_code(enum) for struct in self.model.structs: if struct.name in IgnoredStructs: continue if struct.name.endswith("Node") or struct.name.endswith("NodeId"): continue self.generate_struct_code(struct) self.iidx = 0 self.write("") self.write("") for struct in self.model.structs: if struct.name in IgnoredStructs: continue if struct.name.endswith("Node") or struct.name.endswith("NodeId"): continue if "ExtensionObject" in struct.parents: self.write("nid = FourByteNodeId(ObjectIds.{0}_Encoding_DefaultBinary)".format(struct.name)) self.write("extension_object_classes[nid] = {0}".format(struct.name)) self.write("extension_object_ids['{0}'] = nid".format(struct.name)) def write(self, line): if line: line = self.indent * self.iidx + line self.output_file.write(line + "\n") def make_header(self): self.write("'''") self.write("Autogenerate code from xml spec") self.write("'''") self.write("") self.write("from datetime import datetime") self.write("from enum import IntEnum") self.write("") #self.write("from opcua.ua.uaerrors import UaError") self.write("from opcua.ua.uatypes import *") self.write("from opcua.ua import ua_binary as uabin") self.write("from opcua.ua.object_ids import ObjectIds") def generate_enum_code(self, enum): self.write("") self.write("") self.write("class {}(IntEnum):".format(enum.name)) self.iidx = 1 self.write("'''") if enum.doc: self.write(enum.doc) self.write("") for val in enum.values: self.write(":ivar {}:".format(val.name)) self.write(":vartype {}: {}".format(val.name, val.value)) self.write("'''") for val in enum.values: self.write("{} = {}".format(val.name, val.value)) self.iidx = 0 def generate_struct_code(self, obj): self.write("") self.write("") self.iidx = 0 self.write("class {}(FrozenClass):".format(obj.name)) self.iidx += 1 self.write("'''") if obj.doc: self.write(obj.doc) self.write("") for field in obj.fields: self.write(":ivar {}:".format(field.name)) self.write(":vartype {}: {}".format(field.name, field.uatype)) self.write("'''") self.write("") self.write("ua_types = {") for field in obj.fields: self.write(" '{}': '{}',".format(field.name, field.uatype)) self.write(" }") self.write("") self.write("def __init__(self, binary=None):") self.iidx += 1 self.write("if binary is not None:") self.iidx += 1 self.write("self._binary_init(binary)") self.write("self._freeze = True") self.write("return") self.iidx -= 1 # hack extension object stuff extobj_hack = False if "BodyLength" in [f.name for f in obj.fields]: extobj_hack = True for field in obj.fields: if extobj_hack and field.name == "Encoding": self.write("self.Encoding = 1") elif field.uatype == obj.name: # help!!! selv referencing class self.write("self.{} = None".format(field.name)) elif not obj.name in ("ExtensionObject") and field.name == "TypeId": # and ( obj.name.endswith("Request") or obj.name.endswith("Response")): self.write("self.TypeId = FourByteNodeId(ObjectIds.{}_Encoding_DefaultBinary)".format(obj.name)) else: self.write("self.{} = {}".format(field.name, "[]" if field.length else self.get_default_value(field))) self.write("self._freeze = True") self.iidx = 1 # serialize code self.write("") self.write("def to_binary(self):") self.iidx += 1 # hack for self referencing classes # for field in obj.fields: # if field.uatype == obj.name: #help!!! selv referencing class #self.write("if self.{name} is None: self.{name} = {uatype}()".format(name=field.name, uatype=field.uatype)) self.write("packet = []") if extobj_hack: self.write("body = []") #self.write("tmp = packet") for field in obj.fields: if field.switchfield: if field.switchvalue: bit = obj.bits[field.switchfield] #self.write("if self.{}: self.{} |= (value << {})".format(field.name, field.switchfield, field.switchvalue)) mask = '0b' + '0' * (8 - bit.length) + '1' * bit.length self.write("others = self.{} & {}".format(bit.container, mask)) self.write("if self.{}: self.{} = ( {} | others )".format(field.name, bit.container, field.switchvalue)) else: bit = obj.bits[field.switchfield] self.write("if self.{}: self.{} |= (1 << {})".format(field.name, bit.container, bit.idx)) iidx = self.iidx listname = "packet" for idx, field in enumerate(obj.fields): # if field.name == "Body" and idx <= (len(obj.fields)-1): if field.name == "BodyLength": listname = "body" #self.write("tmp = packet") continue self.iidx = iidx switch = "" fname = "self." + field.name if field.switchfield: self.write("if self.{}: ".format(field.name)) self.iidx += 1 if field.length: self.write("{}.append(uabin.Primitives.Int32.pack(len(self.{})))".format(listname, field.name)) self.write("for fieldname in self.{}:".format(field.name)) fname = "fieldname" self.iidx += 1 if field.is_native_type(): self.write_pack_uatype(listname, fname, field.uatype) elif field.uatype in self.model.enum_list: enum = self.model.get_enum(field.uatype) self.write_pack_enum(listname, fname, enum) elif field.uatype in ("ExtensionObject"): self.write("{}.append(extensionobject_to_binary({}))".format(listname, fname)) else: self.write("{}.append({}.to_binary())".format(listname, fname)) if field.length: self.iidx -= 1 self.iidx = 2 if extobj_hack: self.write("body = b''.join(body)") self.write("packet.append(struct.pack(' 0) def test_find_endpoints(self): c = Client(URL) res = c.connect_and_get_server_endpoints() self.assertTrue(len(res) > 0) @connect def test_get_root(self, client): root = client.get_root_node() self.assertEqual(root.get_browse_name(), ua.QualifiedName("Root", 0)) @connect def test_get_root_children(self, client): root = client.get_root_node() childs = root.get_children() self.assertTrue(len(childs) > 2) @connect def test_get_namespace_array(self, client): array = client.get_namespace_array() self.assertTrue(len(array) > 0) @connect def test_get_server_node(self, client): srv = client.get_server_node() self.assertEqual(srv.get_browse_name(), ua.QualifiedName("Server", 0)) #childs = srv.get_children() #self.assertTrue(len(childs) > 4) @connect def test_browsepathtonodeid(self, client): root = client.get_root_node() node = root.get_child(["0:Objects", "0:Server" , "0:ServerArray"]) self.assertEqual(node.get_browse_name(), ua.QualifiedName("ServerArray", 0)) @connect def test_subscribe_server_time(self, client): msclt = MySubHandler() server_time_node = client.get_node(ua.NodeId(ua.ObjectIds.Server_ServerStatus_CurrentTime)) sub = client.create_subscription(200, msclt) handle = sub.subscribe_data_change(server_time_node) node, val, data = msclt.future.result() self.assertEqual(node, server_time_node) delta = datetime.utcnow() - val print("Timedelta is ", delta) #self.assertTrue(delta < timedelta(seconds=2)) sub.unsubscribe(handle) sub.delete() if __name__ == "__main__": logging.basicConfig(level=logging.WARN) # FIXME add better arguments parsing with possibility to specify # username and password and encryption if len(sys.argv) < 2: print("This script is meant to test compatibilty to a server with freeopcua python client library") print("Usage: test_server.py url") sys.exit(1) else: URL = sys.argv[1] unittest.main(verbosity=30, argv=sys.argv[:1]) python-opcua-0.90.3/tests/000077500000000000000000000000001310132730300153645ustar00rootroot00000000000000python-opcua-0.90.3/tests/.gitignore000066400000000000000000000000331310132730300173500ustar00rootroot00000000000000/tests_spaw.py /export.xml python-opcua-0.90.3/tests/custom_nodes.xml000066400000000000000000000321221310132730300206100ustar00rootroot00000000000000 i=21 i=37 i=40 i=45 i=46 ns=1;i=3008 ns=1;i=3010 ns=1;i=3011 A custom folder. i=61 i=85 A custom object node. i=58 ns=1;i=30001 i=69 ns=1;i=30002 StringValue i=68 ns=1;i=30002 76 i=69 ns=1;i=30002 MyCustomString i=12 i=69 ns=1;i=30002 MyEnum Demonstrates enums ns=1;i=6001 i=29 EnumStrings ns=1;i=3010 i=78 i=68 ok run error MyEnumVal ns=1;i=6002 i=29 EnumValues i=78 i=68 ns=1;i=3011 i=7616 1 idle i=7616 2 run i=7616 4 error EnumValues i=68 i=78 i=120 i=7616 1 Mandatory The BrowseName must appear in all instances of the type. i=7616 2 Optional The BrowseName may appear in an instance of the type. i=7616 3 Constraint The modelling rule defines a constraint and the BrowseName is not used in an instance of the type. MyObjectType ns=1;i=7050 i=58 MyMethod ns=1;i=6050 i=78 ns=1;i=1050 ns=1;i=6051 InputArguments ns=1;i=7050 i=78 i=68 i=297 Context i=12 -1 OutputArguments i=78 ns=1;i=7050 i=68 i=297 Status i=6 -1 python-opcua-0.90.3/tests/custom_nodesns.xml000066400000000000000000000031431310132730300211520ustar00rootroot00000000000000 http://examples.freeopcua.github.io/ i=21 i=37 i=40 i=45 i=46 ns=1;i=3008 ns=1;i=3010 ns=1;i=3011 MyBaseObject i=85 ns=1;i=6001 MyVar i=63 ns=1;i=5002 0 python-opcua-0.90.3/tests/example.bsd000066400000000000000000000322361310132730300175170ustar00rootroot00000000000000 python-opcua-0.90.3/tests/test_opclab_internet.sh000066400000000000000000000001131310132730300221220ustar00rootroot00000000000000python3 test_server.py opc.tcp://opcua.demo-this.com:51210/UA/SampleServer python-opcua-0.90.3/tests/tests.py000066400000000000000000000013571310132730300171060ustar00rootroot00000000000000import unittest import logging import sys sys.path.insert(0, "..") sys.path.insert(0, ".") from tests_cmd_lines import TestCmdLines from tests_server import TestServer, TestServerCaching from tests_client import TestClient from tests_unit import TestUnit, TestMaskEnum from tests_history import TestHistory, TestHistorySQL, TestHistoryLimits, TestHistorySQLLimits from tests_crypto_connect import TestCryptoConnect from tests_uaerrors import TestUaErrors if __name__ == '__main__': logging.basicConfig(level=logging.WARNING) #l = logging.getLogger("opcua.server.internal_subscription") #l.setLevel(logging.DEBUG) #l = logging.getLogger("opcua.server.internal_server") #l.setLevel(logging.DEBUG) unittest.main(verbosity=3) python-opcua-0.90.3/tests/tests_client.py000066400000000000000000000066761310132730300204550ustar00rootroot00000000000000import unittest from opcua import Client from opcua import Server from opcua import ua from tests_subscriptions import SubscriptionTests from tests_common import CommonTests, add_server_methods from tests_xml import XmlTests port_num1 = 48510 class TestClient(unittest.TestCase, CommonTests, SubscriptionTests, XmlTests): ''' Run common tests on client side Of course we need a server so we start also start a server Tests that can only be run on client side must be defined in this class ''' @classmethod def setUpClass(cls): # start our own server cls.srv = Server() cls.srv.set_endpoint('opc.tcp://localhost:{0:d}'.format(port_num1)) add_server_methods(cls.srv) cls.srv.start() # start admin client # long timeout since travis (automated testing) can be really slow cls.clt = Client('opc.tcp://admin@localhost:{0:d}'.format(port_num1), timeout=10) cls.clt.connect() cls.opc = cls.clt # start anonymous client cls.ro_clt = Client('opc.tcp://localhost:{0:d}'.format(port_num1)) cls.ro_clt.connect() @classmethod def tearDownClass(cls): #stop our clients cls.ro_clt.disconnect() cls.clt.disconnect() # stop the server cls.srv.stop() def test_service_fault(self): request = ua.ReadRequest() request.TypeId = ua.FourByteNodeId(999) # bad type! with self.assertRaises(ua.UaStatusCodeError): self.clt.uaclient._uasocket.send_request(request) def test_objects_anonymous(self): objects = self.ro_clt.get_objects_node() with self.assertRaises(ua.UaStatusCodeError): objects.set_attribute(ua.AttributeIds.WriteMask, ua.DataValue(999)) with self.assertRaises(ua.UaStatusCodeError): f = objects.add_folder(3, 'MyFolder') def test_folder_anonymous(self): objects = self.clt.get_objects_node() f = objects.add_folder(3, 'MyFolderRO') f_ro = self.ro_clt.get_node(f.nodeid) self.assertEqual(f, f_ro) with self.assertRaises(ua.UaStatusCodeError): f2 = f_ro.add_folder(3, 'MyFolder2') def test_variable_anonymous(self): objects = self.clt.get_objects_node() v = objects.add_variable(3, 'MyROVariable', 6) v.set_value(4) #this should work v_ro = self.ro_clt.get_node(v.nodeid) with self.assertRaises(ua.UaStatusCodeError): v_ro.set_value(2) self.assertEqual(v_ro.get_value(), 4) v.set_writable(True) v_ro.set_value(2) #now it should work self.assertEqual(v_ro.get_value(), 2) v.set_writable(False) with self.assertRaises(ua.UaStatusCodeError): v_ro.set_value(9) self.assertEqual(v_ro.get_value(), 2) def test_context_manager(self): """ Context manager calls connect() and disconnect() """ state = [0] def increment_state(self, *args, **kwargs): state[0] += 1 # create client and replace instance methods with dummy methods client = Client('opc.tcp://dummy_address:10000') client.connect = increment_state.__get__(client) client.disconnect = increment_state.__get__(client) assert state[0] == 0 with client: # test if client connected self.assertEqual(state[0], 1) # test if client disconnected self.assertEqual(state[0], 2) python-opcua-0.90.3/tests/tests_cmd_lines.py000066400000000000000000000035021310132730300211150ustar00rootroot00000000000000import unittest import subprocess from opcua import Server port_num = 48530 class TestCmdLines(unittest.TestCase): ''' Test command lines ''' @classmethod def setUpClass(cls): cls.srv = Server() cls.srv_url = 'opc.tcp://localhost:{0:d}'.format(port_num) cls.srv.set_endpoint(cls.srv_url) objects = cls.srv.get_objects_node() obj = objects.add_object(4, "directory") var = obj.add_variable(4, "variable", 1.999) var2 = obj.add_variable(4, "variable2", 1.777) var2.set_writable() cls.srv.start() def test_uals(self): s = subprocess.check_output(["python", "tools/uals", "--url", self.srv_url]) self.assertIn(b"i=85", s) self.assertNotIn(b"i=89", s) self.assertNotIn(b"1.999", s) s = subprocess.check_output(["python", "tools/uals", "--url", self.srv_url, "-d", "3"]) self.assertIn(b"1.999", s) def test_uaread(self): s = subprocess.check_output(["python", "tools/uaread", "--url", self.srv_url, "--path", "0:Objects,4:directory,4:variable"]) self.assertIn(b"1.999", s) def test_uawrite(self): s = subprocess.check_output(["python", "tools/uawrite", "--url", self.srv_url, "--path", "0:Objects,4:directory,4:variable2", "1.789"]) s = subprocess.check_output(["python", "tools/uaread", "--url", self.srv_url, "--path", "0:Objects,4:directory,4:variable2"]) self.assertIn(b"1.789", s) self.assertNotIn(b"1.999", s) def test_uadiscover(self): s = subprocess.check_output(["python", "tools/uadiscover", "--url", self.srv_url]) self.assertIn(b"opc.tcp://localhost", s) self.assertIn(b"FreeOpcUa", s) self.assertIn(b"urn:freeopcua:python:server", s) @classmethod def tearDownClass(cls): cls.srv.stop() python-opcua-0.90.3/tests/tests_common.py000066400000000000000000000753741310132730300204700ustar00rootroot00000000000000# encoding: utf-8 from concurrent.futures import Future, TimeoutError import time from datetime import datetime from datetime import timedelta import math from opcua import ua from opcua import Node from opcua import uamethod from opcua import instantiate from opcua import copy_node from opcua.common import ua_utils def add_server_methods(srv): @uamethod def func(parent, value): return value * 2 o = srv.get_objects_node() v = o.add_method(ua.NodeId("ServerMethod", 2), ua.QualifiedName('ServerMethod', 2), func, [ua.VariantType.Int64], [ua.VariantType.Int64]) @uamethod def func2(parent, methodname, value): return math.sin(value) o = srv.get_objects_node() v = o.add_method(ua.NodeId("ServerMethodArray", 2), ua.QualifiedName('ServerMethodArray', 2), func2, [ua.VariantType.String, ua.VariantType.Int64], [ua.VariantType.Int64]) @uamethod def func3(parent, mylist): return [i * 2 for i in mylist] o = srv.get_objects_node() v = o.add_method(ua.NodeId("ServerMethodArray2", 2), ua.QualifiedName('ServerMethodArray2', 2), func3, [ua.VariantType.Int64], [ua.VariantType.Int64]) class CommonTests(object): ''' Tests that will be run twice. Once on server side and once on client side since we have been carefull to have the exact same api on server and client side ''' # jyst to avoid editor warnings opc = None assertEqual = lambda x, y: True assertIn = lambda x, y: True def test_find_servers(self): servers = self.opc.find_servers() # FIXME : finish def test_add_node_bad_args(self): obj = self.opc.get_objects_node() with self.assertRaises(TypeError): fold = obj.add_folder(1.2, "kk") with self.assertRaises(TypeError): fold = obj.add_folder(ua.UaError, "khjh") with self.assertRaises(ua.UaError): fold = obj.add_folder("kjk", 1.2) with self.assertRaises(TypeError): fold = obj.add_folder("i=0;s='oooo'", 1.2) with self.assertRaises(ua.UaError): fold = obj.add_folder("i=0;s='oooo'", "tt:oioi") def test_delete_nodes(self): obj = self.opc.get_objects_node() fold = obj.add_folder(2, "FolderToDelete") var = fold.add_variable(2, "VarToDelete", 9.1) childs = fold.get_children() self.assertIn(var, childs) self.opc.delete_nodes([var]) with self.assertRaises(ua.UaStatusCodeError): var.set_value(7.8) with self.assertRaises(ua.UaStatusCodeError): obj.get_child(["2:FolderToDelete", "2:VarToDelete"]) childs = fold.get_children() self.assertNotIn(var, childs) def test_delete_nodes_recursive(self): obj = self.opc.get_objects_node() fold = obj.add_folder(2, "FolderToDeleteR") var = fold.add_variable(2, "VarToDeleteR", 9.1) self.opc.delete_nodes([fold, var]) with self.assertRaises(ua.UaStatusCodeError): var.set_value(7.8) with self.assertRaises(ua.UaStatusCodeError): obj.get_child(["2:FolderToDelete", "2:VarToDelete"]) def test_delete_nodes_recursive2(self): obj = self.opc.get_objects_node() fold = obj.add_folder(2, "FolderToDeleteRoot") nfold = fold mynodes = [] for i in range(7): nfold = fold.add_folder(2, "FolderToDeleteRoot") var = fold.add_variable(2, "VarToDeleteR", 9.1) var = fold.add_property(2, "ProToDeleteR", 9.1) prop = fold.add_property(2, "ProToDeleteR", 9.1) o = fold.add_object(3, "ObjToDeleteR") mynodes.append(nfold) mynodes.append(var) mynodes.append(prop) mynodes.append(o) self.opc.delete_nodes([fold], recursive=True) for node in mynodes: with self.assertRaises(ua.UaStatusCodeError): node.get_browse_name() def test_server_node(self): node = self.opc.get_server_node() self.assertEqual(ua.QualifiedName('Server', 0), node.get_browse_name()) def test_root(self): root = self.opc.get_root_node() self.assertEqual(ua.QualifiedName('Root', 0), root.get_browse_name()) self.assertEqual(ua.LocalizedText('Root'), root.get_display_name()) nid = ua.NodeId(84, 0) self.assertEqual(nid, root.nodeid) def test_objects(self): objects = self.opc.get_objects_node() self.assertEqual(ua.QualifiedName('Objects', 0), objects.get_browse_name()) nid = ua.NodeId(85, 0) self.assertEqual(nid, objects.nodeid) def test_browse(self): objects = self.opc.get_objects_node() obj = objects.add_object(4, "browsetest") folder = obj.add_folder(4, "folder") prop = obj.add_property(4, "property", 1) prop2 = obj.add_property(4, "property2", 2) var = obj.add_variable(4, "variable", 3) obj2 = obj.add_object(4, "obj") alle = obj.get_children() self.assertTrue(prop in alle) self.assertTrue(prop2 in alle) self.assertTrue(var in alle) self.assertTrue(folder in alle) self.assertFalse(obj in alle) props = obj.get_children(refs=ua.ObjectIds.HasProperty) self.assertTrue(prop in props) self.assertTrue(prop2 in props) self.assertFalse(var in props) self.assertFalse(folder in props) self.assertFalse(obj2 in props) all_vars = obj.get_children(nodeclassmask=ua.NodeClass.Variable) self.assertTrue(prop in all_vars) self.assertTrue(var in all_vars) self.assertFalse(folder in props) self.assertFalse(obj2 in props) all_objs = obj.get_children(nodeclassmask=ua.NodeClass.Object) self.assertTrue(folder in all_objs) self.assertTrue(obj2 in all_objs) self.assertFalse(var in all_objs) def test_browse_references(self): objects = self.opc.get_objects_node() folder = objects.add_folder(4, "folder") childs = objects.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Forward, includesubtypes=False) self.assertTrue(folder in childs) childs = objects.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Both, includesubtypes=False) self.assertTrue(folder in childs) childs = objects.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Inverse, includesubtypes=False) self.assertFalse(folder in childs) parents = folder.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Inverse, includesubtypes=False) self.assertTrue(objects in parents) parents = folder.get_referenced_nodes(refs=ua.ObjectIds.HierarchicalReferences, direction=ua.BrowseDirection.Inverse, includesubtypes=False) self.assertTrue(objects in parents) parent = folder.get_parent() self.assertEqual(parent, objects) def test_browsename_with_spaces(self): o = self.opc.get_objects_node() v = o.add_variable(3, 'BNVariable with spaces and %&+?/', 1.3) v2 = o.get_child("3:BNVariable with spaces and %&+?/") self.assertEqual(v, v2) def test_non_existing_path(self): root = self.opc.get_root_node() with self.assertRaises(ua.UaStatusCodeError): server_time_node = root.get_child(['0:Objects', '0:Server', '0:nonexistingnode']) def test_bad_attribute(self): root = self.opc.get_root_node() with self.assertRaises(ua.UaStatusCodeError): root.set_value(99) def test_get_node_by_nodeid(self): root = self.opc.get_root_node() server_time_node = root.get_child(['0:Objects', '0:Server', '0:ServerStatus', '0:CurrentTime']) correct = self.opc.get_node(ua.NodeId(ua.ObjectIds.Server_ServerStatus_CurrentTime)) self.assertEqual(server_time_node, correct) def test_datetime_read(self): time_node = self.opc.get_node(ua.NodeId(ua.ObjectIds.Server_ServerStatus_CurrentTime)) dt = time_node.get_value() utcnow = datetime.utcnow() delta = utcnow - dt self.assertTrue(delta < timedelta(seconds=1)) def test_datetime_write(self): time_node = self.opc.get_node(ua.NodeId(ua.ObjectIds.Server_ServerStatus_CurrentTime)) now = datetime.utcnow() objects = self.opc.get_objects_node() v1 = objects.add_variable(4, "test_datetime", now) tid = v1.get_value() self.assertEqual(now, tid) def test_variant_array_dim(self): objects = self.opc.get_objects_node() l = [[[1.0, 1.0, 1.0, 1.0], [2.0, 2.0, 2.0, 2.0], [3.0, 3.0, 3.0, 3.0]],[[5.0, 5.0, 5.0, 5.0], [7.0, 8.0, 9.0, 01.0], [1.0, 1.0, 1.0, 1.0]]] v = objects.add_variable(3, 'variableWithDims', l) v.set_array_dimensions([0, 0, 0]) dim = v.get_array_dimensions() self.assertEqual(dim, [0, 0, 0]) v.set_value_rank(0) rank = v.get_value_rank() self.assertEqual(rank, 0) v2 = v.get_value() self.assertEqual(v2, l) dv = v.get_data_value() self.assertEqual(dv.Value.Dimensions, [2,3,4]) l = [[[], [], []], [[], [], []]] variant = ua.Variant(l, ua.VariantType.UInt32) v = objects.add_variable(3, 'variableWithDimsEmpty', variant) v2 = v.get_value() self.assertEqual(v2, l) dv = v.get_data_value() self.assertEqual(dv.Value.Dimensions, [2,3,0]) def test_add_numeric_variable(self): objects = self.opc.get_objects_node() v = objects.add_variable('ns=3;i=888;', '3:numericnodefromstring', 99) nid = ua.NodeId(888, 3) qn = ua.QualifiedName('numericnodefromstring', 3) self.assertEqual(nid, v.nodeid) self.assertEqual(qn, v.get_browse_name()) def test_add_string_variable(self): objects = self.opc.get_objects_node() v = objects.add_variable('ns=3;s=stringid;', '3:stringnodefromstring', [68]) nid = ua.NodeId('stringid', 3) qn = ua.QualifiedName('stringnodefromstring', 3) self.assertEqual(nid, v.nodeid) self.assertEqual(qn, v.get_browse_name()) def test_utf8(self): objects = self.opc.get_objects_node() utf_string = "æøå@%&" bn = ua.QualifiedName(utf_string, 3) nid = ua.NodeId("æølå", 3) val = "æøå" v = objects.add_variable(nid, bn, val) self.assertEqual(nid, v.nodeid) val2 = v.get_value() self.assertEqual(val, val2) bn2 = v.get_browse_name() self.assertEqual(bn, bn2) def test_null_variable(self): objects = self.opc.get_objects_node() var = objects.add_variable(3, 'nullstring', "a string") var.set_value(None) val = var.get_value() self.assertEqual(val, None) var.set_value("") val = var.get_value() self.assertNotEqual(val, None) self.assertEqual(val, "") def test_variable_data_type(self): objects = self.opc.get_objects_node() var = objects.add_variable(3, 'stringfordatatype', "a string") val = var.get_data_type_as_variant_type() self.assertEqual(val, ua.VariantType.String) var = objects.add_variable(3, 'stringarrayfordatatype', ["a", "b"]) val = var.get_data_type_as_variant_type() self.assertEqual(val, ua.VariantType.String) def test_add_string_array_variable(self): objects = self.opc.get_objects_node() v = objects.add_variable('ns=3;s=stringarrayid;', '9:stringarray', ['l', 'b']) nid = ua.NodeId('stringarrayid', 3) qn = ua.QualifiedName('stringarray', 9) self.assertEqual(nid, v.nodeid) self.assertEqual(qn, v.get_browse_name()) val = v.get_value() self.assertEqual(['l', 'b'], val) def test_add_numeric_node(self): objects = self.opc.get_objects_node() nid = ua.NodeId(9999, 3) qn = ua.QualifiedName('AddNodeVar1', 3) v1 = objects.add_variable(nid, qn, 0) self.assertEqual(nid, v1.nodeid) self.assertEqual(qn, v1.get_browse_name()) def test_add_string_node(self): objects = self.opc.get_objects_node() qn = ua.QualifiedName('AddNodeVar2', 3) nid = ua.NodeId('AddNodeVar2Id', 3) v2 = objects.add_variable(nid, qn, 0) self.assertEqual(nid, v2.nodeid) self.assertEqual(qn, v2.get_browse_name()) def test_add_find_node_(self): objects = self.opc.get_objects_node() o = objects.add_object('ns=2;i=101;', '2:AddFindObject') o2 = objects.get_child('2:AddFindObject') self.assertEqual(o, o2) def test_node_path(self): objects = self.opc.get_objects_node() o = objects.add_object('ns=2;i=105;', '2:NodePathObject') root = self.opc.get_root_node() o2 = root.get_child(['0:Objects', '2:NodePathObject']) self.assertEqual(o, o2) def test_add_read_node(self): objects = self.opc.get_objects_node() o = objects.add_object('ns=2;i=102;', '2:AddReadObject') nid = ua.NodeId(102, 2) self.assertEqual(o.nodeid, nid) qn = ua.QualifiedName('AddReadObject', 2) self.assertEqual(o.get_browse_name(), qn) def test_simple_value(self): o = self.opc.get_objects_node() v = o.add_variable(3, 'VariableTestValue', 4.32) val = v.get_value() self.assertEqual(4.32, val) def test_add_exception(self): objects = self.opc.get_objects_node() o = objects.add_object('ns=2;i=103;', '2:AddReadObject') with self.assertRaises(ua.UaStatusCodeError): o2 = objects.add_object('ns=2;i=103;', '2:AddReadObject') def test_negative_value(self): o = self.opc.get_objects_node() v = o.add_variable(3, 'VariableNegativeValue', 4) v.set_value(-4.54) val = v.get_value() self.assertEqual(-4.54, val) def test_read_server_state(self): statenode = self.opc.get_node(ua.NodeId(ua.ObjectIds.Server_ServerStatus_State)) state = statenode.get_value() self.assertEqual(state, 0) def test_bad_node(self): bad = self.opc.get_node(ua.NodeId(999, 999)) with self.assertRaises(ua.UaStatusCodeError): bad.get_browse_name() with self.assertRaises(ua.UaStatusCodeError): bad.set_value(89) with self.assertRaises(ua.UaStatusCodeError): bad.add_object(0, "0:myobj") with self.assertRaises(ua.UaStatusCodeError): bad.get_child("0:myobj") def test_value(self): o = self.opc.get_objects_node() var = ua.Variant(1.98, ua.VariantType.Double) v = o.add_variable(3, 'VariableValue', var) val = v.get_value() self.assertEqual(1.98, val) dvar = ua.DataValue(var) dv = v.get_data_value() self.assertEqual(ua.DataValue, type(dv)) self.assertEqual(dvar.Value, dv.Value) self.assertEqual(dvar.Value, var) def test_set_value(self): o = self.opc.get_objects_node() var = ua.Variant(1.98, ua.VariantType.Double) dvar = ua.DataValue(var) v = o.add_variable(3, 'VariableValue', var) v.set_value(var.Value) v1 = v.get_value() self.assertEqual(v1, var.Value) v.set_value(var) v2 = v.get_value() self.assertEqual(v2, var.Value) v.set_data_value(dvar) v3 = v.get_data_value() self.assertEqual(v3.Value, dvar.Value) def test_array_value(self): o = self.opc.get_objects_node() v = o.add_variable(3, 'VariableArrayValue', [1, 2, 3]) val = v.get_value() self.assertEqual([1, 2, 3], val) def test_bool_variable(self): o = self.opc.get_objects_node() v = o.add_variable(3, 'BoolVariable', True) dt = v.get_data_type_as_variant_type() self.assertEqual(dt, ua.VariantType.Boolean) val = v.get_value() self.assertEqual(True, val) v.set_value(False) val = v.get_value() self.assertEqual(False, val) def test_array_size_one_value(self): o = self.opc.get_objects_node() v = o.add_variable(3, 'VariableArrayValue', [1, 2, 3]) v.set_value([1]) val = v.get_value() self.assertEqual([1], val) def test_use_namespace(self): idx = self.opc.get_namespace_index("urn:freeopcua:python:server") self.assertEqual(idx, 1) root = self.opc.get_root_node() myvar = root.add_variable(idx, 'var_in_custom_namespace', [5]) myid = myvar.nodeid self.assertEqual(idx, myid.NamespaceIndex) def test_method(self): o = self.opc.get_objects_node() m = o.get_child("2:ServerMethod") result = o.call_method("2:ServerMethod", 2.1) self.assertEqual(result, 4.2) with self.assertRaises(ua.UaStatusCodeError): # FIXME: we should raise a more precise exception result = o.call_method("2:ServerMethod", 2.1, 89, 9) with self.assertRaises(ua.UaStatusCodeError): result = o.call_method(ua.NodeId(999), 2.1) # non existing method def test_method_array(self): o = self.opc.get_objects_node() m = o.get_child("2:ServerMethodArray") result = o.call_method(m, "sin", ua.Variant(math.pi)) self.assertTrue(result < 0.01) def test_method_array2(self): o = self.opc.get_objects_node() m = o.get_child("2:ServerMethodArray2") result = o.call_method(m, [1.1, 3.4, 9]) self.assertEqual(result, [2.2, 6.8, 18]) def test_add_nodes(self): objects = self.opc.get_objects_node() f = objects.add_folder(3, 'MyFolder') child = objects.get_child("3:MyFolder") self.assertEqual(child, f) o = f.add_object(3, 'MyObject') child = f.get_child("3:MyObject") self.assertEqual(child, o) v = f.add_variable(3, 'MyVariable', 6) child = f.get_child("3:MyVariable") self.assertEqual(child, v) p = f.add_property(3, 'MyProperty', 10) child = f.get_child("3:MyProperty") self.assertEqual(child, p) childs = f.get_children() self.assertTrue(o in childs) self.assertTrue(v in childs) self.assertTrue(p in childs) def test_incl_subtypes(self): base_type = self.opc.get_root_node().get_child(["0:Types", "0:ObjectTypes", "0:BaseObjectType"]) descs = base_type.get_children_descriptions(includesubtypes=True) self.assertTrue(len(descs) > 10) descs = base_type.get_children_descriptions(includesubtypes=False) self.assertEqual(len(descs), 0) def test_add_node_with_type(self): objects = self.opc.get_objects_node() f = objects.add_folder(3, 'MyFolder_TypeTest') o = f.add_object(3, 'MyObject1', ua.ObjectIds.BaseObjectType) self.assertEqual(o.get_type_definition().Identifier, ua.ObjectIds.BaseObjectType) o = f.add_object(3, 'MyObject2', ua.NodeId(ua.ObjectIds.BaseObjectType, 0)) self.assertEqual(o.get_type_definition().Identifier, ua.ObjectIds.BaseObjectType) base_otype= self.opc.get_node(ua.ObjectIds.BaseObjectType) custom_otype = base_otype.add_object_type(2, 'MyFooObjectType') o = f.add_object(3, 'MyObject3', custom_otype.nodeid) self.assertEqual(o.get_type_definition().Identifier, custom_otype.nodeid.Identifier) references = o.get_references(refs=ua.ObjectIds.HasTypeDefinition, direction=ua.BrowseDirection.Forward) self.assertEqual(len(references), 1) self.assertEqual(references[0].NodeId, custom_otype.nodeid) def test_references_for_added_nodes(self): objects = self.opc.get_objects_node() o = objects.add_object(3, 'MyObject') nodes = objects.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Forward, includesubtypes=False) self.assertTrue(o in nodes) nodes = o.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Inverse, includesubtypes=False) self.assertTrue(objects in nodes) self.assertEqual(o.get_parent(), objects) self.assertEqual(o.get_type_definition().Identifier, ua.ObjectIds.BaseObjectType) o2 = o.add_object(3, 'MySecondObject') nodes = o.get_referenced_nodes(refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Forward, includesubtypes=False) self.assertTrue(o2 in nodes) nodes = o2.get_referenced_nodes(refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Inverse, includesubtypes=False) self.assertTrue(o in nodes) self.assertEqual(o2.get_parent(), o) self.assertEqual(o2.get_type_definition().Identifier, ua.ObjectIds.BaseObjectType) v = o.add_variable(3, 'MyVariable', 6) nodes = o.get_referenced_nodes(refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Forward, includesubtypes=False) self.assertTrue(v in nodes) nodes = v.get_referenced_nodes(refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Inverse, includesubtypes=False) self.assertTrue(o in nodes) self.assertEqual(v.get_parent(), o) self.assertEqual(v.get_type_definition().Identifier, ua.ObjectIds.BaseDataVariableType) p = o.add_property(3, 'MyProperty', 2) nodes = o.get_referenced_nodes(refs=ua.ObjectIds.HasProperty, direction=ua.BrowseDirection.Forward, includesubtypes=False) self.assertTrue(p in nodes) nodes = p.get_referenced_nodes(refs=ua.ObjectIds.HasProperty, direction=ua.BrowseDirection.Inverse, includesubtypes=False) self.assertTrue(o in nodes) self.assertEqual(p.get_parent(), o) self.assertEqual(p.get_type_definition().Identifier, ua.ObjectIds.PropertyType) def test_path_string(self): o = self.opc.nodes.objects.add_folder(1, "titif").add_object(3, "opath") path = o.get_path_as_string() self.assertEqual(["0:Root", "0:Objects", "1:titif", "3:opath"], path) path = o.get_path_as_string(2) self.assertEqual(["1:titif", "3:opath"], path) path = self.opc.get_node("i=13387").get_path_as_string() # FIXME this is wrong in our server! BaseObjectType is missing an inverse reference to its parent! seems xml definition is wrong self.assertEqual(['0:BaseObjectType', '0:FolderType', '0:FileDirectoryType', '0:CreateDirectory'], path) def test_path(self): of = self.opc.nodes.objects.add_folder(1, "titif") op = of.add_object(3, "opath") path = op.get_path() self.assertEqual([self.opc.nodes.root, self.opc.nodes.objects, of, op], path) path = op.get_path(2) self.assertEqual([of, op], path) target = self.opc.get_node("i=13387") path = target.get_path() # FIXME this is wrong in our server! BaseObjectType is missing an inverse reference to its parent! seems xml definition is wrong self.assertEqual([self.opc.nodes.base_object_type, self.opc.nodes.folder_type, self.opc.get_node(ua.ObjectIds.FileDirectoryType), target], path) def test_get_endpoints(self): endpoints = self.opc.get_endpoints() self.assertTrue(len(endpoints) > 0) self.assertTrue(endpoints[0].EndpointUrl.startswith("opc.tcp://")) def test_copy_node(self): dev_t = self.opc.nodes.base_data_type.add_object_type(0, "MyDevice") v_t = dev_t.add_variable(0, "sensor", 1.0) p_t = dev_t.add_property(0, "sensor_id", "0340") ctrl_t = dev_t.add_object(0, "controller") prop_t = ctrl_t.add_property(0, "state", "Running") # Create device sutype devd_t = dev_t.add_object_type(0, "MyDeviceDervived") v_t = devd_t.add_variable(0, "childparam", 1.0) p_t = devd_t.add_property(0, "sensorx_id", "0340") nodes = copy_node(self.opc.nodes.objects, dev_t) mydevice = nodes[0] self.assertEqual(mydevice.get_node_class(), ua.NodeClass.ObjectType) self.assertEqual(len(mydevice.get_children()), 4) obj = mydevice.get_child(["0:controller"]) prop = mydevice.get_child(["0:controller", "0:state"]) self.assertEqual(prop.get_type_definition().Identifier, ua.ObjectIds.PropertyType) self.assertEqual(prop.get_value(), "Running") self.assertNotEqual(prop.nodeid, prop_t.nodeid) def test_instantiate_1(self): # Create device type dev_t = self.opc.nodes.base_object_type.add_object_type(0, "MyDevice") v_t = dev_t.add_variable(0, "sensor", 1.0) p_t = dev_t.add_property(0, "sensor_id", "0340") ctrl_t = dev_t.add_object(0, "controller") prop_t = ctrl_t.add_property(0, "state", "Running") # Create device sutype devd_t = dev_t.add_object_type(0, "MyDeviceDervived") v_t = devd_t.add_variable(0, "childparam", 1.0) p_t = devd_t.add_property(0, "sensorx_id", "0340") # instanciate device nodes = instantiate(self.opc.nodes.objects, dev_t, bname="2:Device0001") mydevice = nodes[0] self.assertEqual(mydevice.get_node_class(), ua.NodeClass.Object) self.assertEqual(mydevice.get_type_definition(), dev_t.nodeid) obj = mydevice.get_child(["0:controller"]) prop = mydevice.get_child(["0:controller", "0:state"]) self.assertEqual(prop.get_type_definition().Identifier, ua.ObjectIds.PropertyType) self.assertEqual(prop.get_value(), "Running") self.assertNotEqual(prop.nodeid, prop_t.nodeid) # instanciate device subtype nodes = instantiate(self.opc.nodes.objects, devd_t, bname="2:Device0002") mydevicederived = nodes[0] prop1 = mydevicederived.get_child(["0:sensorx_id"]) var1 = mydevicederived.get_child(["0:childparam"]) var_parent = mydevicederived.get_child(["0:sensor"]) prop_parent = mydevicederived.get_child(["0:sensor_id"]) def test_instantiate_string_nodeid(self): # Create device type dev_t = self.opc.nodes.base_object_type.add_object_type(0, "MyDevice2") v_t = dev_t.add_variable(0, "sensor", 1.0) p_t = dev_t.add_property(0, "sensor_id", "0340") ctrl_t = dev_t.add_object(0, "controller") prop_t = ctrl_t.add_property(0, "state", "Running") # instanciate device nodes = instantiate(self.opc.nodes.objects, dev_t, nodeid=ua.NodeId("InstDevice", 2, ua.NodeIdType.String), bname="2:InstDevice") mydevice = nodes[0] self.assertEqual(mydevice.get_node_class(), ua.NodeClass.Object) self.assertEqual(mydevice.get_type_definition(), dev_t.nodeid) obj = mydevice.get_child(["0:controller"]) obj_nodeid_ident = obj.nodeid.Identifier prop = mydevice.get_child(["0:controller", "0:state"]) self.assertEqual(obj_nodeid_ident, "InstDevice.controller") self.assertEqual(prop.get_type_definition().Identifier, ua.ObjectIds.PropertyType) self.assertEqual(prop.get_value(), "Running") self.assertNotEqual(prop.nodeid, prop_t.nodeid) def test_variable_with_datatype(self): v1 = self.opc.nodes.objects.add_variable(3, 'VariableEnumType1', ua.ApplicationType.ClientAndServer, datatype=ua.NodeId(ua.ObjectIds.ApplicationType)) tp1 = v1.get_data_type() self.assertEqual(ua.NodeId(ua.ObjectIds.ApplicationType), tp1) v2 = self.opc.nodes.objects.add_variable(3, 'VariableEnumType2', ua.ApplicationType.ClientAndServer, datatype=ua.NodeId(ua.ObjectIds.ApplicationType) ) tp2 = v2.get_data_type() self.assertEqual( ua.NodeId(ua.ObjectIds.ApplicationType), tp2) def test_enum(self): # create enum type enums = self.opc.get_root_node().get_child(["0:Types", "0:DataTypes", "0:BaseDataType", "0:Enumeration"]) myenum_type = enums.add_data_type(0, "MyEnum") es = myenum_type.add_variable(0, "EnumStrings", [ua.LocalizedText("String0"), ua.LocalizedText("String1"), ua.LocalizedText("String2")], ua.VariantType.LocalizedText) #es.set_value_rank(1) # instantiate o = self.opc.get_objects_node() myvar = o.add_variable(2, "MyEnumVar", ua.LocalizedText("String1"), datatype=myenum_type.nodeid) #myvar.set_writable(True) # tests self.assertEqual(myvar.get_data_type(), myenum_type.nodeid) myvar.set_value(ua.LocalizedText("String2")) def test_supertypes(self): nint32 = self.opc.get_node(ua.ObjectIds.Int32) node = ua_utils.get_node_supertype(nint32) self.assertEqual(node, self.opc.get_node(ua.ObjectIds.Integer)) nodes = ua_utils.get_node_supertypes(nint32) self.assertEqual(nodes[1], self.opc.get_node(ua.ObjectIds.Number)) self.assertEqual(nodes[0], self.opc.get_node(ua.ObjectIds.Integer)) # test custom dtype = nint32.add_data_type(0, "MyCustomDataType") node = ua_utils.get_node_supertype(dtype) self.assertEqual(node, nint32) dtype2 = dtype.add_data_type(0, "MyCustomDataType2") node = ua_utils.get_node_supertype(dtype2) self.assertEqual(node, dtype) def test_base_data_type(self): nint32 = self.opc.get_node(ua.ObjectIds.Int32) dtype = nint32.add_data_type(0, "MyCustomDataType") dtype2 = dtype.add_data_type(0, "MyCustomDataType2") self.assertEqual(ua_utils.get_base_data_type(dtype), nint32) self.assertEqual(ua_utils.get_base_data_type(dtype2), nint32) ext = self.opc.nodes.objects.add_variable(0, "MyExtensionObject", ua.Argument()) d = ext.get_data_type() d = self.opc.get_node(d) self.assertEqual(ua_utils.get_base_data_type(d), self.opc.get_node(ua.ObjectIds.Structure)) self.assertEqual(ua_utils.data_type_to_variant_type(d), ua.VariantType.ExtensionObject) def test_data_type_to_variant_type(self): test_data = { ua.ObjectIds.Boolean: ua.VariantType.Boolean, ua.ObjectIds.Byte: ua.VariantType.Byte, ua.ObjectIds.String: ua.VariantType.String, ua.ObjectIds.Int32: ua.VariantType.Int32, ua.ObjectIds.UInt32: ua.VariantType.UInt32, ua.ObjectIds.NodeId: ua.VariantType.NodeId, ua.ObjectIds.LocalizedText: ua.VariantType.LocalizedText, ua.ObjectIds.Structure: ua.VariantType.ExtensionObject, ua.ObjectIds.EnumValueType: ua.VariantType.ExtensionObject, ua.ObjectIds.Enumeration: ua.VariantType.Int32, # enumeration ua.ObjectIds.AttributeWriteMask: ua.VariantType.Int32, # enumeration ua.ObjectIds.AxisScaleEnumeration: ua.VariantType.Int32 # enumeration } for dt, vdt in test_data.items(): self.assertEqual(ua_utils.data_type_to_variant_type(self.opc.get_node(ua.NodeId(dt))), vdt) def test_variant_intenum(self): ase = ua.AxisScaleEnumeration(ua.AxisScaleEnumeration.Linear) # Just pick an existing IntEnum class vAse = ua.Variant(ase) self.assertEqual(vAse.VariantType, ua.VariantType.Int32) python-opcua-0.90.3/tests/tests_crypto_connect.py000066400000000000000000000104261310132730300222140ustar00rootroot00000000000000import unittest from opcua import Client from opcua import Server from opcua import ua try: from opcua.crypto import uacrypto from opcua.crypto import security_policies except ImportError: print("WARNING: CRYPTO NOT AVAILABLE, CRYPTO TESTS DISABLED!!") disable_crypto_tests = True else: disable_crypto_tests = False port_num1 = 48515 port_num2 = 48512 @unittest.skipIf(disable_crypto_tests, "crypto not available") class TestCryptoConnect(unittest.TestCase): ''' Test connectino with a server supporting crypto ''' @classmethod def setUpClass(cls): # start our own server cls.srv_crypto = Server() cls.uri_crypto = 'opc.tcp://localhost:{0:d}'.format(port_num1) cls.srv_crypto.set_endpoint(cls.uri_crypto) # load server certificate and private key. This enables endpoints # with signing and encryption. cls.srv_crypto.load_certificate("examples/certificate-example.der") cls.srv_crypto.load_private_key("examples/private-key-example.pem") cls.srv_crypto.start() # start a server without crypto cls.srv_no_crypto = Server() cls.uri_no_crypto = 'opc.tcp://localhost:{0:d}'.format(port_num2) cls.srv_no_crypto.set_endpoint(cls.uri_no_crypto) cls.srv_no_crypto.start() @classmethod def tearDownClass(cls): # stop the server cls.srv_no_crypto.stop() cls.srv_crypto.stop() def test_nocrypto(self): clt = Client(self.uri_no_crypto) clt.connect() try: clt.get_objects_node().get_children() finally: clt.disconnect() def test_nocrypto_feil(self): clt = Client(self.uri_no_crypto) with self.assertRaises(ua.UaError): clt.set_security_string("Basic256,Sign,examples/certificate-example.der,examples/private-key-example.pem") def test_basic256(self): clt = Client(self.uri_crypto) try: clt.set_security_string("Basic256,Sign,examples/certificate-example.der,examples/private-key-example.pem") clt.connect() self.assertTrue(clt.get_objects_node().get_children()) finally: clt.disconnect() def test_basic256_encrypt(self): clt = Client(self.uri_crypto) try: clt.set_security_string("Basic256,SignAndEncrypt,examples/certificate-example.der,examples/private-key-example.pem") clt.connect() self.assertTrue(clt.get_objects_node().get_children()) finally: clt.disconnect() def test_basic128Rsa15(self): clt = Client(self.uri_crypto) try: clt.set_security_string("Basic128Rsa15,Sign,examples/certificate-example.der,examples/private-key-example.pem") clt.connect() self.assertTrue(clt.get_objects_node().get_children()) finally: clt.disconnect() def test_basic128Rsa15_encrypt(self): clt = Client(self.uri_crypto) try: clt.set_security_string("Basic128Rsa15,SignAndEncrypt,examples/certificate-example.der,examples/private-key-example.pem") clt.connect() self.assertTrue(clt.get_objects_node().get_children()) finally: clt.disconnect() def test_basic256_encrypt_success(self): clt = Client(self.uri_crypto) try: clt.set_security(security_policies.SecurityPolicyBasic256, 'examples/certificate-example.der', 'examples/private-key-example.pem', None, ua.MessageSecurityMode.SignAndEncrypt ) clt.connect() self.assertTrue(clt.get_objects_node().get_children()) finally: clt.disconnect() def test_basic256_encrypt_feil(self): # FIXME: how to make it feil??? clt = Client(self.uri_crypto) with self.assertRaises(ua.UaError): clt.set_security(security_policies.SecurityPolicyBasic256, 'examples/certificate-example.der', 'examples/private-key-example.pem', None, ua.MessageSecurityMode.None_ ) python-opcua-0.90.3/tests/tests_history.py000066400000000000000000000303401310132730300206610ustar00rootroot00000000000000import time from datetime import datetime, timedelta import unittest from opcua import Client from opcua import Server from opcua import ua from opcua.server.history_sql import HistorySQLite from opcua.server.history import HistoryDict from tests_common import CommonTests, add_server_methods from opcua.common.events import get_event_properties_from_type_node as get_props port_num1 = 48530 port_num2 = 48530 class HistoryCommon(object): srv = Server clt = Client @classmethod def start_server_and_client(cls): cls.srv = Server() cls.srv.set_endpoint('opc.tcp://localhost:{0:d}'.format(port_num1)) cls.srv.start() cls.clt = Client('opc.tcp://localhost:{0:d}'.format(port_num1)) cls.clt.connect() @classmethod def stop_server_and_client(cls): cls.clt.disconnect() cls.srv.stop() @classmethod def create_var(cls): o = cls.srv.get_objects_node() cls.values = [i for i in range(20)] cls.var = o.add_variable(3, "history_var", 0) cls.srv.historize_node_data_change(cls.var, period=None, count=0) for i in cls.values: cls.var.set_value(i) time.sleep(1) # no start and no end is not defined by spec, return reverse order def test_history_var_read_one(self): # Spec says that at least two parameters should be provided, so # this one is out of spec res = self.var.read_raw_history(None, None, 1) self.assertEqual(len(res), 1) self.assertEqual(res[0].Value.Value, self.values[-1]) # no start and no end is not defined by spec, return reverse order def test_history_var_read_none(self): res = self.var.read_raw_history(None, None, 0) self.assertEqual(len(res), 20) self.assertEqual(res[0].Value.Value, self.values[-1]) self.assertEqual(res[-1].Value.Value, self.values[0]) # no start and no end is not defined by spec, return reverse order def test_history_var_read_last_3(self): res = self.var.read_raw_history(None, None, 3) self.assertEqual(len(res), 3) self.assertEqual(res[-1].Value.Value, self.values[-3]) self.assertEqual(res[0].Value.Value, self.values[-1]) # no start and no end is not defined by spec, return reverse order def test_history_var_read_all2(self): res = self.var.read_raw_history(None, None, 9999) self.assertEqual(len(res), 20) self.assertEqual(res[-1].Value.Value, self.values[0]) self.assertEqual(res[0].Value.Value, self.values[-1]) # only has end time, should return reverse order def test_history_var_read_2_with_end(self): now = datetime.utcnow() old = now - timedelta(days=6) res = self.var.read_raw_history(None, now, 2) self.assertEqual(len(res), 2) self.assertEqual(res[-1].Value.Value, self.values[-2]) # both start and endtime, return from start to end def test_history_var_read_all(self): now = datetime.utcnow() old = now - timedelta(days=6) res = self.var.read_raw_history(old, now, 0) self.assertEqual(len(res), 20) self.assertEqual(res[-1].Value.Value, self.values[-1]) self.assertEqual(res[0].Value.Value, self.values[0]) def test_history_var_read_5_in_timeframe(self): now = datetime.utcnow() old = now - timedelta(days=6) res = self.var.read_raw_history(old, now, 5) self.assertEqual(len(res), 5) self.assertEqual(res[-1].Value.Value, self.values[4]) self.assertEqual(res[0].Value.Value, self.values[0]) # start time greater than end time, should return reverse order def test_history_var_read_5_in_timeframe_start_greater_than_end(self): now = datetime.utcnow() old = now - timedelta(days=6) res = self.var.read_raw_history(now, old, 5) self.assertEqual(len(res), 5) self.assertEqual(res[-1].Value.Value, self.values[-5]) self.assertEqual(res[0].Value.Value, self.values[-1]) # only start return original order def test_history_var_read_6_with_start(self): now = datetime.utcnow() old = now - timedelta(days=6) res = self.var.read_raw_history(old, None, 6) self.assertEqual(len(res), 6) self.assertEqual(res[-1].Value.Value, self.values[5]) self.assertEqual(res[0].Value.Value, self.values[0]) # only start return original order def test_history_var_read_all_with_start(self): now = datetime.utcnow() old = now - timedelta(days=6) res = self.var.read_raw_history(old, None, 0) self.assertEqual(len(res), 20) self.assertEqual(res[-1].Value.Value, self.values[-1]) self.assertEqual(res[0].Value.Value, self.values[0]) # only end return reversed order def test_history_var_read_all_with_end(self): end = datetime.utcnow() + timedelta(days=6) res = self.var.read_raw_history(None, end, 0) self.assertEqual(len(res), 20) self.assertEqual(res[-1].Value.Value, self.values[0]) self.assertEqual(res[0].Value.Value, self.values[-1]) # only end return reversed order def test_history_var_read_3_with_end(self): end = datetime.utcnow() + timedelta(days=6) res = self.var.read_raw_history(None, end, 3) self.assertEqual(len(res), 3) self.assertEqual(res[2].Value.Value, self.values[-3]) self.assertEqual(res[0].Value.Value, self.values[-1]) class TestHistoryEvents(object): @classmethod def create_srv_events(cls): cls.ev_values = [i for i in range(20)] cls.srvevgen = cls.srv.get_event_generator() cls.srv_node = cls.srv.get_node(ua.ObjectIds.Server) cls.srv.historize_node_event(cls.srv_node, period=None) for i in cls.ev_values: cls.srvevgen.event.Severity = cls.ev_values[i] cls.srvevgen.trigger(message="test message") time.sleep(.1) time.sleep(2) # only has end time, should return reverse order def test_history_ev_read_2_with_end(self): now = datetime.utcnow() old = now - timedelta(days=6) res = self.srv_node.read_event_history(None, now, 2) self.assertEqual(len(res), 2) self.assertEqual(res[-1].Severity, self.ev_values[-2]) # both start and end time, return from start to end def test_history_ev_read_all(self): now = datetime.utcnow() old = now - timedelta(days=6) res = self.srv_node.read_event_history(old, now, 0) self.assertEqual(len(res), 20) self.assertEqual(res[-1].Severity, self.ev_values[-1]) self.assertEqual(res[0].Severity, self.ev_values[0]) def test_history_ev_read_5_in_timeframe(self): now = datetime.utcnow() old = now - timedelta(days=6) res = self.srv_node.read_event_history(old, now, 5) self.assertEqual(len(res), 5) self.assertEqual(res[-1].Severity, self.ev_values[4]) self.assertEqual(res[0].Severity, self.ev_values[0]) # start time greater than end time, should return reverse order def test_history_ev_read_5_in_timeframe_start_greater_than_end(self): now = datetime.utcnow() old = now - timedelta(days=6) res = self.srv_node.read_event_history(now, old, 5) self.assertEqual(len(res), 5) self.assertEqual(res[-1].Severity, self.ev_values[-5]) self.assertEqual(res[0].Severity, self.ev_values[-1]) # only start return original order def test_history_ev_read_6_with_start(self): now = datetime.utcnow() old = now - timedelta(days=6) res = self.srv_node.read_event_history(old, None, 6) self.assertEqual(len(res), 6) self.assertEqual(res[-1].Severity, self.ev_values[5]) self.assertEqual(res[0].Severity, self.ev_values[0]) # only start return original order def test_history_ev_read_all_with_start(self): now = datetime.utcnow() old = now - timedelta(days=6) res = self.srv_node.read_event_history(old, None, 0) self.assertEqual(len(res), 20) self.assertEqual(res[-1].Severity, self.ev_values[-1]) self.assertEqual(res[0].Severity, self.ev_values[0]) # only end return reversed order def test_history_ev_read_all_with_end(self): end = datetime.utcnow() + timedelta(days=6) res = self.srv_node.read_event_history(None, end, 0) self.assertEqual(len(res), 20) self.assertEqual(res[-1].Severity, self.ev_values[0]) self.assertEqual(res[0].Severity, self.ev_values[-1]) # only end return reversed order def test_history_ev_read_3_with_end(self): end = datetime.utcnow() + timedelta(days=6) res = self.srv_node.read_event_history(None, end, 3) self.assertEqual(len(res), 3) self.assertEqual(res[2].Severity, self.ev_values[-3]) self.assertEqual(res[0].Severity, self.ev_values[-1]) # reverse event filter select clauses and test that results match the filter order def test_history_ev_read_all_filter_order_reversed(self): now = datetime.utcnow() old = now - timedelta(days=6) res = self.srv_node.read_event_history(old, None, 0) self.assertEqual(len(res), 20) self.assertEqual(res[-1].Severity, self.ev_values[-1]) self.assertEqual(res[0].Severity, self.ev_values[0]) class TestHistoryLimitsCommon(unittest.TestCase): id = ua.NodeId(123) def setUp(self): self.history = self.createHistoryInstance() def createHistoryInstance(self): assert(False) def resultCount(self): results, cont = self.history.read_node_history(self.id, None, None, None) return len(results) def addValue(self, age): value = ua.DataValue() value.ServerTimestamp = datetime.utcnow() - timedelta(hours = age) self.history.save_node_value(self.id, value) def test_count_limit(self): self.history.new_historized_node(self.id, period=None, count=3) self.assertEqual(self.resultCount(), 0) self.addValue(5) self.assertEqual(self.resultCount(), 1) self.addValue(4) self.assertEqual(self.resultCount(), 2) self.addValue(3) self.assertEqual(self.resultCount(), 3) self.addValue(2) self.assertEqual(self.resultCount(), 3) self.addValue(1) self.assertEqual(self.resultCount(), 3) def test_period_limit(self): self.history.new_historized_node(self.id, period=timedelta(hours=3)) self.assertEqual(self.resultCount(), 0) self.addValue(5) self.assertEqual(self.resultCount(), 0) self.addValue(4) self.assertEqual(self.resultCount(), 0) self.addValue(2) self.assertEqual(self.resultCount(), 1) self.addValue(1) self.assertEqual(self.resultCount(), 2) self.addValue(0) self.assertEqual(self.resultCount(), 3) def test_combined_limit(self): self.history.new_historized_node(self.id, period=timedelta(hours=3), count=2) self.assertEqual(self.resultCount(), 0) self.addValue(5) self.assertEqual(self.resultCount(), 0) self.addValue(4) self.assertEqual(self.resultCount(), 0) self.addValue(2) self.assertEqual(self.resultCount(), 1) self.addValue(1) self.assertEqual(self.resultCount(), 2) self.addValue(0) self.assertEqual(self.resultCount(), 2) class TestHistoryLimits(TestHistoryLimitsCommon): def createHistoryInstance(self): return HistoryDict() class TestHistorySQLLimits(TestHistoryLimitsCommon): def createHistoryInstance(self): return HistorySQLite(":memory:") class TestHistory(unittest.TestCase, HistoryCommon, TestHistoryEvents): @classmethod def setUpClass(cls): cls.start_server_and_client() cls.create_var() cls.create_srv_events() @classmethod def tearDownClass(cls): cls.stop_server_and_client() class TestHistorySQL(unittest.TestCase, HistoryCommon, TestHistoryEvents): @classmethod def setUpClass(cls): cls.start_server_and_client() cls.srv.iserver.history_manager.set_storage(HistorySQLite(":memory:")) cls.create_var() cls.create_srv_events() @classmethod def tearDownClass(cls): cls.stop_server_and_client() python-opcua-0.90.3/tests/tests_server.py000066400000000000000000000636771310132730300205110ustar00rootroot00000000000000import unittest import os import shelve import time from tests_common import CommonTests, add_server_methods from tests_xml import XmlTests from tests_subscriptions import SubscriptionTests from datetime import timedelta, datetime from tempfile import NamedTemporaryFile import opcua from opcua import Server from opcua import Client from opcua import ua from opcua import uamethod from opcua.common.event_objects import BaseEvent, AuditEvent, AuditChannelEvent, AuditSecurityEvent, AuditOpenSecureChannelEvent from opcua.common import ua_utils port_num = 48540 port_discovery = 48550 class TestServer(unittest.TestCase, CommonTests, SubscriptionTests, XmlTests): ''' Run common tests on server side Tests that can only be run on server side must be defined here ''' @classmethod def setUpClass(cls): cls.srv = Server() cls.srv.set_endpoint('opc.tcp://localhost:{0:d}'.format(port_num)) add_server_methods(cls.srv) cls.srv.start() cls.opc = cls.srv cls.discovery = Server() cls.discovery.set_application_uri("urn:freeopcua:python:discovery") cls.discovery.set_endpoint('opc.tcp://localhost:{0:d}'.format(port_discovery)) cls.discovery.start() @classmethod def tearDownClass(cls): cls.srv.stop() cls.discovery.stop() def test_discovery(self): client = Client(self.discovery.endpoint.geturl()) client.connect() try: servers = client.find_servers() new_app_uri = "urn:freeopcua:python:server:test_discovery" self.srv.application_uri = new_app_uri self.srv.register_to_discovery(self.discovery.endpoint.geturl(), 0) time.sleep(0.1) # let server register registration new_servers = client.find_servers() self.assertEqual(len(new_servers) - len(servers) , 1) self.assertFalse(new_app_uri in [s.ApplicationUri for s in servers]) self.assertTrue(new_app_uri in [s.ApplicationUri for s in new_servers]) finally: client.disconnect() def test_find_servers2(self): client = Client(self.discovery.endpoint.geturl()) client.connect() try: servers = client.find_servers() new_app_uri1 = "urn:freeopcua:python:server:test_discovery1" self.srv.application_uri = new_app_uri1 self.srv.register_to_discovery(self.discovery.endpoint.geturl(), period=0) new_app_uri2 = "urn:freeopcua:python:test_discovery2" self.srv.application_uri = new_app_uri2 self.srv.register_to_discovery(self.discovery.endpoint.geturl(), period=0) time.sleep(0.1) # let server register registration new_servers = client.find_servers() self.assertEqual(len(new_servers) - len(servers) , 2) self.assertFalse(new_app_uri1 in [s.ApplicationUri for s in servers]) self.assertFalse(new_app_uri2 in [s.ApplicationUri for s in servers]) self.assertTrue(new_app_uri1 in [s.ApplicationUri for s in new_servers]) self.assertTrue(new_app_uri2 in [s.ApplicationUri for s in new_servers]) # now do a query with filer new_servers = client.find_servers(["urn:freeopcua:python:server"]) self.assertEqual(len(new_servers) - len(servers) , 0) self.assertTrue(new_app_uri1 in [s.ApplicationUri for s in new_servers]) self.assertFalse(new_app_uri2 in [s.ApplicationUri for s in new_servers]) # now do a query with filer new_servers = client.find_servers(["urn:freeopcua:python"]) self.assertEqual(len(new_servers) - len(servers) , 2) self.assertTrue(new_app_uri1 in [s.ApplicationUri for s in new_servers]) self.assertTrue(new_app_uri2 in [s.ApplicationUri for s in new_servers]) finally: client.disconnect() """ # not sure if this test is necessary, and there is a lot repetition with previous test def test_discovery_server_side(self): servers = self.discovery.find_servers() self.assertEqual(len(servers), 1) self.srv.register_to_discovery(self.discovery.endpoint.geturl(), 1) time.sleep(1) # let server register registration servers = self.discovery.find_servers() print("SERVERS 2", servers) self.assertEqual(len(servers), 2) """ # def test_register_server2(self): # servers = self.opc.register_server() def test_register_namespace(self): uri = 'http://mycustom.Namespace.com' idx1 = self.opc.register_namespace(uri) idx2 = self.opc.get_namespace_index(uri) self.assertEqual(idx1, idx2) def test_register_existing_namespace(self): uri = 'http://mycustom.Namespace.com' idx1 = self.opc.register_namespace(uri) idx2 = self.opc.register_namespace(uri) idx3 = self.opc.get_namespace_index(uri) self.assertEqual(idx1, idx2) self.assertEqual(idx1, idx3) def test_register_use_namespace(self): uri = 'http://my_very_custom.Namespace.com' idx = self.opc.register_namespace(uri) root = self.opc.get_root_node() myvar = root.add_variable(idx, 'var_in_custom_namespace', [5]) myid = myvar.nodeid self.assertEqual(idx, myid.NamespaceIndex) def test_server_method(self): def func(parent, variant): variant.Value *= 2 return [variant] o = self.opc.get_objects_node() v = o.add_method(3, 'Method1', func, [ua.VariantType.Int64], [ua.VariantType.Int64]) result = o.call_method(v, ua.Variant(2.1)) self.assertEqual(result, 4.2) def test_historize_variable(self): o = self.opc.get_objects_node() var = o.add_variable(3, "test_hist", 1.0) self.srv.iserver.enable_history_data_change(var, timedelta(days=1)) time.sleep(1) var.set_value(2.0) var.set_value(3.0) self.srv.iserver.disable_history_data_change(var) def test_historize_events(self): srv_node = self.srv.get_node(ua.ObjectIds.Server) srvevgen = self.srv.get_event_generator() self.srv.iserver.enable_history_event(srv_node, period=None) srvevgen.trigger(message="Message") self.srv.iserver.disable_history_event(srv_node) def test_references_for_added_nodes_method(self): objects = self.opc.get_objects_node() o = objects.add_object(3, 'MyObject') nodes = objects.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Forward, includesubtypes=False) self.assertTrue(o in nodes) nodes = o.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Inverse, includesubtypes=False) self.assertTrue(objects in nodes) self.assertEqual(o.get_parent(), objects) self.assertEqual(o.get_type_definition().Identifier, ua.ObjectIds.BaseObjectType) @uamethod def callback(parent): return m = o.add_method(3, 'MyMethod', callback) nodes = o.get_referenced_nodes(refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Forward, includesubtypes=False) self.assertTrue(m in nodes) nodes = m.get_referenced_nodes(refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Inverse, includesubtypes=False) self.assertTrue(o in nodes) self.assertEqual(m.get_parent(), o) # This should work for following BaseEvent tests to work (maybe to write it a bit differentlly since they are not independent) def test_get_event_from_type_node_BaseEvent(self): ev = opcua.common.events.get_event_obj_from_type_node(opcua.Node(self.opc.iserver.isession, ua.NodeId(ua.ObjectIds.BaseEventType))) check_base_event(self, ev) def test_get_event_from_type_node_Inhereted_AuditEvent(self): ev = opcua.common.events.get_event_obj_from_type_node(opcua.Node(self.opc.iserver.isession, ua.NodeId(ua.ObjectIds.AuditEventType))) self.assertIsNot(ev, None) # we did not receive event self.assertIsInstance(ev, BaseEvent) self.assertIsInstance(ev, AuditEvent) self.assertEqual(ev.EventType, ua.NodeId(ua.ObjectIds.AuditEventType)) self.assertEqual(ev.Severity, 1) self.assertEqual(ev.ActionTimeStamp, None) self.assertEqual(ev.Status, False) self.assertEqual(ev.ServerId, None) self.assertEqual(ev.ClientAuditEntryId, None) self.assertEqual(ev.ClientUserId, None) def test_get_event_from_type_node_MultiInhereted_AuditOpenSecureChannelEvent(self): ev = opcua.common.events.get_event_obj_from_type_node(opcua.Node(self.opc.iserver.isession, ua.NodeId(ua.ObjectIds.AuditOpenSecureChannelEventType))) self.assertIsNot(ev, None) self.assertIsInstance(ev, BaseEvent) self.assertIsInstance(ev, AuditEvent) self.assertIsInstance(ev, AuditSecurityEvent) self.assertIsInstance(ev, AuditChannelEvent) self.assertIsInstance(ev, AuditOpenSecureChannelEvent) self.assertEqual(ev.EventType, ua.NodeId(ua.ObjectIds.AuditOpenSecureChannelEventType)) self.assertEqual(ev.Severity, 1), self.assertEqual(ev.ClientCertificate, None) self.assertEqual(ev.ClientCertificateThumbprint, None) self.assertEqual(ev.RequestType, None) self.assertEqual(ev.SecurityPolicyUri, None) self.assertEqual(ev.SecurityMode, None) self.assertEqual(ev.RequestedLifetime, None) def test_eventgenerator_default(self): evgen = self.opc.get_event_generator() check_eventgenerator_BaseEvent(self, evgen) check_eventgenerator_SourceServer(self, evgen) def test_eventgenerator_BaseEvent_object(self): evgen = self.opc.get_event_generator(BaseEvent()) check_eventgenerator_BaseEvent(self, evgen) check_eventgenerator_SourceServer(self, evgen) def test_eventgenerator_BaseEvent_Node(self): evgen = self.opc.get_event_generator(opcua.Node(self.opc.iserver.isession, ua.NodeId(ua.ObjectIds.BaseEventType))) check_eventgenerator_BaseEvent(self, evgen) check_eventgenerator_SourceServer(self, evgen) def test_eventgenerator_BaseEvent_NodeId(self): evgen = self.opc.get_event_generator(ua.NodeId(ua.ObjectIds.BaseEventType)) check_eventgenerator_BaseEvent(self, evgen) check_eventgenerator_SourceServer(self, evgen) def test_eventgenerator_BaseEvent_ObjectIds(self): evgen = self.opc.get_event_generator(ua.ObjectIds.BaseEventType) check_eventgenerator_BaseEvent(self, evgen) check_eventgenerator_SourceServer(self, evgen) def test_eventgenerator_BaseEvent_Identifier(self): evgen = self.opc.get_event_generator(2041) check_eventgenerator_BaseEvent(self, evgen) check_eventgenerator_SourceServer(self, evgen) def test_eventgenerator_sourceServer_Node(self): evgen = self.opc.get_event_generator(source=opcua.Node(self.opc.iserver.isession, ua.NodeId(ua.ObjectIds.Server))) check_eventgenerator_BaseEvent(self, evgen) check_eventgenerator_SourceServer(self, evgen) def test_eventgenerator_sourceServer_NodeId(self): evgen = self.opc.get_event_generator(source=ua.NodeId(ua.ObjectIds.Server)) check_eventgenerator_BaseEvent(self, evgen) check_eventgenerator_SourceServer(self, evgen) def test_eventgenerator_sourceServer_ObjectIds(self): evgen = self.opc.get_event_generator(source=ua.ObjectIds.Server) check_eventgenerator_BaseEvent(self, evgen) check_eventgenerator_SourceServer(self, evgen) def test_eventgenerator_sourceMyObject(self): objects = self.opc.get_objects_node() o = objects.add_object(3, 'MyObject') evgen = self.opc.get_event_generator(source=o) check_eventgenerator_BaseEvent(self, evgen) check_event_generator_object(self, evgen, o) def test_eventgenerator_source_collision(self): objects = self.opc.get_objects_node() o = objects.add_object(3, 'MyObject') event = BaseEvent(sourcenode=o.nodeid) evgen = self.opc.get_event_generator(event, ua.ObjectIds.Server) check_eventgenerator_BaseEvent(self, evgen) check_event_generator_object(self, evgen, o) def test_eventgenerator_InheritedEvent(self): evgen = self.opc.get_event_generator(ua.ObjectIds.AuditEventType) check_eventgenerator_SourceServer(self, evgen) ev = evgen.event self.assertIsNot(ev, None) # we did not receive event self.assertIsInstance(ev, BaseEvent) self.assertIsInstance(ev, AuditEvent) self.assertEqual(ev.EventType, ua.NodeId(ua.ObjectIds.AuditEventType)) self.assertEqual(ev.Severity, 1) self.assertEqual(ev.ActionTimeStamp, None) self.assertEqual(ev.Status, False) self.assertEqual(ev.ServerId, None) self.assertEqual(ev.ClientAuditEntryId, None) self.assertEqual(ev.ClientUserId, None) def test_eventgenerator_MultiInheritedEvent(self): evgen = self.opc.get_event_generator(ua.ObjectIds.AuditOpenSecureChannelEventType) check_eventgenerator_SourceServer(self, evgen) ev = evgen.event self.assertIsNot(ev, None) # we did not receive event self.assertIsInstance(ev, BaseEvent) self.assertIsInstance(ev, AuditEvent) self.assertIsInstance(ev, AuditSecurityEvent) self.assertIsInstance(ev, AuditChannelEvent) self.assertIsInstance(ev, AuditOpenSecureChannelEvent) self.assertEqual(ev.EventType, ua.NodeId(ua.ObjectIds.AuditOpenSecureChannelEventType)) self.assertEqual(ev.Severity, 1), self.assertEqual(ev.ClientCertificate, None) self.assertEqual(ev.ClientCertificateThumbprint, None) self.assertEqual(ev.RequestType, None) self.assertEqual(ev.SecurityPolicyUri, None) self.assertEqual(ev.SecurityMode, None) self.assertEqual(ev.RequestedLifetime, None) # For the custom events all posibilites are tested. For other custom types only one test case is done since they are using the same code def test_create_custom_data_type_ObjectId(self): type = self.opc.create_custom_data_type(2, 'MyDataType', ua.ObjectIds.BaseDataType, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) check_custom_type(self, type, ua.ObjectIds.BaseDataType) def test_create_custom_event_type_ObjectId(self): type = self.opc.create_custom_event_type(2, 'MyEvent', ua.ObjectIds.BaseEventType, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) check_custom_type(self, type, ua.ObjectIds.BaseEventType) def test_create_custom_object_type_ObjectId(self): def func(parent, variant): return [ua.Variant(ret, ua.VariantType.Boolean)] properties = [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)] variables = [('VariableString', ua.VariantType.String), ('MyEnumVar', ua.VariantType.Int32, ua.NodeId(ua.ObjectIds.ApplicationType))] methods = [('MyMethod', func, [ua.VariantType.Int64], [ua.VariantType.Boolean])] node_type = self.opc.create_custom_object_type(2, 'MyObjectType', ua.ObjectIds.BaseObjectType, properties, variables, methods) check_custom_type(self, node_type, ua.ObjectIds.BaseObjectType) variables = node_type.get_variables() self.assertTrue(node_type.get_child("2:VariableString") in variables) self.assertEqual(node_type.get_child("2:VariableString").get_data_value().Value.VariantType, ua.VariantType.String) self.assertTrue(node_type.get_child("2:MyEnumVar") in variables) self.assertEqual(node_type.get_child("2:MyEnumVar").get_data_value().Value.VariantType, ua.VariantType.Int32) self.assertEqual(node_type.get_child("2:MyEnumVar").get_data_type(), ua.NodeId(ua.ObjectIds.ApplicationType)) methods = node_type.get_methods() self.assertTrue(node_type.get_child("2:MyMethod") in methods) # def test_create_custom_refrence_type_ObjectId(self): # type = self.opc.create_custom_reference_type(2, 'MyEvent', ua.ObjectIds.Base, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) # check_custom_type(self, type, ua.ObjectIds.BaseObjectType) def test_create_custom_variable_type_ObjectId(self): type = self.opc.create_custom_variable_type(2, 'MyVariableType', ua.ObjectIds.BaseVariableType, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) check_custom_type(self, type, ua.ObjectIds.BaseVariableType) def test_create_custom_event_type_NodeId(self): etype = self.opc.create_custom_event_type(2, 'MyEvent', ua.NodeId(ua.ObjectIds.BaseEventType), [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) check_custom_type(self, etype, ua.ObjectIds.BaseEventType) def test_create_custom_event_type_Node(self): etype = self.opc.create_custom_event_type(2, 'MyEvent', opcua.Node(self.opc.iserver.isession, ua.NodeId(ua.ObjectIds.BaseEventType)), [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) check_custom_type(self, etype, ua.ObjectIds.BaseEventType) def test_get_event_from_type_node_CustomEvent(self): etype = self.opc.create_custom_event_type(2, 'MyEvent', ua.ObjectIds.BaseEventType, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) ev = opcua.common.events.get_event_obj_from_type_node(etype) check_custom_event(self, ev, etype) self.assertEqual(ev.PropertyNum, 0) self.assertEqual(ev.PropertyString, None) def test_eventgenerator_customEvent(self): etype = self.opc.create_custom_event_type(2, 'MyEvent', ua.ObjectIds.BaseEventType, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) evgen = self.opc.get_event_generator(etype, ua.ObjectIds.Server) check_eventgenerator_CustomEvent(self, evgen, etype) check_eventgenerator_SourceServer(self, evgen) self.assertEqual(evgen.event.PropertyNum, 0) self.assertEqual(evgen.event.PropertyString, None) def test_eventgenerator_double_customEvent(self): event1 = self.opc.create_custom_event_type(3, 'MyEvent1', ua.ObjectIds.BaseEventType, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) event2 = self.opc.create_custom_event_type(4, 'MyEvent2', event1, [('PropertyBool', ua.VariantType.Boolean), ('PropertyInt', ua.VariantType.Int32)]) evgen = self.opc.get_event_generator(event2, ua.ObjectIds.Server) check_eventgenerator_CustomEvent(self, evgen, event2) check_eventgenerator_SourceServer(self, evgen) # Properties from MyEvent1 self.assertEqual(evgen.event.PropertyNum, 0) self.assertEqual(evgen.event.PropertyString, None) # Properties from MyEvent2 self.assertEqual(evgen.event.PropertyBool, False) self.assertEqual(evgen.event.PropertyInt, 0) def test_eventgenerator_customEvent_MyObject(self): objects = self.opc.get_objects_node() o = objects.add_object(3, 'MyObject') etype = self.opc.create_custom_event_type(2, 'MyEvent', ua.ObjectIds.BaseEventType, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) evgen = self.opc.get_event_generator(etype, o) check_eventgenerator_CustomEvent(self, evgen, etype) check_event_generator_object(self, evgen, o) self.assertEqual(evgen.event.PropertyNum, 0) self.assertEqual(evgen.event.PropertyString, None) def test_context_manager(self): """ Context manager calls start() and stop() """ state = [0] def increment_state(self, *args, **kwargs): state[0] += 1 # create server and replace instance methods with dummy methods server = Server() server.start = increment_state.__get__(server) server.stop = increment_state.__get__(server) assert state[0] == 0 with server: # test if server started self.assertEqual(state[0], 1) # test if server stopped self.assertEqual(state[0], 2) def test_get_node_by_ns(self): def get_ns_of_nodes(nodes): ns_list = set() for node in nodes: ns_list.add(node.nodeid.NamespaceIndex) return ns_list # incase other testss created nodes in unregistered namespace _idx_d = self.opc.register_namespace('dummy1') _idx_d = self.opc.register_namespace('dummy2') _idx_d = self.opc.register_namespace('dummy3') # create the test namespaces and vars idx_a = self.opc.register_namespace('a') idx_b = self.opc.register_namespace('b') idx_c = self.opc.register_namespace('c') o = self.opc.get_objects_node() _myvar2 = o.add_variable(idx_a, "MyBoolVar2", True) _myvar3 = o.add_variable(idx_b, "MyBoolVar3", True) _myvar4 = o.add_variable(idx_c, "MyBoolVar4", True) # the tests nodes = ua_utils.get_nodes_of_namespace(self.opc, namespaces=[idx_a, idx_b, idx_c]) self.assertEqual(len(nodes), 3) self.assertEqual(get_ns_of_nodes(nodes), set([idx_a, idx_b, idx_c])) nodes = ua_utils.get_nodes_of_namespace(self.opc, namespaces=[idx_a]) self.assertEqual(len(nodes), 1) self.assertEqual(get_ns_of_nodes(nodes), set([idx_a])) nodes = ua_utils.get_nodes_of_namespace(self.opc, namespaces=[idx_b]) self.assertEqual(len(nodes), 1) self.assertEqual(get_ns_of_nodes(nodes), set([idx_b])) nodes = ua_utils.get_nodes_of_namespace(self.opc, namespaces=['a']) self.assertEqual(len(nodes), 1) self.assertEqual(get_ns_of_nodes(nodes), set([idx_a])) nodes = ua_utils.get_nodes_of_namespace(self.opc, namespaces=['a', 'c']) self.assertEqual(len(nodes), 2) self.assertEqual(get_ns_of_nodes(nodes), set([idx_a, idx_c])) nodes = ua_utils.get_nodes_of_namespace(self.opc, namespaces='b') self.assertEqual(len(nodes), 1) self.assertEqual(get_ns_of_nodes(nodes), set([idx_b])) nodes = ua_utils.get_nodes_of_namespace(self.opc, namespaces=idx_b) self.assertEqual(len(nodes), 1) self.assertEqual(get_ns_of_nodes(nodes), set([idx_b])) self.assertRaises(ValueError, ua_utils.get_nodes_of_namespace, self.opc, namespaces='non_existing_ns') def check_eventgenerator_SourceServer(test, evgen): server = test.opc.get_server_node() test.assertEqual(evgen.event.SourceName, server.get_browse_name().Name) test.assertEqual(evgen.event.SourceNode, ua.NodeId(ua.ObjectIds.Server)) test.assertEqual( server.get_event_notifier(), {ua.EventNotifier.SubscribeToEvents, ua.EventNotifier.HistoryRead} ) refs = server.get_referenced_nodes(ua.ObjectIds.GeneratesEvent, ua.BrowseDirection.Forward, ua.NodeClass.ObjectType, False) test.assertGreaterEqual(len(refs), 1) def check_event_generator_object(test, evgen, obj): test.assertEqual(evgen.event.SourceName, obj.get_browse_name().Name) test.assertEqual(evgen.event.SourceNode, obj.nodeid) test.assertEqual( obj.get_event_notifier(), {ua.EventNotifier.SubscribeToEvents, ua.EventNotifier.HistoryRead} ) refs = obj.get_referenced_nodes(ua.ObjectIds.GeneratesEvent, ua.BrowseDirection.Forward, ua.NodeClass.ObjectType, False) test.assertEqual(len(refs), 1) test.assertEqual(refs[0].nodeid, evgen.event.EventType) def check_eventgenerator_BaseEvent(test, evgen): test.assertIsNot(evgen, None) # we did not receive event generator test.assertIs(evgen.isession, test.opc.iserver.isession) check_base_event(test, evgen.event) def check_base_event(test, ev): test.assertIsNot(ev, None) # we did not receive event test.assertIsInstance(ev, BaseEvent) test.assertEqual(ev.EventType, ua.NodeId(ua.ObjectIds.BaseEventType)) test.assertEqual(ev.Severity, 1) def check_eventgenerator_CustomEvent(test, evgen, etype): test.assertIsNot(evgen, None) # we did not receive event generator test.assertIs(evgen.isession, test.opc.iserver.isession) check_custom_event(test, evgen.event, etype) def check_custom_event(test, ev, etype): test.assertIsNot(ev, None) # we did not receive event test.assertIsInstance(ev, BaseEvent) test.assertEqual(ev.EventType, etype.nodeid) test.assertEqual(ev.Severity, 1) def check_custom_type(test, type, base_type): base = opcua.Node(test.opc.iserver.isession, ua.NodeId(base_type)) test.assertTrue(type in base.get_children()) nodes = type.get_referenced_nodes(refs=ua.ObjectIds.HasSubtype, direction=ua.BrowseDirection.Inverse, includesubtypes=True) test.assertEqual(base, nodes[0]) properties = type.get_properties() test.assertIsNot(properties, None) test.assertEqual(len(properties), 2) test.assertTrue(type.get_child("2:PropertyNum") in properties) test.assertEqual(type.get_child("2:PropertyNum").get_data_value().Value.VariantType, ua.VariantType.Int32) test.assertTrue(type.get_child("2:PropertyString") in properties) test.assertEqual(type.get_child("2:PropertyString").get_data_value().Value.VariantType, ua.VariantType.String) class TestServerCaching(unittest.TestCase): def runTest(self): return # FIXME broken tmpfile = NamedTemporaryFile() path = tmpfile.name tmpfile.close() # create cache file server = Server(shelffile=path) # modify cache content id = ua.NodeId(ua.ObjectIds.Server_ServerStatus_SecondsTillShutdown) s = shelve.open(path, "w", writeback=True) s[id.to_string()].attributes[ua.AttributeIds.Value].value = ua.DataValue(123) s.close() # ensure that we are actually loading from the cache server = Server(shelffile=path) self.assertEqual(server.get_node(id).get_value(), 123) os.remove(path) python-opcua-0.90.3/tests/tests_subscriptions.py000066400000000000000000000513461310132730300221000ustar00rootroot00000000000000 from concurrent.futures import Future, TimeoutError import time from datetime import datetime, timedelta import opcua from opcua import ua class SubHandler(): """ Dummy subscription client """ def datachange_notification(self, node, val, data): pass def event_notification(self, event): pass class MySubHandler(): """ More advanced subscription client using Future, so we can wait for events in tests """ def __init__(self): self.future = Future() def reset(self): self.future = Future() def datachange_notification(self, node, val, data): self.future.set_result((node, val, data)) def event_notification(self, event): self.future.set_result(event) class MySubHandler2(): def __init__(self): self.results = [] def datachange_notification(self, node, val, data): self.results.append((node, val)) def event_notification(self, event): self.results.append(event) class MySubHandlerCounter(): def __init__(self): self.datachange_count = 0 self.event_count = 0 def datachange_notification(self, node, val, data): self.datachange_count += 1 def event_notification(self, event): self.event_count += 1 class SubscriptionTests(object): def test_subscription_failure(self): myhandler = MySubHandler() o = self.opc.get_objects_node() sub = self.opc.create_subscription(100, myhandler) with self.assertRaises(ua.UaStatusCodeError): handle1 = sub.subscribe_data_change(o) # we can only subscribe to variables so this should fail sub.delete() def test_subscription_overload(self): nb = 10 myhandler = MySubHandler() o = self.opc.get_objects_node() sub = self.opc.create_subscription(1, myhandler) variables = [] subs = [] for i in range(nb): v = o.add_variable(3, 'SubscriptionVariableOverload' + str(i), 99) variables.append(v) for i in range(nb): sub.subscribe_data_change(variables) for i in range(nb): for j in range(nb): variables[i].set_value(j) s = self.opc.create_subscription(1, myhandler) s.subscribe_data_change(variables) subs.append(s) sub.subscribe_data_change(variables[i]) for i in range(nb): for j in range(nb): variables[i].set_value(j) sub.delete() for s in subs: s.delete() def test_subscription_count(self): myhandler = MySubHandlerCounter() sub = self.opc.create_subscription(1, myhandler) o = self.opc.get_objects_node() var = o.add_variable(3, 'SubVarCounter', 0.1) sub.subscribe_data_change(var) nb = 12 for i in range(nb): val = var.get_value() var.set_value(val +1) time.sleep(0.2) # let last event arrive self.assertEqual(myhandler.datachange_count, nb + 1) sub.delete() def test_subscription_count_list(self): myhandler = MySubHandlerCounter() sub = self.opc.create_subscription(1, myhandler) o = self.opc.get_objects_node() var = o.add_variable(3, 'SubVarCounter', [0.1, 0.2]) sub.subscribe_data_change(var) nb = 12 for i in range(nb): val = var.get_value() val.append(i) var.set_value(val) time.sleep(0.2) # let last event arrive self.assertEqual(myhandler.datachange_count, nb + 1) sub.delete() def test_subscription_count_no_change(self): myhandler = MySubHandlerCounter() sub = self.opc.create_subscription(1, myhandler) o = self.opc.get_objects_node() var = o.add_variable(3, 'SubVarCounter', [0.1, 0.2]) sub.subscribe_data_change(var) nb = 12 for i in range(nb): val = var.get_value() var.set_value(val) time.sleep(0.2) # let last event arrive self.assertEqual(myhandler.datachange_count, 1) sub.delete() def test_subscription_count_empty(self): myhandler = MySubHandlerCounter() sub = self.opc.create_subscription(1, myhandler) o = self.opc.get_objects_node() var = o.add_variable(3, 'SubVarCounter', [0.1, 0.2, 0.3]) sub.subscribe_data_change(var) while True: val = var.get_value() val.pop() var.set_value(val, ua.VariantType.Double) if not val: break time.sleep(0.2) # let last event arrive self.assertEqual(myhandler.datachange_count, 4) sub.delete() def test_subscription_overload_simple(self): nb = 10 myhandler = MySubHandler() o = self.opc.get_objects_node() sub = self.opc.create_subscription(1, myhandler) variables = [o.add_variable(3, 'SubVarOverload' + str(i), i) for i in range(nb)] for i in range(nb): sub.subscribe_data_change(variables) sub.delete() def test_subscription_data_change(self): """ test subscriptions. This is far too complicated for a unittest but, setting up subscriptions requires a lot of code, so when we first set it up, it is best to test as many things as possible """ myhandler = MySubHandler() o = self.opc.get_objects_node() # subscribe to a variable startv1 = [1, 2, 3] v1 = o.add_variable(3, 'SubscriptionVariableV1', startv1) sub = self.opc.create_subscription(100, myhandler) handle1 = sub.subscribe_data_change(v1) # Now check we get the start value node, val, data = myhandler.future.result() self.assertEqual(val, startv1) self.assertEqual(node, v1) myhandler.reset() # reset future object # modify v1 and check we get value v1.set_value([5]) node, val, data = myhandler.future.result() self.assertEqual(node, v1) self.assertEqual(val, [5]) with self.assertRaises(ua.UaStatusCodeError): sub.unsubscribe(999) # non existing handle sub.unsubscribe(handle1) with self.assertRaises(ua.UaStatusCodeError): sub.unsubscribe(handle1) # second try should fail sub.delete() with self.assertRaises(ua.UaStatusCodeError): sub.unsubscribe(handle1) # sub does not exist anymore def test_subscription_data_change_bool(self): """ test subscriptions. This is far too complicated for a unittest but, setting up subscriptions requires a lot of code, so when we first set it up, it is best to test as many things as possible """ myhandler = MySubHandler() o = self.opc.get_objects_node() # subscribe to a variable startv1 = True v1 = o.add_variable(3, 'SubscriptionVariableBool', startv1) sub = self.opc.create_subscription(100, myhandler) handle1 = sub.subscribe_data_change(v1) # Now check we get the start value node, val, data = myhandler.future.result() self.assertEqual(val, startv1) self.assertEqual(node, v1) myhandler.reset() # reset future object # modify v1 and check we get value v1.set_value(False) node, val, data = myhandler.future.result() self.assertEqual(node, v1) self.assertEqual(val, False) sub.delete() # should delete our monitoreditem too def test_subscription_data_change_many(self): """ test subscriptions. This is far too complicated for a unittest but, setting up subscriptions requires a lot of code, so when we first set it up, it is best to test as many things as possible """ myhandler = MySubHandler2() o = self.opc.get_objects_node() startv1 = True v1 = o.add_variable(3, 'SubscriptionVariableMany1', startv1) startv2 = [1.22, 1.65] v2 = o.add_variable(3, 'SubscriptionVariableMany2', startv2) sub = self.opc.create_subscription(100, myhandler) handle1, handle2 = sub.subscribe_data_change([v1, v2]) # Now check we get the start values nodes = [v1, v2] count = 0 while not len(myhandler.results) > 1: count += 1 time.sleep(0.1) if count > 100: self.fail("Did not get result from subscription") for node, val in myhandler.results: self.assertIn(node, nodes) nodes.remove(node) if node == v1: self.assertEqual(startv1, val) elif node == v2: self.assertEqual(startv2, val) else: self.fail("Error node {0} is neither {1} nor {2}".format(node, v1, v2)) sub.delete() def test_subscribe_server_time(self): myhandler = MySubHandler() server_time_node = self.opc.get_node(ua.NodeId(ua.ObjectIds.Server_ServerStatus_CurrentTime)) sub = self.opc.create_subscription(200, myhandler) handle = sub.subscribe_data_change(server_time_node) node, val, data = myhandler.future.result() self.assertEqual(node, server_time_node) delta = datetime.utcnow() - val self.assertTrue(delta < timedelta(seconds=2)) sub.unsubscribe(handle) sub.delete() def test_create_delete_subscription(self): o = self.opc.get_objects_node() v = o.add_variable(3, 'SubscriptionVariable', [1, 2, 3]) sub = self.opc.create_subscription(100, MySubHandler()) handle = sub.subscribe_data_change(v) time.sleep(0.1) sub.unsubscribe(handle) sub.delete() def test_subscribe_events(self): sub = self.opc.create_subscription(100, MySubHandler()) handle = sub.subscribe_events() time.sleep(0.1) sub.unsubscribe(handle) sub.delete() def test_subscribe_events_to_wrong_node(self): sub = self.opc.create_subscription(100, MySubHandler()) with self.assertRaises(ua.UaStatusCodeError): handle = sub.subscribe_events(self.opc.get_node("i=85")) o = self.opc.get_objects_node() v = o.add_variable(3, 'VariableNoEventNofierAttribute', 4) with self.assertRaises(ua.UaStatusCodeError): handle = sub.subscribe_events(v) sub.delete() def test_get_event_from_type_node_BaseEvent(self): etype = self.opc.get_node(ua.ObjectIds.BaseEventType) properties = opcua.common.events.get_event_properties_from_type_node(etype) for child in etype.get_properties(): self.assertTrue(child in properties) def test_get_event_from_type_node_CustomEvent(self): etype = self.srv.create_custom_event_type(2, 'MyEvent', ua.ObjectIds.AuditEventType, [('PropertyNum', ua.VariantType.Float), ('PropertyString', ua.VariantType.String)]) properties = opcua.common.events.get_event_properties_from_type_node(etype) for child in self.opc.get_node(ua.ObjectIds.BaseEventType).get_properties(): self.assertTrue(child in properties) for child in self.opc.get_node(ua.ObjectIds.AuditEventType).get_properties(): self.assertTrue(child in properties) for child in self.opc.get_node(etype.nodeid).get_properties(): self.assertTrue(child in properties) self.assertTrue(etype.get_child("2:PropertyNum") in properties) self.assertTrue(etype.get_child("2:PropertyString") in properties) def test_events_default(self): evgen = self.srv.get_event_generator() myhandler = MySubHandler() sub = self.opc.create_subscription(100, myhandler) handle = sub.subscribe_events() tid = datetime.utcnow() msg = b"this is my msg " evgen.trigger(tid, msg) ev = myhandler.future.result() self.assertIsNot(ev, None) # we did not receive event self.assertEqual(ev.EventType, ua.NodeId(ua.ObjectIds.BaseEventType)) self.assertEqual(ev.Severity, 1) self.assertEqual(ev.SourceName, self.opc.get_server_node().get_browse_name().Name) self.assertEqual(ev.SourceNode, self.opc.get_server_node().nodeid) self.assertEqual(ev.Message.Text, msg) self.assertEqual(ev.Time, tid) # time.sleep(0.1) sub.unsubscribe(handle) sub.delete() def test_events_MyObject(self): objects = self.srv.get_objects_node() o = objects.add_object(3, 'MyObject') evgen = self.srv.get_event_generator(source=o) myhandler = MySubHandler() sub = self.opc.create_subscription(100, myhandler) handle = sub.subscribe_events(o) tid = datetime.utcnow() msg = b"this is my msg " evgen.trigger(tid, msg) ev = myhandler.future.result(10) self.assertIsNot(ev, None) # we did not receive event self.assertEqual(ev.EventType, ua.NodeId(ua.ObjectIds.BaseEventType)) self.assertEqual(ev.Severity, 1) self.assertEqual(ev.SourceName, 'MyObject') self.assertEqual(ev.SourceNode, o.nodeid) self.assertEqual(ev.Message.Text, msg) self.assertEqual(ev.Time, tid) # time.sleep(0.1) sub.unsubscribe(handle) sub.delete() def test_events_wrong_source(self): objects = self.srv.get_objects_node() o = objects.add_object(3, 'MyObject') evgen = self.srv.get_event_generator(source=o) myhandler = MySubHandler() sub = self.opc.create_subscription(100, myhandler) handle = sub.subscribe_events() tid = datetime.utcnow() msg = b"this is my msg " evgen.trigger(tid, msg) with self.assertRaises(TimeoutError): # we should not receive event ev = myhandler.future.result(2) # time.sleep(0.1) sub.unsubscribe(handle) sub.delete() def test_events_CustomEvent(self): etype = self.srv.create_custom_event_type(2, 'MyEvent', ua.ObjectIds.BaseEventType, [('PropertyNum', ua.VariantType.Float), ('PropertyString', ua.VariantType.String)]) evgen = self.srv.get_event_generator(etype) myhandler = MySubHandler() sub = self.opc.create_subscription(100, myhandler) handle = sub.subscribe_events(evtypes=etype) propertynum = 2 propertystring = "This is my test" evgen.event.PropertyNum = propertynum evgen.event.PropertyString = propertystring serverity = 500 evgen.event.Severity = serverity tid = datetime.utcnow() msg = b"this is my msg " evgen.trigger(tid, msg) ev = myhandler.future.result(10) self.assertIsNot(ev, None) # we did not receive event self.assertEqual(ev.EventType, etype.nodeid) self.assertEqual(ev.Severity, serverity) self.assertEqual(ev.SourceName, self.opc.get_server_node().get_browse_name().Name) self.assertEqual(ev.SourceNode, self.opc.get_server_node().nodeid) self.assertEqual(ev.Message.Text, msg) self.assertEqual(ev.Time, tid) self.assertEqual(ev.PropertyNum, propertynum) self.assertEqual(ev.PropertyString, propertystring) # time.sleep(0.1) sub.unsubscribe(handle) sub.delete() def test_events_CustomEvent_MyObject(self): objects = self.srv.get_objects_node() o = objects.add_object(3, 'MyObject') etype = self.srv.create_custom_event_type(2, 'MyEvent', ua.ObjectIds.BaseEventType, [('PropertyNum', ua.VariantType.Float), ('PropertyString', ua.VariantType.String)]) evgen = self.srv.get_event_generator(etype, o) myhandler = MySubHandler() sub = self.opc.create_subscription(100, myhandler) handle = sub.subscribe_events(o, etype) propertynum = 2 propertystring = "This is my test" evgen.event.PropertyNum = propertynum evgen.event.PropertyString = propertystring tid = datetime.utcnow() msg = b"this is my msg " evgen.trigger(tid, msg) ev = myhandler.future.result(10) self.assertIsNot(ev, None) # we did not receive event self.assertEqual(ev.EventType, etype.nodeid) self.assertEqual(ev.Severity, 1) self.assertEqual(ev.SourceName, 'MyObject') self.assertEqual(ev.SourceNode, o.nodeid) self.assertEqual(ev.Message.Text, msg) self.assertEqual(ev.Time, tid) self.assertEqual(ev.PropertyNum, propertynum) self.assertEqual(ev.PropertyString, propertystring) # time.sleep(0.1) sub.unsubscribe(handle) sub.delete() def test_several_different_events(self): objects = self.srv.get_objects_node() o = objects.add_object(3, 'MyObject') etype1 = self.srv.create_custom_event_type(2, 'MyEvent1', ua.ObjectIds.BaseEventType, [('PropertyNum', ua.VariantType.Float), ('PropertyString', ua.VariantType.String)]) evgen1 = self.srv.get_event_generator(etype1, o) etype2 = self.srv.create_custom_event_type(2, 'MyEvent2', ua.ObjectIds.BaseEventType, [('PropertyNum', ua.VariantType.Float), ('PropertyString', ua.VariantType.String)]) evgen2 = self.srv.get_event_generator(etype2, o) myhandler = MySubHandler2() sub = self.opc.create_subscription(100, myhandler) handle = sub.subscribe_events(o, etype1) propertynum1 = 1 propertystring1 = "This is my test 1" evgen1.event.PropertyNum = propertynum1 evgen1.event.PropertyString = propertystring1 propertynum2 = 2 propertystring2 = "This is my test 2" evgen2.event.PropertyNum = propertynum2 evgen2.event.PropertyString = propertystring2 for i in range(3): evgen1.trigger() evgen2.trigger() time.sleep(1) self.assertEqual(len(myhandler.results), 3) ev = myhandler.results[-1] self.assertEqual(ev.EventType, etype1.nodeid) handle = sub.subscribe_events(o, etype2) for i in range(4): evgen1.trigger() evgen2.trigger() time.sleep(1) ev1s = [ev for ev in myhandler.results if ev.EventType == etype1.nodeid] ev2s = [ev for ev in myhandler.results if ev.EventType == etype2.nodeid] self.assertEqual(len(myhandler.results), 11) self.assertEqual(len(ev2s), 4) self.assertEqual(len(ev1s), 7) sub.unsubscribe(handle) sub.delete() def test_several_different_events_2(self): objects = self.srv.get_objects_node() o = objects.add_object(3, 'MyObject') etype1 = self.srv.create_custom_event_type(2, 'MyEvent1', ua.ObjectIds.BaseEventType, [('PropertyNum', ua.VariantType.Float), ('PropertyString', ua.VariantType.String)]) evgen1 = self.srv.get_event_generator(etype1, o) etype2 = self.srv.create_custom_event_type(2, 'MyEvent2', ua.ObjectIds.BaseEventType, [('PropertyNum2', ua.VariantType.Float), ('PropertyString', ua.VariantType.String)]) evgen2 = self.srv.get_event_generator(etype2, o) etype3 = self.srv.create_custom_event_type(2, 'MyEvent3', ua.ObjectIds.BaseEventType, [('PropertyNum3', ua.VariantType.Float), ('PropertyString', ua.VariantType.String)]) evgen3 = self.srv.get_event_generator(etype3, o) myhandler = MySubHandler2() sub = self.opc.create_subscription(100, myhandler) handle = sub.subscribe_events(o, [etype1, etype3]) propertynum1 = 1 propertystring1 = "This is my test 1" evgen1.event.PropertyNum = propertynum1 evgen1.event.PropertyString = propertystring1 propertynum2 = 2 propertystring2 = "This is my test 2" evgen2.event.PropertyNum2 = propertynum2 evgen2.event.PropertyString = propertystring2 propertynum3 = 3 propertystring3 = "This is my test 3" evgen3.event.PropertyNum3 = propertynum3 evgen3.event.PropertyString = propertystring2 for i in range(3): evgen1.trigger() evgen2.trigger() evgen3.trigger() evgen3.event.PropertyNum3 = 9999 evgen3.trigger() time.sleep(1) ev1s = [ev for ev in myhandler.results if ev.EventType == etype1.nodeid] ev2s = [ev for ev in myhandler.results if ev.EventType == etype2.nodeid] ev3s = [ev for ev in myhandler.results if ev.EventType == etype3.nodeid] self.assertEqual(len(myhandler.results), 7) self.assertEqual(len(ev1s), 3) self.assertEqual(len(ev2s), 0) self.assertEqual(len(ev3s), 4) self.assertEqual(ev1s[0].PropertyNum, propertynum1) self.assertEqual(ev3s[0].PropertyNum3, propertynum3) self.assertEqual(ev3s[-1].PropertyNum3, 9999) self.assertEqual(ev1s[0].PropertyNum3, None) sub.unsubscribe(handle) sub.delete() python-opcua-0.90.3/tests/tests_uaerrors.py000066400000000000000000000020721310132730300210230ustar00rootroot00000000000000import unittest import opcua.ua.uaerrors as uaerrors from opcua.ua.uaerrors import UaStatusCodeError class TestUaErrors(unittest.TestCase): status_code_bad_internal = 0x80020000 status_code_unknown = "Definitely Not A Status Code" def setUp(self): self.direct = uaerrors.BadInternalError() self.indirect = UaStatusCodeError(self.status_code_bad_internal) self.unknown = UaStatusCodeError(self.status_code_unknown) def test_subclass_selection(self): self.assertIs(type(self.direct), uaerrors.BadInternalError) self.assertIs(type(self.indirect), uaerrors.BadInternalError) self.assertIs(type(self.unknown), UaStatusCodeError) def test_code(self): self.assertEqual(self.direct.code, self.status_code_bad_internal) self.assertEqual(self.indirect.code, self.status_code_bad_internal) self.assertEqual(self.unknown.code, self.status_code_unknown) def test_string_repr(self): self.assertIn("BadInternal", str(self.direct)) self.assertIn("BadInternal", str(self.indirect)) python-opcua-0.90.3/tests/tests_unit.py000077500000000000000000000570361310132730300201550ustar00rootroot00000000000000# encoding: utf-8 #! /usr/bin/env python import logging import io from datetime import datetime import unittest from collections import namedtuple import uuid from opcua import ua from opcua.ua import extensionobject_from_binary from opcua.ua import extensionobject_to_binary from opcua.ua.uatypes import flatten, get_shape, reshape from opcua.server.internal_subscription import WhereClauseEvaluator from opcua.common.event_objects import BaseEvent from opcua.common.ua_utils import string_to_variant, variant_to_string, string_to_val, val_to_string from opcua.common.xmlimporter import XmlImporter from opcua.ua.uatypes import _MaskEnum from opcua.common.structures_generator import StructGenerator class TestUnit(unittest.TestCase): ''' Simple unit test that do not need to setup a server or a client ''' def test_variant_array_none(self): v = ua.Variant(None, varianttype=ua.VariantType.Int32, is_array=True) data = v.to_binary() v2 = ua.Variant.from_binary(ua.utils.Buffer(data)) self.assertEqual(v, v2) self.assertTrue(v2.is_array) v = ua.Variant(None, varianttype=ua.VariantType.Null, is_array=True) data = v.to_binary() v2 = ua.Variant.from_binary(ua.utils.Buffer(data)) self.assertEqual(v, v2) self.assertTrue(v2.is_array) def test_structs_save_and_import(self): xmlpath = "tests/example.bsd" c = StructGenerator() c.make_model_from_file(xmlpath) struct_dict = c.save_and_import("structures.py") for k, v in struct_dict.items(): a = v() self.assertEqual(k, a.__class__.__name__) def test_custom_structs(self): xmlpath = "tests/example.bsd" c = StructGenerator() c.make_model_from_file(xmlpath) c.save_to_file("structures.py") import structures as s # test with default values v = s.ScalarValueDataType() data = v.to_binary() v2 = s.ScalarValueDataType.from_binary(ua.utils.Buffer(data)) # set some values v = s.ScalarValueDataType() v.SbyteValue = 1 v.ByteValue = 2 v.Int16Value = 3 v.UInt16Value = 4 v.Int32Value = 5 v.UInt32Value = 6 v.Int64Value = 7 v.UInt64Value = 8 v.FloatValue = 9.0 v.DoubleValue = 10.0 v.StringValue = "elleven" v.DateTimeValue = datetime.utcnow() #self.GuidValue = uuid.uudib"14" v.ByteStringValue = b"fifteen" v.XmlElementValue = ua.XmlElement("titi") v.NodeIdValue = ua.NodeId.from_string("ns=4;i=9999") #self.ExpandedNodeIdValue = #self.QualifiedNameValue = #self.LocalizedTextValue = #self.StatusCodeValue = #self.VariantValue = #self.EnumerationValue = #self.StructureValue = #self.Number = #self.Integer = #self.UInteger = data = v.to_binary() v2 = s.ScalarValueDataType.from_binary(ua.utils.Buffer(data)) self.assertEqual(v.NodeIdValue, v2.NodeIdValue) def test_custom_structs_array(self): xmlpath = "tests/example.bsd" c = StructGenerator() c.make_model_from_file(xmlpath) c.save_to_file("structures.py") import structures as s # test with default values v = s.ArrayValueDataType() data = v.to_binary() v2 = s.ArrayValueDataType.from_binary(ua.utils.Buffer(data)) # set some values v = s.ArrayValueDataType() v.SbyteValue = [1] v.ByteValue = [2] v.Int16Value = [3] v.UInt16Value = [4] v.Int32Value = [5] v.UInt32Value = [6] v.Int64Value = [7] v.UInt64Value = [8] v.FloatValue = [9.0] v.DoubleValue = [10.0] v.StringValue = ["elleven"] v.DateTimeValue = [datetime.utcnow()] #self.GuidValue = uuid.uudib"14" v.ByteStringValue = [b"fifteen", b"sixteen"] v.XmlElementValue = [ua.XmlElement("titi")] v.NodeIdValue = [ua.NodeId.from_string("ns=4;i=9999"), ua.NodeId.from_string("i=6")] #self.ExpandedNodeIdValue = #self.QualifiedNameValue = #self.LocalizedTextValue = #self.StatusCodeValue = #self.VariantValue = #self.EnumerationValue = #self.StructureValue = #self.Number = #self.Integer = #self.UInteger = data = v.to_binary() v2 = s.ArrayValueDataType.from_binary(ua.utils.Buffer(data)) self.assertEqual(v.NodeIdValue, v2.NodeIdValue) print(v2.NodeIdValue) def test_nodeid_ordering(self): a = ua.NodeId(2000, 1) b = ua.NodeId(3000, 1) c = ua.NodeId(20, 0) d = ua.NodeId("tititu", 1) e = ua.NodeId("aaaaa", 1) f = ua.NodeId("aaaaa", 2) g = ua.NodeId(uuid.uuid4(), 1) h = ua.TwoByteNodeId(2001) i = ua.NodeId(b"lkjkl", 1, ua.NodeIdType.ByteString) j = ua.NodeId(b"aaa", 5, ua.NodeIdType.ByteString) mylist = [a, b, c, d, e, f, g, h, i, j] mylist.sort() expected = [c, h, a, b, e, d, f, g, i, j] self.assertEqual(mylist, expected) def test_string_to_variant_int(self): s_arr_uint = "[1, 2, 3, 4]" arr_uint = [1, 2, 3, 4] s_uint = "1" self.assertEqual(string_to_val(s_arr_uint, ua.VariantType.UInt32), arr_uint) self.assertEqual(string_to_val(s_arr_uint, ua.VariantType.UInt16), arr_uint) self.assertEqual(val_to_string(arr_uint), s_arr_uint) def test_string_to_variant_float(self): s_arr_float = "[1.1, 2.1, 3, 4.0]" arr_float = [1.1, 2.1, 3, 4.0] s_float = "1.9" self.assertEqual(string_to_val(s_float, ua.VariantType.Float), 1.9) self.assertEqual(val_to_string(arr_float), s_arr_float) def test_string_to_variant_datetime_string(self): s_arr_datetime = "[2014-05-6, 2016-10-3]" arr_string = ['2014-05-6', '2016-10-3'] arr_datetime = [datetime(2014, 5, 6), datetime(2016, 10, 3)] s_datetime = "2014-05-3" self.assertEqual(val_to_string(arr_string), s_arr_datetime) self.assertEqual(string_to_val(s_arr_datetime, ua.VariantType.String), arr_string) self.assertEqual(string_to_val(s_arr_datetime, ua.VariantType.DateTime), arr_datetime) def test_string_to_variant_nodeid(self): s_arr_nodeid = "[ns=2;i=56, i=45]" arr_nodeid = [ua.NodeId.from_string("ns=2;i=56"), ua.NodeId.from_string("i=45")] s_nodeid = "i=45" self.assertEqual(string_to_val(s_arr_nodeid, ua.VariantType.NodeId), arr_nodeid) def test_string_to_variant_status_code(self): s_statuscode = "Good" statuscode = ua.StatusCode(ua.StatusCodes.Good) s_statuscode2 = "Uncertain" statuscode2 = ua.StatusCode(ua.StatusCodes.Uncertain) self.assertEqual(string_to_val(s_statuscode, ua.VariantType.StatusCode), statuscode) self.assertEqual(string_to_val(s_statuscode2, ua.VariantType.StatusCode), statuscode2) def test_string_to_variant_qname(self): string = "2:name" obj = ua.QualifiedName("name", 2) self.assertEqual(string_to_val(string, ua.VariantType.QualifiedName), obj) self.assertEqual(val_to_string(obj), string) def test_string_to_variant_localized_text(self): string = "_This is my string" # string = "_This is my nøåæ"FIXME: does not work with python2 ?!?! obj = ua.LocalizedText(string) self.assertEqual(string_to_val(string, ua.VariantType.LocalizedText), obj) self.assertEqual(val_to_string(obj), string) def test_string_to_val_xml_element(self): string = "

titi toto

" obj = ua.XmlElement(string) self.assertEqual(string_to_val(string, ua.VariantType.XmlElement), obj) self.assertEqual(val_to_string(obj), string) b = obj.to_binary() obj2 = obj.from_binary(ua.utils.Buffer(b)) self.assertEqual(obj, obj2) def test_variant_dimensions(self): l = [[[1.0, 1.0, 1.0, 1.0], [2.0, 2.0, 2.0, 2.0], [3.0, 3.0, 3.0, 3.0]], [[5.0, 5.0, 5.0, 5.0], [7.0, 8.0, 9.0, 01.0], [1.0, 1.0, 1.0, 1.0]]] v = ua.Variant(l) self.assertEqual(v.Dimensions, [2, 3, 4]) v2 = ua.Variant.from_binary(ua.utils.Buffer(v.to_binary())) self.assertEqual(v, v2) self.assertEqual(v.Dimensions, v2.Dimensions) # very special case l = [[[], [], []], [[], [], []]] v = ua.Variant(l, ua.VariantType.UInt32) self.assertEqual(v.Dimensions, [2, 3, 0]) v2 = ua.Variant.from_binary(ua.utils.Buffer(v.to_binary())) self.assertEqual(v.Dimensions, v2.Dimensions) self.assertEqual(v, v2) def test_flatten(self): l = [[[1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0]], [[1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0]]] l2 = flatten(l) dims = get_shape(l) self.assertEqual(dims, [2, 3, 4]) self.assertNotEqual(l, l2) l3 = reshape(l2, (2, 3, 4)) self.assertEqual(l, l3) l = [[[], [], []], [[], [], []]] l2 = flatten(l) dims = get_shape(l) self.assertEqual(dims, [2, 3, 0]) l = [1, 2, 3, 4] l2 = flatten(l) dims = get_shape(l) self.assertEqual(dims, [4]) self.assertEqual(l, l2) def test_custom_variant(self): with self.assertRaises(ua.UaError): v = ua.Variant(b"ljsdfljds", ua.VariantTypeCustom(89)) v = ua.Variant(b"ljsdfljds", ua.VariantTypeCustom(61)) v2 = ua.Variant.from_binary(ua.utils.Buffer(v.to_binary())) self.assertEqual(v.VariantType, v2.VariantType) self.assertEqual(v, v2) def test_custom_variant_array(self): v = ua.Variant([b"ljsdfljds", b"lkjsdljksdf"], ua.VariantTypeCustom(40)) v2 = ua.Variant.from_binary(ua.utils.Buffer(v.to_binary())) self.assertEqual(v.VariantType, v2.VariantType) self.assertEqual(v, v2) def test_guid(self): v = ua.Variant(uuid.uuid4(), ua.VariantType.Guid) v2 = ua.Variant.from_binary(ua.utils.Buffer(v.to_binary())) self.assertEqual(v.VariantType, v2.VariantType) self.assertEqual(v, v2) def test_nodeid(self): nid = ua.NodeId() self.assertEqual(nid.NodeIdType, ua.NodeIdType.TwoByte) nid = ua.NodeId(446, 3, ua.NodeIdType.FourByte) self.assertEqual(nid.NodeIdType, ua.NodeIdType.FourByte) d = nid.to_binary() new_nid = nid.from_binary(io.BytesIO(d)) self.assertEqual(new_nid, nid) self.assertEqual(new_nid.NodeIdType, ua.NodeIdType.FourByte) self.assertEqual(new_nid.Identifier, 446) self.assertEqual(new_nid.NamespaceIndex, 3) tb = ua.TwoByteNodeId(53) fb = ua.FourByteNodeId(53) n = ua.NumericNodeId(53) n1 = ua.NumericNodeId(53, 0) s = ua.StringNodeId(53, 0) # should we raise an exception??? s1 = ua.StringNodeId("53", 0) bs = ua.ByteStringNodeId(b"53", 0) gid = uuid.uuid4() g = ua.ByteStringNodeId(str(gid), 0) guid = ua.GuidNodeId(gid) self.assertEqual(tb, fb) self.assertEqual(tb, n) self.assertEqual(tb, n1) self.assertEqual(n1, fb) self.assertNotEqual(n1, s) self.assertNotEqual(s, bs) self.assertNotEqual(s, g) self.assertNotEqual(g, guid) self.assertEqual(tb, ua.NodeId.from_binary(ua.utils.Buffer(tb.to_binary()))) self.assertEqual(fb, ua.NodeId.from_binary(ua.utils.Buffer(fb.to_binary()))) self.assertEqual(n, ua.NodeId.from_binary(ua.utils.Buffer(n.to_binary()))) self.assertEqual(s1, ua.NodeId.from_binary(ua.utils.Buffer(s1.to_binary()))) self.assertEqual(bs, ua.NodeId.from_binary(ua.utils.Buffer(bs.to_binary()))) self.assertEqual(guid, ua.NodeId.from_binary(ua.utils.Buffer(guid.to_binary()))) def test_nodeid_string(self): nid0 = ua.NodeId(45) self.assertEqual(nid0, ua.NodeId.from_string("i=45")) self.assertEqual(nid0, ua.NodeId.from_string("ns=0;i=45")) nid = ua.NodeId(45, 10) self.assertEqual(nid, ua.NodeId.from_string("i=45; ns=10")) self.assertNotEqual(nid, ua.NodeId.from_string("i=45; ns=11")) self.assertNotEqual(nid, ua.NodeId.from_string("i=5; ns=10")) # not sure the next one is correct... self.assertEqual(nid, ua.NodeId.from_string("i=45; ns=10; srv=serverid")) nid1 = ua.NodeId("myid.mynodeid", 7) self.assertEqual(nid1, ua.NodeId.from_string("ns=7; s=myid.mynodeid")) with self.assertRaises(ua.UaError): nid1 = ua.NodeId(7, "myid.mynodeid") def test_bad_string(self): with self.assertRaises(ua.UaStringParsingError): ua.NodeId.from_string("ns=r;s=yu") with self.assertRaises(ua.UaStringParsingError): ua.NodeId.from_string("i=r;ns=1") with self.assertRaises(ua.UaStringParsingError): ua.NodeId.from_string("ns=1") with self.assertRaises(ua.UaError): ua.QualifiedName.from_string("i:yu") with self.assertRaises(ua.UaError): ua.QualifiedName.from_string("i:::yu") def test_expandednodeid(self): nid = ua.ExpandedNodeId() self.assertEqual(nid.NodeIdType, ua.NodeIdType.TwoByte) nid2 = ua.ExpandedNodeId.from_binary(ua.utils.Buffer(nid.to_binary())) self.assertEqual(nid, nid2) def test_null_string(self): v = ua.Variant(None, ua.VariantType.String) b = v.to_binary() v2 = ua.Variant.from_binary(ua.utils.Buffer(b)) self.assertEqual(v.Value, v2.Value) v = ua.Variant("", ua.VariantType.String) b = v.to_binary() v2 = ua.Variant.from_binary(ua.utils.Buffer(b)) self.assertEqual(v.Value, v2.Value) def test_extension_object(self): obj = ua.UserNameIdentityToken() obj.UserName = "admin" obj.Password = b"pass" obj2 = ua.extensionobject_from_binary(ua.utils.Buffer(extensionobject_to_binary(obj))) self.assertEqual(type(obj), type(obj2)) self.assertEqual(obj.UserName, obj2.UserName) self.assertEqual(obj.Password, obj2.Password) v1 = ua.Variant(obj) v2 = ua.Variant.from_binary(ua.utils.Buffer(v1.to_binary())) self.assertEqual(type(v1), type(v2)) self.assertEqual(v1.VariantType, v2.VariantType) def test_unknown_extension_object(self): obj = ua.ExtensionObject() obj.Body = b'example of data in custom format' obj.TypeId = ua.NodeId.from_string('ns=3;i=42') data = ua.utils.Buffer(extensionobject_to_binary(obj)) obj2 = ua.extensionobject_from_binary(data) self.assertEqual(type(obj2), ua.ExtensionObject) self.assertEqual(obj2.TypeId, obj.TypeId) self.assertEqual(obj2.Body, b'example of data in custom format') def test_datetime(self): now = datetime.utcnow() epch = ua.ua_binary.datetime_to_win_epoch(now) dt = ua.ua_binary.win_epoch_to_datetime(epch) self.assertEqual(now, dt) # python's datetime has a range from Jan 1, 0001 to the end of year 9999 # windows' filetime has a range from Jan 1, 1601 to approx. year 30828 # let's test an overlapping range [Jan 1, 1601 - Dec 31, 9999] dt = datetime(1601, 1, 1) self.assertEqual(ua.ua_binary.win_epoch_to_datetime(ua.ua_binary.datetime_to_win_epoch(dt)), dt) dt = datetime(9999, 12, 31, 23, 59, 59) self.assertEqual(ua.ua_binary.win_epoch_to_datetime(ua.ua_binary.datetime_to_win_epoch(dt)), dt) epch = 128930364000001000 dt = ua.ua_binary.win_epoch_to_datetime(epch) epch2 = ua.ua_binary.datetime_to_win_epoch(dt) self.assertEqual(epch, epch2) epch = 0 self.assertEqual(ua.ua_binary.datetime_to_win_epoch(ua.ua_binary.win_epoch_to_datetime(epch)), epch) def test_equal_nodeid(self): nid1 = ua.NodeId(999, 2) nid2 = ua.NodeId(999, 2) self.assertTrue(nid1 == nid2) self.assertTrue(id(nid1) != id(nid2)) def test_zero_nodeid(self): self.assertEqual(ua.NodeId(), ua.NodeId(0, 0)) self.assertEqual(ua.NodeId(), ua.NodeId.from_string('ns=0;i=0;')) def test_string_nodeid(self): nid = ua.NodeId('titi', 1) self.assertEqual(nid.NamespaceIndex, 1) self.assertEqual(nid.Identifier, 'titi') self.assertEqual(nid.NodeIdType, ua.NodeIdType.String) def test_unicode_string_nodeid(self): nid = ua.NodeId('hëllò', 1) self.assertEqual(nid.NamespaceIndex, 1) self.assertEqual(nid.Identifier, 'hëllò') self.assertEqual(nid.NodeIdType, ua.NodeIdType.String) d = nid.to_binary() new_nid = nid.from_binary(io.BytesIO(d)) self.assertEqual(new_nid, nid) self.assertEqual(new_nid.Identifier, 'hëllò') self.assertEqual(new_nid.NodeIdType, ua.NodeIdType.String) def test_numeric_nodeid(self): nid = ua.NodeId(999, 2) self.assertEqual(nid.NamespaceIndex, 2) self.assertEqual(nid.Identifier, 999) self.assertEqual(nid.NodeIdType, ua.NodeIdType.Numeric) def test_qualifiedstring_nodeid(self): nid = ua.NodeId.from_string('ns=2;s=PLC1.Manufacturer;') self.assertEqual(nid.NamespaceIndex, 2) self.assertEqual(nid.Identifier, 'PLC1.Manufacturer') def test_strrepr_nodeid(self): nid = ua.NodeId.from_string('ns=2;s=PLC1.Manufacturer;') self.assertEqual(nid.to_string(), 'ns=2;s=PLC1.Manufacturer') # self.assertEqual(repr(nid), 'ns=2;s=PLC1.Manufacturer;') def test_qualified_name(self): qn = ua.QualifiedName('qname', 2) self.assertEqual(qn.NamespaceIndex, 2) self.assertEqual(qn.Name, 'qname') self.assertEqual(qn.to_string(), '2:qname') def test_datavalue(self): dv = ua.DataValue(123) self.assertEqual(dv.Value, ua.Variant(123)) self.assertEqual(type(dv.Value), ua.Variant) dv = ua.DataValue('abc') self.assertEqual(dv.Value, ua.Variant('abc')) now = datetime.utcnow() dv.SourceTimestamp = now def test_variant(self): dv = ua.Variant(True, ua.VariantType.Boolean) self.assertEqual(dv.Value, True) self.assertEqual(type(dv.Value), bool) now = datetime.utcnow() v = ua.Variant(now) self.assertEqual(v.Value, now) self.assertEqual(v.VariantType, ua.VariantType.DateTime) v2 = ua.Variant.from_binary(ua.utils.Buffer(v.to_binary())) self.assertEqual(v.Value, v2.Value) self.assertEqual(v.VariantType, v2.VariantType) # commonity method: self.assertEqual(v, ua.Variant(v)) def test_variant_array(self): v = ua.Variant([1, 2, 3, 4, 5]) self.assertEqual(v.Value[1], 2) # self.assertEqual(v.VarianType, ua.VariantType.Int64) # we do not care, we should aonly test for sutff that matter v2 = ua.Variant.from_binary(ua.utils.Buffer(v.to_binary())) self.assertEqual(v.Value, v2.Value) self.assertEqual(v.VariantType, v2.VariantType) now = datetime.utcnow() v = ua.Variant([now]) self.assertEqual(v.Value[0], now) self.assertEqual(v.VariantType, ua.VariantType.DateTime) v2 = ua.Variant.from_binary(ua.utils.Buffer(v.to_binary())) self.assertEqual(v.Value, v2.Value) self.assertEqual(v.VariantType, v2.VariantType) def test_variant_array_dim(self): v = ua.Variant([1, 2, 3, 4, 5, 6], dimensions=[2, 3]) self.assertEqual(v.Value[1], 2) v2 = ua.Variant.from_binary(ua.utils.Buffer(v.to_binary())) self.assertEqual(reshape(v.Value, (2, 3)), v2.Value) self.assertEqual(v.VariantType, v2.VariantType) self.assertEqual(v.Dimensions, v2.Dimensions) self.assertEqual(v2.Dimensions, [2, 3]) def test_text(self): t1 = ua.LocalizedText('Root') t2 = ua.LocalizedText('Root') t3 = ua.LocalizedText('root') self.assertEqual(t1, t2) self.assertNotEqual(t1, t3) t4 = ua.LocalizedText.from_binary(ua.utils.Buffer(t1.to_binary())) self.assertEqual(t1, t4) def test_message_chunk(self): pol = ua.SecurityPolicy() chunks = ua.MessageChunk.message_to_chunks(pol, b'123', 65536) self.assertEqual(len(chunks), 1) seq = 0 for chunk in chunks: seq += 1 chunk.SequenceHeader.SequenceNumber = seq chunk2 = ua.MessageChunk.from_binary(pol, ua.utils.Buffer(chunks[0].to_binary())) self.assertEqual(chunks[0].to_binary(), chunk2.to_binary()) # for policy None, MessageChunk overhead is 12+4+8 = 24 bytes # Let's pack 11 bytes into 28-byte chunks. The message must be split as 4+4+3 chunks = ua.MessageChunk.message_to_chunks(pol, b'12345678901', 28) self.assertEqual(len(chunks), 3) self.assertEqual(chunks[0].Body, b'1234') self.assertEqual(chunks[1].Body, b'5678') self.assertEqual(chunks[2].Body, b'901') for chunk in chunks: seq += 1 chunk.SequenceHeader.SequenceNumber = seq self.assertTrue(len(chunk.to_binary()) <= 28) def test_null(self): n = ua.NodeId(b'000000', 0, nodeidtype=ua.NodeIdType.Guid) self.assertTrue(n.is_null()) self.assertTrue(n.has_null_identifier()) n = ua.NodeId(b'000000', 1, nodeidtype=ua.NodeIdType.Guid) self.assertFalse(n.is_null()) self.assertTrue(n.has_null_identifier()) n = ua.NodeId() self.assertTrue(n.is_null()) self.assertTrue(n.has_null_identifier()) n = ua.NodeId(0, 0) self.assertTrue(n.is_null()) self.assertTrue(n.has_null_identifier()) n = ua.NodeId("", 0) self.assertTrue(n.is_null()) self.assertTrue(n.has_null_identifier()) n = ua.TwoByteNodeId(0) self.assertTrue(n.is_null()) self.assertTrue(n.has_null_identifier()) n = ua.NodeId(0, 3) self.assertFalse(n.is_null()) self.assertTrue(n.has_null_identifier()) def test_where_clause(self): cf = ua.ContentFilter() el = ua.ContentFilterElement() op = ua.SimpleAttributeOperand() op.BrowsePath.append(ua.QualifiedName("property", 2)) el.FilterOperands.append(op) for i in range(10): op = ua.LiteralOperand() op.Value = ua.Variant(i) el.FilterOperands.append(op) el.FilterOperator = ua.FilterOperator.InList cf.Elements.append(el) wce = WhereClauseEvaluator(logging.getLogger(__name__), None, cf) ev = BaseEvent() ev._freeze = False ev.property = 3 self.assertTrue(wce.eval(ev)) class TestMaskEnum(unittest.TestCase): class MyEnum(_MaskEnum): member1 = 0 member2 = 1 def test_invalid_input(self): with self.assertRaises(ValueError): self.MyEnum(12345) def test_parsing(self): self.assertEqual(self.MyEnum.parse_bitfield(0b0), set()) self.assertEqual(self.MyEnum.parse_bitfield(0b1), {self.MyEnum.member1}) self.assertEqual(self.MyEnum.parse_bitfield(0b10), {self.MyEnum.member2}) self.assertEqual(self.MyEnum.parse_bitfield(0b11), {self.MyEnum.member1, self.MyEnum.member2}) def test_identity(self): bitfields = [0b00, 0b01, 0b10, 0b11] for bitfield in bitfields: as_set = self.MyEnum.parse_bitfield(bitfield) back_to_bitfield = self.MyEnum.to_bitfield(as_set) self.assertEqual(back_to_bitfield, bitfield) if __name__ == '__main__': logging.basicConfig(level=logging.WARN) unittest.main(verbosity=3) python-opcua-0.90.3/tests/tests_xml.py000066400000000000000000000415351310132730300177700ustar00rootroot00000000000000import uuid import datetime, pytz import logging from opcua import ua from opcua import uamethod from opcua.ua import uaerrors logger = logging.getLogger("opcua.common.xmlimporter") logger.setLevel(logging.DEBUG) logger = logging.getLogger("opcua.common.xmlparser") logger.setLevel(logging.DEBUG) @uamethod def func(parent, value, string): return value * 2 class XmlTests(object): srv = None opc = None # just to remove pylint warnings assertEqual = dir def test_xml_import(self): self.opc.import_xml("tests/custom_nodes.xml") o = self.opc.get_objects_node() v = o.get_child(["1:MyXMLFolder", "1:MyXMLObject", "1:MyXMLVariable"]) val = v.get_value() self.assertEqual(val, "StringValue") node_path = ["Types", "DataTypes", "BaseDataType", "Enumeration", "1:MyEnum", "0:EnumStrings"] o = self.opc.get_root_node().get_child(node_path) self.assertEqual(len(o.get_value()), 3) # Check if method is imported node_path = ["Types", "ObjectTypes", "BaseObjectType", "1:MyObjectType", "1:MyMethod"] o = self.opc.get_root_node().get_child(node_path) self.assertEqual(len(o.get_referenced_nodes()), 4) # Check if InputArgs are imported and can be read node_path = ["Types", "ObjectTypes", "BaseObjectType", "1:MyObjectType", "1:MyMethod", "InputArguments"] o = self.opc.get_root_node().get_child(node_path) input_arg = o.get_data_value().Value.Value[0] self.assertEqual(input_arg.Name, 'Context') def test_xml_import_additional_ns(self): self.srv.register_namespace('http://placeholder.toincrease.nsindex') # if not already shift the new namespaces # "tests/custom_nodes.xml" isn't created with namespaces in mind, provide new test file self.opc.import_xml("tests/custom_nodesns.xml") # the ns=1 in to file now should be mapped to ns=2 ns = self.opc.get_namespace_index("http://examples.freeopcua.github.io/") o = self.opc.get_objects_node() o2 = o.get_child(["{0:d}:MyBaseObject".format(ns)]) self.assertIsNotNone(o2) v1 = o.get_child(["{0:d}:MyBaseObject".format(ns), "{0:d}:MyVar".format(ns)]) self.assertIsNotNone(v1) r1 = o2.get_references(refs=ua.ObjectIds.HasComponent)[0] self.assertEqual(r1.NodeId.NamespaceIndex, ns) r3 = v1.get_references(refs=ua.ObjectIds.HasComponent)[0] self.assertEqual(r3.NodeId.NamespaceIndex, ns) def test_xml_method(self): self.opc.register_namespace("tititi") self.opc.register_namespace("whatthefuck") o = self.opc.nodes.objects.add_object(2, "xmlexportmethod") m = o.add_method(2, "callme", func, [ua.VariantType.Double, ua.VariantType.String], [ua.VariantType.Float]) # set an arg dimension to a list to test list export inputs = m.get_child("InputArguments") val = inputs.get_value() val[0].ArrayDimensions = [2, 2] desc = b"My nce description" val[0].Description = ua.LocalizedText(desc) inputs.set_value(val) # get all nodes and export nodes = [o, m] nodes.extend(m.get_children()) self.opc.export_xml(nodes, "tmp_test_export.xml") self.opc.delete_nodes(nodes) self.opc.import_xml("tmp_test_export.xml") # now see if our nodes are here val = inputs.get_value() self.assertEqual(len(val), 2) self.assertEqual(val[0].ArrayDimensions, [2, 2]) self.assertEqual(val[0].Description.Text, desc) def test_xml_vars(self): self.opc.register_namespace("tititi") self.opc.register_namespace("whatthexxx") o = self.opc.nodes.objects.add_object(2, "xmlexportobj") v = o.add_variable(3, "myxmlvar", 6.78, ua.VariantType.Double) a = o.add_variable(3, "myxmlvar-array", [6, 1], ua.VariantType.UInt16) a2 = o.add_variable(3, "myxmlvar-2dim", [[1, 2], [3, 4]], ua.VariantType.UInt32) a3 = o.add_variable(3, "myxmlvar-2dim", [[]], ua.VariantType.ByteString) nodes = [o, v, a, a2, a3] self.opc.export_xml(nodes, "tmp_test_export-vars.xml") self.opc.delete_nodes(nodes) self.opc.import_xml("tmp_test_export-vars.xml") self.assertEqual(v.get_value(), 6.78) self.assertEqual(v.get_data_type(), ua.NodeId(ua.ObjectIds.Double)) self.assertEqual(a.get_data_type(), ua.NodeId(ua.ObjectIds.UInt16)) self.assertIn(a.get_value_rank(), (0, 1)) self.assertEqual(a.get_value(), [6, 1]) self.assertEqual(a2.get_value(), [[1, 2], [3, 4]]) self.assertEqual(a2.get_data_type(), ua.NodeId(ua.ObjectIds.UInt32)) self.assertIn(a2.get_value_rank(), (0, 2)) self.assertEqual(a2.get_attribute(ua.AttributeIds.ArrayDimensions).Value.Value, [2, 2]) # self.assertEqual(a3.get_value(), [[]]) # would require special code ... self.assertEqual(a3.get_data_type(), ua.NodeId(ua.ObjectIds.ByteString)) self.assertIn(a3.get_value_rank(), (0, 2)) self.assertEqual(a3.get_attribute(ua.AttributeIds.ArrayDimensions).Value.Value, [1, 0]) def test_xml_ns(self): """ This test is far too complicated but catches a lot of things... """ ns_array = self.opc.get_namespace_array() if len(ns_array) < 3: self.opc.register_namespace("dummy_ns") ref_ns = self.opc.register_namespace("ref_namespace") new_ns = self.opc.register_namespace("my_new_namespace") bname_ns = self.opc.register_namespace("bname_namespace") o = self.opc.nodes.objects.add_object(0, "xmlns0") o50 = self.opc.nodes.objects.add_object(50, "xmlns20") o200 = self.opc.nodes.objects.add_object(200, "xmlns200") onew = self.opc.nodes.objects.add_object(new_ns, "xmlns_new") vnew = onew.add_variable(new_ns, "xmlns_new_var", 9.99) o_no_export = self.opc.nodes.objects.add_object(ref_ns, "xmlns_parent") v_no_parent = o_no_export.add_variable(new_ns, "xmlns_new_var_no_parent", 9.99) o_bname = onew.add_object("ns={0};i=4000".format(new_ns), "{0}:BNAME".format(bname_ns)) nodes = [o, o50, o200, onew, vnew, v_no_parent, o_bname] self.opc.export_xml(nodes, "tmp_test_export-ns.xml") # delete node and change index og new_ns before re-importing self.opc.delete_nodes(nodes) ns_node = self.opc.get_node(ua.NodeId(ua.ObjectIds.Server_NamespaceArray)) nss = ns_node.get_value() nss.remove("my_new_namespace") # nss.remove("ref_namespace") nss.remove("bname_namespace") ns_node.set_value(nss) new_ns = self.opc.register_namespace("my_new_namespace_offsett") new_ns = self.opc.register_namespace("my_new_namespace") new_nodes = self.opc.import_xml("tmp_test_export-ns.xml") for i in [o, o50, o200]: i.get_browse_name() with self.assertRaises(uaerrors.BadNodeIdUnknown): onew.get_browse_name() # since my_new_namesspace2 is referenced byt a node it should have been reimported nss = self.opc.get_namespace_array() self.assertIn("bname_namespace", nss) # get index of namespaces after import new_ns = self.opc.register_namespace("my_new_namespace") bname_ns = self.opc.register_namespace("bname_namespace") onew.nodeid.NamespaceIndex = new_ns onew.get_browse_name() vnew2 = onew.get_children()[0] self.assertEqual(new_ns, vnew2.nodeid.NamespaceIndex) def test_xml_float(self): o = self.opc.nodes.objects.add_variable(2, "xmlfloat", 5.67) dtype = o.get_data_type() dv = o.get_data_value() self.opc.export_xml([o], "tmp_test_export-float.xml") self.opc.delete_nodes([o]) new_nodes = self.opc.import_xml("tmp_test_export-float.xml") o2 = self.opc.get_node(new_nodes[0]) self.assertEqual(o, o2) self.assertEqual(dtype, o2.get_data_type()) self.assertEqual(dv.Value, o2.get_data_value().Value) def test_xml_bool(self): o = self.opc.nodes.objects.add_variable(2, "xmlbool", True) self._test_xml_var_type(o, "bool") def test_xml_string(self): o = self.opc.nodes.objects.add_variable(2, "xmlstring", "mystring") self._test_xml_var_type(o, "string") def test_xml_string_array(self): o = self.opc.nodes.objects.add_variable(2, "xmlstringarray", ["mystring2", "mystring3"]) node2 = self._test_xml_var_type(o, "stringarray") dv = node2.get_data_value() def test_xml_guid(self): o = self.opc.nodes.objects.add_variable(2, "xmlguid", uuid.uuid4()) self._test_xml_var_type(o, "guid") def test_xml_guid_array(self): o = self.opc.nodes.objects.add_variable(2, "xmlguid", [uuid.uuid4(), uuid.uuid4()]) self._test_xml_var_type(o, "guid_array") def test_xml_datetime(self): o = self.opc.nodes.objects.add_variable(3, "myxmlvar-dt", datetime.datetime.utcnow(), ua.VariantType.DateTime) self._test_xml_var_type(o, "datetime") def test_xml_datetime_array(self): o = self.opc.nodes.objects.add_variable(3, "myxmlvar-array", [ datetime.datetime.now(), datetime.datetime.utcnow(), datetime.datetime.now(pytz.timezone("Asia/Tokyo")) ], ua.VariantType.DateTime) self._test_xml_var_type(o, "datetime_array") #def test_xml_qualifiedname(self): # o = self.opc.nodes.objects.add_variable(2, "xmlltext", ua.QualifiedName("mytext", 5)) # self._test_xml_var_type(o, "qualified_name") #def test_xml_qualifiedname_array(self): # o = self.opc.nodes.objects.add_variable(2, "xmlltext_array", [ua.QualifiedName("erert", 5), ua.QualifiedName("erert33", 6)]) # self._test_xml_var_type(o, "qualified_name_array") def test_xml_bytestring(self): o = self.opc.nodes.objects.add_variable(2, "xmlltext", "mytext".encode("utf8"), ua.VariantType.ByteString) self._test_xml_var_type(o, "bytestring") def test_xml_bytestring_array(self): o = self.opc.nodes.objects.add_variable(2, "xmlltext_array", ["mytext".encode("utf8"), "errsadf".encode("utf8")], ua.VariantType.ByteString) self._test_xml_var_type(o, "bytestring_array") def test_xml_localizedtext(self): o = self.opc.nodes.objects.add_variable(2, "xmlltext", ua.LocalizedText("mytext")) self._test_xml_var_type(o, "localized_text") def test_xml_localizedtext_array(self): o = self.opc.nodes.objects.add_variable(2, "xmlltext_array", [ua.LocalizedText("erert"), ua.LocalizedText("erert33")]) self._test_xml_var_type(o, "localized_text_array") def test_xml_nodeid(self): o = self.opc.nodes.objects.add_variable(2, "xmlnodeid", ua.NodeId("mytext", 1)) self._test_xml_var_type(o, "nodeid") def test_xml_ext_obj(self): arg = ua.Argument() arg.DataType = ua.NodeId(ua.ObjectIds.Float) arg.Description = ua.LocalizedText(b"Nice description") arg.ArrayDimensions = [1, 2, 3] arg.Name = "MyArg" node = self.opc.nodes.objects.add_variable(2, "xmlexportobj2", arg) node2 = self._test_xml_var_type(node, "ext_obj", test_equality=False) arg2 = node2.get_value() self.assertEqual(arg.Name, arg2.Name) self.assertEqual(arg.ArrayDimensions, arg2.ArrayDimensions) self.assertEqual(arg.Description, arg2.Description) self.assertEqual(arg.DataType, arg2.DataType) def test_xml_ext_obj_array(self): arg = ua.Argument() arg.DataType = ua.NodeId(ua.ObjectIds.Float) arg.Description = ua.LocalizedText(b"Nice description") arg.ArrayDimensions = [1, 2, 3] arg.Name = "MyArg" arg2 = ua.Argument() arg2.DataType = ua.NodeId(ua.ObjectIds.Int32) arg2.Description = ua.LocalizedText(b"Nice description2") arg2.ArrayDimensions = [4, 5, 6] arg2.Name = "MyArg2" args = [arg, arg2] node = self.opc.nodes.objects.add_variable(2, "xmlexportobj2", args) node2 = self._test_xml_var_type(node, "ext_obj_array", test_equality=False) readArgs = node2.get_value() for i,arg in enumerate(readArgs): self.assertEqual(args[i].Name, readArgs[i].Name) self.assertEqual(args[i].ArrayDimensions, readArgs[i].ArrayDimensions) self.assertEqual(args[i].Description, readArgs[i].Description) self.assertEqual(args[i].DataType, readArgs[i].DataType) def test_xml_enum(self): o = self.opc.nodes.objects.add_variable(2, "xmlenum", 0, varianttype=ua.VariantType.Int32, datatype=ua.ObjectIds.ApplicationType) self._test_xml_var_type(o, "enum") def test_xml_enumvalues(self): o = self.opc.nodes.objects.add_variable(2, "xmlenumvalues", 0, varianttype=ua.VariantType.Int32, datatype=ua.ObjectIds.AttributeWriteMask) self._test_xml_var_type(o, "enumvalues") def test_xml_custom_uint32(self): #t = self.opc.nodes. create_custom_data_type(2, 'MyCustomUint32', ua.ObjectIds.UInt32) t = self.opc.get_node(ua.ObjectIds.UInt32).add_data_type(2, 'MyCustomUint32') o = self.opc.nodes.objects.add_variable(2, "xmlcustomunit32", 0, varianttype=ua.VariantType.UInt32, datatype=t.nodeid) self._test_xml_var_type(o, "cuint32") def test_xml_var_nillable(self): xml = """ i=1 i=12 i=40 i=47 xmlstring xmlstring i=85 i=63 xmlbool xmlbool i=85 i=63 """ fp = open('tmp_test_import-nillable.xml', 'w') fp.write(xml) fp.close() # TODO: when the xml parser also support loading from string, remove write to file _new_nodes = self.opc.import_xml('tmp_test_import-nillable.xml') var_string = self.opc.get_node(ua.NodeId('test_xml.string.nillabel', 2)) var_bool = self.opc.get_node(ua.NodeId('test_xml.bool.nillabel', 2)) self.assertEqual(var_string.get_value(), None) self.assertEqual(var_bool.get_value(), None) def _test_xml_var_type(self, node, typename, test_equality=True): dtype = node.get_data_type() dv = node.get_data_value() rank = node.get_value_rank() dim = node.get_array_dimensions() nclass = node.get_node_class() path = "tmp_test_export-{0}.xml".format(typename) self.opc.export_xml([node], path) self.opc.delete_nodes([node]) new_nodes = self.opc.import_xml(path) node2 = self.opc.get_node(new_nodes[0]) self.assertEqual(node, node2) self.assertEqual(dtype, node2.get_data_type()) if test_equality: self.assertEqual(dv.Value, node2.get_data_value().Value) self.assertEqual(rank, node2.get_value_rank()) self.assertEqual(dim, node2.get_array_dimensions()) self.assertEqual(nclass, node2.get_node_class()) return node2 def test_xml_byte(self): o = self.opc.nodes.objects.add_variable(2, "byte", 255, ua.VariantType.Byte) dtype = o.get_data_type() dv = o.get_data_value() self.opc.export_xml([o], "export-byte.xml") self.opc.delete_nodes([o]) new_nodes = self.opc.import_xml("export-byte.xml") o2 = self.opc.get_node(new_nodes[0]) self.assertEqual(o, o2) self.assertEqual(dtype, o2.get_data_type()) self.assertEqual(dv.Value, o2.get_data_value().Value) python-opcua-0.90.3/tools/000077500000000000000000000000001310132730300153625ustar00rootroot00000000000000python-opcua-0.90.3/tools/uacall000066400000000000000000000003071310132730300165460ustar00rootroot00000000000000#!/usr/bin/env python import sys import os sys.path.append(os.path.join(os.path.dirname(os.path.realpath(__file__)), "..")) from opcua.tools import uacall if __name__ == "__main__": uacall() python-opcua-0.90.3/tools/uaclient000077500000000000000000000003131310132730300171110ustar00rootroot00000000000000#!/usr/bin/env python import sys import os sys.path.append(os.path.join(os.path.dirname(os.path.realpath(__file__)), "..")) from opcua.tools import uaclient if __name__ == "__main__": uaclient() python-opcua-0.90.3/tools/uadiscover000077500000000000000000000003171310132730300174550ustar00rootroot00000000000000#!/usr/bin/env python import sys import os sys.path.append(os.path.join(os.path.dirname(os.path.realpath(__file__)), "..")) from opcua.tools import uadiscover if __name__ == "__main__": uadiscover() python-opcua-0.90.3/tools/uahistoryread000077500000000000000000000003251310132730300201730ustar00rootroot00000000000000#!/usr/bin/env python import sys import os sys.path.append(os.path.join(os.path.dirname(os.path.realpath(__file__)), "..")) from opcua.tools import uahistoryread if __name__ == "__main__": uahistoryread() python-opcua-0.90.3/tools/uals000077500000000000000000000003031310132730300162500ustar00rootroot00000000000000#!/usr/bin/env python import sys import os sys.path.append(os.path.join(os.path.dirname(os.path.realpath(__file__)), "..")) from opcua.tools import uals if __name__ == "__main__": uals() python-opcua-0.90.3/tools/uaread000077500000000000000000000003071310132730300165510ustar00rootroot00000000000000#!/usr/bin/env python import sys import os sys.path.append(os.path.join(os.path.dirname(os.path.realpath(__file__)), "..")) from opcua.tools import uaread if __name__ == "__main__": uaread() python-opcua-0.90.3/tools/uaserver000077500000000000000000000003131310132730300171410ustar00rootroot00000000000000#!/usr/bin/env python import sys import os sys.path.append(os.path.join(os.path.dirname(os.path.realpath(__file__)), "..")) from opcua.tools import uaserver if __name__ == "__main__": uaserver() python-opcua-0.90.3/tools/uasubscribe000077500000000000000000000003211310132730300176130ustar00rootroot00000000000000#!/usr/bin/env python import sys import os sys.path.append(os.path.join(os.path.dirname(os.path.realpath(__file__)), "..")) from opcua.tools import uasubscribe if __name__ == "__main__": uasubscribe() python-opcua-0.90.3/tools/uawrite000077500000000000000000000003111310132730300167630ustar00rootroot00000000000000#!/usr/bin/env python import sys import os sys.path.append(os.path.join(os.path.dirname(os.path.realpath(__file__)), "..")) from opcua.tools import uawrite if __name__ == "__main__": uawrite()