<?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>44155</bug_id>
          
          <creation_ts>2010-08-18 01:01:49 -0700</creation_ts>
          <short_desc>[Qt] Add WebKitTestRunner&apos;s build files</short_desc>
          <delta_ts>2010-10-06 16:55:32 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt</keywords>
          <priority>P2</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>45393</dependson>
          <blocked>47276</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Zoltan Horvath">zoltan</reporter>
          <assigned_to name="Balazs Kelemen">kbalazs</assigned_to>
          <cc>abarth</cc>
    
    <cc>abecsi</cc>
    
    <cc>christian.webkit</cc>
    
    <cc>eric</cc>
    
    <cc>jturcotte</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>265981</commentid>
    <comment_count>0</comment_count>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-08-18 01:01:49 -0700</bug_when>
    <thetext>Add WebKitTestRunner&apos;s files and modify WK2 build files to build WebKitTestRunner.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>265985</commentid>
    <comment_count>1</comment_count>
      <attachid>64675</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-08-18 01:22:26 -0700</bug_when>
    <thetext>Created attachment 64675
first patch

Please comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>266020</commentid>
    <comment_count>2</comment_count>
      <attachid>64675</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-08-18 03:23:58 -0700</bug_when>
    <thetext>Comment on attachment 64675
first patch

WebKitTools/WebKitTestRunner/qt/TestControllerQt.cpp:32
 +  static void addQTDirToPATH()
huh? AddQTDirToPATH? QuickTime ?

WebKitTools/WebKitTestRunner/qt/main.cpp:33
 +      }
Why this?

Is this working? Don&apos;t you need the InjectBundle to work?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>266035</commentid>
    <comment_count>3</comment_count>
      <attachid>64686</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-08-18 04:00:42 -0700</bug_when>
    <thetext>Created attachment 64686
second patch

(In reply to comment #2)
&gt; (From update of attachment 64675 [details])
&gt; WebKitTools/WebKitTestRunner/qt/TestControllerQt.cpp:32
&gt;  +  static void addQTDirToPATH()
&gt; huh? AddQTDirToPATH? QuickTime ?

Sry, I&apos;ve uploaded a wrong patch with some unrelated change like this.
 
&gt; WebKitTools/WebKitTestRunner/qt/main.cpp:33
&gt;  +      }
&gt; Why this?

It is copy pasted code from win implementation. I don&apos;t see reason for this, so I removed brackets now.

&gt; Is this working? Don&apos;t you need the InjectBundle to work?

It is building and making the binary, but isn&apos;t working. 
We need InjectedBundle implementation, yes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288238</commentid>
    <comment_count>4</comment_count>
      <attachid>69466</attachid>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2010-10-01 07:28:23 -0700</bug_when>
    <thetext>Created attachment 69466
third patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288239</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-10-01 07:32:43 -0700</bug_when>
    <thetext>Attachment 69466 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebKitTools/WebKitTestRunner/qt/PlatformWebViewQt.cpp:27:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKit2/UIProcess/API/C/WebKit2.h:53:  More than one command on the same line in if  [whitespace/parens] [4]
WebKitTools/WebKitTestRunner/qt/main.cpp:27:  Found other header before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKitTools/WebKitTestRunner/qt/TestControllerQt.cpp:27:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
Total errors found: 4 in 16 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288242</commentid>
    <comment_count>6</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2010-10-01 07:39:44 -0700</bug_when>
    <thetext>Attachment 69466 did not build on qt:
Build output: http://queues.webkit.org/results/4229042</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290298</commentid>
    <comment_count>7</comment_count>
      <attachid>69941</attachid>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2010-10-06 08:00:17 -0700</bug_when>
    <thetext>Created attachment 69941
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290301</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-10-06 08:04:17 -0700</bug_when>
    <thetext>Attachment 69941 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebKit2/UIProcess/API/C/WebKit2.h:53:  More than one command on the same line in if  [whitespace/parens] [4]
Total errors found: 1 in 10 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290312</commentid>
    <comment_count>9</comment_count>
      <attachid>69943</attachid>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2010-10-06 08:25:32 -0700</bug_when>
    <thetext>Created attachment 69943
Patch

Forgot to add the new files in the previous.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290317</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-10-06 08:29:22 -0700</bug_when>
    <thetext>Attachment 69943 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebKitTools/WebKitTestRunner/qt/PlatformWebViewQt.cpp:27:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKit2/UIProcess/API/C/WebKit2.h:53:  More than one command on the same line in if  [whitespace/parens] [4]
WebKitTools/WebKitTestRunner/qt/main.cpp:27:  Found other header before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKitTools/WebKitTestRunner/qt/TestControllerQt.cpp:27:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
Total errors found: 4 in 16 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290369</commentid>
    <comment_count>11</comment_count>
      <attachid>69950</attachid>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2010-10-06 09:38:12 -0700</bug_when>
    <thetext>Created attachment 69950
Patch

Removed accidentally added implementation that need to be in a follow up patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290376</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-10-06 09:44:32 -0700</bug_when>
    <thetext>Attachment 69950 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebKitTools/WebKitTestRunner/qt/PlatformWebViewQt.cpp:27:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKit2/UIProcess/API/C/WebKit2.h:53:  More than one command on the same line in if  [whitespace/parens] [4]
WebKitTools/WebKitTestRunner/qt/main.cpp:27:  Found other header before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKitTools/WebKitTestRunner/qt/TestControllerQt.cpp:27:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
Total errors found: 4 in 16 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290387</commentid>
    <comment_count>13</comment_count>
      <attachid>69950</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-10-06 09:53:30 -0700</bug_when>
    <thetext>Comment on attachment 69950
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=69950&amp;action=review

&gt; WebKit2/UIProcess/API/C/WebKit2.h:53
&gt; -#if !__APPLE__ || __OBJC__
&gt; +#if (defined(__APPLE__) &amp;&amp; __APPLE__) || (defined(__OBJC__) &amp;&amp; __OBJC__)

The first seems to be checking for NOT __APPLE__

&gt; WebKitTools/WebKitTestRunner/qt/PlatformWebViewQt.cpp:35
&gt; +    // Implement
&gt; +    notImplemented();

This comment seems a bit useless

&gt; WebKitTools/WebKitTestRunner/qt/TestControllerQt.cpp:41
&gt; +}
&gt; +void TestController::platformInitialize()

needs newline between those two</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290398</commentid>
    <comment_count>14</comment_count>
      <attachid>69954</attachid>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2010-10-06 10:08:37 -0700</bug_when>
    <thetext>Created attachment 69954
Patch

Corrected the issues noticed by Kenneth.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290404</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-10-06 10:11:27 -0700</bug_when>
    <thetext>Attachment 69954 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebKitTools/WebKitTestRunner/qt/PlatformWebViewQt.cpp:27:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKitTools/WebKitTestRunner/qt/main.cpp:27:  Found other header before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKitTools/WebKitTestRunner/qt/TestControllerQt.cpp:27:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
Total errors found: 3 in 16 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290576</commentid>
    <comment_count>16</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2010-10-06 14:25:58 -0700</bug_when>
    <thetext>Attachment 69954 did not build on qt:
Build output: http://queues.webkit.org/results/4255030</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290588</commentid>
    <comment_count>17</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2010-10-06 14:45:13 -0700</bug_when>
    <thetext>Oops. This depends on 45393. Instead of set the dependency I am going to upload the patch without actually switching on the build of WebKitTestRunner. This way we can move forward and switch it on when the build will be stable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290591</commentid>
    <comment_count>18</comment_count>
      <attachid>69993</attachid>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2010-10-06 14:52:21 -0700</bug_when>
    <thetext>Created attachment 69993
Patch

Same as the last one without actually turn on the build of WTR.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290600</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-10-06 15:00:42 -0700</bug_when>
    <thetext>Attachment 69993 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebKitTools/WebKitTestRunner/qt/PlatformWebViewQt.cpp:27:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKitTools/WebKitTestRunner/qt/main.cpp:27:  Found other header before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKitTools/WebKitTestRunner/qt/TestControllerQt.cpp:27:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
Total errors found: 3 in 16 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290602</commentid>
    <comment_count>20</comment_count>
      <attachid>69993</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-10-06 15:04:51 -0700</bug_when>
    <thetext>Comment on attachment 69993
Patch

When landing please make sure to stay around to make sure this does break any other port</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290625</commentid>
    <comment_count>21</comment_count>
      <attachid>69993</attachid>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2010-10-06 15:43:20 -0700</bug_when>
    <thetext>Comment on attachment 69993
Patch

Clearing flags on attachment: 69993

Committed r69244: &lt;http://trac.webkit.org/changeset/69244&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290626</commentid>
    <comment_count>22</comment_count>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2010-10-06 15:43:30 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290690</commentid>
    <comment_count>23</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-10-06 16:55:23 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/69244 might have broken Chromium Win Release</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290691</commentid>
    <comment_count>24</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-10-06 16:55:32 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/69245 might have broken Chromium Win Release</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>64675</attachid>
            <date>2010-08-18 01:22:26 -0700</date>
            <delta_ts>2010-08-18 04:01:14 -0700</delta_ts>
            <desc>first patch</desc>
            <filename>WebKitTestRunner.patch</filename>
            <type>text/plain</type>
            <size>14266</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC5wcm8gYi9XZWJLaXQucHJvCmluZGV4IGRiMTAyYzQuLmU4ZmI3
