<?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>77033</bug_id>
          
          <creation_ts>2012-01-25 11:45:06 -0800</creation_ts>
          <short_desc>Implement overridePreference for boolean preferences in WebKitTestRunner</short_desc>
          <delta_ts>2012-01-26 09:29:10 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>42197</blocked>
    
    <blocked>73999</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Caio Marcelo de Oliveira Filho">cmarcelo</reporter>
          <assigned_to name="Caio Marcelo de Oliveira Filho">cmarcelo</assigned_to>
          <cc>ap</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>542497</commentid>
    <comment_count>0</comment_count>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2012-01-25 11:45:06 -0800</bug_when>
    <thetext>Implement overridePreference for boolean preferences in WebKitTestRunner</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>542504</commentid>
    <comment_count>1</comment_count>
      <attachid>123982</attachid>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2012-01-25 11:52:18 -0800</bug_when>
    <thetext>Created attachment 123982
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>542520</commentid>
    <comment_count>2</comment_count>
      <attachid>123982</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-01-25 12:09:58 -0800</bug_when>
    <thetext>Comment on attachment 123982
Patch

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

What resets the preferences back for the next test? Please make sure that this is well understood before landing.

&gt; Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:67
&gt;  WK_EXPORT void WKBundleOverrideXSSAuditorEnabledForTestRunner(WKBundleRef bundle, WKBundlePageGroupRef pageGroup, bool enabled);

Can this be removed now?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>542671</commentid>
    <comment_count>3</comment_count>
      <attachid>124020</attachid>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2012-01-25 15:03:50 -0800</bug_when>
    <thetext>Created attachment 124020
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>542681</commentid>
    <comment_count>4</comment_count>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2012-01-25 15:10:12 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 123982 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=123982&amp;action=review
&gt; 
&gt; What resets the preferences back for the next test? Please make sure that this is well understood before landing.

Thanks for this question! I was overlooking the fact that: since properties were not changing, we were not updating the WebPreferencesStore. And worst, even if I forced an update, it would decode() before the the remove function was called.

I made a small change to the initial patch: instead of overwriting the preferences, the getter now asks the override first. Also made an explicit function that WTR should call to force the update.

&gt; &gt; Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:67
&gt; &gt;  WK_EXPORT void WKBundleOverrideXSSAuditorEnabledForTestRunner(WKBundleRef bundle, WKBundlePageGroupRef pageGroup, bool enabled);
&gt; 
&gt; Can this be removed now?

Removed, using WKBundleOverrideBoolPreferenceForTestRunner() instead.

Could you take another look at it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>542689</commentid>
    <comment_count>5</comment_count>
      <attachid>124020</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-01-25 15:18:55 -0800</bug_when>
    <thetext>Comment on attachment 124020
Patch

&gt; I made a small change to the initial patch: instead of overwriting the preferences, the getter now asks the override first.

Thanks! I&apos;d appreciate a detailed explanation for posterity - I think that I understand what you&apos;re saying, but only barely, and it will be more difficult in a few months. I.e., what function gets called between tests, what preferences it resets, and how that filters down to each page.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>543155</commentid>
    <comment_count>6</comment_count>
      <attachid>124118</attachid>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2012-01-26 08:09:27 -0800</bug_when>
    <thetext>Created attachment 124118
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>543159</commentid>
    <comment_count>7</comment_count>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2012-01-26 08:14:02 -0800</bug_when>
    <thetext>In the patch for landing I&apos;ve improved the ChangeLog to explain in more detail how the preference override work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>543189</commentid>
    <comment_count>8</comment_count>
      <attachid>124118</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-26 09:10:45 -0800</bug_when>
    <thetext>Comment on attachment 124118
Patch for landing

Clearing flags on attachment: 124118

Committed r106005: &lt;http://trac.webkit.org/changeset/106005&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>543190</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-26 09:10:51 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>543202</commentid>
    <comment_count>10</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-01-26 09:29:10 -0800</bug_when>
    <thetext>&gt; This clearing could be improved by creating a proper message instead of hooking
&gt; at WebPage::preferencesDidChange().

Sounds like a good idea.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>123982</attachid>
            <date>2012-01-25 11:52:18 -0800</date>
            <delta_ts>2012-01-25 15:03:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77033-20120125165218.patch</filename>
            <type>text/plain</type>
            <size>18075</size>
            <attacher name="Caio Marcelo de Oliveira Filho">cmarcelo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1NzcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNzc3OWIzOWJhMDE4M2Vm
