{"id":1091,"date":"2025-04-12T08:19:54","date_gmt":"2025-04-12T08:19:54","guid":{"rendered":"https:\/\/fairuse.jp\/?page_id=1091"},"modified":"2026-04-30T20:41:51","modified_gmt":"2026-04-30T11:41:51","slug":"userprofileinformation","status":"publish","type":"page","link":"https:\/\/fairuse.jp\/en\/real-time-translator\/userprofileinformation\/","title":{"rendered":"Real Time Translator Product Privacy Policy"},"content":{"rendered":"<main id=\"privacy\">\n  <section class=\"ttl1_cmn_rtt\">\n    <h1 class=\"ttl1\">\n      <span class=\"ttl\">Real Time Translator Product Privacy Policy (by Edition)<\/span>\n    <\/h1>\n  <\/section>\n  <section class=\"privacy1 type2\">\n    <div class=\"wrap\">\n      <div id=\"recruitment1\" class=\"ttl_cmn2\">\n        <!--<span class=\"msr\">PRIVACY POLICY IDEAL<\/span>-->\n        <h2 class=\"ttl2\">PRIVACY POLICY<\/h2>\n      <\/div>\n\n      <div class=\"cont\">\n        <div class=\"desc\">\n          <p>Fairuse Inc. (hereinafter referred to as the \u201cCompany\u201d) establishes this Privacy Policy regarding the handling of personal information and related data in providing the various editions of Real Time Translator (\u201cRTT\u201d), including the Desktop Edition, Web\/Teams Edition, and RTT Portal (collectively referred to as the \u201cProduct\u201d).<br>Please review the contents of this Policy before using the Product.<br>Matters not specified in this Policy, as well as the handling of personal information related to the Company\u2019s overall business operations (including principles, security measures, procedures for disclosure requests, cookies, etc.), shall be governed by the Company\u2019s \u201cPersonal Information Protection Policy for General Business Operations.\u201d<br>\n            <a href=\"https:\/\/fairuse.jp\/en\/userprofileinformation\/\">https:\/\/fairuse.jp\/en\/userprofileinformation\/<\/a><\/p>\n          <\/div>\n\n          <h3 class=\"ttl3\">0\uff0eTerminology (Notes on GDPR Terminology)<\/h3>\n          <div class=\"txt2\">\n            <p>In this Policy, the terms \u201cController\u201d and \u201cProcessor\u201d are used as defined under the General Data Protection Regulation (GDPR).<br>In the context of the Japanese Act on the Protection of Personal Information (APPI), these concepts roughly correspond to:<\/p>\n            <ul class=\"ic\">\n              <li>Controller: Personal Information Handling Business Operator (management entity)<\/li>\n              <li>Processor: Entrusted contractor<\/li>\n            <\/ul>\n          <\/div>\n          <h3 class=\"ttl3\">1\uff0eOur Role as Controller \/ Processor (Common to All Editions)<\/h3>\n          <div class=\"txt2\">\n            <p>Depending on the use of the Product, the Company may process personal information in either of the following capacities.<\/p>\n\n            <p>(1) Processor (when the customer entrusts the Product to us)<br>\n              When the Product handles conversation data, such as meeting audio, transcripts, translations, corrections, and summaries (collectively \u201cConversation Data\u201d), the contracting organization (customer company or organization) typically acts as the Controller, and the Company acts as a Processor.<br>In such cases, the Company processes the data only within the scope of the customer\u2019s instructions and applicable agreements (including DPA).<br>As stated in the Company\u2019s general personal information protection policy, the Company may not be able to independently respond to requests for disclosure in such cases.<\/p>\n\n            <p>(2) Information handled as Controller<br>\n              On the other hand, the Company may act as a Controller when handling contact information and similar data obtained for:\n            <\/p>\n            <ul class=\"ic\">\n              <li>contract management<\/li>\n              <li>billing and payment management (such as invoice issuance)<\/li>\n              <li>responding to inquiries<\/li>\n            <\/ul>\n            <p>Such handling shall follow the Company\u2019s general privacy policy.<\/p>\n          <\/div>\n          <h3 class=\"ttl3\">2\uff0eCategories of Information Processed in the Product (Common to All Editions)<\/h3>\n          <div class=\"txt2\">\n            <p>The Product mainly handles the following categories of information:<\/p>\n            <ul class=\"ic\">\n              <li>Authentication and display information<br>(accounts, display names, email addresses)<\/li>\n              <li>Tenant-related information<br>(integration settings such as Tenant ID)<\/li>\n              <li>Conversation Data<br>(audio, transcripts, translation results, conversation history, texts subject to correction or summarization)<\/li>\n              <li>Configuration information<br>(word conversion rule files, Azure AI Services API keys, region information)<\/li>\n              <li>Logs for operation and maintenance<br>(application logs, error logs, authentication logs)<\/li>\n            <\/ul>\n            <ul class=\"note\">\n              <li>Note\uff1a<br>Logs and data stored by the Company for the provision of the Product do not include device identifiers or IP addresses.<br>(Cookie usage for the Web\/Teams edition and RTT Portal is described later.)<\/li>\n            <\/ul>\n\n          <\/div>\n\n          <h3 class=\"ttl3\">3\uff0eSecurity Measures (Common to All Editions)<\/h3>\n          <div class=\"txt2\">\n            <p>As described in the Company\u2019s general privacy policy, the Company implements continuous organizational and technical measures, including:<\/p>\n            <ul class=\"ic\">\n              <li>operation in compliance with Personal Information Protection Management System (JIS Q 15001)<\/li>\n              <li>information security management based on ISMS (ISO\/IEC 27001)<\/li>\n            <\/ul>\n          <\/div>\n\n          <h3 class=\"ttl3\">4\uff0eCloud Services and Data Center Locations (Common to All Editions)<\/h3>\n          <div class=\"txt2\">\n            <ul class=\"ic\">\n              <li>The Product is provided using Microsoft Azure.<\/li>\n              <li>The primary data center used is Microsoft Azure Japan East region.<\/li>\n            <\/ul>\n            <p style=\"padding-top: 1.5em;\">However, when advanced services are used (such as features using Azure OpenAI for correction or summarization), overseas data centers (such as those in North America) may be used.<br>If information regarding the destination country\/region or service providers is required, please contact the Company\u2019s personal information inquiry desk.<\/p>\n          <\/div>\n\n          <h3 class=\"ttl3\">5\uff0eUse of Microsoft Services and Secondary Use of Data (Common to All Editions)<\/h3>\n          <div class=\"txt2\">\n            <p>In providing the Product, the Company may use Microsoft\u2019s paid services, including but not limited to:<\/p>\n            <ul class=\"ic\">\n              <li>Speech Services<\/li>\n              <li>Speech to Translate<\/li>\n              <li>Translator<\/li>\n              <li>Text to Text<\/li>\n              <li>Azure OpenAI (where applicable)<\/li>\n            <\/ul>\n            <p>The Company selects contractual service offerings under which data of the Company and its customers is not used for secondary purposes, such as:<\/p>\n            <ul class=\"ic\">\n              <li>model training<\/li>\n              <li>marketing<\/li>\n            <\/ul>\n            <p>The Company confirms these conditions through publicly available information from the provider and through support channels.<\/p>\n            \n          <\/div>\n          <h3 class=\"ttl3\">6\uff0eHandling by Edition<\/h3>\n          <ol>\n            <li>\n              <h4 class=\"ttl4\">6-1\uff0eDesktop Edition (Real Time Translator Desktop)<\/h4>\n                <h5 class=\"ttl4\">6-1-1\uff0eInformation Collected and Purpose of Use<\/h5>\n                <p>The Company processes the following information to the extent necessary for providing this edition.<\/p>\n                <table class=\"table1\">\n                  <tbody>\n                    <tr>\n                      <th style=\"width: 30%;\">(A) Authentication and display<\/th>\n                      <td>\n                        \u30fbMicrosoft 365 account<br>Authentication of contract information and association with chat rooms<br>\n                        \u30fbMicrosoft 365 display name<br>Screen display during login and chat window display<br>\n                        \u30fbEmail address<br>Authentication of contract information and chat room association<br>\n                        \u30fbEmail address (RTT Portal username)<br>Display during login and chat window displ\n                      <\/td>\n                    <\/tr>\n                    <tr>\n                      <th>(B) Tenant related information<\/th>\n                      <td>\n                        \u30fbTenant ID<br>Identification of the contracting tenant and Microsoft 365 integration configuration\n                      <\/td>\n                    <\/tr>\n                    <tr>\n                      <th>(C) Conversation data<\/th>\n                      <td>\n                        \u30fbUser audio<br>For speech-to-text conversion and translation<br>\n                        \u30fbConversation logs (transcripts and translation results)<br>For screen display, history export, and optional correction or summarization\n                      <\/td>\n                    <\/tr>\n                    <tr>\n                      <th>(D) Configuration information<\/th>\n                      <td>\n                        \u30fbWord conversion rule files<br>For converting recognized text into specified terms<br>\n                        \u30fbAzure AI Services API key and region information<br>For speech recognition and translation\n                      <\/td>\n                    <\/tr>\n                    <tr>\n                      <th>(E) Operation and maintenance<\/th>\n                      <td>\n                        \u30fbApplication logs \/ error logs \/ authentication logs<br>For troubleshooting, maintenance, and security<br>\n                        \u30fbChat room participation information<br>For service provision\n                      <\/td>\n                    <\/tr>\n                  <\/tbody>\n                <\/table>\n\n                <div class=\"txt2\">\n                <h5 class=\"ttl4\">6-1-2\uff0eGenerative AI Correction and Summarization<\/h5>\n                <p>This edition may provide features using generative AI (such as Azure OpenAI) including:<\/p>\n                <ul class=\"ic\">\n                  <li>transcript correction<\/li>\n                  <li>conversation summary generation<\/li>\n                <\/ul>\n                <p>In such cases, conversation history (transcripts and translations) may be transmitted for AI processing.<br>The Company does not use conversation data for independent purposes such as analysis, model training, or marketing.<\/p>\n              <\/div>\n              <div class=\"txt2\">\n              <h5 class=\"ttl4\">6-1-3\uff0eData Storage Locations<\/h5>\n              <ul class=\"ic\" style=\"margin-top: 0;\">\n                <li>Conversation logs: Local PC<\/li>\n                <li>Output files such as summaries: Local PC<\/li>\n                <li>Azure AI Services API keys: Azure database server<\/li>\n                <li>Application logs \/ error logs \/ authentication logs: Azure servers<\/li>\n                <li>Chat room participation information: Azure servers<\/li>\n              <\/ul>\n            <\/div>\n            <div class=\"txt2\">\n              <h5 class=\"ttl4\">6-1-4\uff0eRetention Period and Deletion<\/h5>\n              <ul class=\"ic\" style=\"margin-top: 0;\">\n                <li>Conversation logs stored on local PCs should be deleted according to the policies of the user or contracting organization.<\/li>\n                <li>Azure logs are retained only for the minimum period necessary for stable operation and troubleshooting and are automatically deleted after approximately 7 months.<\/li>\n              <\/ul>\n              <p style=\"padding-top: 1.5em;\">Where legal obligations require longer retention, those requirements take precedence.<br>Once deleted, data cannot be restored.<\/p>\n            <\/div>\n\n            <div class=\"txt2\">\n              <h5 class=\"ttl4\">6-1-5\uff0eCookies<\/h5>\n              <p>The Desktop edition does not rely on browser cookies.<\/p>\n            <\/div>\n            <div class=\"txt2\">\n              <h5 class=\"ttl4\">6-1-6\uff0eRequests for Disclosure<\/h5>\n              <p>Conversation data handled as Processor should be requested through the Controller (customer organization).<br>For information handled as Controller (such as billing or contract management), requests are handled according to the Company\u2019s general privacy policy.<\/p>\n            <\/div>\n          <\/li>\n          <li>\n            <h4 class=\"ttl4\">6-2\uff0eWeb Edition \/ Teams Edition<\/h4>\n              <div class=\"txt2\">\n                <h5 class=\"ttl4\">6-2-1\uff0eInformation Collected<\/h5>\n                <p>The Company may process the following information:<\/p>\n                <ul class=\"ic\">\n                  <li>Microsoft 365 account \/ display name<\/li>\n                  <li>email address<\/li>\n                  <li>tenant ID<\/li>\n                  <li>participant audio<\/li>\n                  <li>conversation logs<\/li>\n                  <li>guest email addresses (when using guest invitation features)<\/li>\n                  <li>Azure AI Services API keys<\/li>\n                  <li>operational logs<\/li>\n                <\/ul>\n              <\/div>\n              <div class=\"txt2\">\n              <h5 class=\"ttl4\">6-2-2\uff0eGenerative AI Features<\/h5>\n              <p>Correction and summarization features may also be provided using generative AI.<br>Handling is the same as described for the Desktop edition.<br>Conversation data is not reused by the Company.<\/p>\n            <\/div>\n            <div class=\"txt2\">\n              <h5 class=\"ttl4\">6-2-3\uff0eConversation Log Storage Patterns (Important)<\/h5>\n              <p>Two storage patterns exist.<\/p>\n              <p>Pattern 1<br>Conversation logs stored for web browser viewing.<\/p>\n              <ul class=\"ic\" style=\"margin-top: 0;\">\n                <li>Stored in Azure database servers<\/li>\n                <li>Retention period follows customer instructions<\/li>\n              <\/ul>\n              <p>Pattern 2<br>CSV download per meeting\/chat room.<\/p>\n              <ul class=\"ic\" style=\"margin-top: 0;\">\n                <li>Licensed participants may download logs to their own PCs.<\/li>\n                <li>After browser sessions end, temporary memory data in Azure is deleted.<\/li>\n              <\/ul>\n              <p>Downloaded CSV files are managed under the customer\u2019s internal governance.<\/p>\n            <\/div>\n            <div class=\"txt2\">\n              <h5 class=\"ttl4\">6-2-4\uff0eData Storage Locations<\/h5>\n              <ul class=\"ic\" style=\"margin-top: 0;\">\n                <li>Azure AI Services API keys: Azure database servers<\/li>\n                <li>logs: Azure servers<\/li>\n                <li>chat room participation data: Azure servers<\/li>\n              <\/ul>\n            <\/div>\n            <div class=\"txt2\">\n              <h5 class=\"ttl4\">6-2-5\uff0eRetention<\/h5>\n              <ul class=\"ic\" style=\"margin-top: 0;\">\n                <li>Pattern 1 logs follow customer instructions<\/li>\n                <li>Pattern 2 logs are managed by the customer<\/li>\n                <li>logs stored by the Company are retained for approximately 7 months<\/li>\n              <\/ul>\n            <\/div>\n            <div class=\"txt2\">\n              <h5 class=\"ttl4\">6-2-6\uff0eCookies<\/h5>\n              <p>For browser-based usage, cookies may be used for:<\/p>\n              <ul class=\"ic\">\n                <li>maintaining login sessions<\/li>\n                <li>security<\/li>\n                <li>configuration retention<\/li>\n              <\/ul>\n              <p>See the Company\u2019s general privacy policy for cookie details.<br>Logs stored by the Company do not include device identifiers or IP addresses.<\/p>\n              <\/div>\n            <\/li>\n            <li>\n              <h4 class=\"ttl4\">6-3\uff0eRTT Portal<\/h4>\n                <p>RTT Portal is a management interface used to manage:<\/p>\n                <ul class=\"ic\">\n                  <li>contract information<\/li>\n                  <li>user information<\/li>\n                  <li>configuration settings<\/li>\n                <\/ul>\n              <div class=\"txt2\">\n                <h5 class=\"ttl4\">6-3-1\uff0eCompany Role<\/h5>\n                <p>Portal data may be handled under two roles.<\/p>\n                <ul class=\"ic\">\n                  <li>(A) Controller<br>Information for contract management and communication.<\/li>\n                  <li>(B) Processor<br>User and configuration information registered by customers.<\/li>\n                <\/ul>\n              <\/div>\n                <h5 class=\"ttl4\">6-3-2\uff0eInformation Collected<\/h5>\n                <table class=\"table1\" style=\"margin-top: 0;\">\n                  <tbody>\n                    <tr>\n                      <th style=\"width: 40%;\">(A) Contract management<\/th>\n                      <td>\n                        \u30fbcompany name<br>\n                        \u30fbcontact email address<br>\n                        \u30fbcontracted edition<br>\n                        \u30fbcontract period<br>\n                        \u30fbRTT usage time<\/td>\n                    <\/tr>\n                    <tr>\n                      <th>(B) User authentication and configuration<\/th>\n                      <td>\n                        \u30fbMicrosoft 365 account or email<br>\n                        \u30fbportal username<br>\n                        \u30fbtenant ID<br>\n                        \u30fbuser information (groups etc.)<br>\n                        \u30fbencrypted Azure AI Services API keys\n                      <\/td>\n                    <\/tr>\n                    <tr>\n                      <th>(C) Operation and maintenance<\/th>\n                      <td>\n                        \u30fbApplication logs \/ error logs \/ authentication logs <br>\n                        For troubleshooting, maintenance, and security\n                      <\/td>\n                    <\/tr>\n                  <\/tbody>\n                <\/table>\n                <div class=\"txt2\">\n                <h5 class=\"ttl4\">6-3-3\uff0eData Storage<\/h5>\n                <p>All portal information is stored in:<\/p>\n                <ul class=\"ic\">\n                  <li>Azure database servers<\/li>\n                  <li>Azure application servers<\/li>\n                <\/ul>\n                <p>Logs are stored on Azure servers.<\/p>\n              <\/div>\n              <div class=\"txt2\">\n                <h5 class=\"ttl4\">6-3-4\uff0eRetention<\/h5>\n                <ul class=\"ic\" style=\"margin-top: 0;\">\n                  <li>Contract management information: retained during the contract period and 7 months after termination<\/li>\n                  <li>User\/configuration information: retained according to customer instructions<\/li>\n                  <li>logs: retained for approximately 7 months<\/li>\n                <\/ul>\n                <p>Deleted data cannot be restored.<\/p>\n              <\/div>\n              <div class=\"txt2\">\n                <h5 class=\"ttl4\">6-3-5\uff0eCookies<\/h5>\n                <p>RTT Portal uses cookies for:<\/p>\n                <ul class=\"ic\">\n                  <li>session management<\/li>\n                  <li>security<\/li>\n                  <li>configuration retention<\/li>\n                <\/ul>\n                <p>Logs stored by the Company do not include device identifiers or IP addresses.<\/p>\n              <\/div>\n              <div class=\"txt2\">\n                <h5 class=\"ttl4\">6-3-6\uff0eDisclosure Requests<\/h5>\n                <p>For Controller data handled by the Company, requests follow the Company\u2019s general privacy policy.<br>For Processor data, requests should be directed to the customer acting as Controller.<\/p>\n              <\/div>\n              <\/li>\n              <\/ol>\n              <h3 class=\"ttl3\">7\uff0eRevisions<\/h3>\n              <div class=\"txt2\">\n                <p>The Company may revise this Policy in response to:<\/p>\n                <ul class=\"ic\">\n                  <li>legal or regulatory changes<\/li>\n                  <li>feature additions or modifications to the Product<\/li>\n                <\/ul>\n                <p>Revisions become effective when published on this page.<\/p>\n              <\/div>\n<div class=\"date\" style=\"width:300px; max-width:100%;\">Date of Establishment:December 1, 2018<br>Date of Revision:April 4, 2026<\/div>\n\n\t\t\t\t\t<div class=\"sign\" style=\"width:300px; max-width:100%;\">\n\t\t\t\t\t\tFairuse Inc.<br>Representative Director: Yosuke Adachi\n\t\t\t\t\t<\/div>\n            <\/div>\n          <\/div>\n        <\/section>","protected":false},"excerpt":{"rendered":"<p>Real Time Translator Product Privacy Policy (by Edition) PRIVACY POLICY Fairuse Inc. (hereinafter referred to as the \u201cCompany\u201d) establishes this Privacy Policy regarding the handling of personal information and related data in providing the various editions of Real Time Translator (\u201cRTT\u201d), including the Desktop Edition, Web\/Teams Edition, and RTT Portal (collectively referred to as the \u201cProduct\u201d).Please review the contents of this Policy before using the Product.Matters not specified in this Policy, as well as the handling of personal information related to the Company\u2019s overall business operations (including principles, security measures, procedures for disclosure requests, cookies, etc.), shall be governed by the Company\u2019s \u201cPersonal Information Protection Policy for General Business Operations.\u201d [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":117,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-rtt.php","meta":{"_acf_changed":false,"_crdt_document":"{\"document\":\"AAAG\/u6OyAkUGAiYAaLkBLoBAAYCAQIKSsICgALAApYCAgeE5gSUAtQCKSgDJwAEACcABACEACcAKAQnACgBJwAHACgDJwAoACcAKAHEAKgAxAGojqAB2p8Bc3RhdGV2ZXJzaW9uZG9jdW1lbnRkYXRlZG9jdW1lbnRzbHVnZG9jdW1lbnRzdGF0dXNkb2N1bWVudHRpdGxlUmVhbCBUaW1lIFRyYW5zbGF0b3IgUHJvZHVjdCBQcml2YWN5IFBvbGljeWRvY3VtZW50Y29udGVudDxtYWluIGlkPSJwcml2YWN5Ij4KICA8c2VjdGlvbiBjbGFzcz0idHRsMV9jbW5fcnR0Ij4KICAgIDxoMSBjbGFzcz0idHRsMSI+CiAgICAgIDxzcGFuIGNsYXNzPSJ0dGwiPlJlYWwgVGltZSBUcmFuc2xhdG9yIFByb2R1Y3QgUHJpdmFjeSBQb2xpY3kgKGJ5IEVkaXRpb24pPC9zcGFuPgogICAgPC9oMT4KICA8L3NlY3Rpb24+CiAgPHNlY3Rpb24gY2xhc3M9InByaXZhY3kxIHR5cGUyIj4KICAgIDxkaXYgY2xhc3M9IndyYXAiPgogICAgICA8ZGl2IGlkPSJyZWNydWl0bWVudDEiIGNsYXNzPSJ0dGxfY21uMiI+CiAgICAgICAgPCEtLTxzcGFuIGNsYXNzPSJtc3IiPlBSSVZBQ1kgUE9MSUNZIElERUFMPC9zcGFuPi0tPgogICAgICAgIDxoMiBjbGFzcz0idHRsMiI+UFJJVkFDWSBQT0xJQ1k8L2gyPgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImNvbnQiPgogICAgICAgIDxkaXYgY2xhc3M9ImRlc2MiPgogICAgICAgICAgPHA+RmFpcnVzZSBJbmMuIChoZXJlaW5hZnRlciByZWZlcnJlZCB0byBhcyB0aGUg4oCcQ29tcGFueeKAnSkgZXN0YWJsaXNoZXMgdGhpcyBQcml2YWN5IFBvbGljeSByZWdhcmRpbmcgdGhlIGhhbmRsaW5nIG9mIHBlcnNvbmFsIGluZm9ybWF0aW9uIGFuZCByZWxhdGVkIGRhdGEgaW4gcHJvdmlkaW5nIHRoZSB2YXJpb3VzIGVkaXRpb25zIG9mIFJlYWwgVGltZSBUcmFuc2xhdG9yICjigJxSVFTigJ0pLCBpbmNsdWRpbmcgdGhlIERlc2t0b3AgRWRpdGlvbiwgV2ViL1RlYW1zIEVkaXRpb24sIGFuZCBSVFQgUG9ydGFsIChjb2xsZWN0aXZlbHkgcmVmZXJyZWQgdG8gYXMgdGhlIOKAnFByb2R1Y3TigJ0pLjxicj5QbGVhc2UgcmV2aWV3IHRoZSBjb250ZW50cyBvZiB0aGlzIFBvbGljeSBiZWZvcmUgdXNpbmcgdGhlIFByb2R1Y3QuPGJyPk1hdHRlcnMgbm90IHNwZWNpZmllZCBpbiB0aGlzIFBvbGljeSwgYXMgd2VsbCBhcyB0aGUgaGFuZGxpbmcgb2YgcGVyc29uYWwgaW5mb3JtYXRpb24gcmVsYXRlZCB0byB0aGUgQ29tcGFueeKAmXMgb3ZlcmFsbCBidXNpbmVzcyBvcGVyYXRpb25zIChpbmNsdWRpbmcgcHJpbmNpcGxlcywgc2VjdXJpdHkgbWVhc3VyZXMsIHByb2NlZHVyZXMgZm9yIGRpc2Nsb3N1cmUgcmVxdWVzdHMsIGNvb2tpZXMsIGV0Yy4pLCBzaGFsbCBiZSBnb3Zlcm5lZCBieSB0aGUgQ29tcGFueeKAmXMg4oCcUGVyc29uYWwgSW5mb3JtYXRpb24gUHJvdGVjdGlvbiBQb2xpY3kgZm9yIEdlbmVyYWwgQnVzaW5lc3MgT3BlcmF0aW9ucy7igJ08YnI+CiAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vZmFpcnVzZS5qcC9lbi91c2VycHJvZmlsZWluZm9ybWF0aW9uLyI+aHR0cHM6Ly9mYWlydXNlLmpwL2VuL3VzZXJwcm9maWxlaW5mb3JtYXRpb24vPC9hPjwvcD4KICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgIDxoMyBjbGFzcz0idHRsMyI+MO+8jlRlcm1pbm9sb2d5IChOb3RlcyBvbiBHRFBSIFRlcm1pbm9sb2d5KTwvaDM+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0eHQyIj4KICAgICAgICAgICAgPHA+SW4gdGhpcyBQb2xpY3ksIHRoZSB0ZXJtcyDigJxDb250cm9sbGVy4oCdIGFuZCDigJxQcm9jZXNzb3LigJ0gYXJlIHVzZWQgYXMgZGVmaW5lZCB1bmRlciB0aGUgR2VuZXJhbCBEYXRhIFByb3RlY3Rpb24gUmVndWxhdGlvbiAoR0RQUikuPGJyPkluIHRoZSBjb250ZXh0IG9mIHRoZSBKYXBhbmVzZSBBY3Qgb24gdGhlIFByb3RlY3Rpb24gb2YgUGVyc29uYWwgSW5mb3JtYXRpb24gKEFQUEkpLCB0aGVzZSBjb25jZXB0cyByb3VnaGx5IGNvcnJlc3BvbmQgdG86PC9wPgogICAgICAgICAgICA8dWwgY2xhc3M9ImljIj4KICAgICAgICAgICAgICA8bGk+Q29udHJvbGxlcjogUGVyc29uYWwgSW5mb3JtYXRpb24gSGFuZGxpbmcgQnVzaW5lc3MgT3BlcmF0b3IgKG1hbmFnZW1lbnQgZW50aXR5KTwvbGk+CiAgICAgICAgICAgICAgPGxpPlByb2Nlc3NvcjogRW50cnVzdGVkIGNvbnRyYWN0b3I8L2xpPgogICAgICAgICAgICA8L3VsPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8aDMgY2xhc3M9InR0bDMiPjHvvI5PdXIgUm9sZSBhcyBDb250cm9sbGVyIC8gUHJvY2Vzc29yIChDb21tb24gdG8gQWxsIEVkaXRpb25zKTwvaDM+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0eHQyIj4KICAgICAgICAgICAgPHA+RGVwZW5kaW5nIG9uIHRoZSB1c2Ugb2YgdGhlIFByb2R1Y3QsIHRoZSBDb21wYW55IG1heSBwcm9jZXNzIHBlcnNvbmFsIGluZm9ybWF0aW9uIGluIGVpdGhlciBvZiB0aGUgZm9sbG93aW5nIGNhcGFjaXRpZXMuPC9wPgoKICAgICAgICAgICAgPHA+KDEpIFByb2Nlc3NvciAod2hlbiB0aGUgY3VzdG9tZXIgZW50cnVzdHMgdGhlIFByb2R1Y3QgdG8gdXMpPGJyPgogICAgICAgICAgICAgIFdoZW4gdGhlIFByb2R1Y3QgaGFuZGxlcyBjb252ZXJzYXRpb24gZGF0YSwgc3VjaCBhcyBtZWV0aW5nIGF1ZGlvLCB0cmFuc2NyaXB0cywgdHJhbnNsYXRpb25zLCBjb3JyZWN0aW9ucywgYW5kIHN1bW1hcmllcyAoY29sbGVjdGl2ZWx5IOKAnENvbnZlcnNhdGlvbiBEYXRh4oCdKSwgdGhlIGNvbnRyYWN0aW5nIG9yZ2FuaXphdGlvbiAoY3VzdG9tZXIgY29tcGFueSBvciBvcmdhbml6YXRpb24pIHR5cGljYWxseSBhY3RzIGFzIHRoZSBDb250cm9sbGVyLCBhbmQgdGhlIENvbXBhbnkgYWN0cyBhcyBhIFByb2Nlc3Nvci48YnI+SW4gc3VjaCBjYXNlcywgdGhlIENvbXBhbnkgcHJvY2Vzc2VzIHRoZSBkYXRhIG9ubHkgd2l0aGluIHRoZSBzY29wZSBvZiB0aGUgY3VzdG9tZXLigJlzIGluc3RydWN0aW9ucyBhbmQgYXBwbGljYWJsZSBhZ3JlZW1lbnRzIChpbmNsdWRpbmcgRFBBKS48YnI+QXMgc3RhdGVkIGluIHRoZSBDb21wYW554oCZcyBnZW5lcmFsIHBlcnNvbmFsIGluZm9ybWF0aW9uIHByb3RlY3Rpb24gcG9saWN5LCB0aGUgQ29tcGFueSBtYXkgbm90IGJlIGFibGUgdG8gaW5kZXBlbmRlbnRseSByZXNwb25kIHRvIHJlcXVlc3RzIGZvciBkaXNjbG9zdXJlIGluIHN1Y2ggY2FzZXMuPC9wPgoKICAgICAgICAgICAgPHA+KDIpIEluZm9ybWF0aW9uIGhhbmRsZWQgYXMgQ29udHJvbGxlcjxicj4KICAgICAgICAgICAgICBPbiB0aGUgb3RoZXIgaGFuZCwgdGhlIENvbXBhbnkgbWF5IGFjdCBhcyBhIENvbnRyb2xsZXIgd2hlbiBoYW5kbGluZyBjb250YWN0IGluZm9ybWF0aW9uIGFuZCBzaW1pbGFyIGRhdGEgb2J0YWluZWQgZm9yOgogICAgICAgICAgICA8L3A+CiAgICAgICAgICAgIDx1bCBjbGFzcz0iaWMiPgogICAgICAgICAgICAgIDxsaT5jb250cmFjdCBtYW5hZ2VtZW50PC9saT4KICAgICAgICAgICAgICA8bGk+YmlsbGluZyBhbmQgcGF5bWVudCBtYW5hZ2VtZW50IChzdWNoIGFzIGludm9pY2UgaXNzdWFuY2UpPC9saT4KICAgICAgICAgICAgICA8bGk+cmVzcG9uZGluZyB0byBpbnF1aXJpZXM8L2xpPgogICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8cD5TdWNoIGhhbmRsaW5nIHNoYWxsIGZvbGxvdyB0aGUgQ29tcGFueeKAmXMgZ2VuZXJhbCBwcml2YWN5IHBvbGljeS48L3A+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxoMyBjbGFzcz0idHRsMyI+Mu+8jkNhdGVnb3JpZXMgb2YgSW5mb3JtYXRpb24gUHJvY2Vzc2VkIGluIHRoZSBQcm9kdWN0IChDb21tb24gdG8gQWxsIEVkaXRpb25zKTwvaDM+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0eHQyIj4KICAgICAgICAgICAgPHA+VGhlIFByb2R1Y3QgbWFpbmx5IGhhbmRsZXMgdGhlIGZvbGxvd2luZyBjYXRlZ29yaWVzIG9mIGluZm9ybWF0aW9uOjwvcD4KICAgICAgICAgICAgPHVsIGNsYXNzPSJpYyI+CiAgICAgICAgICAgICAgPGxpPkF1dGhlbnRpY2F0aW9uIGFuZCBkaXNwbGF5IGluZm9ybWF0aW9uPGJyPihhY2NvdW50cywgZGlzcGxheSBuYW1lcywgZW1haWwgYWRkcmVzc2VzKTwvbGk+CiAgICAgICAgICAgICAgPGxpPlRlbmFudC1yZWxhdGVkIGluZm9ybWF0aW9uPGJyPihpbnRlZ3JhdGlvbiBzZXR0aW5ncyBzdWNoIGFzIFRlbmFudCBJRCk8L2xpPgogICAgICAgICAgICAgIDxsaT5Db252ZXJzYXRpb24gRGF0YTxicj4oYXVkaW8sIHRyYW5zY3JpcHRzLCB0cmFuc2xhdGlvbiByZXN1bHRzLCBjb252ZXJzYXRpb24gaGlzdG9yeSwgdGV4dHMgc3ViamVjdCB0byBjb3JyZWN0aW9uIG9yIHN1bW1hcml6YXRpb24pPC9saT4KICAgICAgICAgICAgICA8bGk+Q29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbjxicj4od29yZCBjb252ZXJzaW9uIHJ1bGUgZmlsZXMsIEF6dXJlIEFJIFNlcnZpY2VzIEFQSSBrZXlzLCByZWdpb24gaW5mb3JtYXRpb24pPC9saT4KICAgICAgICAgICAgICA8bGk+TG9ncyBmb3Igb3BlcmF0aW9uIGFuZCBtYWludGVuYW5jZTxicj4oYXBwbGljYXRpb24gbG9ncywgZXJyb3IgbG9ncywgYXV0aGVudGljYXRpb24gbG9ncyk8L2xpPgogICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8dWwgY2xhc3M9Im5vdGUiPgogICAgICAgICAgICAgIDxsaT5Ob3Rl77yaPGJyPkxvZ3MgYW5kIGRhdGEgc3RvcmVkIGJ5IHRoZSBDb21wYW55IGZvciB0aGUgcHJvdmlzaW9uIG9mIHRoZSBQcm9kdWN0IGRvIG5vdCBpbmNsdWRlIGRldmljZSBpZGVudGlmaWVycyBvciBJUCBhZGRyZXNzZXMuPGJyPihDb29raWUgdXNhZ2UgZm9yIHRoZSBXZWIvVGVhbXMgZWRpdGlvbiBhbmQgUlRUIFBvcnRhbCBpcyBkZXNjcmliZWQgbGF0ZXIuKTwvbGk+CiAgICAgICAgICAgIDwvdWw+CgogICAgICAgICAgPC9kaXY+CgogICAgICAgICAgPGgzIGNsYXNzPSJ0dGwzIj4z77yOU2VjdXJpdHkgTWVhc3VyZXMgKENvbW1vbiB0byBBbGwgRWRpdGlvbnMpPC9oMz4KICAgICAgICAgIDxkaXYgY2xhc3M9InR4dDIiPgogICAgICAgICAgICA8cD5BcyBkZXNjcmliZWQgaW4gdGhlIENvbXBhbnnigJlzIGdlbmVyYWwgcHJpdmFjeSBwb2xpY3ksIHRoZSBDb21wYW55IGltcGxlbWVudHMgY29udGludW91cyBvcmdhbml6YXRpb25hbCBhbmQgdGVjaG5pY2FsIG1lYXN1cmVzLCBpbmNsdWRpbmc6PC9wPgogICAgICAgICAgICA8dWwgY2xhc3M9ImljIj4KICAgICAgICAgICAgICA8bGk+b3BlcmF0aW9uIGluIGNvbXBsaWFuY2Ugd2l0aCBQZXJzb25hbCBJbmZvcm1hdGlvbiBQcm90ZWN0aW9uIE1hbmFnZW1lbnQgU3lzdGVtIChKSVMgUSAxNTAwMSk8L2xpPgogICAgICAgICAgICAgIDxsaT5pbmZvcm1hdGlvbiBzZWN1cml0eSBtYW5hZ2VtZW50IGJhc2VkIG9uIElTTVMgKElTTy9JRUMgMjcwMDEpPC9saT4KICAgICAgICAgICAgPC91bD4KICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgIDxoMyBjbGFzcz0idHRsMyI+NO+8jkNsb3VkIFNlcnZpY2VzIGFuZCBEYXRhIENlbnRlciBMb2NhdGlvbnMgKENvbW1vbiB0byBBbGwgRWRpdGlvbnMpPC9oMz4KICAgICAgICAgIDxkaXYgY2xhc3M9InR4dDIiPgogICAgICAgICAgICA8dWwgY2xhc3M9ImljIj4KICAgICAgICAgICAgICA8bGk+VGhlIFByb2R1Y3QgaXMgcHJvdmlkZWQgdXNpbmcgTWljcm9zb2Z0IEF6dXJlLjwvbGk+CiAgICAgICAgICAgICAgPGxpPlRoZSBwcmltYXJ5IGRhdGEgY2VudGVyIHVzZWQgaXMgTWljcm9zb2Z0IEF6dXJlIEphcGFuIEVhc3QgcmVnaW9uLjwvbGk+CiAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDxwIHN0eWxlPSJwYWRkaW5nLXRvcDogMS41ZW07Ij5Ib3dldmVyLCB3aGVuIGFkdmFuY2VkIHNlcnZpY2VzIGFyZSB1c2VkIChzdWNoIGFzIGZlYXR1cmVzIHVzaW5nIEF6dXJlIE9wZW5BSSBmb3IgY29ycmVjdGlvbiBvciBzdW1tYXJpemF0aW9uKSwgb3ZlcnNlYXMgZGF0YSBjZW50ZXJzIChzdWNoIGFzIHRob3NlIGluIE5vcnRoIEFtZXJpY2EpIG1heSBiZSB1c2VkLjxicj5JZiBpbmZvcm1hdGlvbiByZWdhcmRpbmcgdGhlIGRlc3RpbmF0aW9uIGNvdW50cnkvcmVnaW9uIG9yIHNlcnZpY2UgcHJvdmlkZXJzIGlzIHJlcXVpcmVkLCBwbGVhc2UgY29udGFjdCB0aGUgQ29tcGFueeKAmXMgcGVyc29uYWwgaW5mb3JtYXRpb24gaW5xdWlyeSBkZXNrLjwvcD4KICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgIDxoMyBjbGFzcz0idHRsMyI+Ne+8jlVzZSBvZiBNaWNyb3NvZnQgU2VydmljZXMgYW5kIFNlY29uZGFyeSBVc2Ugb2YgRGF0YSAoQ29tbW9uIHRvIEFsbCBFZGl0aW9ucyk8L2gzPgogICAgICAgICAgPGRpdiBjbGFzcz0idHh0MiI+CiAgICAgICAgICAgIDxwPkluIHByb3ZpZGluZyB0aGUgUHJvZHVjdCwgdGhlIENvbXBhbnkgbWF5IHVzZSBNaWNyb3NvZnTigJlzIHBhaWQgc2VydmljZXMsIGluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG86PC9wPgogICAgICAgICAgICA8dWwgY2xhc3M9ImljIj4KICAgICAgICAgICAgICA8bGk+U3BlZWNoIFNlcnZpY2VzPC9saT4KICAgICAgICAgICAgICA8bGk+U3BlZWNoIHRvIFRyYW5zbGF0ZTwvbGk+CiAgICAgICAgICAgICAgPGxpPlRyYW5zbGF0b3I8L2xpPgogICAgICAgICAgICAgIDxsaT5UZXh0IHRvIFRleHQ8L2xpPgogICAgICAgICAgICAgIDxsaT5BenVyZSBPcGVuQUkgKHdoZXJlIGFwcGxpY2FibGUpPC9saT4KICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPHA+VGhlIENvbXBhbnkgc2VsZWN0cyBjb250cmFjdHVhbCBzZXJ2aWNlIG9mZmVyaW5ncyB1bmRlciB3aGljaCBkYXRhIG9mIHRoZSBDb21wYW55IGFuZCBpdHMgY3VzdG9tZXJzIGlzIG5vdCB1c2VkIGZvciBzZWNvbmRhcnkgcHVycG9zZXMsIHN1Y2ggYXM6PC9wPgogICAgICAgICAgICA8dWwgY2xhc3M9ImljIj4KICAgICAgICAgICAgICA8bGk+bW9kZWwgdHJhaW5pbmc8L2xpPgogICAgICAgICAgICAgIDxsaT5tYXJrZXRpbmc8L2xpPgogICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8cD5UaGUgQ29tcGFueSBjb25maXJtcyB0aGVzZSBjb25kaXRpb25zIHRocm91Z2ggcHVibGljbHkgYXZhaWxhYmxlIGluZm9ybWF0aW9uIGZyb20gdGhlIHByb3ZpZGVyIGFuZCB0aHJvdWdoIHN1cHBvcnQgY2hhbm5lbHMuPC9wPgogICAgICAgICAgICAKICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGgzIGNsYXNzPSJ0dGwzIj4277yOSGFuZGxpbmcgYnkgRWRpdGlvbjwvaDM+CiAgICAgICAgICA8b2w+CiAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICA8aDQgY2xhc3M9InR0bDQiPjYtMe+8jkRlc2t0b3AgRWRpdGlvbiAoUmVhbCBUaW1lIFRyYW5zbGF0b3IgRGVza3RvcCk8L2g0PgogICAgICAgICAgICAgICAgPGg1IGNsYXNzPSJ0dGw0Ij42LTEtMe+8jkluZm9ybWF0aW9uIENvbGxlY3RlZCBhbmQgUHVycG9zZSBvZiBVc2U8L2g1PgogICAgICAgICAgICAgICAgPHA+VGhlIENvbXBhbnkgcHJvY2Vzc2VzIHRoZSBmb2xsb3dpbmcgaW5mb3JtYXRpb24gdG8gdGhlIGV4dGVudCBuZWNlc3NhcnkgZm9yIHByb3ZpZGluZyB0aGlzIGVkaXRpb24uPC9wPgogICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJ0YWJsZTEiPgogICAgICAgICAgICAgICAgICA8dGJvZHk+CiAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgPHRoIHN0eWxlPSJ3aWR0aDogMzAlOyI+KEEpIEF1dGhlbnRpY2F0aW9uIGFuZCBkaXNwbGF5PC90aD4KICAgICAgICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAg44O7TWljcm9zb2Z0IDM2NSBhY2NvdW50PGJyPkF1dGhlbnRpY2F0aW9uIG9mIGNvbnRyYWN0IGluZm9ybWF0aW9uIGFuZCBhc3NvY2lhdGlvbiB3aXRoIGNoYXQgcm9vbXM8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgIOODu01pY3Jvc29mdCAzNjUgZGlzcGxheSBuYW1lPGJyPlNjcmVlbiBkaXNwbGF5IGR1cmluZyBsb2dpbiBhbmQgY2hhdCB3aW5kb3cgZGlzcGxheTxicj4KICAgICAgICAgICAgICAgICAgICAgICAg44O7RW1haWwgYWRkcmVzczxicj5BdXRoZW50aWNhdGlvbiBvZiBjb250cmFjdCBpbmZvcm1hdGlvbiBhbmQgY2hhdCByb29tIGFzc29jaWF0aW9uPGJyPgogICAgICAgICAgICAgICAgICAgICAgICDjg7tFbWFpbCBhZGRyZXNzIChSVFQgUG9ydGFsIHVzZXJuYW1lKTxicj5EaXNwbGF5IGR1cmluZyBsb2dpbiBhbmQgY2hhdCB3aW5kb3cgZGlzcGwKICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICA8dGg+KEIpIFRlbmFudCByZWxhdGVkIGluZm9ybWF0aW9uPC90aD4KICAgICAgICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAg44O7VGVuYW50IElEPGJyPklkZW50aWZpY2F0aW9uIG9mIHRoZSBjb250cmFjdGluZyB0ZW5hbnQgYW5kIE1pY3Jvc29mdCAzNjUgaW50ZWdyYXRpb24gY29uZmlndXJhdGlvbgogICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgIDx0aD4oQykgQ29udmVyc2F0aW9uIGRhdGE8L3RoPgogICAgICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgICAgICDjg7tVc2VyIGF1ZGlvPGJyPkZvciBzcGVlY2gtdG8tdGV4dCBjb252ZXJzaW9uIGFuZCB0cmFuc2xhdGlvbjxicj4KICAgICAgICAgICAgICAgICAgICAgICAg44O7Q29udmVyc2F0aW9uIGxvZ3MgKHRyYW5zY3JpcHRzIGFuZCB0cmFuc2xhdGlvbiByZXN1bHRzKTxicj5Gb3Igc2NyZWVuIGRpc3BsYXksIGhpc3RvcnkgZXhwb3J0LCBhbmQgb3B0aW9uYWwgY29ycmVjdGlvbiBvciBzdW1tYXJpemF0aW9uCiAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgPHRoPihEKSBDb25maWd1cmF0aW9uIGluZm9ybWF0aW9uPC90aD4KICAgICAgICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAg44O7V29yZCBjb252ZXJzaW9uIHJ1bGUgZmlsZXM8YnI+Rm9yIGNvbnZlcnRpbmcgcmVjb2duaXplZCB0ZXh0IGludG8gc3BlY2lmaWVkIHRlcm1zPGJyPgogICAgICAgICAgICAgICAgICAgICAgICDjg7tBenVyZSBBSSBTZXJ2aWNlcyBBUEkga2V5IGFuZCByZWdpb24gaW5mb3JtYXRpb248YnI+Rm9yIHNwZWVjaCByZWNvZ25pdGlvbiBhbmQgdHJhbnNsYXRpb24KICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICA8dGg+KEUpIE9wZXJhdGlvbiBhbmQgbWFpbnRlbmFuY2U8L3RoPgogICAgICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgICAgICDjg7tBcHBsaWNhdGlvbiBsb2dzIC8gZXJyb3IgbG9ncyAvIGF1dGhlbnRpY2F0aW9uIGxvZ3M8YnI+Rm9yIHRyb3VibGVzaG9vdGluZywgbWFpbnRlbmFuY2UsIGFuZCBzZWN1cml0eTxicj4KICAgICAgICAgICAgICAgICAgICAgICAg44O7Q2hhdCByb29tIHBhcnRpY2lwYXRpb24gaW5mb3JtYXRpb248YnI+Rm9yIHNlcnZpY2UgcHJvdmlzaW9uCiAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgIDwvdGJvZHk+CiAgICAgICAgICAgICAgICA8L3RhYmxlPgoKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InR4dDIiPgogICAgICAgICAgICAgICAgPGg1IGNsYXNzPSJ0dGw0Ij42LTEtMu+8jkdlbmVyYXRpdmUgQUkgQ29ycmVjdGlvbiBhbmQgU3VtbWFyaXphdGlvbjwvaDU+CiAgICAgICAgICAgICAgICA8cD5UaGlzIGVkaXRpb24gbWF5IHByb3ZpZGUgZmVhdHVyZXMgdXNpbmcgZ2VuZXJhdGl2ZSBBSSAoc3VjaCBhcyBBenVyZSBPcGVuQUkpIGluY2x1ZGluZzo8L3A+CiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImljIj4KICAgICAgICAgICAgICAgICAgPGxpPnRyYW5zY3JpcHQgY29ycmVjdGlvbjwvbGk+CiAgICAgICAgICAgICAgICAgIDxsaT5jb252ZXJzYXRpb24gc3VtbWFyeSBnZW5lcmF0aW9uPC9saT4KICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICA8cD5JbiBzdWNoIGNhc2VzLCBjb252ZXJzYXRpb24gaGlzdG9yeSAodHJhbnNjcmlwdHMgYW5kIHRyYW5zbGF0aW9ucykgbWF5IGJlIHRyYW5zbWl0dGVkIGZvciBBSSBwcm9jZXNzaW5nLjxicj5UaGUgQ29tcGFueSBkb2VzIG5vdCB1c2UgY29udmVyc2F0aW9uIGRhdGEgZm9yIGluZGVwZW5kZW50IHB1cnBvc2VzIHN1Y2ggYXMgYW5hbHlzaXMsIG1vZGVsIHRyYWluaW5nLCBvciBtYXJrZXRpbmcuPC9wPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InR4dDIiPgogICAgICAgICAgICAgIDxoNSBjbGFzcz0idHRsNCI+Ni0xLTPvvI5EYXRhIFN0b3JhZ2UgTG9jYXRpb25zPC9oNT4KICAgICAgICAgICAgICA8dWwgY2xhc3M9ImljIiBzdHlsZT0ibWFyZ2luLXRvcDogMDsiPgogICAgICAgICAgICAgICAgPGxpPkNvbnZlcnNhdGlvbiBsb2dzOiBMb2NhbCBQQzwvbGk+CiAgICAgICAgICAgICAgICA8bGk+T3V0cHV0IGZpbGVzIHN1Y2ggYXMgc3VtbWFyaWVzOiBMb2NhbCBQQzwvbGk+CiAgICAgICAgICAgICAgICA8bGk+QXp1cmUgQUkgU2VydmljZXMgQVBJIGtleXM6IEF6dXJlIGRhdGFiYXNlIHNlcnZlcjwvbGk+CiAgICAgICAgICAgICAgICA8bGk+QXBwbGljYXRpb24gbG9ncyAvIGVycm9yIGxvZ3MgLyBhdXRoZW50aWNhdGlvbiBsb2dzOiBBenVyZSBzZXJ2ZXJzPC9saT4KICAgICAgICAgICAgICAgIDxsaT5DaGF0IHJvb20gcGFydGljaXBhdGlvbiBpbmZvcm1hdGlvbjogQXp1cmUgc2VydmVyczwvbGk+CiAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InR4dDIiPgogICAgICAgICAgICAgIDxoNSBjbGFzcz0idHRsNCI+Ni0xLTTvvI5SZXRlbnRpb24gUGVyaW9kIGFuZCBEZWxldGlvbjwvaDU+CiAgICAgICAgICAgICAgPHVsIGNsYXNzPSJpYyIgc3R5bGU9Im1hcmdpbi10b3A6IDA7Ij4KICAgICAgICAgICAgICAgIDxsaT5Db252ZXJzYXRpb24gbG9ncyBzdG9yZWQgb24gbG9jYWwgUENzIHNob3VsZCBiZSBkZWxldGVkIGFjY29yZGluZyB0byB0aGUgcG9saWNpZXMgb2YgdGhlIHVzZXIgb3IgY29udHJhY3Rpbmcgb3JnYW5pemF0aW9uLjwvbGk+CiAgICAgICAgICAgICAgICA8bGk+QXp1cmUgbG9ncyBhcmUgcmV0YWluZWQgb25seSBmb3IgdGhlIG1pbmltdW0gcGVyaW9kIG5lY2Vzc2FyeSBmb3Igc3RhYmxlIG9wZXJhdGlvbiBhbmQgdHJvdWJsZXNob290aW5nIGFuZCBhcmUgYXV0b21hdGljYWxseSBkZWxldGVkIGFmdGVyIGFwcHJveGltYXRlbHkgNyBtb250aHMuPC9saT4KICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgIDxwIHN0eWxlPSJwYWRkaW5nLXRvcDogMS41ZW07Ij5XaGVyZSBsZWdhbCBvYmxpZ2F0aW9ucyByZXF1aXJlIGxvbmdlciByZXRlbnRpb24sIHRob3NlIHJlcXVpcmVtZW50cyB0YWtlIHByZWNlZGVuY2UuPGJyPk9uY2UgZGVsZXRlZCwgZGF0YSBjYW5ub3QgYmUgcmVzdG9yZWQuPC9wPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InR4dDIiPgogICAgICAgICAgICAgIDxoNSBjbGFzcz0idHRsNCI+Ni0xLTXvvI5Db29raWVzPC9oNT4KICAgICAgICAgICAgICA8cD5UaGUgRGVza3RvcCBlZGl0aW9uIGRvZXMgbm90IHJlbHkgb24gYnJvd3NlciBjb29raWVzLjwvcD4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InR4dDIiPgogICAgICAgICAgICAgIDxoNSBjbGFzcz0idHRsNCI+Ni0xLTbvvI5SZXF1ZXN0cyBmb3IgRGlzY2xvc3VyZTwvaDU+CiAgICAgICAgICAgICAgPHA+Q29udmVyc2F0aW9uIGRhdGEgaGFuZGxlZCBhcyBQcm9jZXNzb3Igc2hvdWxkIGJlIHJlcXVlc3RlZCB0aHJvdWdoIHRoZSBDb250cm9sbGVyIChjdXN0b21lciBvcmdhbml6YXRpb24pLjxicj5Gb3IgaW5mb3JtYXRpb24gaGFuZGxlZCBhcyBDb250cm9sbGVyIChzdWNoIGFzIGJpbGxpbmcgb3IgY29udHJhY3QgbWFuYWdlbWVudCksIHJlcXVlc3RzIGFyZSBoYW5kbGVkIGFjY29yZGluZyB0byB0aGUgQ29tcGFueeKAmXMgZ2VuZXJhbCBwcml2YWN5IHBvbGljeS48L3A+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9saT4KICAgICAgICAgIDxsaT4KICAgICAgICAgICAgPGg0IGNsYXNzPSJ0dGw0Ij42LTLvvI5XZWIgRWRpdGlvbiAvIFRlYW1zIEVkaXRpb248L2g0PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InR4dDIiPgogICAgICAgICAgICAgICAgPGg1IGNsYXNzPSJ0dGw0Ij42LTItMe+8jkluZm9ybWF0aW9uIENvbGxlY3RlZDwvaDU+CiAgICAgICAgICAgICAgICA8cD5UaGUgQ29tcGFueSBtYXkgcHJvY2VzcyB0aGUgZm9sbG93aW5nIGluZm9ybWF0aW9uOjwvcD4KICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iaWMiPgogICAgICAgICAgICAgICAgICA8bGk+TWljcm9zb2Z0IDM2NSBhY2NvdW50IC8gZGlzcGxheSBuYW1lPC9saT4KICAgICAgICAgICAgICAgICAgPGxpPmVtYWlsIGFkZHJlc3M8L2xpPgogICAgICAgICAgICAgICAgICA8bGk+dGVuYW50IElEPC9saT4KICAgICAgICAgICAgICAgICAgPGxpPnBhcnRpY2lwYW50IGF1ZGlvPC9saT4KICAgICAgICAgICAgICAgICAgPGxpPmNvbnZlcnNhdGlvbiBsb2dzPC9saT4KICAgICAgICAgICAgICAgICAgPGxpPmd1ZXN0IGVtYWlsIGFkZHJlc3NlcyAod2hlbiB1c2luZyBndWVzdCBpbnZpdGF0aW9uIGZlYXR1cmVzKTwvbGk+CiAgICAgICAgICAgICAgICAgIDxsaT5BenVyZSBBSSBTZXJ2aWNlcyBBUEkga2V5czwvbGk+CiAgICAgICAgICAgICAgICAgIDxsaT5vcGVyYXRpb25hbCBsb2dzPC9saT4KICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idHh0MiI+CiAgICAgICAgICAgICAgPGg1IGNsYXNzPSJ0dGw0Ij42LTItMu+8jkdlbmVyYXRpdmUgQUkgRmVhdHVyZXM8L2g1PgogICAgICAgICAgICAgIDxwPkNvcnJlY3Rpb24gYW5kIHN1bW1hcml6YXRpb24gZmVhdHVyZXMgbWF5IGFsc28gYmUgcHJvdmlkZWQgdXNpbmcgZ2VuZXJhdGl2ZSBBSS48YnI+SGFuZGxpbmcgaXMgdGhlIHNhbWUgYXMgZGVzY3JpYmVkIGZvciB0aGUgRGVza3RvcCBlZGl0aW9uLjxicj5Db252ZXJzYXRpb24gZGF0YSBpcyBub3QgcmV1c2VkIGJ5IHRoZSBDb21wYW55LjwvcD4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InR4dDIiPgogICAgICAgICAgICAgIDxoNSBjbGFzcz0idHRsNCI+Ni0yLTPvvI5Db252ZXJzYXRpb24gTG9nIFN0b3JhZ2UgUGF0dGVybnMgKEltcG9ydGFudCk8L2g1PgogICAgICAgICAgICAgIDxwPlR3byBzdG9yYWdlIHBhdHRlcm5zIGV4aXN0LjwvcD4KICAgICAgICAgICAgICA8cD5QYXR0ZXJuIDE8YnI+Q29udmVyc2F0aW9uIGxvZ3Mgc3RvcmVkIGZvciB3ZWIgYnJvd3NlciB2aWV3aW5nLjwvcD4KICAgICAgICAgICAgICA8dWwgY2xhc3M9ImljIiBzdHlsZT0ibWFyZ2luLXRvcDogMDsiPgogICAgICAgICAgICAgICAgPGxpPlN0b3JlZCBpbiBBenVyZSBkYXRhYmFzZSBzZXJ2ZXJzPC9saT4KICAgICAgICAgICAgICAgIDxsaT5SZXRlbnRpb24gcGVyaW9kIGZvbGxvd3MgY3VzdG9tZXIgaW5zdHJ1Y3Rpb25zPC9saT4KICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgIDxwPlBhdHRlcm4gMjxicj5DU1YgZG93bmxvYWQgcGVyIG1lZXRpbmcvY2hhdCByb29tLjwvcD4KICAgICAgICAgICAgICA8dWwgY2xhc3M9ImljIiBzdHlsZT0ibWFyZ2luLXRvcDogMDsiPgogICAgICAgICAgICAgICAgPGxpPkxpY2Vuc2VkIHBhcnRpY2lwYW50cyBtYXkgZG93bmxvYWQgbG9ncyB0byB0aGVpciBvd24gUENzLjwvbGk+CiAgICAgICAgICAgICAgICA8bGk+QWZ0ZXIgYnJvd3NlciBzZXNzaW9ucyBlbmQsIHRlbXBvcmFyeSBtZW1vcnkgZGF0YSBpbiBBenVyZSBpcyBkZWxldGVkLjwvbGk+CiAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICA8cD5Eb3dubG9hZGVkIENTViBmaWxlcyBhcmUgbWFuYWdlZCB1bmRlciB0aGUgY3VzdG9tZXLigJlzIGludGVybmFsIGdvdmVybmFuY2UuPC9wPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idHh0MiI+CiAgICAgICAgICAgICAgPGg1IGNsYXNzPSJ0dGw0Ij42LTItNO+8jkRhdGEgU3RvcmFnZSBMb2NhdGlvbnM8L2g1PgogICAgICAgICAgICAgIDx1bCBjbGFzcz0iaWMiIHN0eWxlPSJtYXJnaW4tdG9wOiAwOyI+CiAgICAgICAgICAgICAgICA8bGk+QXp1cmUgQUkgU2VydmljZXMgQVBJIGtleXM6IEF6dXJlIGRhdGFiYXNlIHNlcnZlcnM8L2xpPgogICAgICAgICAgICAgICAgPGxpPmxvZ3M6IEF6dXJlIHNlcnZlcnM8L2xpPgogICAgICAgICAgICAgICAgPGxpPmNoYXQgcm9vbSBwYXJ0aWNpcGF0aW9uIGRhdGE6IEF6dXJlIHNlcnZlcnM8L2xpPgogICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0eHQyIj4KICAgICAgICAgICAgICA8aDUgY2xhc3M9InR0bDQiPjYtMi0177yOUmV0ZW50aW9uPC9oNT4KICAgICAgICAgICAgICA8dWwgY2xhc3M9ImljIiBzdHlsZT0ibWFyZ2luLXRvcDogMDsiPgogICAgICAgICAgICAgICAgPGxpPlBhdHRlcm4gMSBsb2dzIGZvbGxvdyBjdXN0b21lciBpbnN0cnVjdGlvbnM8L2xpPgogICAgICAgICAgICAgICAgPGxpPlBhdHRlcm4gMiBsb2dzIGFyZSBtYW5hZ2VkIGJ5IHRoZSBjdXN0b21lcjwvbGk+CiAgICAgICAgICAgICAgICA8bGk+bG9ncyBzdG9yZWQgYnkgdGhlIENvbXBhbnkgYXJlIHJldGFpbmVkIGZvciBhcHByb3hpbWF0ZWx5IDcgbW9udGhzPC9saT4KICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idHh0MiI+CiAgICAgICAgICAgICAgPGg1IGNsYXNzPSJ0dGw0Ij42LTItNu+8jkNvb2tpZXM8L2g1PgogICAgICAgICAgICAgIDxwPkZvciBicm93c2VyLWJhc2VkIHVzYWdlLCBjb29raWVzIG1heSBiZSB1c2VkIGZvcjo8L3A+CiAgICAgICAgICAgICAgPHVsIGNsYXNzPSJpYyI+CiAgICAgICAgICAgICAgICA8bGk+bWFpbnRhaW5pbmcgbG9naW4gc2Vzc2lvbnM8L2xpPgogICAgICAgICAgICAgICAgPGxpPnNlY3VyaXR5PC9saT4KICAgICAgICAgICAgICAgIDxsaT5jb25maWd1cmF0aW9uIHJldGVudGlvbjwvbGk+CiAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICA8cD5TZWUgdGhlIENvbXBhbnnigJlzIGdlbmVyYWwgcHJpdmFjeSBwb2xpY3kgZm9yIGNvb2tpZSBkZXRhaWxzLjxicj5Mb2dzIHN0b3JlZCBieSB0aGUgQ29tcGFueSBkbyBub3QgaW5jbHVkZSBkZXZpY2UgaWRlbnRpZmllcnMgb3IgSVAgYWRkcmVzc2VzLjwvcD4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgIDxoNCBjbGFzcz0idHRsNCI+Ni0z77yOUlRUIFBvcnRhbDwvaDQ+CiAgICAgICAgICAgICAgICA8cD5SVFQgUG9ydGFsIGlzIGEgbWFuYWdlbWVudCBpbnRlcmZhY2UgdXNlZCB0byBtYW5hZ2U6PC9wPgogICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJpYyI+CiAgICAgICAgICAgICAgICAgIDxsaT5jb250cmFjdCBpbmZvcm1hdGlvbjwvbGk+CiAgICAgICAgICAgICAgICAgIDxsaT51c2VyIGluZm9ybWF0aW9uPC9saT4KICAgICAgICAgICAgICAgICAgPGxpPmNvbmZpZ3VyYXRpb24gc2V0dGluZ3M8L2xpPgogICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0eHQyIj4KICAgICAgICAgICAgICAgIDxoNSBjbGFzcz0idHRsNCI+Ni0zLTHvvI5Db21wYW55IFJvbGU8L2g1PgogICAgICAgICAgICAgICAgPHA+UG9ydGFsIGRhdGEgbWF5IGJlIGhhbmRsZWQgdW5kZXIgdHdvIHJvbGVzLjwvcD4KICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iaWMiPgogICAgICAgICAgICAgICAgICA8bGk+KEEpIENvbnRyb2xsZXI8YnI+SW5mb3JtYXRpb24gZm9yIGNvbnRyYWN0IG1hbmFnZW1lbnQgYW5kIGNvbW11bmljYXRpb24uPC9saT4KICAgICAgICAgICAgICAgICAgPGxpPihCKSBQcm9jZXNzb3I8YnI+VXNlciBhbmQgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiByZWdpc3RlcmVkIGJ5IGN1c3RvbWVycy48L2xpPgogICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxoNSBjbGFzcz0idHRsNCI+Ni0zLTLvvI5JbmZvcm1hdGlvbiBDb2xsZWN0ZWQ8L2g1PgogICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJ0YWJsZTEiIHN0eWxlPSJtYXJnaW4tdG9wOiAwOyI+CiAgICAgICAgICAgICAgICAgIDx0Ym9keT4KICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICA8dGggc3R5bGU9IndpZHRoOiA0MCU7Ij4oQSkgQ29udHJhY3QgbWFuYWdlbWVudDwvdGg+CiAgICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIOODu2NvbXBhbnkgbmFtZTxicj4KICAgICAgICAgICAgICAgICAgICAgICAg44O7Y29udGFjdCBlbWFpbCBhZGRyZXNzPGJyPgogICAgICAgICAgICAgICAgICAgICAgICDjg7tjb250cmFjdGVkIGVkaXRpb248YnI+CiAgICAgICAgICAgICAgICAgICAgICAgIOODu2NvbnRyYWN0IHBlcmlvZDxicj4KICAgICAgICAgICAgICAgICAgICAgICAg44O7UlRUIHVzYWdlIHRpbWU8L3RkPgogICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgPHRoPihCKSBVc2VyIGF1dGhlbnRpY2F0aW9uIGFuZCBjb25maWd1cmF0aW9uPC90aD4KICAgICAgICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAg44O7TWljcm9zb2Z0IDM2NSBhY2NvdW50IG9yIGVtYWlsPGJyPgogICAgICAgICAgICAgICAgICAgICAgICDjg7twb3J0YWwgdXNlcm5hbWU8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgIOODu3RlbmFudCBJRDxicj4KICAgICAgICAgICAgICAgICAgICAgICAg44O7dXNlciBpbmZvcm1hdGlvbiAoZ3JvdXBzIGV0Yy4pPGJyPgogICAgICAgICAgICAgICAgICAgICAgICDjg7tlbmNyeXB0ZWQgQXp1cmUgQUkgU2VydmljZXMgQVBJIGtleXMKICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICA8dGg+KEMpIE9wZXJhdGlvbiBhbmQgbWFpbnRlbmFuY2U8L3RoPgogICAgICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgICAgICDjg7tBcHBsaWNhdGlvbiBsb2dzIC8gZXJyb3IgbG9ncyAvIGF1dGhlbnRpY2F0aW9uIGxvZ3MgPGJyPgogICAgICAgICAgICAgICAgICAgICAgICBGb3IgdHJvdWJsZXNob290aW5nLCBtYWludGVuYW5jZSwgYW5kIHNlY3VyaXR5CiAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgIDwvdGJvZHk+CiAgICAgICAgICAgICAgICA8L3RhYmxlPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idHh0MiI+CiAgICAgICAgICAgICAgICA8aDUgY2xhc3M9InR0bDQiPjYtMy0z77yORGF0YSBTdG9yYWdlPC9oNT4KICAgICAgICAgICAgICAgIDxwPkFsbCBwb3J0YWwgaW5mb3JtYXRpb24gaXMgc3RvcmVkIGluOjwvcD4KICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iaWMiPgogICAgICAgICAgICAgICAgICA8bGk+QXp1cmUgZGF0YWJhc2Ugc2VydmVyczwvbGk+CiAgICAgICAgICAgICAgICAgIDxsaT5BenVyZSBhcHBsaWNhdGlvbiBzZXJ2ZXJzPC9saT4KICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICA8cD5Mb2dzIGFyZSBzdG9yZWQgb24gQXp1cmUgc2VydmVycy48L3A+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idHh0MiI+CiAgICAgICAgICAgICAgICA8aDUgY2xhc3M9InR0bDQiPjYtMy0077yOUmV0ZW50aW9uPC9oNT4KICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iaWMiIHN0eWxlPSJtYXJnaW4tdG9wOiAwOyI+CiAgICAgICAgICAgICAgICAgIDxsaT5Db250cmFjdCBtYW5hZ2VtZW50IGluZm9ybWF0aW9uOiByZXRhaW5lZCBkdXJpbmcgdGhlIGNvbnRyYWN0IHBlcmlvZCBhbmQgNyBtb250aHMgYWZ0ZXIgdGVybWluYXRpb248L2xpPgogICAgICAgICAgICAgICAgICA8bGk+VXNlci9jb25maWd1cmF0aW9uIGluZm9ybWF0aW9uOiByZXRhaW5lZCBhY2NvcmRpbmcgdG8gY3VzdG9tZXIgaW5zdHJ1Y3Rpb25zPC9saT4KICAgICAgICAgICAgICAgICAgPGxpPmxvZ3M6IHJldGFpbmVkIGZvciBhcHByb3hpbWF0ZWx5IDcgbW9udGhzPC9saT4KICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICA8cD5EZWxldGVkIGRhdGEgY2Fubm90IGJlIHJlc3RvcmVkLjwvcD4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0eHQyIj4KICAgICAgICAgICAgICAgIDxoNSBjbGFzcz0idHRsNCI+Ni0zLTXvvI5Db29raWVzPC9oNT4KICAgICAgICAgICAgICAgIDxwPlJUVCBQb3J0YWwgdXNlcyBjb29raWVzIGZvcjo8L3A+CiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImljIj4KICAgICAgICAgICAgICAgICAgPGxpPnNlc3Npb24gbWFuYWdlbWVudDwvbGk+CiAgICAgICAgICAgICAgICAgIDxsaT5zZWN1cml0eTwvbGk+CiAgICAgICAgICAgICAgICAgIDxsaT5jb25maWd1cmF0aW9uIHJldGVudGlvbjwvbGk+CiAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgPHA+TG9ncyBzdG9yZWQgYnkgdGhlIENvbXBhbnkgZG8gbm90IGluY2x1ZGUgZGV2aWNlIGlkZW50aWZpZXJzIG9yIElQIGFkZHJlc3Nlcy48L3A+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idHh0MiI+CiAgICAgICAgICAgICAgICA8aDUgY2xhc3M9InR0bDQiPjYtMy0277yORGlzY2xvc3VyZSBSZXF1ZXN0czwvaDU+CiAgICAgICAgICAgICAgICA8cD5Gb3IgQ29udHJvbGxlciBkYXRhIGhhbmRsZWQgYnkgdGhlIENvbXBhbnksIHJlcXVlc3RzIGZvbGxvdyB0aGUgQ29tcGFueeKAmXMgZ2VuZXJhbCBwcml2YWN5IHBvbGljeS48YnI+Rm9yIFByb2Nlc3NvciBkYXRhLCByZXF1ZXN0cyBzaG91bGQgYmUgZGlyZWN0ZWQgdG8gdGhlIGN1c3RvbWVyIGFjdGluZyBhcyBDb250cm9sbGVyLjwvcD4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgIDwvb2w+CiAgICAgICAgICAgICAgPGgzIGNsYXNzPSJ0dGwzIj4377yOUmV2aXNpb25zPC9oMz4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0eHQyIj4KICAgICAgICAgICAgICAgIDxwPlRoZSBDb21wYW55IG1heSByZXZpc2UgdGhpcyBQb2xpY3kgaW4gcmVzcG9uc2UgdG86PC9wPgogICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJpYyI+CiAgICAgICAgICAgICAgICAgIDxsaT5sZWdhbCBvciByZWd1bGF0b3J5IGNoYW5nZXM8L2xpPgogICAgICAgICAgICAgICAgICA8bGk+ZmVhdHVyZSBhZGRpdGlvbnMgb3IgbW9kaWZpY2F0aW9ucyB0byB0aGUgUHJvZHVjdDwvbGk+CiAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgPHA+UmV2aXNpb25zIGJlY29tZSBlZmZlY3RpdmUgd2hlbiBwdWJsaXNoZWQgb24gdGhpcyBwYWdlLjwvcD4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L3NlY3Rpb24+ZG9jdW1lbnRleGNlcnB0ZG9jdW1lbnRhdXRob3Jkb2N1bWVudGZlYXR1cmVkX21lZGlhZG9jdW1lbnRjb21tZW50X3N0YXR1c2RvY3VtZW50cGluZ19zdGF0dXNkb2N1bWVudHRlbXBsYXRlZG9jdW1lbnRtZXRhX2FjZl9jaGFuZ2VkZm9vdG5vdGVzZG9jdW1lbnRibG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2NvbnRlbnRpbm5lckJsb2Nrc3N0YXRlc2F2ZWRBdHN0YXRlc2F2ZWRCeQo8ZGl2IGNsYXNzPSJkYXRlIiBzdHlsZT0id2lkdGg6MzAwcHg7IG1heC13aWR0aDoxMDAlOyI+RGF0ZSBvZiBFc3RhYmxpc2htZW50OkRlY2VtYmVyIDEsIDIwMTg8YnI+RGF0ZSBvZiBSZXZpc2lvbjpBcHJpbCA0LCAyMDI2PC9kaXY+CgkJCQkJPGRpdiBjbGFzcz0ic2lnbiIgc3R5bGU9IndpZHRoOjMwMHB4OyBtYXgtd2lkdGg6MTAwJTsiPgoJCQkJCQlGYWlydXNlIEluYy48YnI+UmVwcmVzZW50YXRpdmUgRGlyZWN0b3I6IFlvc3VrZSBBZGFjaGkKCQkJCQk8L2Rpdj4KBQcIBAgECAYIBSsIB5GyAjYIBwgGCA4IDggLSAEEDAkIBggHDwQKBwsFBwUHAcYCABEBBAAAAQAAAAEGAAEBAAAHAQdCAQEAQQAAAkESASIAfQF3EzIwMjUtMDQtMTJUMDg6MTk6NTR3FnVzZXJwcm9maWxlaW5mb3JtYXRpb253B3B1Ymxpc2h9AX0AdwZjbG9zZWR3BmNsb3NlZHcMcGFnZS1ydHQucGhweXcAdyQ1OWNmYjRkYi1kYzIzLTQxYjMtYWRlNi05MjJiOWJjMTYzNzR4d7V7PHA+PG1haW4gaWQ9InByaXZhY3kiPjwvcD4KPHNlY3Rpb24gY2xhc3M9InR0bDFfY21uX3J0dCI+CjxoMSBjbGFzcz0idHRsMSI+CiAgICAgIDxzcGFuIGNsYXNzPSJ0dGwiPlJlYWwgVGltZSBUcmFuc2xhdG9yIFByb2R1Y3QgUHJpdmFjeSBQb2xpY3kgKGJ5IEVkaXRpb24pPC9zcGFuPjxiciAvPgogICAgPC9oMT4KPC9zZWN0aW9uPgo8c2VjdGlvbiBjbGFzcz0icHJpdmFjeTEgdHlwZTIiPgo8ZGl2IGNsYXNzPSJ3cmFwIj4KPGRpdiBpZD0icmVjcnVpdG1lbnQxIiBjbGFzcz0idHRsX2NtbjIiPgogICAgICAgIDwhLS08c3BhbiBjbGFzcz0ibXNyIj5QUklWQUNZIFBPTElDWSBJREVBTDwvc3Bhbj4tLT48L3A+CjxoMiBjbGFzcz0idHRsMiI+UFJJVkFDWSBQT0xJQ1k8L2gyPgo8L3A+PC9kaXY+CjxkaXYgY2xhc3M9ImNvbnQiPgo8ZGl2IGNsYXNzPSJkZXNjIj4KPHA+RmFpcnVzZSBJbmMuIChoZXJlaW5hZnRlciByZWZlcnJlZCB0byBhcyB0aGUg4oCcQ29tcGFueeKAnSkgZXN0YWJsaXNoZXMgdGhpcyBQcml2YWN5IFBvbGljeSByZWdhcmRpbmcgdGhlIGhhbmRsaW5nIG9mIHBlcnNvbmFsIGluZm9ybWF0aW9uIGFuZCByZWxhdGVkIGRhdGEgaW4gcHJvdmlkaW5nIHRoZSB2YXJpb3VzIGVkaXRpb25zIG9mIFJlYWwgVGltZSBUcmFuc2xhdG9yICjigJxSVFTigJ0pLCBpbmNsdWRpbmcgdGhlIERlc2t0b3AgRWRpdGlvbiwgV2ViL1RlYW1zIEVkaXRpb24sIGFuZCBSVFQgUG9ydGFsIChjb2xsZWN0aXZlbHkgcmVmZXJyZWQgdG8gYXMgdGhlIOKAnFByb2R1Y3TigJ0pLjxiciAvPlBsZWFzZSByZXZpZXcgdGhlIGNvbnRlbnRzIG9mIHRoaXMgUG9saWN5IGJlZm9yZSB1c2luZyB0aGUgUHJvZHVjdC48YnIgLz5NYXR0ZXJzIG5vdCBzcGVjaWZpZWQgaW4gdGhpcyBQb2xpY3ksIGFzIHdlbGwgYXMgdGhlIGhhbmRsaW5nIG9mIHBlcnNvbmFsIGluZm9ybWF0aW9uIHJlbGF0ZWQgdG8gdGhlIENvbXBhbnnigJlzIG92ZXJhbGwgYnVzaW5lc3Mgb3BlcmF0aW9ucyAoaW5jbHVkaW5nIHByaW5jaXBsZXMsIHNlY3VyaXR5IG1lYXN1cmVzLCBwcm9jZWR1cmVzIGZvciBkaXNjbG9zdXJlIHJlcXVlc3RzLCBjb29raWVzLCBldGMuKSwgc2hhbGwgYmUgZ292ZXJuZWQgYnkgdGhlIENvbXBhbnnigJlzIOKAnFBlcnNvbmFsIEluZm9ybWF0aW9uIFByb3RlY3Rpb24gUG9saWN5IGZvciBHZW5lcmFsIEJ1c2luZXNzIE9wZXJhdGlvbnMu4oCdPGJyIC8+CiAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vZmFpcnVzZS5qcC9lbi91c2VycHJvZmlsZWluZm9ybWF0aW9uLyI+aHR0cHM6Ly9mYWlydXNlLmpwL2VuL3VzZXJwcm9maWxlaW5mb3JtYXRpb24vPC9hPjwvcD4KPC9wPjwvZGl2Pgo8aDMgY2xhc3M9InR0bDMiPjDvvI5UZXJtaW5vbG9neSAoTm90ZXMgb24gR0RQUiBUZXJtaW5vbG9neSk8L2gzPgo8ZGl2IGNsYXNzPSJ0eHQyIj4KPHA+SW4gdGhpcyBQb2xpY3ksIHRoZSB0ZXJtcyDigJxDb250cm9sbGVy4oCdIGFuZCDigJxQcm9jZXNzb3LigJ0gYXJlIHVzZWQgYXMgZGVmaW5lZCB1bmRlciB0aGUgR2VuZXJhbCBEYXRhIFByb3RlY3Rpb24gUmVndWxhdGlvbiAoR0RQUikuPGJyIC8+SW4gdGhlIGNvbnRleHQgb2YgdGhlIEphcGFuZXNlIEFjdCBvbiB0aGUgUHJvdGVjdGlvbiBvZiBQZXJzb25hbCBJbmZvcm1hdGlvbiAoQVBQSSksIHRoZXNlIGNvbmNlcHRzIHJvdWdobHkgY29ycmVzcG9uZCB0bzo8L3A+Cjx1bCBjbGFzcz0iaWMiPgo8bGk+Q29udHJvbGxlcjogUGVyc29uYWwgSW5mb3JtYXRpb24gSGFuZGxpbmcgQnVzaW5lc3MgT3BlcmF0b3IgKG1hbmFnZW1lbnQgZW50aXR5KTwvbGk+CjxsaT5Qcm9jZXNzb3I6IEVudHJ1c3RlZCBjb250cmFjdG9yPC9saT4KPC91bD48L2Rpdj4KPGgzIGNsYXNzPSJ0dGwzIj4x77yOT3VyIFJvbGUgYXMgQ29udHJvbGxlciAvIFByb2Nlc3NvciAoQ29tbW9uIHRvIEFsbCBFZGl0aW9ucyk8L2gzPgo8ZGl2IGNsYXNzPSJ0eHQyIj4KPHA+RGVwZW5kaW5nIG9uIHRoZSB1c2Ugb2YgdGhlIFByb2R1Y3QsIHRoZSBDb21wYW55IG1heSBwcm9jZXNzIHBlcnNvbmFsIGluZm9ybWF0aW9uIGluIGVpdGhlciBvZiB0aGUgZm9sbG93aW5nIGNhcGFjaXRpZXMuPC9wPgo8cD4oMSkgUHJvY2Vzc29yICh3aGVuIHRoZSBjdXN0b21lciBlbnRydXN0cyB0aGUgUHJvZHVjdCB0byB1cyk8YnIgLz4KICAgICAgICAgICAgICBXaGVuIHRoZSBQcm9kdWN0IGhhbmRsZXMgY29udmVyc2F0aW9uIGRhdGEsIHN1Y2ggYXMgbWVldGluZyBhdWRpbywgdHJhbnNjcmlwdHMsIHRyYW5zbGF0aW9ucywgY29ycmVjdGlvbnMsIGFuZCBzdW1tYXJpZXMgKGNvbGxlY3RpdmVseSDigJxDb252ZXJzYXRpb24gRGF0YeKAnSksIHRoZSBjb250cmFjdGluZyBvcmdhbml6YXRpb24gKGN1c3RvbWVyIGNvbXBhbnkgb3Igb3JnYW5pemF0aW9uKSB0eXBpY2FsbHkgYWN0cyBhcyB0aGUgQ29udHJvbGxlciwgYW5kIHRoZSBDb21wYW55IGFjdHMgYXMgYSBQcm9jZXNzb3IuPGJyIC8+SW4gc3VjaCBjYXNlcywgdGhlIENvbXBhbnkgcHJvY2Vzc2VzIHRoZSBkYXRhIG9ubHkgd2l0aGluIHRoZSBzY29wZSBvZiB0aGUgY3VzdG9tZXLigJlzIGluc3RydWN0aW9ucyBhbmQgYXBwbGljYWJsZSBhZ3JlZW1lbnRzIChpbmNsdWRpbmcgRFBBKS48YnIgLz5BcyBzdGF0ZWQgaW4gdGhlIENvbXBhbnnigJlzIGdlbmVyYWwgcGVyc29uYWwgaW5mb3JtYXRpb24gcHJvdGVjdGlvbiBwb2xpY3ksIHRoZSBDb21wYW55IG1heSBub3QgYmUgYWJsZSB0byBpbmRlcGVuZGVudGx5IHJlc3BvbmQgdG8gcmVxdWVzdHMgZm9yIGRpc2Nsb3N1cmUgaW4gc3VjaCBjYXNlcy48L3A+CjxwPigyKSBJbmZvcm1hdGlvbiBoYW5kbGVkIGFzIENvbnRyb2xsZXI8YnIgLz4KICAgICAgICAgICAgICBPbiB0aGUgb3RoZXIgaGFuZCwgdGhlIENvbXBhbnkgbWF5IGFjdCBhcyBhIENvbnRyb2xsZXIgd2hlbiBoYW5kbGluZyBjb250YWN0IGluZm9ybWF0aW9uIGFuZCBzaW1pbGFyIGRhdGEgb2J0YWluZWQgZm9yOgogICAgICAgICAgICA8L3A+Cjx1bCBjbGFzcz0iaWMiPgo8bGk+Y29udHJhY3QgbWFuYWdlbWVudDwvbGk+CjxsaT5iaWxsaW5nIGFuZCBwYXltZW50IG1hbmFnZW1lbnQgKHN1Y2ggYXMgaW52b2ljZSBpc3N1YW5jZSk8L2xpPgo8bGk+cmVzcG9uZGluZyB0byBpbnF1aXJpZXM8L2xpPgo8L3VsPgo8cD5TdWNoIGhhbmRsaW5nIHNoYWxsIGZvbGxvdyB0aGUgQ29tcGFueeKAmXMgZ2VuZXJhbCBwcml2YWN5IHBvbGljeS48L3A+CjwvcD48L2Rpdj4KPGgzIGNsYXNzPSJ0dGwzIj4y77yOQ2F0ZWdvcmllcyBvZiBJbmZvcm1hdGlvbiBQcm9jZXNzZWQgaW4gdGhlIFByb2R1Y3QgKENvbW1vbiB0byBBbGwgRWRpdGlvbnMpPC9oMz4KPGRpdiBjbGFzcz0idHh0MiI+CjxwPlRoZSBQcm9kdWN0IG1haW5seSBoYW5kbGVzIHRoZSBmb2xsb3dpbmcgY2F0ZWdvcmllcyBvZiBpbmZvcm1hdGlvbjo8L3A+Cjx1bCBjbGFzcz0iaWMiPgo8bGk+QXV0aGVudGljYXRpb24gYW5kIGRpc3BsYXkgaW5mb3JtYXRpb248YnIgLz4oYWNjb3VudHMsIGRpc3BsYXkgbmFtZXMsIGVtYWlsIGFkZHJlc3Nlcyk8L2xpPgo8bGk+VGVuYW50LXJlbGF0ZWQgaW5mb3JtYXRpb248YnIgLz4oaW50ZWdyYXRpb24gc2V0dGluZ3Mgc3VjaCBhcyBUZW5hbnQgSUQpPC9saT4KPGxpPkNvbnZlcnNhdGlvbiBEYXRhPGJyIC8+KGF1ZGlvLCB0cmFuc2NyaXB0cywgdHJhbnNsYXRpb24gcmVzdWx0cywgY29udmVyc2F0aW9uIGhpc3RvcnksIHRleHRzIHN1YmplY3QgdG8gY29ycmVjdGlvbiBvciBzdW1tYXJpemF0aW9uKTwvbGk+CjxsaT5Db25maWd1cmF0aW9uIGluZm9ybWF0aW9uPGJyIC8+KHdvcmQgY29udmVyc2lvbiBydWxlIGZpbGVzLCBBenVyZSBBSSBTZXJ2aWNlcyBBUEkga2V5cywgcmVnaW9uIGluZm9ybWF0aW9uKTwvbGk+CjxsaT5Mb2dzIGZvciBvcGVyYXRpb24gYW5kIG1haW50ZW5hbmNlPGJyIC8+KGFwcGxpY2F0aW9uIGxvZ3MsIGVycm9yIGxvZ3MsIGF1dGhlbnRpY2F0aW9uIGxvZ3MpPC9saT4KPC91bD4KPHVsIGNsYXNzPSJub3RlIj4KPGxpPk5vdGXvvJo8YnIgLz5Mb2dzIGFuZCBkYXRhIHN0b3JlZCBieSB0aGUgQ29tcGFueSBmb3IgdGhlIHByb3Zpc2lvbiBvZiB0aGUgUHJvZHVjdCBkbyBub3QgaW5jbHVkZSBkZXZpY2UgaWRlbnRpZmllcnMgb3IgSVAgYWRkcmVzc2VzLjxiciAvPihDb29raWUgdXNhZ2UgZm9yIHRoZSBXZWIvVGVhbXMgZWRpdGlvbiBhbmQgUlRUIFBvcnRhbCBpcyBkZXNjcmliZWQgbGF0ZXIuKTwvbGk+CjwvdWw+PC9kaXY+CjxoMyBjbGFzcz0idHRsMyI+M++8jlNlY3VyaXR5IE1lYXN1cmVzIChDb21tb24gdG8gQWxsIEVkaXRpb25zKTwvaDM+CjxkaXYgY2xhc3M9InR4dDIiPgo8cD5BcyBkZXNjcmliZWQgaW4gdGhlIENvbXBhbnnigJlzIGdlbmVyYWwgcHJpdmFjeSBwb2xpY3ksIHRoZSBDb21wYW55IGltcGxlbWVudHMgY29udGludW91cyBvcmdhbml6YXRpb25hbCBhbmQgdGVjaG5pY2FsIG1lYXN1cmVzLCBpbmNsdWRpbmc6PC9wPgo8dWwgY2xhc3M9ImljIj4KPGxpPm9wZXJhdGlvbiBpbiBjb21wbGlhbmNlIHdpdGggUGVyc29uYWwgSW5mb3JtYXRpb24gUHJvdGVjdGlvbiBNYW5hZ2VtZW50IFN5c3RlbSAoSklTIFEgMTUwMDEpPC9saT4KPGxpPmluZm9ybWF0aW9uIHNlY3VyaXR5IG1hbmFnZW1lbnQgYmFzZWQgb24gSVNNUyAoSVNPL0lFQyAyNzAwMSk8L2xpPgo8L3VsPjwvZGl2Pgo8aDMgY2xhc3M9InR0bDMiPjTvvI5DbG91ZCBTZXJ2aWNlcyBhbmQgRGF0YSBDZW50ZXIgTG9jYXRpb25zIChDb21tb24gdG8gQWxsIEVkaXRpb25zKTwvaDM+CjxkaXYgY2xhc3M9InR4dDIiPgo8dWwgY2xhc3M9ImljIj4KPGxpPlRoZSBQcm9kdWN0IGlzIHByb3ZpZGVkIHVzaW5nIE1pY3Jvc29mdCBBenVyZS48L2xpPgo8bGk+VGhlIHByaW1hcnkgZGF0YSBjZW50ZXIgdXNlZCBpcyBNaWNyb3NvZnQgQXp1cmUgSmFwYW4gRWFzdCByZWdpb24uPC9saT4KPC91bD4KPHAgc3R5bGU9InBhZGRpbmctdG9wOiAxLjVlbTsiPkhvd2V2ZXIsIHdoZW4gYWR2YW5jZWQgc2VydmljZXMgYXJlIHVzZWQgKHN1Y2ggYXMgZmVhdHVyZXMgdXNpbmcgQXp1cmUgT3BlbkFJIGZvciBjb3JyZWN0aW9uIG9yIHN1bW1hcml6YXRpb24pLCBvdmVyc2VhcyBkYXRhIGNlbnRlcnMgKHN1Y2ggYXMgdGhvc2UgaW4gTm9ydGggQW1lcmljYSkgbWF5IGJlIHVzZWQuPGJyIC8+SWYgaW5mb3JtYXRpb24gcmVnYXJkaW5nIHRoZSBkZXN0aW5hdGlvbiBjb3VudHJ5L3JlZ2lvbiBvciBzZXJ2aWNlIHByb3ZpZGVycyBpcyByZXF1aXJlZCwgcGxlYXNlIGNvbnRhY3QgdGhlIENvbXBhbnnigJlzIHBlcnNvbmFsIGluZm9ybWF0aW9uIGlucXVpcnkgZGVzay48L3A+CjwvcD48L2Rpdj4KPGgzIGNsYXNzPSJ0dGwzIj4177yOVXNlIG9mIE1pY3Jvc29mdCBTZXJ2aWNlcyBhbmQgU2Vjb25kYXJ5IFVzZSBvZiBEYXRhIChDb21tb24gdG8gQWxsIEVkaXRpb25zKTwvaDM+CjxkaXYgY2xhc3M9InR4dDIiPgo8cD5JbiBwcm92aWRpbmcgdGhlIFByb2R1Y3QsIHRoZSBDb21wYW55IG1heSB1c2UgTWljcm9zb2Z04oCZcyBwYWlkIHNlcnZpY2VzLCBpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvOjwvcD4KPHVsIGNsYXNzPSJpYyI+CjxsaT5TcGVlY2ggU2VydmljZXM8L2xpPgo8bGk+U3BlZWNoIHRvIFRyYW5zbGF0ZTwvbGk+CjxsaT5UcmFuc2xhdG9yPC9saT4KPGxpPlRleHQgdG8gVGV4dDwvbGk+CjxsaT5BenVyZSBPcGVuQUkgKHdoZXJlIGFwcGxpY2FibGUpPC9saT4KPC91bD4KPHA+VGhlIENvbXBhbnkgc2VsZWN0cyBjb250cmFjdHVhbCBzZXJ2aWNlIG9mZmVyaW5ncyB1bmRlciB3aGljaCBkYXRhIG9mIHRoZSBDb21wYW55IGFuZCBpdHMgY3VzdG9tZXJzIGlzIG5vdCB1c2VkIGZvciBzZWNvbmRhcnkgcHVycG9zZXMsIHN1Y2ggYXM6PC9wPgo8dWwgY2xhc3M9ImljIj4KPGxpPm1vZGVsIHRyYWluaW5nPC9saT4KPGxpPm1hcmtldGluZzwvbGk+CjwvdWw+CjxwPlRoZSBDb21wYW55IGNvbmZpcm1zIHRoZXNlIGNvbmRpdGlvbnMgdGhyb3VnaCBwdWJsaWNseSBhdmFpbGFibGUgaW5mb3JtYXRpb24gZnJvbSB0aGUgcHJvdmlkZXIgYW5kIHRocm91Z2ggc3VwcG9ydCBjaGFubmVscy48L3A+CjwvcD48L2Rpdj4KPGgzIGNsYXNzPSJ0dGwzIj4277yOSGFuZGxpbmcgYnkgRWRpdGlvbjwvaDM+CjxvbD4KPGxpPgo8aDQgY2xhc3M9InR0bDQiPjYtMe+8jkRlc2t0b3AgRWRpdGlvbiAoUmVhbCBUaW1lIFRyYW5zbGF0b3IgRGVza3RvcCk8L2g0Pgo8aDUgY2xhc3M9InR0bDQiPjYtMS0x77yOSW5mb3JtYXRpb24gQ29sbGVjdGVkIGFuZCBQdXJwb3NlIG9mIFVzZTwvaDU+CjxwPlRoZSBDb21wYW55IHByb2Nlc3NlcyB0aGUgZm9sbG93aW5nIGluZm9ybWF0aW9uIHRvIHRoZSBleHRlbnQgbmVjZXNzYXJ5IGZvciBwcm92aWRpbmcgdGhpcyBlZGl0aW9uLjwvcD4KPHRhYmxlIGNsYXNzPSJ0YWJsZTEiPgo8dGJvZHk+Cjx0cj4KPHRoIHN0eWxlPSJ3aWR0aDogMzAlOyI+KEEpIEF1dGhlbnRpY2F0aW9uIGFuZCBkaXNwbGF5PC90aD4KPHRkPgogICAgICAgICAgICAgICAgICAgICAgICDjg7tNaWNyb3NvZnQgMzY1IGFjY291bnQ8YnIgLz5BdXRoZW50aWNhdGlvbiBvZiBjb250cmFjdCBpbmZvcm1hdGlvbiBhbmQgYXNzb2NpYXRpb24gd2l0aCBjaGF0IHJvb21zPGJyIC8+CiAgICAgICAgICAgICAgICAgICAgICAgIOODu01pY3Jvc29mdCAzNjUgZGlzcGxheSBuYW1lPGJyIC8+U2NyZWVuIGRpc3BsYXkgZHVyaW5nIGxvZ2luIGFuZCBjaGF0IHdpbmRvdyBkaXNwbGF5PGJyIC8+CiAgICAgICAgICAgICAgICAgICAgICAgIOODu0VtYWlsIGFkZHJlc3M8YnIgLz5BdXRoZW50aWNhdGlvbiBvZiBjb250cmFjdCBpbmZvcm1hdGlvbiBhbmQgY2hhdCByb29tIGFzc29jaWF0aW9uPGJyIC8+CiAgICAgICAgICAgICAgICAgICAgICAgIOODu0VtYWlsIGFkZHJlc3MgKFJUVCBQb3J0YWwgdXNlcm5hbWUpPGJyIC8+RGlzcGxheSBkdXJpbmcgbG9naW4gYW5kIGNoYXQgd2luZG93IGRpc3BsCiAgICAgICAgICAgICAgICAgICAgICA8L3RkPgo8L3RyPgo8dHI+Cjx0aD4oQikgVGVuYW50IHJlbGF0ZWQgaW5mb3JtYXRpb248L3RoPgo8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIOODu1RlbmFudCBJRDxiciAvPklkZW50aWZpY2F0aW9uIG9mIHRoZSBjb250cmFjdGluZyB0ZW5hbnQgYW5kIE1pY3Jvc29mdCAzNjUgaW50ZWdyYXRpb24gY29uZmlndXJhdGlvbgogICAgICAgICAgICAgICAgICAgICAgPC90ZD4KPC90cj4KPHRyPgo8dGg+KEMpIENvbnZlcnNhdGlvbiBkYXRhPC90aD4KPHRkPgogICAgICAgICAgICAgICAgICAgICAgICDjg7tVc2VyIGF1ZGlvPGJyIC8+Rm9yIHNwZWVjaC10by10ZXh0IGNvbnZlcnNpb24gYW5kIHRyYW5zbGF0aW9uPGJyIC8+CiAgICAgICAgICAgICAgICAgICAgICAgIOODu0NvbnZlcnNhdGlvbiBsb2dzICh0cmFuc2NyaXB0cyBhbmQgdHJhbnNsYXRpb24gcmVzdWx0cyk8YnIgLz5Gb3Igc2NyZWVuIGRpc3BsYXksIGhpc3RvcnkgZXhwb3J0LCBhbmQgb3B0aW9uYWwgY29ycmVjdGlvbiBvciBzdW1tYXJpemF0aW9uCiAgICAgICAgICAgICAgICAgICAgICA8L3RkPgo8L3RyPgo8dHI+Cjx0aD4oRCkgQ29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbjwvdGg+Cjx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAg44O7V29yZCBjb252ZXJzaW9uIHJ1bGUgZmlsZXM8YnIgLz5Gb3IgY29udmVydGluZyByZWNvZ25pemVkIHRleHQgaW50byBzcGVjaWZpZWQgdGVybXM8YnIgLz4KICAgICAgICAgICAgICAgICAgICAgICAg44O7QXp1cmUgQUkgU2VydmljZXMgQVBJIGtleSBhbmQgcmVnaW9uIGluZm9ybWF0aW9uPGJyIC8+Rm9yIHNwZWVjaCByZWNvZ25pdGlvbiBhbmQgdHJhbnNsYXRpb24KICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CjwvdHI+Cjx0cj4KPHRoPihFKSBPcGVyYXRpb24gYW5kIG1haW50ZW5hbmNlPC90aD4KPHRkPgogICAgICAgICAgICAgICAgICAgICAgICDjg7tBcHBsaWNhdGlvbiBsb2dzIC8gZXJyb3IgbG9ncyAvIGF1dGhlbnRpY2F0aW9uIGxvZ3M8YnIgLz5Gb3IgdHJvdWJsZXNob290aW5nLCBtYWludGVuYW5jZSwgYW5kIHNlY3VyaXR5PGJyIC8+CiAgICAgICAgICAgICAgICAgICAgICAgIOODu0NoYXQgcm9vbSBwYXJ0aWNpcGF0aW9uIGluZm9ybWF0aW9uPGJyIC8+Rm9yIHNlcnZpY2UgcHJvdmlzaW9uCiAgICAgICAgICAgICAgICAgICAgICA8L3RkPgo8L3RyPgo8L3Rib2R5Pgo8L3RhYmxlPgo8ZGl2IGNsYXNzPSJ0eHQyIj4KPGg1IGNsYXNzPSJ0dGw0Ij42LTEtMu+8jkdlbmVyYXRpdmUgQUkgQ29ycmVjdGlvbiBhbmQgU3VtbWFyaXphdGlvbjwvaDU+CjxwPlRoaXMgZWRpdGlvbiBtYXkgcHJvdmlkZSBmZWF0dXJlcyB1c2luZyBnZW5lcmF0aXZlIEFJIChzdWNoIGFzIEF6dXJlIE9wZW5BSSkgaW5jbHVkaW5nOjwvcD4KPHVsIGNsYXNzPSJpYyI+CjxsaT50cmFuc2NyaXB0IGNvcnJlY3Rpb248L2xpPgo8bGk+Y29udmVyc2F0aW9uIHN1bW1hcnkgZ2VuZXJhdGlvbjwvbGk+CjwvdWw+CjxwPkluIHN1Y2ggY2FzZXMsIGNvbnZlcnNhdGlvbiBoaXN0b3J5ICh0cmFuc2NyaXB0cyBhbmQgdHJhbnNsYXRpb25zKSBtYXkgYmUgdHJhbnNtaXR0ZWQgZm9yIEFJIHByb2Nlc3NpbmcuPGJyIC8+VGhlIENvbXBhbnkgZG9lcyBub3QgdXNlIGNvbnZlcnNhdGlvbiBkYXRhIGZvciBpbmRlcGVuZGVudCBwdXJwb3NlcyBzdWNoIGFzIGFuYWx5c2lzLCBtb2RlbCB0cmFpbmluZywgb3IgbWFya2V0aW5nLjwvcD4KPC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0eHQyIj4KPGg1IGNsYXNzPSJ0dGw0Ij42LTEtM++8jkRhdGEgU3RvcmFnZSBMb2NhdGlvbnM8L2g1Pgo8dWwgY2xhc3M9ImljIiBzdHlsZT0ibWFyZ2luLXRvcDogMDsiPgo8bGk+Q29udmVyc2F0aW9uIGxvZ3M6IExvY2FsIFBDPC9saT4KPGxpPk91dHB1dCBmaWxlcyBzdWNoIGFzIHN1bW1hcmllczogTG9jYWwgUEM8L2xpPgo8bGk+QXp1cmUgQUkgU2VydmljZXMgQVBJIGtleXM6IEF6dXJlIGRhdGFiYXNlIHNlcnZlcjwvbGk+CjxsaT5BcHBsaWNhdGlvbiBsb2dzIC8gZXJyb3IgbG9ncyAvIGF1dGhlbnRpY2F0aW9uIGxvZ3M6IEF6dXJlIHNlcnZlcnM8L2xpPgo8bGk+Q2hhdCByb29tIHBhcnRpY2lwYXRpb24gaW5mb3JtYXRpb246IEF6dXJlIHNlcnZlcnM8L2xpPgo8L3VsPjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0eHQyIj4KPGg1IGNsYXNzPSJ0dGw0Ij42LTEtNO+8jlJldGVudGlvbiBQZXJpb2QgYW5kIERlbGV0aW9uPC9oNT4KPHVsIGNsYXNzPSJpYyIgc3R5bGU9Im1hcmdpbi10b3A6IDA7Ij4KPGxpPkNvbnZlcnNhdGlvbiBsb2dzIHN0b3JlZCBvbiBsb2NhbCBQQ3Mgc2hvdWxkIGJlIGRlbGV0ZWQgYWNjb3JkaW5nIHRvIHRoZSBwb2xpY2llcyBvZiB0aGUgdXNlciBvciBjb250cmFjdGluZyBvcmdhbml6YXRpb24uPC9saT4KPGxpPkF6dXJlIGxvZ3MgYXJlIHJldGFpbmVkIG9ubHkgZm9yIHRoZSBtaW5pbXVtIHBlcmlvZCBuZWNlc3NhcnkgZm9yIHN0YWJsZSBvcGVyYXRpb24gYW5kIHRyb3VibGVzaG9vdGluZyBhbmQgYXJlIGF1dG9tYXRpY2FsbHkgZGVsZXRlZCBhZnRlciBhcHByb3hpbWF0ZWx5IDcgbW9udGhzLjwvbGk+CjwvdWw+CjxwIHN0eWxlPSJwYWRkaW5nLXRvcDogMS41ZW07Ij5XaGVyZSBsZWdhbCBvYmxpZ2F0aW9ucyByZXF1aXJlIGxvbmdlciByZXRlbnRpb24sIHRob3NlIHJlcXVpcmVtZW50cyB0YWtlIHByZWNlZGVuY2UuPGJyIC8+T25jZSBkZWxldGVkLCBkYXRhIGNhbm5vdCBiZSByZXN0b3JlZC48L3A+CjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0idHh0MiI+CjxoNSBjbGFzcz0idHRsNCI+Ni0xLTXvvI5Db29raWVzPC9oNT4KPHA+VGhlIERlc2t0b3AgZWRpdGlvbiBkb2VzIG5vdCByZWx5IG9uIGJyb3dzZXIgY29va2llcy48L3A+CjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0idHh0MiI+CjxoNSBjbGFzcz0idHRsNCI+Ni0xLTbvvI5SZXF1ZXN0cyBmb3IgRGlzY2xvc3VyZTwvaDU+CjxwPkNvbnZlcnNhdGlvbiBkYXRhIGhhbmRsZWQgYXMgUHJvY2Vzc29yIHNob3VsZCBiZSByZXF1ZXN0ZWQgdGhyb3VnaCB0aGUgQ29udHJvbGxlciAoY3VzdG9tZXIgb3JnYW5pemF0aW9uKS48YnIgLz5Gb3IgaW5mb3JtYXRpb24gaGFuZGxlZCBhcyBDb250cm9sbGVyIChzdWNoIGFzIGJpbGxpbmcgb3IgY29udHJhY3QgbWFuYWdlbWVudCksIHJlcXVlc3RzIGFyZSBoYW5kbGVkIGFjY29yZGluZyB0byB0aGUgQ29tcGFueeKAmXMgZ2VuZXJhbCBwcml2YWN5IHBvbGljeS48L3A+CjwvcD48L2Rpdj4KPC9saT4KPGxpPgo8aDQgY2xhc3M9InR0bDQiPjYtMu+8jldlYiBFZGl0aW9uIC8gVGVhbXMgRWRpdGlvbjwvaDQ+CjxkaXYgY2xhc3M9InR4dDIiPgo8aDUgY2xhc3M9InR0bDQiPjYtMi0x77yOSW5mb3JtYXRpb24gQ29sbGVjdGVkPC9oNT4KPHA+VGhlIENvbXBhbnkgbWF5IHByb2Nlc3MgdGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbjo8L3A+Cjx1bCBjbGFzcz0iaWMiPgo8bGk+TWljcm9zb2Z0IDM2NSBhY2NvdW50IC8gZGlzcGxheSBuYW1lPC9saT4KPGxpPmVtYWlsIGFkZHJlc3M8L2xpPgo8bGk+dGVuYW50IElEPC9saT4KPGxpPnBhcnRpY2lwYW50IGF1ZGlvPC9saT4KPGxpPmNvbnZlcnNhdGlvbiBsb2dzPC9saT4KPGxpPmd1ZXN0IGVtYWlsIGFkZHJlc3NlcyAod2hlbiB1c2luZyBndWVzdCBpbnZpdGF0aW9uIGZlYXR1cmVzKTwvbGk+CjxsaT5BenVyZSBBSSBTZXJ2aWNlcyBBUEkga2V5czwvbGk+CjxsaT5vcGVyYXRpb25hbCBsb2dzPC9saT4KPC91bD48L2Rpdj4KPGRpdiBjbGFzcz0idHh0MiI+CjxoNSBjbGFzcz0idHRsNCI+Ni0yLTLvvI5HZW5lcmF0aXZlIEFJIEZlYXR1cmVzPC9oNT4KPHA+Q29ycmVjdGlvbiBhbmQgc3VtbWFyaXphdGlvbiBmZWF0dXJlcyBtYXkgYWxzbyBiZSBwcm92aWRlZCB1c2luZyBnZW5lcmF0aXZlIEFJLjxiciAvPkhhbmRsaW5nIGlzIHRoZSBzYW1lIGFzIGRlc2NyaWJlZCBmb3IgdGhlIERlc2t0b3AgZWRpdGlvbi48YnIgLz5Db252ZXJzYXRpb24gZGF0YSBpcyBub3QgcmV1c2VkIGJ5IHRoZSBDb21wYW55LjwvcD4KPC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0eHQyIj4KPGg1IGNsYXNzPSJ0dGw0Ij42LTItM++8jkNvbnZlcnNhdGlvbiBMb2cgU3RvcmFnZSBQYXR0ZXJucyAoSW1wb3J0YW50KTwvaDU+CjxwPlR3byBzdG9yYWdlIHBhdHRlcm5zIGV4aXN0LjwvcD4KPHA+UGF0dGVybiAxPGJyIC8+Q29udmVyc2F0aW9uIGxvZ3Mgc3RvcmVkIGZvciB3ZWIgYnJvd3NlciB2aWV3aW5nLjwvcD4KPHVsIGNsYXNzPSJpYyIgc3R5bGU9Im1hcmdpbi10b3A6IDA7Ij4KPGxpPlN0b3JlZCBpbiBBenVyZSBkYXRhYmFzZSBzZXJ2ZXJzPC9saT4KPGxpPlJldGVudGlvbiBwZXJpb2QgZm9sbG93cyBjdXN0b21lciBpbnN0cnVjdGlvbnM8L2xpPgo8L3VsPgo8cD5QYXR0ZXJuIDI8YnIgLz5DU1YgZG93bmxvYWQgcGVyIG1lZXRpbmcvY2hhdCByb29tLjwvcD4KPHVsIGNsYXNzPSJpYyIgc3R5bGU9Im1hcmdpbi10b3A6IDA7Ij4KPGxpPkxpY2Vuc2VkIHBhcnRpY2lwYW50cyBtYXkgZG93bmxvYWQgbG9ncyB0byB0aGVpciBvd24gUENzLjwvbGk+CjxsaT5BZnRlciBicm93c2VyIHNlc3Npb25zIGVuZCwgdGVtcG9yYXJ5IG1lbW9yeSBkYXRhIGluIEF6dXJlIGlzIGRlbGV0ZWQuPC9saT4KPC91bD4KPHA+RG93bmxvYWRlZCBDU1YgZmlsZXMgYXJlIG1hbmFnZWQgdW5kZXIgdGhlIGN1c3RvbWVy4oCZcyBpbnRlcm5hbCBnb3Zlcm5hbmNlLjwvcD4KPC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0eHQyIj4KPGg1IGNsYXNzPSJ0dGw0Ij42LTItNO+8jkRhdGEgU3RvcmFnZSBMb2NhdGlvbnM8L2g1Pgo8dWwgY2xhc3M9ImljIiBzdHlsZT0ibWFyZ2luLXRvcDogMDsiPgo8bGk+QXp1cmUgQUkgU2VydmljZXMgQVBJIGtleXM6IEF6dXJlIGRhdGFiYXNlIHNlcnZlcnM8L2xpPgo8bGk+bG9nczogQXp1cmUgc2VydmVyczwvbGk+CjxsaT5jaGF0IHJvb20gcGFydGljaXBhdGlvbiBkYXRhOiBBenVyZSBzZXJ2ZXJzPC9saT4KPC91bD48L2Rpdj4KPGRpdiBjbGFzcz0idHh0MiI+CjxoNSBjbGFzcz0idHRsNCI+Ni0yLTXvvI5SZXRlbnRpb248L2g1Pgo8dWwgY2xhc3M9ImljIiBzdHlsZT0ibWFyZ2luLXRvcDogMDsiPgo8bGk+UGF0dGVybiAxIGxvZ3MgZm9sbG93IGN1c3RvbWVyIGluc3RydWN0aW9uczwvbGk+CjxsaT5QYXR0ZXJuIDIgbG9ncyBhcmUgbWFuYWdlZCBieSB0aGUgY3VzdG9tZXI8L2xpPgo8bGk+bG9ncyBzdG9yZWQgYnkgdGhlIENvbXBhbnkgYXJlIHJldGFpbmVkIGZvciBhcHByb3hpbWF0ZWx5IDcgbW9udGhzPC9saT4KPC91bD48L2Rpdj4KPGRpdiBjbGFzcz0idHh0MiI+CjxoNSBjbGFzcz0idHRsNCI+Ni0yLTbvvI5Db29raWVzPC9oNT4KPHA+Rm9yIGJyb3dzZXItYmFzZWQgdXNhZ2UsIGNvb2tpZXMgbWF5IGJlIHVzZWQgZm9yOjwvcD4KPHVsIGNsYXNzPSJpYyI+CjxsaT5tYWludGFpbmluZyBsb2dpbiBzZXNzaW9uczwvbGk+CjxsaT5zZWN1cml0eTwvbGk+CjxsaT5jb25maWd1cmF0aW9uIHJldGVudGlvbjwvbGk+CjwvdWw+CjxwPlNlZSB0aGUgQ29tcGFueeKAmXMgZ2VuZXJhbCBwcml2YWN5IHBvbGljeSBmb3IgY29va2llIGRldGFpbHMuPGJyIC8+TG9ncyBzdG9yZWQgYnkgdGhlIENvbXBhbnkgZG8gbm90IGluY2x1ZGUgZGV2aWNlIGlkZW50aWZpZXJzIG9yIElQIGFkZHJlc3Nlcy48L3A+CjwvcD48L2Rpdj4KPC9saT4KPGxpPgo8aDQgY2xhc3M9InR0bDQiPjYtM++8jlJUVCBQb3J0YWw8L2g0Pgo8cD5SVFQgUG9ydGFsIGlzIGEgbWFuYWdlbWVudCBpbnRlcmZhY2UgdXNlZCB0byBtYW5hZ2U6PC9wPgo8dWwgY2xhc3M9ImljIj4KPGxpPmNvbnRyYWN0IGluZm9ybWF0aW9uPC9saT4KPGxpPnVzZXIgaW5mb3JtYXRpb248L2xpPgo8bGk+Y29uZmlndXJhdGlvbiBzZXR0aW5nczwvbGk+CjwvdWw+CjxkaXYgY2xhc3M9InR4dDIiPgo8aDUgY2xhc3M9InR0bDQiPjYtMy0x77yOQ29tcGFueSBSb2xlPC9oNT4KPHA+UG9ydGFsIGRhdGEgbWF5IGJlIGhhbmRsZWQgdW5kZXIgdHdvIHJvbGVzLjwvcD4KPHVsIGNsYXNzPSJpYyI+CjxsaT4oQSkgQ29udHJvbGxlcjxiciAvPkluZm9ybWF0aW9uIGZvciBjb250cmFjdCBtYW5hZ2VtZW50IGFuZCBjb21tdW5pY2F0aW9uLjwvbGk+CjxsaT4oQikgUHJvY2Vzc29yPGJyIC8+VXNlciBhbmQgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiByZWdpc3RlcmVkIGJ5IGN1c3RvbWVycy48L2xpPgo8L3VsPjwvZGl2Pgo8aDUgY2xhc3M9InR0bDQiPjYtMy0y77yOSW5mb3JtYXRpb24gQ29sbGVjdGVkPC9oNT4KPHRhYmxlIGNsYXNzPSJ0YWJsZTEiIHN0eWxlPSJtYXJnaW4tdG9wOiAwOyI+Cjx0Ym9keT4KPHRyPgo8dGggc3R5bGU9IndpZHRoOiA0MCU7Ij4oQSkgQ29udHJhY3QgbWFuYWdlbWVudDwvdGg+Cjx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAg44O7Y29tcGFueSBuYW1lPGJyIC8+CiAgICAgICAgICAgICAgICAgICAgICAgIOODu2NvbnRhY3QgZW1haWwgYWRkcmVzczxiciAvPgogICAgICAgICAgICAgICAgICAgICAgICDjg7tjb250cmFjdGVkIGVkaXRpb248YnIgLz4KICAgICAgICAgICAgICAgICAgICAgICAg44O7Y29udHJhY3QgcGVyaW9kPGJyIC8+CiAgICAgICAgICAgICAgICAgICAgICAgIOODu1JUVCB1c2FnZSB0aW1lPC90ZD4KPC90cj4KPHRyPgo8dGg+KEIpIFVzZXIgYXV0aGVudGljYXRpb24gYW5kIGNvbmZpZ3VyYXRpb248L3RoPgo8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIOODu01pY3Jvc29mdCAzNjUgYWNjb3VudCBvciBlbWFpbDxiciAvPgogICAgICAgICAgICAgICAgICAgICAgICDjg7twb3J0YWwgdXNlcm5hbWU8YnIgLz4KICAgICAgICAgICAgICAgICAgICAgICAg44O7dGVuYW50IElEPGJyIC8+CiAgICAgICAgICAgICAgICAgICAgICAgIOODu3VzZXIgaW5mb3JtYXRpb24gKGdyb3VwcyBldGMuKTxiciAvPgogICAgICAgICAgICAgICAgICAgICAgICDjg7tlbmNyeXB0ZWQgQXp1cmUgQUkgU2VydmljZXMgQVBJIGtleXMKICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CjwvdHI+Cjx0cj4KPHRoPihDKSBPcGVyYXRpb24gYW5kIG1haW50ZW5hbmNlPC90aD4KPHRkPgogICAgICAgICAgICAgICAgICAgICAgICDjg7tBcHBsaWNhdGlvbiBsb2dzIC8gZXJyb3IgbG9ncyAvIGF1dGhlbnRpY2F0aW9uIGxvZ3MgPGJyIC8+CiAgICAgICAgICAgICAgICAgICAgICAgIEZvciB0cm91Ymxlc2hvb3RpbmcsIG1haW50ZW5hbmNlLCBhbmQgc2VjdXJpdHkKICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CjwvdHI+CjwvdGJvZHk+CjwvdGFibGU+CjxkaXYgY2xhc3M9InR4dDIiPgo8aDUgY2xhc3M9InR0bDQiPjYtMy0z77yORGF0YSBTdG9yYWdlPC9oNT4KPHA+QWxsIHBvcnRhbCBpbmZvcm1hdGlvbiBpcyBzdG9yZWQgaW46PC9wPgo8dWwgY2xhc3M9ImljIj4KPGxpPkF6dXJlIGRhdGFiYXNlIHNlcnZlcnM8L2xpPgo8bGk+QXp1cmUgYXBwbGljYXRpb24gc2VydmVyczwvbGk+CjwvdWw+CjxwPkxvZ3MgYXJlIHN0b3JlZCBvbiBBenVyZSBzZXJ2ZXJzLjwvcD4KPC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0eHQyIj4KPGg1IGNsYXNzPSJ0dGw0Ij42LTMtNO+8jlJldGVudGlvbjwvaDU+Cjx1bCBjbGFzcz0iaWMiIHN0eWxlPSJtYXJnaW4tdG9wOiAwOyI+CjxsaT5Db250cmFjdCBtYW5hZ2VtZW50IGluZm9ybWF0aW9uOiByZXRhaW5lZCBkdXJpbmcgdGhlIGNvbnRyYWN0IHBlcmlvZCBhbmQgNyBtb250aHMgYWZ0ZXIgdGVybWluYXRpb248L2xpPgo8bGk+VXNlci9jb25maWd1cmF0aW9uIGluZm9ybWF0aW9uOiByZXRhaW5lZCBhY2NvcmRpbmcgdG8gY3VzdG9tZXIgaW5zdHJ1Y3Rpb25zPC9saT4KPGxpPmxvZ3M6IHJldGFpbmVkIGZvciBhcHByb3hpbWF0ZWx5IDcgbW9udGhzPC9saT4KPC91bD4KPHA+RGVsZXRlZCBkYXRhIGNhbm5vdCBiZSByZXN0b3JlZC48L3A+CjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0idHh0MiI+CjxoNSBjbGFzcz0idHRsNCI+Ni0zLTXvvI5Db29raWVzPC9oNT4KPHA+UlRUIFBvcnRhbCB1c2VzIGNvb2tpZXMgZm9yOjwvcD4KPHVsIGNsYXNzPSJpYyI+CjxsaT5zZXNzaW9uIG1hbmFnZW1lbnQ8L2xpPgo8bGk+c2VjdXJpdHk8L2xpPgo8bGk+Y29uZmlndXJhdGlvbiByZXRlbnRpb248L2xpPgo8L3VsPgo8cD5Mb2dzIHN0b3JlZCBieSB0aGUgQ29tcGFueSBkbyBub3QgaW5jbHVkZSBkZXZpY2UgaWRlbnRpZmllcnMgb3IgSVAgYWRkcmVzc2VzLjwvcD4KPC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0eHQyIj4KPGg1IGNsYXNzPSJ0dGw0Ij42LTMtNu+8jkRpc2Nsb3N1cmUgUmVxdWVzdHM8L2g1Pgo8cD5Gb3IgQ29udHJvbGxlciBkYXRhIGhhbmRsZWQgYnkgdGhlIENvbXBhbnksIHJlcXVlc3RzIGZvbGxvdyB0aGUgQ29tcGFueeKAmXMgZ2VuZXJhbCBwcml2YWN5IHBvbGljeS48YnIgLz5Gb3IgUHJvY2Vzc29yIGRhdGEsIHJlcXVlc3RzIHNob3VsZCBiZSBkaXJlY3RlZCB0byB0aGUgY3VzdG9tZXIgYWN0aW5nIGFzIENvbnRyb2xsZXIuPC9wPgo8L3A+PC9kaXY+CjwvbGk+Cjwvb2w+CjxoMyBjbGFzcz0idHRsMyI+N++8jlJldmlzaW9uczwvaDM+CjxkaXYgY2xhc3M9InR4dDIiPgo8cD5UaGUgQ29tcGFueSBtYXkgcmV2aXNlIHRoaXMgUG9saWN5IGluIHJlc3BvbnNlIHRvOjwvcD4KPHVsIGNsYXNzPSJpYyI+CjxsaT5sZWdhbCBvciByZWd1bGF0b3J5IGNoYW5nZXM8L2xpPgo8bGk+ZmVhdHVyZSBhZGRpdGlvbnMgb3IgbW9kaWZpY2F0aW9ucyB0byB0aGUgUHJvZHVjdDwvbGk+CjwvdWw+CjxwPlJldmlzaW9ucyBiZWNvbWUgZWZmZWN0aXZlIHdoZW4gcHVibGlzaGVkIG9uIHRoaXMgcGFnZS48L3A+CjwvcD48L2Rpdj4KPC9wPjwvZGl2Pgo8L3A+PC9kaXY+Cjwvc2VjdGlvbj53DWNvcmUvZnJlZWZvcm13tXs8cD48bWFpbiBpZD0icHJpdmFjeSI+PC9wPgo8c2VjdGlvbiBjbGFzcz0idHRsMV9jbW5fcnR0Ij4KPGgxIGNsYXNzPSJ0dGwxIj4KICAgICAgPHNwYW4gY2xhc3M9InR0bCI+UmVhbCBUaW1lIFRyYW5zbGF0b3IgUHJvZHVjdCBQcml2YWN5IFBvbGljeSAoYnkgRWRpdGlvbik8L3NwYW4+PGJyIC8+CiAgICA8L2gxPgo8L3NlY3Rpb24+CjxzZWN0aW9uIGNsYXNzPSJwcml2YWN5MSB0eXBlMiI+CjxkaXYgY2xhc3M9IndyYXAiPgo8ZGl2IGlkPSJyZWNydWl0bWVudDEiIGNsYXNzPSJ0dGxfY21uMiI+CiAgICAgICAgPCEtLTxzcGFuIGNsYXNzPSJtc3IiPlBSSVZBQ1kgUE9MSUNZIElERUFMPC9zcGFuPi0tPjwvcD4KPGgyIGNsYXNzPSJ0dGwyIj5QUklWQUNZIFBPTElDWTwvaDI+CjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0iY29udCI+CjxkaXYgY2xhc3M9ImRlc2MiPgo8cD5GYWlydXNlIEluYy4gKGhlcmVpbmFmdGVyIHJlZmVycmVkIHRvIGFzIHRoZSDigJxDb21wYW554oCdKSBlc3RhYmxpc2hlcyB0aGlzIFByaXZhY3kgUG9saWN5IHJlZ2FyZGluZyB0aGUgaGFuZGxpbmcgb2YgcGVyc29uYWwgaW5mb3JtYXRpb24gYW5kIHJlbGF0ZWQgZGF0YSBpbiBwcm92aWRpbmcgdGhlIHZhcmlvdXMgZWRpdGlvbnMgb2YgUmVhbCBUaW1lIFRyYW5zbGF0b3IgKOKAnFJUVOKAnSksIGluY2x1ZGluZyB0aGUgRGVza3RvcCBFZGl0aW9uLCBXZWIvVGVhbXMgRWRpdGlvbiwgYW5kIFJUVCBQb3J0YWwgKGNvbGxlY3RpdmVseSByZWZlcnJlZCB0byBhcyB0aGUg4oCcUHJvZHVjdOKAnSkuPGJyIC8+UGxlYXNlIHJldmlldyB0aGUgY29udGVudHMgb2YgdGhpcyBQb2xpY3kgYmVmb3JlIHVzaW5nIHRoZSBQcm9kdWN0LjxiciAvPk1hdHRlcnMgbm90IHNwZWNpZmllZCBpbiB0aGlzIFBvbGljeSwgYXMgd2VsbCBhcyB0aGUgaGFuZGxpbmcgb2YgcGVyc29uYWwgaW5mb3JtYXRpb24gcmVsYXRlZCB0byB0aGUgQ29tcGFueeKAmXMgb3ZlcmFsbCBidXNpbmVzcyBvcGVyYXRpb25zIChpbmNsdWRpbmcgcHJpbmNpcGxlcywgc2VjdXJpdHkgbWVhc3VyZXMsIHByb2NlZHVyZXMgZm9yIGRpc2Nsb3N1cmUgcmVxdWVzdHMsIGNvb2tpZXMsIGV0Yy4pLCBzaGFsbCBiZSBnb3Zlcm5lZCBieSB0aGUgQ29tcGFueeKAmXMg4oCcUGVyc29uYWwgSW5mb3JtYXRpb24gUHJvdGVjdGlvbiBQb2xpY3kgZm9yIEdlbmVyYWwgQnVzaW5lc3MgT3BlcmF0aW9ucy7igJ08YnIgLz4KICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9mYWlydXNlLmpwL2VuL3VzZXJwcm9maWxlaW5mb3JtYXRpb24vIj5odHRwczovL2ZhaXJ1c2UuanAvZW4vdXNlcnByb2ZpbGVpbmZvcm1hdGlvbi88L2E+PC9wPgo8L3A+PC9kaXY+CjxoMyBjbGFzcz0idHRsMyI+MO+8jlRlcm1pbm9sb2d5IChOb3RlcyBvbiBHRFBSIFRlcm1pbm9sb2d5KTwvaDM+CjxkaXYgY2xhc3M9InR4dDIiPgo8cD5JbiB0aGlzIFBvbGljeSwgdGhlIHRlcm1zIOKAnENvbnRyb2xsZXLigJ0gYW5kIOKAnFByb2Nlc3NvcuKAnSBhcmUgdXNlZCBhcyBkZWZpbmVkIHVuZGVyIHRoZSBHZW5lcmFsIERhdGEgUHJvdGVjdGlvbiBSZWd1bGF0aW9uIChHRFBSKS48YnIgLz5JbiB0aGUgY29udGV4dCBvZiB0aGUgSmFwYW5lc2UgQWN0IG9uIHRoZSBQcm90ZWN0aW9uIG9mIFBlcnNvbmFsIEluZm9ybWF0aW9uIChBUFBJKSwgdGhlc2UgY29uY2VwdHMgcm91Z2hseSBjb3JyZXNwb25kIHRvOjwvcD4KPHVsIGNsYXNzPSJpYyI+CjxsaT5Db250cm9sbGVyOiBQZXJzb25hbCBJbmZvcm1hdGlvbiBIYW5kbGluZyBCdXNpbmVzcyBPcGVyYXRvciAobWFuYWdlbWVudCBlbnRpdHkpPC9saT4KPGxpPlByb2Nlc3NvcjogRW50cnVzdGVkIGNvbnRyYWN0b3I8L2xpPgo8L3VsPjwvZGl2Pgo8aDMgY2xhc3M9InR0bDMiPjHvvI5PdXIgUm9sZSBhcyBDb250cm9sbGVyIC8gUHJvY2Vzc29yIChDb21tb24gdG8gQWxsIEVkaXRpb25zKTwvaDM+CjxkaXYgY2xhc3M9InR4dDIiPgo8cD5EZXBlbmRpbmcgb24gdGhlIHVzZSBvZiB0aGUgUHJvZHVjdCwgdGhlIENvbXBhbnkgbWF5IHByb2Nlc3MgcGVyc29uYWwgaW5mb3JtYXRpb24gaW4gZWl0aGVyIG9mIHRoZSBmb2xsb3dpbmcgY2FwYWNpdGllcy48L3A+CjxwPigxKSBQcm9jZXNzb3IgKHdoZW4gdGhlIGN1c3RvbWVyIGVudHJ1c3RzIHRoZSBQcm9kdWN0IHRvIHVzKTxiciAvPgogICAgICAgICAgICAgIFdoZW4gdGhlIFByb2R1Y3QgaGFuZGxlcyBjb252ZXJzYXRpb24gZGF0YSwgc3VjaCBhcyBtZWV0aW5nIGF1ZGlvLCB0cmFuc2NyaXB0cywgdHJhbnNsYXRpb25zLCBjb3JyZWN0aW9ucywgYW5kIHN1bW1hcmllcyAoY29sbGVjdGl2ZWx5IOKAnENvbnZlcnNhdGlvbiBEYXRh4oCdKSwgdGhlIGNvbnRyYWN0aW5nIG9yZ2FuaXphdGlvbiAoY3VzdG9tZXIgY29tcGFueSBvciBvcmdhbml6YXRpb24pIHR5cGljYWxseSBhY3RzIGFzIHRoZSBDb250cm9sbGVyLCBhbmQgdGhlIENvbXBhbnkgYWN0cyBhcyBhIFByb2Nlc3Nvci48YnIgLz5JbiBzdWNoIGNhc2VzLCB0aGUgQ29tcGFueSBwcm9jZXNzZXMgdGhlIGRhdGEgb25seSB3aXRoaW4gdGhlIHNjb3BlIG9mIHRoZSBjdXN0b21lcuKAmXMgaW5zdHJ1Y3Rpb25zIGFuZCBhcHBsaWNhYmxlIGFncmVlbWVudHMgKGluY2x1ZGluZyBEUEEpLjxiciAvPkFzIHN0YXRlZCBpbiB0aGUgQ29tcGFueeKAmXMgZ2VuZXJhbCBwZXJzb25hbCBpbmZvcm1hdGlvbiBwcm90ZWN0aW9uIHBvbGljeSwgdGhlIENvbXBhbnkgbWF5IG5vdCBiZSBhYmxlIHRvIGluZGVwZW5kZW50bHkgcmVzcG9uZCB0byByZXF1ZXN0cyBmb3IgZGlzY2xvc3VyZSBpbiBzdWNoIGNhc2VzLjwvcD4KPHA+KDIpIEluZm9ybWF0aW9uIGhhbmRsZWQgYXMgQ29udHJvbGxlcjxiciAvPgogICAgICAgICAgICAgIE9uIHRoZSBvdGhlciBoYW5kLCB0aGUgQ29tcGFueSBtYXkgYWN0IGFzIGEgQ29udHJvbGxlciB3aGVuIGhhbmRsaW5nIGNvbnRhY3QgaW5mb3JtYXRpb24gYW5kIHNpbWlsYXIgZGF0YSBvYnRhaW5lZCBmb3I6CiAgICAgICAgICAgIDwvcD4KPHVsIGNsYXNzPSJpYyI+CjxsaT5jb250cmFjdCBtYW5hZ2VtZW50PC9saT4KPGxpPmJpbGxpbmcgYW5kIHBheW1lbnQgbWFuYWdlbWVudCAoc3VjaCBhcyBpbnZvaWNlIGlzc3VhbmNlKTwvbGk+CjxsaT5yZXNwb25kaW5nIHRvIGlucXVpcmllczwvbGk+CjwvdWw+CjxwPlN1Y2ggaGFuZGxpbmcgc2hhbGwgZm9sbG93IHRoZSBDb21wYW554oCZcyBnZW5lcmFsIHByaXZhY3kgcG9saWN5LjwvcD4KPC9wPjwvZGl2Pgo8aDMgY2xhc3M9InR0bDMiPjLvvI5DYXRlZ29yaWVzIG9mIEluZm9ybWF0aW9uIFByb2Nlc3NlZCBpbiB0aGUgUHJvZHVjdCAoQ29tbW9uIHRvIEFsbCBFZGl0aW9ucyk8L2gzPgo8ZGl2IGNsYXNzPSJ0eHQyIj4KPHA+VGhlIFByb2R1Y3QgbWFpbmx5IGhhbmRsZXMgdGhlIGZvbGxvd2luZyBjYXRlZ29yaWVzIG9mIGluZm9ybWF0aW9uOjwvcD4KPHVsIGNsYXNzPSJpYyI+CjxsaT5BdXRoZW50aWNhdGlvbiBhbmQgZGlzcGxheSBpbmZvcm1hdGlvbjxiciAvPihhY2NvdW50cywgZGlzcGxheSBuYW1lcywgZW1haWwgYWRkcmVzc2VzKTwvbGk+CjxsaT5UZW5hbnQtcmVsYXRlZCBpbmZvcm1hdGlvbjxiciAvPihpbnRlZ3JhdGlvbiBzZXR0aW5ncyBzdWNoIGFzIFRlbmFudCBJRCk8L2xpPgo8bGk+Q29udmVyc2F0aW9uIERhdGE8YnIgLz4oYXVkaW8sIHRyYW5zY3JpcHRzLCB0cmFuc2xhdGlvbiByZXN1bHRzLCBjb252ZXJzYXRpb24gaGlzdG9yeSwgdGV4dHMgc3ViamVjdCB0byBjb3JyZWN0aW9uIG9yIHN1bW1hcml6YXRpb24pPC9saT4KPGxpPkNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb248YnIgLz4od29yZCBjb252ZXJzaW9uIHJ1bGUgZmlsZXMsIEF6dXJlIEFJIFNlcnZpY2VzIEFQSSBrZXlzLCByZWdpb24gaW5mb3JtYXRpb24pPC9saT4KPGxpPkxvZ3MgZm9yIG9wZXJhdGlvbiBhbmQgbWFpbnRlbmFuY2U8YnIgLz4oYXBwbGljYXRpb24gbG9ncywgZXJyb3IgbG9ncywgYXV0aGVudGljYXRpb24gbG9ncyk8L2xpPgo8L3VsPgo8dWwgY2xhc3M9Im5vdGUiPgo8bGk+Tm90Ze+8mjxiciAvPkxvZ3MgYW5kIGRhdGEgc3RvcmVkIGJ5IHRoZSBDb21wYW55IGZvciB0aGUgcHJvdmlzaW9uIG9mIHRoZSBQcm9kdWN0IGRvIG5vdCBpbmNsdWRlIGRldmljZSBpZGVudGlmaWVycyBvciBJUCBhZGRyZXNzZXMuPGJyIC8+KENvb2tpZSB1c2FnZSBmb3IgdGhlIFdlYi9UZWFtcyBlZGl0aW9uIGFuZCBSVFQgUG9ydGFsIGlzIGRlc2NyaWJlZCBsYXRlci4pPC9saT4KPC91bD48L2Rpdj4KPGgzIGNsYXNzPSJ0dGwzIj4z77yOU2VjdXJpdHkgTWVhc3VyZXMgKENvbW1vbiB0byBBbGwgRWRpdGlvbnMpPC9oMz4KPGRpdiBjbGFzcz0idHh0MiI+CjxwPkFzIGRlc2NyaWJlZCBpbiB0aGUgQ29tcGFueeKAmXMgZ2VuZXJhbCBwcml2YWN5IHBvbGljeSwgdGhlIENvbXBhbnkgaW1wbGVtZW50cyBjb250aW51b3VzIG9yZ2FuaXphdGlvbmFsIGFuZCB0ZWNobmljYWwgbWVhc3VyZXMsIGluY2x1ZGluZzo8L3A+Cjx1bCBjbGFzcz0iaWMiPgo8bGk+b3BlcmF0aW9uIGluIGNvbXBsaWFuY2Ugd2l0aCBQZXJzb25hbCBJbmZvcm1hdGlvbiBQcm90ZWN0aW9uIE1hbmFnZW1lbnQgU3lzdGVtIChKSVMgUSAxNTAwMSk8L2xpPgo8bGk+aW5mb3JtYXRpb24gc2VjdXJpdHkgbWFuYWdlbWVudCBiYXNlZCBvbiBJU01TIChJU08vSUVDIDI3MDAxKTwvbGk+CjwvdWw+PC9kaXY+CjxoMyBjbGFzcz0idHRsMyI+NO+8jkNsb3VkIFNlcnZpY2VzIGFuZCBEYXRhIENlbnRlciBMb2NhdGlvbnMgKENvbW1vbiB0byBBbGwgRWRpdGlvbnMpPC9oMz4KPGRpdiBjbGFzcz0idHh0MiI+Cjx1bCBjbGFzcz0iaWMiPgo8bGk+VGhlIFByb2R1Y3QgaXMgcHJvdmlkZWQgdXNpbmcgTWljcm9zb2Z0IEF6dXJlLjwvbGk+CjxsaT5UaGUgcHJpbWFyeSBkYXRhIGNlbnRlciB1c2VkIGlzIE1pY3Jvc29mdCBBenVyZSBKYXBhbiBFYXN0IHJlZ2lvbi48L2xpPgo8L3VsPgo8cCBzdHlsZT0icGFkZGluZy10b3A6IDEuNWVtOyI+SG93ZXZlciwgd2hlbiBhZHZhbmNlZCBzZXJ2aWNlcyBhcmUgdXNlZCAoc3VjaCBhcyBmZWF0dXJlcyB1c2luZyBBenVyZSBPcGVuQUkgZm9yIGNvcnJlY3Rpb24gb3Igc3VtbWFyaXphdGlvbiksIG92ZXJzZWFzIGRhdGEgY2VudGVycyAoc3VjaCBhcyB0aG9zZSBpbiBOb3J0aCBBbWVyaWNhKSBtYXkgYmUgdXNlZC48YnIgLz5JZiBpbmZvcm1hdGlvbiByZWdhcmRpbmcgdGhlIGRlc3RpbmF0aW9uIGNvdW50cnkvcmVnaW9uIG9yIHNlcnZpY2UgcHJvdmlkZXJzIGlzIHJlcXVpcmVkLCBwbGVhc2UgY29udGFjdCB0aGUgQ29tcGFueeKAmXMgcGVyc29uYWwgaW5mb3JtYXRpb24gaW5xdWlyeSBkZXNrLjwvcD4KPC9wPjwvZGl2Pgo8aDMgY2xhc3M9InR0bDMiPjXvvI5Vc2Ugb2YgTWljcm9zb2Z0IFNlcnZpY2VzIGFuZCBTZWNvbmRhcnkgVXNlIG9mIERhdGEgKENvbW1vbiB0byBBbGwgRWRpdGlvbnMpPC9oMz4KPGRpdiBjbGFzcz0idHh0MiI+CjxwPkluIHByb3ZpZGluZyB0aGUgUHJvZHVjdCwgdGhlIENvbXBhbnkgbWF5IHVzZSBNaWNyb3NvZnTigJlzIHBhaWQgc2VydmljZXMsIGluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG86PC9wPgo8dWwgY2xhc3M9ImljIj4KPGxpPlNwZWVjaCBTZXJ2aWNlczwvbGk+CjxsaT5TcGVlY2ggdG8gVHJhbnNsYXRlPC9saT4KPGxpPlRyYW5zbGF0b3I8L2xpPgo8bGk+VGV4dCB0byBUZXh0PC9saT4KPGxpPkF6dXJlIE9wZW5BSSAod2hlcmUgYXBwbGljYWJsZSk8L2xpPgo8L3VsPgo8cD5UaGUgQ29tcGFueSBzZWxlY3RzIGNvbnRyYWN0dWFsIHNlcnZpY2Ugb2ZmZXJpbmdzIHVuZGVyIHdoaWNoIGRhdGEgb2YgdGhlIENvbXBhbnkgYW5kIGl0cyBjdXN0b21lcnMgaXMgbm90IHVzZWQgZm9yIHNlY29uZGFyeSBwdXJwb3Nlcywgc3VjaCBhczo8L3A+Cjx1bCBjbGFzcz0iaWMiPgo8bGk+bW9kZWwgdHJhaW5pbmc8L2xpPgo8bGk+bWFya2V0aW5nPC9saT4KPC91bD4KPHA+VGhlIENvbXBhbnkgY29uZmlybXMgdGhlc2UgY29uZGl0aW9ucyB0aHJvdWdoIHB1YmxpY2x5IGF2YWlsYWJsZSBpbmZvcm1hdGlvbiBmcm9tIHRoZSBwcm92aWRlciBhbmQgdGhyb3VnaCBzdXBwb3J0IGNoYW5uZWxzLjwvcD4KPC9wPjwvZGl2Pgo8aDMgY2xhc3M9InR0bDMiPjbvvI5IYW5kbGluZyBieSBFZGl0aW9uPC9oMz4KPG9sPgo8bGk+CjxoNCBjbGFzcz0idHRsNCI+Ni0x77yORGVza3RvcCBFZGl0aW9uIChSZWFsIFRpbWUgVHJhbnNsYXRvciBEZXNrdG9wKTwvaDQ+CjxoNSBjbGFzcz0idHRsNCI+Ni0xLTHvvI5JbmZvcm1hdGlvbiBDb2xsZWN0ZWQgYW5kIFB1cnBvc2Ugb2YgVXNlPC9oNT4KPHA+VGhlIENvbXBhbnkgcHJvY2Vzc2VzIHRoZSBmb2xsb3dpbmcgaW5mb3JtYXRpb24gdG8gdGhlIGV4dGVudCBuZWNlc3NhcnkgZm9yIHByb3ZpZGluZyB0aGlzIGVkaXRpb24uPC9wPgo8dGFibGUgY2xhc3M9InRhYmxlMSI+Cjx0Ym9keT4KPHRyPgo8dGggc3R5bGU9IndpZHRoOiAzMCU7Ij4oQSkgQXV0aGVudGljYXRpb24gYW5kIGRpc3BsYXk8L3RoPgo8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIOODu01pY3Jvc29mdCAzNjUgYWNjb3VudDxiciAvPkF1dGhlbnRpY2F0aW9uIG9mIGNvbnRyYWN0IGluZm9ybWF0aW9uIGFuZCBhc3NvY2lhdGlvbiB3aXRoIGNoYXQgcm9vbXM8YnIgLz4KICAgICAgICAgICAgICAgICAgICAgICAg44O7TWljcm9zb2Z0IDM2NSBkaXNwbGF5IG5hbWU8YnIgLz5TY3JlZW4gZGlzcGxheSBkdXJpbmcgbG9naW4gYW5kIGNoYXQgd2luZG93IGRpc3BsYXk8YnIgLz4KICAgICAgICAgICAgICAgICAgICAgICAg44O7RW1haWwgYWRkcmVzczxiciAvPkF1dGhlbnRpY2F0aW9uIG9mIGNvbnRyYWN0IGluZm9ybWF0aW9uIGFuZCBjaGF0IHJvb20gYXNzb2NpYXRpb248YnIgLz4KICAgICAgICAgICAgICAgICAgICAgICAg44O7RW1haWwgYWRkcmVzcyAoUlRUIFBvcnRhbCB1c2VybmFtZSk8YnIgLz5EaXNwbGF5IGR1cmluZyBsb2dpbiBhbmQgY2hhdCB3aW5kb3cgZGlzcGwKICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CjwvdHI+Cjx0cj4KPHRoPihCKSBUZW5hbnQgcmVsYXRlZCBpbmZvcm1hdGlvbjwvdGg+Cjx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAg44O7VGVuYW50IElEPGJyIC8+SWRlbnRpZmljYXRpb24gb2YgdGhlIGNvbnRyYWN0aW5nIHRlbmFudCBhbmQgTWljcm9zb2Z0IDM2NSBpbnRlZ3JhdGlvbiBjb25maWd1cmF0aW9uCiAgICAgICAgICAgICAgICAgICAgICA8L3RkPgo8L3RyPgo8dHI+Cjx0aD4oQykgQ29udmVyc2F0aW9uIGRhdGE8L3RoPgo8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIOODu1VzZXIgYXVkaW88YnIgLz5Gb3Igc3BlZWNoLXRvLXRleHQgY29udmVyc2lvbiBhbmQgdHJhbnNsYXRpb248YnIgLz4KICAgICAgICAgICAgICAgICAgICAgICAg44O7Q29udmVyc2F0aW9uIGxvZ3MgKHRyYW5zY3JpcHRzIGFuZCB0cmFuc2xhdGlvbiByZXN1bHRzKTxiciAvPkZvciBzY3JlZW4gZGlzcGxheSwgaGlzdG9yeSBleHBvcnQsIGFuZCBvcHRpb25hbCBjb3JyZWN0aW9uIG9yIHN1bW1hcml6YXRpb24KICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CjwvdHI+Cjx0cj4KPHRoPihEKSBDb25maWd1cmF0aW9uIGluZm9ybWF0aW9uPC90aD4KPHRkPgogICAgICAgICAgICAgICAgICAgICAgICDjg7tXb3JkIGNvbnZlcnNpb24gcnVsZSBmaWxlczxiciAvPkZvciBjb252ZXJ0aW5nIHJlY29nbml6ZWQgdGV4dCBpbnRvIHNwZWNpZmllZCB0ZXJtczxiciAvPgogICAgICAgICAgICAgICAgICAgICAgICDjg7tBenVyZSBBSSBTZXJ2aWNlcyBBUEkga2V5IGFuZCByZWdpb24gaW5mb3JtYXRpb248YnIgLz5Gb3Igc3BlZWNoIHJlY29nbml0aW9uIGFuZCB0cmFuc2xhdGlvbgogICAgICAgICAgICAgICAgICAgICAgPC90ZD4KPC90cj4KPHRyPgo8dGg+KEUpIE9wZXJhdGlvbiBhbmQgbWFpbnRlbmFuY2U8L3RoPgo8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIOODu0FwcGxpY2F0aW9uIGxvZ3MgLyBlcnJvciBsb2dzIC8gYXV0aGVudGljYXRpb24gbG9nczxiciAvPkZvciB0cm91Ymxlc2hvb3RpbmcsIG1haW50ZW5hbmNlLCBhbmQgc2VjdXJpdHk8YnIgLz4KICAgICAgICAgICAgICAgICAgICAgICAg44O7Q2hhdCByb29tIHBhcnRpY2lwYXRpb24gaW5mb3JtYXRpb248YnIgLz5Gb3Igc2VydmljZSBwcm92aXNpb24KICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CjwvdHI+CjwvdGJvZHk+CjwvdGFibGU+CjxkaXYgY2xhc3M9InR4dDIiPgo8aDUgY2xhc3M9InR0bDQiPjYtMS0y77yOR2VuZXJhdGl2ZSBBSSBDb3JyZWN0aW9uIGFuZCBTdW1tYXJpemF0aW9uPC9oNT4KPHA+VGhpcyBlZGl0aW9uIG1heSBwcm92aWRlIGZlYXR1cmVzIHVzaW5nIGdlbmVyYXRpdmUgQUkgKHN1Y2ggYXMgQXp1cmUgT3BlbkFJKSBpbmNsdWRpbmc6PC9wPgo8dWwgY2xhc3M9ImljIj4KPGxpPnRyYW5zY3JpcHQgY29ycmVjdGlvbjwvbGk+CjxsaT5jb252ZXJzYXRpb24gc3VtbWFyeSBnZW5lcmF0aW9uPC9saT4KPC91bD4KPHA+SW4gc3VjaCBjYXNlcywgY29udmVyc2F0aW9uIGhpc3RvcnkgKHRyYW5zY3JpcHRzIGFuZCB0cmFuc2xhdGlvbnMpIG1heSBiZSB0cmFuc21pdHRlZCBmb3IgQUkgcHJvY2Vzc2luZy48YnIgLz5UaGUgQ29tcGFueSBkb2VzIG5vdCB1c2UgY29udmVyc2F0aW9uIGRhdGEgZm9yIGluZGVwZW5kZW50IHB1cnBvc2VzIHN1Y2ggYXMgYW5hbHlzaXMsIG1vZGVsIHRyYWluaW5nLCBvciBtYXJrZXRpbmcuPC9wPgo8L3A+PC9kaXY+CjxkaXYgY2xhc3M9InR4dDIiPgo8aDUgY2xhc3M9InR0bDQiPjYtMS0z77yORGF0YSBTdG9yYWdlIExvY2F0aW9uczwvaDU+Cjx1bCBjbGFzcz0iaWMiIHN0eWxlPSJtYXJnaW4tdG9wOiAwOyI+CjxsaT5Db252ZXJzYXRpb24gbG9nczogTG9jYWwgUEM8L2xpPgo8bGk+T3V0cHV0IGZpbGVzIHN1Y2ggYXMgc3VtbWFyaWVzOiBMb2NhbCBQQzwvbGk+CjxsaT5BenVyZSBBSSBTZXJ2aWNlcyBBUEkga2V5czogQXp1cmUgZGF0YWJhc2Ugc2VydmVyPC9saT4KPGxpPkFwcGxpY2F0aW9uIGxvZ3MgLyBlcnJvciBsb2dzIC8gYXV0aGVudGljYXRpb24gbG9nczogQXp1cmUgc2VydmVyczwvbGk+CjxsaT5DaGF0IHJvb20gcGFydGljaXBhdGlvbiBpbmZvcm1hdGlvbjogQXp1cmUgc2VydmVyczwvbGk+CjwvdWw+PC9kaXY+CjxkaXYgY2xhc3M9InR4dDIiPgo8aDUgY2xhc3M9InR0bDQiPjYtMS0077yOUmV0ZW50aW9uIFBlcmlvZCBhbmQgRGVsZXRpb248L2g1Pgo8dWwgY2xhc3M9ImljIiBzdHlsZT0ibWFyZ2luLXRvcDogMDsiPgo8bGk+Q29udmVyc2F0aW9uIGxvZ3Mgc3RvcmVkIG9uIGxvY2FsIFBDcyBzaG91bGQgYmUgZGVsZXRlZCBhY2NvcmRpbmcgdG8gdGhlIHBvbGljaWVzIG9mIHRoZSB1c2VyIG9yIGNvbnRyYWN0aW5nIG9yZ2FuaXphdGlvbi48L2xpPgo8bGk+QXp1cmUgbG9ncyBhcmUgcmV0YWluZWQgb25seSBmb3IgdGhlIG1pbmltdW0gcGVyaW9kIG5lY2Vzc2FyeSBmb3Igc3RhYmxlIG9wZXJhdGlvbiBhbmQgdHJvdWJsZXNob290aW5nIGFuZCBhcmUgYXV0b21hdGljYWxseSBkZWxldGVkIGFmdGVyIGFwcHJveGltYXRlbHkgNyBtb250aHMuPC9saT4KPC91bD4KPHAgc3R5bGU9InBhZGRpbmctdG9wOiAxLjVlbTsiPldoZXJlIGxlZ2FsIG9ibGlnYXRpb25zIHJlcXVpcmUgbG9uZ2VyIHJldGVudGlvbiwgdGhvc2UgcmVxdWlyZW1lbnRzIHRha2UgcHJlY2VkZW5jZS48YnIgLz5PbmNlIGRlbGV0ZWQsIGRhdGEgY2Fubm90IGJlIHJlc3RvcmVkLjwvcD4KPC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0eHQyIj4KPGg1IGNsYXNzPSJ0dGw0Ij42LTEtNe+8jkNvb2tpZXM8L2g1Pgo8cD5UaGUgRGVza3RvcCBlZGl0aW9uIGRvZXMgbm90IHJlbHkgb24gYnJvd3NlciBjb29raWVzLjwvcD4KPC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0eHQyIj4KPGg1IGNsYXNzPSJ0dGw0Ij42LTEtNu+8jlJlcXVlc3RzIGZvciBEaXNjbG9zdXJlPC9oNT4KPHA+Q29udmVyc2F0aW9uIGRhdGEgaGFuZGxlZCBhcyBQcm9jZXNzb3Igc2hvdWxkIGJlIHJlcXVlc3RlZCB0aHJvdWdoIHRoZSBDb250cm9sbGVyIChjdXN0b21lciBvcmdhbml6YXRpb24pLjxiciAvPkZvciBpbmZvcm1hdGlvbiBoYW5kbGVkIGFzIENvbnRyb2xsZXIgKHN1Y2ggYXMgYmlsbGluZyBvciBjb250cmFjdCBtYW5hZ2VtZW50KSwgcmVxdWVzdHMgYXJlIGhhbmRsZWQgYWNjb3JkaW5nIHRvIHRoZSBDb21wYW554oCZcyBnZW5lcmFsIHByaXZhY3kgcG9saWN5LjwvcD4KPC9wPjwvZGl2Pgo8L2xpPgo8bGk+CjxoNCBjbGFzcz0idHRsNCI+Ni0y77yOV2ViIEVkaXRpb24gLyBUZWFtcyBFZGl0aW9uPC9oND4KPGRpdiBjbGFzcz0idHh0MiI+CjxoNSBjbGFzcz0idHRsNCI+Ni0yLTHvvI5JbmZvcm1hdGlvbiBDb2xsZWN0ZWQ8L2g1Pgo8cD5UaGUgQ29tcGFueSBtYXkgcHJvY2VzcyB0aGUgZm9sbG93aW5nIGluZm9ybWF0aW9uOjwvcD4KPHVsIGNsYXNzPSJpYyI+CjxsaT5NaWNyb3NvZnQgMzY1IGFjY291bnQgLyBkaXNwbGF5IG5hbWU8L2xpPgo8bGk+ZW1haWwgYWRkcmVzczwvbGk+CjxsaT50ZW5hbnQgSUQ8L2xpPgo8bGk+cGFydGljaXBhbnQgYXVkaW88L2xpPgo8bGk+Y29udmVyc2F0aW9uIGxvZ3M8L2xpPgo8bGk+Z3Vlc3QgZW1haWwgYWRkcmVzc2VzICh3aGVuIHVzaW5nIGd1ZXN0IGludml0YXRpb24gZmVhdHVyZXMpPC9saT4KPGxpPkF6dXJlIEFJIFNlcnZpY2VzIEFQSSBrZXlzPC9saT4KPGxpPm9wZXJhdGlvbmFsIGxvZ3M8L2xpPgo8L3VsPjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0eHQyIj4KPGg1IGNsYXNzPSJ0dGw0Ij42LTItMu+8jkdlbmVyYXRpdmUgQUkgRmVhdHVyZXM8L2g1Pgo8cD5Db3JyZWN0aW9uIGFuZCBzdW1tYXJpemF0aW9uIGZlYXR1cmVzIG1heSBhbHNvIGJlIHByb3ZpZGVkIHVzaW5nIGdlbmVyYXRpdmUgQUkuPGJyIC8+SGFuZGxpbmcgaXMgdGhlIHNhbWUgYXMgZGVzY3JpYmVkIGZvciB0aGUgRGVza3RvcCBlZGl0aW9uLjxiciAvPkNvbnZlcnNhdGlvbiBkYXRhIGlzIG5vdCByZXVzZWQgYnkgdGhlIENvbXBhbnkuPC9wPgo8L3A+PC9kaXY+CjxkaXYgY2xhc3M9InR4dDIiPgo8aDUgY2xhc3M9InR0bDQiPjYtMi0z77yOQ29udmVyc2F0aW9uIExvZyBTdG9yYWdlIFBhdHRlcm5zIChJbXBvcnRhbnQpPC9oNT4KPHA+VHdvIHN0b3JhZ2UgcGF0dGVybnMgZXhpc3QuPC9wPgo8cD5QYXR0ZXJuIDE8YnIgLz5Db252ZXJzYXRpb24gbG9ncyBzdG9yZWQgZm9yIHdlYiBicm93c2VyIHZpZXdpbmcuPC9wPgo8dWwgY2xhc3M9ImljIiBzdHlsZT0ibWFyZ2luLXRvcDogMDsiPgo8bGk+U3RvcmVkIGluIEF6dXJlIGRhdGFiYXNlIHNlcnZlcnM8L2xpPgo8bGk+UmV0ZW50aW9uIHBlcmlvZCBmb2xsb3dzIGN1c3RvbWVyIGluc3RydWN0aW9uczwvbGk+CjwvdWw+CjxwPlBhdHRlcm4gMjxiciAvPkNTViBkb3dubG9hZCBwZXIgbWVldGluZy9jaGF0IHJvb20uPC9wPgo8dWwgY2xhc3M9ImljIiBzdHlsZT0ibWFyZ2luLXRvcDogMDsiPgo8bGk+TGljZW5zZWQgcGFydGljaXBhbnRzIG1heSBkb3dubG9hZCBsb2dzIHRvIHRoZWlyIG93biBQQ3MuPC9saT4KPGxpPkFmdGVyIGJyb3dzZXIgc2Vzc2lvbnMgZW5kLCB0ZW1wb3JhcnkgbWVtb3J5IGRhdGEgaW4gQXp1cmUgaXMgZGVsZXRlZC48L2xpPgo8L3VsPgo8cD5Eb3dubG9hZGVkIENTViBmaWxlcyBhcmUgbWFuYWdlZCB1bmRlciB0aGUgY3VzdG9tZXLigJlzIGludGVybmFsIGdvdmVybmFuY2UuPC9wPgo8L3A+PC9kaXY+CjxkaXYgY2xhc3M9InR4dDIiPgo8aDUgY2xhc3M9InR0bDQiPjYtMi0077yORGF0YSBTdG9yYWdlIExvY2F0aW9uczwvaDU+Cjx1bCBjbGFzcz0iaWMiIHN0eWxlPSJtYXJnaW4tdG9wOiAwOyI+CjxsaT5BenVyZSBBSSBTZXJ2aWNlcyBBUEkga2V5czogQXp1cmUgZGF0YWJhc2Ugc2VydmVyczwvbGk+CjxsaT5sb2dzOiBBenVyZSBzZXJ2ZXJzPC9saT4KPGxpPmNoYXQgcm9vbSBwYXJ0aWNpcGF0aW9uIGRhdGE6IEF6dXJlIHNlcnZlcnM8L2xpPgo8L3VsPjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0eHQyIj4KPGg1IGNsYXNzPSJ0dGw0Ij42LTItNe+8jlJldGVudGlvbjwvaDU+Cjx1bCBjbGFzcz0iaWMiIHN0eWxlPSJtYXJnaW4tdG9wOiAwOyI+CjxsaT5QYXR0ZXJuIDEgbG9ncyBmb2xsb3cgY3VzdG9tZXIgaW5zdHJ1Y3Rpb25zPC9saT4KPGxpPlBhdHRlcm4gMiBsb2dzIGFyZSBtYW5hZ2VkIGJ5IHRoZSBjdXN0b21lcjwvbGk+CjxsaT5sb2dzIHN0b3JlZCBieSB0aGUgQ29tcGFueSBhcmUgcmV0YWluZWQgZm9yIGFwcHJveGltYXRlbHkgNyBtb250aHM8L2xpPgo8L3VsPjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0eHQyIj4KPGg1IGNsYXNzPSJ0dGw0Ij42LTItNu+8jkNvb2tpZXM8L2g1Pgo8cD5Gb3IgYnJvd3Nlci1iYXNlZCB1c2FnZSwgY29va2llcyBtYXkgYmUgdXNlZCBmb3I6PC9wPgo8dWwgY2xhc3M9ImljIj4KPGxpPm1haW50YWluaW5nIGxvZ2luIHNlc3Npb25zPC9saT4KPGxpPnNlY3VyaXR5PC9saT4KPGxpPmNvbmZpZ3VyYXRpb24gcmV0ZW50aW9uPC9saT4KPC91bD4KPHA+U2VlIHRoZSBDb21wYW554oCZcyBnZW5lcmFsIHByaXZhY3kgcG9saWN5IGZvciBjb29raWUgZGV0YWlscy48YnIgLz5Mb2dzIHN0b3JlZCBieSB0aGUgQ29tcGFueSBkbyBub3QgaW5jbHVkZSBkZXZpY2UgaWRlbnRpZmllcnMgb3IgSVAgYWRkcmVzc2VzLjwvcD4KPC9wPjwvZGl2Pgo8L2xpPgo8bGk+CjxoNCBjbGFzcz0idHRsNCI+Ni0z77yOUlRUIFBvcnRhbDwvaDQ+CjxwPlJUVCBQb3J0YWwgaXMgYSBtYW5hZ2VtZW50IGludGVyZmFjZSB1c2VkIHRvIG1hbmFnZTo8L3A+Cjx1bCBjbGFzcz0iaWMiPgo8bGk+Y29udHJhY3QgaW5mb3JtYXRpb248L2xpPgo8bGk+dXNlciBpbmZvcm1hdGlvbjwvbGk+CjxsaT5jb25maWd1cmF0aW9uIHNldHRpbmdzPC9saT4KPC91bD4KPGRpdiBjbGFzcz0idHh0MiI+CjxoNSBjbGFzcz0idHRsNCI+Ni0zLTHvvI5Db21wYW55IFJvbGU8L2g1Pgo8cD5Qb3J0YWwgZGF0YSBtYXkgYmUgaGFuZGxlZCB1bmRlciB0d28gcm9sZXMuPC9wPgo8dWwgY2xhc3M9ImljIj4KPGxpPihBKSBDb250cm9sbGVyPGJyIC8+SW5mb3JtYXRpb24gZm9yIGNvbnRyYWN0IG1hbmFnZW1lbnQgYW5kIGNvbW11bmljYXRpb24uPC9saT4KPGxpPihCKSBQcm9jZXNzb3I8YnIgLz5Vc2VyIGFuZCBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIHJlZ2lzdGVyZWQgYnkgY3VzdG9tZXJzLjwvbGk+CjwvdWw+PC9kaXY+CjxoNSBjbGFzcz0idHRsNCI+Ni0zLTLvvI5JbmZvcm1hdGlvbiBDb2xsZWN0ZWQ8L2g1Pgo8dGFibGUgY2xhc3M9InRhYmxlMSIgc3R5bGU9Im1hcmdpbi10b3A6IDA7Ij4KPHRib2R5Pgo8dHI+Cjx0aCBzdHlsZT0id2lkdGg6IDQwJTsiPihBKSBDb250cmFjdCBtYW5hZ2VtZW50PC90aD4KPHRkPgogICAgICAgICAgICAgICAgICAgICAgICDjg7tjb21wYW55IG5hbWU8YnIgLz4KICAgICAgICAgICAgICAgICAgICAgICAg44O7Y29udGFjdCBlbWFpbCBhZGRyZXNzPGJyIC8+CiAgICAgICAgICAgICAgICAgICAgICAgIOODu2NvbnRyYWN0ZWQgZWRpdGlvbjxiciAvPgogICAgICAgICAgICAgICAgICAgICAgICDjg7tjb250cmFjdCBwZXJpb2Q8YnIgLz4KICAgICAgICAgICAgICAgICAgICAgICAg44O7UlRUIHVzYWdlIHRpbWU8L3RkPgo8L3RyPgo8dHI+Cjx0aD4oQikgVXNlciBhdXRoZW50aWNhdGlvbiBhbmQgY29uZmlndXJhdGlvbjwvdGg+Cjx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAg44O7TWljcm9zb2Z0IDM2NSBhY2NvdW50IG9yIGVtYWlsPGJyIC8+CiAgICAgICAgICAgICAgICAgICAgICAgIOODu3BvcnRhbCB1c2VybmFtZTxiciAvPgogICAgICAgICAgICAgICAgICAgICAgICDjg7t0ZW5hbnQgSUQ8YnIgLz4KICAgICAgICAgICAgICAgICAgICAgICAg44O7dXNlciBpbmZvcm1hdGlvbiAoZ3JvdXBzIGV0Yy4pPGJyIC8+CiAgICAgICAgICAgICAgICAgICAgICAgIOODu2VuY3J5cHRlZCBBenVyZSBBSSBTZXJ2aWNlcyBBUEkga2V5cwogICAgICAgICAgICAgICAgICAgICAgPC90ZD4KPC90cj4KPHRyPgo8dGg+KEMpIE9wZXJhdGlvbiBhbmQgbWFpbnRlbmFuY2U8L3RoPgo8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIOODu0FwcGxpY2F0aW9uIGxvZ3MgLyBlcnJvciBsb2dzIC8gYXV0aGVudGljYXRpb24gbG9ncyA8YnIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgRm9yIHRyb3VibGVzaG9vdGluZywgbWFpbnRlbmFuY2UsIGFuZCBzZWN1cml0eQogICAgICAgICAgICAgICAgICAgICAgPC90ZD4KPC90cj4KPC90Ym9keT4KPC90YWJsZT4KPGRpdiBjbGFzcz0idHh0MiI+CjxoNSBjbGFzcz0idHRsNCI+Ni0zLTPvvI5EYXRhIFN0b3JhZ2U8L2g1Pgo8cD5BbGwgcG9ydGFsIGluZm9ybWF0aW9uIGlzIHN0b3JlZCBpbjo8L3A+Cjx1bCBjbGFzcz0iaWMiPgo8bGk+QXp1cmUgZGF0YWJhc2Ugc2VydmVyczwvbGk+CjxsaT5BenVyZSBhcHBsaWNhdGlvbiBzZXJ2ZXJzPC9saT4KPC91bD4KPHA+TG9ncyBhcmUgc3RvcmVkIG9uIEF6dXJlIHNlcnZlcnMuPC9wPgo8L3A+PC9kaXY+CjxkaXYgY2xhc3M9InR4dDIiPgo8aDUgY2xhc3M9InR0bDQiPjYtMy0077yOUmV0ZW50aW9uPC9oNT4KPHVsIGNsYXNzPSJpYyIgc3R5bGU9Im1hcmdpbi10b3A6IDA7Ij4KPGxpPkNvbnRyYWN0IG1hbmFnZW1lbnQgaW5mb3JtYXRpb246IHJldGFpbmVkIGR1cmluZyB0aGUgY29udHJhY3QgcGVyaW9kIGFuZCA3IG1vbnRocyBhZnRlciB0ZXJtaW5hdGlvbjwvbGk+CjxsaT5Vc2VyL2NvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb246IHJldGFpbmVkIGFjY29yZGluZyB0byBjdXN0b21lciBpbnN0cnVjdGlvbnM8L2xpPgo8bGk+bG9nczogcmV0YWluZWQgZm9yIGFwcHJveGltYXRlbHkgNyBtb250aHM8L2xpPgo8L3VsPgo8cD5EZWxldGVkIGRhdGEgY2Fubm90IGJlIHJlc3RvcmVkLjwvcD4KPC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0eHQyIj4KPGg1IGNsYXNzPSJ0dGw0Ij42LTMtNe+8jkNvb2tpZXM8L2g1Pgo8cD5SVFQgUG9ydGFsIHVzZXMgY29va2llcyBmb3I6PC9wPgo8dWwgY2xhc3M9ImljIj4KPGxpPnNlc3Npb24gbWFuYWdlbWVudDwvbGk+CjxsaT5zZWN1cml0eTwvbGk+CjxsaT5jb25maWd1cmF0aW9uIHJldGVudGlvbjwvbGk+CjwvdWw+CjxwPkxvZ3Mgc3RvcmVkIGJ5IHRoZSBDb21wYW55IGRvIG5vdCBpbmNsdWRlIGRldmljZSBpZGVudGlmaWVycyBvciBJUCBhZGRyZXNzZXMuPC9wPgo8L3A+PC9kaXY+CjxkaXYgY2xhc3M9InR4dDIiPgo8aDUgY2xhc3M9InR0bDQiPjYtMy0277yORGlzY2xvc3VyZSBSZXF1ZXN0czwvaDU+CjxwPkZvciBDb250cm9sbGVyIGRhdGEgaGFuZGxlZCBieSB0aGUgQ29tcGFueSwgcmVxdWVzdHMgZm9sbG93IHRoZSBDb21wYW554oCZcyBnZW5lcmFsIHByaXZhY3kgcG9saWN5LjxiciAvPkZvciBQcm9jZXNzb3IgZGF0YSwgcmVxdWVzdHMgc2hvdWxkIGJlIGRpcmVjdGVkIHRvIHRoZSBjdXN0b21lciBhY3RpbmcgYXMgQ29udHJvbGxlci48L3A+CjwvcD48L2Rpdj4KPC9saT4KPC9vbD4KPGgzIGNsYXNzPSJ0dGwzIj4377yOUmV2aXNpb25zPC9oMz4KPGRpdiBjbGFzcz0idHh0MiI+CjxwPlRoZSBDb21wYW55IG1heSByZXZpc2UgdGhpcyBQb2xpY3kgaW4gcmVzcG9uc2UgdG86PC9wPgo8dWwgY2xhc3M9ImljIj4KPGxpPmxlZ2FsIG9yIHJlZ3VsYXRvcnkgY2hhbmdlczwvbGk+CjxsaT5mZWF0dXJlIGFkZGl0aW9ucyBvciBtb2RpZmljYXRpb25zIHRvIHRoZSBQcm9kdWN0PC9saT4KPC91bD4KPHA+UmV2aXNpb25zIGJlY29tZSBlZmZlY3RpdmUgd2hlbiBwdWJsaXNoZWQgb24gdGhpcyBwYWdlLjwvcD4KPC9wPjwvZGl2Pgo8L3A+PC9kaXY+CjwvcD48L2Rpdj4KPC9zZWN0aW9uPntCed3jE0EgAH2+7o7ICX9\/Ab63h+QEAoGaAQgDAA==\",\"updateId\":265728652}","footnotes":""},"class_list":["post-1091","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Real Time Translator Product Privacy Policy | Fairuse Inc.<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fairuse.jp\/en\/real-time-translator\/userprofileinformation\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Real Time Translator Product Privacy Policy | Fairuse Inc.\" \/>\n<meta property=\"og:description\" content=\"Real Time Translator Product Privacy Policy (by Edition) PRIVACY POLICY Fairuse Inc. (hereinafter referred to as the \u201cCompany\u201d) establishes this Privacy Policy regarding the handling of personal information and related data in providing the various editions of Real Time Translator (\u201cRTT\u201d), including the Desktop Edition, Web\/Teams Edition, and RTT Portal (collectively referred to as the \u201cProduct\u201d).Please review the contents of this Policy before using the Product.Matters not specified in this Policy, as well as the handling of personal information related to the Company\u2019s overall business operations (including principles, security measures, procedures for disclosure requests, cookies, etc.), shall be governed by the Company\u2019s \u201cPersonal Information Protection Policy for General Business Operations.\u201d [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fairuse.jp\/en\/real-time-translator\/userprofileinformation\/\" \/>\n<meta property=\"og:site_name\" content=\"Fairuse Inc.\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-30T11:41:51+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/fairuse.jp\\\/en\\\/real-time-translator\\\/userprofileinformation\\\/\",\"url\":\"https:\\\/\\\/fairuse.jp\\\/en\\\/real-time-translator\\\/userprofileinformation\\\/\",\"name\":\"Real Time Translator Product Privacy Policy | Fairuse Inc.\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/fairuse.jp\\\/en\\\/#website\"},\"datePublished\":\"2025-04-12T08:19:54+00:00\",\"dateModified\":\"2026-04-30T11:41:51+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/fairuse.jp\\\/en\\\/real-time-translator\\\/userprofileinformation\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/fairuse.jp\\\/en\\\/real-time-translator\\\/userprofileinformation\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/fairuse.jp\\\/en\\\/real-time-translator\\\/userprofileinformation\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/fairuse.jp\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Real Time Translator\",\"item\":\"https:\\\/\\\/fairuse.jp\\\/en\\\/real-time-translator\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Real Time Translator Product Privacy Policy\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/fairuse.jp\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/fairuse.jp\\\/en\\\/\",\"name\":\"Fairuse Inc.\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/fairuse.jp\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Real Time Translator Product Privacy Policy | Fairuse Inc.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fairuse.jp\/en\/real-time-translator\/userprofileinformation\/","og_locale":"en_US","og_type":"article","og_title":"Real Time Translator Product Privacy Policy | Fairuse Inc.","og_description":"Real Time Translator Product Privacy Policy (by Edition) PRIVACY POLICY Fairuse Inc. (hereinafter referred to as the \u201cCompany\u201d) establishes this Privacy Policy regarding the handling of personal information and related data in providing the various editions of Real Time Translator (\u201cRTT\u201d), including the Desktop Edition, Web\/Teams Edition, and RTT Portal (collectively referred to as the \u201cProduct\u201d).Please review the contents of this Policy before using the Product.Matters not specified in this Policy, as well as the handling of personal information related to the Company\u2019s overall business operations (including principles, security measures, procedures for disclosure requests, cookies, etc.), shall be governed by the Company\u2019s \u201cPersonal Information Protection Policy for General Business Operations.\u201d [&hellip;]","og_url":"https:\/\/fairuse.jp\/en\/real-time-translator\/userprofileinformation\/","og_site_name":"Fairuse Inc.","article_modified_time":"2026-04-30T11:41:51+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/fairuse.jp\/en\/real-time-translator\/userprofileinformation\/","url":"https:\/\/fairuse.jp\/en\/real-time-translator\/userprofileinformation\/","name":"Real Time Translator Product Privacy Policy | Fairuse Inc.","isPartOf":{"@id":"https:\/\/fairuse.jp\/en\/#website"},"datePublished":"2025-04-12T08:19:54+00:00","dateModified":"2026-04-30T11:41:51+00:00","breadcrumb":{"@id":"https:\/\/fairuse.jp\/en\/real-time-translator\/userprofileinformation\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fairuse.jp\/en\/real-time-translator\/userprofileinformation\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fairuse.jp\/en\/real-time-translator\/userprofileinformation\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/fairuse.jp\/en\/"},{"@type":"ListItem","position":2,"name":"Real Time Translator","item":"https:\/\/fairuse.jp\/en\/real-time-translator\/"},{"@type":"ListItem","position":3,"name":"Real Time Translator Product Privacy Policy"}]},{"@type":"WebSite","@id":"https:\/\/fairuse.jp\/en\/#website","url":"https:\/\/fairuse.jp\/en\/","name":"Fairuse Inc.","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fairuse.jp\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/fairuse.jp\/en\/wp-json\/wp\/v2\/pages\/1091","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fairuse.jp\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/fairuse.jp\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/fairuse.jp\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fairuse.jp\/en\/wp-json\/wp\/v2\/comments?post=1091"}],"version-history":[{"count":5,"href":"https:\/\/fairuse.jp\/en\/wp-json\/wp\/v2\/pages\/1091\/revisions"}],"predecessor-version":[{"id":1662,"href":"https:\/\/fairuse.jp\/en\/wp-json\/wp\/v2\/pages\/1091\/revisions\/1662"}],"up":[{"embeddable":true,"href":"https:\/\/fairuse.jp\/en\/wp-json\/wp\/v2\/pages\/117"}],"wp:attachment":[{"href":"https:\/\/fairuse.jp\/en\/wp-json\/wp\/v2\/media?parent=1091"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}