NjggMTAwNjQ0Ci0tLSBhL1dlYktpdC5wcm8KKysrIGIvV2ViS2l0LnBybwpAQCAtMzMsNiArMzMs
NyBAQCBidWlsZC1xdHNjcmlwdCB7CiB3ZWJraXQyIHsKICAgICBleGlzdHMoJCRQV0QvV2ViS2l0
Mi9XZWJQcm9jZXNzLnBybyk6IFNVQkRJUlMgKz0gV2ViS2l0Mi9XZWJQcm9jZXNzLnBybwogICAg
IGV4aXN0cygkJFBXRC9XZWJLaXRUb29scy9NaW5pQnJvd3Nlci9xdC9NaW5pQnJvd3Nlci5wcm8p
OiBTVUJESVJTICs9IFdlYktpdFRvb2xzL01pbmlCcm93c2VyL3F0L01pbmlCcm93c2VyLnBybwor
ICAgIGV4aXN0cygkJFBXRC9XZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL3F0L1dlYktpdFRl
c3RSdW5uZXIucHJvKTogU1VCRElSUyArPSBXZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL3F0
L1dlYktpdFRlc3RSdW5uZXIucHJvCiB9CiAKIHN5bWJpYW4gewpkaWZmIC0tZ2l0IGEvV2ViS2l0
Mi9EZXJpdmVkU291cmNlcy5wcm8gYi9XZWJLaXQyL0Rlcml2ZWRTb3VyY2VzLnBybwppbmRleCA5
YmYyYjY4Li44ZjM4OTY3IDEwMDY0NAotLS0gYS9XZWJLaXQyL0Rlcml2ZWRTb3VyY2VzLnBybwor
KysgYi9XZWJLaXQyL0Rlcml2ZWRTb3VyY2VzLnBybwpAQCAtNyw2ICs3LDcgQEAgV0VCQ09SRV9I
RUFERVJTX0ZPUl9XRUJLSVQyICs9IFwKICAgICBiaW5kaW5ncy9qcy9ET01XcmFwcGVyV29ybGQu
aCBcCiAgICAgYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmggXAogICAgIGJpbmRpbmdzL2pzL0pT
UGx1Z2luRWxlbWVudEZ1bmN0aW9ucy5oIFwKKyAgICBiaW5kaW5ncy9qcy9TY3JpcHRDb250cm9s
bGVyLmggXAogICAgIGJyaWRnZS9JZGVudGlmaWVyUmVwLmggXAogICAgIGJyaWRnZS9ucHJ1bnRp
bWVfaW50ZXJuYWwuaCBcCiAgICAgY29uZmlnLmggXApAQCAtMTUsMTUgKzE2LDE4IEBAIFdFQkNP
UkVfSEVBREVSU19GT1JfV0VCS0lUMiArPSBcCiAgICAgZG9tL0tleWJvYXJkRXZlbnQuaCBcCiAg
ICAgZG9tL05vZGUuaCBcCiAgICAgZG9tL1JhbmdlLmggXAorICAgIGRvbS9Vc2VyVHlwaW5nR2Vz
dHVyZUluZGljYXRvci5oIFwKICAgICBlZGl0aW5nL0VkaXRDb21tYW5kLmggXAogICAgIGVkaXRp
bmcvRWRpdG9ySW5zZXJ0QWN0aW9uLmggXAogICAgIGVkaXRpbmcvVGV4dEFmZmluaXR5LmggXAog
ICAgIGhpc3RvcnkvQmFja0ZvcndhcmRDb250cm9sbGVyQ2xpZW50LmggXAogICAgIGhpc3Rvcnkv
QmFja0ZvcndhcmRMaXN0LmggXAogICAgIGhpc3RvcnkvSGlzdG9yeUl0ZW0uaCBcCisgICAgaHRt
bC9IVE1MSW5wdXRFbGVtZW50LmggXAogICAgIGh0bWwvSFRNTEZvcm1FbGVtZW50LmggXAogICAg
IGh0bWwvSFRNTEZyYW1lT3duZXJFbGVtZW50LmggXAogICAgIGh0bWwvSFRNTFBsdWdJbkVsZW1l
bnQuaCBcCisgICAgaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmggXAogICAgIGluc3BlY3Rvci9J
bnNwZWN0b3JDbGllbnQuaCBcCiAgICAgbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVT
dG9yYWdlLmggXAogICAgIGxvYWRlci9DYWNoZS5oIFwKQEAgLTY1LDYgKzY5LDcgQEAgV0VCQ09S
RV9IRUFERVJTX0ZPUl9XRUJLSVQyICs9IFwKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9JbnRTaXpl
LmggXAogICAgIHBsYXRmb3JtL0hvc3RXaW5kb3cuaCBcCiAgICAgcGxhdGZvcm0vS1VSTC5oIFwK
KyAgICBwbGF0Zm9ybS9MaW5rSGFzaC5oIFwKICAgICBwbGF0Zm9ybS9Mb2NhbGl6YXRpb25TdHJh
dGVneS5oIFwKICAgICBwbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmggXAogICAgIHBsYXRmb3Jt
L25ldHdvcmsvYW5kcm9pZC9SZXNvdXJjZUVycm9yLmggXApAQCAtOTcsOCArMTAyLDExIEBAIFdF
QkNPUkVfSEVBREVSU19GT1JfV0VCS0lUMiArPSBcCiAgICAgcmVuZGVyaW5nL1JlbmRlclRyZWVB
c1RleHQuaCBcCiAKIFdFQkNPUkVfR0VORVJBVEVEX0hFQURFUlNfRk9SX1dFQktJVDIgKz0gXAor
ICAgICQkT1VUUFVUX0RJUi9XZWJDb3JlL2dlbmVyYXRlZC9IVE1MTmFtZXMuaCBcCisgICAgJCRP
VVRQVVRfRElSL1dlYkNvcmUvZ2VuZXJhdGVkL0pTRE9NV2luZG93LmggXAogICAgICQkT1VUUFVU
X0RJUi9XZWJDb3JlL2dlbmVyYXRlZC9KU0VsZW1lbnQuaCBcCi0gICAgJCRPVVRQVVRfRElSL1dl
YkNvcmUvZ2VuZXJhdGVkL0pTQ1NTU3R5bGVEZWNsYXJhdGlvbi5oCisgICAgJCRPVVRQVVRfRElS
L1dlYkNvcmUvZ2VuZXJhdGVkL0pTQ1NTU3R5bGVEZWNsYXJhdGlvbi5oIFwKKyAgICAkJE9VVFBV
VF9ESVIvV2ViQ29yZS9nZW5lcmF0ZWQvSlNIVE1MRWxlbWVudC5oIFwKIAogSlNDX0hFQURFUlNf
Rk9SX1dFQktJVDIgKz0gXAogICAgIEFQSS9BUElDYXN0LmggXApAQCAtMTEzLDkgKzEyMSwxNCBA
QCBKU0NfSEVBREVSU19GT1JfV0VCS0lUMiArPSBcCiAgICAgcnVudGltZS9KU09iamVjdFdpdGhH
bG9iYWxPYmplY3QuaCBcCiAgICAgcnVudGltZS9PYmplY3RQcm90b3R5cGUuaCBcCiAgICAgcnVu
dGltZS9Qcm90ZWN0LmggXAorICAgIHBhcnNlci9Tb3VyY2VDb2RlLmggXAogICAgIHd0Zi9QbGF0
Zm9ybS5oIFwKICAgICB3dGYvdGV4dC9TdHJpbmdIYXNoLmggXAogCisjIEpTQyBoZWFkZXJzIGZv
ciBXZWJLaXRUZXN0UnVubmVyCitKU0NfSEVBREVSU19GT1JfV0VCS0lUMiArPSBcCisgICAgd3Rm
L093blB0ci5oIFwKKwogV0VCS0lUMl9BUElfSEVBREVSUyArPSBcCiAgICAgVUlQcm9jZXNzL0FQ
SS9DL1dLQVBJQ2FzdC5oIFwKICAgICBVSVByb2Nlc3MvQVBJL0MvV0tCYXNlLmggXApAQCAtMTM3
LDYgKzE1MCwxMyBAQCBXRUJLSVQyX0FQSV9IRUFERVJTICs9IFwKICAgICBXZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlQmFzZS5oIFwKICAgICBXZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5oIFwKIAorIyBBUEkgaGVhZGVycyBmb3IgV2Vi
S2l0VGVzdFJ1bm5lcgorV0VCS0lUMl9BUElfSEVBREVSUyArPSBcCisgICAgVUlQcm9jZXNzL0FQ
SS9xdC9XS1ZpZXcuaCBcCisgICAgVUlQcm9jZXNzL0FQSS9jcHAvcXQvV0tVUkxRdC5oIFwKKyAg
ICBVSVByb2Nlc3MvQVBJL0MvV0tUeXBlLmggXAorICAgIFVJUHJvY2Vzcy9BUEkvQy9XS0JhY2tG
b3J3YXJkTGlzdC5oIFwKKyAgICBVSVByb2Nlc3MvQVBJL0MvV0tCYWNrRm9yd2FyZExpc3RJdGVt
LmggXAogCiBRVU9URSA9ICIiCiBET1VCTEVfRVNDQVBFRF9RVU9URSA9ICIiCmRpZmYgLS1naXQg
YS9XZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL1BsYXRmb3JtV2ViVmlldy5oIGIvV2ViS2l0
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9QbGF0Zm9ybVdlYlZpZXcuaAppbmRleCA2ZmM0NTA5Li5m
NjUzMGM4IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL1BsYXRmb3Jt
V2ViVmlldy5oCisrKyBiL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvUGxhdGZvcm1XZWJW
aWV3LmgKQEAgLTM5LDYgKzM5LDggQEAgdHlwZWRlZiBOU1dpbmRvdyogUGxhdGZvcm1XaW5kb3c7
CiAjZWxpZiBkZWZpbmVkKFdJTjMyKSB8fCBkZWZpbmVkKF9XSU4zMikKIHR5cGVkZWYgV0tWaWV3
UmVmIFBsYXRmb3JtV0tWaWV3OwogdHlwZWRlZiBIV05EIFBsYXRmb3JtV2luZG93OworI2VsaWYg
ZGVmaW5lZChCVUlMRElOR19RVF9fKQordHlwZWRlZiBRR3JhcGhpY3NXS1ZpZXcqIFBsYXRmb3Jt
V0tWaWV3OwogI2VuZGlmCiAKIG5hbWVzcGFjZSBXVFIgewpAQCAtNTQsNyArNTYsOSBAQCBwdWJs
aWM6CiAKIHByaXZhdGU6CiAgICAgUGxhdGZvcm1XS1ZpZXcgbV92aWV3OworI2lmICFkZWZpbmVk
KEJVSUxESU5HX1FUX18pCiAgICAgUGxhdGZvcm1XaW5kb3cgbV93aW5kb3c7CisjZW5kaWYKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdUUgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9xdC9QbGF0Zm9ybVdlYlZpZXdRdC5jcHAgYi9XZWJLaXRUb29scy9XZWJLaXRUZXN0
UnVubmVyL3F0L1BsYXRmb3JtV2ViVmlld1F0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi45NDU5NDkwCi0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0VG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9xdC9QbGF0Zm9ybVdlYlZpZXdRdC5jcHAKQEAgLTAsMCArMSw2MiBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTAgVW5pdmVyc2l0eSBvZiBTemVnZWQKKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lu
Y2x1ZGUgIlBsYXRmb3JtV2ViVmlldy5oIgorI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCisK
K25hbWVzcGFjZSBXVFIgeworCitzdGF0aWMgdm9pZCByZWdpc3RlcldpbmRvd0NsYXNzKCkKK3sK
KyAgICAvLyBJbXBsZW1lbnQKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCitQbGF0Zm9ybVdl
YlZpZXc6OlBsYXRmb3JtV2ViVmlldyhXS1BhZ2VOYW1lc3BhY2VSZWYgbmFtZXNwYWNlUmVmKQor
eworICAgIHJlZ2lzdGVyV2luZG93Q2xhc3MoKTsKKworICAgIC8vIEltcGxlbWVudAorICAgIG5v
dEltcGxlbWVudGVkKCk7Cit9CisKK1BsYXRmb3JtV2ViVmlldzo6flBsYXRmb3JtV2ViVmlldygp
Cit7CisgICAgLy8gSW1wbGVtZW50Cit9CisKK3ZvaWQgUGxhdGZvcm1XZWJWaWV3OjpyZXNpemVU
byh1bnNpZ25lZCB3aWR0aCwgdW5zaWduZWQgaGVpZ2h0KQoreworICAgIC8vIEltcGxlbWVudAor
ICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK1dLUGFnZVJlZiBQbGF0Zm9ybVdlYlZpZXc6OnBh
Z2UoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdUUgpk
aWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9xdC9UZXN0Q29udHJvbGxl
clF0LmNwcCBiL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvcXQvVGVzdENvbnRyb2xsZXJR
dC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzI5YTc0OAotLS0gL2Rl
di9udWxsCisrKyBiL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvcXQvVGVzdENvbnRyb2xs
ZXJRdC5jcHAKQEAgLTAsMCArMSw1MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgVW5pdmVy
c2l0eSBvZiBTemVnZWQKKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgIlRlc3RDb250cm9sbGVyLmgiCisj
aW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKKworbmFtZXNwYWNlIFdUUiB7CisKK3N0YXRpYyB2
b2lkIGFkZFFURGlyVG9QQVRIKCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCit2b2lk
IFRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybUluaXRpYWxpemUoKQoreworICAgIG5vdEltcGxlbWVu
dGVkKCk7Cit9CisKK3ZvaWQgVGVzdENvbnRyb2xsZXI6OmluaXRpYWxpemVJbmplY3RlZEJ1bmRs
ZVBhdGgoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK3ZvaWQgVGVzdENvbnRyb2xs
ZXI6OmluaXRpYWxpemVUZXN0UGx1Z2luRGlyZWN0b3J5KCkKK3sKKyAgICBub3RJbXBsZW1lbnRl
ZCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXVFIKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1dl
YktpdFRlc3RSdW5uZXIvcXQvVGVzdEludm9jYXRpb25RdC5jcHAgYi9XZWJLaXRUb29scy9XZWJL
aXRUZXN0UnVubmVyL3F0L1Rlc3RJbnZvY2F0aW9uUXQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLjNkYmIzMDEKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJLaXRUb29scy9X
ZWJLaXRUZXN0UnVubmVyL3F0L1Rlc3RJbnZvY2F0aW9uUXQuY3BwCkBAIC0wLDAgKzEsNjAgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDEwIFVuaXZlcnNpdHkgb2YgU3plZ2VkCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJUZXN0SW52b2NhdGlvbi5oIgorI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgi
CisjaW5jbHVkZSA8V2ViS2l0Mi9XS1VSTFF0Lmg+CisKK3VzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7
CisKK25hbWVzcGFjZSBXVFIgeworCitUZXN0SW52b2NhdGlvbjo6VGVzdEludm9jYXRpb24oY29u
c3QgY2hhciogcGF0aE9yVVJMKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK1Rlc3RJ
bnZvY2F0aW9uOjp+VGVzdEludm9jYXRpb24oKQoreworICAgIGZhc3RGcmVlKG1fcGF0aE9yVVJM
KTsKK30KKwordm9pZCBUZXN0SW52b2NhdGlvbjo6aW52b2tlKCkKK3sKKyAgICBub3RJbXBsZW1l
bnRlZCgpOworfQorCit2b2lkIFRlc3RJbnZvY2F0aW9uOjpkaWRSZWNlaXZlTWVzc2FnZUZyb21J
bmplY3RlZEJ1bmRsZShXS1N0cmluZ1JlZiBtZXNzYWdlTmFtZSwgV0tUeXBlUmVmIG1lc3NhZ2VC
b2R5KQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK3ZvaWQgVGVzdEludm9jYXRpb246
OnJ1blVudGlsKGJvb2wmIGRvbmUpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKworfSAv
LyBuYW1lc3BhY2UgV1RSCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVy
L3F0L1dlYktpdFRlc3RSdW5uZXIucHJvIGIvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9x
dC9XZWJLaXRUZXN0UnVubmVyLnBybwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li44MjAzZjgzCi0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9xdC9XZWJLaXRUZXN0UnVubmVyLnBybwpAQCAtMCwwICsxLDY4IEBACitURU1QTEFURSA9IGFw
cAorCitTT1VSQ0VTICs9IFwKKyAgICBtYWluLmNwcCBcCisgICAgUGxhdGZvcm1XZWJWaWV3UXQu
Y3BwIFwKKyAgICBUZXN0Q29udHJvbGxlclF0LmNwcCBcCisgICAgVGVzdEludm9jYXRpb25RdC5j
cHAgXAorICAgIC4uL1Rlc3RDb250cm9sbGVyLmNwcCBcCisKK0hFQURFUlMgKz0gXAorICAgIC4u
L1BsYXRmb3JtV2ViVmlldy5oIFwKKyAgICAuLi9UZXN0Q29udHJvbGxlci5oIFwKKyAgICAuLi9U
ZXN0SW52b2NhdGlvbi5oIFwKKyAgICAuLi9XZWJLaXRUZXN0UnVubmVyUHJlZml4LmggXAorCish
Q09ORklHKHJlbGVhc2UsIGRlYnVnfHJlbGVhc2UpIHsKKyAgICBPQkpFQ1RTX0RJUiA9IG9iai9k
ZWJ1ZworfSBlbHNlIHsgIyBSZWxlYXNlCisgICAgT0JKRUNUU19ESVIgPSBvYmovcmVsZWFzZQor
fQorCitpc0VtcHR5KE9VVFBVVF9ESVIpOiBPVVRQVVRfRElSID0gLi4vLi4vLi4KK2luY2x1ZGUo
Li4vLi4vLi4vV2ViS2l0LnByaSkKKworSU5DTFVERVBBVEggKz0gXAorICAgICQkUFdELy4uLyBc
CisgICAgJCRQV0QvLi4vLi4vLi4vSmF2YVNjcmlwdENvcmUgXAorICAgICQkUFdELy4uLy4uLy4u
L0phdmFTY3JpcHRDb3JlL3d0ZiBcCisgICAgJCRQV0QvLi4vLi4vLi4vV2ViS2l0Mi9TaGFyZWQg
XAorCisKK0lOQ0xVREVQQVRIICs9IFwKKyAgICAkJE9VVFBVVF9ESVIvaW5jbHVkZSBcCisgICAg
JCRPVVRQVVRfRElSL1dlYkNvcmUvZ2VuZXJhdGVkCisKK1BSRUZJWF9IRUFERVIgPSAkJFBXRC8u
Li9XZWJLaXRUZXN0UnVubmVyUHJlZml4LmgKK1FNQUtFX0NYWEZMQUdTICs9ICItaW5jbHVkZSAk
JFBSRUZJWF9IRUFERVIiCisKK0RFU1RESVIgPSAkJE9VVFBVVF9ESVIvYmluCishQ09ORklHKHN0
YW5kYWxvbmVfcGFja2FnZSk6IENPTkZJRyAtPSBhcHBfYnVuZGxlCisKK1FUICs9IG5ldHdvcmsK
K21hY3g6UVQrPXhtbAorCitsaW51eC0qIHsKKyAgICAjIEZyb20gQ3JlYXRvcidzIHNyYy9ycGF0
aC5wcmk6CisgICAgIyBEbyB0aGUgcnBhdGggYnkgaGFuZCBzaW5jZSBpdCdzIG5vdCBwb3NzaWJs
ZSB0byB1c2UgT1JJR0lOIGluIFFNQUtFX1JQQVRIRElSCisgICAgIyB0aGlzIGV4cGFuZHMgdG8g
JE9SSUdJTiAoYWZ0ZXIgcW1ha2UgYW5kIG1ha2UpLCBpdCBkb2VzIE5PVCByZWFkIGEgcW1ha2Ug
dmFyLgorICAgIFFNQUtFX1JQQVRIRElSID0gXCRcJE9SSUdJTi8uLi9saWIgJCRRTUFLRV9SUEFU
SERJUgorICAgIE1ZX1JQQVRIID0gJCRqb2luKFFNQUtFX1JQQVRIRElSLCAiOiIpCisKKyAgICBR
TUFLRV9MRkxBR1MgKz0gLVdsLC16LG9yaWdpbiBcJy1XbCwtcnBhdGgsJCR7TVlfUlBBVEh9XCcK
KyAgICBRTUFLRV9SUEFUSERJUiA9Cit9IGVsc2UgeworICAgIFFNQUtFX1JQQVRIRElSID0gJCRP
VVRQVVRfRElSL2xpYiAkJFFNQUtFX1JQQVRIRElSCit9CisKK3N5bWJpYW4geworICAgIFRBUkdF
VC5VSUQzID0gMHhBMDAwRTU0MworICAgIFRBUkdFVC5DQVBBQklMSVRZID0gUmVhZFVzZXJEYXRh
IFdyaXRlVXNlckRhdGEgTmV0d29ya1NlcnZpY2VzIExvY2F0aW9uCit9CisKK2NvbnRhaW5zKFFU
X0NPTkZJRywgb3BlbmdsKSB7CisgICAgUVQgKz0gb3BlbmdsCisgICAgREVGSU5FUyArPSBRVF9D
T05GSUdVUkVEX1dJVEhfT1BFTkdMCit9CitMSUJTICs9IC1MLyQkT1VUUFVUX0RJUi9KYXZhU2Ny
aXB0Q29yZS9yZWxlYXNlCitMSUJTICs9IC1sanNjb3JlCmRpZmYgLS1naXQgYS9XZWJLaXRUb29s
cy9XZWJLaXRUZXN0UnVubmVyL3F0L21haW4uY3BwIGIvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9xdC9tYWluLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44N2Fl
Y2JjCi0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9xdC9t
YWluLmNwcApAQCAtMCwwICsxLDM2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCBVbml2ZXJz
aXR5IG9mIFN6ZWdlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgIlRlc3RDb250cm9sbGVyLmgiCisK
K2ludCBtYWluKGludCBhcmdjLCBjb25zdCBjaGFyKiBhcmd2W10pCit7CisgICAgeworICAgICAg
ICBXVFI6OlRlc3RDb250cm9sbGVyIGNvbnRyb2xsZXIoYXJnYywgYXJndik7CisgICAgfQorCisg
ICAgcmV0dXJuIDA7Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>64686</attachid>
            <date>2010-08-18 04:00:42 -0700</date>
            <delta_ts>2010-10-01 07:28:23 -0700</delta_ts>
            <desc>second patch</desc>
            <filename>wtr.patch</filename>
            <type>text/plain</type>
            <size>18175</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBmZWY3YWQ1Li4zY2ZlOTRm
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTAtMDgtMTggIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW1F0XSBBZGQgV2ViS2l0
VGVzdFJ1bm5lcidzIGJ1aWxkIGZpbGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD00MDIzMworCisgICAgICAgIE1vZGlmeSBXZWJLaXQucHJvIHRvIGJ1
aWxkIFdlYktpdFRlc3RSdW5uZXIgd2hlbiBidWlsZGluZyBXZWJLaXQyLgorCisgICAgICAgICog
V2ViS2l0LnBybzoKKwogMjAxMC0wOC0xNyAgSmVzdXMgU2FuY2hlei1QYWxlbmNpYSAgPGplc3Vz
LnBhbGVuY2lhQG9wZW5ib3NzYS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRs
ZXIuCmRpZmYgLS1naXQgYS9XZWJLaXQucHJvIGIvV2ViS2l0LnBybwppbmRleCBkYjEwMmM0Li5l
OGZiNzY4IDEwMDY0NAotLS0gYS9XZWJLaXQucHJvCisrKyBiL1dlYktpdC5wcm8KQEAgLTMzLDYg
KzMzLDcgQEAgYnVpbGQtcXRzY3JpcHQgewogd2Via2l0MiB7CiAgICAgZXhpc3RzKCQkUFdEL1dl
YktpdDIvV2ViUHJvY2Vzcy5wcm8pOiBTVUJESVJTICs9IFdlYktpdDIvV2ViUHJvY2Vzcy5wcm8K
ICAgICBleGlzdHMoJCRQV0QvV2ViS2l0VG9vbHMvTWluaUJyb3dzZXIvcXQvTWluaUJyb3dzZXIu
cHJvKTogU1VCRElSUyArPSBXZWJLaXRUb29scy9NaW5pQnJvd3Nlci9xdC9NaW5pQnJvd3Nlci5w
cm8KKyAgICBleGlzdHMoJCRQV0QvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9xdC9XZWJL
aXRUZXN0UnVubmVyLnBybyk6IFNVQkRJUlMgKz0gV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9xdC9XZWJLaXRUZXN0UnVubmVyLnBybwogfQogCiBzeW1iaWFuIHsKZGlmZiAtLWdpdCBhL1dl
YktpdDIvQ2hhbmdlTG9nIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMGEzNjZlOS4uNzQ0ZDI4
ZSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0Mi9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNiBAQAorMjAxMC0wOC0xOCAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Vi
a2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBbUXRdIEFkZCBXZWJLaXRUZXN0UnVubmVyJ3MgYnVpbGQgZmlsZXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQwMjMzCisKKyAgICAgICAgRXh0ZW5k
IERlcml2ZWRTb3VjZXMucHJvIGFuZCBXZWJLaXQyLnBybyB3aXRoIHRoZSBmaWxlcyB0aGF0IGFy
ZSBuZWVkZWQgCisgICAgICAgIHRvIGJ1aWxkIFdlYktpdFRlc3RSdW5uZXIuCisKKyAgICAgICAg
KiBEZXJpdmVkU291cmNlcy5wcm86CisgICAgICAgICogV2ViS2l0Mi5wcm86CisKIDIwMTAtMDgt
MTcgIEplc3VzIFNhbmNoZXotUGFsZW5jaWEgIDxqZXN1cy5wYWxlbmNpYUBvcGVuYm9zc2Eub3Jn
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvV2ViS2l0
Mi9EZXJpdmVkU291cmNlcy5wcm8gYi9XZWJLaXQyL0Rlcml2ZWRTb3VyY2VzLnBybwppbmRleCA3
YjM5YWNiLi5hYTBkYmE0IDEwMDY0NAotLS0gYS9XZWJLaXQyL0Rlcml2ZWRTb3VyY2VzLnBybwor
KysgYi9XZWJLaXQyL0Rlcml2ZWRTb3VyY2VzLnBybwpAQCAtMTI1LDYgKzEyNSwxNyBAQCBKU0Nf
SEVBREVSU19GT1JfV0VCS0lUMiArPSBcCiAgICAgd3RmL1BsYXRmb3JtLmggXAogICAgIHd0Zi90
ZXh0L1N0cmluZ0hhc2guaCBcCiAKKyMgSlNDIGhlYWRlcnMgZm9yIFdlYktpdFRlc3RSdW5uZXIK
K0pTQ19IRUFERVJTX0ZPUl9XRUJLSVQyICs9IFwKKyAgICBBUEkvSmF2YVNjcmlwdENvcmUuaCBc
CisgICAgQVBJL0pTQ29udGV4dFJlZi5oIFwKKyAgICBBUEkvSlNPYmplY3RSZWYuaCBcCisgICAg
QVBJL0pTUmV0YWluUHRyLmggXAorICAgIEFQSS9KU1N0cmluZ1JlZi5oIFwKKyAgICBBUEkvSlNW
YWx1ZVJlZi5oIFwKKyAgICBBUEkvV2ViS2l0QXZhaWxhYmlsaXR5LmggXAorICAgIHd0Zi9Pd25Q
dHIuaCBcCisKIFdFQktJVDJfQVBJX0hFQURFUlMgKz0gXAogICAgIFVJUHJvY2Vzcy9BUEkvQy9X
S0FQSUNhc3QuaCBcCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLQmFzZS5oIFwKQEAgLTE0Niw2ICsx
NTcsMTkgQEAgV0VCS0lUMl9BUElfSEVBREVSUyArPSBcCiAgICAgV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUJhc2UuaCBcCiAgICAgV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuaCBcCiAKKyMgQVBJIGhlYWRlcnMgZm9yIFdlYktpdFRl
c3RSdW5uZXIKK1dFQktJVDJfQVBJX0hFQURFUlMgKz0gXAorICAgIFVJUHJvY2Vzcy9BUEkvcXQv
V0tWaWV3LmggXAorICAgIFVJUHJvY2Vzcy9BUEkvY3BwL3F0L1dLVVJMUXQuaCBcCisgICAgVUlQ
cm9jZXNzL0FQSS9DL1dLQXJyYXkuaCBcCisgICAgVUlQcm9jZXNzL0FQSS9DL1dLRGF0YS5oIFwK
KyAgICBVSVByb2Nlc3MvQVBJL0MvV0tEaWN0aW9uYXJ5LmggXAorICAgIFVJUHJvY2Vzcy9BUEkv
Qy9XS0Vycm9yLmggXAorICAgIFVJUHJvY2Vzcy9BUEkvQy9XS0Zvcm1TdWJtaXNzaW9uTGlzdGVu
ZXIuaCBcCisgICAgVUlQcm9jZXNzL0FQSS9DL1dLVHlwZS5oIFwKKyAgICBVSVByb2Nlc3MvQVBJ
L0MvV0tCYWNrRm9yd2FyZExpc3QuaCBcCisgICAgVUlQcm9jZXNzL0FQSS9DL1dLQmFja0Zvcndh
cmRMaXN0SXRlbS5oIFwKKyAgICBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1ByaXZhdGUu
aCBcCiAKIFFVT1RFID0gIiIKIERPVUJMRV9FU0NBUEVEX1FVT1RFID0gIiIKZGlmZiAtLWdpdCBh
L1dlYktpdDIvV2ViS2l0Mi5wcm8gYi9XZWJLaXQyL1dlYktpdDIucHJvCmluZGV4IDc0NzYxNjgu
LjE2YjFkMzcgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViS2l0Mi5wcm8KKysrIGIvV2ViS2l0Mi9X
ZWJLaXQyLnBybwpAQCAtMTgwLDYgKzE4MCw3IEBAIEhFQURFUlMgKz0gXAogICAgIFVJUHJvY2Vz
cy9BUEkvQy9XS1BhZ2VOYW1lc3BhY2UuaCBcCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVBy
aXZhdGUuaCBcCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuaCBcCisgICAgVUlQ
cm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNQcml2YXRlLmggXAogICAgIFVJUHJvY2Vzcy9BUEkv
Qy9XS1N0cmluZy5oIFwKICAgICBVSVByb2Nlc3MvQVBJL0MvV0tVUkwuaCBcCiAgICAgVUlQcm9j
ZXNzL0FQSS9xdC9xZ3JhcGhpY3N3a3ZpZXcuaCBcCkBAIC0yNzQsNiArMjc1LDcgQEAgU09VUkNF
UyArPSBcCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAgXAogICAgIFVJUHJvY2Vzcy9B
UEkvQy9XS1BhZ2VOYW1lc3BhY2UuY3BwIFwKICAgICBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJl
bmNlcy5jcHAgXAorICAgIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5jcHAg
XAogICAgIFVJUHJvY2Vzcy9BUEkvQy9XS1N0cmluZy5jcHAgXAogICAgIFVJUHJvY2Vzcy9BUEkv
Qy9XS1VSTC5jcHAgXAogICAgIFVJUHJvY2Vzcy9BUEkvcXQvQ2xpZW50SW1wbC5jcHAgXApkaWZm
IC0tZ2l0IGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCmlu
ZGV4IDY2OTA1MjguLjE3MTJjYTIgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZwor
KysgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzOSBAQAorMjAxMC0wOC0xOCAg
Wm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbUXRdIEFkZCBXZWJLaXRUZXN0UnVubmVyJ3Mg
YnVpbGQgZmlsZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTQwMjMzCisKKyAgICAgICAgQWRkIFdlYktpdFRlc3RSdW5uZXIncyBidWlsZCBmaWxlIGFu
ZCBza2VsZXRvbiBmaWxlcyB3aXRoIHVuaW1wbGVtZW50ZWQgZnVuY3Rpb25zLgorCisgICAgICAg
ICogV2ViS2l0VGVzdFJ1bm5lci9QbGF0Zm9ybVdlYlZpZXcuaDoKKyAgICAgICAgKiBXZWJLaXRU
ZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xs
ZXI6OnJlc2V0U3RhdGVUb0NvbnNpc3RlbnRWYWx1ZXMpOgorICAgICAgICAoV1RSOjpUZXN0Q29u
dHJvbGxlcjo6ZGlkRmluaXNoTG9hZEZvckZyYW1lKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVu
bmVyL3F0L1BsYXRmb3JtV2ViVmlld1F0LmNwcDogQWRkZWQuCisgICAgICAgIChXVFI6OnJlZ2lz
dGVyV2luZG93Q2xhc3MpOgorICAgICAgICAoV1RSOjpQbGF0Zm9ybVdlYlZpZXc6OlBsYXRmb3Jt
V2ViVmlldyk6CisgICAgICAgIChXVFI6OlBsYXRmb3JtV2ViVmlldzo6flBsYXRmb3JtV2ViVmll
dyk6CisgICAgICAgIChXVFI6OlBsYXRmb3JtV2ViVmlldzo6cmVzaXplVG8pOgorICAgICAgICAo
V1RSOjpQbGF0Zm9ybVdlYlZpZXc6OnBhZ2UpOgorICAgICAgICAoV1RSOjpQbGF0Zm9ybVdlYlZp
ZXc6OmZvY3VzKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL3F0L1Rlc3RDb250cm9sbGVy
UXQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdUUjo6cmVnaXN0ZXJXaW5kb3dDbGFzcyk6CisgICAg
ICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpydW5VbnRpbCk6CisgICAgICAgIChXVFI6OlRlc3RD
b250cm9sbGVyOjpwbGF0Zm9ybUluaXRpYWxpemUpOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJv
bGxlcjo6aW5pdGlhbGl6ZUluamVjdGVkQnVuZGxlUGF0aCk6CisgICAgICAgIChXVFI6OlRlc3RD
b250cm9sbGVyOjppbml0aWFsaXplVGVzdFBsdWdpbkRpcmVjdG9yeSk6CisgICAgICAgIChXVFI6
OlRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybUluaXRpYWxpemVDb250ZXh0KToKKyAgICAgICAgKiBX
ZWJLaXRUZXN0UnVubmVyL3F0L1Rlc3RJbnZvY2F0aW9uUXQuY3BwOiBBZGRlZC4KKyAgICAgICAg
KFdUUjo6VGVzdEludm9jYXRpb246OlRlc3RJbnZvY2F0aW9uKToKKyAgICAgICAgKFdUUjo6VGVz
dEludm9jYXRpb246On5UZXN0SW52b2NhdGlvbik6CisgICAgICAgIChXVFI6OlRlc3RJbnZvY2F0
aW9uOjppbnZva2UpOgorICAgICAgICAoV1RSOjpUZXN0SW52b2NhdGlvbjo6ZGlkUmVjZWl2ZU1l
c3NhZ2VGcm9tSW5qZWN0ZWRCdW5kbGUpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvcXQv
V2ViS2l0VGVzdFJ1bm5lci5wcm86IEFkZGVkLgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIv
cXQvbWFpbi5jcHA6IEFkZGVkLgorICAgICAgICAobWFpbik6CisKIDIwMTAtMDgtMTcgIFZpY3Rv
ciBXYW5nICA8dmljdG9yd0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZC4gRml4
ZWQgY2hyb21pdW0gaW5jcmVtZW50YWwgdGVzdCBqc29uIHVwbG9hZC4KZGlmZiAtLWdpdCBhL1dl
YktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvUGxhdGZvcm1XZWJWaWV3LmggYi9XZWJLaXRUb29s
cy9XZWJLaXRUZXN0UnVubmVyL1BsYXRmb3JtV2ViVmlldy5oCmluZGV4IDI5YzYzYWUuLjM1Nzhi
MGYgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvUGxhdGZvcm1XZWJW
aWV3LmgKKysrIGIvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9QbGF0Zm9ybVdlYlZpZXcu
aApAQCAtMzksNiArMzksOCBAQCB0eXBlZGVmIE5TV2luZG93KiBQbGF0Zm9ybVdpbmRvdzsKICNl
bGlmIGRlZmluZWQoV0lOMzIpIHx8IGRlZmluZWQoX1dJTjMyKQogdHlwZWRlZiBXS1ZpZXdSZWYg
UGxhdGZvcm1XS1ZpZXc7CiB0eXBlZGVmIEhXTkQgUGxhdGZvcm1XaW5kb3c7CisjZWxpZiBkZWZp
bmVkKEJVSUxESU5HX1FUX18pCit0eXBlZGVmIFFHcmFwaGljc1dLVmlldyogUGxhdGZvcm1XS1Zp
ZXc7CiAjZW5kaWYKIAogbmFtZXNwYWNlIFdUUiB7CkBAIC01NSw3ICs1Nyw5IEBAIHB1YmxpYzoK
IAogcHJpdmF0ZToKICAgICBQbGF0Zm9ybVdLVmlldyBtX3ZpZXc7CisjaWYgIWRlZmluZWQoQlVJ
TERJTkdfUVRfXykKICAgICBQbGF0Zm9ybVdpbmRvdyBtX3dpbmRvdzsKKyNlbmRpZgogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV1RSCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9XZWJLaXRUZXN0UnVu
bmVyL1Rlc3RDb250cm9sbGVyLmNwcCBiL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVz
dENvbnRyb2xsZXIuY3BwCmluZGV4IGM4YTc4ZDUuLmRkZTNjZTMgMTAwNjQ0Ci0tLSBhL1dlYktp
dFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCisrKyBiL1dlYktpdFRv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCkBAIC0yNiw3ICsyNiwxMyBA
QAogI2luY2x1ZGUgIlRlc3RDb250cm9sbGVyLmgiCiAKICNpbmNsdWRlICJQbGF0Zm9ybVdlYlZp
ZXcuaCIKKworI2lmIFBMQVRGT1JNKFFUKQorI2luY2x1ZGUgPFdlYktpdDIvV0tVUkxRdC5oPgor
I2Vsc2UKICNpbmNsdWRlICJTdHJpbmdGdW5jdGlvbnMuaCIKKyNlbmRpZgorCiAjaW5jbHVkZSAi
VGVzdEludm9jYXRpb24uaCIKICNpbmNsdWRlIDxXZWJLaXQyL1dLQ29udGV4dFByaXZhdGUuaD4K
ICNpbmNsdWRlIDxXZWJLaXQyL1dLUHJlZmVyZW5jZXNQcml2YXRlLmg+CkBAIC0xOTAsNyArMTk2
LDEyIEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OnJlc2V0U3RhdGVUb0NvbnNpc3RlbnRWYWx1ZXMo
KQogICAgIC8vIFJlc2V0IG1haW4gcGFnZSBiYWNrIHRvIGFib3V0OmJsYW5rCiAgICAgbV9kb25l
UmVzZXR0aW5nID0gZmFsc2U7CiAKKyNpZiBQTEFURk9STShRVCkKKyAgICBXS1JldGFpblB0cjxX
S1VSTFJlZj4gdXJsKEFkb3B0V0ssIFdLVVJMQ3JlYXRlV2l0aFFVcmwoUVVybCgiYWJvdXQ6Ymxh
bmsiKSkpOworI2Vsc2UKICAgICBXS1JldGFpblB0cjxXS1VSTFJlZj4gdXJsKEFkb3B0V0ssIGNy
ZWF0ZVdLVVJMKCJhYm91dDpibGFuayIpKTsKKyNlbmRpZgorCiAgICAgV0tQYWdlTG9hZFVSTCht
X21haW5XZWJWaWV3LT5wYWdlKCksIHVybC5nZXQoKSk7CiAgICAgVGVzdENvbnRyb2xsZXI6OnJ1
blVudGlsKG1fZG9uZVJlc2V0dGluZyk7CiB9CkBAIC0yNTYsMTMgKzI2NywxMyBAQCB2b2lkIFRl
c3RDb250cm9sbGVyOjpkaWRGaW5pc2hMb2FkRm9yRnJhbWUoV0tQYWdlUmVmIHBhZ2UsIFdLRnJh
bWVSZWYgZnJhbWUpCiAKICAgICBpZiAoIVdLRnJhbWVJc01haW5GcmFtZShmcmFtZSkpCiAgICAg
ICAgIHJldHVybjsKLQorI2lmICFQTEFURk9STShRVCkKICAgICBXS1JldGFpblB0cjxXS1VSTFJl
Zj4gd2tVUkwoQWRvcHRXSywgV0tGcmFtZUNvcHlVUkwoZnJhbWUpKTsKICAgICBSZXRhaW5QdHI8
Q0ZVUkxSZWY+IGNmVVJMPSB0b0NGKHdrVVJMKTsKICAgICBDRlN0cmluZ1JlZiBjZlVSTFN0cmlu
ZyA9IENGVVJMR2V0U3RyaW5nKGNmVVJMLmdldCgpKTsKICAgICBpZiAoIUNGRXF1YWwoY2ZVUkxT
dHJpbmcsIENGU1RSKCJhYm91dDpibGFuayIpKSkKICAgICAgICAgcmV0dXJuOwotCisjZW5kaWYK
ICAgICBtX2RvbmVSZXNldHRpbmcgPSB0cnVlOwogfQogCmRpZmYgLS1naXQgYS9XZWJLaXRUb29s
cy9XZWJLaXRUZXN0UnVubmVyL3F0L1BsYXRmb3JtV2ViVmlld1F0LmNwcCBiL1dlYktpdFRvb2xz
L1dlYktpdFRlc3RSdW5uZXIvcXQvUGxhdGZvcm1XZWJWaWV3UXQuY3BwCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI3NmEwYWYKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJLaXRU
b29scy9XZWJLaXRUZXN0UnVubmVyL3F0L1BsYXRmb3JtV2ViVmlld1F0LmNwcApAQCAtMCwwICsx
LDY5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCBVbml2ZXJzaXR5IG9mIFN6ZWdlZAorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiUGxhdGZvcm1XZWJWaWV3LmgiCisjaW5jbHVkZSAiTm90SW1wbGVt
ZW50ZWQuaCIKKworbmFtZXNwYWNlIFdUUiB7CisKK3N0YXRpYyB2b2lkIHJlZ2lzdGVyV2luZG93
Q2xhc3MoKQoreworICAgIC8vIEltcGxlbWVudAorICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisK
K1BsYXRmb3JtV2ViVmlldzo6UGxhdGZvcm1XZWJWaWV3KFdLUGFnZU5hbWVzcGFjZVJlZiBuYW1l
c3BhY2VSZWYpCit7CisgICAgcmVnaXN0ZXJXaW5kb3dDbGFzcygpOworCisgICAgLy8gSW1wbGVt
ZW50CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKworUGxhdGZvcm1XZWJWaWV3Ojp+UGxhdGZv
cm1XZWJWaWV3KCkKK3sKKyAgICAvLyBJbXBsZW1lbnQKK30KKwordm9pZCBQbGF0Zm9ybVdlYlZp
ZXc6OnJlc2l6ZVRvKHVuc2lnbmVkIHdpZHRoLCB1bnNpZ25lZCBoZWlnaHQpCit7CisgICAgLy8g
SW1wbGVtZW50CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKworV0tQYWdlUmVmIFBsYXRmb3Jt
V2ViVmlldzo6cGFnZSgpCit7CisgICAgLy8gSW1wbGVtZW50CisgICAgbm90SW1wbGVtZW50ZWQo
KTsKK30KK3ZvaWQgUGxhdGZvcm1XZWJWaWV3Ojpmb2N1cygpCit7CisgICAgLy8gSW1wbGVtZW50
CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV1RSCisKZGlmZiAt
LWdpdCBhL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvcXQvVGVzdENvbnRyb2xsZXJRdC5j
cHAgYi9XZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL3F0L1Rlc3RDb250cm9sbGVyUXQuY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUwNTBjYmMKLS0tIC9kZXYvbnVs
bAorKysgYi9XZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL3F0L1Rlc3RDb250cm9sbGVyUXQu
Y3BwCkBAIC0wLDAgKzEsNjIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwIFVuaXZlcnNpdHkg
b2YgU3plZ2VkCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJUZXN0Q29udHJvbGxlci5oIgorI2luY2x1
ZGUgIk5vdEltcGxlbWVudGVkLmgiCisKK25hbWVzcGFjZSBXVFIgeworCitzdGF0aWMgdm9pZCBy
ZWdpc3RlcldpbmRvd0NsYXNzKCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCit2b2lk
IFRlc3RDb250cm9sbGVyOjpydW5VbnRpbChib29sJiBkb25lKQoreworICAgIG5vdEltcGxlbWVu
dGVkKCk7Cit9Cit2b2lkIFRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybUluaXRpYWxpemUoKQorewor
ICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK3ZvaWQgVGVzdENvbnRyb2xsZXI6OmluaXRpYWxp
emVJbmplY3RlZEJ1bmRsZVBhdGgoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK3Zv
aWQgVGVzdENvbnRyb2xsZXI6OmluaXRpYWxpemVUZXN0UGx1Z2luRGlyZWN0b3J5KCkKK3sKKyAg
ICBub3RJbXBsZW1lbnRlZCgpOworfQorCit2b2lkIFRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybUlu
aXRpYWxpemVDb250ZXh0KCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCit9IC8vIG5h
bWVzcGFjZSBXVFIKKwpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9x
dC9UZXN0SW52b2NhdGlvblF0LmNwcCBiL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvcXQv
VGVzdEludm9jYXRpb25RdC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
MjFlNzhlOQotLS0gL2Rldi9udWxsCisrKyBiL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIv
cXQvVGVzdEludm9jYXRpb25RdC5jcHAKQEAgLTAsMCArMSw1NSBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTAgVW5pdmVyc2l0eSBvZiBTemVnZWQKKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgIlRlc3RJ
bnZvY2F0aW9uLmgiCisjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKKwordXNpbmcgbmFtZXNw
YWNlIFdlYktpdDsKKworbmFtZXNwYWNlIFdUUiB7CisKK1Rlc3RJbnZvY2F0aW9uOjpUZXN0SW52
b2NhdGlvbihjb25zdCBjaGFyKiBwYXRoT3JVUkwpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsK
K30KKworVGVzdEludm9jYXRpb246On5UZXN0SW52b2NhdGlvbigpCit7CisgICAgZmFzdEZyZWUo
bV9wYXRoT3JVUkwpOworfQorCit2b2lkIFRlc3RJbnZvY2F0aW9uOjppbnZva2UoKQoreworICAg
IG5vdEltcGxlbWVudGVkKCk7Cit9CisKK3ZvaWQgVGVzdEludm9jYXRpb246OmRpZFJlY2VpdmVN
ZXNzYWdlRnJvbUluamVjdGVkQnVuZGxlKFdLU3RyaW5nUmVmIG1lc3NhZ2VOYW1lLCBXS1R5cGVS
ZWYgbWVzc2FnZUJvZHkpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKworfSAvLyBuYW1l
c3BhY2UgV1RSCisKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvcXQv
V2ViS2l0VGVzdFJ1bm5lci5wcm8gYi9XZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL3F0L1dl
YktpdFRlc3RSdW5uZXIucHJvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVh
MDU3OGQKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL3F0
L1dlYktpdFRlc3RSdW5uZXIucHJvCkBAIC0wLDAgKzEsNjcgQEAKK1RFTVBMQVRFID0gYXBwCisK
K1NPVVJDRVMgKz0gXAorICAgIG1haW4uY3BwIFwKKyAgICBQbGF0Zm9ybVdlYlZpZXdRdC5jcHAg
XAorICAgIFRlc3RDb250cm9sbGVyUXQuY3BwIFwKKyAgICBUZXN0SW52b2NhdGlvblF0LmNwcCBc
CisgICAgLi4vVGVzdENvbnRyb2xsZXIuY3BwIFwKKworSEVBREVSUyArPSBcCisgICAgLi4vUGxh
dGZvcm1XZWJWaWV3LmggXAorICAgIC4uL1Rlc3RDb250cm9sbGVyLmggXAorICAgIC4uL1Rlc3RJ
bnZvY2F0aW9uLmggXAorICAgIC4uL1dlYktpdFRlc3RSdW5uZXJQcmVmaXguaCBcCisKKyFDT05G
SUcocmVsZWFzZSwgZGVidWd8cmVsZWFzZSkgeworICAgIE9CSkVDVFNfRElSID0gb2JqL2RlYnVn
Cit9IGVsc2UgeyAjIFJlbGVhc2UKKyAgICBPQkpFQ1RTX0RJUiA9IG9iai9yZWxlYXNlCit9CisK
K2lzRW1wdHkoT1VUUFVUX0RJUik6IE9VVFBVVF9ESVIgPSAuLi8uLi8uLgoraW5jbHVkZSguLi8u
Li8uLi9XZWJLaXQucHJpKQorCitJTkNMVURFUEFUSCArPSBcCisgICAgJCRQV0QvLi4vIFwKKyAg
ICAkJFBXRC8uLi8uLi8uLi9KYXZhU2NyaXB0Q29yZSBcCisgICAgJCRQV0QvLi4vLi4vLi4vSmF2
YVNjcmlwdENvcmUvd3RmIFwKKyAgICAkJFBXRC8uLi8uLi8uLi9XZWJLaXQyL1NoYXJlZCBcCisK
K0lOQ0xVREVQQVRIICs9IFwKKyAgICAkJE9VVFBVVF9ESVIvaW5jbHVkZSBcCisgICAgJCRPVVRQ
VVRfRElSL1dlYkNvcmUvZ2VuZXJhdGVkCisKK1BSRUZJWF9IRUFERVIgPSAkJFBXRC8uLi9XZWJL
aXRUZXN0UnVubmVyUHJlZml4LmgKK1FNQUtFX0NYWEZMQUdTICs9ICItaW5jbHVkZSAkJFBSRUZJ
WF9IRUFERVIiCisKK0RFU1RESVIgPSAkJE9VVFBVVF9ESVIvYmluCishQ09ORklHKHN0YW5kYWxv
bmVfcGFja2FnZSk6IENPTkZJRyAtPSBhcHBfYnVuZGxlCisKK1FUICs9IG5ldHdvcmsKK21hY3g6
UVQrPXhtbAorCitsaW51eC0qIHsKKyAgICAjIEZyb20gQ3JlYXRvcidzIHNyYy9ycGF0aC5wcmk6
CisgICAgIyBEbyB0aGUgcnBhdGggYnkgaGFuZCBzaW5jZSBpdCdzIG5vdCBwb3NzaWJsZSB0byB1
c2UgT1JJR0lOIGluIFFNQUtFX1JQQVRIRElSCisgICAgIyB0aGlzIGV4cGFuZHMgdG8gJE9SSUdJ
TiAoYWZ0ZXIgcW1ha2UgYW5kIG1ha2UpLCBpdCBkb2VzIE5PVCByZWFkIGEgcW1ha2UgdmFyLgor
ICAgIFFNQUtFX1JQQVRIRElSID0gXCRcJE9SSUdJTi8uLi9saWIgJCRRTUFLRV9SUEFUSERJUgor
ICAgIE1ZX1JQQVRIID0gJCRqb2luKFFNQUtFX1JQQVRIRElSLCAiOiIpCisKKyAgICBRTUFLRV9M
RkxBR1MgKz0gLVdsLC16LG9yaWdpbiBcJy1XbCwtcnBhdGgsJCR7TVlfUlBBVEh9XCcKKyAgICBR
TUFLRV9SUEFUSERJUiA9Cit9IGVsc2UgeworICAgIFFNQUtFX1JQQVRIRElSID0gJCRPVVRQVVRf
RElSL2xpYiAkJFFNQUtFX1JQQVRIRElSCit9CisKK3N5bWJpYW4geworICAgIFRBUkdFVC5VSUQz
ID0gMHhBMDAwRTU0MworICAgIFRBUkdFVC5DQVBBQklMSVRZID0gUmVhZFVzZXJEYXRhIFdyaXRl
VXNlckRhdGEgTmV0d29ya1NlcnZpY2VzIExvY2F0aW9uCit9CisKK2NvbnRhaW5zKFFUX0NPTkZJ
Rywgb3BlbmdsKSB7CisgICAgUVQgKz0gb3BlbmdsCisgICAgREVGSU5FUyArPSBRVF9DT05GSUdV
UkVEX1dJVEhfT1BFTkdMCit9CitMSUJTICs9IC1MLyQkT1VUUFVUX0RJUi9KYXZhU2NyaXB0Q29y
ZS9yZWxlYXNlCitMSUJTICs9IC1sanNjb3JlCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9XZWJL
aXRUZXN0UnVubmVyL3F0L21haW4uY3BwIGIvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9x
dC9tYWluLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNTIzZjUxCi0t
LSAvZGV2L251bGwKKysrIGIvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9xdC9tYWluLmNw
cApAQCAtMCwwICsxLDM0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCBVbml2ZXJzaXR5IG9m
IFN6ZWdlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgIlRlc3RDb250cm9sbGVyLmgiCisKK2ludCBt
YWluKGludCBhcmdjLCBjb25zdCBjaGFyKiBhcmd2W10pCit7CisgICAgV1RSOjpUZXN0Q29udHJv
bGxlciBjb250cm9sbGVyKGFyZ2MsIGFyZ3YpOworCisgICAgcmV0dXJuIDA7Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69466</attachid>
            <date>2010-10-01 07:28:23 -0700</date>
            <delta_ts>2010-10-06 08:00:10 -0700</delta_ts>
            <desc>third patch</desc>
            <filename>land_wtr_qtbuild.diff</filename>
            <type>text/plain</type>
            <size>25785</size>
            <attacher name="Balazs Kelemen">kbalazs</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBhMDhlMjFjLi5kNzdhNTBj
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTAtMTAtMDEgIEJhbGF6cyBLZWxlbWVuICA8a2JhbGF6c0B3ZWJraXQub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF0gQWRkIFdlYktp
dFRlc3RSdW5uZXIncyBidWlsZCBmaWxlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NDQxNTUKKworICAgICAgICBBZGQgdGhlIG5ldyBzdWJkaXIgdG8g
dGhlIHByb2plY3QgZmlsZXMuCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMucHJvOgorICAgICAg
ICAqIFdlYktpdC5wcm86CisKIDIwMTAtMDktMzAgIEtldmluIE9sbGl2aWVyICA8a2V2aW5vQHRo
ZW9sbGl2aWVycy5jb20+CiAKICAgICAgICAgW3d4XSBGaXggdHlwbyBpbiBidWlsZCBzY3JpcHQu
CmRpZmYgLS1naXQgYS9EZXJpdmVkU291cmNlcy5wcm8gYi9EZXJpdmVkU291cmNlcy5wcm8KaW5k
ZXggODgwYTcxNi4uMDAxNWFmNiAxMDA2NDQKLS0tIGEvRGVyaXZlZFNvdXJjZXMucHJvCisrKyBi
L0Rlcml2ZWRTb3VyY2VzLnBybwpAQCAtOCw2ICs4LDcgQEAgU1VCRElSUyArPSBcCiAKIHdlYmtp
dDIgewogICAgIFNVQkRJUlMgKz0gV2ViS2l0Mi9EZXJpdmVkU291cmNlcy5wcm8KKyAgICBTVUJE
SVJTICs9IFdlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvcXQvRGVyaXZlZFNvdXJjZXMucHJv
CiB9CiAKIGZvcihzdWJwcm8sIFNVQkRJUlMpIHsKZGlmZiAtLWdpdCBhL1dlYktpdC5wcm8gYi9X
ZWJLaXQucHJvCmluZGV4IDlmZDljMmUuLjg5OGE0ZWMgMTAwNjQ0Ci0tLSBhL1dlYktpdC5wcm8K
KysrIGIvV2ViS2l0LnBybwpAQCAtMzMsNiArMzMsNyBAQCBidWlsZC1xdHNjcmlwdCB7CiB3ZWJr
aXQyIHsKICAgICBleGlzdHMoJCRQV0QvV2ViS2l0Mi9XZWJQcm9jZXNzLnBybyk6IFNVQkRJUlMg
Kz0gV2ViS2l0Mi9XZWJQcm9jZXNzLnBybwogICAgIGV4aXN0cygkJFBXRC9XZWJLaXRUb29scy9N
aW5pQnJvd3Nlci9xdC9NaW5pQnJvd3Nlci5wcm8pOiBTVUJESVJTICs9IFdlYktpdFRvb2xzL01p
bmlCcm93c2VyL3F0L01pbmlCcm93c2VyLnBybworICAgIGV4aXN0cygkJFBXRC9XZWJLaXRUb29s
cy9XZWJLaXRUZXN0UnVubmVyL3F0L1dlYktpdFRlc3RSdW5uZXIucHJvKTogU1VCRElSUyArPSBX
ZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL3F0L1dlYktpdFRlc3RSdW5uZXIucHJvCiB9CiAK
IHN5bWJpYW4gewpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9XZWJLaXQyL0NoYW5n
ZUxvZwppbmRleCA1Mzc4NWFhLi4zZjVjN2U3IDEwMDY0NAotLS0gYS9XZWJLaXQyL0NoYW5nZUxv
ZworKysgYi9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMiw2ICsyLDIzIEBACiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCiAKKyAgICAgICAgW1F0XSBBZGQgV2ViS2l0VGVzdFJ1
bm5lcidzIGJ1aWxkIGZpbGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00NDE1NQorCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMucHJvOiBDaGFuZ2Vz
IGFjY29yZGluZyB0byB0aGUgbW92aW5nIG9mCisgICAgICAgIGdlbmVyYXRlLWZvcndhcmRpbmct
aGVhZGVycy5wbC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV2ViS2l0Mi5oOiBEbyBub3Qg
Y2hlY2sgdGhlIHZhbHVlIG9mIHRoZQorICAgICAgICBfX0FQUExFX18gZGVmaW5lIGlmIGl0IGlz
IG5vdCBkZWZpbmVkLgorICAgICAgICAqIFdlYktpdDIucHJvOiBDaGFuZ2VzIGFjY29yZGluZyB0
byB0aGUgbW92aW5nIG9mCisgICAgICAgIGdlbmVyYXRlLWZvcndhcmRpbmctaGVhZGVycy5wbC4g
QWRkZWQgbWlzc2luZyBmaWxlcworICAgICAgICB0byB0aGUgYnVpbGQgdGhhdCBwcm92aWRlcyBB
UEkgdGhhdCBpcyB1c2VkIGJ5IFdUUi4KKyAgICAgICAgKiBnZW5lcmF0ZS1mb3J3YXJkaW5nLWhl
YWRlcnMucGw6IE1vdmVkIHRvIFdlYktpdFRvb2xzL1NjcmlwdHMKKyAgICAgICAgc2luY2UgZnJv
bSBub3cgdGhpcyBpcyBub3Qgb25seSB1c2VkIGJ5IFdlYktpdDIuCisKKzIwMTAtMTAtMDEgIEJh
bGF6cyBLZWxlbWVuICA8a2JhbGF6c0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCiAgICAgICAgIFdlYktpdFRlc3RSdW5uZXIgc2hvdWxkIGJlIHBv
cnRhYmxlCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00
NTM5MwogCmRpZmYgLS1naXQgYS9XZWJLaXQyL0Rlcml2ZWRTb3VyY2VzLnBybyBiL1dlYktpdDIv
RGVyaXZlZFNvdXJjZXMucHJvCmluZGV4IDM1NjA4NzguLjg3Zjg0MjUgMTAwNjQ0Ci0tLSBhL1dl
YktpdDIvRGVyaXZlZFNvdXJjZXMucHJvCisrKyBiL1dlYktpdDIvRGVyaXZlZFNvdXJjZXMucHJv
CkBAIC01Miw4ICs1Miw4IEBAIG1lc3NhZ2VyZWNlaXZlcl9nZW5lcmF0b3IudGFyZ2V0ICAgPSAk
JHtPVVRQVVRfRElSfS9XZWJLaXQyL2dlbmVyYXRlZC9XZWJQYWdlTWVzCiBnZW5lcmF0ZWRfZmls
ZXMuZGVwZW5kcyAgICAgICAgICAgICs9IG1lc3NhZ2VyZWNlaXZlcl9nZW5lcmF0b3IKIFFNQUtF
X0VYVFJBX1RBUkdFVFMgICAgICAgICAgICAgICAgKz0gbWVzc2FnZXJlY2VpdmVyX2dlbmVyYXRv
cgogCi1md2hlYWRlcl9nZW5lcmF0b3IuY29tbWFuZHMgPSBwZXJsICQke1NSQ19ST09UX0RJUn0v
V2ViS2l0Mi9nZW5lcmF0ZS1mb3J3YXJkaW5nLWhlYWRlcnMucGwgJCR7T1VUUFVUX0RJUn0vaW5j
bHVkZSBxdAotZndoZWFkZXJfZ2VuZXJhdG9yLmRlcGVuZHMgID0gJCR7U1JDX1JPT1RfRElSfS9X
ZWJLaXQyL2dlbmVyYXRlLWZvcndhcmRpbmctaGVhZGVycy5wbAorZndoZWFkZXJfZ2VuZXJhdG9y
LmNvbW1hbmRzID0gcGVybCAkJHtTUkNfUk9PVF9ESVJ9L1dlYktpdFRvb2xzL1NjcmlwdHMvZ2Vu
ZXJhdGUtZm9yd2FyZGluZy1oZWFkZXJzLnBsICQke1NSQ19ST09UX0RJUn0vV2ViS2l0MiAkJHtP
VVRQVVRfRElSfS9pbmNsdWRlIHF0Citmd2hlYWRlcl9nZW5lcmF0b3IuZGVwZW5kcyAgPSAkJHtT
UkNfUk9PVF9ESVJ9L1dlYktpdFRvb2xzL1NjcmlwdHMvZ2VuZXJhdGUtZm9yd2FyZGluZy1oZWFk
ZXJzLnBsCiBnZW5lcmF0ZWRfZmlsZXMuZGVwZW5kcyAgICAgKz0gZndoZWFkZXJfZ2VuZXJhdG9y
CiBRTUFLRV9FWFRSQV9UQVJHRVRTICAgICAgICAgKz0gZndoZWFkZXJfZ2VuZXJhdG9yCiAKZGlm
ZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dlYktpdDIuaCBiL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dlYktpdDIuaAppbmRleCA3NGUxZjhjLi44ODAyMmQ4IDEwMDY0NAotLS0g
YS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XZWJLaXQyLmgKKysrIGIvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvV2ViS2l0Mi5oCkBAIC01MCw3ICs1MCw3IEBACiAjaW5jbHVkZSA8V2ViS2l0Mi9X
S1VSTFJlcXVlc3QuaD4KICNpbmNsdWRlIDxXZWJLaXQyL1dLVVJMUmVzcG9uc2UuaD4KIAotI2lm
ICFfX0FQUExFX18gfHwgX19PQkpDX18KKyNpZiAoIWRlZmluZWQoX19BUFBMRV9fKSB8fCAhX19B
UFBMRV9fKSB8fCAoZGVmaW5lZChfX09CSkNfXykgJiYgX19PQkpDX18pCiAjaW5jbHVkZSA8V2Vi
S2l0Mi9XS1ZpZXcuaD4KICNlbmRpZgogCmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYktpdDIucHJv
IGIvV2ViS2l0Mi9XZWJLaXQyLnBybwppbmRleCA1ZjE3MzFiLi5jOTE4OWE1IDEwMDY0NAotLS0g
YS9XZWJLaXQyL1dlYktpdDIucHJvCisrKyBiL1dlYktpdDIvV2ViS2l0Mi5wcm8KQEAgLTIwOSw2
ICsyMDksNyBAQCBIRUFERVJTICs9IFwKICAgICBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlTmFtZXNw
YWNlLmggXAogICAgIFVJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VQcml2YXRlLmggXAogICAgIFVJUHJv
Y2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmggXAorICAgIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZl
cmVuY2VzUHJpdmF0ZS5oIFwKICAgICBVSVByb2Nlc3MvQVBJL2NwcC9xdC9XS1N0cmluZ1F0Lmgg
XAogICAgIFVJUHJvY2Vzcy9BUEkvY3BwL3F0L1dLVVJMUXQuaCBcCiAgICAgVUlQcm9jZXNzL0FQ
SS9jcHAvV0tSZXRhaW5QdHIuaCBcCkBAIC0zMzMsNiArMzM0LDcgQEAgU09VUkNFUyArPSBcCiAg
ICAgVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAgXAogICAgIFVJUHJvY2Vzcy9BUEkvQy9XS1Bh
Z2VOYW1lc3BhY2UuY3BwIFwKICAgICBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAg
XAorICAgIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5jcHAgXAogICAgIFVJ
UHJvY2Vzcy9BUEkvcXQvQ2xpZW50SW1wbC5jcHAgXAogICAgIFVJUHJvY2Vzcy9BUEkvcXQvcWdy
YXBoaWNzd2t2aWV3LmNwcCBcCiAgICAgVUlQcm9jZXNzL0FQSS9xdC9xd2twYWdlLmNwcCBcCmRp
ZmYgLS1naXQgYS9XZWJLaXQyL2dlbmVyYXRlLWZvcndhcmRpbmctaGVhZGVycy5wbCBiL1dlYktp
dDIvZ2VuZXJhdGUtZm9yd2FyZGluZy1oZWFkZXJzLnBsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1
NQppbmRleCBlODM2ZmE0Li4wMDAwMDAwCi0tLSBhL1dlYktpdDIvZ2VuZXJhdGUtZm9yd2FyZGlu
Zy1oZWFkZXJzLnBsCisrKyAvZGV2L251bGwKQEAgLTEsOTcgKzAsMCBAQAotIyEvdXNyL2Jpbi9w
ZXJsIC13Ci0jIENvcHlyaWdodCAoQykgMjAxMCBBbmRyYXMgQmVjc2kgKGFiZWNzaUBpbmYudS1z
emVnZWQuaHUpLCBVbml2ZXJzaXR5IG9mIFN6ZWdlZAotIyBBbGwgcmlnaHRzIHJlc2VydmVkLgot
IwotIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKLSMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0jIGFyZSBtZXQ6Ci0jIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0jICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSMgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSMgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotIyAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgot
IwotIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFVOSVZFUlNJVFkgT0YgU1pFR0VEIGBg
QVMgSVMnJyBBTkQgQU5ZCi0jIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0jIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotIyBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVU5JVkVSU0lUWSBPRiBTWkVHRUQgT1IKLSMg
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCi0jIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSMgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0jIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSMg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCi0jIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQotIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotIwotIyBBIHNjcmlwdCB3aGljaCBz
ZWFyY2hlcyBmb3IgaGVhZGVycyBpbmNsdWRlZCBieSBXZWJLaXQyIGZpbGVzCi0jIGFuZCBnZW5l
cmF0ZXMgZm9yd2FyZGluZyBoZWFkZXJzIGZvciB0aGVzZSBoZWFkZXJzLgotCi11c2Ugc3RyaWN0
OwotdXNlIEN3ZCBxdyhhYnNfcGF0aCByZWFscGF0aCk7Ci11c2UgRmlsZTo6RmluZDsKLXVzZSBG
aWxlOjpCYXNlbmFtZTsKLXVzZSBGaWxlOjpTcGVjOjpGdW5jdGlvbnM7Ci0KLW15ICRzcmNSb290
ID0gcmVhbHBhdGgoRmlsZTo6U3BlYy0+Y2F0ZmlsZShkaXJuYW1lKGFic19wYXRoKCQwKSksICIu
LiIpKTsKLW15IEBwbGF0Zm9ybVByZWZpeGVzID0gKCJhbmRyb2lkIiwgImJyZXciLCAiY2YiLCAi
Y2hyb21pdW0iLCAiY3VybCIsICJlZmwiLCAiZ3RrIiwgImhhaWt1IiwgIm1hYyIsICJxdCIsICJz
b3VwIiwgInY4IiwgIndpbiIsICJ3eCIpOwotbXkgQGZyYW1ld29ya3MgPSAoICJKYXZhU2NyaXB0
Q29yZSIsICJXZWJDb3JlIiwgIldlYktpdDIiKTsKLW15IEBza2lwcGVkUHJlZml4ZXM7Ci1teSBA
ZnJhbWV3b3JrSGVhZGVyczsKLW15ICRmcmFtZXdvcms7Ci1teSAlbmVlZGVkSGVhZGVyczsKLQot
bXkgJG91dHB1dERpcmVjdG9yeSA9ICRBUkdWWzBdOwotc2hpZnQ7Ci1teSAkcGxhdGZvcm0gID0g
JEFSR1ZbMF07Ci0KLWZvcmVhY2ggbXkgJHByZWZpeCAoQHBsYXRmb3JtUHJlZml4ZXMpIHsKLSAg
ICBwdXNoKEBza2lwcGVkUHJlZml4ZXMsICRwcmVmaXgpIHVubGVzcyAoJHByZWZpeCA9fiAkcGxh
dGZvcm0pOwotfQotCi1mb3JlYWNoIChAZnJhbWV3b3JrcykgewotICAgICRmcmFtZXdvcmsgPSAk
XzsKLSAgICBmaW5kKFwmY29sbGVjdE5lZWRlZEhlYWRlcnMsIEZpbGU6OlNwZWMtPmNhdGZpbGUo
JHNyY1Jvb3QsICJXZWJLaXQyIikpOwotICAgIGZpbmQoXCZjb2xsZWN0RmFtZXdvcmtIZWFkZXJQ
YXRocywgRmlsZTo6U3BlYy0+Y2F0ZmlsZSgkc3JjUm9vdCwgJGZyYW1ld29yaykpOwotICAgIGNy
ZWF0ZUZvcndhcmRpbmdIZWFkZXJzRm9yRnJhbWV3b3JrKCk7Ci19Ci0KLXN1YiBjb2xsZWN0TmVl
ZGVkSGVhZGVycyB7Ci0gICAgbXkgJGZpbGVQYXRoID0gJEZpbGU6OkZpbmQ6Om5hbWU7Ci0gICAg
bXkgJGZpbGUgPSAkXzsKLSAgICBpZiAoJGZpbGVQYXRoID1+ICdcLmgkfFwuY3BwJCcpIHsKLSAg
ICAgICAgb3BlbihGSUxFLCAiPCRmaWxlIikgb3IgZGllICJDb3VsZCBub3Qgb3BlbiAkZmlsZVBh
dGguXG4iOwotICAgICAgICB3aGlsZSAoPEZJTEU+KSB7Ci0gICAgICAgICAgIGlmIChtL14jLio8
JGZyYW1ld29ya1wvKC4qXC5oKS8pIHsKLSAgICAgICAgICAgICAgICRuZWVkZWRIZWFkZXJzeyQx
fSA9IDE7Ci0gICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgICBjbG9zZShGSUxFKTsKLSAg
ICB9Ci19Ci0KLXN1YiBjb2xsZWN0RmFtZXdvcmtIZWFkZXJQYXRocyB7Ci0gICAgbXkgJGZpbGVQ
YXRoID0gJEZpbGU6OkZpbmQ6Om5hbWU7Ci0gICAgbXkgJGZpbGUgPSAkXzsKLSAgICBpZiAoJGZp
bGVQYXRoID1+ICdcLmgkJyAmJiAkZmlsZVBhdGggIX4gIkZvcndhcmRpbmdIZWFkZXJzIiAmJiBn
cmVweyRmaWxlIGVxICRffSBrZXlzICVuZWVkZWRIZWFkZXJzKSB7Ci0gICAgICAgIG15ICRoZWFk
ZXJQYXRoID0gc3Vic3RyKCRmaWxlUGF0aCwgbGVuZ3RoKCIkc3JjUm9vdC8kZnJhbWV3b3JrLyIp
KTsKLSAgICAgICAgcHVzaChAZnJhbWV3b3JrSGVhZGVycywgJGhlYWRlclBhdGgpIHVubGVzcyAo
Z3JlcCgkaGVhZGVyUGF0aCA9fiAiJF8vIiwgQHNraXBwZWRQcmVmaXhlcykpOwotICAgIH0KLX0K
LQotc3ViIGNyZWF0ZUZvcndhcmRpbmdIZWFkZXJzRm9yRnJhbWV3b3JrIHsKLSAgICBmb3JlYWNo
IG15ICRoZWFkZXIgKEBmcmFtZXdvcmtIZWFkZXJzKSB7Ci0gICAgICAgIG15ICRmb3J3YXJkaW5n
SGVhZGVyUGF0aCA9IEZpbGU6OlNwZWMtPmNhdGZpbGUoJG91dHB1dERpcmVjdG9yeSwgJGZyYW1l
d29yaywgYmFzZW5hbWUoJGhlYWRlcikpOwotICAgICAgICBteSAkZXhwZWN0ZWRJbmNsdWRlU3Rh
dGVtZW50ID0gIiNpbmNsdWRlIFwiJGhlYWRlclwiIjsKLSAgICAgICAgbXkgJGZvdW5kSW5jbHVk
ZVN0YXRlbWVudCA9IDA7Ci0gICAgICAgICRmb3VuZEluY2x1ZGVTdGF0ZW1lbnQgPSA8RVhJU1RJ
TkdfSEVBREVSPiBpZiBvcGVuKEVYSVNUSU5HX0hFQURFUiwgIjwkZm9yd2FyZGluZ0hlYWRlclBh
dGgiKTsKLSAgICAgICAgY2hvbXAoJGZvdW5kSW5jbHVkZVN0YXRlbWVudCk7Ci0gICAgICAgIGlm
ICghICRmb3VuZEluY2x1ZGVTdGF0ZW1lbnQgfHwgJGZvdW5kSW5jbHVkZVN0YXRlbWVudCBuZSAk
ZXhwZWN0ZWRJbmNsdWRlU3RhdGVtZW50KSB7Ci0gICAgICAgICAgICBwcmludCAiW0NyZWF0aW5n
IGZvcndhcmRpbmcgaGVhZGVyIGZvciAkZnJhbWV3b3JrLyRoZWFkZXJdXG4iOwotICAgICAgICAg
ICAgb3BlbihGT1JXQVJESU5HX0hFQURFUiwgIj4kZm9yd2FyZGluZ0hlYWRlclBhdGgiKSBvciBk
aWUgIkNvdWxkIG5vdCBvcGVuICRmb3J3YXJkaW5nSGVhZGVyUGF0aC4iOwotICAgICAgICAgICAg
cHJpbnQgRk9SV0FSRElOR19IRUFERVIgIiRleHBlY3RlZEluY2x1ZGVTdGF0ZW1lbnRcbiI7Ci0g
ICAgICAgICAgICBjbG9zZShGT1JXQVJESU5HX0hFQURFUik7Ci0gICAgICAgIH0KLSAgICAgICAg
Y2xvc2UoRVhJU1RJTkdfSEVBREVSKTsKLSAgICB9Ci19Ci0KZGlmZiAtLWdpdCBhL1dlYktpdFRv
b2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwppbmRleCA1Yjc2ZDMyLi5hZGFi
ZmE3IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMv
Q2hhbmdlTG9nCkBAIC0yLDYgKzIsNDEgQEAKIAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KIAorICAgICAgICBbUXRdIEFkZCBXZWJLaXRUZXN0UnVubmVyJ3MgYnVpbGQgZmls
ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ0MTU1
CisKKyAgICAgICAgUGFydHMgd2FzIHRha2VuIGJ5IFpvbHRhbiBIb3J2YXRoJ3MgcGF0Y2guCisK
KyAgICAgICAgKiBTY3JpcHRzL2dlbmVyYXRlLWZvcndhcmRpbmctaGVhZGVycy5wbDogTW92ZWQg
ZnJvbSBXZWJLaXQyLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0ZGlycy5wbTogTWFrZSB0aGUg
Z2VuZXJhdGVkIGZpbGVzIG5lZWRlZCBieSBXVFIuCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5l
ci9QbGF0Zm9ybVdlYlZpZXcuaDogQWRkZWQgUGxhdGZvcm1XS1ZpZXcgYW5kCisgICAgICAgIFBs
YXRmb3JtV2luZG93IHR5cGVkZWZzIGZvciBRdCBhbmQgZml4IHRoZSBfX0FQUExFX18KKyAgICAg
ICAgY29uZGl0aW9uIGZvciB0aGUgY2FzZSB3aGVuIGl0IGlzIG5vdCBkZWZpbmVkLgorICAgICAg
ICAqIFdlYktpdFRlc3RSdW5uZXIvcXQvRGVyaXZlZFNvdXJjZXMucHJvOiBBZGRlZC4KKyAgICAg
ICAgKiBXZWJLaXRUZXN0UnVubmVyL3F0L1BsYXRmb3JtV2ViVmlld1F0LmNwcDogQWRkZWQuCisg
ICAgICAgIEVtcHR5IHN0dWIgaW1wbGVtZW50YXRpb24uCisgICAgICAgIChXVFI6OnJlZ2lzdGVy
V2luZG93Q2xhc3MpOgorICAgICAgICAoV1RSOjpQbGF0Zm9ybVdlYlZpZXc6OlBsYXRmb3JtV2Vi
Vmlldyk6CisgICAgICAgIChXVFI6OlBsYXRmb3JtV2ViVmlldzo6flBsYXRmb3JtV2ViVmlldyk6
CisgICAgICAgIChXVFI6OlBsYXRmb3JtV2ViVmlldzo6cmVzaXplVG8pOgorICAgICAgICAoV1RS
OjpQbGF0Zm9ybVdlYlZpZXc6OnBhZ2UpOgorICAgICAgICAoV1RSOjpQbGF0Zm9ybVdlYlZpZXc6
OmZvY3VzKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL3F0L1Rlc3RDb250cm9sbGVyUXQu
Y3BwOiBBZGRlZC4KKyAgICAgICAgRW1wdHkgc3R1YiBpbXBsZW1lbnRhdGlvbi4KKyAgICAgICAg
KFdUUjo6cmVnaXN0ZXJXaW5kb3dDbGFzcyk6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVy
OjpydW5VbnRpbCk6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybUluaXRp
YWxpemUpOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6aW5pdGlhbGl6ZUluamVjdGVk
QnVuZGxlUGF0aCk6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjppbml0aWFsaXplVGVz
dFBsdWdpbkRpcmVjdG9yeSk6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpwbGF0Zm9y
bUluaXRpYWxpemVDb250ZXh0KToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL3F0L1dlYktp
dFRlc3RSdW5uZXIucHJvOiBBZGRlZC4KKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL3F0L21h
aW4uY3BwOiBBZGRlZC4KKyAgICAgICAgKG1haW4pOgorCisyMDEwLTEwLTAxICBCYWxhenMgS2Vs
ZW1lbiAgPGtiYWxhenNAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKwogICAgICAgICBXZWJLaXRUZXN0UnVubmVyIHNob3VsZCBiZSBwb3J0YWJsZQog
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDUzOTMKIApk
aWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9nZW5lcmF0ZS1mb3J3YXJkaW5nLWhlYWRl
cnMucGwgYi9XZWJLaXRUb29scy9TY3JpcHRzL2dlbmVyYXRlLWZvcndhcmRpbmctaGVhZGVycy5w
bApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lZDU4NzAyCi0tLSAvZGV2L251
bGwKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9nZW5lcmF0ZS1mb3J3YXJkaW5nLWhlYWRlcnMu
cGwKQEAgLTAsMCArMSw5OSBAQAorIyEvdXNyL2Jpbi9wZXJsIC13CisjIENvcHlyaWdodCAoQykg
MjAxMCBBbmRyYXMgQmVjc2kgKGFiZWNzaUBpbmYudS1zemVnZWQuaHUpLCBVbml2ZXJzaXR5IG9m
IFN6ZWdlZAorIyBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisjIGFyZSBtZXQ6CisjIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMg
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorIyAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFVOSVZFUlNJVFkgT0YgU1pFR0VEIGBgQVMgSVMnJyBBTkQgQU5ZCisjIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCisjIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorIyBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQg
U0hBTEwgVU5JVkVSU0lUWSBPRiBTWkVHRUQgT1IKKyMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisjIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyMgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCisjIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyMgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorIworIyBBIHNjcmlwdCB3aGljaCBzZWFyY2hlcyBmb3IgaGVhZGVycyBpbmNs
dWRlZCBieSBXZWJLaXQyIGZpbGVzCisjIGFuZCBnZW5lcmF0ZXMgZm9yd2FyZGluZyBoZWFkZXJz
IGZvciB0aGVzZSBoZWFkZXJzLgorCit1c2Ugc3RyaWN0OwordXNlIEN3ZCBxdyhhYnNfcGF0aCBy
ZWFscGF0aCk7Cit1c2UgRmlsZTo6RmluZDsKK3VzZSBGaWxlOjpCYXNlbmFtZTsKK3VzZSBGaWxl
OjpTcGVjOjpGdW5jdGlvbnM7CisKK215ICRzcmNSb290ID0gcmVhbHBhdGgoRmlsZTo6U3BlYy0+
Y2F0ZmlsZShkaXJuYW1lKGFic19wYXRoKCQwKSksICIuLi8uLiIpKTsKK215ICRpbmNGcm9tUm9v
dCA9IGFic19wYXRoKCRBUkdWWzBdKTsKK215IEBwbGF0Zm9ybVByZWZpeGVzID0gKCJhbmRyb2lk
IiwgImJyZXciLCAiY2YiLCAiY2hyb21pdW0iLCAiY3VybCIsICJlZmwiLCAiZ3RrIiwgImhhaWt1
IiwgIm1hYyIsICJxdCIsICJzb3VwIiwgInY4IiwgIndpbiIsICJ3eCIpOworbXkgQGZyYW1ld29y
a3MgPSAoICJKYXZhU2NyaXB0Q29yZSIsICJXZWJDb3JlIiwgIldlYktpdDIiKTsKK215IEBza2lw
cGVkUHJlZml4ZXM7CitteSBAZnJhbWV3b3JrSGVhZGVyczsKK215ICRmcmFtZXdvcms7CitteSAl
bmVlZGVkSGVhZGVyczsKKworc2hpZnQ7CitteSAkb3V0cHV0RGlyZWN0b3J5ID0gJEFSR1ZbMF07
CitzaGlmdDsKK215ICRwbGF0Zm9ybSAgPSAkQVJHVlswXTsKKworZm9yZWFjaCBteSAkcHJlZml4
IChAcGxhdGZvcm1QcmVmaXhlcykgeworICAgIHB1c2goQHNraXBwZWRQcmVmaXhlcywgJHByZWZp
eCkgdW5sZXNzICgkcHJlZml4ID1+ICRwbGF0Zm9ybSk7Cit9CisKK2ZvcmVhY2ggKEBmcmFtZXdv
cmtzKSB7CisgICAgJGZyYW1ld29yayA9ICRfOworICAgIGZpbmQoXCZjb2xsZWN0TmVlZGVkSGVh
ZGVycywgJGluY0Zyb21Sb290KTsKKyAgICBmaW5kKFwmY29sbGVjdEZhbWV3b3JrSGVhZGVyUGF0
aHMsIEZpbGU6OlNwZWMtPmNhdGZpbGUoJHNyY1Jvb3QsICRmcmFtZXdvcmspKTsKKyAgICBjcmVh
dGVGb3J3YXJkaW5nSGVhZGVyc0ZvckZyYW1ld29yaygpOworfQorCitzdWIgY29sbGVjdE5lZWRl
ZEhlYWRlcnMgeworICAgIG15ICRmaWxlUGF0aCA9ICRGaWxlOjpGaW5kOjpuYW1lOworICAgIG15
ICRmaWxlID0gJF87CisgICAgaWYgKCRmaWxlUGF0aCA9fiAnXC5oJHxcLmNwcCQnKSB7CisgICAg
ICAgIG9wZW4oRklMRSwgIjwkZmlsZSIpIG9yIGRpZSAiQ291bGQgbm90IG9wZW4gJGZpbGVQYXRo
LlxuIjsKKyAgICAgICAgd2hpbGUgKDxGSUxFPikgeworICAgICAgICAgICBpZiAobS9eIy4qPCRm
cmFtZXdvcmtcLyguKlwuaCkvKSB7CisgICAgICAgICAgICAgICAkbmVlZGVkSGVhZGVyc3skMX0g
PSAxOworICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgY2xvc2UoRklMRSk7CisgICAg
fQorfQorCitzdWIgY29sbGVjdEZhbWV3b3JrSGVhZGVyUGF0aHMgeworICAgIG15ICRmaWxlUGF0
aCA9ICRGaWxlOjpGaW5kOjpuYW1lOworICAgIG15ICRmaWxlID0gJF87CisgICAgaWYgKCRmaWxl
UGF0aCA9fiAnXC5oJCcgJiYgJGZpbGVQYXRoICF+ICJGb3J3YXJkaW5nSGVhZGVycyIgJiYgZ3Jl
cHskZmlsZSBlcSAkX30ga2V5cyAlbmVlZGVkSGVhZGVycykgeworICAgICAgICBteSAkaGVhZGVy
UGF0aCA9IHN1YnN0cigkZmlsZVBhdGgsIGxlbmd0aCgiJHNyY1Jvb3QvJGZyYW1ld29yay8iKSk7
CisgICAgICAgIHB1c2goQGZyYW1ld29ya0hlYWRlcnMsICRoZWFkZXJQYXRoKSB1bmxlc3MgKGdy
ZXAoJGhlYWRlclBhdGggPX4gIiRfLyIsIEBza2lwcGVkUHJlZml4ZXMpKTsKKyAgICB9Cit9CisK
K3N1YiBjcmVhdGVGb3J3YXJkaW5nSGVhZGVyc0ZvckZyYW1ld29yayB7CisgICAgZm9yZWFjaCBt
eSAkaGVhZGVyIChAZnJhbWV3b3JrSGVhZGVycykgeworICAgICAgICBteSAkZm9yd2FyZGluZ0hl
YWRlclBhdGggPSBGaWxlOjpTcGVjLT5jYXRmaWxlKCRvdXRwdXREaXJlY3RvcnksICRmcmFtZXdv
cmssIGJhc2VuYW1lKCRoZWFkZXIpKTsKKyAgICAgICAgbXkgJGV4cGVjdGVkSW5jbHVkZVN0YXRl
bWVudCA9ICIjaW5jbHVkZSBcIiRoZWFkZXJcIiI7CisgICAgICAgIG15ICRmb3VuZEluY2x1ZGVT
dGF0ZW1lbnQgPSAwOworICAgICAgICAkZm91bmRJbmNsdWRlU3RhdGVtZW50ID0gPEVYSVNUSU5H
X0hFQURFUj4gaWYgb3BlbihFWElTVElOR19IRUFERVIsICI8JGZvcndhcmRpbmdIZWFkZXJQYXRo
Iik7CisgICAgICAgIGNob21wKCRmb3VuZEluY2x1ZGVTdGF0ZW1lbnQpOworICAgICAgICBpZiAo
ISAkZm91bmRJbmNsdWRlU3RhdGVtZW50IHx8ICRmb3VuZEluY2x1ZGVTdGF0ZW1lbnQgbmUgJGV4
cGVjdGVkSW5jbHVkZVN0YXRlbWVudCkgeworICAgICAgICAgICAgcHJpbnQgIltDcmVhdGluZyBm
b3J3YXJkaW5nIGhlYWRlciBmb3IgJGZyYW1ld29yay8kaGVhZGVyXVxuIjsKKyAgICAgICAgICAg
IG9wZW4oRk9SV0FSRElOR19IRUFERVIsICI+JGZvcndhcmRpbmdIZWFkZXJQYXRoIikgb3IgZGll
ICJDb3VsZCBub3Qgb3BlbiAkZm9yd2FyZGluZ0hlYWRlclBhdGguIjsKKyAgICAgICAgICAgIHBy
aW50IEZPUldBUkRJTkdfSEVBREVSICIkZXhwZWN0ZWRJbmNsdWRlU3RhdGVtZW50XG4iOworICAg
ICAgICAgICAgY2xvc2UoRk9SV0FSRElOR19IRUFERVIpOworICAgICAgICB9CisgICAgICAgIGNs
b3NlKEVYSVNUSU5HX0hFQURFUik7CisgICAgfQorfQorCmRpZmYgLS1naXQgYS9XZWJLaXRUb29s
cy9TY3JpcHRzL3dlYmtpdGRpcnMucG0gYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdGRpcnMu
cG0KaW5kZXggOTRhZDU1Ni4uMDIxOGUxZiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0
cy93ZWJraXRkaXJzLnBtCisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbQpA
QCAtMTUzMCw2ICsxNTMwLDcgQEAgc3ViIGJ1aWxkUU1ha2VQcm9qZWN0KCRAKQogICAgIG15IEBz
dWJkaXJzID0gKCJKYXZhU2NyaXB0Q29yZSIsICJXZWJDb3JlIiwgIldlYktpdC9xdC9BcGkiKTsK
ICAgICBpZiAoZ3JlcCB7ICRfIGVxICJDT05GSUcrPXdlYmtpdDIifSBAYnVpbGRBcmdzKSB7CiAg
ICAgICAgIHB1c2ggQHN1YmRpcnMsICJXZWJLaXQyIjsKKyAgICAgICAgcHVzaCBAc3ViZGlycywg
IldlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvcXQiOwogICAgIH0KIAogICAgIGZvciBteSAk
c3ViZGlyIChAc3ViZGlycykgewpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9QbGF0Zm9ybVdlYlZpZXcuaCBiL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvUGxh
dGZvcm1XZWJWaWV3LmgKaW5kZXggMjljNjNhZS4uOGFhNTc5YSAxMDA2NDQKLS0tIGEvV2ViS2l0
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9QbGF0Zm9ybVdlYlZpZXcuaAorKysgYi9XZWJLaXRUb29s
cy9XZWJLaXRUZXN0UnVubmVyL1BsYXRmb3JtV2ViVmlldy5oCkBAIC0yNiw3ICsyNiw3IEBACiAj
aWZuZGVmIFBsYXRmb3JtV2ViVmlld19oCiAjZGVmaW5lIFBsYXRmb3JtV2ViVmlld19oCiAKLSNp
ZiBfX0FQUExFX18KKyNpZiBkZWZpbmVkKF9fQVBQTEVfXykgJiYgX19BUFBMRV9fCiAjaWYgX19P
QkpDX18KIEBjbGFzcyBXS1ZpZXc7CiBAY2xhc3MgTlNXaW5kb3c7CkBAIC0zOSw2ICszOSw5IEBA
IHR5cGVkZWYgTlNXaW5kb3cqIFBsYXRmb3JtV2luZG93OwogI2VsaWYgZGVmaW5lZChXSU4zMikg
fHwgZGVmaW5lZChfV0lOMzIpCiB0eXBlZGVmIFdLVmlld1JlZiBQbGF0Zm9ybVdLVmlldzsKIHR5
cGVkZWYgSFdORCBQbGF0Zm9ybVdpbmRvdzsKKyNlbGlmIGRlZmluZWQoQlVJTERJTkdfUVRfXykK
K3R5cGVkZWYgUUdyYXBoaWNzV0tWaWV3KiBQbGF0Zm9ybVdLVmlldzsKK3R5cGVkZWYgUUdyYXBo
aWNzV2lkZ2V0KiBQbGF0Zm9ybVdpbmRvdzsKICNlbmRpZgogCiBuYW1lc3BhY2UgV1RSIHsKZGlm
ZiAtLWdpdCBhL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvcXQvRGVyaXZlZFNvdXJjZXMu
cHJvIGIvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9xdC9EZXJpdmVkU291cmNlcy5wcm8K
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmNkNzE2ZQotLS0gL2Rldi9udWxs
CisrKyBiL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvcXQvRGVyaXZlZFNvdXJjZXMucHJv
CkBAIC0wLDAgKzEsMTggQEAKK1RFTVBMQVRFID0gbGliCitUQVJHRVQgPSBkdW1teQorCitDT05G
SUcgLT0gZGVidWdfYW5kX3JlbGVhc2UKKworU1JDX1JPT1RfRElSID0gJCRyZXBsYWNlKFBXRCwg
L1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvcXQsIC8pCisKK3d0cl9md2hlYWRlcl9nZW5l
cmF0b3IuY29tbWFuZHMgPSBwZXJsICQke1NSQ19ST09UX0RJUn0vV2ViS2l0VG9vbHMvU2NyaXB0
cy9nZW5lcmF0ZS1mb3J3YXJkaW5nLWhlYWRlcnMucGwgJCR7U1JDX1JPT1RfRElSfS9XZWJLaXRU
b29scy9XZWJLaXRUZXN0UnVubmVyICQke09VVFBVVF9ESVJ9L2luY2x1ZGUgcXQKK3d0cl9md2hl
YWRlcl9nZW5lcmF0b3IuZGVwZW5kcyAgPSAkJHtTUkNfUk9PVF9ESVJ9L1dlYktpdFRvb2xzL1Nj
cmlwdHMvZ2VuZXJhdGUtZm9yd2FyZGluZy1oZWFkZXJzLnBsCitnZW5lcmF0ZWRfZmlsZXMuZGVw
ZW5kcyAgICAgKz0gd3RyX2Z3aGVhZGVyX2dlbmVyYXRvcgorUU1BS0VfRVhUUkFfVEFSR0VUUyAg
ICAgICAgICs9IHd0cl9md2hlYWRlcl9nZW5lcmF0b3IKKworanNjX2Z3aGVhZGVyX2dlbmVyYXRv
ci5jb21tYW5kcyA9IHBlcmwgJCR7U1JDX1JPT1RfRElSfS9XZWJLaXRUb29scy9TY3JpcHRzL2dl
bmVyYXRlLWZvcndhcmRpbmctaGVhZGVycy5wbCAkJHtTUkNfUk9PVF9ESVJ9L0phdmFTY3JpcHRD
b3JlL0FQSSAkJHtPVVRQVVRfRElSfS9pbmNsdWRlIHF0Citqc2NfZndoZWFkZXJfZ2VuZXJhdG9y
LmRlcGVuZHMgID0gJCR7U1JDX1JPT1RfRElSfS9XZWJLaXRUb29scy9TY3JpcHRzL2dlbmVyYXRl
LWZvcndhcmRpbmctaGVhZGVycy5wbAorZ2VuZXJhdGVkX2ZpbGVzLmRlcGVuZHMgICAgICs9IGpz
Y19md2hlYWRlcl9nZW5lcmF0b3IKK1FNQUtFX0VYVFJBX1RBUkdFVFMgICAgICAgICArPSBqc2Nf
ZndoZWFkZXJfZ2VuZXJhdG9yCisKK1FNQUtFX0VYVFJBX1RBUkdFVFMgICAgICAgICs9IGdlbmVy
YXRlZF9maWxlcwpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9xdC9Q
bGF0Zm9ybVdlYlZpZXdRdC5jcHAgYi9XZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL3F0L1Bs
YXRmb3JtV2ViVmlld1F0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43
Y2U5YzdiCi0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9x
dC9QbGF0Zm9ybVdlYlZpZXdRdC5jcHAKQEAgLTAsMCArMSw3MCBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTAgVW5pdmVyc2l0eSBvZiBTemVnZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICog
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
CisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiUGxhdGZvcm1XZWJWaWV3LmgiCisjaW5jbHVkZSAi
Tm90SW1wbGVtZW50ZWQuaCIKKworbmFtZXNwYWNlIFdUUiB7CisKK3N0YXRpYyB2b2lkIHJlZ2lz
dGVyV2luZG93Q2xhc3MoKQoreworICAgIC8vIEltcGxlbWVudAorICAgIG5vdEltcGxlbWVudGVk
KCk7Cit9CisKK1BsYXRmb3JtV2ViVmlldzo6UGxhdGZvcm1XZWJWaWV3KFdLUGFnZU5hbWVzcGFj
ZVJlZiBuYW1lc3BhY2VSZWYpCit7CisgICAgcmVnaXN0ZXJXaW5kb3dDbGFzcygpOworCisgICAg
Ly8gSW1wbGVtZW50CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKworUGxhdGZvcm1XZWJWaWV3
Ojp+UGxhdGZvcm1XZWJWaWV3KCkKK3sKKyAgICAvLyBJbXBsZW1lbnQKK30KKwordm9pZCBQbGF0
Zm9ybVdlYlZpZXc6OnJlc2l6ZVRvKHVuc2lnbmVkIHdpZHRoLCB1bnNpZ25lZCBoZWlnaHQpCit7
CisgICAgLy8gSW1wbGVtZW50CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKworV0tQYWdlUmVm
IFBsYXRmb3JtV2ViVmlldzo6cGFnZSgpCit7CisgICAgLy8gSW1wbGVtZW50CisgICAgbm90SW1w
bGVtZW50ZWQoKTsKKyAgICByZXR1cm4gMDsKK30KKwordm9pZCBQbGF0Zm9ybVdlYlZpZXc6OmZv
Y3VzKCkKK3sKKyAgICAvLyBJbXBsZW1lbnQKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCit9
IC8vIG5hbWVzcGFjZSBXVFIKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvcXQvVGVzdENvbnRyb2xsZXJRdC5jcHAgYi9XZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVy
L3F0L1Rlc3RDb250cm9sbGVyUXQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLjllMzVhMWUKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJLaXRUb29scy9XZWJLaXRUZXN0UnVu
bmVyL3F0L1Rlc3RDb250cm9sbGVyUXQuY3BwCkBAIC0wLDAgKzEsNjEgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJp
Z2h0IChDKSAyMDEwIFVuaXZlcnNpdHkgb2YgU3plZ2VkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IK
KyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgIlRlc3RDb250cm9sbGVyLmgiCisjaW5jbHVk
ZSAiTm90SW1wbGVtZW50ZWQuaCIKKworbmFtZXNwYWNlIFdUUiB7CisKK3N0YXRpYyB2b2lkIHJl
Z2lzdGVyV2luZG93Q2xhc3MoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK3ZvaWQg
VGVzdENvbnRyb2xsZXI6OnJ1blVudGlsKGJvb2wmIGRvbmUpCit7CisgICAgbm90SW1wbGVtZW50
ZWQoKTsKK30KK3ZvaWQgVGVzdENvbnRyb2xsZXI6OnBsYXRmb3JtSW5pdGlhbGl6ZSgpCit7Cisg
ICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwordm9pZCBUZXN0Q29udHJvbGxlcjo6aW5pdGlhbGl6
ZUluamVjdGVkQnVuZGxlUGF0aCgpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwordm9p
ZCBUZXN0Q29udHJvbGxlcjo6aW5pdGlhbGl6ZVRlc3RQbHVnaW5EaXJlY3RvcnkoKQoreworICAg
IG5vdEltcGxlbWVudGVkKCk7Cit9CisKK3ZvaWQgVGVzdENvbnRyb2xsZXI6OnBsYXRmb3JtSW5p
dGlhbGl6ZUNvbnRleHQoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK30gLy8gbmFt
ZXNwYWNlIFdUUgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9xdC9X
ZWJLaXRUZXN0UnVubmVyLnBybyBiL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvcXQvV2Vi
S2l0VGVzdFJ1bm5lci5wcm8KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjQw
NGI4NgotLS0gL2Rldi9udWxsCisrKyBiL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvcXQv
V2ViS2l0VGVzdFJ1bm5lci5wcm8KQEAgLTAsMCArMSw2NiBAQAorVEFSR0VUID0gV2ViS2l0VGVz
dFJ1bm5lcgorQ09ORklHIC09IGFwcF9idW5kbGUKKworQkFTRURJUiA9ICQkUFdELy4uLworaXNF
bXB0eShPVVRQVVRfRElSKTogT1VUUFVUX0RJUiA9IC4uLy4uLy4uCisKK2luY2x1ZGUoLi4vLi4v
Li4vV2ViS2l0LnByaSkKKworIUNPTkZJRyhyZWxlYXNlLCBkZWJ1Z3xyZWxlYXNlKSB7CisgICAg
T0JKRUNUU19ESVIgPSBvYmovZGVidWcKK30gZWxzZSB7ICMgUmVsZWFzZQorICAgIE9CSkVDVFNf
RElSID0gb2JqL3JlbGVhc2UKK30KKworREVGSU5FUyArPSBVU0VfU1lTVEVNX01BTExPQworCitJ
TkNMVURFUEFUSCArPSBcCisgICAgJCRCQVNFRElSIFwKKyAgICAkJEJBU0VESVIvLi4vLi4vSmF2
YVNjcmlwdENvcmUgXAorICAgICQkQkFTRURJUi8uLi8uLi9XZWJLaXQyIFwKKyAgICAkJEJBU0VE
SVIvLi4vLi4vV2ViS2l0Mi9TaGFyZWQgXAorCitJTkNMVURFUEFUSCArPSBcCisgICAgJCRPVVRQ
VVRfRElSL2luY2x1ZGUgXAorCisKK0RFU1RESVIgPSAkJE9VVFBVVF9ESVIvYmluCisKK3VuaXg6
IW1hYyB7CisgICAgQ09ORklHICs9IGxpbmtfcGtnY29uZmlnCisgICAgUEtHQ09ORklHICs9IGZv
bnRjb25maWcKK30KKworUVQgPSBjb3JlIGd1aSBuZXR3b3JrCisKK0hFQURFUlMgPSBcCisgICAg
JCRCQVNFRElSL1BsYXRmb3JtV2ViVmlldy5oIFwKKyAgICAkJEJBU0VESVIvU3RyaW5nRnVuY3Rp
b25zLmggXAorICAgICQkQkFTRURJUi9UZXN0Q29udHJvbGxlci5oIFwKKyAgICAkJEJBU0VESVIv
VGVzdEludm9jYXRpb24uaAorCitTT1VSQ0VTID0gXAorICAgIG1haW4uY3BwIFwKKyAgICBQbGF0
Zm9ybVdlYlZpZXdRdC5jcHAgXAorICAgIFRlc3RDb250cm9sbGVyUXQuY3BwIFwKKyAgICAkJEJB
U0VESVIvVGVzdENvbnRyb2xsZXIuY3BwIFwKKyAgICAkJEJBU0VESVIvVGVzdEludm9jYXRpb24u
Y3BwIFwKKworUFJFRklYX0hFQURFUiA9ICQkQkFTRURJUi9XZWJLaXRUZXN0UnVubmVyUHJlZml4
LmgKK1FNQUtFX0NYWEZMQUdTICs9ICItaW5jbHVkZSAkJFBSRUZJWF9IRUFERVIiCisKK2xpbnV4
LSogeworICAgICMgRnJvbSBDcmVhdG9yJ3Mgc3JjL3JwYXRoLnByaToKKyAgICAjIERvIHRoZSBy
cGF0aCBieSBoYW5kIHNpbmNlIGl0J3Mgbm90IHBvc3NpYmxlIHRvIHVzZSBPUklHSU4gaW4gUU1B
S0VfUlBBVEhESVIKKyAgICAjIHRoaXMgZXhwYW5kcyB0byAkT1JJR0lOIChhZnRlciBxbWFrZSBh
bmQgbWFrZSksIGl0IGRvZXMgTk9UIHJlYWQgYSBxbWFrZSB2YXIuCisgICAgUU1BS0VfUlBBVEhE
SVIgPSBcJFwkT1JJR0lOLy4uL2xpYiAkJFFNQUtFX1JQQVRIRElSCisgICAgTVlfUlBBVEggPSAk
JGpvaW4oUU1BS0VfUlBBVEhESVIsICI6IikKKworICAgIFFNQUtFX0xGTEFHUyArPSAtV2wsLXos
b3JpZ2luIFwnLVdsLC1ycGF0aCwkJHtNWV9SUEFUSH1cJworICAgIFFNQUtFX1JQQVRIRElSID0K
K30gZWxzZSB7CisgICAgUU1BS0VfUlBBVEhESVIgPSAkJE9VVFBVVF9ESVIvbGliICQkUU1BS0Vf
UlBBVEhESVIKK30KKworaW5jbHVkZSguLi8uLi8uLi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS5wcmkpCithZGRKYXZhU2NyaXB0Q29yZUxpYiguLi8uLi8uLi9KYXZhU2NyaXB0Q29yZSkK
ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvcXQvbWFpbi5jcHAgYi9X
ZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL3F0L21haW4uY3BwCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLjI1MjNmNTEKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJLaXRUb29s
cy9XZWJLaXRUZXN0UnVubmVyL3F0L21haW4uY3BwCkBAIC0wLDAgKzEsMzQgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDEwIFVuaXZlcnNpdHkgb2YgU3plZ2VkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiVGVzdENvbnRyb2xsZXIuaCIKKworaW50IG1haW4oaW50IGFyZ2MsIGNvbnN0IGNoYXIqIGFy
Z3ZbXSkKK3sKKyAgICBXVFI6OlRlc3RDb250cm9sbGVyIGNvbnRyb2xsZXIoYXJnYywgYXJndik7
CisKKyAgICByZXR1cm4gMDsKK30K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69941</attachid>
            <date>2010-10-06 08:00:17 -0700</date>
            <delta_ts>2010-10-06 08:25:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-44155-20101006170015.patch</filename>
            <type>text/plain</type>
            <size>12583</size>
            <attacher name="Balazs Kelemen">kbalazs</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCAyMzExOTc4ZjEyNjg4YjM1
