<?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>59466</bug_id>
          
          <creation_ts>2011-04-26 10:21:38 -0700</creation_ts>
          <short_desc>Incorrect OwnPtr usage in MediaPlayer</short_desc>
          <delta_ts>2011-05-13 00:38:07 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Media</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adrienne Walker">enne</reporter>
          <assigned_to name="Patrick R. Gansterer">paroga</assigned_to>
          <cc>abarth</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dglazkov</cc>
    
    <cc>enne</cc>
    
    <cc>gustavo</cc>
    
    <cc>paroga</cc>
    
    <cc>scherkus</cc>
    
    <cc>vrk</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>392545</commentid>
    <comment_count>0</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-04-26 10:21:38 -0700</bug_when>
    <thetext>As part of the work to remove the LOOSE_OWN_PTR #define in OwnPtr.h, I was looking at Source/WebCore/platform/graphics/MediaPlayer* and saw this:

    OwnPtr&lt;MediaPlayerPrivateInterface*&gt; m_private;

It seems to be an error to me to store a raw pointer in an OwnPtr and that this really was intended to be OwnPtr&lt;MediaPlayerPrivateInterface&gt;.  

I don&apos;t know if it&apos;s possible, but it&apos;d also probably be nice to change the CreateMediaEnginePlayer interface to return a PassOwnPtr&lt;MediaPlayerPrivateInterface&gt; too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402419</commentid>
    <comment_count>1</comment_count>
      <attachid>93213</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-05-11 16:45:50 -0700</bug_when>
    <thetext>Created attachment 93213
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402426</commentid>
    <comment_count>2</comment_count>
      <attachid>93213</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-05-11 16:53:27 -0700</bug_when>
    <thetext>Comment on attachment 93213
Patch

Fantastic.  Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402440</commentid>
    <comment_count>3</comment_count>
      <attachid>93213</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-05-11 17:07:13 -0700</bug_when>
    <thetext>Comment on attachment 93213
Patch

Attachment 93213 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/8690451</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402457</commentid>
    <comment_count>4</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-05-11 17:23:34 -0700</bug_when>
    <thetext>In retrospect, I was confused about OwnPtr&lt;T*&gt; which turns out to be exactly equivalent to OwnPtr&lt;T&gt; thanks to template magic.  Its only sin is that it&apos;s stylistically confusing.

The only bit of this patch that really needs to be there is to just remove the LOOSE_OWN_PTR #define and fix the few lines that break because of it.  Changing the CreateMediaEnginePlayer interface is probably not necessary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402460</commentid>
    <comment_count>5</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-05-11 17:25:36 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; The only bit of this patch that really needs to be there is to just remove the LOOSE_OWN_PTR #define and fix the few lines that break because of it.  Changing the CreateMediaEnginePlayer interface is probably not necessary.
adoptPtr should be done directly when calling new, so we need to change CreateMediaEnginePlayer too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402502</commentid>
    <comment_count>6</comment_count>
      <attachid>93227</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-05-11 18:00:39 -0700</bug_when>
    <thetext>Created attachment 93227
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402564</commentid>
    <comment_count>7</comment_count>
      <attachid>93227</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-05-11 19:42:57 -0700</bug_when>
    <thetext>Comment on attachment 93227
Patch

Attachment 93227 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/8685589</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402973</commentid>
    <comment_count>8</comment_count>
      <attachid>93227</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2011-05-12 11:08:47 -0700</bug_when>
    <thetext>Comment on attachment 93227
Patch

Attachment 93227 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/8688764</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>403198</commentid>
    <comment_count>9</comment_count>
      <attachid>93355</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-05-12 15:16:26 -0700</bug_when>
    <thetext>Created attachment 93355
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>403424</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-13 00:36:34 -0700</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 93355:

inspector/debugger/debugger-scripts.html bug 59921 (authors: pfeldman@chromium.org and podivilov@chromium.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>403425</commentid>
    <comment_count>11</comment_count>
      <attachid>93355</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-13 00:38:01 -0700</bug_when>
    <thetext>Comment on attachment 93355
Patch

Clearing flags on attachment: 93355

Committed r86418: &lt;http://trac.webkit.org/changeset/86418&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>403426</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-13 00:38:07 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93213</attachid>
            <date>2011-05-11 16:45:50 -0700</date>
            <delta_ts>2011-05-11 18:00:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59466-20110512014547.patch</filename>
            <type>text/plain</type>
            <size>18255</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODYyODMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkMzVjMzQ0YjA3N2JiZjk3
YWI5ODFhM2VjNWMzY2U5MTc1ZDdlZmUxLi4wYjlhNGYzMzYyMjFlOTRiZTFlZDUwNjBjYTRhODA3
NGJhYWM3ZmQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIwMTEtMDUtMTEgIFBhdHJp
Y2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRW5hYmxlIE93blB0ciBzdHJpY3QgbW9kZSBpbiBN
ZWRpYVBsYXllcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NTk0NjYKKworICAgICAgICBMZXQgdGhlIENyZWF0ZU1lZGlhRW5naW5lUGxheWVyIGZ1bmN0
aW9uIHJldHVybiBhIFBhc3NPd25QdHIgaW5zdGVhZCBvZiBhIHJhdyBwb2ludGVyLgorICAgICAg
ICBBbHNvIGZpeCB0aGUgdGVtcGxldGUgYXJndW1lbnQgb2YgT3duUHRyIGZvciB0aGUgbV9wcml2
YXRlIG1lbWJlciB2YXJpYWJsZS4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlh
UGxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpNZWRpYVBsYXllcik6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6bG9hZFdpdGhOZXh0TWVkaWFFbmdpbmUp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmg6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRh
dGlvbk9iakMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OmNyZWF0ZSk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmNyZWF0ZSk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXll
clByaXZhdGVRVEtpdC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBs
YXllclByaXZhdGVRVEtpdC5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0
ZVFUS2l0OjpjcmVhdGUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3F0L01lZGlhUGxh
eWVyUHJpdmF0ZVBob25vbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZh
dGVQaG9ub246OmNyZWF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvcXQvTWVkaWFQ
bGF5ZXJQcml2YXRlUGhvbm9uLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvcXQvTWVk
aWFQbGF5ZXJQcml2YXRlUXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2
YXRlUXQ6OmNyZWF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvcXQvTWVkaWFQbGF5
ZXJQcml2YXRlUXQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vTWVkaWFQbGF5
ZXJQcml2YXRlUXVpY2tUaW1lVmlzdWFsQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVBsYXllclByaXZhdGVRdWlja1RpbWVWaXN1YWxDb250ZXh0OjpjcmVhdGUpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9NZWRpYVBsYXllclByaXZhdGVRdWlja1RpbWVWaXN1
YWxDb250ZXh0Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL01lZGlhUGxheWVy
UHJpdmF0ZVF1aWNrVGltZVdpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclBy
aXZhdGU6OmNyZWF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL01lZGlhUGxh
eWVyUHJpdmF0ZVF1aWNrVGltZVdpbi5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dp
bmNlL01lZGlhUGxheWVyUHJpdmF0ZVdpbkNFLmg6CisKIDIwMTEtMDUtMTEgIEx1Y2FzIERlIE1h
cmNoaSAgPGx1Y2FzLmRlbWFyY2hpQHByb2Z1c2lvbi5tb2JpPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IEFudG9uaW8gR29tZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9NZWRpYVBsYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9NZWRpYVBsYXllci5jcHAKaW5kZXggZTQxOWFkZWE0NDZjOGY0YmYwYzQzYTRjMzQ1YTE1NzU0
YTIyOTJkMy4uNDBlYTBhZTY5YWQ5YmRkNDVjMDAyZjBiMjQzY2U5YzI3NWZlOTQ5MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcApAQCAt
MjUsOSArMjUsNiBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLS8vIEZJWE1FOiBSZW1vdmUg
dGhpcyBkZWZpbmUhCi0jZGVmaW5lIExPT1NFX09XTl9QVFIKLQogI2lmIEVOQUJMRShWSURFTykK
ICNpbmNsdWRlICJNZWRpYVBsYXllci5oIgogCkBAIC0zMTAsOCArMzA3LDcgQEAgTWVkaWFQbGF5
ZXI6Ok1lZGlhUGxheWVyKE1lZGlhUGxheWVyQ2xpZW50KiBjbGllbnQpCiAgICAgVmVjdG9yPE1l
ZGlhUGxheWVyRmFjdG9yeSo+JiBlbmdpbmVzID0gaW5zdGFsbGVkTWVkaWFFbmdpbmVzKCk7CiAg
ICAgaWYgKCFlbmdpbmVzLmlzRW1wdHkoKSkgewogICAgICAgICBtX2N1cnJlbnRNZWRpYUVuZ2lu
ZSA9IGVuZ2luZXNbMF07Ci0gICAgICAgIG1fcHJpdmF0ZS5jbGVhcigpOwotICAgICAgICBtX3By
aXZhdGUuc2V0KGVuZ2luZXNbMF0tPmNvbnN0cnVjdG9yKHRoaXMpKTsKKyAgICAgICAgbV9wcml2
YXRlID0gZW5naW5lc1swXS0+Y29uc3RydWN0b3IodGhpcyk7CiAgICAgICAgIGlmIChtX21lZGlh
UGxheWVyQ2xpZW50KQogICAgICAgICAgICAgbV9tZWRpYVBsYXllckNsaWVudC0+bWVkaWFQbGF5
ZXJFbmdpbmVVcGRhdGVkKHRoaXMpOwogICAgIH0KQEAgLTM2MiwxMSArMzU4LDEwIEBAIHZvaWQg
TWVkaWFQbGF5ZXI6OmxvYWRXaXRoTmV4dE1lZGlhRW5naW5lKE1lZGlhUGxheWVyRmFjdG9yeSog
Y3VycmVudCkKICAgICAvLyBEb24ndCBkZWxldGUgYW5kIHJlY3JlYXRlIHRoZSBwbGF5ZXIgdW5s
ZXNzIGl0IGNvbWVzIGZyb20gYSBkaWZmZXJlbnQgZW5naW5lLgogICAgIGlmICghZW5naW5lKSB7
CiAgICAgICAgIG1fY3VycmVudE1lZGlhRW5naW5lID0gZW5naW5lOwotICAgICAgICBtX3ByaXZh
dGUuY2xlYXIoKTsKKyAgICAgICAgbV9wcml2YXRlID0gbnVsbHB0cjsKICAgICB9IGVsc2UgaWYg
KG1fY3VycmVudE1lZGlhRW5naW5lICE9IGVuZ2luZSkgewogICAgICAgICBtX2N1cnJlbnRNZWRp
YUVuZ2luZSA9IGVuZ2luZTsKLSAgICAgICAgbV9wcml2YXRlLmNsZWFyKCk7Ci0gICAgICAgIG1f
cHJpdmF0ZS5zZXQoZW5naW5lLT5jb25zdHJ1Y3Rvcih0aGlzKSk7CisgICAgICAgIG1fcHJpdmF0
ZSA9IGVuZ2luZS0+Y29uc3RydWN0b3IodGhpcyk7CiAgICAgICAgIGlmIChtX21lZGlhUGxheWVy
Q2xpZW50KQogICAgICAgICAgICAgbV9tZWRpYVBsYXllckNsaWVudC0+bWVkaWFQbGF5ZXJFbmdp
bmVVcGRhdGVkKHRoaXMpOwogI2lmIEVOQUJMRShQTFVHSU5fUFJPWFlfRk9SX1ZJREVPKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKaW5kZXggMzQ4
MWIwZTFkNjM4YmQyN2FhOGUxOGQ1Y2MwNjhjZTYyMTUwYTJlYS4uMTNmNmQ1ODIwNzVjNjE1YmQz
ODk5MTg5N2VjODUxZGJhOGJiYjk0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9NZWRpYVBsYXllci5oCkBAIC0zMTAsNyArMzEwLDcgQEAgcHJpdmF0ZToKIAogICAg
IE1lZGlhUGxheWVyQ2xpZW50KiBtX21lZGlhUGxheWVyQ2xpZW50OwogICAgIFRpbWVyPE1lZGlh
UGxheWVyPiBtX3JlbG9hZFRpbWVyOwotICAgIE93blB0cjxNZWRpYVBsYXllclByaXZhdGVJbnRl
cmZhY2UqPiBtX3ByaXZhdGU7CisgICAgT3duUHRyPE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFj
ZT4gbV9wcml2YXRlOwogICAgIE1lZGlhUGxheWVyRmFjdG9yeSogbV9jdXJyZW50TWVkaWFFbmdp
bmU7CiAgICAgU3RyaW5nIG1fdXJsOwogICAgIFN0cmluZyBtX2NvbnRlbnRNSU1FVHlwZTsKQEAg
LTMzMCw3ICszMzAsNyBAQCBwcml2YXRlOgogI2VuZGlmCiB9OwogCi10eXBlZGVmIE1lZGlhUGxh
eWVyUHJpdmF0ZUludGVyZmFjZSogKCpDcmVhdGVNZWRpYUVuZ2luZVBsYXllcikoTWVkaWFQbGF5
ZXIqKTsKK3R5cGVkZWYgUGFzc093blB0cjxNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2U+ICgq
Q3JlYXRlTWVkaWFFbmdpbmVQbGF5ZXIpKE1lZGlhUGxheWVyKik7CiB0eXBlZGVmIHZvaWQgKCpN
ZWRpYUVuZ2luZVN1cHBvcnRlZFR5cGVzKShIYXNoU2V0PFN0cmluZz4mIHR5cGVzKTsKIHR5cGVk
ZWYgTWVkaWFQbGF5ZXI6OlN1cHBvcnRzVHlwZSAoKk1lZGlhRW5naW5lU3VwcG9ydHNUeXBlKShj
b25zdCBTdHJpbmcmIHR5cGUsIGNvbnN0IFN0cmluZyYgY29kZWNzKTsKIHR5cGVkZWYgdm9pZCAo
Kk1lZGlhRW5naW5lR2V0U2l0ZXNJbk1lZGlhQ2FjaGUpKFZlY3RvcjxTdHJpbmc+Jik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9i
akMuaAppbmRleCBiMDllZWQ1MDQxNzYyYTUxNTIxYjMxY2Q5MGYzZDliMjhhY2NkYjM0Li4zYTY4
MzBkNmFkN2ViZjUyZTRmYzliZDNlZWEyZWZkMTRiNGRhMGIyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRl
QVZGb3VuZGF0aW9uT2JqQy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLmgKQEAgLTY2
LDcgKzY2LDcgQEAgcHJpdmF0ZToKICAgICB+TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9u
T2JqQygpOwogCiAgICAgLy8gZW5naW5lIHN1cHBvcnQKLSAgICBzdGF0aWMgTWVkaWFQbGF5ZXJQ
cml2YXRlSW50ZXJmYWNlKiBjcmVhdGUoTWVkaWFQbGF5ZXIqIHBsYXllcik7CisgICAgc3RhdGlj
IFBhc3NPd25QdHI8TWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlPiBjcmVhdGUoTWVkaWFQbGF5
ZXIqKTsKICAgICBzdGF0aWMgdm9pZCBnZXRTdXBwb3J0ZWRUeXBlcyhIYXNoU2V0PFN0cmluZz4m
IHR5cGVzKTsKICAgICBzdGF0aWMgTWVkaWFQbGF5ZXI6OlN1cHBvcnRzVHlwZSBzdXBwb3J0c1R5
cGUoY29uc3QgU3RyaW5nJiB0eXBlLCBjb25zdCBTdHJpbmcmIGNvZGVjcyk7CiAgICAgc3RhdGlj
IGJvb2wgaXNBdmFpbGFibGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpD
Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlh
UGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KaW5kZXggMTM3NDRmZjRiZWY2MzViMDU2
YWUyZjE2MDdlZDUwMjdlNmIwZWRlMS4uOTVmOWM4NmE1NWQzNjlkZWQyYTdkNzk5ODI1NDUwY2Y1
NDJjZmFkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJp
dmF0ZUFWRm91bmRhdGlvbk9iakMubW0KQEAgLTEyMyw5ICsxMjMsOSBAQCBzdGF0aWMgY29uc3Qg
Y2hhciAqYm9vbFN0cmluZyhib29sIHZhbCkKIAogc3RhdGljIGNvbnN0IGZsb2F0IGludmFsaWRU
aW1lID0gLTEuMGY7CiAKLU1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSogTWVkaWFQbGF5ZXJQ
cml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6Y3JlYXRlKE1lZGlhUGxheWVyKiBwbGF5ZXIpIAorUGFz
c093blB0cjxNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2U+IE1lZGlhUGxheWVyUHJpdmF0ZUFW
Rm91bmRhdGlvbk9iakM6OmNyZWF0ZShNZWRpYVBsYXllciogcGxheWVyKQogeyAKLSAgICByZXR1
cm4gbmV3IE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMocGxheWVyKTsKKyAgICBy
ZXR1cm4gYWRvcHRQdHIobmV3IE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMocGxh
eWVyKSk7CiB9CiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6cmVn
aXN0ZXJNZWRpYUVuZ2luZShNZWRpYUVuZ2luZVJlZ2lzdHJhciByZWdpc3RyYXIpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCmluZGV4IDMxZjU5MmE3
Zjg1YzIxM2NiMDRkMDhmZjhlMDE0MTdjNTE3NDk3NWIuLmFkNjJkYzQyZjY3NjBmMTA1M2FlZGM2
YTg0MDcyN2MwNmUwN2IzYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXIuY3BwCkBAIC0xNTEsOSArMTUxLDkgQEAgc3RhdGljIHZvaWQgbWVkaWFQbGF5
ZXJQcml2YXRlUmVwYWludENhbGxiYWNrKFdlYktpdFZpZGVvU2luayosIEdzdEJ1ZmZlciAqYnVm
ZmUKICAgICBwbGF5ZXJQcml2YXRlLT50cmlnZ2VyUmVwYWludChidWZmZXIpOwogfQogCi1NZWRp
YVBsYXllclByaXZhdGVJbnRlcmZhY2UqIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6Y3Jl
YXRlKE1lZGlhUGxheWVyKiBwbGF5ZXIpCitQYXNzT3duUHRyPE1lZGlhUGxheWVyUHJpdmF0ZUlu
dGVyZmFjZT4gTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpjcmVhdGUoTWVkaWFQbGF5ZXIq
IHBsYXllcikKIHsKLSAgICByZXR1cm4gbmV3IE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcihw
bGF5ZXIpOworICAgIHJldHVybiBhZG9wdFB0cihuZXcgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyKHBsYXllcikpOwogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6cmVn
aXN0ZXJNZWRpYUVuZ2luZShNZWRpYUVuZ2luZVJlZ2lzdHJhciByZWdpc3RyYXIpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmgKaW5kZXggMDI0ZmFkMDM5MmQy
YmFkOWUyMWM4OWFhZmZhZTNlZDZlZmI5MDBiNC4uYTgyZDFlZTk0NWJlOTZhYmIwMDBlOGQyNzY2
YWM4MTljZDdiZWNiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXIuaApAQCAtMTI2LDcgKzEyNiw3IEBAIGNsYXNzIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lciA6IHB1YmxpYyBNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UgewogICAgICAgICAgICAg
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyKE1lZGlhUGxheWVyKik7CiAgICAgICAgICAgICB+
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyKCk7CiAKLSAgICAgICAgICAgIHN0YXRpYyBNZWRp
YVBsYXllclByaXZhdGVJbnRlcmZhY2UqIGNyZWF0ZShNZWRpYVBsYXllciogcGxheWVyKTsKKyAg
ICAgICAgICAgIHN0YXRpYyBQYXNzT3duUHRyPE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZT4g
Y3JlYXRlKE1lZGlhUGxheWVyKik7CiAKICAgICAgICAgICAgIHN0YXRpYyB2b2lkIGdldFN1cHBv
cnRlZFR5cGVzKEhhc2hTZXQ8U3RyaW5nPiYpOwogICAgICAgICAgICAgc3RhdGljIE1lZGlhUGxh
eWVyOjpTdXBwb3J0c1R5cGUgc3VwcG9ydHNUeXBlKGNvbnN0IFN0cmluZyYgdHlwZSwgY29uc3Qg
U3RyaW5nJiBjb2RlY3MpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvbWFjL01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQuaAppbmRleCBiN2JiODZi
NjQwMTVhYmViNDU0YWQ1MjU0NmJiZDA0ZmQ5MDBiOWY4Li43YTdlMTc4MjY1OWY0ZGQ5NGYwZmM4
M2EyNDRmNzkzYTlmNmQwYzhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQuaApAQCAtNzMs
NyArNzMsNyBAQCBwcml2YXRlOgogICAgIH5NZWRpYVBsYXllclByaXZhdGVRVEtpdCgpOwogCiAg
ICAgLy8gZW5naW5lIHN1cHBvcnQKLSAgICBzdGF0aWMgTWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJm
YWNlKiBjcmVhdGUoTWVkaWFQbGF5ZXIqIHBsYXllcik7CisgICAgc3RhdGljIFBhc3NPd25QdHI8
TWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlPiBjcmVhdGUoTWVkaWFQbGF5ZXIqKTsKICAgICBz
dGF0aWMgdm9pZCBnZXRTdXBwb3J0ZWRUeXBlcyhIYXNoU2V0PFN0cmluZz4mIHR5cGVzKTsKICAg
ICBzdGF0aWMgTWVkaWFQbGF5ZXI6OlN1cHBvcnRzVHlwZSBzdXBwb3J0c1R5cGUoY29uc3QgU3Ry
aW5nJiB0eXBlLCBjb25zdCBTdHJpbmcmIGNvZGVjcyk7CiAgICAgc3RhdGljIHZvaWQgZ2V0U2l0
ZXNJbk1lZGlhQ2FjaGUoVmVjdG9yPFN0cmluZz4mKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtp
dC5tbQppbmRleCA1ZDZjYjI1ZmY2ZGU3NDdlNGM1NDhiNTA0ZjgyZWZhMGEyZjQzMjdjLi5iYTlm
ZTA2MWVjYTE1M2U1NDg1N2IzYTU1ODlkN2E4NmJlOGUyMDZiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL01lZGlhUGxheWVyUHJp
dmF0ZVFUS2l0Lm1tCkBAIC0xODEsMTEgKzE4MSw5IEBAIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotCi0KLU1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSog
TWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQ6OmNyZWF0ZShNZWRpYVBsYXllciogcGxheWVyKSAKK1Bh
c3NPd25QdHI8TWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlPiBNZWRpYVBsYXllclByaXZhdGVR
VEtpdDo6Y3JlYXRlKE1lZGlhUGxheWVyKiBwbGF5ZXIpCiB7IAotICAgIHJldHVybiBuZXcgTWVk
aWFQbGF5ZXJQcml2YXRlUVRLaXQocGxheWVyKTsKKyAgICByZXR1cm4gYWRvcHRQdHIobmV3IE1l
ZGlhUGxheWVyUHJpdmF0ZVFUS2l0KHBsYXllcikpOwogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJp
dmF0ZVFUS2l0OjpyZWdpc3Rlck1lZGlhRW5naW5lKE1lZGlhRW5naW5lUmVnaXN0cmFyIHJlZ2lz
dHJhcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L01l
ZGlhUGxheWVyUHJpdmF0ZVBob25vbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9xdC9NZWRpYVBsYXllclByaXZhdGVQaG9ub24uY3BwCmluZGV4IDU0N2RhYmM4YzQxZWY2
ZjJmNWZkZGZhZWM1MTQwOWU3YTRkYTExZDIuLjRlMzk2OWU5YTZkZTdjZjMwZWUzMTI2MzMzMzVk
Zjk5YTVhODg3MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3F0L01lZGlhUGxheWVyUHJpdmF0ZVBob25vbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvcXQvTWVkaWFQbGF5ZXJQcml2YXRlUGhvbm9uLmNwcApAQCAtMTE4LDkg
KzExOCw5IEBAIE1lZGlhUGxheWVyUHJpdmF0ZVBob25vbjo6TWVkaWFQbGF5ZXJQcml2YXRlUGhv
bm9uKE1lZGlhUGxheWVyKiBwbGF5ZXIpCiAgICAgY29ubmVjdChtX21lZGlhT2JqZWN0LCBTSUdO
QUwodG90YWxUaW1lQ2hhbmdlZChxaW50NjQpKSwgdGhpcywgU0xPVCh0b3RhbFRpbWVDaGFuZ2Vk
KHFpbnQ2NCkpKTsKIH0KIAotTWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlKiBNZWRpYVBsYXll
clByaXZhdGVQaG9ub246OmNyZWF0ZShNZWRpYVBsYXllciogcGxheWVyKQorUGFzc093blB0cjxN
ZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2U+IE1lZGlhUGxheWVyUHJpdmF0ZVBob25vbjo6Y3Jl
YXRlKE1lZGlhUGxheWVyKiBwbGF5ZXIpCiB7Ci0gICAgcmV0dXJuIG5ldyBNZWRpYVBsYXllclBy
aXZhdGVQaG9ub24ocGxheWVyKTsKKyAgICByZXR1cm4gYWRvcHRQdHIobmV3IE1lZGlhUGxheWVy
UHJpdmF0ZVBob25vbihwbGF5ZXIpKTsKIH0KIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVQaG9u
b246OnJlZ2lzdGVyTWVkaWFFbmdpbmUoTWVkaWFFbmdpbmVSZWdpc3RyYXIgcmVnaXN0cmFyKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvTWVkaWFQbGF5
ZXJQcml2YXRlUGhvbm9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9N
ZWRpYVBsYXllclByaXZhdGVQaG9ub24uaAppbmRleCBkNzkzNjc1YzNjZDE0MDY2NjZiMDc2OTVj
NThkNzVlMzI4NTIzZTMxLi4xZDhhNGY1MTY2M2MwMjg5N2RmMjNmNmM4OWNkYWUyZDFmNTAwYjY3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9NZWRpYVBs
YXllclByaXZhdGVQaG9ub24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9xdC9NZWRpYVBsYXllclByaXZhdGVQaG9ub24uaApAQCAtMTI4LDcgKzEyOCw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogICAgIHByaXZhdGU6CiAgICAgICAgIE1lZGlhUGxheWVyUHJpdmF0
ZVBob25vbihNZWRpYVBsYXllciopOwotICAgICAgICBzdGF0aWMgTWVkaWFQbGF5ZXJQcml2YXRl
SW50ZXJmYWNlKiBjcmVhdGUoTWVkaWFQbGF5ZXIqIHBsYXllcik7CisgICAgICAgIHN0YXRpYyBQ
YXNzT3duUHRyPE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZT4gY3JlYXRlKE1lZGlhUGxheWVy
Kik7CiAKICAgICAgICAgc3RhdGljIHZvaWQgZ2V0U3VwcG9ydGVkVHlwZXMoSGFzaFNldDxTdHJp
bmc+Jik7CiAgICAgICAgIHN0YXRpYyBNZWRpYVBsYXllcjo6U3VwcG9ydHNUeXBlIHN1cHBvcnRz
VHlwZShjb25zdCBTdHJpbmcmIHR5cGUsIGNvbnN0IFN0cmluZyYgY29kZWNzKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L01lZGlhUGxheWVyUHJpdmF0
ZVF0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L01lZGlhUGxheWVy
UHJpdmF0ZVF0LmNwcAppbmRleCA2YzYwMjViOTQzYmI5YTAzNzgwNTMzODY5Y2E5MTMzMjg5ZDc4
NDkzLi45NTE1OTMyOTdkMjk2ZjJiMTBhNGQ2Y2M1YzdlMzY2ZjJkYjljMTgyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9NZWRpYVBsYXllclByaXZhdGVR
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvTWVkaWFQbGF5
ZXJQcml2YXRlUXQuY3BwCkBAIC01OSw5ICs1OSw5IEBAIHVzaW5nIG5hbWVzcGFjZSBXVEY7CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotTWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlKiBNZWRp
YVBsYXllclByaXZhdGVRdDo6Y3JlYXRlKE1lZGlhUGxheWVyKiBwbGF5ZXIpCitQYXNzT3duUHRy
PE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZT4gTWVkaWFQbGF5ZXJQcml2YXRlUXQ6OmNyZWF0
ZShNZWRpYVBsYXllciogcGxheWVyKQogewotICAgIHJldHVybiBuZXcgTWVkaWFQbGF5ZXJQcml2
YXRlUXQocGxheWVyKTsKKyAgICByZXR1cm4gYWRvcHRQdHIobmV3IE1lZGlhUGxheWVyUHJpdmF0
ZVF0KHBsYXllcikpOwogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVF0OjpyZWdpc3Rlck1l
ZGlhRW5naW5lKE1lZGlhRW5naW5lUmVnaXN0cmFyIHJlZ2lzdHJhcikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L01lZGlhUGxheWVyUHJpdmF0ZVF0Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9NZWRpYVBsYXllclByaXZhdGVR
dC5oCmluZGV4IDg1OWRkMDQwM2M5OWExNDJkMjBhMzM4NWE2NjViNGMwMWY3YmNkMGYuLjQ4MWZh
ODZlYWVlYjFlODcwM2M4MDYwZDE3MGI0YjQ3ZTY3YTEyYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L01lZGlhUGxheWVyUHJpdmF0ZVF0LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvTWVkaWFQbGF5ZXJQcml2YXRlUXQu
aApAQCAtNDYsNyArNDYsNyBAQCBjbGFzcyBNZWRpYVBsYXllclByaXZhdGVRdCA6IHB1YmxpYyBR
T2JqZWN0LCBwdWJsaWMgTWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlCiAgICAgUV9PQkpFQ1QK
IAogcHVibGljOgotICAgIHN0YXRpYyBNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UqIGNyZWF0
ZShNZWRpYVBsYXllciogcGxheWVyKTsKKyAgICBzdGF0aWMgUGFzc093blB0cjxNZWRpYVBsYXll
clByaXZhdGVJbnRlcmZhY2U+IGNyZWF0ZShNZWRpYVBsYXllciopOwogICAgIH5NZWRpYVBsYXll
clByaXZhdGVRdCgpOwogCiAgICAgc3RhdGljIHZvaWQgcmVnaXN0ZXJNZWRpYUVuZ2luZShNZWRp
YUVuZ2luZVJlZ2lzdHJhcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy93aW4vTWVkaWFQbGF5ZXJQcml2YXRlUXVpY2tUaW1lVmlzdWFsQ29udGV4dC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTWVkaWFQbGF5ZXJQcml2YXRl
UXVpY2tUaW1lVmlzdWFsQ29udGV4dC5jcHAKaW5kZXggOTEzYWQzNjE3MzhiZWNhNGNhMTljN2I3
ZDcyZGVkZGNkN2I5ZjQ2Yi4uNjYwMTllODFiNjJmYTZkMjliZTM5NWQ3YjY5OTkxMDU0M2EzMTNi
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL01lZGlh
UGxheWVyUHJpdmF0ZVF1aWNrVGltZVZpc3VhbENvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9NZWRpYVBsYXllclByaXZhdGVRdWlja1RpbWVWaXN1
YWxDb250ZXh0LmNwcApAQCAtMTQ4LDkgKzE0OCw5IEBAIHByaXZhdGU6CiAgICAgTWVkaWFQbGF5
ZXJQcml2YXRlUXVpY2tUaW1lVmlzdWFsQ29udGV4dCogbV9wYXJlbnQ7CiB9OwogCi1NZWRpYVBs
YXllclByaXZhdGVJbnRlcmZhY2UqIE1lZGlhUGxheWVyUHJpdmF0ZVF1aWNrVGltZVZpc3VhbENv
bnRleHQ6OmNyZWF0ZShNZWRpYVBsYXllciogcGxheWVyKSAKK1Bhc3NPd25QdHI8TWVkaWFQbGF5
ZXJQcml2YXRlSW50ZXJmYWNlPiBNZWRpYVBsYXllclByaXZhdGVRdWlja1RpbWVWaXN1YWxDb250
ZXh0OjpjcmVhdGUoTWVkaWFQbGF5ZXIqIHBsYXllcikKIHsgCi0gICAgcmV0dXJuIG5ldyBNZWRp
YVBsYXllclByaXZhdGVRdWlja1RpbWVWaXN1YWxDb250ZXh0KHBsYXllcik7CisgICAgcmV0dXJu
IGFkb3B0UHRyKG5ldyBNZWRpYVBsYXllclByaXZhdGVRdWlja1RpbWVWaXN1YWxDb250ZXh0KHBs
YXllcikpOwogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVF1aWNrVGltZVZpc3VhbENvbnRl
eHQ6OnJlZ2lzdGVyTWVkaWFFbmdpbmUoTWVkaWFFbmdpbmVSZWdpc3RyYXIgcmVnaXN0cmFyKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL01lZGlhUGxh
eWVyUHJpdmF0ZVF1aWNrVGltZVZpc3VhbENvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbi9NZWRpYVBsYXllclByaXZhdGVRdWlja1RpbWVWaXN1YWxDb250ZXh0
LmgKaW5kZXggMGRjOTdjZGI3NGUwYzYwYTEyOTRlYzNlZDA5MjhiNWNjMDUzM2NkOS4uNzBmZDJh
NWRmMmMzMDM1MTYyZTc1ZmYwMmZmN2U0MjFmYzE5M2U3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL01lZGlhUGxheWVyUHJpdmF0ZVF1aWNrVGltZVZp
c3VhbENvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4v
TWVkaWFQbGF5ZXJQcml2YXRlUXVpY2tUaW1lVmlzdWFsQ29udGV4dC5oCkBAIC0xMjYsNyArMTI2
LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHNhd1Vuc3VwcG9ydGVkVHJhY2tzKCk7CiAKICAgICAv
LyBlbmdpbmUgc3VwcG9ydAotICAgIHN0YXRpYyBNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2Uq
IGNyZWF0ZShNZWRpYVBsYXllciopOworICAgIHN0YXRpYyBQYXNzT3duUHRyPE1lZGlhUGxheWVy
UHJpdmF0ZUludGVyZmFjZT4gY3JlYXRlKE1lZGlhUGxheWVyKik7CiAgICAgc3RhdGljIHZvaWQg
Z2V0U3VwcG9ydGVkVHlwZXMoSGFzaFNldDxTdHJpbmc+JiB0eXBlcyk7CiAgICAgc3RhdGljIE1l
ZGlhUGxheWVyOjpTdXBwb3J0c1R5cGUgc3VwcG9ydHNUeXBlKGNvbnN0IFN0cmluZyYgdHlwZSwg
Y29uc3QgU3RyaW5nJiBjb2RlY3MpOwogICAgIHN0YXRpYyBib29sIGlzQXZhaWxhYmxlKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTWVkaWFQbGF5
ZXJQcml2YXRlUXVpY2tUaW1lV2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3dpbi9NZWRpYVBsYXllclByaXZhdGVRdWlja1RpbWVXaW4uY3BwCmluZGV4IGYyOTY5NmQ1
NWNjMWZlNTIyODE0MzUxNjRkZDcyNDIwMTc4MTg0MTYuLjAzMDg4NWQ0ZmJkODA5ZDg3ODA2YmU0
MzQzN2VhMWUzZjUxMmFjYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3dpbi9NZWRpYVBsYXllclByaXZhdGVRdWlja1RpbWVXaW4uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9NZWRpYVBsYXllclByaXZhdGVRdWlja1Rp
bWVXaW4uY3BwCkBAIC03MSw5ICs3MSw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIFNPRlRfTElO
S19MSUJSQVJZKFdpbmluZXQpCiBTT0ZUX0xJTksoV2luaW5ldCwgSW50ZXJuZXRTZXRDb29raWVF
eFcsIERXT1JELCBXSU5BUEksIChMUENXU1RSIGxwc3pVcmwsIExQQ1dTVFIgbHBzekNvb2tpZU5h
bWUsIExQQ1dTVFIgbHBzekNvb2tpZURhdGEsIERXT1JEIGR3RmxhZ3MsIERXT1JEX1BUUiBkd1Jl
c2VydmVkKSwgKGxwc3pVcmwsIGxwc3pDb29raWVOYW1lLCBscHN6Q29va2llRGF0YSwgZHdGbGFn
cywgZHdSZXNlcnZlZCkpCiAKLU1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSogTWVkaWFQbGF5
ZXJQcml2YXRlOjpjcmVhdGUoTWVkaWFQbGF5ZXIqIHBsYXllcikgCitQYXNzT3duUHRyPE1lZGlh
UGxheWVyUHJpdmF0ZUludGVyZmFjZT4gTWVkaWFQbGF5ZXJQcml2YXRlOjpjcmVhdGUoTWVkaWFQ
bGF5ZXIqIHBsYXllcikKIHsgCi0gICAgcmV0dXJuIG5ldyBNZWRpYVBsYXllclByaXZhdGUocGxh
eWVyKTsKKyAgICByZXR1cm4gYWRvcHRQdHIobmV3IE1lZGlhUGxheWVyUHJpdmF0ZShwbGF5ZXIp
KTsKIH0KIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGU6OnJlZ2lzdGVyTWVkaWFFbmdpbmUoTWVk
aWFFbmdpbmVSZWdpc3RyYXIgcmVnaXN0cmFyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luL01lZGlhUGxheWVyUHJpdmF0ZVF1aWNrVGltZVdpbi5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL01lZGlhUGxheWVyUHJpdmF0ZVF1
aWNrVGltZVdpbi5oCmluZGV4IGFiOWIxZjA1Yzk1YTIyZDgyNWRmMjAwMTU5YTdhNDlmNTE5YjE1
NGMuLjk0M2M4NTMzODU1NWI0N2ZlY2E5YTdkMDkxNTBiMzU2NWRhYTlmOTIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9NZWRpYVBsYXllclByaXZhdGVR
dWlja1RpbWVXaW4uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4v
TWVkaWFQbGF5ZXJQcml2YXRlUXVpY2tUaW1lV2luLmgKQEAgLTEzNyw3ICsxMzcsNyBAQCBwcml2
YXRlOgogICAgIHZpcnR1YWwgdm9pZCBtb3ZpZU5ld0ltYWdlQXZhaWxhYmxlKFFUTW92aWVHV29y
bGQqKTsKIAogICAgIC8vIGVuZ2luZSBzdXBwb3J0Ci0gICAgc3RhdGljIE1lZGlhUGxheWVyUHJp
dmF0ZUludGVyZmFjZSogY3JlYXRlKE1lZGlhUGxheWVyKik7CisgICAgc3RhdGljIFBhc3NPd25Q
dHI8TWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlPiBjcmVhdGUoTWVkaWFQbGF5ZXIqKTsKICAg
ICBzdGF0aWMgdm9pZCBnZXRTdXBwb3J0ZWRUeXBlcyhIYXNoU2V0PFN0cmluZz4mIHR5cGVzKTsK
ICAgICBzdGF0aWMgTWVkaWFQbGF5ZXI6OlN1cHBvcnRzVHlwZSBzdXBwb3J0c1R5cGUoY29uc3Qg
U3RyaW5nJiB0eXBlLCBjb25zdCBTdHJpbmcmIGNvZGVjcyk7CiAgICAgc3RhdGljIGJvb2wgaXNB
dmFpbGFibGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbmNlL01lZGlhUGxheWVyUHJpdmF0ZVdpbkNFLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy93aW5jZS9NZWRpYVBsYXllclByaXZhdGVXaW5DRS5oCmluZGV4IGY0OWQ4ZTI2
NzgzZTNjMzNhNmQ3ODMyZDg3OTU3NzlhNmIwZTI5ZTEuLjg2MjkzNzM1N2VmY2YxZmNhOTVmZTlk
NDlhM2JjNmNhODg1OTI2NzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3dpbmNlL01lZGlhUGxheWVyUHJpdmF0ZVdpbkNFLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvTWVkaWFQbGF5ZXJQcml2YXRlV2luQ0UuaApAQCAt
OTcsNyArOTcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjZW5kaWYKIAogICAgICAgICAvLyBl
bmdpbmUgc3VwcG9ydAotICAgICAgICBzdGF0aWMgTWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNl
KiBjcmVhdGUoTWVkaWFQbGF5ZXIqKTsKKyAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8TWVkaWFQ
bGF5ZXJQcml2YXRlSW50ZXJmYWNlPiBjcmVhdGUoTWVkaWFQbGF5ZXIqKTsKICAgICAgICAgc3Rh
dGljIHZvaWQgZ2V0U3VwcG9ydGVkVHlwZXMoSGFzaFNldDxTdHJpbmc+JiB0eXBlcyk7CiAgICAg
ICAgIHN0YXRpYyBNZWRpYVBsYXllcjo6U3VwcG9ydHNUeXBlIHN1cHBvcnRzVHlwZShjb25zdCBT
dHJpbmcmIHR5cGUsIGNvbnN0IFN0cmluZyYgY29kZWNzKTsKICAgICAgICAgc3RhdGljIGJvb2wg
aXNBdmFpbGFibGUoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93227</attachid>
            <date>2011-05-11 18:00:39 -0700</date>
            <delta_ts>2011-05-12 15:16:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59466-20110512030035.patch</filename>
            <type>text/plain</type>
            <size>21106</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODYyOTIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA0MTQzZTVhZWE0NWU1M2Iy
OGIxMmI1OGUwOTk1OWNmNmYyMWJjNDI0Li4xMzU1MTdkMWNjOTlkMzkyZmExMDRiNDQwZTFiYjk2
YzZlNjczZjc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIwMTEtMDUtMTEgIFBhdHJp
Y2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
QWRhbSBCYXJ0aC4KKworICAgICAgICBFbmFibGUgT3duUHRyIHN0cmljdCBtb2RlIGluIE1lZGlh
UGxheWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01
OTQ2NgorCisgICAgICAgIExldCB0aGUgQ3JlYXRlTWVkaWFFbmdpbmVQbGF5ZXIgZnVuY3Rpb24g
cmV0dXJuIGEgUGFzc093blB0ciBpbnN0ZWFkIG9mIGEgcmF3IHBvaW50ZXIuCisgICAgICAgIEFs
c28gZml4IHRoZSB0ZW1wbGV0ZSBhcmd1bWVudCBvZiBPd25QdHIgZm9yIHRoZSBtX3ByaXZhdGUg
bWVtYmVyIHZhcmlhYmxlLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXI6Ok1lZGlhUGxheWVyKToKKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpsb2FkV2l0aE5leHRNZWRpYUVuZ2luZSk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9u
T2JqQy5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBs
YXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQ
bGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6Y3JlYXRlKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6Y3JlYXRlKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL01lZGlhUGxheWVyUHJp
dmF0ZVFUS2l0Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL01lZGlhUGxheWVy
UHJpdmF0ZVFUS2l0Lm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlUVRL
aXQ6OmNyZWF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvcXQvTWVkaWFQbGF5ZXJQ
cml2YXRlUGhvbm9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZVBo
b25vbjo6Y3JlYXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9NZWRpYVBsYXll
clByaXZhdGVQaG9ub24uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9NZWRpYVBs
YXllclByaXZhdGVRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVR
dDo6Y3JlYXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9NZWRpYVBsYXllclBy
aXZhdGVRdC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9NZWRpYVBsYXllclBy
aXZhdGVRdWlja1RpbWVWaXN1YWxDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
UGxheWVyUHJpdmF0ZVF1aWNrVGltZVZpc3VhbENvbnRleHQ6OmNyZWF0ZSk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luL01lZGlhUGxheWVyUHJpdmF0ZVF1aWNrVGltZVZpc3VhbENv
bnRleHQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vTWVkaWFQbGF5ZXJQcml2
YXRlUXVpY2tUaW1lV2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0
ZTo6Y3JlYXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vTWVkaWFQbGF5ZXJQ
cml2YXRlUXVpY2tUaW1lV2luLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2Uv
TWVkaWFQbGF5ZXJQcml2YXRlV2luQ0UuaDoKKwogMjAxMS0wNS0xMSAgS2VudCBUYW11cmEgIDx0
a2VudEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGltaXRyaSBHbGF6a292
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3Bw
CmluZGV4IGU0MTlhZGVhNDQ2YzhmNGJmMGM0M2E0YzM0NWExNTc1NGEyMjkyZDMuLjQwZWEwYWU2
OWFkOWJkZDQ1YzAwMmYwYjI0M2NlOWMyNzVmZTk0OTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKQEAgLTI1LDkgKzI1LDYgQEAKIAog
I2luY2x1ZGUgImNvbmZpZy5oIgogCi0vLyBGSVhNRTogUmVtb3ZlIHRoaXMgZGVmaW5lIQotI2Rl
ZmluZSBMT09TRV9PV05fUFRSCi0KICNpZiBFTkFCTEUoVklERU8pCiAjaW5jbHVkZSAiTWVkaWFQ
bGF5ZXIuaCIKIApAQCAtMzEwLDggKzMwNyw3IEBAIE1lZGlhUGxheWVyOjpNZWRpYVBsYXllcihN
ZWRpYVBsYXllckNsaWVudCogY2xpZW50KQogICAgIFZlY3RvcjxNZWRpYVBsYXllckZhY3Rvcnkq
PiYgZW5naW5lcyA9IGluc3RhbGxlZE1lZGlhRW5naW5lcygpOwogICAgIGlmICghZW5naW5lcy5p
c0VtcHR5KCkpIHsKICAgICAgICAgbV9jdXJyZW50TWVkaWFFbmdpbmUgPSBlbmdpbmVzWzBdOwot
ICAgICAgICBtX3ByaXZhdGUuY2xlYXIoKTsKLSAgICAgICAgbV9wcml2YXRlLnNldChlbmdpbmVz
WzBdLT5jb25zdHJ1Y3Rvcih0aGlzKSk7CisgICAgICAgIG1fcHJpdmF0ZSA9IGVuZ2luZXNbMF0t
PmNvbnN0cnVjdG9yKHRoaXMpOwogICAgICAgICBpZiAobV9tZWRpYVBsYXllckNsaWVudCkKICAg
ICAgICAgICAgIG1fbWVkaWFQbGF5ZXJDbGllbnQtPm1lZGlhUGxheWVyRW5naW5lVXBkYXRlZCh0
aGlzKTsKICAgICB9CkBAIC0zNjIsMTEgKzM1OCwxMCBAQCB2b2lkIE1lZGlhUGxheWVyOjpsb2Fk
V2l0aE5leHRNZWRpYUVuZ2luZShNZWRpYVBsYXllckZhY3RvcnkqIGN1cnJlbnQpCiAgICAgLy8g
RG9uJ3QgZGVsZXRlIGFuZCByZWNyZWF0ZSB0aGUgcGxheWVyIHVubGVzcyBpdCBjb21lcyBmcm9t
IGEgZGlmZmVyZW50IGVuZ2luZS4KICAgICBpZiAoIWVuZ2luZSkgewogICAgICAgICBtX2N1cnJl
bnRNZWRpYUVuZ2luZSA9IGVuZ2luZTsKLSAgICAgICAgbV9wcml2YXRlLmNsZWFyKCk7CisgICAg
ICAgIG1fcHJpdmF0ZSA9IG51bGxwdHI7CiAgICAgfSBlbHNlIGlmIChtX2N1cnJlbnRNZWRpYUVu
Z2luZSAhPSBlbmdpbmUpIHsKICAgICAgICAgbV9jdXJyZW50TWVkaWFFbmdpbmUgPSBlbmdpbmU7
Ci0gICAgICAgIG1fcHJpdmF0ZS5jbGVhcigpOwotICAgICAgICBtX3ByaXZhdGUuc2V0KGVuZ2lu
ZS0+Y29uc3RydWN0b3IodGhpcykpOworICAgICAgICBtX3ByaXZhdGUgPSBlbmdpbmUtPmNvbnN0
cnVjdG9yKHRoaXMpOwogICAgICAgICBpZiAobV9tZWRpYVBsYXllckNsaWVudCkKICAgICAgICAg
ICAgIG1fbWVkaWFQbGF5ZXJDbGllbnQtPm1lZGlhUGxheWVyRW5naW5lVXBkYXRlZCh0aGlzKTsK
ICNpZiBFTkFCTEUoUExVR0lOX1BST1hZX0ZPUl9WSURFTykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCmluZGV4IDM0ODFiMGUxZDYzOGJkMjdhYThl
MThkNWNjMDY4Y2U2MjE1MGEyZWEuLjEzZjZkNTgyMDc1YzYxNWJkMzg5OTE4OTdlYzg1MWRiYThi
YmI5NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlh
UGxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5
ZXIuaApAQCAtMzEwLDcgKzMxMCw3IEBAIHByaXZhdGU6CiAKICAgICBNZWRpYVBsYXllckNsaWVu
dCogbV9tZWRpYVBsYXllckNsaWVudDsKICAgICBUaW1lcjxNZWRpYVBsYXllcj4gbV9yZWxvYWRU
aW1lcjsKLSAgICBPd25QdHI8TWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlKj4gbV9wcml2YXRl
OworICAgIE93blB0cjxNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2U+IG1fcHJpdmF0ZTsKICAg
ICBNZWRpYVBsYXllckZhY3RvcnkqIG1fY3VycmVudE1lZGlhRW5naW5lOwogICAgIFN0cmluZyBt
X3VybDsKICAgICBTdHJpbmcgbV9jb250ZW50TUlNRVR5cGU7CkBAIC0zMzAsNyArMzMwLDcgQEAg
cHJpdmF0ZToKICNlbmRpZgogfTsKIAotdHlwZWRlZiBNZWRpYVBsYXllclByaXZhdGVJbnRlcmZh
Y2UqICgqQ3JlYXRlTWVkaWFFbmdpbmVQbGF5ZXIpKE1lZGlhUGxheWVyKik7Cit0eXBlZGVmIFBh
c3NPd25QdHI8TWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlPiAoKkNyZWF0ZU1lZGlhRW5naW5l
UGxheWVyKShNZWRpYVBsYXllciopOwogdHlwZWRlZiB2b2lkICgqTWVkaWFFbmdpbmVTdXBwb3J0
ZWRUeXBlcykoSGFzaFNldDxTdHJpbmc+JiB0eXBlcyk7CiB0eXBlZGVmIE1lZGlhUGxheWVyOjpT
dXBwb3J0c1R5cGUgKCpNZWRpYUVuZ2luZVN1cHBvcnRzVHlwZSkoY29uc3QgU3RyaW5nJiB0eXBl
LCBjb25zdCBTdHJpbmcmIGNvZGVjcyk7CiB0eXBlZGVmIHZvaWQgKCpNZWRpYUVuZ2luZUdldFNp
dGVzSW5NZWRpYUNhY2hlKShWZWN0b3I8U3RyaW5nPiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFW
Rm91bmRhdGlvbk9iakMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLmgKaW5kZXggYjA5ZWVk
NTA0MTc2MmE1MTUyMWIzMWNkOTBmM2Q5YjI4YWNjZGIzNC4uM2E2ODMwZDZhZDdlYmY1MmU0ZmM5
YmQzZWVhMmVmZDE0YjRkYTBiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5oCkBAIC02Niw3ICs2Niw3IEBAIHByaXZh
dGU6CiAgICAgfk1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMoKTsKIAogICAgIC8v
IGVuZ2luZSBzdXBwb3J0Ci0gICAgc3RhdGljIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSog
Y3JlYXRlKE1lZGlhUGxheWVyKiBwbGF5ZXIpOworICAgIHN0YXRpYyBQYXNzT3duUHRyPE1lZGlh
UGxheWVyUHJpdmF0ZUludGVyZmFjZT4gY3JlYXRlKE1lZGlhUGxheWVyKik7CiAgICAgc3RhdGlj
IHZvaWQgZ2V0U3VwcG9ydGVkVHlwZXMoSGFzaFNldDxTdHJpbmc+JiB0eXBlcyk7CiAgICAgc3Rh
dGljIE1lZGlhUGxheWVyOjpTdXBwb3J0c1R5cGUgc3VwcG9ydHNUeXBlKGNvbnN0IFN0cmluZyYg
dHlwZSwgY29uc3QgU3RyaW5nJiBjb2RlY3MpOwogICAgIHN0YXRpYyBib29sIGlzQXZhaWxhYmxl
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbSBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZv
dW5kYXRpb25PYmpDLm1tCmluZGV4IDEzNzQ0ZmY0YmVmNjM1YjA1NmFlMmYxNjA3ZWQ1MDI3ZTZi
MGVkZTEuLjk1ZjljODZhNTVkMzY5ZGVkMmE3ZDc5OTgyNTQ1MGNmNTQyY2ZhZGUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBs
YXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25P
YmpDLm1tCkBAIC0xMjMsOSArMTIzLDkgQEAgc3RhdGljIGNvbnN0IGNoYXIgKmJvb2xTdHJpbmco
Ym9vbCB2YWwpCiAKIHN0YXRpYyBjb25zdCBmbG9hdCBpbnZhbGlkVGltZSA9IC0xLjBmOwogCi1N
ZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UqIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bk9iakM6OmNyZWF0ZShNZWRpYVBsYXllciogcGxheWVyKSAKK1Bhc3NPd25QdHI8TWVkaWFQbGF5
ZXJQcml2YXRlSW50ZXJmYWNlPiBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpj
cmVhdGUoTWVkaWFQbGF5ZXIqIHBsYXllcikKIHsgCi0gICAgcmV0dXJuIG5ldyBNZWRpYVBsYXll
clByaXZhdGVBVkZvdW5kYXRpb25PYmpDKHBsYXllcik7CisgICAgcmV0dXJuIGFkb3B0UHRyKG5l
dyBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDKHBsYXllcikpOwogfQogCiB2b2lk
IE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnJlZ2lzdGVyTWVkaWFFbmdpbmUo
TWVkaWFFbmdpbmVSZWdpc3RyYXIgcmVnaXN0cmFyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCAzMWY1OTJhN2Y4NWMyMTNjYjA0ZDA4ZmY4
ZTAxNDE3YzUxNzQ5NzViLi5hZDYyZGM0MmY2NzYwZjEwNTNhZWRjNmE4NDA3MjdjMDZlMDdiM2Ex
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcApA
QCAtMTUxLDkgKzE1MSw5IEBAIHN0YXRpYyB2b2lkIG1lZGlhUGxheWVyUHJpdmF0ZVJlcGFpbnRD
YWxsYmFjayhXZWJLaXRWaWRlb1NpbmsqLCBHc3RCdWZmZXIgKmJ1ZmZlCiAgICAgcGxheWVyUHJp
dmF0ZS0+dHJpZ2dlclJlcGFpbnQoYnVmZmVyKTsKIH0KIAotTWVkaWFQbGF5ZXJQcml2YXRlSW50
ZXJmYWNlKiBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmNyZWF0ZShNZWRpYVBsYXllciog
cGxheWVyKQorUGFzc093blB0cjxNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2U+IE1lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lcjo6Y3JlYXRlKE1lZGlhUGxheWVyKiBwbGF5ZXIpCiB7Ci0gICAg
cmV0dXJuIG5ldyBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIocGxheWVyKTsKKyAgICByZXR1
cm4gYWRvcHRQdHIobmV3IE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcihwbGF5ZXIpKTsKIH0K
IAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnJlZ2lzdGVyTWVkaWFFbmdpbmUo
TWVkaWFFbmdpbmVSZWdpc3RyYXIgcmVnaXN0cmFyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lci5oCmluZGV4IDAyNGZhZDAzOTJkMmJhZDllMjFjODlhYWZmYWUz
ZWQ2ZWZiOTAwYjQuLmE4MmQxZWU5NDViZTk2YWJiMDAwZThkMjc2NmFjODE5Y2Q3YmVjYjYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRp
YVBsYXllclByaXZhdGVHU3RyZWFtZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmgKQEAgLTEyNiw3
ICsxMjYsNyBAQCBjbGFzcyBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIgOiBwdWJsaWMgTWVk
aWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlIHsKICAgICAgICAgICAgIE1lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lcihNZWRpYVBsYXllciopOwogICAgICAgICAgICAgfk1lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lcigpOwogCi0gICAgICAgICAgICBzdGF0aWMgTWVkaWFQbGF5ZXJQcml2YXRlSW50
ZXJmYWNlKiBjcmVhdGUoTWVkaWFQbGF5ZXIqIHBsYXllcik7CisgICAgICAgICAgICBzdGF0aWMg
UGFzc093blB0cjxNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2U+IGNyZWF0ZShNZWRpYVBsYXll
ciopOwogCiAgICAgICAgICAgICBzdGF0aWMgdm9pZCBnZXRTdXBwb3J0ZWRUeXBlcyhIYXNoU2V0
PFN0cmluZz4mKTsKICAgICAgICAgICAgIHN0YXRpYyBNZWRpYVBsYXllcjo6U3VwcG9ydHNUeXBl
IHN1cHBvcnRzVHlwZShjb25zdCBTdHJpbmcmIHR5cGUsIGNvbnN0IFN0cmluZyYgY29kZWNzKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBs
YXllclByaXZhdGVRVEtpdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFj
L01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0LmgKaW5kZXggYjdiYjg2YjY0MDE1YWJlYjQ1NGFkNTI1
NDZiYmQwNGZkOTAwYjlmOC4uN2E3ZTE3ODI2NTlmNGRkOTRmMGZjODNhMjQ0Zjc5M2E5ZjZkMGM4
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL01lZGlh
UGxheWVyUHJpdmF0ZVFUS2l0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvbWFjL01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0LmgKQEAgLTczLDcgKzczLDcgQEAgcHJpdmF0
ZToKICAgICB+TWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQoKTsKIAogICAgIC8vIGVuZ2luZSBzdXBw
b3J0Ci0gICAgc3RhdGljIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSogY3JlYXRlKE1lZGlh
UGxheWVyKiBwbGF5ZXIpOworICAgIHN0YXRpYyBQYXNzT3duUHRyPE1lZGlhUGxheWVyUHJpdmF0
ZUludGVyZmFjZT4gY3JlYXRlKE1lZGlhUGxheWVyKik7CiAgICAgc3RhdGljIHZvaWQgZ2V0U3Vw
cG9ydGVkVHlwZXMoSGFzaFNldDxTdHJpbmc+JiB0eXBlcyk7CiAgICAgc3RhdGljIE1lZGlhUGxh
eWVyOjpTdXBwb3J0c1R5cGUgc3VwcG9ydHNUeXBlKGNvbnN0IFN0cmluZyYgdHlwZSwgY29uc3Qg
U3RyaW5nJiBjb2RlY3MpOwogICAgIHN0YXRpYyB2b2lkIGdldFNpdGVzSW5NZWRpYUNhY2hlKFZl
Y3RvcjxTdHJpbmc+Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQubW0KaW5kZXggNWQ2Y2Iy
NWZmNmRlNzQ3ZTRjNTQ4YjUwNGY4MmVmYTBhMmY0MzI3Yy4uYmE5ZmUwNjFlY2ExNTNlNTQ4NTdi
M2E1NTg5ZDdhODZiZThlMjA2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvbWFjL01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Lm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5tbQpAQCAt
MTgxLDExICsxODEsOSBAQCB1c2luZyBuYW1lc3BhY2Ugc3RkOwogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLQotCi1NZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UqIE1lZGlhUGxheWVyUHJpdmF0
ZVFUS2l0OjpjcmVhdGUoTWVkaWFQbGF5ZXIqIHBsYXllcikgCitQYXNzT3duUHRyPE1lZGlhUGxh
eWVyUHJpdmF0ZUludGVyZmFjZT4gTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQ6OmNyZWF0ZShNZWRp
YVBsYXllciogcGxheWVyKQogeyAKLSAgICByZXR1cm4gbmV3IE1lZGlhUGxheWVyUHJpdmF0ZVFU
S2l0KHBsYXllcik7CisgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBNZWRpYVBsYXllclByaXZhdGVR
VEtpdChwbGF5ZXIpKTsKIH0KIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVRVEtpdDo6cmVnaXN0
ZXJNZWRpYUVuZ2luZShNZWRpYUVuZ2luZVJlZ2lzdHJhciByZWdpc3RyYXIpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9NZWRpYVBsYXllclByaXZhdGVQ
aG9ub24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvTWVkaWFQbGF5
ZXJQcml2YXRlUGhvbm9uLmNwcAppbmRleCA1NDdkYWJjOGM0MWVmNmYyZjVmZGRmYWVjNTE0MDll
N2E0ZGExMWQyLi40ZTM5NjllOWE2ZGU3Y2YzMGVlMzEyNjMzMzM1ZGY5OWE1YTg4NzA0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9NZWRpYVBsYXllclBy
aXZhdGVQaG9ub24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0
L01lZGlhUGxheWVyUHJpdmF0ZVBob25vbi5jcHAKQEAgLTExOCw5ICsxMTgsOSBAQCBNZWRpYVBs
YXllclByaXZhdGVQaG9ub246Ok1lZGlhUGxheWVyUHJpdmF0ZVBob25vbihNZWRpYVBsYXllciog
cGxheWVyKQogICAgIGNvbm5lY3QobV9tZWRpYU9iamVjdCwgU0lHTkFMKHRvdGFsVGltZUNoYW5n
ZWQocWludDY0KSksIHRoaXMsIFNMT1QodG90YWxUaW1lQ2hhbmdlZChxaW50NjQpKSk7CiB9CiAK
LU1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSogTWVkaWFQbGF5ZXJQcml2YXRlUGhvbm9uOjpj
cmVhdGUoTWVkaWFQbGF5ZXIqIHBsYXllcikKK1Bhc3NPd25QdHI8TWVkaWFQbGF5ZXJQcml2YXRl
SW50ZXJmYWNlPiBNZWRpYVBsYXllclByaXZhdGVQaG9ub246OmNyZWF0ZShNZWRpYVBsYXllciog
cGxheWVyKQogewotICAgIHJldHVybiBuZXcgTWVkaWFQbGF5ZXJQcml2YXRlUGhvbm9uKHBsYXll
cik7CisgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBNZWRpYVBsYXllclByaXZhdGVQaG9ub24ocGxh
eWVyKSk7CiB9CiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUGhvbm9uOjpyZWdpc3Rlck1lZGlh
RW5naW5lKE1lZGlhRW5naW5lUmVnaXN0cmFyIHJlZ2lzdHJhcikKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L01lZGlhUGxheWVyUHJpdmF0ZVBob25vbi5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvTWVkaWFQbGF5ZXJQcml2YXRl
UGhvbm9uLmgKaW5kZXggZDc5MzY3NWMzY2QxNDA2NjY2YjA3Njk1YzU4ZDc1ZTMyODUyM2UzMS4u
MWQ4YTRmNTE2NjNjMDI4OTdkZjIzZjZjODljZGFlMmQxZjUwMGI2NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvTWVkaWFQbGF5ZXJQcml2YXRlUGhvbm9u
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvTWVkaWFQbGF5ZXJQ
cml2YXRlUGhvbm9uLmgKQEAgLTEyOCw3ICsxMjgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
ICAgICBwcml2YXRlOgogICAgICAgICBNZWRpYVBsYXllclByaXZhdGVQaG9ub24oTWVkaWFQbGF5
ZXIqKTsKLSAgICAgICAgc3RhdGljIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSogY3JlYXRl
KE1lZGlhUGxheWVyKiBwbGF5ZXIpOworICAgICAgICBzdGF0aWMgUGFzc093blB0cjxNZWRpYVBs
YXllclByaXZhdGVJbnRlcmZhY2U+IGNyZWF0ZShNZWRpYVBsYXllciopOwogCiAgICAgICAgIHN0
YXRpYyB2b2lkIGdldFN1cHBvcnRlZFR5cGVzKEhhc2hTZXQ8U3RyaW5nPiYpOwogICAgICAgICBz
dGF0aWMgTWVkaWFQbGF5ZXI6OlN1cHBvcnRzVHlwZSBzdXBwb3J0c1R5cGUoY29uc3QgU3RyaW5n
JiB0eXBlLCBjb25zdCBTdHJpbmcmIGNvZGVjcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9NZWRpYVBsYXllclByaXZhdGVRdC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9NZWRpYVBsYXllclByaXZhdGVRdC5jcHAKaW5k
ZXggNmM2MDI1Yjk0M2JiOWEwMzc4MDUzMzg2OWNhOTEzMzI4OWQ3ODQ5My4uOTUxNTkzMjk3ZDI5
NmYyYjEwYTRkNmNjNWM3ZTM2NmYyZGI5YzE4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvcXQvTWVkaWFQbGF5ZXJQcml2YXRlUXQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L01lZGlhUGxheWVyUHJpdmF0ZVF0LmNwcApA
QCAtNTksOSArNTksOSBAQCB1c2luZyBuYW1lc3BhY2UgV1RGOwogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLU1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSogTWVkaWFQbGF5ZXJQcml2YXRlUXQ6
OmNyZWF0ZShNZWRpYVBsYXllciogcGxheWVyKQorUGFzc093blB0cjxNZWRpYVBsYXllclByaXZh
dGVJbnRlcmZhY2U+IE1lZGlhUGxheWVyUHJpdmF0ZVF0OjpjcmVhdGUoTWVkaWFQbGF5ZXIqIHBs
YXllcikKIHsKLSAgICByZXR1cm4gbmV3IE1lZGlhUGxheWVyUHJpdmF0ZVF0KHBsYXllcik7Cisg
ICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBNZWRpYVBsYXllclByaXZhdGVRdChwbGF5ZXIpKTsKIH0K
IAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVRdDo6cmVnaXN0ZXJNZWRpYUVuZ2luZShNZWRpYUVu
Z2luZVJlZ2lzdHJhciByZWdpc3RyYXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9xdC9NZWRpYVBsYXllclByaXZhdGVRdC5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvcXQvTWVkaWFQbGF5ZXJQcml2YXRlUXQuaAppbmRleCA4NTlkZDA0
MDNjOTlhMTQyZDIwYTMzODVhNjY1YjRjMDFmN2JjZDBmLi40ODFmYTg2ZWFlZWIxZTg3MDNjODA2
MGQxNzBiNGI0N2U2N2ExMmEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9xdC9NZWRpYVBsYXllclByaXZhdGVRdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3F0L01lZGlhUGxheWVyUHJpdmF0ZVF0LmgKQEAgLTQ2LDcgKzQ2LDcg
QEAgY2xhc3MgTWVkaWFQbGF5ZXJQcml2YXRlUXQgOiBwdWJsaWMgUU9iamVjdCwgcHVibGljIE1l
ZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZQogICAgIFFfT0JKRUNUCiAKIHB1YmxpYzoKLSAgICBz
dGF0aWMgTWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlKiBjcmVhdGUoTWVkaWFQbGF5ZXIqIHBs
YXllcik7CisgICAgc3RhdGljIFBhc3NPd25QdHI8TWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNl
PiBjcmVhdGUoTWVkaWFQbGF5ZXIqKTsKICAgICB+TWVkaWFQbGF5ZXJQcml2YXRlUXQoKTsKIAog
ICAgIHN0YXRpYyB2b2lkIHJlZ2lzdGVyTWVkaWFFbmdpbmUoTWVkaWFFbmdpbmVSZWdpc3RyYXIp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL01lZGlh
UGxheWVyUHJpdmF0ZVF1aWNrVGltZVZpc3VhbENvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luL01lZGlhUGxheWVyUHJpdmF0ZVF1aWNrVGltZVZpc3VhbENv
bnRleHQuY3BwCmluZGV4IDkxM2FkMzYxNzM4YmVjYTRjYTE5YzdiN2Q3MmRlZGRjZDdiOWY0NmIu
LjY2MDE5ZTgxYjYyZmE2ZDI5YmUzOTVkN2I2OTk5MTA1NDNhMzEzYjYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9NZWRpYVBsYXllclByaXZhdGVRdWlj
a1RpbWVWaXN1YWxDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW4vTWVkaWFQbGF5ZXJQcml2YXRlUXVpY2tUaW1lVmlzdWFsQ29udGV4dC5jcHAKQEAg
LTE0OCw5ICsxNDgsOSBAQCBwcml2YXRlOgogICAgIE1lZGlhUGxheWVyUHJpdmF0ZVF1aWNrVGlt
ZVZpc3VhbENvbnRleHQqIG1fcGFyZW50OwogfTsKIAotTWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJm
YWNlKiBNZWRpYVBsYXllclByaXZhdGVRdWlja1RpbWVWaXN1YWxDb250ZXh0OjpjcmVhdGUoTWVk
aWFQbGF5ZXIqIHBsYXllcikgCitQYXNzT3duUHRyPE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFj
ZT4gTWVkaWFQbGF5ZXJQcml2YXRlUXVpY2tUaW1lVmlzdWFsQ29udGV4dDo6Y3JlYXRlKE1lZGlh
UGxheWVyKiBwbGF5ZXIpCiB7IAotICAgIHJldHVybiBuZXcgTWVkaWFQbGF5ZXJQcml2YXRlUXVp
Y2tUaW1lVmlzdWFsQ29udGV4dChwbGF5ZXIpOworICAgIHJldHVybiBhZG9wdFB0cihuZXcgTWVk
aWFQbGF5ZXJQcml2YXRlUXVpY2tUaW1lVmlzdWFsQ29udGV4dChwbGF5ZXIpKTsKIH0KIAogdm9p
ZCBNZWRpYVBsYXllclByaXZhdGVRdWlja1RpbWVWaXN1YWxDb250ZXh0OjpyZWdpc3Rlck1lZGlh
RW5naW5lKE1lZGlhRW5naW5lUmVnaXN0cmFyIHJlZ2lzdHJhcikKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9NZWRpYVBsYXllclByaXZhdGVRdWlja1Rp
bWVWaXN1YWxDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4v
TWVkaWFQbGF5ZXJQcml2YXRlUXVpY2tUaW1lVmlzdWFsQ29udGV4dC5oCmluZGV4IDBkYzk3Y2Ri
NzRlMGM2MGExMjk0ZWMzZWQwOTI4YjVjYzA1MzNjZDkuLjcwZmQyYTVkZjJjMzAzNTE2MmU3NWZm
MDJmZjdlNDIxZmMxOTNlNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3dpbi9NZWRpYVBsYXllclByaXZhdGVRdWlja1RpbWVWaXN1YWxDb250ZXh0LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL01lZGlhUGxheWVyUHJpdmF0
ZVF1aWNrVGltZVZpc3VhbENvbnRleHQuaApAQCAtMTI2LDcgKzEyNiw3IEBAIHByaXZhdGU6CiAg
ICAgdm9pZCBzYXdVbnN1cHBvcnRlZFRyYWNrcygpOwogCiAgICAgLy8gZW5naW5lIHN1cHBvcnQK
LSAgICBzdGF0aWMgTWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlKiBjcmVhdGUoTWVkaWFQbGF5
ZXIqKTsKKyAgICBzdGF0aWMgUGFzc093blB0cjxNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2U+
IGNyZWF0ZShNZWRpYVBsYXllciopOwogICAgIHN0YXRpYyB2b2lkIGdldFN1cHBvcnRlZFR5cGVz
KEhhc2hTZXQ8U3RyaW5nPiYgdHlwZXMpOwogICAgIHN0YXRpYyBNZWRpYVBsYXllcjo6U3VwcG9y
dHNUeXBlIHN1cHBvcnRzVHlwZShjb25zdCBTdHJpbmcmIHR5cGUsIGNvbnN0IFN0cmluZyYgY29k
ZWNzKTsKICAgICBzdGF0aWMgYm9vbCBpc0F2YWlsYWJsZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL01lZGlhUGxheWVyUHJpdmF0ZVF1aWNrVGlt
ZVdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTWVkaWFQbGF5
ZXJQcml2YXRlUXVpY2tUaW1lV2luLmNwcAppbmRleCBmMjk2OTZkNTVjYzFmZTUyMjgxNDM1MTY0
ZGQ3MjQyMDE3ODE4NDE2Li4wMzA4ODVkNGZiZDgwOWQ4NzgwNmJlNDM0MzdlYTFlM2Y1MTJhY2M0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTWVkaWFQ
bGF5ZXJQcml2YXRlUXVpY2tUaW1lV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy93aW4vTWVkaWFQbGF5ZXJQcml2YXRlUXVpY2tUaW1lV2luLmNwcApAQCAtNzEs
OSArNzEsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBTT0ZUX0xJTktfTElCUkFSWShXaW5pbmV0
KQogU09GVF9MSU5LKFdpbmluZXQsIEludGVybmV0U2V0Q29va2llRXhXLCBEV09SRCwgV0lOQVBJ
LCAoTFBDV1NUUiBscHN6VXJsLCBMUENXU1RSIGxwc3pDb29raWVOYW1lLCBMUENXU1RSIGxwc3pD
b29raWVEYXRhLCBEV09SRCBkd0ZsYWdzLCBEV09SRF9QVFIgZHdSZXNlcnZlZCksIChscHN6VXJs
LCBscHN6Q29va2llTmFtZSwgbHBzekNvb2tpZURhdGEsIGR3RmxhZ3MsIGR3UmVzZXJ2ZWQpKQog
Ci1NZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UqIE1lZGlhUGxheWVyUHJpdmF0ZTo6Y3JlYXRl
KE1lZGlhUGxheWVyKiBwbGF5ZXIpIAorUGFzc093blB0cjxNZWRpYVBsYXllclByaXZhdGVJbnRl
cmZhY2U+IE1lZGlhUGxheWVyUHJpdmF0ZTo6Y3JlYXRlKE1lZGlhUGxheWVyKiBwbGF5ZXIpCiB7
IAotICAgIHJldHVybiBuZXcgTWVkaWFQbGF5ZXJQcml2YXRlKHBsYXllcik7CisgICAgcmV0dXJu
IGFkb3B0UHRyKG5ldyBNZWRpYVBsYXllclByaXZhdGUocGxheWVyKSk7CiB9CiAKIHZvaWQgTWVk
aWFQbGF5ZXJQcml2YXRlOjpyZWdpc3Rlck1lZGlhRW5naW5lKE1lZGlhRW5naW5lUmVnaXN0cmFy
IHJlZ2lzdHJhcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbi9NZWRpYVBsYXllclByaXZhdGVRdWlja1RpbWVXaW4uaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3dpbi9NZWRpYVBsYXllclByaXZhdGVRdWlja1RpbWVXaW4uaAppbmRl
eCBhYjliMWYwNWM5NWEyMmQ4MjVkZjIwMDE1OWE3YTQ5ZjUxOWIxNTRjLi45NDNjODUzMzg1NTVi
NDdmZWNhOWE3ZDA5MTUwYjM1NjVkYWE5ZjkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy93aW4vTWVkaWFQbGF5ZXJQcml2YXRlUXVpY2tUaW1lV2luLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL01lZGlhUGxheWVyUHJpdmF0
ZVF1aWNrVGltZVdpbi5oCkBAIC0xMzcsNyArMTM3LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFs
IHZvaWQgbW92aWVOZXdJbWFnZUF2YWlsYWJsZShRVE1vdmllR1dvcmxkKik7CiAKICAgICAvLyBl
bmdpbmUgc3VwcG9ydAotICAgIHN0YXRpYyBNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UqIGNy
ZWF0ZShNZWRpYVBsYXllciopOworICAgIHN0YXRpYyBQYXNzT3duUHRyPE1lZGlhUGxheWVyUHJp
dmF0ZUludGVyZmFjZT4gY3JlYXRlKE1lZGlhUGxheWVyKik7CiAgICAgc3RhdGljIHZvaWQgZ2V0
U3VwcG9ydGVkVHlwZXMoSGFzaFNldDxTdHJpbmc+JiB0eXBlcyk7CiAgICAgc3RhdGljIE1lZGlh
UGxheWVyOjpTdXBwb3J0c1R5cGUgc3VwcG9ydHNUeXBlKGNvbnN0IFN0cmluZyYgdHlwZSwgY29u
c3QgU3RyaW5nJiBjb2RlY3MpOwogICAgIHN0YXRpYyBib29sIGlzQXZhaWxhYmxlKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9NZWRpYVBsYXll
clByaXZhdGVXaW5DRS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2Uv
TWVkaWFQbGF5ZXJQcml2YXRlV2luQ0UuaAppbmRleCBmNDlkOGUyNjc4M2UzYzMzYTZkNzgzMmQ4
Nzk1Nzc5YTZiMGUyOWUxLi44NjI5MzczNTdlZmNmMWZjYTk1ZmU5ZDQ5YTNiYzZjYTg4NTkyNjc3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9NZWRp
YVBsYXllclByaXZhdGVXaW5DRS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3dpbmNlL01lZGlhUGxheWVyUHJpdmF0ZVdpbkNFLmgKQEAgLTk3LDcgKzk3LDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogI2VuZGlmCiAKICAgICAgICAgLy8gZW5naW5lIHN1cHBvcnQKLSAg
ICAgICAgc3RhdGljIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSogY3JlYXRlKE1lZGlhUGxh
eWVyKik7CisgICAgICAgIHN0YXRpYyBQYXNzT3duUHRyPE1lZGlhUGxheWVyUHJpdmF0ZUludGVy
ZmFjZT4gY3JlYXRlKE1lZGlhUGxheWVyKik7CiAgICAgICAgIHN0YXRpYyB2b2lkIGdldFN1cHBv
cnRlZFR5cGVzKEhhc2hTZXQ8U3RyaW5nPiYgdHlwZXMpOwogICAgICAgICBzdGF0aWMgTWVkaWFQ
bGF5ZXI6OlN1cHBvcnRzVHlwZSBzdXBwb3J0c1R5cGUoY29uc3QgU3RyaW5nJiB0eXBlLCBjb25z
dCBTdHJpbmcmIGNvZGVjcyk7CiAgICAgICAgIHN0YXRpYyBib29sIGlzQXZhaWxhYmxlKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IGFlNTdmNjdjNjU0Yzg2OTc5NTdmOGY0NDQ0NWQx
OGIyMGFiNDE1ZjUuLjIzZDU4MWE1YjMyMjk3NmNmYTRhNGQyMTE0ODE5NDIwZTlhOWJkZDIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDUtMTEgIFBh
dHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgQWRhbSBCYXJ0aC4KKworICAgICAgICBFbmFibGUgT3duUHRyIHN0cmljdCBtb2RlIGluIE1l
ZGlhUGxheWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD01OTQ2NgorCisgICAgICAgIExldCB0aGUgQ3JlYXRlTWVkaWFFbmdpbmVQbGF5ZXIgZnVuY3Rp
b24gcmV0dXJuIGEgUGFzc093blB0ciBpbnN0ZWFkIG9mIGEgcmF3IHBvaW50ZXIuCisgICAgICAg
IEFsc28gZml4IHRoZSB0ZW1wbGV0ZSBhcmd1bWVudCBvZiBPd25QdHIgZm9yIHRoZSBtX3ByaXZh
dGUgbWVtYmVyIHZhcmlhYmxlLgorCisgICAgICAgICogc3JjL1dlYk1lZGlhUGxheWVyQ2xpZW50
SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6Y3Jl
YXRlKToKKyAgICAgICAgKiBzcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsLmg6CisKIDIwMTEt
MDUtMTEgIEFudG9pbmUgTGFib3VyICA8cGltYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IERhdmlkIExldmluLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYk1lZGlhUGxheWVyQ2xpZW50SW1wbC5jcHAKaW5kZXggYmNjNTc2ZTA5YWM3ZTM0
YmVjODZlMjQ5ZjQ1NjlkNjhjNzdhZTExMS4uMmJmMGVjY2U3NTExYzkxZmQ1OGRjZmNhNjE0YWVh
NDNkOGMyYjA1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTWVk
aWFQbGF5ZXJDbGllbnRJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJNZWRpYVBsYXllckNsaWVudEltcGwuY3BwCkBAIC01NDcsOSArNTQ3LDkgQEAgdm9pZCBXZWJN
ZWRpYVBsYXllckNsaWVudEltcGw6OnB1dEN1cnJlbnRGcmFtZShWaWRlb0ZyYW1lQ2hyb21pdW0q
IHZpZGVvRnJhbWUpCiB9CiAjZW5kaWYKIAotTWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlKiBX
ZWJNZWRpYVBsYXllckNsaWVudEltcGw6OmNyZWF0ZShNZWRpYVBsYXllciogcGxheWVyKQorUGFz
c093blB0cjxNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2U+IFdlYk1lZGlhUGxheWVyQ2xpZW50
SW1wbDo6Y3JlYXRlKE1lZGlhUGxheWVyKiBwbGF5ZXIpCiB7Ci0gICAgV2ViTWVkaWFQbGF5ZXJD
bGllbnRJbXBsKiBjbGllbnQgPSBuZXcgV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsKCk7CisgICAg
T3duUHRyPFdlYk1lZGlhUGxheWVyQ2xpZW50SW1wbD4gY2xpZW50ID0gYWRvcHRQdHIobmV3IFdl
Yk1lZGlhUGxheWVyQ2xpZW50SW1wbCgpKTsKICAgICBjbGllbnQtPm1fbWVkaWFQbGF5ZXIgPSBw
bGF5ZXI7CiAKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCkBAIC01NjQsNyArNTY0
LDcgQEAgTWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlKiBXZWJNZWRpYVBsYXllckNsaWVudElt
cGw6OmNyZWF0ZShNZWRpYVBsYXllciogcGxheWUKICAgICAgICAgZnJhbWUtPmNvbnRlbnRSZW5k
ZXJlcigpLT5jb21wb3NpdG9yKCktPmhhc0FjY2VsZXJhdGVkQ29tcG9zaXRpbmcoKTsKICNlbmRp
ZgogCi0gICAgcmV0dXJuIGNsaWVudDsKKyAgICByZXR1cm4gY2xpZW50LnJlbGVhc2UoKTsKIH0K
IAogdm9pZCBXZWJNZWRpYVBsYXllckNsaWVudEltcGw6OmdldFN1cHBvcnRlZFR5cGVzKEhhc2hT
ZXQ8U3RyaW5nPiYgc3VwcG9ydGVkVHlwZXMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJNZWRpYVBsYXllckNsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYk1lZGlhUGxheWVyQ2xpZW50SW1wbC5oCmluZGV4IGEwOGJiM2EzZWQwODMz
ZWNiYWE5ZjhjZjAwYThmMGE0YzE4YjM5Y2QuLmE3NjE2NGIwYzM5YWI1ZjlhNDFmYzNlMDNmNzc1
YjY4MTNkYzE3NDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk1l
ZGlhUGxheWVyQ2xpZW50SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
Yk1lZGlhUGxheWVyQ2xpZW50SW1wbC5oCkBAIC0xMzQsNyArMTM0LDcgQEAgcHJpdmF0ZToKICAg
ICB2b2lkIHN0YXJ0RGVsYXllZExvYWQoKTsKICAgICB2b2lkIGxvYWRJbnRlcm5hbCgpOwogCi0g
ICAgc3RhdGljIFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSogY3JlYXRlKFdl
YkNvcmU6Ok1lZGlhUGxheWVyKik7CisgICAgc3RhdGljIFBhc3NPd25QdHI8V2ViQ29yZTo6TWVk
aWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlPiBjcmVhdGUoV2ViQ29yZTo6TWVkaWFQbGF5ZXIqKTsK
ICAgICBzdGF0aWMgdm9pZCBnZXRTdXBwb3J0ZWRUeXBlcyhXVEY6Okhhc2hTZXQ8V1RGOjpTdHJp
bmc+Jik7CiAgICAgc3RhdGljIFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpTdXBwb3J0c1R5cGUgc3Vw
cG9ydHNUeXBlKAogICAgICAgICBjb25zdCBXVEY6OlN0cmluZyYgdHlwZSwgY29uc3QgV1RGOjpT
dHJpbmcmIGNvZGVjcyk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93355</attachid>
            <date>2011-05-12 15:16:26 -0700</date>
            <delta_ts>2011-05-13 00:38:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59466-20110513001623.patch</filename>
            <type>text/plain</type>
            <size>21743</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODYzODQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAxOWY3ZTU1ZDRhNDA0ODc5
Y2MwNTFmMDU2MTUyNWEzMzcxYmVjMTlmLi44MWVmNzNkMTc2MWM2OGJiN2E2MzE3MzhmMjA4NzVh
OGQyMDE3MTdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIwMTEtMDUtMTIgIFBhdHJp
Y2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
QWRhbSBCYXJ0aC4KKworICAgICAgICBFbmFibGUgT3duUHRyIHN0cmljdCBtb2RlIGluIE1lZGlh
UGxheWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01
OTQ2NgorCisgICAgICAgIExldCB0aGUgQ3JlYXRlTWVkaWFFbmdpbmVQbGF5ZXIgZnVuY3Rpb24g
cmV0dXJuIGEgUGFzc093blB0ciBpbnN0ZWFkIG9mIGEgcmF3IHBvaW50ZXIuCisgICAgICAgIEFs
c28gZml4IHRoZSB0ZW1wbGV0ZSBhcmd1bWVudCBvZiBPd25QdHIgZm9yIHRoZSBtX3ByaXZhdGUg
bWVtYmVyIHZhcmlhYmxlLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXI6Ok1lZGlhUGxheWVyKToKKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpsb2FkV2l0aE5leHRNZWRpYUVuZ2luZSk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9u
T2JqQy5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBs
YXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQ
bGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6Y3JlYXRlKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6Y3JlYXRlKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL01lZGlhUGxheWVyUHJp
dmF0ZVFUS2l0Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL01lZGlhUGxheWVy
UHJpdmF0ZVFUS2l0Lm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlUVRL
aXQ6OmNyZWF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvcXQvTWVkaWFQbGF5ZXJQ
cml2YXRlUGhvbm9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZVBo
b25vbjo6Y3JlYXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9NZWRpYVBsYXll
clByaXZhdGVQaG9ub24uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9NZWRpYVBs
YXllclByaXZhdGVRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVR
dDo6Y3JlYXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9NZWRpYVBsYXllclBy
aXZhdGVRdC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9NZWRpYVBsYXllclBy
aXZhdGVRdWlja1RpbWVWaXN1YWxDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
UGxheWVyUHJpdmF0ZVF1aWNrVGltZVZpc3VhbENvbnRleHQ6OmNyZWF0ZSk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luL01lZGlhUGxheWVyUHJpdmF0ZVF1aWNrVGltZVZpc3VhbENv
bnRleHQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vTWVkaWFQbGF5ZXJQcml2
YXRlUXVpY2tUaW1lV2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0
ZTo6Y3JlYXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vTWVkaWFQbGF5ZXJQ
cml2YXRlUXVpY2tUaW1lV2luLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2Uv
TWVkaWFQbGF5ZXJQcml2YXRlV2luQ0UuaDoKKwogMjAxMS0wNS0xMiAgTGV2aSBXZWludHJhdWIg
IDxsZXZpd0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXll
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAK
aW5kZXggZTQxOWFkZWE0NDZjOGY0YmYwYzQzYTRjMzQ1YTE1NzU0YTIyOTJkMy4uNDBlYTBhZTY5
YWQ5YmRkNDVjMDAyZjBiMjQzY2U5YzI3NWZlOTQ5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcApAQCAtMjUsOSArMjUsNiBAQAogCiAj
aW5jbHVkZSAiY29uZmlnLmgiCiAKLS8vIEZJWE1FOiBSZW1vdmUgdGhpcyBkZWZpbmUhCi0jZGVm
aW5lIExPT1NFX09XTl9QVFIKLQogI2lmIEVOQUJMRShWSURFTykKICNpbmNsdWRlICJNZWRpYVBs
YXllci5oIgogCkBAIC0zMTAsOCArMzA3LDcgQEAgTWVkaWFQbGF5ZXI6Ok1lZGlhUGxheWVyKE1l
ZGlhUGxheWVyQ2xpZW50KiBjbGllbnQpCiAgICAgVmVjdG9yPE1lZGlhUGxheWVyRmFjdG9yeSo+
JiBlbmdpbmVzID0gaW5zdGFsbGVkTWVkaWFFbmdpbmVzKCk7CiAgICAgaWYgKCFlbmdpbmVzLmlz
RW1wdHkoKSkgewogICAgICAgICBtX2N1cnJlbnRNZWRpYUVuZ2luZSA9IGVuZ2luZXNbMF07Ci0g
ICAgICAgIG1fcHJpdmF0ZS5jbGVhcigpOwotICAgICAgICBtX3ByaXZhdGUuc2V0KGVuZ2luZXNb
MF0tPmNvbnN0cnVjdG9yKHRoaXMpKTsKKyAgICAgICAgbV9wcml2YXRlID0gZW5naW5lc1swXS0+
Y29uc3RydWN0b3IodGhpcyk7CiAgICAgICAgIGlmIChtX21lZGlhUGxheWVyQ2xpZW50KQogICAg
ICAgICAgICAgbV9tZWRpYVBsYXllckNsaWVudC0+bWVkaWFQbGF5ZXJFbmdpbmVVcGRhdGVkKHRo
aXMpOwogICAgIH0KQEAgLTM2MiwxMSArMzU4LDEwIEBAIHZvaWQgTWVkaWFQbGF5ZXI6OmxvYWRX
aXRoTmV4dE1lZGlhRW5naW5lKE1lZGlhUGxheWVyRmFjdG9yeSogY3VycmVudCkKICAgICAvLyBE
b24ndCBkZWxldGUgYW5kIHJlY3JlYXRlIHRoZSBwbGF5ZXIgdW5sZXNzIGl0IGNvbWVzIGZyb20g
YSBkaWZmZXJlbnQgZW5naW5lLgogICAgIGlmICghZW5naW5lKSB7CiAgICAgICAgIG1fY3VycmVu
dE1lZGlhRW5naW5lID0gZW5naW5lOwotICAgICAgICBtX3ByaXZhdGUuY2xlYXIoKTsKKyAgICAg
ICAgbV9wcml2YXRlID0gbnVsbHB0cjsKICAgICB9IGVsc2UgaWYgKG1fY3VycmVudE1lZGlhRW5n
aW5lICE9IGVuZ2luZSkgewogICAgICAgICBtX2N1cnJlbnRNZWRpYUVuZ2luZSA9IGVuZ2luZTsK
LSAgICAgICAgbV9wcml2YXRlLmNsZWFyKCk7Ci0gICAgICAgIG1fcHJpdmF0ZS5zZXQoZW5naW5l
LT5jb25zdHJ1Y3Rvcih0aGlzKSk7CisgICAgICAgIG1fcHJpdmF0ZSA9IGVuZ2luZS0+Y29uc3Ry
dWN0b3IodGhpcyk7CiAgICAgICAgIGlmIChtX21lZGlhUGxheWVyQ2xpZW50KQogICAgICAgICAg
ICAgbV9tZWRpYVBsYXllckNsaWVudC0+bWVkaWFQbGF5ZXJFbmdpbmVVcGRhdGVkKHRoaXMpOwog
I2lmIEVOQUJMRShQTFVHSU5fUFJPWFlfRk9SX1ZJREVPKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKaW5kZXggMzQ4MWIwZTFkNjM4YmQyN2FhOGUx
OGQ1Y2MwNjhjZTYyMTUwYTJlYS4uMTNmNmQ1ODIwNzVjNjE1YmQzODk5MTg5N2VjODUxZGJhOGJi
Yjk0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQ
bGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXll
ci5oCkBAIC0zMTAsNyArMzEwLDcgQEAgcHJpdmF0ZToKIAogICAgIE1lZGlhUGxheWVyQ2xpZW50
KiBtX21lZGlhUGxheWVyQ2xpZW50OwogICAgIFRpbWVyPE1lZGlhUGxheWVyPiBtX3JlbG9hZFRp
bWVyOwotICAgIE93blB0cjxNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UqPiBtX3ByaXZhdGU7
CisgICAgT3duUHRyPE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZT4gbV9wcml2YXRlOwogICAg
IE1lZGlhUGxheWVyRmFjdG9yeSogbV9jdXJyZW50TWVkaWFFbmdpbmU7CiAgICAgU3RyaW5nIG1f
dXJsOwogICAgIFN0cmluZyBtX2NvbnRlbnRNSU1FVHlwZTsKQEAgLTMzMCw3ICszMzAsNyBAQCBw
cml2YXRlOgogI2VuZGlmCiB9OwogCi10eXBlZGVmIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFj
ZSogKCpDcmVhdGVNZWRpYUVuZ2luZVBsYXllcikoTWVkaWFQbGF5ZXIqKTsKK3R5cGVkZWYgUGFz
c093blB0cjxNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2U+ICgqQ3JlYXRlTWVkaWFFbmdpbmVQ
bGF5ZXIpKE1lZGlhUGxheWVyKik7CiB0eXBlZGVmIHZvaWQgKCpNZWRpYUVuZ2luZVN1cHBvcnRl
ZFR5cGVzKShIYXNoU2V0PFN0cmluZz4mIHR5cGVzKTsKIHR5cGVkZWYgTWVkaWFQbGF5ZXI6OlN1
cHBvcnRzVHlwZSAoKk1lZGlhRW5naW5lU3VwcG9ydHNUeXBlKShjb25zdCBTdHJpbmcmIHR5cGUs
IGNvbnN0IFN0cmluZyYgY29kZWNzKTsKIHR5cGVkZWYgdm9pZCAoKk1lZGlhRW5naW5lR2V0U2l0
ZXNJbk1lZGlhQ2FjaGUpKFZlY3RvcjxTdHJpbmc+Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZG
b3VuZGF0aW9uT2JqQy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaAppbmRleCBiMDllZWQ1
MDQxNzYyYTUxNTIxYjMxY2Q5MGYzZDliMjhhY2NkYjM0Li4zYTY4MzBkNmFkN2ViZjUyZTRmYzli
ZDNlZWEyZWZkMTRiNGRhMGIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRp
YVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLmgKQEAgLTY2LDcgKzY2LDcgQEAgcHJpdmF0
ZToKICAgICB+TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQygpOwogCiAgICAgLy8g
ZW5naW5lIHN1cHBvcnQKLSAgICBzdGF0aWMgTWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlKiBj
cmVhdGUoTWVkaWFQbGF5ZXIqIHBsYXllcik7CisgICAgc3RhdGljIFBhc3NPd25QdHI8TWVkaWFQ
bGF5ZXJQcml2YXRlSW50ZXJmYWNlPiBjcmVhdGUoTWVkaWFQbGF5ZXIqKTsKICAgICBzdGF0aWMg
dm9pZCBnZXRTdXBwb3J0ZWRUeXBlcyhIYXNoU2V0PFN0cmluZz4mIHR5cGVzKTsKICAgICBzdGF0
aWMgTWVkaWFQbGF5ZXI6OlN1cHBvcnRzVHlwZSBzdXBwb3J0c1R5cGUoY29uc3QgU3RyaW5nJiB0
eXBlLCBjb25zdCBTdHJpbmcmIGNvZGVjcyk7CiAgICAgc3RhdGljIGJvb2wgaXNBdmFpbGFibGUo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91
bmRhdGlvbk9iakMubW0KaW5kZXggMTM3NDRmZjRiZWY2MzViMDU2YWUyZjE2MDdlZDUwMjdlNmIw
ZWRlMS4uOTVmOWM4NmE1NWQzNjlkZWQyYTdkNzk5ODI1NDUwY2Y1NDJjZmFkZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxh
eWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9i
akMubW0KQEAgLTEyMyw5ICsxMjMsOSBAQCBzdGF0aWMgY29uc3QgY2hhciAqYm9vbFN0cmluZyhi
b29sIHZhbCkKIAogc3RhdGljIGNvbnN0IGZsb2F0IGludmFsaWRUaW1lID0gLTEuMGY7CiAKLU1l
ZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSogTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9u
T2JqQzo6Y3JlYXRlKE1lZGlhUGxheWVyKiBwbGF5ZXIpIAorUGFzc093blB0cjxNZWRpYVBsYXll
clByaXZhdGVJbnRlcmZhY2U+IE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OmNy
ZWF0ZShNZWRpYVBsYXllciogcGxheWVyKQogeyAKLSAgICByZXR1cm4gbmV3IE1lZGlhUGxheWVy
UHJpdmF0ZUFWRm91bmRhdGlvbk9iakMocGxheWVyKTsKKyAgICByZXR1cm4gYWRvcHRQdHIobmV3
IE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMocGxheWVyKSk7CiB9CiAKIHZvaWQg
TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6cmVnaXN0ZXJNZWRpYUVuZ2luZShN
ZWRpYUVuZ2luZVJlZ2lzdHJhciByZWdpc3RyYXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXIuY3BwCmluZGV4IDMxZjU5MmE3Zjg1YzIxM2NiMDRkMDhmZjhl
MDE0MTdjNTE3NDk3NWIuLmFkNjJkYzQyZjY3NjBmMTA1M2FlZGM2YTg0MDcyN2MwNmUwN2IzYTEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9N
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCkBA
IC0xNTEsOSArMTUxLDkgQEAgc3RhdGljIHZvaWQgbWVkaWFQbGF5ZXJQcml2YXRlUmVwYWludENh
bGxiYWNrKFdlYktpdFZpZGVvU2luayosIEdzdEJ1ZmZlciAqYnVmZmUKICAgICBwbGF5ZXJQcml2
YXRlLT50cmlnZ2VyUmVwYWludChidWZmZXIpOwogfQogCi1NZWRpYVBsYXllclByaXZhdGVJbnRl
cmZhY2UqIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6Y3JlYXRlKE1lZGlhUGxheWVyKiBw
bGF5ZXIpCitQYXNzT3duUHRyPE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZT4gTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyOjpjcmVhdGUoTWVkaWFQbGF5ZXIqIHBsYXllcikKIHsKLSAgICBy
ZXR1cm4gbmV3IE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcihwbGF5ZXIpOworICAgIHJldHVy
biBhZG9wdFB0cihuZXcgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyKHBsYXllcikpOwogfQog
CiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6cmVnaXN0ZXJNZWRpYUVuZ2luZShN
ZWRpYUVuZ2luZVJlZ2lzdHJhciByZWdpc3RyYXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyLmgKaW5kZXggMDI0ZmFkMDM5MmQyYmFkOWUyMWM4OWFhZmZhZTNl
ZDZlZmI5MDBiNC4uZjdhNGUxMzE4MmQ2MTYwY2NmMmZkZjhlMjI0ODAyNTM0OTY0NzExYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaApAQCAtNDcsNiAr
NDcsNyBAQCBjbGFzcyBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI7CiBjbGFzcyBNZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXIgOiBwdWJsaWMgTWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNl
IHsKIAogICAgICAgICBwdWJsaWM6CisgICAgICAgICAgICB+TWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyKCk7CiAgICAgICAgICAgICBzdGF0aWMgdm9pZCByZWdpc3Rlck1lZGlhRW5naW5lKE1l
ZGlhRW5naW5lUmVnaXN0cmFyKTsKICAgICAgICAgICAgIGdib29sZWFuIGhhbmRsZU1lc3NhZ2Uo
R3N0TWVzc2FnZSopOwogCkBAIC0xMjQsOSArMTI1LDggQEAgY2xhc3MgTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyIDogcHVibGljIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSB7CiAKICAg
ICAgICAgcHJpdmF0ZToKICAgICAgICAgICAgIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcihN
ZWRpYVBsYXllciopOwotICAgICAgICAgICAgfk1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcigp
OwogCi0gICAgICAgICAgICBzdGF0aWMgTWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlKiBjcmVh
dGUoTWVkaWFQbGF5ZXIqIHBsYXllcik7CisgICAgICAgICAgICBzdGF0aWMgUGFzc093blB0cjxN
ZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2U+IGNyZWF0ZShNZWRpYVBsYXllciopOwogCiAgICAg
ICAgICAgICBzdGF0aWMgdm9pZCBnZXRTdXBwb3J0ZWRUeXBlcyhIYXNoU2V0PFN0cmluZz4mKTsK
ICAgICAgICAgICAgIHN0YXRpYyBNZWRpYVBsYXllcjo6U3VwcG9ydHNUeXBlIHN1cHBvcnRzVHlw
ZShjb25zdCBTdHJpbmcmIHR5cGUsIGNvbnN0IFN0cmluZyYgY29kZWNzKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVR
VEtpdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL01lZGlhUGxheWVy
UHJpdmF0ZVFUS2l0LmgKaW5kZXggYjdiYjg2YjY0MDE1YWJlYjQ1NGFkNTI1NDZiYmQwNGZkOTAw
YjlmOC4uYTkyNjE2MDQwOGE2NTUwOTI4OTk0YmY4ZTBhMThmMDcxMzY5NDJmZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL01lZGlhUGxheWVyUHJpdmF0
ZVFUS2l0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL01lZGlh
UGxheWVyUHJpdmF0ZVFUS2l0LmgKQEAgLTU5LDYgKzU5LDcgQEAgY2xhc3MgQXBwbGljYXRpb25D
YWNoZVJlc291cmNlOwogCiBjbGFzcyBNZWRpYVBsYXllclByaXZhdGVRVEtpdCA6IHB1YmxpYyBN
ZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UgewogcHVibGljOgorICAgIH5NZWRpYVBsYXllclBy
aXZhdGVRVEtpdCgpOwogICAgIHN0YXRpYyB2b2lkIHJlZ2lzdGVyTWVkaWFFbmdpbmUoTWVkaWFF
bmdpbmVSZWdpc3RyYXIpOwogCiAgICAgdm9pZCByZXBhaW50KCk7CkBAIC03MCwxMCArNzEsOSBA
QCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQoTWVkaWFQ
bGF5ZXIqKTsKLSAgICB+TWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQoKTsKIAogICAgIC8vIGVuZ2lu
ZSBzdXBwb3J0Ci0gICAgc3RhdGljIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSogY3JlYXRl
KE1lZGlhUGxheWVyKiBwbGF5ZXIpOworICAgIHN0YXRpYyBQYXNzT3duUHRyPE1lZGlhUGxheWVy
UHJpdmF0ZUludGVyZmFjZT4gY3JlYXRlKE1lZGlhUGxheWVyKik7CiAgICAgc3RhdGljIHZvaWQg
Z2V0U3VwcG9ydGVkVHlwZXMoSGFzaFNldDxTdHJpbmc+JiB0eXBlcyk7CiAgICAgc3RhdGljIE1l
ZGlhUGxheWVyOjpTdXBwb3J0c1R5cGUgc3VwcG9ydHNUeXBlKGNvbnN0IFN0cmluZyYgdHlwZSwg
Y29uc3QgU3RyaW5nJiBjb2RlY3MpOwogICAgIHN0YXRpYyB2b2lkIGdldFNpdGVzSW5NZWRpYUNh
Y2hlKFZlY3RvcjxTdHJpbmc+Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQubW0gYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQubW0KaW5kZXgg
NWQ2Y2IyNWZmNmRlNzQ3ZTRjNTQ4YjUwNGY4MmVmYTBhMmY0MzI3Yy4uYmE5ZmUwNjFlY2ExNTNl
NTQ4NTdiM2E1NTg5ZDdhODZiZThlMjA2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvbWFjL01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Lm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5t
bQpAQCAtMTgxLDExICsxODEsOSBAQCB1c2luZyBuYW1lc3BhY2Ugc3RkOwogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLQotCi1NZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UqIE1lZGlhUGxheWVy
UHJpdmF0ZVFUS2l0OjpjcmVhdGUoTWVkaWFQbGF5ZXIqIHBsYXllcikgCitQYXNzT3duUHRyPE1l
ZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZT4gTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQ6OmNyZWF0
ZShNZWRpYVBsYXllciogcGxheWVyKQogeyAKLSAgICByZXR1cm4gbmV3IE1lZGlhUGxheWVyUHJp
dmF0ZVFUS2l0KHBsYXllcik7CisgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBNZWRpYVBsYXllclBy
aXZhdGVRVEtpdChwbGF5ZXIpKTsKIH0KIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVRVEtpdDo6
cmVnaXN0ZXJNZWRpYUVuZ2luZShNZWRpYUVuZ2luZVJlZ2lzdHJhciByZWdpc3RyYXIpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9NZWRpYVBsYXllclBy
aXZhdGVQaG9ub24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvTWVk
aWFQbGF5ZXJQcml2YXRlUGhvbm9uLmNwcAppbmRleCA1NDdkYWJjOGM0MWVmNmYyZjVmZGRmYWVj
NTE0MDllN2E0ZGExMWQyLi40ZTM5NjllOWE2ZGU3Y2YzMGVlMzEyNjMzMzM1ZGY5OWE1YTg4NzA0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9NZWRpYVBs
YXllclByaXZhdGVQaG9ub24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3F0L01lZGlhUGxheWVyUHJpdmF0ZVBob25vbi5jcHAKQEAgLTExOCw5ICsxMTgsOSBAQCBN
ZWRpYVBsYXllclByaXZhdGVQaG9ub246Ok1lZGlhUGxheWVyUHJpdmF0ZVBob25vbihNZWRpYVBs
YXllciogcGxheWVyKQogICAgIGNvbm5lY3QobV9tZWRpYU9iamVjdCwgU0lHTkFMKHRvdGFsVGlt
ZUNoYW5nZWQocWludDY0KSksIHRoaXMsIFNMT1QodG90YWxUaW1lQ2hhbmdlZChxaW50NjQpKSk7
CiB9CiAKLU1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSogTWVkaWFQbGF5ZXJQcml2YXRlUGhv
bm9uOjpjcmVhdGUoTWVkaWFQbGF5ZXIqIHBsYXllcikKK1Bhc3NPd25QdHI8TWVkaWFQbGF5ZXJQ
cml2YXRlSW50ZXJmYWNlPiBNZWRpYVBsYXllclByaXZhdGVQaG9ub246OmNyZWF0ZShNZWRpYVBs
YXllciogcGxheWVyKQogewotICAgIHJldHVybiBuZXcgTWVkaWFQbGF5ZXJQcml2YXRlUGhvbm9u
KHBsYXllcik7CisgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBNZWRpYVBsYXllclByaXZhdGVQaG9u
b24ocGxheWVyKSk7CiB9CiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUGhvbm9uOjpyZWdpc3Rl
ck1lZGlhRW5naW5lKE1lZGlhRW5naW5lUmVnaXN0cmFyIHJlZ2lzdHJhcikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L01lZGlhUGxheWVyUHJpdmF0ZVBo
b25vbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvTWVkaWFQbGF5ZXJQ
cml2YXRlUGhvbm9uLmgKaW5kZXggZDc5MzY3NWMzY2QxNDA2NjY2YjA3Njk1YzU4ZDc1ZTMyODUy
M2UzMS4uMWQ4YTRmNTE2NjNjMDI4OTdkZjIzZjZjODljZGFlMmQxZjUwMGI2NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvTWVkaWFQbGF5ZXJQcml2YXRl
UGhvbm9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvTWVkaWFQ
bGF5ZXJQcml2YXRlUGhvbm9uLmgKQEAgLTEyOCw3ICsxMjgsNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKICAgICBwcml2YXRlOgogICAgICAgICBNZWRpYVBsYXllclByaXZhdGVQaG9ub24oTWVk
aWFQbGF5ZXIqKTsKLSAgICAgICAgc3RhdGljIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSog
Y3JlYXRlKE1lZGlhUGxheWVyKiBwbGF5ZXIpOworICAgICAgICBzdGF0aWMgUGFzc093blB0cjxN
ZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2U+IGNyZWF0ZShNZWRpYVBsYXllciopOwogCiAgICAg
ICAgIHN0YXRpYyB2b2lkIGdldFN1cHBvcnRlZFR5cGVzKEhhc2hTZXQ8U3RyaW5nPiYpOwogICAg
ICAgICBzdGF0aWMgTWVkaWFQbGF5ZXI6OlN1cHBvcnRzVHlwZSBzdXBwb3J0c1R5cGUoY29uc3Qg
U3RyaW5nJiB0eXBlLCBjb25zdCBTdHJpbmcmIGNvZGVjcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9NZWRpYVBsYXllclByaXZhdGVRdC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9NZWRpYVBsYXllclByaXZhdGVRdC5j
cHAKaW5kZXggNmM2MDI1Yjk0M2JiOWEwMzc4MDUzMzg2OWNhOTEzMzI4OWQ3ODQ5My4uOTUxNTkz
Mjk3ZDI5NmYyYjEwYTRkNmNjNWM3ZTM2NmYyZGI5YzE4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvTWVkaWFQbGF5ZXJQcml2YXRlUXQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L01lZGlhUGxheWVyUHJpdmF0ZVF0
LmNwcApAQCAtNTksOSArNTksOSBAQCB1c2luZyBuYW1lc3BhY2UgV1RGOwogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLU1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSogTWVkaWFQbGF5ZXJQcml2
YXRlUXQ6OmNyZWF0ZShNZWRpYVBsYXllciogcGxheWVyKQorUGFzc093blB0cjxNZWRpYVBsYXll
clByaXZhdGVJbnRlcmZhY2U+IE1lZGlhUGxheWVyUHJpdmF0ZVF0OjpjcmVhdGUoTWVkaWFQbGF5
ZXIqIHBsYXllcikKIHsKLSAgICByZXR1cm4gbmV3IE1lZGlhUGxheWVyUHJpdmF0ZVF0KHBsYXll
cik7CisgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBNZWRpYVBsYXllclByaXZhdGVRdChwbGF5ZXIp
KTsKIH0KIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVRdDo6cmVnaXN0ZXJNZWRpYUVuZ2luZShN
ZWRpYUVuZ2luZVJlZ2lzdHJhciByZWdpc3RyYXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9NZWRpYVBsYXllclByaXZhdGVRdC5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvTWVkaWFQbGF5ZXJQcml2YXRlUXQuaAppbmRleCA4
NTlkZDA0MDNjOTlhMTQyZDIwYTMzODVhNjY1YjRjMDFmN2JjZDBmLi40ODFmYTg2ZWFlZWIxZTg3
MDNjODA2MGQxNzBiNGI0N2U2N2ExMmEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9xdC9NZWRpYVBsYXllclByaXZhdGVRdC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L01lZGlhUGxheWVyUHJpdmF0ZVF0LmgKQEAgLTQ2LDcg
KzQ2LDcgQEAgY2xhc3MgTWVkaWFQbGF5ZXJQcml2YXRlUXQgOiBwdWJsaWMgUU9iamVjdCwgcHVi
bGljIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZQogICAgIFFfT0JKRUNUCiAKIHB1YmxpYzoK
LSAgICBzdGF0aWMgTWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlKiBjcmVhdGUoTWVkaWFQbGF5
ZXIqIHBsYXllcik7CisgICAgc3RhdGljIFBhc3NPd25QdHI8TWVkaWFQbGF5ZXJQcml2YXRlSW50
ZXJmYWNlPiBjcmVhdGUoTWVkaWFQbGF5ZXIqKTsKICAgICB+TWVkaWFQbGF5ZXJQcml2YXRlUXQo
KTsKIAogICAgIHN0YXRpYyB2b2lkIHJlZ2lzdGVyTWVkaWFFbmdpbmUoTWVkaWFFbmdpbmVSZWdp
c3RyYXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L01lZGlhUGxheWVyUHJpdmF0ZVF1aWNrVGltZVZpc3VhbENvbnRleHQuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL01lZGlhUGxheWVyUHJpdmF0ZVF1aWNrVGltZVZp
c3VhbENvbnRleHQuY3BwCmluZGV4IDkxM2FkMzYxNzM4YmVjYTRjYTE5YzdiN2Q3MmRlZGRjZDdi
OWY0NmIuLjY2MDE5ZTgxYjYyZmE2ZDI5YmUzOTVkN2I2OTk5MTA1NDNhMzEzYjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9NZWRpYVBsYXllclByaXZh
dGVRdWlja1RpbWVWaXN1YWxDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy93aW4vTWVkaWFQbGF5ZXJQcml2YXRlUXVpY2tUaW1lVmlzdWFsQ29udGV4dC5j
cHAKQEAgLTE0OCw5ICsxNDgsOSBAQCBwcml2YXRlOgogICAgIE1lZGlhUGxheWVyUHJpdmF0ZVF1
aWNrVGltZVZpc3VhbENvbnRleHQqIG1fcGFyZW50OwogfTsKIAotTWVkaWFQbGF5ZXJQcml2YXRl
SW50ZXJmYWNlKiBNZWRpYVBsYXllclByaXZhdGVRdWlja1RpbWVWaXN1YWxDb250ZXh0OjpjcmVh
dGUoTWVkaWFQbGF5ZXIqIHBsYXllcikgCitQYXNzT3duUHRyPE1lZGlhUGxheWVyUHJpdmF0ZUlu
dGVyZmFjZT4gTWVkaWFQbGF5ZXJQcml2YXRlUXVpY2tUaW1lVmlzdWFsQ29udGV4dDo6Y3JlYXRl
KE1lZGlhUGxheWVyKiBwbGF5ZXIpCiB7IAotICAgIHJldHVybiBuZXcgTWVkaWFQbGF5ZXJQcml2
YXRlUXVpY2tUaW1lVmlzdWFsQ29udGV4dChwbGF5ZXIpOworICAgIHJldHVybiBhZG9wdFB0cihu
ZXcgTWVkaWFQbGF5ZXJQcml2YXRlUXVpY2tUaW1lVmlzdWFsQ29udGV4dChwbGF5ZXIpKTsKIH0K
IAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVRdWlja1RpbWVWaXN1YWxDb250ZXh0OjpyZWdpc3Rl
ck1lZGlhRW5naW5lKE1lZGlhRW5naW5lUmVnaXN0cmFyIHJlZ2lzdHJhcikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9NZWRpYVBsYXllclByaXZhdGVR
dWlja1RpbWVWaXN1YWxDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy93aW4vTWVkaWFQbGF5ZXJQcml2YXRlUXVpY2tUaW1lVmlzdWFsQ29udGV4dC5oCmluZGV4IDBk
Yzk3Y2RiNzRlMGM2MGExMjk0ZWMzZWQwOTI4YjVjYzA1MzNjZDkuLjcwZmQyYTVkZjJjMzAzNTE2
MmU3NWZmMDJmZjdlNDIxZmMxOTNlNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbi9NZWRpYVBsYXllclByaXZhdGVRdWlja1RpbWVWaXN1YWxDb250ZXh0
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL01lZGlhUGxheWVy
UHJpdmF0ZVF1aWNrVGltZVZpc3VhbENvbnRleHQuaApAQCAtMTI2LDcgKzEyNiw3IEBAIHByaXZh
dGU6CiAgICAgdm9pZCBzYXdVbnN1cHBvcnRlZFRyYWNrcygpOwogCiAgICAgLy8gZW5naW5lIHN1
cHBvcnQKLSAgICBzdGF0aWMgTWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlKiBjcmVhdGUoTWVk
aWFQbGF5ZXIqKTsKKyAgICBzdGF0aWMgUGFzc093blB0cjxNZWRpYVBsYXllclByaXZhdGVJbnRl
cmZhY2U+IGNyZWF0ZShNZWRpYVBsYXllciopOwogICAgIHN0YXRpYyB2b2lkIGdldFN1cHBvcnRl
ZFR5cGVzKEhhc2hTZXQ8U3RyaW5nPiYgdHlwZXMpOwogICAgIHN0YXRpYyBNZWRpYVBsYXllcjo6
U3VwcG9ydHNUeXBlIHN1cHBvcnRzVHlwZShjb25zdCBTdHJpbmcmIHR5cGUsIGNvbnN0IFN0cmlu
ZyYgY29kZWNzKTsKICAgICBzdGF0aWMgYm9vbCBpc0F2YWlsYWJsZSgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL01lZGlhUGxheWVyUHJpdmF0ZVF1
aWNrVGltZVdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTWVk
aWFQbGF5ZXJQcml2YXRlUXVpY2tUaW1lV2luLmNwcAppbmRleCBmMjk2OTZkNTVjYzFmZTUyMjgx
NDM1MTY0ZGQ3MjQyMDE3ODE4NDE2Li4wMzA4ODVkNGZiZDgwOWQ4NzgwNmJlNDM0MzdlYTFlM2Y1
MTJhY2M0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4v
TWVkaWFQbGF5ZXJQcml2YXRlUXVpY2tUaW1lV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy93aW4vTWVkaWFQbGF5ZXJQcml2YXRlUXVpY2tUaW1lV2luLmNwcApA
QCAtNzEsOSArNzEsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBTT0ZUX0xJTktfTElCUkFSWShX
aW5pbmV0KQogU09GVF9MSU5LKFdpbmluZXQsIEludGVybmV0U2V0Q29va2llRXhXLCBEV09SRCwg
V0lOQVBJLCAoTFBDV1NUUiBscHN6VXJsLCBMUENXU1RSIGxwc3pDb29raWVOYW1lLCBMUENXU1RS
IGxwc3pDb29raWVEYXRhLCBEV09SRCBkd0ZsYWdzLCBEV09SRF9QVFIgZHdSZXNlcnZlZCksIChs
cHN6VXJsLCBscHN6Q29va2llTmFtZSwgbHBzekNvb2tpZURhdGEsIGR3RmxhZ3MsIGR3UmVzZXJ2
ZWQpKQogCi1NZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UqIE1lZGlhUGxheWVyUHJpdmF0ZTo6
Y3JlYXRlKE1lZGlhUGxheWVyKiBwbGF5ZXIpIAorUGFzc093blB0cjxNZWRpYVBsYXllclByaXZh
dGVJbnRlcmZhY2U+IE1lZGlhUGxheWVyUHJpdmF0ZTo6Y3JlYXRlKE1lZGlhUGxheWVyKiBwbGF5
ZXIpCiB7IAotICAgIHJldHVybiBuZXcgTWVkaWFQbGF5ZXJQcml2YXRlKHBsYXllcik7CisgICAg
cmV0dXJuIGFkb3B0UHRyKG5ldyBNZWRpYVBsYXllclByaXZhdGUocGxheWVyKSk7CiB9CiAKIHZv
aWQgTWVkaWFQbGF5ZXJQcml2YXRlOjpyZWdpc3Rlck1lZGlhRW5naW5lKE1lZGlhRW5naW5lUmVn
aXN0cmFyIHJlZ2lzdHJhcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3dpbi9NZWRpYVBsYXllclByaXZhdGVRdWlja1RpbWVXaW4uaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9NZWRpYVBsYXllclByaXZhdGVRdWlja1RpbWVXaW4u
aAppbmRleCBhYjliMWYwNWM5NWEyMmQ4MjVkZjIwMDE1OWE3YTQ5ZjUxOWIxNTRjLi45NDNjODUz
Mzg1NTViNDdmZWNhOWE3ZDA5MTUwYjM1NjVkYWE5ZjkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTWVkaWFQbGF5ZXJQcml2YXRlUXVpY2tUaW1lV2lu
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL01lZGlhUGxheWVy
UHJpdmF0ZVF1aWNrVGltZVdpbi5oCkBAIC0xMzcsNyArMTM3LDcgQEAgcHJpdmF0ZToKICAgICB2
aXJ0dWFsIHZvaWQgbW92aWVOZXdJbWFnZUF2YWlsYWJsZShRVE1vdmllR1dvcmxkKik7CiAKICAg
ICAvLyBlbmdpbmUgc3VwcG9ydAotICAgIHN0YXRpYyBNZWRpYVBsYXllclByaXZhdGVJbnRlcmZh
Y2UqIGNyZWF0ZShNZWRpYVBsYXllciopOworICAgIHN0YXRpYyBQYXNzT3duUHRyPE1lZGlhUGxh
eWVyUHJpdmF0ZUludGVyZmFjZT4gY3JlYXRlKE1lZGlhUGxheWVyKik7CiAgICAgc3RhdGljIHZv
aWQgZ2V0U3VwcG9ydGVkVHlwZXMoSGFzaFNldDxTdHJpbmc+JiB0eXBlcyk7CiAgICAgc3RhdGlj
IE1lZGlhUGxheWVyOjpTdXBwb3J0c1R5cGUgc3VwcG9ydHNUeXBlKGNvbnN0IFN0cmluZyYgdHlw
ZSwgY29uc3QgU3RyaW5nJiBjb2RlY3MpOwogICAgIHN0YXRpYyBib29sIGlzQXZhaWxhYmxlKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9NZWRp
YVBsYXllclByaXZhdGVXaW5DRS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luY2UvTWVkaWFQbGF5ZXJQcml2YXRlV2luQ0UuaAppbmRleCBmNDlkOGUyNjc4M2UzYzMzYTZk
NzgzMmQ4Nzk1Nzc5YTZiMGUyOWUxLi44NjI5MzczNTdlZmNmMWZjYTk1ZmU5ZDQ5YTNiYzZjYTg4
NTkyNjc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5j
ZS9NZWRpYVBsYXllclByaXZhdGVXaW5DRS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3dpbmNlL01lZGlhUGxheWVyUHJpdmF0ZVdpbkNFLmgKQEAgLTk3LDcgKzk3LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogI2VuZGlmCiAKICAgICAgICAgLy8gZW5naW5lIHN1cHBv
cnQKLSAgICAgICAgc3RhdGljIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSogY3JlYXRlKE1l
ZGlhUGxheWVyKik7CisgICAgICAgIHN0YXRpYyBQYXNzT3duUHRyPE1lZGlhUGxheWVyUHJpdmF0
ZUludGVyZmFjZT4gY3JlYXRlKE1lZGlhUGxheWVyKik7CiAgICAgICAgIHN0YXRpYyB2b2lkIGdl
dFN1cHBvcnRlZFR5cGVzKEhhc2hTZXQ8U3RyaW5nPiYgdHlwZXMpOwogICAgICAgICBzdGF0aWMg
TWVkaWFQbGF5ZXI6OlN1cHBvcnRzVHlwZSBzdXBwb3J0c1R5cGUoY29uc3QgU3RyaW5nJiB0eXBl
LCBjb25zdCBTdHJpbmcmIGNvZGVjcyk7CiAgICAgICAgIHN0YXRpYyBib29sIGlzQXZhaWxhYmxl
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDg1ZDljYjVjZjUxOTlhYzA3YmQyODU3
NGQzMDIwYzkyNzJiZWIxNDkuLjAzODg1MzU4Y2RmNmU4Yjc2NzRmMWFiNGRkNmJiM2I2ZDcwMDE4
MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDUt
MTIgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KKworICAgICAgICBFbmFibGUgT3duUHRyIHN0cmljdCBtb2Rl
IGluIE1lZGlhUGxheWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD01OTQ2NgorCisgICAgICAgIExldCB0aGUgQ3JlYXRlTWVkaWFFbmdpbmVQbGF5ZXIg
ZnVuY3Rpb24gcmV0dXJuIGEgUGFzc093blB0ciBpbnN0ZWFkIG9mIGEgcmF3IHBvaW50ZXIuCisg
ICAgICAgIEFsc28gZml4IHRoZSB0ZW1wbGV0ZSBhcmd1bWVudCBvZiBPd25QdHIgZm9yIHRoZSBt
X3ByaXZhdGUgbWVtYmVyIHZhcmlhYmxlLgorCisgICAgICAgICogc3JjL1dlYk1lZGlhUGxheWVy
Q2xpZW50SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYk1lZGlhUGxheWVyQ2xpZW50SW1w
bDo6Y3JlYXRlKToKKyAgICAgICAgKiBzcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsLmg6CisK
IDIwMTEtMDUtMTEgIEpvaG4gQWJkLUVsLU1hbGVrICA8amFtQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBKYW1lcyBSb2JpbnNvbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYk1lZGlhUGxheWVyQ2xpZW50SW1wbC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJNZWRpYVBsYXllckNsaWVudEltcGwuY3BwCmluZGV4IGJjYzU3
NmUwOWFjN2UzNGJlYzg2ZTI0OWY0NTY5ZDY4Yzc3YWUxMTEuLjJiZjBlY2NlNzUxMWM5MWZkNThk
Y2ZjYTYxNGFlYTQzZDhjMmIwNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYk1lZGlhUGxheWVyQ2xpZW50SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsLmNwcApAQCAtNTQ3LDkgKzU0Nyw5IEBA
IHZvaWQgV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpwdXRDdXJyZW50RnJhbWUoVmlkZW9GcmFt
ZUNocm9taXVtKiB2aWRlb0ZyYW1lKQogfQogI2VuZGlmCiAKLU1lZGlhUGxheWVyUHJpdmF0ZUlu
dGVyZmFjZSogV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpjcmVhdGUoTWVkaWFQbGF5ZXIqIHBs
YXllcikKK1Bhc3NPd25QdHI8TWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlPiBXZWJNZWRpYVBs
YXllckNsaWVudEltcGw6OmNyZWF0ZShNZWRpYVBsYXllciogcGxheWVyKQogewotICAgIFdlYk1l
ZGlhUGxheWVyQ2xpZW50SW1wbCogY2xpZW50ID0gbmV3IFdlYk1lZGlhUGxheWVyQ2xpZW50SW1w
bCgpOworICAgIE93blB0cjxXZWJNZWRpYVBsYXllckNsaWVudEltcGw+IGNsaWVudCA9IGFkb3B0
UHRyKG5ldyBXZWJNZWRpYVBsYXllckNsaWVudEltcGwoKSk7CiAgICAgY2xpZW50LT5tX21lZGlh
UGxheWVyID0gcGxheWVyOwogCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQpAQCAt
NTY0LDcgKzU2NCw3IEBAIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSogV2ViTWVkaWFQbGF5
ZXJDbGllbnRJbXBsOjpjcmVhdGUoTWVkaWFQbGF5ZXIqIHBsYXllCiAgICAgICAgIGZyYW1lLT5j
b250ZW50UmVuZGVyZXIoKS0+Y29tcG9zaXRvcigpLT5oYXNBY2NlbGVyYXRlZENvbXBvc2l0aW5n
KCk7CiAjZW5kaWYKIAotICAgIHJldHVybiBjbGllbnQ7CisgICAgcmV0dXJuIGNsaWVudC5yZWxl
YXNlKCk7CiB9CiAKIHZvaWQgV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpnZXRTdXBwb3J0ZWRU
eXBlcyhIYXNoU2V0PFN0cmluZz4mIHN1cHBvcnRlZFR5cGVzKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsLmggYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJNZWRpYVBsYXllckNsaWVudEltcGwuaAppbmRleCBhMDhi
YjNhM2VkMDgzM2VjYmFhOWY4Y2YwMGE4ZjBhNGMxOGIzOWNkLi5hNzYxNjRiMGMzOWFiNWY5YTQx
ZmMzZTAzZjc3NWI2ODEzZGMxNzQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJNZWRpYVBsYXllckNsaWVudEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJNZWRpYVBsYXllckNsaWVudEltcGwuaApAQCAtMTM0LDcgKzEzNCw3IEBAIHBy
aXZhdGU6CiAgICAgdm9pZCBzdGFydERlbGF5ZWRMb2FkKCk7CiAgICAgdm9pZCBsb2FkSW50ZXJu
YWwoKTsKIAotICAgIHN0YXRpYyBXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2Uq
IGNyZWF0ZShXZWJDb3JlOjpNZWRpYVBsYXllciopOworICAgIHN0YXRpYyBQYXNzT3duUHRyPFdl
YkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZT4gY3JlYXRlKFdlYkNvcmU6Ok1lZGlh
UGxheWVyKik7CiAgICAgc3RhdGljIHZvaWQgZ2V0U3VwcG9ydGVkVHlwZXMoV1RGOjpIYXNoU2V0
PFdURjo6U3RyaW5nPiYpOwogICAgIHN0YXRpYyBXZWJDb3JlOjpNZWRpYVBsYXllcjo6U3VwcG9y
dHNUeXBlIHN1cHBvcnRzVHlwZSgKICAgICAgICAgY29uc3QgV1RGOjpTdHJpbmcmIHR5cGUsIGNv
bnN0IFdURjo6U3RyaW5nJiBjb2RlY3MpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>