<?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>134709</bug_id>
          
          <creation_ts>2014-07-07 18:54:57 -0700</creation_ts>
          <short_desc>Remove WebBackForwardListItems when their owning page goes away</short_desc>
          <delta_ts>2014-07-08 16:18:06 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>andersca</cc>
    
    <cc>mitz</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1020994</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-07-07 18:54:57 -0700</bug_when>
    <thetext>Currently, WebProcessProxy holds on to them even after the WebPageProxy disappears.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1020995</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2014-07-07 18:55:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/17584645&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1021181</commentid>
    <comment_count>2</comment_count>
      <attachid>234591</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-07-08 13:37:22 -0700</bug_when>
    <thetext>Created attachment 234591
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1021226</commentid>
    <comment_count>3</comment_count>
      <attachid>234602</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-07-08 15:48:06 -0700</bug_when>
    <thetext>Created attachment 234602
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1021229</commentid>
    <comment_count>4</comment_count>
      <attachid>234602</attachid>
    <who name="">mitz</who>
    <bug_when>2014-07-08 15:55:28 -0700</bug_when>
    <thetext>Comment on attachment 234602
patch

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

&gt; Source/WebKit2/WebProcess/WebPage/WebBackForwardListProxy.cpp:107
&gt; +    ItemAndPageID ids;
&gt; +    ids.itemID = itemID;
&gt; +    ids.pageID = pageID;
&gt; +    
&gt; +    historyItemToIDMap().set(item, ids);

Isn’t there a way to do this without the named variable?

&gt; Source/WebKit2/WebProcess/WebPage/WebBackForwardListProxy.cpp:166
&gt; +    historyItemToIDMap().set(item, ids);

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1021236</commentid>
    <comment_count>5</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-07-08 16:18:06 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/170902</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>234591</attachid>
            <date>2014-07-08 13:37:22 -0700</date>
            <delta_ts>2014-07-08 15:48:06 -0700</delta_ts>
            <desc>patch</desc>
            <filename>bfitem.diff</filename>
            <type>text/plain</type>
            <size>16108</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA1MTFlNGI5Li41MzA5MWZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNDgg
QEAKIDIwMTQtMDctMDggIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAK
KyAgICAgICAgUmVtb3ZlIFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW1zIHdoZW4gdGhlaXIgb3duaW5n
IHBhZ2UgZ29lcyBhd2F5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMzQ3MDkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzE3NTg0NjQ1PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlYlByb2Nlc3NQcm94
eSBrZWVwcyBhIHJlZmVyZW5jZSB0byB0aGUgV2ViQmFja0ZvcndhcmRMaXN0SXRlbXMgZnJvbSBk
ZXN0cm95ZWQgcGFnZXM7IGl0IHNob3VsZG4ndCEKKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmluaXRpYWxpemVX
ZWJQYWdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpyZXN0b3JlRnJvbVNlc3Np
b25TdGF0ZSk6CisgICAgICAgIFBhc3MgdGhlIFBhZ2VJRCBhbG9uZyB3aGVuIHJlZ2lzdGVyaW5n
IFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW1zLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nl
c3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6cmVtb3ZlV2Vi
UGFnZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6d2ViQmFja0ZvcndhcmRJ
dGVtKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpyZWdpc3Rlck5ld1dlYkJh
Y2tGb3J3YXJkTGlzdEl0ZW0pOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUHJveHk6OmNo
ZWNrVVJMUmVjZWl2ZWRGcm9tV2ViUHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nl
c3NQcm94eTo6YWRkQmFja0ZvcndhcmRJdGVtKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Byb3h5Lmg6CisgICAgICAgIEtlZXAgdHJhY2sgb2YgdGhlIFBhZ2VJRCBhc3NvY2lhdGVk
IHdpdGggYSBXZWJCYWNrRm9yd2FyZExpc3RJdGVtLgorICAgICAgICBSZW1vdmUgYWxsIG9mIHRo
ZSBXZWJCYWNrRm9yd2FyZExpc3RJdGVtcyBmcm9tIG1fYmFja0ZvcndhcmRMaXN0SXRlbU1hcCB3
aGVuCisgICAgICAgIHRoZSBwYWdlIHRoZXkgYXJlIGFzc29jaWF0ZWQgd2l0aCBpcyByZW1vdmVk
LgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbjoKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQmFja0ZvcndhcmRMaXN0UHJveHkuY3BwOgor
ICAgICAgICAoV2ViS2l0OjppZFRvSGlzdG9yeUl0ZW1NYXApOgorICAgICAgICAoV2ViS2l0Ojpo
aXN0b3J5SXRlbVRvSURNYXApOgorICAgICAgICAoV2ViS2l0Ojp1cGRhdGVCYWNrRm9yd2FyZEl0
ZW0pOgorICAgICAgICAoV2ViS2l0OjpXZWJCYWNrRm9yd2FyZExpc3RQcm94eTo6YWRkSXRlbUZy
b21VSVByb2Nlc3MpOgorICAgICAgICAoV2ViS2l0OjpXSzJOb3RpZnlIaXN0b3J5SXRlbUNoYW5n
ZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJCYWNrRm9yd2FyZExpc3RQcm94eTo6aWRGb3JJdGVt
KToKKyAgICAgICAgKFdlYktpdDo6V2ViQmFja0ZvcndhcmRMaXN0UHJveHk6OmFkZEl0ZW0pOgor
ICAgICAgICAoV2ViS2l0OjpXZWJCYWNrRm9yd2FyZExpc3RQcm94eTo6Z29Ub0l0ZW0pOgorICAg
ICAgICAoV2ViS2l0OjpXZWJCYWNrRm9yd2FyZExpc3RQcm94eTo6Y2xvc2UpOgorICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJCYWNrRm9yd2FyZExpc3RQcm94eS5oOgorICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZTo6cmVzdG9yZVNlc3Npb24pOgorICAgICAgICBLZWVwIHRyYWNrIG9mIHRoZSBQYWdlSUQgdGhh
dCBiYWNrLWZvcndhcmQgaXRlbXMgd2VyZSBjcmVhdGVkIGJ5LgorICAgICAgICBQYXNzIHRoZSBQ
YWdlSUQgYWxvbmcgd2hlbiByZWdpc3RlcmluZyBXZWJCYWNrRm9yd2FyZExpc3RJdGVtcy4KKwor
MjAxNC0wNy0wOCAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KKwogICAg
ICAgICBXS1Byb2Nlc3NQb29sQ29uZmlndXJhdGlvblByaXZhdGUncyBtYXhpbXVtUHJvY2Vzc0Nv
dW50IHByb3BlcnR5IGhhcyBubyBlZmZlY3QKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEzNDcxMQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwCmluZGV4IDQzNzE1YTUuLmNlODc4ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC02MDIsNyArNjAyLDcgQEAgdm9pZCBXZWJQYWdl
UHJveHk6OmluaXRpYWxpemVXZWJQYWdlKCkKIAogICAgIEJhY2tGb3J3YXJkTGlzdEl0ZW1WZWN0
b3IgaXRlbXMgPSBtX2JhY2tGb3J3YXJkTGlzdC0+ZW50cmllcygpOwogICAgIGZvciAoc2l6ZV90
IGkgPSAwOyBpIDwgaXRlbXMuc2l6ZSgpOyArK2kpCi0gICAgICAgIG1fcHJvY2Vzcy0+cmVnaXN0
ZXJOZXdXZWJCYWNrRm9yd2FyZExpc3RJdGVtKGl0ZW1zW2ldLmdldCgpKTsKKyAgICAgICAgbV9w
cm9jZXNzLT5yZWdpc3Rlck5ld1dlYkJhY2tGb3J3YXJkTGlzdEl0ZW0oaXRlbXNbaV0uZ2V0KCks
IG1fcGFnZUlEKTsKIAogICAgIG1fZHJhd2luZ0FyZWEgPSBtX3BhZ2VDbGllbnQuY3JlYXRlRHJh
d2luZ0FyZWFQcm94eSgpOwogICAgIEFTU0VSVChtX2RyYXdpbmdBcmVhKTsKQEAgLTE4NjcsNyAr
MTg2Nyw3IEBAIHVpbnQ2NF90IFdlYlBhZ2VQcm94eTo6cmVzdG9yZUZyb21TZXNzaW9uU3RhdGUo
U2Vzc2lvblN0YXRlIHNlc3Npb25TdGF0ZSwgYm9vbCBuCiAgICAgICAgIG1fYmFja0ZvcndhcmRM
aXN0LT5yZXN0b3JlRnJvbVN0YXRlKFdURjo6bW92ZShzZXNzaW9uU3RhdGUuYmFja0ZvcndhcmRM
aXN0U3RhdGUpKTsKIAogICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIGVudHJ5IDogbV9iYWNrRm9y
d2FyZExpc3QtPmVudHJpZXMoKSkKLSAgICAgICAgICAgIHByb2Nlc3MoKS5yZWdpc3Rlck5ld1dl
YkJhY2tGb3J3YXJkTGlzdEl0ZW0oZW50cnkuZ2V0KCkpOworICAgICAgICAgICAgcHJvY2Vzcygp
LnJlZ2lzdGVyTmV3V2ViQmFja0ZvcndhcmRMaXN0SXRlbShlbnRyeS5nZXQoKSwgbV9wYWdlSUQp
OwogCiAgICAgICAgIHByb2Nlc3MoKS5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpSZXN0b3JlU2Vz
c2lvbihtX2JhY2tGb3J3YXJkTGlzdC0+aXRlbVN0YXRlcygpKSwgbV9wYWdlSUQpOwogICAgIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAKaW5kZXggOTM0
MmQ1Zi4uYWQxMDVlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
cm94eS5jcHAKQEAgLTE5OSw2ICsxOTksMTQgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OnJlbW92
ZVdlYlBhZ2UodWludDY0X3QgcGFnZUlEKQogewogICAgIG1fcGFnZU1hcC5yZW1vdmUocGFnZUlE
KTsKICAgICBnbG9iYWxQYWdlTWFwKCkucmVtb3ZlKHBhZ2VJRCk7CisgICAgCisgICAgVmVjdG9y
PHVpbnQ2NF90PiBpdGVtSURzVG9SZW1vdmU7CisgICAgZm9yIChhdXRvJiBpZEFuZEl0ZW1JbmZv
IDogbV9iYWNrRm9yd2FyZExpc3RJdGVtTWFwKSB7CisgICAgICAgIGlmIChpZEFuZEl0ZW1JbmZv
LnZhbHVlLnBhZ2VJRCA9PSBwYWdlSUQpCisgICAgICAgICAgICBpdGVtSURzVG9SZW1vdmUuYXBw
ZW5kKGlkQW5kSXRlbUluZm8ua2V5KTsKKyAgICB9CisgICAgZm9yIChhdXRvIGl0ZW0gOiBpdGVt
SURzVG9SZW1vdmUpCisgICAgICAgIG1fYmFja0ZvcndhcmRMaXN0SXRlbU1hcC5yZW1vdmUoaXRl
bSk7CiAKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBtX3Byb2Nlc3NTdXBwcmVzc2libGVQYWdl
cy5yZW1vdmUocGFnZUlEKTsKQEAgLTIyNSwxNiArMjMzLDIwIEBAIHZvaWQgV2ViUHJvY2Vzc1By
b3h5OjpyZW1vdmVXZWJQYWdlKHVpbnQ2NF90IHBhZ2VJRCkKIAogV2ViQmFja0ZvcndhcmRMaXN0
SXRlbSogV2ViUHJvY2Vzc1Byb3h5Ojp3ZWJCYWNrRm9yd2FyZEl0ZW0odWludDY0X3QgaXRlbUlE
KSBjb25zdAogewotICAgIHJldHVybiBtX2JhY2tGb3J3YXJkTGlzdEl0ZW1NYXAuZ2V0KGl0ZW1J
RCk7CisgICAgcmV0dXJuIG1fYmFja0ZvcndhcmRMaXN0SXRlbU1hcC5nZXQoaXRlbUlEKS5pdGVt
LmdldCgpOwogfQogCi12b2lkIFdlYlByb2Nlc3NQcm94eTo6cmVnaXN0ZXJOZXdXZWJCYWNrRm9y
d2FyZExpc3RJdGVtKFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0qIGl0ZW0pCit2b2lkIFdlYlByb2Nl
c3NQcm94eTo6cmVnaXN0ZXJOZXdXZWJCYWNrRm9yd2FyZExpc3RJdGVtKFdlYkJhY2tGb3J3YXJk
TGlzdEl0ZW0qIGl0ZW0sIHVpbnQ2NF90IHBhZ2VJRCkKIHsKICAgICAvLyBUaGlzIGl0ZW0gd2Fz
IGp1c3QgY3JlYXRlZCBieSB0aGUgVUlQcm9jZXNzIGFuZCBpcyBiZWluZyBhZGRlZCB0byB0aGUg
bWFwIGZvciB0aGUgZmlyc3QgdGltZQogICAgIC8vIHNvIHdlIHNob3VsZCBub3QgYWxyZWFkeSBo
YXZlIGFuIGl0ZW0gZm9yIHRoaXMgSUQuCiAgICAgQVNTRVJUKCFtX2JhY2tGb3J3YXJkTGlzdEl0
ZW1NYXAuY29udGFpbnMoaXRlbS0+aXRlbUlEKCkpKTsKKyAgICAKKyAgICBCYWNrRm9yd2FyZExp
c3RJdGVtSW5mbyBpbmZvOworICAgIGluZm8uaXRlbSA9IGl0ZW07CisgICAgaW5mby5wYWdlSUQg
PSBwYWdlSUQ7CiAKLSAgICBtX2JhY2tGb3J3YXJkTGlzdEl0ZW1NYXAuc2V0KGl0ZW0tPml0ZW1J
RCgpLCBpdGVtKTsKKyAgICBtX2JhY2tGb3J3YXJkTGlzdEl0ZW1NYXAuc2V0KGl0ZW0tPml0ZW1J
RCgpLCBpbmZvKTsKIH0KIAogdm9pZCBXZWJQcm9jZXNzUHJveHk6OmFzc3VtZVJlYWRBY2Nlc3NU
b0Jhc2VVUkwoY29uc3QgU3RyaW5nJiB1cmxTdHJpbmcpCkBAIC0yOTEsMTAgKzMwMywxMCBAQCBi
b29sIFdlYlByb2Nlc3NQcm94eTo6Y2hlY2tVUkxSZWNlaXZlZEZyb21XZWJQcm9jZXNzKGNvbnN0
IFVSTCYgdXJsKQogICAgIC8vIEl0ZW1zIGluIGJhY2svZm9yd2FyZCBsaXN0IGhhdmUgYmVlbiBh
bHJlYWR5IGNoZWNrZWQuCiAgICAgLy8gT25lIGNhc2Ugd2hlcmUgd2UgZG9uJ3QgaGF2ZSBzYW5k
Ym94IGV4dGVuc2lvbnMgZm9yIGZpbGUgVVJMcyBpbiBiL2YgbGlzdCBpcyBpZiB0aGUgbGlzdCBo
YXMgYmVlbiByZWluc3RhdGVkIGFmdGVyIGEgY3Jhc2ggb3IgYSBicm93c2VyIHJlc3RhcnQuCiAg
ICAgU3RyaW5nIHBhdGggPSB1cmwuZmlsZVN5c3RlbVBhdGgoKTsKLSAgICBmb3IgKFdlYkJhY2tG
b3J3YXJkTGlzdEl0ZW1NYXA6Oml0ZXJhdG9yIGl0ZXIgPSBtX2JhY2tGb3J3YXJkTGlzdEl0ZW1N
YXAuYmVnaW4oKSwgZW5kID0gbV9iYWNrRm9yd2FyZExpc3RJdGVtTWFwLmVuZCgpOyBpdGVyICE9
IGVuZDsgKytpdGVyKSB7Ci0gICAgICAgIGlmIChVUkwoVVJMKCksIGl0ZXItPnZhbHVlLT51cmwo
KSkuZmlsZVN5c3RlbVBhdGgoKSA9PSBwYXRoKQorICAgIGZvciAoYXV0byYgaXRlbUluZm8gOiBt
X2JhY2tGb3J3YXJkTGlzdEl0ZW1NYXAudmFsdWVzKCkpIHsKKyAgICAgICAgaWYgKFVSTChVUkwo
KSwgaXRlbUluZm8uaXRlbS0+dXJsKCkpLmZpbGVTeXN0ZW1QYXRoKCkgPT0gcGF0aCkKICAgICAg
ICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICBpZiAoVVJMKFVSTCgpLCBpdGVyLT52YWx1ZS0+
b3JpZ2luYWxVUkwoKSkuZmlsZVN5c3RlbVBhdGgoKSA9PSBwYXRoKQorICAgICAgICBpZiAoVVJM
KFVSTCgpLCBpdGVtSW5mby5pdGVtLT5vcmlnaW5hbFVSTCgpKS5maWxlU3lzdGVtUGF0aCgpID09
IHBhdGgpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKQEAgLTMxMCwyMiArMzIy
LDIzIEBAIGJvb2wgV2ViUHJvY2Vzc1Byb3h5OjpmdWxsS2V5Ym9hcmRBY2Nlc3NFbmFibGVkKCkK
IH0KICNlbmRpZgogCi12b2lkIFdlYlByb2Nlc3NQcm94eTo6YWRkQmFja0ZvcndhcmRJdGVtKHVp
bnQ2NF90IGl0ZW1JRCwgY29uc3QgUGFnZVN0YXRlJiBwYWdlU3RhdGUpCit2b2lkIFdlYlByb2Nl
c3NQcm94eTo6YWRkQmFja0ZvcndhcmRJdGVtKHVpbnQ2NF90IGl0ZW1JRCwgdWludDY0X3QgcGFn
ZUlELCBjb25zdCBQYWdlU3RhdGUmIHBhZ2VTdGF0ZSkKIHsKICAgICBNRVNTQUdFX0NIRUNLX1VS
TChwYWdlU3RhdGUubWFpbkZyYW1lU3RhdGUub3JpZ2luYWxVUkxTdHJpbmcpOwogICAgIE1FU1NB
R0VfQ0hFQ0tfVVJMKHBhZ2VTdGF0ZS5tYWluRnJhbWVTdGF0ZS51cmxTdHJpbmcpOwotCi0gICAg
YXV0byYgYmFja0ZvcndhcmRMaXN0SXRlbSA9IG1fYmFja0ZvcndhcmRMaXN0SXRlbU1hcC5hZGQo
aXRlbUlELCBudWxscHRyKS5pdGVyYXRvci0+dmFsdWU7Ci0gICAgaWYgKCFiYWNrRm9yd2FyZExp
c3RJdGVtKSB7CisgICAgCisgICAgYXV0byYgYmFja0ZvcndhcmRMaXN0SXRlbUluZm8gPSBtX2Jh
Y2tGb3J3YXJkTGlzdEl0ZW1NYXAuYWRkKGl0ZW1JRCwgQmFja0ZvcndhcmRMaXN0SXRlbUluZm8o
KSkuaXRlcmF0b3ItPnZhbHVlOworICAgIGlmICghYmFja0ZvcndhcmRMaXN0SXRlbUluZm8uaXRl
bSkgewogICAgICAgICBCYWNrRm9yd2FyZExpc3RJdGVtU3RhdGUgYmFja0ZvcndhcmRMaXN0SXRl
bVN0YXRlOwogICAgICAgICBiYWNrRm9yd2FyZExpc3RJdGVtU3RhdGUuaWRlbnRpZmllciA9IGl0
ZW1JRDsKICAgICAgICAgYmFja0ZvcndhcmRMaXN0SXRlbVN0YXRlLnBhZ2VTdGF0ZSA9IHBhZ2VT
dGF0ZTsKLSAgICAgICAgYmFja0ZvcndhcmRMaXN0SXRlbSA9IFdlYkJhY2tGb3J3YXJkTGlzdEl0
ZW06OmNyZWF0ZShXVEY6Om1vdmUoYmFja0ZvcndhcmRMaXN0SXRlbVN0YXRlKSk7CisgICAgICAg
IGJhY2tGb3J3YXJkTGlzdEl0ZW1JbmZvLml0ZW0gPSBXZWJCYWNrRm9yd2FyZExpc3RJdGVtOjpj
cmVhdGUoV1RGOjptb3ZlKGJhY2tGb3J3YXJkTGlzdEl0ZW1TdGF0ZSkpOworICAgICAgICBiYWNr
Rm9yd2FyZExpc3RJdGVtSW5mby5wYWdlSUQgPSBwYWdlSUQ7CiAgICAgICAgIHJldHVybjsKICAg
ICB9CiAKICAgICAvLyBVcGRhdGUgZXhpc3RpbmcgaXRlbS4KLSAgICBiYWNrRm9yd2FyZExpc3RJ
dGVtLT5zZXRQYWdlU3RhdGUocGFnZVN0YXRlKTsKKyAgICBiYWNrRm9yd2FyZExpc3RJdGVtSW5m
by5pdGVtLT5zZXRQYWdlU3RhdGUocGFnZVN0YXRlKTsKIH0KIAogI2lmIEVOQUJMRShORVRTQ0FQ
RV9QTFVHSU5fQVBJKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5o
CmluZGV4IDVmNGMwODUuLjQwNGRkNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UHJvY2Vzc1Byb3h5LmgKQEAgLTY2LDcgKzY2LDYgQEAgc3RydWN0IFdlYk5hdmlnYXRpb25EYXRh
U3RvcmU7CiAgICAgCiBjbGFzcyBXZWJQcm9jZXNzUHJveHkgOiBwdWJsaWMgQ2hpbGRQcm9jZXNz
UHJveHksIFJlc3BvbnNpdmVuZXNzVGltZXI6OkNsaWVudCB7CiBwdWJsaWM6Ci0gICAgdHlwZWRl
ZiBIYXNoTWFwPHVpbnQ2NF90LCBSZWZQdHI8V2ViQmFja0ZvcndhcmRMaXN0SXRlbT4+IFdlYkJh
Y2tGb3J3YXJkTGlzdEl0ZW1NYXA7CiAgICAgdHlwZWRlZiBIYXNoTWFwPHVpbnQ2NF90LCBSZWZQ
dHI8V2ViRnJhbWVQcm94eT4+IFdlYkZyYW1lUHJveHlNYXA7CiAgICAgdHlwZWRlZiBIYXNoTWFw
PHVpbnQ2NF90LCBXZWJQYWdlUHJveHkqPiBXZWJQYWdlUHJveHlNYXA7CiAKQEAgLTEwMiw3ICsx
MDEsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHVwZGF0ZVRleHRDaGVja2VyU3RhdGUoKTsKIAot
ICAgIHZvaWQgcmVnaXN0ZXJOZXdXZWJCYWNrRm9yd2FyZExpc3RJdGVtKFdlYkJhY2tGb3J3YXJk
TGlzdEl0ZW0qKTsKKyAgICB2b2lkIHJlZ2lzdGVyTmV3V2ViQmFja0ZvcndhcmRMaXN0SXRlbShX
ZWJCYWNrRm9yd2FyZExpc3RJdGVtKiwgdWludDY0X3QgcGFnZUlEKTsKIAogICAgIHZvaWQgd2ls
bEFjcXVpcmVVbml2ZXJzYWxGaWxlUmVhZFNhbmRib3hFeHRlbnNpb24oKSB7IG1fbWF5SGF2ZVVu
aXZlcnNhbEZpbGVSZWFkU2FuZGJveEV4dGVuc2lvbiA9IHRydWU7IH0KICAgICB2b2lkIGFzc3Vt
ZVJlYWRBY2Nlc3NUb0Jhc2VVUkwoY29uc3QgU3RyaW5nJik7CkBAIC0xNDIsNiArMTQxLDEyIEBA
IHB1YmxpYzoKICAgICAKICAgICBQcm9jZXNzVGhyb3R0bGVyJiB0aHJvdHRsZXIoKSB7IHJldHVy
biAqbV90aHJvdHRsZXI7IH0KICAgICAKKyAgICBzdHJ1Y3QgQmFja0ZvcndhcmRMaXN0SXRlbUlu
Zm8geworICAgICAgICBSZWZQdHI8V2ViQmFja0ZvcndhcmRMaXN0SXRlbT4gaXRlbTsKKyAgICAg
ICAgdWludDY0X3QgcGFnZUlEOworICAgIH07CisgICAgdHlwZWRlZiBIYXNoTWFwPHVpbnQ2NF90
LCBCYWNrRm9yd2FyZExpc3RJdGVtSW5mbz4gV2ViQmFja0ZvcndhcmRMaXN0SXRlbU1hcDsKKyAg
ICAKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgV2ViUHJvY2Vzc1Byb3h5KFdlYkNvbnRleHQmKTsK
IApAQCAtMTU2LDcgKzE2MSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkaXNjb25uZWN0KCk7CiAK
ICAgICAvLyBJUEMgbWVzc2FnZSBoYW5kbGVycy4KLSAgICB2b2lkIGFkZEJhY2tGb3J3YXJkSXRl
bSh1aW50NjRfdCBpdGVtSUQsIGNvbnN0IFBhZ2VTdGF0ZSYpOworICAgIHZvaWQgYWRkQmFja0Zv
cndhcmRJdGVtKHVpbnQ2NF90IGl0ZW1JRCwgdWludDY0X3QgcGFnZUlELCBjb25zdCBQYWdlU3Rh
dGUmKTsKICAgICB2b2lkIGRpZERlc3Ryb3lGcmFtZSh1aW50NjRfdCk7CiAgICAgCiAgICAgdm9p
ZCBzaG91bGRUZXJtaW5hdGUoYm9vbCYgc2hvdWxkVGVybWluYXRlKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4gYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCmluZGV4IGM0
MmNjOTAuLjBhOTljMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
cm9jZXNzUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgpAQCAtMjgsNyArMjgsNyBAQCBtZXNzYWdlcyAtPiBX
ZWJQcm9jZXNzUHJveHkgTGVnYWN5UmVjZWl2ZXIgewogICAgIERpZFBlcmZvcm1TZXJ2ZXJSZWRp
cmVjdCh1aW50NjRfdCBwYWdlSUQsIFN0cmluZyBzb3VyY2VVUkxTdHJpbmcsIFN0cmluZyBkZXN0
aW5hdGlvblVSTFN0cmluZywgdWludDY0X3QgZnJhbWVJRCkKICAgICBEaWRVcGRhdGVIaXN0b3J5
VGl0bGUodWludDY0X3QgcGFnZUlELCBTdHJpbmcgdGl0bGUsIFN0cmluZyB1cmwsIHVpbnQ2NF90
IGZyYW1lSUQpCiAKLSAgICBBZGRCYWNrRm9yd2FyZEl0ZW0odWludDY0X3QgaXRlbUlELCBXZWJL
aXQ6OlBhZ2VTdGF0ZSBwYWdlU3RhdGUpCisgICAgQWRkQmFja0ZvcndhcmRJdGVtKHVpbnQ2NF90
IGl0ZW1JRCwgdWludDY0X3QgcGFnZUlELCBXZWJLaXQ6OlBhZ2VTdGF0ZSBwYWdlU3RhdGUpCiAg
ICAgRGlkRGVzdHJveUZyYW1lKHVpbnQ2NF90IGZyYW1lSUQpIAogCiAgICAgU2hvdWxkVGVybWlu
YXRlKCkgLT4gKGJvb2wgc2hvdWxkVGVybWluYXRlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkJhY2tGb3J3YXJkTGlzdFByb3h5LmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJCYWNrRm9yd2FyZExpc3RQcm94eS5jcHAK
aW5kZXggN2ExNDg4OC4uMDlhYmZlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYkJhY2tGb3J3YXJkTGlzdFByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQmFja0ZvcndhcmRMaXN0UHJveHkuY3BwCkBAIC00
NSwyMCArNDUsMjUgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAvLyBGSVhNRSA8cmRhcjovL3Byb2Js
ZW0vODgxOTI2OD46IFRoaXMgbGVha3MgYWxsIEhpc3RvcnlJdGVtcyB0aGF0IGdvIGludG8gdGhl
c2UgbWFwcy4KIC8vIFdlIG5lZWQgdG8gY2xlYXIgdXAgdGhlIGxpZmUgdGltZSBvZiB0aGVzZSBv
YmplY3RzLgogCi10eXBlZGVmIEhhc2hNYXA8dWludDY0X3QsIFJlZlB0cjxIaXN0b3J5SXRlbT4+
IElEVG9IaXN0b3J5SXRlbU1hcDsKLXR5cGVkZWYgSGFzaE1hcDxSZWZQdHI8SGlzdG9yeUl0ZW0+
LCB1aW50NjRfdD4gSGlzdG9yeUl0ZW1Ub0lETWFwOwordHlwZWRlZiBIYXNoTWFwPHVpbnQ2NF90
LCBSZWZQdHI8SGlzdG9yeUl0ZW0+PiBJRFRvSGlzdG9yeUl0ZW1NYXA7IC8vICJJRCIgaGVyZSBp
cyB0aGUgaXRlbSBJRC4KKyAgICAKK3N0cnVjdCBJdGVtQW5kUGFnZUlEIHsKKyAgICB1aW50NjRf
dCBpdGVtSUQ7CisgICAgdWludDY0X3QgcGFnZUlEOworfTsKK3R5cGVkZWYgSGFzaE1hcDxSZWZQ
dHI8SGlzdG9yeUl0ZW0+LCBJdGVtQW5kUGFnZUlEPiBIaXN0b3J5SXRlbVRvSURNYXA7CiAKIHN0
YXRpYyBJRFRvSGlzdG9yeUl0ZW1NYXAmIGlkVG9IaXN0b3J5SXRlbU1hcCgpCiB7CiAgICAgc3Rh
dGljIE5ldmVyRGVzdHJveWVkPElEVG9IaXN0b3J5SXRlbU1hcD4gbWFwOzsKICAgICByZXR1cm4g
bWFwOwotfSAKK30KIAogc3RhdGljIEhpc3RvcnlJdGVtVG9JRE1hcCYgaGlzdG9yeUl0ZW1Ub0lE
TWFwKCkKIHsKICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8SGlzdG9yeUl0ZW1Ub0lETWFwPiBt
YXA7CiAgICAgcmV0dXJuIG1hcDsKLX0gCit9CiAKIHN0YXRpYyB1aW50NjRfdCB1bmlxdWVIaXN0
b3J5SXRlbUlEID0gMTsKIApAQCAtODIsMzAgKzg3LDM0IEBAIHZvaWQgV2ViQmFja0ZvcndhcmRM
aXN0UHJveHk6OnNldEhpZ2hlc3RJdGVtSURGcm9tVUlQcm9jZXNzKHVpbnQ2NF90IGl0ZW1JRCkK
ICAgICAgICAgIHVuaXF1ZUhpc3RvcnlJdGVtSUQgPSBpdGVtSUQgKyAxOwogfQogCi1zdGF0aWMg
dm9pZCB1cGRhdGVCYWNrRm9yd2FyZEl0ZW0odWludDY0X3QgaXRlbUlELCBIaXN0b3J5SXRlbSog
aXRlbSkKK3N0YXRpYyB2b2lkIHVwZGF0ZUJhY2tGb3J3YXJkSXRlbSh1aW50NjRfdCBpdGVtSUQs
IHVpbnQ2NF90IHBhZ2VJRCwgSGlzdG9yeUl0ZW0qIGl0ZW0pCiB7Ci0gICAgV2ViUHJvY2Vzczo6
c2hhcmVkKCkucGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2ViUHJv
Y2Vzc1Byb3h5OjpBZGRCYWNrRm9yd2FyZEl0ZW0oaXRlbUlELCB0b1BhZ2VTdGF0ZSgqaXRlbSkp
LCAwKTsKKyAgICBXZWJQcm9jZXNzOjpzaGFyZWQoKS5wYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigp
LT5zZW5kKE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OkFkZEJhY2tGb3J3YXJkSXRlbShpdGVt
SUQsIHBhZ2VJRCwgdG9QYWdlU3RhdGUoKml0ZW0pKSwgMCk7CiB9CiAKLXZvaWQgV2ViQmFja0Zv
cndhcmRMaXN0UHJveHk6OmFkZEl0ZW1Gcm9tVUlQcm9jZXNzKHVpbnQ2NF90IGl0ZW1JRCwgUGFz
c1JlZlB0cjxXZWJDb3JlOjpIaXN0b3J5SXRlbT4gcHJwSXRlbSkKK3ZvaWQgV2ViQmFja0Zvcndh
cmRMaXN0UHJveHk6OmFkZEl0ZW1Gcm9tVUlQcm9jZXNzKHVpbnQ2NF90IGl0ZW1JRCwgUGFzc1Jl
ZlB0cjxXZWJDb3JlOjpIaXN0b3J5SXRlbT4gcHJwSXRlbSwgdWludDY0X3QgcGFnZUlEKQogewog
ICAgIFJlZlB0cjxIaXN0b3J5SXRlbT4gaXRlbSA9IHBycEl0ZW07CiAgICAgCiAgICAgLy8gVGhp
cyBpdGVtL2l0ZW1JRCBwYWlyIHNob3VsZCBub3QgYWxyZWFkeSBleGlzdCBpbiBvdXIgbWFwcy4K
ICAgICBBU1NFUlQoIWhpc3RvcnlJdGVtVG9JRE1hcCgpLmNvbnRhaW5zKGl0ZW0uZ2V0KCkpKTsK
ICAgICBBU1NFUlQoIWlkVG9IaXN0b3J5SXRlbU1hcCgpLmNvbnRhaW5zKGl0ZW1JRCkpOwotICAg
ICAgICAKLSAgICBoaXN0b3J5SXRlbVRvSURNYXAoKS5zZXQoaXRlbSwgaXRlbUlEKTsKKyAgICAK
KyAgICBJdGVtQW5kUGFnZUlEIGlkczsKKyAgICBpZHMuaXRlbUlEID0gaXRlbUlEOworICAgIGlk
cy5wYWdlSUQgPSBwYWdlSUQ7CisgICAgCisgICAgaGlzdG9yeUl0ZW1Ub0lETWFwKCkuc2V0KGl0
ZW0sIGlkcyk7CiAgICAgaWRUb0hpc3RvcnlJdGVtTWFwKCkuc2V0KGl0ZW1JRCwgaXRlbSk7CiB9
CiAKIHN0YXRpYyB2b2lkIFdLMk5vdGlmeUhpc3RvcnlJdGVtQ2hhbmdlZChIaXN0b3J5SXRlbSog
aXRlbSkKIHsKLSAgICB1aW50NjRfdCBpdGVtSUQgPSBoaXN0b3J5SXRlbVRvSURNYXAoKS5nZXQo
aXRlbSk7Ci0gICAgaWYgKCFpdGVtSUQpCisgICAgSXRlbUFuZFBhZ2VJRCBpZHMgPSBoaXN0b3J5
SXRlbVRvSURNYXAoKS5nZXQoaXRlbSk7CisgICAgaWYgKCFpZHMuaXRlbUlEKQogICAgICAgICBy
ZXR1cm47CiAKLSAgICB1cGRhdGVCYWNrRm9yd2FyZEl0ZW0oaXRlbUlELCBpdGVtKTsKKyAgICB1
cGRhdGVCYWNrRm9yd2FyZEl0ZW0oaWRzLml0ZW1JRCwgaWRzLnBhZ2VJRCwgaXRlbSk7CiB9CiAK
IEhpc3RvcnlJdGVtKiBXZWJCYWNrRm9yd2FyZExpc3RQcm94eTo6aXRlbUZvcklEKHVpbnQ2NF90
IGl0ZW1JRCkKQEAgLTExNiw3ICsxMjUsNyBAQCBIaXN0b3J5SXRlbSogV2ViQmFja0ZvcndhcmRM
aXN0UHJveHk6Oml0ZW1Gb3JJRCh1aW50NjRfdCBpdGVtSUQpCiB1aW50NjRfdCBXZWJCYWNrRm9y
d2FyZExpc3RQcm94eTo6aWRGb3JJdGVtKEhpc3RvcnlJdGVtKiBpdGVtKQogewogICAgIEFTU0VS
VChpdGVtKTsKLSAgICByZXR1cm4gaGlzdG9yeUl0ZW1Ub0lETWFwKCkuZ2V0KGl0ZW0pOworICAg
IHJldHVybiBoaXN0b3J5SXRlbVRvSURNYXAoKS5nZXQoaXRlbSkuaXRlbUlEOwogfQogCiB2b2lk
IFdlYkJhY2tGb3J3YXJkTGlzdFByb3h5OjpyZW1vdmVJdGVtKHVpbnQ2NF90IGl0ZW1JRCkKQEAg
LTE0OSwxMSArMTU4LDE1IEBAIHZvaWQgV2ViQmFja0ZvcndhcmRMaXN0UHJveHk6OmFkZEl0ZW0o
UGFzc1JlZlB0cjxIaXN0b3J5SXRlbT4gcHJwSXRlbSkKICAgICBBU1NFUlQoIWlkVG9IaXN0b3J5
SXRlbU1hcCgpLmNvbnRhaW5zKGl0ZW1JRCkpOwogCiAgICAgbV9hc3NvY2lhdGVkSXRlbUlEcy5h
ZGQoaXRlbUlEKTsKKyAgICAKKyAgICBJdGVtQW5kUGFnZUlEIGlkczsKKyAgICBpZHMuaXRlbUlE
ID0gaXRlbUlEOworICAgIGlkcy5wYWdlSUQgPSBtX3BhZ2UtPnBhZ2VJRCgpOwogCi0gICAgaGlz
dG9yeUl0ZW1Ub0lETWFwKCkuc2V0KGl0ZW0sIGl0ZW1JRCk7CisgICAgaGlzdG9yeUl0ZW1Ub0lE
TWFwKCkuc2V0KGl0ZW0sIGlkcyk7CiAgICAgaWRUb0hpc3RvcnlJdGVtTWFwKCkuc2V0KGl0ZW1J
RCwgaXRlbSk7CiAKLSAgICB1cGRhdGVCYWNrRm9yd2FyZEl0ZW0oaXRlbUlELCBpdGVtLmdldCgp
KTsKKyAgICB1cGRhdGVCYWNrRm9yd2FyZEl0ZW0oaXRlbUlELCBpZHMucGFnZUlELCBpdGVtLmdl
dCgpKTsKICAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6QmFja0Zvcndh
cmRBZGRJdGVtKGl0ZW1JRCkpOwogfQogCkBAIC0xNjMsNyArMTc2LDcgQEAgdm9pZCBXZWJCYWNr
Rm9yd2FyZExpc3RQcm94eTo6Z29Ub0l0ZW0oSGlzdG9yeUl0ZW0qIGl0ZW0pCiAgICAgICAgIHJl
dHVybjsKIAogICAgIFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSBzYW5kYm94RXh0ZW5zaW9uSGFu
ZGxlOwotICAgIG1fcGFnZS0+c2VuZFN5bmMoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6QmFja0Zv
cndhcmRHb1RvSXRlbShoaXN0b3J5SXRlbVRvSURNYXAoKS5nZXQoaXRlbSkpLCBNZXNzYWdlczo6
V2ViUGFnZVByb3h5OjpCYWNrRm9yd2FyZEdvVG9JdGVtOjpSZXBseShzYW5kYm94RXh0ZW5zaW9u
SGFuZGxlKSk7CisgICAgbV9wYWdlLT5zZW5kU3luYyhNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpC
YWNrRm9yd2FyZEdvVG9JdGVtKGhpc3RvcnlJdGVtVG9JRE1hcCgpLmdldChpdGVtKS5pdGVtSUQp
LCBNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpCYWNrRm9yd2FyZEdvVG9JdGVtOjpSZXBseShzYW5k
Ym94RXh0ZW5zaW9uSGFuZGxlKSk7CiAgICAgbV9wYWdlLT5zYW5kYm94RXh0ZW5zaW9uVHJhY2tl
cigpLmJlZ2luTG9hZChtX3BhZ2UtPm1haW5XZWJGcmFtZSgpLCBzYW5kYm94RXh0ZW5zaW9uSGFu
ZGxlKTsKIH0KIApAQCAtMjE0LDcgKzIyNyw3IEBAIHZvaWQgV2ViQmFja0ZvcndhcmRMaXN0UHJv
eHk6OmNsb3NlKCkKIAogICAgIG1fYXNzb2NpYXRlZEl0ZW1JRHMuY2xlYXIoKTsKIAotICAgIG1f
cGFnZSA9IDA7CisgICAgbV9wYWdlID0gbnVsbHB0cjsKIH0KIAogYm9vbCBXZWJCYWNrRm9yd2Fy
ZExpc3RQcm94eTo6aXNBY3RpdmUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYkJhY2tGb3J3YXJkTGlzdFByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQmFja0ZvcndhcmRMaXN0UHJveHkuaAppbmRleCBlNDdlZWQ3
Li5lZjIxOWUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViQmFja0ZvcndhcmRMaXN0UHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViQmFja0ZvcndhcmRMaXN0UHJveHkuaApAQCAtNDIsNyArNDIsNyBAQCBwdWJs
aWM6CiAgICAgc3RhdGljIHVpbnQ2NF90IGlkRm9ySXRlbShXZWJDb3JlOjpIaXN0b3J5SXRlbSop
OwogICAgIHN0YXRpYyB2b2lkIHJlbW92ZUl0ZW0odWludDY0X3QgaXRlbUlEKTsKIAotICAgIHN0
YXRpYyB2b2lkIGFkZEl0ZW1Gcm9tVUlQcm9jZXNzKHVpbnQ2NF90IGl0ZW1JRCwgUGFzc1JlZlB0
cjxXZWJDb3JlOjpIaXN0b3J5SXRlbT4pOworICAgIHN0YXRpYyB2b2lkIGFkZEl0ZW1Gcm9tVUlQ
cm9jZXNzKHVpbnQ2NF90IGl0ZW1JRCwgUGFzc1JlZlB0cjxXZWJDb3JlOjpIaXN0b3J5SXRlbT4s
IHVpbnQ2NF90IHBhZ2VJRCk7CiAgICAgc3RhdGljIHZvaWQgc2V0SGlnaGVzdEl0ZW1JREZyb21V
SVByb2Nlc3ModWludDY0X3QgaXRlbUlEKTsKICAgICAKICAgICB2b2lkIGNsZWFyKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggN2RlYzQ3
MC4uYjMyNTgwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcApAQCAtMTk2NCw3ICsxOTY0LDcgQEAgdm9pZCBXZWJQYWdlOjpleGVjdXRlRWRpdENv
bW1hbmQoY29uc3QgU3RyaW5nJiBjb21tYW5kTmFtZSkKIHZvaWQgV2ViUGFnZTo6cmVzdG9yZVNl
c3Npb24oY29uc3QgVmVjdG9yPEJhY2tGb3J3YXJkTGlzdEl0ZW1TdGF0ZT4mIGl0ZW1TdGF0ZXMp
CiB7CiAgICAgZm9yIChjb25zdCBhdXRvJiBpdGVtU3RhdGUgOiBpdGVtU3RhdGVzKQotICAgICAg
ICBXZWJCYWNrRm9yd2FyZExpc3RQcm94eTo6YWRkSXRlbUZyb21VSVByb2Nlc3MoaXRlbVN0YXRl
LmlkZW50aWZpZXIsIHRvSGlzdG9yeUl0ZW0oaXRlbVN0YXRlLnBhZ2VTdGF0ZSkpOworICAgICAg
ICBXZWJCYWNrRm9yd2FyZExpc3RQcm94eTo6YWRkSXRlbUZyb21VSVByb2Nlc3MoaXRlbVN0YXRl
LmlkZW50aWZpZXIsIHRvSGlzdG9yeUl0ZW0oaXRlbVN0YXRlLnBhZ2VTdGF0ZSksIG1fcGFnZUlE
KTsKIH0KIAogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>234602</attachid>
            <date>2014-07-08 15:48:06 -0700</date>
            <delta_ts>2014-07-08 15:55:28 -0700</delta_ts>
            <desc>patch</desc>
            <filename>bfitem.diff</filename>
            <type>text/plain</type>
            <size>14762</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA1MTFlNGI5Li43OWFjNzVkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDUw
IEBACiAyMDE0LTA3LTA4ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgog
CisgICAgICAgIFJlbW92ZSBXZWJCYWNrRm9yd2FyZExpc3RJdGVtcyB3aGVuIHRoZWlyIG93bmlu
ZyBwYWdlIGdvZXMgYXdheQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTM0NzA5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xNzU4NDY0NT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNoYXJlZC9XZWJC
YWNrRm9yd2FyZExpc3RJdGVtLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQmFja0ZvcndhcmRM
aXN0SXRlbTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6V2ViQmFja0ZvcndhcmRMaXN0SXRl
bTo6V2ViQmFja0ZvcndhcmRMaXN0SXRlbSk6CisgICAgICAgICogU2hhcmVkL1dlYkJhY2tGb3J3
YXJkTGlzdEl0ZW0uaDoKKyAgICAgICAgKFdlYktpdDo6V2ViQmFja0ZvcndhcmRMaXN0SXRlbTo6
cGFnZUlEKToKKyAgICAgICAgQWRkIHRoZSBhc3NvY2lhdGVkIFBhZ2VJRCB0byB0aGUgV2ViQmFj
a0ZvcndhcmRMaXN0SXRlbS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJCYWNrRm9yd2FyZExp
c3QuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJCYWNrRm9yd2FyZExpc3Q6OnJlc3RvcmVGcm9t
U3RhdGUpOgorICAgICAgICBQdXNoIHRoZSBjdXJyZW50IFBhZ2VJRCBvbnRvIHRoZSBXZWJCYWNr
Rm9yd2FyZExpc3RJdGVtLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6cmVtb3ZlV2ViUGFnZSk6Cisg
ICAgICAgIFJlbW92ZSBhbGwgb2YgdGhlIFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW1zIGZyb20gbV9i
YWNrRm9yd2FyZExpc3RJdGVtTWFwIHdoZW4KKyAgICAgICAgdGhlIHBhZ2UgdGhleSBhcmUgYXNz
b2NpYXRlZCB3aXRoIGlzIHJlbW92ZWQuCisKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1By
b3h5OjphZGRCYWNrRm9yd2FyZEl0ZW0pOgorICAgICAgICBQdXNoIHRoZSBQYWdlSUQgZnJvbSB0
aGUgV2ViUHJvY2VzcyBvbnRvIHRoZSBXZWJCYWNrRm9yd2FyZExpc3RJdGVtLgorCisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQ
cm9jZXNzUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YkJhY2tGb3J3YXJkTGlzdFByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6aWRUb0hpc3RvcnlJ
dGVtTWFwKToKKyAgICAgICAgKFdlYktpdDo6aGlzdG9yeUl0ZW1Ub0lETWFwKToKKyAgICAgICAg
KFdlYktpdDo6dXBkYXRlQmFja0ZvcndhcmRJdGVtKToKKyAgICAgICAgKFdlYktpdDo6V2ViQmFj
a0ZvcndhcmRMaXN0UHJveHk6OmFkZEl0ZW1Gcm9tVUlQcm9jZXNzKToKKyAgICAgICAgKFdlYktp
dDo6V0syTm90aWZ5SGlzdG9yeUl0ZW1DaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6V2ViQmFj
a0ZvcndhcmRMaXN0UHJveHk6OmlkRm9ySXRlbSk6CisgICAgICAgIChXZWJLaXQ6OldlYkJhY2tG
b3J3YXJkTGlzdFByb3h5OjphZGRJdGVtKToKKyAgICAgICAgKFdlYktpdDo6V2ViQmFja0Zvcndh
cmRMaXN0UHJveHk6OmdvVG9JdGVtKToKKyAgICAgICAgKFdlYktpdDo6V2ViQmFja0ZvcndhcmRM
aXN0UHJveHk6OmNsb3NlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQmFja0Zv
cndhcmRMaXN0UHJveHkuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnJlc3RvcmVTZXNzaW9uKToKKyAgICAgICAg
S2VlcCB0cmFjayBvZiB0aGUgUGFnZUlEIHRoYXQgYmFjay1mb3J3YXJkIGl0ZW1zIHdlcmUgY3Jl
YXRlZCBieS4KKyAgICAgICAgUGFzcyB0aGUgUGFnZUlEIGFsb25nIHdoZW4gcmVnaXN0ZXJpbmcg
V2ViQmFja0ZvcndhcmRMaXN0SXRlbXMuCisKKzIwMTQtMDctMDggIFRpbSBIb3J0b24gIDx0aW1v
dGh5X2hvcnRvbkBhcHBsZS5jb20+CisKICAgICAgICAgV0tQcm9jZXNzUG9vbENvbmZpZ3VyYXRp
b25Qcml2YXRlJ3MgbWF4aW11bVByb2Nlc3NDb3VudCBwcm9wZXJ0eSBoYXMgbm8gZWZmZWN0CiAg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzQ3MTEKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkJhY2tGb3J3YXJkTGlzdEl0ZW0u
Y3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkJhY2tGb3J3YXJkTGlzdEl0ZW0uY3BwCmlu
ZGV4IGZiYTIzMmMuLmYyMGNkYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9X
ZWJCYWNrRm9yd2FyZExpc3RJdGVtLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2Vi
QmFja0ZvcndhcmRMaXN0SXRlbS5jcHAKQEAgLTMwLDEzICszMCwxNCBAQCBuYW1lc3BhY2UgV2Vi
S2l0IHsKIAogc3RhdGljIHVpbnQ2NF90IGhpZ2hlc3RVc2VkSXRlbUlEID0gMDsKIAotUGFzc1Jl
ZlB0cjxXZWJCYWNrRm9yd2FyZExpc3RJdGVtPiBXZWJCYWNrRm9yd2FyZExpc3RJdGVtOjpjcmVh
dGUoQmFja0ZvcndhcmRMaXN0SXRlbVN0YXRlIGJhY2tGb3J3YXJkTGlzdEl0ZW1TdGF0ZSkKK1Bh
c3NSZWZQdHI8V2ViQmFja0ZvcndhcmRMaXN0SXRlbT4gV2ViQmFja0ZvcndhcmRMaXN0SXRlbTo6
Y3JlYXRlKEJhY2tGb3J3YXJkTGlzdEl0ZW1TdGF0ZSBiYWNrRm9yd2FyZExpc3RJdGVtU3RhdGUs
IHVpbnQ2NF90IHBhZ2VJRCkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IFdlYkJhY2tGb3J3
YXJkTGlzdEl0ZW0oV1RGOjptb3ZlKGJhY2tGb3J3YXJkTGlzdEl0ZW1TdGF0ZSkpKTsKKyAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0oV1RGOjptb3ZlKGJhY2tG
b3J3YXJkTGlzdEl0ZW1TdGF0ZSksIHBhZ2VJRCkpOwogfQogCi1XZWJCYWNrRm9yd2FyZExpc3RJ
dGVtOjpXZWJCYWNrRm9yd2FyZExpc3RJdGVtKEJhY2tGb3J3YXJkTGlzdEl0ZW1TdGF0ZSBiYWNr
Rm9yd2FyZExpc3RJdGVtU3RhdGUpCitXZWJCYWNrRm9yd2FyZExpc3RJdGVtOjpXZWJCYWNrRm9y
d2FyZExpc3RJdGVtKEJhY2tGb3J3YXJkTGlzdEl0ZW1TdGF0ZSBiYWNrRm9yd2FyZExpc3RJdGVt
U3RhdGUsIHVpbnQ2NF90IHBhZ2VJRCkKICAgICA6IG1faXRlbVN0YXRlKFdURjo6bW92ZShiYWNr
Rm9yd2FyZExpc3RJdGVtU3RhdGUpKQorICAgICwgbV9wYWdlSUQocGFnZUlEKQogewogICAgIGlm
IChtX2l0ZW1TdGF0ZS5pZGVudGlmaWVyID4gaGlnaGVzdFVzZWRJdGVtSUQpCiAgICAgICAgIGhp
Z2hlc3RVc2VkSXRlbUlEID0gbV9pdGVtU3RhdGUuaWRlbnRpZmllcjsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJCYWNrRm9yd2FyZExpc3RJdGVtLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvV2ViQmFja0ZvcndhcmRMaXN0SXRlbS5oCmluZGV4IDQ1MWJkOTcuLjA5NjBj
NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJCYWNrRm9yd2FyZExpc3RJ
dGVtLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkJhY2tGb3J3YXJkTGlzdEl0ZW0u
aApAQCAtNDQsMTEgKzQ0LDEyIEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBXZWJCYWNr
Rm9yd2FyZExpc3RJdGVtIDogcHVibGljIEFQSTo6T2JqZWN0SW1wbDxBUEk6Ok9iamVjdDo6VHlw
ZTo6QmFja0ZvcndhcmRMaXN0SXRlbT4gewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRy
PFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0+IGNyZWF0ZShCYWNrRm9yd2FyZExpc3RJdGVtU3RhdGUp
OworICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0+IGNyZWF0ZShC
YWNrRm9yd2FyZExpc3RJdGVtU3RhdGUsIHVpbnQ2NF90IHBhZ2VJRCk7CiAgICAgdmlydHVhbCB+
V2ViQmFja0ZvcndhcmRMaXN0SXRlbSgpOwogCiAgICAgdWludDY0X3QgaXRlbUlEKCkgY29uc3Qg
eyByZXR1cm4gbV9pdGVtU3RhdGUuaWRlbnRpZmllcjsgfQogICAgIGNvbnN0IEJhY2tGb3J3YXJk
TGlzdEl0ZW1TdGF0ZSYgaXRlbVN0YXRlKCkgeyByZXR1cm4gbV9pdGVtU3RhdGU7IH0KKyAgICB1
aW50NjRfdCBwYWdlSUQoKSBjb25zdCB7IHJldHVybiBtX3BhZ2VJRDsgfQogCiAgICAgdm9pZCBz
ZXRQYWdlU3RhdGUoUGFnZVN0YXRlIHBhZ2VTdGF0ZSkgeyBtX2l0ZW1TdGF0ZS5wYWdlU3RhdGUg
PSBXVEY6Om1vdmUocGFnZVN0YXRlKTsgfQogCkBAIC02Miw5ICs2MywxMCBAQCBwdWJsaWM6CiAg
ICAgc3RhdGljIHVpbnQ2NF90IGhpZ2hlZFVzZWRJdGVtSUQoKTsKIAogcHJpdmF0ZToKLSAgICBl
eHBsaWNpdCBXZWJCYWNrRm9yd2FyZExpc3RJdGVtKEJhY2tGb3J3YXJkTGlzdEl0ZW1TdGF0ZSk7
CisgICAgZXhwbGljaXQgV2ViQmFja0ZvcndhcmRMaXN0SXRlbShCYWNrRm9yd2FyZExpc3RJdGVt
U3RhdGUsIHVpbnQ2NF90IHBhZ2VJRCk7CiAKICAgICBCYWNrRm9yd2FyZExpc3RJdGVtU3RhdGUg
bV9pdGVtU3RhdGU7CisgICAgdWludDY0X3QgbV9wYWdlSUQ7CiB9OwogCiB0eXBlZGVmIFZlY3Rv
cjxSZWZQdHI8V2ViQmFja0ZvcndhcmRMaXN0SXRlbT4+IEJhY2tGb3J3YXJkTGlzdEl0ZW1WZWN0
b3I7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQmFja0ZvcndhcmRM
aXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJCYWNrRm9yd2FyZExpc3QuY3Bw
CmluZGV4IDgyNTE3OTMuLjY2Y2YwN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJCYWNrRm9yd2FyZExpc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJCYWNrRm9yd2FyZExpc3QuY3BwCkBAIC00MTEsNyArNDExLDcgQEAgdm9pZCBXZWJCYWNr
Rm9yd2FyZExpc3Q6OnJlc3RvcmVGcm9tU3RhdGUoQmFja0ZvcndhcmRMaXN0U3RhdGUgYmFja0Zv
cndhcmRMaXN0U3QKIAogICAgIGZvciAoYXV0byYgYmFja0ZvcndhcmRMaXN0SXRlbVN0YXRlIDog
YmFja0ZvcndhcmRMaXN0U3RhdGUuaXRlbXMpIHsKICAgICAgICAgYmFja0ZvcndhcmRMaXN0SXRl
bVN0YXRlLmlkZW50aWZpZXIgPSBnZW5lcmF0ZVdlYkJhY2tGb3J3YXJkSXRlbUlEKCk7Ci0gICAg
ICAgIGl0ZW1zLnVuY2hlY2tlZEFwcGVuZChXZWJCYWNrRm9yd2FyZExpc3RJdGVtOjpjcmVhdGUo
V1RGOjptb3ZlKGJhY2tGb3J3YXJkTGlzdEl0ZW1TdGF0ZSkpKTsKKyAgICAgICAgaXRlbXMudW5j
aGVja2VkQXBwZW5kKFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW06OmNyZWF0ZShXVEY6Om1vdmUoYmFj
a0ZvcndhcmRMaXN0SXRlbVN0YXRlKSwgbV9wYWdlLT5wYWdlSUQoKSkpOwogICAgIH0KICAgICBt
X2hhc0N1cnJlbnRJbmRleCA9ICEhYmFja0ZvcndhcmRMaXN0U3RhdGUuY3VycmVudEluZGV4Owog
ICAgIG1fY3VycmVudEluZGV4ID0gYmFja0ZvcndhcmRMaXN0U3RhdGUuY3VycmVudEluZGV4LnZh
bHVlT3IoMCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vz
c1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3Bw
CmluZGV4IDkzNDJkNWYuLjgwN2E4OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQcm9jZXNzUHJveHkuY3BwCkBAIC0xOTksNiArMTk5LDE0IEBAIHZvaWQgV2ViUHJvY2Vzc1By
b3h5OjpyZW1vdmVXZWJQYWdlKHVpbnQ2NF90IHBhZ2VJRCkKIHsKICAgICBtX3BhZ2VNYXAucmVt
b3ZlKHBhZ2VJRCk7CiAgICAgZ2xvYmFsUGFnZU1hcCgpLnJlbW92ZShwYWdlSUQpOworICAgIAor
ICAgIFZlY3Rvcjx1aW50NjRfdD4gaXRlbUlEc1RvUmVtb3ZlOworICAgIGZvciAoYXV0byYgaWRB
bmRJdGVtIDogbV9iYWNrRm9yd2FyZExpc3RJdGVtTWFwKSB7CisgICAgICAgIGlmIChpZEFuZEl0
ZW0udmFsdWUtPnBhZ2VJRCgpID09IHBhZ2VJRCkKKyAgICAgICAgICAgIGl0ZW1JRHNUb1JlbW92
ZS5hcHBlbmQoaWRBbmRJdGVtLmtleSk7CisgICAgfQorICAgIGZvciAoYXV0byBpdGVtSUQgOiBp
dGVtSURzVG9SZW1vdmUpCisgICAgICAgIG1fYmFja0ZvcndhcmRMaXN0SXRlbU1hcC5yZW1vdmUo
aXRlbUlEKTsKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIG1fcHJvY2Vzc1N1cHByZXNzaWJs
ZVBhZ2VzLnJlbW92ZShwYWdlSUQpOwpAQCAtMzEwLDcgKzMxOCw3IEBAIGJvb2wgV2ViUHJvY2Vz
c1Byb3h5OjpmdWxsS2V5Ym9hcmRBY2Nlc3NFbmFibGVkKCkKIH0KICNlbmRpZgogCi12b2lkIFdl
YlByb2Nlc3NQcm94eTo6YWRkQmFja0ZvcndhcmRJdGVtKHVpbnQ2NF90IGl0ZW1JRCwgY29uc3Qg
UGFnZVN0YXRlJiBwYWdlU3RhdGUpCit2b2lkIFdlYlByb2Nlc3NQcm94eTo6YWRkQmFja0Zvcndh
cmRJdGVtKHVpbnQ2NF90IGl0ZW1JRCwgdWludDY0X3QgcGFnZUlELCBjb25zdCBQYWdlU3RhdGUm
IHBhZ2VTdGF0ZSkKIHsKICAgICBNRVNTQUdFX0NIRUNLX1VSTChwYWdlU3RhdGUubWFpbkZyYW1l
U3RhdGUub3JpZ2luYWxVUkxTdHJpbmcpOwogICAgIE1FU1NBR0VfQ0hFQ0tfVVJMKHBhZ2VTdGF0
ZS5tYWluRnJhbWVTdGF0ZS51cmxTdHJpbmcpOwpAQCAtMzIwLDcgKzMyOCw3IEBAIHZvaWQgV2Vi
UHJvY2Vzc1Byb3h5OjphZGRCYWNrRm9yd2FyZEl0ZW0odWludDY0X3QgaXRlbUlELCBjb25zdCBQ
YWdlU3RhdGUmIHBhZ2VTCiAgICAgICAgIEJhY2tGb3J3YXJkTGlzdEl0ZW1TdGF0ZSBiYWNrRm9y
d2FyZExpc3RJdGVtU3RhdGU7CiAgICAgICAgIGJhY2tGb3J3YXJkTGlzdEl0ZW1TdGF0ZS5pZGVu
dGlmaWVyID0gaXRlbUlEOwogICAgICAgICBiYWNrRm9yd2FyZExpc3RJdGVtU3RhdGUucGFnZVN0
YXRlID0gcGFnZVN0YXRlOwotICAgICAgICBiYWNrRm9yd2FyZExpc3RJdGVtID0gV2ViQmFja0Zv
cndhcmRMaXN0SXRlbTo6Y3JlYXRlKFdURjo6bW92ZShiYWNrRm9yd2FyZExpc3RJdGVtU3RhdGUp
KTsKKyAgICAgICAgYmFja0ZvcndhcmRMaXN0SXRlbSA9IFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW06
OmNyZWF0ZShXVEY6Om1vdmUoYmFja0ZvcndhcmRMaXN0SXRlbVN0YXRlKSwgcGFnZUlEKTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nl
c3NQcm94eS5oCmluZGV4IDVmNGMwODUuLjYyMDI5NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgKQEAgLTE1Niw3ICsxNTYsNyBAQCBwcml2YXRlOgogICAg
IHZvaWQgZGlzY29ubmVjdCgpOwogCiAgICAgLy8gSVBDIG1lc3NhZ2UgaGFuZGxlcnMuCi0gICAg
dm9pZCBhZGRCYWNrRm9yd2FyZEl0ZW0odWludDY0X3QgaXRlbUlELCBjb25zdCBQYWdlU3RhdGUm
KTsKKyAgICB2b2lkIGFkZEJhY2tGb3J3YXJkSXRlbSh1aW50NjRfdCBpdGVtSUQsIHVpbnQ2NF90
IHBhZ2VJRCwgY29uc3QgUGFnZVN0YXRlJik7CiAgICAgdm9pZCBkaWREZXN0cm95RnJhbWUodWlu
dDY0X3QpOwogICAgIAogICAgIHZvaWQgc2hvdWxkVGVybWluYXRlKGJvb2wmIHNob3VsZFRlcm1p
bmF0ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1By
b3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94
eS5tZXNzYWdlcy5pbgppbmRleCBjNDJjYzkwLi4wYTk5YzI2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4KQEAgLTI4LDcg
KzI4LDcgQEAgbWVzc2FnZXMgLT4gV2ViUHJvY2Vzc1Byb3h5IExlZ2FjeVJlY2VpdmVyIHsKICAg
ICBEaWRQZXJmb3JtU2VydmVyUmVkaXJlY3QodWludDY0X3QgcGFnZUlELCBTdHJpbmcgc291cmNl
VVJMU3RyaW5nLCBTdHJpbmcgZGVzdGluYXRpb25VUkxTdHJpbmcsIHVpbnQ2NF90IGZyYW1lSUQp
CiAgICAgRGlkVXBkYXRlSGlzdG9yeVRpdGxlKHVpbnQ2NF90IHBhZ2VJRCwgU3RyaW5nIHRpdGxl
LCBTdHJpbmcgdXJsLCB1aW50NjRfdCBmcmFtZUlEKQogCi0gICAgQWRkQmFja0ZvcndhcmRJdGVt
KHVpbnQ2NF90IGl0ZW1JRCwgV2ViS2l0OjpQYWdlU3RhdGUgcGFnZVN0YXRlKQorICAgIEFkZEJh
Y2tGb3J3YXJkSXRlbSh1aW50NjRfdCBpdGVtSUQsIHVpbnQ2NF90IHBhZ2VJRCwgV2ViS2l0OjpQ
YWdlU3RhdGUgcGFnZVN0YXRlKQogICAgIERpZERlc3Ryb3lGcmFtZSh1aW50NjRfdCBmcmFtZUlE
KSAKIAogICAgIFNob3VsZFRlcm1pbmF0ZSgpIC0+IChib29sIHNob3VsZFRlcm1pbmF0ZSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJCYWNrRm9yd2Fy
ZExpc3RQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQmFj
a0ZvcndhcmRMaXN0UHJveHkuY3BwCmluZGV4IDdhMTQ4ODguLjA5YWJmZWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJCYWNrRm9yd2FyZExpc3RQcm94
eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkJhY2tGb3J3
YXJkTGlzdFByb3h5LmNwcApAQCAtNDUsMjAgKzQ1LDI1IEBAIG5hbWVzcGFjZSBXZWJLaXQgewog
Ly8gRklYTUUgPHJkYXI6Ly9wcm9ibGVtLzg4MTkyNjg+OiBUaGlzIGxlYWtzIGFsbCBIaXN0b3J5
SXRlbXMgdGhhdCBnbyBpbnRvIHRoZXNlIG1hcHMuCiAvLyBXZSBuZWVkIHRvIGNsZWFyIHVwIHRo
ZSBsaWZlIHRpbWUgb2YgdGhlc2Ugb2JqZWN0cy4KIAotdHlwZWRlZiBIYXNoTWFwPHVpbnQ2NF90
LCBSZWZQdHI8SGlzdG9yeUl0ZW0+PiBJRFRvSGlzdG9yeUl0ZW1NYXA7Ci10eXBlZGVmIEhhc2hN
YXA8UmVmUHRyPEhpc3RvcnlJdGVtPiwgdWludDY0X3Q+IEhpc3RvcnlJdGVtVG9JRE1hcDsKK3R5
cGVkZWYgSGFzaE1hcDx1aW50NjRfdCwgUmVmUHRyPEhpc3RvcnlJdGVtPj4gSURUb0hpc3RvcnlJ
dGVtTWFwOyAvLyAiSUQiIGhlcmUgaXMgdGhlIGl0ZW0gSUQuCisgICAgCitzdHJ1Y3QgSXRlbUFu
ZFBhZ2VJRCB7CisgICAgdWludDY0X3QgaXRlbUlEOworICAgIHVpbnQ2NF90IHBhZ2VJRDsKK307
Cit0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPEhpc3RvcnlJdGVtPiwgSXRlbUFuZFBhZ2VJRD4gSGlz
dG9yeUl0ZW1Ub0lETWFwOwogCiBzdGF0aWMgSURUb0hpc3RvcnlJdGVtTWFwJiBpZFRvSGlzdG9y
eUl0ZW1NYXAoKQogewogICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxJRFRvSGlzdG9yeUl0ZW1N
YXA+IG1hcDs7CiAgICAgcmV0dXJuIG1hcDsKLX0gCit9CiAKIHN0YXRpYyBIaXN0b3J5SXRlbVRv
SURNYXAmIGhpc3RvcnlJdGVtVG9JRE1hcCgpCiB7CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVk
PEhpc3RvcnlJdGVtVG9JRE1hcD4gbWFwOwogICAgIHJldHVybiBtYXA7Ci19IAorfQogCiBzdGF0
aWMgdWludDY0X3QgdW5pcXVlSGlzdG9yeUl0ZW1JRCA9IDE7CiAKQEAgLTgyLDMwICs4NywzNCBA
QCB2b2lkIFdlYkJhY2tGb3J3YXJkTGlzdFByb3h5OjpzZXRIaWdoZXN0SXRlbUlERnJvbVVJUHJv
Y2Vzcyh1aW50NjRfdCBpdGVtSUQpCiAgICAgICAgICB1bmlxdWVIaXN0b3J5SXRlbUlEID0gaXRl
bUlEICsgMTsKIH0KIAotc3RhdGljIHZvaWQgdXBkYXRlQmFja0ZvcndhcmRJdGVtKHVpbnQ2NF90
IGl0ZW1JRCwgSGlzdG9yeUl0ZW0qIGl0ZW0pCitzdGF0aWMgdm9pZCB1cGRhdGVCYWNrRm9yd2Fy
ZEl0ZW0odWludDY0X3QgaXRlbUlELCB1aW50NjRfdCBwYWdlSUQsIEhpc3RvcnlJdGVtKiBpdGVt
KQogewotICAgIFdlYlByb2Nlc3M6OnNoYXJlZCgpLnBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCkt
PnNlbmQoTWVzc2FnZXM6OldlYlByb2Nlc3NQcm94eTo6QWRkQmFja0ZvcndhcmRJdGVtKGl0ZW1J
RCwgdG9QYWdlU3RhdGUoKml0ZW0pKSwgMCk7CisgICAgV2ViUHJvY2Vzczo6c2hhcmVkKCkucGFy
ZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpB
ZGRCYWNrRm9yd2FyZEl0ZW0oaXRlbUlELCBwYWdlSUQsIHRvUGFnZVN0YXRlKCppdGVtKSksIDAp
OwogfQogCi12b2lkIFdlYkJhY2tGb3J3YXJkTGlzdFByb3h5OjphZGRJdGVtRnJvbVVJUHJvY2Vz
cyh1aW50NjRfdCBpdGVtSUQsIFBhc3NSZWZQdHI8V2ViQ29yZTo6SGlzdG9yeUl0ZW0+IHBycEl0
ZW0pCit2b2lkIFdlYkJhY2tGb3J3YXJkTGlzdFByb3h5OjphZGRJdGVtRnJvbVVJUHJvY2Vzcyh1
aW50NjRfdCBpdGVtSUQsIFBhc3NSZWZQdHI8V2ViQ29yZTo6SGlzdG9yeUl0ZW0+IHBycEl0ZW0s
IHVpbnQ2NF90IHBhZ2VJRCkKIHsKICAgICBSZWZQdHI8SGlzdG9yeUl0ZW0+IGl0ZW0gPSBwcnBJ
dGVtOwogICAgIAogICAgIC8vIFRoaXMgaXRlbS9pdGVtSUQgcGFpciBzaG91bGQgbm90IGFscmVh
ZHkgZXhpc3QgaW4gb3VyIG1hcHMuCiAgICAgQVNTRVJUKCFoaXN0b3J5SXRlbVRvSURNYXAoKS5j
b250YWlucyhpdGVtLmdldCgpKSk7CiAgICAgQVNTRVJUKCFpZFRvSGlzdG9yeUl0ZW1NYXAoKS5j
b250YWlucyhpdGVtSUQpKTsKLSAgICAgICAgCi0gICAgaGlzdG9yeUl0ZW1Ub0lETWFwKCkuc2V0
KGl0ZW0sIGl0ZW1JRCk7CisgICAgCisgICAgSXRlbUFuZFBhZ2VJRCBpZHM7CisgICAgaWRzLml0
ZW1JRCA9IGl0ZW1JRDsKKyAgICBpZHMucGFnZUlEID0gcGFnZUlEOworICAgIAorICAgIGhpc3Rv
cnlJdGVtVG9JRE1hcCgpLnNldChpdGVtLCBpZHMpOwogICAgIGlkVG9IaXN0b3J5SXRlbU1hcCgp
LnNldChpdGVtSUQsIGl0ZW0pOwogfQogCiBzdGF0aWMgdm9pZCBXSzJOb3RpZnlIaXN0b3J5SXRl
bUNoYW5nZWQoSGlzdG9yeUl0ZW0qIGl0ZW0pCiB7Ci0gICAgdWludDY0X3QgaXRlbUlEID0gaGlz
dG9yeUl0ZW1Ub0lETWFwKCkuZ2V0KGl0ZW0pOwotICAgIGlmICghaXRlbUlEKQorICAgIEl0ZW1B
bmRQYWdlSUQgaWRzID0gaGlzdG9yeUl0ZW1Ub0lETWFwKCkuZ2V0KGl0ZW0pOworICAgIGlmICgh
aWRzLml0ZW1JRCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgdXBkYXRlQmFja0ZvcndhcmRJdGVt
KGl0ZW1JRCwgaXRlbSk7CisgICAgdXBkYXRlQmFja0ZvcndhcmRJdGVtKGlkcy5pdGVtSUQsIGlk
cy5wYWdlSUQsIGl0ZW0pOwogfQogCiBIaXN0b3J5SXRlbSogV2ViQmFja0ZvcndhcmRMaXN0UHJv
eHk6Oml0ZW1Gb3JJRCh1aW50NjRfdCBpdGVtSUQpCkBAIC0xMTYsNyArMTI1LDcgQEAgSGlzdG9y
eUl0ZW0qIFdlYkJhY2tGb3J3YXJkTGlzdFByb3h5OjppdGVtRm9ySUQodWludDY0X3QgaXRlbUlE
KQogdWludDY0X3QgV2ViQmFja0ZvcndhcmRMaXN0UHJveHk6OmlkRm9ySXRlbShIaXN0b3J5SXRl
bSogaXRlbSkKIHsKICAgICBBU1NFUlQoaXRlbSk7Ci0gICAgcmV0dXJuIGhpc3RvcnlJdGVtVG9J
RE1hcCgpLmdldChpdGVtKTsKKyAgICByZXR1cm4gaGlzdG9yeUl0ZW1Ub0lETWFwKCkuZ2V0KGl0
ZW0pLml0ZW1JRDsKIH0KIAogdm9pZCBXZWJCYWNrRm9yd2FyZExpc3RQcm94eTo6cmVtb3ZlSXRl
bSh1aW50NjRfdCBpdGVtSUQpCkBAIC0xNDksMTEgKzE1OCwxNSBAQCB2b2lkIFdlYkJhY2tGb3J3
YXJkTGlzdFByb3h5OjphZGRJdGVtKFBhc3NSZWZQdHI8SGlzdG9yeUl0ZW0+IHBycEl0ZW0pCiAg
ICAgQVNTRVJUKCFpZFRvSGlzdG9yeUl0ZW1NYXAoKS5jb250YWlucyhpdGVtSUQpKTsKIAogICAg
IG1fYXNzb2NpYXRlZEl0ZW1JRHMuYWRkKGl0ZW1JRCk7CisgICAgCisgICAgSXRlbUFuZFBhZ2VJ
RCBpZHM7CisgICAgaWRzLml0ZW1JRCA9IGl0ZW1JRDsKKyAgICBpZHMucGFnZUlEID0gbV9wYWdl
LT5wYWdlSUQoKTsKIAotICAgIGhpc3RvcnlJdGVtVG9JRE1hcCgpLnNldChpdGVtLCBpdGVtSUQp
OworICAgIGhpc3RvcnlJdGVtVG9JRE1hcCgpLnNldChpdGVtLCBpZHMpOwogICAgIGlkVG9IaXN0
b3J5SXRlbU1hcCgpLnNldChpdGVtSUQsIGl0ZW0pOwogCi0gICAgdXBkYXRlQmFja0ZvcndhcmRJ
dGVtKGl0ZW1JRCwgaXRlbS5nZXQoKSk7CisgICAgdXBkYXRlQmFja0ZvcndhcmRJdGVtKGl0ZW1J
RCwgaWRzLnBhZ2VJRCwgaXRlbS5nZXQoKSk7CiAgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpX
ZWJQYWdlUHJveHk6OkJhY2tGb3J3YXJkQWRkSXRlbShpdGVtSUQpKTsKIH0KIApAQCAtMTYzLDcg
KzE3Niw3IEBAIHZvaWQgV2ViQmFja0ZvcndhcmRMaXN0UHJveHk6OmdvVG9JdGVtKEhpc3RvcnlJ
dGVtKiBpdGVtKQogICAgICAgICByZXR1cm47CiAKICAgICBTYW5kYm94RXh0ZW5zaW9uOjpIYW5k
bGUgc2FuZGJveEV4dGVuc2lvbkhhbmRsZTsKLSAgICBtX3BhZ2UtPnNlbmRTeW5jKE1lc3NhZ2Vz
OjpXZWJQYWdlUHJveHk6OkJhY2tGb3J3YXJkR29Ub0l0ZW0oaGlzdG9yeUl0ZW1Ub0lETWFwKCku
Z2V0KGl0ZW0pKSwgTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6QmFja0ZvcndhcmRHb1RvSXRlbTo6
UmVwbHkoc2FuZGJveEV4dGVuc2lvbkhhbmRsZSkpOworICAgIG1fcGFnZS0+c2VuZFN5bmMoTWVz
c2FnZXM6OldlYlBhZ2VQcm94eTo6QmFja0ZvcndhcmRHb1RvSXRlbShoaXN0b3J5SXRlbVRvSURN
YXAoKS5nZXQoaXRlbSkuaXRlbUlEKSwgTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6QmFja0Zvcndh
cmRHb1RvSXRlbTo6UmVwbHkoc2FuZGJveEV4dGVuc2lvbkhhbmRsZSkpOwogICAgIG1fcGFnZS0+
c2FuZGJveEV4dGVuc2lvblRyYWNrZXIoKS5iZWdpbkxvYWQobV9wYWdlLT5tYWluV2ViRnJhbWUo
KSwgc2FuZGJveEV4dGVuc2lvbkhhbmRsZSk7CiB9CiAKQEAgLTIxNCw3ICsyMjcsNyBAQCB2b2lk
IFdlYkJhY2tGb3J3YXJkTGlzdFByb3h5OjpjbG9zZSgpCiAKICAgICBtX2Fzc29jaWF0ZWRJdGVt
SURzLmNsZWFyKCk7CiAKLSAgICBtX3BhZ2UgPSAwOworICAgIG1fcGFnZSA9IG51bGxwdHI7CiB9
CiAKIGJvb2wgV2ViQmFja0ZvcndhcmRMaXN0UHJveHk6OmlzQWN0aXZlKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJCYWNrRm9yd2FyZExpc3RQcm94
eS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkJhY2tGb3J3YXJkTGlz
dFByb3h5LmgKaW5kZXggZTQ3ZWVkNy4uZWYyMTllMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkJhY2tGb3J3YXJkTGlzdFByb3h5LmgKKysrIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkJhY2tGb3J3YXJkTGlzdFByb3h5LmgK
QEAgLTQyLDcgKzQyLDcgQEAgcHVibGljOgogICAgIHN0YXRpYyB1aW50NjRfdCBpZEZvckl0ZW0o
V2ViQ29yZTo6SGlzdG9yeUl0ZW0qKTsKICAgICBzdGF0aWMgdm9pZCByZW1vdmVJdGVtKHVpbnQ2
NF90IGl0ZW1JRCk7CiAKLSAgICBzdGF0aWMgdm9pZCBhZGRJdGVtRnJvbVVJUHJvY2Vzcyh1aW50
NjRfdCBpdGVtSUQsIFBhc3NSZWZQdHI8V2ViQ29yZTo6SGlzdG9yeUl0ZW0+KTsKKyAgICBzdGF0
aWMgdm9pZCBhZGRJdGVtRnJvbVVJUHJvY2Vzcyh1aW50NjRfdCBpdGVtSUQsIFBhc3NSZWZQdHI8
V2ViQ29yZTo6SGlzdG9yeUl0ZW0+LCB1aW50NjRfdCBwYWdlSUQpOwogICAgIHN0YXRpYyB2b2lk
IHNldEhpZ2hlc3RJdGVtSURGcm9tVUlQcm9jZXNzKHVpbnQ2NF90IGl0ZW1JRCk7CiAgICAgCiAg
ICAgdm9pZCBjbGVhcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwCmluZGV4IDdkZWM0NzAuLmIzMjU4MGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTE5NjQsNyArMTk2NCw3IEBAIHZvaWQg
V2ViUGFnZTo6ZXhlY3V0ZUVkaXRDb21tYW5kKGNvbnN0IFN0cmluZyYgY29tbWFuZE5hbWUpCiB2
b2lkIFdlYlBhZ2U6OnJlc3RvcmVTZXNzaW9uKGNvbnN0IFZlY3RvcjxCYWNrRm9yd2FyZExpc3RJ
dGVtU3RhdGU+JiBpdGVtU3RhdGVzKQogewogICAgIGZvciAoY29uc3QgYXV0byYgaXRlbVN0YXRl
IDogaXRlbVN0YXRlcykKLSAgICAgICAgV2ViQmFja0ZvcndhcmRMaXN0UHJveHk6OmFkZEl0ZW1G
cm9tVUlQcm9jZXNzKGl0ZW1TdGF0ZS5pZGVudGlmaWVyLCB0b0hpc3RvcnlJdGVtKGl0ZW1TdGF0
ZS5wYWdlU3RhdGUpKTsKKyAgICAgICAgV2ViQmFja0ZvcndhcmRMaXN0UHJveHk6OmFkZEl0ZW1G
cm9tVUlQcm9jZXNzKGl0ZW1TdGF0ZS5pZGVudGlmaWVyLCB0b0hpc3RvcnlJdGVtKGl0ZW1TdGF0
ZS5wYWdlU3RhdGUpLCBtX3BhZ2VJRCk7CiB9CiAKICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQo=
</data>
<flag name="review"
          id="259139"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
      

    </bug>

</bugzilla>