ZDIxNjg4YTVjZjUyODI0ZWQyNTNmODJmLi5kMzI5ODlkZDFhMDZiYTgyN2EzYzc1MWMxZTg4NTJi
MGNmZGE5YWVhIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTQgQEAKKzIwMTAtMTAtMDYgIEJhbGF6cyBLZWxlbWVuICA8a2JhbGF6c0B3ZWJraXQub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF0g
QWRkIFdlYktpdFRlc3RSdW5uZXIncyBidWlsZCBmaWxlcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDQxNTUKKworICAgICAgICBBZGQgdGhlIG5ldyBz
dWJkaXJzLgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLnBybzoKKyAgICAgICAgKiBXZWJLaXQu
cHJvOgorCiAyMDEwLTEwLTA0ICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5j
b20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW50b25pbyBHb21lcy4KZGlmZiAtLWdpdCBhL0Rl
cml2ZWRTb3VyY2VzLnBybyBiL0Rlcml2ZWRTb3VyY2VzLnBybwppbmRleCA4ODBhNzE2YTU2ZTk5
NjYzMjI4MGExZDJiMjczMTA3ZDA3ZWUzMzlmLi4wMDE1YWY2ZWI3OWRkMDE0ZjAxZTJjOTExZDNh
MzFkNTIwNDRmMTUwIDEwMDY0NAotLS0gYS9EZXJpdmVkU291cmNlcy5wcm8KKysrIGIvRGVyaXZl
ZFNvdXJjZXMucHJvCkBAIC04LDYgKzgsNyBAQCBTVUJESVJTICs9IFwKIAogd2Via2l0MiB7CiAg
ICAgU1VCRElSUyArPSBXZWJLaXQyL0Rlcml2ZWRTb3VyY2VzLnBybworICAgIFNVQkRJUlMgKz0g
V2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9xdC9EZXJpdmVkU291cmNlcy5wcm8KIH0KIAog
Zm9yKHN1YnBybywgU1VCRElSUykgewpkaWZmIC0tZ2l0IGEvV2ViS2l0LnBybyBiL1dlYktpdC5w
cm8KaW5kZXggOWZkOWMyZWRkZDA4OTJjZDQ5MDM0NjIxYzYyYzE4Y2NlYjNhMTUzOS4uODk4YTRl
YzA3MWFjNzIzMjE4NTE2NTA4MGU0ZDk0ZTk3MTQ4NGU3ZiAxMDA2NDQKLS0tIGEvV2ViS2l0LnBy
bworKysgYi9XZWJLaXQucHJvCkBAIC0zMyw2ICszMyw3IEBAIGJ1aWxkLXF0c2NyaXB0IHsKIHdl
YmtpdDIgewogICAgIGV4aXN0cygkJFBXRC9XZWJLaXQyL1dlYlByb2Nlc3MucHJvKTogU1VCRElS
UyArPSBXZWJLaXQyL1dlYlByb2Nlc3MucHJvCiAgICAgZXhpc3RzKCQkUFdEL1dlYktpdFRvb2xz
L01pbmlCcm93c2VyL3F0L01pbmlCcm93c2VyLnBybyk6IFNVQkRJUlMgKz0gV2ViS2l0VG9vbHMv
TWluaUJyb3dzZXIvcXQvTWluaUJyb3dzZXIucHJvCisgICAgZXhpc3RzKCQkUFdEL1dlYktpdFRv
b2xzL1dlYktpdFRlc3RSdW5uZXIvcXQvV2ViS2l0VGVzdFJ1bm5lci5wcm8pOiBTVUJESVJTICs9
IFdlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvcXQvV2ViS2l0VGVzdFJ1bm5lci5wcm8KIH0K
IAogc3ltYmlhbiB7CmRpZmYgLS1naXQgYS9XZWJLaXQyL0NoYW5nZUxvZyBiL1dlYktpdDIvQ2hh
bmdlTG9nCmluZGV4IDQzMWFjN2UwZjRmNTVhOGI1NTk3ZjFmYzdiZmI4NzUwNmUxODIwMWMuLjcw
NjkzYThmYTNmZDE2ZjNiZGRmOGE0ZjRlN2Y3YmYxYmFmMTM4NGUgMTAwNjQ0Ci0tLSBhL1dlYktp
dDIvQ2hhbmdlTG9nCisrKyBiL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0yLDYgKzIsMjMgQEAKIAog
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KIAorICAgICAgICBbUXRdIEFkZCBX
ZWJLaXRUZXN0UnVubmVyJ3MgYnVpbGQgZmlsZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTQ0MTU1CisKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5w
cm86IENoYW5nZXMgYWNjb3JkaW5nIHRoZSBuZXcgbG9jYXRpb24KKyAgICAgICAgb2YgZ2VuZXJh
dGUtZm9yd2FyZGluZy1oZWFkZXJzLnBsLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XZWJL
aXQyLmg6IERvIG5vdCBjaGVjayB0aGUgdmFsdWUgb2YgdGhlCisgICAgICAgIF9fQVBQTEVfXyBk
ZWZpbmUgaWYgaXQgaXMgbm90IGRlZmluZWQuCisgICAgICAgICogV2ViS2l0Mi5wcm86IENoYW5n
ZXMgYWNjb3JkaW5nIHRoZSBuZXcgbG9jYXRpb24KKyAgICAgICAgb2YgZ2VuZXJhdGUtZm9yd2Fy
ZGluZy1oZWFkZXJzLnBsLiBBZGRlZCBtaXNzaW5nIGZpbGVzCisgICAgICAgIHRvIHRoZSBidWls
ZCB0aGF0IHByb3ZpZGVzIEFQSSB0aGF0IGlzIHVzZWQgYnkgV1RSLgorICAgICAgICAqIGdlbmVy
YXRlLWZvcndhcmRpbmctaGVhZGVycy5wbDogTW92ZWQgdG8gV2ViS2l0VG9vbHMvU2NyaXB0cwor
ICAgICAgICBzaW5jZSBmcm9tIG5vdyB0aGlzIGlzIG5vdCBvbmx5IHVzZWQgYnkgV2ViS2l0Mi4K
KworMjAxMC0xMC0wNiAgQmFsYXpzIEtlbGVtZW4gIDxrYmFsYXpzQHdlYmtpdC5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKICAgICAgICAgV2ViS2l0VGVzdFJ1
bm5lciBzaG91bGQgYmUgcG9ydGFibGUKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTQ1MzkzCiAKZGlmZiAtLWdpdCBhL1dlYktpdDIvRGVyaXZlZFNvdXJj
ZXMucHJvIGIvV2ViS2l0Mi9EZXJpdmVkU291cmNlcy5wcm8KaW5kZXggYjczZTkzNTNiOGU4MzZm
YmNjMzUyYzJlMTk0MWJlM2Y4Mjg3YTdhYy4uYzgwMmFmNTY1OWEzOTk0MmE4ZWY0ZGJhYjU3ZmRj
NGYyNGMyMWM5OSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9EZXJpdmVkU291cmNlcy5wcm8KKysrIGIv
V2ViS2l0Mi9EZXJpdmVkU291cmNlcy5wcm8KQEAgLTY0LDggKzY0LDggQEAgcHJvY2Vzc21lc3Nh
Z2VyZWNlaXZlcl9nZW5lcmF0b3IudGFyZ2V0ICAgPSAkJHtPVVRQVVRfRElSfS9XZWJLaXQyL2dl
bmVyYXRlZC9XZWIKIGdlbmVyYXRlZF9maWxlcy5kZXBlbmRzICAgICAgICAgICAgICAgICAgICs9
IHByb2Nlc3NtZXNzYWdlcmVjZWl2ZXJfZ2VuZXJhdG9yCiBRTUFLRV9FWFRSQV9UQVJHRVRTICAg
ICAgICAgICAgICAgICAgICAgICArPSBwcm9jZXNzbWVzc2FnZXJlY2VpdmVyX2dlbmVyYXRvcgog
Ci1md2hlYWRlcl9nZW5lcmF0b3IuY29tbWFuZHMgPSBwZXJsICQke1NSQ19ST09UX0RJUn0vV2Vi
S2l0Mi9nZW5lcmF0ZS1mb3J3YXJkaW5nLWhlYWRlcnMucGwgJCR7T1VUUFVUX0RJUn0vaW5jbHVk
ZSBxdAotZndoZWFkZXJfZ2VuZXJhdG9yLmRlcGVuZHMgID0gJCR7U1JDX1JPT1RfRElSfS9XZWJL
aXQyL2dlbmVyYXRlLWZvcndhcmRpbmctaGVhZGVycy5wbAorZndoZWFkZXJfZ2VuZXJhdG9yLmNv
bW1hbmRzID0gcGVybCAkJHtTUkNfUk9PVF9ESVJ9L1dlYktpdFRvb2xzL1NjcmlwdHMvZ2VuZXJh
dGUtZm9yd2FyZGluZy1oZWFkZXJzLnBsICQke1NSQ19ST09UX0RJUn0vV2ViS2l0MiAkJHtPVVRQ
VVRfRElSfS9pbmNsdWRlIHF0Citmd2hlYWRlcl9nZW5lcmF0b3IuZGVwZW5kcyAgPSAkJHtTUkNf
Uk9PVF9ESVJ9L1dlYktpdFRvb2xzL1NjcmlwdHMvZ2VuZXJhdGUtZm9yd2FyZGluZy1oZWFkZXJz
LnBsCiBnZW5lcmF0ZWRfZmlsZXMuZGVwZW5kcyAgICAgKz0gZndoZWFkZXJfZ2VuZXJhdG9yCiBR
TUFLRV9FWFRSQV9UQVJHRVRTICAgICAgICAgKz0gZndoZWFkZXJfZ2VuZXJhdG9yCiAKZGlmZiAt
LWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dlYktpdDIuaCBiL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9DL1dlYktpdDIuaAppbmRleCA3NGUxZjhjZDI4NGY1NGUwYTI1MzlkY2E0Y2Q4Yzc1
M2Q1NWUxNTc2Li44ODAyMmQ4ZTFjYzk5YmQ4N2EzZWNjZDQwMzM1YWM1M2Q3YmY0MmY2IDEwMDY0
NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XZWJLaXQyLmgKKysrIGIvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvV2ViS2l0Mi5oCkBAIC01MCw3ICs1MCw3IEBACiAjaW5jbHVkZSA8V2Vi
S2l0Mi9XS1VSTFJlcXVlc3QuaD4KICNpbmNsdWRlIDxXZWJLaXQyL1dLVVJMUmVzcG9uc2UuaD4K
IAotI2lmICFfX0FQUExFX18gfHwgX19PQkpDX18KKyNpZiAoIWRlZmluZWQoX19BUFBMRV9fKSB8
fCAhX19BUFBMRV9fKSB8fCAoZGVmaW5lZChfX09CSkNfXykgJiYgX19PQkpDX18pCiAjaW5jbHVk
ZSA8V2ViS2l0Mi9XS1ZpZXcuaD4KICNlbmRpZgogCmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYktp
dDIucHJvIGIvV2ViS2l0Mi9XZWJLaXQyLnBybwppbmRleCAwNjRmYWU2N2M1N2RkZTRmNWQ3MjAw
ZjBhMWUwNzNhMzgwYTI0YTViLi5iZTQxZDVmZTNhZTQ5YjNlMjM2ZmIwYTIxMWM2ODIyMjAzMzc1
MDg4IDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYktpdDIucHJvCisrKyBiL1dlYktpdDIvV2ViS2l0
Mi5wcm8KQEAgLTIxMyw2ICsyMTMsNyBAQCBIRUFERVJTICs9IFwKICAgICBVSVByb2Nlc3MvQVBJ
L0MvV0tQYWdlTmFtZXNwYWNlLmggXAogICAgIFVJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VQcml2YXRl
LmggXAogICAgIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmggXAorICAgIFVJUHJvY2Vz
cy9BUEkvQy9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oIFwKICAgICBVSVByb2Nlc3MvQVBJL2NwcC9x
dC9XS1N0cmluZ1F0LmggXAogICAgIFVJUHJvY2Vzcy9BUEkvY3BwL3F0L1dLVVJMUXQuaCBcCiAg
ICAgVUlQcm9jZXNzL0FQSS9jcHAvV0tSZXRhaW5QdHIuaCBcCkBAIC0zMzgsNiArMzM5LDcgQEAg
U09VUkNFUyArPSBcCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAgXAogICAgIFVJUHJv
Y2Vzcy9BUEkvQy9XS1BhZ2VOYW1lc3BhY2UuY3BwIFwKICAgICBVSVByb2Nlc3MvQVBJL0MvV0tQ
cmVmZXJlbmNlcy5jcHAgXAorICAgIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUHJpdmF0
ZS5jcHAgXAogICAgIFVJUHJvY2Vzcy9BUEkvcXQvQ2xpZW50SW1wbC5jcHAgXAogICAgIFVJUHJv
Y2Vzcy9BUEkvcXQvcWdyYXBoaWNzd2t2aWV3LmNwcCBcCiAgICAgVUlQcm9jZXNzL0FQSS9xdC9x
d2twYWdlLmNwcCBcCmRpZmYgLS1naXQgYS9XZWJLaXQyL2dlbmVyYXRlLWZvcndhcmRpbmctaGVh
ZGVycy5wbCBiL1dlYktpdDIvZ2VuZXJhdGUtZm9yd2FyZGluZy1oZWFkZXJzLnBsCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDc1NQppbmRleCBlODM2ZmE0ZDUwZGZkNDJkMTA4OWNlMjQ4MWU2YWY0Y2Zh
NTk5NjBmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1dl
YktpdDIvZ2VuZXJhdGUtZm9yd2FyZGluZy1oZWFkZXJzLnBsCisrKyAvZGV2L251bGwKQEAgLTEs
OTcgKzAsMCBAQAotIyEvdXNyL2Jpbi9wZXJsIC13Ci0jIENvcHlyaWdodCAoQykgMjAxMCBBbmRy
YXMgQmVjc2kgKGFiZWNzaUBpbmYudS1zemVnZWQuaHUpLCBVbml2ZXJzaXR5IG9mIFN6ZWdlZAot
IyBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwotIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSMgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0jIGFy
ZSBtZXQ6Ci0jIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0jICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSMgMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSMgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQotIyAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotIwotIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFVOSVZFUlNJVFkgT0YgU1pFR0VEIGBgQVMgSVMnJyBBTkQgQU5ZCi0jIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0jIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgotIyBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVU5J
VkVSU0lUWSBPRiBTWkVHRUQgT1IKLSMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0jIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSMgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCi0jIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkKLSMgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0jIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotIyBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgotIwotIyBBIHNjcmlwdCB3aGljaCBzZWFyY2hlcyBmb3IgaGVhZGVycyBpbmNsdWRlZCBieSBX
ZWJLaXQyIGZpbGVzCi0jIGFuZCBnZW5lcmF0ZXMgZm9yd2FyZGluZyBoZWFkZXJzIGZvciB0aGVz
ZSBoZWFkZXJzLgotCi11c2Ugc3RyaWN0OwotdXNlIEN3ZCBxdyhhYnNfcGF0aCByZWFscGF0aCk7
Ci11c2UgRmlsZTo6RmluZDsKLXVzZSBGaWxlOjpCYXNlbmFtZTsKLXVzZSBGaWxlOjpTcGVjOjpG
dW5jdGlvbnM7Ci0KLW15ICRzcmNSb290ID0gcmVhbHBhdGgoRmlsZTo6U3BlYy0+Y2F0ZmlsZShk
aXJuYW1lKGFic19wYXRoKCQwKSksICIuLiIpKTsKLW15IEBwbGF0Zm9ybVByZWZpeGVzID0gKCJh
bmRyb2lkIiwgImJyZXciLCAiY2YiLCAiY2hyb21pdW0iLCAiY3VybCIsICJlZmwiLCAiZ3RrIiwg
ImhhaWt1IiwgIm1hYyIsICJxdCIsICJzb3VwIiwgInY4IiwgIndpbiIsICJ3eCIpOwotbXkgQGZy
YW1ld29ya3MgPSAoICJKYXZhU2NyaXB0Q29yZSIsICJXZWJDb3JlIiwgIldlYktpdDIiKTsKLW15
IEBza2lwcGVkUHJlZml4ZXM7Ci1teSBAZnJhbWV3b3JrSGVhZGVyczsKLW15ICRmcmFtZXdvcms7
Ci1teSAlbmVlZGVkSGVhZGVyczsKLQotbXkgJG91dHB1dERpcmVjdG9yeSA9ICRBUkdWWzBdOwot
c2hpZnQ7Ci1teSAkcGxhdGZvcm0gID0gJEFSR1ZbMF07Ci0KLWZvcmVhY2ggbXkgJHByZWZpeCAo
QHBsYXRmb3JtUHJlZml4ZXMpIHsKLSAgICBwdXNoKEBza2lwcGVkUHJlZml4ZXMsICRwcmVmaXgp
IHVubGVzcyAoJHByZWZpeCA9fiAkcGxhdGZvcm0pOwotfQotCi1mb3JlYWNoIChAZnJhbWV3b3Jr
cykgewotICAgICRmcmFtZXdvcmsgPSAkXzsKLSAgICBmaW5kKFwmY29sbGVjdE5lZWRlZEhlYWRl
cnMsIEZpbGU6OlNwZWMtPmNhdGZpbGUoJHNyY1Jvb3QsICJXZWJLaXQyIikpOwotICAgIGZpbmQo
XCZjb2xsZWN0RmFtZXdvcmtIZWFkZXJQYXRocywgRmlsZTo6U3BlYy0+Y2F0ZmlsZSgkc3JjUm9v
dCwgJGZyYW1ld29yaykpOwotICAgIGNyZWF0ZUZvcndhcmRpbmdIZWFkZXJzRm9yRnJhbWV3b3Jr
KCk7Ci19Ci0KLXN1YiBjb2xsZWN0TmVlZGVkSGVhZGVycyB7Ci0gICAgbXkgJGZpbGVQYXRoID0g
JEZpbGU6OkZpbmQ6Om5hbWU7Ci0gICAgbXkgJGZpbGUgPSAkXzsKLSAgICBpZiAoJGZpbGVQYXRo
ID1+ICdcLmgkfFwuY3BwJCcpIHsKLSAgICAgICAgb3BlbihGSUxFLCAiPCRmaWxlIikgb3IgZGll
ICJDb3VsZCBub3Qgb3BlbiAkZmlsZVBhdGguXG4iOwotICAgICAgICB3aGlsZSAoPEZJTEU+KSB7
Ci0gICAgICAgICAgIGlmIChtL14jLio8JGZyYW1ld29ya1wvKC4qXC5oKS8pIHsKLSAgICAgICAg
ICAgICAgICRuZWVkZWRIZWFkZXJzeyQxfSA9IDE7Ci0gICAgICAgICAgIH0KLSAgICAgICAgfQot
ICAgICAgICBjbG9zZShGSUxFKTsKLSAgICB9Ci19Ci0KLXN1YiBjb2xsZWN0RmFtZXdvcmtIZWFk
ZXJQYXRocyB7Ci0gICAgbXkgJGZpbGVQYXRoID0gJEZpbGU6OkZpbmQ6Om5hbWU7Ci0gICAgbXkg
JGZpbGUgPSAkXzsKLSAgICBpZiAoJGZpbGVQYXRoID1+ICdcLmgkJyAmJiAkZmlsZVBhdGggIX4g
IkZvcndhcmRpbmdIZWFkZXJzIiAmJiBncmVweyRmaWxlIGVxICRffSBrZXlzICVuZWVkZWRIZWFk
ZXJzKSB7Ci0gICAgICAgIG15ICRoZWFkZXJQYXRoID0gc3Vic3RyKCRmaWxlUGF0aCwgbGVuZ3Ro
KCIkc3JjUm9vdC8kZnJhbWV3b3JrLyIpKTsKLSAgICAgICAgcHVzaChAZnJhbWV3b3JrSGVhZGVy
cywgJGhlYWRlclBhdGgpIHVubGVzcyAoZ3JlcCgkaGVhZGVyUGF0aCA9fiAiJF8vIiwgQHNraXBw
ZWRQcmVmaXhlcykpOwotICAgIH0KLX0KLQotc3ViIGNyZWF0ZUZvcndhcmRpbmdIZWFkZXJzRm9y
RnJhbWV3b3JrIHsKLSAgICBmb3JlYWNoIG15ICRoZWFkZXIgKEBmcmFtZXdvcmtIZWFkZXJzKSB7
Ci0gICAgICAgIG15ICRmb3J3YXJkaW5nSGVhZGVyUGF0aCA9IEZpbGU6OlNwZWMtPmNhdGZpbGUo
JG91dHB1dERpcmVjdG9yeSwgJGZyYW1ld29yaywgYmFzZW5hbWUoJGhlYWRlcikpOwotICAgICAg
ICBteSAkZXhwZWN0ZWRJbmNsdWRlU3RhdGVtZW50ID0gIiNpbmNsdWRlIFwiJGhlYWRlclwiIjsK
LSAgICAgICAgbXkgJGZvdW5kSW5jbHVkZVN0YXRlbWVudCA9IDA7Ci0gICAgICAgICRmb3VuZElu
Y2x1ZGVTdGF0ZW1lbnQgPSA8RVhJU1RJTkdfSEVBREVSPiBpZiBvcGVuKEVYSVNUSU5HX0hFQURF
UiwgIjwkZm9yd2FyZGluZ0hlYWRlclBhdGgiKTsKLSAgICAgICAgY2hvbXAoJGZvdW5kSW5jbHVk
ZVN0YXRlbWVudCk7Ci0gICAgICAgIGlmICghICRmb3VuZEluY2x1ZGVTdGF0ZW1lbnQgfHwgJGZv
dW5kSW5jbHVkZVN0YXRlbWVudCBuZSAkZXhwZWN0ZWRJbmNsdWRlU3RhdGVtZW50KSB7Ci0gICAg
ICAgICAgICBwcmludCAiW0NyZWF0aW5nIGZvcndhcmRpbmcgaGVhZGVyIGZvciAkZnJhbWV3b3Jr
LyRoZWFkZXJdXG4iOwotICAgICAgICAgICAgb3BlbihGT1JXQVJESU5HX0hFQURFUiwgIj4kZm9y
d2FyZGluZ0hlYWRlclBhdGgiKSBvciBkaWUgIkNvdWxkIG5vdCBvcGVuICRmb3J3YXJkaW5nSGVh
ZGVyUGF0aC4iOwotICAgICAgICAgICAgcHJpbnQgRk9SV0FSRElOR19IRUFERVIgIiRleHBlY3Rl
ZEluY2x1ZGVTdGF0ZW1lbnRcbiI7Ci0gICAgICAgICAgICBjbG9zZShGT1JXQVJESU5HX0hFQURF
Uik7Ci0gICAgICAgIH0KLSAgICAgICAgY2xvc2UoRVhJU1RJTkdfSEVBREVSKTsKLSAgICB9Ci19
Ci0KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5n
ZUxvZwppbmRleCA5ZTY0ZjQ2ZWQ2MTJkNDM4YmIzNzU2OGYyMjM4YmFiMGQ1OTIzY2Y5Li4xMDU5
MDBlZDE0OTE1MjRlMmNhZjdhNzY0NjY5MjZmYTU5NDlmZDdlIDEwMDY0NAotLS0gYS9XZWJLaXRU
b29scy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0yLDYgKzIsNDEg
QEAKIAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KIAorICAgICAgICBbUXRd
IEFkZCBXZWJLaXRUZXN0UnVubmVyJ3MgYnVpbGQgZmlsZXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ0MTU1CisKKyAgICAgICAgUGFydHMgd2FzIHRh
a2VuIGJ5IFpvbHRhbiBIb3J2YXRoJ3MgcGF0Y2guCisKKyAgICAgICAgKiBTY3JpcHRzL2dlbmVy
YXRlLWZvcndhcmRpbmctaGVhZGVycy5wbDogTW92ZWQgZnJvbSBXZWJLaXQyLgorICAgICAgICAq
IFNjcmlwdHMvd2Via2l0ZGlycy5wbTogTWFrZSB0aGUgZ2VuZXJhdGVkIGZpbGVzIG5lZWRlZCBi
eSBXVFIuCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9QbGF0Zm9ybVdlYlZpZXcuaDogQWRk
ZWVkIHR5cGVkZWZzIGZvcgorICAgICAgICBQbGF0Zm9ybVdLVmlldyBhbmQgUGxhdGZvcm1XaW5k
b3cgKHZvaWQqIGZvciBub3cpLgorICAgICAgICBCdWlsZGZpeCB0aGUgY2FzZSB3aGVuIF9fQVBQ
TEVfXyBpcyBub3QgZGVmaW5lZC4KKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL3F0L0Rlcml2
ZWRTb3VyY2VzLnBybzogQWRkZWQuCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9xdC9QbGF0
Zm9ybVdlYlZpZXdRdC5jcHA6IEFkZGVkLgorICAgICAgICBFbXB0eSBzdHViIGltcGxlbWVudGF0
aW9uLgorICAgICAgICAoV1RSOjpyZWdpc3RlcldpbmRvd0NsYXNzKToKKyAgICAgICAgKFdUUjo6
UGxhdGZvcm1XZWJWaWV3OjpQbGF0Zm9ybVdlYlZpZXcpOgorICAgICAgICAoV1RSOjpQbGF0Zm9y
bVdlYlZpZXc6On5QbGF0Zm9ybVdlYlZpZXcpOgorICAgICAgICAoV1RSOjpQbGF0Zm9ybVdlYlZp
ZXc6OnJlc2l6ZVRvKToKKyAgICAgICAgKFdUUjo6UGxhdGZvcm1XZWJWaWV3OjpwYWdlKToKKyAg
ICAgICAgKFdUUjo6UGxhdGZvcm1XZWJWaWV3Ojpmb2N1cyk6CisgICAgICAgICogV2ViS2l0VGVz
dFJ1bm5lci9xdC9UZXN0Q29udHJvbGxlclF0LmNwcDogQWRkZWQuCisgICAgICAgIEVtcHR5IHN0
dWIgaW1wbGVtZW50YXRpb24uCisgICAgICAgIChXVFI6OnJlZ2lzdGVyV2luZG93Q2xhc3MpOgor
ICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6cnVuVW50aWwpOgorICAgICAgICAoV1RSOjpU
ZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1Jbml0aWFsaXplKToKKyAgICAgICAgKFdUUjo6VGVzdENv
bnRyb2xsZXI6OmluaXRpYWxpemVJbmplY3RlZEJ1bmRsZVBhdGgpOgorICAgICAgICAoV1RSOjpU
ZXN0Q29udHJvbGxlcjo6aW5pdGlhbGl6ZVRlc3RQbHVnaW5EaXJlY3RvcnkpOgorICAgICAgICAo
V1RSOjpUZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1Jbml0aWFsaXplQ29udGV4dCk6CisgICAgICAg
ICogV2ViS2l0VGVzdFJ1bm5lci9xdC9XZWJLaXRUZXN0UnVubmVyLnBybzogQWRkZWQuCisgICAg
ICAgICogV2ViS2l0VGVzdFJ1bm5lci9xdC9tYWluLmNwcDogQWRkZWQuCisgICAgICAgIChtYWlu
KToKKworMjAxMC0xMC0wNiAgQmFsYXpzIEtlbGVtZW4gIDxrYmFsYXpzQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKICAgICAgICAgV2ViS2l0VGVz
dFJ1bm5lciBzaG91bGQgYmUgcG9ydGFibGUKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTQ1MzkzCiAKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1Njcmlw
dHMvd2Via2l0ZGlycy5wbSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbQppbmRl
eCA5NGFkNTU2ZTdkMTQ3ZjNmMzcyZTg4NDM1ZTYwNDAzNDRmNzMxMWEyLi4wMjE4ZTFmYmJjOTk2
ZTk0YWE3YjFmZjc0Zjg3ZDBkZDVhYTk0ZDZlIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9TY3Jp
cHRzL3dlYmtpdGRpcnMucG0KKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBt
CkBAIC0xNTMwLDYgKzE1MzAsNyBAQCBzdWIgYnVpbGRRTWFrZVByb2plY3QoJEApCiAgICAgbXkg
QHN1YmRpcnMgPSAoIkphdmFTY3JpcHRDb3JlIiwgIldlYkNvcmUiLCAiV2ViS2l0L3F0L0FwaSIp
OwogICAgIGlmIChncmVwIHsgJF8gZXEgIkNPTkZJRys9d2Via2l0MiJ9IEBidWlsZEFyZ3MpIHsK
ICAgICAgICAgcHVzaCBAc3ViZGlycywgIldlYktpdDIiOworICAgICAgICBwdXNoIEBzdWJkaXJz
LCAiV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9xdCI7CiAgICAgfQogCiAgICAgZm9yIG15
ICRzdWJkaXIgKEBzdWJkaXJzKSB7CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9XZWJLaXRUZXN0
UnVubmVyL1BsYXRmb3JtV2ViVmlldy5oIGIvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Q
bGF0Zm9ybVdlYlZpZXcuaAppbmRleCAyOWM2M2FlZWExZjk4YTc2ZWNkN2M2YmE0Yzg5ZWI3Yjhi
ZmY1NzNiLi44M2MzNGI0MjM2Mjk2OTBlYTQ4OWNjOWRiZDAzZTAxY2RmZTM3ZTNjIDEwMDY0NAot
LS0gYS9XZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL1BsYXRmb3JtV2ViVmlldy5oCisrKyBi
L1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvUGxhdGZvcm1XZWJWaWV3LmgKQEAgLTI2LDcg
KzI2LDcgQEAKICNpZm5kZWYgUGxhdGZvcm1XZWJWaWV3X2gKICNkZWZpbmUgUGxhdGZvcm1XZWJW
aWV3X2gKIAotI2lmIF9fQVBQTEVfXworI2lmIGRlZmluZWQoX19BUFBMRV9fKSAmJiBfX0FQUExF
X18KICNpZiBfX09CSkNfXwogQGNsYXNzIFdLVmlldzsKIEBjbGFzcyBOU1dpbmRvdzsKQEAgLTM5
LDYgKzM5LDkgQEAgdHlwZWRlZiBOU1dpbmRvdyogUGxhdGZvcm1XaW5kb3c7CiAjZWxpZiBkZWZp
bmVkKFdJTjMyKSB8fCBkZWZpbmVkKF9XSU4zMikKIHR5cGVkZWYgV0tWaWV3UmVmIFBsYXRmb3Jt
V0tWaWV3OwogdHlwZWRlZiBIV05EIFBsYXRmb3JtV2luZG93OworI2VsaWYgZGVmaW5lZChCVUlM
RElOR19RVF9fKQordHlwZWRlZiB2b2lkKiBQbGF0Zm9ybVdLVmlldzsKK3R5cGVkZWYgdm9pZCog
UGxhdGZvcm1XaW5kb3c7CiAjZW5kaWYKIAogbmFtZXNwYWNlIFdUUiB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69943</attachid>
            <date>2010-10-06 08:25:32 -0700</date>
            <delta_ts>2010-10-06 09:38:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-44155-20101006172530.patch</filename>
            <type>text/plain</type>
            <size>20068</size>
            <attacher name="Balazs Kelemen">kbalazs</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCAyMzExOTc4ZjEyNjg4YjM1