NDQyNmYwOGQ3MWU5MTdmZDE5N2Y0NjdjYS4uNTYzZDg1Y2Y0ODE0MTJhOGI2ZTg1ZDliNmM2YjJi
NjJmMjkwYjJhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTAxLTI1ICBDYWlv
IE1hcmNlbG8gZGUgT2xpdmVpcmEgRmlsaG8gIDxjYWlvLm9saXZlaXJhQG9wZW5ib3NzYS5vcmc+
CisKKyAgICAgICAgSW1wbGVtZW50IG92ZXJyaWRlUHJlZmVyZW5jZSBmb3IgYm9vbGVhbiBwcmVm
ZXJlbmNlcyBpbiBXZWJLaXRUZXN0UnVubmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03NzAzMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBhIHdheSB0byBXZWJLaXRUZXN0UnVubmVyIG92
ZXJyaWRlIHByZWZlcmVuY2VzIGZvciB0aGUgcGFnZXMKKyAgICAgICAgbG9hZGVkLiBGb2xsb3dz
IHRoZSBzYW1lIGFwcHJvYWNoIHRha2VuIGJ5CisgICAgICAgIG92ZXJyaWRlWFNTQXVkaXRvckVu
YWJsZWRGb3JUZXN0UnVubmVyKCksIGZyb20gcjY2NTUxLiBUaGUgbmV3IEhhc2hNYXAgaXMgdXNl
ZAorICAgICAgICBmb3IgeHNzQXVkaXRvckVuYWJsZWQgcHJlZmVyZW5jZSBhcyB3ZWxsLgorCisg
ICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpkZWNvZGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcmVm
ZXJlbmNlc1N0b3JlOjpvdmVycmlkZUJvb2xWYWx1ZUZvcktleSk6CisgICAgICAgIChXZWJLaXQ6
OldlYlByZWZlcmVuY2VzU3RvcmU6OnJlbW92ZVRlc3RSdW5uZXJPdmVycmlkZXMpOgorICAgICAg
ICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZS5jcHA6CisgICAgICAgIChXS0J1bmRsZU92ZXJy
aWRlQm9vbFByZWZlcmVuY2VGb3JUZXN0UnVubmVyKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpJ
bmplY3RlZEJ1bmRsZTo6b3ZlcnJpZGVCb29sUHJlZmVyZW5jZUZvclRlc3RSdW5uZXIpOgorICAg
ICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZTo6b3ZlcnJpZGVYU1NBdWRpdG9yRW5hYmxlZEZv
clRlc3RSdW5uZXIpOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0
ZWRCdW5kbGUuaDoKKwogMjAxMi0wMS0yNCAgQWxleGlzIE1lbmFyZCAgPGFsZXhpcy5tZW5hcmRA
b3BlbmJvc3NhLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIGJ1aWxkIGZpeCBmb3IgUXQuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5jcHAKaW5kZXggMTM4
ZjY5MTA1NTA3OTUwZDZmNDg4YzIxZTY2Mjg0ZWExNDYxOTA4YS4uMmMyYTY1YTcxZjY0YjJjYTU5
MTVjZWE2MDNiZTgxMGUwMGU0YjhiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L1dlYlByZWZlcmVuY2VzU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQ
cmVmZXJlbmNlc1N0b3JlLmNwcApAQCAtNDgsOCArNDgsNyBAQCBuYW1lc3BhY2UgV2ViUHJlZmVy
ZW5jZXNLZXkgewogfSAvLyBuYW1lc3BhY2UgV2ViUHJlZmVyZW5jZXNLZXkKIAogCi1zdGF0aWMg
Ym9vbCBoYXNYU1NBdWRpdG9yRW5hYmxlZFRlc3RSdW5uZXJPdmVycmlkZTsKLXN0YXRpYyBib29s
IHhzc0F1ZGl0b3JFbmFibGVkVGVzdFJ1bm5lck92ZXJyaWRlOworc3RhdGljIEhhc2hNYXA8U3Ry
aW5nLCBib29sPiBib29sVGVzdFJ1bm5lck92ZXJyaWRlc01hcDsKIAogV2ViUHJlZmVyZW5jZXNT
dG9yZTo6V2ViUHJlZmVyZW5jZXNTdG9yZSgpCiB7CkBAIC03NCwyMSArNzMsMjEgQEAgYm9vbCBX
ZWJQcmVmZXJlbmNlc1N0b3JlOjpkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKiBkZWNv
ZGVyLCBXZWJQcmVmZXJlbmMKICAgICBpZiAoIWRlY29kZXItPmRlY29kZShyZXN1bHQubV9kb3Vi
bGVWYWx1ZXMpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBpZiAoaGFzWFNTQXVkaXRv
ckVuYWJsZWRUZXN0UnVubmVyT3ZlcnJpZGUpCi0gICAgICAgIHJlc3VsdC5tX2Jvb2xWYWx1ZXMu
c2V0KFdlYlByZWZlcmVuY2VzS2V5Ojp4c3NBdWRpdG9yRW5hYmxlZEtleSgpLCB4c3NBdWRpdG9y
RW5hYmxlZFRlc3RSdW5uZXJPdmVycmlkZSk7CisgICAgSGFzaE1hcDxTdHJpbmcsIGJvb2w+Ojpj
b25zdF9pdGVyYXRvciBpdCA9IGJvb2xUZXN0UnVubmVyT3ZlcnJpZGVzTWFwLmJlZ2luKCk7Cisg
ICAgZm9yICg7IGl0ICE9IGJvb2xUZXN0UnVubmVyT3ZlcnJpZGVzTWFwLmVuZCgpOyArK2l0KQor
ICAgICAgICByZXN1bHQubV9ib29sVmFsdWVzLnNldChpdC0+Zmlyc3QsIGl0LT5zZWNvbmQpOwog
CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXZvaWQgV2ViUHJlZmVyZW5jZXNTdG9yZTo6b3ZlcnJp
ZGVYU1NBdWRpdG9yRW5hYmxlZEZvclRlc3RSdW5uZXIoYm9vbCBlbmFibGVkKQordm9pZCBXZWJQ
cmVmZXJlbmNlc1N0b3JlOjpvdmVycmlkZUJvb2xWYWx1ZUZvcktleShjb25zdCBTdHJpbmcmIGtl
eSwgYm9vbCB2YWx1ZSkKIHsKLSAgICBoYXNYU1NBdWRpdG9yRW5hYmxlZFRlc3RSdW5uZXJPdmVy
cmlkZSA9IHRydWU7Ci0gICAgeHNzQXVkaXRvckVuYWJsZWRUZXN0UnVubmVyT3ZlcnJpZGUgPSBl
bmFibGVkOworICAgIGJvb2xUZXN0UnVubmVyT3ZlcnJpZGVzTWFwLnNldChrZXksIHZhbHVlKTsK
IH0KIAogdm9pZCBXZWJQcmVmZXJlbmNlc1N0b3JlOjpyZW1vdmVUZXN0UnVubmVyT3ZlcnJpZGVz
KCkKIHsKLSAgICBoYXNYU1NBdWRpdG9yRW5hYmxlZFRlc3RSdW5uZXJPdmVycmlkZSA9IGZhbHNl
OworICAgIGJvb2xUZXN0UnVubmVyT3ZlcnJpZGVzTWFwLmNsZWFyKCk7CiB9CiAKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuaCBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmgKaW5kZXggNTMxZTE4MTljNWIz
MmY5NjE1Yjc4YjYzZjI1ZjNiYzJiYzk3Y2QzOS4uMGNkYzk3NTk0ZTI3NDhkYjA5NGE0NDNlNDFi
YTg1NjYxOWM5NGJlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZl
cmVuY2VzU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNT
dG9yZS5oCkBAIC0yMTQsNyArMjE0LDggQEAgc3RydWN0IFdlYlByZWZlcmVuY2VzU3RvcmUgewog
ICAgIGJvb2wgc2V0RG91YmxlVmFsdWVGb3JLZXkoY29uc3QgU3RyaW5nJiBrZXksIGRvdWJsZSB2
YWx1ZSk7CiAgICAgZG91YmxlIGdldERvdWJsZVZhbHVlRm9yS2V5KGNvbnN0IFN0cmluZyYga2V5
KSBjb25zdDsKIAotICAgIHN0YXRpYyB2b2lkIG92ZXJyaWRlWFNTQXVkaXRvckVuYWJsZWRGb3JU
ZXN0UnVubmVyKGJvb2wpOworICAgIC8vIEZvciBXZWJLaXRUZXN0UnVubmVyIHVzYWdlLgorICAg
IHN0YXRpYyB2b2lkIG92ZXJyaWRlQm9vbFZhbHVlRm9yS2V5KGNvbnN0IFN0cmluZyYga2V5LCBi
b29sIHZhbHVlKTsKICAgICBzdGF0aWMgdm9pZCByZW1vdmVUZXN0UnVubmVyT3ZlcnJpZGVzKCk7
CiAKICAgICBIYXNoTWFwPFN0cmluZywgU3RyaW5nPiBtX3N0cmluZ1ZhbHVlczsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5k
bGUuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9X
S0J1bmRsZS5jcHAKaW5kZXggZDg4MjgxZTFiYTIzZDkzMGMzNDcxODc0YjYyNGUyNGM2MGE5ZDY2
Mi4uNGYwMjJmZTgyYTRiNDZhZmE5YzI3MTgzYjExZTlmY2U0MjY1OGNhZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZS5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9X
S0J1bmRsZS5jcHAKQEAgLTEzMSw2ICsxMzEsMTEgQEAgdm9pZCBXS0J1bmRsZU92ZXJyaWRlWFNT
QXVkaXRvckVuYWJsZWRGb3JUZXN0UnVubmVyKFdLQnVuZGxlUmVmIGJ1bmRsZVJlZiwgV0tCdW4K
ICAgICB0b0ltcGwoYnVuZGxlUmVmKS0+b3ZlcnJpZGVYU1NBdWRpdG9yRW5hYmxlZEZvclRlc3RS
dW5uZXIodG9JbXBsKHBhZ2VHcm91cFJlZiksIGVuYWJsZWQpOwogfQogCit2b2lkIFdLQnVuZGxl
T3ZlcnJpZGVCb29sUHJlZmVyZW5jZUZvclRlc3RSdW5uZXIoV0tCdW5kbGVSZWYgYnVuZGxlUmVm
LCBXS0J1bmRsZVBhZ2VHcm91cFJlZiBwYWdlR3JvdXBSZWYsIFdLU3RyaW5nUmVmIHByZWZlcmVu
Y2UsIGJvb2wgZW5hYmxlZCkKK3sKKyAgICB0b0ltcGwoYnVuZGxlUmVmKS0+b3ZlcnJpZGVCb29s
UHJlZmVyZW5jZUZvclRlc3RSdW5uZXIodG9JbXBsKHBhZ2VHcm91cFJlZiksIHRvSW1wbChwcmVm
ZXJlbmNlKS0+c3RyaW5nKCksIGVuYWJsZWQpOworfQorCiB2b2lkIFdLQnVuZGxlU2V0QWxsb3dV
bml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSTHMoV0tCdW5kbGVSZWYgYnVuZGxlUmVmLCBXS0J1bmRs
ZVBhZ2VHcm91cFJlZiBwYWdlR3JvdXBSZWYsIGJvb2wgZW5hYmxlZCkKIHsKICAgICB0b0ltcGwo
YnVuZGxlUmVmKS0+c2V0QWxsb3dVbml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSTHModG9JbXBsKHBh
Z2VHcm91cFJlZiksIGVuYWJsZWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVByaXZhdGUuaCBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQcml2YXRlLmgKaW5k
ZXggOTVjYTdjZTdlNzZkMzVkNDk5M2VhOWMwY2M0OWQxNTI5MmMxMjQ3MC4uNTQwNTMxZDFmZGI4
N2I5MDFiYThkMjQ2ZTVhZDNlMTM2MTc2Y2RhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVByaXZhdGUuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUHJp
dmF0ZS5oCkBAIC02NSw2ICs2NSw4IEBAIFdLX0VYUE9SVCB2b2lkIFdLQnVuZGxlUmVtb3ZlQWxs
VXNlckNvbnRlbnQoV0tCdW5kbGVSZWYgYnVuZGxlLCBXS0J1bmRsZVBhZ2VHcm91CiAKIC8vIFdp
bGwgbWFrZSBXZWJQcm9jZXNzIGlnbm9yZSB0aGlzIHByZWZlcmVuY2UgdW50aWwgYSBwcmVmZXJl
bmNlcyBjaGFuZ2Ugbm90aWZpY2F0aW9uLCBvbmx5IGZvciBXZWJLaXRUZXN0UnVubmVyIHVzZS4K
IFdLX0VYUE9SVCB2b2lkIFdLQnVuZGxlT3ZlcnJpZGVYU1NBdWRpdG9yRW5hYmxlZEZvclRlc3RS
dW5uZXIoV0tCdW5kbGVSZWYgYnVuZGxlLCBXS0J1bmRsZVBhZ2VHcm91cFJlZiBwYWdlR3JvdXAs
IGJvb2wgZW5hYmxlZCk7CitXS19FWFBPUlQgdm9pZCBXS0J1bmRsZU92ZXJyaWRlQm9vbFByZWZl
cmVuY2VGb3JUZXN0UnVubmVyKFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tCdW5kbGVQYWdlR3JvdXBS
ZWYgcGFnZUdyb3VwLCBXS1N0cmluZ1JlZiBwcmVmZXJlbmNlLCBib29sIGVuYWJsZWQpOworCiBX
S19FWFBPUlQgdm9pZCBXS0J1bmRsZVNldEFsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxz
KFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tCdW5kbGVQYWdlR3JvdXBSZWYgcGFnZUdyb3VwLCBib29s
IGVuYWJsZWQpOwogV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVTZXRBbGxvd0ZpbGVBY2Nlc3NGcm9t
RmlsZVVSTHMoV0tCdW5kbGVSZWYgYnVuZGxlLCBXS0J1bmRsZVBhZ2VHcm91cFJlZiBwYWdlR3Jv
dXAsIGJvb2wgZW5hYmxlZCk7CiBXS19FWFBPUlQgdm9pZCBXS0J1bmRsZVNldEZyYW1lRmxhdHRl
bmluZ0VuYWJsZWQoV0tCdW5kbGVSZWYgYnVuZGxlLCBXS0J1bmRsZVBhZ2VHcm91cFJlZiBwYWdl
R3JvdXAsIGJvb2wgZW5hYmxlZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCmluZGV4IGI4NzE1MWU0
MjRjMDkyMGVmYzE4MjhhNzRhYWUxYjJiM2Y0ZjRkNzkuLjQ1Yjk0N2IyMzkzY2IxYTQyMGE1ZWQ0
ZDM3MjY5YTlkYjExMGFjYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCkBAIC0zMSw2ICszMSw3
IEBACiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVNZXNzYWdlS2luZHMuaCIKICNpbmNsdWRlICJJ
bmplY3RlZEJ1bmRsZVNjcmlwdFdvcmxkLmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVVc2Vy
TWVzc2FnZUNvZGVycy5oIgorI2luY2x1ZGUgIkxheWVyVHJlZUhvc3QuaCIKICNpbmNsdWRlICJX
S0FQSUNhc3QuaCIKICNpbmNsdWRlICJXS0J1bmRsZUFQSUNhc3QuaCIKICNpbmNsdWRlICJXZWJB
cHBsaWNhdGlvbkNhY2hlTWFuYWdlci5oIgpAQCAtMTEzLDEwICsxMTQsNTEgQEAgdm9pZCBJbmpl
Y3RlZEJ1bmRsZTo6cmVtb3ZlQWxsVmlzaXRlZExpbmtzKCkKICAgICBQYWdlR3JvdXA6OnJlbW92
ZUFsbFZpc2l0ZWRMaW5rcygpOwogfQogCit2b2lkIEluamVjdGVkQnVuZGxlOjpvdmVycmlkZUJv
b2xQcmVmZXJlbmNlRm9yVGVzdFJ1bm5lcihXZWJQYWdlR3JvdXBQcm94eSogcGFnZUdyb3VwLCBj
b25zdCBTdHJpbmcmIHByZWZlcmVuY2UsIGJvb2wgZW5hYmxlZCkKK3sKKyAgICBjb25zdCBIYXNo
U2V0PFBhZ2UqPiYgcGFnZXMgPSBQYWdlR3JvdXA6OnBhZ2VHcm91cChwYWdlR3JvdXAtPmlkZW50
aWZpZXIoKSktPnBhZ2VzKCk7CisKKyAgICAvLyBGSVhNRTogTmVlZCBhbiBleHBsaWNpdCB3YXkg
dG8gc2V0ICJXZWJLaXRUYWJUb0xpbmtzUHJlZmVyZW5jZUtleSIgZGlyZWN0bHkgaW4gV2ViUGFn
ZS4KKworICAgIC8vIE1hcCB0aGUgbmFtZXMgdXNlZCBpbiBMYXlvdXRUZXN0cyB3aXRoIHRoZSBu
YW1lcyB1c2VkIGluIFdlYkNvcmU6OlNldHRpbmdzIGFuZCBXZWJQcmVmZXJlbmNlc1N0b3JlLgor
I2RlZmluZSBGT1JfRUFDSF9PVkVSUklERV9CT09MX1BSRUZFUkVOQ0UobWFjcm8pIFwKKyAgICBt
YWNybyhXZWJLaXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCwgQWNjZWxlcmF0ZWRDb21w
b3NpdGluZ0VuYWJsZWQsIGFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKSBcCisgICAgbWFj
cm8oV2ViS2l0Q1NTQ3VzdG9tRmlsdGVyRW5hYmxlZCwgQ1NTQ3VzdG9tRmlsdGVyRW5hYmxlZCwg
Y3NzQ3VzdG9tRmlsdGVyRW5hYmxlZCkgXAorICAgIG1hY3JvKFdlYktpdEphdmFFbmFibGVkLCBK
YXZhRW5hYmxlZCwgamF2YUVuYWJsZWQpIFwKKyAgICBtYWNybyhXZWJLaXRKYXZhU2NyaXB0RW5h
YmxlZCwgU2NyaXB0RW5hYmxlZCwgamF2YVNjcmlwdEVuYWJsZWQpIFwKKyAgICBtYWNybyhXZWJL
aXRMb2FkU2l0ZUljb25zS2V5LCBMb2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VMb2FkaW5nU2V0
dGluZywgbG9hZHNTaXRlSWNvbnNJZ25vcmluZ0ltYWdlTG9hZGluZ1ByZWZlcmVuY2UpIFwKKyAg
ICBtYWNybyhXZWJLaXRPZmZsaW5lV2ViQXBwbGljYXRpb25DYWNoZUVuYWJsZWQsIE9mZmxpbmVX
ZWJBcHBsaWNhdGlvbkNhY2hlRW5hYmxlZCwgb2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFi
bGVkKSBcCisgICAgbWFjcm8oV2ViS2l0UGFnZUNhY2hlU3VwcG9ydHNQbHVnaW5zUHJlZmVyZW5j
ZUtleSwgUGFnZUNhY2hlU3VwcG9ydHNQbHVnaW5zLCBwYWdlQ2FjaGVTdXBwb3J0c1BsdWdpbnMp
IFwKKyAgICBtYWNybyhXZWJLaXRQbHVnaW5zRW5hYmxlZCwgUGx1Z2luc0VuYWJsZWQsIHBsdWdp
bnNFbmFibGVkKSBcCisgICAgbWFjcm8oV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXks
IFVzZXNQYWdlQ2FjaGUsIHVzZXNQYWdlQ2FjaGUpIFwKKyAgICBtYWNybyhXZWJLaXRXZWJBdWRp
b0VuYWJsZWQsIFdlYkF1ZGlvRW5hYmxlZCwgd2ViQXVkaW9FbmFibGVkKSBcCisgICAgbWFjcm8o
V2ViS2l0V2ViR0xFbmFibGVkLCBXZWJHTEVuYWJsZWQsIHdlYkdMRW5hYmxlZCkKKworICAgIGlm
IChwcmVmZXJlbmNlID09ICJXZWJLaXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCIpCisg
ICAgICAgIGVuYWJsZWQgPSBlbmFibGVkICYmIExheWVyVHJlZUhvc3Q6OnN1cHBvcnRzQWNjZWxl
cmF0ZWRDb21wb3NpdGluZygpOworCisjZGVmaW5lIE9WRVJSSURFX1BSRUZFUkVOQ0VfQU5EX1NF
VF9JTl9FWElTVElOR19QQUdFUyhUZXN0UnVubmVyTmFtZSwgU2V0dGluZ3NOYW1lLCBXZWJQcmVm
ZXJlbmNlc05hbWUpIFwKKyAgICBpZiAocHJlZmVyZW5jZSA9PSAjVGVzdFJ1bm5lck5hbWUpIHsg
XAorICAgICAgICBXZWJQcmVmZXJlbmNlc1N0b3JlOjpvdmVycmlkZUJvb2xWYWx1ZUZvcktleShX
ZWJQcmVmZXJlbmNlc0tleTo6V2ViUHJlZmVyZW5jZXNOYW1lIyNLZXkoKSwgZW5hYmxlZCk7IFwK
KyAgICAgICAgZm9yIChIYXNoU2V0PFBhZ2UqPjo6aXRlcmF0b3IgaXRlciA9IHBhZ2VzLmJlZ2lu
KCk7IGl0ZXIgIT0gcGFnZXMuZW5kKCk7ICsraXRlcikgXAorICAgICAgICAgICAgKCppdGVyKS0+
c2V0dGluZ3MoKS0+c2V0IyNTZXR0aW5nc05hbWUoZW5hYmxlZCk7IFwKKyAgICAgICAgcmV0dXJu
OyBcCisgICAgfQorCisgICAgRk9SX0VBQ0hfT1ZFUlJJREVfQk9PTF9QUkVGRVJFTkNFKE9WRVJS
SURFX1BSRUZFUkVOQ0VfQU5EX1NFVF9JTl9FWElTVElOR19QQUdFUykKKworI2lmIEVOQUJMRShX
RUJfU09DS0VUUykKKyAgICBPVkVSUklERV9QUkVGRVJFTkNFX0FORF9TRVRfSU5fRVhJU1RJTkdf
UEFHRVMoIldlYktpdEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQiLCBVc2VIaXhpZTc2
V2ViU29ja2V0UHJvdG9jb2wsIGhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQpCisjZW5k
aWYKKworI3VuZGVmIE9WRVJSSURFX1BSRUZFUkVOQ0VfQU5EX1NFVF9JTl9FWElTVElOR19QQUdF
UworI3VuZGVmIEZPUl9FQUNIX09WRVJSSURFX0JPT0xfUFJFRkVSRU5DRQorfQorCiB2b2lkIElu
amVjdGVkQnVuZGxlOjpvdmVycmlkZVhTU0F1ZGl0b3JFbmFibGVkRm9yVGVzdFJ1bm5lcihXZWJQ
YWdlR3JvdXBQcm94eSogcGFnZUdyb3VwLCBib29sIGVuYWJsZWQpCiB7CiAgICAgLy8gT3ZlcnJp
ZGUgdGhlIHByZWZlcmVuY2UgZm9yIGFsbCBmdXR1cmUgcGFnZXMuCi0gICAgV2ViUHJlZmVyZW5j
ZXNTdG9yZTo6b3ZlcnJpZGVYU1NBdWRpdG9yRW5hYmxlZEZvclRlc3RSdW5uZXIoZW5hYmxlZCk7
CisgICAgV2ViUHJlZmVyZW5jZXNTdG9yZTo6b3ZlcnJpZGVCb29sVmFsdWVGb3JLZXkoV2ViUHJl
ZmVyZW5jZXNLZXk6Onhzc0F1ZGl0b3JFbmFibGVkS2V5KCksIGVuYWJsZWQpOwogCiAgICAgLy8g
Q2hhbmdlIHRoZSBzZXR0aW5nIGZvciBleGlzdGluZyBvbmVzLgogICAgIGNvbnN0IEhhc2hTZXQ8
UGFnZSo+JiBwYWdlcyA9IFBhZ2VHcm91cDo6cGFnZUdyb3VwKHBhZ2VHcm91cC0+aWRlbnRpZmll
cigpKS0+cGFnZXMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaAppbmRleCA2ZmYyY2ZhOGU0NmFkYWVmOTQ1
MTZlNWY1YWVlNDNmNTQ2YThlMDMzLi43MzE4OWY4ZGZjNzQ1ZmI3Mzg1ZGMxODcxNDM4OWU4MDZh
YTEyZTJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0luamVjdGVkQnVuZGxlLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oCkBAIC05Nyw2ICs5Nyw3IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHNldFNob3VsZFRyYWNrVmlzaXRlZExpbmtzKGJvb2wpOwogICAgIHZvaWQgcmVtb3Zl
QWxsVmlzaXRlZExpbmtzKCk7CiAgICAgdm9pZCBhY3RpdmF0ZU1hY0ZvbnRBc2NlbnRIYWNrKCk7
CisgICAgdm9pZCBvdmVycmlkZUJvb2xQcmVmZXJlbmNlRm9yVGVzdFJ1bm5lcihXZWJQYWdlR3Jv
dXBQcm94eSosIGNvbnN0IFN0cmluZyYgcHJlZmVyZW5jZSwgYm9vbCBlbmFibGVkKTsKICAgICB2
b2lkIG92ZXJyaWRlWFNTQXVkaXRvckVuYWJsZWRGb3JUZXN0UnVubmVyKFdlYlBhZ2VHcm91cFBy
b3h5KiBwYWdlR3JvdXAsIGJvb2wgZW5hYmxlZCk7CiAgICAgdm9pZCBzZXRBbGxvd1VuaXZlcnNh
bEFjY2Vzc0Zyb21GaWxlVVJMcyhXZWJQYWdlR3JvdXBQcm94eSosIGJvb2wpOwogICAgIHZvaWQg
c2V0QWxsb3dGaWxlQWNjZXNzRnJvbUZpbGVVUkxzKFdlYlBhZ2VHcm91cFByb3h5KiwgYm9vbCk7
CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZmM5
ZWQ4Y2E3NzQ3MGFmYWMxMjFmNDE1MzY5ZjNhZmViODMyYWU3YS4uYzllNGVmYTFjYWM4ZTAwYWJj
MzhkYjkzMTdhNDE5ZjFmN2Y5ZDNjYyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBi
L1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTAxLTI1ICBDYWlvIE1hcmNl
bG8gZGUgT2xpdmVpcmEgRmlsaG8gIDxjYWlvLm9saXZlaXJhQG9wZW5ib3NzYS5vcmc+CisKKyAg
ICAgICAgSW1wbGVtZW50IG92ZXJyaWRlUHJlZmVyZW5jZSBmb3IgYm9vbGVhbiBwcmVmZXJlbmNl
cyBpbiBXZWJLaXRUZXN0UnVubmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD03NzAzMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEZvciBub3cgb3ZlcnJpZGVQcmVmZXJlbmNlIGlzIGltcGxlbWVudGVkIHRv
IHN1cHBvcnQgYm9vbGVhbiB2YWx1ZXMuCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL0JpbmRpbmdzL0xheW91dFRlc3RDb250cm9sbGVyLmlkbDoKKyAgICAgICAg
KiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0xheW91dFRlc3RDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKFdUUjo6TGF5b3V0VGVzdENvbnRyb2xsZXI6Om92ZXJyaWRlUHJlZmVyZW5j
ZSk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9MYXlvdXRUZXN0
Q29udHJvbGxlci5oOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIu
Y3BwOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6cmVzZXRTdGF0ZVRvQ29uc2lzdGVu
dFZhbHVlcyk6IFByb3Blcmx5IGRpc2FibGUgdGhlIHVzZSBvZgorICAgICAgICBQYWdlQ2FjaGUg
d2hlbiByZXNldHRpbmcgdGhlIHN0YXRlLiBUZXN0cyB0aGF0IHVzZSBQYWdlQ2FjaGUgY2FuIG5v
dyBlbmFibGUgaXQgdmlhCisgICAgICAgIG92ZXJyaWRlUHJlZmVyZW5jZS4KKwogMjAxMi0wMS0y
MCAgT2phbiBWYWZhaSAgPG9qYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIGNoZWNrLXdlYmtp
dC1zdHlsZSBvZiB0aGUgY2hyb21pdW0gdGVzdF9leHBlY3RhdGlvbnMudHh0IGZpbGUgdGFrZXMg
dG9vIGxvbmcKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvQmluZGluZ3MvTGF5b3V0VGVzdENvbnRyb2xsZXIuaWRsIGIvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9MYXlvdXRUZXN0Q29udHJvbGxlci5pZGwKaW5k
ZXggNGNlNzRiMGUxN2NlMGFjNDBhZDg5N2RkZjA3NTg1ZjVmMDNhNGRmNC4uYmE0NWQ0MmVjMTg0
MjM2YzU2ZTYyNTg1NjMyMzk2YjIwNDM5MWU3YyAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9MYXlvdXRUZXN0Q29udHJvbGxlci5pZGwK
KysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9MYXlv
dXRUZXN0Q29udHJvbGxlci5pZGwKQEAgLTEzMSw3ICsxMzEsMTAgQEAgbW9kdWxlIFdUUiB7CiAg
ICAgICAgIHZvaWQgc2V0QmFja2luZ1NjYWxlRmFjdG9yKGluIGRvdWJsZSBiYWNraW5nU2NhbGVG
YWN0b3IsIGluIG9iamVjdCBjYWxsYmFjayk7CiAKICAgICAgICAgdm9pZCBzZXRXaW5kb3dJc0tl
eShpbiBib29sZWFuIGlzS2V5KTsKLSAgICAgICAgCisKKyAgICAgICAgLy8gRklYTUU6IGhhbmRs
ZSBub24tYm9vbGVhbiBwcmVmZXJlbmNlcy4KKyAgICAgICAgdm9pZCBvdmVycmlkZVByZWZlcmVu
Y2UoaW4gRE9NU3RyaW5nIHByZWZlcmVuY2UsIGluIGJvb2xlYW4gdmFsdWUpOworCiAgICAgICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgcGxhdGZvcm1OYW1lOwogICAgIH07CiAKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvTGF5b3V0VGVz
dENvbnRyb2xsZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9M
YXlvdXRUZXN0Q29udHJvbGxlci5jcHAKaW5kZXggNmNkMmU0MjE2NzZkOGIwNTYxMDM4NDEzZGQz
ZDBiMWM3NThmOGU3MS4uMmY2NGFkMGQ5NDUzM2JlNzBkZDEzYzkwM2Y0OWQxOGQwYjgyOGI1OSAx
MDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9MYXlvdXRU
ZXN0Q29udHJvbGxlci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKQEAgLTYwMyw0ICs2MDMsOSBAQCB2b2lkIExh
eW91dFRlc3RDb250cm9sbGVyOjpjYWxsU2V0QmFja2luZ1NjYWxlRmFjdG9yQ2FsbGJhY2soKQog
ICAgIGNhbGxMYXlvdXRUZXN0Q29udHJvbGxlckNhbGxiYWNrKFNldEJhY2tpbmdTY2FsZUZhY3Rv
ckNhbGxiYWNrSUQpOwogfQogCit2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpvdmVycmlkZVBy
ZWZlcmVuY2UoSlNTdHJpbmdSZWYgcHJlZmVyZW5jZSwgYm9vbCB2YWx1ZSkKK3sKKyAgICBXS0J1
bmRsZU92ZXJyaWRlQm9vbFByZWZlcmVuY2VGb3JUZXN0UnVubmVyKEluamVjdGVkQnVuZGxlOjpz
aGFyZWQoKS5idW5kbGUoKSwgSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLnBhZ2VHcm91cCgpLCB0
b1dLKHByZWZlcmVuY2UpLmdldCgpLCB2YWx1ZSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdUUgpk
aWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9MYXlvdXRU
ZXN0Q29udHJvbGxlci5oIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9M
YXlvdXRUZXN0Q29udHJvbGxlci5oCmluZGV4IGI0N2NiNDc1NmFmOTYwMjBiNWY4YWVjMzk1Nzdm
NWEzNDc0ZmM2MjQuLjlhNGJiMDE5OWI5YmE1YTlmODc5ZjQ3M2Q1ZGIwZDBiNjRlOTM5NDIgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvTGF5b3V0VGVz
dENvbnRyb2xsZXIuaAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L0xheW91dFRlc3RDb250cm9sbGVyLmgKQEAgLTE5MCw2ICsxOTAsOCBAQCBwdWJsaWM6CiAgICAg
dm9pZCBjYWxsRm9jdXNXZWJWaWV3Q2FsbGJhY2soKTsKICAgICB2b2lkIGNhbGxTZXRCYWNraW5n
U2NhbGVGYWN0b3JDYWxsYmFjaygpOwogCisgICAgdm9pZCBvdmVycmlkZVByZWZlcmVuY2UoSlNT
dHJpbmdSZWYgcHJlZmVyZW5jZSwgYm9vbCB2YWx1ZSk7CisKICAgICBKU1JldGFpblB0cjxKU1N0
cmluZ1JlZj4gcGxhdGZvcm1OYW1lKCk7CiAgICAgCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAppbmRleCA5ZDUzOTU5OTI2NWZmZDgyNDA1MjhhNjdl
MDQ3MmI5NDE2MDhkZDZkLi5mM2YzMGJkMDRlZjE0Yjg3NzkzMDA2NDQzNTQzYTkzZjUxYzNjOWRi
IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAor
KysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcApAQCAtNDI3LDYg
KzQyNyw3IEBAIGJvb2wgVGVzdENvbnRyb2xsZXI6OnJlc2V0U3RhdGVUb0NvbnNpc3RlbnRWYWx1
ZXMoKQogI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKICAgICBXS1ByZWZlcmVuY2VzU2V0RnVs
bFNjcmVlbkVuYWJsZWQocHJlZmVyZW5jZXMsIHRydWUpOwogI2VuZGlmCisgICAgV0tQcmVmZXJl
bmNlc1NldFBhZ2VDYWNoZUVuYWJsZWQocHJlZmVyZW5jZXMsIGZhbHNlKTsKIAogLy8gW1F0XVtX
SzJdUkVHUkVTU0lPTihyMTA0ODgxKTpJdCBicm9rZSBodW5kcmVkcyBvZiB0ZXN0cwogLy8gRklY
TUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI0NwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IDUwYjJhYTRlNWZkYmI4M2Q5ZDg3Y2Y4YmZlZTY5OWEyNWNkZmVmNDcuLjUwYmVmNGFhMGM5NTRm
ZTg0NGFkMDM1MTQ0NDI4ODE2MjcyZmQ2OWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMCBAQAorMjAxMi0w
MS0yNSAgQ2FpbyBNYXJjZWxvIGRlIE9saXZlaXJhIEZpbGhvICA8Y2Fpby5vbGl2ZWlyYUBvcGVu
Ym9zc2Eub3JnPgorCisgICAgICAgIEltcGxlbWVudCBvdmVycmlkZVByZWZlcmVuY2UgZm9yIGJv
b2xlYW4gcHJlZmVyZW5jZXMgaW4gV2ViS2l0VGVzdFJ1bm5lcgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcwMzMKKworICAgICAgICAqIHBsYXRmb3Jt
L3drMi9Ta2lwcGVkOgorCiAyMDEyLTAxLTI0ICBBYmhpc2hlayBBcnlhICA8aW5mZXJub0BjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgQ3Jhc2ggd2hlbiByZW5kZXJpbmcgLXdlYmtpdC1jb2x1bW4t
c3Bhbi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9Ta2lwcGVkIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vd2syL1NraXBwZWQKaW5kZXggNWRmOTg5YjY0YTA3NWQxY2QzMTll
ZjVmNmY5ZWZjMTc3MzU5Nzc3MC4uMWQ1NjRmOTBiNWQwZGM3OTczODg5MDNmYzVkNzY4ZDUxMmNm
YjNmYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1NraXBwZWQKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1NraXBwZWQKQEAgLTE5Miw3ICsxOTIsNiBAQCBjb21w
b3NpdGluZy92aWRlby1wYWdlLXZpc2liaWxpdHkuaHRtbAogY3NzMy9maWx0ZXJzL2N1c3RvbS1m
aWx0ZXIuaHRtbAogZmFzdC9jYW52YXMvd2ViZ2wvZnJhbWVidWZmZXItb2JqZWN0LWF0dGFjaG1l
bnQuaHRtbAogZmFzdC9jYW52YXMvd2ViZ2wvZ2wtdmVydGV4LWF0dHJpYi16ZXJvLWlzc3Vlcy5o
dG1sCi1mYXN0L2V2ZW50cy9wYWdlaGlkZS10aW1lb3V0Lmh0bWwKIGZhc3QvY2FudmFzL3dlYmds
L2dsLWdldHNoYWRlcnNvdXJjZS5odG1sCiBmYXN0L2NhbnZhcy93ZWJnbC90ZXgtc3ViLWltYWdl
LTJkLWJhZC1hcmdzLmh0bWwKIGZhc3QvY2FudmFzL3dlYmdsL1dlYkdMQ29udGV4dEV2ZW50Lmh0
bWwKQEAgLTI4Nyw0NiArMjg2LDExIEBAIGZhc3QvY2FudmFzL3dlYmdsL3VuaWZvcm0tbG9jYXRp
b24uaHRtbAogZmFzdC9jYW52YXMvd2ViZ2wvdmlld3BvcnQtdW5jaGFuZ2VkLXVwb24tcmVzaXpl
Lmh0bWwKIGZhc3QvY2FudmFzL3dlYmdsL3dlYmdsLWFycmF5LWludmFsaWQtcmFuZ2VzLmh0bWwK
IGZhc3QvY2FudmFzL3dlYmdsL3dlYmdsLXNwZWNpZmljLmh0bWwKLWZhc3QvZG9tL0dlb2xvY2F0
aW9uL25vLXBhZ2UtY2FjaGUuaHRtbAotZmFzdC9kb20vV2luZG93L3RpbWVyLXJlc3VtZS1vbi1u
YXZpZ2F0aW9uLWJhY2suaHRtbAotZmFzdC9ldmVudHMvb251bmxvYWQtYmFjay10by1wYWdlLWNh
Y2hlLmh0bWwKLWZhc3QvZXZlbnRzL3BhZ2VzaG93LXBhZ2VoaWRlLW9uLWJhY2stY2FjaGVkLXdp
dGgtZnJhbWVzLmh0bWwKLWZhc3QvZXZlbnRzL3BhZ2VzaG93LXBhZ2VoaWRlLW9uLWJhY2stY2Fj
aGVkLmh0bWwKLWZhc3QvZXZlbnRzL3RhYi1mb2N1cy1hbmNob3IuaHRtbAotZmFzdC9mcmFtZXMv
ZnJhbWUtY3Jhc2gtd2l0aC1wYWdlLWNhY2hlLmh0bWwKIGZhc3QvaGFybmVzcy9vdmVycmlkZS1w
cmVmZXJlbmNlcy0yLmh0bWwKLWZhc3QvaGFybmVzcy9vdmVycmlkZS1wcmVmZXJlbmNlcy5odG1s
Ci1mYXN0L2hhcm5lc3MvcGFnZS1jYWNoZS1jcmFzaC1vbi1kYXRhLXVybHMuaHRtbAotZmFzdC9o
YXJuZXNzL3VzZS1wYWdlLWNhY2hlLmh0bWwKLWZhc3QvaGlzdG9yeS90aW1lZC1yZWZyZXNoLWlu
LWNhY2hlZC1mcmFtZS5odG1sCiBmYXN0L2ltYWdlcy9hbmltYXRlZC1naWYtcmVzdG9yZWQtZnJv
bS1iZmNhY2hlLmh0bWwKLWZhc3QvbG9hZGVyL2ZyYW1lcy13aXRoLXVubG9hZC1oYW5kbGVycy1p
bi1wYWdlLWNhY2hlLmh0bWwKLWZhc3QvbG9hZGVyL2lucHV0LWVsZW1lbnQtcGFnZS1jYWNoZS1j
cmFzaC5odG1sCi1mYXN0L2xvYWRlci9zY3JvbGwtcG9zaXRpb24tcmVzdG9yZWQtb24tYmFjay5o
dG1sCi1mYXN0L2xvYWRlci9zdGF0ZW9iamVjdHMvcG9wc3RhdGUtZmlyZXMtd2l0aC1wYWdlLWNh
Y2hlLmh0bWwKLWZhc3QvbG9hZGVyL3Vuc2NoZWR1bGUtcmVsYXlvdXQtYWZ0ZXItdW5sb2FkLmh0
bWwKLWZhc3QvcGFyc2VyL25vc2NyaXB0LXdpdGgtamF2YXNjcmlwdC1kaXNhYmxlZC5odG1sCi1m
YXN0L3BhcnNlci9ub3NjcmlwdC13aXRoLWphdmFzY3JpcHQtZW5hYmxlZC5odG1sCiBmYXN0L3Jl
cGFpbnQvbm8tY2FyZXQtcmVwYWludC1pbi1ub24tY29udGVudC1lZGl0YWJsZS1lbGVtZW50Lmh0
bWwKIGZhc3QvdGV4dC96ZXJvLWZvbnQtc2l6ZS5odG1sCiBmYXN0L3RleHQvaW50ZXJuYXRpb25h
bC9sb2NhbGUtc2Vuc2l0aXZlLWZvbnRzLmh0bWwKLWh0dHAvdGVzdHMvYXBwY2FjaGUvZGlzYWJs
ZWQuaHRtbAotY3NzMy9maWx0ZXJzL2N1c3RvbS1maWx0ZXItc2hhZGVyLWNhY2hlLmh0bWwKLWNz
czMvZmlsdGVycy9lZmZlY3QtYmx1ci5odG1sCi1jc3MzL2ZpbHRlcnMvZWZmZWN0LWJyaWdodG5l
c3MuaHRtbAotY3NzMy9maWx0ZXJzL2VmZmVjdC1jb250cmFzdC5odG1sCi1jc3MzL2ZpbHRlcnMv
ZWZmZWN0LWN1c3RvbS1jb21iaW5lZC1taXNzaW5nLmh0bWwKLWNzczMvZmlsdGVycy9lZmZlY3Qt
Y3VzdG9tLXBhcmFtZXRlcnMuaHRtbAotY3NzMy9maWx0ZXJzL2VmZmVjdC1kcm9wLXNoYWRvdy5o
dG1sCi1jc3MzL2ZpbHRlcnMvZWZmZWN0LWdyYXlzY2FsZS5odG1sCi1jc3MzL2ZpbHRlcnMvZWZm
ZWN0LWh1ZS1yb3RhdGUuaHRtbAotY3NzMy9maWx0ZXJzL2VmZmVjdC1pbnZlcnQuaHRtbAotY3Nz
My9maWx0ZXJzL2VmZmVjdC1vcGFjaXR5Lmh0bWwKLWNzczMvZmlsdGVycy9lZmZlY3Qtc2F0dXJh
dGUuaHRtbAotY3NzMy9maWx0ZXJzL2VmZmVjdC1zZXBpYS5odG1sCi1jc3MzL2ZpbHRlcnMvbWlz
c2luZy1jdXN0b20tZmlsdGVyLXNoYWRlci5odG1sCi1jc3MzL2ZpbHRlcnMvZWZmZWN0LWN1c3Rv
bS5odG1sCi1jc3MzL2ZpbHRlcnMvZWZmZWN0LWN1c3RvbS1kaXNhYmxlZC5odG1sCiBjc3MzL2Zp
bHRlcnMvZWZmZWN0LWNvbWJpbmVkLmh0bWwKIGNzczMvZmlsdGVycy9maWx0ZXItcmVwYWludC5o
dG1sCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124020</attachid>
            <date>2012-01-25 15:03:50 -0800</date>
            <delta_ts>2012-01-26 08:09:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77033-20120125200350.patch</filename>
            <type>text/plain</type>
            <size>22667</size>
            <attacher name="Caio Marcelo de Oliveira Filho">cmarcelo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1NzcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNzc3OWIzOWJhMDE4M2Vm
