<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>59561</bug_id>
          
          <creation_ts>2011-04-26 16:57:55 -0700</creation_ts>
          <short_desc>Switch TestWebKitAPI to GTest</short_desc>
          <delta_ts>2011-05-11 16:53:10 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>60522</dependson>
    
    <dependson>60533</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Dmitry Lomov">dslomov</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>aroben</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dslomov</cc>
    
    <cc>eric</cc>
    
    <cc>levin</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>393097</commentid>
    <comment_count>0</comment_count>
    <who name="Dmitry Lomov">dslomov</who>
    <bug_when>2011-04-26 16:57:55 -0700</bug_when>
    <thetext>Placeholder bug capturing the experiment of moving TestWebKitAPI over to GTest</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393155</commentid>
    <comment_count>1</comment_count>
      <attachid>91192</attachid>
    <who name="Dmitry Lomov">dslomov</who>
    <bug_when>2011-04-26 17:13:48 -0700</bug_when>
    <thetext>Created attachment 91192
Draft attempt

This is a very first draft. It switches the all tests to GTest, retaining the functionality. Output format is a bit different though, and test names use &apos;.&apos; instead of &apos;/&apos; (WTF.VectorBasic instead of WTF/VectorBasic).
Only builds on Mac yet.

As you see, the change is very small. I have not replaced all the assertion macros, merely redefined existing ones in terms of GTest. By a lucky coincidence, the TEST macro works unchanged.

Here is some work items to be done before this can be landed:
0) Clean up project files on Mac 
1) Build on Windows 
2) Run on bots (what is the current story with TestWebKitAPI on bots? Are those tests run on bots on any platform?) 

Sam, is (1) a priority for you?

After this lands, we might want to make tests more GTest-idiomatic by:
a) Using GTest macros throughout
b) Using GTest fixtures and SetUp/TearDown instead of statics

Let me know what you think!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393294</commentid>
    <comment_count>2</comment_count>
      <attachid>91220</attachid>
    <who name="Dmitry Lomov">dslomov</who>
    <bug_when>2011-04-26 20:12:05 -0700</bug_when>
    <thetext>Created attachment 91220
{build,run}-api-tests fixed, project files fixed

Fixed scripts. I timed run-api-tests and got exact same timings with GTest as before the switch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393872</commentid>
    <comment_count>3</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-04-27 15:18:00 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; Created an attachment (id=91192) [details]
&gt; Draft attempt
&gt; 
&gt; This is a very first draft. It switches the all tests to GTest, retaining the functionality. Output format is a bit different though, and test names use &apos;.&apos; instead of &apos;/&apos; (WTF.VectorBasic instead of WTF/VectorBasic).
&gt; Only builds on Mac yet.
&gt; 
&gt; As you see, the change is very small. I have not replaced all the assertion macros, merely redefined existing ones in terms of GTest. By a lucky coincidence, the TEST macro works unchanged.
&gt; 
&gt; Here is some work items to be done before this can be landed:
&gt; 0) Clean up project files on Mac 
&gt; 1) Build on Windows 
&gt; 2) Run on bots (what is the current story with TestWebKitAPI on bots? Are those tests run on bots on any platform?) 
&gt; 
&gt; Sam, is (1) a priority for you?
&gt; 
&gt; After this lands, we might want to make tests more GTest-idiomatic by:
&gt; a) Using GTest macros throughout
&gt; b) Using GTest fixtures and SetUp/TearDown instead of statics
&gt; 
&gt; Let me know what you think!


Looks great, we should definitely get this working on Windows before landing, but I think the way you have prioritized so far is great.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>399821</commentid>
    <comment_count>4</comment_count>
      <attachid>92640</attachid>
    <who name="Dmitry Lomov">dslomov</who>
    <bug_when>2011-05-06 14:32:52 -0700</bug_when>
    <thetext>Created attachment 92640
TestWebKitAPI switched to GTest for Mac and windows</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>400859</commentid>
    <comment_count>5</comment_count>
      <attachid>92640</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-09 16:02:42 -0700</bug_when>
    <thetext>Comment on attachment 92640
TestWebKitAPI switched to GTest for Mac and windows

Rejecting attachment 92640 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=cr-jail-4&apos;, &apos;apply-...&quot; exit_code: 2

Last 500 characters of output:
Configurations/TestWebKitAPICommon.vsprops
patching file Tools/TestWebKitAPI/Test.h
patching file Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
patching file Tools/TestWebKitAPI/Tests/WTF/VectorBasic.cpp
patching file Tools/TestWebKitAPI/TestsController.cpp
patching file Tools/TestWebKitAPI/TestsController.h
patching file Tools/TestWebKitAPI/mac/main.mm

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--reviewer&apos;, u&apos;Sam Weinig&apos;, u&apos;--force&apos;]&quot; exit_code: 1

Full output: http://queues.webkit.org/results/8652696</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>400877</commentid>
    <comment_count>6</comment_count>
      <attachid>92881</attachid>
    <who name="Dmitry Lomov">dslomov</who>
    <bug_when>2011-05-09 16:24:43 -0700</bug_when>
    <thetext>Created attachment 92881
Patch rebased</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>400902</commentid>
    <comment_count>7</comment_count>
      <attachid>92886</attachid>
    <who name="Dmitry Lomov">dslomov</who>
    <bug_when>2011-05-09 16:50:54 -0700</bug_when>
    <thetext>Created attachment 92886
Added Sam as a reviewer to rebased patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>400905</commentid>
    <comment_count>8</comment_count>
      <attachid>92886</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-09 16:53:08 -0700</bug_when>
    <thetext>Comment on attachment 92886
Added Sam as a reviewer to rebased patch

Rejecting attachment 92886 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=eseidel-cq-sf&apos;, &apos;ap...&quot; exit_code: 2

Last 500 characters of output:
ts
patching file Tools/TestWebKitAPI/Configurations/TestWebKitAPICommon.vsprops
patching file Tools/TestWebKitAPI/Test.h
patching file Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
patching file Tools/TestWebKitAPI/Tests/WTF/VectorBasic.cpp
patching file Tools/TestWebKitAPI/TestsController.cpp
patching file Tools/TestWebKitAPI/TestsController.h
patching file Tools/TestWebKitAPI/mac/main.mm

Failed to run &quot;[u&apos;/Projects/CommitQueue/Tools/Scripts/svn-apply&apos;, u&apos;--force&apos;]&quot; exit_code: 1

Full output: http://queues.webkit.org/results/8655707</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>400916</commentid>
    <comment_count>9</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2011-05-09 17:19:03 -0700</bug_when>
    <thetext>Committed as http://trac.webkit.org/changeset/86108</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>400945</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-05-09 17:50:43 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/86108 might have broken WinCairo Debug (Build)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>400953</commentid>
    <comment_count>11</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2011-05-09 17:58:45 -0700</bug_when>
    <thetext>Rolled out due to Cairo build break.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401052</commentid>
    <comment_count>12</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-05-09 22:10:51 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; Rolled out due to Cairo build break.

It doesn&apos;t seem to have been.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401058</commentid>
    <comment_count>13</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-05-09 22:24:59 -0700</bug_when>
    <thetext>Actually rolled out in r86130.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401060</commentid>
    <comment_count>14</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-05-09 22:26:27 -0700</bug_when>
    <thetext>In the next iteration, please add both gtest to the Makefile based builds (add it to ./Makefile, see the reference to Source/ThirdParty/ANGLE in that file for how to do this) and please remove the reference to the 10.4 SDK from gtest.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401137</commentid>
    <comment_count>15</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2011-05-10 05:12:29 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (In reply to comment #11)
&gt; &gt; Rolled out due to Cairo build break.
&gt; 
&gt; It doesn&apos;t seem to have been.

Thanks for doing that. Sherrifbot failed to rolled it out. I tried to do it by hand but the git repository seems to be way out of date for some reason. (Still I can only get up to 86081.)

Then I talked to Brett Fulgram in irc and he was going to fix the Cairo build (or I told him he could roll this out).

I didn&apos;t notice the problem in the Makefile based builds.

I should have updated this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401626</commentid>
    <comment_count>16</comment_count>
      <attachid>93043</attachid>
    <who name="Dmitry Lomov">dslomov</who>
    <bug_when>2011-05-10 16:30:07 -0700</bug_when>
    <thetext>Created attachment 93043
Updated patch

- Fixes Makefiles
- Removes MacOSX 10.4 SDK dependency
- Fixes wincairo</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401637</commentid>
    <comment_count>17</comment_count>
      <attachid>93047</attachid>
    <who name="Dmitry Lomov">dslomov</who>
    <bug_when>2011-05-10 16:40:10 -0700</bug_when>
    <thetext>Created attachment 93047
Updated patch

- Fixes Makefiles
- Fixes WinCairo build
- Removes MacOS X 10.4 SDK dependency</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401940</commentid>
    <comment_count>18</comment_count>
      <attachid>93047</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-05-11 06:41:15 -0700</bug_when>
    <thetext>Comment on attachment 93047
Updated patch

Don&apos;t forget about TestWebKitAPI/win/main.cpp!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402013</commentid>
    <comment_count>19</comment_count>
    <who name="Dmitry Lomov">dslomov</who>
    <bug_when>2011-05-11 09:07:16 -0700</bug_when>
    <thetext>(In reply to comment #18)
&gt; (From update of attachment 93047 [details])
&gt; Don&apos;t forget about TestWebKitAPI/win/main.cpp!

Oh right :)
It actually just works - the only difference is that it does not get the added functionality of running all tests. I feel I should add it later - it is a big patch already - but let me know if you feel this is necessary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402015</commentid>
    <comment_count>20</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-05-11 09:08:08 -0700</bug_when>
    <thetext>(In reply to comment #19)
&gt; (In reply to comment #18)
&gt; &gt; (From update of attachment 93047 [details] [details])
&gt; &gt; Don&apos;t forget about TestWebKitAPI/win/main.cpp!
&gt; 
&gt; Oh right :)
&gt; It actually just works - the only difference is that it does not get the added functionality of running all tests. I feel I should add it later - it is a big patch already - but let me know if you feel this is necessary.

You should either add it to both or to neither. Diverging this way is confusing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402053</commentid>
    <comment_count>21</comment_count>
      <attachid>93135</attachid>
    <who name="Dmitry Lomov">dslomov</who>
    <bug_when>2011-05-11 09:50:34 -0700</bug_when>
    <thetext>Created attachment 93135
Brings parity to Mac and Linux versions of TestWebKitAPI executable</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402411</commentid>
    <comment_count>22</comment_count>
      <attachid>93135</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-11 16:29:20 -0700</bug_when>
    <thetext>Comment on attachment 93135
Brings parity to Mac and Linux versions of TestWebKitAPI executable

Rejecting attachment 93135 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=cr-jail-3&apos;, &apos;apply-...&quot; exit_code: 2

Last 500 characters of output:
-api-tests
patching file Tools/TestWebKitAPI/Configurations/TestWebKitAPICommon.vsprops
patching file Tools/TestWebKitAPI/Test.h
patching file Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
patching file Tools/TestWebKitAPI/Tests/WTF/VectorBasic.cpp
patching file Tools/TestWebKitAPI/TestsController.cpp
patching file Tools/TestWebKitAPI/TestsController.h

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--reviewer&apos;, u&apos;David Levin&apos;, u&apos;--force&apos;]&quot; exit_code: 1

Full output: http://queues.webkit.org/results/8690438</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402425</commentid>
    <comment_count>23</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2011-05-11 16:53:10 -0700</bug_when>
    <thetext>Committed as http://trac.webkit.org/changeset/86287</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91192</attachid>
            <date>2011-04-26 17:13:48 -0700</date>
            <delta_ts>2011-04-26 20:12:05 -0700</delta_ts>
            <desc>Draft attempt</desc>
            <filename>gtest-take2.patch</filename>
            <type>text/plain</type>
            <size>10556</size>
            <attacher name="Dmitry Lomov">dslomov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdC5oIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0LmgKaW5kZXggZWQ3NzJkNS4uZjkwMzUwNyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0LmgKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0LmgKQEAgLTI4
LDYwICsyOCwxOCBAQAogCiAjaW5jbHVkZSAiVGVzdHNDb250cm9sbGVyLmgiCiAKLW5hbWVzcGFj
ZSBUZXN0V2ViS2l0QVBJIHsKLQotLy8gQWJzdHJhY3QgYmFzZSBjbGFzcyB0aGF0IGFsbCB0ZXN0
cyBpbmhlcml0IGZyb20uCi1jbGFzcyBUZXN0IHsKLXB1YmxpYzoKLSAgICB2aXJ0dWFsIH5UZXN0
KCkgeyB9Ci0gICAgCi0gICAgdmlydHVhbCB2b2lkIHJ1bigpID0gMDsKLSAgICBzdGQ6OnN0cmlu
ZyBuYW1lKCkgY29uc3QgeyByZXR1cm4gbV9pZGVudGlmaWVyOyB9Ci0gICAgCi0gICAgdGVtcGxh
dGU8dHlwZW5hbWUgVGVzdENsYXNzVHk+IGNsYXNzIFJlZ2lzdGVyIHsKLSAgICBwdWJsaWM6Ci0g
ICAgICAgIFJlZ2lzdGVyKGNvbnN0IHN0ZDo6c3RyaW5nJiB0ZXN0U3VpdGUsIGNvbnN0IHN0ZDo6
c3RyaW5nJiB0ZXN0Q2FzZSkKLSAgICAgICAgewotICAgICAgICAgICAgVGVzdHNDb250cm9sbGVy
OjpzaGFyZWQoKS5yZWdpc3RlckNyZWF0ZVRlc3RGdW5jdGlvbih0ZXN0U3VpdGUgKyAiLyIgKyB0
ZXN0Q2FzZSwgUmVnaXN0ZXI6OmNyZWF0ZSk7Ci0gICAgICAgIH0KLSAgICAKLSAgICBwcml2YXRl
OgotICAgICAgICBzdGF0aWMgVGVzdCogY3JlYXRlKGNvbnN0IHN0ZDo6c3RyaW5nJiBpZGVudGlm
aWVyKSAKLSAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIG5ldyBUZXN0Q2xhc3NUeShpZGVu
dGlmaWVyKTsKLSAgICAgICAgfQotICAgIH07Ci0KLXByb3RlY3RlZDoKLSAgICBUZXN0KGNvbnN0
IHN0ZDo6c3RyaW5nJiBpZGVudGlmaWVyKQotICAgICAgICA6IG1faWRlbnRpZmllcihpZGVudGlm
aWVyKQotICAgIHsKLSAgICB9CisjaW5jbHVkZSA8Z3Rlc3QvZ3Rlc3QuaD4KIAotICAgIHN0ZDo6
c3RyaW5nIG1faWRlbnRpZmllcjsKLX07Ci0KLSNkZWZpbmUgVEVTVF9DTEFTU19OQU1FKHRlc3RT
dWl0ZSwgdGVzdENhc2VOYW1lKSB0ZXN0U3VpdGUjI3Rlc3RDYXNlTmFtZSMjX1Rlc3QKLSNkZWZp
bmUgVEVTVF9SRUdJU1RSQVJfTkFNRSh0ZXN0U3VpdGUsIHRlc3RDYXNlTmFtZSkgdGVzdFN1aXRl
IyN0ZXN0Q2FzZU5hbWUjI19SZWdpc3RyYXIKK25hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKIAot
Ly8gVXNlIHRoaXMgdG8gZGVmaW5lIGEgbmV3IHRlc3QuCi0jZGVmaW5lIFRFU1QodGVzdFN1aXRl
LCB0ZXN0Q2FzZU5hbWUpIFwKLSAgICBjbGFzcyBURVNUX0NMQVNTX05BTUUodGVzdFN1aXRlLCB0
ZXN0Q2FzZU5hbWUpIDogcHVibGljIFRlc3QgeyBcCi0gICAgcHVibGljOiBcCi0gICAgICAgIFRF
U1RfQ0xBU1NfTkFNRSh0ZXN0U3VpdGUsIHRlc3RDYXNlTmFtZSkoY29uc3Qgc3RkOjpzdHJpbmcm
IGlkZW50aWZpZXIpIFwKLSAgICAgICAgICAgIDogVGVzdChpZGVudGlmaWVyKSBcCi0gICAgICAg
IHsgXAorI2RlZmluZSBURVNUX0FTU0VSVChleHByZXNzaW9uKSBFWFBFQ1RfVFJVRShleHByZXNz
aW9uKQorI2RlZmluZSBURVNUX0FTU0VSVF9SRVRVUk4oZXhwcmVzc2lvbiwgcmV0dXJuVmFsdWUp
IFwKKyAgICBkbyB7IFwKKyAgICAgICAgaWYgKCEoZXhwcmVzc2lvbikpIHsgXAorICAgICAgICAg
ICAgRVhQRUNUX0ZBTFNFKHRydWUpIDw8ICNleHByZXNzaW9uOyBcCisgICAgICAgICAgICByZXR1
cm4gKHJldHVyblZhbHVlKTsgXAogICAgICAgICB9IFwKLSAgICAgICAgdmlydHVhbCB2b2lkIHJ1
bigpOyBcCi0gICAgfTsgXAotICAgIFwKLSAgICBzdGF0aWMgVGVzdDo6UmVnaXN0ZXI8VEVTVF9D
TEFTU19OQU1FKHRlc3RTdWl0ZSwgdGVzdENhc2VOYW1lKT4gVEVTVF9SRUdJU1RSQVJfTkFNRSh0
ZXN0U3VpdGUsIHRlc3RDYXNlTmFtZSkoI3Rlc3RTdWl0ZSwgI3Rlc3RDYXNlTmFtZSk7IFwKLSAg
ICBcCi0gICAgdm9pZCBURVNUX0NMQVNTX05BTUUodGVzdFN1aXRlLCB0ZXN0Q2FzZU5hbWUpOjpy
dW4oKQotCi0jZGVmaW5lIF9URVNUX0FTU0VSVF9IRUxQRVIoZXhwcmVzc2lvbiwgcmV0dXJuU3Rh
dGVtZW50KSBkbyB7IGlmICghKGV4cHJlc3Npb24pKSB7IFRlc3RzQ29udHJvbGxlcjo6c2hhcmVk
KCkudGVzdEZhaWxlZChfX0ZJTEVfXywgX19MSU5FX18sICNleHByZXNzaW9uKTsgcmV0dXJuU3Rh
dGVtZW50OyB9IH0gd2hpbGUgKDApCi0jZGVmaW5lIFRFU1RfQVNTRVJUKGV4cHJlc3Npb24pIF9U
RVNUX0FTU0VSVF9IRUxQRVIoZXhwcmVzc2lvbiwgcmV0dXJuKQotI2RlZmluZSBURVNUX0FTU0VS
VF9SRVRVUk4oZXhwcmVzc2lvbiwgcmV0dXJuVmFsdWUpIF9URVNUX0FTU0VSVF9IRUxQRVIoZXhw
cmVzc2lvbiwgcmV0dXJuIChyZXR1cm5WYWx1ZSkpCisgICAgfSB3aGlsZSAoMCkKIAogfSAvLyBu
YW1lc3BhY2UgVGVzdFdlYktpdEFQSQogCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDg2YjY5
MWQuLmFlOTg4NzEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQ
SS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01Nyw2ICs1Nyw3IEBACiAJ
CUMwQURCRTk2MTJGQ0E3OUIwMEQyQzEyOSAvKiBzaW1wbGUtZm9ybS5odG1sIGluIENvcHkgUmVz
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMwQURCRTg0MTJGQ0E2
QjYwMEQyQzEyOSAvKiBzaW1wbGUtZm9ybS5odG1sICovOyB9OwogCQlDMEJENjY5RDEzMUQzQ0Y3
MDBFMThGMkEgLyogUmVzcG9uc2l2ZW5lc3NUaW1lckRvZXNudEZpcmVFYXJseS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMEJENjY5QzEzMUQzQ0Y3
MDBFMThGMkEgLyogUmVzcG9uc2l2ZW5lc3NUaW1lckRvZXNudEZpcmVFYXJseS5jcHAgKi87IH07
CiAJCUMwQkQ2NjlGMTMxRDNDRkYwMEUxOEYyQSAvKiBSZXNwb25zaXZlbmVzc1RpbWVyRG9lc250
RmlyZUVhcmx5X0J1bmRsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDMEJENjY5RTEzMUQzQ0ZGMDBFMThGMkEgLyogUmVzcG9uc2l2ZW5lc3NUaW1l
ckRvZXNudEZpcmVFYXJseV9CdW5kbGUuY3BwICovOyB9OworCQlGM0ZDM0VFMzEzNjc4QjczMDAx
MjZBNjUgLyogbGliZ3Rlc3QuYSBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEYzRkMzRUUyMTM2NzhCNzMwMDEyNkE2NSAvKiBsaWJndGVzdC5hICovOyB9
OwogCQlGNkYzRjI5MTEzMzQyRkVCMDBBNkJGMTkgLyogQ29va2llTWFuYWdlci5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNkYzRjI5MDEzMzQyRkVC
MDBBNkJGMTkgLyogQ29va2llTWFuYWdlci5jcHAgKi87IH07CiAvKiBFbmQgUEJYQnVpbGRGaWxl
IHNlY3Rpb24gKi8KIApAQCAtMTYwLDYgKzE2MSw3IEBACiAJCUMwQURCRTg0MTJGQ0E2QjYwMEQy
QzEyOSAvKiBzaW1wbGUtZm9ybS5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gInNp
bXBsZS1mb3JtLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMEJENjY5QzEz
MUQzQ0Y3MDBFMThGMkEgLyogUmVzcG9uc2l2ZW5lc3NUaW1lckRvZXNudEZpcmVFYXJseS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZXNwb25zaXZlbmVzc1RpbWVy
RG9lc250RmlyZUVhcmx5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzBCRDY2
OUUxMzFEM0NGRjAwRTE4RjJBIC8qIFJlc3BvbnNpdmVuZXNzVGltZXJEb2VzbnRGaXJlRWFybHlf
QnVuZGxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlc3BvbnNp
dmVuZXNzVGltZXJEb2VzbnRGaXJlRWFybHlfQnVuZGxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJRjNGQzNFRTIxMzY3OEI3MzAwMTI2QTY1IC8qIGxpYmd0ZXN0LmEgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBhcmNoaXZlLmFyOyBu
YW1lID0gbGliZ3Rlc3QuYTsgcGF0aCA9IC4uLy4uL1dlYktpdEJ1aWxkL0RlYnVnL2xpYmd0ZXN0
LmE7IHNvdXJjZVRyZWUgPSBTT1VSQ0VfUk9PVDsgfTsKIAkJRjZGM0YyOTAxMzM0MkZFQjAwQTZC
RjE5IC8qIENvb2tpZU1hbmFnZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gQ29va2llTWFuYWdlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAvKiBF
bmQgUEJYRmlsZVJlZmVyZW5jZSBzZWN0aW9uICovCiAKQEAgLTE3Miw2ICsxNzQsNyBAQAogCQkJ
CUJDQTYxREI1MTE3MDBFRkQwMDQ2MEQxRSAvKiBXZWJLaXQyLmZyYW1ld29yayBpbiBGcmFtZXdv
cmtzICovLAogCQkJCUJDOTA5NjRFMTI1NTYyMEMwMDA4Mzc1NiAvKiBKYXZhU2NyaXB0Q29yZS5m
cmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKIAkJCQlDMDJCNzg1NDEyNjYxM0FFMDAyNkJGMEYg
LyogQ2FyYm9uLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAorCQkJCUYzRkMzRUUzMTM2NzhC
NzMwMDEyNkE2NSAvKiBsaWJndGVzdC5hIGluIEZyYW1ld29ya3MgKi8sCiAJCQkpOwogCQkJcnVu
T25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yMjIsNiArMjI1
LDcgQEAKIAkJMDhGQjc3OURGRTg0MTU1REMwMkFBQzA3IC8qIEV4dGVybmFsIEZyYW1ld29ya3Mg
YW5kIExpYnJhcmllcyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAo
CisJCQkJRjNGQzNFRTIxMzY3OEI3MzAwMTI2QTY1IC8qIGxpYmd0ZXN0LmEgKi8sCiAJCQkJQkNC
OUU5RjAxMTIzNUJERTAwQTEzN0UwIC8qIENvY29hLmZyYW1ld29yayAqLywKIAkJCQlCQzkwOTY0
RDEyNTU2MjBDMDAwODM3NTYgLyogSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrICovLAogCQkJCUJD
QTYxREI0MTE3MDBFRkQwMDQ2MEQxRSAvKiBXZWJLaXQyLmZyYW1ld29yayAqLywKQEAgLTQ3OSw2
ICs0ODMsMTEgQEAKIAkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gQkM5MDk1ODAxMjU1
NENGOTAwMDgzNzU2IC8qIFRlc3RXZWJLaXRBUEkueGNjb25maWcgKi87CiAJCQlidWlsZFNldHRp
bmdzID0gewogCQkJCUZSQU1FV09SS19TRUFSQ0hfUEFUSFMgPSAiJChpbmhlcml0ZWQpIjsKKwkJ
CQlMSUJSQVJZX1NFQVJDSF9QQVRIUyA9ICgKKwkJCQkJIiQoaW5oZXJpdGVkKSIsCisJCQkJCSJc
IiQoU1JDUk9PVCkvLi4vLi4vV2ViS2l0QnVpbGQvRGVidWdcIiIsCisJCQkJKTsKKwkJCQlTVEFO
REFSRF9DX1BMVVNfUExVU19MSUJSQVJZX1RZUEUgPSBkeW5hbWljOwogCQkJfTsKIAkJCW5hbWUg
PSBEZWJ1ZzsKIAkJfTsKQEAgLTQ4Nyw2ICs0OTYsMTEgQEAKIAkJCWJhc2VDb25maWd1cmF0aW9u
UmVmZXJlbmNlID0gQkM5MDk1ODAxMjU1NENGOTAwMDgzNzU2IC8qIFRlc3RXZWJLaXRBUEkueGNj
b25maWcgKi87CiAJCQlidWlsZFNldHRpbmdzID0gewogCQkJCUZSQU1FV09SS19TRUFSQ0hfUEFU
SFMgPSAiJChpbmhlcml0ZWQpIjsKKwkJCQlMSUJSQVJZX1NFQVJDSF9QQVRIUyA9ICgKKwkJCQkJ
IiQoaW5oZXJpdGVkKSIsCisJCQkJCSJcIiQoU1JDUk9PVCkvLi4vLi4vV2ViS2l0QnVpbGQvRGVi
dWdcIiIsCisJCQkJKTsKKwkJCQlTVEFOREFSRF9DX1BMVVNfUExVU19MSUJSQVJZX1RZUEUgPSBk
eW5hbWljOwogCQkJfTsKIAkJCW5hbWUgPSBSZWxlYXNlOwogCQl9OwpkaWZmIC0tZ2l0IGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvVmVjdG9yQmFzaWMuY3BwIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XVEYvVmVjdG9yQmFzaWMuY3BwCmluZGV4IDAxMmZhMjcuLjcyMzg5MGMg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1ZlY3RvckJhc2ljLmNw
cAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9WZWN0b3JCYXNpYy5jcHAKQEAg
LTMyLDkgKzMyLDkgQEAgbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgewogVEVTVChXVEYsIFZlY3Rv
ckJhc2ljKQogewogICAgIFZlY3RvcjxpbnQ+IGludFZlY3RvcjsKLSAgICBURVNUX0FTU0VSVChp
bnRWZWN0b3IuaXNFbXB0eSgpKTsKLSAgICBURVNUX0FTU0VSVChpbnRWZWN0b3Iuc2l6ZSgpID09
IDApOwotICAgIFRFU1RfQVNTRVJUKGludFZlY3Rvci5jYXBhY2l0eSgpID09IDApOworICAgIEFT
U0VSVF9UUlVFKGludFZlY3Rvci5pc0VtcHR5KCkpOworICAgIEFTU0VSVF9FUSgwdWwsIGludFZl
Y3Rvci5zaXplKCkpOworICAgIEFTU0VSVF9FUSgwdWwsIGludFZlY3Rvci5jYXBhY2l0eSgpKTsK
IH0KIAogfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0c0NvbnRyb2xsZXIuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
c0NvbnRyb2xsZXIuY3BwCmluZGV4IDM0OTlmMmMuLjY3OGJjYTYgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHNDb250cm9sbGVyLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzQ29udHJvbGxlci5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJUZXN0
LmgiCiAjaW5jbHVkZSA8YWxnb3JpdGhtPgogI2luY2x1ZGUgPGFzc2VydC5oPgorI2luY2x1ZGUg
PGd0ZXN0L2d0ZXN0Lmg+CiAKIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKIApAQCAtMzgsNDUg
KzM5LDI3IEBAIFRlc3RzQ29udHJvbGxlciYgVGVzdHNDb250cm9sbGVyOjpzaGFyZWQoKQogfQog
CiBUZXN0c0NvbnRyb2xsZXI6OlRlc3RzQ29udHJvbGxlcigpCi0gICAgOiBtX3Rlc3RGYWlsZWQo
ZmFsc2UpCi0gICAgLCBtX2N1cnJlbnRUZXN0KDApCiB7CisgICAgaW50IGFyZ2MgPSAwOworICAg
IDo6dGVzdGluZzo6SW5pdEdvb2dsZVRlc3QoJmFyZ2MsIChjaGFyKiopMCk7CiB9CiAKIHZvaWQg
VGVzdHNDb250cm9sbGVyOjpkdW1wVGVzdE5hbWVzKCkKIHsKLSAgICBzdGQ6Om1hcDxzdGQ6OnN0
cmluZywgQ3JlYXRlVGVzdEZ1bmN0aW9uPjo6Y29uc3RfaXRlcmF0b3IgaXQgPSBtX2NyZWF0ZVRl
c3RGdW5jdGlvbnMuYmVnaW4oKTsKLSAgICBzdGQ6Om1hcDxzdGQ6OnN0cmluZywgQ3JlYXRlVGVz
dEZ1bmN0aW9uPjo6Y29uc3RfaXRlcmF0b3IgZW5kID0gbV9jcmVhdGVUZXN0RnVuY3Rpb25zLmVu
ZCgpOwotICAgIGZvciAoOyBpdCAhPSBlbmQ7ICsraXQpCi0gICAgICAgIHByaW50ZigiJXNcbiIs
ICgqaXQpLmZpcnN0LmNfc3RyKCkpOworICAgIDo6dGVzdGluZzo6R1RFU1RfRkxBRyhsaXN0X3Rl
c3RzKSA9IHRydWU7CisgICAgaW50IGIgPSBSVU5fQUxMX1RFU1RTKCk7CisgICAgcHJpbnRmKCIl
ZFxuIiwgYik7CiB9CiAKIGJvb2wgVGVzdHNDb250cm9sbGVyOjpydW5UZXN0TmFtZWQoY29uc3Qg
c3RkOjpzdHJpbmcmIGlkZW50aWZpZXIpCiB7Ci0gICAgQ3JlYXRlVGVzdEZ1bmN0aW9uIGNyZWF0
ZVRlc3RGdW5jdGlvbiA9IG1fY3JlYXRlVGVzdEZ1bmN0aW9uc1tpZGVudGlmaWVyXTsKLSAgICBp
ZiAoIWNyZWF0ZVRlc3RGdW5jdGlvbikgewotICAgICAgICBwcmludGYoIkVSUk9SOiBUZXN0IG5v
dCBmb3VuZCAtICVzXG4iLCBpZGVudGlmaWVyLmNfc3RyKCkpOwotICAgICAgICByZXR1cm4gZmFs
c2U7Ci0gICAgfQotCi0gICAgbV9jdXJyZW50VGVzdCA9IGNyZWF0ZVRlc3RGdW5jdGlvbihpZGVu
dGlmaWVyKTsKLSAgICBtX2N1cnJlbnRUZXN0LT5ydW4oKTsKLQotICAgIGRlbGV0ZSBtX2N1cnJl
bnRUZXN0OwotICAgIG1fY3VycmVudFRlc3QgPSAwOwotCi0gICAgcmV0dXJuICFtX3Rlc3RGYWls
ZWQ7Ci19Ci0KLXZvaWQgVGVzdHNDb250cm9sbGVyOjp0ZXN0RmFpbGVkKGNvbnN0IGNoYXIqIGZp
bGUsIGludCBsaW5lLCBjb25zdCBjaGFyKiBtZXNzYWdlKQotewotICAgIG1fdGVzdEZhaWxlZCA9
IHRydWU7Ci0gICAgcHJpbnRmKCJGQUlMOiAlc1xuXHQlcyAoJXM6JWQpXG4iLCBtX2N1cnJlbnRU
ZXN0LT5uYW1lKCkuY19zdHIoKSwgbWVzc2FnZSwgZmlsZSwgbGluZSk7CisgICAgOjp0ZXN0aW5n
OjpHVEVTVF9GTEFHKGZpbHRlcikgPSBpZGVudGlmaWVyOworICAgIHJldHVybiBSVU5fQUxMX1RF
U1RTKCk7CiB9CiAKLXZvaWQgVGVzdHNDb250cm9sbGVyOjpyZWdpc3RlckNyZWF0ZVRlc3RGdW5j
dGlvbihjb25zdCBzdGQ6OnN0cmluZyYgaWRlbnRpZmllciwgQ3JlYXRlVGVzdEZ1bmN0aW9uIGNy
ZWF0ZVRlc3RGdW5jdGlvbikKK2Jvb2wgVGVzdHNDb250cm9sbGVyOjpydW5BbGxUZXN0cygpCiB7
Ci0gICAgbV9jcmVhdGVUZXN0RnVuY3Rpb25zW2lkZW50aWZpZXJdID0gY3JlYXRlVGVzdEZ1bmN0
aW9uOworICAgIHJldHVybiBSVU5fQUxMX1RFU1RTKCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFRl
c3RXZWJLaXRBUEkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHNDb250cm9s
bGVyLmggYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzQ29udHJvbGxlci5oCmluZGV4IDBmZjFm
YzcuLmViMmE5NjcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHNDb250cm9s
bGVyLmgKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0c0NvbnRyb2xsZXIuaApAQCAtMzks
MjEgKzM5LDExIEBAIHB1YmxpYzoKIAogICAgIHZvaWQgZHVtcFRlc3ROYW1lcygpOwogICAgIGJv
b2wgcnVuVGVzdE5hbWVkKGNvbnN0IHN0ZDo6c3RyaW5nJik7Ci0KLSAgICAvLyBDYWxsZWQgYnkg
dGhlIHRlc3RzIHRoZW1zZWx2ZXMuCi0gICAgdm9pZCB0ZXN0RmFpbGVkKGNvbnN0IGNoYXIqIGZp
bGUsIGludCBsaW5lLCBjb25zdCBjaGFyKiBtZXNzYWdlKTsKLQotICAgIHR5cGVkZWYgVGVzdCog
KCpDcmVhdGVUZXN0RnVuY3Rpb24pKGNvbnN0IHN0ZDo6c3RyaW5nJik7Ci0gICAgdm9pZCByZWdp
c3RlckNyZWF0ZVRlc3RGdW5jdGlvbihjb25zdCBzdGQ6OnN0cmluZyYsIENyZWF0ZVRlc3RGdW5j
dGlvbik7CisgICAgYm9vbCBydW5BbGxUZXN0cygpOwogCiBwcml2YXRlOgogICAgIFRlc3RzQ29u
dHJvbGxlcigpOwogICAgIH5UZXN0c0NvbnRyb2xsZXIoKTsKLQotICAgIGJvb2wgbV90ZXN0RmFp
bGVkOwotICAgIFRlc3QqIG1fY3VycmVudFRlc3Q7Ci0KLSAgICBzdGQ6Om1hcDxzdGQ6OnN0cmlu
ZywgQ3JlYXRlVGVzdEZ1bmN0aW9uPiBtX2NyZWF0ZVRlc3RGdW5jdGlvbnM7CiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L21hYy9tYWluLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvbWFpbi5tbQppbmRleCBlNmRk
NGE2Li5lN2RkZWM0IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9tYWluLm1t
CisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL21haW4ubW0KQEAgLTMzLDExICszMywxNSBA
QCBpbnQgbWFpbihpbnQgYXJnYywgY29uc3QgY2hhciogYXJndltdKQogCiAgICAgYm9vbCBwYXNz
ZWQgPSB0cnVlOwogCi0gICAgc3RkOjpzdHJpbmcgYXJndW1lbnQoYXJndlsxXSk7Ci0gICAgaWYg
KGFyZ3VtZW50ID09ICItLWR1bXAtdGVzdHMiKQotICAgICAgICBUZXN0V2ViS2l0QVBJOjpUZXN0
c0NvbnRyb2xsZXI6OnNoYXJlZCgpLmR1bXBUZXN0TmFtZXMoKTsKLSAgICBlbHNlICAgCi0gICAg
ICAgIHBhc3NlZCA9IFRlc3RXZWJLaXRBUEk6OlRlc3RzQ29udHJvbGxlcjo6c2hhcmVkKCkucnVu
VGVzdE5hbWVkKGFyZ3VtZW50KTsKKyAgICBpZiAoYXJnYyA9PSAxKQorICAgICAgICBwYXNzZWQg
PSBUZXN0V2ViS2l0QVBJOjpUZXN0c0NvbnRyb2xsZXI6OnNoYXJlZCgpLnJ1bkFsbFRlc3RzKCk7
CisgICAgZWxzZSB7CisgICAgICAgIHN0ZDo6c3RyaW5nIGFyZ3VtZW50KGFyZ3ZbMV0pOworICAg
ICAgICBpZiAoYXJndW1lbnQgPT0gIi0tZHVtcC10ZXN0cyIpCisgICAgICAgICAgICBUZXN0V2Vi
S2l0QVBJOjpUZXN0c0NvbnRyb2xsZXI6OnNoYXJlZCgpLmR1bXBUZXN0TmFtZXMoKTsKKyAgICAg
ICAgZWxzZQorICAgICAgICAgICAgcGFzc2VkID0gVGVzdFdlYktpdEFQSTo6VGVzdHNDb250cm9s
bGVyOjpzaGFyZWQoKS5ydW5UZXN0TmFtZWQoYXJndW1lbnQpOworICAgIH0KIAogICAgIFtwb29s
IGRyYWluXTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91220</attachid>
            <date>2011-04-26 20:12:05 -0700</date>
            <delta_ts>2011-05-06 14:32:52 -0700</delta_ts>
            <desc>{build,run}-api-tests fixed, project files fixed</desc>
            <filename>gtest-take2.patch</filename>
            <type>text/plain</type>
            <size>11609</size>
            <attacher name="Dmitry Lomov">dslomov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvcnVuLWFwaS10ZXN0cyBiL1Rvb2xzL1NjcmlwdHMv
cnVuLWFwaS10ZXN0cwppbmRleCA5NzEzNjYyLi4zMGU0M2FkIDEwMDc1NQotLS0gYS9Ub29scy9T
Y3JpcHRzL3J1bi1hcGktdGVzdHMKKysrIGIvVG9vbHMvU2NyaXB0cy9ydW4tYXBpLXRlc3RzCkBA
IC0xMjIsNyArMTIyLDcgQEAgc3ViIHJ1bkFsbFRlc3RzSW5TdWl0ZSgkKQogc3ViIHJ1blRlc3Qo
JCQpCiB7CiAgICAgbXkgKCRzdWl0ZSwgJHRlc3ROYW1lKSA9IEBfOwotICAgIG15ICR0ZXN0ID0g
JHN1aXRlIC4gIi8iIC4gJHRlc3ROYW1lOworICAgIG15ICR0ZXN0ID0gJHN1aXRlIC4gIi4iIC4g
JHRlc3ROYW1lOwogCiAgICAgcHJpbnQgIiAgICBUZXN0OiAkdGVzdE5hbWUgLT4gIjsKIApAQCAt
MjM1LDcgKzIzNSw3IEBAIHN1YiBwb3B1bGF0ZVRlc3RzKCkKICAgICBteSAla2V5ZWRUZXN0cyA9
ICgpOwogICAgIGZvciBteSAkdGVzdCAoQHRlc3RzKSB7CiAgICAgICAgICR0ZXN0ID1+IHMvW1xy
XG5dKiQvLzsKLSAgICAgICAgbXkgKCRzdWl0ZSwgJHRlc3ROYW1lKSA9IHNwbGl0KC9cLy8sICR0
ZXN0KTsKKyAgICAgICAgbXkgKCRzdWl0ZSwgJHRlc3ROYW1lKSA9IHNwbGl0KC9cLi8sICR0ZXN0
KTsKICAgICAgICAgcHVzaCBAeyRrZXllZFRlc3RzeyRzdWl0ZX19LCAkdGVzdE5hbWU7CiAgICAg
fQogICAgIApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0LmggYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3QuaAppbmRleCBlZDc3MmQ1Li5mOTAzNTA3IDEwMDY0NAotLS0gYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3QuaAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Qu
aApAQCAtMjgsNjAgKzI4LDE4IEBACiAKICNpbmNsdWRlICJUZXN0c0NvbnRyb2xsZXIuaCIKIAot
bmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgewotCi0vLyBBYnN0cmFjdCBiYXNlIGNsYXNzIHRoYXQg
YWxsIHRlc3RzIGluaGVyaXQgZnJvbS4KLWNsYXNzIFRlc3QgewotcHVibGljOgotICAgIHZpcnR1
YWwgflRlc3QoKSB7IH0KLSAgICAKLSAgICB2aXJ0dWFsIHZvaWQgcnVuKCkgPSAwOwotICAgIHN0
ZDo6c3RyaW5nIG5hbWUoKSBjb25zdCB7IHJldHVybiBtX2lkZW50aWZpZXI7IH0KLSAgICAKLSAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZSBUZXN0Q2xhc3NUeT4gY2xhc3MgUmVnaXN0ZXIgewotICAgIHB1
YmxpYzoKLSAgICAgICAgUmVnaXN0ZXIoY29uc3Qgc3RkOjpzdHJpbmcmIHRlc3RTdWl0ZSwgY29u
c3Qgc3RkOjpzdHJpbmcmIHRlc3RDYXNlKQotICAgICAgICB7Ci0gICAgICAgICAgICBUZXN0c0Nv
bnRyb2xsZXI6OnNoYXJlZCgpLnJlZ2lzdGVyQ3JlYXRlVGVzdEZ1bmN0aW9uKHRlc3RTdWl0ZSAr
ICIvIiArIHRlc3RDYXNlLCBSZWdpc3Rlcjo6Y3JlYXRlKTsKLSAgICAgICAgfQotICAgIAotICAg
IHByaXZhdGU6Ci0gICAgICAgIHN0YXRpYyBUZXN0KiBjcmVhdGUoY29uc3Qgc3RkOjpzdHJpbmcm
IGlkZW50aWZpZXIpIAotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gbmV3IFRlc3RDbGFz
c1R5KGlkZW50aWZpZXIpOwotICAgICAgICB9Ci0gICAgfTsKLQotcHJvdGVjdGVkOgotICAgIFRl
c3QoY29uc3Qgc3RkOjpzdHJpbmcmIGlkZW50aWZpZXIpCi0gICAgICAgIDogbV9pZGVudGlmaWVy
KGlkZW50aWZpZXIpCi0gICAgewotICAgIH0KKyNpbmNsdWRlIDxndGVzdC9ndGVzdC5oPgogCi0g
ICAgc3RkOjpzdHJpbmcgbV9pZGVudGlmaWVyOwotfTsKLQotI2RlZmluZSBURVNUX0NMQVNTX05B
TUUodGVzdFN1aXRlLCB0ZXN0Q2FzZU5hbWUpIHRlc3RTdWl0ZSMjdGVzdENhc2VOYW1lIyNfVGVz
dAotI2RlZmluZSBURVNUX1JFR0lTVFJBUl9OQU1FKHRlc3RTdWl0ZSwgdGVzdENhc2VOYW1lKSB0
ZXN0U3VpdGUjI3Rlc3RDYXNlTmFtZSMjX1JlZ2lzdHJhcgorbmFtZXNwYWNlIFRlc3RXZWJLaXRB
UEkgewogCi0vLyBVc2UgdGhpcyB0byBkZWZpbmUgYSBuZXcgdGVzdC4KLSNkZWZpbmUgVEVTVCh0
ZXN0U3VpdGUsIHRlc3RDYXNlTmFtZSkgXAotICAgIGNsYXNzIFRFU1RfQ0xBU1NfTkFNRSh0ZXN0
U3VpdGUsIHRlc3RDYXNlTmFtZSkgOiBwdWJsaWMgVGVzdCB7IFwKLSAgICBwdWJsaWM6IFwKLSAg
ICAgICAgVEVTVF9DTEFTU19OQU1FKHRlc3RTdWl0ZSwgdGVzdENhc2VOYW1lKShjb25zdCBzdGQ6
OnN0cmluZyYgaWRlbnRpZmllcikgXAotICAgICAgICAgICAgOiBUZXN0KGlkZW50aWZpZXIpIFwK
LSAgICAgICAgeyBcCisjZGVmaW5lIFRFU1RfQVNTRVJUKGV4cHJlc3Npb24pIEVYUEVDVF9UUlVF
KGV4cHJlc3Npb24pCisjZGVmaW5lIFRFU1RfQVNTRVJUX1JFVFVSTihleHByZXNzaW9uLCByZXR1
cm5WYWx1ZSkgXAorICAgIGRvIHsgXAorICAgICAgICBpZiAoIShleHByZXNzaW9uKSkgeyBcCisg
ICAgICAgICAgICBFWFBFQ1RfRkFMU0UodHJ1ZSkgPDwgI2V4cHJlc3Npb247IFwKKyAgICAgICAg
ICAgIHJldHVybiAocmV0dXJuVmFsdWUpOyBcCiAgICAgICAgIH0gXAotICAgICAgICB2aXJ0dWFs
IHZvaWQgcnVuKCk7IFwKLSAgICB9OyBcCi0gICAgXAotICAgIHN0YXRpYyBUZXN0OjpSZWdpc3Rl
cjxURVNUX0NMQVNTX05BTUUodGVzdFN1aXRlLCB0ZXN0Q2FzZU5hbWUpPiBURVNUX1JFR0lTVFJB
Ul9OQU1FKHRlc3RTdWl0ZSwgdGVzdENhc2VOYW1lKSgjdGVzdFN1aXRlLCAjdGVzdENhc2VOYW1l
KTsgXAotICAgIFwKLSAgICB2b2lkIFRFU1RfQ0xBU1NfTkFNRSh0ZXN0U3VpdGUsIHRlc3RDYXNl
TmFtZSk6OnJ1bigpCi0KLSNkZWZpbmUgX1RFU1RfQVNTRVJUX0hFTFBFUihleHByZXNzaW9uLCBy
ZXR1cm5TdGF0ZW1lbnQpIGRvIHsgaWYgKCEoZXhwcmVzc2lvbikpIHsgVGVzdHNDb250cm9sbGVy
OjpzaGFyZWQoKS50ZXN0RmFpbGVkKF9fRklMRV9fLCBfX0xJTkVfXywgI2V4cHJlc3Npb24pOyBy
ZXR1cm5TdGF0ZW1lbnQ7IH0gfSB3aGlsZSAoMCkKLSNkZWZpbmUgVEVTVF9BU1NFUlQoZXhwcmVz
c2lvbikgX1RFU1RfQVNTRVJUX0hFTFBFUihleHByZXNzaW9uLCByZXR1cm4pCi0jZGVmaW5lIFRF
U1RfQVNTRVJUX1JFVFVSTihleHByZXNzaW9uLCByZXR1cm5WYWx1ZSkgX1RFU1RfQVNTRVJUX0hF
TFBFUihleHByZXNzaW9uLCByZXR1cm4gKHJldHVyblZhbHVlKSkKKyAgICB9IHdoaWxlICgwKQog
CiB9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5k
ZXggODZiNjkxZC4uMDVmZTdjYyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTU3LDYgKzU3
LDcgQEAKIAkJQzBBREJFOTYxMkZDQTc5QjAwRDJDMTI5IC8qIHNpbXBsZS1mb3JtLmh0bWwgaW4g
Q29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzBBREJF
ODQxMkZDQTZCNjAwRDJDMTI5IC8qIHNpbXBsZS1mb3JtLmh0bWwgKi87IH07CiAJCUMwQkQ2NjlE
MTMxRDNDRjcwMEUxOEYyQSAvKiBSZXNwb25zaXZlbmVzc1RpbWVyRG9lc250RmlyZUVhcmx5LmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMwQkQ2NjlD
MTMxRDNDRjcwMEUxOEYyQSAvKiBSZXNwb25zaXZlbmVzc1RpbWVyRG9lc250RmlyZUVhcmx5LmNw
cCAqLzsgfTsKIAkJQzBCRDY2OUYxMzFEM0NGRjAwRTE4RjJBIC8qIFJlc3BvbnNpdmVuZXNzVGlt
ZXJEb2VzbnRGaXJlRWFybHlfQnVuZGxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEMwQkQ2NjlFMTMxRDNDRkYwMEUxOEYyQSAvKiBSZXNwb25zaXZl
bmVzc1RpbWVyRG9lc250RmlyZUVhcmx5X0J1bmRsZS5jcHAgKi87IH07CisJCUYzRkMzRUUzMTM2
NzhCNzMwMDEyNkE2NSAvKiBsaWJndGVzdC5hIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRjNGQzNFRTIxMzY3OEI3MzAwMTI2QTY1IC8qIGxpYmd0ZXN0
LmEgKi87IH07CiAJCUY2RjNGMjkxMTMzNDJGRUIwMEE2QkYxOSAvKiBDb29raWVNYW5hZ2VyLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY2RjNGMjkw
MTMzNDJGRUIwMEE2QkYxOSAvKiBDb29raWVNYW5hZ2VyLmNwcCAqLzsgfTsKIC8qIEVuZCBQQlhC
dWlsZEZpbGUgc2VjdGlvbiAqLwogCkBAIC0xNjAsNiArMTYxLDcgQEAKIAkJQzBBREJFODQxMkZD
QTZCNjAwRDJDMTI5IC8qIHNpbXBsZS1mb3JtLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBh
dGggPSAic2ltcGxlLWZvcm0uaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMw
QkQ2NjlDMTMxRDNDRjcwMEUxOEYyQSAvKiBSZXNwb25zaXZlbmVzc1RpbWVyRG9lc250RmlyZUVh
cmx5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlc3BvbnNpdmVu
ZXNzVGltZXJEb2VzbnRGaXJlRWFybHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlDMEJENjY5RTEzMUQzQ0ZGMDBFMThGMkEgLyogUmVzcG9uc2l2ZW5lc3NUaW1lckRvZXNudEZp
cmVFYXJseV9CdW5kbGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
UmVzcG9uc2l2ZW5lc3NUaW1lckRvZXNudEZpcmVFYXJseV9CdW5kbGUuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlGM0ZDM0VFMjEzNjc4QjczMDAxMjZBNjUgLyogbGliZ3Rlc3Qu
YSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IGFyY2hp
dmUuYXI7IG5hbWUgPSBsaWJndGVzdC5hOyBwYXRoID0gLi4vLi4vV2ViS2l0QnVpbGQvRGVidWcv
bGliZ3Rlc3QuYTsgc291cmNlVHJlZSA9IFNPVVJDRV9ST09UOyB9OwogCQlGNkYzRjI5MDEzMzQy
RkVCMDBBNkJGMTkgLyogQ29va2llTWFuYWdlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBDb29raWVNYW5hZ2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIC8qIEVuZCBQQlhGaWxlUmVmZXJlbmNlIHNlY3Rpb24gKi8KIApAQCAtMTcyLDYgKzE3NCw3
IEBACiAJCQkJQkNBNjFEQjUxMTcwMEVGRDAwNDYwRDFFIC8qIFdlYktpdDIuZnJhbWV3b3JrIGlu
IEZyYW1ld29ya3MgKi8sCiAJCQkJQkM5MDk2NEUxMjU1NjIwQzAwMDgzNzU2IC8qIEphdmFTY3Jp
cHRDb3JlLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAogCQkJCUMwMkI3ODU0MTI2NjEzQUUw
MDI2QkYwRiAvKiBDYXJib24uZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCisJCQkJRjNGQzNF
RTMxMzY3OEI3MzAwMTI2QTY1IC8qIGxpYmd0ZXN0LmEgaW4gRnJhbWV3b3JrcyAqLywKIAkJCSk7
CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTIy
Miw2ICsyMjUsNyBAQAogCQkwOEZCNzc5REZFODQxNTVEQzAyQUFDMDcgLyogRXh0ZXJuYWwgRnJh
bWV3b3JrcyBhbmQgTGlicmFyaWVzICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGls
ZHJlbiA9ICgKKwkJCQlGM0ZDM0VFMjEzNjc4QjczMDAxMjZBNjUgLyogbGliZ3Rlc3QuYSAqLywK
IAkJCQlCQ0I5RTlGMDExMjM1QkRFMDBBMTM3RTAgLyogQ29jb2EuZnJhbWV3b3JrICovLAogCQkJ
CUJDOTA5NjREMTI1NTYyMEMwMDA4Mzc1NiAvKiBKYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsgKi8s
CiAJCQkJQkNBNjFEQjQxMTcwMEVGRDAwNDYwRDFFIC8qIFdlYktpdDIuZnJhbWV3b3JrICovLApA
QCAtNDc5LDYgKzQ4MywxMCBAQAogCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSBCQzkw
OTU4MDEyNTU0Q0Y5MDAwODM3NTYgLyogVGVzdFdlYktpdEFQSS54Y2NvbmZpZyAqLzsKIAkJCWJ1
aWxkU2V0dGluZ3MgPSB7CiAJCQkJRlJBTUVXT1JLX1NFQVJDSF9QQVRIUyA9ICIkKGluaGVyaXRl
ZCkiOworCQkJCUxJQlJBUllfU0VBUkNIX1BBVEhTID0gKAorCQkJCQkiJChpbmhlcml0ZWQpIiwK
KwkJCQkJIlwiJChTUkNST09UKS8uLi8uLi9XZWJLaXRCdWlsZC9EZWJ1Z1wiIiwKKwkJCQkpOwog
CQkJfTsKIAkJCW5hbWUgPSBEZWJ1ZzsKIAkJfTsKQEAgLTQ4Nyw2ICs0OTUsMTAgQEAKIAkJCWJh
c2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gQkM5MDk1ODAxMjU1NENGOTAwMDgzNzU2IC8qIFRl
c3RXZWJLaXRBUEkueGNjb25maWcgKi87CiAJCQlidWlsZFNldHRpbmdzID0gewogCQkJCUZSQU1F
V09SS19TRUFSQ0hfUEFUSFMgPSAiJChpbmhlcml0ZWQpIjsKKwkJCQlMSUJSQVJZX1NFQVJDSF9Q
QVRIUyA9ICgKKwkJCQkJIiQoaW5oZXJpdGVkKSIsCisJCQkJCSJcIiQoU1JDUk9PVCkvLi4vLi4v
V2ViS2l0QnVpbGQvUmVsZWFzZVwiIiwKKwkJCQkpOwogCQkJfTsKIAkJCW5hbWUgPSBSZWxlYXNl
OwogCQl9OwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvVmVjdG9y
QmFzaWMuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvVmVjdG9yQmFzaWMuY3Bw
CmluZGV4IDAxMmZhMjcuLjcyMzg5MGMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV1RGL1ZlY3RvckJhc2ljLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dURi9WZWN0b3JCYXNpYy5jcHAKQEAgLTMyLDkgKzMyLDkgQEAgbmFtZXNwYWNlIFRlc3RXZWJL
aXRBUEkgewogVEVTVChXVEYsIFZlY3RvckJhc2ljKQogewogICAgIFZlY3RvcjxpbnQ+IGludFZl
Y3RvcjsKLSAgICBURVNUX0FTU0VSVChpbnRWZWN0b3IuaXNFbXB0eSgpKTsKLSAgICBURVNUX0FT
U0VSVChpbnRWZWN0b3Iuc2l6ZSgpID09IDApOwotICAgIFRFU1RfQVNTRVJUKGludFZlY3Rvci5j
YXBhY2l0eSgpID09IDApOworICAgIEFTU0VSVF9UUlVFKGludFZlY3Rvci5pc0VtcHR5KCkpOwor
ICAgIEFTU0VSVF9FUSgwdWwsIGludFZlY3Rvci5zaXplKCkpOworICAgIEFTU0VSVF9FUSgwdWws
IGludFZlY3Rvci5jYXBhY2l0eSgpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQ
SQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0c0NvbnRyb2xsZXIuY3BwIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0c0NvbnRyb2xsZXIuY3BwCmluZGV4IDM0OTlmMmMuLjgy
YTJlYzMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHNDb250cm9sbGVyLmNw
cAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzQ29udHJvbGxlci5jcHAKQEAgLTI2LDgg
KzI2LDkgQEAKICNpbmNsdWRlICJUZXN0c0NvbnRyb2xsZXIuaCIKIAogI2luY2x1ZGUgIlRlc3Qu
aCIKLSNpbmNsdWRlIDxhbGdvcml0aG0+CiAjaW5jbHVkZSA8YXNzZXJ0Lmg+CisjaW5jbHVkZSA8
Z3Rlc3QvZ3Rlc3QuaD4KKyNpbmNsdWRlIDxjc3RkaW8+CiAKIG5hbWVzcGFjZSBUZXN0V2ViS2l0
QVBJIHsKIApAQCAtMzgsNDUgKzM5LDMzIEBAIFRlc3RzQ29udHJvbGxlciYgVGVzdHNDb250cm9s
bGVyOjpzaGFyZWQoKQogfQogCiBUZXN0c0NvbnRyb2xsZXI6OlRlc3RzQ29udHJvbGxlcigpCi0g
ICAgOiBtX3Rlc3RGYWlsZWQoZmFsc2UpCi0gICAgLCBtX2N1cnJlbnRUZXN0KDApCiB7CisgICAg
aW50IGFyZ2MgPSAwOworICAgIDo6dGVzdGluZzo6SW5pdEdvb2dsZVRlc3QoJmFyZ2MsIChjaGFy
KiopMCk7CiB9CiAKIHZvaWQgVGVzdHNDb250cm9sbGVyOjpkdW1wVGVzdE5hbWVzKCkKIHsKLSAg
ICBzdGQ6Om1hcDxzdGQ6OnN0cmluZywgQ3JlYXRlVGVzdEZ1bmN0aW9uPjo6Y29uc3RfaXRlcmF0
b3IgaXQgPSBtX2NyZWF0ZVRlc3RGdW5jdGlvbnMuYmVnaW4oKTsKLSAgICBzdGQ6Om1hcDxzdGQ6
OnN0cmluZywgQ3JlYXRlVGVzdEZ1bmN0aW9uPjo6Y29uc3RfaXRlcmF0b3IgZW5kID0gbV9jcmVh
dGVUZXN0RnVuY3Rpb25zLmVuZCgpOwotICAgIGZvciAoOyBpdCAhPSBlbmQ7ICsraXQpCi0gICAg
ICAgIHByaW50ZigiJXNcbiIsICgqaXQpLmZpcnN0LmNfc3RyKCkpOwotfQorICAgIDo6dGVzdGlu
Zzo6VW5pdFRlc3QqIHVuaXRfdGVzdCA9IDo6dGVzdGluZzo6VW5pdFRlc3Q6OkdldEluc3RhbmNl
KCk7CiAKLWJvb2wgVGVzdHNDb250cm9sbGVyOjpydW5UZXN0TmFtZWQoY29uc3Qgc3RkOjpzdHJp
bmcmIGlkZW50aWZpZXIpCi17Ci0gICAgQ3JlYXRlVGVzdEZ1bmN0aW9uIGNyZWF0ZVRlc3RGdW5j
dGlvbiA9IG1fY3JlYXRlVGVzdEZ1bmN0aW9uc1tpZGVudGlmaWVyXTsKLSAgICBpZiAoIWNyZWF0
ZVRlc3RGdW5jdGlvbikgewotICAgICAgICBwcmludGYoIkVSUk9SOiBUZXN0IG5vdCBmb3VuZCAt
ICVzXG4iLCBpZGVudGlmaWVyLmNfc3RyKCkpOwotICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
Zm9yIChpbnQgaSA9IDA7IGkgPCB1bml0X3Rlc3QtPnRvdGFsX3Rlc3RfY2FzZV9jb3VudCgpOyBp
KyspIHsKKyAgICAgICAgY29uc3QgOjp0ZXN0aW5nOjpUZXN0Q2FzZSogdGVzdF9jYXNlID0gdW5p
dF90ZXN0LT5HZXRUZXN0Q2FzZShpKTsKKyAgICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCB0ZXN0
X2Nhc2UtPnRvdGFsX3Rlc3RfY291bnQoKTsgaisrKSB7CisgICAgICAgICAgY29uc3QgOjp0ZXN0
aW5nOjpUZXN0SW5mbyogdGVzdF9pbmZvID0gdGVzdF9jYXNlLT5HZXRUZXN0SW5mbyhqKTsKKyAg
ICAgICAgICBwcmludGYoIiVzLiVzXG4iLCB0ZXN0X2Nhc2UtPm5hbWUoKSwgdGVzdF9pbmZvLT5u
YW1lKCkpOworICAgICAgICB9CiAgICAgfQotCi0gICAgbV9jdXJyZW50VGVzdCA9IGNyZWF0ZVRl
c3RGdW5jdGlvbihpZGVudGlmaWVyKTsKLSAgICBtX2N1cnJlbnRUZXN0LT5ydW4oKTsKLQotICAg
IGRlbGV0ZSBtX2N1cnJlbnRUZXN0OwotICAgIG1fY3VycmVudFRlc3QgPSAwOwotCi0gICAgcmV0
dXJuICFtX3Rlc3RGYWlsZWQ7CiB9CiAKLXZvaWQgVGVzdHNDb250cm9sbGVyOjp0ZXN0RmFpbGVk
KGNvbnN0IGNoYXIqIGZpbGUsIGludCBsaW5lLCBjb25zdCBjaGFyKiBtZXNzYWdlKQorYm9vbCBU
ZXN0c0NvbnRyb2xsZXI6OnJ1blRlc3ROYW1lZChjb25zdCBzdGQ6OnN0cmluZyYgaWRlbnRpZmll
cikKIHsKLSAgICBtX3Rlc3RGYWlsZWQgPSB0cnVlOwotICAgIHByaW50ZigiRkFJTDogJXNcblx0
JXMgKCVzOiVkKVxuIiwgbV9jdXJyZW50VGVzdC0+bmFtZSgpLmNfc3RyKCksIG1lc3NhZ2UsIGZp
bGUsIGxpbmUpOworICAgIDo6dGVzdGluZzo6R1RFU1RfRkxBRyhmaWx0ZXIpID0gaWRlbnRpZmll
cjsKKyAgICByZXR1cm4gIVJVTl9BTExfVEVTVFMoKTsKIH0KIAotdm9pZCBUZXN0c0NvbnRyb2xs
ZXI6OnJlZ2lzdGVyQ3JlYXRlVGVzdEZ1bmN0aW9uKGNvbnN0IHN0ZDo6c3RyaW5nJiBpZGVudGlm
aWVyLCBDcmVhdGVUZXN0RnVuY3Rpb24gY3JlYXRlVGVzdEZ1bmN0aW9uKQorYm9vbCBUZXN0c0Nv
bnRyb2xsZXI6OnJ1bkFsbFRlc3RzKCkKIHsKLSAgICBtX2NyZWF0ZVRlc3RGdW5jdGlvbnNbaWRl
bnRpZmllcl0gPSBjcmVhdGVUZXN0RnVuY3Rpb247CisgICAgcmV0dXJuICFSVU5fQUxMX1RFU1RT
KCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkKZGlmZiAtLWdpdCBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHNDb250cm9sbGVyLmggYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzQ29udHJvbGxlci5oCmluZGV4IDBmZjFmYzcuLmViMmE5NjcgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHNDb250cm9sbGVyLmgKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0c0NvbnRyb2xsZXIuaApAQCAtMzksMjEgKzM5LDExIEBAIHB1YmxpYzoKIAogICAgIHZv
aWQgZHVtcFRlc3ROYW1lcygpOwogICAgIGJvb2wgcnVuVGVzdE5hbWVkKGNvbnN0IHN0ZDo6c3Ry
aW5nJik7Ci0KLSAgICAvLyBDYWxsZWQgYnkgdGhlIHRlc3RzIHRoZW1zZWx2ZXMuCi0gICAgdm9p
ZCB0ZXN0RmFpbGVkKGNvbnN0IGNoYXIqIGZpbGUsIGludCBsaW5lLCBjb25zdCBjaGFyKiBtZXNz
YWdlKTsKLQotICAgIHR5cGVkZWYgVGVzdCogKCpDcmVhdGVUZXN0RnVuY3Rpb24pKGNvbnN0IHN0
ZDo6c3RyaW5nJik7Ci0gICAgdm9pZCByZWdpc3RlckNyZWF0ZVRlc3RGdW5jdGlvbihjb25zdCBz
dGQ6OnN0cmluZyYsIENyZWF0ZVRlc3RGdW5jdGlvbik7CisgICAgYm9vbCBydW5BbGxUZXN0cygp
OwogCiBwcml2YXRlOgogICAgIFRlc3RzQ29udHJvbGxlcigpOwogICAgIH5UZXN0c0NvbnRyb2xs
ZXIoKTsKLQotICAgIGJvb2wgbV90ZXN0RmFpbGVkOwotICAgIFRlc3QqIG1fY3VycmVudFRlc3Q7
Ci0KLSAgICBzdGQ6Om1hcDxzdGQ6OnN0cmluZywgQ3JlYXRlVGVzdEZ1bmN0aW9uPiBtX2NyZWF0
ZVRlc3RGdW5jdGlvbnM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCmRpZmYg
LS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9tYWluLm1tIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9tYWMvbWFpbi5tbQppbmRleCBlNmRkNGE2Li5lN2RkZWM0IDEwMDY0NAotLS0gYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL21hYy9tYWluLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFj
L21haW4ubW0KQEAgLTMzLDExICszMywxNSBAQCBpbnQgbWFpbihpbnQgYXJnYywgY29uc3QgY2hh
ciogYXJndltdKQogCiAgICAgYm9vbCBwYXNzZWQgPSB0cnVlOwogCi0gICAgc3RkOjpzdHJpbmcg
YXJndW1lbnQoYXJndlsxXSk7Ci0gICAgaWYgKGFyZ3VtZW50ID09ICItLWR1bXAtdGVzdHMiKQot
ICAgICAgICBUZXN0V2ViS2l0QVBJOjpUZXN0c0NvbnRyb2xsZXI6OnNoYXJlZCgpLmR1bXBUZXN0
TmFtZXMoKTsKLSAgICBlbHNlICAgCi0gICAgICAgIHBhc3NlZCA9IFRlc3RXZWJLaXRBUEk6OlRl
c3RzQ29udHJvbGxlcjo6c2hhcmVkKCkucnVuVGVzdE5hbWVkKGFyZ3VtZW50KTsKKyAgICBpZiAo
YXJnYyA9PSAxKQorICAgICAgICBwYXNzZWQgPSBUZXN0V2ViS2l0QVBJOjpUZXN0c0NvbnRyb2xs
ZXI6OnNoYXJlZCgpLnJ1bkFsbFRlc3RzKCk7CisgICAgZWxzZSB7CisgICAgICAgIHN0ZDo6c3Ry
aW5nIGFyZ3VtZW50KGFyZ3ZbMV0pOworICAgICAgICBpZiAoYXJndW1lbnQgPT0gIi0tZHVtcC10
ZXN0cyIpCisgICAgICAgICAgICBUZXN0V2ViS2l0QVBJOjpUZXN0c0NvbnRyb2xsZXI6OnNoYXJl
ZCgpLmR1bXBUZXN0TmFtZXMoKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcGFzc2VkID0g
VGVzdFdlYktpdEFQSTo6VGVzdHNDb250cm9sbGVyOjpzaGFyZWQoKS5ydW5UZXN0TmFtZWQoYXJn
dW1lbnQpOworICAgIH0KIAogICAgIFtwb29sIGRyYWluXTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>92640</attachid>
            <date>2011-05-06 14:32:52 -0700</date>
            <delta_ts>2011-05-09 16:24:43 -0700</delta_ts>
            <desc>TestWebKitAPI switched to GTest for Mac and windows</desc>
            <filename>gtest-take-2.patch</filename>
            <type>text/plain</type>
            <size>30132</size>
            <attacher name="Dmitry Lomov">dslomov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBlZWQwMjM5Li5jMDM3NGU5
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTEtMDUtMDYgIERtaXRyeSBMb21vdiAgPGRzbG9tb3ZAZ29vZ2xlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIFN3aXRjaCBU
ZXN0V2ViS2l0QVBJIHRvIEdUZXN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD01OTU2MQorCisgICAgICAgICogU291cmNlL1RoaXJkUGFydHkvZ3Rlc3Qv
UkVBRE1FLldlYktpdDoKKyAgICAgICAgKiBTb3VyY2UvVGhpcmRQYXJ0eS9ndGVzdC9tc3ZjL2d0
ZXN0LW1kLnZjcHJvajoKKwogMjAxMS0wNS0wNSAgS2V2aW4gT2xsaXZpZXIgIDxrZXZpbm9AdGhl
b2xsaXZpZXJzLmNvbT4KIAogICAgICAgICBbd3hdIFVucmV2aWV3ZWQgYnVpbGQgZml4LiBBZGQg
TG9jYWxpemVkRGF0ZU5vbmUuY3BwIHRvIHRoZSBidWlsZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9U
aGlyZFBhcnR5L2d0ZXN0L1JFQURNRS5XZWJLaXQgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9ndGVzdC9S
RUFETUUuV2ViS2l0CmluZGV4IDFiZTI5NjkuLmRkZjIxODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9U
aGlyZFBhcnR5L2d0ZXN0L1JFQURNRS5XZWJLaXQKKysrIGIvU291cmNlL1RoaXJkUGFydHkvZ3Rl
c3QvUkVBRE1FLldlYktpdApAQCAtMSwzICsxLDYgQEAKIEdUZXN0IHYuMS41LjAKIAogaHR0cDov
L2dvb2dsZXRlc3QuZ29vZ2xlY29kZS5jb20vc3ZuL3RhZ3MvcmVsZWFzZS0xLjUuMC8gCisKKzIw
MTEtMDUtMDYgRG1pdHJ5IExvbW92IChkc2xvbW92QGdvb2dsZS5jb20pCisgICAgICBndGVzdC1t
ZC52Y3Byb2ogdXBncmFkZWQgdG8gVlMgMjAwNSAoOC4wKSBmb3JtYXQgdG8gbWF0Y2ggdGhlIHJl
c3Qgb2YgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9ndGVzdC9tc3ZjL2d0
ZXN0LW1kLnZjcHJvaiBiL1NvdXJjZS9UaGlyZFBhcnR5L2d0ZXN0L21zdmMvZ3Rlc3QtbWQudmNw
cm9qCmluZGV4IDljZTRiOTYuLjc4MmZjNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5
L2d0ZXN0L21zdmMvZ3Rlc3QtbWQudmNwcm9qCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2d0ZXN0
L21zdmMvZ3Rlc3QtbWQudmNwcm9qCkBAIC0xLDk1ICsxLDE0MiBAQAogPD94bWwgdmVyc2lvbj0i
MS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+CiA8VmlzdWFsU3R1ZGlvUHJvamVjdAogCVBy
b2plY3RUeXBlPSJWaXN1YWwgQysrIgotCVZlcnNpb249IjcuMTAiCisJVmVyc2lvbj0iOC4wMCIK
IAlOYW1lPSJndGVzdC1tZCIKIAlQcm9qZWN0R1VJRD0ie0M4RjZDMTcyLTU2RjItNEU3Ni1CNUZB
LUMzQjQyM0IzMUJFOH0iCi0JS2V5d29yZD0iV2luMzJQcm9qIj4KKwlSb290TmFtZXNwYWNlPSJn
dGVzdC1tZCIKKwlLZXl3b3JkPSJXaW4zMlByb2oiCisJPgogCTxQbGF0Zm9ybXM+CiAJCTxQbGF0
Zm9ybQotCQkJTmFtZT0iV2luMzIiLz4KKwkJCU5hbWU9IldpbjMyIgorCQkvPgogCTwvUGxhdGZv
cm1zPgorCTxUb29sRmlsZXM+CisJPC9Ub29sRmlsZXM+CiAJPENvbmZpZ3VyYXRpb25zPgogCQk8
Q29uZmlndXJhdGlvbgogCQkJTmFtZT0iRGVidWd8V2luMzIiCi0JCQlPdXRwdXREaXJlY3Rvcnk9
IiQoU29sdXRpb25OYW1lKS8kKENvbmZpZ3VyYXRpb25OYW1lKSIKLQkJCUludGVybWVkaWF0ZURp
cmVjdG9yeT0iJChPdXREaXIpLyQoUHJvamVjdE5hbWUpIgorCQkJT3V0cHV0RGlyZWN0b3J5PSIk
KENvbmZpZ3VyYXRpb25CdWlsZERpcilcbGliIgogCQkJQ29uZmlndXJhdGlvblR5cGU9IjQiCisJ
CQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iJChQcm9qZWN0RGlyKVwuLlwuLlwuLlwuLlxXZWJL
aXRMaWJyYXJpZXNcd2luXHRvb2xzXHZzcHJvcHNcY29tbW9uLnZzcHJvcHMiCiAJCQlDaGFyYWN0
ZXJTZXQ9IjIiCi0JCQlSZWZlcmVuY2VzUGF0aD0iIj4KKwkJCT4KKwkJCTxUb29sCisJCQkJTmFt
ZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCIKKwkJCS8+CisJCQk8VG9vbAorCQkJCU5hbWU9IlZDQ3Vz
dG9tQnVpbGRUb29sIgorCQkJLz4KKwkJCTxUb29sCisJCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJh
dG9yVG9vbCIKKwkJCS8+CisJCQk8VG9vbAorCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2Vu
ZXJhdG9yVG9vbCIKKwkJCS8+CisJCQk8VG9vbAorCQkJCU5hbWU9IlZDTUlETFRvb2wiCisJCQkv
PgogCQkJPFRvb2wKIAkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgogCQkJCU9wdGltaXphdGlv
bj0iMCIKIAkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iV0lOMzI7X0RFQlVHO19MSUIiCi0J
CQkJTWluaW1hbFJlYnVpbGQ9IlRSVUUiCisJCQkJTWluaW1hbFJlYnVpbGQ9InRydWUiCiAJCQkJ
QmFzaWNSdW50aW1lQ2hlY2tzPSIzIgogCQkJCVJ1bnRpbWVMaWJyYXJ5PSIzIgogCQkJCVVzZVBy
ZWNvbXBpbGVkSGVhZGVyPSIwIgogCQkJCVdhcm5pbmdMZXZlbD0iMyIKLQkJCQlEZXRlY3Q2NEJp
dFBvcnRhYmlsaXR5UHJvYmxlbXM9IkZBTFNFIgotCQkJCURlYnVnSW5mb3JtYXRpb25Gb3JtYXQ9
IjQiLz4KKwkJCQlEZXRlY3Q2NEJpdFBvcnRhYmlsaXR5UHJvYmxlbXM9ImZhbHNlIgorCQkJCURl
YnVnSW5mb3JtYXRpb25Gb3JtYXQ9IjQiCisJCQkvPgogCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ0N1
c3RvbUJ1aWxkVG9vbCIvPgorCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29s
IgorCQkJLz4KIAkJCTxUb29sCi0JCQkJTmFtZT0iVkNMaWJyYXJpYW5Ub29sIgotCQkJCU91dHB1
dEZpbGU9IiQoT3V0RGlyKS9ndGVzdGQubGliIi8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDTUlE
TFRvb2wiLz4KKwkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIgorCQkJLz4KIAkJCTxU
b29sCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiLz4KKwkJCQlOYW1lPSJWQ1ByZUxp
bmtFdmVudFRvb2wiCisJCQkvPgogCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRU
b29sIi8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCIvPgorCQkJCU5h
bWU9IlZDTGlicmFyaWFuVG9vbCIKKwkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilcZ3Rlc3QubGli
IgorCQkJLz4KIAkJCTxUb29sCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCIvPgor
CQkJCU5hbWU9IlZDQUxpbmtUb29sIgorCQkJLz4KIAkJCTxUb29sCi0JCQkJTmFtZT0iVkNXZWJT
ZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIi8+CisJCQkJTmFtZT0iVkNYRENNYWtlVG9vbCIKKwkJ
CS8+CiAJCQk8VG9vbAotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiLz4KKwkJCQlO
YW1lPSJWQ0JzY01ha2VUb29sIgorCQkJLz4KIAkJCTxUb29sCi0JCQkJTmFtZT0iVkNNYW5hZ2Vk
V3JhcHBlckdlbmVyYXRvclRvb2wiLz4KKwkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCIKKwkJCS8+CiAJ
CQk8VG9vbAotCQkJCU5hbWU9IlZDQXV4aWxpYXJ5TWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29s
Ii8+CisJCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiCisJCQkvPgogCQk8L0NvbmZpZ3Vy
YXRpb24+CiAJCTxDb25maWd1cmF0aW9uCiAJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgotCQkJT3V0
cHV0RGlyZWN0b3J5PSIkKFNvbHV0aW9uTmFtZSkvJChDb25maWd1cmF0aW9uTmFtZSkiCi0JCQlJ
bnRlcm1lZGlhdGVEaXJlY3Rvcnk9IiQoT3V0RGlyKS8kKFByb2plY3ROYW1lKSIKKwkJCU91dHB1
dERpcmVjdG9yeT0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXGxpYiIKIAkJCUNvbmZpZ3VyYXRp
b25UeXBlPSI0IgorCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9IiQoUHJvamVjdERpcilcLi5c
Li5cLi5cLi5cV2ViS2l0TGlicmFyaWVzXHdpblx0b29sc1x2c3Byb3BzXGNvbW1vbi52c3Byb3Bz
IgogCQkJQ2hhcmFjdGVyU2V0PSIyIgotCQkJUmVmZXJlbmNlc1BhdGg9IiZxdW90Oy4uXGluY2x1
ZGUmcXVvdDs7JnF1b3Q7Li4mcXVvdDsiPgorCQkJPgorCQkJPFRvb2wKKwkJCQlOYW1lPSJWQ1By
ZUJ1aWxkRXZlbnRUb29sIgorCQkJLz4KKwkJCTxUb29sCisJCQkJTmFtZT0iVkNDdXN0b21CdWls
ZFRvb2wiCisJCQkvPgorCQkJPFRvb2wKKwkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29s
IgorCQkJLz4KKwkJCTxUb29sCisJCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JU
b29sIgorCQkJLz4KKwkJCTxUb29sCisJCQkJTmFtZT0iVkNNSURMVG9vbCIKKwkJCS8+CiAJCQk8
VG9vbAogCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCiAJCQkJUHJlcHJvY2Vzc29yRGVmaW5p
dGlvbnM9IldJTjMyO05ERUJVRztfTElCIgogCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIgogCQkJCVVz
ZVByZWNvbXBpbGVkSGVhZGVyPSIwIgogCQkJCVdhcm5pbmdMZXZlbD0iMyIKLQkJCQlEZXRlY3Q2
NEJpdFBvcnRhYmlsaXR5UHJvYmxlbXM9IkZBTFNFIgotCQkJCURlYnVnSW5mb3JtYXRpb25Gb3Jt
YXQ9IjMiLz4KKwkJCQlEZXRlY3Q2NEJpdFBvcnRhYmlsaXR5UHJvYmxlbXM9ImZhbHNlIgorCQkJ
CURlYnVnSW5mb3JtYXRpb25Gb3JtYXQ9IjMiCisJCQkvPgogCQkJPFRvb2wKLQkJCQlOYW1lPSJW
Q0N1c3RvbUJ1aWxkVG9vbCIvPgorCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJU
b29sIgorCQkJLz4KIAkJCTxUb29sCi0JCQkJTmFtZT0iVkNMaWJyYXJpYW5Ub29sIgotCQkJCU91
dHB1dEZpbGU9IiQoT3V0RGlyKS9ndGVzdC5saWIiLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNN
SURMVG9vbCIvPgorCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiCisJCQkvPgogCQkJ
PFRvb2wKLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCIvPgorCQkJCU5hbWU9IlZDUHJl
TGlua0V2ZW50VG9vbCIKKwkJCS8+CiAJCQk8VG9vbAotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVu
dFRvb2wiLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIi8+CisJCQkJ
TmFtZT0iVkNMaWJyYXJpYW5Ub29sIgorCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVxndGVzdC5s
aWIiCisJCQkvPgogCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIi8+
CisJCQkJTmFtZT0iVkNBTGlua1Rvb2wiCisJCQkvPgogCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ1dl
YlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiLz4KKwkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIgor
CQkJLz4KIAkJCTxUb29sCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCIvPgorCQkJ
CU5hbWU9IlZDQnNjTWFrZVRvb2wiCisJCQkvPgogCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ01hbmFn
ZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPgorCQkJCU5hbWU9IlZDRnhDb3BUb29sIgorCQkJLz4K
IAkJCTxUb29sCi0JCQkJTmFtZT0iVkNBdXhpbGlhcnlNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRv
b2wiLz4KKwkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCIKKwkJCS8+CiAJCTwvQ29uZmln
dXJhdGlvbj4KIAk8L0NvbmZpZ3VyYXRpb25zPgogCTxSZWZlcmVuY2VzPgpAQCAtOTgsMTM3ICsx
NDUsMTgxIEBACiAJCTxGaWx0ZXIKIAkJCU5hbWU9IlNvdXJjZSBGaWxlcyIKIAkJCUZpbHRlcj0i
Y3BwO2M7Y3h4O2RlZjtvZGw7aWRsO2hwajtiYXQ7YXNtO2FzbXgiCi0JCQlVbmlxdWVJZGVudGlm
aWVyPSJ7NEZDNzM3RjEtQzdBNS00Mzc2LUEwNjYtMkEzMkQ3NTJBMkZGfSI+CisJCQlVbmlxdWVJ
ZGVudGlmaWVyPSJ7NEZDNzM3RjEtQzdBNS00Mzc2LUEwNjYtMkEzMkQ3NTJBMkZGfSIKKwkJCT4K
IAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxzcmNcZ3Rlc3QtZGVhdGgtdGVzdC5jYyI+
CisJCQkJUmVsYXRpdmVQYXRoPSIuLlxzcmNcZ3Rlc3QtZGVhdGgtdGVzdC5jYyIKKwkJCQk+CiAJ
CQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5hbWU9IkRlYnVnfFdpbjMyIj4KKwkJCQkJTmFt
ZT0iRGVidWd8V2luMzIiCisJCQkJCT4KIAkJCQkJPFRvb2wKIAkJCQkJCU5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiCi0JCQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSImcXVvdDsuLiZx
dW90OzsmcXVvdDsuLlxpbmNsdWRlJnF1b3Q7Ii8+CisJCQkJCQlBZGRpdGlvbmFsSW5jbHVkZURp
cmVjdG9yaWVzPSImcXVvdDsuLiZxdW90OzsmcXVvdDsuLlxpbmNsdWRlJnF1b3Q7IgorCQkJCQkv
PgogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJ
CU5hbWU9IlJlbGVhc2V8V2luMzIiPgorCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQk+
CiAJCQkJCTxUb29sCiAJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkJQWRkaXRp
b25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7Li4mcXVvdDs7JnF1b3Q7Li5caW5jbHVkZSZx
dW90OyIvPgorCQkJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7Li4mcXVv
dDs7JnF1b3Q7Li5caW5jbHVkZSZxdW90OyIKKwkJCQkJLz4KIAkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHNyY1xndGVz
dC1maWxlcGF0aC5jYyI+CisJCQkJUmVsYXRpdmVQYXRoPSIuLlxzcmNcZ3Rlc3QtZmlsZXBhdGgu
Y2MiCisJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJEZWJ1Z3xXaW4z
MiI+CisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJCQk+CiAJCQkJCTxUb29sCiAJCQkJCQlO
YW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmll
cz0iJnF1b3Q7Li4mcXVvdDs7JnF1b3Q7Li5caW5jbHVkZSZxdW90OyIvPgorCQkJCQkJQWRkaXRp
b25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7Li4mcXVvdDs7JnF1b3Q7Li5caW5jbHVkZSZx
dW90OyIKKwkJCQkJLz4KIAkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgogCQkJCTxGaWxlQ29uZmln
dXJhdGlvbgotCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIj4KKwkJCQkJTmFtZT0iUmVsZWFzZXxX
aW4zMiIKKwkJCQkJPgogCQkJCQk8VG9vbAogCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIK
LQkJCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90Oy4uJnF1b3Q7OyZxdW90
Oy4uXGluY2x1ZGUmcXVvdDsiLz4KKwkJCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9
IiZxdW90Oy4uJnF1b3Q7OyZxdW90Oy4uXGluY2x1ZGUmcXVvdDsiCisJCQkJCS8+CiAJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRo
PSIuLlxzcmNcZ3Rlc3QtcG9ydC5jYyI+CisJCQkJUmVsYXRpdmVQYXRoPSIuLlxzcmNcZ3Rlc3Qt
cG9ydC5jYyIKKwkJCQk+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5hbWU9IkRlYnVn
fFdpbjMyIj4KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCT4KIAkJCQkJPFRvb2wKIAkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVj
dG9yaWVzPSImcXVvdDsuLiZxdW90OzsmcXVvdDsuLlxpbmNsdWRlJnF1b3Q7Ii8+CisJCQkJCQlB
ZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSImcXVvdDsuLiZxdW90OzsmcXVvdDsuLlxpbmNs
dWRlJnF1b3Q7IgorCQkJCQkvPgogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQkJPEZpbGVD
b25maWd1cmF0aW9uCi0JCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiPgorCQkJCQlOYW1lPSJSZWxl
YXNlfFdpbjMyIgorCQkJCQk+CiAJCQkJCTxUb29sCiAJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJU
b29sIgotCQkJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7Li4mcXVvdDs7
JnF1b3Q7Li5caW5jbHVkZSZxdW90OyIvPgorCQkJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rv
cmllcz0iJnF1b3Q7Li4mcXVvdDs7JnF1b3Q7Li5caW5jbHVkZSZxdW90OyIKKwkJCQkJLz4KIAkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXHNyY1xndGVzdC10ZXN0LXBhcnQuY2MiPgorCQkJCVJlbGF0aXZlUGF0aD0iLi5c
c3JjXGd0ZXN0LXRlc3QtcGFydC5jYyIKKwkJCQk+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCi0J
CQkJCU5hbWU9IkRlYnVnfFdpbjMyIj4KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCT4K
IAkJCQkJPFRvb2wKIAkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCQlBZGRpdGlv
bmFsSW5jbHVkZURpcmVjdG9yaWVzPSImcXVvdDsuLiZxdW90OzsmcXVvdDsuLlxpbmNsdWRlJnF1
b3Q7Ii8+CisJCQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSImcXVvdDsuLiZxdW90
OzsmcXVvdDsuLlxpbmNsdWRlJnF1b3Q7IgorCQkJCQkvPgogCQkJCTwvRmlsZUNvbmZpZ3VyYXRp
b24+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiPgor
CQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQk+CiAJCQkJCTxUb29sCiAJCQkJCQlOYW1l
PSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0i
JnF1b3Q7Li4mcXVvdDs7JnF1b3Q7Li5caW5jbHVkZSZxdW90OyIvPgorCQkJCQkJQWRkaXRpb25h
bEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7Li4mcXVvdDs7JnF1b3Q7Li5caW5jbHVkZSZxdW90
OyIKKwkJCQkJLz4KIAkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgogCQkJPC9GaWxlPgogCQkJPEZp
bGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHNyY1xndGVzdC10eXBlZC10ZXN0LmNjIj4KKwkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXHNyY1xndGVzdC10eXBlZC10ZXN0LmNjIgorCQkJCT4KIAkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iRGVidWd8V2luMzIiPgorCQkJCQlOYW1lPSJEZWJ1
Z3xXaW4zMiIKKwkJCQkJPgogCQkJCQk8VG9vbAogCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9v
bCIKLQkJCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90Oy4uJnF1b3Q7OyZx
dW90Oy4uXGluY2x1ZGUmcXVvdDsiLz4KKwkJCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3Jp
ZXM9IiZxdW90Oy4uJnF1b3Q7OyZxdW90Oy4uXGluY2x1ZGUmcXVvdDsiCisJCQkJCS8+CiAJCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0i
UmVsZWFzZXxXaW4zMiI+CisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCT4KIAkJCQkJ
PFRvb2wKIAkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCQlBZGRpdGlvbmFsSW5j
bHVkZURpcmVjdG9yaWVzPSImcXVvdDsuLiZxdW90OzsmcXVvdDsuLlxpbmNsdWRlJnF1b3Q7Ii8+
CisJCQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSImcXVvdDsuLiZxdW90OzsmcXVv
dDsuLlxpbmNsdWRlJnF1b3Q7IgorCQkJCQkvPgogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJ
CQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cc3JjXGd0ZXN0LmNjIj4K
KwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHNyY1xndGVzdC5jYyIKKwkJCQk+CiAJCQkJPEZpbGVDb25m
aWd1cmF0aW9uCi0JCQkJCU5hbWU9IkRlYnVnfFdpbjMyIj4KKwkJCQkJTmFtZT0iRGVidWd8V2lu
MzIiCisJCQkJCT4KIAkJCQkJPFRvb2wKIAkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0J
CQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSImcXVvdDsuLiZxdW90OzsmcXVvdDsu
LlxpbmNsdWRlJnF1b3Q7Ii8+CisJCQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIm
cXVvdDsuLiZxdW90OzsmcXVvdDsuLlxpbmNsdWRlJnF1b3Q7IgorCQkJCQkvPgogCQkJCTwvRmls
ZUNvbmZpZ3VyYXRpb24+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5hbWU9IlJlbGVh
c2V8V2luMzIiPgorCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQk+CiAJCQkJCTxUb29s
CiAJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkJQWRkaXRpb25hbEluY2x1ZGVE
aXJlY3Rvcmllcz0iJnF1b3Q7Li4mcXVvdDs7JnF1b3Q7Li5caW5jbHVkZSZxdW90OyIvPgorCQkJ
CQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7Li4mcXVvdDs7JnF1b3Q7Li5c
aW5jbHVkZSZxdW90OyIKKwkJCQkJLz4KIAkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgogCQkJPC9G
aWxlPgogCQk8L0ZpbHRlcj4KIAkJPEZpbHRlcgogCQkJTmFtZT0iSGVhZGVyIEZpbGVzIgogCQkJ
RmlsdGVyPSJoO2hwcDtoeHg7aG07aW5sO2luYzt4c2QiCi0JCQlVbmlxdWVJZGVudGlmaWVyPSJ7
OTM5OTUzODAtODlCRC00YjA0LTg4RUItNjI1RkJFNTJFQkZCfSI+CisJCQlVbmlxdWVJZGVudGlm
aWVyPSJ7OTM5OTUzODAtODlCRC00YjA0LTg4RUItNjI1RkJFNTJFQkZCfSIKKwkJCT4KIAkJCTxG
aWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxpbmNsdWRlXGd0ZXN0XGludGVybmFsXGd0ZXN0LWRl
YXRoLXRlc3QtaW50ZXJuYWwuaCI+CisJCQkJUmVsYXRpdmVQYXRoPSIuLlxpbmNsdWRlXGd0ZXN0
XGludGVybmFsXGd0ZXN0LWRlYXRoLXRlc3QtaW50ZXJuYWwuaCIKKwkJCQk+CiAJCQk8L0ZpbGU+
CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5jbHVkZVxndGVzdFxndGVzdC1kZWF0
aC10ZXN0LmgiPgorCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5jbHVkZVxndGVzdFxndGVzdC1kZWF0
aC10ZXN0LmgiCisJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXGluY2x1ZGVcZ3Rlc3RcaW50ZXJuYWxcZ3Rlc3QtZmlsZXBhdGguaCI+CisJCQkJUmVsYXRp
dmVQYXRoPSIuLlxpbmNsdWRlXGd0ZXN0XGludGVybmFsXGd0ZXN0LWZpbGVwYXRoLmgiCisJCQkJ
PgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHNyY1xndGVzdC1p
bnRlcm5hbC1pbmwuaCI+CisJCQkJUmVsYXRpdmVQYXRoPSIuLlxzcmNcZ3Rlc3QtaW50ZXJuYWwt
aW5sLmgiCisJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XGluY2x1ZGVcZ3Rlc3RcaW50ZXJuYWxcZ3Rlc3QtaW50ZXJuYWwuaCI+CisJCQkJUmVsYXRpdmVQ
YXRoPSIuLlxpbmNsdWRlXGd0ZXN0XGludGVybmFsXGd0ZXN0LWludGVybmFsLmgiCisJCQkJPgog
CQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluY2x1ZGVcZ3Rlc3Rc
Z3Rlc3QtbWVzc2FnZS5oIj4KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluY2x1ZGVcZ3Rlc3RcZ3Rl
c3QtbWVzc2FnZS5oIgorCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQ
YXRoPSIuLlxpbmNsdWRlXGd0ZXN0XGludGVybmFsXGd0ZXN0LXBvcnQuaCI+CisJCQkJUmVsYXRp
dmVQYXRoPSIuLlxpbmNsdWRlXGd0ZXN0XGludGVybmFsXGd0ZXN0LXBvcnQuaCIKKwkJCQk+CiAJ
CQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5jbHVkZVxndGVzdFxn
dGVzdC1zcGkuaCI+CisJCQkJUmVsYXRpdmVQYXRoPSIuLlxpbmNsdWRlXGd0ZXN0XGd0ZXN0LXNw
aS5oIgorCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxp
bmNsdWRlXGd0ZXN0XGludGVybmFsXGd0ZXN0LXN0cmluZy5oIj4KKwkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXGluY2x1ZGVcZ3Rlc3RcaW50ZXJuYWxcZ3Rlc3Qtc3RyaW5nLmgiCisJCQkJPgogCQkJPC9G
aWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluY2x1ZGVcZ3Rlc3RcZ3Rlc3Qu
aCI+CisJCQkJUmVsYXRpdmVQYXRoPSIuLlxpbmNsdWRlXGd0ZXN0XGd0ZXN0LmgiCisJCQkJPgog
CQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluY2x1ZGVcZ3Rlc3Rc
Z3Rlc3RfcHJlZF9pbXBsLmgiPgorCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5jbHVkZVxndGVzdFxn
dGVzdF9wcmVkX2ltcGwuaCIKKwkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0
aXZlUGF0aD0iLi5caW5jbHVkZVxndGVzdFxndGVzdF9wcm9kLmgiPgorCQkJCVJlbGF0aXZlUGF0
aD0iLi5caW5jbHVkZVxndGVzdFxndGVzdF9wcm9kLmgiCisJCQkJPgogCQkJPC9GaWxlPgogCQk8
L0ZpbHRlcj4KIAk8L0ZpbGVzPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCmluZGV4IDlhMjA2NmI1Li5kODA2NTZh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTEtMDUtMDYgIERtaXRyeSBM
b21vdiAgPGRzbG9tb3ZAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBTd2l0Y2ggVGVzdFdlYktpdEFQSSB0byBHVGVzdAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk1NjEKKworICAgICAg
ICAqIFdlYktpdC52Y3Byb2ovV2ViS2l0LnNsbjoKKwogMjAxMS0wNS0wNiAgQWRhbSBSb2JlbiAg
PGFyb2JlbkBhcHBsZS5jb20+CiAKICAgICAgICAgVG91Y2ggV2ViS2l0LmlkbCB0byBmaXggdGhl
IGJ1aWxkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJLaXQudmNwcm9qL1dlYktp
dC5zbG4gYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJLaXQudmNwcm9qL1dlYktpdC5zbG4KaW5kZXgg
YjJiOGQ5Mi4uMDhlZGFlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViS2l0LnZj
cHJvai9XZWJLaXQuc2xuCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYktpdC52Y3Byb2ovV2Vi
S2l0LnNsbgpAQCAtMTUzLDYgKzE1Myw4IEBAIFByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAt
OEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAiVGVzdFdlYktpdEFQSUluamVjdGVkQnVuZGxlCiAJCXsz
RTQ4QUIyMy1EMjQ5LTQ4OEYtQTFDNC00M0NERjUyRkJEMjh9ID0gezNFNDhBQjIzLUQyNDktNDg4
Ri1BMUM0LTQzQ0RGNTJGQkQyOH0KIAlFbmRQcm9qZWN0U2VjdGlvbgogRW5kUHJvamVjdAorUHJv
amVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJndGVzdC1t
ZCIsICIuLlwuLlwuLlxUaGlyZFBhcnR5XGd0ZXN0XG1zdmNcZ3Rlc3QtbWQudmNwcm9qIiwgIntD
OEY2QzE3Mi01NkYyLTRFNzYtQjVGQS1DM0I0MjNCMzFCRTh9IgorRW5kUHJvamVjdAogR2xvYmFs
CiAJR2xvYmFsU2VjdGlvbihTb2x1dGlvbkNvbmZpZ3VyYXRpb25QbGF0Zm9ybXMpID0gcHJlU29s
dXRpb24KIAkJRGVidWdfQWxsfFdpbjMyID0gRGVidWdfQWxsfFdpbjMyCkBAIC01MDksNiArNTEx
LDE4IEBAIEdsb2JhbAogCQl7QjAxMDE2MDQtQjQ4My00RjhDLTlDNTEtOTBCNDZBMkIxQ0QzfS5Q
cm9kdWN0aW9ufFdpbjMyLkJ1aWxkLjAgPSBQcm9kdWN0aW9ufFdpbjMyCiAJCXtCMDEwMTYwNC1C
NDgzLTRGOEMtOUM1MS05MEI0NkEyQjFDRDN9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVs
ZWFzZXxXaW4zMgogCQl7QjAxMDE2MDQtQjQ4My00RjhDLTlDNTEtOTBCNDZBMkIxQ0QzfS5SZWxl
YXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyCisgICAgICAgICAgICAgICAge0M4RjZD
MTcyLTU2RjItNEU3Ni1CNUZBLUMzQjQyM0IzMUJFOH0uRGVidWdfQWxsfFdpbjMyLkFjdGl2ZUNm
ZyA9IERlYnVnfFdpbjMyCisJCXtDOEY2QzE3Mi01NkYyLTRFNzYtQjVGQS1DM0I0MjNCMzFCRTh9
LkRlYnVnX0FsbHxXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzIKKwkJe0M4RjZDMTcyLTU2RjIt
NEU3Ni1CNUZBLUMzQjQyM0IzMUJFOH0uRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyLkFjdGl2ZUNm
ZyA9IERlYnVnfFdpbjMyCisJCXtDOEY2QzE3Mi01NkYyLTRFNzYtQjVGQS1DM0I0MjNCMzFCRTh9
LkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzIKKwkJe0M4RjZD
MTcyLTU2RjItNEU3Ni1CNUZBLUMzQjQyM0IzMUJFOH0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0g
RGVidWd8V2luMzIKKwkJe0M4RjZDMTcyLTU2RjItNEU3Ni1CNUZBLUMzQjQyM0IzMUJFOH0uRGVi
dWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyCisJCXtDOEY2QzE3Mi01NkYyLTRFNzYtQjVG
QS1DM0I0MjNCMzFCRTh9LlByb2R1Y3Rpb258V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4z
MgorCQl7QzhGNkMxNzItNTZGMi00RTc2LUI1RkEtQzNCNDIzQjMxQkU4fS5Qcm9kdWN0aW9ufFdp
bjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyCisJCXtDOEY2QzE3Mi01NkYyLTRFNzYtQjVGQS1D
M0I0MjNCMzFCRTh9LlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVh
c2V8V2luMzIKKwkJe0M4RjZDMTcyLTU2RjItNEU3Ni1CNUZBLUMzQjQyM0IzMUJFOH0uUmVsZWFz
ZV9DYWlyb19DRkxpdGV8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzIKKwkJe0M4RjZDMTcy
LTU2RjItNEU3Ni1CNUZBLUMzQjQyM0IzMUJFOH0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBS
ZWxlYXNlfFdpbjMyCisJCXtDOEY2QzE3Mi01NkYyLTRFNzYtQjVGQS1DM0I0MjNCMzFCRTh9LlJl
bGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzIKIAlFbmRHbG9iYWxTZWN0aW9uCiAJ
R2xvYmFsU2VjdGlvbihTb2x1dGlvblByb3BlcnRpZXMpID0gcHJlU29sdXRpb24KIAkJSGlkZVNv
bHV0aW9uTm9kZSA9IEZBTFNFCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9D
aGFuZ2VMb2cKaW5kZXggNmFiZWNkNS4uNWE3NWMyNyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdl
TG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDExLTA1LTA2ICBE
bWl0cnkgTG9tb3YgIDxkc2xvbW92QGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3dpdGNoIFRlc3RXZWJLaXRBUEkgdG8gR1Rlc3QK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU5NTYxCisK
KyAgICAgICAgKiBTY3JpcHRzL2J1aWxkLWFwaS10ZXN0czoKKyAgICAgICAgKiBTY3JpcHRzL3J1
bi1hcGktdGVzdHM6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9UZXN0
V2ViS2l0QVBJQ29tbW9uLnZzcHJvcHM6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0Lmg6
CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2o6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvVmVjdG9yQmFzaWMu
Y3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktp
dEFQSS9UZXN0c0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VGVzdHND
b250cm9sbGVyOjpUZXN0c0NvbnRyb2xsZXIpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VGVz
dHNDb250cm9sbGVyOjpkdW1wVGVzdE5hbWVzKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRl
c3RzQ29udHJvbGxlcjo6cnVuVGVzdE5hbWVkKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRl
c3RzQ29udHJvbGxlcjo6cnVuQWxsVGVzdHMpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVz
dHNDb250cm9sbGVyLmg6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9tYWMvbWFpbi5tbToKKyAg
ICAgICAgKG1haW4pOgorCiAyMDExLTA1LTA2ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL2J1aWxkLWFwaS10ZXN0cyBiL1Rvb2xzL1NjcmlwdHMvYnVpbGQtYXBpLXRlc3Rz
CmluZGV4IGRkMjIzMWMuLmY2ZGRlYzAgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvYnVpbGQt
YXBpLXRlc3RzCisrKyBiL1Rvb2xzL1NjcmlwdHMvYnVpbGQtYXBpLXRlc3RzCkBAIC01NiwxMiAr
NTYsMTUgQEAgc2V0Q29uZmlndXJhdGlvbigpOwogY2hkaXJXZWJLaXQoKTsKIAogIyBCdWlsZAot
Y2hkaXIgIlRvb2xzL1Rlc3RXZWJLaXRBUEkiIG9yIGRpZTsKIAogbXkgJHJlc3VsdDsKIGlmIChp
c0FwcGxlTWFjV2ViS2l0KCkpIHsKKyAgICBjaGRpciAiU291cmNlL1RoaXJkUGFydHkvZ3Rlc3Qi
OworICAgIGJ1aWxkWENvZGVQcm9qZWN0KCJ4Y29kZS9ndGVzdCIsICRjbGVhbiwgWGNvZGVPcHRp
b25zKCksIEBBUkdWKTsKKyAgICBjaGRpciAiLi4vLi4vLi4vVG9vbHMvVGVzdFdlYktpdEFQSSIg
b3IgZGllOwogICAgICRyZXN1bHQgPSBidWlsZFhDb2RlUHJvamVjdCgiVGVzdFdlYktpdEFQSSIs
ICRjbGVhbiwgWGNvZGVPcHRpb25zKCksIEBBUkdWKTsKIH0gZWxzaWYgKGlzQXBwbGVXaW5XZWJL
aXQoKSkgeworICAgIGNoZGlyICJUb29scy9UZXN0V2ViS2l0QVBJIiBvciBkaWU7CiAgICAgJHJl
c3VsdCA9IGJ1aWxkVmlzdWFsU3R1ZGlvUHJvamVjdCgid2luL1Rlc3RXZWJLaXRBUEkuc2xuIiwg
JGNsZWFuKTsKIH0gZWxzZSB7CiAgICAgZGllICJUZXN0V2ViS2l0QVBJIGlzIG5vdCBzdXBwb3J0
ZWQgb24gdGhpcyBwbGF0Zm9ybS5cbiI7CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3J1bi1h
cGktdGVzdHMgYi9Ub29scy9TY3JpcHRzL3J1bi1hcGktdGVzdHMKaW5kZXggOTcxMzY2Mi4uMzBl
NDNhZCAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9ydW4tYXBpLXRlc3RzCisrKyBiL1Rvb2xz
L1NjcmlwdHMvcnVuLWFwaS10ZXN0cwpAQCAtMTIyLDcgKzEyMiw3IEBAIHN1YiBydW5BbGxUZXN0
c0luU3VpdGUoJCkKIHN1YiBydW5UZXN0KCQkKQogewogICAgIG15ICgkc3VpdGUsICR0ZXN0TmFt
ZSkgPSBAXzsKLSAgICBteSAkdGVzdCA9ICRzdWl0ZSAuICIvIiAuICR0ZXN0TmFtZTsKKyAgICBt
eSAkdGVzdCA9ICRzdWl0ZSAuICIuIiAuICR0ZXN0TmFtZTsKIAogICAgIHByaW50ICIgICAgVGVz
dDogJHRlc3ROYW1lIC0+ICI7CiAKQEAgLTIzNSw3ICsyMzUsNyBAQCBzdWIgcG9wdWxhdGVUZXN0
cygpCiAgICAgbXkgJWtleWVkVGVzdHMgPSAoKTsKICAgICBmb3IgbXkgJHRlc3QgKEB0ZXN0cykg
ewogICAgICAgICAkdGVzdCA9fiBzL1tcclxuXSokLy87Ci0gICAgICAgIG15ICgkc3VpdGUsICR0
ZXN0TmFtZSkgPSBzcGxpdCgvXC8vLCAkdGVzdCk7CisgICAgICAgIG15ICgkc3VpdGUsICR0ZXN0
TmFtZSkgPSBzcGxpdCgvXC4vLCAkdGVzdCk7CiAgICAgICAgIHB1c2ggQHska2V5ZWRUZXN0c3sk
c3VpdGV9fSwgJHRlc3ROYW1lOwogICAgIH0KICAgICAKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvVGVzdFdlYktpdEFQSUNvbW1vbi52c3Byb3BzIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9UZXN0V2ViS2l0QVBJQ29tbW9uLnZzcHJv
cHMKaW5kZXggNjc0MmZmMS4uYWViZmM5MiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9Db25maWd1cmF0aW9ucy9UZXN0V2ViS2l0QVBJQ29tbW9uLnZzcHJvcHMKKysrIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9UZXN0V2ViS2l0QVBJQ29tbW9uLnZzcHJvcHMK
QEAgLTYsMTIgKzYsMTIgQEAKIAk+CiAJPFRvb2wKIAkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIK
LQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7JChQcm9qZWN0RGlyKSZxdW90
OzsmcXVvdDskKFByb2plY3REaXIpXC4uJnF1b3Q7OyZxdW90OyQoQ29uZmlndXJhdGlvbkJ1aWxk
RGlyKVxpbmNsdWRlJnF1b3Q7OyZxdW90OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxpbmNsdWRl
XFdlYkNvcmVcRm9yd2FyZGluZ0hlYWRlcnMmcXVvdDs7JnF1b3Q7JChDb25maWd1cmF0aW9uQnVp
bGREaXIpXGluY2x1ZGVccHJpdmF0ZSZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0Rpcilc
aW5jbHVkZSZxdW90OyIKKyAgICAgICAgICAgICAgICBBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9y
aWVzPSImcXVvdDskKFByb2plY3REaXIpJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi4mcXVv
dDs7JnF1b3Q7JChDb25maWd1cmF0aW9uQnVpbGREaXIpXGluY2x1ZGUmcXVvdDs7JnF1b3Q7JChD
b25maWd1cmF0aW9uQnVpbGREaXIpXGluY2x1ZGVcV2ViQ29yZVxGb3J3YXJkaW5nSGVhZGVycyZx
dW90OzsmcXVvdDskKENvbmZpZ3VyYXRpb25CdWlsZERpcilcaW5jbHVkZVxwcml2YXRlJnF1b3Q7
OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxpbmNsdWRlJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcilcLi5cLi5cLi5cU291cmNlXFRoaXJkUGFydHlcZ3Rlc3RcaW5jbHVkZSZxdW90OyIKIAkJ
Rm9yY2VkSW5jbHVkZUZpbGVzPSJUZXN0V2ViS2l0QVBJUHJlZml4LmgiCiAJLz4KIAk8VG9vbAog
CQlOYW1lPSJWQ0xpbmtlclRvb2wiCi0JCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IldlYktpdCQo
V2ViS2l0RExMQ29uZmlnU3VmZml4KS5saWIgSmF2YVNjcmlwdENvcmUkKFdlYktpdERMTENvbmZp
Z1N1ZmZpeCkubGliIgorCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJXZWJLaXQkKFdlYktpdERM
TENvbmZpZ1N1ZmZpeCkubGliIEphdmFTY3JpcHRDb3JlJChXZWJLaXRETExDb25maWdTdWZmaXgp
LmxpYiBndGVzdC5saWIiCiAJCVN1YlN5c3RlbT0iMSIKIAkvPgogPC9WaXN1YWxTdHVkaW9Qcm9w
ZXJ0eVNoZWV0PgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0LmggYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3QuaAppbmRleCBlZDc3MmQ1Li5mOTAzNTA3IDEwMDY0NAotLS0g
YS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3QuaAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3QuaApAQCAtMjgsNjAgKzI4LDE4IEBACiAKICNpbmNsdWRlICJUZXN0c0NvbnRyb2xsZXIuaCIK
IAotbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgewotCi0vLyBBYnN0cmFjdCBiYXNlIGNsYXNzIHRo
YXQgYWxsIHRlc3RzIGluaGVyaXQgZnJvbS4KLWNsYXNzIFRlc3QgewotcHVibGljOgotICAgIHZp
cnR1YWwgflRlc3QoKSB7IH0KLSAgICAKLSAgICB2aXJ0dWFsIHZvaWQgcnVuKCkgPSAwOwotICAg
IHN0ZDo6c3RyaW5nIG5hbWUoKSBjb25zdCB7IHJldHVybiBtX2lkZW50aWZpZXI7IH0KLSAgICAK
LSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUZXN0Q2xhc3NUeT4gY2xhc3MgUmVnaXN0ZXIgewotICAg
IHB1YmxpYzoKLSAgICAgICAgUmVnaXN0ZXIoY29uc3Qgc3RkOjpzdHJpbmcmIHRlc3RTdWl0ZSwg
Y29uc3Qgc3RkOjpzdHJpbmcmIHRlc3RDYXNlKQotICAgICAgICB7Ci0gICAgICAgICAgICBUZXN0
c0NvbnRyb2xsZXI6OnNoYXJlZCgpLnJlZ2lzdGVyQ3JlYXRlVGVzdEZ1bmN0aW9uKHRlc3RTdWl0
ZSArICIvIiArIHRlc3RDYXNlLCBSZWdpc3Rlcjo6Y3JlYXRlKTsKLSAgICAgICAgfQotICAgIAot
ICAgIHByaXZhdGU6Ci0gICAgICAgIHN0YXRpYyBUZXN0KiBjcmVhdGUoY29uc3Qgc3RkOjpzdHJp
bmcmIGlkZW50aWZpZXIpIAotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gbmV3IFRlc3RD
bGFzc1R5KGlkZW50aWZpZXIpOwotICAgICAgICB9Ci0gICAgfTsKLQotcHJvdGVjdGVkOgotICAg
IFRlc3QoY29uc3Qgc3RkOjpzdHJpbmcmIGlkZW50aWZpZXIpCi0gICAgICAgIDogbV9pZGVudGlm
aWVyKGlkZW50aWZpZXIpCi0gICAgewotICAgIH0KKyNpbmNsdWRlIDxndGVzdC9ndGVzdC5oPgog
Ci0gICAgc3RkOjpzdHJpbmcgbV9pZGVudGlmaWVyOwotfTsKLQotI2RlZmluZSBURVNUX0NMQVNT
X05BTUUodGVzdFN1aXRlLCB0ZXN0Q2FzZU5hbWUpIHRlc3RTdWl0ZSMjdGVzdENhc2VOYW1lIyNf
VGVzdAotI2RlZmluZSBURVNUX1JFR0lTVFJBUl9OQU1FKHRlc3RTdWl0ZSwgdGVzdENhc2VOYW1l
KSB0ZXN0U3VpdGUjI3Rlc3RDYXNlTmFtZSMjX1JlZ2lzdHJhcgorbmFtZXNwYWNlIFRlc3RXZWJL
aXRBUEkgewogCi0vLyBVc2UgdGhpcyB0byBkZWZpbmUgYSBuZXcgdGVzdC4KLSNkZWZpbmUgVEVT
VCh0ZXN0U3VpdGUsIHRlc3RDYXNlTmFtZSkgXAotICAgIGNsYXNzIFRFU1RfQ0xBU1NfTkFNRSh0
ZXN0U3VpdGUsIHRlc3RDYXNlTmFtZSkgOiBwdWJsaWMgVGVzdCB7IFwKLSAgICBwdWJsaWM6IFwK
LSAgICAgICAgVEVTVF9DTEFTU19OQU1FKHRlc3RTdWl0ZSwgdGVzdENhc2VOYW1lKShjb25zdCBz
dGQ6OnN0cmluZyYgaWRlbnRpZmllcikgXAotICAgICAgICAgICAgOiBUZXN0KGlkZW50aWZpZXIp
IFwKLSAgICAgICAgeyBcCisjZGVmaW5lIFRFU1RfQVNTRVJUKGV4cHJlc3Npb24pIEVYUEVDVF9U
UlVFKGV4cHJlc3Npb24pCisjZGVmaW5lIFRFU1RfQVNTRVJUX1JFVFVSTihleHByZXNzaW9uLCBy
ZXR1cm5WYWx1ZSkgXAorICAgIGRvIHsgXAorICAgICAgICBpZiAoIShleHByZXNzaW9uKSkgeyBc
CisgICAgICAgICAgICBFWFBFQ1RfRkFMU0UodHJ1ZSkgPDwgI2V4cHJlc3Npb247IFwKKyAgICAg
ICAgICAgIHJldHVybiAocmV0dXJuVmFsdWUpOyBcCiAgICAgICAgIH0gXAotICAgICAgICB2aXJ0
dWFsIHZvaWQgcnVuKCk7IFwKLSAgICB9OyBcCi0gICAgXAotICAgIHN0YXRpYyBUZXN0OjpSZWdp
c3RlcjxURVNUX0NMQVNTX05BTUUodGVzdFN1aXRlLCB0ZXN0Q2FzZU5hbWUpPiBURVNUX1JFR0lT
VFJBUl9OQU1FKHRlc3RTdWl0ZSwgdGVzdENhc2VOYW1lKSgjdGVzdFN1aXRlLCAjdGVzdENhc2VO
YW1lKTsgXAotICAgIFwKLSAgICB2b2lkIFRFU1RfQ0xBU1NfTkFNRSh0ZXN0U3VpdGUsIHRlc3RD
YXNlTmFtZSk6OnJ1bigpCi0KLSNkZWZpbmUgX1RFU1RfQVNTRVJUX0hFTFBFUihleHByZXNzaW9u
LCByZXR1cm5TdGF0ZW1lbnQpIGRvIHsgaWYgKCEoZXhwcmVzc2lvbikpIHsgVGVzdHNDb250cm9s
bGVyOjpzaGFyZWQoKS50ZXN0RmFpbGVkKF9fRklMRV9fLCBfX0xJTkVfXywgI2V4cHJlc3Npb24p
OyByZXR1cm5TdGF0ZW1lbnQ7IH0gfSB3aGlsZSAoMCkKLSNkZWZpbmUgVEVTVF9BU1NFUlQoZXhw
cmVzc2lvbikgX1RFU1RfQVNTRVJUX0hFTFBFUihleHByZXNzaW9uLCByZXR1cm4pCi0jZGVmaW5l
IFRFU1RfQVNTRVJUX1JFVFVSTihleHByZXNzaW9uLCByZXR1cm5WYWx1ZSkgX1RFU1RfQVNTRVJU
X0hFTFBFUihleHByZXNzaW9uLCByZXR1cm4gKHJldHVyblZhbHVlKSkKKyAgICB9IHdoaWxlICgw
KQogCiB9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
aW5kZXggODZiNjkxZC4uZjAwOTczMCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTU3LDYg
KzU3LDcgQEAKIAkJQzBBREJFOTYxMkZDQTc5QjAwRDJDMTI5IC8qIHNpbXBsZS1mb3JtLmh0bWwg
aW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzBB
REJFODQxMkZDQTZCNjAwRDJDMTI5IC8qIHNpbXBsZS1mb3JtLmh0bWwgKi87IH07CiAJCUMwQkQ2
NjlEMTMxRDNDRjcwMEUxOEYyQSAvKiBSZXNwb25zaXZlbmVzc1RpbWVyRG9lc250RmlyZUVhcmx5
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMwQkQ2
NjlDMTMxRDNDRjcwMEUxOEYyQSAvKiBSZXNwb25zaXZlbmVzc1RpbWVyRG9lc250RmlyZUVhcmx5
LmNwcCAqLzsgfTsKIAkJQzBCRDY2OUYxMzFEM0NGRjAwRTE4RjJBIC8qIFJlc3BvbnNpdmVuZXNz
VGltZXJEb2VzbnRGaXJlRWFybHlfQnVuZGxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMwQkQ2NjlFMTMxRDNDRkYwMEUxOEYyQSAvKiBSZXNwb25z
aXZlbmVzc1RpbWVyRG9lc250RmlyZUVhcmx5X0J1bmRsZS5jcHAgKi87IH07CisJCUYzRkMzRUUz
MTM2NzhCNzMwMDEyNkE2NSAvKiBsaWJndGVzdC5hIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjNGQzNFRTIxMzY3OEI3MzAwMTI2QTY1IC8qIGxpYmd0
ZXN0LmEgKi87IH07CiAJCUY2RjNGMjkxMTMzNDJGRUIwMEE2QkYxOSAvKiBDb29raWVNYW5hZ2Vy
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY2RjNG
MjkwMTMzNDJGRUIwMEE2QkYxOSAvKiBDb29raWVNYW5hZ2VyLmNwcCAqLzsgfTsKIC8qIEVuZCBQ
QlhCdWlsZEZpbGUgc2VjdGlvbiAqLwogCkBAIC0xNjAsNiArMTYxLDcgQEAKIAkJQzBBREJFODQx
MkZDQTZCNjAwRDJDMTI5IC8qIHNpbXBsZS1mb3JtLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7
IHBhdGggPSAic2ltcGxlLWZvcm0uaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUMwQkQ2NjlDMTMxRDNDRjcwMEUxOEYyQSAvKiBSZXNwb25zaXZlbmVzc1RpbWVyRG9lc250Rmly
ZUVhcmx5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlc3BvbnNp
dmVuZXNzVGltZXJEb2VzbnRGaXJlRWFybHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlDMEJENjY5RTEzMUQzQ0ZGMDBFMThGMkEgLyogUmVzcG9uc2l2ZW5lc3NUaW1lckRvZXNu
dEZpcmVFYXJseV9CdW5kbGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gUmVzcG9uc2l2ZW5lc3NUaW1lckRvZXNudEZpcmVFYXJseV9CdW5kbGUuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlGM0ZDM0VFMjEzNjc4QjczMDAxMjZBNjUgLyogbGliZ3Rl
c3QuYSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IGFy
Y2hpdmUuYXI7IG5hbWUgPSBsaWJndGVzdC5hOyBwYXRoID0gLi4vLi4vV2ViS2l0QnVpbGQvRGVi
dWcvbGliZ3Rlc3QuYTsgc291cmNlVHJlZSA9IFNPVVJDRV9ST09UOyB9OwogCQlGNkYzRjI5MDEz
MzQyRkVCMDBBNkJGMTkgLyogQ29va2llTWFuYWdlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBDb29raWVNYW5hZ2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIC8qIEVuZCBQQlhGaWxlUmVmZXJlbmNlIHNlY3Rpb24gKi8KIApAQCAtMTcyLDYgKzE3
NCw3IEBACiAJCQkJQkNBNjFEQjUxMTcwMEVGRDAwNDYwRDFFIC8qIFdlYktpdDIuZnJhbWV3b3Jr
IGluIEZyYW1ld29ya3MgKi8sCiAJCQkJQkM5MDk2NEUxMjU1NjIwQzAwMDgzNzU2IC8qIEphdmFT
Y3JpcHRDb3JlLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAogCQkJCUMwMkI3ODU0MTI2NjEz
QUUwMDI2QkYwRiAvKiBDYXJib24uZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCisJCQkJRjNG
QzNFRTMxMzY3OEI3MzAwMTI2QTY1IC8qIGxpYmd0ZXN0LmEgaW4gRnJhbWV3b3JrcyAqLywKIAkJ
CSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAg
LTIyMiw2ICsyMjUsNyBAQAogCQkwOEZCNzc5REZFODQxNTVEQzAyQUFDMDcgLyogRXh0ZXJuYWwg
RnJhbWV3b3JrcyBhbmQgTGlicmFyaWVzICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQlj
aGlsZHJlbiA9ICgKKwkJCQlGM0ZDM0VFMjEzNjc4QjczMDAxMjZBNjUgLyogbGliZ3Rlc3QuYSAq
LywKIAkJCQlCQ0I5RTlGMDExMjM1QkRFMDBBMTM3RTAgLyogQ29jb2EuZnJhbWV3b3JrICovLAog
CQkJCUJDOTA5NjREMTI1NTYyMEMwMDA4Mzc1NiAvKiBKYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsg
Ki8sCiAJCQkJQkNBNjFEQjQxMTcwMEVGRDAwNDYwRDFFIC8qIFdlYktpdDIuZnJhbWV3b3JrICov
LApAQCAtNDc5LDYgKzQ4MywxNCBAQAogCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSBC
QzkwOTU4MDEyNTU0Q0Y5MDAwODM3NTYgLyogVGVzdFdlYktpdEFQSS54Y2NvbmZpZyAqLzsKIAkJ
CWJ1aWxkU2V0dGluZ3MgPSB7CiAJCQkJRlJBTUVXT1JLX1NFQVJDSF9QQVRIUyA9ICIkKGluaGVy
aXRlZCkiOworCQkJCUhFQURFUl9TRUFSQ0hfUEFUSFMgPSAoCisJCQkJCS4uLy4uL1NvdXJjZS9U
aGlyZFBhcnR5L2d0ZXN0L2luY2x1ZGUsCisJCQkJCSIkKFdFQkNPUkVfUFJJVkFURV9IRUFERVJT
X0RJUikvRm9yd2FyZGluZ0hlYWRlcnMiLAorCQkJCSk7CisJCQkJTElCUkFSWV9TRUFSQ0hfUEFU
SFMgPSAoCisJCQkJCSIkKGluaGVyaXRlZCkiLAorCQkJCQkiXCIkKFNSQ1JPT1QpLy4uLy4uL1dl
YktpdEJ1aWxkL0RlYnVnXCIiLAorCQkJCSk7CiAJCQl9OwogCQkJbmFtZSA9IERlYnVnOwogCQl9
OwpAQCAtNDg3LDYgKzQ5OSwxNCBAQAogCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSBC
QzkwOTU4MDEyNTU0Q0Y5MDAwODM3NTYgLyogVGVzdFdlYktpdEFQSS54Y2NvbmZpZyAqLzsKIAkJ
CWJ1aWxkU2V0dGluZ3MgPSB7CiAJCQkJRlJBTUVXT1JLX1NFQVJDSF9QQVRIUyA9ICIkKGluaGVy
aXRlZCkiOworCQkJCUhFQURFUl9TRUFSQ0hfUEFUSFMgPSAoCisJCQkJCS4uLy4uL1NvdXJjZS9U
aGlyZFBhcnR5L2d0ZXN0L2luY2x1ZGUsCisJCQkJCSIkKFdFQkNPUkVfUFJJVkFURV9IRUFERVJT
X0RJUikvRm9yd2FyZGluZ0hlYWRlcnMiLAorCQkJCSk7CisJCQkJTElCUkFSWV9TRUFSQ0hfUEFU
SFMgPSAoCisJCQkJCSIkKGluaGVyaXRlZCkiLAorCQkJCQkiXCIkKFNSQ1JPT1QpLy4uLy4uL1dl
YktpdEJ1aWxkL1JlbGVhc2VcIiIsCisJCQkJKTsKIAkJCX07CiAJCQluYW1lID0gUmVsZWFzZTsK
IAkJfTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1ZlY3RvckJh
c2ljLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1ZlY3RvckJhc2ljLmNwcApp
bmRleCAwMTJmYTI3Li43MjM4OTBjIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dURi9WZWN0b3JCYXNpYy5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
VEYvVmVjdG9yQmFzaWMuY3BwCkBAIC0zMiw5ICszMiw5IEBAIG5hbWVzcGFjZSBUZXN0V2ViS2l0
QVBJIHsKIFRFU1QoV1RGLCBWZWN0b3JCYXNpYykKIHsKICAgICBWZWN0b3I8aW50PiBpbnRWZWN0
b3I7Ci0gICAgVEVTVF9BU1NFUlQoaW50VmVjdG9yLmlzRW1wdHkoKSk7Ci0gICAgVEVTVF9BU1NF
UlQoaW50VmVjdG9yLnNpemUoKSA9PSAwKTsKLSAgICBURVNUX0FTU0VSVChpbnRWZWN0b3IuY2Fw
YWNpdHkoKSA9PSAwKTsKKyAgICBBU1NFUlRfVFJVRShpbnRWZWN0b3IuaXNFbXB0eSgpKTsKKyAg
ICBBU1NFUlRfRVEoMHVsLCBpbnRWZWN0b3Iuc2l6ZSgpKTsKKyAgICBBU1NFUlRfRVEoMHVsLCBp
bnRWZWN0b3IuY2FwYWNpdHkoKSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHNDb250cm9sbGVyLmNwcCBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHNDb250cm9sbGVyLmNwcAppbmRleCAzNDk5ZjJjLi44MmEy
ZWMzIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzQ29udHJvbGxlci5jcHAK
KysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0c0NvbnRyb2xsZXIuY3BwCkBAIC0yNiw4ICsy
Niw5IEBACiAjaW5jbHVkZSAiVGVzdHNDb250cm9sbGVyLmgiCiAKICNpbmNsdWRlICJUZXN0Lmgi
Ci0jaW5jbHVkZSA8YWxnb3JpdGhtPgogI2luY2x1ZGUgPGFzc2VydC5oPgorI2luY2x1ZGUgPGd0
ZXN0L2d0ZXN0Lmg+CisjaW5jbHVkZSA8Y3N0ZGlvPgogCiBuYW1lc3BhY2UgVGVzdFdlYktpdEFQ
SSB7CiAKQEAgLTM4LDQ1ICszOSwzMyBAQCBUZXN0c0NvbnRyb2xsZXImIFRlc3RzQ29udHJvbGxl
cjo6c2hhcmVkKCkKIH0KIAogVGVzdHNDb250cm9sbGVyOjpUZXN0c0NvbnRyb2xsZXIoKQotICAg
IDogbV90ZXN0RmFpbGVkKGZhbHNlKQotICAgICwgbV9jdXJyZW50VGVzdCgwKQogeworICAgIGlu
dCBhcmdjID0gMDsKKyAgICA6OnRlc3Rpbmc6OkluaXRHb29nbGVUZXN0KCZhcmdjLCAoY2hhcioq
KTApOwogfQogCiB2b2lkIFRlc3RzQ29udHJvbGxlcjo6ZHVtcFRlc3ROYW1lcygpCiB7Ci0gICAg
c3RkOjptYXA8c3RkOjpzdHJpbmcsIENyZWF0ZVRlc3RGdW5jdGlvbj46OmNvbnN0X2l0ZXJhdG9y
IGl0ID0gbV9jcmVhdGVUZXN0RnVuY3Rpb25zLmJlZ2luKCk7Ci0gICAgc3RkOjptYXA8c3RkOjpz
dHJpbmcsIENyZWF0ZVRlc3RGdW5jdGlvbj46OmNvbnN0X2l0ZXJhdG9yIGVuZCA9IG1fY3JlYXRl
VGVzdEZ1bmN0aW9ucy5lbmQoKTsKLSAgICBmb3IgKDsgaXQgIT0gZW5kOyArK2l0KQotICAgICAg
ICBwcmludGYoIiVzXG4iLCAoKml0KS5maXJzdC5jX3N0cigpKTsKLX0KKyAgICA6OnRlc3Rpbmc6
OlVuaXRUZXN0KiB1bml0X3Rlc3QgPSA6OnRlc3Rpbmc6OlVuaXRUZXN0OjpHZXRJbnN0YW5jZSgp
OwogCi1ib29sIFRlc3RzQ29udHJvbGxlcjo6cnVuVGVzdE5hbWVkKGNvbnN0IHN0ZDo6c3RyaW5n
JiBpZGVudGlmaWVyKQotewotICAgIENyZWF0ZVRlc3RGdW5jdGlvbiBjcmVhdGVUZXN0RnVuY3Rp
b24gPSBtX2NyZWF0ZVRlc3RGdW5jdGlvbnNbaWRlbnRpZmllcl07Ci0gICAgaWYgKCFjcmVhdGVU
ZXN0RnVuY3Rpb24pIHsKLSAgICAgICAgcHJpbnRmKCJFUlJPUjogVGVzdCBub3QgZm91bmQgLSAl
c1xuIiwgaWRlbnRpZmllci5jX3N0cigpKTsKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGZv
ciAoaW50IGkgPSAwOyBpIDwgdW5pdF90ZXN0LT50b3RhbF90ZXN0X2Nhc2VfY291bnQoKTsgaSsr
KSB7CisgICAgICAgIGNvbnN0IDo6dGVzdGluZzo6VGVzdENhc2UqIHRlc3RfY2FzZSA9IHVuaXRf
dGVzdC0+R2V0VGVzdENhc2UoaSk7CisgICAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgdGVzdF9j
YXNlLT50b3RhbF90ZXN0X2NvdW50KCk7IGorKykgeworICAgICAgICAgIGNvbnN0IDo6dGVzdGlu
Zzo6VGVzdEluZm8qIHRlc3RfaW5mbyA9IHRlc3RfY2FzZS0+R2V0VGVzdEluZm8oaik7CisgICAg
ICAgICAgcHJpbnRmKCIlcy4lc1xuIiwgdGVzdF9jYXNlLT5uYW1lKCksIHRlc3RfaW5mby0+bmFt
ZSgpKTsKKyAgICAgICAgfQogICAgIH0KLQotICAgIG1fY3VycmVudFRlc3QgPSBjcmVhdGVUZXN0
RnVuY3Rpb24oaWRlbnRpZmllcik7Ci0gICAgbV9jdXJyZW50VGVzdC0+cnVuKCk7Ci0KLSAgICBk
ZWxldGUgbV9jdXJyZW50VGVzdDsKLSAgICBtX2N1cnJlbnRUZXN0ID0gMDsKLQotICAgIHJldHVy
biAhbV90ZXN0RmFpbGVkOwogfQogCi12b2lkIFRlc3RzQ29udHJvbGxlcjo6dGVzdEZhaWxlZChj
b25zdCBjaGFyKiBmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciogbWVzc2FnZSkKK2Jvb2wgVGVz
dHNDb250cm9sbGVyOjpydW5UZXN0TmFtZWQoY29uc3Qgc3RkOjpzdHJpbmcmIGlkZW50aWZpZXIp
CiB7Ci0gICAgbV90ZXN0RmFpbGVkID0gdHJ1ZTsKLSAgICBwcmludGYoIkZBSUw6ICVzXG5cdCVz
ICglczolZClcbiIsIG1fY3VycmVudFRlc3QtPm5hbWUoKS5jX3N0cigpLCBtZXNzYWdlLCBmaWxl
LCBsaW5lKTsKKyAgICA6OnRlc3Rpbmc6OkdURVNUX0ZMQUcoZmlsdGVyKSA9IGlkZW50aWZpZXI7
CisgICAgcmV0dXJuICFSVU5fQUxMX1RFU1RTKCk7CiB9CiAKLXZvaWQgVGVzdHNDb250cm9sbGVy
OjpyZWdpc3RlckNyZWF0ZVRlc3RGdW5jdGlvbihjb25zdCBzdGQ6OnN0cmluZyYgaWRlbnRpZmll
ciwgQ3JlYXRlVGVzdEZ1bmN0aW9uIGNyZWF0ZVRlc3RGdW5jdGlvbikKK2Jvb2wgVGVzdHNDb250
cm9sbGVyOjpydW5BbGxUZXN0cygpCiB7Ci0gICAgbV9jcmVhdGVUZXN0RnVuY3Rpb25zW2lkZW50
aWZpZXJdID0gY3JlYXRlVGVzdEZ1bmN0aW9uOworICAgIHJldHVybiAhUlVOX0FMTF9URVNUUygp
OwogfQogCiB9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCmRpZmYgLS1naXQgYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzQ29udHJvbGxlci5oIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
c0NvbnRyb2xsZXIuaAppbmRleCAwZmYxZmM3Li5lYjJhOTY3IDEwMDY0NAotLS0gYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzQ29udHJvbGxlci5oCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHNDb250cm9sbGVyLmgKQEAgLTM5LDIxICszOSwxMSBAQCBwdWJsaWM6CiAKICAgICB2b2lk
IGR1bXBUZXN0TmFtZXMoKTsKICAgICBib29sIHJ1blRlc3ROYW1lZChjb25zdCBzdGQ6OnN0cmlu
ZyYpOwotCi0gICAgLy8gQ2FsbGVkIGJ5IHRoZSB0ZXN0cyB0aGVtc2VsdmVzLgotICAgIHZvaWQg
dGVzdEZhaWxlZChjb25zdCBjaGFyKiBmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciogbWVzc2Fn
ZSk7Ci0KLSAgICB0eXBlZGVmIFRlc3QqICgqQ3JlYXRlVGVzdEZ1bmN0aW9uKShjb25zdCBzdGQ6
OnN0cmluZyYpOwotICAgIHZvaWQgcmVnaXN0ZXJDcmVhdGVUZXN0RnVuY3Rpb24oY29uc3Qgc3Rk
OjpzdHJpbmcmLCBDcmVhdGVUZXN0RnVuY3Rpb24pOworICAgIGJvb2wgcnVuQWxsVGVzdHMoKTsK
IAogcHJpdmF0ZToKICAgICBUZXN0c0NvbnRyb2xsZXIoKTsKICAgICB+VGVzdHNDb250cm9sbGVy
KCk7Ci0KLSAgICBib29sIG1fdGVzdEZhaWxlZDsKLSAgICBUZXN0KiBtX2N1cnJlbnRUZXN0Owot
Ci0gICAgc3RkOjptYXA8c3RkOjpzdHJpbmcsIENyZWF0ZVRlc3RGdW5jdGlvbj4gbV9jcmVhdGVU
ZXN0RnVuY3Rpb25zOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQpkaWZmIC0t
Z2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvbWFpbi5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvbWFjL21haW4ubW0KaW5kZXggZTZkZDRhNi4uZTdkZGVjNCAxMDA2NDQKLS0tIGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9tYWMvbWFpbi5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9t
YWluLm1tCkBAIC0zMywxMSArMzMsMTUgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNvbnN0IGNoYXIq
IGFyZ3ZbXSkKIAogICAgIGJvb2wgcGFzc2VkID0gdHJ1ZTsKIAotICAgIHN0ZDo6c3RyaW5nIGFy
Z3VtZW50KGFyZ3ZbMV0pOwotICAgIGlmIChhcmd1bWVudCA9PSAiLS1kdW1wLXRlc3RzIikKLSAg
ICAgICAgVGVzdFdlYktpdEFQSTo6VGVzdHNDb250cm9sbGVyOjpzaGFyZWQoKS5kdW1wVGVzdE5h
bWVzKCk7Ci0gICAgZWxzZSAgIAotICAgICAgICBwYXNzZWQgPSBUZXN0V2ViS2l0QVBJOjpUZXN0
c0NvbnRyb2xsZXI6OnNoYXJlZCgpLnJ1blRlc3ROYW1lZChhcmd1bWVudCk7CisgICAgaWYgKGFy
Z2MgPT0gMSkKKyAgICAgICAgcGFzc2VkID0gVGVzdFdlYktpdEFQSTo6VGVzdHNDb250cm9sbGVy
OjpzaGFyZWQoKS5ydW5BbGxUZXN0cygpOworICAgIGVsc2UgeworICAgICAgICBzdGQ6OnN0cmlu
ZyBhcmd1bWVudChhcmd2WzFdKTsKKyAgICAgICAgaWYgKGFyZ3VtZW50ID09ICItLWR1bXAtdGVz
dHMiKQorICAgICAgICAgICAgVGVzdFdlYktpdEFQSTo6VGVzdHNDb250cm9sbGVyOjpzaGFyZWQo
KS5kdW1wVGVzdE5hbWVzKCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHBhc3NlZCA9IFRl
c3RXZWJLaXRBUEk6OlRlc3RzQ29udHJvbGxlcjo6c2hhcmVkKCkucnVuVGVzdE5hbWVkKGFyZ3Vt
ZW50KTsKKyAgICB9CiAKICAgICBbcG9vbCBkcmFpbl07CiAK
</data>
<flag name="review"
          id="85638"
          type_id="1"
          status="+"
          setter="sam"
    />
    <flag name="commit-queue"
          id="85639"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>92881</attachid>
            <date>2011-05-09 16:24:43 -0700</date>
            <delta_ts>2011-05-09 16:50:54 -0700</delta_ts>
            <desc>Patch rebased</desc>
            <filename>gtest.patch</filename>
            <type>text/plain</type>
            <size>30379</size>
            <attacher name="Dmitry Lomov">dslomov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCAwNTdhNmQ0Li5lNjBlNjdk
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTEtMDUtMDYgIERtaXRyeSBMb21vdiAgPGRzbG9tb3ZAZ29vZ2xlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIFN3aXRjaCBU
ZXN0V2ViS2l0QVBJIHRvIEdUZXN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD01OTU2MQorCisgICAgICAgICogU291cmNlL1RoaXJkUGFydHkvZ3Rlc3Qv
UkVBRE1FLldlYktpdDoKKyAgICAgICAgKiBTb3VyY2UvVGhpcmRQYXJ0eS9ndGVzdC9tc3ZjL2d0
ZXN0LW1kLnZjcHJvajoKKwogMjAxMS0wNS0wOSAgWGFuIExvcGV6ICA8eGxvcGV6QGlnYWxpYS5j
b20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgR3VzdGF2byBOb3JvbmhhLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1RoaXJkUGFydHkvZ3Rlc3QvUkVBRE1FLldlYktpdCBiL1NvdXJjZS9UaGlyZFBhcnR5
L2d0ZXN0L1JFQURNRS5XZWJLaXQKaW5kZXggMWJlMjk2OS4uZGRmMjE4NCAxMDA2NDQKLS0tIGEv
U291cmNlL1RoaXJkUGFydHkvZ3Rlc3QvUkVBRE1FLldlYktpdAorKysgYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9ndGVzdC9SRUFETUUuV2ViS2l0CkBAIC0xLDMgKzEsNiBAQAogR1Rlc3Qgdi4xLjUuMAog
CiBodHRwOi8vZ29vZ2xldGVzdC5nb29nbGVjb2RlLmNvbS9zdm4vdGFncy9yZWxlYXNlLTEuNS4w
LyAKKworMjAxMS0wNS0wNiBEbWl0cnkgTG9tb3YgKGRzbG9tb3ZAZ29vZ2xlLmNvbSkKKyAgICAg
IGd0ZXN0LW1kLnZjcHJvaiB1cGdyYWRlZCB0byBWUyAyMDA1ICg4LjApIGZvcm1hdCB0byBtYXRj
aCB0aGUgcmVzdCBvZiBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2d0ZXN0
L21zdmMvZ3Rlc3QtbWQudmNwcm9qIGIvU291cmNlL1RoaXJkUGFydHkvZ3Rlc3QvbXN2Yy9ndGVz
dC1tZC52Y3Byb2oKaW5kZXggOWNlNGI5Ni4uNzgyZmM2MSAxMDA2NDQKLS0tIGEvU291cmNlL1Ro
aXJkUGFydHkvZ3Rlc3QvbXN2Yy9ndGVzdC1tZC52Y3Byb2oKKysrIGIvU291cmNlL1RoaXJkUGFy
dHkvZ3Rlc3QvbXN2Yy9ndGVzdC1tZC52Y3Byb2oKQEAgLTEsOTUgKzEsMTQyIEBACiA8P3htbCB2
ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4KIDxWaXN1YWxTdHVkaW9Qcm9q
ZWN0CiAJUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiCi0JVmVyc2lvbj0iNy4xMCIKKwlWZXJzaW9u
PSI4LjAwIgogCU5hbWU9Imd0ZXN0LW1kIgogCVByb2plY3RHVUlEPSJ7QzhGNkMxNzItNTZGMi00
RTc2LUI1RkEtQzNCNDIzQjMxQkU4fSIKLQlLZXl3b3JkPSJXaW4zMlByb2oiPgorCVJvb3ROYW1l
c3BhY2U9Imd0ZXN0LW1kIgorCUtleXdvcmQ9IldpbjMyUHJvaiIKKwk+CiAJPFBsYXRmb3Jtcz4K
IAkJPFBsYXRmb3JtCi0JCQlOYW1lPSJXaW4zMiIvPgorCQkJTmFtZT0iV2luMzIiCisJCS8+CiAJ
PC9QbGF0Zm9ybXM+CisJPFRvb2xGaWxlcz4KKwk8L1Rvb2xGaWxlcz4KIAk8Q29uZmlndXJhdGlv
bnM+CiAJCTxDb25maWd1cmF0aW9uCiAJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKLQkJCU91dHB1dERp
cmVjdG9yeT0iJChTb2x1dGlvbk5hbWUpLyQoQ29uZmlndXJhdGlvbk5hbWUpIgotCQkJSW50ZXJt
ZWRpYXRlRGlyZWN0b3J5PSIkKE91dERpcikvJChQcm9qZWN0TmFtZSkiCisJCQlPdXRwdXREaXJl
Y3Rvcnk9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxsaWIiCiAJCQlDb25maWd1cmF0aW9uVHlw
ZT0iNCIKKwkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIkKFByb2plY3REaXIpXC4uXC4uXC4u
XC4uXFdlYktpdExpYnJhcmllc1x3aW5cdG9vbHNcdnNwcm9wc1xjb21tb24udnNwcm9wcyIKIAkJ
CUNoYXJhY3RlclNldD0iMiIKLQkJCVJlZmVyZW5jZXNQYXRoPSIiPgorCQkJPgorCQkJPFRvb2wK
KwkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIgorCQkJLz4KKwkJCTxUb29sCisJCQkJTmFt
ZT0iVkNDdXN0b21CdWlsZFRvb2wiCisJCQkvPgorCQkJPFRvb2wKKwkJCQlOYW1lPSJWQ1hNTERh
dGFHZW5lcmF0b3JUb29sIgorCQkJLz4KKwkJCTxUb29sCisJCQkJTmFtZT0iVkNXZWJTZXJ2aWNl
UHJveHlHZW5lcmF0b3JUb29sIgorCQkJLz4KKwkJCTxUb29sCisJCQkJTmFtZT0iVkNNSURMVG9v
bCIKKwkJCS8+CiAJCQk8VG9vbAogCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCiAJCQkJT3B0
aW1pemF0aW9uPSIwIgogCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSU4zMjtfREVCVUc7
X0xJQiIKLQkJCQlNaW5pbWFsUmVidWlsZD0iVFJVRSIKKwkJCQlNaW5pbWFsUmVidWlsZD0idHJ1
ZSIKIAkJCQlCYXNpY1J1bnRpbWVDaGVja3M9IjMiCiAJCQkJUnVudGltZUxpYnJhcnk9IjMiCiAJ
CQkJVXNlUHJlY29tcGlsZWRIZWFkZXI9IjAiCiAJCQkJV2FybmluZ0xldmVsPSIzIgotCQkJCURl
dGVjdDY0Qml0UG9ydGFiaWxpdHlQcm9ibGVtcz0iRkFMU0UiCi0JCQkJRGVidWdJbmZvcm1hdGlv
bkZvcm1hdD0iNCIvPgorCQkJCURldGVjdDY0Qml0UG9ydGFiaWxpdHlQcm9ibGVtcz0iZmFsc2Ui
CisJCQkJRGVidWdJbmZvcm1hdGlvbkZvcm1hdD0iNCIKKwkJCS8+CiAJCQk8VG9vbAotCQkJCU5h
bWU9IlZDQ3VzdG9tQnVpbGRUb29sIi8+CisJCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21w
aWxlclRvb2wiCisJCQkvPgogCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ0xpYnJhcmlhblRvb2wiCi0J
CQkJT3V0cHV0RmlsZT0iJChPdXREaXIpL2d0ZXN0ZC5saWIiLz4KLQkJCTxUb29sCi0JCQkJTmFt
ZT0iVkNNSURMVG9vbCIvPgorCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiCisJCQkv
PgogCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCIvPgorCQkJCU5hbWU9
IlZDUHJlTGlua0V2ZW50VG9vbCIKKwkJCS8+CiAJCQk8VG9vbAotCQkJCU5hbWU9IlZDUHJlQnVp
bGRFdmVudFRvb2wiLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIi8+
CisJCQkJTmFtZT0iVkNMaWJyYXJpYW5Ub29sIgorCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVxn
dGVzdC5saWIiCisJCQkvPgogCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJU
b29sIi8+CisJCQkJTmFtZT0iVkNBTGlua1Rvb2wiCisJCQkvPgogCQkJPFRvb2wKLQkJCQlOYW1l
PSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiLz4KKwkJCQlOYW1lPSJWQ1hEQ01ha2VU
b29sIgorCQkJLz4KIAkJCTxUb29sCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCIv
PgorCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiCisJCQkvPgogCQkJPFRvb2wKLQkJCQlOYW1lPSJW
Q01hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPgorCQkJCU5hbWU9IlZDRnhDb3BUb29sIgor
CQkJLz4KIAkJCTxUb29sCi0JCQkJTmFtZT0iVkNBdXhpbGlhcnlNYW5hZ2VkV3JhcHBlckdlbmVy
YXRvclRvb2wiLz4KKwkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCIKKwkJCS8+CiAJCTwv
Q29uZmlndXJhdGlvbj4KIAkJPENvbmZpZ3VyYXRpb24KIAkJCU5hbWU9IlJlbGVhc2V8V2luMzIi
Ci0JCQlPdXRwdXREaXJlY3Rvcnk9IiQoU29sdXRpb25OYW1lKS8kKENvbmZpZ3VyYXRpb25OYW1l
KSIKLQkJCUludGVybWVkaWF0ZURpcmVjdG9yeT0iJChPdXREaXIpLyQoUHJvamVjdE5hbWUpIgor
CQkJT3V0cHV0RGlyZWN0b3J5PSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcbGliIgogCQkJQ29u
ZmlndXJhdGlvblR5cGU9IjQiCisJCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iJChQcm9qZWN0
RGlyKVwuLlwuLlwuLlwuLlxXZWJLaXRMaWJyYXJpZXNcd2luXHRvb2xzXHZzcHJvcHNcY29tbW9u
LnZzcHJvcHMiCiAJCQlDaGFyYWN0ZXJTZXQ9IjIiCi0JCQlSZWZlcmVuY2VzUGF0aD0iJnF1b3Q7
Li5caW5jbHVkZSZxdW90OzsmcXVvdDsuLiZxdW90OyI+CisJCQk+CisJCQk8VG9vbAorCQkJCU5h
bWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiCisJCQkvPgorCQkJPFRvb2wKKwkJCQlOYW1lPSJWQ0N1
c3RvbUJ1aWxkVG9vbCIKKwkJCS8+CisJCQk8VG9vbAorCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVy
YXRvclRvb2wiCisJCQkvPgorCQkJPFRvb2wKKwkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdl
bmVyYXRvclRvb2wiCisJCQkvPgorCQkJPFRvb2wKKwkJCQlOYW1lPSJWQ01JRExUb29sIgorCQkJ
Lz4KIAkJCTxUb29sCiAJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKIAkJCQlQcmVwcm9jZXNz
b3JEZWZpbml0aW9ucz0iV0lOMzI7TkRFQlVHO19MSUIiCiAJCQkJUnVudGltZUxpYnJhcnk9IjIi
CiAJCQkJVXNlUHJlY29tcGlsZWRIZWFkZXI9IjAiCiAJCQkJV2FybmluZ0xldmVsPSIzIgotCQkJ
CURldGVjdDY0Qml0UG9ydGFiaWxpdHlQcm9ibGVtcz0iRkFMU0UiCi0JCQkJRGVidWdJbmZvcm1h
dGlvbkZvcm1hdD0iMyIvPgorCQkJCURldGVjdDY0Qml0UG9ydGFiaWxpdHlQcm9ibGVtcz0iZmFs
c2UiCisJCQkJRGVidWdJbmZvcm1hdGlvbkZvcm1hdD0iMyIKKwkJCS8+CiAJCQk8VG9vbAotCQkJ
CU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIi8+CisJCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VD
b21waWxlclRvb2wiCisJCQkvPgogCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ0xpYnJhcmlhblRvb2wi
Ci0JCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpL2d0ZXN0LmxpYiIvPgotCQkJPFRvb2wKLQkJCQlO
YW1lPSJWQ01JRExUb29sIi8+CisJCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCIKKwkJ
CS8+CiAJCQk8VG9vbAotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIi8+CisJCQkJTmFt
ZT0iVkNQcmVMaW5rRXZlbnRUb29sIgorCQkJLz4KIAkJCTxUb29sCi0JCQkJTmFtZT0iVkNQcmVC
dWlsZEV2ZW50VG9vbCIvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wi
Lz4KKwkJCQlOYW1lPSJWQ0xpYnJhcmlhblRvb2wiCisJCQkJT3V0cHV0RmlsZT0iJChPdXREaXIp
XGd0ZXN0LmxpYiIKKwkJCS8+CiAJCQk8VG9vbAotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxl
clRvb2wiLz4KKwkJCQlOYW1lPSJWQ0FMaW5rVG9vbCIKKwkJCS8+CiAJCQk8VG9vbAotCQkJCU5h
bWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCIvPgorCQkJCU5hbWU9IlZDWERDTWFr
ZVRvb2wiCisJCQkvPgogCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29s
Ii8+CisJCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCIKKwkJCS8+CiAJCQk8VG9vbAotCQkJCU5hbWU9
IlZDTWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+CisJCQkJTmFtZT0iVkNGeENvcFRvb2wi
CisJCQkvPgogCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ0F1eGlsaWFyeU1hbmFnZWRXcmFwcGVyR2Vu
ZXJhdG9yVG9vbCIvPgorCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIgorCQkJLz4KIAkJ
PC9Db25maWd1cmF0aW9uPgogCTwvQ29uZmlndXJhdGlvbnM+CiAJPFJlZmVyZW5jZXM+CkBAIC05
OCwxMzcgKzE0NSwxODEgQEAKIAkJPEZpbHRlcgogCQkJTmFtZT0iU291cmNlIEZpbGVzIgogCQkJ
RmlsdGVyPSJjcHA7YztjeHg7ZGVmO29kbDtpZGw7aHBqO2JhdDthc207YXNteCIKLQkJCVVuaXF1
ZUlkZW50aWZpZXI9Ins0RkM3MzdGMS1DN0E1LTQzNzYtQTA2Ni0yQTMyRDc1MkEyRkZ9Ij4KKwkJ
CVVuaXF1ZUlkZW50aWZpZXI9Ins0RkM3MzdGMS1DN0E1LTQzNzYtQTA2Ni0yQTMyRDc1MkEyRkZ9
IgorCQkJPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHNyY1xndGVzdC1kZWF0aC10
ZXN0LmNjIj4KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHNyY1xndGVzdC1kZWF0aC10ZXN0LmNjIgor
CQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iRGVidWd8V2luMzIiPgor
CQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJPgogCQkJCQk8VG9vbAogCQkJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZx
dW90Oy4uJnF1b3Q7OyZxdW90Oy4uXGluY2x1ZGUmcXVvdDsiLz4KKwkJCQkJCUFkZGl0aW9uYWxJ
bmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90Oy4uJnF1b3Q7OyZxdW90Oy4uXGluY2x1ZGUmcXVvdDsi
CisJCQkJCS8+CiAJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24KLQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiI+CisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIi
CisJCQkJCT4KIAkJCQkJPFRvb2wKIAkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJ
CQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSImcXVvdDsuLiZxdW90OzsmcXVvdDsuLlxp
bmNsdWRlJnF1b3Q7Ii8+CisJCQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSImcXVv
dDsuLiZxdW90OzsmcXVvdDsuLlxpbmNsdWRlJnF1b3Q7IgorCQkJCQkvPgogCQkJCTwvRmlsZUNv
bmZpZ3VyYXRpb24+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5c
c3JjXGd0ZXN0LWZpbGVwYXRoLmNjIj4KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHNyY1xndGVzdC1m
aWxlcGF0aC5jYyIKKwkJCQk+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5hbWU9IkRl
YnVnfFdpbjMyIj4KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCT4KIAkJCQkJPFRvb2wK
IAkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCQlBZGRpdGlvbmFsSW5jbHVkZURp
cmVjdG9yaWVzPSImcXVvdDsuLiZxdW90OzsmcXVvdDsuLlxpbmNsdWRlJnF1b3Q7Ii8+CisJCQkJ
CQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSImcXVvdDsuLiZxdW90OzsmcXVvdDsuLlxp
bmNsdWRlJnF1b3Q7IgorCQkJCQkvPgogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQkJPEZp
bGVDb25maWd1cmF0aW9uCi0JCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiPgorCQkJCQlOYW1lPSJS
ZWxlYXNlfFdpbjMyIgorCQkJCQk+CiAJCQkJCTxUb29sCiAJCQkJCQlOYW1lPSJWQ0NMQ29tcGls
ZXJUb29sIgotCQkJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7Li4mcXVv
dDs7JnF1b3Q7Li5caW5jbHVkZSZxdW90OyIvPgorCQkJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJl
Y3Rvcmllcz0iJnF1b3Q7Li4mcXVvdDs7JnF1b3Q7Li5caW5jbHVkZSZxdW90OyIKKwkJCQkJLz4K
IAkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXHNyY1xndGVzdC1wb3J0LmNjIj4KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHNy
Y1xndGVzdC1wb3J0LmNjIgorCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFt
ZT0iRGVidWd8V2luMzIiPgorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJPgogCQkJCQk8
VG9vbAogCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJCUFkZGl0aW9uYWxJbmNs
dWRlRGlyZWN0b3JpZXM9IiZxdW90Oy4uJnF1b3Q7OyZxdW90Oy4uXGluY2x1ZGUmcXVvdDsiLz4K
KwkJCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90Oy4uJnF1b3Q7OyZxdW90
Oy4uXGluY2x1ZGUmcXVvdDsiCisJCQkJCS8+CiAJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KIAkJ
CQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiI+CisJCQkJCU5h
bWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCT4KIAkJCQkJPFRvb2wKIAkJCQkJCU5hbWU9IlZDQ0xD
b21waWxlclRvb2wiCi0JCQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSImcXVvdDsu
LiZxdW90OzsmcXVvdDsuLlxpbmNsdWRlJnF1b3Q7Ii8+CisJCQkJCQlBZGRpdGlvbmFsSW5jbHVk
ZURpcmVjdG9yaWVzPSImcXVvdDsuLiZxdW90OzsmcXVvdDsuLlxpbmNsdWRlJnF1b3Q7IgorCQkJ
CQkvPgogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cc3JjXGd0ZXN0LXRlc3QtcGFydC5jYyI+CisJCQkJUmVsYXRpdmVQ
YXRoPSIuLlxzcmNcZ3Rlc3QtdGVzdC1wYXJ0LmNjIgorCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24KLQkJCQkJTmFtZT0iRGVidWd8V2luMzIiPgorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIK
KwkJCQkJPgogCQkJCQk8VG9vbAogCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJ
CUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90Oy4uJnF1b3Q7OyZxdW90Oy4uXGlu
Y2x1ZGUmcXVvdDsiLz4KKwkJCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90
Oy4uJnF1b3Q7OyZxdW90Oy4uXGluY2x1ZGUmcXVvdDsiCisJCQkJCS8+CiAJCQkJPC9GaWxlQ29u
ZmlndXJhdGlvbj4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iUmVsZWFzZXxX
aW4zMiI+CisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCT4KIAkJCQkJPFRvb2wKIAkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVj
dG9yaWVzPSImcXVvdDsuLiZxdW90OzsmcXVvdDsuLlxpbmNsdWRlJnF1b3Q7Ii8+CisJCQkJCQlB
ZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSImcXVvdDsuLiZxdW90OzsmcXVvdDsuLlxpbmNs
dWRlJnF1b3Q7IgorCQkJCQkvPgogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQk8L0ZpbGU+
CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cc3JjXGd0ZXN0LXR5cGVkLXRlc3QuY2Mi
PgorCQkJCVJlbGF0aXZlUGF0aD0iLi5cc3JjXGd0ZXN0LXR5cGVkLXRlc3QuY2MiCisJCQkJPgog
CQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiI+CisJCQkJCU5h
bWU9IkRlYnVnfFdpbjMyIgorCQkJCQk+CiAJCQkJCTxUb29sCiAJCQkJCQlOYW1lPSJWQ0NMQ29t
cGlsZXJUb29sIgotCQkJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7Li4m
cXVvdDs7JnF1b3Q7Li5caW5jbHVkZSZxdW90OyIvPgorCQkJCQkJQWRkaXRpb25hbEluY2x1ZGVE
aXJlY3Rvcmllcz0iJnF1b3Q7Li4mcXVvdDs7JnF1b3Q7Li5caW5jbHVkZSZxdW90OyIKKwkJCQkJ
Lz4KIAkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJ
CQlOYW1lPSJSZWxlYXNlfFdpbjMyIj4KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJ
PgogCQkJCQk8VG9vbAogCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJCUFkZGl0
aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90Oy4uJnF1b3Q7OyZxdW90Oy4uXGluY2x1ZGUm
cXVvdDsiLz4KKwkJCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90Oy4uJnF1
b3Q7OyZxdW90Oy4uXGluY2x1ZGUmcXVvdDsiCisJCQkJCS8+CiAJCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxzcmNcZ3Rl
c3QuY2MiPgorCQkJCVJlbGF0aXZlUGF0aD0iLi5cc3JjXGd0ZXN0LmNjIgorCQkJCT4KIAkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iRGVidWd8V2luMzIiPgorCQkJCQlOYW1lPSJE
ZWJ1Z3xXaW4zMiIKKwkJCQkJPgogCQkJCQk8VG9vbAogCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVy
VG9vbCIKLQkJCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90Oy4uJnF1b3Q7
OyZxdW90Oy4uXGluY2x1ZGUmcXVvdDsiLz4KKwkJCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0
b3JpZXM9IiZxdW90Oy4uJnF1b3Q7OyZxdW90Oy4uXGluY2x1ZGUmcXVvdDsiCisJCQkJCS8+CiAJ
CQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFt
ZT0iUmVsZWFzZXxXaW4zMiI+CisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCT4KIAkJ
CQkJPFRvb2wKIAkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCQlBZGRpdGlvbmFs
SW5jbHVkZURpcmVjdG9yaWVzPSImcXVvdDsuLiZxdW90OzsmcXVvdDsuLlxpbmNsdWRlJnF1b3Q7
Ii8+CisJCQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSImcXVvdDsuLiZxdW90Ozsm
cXVvdDsuLlxpbmNsdWRlJnF1b3Q7IgorCQkJCQkvPgogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
CiAJCQk8L0ZpbGU+CiAJCTwvRmlsdGVyPgogCQk8RmlsdGVyCiAJCQlOYW1lPSJIZWFkZXIgRmls
ZXMiCiAJCQlGaWx0ZXI9Img7aHBwO2h4eDtobTtpbmw7aW5jO3hzZCIKLQkJCVVuaXF1ZUlkZW50
aWZpZXI9Ins5Mzk5NTM4MC04OUJELTRiMDQtODhFQi02MjVGQkU1MkVCRkJ9Ij4KKwkJCVVuaXF1
ZUlkZW50aWZpZXI9Ins5Mzk5NTM4MC04OUJELTRiMDQtODhFQi02MjVGQkU1MkVCRkJ9IgorCQkJ
PgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluY2x1ZGVcZ3Rlc3RcaW50ZXJuYWxc
Z3Rlc3QtZGVhdGgtdGVzdC1pbnRlcm5hbC5oIj4KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluY2x1
ZGVcZ3Rlc3RcaW50ZXJuYWxcZ3Rlc3QtZGVhdGgtdGVzdC1pbnRlcm5hbC5oIgorCQkJCT4KIAkJ
CTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxpbmNsdWRlXGd0ZXN0XGd0
ZXN0LWRlYXRoLXRlc3QuaCI+CisJCQkJUmVsYXRpdmVQYXRoPSIuLlxpbmNsdWRlXGd0ZXN0XGd0
ZXN0LWRlYXRoLXRlc3QuaCIKKwkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0
aXZlUGF0aD0iLi5caW5jbHVkZVxndGVzdFxpbnRlcm5hbFxndGVzdC1maWxlcGF0aC5oIj4KKwkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXGluY2x1ZGVcZ3Rlc3RcaW50ZXJuYWxcZ3Rlc3QtZmlsZXBhdGgu
aCIKKwkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cc3Jj
XGd0ZXN0LWludGVybmFsLWlubC5oIj4KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHNyY1xndGVzdC1p
bnRlcm5hbC1pbmwuaCIKKwkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZl
UGF0aD0iLi5caW5jbHVkZVxndGVzdFxpbnRlcm5hbFxndGVzdC1pbnRlcm5hbC5oIj4KKwkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXGluY2x1ZGVcZ3Rlc3RcaW50ZXJuYWxcZ3Rlc3QtaW50ZXJuYWwuaCIK
KwkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5jbHVk
ZVxndGVzdFxndGVzdC1tZXNzYWdlLmgiPgorCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5jbHVkZVxn
dGVzdFxndGVzdC1tZXNzYWdlLmgiCisJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXGluY2x1ZGVcZ3Rlc3RcaW50ZXJuYWxcZ3Rlc3QtcG9ydC5oIj4KKwkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXGluY2x1ZGVcZ3Rlc3RcaW50ZXJuYWxcZ3Rlc3QtcG9ydC5oIgor
CQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxpbmNsdWRl
XGd0ZXN0XGd0ZXN0LXNwaS5oIj4KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluY2x1ZGVcZ3Rlc3Rc
Z3Rlc3Qtc3BpLmgiCisJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXGluY2x1ZGVcZ3Rlc3RcaW50ZXJuYWxcZ3Rlc3Qtc3RyaW5nLmgiPgorCQkJCVJlbGF0
aXZlUGF0aD0iLi5caW5jbHVkZVxndGVzdFxpbnRlcm5hbFxndGVzdC1zdHJpbmcuaCIKKwkJCQk+
CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5jbHVkZVxndGVz
dFxndGVzdC5oIj4KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluY2x1ZGVcZ3Rlc3RcZ3Rlc3QuaCIK
KwkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5jbHVk
ZVxndGVzdFxndGVzdF9wcmVkX2ltcGwuaCI+CisJCQkJUmVsYXRpdmVQYXRoPSIuLlxpbmNsdWRl
XGd0ZXN0XGd0ZXN0X3ByZWRfaW1wbC5oIgorCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0J
CQkJUmVsYXRpdmVQYXRoPSIuLlxpbmNsdWRlXGd0ZXN0XGd0ZXN0X3Byb2QuaCI+CisJCQkJUmVs
YXRpdmVQYXRoPSIuLlxpbmNsdWRlXGd0ZXN0XGd0ZXN0X3Byb2QuaCIKKwkJCQk+CiAJCQk8L0Zp
bGU+CiAJCTwvRmlsdGVyPgogCTwvRmlsZXM+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dp
bi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggNDRmM2E1ZS4u
M2I0ZjAwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDExLTA1LTA2ICBE
bWl0cnkgTG9tb3YgIDxkc2xvbW92QGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3dpdGNoIFRlc3RXZWJLaXRBUEkgdG8gR1Rlc3QK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU5NTYxCisK
KyAgICAgICAgKiBXZWJLaXQudmNwcm9qL1dlYktpdC5zbG46Cis+CiAyMDExLTA1LTA3ICBTaGVy
aWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByODYwMTYuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9X
ZWJLaXQudmNwcm9qL1dlYktpdC5zbG4gYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJLaXQudmNwcm9q
L1dlYktpdC5zbG4KaW5kZXggYjJiOGQ5Mi4uMDhlZGFlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC93aW4vV2ViS2l0LnZjcHJvai9XZWJLaXQuc2xuCisrKyBiL1NvdXJjZS9XZWJLaXQvd2lu
L1dlYktpdC52Y3Byb2ovV2ViS2l0LnNsbgpAQCAtMTUzLDYgKzE1Myw4IEBAIFByb2plY3QoIns4
QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAiVGVzdFdlYktpdEFQSUlu
amVjdGVkQnVuZGxlCiAJCXszRTQ4QUIyMy1EMjQ5LTQ4OEYtQTFDNC00M0NERjUyRkJEMjh9ID0g
ezNFNDhBQjIzLUQyNDktNDg4Ri1BMUM0LTQzQ0RGNTJGQkQyOH0KIAlFbmRQcm9qZWN0U2VjdGlv
bgogRW5kUHJvamVjdAorUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFC
Qzk0Mn0iKSA9ICJndGVzdC1tZCIsICIuLlwuLlwuLlxUaGlyZFBhcnR5XGd0ZXN0XG1zdmNcZ3Rl
c3QtbWQudmNwcm9qIiwgIntDOEY2QzE3Mi01NkYyLTRFNzYtQjVGQS1DM0I0MjNCMzFCRTh9Igor
RW5kUHJvamVjdAogR2xvYmFsCiAJR2xvYmFsU2VjdGlvbihTb2x1dGlvbkNvbmZpZ3VyYXRpb25Q
bGF0Zm9ybXMpID0gcHJlU29sdXRpb24KIAkJRGVidWdfQWxsfFdpbjMyID0gRGVidWdfQWxsfFdp
bjMyCkBAIC01MDksNiArNTExLDE4IEBAIEdsb2JhbAogCQl7QjAxMDE2MDQtQjQ4My00RjhDLTlD
NTEtOTBCNDZBMkIxQ0QzfS5Qcm9kdWN0aW9ufFdpbjMyLkJ1aWxkLjAgPSBQcm9kdWN0aW9ufFdp
bjMyCiAJCXtCMDEwMTYwNC1CNDgzLTRGOEMtOUM1MS05MEI0NkEyQjFDRDN9LlJlbGVhc2V8V2lu
MzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMgogCQl7QjAxMDE2MDQtQjQ4My00RjhDLTlDNTEt
OTBCNDZBMkIxQ0QzfS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyCisgICAg
ICAgICAgICAgICAge0M4RjZDMTcyLTU2RjItNEU3Ni1CNUZBLUMzQjQyM0IzMUJFOH0uRGVidWdf
QWxsfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyCisJCXtDOEY2QzE3Mi01NkYyLTRFNzYt
QjVGQS1DM0I0MjNCMzFCRTh9LkRlYnVnX0FsbHxXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzIK
KwkJe0M4RjZDMTcyLTU2RjItNEU3Ni1CNUZBLUMzQjQyM0IzMUJFOH0uRGVidWdfQ2Fpcm9fQ0ZM
aXRlfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyCisJCXtDOEY2QzE3Mi01NkYyLTRFNzYt
QjVGQS1DM0I0MjNCMzFCRTh9LkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMi5CdWlsZC4wID0gRGVi
dWd8V2luMzIKKwkJe0M4RjZDMTcyLTU2RjItNEU3Ni1CNUZBLUMzQjQyM0IzMUJFOH0uRGVidWd8
V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzIKKwkJe0M4RjZDMTcyLTU2RjItNEU3Ni1CNUZB
LUMzQjQyM0IzMUJFOH0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyCisJCXtDOEY2
QzE3Mi01NkYyLTRFNzYtQjVGQS1DM0I0MjNCMzFCRTh9LlByb2R1Y3Rpb258V2luMzIuQWN0aXZl
Q2ZnID0gUmVsZWFzZXxXaW4zMgorCQl7QzhGNkMxNzItNTZGMi00RTc2LUI1RkEtQzNCNDIzQjMx
QkU4fS5Qcm9kdWN0aW9ufFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyCisJCXtDOEY2QzE3
Mi01NkYyLTRFNzYtQjVGQS1DM0I0MjNCMzFCRTh9LlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMy
LkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzIKKwkJe0M4RjZDMTcyLTU2RjItNEU3Ni1CNUZBLUMz
QjQyM0IzMUJFOH0uUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8
V2luMzIKKwkJe0M4RjZDMTcyLTU2RjItNEU3Ni1CNUZBLUMzQjQyM0IzMUJFOH0uUmVsZWFzZXxX
aW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyCisJCXtDOEY2QzE3Mi01NkYyLTRFNzYtQjVG
QS1DM0I0MjNCMzFCRTh9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzIKIAlF
bmRHbG9iYWxTZWN0aW9uCiAJR2xvYmFsU2VjdGlvbihTb2x1dGlvblByb3BlcnRpZXMpID0gcHJl
U29sdXRpb24KIAkJSGlkZVNvbHV0aW9uTm9kZSA9IEZBTFNFCmRpZmYgLS1naXQgYS9Ub29scy9D
aGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMDZhMGYyMS4uZjZjMTEwYiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2
IEBACisyMDExLTA1LTA2ICBEbWl0cnkgTG9tb3YgIDxkc2xvbW92QGdvb2dsZS5jb20+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3dpdGNoIFRlc3RX
ZWJLaXRBUEkgdG8gR1Rlc3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTU5NTYxCisKKyAgICAgICAgKiBTY3JpcHRzL2J1aWxkLWFwaS10ZXN0czoKKyAg
ICAgICAgKiBTY3JpcHRzL3J1bi1hcGktdGVzdHM6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9D
b25maWd1cmF0aW9ucy9UZXN0V2ViS2l0QVBJQ29tbW9uLnZzcHJvcHM6CisgICAgICAgICogVGVz
dFdlYktpdEFQSS9UZXN0Lmg6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJ
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0
cy9XVEYvVmVjdG9yQmFzaWMuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6Cisg
ICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0c0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAoVGVz
dFdlYktpdEFQSTo6VGVzdHNDb250cm9sbGVyOjpUZXN0c0NvbnRyb2xsZXIpOgorICAgICAgICAo
VGVzdFdlYktpdEFQSTo6VGVzdHNDb250cm9sbGVyOjpkdW1wVGVzdE5hbWVzKToKKyAgICAgICAg
KFRlc3RXZWJLaXRBUEk6OlRlc3RzQ29udHJvbGxlcjo6cnVuVGVzdE5hbWVkKToKKyAgICAgICAg
KFRlc3RXZWJLaXRBUEk6OlRlc3RzQ29udHJvbGxlcjo6cnVuQWxsVGVzdHMpOgorICAgICAgICAq
IFRlc3RXZWJLaXRBUEkvVGVzdHNDb250cm9sbGVyLmg6CisgICAgICAgICogVGVzdFdlYktpdEFQ
SS9tYWMvbWFpbi5tbToKKyAgICAgICAgKG1haW4pOgorCiAyMDExLTA1LTA5ICBJZ29yIE9saXZl
aXJhICA8aWdvci5vbGl2ZWlyYUBvcGVuYm9zc2Eub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IEFuZHJlYXMgS2xpbmcuCkBAIC0xNTgsNyArMTgxLDcgQEAKICAgICAgICAgKiBTY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3NlcnZlcl9wcm9jZXNzLnB5OgogICAgICAgICAqIFNj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvd2Via2l0LnB5OgogCi0yMDExLTA1LTA2
ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiswMTEtMDUtMDYgIEFkYW0gQmFydGgg
IDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4K
IApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9idWlsZC1hcGktdGVzdHMgYi9Ub29scy9TY3Jp
cHRzL2J1aWxkLWFwaS10ZXN0cwppbmRleCBkZDIyMzFjLi5mNmRkZWMwIDEwMDc1NQotLS0gYS9U
b29scy9TY3JpcHRzL2J1aWxkLWFwaS10ZXN0cworKysgYi9Ub29scy9TY3JpcHRzL2J1aWxkLWFw
aS10ZXN0cwpAQCAtNTYsMTIgKzU2LDE1IEBAIHNldENvbmZpZ3VyYXRpb24oKTsKIGNoZGlyV2Vi
S2l0KCk7CiAKICMgQnVpbGQKLWNoZGlyICJUb29scy9UZXN0V2ViS2l0QVBJIiBvciBkaWU7CiAK
IG15ICRyZXN1bHQ7CiBpZiAoaXNBcHBsZU1hY1dlYktpdCgpKSB7CisgICAgY2hkaXIgIlNvdXJj
ZS9UaGlyZFBhcnR5L2d0ZXN0IjsKKyAgICBidWlsZFhDb2RlUHJvamVjdCgieGNvZGUvZ3Rlc3Qi
LCAkY2xlYW4sIFhjb2RlT3B0aW9ucygpLCBAQVJHVik7CisgICAgY2hkaXIgIi4uLy4uLy4uL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkiIG9yIGRpZTsKICAgICAkcmVzdWx0ID0gYnVpbGRYQ29kZVByb2pl
Y3QoIlRlc3RXZWJLaXRBUEkiLCAkY2xlYW4sIFhjb2RlT3B0aW9ucygpLCBAQVJHVik7CiB9IGVs
c2lmIChpc0FwcGxlV2luV2ViS2l0KCkpIHsKKyAgICBjaGRpciAiVG9vbHMvVGVzdFdlYktpdEFQ
SSIgb3IgZGllOwogICAgICRyZXN1bHQgPSBidWlsZFZpc3VhbFN0dWRpb1Byb2plY3QoIndpbi9U
ZXN0V2ViS2l0QVBJLnNsbiIsICRjbGVhbik7CiB9IGVsc2UgewogICAgIGRpZSAiVGVzdFdlYktp
dEFQSSBpcyBub3Qgc3VwcG9ydGVkIG9uIHRoaXMgcGxhdGZvcm0uXG4iOwpkaWZmIC0tZ2l0IGEv
VG9vbHMvU2NyaXB0cy9ydW4tYXBpLXRlc3RzIGIvVG9vbHMvU2NyaXB0cy9ydW4tYXBpLXRlc3Rz
CmluZGV4IDk3MTM2NjIuLjMwZTQzYWQgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvcnVuLWFw
aS10ZXN0cworKysgYi9Ub29scy9TY3JpcHRzL3J1bi1hcGktdGVzdHMKQEAgLTEyMiw3ICsxMjIs
NyBAQCBzdWIgcnVuQWxsVGVzdHNJblN1aXRlKCQpCiBzdWIgcnVuVGVzdCgkJCkKIHsKICAgICBt
eSAoJHN1aXRlLCAkdGVzdE5hbWUpID0gQF87Ci0gICAgbXkgJHRlc3QgPSAkc3VpdGUgLiAiLyIg
LiAkdGVzdE5hbWU7CisgICAgbXkgJHRlc3QgPSAkc3VpdGUgLiAiLiIgLiAkdGVzdE5hbWU7CiAK
ICAgICBwcmludCAiICAgIFRlc3Q6ICR0ZXN0TmFtZSAtPiAiOwogCkBAIC0yMzUsNyArMjM1LDcg
QEAgc3ViIHBvcHVsYXRlVGVzdHMoKQogICAgIG15ICVrZXllZFRlc3RzID0gKCk7CiAgICAgZm9y
IG15ICR0ZXN0IChAdGVzdHMpIHsKICAgICAgICAgJHRlc3QgPX4gcy9bXHJcbl0qJC8vOwotICAg
ICAgICBteSAoJHN1aXRlLCAkdGVzdE5hbWUpID0gc3BsaXQoL1wvLywgJHRlc3QpOworICAgICAg
ICBteSAoJHN1aXRlLCAkdGVzdE5hbWUpID0gc3BsaXQoL1wuLywgJHRlc3QpOwogICAgICAgICBw
dXNoIEB7JGtleWVkVGVzdHN7JHN1aXRlfX0sICR0ZXN0TmFtZTsKICAgICB9CiAgICAgCmRpZmYg
LS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL1Rlc3RXZWJLaXRBUElD
b21tb24udnNwcm9wcyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvVGVzdFdl
YktpdEFQSUNvbW1vbi52c3Byb3BzCmluZGV4IDY3NDJmZjEuLmFlYmZjOTIgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvVGVzdFdlYktpdEFQSUNvbW1vbi52
c3Byb3BzCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvVGVzdFdlYktp
dEFQSUNvbW1vbi52c3Byb3BzCkBAIC02LDEyICs2LDEyIEBACiAJPgogCTxUb29sCiAJCU5hbWU9
IlZDQ0xDb21waWxlclRvb2wiCi0JCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90
OyQoUHJvamVjdERpcikmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLiZxdW90OzsmcXVvdDsk
KENvbmZpZ3VyYXRpb25CdWlsZERpcilcaW5jbHVkZSZxdW90OzsmcXVvdDskKENvbmZpZ3VyYXRp
b25CdWlsZERpcilcaW5jbHVkZVxXZWJDb3JlXEZvcndhcmRpbmdIZWFkZXJzJnF1b3Q7OyZxdW90
OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxpbmNsdWRlXHByaXZhdGUmcXVvdDs7JnF1b3Q7JChX
ZWJLaXRMaWJyYXJpZXNEaXIpXGluY2x1ZGUmcXVvdDsiCisgICAgICAgICAgICAgICAgQWRkaXRp
b25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7JChQcm9qZWN0RGlyKSZxdW90OzsmcXVvdDsk
KFByb2plY3REaXIpXC4uJnF1b3Q7OyZxdW90OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxpbmNs
dWRlJnF1b3Q7OyZxdW90OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxpbmNsdWRlXFdlYkNvcmVc
Rm9yd2FyZGluZ0hlYWRlcnMmcXVvdDs7JnF1b3Q7JChDb25maWd1cmF0aW9uQnVpbGREaXIpXGlu
Y2x1ZGVccHJpdmF0ZSZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcaW5jbHVkZSZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXC4uXFNvdXJjZVxUaGlyZFBhcnR5XGd0ZXN0
XGluY2x1ZGUmcXVvdDsiCiAJCUZvcmNlZEluY2x1ZGVGaWxlcz0iVGVzdFdlYktpdEFQSVByZWZp
eC5oIgogCS8+CiAJPFRvb2wKIAkJTmFtZT0iVkNMaW5rZXJUb29sIgotCQlBZGRpdGlvbmFsRGVw
ZW5kZW5jaWVzPSJXZWJLaXQkKFdlYktpdERMTENvbmZpZ1N1ZmZpeCkubGliIEphdmFTY3JpcHRD
b3JlJChXZWJLaXRETExDb25maWdTdWZmaXgpLmxpYiIKKwkJQWRkaXRpb25hbERlcGVuZGVuY2ll
cz0iV2ViS2l0JChXZWJLaXRETExDb25maWdTdWZmaXgpLmxpYiBKYXZhU2NyaXB0Q29yZSQoV2Vi
S2l0RExMQ29uZmlnU3VmZml4KS5saWIgZ3Rlc3QubGliIgogCQlTdWJTeXN0ZW09IjEiCiAJLz4K
IDwvVmlzdWFsU3R1ZGlvUHJvcGVydHlTaGVldD4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdC5oIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0LmgKaW5kZXggZWQ3NzJkNS4u
ZjkwMzUwNyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0LmgKKysrIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0LmgKQEAgLTI4LDYwICsyOCwxOCBAQAogCiAjaW5jbHVkZSAi
VGVzdHNDb250cm9sbGVyLmgiCiAKLW5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKLQotLy8gQWJz
dHJhY3QgYmFzZSBjbGFzcyB0aGF0IGFsbCB0ZXN0cyBpbmhlcml0IGZyb20uCi1jbGFzcyBUZXN0
IHsKLXB1YmxpYzoKLSAgICB2aXJ0dWFsIH5UZXN0KCkgeyB9Ci0gICAgCi0gICAgdmlydHVhbCB2
b2lkIHJ1bigpID0gMDsKLSAgICBzdGQ6OnN0cmluZyBuYW1lKCkgY29uc3QgeyByZXR1cm4gbV9p
ZGVudGlmaWVyOyB9Ci0gICAgCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVGVzdENsYXNzVHk+IGNs
YXNzIFJlZ2lzdGVyIHsKLSAgICBwdWJsaWM6Ci0gICAgICAgIFJlZ2lzdGVyKGNvbnN0IHN0ZDo6
c3RyaW5nJiB0ZXN0U3VpdGUsIGNvbnN0IHN0ZDo6c3RyaW5nJiB0ZXN0Q2FzZSkKLSAgICAgICAg
ewotICAgICAgICAgICAgVGVzdHNDb250cm9sbGVyOjpzaGFyZWQoKS5yZWdpc3RlckNyZWF0ZVRl
c3RGdW5jdGlvbih0ZXN0U3VpdGUgKyAiLyIgKyB0ZXN0Q2FzZSwgUmVnaXN0ZXI6OmNyZWF0ZSk7
Ci0gICAgICAgIH0KLSAgICAKLSAgICBwcml2YXRlOgotICAgICAgICBzdGF0aWMgVGVzdCogY3Jl
YXRlKGNvbnN0IHN0ZDo6c3RyaW5nJiBpZGVudGlmaWVyKSAKLSAgICAgICAgewotICAgICAgICAg
ICAgcmV0dXJuIG5ldyBUZXN0Q2xhc3NUeShpZGVudGlmaWVyKTsKLSAgICAgICAgfQotICAgIH07
Ci0KLXByb3RlY3RlZDoKLSAgICBUZXN0KGNvbnN0IHN0ZDo6c3RyaW5nJiBpZGVudGlmaWVyKQot
ICAgICAgICA6IG1faWRlbnRpZmllcihpZGVudGlmaWVyKQotICAgIHsKLSAgICB9CisjaW5jbHVk
ZSA8Z3Rlc3QvZ3Rlc3QuaD4KIAotICAgIHN0ZDo6c3RyaW5nIG1faWRlbnRpZmllcjsKLX07Ci0K
LSNkZWZpbmUgVEVTVF9DTEFTU19OQU1FKHRlc3RTdWl0ZSwgdGVzdENhc2VOYW1lKSB0ZXN0U3Vp
dGUjI3Rlc3RDYXNlTmFtZSMjX1Rlc3QKLSNkZWZpbmUgVEVTVF9SRUdJU1RSQVJfTkFNRSh0ZXN0
U3VpdGUsIHRlc3RDYXNlTmFtZSkgdGVzdFN1aXRlIyN0ZXN0Q2FzZU5hbWUjI19SZWdpc3RyYXIK
K25hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKIAotLy8gVXNlIHRoaXMgdG8gZGVmaW5lIGEgbmV3
IHRlc3QuCi0jZGVmaW5lIFRFU1QodGVzdFN1aXRlLCB0ZXN0Q2FzZU5hbWUpIFwKLSAgICBjbGFz
cyBURVNUX0NMQVNTX05BTUUodGVzdFN1aXRlLCB0ZXN0Q2FzZU5hbWUpIDogcHVibGljIFRlc3Qg
eyBcCi0gICAgcHVibGljOiBcCi0gICAgICAgIFRFU1RfQ0xBU1NfTkFNRSh0ZXN0U3VpdGUsIHRl
c3RDYXNlTmFtZSkoY29uc3Qgc3RkOjpzdHJpbmcmIGlkZW50aWZpZXIpIFwKLSAgICAgICAgICAg
IDogVGVzdChpZGVudGlmaWVyKSBcCi0gICAgICAgIHsgXAorI2RlZmluZSBURVNUX0FTU0VSVChl
eHByZXNzaW9uKSBFWFBFQ1RfVFJVRShleHByZXNzaW9uKQorI2RlZmluZSBURVNUX0FTU0VSVF9S
RVRVUk4oZXhwcmVzc2lvbiwgcmV0dXJuVmFsdWUpIFwKKyAgICBkbyB7IFwKKyAgICAgICAgaWYg
KCEoZXhwcmVzc2lvbikpIHsgXAorICAgICAgICAgICAgRVhQRUNUX0ZBTFNFKHRydWUpIDw8ICNl
eHByZXNzaW9uOyBcCisgICAgICAgICAgICByZXR1cm4gKHJldHVyblZhbHVlKTsgXAogICAgICAg
ICB9IFwKLSAgICAgICAgdmlydHVhbCB2b2lkIHJ1bigpOyBcCi0gICAgfTsgXAotICAgIFwKLSAg
ICBzdGF0aWMgVGVzdDo6UmVnaXN0ZXI8VEVTVF9DTEFTU19OQU1FKHRlc3RTdWl0ZSwgdGVzdENh
c2VOYW1lKT4gVEVTVF9SRUdJU1RSQVJfTkFNRSh0ZXN0U3VpdGUsIHRlc3RDYXNlTmFtZSkoI3Rl
c3RTdWl0ZSwgI3Rlc3RDYXNlTmFtZSk7IFwKLSAgICBcCi0gICAgdm9pZCBURVNUX0NMQVNTX05B
TUUodGVzdFN1aXRlLCB0ZXN0Q2FzZU5hbWUpOjpydW4oKQotCi0jZGVmaW5lIF9URVNUX0FTU0VS
VF9IRUxQRVIoZXhwcmVzc2lvbiwgcmV0dXJuU3RhdGVtZW50KSBkbyB7IGlmICghKGV4cHJlc3Np
b24pKSB7IFRlc3RzQ29udHJvbGxlcjo6c2hhcmVkKCkudGVzdEZhaWxlZChfX0ZJTEVfXywgX19M
SU5FX18sICNleHByZXNzaW9uKTsgcmV0dXJuU3RhdGVtZW50OyB9IH0gd2hpbGUgKDApCi0jZGVm
aW5lIFRFU1RfQVNTRVJUKGV4cHJlc3Npb24pIF9URVNUX0FTU0VSVF9IRUxQRVIoZXhwcmVzc2lv
biwgcmV0dXJuKQotI2RlZmluZSBURVNUX0FTU0VSVF9SRVRVUk4oZXhwcmVzc2lvbiwgcmV0dXJu
VmFsdWUpIF9URVNUX0FTU0VSVF9IRUxQRVIoZXhwcmVzc2lvbiwgcmV0dXJuIChyZXR1cm5WYWx1
ZSkpCisgICAgfSB3aGlsZSAoMCkKIAogfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQogCmRp
ZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDg2YjY5MWQuLmYwMDk3MzAgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCkBAIC01Nyw2ICs1Nyw3IEBACiAJCUMwQURCRTk2MTJGQ0E3OUIwMEQyQzEyOSAv
KiBzaW1wbGUtZm9ybS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEMwQURCRTg0MTJGQ0E2QjYwMEQyQzEyOSAvKiBzaW1wbGUtZm9ybS5o
dG1sICovOyB9OwogCQlDMEJENjY5RDEzMUQzQ0Y3MDBFMThGMkEgLyogUmVzcG9uc2l2ZW5lc3NU
aW1lckRvZXNudEZpcmVFYXJseS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDMEJENjY5QzEzMUQzQ0Y3MDBFMThGMkEgLyogUmVzcG9uc2l2ZW5lc3NU
aW1lckRvZXNudEZpcmVFYXJseS5jcHAgKi87IH07CiAJCUMwQkQ2NjlGMTMxRDNDRkYwMEUxOEYy
QSAvKiBSZXNwb25zaXZlbmVzc1RpbWVyRG9lc250RmlyZUVhcmx5X0J1bmRsZS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMEJENjY5RTEzMUQzQ0ZG
MDBFMThGMkEgLyogUmVzcG9uc2l2ZW5lc3NUaW1lckRvZXNudEZpcmVFYXJseV9CdW5kbGUuY3Bw
ICovOyB9OworCQlGM0ZDM0VFMzEzNjc4QjczMDAxMjZBNjUgLyogbGliZ3Rlc3QuYSBpbiBGcmFt
ZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYzRkMzRUUyMTM2NzhC
NzMwMDEyNkE2NSAvKiBsaWJndGVzdC5hICovOyB9OwogCQlGNkYzRjI5MTEzMzQyRkVCMDBBNkJG
MTkgLyogQ29va2llTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBGNkYzRjI5MDEzMzQyRkVCMDBBNkJGMTkgLyogQ29va2llTWFuYWdlci5j
cHAgKi87IH07CiAvKiBFbmQgUEJYQnVpbGRGaWxlIHNlY3Rpb24gKi8KIApAQCAtMTYwLDYgKzE2
MSw3IEBACiAJCUMwQURCRTg0MTJGQ0E2QjYwMEQyQzEyOSAvKiBzaW1wbGUtZm9ybS5odG1sICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gInNpbXBsZS1mb3JtLmh0bWwiOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlDMEJENjY5QzEzMUQzQ0Y3MDBFMThGMkEgLyogUmVzcG9uc2l2
ZW5lc3NUaW1lckRvZXNudEZpcmVFYXJseS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBSZXNwb25zaXZlbmVzc1RpbWVyRG9lc250RmlyZUVhcmx5LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzBCRDY2OUUxMzFEM0NGRjAwRTE4RjJBIC8qIFJlc3Bv
bnNpdmVuZXNzVGltZXJEb2VzbnRGaXJlRWFybHlfQnVuZGxlLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlc3BvbnNpdmVuZXNzVGltZXJEb2VzbnRGaXJlRWFybHlf
QnVuZGxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjNGQzNFRTIxMzY3OEI3
MzAwMTI2QTY1IC8qIGxpYmd0ZXN0LmEgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBhcmNoaXZlLmFyOyBuYW1lID0gbGliZ3Rlc3QuYTsgcGF0aCA9IC4u
Ly4uL1dlYktpdEJ1aWxkL0RlYnVnL2xpYmd0ZXN0LmE7IHNvdXJjZVRyZWUgPSBTT1VSQ0VfUk9P
VDsgfTsKIAkJRjZGM0YyOTAxMzM0MkZFQjAwQTZCRjE5IC8qIENvb2tpZU1hbmFnZXIuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ29va2llTWFuYWdlci5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAvKiBFbmQgUEJYRmlsZVJlZmVyZW5jZSBzZWN0aW9u
ICovCiAKQEAgLTE3Miw2ICsxNzQsNyBAQAogCQkJCUJDQTYxREI1MTE3MDBFRkQwMDQ2MEQxRSAv
KiBXZWJLaXQyLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAogCQkJCUJDOTA5NjRFMTI1NTYy
MEMwMDA4Mzc1NiAvKiBKYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywK
IAkJCQlDMDJCNzg1NDEyNjYxM0FFMDAyNkJGMEYgLyogQ2FyYm9uLmZyYW1ld29yayBpbiBGcmFt
ZXdvcmtzICovLAorCQkJCUYzRkMzRUUzMTM2NzhCNzMwMDEyNkE2NSAvKiBsaWJndGVzdC5hIGlu
IEZyYW1ld29ya3MgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vz
c2luZyA9IDA7CiAJCX07CkBAIC0yMjIsNiArMjI1LDcgQEAKIAkJMDhGQjc3OURGRTg0MTU1REMw
MkFBQzA3IC8qIEV4dGVybmFsIEZyYW1ld29ya3MgYW5kIExpYnJhcmllcyAqLyA9IHsKIAkJCWlz
YSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJRjNGQzNFRTIxMzY3OEI3MzAwMTI2
QTY1IC8qIGxpYmd0ZXN0LmEgKi8sCiAJCQkJQkNCOUU5RjAxMTIzNUJERTAwQTEzN0UwIC8qIENv
Y29hLmZyYW1ld29yayAqLywKIAkJCQlCQzkwOTY0RDEyNTU2MjBDMDAwODM3NTYgLyogSmF2YVNj
cmlwdENvcmUuZnJhbWV3b3JrICovLAogCQkJCUJDQTYxREI0MTE3MDBFRkQwMDQ2MEQxRSAvKiBX
ZWJLaXQyLmZyYW1ld29yayAqLywKQEAgLTQ3OSw2ICs0ODMsMTQgQEAKIAkJCWJhc2VDb25maWd1
cmF0aW9uUmVmZXJlbmNlID0gQkM5MDk1ODAxMjU1NENGOTAwMDgzNzU2IC8qIFRlc3RXZWJLaXRB
UEkueGNjb25maWcgKi87CiAJCQlidWlsZFNldHRpbmdzID0gewogCQkJCUZSQU1FV09SS19TRUFS
Q0hfUEFUSFMgPSAiJChpbmhlcml0ZWQpIjsKKwkJCQlIRUFERVJfU0VBUkNIX1BBVEhTID0gKAor
CQkJCQkuLi8uLi9Tb3VyY2UvVGhpcmRQYXJ0eS9ndGVzdC9pbmNsdWRlLAorCQkJCQkiJChXRUJD
T1JFX1BSSVZBVEVfSEVBREVSU19ESVIpL0ZvcndhcmRpbmdIZWFkZXJzIiwKKwkJCQkpOworCQkJ
CUxJQlJBUllfU0VBUkNIX1BBVEhTID0gKAorCQkJCQkiJChpbmhlcml0ZWQpIiwKKwkJCQkJIlwi
JChTUkNST09UKS8uLi8uLi9XZWJLaXRCdWlsZC9EZWJ1Z1wiIiwKKwkJCQkpOwogCQkJfTsKIAkJ
CW5hbWUgPSBEZWJ1ZzsKIAkJfTsKQEAgLTQ4Nyw2ICs0OTksMTQgQEAKIAkJCWJhc2VDb25maWd1
cmF0aW9uUmVmZXJlbmNlID0gQkM5MDk1ODAxMjU1NENGOTAwMDgzNzU2IC8qIFRlc3RXZWJLaXRB
UEkueGNjb25maWcgKi87CiAJCQlidWlsZFNldHRpbmdzID0gewogCQkJCUZSQU1FV09SS19TRUFS
Q0hfUEFUSFMgPSAiJChpbmhlcml0ZWQpIjsKKwkJCQlIRUFERVJfU0VBUkNIX1BBVEhTID0gKAor
CQkJCQkuLi8uLi9Tb3VyY2UvVGhpcmRQYXJ0eS9ndGVzdC9pbmNsdWRlLAorCQkJCQkiJChXRUJD
T1JFX1BSSVZBVEVfSEVBREVSU19ESVIpL0ZvcndhcmRpbmdIZWFkZXJzIiwKKwkJCQkpOworCQkJ
CUxJQlJBUllfU0VBUkNIX1BBVEhTID0gKAorCQkJCQkiJChpbmhlcml0ZWQpIiwKKwkJCQkJIlwi
JChTUkNST09UKS8uLi8uLi9XZWJLaXRCdWlsZC9SZWxlYXNlXCIiLAorCQkJCSk7CiAJCQl9Owog
CQkJbmFtZSA9IFJlbGVhc2U7CiAJCX07CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dURi9WZWN0b3JCYXNpYy5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dU
Ri9WZWN0b3JCYXNpYy5jcHAKaW5kZXggMDEyZmEyNy4uNzIzODkwYyAxMDA2NDQKLS0tIGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvVmVjdG9yQmFzaWMuY3BwCisrKyBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV1RGL1ZlY3RvckJhc2ljLmNwcApAQCAtMzIsOSArMzIsOSBAQCBu
YW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7CiBURVNUKFdURiwgVmVjdG9yQmFzaWMpCiB7CiAgICAg
VmVjdG9yPGludD4gaW50VmVjdG9yOwotICAgIFRFU1RfQVNTRVJUKGludFZlY3Rvci5pc0VtcHR5
KCkpOwotICAgIFRFU1RfQVNTRVJUKGludFZlY3Rvci5zaXplKCkgPT0gMCk7Ci0gICAgVEVTVF9B
U1NFUlQoaW50VmVjdG9yLmNhcGFjaXR5KCkgPT0gMCk7CisgICAgQVNTRVJUX1RSVUUoaW50VmVj
dG9yLmlzRW1wdHkoKSk7CisgICAgQVNTRVJUX0VRKDB1bCwgaW50VmVjdG9yLnNpemUoKSk7Cisg
ICAgQVNTRVJUX0VRKDB1bCwgaW50VmVjdG9yLmNhcGFjaXR5KCkpOwogfQogCiB9IC8vIG5hbWVz
cGFjZSBUZXN0V2ViS2l0QVBJCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
Q29udHJvbGxlci5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzQ29udHJvbGxlci5jcHAK
aW5kZXggMzQ5OWYyYy4uODJhMmVjMyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0c0NvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHNDb250cm9s
bGVyLmNwcApAQCAtMjYsOCArMjYsOSBAQAogI2luY2x1ZGUgIlRlc3RzQ29udHJvbGxlci5oIgog
CiAjaW5jbHVkZSAiVGVzdC5oIgotI2luY2x1ZGUgPGFsZ29yaXRobT4KICNpbmNsdWRlIDxhc3Nl
cnQuaD4KKyNpbmNsdWRlIDxndGVzdC9ndGVzdC5oPgorI2luY2x1ZGUgPGNzdGRpbz4KIAogbmFt
ZXNwYWNlIFRlc3RXZWJLaXRBUEkgewogCkBAIC0zOCw0NSArMzksMzMgQEAgVGVzdHNDb250cm9s
bGVyJiBUZXN0c0NvbnRyb2xsZXI6OnNoYXJlZCgpCiB9CiAKIFRlc3RzQ29udHJvbGxlcjo6VGVz
dHNDb250cm9sbGVyKCkKLSAgICA6IG1fdGVzdEZhaWxlZChmYWxzZSkKLSAgICAsIG1fY3VycmVu
dFRlc3QoMCkKIHsKKyAgICBpbnQgYXJnYyA9IDA7CisgICAgOjp0ZXN0aW5nOjpJbml0R29vZ2xl
VGVzdCgmYXJnYywgKGNoYXIqKikwKTsKIH0KIAogdm9pZCBUZXN0c0NvbnRyb2xsZXI6OmR1bXBU
ZXN0TmFtZXMoKQogewotICAgIHN0ZDo6bWFwPHN0ZDo6c3RyaW5nLCBDcmVhdGVUZXN0RnVuY3Rp
b24+Ojpjb25zdF9pdGVyYXRvciBpdCA9IG1fY3JlYXRlVGVzdEZ1bmN0aW9ucy5iZWdpbigpOwot
ICAgIHN0ZDo6bWFwPHN0ZDo6c3RyaW5nLCBDcmVhdGVUZXN0RnVuY3Rpb24+Ojpjb25zdF9pdGVy
YXRvciBlbmQgPSBtX2NyZWF0ZVRlc3RGdW5jdGlvbnMuZW5kKCk7Ci0gICAgZm9yICg7IGl0ICE9
IGVuZDsgKytpdCkKLSAgICAgICAgcHJpbnRmKCIlc1xuIiwgKCppdCkuZmlyc3QuY19zdHIoKSk7
Ci19CisgICAgOjp0ZXN0aW5nOjpVbml0VGVzdCogdW5pdF90ZXN0ID0gOjp0ZXN0aW5nOjpVbml0
VGVzdDo6R2V0SW5zdGFuY2UoKTsKIAotYm9vbCBUZXN0c0NvbnRyb2xsZXI6OnJ1blRlc3ROYW1l
ZChjb25zdCBzdGQ6OnN0cmluZyYgaWRlbnRpZmllcikKLXsKLSAgICBDcmVhdGVUZXN0RnVuY3Rp
b24gY3JlYXRlVGVzdEZ1bmN0aW9uID0gbV9jcmVhdGVUZXN0RnVuY3Rpb25zW2lkZW50aWZpZXJd
OwotICAgIGlmICghY3JlYXRlVGVzdEZ1bmN0aW9uKSB7Ci0gICAgICAgIHByaW50ZigiRVJST1I6
IFRlc3Qgbm90IGZvdW5kIC0gJXNcbiIsIGlkZW50aWZpZXIuY19zdHIoKSk7Ci0gICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICBmb3IgKGludCBpID0gMDsgaSA8IHVuaXRfdGVzdC0+dG90YWxfdGVz
dF9jYXNlX2NvdW50KCk7IGkrKykgeworICAgICAgICBjb25zdCA6OnRlc3Rpbmc6OlRlc3RDYXNl
KiB0ZXN0X2Nhc2UgPSB1bml0X3Rlc3QtPkdldFRlc3RDYXNlKGkpOworICAgICAgICBmb3IgKGlu
dCBqID0gMDsgaiA8IHRlc3RfY2FzZS0+dG90YWxfdGVzdF9jb3VudCgpOyBqKyspIHsKKyAgICAg
ICAgICBjb25zdCA6OnRlc3Rpbmc6OlRlc3RJbmZvKiB0ZXN0X2luZm8gPSB0ZXN0X2Nhc2UtPkdl
dFRlc3RJbmZvKGopOworICAgICAgICAgIHByaW50ZigiJXMuJXNcbiIsIHRlc3RfY2FzZS0+bmFt
ZSgpLCB0ZXN0X2luZm8tPm5hbWUoKSk7CisgICAgICAgIH0KICAgICB9Ci0KLSAgICBtX2N1cnJl
bnRUZXN0ID0gY3JlYXRlVGVzdEZ1bmN0aW9uKGlkZW50aWZpZXIpOwotICAgIG1fY3VycmVudFRl
c3QtPnJ1bigpOwotCi0gICAgZGVsZXRlIG1fY3VycmVudFRlc3Q7Ci0gICAgbV9jdXJyZW50VGVz
dCA9IDA7Ci0KLSAgICByZXR1cm4gIW1fdGVzdEZhaWxlZDsKIH0KIAotdm9pZCBUZXN0c0NvbnRy
b2xsZXI6OnRlc3RGYWlsZWQoY29uc3QgY2hhciogZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIq
IG1lc3NhZ2UpCitib29sIFRlc3RzQ29udHJvbGxlcjo6cnVuVGVzdE5hbWVkKGNvbnN0IHN0ZDo6
c3RyaW5nJiBpZGVudGlmaWVyKQogewotICAgIG1fdGVzdEZhaWxlZCA9IHRydWU7Ci0gICAgcHJp
bnRmKCJGQUlMOiAlc1xuXHQlcyAoJXM6JWQpXG4iLCBtX2N1cnJlbnRUZXN0LT5uYW1lKCkuY19z
dHIoKSwgbWVzc2FnZSwgZmlsZSwgbGluZSk7CisgICAgOjp0ZXN0aW5nOjpHVEVTVF9GTEFHKGZp
bHRlcikgPSBpZGVudGlmaWVyOworICAgIHJldHVybiAhUlVOX0FMTF9URVNUUygpOwogfQogCi12
b2lkIFRlc3RzQ29udHJvbGxlcjo6cmVnaXN0ZXJDcmVhdGVUZXN0RnVuY3Rpb24oY29uc3Qgc3Rk
OjpzdHJpbmcmIGlkZW50aWZpZXIsIENyZWF0ZVRlc3RGdW5jdGlvbiBjcmVhdGVUZXN0RnVuY3Rp
b24pCitib29sIFRlc3RzQ29udHJvbGxlcjo6cnVuQWxsVGVzdHMoKQogewotICAgIG1fY3JlYXRl
VGVzdEZ1bmN0aW9uc1tpZGVudGlmaWVyXSA9IGNyZWF0ZVRlc3RGdW5jdGlvbjsKKyAgICByZXR1
cm4gIVJVTl9BTExfVEVTVFMoKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQpk
aWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0c0NvbnRyb2xsZXIuaCBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHNDb250cm9sbGVyLmgKaW5kZXggMGZmMWZjNy4uZWIyYTk2NyAx
MDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0c0NvbnRyb2xsZXIuaAorKysgYi9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzQ29udHJvbGxlci5oCkBAIC0zOSwyMSArMzksMTEgQEAg
cHVibGljOgogCiAgICAgdm9pZCBkdW1wVGVzdE5hbWVzKCk7CiAgICAgYm9vbCBydW5UZXN0TmFt
ZWQoY29uc3Qgc3RkOjpzdHJpbmcmKTsKLQotICAgIC8vIENhbGxlZCBieSB0aGUgdGVzdHMgdGhl
bXNlbHZlcy4KLSAgICB2b2lkIHRlc3RGYWlsZWQoY29uc3QgY2hhciogZmlsZSwgaW50IGxpbmUs
IGNvbnN0IGNoYXIqIG1lc3NhZ2UpOwotCi0gICAgdHlwZWRlZiBUZXN0KiAoKkNyZWF0ZVRlc3RG
dW5jdGlvbikoY29uc3Qgc3RkOjpzdHJpbmcmKTsKLSAgICB2b2lkIHJlZ2lzdGVyQ3JlYXRlVGVz
dEZ1bmN0aW9uKGNvbnN0IHN0ZDo6c3RyaW5nJiwgQ3JlYXRlVGVzdEZ1bmN0aW9uKTsKKyAgICBi
b29sIHJ1bkFsbFRlc3RzKCk7CiAKIHByaXZhdGU6CiAgICAgVGVzdHNDb250cm9sbGVyKCk7CiAg
ICAgflRlc3RzQ29udHJvbGxlcigpOwotCi0gICAgYm9vbCBtX3Rlc3RGYWlsZWQ7Ci0gICAgVGVz
dCogbV9jdXJyZW50VGVzdDsKLQotICAgIHN0ZDo6bWFwPHN0ZDo6c3RyaW5nLCBDcmVhdGVUZXN0
RnVuY3Rpb24+IG1fY3JlYXRlVGVzdEZ1bmN0aW9uczsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFRl
c3RXZWJLaXRBUEkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL21haW4ubW0g
Yi9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9tYWluLm1tCmluZGV4IGU2ZGQ0YTYuLmU3ZGRlYzQg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL21haW4ubW0KKysrIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9tYWMvbWFpbi5tbQpAQCAtMzMsMTEgKzMzLDE1IEBAIGludCBtYWluKGlu
dCBhcmdjLCBjb25zdCBjaGFyKiBhcmd2W10pCiAKICAgICBib29sIHBhc3NlZCA9IHRydWU7CiAK
LSAgICBzdGQ6OnN0cmluZyBhcmd1bWVudChhcmd2WzFdKTsKLSAgICBpZiAoYXJndW1lbnQgPT0g
Ii0tZHVtcC10ZXN0cyIpCi0gICAgICAgIFRlc3RXZWJLaXRBUEk6OlRlc3RzQ29udHJvbGxlcjo6
c2hhcmVkKCkuZHVtcFRlc3ROYW1lcygpOwotICAgIGVsc2UgICAKLSAgICAgICAgcGFzc2VkID0g
VGVzdFdlYktpdEFQSTo6VGVzdHNDb250cm9sbGVyOjpzaGFyZWQoKS5ydW5UZXN0TmFtZWQoYXJn
dW1lbnQpOworICAgIGlmIChhcmdjID09IDEpCisgICAgICAgIHBhc3NlZCA9IFRlc3RXZWJLaXRB
UEk6OlRlc3RzQ29udHJvbGxlcjo6c2hhcmVkKCkucnVuQWxsVGVzdHMoKTsKKyAgICBlbHNlIHsK
KyAgICAgICAgc3RkOjpzdHJpbmcgYXJndW1lbnQoYXJndlsxXSk7CisgICAgICAgIGlmIChhcmd1
bWVudCA9PSAiLS1kdW1wLXRlc3RzIikKKyAgICAgICAgICAgIFRlc3RXZWJLaXRBUEk6OlRlc3Rz
Q29udHJvbGxlcjo6c2hhcmVkKCkuZHVtcFRlc3ROYW1lcygpOworICAgICAgICBlbHNlCisgICAg
ICAgICAgICBwYXNzZWQgPSBUZXN0V2ViS2l0QVBJOjpUZXN0c0NvbnRyb2xsZXI6OnNoYXJlZCgp
LnJ1blRlc3ROYW1lZChhcmd1bWVudCk7CisgICAgfQogCiAgICAgW3Bvb2wgZHJhaW5dOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>92886</attachid>
            <date>2011-05-09 16:50:54 -0700</date>
            <delta_ts>2011-05-10 16:40:10 -0700</delta_ts>
            <desc>Added Sam as a reviewer to rebased patch</desc>
            <filename>gtest.patch</filename>
            <type>text/plain</type>
            <size>30367</size>
            <attacher name="Dmitry Lomov">dslomov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCAwNTdhNmQ0Li45NWQ5YWE2
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTEtMDUtMDYgIERtaXRyeSBMb21vdiAgPGRzbG9tb3ZAZ29vZ2xlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgorICAgICAgICAKKyAgICAgICAgU3dpdGNoIFRlc3RX
ZWJLaXRBUEkgdG8gR1Rlc3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTU5NTYxCisKKyAgICAgICAgKiBTb3VyY2UvVGhpcmRQYXJ0eS9ndGVzdC9SRUFE
TUUuV2ViS2l0OgorICAgICAgICAqIFNvdXJjZS9UaGlyZFBhcnR5L2d0ZXN0L21zdmMvZ3Rlc3Qt
bWQudmNwcm9qOgorCiAyMDExLTA1LTA5ICBYYW4gTG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4K
IAogICAgICAgICBSZXZpZXdlZCBieSBHdXN0YXZvIE5vcm9uaGEuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9ndGVzdC9SRUFETUUuV2ViS2l0IGIvU291cmNlL1RoaXJkUGFydHkvZ3Rl
c3QvUkVBRE1FLldlYktpdAppbmRleCAxYmUyOTY5Li5kZGYyMTg0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9ndGVzdC9SRUFETUUuV2ViS2l0CisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5
L2d0ZXN0L1JFQURNRS5XZWJLaXQKQEAgLTEsMyArMSw2IEBACiBHVGVzdCB2LjEuNS4wCiAKIGh0
dHA6Ly9nb29nbGV0ZXN0Lmdvb2dsZWNvZGUuY29tL3N2bi90YWdzL3JlbGVhc2UtMS41LjAvIAor
CisyMDExLTA1LTA2IERtaXRyeSBMb21vdiAoZHNsb21vdkBnb29nbGUuY29tKQorICAgICAgZ3Rl
c3QtbWQudmNwcm9qIHVwZ3JhZGVkIHRvIFZTIDIwMDUgKDguMCkgZm9ybWF0IHRvIG1hdGNoIHRo
ZSByZXN0IG9mIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvZ3Rlc3QvbXN2
Yy9ndGVzdC1tZC52Y3Byb2ogYi9Tb3VyY2UvVGhpcmRQYXJ0eS9ndGVzdC9tc3ZjL2d0ZXN0LW1k
LnZjcHJvagppbmRleCA5Y2U0Yjk2Li43ODJmYzYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9ndGVzdC9tc3ZjL2d0ZXN0LW1kLnZjcHJvagorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9n
dGVzdC9tc3ZjL2d0ZXN0LW1kLnZjcHJvagpAQCAtMSw5NSArMSwxNDIgQEAKIDw/eG1sIHZlcnNp
b249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/PgogPFZpc3VhbFN0dWRpb1Byb2plY3QK
IAlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyIKLQlWZXJzaW9uPSI3LjEwIgorCVZlcnNpb249Ijgu
MDAiCiAJTmFtZT0iZ3Rlc3QtbWQiCiAJUHJvamVjdEdVSUQ9IntDOEY2QzE3Mi01NkYyLTRFNzYt
QjVGQS1DM0I0MjNCMzFCRTh9IgotCUtleXdvcmQ9IldpbjMyUHJvaiI+CisJUm9vdE5hbWVzcGFj
ZT0iZ3Rlc3QtbWQiCisJS2V5d29yZD0iV2luMzJQcm9qIgorCT4KIAk8UGxhdGZvcm1zPgogCQk8
UGxhdGZvcm0KLQkJCU5hbWU9IldpbjMyIi8+CisJCQlOYW1lPSJXaW4zMiIKKwkJLz4KIAk8L1Bs
YXRmb3Jtcz4KKwk8VG9vbEZpbGVzPgorCTwvVG9vbEZpbGVzPgogCTxDb25maWd1cmF0aW9ucz4K
IAkJPENvbmZpZ3VyYXRpb24KIAkJCU5hbWU9IkRlYnVnfFdpbjMyIgotCQkJT3V0cHV0RGlyZWN0
b3J5PSIkKFNvbHV0aW9uTmFtZSkvJChDb25maWd1cmF0aW9uTmFtZSkiCi0JCQlJbnRlcm1lZGlh
dGVEaXJlY3Rvcnk9IiQoT3V0RGlyKS8kKFByb2plY3ROYW1lKSIKKwkJCU91dHB1dERpcmVjdG9y
eT0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXGxpYiIKIAkJCUNvbmZpZ3VyYXRpb25UeXBlPSI0
IgorCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9IiQoUHJvamVjdERpcilcLi5cLi5cLi5cLi5c
V2ViS2l0TGlicmFyaWVzXHdpblx0b29sc1x2c3Byb3BzXGNvbW1vbi52c3Byb3BzIgogCQkJQ2hh
cmFjdGVyU2V0PSIyIgotCQkJUmVmZXJlbmNlc1BhdGg9IiI+CisJCQk+CisJCQk8VG9vbAorCQkJ
CU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiCisJCQkvPgorCQkJPFRvb2wKKwkJCQlOYW1lPSJW
Q0N1c3RvbUJ1aWxkVG9vbCIKKwkJCS8+CisJCQk8VG9vbAorCQkJCU5hbWU9IlZDWE1MRGF0YUdl
bmVyYXRvclRvb2wiCisJCQkvPgorCQkJPFRvb2wKKwkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94
eUdlbmVyYXRvclRvb2wiCisJCQkvPgorCQkJPFRvb2wKKwkJCQlOYW1lPSJWQ01JRExUb29sIgor
CQkJLz4KIAkJCTxUb29sCiAJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKIAkJCQlPcHRpbWl6
YXRpb249IjAiCiAJCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO19ERUJVRztfTElC
IgotCQkJCU1pbmltYWxSZWJ1aWxkPSJUUlVFIgorCQkJCU1pbmltYWxSZWJ1aWxkPSJ0cnVlIgog
CQkJCUJhc2ljUnVudGltZUNoZWNrcz0iMyIKIAkJCQlSdW50aW1lTGlicmFyeT0iMyIKIAkJCQlV
c2VQcmVjb21waWxlZEhlYWRlcj0iMCIKIAkJCQlXYXJuaW5nTGV2ZWw9IjMiCi0JCQkJRGV0ZWN0
NjRCaXRQb3J0YWJpbGl0eVByb2JsZW1zPSJGQUxTRSIKLQkJCQlEZWJ1Z0luZm9ybWF0aW9uRm9y
bWF0PSI0Ii8+CisJCQkJRGV0ZWN0NjRCaXRQb3J0YWJpbGl0eVByb2JsZW1zPSJmYWxzZSIKKwkJ
CQlEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PSI0IgorCQkJLz4KIAkJCTxUb29sCi0JCQkJTmFtZT0i
VkNDdXN0b21CdWlsZFRvb2wiLz4KKwkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVy
VG9vbCIKKwkJCS8+CiAJCQk8VG9vbAotCQkJCU5hbWU9IlZDTGlicmFyaWFuVG9vbCIKLQkJCQlP
dXRwdXRGaWxlPSIkKE91dERpcikvZ3Rlc3RkLmxpYiIvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJW
Q01JRExUb29sIi8+CisJCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCIKKwkJCS8+CiAJ
CQk8VG9vbAotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIi8+CisJCQkJTmFtZT0iVkNQ
cmVMaW5rRXZlbnRUb29sIgorCQkJLz4KIAkJCTxUb29sCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2
ZW50VG9vbCIvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiLz4KKwkJ
CQlOYW1lPSJWQ0xpYnJhcmlhblRvb2wiCisJCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXGd0ZXN0
LmxpYiIKKwkJCS8+CiAJCQk8VG9vbAotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wi
Lz4KKwkJCQlOYW1lPSJWQ0FMaW5rVG9vbCIKKwkJCS8+CiAJCQk8VG9vbAotCQkJCU5hbWU9IlZD
V2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCIvPgorCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wi
CisJCQkvPgogCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIi8+CisJ
CQkJTmFtZT0iVkNCc2NNYWtlVG9vbCIKKwkJCS8+CiAJCQk8VG9vbAotCQkJCU5hbWU9IlZDTWFu
YWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+CisJCQkJTmFtZT0iVkNGeENvcFRvb2wiCisJCQkv
PgogCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ0F1eGlsaWFyeU1hbmFnZWRXcmFwcGVyR2VuZXJhdG9y
VG9vbCIvPgorCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIgorCQkJLz4KIAkJPC9Db25m
aWd1cmF0aW9uPgogCQk8Q29uZmlndXJhdGlvbgogCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKLQkJ
CU91dHB1dERpcmVjdG9yeT0iJChTb2x1dGlvbk5hbWUpLyQoQ29uZmlndXJhdGlvbk5hbWUpIgot
CQkJSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSIkKE91dERpcikvJChQcm9qZWN0TmFtZSkiCisJCQlP
dXRwdXREaXJlY3Rvcnk9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxsaWIiCiAJCQlDb25maWd1
cmF0aW9uVHlwZT0iNCIKKwkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIkKFByb2plY3REaXIp
XC4uXC4uXC4uXC4uXFdlYktpdExpYnJhcmllc1x3aW5cdG9vbHNcdnNwcm9wc1xjb21tb24udnNw
cm9wcyIKIAkJCUNoYXJhY3RlclNldD0iMiIKLQkJCVJlZmVyZW5jZXNQYXRoPSImcXVvdDsuLlxp
bmNsdWRlJnF1b3Q7OyZxdW90Oy4uJnF1b3Q7Ij4KKwkJCT4KKwkJCTxUb29sCisJCQkJTmFtZT0i
VkNQcmVCdWlsZEV2ZW50VG9vbCIKKwkJCS8+CisJCQk8VG9vbAorCQkJCU5hbWU9IlZDQ3VzdG9t
QnVpbGRUb29sIgorCQkJLz4KKwkJCTxUb29sCisJCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9y
VG9vbCIKKwkJCS8+CisJCQk8VG9vbAorCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJh
dG9yVG9vbCIKKwkJCS8+CisJCQk8VG9vbAorCQkJCU5hbWU9IlZDTUlETFRvb2wiCisJCQkvPgog
CQkJPFRvb2wKIAkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgogCQkJCVByZXByb2Nlc3NvckRl
ZmluaXRpb25zPSJXSU4zMjtOREVCVUc7X0xJQiIKIAkJCQlSdW50aW1lTGlicmFyeT0iMiIKIAkJ
CQlVc2VQcmVjb21waWxlZEhlYWRlcj0iMCIKIAkJCQlXYXJuaW5nTGV2ZWw9IjMiCi0JCQkJRGV0
ZWN0NjRCaXRQb3J0YWJpbGl0eVByb2JsZW1zPSJGQUxTRSIKLQkJCQlEZWJ1Z0luZm9ybWF0aW9u
Rm9ybWF0PSIzIi8+CisJCQkJRGV0ZWN0NjRCaXRQb3J0YWJpbGl0eVByb2JsZW1zPSJmYWxzZSIK
KwkJCQlEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PSIzIgorCQkJLz4KIAkJCTxUb29sCi0JCQkJTmFt
ZT0iVkNDdXN0b21CdWlsZFRvb2wiLz4KKwkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBp
bGVyVG9vbCIKKwkJCS8+CiAJCQk8VG9vbAotCQkJCU5hbWU9IlZDTGlicmFyaWFuVG9vbCIKLQkJ
CQlPdXRwdXRGaWxlPSIkKE91dERpcikvZ3Rlc3QubGliIi8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9
IlZDTUlETFRvb2wiLz4KKwkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIgorCQkJLz4K
IAkJCTxUb29sCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiLz4KKwkJCQlOYW1lPSJW
Q1ByZUxpbmtFdmVudFRvb2wiCisJCQkvPgogCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ1ByZUJ1aWxk
RXZlbnRUb29sIi8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCIvPgor
CQkJCU5hbWU9IlZDTGlicmFyaWFuVG9vbCIKKwkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilcZ3Rl
c3QubGliIgorCQkJLz4KIAkJCTxUb29sCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9v
bCIvPgorCQkJCU5hbWU9IlZDQUxpbmtUb29sIgorCQkJLz4KIAkJCTxUb29sCi0JCQkJTmFtZT0i
VkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIi8+CisJCQkJTmFtZT0iVkNYRENNYWtlVG9v
bCIKKwkJCS8+CiAJCQk8VG9vbAotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiLz4K
KwkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIgorCQkJLz4KIAkJCTxUb29sCi0JCQkJTmFtZT0iVkNN
YW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4KKwkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCIKKwkJ
CS8+CiAJCQk8VG9vbAotCQkJCU5hbWU9IlZDQXV4aWxpYXJ5TWFuYWdlZFdyYXBwZXJHZW5lcmF0
b3JUb29sIi8+CisJCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiCisJCQkvPgogCQk8L0Nv
bmZpZ3VyYXRpb24+CiAJPC9Db25maWd1cmF0aW9ucz4KIAk8UmVmZXJlbmNlcz4KQEAgLTk4LDEz
NyArMTQ1LDE4MSBAQAogCQk8RmlsdGVyCiAJCQlOYW1lPSJTb3VyY2UgRmlsZXMiCiAJCQlGaWx0
ZXI9ImNwcDtjO2N4eDtkZWY7b2RsO2lkbDtocGo7YmF0O2FzbTthc214IgotCQkJVW5pcXVlSWRl
bnRpZmllcj0iezRGQzczN0YxLUM3QTUtNDM3Ni1BMDY2LTJBMzJENzUyQTJGRn0iPgorCQkJVW5p
cXVlSWRlbnRpZmllcj0iezRGQzczN0YxLUM3QTUtNDM3Ni1BMDY2LTJBMzJENzUyQTJGRn0iCisJ
CQk+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cc3JjXGd0ZXN0LWRlYXRoLXRlc3Qu
Y2MiPgorCQkJCVJlbGF0aXZlUGF0aD0iLi5cc3JjXGd0ZXN0LWRlYXRoLXRlc3QuY2MiCisJCQkJ
PgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiI+CisJCQkJ
CU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJCQk+CiAJCQkJCTxUb29sCiAJCQkJCQlOYW1lPSJWQ0NM
Q29tcGlsZXJUb29sIgotCQkJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7
Li4mcXVvdDs7JnF1b3Q7Li5caW5jbHVkZSZxdW90OyIvPgorCQkJCQkJQWRkaXRpb25hbEluY2x1
ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7Li4mcXVvdDs7JnF1b3Q7Li5caW5jbHVkZSZxdW90OyIKKwkJ
CQkJLz4KIAkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgot
CQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIj4KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJ
CQkJPgogCQkJCQk8VG9vbAogCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJCUFk
ZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90Oy4uJnF1b3Q7OyZxdW90Oy4uXGluY2x1
ZGUmcXVvdDsiLz4KKwkJCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90Oy4u
JnF1b3Q7OyZxdW90Oy4uXGluY2x1ZGUmcXVvdDsiCisJCQkJCS8+CiAJCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxzcmNc
Z3Rlc3QtZmlsZXBhdGguY2MiPgorCQkJCVJlbGF0aXZlUGF0aD0iLi5cc3JjXGd0ZXN0LWZpbGVw
YXRoLmNjIgorCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iRGVidWd8
V2luMzIiPgorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJPgogCQkJCQk8VG9vbAogCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0
b3JpZXM9IiZxdW90Oy4uJnF1b3Q7OyZxdW90Oy4uXGluY2x1ZGUmcXVvdDsiLz4KKwkJCQkJCUFk
ZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90Oy4uJnF1b3Q7OyZxdW90Oy4uXGluY2x1
ZGUmcXVvdDsiCisJCQkJCS8+CiAJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KIAkJCQk8RmlsZUNv
bmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiI+CisJCQkJCU5hbWU9IlJlbGVh
c2V8V2luMzIiCisJCQkJCT4KIAkJCQkJPFRvb2wKIAkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiCi0JCQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSImcXVvdDsuLiZxdW90Ozsm
cXVvdDsuLlxpbmNsdWRlJnF1b3Q7Ii8+CisJCQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9y
aWVzPSImcXVvdDsuLiZxdW90OzsmcXVvdDsuLlxpbmNsdWRlJnF1b3Q7IgorCQkJCQkvPgogCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZl
UGF0aD0iLi5cc3JjXGd0ZXN0LXBvcnQuY2MiPgorCQkJCVJlbGF0aXZlUGF0aD0iLi5cc3JjXGd0
ZXN0LXBvcnQuY2MiCisJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJE
ZWJ1Z3xXaW4zMiI+CisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJCQk+CiAJCQkJCTxUb29s
CiAJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkJQWRkaXRpb25hbEluY2x1ZGVE
aXJlY3Rvcmllcz0iJnF1b3Q7Li4mcXVvdDs7JnF1b3Q7Li5caW5jbHVkZSZxdW90OyIvPgorCQkJ
CQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7Li4mcXVvdDs7JnF1b3Q7Li5c
aW5jbHVkZSZxdW90OyIKKwkJCQkJLz4KIAkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgogCQkJCTxG
aWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIj4KKwkJCQkJTmFtZT0i
UmVsZWFzZXxXaW4zMiIKKwkJCQkJPgogCQkJCQk8VG9vbAogCQkJCQkJTmFtZT0iVkNDTENvbXBp
bGVyVG9vbCIKLQkJCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90Oy4uJnF1
b3Q7OyZxdW90Oy4uXGluY2x1ZGUmcXVvdDsiLz4KKwkJCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGly
ZWN0b3JpZXM9IiZxdW90Oy4uJnF1b3Q7OyZxdW90Oy4uXGluY2x1ZGUmcXVvdDsiCisJCQkJCS8+
CiAJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVs
YXRpdmVQYXRoPSIuLlxzcmNcZ3Rlc3QtdGVzdC1wYXJ0LmNjIj4KKwkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXHNyY1xndGVzdC10ZXN0LXBhcnQuY2MiCisJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlv
bgotCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiI+CisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJ
CQk+CiAJCQkJCTxUb29sCiAJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkJQWRk
aXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7Li4mcXVvdDs7JnF1b3Q7Li5caW5jbHVk
ZSZxdW90OyIvPgorCQkJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7Li4m
cXVvdDs7JnF1b3Q7Li5caW5jbHVkZSZxdW90OyIKKwkJCQkJLz4KIAkJCQk8L0ZpbGVDb25maWd1
cmF0aW9uPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMy
Ij4KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJPgogCQkJCQk8VG9vbAogCQkJCQkJ
TmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3Jp
ZXM9IiZxdW90Oy4uJnF1b3Q7OyZxdW90Oy4uXGluY2x1ZGUmcXVvdDsiLz4KKwkJCQkJCUFkZGl0
aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90Oy4uJnF1b3Q7OyZxdW90Oy4uXGluY2x1ZGUm
cXVvdDsiCisJCQkJCS8+CiAJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KIAkJCTwvRmlsZT4KIAkJ
CTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxzcmNcZ3Rlc3QtdHlwZWQtdGVzdC5jYyI+CisJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxzcmNcZ3Rlc3QtdHlwZWQtdGVzdC5jYyIKKwkJCQk+CiAJCQkJ
PEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5hbWU9IkRlYnVnfFdpbjMyIj4KKwkJCQkJTmFtZT0i
RGVidWd8V2luMzIiCisJCQkJCT4KIAkJCQkJPFRvb2wKIAkJCQkJCU5hbWU9IlZDQ0xDb21waWxl
clRvb2wiCi0JCQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSImcXVvdDsuLiZxdW90
OzsmcXVvdDsuLlxpbmNsdWRlJnF1b3Q7Ii8+CisJCQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVj
dG9yaWVzPSImcXVvdDsuLiZxdW90OzsmcXVvdDsuLlxpbmNsdWRlJnF1b3Q7IgorCQkJCQkvPgog
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5h
bWU9IlJlbGVhc2V8V2luMzIiPgorCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQk+CiAJ
CQkJCTxUb29sCiAJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkJQWRkaXRpb25h
bEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7Li4mcXVvdDs7JnF1b3Q7Li5caW5jbHVkZSZxdW90
OyIvPgorCQkJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7Li4mcXVvdDs7
JnF1b3Q7Li5caW5jbHVkZSZxdW90OyIKKwkJCQkJLz4KIAkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
PgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHNyY1xndGVzdC5j
YyI+CisJCQkJUmVsYXRpdmVQYXRoPSIuLlxzcmNcZ3Rlc3QuY2MiCisJCQkJPgogCQkJCTxGaWxl
Q29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiI+CisJCQkJCU5hbWU9IkRlYnVn
fFdpbjMyIgorCQkJCQk+CiAJCQkJCTxUb29sCiAJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29s
IgotCQkJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7Li4mcXVvdDs7JnF1
b3Q7Li5caW5jbHVkZSZxdW90OyIvPgorCQkJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmll
cz0iJnF1b3Q7Li4mcXVvdDs7JnF1b3Q7Li5caW5jbHVkZSZxdW90OyIKKwkJCQkJLz4KIAkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJS
ZWxlYXNlfFdpbjMyIj4KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJPgogCQkJCQk8
VG9vbAogCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJCUFkZGl0aW9uYWxJbmNs
dWRlRGlyZWN0b3JpZXM9IiZxdW90Oy4uJnF1b3Q7OyZxdW90Oy4uXGluY2x1ZGUmcXVvdDsiLz4K
KwkJCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90Oy4uJnF1b3Q7OyZxdW90
Oy4uXGluY2x1ZGUmcXVvdDsiCisJCQkJCS8+CiAJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KIAkJ
CTwvRmlsZT4KIAkJPC9GaWx0ZXI+CiAJCTxGaWx0ZXIKIAkJCU5hbWU9IkhlYWRlciBGaWxlcyIK
IAkJCUZpbHRlcj0iaDtocHA7aHh4O2htO2lubDtpbmM7eHNkIgotCQkJVW5pcXVlSWRlbnRpZmll
cj0iezkzOTk1MzgwLTg5QkQtNGIwNC04OEVCLTYyNUZCRTUyRUJGQn0iPgorCQkJVW5pcXVlSWRl
bnRpZmllcj0iezkzOTk1MzgwLTg5QkQtNGIwNC04OEVCLTYyNUZCRTUyRUJGQn0iCisJCQk+CiAJ
CQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5jbHVkZVxndGVzdFxpbnRlcm5hbFxndGVz
dC1kZWF0aC10ZXN0LWludGVybmFsLmgiPgorCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5jbHVkZVxn
dGVzdFxpbnRlcm5hbFxndGVzdC1kZWF0aC10ZXN0LWludGVybmFsLmgiCisJCQkJPgogCQkJPC9G
aWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluY2x1ZGVcZ3Rlc3RcZ3Rlc3Qt
ZGVhdGgtdGVzdC5oIj4KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluY2x1ZGVcZ3Rlc3RcZ3Rlc3Qt
ZGVhdGgtdGVzdC5oIgorCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQ
YXRoPSIuLlxpbmNsdWRlXGd0ZXN0XGludGVybmFsXGd0ZXN0LWZpbGVwYXRoLmgiPgorCQkJCVJl
bGF0aXZlUGF0aD0iLi5caW5jbHVkZVxndGVzdFxpbnRlcm5hbFxndGVzdC1maWxlcGF0aC5oIgor
CQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxzcmNcZ3Rl
c3QtaW50ZXJuYWwtaW5sLmgiPgorCQkJCVJlbGF0aXZlUGF0aD0iLi5cc3JjXGd0ZXN0LWludGVy
bmFsLWlubC5oIgorCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRo
PSIuLlxpbmNsdWRlXGd0ZXN0XGludGVybmFsXGd0ZXN0LWludGVybmFsLmgiPgorCQkJCVJlbGF0
aXZlUGF0aD0iLi5caW5jbHVkZVxndGVzdFxpbnRlcm5hbFxndGVzdC1pbnRlcm5hbC5oIgorCQkJ
CT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxpbmNsdWRlXGd0
ZXN0XGd0ZXN0LW1lc3NhZ2UuaCI+CisJCQkJUmVsYXRpdmVQYXRoPSIuLlxpbmNsdWRlXGd0ZXN0
XGd0ZXN0LW1lc3NhZ2UuaCIKKwkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0
aXZlUGF0aD0iLi5caW5jbHVkZVxndGVzdFxpbnRlcm5hbFxndGVzdC1wb3J0LmgiPgorCQkJCVJl
bGF0aXZlUGF0aD0iLi5caW5jbHVkZVxndGVzdFxpbnRlcm5hbFxndGVzdC1wb3J0LmgiCisJCQkJ
PgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluY2x1ZGVcZ3Rl
c3RcZ3Rlc3Qtc3BpLmgiPgorCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5jbHVkZVxndGVzdFxndGVz
dC1zcGkuaCIKKwkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0i
Li5caW5jbHVkZVxndGVzdFxpbnRlcm5hbFxndGVzdC1zdHJpbmcuaCI+CisJCQkJUmVsYXRpdmVQ
YXRoPSIuLlxpbmNsdWRlXGd0ZXN0XGludGVybmFsXGd0ZXN0LXN0cmluZy5oIgorCQkJCT4KIAkJ
CTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxpbmNsdWRlXGd0ZXN0XGd0
ZXN0LmgiPgorCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5jbHVkZVxndGVzdFxndGVzdC5oIgorCQkJ
CT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxpbmNsdWRlXGd0
ZXN0XGd0ZXN0X3ByZWRfaW1wbC5oIj4KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluY2x1ZGVcZ3Rl
c3RcZ3Rlc3RfcHJlZF9pbXBsLmgiCisJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXGluY2x1ZGVcZ3Rlc3RcZ3Rlc3RfcHJvZC5oIj4KKwkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXGluY2x1ZGVcZ3Rlc3RcZ3Rlc3RfcHJvZC5oIgorCQkJCT4KIAkJCTwvRmlsZT4K
IAkJPC9GaWx0ZXI+CiAJPC9GaWxlcz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCA0NGYzYTVlLi5kOGQ5
N2U5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTEtMDUtMDYgIERtaXRy
eSBMb21vdiAgPGRzbG9tb3ZAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBTYW0g
V2VpbmlnLgorCisgICAgICAgIFN3aXRjaCBUZXN0V2ViS2l0QVBJIHRvIEdUZXN0CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01OTU2MQorCisgICAgICAg
ICogV2ViS2l0LnZjcHJvai9XZWJLaXQuc2xuOgorPgogMjAxMS0wNS0wNyAgU2hlcmlmZiBCb3Qg
IDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9s
bGluZyBvdXQgcjg2MDE2LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViS2l0LnZj
cHJvai9XZWJLaXQuc2xuIGIvU291cmNlL1dlYktpdC93aW4vV2ViS2l0LnZjcHJvai9XZWJLaXQu
c2xuCmluZGV4IGIyYjhkOTIuLjA4ZWRhZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2lu
L1dlYktpdC52Y3Byb2ovV2ViS2l0LnNsbgorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJLaXQu
dmNwcm9qL1dlYktpdC5zbG4KQEAgLTE1Myw2ICsxNTMsOCBAQCBQcm9qZWN0KCJ7OEJDOUNFQjgt
OEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gIlRlc3RXZWJLaXRBUElJbmplY3RlZEJ1
bmRsZQogCQl7M0U0OEFCMjMtRDI0OS00ODhGLUExQzQtNDNDREY1MkZCRDI4fSA9IHszRTQ4QUIy
My1EMjQ5LTQ4OEYtQTFDNC00M0NERjUyRkJEMjh9CiAJRW5kUHJvamVjdFNlY3Rpb24KIEVuZFBy
b2plY3QKK1Byb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9Iikg
PSAiZ3Rlc3QtbWQiLCAiLi5cLi5cLi5cVGhpcmRQYXJ0eVxndGVzdFxtc3ZjXGd0ZXN0LW1kLnZj
cHJvaiIsICJ7QzhGNkMxNzItNTZGMi00RTc2LUI1RkEtQzNCNDIzQjMxQkU4fSIKK0VuZFByb2pl
Y3QKIEdsb2JhbAogCUdsb2JhbFNlY3Rpb24oU29sdXRpb25Db25maWd1cmF0aW9uUGxhdGZvcm1z
KSA9IHByZVNvbHV0aW9uCiAJCURlYnVnX0FsbHxXaW4zMiA9IERlYnVnX0FsbHxXaW4zMgpAQCAt
NTA5LDYgKzUxMSwxOCBAQCBHbG9iYWwKIAkJe0IwMTAxNjA0LUI0ODMtNEY4Qy05QzUxLTkwQjQ2
QTJCMUNEM30uUHJvZHVjdGlvbnxXaW4zMi5CdWlsZC4wID0gUHJvZHVjdGlvbnxXaW4zMgogCQl7
QjAxMDE2MDQtQjQ4My00RjhDLTlDNTEtOTBCNDZBMkIxQ0QzfS5SZWxlYXNlfFdpbjMyLkFjdGl2
ZUNmZyA9IFJlbGVhc2V8V2luMzIKIAkJe0IwMTAxNjA0LUI0ODMtNEY4Qy05QzUxLTkwQjQ2QTJC
MUNEM30uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMgorICAgICAgICAgICAg
ICAgIHtDOEY2QzE3Mi01NkYyLTRFNzYtQjVGQS1DM0I0MjNCMzFCRTh9LkRlYnVnX0FsbHxXaW4z
Mi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMgorCQl7QzhGNkMxNzItNTZGMi00RTc2LUI1RkEtQzNC
NDIzQjMxQkU4fS5EZWJ1Z19BbGx8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyCisJCXtDOEY2
QzE3Mi01NkYyLTRFNzYtQjVGQS1DM0I0MjNCMzFCRTh9LkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4z
Mi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMgorCQl7QzhGNkMxNzItNTZGMi00RTc2LUI1RkEtQzNC
NDIzQjMxQkU4fS5EZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMy
CisJCXtDOEY2QzE3Mi01NkYyLTRFNzYtQjVGQS1DM0I0MjNCMzFCRTh9LkRlYnVnfFdpbjMyLkFj
dGl2ZUNmZyA9IERlYnVnfFdpbjMyCisJCXtDOEY2QzE3Mi01NkYyLTRFNzYtQjVGQS1DM0I0MjNC
MzFCRTh9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMgorCQl7QzhGNkMxNzItNTZG
Mi00RTc2LUI1RkEtQzNCNDIzQjMxQkU4fS5Qcm9kdWN0aW9ufFdpbjMyLkFjdGl2ZUNmZyA9IFJl
bGVhc2V8V2luMzIKKwkJe0M4RjZDMTcyLTU2RjItNEU3Ni1CNUZBLUMzQjQyM0IzMUJFOH0uUHJv
ZHVjdGlvbnxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMgorCQl7QzhGNkMxNzItNTZGMi00
RTc2LUI1RkEtQzNCNDIzQjMxQkU4fS5SZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMi5BY3RpdmVD
ZmcgPSBSZWxlYXNlfFdpbjMyCisJCXtDOEY2QzE3Mi01NkYyLTRFNzYtQjVGQS1DM0I0MjNCMzFC
RTh9LlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyCisJ
CXtDOEY2QzE3Mi01NkYyLTRFNzYtQjVGQS1DM0I0MjNCMzFCRTh9LlJlbGVhc2V8V2luMzIuQWN0
aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMgorCQl7QzhGNkMxNzItNTZGMi00RTc2LUI1RkEtQzNCNDIz
QjMxQkU4fS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyCiAJRW5kR2xvYmFs
U2VjdGlvbgogCUdsb2JhbFNlY3Rpb24oU29sdXRpb25Qcm9wZXJ0aWVzKSA9IHByZVNvbHV0aW9u
CiAJCUhpZGVTb2x1dGlvbk5vZGUgPSBGQUxTRQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9n
IGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDA2YTBmMjEuLjYzMDA2OTEgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAx
MS0wNS0wNiAgRG1pdHJ5IExvbW92ICA8ZHNsb21vdkBnb29nbGUuY29tPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IFNhbSBXZWluaWcuCisKKyAgICAgICAgU3dpdGNoIFRlc3RXZWJLaXRBUEkgdG8g
R1Rlc3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU5
NTYxCisKKyAgICAgICAgKiBTY3JpcHRzL2J1aWxkLWFwaS10ZXN0czoKKyAgICAgICAgKiBTY3Jp
cHRzL3J1bi1hcGktdGVzdHM6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9u
cy9UZXN0V2ViS2l0QVBJQ29tbW9uLnZzcHJvcHM6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9U
ZXN0Lmg6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvVmVjdG9y
QmFzaWMuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVz
dFdlYktpdEFQSS9UZXN0c0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6
VGVzdHNDb250cm9sbGVyOjpUZXN0c0NvbnRyb2xsZXIpOgorICAgICAgICAoVGVzdFdlYktpdEFQ
STo6VGVzdHNDb250cm9sbGVyOjpkdW1wVGVzdE5hbWVzKToKKyAgICAgICAgKFRlc3RXZWJLaXRB
UEk6OlRlc3RzQ29udHJvbGxlcjo6cnVuVGVzdE5hbWVkKToKKyAgICAgICAgKFRlc3RXZWJLaXRB
UEk6OlRlc3RzQ29udHJvbGxlcjo6cnVuQWxsVGVzdHMpOgorICAgICAgICAqIFRlc3RXZWJLaXRB
UEkvVGVzdHNDb250cm9sbGVyLmg6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9tYWMvbWFpbi5t
bToKKyAgICAgICAgKG1haW4pOgorCiAyMDExLTA1LTA5ICBJZ29yIE9saXZlaXJhICA8aWdvci5v
bGl2ZWlyYUBvcGVuYm9zc2Eub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFuZHJlYXMgS2xp
bmcuCkBAIC0xNTgsNyArMTgxLDcgQEAKICAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9wb3J0L3NlcnZlcl9wcm9jZXNzLnB5OgogICAgICAgICAqIFNjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3BvcnQvd2Via2l0LnB5OgogCi0yMDExLTA1LTA2ICBBZGFtIEJhcnRo
ICA8YWJhcnRoQHdlYmtpdC5vcmc+CiswMTEtMDUtMDYgIEFkYW0gQmFydGggIDxhYmFydGhAd2Vi
a2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KIApkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy9idWlsZC1hcGktdGVzdHMgYi9Ub29scy9TY3JpcHRzL2J1aWxkLWFw
aS10ZXN0cwppbmRleCBkZDIyMzFjLi5mNmRkZWMwIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRz
L2J1aWxkLWFwaS10ZXN0cworKysgYi9Ub29scy9TY3JpcHRzL2J1aWxkLWFwaS10ZXN0cwpAQCAt
NTYsMTIgKzU2LDE1IEBAIHNldENvbmZpZ3VyYXRpb24oKTsKIGNoZGlyV2ViS2l0KCk7CiAKICMg
QnVpbGQKLWNoZGlyICJUb29scy9UZXN0V2ViS2l0QVBJIiBvciBkaWU7CiAKIG15ICRyZXN1bHQ7
CiBpZiAoaXNBcHBsZU1hY1dlYktpdCgpKSB7CisgICAgY2hkaXIgIlNvdXJjZS9UaGlyZFBhcnR5
L2d0ZXN0IjsKKyAgICBidWlsZFhDb2RlUHJvamVjdCgieGNvZGUvZ3Rlc3QiLCAkY2xlYW4sIFhj
b2RlT3B0aW9ucygpLCBAQVJHVik7CisgICAgY2hkaXIgIi4uLy4uLy4uL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkiIG9yIGRpZTsKICAgICAkcmVzdWx0ID0gYnVpbGRYQ29kZVByb2plY3QoIlRlc3RXZWJL
aXRBUEkiLCAkY2xlYW4sIFhjb2RlT3B0aW9ucygpLCBAQVJHVik7CiB9IGVsc2lmIChpc0FwcGxl
V2luV2ViS2l0KCkpIHsKKyAgICBjaGRpciAiVG9vbHMvVGVzdFdlYktpdEFQSSIgb3IgZGllOwog
ICAgICRyZXN1bHQgPSBidWlsZFZpc3VhbFN0dWRpb1Byb2plY3QoIndpbi9UZXN0V2ViS2l0QVBJ
LnNsbiIsICRjbGVhbik7CiB9IGVsc2UgewogICAgIGRpZSAiVGVzdFdlYktpdEFQSSBpcyBub3Qg
c3VwcG9ydGVkIG9uIHRoaXMgcGxhdGZvcm0uXG4iOwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0
cy9ydW4tYXBpLXRlc3RzIGIvVG9vbHMvU2NyaXB0cy9ydW4tYXBpLXRlc3RzCmluZGV4IDk3MTM2
NjIuLjMwZTQzYWQgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvcnVuLWFwaS10ZXN0cworKysg
Yi9Ub29scy9TY3JpcHRzL3J1bi1hcGktdGVzdHMKQEAgLTEyMiw3ICsxMjIsNyBAQCBzdWIgcnVu
QWxsVGVzdHNJblN1aXRlKCQpCiBzdWIgcnVuVGVzdCgkJCkKIHsKICAgICBteSAoJHN1aXRlLCAk
dGVzdE5hbWUpID0gQF87Ci0gICAgbXkgJHRlc3QgPSAkc3VpdGUgLiAiLyIgLiAkdGVzdE5hbWU7
CisgICAgbXkgJHRlc3QgPSAkc3VpdGUgLiAiLiIgLiAkdGVzdE5hbWU7CiAKICAgICBwcmludCAi
ICAgIFRlc3Q6ICR0ZXN0TmFtZSAtPiAiOwogCkBAIC0yMzUsNyArMjM1LDcgQEAgc3ViIHBvcHVs
YXRlVGVzdHMoKQogICAgIG15ICVrZXllZFRlc3RzID0gKCk7CiAgICAgZm9yIG15ICR0ZXN0IChA
dGVzdHMpIHsKICAgICAgICAgJHRlc3QgPX4gcy9bXHJcbl0qJC8vOwotICAgICAgICBteSAoJHN1
aXRlLCAkdGVzdE5hbWUpID0gc3BsaXQoL1wvLywgJHRlc3QpOworICAgICAgICBteSAoJHN1aXRl
LCAkdGVzdE5hbWUpID0gc3BsaXQoL1wuLywgJHRlc3QpOwogICAgICAgICBwdXNoIEB7JGtleWVk
VGVzdHN7JHN1aXRlfX0sICR0ZXN0TmFtZTsKICAgICB9CiAgICAgCmRpZmYgLS1naXQgYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL1Rlc3RXZWJLaXRBUElDb21tb24udnNwcm9w
cyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvVGVzdFdlYktpdEFQSUNvbW1v
bi52c3Byb3BzCmluZGV4IDY3NDJmZjEuLmFlYmZjOTIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvVGVzdFdlYktpdEFQSUNvbW1vbi52c3Byb3BzCisrKyBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvVGVzdFdlYktpdEFQSUNvbW1vbi52
c3Byb3BzCkBAIC02LDEyICs2LDEyIEBACiAJPgogCTxUb29sCiAJCU5hbWU9IlZDQ0xDb21waWxl
clRvb2wiCi0JCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90OyQoUHJvamVjdERp
cikmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLiZxdW90OzsmcXVvdDskKENvbmZpZ3VyYXRp
b25CdWlsZERpcilcaW5jbHVkZSZxdW90OzsmcXVvdDskKENvbmZpZ3VyYXRpb25CdWlsZERpcilc
aW5jbHVkZVxXZWJDb3JlXEZvcndhcmRpbmdIZWFkZXJzJnF1b3Q7OyZxdW90OyQoQ29uZmlndXJh
dGlvbkJ1aWxkRGlyKVxpbmNsdWRlXHByaXZhdGUmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJp
ZXNEaXIpXGluY2x1ZGUmcXVvdDsiCisgICAgICAgICAgICAgICAgQWRkaXRpb25hbEluY2x1ZGVE
aXJlY3Rvcmllcz0iJnF1b3Q7JChQcm9qZWN0RGlyKSZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
XC4uJnF1b3Q7OyZxdW90OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxpbmNsdWRlJnF1b3Q7OyZx
dW90OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxpbmNsdWRlXFdlYkNvcmVcRm9yd2FyZGluZ0hl
YWRlcnMmcXVvdDs7JnF1b3Q7JChDb25maWd1cmF0aW9uQnVpbGREaXIpXGluY2x1ZGVccHJpdmF0
ZSZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcaW5jbHVkZSZxdW90OzsmcXVvdDsk
KFByb2plY3REaXIpXC4uXC4uXC4uXFNvdXJjZVxUaGlyZFBhcnR5XGd0ZXN0XGluY2x1ZGUmcXVv
dDsiCiAJCUZvcmNlZEluY2x1ZGVGaWxlcz0iVGVzdFdlYktpdEFQSVByZWZpeC5oIgogCS8+CiAJ
PFRvb2wKIAkJTmFtZT0iVkNMaW5rZXJUb29sIgotCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJX
ZWJLaXQkKFdlYktpdERMTENvbmZpZ1N1ZmZpeCkubGliIEphdmFTY3JpcHRDb3JlJChXZWJLaXRE
TExDb25maWdTdWZmaXgpLmxpYiIKKwkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iV2ViS2l0JChX
ZWJLaXRETExDb25maWdTdWZmaXgpLmxpYiBKYXZhU2NyaXB0Q29yZSQoV2ViS2l0RExMQ29uZmln
U3VmZml4KS5saWIgZ3Rlc3QubGliIgogCQlTdWJTeXN0ZW09IjEiCiAJLz4KIDwvVmlzdWFsU3R1
ZGlvUHJvcGVydHlTaGVldD4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdC5o
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0LmgKaW5kZXggZWQ3NzJkNS4uZjkwMzUwNyAxMDA2
NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0LmgKKysrIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0LmgKQEAgLTI4LDYwICsyOCwxOCBAQAogCiAjaW5jbHVkZSAiVGVzdHNDb250cm9s
bGVyLmgiCiAKLW5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKLQotLy8gQWJzdHJhY3QgYmFzZSBj
bGFzcyB0aGF0IGFsbCB0ZXN0cyBpbmhlcml0IGZyb20uCi1jbGFzcyBUZXN0IHsKLXB1YmxpYzoK
LSAgICB2aXJ0dWFsIH5UZXN0KCkgeyB9Ci0gICAgCi0gICAgdmlydHVhbCB2b2lkIHJ1bigpID0g
MDsKLSAgICBzdGQ6OnN0cmluZyBuYW1lKCkgY29uc3QgeyByZXR1cm4gbV9pZGVudGlmaWVyOyB9
Ci0gICAgCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVGVzdENsYXNzVHk+IGNsYXNzIFJlZ2lzdGVy
IHsKLSAgICBwdWJsaWM6Ci0gICAgICAgIFJlZ2lzdGVyKGNvbnN0IHN0ZDo6c3RyaW5nJiB0ZXN0
U3VpdGUsIGNvbnN0IHN0ZDo6c3RyaW5nJiB0ZXN0Q2FzZSkKLSAgICAgICAgewotICAgICAgICAg
ICAgVGVzdHNDb250cm9sbGVyOjpzaGFyZWQoKS5yZWdpc3RlckNyZWF0ZVRlc3RGdW5jdGlvbih0
ZXN0U3VpdGUgKyAiLyIgKyB0ZXN0Q2FzZSwgUmVnaXN0ZXI6OmNyZWF0ZSk7Ci0gICAgICAgIH0K
LSAgICAKLSAgICBwcml2YXRlOgotICAgICAgICBzdGF0aWMgVGVzdCogY3JlYXRlKGNvbnN0IHN0
ZDo6c3RyaW5nJiBpZGVudGlmaWVyKSAKLSAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIG5l
dyBUZXN0Q2xhc3NUeShpZGVudGlmaWVyKTsKLSAgICAgICAgfQotICAgIH07Ci0KLXByb3RlY3Rl
ZDoKLSAgICBUZXN0KGNvbnN0IHN0ZDo6c3RyaW5nJiBpZGVudGlmaWVyKQotICAgICAgICA6IG1f
aWRlbnRpZmllcihpZGVudGlmaWVyKQotICAgIHsKLSAgICB9CisjaW5jbHVkZSA8Z3Rlc3QvZ3Rl
c3QuaD4KIAotICAgIHN0ZDo6c3RyaW5nIG1faWRlbnRpZmllcjsKLX07Ci0KLSNkZWZpbmUgVEVT
VF9DTEFTU19OQU1FKHRlc3RTdWl0ZSwgdGVzdENhc2VOYW1lKSB0ZXN0U3VpdGUjI3Rlc3RDYXNl
TmFtZSMjX1Rlc3QKLSNkZWZpbmUgVEVTVF9SRUdJU1RSQVJfTkFNRSh0ZXN0U3VpdGUsIHRlc3RD
YXNlTmFtZSkgdGVzdFN1aXRlIyN0ZXN0Q2FzZU5hbWUjI19SZWdpc3RyYXIKK25hbWVzcGFjZSBU
ZXN0V2ViS2l0QVBJIHsKIAotLy8gVXNlIHRoaXMgdG8gZGVmaW5lIGEgbmV3IHRlc3QuCi0jZGVm
aW5lIFRFU1QodGVzdFN1aXRlLCB0ZXN0Q2FzZU5hbWUpIFwKLSAgICBjbGFzcyBURVNUX0NMQVNT
X05BTUUodGVzdFN1aXRlLCB0ZXN0Q2FzZU5hbWUpIDogcHVibGljIFRlc3QgeyBcCi0gICAgcHVi
bGljOiBcCi0gICAgICAgIFRFU1RfQ0xBU1NfTkFNRSh0ZXN0U3VpdGUsIHRlc3RDYXNlTmFtZSko
Y29uc3Qgc3RkOjpzdHJpbmcmIGlkZW50aWZpZXIpIFwKLSAgICAgICAgICAgIDogVGVzdChpZGVu
dGlmaWVyKSBcCi0gICAgICAgIHsgXAorI2RlZmluZSBURVNUX0FTU0VSVChleHByZXNzaW9uKSBF
WFBFQ1RfVFJVRShleHByZXNzaW9uKQorI2RlZmluZSBURVNUX0FTU0VSVF9SRVRVUk4oZXhwcmVz
c2lvbiwgcmV0dXJuVmFsdWUpIFwKKyAgICBkbyB7IFwKKyAgICAgICAgaWYgKCEoZXhwcmVzc2lv
bikpIHsgXAorICAgICAgICAgICAgRVhQRUNUX0ZBTFNFKHRydWUpIDw8ICNleHByZXNzaW9uOyBc
CisgICAgICAgICAgICByZXR1cm4gKHJldHVyblZhbHVlKTsgXAogICAgICAgICB9IFwKLSAgICAg
ICAgdmlydHVhbCB2b2lkIHJ1bigpOyBcCi0gICAgfTsgXAotICAgIFwKLSAgICBzdGF0aWMgVGVz
dDo6UmVnaXN0ZXI8VEVTVF9DTEFTU19OQU1FKHRlc3RTdWl0ZSwgdGVzdENhc2VOYW1lKT4gVEVT
VF9SRUdJU1RSQVJfTkFNRSh0ZXN0U3VpdGUsIHRlc3RDYXNlTmFtZSkoI3Rlc3RTdWl0ZSwgI3Rl
c3RDYXNlTmFtZSk7IFwKLSAgICBcCi0gICAgdm9pZCBURVNUX0NMQVNTX05BTUUodGVzdFN1aXRl
LCB0ZXN0Q2FzZU5hbWUpOjpydW4oKQotCi0jZGVmaW5lIF9URVNUX0FTU0VSVF9IRUxQRVIoZXhw
cmVzc2lvbiwgcmV0dXJuU3RhdGVtZW50KSBkbyB7IGlmICghKGV4cHJlc3Npb24pKSB7IFRlc3Rz
Q29udHJvbGxlcjo6c2hhcmVkKCkudGVzdEZhaWxlZChfX0ZJTEVfXywgX19MSU5FX18sICNleHBy
ZXNzaW9uKTsgcmV0dXJuU3RhdGVtZW50OyB9IH0gd2hpbGUgKDApCi0jZGVmaW5lIFRFU1RfQVNT
RVJUKGV4cHJlc3Npb24pIF9URVNUX0FTU0VSVF9IRUxQRVIoZXhwcmVzc2lvbiwgcmV0dXJuKQot
I2RlZmluZSBURVNUX0FTU0VSVF9SRVRVUk4oZXhwcmVzc2lvbiwgcmV0dXJuVmFsdWUpIF9URVNU
X0FTU0VSVF9IRUxQRVIoZXhwcmVzc2lvbiwgcmV0dXJuIChyZXR1cm5WYWx1ZSkpCisgICAgfSB3
aGlsZSAoMCkKIAogfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQogCmRpZmYgLS1naXQgYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IDg2YjY5MWQuLmYwMDk3MzAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBA
IC01Nyw2ICs1Nyw3IEBACiAJCUMwQURCRTk2MTJGQ0E3OUIwMEQyQzEyOSAvKiBzaW1wbGUtZm9y
bS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEMwQURCRTg0MTJGQ0E2QjYwMEQyQzEyOSAvKiBzaW1wbGUtZm9ybS5odG1sICovOyB9Owog
CQlDMEJENjY5RDEzMUQzQ0Y3MDBFMThGMkEgLyogUmVzcG9uc2l2ZW5lc3NUaW1lckRvZXNudEZp
cmVFYXJseS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDMEJENjY5QzEzMUQzQ0Y3MDBFMThGMkEgLyogUmVzcG9uc2l2ZW5lc3NUaW1lckRvZXNudEZp
cmVFYXJseS5jcHAgKi87IH07CiAJCUMwQkQ2NjlGMTMxRDNDRkYwMEUxOEYyQSAvKiBSZXNwb25z
aXZlbmVzc1RpbWVyRG9lc250RmlyZUVhcmx5X0J1bmRsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMEJENjY5RTEzMUQzQ0ZGMDBFMThGMkEgLyog
UmVzcG9uc2l2ZW5lc3NUaW1lckRvZXNudEZpcmVFYXJseV9CdW5kbGUuY3BwICovOyB9OworCQlG
M0ZDM0VFMzEzNjc4QjczMDAxMjZBNjUgLyogbGliZ3Rlc3QuYSBpbiBGcmFtZXdvcmtzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYzRkMzRUUyMTM2NzhCNzMwMDEyNkE2NSAv
KiBsaWJndGVzdC5hICovOyB9OwogCQlGNkYzRjI5MTEzMzQyRkVCMDBBNkJGMTkgLyogQ29va2ll
TWFuYWdlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBGNkYzRjI5MDEzMzQyRkVCMDBBNkJGMTkgLyogQ29va2llTWFuYWdlci5jcHAgKi87IH07CiAv
KiBFbmQgUEJYQnVpbGRGaWxlIHNlY3Rpb24gKi8KIApAQCAtMTYwLDYgKzE2MSw3IEBACiAJCUMw
QURCRTg0MTJGQ0E2QjYwMEQyQzEyOSAvKiBzaW1wbGUtZm9ybS5odG1sICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dC5odG1sOyBwYXRoID0gInNpbXBsZS1mb3JtLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlDMEJENjY5QzEzMUQzQ0Y3MDBFMThGMkEgLyogUmVzcG9uc2l2ZW5lc3NUaW1lckRv
ZXNudEZpcmVFYXJseS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBS
ZXNwb25zaXZlbmVzc1RpbWVyRG9lc250RmlyZUVhcmx5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQzBCRDY2OUUxMzFEM0NGRjAwRTE4RjJBIC8qIFJlc3BvbnNpdmVuZXNzVGlt
ZXJEb2VzbnRGaXJlRWFybHlfQnVuZGxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFJlc3BvbnNpdmVuZXNzVGltZXJEb2VzbnRGaXJlRWFybHlfQnVuZGxlLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjNGQzNFRTIxMzY3OEI3MzAwMTI2QTY1IC8q
IGxpYmd0ZXN0LmEgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBhcmNoaXZlLmFyOyBuYW1lID0gbGliZ3Rlc3QuYTsgcGF0aCA9IC4uLy4uL1dlYktpdEJ1
aWxkL0RlYnVnL2xpYmd0ZXN0LmE7IHNvdXJjZVRyZWUgPSBTT1VSQ0VfUk9PVDsgfTsKIAkJRjZG
M0YyOTAxMzM0MkZFQjAwQTZCRjE5IC8qIENvb2tpZU1hbmFnZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ29va2llTWFuYWdlci5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAvKiBFbmQgUEJYRmlsZVJlZmVyZW5jZSBzZWN0aW9uICovCiAKQEAgLTE3
Miw2ICsxNzQsNyBAQAogCQkJCUJDQTYxREI1MTE3MDBFRkQwMDQ2MEQxRSAvKiBXZWJLaXQyLmZy
YW1ld29yayBpbiBGcmFtZXdvcmtzICovLAogCQkJCUJDOTA5NjRFMTI1NTYyMEMwMDA4Mzc1NiAv
KiBKYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKIAkJCQlDMDJCNzg1
NDEyNjYxM0FFMDAyNkJGMEYgLyogQ2FyYm9uLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAor
CQkJCUYzRkMzRUUzMTM2NzhCNzMwMDEyNkE2NSAvKiBsaWJndGVzdC5hIGluIEZyYW1ld29ya3Mg
Ki8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJ
CX07CkBAIC0yMjIsNiArMjI1LDcgQEAKIAkJMDhGQjc3OURGRTg0MTU1REMwMkFBQzA3IC8qIEV4
dGVybmFsIEZyYW1ld29ya3MgYW5kIExpYnJhcmllcyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3Vw
OwogCQkJY2hpbGRyZW4gPSAoCisJCQkJRjNGQzNFRTIxMzY3OEI3MzAwMTI2QTY1IC8qIGxpYmd0
ZXN0LmEgKi8sCiAJCQkJQkNCOUU5RjAxMTIzNUJERTAwQTEzN0UwIC8qIENvY29hLmZyYW1ld29y
ayAqLywKIAkJCQlCQzkwOTY0RDEyNTU2MjBDMDAwODM3NTYgLyogSmF2YVNjcmlwdENvcmUuZnJh
bWV3b3JrICovLAogCQkJCUJDQTYxREI0MTE3MDBFRkQwMDQ2MEQxRSAvKiBXZWJLaXQyLmZyYW1l
d29yayAqLywKQEAgLTQ3OSw2ICs0ODMsMTQgQEAKIAkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJl
bmNlID0gQkM5MDk1ODAxMjU1NENGOTAwMDgzNzU2IC8qIFRlc3RXZWJLaXRBUEkueGNjb25maWcg
Ki87CiAJCQlidWlsZFNldHRpbmdzID0gewogCQkJCUZSQU1FV09SS19TRUFSQ0hfUEFUSFMgPSAi
JChpbmhlcml0ZWQpIjsKKwkJCQlIRUFERVJfU0VBUkNIX1BBVEhTID0gKAorCQkJCQkuLi8uLi9T
b3VyY2UvVGhpcmRQYXJ0eS9ndGVzdC9pbmNsdWRlLAorCQkJCQkiJChXRUJDT1JFX1BSSVZBVEVf
SEVBREVSU19ESVIpL0ZvcndhcmRpbmdIZWFkZXJzIiwKKwkJCQkpOworCQkJCUxJQlJBUllfU0VB
UkNIX1BBVEhTID0gKAorCQkJCQkiJChpbmhlcml0ZWQpIiwKKwkJCQkJIlwiJChTUkNST09UKS8u
Li8uLi9XZWJLaXRCdWlsZC9EZWJ1Z1wiIiwKKwkJCQkpOwogCQkJfTsKIAkJCW5hbWUgPSBEZWJ1
ZzsKIAkJfTsKQEAgLTQ4Nyw2ICs0OTksMTQgQEAKIAkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJl
bmNlID0gQkM5MDk1ODAxMjU1NENGOTAwMDgzNzU2IC8qIFRlc3RXZWJLaXRBUEkueGNjb25maWcg
Ki87CiAJCQlidWlsZFNldHRpbmdzID0gewogCQkJCUZSQU1FV09SS19TRUFSQ0hfUEFUSFMgPSAi
JChpbmhlcml0ZWQpIjsKKwkJCQlIRUFERVJfU0VBUkNIX1BBVEhTID0gKAorCQkJCQkuLi8uLi9T
b3VyY2UvVGhpcmRQYXJ0eS9ndGVzdC9pbmNsdWRlLAorCQkJCQkiJChXRUJDT1JFX1BSSVZBVEVf
SEVBREVSU19ESVIpL0ZvcndhcmRpbmdIZWFkZXJzIiwKKwkJCQkpOworCQkJCUxJQlJBUllfU0VB
UkNIX1BBVEhTID0gKAorCQkJCQkiJChpbmhlcml0ZWQpIiwKKwkJCQkJIlwiJChTUkNST09UKS8u
Li8uLi9XZWJLaXRCdWlsZC9SZWxlYXNlXCIiLAorCQkJCSk7CiAJCQl9OwogCQkJbmFtZSA9IFJl
bGVhc2U7CiAJCX07CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9W
ZWN0b3JCYXNpYy5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9WZWN0b3JCYXNp
Yy5jcHAKaW5kZXggMDEyZmEyNy4uNzIzODkwYyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XVEYvVmVjdG9yQmFzaWMuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV1RGL1ZlY3RvckJhc2ljLmNwcApAQCAtMzIsOSArMzIsOSBAQCBuYW1lc3BhY2UgVGVz
dFdlYktpdEFQSSB7CiBURVNUKFdURiwgVmVjdG9yQmFzaWMpCiB7CiAgICAgVmVjdG9yPGludD4g
aW50VmVjdG9yOwotICAgIFRFU1RfQVNTRVJUKGludFZlY3Rvci5pc0VtcHR5KCkpOwotICAgIFRF
U1RfQVNTRVJUKGludFZlY3Rvci5zaXplKCkgPT0gMCk7Ci0gICAgVEVTVF9BU1NFUlQoaW50VmVj
dG9yLmNhcGFjaXR5KCkgPT0gMCk7CisgICAgQVNTRVJUX1RSVUUoaW50VmVjdG9yLmlzRW1wdHko
KSk7CisgICAgQVNTRVJUX0VRKDB1bCwgaW50VmVjdG9yLnNpemUoKSk7CisgICAgQVNTRVJUX0VR
KDB1bCwgaW50VmVjdG9yLmNhcGFjaXR5KCkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBUZXN0V2Vi
S2l0QVBJCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzQ29udHJvbGxlci5j
cHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzQ29udHJvbGxlci5jcHAKaW5kZXggMzQ5OWYy
Yy4uODJhMmVjMyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0c0NvbnRyb2xs
ZXIuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHNDb250cm9sbGVyLmNwcApAQCAt
MjYsOCArMjYsOSBAQAogI2luY2x1ZGUgIlRlc3RzQ29udHJvbGxlci5oIgogCiAjaW5jbHVkZSAi
VGVzdC5oIgotI2luY2x1ZGUgPGFsZ29yaXRobT4KICNpbmNsdWRlIDxhc3NlcnQuaD4KKyNpbmNs
dWRlIDxndGVzdC9ndGVzdC5oPgorI2luY2x1ZGUgPGNzdGRpbz4KIAogbmFtZXNwYWNlIFRlc3RX
ZWJLaXRBUEkgewogCkBAIC0zOCw0NSArMzksMzMgQEAgVGVzdHNDb250cm9sbGVyJiBUZXN0c0Nv
bnRyb2xsZXI6OnNoYXJlZCgpCiB9CiAKIFRlc3RzQ29udHJvbGxlcjo6VGVzdHNDb250cm9sbGVy
KCkKLSAgICA6IG1fdGVzdEZhaWxlZChmYWxzZSkKLSAgICAsIG1fY3VycmVudFRlc3QoMCkKIHsK
KyAgICBpbnQgYXJnYyA9IDA7CisgICAgOjp0ZXN0aW5nOjpJbml0R29vZ2xlVGVzdCgmYXJnYywg
KGNoYXIqKikwKTsKIH0KIAogdm9pZCBUZXN0c0NvbnRyb2xsZXI6OmR1bXBUZXN0TmFtZXMoKQog
ewotICAgIHN0ZDo6bWFwPHN0ZDo6c3RyaW5nLCBDcmVhdGVUZXN0RnVuY3Rpb24+Ojpjb25zdF9p
dGVyYXRvciBpdCA9IG1fY3JlYXRlVGVzdEZ1bmN0aW9ucy5iZWdpbigpOwotICAgIHN0ZDo6bWFw
PHN0ZDo6c3RyaW5nLCBDcmVhdGVUZXN0RnVuY3Rpb24+Ojpjb25zdF9pdGVyYXRvciBlbmQgPSBt
X2NyZWF0ZVRlc3RGdW5jdGlvbnMuZW5kKCk7Ci0gICAgZm9yICg7IGl0ICE9IGVuZDsgKytpdCkK
LSAgICAgICAgcHJpbnRmKCIlc1xuIiwgKCppdCkuZmlyc3QuY19zdHIoKSk7Ci19CisgICAgOjp0
ZXN0aW5nOjpVbml0VGVzdCogdW5pdF90ZXN0ID0gOjp0ZXN0aW5nOjpVbml0VGVzdDo6R2V0SW5z
dGFuY2UoKTsKIAotYm9vbCBUZXN0c0NvbnRyb2xsZXI6OnJ1blRlc3ROYW1lZChjb25zdCBzdGQ6
OnN0cmluZyYgaWRlbnRpZmllcikKLXsKLSAgICBDcmVhdGVUZXN0RnVuY3Rpb24gY3JlYXRlVGVz
dEZ1bmN0aW9uID0gbV9jcmVhdGVUZXN0RnVuY3Rpb25zW2lkZW50aWZpZXJdOwotICAgIGlmICgh
Y3JlYXRlVGVzdEZ1bmN0aW9uKSB7Ci0gICAgICAgIHByaW50ZigiRVJST1I6IFRlc3Qgbm90IGZv
dW5kIC0gJXNcbiIsIGlkZW50aWZpZXIuY19zdHIoKSk7Ci0gICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICBmb3IgKGludCBpID0gMDsgaSA8IHVuaXRfdGVzdC0+dG90YWxfdGVzdF9jYXNlX2NvdW50
KCk7IGkrKykgeworICAgICAgICBjb25zdCA6OnRlc3Rpbmc6OlRlc3RDYXNlKiB0ZXN0X2Nhc2Ug
PSB1bml0X3Rlc3QtPkdldFRlc3RDYXNlKGkpOworICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8
IHRlc3RfY2FzZS0+dG90YWxfdGVzdF9jb3VudCgpOyBqKyspIHsKKyAgICAgICAgICBjb25zdCA6
OnRlc3Rpbmc6OlRlc3RJbmZvKiB0ZXN0X2luZm8gPSB0ZXN0X2Nhc2UtPkdldFRlc3RJbmZvKGop
OworICAgICAgICAgIHByaW50ZigiJXMuJXNcbiIsIHRlc3RfY2FzZS0+bmFtZSgpLCB0ZXN0X2lu
Zm8tPm5hbWUoKSk7CisgICAgICAgIH0KICAgICB9Ci0KLSAgICBtX2N1cnJlbnRUZXN0ID0gY3Jl
YXRlVGVzdEZ1bmN0aW9uKGlkZW50aWZpZXIpOwotICAgIG1fY3VycmVudFRlc3QtPnJ1bigpOwot
Ci0gICAgZGVsZXRlIG1fY3VycmVudFRlc3Q7Ci0gICAgbV9jdXJyZW50VGVzdCA9IDA7Ci0KLSAg
ICByZXR1cm4gIW1fdGVzdEZhaWxlZDsKIH0KIAotdm9pZCBUZXN0c0NvbnRyb2xsZXI6OnRlc3RG
YWlsZWQoY29uc3QgY2hhciogZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIqIG1lc3NhZ2UpCiti
b29sIFRlc3RzQ29udHJvbGxlcjo6cnVuVGVzdE5hbWVkKGNvbnN0IHN0ZDo6c3RyaW5nJiBpZGVu
dGlmaWVyKQogewotICAgIG1fdGVzdEZhaWxlZCA9IHRydWU7Ci0gICAgcHJpbnRmKCJGQUlMOiAl
c1xuXHQlcyAoJXM6JWQpXG4iLCBtX2N1cnJlbnRUZXN0LT5uYW1lKCkuY19zdHIoKSwgbWVzc2Fn
ZSwgZmlsZSwgbGluZSk7CisgICAgOjp0ZXN0aW5nOjpHVEVTVF9GTEFHKGZpbHRlcikgPSBpZGVu
dGlmaWVyOworICAgIHJldHVybiAhUlVOX0FMTF9URVNUUygpOwogfQogCi12b2lkIFRlc3RzQ29u
dHJvbGxlcjo6cmVnaXN0ZXJDcmVhdGVUZXN0RnVuY3Rpb24oY29uc3Qgc3RkOjpzdHJpbmcmIGlk
ZW50aWZpZXIsIENyZWF0ZVRlc3RGdW5jdGlvbiBjcmVhdGVUZXN0RnVuY3Rpb24pCitib29sIFRl
c3RzQ29udHJvbGxlcjo6cnVuQWxsVGVzdHMoKQogewotICAgIG1fY3JlYXRlVGVzdEZ1bmN0aW9u
c1tpZGVudGlmaWVyXSA9IGNyZWF0ZVRlc3RGdW5jdGlvbjsKKyAgICByZXR1cm4gIVJVTl9BTExf
VEVTVFMoKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQpkaWZmIC0tZ2l0IGEv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0c0NvbnRyb2xsZXIuaCBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHNDb250cm9sbGVyLmgKaW5kZXggMGZmMWZjNy4uZWIyYTk2NyAxMDA2NDQKLS0tIGEv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0c0NvbnRyb2xsZXIuaAorKysgYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzQ29udHJvbGxlci5oCkBAIC0zOSwyMSArMzksMTEgQEAgcHVibGljOgogCiAg
ICAgdm9pZCBkdW1wVGVzdE5hbWVzKCk7CiAgICAgYm9vbCBydW5UZXN0TmFtZWQoY29uc3Qgc3Rk
OjpzdHJpbmcmKTsKLQotICAgIC8vIENhbGxlZCBieSB0aGUgdGVzdHMgdGhlbXNlbHZlcy4KLSAg
ICB2b2lkIHRlc3RGYWlsZWQoY29uc3QgY2hhciogZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIq
IG1lc3NhZ2UpOwotCi0gICAgdHlwZWRlZiBUZXN0KiAoKkNyZWF0ZVRlc3RGdW5jdGlvbikoY29u
c3Qgc3RkOjpzdHJpbmcmKTsKLSAgICB2b2lkIHJlZ2lzdGVyQ3JlYXRlVGVzdEZ1bmN0aW9uKGNv
bnN0IHN0ZDo6c3RyaW5nJiwgQ3JlYXRlVGVzdEZ1bmN0aW9uKTsKKyAgICBib29sIHJ1bkFsbFRl
c3RzKCk7CiAKIHByaXZhdGU6CiAgICAgVGVzdHNDb250cm9sbGVyKCk7CiAgICAgflRlc3RzQ29u
dHJvbGxlcigpOwotCi0gICAgYm9vbCBtX3Rlc3RGYWlsZWQ7Ci0gICAgVGVzdCogbV9jdXJyZW50
VGVzdDsKLQotICAgIHN0ZDo6bWFwPHN0ZDo6c3RyaW5nLCBDcmVhdGVUZXN0RnVuY3Rpb24+IG1f
Y3JlYXRlVGVzdEZ1bmN0aW9uczsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL21haW4ubW0gYi9Ub29scy9UZXN0
V2ViS2l0QVBJL21hYy9tYWluLm1tCmluZGV4IGU2ZGQ0YTYuLmU3ZGRlYzQgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL21haW4ubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9tYWMvbWFpbi5tbQpAQCAtMzMsMTEgKzMzLDE1IEBAIGludCBtYWluKGludCBhcmdjLCBjb25z
dCBjaGFyKiBhcmd2W10pCiAKICAgICBib29sIHBhc3NlZCA9IHRydWU7CiAKLSAgICBzdGQ6OnN0
cmluZyBhcmd1bWVudChhcmd2WzFdKTsKLSAgICBpZiAoYXJndW1lbnQgPT0gIi0tZHVtcC10ZXN0
cyIpCi0gICAgICAgIFRlc3RXZWJLaXRBUEk6OlRlc3RzQ29udHJvbGxlcjo6c2hhcmVkKCkuZHVt
cFRlc3ROYW1lcygpOwotICAgIGVsc2UgICAKLSAgICAgICAgcGFzc2VkID0gVGVzdFdlYktpdEFQ
STo6VGVzdHNDb250cm9sbGVyOjpzaGFyZWQoKS5ydW5UZXN0TmFtZWQoYXJndW1lbnQpOworICAg
IGlmIChhcmdjID09IDEpCisgICAgICAgIHBhc3NlZCA9IFRlc3RXZWJLaXRBUEk6OlRlc3RzQ29u
dHJvbGxlcjo6c2hhcmVkKCkucnVuQWxsVGVzdHMoKTsKKyAgICBlbHNlIHsKKyAgICAgICAgc3Rk
OjpzdHJpbmcgYXJndW1lbnQoYXJndlsxXSk7CisgICAgICAgIGlmIChhcmd1bWVudCA9PSAiLS1k
dW1wLXRlc3RzIikKKyAgICAgICAgICAgIFRlc3RXZWJLaXRBUEk6OlRlc3RzQ29udHJvbGxlcjo6
c2hhcmVkKCkuZHVtcFRlc3ROYW1lcygpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBwYXNz
ZWQgPSBUZXN0V2ViS2l0QVBJOjpUZXN0c0NvbnRyb2xsZXI6OnNoYXJlZCgpLnJ1blRlc3ROYW1l
ZChhcmd1bWVudCk7CisgICAgfQogCiAgICAgW3Bvb2wgZHJhaW5dOwogCg==
</data>
<flag name="commit-queue"
          id="85929"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93043</attachid>
            <date>2011-05-10 16:30:07 -0700</date>
            <delta_ts>2011-05-10 16:40:10 -0700</delta_ts>
            <desc>Updated patch</desc>
            <filename>gtest.patch</filename>
            <type>text/plain</type>
            <size>40771</size>
            <attacher name="Dmitry Lomov">dslomov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCAxNDNjODQ0Li5hZTQ1NDhh
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDcgKzEsMjMgQEAK
KzIwMTEtMDUtMTAgIERtaXRyeSBMb21vdiAgPGRzbG9tb3ZAZ29vZ2xlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk1NjEKKyAgICAgICAgU3dpdGNoIFRlc3RXZWJLaXRB
UEkgdG8gR1Rlc3QKKworICAgICAgICBGaXhlcyBNYWtlZmlsZXMgYW5kIFdpbkNhaXJvIGJ1aWxk
IGFzIHdlbGwKKworICAgICAgICBOZWVkIGEgc2hvcnQgZGVzY3JpcHRpb24gYW5kIGJ1ZyBVUkwg
KE9PUFMhKQorCisgICAgICAgICogU291cmNlL1RoaXJkUGFydHkvZ3Rlc3QvUkVBRE1FLldlYktp
dDoKKyAgICAgICAgKiBTb3VyY2UvVGhpcmRQYXJ0eS9ndGVzdC9tc3ZjL2d0ZXN0LW1kLnZjcHJv
ajoKKyAgICAgICAgKiBTb3VyY2UvVGhpcmRQYXJ0eS9ndGVzdC94Y29kZS9Db25maWcvR2VuZXJh
bC54Y2NvbmZpZzoKKyAgICAgICAgKiBTb3VyY2UvVGhpcmRQYXJ0eS9ndGVzdC94Y29kZS9NYWtl
ZmlsZTogQWRkZWQuCisKIDIwMTEtMDUtMDkgIERtaXRyeSBMb21vdiAgPGRzbG9tb3ZAZ29vZ2xl
LmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgotICAgICAgICAKKwogICAg
ICAgICBTd2l0Y2ggVGVzdFdlYktpdEFQSSB0byBHVGVzdAogICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk1NjEKIApkaWZmIC0tZ2l0IGEvU291cmNlL1Ro
aXJkUGFydHkvZ3Rlc3QvUkVBRE1FLldlYktpdCBiL1NvdXJjZS9UaGlyZFBhcnR5L2d0ZXN0L1JF
QURNRS5XZWJLaXQKaW5kZXggMWJlMjk2OS4uZGRmMjE4NCAxMDA2NDQKLS0tIGEvU291cmNlL1Ro
aXJkUGFydHkvZ3Rlc3QvUkVBRE1FLldlYktpdAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9ndGVz
dC9SRUFETUUuV2ViS2l0CkBAIC0xLDMgKzEsNiBAQAogR1Rlc3Qgdi4xLjUuMAogCiBodHRwOi8v
Z29vZ2xldGVzdC5nb29nbGVjb2RlLmNvbS9zdm4vdGFncy9yZWxlYXNlLTEuNS4wLyAKKworMjAx
MS0wNS0wNiBEbWl0cnkgTG9tb3YgKGRzbG9tb3ZAZ29vZ2xlLmNvbSkKKyAgICAgIGd0ZXN0LW1k
LnZjcHJvaiB1cGdyYWRlZCB0byBWUyAyMDA1ICg4LjApIGZvcm1hdCB0byBtYXRjaCB0aGUgcmVz
dCBvZiBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2d0ZXN0L21zdmMvZ3Rl
c3QtbWQudmNwcm9qIGIvU291cmNlL1RoaXJkUGFydHkvZ3Rlc3QvbXN2Yy9ndGVzdC1tZC52Y3By
b2oKaW5kZXggOWNlNGI5Ni4uYjE2MGUwZSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkv
Z3Rlc3QvbXN2Yy9ndGVzdC1tZC52Y3Byb2oKKysrIGIvU291cmNlL1RoaXJkUGFydHkvZ3Rlc3Qv
bXN2Yy9ndGVzdC1tZC52Y3Byb2oKQEAgLTEsOTUgKzEsMjY3IEBACiA8P3htbCB2ZXJzaW9uPSIx
LjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4KIDxWaXN1YWxTdHVkaW9Qcm9qZWN0CiAJUHJv
amVjdFR5cGU9IlZpc3VhbCBDKysiCi0JVmVyc2lvbj0iNy4xMCIKKwlWZXJzaW9uPSI4LjAwIgog
CU5hbWU9Imd0ZXN0LW1kIgogCVByb2plY3RHVUlEPSJ7QzhGNkMxNzItNTZGMi00RTc2LUI1RkEt
QzNCNDIzQjMxQkU4fSIKLQlLZXl3b3JkPSJXaW4zMlByb2oiPgorCVJvb3ROYW1lc3BhY2U9Imd0
ZXN0LW1kIgorCUtleXdvcmQ9IldpbjMyUHJvaiIKKwk+CiAJPFBsYXRmb3Jtcz4KIAkJPFBsYXRm
b3JtCi0JCQlOYW1lPSJXaW4zMiIvPgorCQkJTmFtZT0iV2luMzIiCisJCS8+CiAJPC9QbGF0Zm9y
bXM+CisJPFRvb2xGaWxlcz4KKwk8L1Rvb2xGaWxlcz4KIAk8Q29uZmlndXJhdGlvbnM+CiAJCTxD
b25maWd1cmF0aW9uCiAJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKLQkJCU91dHB1dERpcmVjdG9yeT0i
JChTb2x1dGlvbk5hbWUpLyQoQ29uZmlndXJhdGlvbk5hbWUpIgotCQkJSW50ZXJtZWRpYXRlRGly
ZWN0b3J5PSIkKE91dERpcikvJChQcm9qZWN0TmFtZSkiCisJCQlPdXRwdXREaXJlY3Rvcnk9IiQo
Q29uZmlndXJhdGlvbkJ1aWxkRGlyKVxsaWIiCiAJCQlDb25maWd1cmF0aW9uVHlwZT0iNCIKKwkJ
CUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIkKFByb2plY3REaXIpXC4uXC4uXC4uXC4uXFdlYktp
dExpYnJhcmllc1x3aW5cdG9vbHNcdnNwcm9wc1xjb21tb24udnNwcm9wcyIKIAkJCUNoYXJhY3Rl
clNldD0iMiIKLQkJCVJlZmVyZW5jZXNQYXRoPSIiPgorCQkJPgorCQkJPFRvb2wKKwkJCQlOYW1l
PSJWQ1ByZUJ1aWxkRXZlbnRUb29sIgorCQkJLz4KKwkJCTxUb29sCisJCQkJTmFtZT0iVkNDdXN0
b21CdWlsZFRvb2wiCisJCQkvPgorCQkJPFRvb2wKKwkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0
b3JUb29sIgorCQkJLz4KKwkJCTxUb29sCisJCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5l
cmF0b3JUb29sIgorCQkJLz4KKwkJCTxUb29sCisJCQkJTmFtZT0iVkNNSURMVG9vbCIKKwkJCS8+
CiAJCQk8VG9vbAogCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCiAJCQkJT3B0aW1pemF0aW9u
PSIwIgogCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSU4zMjtfREVCVUc7X0xJQiIKLQkJ
CQlNaW5pbWFsUmVidWlsZD0iVFJVRSIKKwkJCQlNaW5pbWFsUmVidWlsZD0idHJ1ZSIKIAkJCQlC
YXNpY1J1bnRpbWVDaGVja3M9IjMiCiAJCQkJUnVudGltZUxpYnJhcnk9IjMiCiAJCQkJVXNlUHJl
Y29tcGlsZWRIZWFkZXI9IjAiCiAJCQkJV2FybmluZ0xldmVsPSIzIgotCQkJCURldGVjdDY0Qml0
UG9ydGFiaWxpdHlQcm9ibGVtcz0iRkFMU0UiCi0JCQkJRGVidWdJbmZvcm1hdGlvbkZvcm1hdD0i
NCIvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCIvPgotCQkJPFRvb2wK
LQkJCQlOYW1lPSJWQ0xpYnJhcmlhblRvb2wiCi0JCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpL2d0
ZXN0ZC5saWIiLz4KKwkJCQlEZXRlY3Q2NEJpdFBvcnRhYmlsaXR5UHJvYmxlbXM9ImZhbHNlIgor
CQkJCURlYnVnSW5mb3JtYXRpb25Gb3JtYXQ9IjQiCisJCQkvPgogCQkJPFRvb2wKLQkJCQlOYW1l
PSJWQ01JRExUb29sIi8+CisJCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wi
CisJCQkvPgogCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCIvPgorCQkJ
CU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiCisJCQkvPgogCQkJPFRvb2wKLQkJCQlOYW1l
PSJWQ1ByZUJ1aWxkRXZlbnRUb29sIi8+CisJCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIgor
CQkJLz4KIAkJCTxUb29sCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIi8+CisJCQkJTmFt
ZT0iVkNMaWJyYXJpYW5Ub29sIgorCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVxndGVzdC5saWIi
CisJCQkvPgogCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIi8+CisJ
CQkJTmFtZT0iVkNBTGlua1Rvb2wiCisJCQkvPgogCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ1dlYlNl
cnZpY2VQcm94eUdlbmVyYXRvclRvb2wiLz4KKwkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIgorCQkJ
Lz4KIAkJCTxUb29sCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCIvPgorCQkJCU5h
bWU9IlZDQnNjTWFrZVRvb2wiCisJCQkvPgogCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ01hbmFnZWRX
cmFwcGVyR2VuZXJhdG9yVG9vbCIvPgorCQkJCU5hbWU9IlZDRnhDb3BUb29sIgorCQkJLz4KIAkJ
CTxUb29sCi0JCQkJTmFtZT0iVkNBdXhpbGlhcnlNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wi
Lz4KKwkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCIKKwkJCS8+CiAJCTwvQ29uZmlndXJh
dGlvbj4KIAkJPENvbmZpZ3VyYXRpb24KIAkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCi0JCQlPdXRw
dXREaXJlY3Rvcnk9IiQoU29sdXRpb25OYW1lKS8kKENvbmZpZ3VyYXRpb25OYW1lKSIKLQkJCUlu
dGVybWVkaWF0ZURpcmVjdG9yeT0iJChPdXREaXIpLyQoUHJvamVjdE5hbWUpIgorCQkJT3V0cHV0
RGlyZWN0b3J5PSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcbGliIgogCQkJQ29uZmlndXJhdGlv
blR5cGU9IjQiCisJCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iJChQcm9qZWN0RGlyKVwuLlwu
LlwuLlwuLlxXZWJLaXRMaWJyYXJpZXNcd2luXHRvb2xzXHZzcHJvcHNcY29tbW9uLnZzcHJvcHMi
CiAJCQlDaGFyYWN0ZXJTZXQ9IjIiCi0JCQlSZWZlcmVuY2VzUGF0aD0iJnF1b3Q7Li5caW5jbHVk
ZSZxdW90OzsmcXVvdDsuLiZxdW90OyI+CisJCQk+CisJCQk8VG9vbAorCQkJCU5hbWU9IlZDUHJl
QnVpbGRFdmVudFRvb2wiCisJCQkvPgorCQkJPFRvb2wKKwkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxk
VG9vbCIKKwkJCS8+CisJCQk8VG9vbAorCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wi
CisJCQkvPgorCQkJPFRvb2wKKwkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRv
b2wiCisJCQkvPgorCQkJPFRvb2wKKwkJCQlOYW1lPSJWQ01JRExUb29sIgorCQkJLz4KIAkJCTxU
b29sCiAJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKIAkJCQlQcmVwcm9jZXNzb3JEZWZpbml0
aW9ucz0iV0lOMzI7TkRFQlVHO19MSUIiCiAJCQkJUnVudGltZUxpYnJhcnk9IjIiCiAJCQkJVXNl
UHJlY29tcGlsZWRIZWFkZXI9IjAiCiAJCQkJV2FybmluZ0xldmVsPSIzIgotCQkJCURldGVjdDY0
Qml0UG9ydGFiaWxpdHlQcm9ibGVtcz0iRkFMU0UiCi0JCQkJRGVidWdJbmZvcm1hdGlvbkZvcm1h
dD0iMyIvPgorCQkJCURldGVjdDY0Qml0UG9ydGFiaWxpdHlQcm9ibGVtcz0iZmFsc2UiCisJCQkJ
RGVidWdJbmZvcm1hdGlvbkZvcm1hdD0iMyIKKwkJCS8+CisJCQk8VG9vbAorCQkJCU5hbWU9IlZD
TWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIgorCQkJLz4KKwkJCTxUb29sCisJCQkJTmFtZT0i
VkNSZXNvdXJjZUNvbXBpbGVyVG9vbCIKKwkJCS8+CisJCQk8VG9vbAorCQkJCU5hbWU9IlZDUHJl
TGlua0V2ZW50VG9vbCIKKwkJCS8+CisJCQk8VG9vbAorCQkJCU5hbWU9IlZDTGlicmFyaWFuVG9v
bCIKKwkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilcZ3Rlc3QubGliIgorCQkJLz4KKwkJCTxUb29s
CisJCQkJTmFtZT0iVkNBTGlua1Rvb2wiCisJCQkvPgorCQkJPFRvb2wKKwkJCQlOYW1lPSJWQ1hE
Q01ha2VUb29sIgorCQkJLz4KKwkJCTxUb29sCisJCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCIKKwkJ
CS8+CisJCQk8VG9vbAorCQkJCU5hbWU9IlZDRnhDb3BUb29sIgorCQkJLz4KKwkJCTxUb29sCisJ
CQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiCisJCQkvPgorCQk8L0NvbmZpZ3VyYXRpb24+
CisJCTxDb25maWd1cmF0aW9uCisJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJ
CQlPdXRwdXREaXJlY3Rvcnk9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxsaWIiCisJCQlJbnRl
cm1lZGlhdGVEaXJlY3Rvcnk9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0
TmFtZSkiCisJCQlDb25maWd1cmF0aW9uVHlwZT0iNCIKKwkJCUluaGVyaXRlZFByb3BlcnR5U2hl
ZXRzPSIkKFByb2plY3REaXIpXC4uXC4uXC4uXC4uXFdlYktpdExpYnJhcmllc1x3aW5cdG9vbHNc
dnNwcm9wc1xjb21tb24udnNwcm9wcyIKKwkJCUNoYXJhY3RlclNldD0iMiIKKwkJCT4KKwkJCTxU
b29sCisJCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCIKKwkJCS8+CisJCQk8VG9vbAorCQkJ
CU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIgorCQkJLz4KKwkJCTxUb29sCisJCQkJTmFtZT0iVkNY
TUxEYXRhR2VuZXJhdG9yVG9vbCIKKwkJCS8+CisJCQk8VG9vbAorCQkJCU5hbWU9IlZDV2ViU2Vy
dmljZVByb3h5R2VuZXJhdG9yVG9vbCIKKwkJCS8+CisJCQk8VG9vbAorCQkJCU5hbWU9IlZDTUlE
TFRvb2wiCisJCQkvPgorCQkJPFRvb2wKKwkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJ
CU9wdGltaXphdGlvbj0iMCIKKwkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iV0lOMzI7X0RF
QlVHO19MSUIiCisJCQkJTWluaW1hbFJlYnVpbGQ9InRydWUiCisJCQkJQmFzaWNSdW50aW1lQ2hl
Y2tzPSIzIgorCQkJCVJ1bnRpbWVMaWJyYXJ5PSIzIgorCQkJCVVzZVByZWNvbXBpbGVkSGVhZGVy
PSIwIgorCQkJCVdhcm5pbmdMZXZlbD0iMyIKKwkJCQlEZXRlY3Q2NEJpdFBvcnRhYmlsaXR5UHJv
YmxlbXM9ImZhbHNlIgorCQkJCURlYnVnSW5mb3JtYXRpb25Gb3JtYXQ9IjQiCisJCQkvPgorCQkJ
PFRvb2wKKwkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCIKKwkJCS8+CiAJ
CQk8VG9vbAotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIi8+CisJCQkJTmFtZT0iVkNSZXNv
dXJjZUNvbXBpbGVyVG9vbCIKKwkJCS8+CisJCQk8VG9vbAorCQkJCU5hbWU9IlZDUHJlTGlua0V2
ZW50VG9vbCIKKwkJCS8+CiAJCQk8VG9vbAogCQkJCU5hbWU9IlZDTGlicmFyaWFuVG9vbCIKLQkJ
CQlPdXRwdXRGaWxlPSIkKE91dERpcikvZ3Rlc3QubGliIi8+CisJCQkJT3V0cHV0RmlsZT0iJChP
dXREaXIpXGd0ZXN0LmxpYiIKKwkJCS8+CisJCQk8VG9vbAorCQkJCU5hbWU9IlZDQUxpbmtUb29s
IgorCQkJLz4KKwkJCTxUb29sCisJCQkJTmFtZT0iVkNYRENNYWtlVG9vbCIKKwkJCS8+CisJCQk8
VG9vbAorCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiCisJCQkvPgorCQkJPFRvb2wKKwkJCQlOYW1l
PSJWQ0Z4Q29wVG9vbCIKKwkJCS8+CisJCQk8VG9vbAorCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZl
bnRUb29sIgorCQkJLz4KKwkJPC9Db25maWd1cmF0aW9uPgorCQk8Q29uZmlndXJhdGlvbgorCQkJ
TmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQlPdXRwdXREaXJlY3Rvcnk9IiQo
Q29uZmlndXJhdGlvbkJ1aWxkRGlyKVxsaWIiCisJCQlJbnRlcm1lZGlhdGVEaXJlY3Rvcnk9IiQo
Q29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSkiCisJCQlDb25maWd1cmF0
aW9uVHlwZT0iNCIKKwkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIkKFByb2plY3REaXIpXC4u
XC4uXC4uXC4uXFdlYktpdExpYnJhcmllc1x3aW5cdG9vbHNcdnNwcm9wc1xjb21tb24udnNwcm9w
cyIKKwkJCUNoYXJhY3RlclNldD0iMiIKKwkJCT4KKwkJCTxUb29sCisJCQkJTmFtZT0iVkNQcmVC
dWlsZEV2ZW50VG9vbCIKKwkJCS8+CisJCQk8VG9vbAorCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRU
b29sIgorCQkJLz4KKwkJCTxUb29sCisJCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCIK
KwkJCS8+CisJCQk8VG9vbAorCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9v
bCIKKwkJCS8+CiAJCQk8VG9vbAotCQkJCU5hbWU9IlZDTUlETFRvb2wiLz4KKwkJCQlOYW1lPSJW
Q01JRExUb29sIgorCQkJLz4KIAkJCTxUb29sCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRv
b2wiLz4KKwkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCVByZXByb2Nlc3NvckRlZmlu
aXRpb25zPSJXSU4zMjtOREVCVUc7X0xJQiIKKwkJCQlSdW50aW1lTGlicmFyeT0iMiIKKwkJCQlV
c2VQcmVjb21waWxlZEhlYWRlcj0iMCIKKwkJCQlXYXJuaW5nTGV2ZWw9IjMiCisJCQkJRGV0ZWN0
NjRCaXRQb3J0YWJpbGl0eVByb2JsZW1zPSJmYWxzZSIKKwkJCQlEZWJ1Z0luZm9ybWF0aW9uRm9y
bWF0PSIzIgorCQkJLz4KKwkJCTxUb29sCisJCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21w
aWxlclRvb2wiCisJCQkvPgorCQkJPFRvb2wKKwkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJU
b29sIgorCQkJLz4KIAkJCTxUb29sCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCIvPgor
CQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCIKKwkJCS8+CiAJCQk8VG9vbAotCQkJCU5hbWU9
IlZDUHJlTGlua0V2ZW50VG9vbCIvPgorCQkJCU5hbWU9IlZDTGlicmFyaWFuVG9vbCIKKwkJCQlP
dXRwdXRGaWxlPSIkKE91dERpcilcZ3Rlc3QubGliIgorCQkJLz4KIAkJCTxUb29sCi0JCQkJTmFt
ZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCIvPgorCQkJCU5hbWU9IlZDQUxpbmtUb29sIgorCQkJ
Lz4KIAkJCTxUb29sCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIi8+
CisJCQkJTmFtZT0iVkNYRENNYWtlVG9vbCIKKwkJCS8+CiAJCQk8VG9vbAotCQkJCU5hbWU9IlZD
WE1MRGF0YUdlbmVyYXRvclRvb2wiLz4KKwkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIgorCQkJLz4K
IAkJCTxUb29sCi0JCQkJTmFtZT0iVkNNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4KKwkJ
CQlOYW1lPSJWQ0Z4Q29wVG9vbCIKKwkJCS8+CiAJCQk8VG9vbAotCQkJCU5hbWU9IlZDQXV4aWxp
YXJ5TWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+CisJCQkJTmFtZT0iVkNQb3N0QnVpbGRF
dmVudFRvb2wiCisJCQkvPgogCQk8L0NvbmZpZ3VyYXRpb24+CiAJPC9Db25maWd1cmF0aW9ucz4K
IAk8UmVmZXJlbmNlcz4KQEAgLTk4LDEzNyArMjcwLDI3NyBAQAogCQk8RmlsdGVyCiAJCQlOYW1l
PSJTb3VyY2UgRmlsZXMiCiAJCQlGaWx0ZXI9ImNwcDtjO2N4eDtkZWY7b2RsO2lkbDtocGo7YmF0
O2FzbTthc214IgotCQkJVW5pcXVlSWRlbnRpZmllcj0iezRGQzczN0YxLUM3QTUtNDM3Ni1BMDY2
LTJBMzJENzUyQTJGRn0iPgorCQkJVW5pcXVlSWRlbnRpZmllcj0iezRGQzczN0YxLUM3QTUtNDM3
Ni1BMDY2LTJBMzJENzUyQTJGRn0iCisJCQk+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0i
Li5cc3JjXGd0ZXN0LWRlYXRoLXRlc3QuY2MiPgorCQkJCVJlbGF0aXZlUGF0aD0iLi5cc3JjXGd0
ZXN0LWRlYXRoLXRlc3QuY2MiCisJCQkJPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlO
YW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENv
bXBpbGVyVG9vbCIKKwkJCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90Oy4u
JnF1b3Q7OyZxdW90Oy4uXGluY2x1ZGUmcXVvdDsiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4z
MiIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJ
CQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90Oy4uJnF1b3Q7OyZxdW90Oy4u
XGluY2x1ZGUmcXVvdDsiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KIAkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iRGVidWd8V2luMzIiPgorCQkJCQlOYW1lPSJE
ZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCT4KIAkJCQkJPFRvb2wKIAkJCQkJCU5hbWU9
IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIm
cXVvdDsuLiZxdW90OzsmcXVvdDsuLlxpbmNsdWRlJnF1b3Q7Ii8+CisJCQkJCQlBZGRpdGlvbmFs
SW5jbHVkZURpcmVjdG9yaWVzPSImcXVvdDsuLiZxdW90OzsmcXVvdDsuLlxpbmNsdWRlJnF1b3Q7
IgorCQkJCQkvPgogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQkJPEZpbGVDb25maWd1cmF0
aW9uCi0JCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiPgorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJv
X0NGTGl0ZXxXaW4zMiIKKwkJCQkJPgogCQkJCQk8VG9vbAogCQkJCQkJTmFtZT0iVkNDTENvbXBp
bGVyVG9vbCIKLQkJCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90Oy4uJnF1
b3Q7OyZxdW90Oy4uXGluY2x1ZGUmcXVvdDsiLz4KKwkJCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGly
ZWN0b3JpZXM9IiZxdW90Oy4uJnF1b3Q7OyZxdW90Oy4uXGluY2x1ZGUmcXVvdDsiCisJCQkJCS8+
CiAJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVs
YXRpdmVQYXRoPSIuLlxzcmNcZ3Rlc3QtZmlsZXBhdGguY2MiPgorCQkJCVJlbGF0aXZlUGF0aD0i
Li5cc3JjXGd0ZXN0LWZpbGVwYXRoLmNjIgorCQkJCT4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24K
KwkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9
IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIm
cXVvdDsuLiZxdW90OzsmcXVvdDsuLlxpbmNsdWRlJnF1b3Q7IgorCQkJCQkvPgorCQkJCTwvRmls
ZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVh
c2V8V2luMzIiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiCisJCQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSImcXVvdDsuLiZxdW90Ozsm
cXVvdDsuLlxpbmNsdWRlJnF1b3Q7IgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5hbWU9IkRlYnVnfFdpbjMyIj4KKwkJCQkJ
TmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQk+CiAJCQkJCTxUb29sCiAJCQkJ
CQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rv
cmllcz0iJnF1b3Q7Li4mcXVvdDs7JnF1b3Q7Li5caW5jbHVkZSZxdW90OyIvPgorCQkJCQkJQWRk
aXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7Li4mcXVvdDs7JnF1b3Q7Li5caW5jbHVk
ZSZxdW90OyIKKwkJCQkJLz4KIAkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgogCQkJCTxGaWxlQ29u
ZmlndXJhdGlvbgotCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIj4KKwkJCQkJTmFtZT0iUmVsZWFz
ZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCT4KIAkJCQkJPFRvb2wKIAkJCQkJCU5hbWU9IlZD
Q0xDb21waWxlclRvb2wiCi0JCQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSImcXVv
dDsuLiZxdW90OzsmcXVvdDsuLlxpbmNsdWRlJnF1b3Q7Ii8+CisJCQkJCQlBZGRpdGlvbmFsSW5j
bHVkZURpcmVjdG9yaWVzPSImcXVvdDsuLiZxdW90OzsmcXVvdDsuLlxpbmNsdWRlJnF1b3Q7Igor
CQkJCQkvPgogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQot
CQkJCVJlbGF0aXZlUGF0aD0iLi5cc3JjXGd0ZXN0LXBvcnQuY2MiPgorCQkJCVJlbGF0aXZlUGF0
aD0iLi5cc3JjXGd0ZXN0LXBvcnQuY2MiCisJCQkJPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgor
CQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZx
dW90Oy4uJnF1b3Q7OyZxdW90Oy4uXGluY2x1ZGUmcXVvdDsiCisJCQkJCS8+CisJCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iRGVidWd8
V2luMzIiPgorCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQk+CiAJCQkJCTxUb29sCiAJ
CQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJl
Y3Rvcmllcz0iJnF1b3Q7Li4mcXVvdDs7JnF1b3Q7Li5caW5jbHVkZSZxdW90OyIvPgorCQkJCQkJ
QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7Li4mcXVvdDs7JnF1b3Q7Li5caW5j
bHVkZSZxdW90OyIKKwkJCQkJLz4KIAkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgogCQkJCTxGaWxl
Q29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIj4KKwkJCQkJTmFtZT0iRGVi
dWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQk+CiAJCQkJCTxUb29sCiAJCQkJCQlOYW1lPSJW
Q0NMQ29tcGlsZXJUb29sIgotCQkJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1
b3Q7Li4mcXVvdDs7JnF1b3Q7Li5caW5jbHVkZSZxdW90OyIvPgorCQkJCQkJQWRkaXRpb25hbElu
Y2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7Li4mcXVvdDs7JnF1b3Q7Li5caW5jbHVkZSZxdW90OyIK
KwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlv
bgorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJPgorCQkJCQk8
VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCUFkZGl0aW9uYWxJbmNs
dWRlRGlyZWN0b3JpZXM9IiZxdW90Oy4uJnF1b3Q7OyZxdW90Oy4uXGluY2x1ZGUmcXVvdDsiCisJ
CQkJCS8+CiAJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0J
CQkJUmVsYXRpdmVQYXRoPSIuLlxzcmNcZ3Rlc3QtdGVzdC1wYXJ0LmNjIj4KKwkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXHNyY1xndGVzdC10ZXN0LXBhcnQuY2MiCisJCQkJPgorCQkJCTxGaWxlQ29uZmln
dXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0
b3JpZXM9IiZxdW90Oy4uJnF1b3Q7OyZxdW90Oy4uXGluY2x1ZGUmcXVvdDsiCisJCQkJCS8+CisJ
CQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFt
ZT0iRGVidWd8V2luMzIiPgorCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQk+CiAJCQkJ
CTxUb29sCiAJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkJQWRkaXRpb25hbElu
Y2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7Li4mcXVvdDs7JnF1b3Q7Li5caW5jbHVkZSZxdW90OyIv
PgorCQkJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7Li4mcXVvdDs7JnF1
b3Q7Li5caW5jbHVkZSZxdW90OyIKKwkJCQkJLz4KIAkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgog
CQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIj4KKwkJCQkJ
TmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQk+CiAJCQkJCTxUb29sCiAJCQkJ
CQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rv
cmllcz0iJnF1b3Q7Li4mcXVvdDs7JnF1b3Q7Li5caW5jbHVkZSZxdW90OyIvPgorCQkJCQkJQWRk
aXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7Li4mcXVvdDs7JnF1b3Q7Li5caW5jbHVk
ZSZxdW90OyIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29u
ZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJ
PgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCUFkZGl0
aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90Oy4uJnF1b3Q7OyZxdW90Oy4uXGluY2x1ZGUm
cXVvdDsiCisJCQkJCS8+CiAJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KIAkJCTwvRmlsZT4KIAkJ
CTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxzcmNcZ3Rlc3QtdHlwZWQtdGVzdC5jYyI+CisJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxzcmNcZ3Rlc3QtdHlwZWQtdGVzdC5jYyIKKwkJCQk+CisJCQkJ
PEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJCQk+CisJCQkJ
CTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJQWRkaXRpb25hbElu
Y2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7Li4mcXVvdDs7JnF1b3Q7Li5caW5jbHVkZSZxdW90OyIK
KwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgogCQkJCTxGaWxlQ29uZmlndXJhdGlv
bgotCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiI+CisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJ
CQkJCT4KIAkJCQkJPFRvb2wKIAkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCQlB
ZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSImcXVvdDsuLiZxdW90OzsmcXVvdDsuLlxpbmNs
dWRlJnF1b3Q7Ii8+CisJCQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSImcXVvdDsu
LiZxdW90OzsmcXVvdDsuLlxpbmNsdWRlJnF1b3Q7IgorCQkJCQkvPgogCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5hbWU9IlJlbGVhc2V8V2lu
MzIiPgorCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCT4KIAkJCQkJ
PFRvb2wKIAkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCQlBZGRpdGlvbmFsSW5j
bHVkZURpcmVjdG9yaWVzPSImcXVvdDsuLiZxdW90OzsmcXVvdDsuLlxpbmNsdWRlJnF1b3Q7Ii8+
CisJCQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSImcXVvdDsuLiZxdW90OzsmcXVv
dDsuLlxpbmNsdWRlJnF1b3Q7IgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJ
CQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdp
bjMyIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgor
CQkJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7Li4mcXVvdDs7JnF1b3Q7
Li5caW5jbHVkZSZxdW90OyIKKwkJCQkJLz4KIAkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgogCQkJ
PC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHNyY1xndGVzdC5jYyI+CisJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxzcmNcZ3Rlc3QuY2MiCisJCQkJPgorCQkJCTxGaWxlQ29uZmln
dXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0
b3JpZXM9IiZxdW90Oy4uJnF1b3Q7OyZxdW90Oy4uXGluY2x1ZGUmcXVvdDsiCisJCQkJCS8+CisJ
CQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFt
ZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENv
bXBpbGVyVG9vbCIKKwkJCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90Oy4u
JnF1b3Q7OyZxdW90Oy4uXGluY2x1ZGUmcXVvdDsiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iRGVidWd8V2luMzIi
PgorCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCT4KIAkJCQkJPFRv
b2wKIAkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCQlBZGRpdGlvbmFsSW5jbHVk
ZURpcmVjdG9yaWVzPSImcXVvdDsuLiZxdW90OzsmcXVvdDsuLlxpbmNsdWRlJnF1b3Q7Ii8+CisJ
CQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSImcXVvdDsuLiZxdW90OzsmcXVvdDsu
LlxpbmNsdWRlJnF1b3Q7IgorCQkJCQkvPgogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQkJ
PEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiPgorCQkJCQlOYW1l
PSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJPgogCQkJCQk8VG9vbAogCQkJCQkJ
TmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3Jp
ZXM9IiZxdW90Oy4uJnF1b3Q7OyZxdW90Oy4uXGluY2x1ZGUmcXVvdDsiLz4KKwkJCQkJCUFkZGl0
aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90Oy4uJnF1b3Q7OyZxdW90Oy4uXGluY2x1ZGUm
cXVvdDsiCisJCQkJCS8+CiAJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KIAkJCTwvRmlsZT4KIAkJ
PC9GaWx0ZXI+CiAJCTxGaWx0ZXIKIAkJCU5hbWU9IkhlYWRlciBGaWxlcyIKIAkJCUZpbHRlcj0i
aDtocHA7aHh4O2htO2lubDtpbmM7eHNkIgotCQkJVW5pcXVlSWRlbnRpZmllcj0iezkzOTk1Mzgw
LTg5QkQtNGIwNC04OEVCLTYyNUZCRTUyRUJGQn0iPgorCQkJVW5pcXVlSWRlbnRpZmllcj0iezkz
OTk1MzgwLTg5QkQtNGIwNC04OEVCLTYyNUZCRTUyRUJGQn0iCisJCQk+CiAJCQk8RmlsZQotCQkJ
CVJlbGF0aXZlUGF0aD0iLi5caW5jbHVkZVxndGVzdFxpbnRlcm5hbFxndGVzdC1kZWF0aC10ZXN0
LWludGVybmFsLmgiPgorCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5jbHVkZVxndGVzdFxpbnRlcm5h
bFxndGVzdC1kZWF0aC10ZXN0LWludGVybmFsLmgiCisJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZp
bGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluY2x1ZGVcZ3Rlc3RcZ3Rlc3QtZGVhdGgtdGVzdC5o
Ij4KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluY2x1ZGVcZ3Rlc3RcZ3Rlc3QtZGVhdGgtdGVzdC5o
IgorCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxpbmNs
dWRlXGd0ZXN0XGludGVybmFsXGd0ZXN0LWZpbGVwYXRoLmgiPgorCQkJCVJlbGF0aXZlUGF0aD0i
Li5caW5jbHVkZVxndGVzdFxpbnRlcm5hbFxndGVzdC1maWxlcGF0aC5oIgorCQkJCT4KIAkJCTwv
RmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxzcmNcZ3Rlc3QtaW50ZXJuYWwt
aW5sLmgiPgorCQkJCVJlbGF0aXZlUGF0aD0iLi5cc3JjXGd0ZXN0LWludGVybmFsLWlubC5oIgor
CQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxpbmNsdWRl
XGd0ZXN0XGludGVybmFsXGd0ZXN0LWludGVybmFsLmgiPgorCQkJCVJlbGF0aXZlUGF0aD0iLi5c
aW5jbHVkZVxndGVzdFxpbnRlcm5hbFxndGVzdC1pbnRlcm5hbC5oIgorCQkJCT4KIAkJCTwvRmls
ZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxpbmNsdWRlXGd0ZXN0XGd0ZXN0LW1l
c3NhZ2UuaCI+CisJCQkJUmVsYXRpdmVQYXRoPSIuLlxpbmNsdWRlXGd0ZXN0XGd0ZXN0LW1lc3Nh
Z2UuaCIKKwkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5c
aW5jbHVkZVxndGVzdFxpbnRlcm5hbFxndGVzdC1wb3J0LmgiPgorCQkJCVJlbGF0aXZlUGF0aD0i
Li5caW5jbHVkZVxndGVzdFxpbnRlcm5hbFxndGVzdC1wb3J0LmgiCisJCQkJPgogCQkJPC9GaWxl
PgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluY2x1ZGVcZ3Rlc3RcZ3Rlc3Qtc3Bp
LmgiPgorCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5jbHVkZVxndGVzdFxndGVzdC1zcGkuaCIKKwkJ
CQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5jbHVkZVxn
dGVzdFxpbnRlcm5hbFxndGVzdC1zdHJpbmcuaCI+CisJCQkJUmVsYXRpdmVQYXRoPSIuLlxpbmNs
dWRlXGd0ZXN0XGludGVybmFsXGd0ZXN0LXN0cmluZy5oIgorCQkJCT4KIAkJCTwvRmlsZT4KIAkJ
CTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxpbmNsdWRlXGd0ZXN0XGd0ZXN0LmgiPgorCQkJ
CVJlbGF0aXZlUGF0aD0iLi5caW5jbHVkZVxndGVzdFxndGVzdC5oIgorCQkJCT4KIAkJCTwvRmls
ZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxpbmNsdWRlXGd0ZXN0XGd0ZXN0X3By
ZWRfaW1wbC5oIj4KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluY2x1ZGVcZ3Rlc3RcZ3Rlc3RfcHJl
ZF9pbXBsLmgiCisJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXGluY2x1ZGVcZ3Rlc3RcZ3Rlc3RfcHJvZC5oIj4KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGlu
Y2x1ZGVcZ3Rlc3RcZ3Rlc3RfcHJvZC5oIgorCQkJCT4KIAkJCTwvRmlsZT4KIAkJPC9GaWx0ZXI+
CiAJPC9GaWxlcz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2d0ZXN0L3hjb2RlL0Nv
bmZpZy9HZW5lcmFsLnhjY29uZmlnIGIvU291cmNlL1RoaXJkUGFydHkvZ3Rlc3QveGNvZGUvQ29u
ZmlnL0dlbmVyYWwueGNjb25maWcKaW5kZXggZjIzZTMyMi4uMTg5NzZkMiAxMDA2NDQKLS0tIGEv
U291cmNlL1RoaXJkUGFydHkvZ3Rlc3QveGNvZGUvQ29uZmlnL0dlbmVyYWwueGNjb25maWcKKysr
IGIvU291cmNlL1RoaXJkUGFydHkvZ3Rlc3QveGNvZGUvQ29uZmlnL0dlbmVyYWwueGNjb25maWcK
QEAgLTgsNyArOCw3IEBACiAvLyAKIAogLy8gQnVpbGQgZm9yIFBQQyBhbmQgSW50ZWwsIDMyLSBh
bmQgNjQtYml0Ci1BUkNIUyA9IGkzODYgeDg2XzY0IHBwYyBwcGM2NAorQVJDSFMgPSBpMzg2IHg4
Nl82NAogCiAvLyBaZXJvbGluayBwcmV2ZW50cyBsaW5rIHdhcm5pbmdzIHNvIHR1cm4gaXQgb2Zm
CiBaRVJPX0xJTksgPSBOTwpAQCAtMzIsMTAgKzMyLDQ0IEBAIEFMV0FZU19TRUFSQ0hfVVNFUl9Q
QVRIUyA9IE5PCiAvLyBUdXJuIG9uIHBvc2l0aW9uIGRlcGVuZGVudCBjb2RlIGZvciBtb3N0IGNh
c2VzIChvdmVycmlkZGVuIHdoZXJlIGFwcHJvcHJpYXRlKQogR0NDX0RZTkFNSUNfTk9fUElDID0g
WUVTCiAKLS8vIERlZmF1bHQgU0RLIGFuZCBtaW5pbXVtIE9TIHZlcnNpb24gaXMgMTAuNAotU0RL
Uk9PVCA9ICQoREVWRUxPUEVSX1NES19ESVIpL01hY09TWDEwLjR1LnNkawotTUFDT1NYX0RFUExP
WU1FTlRfVEFSR0VUID0gMTAuNAotR0NDX1ZFUlNJT04gPSA0LjAKK1RBUkdFVF9NQUNfT1NfWF9W
RVJTSU9OX01BSk9SPU1BQ19PU19WRVJTSU9OX01BSk9SCisKKy8vIFVzZSBHQ0MgNC4yIHdpdGgg
WGNvZGUgMy4xLCB3aGljaCBpbmNsdWRlcyBHQ0MgNC4yIGJ1dCBkZWZhdWx0cyB0byBHQ0MgNC4w
LgorLy8gTm90ZSB0aGF0IFhjb2RlIHZlcnNpb25zIGFzIG5ldyBhcyAzLjEuMiB1c2UgWENPREVf
VkVSU0lPTl9BQ1RVQUwgZm9yIHRoZSBtaW5vciB2ZXJzaW9uCisvLyBudW1iZXIuIE5ld2VyIHZl
cnNpb25zIG9mIFhjb2RlIHVzZSBYQ09ERV9WRVJTSU9OX01JTk9SIGZvciB0aGUgbWlub3IgdmVy
c2lvbiwgYW5kCisvLyBYQ09ERV9WRVJTSU9OX0FDVFVBTCBmb3IgdGhlIGZ1bGwgdmVyc2lvbiBu
dW1iZXIuCitUQVJHRVRfR0NDX1ZFUlNJT04gPSAkKFRBUkdFVF9HQ0NfVkVSU0lPTl8kKFJFQUxf
UExBVEZPUk1fTkFNRSkpOworVEFSR0VUX0dDQ19WRVJTSU9OX2lwaG9uZW9zID0gTExWTV9HQ0Nf
NDI7CitUQVJHRVRfR0NDX1ZFUlNJT05faXBob25lc2ltdWxhdG9yID0gR0NDXzQyOworVEFSR0VU
X0dDQ19WRVJTSU9OX21hY29zeCA9ICQoVEFSR0VUX0dDQ19WRVJTSU9OX21hY29zeF8kKFRBUkdF
VF9NQUNfT1NfWF9WRVJTSU9OX01BSk9SKSk7CitUQVJHRVRfR0NDX1ZFUlNJT05fbWFjb3N4XyA9
ICQoVEFSR0VUX0dDQ19WRVJTSU9OX21hY29zeF8xMDQwKTsKK1RBUkdFVF9HQ0NfVkVSU0lPTl9t
YWNvc3hfMTA0MCA9IEdDQ180MDsKK1RBUkdFVF9HQ0NfVkVSU0lPTl9tYWNvc3hfMTA1MCA9ICQo
VEFSR0VUX0dDQ19WRVJTSU9OX21hY29zeF8xMDUwXyQoWENPREVfVkVSU0lPTl9NSU5PUikpOwor
VEFSR0VUX0dDQ19WRVJTSU9OX21hY29zeF8xMDUwXyA9ICQoVEFSR0VUX0dDQ19WRVJTSU9OX21h
Y29zeF8xMDUwXyQoWENPREVfVkVSU0lPTl9BQ1RVQUwpKTsKK1RBUkdFVF9HQ0NfVkVSU0lPTl9t
YWNvc3hfMTA1MF8wMzEwID0gR0NDXzQyOworVEFSR0VUX0dDQ19WRVJTSU9OX21hY29zeF8xMDUw
XzAzMjAgPSBHQ0NfNDI7CitUQVJHRVRfR0NDX1ZFUlNJT05fbWFjb3N4XzEwNjAgPSBHQ0NfNDI7
CitUQVJHRVRfR0NDX1ZFUlNJT05fbWFjb3N4XzEwNzAgPSAkKFRBUkdFVF9HQ0NfVkVSU0lPTl9t
YWNvc3hfMTA3MF8kKENPTkZJR1VSQVRJT04pKTsKK1RBUkdFVF9HQ0NfVkVSU0lPTl9tYWNvc3hf
MTA3MF9EZWJ1ZyA9IExMVk1fQ09NUElMRVI7CitUQVJHRVRfR0NDX1ZFUlNJT05fbWFjb3N4XzEw
NzBfUmVsZWFzZSA9IExMVk1fR0NDXzQyOworVEFSR0VUX0dDQ19WRVJTSU9OX21hY29zeF8xMDcw
X1Byb2R1Y3Rpb24gPSBMTFZNX0dDQ180MjsKKworR0NDX1ZFUlNJT04gPSAkKEdDQ19WRVJTSU9O
XyQoVEFSR0VUX0dDQ19WRVJTSU9OKSk7CitHQ0NfVkVSU0lPTl9HQ0NfNDAgPSA0LjA7CitHQ0Nf
VkVSU0lPTl9HQ0NfNDIgPSA0LjI7CitHQ0NfVkVSU0lPTl9MTFZNX0dDQ180MiA9IGNvbS5hcHBs
ZS5jb21waWxlcnMubGx2bWdjYzQyOworR0NDX1ZFUlNJT05fTExWTV9DT01QSUxFUiA9IGNvbS5h
cHBsZS5jb21waWxlcnMubGx2bS5jbGFuZy4xXzA7CisKKy8vIElmIHRoZSB0YXJnZXQgTWFjIE9T
IFggdmVyc2lvbiBkb2VzIG5vdCBtYXRjaCB0aGUgY3VycmVudCBNYWMgT1MgWCB2ZXJzaW9uLAor
Ly8gdGhlbiB3ZSdsbCB3YW50IHRvIGJ1aWxkIHVzaW5nIHRoZSB0YXJnZXQgdmVyc2lvbidzIFNE
Sy4KK1NES1JPT1QgPSAkKFNES1JPT1RfJChNQUNfT1NfWF9WRVJTSU9OX01BSk9SKV8kKFRBUkdF
VF9NQUNfT1NfWF9WRVJTSU9OX01BSk9SKSk7CitTREtST09UXzEwNTBfMTA0MCA9IG1hY29zeDEw
LjQ7CitTREtST09UXzEwNjBfMTA0MCA9IG1hY29zeDEwLjQ7CitTREtST09UXzEwNjBfMTA1MCA9
IG1hY29zeDEwLjU7CitTREtST09UXzEwNzBfMTA0MCA9IG1hY29zeDEwLjQ7CitTREtST09UXzEw
NzBfMTA1MCA9IG1hY29zeDEwLjU7CitTREtST09UXzEwNzBfMTA2MCA9IG1hY29zeDEwLjY7CisK
IAogLy8gVkVSU0lPTklORyBCVUlMRCBTRVRUSU5HUyAodXNlZCBpbiBJbmZvLnBsaXN0KQogR1RF
U1RfVkVSU0lPTklORk9fQUJPVVQgPSAgwqkgMjAwOCBHb29nbGUgSW5jLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1RoaXJkUGFydHkvZ3Rlc3QveGNvZGUvTWFrZWZpbGUgYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9ndGVzdC94Y29kZS9NYWtlZmlsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li4yYzhlODQ5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1RoaXJkUGFydHkvZ3Rlc3QveGNv
ZGUvTWFrZWZpbGUKQEAgLTAsMCArMSwyIEBACitTQ1JJUFRTX1BBVEggPz0gLi4vLi4vLi4vLi4v
VG9vbHMvU2NyaXB0cworaW5jbHVkZSAuLi8uLi8uLi8uLi9NYWtlZmlsZS5zaGFyZWQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luL0No
YW5nZUxvZwppbmRleCA0MDY4ZTc5Li40ZGY1NWYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTQgQEAKKzIwMTEtMDUtMTAgIERtaXRyeSBMb21vdiAgPGRzbG9tb3ZAZ29vZ2xlLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk1NjEKKyAgICAgICAgU3dpdGNoIFRl
c3RXZWJLaXRBUEkgdG8gR1Rlc3QKKworICAgICAgICBGaXhlcyBNYWtlZmlsZXMgYW5kIFdpbkNh
aXJvIGJ1aWxkIGFzIHdlbGwKKworICAgICAgICAqIFdlYktpdC52Y3Byb2ovV2ViS2l0LnNsbjoK
KwogMjAxMS0wNS0wOSAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+
CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjg2MTA4LgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC93aW4vV2ViS2l0LnZjcHJvai9XZWJLaXQuc2xuIGIvU291cmNlL1dlYktp
dC93aW4vV2ViS2l0LnZjcHJvai9XZWJLaXQuc2xuCmluZGV4IGIyYjhkOTIuLmU0NmJmMWIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYktpdC52Y3Byb2ovV2ViS2l0LnNsbgorKysg
Yi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJLaXQudmNwcm9qL1dlYktpdC5zbG4KQEAgLTE1Myw2ICsx
NTMsOCBAQCBQcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIp
ID0gIlRlc3RXZWJLaXRBUElJbmplY3RlZEJ1bmRsZQogCQl7M0U0OEFCMjMtRDI0OS00ODhGLUEx
QzQtNDNDREY1MkZCRDI4fSA9IHszRTQ4QUIyMy1EMjQ5LTQ4OEYtQTFDNC00M0NERjUyRkJEMjh9
CiAJRW5kUHJvamVjdFNlY3Rpb24KIEVuZFByb2plY3QKK1Byb2plY3QoIns4QkM5Q0VCOC04QjRB
LTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAiZ3Rlc3QtbWQiLCAiLi5cLi5cLi5cVGhpcmRQ
YXJ0eVxndGVzdFxtc3ZjXGd0ZXN0LW1kLnZjcHJvaiIsICJ7QzhGNkMxNzItNTZGMi00RTc2LUI1
RkEtQzNCNDIzQjMxQkU4fSIKK0VuZFByb2plY3QKIEdsb2JhbAogCUdsb2JhbFNlY3Rpb24oU29s
dXRpb25Db25maWd1cmF0aW9uUGxhdGZvcm1zKSA9IHByZVNvbHV0aW9uCiAJCURlYnVnX0FsbHxX
aW4zMiA9IERlYnVnX0FsbHxXaW4zMgpAQCAtNTA5LDYgKzUxMSwxOCBAQCBHbG9iYWwKIAkJe0Iw
MTAxNjA0LUI0ODMtNEY4Qy05QzUxLTkwQjQ2QTJCMUNEM30uUHJvZHVjdGlvbnxXaW4zMi5CdWls
ZC4wID0gUHJvZHVjdGlvbnxXaW4zMgogCQl7QjAxMDE2MDQtQjQ4My00RjhDLTlDNTEtOTBCNDZB
MkIxQ0QzfS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzIKIAkJe0IwMTAx
NjA0LUI0ODMtNEY4Qy05QzUxLTkwQjQ2QTJCMUNEM30uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0g
UmVsZWFzZXxXaW4zMgorICAgICAgICAgICAgICAgIHtDOEY2QzE3Mi01NkYyLTRFNzYtQjVGQS1D
M0I0MjNCMzFCRTh9LkRlYnVnX0FsbHxXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMgorCQl7
QzhGNkMxNzItNTZGMi00RTc2LUI1RkEtQzNCNDIzQjMxQkU4fS5EZWJ1Z19BbGx8V2luMzIuQnVp
bGQuMCA9IERlYnVnfFdpbjMyCisJCXtDOEY2QzE3Mi01NkYyLTRFNzYtQjVGQS1DM0I0MjNCMzFC
RTh9LkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z19DYWlyb19DRkxp
dGV8V2luMzIKKwkJe0M4RjZDMTcyLTU2RjItNEU3Ni1CNUZBLUMzQjQyM0IzMUJFOH0uRGVidWdf
Q2Fpcm9fQ0ZMaXRlfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIKKwkJ
e0M4RjZDMTcyLTU2RjItNEU3Ni1CNUZBLUMzQjQyM0IzMUJFOH0uRGVidWd8V2luMzIuQWN0aXZl
Q2ZnID0gRGVidWd8V2luMzIKKwkJe0M4RjZDMTcyLTU2RjItNEU3Ni1CNUZBLUMzQjQyM0IzMUJF
OH0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyCisJCXtDOEY2QzE3Mi01NkYyLTRF
NzYtQjVGQS1DM0I0MjNCMzFCRTh9LlByb2R1Y3Rpb258V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFz
ZXxXaW4zMgorCQl7QzhGNkMxNzItNTZGMi00RTc2LUI1RkEtQzNCNDIzQjMxQkU4fS5Qcm9kdWN0
aW9ufFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyCisJCXtDOEY2QzE3Mi01NkYyLTRFNzYt
QjVGQS1DM0I0MjNCMzFCRTh9LlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyLkFjdGl2ZUNmZyA9
IFJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyCisJCXtDOEY2QzE3Mi01NkYyLTRFNzYtQjVGQS1D
M0I0MjNCMzFCRTh9LlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNl
X0NhaXJvX0NGTGl0ZXxXaW4zMgorCQl7QzhGNkMxNzItNTZGMi00RTc2LUI1RkEtQzNCNDIzQjMx
QkU4fS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzIKKwkJe0M4RjZDMTcy
LTU2RjItNEU3Ni1CNUZBLUMzQjQyM0IzMUJFOH0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVs
ZWFzZXxXaW4zMgogCUVuZEdsb2JhbFNlY3Rpb24KIAlHbG9iYWxTZWN0aW9uKFNvbHV0aW9uUHJv
cGVydGllcykgPSBwcmVTb2x1dGlvbgogCQlIaWRlU29sdXRpb25Ob2RlID0gRkFMU0UKZGlmZiAt
LWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBkYWI5MzgzLi40
YmRiZTA3IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsNDYgQEAKKzIwMTEtMDUtMTAgIERtaXRyeSBMb21vdiAgPGRzbG9tb3ZAZ29v
Z2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBDYWlybyBidWlsZCBmaXhlZAorCisgICAgICAgIE1ha2luZyBtYWtlIG1ha2UKKworICAgICAg
ICBDaGFuZ2VMb2cKKworICAgICAgICBSZWFkbWUgZm9yIGd0ZXN0CisKKyAgICAgICAgV2luZG93
cyBidWlsZCBwYXRjaGVzCisKKyAgICAgICAgQnVpbGQgb24gTWFjCisKKyAgICAgICAgUHJvamVj
dCBmaWxlcyBmaXhlZAorCisgICAgICAgIFNjcmlwdHMgdXBkYXRlZAorCisgICAgICAgIFN0eWxl
CisKKyAgICAgICAgVGVzdFdlYktpdEFQSSBzd2l0Y2hlZCB0byBndGVzdAorCisgICAgICAgIE5l
ZWQgYSBzaG9ydCBkZXNjcmlwdGlvbiBhbmQgYnVnIFVSTCAoT09QUyEpCisKKyAgICAgICAgKiBN
YWtlZmlsZToKKyAgICAgICAgKiBTY3JpcHRzL2J1aWxkLWFwaS10ZXN0czoKKyAgICAgICAgKiBT
Y3JpcHRzL3J1bi1hcGktdGVzdHM6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9Db25maWd1cmF0
aW9ucy9UZXN0V2ViS2l0QVBJQ29tbW9uLnZzcHJvcHM6CisgICAgICAgICogVGVzdFdlYktpdEFQ
SS9UZXN0Lmg6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvVmVj
dG9yQmFzaWMuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICog
VGVzdFdlYktpdEFQSS9UZXN0c0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQ
STo6VGVzdHNDb250cm9sbGVyOjpUZXN0c0NvbnRyb2xsZXIpOgorICAgICAgICAoVGVzdFdlYktp
dEFQSTo6VGVzdHNDb250cm9sbGVyOjpkdW1wVGVzdE5hbWVzKToKKyAgICAgICAgKFRlc3RXZWJL
aXRBUEk6OlRlc3RzQ29udHJvbGxlcjo6cnVuVGVzdE5hbWVkKToKKyAgICAgICAgKFRlc3RXZWJL
aXRBUEk6OlRlc3RzQ29udHJvbGxlcjo6cnVuQWxsVGVzdHMpOgorICAgICAgICAqIFRlc3RXZWJL
aXRBUEkvVGVzdHNDb250cm9sbGVyLmg6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9tYWMvbWFp
bi5tbToKKyAgICAgICAgKG1haW4pOgorCiAyMDExLTA1LTEwICBEYXZpZCBMZXZpbiAgPGxldmlu
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBTaGluaWNoaXJvIEhhbWFqaS4K
QEAgLTMyOCw3ICszNzEsNyBAQAogICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL3BvcnQvc2VydmVyX3Byb2Nlc3MucHk6CiAgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvcG9ydC93ZWJraXQucHk6CiAKLTIwMTEtMDUtMDYgIEFkYW0gQmFydGggIDxh
YmFydGhAd2Via2l0Lm9yZz4KKzAxMS0wNS0wNiAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQu
b3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgogCmRpZmYgLS1naXQgYS9U
b29scy9NYWtlZmlsZSBiL1Rvb2xzL01ha2VmaWxlCmluZGV4IDUxYWM3MDMuLmFkYzNhZTYgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL01ha2VmaWxlCisrKyBiL1Rvb2xzL01ha2VmaWxlCkBAIC0xLDQgKzEs
NCBAQAotTU9EVUxFUyA9IER1bXBSZW5kZXJUcmVlIFdlYktpdFRlc3RSdW5uZXIgTWluaUJyb3dz
ZXIgVGVzdFdlYktpdEFQSQorTU9EVUxFUyA9IER1bXBSZW5kZXJUcmVlIFdlYktpdFRlc3RSdW5u
ZXIgTWluaUJyb3dzZXIgLi4vU291cmNlL1RoaXJkUGFydHkvZ3Rlc3QveGNvZGUgVGVzdFdlYktp
dEFQSQogCiBhbGw6CiAJQGZvciBkaXIgaW4gJChNT0RVTEVTKTsgZG8gJHtNQUtFfSAkQCAtQyAk
JGRpcjsgZXhpdF9zdGF0dXM9JCQ/OyBcCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL2J1aWxk
LWFwaS10ZXN0cyBiL1Rvb2xzL1NjcmlwdHMvYnVpbGQtYXBpLXRlc3RzCmluZGV4IGRkMjIzMWMu
LmY2ZGRlYzAgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvYnVpbGQtYXBpLXRlc3RzCisrKyBi
L1Rvb2xzL1NjcmlwdHMvYnVpbGQtYXBpLXRlc3RzCkBAIC01NiwxMiArNTYsMTUgQEAgc2V0Q29u
ZmlndXJhdGlvbigpOwogY2hkaXJXZWJLaXQoKTsKIAogIyBCdWlsZAotY2hkaXIgIlRvb2xzL1Rl
c3RXZWJLaXRBUEkiIG9yIGRpZTsKIAogbXkgJHJlc3VsdDsKIGlmIChpc0FwcGxlTWFjV2ViS2l0
KCkpIHsKKyAgICBjaGRpciAiU291cmNlL1RoaXJkUGFydHkvZ3Rlc3QiOworICAgIGJ1aWxkWENv
ZGVQcm9qZWN0KCJ4Y29kZS9ndGVzdCIsICRjbGVhbiwgWGNvZGVPcHRpb25zKCksIEBBUkdWKTsK
KyAgICBjaGRpciAiLi4vLi4vLi4vVG9vbHMvVGVzdFdlYktpdEFQSSIgb3IgZGllOwogICAgICRy
ZXN1bHQgPSBidWlsZFhDb2RlUHJvamVjdCgiVGVzdFdlYktpdEFQSSIsICRjbGVhbiwgWGNvZGVP
cHRpb25zKCksIEBBUkdWKTsKIH0gZWxzaWYgKGlzQXBwbGVXaW5XZWJLaXQoKSkgeworICAgIGNo
ZGlyICJUb29scy9UZXN0V2ViS2l0QVBJIiBvciBkaWU7CiAgICAgJHJlc3VsdCA9IGJ1aWxkVmlz
dWFsU3R1ZGlvUHJvamVjdCgid2luL1Rlc3RXZWJLaXRBUEkuc2xuIiwgJGNsZWFuKTsKIH0gZWxz
ZSB7CiAgICAgZGllICJUZXN0V2ViS2l0QVBJIGlzIG5vdCBzdXBwb3J0ZWQgb24gdGhpcyBwbGF0
Zm9ybS5cbiI7CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3J1bi1hcGktdGVzdHMgYi9Ub29s
cy9TY3JpcHRzL3J1bi1hcGktdGVzdHMKaW5kZXggOTcxMzY2Mi4uMzBlNDNhZCAxMDA3NTUKLS0t
IGEvVG9vbHMvU2NyaXB0cy9ydW4tYXBpLXRlc3RzCisrKyBiL1Rvb2xzL1NjcmlwdHMvcnVuLWFw
aS10ZXN0cwpAQCAtMTIyLDcgKzEyMiw3IEBAIHN1YiBydW5BbGxUZXN0c0luU3VpdGUoJCkKIHN1
YiBydW5UZXN0KCQkKQogewogICAgIG15ICgkc3VpdGUsICR0ZXN0TmFtZSkgPSBAXzsKLSAgICBt
eSAkdGVzdCA9ICRzdWl0ZSAuICIvIiAuICR0ZXN0TmFtZTsKKyAgICBteSAkdGVzdCA9ICRzdWl0
ZSAuICIuIiAuICR0ZXN0TmFtZTsKIAogICAgIHByaW50ICIgICAgVGVzdDogJHRlc3ROYW1lIC0+
ICI7CiAKQEAgLTIzNSw3ICsyMzUsNyBAQCBzdWIgcG9wdWxhdGVUZXN0cygpCiAgICAgbXkgJWtl
eWVkVGVzdHMgPSAoKTsKICAgICBmb3IgbXkgJHRlc3QgKEB0ZXN0cykgewogICAgICAgICAkdGVz
dCA9fiBzL1tcclxuXSokLy87Ci0gICAgICAgIG15ICgkc3VpdGUsICR0ZXN0TmFtZSkgPSBzcGxp
dCgvXC8vLCAkdGVzdCk7CisgICAgICAgIG15ICgkc3VpdGUsICR0ZXN0TmFtZSkgPSBzcGxpdCgv
XC4vLCAkdGVzdCk7CiAgICAgICAgIHB1c2ggQHska2V5ZWRUZXN0c3skc3VpdGV9fSwgJHRlc3RO
YW1lOwogICAgIH0KICAgICAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29t
bW9uL2NvbmZpZy9jb21taXR0ZXJzLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24v
Y29uZmlnL2NvbW1pdHRlcnMucHkKaW5kZXggOWRhOWEwMy4uNjg5MThhYyAxMDA2NDQKLS0tIGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY29uZmlnL2NvbW1pdHRlcnMucHkKKysrIGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY29uZmlnL2NvbW1pdHRlcnMucHkKQEAgLTE3
Niw2ICsxNzYsNyBAQCBjb21taXR0ZXJzX3VuYWJsZV90b19yZXZpZXcgPSBbCiAgICAgQ29tbWl0
dGVyKCJKZXJlbXkgTW9za292aWNoIiwgWyJwbGF5bW9iaWxAZ29vZ2xlLmNvbSIsICJqZXJlbXlA
Y2hyb21pdW0ub3JnIl0sICJqZXJlbXltb3MiKSwKICAgICBDb21taXR0ZXIoIkplc3NpZSBCZXJs
aW4iLCBbImpiZXJsaW5Ad2Via2l0Lm9yZyIsICJqYmVybGluQGFwcGxlLmNvbSJdKSwKICAgICBD
b21taXR0ZXIoIkplc3VzIFNhbmNoZXotUGFsZW5jaWEiLCBbImplc3VzQHdlYmtpdC5vcmciLCAi
amVzdXMucGFsZW5jaWFAb3BlbmJvc3NhLm9yZyJdLCAiamVlel8iKSwKKyAgICBDb21taXR0ZXIo
IkppYSBQdSIsICJqcHVAYXBwbGUuY29tIiksCiAgICAgQ29tbWl0dGVyKCJKb2NlbHluIFR1cmNv
dHRlIiwgImpvY2VseW4udHVyY290dGVAbm9raWEuY29tIiwgImp0dXJjb3R0ZSIpLAogICAgIENv
bW1pdHRlcigiSm9jaGVuIEVpc2luZ2VyIiwgImpvY2hlbkBjaHJvbWl1bS5vcmciLCAiam9jaGVu
X18iKSwKICAgICBDb21taXR0ZXIoIkpvaG4gQWJkLUVsLU1hbGVrIiwgImphbUBjaHJvbWl1bS5v
cmciLCAiamFtIiksCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRp
b25zL1Rlc3RXZWJLaXRBUElDb21tb24udnNwcm9wcyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ29u
ZmlndXJhdGlvbnMvVGVzdFdlYktpdEFQSUNvbW1vbi52c3Byb3BzCmluZGV4IDY3NDJmZjEuLmFl
YmZjOTIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvVGVz
dFdlYktpdEFQSUNvbW1vbi52c3Byb3BzCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmln
dXJhdGlvbnMvVGVzdFdlYktpdEFQSUNvbW1vbi52c3Byb3BzCkBAIC02LDEyICs2LDEyIEBACiAJ
PgogCTxUb29sCiAJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCUFkZGl0aW9uYWxJbmNsdWRl
RGlyZWN0b3JpZXM9IiZxdW90OyQoUHJvamVjdERpcikmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KVwuLiZxdW90OzsmcXVvdDskKENvbmZpZ3VyYXRpb25CdWlsZERpcilcaW5jbHVkZSZxdW90Ozsm
cXVvdDskKENvbmZpZ3VyYXRpb25CdWlsZERpcilcaW5jbHVkZVxXZWJDb3JlXEZvcndhcmRpbmdI
ZWFkZXJzJnF1b3Q7OyZxdW90OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxpbmNsdWRlXHByaXZh
dGUmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGluY2x1ZGUmcXVvdDsiCisgICAg
ICAgICAgICAgICAgQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7JChQcm9qZWN0
RGlyKSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uJnF1b3Q7OyZxdW90OyQoQ29uZmlndXJh
dGlvbkJ1aWxkRGlyKVxpbmNsdWRlJnF1b3Q7OyZxdW90OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGly
KVxpbmNsdWRlXFdlYkNvcmVcRm9yd2FyZGluZ0hlYWRlcnMmcXVvdDs7JnF1b3Q7JChDb25maWd1
cmF0aW9uQnVpbGREaXIpXGluY2x1ZGVccHJpdmF0ZSZxdW90OzsmcXVvdDskKFdlYktpdExpYnJh
cmllc0RpcilcaW5jbHVkZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXC4uXFNvdXJj
ZVxUaGlyZFBhcnR5XGd0ZXN0XGluY2x1ZGUmcXVvdDsiCiAJCUZvcmNlZEluY2x1ZGVGaWxlcz0i
VGVzdFdlYktpdEFQSVByZWZpeC5oIgogCS8+CiAJPFRvb2wKIAkJTmFtZT0iVkNMaW5rZXJUb29s
IgotCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJXZWJLaXQkKFdlYktpdERMTENvbmZpZ1N1ZmZp
eCkubGliIEphdmFTY3JpcHRDb3JlJChXZWJLaXRETExDb25maWdTdWZmaXgpLmxpYiIKKwkJQWRk
aXRpb25hbERlcGVuZGVuY2llcz0iV2ViS2l0JChXZWJLaXRETExDb25maWdTdWZmaXgpLmxpYiBK
YXZhU2NyaXB0Q29yZSQoV2ViS2l0RExMQ29uZmlnU3VmZml4KS5saWIgZ3Rlc3QubGliIgogCQlT
dWJTeXN0ZW09IjEiCiAJLz4KIDwvVmlzdWFsU3R1ZGlvUHJvcGVydHlTaGVldD4KZGlmZiAtLWdp
dCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdC5oIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
LmgKaW5kZXggZWQ3NzJkNS4uZjkwMzUwNyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0LmgKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0LmgKQEAgLTI4LDYwICsyOCwx
OCBAQAogCiAjaW5jbHVkZSAiVGVzdHNDb250cm9sbGVyLmgiCiAKLW5hbWVzcGFjZSBUZXN0V2Vi
S2l0QVBJIHsKLQotLy8gQWJzdHJhY3QgYmFzZSBjbGFzcyB0aGF0IGFsbCB0ZXN0cyBpbmhlcml0
IGZyb20uCi1jbGFzcyBUZXN0IHsKLXB1YmxpYzoKLSAgICB2aXJ0dWFsIH5UZXN0KCkgeyB9Ci0g
ICAgCi0gICAgdmlydHVhbCB2b2lkIHJ1bigpID0gMDsKLSAgICBzdGQ6OnN0cmluZyBuYW1lKCkg
Y29uc3QgeyByZXR1cm4gbV9pZGVudGlmaWVyOyB9Ci0gICAgCi0gICAgdGVtcGxhdGU8dHlwZW5h
bWUgVGVzdENsYXNzVHk+IGNsYXNzIFJlZ2lzdGVyIHsKLSAgICBwdWJsaWM6Ci0gICAgICAgIFJl
Z2lzdGVyKGNvbnN0IHN0ZDo6c3RyaW5nJiB0ZXN0U3VpdGUsIGNvbnN0IHN0ZDo6c3RyaW5nJiB0
ZXN0Q2FzZSkKLSAgICAgICAgewotICAgICAgICAgICAgVGVzdHNDb250cm9sbGVyOjpzaGFyZWQo
KS5yZWdpc3RlckNyZWF0ZVRlc3RGdW5jdGlvbih0ZXN0U3VpdGUgKyAiLyIgKyB0ZXN0Q2FzZSwg
UmVnaXN0ZXI6OmNyZWF0ZSk7Ci0gICAgICAgIH0KLSAgICAKLSAgICBwcml2YXRlOgotICAgICAg
ICBzdGF0aWMgVGVzdCogY3JlYXRlKGNvbnN0IHN0ZDo6c3RyaW5nJiBpZGVudGlmaWVyKSAKLSAg
ICAgICAgewotICAgICAgICAgICAgcmV0dXJuIG5ldyBUZXN0Q2xhc3NUeShpZGVudGlmaWVyKTsK
LSAgICAgICAgfQotICAgIH07Ci0KLXByb3RlY3RlZDoKLSAgICBUZXN0KGNvbnN0IHN0ZDo6c3Ry
aW5nJiBpZGVudGlmaWVyKQotICAgICAgICA6IG1faWRlbnRpZmllcihpZGVudGlmaWVyKQotICAg
IHsKLSAgICB9CisjaW5jbHVkZSA8Z3Rlc3QvZ3Rlc3QuaD4KIAotICAgIHN0ZDo6c3RyaW5nIG1f
aWRlbnRpZmllcjsKLX07Ci0KLSNkZWZpbmUgVEVTVF9DTEFTU19OQU1FKHRlc3RTdWl0ZSwgdGVz
dENhc2VOYW1lKSB0ZXN0U3VpdGUjI3Rlc3RDYXNlTmFtZSMjX1Rlc3QKLSNkZWZpbmUgVEVTVF9S
RUdJU1RSQVJfTkFNRSh0ZXN0U3VpdGUsIHRlc3RDYXNlTmFtZSkgdGVzdFN1aXRlIyN0ZXN0Q2Fz
ZU5hbWUjI19SZWdpc3RyYXIKK25hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKIAotLy8gVXNlIHRo
aXMgdG8gZGVmaW5lIGEgbmV3IHRlc3QuCi0jZGVmaW5lIFRFU1QodGVzdFN1aXRlLCB0ZXN0Q2Fz
ZU5hbWUpIFwKLSAgICBjbGFzcyBURVNUX0NMQVNTX05BTUUodGVzdFN1aXRlLCB0ZXN0Q2FzZU5h
bWUpIDogcHVibGljIFRlc3QgeyBcCi0gICAgcHVibGljOiBcCi0gICAgICAgIFRFU1RfQ0xBU1Nf
TkFNRSh0ZXN0U3VpdGUsIHRlc3RDYXNlTmFtZSkoY29uc3Qgc3RkOjpzdHJpbmcmIGlkZW50aWZp
ZXIpIFwKLSAgICAgICAgICAgIDogVGVzdChpZGVudGlmaWVyKSBcCi0gICAgICAgIHsgXAorI2Rl
ZmluZSBURVNUX0FTU0VSVChleHByZXNzaW9uKSBFWFBFQ1RfVFJVRShleHByZXNzaW9uKQorI2Rl
ZmluZSBURVNUX0FTU0VSVF9SRVRVUk4oZXhwcmVzc2lvbiwgcmV0dXJuVmFsdWUpIFwKKyAgICBk
byB7IFwKKyAgICAgICAgaWYgKCEoZXhwcmVzc2lvbikpIHsgXAorICAgICAgICAgICAgRVhQRUNU
X0ZBTFNFKHRydWUpIDw8ICNleHByZXNzaW9uOyBcCisgICAgICAgICAgICByZXR1cm4gKHJldHVy
blZhbHVlKTsgXAogICAgICAgICB9IFwKLSAgICAgICAgdmlydHVhbCB2b2lkIHJ1bigpOyBcCi0g
ICAgfTsgXAotICAgIFwKLSAgICBzdGF0aWMgVGVzdDo6UmVnaXN0ZXI8VEVTVF9DTEFTU19OQU1F
KHRlc3RTdWl0ZSwgdGVzdENhc2VOYW1lKT4gVEVTVF9SRUdJU1RSQVJfTkFNRSh0ZXN0U3VpdGUs
IHRlc3RDYXNlTmFtZSkoI3Rlc3RTdWl0ZSwgI3Rlc3RDYXNlTmFtZSk7IFwKLSAgICBcCi0gICAg
dm9pZCBURVNUX0NMQVNTX05BTUUodGVzdFN1aXRlLCB0ZXN0Q2FzZU5hbWUpOjpydW4oKQotCi0j
ZGVmaW5lIF9URVNUX0FTU0VSVF9IRUxQRVIoZXhwcmVzc2lvbiwgcmV0dXJuU3RhdGVtZW50KSBk
byB7IGlmICghKGV4cHJlc3Npb24pKSB7IFRlc3RzQ29udHJvbGxlcjo6c2hhcmVkKCkudGVzdEZh
aWxlZChfX0ZJTEVfXywgX19MSU5FX18sICNleHByZXNzaW9uKTsgcmV0dXJuU3RhdGVtZW50OyB9
IH0gd2hpbGUgKDApCi0jZGVmaW5lIFRFU1RfQVNTRVJUKGV4cHJlc3Npb24pIF9URVNUX0FTU0VS
VF9IRUxQRVIoZXhwcmVzc2lvbiwgcmV0dXJuKQotI2RlZmluZSBURVNUX0FTU0VSVF9SRVRVUk4o
ZXhwcmVzc2lvbiwgcmV0dXJuVmFsdWUpIF9URVNUX0FTU0VSVF9IRUxQRVIoZXhwcmVzc2lvbiwg
cmV0dXJuIChyZXR1cm5WYWx1ZSkpCisgICAgfSB3aGlsZSAoMCkKIAogfSAvLyBuYW1lc3BhY2Ug
VGVzdFdlYktpdEFQSQogCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJL
aXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDg2YjY5MWQuLmYwMDk3
MzAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQ
SS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01Nyw2ICs1Nyw3IEBACiAJCUMwQURCRTk2
MTJGQ0E3OUIwMEQyQzEyOSAvKiBzaW1wbGUtZm9ybS5odG1sIGluIENvcHkgUmVzb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMwQURCRTg0MTJGQ0E2QjYwMEQyQzEy
OSAvKiBzaW1wbGUtZm9ybS5odG1sICovOyB9OwogCQlDMEJENjY5RDEzMUQzQ0Y3MDBFMThGMkEg
LyogUmVzcG9uc2l2ZW5lc3NUaW1lckRvZXNudEZpcmVFYXJseS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMEJENjY5QzEzMUQzQ0Y3MDBFMThGMkEg
LyogUmVzcG9uc2l2ZW5lc3NUaW1lckRvZXNudEZpcmVFYXJseS5jcHAgKi87IH07CiAJCUMwQkQ2
NjlGMTMxRDNDRkYwMEUxOEYyQSAvKiBSZXNwb25zaXZlbmVzc1RpbWVyRG9lc250RmlyZUVhcmx5
X0J1bmRsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDMEJENjY5RTEzMUQzQ0ZGMDBFMThGMkEgLyogUmVzcG9uc2l2ZW5lc3NUaW1lckRvZXNudEZp
cmVFYXJseV9CdW5kbGUuY3BwICovOyB9OworCQlGM0ZDM0VFMzEzNjc4QjczMDAxMjZBNjUgLyog
bGliZ3Rlc3QuYSBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEYzRkMzRUUyMTM2NzhCNzMwMDEyNkE2NSAvKiBsaWJndGVzdC5hICovOyB9OwogCQlGNkYz
RjI5MTEzMzQyRkVCMDBBNkJGMTkgLyogQ29va2llTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNkYzRjI5MDEzMzQyRkVCMDBBNkJGMTkg
LyogQ29va2llTWFuYWdlci5jcHAgKi87IH07CiAvKiBFbmQgUEJYQnVpbGRGaWxlIHNlY3Rpb24g
Ki8KIApAQCAtMTYwLDYgKzE2MSw3IEBACiAJCUMwQURCRTg0MTJGQ0E2QjYwMEQyQzEyOSAvKiBz
aW1wbGUtZm9ybS5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gInNpbXBsZS1mb3Jt
Lmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMEJENjY5QzEzMUQzQ0Y3MDBF
MThGMkEgLyogUmVzcG9uc2l2ZW5lc3NUaW1lckRvZXNudEZpcmVFYXJseS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZXNwb25zaXZlbmVzc1RpbWVyRG9lc250Rmly
ZUVhcmx5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzBCRDY2OUUxMzFEM0NG
RjAwRTE4RjJBIC8qIFJlc3BvbnNpdmVuZXNzVGltZXJEb2VzbnRGaXJlRWFybHlfQnVuZGxlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlc3BvbnNpdmVuZXNzVGlt
ZXJEb2VzbnRGaXJlRWFybHlfQnVuZGxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJRjNGQzNFRTIxMzY3OEI3MzAwMTI2QTY1IC8qIGxpYmd0ZXN0LmEgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBhcmNoaXZlLmFyOyBuYW1lID0gbGli
Z3Rlc3QuYTsgcGF0aCA9IC4uLy4uL1dlYktpdEJ1aWxkL0RlYnVnL2xpYmd0ZXN0LmE7IHNvdXJj
ZVRyZWUgPSBTT1VSQ0VfUk9PVDsgfTsKIAkJRjZGM0YyOTAxMzM0MkZFQjAwQTZCRjE5IC8qIENv
b2tpZU1hbmFnZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ29v
a2llTWFuYWdlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAvKiBFbmQgUEJYRmls
ZVJlZmVyZW5jZSBzZWN0aW9uICovCiAKQEAgLTE3Miw2ICsxNzQsNyBAQAogCQkJCUJDQTYxREI1
MTE3MDBFRkQwMDQ2MEQxRSAvKiBXZWJLaXQyLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAog
CQkJCUJDOTA5NjRFMTI1NTYyMEMwMDA4Mzc1NiAvKiBKYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsg
aW4gRnJhbWV3b3JrcyAqLywKIAkJCQlDMDJCNzg1NDEyNjYxM0FFMDAyNkJGMEYgLyogQ2FyYm9u
LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAorCQkJCUYzRkMzRUUzMTM2NzhCNzMwMDEyNkE2
NSAvKiBsaWJndGVzdC5hIGluIEZyYW1ld29ya3MgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRl
cGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yMjIsNiArMjI1LDcgQEAKIAkJ
MDhGQjc3OURGRTg0MTU1REMwMkFBQzA3IC8qIEV4dGVybmFsIEZyYW1ld29ya3MgYW5kIExpYnJh
cmllcyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJRjNG
QzNFRTIxMzY3OEI3MzAwMTI2QTY1IC8qIGxpYmd0ZXN0LmEgKi8sCiAJCQkJQkNCOUU5RjAxMTIz
NUJERTAwQTEzN0UwIC8qIENvY29hLmZyYW1ld29yayAqLywKIAkJCQlCQzkwOTY0RDEyNTU2MjBD
MDAwODM3NTYgLyogSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrICovLAogCQkJCUJDQTYxREI0MTE3
MDBFRkQwMDQ2MEQxRSAvKiBXZWJLaXQyLmZyYW1ld29yayAqLywKQEAgLTQ3OSw2ICs0ODMsMTQg
QEAKIAkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gQkM5MDk1ODAxMjU1NENGOTAwMDgz
NzU2IC8qIFRlc3RXZWJLaXRBUEkueGNjb25maWcgKi87CiAJCQlidWlsZFNldHRpbmdzID0gewog
CQkJCUZSQU1FV09SS19TRUFSQ0hfUEFUSFMgPSAiJChpbmhlcml0ZWQpIjsKKwkJCQlIRUFERVJf
U0VBUkNIX1BBVEhTID0gKAorCQkJCQkuLi8uLi9Tb3VyY2UvVGhpcmRQYXJ0eS9ndGVzdC9pbmNs
dWRlLAorCQkJCQkiJChXRUJDT1JFX1BSSVZBVEVfSEVBREVSU19ESVIpL0ZvcndhcmRpbmdIZWFk
ZXJzIiwKKwkJCQkpOworCQkJCUxJQlJBUllfU0VBUkNIX1BBVEhTID0gKAorCQkJCQkiJChpbmhl
cml0ZWQpIiwKKwkJCQkJIlwiJChTUkNST09UKS8uLi8uLi9XZWJLaXRCdWlsZC9EZWJ1Z1wiIiwK
KwkJCQkpOwogCQkJfTsKIAkJCW5hbWUgPSBEZWJ1ZzsKIAkJfTsKQEAgLTQ4Nyw2ICs0OTksMTQg
QEAKIAkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gQkM5MDk1ODAxMjU1NENGOTAwMDgz
NzU2IC8qIFRlc3RXZWJLaXRBUEkueGNjb25maWcgKi87CiAJCQlidWlsZFNldHRpbmdzID0gewog
CQkJCUZSQU1FV09SS19TRUFSQ0hfUEFUSFMgPSAiJChpbmhlcml0ZWQpIjsKKwkJCQlIRUFERVJf
U0VBUkNIX1BBVEhTID0gKAorCQkJCQkuLi8uLi9Tb3VyY2UvVGhpcmRQYXJ0eS9ndGVzdC9pbmNs
dWRlLAorCQkJCQkiJChXRUJDT1JFX1BSSVZBVEVfSEVBREVSU19ESVIpL0ZvcndhcmRpbmdIZWFk
ZXJzIiwKKwkJCQkpOworCQkJCUxJQlJBUllfU0VBUkNIX1BBVEhTID0gKAorCQkJCQkiJChpbmhl
cml0ZWQpIiwKKwkJCQkJIlwiJChTUkNST09UKS8uLi8uLi9XZWJLaXRCdWlsZC9SZWxlYXNlXCIi
LAorCQkJCSk7CiAJCQl9OwogCQkJbmFtZSA9IFJlbGVhc2U7CiAJCX07CmRpZmYgLS1naXQgYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9WZWN0b3JCYXNpYy5jcHAgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dURi9WZWN0b3JCYXNpYy5jcHAKaW5kZXggMDEyZmEyNy4uNzIzODkw
YyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvVmVjdG9yQmFzaWMu
Y3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1ZlY3RvckJhc2ljLmNwcApA
QCAtMzIsOSArMzIsOSBAQCBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7CiBURVNUKFdURiwgVmVj
dG9yQmFzaWMpCiB7CiAgICAgVmVjdG9yPGludD4gaW50VmVjdG9yOwotICAgIFRFU1RfQVNTRVJU
KGludFZlY3Rvci5pc0VtcHR5KCkpOwotICAgIFRFU1RfQVNTRVJUKGludFZlY3Rvci5zaXplKCkg
PT0gMCk7Ci0gICAgVEVTVF9BU1NFUlQoaW50VmVjdG9yLmNhcGFjaXR5KCkgPT0gMCk7CisgICAg
QVNTRVJUX1RSVUUoaW50VmVjdG9yLmlzRW1wdHkoKSk7CisgICAgQVNTRVJUX0VRKDB1bCwgaW50
VmVjdG9yLnNpemUoKSk7CisgICAgQVNTRVJUX0VRKDB1bCwgaW50VmVjdG9yLmNhcGFjaXR5KCkp
OwogfQogCiB9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCmRpZmYgLS1naXQgYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzQ29udHJvbGxlci5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzQ29udHJvbGxlci5jcHAKaW5kZXggMzQ5OWYyYy4uODJhMmVjMyAxMDA2NDQKLS0tIGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0c0NvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHNDb250cm9sbGVyLmNwcApAQCAtMjYsOCArMjYsOSBAQAogI2luY2x1ZGUgIlRl
c3RzQ29udHJvbGxlci5oIgogCiAjaW5jbHVkZSAiVGVzdC5oIgotI2luY2x1ZGUgPGFsZ29yaXRo
bT4KICNpbmNsdWRlIDxhc3NlcnQuaD4KKyNpbmNsdWRlIDxndGVzdC9ndGVzdC5oPgorI2luY2x1
ZGUgPGNzdGRpbz4KIAogbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgewogCkBAIC0zOCw0NSArMzks
MzMgQEAgVGVzdHNDb250cm9sbGVyJiBUZXN0c0NvbnRyb2xsZXI6OnNoYXJlZCgpCiB9CiAKIFRl
c3RzQ29udHJvbGxlcjo6VGVzdHNDb250cm9sbGVyKCkKLSAgICA6IG1fdGVzdEZhaWxlZChmYWxz
ZSkKLSAgICAsIG1fY3VycmVudFRlc3QoMCkKIHsKKyAgICBpbnQgYXJnYyA9IDA7CisgICAgOjp0
ZXN0aW5nOjpJbml0R29vZ2xlVGVzdCgmYXJnYywgKGNoYXIqKikwKTsKIH0KIAogdm9pZCBUZXN0
c0NvbnRyb2xsZXI6OmR1bXBUZXN0TmFtZXMoKQogewotICAgIHN0ZDo6bWFwPHN0ZDo6c3RyaW5n
LCBDcmVhdGVUZXN0RnVuY3Rpb24+Ojpjb25zdF9pdGVyYXRvciBpdCA9IG1fY3JlYXRlVGVzdEZ1
bmN0aW9ucy5iZWdpbigpOwotICAgIHN0ZDo6bWFwPHN0ZDo6c3RyaW5nLCBDcmVhdGVUZXN0RnVu
Y3Rpb24+Ojpjb25zdF9pdGVyYXRvciBlbmQgPSBtX2NyZWF0ZVRlc3RGdW5jdGlvbnMuZW5kKCk7
Ci0gICAgZm9yICg7IGl0ICE9IGVuZDsgKytpdCkKLSAgICAgICAgcHJpbnRmKCIlc1xuIiwgKCpp
dCkuZmlyc3QuY19zdHIoKSk7Ci19CisgICAgOjp0ZXN0aW5nOjpVbml0VGVzdCogdW5pdF90ZXN0
ID0gOjp0ZXN0aW5nOjpVbml0VGVzdDo6R2V0SW5zdGFuY2UoKTsKIAotYm9vbCBUZXN0c0NvbnRy
b2xsZXI6OnJ1blRlc3ROYW1lZChjb25zdCBzdGQ6OnN0cmluZyYgaWRlbnRpZmllcikKLXsKLSAg
ICBDcmVhdGVUZXN0RnVuY3Rpb24gY3JlYXRlVGVzdEZ1bmN0aW9uID0gbV9jcmVhdGVUZXN0RnVu
Y3Rpb25zW2lkZW50aWZpZXJdOwotICAgIGlmICghY3JlYXRlVGVzdEZ1bmN0aW9uKSB7Ci0gICAg
ICAgIHByaW50ZigiRVJST1I6IFRlc3Qgbm90IGZvdW5kIC0gJXNcbiIsIGlkZW50aWZpZXIuY19z
dHIoKSk7Ci0gICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBmb3IgKGludCBpID0gMDsgaSA8IHVu
aXRfdGVzdC0+dG90YWxfdGVzdF9jYXNlX2NvdW50KCk7IGkrKykgeworICAgICAgICBjb25zdCA6
OnRlc3Rpbmc6OlRlc3RDYXNlKiB0ZXN0X2Nhc2UgPSB1bml0X3Rlc3QtPkdldFRlc3RDYXNlKGkp
OworICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8IHRlc3RfY2FzZS0+dG90YWxfdGVzdF9jb3Vu
dCgpOyBqKyspIHsKKyAgICAgICAgICBjb25zdCA6OnRlc3Rpbmc6OlRlc3RJbmZvKiB0ZXN0X2lu
Zm8gPSB0ZXN0X2Nhc2UtPkdldFRlc3RJbmZvKGopOworICAgICAgICAgIHByaW50ZigiJXMuJXNc
biIsIHRlc3RfY2FzZS0+bmFtZSgpLCB0ZXN0X2luZm8tPm5hbWUoKSk7CisgICAgICAgIH0KICAg
ICB9Ci0KLSAgICBtX2N1cnJlbnRUZXN0ID0gY3JlYXRlVGVzdEZ1bmN0aW9uKGlkZW50aWZpZXIp
OwotICAgIG1fY3VycmVudFRlc3QtPnJ1bigpOwotCi0gICAgZGVsZXRlIG1fY3VycmVudFRlc3Q7
Ci0gICAgbV9jdXJyZW50VGVzdCA9IDA7Ci0KLSAgICByZXR1cm4gIW1fdGVzdEZhaWxlZDsKIH0K
IAotdm9pZCBUZXN0c0NvbnRyb2xsZXI6OnRlc3RGYWlsZWQoY29uc3QgY2hhciogZmlsZSwgaW50
IGxpbmUsIGNvbnN0IGNoYXIqIG1lc3NhZ2UpCitib29sIFRlc3RzQ29udHJvbGxlcjo6cnVuVGVz
dE5hbWVkKGNvbnN0IHN0ZDo6c3RyaW5nJiBpZGVudGlmaWVyKQogewotICAgIG1fdGVzdEZhaWxl
ZCA9IHRydWU7Ci0gICAgcHJpbnRmKCJGQUlMOiAlc1xuXHQlcyAoJXM6JWQpXG4iLCBtX2N1cnJl
bnRUZXN0LT5uYW1lKCkuY19zdHIoKSwgbWVzc2FnZSwgZmlsZSwgbGluZSk7CisgICAgOjp0ZXN0
aW5nOjpHVEVTVF9GTEFHKGZpbHRlcikgPSBpZGVudGlmaWVyOworICAgIHJldHVybiAhUlVOX0FM
TF9URVNUUygpOwogfQogCi12b2lkIFRlc3RzQ29udHJvbGxlcjo6cmVnaXN0ZXJDcmVhdGVUZXN0
RnVuY3Rpb24oY29uc3Qgc3RkOjpzdHJpbmcmIGlkZW50aWZpZXIsIENyZWF0ZVRlc3RGdW5jdGlv
biBjcmVhdGVUZXN0RnVuY3Rpb24pCitib29sIFRlc3RzQ29udHJvbGxlcjo6cnVuQWxsVGVzdHMo
KQogewotICAgIG1fY3JlYXRlVGVzdEZ1bmN0aW9uc1tpZGVudGlmaWVyXSA9IGNyZWF0ZVRlc3RG
dW5jdGlvbjsKKyAgICByZXR1cm4gIVJVTl9BTExfVEVTVFMoKTsKIH0KIAogfSAvLyBuYW1lc3Bh
Y2UgVGVzdFdlYktpdEFQSQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0c0Nv
bnRyb2xsZXIuaCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHNDb250cm9sbGVyLmgKaW5kZXgg
MGZmMWZjNy4uZWIyYTk2NyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0c0Nv
bnRyb2xsZXIuaAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzQ29udHJvbGxlci5oCkBA
IC0zOSwyMSArMzksMTEgQEAgcHVibGljOgogCiAgICAgdm9pZCBkdW1wVGVzdE5hbWVzKCk7CiAg
ICAgYm9vbCBydW5UZXN0TmFtZWQoY29uc3Qgc3RkOjpzdHJpbmcmKTsKLQotICAgIC8vIENhbGxl
ZCBieSB0aGUgdGVzdHMgdGhlbXNlbHZlcy4KLSAgICB2b2lkIHRlc3RGYWlsZWQoY29uc3QgY2hh
ciogZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIqIG1lc3NhZ2UpOwotCi0gICAgdHlwZWRlZiBU
ZXN0KiAoKkNyZWF0ZVRlc3RGdW5jdGlvbikoY29uc3Qgc3RkOjpzdHJpbmcmKTsKLSAgICB2b2lk
IHJlZ2lzdGVyQ3JlYXRlVGVzdEZ1bmN0aW9uKGNvbnN0IHN0ZDo6c3RyaW5nJiwgQ3JlYXRlVGVz
dEZ1bmN0aW9uKTsKKyAgICBib29sIHJ1bkFsbFRlc3RzKCk7CiAKIHByaXZhdGU6CiAgICAgVGVz
dHNDb250cm9sbGVyKCk7CiAgICAgflRlc3RzQ29udHJvbGxlcigpOwotCi0gICAgYm9vbCBtX3Rl
c3RGYWlsZWQ7Ci0gICAgVGVzdCogbV9jdXJyZW50VGVzdDsKLQotICAgIHN0ZDo6bWFwPHN0ZDo6
c3RyaW5nLCBDcmVhdGVUZXN0RnVuY3Rpb24+IG1fY3JlYXRlVGVzdEZ1bmN0aW9uczsKIH07CiAK
IH0gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvbWFjL21haW4ubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9tYWluLm1tCmluZGV4
IGU2ZGQ0YTYuLmU3ZGRlYzQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL21h
aW4ubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvbWFpbi5tbQpAQCAtMzMsMTEgKzMz
LDE1IEBAIGludCBtYWluKGludCBhcmdjLCBjb25zdCBjaGFyKiBhcmd2W10pCiAKICAgICBib29s
IHBhc3NlZCA9IHRydWU7CiAKLSAgICBzdGQ6OnN0cmluZyBhcmd1bWVudChhcmd2WzFdKTsKLSAg
ICBpZiAoYXJndW1lbnQgPT0gIi0tZHVtcC10ZXN0cyIpCi0gICAgICAgIFRlc3RXZWJLaXRBUEk6
OlRlc3RzQ29udHJvbGxlcjo6c2hhcmVkKCkuZHVtcFRlc3ROYW1lcygpOwotICAgIGVsc2UgICAK
LSAgICAgICAgcGFzc2VkID0gVGVzdFdlYktpdEFQSTo6VGVzdHNDb250cm9sbGVyOjpzaGFyZWQo
KS5ydW5UZXN0TmFtZWQoYXJndW1lbnQpOworICAgIGlmIChhcmdjID09IDEpCisgICAgICAgIHBh
c3NlZCA9IFRlc3RXZWJLaXRBUEk6OlRlc3RzQ29udHJvbGxlcjo6c2hhcmVkKCkucnVuQWxsVGVz
dHMoKTsKKyAgICBlbHNlIHsKKyAgICAgICAgc3RkOjpzdHJpbmcgYXJndW1lbnQoYXJndlsxXSk7
CisgICAgICAgIGlmIChhcmd1bWVudCA9PSAiLS1kdW1wLXRlc3RzIikKKyAgICAgICAgICAgIFRl
c3RXZWJLaXRBUEk6OlRlc3RzQ29udHJvbGxlcjo6c2hhcmVkKCkuZHVtcFRlc3ROYW1lcygpOwor
ICAgICAgICBlbHNlCisgICAgICAgICAgICBwYXNzZWQgPSBUZXN0V2ViS2l0QVBJOjpUZXN0c0Nv
bnRyb2xsZXI6OnNoYXJlZCgpLnJ1blRlc3ROYW1lZChhcmd1bWVudCk7CisgICAgfQogCiAgICAg
W3Bvb2wgZHJhaW5dOwogCg==
</data>
<flag name="review"
          id="86130"
          type_id="1"
          status="-"
          setter="dslomov"
    />
    <flag name="commit-queue"
          id="86131"
          type_id="3"
          status="-"
          setter="dslomov"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93047</attachid>
            <date>2011-05-10 16:40:10 -0700</date>
            <delta_ts>2011-05-11 10:03:04 -0700</delta_ts>
            <desc>Updated patch</desc>
            <filename>gtest.patch</filename>
            <type>text/plain</type>
            <size>39407</size>
            <attacher name="Dmitry Lomov">dslomov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCAxNDNjODQ0Li45MjE1YzZk
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDcgKzEsMjEgQEAK
KzIwMTEtMDUtMTAgIERtaXRyeSBMb21vdiAgPGRzbG9tb3ZAZ29vZ2xlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk1NjEKKyAgICAgICAgU3dpdGNoIFRlc3RXZWJLaXRB
UEkgdG8gR1Rlc3QKKworICAgICAgICBGaXhlcyBNYWtlZmlsZXMgYW5kIFdpbkNhaXJvIGJ1aWxk
IGFzIHdlbGwKKworICAgICAgICAqIFNvdXJjZS9UaGlyZFBhcnR5L2d0ZXN0L1JFQURNRS5XZWJL
aXQ6CisgICAgICAgICogU291cmNlL1RoaXJkUGFydHkvZ3Rlc3QvbXN2Yy9ndGVzdC1tZC52Y3By
b2o6CisgICAgICAgICogU291cmNlL1RoaXJkUGFydHkvZ3Rlc3QveGNvZGUvQ29uZmlnL0dlbmVy
YWwueGNjb25maWc6CisgICAgICAgICogU291cmNlL1RoaXJkUGFydHkvZ3Rlc3QveGNvZGUvTWFr
ZWZpbGU6IEFkZGVkLgorCiAyMDExLTA1LTA5ICBEbWl0cnkgTG9tb3YgIDxkc2xvbW92QGdvb2ds
ZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KLSAgICAgICAgCisKICAg
ICAgICAgU3dpdGNoIFRlc3RXZWJLaXRBUEkgdG8gR1Rlc3QKICAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU5NTYxCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9U
aGlyZFBhcnR5L2d0ZXN0L1JFQURNRS5XZWJLaXQgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9ndGVzdC9S
RUFETUUuV2ViS2l0CmluZGV4IDFiZTI5NjkuLmRkZjIxODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9U
aGlyZFBhcnR5L2d0ZXN0L1JFQURNRS5XZWJLaXQKKysrIGIvU291cmNlL1RoaXJkUGFydHkvZ3Rl
c3QvUkVBRE1FLldlYktpdApAQCAtMSwzICsxLDYgQEAKIEdUZXN0IHYuMS41LjAKIAogaHR0cDov
L2dvb2dsZXRlc3QuZ29vZ2xlY29kZS5jb20vc3ZuL3RhZ3MvcmVsZWFzZS0xLjUuMC8gCisKKzIw
MTEtMDUtMDYgRG1pdHJ5IExvbW92IChkc2xvbW92QGdvb2dsZS5jb20pCisgICAgICBndGVzdC1t
ZC52Y3Byb2ogdXBncmFkZWQgdG8gVlMgMjAwNSAoOC4wKSBmb3JtYXQgdG8gbWF0Y2ggdGhlIHJl
c3Qgb2YgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9ndGVzdC9tc3ZjL2d0
ZXN0LW1kLnZjcHJvaiBiL1NvdXJjZS9UaGlyZFBhcnR5L2d0ZXN0L21zdmMvZ3Rlc3QtbWQudmNw
cm9qCmluZGV4IDljZTRiOTYuLmIxNjBlMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5
L2d0ZXN0L21zdmMvZ3Rlc3QtbWQudmNwcm9qCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2d0ZXN0
L21zdmMvZ3Rlc3QtbWQudmNwcm9qCkBAIC0xLDk1ICsxLDI2NyBAQAogPD94bWwgdmVyc2lvbj0i
MS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+CiA8VmlzdWFsU3R1ZGlvUHJvamVjdAogCVBy
b2plY3RUeXBlPSJWaXN1YWwgQysrIgotCVZlcnNpb249IjcuMTAiCisJVmVyc2lvbj0iOC4wMCIK
IAlOYW1lPSJndGVzdC1tZCIKIAlQcm9qZWN0R1VJRD0ie0M4RjZDMTcyLTU2RjItNEU3Ni1CNUZB
LUMzQjQyM0IzMUJFOH0iCi0JS2V5d29yZD0iV2luMzJQcm9qIj4KKwlSb290TmFtZXNwYWNlPSJn
dGVzdC1tZCIKKwlLZXl3b3JkPSJXaW4zMlByb2oiCisJPgogCTxQbGF0Zm9ybXM+CiAJCTxQbGF0
Zm9ybQotCQkJTmFtZT0iV2luMzIiLz4KKwkJCU5hbWU9IldpbjMyIgorCQkvPgogCTwvUGxhdGZv
cm1zPgorCTxUb29sRmlsZXM+CisJPC9Ub29sRmlsZXM+CiAJPENvbmZpZ3VyYXRpb25zPgogCQk8
Q29uZmlndXJhdGlvbgogCQkJTmFtZT0iRGVidWd8V2luMzIiCi0JCQlPdXRwdXREaXJlY3Rvcnk9
IiQoU29sdXRpb25OYW1lKS8kKENvbmZpZ3VyYXRpb25OYW1lKSIKLQkJCUludGVybWVkaWF0ZURp
cmVjdG9yeT0iJChPdXREaXIpLyQoUHJvamVjdE5hbWUpIgorCQkJT3V0cHV0RGlyZWN0b3J5PSIk
KENvbmZpZ3VyYXRpb25CdWlsZERpcilcbGliIgogCQkJQ29uZmlndXJhdGlvblR5cGU9IjQiCisJ
CQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iJChQcm9qZWN0RGlyKVwuLlwuLlwuLlwuLlxXZWJL
aXRMaWJyYXJpZXNcd2luXHRvb2xzXHZzcHJvcHNcY29tbW9uLnZzcHJvcHMiCiAJCQlDaGFyYWN0
ZXJTZXQ9IjIiCi0JCQlSZWZlcmVuY2VzUGF0aD0iIj4KKwkJCT4KKwkJCTxUb29sCisJCQkJTmFt
ZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCIKKwkJCS8+CisJCQk8VG9vbAorCQkJCU5hbWU9IlZDQ3Vz
dG9tQnVpbGRUb29sIgorCQkJLz4KKwkJCTxUb29sCisJCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJh
dG9yVG9vbCIKKwkJCS8+CisJCQk8VG9vbAorCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2Vu
ZXJhdG9yVG9vbCIKKwkJCS8+CisJCQk8VG9vbAorCQkJCU5hbWU9IlZDTUlETFRvb2wiCisJCQkv
PgogCQkJPFRvb2wKIAkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgogCQkJCU9wdGltaXphdGlv
bj0iMCIKIAkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iV0lOMzI7X0RFQlVHO19MSUIiCi0J
CQkJTWluaW1hbFJlYnVpbGQ9IlRSVUUiCisJCQkJTWluaW1hbFJlYnVpbGQ9InRydWUiCiAJCQkJ
QmFzaWNSdW50aW1lQ2hlY2tzPSIzIgogCQkJCVJ1bnRpbWVMaWJyYXJ5PSIzIgogCQkJCVVzZVBy
ZWNvbXBpbGVkSGVhZGVyPSIwIgogCQkJCVdhcm5pbmdMZXZlbD0iMyIKLQkJCQlEZXRlY3Q2NEJp
dFBvcnRhYmlsaXR5UHJvYmxlbXM9IkZBTFNFIgotCQkJCURlYnVnSW5mb3JtYXRpb25Gb3JtYXQ9
IjQiLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiLz4KLQkJCTxUb29s
Ci0JCQkJTmFtZT0iVkNMaWJyYXJpYW5Ub29sIgotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKS9n
dGVzdGQubGliIi8+CisJCQkJRGV0ZWN0NjRCaXRQb3J0YWJpbGl0eVByb2JsZW1zPSJmYWxzZSIK
KwkJCQlEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PSI0IgorCQkJLz4KIAkJCTxUb29sCi0JCQkJTmFt
ZT0iVkNNSURMVG9vbCIvPgorCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29s
IgorCQkJLz4KIAkJCTxUb29sCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiLz4KKwkJ
CQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIgorCQkJLz4KIAkJCTxUb29sCi0JCQkJTmFt
ZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCIvPgorCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCIK
KwkJCS8+CiAJCQk8VG9vbAotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCIvPgorCQkJCU5h
bWU9IlZDTGlicmFyaWFuVG9vbCIKKwkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilcZ3Rlc3QubGli
IgorCQkJLz4KIAkJCTxUb29sCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCIvPgor
CQkJCU5hbWU9IlZDQUxpbmtUb29sIgorCQkJLz4KIAkJCTxUb29sCi0JCQkJTmFtZT0iVkNXZWJT
ZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIi8+CisJCQkJTmFtZT0iVkNYRENNYWtlVG9vbCIKKwkJ
CS8+CiAJCQk8VG9vbAotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiLz4KKwkJCQlO
YW1lPSJWQ0JzY01ha2VUb29sIgorCQkJLz4KIAkJCTxUb29sCi0JCQkJTmFtZT0iVkNNYW5hZ2Vk
V3JhcHBlckdlbmVyYXRvclRvb2wiLz4KKwkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCIKKwkJCS8+CiAJ
CQk8VG9vbAotCQkJCU5hbWU9IlZDQXV4aWxpYXJ5TWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29s
Ii8+CisJCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiCisJCQkvPgogCQk8L0NvbmZpZ3Vy
YXRpb24+CiAJCTxDb25maWd1cmF0aW9uCiAJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgotCQkJT3V0
cHV0RGlyZWN0b3J5PSIkKFNvbHV0aW9uTmFtZSkvJChDb25maWd1cmF0aW9uTmFtZSkiCi0JCQlJ
bnRlcm1lZGlhdGVEaXJlY3Rvcnk9IiQoT3V0RGlyKS8kKFByb2plY3ROYW1lKSIKKwkJCU91dHB1
dERpcmVjdG9yeT0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXGxpYiIKIAkJCUNvbmZpZ3VyYXRp
b25UeXBlPSI0IgorCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9IiQoUHJvamVjdERpcilcLi5c
Li5cLi5cLi5cV2ViS2l0TGlicmFyaWVzXHdpblx0b29sc1x2c3Byb3BzXGNvbW1vbi52c3Byb3Bz
IgogCQkJQ2hhcmFjdGVyU2V0PSIyIgotCQkJUmVmZXJlbmNlc1BhdGg9IiZxdW90Oy4uXGluY2x1
ZGUmcXVvdDs7JnF1b3Q7Li4mcXVvdDsiPgorCQkJPgorCQkJPFRvb2wKKwkJCQlOYW1lPSJWQ1By
ZUJ1aWxkRXZlbnRUb29sIgorCQkJLz4KKwkJCTxUb29sCisJCQkJTmFtZT0iVkNDdXN0b21CdWls
ZFRvb2wiCisJCQkvPgorCQkJPFRvb2wKKwkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29s
IgorCQkJLz4KKwkJCTxUb29sCisJCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JU
b29sIgorCQkJLz4KKwkJCTxUb29sCisJCQkJTmFtZT0iVkNNSURMVG9vbCIKKwkJCS8+CiAJCQk8
VG9vbAogCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCiAJCQkJUHJlcHJvY2Vzc29yRGVmaW5p
dGlvbnM9IldJTjMyO05ERUJVRztfTElCIgogCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIgogCQkJCVVz
ZVByZWNvbXBpbGVkSGVhZGVyPSIwIgogCQkJCVdhcm5pbmdMZXZlbD0iMyIKLQkJCQlEZXRlY3Q2
NEJpdFBvcnRhYmlsaXR5UHJvYmxlbXM9IkZBTFNFIgotCQkJCURlYnVnSW5mb3JtYXRpb25Gb3Jt
YXQ9IjMiLz4KKwkJCQlEZXRlY3Q2NEJpdFBvcnRhYmlsaXR5UHJvYmxlbXM9ImZhbHNlIgorCQkJ
CURlYnVnSW5mb3JtYXRpb25Gb3JtYXQ9IjMiCisJCQkvPgorCQkJPFRvb2wKKwkJCQlOYW1lPSJW
Q01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCIKKwkJCS8+CisJCQk8VG9vbAorCQkJCU5hbWU9
IlZDUmVzb3VyY2VDb21waWxlclRvb2wiCisJCQkvPgorCQkJPFRvb2wKKwkJCQlOYW1lPSJWQ1By
ZUxpbmtFdmVudFRvb2wiCisJCQkvPgorCQkJPFRvb2wKKwkJCQlOYW1lPSJWQ0xpYnJhcmlhblRv
b2wiCisJCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXGd0ZXN0LmxpYiIKKwkJCS8+CisJCQk8VG9v
bAorCQkJCU5hbWU9IlZDQUxpbmtUb29sIgorCQkJLz4KKwkJCTxUb29sCisJCQkJTmFtZT0iVkNY
RENNYWtlVG9vbCIKKwkJCS8+CisJCQk8VG9vbAorCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiCisJ
CQkvPgorCQkJPFRvb2wKKwkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCIKKwkJCS8+CisJCQk8VG9vbAor
CQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIgorCQkJLz4KKwkJPC9Db25maWd1cmF0aW9u
PgorCQk8Q29uZmlndXJhdGlvbgorCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgor
CQkJT3V0cHV0RGlyZWN0b3J5PSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcbGliIgorCQkJSW50
ZXJtZWRpYXRlRGlyZWN0b3J5PSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVj
dE5hbWUpIgorCQkJQ29uZmlndXJhdGlvblR5cGU9IjQiCisJCQlJbmhlcml0ZWRQcm9wZXJ0eVNo
ZWV0cz0iJChQcm9qZWN0RGlyKVwuLlwuLlwuLlwuLlxXZWJLaXRMaWJyYXJpZXNcd2luXHRvb2xz
XHZzcHJvcHNcY29tbW9uLnZzcHJvcHMiCisJCQlDaGFyYWN0ZXJTZXQ9IjIiCisJCQk+CisJCQk8
VG9vbAorCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiCisJCQkvPgorCQkJPFRvb2wKKwkJ
CQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCIKKwkJCS8+CisJCQk8VG9vbAorCQkJCU5hbWU9IlZD
WE1MRGF0YUdlbmVyYXRvclRvb2wiCisJCQkvPgorCQkJPFRvb2wKKwkJCQlOYW1lPSJWQ1dlYlNl
cnZpY2VQcm94eUdlbmVyYXRvclRvb2wiCisJCQkvPgorCQkJPFRvb2wKKwkJCQlOYW1lPSJWQ01J
RExUb29sIgorCQkJLz4KKwkJCTxUb29sCisJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJ
CQlPcHRpbWl6YXRpb249IjAiCisJCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO19E
RUJVRztfTElCIgorCQkJCU1pbmltYWxSZWJ1aWxkPSJ0cnVlIgorCQkJCUJhc2ljUnVudGltZUNo
ZWNrcz0iMyIKKwkJCQlSdW50aW1lTGlicmFyeT0iMyIKKwkJCQlVc2VQcmVjb21waWxlZEhlYWRl
cj0iMCIKKwkJCQlXYXJuaW5nTGV2ZWw9IjMiCisJCQkJRGV0ZWN0NjRCaXRQb3J0YWJpbGl0eVBy
b2JsZW1zPSJmYWxzZSIKKwkJCQlEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PSI0IgorCQkJLz4KKwkJ
CTxUb29sCisJCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiCisJCQkvPgog
CQkJPFRvb2wKLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCIvPgorCQkJCU5hbWU9IlZDUmVz
b3VyY2VDb21waWxlclRvb2wiCisJCQkvPgorCQkJPFRvb2wKKwkJCQlOYW1lPSJWQ1ByZUxpbmtF
dmVudFRvb2wiCisJCQkvPgogCQkJPFRvb2wKIAkJCQlOYW1lPSJWQ0xpYnJhcmlhblRvb2wiCi0J
CQkJT3V0cHV0RmlsZT0iJChPdXREaXIpL2d0ZXN0LmxpYiIvPgorCQkJCU91dHB1dEZpbGU9IiQo
T3V0RGlyKVxndGVzdC5saWIiCisJCQkvPgorCQkJPFRvb2wKKwkJCQlOYW1lPSJWQ0FMaW5rVG9v
bCIKKwkJCS8+CisJCQk8VG9vbAorCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiCisJCQkvPgorCQkJ
PFRvb2wKKwkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIgorCQkJLz4KKwkJCTxUb29sCisJCQkJTmFt
ZT0iVkNGeENvcFRvb2wiCisJCQkvPgorCQkJPFRvb2wKKwkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2
ZW50VG9vbCIKKwkJCS8+CisJCTwvQ29uZmlndXJhdGlvbj4KKwkJPENvbmZpZ3VyYXRpb24KKwkJ
CU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJT3V0cHV0RGlyZWN0b3J5PSIk
KENvbmZpZ3VyYXRpb25CdWlsZERpcilcbGliIgorCQkJSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSIk
KENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpIgorCQkJQ29uZmlndXJh
dGlvblR5cGU9IjQiCisJCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iJChQcm9qZWN0RGlyKVwu
LlwuLlwuLlwuLlxXZWJLaXRMaWJyYXJpZXNcd2luXHRvb2xzXHZzcHJvcHNcY29tbW9uLnZzcHJv
cHMiCisJCQlDaGFyYWN0ZXJTZXQ9IjIiCisJCQk+CisJCQk8VG9vbAorCQkJCU5hbWU9IlZDUHJl
QnVpbGRFdmVudFRvb2wiCisJCQkvPgorCQkJPFRvb2wKKwkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxk
VG9vbCIKKwkJCS8+CisJCQk8VG9vbAorCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wi
CisJCQkvPgorCQkJPFRvb2wKKwkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRv
b2wiCisJCQkvPgogCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ01JRExUb29sIi8+CisJCQkJTmFtZT0i
VkNNSURMVG9vbCIKKwkJCS8+CiAJCQk8VG9vbAotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRU
b29sIi8+CisJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQlQcmVwcm9jZXNzb3JEZWZp
bml0aW9ucz0iV0lOMzI7TkRFQlVHO19MSUIiCisJCQkJUnVudGltZUxpYnJhcnk9IjIiCisJCQkJ
VXNlUHJlY29tcGlsZWRIZWFkZXI9IjAiCisJCQkJV2FybmluZ0xldmVsPSIzIgorCQkJCURldGVj
dDY0Qml0UG9ydGFiaWxpdHlQcm9ibGVtcz0iZmFsc2UiCisJCQkJRGVidWdJbmZvcm1hdGlvbkZv
cm1hdD0iMyIKKwkJCS8+CisJCQk8VG9vbAorCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29t
cGlsZXJUb29sIgorCQkJLz4KKwkJCTxUb29sCisJCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVy
VG9vbCIKKwkJCS8+CiAJCQk8VG9vbAotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiLz4K
KwkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiCisJCQkvPgogCQkJPFRvb2wKLQkJCQlOYW1l
PSJWQ1ByZUxpbmtFdmVudFRvb2wiLz4KKwkJCQlOYW1lPSJWQ0xpYnJhcmlhblRvb2wiCisJCQkJ
T3V0cHV0RmlsZT0iJChPdXREaXIpXGd0ZXN0LmxpYiIKKwkJCS8+CiAJCQk8VG9vbAotCQkJCU5h
bWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiLz4KKwkJCQlOYW1lPSJWQ0FMaW5rVG9vbCIKKwkJ
CS8+CiAJCQk8VG9vbAotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCIv
PgorCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiCisJCQkvPgogCQkJPFRvb2wKLQkJCQlOYW1lPSJW
Q1hNTERhdGFHZW5lcmF0b3JUb29sIi8+CisJCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCIKKwkJCS8+
CiAJCQk8VG9vbAotCQkJCU5hbWU9IlZDTWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+CisJ
CQkJTmFtZT0iVkNGeENvcFRvb2wiCisJCQkvPgogCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ0F1eGls
aWFyeU1hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPgorCQkJCU5hbWU9IlZDUG9zdEJ1aWxk
RXZlbnRUb29sIgorCQkJLz4KIAkJPC9Db25maWd1cmF0aW9uPgogCTwvQ29uZmlndXJhdGlvbnM+
CiAJPFJlZmVyZW5jZXM+CkBAIC05OCwxMzcgKzI3MCwyNzcgQEAKIAkJPEZpbHRlcgogCQkJTmFt
ZT0iU291cmNlIEZpbGVzIgogCQkJRmlsdGVyPSJjcHA7YztjeHg7ZGVmO29kbDtpZGw7aHBqO2Jh
dDthc207YXNteCIKLQkJCVVuaXF1ZUlkZW50aWZpZXI9Ins0RkM3MzdGMS1DN0E1LTQzNzYtQTA2
Ni0yQTMyRDc1MkEyRkZ9Ij4KKwkJCVVuaXF1ZUlkZW50aWZpZXI9Ins0RkM3MzdGMS1DN0E1LTQz
NzYtQTA2Ni0yQTMyRDc1MkEyRkZ9IgorCQkJPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXHNyY1xndGVzdC1kZWF0aC10ZXN0LmNjIj4KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHNyY1xn
dGVzdC1kZWF0aC10ZXN0LmNjIgorCQkJCT4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJ
TmFtZT0iRGVidWd8V2luMzIiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xD
b21waWxlclRvb2wiCisJCQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSImcXVvdDsu
LiZxdW90OzsmcXVvdDsuLlxpbmNsdWRlJnF1b3Q7IgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2V8V2lu
MzIiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJ
CQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSImcXVvdDsuLiZxdW90OzsmcXVvdDsu
LlxpbmNsdWRlJnF1b3Q7IgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQkJ
PEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5hbWU9IkRlYnVnfFdpbjMyIj4KKwkJCQkJTmFtZT0i
RGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQk+CiAJCQkJCTxUb29sCiAJCQkJCQlOYW1l
PSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0i
JnF1b3Q7Li4mcXVvdDs7JnF1b3Q7Li5caW5jbHVkZSZxdW90OyIvPgorCQkJCQkJQWRkaXRpb25h
bEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7Li4mcXVvdDs7JnF1b3Q7Li5caW5jbHVkZSZxdW90
OyIKKwkJCQkJLz4KIAkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgogCQkJCTxGaWxlQ29uZmlndXJh
dGlvbgotCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIj4KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWly
b19DRkxpdGV8V2luMzIiCisJCQkJCT4KIAkJCQkJPFRvb2wKIAkJCQkJCU5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiCi0JCQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSImcXVvdDsuLiZx
dW90OzsmcXVvdDsuLlxpbmNsdWRlJnF1b3Q7Ii8+CisJCQkJCQlBZGRpdGlvbmFsSW5jbHVkZURp
cmVjdG9yaWVzPSImcXVvdDsuLiZxdW90OzsmcXVvdDsuLlxpbmNsdWRlJnF1b3Q7IgorCQkJCQkv
PgogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJl
bGF0aXZlUGF0aD0iLi5cc3JjXGd0ZXN0LWZpbGVwYXRoLmNjIj4KKwkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXHNyY1xndGVzdC1maWxlcGF0aC5jYyIKKwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9u
CisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1l
PSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0i
JnF1b3Q7Li4mcXVvdDs7JnF1b3Q7Li5caW5jbHVkZSZxdW90OyIKKwkJCQkJLz4KKwkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxl
YXNlfFdpbjMyIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJU
b29sIgorCQkJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7Li4mcXVvdDs7
JnF1b3Q7Li5caW5jbHVkZSZxdW90OyIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
PgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiI+CisJCQkJ
CU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJPgogCQkJCQk8VG9vbAogCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0
b3JpZXM9IiZxdW90Oy4uJnF1b3Q7OyZxdW90Oy4uXGluY2x1ZGUmcXVvdDsiLz4KKwkJCQkJCUFk
ZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90Oy4uJnF1b3Q7OyZxdW90Oy4uXGluY2x1
ZGUmcXVvdDsiCisJCQkJCS8+CiAJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KIAkJCQk8RmlsZUNv
bmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiI+CisJCQkJCU5hbWU9IlJlbGVh
c2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQk+CiAJCQkJCTxUb29sCiAJCQkJCQlOYW1lPSJW
Q0NMQ29tcGlsZXJUb29sIgotCQkJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1
b3Q7Li4mcXVvdDs7JnF1b3Q7Li5caW5jbHVkZSZxdW90OyIvPgorCQkJCQkJQWRkaXRpb25hbElu
Y2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7Li4mcXVvdDs7JnF1b3Q7Li5caW5jbHVkZSZxdW90OyIK
KwkJCQkJLz4KIAkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgogCQkJPC9GaWxlPgogCQkJPEZpbGUK
LQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHNyY1xndGVzdC1wb3J0LmNjIj4KKwkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXHNyY1xndGVzdC1wb3J0LmNjIgorCQkJCT4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24K
KwkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9
IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIm
cXVvdDsuLiZxdW90OzsmcXVvdDsuLlxpbmNsdWRlJnF1b3Q7IgorCQkJCQkvPgorCQkJCTwvRmls
ZUNvbmZpZ3VyYXRpb24+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5hbWU9IkRlYnVn
fFdpbjMyIj4KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJPgogCQkJCQk8VG9vbAog
CQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGly
ZWN0b3JpZXM9IiZxdW90Oy4uJnF1b3Q7OyZxdW90Oy4uXGluY2x1ZGUmcXVvdDsiLz4KKwkJCQkJ
CUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90Oy4uJnF1b3Q7OyZxdW90Oy4uXGlu
Y2x1ZGUmcXVvdDsiCisJCQkJCS8+CiAJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KIAkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiI+CisJCQkJCU5hbWU9IkRl
YnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJPgogCQkJCQk8VG9vbAogCQkJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZx
dW90Oy4uJnF1b3Q7OyZxdW90Oy4uXGluY2x1ZGUmcXVvdDsiLz4KKwkJCQkJCUFkZGl0aW9uYWxJ
bmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90Oy4uJnF1b3Q7OyZxdW90Oy4uXGluY2x1ZGUmcXVvdDsi
CisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCT4KKwkJCQkJ
PFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQlBZGRpdGlvbmFsSW5j
bHVkZURpcmVjdG9yaWVzPSImcXVvdDsuLiZxdW90OzsmcXVvdDsuLlxpbmNsdWRlJnF1b3Q7Igor
CQkJCQkvPgogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQot
CQkJCVJlbGF0aXZlUGF0aD0iLi5cc3JjXGd0ZXN0LXRlc3QtcGFydC5jYyI+CisJCQkJUmVsYXRp
dmVQYXRoPSIuLlxzcmNcZ3Rlc3QtdGVzdC1wYXJ0LmNjIgorCQkJCT4KKwkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVj
dG9yaWVzPSImcXVvdDsuLiZxdW90OzsmcXVvdDsuLlxpbmNsdWRlJnF1b3Q7IgorCQkJCQkvPgor
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5h
bWU9IkRlYnVnfFdpbjMyIj4KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJPgogCQkJ
CQk8VG9vbAogCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJCUFkZGl0aW9uYWxJ
bmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90Oy4uJnF1b3Q7OyZxdW90Oy4uXGluY2x1ZGUmcXVvdDsi
Lz4KKwkJCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90Oy4uJnF1b3Q7OyZx
dW90Oy4uXGluY2x1ZGUmcXVvdDsiCisJCQkJCS8+CiAJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4K
IAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiI+CisJCQkJ
CU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJPgogCQkJCQk8VG9vbAogCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0
b3JpZXM9IiZxdW90Oy4uJnF1b3Q7OyZxdW90Oy4uXGluY2x1ZGUmcXVvdDsiLz4KKwkJCQkJCUFk
ZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90Oy4uJnF1b3Q7OyZxdW90Oy4uXGluY2x1
ZGUmcXVvdDsiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNv
bmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJ
CT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQlBZGRp
dGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSImcXVvdDsuLiZxdW90OzsmcXVvdDsuLlxpbmNsdWRl
JnF1b3Q7IgorCQkJCQkvPgogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQk8L0ZpbGU+CiAJ
CQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cc3JjXGd0ZXN0LXR5cGVkLXRlc3QuY2MiPgor
CQkJCVJlbGF0aXZlUGF0aD0iLi5cc3JjXGd0ZXN0LXR5cGVkLXRlc3QuY2MiCisJCQkJPgorCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJPgorCQkJ
CQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCUFkZGl0aW9uYWxJ
bmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90Oy4uJnF1b3Q7OyZxdW90Oy4uXGluY2x1ZGUmcXVvdDsi
CisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24KLQkJCQkJTmFtZT0iRGVidWd8V2luMzIiPgorCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgor
CQkJCQk+CiAJCQkJCTxUb29sCiAJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkJ
QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7Li4mcXVvdDs7JnF1b3Q7Li5caW5j
bHVkZSZxdW90OyIvPgorCQkJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7
Li4mcXVvdDs7JnF1b3Q7Li5caW5jbHVkZSZxdW90OyIKKwkJCQkJLz4KIAkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJSZWxlYXNlfFdp
bjMyIj4KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQk+CiAJCQkJ
CTxUb29sCiAJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkJQWRkaXRpb25hbElu
Y2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7Li4mcXVvdDs7JnF1b3Q7Li5caW5jbHVkZSZxdW90OyIv
PgorCQkJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7Li4mcXVvdDs7JnF1
b3Q7Li5caW5jbHVkZSZxdW90OyIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgor
CQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxX
aW4zMiIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIK
KwkJCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90Oy4uJnF1b3Q7OyZxdW90
Oy4uXGluY2x1ZGUmcXVvdDsiCisJCQkJCS8+CiAJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KIAkJ
CTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxzcmNcZ3Rlc3QuY2MiPgor
CQkJCVJlbGF0aXZlUGF0aD0iLi5cc3JjXGd0ZXN0LmNjIgorCQkJCT4KKwkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVj
dG9yaWVzPSImcXVvdDsuLiZxdW90OzsmcXVvdDsuLlxpbmNsdWRlJnF1b3Q7IgorCQkJCQkvPgor
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5h
bWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xD
b21waWxlclRvb2wiCisJCQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSImcXVvdDsu
LiZxdW90OzsmcXVvdDsuLlxpbmNsdWRlJnF1b3Q7IgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5hbWU9IkRlYnVnfFdpbjMy
Ij4KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQk+CiAJCQkJCTxU
b29sCiAJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkJQWRkaXRpb25hbEluY2x1
ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7Li4mcXVvdDs7JnF1b3Q7Li5caW5jbHVkZSZxdW90OyIvPgor
CQkJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7Li4mcXVvdDs7JnF1b3Q7
Li5caW5jbHVkZSZxdW90OyIKKwkJCQkJLz4KIAkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgogCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIj4KKwkJCQkJTmFt
ZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCT4KIAkJCQkJPFRvb2wKIAkJCQkJ
CU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9y
aWVzPSImcXVvdDsuLiZxdW90OzsmcXVvdDsuLlxpbmNsdWRlJnF1b3Q7Ii8+CisJCQkJCQlBZGRp
dGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSImcXVvdDsuLiZxdW90OzsmcXVvdDsuLlxpbmNsdWRl
JnF1b3Q7IgorCQkJCQkvPgogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQk8L0ZpbGU+CiAJ
CTwvRmlsdGVyPgogCQk8RmlsdGVyCiAJCQlOYW1lPSJIZWFkZXIgRmlsZXMiCiAJCQlGaWx0ZXI9
Img7aHBwO2h4eDtobTtpbmw7aW5jO3hzZCIKLQkJCVVuaXF1ZUlkZW50aWZpZXI9Ins5Mzk5NTM4
MC04OUJELTRiMDQtODhFQi02MjVGQkU1MkVCRkJ9Ij4KKwkJCVVuaXF1ZUlkZW50aWZpZXI9Ins5
Mzk5NTM4MC04OUJELTRiMDQtODhFQi02MjVGQkU1MkVCRkJ9IgorCQkJPgogCQkJPEZpbGUKLQkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXGluY2x1ZGVcZ3Rlc3RcaW50ZXJuYWxcZ3Rlc3QtZGVhdGgtdGVz
dC1pbnRlcm5hbC5oIj4KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluY2x1ZGVcZ3Rlc3RcaW50ZXJu
YWxcZ3Rlc3QtZGVhdGgtdGVzdC1pbnRlcm5hbC5oIgorCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxG
aWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxpbmNsdWRlXGd0ZXN0XGd0ZXN0LWRlYXRoLXRlc3Qu
aCI+CisJCQkJUmVsYXRpdmVQYXRoPSIuLlxpbmNsdWRlXGd0ZXN0XGd0ZXN0LWRlYXRoLXRlc3Qu
aCIKKwkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5j
bHVkZVxndGVzdFxpbnRlcm5hbFxndGVzdC1maWxlcGF0aC5oIj4KKwkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXGluY2x1ZGVcZ3Rlc3RcaW50ZXJuYWxcZ3Rlc3QtZmlsZXBhdGguaCIKKwkJCQk+CiAJCQk8
L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cc3JjXGd0ZXN0LWludGVybmFs
LWlubC5oIj4KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHNyY1xndGVzdC1pbnRlcm5hbC1pbmwuaCIK
KwkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5jbHVk
ZVxndGVzdFxpbnRlcm5hbFxndGVzdC1pbnRlcm5hbC5oIj4KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XGluY2x1ZGVcZ3Rlc3RcaW50ZXJuYWxcZ3Rlc3QtaW50ZXJuYWwuaCIKKwkJCQk+CiAJCQk8L0Zp
bGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5jbHVkZVxndGVzdFxndGVzdC1t
ZXNzYWdlLmgiPgorCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5jbHVkZVxndGVzdFxndGVzdC1tZXNz
YWdlLmgiCisJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XGluY2x1ZGVcZ3Rlc3RcaW50ZXJuYWxcZ3Rlc3QtcG9ydC5oIj4KKwkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXGluY2x1ZGVcZ3Rlc3RcaW50ZXJuYWxcZ3Rlc3QtcG9ydC5oIgorCQkJCT4KIAkJCTwvRmls
ZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxpbmNsdWRlXGd0ZXN0XGd0ZXN0LXNw
aS5oIj4KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluY2x1ZGVcZ3Rlc3RcZ3Rlc3Qtc3BpLmgiCisJ
CQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluY2x1ZGVc
Z3Rlc3RcaW50ZXJuYWxcZ3Rlc3Qtc3RyaW5nLmgiPgorCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5j
bHVkZVxndGVzdFxpbnRlcm5hbFxndGVzdC1zdHJpbmcuaCIKKwkJCQk+CiAJCQk8L0ZpbGU+CiAJ
CQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5jbHVkZVxndGVzdFxndGVzdC5oIj4KKwkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXGluY2x1ZGVcZ3Rlc3RcZ3Rlc3QuaCIKKwkJCQk+CiAJCQk8L0Zp
bGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5jbHVkZVxndGVzdFxndGVzdF9w
cmVkX2ltcGwuaCI+CisJCQkJUmVsYXRpdmVQYXRoPSIuLlxpbmNsdWRlXGd0ZXN0XGd0ZXN0X3By
ZWRfaW1wbC5oIgorCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRo
PSIuLlxpbmNsdWRlXGd0ZXN0XGd0ZXN0X3Byb2QuaCI+CisJCQkJUmVsYXRpdmVQYXRoPSIuLlxp
bmNsdWRlXGd0ZXN0XGd0ZXN0X3Byb2QuaCIKKwkJCQk+CiAJCQk8L0ZpbGU+CiAJCTwvRmlsdGVy
PgogCTwvRmlsZXM+CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9ndGVzdC94Y29kZS9D
b25maWcvR2VuZXJhbC54Y2NvbmZpZyBiL1NvdXJjZS9UaGlyZFBhcnR5L2d0ZXN0L3hjb2RlL0Nv
bmZpZy9HZW5lcmFsLnhjY29uZmlnCmluZGV4IGYyM2UzMjIuLjE4OTc2ZDIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9UaGlyZFBhcnR5L2d0ZXN0L3hjb2RlL0NvbmZpZy9HZW5lcmFsLnhjY29uZmlnCisr
KyBiL1NvdXJjZS9UaGlyZFBhcnR5L2d0ZXN0L3hjb2RlL0NvbmZpZy9HZW5lcmFsLnhjY29uZmln
CkBAIC04LDcgKzgsNyBAQAogLy8gCiAKIC8vIEJ1aWxkIGZvciBQUEMgYW5kIEludGVsLCAzMi0g
YW5kIDY0LWJpdAotQVJDSFMgPSBpMzg2IHg4Nl82NCBwcGMgcHBjNjQKK0FSQ0hTID0gaTM4NiB4
ODZfNjQKIAogLy8gWmVyb2xpbmsgcHJldmVudHMgbGluayB3YXJuaW5ncyBzbyB0dXJuIGl0IG9m
ZgogWkVST19MSU5LID0gTk8KQEAgLTMyLDEwICszMiw0NCBAQCBBTFdBWVNfU0VBUkNIX1VTRVJf
UEFUSFMgPSBOTwogLy8gVHVybiBvbiBwb3NpdGlvbiBkZXBlbmRlbnQgY29kZSBmb3IgbW9zdCBj
YXNlcyAob3ZlcnJpZGRlbiB3aGVyZSBhcHByb3ByaWF0ZSkKIEdDQ19EWU5BTUlDX05PX1BJQyA9
IFlFUwogCi0vLyBEZWZhdWx0IFNESyBhbmQgbWluaW11bSBPUyB2ZXJzaW9uIGlzIDEwLjQKLVNE
S1JPT1QgPSAkKERFVkVMT1BFUl9TREtfRElSKS9NYWNPU1gxMC40dS5zZGsKLU1BQ09TWF9ERVBM
T1lNRU5UX1RBUkdFVCA9IDEwLjQKLUdDQ19WRVJTSU9OID0gNC4wCitUQVJHRVRfTUFDX09TX1hf
VkVSU0lPTl9NQUpPUj1NQUNfT1NfVkVSU0lPTl9NQUpPUgorCisvLyBVc2UgR0NDIDQuMiB3aXRo
IFhjb2RlIDMuMSwgd2hpY2ggaW5jbHVkZXMgR0NDIDQuMiBidXQgZGVmYXVsdHMgdG8gR0NDIDQu
MC4KKy8vIE5vdGUgdGhhdCBYY29kZSB2ZXJzaW9ucyBhcyBuZXcgYXMgMy4xLjIgdXNlIFhDT0RF
X1ZFUlNJT05fQUNUVUFMIGZvciB0aGUgbWlub3IgdmVyc2lvbgorLy8gbnVtYmVyLiBOZXdlciB2
ZXJzaW9ucyBvZiBYY29kZSB1c2UgWENPREVfVkVSU0lPTl9NSU5PUiBmb3IgdGhlIG1pbm9yIHZl
cnNpb24sIGFuZAorLy8gWENPREVfVkVSU0lPTl9BQ1RVQUwgZm9yIHRoZSBmdWxsIHZlcnNpb24g
bnVtYmVyLgorVEFSR0VUX0dDQ19WRVJTSU9OID0gJChUQVJHRVRfR0NDX1ZFUlNJT05fJChSRUFM
X1BMQVRGT1JNX05BTUUpKTsKK1RBUkdFVF9HQ0NfVkVSU0lPTl9pcGhvbmVvcyA9IExMVk1fR0ND
XzQyOworVEFSR0VUX0dDQ19WRVJTSU9OX2lwaG9uZXNpbXVsYXRvciA9IEdDQ180MjsKK1RBUkdF
VF9HQ0NfVkVSU0lPTl9tYWNvc3ggPSAkKFRBUkdFVF9HQ0NfVkVSU0lPTl9tYWNvc3hfJChUQVJH
RVRfTUFDX09TX1hfVkVSU0lPTl9NQUpPUikpOworVEFSR0VUX0dDQ19WRVJTSU9OX21hY29zeF8g
PSAkKFRBUkdFVF9HQ0NfVkVSU0lPTl9tYWNvc3hfMTA0MCk7CitUQVJHRVRfR0NDX1ZFUlNJT05f
bWFjb3N4XzEwNDAgPSBHQ0NfNDA7CitUQVJHRVRfR0NDX1ZFUlNJT05fbWFjb3N4XzEwNTAgPSAk
KFRBUkdFVF9HQ0NfVkVSU0lPTl9tYWNvc3hfMTA1MF8kKFhDT0RFX1ZFUlNJT05fTUlOT1IpKTsK
K1RBUkdFVF9HQ0NfVkVSU0lPTl9tYWNvc3hfMTA1MF8gPSAkKFRBUkdFVF9HQ0NfVkVSU0lPTl9t
YWNvc3hfMTA1MF8kKFhDT0RFX1ZFUlNJT05fQUNUVUFMKSk7CitUQVJHRVRfR0NDX1ZFUlNJT05f
bWFjb3N4XzEwNTBfMDMxMCA9IEdDQ180MjsKK1RBUkdFVF9HQ0NfVkVSU0lPTl9tYWNvc3hfMTA1
MF8wMzIwID0gR0NDXzQyOworVEFSR0VUX0dDQ19WRVJTSU9OX21hY29zeF8xMDYwID0gR0NDXzQy
OworVEFSR0VUX0dDQ19WRVJTSU9OX21hY29zeF8xMDcwID0gJChUQVJHRVRfR0NDX1ZFUlNJT05f
bWFjb3N4XzEwNzBfJChDT05GSUdVUkFUSU9OKSk7CitUQVJHRVRfR0NDX1ZFUlNJT05fbWFjb3N4
XzEwNzBfRGVidWcgPSBMTFZNX0NPTVBJTEVSOworVEFSR0VUX0dDQ19WRVJTSU9OX21hY29zeF8x
MDcwX1JlbGVhc2UgPSBMTFZNX0dDQ180MjsKK1RBUkdFVF9HQ0NfVkVSU0lPTl9tYWNvc3hfMTA3
MF9Qcm9kdWN0aW9uID0gTExWTV9HQ0NfNDI7CisKK0dDQ19WRVJTSU9OID0gJChHQ0NfVkVSU0lP
Tl8kKFRBUkdFVF9HQ0NfVkVSU0lPTikpOworR0NDX1ZFUlNJT05fR0NDXzQwID0gNC4wOworR0ND
X1ZFUlNJT05fR0NDXzQyID0gNC4yOworR0NDX1ZFUlNJT05fTExWTV9HQ0NfNDIgPSBjb20uYXBw
bGUuY29tcGlsZXJzLmxsdm1nY2M0MjsKK0dDQ19WRVJTSU9OX0xMVk1fQ09NUElMRVIgPSBjb20u
YXBwbGUuY29tcGlsZXJzLmxsdm0uY2xhbmcuMV8wOworCisvLyBJZiB0aGUgdGFyZ2V0IE1hYyBP
UyBYIHZlcnNpb24gZG9lcyBub3QgbWF0Y2ggdGhlIGN1cnJlbnQgTWFjIE9TIFggdmVyc2lvbiwK
Ky8vIHRoZW4gd2UnbGwgd2FudCB0byBidWlsZCB1c2luZyB0aGUgdGFyZ2V0IHZlcnNpb24ncyBT
REsuCitTREtST09UID0gJChTREtST09UXyQoTUFDX09TX1hfVkVSU0lPTl9NQUpPUilfJChUQVJH
RVRfTUFDX09TX1hfVkVSU0lPTl9NQUpPUikpOworU0RLUk9PVF8xMDUwXzEwNDAgPSBtYWNvc3gx
MC40OworU0RLUk9PVF8xMDYwXzEwNDAgPSBtYWNvc3gxMC40OworU0RLUk9PVF8xMDYwXzEwNTAg
PSBtYWNvc3gxMC41OworU0RLUk9PVF8xMDcwXzEwNDAgPSBtYWNvc3gxMC40OworU0RLUk9PVF8x
MDcwXzEwNTAgPSBtYWNvc3gxMC41OworU0RLUk9PVF8xMDcwXzEwNjAgPSBtYWNvc3gxMC42Owor
CiAKIC8vIFZFUlNJT05JTkcgQlVJTEQgU0VUVElOR1MgKHVzZWQgaW4gSW5mby5wbGlzdCkKIEdU
RVNUX1ZFUlNJT05JTkZPX0FCT1VUID0gIMKpIDIwMDggR29vZ2xlIEluYy4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9UaGlyZFBhcnR5L2d0ZXN0L3hjb2RlL01ha2VmaWxlIGIvU291cmNlL1RoaXJkUGFy
dHkvZ3Rlc3QveGNvZGUvTWFrZWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uMmM4ZTg0OQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2d0ZXN0L3hj
b2RlL01ha2VmaWxlCkBAIC0wLDAgKzEsMiBAQAorU0NSSVBUU19QQVRIID89IC4uLy4uLy4uLy4u
L1Rvb2xzL1NjcmlwdHMKK2luY2x1ZGUgLi4vLi4vLi4vLi4vTWFrZWZpbGUuc2hhcmVkCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbi9D
aGFuZ2VMb2cKaW5kZXggNDA2OGU3OS4uNGRmNTVmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE0IEBACisyMDExLTA1LTEwICBEbWl0cnkgTG9tb3YgIDxkc2xvbW92QGdvb2dsZS5jb20+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU5NTYxCisgICAgICAgIFN3aXRjaCBU
ZXN0V2ViS2l0QVBJIHRvIEdUZXN0CisKKyAgICAgICAgRml4ZXMgTWFrZWZpbGVzIGFuZCBXaW5D
YWlybyBidWlsZCBhcyB3ZWxsCisKKyAgICAgICAgKiBXZWJLaXQudmNwcm9qL1dlYktpdC5zbG46
CisKIDIwMTEtMDUtMDkgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29t
PgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI4NjEwOC4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvd2luL1dlYktpdC52Y3Byb2ovV2ViS2l0LnNsbiBiL1NvdXJjZS9XZWJL
aXQvd2luL1dlYktpdC52Y3Byb2ovV2ViS2l0LnNsbgppbmRleCBiMmI4ZDkyLi5lNDZiZjFiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJLaXQudmNwcm9qL1dlYktpdC5zbG4KKysr
IGIvU291cmNlL1dlYktpdC93aW4vV2ViS2l0LnZjcHJvai9XZWJLaXQuc2xuCkBAIC0xNTMsNiAr
MTUzLDggQEAgUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0i
KSA9ICJUZXN0V2ViS2l0QVBJSW5qZWN0ZWRCdW5kbGUKIAkJezNFNDhBQjIzLUQyNDktNDg4Ri1B
MUM0LTQzQ0RGNTJGQkQyOH0gPSB7M0U0OEFCMjMtRDI0OS00ODhGLUExQzQtNDNDREY1MkZCRDI4
fQogCUVuZFByb2plY3RTZWN0aW9uCiBFbmRQcm9qZWN0CitQcm9qZWN0KCJ7OEJDOUNFQjgtOEI0
QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gImd0ZXN0LW1kIiwgIi4uXC4uXC4uXFRoaXJk
UGFydHlcZ3Rlc3RcbXN2Y1xndGVzdC1tZC52Y3Byb2oiLCAie0M4RjZDMTcyLTU2RjItNEU3Ni1C
NUZBLUMzQjQyM0IzMUJFOH0iCitFbmRQcm9qZWN0CiBHbG9iYWwKIAlHbG9iYWxTZWN0aW9uKFNv
bHV0aW9uQ29uZmlndXJhdGlvblBsYXRmb3JtcykgPSBwcmVTb2x1dGlvbgogCQlEZWJ1Z19BbGx8
V2luMzIgPSBEZWJ1Z19BbGx8V2luMzIKQEAgLTUwOSw2ICs1MTEsMTggQEAgR2xvYmFsCiAJCXtC
MDEwMTYwNC1CNDgzLTRGOEMtOUM1MS05MEI0NkEyQjFDRDN9LlByb2R1Y3Rpb258V2luMzIuQnVp
bGQuMCA9IFByb2R1Y3Rpb258V2luMzIKIAkJe0IwMTAxNjA0LUI0ODMtNEY4Qy05QzUxLTkwQjQ2
QTJCMUNEM30uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyCiAJCXtCMDEw
MTYwNC1CNDgzLTRGOEMtOUM1MS05MEI0NkEyQjFDRDN9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9
IFJlbGVhc2V8V2luMzIKKyAgICAgICAgICAgICAgICB7QzhGNkMxNzItNTZGMi00RTc2LUI1RkEt
QzNCNDIzQjMxQkU4fS5EZWJ1Z19BbGx8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzIKKwkJ
e0M4RjZDMTcyLTU2RjItNEU3Ni1CNUZBLUMzQjQyM0IzMUJFOH0uRGVidWdfQWxsfFdpbjMyLkJ1
aWxkLjAgPSBEZWJ1Z3xXaW4zMgorCQl7QzhGNkMxNzItNTZGMi00RTc2LUI1RkEtQzNCNDIzQjMx
QkU4fS5EZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWdfQ2Fpcm9fQ0ZM
aXRlfFdpbjMyCisJCXtDOEY2QzE3Mi01NkYyLTRFNzYtQjVGQS1DM0I0MjNCMzFCRTh9LkRlYnVn
X0NhaXJvX0NGTGl0ZXxXaW4zMi5CdWlsZC4wID0gRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyCisJ
CXtDOEY2QzE3Mi01NkYyLTRFNzYtQjVGQS1DM0I0MjNCMzFCRTh9LkRlYnVnfFdpbjMyLkFjdGl2
ZUNmZyA9IERlYnVnfFdpbjMyCisJCXtDOEY2QzE3Mi01NkYyLTRFNzYtQjVGQS1DM0I0MjNCMzFC
RTh9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMgorCQl7QzhGNkMxNzItNTZGMi00
RTc2LUI1RkEtQzNCNDIzQjMxQkU4fS5Qcm9kdWN0aW9ufFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVh
c2V8V2luMzIKKwkJe0M4RjZDMTcyLTU2RjItNEU3Ni1CNUZBLUMzQjQyM0IzMUJFOH0uUHJvZHVj
dGlvbnxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMgorCQl7QzhGNkMxNzItNTZGMi00RTc2
LUI1RkEtQzNCNDIzQjMxQkU4fS5SZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMi5BY3RpdmVDZmcg
PSBSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMgorCQl7QzhGNkMxNzItNTZGMi00RTc2LUI1RkEt
QzNCNDIzQjMxQkU4fS5SZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFz
ZV9DYWlyb19DRkxpdGV8V2luMzIKKwkJe0M4RjZDMTcyLTU2RjItNEU3Ni1CNUZBLUMzQjQyM0Iz
MUJFOH0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyCisJCXtDOEY2QzE3
Mi01NkYyLTRFNzYtQjVGQS1DM0I0MjNCMzFCRTh9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJl
bGVhc2V8V2luMzIKIAlFbmRHbG9iYWxTZWN0aW9uCiAJR2xvYmFsU2VjdGlvbihTb2x1dGlvblBy
b3BlcnRpZXMpID0gcHJlU29sdXRpb24KIAkJSGlkZVNvbHV0aW9uTm9kZSA9IEZBTFNFCmRpZmYg
LS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZGFiOTM4My4u
NWFmMTZlZCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI5IEBACisyMDExLTA1LTEwICBEbWl0cnkgTG9tb3YgIDxkc2xvbW92QGdv
b2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU5NTYxCisgICAgICAg
IFN3aXRjaCBUZXN0V2ViS2l0QVBJIHRvIEdUZXN0CisKKyAgICAgICAgRml4ZXMgTWFrZWZpbGVz
IGFuZCBXaW5DYWlybyBidWlsZCBhcyB3ZWxsCisKKyAgICAgICAgKiBNYWtlZmlsZToKKyAgICAg
ICAgKiBTY3JpcHRzL2J1aWxkLWFwaS10ZXN0czoKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1hcGkt
dGVzdHM6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9UZXN0V2ViS2l0
QVBJQ29tbW9uLnZzcHJvcHM6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0Lmg6CisgICAg
ICAgICogVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvVmVjdG9yQmFzaWMuY3BwOgor
ICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9U
ZXN0c0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VGVzdHNDb250cm9s
bGVyOjpUZXN0c0NvbnRyb2xsZXIpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VGVzdHNDb250
cm9sbGVyOjpkdW1wVGVzdE5hbWVzKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRlc3RzQ29u
dHJvbGxlcjo6cnVuVGVzdE5hbWVkKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRlc3RzQ29u
dHJvbGxlcjo6cnVuQWxsVGVzdHMpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHNDb250
cm9sbGVyLmg6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9tYWMvbWFpbi5tbToKKyAgICAgICAg
KG1haW4pOgorCiAyMDExLTA1LTEwICBEYXZpZCBMZXZpbiAgPGxldmluQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBTaGluaWNoaXJvIEhhbWFqaS4KZGlmZiAtLWdpdCBhL1Rv
b2xzL01ha2VmaWxlIGIvVG9vbHMvTWFrZWZpbGUKaW5kZXggNTFhYzcwMy4uYWRjM2FlNiAxMDA2
NDQKLS0tIGEvVG9vbHMvTWFrZWZpbGUKKysrIGIvVG9vbHMvTWFrZWZpbGUKQEAgLTEsNCArMSw0
IEBACi1NT0RVTEVTID0gRHVtcFJlbmRlclRyZWUgV2ViS2l0VGVzdFJ1bm5lciBNaW5pQnJvd3Nl
ciBUZXN0V2ViS2l0QVBJCitNT0RVTEVTID0gRHVtcFJlbmRlclRyZWUgV2ViS2l0VGVzdFJ1bm5l
ciBNaW5pQnJvd3NlciAuLi9Tb3VyY2UvVGhpcmRQYXJ0eS9ndGVzdC94Y29kZSBUZXN0V2ViS2l0
QVBJCiAKIGFsbDoKIAlAZm9yIGRpciBpbiAkKE1PRFVMRVMpOyBkbyAke01BS0V9ICRAIC1DICQk
ZGlyOyBleGl0X3N0YXR1cz0kJD87IFwKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvYnVpbGQt
YXBpLXRlc3RzIGIvVG9vbHMvU2NyaXB0cy9idWlsZC1hcGktdGVzdHMKaW5kZXggZGQyMjMxYy4u
ZjZkZGVjMCAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9idWlsZC1hcGktdGVzdHMKKysrIGIv
VG9vbHMvU2NyaXB0cy9idWlsZC1hcGktdGVzdHMKQEAgLTU2LDEyICs1NiwxNSBAQCBzZXRDb25m
aWd1cmF0aW9uKCk7CiBjaGRpcldlYktpdCgpOwogCiAjIEJ1aWxkCi1jaGRpciAiVG9vbHMvVGVz
dFdlYktpdEFQSSIgb3IgZGllOwogCiBteSAkcmVzdWx0OwogaWYgKGlzQXBwbGVNYWNXZWJLaXQo
KSkgeworICAgIGNoZGlyICJTb3VyY2UvVGhpcmRQYXJ0eS9ndGVzdCI7CisgICAgYnVpbGRYQ29k
ZVByb2plY3QoInhjb2RlL2d0ZXN0IiwgJGNsZWFuLCBYY29kZU9wdGlvbnMoKSwgQEFSR1YpOwor
ICAgIGNoZGlyICIuLi8uLi8uLi9Ub29scy9UZXN0V2ViS2l0QVBJIiBvciBkaWU7CiAgICAgJHJl
c3VsdCA9IGJ1aWxkWENvZGVQcm9qZWN0KCJUZXN0V2ViS2l0QVBJIiwgJGNsZWFuLCBYY29kZU9w
dGlvbnMoKSwgQEFSR1YpOwogfSBlbHNpZiAoaXNBcHBsZVdpbldlYktpdCgpKSB7CisgICAgY2hk
aXIgIlRvb2xzL1Rlc3RXZWJLaXRBUEkiIG9yIGRpZTsKICAgICAkcmVzdWx0ID0gYnVpbGRWaXN1
YWxTdHVkaW9Qcm9qZWN0KCJ3aW4vVGVzdFdlYktpdEFQSS5zbG4iLCAkY2xlYW4pOwogfSBlbHNl
IHsKICAgICBkaWUgIlRlc3RXZWJLaXRBUEkgaXMgbm90IHN1cHBvcnRlZCBvbiB0aGlzIHBsYXRm
b3JtLlxuIjsKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvcnVuLWFwaS10ZXN0cyBiL1Rvb2xz
L1NjcmlwdHMvcnVuLWFwaS10ZXN0cwppbmRleCA5NzEzNjYyLi4zMGU0M2FkIDEwMDc1NQotLS0g
YS9Ub29scy9TY3JpcHRzL3J1bi1hcGktdGVzdHMKKysrIGIvVG9vbHMvU2NyaXB0cy9ydW4tYXBp
LXRlc3RzCkBAIC0xMjIsNyArMTIyLDcgQEAgc3ViIHJ1bkFsbFRlc3RzSW5TdWl0ZSgkKQogc3Vi
IHJ1blRlc3QoJCQpCiB7CiAgICAgbXkgKCRzdWl0ZSwgJHRlc3ROYW1lKSA9IEBfOwotICAgIG15
ICR0ZXN0ID0gJHN1aXRlIC4gIi8iIC4gJHRlc3ROYW1lOworICAgIG15ICR0ZXN0ID0gJHN1aXRl
IC4gIi4iIC4gJHRlc3ROYW1lOwogCiAgICAgcHJpbnQgIiAgICBUZXN0OiAkdGVzdE5hbWUgLT4g
IjsKIApAQCAtMjM1LDcgKzIzNSw3IEBAIHN1YiBwb3B1bGF0ZVRlc3RzKCkKICAgICBteSAla2V5
ZWRUZXN0cyA9ICgpOwogICAgIGZvciBteSAkdGVzdCAoQHRlc3RzKSB7CiAgICAgICAgICR0ZXN0
ID1+IHMvW1xyXG5dKiQvLzsKLSAgICAgICAgbXkgKCRzdWl0ZSwgJHRlc3ROYW1lKSA9IHNwbGl0
KC9cLy8sICR0ZXN0KTsKKyAgICAgICAgbXkgKCRzdWl0ZSwgJHRlc3ROYW1lKSA9IHNwbGl0KC9c
Li8sICR0ZXN0KTsKICAgICAgICAgcHVzaCBAeyRrZXllZFRlc3RzeyRzdWl0ZX19LCAkdGVzdE5h
bWU7CiAgICAgfQogICAgIApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1
cmF0aW9ucy9UZXN0V2ViS2l0QVBJQ29tbW9uLnZzcHJvcHMgYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L0NvbmZpZ3VyYXRpb25zL1Rlc3RXZWJLaXRBUElDb21tb24udnNwcm9wcwppbmRleCA2NzQyZmYx
Li5hZWJmYzkyIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25z
L1Rlc3RXZWJLaXRBUElDb21tb24udnNwcm9wcworKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL0Nv
bmZpZ3VyYXRpb25zL1Rlc3RXZWJLaXRBUElDb21tb24udnNwcm9wcwpAQCAtNiwxMiArNiwxMiBA
QAogCT4KIAk8VG9vbAogCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQlBZGRpdGlvbmFsSW5j
bHVkZURpcmVjdG9yaWVzPSImcXVvdDskKFByb2plY3REaXIpJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcilcLi4mcXVvdDs7JnF1b3Q7JChDb25maWd1cmF0aW9uQnVpbGREaXIpXGluY2x1ZGUmcXVv
dDs7JnF1b3Q7JChDb25maWd1cmF0aW9uQnVpbGREaXIpXGluY2x1ZGVcV2ViQ29yZVxGb3J3YXJk
aW5nSGVhZGVycyZxdW90OzsmcXVvdDskKENvbmZpZ3VyYXRpb25CdWlsZERpcilcaW5jbHVkZVxw
cml2YXRlJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxpbmNsdWRlJnF1b3Q7Igor
ICAgICAgICAgICAgICAgIEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90OyQoUHJv
amVjdERpcikmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLiZxdW90OzsmcXVvdDskKENvbmZp
Z3VyYXRpb25CdWlsZERpcilcaW5jbHVkZSZxdW90OzsmcXVvdDskKENvbmZpZ3VyYXRpb25CdWls
ZERpcilcaW5jbHVkZVxXZWJDb3JlXEZvcndhcmRpbmdIZWFkZXJzJnF1b3Q7OyZxdW90OyQoQ29u
ZmlndXJhdGlvbkJ1aWxkRGlyKVxpbmNsdWRlXHByaXZhdGUmcXVvdDs7JnF1b3Q7JChXZWJLaXRM
aWJyYXJpZXNEaXIpXGluY2x1ZGUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlwuLlxT
b3VyY2VcVGhpcmRQYXJ0eVxndGVzdFxpbmNsdWRlJnF1b3Q7IgogCQlGb3JjZWRJbmNsdWRlRmls
ZXM9IlRlc3RXZWJLaXRBUElQcmVmaXguaCIKIAkvPgogCTxUb29sCiAJCU5hbWU9IlZDTGlua2Vy
VG9vbCIKLQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iV2ViS2l0JChXZWJLaXRETExDb25maWdT
dWZmaXgpLmxpYiBKYXZhU2NyaXB0Q29yZSQoV2ViS2l0RExMQ29uZmlnU3VmZml4KS5saWIiCisJ
CUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IldlYktpdCQoV2ViS2l0RExMQ29uZmlnU3VmZml4KS5s
aWIgSmF2YVNjcmlwdENvcmUkKFdlYktpdERMTENvbmZpZ1N1ZmZpeCkubGliIGd0ZXN0LmxpYiIK
IAkJU3ViU3lzdGVtPSIxIgogCS8+CiA8L1Zpc3VhbFN0dWRpb1Byb3BlcnR5U2hlZXQ+CmRpZmYg
LS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3QuaCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdC5oCmluZGV4IGVkNzcyZDUuLmY5MDM1MDcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdC5oCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdC5oCkBAIC0yOCw2MCAr
MjgsMTggQEAKIAogI2luY2x1ZGUgIlRlc3RzQ29udHJvbGxlci5oIgogCi1uYW1lc3BhY2UgVGVz
dFdlYktpdEFQSSB7Ci0KLS8vIEFic3RyYWN0IGJhc2UgY2xhc3MgdGhhdCBhbGwgdGVzdHMgaW5o
ZXJpdCBmcm9tLgotY2xhc3MgVGVzdCB7Ci1wdWJsaWM6Ci0gICAgdmlydHVhbCB+VGVzdCgpIHsg
fQotICAgIAotICAgIHZpcnR1YWwgdm9pZCBydW4oKSA9IDA7Ci0gICAgc3RkOjpzdHJpbmcgbmFt
ZSgpIGNvbnN0IHsgcmV0dXJuIG1faWRlbnRpZmllcjsgfQotICAgIAotICAgIHRlbXBsYXRlPHR5
cGVuYW1lIFRlc3RDbGFzc1R5PiBjbGFzcyBSZWdpc3RlciB7Ci0gICAgcHVibGljOgotICAgICAg
ICBSZWdpc3Rlcihjb25zdCBzdGQ6OnN0cmluZyYgdGVzdFN1aXRlLCBjb25zdCBzdGQ6OnN0cmlu
ZyYgdGVzdENhc2UpCi0gICAgICAgIHsKLSAgICAgICAgICAgIFRlc3RzQ29udHJvbGxlcjo6c2hh
cmVkKCkucmVnaXN0ZXJDcmVhdGVUZXN0RnVuY3Rpb24odGVzdFN1aXRlICsgIi8iICsgdGVzdENh
c2UsIFJlZ2lzdGVyOjpjcmVhdGUpOwotICAgICAgICB9Ci0gICAgCi0gICAgcHJpdmF0ZToKLSAg
ICAgICAgc3RhdGljIFRlc3QqIGNyZWF0ZShjb25zdCBzdGQ6OnN0cmluZyYgaWRlbnRpZmllcikg
Ci0gICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBuZXcgVGVzdENsYXNzVHkoaWRlbnRpZmll
cik7Ci0gICAgICAgIH0KLSAgICB9OwotCi1wcm90ZWN0ZWQ6Ci0gICAgVGVzdChjb25zdCBzdGQ6
OnN0cmluZyYgaWRlbnRpZmllcikKLSAgICAgICAgOiBtX2lkZW50aWZpZXIoaWRlbnRpZmllcikK
LSAgICB7Ci0gICAgfQorI2luY2x1ZGUgPGd0ZXN0L2d0ZXN0Lmg+CiAKLSAgICBzdGQ6OnN0cmlu
ZyBtX2lkZW50aWZpZXI7Ci19OwotCi0jZGVmaW5lIFRFU1RfQ0xBU1NfTkFNRSh0ZXN0U3VpdGUs
IHRlc3RDYXNlTmFtZSkgdGVzdFN1aXRlIyN0ZXN0Q2FzZU5hbWUjI19UZXN0Ci0jZGVmaW5lIFRF
U1RfUkVHSVNUUkFSX05BTUUodGVzdFN1aXRlLCB0ZXN0Q2FzZU5hbWUpIHRlc3RTdWl0ZSMjdGVz
dENhc2VOYW1lIyNfUmVnaXN0cmFyCituYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7CiAKLS8vIFVz
ZSB0aGlzIHRvIGRlZmluZSBhIG5ldyB0ZXN0LgotI2RlZmluZSBURVNUKHRlc3RTdWl0ZSwgdGVz
dENhc2VOYW1lKSBcCi0gICAgY2xhc3MgVEVTVF9DTEFTU19OQU1FKHRlc3RTdWl0ZSwgdGVzdENh
c2VOYW1lKSA6IHB1YmxpYyBUZXN0IHsgXAotICAgIHB1YmxpYzogXAotICAgICAgICBURVNUX0NM
QVNTX05BTUUodGVzdFN1aXRlLCB0ZXN0Q2FzZU5hbWUpKGNvbnN0IHN0ZDo6c3RyaW5nJiBpZGVu
dGlmaWVyKSBcCi0gICAgICAgICAgICA6IFRlc3QoaWRlbnRpZmllcikgXAotICAgICAgICB7IFwK
KyNkZWZpbmUgVEVTVF9BU1NFUlQoZXhwcmVzc2lvbikgRVhQRUNUX1RSVUUoZXhwcmVzc2lvbikK
KyNkZWZpbmUgVEVTVF9BU1NFUlRfUkVUVVJOKGV4cHJlc3Npb24sIHJldHVyblZhbHVlKSBcCisg
ICAgZG8geyBcCisgICAgICAgIGlmICghKGV4cHJlc3Npb24pKSB7IFwKKyAgICAgICAgICAgIEVY
UEVDVF9GQUxTRSh0cnVlKSA8PCAjZXhwcmVzc2lvbjsgXAorICAgICAgICAgICAgcmV0dXJuIChy
ZXR1cm5WYWx1ZSk7IFwKICAgICAgICAgfSBcCi0gICAgICAgIHZpcnR1YWwgdm9pZCBydW4oKTsg
XAotICAgIH07IFwKLSAgICBcCi0gICAgc3RhdGljIFRlc3Q6OlJlZ2lzdGVyPFRFU1RfQ0xBU1Nf
TkFNRSh0ZXN0U3VpdGUsIHRlc3RDYXNlTmFtZSk+IFRFU1RfUkVHSVNUUkFSX05BTUUodGVzdFN1
aXRlLCB0ZXN0Q2FzZU5hbWUpKCN0ZXN0U3VpdGUsICN0ZXN0Q2FzZU5hbWUpOyBcCi0gICAgXAot
ICAgIHZvaWQgVEVTVF9DTEFTU19OQU1FKHRlc3RTdWl0ZSwgdGVzdENhc2VOYW1lKTo6cnVuKCkK
LQotI2RlZmluZSBfVEVTVF9BU1NFUlRfSEVMUEVSKGV4cHJlc3Npb24sIHJldHVyblN0YXRlbWVu
dCkgZG8geyBpZiAoIShleHByZXNzaW9uKSkgeyBUZXN0c0NvbnRyb2xsZXI6OnNoYXJlZCgpLnRl
c3RGYWlsZWQoX19GSUxFX18sIF9fTElORV9fLCAjZXhwcmVzc2lvbik7IHJldHVyblN0YXRlbWVu
dDsgfSB9IHdoaWxlICgwKQotI2RlZmluZSBURVNUX0FTU0VSVChleHByZXNzaW9uKSBfVEVTVF9B
U1NFUlRfSEVMUEVSKGV4cHJlc3Npb24sIHJldHVybikKLSNkZWZpbmUgVEVTVF9BU1NFUlRfUkVU
VVJOKGV4cHJlc3Npb24sIHJldHVyblZhbHVlKSBfVEVTVF9BU1NFUlRfSEVMUEVSKGV4cHJlc3Np
b24sIHJldHVybiAocmV0dXJuVmFsdWUpKQorICAgIH0gd2hpbGUgKDApCiAKIH0gLy8gbmFtZXNw
YWNlIFRlc3RXZWJLaXRBUEkKIApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA4NmI2OTFkLi5m
MDA5NzMwIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJL
aXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNTcsNiArNTcsNyBAQAogCQlDMEFE
QkU5NjEyRkNBNzlCMDBEMkMxMjkgLyogc2ltcGxlLWZvcm0uaHRtbCBpbiBDb3B5IFJlc291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMEFEQkU4NDEyRkNBNkI2MDBE
MkMxMjkgLyogc2ltcGxlLWZvcm0uaHRtbCAqLzsgfTsKIAkJQzBCRDY2OUQxMzFEM0NGNzAwRTE4
RjJBIC8qIFJlc3BvbnNpdmVuZXNzVGltZXJEb2VzbnRGaXJlRWFybHkuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzBCRDY2OUMxMzFEM0NGNzAwRTE4
RjJBIC8qIFJlc3BvbnNpdmVuZXNzVGltZXJEb2VzbnRGaXJlRWFybHkuY3BwICovOyB9OwogCQlD
MEJENjY5RjEzMUQzQ0ZGMDBFMThGMkEgLyogUmVzcG9uc2l2ZW5lc3NUaW1lckRvZXNudEZpcmVF
YXJseV9CdW5kbGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQzBCRDY2OUUxMzFEM0NGRjAwRTE4RjJBIC8qIFJlc3BvbnNpdmVuZXNzVGltZXJEb2Vz
bnRGaXJlRWFybHlfQnVuZGxlLmNwcCAqLzsgfTsKKwkJRjNGQzNFRTMxMzY3OEI3MzAwMTI2QTY1
IC8qIGxpYmd0ZXN0LmEgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBGM0ZDM0VFMjEzNjc4QjczMDAxMjZBNjUgLyogbGliZ3Rlc3QuYSAqLzsgfTsKIAkJ
RjZGM0YyOTExMzM0MkZFQjAwQTZCRjE5IC8qIENvb2tpZU1hbmFnZXIuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjZGM0YyOTAxMzM0MkZFQjAwQTZC
RjE5IC8qIENvb2tpZU1hbmFnZXIuY3BwICovOyB9OwogLyogRW5kIFBCWEJ1aWxkRmlsZSBzZWN0
aW9uICovCiAKQEAgLTE2MCw2ICsxNjEsNyBAQAogCQlDMEFEQkU4NDEyRkNBNkI2MDBEMkMxMjkg
Lyogc2ltcGxlLWZvcm0uaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJzaW1wbGUt
Zm9ybS5odG1sIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzBCRDY2OUMxMzFEM0NG
NzAwRTE4RjJBIC8qIFJlc3BvbnNpdmVuZXNzVGltZXJEb2VzbnRGaXJlRWFybHkuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVzcG9uc2l2ZW5lc3NUaW1lckRvZXNu
dEZpcmVFYXJseS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMwQkQ2NjlFMTMx
RDNDRkYwMEUxOEYyQSAvKiBSZXNwb25zaXZlbmVzc1RpbWVyRG9lc250RmlyZUVhcmx5X0J1bmRs
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZXNwb25zaXZlbmVz
c1RpbWVyRG9lc250RmlyZUVhcmx5X0J1bmRsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUYzRkMzRUUyMTM2NzhCNzMwMDEyNkE2NSAvKiBsaWJndGVzdC5hICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gYXJjaGl2ZS5hcjsgbmFtZSA9
IGxpYmd0ZXN0LmE7IHBhdGggPSAuLi8uLi9XZWJLaXRCdWlsZC9EZWJ1Zy9saWJndGVzdC5hOyBz
b3VyY2VUcmVlID0gU09VUkNFX1JPT1Q7IH07CiAJCUY2RjNGMjkwMTMzNDJGRUIwMEE2QkYxOSAv
KiBDb29raWVNYW5hZ2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IENvb2tpZU1hbmFnZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogLyogRW5kIFBC
WEZpbGVSZWZlcmVuY2Ugc2VjdGlvbiAqLwogCkBAIC0xNzIsNiArMTc0LDcgQEAKIAkJCQlCQ0E2
MURCNTExNzAwRUZEMDA0NjBEMUUgLyogV2ViS2l0Mi5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAq
LywKIAkJCQlCQzkwOTY0RTEyNTU2MjBDMDAwODM3NTYgLyogSmF2YVNjcmlwdENvcmUuZnJhbWV3
b3JrIGluIEZyYW1ld29ya3MgKi8sCiAJCQkJQzAyQjc4NTQxMjY2MTNBRTAwMjZCRjBGIC8qIENh
cmJvbi5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKKwkJCQlGM0ZDM0VFMzEzNjc4QjczMDAx
MjZBNjUgLyogbGliZ3Rlc3QuYSBpbiBGcmFtZXdvcmtzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlG
b3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjIyLDYgKzIyNSw3IEBA
CiAJCTA4RkI3NzlERkU4NDE1NURDMDJBQUMwNyAvKiBFeHRlcm5hbCBGcmFtZXdvcmtzIGFuZCBM
aWJyYXJpZXMgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJ
CUYzRkMzRUUyMTM2NzhCNzMwMDEyNkE2NSAvKiBsaWJndGVzdC5hICovLAogCQkJCUJDQjlFOUYw
MTEyMzVCREUwMEExMzdFMCAvKiBDb2NvYS5mcmFtZXdvcmsgKi8sCiAJCQkJQkM5MDk2NEQxMjU1
NjIwQzAwMDgzNzU2IC8qIEphdmFTY3JpcHRDb3JlLmZyYW1ld29yayAqLywKIAkJCQlCQ0E2MURC
NDExNzAwRUZEMDA0NjBEMUUgLyogV2ViS2l0Mi5mcmFtZXdvcmsgKi8sCkBAIC00NzksNiArNDgz
LDE0IEBACiAJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IEJDOTA5NTgwMTI1NTRDRjkw
MDA4Mzc1NiAvKiBUZXN0V2ViS2l0QVBJLnhjY29uZmlnICovOwogCQkJYnVpbGRTZXR0aW5ncyA9
IHsKIAkJCQlGUkFNRVdPUktfU0VBUkNIX1BBVEhTID0gIiQoaW5oZXJpdGVkKSI7CisJCQkJSEVB
REVSX1NFQVJDSF9QQVRIUyA9ICgKKwkJCQkJLi4vLi4vU291cmNlL1RoaXJkUGFydHkvZ3Rlc3Qv
aW5jbHVkZSwKKwkJCQkJIiQoV0VCQ09SRV9QUklWQVRFX0hFQURFUlNfRElSKS9Gb3J3YXJkaW5n
SGVhZGVycyIsCisJCQkJKTsKKwkJCQlMSUJSQVJZX1NFQVJDSF9QQVRIUyA9ICgKKwkJCQkJIiQo
aW5oZXJpdGVkKSIsCisJCQkJCSJcIiQoU1JDUk9PVCkvLi4vLi4vV2ViS2l0QnVpbGQvRGVidWdc
IiIsCisJCQkJKTsKIAkJCX07CiAJCQluYW1lID0gRGVidWc7CiAJCX07CkBAIC00ODcsNiArNDk5
LDE0IEBACiAJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IEJDOTA5NTgwMTI1NTRDRjkw
MDA4Mzc1NiAvKiBUZXN0V2ViS2l0QVBJLnhjY29uZmlnICovOwogCQkJYnVpbGRTZXR0aW5ncyA9
IHsKIAkJCQlGUkFNRVdPUktfU0VBUkNIX1BBVEhTID0gIiQoaW5oZXJpdGVkKSI7CisJCQkJSEVB
REVSX1NFQVJDSF9QQVRIUyA9ICgKKwkJCQkJLi4vLi4vU291cmNlL1RoaXJkUGFydHkvZ3Rlc3Qv
aW5jbHVkZSwKKwkJCQkJIiQoV0VCQ09SRV9QUklWQVRFX0hFQURFUlNfRElSKS9Gb3J3YXJkaW5n
SGVhZGVycyIsCisJCQkJKTsKKwkJCQlMSUJSQVJZX1NFQVJDSF9QQVRIUyA9ICgKKwkJCQkJIiQo
aW5oZXJpdGVkKSIsCisJCQkJCSJcIiQoU1JDUk9PVCkvLi4vLi4vV2ViS2l0QnVpbGQvUmVsZWFz
ZVwiIiwKKwkJCQkpOwogCQkJfTsKIAkJCW5hbWUgPSBSZWxlYXNlOwogCQl9OwpkaWZmIC0tZ2l0
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvVmVjdG9yQmFzaWMuY3BwIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvVmVjdG9yQmFzaWMuY3BwCmluZGV4IDAxMmZhMjcuLjcy
Mzg5MGMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1ZlY3RvckJh
c2ljLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9WZWN0b3JCYXNpYy5j
cHAKQEAgLTMyLDkgKzMyLDkgQEAgbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgewogVEVTVChXVEYs
IFZlY3RvckJhc2ljKQogewogICAgIFZlY3RvcjxpbnQ+IGludFZlY3RvcjsKLSAgICBURVNUX0FT
U0VSVChpbnRWZWN0b3IuaXNFbXB0eSgpKTsKLSAgICBURVNUX0FTU0VSVChpbnRWZWN0b3Iuc2l6
ZSgpID09IDApOwotICAgIFRFU1RfQVNTRVJUKGludFZlY3Rvci5jYXBhY2l0eSgpID09IDApOwor
ICAgIEFTU0VSVF9UUlVFKGludFZlY3Rvci5pc0VtcHR5KCkpOworICAgIEFTU0VSVF9FUSgwdWws
IGludFZlY3Rvci5zaXplKCkpOworICAgIEFTU0VSVF9FUSgwdWwsIGludFZlY3Rvci5jYXBhY2l0
eSgpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQpkaWZmIC0tZ2l0IGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0c0NvbnRyb2xsZXIuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0c0NvbnRyb2xsZXIuY3BwCmluZGV4IDM0OTlmMmMuLjgyYTJlYzMgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHNDb250cm9sbGVyLmNwcAorKysgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzQ29udHJvbGxlci5jcHAKQEAgLTI2LDggKzI2LDkgQEAKICNpbmNsdWRl
ICJUZXN0c0NvbnRyb2xsZXIuaCIKIAogI2luY2x1ZGUgIlRlc3QuaCIKLSNpbmNsdWRlIDxhbGdv
cml0aG0+CiAjaW5jbHVkZSA8YXNzZXJ0Lmg+CisjaW5jbHVkZSA8Z3Rlc3QvZ3Rlc3QuaD4KKyNp
bmNsdWRlIDxjc3RkaW8+CiAKIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKIApAQCAtMzgsNDUg
KzM5LDMzIEBAIFRlc3RzQ29udHJvbGxlciYgVGVzdHNDb250cm9sbGVyOjpzaGFyZWQoKQogfQog
CiBUZXN0c0NvbnRyb2xsZXI6OlRlc3RzQ29udHJvbGxlcigpCi0gICAgOiBtX3Rlc3RGYWlsZWQo
ZmFsc2UpCi0gICAgLCBtX2N1cnJlbnRUZXN0KDApCiB7CisgICAgaW50IGFyZ2MgPSAwOworICAg
IDo6dGVzdGluZzo6SW5pdEdvb2dsZVRlc3QoJmFyZ2MsIChjaGFyKiopMCk7CiB9CiAKIHZvaWQg
VGVzdHNDb250cm9sbGVyOjpkdW1wVGVzdE5hbWVzKCkKIHsKLSAgICBzdGQ6Om1hcDxzdGQ6OnN0
cmluZywgQ3JlYXRlVGVzdEZ1bmN0aW9uPjo6Y29uc3RfaXRlcmF0b3IgaXQgPSBtX2NyZWF0ZVRl
c3RGdW5jdGlvbnMuYmVnaW4oKTsKLSAgICBzdGQ6Om1hcDxzdGQ6OnN0cmluZywgQ3JlYXRlVGVz
dEZ1bmN0aW9uPjo6Y29uc3RfaXRlcmF0b3IgZW5kID0gbV9jcmVhdGVUZXN0RnVuY3Rpb25zLmVu
ZCgpOwotICAgIGZvciAoOyBpdCAhPSBlbmQ7ICsraXQpCi0gICAgICAgIHByaW50ZigiJXNcbiIs
ICgqaXQpLmZpcnN0LmNfc3RyKCkpOwotfQorICAgIDo6dGVzdGluZzo6VW5pdFRlc3QqIHVuaXRf
dGVzdCA9IDo6dGVzdGluZzo6VW5pdFRlc3Q6OkdldEluc3RhbmNlKCk7CiAKLWJvb2wgVGVzdHND
b250cm9sbGVyOjpydW5UZXN0TmFtZWQoY29uc3Qgc3RkOjpzdHJpbmcmIGlkZW50aWZpZXIpCi17
Ci0gICAgQ3JlYXRlVGVzdEZ1bmN0aW9uIGNyZWF0ZVRlc3RGdW5jdGlvbiA9IG1fY3JlYXRlVGVz
dEZ1bmN0aW9uc1tpZGVudGlmaWVyXTsKLSAgICBpZiAoIWNyZWF0ZVRlc3RGdW5jdGlvbikgewot
ICAgICAgICBwcmludGYoIkVSUk9SOiBUZXN0IG5vdCBmb3VuZCAtICVzXG4iLCBpZGVudGlmaWVy
LmNfc3RyKCkpOwotICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgZm9yIChpbnQgaSA9IDA7IGkg
PCB1bml0X3Rlc3QtPnRvdGFsX3Rlc3RfY2FzZV9jb3VudCgpOyBpKyspIHsKKyAgICAgICAgY29u
c3QgOjp0ZXN0aW5nOjpUZXN0Q2FzZSogdGVzdF9jYXNlID0gdW5pdF90ZXN0LT5HZXRUZXN0Q2Fz
ZShpKTsKKyAgICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCB0ZXN0X2Nhc2UtPnRvdGFsX3Rlc3Rf
Y291bnQoKTsgaisrKSB7CisgICAgICAgICAgY29uc3QgOjp0ZXN0aW5nOjpUZXN0SW5mbyogdGVz
dF9pbmZvID0gdGVzdF9jYXNlLT5HZXRUZXN0SW5mbyhqKTsKKyAgICAgICAgICBwcmludGYoIiVz
LiVzXG4iLCB0ZXN0X2Nhc2UtPm5hbWUoKSwgdGVzdF9pbmZvLT5uYW1lKCkpOworICAgICAgICB9
CiAgICAgfQotCi0gICAgbV9jdXJyZW50VGVzdCA9IGNyZWF0ZVRlc3RGdW5jdGlvbihpZGVudGlm
aWVyKTsKLSAgICBtX2N1cnJlbnRUZXN0LT5ydW4oKTsKLQotICAgIGRlbGV0ZSBtX2N1cnJlbnRU
ZXN0OwotICAgIG1fY3VycmVudFRlc3QgPSAwOwotCi0gICAgcmV0dXJuICFtX3Rlc3RGYWlsZWQ7
CiB9CiAKLXZvaWQgVGVzdHNDb250cm9sbGVyOjp0ZXN0RmFpbGVkKGNvbnN0IGNoYXIqIGZpbGUs
IGludCBsaW5lLCBjb25zdCBjaGFyKiBtZXNzYWdlKQorYm9vbCBUZXN0c0NvbnRyb2xsZXI6OnJ1
blRlc3ROYW1lZChjb25zdCBzdGQ6OnN0cmluZyYgaWRlbnRpZmllcikKIHsKLSAgICBtX3Rlc3RG
YWlsZWQgPSB0cnVlOwotICAgIHByaW50ZigiRkFJTDogJXNcblx0JXMgKCVzOiVkKVxuIiwgbV9j
dXJyZW50VGVzdC0+bmFtZSgpLmNfc3RyKCksIG1lc3NhZ2UsIGZpbGUsIGxpbmUpOworICAgIDo6
dGVzdGluZzo6R1RFU1RfRkxBRyhmaWx0ZXIpID0gaWRlbnRpZmllcjsKKyAgICByZXR1cm4gIVJV
Tl9BTExfVEVTVFMoKTsKIH0KIAotdm9pZCBUZXN0c0NvbnRyb2xsZXI6OnJlZ2lzdGVyQ3JlYXRl
VGVzdEZ1bmN0aW9uKGNvbnN0IHN0ZDo6c3RyaW5nJiBpZGVudGlmaWVyLCBDcmVhdGVUZXN0RnVu
Y3Rpb24gY3JlYXRlVGVzdEZ1bmN0aW9uKQorYm9vbCBUZXN0c0NvbnRyb2xsZXI6OnJ1bkFsbFRl
c3RzKCkKIHsKLSAgICBtX2NyZWF0ZVRlc3RGdW5jdGlvbnNbaWRlbnRpZmllcl0gPSBjcmVhdGVU
ZXN0RnVuY3Rpb247CisgICAgcmV0dXJuICFSVU5fQUxMX1RFU1RTKCk7CiB9CiAKIH0gLy8gbmFt
ZXNwYWNlIFRlc3RXZWJLaXRBUEkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHNDb250cm9sbGVyLmggYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzQ29udHJvbGxlci5oCmlu
ZGV4IDBmZjFmYzcuLmViMmE5NjcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHNDb250cm9sbGVyLmgKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0c0NvbnRyb2xsZXIu
aApAQCAtMzksMjEgKzM5LDExIEBAIHB1YmxpYzoKIAogICAgIHZvaWQgZHVtcFRlc3ROYW1lcygp
OwogICAgIGJvb2wgcnVuVGVzdE5hbWVkKGNvbnN0IHN0ZDo6c3RyaW5nJik7Ci0KLSAgICAvLyBD
YWxsZWQgYnkgdGhlIHRlc3RzIHRoZW1zZWx2ZXMuCi0gICAgdm9pZCB0ZXN0RmFpbGVkKGNvbnN0
IGNoYXIqIGZpbGUsIGludCBsaW5lLCBjb25zdCBjaGFyKiBtZXNzYWdlKTsKLQotICAgIHR5cGVk
ZWYgVGVzdCogKCpDcmVhdGVUZXN0RnVuY3Rpb24pKGNvbnN0IHN0ZDo6c3RyaW5nJik7Ci0gICAg
dm9pZCByZWdpc3RlckNyZWF0ZVRlc3RGdW5jdGlvbihjb25zdCBzdGQ6OnN0cmluZyYsIENyZWF0
ZVRlc3RGdW5jdGlvbik7CisgICAgYm9vbCBydW5BbGxUZXN0cygpOwogCiBwcml2YXRlOgogICAg
IFRlc3RzQ29udHJvbGxlcigpOwogICAgIH5UZXN0c0NvbnRyb2xsZXIoKTsKLQotICAgIGJvb2wg
bV90ZXN0RmFpbGVkOwotICAgIFRlc3QqIG1fY3VycmVudFRlc3Q7Ci0KLSAgICBzdGQ6Om1hcDxz
dGQ6OnN0cmluZywgQ3JlYXRlVGVzdEZ1bmN0aW9uPiBtX2NyZWF0ZVRlc3RGdW5jdGlvbnM7CiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0
V2ViS2l0QVBJL21hYy9tYWluLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvbWFpbi5tbQpp
bmRleCBlNmRkNGE2Li5lN2RkZWM0IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL21h
Yy9tYWluLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL21haW4ubW0KQEAgLTMzLDEx
ICszMywxNSBAQCBpbnQgbWFpbihpbnQgYXJnYywgY29uc3QgY2hhciogYXJndltdKQogCiAgICAg
Ym9vbCBwYXNzZWQgPSB0cnVlOwogCi0gICAgc3RkOjpzdHJpbmcgYXJndW1lbnQoYXJndlsxXSk7
Ci0gICAgaWYgKGFyZ3VtZW50ID09ICItLWR1bXAtdGVzdHMiKQotICAgICAgICBUZXN0V2ViS2l0
QVBJOjpUZXN0c0NvbnRyb2xsZXI6OnNoYXJlZCgpLmR1bXBUZXN0TmFtZXMoKTsKLSAgICBlbHNl
ICAgCi0gICAgICAgIHBhc3NlZCA9IFRlc3RXZWJLaXRBUEk6OlRlc3RzQ29udHJvbGxlcjo6c2hh
cmVkKCkucnVuVGVzdE5hbWVkKGFyZ3VtZW50KTsKKyAgICBpZiAoYXJnYyA9PSAxKQorICAgICAg
ICBwYXNzZWQgPSBUZXN0V2ViS2l0QVBJOjpUZXN0c0NvbnRyb2xsZXI6OnNoYXJlZCgpLnJ1bkFs
bFRlc3RzKCk7CisgICAgZWxzZSB7CisgICAgICAgIHN0ZDo6c3RyaW5nIGFyZ3VtZW50KGFyZ3Zb
MV0pOworICAgICAgICBpZiAoYXJndW1lbnQgPT0gIi0tZHVtcC10ZXN0cyIpCisgICAgICAgICAg
ICBUZXN0V2ViS2l0QVBJOjpUZXN0c0NvbnRyb2xsZXI6OnNoYXJlZCgpLmR1bXBUZXN0TmFtZXMo
KTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcGFzc2VkID0gVGVzdFdlYktpdEFQSTo6VGVz
dHNDb250cm9sbGVyOjpzaGFyZWQoKS5ydW5UZXN0TmFtZWQoYXJndW1lbnQpOworICAgIH0KIAog
ICAgIFtwb29sIGRyYWluXTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93135</attachid>
            <date>2011-05-11 09:50:34 -0700</date>
            <delta_ts>2011-05-11 16:29:20 -0700</delta_ts>
            <desc>Brings parity to Mac and Linux versions of TestWebKitAPI executable</desc>
            <filename>gtest.patch</filename>
            <type>text/plain</type>
            <size>38504</size>
            <attacher name="Dmitry Lomov">dslomov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCAxNDNjODQ0Li45MjE1YzZk
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDcgKzEsMjEgQEAK
KzIwMTEtMDUtMTAgIERtaXRyeSBMb21vdiAgPGRzbG9tb3ZAZ29vZ2xlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk1NjEKKyAgICAgICAgU3dpdGNoIFRlc3RXZWJLaXRB
UEkgdG8gR1Rlc3QKKworICAgICAgICBGaXhlcyBNYWtlZmlsZXMgYW5kIFdpbkNhaXJvIGJ1aWxk
IGFzIHdlbGwKKworICAgICAgICAqIFNvdXJjZS9UaGlyZFBhcnR5L2d0ZXN0L1JFQURNRS5XZWJL
aXQ6CisgICAgICAgICogU291cmNlL1RoaXJkUGFydHkvZ3Rlc3QvbXN2Yy9ndGVzdC1tZC52Y3By
b2o6CisgICAgICAgICogU291cmNlL1RoaXJkUGFydHkvZ3Rlc3QveGNvZGUvQ29uZmlnL0dlbmVy
YWwueGNjb25maWc6CisgICAgICAgICogU291cmNlL1RoaXJkUGFydHkvZ3Rlc3QveGNvZGUvTWFr
ZWZpbGU6IEFkZGVkLgorCiAyMDExLTA1LTA5ICBEbWl0cnkgTG9tb3YgIDxkc2xvbW92QGdvb2ds
ZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KLSAgICAgICAgCisKICAg
ICAgICAgU3dpdGNoIFRlc3RXZWJLaXRBUEkgdG8gR1Rlc3QKICAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU5NTYxCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9U
aGlyZFBhcnR5L2d0ZXN0L1JFQURNRS5XZWJLaXQgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9ndGVzdC9S
RUFETUUuV2ViS2l0CmluZGV4IDFiZTI5NjkuLmRkZjIxODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9U
aGlyZFBhcnR5L2d0ZXN0L1JFQURNRS5XZWJLaXQKKysrIGIvU291cmNlL1RoaXJkUGFydHkvZ3Rl
c3QvUkVBRE1FLldlYktpdApAQCAtMSwzICsxLDYgQEAKIEdUZXN0IHYuMS41LjAKIAogaHR0cDov
L2dvb2dsZXRlc3QuZ29vZ2xlY29kZS5jb20vc3ZuL3RhZ3MvcmVsZWFzZS0xLjUuMC8gCisKKzIw
MTEtMDUtMDYgRG1pdHJ5IExvbW92IChkc2xvbW92QGdvb2dsZS5jb20pCisgICAgICBndGVzdC1t
ZC52Y3Byb2ogdXBncmFkZWQgdG8gVlMgMjAwNSAoOC4wKSBmb3JtYXQgdG8gbWF0Y2ggdGhlIHJl
c3Qgb2YgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9ndGVzdC9tc3ZjL2d0
ZXN0LW1kLnZjcHJvaiBiL1NvdXJjZS9UaGlyZFBhcnR5L2d0ZXN0L21zdmMvZ3Rlc3QtbWQudmNw
cm9qCmluZGV4IDljZTRiOTYuLmIxNjBlMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5
L2d0ZXN0L21zdmMvZ3Rlc3QtbWQudmNwcm9qCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2d0ZXN0
L21zdmMvZ3Rlc3QtbWQudmNwcm9qCkBAIC0xLDk1ICsxLDI2NyBAQAogPD94bWwgdmVyc2lvbj0i
MS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+CiA8VmlzdWFsU3R1ZGlvUHJvamVjdAogCVBy
b2plY3RUeXBlPSJWaXN1YWwgQysrIgotCVZlcnNpb249IjcuMTAiCisJVmVyc2lvbj0iOC4wMCIK
IAlOYW1lPSJndGVzdC1tZCIKIAlQcm9qZWN0R1VJRD0ie0M4RjZDMTcyLTU2RjItNEU3Ni1CNUZB
LUMzQjQyM0IzMUJFOH0iCi0JS2V5d29yZD0iV2luMzJQcm9qIj4KKwlSb290TmFtZXNwYWNlPSJn
dGVzdC1tZCIKKwlLZXl3b3JkPSJXaW4zMlByb2oiCisJPgogCTxQbGF0Zm9ybXM+CiAJCTxQbGF0
Zm9ybQotCQkJTmFtZT0iV2luMzIiLz4KKwkJCU5hbWU9IldpbjMyIgorCQkvPgogCTwvUGxhdGZv
cm1zPgorCTxUb29sRmlsZXM+CisJPC9Ub29sRmlsZXM+CiAJPENvbmZpZ3VyYXRpb25zPgogCQk8
Q29uZmlndXJhdGlvbgogCQkJTmFtZT0iRGVidWd8V2luMzIiCi0JCQlPdXRwdXREaXJlY3Rvcnk9
IiQoU29sdXRpb25OYW1lKS8kKENvbmZpZ3VyYXRpb25OYW1lKSIKLQkJCUludGVybWVkaWF0ZURp
cmVjdG9yeT0iJChPdXREaXIpLyQoUHJvamVjdE5hbWUpIgorCQkJT3V0cHV0RGlyZWN0b3J5PSIk
KENvbmZpZ3VyYXRpb25CdWlsZERpcilcbGliIgogCQkJQ29uZmlndXJhdGlvblR5cGU9IjQiCisJ
CQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iJChQcm9qZWN0RGlyKVwuLlwuLlwuLlwuLlxXZWJL
aXRMaWJyYXJpZXNcd2luXHRvb2xzXHZzcHJvcHNcY29tbW9uLnZzcHJvcHMiCiAJCQlDaGFyYWN0
ZXJTZXQ9IjIiCi0JCQlSZWZlcmVuY2VzUGF0aD0iIj4KKwkJCT4KKwkJCTxUb29sCisJCQkJTmFt
ZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCIKKwkJCS8+CisJCQk8VG9vbAorCQkJCU5hbWU9IlZDQ3Vz
dG9tQnVpbGRUb29sIgorCQkJLz4KKwkJCTxUb29sCisJCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJh
dG9yVG9vbCIKKwkJCS8+CisJCQk8VG9vbAorCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2Vu
ZXJhdG9yVG9vbCIKKwkJCS8+CisJCQk8VG9vbAorCQkJCU5hbWU9IlZDTUlETFRvb2wiCisJCQkv
PgogCQkJPFRvb2wKIAkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgogCQkJCU9wdGltaXphdGlv
bj0iMCIKIAkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iV0lOMzI7X0RFQlVHO19MSUIiCi0J
CQkJTWluaW1hbFJlYnVpbGQ9IlRSVUUiCisJCQkJTWluaW1hbFJlYnVpbGQ9InRydWUiCiAJCQkJ
QmFzaWNSdW50aW1lQ2hlY2tzPSIzIgogCQkJCVJ1bnRpbWVMaWJyYXJ5PSIzIgogCQkJCVVzZVBy
ZWNvbXBpbGVkSGVhZGVyPSIwIgogCQkJCVdhcm5pbmdMZXZlbD0iMyIKLQkJCQlEZXRlY3Q2NEJp
dFBvcnRhYmlsaXR5UHJvYmxlbXM9IkZBTFNFIgotCQkJCURlYnVnSW5mb3JtYXRpb25Gb3JtYXQ9
IjQiLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiLz4KLQkJCTxUb29s
Ci0JCQkJTmFtZT0iVkNMaWJyYXJpYW5Ub29sIgotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKS9n
dGVzdGQubGliIi8+CisJCQkJRGV0ZWN0NjRCaXRQb3J0YWJpbGl0eVByb2JsZW1zPSJmYWxzZSIK
KwkJCQlEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PSI0IgorCQkJLz4KIAkJCTxUb29sCi0JCQkJTmFt
ZT0iVkNNSURMVG9vbCIvPgorCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29s
IgorCQkJLz4KIAkJCTxUb29sCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiLz4KKwkJ
CQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIgorCQkJLz4KIAkJCTxUb29sCi0JCQkJTmFt
ZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCIvPgorCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCIK
KwkJCS8+CiAJCQk8VG9vbAotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCIvPgorCQkJCU5h
bWU9IlZDTGlicmFyaWFuVG9vbCIKKwkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilcZ3Rlc3QubGli
IgorCQkJLz4KIAkJCTxUb29sCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCIvPgor
CQkJCU5hbWU9IlZDQUxpbmtUb29sIgorCQkJLz4KIAkJCTxUb29sCi0JCQkJTmFtZT0iVkNXZWJT
ZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIi8+CisJCQkJTmFtZT0iVkNYRENNYWtlVG9vbCIKKwkJ
CS8+CiAJCQk8VG9vbAotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiLz4KKwkJCQlO
YW1lPSJWQ0JzY01ha2VUb29sIgorCQkJLz4KIAkJCTxUb29sCi0JCQkJTmFtZT0iVkNNYW5hZ2Vk
V3JhcHBlckdlbmVyYXRvclRvb2wiLz4KKwkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCIKKwkJCS8+CiAJ
CQk8VG9vbAotCQkJCU5hbWU9IlZDQXV4aWxpYXJ5TWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29s
Ii8+CisJCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiCisJCQkvPgogCQk8L0NvbmZpZ3Vy
YXRpb24+CiAJCTxDb25maWd1cmF0aW9uCiAJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgotCQkJT3V0
cHV0RGlyZWN0b3J5PSIkKFNvbHV0aW9uTmFtZSkvJChDb25maWd1cmF0aW9uTmFtZSkiCi0JCQlJ
bnRlcm1lZGlhdGVEaXJlY3Rvcnk9IiQoT3V0RGlyKS8kKFByb2plY3ROYW1lKSIKKwkJCU91dHB1
dERpcmVjdG9yeT0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXGxpYiIKIAkJCUNvbmZpZ3VyYXRp
b25UeXBlPSI0IgorCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9IiQoUHJvamVjdERpcilcLi5c
Li5cLi5cLi5cV2ViS2l0TGlicmFyaWVzXHdpblx0b29sc1x2c3Byb3BzXGNvbW1vbi52c3Byb3Bz
IgogCQkJQ2hhcmFjdGVyU2V0PSIyIgotCQkJUmVmZXJlbmNlc1BhdGg9IiZxdW90Oy4uXGluY2x1
ZGUmcXVvdDs7JnF1b3Q7Li4mcXVvdDsiPgorCQkJPgorCQkJPFRvb2wKKwkJCQlOYW1lPSJWQ1By
ZUJ1aWxkRXZlbnRUb29sIgorCQkJLz4KKwkJCTxUb29sCisJCQkJTmFtZT0iVkNDdXN0b21CdWls
ZFRvb2wiCisJCQkvPgorCQkJPFRvb2wKKwkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29s
IgorCQkJLz4KKwkJCTxUb29sCisJCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JU
b29sIgorCQkJLz4KKwkJCTxUb29sCisJCQkJTmFtZT0iVkNNSURMVG9vbCIKKwkJCS8+CiAJCQk8
VG9vbAogCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCiAJCQkJUHJlcHJvY2Vzc29yRGVmaW5p
dGlvbnM9IldJTjMyO05ERUJVRztfTElCIgogCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIgogCQkJCVVz
ZVByZWNvbXBpbGVkSGVhZGVyPSIwIgogCQkJCVdhcm5pbmdMZXZlbD0iMyIKLQkJCQlEZXRlY3Q2
NEJpdFBvcnRhYmlsaXR5UHJvYmxlbXM9IkZBTFNFIgotCQkJCURlYnVnSW5mb3JtYXRpb25Gb3Jt
YXQ9IjMiLz4KKwkJCQlEZXRlY3Q2NEJpdFBvcnRhYmlsaXR5UHJvYmxlbXM9ImZhbHNlIgorCQkJ
CURlYnVnSW5mb3JtYXRpb25Gb3JtYXQ9IjMiCisJCQkvPgorCQkJPFRvb2wKKwkJCQlOYW1lPSJW
Q01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCIKKwkJCS8+CisJCQk8VG9vbAorCQkJCU5hbWU9
IlZDUmVzb3VyY2VDb21waWxlclRvb2wiCisJCQkvPgorCQkJPFRvb2wKKwkJCQlOYW1lPSJWQ1By
ZUxpbmtFdmVudFRvb2wiCisJCQkvPgorCQkJPFRvb2wKKwkJCQlOYW1lPSJWQ0xpYnJhcmlhblRv
b2wiCisJCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXGd0ZXN0LmxpYiIKKwkJCS8+CisJCQk8VG9v
bAorCQkJCU5hbWU9IlZDQUxpbmtUb29sIgorCQkJLz4KKwkJCTxUb29sCisJCQkJTmFtZT0iVkNY
RENNYWtlVG9vbCIKKwkJCS8+CisJCQk8VG9vbAorCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiCisJ
CQkvPgorCQkJPFRvb2wKKwkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCIKKwkJCS8+CisJCQk8VG9vbAor
CQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIgorCQkJLz4KKwkJPC9Db25maWd1cmF0aW9u
PgorCQk8Q29uZmlndXJhdGlvbgorCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgor
CQkJT3V0cHV0RGlyZWN0b3J5PSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcbGliIgorCQkJSW50
ZXJtZWRpYXRlRGlyZWN0b3J5PSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVj
dE5hbWUpIgorCQkJQ29uZmlndXJhdGlvblR5cGU9IjQiCisJCQlJbmhlcml0ZWRQcm9wZXJ0eVNo
ZWV0cz0iJChQcm9qZWN0RGlyKVwuLlwuLlwuLlwuLlxXZWJLaXRMaWJyYXJpZXNcd2luXHRvb2xz
XHZzcHJvcHNcY29tbW9uLnZzcHJvcHMiCisJCQlDaGFyYWN0ZXJTZXQ9IjIiCisJCQk+CisJCQk8
VG9vbAorCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiCisJCQkvPgorCQkJPFRvb2wKKwkJ
CQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCIKKwkJCS8+CisJCQk8VG9vbAorCQkJCU5hbWU9IlZD
WE1MRGF0YUdlbmVyYXRvclRvb2wiCisJCQkvPgorCQkJPFRvb2wKKwkJCQlOYW1lPSJWQ1dlYlNl
cnZpY2VQcm94eUdlbmVyYXRvclRvb2wiCisJCQkvPgorCQkJPFRvb2wKKwkJCQlOYW1lPSJWQ01J
RExUb29sIgorCQkJLz4KKwkJCTxUb29sCisJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJ
CQlPcHRpbWl6YXRpb249IjAiCisJCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO19E
RUJVRztfTElCIgorCQkJCU1pbmltYWxSZWJ1aWxkPSJ0cnVlIgorCQkJCUJhc2ljUnVudGltZUNo
ZWNrcz0iMyIKKwkJCQlSdW50aW1lTGlicmFyeT0iMyIKKwkJCQlVc2VQcmVjb21waWxlZEhlYWRl
cj0iMCIKKwkJCQlXYXJuaW5nTGV2ZWw9IjMiCisJCQkJRGV0ZWN0NjRCaXRQb3J0YWJpbGl0eVBy
b2JsZW1zPSJmYWxzZSIKKwkJCQlEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PSI0IgorCQkJLz4KKwkJ
CTxUb29sCisJCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiCisJCQkvPgog
CQkJPFRvb2wKLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCIvPgorCQkJCU5hbWU9IlZDUmVz
b3VyY2VDb21waWxlclRvb2wiCisJCQkvPgorCQkJPFRvb2wKKwkJCQlOYW1lPSJWQ1ByZUxpbmtF
dmVudFRvb2wiCisJCQkvPgogCQkJPFRvb2wKIAkJCQlOYW1lPSJWQ0xpYnJhcmlhblRvb2wiCi0J
CQkJT3V0cHV0RmlsZT0iJChPdXREaXIpL2d0ZXN0LmxpYiIvPgorCQkJCU91dHB1dEZpbGU9IiQo
T3V0RGlyKVxndGVzdC5saWIiCisJCQkvPgorCQkJPFRvb2wKKwkJCQlOYW1lPSJWQ0FMaW5rVG9v
bCIKKwkJCS8+CisJCQk8VG9vbAorCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiCisJCQkvPgorCQkJ
PFRvb2wKKwkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIgorCQkJLz4KKwkJCTxUb29sCisJCQkJTmFt
ZT0iVkNGeENvcFRvb2wiCisJCQkvPgorCQkJPFRvb2wKKwkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2
ZW50VG9vbCIKKwkJCS8+CisJCTwvQ29uZmlndXJhdGlvbj4KKwkJPENvbmZpZ3VyYXRpb24KKwkJ
CU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJT3V0cHV0RGlyZWN0b3J5PSIk
KENvbmZpZ3VyYXRpb25CdWlsZERpcilcbGliIgorCQkJSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSIk
KENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpIgorCQkJQ29uZmlndXJh
dGlvblR5cGU9IjQiCisJCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iJChQcm9qZWN0RGlyKVwu
LlwuLlwuLlwuLlxXZWJLaXRMaWJyYXJpZXNcd2luXHRvb2xzXHZzcHJvcHNcY29tbW9uLnZzcHJv
cHMiCisJCQlDaGFyYWN0ZXJTZXQ9IjIiCisJCQk+CisJCQk8VG9vbAorCQkJCU5hbWU9IlZDUHJl
QnVpbGRFdmVudFRvb2wiCisJCQkvPgorCQkJPFRvb2wKKwkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxk
VG9vbCIKKwkJCS8+CisJCQk8VG9vbAorCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wi
CisJCQkvPgorCQkJPFRvb2wKKwkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRv
b2wiCisJCQkvPgogCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ01JRExUb29sIi8+CisJCQkJTmFtZT0i
VkNNSURMVG9vbCIKKwkJCS8+CiAJCQk8VG9vbAotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRU
b29sIi8+CisJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQlQcmVwcm9jZXNzb3JEZWZp
bml0aW9ucz0iV0lOMzI7TkRFQlVHO19MSUIiCisJCQkJUnVudGltZUxpYnJhcnk9IjIiCisJCQkJ
VXNlUHJlY29tcGlsZWRIZWFkZXI9IjAiCisJCQkJV2FybmluZ0xldmVsPSIzIgorCQkJCURldGVj
dDY0Qml0UG9ydGFiaWxpdHlQcm9ibGVtcz0iZmFsc2UiCisJCQkJRGVidWdJbmZvcm1hdGlvbkZv
cm1hdD0iMyIKKwkJCS8+CisJCQk8VG9vbAorCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29t
cGlsZXJUb29sIgorCQkJLz4KKwkJCTxUb29sCisJCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVy
VG9vbCIKKwkJCS8+CiAJCQk8VG9vbAotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiLz4K
KwkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiCisJCQkvPgogCQkJPFRvb2wKLQkJCQlOYW1l
PSJWQ1ByZUxpbmtFdmVudFRvb2wiLz4KKwkJCQlOYW1lPSJWQ0xpYnJhcmlhblRvb2wiCisJCQkJ
T3V0cHV0RmlsZT0iJChPdXREaXIpXGd0ZXN0LmxpYiIKKwkJCS8+CiAJCQk8VG9vbAotCQkJCU5h
bWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiLz4KKwkJCQlOYW1lPSJWQ0FMaW5rVG9vbCIKKwkJ
CS8+CiAJCQk8VG9vbAotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCIv
PgorCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiCisJCQkvPgogCQkJPFRvb2wKLQkJCQlOYW1lPSJW
Q1hNTERhdGFHZW5lcmF0b3JUb29sIi8+CisJCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCIKKwkJCS8+
CiAJCQk8VG9vbAotCQkJCU5hbWU9IlZDTWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+CisJ
CQkJTmFtZT0iVkNGeENvcFRvb2wiCisJCQkvPgogCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ0F1eGls
aWFyeU1hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPgorCQkJCU5hbWU9IlZDUG9zdEJ1aWxk
RXZlbnRUb29sIgorCQkJLz4KIAkJPC9Db25maWd1cmF0aW9uPgogCTwvQ29uZmlndXJhdGlvbnM+
CiAJPFJlZmVyZW5jZXM+CkBAIC05OCwxMzcgKzI3MCwyNzcgQEAKIAkJPEZpbHRlcgogCQkJTmFt
ZT0iU291cmNlIEZpbGVzIgogCQkJRmlsdGVyPSJjcHA7YztjeHg7ZGVmO29kbDtpZGw7aHBqO2Jh
dDthc207YXNteCIKLQkJCVVuaXF1ZUlkZW50aWZpZXI9Ins0RkM3MzdGMS1DN0E1LTQzNzYtQTA2
Ni0yQTMyRDc1MkEyRkZ9Ij4KKwkJCVVuaXF1ZUlkZW50aWZpZXI9Ins0RkM3MzdGMS1DN0E1LTQz
NzYtQTA2Ni0yQTMyRDc1MkEyRkZ9IgorCQkJPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXHNyY1xndGVzdC1kZWF0aC10ZXN0LmNjIj4KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHNyY1xn
dGVzdC1kZWF0aC10ZXN0LmNjIgorCQkJCT4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJ
TmFtZT0iRGVidWd8V2luMzIiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xD
b21waWxlclRvb2wiCisJCQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSImcXVvdDsu
LiZxdW90OzsmcXVvdDsuLlxpbmNsdWRlJnF1b3Q7IgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2V8V2lu
MzIiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJ
CQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSImcXVvdDsuLiZxdW90OzsmcXVvdDsu
LlxpbmNsdWRlJnF1b3Q7IgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQkJ
PEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5hbWU9IkRlYnVnfFdpbjMyIj4KKwkJCQkJTmFtZT0i
RGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQk+CiAJCQkJCTxUb29sCiAJCQkJCQlOYW1l
PSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0i
JnF1b3Q7Li4mcXVvdDs7JnF1b3Q7Li5caW5jbHVkZSZxdW90OyIvPgorCQkJCQkJQWRkaXRpb25h
bEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7Li4mcXVvdDs7JnF1b3Q7Li5caW5jbHVkZSZxdW90
OyIKKwkJCQkJLz4KIAkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgogCQkJCTxGaWxlQ29uZmlndXJh
dGlvbgotCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIj4KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWly
b19DRkxpdGV8V2luMzIiCisJCQkJCT4KIAkJCQkJPFRvb2wKIAkJCQkJCU5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiCi0JCQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSImcXVvdDsuLiZx
dW90OzsmcXVvdDsuLlxpbmNsdWRlJnF1b3Q7Ii8+CisJCQkJCQlBZGRpdGlvbmFsSW5jbHVkZURp
cmVjdG9yaWVzPSImcXVvdDsuLiZxdW90OzsmcXVvdDsuLlxpbmNsdWRlJnF1b3Q7IgorCQkJCQkv
PgogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJl
bGF0aXZlUGF0aD0iLi5cc3JjXGd0ZXN0LWZpbGVwYXRoLmNjIj4KKwkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXHNyY1xndGVzdC1maWxlcGF0aC5jYyIKKwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9u
CisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1l
PSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0i
JnF1b3Q7Li4mcXVvdDs7JnF1b3Q7Li5caW5jbHVkZSZxdW90OyIKKwkJCQkJLz4KKwkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxl
YXNlfFdpbjMyIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJU
b29sIgorCQkJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7Li4mcXVvdDs7
JnF1b3Q7Li5caW5jbHVkZSZxdW90OyIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
PgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiI+CisJCQkJ
CU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJPgogCQkJCQk8VG9vbAogCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0
b3JpZXM9IiZxdW90Oy4uJnF1b3Q7OyZxdW90Oy4uXGluY2x1ZGUmcXVvdDsiLz4KKwkJCQkJCUFk
ZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90Oy4uJnF1b3Q7OyZxdW90Oy4uXGluY2x1
ZGUmcXVvdDsiCisJCQkJCS8+CiAJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KIAkJCQk8RmlsZUNv
bmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiI+CisJCQkJCU5hbWU9IlJlbGVh
c2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQk+CiAJCQkJCTxUb29sCiAJCQkJCQlOYW1lPSJW
Q0NMQ29tcGlsZXJUb29sIgotCQkJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1
b3Q7Li4mcXVvdDs7JnF1b3Q7Li5caW5jbHVkZSZxdW90OyIvPgorCQkJCQkJQWRkaXRpb25hbElu
Y2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7Li4mcXVvdDs7JnF1b3Q7Li5caW5jbHVkZSZxdW90OyIK
KwkJCQkJLz4KIAkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgogCQkJPC9GaWxlPgogCQkJPEZpbGUK
LQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHNyY1xndGVzdC1wb3J0LmNjIj4KKwkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXHNyY1xndGVzdC1wb3J0LmNjIgorCQkJCT4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24K
KwkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9
IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIm
cXVvdDsuLiZxdW90OzsmcXVvdDsuLlxpbmNsdWRlJnF1b3Q7IgorCQkJCQkvPgorCQkJCTwvRmls
ZUNvbmZpZ3VyYXRpb24+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5hbWU9IkRlYnVn
fFdpbjMyIj4KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJPgogCQkJCQk8VG9vbAog
CQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGly
ZWN0b3JpZXM9IiZxdW90Oy4uJnF1b3Q7OyZxdW90Oy4uXGluY2x1ZGUmcXVvdDsiLz4KKwkJCQkJ
CUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90Oy4uJnF1b3Q7OyZxdW90Oy4uXGlu
Y2x1ZGUmcXVvdDsiCisJCQkJCS8+CiAJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KIAkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiI+CisJCQkJCU5hbWU9IkRl
YnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJPgogCQkJCQk8VG9vbAogCQkJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZx
dW90Oy4uJnF1b3Q7OyZxdW90Oy4uXGluY2x1ZGUmcXVvdDsiLz4KKwkJCQkJCUFkZGl0aW9uYWxJ
bmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90Oy4uJnF1b3Q7OyZxdW90Oy4uXGluY2x1ZGUmcXVvdDsi
CisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCT4KKwkJCQkJ
PFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQlBZGRpdGlvbmFsSW5j
bHVkZURpcmVjdG9yaWVzPSImcXVvdDsuLiZxdW90OzsmcXVvdDsuLlxpbmNsdWRlJnF1b3Q7Igor
CQkJCQkvPgogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQot
CQkJCVJlbGF0aXZlUGF0aD0iLi5cc3JjXGd0ZXN0LXRlc3QtcGFydC5jYyI+CisJCQkJUmVsYXRp
dmVQYXRoPSIuLlxzcmNcZ3Rlc3QtdGVzdC1wYXJ0LmNjIgorCQkJCT4KKwkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVj
dG9yaWVzPSImcXVvdDsuLiZxdW90OzsmcXVvdDsuLlxpbmNsdWRlJnF1b3Q7IgorCQkJCQkvPgor
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5h
bWU9IkRlYnVnfFdpbjMyIj4KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJPgogCQkJ
CQk8VG9vbAogCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJCUFkZGl0aW9uYWxJ
bmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90Oy4uJnF1b3Q7OyZxdW90Oy4uXGluY2x1ZGUmcXVvdDsi
Lz4KKwkJCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90Oy4uJnF1b3Q7OyZx
dW90Oy4uXGluY2x1ZGUmcXVvdDsiCisJCQkJCS8+CiAJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4K
IAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiI+CisJCQkJ
CU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJPgogCQkJCQk8VG9vbAogCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0
b3JpZXM9IiZxdW90Oy4uJnF1b3Q7OyZxdW90Oy4uXGluY2x1ZGUmcXVvdDsiLz4KKwkJCQkJCUFk
ZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90Oy4uJnF1b3Q7OyZxdW90Oy4uXGluY2x1
ZGUmcXVvdDsiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNv
bmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJ
CT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQlBZGRp
dGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSImcXVvdDsuLiZxdW90OzsmcXVvdDsuLlxpbmNsdWRl
JnF1b3Q7IgorCQkJCQkvPgogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQk8L0ZpbGU+CiAJ
CQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cc3JjXGd0ZXN0LXR5cGVkLXRlc3QuY2MiPgor
CQkJCVJlbGF0aXZlUGF0aD0iLi5cc3JjXGd0ZXN0LXR5cGVkLXRlc3QuY2MiCisJCQkJPgorCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJPgorCQkJ
CQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCUFkZGl0aW9uYWxJ
bmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90Oy4uJnF1b3Q7OyZxdW90Oy4uXGluY2x1ZGUmcXVvdDsi
CisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24KLQkJCQkJTmFtZT0iRGVidWd8V2luMzIiPgorCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgor
CQkJCQk+CiAJCQkJCTxUb29sCiAJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkJ
QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7Li4mcXVvdDs7JnF1b3Q7Li5caW5j
bHVkZSZxdW90OyIvPgorCQkJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7
Li4mcXVvdDs7JnF1b3Q7Li5caW5jbHVkZSZxdW90OyIKKwkJCQkJLz4KIAkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJSZWxlYXNlfFdp
bjMyIj4KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQk+CiAJCQkJ
CTxUb29sCiAJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkJQWRkaXRpb25hbElu
Y2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7Li4mcXVvdDs7JnF1b3Q7Li5caW5jbHVkZSZxdW90OyIv
PgorCQkJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7Li4mcXVvdDs7JnF1
b3Q7Li5caW5jbHVkZSZxdW90OyIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgor
CQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxX
aW4zMiIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIK
KwkJCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90Oy4uJnF1b3Q7OyZxdW90
Oy4uXGluY2x1ZGUmcXVvdDsiCisJCQkJCS8+CiAJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KIAkJ
CTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxzcmNcZ3Rlc3QuY2MiPgor
CQkJCVJlbGF0aXZlUGF0aD0iLi5cc3JjXGd0ZXN0LmNjIgorCQkJCT4KKwkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVj
dG9yaWVzPSImcXVvdDsuLiZxdW90OzsmcXVvdDsuLlxpbmNsdWRlJnF1b3Q7IgorCQkJCQkvPgor
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5h
bWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xD
b21waWxlclRvb2wiCisJCQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSImcXVvdDsu
LiZxdW90OzsmcXVvdDsuLlxpbmNsdWRlJnF1b3Q7IgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5hbWU9IkRlYnVnfFdpbjMy
Ij4KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQk+CiAJCQkJCTxU
b29sCiAJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkJQWRkaXRpb25hbEluY2x1
ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7Li4mcXVvdDs7JnF1b3Q7Li5caW5jbHVkZSZxdW90OyIvPgor
CQkJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7Li4mcXVvdDs7JnF1b3Q7
Li5caW5jbHVkZSZxdW90OyIKKwkJCQkJLz4KIAkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgogCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIj4KKwkJCQkJTmFt
ZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCT4KIAkJCQkJPFRvb2wKIAkJCQkJ
CU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9y
aWVzPSImcXVvdDsuLiZxdW90OzsmcXVvdDsuLlxpbmNsdWRlJnF1b3Q7Ii8+CisJCQkJCQlBZGRp
dGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSImcXVvdDsuLiZxdW90OzsmcXVvdDsuLlxpbmNsdWRl
JnF1b3Q7IgorCQkJCQkvPgogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQk8L0ZpbGU+CiAJ
CTwvRmlsdGVyPgogCQk8RmlsdGVyCiAJCQlOYW1lPSJIZWFkZXIgRmlsZXMiCiAJCQlGaWx0ZXI9
Img7aHBwO2h4eDtobTtpbmw7aW5jO3hzZCIKLQkJCVVuaXF1ZUlkZW50aWZpZXI9Ins5Mzk5NTM4
MC04OUJELTRiMDQtODhFQi02MjVGQkU1MkVCRkJ9Ij4KKwkJCVVuaXF1ZUlkZW50aWZpZXI9Ins5
Mzk5NTM4MC04OUJELTRiMDQtODhFQi02MjVGQkU1MkVCRkJ9IgorCQkJPgogCQkJPEZpbGUKLQkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXGluY2x1ZGVcZ3Rlc3RcaW50ZXJuYWxcZ3Rlc3QtZGVhdGgtdGVz
dC1pbnRlcm5hbC5oIj4KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluY2x1ZGVcZ3Rlc3RcaW50ZXJu
YWxcZ3Rlc3QtZGVhdGgtdGVzdC1pbnRlcm5hbC5oIgorCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxG
aWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxpbmNsdWRlXGd0ZXN0XGd0ZXN0LWRlYXRoLXRlc3Qu
aCI+CisJCQkJUmVsYXRpdmVQYXRoPSIuLlxpbmNsdWRlXGd0ZXN0XGd0ZXN0LWRlYXRoLXRlc3Qu
aCIKKwkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5j
bHVkZVxndGVzdFxpbnRlcm5hbFxndGVzdC1maWxlcGF0aC5oIj4KKwkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXGluY2x1ZGVcZ3Rlc3RcaW50ZXJuYWxcZ3Rlc3QtZmlsZXBhdGguaCIKKwkJCQk+CiAJCQk8
L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cc3JjXGd0ZXN0LWludGVybmFs
LWlubC5oIj4KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHNyY1xndGVzdC1pbnRlcm5hbC1pbmwuaCIK
KwkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5jbHVk
ZVxndGVzdFxpbnRlcm5hbFxndGVzdC1pbnRlcm5hbC5oIj4KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XGluY2x1ZGVcZ3Rlc3RcaW50ZXJuYWxcZ3Rlc3QtaW50ZXJuYWwuaCIKKwkJCQk+CiAJCQk8L0Zp
bGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5jbHVkZVxndGVzdFxndGVzdC1t
ZXNzYWdlLmgiPgorCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5jbHVkZVxndGVzdFxndGVzdC1tZXNz
YWdlLmgiCisJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XGluY2x1ZGVcZ3Rlc3RcaW50ZXJuYWxcZ3Rlc3QtcG9ydC5oIj4KKwkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXGluY2x1ZGVcZ3Rlc3RcaW50ZXJuYWxcZ3Rlc3QtcG9ydC5oIgorCQkJCT4KIAkJCTwvRmls
ZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxpbmNsdWRlXGd0ZXN0XGd0ZXN0LXNw
aS5oIj4KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluY2x1ZGVcZ3Rlc3RcZ3Rlc3Qtc3BpLmgiCisJ
CQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluY2x1ZGVc
Z3Rlc3RcaW50ZXJuYWxcZ3Rlc3Qtc3RyaW5nLmgiPgorCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5j
bHVkZVxndGVzdFxpbnRlcm5hbFxndGVzdC1zdHJpbmcuaCIKKwkJCQk+CiAJCQk8L0ZpbGU+CiAJ
CQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5jbHVkZVxndGVzdFxndGVzdC5oIj4KKwkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXGluY2x1ZGVcZ3Rlc3RcZ3Rlc3QuaCIKKwkJCQk+CiAJCQk8L0Zp
bGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5jbHVkZVxndGVzdFxndGVzdF9w
cmVkX2ltcGwuaCI+CisJCQkJUmVsYXRpdmVQYXRoPSIuLlxpbmNsdWRlXGd0ZXN0XGd0ZXN0X3By
ZWRfaW1wbC5oIgorCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRo
PSIuLlxpbmNsdWRlXGd0ZXN0XGd0ZXN0X3Byb2QuaCI+CisJCQkJUmVsYXRpdmVQYXRoPSIuLlxp
bmNsdWRlXGd0ZXN0XGd0ZXN0X3Byb2QuaCIKKwkJCQk+CiAJCQk8L0ZpbGU+CiAJCTwvRmlsdGVy
PgogCTwvRmlsZXM+CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9ndGVzdC94Y29kZS9D
b25maWcvR2VuZXJhbC54Y2NvbmZpZyBiL1NvdXJjZS9UaGlyZFBhcnR5L2d0ZXN0L3hjb2RlL0Nv
bmZpZy9HZW5lcmFsLnhjY29uZmlnCmluZGV4IGYyM2UzMjIuLjE4OTc2ZDIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9UaGlyZFBhcnR5L2d0ZXN0L3hjb2RlL0NvbmZpZy9HZW5lcmFsLnhjY29uZmlnCisr
KyBiL1NvdXJjZS9UaGlyZFBhcnR5L2d0ZXN0L3hjb2RlL0NvbmZpZy9HZW5lcmFsLnhjY29uZmln
CkBAIC04LDcgKzgsNyBAQAogLy8gCiAKIC8vIEJ1aWxkIGZvciBQUEMgYW5kIEludGVsLCAzMi0g
YW5kIDY0LWJpdAotQVJDSFMgPSBpMzg2IHg4Nl82NCBwcGMgcHBjNjQKK0FSQ0hTID0gaTM4NiB4
ODZfNjQKIAogLy8gWmVyb2xpbmsgcHJldmVudHMgbGluayB3YXJuaW5ncyBzbyB0dXJuIGl0IG9m
ZgogWkVST19MSU5LID0gTk8KQEAgLTMyLDEwICszMiw0NCBAQCBBTFdBWVNfU0VBUkNIX1VTRVJf
UEFUSFMgPSBOTwogLy8gVHVybiBvbiBwb3NpdGlvbiBkZXBlbmRlbnQgY29kZSBmb3IgbW9zdCBj
YXNlcyAob3ZlcnJpZGRlbiB3aGVyZSBhcHByb3ByaWF0ZSkKIEdDQ19EWU5BTUlDX05PX1BJQyA9
IFlFUwogCi0vLyBEZWZhdWx0IFNESyBhbmQgbWluaW11bSBPUyB2ZXJzaW9uIGlzIDEwLjQKLVNE
S1JPT1QgPSAkKERFVkVMT1BFUl9TREtfRElSKS9NYWNPU1gxMC40dS5zZGsKLU1BQ09TWF9ERVBM
T1lNRU5UX1RBUkdFVCA9IDEwLjQKLUdDQ19WRVJTSU9OID0gNC4wCitUQVJHRVRfTUFDX09TX1hf
VkVSU0lPTl9NQUpPUj1NQUNfT1NfVkVSU0lPTl9NQUpPUgorCisvLyBVc2UgR0NDIDQuMiB3aXRo
IFhjb2RlIDMuMSwgd2hpY2ggaW5jbHVkZXMgR0NDIDQuMiBidXQgZGVmYXVsdHMgdG8gR0NDIDQu
MC4KKy8vIE5vdGUgdGhhdCBYY29kZSB2ZXJzaW9ucyBhcyBuZXcgYXMgMy4xLjIgdXNlIFhDT0RF
X1ZFUlNJT05fQUNUVUFMIGZvciB0aGUgbWlub3IgdmVyc2lvbgorLy8gbnVtYmVyLiBOZXdlciB2
ZXJzaW9ucyBvZiBYY29kZSB1c2UgWENPREVfVkVSU0lPTl9NSU5PUiBmb3IgdGhlIG1pbm9yIHZl
cnNpb24sIGFuZAorLy8gWENPREVfVkVSU0lPTl9BQ1RVQUwgZm9yIHRoZSBmdWxsIHZlcnNpb24g
bnVtYmVyLgorVEFSR0VUX0dDQ19WRVJTSU9OID0gJChUQVJHRVRfR0NDX1ZFUlNJT05fJChSRUFM
X1BMQVRGT1JNX05BTUUpKTsKK1RBUkdFVF9HQ0NfVkVSU0lPTl9pcGhvbmVvcyA9IExMVk1fR0ND
XzQyOworVEFSR0VUX0dDQ19WRVJTSU9OX2lwaG9uZXNpbXVsYXRvciA9IEdDQ180MjsKK1RBUkdF
VF9HQ0NfVkVSU0lPTl9tYWNvc3ggPSAkKFRBUkdFVF9HQ0NfVkVSU0lPTl9tYWNvc3hfJChUQVJH
RVRfTUFDX09TX1hfVkVSU0lPTl9NQUpPUikpOworVEFSR0VUX0dDQ19WRVJTSU9OX21hY29zeF8g
PSAkKFRBUkdFVF9HQ0NfVkVSU0lPTl9tYWNvc3hfMTA0MCk7CitUQVJHRVRfR0NDX1ZFUlNJT05f
bWFjb3N4XzEwNDAgPSBHQ0NfNDA7CitUQVJHRVRfR0NDX1ZFUlNJT05fbWFjb3N4XzEwNTAgPSAk
KFRBUkdFVF9HQ0NfVkVSU0lPTl9tYWNvc3hfMTA1MF8kKFhDT0RFX1ZFUlNJT05fTUlOT1IpKTsK
K1RBUkdFVF9HQ0NfVkVSU0lPTl9tYWNvc3hfMTA1MF8gPSAkKFRBUkdFVF9HQ0NfVkVSU0lPTl9t
YWNvc3hfMTA1MF8kKFhDT0RFX1ZFUlNJT05fQUNUVUFMKSk7CitUQVJHRVRfR0NDX1ZFUlNJT05f
bWFjb3N4XzEwNTBfMDMxMCA9IEdDQ180MjsKK1RBUkdFVF9HQ0NfVkVSU0lPTl9tYWNvc3hfMTA1
MF8wMzIwID0gR0NDXzQyOworVEFSR0VUX0dDQ19WRVJTSU9OX21hY29zeF8xMDYwID0gR0NDXzQy
OworVEFSR0VUX0dDQ19WRVJTSU9OX21hY29zeF8xMDcwID0gJChUQVJHRVRfR0NDX1ZFUlNJT05f
bWFjb3N4XzEwNzBfJChDT05GSUdVUkFUSU9OKSk7CitUQVJHRVRfR0NDX1ZFUlNJT05fbWFjb3N4
XzEwNzBfRGVidWcgPSBMTFZNX0NPTVBJTEVSOworVEFSR0VUX0dDQ19WRVJTSU9OX21hY29zeF8x
MDcwX1JlbGVhc2UgPSBMTFZNX0dDQ180MjsKK1RBUkdFVF9HQ0NfVkVSU0lPTl9tYWNvc3hfMTA3
MF9Qcm9kdWN0aW9uID0gTExWTV9HQ0NfNDI7CisKK0dDQ19WRVJTSU9OID0gJChHQ0NfVkVSU0lP
Tl8kKFRBUkdFVF9HQ0NfVkVSU0lPTikpOworR0NDX1ZFUlNJT05fR0NDXzQwID0gNC4wOworR0ND
X1ZFUlNJT05fR0NDXzQyID0gNC4yOworR0NDX1ZFUlNJT05fTExWTV9HQ0NfNDIgPSBjb20uYXBw
bGUuY29tcGlsZXJzLmxsdm1nY2M0MjsKK0dDQ19WRVJTSU9OX0xMVk1fQ09NUElMRVIgPSBjb20u
YXBwbGUuY29tcGlsZXJzLmxsdm0uY2xhbmcuMV8wOworCisvLyBJZiB0aGUgdGFyZ2V0IE1hYyBP
UyBYIHZlcnNpb24gZG9lcyBub3QgbWF0Y2ggdGhlIGN1cnJlbnQgTWFjIE9TIFggdmVyc2lvbiwK
Ky8vIHRoZW4gd2UnbGwgd2FudCB0byBidWlsZCB1c2luZyB0aGUgdGFyZ2V0IHZlcnNpb24ncyBT
REsuCitTREtST09UID0gJChTREtST09UXyQoTUFDX09TX1hfVkVSU0lPTl9NQUpPUilfJChUQVJH
RVRfTUFDX09TX1hfVkVSU0lPTl9NQUpPUikpOworU0RLUk9PVF8xMDUwXzEwNDAgPSBtYWNvc3gx
MC40OworU0RLUk9PVF8xMDYwXzEwNDAgPSBtYWNvc3gxMC40OworU0RLUk9PVF8xMDYwXzEwNTAg
PSBtYWNvc3gxMC41OworU0RLUk9PVF8xMDcwXzEwNDAgPSBtYWNvc3gxMC40OworU0RLUk9PVF8x
MDcwXzEwNTAgPSBtYWNvc3gxMC41OworU0RLUk9PVF8xMDcwXzEwNjAgPSBtYWNvc3gxMC42Owor
CiAKIC8vIFZFUlNJT05JTkcgQlVJTEQgU0VUVElOR1MgKHVzZWQgaW4gSW5mby5wbGlzdCkKIEdU
RVNUX1ZFUlNJT05JTkZPX0FCT1VUID0gIMKpIDIwMDggR29vZ2xlIEluYy4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9UaGlyZFBhcnR5L2d0ZXN0L3hjb2RlL01ha2VmaWxlIGIvU291cmNlL1RoaXJkUGFy
dHkvZ3Rlc3QveGNvZGUvTWFrZWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uMmM4ZTg0OQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2d0ZXN0L3hj
b2RlL01ha2VmaWxlCkBAIC0wLDAgKzEsMiBAQAorU0NSSVBUU19QQVRIID89IC4uLy4uLy4uLy4u
L1Rvb2xzL1NjcmlwdHMKK2luY2x1ZGUgLi4vLi4vLi4vLi4vTWFrZWZpbGUuc2hhcmVkCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbi9D
aGFuZ2VMb2cKaW5kZXggNDA2OGU3OS4uNGRmNTVmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE0IEBACisyMDExLTA1LTEwICBEbWl0cnkgTG9tb3YgIDxkc2xvbW92QGdvb2dsZS5jb20+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU5NTYxCisgICAgICAgIFN3aXRjaCBU
ZXN0V2ViS2l0QVBJIHRvIEdUZXN0CisKKyAgICAgICAgRml4ZXMgTWFrZWZpbGVzIGFuZCBXaW5D
YWlybyBidWlsZCBhcyB3ZWxsCisKKyAgICAgICAgKiBXZWJLaXQudmNwcm9qL1dlYktpdC5zbG46
CisKIDIwMTEtMDUtMDkgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29t
PgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI4NjEwOC4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvd2luL1dlYktpdC52Y3Byb2ovV2ViS2l0LnNsbiBiL1NvdXJjZS9XZWJL
aXQvd2luL1dlYktpdC52Y3Byb2ovV2ViS2l0LnNsbgppbmRleCBiMmI4ZDkyLi5lNDZiZjFiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJLaXQudmNwcm9qL1dlYktpdC5zbG4KKysr
IGIvU291cmNlL1dlYktpdC93aW4vV2ViS2l0LnZjcHJvai9XZWJLaXQuc2xuCkBAIC0xNTMsNiAr
MTUzLDggQEAgUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0i
KSA9ICJUZXN0V2ViS2l0QVBJSW5qZWN0ZWRCdW5kbGUKIAkJezNFNDhBQjIzLUQyNDktNDg4Ri1B
MUM0LTQzQ0RGNTJGQkQyOH0gPSB7M0U0OEFCMjMtRDI0OS00ODhGLUExQzQtNDNDREY1MkZCRDI4
fQogCUVuZFByb2plY3RTZWN0aW9uCiBFbmRQcm9qZWN0CitQcm9qZWN0KCJ7OEJDOUNFQjgtOEI0
QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gImd0ZXN0LW1kIiwgIi4uXC4uXC4uXFRoaXJk
UGFydHlcZ3Rlc3RcbXN2Y1xndGVzdC1tZC52Y3Byb2oiLCAie0M4RjZDMTcyLTU2RjItNEU3Ni1C
NUZBLUMzQjQyM0IzMUJFOH0iCitFbmRQcm9qZWN0CiBHbG9iYWwKIAlHbG9iYWxTZWN0aW9uKFNv
bHV0aW9uQ29uZmlndXJhdGlvblBsYXRmb3JtcykgPSBwcmVTb2x1dGlvbgogCQlEZWJ1Z19BbGx8
V2luMzIgPSBEZWJ1Z19BbGx8V2luMzIKQEAgLTUwOSw2ICs1MTEsMTggQEAgR2xvYmFsCiAJCXtC
MDEwMTYwNC1CNDgzLTRGOEMtOUM1MS05MEI0NkEyQjFDRDN9LlByb2R1Y3Rpb258V2luMzIuQnVp
bGQuMCA9IFByb2R1Y3Rpb258V2luMzIKIAkJe0IwMTAxNjA0LUI0ODMtNEY4Qy05QzUxLTkwQjQ2
QTJCMUNEM30uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyCiAJCXtCMDEw
MTYwNC1CNDgzLTRGOEMtOUM1MS05MEI0NkEyQjFDRDN9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9
IFJlbGVhc2V8V2luMzIKKyAgICAgICAgICAgICAgICB7QzhGNkMxNzItNTZGMi00RTc2LUI1RkEt
QzNCNDIzQjMxQkU4fS5EZWJ1Z19BbGx8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzIKKwkJ
e0M4RjZDMTcyLTU2RjItNEU3Ni1CNUZBLUMzQjQyM0IzMUJFOH0uRGVidWdfQWxsfFdpbjMyLkJ1
aWxkLjAgPSBEZWJ1Z3xXaW4zMgorCQl7QzhGNkMxNzItNTZGMi00RTc2LUI1RkEtQzNCNDIzQjMx
QkU4fS5EZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWdfQ2Fpcm9fQ0ZM
aXRlfFdpbjMyCisJCXtDOEY2QzE3Mi01NkYyLTRFNzYtQjVGQS1DM0I0MjNCMzFCRTh9LkRlYnVn
X0NhaXJvX0NGTGl0ZXxXaW4zMi5CdWlsZC4wID0gRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyCisJ
CXtDOEY2QzE3Mi01NkYyLTRFNzYtQjVGQS1DM0I0MjNCMzFCRTh9LkRlYnVnfFdpbjMyLkFjdGl2
ZUNmZyA9IERlYnVnfFdpbjMyCisJCXtDOEY2QzE3Mi01NkYyLTRFNzYtQjVGQS1DM0I0MjNCMzFC
RTh9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMgorCQl7QzhGNkMxNzItNTZGMi00
RTc2LUI1RkEtQzNCNDIzQjMxQkU4fS5Qcm9kdWN0aW9ufFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVh
c2V8V2luMzIKKwkJe0M4RjZDMTcyLTU2RjItNEU3Ni1CNUZBLUMzQjQyM0IzMUJFOH0uUHJvZHVj
dGlvbnxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMgorCQl7QzhGNkMxNzItNTZGMi00RTc2
LUI1RkEtQzNCNDIzQjMxQkU4fS5SZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMi5BY3RpdmVDZmcg
PSBSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMgorCQl7QzhGNkMxNzItNTZGMi00RTc2LUI1RkEt
QzNCNDIzQjMxQkU4fS5SZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFz
ZV9DYWlyb19DRkxpdGV8V2luMzIKKwkJe0M4RjZDMTcyLTU2RjItNEU3Ni1CNUZBLUMzQjQyM0Iz
MUJFOH0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyCisJCXtDOEY2QzE3
Mi01NkYyLTRFNzYtQjVGQS1DM0I0MjNCMzFCRTh9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJl
bGVhc2V8V2luMzIKIAlFbmRHbG9iYWxTZWN0aW9uCiAJR2xvYmFsU2VjdGlvbihTb2x1dGlvblBy
b3BlcnRpZXMpID0gcHJlU29sdXRpb24KIAkJSGlkZVNvbHV0aW9uTm9kZSA9IEZBTFNFCmRpZmYg
LS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYTAzNDNlYS4u
ZGEwNmY5MiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI5IEBACisyMDExLTA1LTEwICBEbWl0cnkgTG9tb3YgIDxkc2xvbW92QGdv
b2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU5NTYxCisgICAgICAg
IFN3aXRjaCBUZXN0V2ViS2l0QVBJIHRvIEdUZXN0CisKKyAgICAgICAgRml4ZXMgTWFrZWZpbGVz
IGFuZCBXaW5DYWlybyBidWlsZCBhcyB3ZWxsCisKKyAgICAgICAgKiBNYWtlZmlsZToKKyAgICAg
ICAgKiBTY3JpcHRzL2J1aWxkLWFwaS10ZXN0czoKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1hcGkt
dGVzdHM6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9UZXN0V2ViS2l0
QVBJQ29tbW9uLnZzcHJvcHM6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0Lmg6CisgICAg
ICAgICogVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvVmVjdG9yQmFzaWMuY3BwOgor
ICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9U
ZXN0c0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VGVzdHNDb250cm9s
bGVyOjpUZXN0c0NvbnRyb2xsZXIpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VGVzdHNDb250
cm9sbGVyOjpkdW1wVGVzdE5hbWVzKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRlc3RzQ29u
dHJvbGxlcjo6cnVuVGVzdE5hbWVkKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRlc3RzQ29u
dHJvbGxlcjo6cnVuQWxsVGVzdHMpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHNDb250
cm9sbGVyLmg6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9tYWMvbWFpbi5tbToKKyAgICAgICAg
KG1haW4pOgorCiAyMDExLTA1LTExICBKZXNzaWUgQmVybGluICA8amJlcmxpbkBhcHBsZS5jb20+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCmRpZmYgLS1naXQgYS9Ub29scy9N
YWtlZmlsZSBiL1Rvb2xzL01ha2VmaWxlCmluZGV4IDUxYWM3MDMuLmFkYzNhZTYgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL01ha2VmaWxlCisrKyBiL1Rvb2xzL01ha2VmaWxlCkBAIC0xLDQgKzEsNCBAQAot
TU9EVUxFUyA9IER1bXBSZW5kZXJUcmVlIFdlYktpdFRlc3RSdW5uZXIgTWluaUJyb3dzZXIgVGVz
dFdlYktpdEFQSQorTU9EVUxFUyA9IER1bXBSZW5kZXJUcmVlIFdlYktpdFRlc3RSdW5uZXIgTWlu
aUJyb3dzZXIgLi4vU291cmNlL1RoaXJkUGFydHkvZ3Rlc3QveGNvZGUgVGVzdFdlYktpdEFQSQog
CiBhbGw6CiAJQGZvciBkaXIgaW4gJChNT0RVTEVTKTsgZG8gJHtNQUtFfSAkQCAtQyAkJGRpcjsg
ZXhpdF9zdGF0dXM9JCQ/OyBcCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL2J1aWxkLWFwaS10
ZXN0cyBiL1Rvb2xzL1NjcmlwdHMvYnVpbGQtYXBpLXRlc3RzCmluZGV4IGRkMjIzMWMuLmY2ZGRl
YzAgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvYnVpbGQtYXBpLXRlc3RzCisrKyBiL1Rvb2xz
L1NjcmlwdHMvYnVpbGQtYXBpLXRlc3RzCkBAIC01NiwxMiArNTYsMTUgQEAgc2V0Q29uZmlndXJh
dGlvbigpOwogY2hkaXJXZWJLaXQoKTsKIAogIyBCdWlsZAotY2hkaXIgIlRvb2xzL1Rlc3RXZWJL
aXRBUEkiIG9yIGRpZTsKIAogbXkgJHJlc3VsdDsKIGlmIChpc0FwcGxlTWFjV2ViS2l0KCkpIHsK
KyAgICBjaGRpciAiU291cmNlL1RoaXJkUGFydHkvZ3Rlc3QiOworICAgIGJ1aWxkWENvZGVQcm9q
ZWN0KCJ4Y29kZS9ndGVzdCIsICRjbGVhbiwgWGNvZGVPcHRpb25zKCksIEBBUkdWKTsKKyAgICBj
aGRpciAiLi4vLi4vLi4vVG9vbHMvVGVzdFdlYktpdEFQSSIgb3IgZGllOwogICAgICRyZXN1bHQg
PSBidWlsZFhDb2RlUHJvamVjdCgiVGVzdFdlYktpdEFQSSIsICRjbGVhbiwgWGNvZGVPcHRpb25z
KCksIEBBUkdWKTsKIH0gZWxzaWYgKGlzQXBwbGVXaW5XZWJLaXQoKSkgeworICAgIGNoZGlyICJU
b29scy9UZXN0V2ViS2l0QVBJIiBvciBkaWU7CiAgICAgJHJlc3VsdCA9IGJ1aWxkVmlzdWFsU3R1
ZGlvUHJvamVjdCgid2luL1Rlc3RXZWJLaXRBUEkuc2xuIiwgJGNsZWFuKTsKIH0gZWxzZSB7CiAg
ICAgZGllICJUZXN0V2ViS2l0QVBJIGlzIG5vdCBzdXBwb3J0ZWQgb24gdGhpcyBwbGF0Zm9ybS5c
biI7CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3J1bi1hcGktdGVzdHMgYi9Ub29scy9TY3Jp
cHRzL3J1bi1hcGktdGVzdHMKaW5kZXggOTcxMzY2Mi4uMzBlNDNhZCAxMDA3NTUKLS0tIGEvVG9v
bHMvU2NyaXB0cy9ydW4tYXBpLXRlc3RzCisrKyBiL1Rvb2xzL1NjcmlwdHMvcnVuLWFwaS10ZXN0
cwpAQCAtMTIyLDcgKzEyMiw3IEBAIHN1YiBydW5BbGxUZXN0c0luU3VpdGUoJCkKIHN1YiBydW5U
ZXN0KCQkKQogewogICAgIG15ICgkc3VpdGUsICR0ZXN0TmFtZSkgPSBAXzsKLSAgICBteSAkdGVz
dCA9ICRzdWl0ZSAuICIvIiAuICR0ZXN0TmFtZTsKKyAgICBteSAkdGVzdCA9ICRzdWl0ZSAuICIu
IiAuICR0ZXN0TmFtZTsKIAogICAgIHByaW50ICIgICAgVGVzdDogJHRlc3ROYW1lIC0+ICI7CiAK
QEAgLTIzNSw3ICsyMzUsNyBAQCBzdWIgcG9wdWxhdGVUZXN0cygpCiAgICAgbXkgJWtleWVkVGVz
dHMgPSAoKTsKICAgICBmb3IgbXkgJHRlc3QgKEB0ZXN0cykgewogICAgICAgICAkdGVzdCA9fiBz
L1tcclxuXSokLy87Ci0gICAgICAgIG15ICgkc3VpdGUsICR0ZXN0TmFtZSkgPSBzcGxpdCgvXC8v
LCAkdGVzdCk7CisgICAgICAgIG15ICgkc3VpdGUsICR0ZXN0TmFtZSkgPSBzcGxpdCgvXC4vLCAk
dGVzdCk7CiAgICAgICAgIHB1c2ggQHska2V5ZWRUZXN0c3skc3VpdGV9fSwgJHRlc3ROYW1lOwog
ICAgIH0KICAgICAKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlv
bnMvVGVzdFdlYktpdEFQSUNvbW1vbi52c3Byb3BzIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9Db25m
aWd1cmF0aW9ucy9UZXN0V2ViS2l0QVBJQ29tbW9uLnZzcHJvcHMKaW5kZXggNjc0MmZmMS4uYWVi
ZmM5MiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9UZXN0
V2ViS2l0QVBJQ29tbW9uLnZzcHJvcHMKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1
cmF0aW9ucy9UZXN0V2ViS2l0QVBJQ29tbW9uLnZzcHJvcHMKQEAgLTYsMTIgKzYsMTIgQEAKIAk+
CiAJPFRvb2wKIAkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJQWRkaXRpb25hbEluY2x1ZGVE
aXJlY3Rvcmllcz0iJnF1b3Q7JChQcm9qZWN0RGlyKSZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
XC4uJnF1b3Q7OyZxdW90OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxpbmNsdWRlJnF1b3Q7OyZx
dW90OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxpbmNsdWRlXFdlYkNvcmVcRm9yd2FyZGluZ0hl
YWRlcnMmcXVvdDs7JnF1b3Q7JChDb25maWd1cmF0aW9uQnVpbGREaXIpXGluY2x1ZGVccHJpdmF0
ZSZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcaW5jbHVkZSZxdW90OyIKKyAgICAg
ICAgICAgICAgICBBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSImcXVvdDskKFByb2plY3RE
aXIpJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi4mcXVvdDs7JnF1b3Q7JChDb25maWd1cmF0
aW9uQnVpbGREaXIpXGluY2x1ZGUmcXVvdDs7JnF1b3Q7JChDb25maWd1cmF0aW9uQnVpbGREaXIp
XGluY2x1ZGVcV2ViQ29yZVxGb3J3YXJkaW5nSGVhZGVycyZxdW90OzsmcXVvdDskKENvbmZpZ3Vy
YXRpb25CdWlsZERpcilcaW5jbHVkZVxwcml2YXRlJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFy
aWVzRGlyKVxpbmNsdWRlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cLi5cU291cmNl
XFRoaXJkUGFydHlcZ3Rlc3RcaW5jbHVkZSZxdW90OyIKIAkJRm9yY2VkSW5jbHVkZUZpbGVzPSJU
ZXN0V2ViS2l0QVBJUHJlZml4LmgiCiAJLz4KIAk8VG9vbAogCQlOYW1lPSJWQ0xpbmtlclRvb2wi
Ci0JCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IldlYktpdCQoV2ViS2l0RExMQ29uZmlnU3VmZml4
KS5saWIgSmF2YVNjcmlwdENvcmUkKFdlYktpdERMTENvbmZpZ1N1ZmZpeCkubGliIgorCQlBZGRp
dGlvbmFsRGVwZW5kZW5jaWVzPSJXZWJLaXQkKFdlYktpdERMTENvbmZpZ1N1ZmZpeCkubGliIEph
dmFTY3JpcHRDb3JlJChXZWJLaXRETExDb25maWdTdWZmaXgpLmxpYiBndGVzdC5saWIiCiAJCVN1
YlN5c3RlbT0iMSIKIAkvPgogPC9WaXN1YWxTdHVkaW9Qcm9wZXJ0eVNoZWV0PgpkaWZmIC0tZ2l0
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0LmggYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Qu
aAppbmRleCBlZDc3MmQ1Li5mOTAzNTA3IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3QuaAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3QuaApAQCAtMjgsNjAgKzI4LDE4
IEBACiAKICNpbmNsdWRlICJUZXN0c0NvbnRyb2xsZXIuaCIKIAotbmFtZXNwYWNlIFRlc3RXZWJL
aXRBUEkgewotCi0vLyBBYnN0cmFjdCBiYXNlIGNsYXNzIHRoYXQgYWxsIHRlc3RzIGluaGVyaXQg
ZnJvbS4KLWNsYXNzIFRlc3QgewotcHVibGljOgotICAgIHZpcnR1YWwgflRlc3QoKSB7IH0KLSAg
ICAKLSAgICB2aXJ0dWFsIHZvaWQgcnVuKCkgPSAwOwotICAgIHN0ZDo6c3RyaW5nIG5hbWUoKSBj
b25zdCB7IHJldHVybiBtX2lkZW50aWZpZXI7IH0KLSAgICAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFt
ZSBUZXN0Q2xhc3NUeT4gY2xhc3MgUmVnaXN0ZXIgewotICAgIHB1YmxpYzoKLSAgICAgICAgUmVn
aXN0ZXIoY29uc3Qgc3RkOjpzdHJpbmcmIHRlc3RTdWl0ZSwgY29uc3Qgc3RkOjpzdHJpbmcmIHRl
c3RDYXNlKQotICAgICAgICB7Ci0gICAgICAgICAgICBUZXN0c0NvbnRyb2xsZXI6OnNoYXJlZCgp
LnJlZ2lzdGVyQ3JlYXRlVGVzdEZ1bmN0aW9uKHRlc3RTdWl0ZSArICIvIiArIHRlc3RDYXNlLCBS
ZWdpc3Rlcjo6Y3JlYXRlKTsKLSAgICAgICAgfQotICAgIAotICAgIHByaXZhdGU6Ci0gICAgICAg
IHN0YXRpYyBUZXN0KiBjcmVhdGUoY29uc3Qgc3RkOjpzdHJpbmcmIGlkZW50aWZpZXIpIAotICAg
ICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gbmV3IFRlc3RDbGFzc1R5KGlkZW50aWZpZXIpOwot
ICAgICAgICB9Ci0gICAgfTsKLQotcHJvdGVjdGVkOgotICAgIFRlc3QoY29uc3Qgc3RkOjpzdHJp
bmcmIGlkZW50aWZpZXIpCi0gICAgICAgIDogbV9pZGVudGlmaWVyKGlkZW50aWZpZXIpCi0gICAg
ewotICAgIH0KKyNpbmNsdWRlIDxndGVzdC9ndGVzdC5oPgogCi0gICAgc3RkOjpzdHJpbmcgbV9p
ZGVudGlmaWVyOwotfTsKLQotI2RlZmluZSBURVNUX0NMQVNTX05BTUUodGVzdFN1aXRlLCB0ZXN0
Q2FzZU5hbWUpIHRlc3RTdWl0ZSMjdGVzdENhc2VOYW1lIyNfVGVzdAotI2RlZmluZSBURVNUX1JF
R0lTVFJBUl9OQU1FKHRlc3RTdWl0ZSwgdGVzdENhc2VOYW1lKSB0ZXN0U3VpdGUjI3Rlc3RDYXNl
TmFtZSMjX1JlZ2lzdHJhcgorbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgewogCi0vLyBVc2UgdGhp
cyB0byBkZWZpbmUgYSBuZXcgdGVzdC4KLSNkZWZpbmUgVEVTVCh0ZXN0U3VpdGUsIHRlc3RDYXNl
TmFtZSkgXAotICAgIGNsYXNzIFRFU1RfQ0xBU1NfTkFNRSh0ZXN0U3VpdGUsIHRlc3RDYXNlTmFt
ZSkgOiBwdWJsaWMgVGVzdCB7IFwKLSAgICBwdWJsaWM6IFwKLSAgICAgICAgVEVTVF9DTEFTU19O
QU1FKHRlc3RTdWl0ZSwgdGVzdENhc2VOYW1lKShjb25zdCBzdGQ6OnN0cmluZyYgaWRlbnRpZmll
cikgXAotICAgICAgICAgICAgOiBUZXN0KGlkZW50aWZpZXIpIFwKLSAgICAgICAgeyBcCisjZGVm
aW5lIFRFU1RfQVNTRVJUKGV4cHJlc3Npb24pIEVYUEVDVF9UUlVFKGV4cHJlc3Npb24pCisjZGVm
aW5lIFRFU1RfQVNTRVJUX1JFVFVSTihleHByZXNzaW9uLCByZXR1cm5WYWx1ZSkgXAorICAgIGRv
IHsgXAorICAgICAgICBpZiAoIShleHByZXNzaW9uKSkgeyBcCisgICAgICAgICAgICBFWFBFQ1Rf
RkFMU0UodHJ1ZSkgPDwgI2V4cHJlc3Npb247IFwKKyAgICAgICAgICAgIHJldHVybiAocmV0dXJu
VmFsdWUpOyBcCiAgICAgICAgIH0gXAotICAgICAgICB2aXJ0dWFsIHZvaWQgcnVuKCk7IFwKLSAg
ICB9OyBcCi0gICAgXAotICAgIHN0YXRpYyBUZXN0OjpSZWdpc3RlcjxURVNUX0NMQVNTX05BTUUo
dGVzdFN1aXRlLCB0ZXN0Q2FzZU5hbWUpPiBURVNUX1JFR0lTVFJBUl9OQU1FKHRlc3RTdWl0ZSwg
dGVzdENhc2VOYW1lKSgjdGVzdFN1aXRlLCAjdGVzdENhc2VOYW1lKTsgXAotICAgIFwKLSAgICB2
b2lkIFRFU1RfQ0xBU1NfTkFNRSh0ZXN0U3VpdGUsIHRlc3RDYXNlTmFtZSk6OnJ1bigpCi0KLSNk
ZWZpbmUgX1RFU1RfQVNTRVJUX0hFTFBFUihleHByZXNzaW9uLCByZXR1cm5TdGF0ZW1lbnQpIGRv
IHsgaWYgKCEoZXhwcmVzc2lvbikpIHsgVGVzdHNDb250cm9sbGVyOjpzaGFyZWQoKS50ZXN0RmFp
bGVkKF9fRklMRV9fLCBfX0xJTkVfXywgI2V4cHJlc3Npb24pOyByZXR1cm5TdGF0ZW1lbnQ7IH0g
fSB3aGlsZSAoMCkKLSNkZWZpbmUgVEVTVF9BU1NFUlQoZXhwcmVzc2lvbikgX1RFU1RfQVNTRVJU
X0hFTFBFUihleHByZXNzaW9uLCByZXR1cm4pCi0jZGVmaW5lIFRFU1RfQVNTRVJUX1JFVFVSTihl
eHByZXNzaW9uLCByZXR1cm5WYWx1ZSkgX1RFU1RfQVNTRVJUX0hFTFBFUihleHByZXNzaW9uLCBy
ZXR1cm4gKHJldHVyblZhbHVlKSkKKyAgICB9IHdoaWxlICgwKQogCiB9IC8vIG5hbWVzcGFjZSBU
ZXN0V2ViS2l0QVBJCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktp
dEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggODZiNjkxZC4uZjAwOTcz
MCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJ
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTU3LDYgKzU3LDcgQEAKIAkJQzBBREJFOTYx
MkZDQTc5QjAwRDJDMTI5IC8qIHNpbXBsZS1mb3JtLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzBBREJFODQxMkZDQTZCNjAwRDJDMTI5
IC8qIHNpbXBsZS1mb3JtLmh0bWwgKi87IH07CiAJCUMwQkQ2NjlEMTMxRDNDRjcwMEUxOEYyQSAv
KiBSZXNwb25zaXZlbmVzc1RpbWVyRG9lc250RmlyZUVhcmx5LmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMwQkQ2NjlDMTMxRDNDRjcwMEUxOEYyQSAv
KiBSZXNwb25zaXZlbmVzc1RpbWVyRG9lc250RmlyZUVhcmx5LmNwcCAqLzsgfTsKIAkJQzBCRDY2
OUYxMzFEM0NGRjAwRTE4RjJBIC8qIFJlc3BvbnNpdmVuZXNzVGltZXJEb2VzbnRGaXJlRWFybHlf
QnVuZGxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEMwQkQ2NjlFMTMxRDNDRkYwMEUxOEYyQSAvKiBSZXNwb25zaXZlbmVzc1RpbWVyRG9lc250Rmly
ZUVhcmx5X0J1bmRsZS5jcHAgKi87IH07CisJCUYzRkMzRUUzMTM2NzhCNzMwMDEyNkE2NSAvKiBs
aWJndGVzdC5hIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRjNGQzNFRTIxMzY3OEI3MzAwMTI2QTY1IC8qIGxpYmd0ZXN0LmEgKi87IH07CiAJCUY2RjNG
MjkxMTMzNDJGRUIwMEE2QkYxOSAvKiBDb29raWVNYW5hZ2VyLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY2RjNGMjkwMTMzNDJGRUIwMEE2QkYxOSAv
KiBDb29raWVNYW5hZ2VyLmNwcCAqLzsgfTsKIC8qIEVuZCBQQlhCdWlsZEZpbGUgc2VjdGlvbiAq
LwogCkBAIC0xNjAsNiArMTYxLDcgQEAKIAkJQzBBREJFODQxMkZDQTZCNjAwRDJDMTI5IC8qIHNp
bXBsZS1mb3JtLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSAic2ltcGxlLWZvcm0u
aHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMwQkQ2NjlDMTMxRDNDRjcwMEUx
OEYyQSAvKiBSZXNwb25zaXZlbmVzc1RpbWVyRG9lc250RmlyZUVhcmx5LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlc3BvbnNpdmVuZXNzVGltZXJEb2VzbnRGaXJl
RWFybHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMEJENjY5RTEzMUQzQ0ZG
MDBFMThGMkEgLyogUmVzcG9uc2l2ZW5lc3NUaW1lckRvZXNudEZpcmVFYXJseV9CdW5kbGUuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVzcG9uc2l2ZW5lc3NUaW1l
ckRvZXNudEZpcmVFYXJseV9CdW5kbGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlGM0ZDM0VFMjEzNjc4QjczMDAxMjZBNjUgLyogbGliZ3Rlc3QuYSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IGFyY2hpdmUuYXI7IG5hbWUgPSBsaWJn
dGVzdC5hOyBwYXRoID0gLi4vLi4vV2ViS2l0QnVpbGQvRGVidWcvbGliZ3Rlc3QuYTsgc291cmNl
VHJlZSA9IFNPVVJDRV9ST09UOyB9OwogCQlGNkYzRjI5MDEzMzQyRkVCMDBBNkJGMTkgLyogQ29v
a2llTWFuYWdlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDb29r
aWVNYW5hZ2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIC8qIEVuZCBQQlhGaWxl
UmVmZXJlbmNlIHNlY3Rpb24gKi8KIApAQCAtMTcyLDYgKzE3NCw3IEBACiAJCQkJQkNBNjFEQjUx
MTcwMEVGRDAwNDYwRDFFIC8qIFdlYktpdDIuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCiAJ
CQkJQkM5MDk2NEUxMjU1NjIwQzAwMDgzNzU2IC8qIEphdmFTY3JpcHRDb3JlLmZyYW1ld29yayBp
biBGcmFtZXdvcmtzICovLAogCQkJCUMwMkI3ODU0MTI2NjEzQUUwMDI2QkYwRiAvKiBDYXJib24u
ZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCisJCQkJRjNGQzNFRTMxMzY3OEI3MzAwMTI2QTY1
IC8qIGxpYmd0ZXN0LmEgaW4gRnJhbWV3b3JrcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVw
bG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTIyMiw2ICsyMjUsNyBAQAogCQkw
OEZCNzc5REZFODQxNTVEQzAyQUFDMDcgLyogRXh0ZXJuYWwgRnJhbWV3b3JrcyBhbmQgTGlicmFy
aWVzICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQlGM0ZD
M0VFMjEzNjc4QjczMDAxMjZBNjUgLyogbGliZ3Rlc3QuYSAqLywKIAkJCQlCQ0I5RTlGMDExMjM1
QkRFMDBBMTM3RTAgLyogQ29jb2EuZnJhbWV3b3JrICovLAogCQkJCUJDOTA5NjREMTI1NTYyMEMw
MDA4Mzc1NiAvKiBKYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsgKi8sCiAJCQkJQkNBNjFEQjQxMTcw
MEVGRDAwNDYwRDFFIC8qIFdlYktpdDIuZnJhbWV3b3JrICovLApAQCAtNDc5LDYgKzQ4MywxNCBA
QAogCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSBCQzkwOTU4MDEyNTU0Q0Y5MDAwODM3
NTYgLyogVGVzdFdlYktpdEFQSS54Y2NvbmZpZyAqLzsKIAkJCWJ1aWxkU2V0dGluZ3MgPSB7CiAJ
CQkJRlJBTUVXT1JLX1NFQVJDSF9QQVRIUyA9ICIkKGluaGVyaXRlZCkiOworCQkJCUhFQURFUl9T
RUFSQ0hfUEFUSFMgPSAoCisJCQkJCS4uLy4uL1NvdXJjZS9UaGlyZFBhcnR5L2d0ZXN0L2luY2x1
ZGUsCisJCQkJCSIkKFdFQkNPUkVfUFJJVkFURV9IRUFERVJTX0RJUikvRm9yd2FyZGluZ0hlYWRl
cnMiLAorCQkJCSk7CisJCQkJTElCUkFSWV9TRUFSQ0hfUEFUSFMgPSAoCisJCQkJCSIkKGluaGVy
aXRlZCkiLAorCQkJCQkiXCIkKFNSQ1JPT1QpLy4uLy4uL1dlYktpdEJ1aWxkL0RlYnVnXCIiLAor
CQkJCSk7CiAJCQl9OwogCQkJbmFtZSA9IERlYnVnOwogCQl9OwpAQCAtNDg3LDYgKzQ5OSwxNCBA
QAogCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSBCQzkwOTU4MDEyNTU0Q0Y5MDAwODM3
NTYgLyogVGVzdFdlYktpdEFQSS54Y2NvbmZpZyAqLzsKIAkJCWJ1aWxkU2V0dGluZ3MgPSB7CiAJ
CQkJRlJBTUVXT1JLX1NFQVJDSF9QQVRIUyA9ICIkKGluaGVyaXRlZCkiOworCQkJCUhFQURFUl9T
RUFSQ0hfUEFUSFMgPSAoCisJCQkJCS4uLy4uL1NvdXJjZS9UaGlyZFBhcnR5L2d0ZXN0L2luY2x1
ZGUsCisJCQkJCSIkKFdFQkNPUkVfUFJJVkFURV9IRUFERVJTX0RJUikvRm9yd2FyZGluZ0hlYWRl
cnMiLAorCQkJCSk7CisJCQkJTElCUkFSWV9TRUFSQ0hfUEFUSFMgPSAoCisJCQkJCSIkKGluaGVy
aXRlZCkiLAorCQkJCQkiXCIkKFNSQ1JPT1QpLy4uLy4uL1dlYktpdEJ1aWxkL1JlbGVhc2VcIiIs
CisJCQkJKTsKIAkJCX07CiAJCQluYW1lID0gUmVsZWFzZTsKIAkJfTsKZGlmZiAtLWdpdCBhL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1ZlY3RvckJhc2ljLmNwcCBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV1RGL1ZlY3RvckJhc2ljLmNwcAppbmRleCAwMTJmYTI3Li43MjM4OTBj
IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9WZWN0b3JCYXNpYy5j
cHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvVmVjdG9yQmFzaWMuY3BwCkBA
IC0zMiw5ICszMiw5IEBAIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKIFRFU1QoV1RGLCBWZWN0
b3JCYXNpYykKIHsKICAgICBWZWN0b3I8aW50PiBpbnRWZWN0b3I7Ci0gICAgVEVTVF9BU1NFUlQo
aW50VmVjdG9yLmlzRW1wdHkoKSk7Ci0gICAgVEVTVF9BU1NFUlQoaW50VmVjdG9yLnNpemUoKSA9
PSAwKTsKLSAgICBURVNUX0FTU0VSVChpbnRWZWN0b3IuY2FwYWNpdHkoKSA9PSAwKTsKKyAgICBB
U1NFUlRfVFJVRShpbnRWZWN0b3IuaXNFbXB0eSgpKTsKKyAgICBBU1NFUlRfRVEoMHVsLCBpbnRW
ZWN0b3Iuc2l6ZSgpKTsKKyAgICBBU1NFUlRfRVEoMHVsLCBpbnRWZWN0b3IuY2FwYWNpdHkoKSk7
CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHNDb250cm9sbGVyLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHNDb250cm9sbGVyLmNwcAppbmRleCAzNDk5ZjJjLi44MmEyZWMzIDEwMDY0NAotLS0gYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzQ29udHJvbGxlci5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0c0NvbnRyb2xsZXIuY3BwCkBAIC0yNiw4ICsyNiw5IEBACiAjaW5jbHVkZSAiVGVz
dHNDb250cm9sbGVyLmgiCiAKICNpbmNsdWRlICJUZXN0LmgiCi0jaW5jbHVkZSA8YWxnb3JpdGht
PgogI2luY2x1ZGUgPGFzc2VydC5oPgorI2luY2x1ZGUgPGd0ZXN0L2d0ZXN0Lmg+CisjaW5jbHVk
ZSA8Y3N0ZGlvPgogCiBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7CiAKQEAgLTM4LDQ1ICszOSwz
MyBAQCBUZXN0c0NvbnRyb2xsZXImIFRlc3RzQ29udHJvbGxlcjo6c2hhcmVkKCkKIH0KIAogVGVz
dHNDb250cm9sbGVyOjpUZXN0c0NvbnRyb2xsZXIoKQotICAgIDogbV90ZXN0RmFpbGVkKGZhbHNl
KQotICAgICwgbV9jdXJyZW50VGVzdCgwKQogeworICAgIGludCBhcmdjID0gMDsKKyAgICA6OnRl
c3Rpbmc6OkluaXRHb29nbGVUZXN0KCZhcmdjLCAoY2hhcioqKTApOwogfQogCiB2b2lkIFRlc3Rz
Q29udHJvbGxlcjo6ZHVtcFRlc3ROYW1lcygpCiB7Ci0gICAgc3RkOjptYXA8c3RkOjpzdHJpbmcs
IENyZWF0ZVRlc3RGdW5jdGlvbj46OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbV9jcmVhdGVUZXN0RnVu
Y3Rpb25zLmJlZ2luKCk7Ci0gICAgc3RkOjptYXA8c3RkOjpzdHJpbmcsIENyZWF0ZVRlc3RGdW5j
dGlvbj46OmNvbnN0X2l0ZXJhdG9yIGVuZCA9IG1fY3JlYXRlVGVzdEZ1bmN0aW9ucy5lbmQoKTsK
LSAgICBmb3IgKDsgaXQgIT0gZW5kOyArK2l0KQotICAgICAgICBwcmludGYoIiVzXG4iLCAoKml0
KS5maXJzdC5jX3N0cigpKTsKLX0KKyAgICA6OnRlc3Rpbmc6OlVuaXRUZXN0KiB1bml0X3Rlc3Qg
PSA6OnRlc3Rpbmc6OlVuaXRUZXN0OjpHZXRJbnN0YW5jZSgpOwogCi1ib29sIFRlc3RzQ29udHJv
bGxlcjo6cnVuVGVzdE5hbWVkKGNvbnN0IHN0ZDo6c3RyaW5nJiBpZGVudGlmaWVyKQotewotICAg
IENyZWF0ZVRlc3RGdW5jdGlvbiBjcmVhdGVUZXN0RnVuY3Rpb24gPSBtX2NyZWF0ZVRlc3RGdW5j
dGlvbnNbaWRlbnRpZmllcl07Ci0gICAgaWYgKCFjcmVhdGVUZXN0RnVuY3Rpb24pIHsKLSAgICAg
ICAgcHJpbnRmKCJFUlJPUjogVGVzdCBub3QgZm91bmQgLSAlc1xuIiwgaWRlbnRpZmllci5jX3N0
cigpKTsKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGZvciAoaW50IGkgPSAwOyBpIDwgdW5p
dF90ZXN0LT50b3RhbF90ZXN0X2Nhc2VfY291bnQoKTsgaSsrKSB7CisgICAgICAgIGNvbnN0IDo6
dGVzdGluZzo6VGVzdENhc2UqIHRlc3RfY2FzZSA9IHVuaXRfdGVzdC0+R2V0VGVzdENhc2UoaSk7
CisgICAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgdGVzdF9jYXNlLT50b3RhbF90ZXN0X2NvdW50
KCk7IGorKykgeworICAgICAgICAgIGNvbnN0IDo6dGVzdGluZzo6VGVzdEluZm8qIHRlc3RfaW5m
byA9IHRlc3RfY2FzZS0+R2V0VGVzdEluZm8oaik7CisgICAgICAgICAgcHJpbnRmKCIlcy4lc1xu
IiwgdGVzdF9jYXNlLT5uYW1lKCksIHRlc3RfaW5mby0+bmFtZSgpKTsKKyAgICAgICAgfQogICAg
IH0KLQotICAgIG1fY3VycmVudFRlc3QgPSBjcmVhdGVUZXN0RnVuY3Rpb24oaWRlbnRpZmllcik7
Ci0gICAgbV9jdXJyZW50VGVzdC0+cnVuKCk7Ci0KLSAgICBkZWxldGUgbV9jdXJyZW50VGVzdDsK
LSAgICBtX2N1cnJlbnRUZXN0ID0gMDsKLQotICAgIHJldHVybiAhbV90ZXN0RmFpbGVkOwogfQog
Ci12b2lkIFRlc3RzQ29udHJvbGxlcjo6dGVzdEZhaWxlZChjb25zdCBjaGFyKiBmaWxlLCBpbnQg
bGluZSwgY29uc3QgY2hhciogbWVzc2FnZSkKK2Jvb2wgVGVzdHNDb250cm9sbGVyOjpydW5UZXN0
TmFtZWQoY29uc3Qgc3RkOjpzdHJpbmcmIGlkZW50aWZpZXIpCiB7Ci0gICAgbV90ZXN0RmFpbGVk
ID0gdHJ1ZTsKLSAgICBwcmludGYoIkZBSUw6ICVzXG5cdCVzICglczolZClcbiIsIG1fY3VycmVu
dFRlc3QtPm5hbWUoKS5jX3N0cigpLCBtZXNzYWdlLCBmaWxlLCBsaW5lKTsKKyAgICA6OnRlc3Rp
bmc6OkdURVNUX0ZMQUcoZmlsdGVyKSA9IGlkZW50aWZpZXI7CisgICAgcmV0dXJuICFSVU5fQUxM
X1RFU1RTKCk7CiB9CiAKLXZvaWQgVGVzdHNDb250cm9sbGVyOjpyZWdpc3RlckNyZWF0ZVRlc3RG
dW5jdGlvbihjb25zdCBzdGQ6OnN0cmluZyYgaWRlbnRpZmllciwgQ3JlYXRlVGVzdEZ1bmN0aW9u
IGNyZWF0ZVRlc3RGdW5jdGlvbikKK2Jvb2wgVGVzdHNDb250cm9sbGVyOjpydW5BbGxUZXN0cygp
CiB7Ci0gICAgbV9jcmVhdGVUZXN0RnVuY3Rpb25zW2lkZW50aWZpZXJdID0gY3JlYXRlVGVzdEZ1
bmN0aW9uOworICAgIHJldHVybiAhUlVOX0FMTF9URVNUUygpOwogfQogCiB9IC8vIG5hbWVzcGFj
ZSBUZXN0V2ViS2l0QVBJCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzQ29u
dHJvbGxlci5oIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0c0NvbnRyb2xsZXIuaAppbmRleCAw
ZmYxZmM3Li5lYjJhOTY3IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzQ29u
dHJvbGxlci5oCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHNDb250cm9sbGVyLmgKQEAg
LTM5LDIxICszOSwxMSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGR1bXBUZXN0TmFtZXMoKTsKICAg
ICBib29sIHJ1blRlc3ROYW1lZChjb25zdCBzdGQ6OnN0cmluZyYpOwotCi0gICAgLy8gQ2FsbGVk
IGJ5IHRoZSB0ZXN0cyB0aGVtc2VsdmVzLgotICAgIHZvaWQgdGVzdEZhaWxlZChjb25zdCBjaGFy
KiBmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciogbWVzc2FnZSk7Ci0KLSAgICB0eXBlZGVmIFRl
c3QqICgqQ3JlYXRlVGVzdEZ1bmN0aW9uKShjb25zdCBzdGQ6OnN0cmluZyYpOwotICAgIHZvaWQg
cmVnaXN0ZXJDcmVhdGVUZXN0RnVuY3Rpb24oY29uc3Qgc3RkOjpzdHJpbmcmLCBDcmVhdGVUZXN0
RnVuY3Rpb24pOworICAgIGJvb2wgcnVuQWxsVGVzdHMoKTsKIAogcHJpdmF0ZToKICAgICBUZXN0
c0NvbnRyb2xsZXIoKTsKICAgICB+VGVzdHNDb250cm9sbGVyKCk7Ci0KLSAgICBib29sIG1fdGVz
dEZhaWxlZDsKLSAgICBUZXN0KiBtX2N1cnJlbnRUZXN0OwotCi0gICAgc3RkOjptYXA8c3RkOjpz
dHJpbmcsIENyZWF0ZVRlc3RGdW5jdGlvbj4gbV9jcmVhdGVUZXN0RnVuY3Rpb25zOwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQo=
</data>
<flag name="review"
          id="86239"
          type_id="1"
          status="+"
          setter="levin"
    />
    <flag name="commit-queue"
          id="86240"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
      

    </bug>

</bugzilla>