ZDIxNjg4YTVjZjUyODI0ZWQyNTNmODJmLi5kMzI5ODlkZDFhMDZiYTgyN2EzYzc1MWMxZTg4NTJi
MGNmZGE5YWVhIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTQgQEAKKzIwMTAtMTAtMDYgIEJhbGF6cyBLZWxlbWVuICA8a2JhbGF6c0B3ZWJraXQub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF0g
QWRkIFdlYktpdFRlc3RSdW5uZXIncyBidWlsZCBmaWxlcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDQxNTUKKworICAgICAgICBBZGQgdGhlIG5ldyBz
dWJkaXJzLgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLnBybzoKKyAgICAgICAgKiBXZWJLaXQu
cHJvOgorCiAyMDEwLTEwLTA0ICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5j
b20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW50b25pbyBHb21lcy4KZGlmZiAtLWdpdCBhL0Rl
cml2ZWRTb3VyY2VzLnBybyBiL0Rlcml2ZWRTb3VyY2VzLnBybwppbmRleCA4ODBhNzE2YTU2ZTk5
NjYzMjI4MGExZDJiMjczMTA3ZDA3ZWUzMzlmLi4wMDE1YWY2ZWI3OWRkMDE0ZjAxZTJjOTExZDNh
MzFkNTIwNDRmMTUwIDEwMDY0NAotLS0gYS9EZXJpdmVkU291cmNlcy5wcm8KKysrIGIvRGVyaXZl
ZFNvdXJjZXMucHJvCkBAIC04LDYgKzgsNyBAQCBTVUJESVJTICs9IFwKIAogd2Via2l0MiB7CiAg
ICAgU1VCRElSUyArPSBXZWJLaXQyL0Rlcml2ZWRTb3VyY2VzLnBybworICAgIFNVQkRJUlMgKz0g
V2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9xdC9EZXJpdmVkU291cmNlcy5wcm8KIH0KIAog
Zm9yKHN1YnBybywgU1VCRElSUykgewpkaWZmIC0tZ2l0IGEvV2ViS2l0LnBybyBiL1dlYktpdC5w
cm8KaW5kZXggOWZkOWMyZWRkZDA4OTJjZDQ5MDM0NjIxYzYyYzE4Y2NlYjNhMTUzOS4uODk4YTRl
YzA3MWFjNzIzMjE4NTE2NTA4MGU0ZDk0ZTk3MTQ4NGU3ZiAxMDA2NDQKLS0tIGEvV2ViS2l0LnBy
bworKysgYi9XZWJLaXQucHJvCkBAIC0zMyw2ICszMyw3IEBAIGJ1aWxkLXF0c2NyaXB0IHsKIHdl
YmtpdDIgewogICAgIGV4aXN0cygkJFBXRC9XZWJLaXQyL1dlYlByb2Nlc3MucHJvKTogU1VCRElS
UyArPSBXZWJLaXQyL1dlYlByb2Nlc3MucHJvCiAgICAgZXhpc3RzKCQkUFdEL1dlYktpdFRvb2xz
L01pbmlCcm93c2VyL3F0L01pbmlCcm93c2VyLnBybyk6IFNVQkRJUlMgKz0gV2ViS2l0VG9vbHMv
TWluaUJyb3dzZXIvcXQvTWluaUJyb3dzZXIucHJvCisgICAgZXhpc3RzKCQkUFdEL1dlYktpdFRv
b2xzL1dlYktpdFRlc3RSdW5uZXIvcXQvV2ViS2l0VGVzdFJ1bm5lci5wcm8pOiBTVUJESVJTICs9
IFdlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvcXQvV2ViS2l0VGVzdFJ1bm5lci5wcm8KIH0K
IAogc3ltYmlhbiB7CmRpZmYgLS1naXQgYS9XZWJLaXQyL0NoYW5nZUxvZyBiL1dlYktpdDIvQ2hh
bmdlTG9nCmluZGV4IDQzMWFjN2UwZjRmNTVhOGI1NTk3ZjFmYzdiZmI4NzUwNmUxODIwMWMuLjcw
NjkzYThmYTNmZDE2ZjNiZGRmOGE0ZjRlN2Y3YmYxYmFmMTM4NGUgMTAwNjQ0Ci0tLSBhL1dlYktp
dDIvQ2hhbmdlTG9nCisrKyBiL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0yLDYgKzIsMjMgQEAKIAog
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KIAorICAgICAgICBbUXRdIEFkZCBX
ZWJLaXRUZXN0UnVubmVyJ3MgYnVpbGQgZmlsZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTQ0MTU1CisKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5w
cm86IENoYW5nZXMgYWNjb3JkaW5nIHRoZSBuZXcgbG9jYXRpb24KKyAgICAgICAgb2YgZ2VuZXJh
dGUtZm9yd2FyZGluZy1oZWFkZXJzLnBsLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XZWJL
aXQyLmg6IERvIG5vdCBjaGVjayB0aGUgdmFsdWUgb2YgdGhlCisgICAgICAgIF9fQVBQTEVfXyBk
ZWZpbmUgaWYgaXQgaXMgbm90IGRlZmluZWQuCisgICAgICAgICogV2ViS2l0Mi5wcm86IENoYW5n
ZXMgYWNjb3JkaW5nIHRoZSBuZXcgbG9jYXRpb24KKyAgICAgICAgb2YgZ2VuZXJhdGUtZm9yd2Fy
ZGluZy1oZWFkZXJzLnBsLiBBZGRlZCBtaXNzaW5nIGZpbGVzCisgICAgICAgIHRvIHRoZSBidWls
ZCB0aGF0IHByb3ZpZGVzIEFQSSB0aGF0IGlzIHVzZWQgYnkgV1RSLgorICAgICAgICAqIGdlbmVy
YXRlLWZvcndhcmRpbmctaGVhZGVycy5wbDogTW92ZWQgdG8gV2ViS2l0VG9vbHMvU2NyaXB0cwor
ICAgICAgICBzaW5jZSBmcm9tIG5vdyB0aGlzIGlzIG5vdCBvbmx5IHVzZWQgYnkgV2ViS2l0Mi4K
KworMjAxMC0xMC0wNiAgQmFsYXpzIEtlbGVtZW4gIDxrYmFsYXpzQHdlYmtpdC5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKICAgICAgICAgV2ViS2l0VGVzdFJ1
bm5lciBzaG91bGQgYmUgcG9ydGFibGUKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTQ1MzkzCiAKZGlmZiAtLWdpdCBhL1dlYktpdDIvRGVyaXZlZFNvdXJj
ZXMucHJvIGIvV2ViS2l0Mi9EZXJpdmVkU291cmNlcy5wcm8KaW5kZXggYjczZTkzNTNiOGU4MzZm
YmNjMzUyYzJlMTk0MWJlM2Y4Mjg3YTdhYy4uYzgwMmFmNTY1OWEzOTk0MmE4ZWY0ZGJhYjU3ZmRj
NGYyNGMyMWM5OSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9EZXJpdmVkU291cmNlcy5wcm8KKysrIGIv
V2ViS2l0Mi9EZXJpdmVkU291cmNlcy5wcm8KQEAgLTY0LDggKzY0LDggQEAgcHJvY2Vzc21lc3Nh
Z2VyZWNlaXZlcl9nZW5lcmF0b3IudGFyZ2V0ICAgPSAkJHtPVVRQVVRfRElSfS9XZWJLaXQyL2dl
bmVyYXRlZC9XZWIKIGdlbmVyYXRlZF9maWxlcy5kZXBlbmRzICAgICAgICAgICAgICAgICAgICs9
IHByb2Nlc3NtZXNzYWdlcmVjZWl2ZXJfZ2VuZXJhdG9yCiBRTUFLRV9FWFRSQV9UQVJHRVRTICAg
ICAgICAgICAgICAgICAgICAgICArPSBwcm9jZXNzbWVzc2FnZXJlY2VpdmVyX2dlbmVyYXRvcgog
Ci1md2hlYWRlcl9nZW5lcmF0b3IuY29tbWFuZHMgPSBwZXJsICQke1NSQ19ST09UX0RJUn0vV2Vi
S2l0Mi9nZW5lcmF0ZS1mb3J3YXJkaW5nLWhlYWRlcnMucGwgJCR7T1VUUFVUX0RJUn0vaW5jbHVk
ZSBxdAotZndoZWFkZXJfZ2VuZXJhdG9yLmRlcGVuZHMgID0gJCR7U1JDX1JPT1RfRElSfS9XZWJL
aXQyL2dlbmVyYXRlLWZvcndhcmRpbmctaGVhZGVycy5wbAorZndoZWFkZXJfZ2VuZXJhdG9yLmNv
bW1hbmRzID0gcGVybCAkJHtTUkNfUk9PVF9ESVJ9L1dlYktpdFRvb2xzL1NjcmlwdHMvZ2VuZXJh
dGUtZm9yd2FyZGluZy1oZWFkZXJzLnBsICQke1NSQ19ST09UX0RJUn0vV2ViS2l0MiAkJHtPVVRQ
VVRfRElSfS9pbmNsdWRlIHF0Citmd2hlYWRlcl9nZW5lcmF0b3IuZGVwZW5kcyAgPSAkJHtTUkNf
Uk9PVF9ESVJ9L1dlYktpdFRvb2xzL1NjcmlwdHMvZ2VuZXJhdGUtZm9yd2FyZGluZy1oZWFkZXJz
LnBsCiBnZW5lcmF0ZWRfZmlsZXMuZGVwZW5kcyAgICAgKz0gZndoZWFkZXJfZ2VuZXJhdG9yCiBR
TUFLRV9FWFRSQV9UQVJHRVRTICAgICAgICAgKz0gZndoZWFkZXJfZ2VuZXJhdG9yCiAKZGlmZiAt
LWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dlYktpdDIuaCBiL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9DL1dlYktpdDIuaAppbmRleCA3NGUxZjhjZDI4NGY1NGUwYTI1MzlkY2E0Y2Q4Yzc1
M2Q1NWUxNTc2Li44ODAyMmQ4ZTFjYzk5YmQ4N2EzZWNjZDQwMzM1YWM1M2Q3YmY0MmY2IDEwMDY0
NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XZWJLaXQyLmgKKysrIGIvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvV2ViS2l0Mi5oCkBAIC01MCw3ICs1MCw3IEBACiAjaW5jbHVkZSA8V2Vi
S2l0Mi9XS1VSTFJlcXVlc3QuaD4KICNpbmNsdWRlIDxXZWJLaXQyL1dLVVJMUmVzcG9uc2UuaD4K
IAotI2lmICFfX0FQUExFX18gfHwgX19PQkpDX18KKyNpZiAoIWRlZmluZWQoX19BUFBMRV9fKSB8
fCAhX19BUFBMRV9fKSB8fCAoZGVmaW5lZChfX09CSkNfXykgJiYgX19PQkpDX18pCiAjaW5jbHVk
ZSA8V2ViS2l0Mi9XS1ZpZXcuaD4KICNlbmRpZgogCmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYktp
dDIucHJvIGIvV2ViS2l0Mi9XZWJLaXQyLnBybwppbmRleCAwNjRmYWU2N2M1N2RkZTRmNWQ3MjAw
ZjBhMWUwNzNhMzgwYTI0YTViLi5iZTQxZDVmZTNhZTQ5YjNlMjM2ZmIwYTIxMWM2ODIyMjAzMzc1
MDg4IDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYktpdDIucHJvCisrKyBiL1dlYktpdDIvV2ViS2l0
Mi5wcm8KQEAgLTIxMyw2ICsyMTMsNyBAQCBIRUFERVJTICs9IFwKICAgICBVSVByb2Nlc3MvQVBJ
L0MvV0tQYWdlTmFtZXNwYWNlLmggXAogICAgIFVJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VQcml2YXRl
LmggXAogICAgIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmggXAorICAgIFVJUHJvY2Vz
cy9BUEkvQy9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oIFwKICAgICBVSVByb2Nlc3MvQVBJL2NwcC9x
dC9XS1N0cmluZ1F0LmggXAogICAgIFVJUHJvY2Vzcy9BUEkvY3BwL3F0L1dLVVJMUXQuaCBcCiAg
ICAgVUlQcm9jZXNzL0FQSS9jcHAvV0tSZXRhaW5QdHIuaCBcCkBAIC0zMzgsNiArMzM5LDcgQEAg
U09VUkNFUyArPSBcCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAgXAogICAgIFVJUHJv
Y2Vzcy9BUEkvQy9XS1BhZ2VOYW1lc3BhY2UuY3BwIFwKICAgICBVSVByb2Nlc3MvQVBJL0MvV0tQ
cmVmZXJlbmNlcy5jcHAgXAorICAgIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUHJpdmF0
ZS5jcHAgXAogICAgIFVJUHJvY2Vzcy9BUEkvcXQvQ2xpZW50SW1wbC5jcHAgXAogICAgIFVJUHJv
Y2Vzcy9BUEkvcXQvcWdyYXBoaWNzd2t2aWV3LmNwcCBcCiAgICAgVUlQcm9jZXNzL0FQSS9xdC9x
d2twYWdlLmNwcCBcCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cgYi9XZWJLaXRU
b29scy9DaGFuZ2VMb2cKaW5kZXggOWU2NGY0NmVkNjEyZDQzOGJiMzc1NjhmMjIzOGJhYjBkNTky
M2NmOS4uMTA1OTAwZWQxNDkxNTI0ZTJjYWY3YTc2NDY2OTI2ZmE1OTQ5ZmQ3ZSAxMDA2NDQKLS0t
IGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCisrKyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwpAQCAt
Miw2ICsyLDQxIEBACiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCiAKKyAg
ICAgICAgW1F0XSBBZGQgV2ViS2l0VGVzdFJ1bm5lcidzIGJ1aWxkIGZpbGVzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NDE1NQorCisgICAgICAgIFBh
cnRzIHdhcyB0YWtlbiBieSBab2x0YW4gSG9ydmF0aCdzIHBhdGNoLgorCisgICAgICAgICogU2Ny
aXB0cy9nZW5lcmF0ZS1mb3J3YXJkaW5nLWhlYWRlcnMucGw6IE1vdmVkIGZyb20gV2ViS2l0Mi4K
KyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdGRpcnMucG06IE1ha2UgdGhlIGdlbmVyYXRlZCBmaWxl
cyBuZWVkZWQgYnkgV1RSLgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvUGxhdGZvcm1XZWJW
aWV3Lmg6IEFkZGVlZCB0eXBlZGVmcyBmb3IKKyAgICAgICAgUGxhdGZvcm1XS1ZpZXcgYW5kIFBs
YXRmb3JtV2luZG93ICh2b2lkKiBmb3Igbm93KS4KKyAgICAgICAgQnVpbGRmaXggdGhlIGNhc2Ug
d2hlbiBfX0FQUExFX18gaXMgbm90IGRlZmluZWQuCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5l
ci9xdC9EZXJpdmVkU291cmNlcy5wcm86IEFkZGVkLgorICAgICAgICAqIFdlYktpdFRlc3RSdW5u
ZXIvcXQvUGxhdGZvcm1XZWJWaWV3UXQuY3BwOiBBZGRlZC4KKyAgICAgICAgRW1wdHkgc3R1YiBp
bXBsZW1lbnRhdGlvbi4KKyAgICAgICAgKFdUUjo6cmVnaXN0ZXJXaW5kb3dDbGFzcyk6CisgICAg
ICAgIChXVFI6OlBsYXRmb3JtV2ViVmlldzo6UGxhdGZvcm1XZWJWaWV3KToKKyAgICAgICAgKFdU
Ujo6UGxhdGZvcm1XZWJWaWV3Ojp+UGxhdGZvcm1XZWJWaWV3KToKKyAgICAgICAgKFdUUjo6UGxh
dGZvcm1XZWJWaWV3OjpyZXNpemVUbyk6CisgICAgICAgIChXVFI6OlBsYXRmb3JtV2ViVmlldzo6
cGFnZSk6CisgICAgICAgIChXVFI6OlBsYXRmb3JtV2ViVmlldzo6Zm9jdXMpOgorICAgICAgICAq
IFdlYktpdFRlc3RSdW5uZXIvcXQvVGVzdENvbnRyb2xsZXJRdC5jcHA6IEFkZGVkLgorICAgICAg
ICBFbXB0eSBzdHViIGltcGxlbWVudGF0aW9uLgorICAgICAgICAoV1RSOjpyZWdpc3RlcldpbmRv
d0NsYXNzKToKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OnJ1blVudGlsKToKKyAgICAg
ICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OnBsYXRmb3JtSW5pdGlhbGl6ZSk6CisgICAgICAgIChX
VFI6OlRlc3RDb250cm9sbGVyOjppbml0aWFsaXplSW5qZWN0ZWRCdW5kbGVQYXRoKToKKyAgICAg
ICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OmluaXRpYWxpemVUZXN0UGx1Z2luRGlyZWN0b3J5KToK
KyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OnBsYXRmb3JtSW5pdGlhbGl6ZUNvbnRleHQp
OgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvcXQvV2ViS2l0VGVzdFJ1bm5lci5wcm86IEFk
ZGVkLgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvcXQvbWFpbi5jcHA6IEFkZGVkLgorICAg
ICAgICAobWFpbik6CisKKzIwMTAtMTAtMDYgIEJhbGF6cyBLZWxlbWVuICA8a2JhbGF6c0B3ZWJr
aXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCiAgICAgICAg
IFdlYktpdFRlc3RSdW5uZXIgc2hvdWxkIGJlIHBvcnRhYmxlCiAgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTM5MwogCmRpZmYgLS1naXQgYS9XZWJLaXQy
L2dlbmVyYXRlLWZvcndhcmRpbmctaGVhZGVycy5wbCBiL1dlYktpdFRvb2xzL1NjcmlwdHMvZ2Vu
ZXJhdGUtZm9yd2FyZGluZy1oZWFkZXJzLnBsCnNpbWlsYXJpdHkgaW5kZXggOTclCnJlbmFtZSBm
cm9tIFdlYktpdDIvZ2VuZXJhdGUtZm9yd2FyZGluZy1oZWFkZXJzLnBsCnJlbmFtZSB0byBXZWJL
aXRUb29scy9TY3JpcHRzL2dlbmVyYXRlLWZvcndhcmRpbmctaGVhZGVycy5wbAppbmRleCBlODM2
ZmE0ZDUwZGZkNDJkMTA4OWNlMjQ4MWU2YWY0Y2ZhNTk5NjBmLi5lZDU4NzAyMmFhMWM1MmI3OTk3
YTYwMTBmYjk4Y2Q2Y2I1MDIxZjUwIDEwMDc1NQotLS0gYS9XZWJLaXQyL2dlbmVyYXRlLWZvcndh
cmRpbmctaGVhZGVycy5wbAorKysgYi9XZWJLaXRUb29scy9TY3JpcHRzL2dlbmVyYXRlLWZvcndh
cmRpbmctaGVhZGVycy5wbApAQCAtMzIsNyArMzIsOCBAQCB1c2UgRmlsZTo6RmluZDsKIHVzZSBG
aWxlOjpCYXNlbmFtZTsKIHVzZSBGaWxlOjpTcGVjOjpGdW5jdGlvbnM7CiAKLW15ICRzcmNSb290
ID0gcmVhbHBhdGgoRmlsZTo6U3BlYy0+Y2F0ZmlsZShkaXJuYW1lKGFic19wYXRoKCQwKSksICIu
LiIpKTsKK215ICRzcmNSb290ID0gcmVhbHBhdGgoRmlsZTo6U3BlYy0+Y2F0ZmlsZShkaXJuYW1l
KGFic19wYXRoKCQwKSksICIuLi8uLiIpKTsKK215ICRpbmNGcm9tUm9vdCA9IGFic19wYXRoKCRB
UkdWWzBdKTsKIG15IEBwbGF0Zm9ybVByZWZpeGVzID0gKCJhbmRyb2lkIiwgImJyZXciLCAiY2Yi
LCAiY2hyb21pdW0iLCAiY3VybCIsICJlZmwiLCAiZ3RrIiwgImhhaWt1IiwgIm1hYyIsICJxdCIs
ICJzb3VwIiwgInY4IiwgIndpbiIsICJ3eCIpOwogbXkgQGZyYW1ld29ya3MgPSAoICJKYXZhU2Ny
aXB0Q29yZSIsICJXZWJDb3JlIiwgIldlYktpdDIiKTsKIG15IEBza2lwcGVkUHJlZml4ZXM7CkBA
IC00MCw2ICs0MSw3IEBAIG15IEBmcmFtZXdvcmtIZWFkZXJzOwogbXkgJGZyYW1ld29yazsKIG15
ICVuZWVkZWRIZWFkZXJzOwogCitzaGlmdDsKIG15ICRvdXRwdXREaXJlY3RvcnkgPSAkQVJHVlsw
XTsKIHNoaWZ0OwogbXkgJHBsYXRmb3JtICA9ICRBUkdWWzBdOwpAQCAtNTAsNyArNTIsNyBAQCBm
b3JlYWNoIG15ICRwcmVmaXggKEBwbGF0Zm9ybVByZWZpeGVzKSB7CiAKIGZvcmVhY2ggKEBmcmFt
ZXdvcmtzKSB7CiAgICAgJGZyYW1ld29yayA9ICRfOwotICAgIGZpbmQoXCZjb2xsZWN0TmVlZGVk
SGVhZGVycywgRmlsZTo6U3BlYy0+Y2F0ZmlsZSgkc3JjUm9vdCwgIldlYktpdDIiKSk7CisgICAg
ZmluZChcJmNvbGxlY3ROZWVkZWRIZWFkZXJzLCAkaW5jRnJvbVJvb3QpOwogICAgIGZpbmQoXCZj
b2xsZWN0RmFtZXdvcmtIZWFkZXJQYXRocywgRmlsZTo6U3BlYy0+Y2F0ZmlsZSgkc3JjUm9vdCwg
JGZyYW1ld29yaykpOwogICAgIGNyZWF0ZUZvcndhcmRpbmdIZWFkZXJzRm9yRnJhbWV3b3JrKCk7
CiB9CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0gYi9XZWJL
aXRUb29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0KaW5kZXggOTRhZDU1NmU3ZDE0N2YzZjM3MmU4
ODQzNWU2MDQwMzQ0ZjczMTFhMi4uMDIxOGUxZmJiYzk5NmU5NGFhN2IxZmY3NGY4N2QwZGQ1YWE5
NGQ2ZSAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtCisrKyBi
L1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbQpAQCAtMTUzMCw2ICsxNTMwLDcgQEAg
c3ViIGJ1aWxkUU1ha2VQcm9qZWN0KCRAKQogICAgIG15IEBzdWJkaXJzID0gKCJKYXZhU2NyaXB0
Q29yZSIsICJXZWJDb3JlIiwgIldlYktpdC9xdC9BcGkiKTsKICAgICBpZiAoZ3JlcCB7ICRfIGVx
ICJDT05GSUcrPXdlYmtpdDIifSBAYnVpbGRBcmdzKSB7CiAgICAgICAgIHB1c2ggQHN1YmRpcnMs
ICJXZWJLaXQyIjsKKyAgICAgICAgcHVzaCBAc3ViZGlycywgIldlYktpdFRvb2xzL1dlYktpdFRl
c3RSdW5uZXIvcXQiOwogICAgIH0KIAogICAgIGZvciBteSAkc3ViZGlyIChAc3ViZGlycykgewpk
aWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9QbGF0Zm9ybVdlYlZpZXcu
aCBiL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvUGxhdGZvcm1XZWJWaWV3LmgKaW5kZXgg
MjljNjNhZWVhMWY5OGE3NmVjZDdjNmJhNGM4OWViN2I4YmZmNTczYi4uODNjMzRiNDIzNjI5Njkw
ZWE0ODljYzlkYmQwM2UwMWNkZmUzN2UzYyAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9QbGF0Zm9ybVdlYlZpZXcuaAorKysgYi9XZWJLaXRUb29scy9XZWJLaXRUZXN0
UnVubmVyL1BsYXRmb3JtV2ViVmlldy5oCkBAIC0yNiw3ICsyNiw3IEBACiAjaWZuZGVmIFBsYXRm
b3JtV2ViVmlld19oCiAjZGVmaW5lIFBsYXRmb3JtV2ViVmlld19oCiAKLSNpZiBfX0FQUExFX18K
KyNpZiBkZWZpbmVkKF9fQVBQTEVfXykgJiYgX19BUFBMRV9fCiAjaWYgX19PQkpDX18KIEBjbGFz
cyBXS1ZpZXc7CiBAY2xhc3MgTlNXaW5kb3c7CkBAIC0zOSw2ICszOSw5IEBAIHR5cGVkZWYgTlNX
aW5kb3cqIFBsYXRmb3JtV2luZG93OwogI2VsaWYgZGVmaW5lZChXSU4zMikgfHwgZGVmaW5lZChf
V0lOMzIpCiB0eXBlZGVmIFdLVmlld1JlZiBQbGF0Zm9ybVdLVmlldzsKIHR5cGVkZWYgSFdORCBQ
bGF0Zm9ybVdpbmRvdzsKKyNlbGlmIGRlZmluZWQoQlVJTERJTkdfUVRfXykKK3R5cGVkZWYgdm9p
ZCogUGxhdGZvcm1XS1ZpZXc7Cit0eXBlZGVmIHZvaWQqIFBsYXRmb3JtV2luZG93OwogI2VuZGlm
CiAKIG5hbWVzcGFjZSBXVFIgewpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9xdC9EZXJpdmVkU291cmNlcy5wcm8gYi9XZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVy
L3F0L0Rlcml2ZWRTb3VyY2VzLnBybwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42Y2Q3MTZlOWEwNjU5MzVkOTk3ZGVl
MTU3ZDBlY2RiNzZlNWU5NjkxCi0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0VG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9xdC9EZXJpdmVkU291cmNlcy5wcm8KQEAgLTAsMCArMSwxOCBAQAorVEVNUExB
VEUgPSBsaWIKK1RBUkdFVCA9IGR1bW15CisKK0NPTkZJRyAtPSBkZWJ1Z19hbmRfcmVsZWFzZQor
CitTUkNfUk9PVF9ESVIgPSAkJHJlcGxhY2UoUFdELCAvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9xdCwgLykKKword3RyX2Z3aGVhZGVyX2dlbmVyYXRvci5jb21tYW5kcyA9IHBlcmwgJCR7
U1JDX1JPT1RfRElSfS9XZWJLaXRUb29scy9TY3JpcHRzL2dlbmVyYXRlLWZvcndhcmRpbmctaGVh
ZGVycy5wbCAkJHtTUkNfUk9PVF9ESVJ9L1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIgJCR7
T1VUUFVUX0RJUn0vaW5jbHVkZSBxdAord3RyX2Z3aGVhZGVyX2dlbmVyYXRvci5kZXBlbmRzICA9
ICQke1NSQ19ST09UX0RJUn0vV2ViS2l0VG9vbHMvU2NyaXB0cy9nZW5lcmF0ZS1mb3J3YXJkaW5n
LWhlYWRlcnMucGwKK2dlbmVyYXRlZF9maWxlcy5kZXBlbmRzICAgICArPSB3dHJfZndoZWFkZXJf
Z2VuZXJhdG9yCitRTUFLRV9FWFRSQV9UQVJHRVRTICAgICAgICAgKz0gd3RyX2Z3aGVhZGVyX2dl
bmVyYXRvcgorCitqc2NfZndoZWFkZXJfZ2VuZXJhdG9yLmNvbW1hbmRzID0gcGVybCAkJHtTUkNf
Uk9PVF9ESVJ9L1dlYktpdFRvb2xzL1NjcmlwdHMvZ2VuZXJhdGUtZm9yd2FyZGluZy1oZWFkZXJz
LnBsICQke1NSQ19ST09UX0RJUn0vSmF2YVNjcmlwdENvcmUvQVBJICQke09VVFBVVF9ESVJ9L2lu
Y2x1ZGUgcXQKK2pzY19md2hlYWRlcl9nZW5lcmF0b3IuZGVwZW5kcyAgPSAkJHtTUkNfUk9PVF9E
SVJ9L1dlYktpdFRvb2xzL1NjcmlwdHMvZ2VuZXJhdGUtZm9yd2FyZGluZy1oZWFkZXJzLnBsCitn
ZW5lcmF0ZWRfZmlsZXMuZGVwZW5kcyAgICAgKz0ganNjX2Z3aGVhZGVyX2dlbmVyYXRvcgorUU1B
S0VfRVhUUkFfVEFSR0VUUyAgICAgICAgICs9IGpzY19md2hlYWRlcl9nZW5lcmF0b3IKKworUU1B
S0VfRVhUUkFfVEFSR0VUUyAgICAgICAgKz0gZ2VuZXJhdGVkX2ZpbGVzCmRpZmYgLS1naXQgYS9X
ZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL3F0L1BsYXRmb3JtV2ViVmlld1F0LmNwcCBiL1dl
YktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvcXQvUGxhdGZvcm1XZWJWaWV3UXQuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjRhYWZjZWJkMTJmM2VlMzgwNDgxNGEwMjkyMWY4M2MzZTljZGQ4NzkKLS0tIC9kZXYv
bnVsbAorKysgYi9XZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL3F0L1BsYXRmb3JtV2ViVmll
d1F0LmNwcApAQCAtMCwwICsxLDgyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCBVbml2ZXJz
aXR5IG9mIFN6ZWdlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICog
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJQbGF0Zm9ybVdlYlZpZXcuaCIKKyNpbmNsdWRlICJxZ3JhcGhpY3N3a3ZpZXcu
aCIKKyNpbmNsdWRlIDxRdEd1aT4KKworbmFtZXNwYWNlIFdUUiB7CisKK2NsYXNzIFdlYlZpZXcg
OiBwdWJsaWMgUUdyYXBoaWNzVmlldyB7CitwdWJsaWM6CisgICAgV2ViVmlldyhXS1BhZ2VOYW1l
c3BhY2VSZWYpOworCisgICAgUUdyYXBoaWNzV0tWaWV3KiB3a1ZpZXcoKSBjb25zdCB7IHJldHVy
biBtX2l0ZW07IH0KKworICAgIHZpcnR1YWwgfldlYlZpZXcoKSB7IGRlbGV0ZSBtX2l0ZW07IH0K
KworcHJpdmF0ZToKKyAgICBRR3JhcGhpY3NXS1ZpZXcqIG1faXRlbTsKK307CisKK1dlYlZpZXc6
OldlYlZpZXcoV0tQYWdlTmFtZXNwYWNlUmVmIG5hbWVzcGFjZVJlZikKKyAgICA6IFFHcmFwaGlj
c1ZpZXcoKQorICAgICwgbV9pdGVtKG5ldyBRR3JhcGhpY3NXS1ZpZXcobmFtZXNwYWNlUmVmKSkK
K3sKKyAgICBzZXRTY2VuZShuZXcgUUdyYXBoaWNzU2NlbmUodGhpcykpOworICAgIHNjZW5lKCkt
PmFkZEl0ZW0obV9pdGVtKTsKK30KKworUGxhdGZvcm1XZWJWaWV3OjpQbGF0Zm9ybVdlYlZpZXco
V0tQYWdlTmFtZXNwYWNlUmVmIG5hbWVzcGFjZVJlZikKKyAgICA6IG1fdmlldyhuZXcgV2ViVmll
dyhuYW1lc3BhY2VSZWYpKQorICAgICwgbV93aW5kb3cobmV3IFFNYWluV2luZG93KCkpCit7Cisg
ICAgbV92aWV3LT5zZXRQYXJlbnQobV93aW5kb3cpOworICAgIG1fd2luZG93LT5zZXRDZW50cmFs
V2lkZ2V0KG1fdmlldyk7CisgICAgbV93aW5kb3ctPnNldEdlb21ldHJ5KDAsIDAsIDgwMCwgNjAw
KTsKK30KKworUGxhdGZvcm1XZWJWaWV3Ojp+UGxhdGZvcm1XZWJWaWV3KCkKK3sKKyAgICBkZWxl
dGUgbV93aW5kb3c7Cit9CisKK3ZvaWQgUGxhdGZvcm1XZWJWaWV3OjpyZXNpemVUbyh1bnNpZ25l
ZCB3aWR0aCwgdW5zaWduZWQgaGVpZ2h0KQoreworICAgIG1fd2luZG93LT5yZXNpemUod2lkdGgs
IGhlaWdodCk7Cit9CisKK1dLUGFnZVJlZiBQbGF0Zm9ybVdlYlZpZXc6OnBhZ2UoKQoreworICAg
IHJldHVybiBtX3ZpZXctPndrVmlldygpLT5wYWdlKCktPnBhZ2VSZWYoKTsKK30KKwordm9pZCBQ
bGF0Zm9ybVdlYlZpZXc6OmZvY3VzKCkKK3sKKyAgICBtX3ZpZXctPnNldEZvY3VzKFF0OjpPdGhl
ckZvY3VzUmVhc29uKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV1RSCmRpZmYgLS1naXQgYS9XZWJL
aXRUb29scy9XZWJLaXRUZXN0UnVubmVyL3F0L1Rlc3RDb250cm9sbGVyUXQuY3BwIGIvV2ViS2l0
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9xdC9UZXN0Q29udHJvbGxlclF0LmNwcApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li45ZTM1YTFlMDc5NTI0M2MzOGE2MmZhMGJlODE0Mzk5YTYzMjQ2YjFiCi0tLSAvZGV2L251bGwK
KysrIGIvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9xdC9UZXN0Q29udHJvbGxlclF0LmNw
cApAQCAtMCwwICsxLDYxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCBVbml2ZXJzaXR5IG9m
IFN6ZWdlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
CisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICog
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJUZXN0Q29udHJvbGxlci5oIgorI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCisKK25h
bWVzcGFjZSBXVFIgeworCitzdGF0aWMgdm9pZCByZWdpc3RlcldpbmRvd0NsYXNzKCkKK3sKKyAg
ICBub3RJbXBsZW1lbnRlZCgpOworfQorCit2b2lkIFRlc3RDb250cm9sbGVyOjpydW5VbnRpbChi
b29sJiBkb25lKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9Cit2b2lkIFRlc3RDb250cm9s
bGVyOjpwbGF0Zm9ybUluaXRpYWxpemUoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisK
K3ZvaWQgVGVzdENvbnRyb2xsZXI6OmluaXRpYWxpemVJbmplY3RlZEJ1bmRsZVBhdGgoKQorewor
ICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK3ZvaWQgVGVzdENvbnRyb2xsZXI6OmluaXRpYWxp
emVUZXN0UGx1Z2luRGlyZWN0b3J5KCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCit2
b2lkIFRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybUluaXRpYWxpemVDb250ZXh0KCkKK3sKKyAgICBu
b3RJbXBsZW1lbnRlZCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXVFIKZGlmZiAtLWdpdCBhL1dl
YktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvcXQvV2ViS2l0VGVzdFJ1bm5lci5wcm8gYi9XZWJL
aXRUb29scy9XZWJLaXRUZXN0UnVubmVyL3F0L1dlYktpdFRlc3RSdW5uZXIucHJvCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmIxYWM3MGVmZWI2MjVhODdlN2YxOWNmZThlZmUyZjI1NTVlNGRjNzQKLS0tIC9kZXYvbnVs
bAorKysgYi9XZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL3F0L1dlYktpdFRlc3RSdW5uZXIu
cHJvCkBAIC0wLDAgKzEsNjcgQEAKK1RBUkdFVCA9IFdlYktpdFRlc3RSdW5uZXIKK0NPTkZJRyAt
PSBhcHBfYnVuZGxlCisKK0JBU0VESVIgPSAkJFBXRC8uLi8KK2lzRW1wdHkoT1VUUFVUX0RJUik6
IE9VVFBVVF9ESVIgPSAuLi8uLi8uLgorCitpbmNsdWRlKC4uLy4uLy4uL1dlYktpdC5wcmkpCisK
KyFDT05GSUcocmVsZWFzZSwgZGVidWd8cmVsZWFzZSkgeworICAgIE9CSkVDVFNfRElSID0gb2Jq
L2RlYnVnCit9IGVsc2UgeyAjIFJlbGVhc2UKKyAgICBPQkpFQ1RTX0RJUiA9IG9iai9yZWxlYXNl
Cit9CisKK0RFRklORVMgKz0gVVNFX1NZU1RFTV9NQUxMT0MKKworSU5DTFVERVBBVEggKz0gXAor
ICAgICQkQkFTRURJUiBcCisgICAgJCRCQVNFRElSLy4uLy4uL0phdmFTY3JpcHRDb3JlIFwKKyAg
ICAkJEJBU0VESVIvLi4vLi4vV2ViS2l0MiBcCisgICAgJCRCQVNFRElSLy4uLy4uL1dlYktpdDIv
U2hhcmVkIFwKKyAgICAkJEJBU0VESVIvLi4vLi4vV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0IFwK
KworSU5DTFVERVBBVEggKz0gXAorICAgICQkT1VUUFVUX0RJUi9pbmNsdWRlIFwKKworCitERVNU
RElSID0gJCRPVVRQVVRfRElSL2JpbgorCit1bml4OiFtYWMgeworICAgIENPTkZJRyArPSBsaW5r
X3BrZ2NvbmZpZworICAgIFBLR0NPTkZJRyArPSBmb250Y29uZmlnCit9CisKK1FUID0gY29yZSBn
dWkgbmV0d29yaworCitIRUFERVJTID0gXAorICAgICQkQkFTRURJUi9QbGF0Zm9ybVdlYlZpZXcu
aCBcCisgICAgJCRCQVNFRElSL1N0cmluZ0Z1bmN0aW9ucy5oIFwKKyAgICAkJEJBU0VESVIvVGVz
dENvbnRyb2xsZXIuaCBcCisgICAgJCRCQVNFRElSL1Rlc3RJbnZvY2F0aW9uLmgKKworU09VUkNF
UyA9IFwKKyAgICBtYWluLmNwcCBcCisgICAgUGxhdGZvcm1XZWJWaWV3UXQuY3BwIFwKKyAgICBU
ZXN0Q29udHJvbGxlclF0LmNwcCBcCisgICAgJCRCQVNFRElSL1Rlc3RDb250cm9sbGVyLmNwcCBc
CisgICAgJCRCQVNFRElSL1Rlc3RJbnZvY2F0aW9uLmNwcCBcCisKK1BSRUZJWF9IRUFERVIgPSAk
JEJBU0VESVIvV2ViS2l0VGVzdFJ1bm5lclByZWZpeC5oCitRTUFLRV9DWFhGTEFHUyArPSAiLWlu
Y2x1ZGUgJCRQUkVGSVhfSEVBREVSIgorCitsaW51eC0qIHsKKyAgICAjIEZyb20gQ3JlYXRvcidz
IHNyYy9ycGF0aC5wcmk6CisgICAgIyBEbyB0aGUgcnBhdGggYnkgaGFuZCBzaW5jZSBpdCdzIG5v
dCBwb3NzaWJsZSB0byB1c2UgT1JJR0lOIGluIFFNQUtFX1JQQVRIRElSCisgICAgIyB0aGlzIGV4
cGFuZHMgdG8gJE9SSUdJTiAoYWZ0ZXIgcW1ha2UgYW5kIG1ha2UpLCBpdCBkb2VzIE5PVCByZWFk
IGEgcW1ha2UgdmFyLgorICAgIFFNQUtFX1JQQVRIRElSID0gXCRcJE9SSUdJTi8uLi9saWIgJCRR
TUFLRV9SUEFUSERJUgorICAgIE1ZX1JQQVRIID0gJCRqb2luKFFNQUtFX1JQQVRIRElSLCAiOiIp
CisKKyAgICBRTUFLRV9MRkxBR1MgKz0gLVdsLC16LG9yaWdpbiBcJy1XbCwtcnBhdGgsJCR7TVlf
UlBBVEh9XCcKKyAgICBRTUFLRV9SUEFUSERJUiA9Cit9IGVsc2UgeworICAgIFFNQUtFX1JQQVRI
RElSID0gJCRPVVRQVVRfRElSL2xpYiAkJFFNQUtFX1JQQVRIRElSCit9CisKK2luY2x1ZGUoLi4v
Li4vLi4vSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUucHJpKQorYWRkSmF2YVNjcmlwdENv
cmVMaWIoLi4vLi4vLi4vSmF2YVNjcmlwdENvcmUpCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9X
ZWJLaXRUZXN0UnVubmVyL3F0L21haW4uY3BwIGIvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9xdC9tYWluLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNTIzZjUxYjJiOGRiNzRjZWUwZWVjMDdlMTE3OTQ4
Y2IxMGY2ZmZmCi0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9xdC9tYWluLmNwcApAQCAtMCwwICsxLDM0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEw
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCBV
bml2ZXJzaXR5IG9mIFN6ZWdlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgIlRlc3RDb250cm9sbGVy
LmgiCisKK2ludCBtYWluKGludCBhcmdjLCBjb25zdCBjaGFyKiBhcmd2W10pCit7CisgICAgV1RS
OjpUZXN0Q29udHJvbGxlciBjb250cm9sbGVyKGFyZ2MsIGFyZ3YpOworCisgICAgcmV0dXJuIDA7
Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69950</attachid>
            <date>2010-10-06 09:38:12 -0700</date>
            <delta_ts>2010-10-06 10:08:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-44155-20101006183811.patch</filename>
            <type>text/plain</type>
            <size>19524</size>
            <attacher name="Balazs Kelemen">kbalazs</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCAyMzExOTc4ZjEyNjg4YjM1