NDQyNmYwOGQ3MWU5MTdmZDE5N2Y0NjdjYS4uOWU5Y2FiODJmZDdmYjg3NDA3OWQxNmFlNTVkZGVi
YjJjOTBiY2M1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDEyLTAxLTI1ICBDYWlv
IE1hcmNlbG8gZGUgT2xpdmVpcmEgRmlsaG8gIDxjYWlvLm9saXZlaXJhQG9wZW5ib3NzYS5vcmc+
CisKKyAgICAgICAgSW1wbGVtZW50IG92ZXJyaWRlUHJlZmVyZW5jZSBmb3IgYm9vbGVhbiBwcmVm
ZXJlbmNlcyBpbiBXZWJLaXRUZXN0UnVubmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03NzAzMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBhIHdheSB0byBXZWJLaXRUZXN0UnVubmVyIG92
ZXJyaWRlIHByZWZlcmVuY2VzIGZvciB0aGUgcGFnZXMKKyAgICAgICAgbG9hZGVkLiBGb2xsb3dz
IHRoZSBzYW1lIGFwcHJvYWNoIHRha2VuIGJ5CisgICAgICAgIG92ZXJyaWRlWFNTQXVkaXRvckVu
YWJsZWRGb3JUZXN0UnVubmVyKCkgZnJvbSByNjY1NTEsIGJ1dCBnZW5lcmFsaXppbmcgdG8gbWFu
eQorICAgICAgICBwcmVmZXJlbmNlcy4KKworICAgICAgICBPbmUgZGlmZmVyZW5jZSBpcyB0aGF0
IGluc3RlYWQgb2Ygd3JpdGluZyB0aGUgb3ZlcnJpZGUgcHJlZmVyZW5jZXMgaW50bworICAgICAg
ICB0aGUgbV9ib29sVmFsdWVzIG1hcCwgdGhlIGdldEJvb2xWYWx1ZUZvcktleSgpIHdhcyBjaGFu
Z2VkIHRvIGxvb2sgaW4gdGhlCisgICAgICAgIG92ZXJyaWRlIGxpc3QgZmlyc3QuCisKKyAgICAg
ICAgVGhvc2Ugb3ZlcnJpZGVzIGFyZSByZXNldCB3aGVuIFdlYlBhZ2U6OnByZWZlcmVuY2VzRGlk
Q2hhbmdlKCkgaXMgY2FsbGVkLiBTaW5jZQorICAgICAgICBub3JtYWxseSBwcmVmZXJlbmNlcyBh
cmUgbm90IGV4cGVjdGVkIHRvIGNoYW5nZSBpbiBXVFIsIGEgZnVuY3Rpb24gd2FzIGV4cG9zZWQg
dG8KKyAgICAgICAgYWxsb3cgV1RSIG1hbnVhbGx5IHRyaWdnZXIgYW4gdXBkYXRlLgorCisgICAg
ICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQcmVmZXJlbmNlc1N0b3JlOjpkZWNvZGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcmVmZXJl
bmNlc1N0b3JlOjpvdmVycmlkZUJvb2xWYWx1ZUZvcktleSk6CisgICAgICAgIChXZWJLaXQ6Oldl
YlByZWZlcmVuY2VzU3RvcmU6OnJlbW92ZVRlc3RSdW5uZXJPdmVycmlkZXMpOgorICAgICAgICAo
V2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpnZXRCb29sVmFsdWVGb3JLZXkpOgorICAgICAg
ICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9DL1dLUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV0tQcmVmZXJlbmNlc1Jlc2V0VGVzdFJ1
bm5lck92ZXJyaWRlcyk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNQ
cml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmg6CisgICAgICAg
IChXZWJLaXQ6OldlYlByZWZlcmVuY2VzOjpmb3JjZVVwZGF0ZSk6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZS5jcHA6CisgICAgICAgIChXS0J1bmRs
ZU92ZXJyaWRlQm9vbFByZWZlcmVuY2VGb3JUZXN0UnVubmVyKToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUHJpdmF0ZS5oOgorICAgICAgICAqIFdl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpJbmplY3RlZEJ1bmRsZTo6b3ZlcnJpZGVCb29sUHJlZmVyZW5jZUZvclRlc3RSdW5uZXIp
OgorICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZTo6b3ZlcnJpZGVYU1NBdWRpdG9yRW5h
YmxlZEZvclRlc3RSdW5uZXIpOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
SW5qZWN0ZWRCdW5kbGUuaDoKKwogMjAxMi0wMS0yNCAgQWxleGlzIE1lbmFyZCAgPGFsZXhpcy5t
ZW5hcmRAb3BlbmJvc3NhLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIGJ1aWxkIGZpeCBmb3Ig
UXQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9y
ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5jcHAKaW5k
ZXggMTM4ZjY5MTA1NTA3OTUwZDZmNDg4YzIxZTY2Mjg0ZWExNDYxOTA4YS4uMWU0YmIwNTkxOGFi
MzgwOTkyOGZjZDcxNjE5YWRjOWJkNGY0YjY5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmNwcApAQCAtNDgsOCArNDgsNyBAQCBuYW1lc3BhY2UgV2Vi
UHJlZmVyZW5jZXNLZXkgewogfSAvLyBuYW1lc3BhY2UgV2ViUHJlZmVyZW5jZXNLZXkKIAogCi1z
dGF0aWMgYm9vbCBoYXNYU1NBdWRpdG9yRW5hYmxlZFRlc3RSdW5uZXJPdmVycmlkZTsKLXN0YXRp
YyBib29sIHhzc0F1ZGl0b3JFbmFibGVkVGVzdFJ1bm5lck92ZXJyaWRlOworc3RhdGljIEhhc2hN
YXA8U3RyaW5nLCBib29sPiBib29sVGVzdFJ1bm5lck92ZXJyaWRlc01hcDsKIAogV2ViUHJlZmVy
ZW5jZXNTdG9yZTo6V2ViUHJlZmVyZW5jZXNTdG9yZSgpCiB7CkBAIC03MywyMiArNzIsMTcgQEAg
Ym9vbCBXZWJQcmVmZXJlbmNlc1N0b3JlOjpkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVy
KiBkZWNvZGVyLCBXZWJQcmVmZXJlbmMKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmICgh
ZGVjb2Rlci0+ZGVjb2RlKHJlc3VsdC5tX2RvdWJsZVZhbHVlcykpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKLQotICAgIGlmIChoYXNYU1NBdWRpdG9yRW5hYmxlZFRlc3RSdW5uZXJPdmVycmlkZSkK
LSAgICAgICAgcmVzdWx0Lm1fYm9vbFZhbHVlcy5zZXQoV2ViUHJlZmVyZW5jZXNLZXk6Onhzc0F1
ZGl0b3JFbmFibGVkS2V5KCksIHhzc0F1ZGl0b3JFbmFibGVkVGVzdFJ1bm5lck92ZXJyaWRlKTsK
LQogICAgIHJldHVybiB0cnVlOwogfQogCi12b2lkIFdlYlByZWZlcmVuY2VzU3RvcmU6Om92ZXJy
aWRlWFNTQXVkaXRvckVuYWJsZWRGb3JUZXN0UnVubmVyKGJvb2wgZW5hYmxlZCkKK3ZvaWQgV2Vi
UHJlZmVyZW5jZXNTdG9yZTo6b3ZlcnJpZGVCb29sVmFsdWVGb3JLZXkoY29uc3QgU3RyaW5nJiBr
ZXksIGJvb2wgdmFsdWUpCiB7Ci0gICAgaGFzWFNTQXVkaXRvckVuYWJsZWRUZXN0UnVubmVyT3Zl
cnJpZGUgPSB0cnVlOwotICAgIHhzc0F1ZGl0b3JFbmFibGVkVGVzdFJ1bm5lck92ZXJyaWRlID0g
ZW5hYmxlZDsKKyAgICBib29sVGVzdFJ1bm5lck92ZXJyaWRlc01hcC5zZXQoa2V5LCB2YWx1ZSk7
CiB9CiAKIHZvaWQgV2ViUHJlZmVyZW5jZXNTdG9yZTo6cmVtb3ZlVGVzdFJ1bm5lck92ZXJyaWRl
cygpCiB7Ci0gICAgaGFzWFNTQXVkaXRvckVuYWJsZWRUZXN0UnVubmVyT3ZlcnJpZGUgPSBmYWxz
ZTsKKyAgICBib29sVGVzdFJ1bm5lck92ZXJyaWRlc01hcC5jbGVhcigpOwogfQogCiAKQEAgLTE4
NSw2ICsxNzksMTAgQEAgYm9vbCBXZWJQcmVmZXJlbmNlc1N0b3JlOjpzZXRCb29sVmFsdWVGb3JL
ZXkoY29uc3QgU3RyaW5nJiBrZXksIGJvb2wgdmFsdWUpCiAKIGJvb2wgV2ViUHJlZmVyZW5jZXNT
dG9yZTo6Z2V0Qm9vbFZhbHVlRm9yS2V5KGNvbnN0IFN0cmluZyYga2V5KSBjb25zdAogeworICAg
IC8vIEZJWE1FOiBFeHRlbmQgb3ZlcnJpZGluZyB0byBvdGhlciBrZXkgdHlwZXMgdXNlZCBmcm9t
IExheW91dFRlc3RDb250cm9sbGVyLgorICAgIEhhc2hNYXA8U3RyaW5nLCBib29sPjo6Y29uc3Rf
aXRlcmF0b3IgaXQgPSBib29sVGVzdFJ1bm5lck92ZXJyaWRlc01hcC5maW5kKGtleSk7CisgICAg
aWYgKGl0ICE9IGJvb2xUZXN0UnVubmVyT3ZlcnJpZGVzTWFwLmVuZCgpKQorICAgICAgICByZXR1
cm4gaXQtPnNlY29uZDsKICAgICByZXR1cm4gdmFsdWVGb3JLZXkobV9ib29sVmFsdWVzLCBrZXkp
OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNT
dG9yZS5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuaAppbmRl
eCA1MzFlMTgxOWM1YjMyZjk2MTViNzhiNjNmMjVmM2JjMmJjOTdjZDM5Li4wY2RjOTc1OTRlMjc0
OGRiMDk0YTQ0M2U0MWJhODU2NjE5Yzk0YmVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9X
ZWJQcmVmZXJlbmNlc1N0b3JlLmgKQEAgLTIxNCw3ICsyMTQsOCBAQCBzdHJ1Y3QgV2ViUHJlZmVy
ZW5jZXNTdG9yZSB7CiAgICAgYm9vbCBzZXREb3VibGVWYWx1ZUZvcktleShjb25zdCBTdHJpbmcm
IGtleSwgZG91YmxlIHZhbHVlKTsKICAgICBkb3VibGUgZ2V0RG91YmxlVmFsdWVGb3JLZXkoY29u
c3QgU3RyaW5nJiBrZXkpIGNvbnN0OwogCi0gICAgc3RhdGljIHZvaWQgb3ZlcnJpZGVYU1NBdWRp
dG9yRW5hYmxlZEZvclRlc3RSdW5uZXIoYm9vbCk7CisgICAgLy8gRm9yIFdlYktpdFRlc3RSdW5u
ZXIgdXNhZ2UuCisgICAgc3RhdGljIHZvaWQgb3ZlcnJpZGVCb29sVmFsdWVGb3JLZXkoY29uc3Qg
U3RyaW5nJiBrZXksIGJvb2wgdmFsdWUpOwogICAgIHN0YXRpYyB2b2lkIHJlbW92ZVRlc3RSdW5u
ZXJPdmVycmlkZXMoKTsKIAogICAgIEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+IG1fc3RyaW5nVmFs
dWVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVy
ZW5jZXMuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMu
Y3BwCmluZGV4IDI0MDdjNWM1MjcwY2M3ZjI5OWMyNDA2ZGMwNzc0NTA1MGJlMzg3ZjguLjYwZTdi
NzI2NGNkMjUwYzNlZjg3ZDI0M2YxMzAxODVjMjgxMTYyZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAKQEAgLTczMSwzICs3MzEsMTAg
QEAgYm9vbCBXS1ByZWZlcmVuY2VzR2V0Tm90aWZpY2F0aW9uc0VuYWJsZWQoV0tQcmVmZXJlbmNl
c1JlZiBwcmVmZXJlbmNlc1JlZikKIHsKICAgICByZXR1cm4gdG9JbXBsKHByZWZlcmVuY2VzUmVm
KS0+bm90aWZpY2F0aW9uc0VuYWJsZWQoKTsKIH0KKwordm9pZCBXS1ByZWZlcmVuY2VzUmVzZXRU
ZXN0UnVubmVyT3ZlcnJpZGVzKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpCit7Cisg
ICAgLy8gQ3VycmVudGx5IHdlIHJlc2V0IHRoZSBvdmVycmlkZXMgb24gdGhlIHdlYiBwcm9jZXNz
IHdoZW4gcHJlZmVyZW5jZXNEaWRDaGFuZ2UoKSBpcyBjYWxsZWQuIFNpbmNlIFdUUiBwcmVmZXJl
bmNlcworICAgIC8vIGFyZSB1c3VhbGx5IGFsd2F5cyB0aGUgc2FtZSAoaW4gdGhlIFVJIHByb2Nl
c3MpLCB0aGV5IGFyZSBub3Qgc2VudCB0byB3ZWIgcHJvY2Vzcywgbm90IHRyaWdnZXJpbmcgdGhl
IHJlc2V0LgorICAgIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPmZvcmNlVXBkYXRlKCk7Cit9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1By
aXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUHJp
dmF0ZS5oCmluZGV4IDkxYzM0YjRhODUyNDkxYzAxY2VmZWU1YTRkMDI5ZmI1OTI3Zjk2NTAuLjMy
MDhjNmVhM2IxNTVhN2M5Mjk0ZGU3YjYyMGJhMGVmNTkxZjlhYTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oCkBAIC0x
NjAsNiArMTYwLDggQEAgV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldE1vY2tTY3JvbGxi
YXJzRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2UKIFdLX0VYUE9SVCB2b2lkIFdL
UHJlZmVyZW5jZXNTZXRBcHBsaWNhdGlvbkNocm9tZU1vZGVFbmFibGVkKFdLUHJlZmVyZW5jZXNS
ZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCk7CiBXS19FWFBPUlQgYm9vbCBXS1ByZWZl
cmVuY2VzR2V0QXBwbGljYXRpb25DaHJvbWVNb2RlRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHBy
ZWZlcmVuY2VzUmVmKTsKIAorV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1Jlc2V0VGVzdFJ1
bm5lck92ZXJyaWRlcyhXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKTsKKwogI2lmZGVm
IF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQcmVmZXJlbmNlcy5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByZWZl
cmVuY2VzLmgKaW5kZXggMGY0OTQzYWI2OGZhODY1OTMyZGEzYWJkMmNlMTZmMGEwMWM2NTRlYi4u
NTNiNjEwMjAwYmY5ZWU3NzY1OTNhYmI1ODI1OTM1NDg5NGFlMzM1ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmgKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmgKQEAgLTY5LDYgKzY5LDkgQEAgcHVibGljOgog
CiAjdW5kZWYgREVDTEFSRV9QUkVGRVJFTkNFX0dFVFRFUl9BTkRfU0VUVEVSUwogCisgICAgLy8g
RXhwb3NlZCBmb3IgV2ViS2l0VGVzdFJ1bm5lciB1c2Ugb25seS4KKyAgICB2b2lkIGZvcmNlVXBk
YXRlKCkgeyB1cGRhdGUoKTsgfQorCiBwcml2YXRlOgogICAgIFdlYlByZWZlcmVuY2VzKCk7CiAg
ICAgV2ViUHJlZmVyZW5jZXMoY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGUu
Y3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1
bmRsZS5jcHAKaW5kZXggZDg4MjgxZTFiYTIzZDkzMGMzNDcxODc0YjYyNGUyNGM2MGE5ZDY2Mi4u
ZGI2YjM2Yjc2MzQ5Y2U0Y2FhNWE5NDg4ZmNkNjdiZDliMjJmYTNjYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1
bmRsZS5jcHAKQEAgLTEyNiw5ICsxMjYsOSBAQCB2b2lkIFdLQnVuZGxlUmVtb3ZlQWxsVXNlckNv
bnRlbnQoV0tCdW5kbGVSZWYgYnVuZGxlUmVmLCBXS0J1bmRsZVBhZ2VHcm91cFJlZiBwYQogICAg
IHRvSW1wbChidW5kbGVSZWYpLT5yZW1vdmVBbGxVc2VyQ29udGVudCh0b0ltcGwocGFnZUdyb3Vw
UmVmKSk7CiB9CiAKLXZvaWQgV0tCdW5kbGVPdmVycmlkZVhTU0F1ZGl0b3JFbmFibGVkRm9yVGVz
dFJ1bm5lcihXS0J1bmRsZVJlZiBidW5kbGVSZWYsIFdLQnVuZGxlUGFnZUdyb3VwUmVmIHBhZ2VH
cm91cFJlZiwgYm9vbCBlbmFibGVkKQordm9pZCBXS0J1bmRsZU92ZXJyaWRlQm9vbFByZWZlcmVu
Y2VGb3JUZXN0UnVubmVyKFdLQnVuZGxlUmVmIGJ1bmRsZVJlZiwgV0tCdW5kbGVQYWdlR3JvdXBS
ZWYgcGFnZUdyb3VwUmVmLCBXS1N0cmluZ1JlZiBwcmVmZXJlbmNlLCBib29sIGVuYWJsZWQpCiB7
Ci0gICAgdG9JbXBsKGJ1bmRsZVJlZiktPm92ZXJyaWRlWFNTQXVkaXRvckVuYWJsZWRGb3JUZXN0
UnVubmVyKHRvSW1wbChwYWdlR3JvdXBSZWYpLCBlbmFibGVkKTsKKyAgICB0b0ltcGwoYnVuZGxl
UmVmKS0+b3ZlcnJpZGVCb29sUHJlZmVyZW5jZUZvclRlc3RSdW5uZXIodG9JbXBsKHBhZ2VHcm91
cFJlZiksIHRvSW1wbChwcmVmZXJlbmNlKS0+c3RyaW5nKCksIGVuYWJsZWQpOwogfQogCiB2b2lk
IFdLQnVuZGxlU2V0QWxsb3dVbml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSTHMoV0tCdW5kbGVSZWYg
YnVuZGxlUmVmLCBXS0J1bmRsZVBhZ2VHcm91cFJlZiBwYWdlR3JvdXBSZWYsIGJvb2wgZW5hYmxl
ZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
QVBJL2MvV0tCdW5kbGVQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUHJpdmF0ZS5oCmluZGV4IDk1Y2E3Y2U3ZTc2ZDM1ZDQ5
OTNlYTljMGNjNDlkMTUyOTJjMTI0NzAuLmE0ZGY5ZWI3ZTYxOTg3YzgxYzY0OGFmN2FlMjE4MDM4
Nzg0YWJjMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL2MvV0tCdW5kbGVQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVByaXZhdGUuaApAQCAtNjQsNyArNjQs
OCBAQCBXS19FWFBPUlQgdm9pZCBXS0J1bmRsZVJlbW92ZVVzZXJTdHlsZVNoZWV0cyhXS0J1bmRs
ZVJlZiBidW5kbGUsIFdLQnVuZGxlUGFnZUdybwogV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVSZW1v
dmVBbGxVc2VyQ29udGVudChXS0J1bmRsZVJlZiBidW5kbGUsIFdLQnVuZGxlUGFnZUdyb3VwUmVm
IHBhZ2VHcm91cCk7CiAKIC8vIFdpbGwgbWFrZSBXZWJQcm9jZXNzIGlnbm9yZSB0aGlzIHByZWZl
cmVuY2UgdW50aWwgYSBwcmVmZXJlbmNlcyBjaGFuZ2Ugbm90aWZpY2F0aW9uLCBvbmx5IGZvciBX
ZWJLaXRUZXN0UnVubmVyIHVzZS4KLVdLX0VYUE9SVCB2b2lkIFdLQnVuZGxlT3ZlcnJpZGVYU1NB
dWRpdG9yRW5hYmxlZEZvclRlc3RSdW5uZXIoV0tCdW5kbGVSZWYgYnVuZGxlLCBXS0J1bmRsZVBh
Z2VHcm91cFJlZiBwYWdlR3JvdXAsIGJvb2wgZW5hYmxlZCk7CitXS19FWFBPUlQgdm9pZCBXS0J1
bmRsZU92ZXJyaWRlQm9vbFByZWZlcmVuY2VGb3JUZXN0UnVubmVyKFdLQnVuZGxlUmVmIGJ1bmRs
ZSwgV0tCdW5kbGVQYWdlR3JvdXBSZWYgcGFnZUdyb3VwLCBXS1N0cmluZ1JlZiBwcmVmZXJlbmNl
LCBib29sIGVuYWJsZWQpOworCiBXS19FWFBPUlQgdm9pZCBXS0J1bmRsZVNldEFsbG93VW5pdmVy
c2FsQWNjZXNzRnJvbUZpbGVVUkxzKFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tCdW5kbGVQYWdlR3Jv
dXBSZWYgcGFnZUdyb3VwLCBib29sIGVuYWJsZWQpOwogV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVT
ZXRBbGxvd0ZpbGVBY2Nlc3NGcm9tRmlsZVVSTHMoV0tCdW5kbGVSZWYgYnVuZGxlLCBXS0J1bmRs
ZVBhZ2VHcm91cFJlZiBwYWdlR3JvdXAsIGJvb2wgZW5hYmxlZCk7CiBXS19FWFBPUlQgdm9pZCBX
S0J1bmRsZVNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoV0tCdW5kbGVSZWYgYnVuZGxlLCBXS0J1
bmRsZVBhZ2VHcm91cFJlZiBwYWdlR3JvdXAsIGJvb2wgZW5hYmxlZCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5k
bGUuY3BwCmluZGV4IGI4NzE1MWU0MjRjMDkyMGVmYzE4MjhhNzRhYWUxYjJiM2Y0ZjRkNzkuLmI5
NzhlZDE1Njk4MDljNDlmZDc2YTM2OWVjZmQ1ZTdlMTgxOTIwOGEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5k
bGUuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVNZXNzYWdl
S2luZHMuaCIKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZVNjcmlwdFdvcmxkLmgiCiAjaW5jbHVk
ZSAiSW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUNvZGVycy5oIgorI2luY2x1ZGUgIkxheWVyVHJl
ZUhvc3QuaCIKICNpbmNsdWRlICJXS0FQSUNhc3QuaCIKICNpbmNsdWRlICJXS0J1bmRsZUFQSUNh
c3QuaCIKICNpbmNsdWRlICJXZWJBcHBsaWNhdGlvbkNhY2hlTWFuYWdlci5oIgpAQCAtMTEzLDEw
ICsxMTQsNTIgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6cmVtb3ZlQWxsVmlzaXRlZExpbmtzKCkK
ICAgICBQYWdlR3JvdXA6OnJlbW92ZUFsbFZpc2l0ZWRMaW5rcygpOwogfQogCit2b2lkIEluamVj
dGVkQnVuZGxlOjpvdmVycmlkZUJvb2xQcmVmZXJlbmNlRm9yVGVzdFJ1bm5lcihXZWJQYWdlR3Jv
dXBQcm94eSogcGFnZUdyb3VwLCBjb25zdCBTdHJpbmcmIHByZWZlcmVuY2UsIGJvb2wgZW5hYmxl
ZCkKK3sKKyAgICBjb25zdCBIYXNoU2V0PFBhZ2UqPiYgcGFnZXMgPSBQYWdlR3JvdXA6OnBhZ2VH
cm91cChwYWdlR3JvdXAtPmlkZW50aWZpZXIoKSktPnBhZ2VzKCk7CisKKyAgICAvLyBGSVhNRTog
TmVlZCBhbiBleHBsaWNpdCB3YXkgdG8gc2V0ICJXZWJLaXRUYWJUb0xpbmtzUHJlZmVyZW5jZUtl
eSIgZGlyZWN0bHkgaW4gV2ViUGFnZS4KKworICAgIC8vIE1hcCB0aGUgbmFtZXMgdXNlZCBpbiBM
YXlvdXRUZXN0cyB3aXRoIHRoZSBuYW1lcyB1c2VkIGluIFdlYkNvcmU6OlNldHRpbmdzIGFuZCBX
ZWJQcmVmZXJlbmNlc1N0b3JlLgorI2RlZmluZSBGT1JfRUFDSF9PVkVSUklERV9CT09MX1BSRUZF
UkVOQ0UobWFjcm8pIFwKKyAgICBtYWNybyhXZWJLaXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5h
YmxlZCwgQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQsIGFjY2VsZXJhdGVkQ29tcG9zaXRp
bmdFbmFibGVkKSBcCisgICAgbWFjcm8oV2ViS2l0Q1NTQ3VzdG9tRmlsdGVyRW5hYmxlZCwgQ1NT
Q3VzdG9tRmlsdGVyRW5hYmxlZCwgY3NzQ3VzdG9tRmlsdGVyRW5hYmxlZCkgXAorICAgIG1hY3Jv
KFdlYktpdEphdmFFbmFibGVkLCBKYXZhRW5hYmxlZCwgamF2YUVuYWJsZWQpIFwKKyAgICBtYWNy
byhXZWJLaXRKYXZhU2NyaXB0RW5hYmxlZCwgU2NyaXB0RW5hYmxlZCwgamF2YVNjcmlwdEVuYWJs
ZWQpIFwKKyAgICBtYWNybyhXZWJLaXRMb2FkU2l0ZUljb25zS2V5LCBMb2Fkc1NpdGVJY29uc0ln
bm9yaW5nSW1hZ2VMb2FkaW5nU2V0dGluZywgbG9hZHNTaXRlSWNvbnNJZ25vcmluZ0ltYWdlTG9h
ZGluZ1ByZWZlcmVuY2UpIFwKKyAgICBtYWNybyhXZWJLaXRPZmZsaW5lV2ViQXBwbGljYXRpb25D
YWNoZUVuYWJsZWQsIE9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlRW5hYmxlZCwgb2ZmbGluZVdl
YkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkKSBcCisgICAgbWFjcm8oV2ViS2l0UGFnZUNhY2hlU3Vw
cG9ydHNQbHVnaW5zUHJlZmVyZW5jZUtleSwgUGFnZUNhY2hlU3VwcG9ydHNQbHVnaW5zLCBwYWdl
Q2FjaGVTdXBwb3J0c1BsdWdpbnMpIFwKKyAgICBtYWNybyhXZWJLaXRQbHVnaW5zRW5hYmxlZCwg
UGx1Z2luc0VuYWJsZWQsIHBsdWdpbnNFbmFibGVkKSBcCisgICAgbWFjcm8oV2ViS2l0VXNlc1Bh
Z2VDYWNoZVByZWZlcmVuY2VLZXksIFVzZXNQYWdlQ2FjaGUsIHVzZXNQYWdlQ2FjaGUpIFwKKyAg
ICBtYWNybyhXZWJLaXRXZWJBdWRpb0VuYWJsZWQsIFdlYkF1ZGlvRW5hYmxlZCwgd2ViQXVkaW9F
bmFibGVkKSBcCisgICAgbWFjcm8oV2ViS2l0V2ViR0xFbmFibGVkLCBXZWJHTEVuYWJsZWQsIHdl
YkdMRW5hYmxlZCkgXAorICAgIG1hY3JvKFdlYktpdFhTU0F1ZGl0b3JFbmFibGVkLCBYU1NBdWRp
dG9yRW5hYmxlZCwgeHNzQXVkaXRvckVuYWJsZWQpCisKKyAgICBpZiAocHJlZmVyZW5jZSA9PSAi
V2ViS2l0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQiKQorICAgICAgICBlbmFibGVkID0g
ZW5hYmxlZCAmJiBMYXllclRyZWVIb3N0OjpzdXBwb3J0c0FjY2VsZXJhdGVkQ29tcG9zaXRpbmco
KTsKKworI2RlZmluZSBPVkVSUklERV9QUkVGRVJFTkNFX0FORF9TRVRfSU5fRVhJU1RJTkdfUEFH
RVMoVGVzdFJ1bm5lck5hbWUsIFNldHRpbmdzTmFtZSwgV2ViUHJlZmVyZW5jZXNOYW1lKSBcCisg
ICAgaWYgKHByZWZlcmVuY2UgPT0gI1Rlc3RSdW5uZXJOYW1lKSB7IFwKKyAgICAgICAgV2ViUHJl
ZmVyZW5jZXNTdG9yZTo6b3ZlcnJpZGVCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6
OldlYlByZWZlcmVuY2VzTmFtZSMjS2V5KCksIGVuYWJsZWQpOyBcCisgICAgICAgIGZvciAoSGFz
aFNldDxQYWdlKj46Oml0ZXJhdG9yIGl0ZXIgPSBwYWdlcy5iZWdpbigpOyBpdGVyICE9IHBhZ2Vz
LmVuZCgpOyArK2l0ZXIpIFwKKyAgICAgICAgICAgICgqaXRlciktPnNldHRpbmdzKCktPnNldCMj
U2V0dGluZ3NOYW1lKGVuYWJsZWQpOyBcCisgICAgICAgIHJldHVybjsgXAorICAgIH0KKworICAg
IEZPUl9FQUNIX09WRVJSSURFX0JPT0xfUFJFRkVSRU5DRShPVkVSUklERV9QUkVGRVJFTkNFX0FO
RF9TRVRfSU5fRVhJU1RJTkdfUEFHRVMpCisKKyNpZiBFTkFCTEUoV0VCX1NPQ0tFVFMpCisgICAg
T1ZFUlJJREVfUFJFRkVSRU5DRV9BTkRfU0VUX0lOX0VYSVNUSU5HX1BBR0VTKCJXZWJLaXRIaXhp
ZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkIiwgVXNlSGl4aWU3NldlYlNvY2tldFByb3RvY29s
LCBoaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkKQorI2VuZGlmCisKKyN1bmRlZiBPVkVS
UklERV9QUkVGRVJFTkNFX0FORF9TRVRfSU5fRVhJU1RJTkdfUEFHRVMKKyN1bmRlZiBGT1JfRUFD
SF9PVkVSUklERV9CT09MX1BSRUZFUkVOQ0UKK30KKwogdm9pZCBJbmplY3RlZEJ1bmRsZTo6b3Zl
cnJpZGVYU1NBdWRpdG9yRW5hYmxlZEZvclRlc3RSdW5uZXIoV2ViUGFnZUdyb3VwUHJveHkqIHBh
Z2VHcm91cCwgYm9vbCBlbmFibGVkKQogewogICAgIC8vIE92ZXJyaWRlIHRoZSBwcmVmZXJlbmNl
IGZvciBhbGwgZnV0dXJlIHBhZ2VzLgotICAgIFdlYlByZWZlcmVuY2VzU3RvcmU6Om92ZXJyaWRl
WFNTQXVkaXRvckVuYWJsZWRGb3JUZXN0UnVubmVyKGVuYWJsZWQpOworICAgIFdlYlByZWZlcmVu
Y2VzU3RvcmU6Om92ZXJyaWRlQm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojp4c3NB
dWRpdG9yRW5hYmxlZEtleSgpLCBlbmFibGVkKTsKIAogICAgIC8vIENoYW5nZSB0aGUgc2V0dGlu
ZyBmb3IgZXhpc3Rpbmcgb25lcy4KICAgICBjb25zdCBIYXNoU2V0PFBhZ2UqPiYgcGFnZXMgPSBQ
YWdlR3JvdXA6OnBhZ2VHcm91cChwYWdlR3JvdXAtPmlkZW50aWZpZXIoKSktPnBhZ2VzKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVj
dGVkQnVuZGxlLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0lu
amVjdGVkQnVuZGxlLmgKaW5kZXggNmZmMmNmYThlNDZhZGFlZjk0NTE2ZTVmNWFlZTQzZjU0NmE4
ZTAzMy4uNzMxODlmOGRmYzc0NWZiNzM4NWRjMTg3MTQzODllODA2YWExMmUyZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRs
ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0
ZWRCdW5kbGUuaApAQCAtOTcsNiArOTcsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRTaG91bGRU
cmFja1Zpc2l0ZWRMaW5rcyhib29sKTsKICAgICB2b2lkIHJlbW92ZUFsbFZpc2l0ZWRMaW5rcygp
OwogICAgIHZvaWQgYWN0aXZhdGVNYWNGb250QXNjZW50SGFjaygpOworICAgIHZvaWQgb3ZlcnJp
ZGVCb29sUHJlZmVyZW5jZUZvclRlc3RSdW5uZXIoV2ViUGFnZUdyb3VwUHJveHkqLCBjb25zdCBT
dHJpbmcmIHByZWZlcmVuY2UsIGJvb2wgZW5hYmxlZCk7CiAgICAgdm9pZCBvdmVycmlkZVhTU0F1
ZGl0b3JFbmFibGVkRm9yVGVzdFJ1bm5lcihXZWJQYWdlR3JvdXBQcm94eSogcGFnZUdyb3VwLCBi
b29sIGVuYWJsZWQpOwogICAgIHZvaWQgc2V0QWxsb3dVbml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVS
THMoV2ViUGFnZUdyb3VwUHJveHkqLCBib29sKTsKICAgICB2b2lkIHNldEFsbG93RmlsZUFjY2Vz
c0Zyb21GaWxlVVJMcyhXZWJQYWdlR3JvdXBQcm94eSosIGJvb2wpOwpkaWZmIC0tZ2l0IGEvVG9v
bHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGZjOWVkOGNhNzc0NzBhZmFjMTIx
ZjQxNTM2OWYzYWZlYjgzMmFlN2EuLjQyNDI5NTQ0Yjc2ZTBmZjJjZjQ1NzNiNTBmY2FlZGE5NjM3
ZTllMjAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwyMiBAQAorMjAxMi0wMS0yNSAgQ2FpbyBNYXJjZWxvIGRlIE9saXZlaXJhIEZp
bGhvICA8Y2Fpby5vbGl2ZWlyYUBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIEltcGxlbWVudCBv
dmVycmlkZVByZWZlcmVuY2UgZm9yIGJvb2xlYW4gcHJlZmVyZW5jZXMgaW4gV2ViS2l0VGVzdFJ1
bm5lcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzcw
MzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGb3Ig
bm93IG92ZXJyaWRlUHJlZmVyZW5jZSBzdXBwb3J0cyBib29sZWFuIHZhbHVlcy4KKworICAgICAg
ICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvTGF5b3V0VGVzdENv
bnRyb2xsZXIuaWRsOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
TGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpMYXlvdXRUZXN0Q29udHJv
bGxlcjo6c2V0WFNTQXVkaXRvckVuYWJsZWQpOgorICAgICAgICAoV1RSOjpMYXlvdXRUZXN0Q29u
dHJvbGxlcjo6b3ZlcnJpZGVQcmVmZXJlbmNlKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL0xheW91dFRlc3RDb250cm9sbGVyLmg6CisgICAgICAgICogV2ViS2l0
VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9s
bGVyOjpyZXNldFN0YXRlVG9Db25zaXN0ZW50VmFsdWVzKTogUmVzZXQgdGhlIG92ZXJyaWRlcwor
ICAgICAgICBleHBsaWNpdGx5IGFuZCBwcm9wZXJseSBkaXNhYmxlIHRoZSB1c2Ugb2YgUGFnZUNh
Y2hlIHdoZW4gcmVzZXR0aW5nIHRoZQorICAgICAgICBzdGF0ZS4gVGVzdHMgdGhhdCB1c2UgUGFn
ZUNhY2hlIGNhbiBub3cgZW5hYmxlIGl0IHZpYSBvdmVycmlkZVByZWZlcmVuY2UuCisKIDIwMTIt
MDEtMjAgIE9qYW4gVmFmYWkgIDxvamFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBjaGVjay13
ZWJraXQtc3R5bGUgb2YgdGhlIGNocm9taXVtIHRlc3RfZXhwZWN0YXRpb25zLnR4dCBmaWxlIHRh
a2VzIHRvbyBsb25nCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL0JpbmRpbmdzL0xheW91dFRlc3RDb250cm9sbGVyLmlkbCBiL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvTGF5b3V0VGVzdENvbnRyb2xsZXIuaWRs
CmluZGV4IDRjZTc0YjBlMTdjZTBhYzQwYWQ4OTdkZGYwNzU4NWY1ZjAzYTRkZjQuLmJhNDVkNDJl
YzE4NDIzNmM1NmU2MjU4NTYzMjM5NmIyMDQzOTFlN2MgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvTGF5b3V0VGVzdENvbnRyb2xsZXIu
aWRsCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3Mv
TGF5b3V0VGVzdENvbnRyb2xsZXIuaWRsCkBAIC0xMzEsNyArMTMxLDEwIEBAIG1vZHVsZSBXVFIg
ewogICAgICAgICB2b2lkIHNldEJhY2tpbmdTY2FsZUZhY3RvcihpbiBkb3VibGUgYmFja2luZ1Nj
YWxlRmFjdG9yLCBpbiBvYmplY3QgY2FsbGJhY2spOwogCiAgICAgICAgIHZvaWQgc2V0V2luZG93
SXNLZXkoaW4gYm9vbGVhbiBpc0tleSk7Ci0gICAgICAgIAorCisgICAgICAgIC8vIEZJWE1FOiBo
YW5kbGUgbm9uLWJvb2xlYW4gcHJlZmVyZW5jZXMuCisgICAgICAgIHZvaWQgb3ZlcnJpZGVQcmVm
ZXJlbmNlKGluIERPTVN0cmluZyBwcmVmZXJlbmNlLCBpbiBib29sZWFuIHZhbHVlKTsKKwogICAg
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHBsYXRmb3JtTmFtZTsKICAgICB9Owog
CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0xheW91
dFRlc3RDb250cm9sbGVyLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCmluZGV4IDZjZDJlNDIxNjc2ZDhiMDU2MTAzODQx
M2RkM2QwYjFjNzU4ZjhlNzEuLjM3YThlOTYwM2FiZWVmZTUzZjZkM2JmM2E5ZTdlMDY0Y2FkODFm
NDUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvTGF5
b3V0VGVzdENvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCkBAIC0zNTAsNyArMzUwLDggQEAgdm9p
ZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0Q2FuT3BlbldpbmRvd3MoYm9vbCkKIAogdm9pZCBM
YXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0WFNTQXVkaXRvckVuYWJsZWQoYm9vbCBlbmFibGVkKQog
ewotICAgIFdLQnVuZGxlT3ZlcnJpZGVYU1NBdWRpdG9yRW5hYmxlZEZvclRlc3RSdW5uZXIoSW5q
ZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLmJ1bmRsZSgpLCBJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCku
cGFnZUdyb3VwKCksIHRydWUpOworICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBrZXkoQWRv
cHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIldlYktpdFhTU0F1ZGl0b3JFbmFi
bGVkIikpOworICAgIFdLQnVuZGxlT3ZlcnJpZGVCb29sUHJlZmVyZW5jZUZvclRlc3RSdW5uZXIo
SW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLmJ1bmRsZSgpLCBJbmplY3RlZEJ1bmRsZTo6c2hhcmVk
KCkucGFnZUdyb3VwKCksIGtleS5nZXQoKSwgZW5hYmxlZCk7CiB9CiAKIHZvaWQgTGF5b3V0VGVz
dENvbnRyb2xsZXI6OnNldEFsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzKGJvb2wgZW5h
YmxlZCkKQEAgLTYwMyw0ICs2MDQsOSBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpjYWxs
U2V0QmFja2luZ1NjYWxlRmFjdG9yQ2FsbGJhY2soKQogICAgIGNhbGxMYXlvdXRUZXN0Q29udHJv
bGxlckNhbGxiYWNrKFNldEJhY2tpbmdTY2FsZUZhY3RvckNhbGxiYWNrSUQpOwogfQogCit2b2lk
IExheW91dFRlc3RDb250cm9sbGVyOjpvdmVycmlkZVByZWZlcmVuY2UoSlNTdHJpbmdSZWYgcHJl
ZmVyZW5jZSwgYm9vbCB2YWx1ZSkKK3sKKyAgICBXS0J1bmRsZU92ZXJyaWRlQm9vbFByZWZlcmVu
Y2VGb3JUZXN0UnVubmVyKEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5idW5kbGUoKSwgSW5qZWN0
ZWRCdW5kbGU6OnNoYXJlZCgpLnBhZ2VHcm91cCgpLCB0b1dLKHByZWZlcmVuY2UpLmdldCgpLCB2
YWx1ZSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdUUgpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCmlu
ZGV4IGI0N2NiNDc1NmFmOTYwMjBiNWY4YWVjMzk1NzdmNWEzNDc0ZmM2MjQuLjlhNGJiMDE5OWI5
YmE1YTlmODc5ZjQ3M2Q1ZGIwZDBiNjRlOTM5NDIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaAorKysgYi9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0xheW91dFRlc3RDb250cm9sbGVyLmgK
QEAgLTE5MCw2ICsxOTAsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBjYWxsRm9jdXNXZWJWaWV3Q2Fs
bGJhY2soKTsKICAgICB2b2lkIGNhbGxTZXRCYWNraW5nU2NhbGVGYWN0b3JDYWxsYmFjaygpOwog
CisgICAgdm9pZCBvdmVycmlkZVByZWZlcmVuY2UoSlNTdHJpbmdSZWYgcHJlZmVyZW5jZSwgYm9v
bCB2YWx1ZSk7CisKICAgICBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gcGxhdGZvcm1OYW1lKCk7
CiAgICAgCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0
Q29udHJvbGxlci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNw
cAppbmRleCA5ZDUzOTU5OTI2NWZmZDgyNDA1MjhhNjdlMDQ3MmI5NDE2MDhkZDZkLi42OWJhNjZm
N2FkZDJhYzZmMWExNWQwNDkyZmY0OWJmMDMzNjdhYjQ3IDEwMDY0NAotLS0gYS9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL1Rlc3RDb250cm9sbGVyLmNwcApAQCAtNDE1LDYgKzQxNSw3IEBAIGJvb2wgVGVzdENvbnRy
b2xsZXI6OnJlc2V0U3RhdGVUb0NvbnNpc3RlbnRWYWx1ZXMoKQogCiAgICAgLy8gUmVzZXQgcHJl
ZmVyZW5jZXMKICAgICBXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzID0gV0tQYWdlR3JvdXBH
ZXRQcmVmZXJlbmNlcyhtX3BhZ2VHcm91cC5nZXQoKSk7CisgICAgV0tQcmVmZXJlbmNlc1Jlc2V0
VGVzdFJ1bm5lck92ZXJyaWRlcyhwcmVmZXJlbmNlcyk7CiAgICAgV0tQcmVmZXJlbmNlc1NldE9m
ZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlRW5hYmxlZChwcmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAg
V0tQcmVmZXJlbmNlc1NldEZvbnRTbW9vdGhpbmdMZXZlbChwcmVmZXJlbmNlcywga1dLRm9udFNt
b290aGluZ0xldmVsTm9TdWJwaXhlbEFudGlBbGlhc2luZyk7CiAgICAgV0tQcmVmZXJlbmNlc1Nl
dFhTU0F1ZGl0b3JFbmFibGVkKHByZWZlcmVuY2VzLCBmYWxzZSk7CkBAIC00MjcsNiArNDI4LDcg
QEAgYm9vbCBUZXN0Q29udHJvbGxlcjo6cmVzZXRTdGF0ZVRvQ29uc2lzdGVudFZhbHVlcygpCiAj
aWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQogICAgIFdLUHJlZmVyZW5jZXNTZXRGdWxsU2NyZWVu
RW5hYmxlZChwcmVmZXJlbmNlcywgdHJ1ZSk7CiAjZW5kaWYKKyAgICBXS1ByZWZlcmVuY2VzU2V0
UGFnZUNhY2hlRW5hYmxlZChwcmVmZXJlbmNlcywgZmFsc2UpOwogCiAvLyBbUXRdW1dLMl1SRUdS
RVNTSU9OKHIxMDQ4ODEpOkl0IGJyb2tlIGh1bmRyZWRzIG9mIHRlc3RzCiAvLyBGSVhNRTogaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjQ3CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNTBiMmFh
NGU1ZmRiYjgzZDlkODdjZjhiZmVlNjk5YTI1Y2RmZWY0Ny4uNjNhNjI0YzkxZjU1ZTg4NWYzMzg2
YWMyYzJkMmIzMmU3YzNiMGU4NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDEyLTAxLTI1ICBD
YWlvIE1hcmNlbG8gZGUgT2xpdmVpcmEgRmlsaG8gIDxjYWlvLm9saXZlaXJhQG9wZW5ib3NzYS5v
cmc+CisKKyAgICAgICAgSW1wbGVtZW50IG92ZXJyaWRlUHJlZmVyZW5jZSBmb3IgYm9vbGVhbiBw
cmVmZXJlbmNlcyBpbiBXZWJLaXRUZXN0UnVubmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NzAzMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vd2syL1NraXBwZWQ6CisKIDIwMTItMDEt
MjQgIEFiaGlzaGVrIEFyeWEgIDxpbmZlcm5vQGNocm9taXVtLm9yZz4KIAogICAgICAgICBDcmFz
aCB3aGVuIHJlbmRlcmluZyAtd2Via2l0LWNvbHVtbi1zcGFuLgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2syL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvU2tp
cHBlZAppbmRleCA1ZGY5ODliNjRhMDc1ZDFjZDMxOWVmNWY2ZjllZmMxNzczNTk3NzcwLi4xZDU2
NGY5MGI1ZDBkYzc5NzM4ODkwM2ZjNWQ3NjhkNTEyY2ZiM2ZhIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93azIvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIv
U2tpcHBlZApAQCAtMTkyLDcgKzE5Miw2IEBAIGNvbXBvc2l0aW5nL3ZpZGVvLXBhZ2UtdmlzaWJp
bGl0eS5odG1sCiBjc3MzL2ZpbHRlcnMvY3VzdG9tLWZpbHRlci5odG1sCiBmYXN0L2NhbnZhcy93
ZWJnbC9mcmFtZWJ1ZmZlci1vYmplY3QtYXR0YWNobWVudC5odG1sCiBmYXN0L2NhbnZhcy93ZWJn
bC9nbC12ZXJ0ZXgtYXR0cmliLXplcm8taXNzdWVzLmh0bWwKLWZhc3QvZXZlbnRzL3BhZ2VoaWRl
LXRpbWVvdXQuaHRtbAogZmFzdC9jYW52YXMvd2ViZ2wvZ2wtZ2V0c2hhZGVyc291cmNlLmh0bWwK
IGZhc3QvY2FudmFzL3dlYmdsL3RleC1zdWItaW1hZ2UtMmQtYmFkLWFyZ3MuaHRtbAogZmFzdC9j
YW52YXMvd2ViZ2wvV2ViR0xDb250ZXh0RXZlbnQuaHRtbApAQCAtMjg3LDQ2ICsyODYsMTEgQEAg
ZmFzdC9jYW52YXMvd2ViZ2wvdW5pZm9ybS1sb2NhdGlvbi5odG1sCiBmYXN0L2NhbnZhcy93ZWJn
bC92aWV3cG9ydC11bmNoYW5nZWQtdXBvbi1yZXNpemUuaHRtbAogZmFzdC9jYW52YXMvd2ViZ2wv
d2ViZ2wtYXJyYXktaW52YWxpZC1yYW5nZXMuaHRtbAogZmFzdC9jYW52YXMvd2ViZ2wvd2ViZ2wt
c3BlY2lmaWMuaHRtbAotZmFzdC9kb20vR2VvbG9jYXRpb24vbm8tcGFnZS1jYWNoZS5odG1sCi1m
YXN0L2RvbS9XaW5kb3cvdGltZXItcmVzdW1lLW9uLW5hdmlnYXRpb24tYmFjay5odG1sCi1mYXN0
L2V2ZW50cy9vbnVubG9hZC1iYWNrLXRvLXBhZ2UtY2FjaGUuaHRtbAotZmFzdC9ldmVudHMvcGFn
ZXNob3ctcGFnZWhpZGUtb24tYmFjay1jYWNoZWQtd2l0aC1mcmFtZXMuaHRtbAotZmFzdC9ldmVu
dHMvcGFnZXNob3ctcGFnZWhpZGUtb24tYmFjay1jYWNoZWQuaHRtbAotZmFzdC9ldmVudHMvdGFi
LWZvY3VzLWFuY2hvci5odG1sCi1mYXN0L2ZyYW1lcy9mcmFtZS1jcmFzaC13aXRoLXBhZ2UtY2Fj
aGUuaHRtbAogZmFzdC9oYXJuZXNzL292ZXJyaWRlLXByZWZlcmVuY2VzLTIuaHRtbAotZmFzdC9o
YXJuZXNzL292ZXJyaWRlLXByZWZlcmVuY2VzLmh0bWwKLWZhc3QvaGFybmVzcy9wYWdlLWNhY2hl
LWNyYXNoLW9uLWRhdGEtdXJscy5odG1sCi1mYXN0L2hhcm5lc3MvdXNlLXBhZ2UtY2FjaGUuaHRt
bAotZmFzdC9oaXN0b3J5L3RpbWVkLXJlZnJlc2gtaW4tY2FjaGVkLWZyYW1lLmh0bWwKIGZhc3Qv
aW1hZ2VzL2FuaW1hdGVkLWdpZi1yZXN0b3JlZC1mcm9tLWJmY2FjaGUuaHRtbAotZmFzdC9sb2Fk
ZXIvZnJhbWVzLXdpdGgtdW5sb2FkLWhhbmRsZXJzLWluLXBhZ2UtY2FjaGUuaHRtbAotZmFzdC9s
b2FkZXIvaW5wdXQtZWxlbWVudC1wYWdlLWNhY2hlLWNyYXNoLmh0bWwKLWZhc3QvbG9hZGVyL3Nj
cm9sbC1wb3NpdGlvbi1yZXN0b3JlZC1vbi1iYWNrLmh0bWwKLWZhc3QvbG9hZGVyL3N0YXRlb2Jq
ZWN0cy9wb3BzdGF0ZS1maXJlcy13aXRoLXBhZ2UtY2FjaGUuaHRtbAotZmFzdC9sb2FkZXIvdW5z
Y2hlZHVsZS1yZWxheW91dC1hZnRlci11bmxvYWQuaHRtbAotZmFzdC9wYXJzZXIvbm9zY3JpcHQt
d2l0aC1qYXZhc2NyaXB0LWRpc2FibGVkLmh0bWwKLWZhc3QvcGFyc2VyL25vc2NyaXB0LXdpdGgt
amF2YXNjcmlwdC1lbmFibGVkLmh0bWwKIGZhc3QvcmVwYWludC9uby1jYXJldC1yZXBhaW50LWlu
LW5vbi1jb250ZW50LWVkaXRhYmxlLWVsZW1lbnQuaHRtbAogZmFzdC90ZXh0L3plcm8tZm9udC1z
aXplLmh0bWwKIGZhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL2xvY2FsZS1zZW5zaXRpdmUtZm9udHMu
aHRtbAotaHR0cC90ZXN0cy9hcHBjYWNoZS9kaXNhYmxlZC5odG1sCi1jc3MzL2ZpbHRlcnMvY3Vz
dG9tLWZpbHRlci1zaGFkZXItY2FjaGUuaHRtbAotY3NzMy9maWx0ZXJzL2VmZmVjdC1ibHVyLmh0
bWwKLWNzczMvZmlsdGVycy9lZmZlY3QtYnJpZ2h0bmVzcy5odG1sCi1jc3MzL2ZpbHRlcnMvZWZm
ZWN0LWNvbnRyYXN0Lmh0bWwKLWNzczMvZmlsdGVycy9lZmZlY3QtY3VzdG9tLWNvbWJpbmVkLW1p
c3NpbmcuaHRtbAotY3NzMy9maWx0ZXJzL2VmZmVjdC1jdXN0b20tcGFyYW1ldGVycy5odG1sCi1j
c3MzL2ZpbHRlcnMvZWZmZWN0LWRyb3Atc2hhZG93Lmh0bWwKLWNzczMvZmlsdGVycy9lZmZlY3Qt
Z3JheXNjYWxlLmh0bWwKLWNzczMvZmlsdGVycy9lZmZlY3QtaHVlLXJvdGF0ZS5odG1sCi1jc3Mz
L2ZpbHRlcnMvZWZmZWN0LWludmVydC5odG1sCi1jc3MzL2ZpbHRlcnMvZWZmZWN0LW9wYWNpdHku
aHRtbAotY3NzMy9maWx0ZXJzL2VmZmVjdC1zYXR1cmF0ZS5odG1sCi1jc3MzL2ZpbHRlcnMvZWZm
ZWN0LXNlcGlhLmh0bWwKLWNzczMvZmlsdGVycy9taXNzaW5nLWN1c3RvbS1maWx0ZXItc2hhZGVy
Lmh0bWwKLWNzczMvZmlsdGVycy9lZmZlY3QtY3VzdG9tLmh0bWwKLWNzczMvZmlsdGVycy9lZmZl
Y3QtY3VzdG9tLWRpc2FibGVkLmh0bWwKIGNzczMvZmlsdGVycy9lZmZlY3QtY29tYmluZWQuaHRt
bAogY3NzMy9maWx0ZXJzL2ZpbHRlci1yZXBhaW50Lmh0bWwKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124118</attachid>
            <date>2012-01-26 08:09:27 -0800</date>
            <delta_ts>2012-01-26 09:10:45 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-77033-20120126130928.patch</filename>
            <type>text/plain</type>
            <size>23463</size>
            <attacher name="Caio Marcelo de Oliveira Filho">cmarcelo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2MDAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMmJiNzMwNTc4Yjc5OGVh
