<?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>132973</bug_id>
          
          <creation_ts>2014-05-15 16:03:41 -0700</creation_ts>
          <short_desc>[MSE] Crash at  WebCore::SourceBuffer::~SourceBuffer + 110</short_desc>
          <delta_ts>2014-05-16 12:45:50 -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>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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>glenn</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1009648</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-05-15 16:03:41 -0700</bug_when>
    <thetext>[MSE] Crash at  WebCore::SourceBuffer::~SourceBuffer + 110</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009652</commentid>
    <comment_count>1</comment_count>
      <attachid>231539</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-05-15 16:15:07 -0700</bug_when>
    <thetext>Created attachment 231539
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009653</commentid>
    <comment_count>2</comment_count>
      <attachid>231540</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-05-15 16:15:45 -0700</bug_when>
    <thetext>Created attachment 231540
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009714</commentid>
    <comment_count>3</comment_count>
      <attachid>231557</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-05-15 22:03:06 -0700</bug_when>
    <thetext>Created attachment 231557
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009783</commentid>
    <comment_count>4</comment_count>
      <attachid>231578</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-05-16 09:47:52 -0700</bug_when>
    <thetext>Created attachment 231578
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009786</commentid>
    <comment_count>5</comment_count>
      <attachid>231579</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-05-16 10:29:49 -0700</bug_when>
    <thetext>Created attachment 231579
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009792</commentid>
    <comment_count>6</comment_count>
      <attachid>231579</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2014-05-16 11:45:02 -0700</bug_when>
    <thetext>Comment on attachment 231579
Patch

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

&gt; Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:529
&gt; +        [parser appendStreamData:nsData.get()];

Nit: is there any reason to append the data if weakThis is already NULL?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009811</commentid>
    <comment_count>7</comment_count>
      <attachid>231579</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-05-16 12:15:25 -0700</bug_when>
    <thetext>Comment on attachment 231579
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:529
&gt;&gt; +        [parser appendStreamData:nsData.get()];
&gt; 
&gt; Nit: is there any reason to append the data if weakThis is already NULL?

We can&apos;t call WeakPtr.get() off the main thread, due to the way WeakPtrs work.  So there&apos;s no way to check within this part of the call.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009823</commentid>
    <comment_count>8</comment_count>
      <attachid>231579</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-05-16 12:45:45 -0700</bug_when>
    <thetext>Comment on attachment 231579
Patch

Clearing flags on attachment: 231579

Committed r168974: &lt;http://trac.webkit.org/changeset/168974&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009824</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-05-16 12:45:50 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>231539</attachid>
            <date>2014-05-15 16:15:07 -0700</date>
            <delta_ts>2014-05-15 16:15:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-132973-20140515161443.patch</filename>
            <type>text/plain</type>
            <size>3520</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY4ODQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTZkNzExNzkxMzA1OThi
YjQ5NzcwMWViOGU0YWQyOGU5MTJhZDczOC4uYjI3MDM4YTBjN2ZlNDc1ZWJjN2RiMzU5MzZiMDg2
ZGFkMTQ5OGM2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE0LTA1LTE1ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtNU0VdIENyYXNoIGF0ICBX
ZWJDb3JlOjpTb3VyY2VCdWZmZXI6On5Tb3VyY2VCdWZmZXIgKyAxMTAKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMjk3MworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBhc3NpbmcgYSBQYXNzUmVmIGludG8g
YSBSZWZQdHIgY29uc3RydWN0b3IgbGVha3MgYSByZWYuIENoYW5nZSBtX3ByaXZhdGUgaW50byBh
CisgICAgICAgIFJlZjw+LCBhbmQgYWRkIGFuIGFzc2VydGlvbiB0byBTb3VyY2VCdWZmZXJQcml2
YXRlQVZGT2JqQydzIGRlc3RydWN0b3IgaWYgaXQncworICAgICAgICBjbGllbnQgaGFzIG5vdCBi
ZWVuIGNsZWFyZWQuCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXI6OlNvdXJjZUJ1ZmZlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXI6OmFwcGVuZEJ1ZmZlclRpbWVyRmlyZWQpOgor
ICAgICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmg6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFW
Rk9iakMubW06CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6
flNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDKToKKwogMjAxNC0wNS0xNCAgQWxleCBDaHJpc3Rl
bnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlZmFjdG9yIGR1cGxp
Y2F0ZSBjb2RlIGluIHdlYiB0aW1pbmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAKaW5kZXggYTJhNzdiNTcyMTNmZWQzZWJmZWFj
YzdjZjViMGZkYTJkZTIzN2Q3Ni4uNzYyYzU3Y2Y0ODIxN2FjOGUzZTYxM2I2NTI5MGZhMTVkY2Vm
ZjNhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3Vy
Y2VCdWZmZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291
cmNlQnVmZmVyLmNwcApAQCAtMTA3LDcgKzEwNyw2IEBAIFNvdXJjZUJ1ZmZlcjo6U291cmNlQnVm
ZmVyKFBhc3NSZWY8U291cmNlQnVmZmVyUHJpdmF0ZT4gc291cmNlQnVmZmVyUHJpdmF0ZSwgTWVk
CiAgICAgLCBtX3BlbmRpbmdSZW1vdmVFbmQoTWVkaWFUaW1lOjppbnZhbGlkVGltZSgpKQogICAg
ICwgbV9yZW1vdmVUaW1lcih0aGlzLCAmU291cmNlQnVmZmVyOjpyZW1vdmVUaW1lckZpcmVkKQog
ewotICAgIEFTU0VSVChtX3ByaXZhdGUpOwogICAgIEFTU0VSVChtX3NvdXJjZSk7CiAKICAgICBt
X3ByaXZhdGUtPnNldENsaWVudCh0aGlzKTsKQEAgLTQ3NCw3ICs0NzMsNyBAQCB2b2lkIFNvdXJj
ZUJ1ZmZlcjo6YXBwZW5kQnVmZmVyVGltZXJGaXJlZChUaW1lcjxTb3VyY2VCdWZmZXI+JikKIAog
ICAgIC8vIDEuIExvb3AgVG9wOiBJZiB0aGUgaW5wdXQgYnVmZmVyIGlzIGVtcHR5LCB0aGVuIGp1
bXAgdG8gdGhlIG5lZWQgbW9yZSBkYXRhIHN0ZXAgYmVsb3cuCiAgICAgaWYgKCFtX3BlbmRpbmdB
cHBlbmREYXRhLnNpemUoKSkgewotICAgICAgICBzb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29t
cGxldGUobV9wcml2YXRlLmdldCgpLCBBcHBlbmRTdWNjZWVkZWQpOworICAgICAgICBzb3VyY2VC
dWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoJm1fcHJpdmF0ZS5nZXQoKSwgQXBwZW5kU3VjY2Vl
ZGVkKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmgKaW5kZXggOTlmMmQzMTZmNTIzY2VkMmYw
MGUzNzE4ZTVhNWZiNTYxN2Q0ZjM1My4uMTQ3OWJiZjE2ODEzYjZkYmE1ODg5ZDYwNzM4NTIwYjNl
ZWJmNjc2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9T
b3VyY2VCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1Nv
dXJjZUJ1ZmZlci5oCkBAIC0xNTYsNyArMTU2LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHJlbW92
ZVRpbWVyRmlyZWQoVGltZXI8U291cmNlQnVmZmVyPiopOwogICAgIHZvaWQgcmVtb3ZlQ29kZWRG
cmFtZXMoY29uc3QgTWVkaWFUaW1lJiBzdGFydCwgY29uc3QgTWVkaWFUaW1lJiBlbmQpOwogCi0g
ICAgUmVmUHRyPFNvdXJjZUJ1ZmZlclByaXZhdGU+IG1fcHJpdmF0ZTsKKyAgICBSZWY8U291cmNl
QnVmZmVyUHJpdmF0ZT4gbV9wcml2YXRlOwogICAgIE1lZGlhU291cmNlKiBtX3NvdXJjZTsKICAg
ICBHZW5lcmljRXZlbnRRdWV1ZSBtX2FzeW5jRXZlbnRRdWV1ZTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVm
ZmVyUHJpdmF0ZUFWRk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbQppbmRleCBhMTli
NDdiOTI2NTM1NzRiNGM3MmI1NDllYWE0Mzk2NWNkNjgwNjY5Li5mODVlOWUyNzhkYzgwMzhlYmMx
NjkyYTI2MmZmNTIyYTMxYWEzNTdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2Jq
Yy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbQpAQCAtMzk4LDYgKzM5OCw3IEBAIFNvdXJj
ZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQyhNZWRpYVNv
dXJjZVByaXZhdGVBVkZPYmpDCiAKIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjp+U291cmNl
QnVmZmVyUHJpdmF0ZUFWRk9iakMoKQogeworICAgIEFTU0VSVCghbV9jbGllbnQpOwogICAgIGRl
c3Ryb3lQYXJzZXIoKTsKICAgICBkZXN0cm95UmVuZGVyZXJzKCk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>231540</attachid>
            <date>2014-05-15 16:15:45 -0700</date>
            <delta_ts>2014-05-15 22:03:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-132973-20140515161522.patch</filename>
            <type>text/plain</type>
            <size>3520</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY4ODQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTZkNzExNzkxMzA1OThi
YjQ5NzcwMWViOGU0YWQyOGU5MTJhZDczOC4uYjI3MDM4YTBjN2ZlNDc1ZWJjN2RiMzU5MzZiMDg2
ZGFkMTQ5OGM2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE0LTA1LTE1ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtNU0VdIENyYXNoIGF0ICBX
ZWJDb3JlOjpTb3VyY2VCdWZmZXI6On5Tb3VyY2VCdWZmZXIgKyAxMTAKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMjk3MworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBhc3NpbmcgYSBQYXNzUmVmIGludG8g
YSBSZWZQdHIgY29uc3RydWN0b3IgbGVha3MgYSByZWYuIENoYW5nZSBtX3ByaXZhdGUgaW50byBh
CisgICAgICAgIFJlZjw+LCBhbmQgYWRkIGFuIGFzc2VydGlvbiB0byBTb3VyY2VCdWZmZXJQcml2
YXRlQVZGT2JqQydzIGRlc3RydWN0b3IgaWYgaXQncworICAgICAgICBjbGllbnQgaGFzIG5vdCBi
ZWVuIGNsZWFyZWQuCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXI6OlNvdXJjZUJ1ZmZlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXI6OmFwcGVuZEJ1ZmZlclRpbWVyRmlyZWQpOgor
ICAgICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmg6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFW
Rk9iakMubW06CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6
flNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDKToKKwogMjAxNC0wNS0xNCAgQWxleCBDaHJpc3Rl
bnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlZmFjdG9yIGR1cGxp
Y2F0ZSBjb2RlIGluIHdlYiB0aW1pbmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAKaW5kZXggYTJhNzdiNTcyMTNmZWQzZWJmZWFj
YzdjZjViMGZkYTJkZTIzN2Q3Ni4uNzYyYzU3Y2Y0ODIxN2FjOGUzZTYxM2I2NTI5MGZhMTVkY2Vm
ZjNhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3Vy
Y2VCdWZmZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291
cmNlQnVmZmVyLmNwcApAQCAtMTA3LDcgKzEwNyw2IEBAIFNvdXJjZUJ1ZmZlcjo6U291cmNlQnVm
ZmVyKFBhc3NSZWY8U291cmNlQnVmZmVyUHJpdmF0ZT4gc291cmNlQnVmZmVyUHJpdmF0ZSwgTWVk
CiAgICAgLCBtX3BlbmRpbmdSZW1vdmVFbmQoTWVkaWFUaW1lOjppbnZhbGlkVGltZSgpKQogICAg
ICwgbV9yZW1vdmVUaW1lcih0aGlzLCAmU291cmNlQnVmZmVyOjpyZW1vdmVUaW1lckZpcmVkKQog
ewotICAgIEFTU0VSVChtX3ByaXZhdGUpOwogICAgIEFTU0VSVChtX3NvdXJjZSk7CiAKICAgICBt
X3ByaXZhdGUtPnNldENsaWVudCh0aGlzKTsKQEAgLTQ3NCw3ICs0NzMsNyBAQCB2b2lkIFNvdXJj
ZUJ1ZmZlcjo6YXBwZW5kQnVmZmVyVGltZXJGaXJlZChUaW1lcjxTb3VyY2VCdWZmZXI+JikKIAog
ICAgIC8vIDEuIExvb3AgVG9wOiBJZiB0aGUgaW5wdXQgYnVmZmVyIGlzIGVtcHR5LCB0aGVuIGp1
bXAgdG8gdGhlIG5lZWQgbW9yZSBkYXRhIHN0ZXAgYmVsb3cuCiAgICAgaWYgKCFtX3BlbmRpbmdB
cHBlbmREYXRhLnNpemUoKSkgewotICAgICAgICBzb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29t
cGxldGUobV9wcml2YXRlLmdldCgpLCBBcHBlbmRTdWNjZWVkZWQpOworICAgICAgICBzb3VyY2VC
dWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoJm1fcHJpdmF0ZS5nZXQoKSwgQXBwZW5kU3VjY2Vl
ZGVkKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmgKaW5kZXggOTlmMmQzMTZmNTIzY2VkMmYw
MGUzNzE4ZTVhNWZiNTYxN2Q0ZjM1My4uMTQ3OWJiZjE2ODEzYjZkYmE1ODg5ZDYwNzM4NTIwYjNl
ZWJmNjc2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9T
b3VyY2VCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1Nv
dXJjZUJ1ZmZlci5oCkBAIC0xNTYsNyArMTU2LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHJlbW92
ZVRpbWVyRmlyZWQoVGltZXI8U291cmNlQnVmZmVyPiopOwogICAgIHZvaWQgcmVtb3ZlQ29kZWRG
cmFtZXMoY29uc3QgTWVkaWFUaW1lJiBzdGFydCwgY29uc3QgTWVkaWFUaW1lJiBlbmQpOwogCi0g
ICAgUmVmUHRyPFNvdXJjZUJ1ZmZlclByaXZhdGU+IG1fcHJpdmF0ZTsKKyAgICBSZWY8U291cmNl
QnVmZmVyUHJpdmF0ZT4gbV9wcml2YXRlOwogICAgIE1lZGlhU291cmNlKiBtX3NvdXJjZTsKICAg
ICBHZW5lcmljRXZlbnRRdWV1ZSBtX2FzeW5jRXZlbnRRdWV1ZTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVm
ZmVyUHJpdmF0ZUFWRk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbQppbmRleCBhMTli
NDdiOTI2NTM1NzRiNGM3MmI1NDllYWE0Mzk2NWNkNjgwNjY5Li5mODVlOWUyNzhkYzgwMzhlYmMx
NjkyYTI2MmZmNTIyYTMxYWEzNTdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2Jq
Yy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbQpAQCAtMzk4LDYgKzM5OCw3IEBAIFNvdXJj
ZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQyhNZWRpYVNv
dXJjZVByaXZhdGVBVkZPYmpDCiAKIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjp+U291cmNl
QnVmZmVyUHJpdmF0ZUFWRk9iakMoKQogeworICAgIEFTU0VSVCghbV9jbGllbnQpOwogICAgIGRl
c3Ryb3lQYXJzZXIoKTsKICAgICBkZXN0cm95UmVuZGVyZXJzKCk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>231557</attachid>
            <date>2014-05-15 22:03:06 -0700</date>
            <delta_ts>2014-05-16 09:47:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-132973-20140515220242.patch</filename>
            <type>text/plain</type>
            <size>15405</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY4ODQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTZkNzExNzkxMzA1OThi
YjQ5NzcwMWViOGU0YWQyOGU5MTJhZDczOC4uMTdiZjU5YjNlOWJiMmU3ODkyNDY1ZmZkZDU3ZWE2
NzNkZDcwMmJkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDE0LTA1LTE1ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtNU0VdIENyYXNoIGF0ICBX
ZWJDb3JlOjpTb3VyY2VCdWZmZXI6On5Tb3VyY2VCdWZmZXIgKyAxMTAKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMjk3MworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZSBTb3VyY2VCdWZmZXI6Om1f
cHJpdmF0ZSBpbnRvIGEgUmVmPD4sIGFuZCBhZGQgYW4gYXNzZXJ0aW9uIHRvCisgICAgICAgIFNv
dXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDJ3MgZGVzdHJ1Y3RvciBpZiBpdHMgY2xpZW50IGhhcyBu
b3QgYmVlbiBjbGVhcmVkLgorCisgICAgICAgIEVsaW1pbmF0ZSB1bm5lY2Vzc2FyeSBjaHVybiBp
biBNZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDIGJ5IGhhdmluZyB0aGUgcHJlZGljYXRlCisgICAg
ICAgIGZ1bmN0b3IgdGFrZSBiYXJlIHBvaW50ZXJzLCByYXRoZXIgdGhhbiBhIFBhc3NSZWZQdHIu
CisKKyAgICAgICAgVGhlIHVuZGVybHlpbmcgcHJvYmxlbSBzZWVtcyB0byBiZSBpbiBXZWJBVlN0
cmVhbURhdGFQYXJzZXJMaXN0ZW5lci4gUmVmUHRycyB3ZXJlCisgICAgICAgIGJlaW5nIGNyZWF0
ZWQgb2ZmIHRoZSBtYWluIHRocmVhZCB0byBhIG5vbi10aHJlYWQgc2FmZSByZWYgY291bnRlZCBj
bGFzcy4gSW4gc29tZQorICAgICAgICBzaXR1YXRpb25zLCB0aGlzIHdvdWxkIHJlc3VsdCBpbiBk
b3VibGUgZGVjcmVtZW50aW5nIHRoZSByZWYsIHdoaWNoIHdvdWxkIGNhdXNlIGFuCisgICAgICAg
IGVhcmx5IGRlc3RydWN0aW9uIG9mIHRoZSB1bmRlcmx5aW5nIG9iamVjdC4gSW5zdGVhZCByZXBs
YWNlIHRoZXNlIFJlZlB0ciBzdHJvbmcKKyAgICAgICAgcG9pbnRlcnMgd2l0aCBleHBsaWNpdCB3
ZWFrIG9uZXMuIEVuc3VyZSB0aGUgcGFyc2VyIGFuZCBpdHMgZGVsZWdhdGUgYXJlIG5vdCBmcmVl
ZAorICAgICAgICBiZWZvcmUgdGhlIGFwcGVuZCBvcGVyYXRpb24gY29tcGxldGVzIGJ5IHBhc3Np
bmcgc3Ryb25nIHBvaW50ZXJzIGludG8gdGhlIGFzeW5jCisgICAgICAgIGFwcGVuZCBvcGVyYXRp
b24gbGFtYmRhLgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyOjpTb3VyY2VCdWZmZXIpOiBVc2Ug
UmVmIGluc3RlYWQgb2YgUmVmUHRyLgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyOjph
cHBlbmRCdWZmZXJUaW1lckZpcmVkKTogRGl0dG8uCisgICAgICAgICogTW9kdWxlcy9tZWRpYXNv
dXJjZS9Tb3VyY2VCdWZmZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9NZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDLm1tOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQ0hhc0F1ZGlvKTogVGFrZSBhIGJhcmUgcG9pbnRl
ciwgaW5zdGVhZCBvZiBhIFBhc3NSZWZQdHIuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJj
ZVByaXZhdGVBVkZPYmpDSGFzVmlkZW8pOiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5oOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1NvdXJjZUJ1ZmZlclBy
aXZhdGVBVkZPYmpDLm1tOgorICAgICAgICAoLVtXZWJBVlN0cmVhbURhdGFQYXJzZXJMaXN0ZW5l
ciBpbml0V2l0aFBhcnNlcjpwYXJlbnQ6V2ViQ29yZTo6XSk6IFVzZSBXZWFrUHRyIGluc3RlYWQg
b2YgUmVmUHRyLgorICAgICAgICAoLVtXZWJBVlN0cmVhbURhdGFQYXJzZXJMaXN0ZW5lciBpbnZh
bGlkYXRlXSk6IERpdHRvLgorICAgICAgICAoLVtXZWJBVlN0cmVhbURhdGFQYXJzZXJMaXN0ZW5l
ciBzdHJlYW1EYXRhUGFyc2VyOmRpZFBhcnNlU3RyZWFtRGF0YUFzQXNzZXQ6XSk6IERpdHRvLgor
ICAgICAgICAoLVtXZWJBVlN0cmVhbURhdGFQYXJzZXJMaXN0ZW5lciBzdHJlYW1EYXRhUGFyc2Vy
OmRpZFBhcnNlU3RyZWFtRGF0YUFzQXNzZXQ6d2l0aERpc2NvbnRpbnVpdHk6XSk6IERpdHRvLgor
ICAgICAgICAoLVtXZWJBVlN0cmVhbURhdGFQYXJzZXJMaXN0ZW5lciBzdHJlYW1EYXRhUGFyc2Vy
OmRpZEZhaWxUb1BhcnNlU3RyZWFtRGF0YVdpdGhFcnJvcjpdKTogRGl0dG8uCisgICAgICAgICgt
W1dlYkFWU3RyZWFtRGF0YVBhcnNlckxpc3RlbmVyIHN0cmVhbURhdGFQYXJzZXI6ZGlkUHJvdmlk
ZU1lZGlhRGF0YTpmb3JUcmFja0lEOm1lZGlhVHlwZTpmbGFnczpdKTogRGl0dG8uCisgICAgICAg
ICgtW1dlYkFWU3RyZWFtRGF0YVBhcnNlckxpc3RlbmVyIHN0cmVhbURhdGFQYXJzZXI6ZGlkUmVh
Y2hFbmRPZlRyYWNrV2l0aFRyYWNrSUQ6bWVkaWFUeXBlOl0pOiBEaXR0by4KKyAgICAgICAgKC1b
V2ViQVZTdHJlYW1EYXRhUGFyc2VyTGlzdGVuZXIgc3RyZWFtRGF0YVBhcnNlcjpkaWRQcm92aWRl
Q29udGVudEtleVJlcXVlc3RJbml0aWFsaXphdGlvbkRhdGE6Zm9yVHJhY2tJRDpdKTogRGl0dG8u
CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6flNvdXJjZUJ1
ZmZlclByaXZhdGVBVkZPYmpDKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZh
dGVBVkZPYmpDOjphcHBlbmQpOiBEaXR0by4KKwogMjAxNC0wNS0xNCAgQWxleCBDaHJpc3RlbnNl
biAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlZmFjdG9yIGR1cGxpY2F0
ZSBjb2RlIGluIHdlYiB0aW1pbmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAKaW5kZXggYTJhNzdiNTcyMTNmZWQzZWJmZWFjYzdj
ZjViMGZkYTJkZTIzN2Q3Ni4uNzYyYzU3Y2Y0ODIxN2FjOGUzZTYxM2I2NTI5MGZhMTVkY2VmZjNh
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VC
dWZmZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNl
QnVmZmVyLmNwcApAQCAtMTA3LDcgKzEwNyw2IEBAIFNvdXJjZUJ1ZmZlcjo6U291cmNlQnVmZmVy
KFBhc3NSZWY8U291cmNlQnVmZmVyUHJpdmF0ZT4gc291cmNlQnVmZmVyUHJpdmF0ZSwgTWVkCiAg
ICAgLCBtX3BlbmRpbmdSZW1vdmVFbmQoTWVkaWFUaW1lOjppbnZhbGlkVGltZSgpKQogICAgICwg
bV9yZW1vdmVUaW1lcih0aGlzLCAmU291cmNlQnVmZmVyOjpyZW1vdmVUaW1lckZpcmVkKQogewot
ICAgIEFTU0VSVChtX3ByaXZhdGUpOwogICAgIEFTU0VSVChtX3NvdXJjZSk7CiAKICAgICBtX3By
aXZhdGUtPnNldENsaWVudCh0aGlzKTsKQEAgLTQ3NCw3ICs0NzMsNyBAQCB2b2lkIFNvdXJjZUJ1
ZmZlcjo6YXBwZW5kQnVmZmVyVGltZXJGaXJlZChUaW1lcjxTb3VyY2VCdWZmZXI+JikKIAogICAg
IC8vIDEuIExvb3AgVG9wOiBJZiB0aGUgaW5wdXQgYnVmZmVyIGlzIGVtcHR5LCB0aGVuIGp1bXAg
dG8gdGhlIG5lZWQgbW9yZSBkYXRhIHN0ZXAgYmVsb3cuCiAgICAgaWYgKCFtX3BlbmRpbmdBcHBl
bmREYXRhLnNpemUoKSkgewotICAgICAgICBzb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxl
dGUobV9wcml2YXRlLmdldCgpLCBBcHBlbmRTdWNjZWVkZWQpOworICAgICAgICBzb3VyY2VCdWZm
ZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoJm1fcHJpdmF0ZS5nZXQoKSwgQXBwZW5kU3VjY2VlZGVk
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmgKaW5kZXggOTlmMmQzMTZmNTIzY2VkMmYwMGUz
NzE4ZTVhNWZiNTYxN2Q0ZjM1My4uMTQ3OWJiZjE2ODEzYjZkYmE1ODg5ZDYwNzM4NTIwYjNlZWJm
Njc2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3Vy
Y2VCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJj
ZUJ1ZmZlci5oCkBAIC0xNTYsNyArMTU2LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHJlbW92ZVRp
bWVyRmlyZWQoVGltZXI8U291cmNlQnVmZmVyPiopOwogICAgIHZvaWQgcmVtb3ZlQ29kZWRGcmFt
ZXMoY29uc3QgTWVkaWFUaW1lJiBzdGFydCwgY29uc3QgTWVkaWFUaW1lJiBlbmQpOwogCi0gICAg
UmVmUHRyPFNvdXJjZUJ1ZmZlclByaXZhdGU+IG1fcHJpdmF0ZTsKKyAgICBSZWY8U291cmNlQnVm
ZmVyUHJpdmF0ZT4gbV9wcml2YXRlOwogICAgIE1lZGlhU291cmNlKiBtX3NvdXJjZTsKICAgICBH
ZW5lcmljRXZlbnRRdWV1ZSBtX2FzeW5jRXZlbnRRdWV1ZTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQ
cml2YXRlQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMubW0KaW5kZXggY2QwNjFhMzY1
NjNhOGY0ZWVlNDBiNzBiODA1NDdjNDM4Y2JiYTU3ZC4uYjJhNTY2NjE5NGRkYTE0N2Y0MjdhMDhi
ZTJjNzI2MDA1MDFjNzQxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRp
YVNvdXJjZVByaXZhdGVBVkZPYmpDLm1tCkBAIC0xNTcsOSArMTU3LDggQEAgdm9pZCBNZWRpYVNv
dXJjZVByaXZhdGVBVkZPYmpDOjpzb3VyY2VCdWZmZXJLZXlOZWVkZWQoU291cmNlQnVmZmVyUHJp
dmF0ZUFWRk9iakMKIH0KICNlbmRpZgogCi1zdGF0aWMgYm9vbCBNZWRpYVNvdXJjZVByaXZhdGVB
VkZPYmpDSGFzQXVkaW8oUGFzc1JlZlB0cjxTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQz4gcHJw
U291cmNlQnVmZmVyKQorc3RhdGljIGJvb2wgTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQ0hhc0F1
ZGlvKFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDKiBzb3VyY2VCdWZmZXIpCiB7Ci0gICAgUmVm
UHRyPFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDPiBzb3VyY2VCdWZmZXIgPSBwcnBTb3VyY2VC
dWZmZXI7CiAgICAgcmV0dXJuIHNvdXJjZUJ1ZmZlci0+aGFzQXVkaW8oKTsKIH0KIApAQCAtMTY4
LDkgKzE2Nyw4IEBAIGJvb2wgTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQzo6aGFzQXVkaW8oKSBj
b25zdAogICAgIHJldHVybiBzdGQ6OmFueV9vZihtX2FjdGl2ZVNvdXJjZUJ1ZmZlcnMuYmVnaW4o
KSwgbV9hY3RpdmVTb3VyY2VCdWZmZXJzLmVuZCgpLCBNZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpD
SGFzQXVkaW8pOwogfQogCi1zdGF0aWMgYm9vbCBNZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDSGFz
VmlkZW8oUGFzc1JlZlB0cjxTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQz4gcHJwU291cmNlQnVm
ZmVyKQorc3RhdGljIGJvb2wgTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQ0hhc1ZpZGVvKFNvdXJj
ZUJ1ZmZlclByaXZhdGVBVkZPYmpDKiBzb3VyY2VCdWZmZXIpCiB7Ci0gICAgUmVmUHRyPFNvdXJj
ZUJ1ZmZlclByaXZhdGVBVkZPYmpDPiBzb3VyY2VCdWZmZXIgPSBwcnBTb3VyY2VCdWZmZXI7CiAg
ICAgcmV0dXJuIHNvdXJjZUJ1ZmZlci0+aGFzVmlkZW8oKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVm
ZmVyUHJpdmF0ZUFWRk9iakMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9vYmpjL1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLmgKaW5kZXggMTg1ZWY4
MjY1OTlmMjlkYTcxMTFiYzk0NDE2NDUxYzZhY2E4MzI1NC4uOWEzZmFlNmVkZjM4YjQ3MmY2MTlh
M2Y1ZDZkYWE4ZGE5MzU3YTM3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9T
b3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5oCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSA8
d3RmL1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KICNpbmNsdWRlIDx3dGYv
VmVjdG9yLmg+CisjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9B
dG9taWNTdHJpbmcuaD4KIAogT0JKQ19DTEFTUyBBVkFzc2V0OwpAQCAtMTEzLDkgKzExNCwxMyBA
QCBwcml2YXRlOgogICAgIHZvaWQgZGVzdHJveVBhcnNlcigpOwogICAgIHZvaWQgZGVzdHJveVJl
bmRlcmVycygpOwogCisgICAgV2Vha1B0cjxTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQz4gY3Jl
YXRlV2Vha1B0cigpIHsgcmV0dXJuIG1fd2Vha0ZhY3RvcnkuY3JlYXRlV2Vha1B0cigpOyB9CisK
ICAgICBWZWN0b3I8UmVmUHRyPFZpZGVvVHJhY2tQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDPj4g
bV92aWRlb1RyYWNrczsKICAgICBWZWN0b3I8UmVmUHRyPEF1ZGlvVHJhY2tQcml2YXRlTWVkaWFT
b3VyY2VBVkZPYmpDPj4gbV9hdWRpb1RyYWNrczsKIAorICAgIFdlYWtQdHJGYWN0b3J5PFNvdXJj
ZUJ1ZmZlclByaXZhdGVBVkZPYmpDPiBtX3dlYWtGYWN0b3J5OworCiAgICAgUmV0YWluUHRyPEFW
U3RyZWFtRGF0YVBhcnNlcj4gbV9wYXJzZXI7CiAgICAgUmV0YWluUHRyPEFWQXNzZXQ+IG1fYXNz
ZXQ7CiAgICAgUmV0YWluUHRyPEFWU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyPiBtX2Rpc3BsYXlM
YXllcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLm1tIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0
ZUFWRk9iakMubW0KaW5kZXggYTE5YjQ3YjkyNjUzNTc0YjRjNzJiNTQ5ZWFhNDM5NjVjZDY4MDY2
OS4uYWYwYTQ0MmI3NDc2MTY2ODE3MmZlYTYwZWMzMjIzOWIyNmJhMGE1OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNl
QnVmZmVyUHJpdmF0ZUFWRk9iakMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW0KQEAg
LTE1MywxNCArMTUzLDE0IEBAIFNPRlRfTElOSyhDb3JlTWVkaWEsIENNVmlkZW9Gb3JtYXREZXNj
cmlwdGlvbkdldFByZXNlbnRhdGlvbkRpbWVuc2lvbnMsIENHU2l6ZSwKICNwcmFnbWEgbWFyayBX
ZWJBVlN0cmVhbURhdGFQYXJzZXJMaXN0ZW5lcgogCiBAaW50ZXJmYWNlIFdlYkFWU3RyZWFtRGF0
YVBhcnNlckxpc3RlbmVyIDogTlNPYmplY3QgewotICAgIFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclBy
aXZhdGVBVkZPYmpDKiBfcGFyZW50OworICAgIFdlYWtQdHI8V2ViQ29yZTo6U291cmNlQnVmZmVy
UHJpdmF0ZUFWRk9iakM+IF9wYXJlbnQ7CiAgICAgQVZTdHJlYW1EYXRhUGFyc2VyKiBfcGFyc2Vy
OwogfQotLSAoaWQpaW5pdFdpdGhQYXJzZXI6KEFWU3RyZWFtRGF0YVBhcnNlciopcGFyc2VyIHBh
cmVudDooV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMqKXBhcmVudDsKKy0gKGlk
KWluaXRXaXRoUGFyc2VyOihBVlN0cmVhbURhdGFQYXJzZXIqKXBhcnNlciBwYXJlbnQ6KFdlYWtQ
dHI8V2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM+KXBhcmVudDsKIEBlbmQKIAog
QGltcGxlbWVudGF0aW9uIFdlYkFWU3RyZWFtRGF0YVBhcnNlckxpc3RlbmVyCi0tIChpZClpbml0
V2l0aFBhcnNlcjooQVZTdHJlYW1EYXRhUGFyc2VyKilwYXJzZXIgcGFyZW50OihXZWJDb3JlOjpT
b3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQyopcGFyZW50CistIChpZClpbml0V2l0aFBhcnNlcjoo
QVZTdHJlYW1EYXRhUGFyc2VyKilwYXJzZXIgcGFyZW50OihXZWFrUHRyPFdlYkNvcmU6OlNvdXJj
ZUJ1ZmZlclByaXZhdGVBVkZPYmpDPilwYXJlbnQKIHsKICAgICBzZWxmID0gW3N1cGVyIGluaXRd
OwogICAgIGlmICghc2VsZikKQEAgLTE4Miw3ICsxODIsNiBAQCBTT0ZUX0xJTksoQ29yZU1lZGlh
LCBDTVZpZGVvRm9ybWF0RGVzY3JpcHRpb25HZXRQcmVzZW50YXRpb25EaW1lbnNpb25zLCBDR1Np
emUsCiAtICh2b2lkKWludmFsaWRhdGUKIHsKICAgICBbX3BhcnNlciBzZXREZWxlZ2F0ZTpuaWxd
OwotICAgIF9wYXJlbnQgPSBudWxscHRyOwogICAgIF9wYXJzZXIgPSBudWxscHRyOwogfQogCkBA
IC0xOTIsMTMgKzE5MSwxMiBAQCBTT0ZUX0xJTksoQ29yZU1lZGlhLCBDTVZpZGVvRm9ybWF0RGVz
Y3JpcHRpb25HZXRQcmVzZW50YXRpb25EaW1lbnNpb25zLCBDR1NpemUsCiAgICAgVU5VU0VEX1BB
UkFNKHN0cmVhbURhdGFQYXJzZXIpOwogI2VuZGlmCiAgICAgQVNTRVJUKHN0cmVhbURhdGFQYXJz
ZXIgPT0gX3BhcnNlcik7Ci0gICAgUmVmUHRyPFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVB
VkZPYmpDPiBzdHJvbmdQYXJlbnQgPSBfcGFyZW50OwotICAgIGlmICghc3Ryb25nUGFyZW50KQot
ICAgICAgICByZXR1cm47CisgICAgUmV0YWluUHRyPFdlYkFWU3RyZWFtRGF0YVBhcnNlckxpc3Rl
bmVyPiBzdHJvbmdTZWxmID0gc2VsZjsKIAogICAgIFJldGFpblB0cjxBVkFzc2V0Kj4gc3Ryb25n
QXNzZXQgPSBhc3NldDsKLSAgICBjYWxsT25NYWluVGhyZWFkKFtzdHJvbmdQYXJlbnQsIHN0cm9u
Z0Fzc2V0XSB7Ci0gICAgICAgIHN0cm9uZ1BhcmVudC0+ZGlkUGFyc2VTdHJlYW1EYXRhQXNBc3Nl
dChzdHJvbmdBc3NldC5nZXQoKSk7CisgICAgY2FsbE9uTWFpblRocmVhZChbc3Ryb25nU2VsZiwg
c3Ryb25nQXNzZXRdIHsKKyAgICAgICAgaWYgKHN0cm9uZ1NlbGYtPl9wYXJlbnQpCisgICAgICAg
ICAgICBzdHJvbmdTZWxmLT5fcGFyZW50LT5kaWRQYXJzZVN0cmVhbURhdGFBc0Fzc2V0KHN0cm9u
Z0Fzc2V0LmdldCgpKTsKICAgICB9KTsKIH0KIApAQCAtMjA5LDEzICsyMDcsMTIgQEAgU09GVF9M
SU5LKENvcmVNZWRpYSwgQ01WaWRlb0Zvcm1hdERlc2NyaXB0aW9uR2V0UHJlc2VudGF0aW9uRGlt
ZW5zaW9ucywgQ0dTaXplLAogICAgIFVOVVNFRF9QQVJBTShzdHJlYW1EYXRhUGFyc2VyKTsKICNl
bmRpZgogICAgIEFTU0VSVChzdHJlYW1EYXRhUGFyc2VyID09IF9wYXJzZXIpOwotICAgIFJlZlB0
cjxXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQz4gc3Ryb25nUGFyZW50ID0gX3Bh
cmVudDsKLSAgICBpZiAoIXN0cm9uZ1BhcmVudCkKLSAgICAgICAgcmV0dXJuOworICAgIFJldGFp
blB0cjxXZWJBVlN0cmVhbURhdGFQYXJzZXJMaXN0ZW5lcj4gc3Ryb25nU2VsZiA9IHNlbGY7CiAK
ICAgICBSZXRhaW5QdHI8QVZBc3NldCo+IHN0cm9uZ0Fzc2V0ID0gYXNzZXQ7Ci0gICAgY2FsbE9u
TWFpblRocmVhZChbc3Ryb25nUGFyZW50LCBzdHJvbmdBc3NldF0gewotICAgICAgICBzdHJvbmdQ
YXJlbnQtPmRpZFBhcnNlU3RyZWFtRGF0YUFzQXNzZXQoc3Ryb25nQXNzZXQuZ2V0KCkpOworICAg
IGNhbGxPbk1haW5UaHJlYWQoW3N0cm9uZ1NlbGYsIHN0cm9uZ0Fzc2V0XSB7CisgICAgICAgIGlm
IChzdHJvbmdTZWxmLT5fcGFyZW50KQorICAgICAgICAgICAgc3Ryb25nU2VsZi0+X3BhcmVudC0+
ZGlkUGFyc2VTdHJlYW1EYXRhQXNBc3NldChzdHJvbmdBc3NldC5nZXQoKSk7CiAgICAgfSk7CiB9
CiAKQEAgLTIyNSwxMyArMjIyLDEyIEBAIFNPRlRfTElOSyhDb3JlTWVkaWEsIENNVmlkZW9Gb3Jt
YXREZXNjcmlwdGlvbkdldFByZXNlbnRhdGlvbkRpbWVuc2lvbnMsIENHU2l6ZSwKICAgICBVTlVT
RURfUEFSQU0oc3RyZWFtRGF0YVBhcnNlcik7CiAjZW5kaWYKICAgICBBU1NFUlQoc3RyZWFtRGF0
YVBhcnNlciA9PSBfcGFyc2VyKTsKLSAgICBSZWZQdHI8V2ViQ29yZTo6U291cmNlQnVmZmVyUHJp
dmF0ZUFWRk9iakM+IHN0cm9uZ1BhcmVudCA9IF9wYXJlbnQ7Ci0gICAgaWYgKCFzdHJvbmdQYXJl
bnQpCi0gICAgICAgIHJldHVybjsKKyAgICBSZXRhaW5QdHI8V2ViQVZTdHJlYW1EYXRhUGFyc2Vy
TGlzdGVuZXI+IHN0cm9uZ1NlbGYgPSBzZWxmOwogCiAgICAgUmV0YWluUHRyPE5TRXJyb3I+IHN0
cm9uZ0Vycm9yID0gZXJyb3I7Ci0gICAgY2FsbE9uTWFpblRocmVhZChbc3Ryb25nUGFyZW50LCBz
dHJvbmdFcnJvcl0gewotICAgICAgICBzdHJvbmdQYXJlbnQtPmRpZEZhaWxUb1BhcnNlU3RyZWFt
RGF0YVdpdGhFcnJvcihzdHJvbmdFcnJvci5nZXQoKSk7CisgICAgY2FsbE9uTWFpblRocmVhZChb
c3Ryb25nU2VsZiwgc3Ryb25nRXJyb3JdIHsKKyAgICAgICAgaWYgKHN0cm9uZ1NlbGYtPl9wYXJl
bnQpCisgICAgICAgICAgICBzdHJvbmdTZWxmLT5fcGFyZW50LT5kaWRGYWlsVG9QYXJzZVN0cmVh
bURhdGFXaXRoRXJyb3Ioc3Ryb25nRXJyb3IuZ2V0KCkpOwogICAgIH0pOwogfQogCkBAIC0yNDEs
MTQgKzIzNywxMyBAQCBTT0ZUX0xJTksoQ29yZU1lZGlhLCBDTVZpZGVvRm9ybWF0RGVzY3JpcHRp
b25HZXRQcmVzZW50YXRpb25EaW1lbnNpb25zLCBDR1NpemUsCiAgICAgVU5VU0VEX1BBUkFNKHN0
cmVhbURhdGFQYXJzZXIpOwogI2VuZGlmCiAgICAgQVNTRVJUKHN0cmVhbURhdGFQYXJzZXIgPT0g
X3BhcnNlcik7Ci0gICAgUmVmUHRyPFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpD
PiBzdHJvbmdQYXJlbnQgPSBfcGFyZW50OwotICAgIGlmICghc3Ryb25nUGFyZW50KQotICAgICAg
ICByZXR1cm47CisgICAgUmV0YWluUHRyPFdlYkFWU3RyZWFtRGF0YVBhcnNlckxpc3RlbmVyPiBz
dHJvbmdTZWxmID0gc2VsZjsKIAogICAgIFJldGFpblB0cjxDTVNhbXBsZUJ1ZmZlclJlZj4gc3Ry
b25nU2FtcGxlID0gc2FtcGxlOwogICAgIFN0cmluZyBtZWRpYVR5cGUgPSBuc01lZGlhVHlwZTsK
LSAgICBjYWxsT25NYWluVGhyZWFkKFtzdHJvbmdQYXJlbnQsIHN0cm9uZ1NhbXBsZSwgdHJhY2tJ
RCwgbWVkaWFUeXBlLCBmbGFnc10gewotICAgICAgICBzdHJvbmdQYXJlbnQtPmRpZFByb3ZpZGVN
ZWRpYURhdGFGb3JUcmFja0lEKHRyYWNrSUQsIHN0cm9uZ1NhbXBsZS5nZXQoKSwgbWVkaWFUeXBl
LCBmbGFncyk7CisgICAgY2FsbE9uTWFpblRocmVhZChbc3Ryb25nU2VsZiwgc3Ryb25nU2FtcGxl
LCB0cmFja0lELCBtZWRpYVR5cGUsIGZsYWdzXSB7CisgICAgICAgIGlmIChzdHJvbmdTZWxmLT5f
cGFyZW50KQorICAgICAgICAgICAgc3Ryb25nU2VsZi0+X3BhcmVudC0+ZGlkUHJvdmlkZU1lZGlh
RGF0YUZvclRyYWNrSUQodHJhY2tJRCwgc3Ryb25nU2FtcGxlLmdldCgpLCBtZWRpYVR5cGUsIGZs
YWdzKTsKICAgICB9KTsKIH0KIApAQCAtMjU4LDEzICsyNTMsMTIgQEAgU09GVF9MSU5LKENvcmVN
ZWRpYSwgQ01WaWRlb0Zvcm1hdERlc2NyaXB0aW9uR2V0UHJlc2VudGF0aW9uRGltZW5zaW9ucywg
Q0dTaXplLAogICAgIFVOVVNFRF9QQVJBTShzdHJlYW1EYXRhUGFyc2VyKTsKICNlbmRpZgogICAg
IEFTU0VSVChzdHJlYW1EYXRhUGFyc2VyID09IF9wYXJzZXIpOwotICAgIFJlZlB0cjxXZWJDb3Jl
OjpTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQz4gc3Ryb25nUGFyZW50ID0gX3BhcmVudDsKLSAg
ICBpZiAoIXN0cm9uZ1BhcmVudCkKLSAgICAgICAgcmV0dXJuOworICAgIFJldGFpblB0cjxXZWJB
VlN0cmVhbURhdGFQYXJzZXJMaXN0ZW5lcj4gc3Ryb25nU2VsZiA9IHNlbGY7CiAKICAgICBTdHJp
bmcgbWVkaWFUeXBlID0gbnNNZWRpYVR5cGU7Ci0gICAgY2FsbE9uTWFpblRocmVhZChbc3Ryb25n
UGFyZW50LCB0cmFja0lELCBtZWRpYVR5cGVdIHsKLSAgICAgICAgc3Ryb25nUGFyZW50LT5kaWRS
ZWFjaEVuZE9mVHJhY2tXaXRoVHJhY2tJRCh0cmFja0lELCBtZWRpYVR5cGUpOworICAgIGNhbGxP
bk1haW5UaHJlYWQoW3N0cm9uZ1NlbGYsIHRyYWNrSUQsIG1lZGlhVHlwZV0geworICAgICAgICBp
ZiAoc3Ryb25nU2VsZi0+X3BhcmVudCkKKyAgICAgICAgICAgIHN0cm9uZ1NlbGYtPl9wYXJlbnQt
PmRpZFJlYWNoRW5kT2ZUcmFja1dpdGhUcmFja0lEKHRyYWNrSUQsIG1lZGlhVHlwZSk7CiAgICAg
fSk7CiB9CiAKQEAgLTI3NCwxMyArMjY4LDEyIEBAIFNPRlRfTElOSyhDb3JlTWVkaWEsIENNVmlk
ZW9Gb3JtYXREZXNjcmlwdGlvbkdldFByZXNlbnRhdGlvbkRpbWVuc2lvbnMsIENHU2l6ZSwKICAg
ICBVTlVTRURfUEFSQU0oc3RyZWFtRGF0YVBhcnNlcik7CiAjZW5kaWYKICAgICBBU1NFUlQoc3Ry
ZWFtRGF0YVBhcnNlciA9PSBfcGFyc2VyKTsKLSAgICBSZWZQdHI8V2ViQ29yZTo6U291cmNlQnVm
ZmVyUHJpdmF0ZUFWRk9iakM+IHN0cm9uZ1BhcmVudCA9IF9wYXJlbnQ7Ci0gICAgaWYgKCFzdHJv
bmdQYXJlbnQpCi0gICAgICAgIHJldHVybjsKKyAgICBSZXRhaW5QdHI8V2ViQVZTdHJlYW1EYXRh
UGFyc2VyTGlzdGVuZXI+IHN0cm9uZ1NlbGYgPSBzZWxmOwogCiAgICAgUmV0YWluUHRyPE5TRGF0
YT4gc3Ryb25nRGF0YSA9IGluaXREYXRhOwotICAgIGNhbGxPbk1haW5UaHJlYWQoW3N0cm9uZ1Bh
cmVudCwgc3Ryb25nRGF0YSwgdHJhY2tJRF0gewotICAgICAgICBzdHJvbmdQYXJlbnQtPmRpZFBy
b3ZpZGVDb250ZW50S2V5UmVxdWVzdEluaXRpYWxpemF0aW9uRGF0YUZvclRyYWNrSUQoc3Ryb25n
RGF0YS5nZXQoKSwgdHJhY2tJRCk7CisgICAgY2FsbE9uTWFpblRocmVhZChbc3Ryb25nU2VsZiwg
c3Ryb25nRGF0YSwgdHJhY2tJRF0geworICAgICAgICBpZiAoc3Ryb25nU2VsZi0+X3BhcmVudCkK
KyAgICAgICAgICAgIHN0cm9uZ1NlbGYtPl9wYXJlbnQtPmRpZFByb3ZpZGVDb250ZW50S2V5UmVx
dWVzdEluaXRpYWxpemF0aW9uRGF0YUZvclRyYWNrSUQoc3Ryb25nRGF0YS5nZXQoKSwgdHJhY2tJ
RCk7CiAgICAgfSk7CiB9CiBAZW5kCkBAIC0zODYsOCArMzc5LDkgQEAgUmVmUHRyPFNvdXJjZUJ1
ZmZlclByaXZhdGVBVkZPYmpDPiBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6Y3JlYXRlKE1l
ZGlhU291cmMKIH0KIAogU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OlNvdXJjZUJ1ZmZlclBy
aXZhdGVBVkZPYmpDKE1lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMqIHBhcmVudCkKLSAgICA6IG1f
cGFyc2VyKGFkb3B0TlMoW1tnZXRBVlN0cmVhbURhdGFQYXJzZXJDbGFzcygpIGFsbG9jXSBpbml0
XSkpCi0gICAgLCBtX2RlbGVnYXRlKGFkb3B0TlMoW1tXZWJBVlN0cmVhbURhdGFQYXJzZXJMaXN0
ZW5lciBhbGxvY10gaW5pdFdpdGhQYXJzZXI6bV9wYXJzZXIuZ2V0KCkgcGFyZW50OnRoaXNdKSkK
KyAgICA6IG1fd2Vha0ZhY3RvcnkodGhpcykKKyAgICAsIG1fcGFyc2VyKGFkb3B0TlMoW1tnZXRB
VlN0cmVhbURhdGFQYXJzZXJDbGFzcygpIGFsbG9jXSBpbml0XSkpCisgICAgLCBtX2RlbGVnYXRl
KGFkb3B0TlMoW1tXZWJBVlN0cmVhbURhdGFQYXJzZXJMaXN0ZW5lciBhbGxvY10gaW5pdFdpdGhQ
YXJzZXI6bV9wYXJzZXIuZ2V0KCkgcGFyZW50OmNyZWF0ZVdlYWtQdHIoKV0pKQogICAgICwgbV9t
ZWRpYVNvdXJjZShwYXJlbnQpCiAgICAgLCBtX2NsaWVudCgwKQogICAgICwgbV9wYXJzaW5nU3Vj
Y2VlZGVkKHRydWUpCkBAIC0zOTgsNiArMzkyLDcgQEAgU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9i
akM6OlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDKE1lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMK
IAogU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6On5Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2Jq
QygpCiB7CisgICAgQVNTRVJUKCFtX2NsaWVudCk7CiAgICAgZGVzdHJveVBhcnNlcigpOwogICAg
IGRlc3Ryb3lSZW5kZXJlcnMoKTsKIH0KQEAgLTUxOSwxNSArNTE0LDE5IEBAIHZvaWQgU291cmNl
QnVmZmVyUHJpdmF0ZUFWRk9iakM6OmFwcGVuZChjb25zdCB1bnNpZ25lZCBjaGFyKiBkYXRhLCB1
bnNpZ25lZCBsZW5nCiAgICAgTE9HKE1lZGlhLCAiU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6
OmFwcGVuZCglcCkgLSBkYXRhOiVwLCBsZW5ndGg6JWQiLCB0aGlzLCBkYXRhLCBsZW5ndGgpOwog
CiAgICAgUmV0YWluUHRyPE5TRGF0YT4gbnNEYXRhID0gYWRvcHROUyhbW05TRGF0YSBhbGxvY10g
aW5pdFdpdGhCeXRlczpkYXRhIGxlbmd0aDpsZW5ndGhdKTsKLSAgICBSZWZQdHI8U291cmNlQnVm
ZmVyUHJpdmF0ZUFWRk9iakM+IHN0cm9uZ1RoaXMgPSB0aGlzOworICAgIFdlYWtQdHI8U291cmNl
QnVmZmVyUHJpdmF0ZUFWRk9iakM+IHdlYWtUaGlzID0gY3JlYXRlV2Vha1B0cigpOworICAgIFJl
dGFpblB0cjxBVlN0cmVhbURhdGFQYXJzZXI+IHBhcnNlciA9IG1fcGFyc2VyOworICAgIFJldGFp
blB0cjxXZWJBVlN0cmVhbURhdGFQYXJzZXJMaXN0ZW5lcj4gbGlzdGVuZXIgPSBtX2xpc3RlbmVy
OwogCiAgICAgbV9wYXJzaW5nU3VjY2VlZGVkID0gdHJ1ZTsKIAotICAgIGRpc3BhdGNoX2FzeW5j
KGdsb2JhbERhdGFQYXJzZXJRdWV1ZSgpLCBbbnNEYXRhLCBzdHJvbmdUaGlzXSB7Ci0gICAgICAg
IFtzdHJvbmdUaGlzLT5tX3BhcnNlciBhcHBlbmRTdHJlYW1EYXRhOm5zRGF0YS5nZXQoKV07Cisg
ICAgZGlzcGF0Y2hfYXN5bmMoZ2xvYmFsRGF0YVBhcnNlclF1ZXVlKCksIFtuc0RhdGEsIHdlYWtU
aGlzLCBwYXJzZXIsIGxpc3RlbmVyXSB7CisKKyAgICAgICAgW3BhcnNlciBhcHBlbmRTdHJlYW1E
YXRhOm5zRGF0YS5nZXQoKV07CiAKLSAgICAgICAgY2FsbE9uTWFpblRocmVhZChbc3Ryb25nVGhp
c10gewotICAgICAgICAgICAgc3Ryb25nVGhpcy0+YXBwZW5kQ29tcGxldGVkKCk7CisgICAgICAg
IGNhbGxPbk1haW5UaHJlYWQoW3dlYWtUaGlzXSB7CisgICAgICAgICAgICBpZiAod2Vha1RoaXMp
CisgICAgICAgICAgICAgICAgd2Vha1RoaXMtPmFwcGVuZENvbXBsZXRlZCgpOwogICAgICAgICB9
KTsKICAgICB9KTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>231578</attachid>
            <date>2014-05-16 09:47:52 -0700</date>
            <delta_ts>2014-05-16 10:29:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-132973-20140516094728.patch</filename>
            <type>text/plain</type>
            <size>16399</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY4ODQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTZkNzExNzkxMzA1OThi
YjQ5NzcwMWViOGU0YWQyOGU5MTJhZDczOC4uMTdiZjU5YjNlOWJiMmU3ODkyNDY1ZmZkZDU3ZWE2
NzNkZDcwMmJkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDE0LTA1LTE1ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtNU0VdIENyYXNoIGF0ICBX
ZWJDb3JlOjpTb3VyY2VCdWZmZXI6On5Tb3VyY2VCdWZmZXIgKyAxMTAKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMjk3MworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZSBTb3VyY2VCdWZmZXI6Om1f
cHJpdmF0ZSBpbnRvIGEgUmVmPD4sIGFuZCBhZGQgYW4gYXNzZXJ0aW9uIHRvCisgICAgICAgIFNv
dXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDJ3MgZGVzdHJ1Y3RvciBpZiBpdHMgY2xpZW50IGhhcyBu
b3QgYmVlbiBjbGVhcmVkLgorCisgICAgICAgIEVsaW1pbmF0ZSB1bm5lY2Vzc2FyeSBjaHVybiBp
biBNZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDIGJ5IGhhdmluZyB0aGUgcHJlZGljYXRlCisgICAg
ICAgIGZ1bmN0b3IgdGFrZSBiYXJlIHBvaW50ZXJzLCByYXRoZXIgdGhhbiBhIFBhc3NSZWZQdHIu
CisKKyAgICAgICAgVGhlIHVuZGVybHlpbmcgcHJvYmxlbSBzZWVtcyB0byBiZSBpbiBXZWJBVlN0
cmVhbURhdGFQYXJzZXJMaXN0ZW5lci4gUmVmUHRycyB3ZXJlCisgICAgICAgIGJlaW5nIGNyZWF0
ZWQgb2ZmIHRoZSBtYWluIHRocmVhZCB0byBhIG5vbi10aHJlYWQgc2FmZSByZWYgY291bnRlZCBj
bGFzcy4gSW4gc29tZQorICAgICAgICBzaXR1YXRpb25zLCB0aGlzIHdvdWxkIHJlc3VsdCBpbiBk
b3VibGUgZGVjcmVtZW50aW5nIHRoZSByZWYsIHdoaWNoIHdvdWxkIGNhdXNlIGFuCisgICAgICAg
IGVhcmx5IGRlc3RydWN0aW9uIG9mIHRoZSB1bmRlcmx5aW5nIG9iamVjdC4gSW5zdGVhZCByZXBs
YWNlIHRoZXNlIFJlZlB0ciBzdHJvbmcKKyAgICAgICAgcG9pbnRlcnMgd2l0aCBleHBsaWNpdCB3
ZWFrIG9uZXMuIEVuc3VyZSB0aGUgcGFyc2VyIGFuZCBpdHMgZGVsZWdhdGUgYXJlIG5vdCBmcmVl
ZAorICAgICAgICBiZWZvcmUgdGhlIGFwcGVuZCBvcGVyYXRpb24gY29tcGxldGVzIGJ5IHBhc3Np
bmcgc3Ryb25nIHBvaW50ZXJzIGludG8gdGhlIGFzeW5jCisgICAgICAgIGFwcGVuZCBvcGVyYXRp
b24gbGFtYmRhLgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyOjpTb3VyY2VCdWZmZXIpOiBVc2Ug
UmVmIGluc3RlYWQgb2YgUmVmUHRyLgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyOjph
cHBlbmRCdWZmZXJUaW1lckZpcmVkKTogRGl0dG8uCisgICAgICAgICogTW9kdWxlcy9tZWRpYXNv
dXJjZS9Tb3VyY2VCdWZmZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9NZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDLm1tOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQ0hhc0F1ZGlvKTogVGFrZSBhIGJhcmUgcG9pbnRl
ciwgaW5zdGVhZCBvZiBhIFBhc3NSZWZQdHIuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJj
ZVByaXZhdGVBVkZPYmpDSGFzVmlkZW8pOiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5oOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1NvdXJjZUJ1ZmZlclBy
aXZhdGVBVkZPYmpDLm1tOgorICAgICAgICAoLVtXZWJBVlN0cmVhbURhdGFQYXJzZXJMaXN0ZW5l
ciBpbml0V2l0aFBhcnNlcjpwYXJlbnQ6V2ViQ29yZTo6XSk6IFVzZSBXZWFrUHRyIGluc3RlYWQg
b2YgUmVmUHRyLgorICAgICAgICAoLVtXZWJBVlN0cmVhbURhdGFQYXJzZXJMaXN0ZW5lciBpbnZh
bGlkYXRlXSk6IERpdHRvLgorICAgICAgICAoLVtXZWJBVlN0cmVhbURhdGFQYXJzZXJMaXN0ZW5l
ciBzdHJlYW1EYXRhUGFyc2VyOmRpZFBhcnNlU3RyZWFtRGF0YUFzQXNzZXQ6XSk6IERpdHRvLgor
ICAgICAgICAoLVtXZWJBVlN0cmVhbURhdGFQYXJzZXJMaXN0ZW5lciBzdHJlYW1EYXRhUGFyc2Vy
OmRpZFBhcnNlU3RyZWFtRGF0YUFzQXNzZXQ6d2l0aERpc2NvbnRpbnVpdHk6XSk6IERpdHRvLgor
ICAgICAgICAoLVtXZWJBVlN0cmVhbURhdGFQYXJzZXJMaXN0ZW5lciBzdHJlYW1EYXRhUGFyc2Vy
OmRpZEZhaWxUb1BhcnNlU3RyZWFtRGF0YVdpdGhFcnJvcjpdKTogRGl0dG8uCisgICAgICAgICgt
W1dlYkFWU3RyZWFtRGF0YVBhcnNlckxpc3RlbmVyIHN0cmVhbURhdGFQYXJzZXI6ZGlkUHJvdmlk
ZU1lZGlhRGF0YTpmb3JUcmFja0lEOm1lZGlhVHlwZTpmbGFnczpdKTogRGl0dG8uCisgICAgICAg
ICgtW1dlYkFWU3RyZWFtRGF0YVBhcnNlckxpc3RlbmVyIHN0cmVhbURhdGFQYXJzZXI6ZGlkUmVh
Y2hFbmRPZlRyYWNrV2l0aFRyYWNrSUQ6bWVkaWFUeXBlOl0pOiBEaXR0by4KKyAgICAgICAgKC1b
V2ViQVZTdHJlYW1EYXRhUGFyc2VyTGlzdGVuZXIgc3RyZWFtRGF0YVBhcnNlcjpkaWRQcm92aWRl
Q29udGVudEtleVJlcXVlc3RJbml0aWFsaXphdGlvbkRhdGE6Zm9yVHJhY2tJRDpdKTogRGl0dG8u
CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6flNvdXJjZUJ1
ZmZlclByaXZhdGVBVkZPYmpDKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZh
dGVBVkZPYmpDOjphcHBlbmQpOiBEaXR0by4KKwogMjAxNC0wNS0xNCAgQWxleCBDaHJpc3RlbnNl
biAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlZmFjdG9yIGR1cGxpY2F0
ZSBjb2RlIGluIHdlYiB0aW1pbmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAKaW5kZXggYTJhNzdiNTcyMTNmZWQzZWJmZWFjYzdj
ZjViMGZkYTJkZTIzN2Q3Ni4uNzYyYzU3Y2Y0ODIxN2FjOGUzZTYxM2I2NTI5MGZhMTVkY2VmZjNh
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VC
dWZmZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNl
QnVmZmVyLmNwcApAQCAtMTA3LDcgKzEwNyw2IEBAIFNvdXJjZUJ1ZmZlcjo6U291cmNlQnVmZmVy
KFBhc3NSZWY8U291cmNlQnVmZmVyUHJpdmF0ZT4gc291cmNlQnVmZmVyUHJpdmF0ZSwgTWVkCiAg
ICAgLCBtX3BlbmRpbmdSZW1vdmVFbmQoTWVkaWFUaW1lOjppbnZhbGlkVGltZSgpKQogICAgICwg
bV9yZW1vdmVUaW1lcih0aGlzLCAmU291cmNlQnVmZmVyOjpyZW1vdmVUaW1lckZpcmVkKQogewot
ICAgIEFTU0VSVChtX3ByaXZhdGUpOwogICAgIEFTU0VSVChtX3NvdXJjZSk7CiAKICAgICBtX3By
aXZhdGUtPnNldENsaWVudCh0aGlzKTsKQEAgLTQ3NCw3ICs0NzMsNyBAQCB2b2lkIFNvdXJjZUJ1
ZmZlcjo6YXBwZW5kQnVmZmVyVGltZXJGaXJlZChUaW1lcjxTb3VyY2VCdWZmZXI+JikKIAogICAg
IC8vIDEuIExvb3AgVG9wOiBJZiB0aGUgaW5wdXQgYnVmZmVyIGlzIGVtcHR5LCB0aGVuIGp1bXAg
dG8gdGhlIG5lZWQgbW9yZSBkYXRhIHN0ZXAgYmVsb3cuCiAgICAgaWYgKCFtX3BlbmRpbmdBcHBl
bmREYXRhLnNpemUoKSkgewotICAgICAgICBzb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxl
dGUobV9wcml2YXRlLmdldCgpLCBBcHBlbmRTdWNjZWVkZWQpOworICAgICAgICBzb3VyY2VCdWZm
ZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoJm1fcHJpdmF0ZS5nZXQoKSwgQXBwZW5kU3VjY2VlZGVk
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmgKaW5kZXggOTlmMmQzMTZmNTIzY2VkMmYwMGUz
NzE4ZTVhNWZiNTYxN2Q0ZjM1My4uMTQ3OWJiZjE2ODEzYjZkYmE1ODg5ZDYwNzM4NTIwYjNlZWJm
Njc2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3Vy
Y2VCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJj
ZUJ1ZmZlci5oCkBAIC0xNTYsNyArMTU2LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHJlbW92ZVRp
bWVyRmlyZWQoVGltZXI8U291cmNlQnVmZmVyPiopOwogICAgIHZvaWQgcmVtb3ZlQ29kZWRGcmFt
ZXMoY29uc3QgTWVkaWFUaW1lJiBzdGFydCwgY29uc3QgTWVkaWFUaW1lJiBlbmQpOwogCi0gICAg
UmVmUHRyPFNvdXJjZUJ1ZmZlclByaXZhdGU+IG1fcHJpdmF0ZTsKKyAgICBSZWY8U291cmNlQnVm
ZmVyUHJpdmF0ZT4gbV9wcml2YXRlOwogICAgIE1lZGlhU291cmNlKiBtX3NvdXJjZTsKICAgICBH
ZW5lcmljRXZlbnRRdWV1ZSBtX2FzeW5jRXZlbnRRdWV1ZTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQ
cml2YXRlQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMubW0KaW5kZXggY2QwNjFhMzY1
NjNhOGY0ZWVlNDBiNzBiODA1NDdjNDM4Y2JiYTU3ZC4uYjJhNTY2NjE5NGRkYTE0N2Y0MjdhMDhi
ZTJjNzI2MDA1MDFjNzQxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRp
YVNvdXJjZVByaXZhdGVBVkZPYmpDLm1tCkBAIC0xNTcsOSArMTU3LDggQEAgdm9pZCBNZWRpYVNv
dXJjZVByaXZhdGVBVkZPYmpDOjpzb3VyY2VCdWZmZXJLZXlOZWVkZWQoU291cmNlQnVmZmVyUHJp
dmF0ZUFWRk9iakMKIH0KICNlbmRpZgogCi1zdGF0aWMgYm9vbCBNZWRpYVNvdXJjZVByaXZhdGVB
VkZPYmpDSGFzQXVkaW8oUGFzc1JlZlB0cjxTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQz4gcHJw
U291cmNlQnVmZmVyKQorc3RhdGljIGJvb2wgTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQ0hhc0F1
ZGlvKFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDKiBzb3VyY2VCdWZmZXIpCiB7Ci0gICAgUmVm
UHRyPFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDPiBzb3VyY2VCdWZmZXIgPSBwcnBTb3VyY2VC
dWZmZXI7CiAgICAgcmV0dXJuIHNvdXJjZUJ1ZmZlci0+aGFzQXVkaW8oKTsKIH0KIApAQCAtMTY4
LDkgKzE2Nyw4IEBAIGJvb2wgTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQzo6aGFzQXVkaW8oKSBj
b25zdAogICAgIHJldHVybiBzdGQ6OmFueV9vZihtX2FjdGl2ZVNvdXJjZUJ1ZmZlcnMuYmVnaW4o
KSwgbV9hY3RpdmVTb3VyY2VCdWZmZXJzLmVuZCgpLCBNZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpD
SGFzQXVkaW8pOwogfQogCi1zdGF0aWMgYm9vbCBNZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDSGFz
VmlkZW8oUGFzc1JlZlB0cjxTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQz4gcHJwU291cmNlQnVm
ZmVyKQorc3RhdGljIGJvb2wgTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQ0hhc1ZpZGVvKFNvdXJj
ZUJ1ZmZlclByaXZhdGVBVkZPYmpDKiBzb3VyY2VCdWZmZXIpCiB7Ci0gICAgUmVmUHRyPFNvdXJj
ZUJ1ZmZlclByaXZhdGVBVkZPYmpDPiBzb3VyY2VCdWZmZXIgPSBwcnBTb3VyY2VCdWZmZXI7CiAg
ICAgcmV0dXJuIHNvdXJjZUJ1ZmZlci0+aGFzVmlkZW8oKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVm
ZmVyUHJpdmF0ZUFWRk9iakMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9vYmpjL1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLmgKaW5kZXggMTg1ZWY4
MjY1OTlmMjlkYTcxMTFiYzk0NDE2NDUxYzZhY2E4MzI1NC4uOWEzZmFlNmVkZjM4YjQ3MmY2MTlh
M2Y1ZDZkYWE4ZGE5MzU3YTM3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9T
b3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5oCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSA8
d3RmL1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KICNpbmNsdWRlIDx3dGYv
VmVjdG9yLmg+CisjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9B
dG9taWNTdHJpbmcuaD4KIAogT0JKQ19DTEFTUyBBVkFzc2V0OwpAQCAtMTEzLDkgKzExNCwxMyBA
QCBwcml2YXRlOgogICAgIHZvaWQgZGVzdHJveVBhcnNlcigpOwogICAgIHZvaWQgZGVzdHJveVJl
bmRlcmVycygpOwogCisgICAgV2Vha1B0cjxTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQz4gY3Jl
YXRlV2Vha1B0cigpIHsgcmV0dXJuIG1fd2Vha0ZhY3RvcnkuY3JlYXRlV2Vha1B0cigpOyB9CisK
ICAgICBWZWN0b3I8UmVmUHRyPFZpZGVvVHJhY2tQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDPj4g
bV92aWRlb1RyYWNrczsKICAgICBWZWN0b3I8UmVmUHRyPEF1ZGlvVHJhY2tQcml2YXRlTWVkaWFT
b3VyY2VBVkZPYmpDPj4gbV9hdWRpb1RyYWNrczsKIAorICAgIFdlYWtQdHJGYWN0b3J5PFNvdXJj
ZUJ1ZmZlclByaXZhdGVBVkZPYmpDPiBtX3dlYWtGYWN0b3J5OworCiAgICAgUmV0YWluUHRyPEFW
U3RyZWFtRGF0YVBhcnNlcj4gbV9wYXJzZXI7CiAgICAgUmV0YWluUHRyPEFWQXNzZXQ+IG1fYXNz
ZXQ7CiAgICAgUmV0YWluUHRyPEFWU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyPiBtX2Rpc3BsYXlM
YXllcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLm1tIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0
ZUFWRk9iakMubW0KaW5kZXggYTE5YjQ3YjkyNjUzNTc0YjRjNzJiNTQ5ZWFhNDM5NjVjZDY4MDY2
OS4uZTY5YTdmNmRkMWRiOTFiYWM0YWMzZjA5MjM4NzRhOGY3NDE4Njk4ZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNl
QnVmZmVyUHJpdmF0ZUFWRk9iakMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW0KQEAg
LTE1MywxNCArMTUzLDE0IEBAIFNPRlRfTElOSyhDb3JlTWVkaWEsIENNVmlkZW9Gb3JtYXREZXNj
cmlwdGlvbkdldFByZXNlbnRhdGlvbkRpbWVuc2lvbnMsIENHU2l6ZSwKICNwcmFnbWEgbWFyayBX
ZWJBVlN0cmVhbURhdGFQYXJzZXJMaXN0ZW5lcgogCiBAaW50ZXJmYWNlIFdlYkFWU3RyZWFtRGF0
YVBhcnNlckxpc3RlbmVyIDogTlNPYmplY3QgewotICAgIFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclBy
aXZhdGVBVkZPYmpDKiBfcGFyZW50OworICAgIFdlYWtQdHI8V2ViQ29yZTo6U291cmNlQnVmZmVy
UHJpdmF0ZUFWRk9iakM+IF9wYXJlbnQ7CiAgICAgQVZTdHJlYW1EYXRhUGFyc2VyKiBfcGFyc2Vy
OwogfQotLSAoaWQpaW5pdFdpdGhQYXJzZXI6KEFWU3RyZWFtRGF0YVBhcnNlciopcGFyc2VyIHBh
cmVudDooV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMqKXBhcmVudDsKKy0gKGlk
KWluaXRXaXRoUGFyc2VyOihBVlN0cmVhbURhdGFQYXJzZXIqKXBhcnNlciBwYXJlbnQ6KFdlYWtQ
dHI8V2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM+KXBhcmVudDsKIEBlbmQKIAog
QGltcGxlbWVudGF0aW9uIFdlYkFWU3RyZWFtRGF0YVBhcnNlckxpc3RlbmVyCi0tIChpZClpbml0
V2l0aFBhcnNlcjooQVZTdHJlYW1EYXRhUGFyc2VyKilwYXJzZXIgcGFyZW50OihXZWJDb3JlOjpT
b3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQyopcGFyZW50CistIChpZClpbml0V2l0aFBhcnNlcjoo
QVZTdHJlYW1EYXRhUGFyc2VyKilwYXJzZXIgcGFyZW50OihXZWFrUHRyPFdlYkNvcmU6OlNvdXJj
ZUJ1ZmZlclByaXZhdGVBVkZPYmpDPilwYXJlbnQKIHsKICAgICBzZWxmID0gW3N1cGVyIGluaXRd
OwogICAgIGlmICghc2VsZikKQEAgLTE4Miw3ICsxODIsNiBAQCBTT0ZUX0xJTksoQ29yZU1lZGlh
LCBDTVZpZGVvRm9ybWF0RGVzY3JpcHRpb25HZXRQcmVzZW50YXRpb25EaW1lbnNpb25zLCBDR1Np
emUsCiAtICh2b2lkKWludmFsaWRhdGUKIHsKICAgICBbX3BhcnNlciBzZXREZWxlZ2F0ZTpuaWxd
OwotICAgIF9wYXJlbnQgPSBudWxscHRyOwogICAgIF9wYXJzZXIgPSBudWxscHRyOwogfQogCkBA
IC0xOTIsMTMgKzE5MSwxMiBAQCBTT0ZUX0xJTksoQ29yZU1lZGlhLCBDTVZpZGVvRm9ybWF0RGVz
Y3JpcHRpb25HZXRQcmVzZW50YXRpb25EaW1lbnNpb25zLCBDR1NpemUsCiAgICAgVU5VU0VEX1BB
UkFNKHN0cmVhbURhdGFQYXJzZXIpOwogI2VuZGlmCiAgICAgQVNTRVJUKHN0cmVhbURhdGFQYXJz
ZXIgPT0gX3BhcnNlcik7Ci0gICAgUmVmUHRyPFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVB
VkZPYmpDPiBzdHJvbmdQYXJlbnQgPSBfcGFyZW50OwotICAgIGlmICghc3Ryb25nUGFyZW50KQot
ICAgICAgICByZXR1cm47CisgICAgUmV0YWluUHRyPFdlYkFWU3RyZWFtRGF0YVBhcnNlckxpc3Rl
bmVyPiBzdHJvbmdTZWxmID0gc2VsZjsKIAogICAgIFJldGFpblB0cjxBVkFzc2V0Kj4gc3Ryb25n
QXNzZXQgPSBhc3NldDsKLSAgICBjYWxsT25NYWluVGhyZWFkKFtzdHJvbmdQYXJlbnQsIHN0cm9u
Z0Fzc2V0XSB7Ci0gICAgICAgIHN0cm9uZ1BhcmVudC0+ZGlkUGFyc2VTdHJlYW1EYXRhQXNBc3Nl
dChzdHJvbmdBc3NldC5nZXQoKSk7CisgICAgY2FsbE9uTWFpblRocmVhZChbc3Ryb25nU2VsZiwg
c3Ryb25nQXNzZXRdIHsKKyAgICAgICAgaWYgKHN0cm9uZ1NlbGYtPl9wYXJlbnQpCisgICAgICAg
ICAgICBzdHJvbmdTZWxmLT5fcGFyZW50LT5kaWRQYXJzZVN0cmVhbURhdGFBc0Fzc2V0KHN0cm9u
Z0Fzc2V0LmdldCgpKTsKICAgICB9KTsKIH0KIApAQCAtMjA5LDEzICsyMDcsMTIgQEAgU09GVF9M
SU5LKENvcmVNZWRpYSwgQ01WaWRlb0Zvcm1hdERlc2NyaXB0aW9uR2V0UHJlc2VudGF0aW9uRGlt
ZW5zaW9ucywgQ0dTaXplLAogICAgIFVOVVNFRF9QQVJBTShzdHJlYW1EYXRhUGFyc2VyKTsKICNl
bmRpZgogICAgIEFTU0VSVChzdHJlYW1EYXRhUGFyc2VyID09IF9wYXJzZXIpOwotICAgIFJlZlB0
cjxXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQz4gc3Ryb25nUGFyZW50ID0gX3Bh
cmVudDsKLSAgICBpZiAoIXN0cm9uZ1BhcmVudCkKLSAgICAgICAgcmV0dXJuOworICAgIFJldGFp
blB0cjxXZWJBVlN0cmVhbURhdGFQYXJzZXJMaXN0ZW5lcj4gc3Ryb25nU2VsZiA9IHNlbGY7CiAK
ICAgICBSZXRhaW5QdHI8QVZBc3NldCo+IHN0cm9uZ0Fzc2V0ID0gYXNzZXQ7Ci0gICAgY2FsbE9u
TWFpblRocmVhZChbc3Ryb25nUGFyZW50LCBzdHJvbmdBc3NldF0gewotICAgICAgICBzdHJvbmdQ
YXJlbnQtPmRpZFBhcnNlU3RyZWFtRGF0YUFzQXNzZXQoc3Ryb25nQXNzZXQuZ2V0KCkpOworICAg
IGNhbGxPbk1haW5UaHJlYWQoW3N0cm9uZ1NlbGYsIHN0cm9uZ0Fzc2V0XSB7CisgICAgICAgIGlm
IChzdHJvbmdTZWxmLT5fcGFyZW50KQorICAgICAgICAgICAgc3Ryb25nU2VsZi0+X3BhcmVudC0+
ZGlkUGFyc2VTdHJlYW1EYXRhQXNBc3NldChzdHJvbmdBc3NldC5nZXQoKSk7CiAgICAgfSk7CiB9
CiAKQEAgLTIyNSwxMyArMjIyLDEyIEBAIFNPRlRfTElOSyhDb3JlTWVkaWEsIENNVmlkZW9Gb3Jt
YXREZXNjcmlwdGlvbkdldFByZXNlbnRhdGlvbkRpbWVuc2lvbnMsIENHU2l6ZSwKICAgICBVTlVT
RURfUEFSQU0oc3RyZWFtRGF0YVBhcnNlcik7CiAjZW5kaWYKICAgICBBU1NFUlQoc3RyZWFtRGF0
YVBhcnNlciA9PSBfcGFyc2VyKTsKLSAgICBSZWZQdHI8V2ViQ29yZTo6U291cmNlQnVmZmVyUHJp
dmF0ZUFWRk9iakM+IHN0cm9uZ1BhcmVudCA9IF9wYXJlbnQ7Ci0gICAgaWYgKCFzdHJvbmdQYXJl
bnQpCi0gICAgICAgIHJldHVybjsKKyAgICBSZXRhaW5QdHI8V2ViQVZTdHJlYW1EYXRhUGFyc2Vy
TGlzdGVuZXI+IHN0cm9uZ1NlbGYgPSBzZWxmOwogCiAgICAgUmV0YWluUHRyPE5TRXJyb3I+IHN0
cm9uZ0Vycm9yID0gZXJyb3I7Ci0gICAgY2FsbE9uTWFpblRocmVhZChbc3Ryb25nUGFyZW50LCBz
dHJvbmdFcnJvcl0gewotICAgICAgICBzdHJvbmdQYXJlbnQtPmRpZEZhaWxUb1BhcnNlU3RyZWFt
RGF0YVdpdGhFcnJvcihzdHJvbmdFcnJvci5nZXQoKSk7CisgICAgY2FsbE9uTWFpblRocmVhZChb
c3Ryb25nU2VsZiwgc3Ryb25nRXJyb3JdIHsKKyAgICAgICAgaWYgKHN0cm9uZ1NlbGYtPl9wYXJl
bnQpCisgICAgICAgICAgICBzdHJvbmdTZWxmLT5fcGFyZW50LT5kaWRGYWlsVG9QYXJzZVN0cmVh
bURhdGFXaXRoRXJyb3Ioc3Ryb25nRXJyb3IuZ2V0KCkpOwogICAgIH0pOwogfQogCkBAIC0yNDEs
MTQgKzIzNywxMyBAQCBTT0ZUX0xJTksoQ29yZU1lZGlhLCBDTVZpZGVvRm9ybWF0RGVzY3JpcHRp
b25HZXRQcmVzZW50YXRpb25EaW1lbnNpb25zLCBDR1NpemUsCiAgICAgVU5VU0VEX1BBUkFNKHN0
cmVhbURhdGFQYXJzZXIpOwogI2VuZGlmCiAgICAgQVNTRVJUKHN0cmVhbURhdGFQYXJzZXIgPT0g
X3BhcnNlcik7Ci0gICAgUmVmUHRyPFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpD
PiBzdHJvbmdQYXJlbnQgPSBfcGFyZW50OwotICAgIGlmICghc3Ryb25nUGFyZW50KQotICAgICAg
ICByZXR1cm47CisgICAgUmV0YWluUHRyPFdlYkFWU3RyZWFtRGF0YVBhcnNlckxpc3RlbmVyPiBz
dHJvbmdTZWxmID0gc2VsZjsKIAogICAgIFJldGFpblB0cjxDTVNhbXBsZUJ1ZmZlclJlZj4gc3Ry
b25nU2FtcGxlID0gc2FtcGxlOwogICAgIFN0cmluZyBtZWRpYVR5cGUgPSBuc01lZGlhVHlwZTsK
LSAgICBjYWxsT25NYWluVGhyZWFkKFtzdHJvbmdQYXJlbnQsIHN0cm9uZ1NhbXBsZSwgdHJhY2tJ
RCwgbWVkaWFUeXBlLCBmbGFnc10gewotICAgICAgICBzdHJvbmdQYXJlbnQtPmRpZFByb3ZpZGVN
ZWRpYURhdGFGb3JUcmFja0lEKHRyYWNrSUQsIHN0cm9uZ1NhbXBsZS5nZXQoKSwgbWVkaWFUeXBl
LCBmbGFncyk7CisgICAgY2FsbE9uTWFpblRocmVhZChbc3Ryb25nU2VsZiwgc3Ryb25nU2FtcGxl
LCB0cmFja0lELCBtZWRpYVR5cGUsIGZsYWdzXSB7CisgICAgICAgIGlmIChzdHJvbmdTZWxmLT5f
cGFyZW50KQorICAgICAgICAgICAgc3Ryb25nU2VsZi0+X3BhcmVudC0+ZGlkUHJvdmlkZU1lZGlh
RGF0YUZvclRyYWNrSUQodHJhY2tJRCwgc3Ryb25nU2FtcGxlLmdldCgpLCBtZWRpYVR5cGUsIGZs
YWdzKTsKICAgICB9KTsKIH0KIApAQCAtMjU4LDEzICsyNTMsMTIgQEAgU09GVF9MSU5LKENvcmVN
ZWRpYSwgQ01WaWRlb0Zvcm1hdERlc2NyaXB0aW9uR2V0UHJlc2VudGF0aW9uRGltZW5zaW9ucywg
Q0dTaXplLAogICAgIFVOVVNFRF9QQVJBTShzdHJlYW1EYXRhUGFyc2VyKTsKICNlbmRpZgogICAg
IEFTU0VSVChzdHJlYW1EYXRhUGFyc2VyID09IF9wYXJzZXIpOwotICAgIFJlZlB0cjxXZWJDb3Jl
OjpTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQz4gc3Ryb25nUGFyZW50ID0gX3BhcmVudDsKLSAg
ICBpZiAoIXN0cm9uZ1BhcmVudCkKLSAgICAgICAgcmV0dXJuOworICAgIFJldGFpblB0cjxXZWJB
VlN0cmVhbURhdGFQYXJzZXJMaXN0ZW5lcj4gc3Ryb25nU2VsZiA9IHNlbGY7CiAKICAgICBTdHJp
bmcgbWVkaWFUeXBlID0gbnNNZWRpYVR5cGU7Ci0gICAgY2FsbE9uTWFpblRocmVhZChbc3Ryb25n
UGFyZW50LCB0cmFja0lELCBtZWRpYVR5cGVdIHsKLSAgICAgICAgc3Ryb25nUGFyZW50LT5kaWRS
ZWFjaEVuZE9mVHJhY2tXaXRoVHJhY2tJRCh0cmFja0lELCBtZWRpYVR5cGUpOworICAgIGNhbGxP
bk1haW5UaHJlYWQoW3N0cm9uZ1NlbGYsIHRyYWNrSUQsIG1lZGlhVHlwZV0geworICAgICAgICBp
ZiAoc3Ryb25nU2VsZi0+X3BhcmVudCkKKyAgICAgICAgICAgIHN0cm9uZ1NlbGYtPl9wYXJlbnQt
PmRpZFJlYWNoRW5kT2ZUcmFja1dpdGhUcmFja0lEKHRyYWNrSUQsIG1lZGlhVHlwZSk7CiAgICAg
fSk7CiB9CiAKQEAgLTI3NCwxMyArMjY4LDEyIEBAIFNPRlRfTElOSyhDb3JlTWVkaWEsIENNVmlk
ZW9Gb3JtYXREZXNjcmlwdGlvbkdldFByZXNlbnRhdGlvbkRpbWVuc2lvbnMsIENHU2l6ZSwKICAg
ICBVTlVTRURfUEFSQU0oc3RyZWFtRGF0YVBhcnNlcik7CiAjZW5kaWYKICAgICBBU1NFUlQoc3Ry
ZWFtRGF0YVBhcnNlciA9PSBfcGFyc2VyKTsKLSAgICBSZWZQdHI8V2ViQ29yZTo6U291cmNlQnVm
ZmVyUHJpdmF0ZUFWRk9iakM+IHN0cm9uZ1BhcmVudCA9IF9wYXJlbnQ7Ci0gICAgaWYgKCFzdHJv
bmdQYXJlbnQpCi0gICAgICAgIHJldHVybjsKKyAgICBSZXRhaW5QdHI8V2ViQVZTdHJlYW1EYXRh
UGFyc2VyTGlzdGVuZXI+IHN0cm9uZ1NlbGYgPSBzZWxmOwogCiAgICAgUmV0YWluUHRyPE5TRGF0
YT4gc3Ryb25nRGF0YSA9IGluaXREYXRhOwotICAgIGNhbGxPbk1haW5UaHJlYWQoW3N0cm9uZ1Bh
cmVudCwgc3Ryb25nRGF0YSwgdHJhY2tJRF0gewotICAgICAgICBzdHJvbmdQYXJlbnQtPmRpZFBy
b3ZpZGVDb250ZW50S2V5UmVxdWVzdEluaXRpYWxpemF0aW9uRGF0YUZvclRyYWNrSUQoc3Ryb25n
RGF0YS5nZXQoKSwgdHJhY2tJRCk7CisgICAgY2FsbE9uTWFpblRocmVhZChbc3Ryb25nU2VsZiwg
c3Ryb25nRGF0YSwgdHJhY2tJRF0geworICAgICAgICBpZiAoc3Ryb25nU2VsZi0+X3BhcmVudCkK
KyAgICAgICAgICAgIHN0cm9uZ1NlbGYtPl9wYXJlbnQtPmRpZFByb3ZpZGVDb250ZW50S2V5UmVx
dWVzdEluaXRpYWxpemF0aW9uRGF0YUZvclRyYWNrSUQoc3Ryb25nRGF0YS5nZXQoKSwgdHJhY2tJ
RCk7CiAgICAgfSk7CiB9CiBAZW5kCkBAIC0zODYsOCArMzc5LDkgQEAgUmVmUHRyPFNvdXJjZUJ1
ZmZlclByaXZhdGVBVkZPYmpDPiBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6Y3JlYXRlKE1l
ZGlhU291cmMKIH0KIAogU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OlNvdXJjZUJ1ZmZlclBy
aXZhdGVBVkZPYmpDKE1lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMqIHBhcmVudCkKLSAgICA6IG1f
cGFyc2VyKGFkb3B0TlMoW1tnZXRBVlN0cmVhbURhdGFQYXJzZXJDbGFzcygpIGFsbG9jXSBpbml0
XSkpCi0gICAgLCBtX2RlbGVnYXRlKGFkb3B0TlMoW1tXZWJBVlN0cmVhbURhdGFQYXJzZXJMaXN0
ZW5lciBhbGxvY10gaW5pdFdpdGhQYXJzZXI6bV9wYXJzZXIuZ2V0KCkgcGFyZW50OnRoaXNdKSkK
KyAgICA6IG1fd2Vha0ZhY3RvcnkodGhpcykKKyAgICAsIG1fcGFyc2VyKGFkb3B0TlMoW1tnZXRB
VlN0cmVhbURhdGFQYXJzZXJDbGFzcygpIGFsbG9jXSBpbml0XSkpCisgICAgLCBtX2RlbGVnYXRl
KGFkb3B0TlMoW1tXZWJBVlN0cmVhbURhdGFQYXJzZXJMaXN0ZW5lciBhbGxvY10gaW5pdFdpdGhQ
YXJzZXI6bV9wYXJzZXIuZ2V0KCkgcGFyZW50OmNyZWF0ZVdlYWtQdHIoKV0pKQogICAgICwgbV9t
ZWRpYVNvdXJjZShwYXJlbnQpCiAgICAgLCBtX2NsaWVudCgwKQogICAgICwgbV9wYXJzaW5nU3Vj
Y2VlZGVkKHRydWUpCkBAIC0zOTgsNiArMzkyLDcgQEAgU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9i
akM6OlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDKE1lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMK
IAogU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6On5Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2Jq
QygpCiB7CisgICAgQVNTRVJUKCFtX2NsaWVudCk7CiAgICAgZGVzdHJveVBhcnNlcigpOwogICAg
IGRlc3Ryb3lSZW5kZXJlcnMoKTsKIH0KQEAgLTQ2OSw3ICs0NjQsOCBAQCBib29sIFNvdXJjZUJ1
ZmZlclByaXZhdGVBVkZPYmpDOjpwcm9jZXNzQ29kZWRGcmFtZShpbnQgdHJhY2tJRCwgQ01TYW1w
bGVCdWZmZXJSZQogICAgICAgICBpZiAoZm9ybWF0U2l6ZSAhPSBtX2NhY2hlZFNpemUpIHsKICAg
ICAgICAgICAgIExPRyhNZWRpYSwgIlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpwcm9jZXNz
Q29kZWRGcmFtZSglcCkgLSBzaXplIGNoYW5nZSBkZXRlY3RlZDoge3dpZHRoPSVsZiwgaGVpZ2h0
PSVsZiIsIGZvcm1hdFNpemUud2lkdGgoKSwgZm9ybWF0U2l6ZS5oZWlnaHQoKSk7CiAgICAgICAg
ICAgICBtX2NhY2hlZFNpemUgPSBmb3JtYXRTaXplOwotICAgICAgICAgICAgbV9tZWRpYVNvdXJj
ZS0+cGxheWVyKCktPnNpemVDaGFuZ2VkKCk7CisgICAgICAgICAgICBpZiAobV9tZWRpYVNvdXJj
ZSkKKyAgICAgICAgICAgICAgICBtX21lZGlhU291cmNlLT5wbGF5ZXIoKS0+c2l6ZUNoYW5nZWQo
KTsKICAgICAgICAgfQogICAgIH0KICAgICBpZiAobV9jbGllbnQpCkBAIC00ODcsNiArNDgzLDkg
QEAgdm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6ZGlkUmVhY2hFbmRPZlRyYWNrV2l0
aFRyYWNrSUQoaW50IHRyYWNrSUQsIGNvbnMKIAogdm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlQVZG
T2JqQzo6ZGlkUHJvdmlkZUNvbnRlbnRLZXlSZXF1ZXN0SW5pdGlhbGl6YXRpb25EYXRhRm9yVHJh
Y2tJRChOU0RhdGEqIGluaXREYXRhLCBpbnQgdHJhY2tJRCkKIHsKKyAgICBpZiAoIW1fbWVkaWFT
b3VyY2UpCisgICAgICAgIHJldHVybjsKKwogICAgIFVOVVNFRF9QQVJBTSh0cmFja0lEKTsKICNp
ZiBFTkFCTEUoRU5DUllQVEVEX01FRElBX1YyKQogICAgIExPRyhNZWRpYSwgIlNvdXJjZUJ1ZmZl
clByaXZhdGVBVkZPYmpDOjpkaWRQcm92aWRlQ29udGVudEtleVJlcXVlc3RJbml0aWFsaXphdGlv
bkRhdGFGb3JUcmFja0lEKCVwKSAtIHRyYWNrOiVkIiwgdGhpcywgdHJhY2tJRCk7CkBAIC01MTks
MTUgKzUxOCwxOSBAQCB2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjphcHBlbmQoY29u
c3QgdW5zaWduZWQgY2hhciogZGF0YSwgdW5zaWduZWQgbGVuZwogICAgIExPRyhNZWRpYSwgIlNv
dXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjphcHBlbmQoJXApIC0gZGF0YTolcCwgbGVuZ3RoOiVk
IiwgdGhpcywgZGF0YSwgbGVuZ3RoKTsKIAogICAgIFJldGFpblB0cjxOU0RhdGE+IG5zRGF0YSA9
IGFkb3B0TlMoW1tOU0RhdGEgYWxsb2NdIGluaXRXaXRoQnl0ZXM6ZGF0YSBsZW5ndGg6bGVuZ3Ro
XSk7Ci0gICAgUmVmUHRyPFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDPiBzdHJvbmdUaGlzID0g
dGhpczsKKyAgICBXZWFrUHRyPFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDPiB3ZWFrVGhpcyA9
IGNyZWF0ZVdlYWtQdHIoKTsKKyAgICBSZXRhaW5QdHI8QVZTdHJlYW1EYXRhUGFyc2VyPiBwYXJz
ZXIgPSBtX3BhcnNlcjsKKyAgICBSZXRhaW5QdHI8V2ViQVZTdHJlYW1EYXRhUGFyc2VyTGlzdGVu
ZXI+IGRlbGVnYXRlID0gbV9kZWxlZ2F0ZTsKIAogICAgIG1fcGFyc2luZ1N1Y2NlZWRlZCA9IHRy
dWU7CiAKLSAgICBkaXNwYXRjaF9hc3luYyhnbG9iYWxEYXRhUGFyc2VyUXVldWUoKSwgW25zRGF0
YSwgc3Ryb25nVGhpc10gewotICAgICAgICBbc3Ryb25nVGhpcy0+bV9wYXJzZXIgYXBwZW5kU3Ry
ZWFtRGF0YTpuc0RhdGEuZ2V0KCldOworICAgIGRpc3BhdGNoX2FzeW5jKGdsb2JhbERhdGFQYXJz
ZXJRdWV1ZSgpLCBbbnNEYXRhLCB3ZWFrVGhpcywgcGFyc2VyLCBkZWxlZ2F0ZV0geworCisgICAg
ICAgIFtwYXJzZXIgYXBwZW5kU3RyZWFtRGF0YTpuc0RhdGEuZ2V0KCldOwogCi0gICAgICAgIGNh
bGxPbk1haW5UaHJlYWQoW3N0cm9uZ1RoaXNdIHsKLSAgICAgICAgICAgIHN0cm9uZ1RoaXMtPmFw
cGVuZENvbXBsZXRlZCgpOworICAgICAgICBjYWxsT25NYWluVGhyZWFkKFt3ZWFrVGhpc10gewor
ICAgICAgICAgICAgaWYgKHdlYWtUaGlzKQorICAgICAgICAgICAgICAgIHdlYWtUaGlzLT5hcHBl
bmRDb21wbGV0ZWQoKTsKICAgICAgICAgfSk7CiAgICAgfSk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>231579</attachid>
            <date>2014-05-16 10:29:49 -0700</date>
            <delta_ts>2014-05-16 12:45:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-132973-20140516102926.patch</filename>
            <type>text/plain</type>
            <size>17031</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY4ODQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTZkNzExNzkxMzA1OThi
YjQ5NzcwMWViOGU0YWQyOGU5MTJhZDczOC4uMGU0MzU5MjM2NGJmNTQ5MDcxYjBlOTJhZGUzYWI1
ZmZkNGNiNDQxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDE0LTA1LTE1ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtNU0VdIENyYXNoIGF0ICBX
ZWJDb3JlOjpTb3VyY2VCdWZmZXI6On5Tb3VyY2VCdWZmZXIgKyAxMTAKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMjk3MworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZSBTb3VyY2VCdWZmZXI6Om1f
cHJpdmF0ZSBpbnRvIGEgUmVmPD4sIGFuZCBhZGQgYW4gYXNzZXJ0aW9uIHRvCisgICAgICAgIFNv
dXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDJ3MgZGVzdHJ1Y3RvciBpZiBpdHMgY2xpZW50IGhhcyBu
b3QgYmVlbiBjbGVhcmVkLgorCisgICAgICAgIEVsaW1pbmF0ZSB1bm5lY2Vzc2FyeSBjaHVybiBp
biBNZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDIGJ5IGhhdmluZyB0aGUgcHJlZGljYXRlCisgICAg
ICAgIGZ1bmN0b3IgdGFrZSBiYXJlIHBvaW50ZXJzLCByYXRoZXIgdGhhbiBhIFBhc3NSZWZQdHIu
CisKKyAgICAgICAgVGhlIHVuZGVybHlpbmcgcHJvYmxlbSBzZWVtcyB0byBiZSBpbiBXZWJBVlN0
cmVhbURhdGFQYXJzZXJMaXN0ZW5lci4gUmVmUHRycyB3ZXJlCisgICAgICAgIGJlaW5nIGNyZWF0
ZWQgb2ZmIHRoZSBtYWluIHRocmVhZCB0byBhIG5vbi10aHJlYWQgc2FmZSByZWYgY291bnRlZCBj
bGFzcy4gSW4gc29tZQorICAgICAgICBzaXR1YXRpb25zLCB0aGlzIHdvdWxkIHJlc3VsdCBpbiBk
b3VibGUgZGVjcmVtZW50aW5nIHRoZSByZWYsIHdoaWNoIHdvdWxkIGNhdXNlIGFuCisgICAgICAg
IGVhcmx5IGRlc3RydWN0aW9uIG9mIHRoZSB1bmRlcmx5aW5nIG9iamVjdC4gSW5zdGVhZCByZXBs
YWNlIHRoZXNlIFJlZlB0ciBzdHJvbmcKKyAgICAgICAgcG9pbnRlcnMgd2l0aCBleHBsaWNpdCB3
ZWFrIG9uZXMuIEVuc3VyZSB0aGUgcGFyc2VyIGFuZCBpdHMgZGVsZWdhdGUgYXJlIG5vdCBmcmVl
ZAorICAgICAgICBiZWZvcmUgdGhlIGFwcGVuZCBvcGVyYXRpb24gY29tcGxldGVzIGJ5IHBhc3Np
bmcgc3Ryb25nIHBvaW50ZXJzIGludG8gdGhlIGFzeW5jCisgICAgICAgIGFwcGVuZCBvcGVyYXRp
b24gbGFtYmRhLgorCisgICAgICAgIFRoZXJlIHdlcmUgYSBmZXcgcGxhY2VzIHdoZXJlIHdlIHdl
cmVuJ3QgbnVsbCBjaGVja2luZyBtX21lZGlhU291cmNlIGJlZm9yZSB1c2luZyBpdCwKKyAgICAg
ICAgYW5kIGF0IGxlYXN0IG9uZSBwbGFjZSB3aGVyZSB3ZSB3ZXJlbid0IGNsZWFyaW5nIG1fbWVk
aWFTb3VyY2UuCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXI6OlNvdXJjZUJ1ZmZlcik6IFVzZSBS
ZWYgaW5zdGVhZCBvZiBSZWZQdHIuCisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXI6OmFw
cGVuZEJ1ZmZlclRpbWVyRmlyZWQpOiBEaXR0by4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291
cmNlL1NvdXJjZUJ1ZmZlci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9vYmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMubW06CisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDSGFzQXVkaW8pOiBUYWtlIGEgYmFyZSBwb2ludGVy
LCBpbnN0ZWFkIG9mIGEgUGFzc1JlZlB0ci4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU291cmNl
UHJpdmF0ZUFWRk9iakNIYXNWaWRlbyk6IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMubW06CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDOjpyZW1vdmVTb3VyY2VCdWZm
ZXIpOiBDbGVhciB0aGUgYmFjayBwb2ludGVyIHdoZW4gcmVtb3ZpbmcgYSBidWZmZXIuCisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJp
dmF0ZUFWRk9iakMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
b2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbToKKyAgICAgICAgKC1bV2ViQVZTdHJl
YW1EYXRhUGFyc2VyTGlzdGVuZXIgaW5pdFdpdGhQYXJzZXI6cGFyZW50OldlYkNvcmU6Ol0pOiBV
c2UgV2Vha1B0ciBpbnN0ZWFkIG9mIFJlZlB0ci4KKyAgICAgICAgKC1bV2ViQVZTdHJlYW1EYXRh
UGFyc2VyTGlzdGVuZXIgaW52YWxpZGF0ZV0pOiBEaXR0by4KKyAgICAgICAgKC1bV2ViQVZTdHJl
YW1EYXRhUGFyc2VyTGlzdGVuZXIgc3RyZWFtRGF0YVBhcnNlcjpkaWRQYXJzZVN0cmVhbURhdGFB
c0Fzc2V0Ol0pOiBEaXR0by4KKyAgICAgICAgKC1bV2ViQVZTdHJlYW1EYXRhUGFyc2VyTGlzdGVu
ZXIgc3RyZWFtRGF0YVBhcnNlcjpkaWRQYXJzZVN0cmVhbURhdGFBc0Fzc2V0OndpdGhEaXNjb250
aW51aXR5Ol0pOiBEaXR0by4KKyAgICAgICAgKC1bV2ViQVZTdHJlYW1EYXRhUGFyc2VyTGlzdGVu
ZXIgc3RyZWFtRGF0YVBhcnNlcjpkaWRGYWlsVG9QYXJzZVN0cmVhbURhdGFXaXRoRXJyb3I6XSk6
IERpdHRvLgorICAgICAgICAoLVtXZWJBVlN0cmVhbURhdGFQYXJzZXJMaXN0ZW5lciBzdHJlYW1E
YXRhUGFyc2VyOmRpZFByb3ZpZGVNZWRpYURhdGE6Zm9yVHJhY2tJRDptZWRpYVR5cGU6ZmxhZ3M6
XSk6IERpdHRvLgorICAgICAgICAoLVtXZWJBVlN0cmVhbURhdGFQYXJzZXJMaXN0ZW5lciBzdHJl
YW1EYXRhUGFyc2VyOmRpZFJlYWNoRW5kT2ZUcmFja1dpdGhUcmFja0lEOm1lZGlhVHlwZTpdKTog
RGl0dG8uCisgICAgICAgICgtW1dlYkFWU3RyZWFtRGF0YVBhcnNlckxpc3RlbmVyIHN0cmVhbURh
dGFQYXJzZXI6ZGlkUHJvdmlkZUNvbnRlbnRLZXlSZXF1ZXN0SW5pdGlhbGl6YXRpb25EYXRhOmZv
clRyYWNrSUQ6XSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0
ZUFWRk9iakM6On5Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQyk6CisgICAgICAgIChXZWJDb3Jl
OjpTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6YXBwZW5kKTogRGl0dG8uCisKIDIwMTQtMDUt
MTQgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAg
ICBSZWZhY3RvciBkdXBsaWNhdGUgY29kZSBpbiB3ZWIgdGltaW5nLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwCmluZGV4IGEyYTc3
YjU3MjEzZmVkM2ViZmVhY2M3Y2Y1YjBmZGEyZGUyMzdkNzYuLjc2MmM1N2NmNDgyMTdhYzhlM2U2
MTNiNjUyOTBmYTE1ZGNlZmYzYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAKQEAgLTEwNyw3ICsxMDcsNiBAQCBTb3VyY2VC
dWZmZXI6OlNvdXJjZUJ1ZmZlcihQYXNzUmVmPFNvdXJjZUJ1ZmZlclByaXZhdGU+IHNvdXJjZUJ1
ZmZlclByaXZhdGUsIE1lZAogICAgICwgbV9wZW5kaW5nUmVtb3ZlRW5kKE1lZGlhVGltZTo6aW52
YWxpZFRpbWUoKSkKICAgICAsIG1fcmVtb3ZlVGltZXIodGhpcywgJlNvdXJjZUJ1ZmZlcjo6cmVt
b3ZlVGltZXJGaXJlZCkKIHsKLSAgICBBU1NFUlQobV9wcml2YXRlKTsKICAgICBBU1NFUlQobV9z
b3VyY2UpOwogCiAgICAgbV9wcml2YXRlLT5zZXRDbGllbnQodGhpcyk7CkBAIC00NzQsNyArNDcz
LDcgQEAgdm9pZCBTb3VyY2VCdWZmZXI6OmFwcGVuZEJ1ZmZlclRpbWVyRmlyZWQoVGltZXI8U291
cmNlQnVmZmVyPiYpCiAKICAgICAvLyAxLiBMb29wIFRvcDogSWYgdGhlIGlucHV0IGJ1ZmZlciBp
cyBlbXB0eSwgdGhlbiBqdW1wIHRvIHRoZSBuZWVkIG1vcmUgZGF0YSBzdGVwIGJlbG93LgogICAg
IGlmICghbV9wZW5kaW5nQXBwZW5kRGF0YS5zaXplKCkpIHsKLSAgICAgICAgc291cmNlQnVmZmVy
UHJpdmF0ZUFwcGVuZENvbXBsZXRlKG1fcHJpdmF0ZS5nZXQoKSwgQXBwZW5kU3VjY2VlZGVkKTsK
KyAgICAgICAgc291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKCZtX3ByaXZhdGUuZ2V0
KCksIEFwcGVuZFN1Y2NlZWRlZCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5oCmluZGV4IDk5
ZjJkMzE2ZjUyM2NlZDJmMDBlMzcxOGU1YTVmYjU2MTdkNGYzNTMuLjE0NzliYmYxNjgxM2I2ZGJh
NTg4OWQ2MDczODUyMGIzZWViZjY3NmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaApAQCAtMTU2LDcgKzE1Niw3IEBAIHByaXZhdGU6
CiAgICAgdm9pZCByZW1vdmVUaW1lckZpcmVkKFRpbWVyPFNvdXJjZUJ1ZmZlcj4qKTsKICAgICB2
b2lkIHJlbW92ZUNvZGVkRnJhbWVzKGNvbnN0IE1lZGlhVGltZSYgc3RhcnQsIGNvbnN0IE1lZGlh
VGltZSYgZW5kKTsKIAotICAgIFJlZlB0cjxTb3VyY2VCdWZmZXJQcml2YXRlPiBtX3ByaXZhdGU7
CisgICAgUmVmPFNvdXJjZUJ1ZmZlclByaXZhdGU+IG1fcHJpdmF0ZTsKICAgICBNZWRpYVNvdXJj
ZSogbV9zb3VyY2U7CiAgICAgR2VuZXJpY0V2ZW50UXVldWUgbV9hc3luY0V2ZW50UXVldWU7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpD
Lm1tCmluZGV4IGNkMDYxYTM2NTYzYThmNGVlZTQwYjcwYjgwNTQ3YzQzOGNiYmE1N2QuLmMwYmRh
MGQ5NjRiOTk4ODIzMTFmM2Y3MWRjNTkyZjg4Y2ZiZTFhZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU291cmNlUHJp
dmF0ZUFWRk9iakMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5tbQpAQCAtODUsNiArODUs
NyBAQCB2b2lkIE1lZGlhU291cmNlUHJpdmF0ZUFWRk9iakM6OnJlbW92ZVNvdXJjZUJ1ZmZlcihT
b3VyY2VCdWZmZXJQcml2YXRlKiBidWZmZXIpCiAgICAgICAgIG1fYWN0aXZlU291cmNlQnVmZmVy
cy5yZW1vdmUocG9zKTsKIAogICAgIHBvcyA9IG1fc291cmNlQnVmZmVycy5maW5kKGJ1ZmZlcik7
CisgICAgbV9zb3VyY2VCdWZmZXJzW3Bvc10tPmNsZWFyTWVkaWFTb3VyY2UoKTsKICAgICBtX3Nv
dXJjZUJ1ZmZlcnMucmVtb3ZlKHBvcyk7CiB9CiAKQEAgLTE1Nyw5ICsxNTgsOCBAQCB2b2lkIE1l
ZGlhU291cmNlUHJpdmF0ZUFWRk9iakM6OnNvdXJjZUJ1ZmZlcktleU5lZWRlZChTb3VyY2VCdWZm
ZXJQcml2YXRlQVZGT2JqQwogfQogI2VuZGlmCiAKLXN0YXRpYyBib29sIE1lZGlhU291cmNlUHJp
dmF0ZUFWRk9iakNIYXNBdWRpbyhQYXNzUmVmUHRyPFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpD
PiBwcnBTb3VyY2VCdWZmZXIpCitzdGF0aWMgYm9vbCBNZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpD
SGFzQXVkaW8oU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMqIHNvdXJjZUJ1ZmZlcikKIHsKLSAg
ICBSZWZQdHI8U291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM+IHNvdXJjZUJ1ZmZlciA9IHBycFNv
dXJjZUJ1ZmZlcjsKICAgICByZXR1cm4gc291cmNlQnVmZmVyLT5oYXNBdWRpbygpOwogfQogCkBA
IC0xNjgsOSArMTY4LDggQEAgYm9vbCBNZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDOjpoYXNBdWRp
bygpIGNvbnN0CiAgICAgcmV0dXJuIHN0ZDo6YW55X29mKG1fYWN0aXZlU291cmNlQnVmZmVycy5i
ZWdpbigpLCBtX2FjdGl2ZVNvdXJjZUJ1ZmZlcnMuZW5kKCksIE1lZGlhU291cmNlUHJpdmF0ZUFW
Rk9iakNIYXNBdWRpbyk7CiB9CiAKLXN0YXRpYyBib29sIE1lZGlhU291cmNlUHJpdmF0ZUFWRk9i
akNIYXNWaWRlbyhQYXNzUmVmUHRyPFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDPiBwcnBTb3Vy
Y2VCdWZmZXIpCitzdGF0aWMgYm9vbCBNZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDSGFzVmlkZW8o
U291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMqIHNvdXJjZUJ1ZmZlcikKIHsKLSAgICBSZWZQdHI8
U291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM+IHNvdXJjZUJ1ZmZlciA9IHBycFNvdXJjZUJ1ZmZl
cjsKICAgICByZXR1cm4gc291cmNlQnVmZmVyLT5oYXNWaWRlbygpOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3Vy
Y2VCdWZmZXJQcml2YXRlQVZGT2JqQy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMuaAppbmRleCAx
ODVlZjgyNjU5OWYyOWRhNzExMWJjOTQ0MTY0NTFjNmFjYTgzMjU0Li45YTNmYWU2ZWRmMzhiNDcy
ZjYxOWEzZjVkNmRhYThkYTkzNTdhMzdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2Jq
Qy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLmgKQEAgLTM2LDYgKzM2LDcgQEAKICNpbmNs
dWRlIDx3dGYvUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogI2luY2x1ZGUg
PHd0Zi9WZWN0b3IuaD4KKyNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgogI2luY2x1ZGUgPHd0Zi90
ZXh0L0F0b21pY1N0cmluZy5oPgogCiBPQkpDX0NMQVNTIEFWQXNzZXQ7CkBAIC0xMTMsOSArMTE0
LDEzIEBAIHByaXZhdGU6CiAgICAgdm9pZCBkZXN0cm95UGFyc2VyKCk7CiAgICAgdm9pZCBkZXN0
cm95UmVuZGVyZXJzKCk7CiAKKyAgICBXZWFrUHRyPFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpD
PiBjcmVhdGVXZWFrUHRyKCkgeyByZXR1cm4gbV93ZWFrRmFjdG9yeS5jcmVhdGVXZWFrUHRyKCk7
IH0KKwogICAgIFZlY3RvcjxSZWZQdHI8VmlkZW9UcmFja1ByaXZhdGVNZWRpYVNvdXJjZUFWRk9i
akM+PiBtX3ZpZGVvVHJhY2tzOwogICAgIFZlY3RvcjxSZWZQdHI8QXVkaW9UcmFja1ByaXZhdGVN
ZWRpYVNvdXJjZUFWRk9iakM+PiBtX2F1ZGlvVHJhY2tzOwogCisgICAgV2Vha1B0ckZhY3Rvcnk8
U291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM+IG1fd2Vha0ZhY3Rvcnk7CisKICAgICBSZXRhaW5Q
dHI8QVZTdHJlYW1EYXRhUGFyc2VyPiBtX3BhcnNlcjsKICAgICBSZXRhaW5QdHI8QVZBc3NldD4g
bV9hc3NldDsKICAgICBSZXRhaW5QdHI8QVZTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXI+IG1fZGlz
cGxheUxheWVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW0gYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQ
cml2YXRlQVZGT2JqQy5tbQppbmRleCBhMTliNDdiOTI2NTM1NzRiNGM3MmI1NDllYWE0Mzk2NWNk
NjgwNjY5Li5lNjlhN2Y2ZGQxZGI5MWJhYzRhYzNmMDkyMzg3NGE4Zjc0MTg2OThkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9T
b3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5t
bQpAQCAtMTUzLDE0ICsxNTMsMTQgQEAgU09GVF9MSU5LKENvcmVNZWRpYSwgQ01WaWRlb0Zvcm1h
dERlc2NyaXB0aW9uR2V0UHJlc2VudGF0aW9uRGltZW5zaW9ucywgQ0dTaXplLAogI3ByYWdtYSBt
YXJrIFdlYkFWU3RyZWFtRGF0YVBhcnNlckxpc3RlbmVyCiAKIEBpbnRlcmZhY2UgV2ViQVZTdHJl
YW1EYXRhUGFyc2VyTGlzdGVuZXIgOiBOU09iamVjdCB7Ci0gICAgV2ViQ29yZTo6U291cmNlQnVm
ZmVyUHJpdmF0ZUFWRk9iakMqIF9wYXJlbnQ7CisgICAgV2Vha1B0cjxXZWJDb3JlOjpTb3VyY2VC
dWZmZXJQcml2YXRlQVZGT2JqQz4gX3BhcmVudDsKICAgICBBVlN0cmVhbURhdGFQYXJzZXIqIF9w
YXJzZXI7CiB9Ci0tIChpZClpbml0V2l0aFBhcnNlcjooQVZTdHJlYW1EYXRhUGFyc2VyKilwYXJz
ZXIgcGFyZW50OihXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQyopcGFyZW50Owor
LSAoaWQpaW5pdFdpdGhQYXJzZXI6KEFWU3RyZWFtRGF0YVBhcnNlciopcGFyc2VyIHBhcmVudDoo
V2Vha1B0cjxXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQz4pcGFyZW50OwogQGVu
ZAogCiBAaW1wbGVtZW50YXRpb24gV2ViQVZTdHJlYW1EYXRhUGFyc2VyTGlzdGVuZXIKLS0gKGlk
KWluaXRXaXRoUGFyc2VyOihBVlN0cmVhbURhdGFQYXJzZXIqKXBhcnNlciBwYXJlbnQ6KFdlYkNv
cmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDKilwYXJlbnQKKy0gKGlkKWluaXRXaXRoUGFy
c2VyOihBVlN0cmVhbURhdGFQYXJzZXIqKXBhcnNlciBwYXJlbnQ6KFdlYWtQdHI8V2ViQ29yZTo6
U291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM+KXBhcmVudAogewogICAgIHNlbGYgPSBbc3VwZXIg
aW5pdF07CiAgICAgaWYgKCFzZWxmKQpAQCAtMTgyLDcgKzE4Miw2IEBAIFNPRlRfTElOSyhDb3Jl
TWVkaWEsIENNVmlkZW9Gb3JtYXREZXNjcmlwdGlvbkdldFByZXNlbnRhdGlvbkRpbWVuc2lvbnMs
IENHU2l6ZSwKIC0gKHZvaWQpaW52YWxpZGF0ZQogewogICAgIFtfcGFyc2VyIHNldERlbGVnYXRl
Om5pbF07Ci0gICAgX3BhcmVudCA9IG51bGxwdHI7CiAgICAgX3BhcnNlciA9IG51bGxwdHI7CiB9
CiAKQEAgLTE5MiwxMyArMTkxLDEyIEBAIFNPRlRfTElOSyhDb3JlTWVkaWEsIENNVmlkZW9Gb3Jt
YXREZXNjcmlwdGlvbkdldFByZXNlbnRhdGlvbkRpbWVuc2lvbnMsIENHU2l6ZSwKICAgICBVTlVT
RURfUEFSQU0oc3RyZWFtRGF0YVBhcnNlcik7CiAjZW5kaWYKICAgICBBU1NFUlQoc3RyZWFtRGF0
YVBhcnNlciA9PSBfcGFyc2VyKTsKLSAgICBSZWZQdHI8V2ViQ29yZTo6U291cmNlQnVmZmVyUHJp
dmF0ZUFWRk9iakM+IHN0cm9uZ1BhcmVudCA9IF9wYXJlbnQ7Ci0gICAgaWYgKCFzdHJvbmdQYXJl
bnQpCi0gICAgICAgIHJldHVybjsKKyAgICBSZXRhaW5QdHI8V2ViQVZTdHJlYW1EYXRhUGFyc2Vy
TGlzdGVuZXI+IHN0cm9uZ1NlbGYgPSBzZWxmOwogCiAgICAgUmV0YWluUHRyPEFWQXNzZXQqPiBz
dHJvbmdBc3NldCA9IGFzc2V0OwotICAgIGNhbGxPbk1haW5UaHJlYWQoW3N0cm9uZ1BhcmVudCwg
c3Ryb25nQXNzZXRdIHsKLSAgICAgICAgc3Ryb25nUGFyZW50LT5kaWRQYXJzZVN0cmVhbURhdGFB
c0Fzc2V0KHN0cm9uZ0Fzc2V0LmdldCgpKTsKKyAgICBjYWxsT25NYWluVGhyZWFkKFtzdHJvbmdT
ZWxmLCBzdHJvbmdBc3NldF0geworICAgICAgICBpZiAoc3Ryb25nU2VsZi0+X3BhcmVudCkKKyAg
ICAgICAgICAgIHN0cm9uZ1NlbGYtPl9wYXJlbnQtPmRpZFBhcnNlU3RyZWFtRGF0YUFzQXNzZXQo
c3Ryb25nQXNzZXQuZ2V0KCkpOwogICAgIH0pOwogfQogCkBAIC0yMDksMTMgKzIwNywxMiBAQCBT
T0ZUX0xJTksoQ29yZU1lZGlhLCBDTVZpZGVvRm9ybWF0RGVzY3JpcHRpb25HZXRQcmVzZW50YXRp
b25EaW1lbnNpb25zLCBDR1NpemUsCiAgICAgVU5VU0VEX1BBUkFNKHN0cmVhbURhdGFQYXJzZXIp
OwogI2VuZGlmCiAgICAgQVNTRVJUKHN0cmVhbURhdGFQYXJzZXIgPT0gX3BhcnNlcik7Ci0gICAg
UmVmUHRyPFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDPiBzdHJvbmdQYXJlbnQg
PSBfcGFyZW50OwotICAgIGlmICghc3Ryb25nUGFyZW50KQotICAgICAgICByZXR1cm47CisgICAg
UmV0YWluUHRyPFdlYkFWU3RyZWFtRGF0YVBhcnNlckxpc3RlbmVyPiBzdHJvbmdTZWxmID0gc2Vs
ZjsKIAogICAgIFJldGFpblB0cjxBVkFzc2V0Kj4gc3Ryb25nQXNzZXQgPSBhc3NldDsKLSAgICBj
YWxsT25NYWluVGhyZWFkKFtzdHJvbmdQYXJlbnQsIHN0cm9uZ0Fzc2V0XSB7Ci0gICAgICAgIHN0
cm9uZ1BhcmVudC0+ZGlkUGFyc2VTdHJlYW1EYXRhQXNBc3NldChzdHJvbmdBc3NldC5nZXQoKSk7
CisgICAgY2FsbE9uTWFpblRocmVhZChbc3Ryb25nU2VsZiwgc3Ryb25nQXNzZXRdIHsKKyAgICAg
ICAgaWYgKHN0cm9uZ1NlbGYtPl9wYXJlbnQpCisgICAgICAgICAgICBzdHJvbmdTZWxmLT5fcGFy
ZW50LT5kaWRQYXJzZVN0cmVhbURhdGFBc0Fzc2V0KHN0cm9uZ0Fzc2V0LmdldCgpKTsKICAgICB9
KTsKIH0KIApAQCAtMjI1LDEzICsyMjIsMTIgQEAgU09GVF9MSU5LKENvcmVNZWRpYSwgQ01WaWRl
b0Zvcm1hdERlc2NyaXB0aW9uR2V0UHJlc2VudGF0aW9uRGltZW5zaW9ucywgQ0dTaXplLAogICAg
IFVOVVNFRF9QQVJBTShzdHJlYW1EYXRhUGFyc2VyKTsKICNlbmRpZgogICAgIEFTU0VSVChzdHJl
YW1EYXRhUGFyc2VyID09IF9wYXJzZXIpOwotICAgIFJlZlB0cjxXZWJDb3JlOjpTb3VyY2VCdWZm
ZXJQcml2YXRlQVZGT2JqQz4gc3Ryb25nUGFyZW50ID0gX3BhcmVudDsKLSAgICBpZiAoIXN0cm9u
Z1BhcmVudCkKLSAgICAgICAgcmV0dXJuOworICAgIFJldGFpblB0cjxXZWJBVlN0cmVhbURhdGFQ
YXJzZXJMaXN0ZW5lcj4gc3Ryb25nU2VsZiA9IHNlbGY7CiAKICAgICBSZXRhaW5QdHI8TlNFcnJv
cj4gc3Ryb25nRXJyb3IgPSBlcnJvcjsKLSAgICBjYWxsT25NYWluVGhyZWFkKFtzdHJvbmdQYXJl
bnQsIHN0cm9uZ0Vycm9yXSB7Ci0gICAgICAgIHN0cm9uZ1BhcmVudC0+ZGlkRmFpbFRvUGFyc2VT
dHJlYW1EYXRhV2l0aEVycm9yKHN0cm9uZ0Vycm9yLmdldCgpKTsKKyAgICBjYWxsT25NYWluVGhy
ZWFkKFtzdHJvbmdTZWxmLCBzdHJvbmdFcnJvcl0geworICAgICAgICBpZiAoc3Ryb25nU2VsZi0+
X3BhcmVudCkKKyAgICAgICAgICAgIHN0cm9uZ1NlbGYtPl9wYXJlbnQtPmRpZEZhaWxUb1BhcnNl
U3RyZWFtRGF0YVdpdGhFcnJvcihzdHJvbmdFcnJvci5nZXQoKSk7CiAgICAgfSk7CiB9CiAKQEAg
LTI0MSwxNCArMjM3LDEzIEBAIFNPRlRfTElOSyhDb3JlTWVkaWEsIENNVmlkZW9Gb3JtYXREZXNj
cmlwdGlvbkdldFByZXNlbnRhdGlvbkRpbWVuc2lvbnMsIENHU2l6ZSwKICAgICBVTlVTRURfUEFS
QU0oc3RyZWFtRGF0YVBhcnNlcik7CiAjZW5kaWYKICAgICBBU1NFUlQoc3RyZWFtRGF0YVBhcnNl
ciA9PSBfcGFyc2VyKTsKLSAgICBSZWZQdHI8V2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUFW
Rk9iakM+IHN0cm9uZ1BhcmVudCA9IF9wYXJlbnQ7Ci0gICAgaWYgKCFzdHJvbmdQYXJlbnQpCi0g
ICAgICAgIHJldHVybjsKKyAgICBSZXRhaW5QdHI8V2ViQVZTdHJlYW1EYXRhUGFyc2VyTGlzdGVu
ZXI+IHN0cm9uZ1NlbGYgPSBzZWxmOwogCiAgICAgUmV0YWluUHRyPENNU2FtcGxlQnVmZmVyUmVm
PiBzdHJvbmdTYW1wbGUgPSBzYW1wbGU7CiAgICAgU3RyaW5nIG1lZGlhVHlwZSA9IG5zTWVkaWFU
eXBlOwotICAgIGNhbGxPbk1haW5UaHJlYWQoW3N0cm9uZ1BhcmVudCwgc3Ryb25nU2FtcGxlLCB0
cmFja0lELCBtZWRpYVR5cGUsIGZsYWdzXSB7Ci0gICAgICAgIHN0cm9uZ1BhcmVudC0+ZGlkUHJv
dmlkZU1lZGlhRGF0YUZvclRyYWNrSUQodHJhY2tJRCwgc3Ryb25nU2FtcGxlLmdldCgpLCBtZWRp
YVR5cGUsIGZsYWdzKTsKKyAgICBjYWxsT25NYWluVGhyZWFkKFtzdHJvbmdTZWxmLCBzdHJvbmdT
YW1wbGUsIHRyYWNrSUQsIG1lZGlhVHlwZSwgZmxhZ3NdIHsKKyAgICAgICAgaWYgKHN0cm9uZ1Nl
bGYtPl9wYXJlbnQpCisgICAgICAgICAgICBzdHJvbmdTZWxmLT5fcGFyZW50LT5kaWRQcm92aWRl
TWVkaWFEYXRhRm9yVHJhY2tJRCh0cmFja0lELCBzdHJvbmdTYW1wbGUuZ2V0KCksIG1lZGlhVHlw
ZSwgZmxhZ3MpOwogICAgIH0pOwogfQogCkBAIC0yNTgsMTMgKzI1MywxMiBAQCBTT0ZUX0xJTkso
Q29yZU1lZGlhLCBDTVZpZGVvRm9ybWF0RGVzY3JpcHRpb25HZXRQcmVzZW50YXRpb25EaW1lbnNp
b25zLCBDR1NpemUsCiAgICAgVU5VU0VEX1BBUkFNKHN0cmVhbURhdGFQYXJzZXIpOwogI2VuZGlm
CiAgICAgQVNTRVJUKHN0cmVhbURhdGFQYXJzZXIgPT0gX3BhcnNlcik7Ci0gICAgUmVmUHRyPFdl
YkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDPiBzdHJvbmdQYXJlbnQgPSBfcGFyZW50
OwotICAgIGlmICghc3Ryb25nUGFyZW50KQotICAgICAgICByZXR1cm47CisgICAgUmV0YWluUHRy
PFdlYkFWU3RyZWFtRGF0YVBhcnNlckxpc3RlbmVyPiBzdHJvbmdTZWxmID0gc2VsZjsKIAogICAg
IFN0cmluZyBtZWRpYVR5cGUgPSBuc01lZGlhVHlwZTsKLSAgICBjYWxsT25NYWluVGhyZWFkKFtz
dHJvbmdQYXJlbnQsIHRyYWNrSUQsIG1lZGlhVHlwZV0gewotICAgICAgICBzdHJvbmdQYXJlbnQt
PmRpZFJlYWNoRW5kT2ZUcmFja1dpdGhUcmFja0lEKHRyYWNrSUQsIG1lZGlhVHlwZSk7CisgICAg
Y2FsbE9uTWFpblRocmVhZChbc3Ryb25nU2VsZiwgdHJhY2tJRCwgbWVkaWFUeXBlXSB7CisgICAg
ICAgIGlmIChzdHJvbmdTZWxmLT5fcGFyZW50KQorICAgICAgICAgICAgc3Ryb25nU2VsZi0+X3Bh
cmVudC0+ZGlkUmVhY2hFbmRPZlRyYWNrV2l0aFRyYWNrSUQodHJhY2tJRCwgbWVkaWFUeXBlKTsK
ICAgICB9KTsKIH0KIApAQCAtMjc0LDEzICsyNjgsMTIgQEAgU09GVF9MSU5LKENvcmVNZWRpYSwg
Q01WaWRlb0Zvcm1hdERlc2NyaXB0aW9uR2V0UHJlc2VudGF0aW9uRGltZW5zaW9ucywgQ0dTaXpl
LAogICAgIFVOVVNFRF9QQVJBTShzdHJlYW1EYXRhUGFyc2VyKTsKICNlbmRpZgogICAgIEFTU0VS
VChzdHJlYW1EYXRhUGFyc2VyID09IF9wYXJzZXIpOwotICAgIFJlZlB0cjxXZWJDb3JlOjpTb3Vy
Y2VCdWZmZXJQcml2YXRlQVZGT2JqQz4gc3Ryb25nUGFyZW50ID0gX3BhcmVudDsKLSAgICBpZiAo
IXN0cm9uZ1BhcmVudCkKLSAgICAgICAgcmV0dXJuOworICAgIFJldGFpblB0cjxXZWJBVlN0cmVh
bURhdGFQYXJzZXJMaXN0ZW5lcj4gc3Ryb25nU2VsZiA9IHNlbGY7CiAKICAgICBSZXRhaW5QdHI8
TlNEYXRhPiBzdHJvbmdEYXRhID0gaW5pdERhdGE7Ci0gICAgY2FsbE9uTWFpblRocmVhZChbc3Ry
b25nUGFyZW50LCBzdHJvbmdEYXRhLCB0cmFja0lEXSB7Ci0gICAgICAgIHN0cm9uZ1BhcmVudC0+
ZGlkUHJvdmlkZUNvbnRlbnRLZXlSZXF1ZXN0SW5pdGlhbGl6YXRpb25EYXRhRm9yVHJhY2tJRChz
dHJvbmdEYXRhLmdldCgpLCB0cmFja0lEKTsKKyAgICBjYWxsT25NYWluVGhyZWFkKFtzdHJvbmdT
ZWxmLCBzdHJvbmdEYXRhLCB0cmFja0lEXSB7CisgICAgICAgIGlmIChzdHJvbmdTZWxmLT5fcGFy
ZW50KQorICAgICAgICAgICAgc3Ryb25nU2VsZi0+X3BhcmVudC0+ZGlkUHJvdmlkZUNvbnRlbnRL
ZXlSZXF1ZXN0SW5pdGlhbGl6YXRpb25EYXRhRm9yVHJhY2tJRChzdHJvbmdEYXRhLmdldCgpLCB0
cmFja0lEKTsKICAgICB9KTsKIH0KIEBlbmQKQEAgLTM4Niw4ICszNzksOSBAQCBSZWZQdHI8U291
cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM+IFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpjcmVh
dGUoTWVkaWFTb3VyYwogfQogCiBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6U291cmNlQnVm
ZmVyUHJpdmF0ZUFWRk9iakMoTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQyogcGFyZW50KQotICAg
IDogbV9wYXJzZXIoYWRvcHROUyhbW2dldEFWU3RyZWFtRGF0YVBhcnNlckNsYXNzKCkgYWxsb2Nd
IGluaXRdKSkKLSAgICAsIG1fZGVsZWdhdGUoYWRvcHROUyhbW1dlYkFWU3RyZWFtRGF0YVBhcnNl
ckxpc3RlbmVyIGFsbG9jXSBpbml0V2l0aFBhcnNlcjptX3BhcnNlci5nZXQoKSBwYXJlbnQ6dGhp
c10pKQorICAgIDogbV93ZWFrRmFjdG9yeSh0aGlzKQorICAgICwgbV9wYXJzZXIoYWRvcHROUyhb
W2dldEFWU3RyZWFtRGF0YVBhcnNlckNsYXNzKCkgYWxsb2NdIGluaXRdKSkKKyAgICAsIG1fZGVs
ZWdhdGUoYWRvcHROUyhbW1dlYkFWU3RyZWFtRGF0YVBhcnNlckxpc3RlbmVyIGFsbG9jXSBpbml0
V2l0aFBhcnNlcjptX3BhcnNlci5nZXQoKSBwYXJlbnQ6Y3JlYXRlV2Vha1B0cigpXSkpCiAgICAg
LCBtX21lZGlhU291cmNlKHBhcmVudCkKICAgICAsIG1fY2xpZW50KDApCiAgICAgLCBtX3BhcnNp
bmdTdWNjZWVkZWQodHJ1ZSkKQEAgLTM5OCw2ICszOTIsNyBAQCBTb3VyY2VCdWZmZXJQcml2YXRl
QVZGT2JqQzo6U291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMoTWVkaWFTb3VyY2VQcml2YXRlQVZG
T2JqQwogCiBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6flNvdXJjZUJ1ZmZlclByaXZhdGVB
VkZPYmpDKCkKIHsKKyAgICBBU1NFUlQoIW1fY2xpZW50KTsKICAgICBkZXN0cm95UGFyc2VyKCk7
CiAgICAgZGVzdHJveVJlbmRlcmVycygpOwogfQpAQCAtNDY5LDcgKzQ2NCw4IEBAIGJvb2wgU291
cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OnByb2Nlc3NDb2RlZEZyYW1lKGludCB0cmFja0lELCBD
TVNhbXBsZUJ1ZmZlclJlCiAgICAgICAgIGlmIChmb3JtYXRTaXplICE9IG1fY2FjaGVkU2l6ZSkg
ewogICAgICAgICAgICAgTE9HKE1lZGlhLCAiU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OnBy
b2Nlc3NDb2RlZEZyYW1lKCVwKSAtIHNpemUgY2hhbmdlIGRldGVjdGVkOiB7d2lkdGg9JWxmLCBo
ZWlnaHQ9JWxmIiwgZm9ybWF0U2l6ZS53aWR0aCgpLCBmb3JtYXRTaXplLmhlaWdodCgpKTsKICAg
ICAgICAgICAgIG1fY2FjaGVkU2l6ZSA9IGZvcm1hdFNpemU7Ci0gICAgICAgICAgICBtX21lZGlh
U291cmNlLT5wbGF5ZXIoKS0+c2l6ZUNoYW5nZWQoKTsKKyAgICAgICAgICAgIGlmIChtX21lZGlh
U291cmNlKQorICAgICAgICAgICAgICAgIG1fbWVkaWFTb3VyY2UtPnBsYXllcigpLT5zaXplQ2hh
bmdlZCgpOwogICAgICAgICB9CiAgICAgfQogICAgIGlmIChtX2NsaWVudCkKQEAgLTQ4Nyw2ICs0
ODMsOSBAQCB2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpkaWRSZWFjaEVuZE9mVHJh
Y2tXaXRoVHJhY2tJRChpbnQgdHJhY2tJRCwgY29ucwogCiB2b2lkIFNvdXJjZUJ1ZmZlclByaXZh
dGVBVkZPYmpDOjpkaWRQcm92aWRlQ29udGVudEtleVJlcXVlc3RJbml0aWFsaXphdGlvbkRhdGFG
b3JUcmFja0lEKE5TRGF0YSogaW5pdERhdGEsIGludCB0cmFja0lEKQogeworICAgIGlmICghbV9t
ZWRpYVNvdXJjZSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgVU5VU0VEX1BBUkFNKHRyYWNrSUQp
OwogI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUFfVjIpCiAgICAgTE9HKE1lZGlhLCAiU291cmNl
QnVmZmVyUHJpdmF0ZUFWRk9iakM6OmRpZFByb3ZpZGVDb250ZW50S2V5UmVxdWVzdEluaXRpYWxp
emF0aW9uRGF0YUZvclRyYWNrSUQoJXApIC0gdHJhY2s6JWQiLCB0aGlzLCB0cmFja0lEKTsKQEAg
LTUxOSwxNSArNTE4LDE5IEBAIHZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OmFwcGVu
ZChjb25zdCB1bnNpZ25lZCBjaGFyKiBkYXRhLCB1bnNpZ25lZCBsZW5nCiAgICAgTE9HKE1lZGlh
LCAiU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OmFwcGVuZCglcCkgLSBkYXRhOiVwLCBsZW5n
dGg6JWQiLCB0aGlzLCBkYXRhLCBsZW5ndGgpOwogCiAgICAgUmV0YWluUHRyPE5TRGF0YT4gbnNE
YXRhID0gYWRvcHROUyhbW05TRGF0YSBhbGxvY10gaW5pdFdpdGhCeXRlczpkYXRhIGxlbmd0aDps
ZW5ndGhdKTsKLSAgICBSZWZQdHI8U291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM+IHN0cm9uZ1Ro
aXMgPSB0aGlzOworICAgIFdlYWtQdHI8U291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM+IHdlYWtU
aGlzID0gY3JlYXRlV2Vha1B0cigpOworICAgIFJldGFpblB0cjxBVlN0cmVhbURhdGFQYXJzZXI+
IHBhcnNlciA9IG1fcGFyc2VyOworICAgIFJldGFpblB0cjxXZWJBVlN0cmVhbURhdGFQYXJzZXJM
aXN0ZW5lcj4gZGVsZWdhdGUgPSBtX2RlbGVnYXRlOwogCiAgICAgbV9wYXJzaW5nU3VjY2VlZGVk
ID0gdHJ1ZTsKIAotICAgIGRpc3BhdGNoX2FzeW5jKGdsb2JhbERhdGFQYXJzZXJRdWV1ZSgpLCBb
bnNEYXRhLCBzdHJvbmdUaGlzXSB7Ci0gICAgICAgIFtzdHJvbmdUaGlzLT5tX3BhcnNlciBhcHBl
bmRTdHJlYW1EYXRhOm5zRGF0YS5nZXQoKV07CisgICAgZGlzcGF0Y2hfYXN5bmMoZ2xvYmFsRGF0
YVBhcnNlclF1ZXVlKCksIFtuc0RhdGEsIHdlYWtUaGlzLCBwYXJzZXIsIGRlbGVnYXRlXSB7CisK
KyAgICAgICAgW3BhcnNlciBhcHBlbmRTdHJlYW1EYXRhOm5zRGF0YS5nZXQoKV07CiAKLSAgICAg
ICAgY2FsbE9uTWFpblRocmVhZChbc3Ryb25nVGhpc10gewotICAgICAgICAgICAgc3Ryb25nVGhp
cy0+YXBwZW5kQ29tcGxldGVkKCk7CisgICAgICAgIGNhbGxPbk1haW5UaHJlYWQoW3dlYWtUaGlz
XSB7CisgICAgICAgICAgICBpZiAod2Vha1RoaXMpCisgICAgICAgICAgICAgICAgd2Vha1RoaXMt
PmFwcGVuZENvbXBsZXRlZCgpOwogICAgICAgICB9KTsKICAgICB9KTsKIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>