ZDIxNjg4YTVjZjUyODI0ZWQyNTNmODJmLi5kMzI5ODlkZDFhMDZiYTgyN2EzYzc1MWMxZTg4NTJi
MGNmZGE5YWVhIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTQgQEAKKzIwMTAtMTAtMDYgIEJhbGF6cyBLZWxlbWVuICA8a2JhbGF6c0B3ZWJraXQub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF0g
QWRkIFdlYktpdFRlc3RSdW5uZXIncyBidWlsZCBmaWxlcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDQxNTUKKworICAgICAgICBBZGQgdGhlIG5ldyBz
dWJkaXJzLgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLnBybzoKKyAgICAgICAgKiBXZWJLaXQu
cHJvOgorCiAyMDEwLTEwLTA0ICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5j
b20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW50b25pbyBHb21lcy4KZGlmZiAtLWdpdCBhL0Rl
cml2ZWRTb3VyY2VzLnBybyBiL0Rlcml2ZWRTb3VyY2VzLnBybwppbmRleCA4ODBhNzE2YTU2ZTk5
NjYzMjI4MGExZDJiMjczMTA3ZDA3ZWUzMzlmLi4wMDE1YWY2ZWI3OWRkMDE0ZjAxZTJjOTExZDNh
MzFkNTIwNDRmMTUwIDEwMDY0NAotLS0gYS9EZXJpdmVkU291cmNlcy5wcm8KKysrIGIvRGVyaXZl
ZFNvdXJjZXMucHJvCkBAIC04LDYgKzgsNyBAQCBTVUJESVJTICs9IFwKIAogd2Via2l0MiB7CiAg
ICAgU1VCRElSUyArPSBXZWJLaXQyL0Rlcml2ZWRTb3VyY2VzLnBybworICAgIFNVQkRJUlMgKz0g
V2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9xdC9EZXJpdmVkU291cmNlcy5wcm8KIH0KIAog
Zm9yKHN1YnBybywgU1VCRElSUykgewpkaWZmIC0tZ2l0IGEvV2ViS2l0LnBybyBiL1dlYktpdC5w
cm8KaW5kZXggOWZkOWMyZWRkZDA4OTJjZDQ5MDM0NjIxYzYyYzE4Y2NlYjNhMTUzOS4uODk4YTRl
YzA3MWFjNzIzMjE4NTE2NTA4MGU0ZDk0ZTk3MTQ4NGU3ZiAxMDA2NDQKLS0tIGEvV2ViS2l0LnBy
bworKysgYi9XZWJLaXQucHJvCkBAIC0zMyw2ICszMyw3IEBAIGJ1aWxkLXF0c2NyaXB0IHsKIHdl
YmtpdDIgewogICAgIGV4aXN0cygkJFBXRC9XZWJLaXQyL1dlYlByb2Nlc3MucHJvKTogU1VCRElS
UyArPSBXZWJLaXQyL1dlYlByb2Nlc3MucHJvCiAgICAgZXhpc3RzKCQkUFdEL1dlYktpdFRvb2xz
L01pbmlCcm93c2VyL3F0L01pbmlCcm93c2VyLnBybyk6IFNVQkRJUlMgKz0gV2ViS2l0VG9vbHMv
TWluaUJyb3dzZXIvcXQvTWluaUJyb3dzZXIucHJvCisgICAgZXhpc3RzKCQkUFdEL1dlYktpdFRv
b2xzL1dlYktpdFRlc3RSdW5uZXIvcXQvV2ViS2l0VGVzdFJ1bm5lci5wcm8pOiBTVUJESVJTICs9
IFdlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvcXQvV2ViS2l0VGVzdFJ1bm5lci5wcm8KIH0K
IAogc3ltYmlhbiB7CmRpZmYgLS1naXQgYS9XZWJLaXQyL0NoYW5nZUxvZyBiL1dlYktpdDIvQ2hh
bmdlTG9nCmluZGV4IDQzMWFjN2UwZjRmNTVhOGI1NTk3ZjFmYzdiZmI4NzUwNmUxODIwMWMuLjcw
NjkzYThmYTNmZDE2ZjNiZGRmOGE0ZjRlN2Y3YmYxYmFmMTM4NGUgMTAwNjQ0Ci0tLSBhL1dlYktp
dDIvQ2hhbmdlTG9nCisrKyBiL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0yLDYgKzIsMjMgQEAKIAog
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KIAorICAgICAgICBbUXRdIEFkZCBX
ZWJLaXRUZXN0UnVubmVyJ3MgYnVpbGQgZmlsZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTQ0MTU1CisKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5w
cm86IENoYW5nZXMgYWNjb3JkaW5nIHRoZSBuZXcgbG9jYXRpb24KKyAgICAgICAgb2YgZ2VuZXJh
dGUtZm9yd2FyZGluZy1oZWFkZXJzLnBsLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XZWJL
aXQyLmg6IERvIG5vdCBjaGVjayB0aGUgdmFsdWUgb2YgdGhlCisgICAgICAgIF9fQVBQTEVfXyBk
ZWZpbmUgaWYgaXQgaXMgbm90IGRlZmluZWQuCisgICAgICAgICogV2ViS2l0Mi5wcm86IENoYW5n
ZXMgYWNjb3JkaW5nIHRoZSBuZXcgbG9jYXRpb24KKyAgICAgICAgb2YgZ2VuZXJhdGUtZm9yd2Fy
ZGluZy1oZWFkZXJzLnBsLiBBZGRlZCBtaXNzaW5nIGZpbGVzCisgICAgICAgIHRvIHRoZSBidWls
ZCB0aGF0IHByb3ZpZGVzIEFQSSB0aGF0IGlzIHVzZWQgYnkgV1RSLgorICAgICAgICAqIGdlbmVy
YXRlLWZvcndhcmRpbmctaGVhZGVycy5wbDogTW92ZWQgdG8gV2ViS2l0VG9vbHMvU2NyaXB0cwor
ICAgICAgICBzaW5jZSBmcm9tIG5vdyB0aGlzIGlzIG5vdCBvbmx5IHVzZWQgYnkgV2ViS2l0Mi4K
KworMjAxMC0xMC0wNiAgQmFsYXpzIEtlbGVtZW4gIDxrYmFsYXpzQHdlYmtpdC5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKICAgICAgICAgV2ViS2l0VGVzdFJ1
bm5lciBzaG91bGQgYmUgcG9ydGFibGUKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTQ1MzkzCiAKZGlmZiAtLWdpdCBhL1dlYktpdDIvRGVyaXZlZFNvdXJj
ZXMucHJvIGIvV2ViS2l0Mi9EZXJpdmVkU291cmNlcy5wcm8KaW5kZXggYjczZTkzNTNiOGU4MzZm
YmNjMzUyYzJlMTk0MWJlM2Y4Mjg3YTdhYy4uYzgwMmFmNTY1OWEzOTk0MmE4ZWY0ZGJhYjU3ZmRj
NGYyNGMyMWM5OSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9EZXJpdmVkU291cmNlcy5wcm8KKysrIGIv
V2ViS2l0Mi9EZXJpdmVkU291cmNlcy5wcm8KQEAgLTY0LDggKzY0LDggQEAgcHJvY2Vzc21lc3Nh
Z2VyZWNlaXZlcl9nZW5lcmF0b3IudGFyZ2V0ICAgPSAkJHtPVVRQVVRfRElSfS9XZWJLaXQyL2dl
bmVyYXRlZC9XZWIKIGdlbmVyYXRlZF9maWxlcy5kZXBlbmRzICAgICAgICAgICAgICAgICAgICs9
IHByb2Nlc3NtZXNzYWdlcmVjZWl2ZXJfZ2VuZXJhdG9yCiBRTUFLRV9FWFRSQV9UQVJHRVRTICAg
ICAgICAgICAgICAgICAgICAgICArPSBwcm9jZXNzbWVzc2FnZXJlY2VpdmVyX2dlbmVyYXRvcgog
Ci1md2hlYWRlcl9nZW5lcmF0b3IuY29tbWFuZHMgPSBwZXJsICQke1NSQ19ST09UX0RJUn0vV2Vi
S2l0Mi9nZW5lcmF0ZS1mb3J3YXJkaW5nLWhlYWRlcnMucGwgJCR7T1VUUFVUX0RJUn0vaW5jbHVk
ZSBxdAotZndoZWFkZXJfZ2VuZXJhdG9yLmRlcGVuZHMgID0gJCR7U1JDX1JPT1RfRElSfS9XZWJL
aXQyL2dlbmVyYXRlLWZvcndhcmRpbmctaGVhZGVycy5wbAorZndoZWFkZXJfZ2VuZXJhdG9yLmNv
bW1hbmRzID0gcGVybCAkJHtTUkNfUk9PVF9ESVJ9L1dlYktpdFRvb2xzL1NjcmlwdHMvZ2VuZXJh
dGUtZm9yd2FyZGluZy1oZWFkZXJzLnBsICQke1NSQ19ST09UX0RJUn0vV2ViS2l0MiAkJHtPVVRQ
VVRfRElSfS9pbmNsdWRlIHF0Citmd2hlYWRlcl9nZW5lcmF0b3IuZGVwZW5kcyAgPSAkJHtTUkNf
Uk9PVF9ESVJ9L1dlYktpdFRvb2xzL1NjcmlwdHMvZ2VuZXJhdGUtZm9yd2FyZGluZy1oZWFkZXJz
LnBsCiBnZW5lcmF0ZWRfZmlsZXMuZGVwZW5kcyAgICAgKz0gZndoZWFkZXJfZ2VuZXJhdG9yCiBR
TUFLRV9FWFRSQV9UQVJHRVRTICAgICAgICAgKz0gZndoZWFkZXJfZ2VuZXJhdG9yCiAKZGlmZiAt
LWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dlYktpdDIuaCBiL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9DL1dlYktpdDIuaAppbmRleCA3NGUxZjhjZDI4NGY1NGUwYTI1MzlkY2E0Y2Q4Yzc1
M2Q1NWUxNTc2Li5jN2ZhMDI3NTFjNGQ0ZmQ4OGNiNzc0OWViMTg4ZGM0ZTJhYjhlYzEzIDEwMDY0
NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XZWJLaXQyLmgKKysrIGIvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvV2ViS2l0Mi5oCkBAIC01MCw3ICs1MCw3IEBACiAjaW5jbHVkZSA8V2Vi
S2l0Mi9XS1VSTFJlcXVlc3QuaD4KICNpbmNsdWRlIDxXZWJLaXQyL1dLVVJMUmVzcG9uc2UuaD4K
IAotI2lmICFfX0FQUExFX18gfHwgX19PQkpDX18KKyNpZiAoZGVmaW5lZChfX0FQUExFX18pICYm
IF9fQVBQTEVfXykgfHwgKGRlZmluZWQoX19PQkpDX18pICYmIF9fT0JKQ19fKQogI2luY2x1ZGUg
PFdlYktpdDIvV0tWaWV3Lmg+CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJLaXQy
LnBybyBiL1dlYktpdDIvV2ViS2l0Mi5wcm8KaW5kZXggMDY0ZmFlNjdjNTdkZGU0ZjVkNzIwMGYw
YTFlMDczYTM4MGEyNGE1Yi4uYmU0MWQ1ZmUzYWU0OWIzZTIzNmZiMGEyMTFjNjgyMjIwMzM3NTA4
OCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJLaXQyLnBybworKysgYi9XZWJLaXQyL1dlYktpdDIu
cHJvCkBAIC0yMTMsNiArMjEzLDcgQEAgSEVBREVSUyArPSBcCiAgICAgVUlQcm9jZXNzL0FQSS9D
L1dLUGFnZU5hbWVzcGFjZS5oIFwKICAgICBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlUHJpdmF0ZS5o
IFwKICAgICBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5oIFwKKyAgICBVSVByb2Nlc3Mv
QVBJL0MvV0tQcmVmZXJlbmNlc1ByaXZhdGUuaCBcCiAgICAgVUlQcm9jZXNzL0FQSS9jcHAvcXQv
V0tTdHJpbmdRdC5oIFwKICAgICBVSVByb2Nlc3MvQVBJL2NwcC9xdC9XS1VSTFF0LmggXAogICAg
IFVJUHJvY2Vzcy9BUEkvY3BwL1dLUmV0YWluUHRyLmggXApAQCAtMzM4LDYgKzMzOSw3IEBAIFNP
VVJDRVMgKz0gXAogICAgIFVJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwIFwKICAgICBVSVByb2Nl
c3MvQVBJL0MvV0tQYWdlTmFtZXNwYWNlLmNwcCBcCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLUHJl
ZmVyZW5jZXMuY3BwIFwKKyAgICBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1ByaXZhdGUu
Y3BwIFwKICAgICBVSVByb2Nlc3MvQVBJL3F0L0NsaWVudEltcGwuY3BwIFwKICAgICBVSVByb2Nl
c3MvQVBJL3F0L3FncmFwaGljc3drdmlldy5jcHAgXAogICAgIFVJUHJvY2Vzcy9BUEkvcXQvcXdr
cGFnZS5jcHAgXApkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nIGIvV2ViS2l0VG9v
bHMvQ2hhbmdlTG9nCmluZGV4IDllNjRmNDZlZDYxMmQ0MzhiYjM3NTY4ZjIyMzhiYWIwZDU5MjNj
ZjkuLjEwNTkwMGVkMTQ5MTUyNGUyY2FmN2E3NjQ2NjkyNmZhNTk0OWZkN2UgMTAwNjQ0Ci0tLSBh
L1dlYktpdFRvb2xzL0NoYW5nZUxvZworKysgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKQEAgLTIs
NiArMiw0MSBAQAogCiAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgogCisgICAg
ICAgIFtRdF0gQWRkIFdlYktpdFRlc3RSdW5uZXIncyBidWlsZCBmaWxlcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDQxNTUKKworICAgICAgICBQYXJ0
cyB3YXMgdGFrZW4gYnkgWm9sdGFuIEhvcnZhdGgncyBwYXRjaC4KKworICAgICAgICAqIFNjcmlw
dHMvZ2VuZXJhdGUtZm9yd2FyZGluZy1oZWFkZXJzLnBsOiBNb3ZlZCBmcm9tIFdlYktpdDIuCisg
ICAgICAgICogU2NyaXB0cy93ZWJraXRkaXJzLnBtOiBNYWtlIHRoZSBnZW5lcmF0ZWQgZmlsZXMg
bmVlZGVkIGJ5IFdUUi4KKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1BsYXRmb3JtV2ViVmll
dy5oOiBBZGRlZWQgdHlwZWRlZnMgZm9yCisgICAgICAgIFBsYXRmb3JtV0tWaWV3IGFuZCBQbGF0
Zm9ybVdpbmRvdyAodm9pZCogZm9yIG5vdykuCisgICAgICAgIEJ1aWxkZml4IHRoZSBjYXNlIHdo
ZW4gX19BUFBMRV9fIGlzIG5vdCBkZWZpbmVkLgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIv
cXQvRGVyaXZlZFNvdXJjZXMucHJvOiBBZGRlZC4KKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVy
L3F0L1BsYXRmb3JtV2ViVmlld1F0LmNwcDogQWRkZWQuCisgICAgICAgIEVtcHR5IHN0dWIgaW1w
bGVtZW50YXRpb24uCisgICAgICAgIChXVFI6OnJlZ2lzdGVyV2luZG93Q2xhc3MpOgorICAgICAg
ICAoV1RSOjpQbGF0Zm9ybVdlYlZpZXc6OlBsYXRmb3JtV2ViVmlldyk6CisgICAgICAgIChXVFI6
OlBsYXRmb3JtV2ViVmlldzo6flBsYXRmb3JtV2ViVmlldyk6CisgICAgICAgIChXVFI6OlBsYXRm
b3JtV2ViVmlldzo6cmVzaXplVG8pOgorICAgICAgICAoV1RSOjpQbGF0Zm9ybVdlYlZpZXc6OnBh
Z2UpOgorICAgICAgICAoV1RSOjpQbGF0Zm9ybVdlYlZpZXc6OmZvY3VzKToKKyAgICAgICAgKiBX
ZWJLaXRUZXN0UnVubmVyL3F0L1Rlc3RDb250cm9sbGVyUXQuY3BwOiBBZGRlZC4KKyAgICAgICAg
RW1wdHkgc3R1YiBpbXBsZW1lbnRhdGlvbi4KKyAgICAgICAgKFdUUjo6cmVnaXN0ZXJXaW5kb3dD
bGFzcyk6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpydW5VbnRpbCk6CisgICAgICAg
IChXVFI6OlRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybUluaXRpYWxpemUpOgorICAgICAgICAoV1RS
OjpUZXN0Q29udHJvbGxlcjo6aW5pdGlhbGl6ZUluamVjdGVkQnVuZGxlUGF0aCk6CisgICAgICAg
IChXVFI6OlRlc3RDb250cm9sbGVyOjppbml0aWFsaXplVGVzdFBsdWdpbkRpcmVjdG9yeSk6Cisg
ICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybUluaXRpYWxpemVDb250ZXh0KToK
KyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL3F0L1dlYktpdFRlc3RSdW5uZXIucHJvOiBBZGRl
ZC4KKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL3F0L21haW4uY3BwOiBBZGRlZC4KKyAgICAg
ICAgKG1haW4pOgorCisyMDEwLTEwLTA2ICBCYWxhenMgS2VsZW1lbiAgPGtiYWxhenNAd2Via2l0
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwogICAgICAgICBX
ZWJLaXRUZXN0UnVubmVyIHNob3VsZCBiZSBwb3J0YWJsZQogICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDUzOTMKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9n
ZW5lcmF0ZS1mb3J3YXJkaW5nLWhlYWRlcnMucGwgYi9XZWJLaXRUb29scy9TY3JpcHRzL2dlbmVy
YXRlLWZvcndhcmRpbmctaGVhZGVycy5wbApzaW1pbGFyaXR5IGluZGV4IDk3JQpyZW5hbWUgZnJv
bSBXZWJLaXQyL2dlbmVyYXRlLWZvcndhcmRpbmctaGVhZGVycy5wbApyZW5hbWUgdG8gV2ViS2l0
VG9vbHMvU2NyaXB0cy9nZW5lcmF0ZS1mb3J3YXJkaW5nLWhlYWRlcnMucGwKaW5kZXggZTgzNmZh
NGQ1MGRmZDQyZDEwODljZTI0ODFlNmFmNGNmYTU5OTYwZi4uZWQ1ODcwMjJhYTFjNTJiNzk5N2E2
MDEwZmI5OGNkNmNiNTAyMWY1MCAxMDA3NTUKLS0tIGEvV2ViS2l0Mi9nZW5lcmF0ZS1mb3J3YXJk
aW5nLWhlYWRlcnMucGwKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9nZW5lcmF0ZS1mb3J3YXJk
aW5nLWhlYWRlcnMucGwKQEAgLTMyLDcgKzMyLDggQEAgdXNlIEZpbGU6OkZpbmQ7CiB1c2UgRmls
ZTo6QmFzZW5hbWU7CiB1c2UgRmlsZTo6U3BlYzo6RnVuY3Rpb25zOwogCi1teSAkc3JjUm9vdCA9
IHJlYWxwYXRoKEZpbGU6OlNwZWMtPmNhdGZpbGUoZGlybmFtZShhYnNfcGF0aCgkMCkpLCAiLi4i
KSk7CitteSAkc3JjUm9vdCA9IHJlYWxwYXRoKEZpbGU6OlNwZWMtPmNhdGZpbGUoZGlybmFtZShh
YnNfcGF0aCgkMCkpLCAiLi4vLi4iKSk7CitteSAkaW5jRnJvbVJvb3QgPSBhYnNfcGF0aCgkQVJH
VlswXSk7CiBteSBAcGxhdGZvcm1QcmVmaXhlcyA9ICgiYW5kcm9pZCIsICJicmV3IiwgImNmIiwg
ImNocm9taXVtIiwgImN1cmwiLCAiZWZsIiwgImd0ayIsICJoYWlrdSIsICJtYWMiLCAicXQiLCAi
c291cCIsICJ2OCIsICJ3aW4iLCAid3giKTsKIG15IEBmcmFtZXdvcmtzID0gKCAiSmF2YVNjcmlw
dENvcmUiLCAiV2ViQ29yZSIsICJXZWJLaXQyIik7CiBteSBAc2tpcHBlZFByZWZpeGVzOwpAQCAt
NDAsNiArNDEsNyBAQCBteSBAZnJhbWV3b3JrSGVhZGVyczsKIG15ICRmcmFtZXdvcms7CiBteSAl
bmVlZGVkSGVhZGVyczsKIAorc2hpZnQ7CiBteSAkb3V0cHV0RGlyZWN0b3J5ID0gJEFSR1ZbMF07
CiBzaGlmdDsKIG15ICRwbGF0Zm9ybSAgPSAkQVJHVlswXTsKQEAgLTUwLDcgKzUyLDcgQEAgZm9y
ZWFjaCBteSAkcHJlZml4IChAcGxhdGZvcm1QcmVmaXhlcykgewogCiBmb3JlYWNoIChAZnJhbWV3
b3JrcykgewogICAgICRmcmFtZXdvcmsgPSAkXzsKLSAgICBmaW5kKFwmY29sbGVjdE5lZWRlZEhl
YWRlcnMsIEZpbGU6OlNwZWMtPmNhdGZpbGUoJHNyY1Jvb3QsICJXZWJLaXQyIikpOworICAgIGZp
bmQoXCZjb2xsZWN0TmVlZGVkSGVhZGVycywgJGluY0Zyb21Sb290KTsKICAgICBmaW5kKFwmY29s
bGVjdEZhbWV3b3JrSGVhZGVyUGF0aHMsIEZpbGU6OlNwZWMtPmNhdGZpbGUoJHNyY1Jvb3QsICRm
cmFtZXdvcmspKTsKICAgICBjcmVhdGVGb3J3YXJkaW5nSGVhZGVyc0ZvckZyYW1ld29yaygpOwog
fQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtIGIvV2ViS2l0
VG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtCmluZGV4IDk0YWQ1NTZlN2QxNDdmM2YzNzJlODg0
MzVlNjA0MDM0NGY3MzExYTIuLjAyMThlMWZiYmM5OTZlOTRhYTdiMWZmNzRmODdkMGRkNWFhOTRk
NmUgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbQorKysgYi9X
ZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0KQEAgLTE1MzAsNiArMTUzMCw3IEBAIHN1
YiBidWlsZFFNYWtlUHJvamVjdCgkQCkKICAgICBteSBAc3ViZGlycyA9ICgiSmF2YVNjcmlwdENv
cmUiLCAiV2ViQ29yZSIsICJXZWJLaXQvcXQvQXBpIik7CiAgICAgaWYgKGdyZXAgeyAkXyBlcSAi
Q09ORklHKz13ZWJraXQyIn0gQGJ1aWxkQXJncykgewogICAgICAgICBwdXNoIEBzdWJkaXJzLCAi
V2ViS2l0MiI7CisgICAgICAgIHB1c2ggQHN1YmRpcnMsICJXZWJLaXRUb29scy9XZWJLaXRUZXN0
UnVubmVyL3F0IjsKICAgICB9CiAKICAgICBmb3IgbXkgJHN1YmRpciAoQHN1YmRpcnMpIHsKZGlm
ZiAtLWdpdCBhL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvUGxhdGZvcm1XZWJWaWV3Lmgg
Yi9XZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL1BsYXRmb3JtV2ViVmlldy5oCmluZGV4IDI5
YzYzYWVlYTFmOThhNzZlY2Q3YzZiYTRjODllYjdiOGJmZjU3M2IuLjgzYzM0YjQyMzYyOTY5MGVh
NDg5Y2M5ZGJkMDNlMDFjZGZlMzdlM2MgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1dlYktpdFRl
c3RSdW5uZXIvUGxhdGZvcm1XZWJWaWV3LmgKKysrIGIvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9QbGF0Zm9ybVdlYlZpZXcuaApAQCAtMjYsNyArMjYsNyBAQAogI2lmbmRlZiBQbGF0Zm9y
bVdlYlZpZXdfaAogI2RlZmluZSBQbGF0Zm9ybVdlYlZpZXdfaAogCi0jaWYgX19BUFBMRV9fCisj
aWYgZGVmaW5lZChfX0FQUExFX18pICYmIF9fQVBQTEVfXwogI2lmIF9fT0JKQ19fCiBAY2xhc3Mg
V0tWaWV3OwogQGNsYXNzIE5TV2luZG93OwpAQCAtMzksNiArMzksOSBAQCB0eXBlZGVmIE5TV2lu
ZG93KiBQbGF0Zm9ybVdpbmRvdzsKICNlbGlmIGRlZmluZWQoV0lOMzIpIHx8IGRlZmluZWQoX1dJ
TjMyKQogdHlwZWRlZiBXS1ZpZXdSZWYgUGxhdGZvcm1XS1ZpZXc7CiB0eXBlZGVmIEhXTkQgUGxh
dGZvcm1XaW5kb3c7CisjZWxpZiBkZWZpbmVkKEJVSUxESU5HX1FUX18pCit0eXBlZGVmIHZvaWQq
IFBsYXRmb3JtV0tWaWV3OwordHlwZWRlZiB2b2lkKiBQbGF0Zm9ybVdpbmRvdzsKICNlbmRpZgog
CiBuYW1lc3BhY2UgV1RSIHsKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvcXQvRGVyaXZlZFNvdXJjZXMucHJvIGIvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9x
dC9EZXJpdmVkU291cmNlcy5wcm8KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmNkNzE2ZTlhMDY1OTM1ZDk5N2RlZTE1
N2QwZWNkYjc2ZTVlOTY5MQotLS0gL2Rldi9udWxsCisrKyBiL1dlYktpdFRvb2xzL1dlYktpdFRl
c3RSdW5uZXIvcXQvRGVyaXZlZFNvdXJjZXMucHJvCkBAIC0wLDAgKzEsMTggQEAKK1RFTVBMQVRF
ID0gbGliCitUQVJHRVQgPSBkdW1teQorCitDT05GSUcgLT0gZGVidWdfYW5kX3JlbGVhc2UKKwor
U1JDX1JPT1RfRElSID0gJCRyZXBsYWNlKFBXRCwgL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvcXQsIC8pCisKK3d0cl9md2hlYWRlcl9nZW5lcmF0b3IuY29tbWFuZHMgPSBwZXJsICQke1NS
Q19ST09UX0RJUn0vV2ViS2l0VG9vbHMvU2NyaXB0cy9nZW5lcmF0ZS1mb3J3YXJkaW5nLWhlYWRl
cnMucGwgJCR7U1JDX1JPT1RfRElSfS9XZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyICQke09V
VFBVVF9ESVJ9L2luY2x1ZGUgcXQKK3d0cl9md2hlYWRlcl9nZW5lcmF0b3IuZGVwZW5kcyAgPSAk
JHtTUkNfUk9PVF9ESVJ9L1dlYktpdFRvb2xzL1NjcmlwdHMvZ2VuZXJhdGUtZm9yd2FyZGluZy1o
ZWFkZXJzLnBsCitnZW5lcmF0ZWRfZmlsZXMuZGVwZW5kcyAgICAgKz0gd3RyX2Z3aGVhZGVyX2dl
bmVyYXRvcgorUU1BS0VfRVhUUkFfVEFSR0VUUyAgICAgICAgICs9IHd0cl9md2hlYWRlcl9nZW5l
cmF0b3IKKworanNjX2Z3aGVhZGVyX2dlbmVyYXRvci5jb21tYW5kcyA9IHBlcmwgJCR7U1JDX1JP
T1RfRElSfS9XZWJLaXRUb29scy9TY3JpcHRzL2dlbmVyYXRlLWZvcndhcmRpbmctaGVhZGVycy5w
bCAkJHtTUkNfUk9PVF9ESVJ9L0phdmFTY3JpcHRDb3JlL0FQSSAkJHtPVVRQVVRfRElSfS9pbmNs
dWRlIHF0Citqc2NfZndoZWFkZXJfZ2VuZXJhdG9yLmRlcGVuZHMgID0gJCR7U1JDX1JPT1RfRElS
fS9XZWJLaXRUb29scy9TY3JpcHRzL2dlbmVyYXRlLWZvcndhcmRpbmctaGVhZGVycy5wbAorZ2Vu
ZXJhdGVkX2ZpbGVzLmRlcGVuZHMgICAgICs9IGpzY19md2hlYWRlcl9nZW5lcmF0b3IKK1FNQUtF
X0VYVFJBX1RBUkdFVFMgICAgICAgICArPSBqc2NfZndoZWFkZXJfZ2VuZXJhdG9yCisKK1FNQUtF
X0VYVFJBX1RBUkdFVFMgICAgICAgICs9IGdlbmVyYXRlZF9maWxlcwpkaWZmIC0tZ2l0IGEvV2Vi
S2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9xdC9QbGF0Zm9ybVdlYlZpZXdRdC5jcHAgYi9XZWJL
aXRUb29scy9XZWJLaXRUZXN0UnVubmVyL3F0L1BsYXRmb3JtV2ViVmlld1F0LmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43Y2U5YzdiNGViZjY3NGIxZDMwOTNmZDMzNzI4OGM5YTA5YzE2MmUzCi0tLSAvZGV2L251
bGwKKysrIGIvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9xdC9QbGF0Zm9ybVdlYlZpZXdR
dC5jcHAKQEAgLTAsMCArMSw3MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgVW5pdmVyc2l0
eSBvZiBTemVnZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW5jbHVkZSAiUGxhdGZvcm1XZWJWaWV3LmgiCisjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIK
KworbmFtZXNwYWNlIFdUUiB7CisKK3N0YXRpYyB2b2lkIHJlZ2lzdGVyV2luZG93Q2xhc3MoKQor
eworICAgIC8vIEltcGxlbWVudAorICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK1BsYXRmb3Jt
V2ViVmlldzo6UGxhdGZvcm1XZWJWaWV3KFdLUGFnZU5hbWVzcGFjZVJlZiBuYW1lc3BhY2VSZWYp
Cit7CisgICAgcmVnaXN0ZXJXaW5kb3dDbGFzcygpOworCisgICAgLy8gSW1wbGVtZW50CisgICAg
bm90SW1wbGVtZW50ZWQoKTsKK30KKworUGxhdGZvcm1XZWJWaWV3Ojp+UGxhdGZvcm1XZWJWaWV3
KCkKK3sKKyAgICAvLyBJbXBsZW1lbnQKK30KKwordm9pZCBQbGF0Zm9ybVdlYlZpZXc6OnJlc2l6
ZVRvKHVuc2lnbmVkIHdpZHRoLCB1bnNpZ25lZCBoZWlnaHQpCit7CisgICAgLy8gSW1wbGVtZW50
CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKworV0tQYWdlUmVmIFBsYXRmb3JtV2ViVmlldzo6
cGFnZSgpCit7CisgICAgLy8gSW1wbGVtZW50CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBy
ZXR1cm4gMDsKK30KKwordm9pZCBQbGF0Zm9ybVdlYlZpZXc6OmZvY3VzKCkKK3sKKyAgICAvLyBJ
bXBsZW1lbnQKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXVFIK
ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvcXQvVGVzdENvbnRyb2xs
ZXJRdC5jcHAgYi9XZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL3F0L1Rlc3RDb250cm9sbGVy
UXQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjllMzVhMWUwNzk1MjQzYzM4YTYyZmEwYmU4MTQzOTlhNjMyNDZi
MWIKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL3F0L1Rl
c3RDb250cm9sbGVyUXQuY3BwCkBAIC0wLDAgKzEsNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAy
MDEwIFVuaXZlcnNpdHkgb2YgU3plZ2VkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICog
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2luY2x1ZGUgIlRlc3RDb250cm9sbGVyLmgiCisjaW5jbHVkZSAiTm90SW1w
bGVtZW50ZWQuaCIKKworbmFtZXNwYWNlIFdUUiB7CisKK3N0YXRpYyB2b2lkIHJlZ2lzdGVyV2lu
ZG93Q2xhc3MoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK3ZvaWQgVGVzdENvbnRy
b2xsZXI6OnJ1blVudGlsKGJvb2wmIGRvbmUpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30K
K3ZvaWQgVGVzdENvbnRyb2xsZXI6OnBsYXRmb3JtSW5pdGlhbGl6ZSgpCit7CisgICAgbm90SW1w
bGVtZW50ZWQoKTsKK30KKwordm9pZCBUZXN0Q29udHJvbGxlcjo6aW5pdGlhbGl6ZUluamVjdGVk
QnVuZGxlUGF0aCgpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwordm9pZCBUZXN0Q29u
dHJvbGxlcjo6aW5pdGlhbGl6ZVRlc3RQbHVnaW5EaXJlY3RvcnkoKQoreworICAgIG5vdEltcGxl
bWVudGVkKCk7Cit9CisKK3ZvaWQgVGVzdENvbnRyb2xsZXI6OnBsYXRmb3JtSW5pdGlhbGl6ZUNv
bnRleHQoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdU
UgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9xdC9XZWJLaXRUZXN0
UnVubmVyLnBybyBiL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvcXQvV2ViS2l0VGVzdFJ1
bm5lci5wcm8KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNjQwNGI4NjJjNDcxNTlhMzYzNThhNjEyODVjYzI1NWEyMWVm
ZDJlMwotLS0gL2Rldi9udWxsCisrKyBiL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvcXQv
V2ViS2l0VGVzdFJ1bm5lci5wcm8KQEAgLTAsMCArMSw2NiBAQAorVEFSR0VUID0gV2ViS2l0VGVz
dFJ1bm5lcgorQ09ORklHIC09IGFwcF9idW5kbGUKKworQkFTRURJUiA9ICQkUFdELy4uLworaXNF
bXB0eShPVVRQVVRfRElSKTogT1VUUFVUX0RJUiA9IC4uLy4uLy4uCisKK2luY2x1ZGUoLi4vLi4v
Li4vV2ViS2l0LnByaSkKKworIUNPTkZJRyhyZWxlYXNlLCBkZWJ1Z3xyZWxlYXNlKSB7CisgICAg
T0JKRUNUU19ESVIgPSBvYmovZGVidWcKK30gZWxzZSB7ICMgUmVsZWFzZQorICAgIE9CSkVDVFNf
RElSID0gb2JqL3JlbGVhc2UKK30KKworREVGSU5FUyArPSBVU0VfU1lTVEVNX01BTExPQworCitJ
TkNMVURFUEFUSCArPSBcCisgICAgJCRCQVNFRElSIFwKKyAgICAkJEJBU0VESVIvLi4vLi4vSmF2
YVNjcmlwdENvcmUgXAorICAgICQkQkFTRURJUi8uLi8uLi9XZWJLaXQyIFwKKyAgICAkJEJBU0VE
SVIvLi4vLi4vV2ViS2l0Mi9TaGFyZWQgXAorCitJTkNMVURFUEFUSCArPSBcCisgICAgJCRPVVRQ
VVRfRElSL2luY2x1ZGUgXAorCisKK0RFU1RESVIgPSAkJE9VVFBVVF9ESVIvYmluCisKK3VuaXg6
IW1hYyB7CisgICAgQ09ORklHICs9IGxpbmtfcGtnY29uZmlnCisgICAgUEtHQ09ORklHICs9IGZv
bnRjb25maWcKK30KKworUVQgPSBjb3JlIGd1aSBuZXR3b3JrCisKK0hFQURFUlMgPSBcCisgICAg
JCRCQVNFRElSL1BsYXRmb3JtV2ViVmlldy5oIFwKKyAgICAkJEJBU0VESVIvU3RyaW5nRnVuY3Rp
b25zLmggXAorICAgICQkQkFTRURJUi9UZXN0Q29udHJvbGxlci5oIFwKKyAgICAkJEJBU0VESVIv
VGVzdEludm9jYXRpb24uaAorCitTT1VSQ0VTID0gXAorICAgIG1haW4uY3BwIFwKKyAgICBQbGF0
Zm9ybVdlYlZpZXdRdC5jcHAgXAorICAgIFRlc3RDb250cm9sbGVyUXQuY3BwIFwKKyAgICAkJEJB
U0VESVIvVGVzdENvbnRyb2xsZXIuY3BwIFwKKyAgICAkJEJBU0VESVIvVGVzdEludm9jYXRpb24u
Y3BwIFwKKworUFJFRklYX0hFQURFUiA9ICQkQkFTRURJUi9XZWJLaXRUZXN0UnVubmVyUHJlZml4
LmgKK1FNQUtFX0NYWEZMQUdTICs9ICItaW5jbHVkZSAkJFBSRUZJWF9IRUFERVIiCisKK2xpbnV4
LSogeworICAgICMgRnJvbSBDcmVhdG9yJ3Mgc3JjL3JwYXRoLnByaToKKyAgICAjIERvIHRoZSBy
cGF0aCBieSBoYW5kIHNpbmNlIGl0J3Mgbm90IHBvc3NpYmxlIHRvIHVzZSBPUklHSU4gaW4gUU1B
S0VfUlBBVEhESVIKKyAgICAjIHRoaXMgZXhwYW5kcyB0byAkT1JJR0lOIChhZnRlciBxbWFrZSBh
bmQgbWFrZSksIGl0IGRvZXMgTk9UIHJlYWQgYSBxbWFrZSB2YXIuCisgICAgUU1BS0VfUlBBVEhE
SVIgPSBcJFwkT1JJR0lOLy4uL2xpYiAkJFFNQUtFX1JQQVRIRElSCisgICAgTVlfUlBBVEggPSAk
JGpvaW4oUU1BS0VfUlBBVEhESVIsICI6IikKKworICAgIFFNQUtFX0xGTEFHUyArPSAtV2wsLXos
b3JpZ2luIFwnLVdsLC1ycGF0aCwkJHtNWV9SUEFUSH1cJworICAgIFFNQUtFX1JQQVRIRElSID0K
K30gZWxzZSB7CisgICAgUU1BS0VfUlBBVEhESVIgPSAkJE9VVFBVVF9ESVIvbGliICQkUU1BS0Vf
UlBBVEhESVIKK30KKworaW5jbHVkZSguLi8uLi8uLi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS5wcmkpCithZGRKYXZhU2NyaXB0Q29yZUxpYiguLi8uLi8uLi9KYXZhU2NyaXB0Q29yZSkK
ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvcXQvbWFpbi5jcHAgYi9X
ZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL3F0L21haW4uY3BwCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI1MjNm
NTFiMmI4ZGI3NGNlZTBlZWMwN2UxMTc5NDhjYjEwZjZmZmYKLS0tIC9kZXYvbnVsbAorKysgYi9X
ZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL3F0L21haW4uY3BwCkBAIC0wLDAgKzEsMzQgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDEwIFVuaXZlcnNpdHkgb2YgU3plZ2VkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW5jbHVkZSAiVGVzdENvbnRyb2xsZXIuaCIKKworaW50IG1haW4oaW50IGFyZ2MsIGNvbnN0
IGNoYXIqIGFyZ3ZbXSkKK3sKKyAgICBXVFI6OlRlc3RDb250cm9sbGVyIGNvbnRyb2xsZXIoYXJn
YywgYXJndik7CisKKyAgICByZXR1cm4gMDsKK30K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69954</attachid>
            <date>2010-10-06 10:08:37 -0700</date>
            <delta_ts>2010-10-06 14:52:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-44155-20101006190836.patch</filename>
            <type>text/plain</type>
            <size>19257</size>
            <attacher name="Balazs Kelemen">kbalazs</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCAyMzExOTc4ZjEyNjg4YjM1