Njk5OGQ3ODIyYzYxNmRhMTU4NzQyZDljZi4uMDA1YWIwMDgzODZkNTFlMzdjYzAwMzEwYjY4MmFj
ZWFkN2I0NWExOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDEyLTAxLTI1ICBDYWlv
IE1hcmNlbG8gZGUgT2xpdmVpcmEgRmlsaG8gIDxjYWlvLm9saXZlaXJhQG9wZW5ib3NzYS5vcmc+
CisKKyAgICAgICAgSW1wbGVtZW50IG92ZXJyaWRlUHJlZmVyZW5jZSBmb3IgYm9vbGVhbiBwcmVm
ZXJlbmNlcyBpbiBXZWJLaXRUZXN0UnVubmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03NzAzMworCisgICAgICAgIFJldmlld2VkIGJ5IEFsZXhleSBQ
cm9za3VyeWFrb3YuCisKKyAgICAgICAgSW1wbGVtZW50IGEgd2F5IHRvIFdlYktpdFRlc3RSdW5u
ZXIgb3ZlcnJpZGUgcHJlZmVyZW5jZXMgZm9yIHRoZSBwYWdlcworICAgICAgICBsb2FkZWQuIEZv
bGxvd3MgdGhlIHNhbWUgYXBwcm9hY2ggdGFrZW4gYnkKKyAgICAgICAgb3ZlcnJpZGVYU1NBdWRp
dG9yRW5hYmxlZEZvclRlc3RSdW5uZXIoKSBmcm9tIHI2NjU1MSwgYnV0IGdlbmVyYWxpemluZyB0
byBtYW55CisgICAgICAgIHByZWZlcmVuY2VzLgorCisgICAgICAgIFByZWZlcmVuY2VzIGFyZSBz
dG9yZWQgaW4gdGhlIFVJIHByb2Nlc3MgdXNpbmcgV2ViUHJlZmVyZW5jZXNTdG9yZSwgYW5kIHdo
ZW4KKyAgICAgICAgdGhlcmUncyBhIGNoYW5nZSwgdGhpcyBkYXRhIGlzIHNlbnQgdG8gV2ViIHBy
b2Nlc3MsIHRyaWdnZXJpbmcKKyAgICAgICAgV2ViUGFnZTo6cHJlZmVyZW5jZXNEaWRDaGFuZ2Uo
KSwgd2hpY2ggdGFrZSBhIFdlYlByZWZlcmVuY2VzU3RvcmUgYW5kIGFwcGx5IGl0J3MKKyAgICAg
ICAgZGF0YSB0byB0aGUgV2ViQ29yZTo6U2V0dGluZ3Mgb2JqZWN0LgorCisgICAgICAgIFRoZSBv
dmVycmlkZVByZWZlcmVuY2UoKSBpcyBleGVjdXRlZCBvbiB0aGUgV2ViIHByb2Nlc3MsIGFuZCBz
ZXQgdGhlIHByZWZlcmVuY2VzCisgICAgICAgIHdpdGhvdXQgY29tbXVuaWNhdGluZyB0byB0aGUg
VUkgcHJvY2Vzcy4gVGhlIG92ZXJyaWRlbiBwcmVmZXJlbmNlcyBhcmUgc3RvcmVkIGluCisgICAg
ICAgIGEgc3RhdGljIG1hcCBhbmQgV2ViUHJlZmVyZW5jZXNTdG9yZSBxdWVyeSB0aGlzIG1hcCBi
ZWZvcmUgcmV0dXJuaW5nIHRoZSB2YWx1ZXMKKyAgICAgICAgb2YgZWFjaCBwcmVmZXJlbmNlLiBU
aGlzIHN0YXRpYyBtYXAgaXMgdXNlZCBvbmx5IG9uIHRoZSBXZWIgcHJvY2Vzcy4KKworICAgICAg
ICBUbyBjbGVhciB0aGUgb3ZlcnJpZGVzIHdlIG5lZWQgdG8gY2xlYXIgdGhlIG1hcC4gU2luY2Ug
V1RSIG9ubHkgc2V0cyBwcmVmZXJlbmNlcworICAgICAgICB3aGVuIHJlc2V0dGluZyB0aGUgcGFn
ZSwgd2UgaG9vayB0aGUgY2xlYXJpbmcgYXQgV2ViUGFnZTo6cHJlZmVyZW5jZXNEaWRDaGFuZ2Uo
KS4KKyAgICAgICAgQSBXS1ByZWZlcmVuY2VzIHByaXZhdGUgZnVuY3Rpb24gd2FzIGV4cG9zZWQg
dG8gV1RSIGZvcmNlIHRoZSB1cGRhdGUsIGluIGNhc2UKKyAgICAgICAgdGhlcmUncyBubyBlZmZl
Y3RpdmUgY2hhbmdlIGF0IFVJIHByb2Nlc3MgKGFsbCB0aGUgcHJvcGVydGllcyByZW1haW5zIHRo
ZSBzYW1lKS4KKworICAgICAgICBUaGlzIGNsZWFyaW5nIGNvdWxkIGJlIGltcHJvdmVkIGJ5IGNy
ZWF0aW5nIGEgcHJvcGVyIG1lc3NhZ2UgaW5zdGVhZCBvZiBob29raW5nCisgICAgICAgIGF0IFdl
YlBhZ2U6OnByZWZlcmVuY2VzRGlkQ2hhbmdlKCkuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJl
ZmVyZW5jZXNTdG9yZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6
OmRlY29kZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6Om92ZXJyaWRl
Qm9vbFZhbHVlRm9yS2V5KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJlZmVyZW5jZXNTdG9yZTo6
cmVtb3ZlVGVzdFJ1bm5lck92ZXJyaWRlcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByZWZlcmVu
Y2VzU3RvcmU6OmdldEJvb2xWYWx1ZUZvcktleSk6CisgICAgICAgICogU2hhcmVkL1dlYlByZWZl
cmVuY2VzU3RvcmUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5j
cHA6CisgICAgICAgIChXS1ByZWZlcmVuY2VzUmVzZXRUZXN0UnVubmVyT3ZlcnJpZGVzKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1ByaXZhdGUuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJlZmVy
ZW5jZXM6OmZvcmNlVXBkYXRlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0FQSS9jL1dLQnVuZGxlLmNwcDoKKyAgICAgICAgKFdLQnVuZGxlT3ZlcnJpZGVCb29sUHJlZmVy
ZW5jZUZvclRlc3RSdW5uZXIpOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
QVBJL2MvV0tCdW5kbGVQcml2YXRlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkluamVjdGVkQnVuZGxl
OjpvdmVycmlkZUJvb2xQcmVmZXJlbmNlRm9yVGVzdFJ1bm5lcik6CisgICAgICAgIChXZWJLaXQ6
OkluamVjdGVkQnVuZGxlOjpvdmVycmlkZVhTU0F1ZGl0b3JFbmFibGVkRm9yVGVzdFJ1bm5lcik6
CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oOgor
CiAyMDEyLTAxLTI2ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4K
IAogICAgICAgICBbR1RLXVtXSzJdIFByaW1hcnkgY2xpcGJvYXJkIHNob3VsZCBiZSB1cGRhdGVk
IHdpdGggdGhlIGN1cnJlbnQgc2VsZWN0aW9uIGluIFgxMSBwbGF0Zm9ybXMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmNwcAppbmRleCAxMzhmNjkxMDU1MDc5
NTBkNmY0ODhjMjFlNjYyODRlYTE0NjE5MDhhLi4xZTRiYjA1OTE4YWIzODA5OTI4ZmNkNzE2MTlh
ZGM5YmQ0ZjRiNjkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVy
ZW5jZXNTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2Vz
U3RvcmUuY3BwCkBAIC00OCw4ICs0OCw3IEBAIG5hbWVzcGFjZSBXZWJQcmVmZXJlbmNlc0tleSB7
CiB9IC8vIG5hbWVzcGFjZSBXZWJQcmVmZXJlbmNlc0tleQogCiAKLXN0YXRpYyBib29sIGhhc1hT
U0F1ZGl0b3JFbmFibGVkVGVzdFJ1bm5lck92ZXJyaWRlOwotc3RhdGljIGJvb2wgeHNzQXVkaXRv
ckVuYWJsZWRUZXN0UnVubmVyT3ZlcnJpZGU7CitzdGF0aWMgSGFzaE1hcDxTdHJpbmcsIGJvb2w+
IGJvb2xUZXN0UnVubmVyT3ZlcnJpZGVzTWFwOwogCiBXZWJQcmVmZXJlbmNlc1N0b3JlOjpXZWJQ
cmVmZXJlbmNlc1N0b3JlKCkKIHsKQEAgLTczLDIyICs3MiwxNyBAQCBib29sIFdlYlByZWZlcmVu
Y2VzU3RvcmU6OmRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqIGRlY29kZXIsIFdlYlBy
ZWZlcmVuYwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUo
cmVzdWx0Lm1fZG91YmxlVmFsdWVzKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgaWYg
KGhhc1hTU0F1ZGl0b3JFbmFibGVkVGVzdFJ1bm5lck92ZXJyaWRlKQotICAgICAgICByZXN1bHQu
bV9ib29sVmFsdWVzLnNldChXZWJQcmVmZXJlbmNlc0tleTo6eHNzQXVkaXRvckVuYWJsZWRLZXko
KSwgeHNzQXVkaXRvckVuYWJsZWRUZXN0UnVubmVyT3ZlcnJpZGUpOwotCiAgICAgcmV0dXJuIHRy
dWU7CiB9CiAKLXZvaWQgV2ViUHJlZmVyZW5jZXNTdG9yZTo6b3ZlcnJpZGVYU1NBdWRpdG9yRW5h
YmxlZEZvclRlc3RSdW5uZXIoYm9vbCBlbmFibGVkKQordm9pZCBXZWJQcmVmZXJlbmNlc1N0b3Jl
OjpvdmVycmlkZUJvb2xWYWx1ZUZvcktleShjb25zdCBTdHJpbmcmIGtleSwgYm9vbCB2YWx1ZSkK
IHsKLSAgICBoYXNYU1NBdWRpdG9yRW5hYmxlZFRlc3RSdW5uZXJPdmVycmlkZSA9IHRydWU7Ci0g
ICAgeHNzQXVkaXRvckVuYWJsZWRUZXN0UnVubmVyT3ZlcnJpZGUgPSBlbmFibGVkOworICAgIGJv
b2xUZXN0UnVubmVyT3ZlcnJpZGVzTWFwLnNldChrZXksIHZhbHVlKTsKIH0KIAogdm9pZCBXZWJQ
cmVmZXJlbmNlc1N0b3JlOjpyZW1vdmVUZXN0UnVubmVyT3ZlcnJpZGVzKCkKIHsKLSAgICBoYXNY
U1NBdWRpdG9yRW5hYmxlZFRlc3RSdW5uZXJPdmVycmlkZSA9IGZhbHNlOworICAgIGJvb2xUZXN0
UnVubmVyT3ZlcnJpZGVzTWFwLmNsZWFyKCk7CiB9CiAKIApAQCAtMTg1LDYgKzE3OSwxMCBAQCBi
b29sIFdlYlByZWZlcmVuY2VzU3RvcmU6OnNldEJvb2xWYWx1ZUZvcktleShjb25zdCBTdHJpbmcm
IGtleSwgYm9vbCB2YWx1ZSkKIAogYm9vbCBXZWJQcmVmZXJlbmNlc1N0b3JlOjpnZXRCb29sVmFs
dWVGb3JLZXkoY29uc3QgU3RyaW5nJiBrZXkpIGNvbnN0CiB7CisgICAgLy8gRklYTUU6IEV4dGVu
ZCBvdmVycmlkaW5nIHRvIG90aGVyIGtleSB0eXBlcyB1c2VkIGZyb20gTGF5b3V0VGVzdENvbnRy
b2xsZXIuCisgICAgSGFzaE1hcDxTdHJpbmcsIGJvb2w+Ojpjb25zdF9pdGVyYXRvciBpdCA9IGJv
b2xUZXN0UnVubmVyT3ZlcnJpZGVzTWFwLmZpbmQoa2V5KTsKKyAgICBpZiAoaXQgIT0gYm9vbFRl
c3RSdW5uZXJPdmVycmlkZXNNYXAuZW5kKCkpCisgICAgICAgIHJldHVybiBpdC0+c2Vjb25kOwog
ICAgIHJldHVybiB2YWx1ZUZvcktleShtX2Jvb2xWYWx1ZXMsIGtleSk7CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmggYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oCmluZGV4IDUzMWUxODE5YzViMzJm
OTYxNWI3OGI2M2YyNWYzYmMyYmM5N2NkMzkuLjBjZGM5NzU5NGUyNzQ4ZGIwOTRhNDQzZTQxYmE4
NTY2MTljOTRiZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJl
bmNlc1N0b3JlLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3Rv
cmUuaApAQCAtMjE0LDcgKzIxNCw4IEBAIHN0cnVjdCBXZWJQcmVmZXJlbmNlc1N0b3JlIHsKICAg
ICBib29sIHNldERvdWJsZVZhbHVlRm9yS2V5KGNvbnN0IFN0cmluZyYga2V5LCBkb3VibGUgdmFs
dWUpOwogICAgIGRvdWJsZSBnZXREb3VibGVWYWx1ZUZvcktleShjb25zdCBTdHJpbmcmIGtleSkg
Y29uc3Q7CiAKLSAgICBzdGF0aWMgdm9pZCBvdmVycmlkZVhTU0F1ZGl0b3JFbmFibGVkRm9yVGVz
dFJ1bm5lcihib29sKTsKKyAgICAvLyBGb3IgV2ViS2l0VGVzdFJ1bm5lciB1c2FnZS4KKyAgICBz
dGF0aWMgdm9pZCBvdmVycmlkZUJvb2xWYWx1ZUZvcktleShjb25zdCBTdHJpbmcmIGtleSwgYm9v
bCB2YWx1ZSk7CiAgICAgc3RhdGljIHZvaWQgcmVtb3ZlVGVzdFJ1bm5lck92ZXJyaWRlcygpOwog
CiAgICAgSGFzaE1hcDxTdHJpbmcsIFN0cmluZz4gbV9zdHJpbmdWYWx1ZXM7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAKaW5kZXggMjQwN2M1
YzUyNzBjYzdmMjk5YzI0MDZkYzA3NzQ1MDUwYmUzODdmOC4uNjBlN2I3MjY0Y2QyNTBjM2VmODdk
MjQzZjEzMDE4NWMyODExNjJlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS1ByZWZlcmVuY2VzLmNwcApAQCAtNzMxLDMgKzczMSwxMCBAQCBib29sIFdLUHJlZmVy
ZW5jZXNHZXROb3RpZmljYXRpb25zRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2Vz
UmVmKQogewogICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5ub3RpZmljYXRpb25z
RW5hYmxlZCgpOwogfQorCit2b2lkIFdLUHJlZmVyZW5jZXNSZXNldFRlc3RSdW5uZXJPdmVycmlk
ZXMoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZikKK3sKKyAgICAvLyBDdXJyZW50bHkg
d2UgcmVzZXQgdGhlIG92ZXJyaWRlcyBvbiB0aGUgd2ViIHByb2Nlc3Mgd2hlbiBwcmVmZXJlbmNl
c0RpZENoYW5nZSgpIGlzIGNhbGxlZC4gU2luY2UgV1RSIHByZWZlcmVuY2VzCisgICAgLy8gYXJl
IHVzdWFsbHkgYWx3YXlzIHRoZSBzYW1lIChpbiB0aGUgVUkgcHJvY2VzcyksIHRoZXkgYXJlIG5v
dCBzZW50IHRvIHdlYiBwcm9jZXNzLCBub3QgdHJpZ2dlcmluZyB0aGUgcmVzZXQuCisgICAgdG9J
bXBsKHByZWZlcmVuY2VzUmVmKS0+Zm9yY2VVcGRhdGUoKTsKK30KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNQcml2YXRlLmgKaW5kZXggOTFj
MzRiNGE4NTI0OTFjMDFjZWZlZTVhNGQwMjlmYjU5MjdmOTY1MC4uMzIwOGM2ZWEzYjE1NWE3Yzky
OTRkZTdiNjIwYmEwZWY1OTFmOWFhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNQcml2YXRlLmgKQEAgLTE2MCw2ICsxNjAsOCBAQCBX
S19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0TW9ja1Njcm9sbGJhcnNFbmFibGVkKFdLUHJl
ZmVyZW5jZXNSZWYgcHJlZmVyZW5jZQogV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldEFw
cGxpY2F0aW9uQ2hyb21lTW9kZUVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1Jl
ZiwgYm9vbCBlbmFibGVkKTsKIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRBcHBsaWNh
dGlvbkNocm9tZU1vZGVFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpOwog
CitXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzUmVzZXRUZXN0UnVubmVyT3ZlcnJpZGVzKFdL
UHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpOworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0K
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByZWZlcmVu
Y2VzLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMuaAppbmRleCAw
ZjQ5NDNhYjY4ZmE4NjU5MzJkYTNhYmQyY2UxNmYwYTAxYzY1NGViLi41M2I2MTAyMDBiZjllZTc3
NjU5M2FiYjU4MjU5MzU0ODk0YWUzMzVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUHJlZmVyZW5jZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UHJlZmVyZW5jZXMuaApAQCAtNjksNiArNjksOSBAQCBwdWJsaWM6CiAKICN1bmRlZiBERUNMQVJF
X1BSRUZFUkVOQ0VfR0VUVEVSX0FORF9TRVRURVJTCiAKKyAgICAvLyBFeHBvc2VkIGZvciBXZWJL
aXRUZXN0UnVubmVyIHVzZSBvbmx5LgorICAgIHZvaWQgZm9yY2VVcGRhdGUoKSB7IHVwZGF0ZSgp
OyB9CisKIHByaXZhdGU6CiAgICAgV2ViUHJlZmVyZW5jZXMoKTsKICAgICBXZWJQcmVmZXJlbmNl
cyhjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlLmNwcAppbmRleCBm
NDAxM2ExMTQ2OWE5OWMzOWUxOThiZjNhNTEzMDM5MjNjYTNkMmE5Li44NzM5MzEyMjA3OWNjNjkx
YzcwMDI0NTY5N2E5NjI1ZTIxZTQxMGJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlLmNwcApAQCAtMTI2
LDkgKzEyNiw5IEBAIHZvaWQgV0tCdW5kbGVSZW1vdmVBbGxVc2VyQ29udGVudChXS0J1bmRsZVJl
ZiBidW5kbGVSZWYsIFdLQnVuZGxlUGFnZUdyb3VwUmVmIHBhCiAgICAgdG9JbXBsKGJ1bmRsZVJl
ZiktPnJlbW92ZUFsbFVzZXJDb250ZW50KHRvSW1wbChwYWdlR3JvdXBSZWYpKTsKIH0KIAotdm9p
ZCBXS0J1bmRsZU92ZXJyaWRlWFNTQXVkaXRvckVuYWJsZWRGb3JUZXN0UnVubmVyKFdLQnVuZGxl
UmVmIGJ1bmRsZVJlZiwgV0tCdW5kbGVQYWdlR3JvdXBSZWYgcGFnZUdyb3VwUmVmLCBib29sIGVu
YWJsZWQpCit2b2lkIFdLQnVuZGxlT3ZlcnJpZGVCb29sUHJlZmVyZW5jZUZvclRlc3RSdW5uZXIo
V0tCdW5kbGVSZWYgYnVuZGxlUmVmLCBXS0J1bmRsZVBhZ2VHcm91cFJlZiBwYWdlR3JvdXBSZWYs
IFdLU3RyaW5nUmVmIHByZWZlcmVuY2UsIGJvb2wgZW5hYmxlZCkKIHsKLSAgICB0b0ltcGwoYnVu
ZGxlUmVmKS0+b3ZlcnJpZGVYU1NBdWRpdG9yRW5hYmxlZEZvclRlc3RSdW5uZXIodG9JbXBsKHBh
Z2VHcm91cFJlZiksIGVuYWJsZWQpOworICAgIHRvSW1wbChidW5kbGVSZWYpLT5vdmVycmlkZUJv
b2xQcmVmZXJlbmNlRm9yVGVzdFJ1bm5lcih0b0ltcGwocGFnZUdyb3VwUmVmKSwgdG9JbXBsKHBy
ZWZlcmVuY2UpLT5zdHJpbmcoKSwgZW5hYmxlZCk7CiB9CiAKIHZvaWQgV0tCdW5kbGVTZXRBbGxv
d1VuaXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJMcyhXS0J1bmRsZVJlZiBidW5kbGVSZWYsIFdLQnVu
ZGxlUGFnZUdyb3VwUmVmIHBhZ2VHcm91cFJlZiwgYm9vbCBlbmFibGVkKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBy
aXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2Mv
V0tCdW5kbGVQcml2YXRlLmgKaW5kZXggOWEyZmJmYTBmOTZlMDAwYTA0NjZhOTkxYzI4NTkxODU2
M2QyYjNlZS4uYjM3MWY1NmE1ZmExZDRhZTMwYThjZTc2YzE0NDY1MDdlYjkyMWIzYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1
bmRsZVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0FQSS9jL1dLQnVuZGxlUHJpdmF0ZS5oCkBAIC02NCw3ICs2NCw4IEBAIFdLX0VYUE9SVCB2
b2lkIFdLQnVuZGxlUmVtb3ZlVXNlclN0eWxlU2hlZXRzKFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tC
dW5kbGVQYWdlR3JvCiBXS19FWFBPUlQgdm9pZCBXS0J1bmRsZVJlbW92ZUFsbFVzZXJDb250ZW50
KFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tCdW5kbGVQYWdlR3JvdXBSZWYgcGFnZUdyb3VwKTsKIAog
Ly8gV2lsbCBtYWtlIFdlYlByb2Nlc3MgaWdub3JlIHRoaXMgcHJlZmVyZW5jZSB1bnRpbCBhIHBy
ZWZlcmVuY2VzIGNoYW5nZSBub3RpZmljYXRpb24sIG9ubHkgZm9yIFdlYktpdFRlc3RSdW5uZXIg
dXNlLgotV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVPdmVycmlkZVhTU0F1ZGl0b3JFbmFibGVkRm9y
VGVzdFJ1bm5lcihXS0J1bmRsZVJlZiBidW5kbGUsIFdLQnVuZGxlUGFnZUdyb3VwUmVmIHBhZ2VH
cm91cCwgYm9vbCBlbmFibGVkKTsKK1dLX0VYUE9SVCB2b2lkIFdLQnVuZGxlT3ZlcnJpZGVCb29s
UHJlZmVyZW5jZUZvclRlc3RSdW5uZXIoV0tCdW5kbGVSZWYgYnVuZGxlLCBXS0J1bmRsZVBhZ2VH
cm91cFJlZiBwYWdlR3JvdXAsIFdLU3RyaW5nUmVmIHByZWZlcmVuY2UsIGJvb2wgZW5hYmxlZCk7
CisKIFdLX0VYUE9SVCB2b2lkIFdLQnVuZGxlU2V0QWxsb3dVbml2ZXJzYWxBY2Nlc3NGcm9tRmls
ZVVSTHMoV0tCdW5kbGVSZWYgYnVuZGxlLCBXS0J1bmRsZVBhZ2VHcm91cFJlZiBwYWdlR3JvdXAs
IGJvb2wgZW5hYmxlZCk7CiBXS19FWFBPUlQgdm9pZCBXS0J1bmRsZVNldEFsbG93RmlsZUFjY2Vz
c0Zyb21GaWxlVVJMcyhXS0J1bmRsZVJlZiBidW5kbGUsIFdLQnVuZGxlUGFnZUdyb3VwUmVmIHBh
Z2VHcm91cCwgYm9vbCBlbmFibGVkKTsKIFdLX0VYUE9SVCB2b2lkIFdLQnVuZGxlU2V0RnJhbWVG
bGF0dGVuaW5nRW5hYmxlZChXS0J1bmRsZVJlZiBidW5kbGUsIFdLQnVuZGxlUGFnZUdyb3VwUmVm
IHBhZ2VHcm91cCwgYm9vbCBlbmFibGVkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKaW5kZXggNmJj
M2MwODU0MDFhYzBkYmNmMTQxMDJkZTU2Y2M1ZTZlMzkxZGU5ZC4uNDFiMjM3NGVhODM4ODA4MTcy
ZGNhZWYwMmIwNDdjZjhmNWU3MmIzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKQEAgLTMxLDYg
KzMxLDcgQEAKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZU1lc3NhZ2VLaW5kcy5oIgogI2luY2x1
ZGUgIkluamVjdGVkQnVuZGxlU2NyaXB0V29ybGQuaCIKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRs
ZVVzZXJNZXNzYWdlQ29kZXJzLmgiCisjaW5jbHVkZSAiTGF5ZXJUcmVlSG9zdC5oIgogI2luY2x1
ZGUgIldLQVBJQ2FzdC5oIgogI2luY2x1ZGUgIldLQnVuZGxlQVBJQ2FzdC5oIgogI2luY2x1ZGUg
IldlYkFwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyLmgiCkBAIC0xMTcsMTAgKzExOCw1MiBAQCB2b2lk
IEluamVjdGVkQnVuZGxlOjpyZW1vdmVBbGxWaXNpdGVkTGlua3MoKQogICAgIFBhZ2VHcm91cDo6
cmVtb3ZlQWxsVmlzaXRlZExpbmtzKCk7CiB9CiAKK3ZvaWQgSW5qZWN0ZWRCdW5kbGU6Om92ZXJy
aWRlQm9vbFByZWZlcmVuY2VGb3JUZXN0UnVubmVyKFdlYlBhZ2VHcm91cFByb3h5KiBwYWdlR3Jv
dXAsIGNvbnN0IFN0cmluZyYgcHJlZmVyZW5jZSwgYm9vbCBlbmFibGVkKQoreworICAgIGNvbnN0
IEhhc2hTZXQ8UGFnZSo+JiBwYWdlcyA9IFBhZ2VHcm91cDo6cGFnZUdyb3VwKHBhZ2VHcm91cC0+
aWRlbnRpZmllcigpKS0+cGFnZXMoKTsKKworICAgIC8vIEZJWE1FOiBOZWVkIGFuIGV4cGxpY2l0
IHdheSB0byBzZXQgIldlYktpdFRhYlRvTGlua3NQcmVmZXJlbmNlS2V5IiBkaXJlY3RseSBpbiBX
ZWJQYWdlLgorCisgICAgLy8gTWFwIHRoZSBuYW1lcyB1c2VkIGluIExheW91dFRlc3RzIHdpdGgg
dGhlIG5hbWVzIHVzZWQgaW4gV2ViQ29yZTo6U2V0dGluZ3MgYW5kIFdlYlByZWZlcmVuY2VzU3Rv
cmUuCisjZGVmaW5lIEZPUl9FQUNIX09WRVJSSURFX0JPT0xfUFJFRkVSRU5DRShtYWNybykgXAor
ICAgIG1hY3JvKFdlYktpdEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkLCBBY2NlbGVyYXRl
ZENvbXBvc2l0aW5nRW5hYmxlZCwgYWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQpIFwKKyAg
ICBtYWNybyhXZWJLaXRDU1NDdXN0b21GaWx0ZXJFbmFibGVkLCBDU1NDdXN0b21GaWx0ZXJFbmFi
bGVkLCBjc3NDdXN0b21GaWx0ZXJFbmFibGVkKSBcCisgICAgbWFjcm8oV2ViS2l0SmF2YUVuYWJs
ZWQsIEphdmFFbmFibGVkLCBqYXZhRW5hYmxlZCkgXAorICAgIG1hY3JvKFdlYktpdEphdmFTY3Jp
cHRFbmFibGVkLCBTY3JpcHRFbmFibGVkLCBqYXZhU2NyaXB0RW5hYmxlZCkgXAorICAgIG1hY3Jv
KFdlYktpdExvYWRTaXRlSWNvbnNLZXksIExvYWRzU2l0ZUljb25zSWdub3JpbmdJbWFnZUxvYWRp
bmdTZXR0aW5nLCBsb2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VMb2FkaW5nUHJlZmVyZW5jZSkg
XAorICAgIG1hY3JvKFdlYktpdE9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlRW5hYmxlZCwgT2Zm
bGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkLCBvZmZsaW5lV2ViQXBwbGljYXRpb25DYWNo
ZUVuYWJsZWQpIFwKKyAgICBtYWNybyhXZWJLaXRQYWdlQ2FjaGVTdXBwb3J0c1BsdWdpbnNQcmVm
ZXJlbmNlS2V5LCBQYWdlQ2FjaGVTdXBwb3J0c1BsdWdpbnMsIHBhZ2VDYWNoZVN1cHBvcnRzUGx1
Z2lucykgXAorICAgIG1hY3JvKFdlYktpdFBsdWdpbnNFbmFibGVkLCBQbHVnaW5zRW5hYmxlZCwg
cGx1Z2luc0VuYWJsZWQpIFwKKyAgICBtYWNybyhXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5j
ZUtleSwgVXNlc1BhZ2VDYWNoZSwgdXNlc1BhZ2VDYWNoZSkgXAorICAgIG1hY3JvKFdlYktpdFdl
YkF1ZGlvRW5hYmxlZCwgV2ViQXVkaW9FbmFibGVkLCB3ZWJBdWRpb0VuYWJsZWQpIFwKKyAgICBt
YWNybyhXZWJLaXRXZWJHTEVuYWJsZWQsIFdlYkdMRW5hYmxlZCwgd2ViR0xFbmFibGVkKSBcCisg
ICAgbWFjcm8oV2ViS2l0WFNTQXVkaXRvckVuYWJsZWQsIFhTU0F1ZGl0b3JFbmFibGVkLCB4c3NB
dWRpdG9yRW5hYmxlZCkKKworICAgIGlmIChwcmVmZXJlbmNlID09ICJXZWJLaXRBY2NlbGVyYXRl
ZENvbXBvc2l0aW5nRW5hYmxlZCIpCisgICAgICAgIGVuYWJsZWQgPSBlbmFibGVkICYmIExheWVy
VHJlZUhvc3Q6OnN1cHBvcnRzQWNjZWxlcmF0ZWRDb21wb3NpdGluZygpOworCisjZGVmaW5lIE9W
RVJSSURFX1BSRUZFUkVOQ0VfQU5EX1NFVF9JTl9FWElTVElOR19QQUdFUyhUZXN0UnVubmVyTmFt
ZSwgU2V0dGluZ3NOYW1lLCBXZWJQcmVmZXJlbmNlc05hbWUpIFwKKyAgICBpZiAocHJlZmVyZW5j
ZSA9PSAjVGVzdFJ1bm5lck5hbWUpIHsgXAorICAgICAgICBXZWJQcmVmZXJlbmNlc1N0b3JlOjpv
dmVycmlkZUJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6V2ViUHJlZmVyZW5jZXNO
YW1lIyNLZXkoKSwgZW5hYmxlZCk7IFwKKyAgICAgICAgZm9yIChIYXNoU2V0PFBhZ2UqPjo6aXRl
cmF0b3IgaXRlciA9IHBhZ2VzLmJlZ2luKCk7IGl0ZXIgIT0gcGFnZXMuZW5kKCk7ICsraXRlcikg
XAorICAgICAgICAgICAgKCppdGVyKS0+c2V0dGluZ3MoKS0+c2V0IyNTZXR0aW5nc05hbWUoZW5h
YmxlZCk7IFwKKyAgICAgICAgcmV0dXJuOyBcCisgICAgfQorCisgICAgRk9SX0VBQ0hfT1ZFUlJJ
REVfQk9PTF9QUkVGRVJFTkNFKE9WRVJSSURFX1BSRUZFUkVOQ0VfQU5EX1NFVF9JTl9FWElTVElO
R19QQUdFUykKKworI2lmIEVOQUJMRShXRUJfU09DS0VUUykKKyAgICBPVkVSUklERV9QUkVGRVJF
TkNFX0FORF9TRVRfSU5fRVhJU1RJTkdfUEFHRVMoIldlYktpdEhpeGllNzZXZWJTb2NrZXRQcm90
b2NvbEVuYWJsZWQiLCBVc2VIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2wsIGhpeGllNzZXZWJTb2Nr
ZXRQcm90b2NvbEVuYWJsZWQpCisjZW5kaWYKKworI3VuZGVmIE9WRVJSSURFX1BSRUZFUkVOQ0Vf
QU5EX1NFVF9JTl9FWElTVElOR19QQUdFUworI3VuZGVmIEZPUl9FQUNIX09WRVJSSURFX0JPT0xf
UFJFRkVSRU5DRQorfQorCiB2b2lkIEluamVjdGVkQnVuZGxlOjpvdmVycmlkZVhTU0F1ZGl0b3JF
bmFibGVkRm9yVGVzdFJ1bm5lcihXZWJQYWdlR3JvdXBQcm94eSogcGFnZUdyb3VwLCBib29sIGVu
YWJsZWQpCiB7CiAgICAgLy8gT3ZlcnJpZGUgdGhlIHByZWZlcmVuY2UgZm9yIGFsbCBmdXR1cmUg
cGFnZXMuCi0gICAgV2ViUHJlZmVyZW5jZXNTdG9yZTo6b3ZlcnJpZGVYU1NBdWRpdG9yRW5hYmxl
ZEZvclRlc3RSdW5uZXIoZW5hYmxlZCk7CisgICAgV2ViUHJlZmVyZW5jZXNTdG9yZTo6b3ZlcnJp
ZGVCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6Onhzc0F1ZGl0b3JFbmFibGVkS2V5
KCksIGVuYWJsZWQpOwogCiAgICAgLy8gQ2hhbmdlIHRoZSBzZXR0aW5nIGZvciBleGlzdGluZyBv
bmVzLgogICAgIGNvbnN0IEhhc2hTZXQ8UGFnZSo+JiBwYWdlcyA9IFBhZ2VHcm91cDo6cGFnZUdy
b3VwKHBhZ2VHcm91cC0+aWRlbnRpZmllcigpKS0+cGFnZXMoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaCBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaApp
bmRleCBjNTNjMDUwNjliZjA3Y2NmZjU2YzllMmU5NTVkYzZkN2I2NmMyM2YyLi5kNzQ5OGRmZjQx
OGEyZmIxOGQxNGIzZGQwZWQ3MjJlMjE3ZjRjYjY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmgKKysrIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oCkBAIC05
Nyw2ICs5Nyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFNob3VsZFRyYWNrVmlzaXRlZExpbmtz
KGJvb2wpOwogICAgIHZvaWQgcmVtb3ZlQWxsVmlzaXRlZExpbmtzKCk7CiAgICAgdm9pZCBhY3Rp
dmF0ZU1hY0ZvbnRBc2NlbnRIYWNrKCk7CisgICAgdm9pZCBvdmVycmlkZUJvb2xQcmVmZXJlbmNl
Rm9yVGVzdFJ1bm5lcihXZWJQYWdlR3JvdXBQcm94eSosIGNvbnN0IFN0cmluZyYgcHJlZmVyZW5j
ZSwgYm9vbCBlbmFibGVkKTsKICAgICB2b2lkIG92ZXJyaWRlWFNTQXVkaXRvckVuYWJsZWRGb3JU
ZXN0UnVubmVyKFdlYlBhZ2VHcm91cFByb3h5KiBwYWdlR3JvdXAsIGJvb2wgZW5hYmxlZCk7CiAg
ICAgdm9pZCBzZXRBbGxvd1VuaXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJMcyhXZWJQYWdlR3JvdXBQ
cm94eSosIGJvb2wpOwogICAgIHZvaWQgc2V0QWxsb3dGaWxlQWNjZXNzRnJvbUZpbGVVUkxzKFdl
YlBhZ2VHcm91cFByb3h5KiwgYm9vbCk7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9U
b29scy9DaGFuZ2VMb2cKaW5kZXggZjU4ODU3ZDBkOGZkNjAzYzk3ZjNjNmZlYzI1ZWE2ZjZlODA4
YWY0Ny4uOTFmOGU4ZDgzZDYyNTA1Mzc4NjBmMDg4NTNlYzY1MTY4ODA4ZmRmMSAxMDA2NDQKLS0t
IGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBA
CisyMDEyLTAxLTI1ICBDYWlvIE1hcmNlbG8gZGUgT2xpdmVpcmEgRmlsaG8gIDxjYWlvLm9saXZl
aXJhQG9wZW5ib3NzYS5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IG92ZXJyaWRlUHJlZmVyZW5j
ZSBmb3IgYm9vbGVhbiBwcmVmZXJlbmNlcyBpbiBXZWJLaXRUZXN0UnVubmVyCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NzAzMworCisgICAgICAgIFJl
dmlld2VkIGJ5IEFsZXhleSBQcm9za3VyeWFrb3YuCisKKyAgICAgICAgRm9yIG5vdyBvdmVycmlk
ZVByZWZlcmVuY2Ugc3VwcG9ydHMgYm9vbGVhbiB2YWx1ZXMuCisKKyAgICAgICAgKiBXZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0xheW91dFRlc3RDb250cm9sbGVyLmlk
bDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0xheW91dFRlc3RD
b250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdUUjo6TGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldFhT
U0F1ZGl0b3JFbmFibGVkKToKKyAgICAgICAgKFdUUjo6TGF5b3V0VGVzdENvbnRyb2xsZXI6Om92
ZXJyaWRlUHJlZmVyZW5jZSk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIv
VGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6cmVzZXRT
dGF0ZVRvQ29uc2lzdGVudFZhbHVlcyk6IFJlc2V0IHRoZSBvdmVycmlkZXMKKyAgICAgICAgZXhw
bGljaXRseSBhbmQgcHJvcGVybHkgZGlzYWJsZSB0aGUgdXNlIG9mIFBhZ2VDYWNoZSB3aGVuIHJl
c2V0dGluZyB0aGUKKyAgICAgICAgc3RhdGUuIFRlc3RzIHRoYXQgdXNlIFBhZ2VDYWNoZSBjYW4g
bm93IGVuYWJsZSBpdCB2aWEgb3ZlcnJpZGVQcmVmZXJlbmNlLgorCiAyMDEyLTAxLTI2ICBBbGV4
YW5kZXIgRsOmcsO4eSAgPGFsZXhhbmRlci5mYWVyb3lAbm9raWEuY29tPgogCiAgICAgICAgIFtR
dF0gVGhlIFF0IE1pbmlCcm93c2VyIGNyYXNoZXMgd2hlbiBnaXZlbiBtdWx0aXBsZSBVUkwncwpk
aWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5n
cy9MYXlvdXRUZXN0Q29udHJvbGxlci5pZGwgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL0JpbmRpbmdzL0xheW91dFRlc3RDb250cm9sbGVyLmlkbAppbmRleCBlN2VlYzNj
NjUzYjZlMTljYTgzMjZmYTdmZTcwZjBjMTgxYzhmMWViLi4yOTBiNTJlNTY2NThjOTYzYTkzNjVm
YzExMDljN2UzMWMzMmUwMTc5IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL0JpbmRpbmdzL0xheW91dFRlc3RDb250cm9sbGVyLmlkbAorKysgYi9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0xheW91dFRlc3RDb250
cm9sbGVyLmlkbApAQCAtMTMzLDcgKzEzMywxMCBAQCBtb2R1bGUgV1RSIHsKICAgICAgICAgdm9p
ZCBzZXRCYWNraW5nU2NhbGVGYWN0b3IoaW4gZG91YmxlIGJhY2tpbmdTY2FsZUZhY3RvciwgaW4g
b2JqZWN0IGNhbGxiYWNrKTsKIAogICAgICAgICB2b2lkIHNldFdpbmRvd0lzS2V5KGluIGJvb2xl
YW4gaXNLZXkpOwotICAgICAgICAKKworICAgICAgICAvLyBGSVhNRTogaGFuZGxlIG5vbi1ib29s
ZWFuIHByZWZlcmVuY2VzLgorICAgICAgICB2b2lkIG92ZXJyaWRlUHJlZmVyZW5jZShpbiBET01T
dHJpbmcgcHJlZmVyZW5jZSwgaW4gYm9vbGVhbiB2YWx1ZSk7CisKICAgICAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIERPTVN0cmluZyBwbGF0Zm9ybU5hbWU7CiAgICAgfTsKIApkaWZmIC0tZ2l0IGEv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9MYXlvdXRUZXN0Q29udHJvbGxl
ci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0xheW91dFRlc3RD
b250cm9sbGVyLmNwcAppbmRleCAzZTk4Y2NlZTNiOTE2YjRlMzljNzYyNGY2NWM0Y2UwY2RlYTU4
NjAzLi5hNzhlNzQxMTI2YWJkMTdmM2Q0MjE0MjViODIxOTNkMjMwNzUyNTdhIDEwMDY0NAotLS0g
YS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0xheW91dFRlc3RDb250cm9s
bGVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0xheW91
dFRlc3RDb250cm9sbGVyLmNwcApAQCAtMzUwLDcgKzM1MCw4IEBAIHZvaWQgTGF5b3V0VGVzdENv
bnRyb2xsZXI6OnNldENhbk9wZW5XaW5kb3dzKGJvb2wpCiAKIHZvaWQgTGF5b3V0VGVzdENvbnRy
b2xsZXI6OnNldFhTU0F1ZGl0b3JFbmFibGVkKGJvb2wgZW5hYmxlZCkKIHsKLSAgICBXS0J1bmRs
ZU92ZXJyaWRlWFNTQXVkaXRvckVuYWJsZWRGb3JUZXN0UnVubmVyKEluamVjdGVkQnVuZGxlOjpz
aGFyZWQoKS5idW5kbGUoKSwgSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLnBhZ2VHcm91cCgpLCB0
cnVlKTsKKyAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4ga2V5KEFkb3B0V0ssIFdLU3RyaW5n
Q3JlYXRlV2l0aFVURjhDU3RyaW5nKCJXZWJLaXRYU1NBdWRpdG9yRW5hYmxlZCIpKTsKKyAgICBX
S0J1bmRsZU92ZXJyaWRlQm9vbFByZWZlcmVuY2VGb3JUZXN0UnVubmVyKEluamVjdGVkQnVuZGxl
OjpzaGFyZWQoKS5idW5kbGUoKSwgSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLnBhZ2VHcm91cCgp
LCBrZXkuZ2V0KCksIGVuYWJsZWQpOwogfQogCiB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpz
ZXRBbGxvd1VuaXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJMcyhib29sIGVuYWJsZWQpCkBAIC02MTMs
NCArNjE0LDkgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6Y2FsbFNldEJhY2tpbmdTY2Fs
ZUZhY3RvckNhbGxiYWNrKCkKICAgICBjYWxsTGF5b3V0VGVzdENvbnRyb2xsZXJDYWxsYmFjayhT
ZXRCYWNraW5nU2NhbGVGYWN0b3JDYWxsYmFja0lEKTsKIH0KIAordm9pZCBMYXlvdXRUZXN0Q29u
dHJvbGxlcjo6b3ZlcnJpZGVQcmVmZXJlbmNlKEpTU3RyaW5nUmVmIHByZWZlcmVuY2UsIGJvb2wg
dmFsdWUpCit7CisgICAgV0tCdW5kbGVPdmVycmlkZUJvb2xQcmVmZXJlbmNlRm9yVGVzdFJ1bm5l
cihJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkuYnVuZGxlKCksIEluamVjdGVkQnVuZGxlOjpzaGFy
ZWQoKS5wYWdlR3JvdXAoKSwgdG9XSyhwcmVmZXJlbmNlKS5nZXQoKSwgdmFsdWUpOworfQorCiB9
IC8vIG5hbWVzcGFjZSBXVFIKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaAppbmRleCBmNDZiZjgwNzNi
NGY4NmExYmM5YzJlMWFkZDQwZWI3NTYzMDU5OGU3Li43NGZjOTA4ZDc2NjllNjhkMjA5OTg1Mzdj
ZjgzZDcxZGEyMTE4OGM4IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL0xheW91dFRlc3RDb250cm9sbGVyLmgKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCkBAIC0xOTIsNiArMTky
LDggQEAgcHVibGljOgogICAgIHZvaWQgY2FsbEZvY3VzV2ViVmlld0NhbGxiYWNrKCk7CiAgICAg
dm9pZCBjYWxsU2V0QmFja2luZ1NjYWxlRmFjdG9yQ2FsbGJhY2soKTsKIAorICAgIHZvaWQgb3Zl
cnJpZGVQcmVmZXJlbmNlKEpTU3RyaW5nUmVmIHByZWZlcmVuY2UsIGJvb2wgdmFsdWUpOworCiAg
ICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IHBsYXRmb3JtTmFtZSgpOwogICAgIAogcHJpdmF0
ZToKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3Bw
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKaW5kZXggOWQ1Mzk1
OTkyNjVmZmQ4MjQwNTI4YTY3ZTA0NzJiOTQxNjA4ZGQ2ZC4uNjliYTY2ZjdhZGQyYWM2ZjFhMTVk
MDQ5MmZmNDliZjAzMzY3YWI0NyAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9U
ZXN0Q29udHJvbGxlci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJv
bGxlci5jcHAKQEAgLTQxNSw2ICs0MTUsNyBAQCBib29sIFRlc3RDb250cm9sbGVyOjpyZXNldFN0
YXRlVG9Db25zaXN0ZW50VmFsdWVzKCkKIAogICAgIC8vIFJlc2V0IHByZWZlcmVuY2VzCiAgICAg
V0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlcyA9IFdLUGFnZUdyb3VwR2V0UHJlZmVyZW5jZXMo
bV9wYWdlR3JvdXAuZ2V0KCkpOworICAgIFdLUHJlZmVyZW5jZXNSZXNldFRlc3RSdW5uZXJPdmVy
cmlkZXMocHJlZmVyZW5jZXMpOwogICAgIFdLUHJlZmVyZW5jZXNTZXRPZmZsaW5lV2ViQXBwbGlj
YXRpb25DYWNoZUVuYWJsZWQocHJlZmVyZW5jZXMsIHRydWUpOwogICAgIFdLUHJlZmVyZW5jZXNT
ZXRGb250U21vb3RoaW5nTGV2ZWwocHJlZmVyZW5jZXMsIGtXS0ZvbnRTbW9vdGhpbmdMZXZlbE5v
U3VicGl4ZWxBbnRpQWxpYXNpbmcpOwogICAgIFdLUHJlZmVyZW5jZXNTZXRYU1NBdWRpdG9yRW5h
YmxlZChwcmVmZXJlbmNlcywgZmFsc2UpOwpAQCAtNDI3LDYgKzQyOCw3IEBAIGJvb2wgVGVzdENv
bnRyb2xsZXI6OnJlc2V0U3RhdGVUb0NvbnNpc3RlbnRWYWx1ZXMoKQogI2lmIEVOQUJMRShGVUxM
U0NSRUVOX0FQSSkKICAgICBXS1ByZWZlcmVuY2VzU2V0RnVsbFNjcmVlbkVuYWJsZWQocHJlZmVy
ZW5jZXMsIHRydWUpOwogI2VuZGlmCisgICAgV0tQcmVmZXJlbmNlc1NldFBhZ2VDYWNoZUVuYWJs
ZWQocHJlZmVyZW5jZXMsIGZhbHNlKTsKIAogLy8gW1F0XVtXSzJdUkVHUkVTU0lPTihyMTA0ODgx
KTpJdCBicm9rZSBodW5kcmVkcyBvZiB0ZXN0cwogLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI0NwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDA2YjIxNjE1MTlkZGZkOTQzYTkz
ZTBlMmYzYjU1Yjc5ZGFmMzY1MTguLmMyNWEzZGQzOGMzOTUxMTE1ZWQ5NDc4ZWFjZTkzMmRjYjJl
YWE0NGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMi0wMS0yNSAgQ2FpbyBNYXJjZWxvIGRl
IE9saXZlaXJhIEZpbGhvICA8Y2Fpby5vbGl2ZWlyYUBvcGVuYm9zc2Eub3JnPgorCisgICAgICAg
IEltcGxlbWVudCBvdmVycmlkZVByZWZlcmVuY2UgZm9yIGJvb2xlYW4gcHJlZmVyZW5jZXMgaW4g
V2ViS2l0VGVzdFJ1bm5lcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NzcwMzMKKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4ZXkgUHJvc2t1cnlha292
LgorCisgICAgICAgICogcGxhdGZvcm0vd2syL1NraXBwZWQ6CisKIDIwMTItMDEtMjYgIEJhbGF6
cyBLZWxlbWVuICA8a2JhbGF6c0B3ZWJraXQub3JnPgogCiAgICAgICAgIFtRdF1bV0syXSBTdGls
bCBmYWlsaW5nIHRlc3RzIGFmdGVyIG1vdmluZyB0byBJQ1UKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL3drMi9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1NraXBw
ZWQKaW5kZXggN2ZkNWU3N2EzZWNmNmMxMWZmZGYwODdiN2E2NzMzNzJmZGQ0MGQwMS4uZjZhYzNk
ZDE3ZGQ1NzZhNzQwZDViYjYzMjJlMWIyOWNmNmM3ZDFiMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd2syL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Nr
aXBwZWQKQEAgLTE5Miw3ICsxOTIsNiBAQCBjb21wb3NpdGluZy92aWRlby1wYWdlLXZpc2liaWxp
dHkuaHRtbAogY3NzMy9maWx0ZXJzL2N1c3RvbS1maWx0ZXIuaHRtbAogZmFzdC9jYW52YXMvd2Vi
Z2wvZnJhbWVidWZmZXItb2JqZWN0LWF0dGFjaG1lbnQuaHRtbAogZmFzdC9jYW52YXMvd2ViZ2wv
Z2wtdmVydGV4LWF0dHJpYi16ZXJvLWlzc3Vlcy5odG1sCi1mYXN0L2V2ZW50cy9wYWdlaGlkZS10
aW1lb3V0Lmh0bWwKIGZhc3QvY2FudmFzL3dlYmdsL2dsLWdldHNoYWRlcnNvdXJjZS5odG1sCiBm
YXN0L2NhbnZhcy93ZWJnbC90ZXgtc3ViLWltYWdlLTJkLWJhZC1hcmdzLmh0bWwKIGZhc3QvY2Fu
dmFzL3dlYmdsL1dlYkdMQ29udGV4dEV2ZW50Lmh0bWwKQEAgLTI4Nyw0NiArMjg2LDExIEBAIGZh
c3QvY2FudmFzL3dlYmdsL3VuaWZvcm0tbG9jYXRpb24uaHRtbAogZmFzdC9jYW52YXMvd2ViZ2wv
dmlld3BvcnQtdW5jaGFuZ2VkLXVwb24tcmVzaXplLmh0bWwKIGZhc3QvY2FudmFzL3dlYmdsL3dl
YmdsLWFycmF5LWludmFsaWQtcmFuZ2VzLmh0bWwKIGZhc3QvY2FudmFzL3dlYmdsL3dlYmdsLXNw
ZWNpZmljLmh0bWwKLWZhc3QvZG9tL0dlb2xvY2F0aW9uL25vLXBhZ2UtY2FjaGUuaHRtbAotZmFz
dC9kb20vV2luZG93L3RpbWVyLXJlc3VtZS1vbi1uYXZpZ2F0aW9uLWJhY2suaHRtbAotZmFzdC9l
dmVudHMvb251bmxvYWQtYmFjay10by1wYWdlLWNhY2hlLmh0bWwKLWZhc3QvZXZlbnRzL3BhZ2Vz
aG93LXBhZ2VoaWRlLW9uLWJhY2stY2FjaGVkLXdpdGgtZnJhbWVzLmh0bWwKLWZhc3QvZXZlbnRz
L3BhZ2VzaG93LXBhZ2VoaWRlLW9uLWJhY2stY2FjaGVkLmh0bWwKLWZhc3QvZXZlbnRzL3RhYi1m
b2N1cy1hbmNob3IuaHRtbAotZmFzdC9mcmFtZXMvZnJhbWUtY3Jhc2gtd2l0aC1wYWdlLWNhY2hl
Lmh0bWwKIGZhc3QvaGFybmVzcy9vdmVycmlkZS1wcmVmZXJlbmNlcy0yLmh0bWwKLWZhc3QvaGFy
bmVzcy9vdmVycmlkZS1wcmVmZXJlbmNlcy5odG1sCi1mYXN0L2hhcm5lc3MvcGFnZS1jYWNoZS1j
cmFzaC1vbi1kYXRhLXVybHMuaHRtbAotZmFzdC9oYXJuZXNzL3VzZS1wYWdlLWNhY2hlLmh0bWwK
LWZhc3QvaGlzdG9yeS90aW1lZC1yZWZyZXNoLWluLWNhY2hlZC1mcmFtZS5odG1sCiBmYXN0L2lt
YWdlcy9hbmltYXRlZC1naWYtcmVzdG9yZWQtZnJvbS1iZmNhY2hlLmh0bWwKLWZhc3QvbG9hZGVy
L2ZyYW1lcy13aXRoLXVubG9hZC1oYW5kbGVycy1pbi1wYWdlLWNhY2hlLmh0bWwKLWZhc3QvbG9h
ZGVyL2lucHV0LWVsZW1lbnQtcGFnZS1jYWNoZS1jcmFzaC5odG1sCi1mYXN0L2xvYWRlci9zY3Jv
bGwtcG9zaXRpb24tcmVzdG9yZWQtb24tYmFjay5odG1sCi1mYXN0L2xvYWRlci9zdGF0ZW9iamVj
dHMvcG9wc3RhdGUtZmlyZXMtd2l0aC1wYWdlLWNhY2hlLmh0bWwKLWZhc3QvbG9hZGVyL3Vuc2No
ZWR1bGUtcmVsYXlvdXQtYWZ0ZXItdW5sb2FkLmh0bWwKLWZhc3QvcGFyc2VyL25vc2NyaXB0LXdp
dGgtamF2YXNjcmlwdC1kaXNhYmxlZC5odG1sCi1mYXN0L3BhcnNlci9ub3NjcmlwdC13aXRoLWph
dmFzY3JpcHQtZW5hYmxlZC5odG1sCiBmYXN0L3JlcGFpbnQvbm8tY2FyZXQtcmVwYWludC1pbi1u
b24tY29udGVudC1lZGl0YWJsZS1lbGVtZW50Lmh0bWwKIGZhc3QvdGV4dC96ZXJvLWZvbnQtc2l6
ZS5odG1sCiBmYXN0L3RleHQvaW50ZXJuYXRpb25hbC9sb2NhbGUtc2Vuc2l0aXZlLWZvbnRzLmh0
bWwKLWh0dHAvdGVzdHMvYXBwY2FjaGUvZGlzYWJsZWQuaHRtbAotY3NzMy9maWx0ZXJzL2N1c3Rv
bS1maWx0ZXItc2hhZGVyLWNhY2hlLmh0bWwKLWNzczMvZmlsdGVycy9lZmZlY3QtYmx1ci5odG1s
Ci1jc3MzL2ZpbHRlcnMvZWZmZWN0LWJyaWdodG5lc3MuaHRtbAotY3NzMy9maWx0ZXJzL2VmZmVj
dC1jb250cmFzdC5odG1sCi1jc3MzL2ZpbHRlcnMvZWZmZWN0LWN1c3RvbS1jb21iaW5lZC1taXNz
aW5nLmh0bWwKLWNzczMvZmlsdGVycy9lZmZlY3QtY3VzdG9tLXBhcmFtZXRlcnMuaHRtbAotY3Nz
My9maWx0ZXJzL2VmZmVjdC1kcm9wLXNoYWRvdy5odG1sCi1jc3MzL2ZpbHRlcnMvZWZmZWN0LWdy
YXlzY2FsZS5odG1sCi1jc3MzL2ZpbHRlcnMvZWZmZWN0LWh1ZS1yb3RhdGUuaHRtbAotY3NzMy9m
aWx0ZXJzL2VmZmVjdC1pbnZlcnQuaHRtbAotY3NzMy9maWx0ZXJzL2VmZmVjdC1vcGFjaXR5Lmh0
bWwKLWNzczMvZmlsdGVycy9lZmZlY3Qtc2F0dXJhdGUuaHRtbAotY3NzMy9maWx0ZXJzL2VmZmVj
dC1zZXBpYS5odG1sCi1jc3MzL2ZpbHRlcnMvbWlzc2luZy1jdXN0b20tZmlsdGVyLXNoYWRlci5o
dG1sCi1jc3MzL2ZpbHRlcnMvZWZmZWN0LWN1c3RvbS5odG1sCi1jc3MzL2ZpbHRlcnMvZWZmZWN0
LWN1c3RvbS1kaXNhYmxlZC5odG1sCiBjc3MzL2ZpbHRlcnMvZWZmZWN0LWNvbWJpbmVkLmh0bWwK
IGNzczMvZmlsdGVycy9maWx0ZXItcmVwYWludC5odG1sCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>