ZDIxNjg4YTVjZjUyODI0ZWQyNTNmODJmLi5kMzI5ODlkZDFhMDZiYTgyN2EzYzc1MWMxZTg4NTJi
MGNmZGE5YWVhIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTQgQEAKKzIwMTAtMTAtMDYgIEJhbGF6cyBLZWxlbWVuICA8a2JhbGF6c0B3ZWJraXQub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF0g
QWRkIFdlYktpdFRlc3RSdW5uZXIncyBidWlsZCBmaWxlcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDQxNTUKKworICAgICAgICBBZGQgdGhlIG5ldyBz
dWJkaXJzLgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLnBybzoKKyAgICAgICAgKiBXZWJLaXQu
cHJvOgorCiAyMDEwLTEwLTA0ICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5j
b20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW50b25pbyBHb21lcy4KZGlmZiAtLWdpdCBhL0Rl
cml2ZWRTb3VyY2VzLnBybyBiL0Rlcml2ZWRTb3VyY2VzLnBybwppbmRleCA4ODBhNzE2YTU2ZTk5
NjYzMjI4MGExZDJiMjczMTA3ZDA3ZWUzMzlmLi4wMDE1YWY2ZWI3OWRkMDE0ZjAxZTJjOTExZDNh
MzFkNTIwNDRmMTUwIDEwMDY0NAotLS0gYS9EZXJpdmVkU291cmNlcy5wcm8KKysrIGIvRGVyaXZl
ZFNvdXJjZXMucHJvCkBAIC04LDYgKzgsNyBAQCBTVUJESVJTICs9IFwKIAogd2Via2l0MiB7CiAg
ICAgU1VCRElSUyArPSBXZWJLaXQyL0Rlcml2ZWRTb3VyY2VzLnBybworICAgIFNVQkRJUlMgKz0g
V2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9xdC9EZXJpdmVkU291cmNlcy5wcm8KIH0KIAog
Zm9yKHN1YnBybywgU1VCRElSUykgewpkaWZmIC0tZ2l0IGEvV2ViS2l0LnBybyBiL1dlYktpdC5w
cm8KaW5kZXggOWZkOWMyZWRkZDA4OTJjZDQ5MDM0NjIxYzYyYzE4Y2NlYjNhMTUzOS4uODk4YTRl
YzA3MWFjNzIzMjE4NTE2NTA4MGU0ZDk0ZTk3MTQ4NGU3ZiAxMDA2NDQKLS0tIGEvV2ViS2l0LnBy
bworKysgYi9XZWJLaXQucHJvCkBAIC0zMyw2ICszMyw3IEBAIGJ1aWxkLXF0c2NyaXB0IHsKIHdl
YmtpdDIgewogICAgIGV4aXN0cygkJFBXRC9XZWJLaXQyL1dlYlByb2Nlc3MucHJvKTogU1VCRElS
UyArPSBXZWJLaXQyL1dlYlByb2Nlc3MucHJvCiAgICAgZXhpc3RzKCQkUFdEL1dlYktpdFRvb2xz
L01pbmlCcm93c2VyL3F0L01pbmlCcm93c2VyLnBybyk6IFNVQkRJUlMgKz0gV2ViS2l0VG9vbHMv
TWluaUJyb3dzZXIvcXQvTWluaUJyb3dzZXIucHJvCisgICAgZXhpc3RzKCQkUFdEL1dlYktpdFRv
b2xzL1dlYktpdFRlc3RSdW5uZXIvcXQvV2ViS2l0VGVzdFJ1bm5lci5wcm8pOiBTVUJESVJTICs9
IFdlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvcXQvV2ViS2l0VGVzdFJ1bm5lci5wcm8KIH0K
IAogc3ltYmlhbiB7CmRpZmYgLS1naXQgYS9XZWJLaXQyL0NoYW5nZUxvZyBiL1dlYktpdDIvQ2hh
bmdlTG9nCmluZGV4IDQzMWFjN2UwZjRmNTVhOGI1NTk3ZjFmYzdiZmI4NzUwNmUxODIwMWMuLjcw
NjkzYThmYTNmZDE2ZjNiZGRmOGE0ZjRlN2Y3YmYxYmFmMTM4NGUgMTAwNjQ0Ci0tLSBhL1dlYktp
dDIvQ2hhbmdlTG9nCisrKyBiL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0yLDYgKzIsMjMgQEAKIAog
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KIAorICAgICAgICBbUXRdIEFkZCBX
ZWJLaXRUZXN0UnVubmVyJ3MgYnVpbGQgZmlsZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTQ0MTU1CisKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5w
cm86IENoYW5nZXMgYWNjb3JkaW5nIHRoZSBuZXcgbG9jYXRpb24KKyAgICAgICAgb2YgZ2VuZXJh
dGUtZm9yd2FyZGluZy1oZWFkZXJzLnBsLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XZWJL
aXQyLmg6IERvIG5vdCBjaGVjayB0aGUgdmFsdWUgb2YgdGhlCisgICAgICAgIF9fQVBQTEVfXyBk
ZWZpbmUgaWYgaXQgaXMgbm90IGRlZmluZWQuCisgICAgICAgICogV2ViS2l0Mi5wcm86IENoYW5n
ZXMgYWNjb3JkaW5nIHRoZSBuZXcgbG9jYXRpb24KKyAgICAgICAgb2YgZ2VuZXJhdGUtZm9yd2Fy
ZGluZy1oZWFkZXJzLnBsLiBBZGRlZCBtaXNzaW5nIGZpbGVzCisgICAgICAgIHRvIHRoZSBidWls
ZCB0aGF0IHByb3ZpZGVzIEFQSSB0aGF0IGlzIHVzZWQgYnkgV1RSLgorICAgICAgICAqIGdlbmVy
YXRlLWZvcndhcmRpbmctaGVhZGVycy5wbDogTW92ZWQgdG8gV2ViS2l0VG9vbHMvU2NyaXB0cwor
ICAgICAgICBzaW5jZSBmcm9tIG5vdyB0aGlzIGlzIG5vdCBvbmx5IHVzZWQgYnkgV2ViS2l0Mi4K
KworMjAxMC0xMC0wNiAgQmFsYXpzIEtlbGVtZW4gIDxrYmFsYXpzQHdlYmtpdC5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKICAgICAgICAgV2ViS2l0VGVzdFJ1
bm5lciBzaG91bGQgYmUgcG9ydGFibGUKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTQ1MzkzCiAKZGlmZiAtLWdpdCBhL1dlYktpdDIvRGVyaXZlZFNvdXJj
ZXMucHJvIGIvV2ViS2l0Mi9EZXJpdmVkU291cmNlcy5wcm8KaW5kZXggYjczZTkzNTNiOGU4MzZm
YmNjMzUyYzJlMTk0MWJlM2Y4Mjg3YTdhYy4uYzgwMmFmNTY1OWEzOTk0MmE4ZWY0ZGJhYjU3ZmRj
NGYyNGMyMWM5OSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9EZXJpdmVkU291cmNlcy5wcm8KKysrIGIv
V2ViS2l0Mi9EZXJpdmVkU291cmNlcy5wcm8KQEAgLTY0LDggKzY0LDggQEAgcHJvY2Vzc21lc3Nh
Z2VyZWNlaXZlcl9nZW5lcmF0b3IudGFyZ2V0ICAgPSAkJHtPVVRQVVRfRElSfS9XZWJLaXQyL2dl
bmVyYXRlZC9XZWIKIGdlbmVyYXRlZF9maWxlcy5kZXBlbmRzICAgICAgICAgICAgICAgICAgICs9
IHByb2Nlc3NtZXNzYWdlcmVjZWl2ZXJfZ2VuZXJhdG9yCiBRTUFLRV9FWFRSQV9UQVJHRVRTICAg
ICAgICAgICAgICAgICAgICAgICArPSBwcm9jZXNzbWVzc2FnZXJlY2VpdmVyX2dlbmVyYXRvcgog
Ci1md2hlYWRlcl9nZW5lcmF0b3IuY29tbWFuZHMgPSBwZXJsICQke1NSQ19ST09UX0RJUn0vV2Vi
S2l0Mi9nZW5lcmF0ZS1mb3J3YXJkaW5nLWhlYWRlcnMucGwgJCR7T1VUUFVUX0RJUn0vaW5jbHVk
ZSBxdAotZndoZWFkZXJfZ2VuZXJhdG9yLmRlcGVuZHMgID0gJCR7U1JDX1JPT1RfRElSfS9XZWJL
aXQyL2dlbmVyYXRlLWZvcndhcmRpbmctaGVhZGVycy5wbAorZndoZWFkZXJfZ2VuZXJhdG9yLmNv
bW1hbmRzID0gcGVybCAkJHtTUkNfUk9PVF9ESVJ9L1dlYktpdFRvb2xzL1NjcmlwdHMvZ2VuZXJh
dGUtZm9yd2FyZGluZy1oZWFkZXJzLnBsICQke1NSQ19ST09UX0RJUn0vV2ViS2l0MiAkJHtPVVRQ
VVRfRElSfS9pbmNsdWRlIHF0Citmd2hlYWRlcl9nZW5lcmF0b3IuZGVwZW5kcyAgPSAkJHtTUkNf
Uk9PVF9ESVJ9L1dlYktpdFRvb2xzL1NjcmlwdHMvZ2VuZXJhdGUtZm9yd2FyZGluZy1oZWFkZXJz
LnBsCiBnZW5lcmF0ZWRfZmlsZXMuZGVwZW5kcyAgICAgKz0gZndoZWFkZXJfZ2VuZXJhdG9yCiBR
TUFLRV9FWFRSQV9UQVJHRVRTICAgICAgICAgKz0gZndoZWFkZXJfZ2VuZXJhdG9yCiAKZGlmZiAt
LWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dlYktpdDIuaCBiL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9DL1dlYktpdDIuaAppbmRleCA3NGUxZjhjZDI4NGY1NGUwYTI1MzlkY2E0Y2Q4Yzc1
M2Q1NWUxNTc2Li41YmI5YmQ3OTQyOTM0Y2RiOWYzOWFiMmMzNjZlNDRjNzVmNmUyMjIyIDEwMDY0
NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XZWJLaXQyLmgKKysrIGIvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvV2ViS2l0Mi5oCkBAIC01MCw3ICs1MCw3IEBACiAjaW5jbHVkZSA8V2Vi
S2l0Mi9XS1VSTFJlcXVlc3QuaD4KICNpbmNsdWRlIDxXZWJLaXQyL1dLVVJMUmVzcG9uc2UuaD4K
IAotI2lmICFfX0FQUExFX18gfHwgX19PQkpDX18KKyNpZiAhKGRlZmluZWQoX19BUFBMRV9fKSAm
JiBfX0FQUExFX18pIHx8IChkZWZpbmVkKF9fT0JKQ19fKSAmJiBfX09CSkNfXykKICNpbmNsdWRl
IDxXZWJLaXQyL1dLVmlldy5oPgogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1dlYktpdDIvV2ViS2l0
Mi5wcm8gYi9XZWJLaXQyL1dlYktpdDIucHJvCmluZGV4IDA2NGZhZTY3YzU3ZGRlNGY1ZDcyMDBm
MGExZTA3M2EzODBhMjRhNWIuLmJlNDFkNWZlM2FlNDliM2UyMzZmYjBhMjExYzY4MjIyMDMzNzUw
ODggMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViS2l0Mi5wcm8KKysrIGIvV2ViS2l0Mi9XZWJLaXQy
LnBybwpAQCAtMjEzLDYgKzIxMyw3IEBAIEhFQURFUlMgKz0gXAogICAgIFVJUHJvY2Vzcy9BUEkv
Qy9XS1BhZ2VOYW1lc3BhY2UuaCBcCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVByaXZhdGUu
aCBcCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuaCBcCisgICAgVUlQcm9jZXNz
L0FQSS9DL1dLUHJlZmVyZW5jZXNQcml2YXRlLmggXAogICAgIFVJUHJvY2Vzcy9BUEkvY3BwL3F0
L1dLU3RyaW5nUXQuaCBcCiAgICAgVUlQcm9jZXNzL0FQSS9jcHAvcXQvV0tVUkxRdC5oIFwKICAg
ICBVSVByb2Nlc3MvQVBJL2NwcC9XS1JldGFpblB0ci5oIFwKQEAgLTMzOCw2ICszMzksNyBAQCBT
T1VSQ0VTICs9IFwKICAgICBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcCBcCiAgICAgVUlQcm9j
ZXNzL0FQSS9DL1dLUGFnZU5hbWVzcGFjZS5jcHAgXAogICAgIFVJUHJvY2Vzcy9BUEkvQy9XS1By
ZWZlcmVuY2VzLmNwcCBcCisgICAgVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNQcml2YXRl
LmNwcCBcCiAgICAgVUlQcm9jZXNzL0FQSS9xdC9DbGllbnRJbXBsLmNwcCBcCiAgICAgVUlQcm9j
ZXNzL0FQSS9xdC9xZ3JhcGhpY3N3a3ZpZXcuY3BwIFwKICAgICBVSVByb2Nlc3MvQVBJL3F0L3F3
a3BhZ2UuY3BwIFwKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRv
b2xzL0NoYW5nZUxvZwppbmRleCA5ZTY0ZjQ2ZWQ2MTJkNDM4YmIzNzU2OGYyMjM4YmFiMGQ1OTIz
Y2Y5Li4xMDU5MDBlZDE0OTE1MjRlMmNhZjdhNzY0NjY5MjZmYTU5NDlmZDdlIDEwMDY0NAotLS0g
YS9XZWJLaXRUb29scy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0y
LDYgKzIsNDEgQEAKIAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KIAorICAg
ICAgICBbUXRdIEFkZCBXZWJLaXRUZXN0UnVubmVyJ3MgYnVpbGQgZmlsZXMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ0MTU1CisKKyAgICAgICAgUGFy
dHMgd2FzIHRha2VuIGJ5IFpvbHRhbiBIb3J2YXRoJ3MgcGF0Y2guCisKKyAgICAgICAgKiBTY3Jp
cHRzL2dlbmVyYXRlLWZvcndhcmRpbmctaGVhZGVycy5wbDogTW92ZWQgZnJvbSBXZWJLaXQyLgor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0ZGlycy5wbTogTWFrZSB0aGUgZ2VuZXJhdGVkIGZpbGVz
IG5lZWRlZCBieSBXVFIuCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9QbGF0Zm9ybVdlYlZp
ZXcuaDogQWRkZWVkIHR5cGVkZWZzIGZvcgorICAgICAgICBQbGF0Zm9ybVdLVmlldyBhbmQgUGxh
dGZvcm1XaW5kb3cgKHZvaWQqIGZvciBub3cpLgorICAgICAgICBCdWlsZGZpeCB0aGUgY2FzZSB3
aGVuIF9fQVBQTEVfXyBpcyBub3QgZGVmaW5lZC4KKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVy
L3F0L0Rlcml2ZWRTb3VyY2VzLnBybzogQWRkZWQuCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5l
ci9xdC9QbGF0Zm9ybVdlYlZpZXdRdC5jcHA6IEFkZGVkLgorICAgICAgICBFbXB0eSBzdHViIGlt
cGxlbWVudGF0aW9uLgorICAgICAgICAoV1RSOjpyZWdpc3RlcldpbmRvd0NsYXNzKToKKyAgICAg
ICAgKFdUUjo6UGxhdGZvcm1XZWJWaWV3OjpQbGF0Zm9ybVdlYlZpZXcpOgorICAgICAgICAoV1RS
OjpQbGF0Zm9ybVdlYlZpZXc6On5QbGF0Zm9ybVdlYlZpZXcpOgorICAgICAgICAoV1RSOjpQbGF0
Zm9ybVdlYlZpZXc6OnJlc2l6ZVRvKToKKyAgICAgICAgKFdUUjo6UGxhdGZvcm1XZWJWaWV3Ojpw
YWdlKToKKyAgICAgICAgKFdUUjo6UGxhdGZvcm1XZWJWaWV3Ojpmb2N1cyk6CisgICAgICAgICog
V2ViS2l0VGVzdFJ1bm5lci9xdC9UZXN0Q29udHJvbGxlclF0LmNwcDogQWRkZWQuCisgICAgICAg
IEVtcHR5IHN0dWIgaW1wbGVtZW50YXRpb24uCisgICAgICAgIChXVFI6OnJlZ2lzdGVyV2luZG93
Q2xhc3MpOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6cnVuVW50aWwpOgorICAgICAg
ICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1Jbml0aWFsaXplKToKKyAgICAgICAgKFdU
Ujo6VGVzdENvbnRyb2xsZXI6OmluaXRpYWxpemVJbmplY3RlZEJ1bmRsZVBhdGgpOgorICAgICAg
ICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6aW5pdGlhbGl6ZVRlc3RQbHVnaW5EaXJlY3RvcnkpOgor
ICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1Jbml0aWFsaXplQ29udGV4dCk6
CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9xdC9XZWJLaXRUZXN0UnVubmVyLnBybzogQWRk
ZWQuCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9xdC9tYWluLmNwcDogQWRkZWQuCisgICAg
ICAgIChtYWluKToKKworMjAxMC0xMC0wNiAgQmFsYXpzIEtlbGVtZW4gIDxrYmFsYXpzQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKICAgICAgICAg
V2ViS2l0VGVzdFJ1bm5lciBzaG91bGQgYmUgcG9ydGFibGUKICAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1MzkzCiAKZGlmZiAtLWdpdCBhL1dlYktpdDIv
Z2VuZXJhdGUtZm9yd2FyZGluZy1oZWFkZXJzLnBsIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9nZW5l
cmF0ZS1mb3J3YXJkaW5nLWhlYWRlcnMucGwKc2ltaWxhcml0eSBpbmRleCA5NyUKcmVuYW1lIGZy
b20gV2ViS2l0Mi9nZW5lcmF0ZS1mb3J3YXJkaW5nLWhlYWRlcnMucGwKcmVuYW1lIHRvIFdlYktp
dFRvb2xzL1NjcmlwdHMvZ2VuZXJhdGUtZm9yd2FyZGluZy1oZWFkZXJzLnBsCmluZGV4IGU4MzZm
YTRkNTBkZmQ0MmQxMDg5Y2UyNDgxZTZhZjRjZmE1OTk2MGYuLmVkNTg3MDIyYWExYzUyYjc5OTdh
NjAxMGZiOThjZDZjYjUwMjFmNTAgMTAwNzU1Ci0tLSBhL1dlYktpdDIvZ2VuZXJhdGUtZm9yd2Fy
ZGluZy1oZWFkZXJzLnBsCisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvZ2VuZXJhdGUtZm9yd2Fy
ZGluZy1oZWFkZXJzLnBsCkBAIC0zMiw3ICszMiw4IEBAIHVzZSBGaWxlOjpGaW5kOwogdXNlIEZp
bGU6OkJhc2VuYW1lOwogdXNlIEZpbGU6OlNwZWM6OkZ1bmN0aW9uczsKIAotbXkgJHNyY1Jvb3Qg
PSByZWFscGF0aChGaWxlOjpTcGVjLT5jYXRmaWxlKGRpcm5hbWUoYWJzX3BhdGgoJDApKSwgIi4u
IikpOworbXkgJHNyY1Jvb3QgPSByZWFscGF0aChGaWxlOjpTcGVjLT5jYXRmaWxlKGRpcm5hbWUo
YWJzX3BhdGgoJDApKSwgIi4uLy4uIikpOworbXkgJGluY0Zyb21Sb290ID0gYWJzX3BhdGgoJEFS
R1ZbMF0pOwogbXkgQHBsYXRmb3JtUHJlZml4ZXMgPSAoImFuZHJvaWQiLCAiYnJldyIsICJjZiIs
ICJjaHJvbWl1bSIsICJjdXJsIiwgImVmbCIsICJndGsiLCAiaGFpa3UiLCAibWFjIiwgInF0Iiwg
InNvdXAiLCAidjgiLCAid2luIiwgInd4Iik7CiBteSBAZnJhbWV3b3JrcyA9ICggIkphdmFTY3Jp
cHRDb3JlIiwgIldlYkNvcmUiLCAiV2ViS2l0MiIpOwogbXkgQHNraXBwZWRQcmVmaXhlczsKQEAg
LTQwLDYgKzQxLDcgQEAgbXkgQGZyYW1ld29ya0hlYWRlcnM7CiBteSAkZnJhbWV3b3JrOwogbXkg
JW5lZWRlZEhlYWRlcnM7CiAKK3NoaWZ0OwogbXkgJG91dHB1dERpcmVjdG9yeSA9ICRBUkdWWzBd
Owogc2hpZnQ7CiBteSAkcGxhdGZvcm0gID0gJEFSR1ZbMF07CkBAIC01MCw3ICs1Miw3IEBAIGZv
cmVhY2ggbXkgJHByZWZpeCAoQHBsYXRmb3JtUHJlZml4ZXMpIHsKIAogZm9yZWFjaCAoQGZyYW1l
d29ya3MpIHsKICAgICAkZnJhbWV3b3JrID0gJF87Ci0gICAgZmluZChcJmNvbGxlY3ROZWVkZWRI
ZWFkZXJzLCBGaWxlOjpTcGVjLT5jYXRmaWxlKCRzcmNSb290LCAiV2ViS2l0MiIpKTsKKyAgICBm
aW5kKFwmY29sbGVjdE5lZWRlZEhlYWRlcnMsICRpbmNGcm9tUm9vdCk7CiAgICAgZmluZChcJmNv
bGxlY3RGYW1ld29ya0hlYWRlclBhdGhzLCBGaWxlOjpTcGVjLT5jYXRmaWxlKCRzcmNSb290LCAk
ZnJhbWV3b3JrKSk7CiAgICAgY3JlYXRlRm9yd2FyZGluZ0hlYWRlcnNGb3JGcmFtZXdvcmsoKTsK
IH0KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbSBiL1dlYktp
dFRvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbQppbmRleCA5NGFkNTU2ZTdkMTQ3ZjNmMzcyZTg4
NDM1ZTYwNDAzNDRmNzMxMWEyLi4wMjE4ZTFmYmJjOTk2ZTk0YWE3YjFmZjc0Zjg3ZDBkZDVhYTk0
ZDZlIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0KKysrIGIv
V2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtCkBAIC0xNTMwLDYgKzE1MzAsNyBAQCBz
dWIgYnVpbGRRTWFrZVByb2plY3QoJEApCiAgICAgbXkgQHN1YmRpcnMgPSAoIkphdmFTY3JpcHRD
b3JlIiwgIldlYkNvcmUiLCAiV2ViS2l0L3F0L0FwaSIpOwogICAgIGlmIChncmVwIHsgJF8gZXEg
IkNPTkZJRys9d2Via2l0MiJ9IEBidWlsZEFyZ3MpIHsKICAgICAgICAgcHVzaCBAc3ViZGlycywg
IldlYktpdDIiOworICAgICAgICBwdXNoIEBzdWJkaXJzLCAiV2ViS2l0VG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9xdCI7CiAgICAgfQogCiAgICAgZm9yIG15ICRzdWJkaXIgKEBzdWJkaXJzKSB7CmRp
ZmYgLS1naXQgYS9XZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL1BsYXRmb3JtV2ViVmlldy5o
IGIvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9QbGF0Zm9ybVdlYlZpZXcuaAppbmRleCAy
OWM2M2FlZWExZjk4YTc2ZWNkN2M2YmE0Yzg5ZWI3YjhiZmY1NzNiLi44M2MzNGI0MjM2Mjk2OTBl
YTQ4OWNjOWRiZDAzZTAxY2RmZTM3ZTNjIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9XZWJLaXRU
ZXN0UnVubmVyL1BsYXRmb3JtV2ViVmlldy5oCisrKyBiL1dlYktpdFRvb2xzL1dlYktpdFRlc3RS
dW5uZXIvUGxhdGZvcm1XZWJWaWV3LmgKQEAgLTI2LDcgKzI2LDcgQEAKICNpZm5kZWYgUGxhdGZv
cm1XZWJWaWV3X2gKICNkZWZpbmUgUGxhdGZvcm1XZWJWaWV3X2gKIAotI2lmIF9fQVBQTEVfXwor
I2lmIGRlZmluZWQoX19BUFBMRV9fKSAmJiBfX0FQUExFX18KICNpZiBfX09CSkNfXwogQGNsYXNz
IFdLVmlldzsKIEBjbGFzcyBOU1dpbmRvdzsKQEAgLTM5LDYgKzM5LDkgQEAgdHlwZWRlZiBOU1dp
bmRvdyogUGxhdGZvcm1XaW5kb3c7CiAjZWxpZiBkZWZpbmVkKFdJTjMyKSB8fCBkZWZpbmVkKF9X
SU4zMikKIHR5cGVkZWYgV0tWaWV3UmVmIFBsYXRmb3JtV0tWaWV3OwogdHlwZWRlZiBIV05EIFBs
YXRmb3JtV2luZG93OworI2VsaWYgZGVmaW5lZChCVUlMRElOR19RVF9fKQordHlwZWRlZiB2b2lk
KiBQbGF0Zm9ybVdLVmlldzsKK3R5cGVkZWYgdm9pZCogUGxhdGZvcm1XaW5kb3c7CiAjZW5kaWYK
IAogbmFtZXNwYWNlIFdUUiB7CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9XZWJLaXRUZXN0UnVu
bmVyL3F0L0Rlcml2ZWRTb3VyY2VzLnBybyBiL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIv
cXQvRGVyaXZlZFNvdXJjZXMucHJvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZjZDcxNmU5YTA2NTkzNWQ5OTdkZWUx
NTdkMGVjZGI3NmU1ZTk2OTEKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJLaXRUb29scy9XZWJLaXRU
ZXN0UnVubmVyL3F0L0Rlcml2ZWRTb3VyY2VzLnBybwpAQCAtMCwwICsxLDE4IEBACitURU1QTEFU
RSA9IGxpYgorVEFSR0VUID0gZHVtbXkKKworQ09ORklHIC09IGRlYnVnX2FuZF9yZWxlYXNlCisK
K1NSQ19ST09UX0RJUiA9ICQkcmVwbGFjZShQV0QsIC9XZWJLaXRUb29scy9XZWJLaXRUZXN0UnVu
bmVyL3F0LCAvKQorCit3dHJfZndoZWFkZXJfZ2VuZXJhdG9yLmNvbW1hbmRzID0gcGVybCAkJHtT
UkNfUk9PVF9ESVJ9L1dlYktpdFRvb2xzL1NjcmlwdHMvZ2VuZXJhdGUtZm9yd2FyZGluZy1oZWFk
ZXJzLnBsICQke1NSQ19ST09UX0RJUn0vV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lciAkJHtP
VVRQVVRfRElSfS9pbmNsdWRlIHF0Cit3dHJfZndoZWFkZXJfZ2VuZXJhdG9yLmRlcGVuZHMgID0g
JCR7U1JDX1JPT1RfRElSfS9XZWJLaXRUb29scy9TY3JpcHRzL2dlbmVyYXRlLWZvcndhcmRpbmct
aGVhZGVycy5wbAorZ2VuZXJhdGVkX2ZpbGVzLmRlcGVuZHMgICAgICs9IHd0cl9md2hlYWRlcl9n
ZW5lcmF0b3IKK1FNQUtFX0VYVFJBX1RBUkdFVFMgICAgICAgICArPSB3dHJfZndoZWFkZXJfZ2Vu
ZXJhdG9yCisKK2pzY19md2hlYWRlcl9nZW5lcmF0b3IuY29tbWFuZHMgPSBwZXJsICQke1NSQ19S
T09UX0RJUn0vV2ViS2l0VG9vbHMvU2NyaXB0cy9nZW5lcmF0ZS1mb3J3YXJkaW5nLWhlYWRlcnMu
cGwgJCR7U1JDX1JPT1RfRElSfS9KYXZhU2NyaXB0Q29yZS9BUEkgJCR7T1VUUFVUX0RJUn0vaW5j
bHVkZSBxdAoranNjX2Z3aGVhZGVyX2dlbmVyYXRvci5kZXBlbmRzICA9ICQke1NSQ19ST09UX0RJ
Un0vV2ViS2l0VG9vbHMvU2NyaXB0cy9nZW5lcmF0ZS1mb3J3YXJkaW5nLWhlYWRlcnMucGwKK2dl
bmVyYXRlZF9maWxlcy5kZXBlbmRzICAgICArPSBqc2NfZndoZWFkZXJfZ2VuZXJhdG9yCitRTUFL
RV9FWFRSQV9UQVJHRVRTICAgICAgICAgKz0ganNjX2Z3aGVhZGVyX2dlbmVyYXRvcgorCitRTUFL
RV9FWFRSQV9UQVJHRVRTICAgICAgICArPSBnZW5lcmF0ZWRfZmlsZXMKZGlmZiAtLWdpdCBhL1dl
YktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvcXQvUGxhdGZvcm1XZWJWaWV3UXQuY3BwIGIvV2Vi
S2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9xdC9QbGF0Zm9ybVdlYlZpZXdRdC5jcHAKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZGU5Mzg5YTkyYzYzMTJiY2ZmYWZlYzBiODM2ZTYwN2RhMzZmM2UwNwotLS0gL2Rldi9u
dWxsCisrKyBiL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvcXQvUGxhdGZvcm1XZWJWaWV3
UXQuY3BwCkBAIC0wLDAgKzEsNTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwIFVuaXZlcnNp
dHkgb2YgU3plZ2VkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
CisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgIlBsYXRmb3JtV2ViVmlldy5oIgorI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgi
CisKK25hbWVzcGFjZSBXVFIgeworCitQbGF0Zm9ybVdlYlZpZXc6OlBsYXRmb3JtV2ViVmlldyhX
S1BhZ2VOYW1lc3BhY2VSZWYgbmFtZXNwYWNlUmVmKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7
Cit9CisKK1BsYXRmb3JtV2ViVmlldzo6flBsYXRmb3JtV2ViVmlldygpCit7Cit9CisKK3ZvaWQg
UGxhdGZvcm1XZWJWaWV3OjpyZXNpemVUbyh1bnNpZ25lZCB3aWR0aCwgdW5zaWduZWQgaGVpZ2h0
KQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK1dLUGFnZVJlZiBQbGF0Zm9ybVdlYlZp
ZXc6OnBhZ2UoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIDA7Cit9CisK
K3ZvaWQgUGxhdGZvcm1XZWJWaWV3Ojpmb2N1cygpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsK
K30KKworfSAvLyBuYW1lc3BhY2UgV1RSCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9XZWJLaXRU
ZXN0UnVubmVyL3F0L1Rlc3RDb250cm9sbGVyUXQuY3BwIGIvV2ViS2l0VG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9xdC9UZXN0Q29udHJvbGxlclF0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNjk3NDcxMDFhZWRj
OTdmNTRiM2NhYWMyMjI5YmE5MWJiZWNiZDcwCi0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0VG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9xdC9UZXN0Q29udHJvbGxlclF0LmNwcApAQCAtMCwwICsxLDU3
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCBVbml2ZXJzaXR5IG9mIFN6ZWdlZC4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJUZXN0Q29udHJv
bGxlci5oIgorI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCisKK25hbWVzcGFjZSBXVFIgewor
Cit2b2lkIFRlc3RDb250cm9sbGVyOjpydW5VbnRpbChib29sJiBkb25lKQoreworICAgIG5vdElt
cGxlbWVudGVkKCk7Cit9CisKK3ZvaWQgVGVzdENvbnRyb2xsZXI6OnBsYXRmb3JtSW5pdGlhbGl6
ZSgpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwordm9pZCBUZXN0Q29udHJvbGxlcjo6
aW5pdGlhbGl6ZUluamVjdGVkQnVuZGxlUGF0aCgpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsK
K30KKwordm9pZCBUZXN0Q29udHJvbGxlcjo6aW5pdGlhbGl6ZVRlc3RQbHVnaW5EaXJlY3Rvcnko
KQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK3ZvaWQgVGVzdENvbnRyb2xsZXI6OnBs
YXRmb3JtSW5pdGlhbGl6ZUNvbnRleHQoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisK
K30gLy8gbmFtZXNwYWNlIFdUUgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9xdC9XZWJLaXRUZXN0UnVubmVyLnBybyBiL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvcXQvV2ViS2l0VGVzdFJ1bm5lci5wcm8KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjQwNGI4NjJjNDcxNTlhMzYz
NThhNjEyODVjYzI1NWEyMWVmZDJlMwotLS0gL2Rldi9udWxsCisrKyBiL1dlYktpdFRvb2xzL1dl
YktpdFRlc3RSdW5uZXIvcXQvV2ViS2l0VGVzdFJ1bm5lci5wcm8KQEAgLTAsMCArMSw2NiBAQAor
VEFSR0VUID0gV2ViS2l0VGVzdFJ1bm5lcgorQ09ORklHIC09IGFwcF9idW5kbGUKKworQkFTRURJ
UiA9ICQkUFdELy4uLworaXNFbXB0eShPVVRQVVRfRElSKTogT1VUUFVUX0RJUiA9IC4uLy4uLy4u
CisKK2luY2x1ZGUoLi4vLi4vLi4vV2ViS2l0LnByaSkKKworIUNPTkZJRyhyZWxlYXNlLCBkZWJ1
Z3xyZWxlYXNlKSB7CisgICAgT0JKRUNUU19ESVIgPSBvYmovZGVidWcKK30gZWxzZSB7ICMgUmVs
ZWFzZQorICAgIE9CSkVDVFNfRElSID0gb2JqL3JlbGVhc2UKK30KKworREVGSU5FUyArPSBVU0Vf
U1lTVEVNX01BTExPQworCitJTkNMVURFUEFUSCArPSBcCisgICAgJCRCQVNFRElSIFwKKyAgICAk
JEJBU0VESVIvLi4vLi4vSmF2YVNjcmlwdENvcmUgXAorICAgICQkQkFTRURJUi8uLi8uLi9XZWJL
aXQyIFwKKyAgICAkJEJBU0VESVIvLi4vLi4vV2ViS2l0Mi9TaGFyZWQgXAorCitJTkNMVURFUEFU
SCArPSBcCisgICAgJCRPVVRQVVRfRElSL2luY2x1ZGUgXAorCisKK0RFU1RESVIgPSAkJE9VVFBV
VF9ESVIvYmluCisKK3VuaXg6IW1hYyB7CisgICAgQ09ORklHICs9IGxpbmtfcGtnY29uZmlnCisg
ICAgUEtHQ09ORklHICs9IGZvbnRjb25maWcKK30KKworUVQgPSBjb3JlIGd1aSBuZXR3b3JrCisK
K0hFQURFUlMgPSBcCisgICAgJCRCQVNFRElSL1BsYXRmb3JtV2ViVmlldy5oIFwKKyAgICAkJEJB
U0VESVIvU3RyaW5nRnVuY3Rpb25zLmggXAorICAgICQkQkFTRURJUi9UZXN0Q29udHJvbGxlci5o
IFwKKyAgICAkJEJBU0VESVIvVGVzdEludm9jYXRpb24uaAorCitTT1VSQ0VTID0gXAorICAgIG1h
aW4uY3BwIFwKKyAgICBQbGF0Zm9ybVdlYlZpZXdRdC5jcHAgXAorICAgIFRlc3RDb250cm9sbGVy
UXQuY3BwIFwKKyAgICAkJEJBU0VESVIvVGVzdENvbnRyb2xsZXIuY3BwIFwKKyAgICAkJEJBU0VE
SVIvVGVzdEludm9jYXRpb24uY3BwIFwKKworUFJFRklYX0hFQURFUiA9ICQkQkFTRURJUi9XZWJL
aXRUZXN0UnVubmVyUHJlZml4LmgKK1FNQUtFX0NYWEZMQUdTICs9ICItaW5jbHVkZSAkJFBSRUZJ
WF9IRUFERVIiCisKK2xpbnV4LSogeworICAgICMgRnJvbSBDcmVhdG9yJ3Mgc3JjL3JwYXRoLnBy
aToKKyAgICAjIERvIHRoZSBycGF0aCBieSBoYW5kIHNpbmNlIGl0J3Mgbm90IHBvc3NpYmxlIHRv
IHVzZSBPUklHSU4gaW4gUU1BS0VfUlBBVEhESVIKKyAgICAjIHRoaXMgZXhwYW5kcyB0byAkT1JJ
R0lOIChhZnRlciBxbWFrZSBhbmQgbWFrZSksIGl0IGRvZXMgTk9UIHJlYWQgYSBxbWFrZSB2YXIu
CisgICAgUU1BS0VfUlBBVEhESVIgPSBcJFwkT1JJR0lOLy4uL2xpYiAkJFFNQUtFX1JQQVRIRElS
CisgICAgTVlfUlBBVEggPSAkJGpvaW4oUU1BS0VfUlBBVEhESVIsICI6IikKKworICAgIFFNQUtF
X0xGTEFHUyArPSAtV2wsLXosb3JpZ2luIFwnLVdsLC1ycGF0aCwkJHtNWV9SUEFUSH1cJworICAg
IFFNQUtFX1JQQVRIRElSID0KK30gZWxzZSB7CisgICAgUU1BS0VfUlBBVEhESVIgPSAkJE9VVFBV
VF9ESVIvbGliICQkUU1BS0VfUlBBVEhESVIKK30KKworaW5jbHVkZSguLi8uLi8uLi9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5wcmkpCithZGRKYXZhU2NyaXB0Q29yZUxpYiguLi8uLi8u
Li9KYXZhU2NyaXB0Q29yZSkKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvcXQvbWFpbi5jcHAgYi9XZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL3F0L21haW4uY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjI1MjNmNTFiMmI4ZGI3NGNlZTBlZWMwN2UxMTc5NDhjYjEwZjZmZmYKLS0t
IC9kZXYvbnVsbAorKysgYi9XZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL3F0L21haW4uY3Bw
CkBAIC0wLDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwIFVuaXZlcnNpdHkgb2Yg
U3plZ2VkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiVGVzdENvbnRyb2xsZXIuaCIKKworaW50IG1h
aW4oaW50IGFyZ2MsIGNvbnN0IGNoYXIqIGFyZ3ZbXSkKK3sKKyAgICBXVFI6OlRlc3RDb250cm9s
bGVyIGNvbnRyb2xsZXIoYXJnYywgYXJndik7CisKKyAgICByZXR1cm4gMDsKK30K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69993</attachid>
            <date>2010-10-06 14:52:21 -0700</date>
            <delta_ts>2010-10-06 15:43:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-44155-20101006235220.patch</filename>
            <type>text/plain</type>
            <size>19316</size>
            <attacher name="Balazs Kelemen">kbalazs</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCAyMzExOTc4ZjEyNjg4YjM1
ZDIxNjg4YTVjZjUyODI0ZWQyNTNmODJmLi5kMzI5ODlkZDFhMDZiYTgyN2EzYzc1MWMxZTg4NTJi
MGNmZGE5YWVhIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTQgQEAKKzIwMTAtMTAtMDYgIEJhbGF6cyBLZWxlbWVuICA8a2JhbGF6c0B3ZWJraXQub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF0g
QWRkIFdlYktpdFRlc3RSdW5uZXIncyBidWlsZCBmaWxlcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDQxNTUKKworICAgICAgICBBZGQgdGhlIG5ldyBz
dWJkaXJzLgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLnBybzoKKyAgICAgICAgKiBXZWJLaXQu
cHJvOgorCiAyMDEwLTEwLTA0ICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5j
b20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW50b25pbyBHb21lcy4KZGlmZiAtLWdpdCBhL0Rl
cml2ZWRTb3VyY2VzLnBybyBiL0Rlcml2ZWRTb3VyY2VzLnBybwppbmRleCA4ODBhNzE2YTU2ZTk5
NjYzMjI4MGExZDJiMjczMTA3ZDA3ZWUzMzlmLi4wMDE1YWY2ZWI3OWRkMDE0ZjAxZTJjOTExZDNh
MzFkNTIwNDRmMTUwIDEwMDY0NAotLS0gYS9EZXJpdmVkU291cmNlcy5wcm8KKysrIGIvRGVyaXZl
ZFNvdXJjZXMucHJvCkBAIC04LDYgKzgsNyBAQCBTVUJESVJTICs9IFwKIAogd2Via2l0MiB7CiAg
ICAgU1VCRElSUyArPSBXZWJLaXQyL0Rlcml2ZWRTb3VyY2VzLnBybworICAgIFNVQkRJUlMgKz0g
V2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9xdC9EZXJpdmVkU291cmNlcy5wcm8KIH0KIAog
Zm9yKHN1YnBybywgU1VCRElSUykgewpkaWZmIC0tZ2l0IGEvV2ViS2l0LnBybyBiL1dlYktpdC5w
cm8KaW5kZXggOWZkOWMyZWRkZDA4OTJjZDQ5MDM0NjIxYzYyYzE4Y2NlYjNhMTUzOS4uMDJkMDBj
OWJkYjVlOTYxMWZmOTZlMDU5YmE2N2NiYzRlOWQzMTFhYiAxMDA2NDQKLS0tIGEvV2ViS2l0LnBy
bworKysgYi9XZWJLaXQucHJvCkBAIC0zMyw2ICszMyw5IEBAIGJ1aWxkLXF0c2NyaXB0IHsKIHdl
YmtpdDIgewogICAgIGV4aXN0cygkJFBXRC9XZWJLaXQyL1dlYlByb2Nlc3MucHJvKTogU1VCRElS
UyArPSBXZWJLaXQyL1dlYlByb2Nlc3MucHJvCiAgICAgZXhpc3RzKCQkUFdEL1dlYktpdFRvb2xz
L01pbmlCcm93c2VyL3F0L01pbmlCcm93c2VyLnBybyk6IFNVQkRJUlMgKz0gV2ViS2l0VG9vbHMv
TWluaUJyb3dzZXIvcXQvTWluaUJyb3dzZXIucHJvCisKKyAgICAjIFN3aXRjaCBpdCBvbiB3aGVu
IHRoZSBidWlsZCBoYXMgYmVlbiBzdGFiaWxpemVkLgorICAgICNleGlzdHMoJCRQV0QvV2ViS2l0
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9xdC9XZWJLaXRUZXN0UnVubmVyLnBybyk6IFNVQkRJUlMg
Kz0gV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9xdC9XZWJLaXRUZXN0UnVubmVyLnBybwog
fQogCiBzeW1iaWFuIHsKZGlmZiAtLWdpdCBhL1dlYktpdDIvQ2hhbmdlTG9nIGIvV2ViS2l0Mi9D
aGFuZ2VMb2cKaW5kZXggNDMxYWM3ZTBmNGY1NWE4YjU1OTdmMWZjN2JmYjg3NTA2ZTE4MjAxYy4u
NzA2OTNhOGZhM2ZkMTZmM2JkZGY4YTRmNGU3ZjdiZjFiYWYxMzg0ZSAxMDA2NDQKLS0tIGEvV2Vi
S2l0Mi9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTIsNiArMiwyMyBAQAog
CiAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgogCisgICAgICAgIFtRdF0gQWRk
IFdlYktpdFRlc3RSdW5uZXIncyBidWlsZCBmaWxlcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDQxNTUKKworICAgICAgICAqIERlcml2ZWRTb3VyY2Vz
LnBybzogQ2hhbmdlcyBhY2NvcmRpbmcgdGhlIG5ldyBsb2NhdGlvbgorICAgICAgICBvZiBnZW5l
cmF0ZS1mb3J3YXJkaW5nLWhlYWRlcnMucGwuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dl
YktpdDIuaDogRG8gbm90IGNoZWNrIHRoZSB2YWx1ZSBvZiB0aGUKKyAgICAgICAgX19BUFBMRV9f
IGRlZmluZSBpZiBpdCBpcyBub3QgZGVmaW5lZC4KKyAgICAgICAgKiBXZWJLaXQyLnBybzogQ2hh
bmdlcyBhY2NvcmRpbmcgdGhlIG5ldyBsb2NhdGlvbgorICAgICAgICBvZiBnZW5lcmF0ZS1mb3J3
YXJkaW5nLWhlYWRlcnMucGwuIEFkZGVkIG1pc3NpbmcgZmlsZXMKKyAgICAgICAgdG8gdGhlIGJ1
aWxkIHRoYXQgcHJvdmlkZXMgQVBJIHRoYXQgaXMgdXNlZCBieSBXVFIuCisgICAgICAgICogZ2Vu
ZXJhdGUtZm9yd2FyZGluZy1oZWFkZXJzLnBsOiBNb3ZlZCB0byBXZWJLaXRUb29scy9TY3JpcHRz
CisgICAgICAgIHNpbmNlIGZyb20gbm93IHRoaXMgaXMgbm90IG9ubHkgdXNlZCBieSBXZWJLaXQy
LgorCisyMDEwLTEwLTA2ICBCYWxhenMgS2VsZW1lbiAgPGtiYWxhenNAd2Via2l0Lm9yZz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwogICAgICAgICBXZWJLaXRUZXN0
UnVubmVyIHNob3VsZCBiZSBwb3J0YWJsZQogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NDUzOTMKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9EZXJpdmVkU291
cmNlcy5wcm8gYi9XZWJLaXQyL0Rlcml2ZWRTb3VyY2VzLnBybwppbmRleCBiNzNlOTM1M2I4ZTgz
NmZiY2MzNTJjMmUxOTQxYmUzZjgyODdhN2FjLi5jODAyYWY1NjU5YTM5OTQyYThlZjRkYmFiNTdm
ZGM0ZjI0YzIxYzk5IDEwMDY0NAotLS0gYS9XZWJLaXQyL0Rlcml2ZWRTb3VyY2VzLnBybworKysg
Yi9XZWJLaXQyL0Rlcml2ZWRTb3VyY2VzLnBybwpAQCAtNjQsOCArNjQsOCBAQCBwcm9jZXNzbWVz
c2FnZXJlY2VpdmVyX2dlbmVyYXRvci50YXJnZXQgICA9ICQke09VVFBVVF9ESVJ9L1dlYktpdDIv
Z2VuZXJhdGVkL1dlYgogZ2VuZXJhdGVkX2ZpbGVzLmRlcGVuZHMgICAgICAgICAgICAgICAgICAg
Kz0gcHJvY2Vzc21lc3NhZ2VyZWNlaXZlcl9nZW5lcmF0b3IKIFFNQUtFX0VYVFJBX1RBUkdFVFMg
ICAgICAgICAgICAgICAgICAgICAgICs9IHByb2Nlc3NtZXNzYWdlcmVjZWl2ZXJfZ2VuZXJhdG9y
CiAKLWZ3aGVhZGVyX2dlbmVyYXRvci5jb21tYW5kcyA9IHBlcmwgJCR7U1JDX1JPT1RfRElSfS9X
ZWJLaXQyL2dlbmVyYXRlLWZvcndhcmRpbmctaGVhZGVycy5wbCAkJHtPVVRQVVRfRElSfS9pbmNs
dWRlIHF0Ci1md2hlYWRlcl9nZW5lcmF0b3IuZGVwZW5kcyAgPSAkJHtTUkNfUk9PVF9ESVJ9L1dl
YktpdDIvZ2VuZXJhdGUtZm9yd2FyZGluZy1oZWFkZXJzLnBsCitmd2hlYWRlcl9nZW5lcmF0b3Iu
Y29tbWFuZHMgPSBwZXJsICQke1NSQ19ST09UX0RJUn0vV2ViS2l0VG9vbHMvU2NyaXB0cy9nZW5l
cmF0ZS1mb3J3YXJkaW5nLWhlYWRlcnMucGwgJCR7U1JDX1JPT1RfRElSfS9XZWJLaXQyICQke09V
VFBVVF9ESVJ9L2luY2x1ZGUgcXQKK2Z3aGVhZGVyX2dlbmVyYXRvci5kZXBlbmRzICA9ICQke1NS
Q19ST09UX0RJUn0vV2ViS2l0VG9vbHMvU2NyaXB0cy9nZW5lcmF0ZS1mb3J3YXJkaW5nLWhlYWRl
cnMucGwKIGdlbmVyYXRlZF9maWxlcy5kZXBlbmRzICAgICArPSBmd2hlYWRlcl9nZW5lcmF0b3IK
IFFNQUtFX0VYVFJBX1RBUkdFVFMgICAgICAgICArPSBmd2hlYWRlcl9nZW5lcmF0b3IKIApkaWZm
IC0tZ2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV2ViS2l0Mi5oIGIvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvV2ViS2l0Mi5oCmluZGV4IDc0ZTFmOGNkMjg0ZjU0ZTBhMjUzOWRjYTRjZDhj
NzUzZDU1ZTE1NzYuLjViYjliZDc5NDI5MzRjZGI5ZjM5YWIyYzM2NmU0NGM3NWY2ZTIyMjIgMTAw
NjQ0Ci0tLSBhL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dlYktpdDIuaAorKysgYi9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQy9XZWJLaXQyLmgKQEAgLTUwLDcgKzUwLDcgQEAKICNpbmNsdWRlIDxX
ZWJLaXQyL1dLVVJMUmVxdWVzdC5oPgogI2luY2x1ZGUgPFdlYktpdDIvV0tVUkxSZXNwb25zZS5o
PgogCi0jaWYgIV9fQVBQTEVfXyB8fCBfX09CSkNfXworI2lmICEoZGVmaW5lZChfX0FQUExFX18p
ICYmIF9fQVBQTEVfXykgfHwgKGRlZmluZWQoX19PQkpDX18pICYmIF9fT0JKQ19fKQogI2luY2x1
ZGUgPFdlYktpdDIvV0tWaWV3Lmg+CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJL
aXQyLnBybyBiL1dlYktpdDIvV2ViS2l0Mi5wcm8KaW5kZXggMDY0ZmFlNjdjNTdkZGU0ZjVkNzIw
MGYwYTFlMDczYTM4MGEyNGE1Yi4uYmU0MWQ1ZmUzYWU0OWIzZTIzNmZiMGEyMTFjNjgyMjIwMzM3
NTA4OCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJLaXQyLnBybworKysgYi9XZWJLaXQyL1dlYktp
dDIucHJvCkBAIC0yMTMsNiArMjEzLDcgQEAgSEVBREVSUyArPSBcCiAgICAgVUlQcm9jZXNzL0FQ
SS9DL1dLUGFnZU5hbWVzcGFjZS5oIFwKICAgICBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlUHJpdmF0
ZS5oIFwKICAgICBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5oIFwKKyAgICBVSVByb2Nl
c3MvQVBJL0MvV0tQcmVmZXJlbmNlc1ByaXZhdGUuaCBcCiAgICAgVUlQcm9jZXNzL0FQSS9jcHAv
cXQvV0tTdHJpbmdRdC5oIFwKICAgICBVSVByb2Nlc3MvQVBJL2NwcC9xdC9XS1VSTFF0LmggXAog
ICAgIFVJUHJvY2Vzcy9BUEkvY3BwL1dLUmV0YWluUHRyLmggXApAQCAtMzM4LDYgKzMzOSw3IEBA
IFNPVVJDRVMgKz0gXAogICAgIFVJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwIFwKICAgICBVSVBy
b2Nlc3MvQVBJL0MvV0tQYWdlTmFtZXNwYWNlLmNwcCBcCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dL
UHJlZmVyZW5jZXMuY3BwIFwKKyAgICBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1ByaXZh
dGUuY3BwIFwKICAgICBVSVByb2Nlc3MvQVBJL3F0L0NsaWVudEltcGwuY3BwIFwKICAgICBVSVBy
b2Nlc3MvQVBJL3F0L3FncmFwaGljc3drdmlldy5jcHAgXAogICAgIFVJUHJvY2Vzcy9BUEkvcXQv
cXdrcGFnZS5jcHAgXApkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nIGIvV2ViS2l0
VG9vbHMvQ2hhbmdlTG9nCmluZGV4IDllNjRmNDZlZDYxMmQ0MzhiYjM3NTY4ZjIyMzhiYWIwZDU5
MjNjZjkuLjEwNTkwMGVkMTQ5MTUyNGUyY2FmN2E3NjQ2NjkyNmZhNTk0OWZkN2UgMTAwNjQ0Ci0t
LSBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZworKysgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKQEAg
LTIsNiArMiw0MSBAQAogCiAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgogCisg
ICAgICAgIFtRdF0gQWRkIFdlYktpdFRlc3RSdW5uZXIncyBidWlsZCBmaWxlcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDQxNTUKKworICAgICAgICBQ
YXJ0cyB3YXMgdGFrZW4gYnkgWm9sdGFuIEhvcnZhdGgncyBwYXRjaC4KKworICAgICAgICAqIFNj
cmlwdHMvZ2VuZXJhdGUtZm9yd2FyZGluZy1oZWFkZXJzLnBsOiBNb3ZlZCBmcm9tIFdlYktpdDIu
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRkaXJzLnBtOiBNYWtlIHRoZSBnZW5lcmF0ZWQgZmls
ZXMgbmVlZGVkIGJ5IFdUUi4KKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1BsYXRmb3JtV2Vi
Vmlldy5oOiBBZGRlZWQgdHlwZWRlZnMgZm9yCisgICAgICAgIFBsYXRmb3JtV0tWaWV3IGFuZCBQ
bGF0Zm9ybVdpbmRvdyAodm9pZCogZm9yIG5vdykuCisgICAgICAgIEJ1aWxkZml4IHRoZSBjYXNl
IHdoZW4gX19BUFBMRV9fIGlzIG5vdCBkZWZpbmVkLgorICAgICAgICAqIFdlYktpdFRlc3RSdW5u
ZXIvcXQvRGVyaXZlZFNvdXJjZXMucHJvOiBBZGRlZC4KKyAgICAgICAgKiBXZWJLaXRUZXN0UnVu
bmVyL3F0L1BsYXRmb3JtV2ViVmlld1F0LmNwcDogQWRkZWQuCisgICAgICAgIEVtcHR5IHN0dWIg
aW1wbGVtZW50YXRpb24uCisgICAgICAgIChXVFI6OnJlZ2lzdGVyV2luZG93Q2xhc3MpOgorICAg
ICAgICAoV1RSOjpQbGF0Zm9ybVdlYlZpZXc6OlBsYXRmb3JtV2ViVmlldyk6CisgICAgICAgIChX
VFI6OlBsYXRmb3JtV2ViVmlldzo6flBsYXRmb3JtV2ViVmlldyk6CisgICAgICAgIChXVFI6OlBs
YXRmb3JtV2ViVmlldzo6cmVzaXplVG8pOgorICAgICAgICAoV1RSOjpQbGF0Zm9ybVdlYlZpZXc6
OnBhZ2UpOgorICAgICAgICAoV1RSOjpQbGF0Zm9ybVdlYlZpZXc6OmZvY3VzKToKKyAgICAgICAg
KiBXZWJLaXRUZXN0UnVubmVyL3F0L1Rlc3RDb250cm9sbGVyUXQuY3BwOiBBZGRlZC4KKyAgICAg
ICAgRW1wdHkgc3R1YiBpbXBsZW1lbnRhdGlvbi4KKyAgICAgICAgKFdUUjo6cmVnaXN0ZXJXaW5k
b3dDbGFzcyk6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpydW5VbnRpbCk6CisgICAg
ICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybUluaXRpYWxpemUpOgorICAgICAgICAo
V1RSOjpUZXN0Q29udHJvbGxlcjo6aW5pdGlhbGl6ZUluamVjdGVkQnVuZGxlUGF0aCk6CisgICAg
ICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjppbml0aWFsaXplVGVzdFBsdWdpbkRpcmVjdG9yeSk6
CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybUluaXRpYWxpemVDb250ZXh0
KToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL3F0L1dlYktpdFRlc3RSdW5uZXIucHJvOiBB
ZGRlZC4KKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL3F0L21haW4uY3BwOiBBZGRlZC4KKyAg
ICAgICAgKG1haW4pOgorCisyMDEwLTEwLTA2ICBCYWxhenMgS2VsZW1lbiAgPGtiYWxhenNAd2Vi
a2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwogICAgICAg
ICBXZWJLaXRUZXN0UnVubmVyIHNob3VsZCBiZSBwb3J0YWJsZQogICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDUzOTMKIApkaWZmIC0tZ2l0IGEvV2ViS2l0
Mi9nZW5lcmF0ZS1mb3J3YXJkaW5nLWhlYWRlcnMucGwgYi9XZWJLaXRUb29scy9TY3JpcHRzL2dl
bmVyYXRlLWZvcndhcmRpbmctaGVhZGVycy5wbApzaW1pbGFyaXR5IGluZGV4IDk3JQpyZW5hbWUg
ZnJvbSBXZWJLaXQyL2dlbmVyYXRlLWZvcndhcmRpbmctaGVhZGVycy5wbApyZW5hbWUgdG8gV2Vi
S2l0VG9vbHMvU2NyaXB0cy9nZW5lcmF0ZS1mb3J3YXJkaW5nLWhlYWRlcnMucGwKaW5kZXggZTgz
NmZhNGQ1MGRmZDQyZDEwODljZTI0ODFlNmFmNGNmYTU5OTYwZi4uZWQ1ODcwMjJhYTFjNTJiNzk5
N2E2MDEwZmI5OGNkNmNiNTAyMWY1MCAxMDA3NTUKLS0tIGEvV2ViS2l0Mi9nZW5lcmF0ZS1mb3J3
YXJkaW5nLWhlYWRlcnMucGwKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9nZW5lcmF0ZS1mb3J3
YXJkaW5nLWhlYWRlcnMucGwKQEAgLTMyLDcgKzMyLDggQEAgdXNlIEZpbGU6OkZpbmQ7CiB1c2Ug
RmlsZTo6QmFzZW5hbWU7CiB1c2UgRmlsZTo6U3BlYzo6RnVuY3Rpb25zOwogCi1teSAkc3JjUm9v
dCA9IHJlYWxwYXRoKEZpbGU6OlNwZWMtPmNhdGZpbGUoZGlybmFtZShhYnNfcGF0aCgkMCkpLCAi
Li4iKSk7CitteSAkc3JjUm9vdCA9IHJlYWxwYXRoKEZpbGU6OlNwZWMtPmNhdGZpbGUoZGlybmFt
ZShhYnNfcGF0aCgkMCkpLCAiLi4vLi4iKSk7CitteSAkaW5jRnJvbVJvb3QgPSBhYnNfcGF0aCgk
QVJHVlswXSk7CiBteSBAcGxhdGZvcm1QcmVmaXhlcyA9ICgiYW5kcm9pZCIsICJicmV3IiwgImNm
IiwgImNocm9taXVtIiwgImN1cmwiLCAiZWZsIiwgImd0ayIsICJoYWlrdSIsICJtYWMiLCAicXQi
LCAic291cCIsICJ2OCIsICJ3aW4iLCAid3giKTsKIG15IEBmcmFtZXdvcmtzID0gKCAiSmF2YVNj
cmlwdENvcmUiLCAiV2ViQ29yZSIsICJXZWJLaXQyIik7CiBteSBAc2tpcHBlZFByZWZpeGVzOwpA
QCAtNDAsNiArNDEsNyBAQCBteSBAZnJhbWV3b3JrSGVhZGVyczsKIG15ICRmcmFtZXdvcms7CiBt
eSAlbmVlZGVkSGVhZGVyczsKIAorc2hpZnQ7CiBteSAkb3V0cHV0RGlyZWN0b3J5ID0gJEFSR1Zb
MF07CiBzaGlmdDsKIG15ICRwbGF0Zm9ybSAgPSAkQVJHVlswXTsKQEAgLTUwLDcgKzUyLDcgQEAg
Zm9yZWFjaCBteSAkcHJlZml4IChAcGxhdGZvcm1QcmVmaXhlcykgewogCiBmb3JlYWNoIChAZnJh
bWV3b3JrcykgewogICAgICRmcmFtZXdvcmsgPSAkXzsKLSAgICBmaW5kKFwmY29sbGVjdE5lZWRl
ZEhlYWRlcnMsIEZpbGU6OlNwZWMtPmNhdGZpbGUoJHNyY1Jvb3QsICJXZWJLaXQyIikpOworICAg
IGZpbmQoXCZjb2xsZWN0TmVlZGVkSGVhZGVycywgJGluY0Zyb21Sb290KTsKICAgICBmaW5kKFwm
Y29sbGVjdEZhbWV3b3JrSGVhZGVyUGF0aHMsIEZpbGU6OlNwZWMtPmNhdGZpbGUoJHNyY1Jvb3Qs
ICRmcmFtZXdvcmspKTsKICAgICBjcmVhdGVGb3J3YXJkaW5nSGVhZGVyc0ZvckZyYW1ld29yaygp
OwogfQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtIGIvV2Vi
S2l0VG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtCmluZGV4IDk0YWQ1NTZlN2QxNDdmM2YzNzJl
ODg0MzVlNjA0MDM0NGY3MzExYTIuLjAyMThlMWZiYmM5OTZlOTRhYTdiMWZmNzRmODdkMGRkNWFh
OTRkNmUgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbQorKysg
Yi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0KQEAgLTE1MzAsNiArMTUzMCw3IEBA
IHN1YiBidWlsZFFNYWtlUHJvamVjdCgkQCkKICAgICBteSBAc3ViZGlycyA9ICgiSmF2YVNjcmlw
dENvcmUiLCAiV2ViQ29yZSIsICJXZWJLaXQvcXQvQXBpIik7CiAgICAgaWYgKGdyZXAgeyAkXyBl
cSAiQ09ORklHKz13ZWJraXQyIn0gQGJ1aWxkQXJncykgewogICAgICAgICBwdXNoIEBzdWJkaXJz
LCAiV2ViS2l0MiI7CisgICAgICAgIHB1c2ggQHN1YmRpcnMsICJXZWJLaXRUb29scy9XZWJLaXRU
ZXN0UnVubmVyL3F0IjsKICAgICB9CiAKICAgICBmb3IgbXkgJHN1YmRpciAoQHN1YmRpcnMpIHsK
ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvUGxhdGZvcm1XZWJWaWV3
LmggYi9XZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL1BsYXRmb3JtV2ViVmlldy5oCmluZGV4
IDI5YzYzYWVlYTFmOThhNzZlY2Q3YzZiYTRjODllYjdiOGJmZjU3M2IuLjgzYzM0YjQyMzYyOTY5
MGVhNDg5Y2M5ZGJkMDNlMDFjZGZlMzdlM2MgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1dlYktp
dFRlc3RSdW5uZXIvUGxhdGZvcm1XZWJWaWV3LmgKKysrIGIvV2ViS2l0VG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9QbGF0Zm9ybVdlYlZpZXcuaApAQCAtMjYsNyArMjYsNyBAQAogI2lmbmRlZiBQbGF0
Zm9ybVdlYlZpZXdfaAogI2RlZmluZSBQbGF0Zm9ybVdlYlZpZXdfaAogCi0jaWYgX19BUFBMRV9f
CisjaWYgZGVmaW5lZChfX0FQUExFX18pICYmIF9fQVBQTEVfXwogI2lmIF9fT0JKQ19fCiBAY2xh
c3MgV0tWaWV3OwogQGNsYXNzIE5TV2luZG93OwpAQCAtMzksNiArMzksOSBAQCB0eXBlZGVmIE5T
V2luZG93KiBQbGF0Zm9ybVdpbmRvdzsKICNlbGlmIGRlZmluZWQoV0lOMzIpIHx8IGRlZmluZWQo
X1dJTjMyKQogdHlwZWRlZiBXS1ZpZXdSZWYgUGxhdGZvcm1XS1ZpZXc7CiB0eXBlZGVmIEhXTkQg
UGxhdGZvcm1XaW5kb3c7CisjZWxpZiBkZWZpbmVkKEJVSUxESU5HX1FUX18pCit0eXBlZGVmIHZv
aWQqIFBsYXRmb3JtV0tWaWV3OwordHlwZWRlZiB2b2lkKiBQbGF0Zm9ybVdpbmRvdzsKICNlbmRp
ZgogCiBuYW1lc3BhY2UgV1RSIHsKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1dlYktpdFRlc3RS
dW5uZXIvcXQvRGVyaXZlZFNvdXJjZXMucHJvIGIvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9xdC9EZXJpdmVkU291cmNlcy5wcm8KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmNkNzE2ZTlhMDY1OTM1ZDk5N2Rl
ZTE1N2QwZWNkYjc2ZTVlOTY5MQotLS0gL2Rldi9udWxsCisrKyBiL1dlYktpdFRvb2xzL1dlYktp
dFRlc3RSdW5uZXIvcXQvRGVyaXZlZFNvdXJjZXMucHJvCkBAIC0wLDAgKzEsMTggQEAKK1RFTVBM
QVRFID0gbGliCitUQVJHRVQgPSBkdW1teQorCitDT05GSUcgLT0gZGVidWdfYW5kX3JlbGVhc2UK
KworU1JDX1JPT1RfRElSID0gJCRyZXBsYWNlKFBXRCwgL1dlYktpdFRvb2xzL1dlYktpdFRlc3RS
dW5uZXIvcXQsIC8pCisKK3d0cl9md2hlYWRlcl9nZW5lcmF0b3IuY29tbWFuZHMgPSBwZXJsICQk
e1NSQ19ST09UX0RJUn0vV2ViS2l0VG9vbHMvU2NyaXB0cy9nZW5lcmF0ZS1mb3J3YXJkaW5nLWhl
YWRlcnMucGwgJCR7U1JDX1JPT1RfRElSfS9XZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyICQk
e09VVFBVVF9ESVJ9L2luY2x1ZGUgcXQKK3d0cl9md2hlYWRlcl9nZW5lcmF0b3IuZGVwZW5kcyAg
PSAkJHtTUkNfUk9PVF9ESVJ9L1dlYktpdFRvb2xzL1NjcmlwdHMvZ2VuZXJhdGUtZm9yd2FyZGlu
Zy1oZWFkZXJzLnBsCitnZW5lcmF0ZWRfZmlsZXMuZGVwZW5kcyAgICAgKz0gd3RyX2Z3aGVhZGVy
X2dlbmVyYXRvcgorUU1BS0VfRVhUUkFfVEFSR0VUUyAgICAgICAgICs9IHd0cl9md2hlYWRlcl9n
ZW5lcmF0b3IKKworanNjX2Z3aGVhZGVyX2dlbmVyYXRvci5jb21tYW5kcyA9IHBlcmwgJCR7U1JD
X1JPT1RfRElSfS9XZWJLaXRUb29scy9TY3JpcHRzL2dlbmVyYXRlLWZvcndhcmRpbmctaGVhZGVy
cy5wbCAkJHtTUkNfUk9PVF9ESVJ9L0phdmFTY3JpcHRDb3JlL0FQSSAkJHtPVVRQVVRfRElSfS9p
bmNsdWRlIHF0Citqc2NfZndoZWFkZXJfZ2VuZXJhdG9yLmRlcGVuZHMgID0gJCR7U1JDX1JPT1Rf
RElSfS9XZWJLaXRUb29scy9TY3JpcHRzL2dlbmVyYXRlLWZvcndhcmRpbmctaGVhZGVycy5wbAor
Z2VuZXJhdGVkX2ZpbGVzLmRlcGVuZHMgICAgICs9IGpzY19md2hlYWRlcl9nZW5lcmF0b3IKK1FN
QUtFX0VYVFJBX1RBUkdFVFMgICAgICAgICArPSBqc2NfZndoZWFkZXJfZ2VuZXJhdG9yCisKK1FN
QUtFX0VYVFJBX1RBUkdFVFMgICAgICAgICs9IGdlbmVyYXRlZF9maWxlcwpkaWZmIC0tZ2l0IGEv
V2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9xdC9QbGF0Zm9ybVdlYlZpZXdRdC5jcHAgYi9X
ZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL3F0L1BsYXRmb3JtV2ViVmlld1F0LmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5kZTkzODlhOTJjNjMxMmJjZmZhZmVjMGI4MzZlNjA3ZGEzNmYzZTA3Ci0tLSAvZGV2
L251bGwKKysrIGIvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9xdC9QbGF0Zm9ybVdlYlZp
ZXdRdC5jcHAKQEAgLTAsMCArMSw1NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgVW5pdmVy
c2l0eSBvZiBTemVnZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAq
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW5jbHVkZSAiUGxhdGZvcm1XZWJWaWV3LmgiCisjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQu
aCIKKworbmFtZXNwYWNlIFdUUiB7CisKK1BsYXRmb3JtV2ViVmlldzo6UGxhdGZvcm1XZWJWaWV3
KFdLUGFnZU5hbWVzcGFjZVJlZiBuYW1lc3BhY2VSZWYpCit7CisgICAgbm90SW1wbGVtZW50ZWQo
KTsKK30KKworUGxhdGZvcm1XZWJWaWV3Ojp+UGxhdGZvcm1XZWJWaWV3KCkKK3sKK30KKwordm9p
ZCBQbGF0Zm9ybVdlYlZpZXc6OnJlc2l6ZVRvKHVuc2lnbmVkIHdpZHRoLCB1bnNpZ25lZCBoZWln
aHQpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKworV0tQYWdlUmVmIFBsYXRmb3JtV2Vi
Vmlldzo6cGFnZSgpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gMDsKK30K
Kwordm9pZCBQbGF0Zm9ybVdlYlZpZXc6OmZvY3VzKCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgp
OworfQorCit9IC8vIG5hbWVzcGFjZSBXVFIKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1dlYktp
dFRlc3RSdW5uZXIvcXQvVGVzdENvbnRyb2xsZXJRdC5jcHAgYi9XZWJLaXRUb29scy9XZWJLaXRU
ZXN0UnVubmVyL3F0L1Rlc3RDb250cm9sbGVyUXQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI2OTc0NzEwMWFl
ZGM5N2Y1NGIzY2FhYzIyMjliYTkxYmJlY2JkNzAKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJLaXRU
b29scy9XZWJLaXRUZXN0UnVubmVyL3F0L1Rlc3RDb250cm9sbGVyUXQuY3BwCkBAIC0wLDAgKzEs
NTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwIFVuaXZlcnNpdHkgb2YgU3plZ2VkLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgIlRlc3RDb250
cm9sbGVyLmgiCisjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKKworbmFtZXNwYWNlIFdUUiB7
CisKK3ZvaWQgVGVzdENvbnRyb2xsZXI6OnJ1blVudGlsKGJvb2wmIGRvbmUpCit7CisgICAgbm90
SW1wbGVtZW50ZWQoKTsKK30KKwordm9pZCBUZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1Jbml0aWFs
aXplKCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCit2b2lkIFRlc3RDb250cm9sbGVy
Ojppbml0aWFsaXplSW5qZWN0ZWRCdW5kbGVQYXRoKCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgp
OworfQorCit2b2lkIFRlc3RDb250cm9sbGVyOjppbml0aWFsaXplVGVzdFBsdWdpbkRpcmVjdG9y
eSgpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwordm9pZCBUZXN0Q29udHJvbGxlcjo6
cGxhdGZvcm1Jbml0aWFsaXplQ29udGV4dCgpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30K
KworfSAvLyBuYW1lc3BhY2UgV1RSCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9XZWJLaXRUZXN0
UnVubmVyL3F0L1dlYktpdFRlc3RSdW5uZXIucHJvIGIvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9xdC9XZWJLaXRUZXN0UnVubmVyLnBybwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NDA0Yjg2MmM0NzE1OWEz
NjM1OGE2MTI4NWNjMjU1YTIxZWZkMmUzCi0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0VG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9xdC9XZWJLaXRUZXN0UnVubmVyLnBybwpAQCAtMCwwICsxLDY2IEBA
CitUQVJHRVQgPSBXZWJLaXRUZXN0UnVubmVyCitDT05GSUcgLT0gYXBwX2J1bmRsZQorCitCQVNF
RElSID0gJCRQV0QvLi4vCitpc0VtcHR5KE9VVFBVVF9ESVIpOiBPVVRQVVRfRElSID0gLi4vLi4v
Li4KKworaW5jbHVkZSguLi8uLi8uLi9XZWJLaXQucHJpKQorCishQ09ORklHKHJlbGVhc2UsIGRl
YnVnfHJlbGVhc2UpIHsKKyAgICBPQkpFQ1RTX0RJUiA9IG9iai9kZWJ1ZworfSBlbHNlIHsgIyBS
ZWxlYXNlCisgICAgT0JKRUNUU19ESVIgPSBvYmovcmVsZWFzZQorfQorCitERUZJTkVTICs9IFVT
RV9TWVNURU1fTUFMTE9DCisKK0lOQ0xVREVQQVRIICs9IFwKKyAgICAkJEJBU0VESVIgXAorICAg
ICQkQkFTRURJUi8uLi8uLi9KYXZhU2NyaXB0Q29yZSBcCisgICAgJCRCQVNFRElSLy4uLy4uL1dl
YktpdDIgXAorICAgICQkQkFTRURJUi8uLi8uLi9XZWJLaXQyL1NoYXJlZCBcCisKK0lOQ0xVREVQ
QVRIICs9IFwKKyAgICAkJE9VVFBVVF9ESVIvaW5jbHVkZSBcCisKKworREVTVERJUiA9ICQkT1VU
UFVUX0RJUi9iaW4KKwordW5peDohbWFjIHsKKyAgICBDT05GSUcgKz0gbGlua19wa2djb25maWcK
KyAgICBQS0dDT05GSUcgKz0gZm9udGNvbmZpZworfQorCitRVCA9IGNvcmUgZ3VpIG5ldHdvcmsK
KworSEVBREVSUyA9IFwKKyAgICAkJEJBU0VESVIvUGxhdGZvcm1XZWJWaWV3LmggXAorICAgICQk
QkFTRURJUi9TdHJpbmdGdW5jdGlvbnMuaCBcCisgICAgJCRCQVNFRElSL1Rlc3RDb250cm9sbGVy
LmggXAorICAgICQkQkFTRURJUi9UZXN0SW52b2NhdGlvbi5oCisKK1NPVVJDRVMgPSBcCisgICAg
bWFpbi5jcHAgXAorICAgIFBsYXRmb3JtV2ViVmlld1F0LmNwcCBcCisgICAgVGVzdENvbnRyb2xs
ZXJRdC5jcHAgXAorICAgICQkQkFTRURJUi9UZXN0Q29udHJvbGxlci5jcHAgXAorICAgICQkQkFT
RURJUi9UZXN0SW52b2NhdGlvbi5jcHAgXAorCitQUkVGSVhfSEVBREVSID0gJCRCQVNFRElSL1dl
YktpdFRlc3RSdW5uZXJQcmVmaXguaAorUU1BS0VfQ1hYRkxBR1MgKz0gIi1pbmNsdWRlICQkUFJF
RklYX0hFQURFUiIKKworbGludXgtKiB7CisgICAgIyBGcm9tIENyZWF0b3IncyBzcmMvcnBhdGgu
cHJpOgorICAgICMgRG8gdGhlIHJwYXRoIGJ5IGhhbmQgc2luY2UgaXQncyBub3QgcG9zc2libGUg
dG8gdXNlIE9SSUdJTiBpbiBRTUFLRV9SUEFUSERJUgorICAgICMgdGhpcyBleHBhbmRzIHRvICRP
UklHSU4gKGFmdGVyIHFtYWtlIGFuZCBtYWtlKSwgaXQgZG9lcyBOT1QgcmVhZCBhIHFtYWtlIHZh
ci4KKyAgICBRTUFLRV9SUEFUSERJUiA9IFwkXCRPUklHSU4vLi4vbGliICQkUU1BS0VfUlBBVEhE
SVIKKyAgICBNWV9SUEFUSCA9ICQkam9pbihRTUFLRV9SUEFUSERJUiwgIjoiKQorCisgICAgUU1B
S0VfTEZMQUdTICs9IC1XbCwteixvcmlnaW4gXCctV2wsLXJwYXRoLCQke01ZX1JQQVRIfVwnCisg
ICAgUU1BS0VfUlBBVEhESVIgPQorfSBlbHNlIHsKKyAgICBRTUFLRV9SUEFUSERJUiA9ICQkT1VU
UFVUX0RJUi9saWIgJCRRTUFLRV9SUEFUSERJUgorfQorCitpbmNsdWRlKC4uLy4uLy4uL0phdmFT
Y3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnByaSkKK2FkZEphdmFTY3JpcHRDb3JlTGliKC4uLy4u
Ly4uL0phdmFTY3JpcHRDb3JlKQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9xdC9tYWluLmNwcCBiL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvcXQvbWFpbi5j
cHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjUyM2Y1MWIyYjhkYjc0Y2VlMGVlYzA3ZTExNzk0OGNiMTBmNmZmZgot
LS0gL2Rldi9udWxsCisrKyBiL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvcXQvbWFpbi5j
cHAKQEAgLTAsMCArMSwzNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgVW5pdmVyc2l0eSBv
ZiBTemVnZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJUZXN0Q29udHJvbGxlci5oIgorCitpbnQg
bWFpbihpbnQgYXJnYywgY29uc3QgY2hhciogYXJndltdKQoreworICAgIFdUUjo6VGVzdENvbnRy
b2xsZXIgY29udHJvbGxlcihhcmdjLCBhcmd2KTsKKworICAgIHJldHVybiAwOworfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>