<?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>70287</bug_id>
          
          <creation_ts>2011-10-17 16:52:52 -0700</creation_ts>
          <short_desc>Parse MutationObserverOptions directly into a bitfield</short_desc>
          <delta_ts>2011-10-17 21:30:13 -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>
          
          <blocked>68729</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Klein">adamk</reporter>
          <assigned_to name="Adam Klein">adamk</assigned_to>
          <cc>abarth</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>485631</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Klein">adamk</who>
    <bug_when>2011-10-17 16:52:52 -0700</bug_when>
    <thetext>Parse MutationObserverOptions directly into a bitfield</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485637</commentid>
    <comment_count>1</comment_count>
      <attachid>111349</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2011-10-17 16:56:29 -0700</bug_when>
    <thetext>Created attachment 111349
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485645</commentid>
    <comment_count>2</comment_count>
      <attachid>111349</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-10-17 17:05:45 -0700</bug_when>
    <thetext>Comment on attachment 111349
Patch

Yay! Sam will be proud of us.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485657</commentid>
    <comment_count>3</comment_count>
      <attachid>111354</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2011-10-17 17:22:32 -0700</bug_when>
    <thetext>Created attachment 111354
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485658</commentid>
    <comment_count>4</comment_count>
      <attachid>111355</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2011-10-17 17:24:28 -0700</bug_when>
    <thetext>Created attachment 111355
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485781</commentid>
    <comment_count>5</comment_count>
      <attachid>111355</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-17 21:30:08 -0700</bug_when>
    <thetext>Comment on attachment 111355
Patch for landing

Clearing flags on attachment: 111355

Committed r97714: &lt;http://trac.webkit.org/changeset/97714&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485782</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-17 21:30:13 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111349</attachid>
            <date>2011-10-17 16:56:29 -0700</date>
            <delta_ts>2011-10-17 17:22:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70287-20111017165628.patch</filename>
            <type>text/plain</type>
            <size>19205</size>
            <attacher name="Adam Klein">adamk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTc2NTkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBiMjZlYTNlNjAyYTI5MWMx
OTk1NDVkZjhmOTU4MTA3ODM2MzU1N2E3Li4xZjhiMDA5YTZmMDMxMTkzZjEzYTUxNzBlNWE0NmE2
Nzg5NWJiN2M0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTEtMTAtMTcgIEFkYW0g
S2xlaW4gIDxhZGFta0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUGFyc2UgTXV0YXRpb25PYnNl
cnZlck9wdGlvbnMgZGlyZWN0bHkgaW50byBhIGJpdGZpZWxkCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI4NworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlcGxhY2VzIHRoZSBNdXRhdGlvbk9ic2VydmVy
T3B0aW9ucyBjbGFzcyB3aXRoIGEgdHlwZWRlZiwKKyAgICAgICAgdXNlZCB0byBwYXNzIGEgYml0
ZmllbGQgY29tcG9zZWQgb2YgZW51bXMgZGVmaW5lZCBpbgorICAgICAgICBXZWJLaXRNdXRhdGlv
bk9ic2VydmVyLmguCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGJlY2F1c2Ugbm8gYmVoYXZpb3Ig
c2hvdWxkIGNoYW5nZS4KKworICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAg
ICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAqIFdlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0Rp
Y3Rpb25hcnkuaDogUmVtb3ZlZCBub3ctdW51c2VkIG1ldGhvZC4KKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9KU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpvYnNlcnZlKToKKyAgICAgICAgKiBiaW5kaW5n
cy92OC9jdXN0b20vVjhXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlY4V2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6b2JzZXJ2ZUNhbGxiYWNrKToKKyAg
ICAgICAgKiBkb20vTXV0YXRpb25PYnNlcnZlck9wdGlvbnMuaDogUmVtb3ZlZC4KKyAgICAgICAg
KiBkb20vV2ViS2l0TXV0YXRpb25PYnNlcnZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJL
aXRNdXRhdGlvbk9ic2VydmVyOjpvYnNlcnZlKToKKyAgICAgICAgKiBkb20vV2ViS2l0TXV0YXRp
b25PYnNlcnZlci5oOgorCiAyMDExLTEwLTE3ICBSYWZhZWwgV2VpbnN0ZWluICA8cmFmYWVsd0Bj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgW011dGF0aW9uT2JzZXJ2ZXJzXSBJbXBsZW1lbnQgV2Vi
S2l0TXV0YXRpb25PYnNlcnZlci5vYnNlcnZlIGZvciBhdHRyaWJ1dGVzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFr
ZWZpbGUubGlzdC5hbQppbmRleCA4NTRkYWIwZDdlMTRkODc1ODdjYWFmZTRkOWI1MDgyZjdhYjhj
ODdhLi4xOWY4MWQzYTVjMDljYzUwYzc0NTg5YTQ3MDE3NGE4YWY3ZjIzNmQ1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTEyMzUsNyArMTIzNSw2IEBAIHdlYmNvcmVfc291cmNl
cyArPSBcCiAJU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uQ2FsbGJhY2suaCBcCiAJU291cmNl
L1dlYkNvcmUvZG9tL011dGF0aW9uRXZlbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vTXV0
YXRpb25FdmVudC5oIFwKLQlTb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25PYnNlcnZlck9wdGlv
bnMuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uUmVjb3JkLmNwcCBcCiAJU291cmNl
L1dlYkNvcmUvZG9tL011dGF0aW9uUmVjb3JkLmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9OYW1l
ZE5vZGVNYXAuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCA5Nzk1MmMxYzIwMWQzN2UyZDY0YTVi
N2I3ZWQ1ZTU1ZTUzMDAxY2M5Li42NTk4M2Q3ZDY1Y2ViY2E1M2RmNDQ3MDdlZjg2YzQ4OWU2N2Zh
NTJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC01MjI1LDcgKzUyMjUsNiBAQAogICAgICAgICAgICAg
J2RvbS9NdXRhdGlvbkNhbGxiYWNrLmgnLAogICAgICAgICAgICAgJ2RvbS9NdXRhdGlvbkV2ZW50
LmNwcCcsCiAgICAgICAgICAgICAnZG9tL011dGF0aW9uRXZlbnQuaCcsCi0gICAgICAgICAgICAn
ZG9tL011dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmgnLAogICAgICAgICAgICAgJ2RvbS9NdXRhdGlv
blJlY29yZC5jcHAnLAogICAgICAgICAgICAgJ2RvbS9NdXRhdGlvblJlY29yZC5oJywKICAgICAg
ICAgICAgICdkb20vTmFtZU5vZGVMaXN0LmNwcCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnBybyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCmluZGV4IGIwYzRiZDgw
YTg1Nzc1NDFlOTBkODU4YzcyOWFiNDIwYWZiMTI5ZGYuLmYyOGU0NjU3MGYzYTA3NzAwYmQ2OGJm
M2YwYTM3MjExMDFmZTE0N2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJv
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0xNTUxLDcgKzE1NTEsNiBAQCBI
RUFERVJTICs9IFwKICAgICBkb20vTW91c2VSZWxhdGVkRXZlbnQuaCBcCiAgICAgZG9tL011dGF0
aW9uQ2FsbGJhY2suaCBcCiAgICAgZG9tL011dGF0aW9uRXZlbnQuaCBcCi0gICAgZG9tL011dGF0
aW9uT2JzZXJ2ZXJPcHRpb25zLmggXAogICAgIGRvbS9NdXRhdGlvblJlY29yZC5oIFwKICAgICBk
b20vTmFtZWROb2RlTWFwLmggXAogICAgIGRvbS9OYW1lTm9kZUxpc3QuaCBcCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggY2Y2YjVl
MmJjMGY2YjQ4MzY1YTc2ZmUyNjNjZjVjZDc0NjgyYWEwNC4uM2I5NWUzYzc5MGZiZjk3YWM5MGUw
YTZlMzQ5ODVmYjBkZWViOTcwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNTQ2Nyw3ICs1NDY3LDYgQEAKIAkJQzZGMDkwMEEx
NDMyN0I2MTAwNjg1ODQ5IC8qIE11dGF0aW9uQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM2RjA5MDAxMTQzMjdCNjEwMDY4NTg0OSAvKiBN
dXRhdGlvbkNhbGxiYWNrLmggKi87IH07CiAJCUM2RjA5MDBFMTQzMjdCNjEwMDY4NTg0OSAvKiBX
ZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEM2RjA5MDA1MTQzMjdCNjEwMDY4NTg0OSAvKiBXZWJLaXRNdXRhdGlv
bk9ic2VydmVyLmNwcCAqLzsgfTsKIAkJQzZGMDkwMEYxNDMyN0I2MTAwNjg1ODQ5IC8qIFdlYktp
dE11dGF0aW9uT2JzZXJ2ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEM2RjA5MDA2MTQzMjdCNjEwMDY4NTg0OSAvKiBXZWJLaXRNdXRhdGlvbk9ic2Vy
dmVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJ
QzZGMDkwMTExNDMyN0I2MTAwNjg1ODQ5IC8qIE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYwOTAwODE0MzI3
QjYxMDA2ODU4NDkgLyogTXV0YXRpb25PYnNlcnZlck9wdGlvbnMuaCAqLzsgfTsKIAkJQzZGMDkw
MjgxNDMyN0Q0RjAwNjg1ODQ5IC8qIEpTTXV0YXRpb25DYWxsYmFjay5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYwOTAyMDE0MzI3RDRGMDA2ODU4
NDkgLyogSlNNdXRhdGlvbkNhbGxiYWNrLmNwcCAqLzsgfTsKIAkJQzZGMDkwMjkxNDMyN0Q0RjAw
Njg1ODQ5IC8qIEpTTXV0YXRpb25DYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQzZGMDkwMjExNDMyN0Q0RjAwNjg1ODQ5IC8qIEpTTXV0YXRp
b25DYWxsYmFjay5oICovOyB9OwogCQlDNkYwOTAyQzE0MzI3RDRGMDA2ODU4NDkgLyogSlNXZWJL
aXRNdXRhdGlvbk9ic2VydmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEM2RjA5MDI0MTQzMjdENEYwMDY4NTg0OSAvKiBKU1dlYktpdE11dGF0aW9u
T2JzZXJ2ZXIuY3BwICovOyB9OwpAQCAtMTI3NjcsNyArMTI3NjYsNiBAQAogCQlDNkYwOTAwNTE0
MzI3QjYxMDA2ODU4NDkgLyogV2ViS2l0TXV0YXRpb25PYnNlcnZlci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzZGMDkwMDYxNDMyN0I2MTAwNjg1ODQ5IC8qIFdl
YktpdE11dGF0aW9uT2JzZXJ2ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
V2ViS2l0TXV0YXRpb25PYnNlcnZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlD
NkYwOTAwNzE0MzI3QjYxMDA2ODU4NDkgLyogV2ViS2l0TXV0YXRpb25PYnNlcnZlci5pZGwgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViS2l0TXV0YXRpb25PYnNlcnZlci5pZGw7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUM2RjA5MDA4MTQzMjdCNjEwMDY4NTg0OSAvKiBNdXRhdGlv
bk9ic2VydmVyT3B0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNdXRh
dGlvbk9ic2VydmVyT3B0aW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDNkYw
OTAyMDE0MzI3RDRGMDA2ODU4NDkgLyogSlNNdXRhdGlvbkNhbGxiYWNrLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTXV0YXRpb25DYWxsYmFjay5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUM2RjA5MDIxMTQzMjdENEYwMDY4NTg0OSAvKiBKU011
dGF0aW9uQ2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNdXRh
dGlvbkNhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUM2RjA5MDI0MTQz
MjdENEYwMDY4NTg0OSAvKiBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIxMTIyLDcgKzIxMTIwLDYgQEAKIAkJCQk4
NTAzMUIzMzBBNDRFRkM3MDBGOTkyRTAgLyogTXV0YXRpb25FdmVudC5jcHAgKi8sCiAJCQkJODUw
MzFCMzQwQTQ0RUZDNzAwRjk5MkUwIC8qIE11dGF0aW9uRXZlbnQuaCAqLywKIAkJCQk5M0VFQzFG
MzA5QzI4Nzc3MDBDNTE1RDEgLyogTXV0YXRpb25FdmVudC5pZGwgKi8sCi0JCQkJQzZGMDkwMDgx
NDMyN0I2MTAwNjg1ODQ5IC8qIE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmggKi8sCiAJCQkJQzZG
MDhGQjkxNDMwRkU4RjAwNjg1ODQ5IC8qIE11dGF0aW9uUmVjb3JkLmNwcCAqLywKIAkJCQlDNkYw
OEZCQTE0MzBGRThGMDA2ODU4NDkgLyogTXV0YXRpb25SZWNvcmQuaCAqLywKIAkJCQlDNkYwOEZC
QjE0MzBGRThGMDA2ODU4NDkgLyogTXV0YXRpb25SZWNvcmQuaWRsICovLApAQCAtMjM2MjgsNyAr
MjM2MjUsNiBAQAogCQkJCUIxQUQ0RTYzMTNBMTJBMEIwMDg0NkIyNyAvKiBNdXRhYmxlVGV4dFRy
YWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQlDNkYwOTAwQTE0MzI3QjYxMDA2ODU4NDkgLyogTXV0
YXRpb25DYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODUwMzFCNEEwQTQ0RUZDNzAwRjk5
MkUwIC8qIE11dGF0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovLAotCQkJCUM2RjA5MDExMTQzMjdC
NjEwMDY4NTg0OSAvKiBNdXRhdGlvbk9ic2VydmVyT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQzZGMDhGQkQxNDMwRkU4RjAwNjg1ODQ5IC8qIE11dGF0aW9uUmVjb3JkLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlBODE4NzIyMzA5NzdEM0MwMDA1ODI2RDkgLyogTmFtZWROb2RlTWFwLmggaW4g
SGVhZGVycyAqLywKIAkJCQlBODE4NzIxRTA5NzdEM0MwMDA1ODI2RDkgLyogTmFtZU5vZGVMaXN0
LmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRGljdGlvbmFyeS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEaWN0aW9uYXJ5
LmgKaW5kZXggZjE4MGJhNTMxYjQ5YzdmNTk3ZmE5YmZhNTI2ZjNkYmJiNDkzNzhiMy4uNzc5MGQ3
MGZlMTlkZDdkMjM3NDZiNzZmZjQ2MDI1ZDNlODcyZGI4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNEaWN0aW9uYXJ5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNEaWN0aW9uYXJ5LmgKQEAgLTUyLDkgKzUyLDYgQEAgcHVibGljOgogICAgIHRl
bXBsYXRlIDx0eXBlbmFtZSBULCB0eXBlbmFtZSBSZXN1bHQ+CiAgICAgYm9vbCB0cnlHZXRQcm9w
ZXJ0eShjb25zdCBjaGFyKiBwcm9wZXJ0eU5hbWUsIFQqIGNvbnRleHQsIHZvaWQgKCpzZXR0ZXIp
KFQqIGNvbnRleHQsIGNvbnN0IFJlc3VsdCYpKTsKIAotICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBU
PgotICAgIGJvb2wgdHJ5R2V0UHJvcGVydHkoY29uc3QgY2hhciogcHJvcGVydHlOYW1lLCBUJiBj
b250ZXh0LCB2b2lkIChUOjoqc2V0dGVyKShib29sKSk7Ci0KIHByaXZhdGU6CiAgICAgZW51bSBH
ZXRQcm9wZXJ0eVJlc3VsdCB7CiAgICAgICAgIEV4Y2VwdGlvblRocm93biwKQEAgLTEwNiwzMCAr
MTAzLDYgQEAgYm9vbCBKU0RpY3Rpb25hcnk6OnRyeUdldFByb3BlcnR5KGNvbnN0IGNoYXIqIHBy
b3BlcnR5TmFtZSwgVCogY29udGV4dCwgdm9pZCAoKnMKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAot
dGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci1ib29sIEpTRGljdGlvbmFyeTo6dHJ5R2V0UHJvcGVydHko
Y29uc3QgY2hhciogcHJvcGVydHlOYW1lLCBUJiBjb250ZXh0LCB2b2lkIChUOjoqc2V0dGVyKShi
b29sKSkKLXsKLSAgICBKU0M6OkpTVmFsdWUgdmFsdWU7Ci0gICAgc3dpdGNoICh0cnlHZXRQcm9w
ZXJ0eShwcm9wZXJ0eU5hbWUsIHZhbHVlKSkgewotICAgIGNhc2UgRXhjZXB0aW9uVGhyb3duOgot
ICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgY2FzZSBQcm9wZXJ0eUZvdW5kOiB7Ci0gICAgICAg
IGJvb2wgcmVzdWx0OwotICAgICAgICBjb252ZXJ0VmFsdWUobV9leGVjLCB2YWx1ZSwgcmVzdWx0
KTsKLQotICAgICAgICBpZiAobV9leGVjLT5oYWRFeGNlcHRpb24oKSkKLSAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKLQotICAgICAgICAoY29udGV4dC4qc2V0dGVyKShyZXN1bHQpOwotICAgICAg
ICBicmVhazsKLSAgICB9Ci0gICAgY2FzZSBOb1Byb3BlcnR5Rm91bmQ6Ci0gICAgICAgIGJyZWFr
OwotICAgIH0KLQotICAgIHJldHVybiB0cnVlOwotfQotCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgUmVz
dWx0PgogYm9vbCBKU0RpY3Rpb25hcnk6OnRyeUdldFByb3BlcnR5KGNvbnN0IGNoYXIqIHByb3Bl
cnR5TmFtZSwgUmVzdWx0JiBmaW5hbFJlc3VsdCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTV2ViS2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3Bw
CmluZGV4IDc2NmI1OWZiOGI4ODdkNjEzM2ZhYmE5MjUxN2VmZDUyZTljNjE4NjUuLmNkNjEzZmYx
NjBlNTc3NzIzZjM1Y2YyMmU1MWIxZDYxOGI1MGMzMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTV2ViS2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ3VzdG9t
LmNwcApAQCAtMzgsNyArMzgsNiBAQAogI2luY2x1ZGUgIkpTRGljdGlvbmFyeS5oIgogI2luY2x1
ZGUgIkpTTXV0YXRpb25DYWxsYmFjay5oIgogI2luY2x1ZGUgIkpTTm9kZS5oIgotI2luY2x1ZGUg
Ik11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmgiCiAjaW5jbHVkZSAiTm9kZS5oIgogI2luY2x1ZGUg
IldlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaCIKICNpbmNsdWRlIDxydW50aW1lL0Vycm9yLmg+CkBA
IC03OCwxNyArNzcsMjMgQEAgSlNWYWx1ZSBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXI6Om9ic2Vy
dmUoRXhlY1N0YXRlKiBleGVjKQogICAgIH0KIAogICAgIEpTRGljdGlvbmFyeSBkaWN0aW9uYXJ5
KGV4ZWMsIG9wdGlvbnNPYmplY3QpOworICAgIE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zIG9wdGlv
bnMgPSAwOworICAgIGJvb2wgb3B0aW9uOworICAgIGlmIChkaWN0aW9uYXJ5LnRyeUdldFByb3Bl
cnR5KCJjaGlsZExpc3QiLCBvcHRpb24pICYmIG9wdGlvbikKKyAgICAgICAgb3B0aW9ucyB8PSBX
ZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpDaGlsZExpc3Q7CisgICAgaWYgKGRpY3Rpb25hcnkudHJ5
R2V0UHJvcGVydHkoImF0dHJpYnV0ZXMiLCBvcHRpb24pICYmIG9wdGlvbikKKyAgICAgICAgb3B0
aW9ucyB8PSBXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpBdHRyaWJ1dGVzOworICAgIGlmIChkaWN0
aW9uYXJ5LnRyeUdldFByb3BlcnR5KCJzdWJ0cmVlIiwgb3B0aW9uKSAmJiBvcHRpb24pCisgICAg
ICAgIG9wdGlvbnMgfD0gV2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6U3VidHJlZTsKKyAgICBpZiAo
ZGljdGlvbmFyeS50cnlHZXRQcm9wZXJ0eSgiYXR0cmlidXRlT2xkVmFsdWUiLCBvcHRpb24pICYm
IG9wdGlvbikKKyAgICAgICAgb3B0aW9ucyB8PSBXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpBdHRy
aWJ1dGVPbGRWYWx1ZTsKKyAgICBpZiAoZGljdGlvbmFyeS50cnlHZXRQcm9wZXJ0eSgiY2hhcmFj
dGVyRGF0YU9sZFZhbHVlIiwgb3B0aW9uKSAmJiBvcHRpb24pCisgICAgICAgIG9wdGlvbnMgfD0g
V2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6Q2hhcmFjdGVyRGF0YU9sZFZhbHVlOwogCi0gICAgUmVm
UHRyPE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zPiBvcHRpb25zID0gTXV0YXRpb25PYnNlcnZlck9w
dGlvbnM6OmNyZWF0ZSgpOwotICAgIGlmICghZGljdGlvbmFyeS50cnlHZXRQcm9wZXJ0eSgiY2hp
bGRMaXN0IiwgKm9wdGlvbnMsICZNdXRhdGlvbk9ic2VydmVyT3B0aW9uczo6c2V0Q2hpbGRMaXN0
KQotICAgICAgICB8fCAhZGljdGlvbmFyeS50cnlHZXRQcm9wZXJ0eSgiYXR0cmlidXRlcyIsICpv
cHRpb25zLCAmTXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OnNldEF0dHJpYnV0ZXMpCi0gICAgICAg
IHx8ICFkaWN0aW9uYXJ5LnRyeUdldFByb3BlcnR5KCJjaGFyYWN0ZXJEYXRhIiwgKm9wdGlvbnMs
ICZNdXRhdGlvbk9ic2VydmVyT3B0aW9uczo6c2V0Q2hhcmFjdGVyRGF0YSkKLSAgICAgICAgfHwg
IWRpY3Rpb25hcnkudHJ5R2V0UHJvcGVydHkoInN1YnRyZWUiLCAqb3B0aW9ucywgJk11dGF0aW9u
T2JzZXJ2ZXJPcHRpb25zOjpzZXRTdWJ0cmVlKQotICAgICAgICB8fCAhZGljdGlvbmFyeS50cnlH
ZXRQcm9wZXJ0eSgiYXR0cmlidXRlT2xkVmFsdWUiLCAqb3B0aW9ucywgJk11dGF0aW9uT2JzZXJ2
ZXJPcHRpb25zOjpzZXRBdHRyaWJ1dGVPbGRWYWx1ZSkKLSAgICAgICAgfHwgIWRpY3Rpb25hcnku
dHJ5R2V0UHJvcGVydHkoImNoYXJhY3RlckRhdGFPbGRWYWx1ZSIsICpvcHRpb25zLCAmTXV0YXRp
b25PYnNlcnZlck9wdGlvbnM6OnNldENoYXJhY3RlckRhdGFPbGRWYWx1ZSkpCisgICAgaWYgKGV4
ZWMtPmhhZEV4Y2VwdGlvbigpKQogICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKIAotICAg
IGltcGwoKS0+b2JzZXJ2ZSh0YXJnZXQsIG9wdGlvbnMuZ2V0KCkpOworICAgIGltcGwoKS0+b2Jz
ZXJ2ZSh0YXJnZXQsIG9wdGlvbnMpOwogICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXZWJLaXRNdXRh
dGlvbk9ic2VydmVyQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOFdlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwCmluZGV4IDllMjhmZTk4N2Q0OGU1
NDMxM2Y2MjJmNzY3OGFlZGMzNzM4MjAwMTYuLjg4MDY4ODNiMGU4MzNlY2VkYTYwMWEyZDA5YzY5
NTE2NGQxYThjNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOFdlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwCkBA
IC0zNSw3ICszNSw2IEBACiAjaW5jbHVkZSAiVjhXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmgiCiAK
ICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCi0jaW5jbHVkZSAiTXV0YXRpb25PYnNlcnZlck9w
dGlvbnMuaCIKICNpbmNsdWRlICJPcHRpb25zT2JqZWN0LmgiCiAjaW5jbHVkZSAiVjhCaW5kaW5n
LmgiCiAjaW5jbHVkZSAiVjhCaW5kaW5nTWFjcm9zLmgiCkBAIC04NiwyMyArODUsMjIgQEAgdjg6
OkhhbmRsZTx2ODo6VmFsdWU+IFY4V2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6b2JzZXJ2ZUNhbGxi
YWNrKGNvbnN0IHY4OjpBcmd1bWUKICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoVFlQRV9NSVNN
QVRDSF9FUlIpOwogCiAgICAgT3B0aW9uc09iamVjdCBvcHRpb25zT2JqZWN0KGFyZ3NbMV0pOwot
ICAgIFJlZlB0cjxNdXRhdGlvbk9ic2VydmVyT3B0aW9ucz4gb3B0aW9ucyA9IE11dGF0aW9uT2Jz
ZXJ2ZXJPcHRpb25zOjpjcmVhdGUoKTsKLQorICAgIHVuc2lnbmVkIG9wdGlvbnMgPSAwOwogICAg
IGJvb2wgb3B0aW9uOwotICAgIGlmIChvcHRpb25zT2JqZWN0LmdldEtleVZhbHVlKCJjaGlsZExp
c3QiLCBvcHRpb24pKQotICAgICAgICBvcHRpb25zLT5zZXRDaGlsZExpc3Qob3B0aW9uKTsKLSAg
ICBpZiAob3B0aW9uc09iamVjdC5nZXRLZXlWYWx1ZSgiYXR0cmlidXRlcyIsIG9wdGlvbikpCi0g
ICAgICAgIG9wdGlvbnMtPnNldEF0dHJpYnV0ZXMob3B0aW9uKTsKLSAgICBpZiAob3B0aW9uc09i
amVjdC5nZXRLZXlWYWx1ZSgiY2hhcmFjdGVyRGF0YSIsIG9wdGlvbikpCi0gICAgICAgIG9wdGlv
bnMtPnNldENoYXJhY3RlckRhdGEob3B0aW9uKTsKLSAgICBpZiAob3B0aW9uc09iamVjdC5nZXRL
ZXlWYWx1ZSgic3VidHJlZSIsIG9wdGlvbikpCi0gICAgICAgIG9wdGlvbnMtPnNldFN1YnRyZWUo
b3B0aW9uKTsKLSAgICBpZiAob3B0aW9uc09iamVjdC5nZXRLZXlWYWx1ZSgiYXR0cmlidXRlT2xk
VmFsdWUiLCBvcHRpb24pKQotICAgICAgICBvcHRpb25zLT5zZXRBdHRyaWJ1dGVPbGRWYWx1ZShv
cHRpb24pOwotICAgIGlmIChvcHRpb25zT2JqZWN0LmdldEtleVZhbHVlKCJjaGFyYWN0ZXJEYXRh
T2xkVmFsdWUiLCBvcHRpb24pKQotICAgICAgICBvcHRpb25zLT5zZXRDaGFyYWN0ZXJEYXRhT2xk
VmFsdWUob3B0aW9uKTsKLQotICAgIGltcC0+b2JzZXJ2ZSh0YXJnZXQsIG9wdGlvbnMuZ2V0KCkp
OworICAgIGlmIChvcHRpb25zT2JqZWN0LmdldEtleVZhbHVlKCJjaGlsZExpc3QiLCBvcHRpb24p
ICYmIG9wdGlvbikKKyAgICAgICAgb3B0aW9ucyB8PSBXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpD
aGlsZExpc3Q7CisgICAgaWYgKG9wdGlvbnNPYmplY3QuZ2V0S2V5VmFsdWUoImF0dHJpYnV0ZXMi
LCBvcHRpb24pICYmIG9wdGlvbikKKyAgICAgICAgb3B0aW9ucyB8PSBXZWJLaXRNdXRhdGlvbk9i
c2VydmVyOjpBdHRyaWJ1dGVzOworICAgIGlmIChvcHRpb25zT2JqZWN0LmdldEtleVZhbHVlKCJj
aGFyYWN0ZXJEYXRhIiwgb3B0aW9uKSAmJiBvcHRpb24pCisgICAgICAgIG9wdGlvbnMgfD0gV2Vi
S2l0TXV0YXRpb25PYnNlcnZlcjo6Q2hhcmFjdGVyRGF0YTsKKyAgICBpZiAob3B0aW9uc09iamVj
dC5nZXRLZXlWYWx1ZSgic3VidHJlZSIsIG9wdGlvbikgJiYgb3B0aW9uKQorICAgICAgICBvcHRp
b25zIHw9IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXI6OlN1YnRyZWU7CisgICAgaWYgKG9wdGlvbnNP
YmplY3QuZ2V0S2V5VmFsdWUoImF0dHJpYnV0ZU9sZFZhbHVlIiwgb3B0aW9uKSAmJiBvcHRpb24p
CisgICAgICAgIG9wdGlvbnMgfD0gV2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6QXR0cmlidXRlT2xk
VmFsdWU7CisgICAgaWYgKG9wdGlvbnNPYmplY3QuZ2V0S2V5VmFsdWUoImNoYXJhY3RlckRhdGFP
bGRWYWx1ZSIsIG9wdGlvbikgJiYgb3B0aW9uKQorICAgICAgICBvcHRpb25zIHw9IFdlYktpdE11
dGF0aW9uT2JzZXJ2ZXI6OkNoYXJhY3RlckRhdGFPbGRWYWx1ZTsKKworICAgIGltcC0+b2JzZXJ2
ZSh0YXJnZXQsIG9wdGlvbnMpOwogICAgIHJldHVybiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4oKTsK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uT2JzZXJ2ZXJPcHRp
b25zLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25PYnNlcnZlck9wdGlvbnMuaApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2ZlNWQxY2QyODRiZDFmNGI4NDM2N2E5ZTZkNWE3
MTZmZmViYzNkZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25PYnNlcnZlck9wdGlvbnMuaAorKysgL2Rldi9u
dWxsCkBAIC0xLDkyICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUKLSAqIG1ldDoKLSAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lcgotICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20KLSAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgot
ICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zX2gKLSNk
ZWZpbmUgTXV0YXRpb25PYnNlcnZlck9wdGlvbnNfaAotCi0jaWYgRU5BQkxFKE1VVEFUSU9OX09C
U0VSVkVSUykKLQotI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL1Jl
ZkNvdW50ZWQuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBNdXRhdGlvbk9ic2Vy
dmVyT3B0aW9ucyA6IHB1YmxpYyBSZWZDb3VudGVkPE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zPiB7
Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8TXV0YXRpb25PYnNlcnZlck9wdGlvbnM+
IGNyZWF0ZSgpCi0gICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IE11dGF0aW9uT2Jz
ZXJ2ZXJPcHRpb25zKTsKLSAgICB9Ci0KLSAgICBib29sIGNoaWxkTGlzdCgpIGNvbnN0IHsgcmV0
dXJuIG1fY2hpbGRMaXN0OyB9Ci0gICAgdm9pZCBzZXRDaGlsZExpc3QoYm9vbCB2YWx1ZSkgeyBt
X2NoaWxkTGlzdCA9IHZhbHVlOyB9Ci0KLSAgICBib29sIGF0dHJpYnV0ZXMoKSBjb25zdCB7IHJl
dHVybiBtX2F0dHJpYnV0ZXM7IH0KLSAgICB2b2lkIHNldEF0dHJpYnV0ZXMoYm9vbCB2YWx1ZSkg
eyBtX2F0dHJpYnV0ZXMgPSB2YWx1ZTsgfQotCi0gICAgYm9vbCBjaGFyYWN0ZXJEYXRhKCkgY29u
c3QgeyByZXR1cm4gbV9jaGFyYWN0ZXJEYXRhOyB9Ci0gICAgdm9pZCBzZXRDaGFyYWN0ZXJEYXRh
KGJvb2wgdmFsdWUpIHsgbV9jaGFyYWN0ZXJEYXRhID0gdmFsdWU7IH0KLQotICAgIGJvb2wgc3Vi
dHJlZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3VidHJlZTsgfQotICAgIHZvaWQgc2V0U3VidHJlZShi
b29sIHZhbHVlKSB7IG1fc3VidHJlZSA9IHZhbHVlOyB9Ci0KLSAgICBib29sIGF0dHJpYnV0ZU9s
ZFZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9hdHRyaWJ1dGVPbGRWYWx1ZTsgfQotICAgIHZvaWQg
c2V0QXR0cmlidXRlT2xkVmFsdWUoYm9vbCB2YWx1ZSkgeyBtX2F0dHJpYnV0ZU9sZFZhbHVlID0g
dmFsdWU7IH0KLQotICAgIGJvb2wgY2hhcmFjdGVyRGF0YU9sZFZhbHVlKCkgY29uc3QgeyByZXR1
cm4gbV9hdHRyaWJ1dGVPbGRWYWx1ZTsgfQotICAgIHZvaWQgc2V0Q2hhcmFjdGVyRGF0YU9sZFZh
bHVlKGJvb2wgdmFsdWUpIHsgbV9jaGFyYWN0ZXJEYXRhT2xkVmFsdWUgPSB2YWx1ZTsgfQotCi0g
ICAgLy8gRklYTUU6IEZpZ3VyZSBvdXQgaG93IHRvIG1vZGVsIHRoaXMgYmFzZWQgb24gdGhlIElE
TC4KLSAgICAvLyBET01TdHJpbmdbXSBhdHRyaWJ1dGVGaWx0ZXI7Ci0KLXByaXZhdGU6Ci0gICAg
TXV0YXRpb25PYnNlcnZlck9wdGlvbnMoKQotICAgICAgICA6IG1fY2hpbGRMaXN0KGZhbHNlKQot
ICAgICAgICAsIG1fYXR0cmlidXRlcyhmYWxzZSkKLSAgICAgICAgLCBtX2NoYXJhY3RlckRhdGEo
ZmFsc2UpCi0gICAgICAgICwgbV9zdWJ0cmVlKGZhbHNlKQotICAgICAgICAsIG1fYXR0cmlidXRl
T2xkVmFsdWUoZmFsc2UpCi0gICAgICAgICwgbV9jaGFyYWN0ZXJEYXRhT2xkVmFsdWUoZmFsc2Up
Ci0gICAgewotICAgIH0KLQotICAgIGJvb2wgbV9jaGlsZExpc3Q7Ci0gICAgYm9vbCBtX2F0dHJp
YnV0ZXM7Ci0gICAgYm9vbCBtX2NoYXJhY3RlckRhdGE7Ci0gICAgYm9vbCBtX3N1YnRyZWU7Ci0g
ICAgYm9vbCBtX2F0dHJpYnV0ZU9sZFZhbHVlOwotICAgIGJvb2wgbV9jaGFyYWN0ZXJEYXRhT2xk
VmFsdWU7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUo
TVVUQVRJT05fT0JTRVJWRVJTKQotCi0jZW5kaWYgLy8gTXV0YXRpb25PYnNlcnZlck9wdGlvbnNf
aApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwCmluZGV4
IGJiZmU0Y2I5ZjRhOWFjYmQzOTI3ZmM1ODIzZjg1NmYzYzE0Mjc0NzcuLjdkNzM2YWU3YmFjNjRj
NDU4OGZjYmEyZmMzZDNiNzc1Mjk3YmRlMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vV2Vi
S2l0TXV0YXRpb25PYnNlcnZlci5jcHAKQEAgLTM0LDcgKzM0LDYgQEAKIAogI2luY2x1ZGUgIldl
YktpdE11dGF0aW9uT2JzZXJ2ZXIuaCIKIAotI2luY2x1ZGUgIk11dGF0aW9uT2JzZXJ2ZXJPcHRp
b25zLmgiCiAjaW5jbHVkZSAiTXV0YXRpb25DYWxsYmFjay5oIgogI2luY2x1ZGUgIk11dGF0aW9u
UmVjb3JkLmgiCiAjaW5jbHVkZSAiTm9kZS5oIgpAQCAtNTYsMjAgKzU1LDExIEBAIFdlYktpdE11
dGF0aW9uT2JzZXJ2ZXI6On5XZWJLaXRNdXRhdGlvbk9ic2VydmVyKCkKIHsKIH0KIAotdm9pZCBX
ZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpvYnNlcnZlKE5vZGUqIG5vZGUsIE11dGF0aW9uT2JzZXJ2
ZXJPcHRpb25zKiBvcHRpb25zKQordm9pZCBXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpvYnNlcnZl
KE5vZGUqIG5vZGUsIE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zIG9wdGlvbnMpCiB7Ci0gICAgdW5z
aWduZWQgY2hhciBvcHRpb25GbGFncyA9IDA7Ci0KLSAgICAvLyBGSVhNRTogUHVzaCBjb21wb3Np
dGlvbiBvZiB0aGUgb3B0aW9uRmxhZ3MgaW50byB0aGUgY3VzdG9tIGJpbmRpbmcuCi0gICAgaWYg
KG9wdGlvbnMtPmNoaWxkTGlzdCgpKQotICAgICAgICBvcHRpb25GbGFncyB8PSBDaGlsZExpc3Q7
Ci0gICAgaWYgKG9wdGlvbnMtPmF0dHJpYnV0ZXMoKSkKLSAgICAgICAgb3B0aW9uRmxhZ3MgfD0g
QXR0cmlidXRlczsKLSAgICBpZiAob3B0aW9ucy0+Y2hhcmFjdGVyRGF0YSgpKQotICAgICAgICBv
cHRpb25GbGFncyB8PSBDaGFyYWN0ZXJEYXRhOwotICAgIC8vIEZJWE1FOiBNb3JlIG9wdGlvbnMg
Y29tcG9zaXRpb24gd29yayBuZWVkcyB0byBiZSBkb25lIGhlcmUuCi0KLSAgICBpZiAobm9kZS0+
cmVnaXN0ZXJNdXRhdGlvbk9ic2VydmVyKHRoaXMsIG9wdGlvbkZsYWdzKSA9PSBOb2RlOjpNdXRh
dGlvbk9ic2VydmVyUmVnaXN0ZXJlZCkKKyAgICAvLyBGSVhNRTogTW9yZSBvcHRpb25zIGNvbXBv
c2l0aW9uIHdvcmsgbmVlZHMgdG8gYmUgZG9uZSBoZXJlLCBlLmcuLCB2YWxpZGF0aW9uLgorCisg
ICAgaWYgKG5vZGUtPnJlZ2lzdGVyTXV0YXRpb25PYnNlcnZlcih0aGlzLCBvcHRpb25zKSA9PSBO
b2RlOjpNdXRhdGlvbk9ic2VydmVyUmVnaXN0ZXJlZCkKICAgICAgICAgbV9vYnNlcnZlZE5vZGVz
LmFwcGVuZChub2RlKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1dlYktp
dE11dGF0aW9uT2JzZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRNdXRhdGlvbk9i
c2VydmVyLmgKaW5kZXggNmMxOTVmZWNjZWNmN2YyZjEyYjhlYmVlMjJmMTNjM2U2ODg5MzllNS4u
ZmMzMjg2MDk5ODRhYTEyMWEzY2JmODY5NDQwNDYxZWIyY2E2NTk4ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vV2ViS2l0TXV0YXRpb25PYnNlcnZlci5oCkBAIC00MSwxMCArNDEsMTEgQEAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgTXV0YXRpb25DYWxsYmFjazsKLWNsYXNzIE11dGF0
aW9uT2JzZXJ2ZXJPcHRpb25zOwogY2xhc3MgTXV0YXRpb25SZWNvcmQ7CiBjbGFzcyBOb2RlOwog
Cit0eXBlZGVmIHVuc2lnbmVkIGNoYXIgTXV0YXRpb25PYnNlcnZlck9wdGlvbnM7CisKIGNsYXNz
IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJLaXRNdXRhdGlv
bk9ic2VydmVyPiB7CiBwdWJsaWM6CiAgICAgZW51bSBNdXRhdGlvblR5cGUgewpAQCAtNjUsNyAr
NjYsNyBAQCBwdWJsaWM6CiAKICAgICB+V2ViS2l0TXV0YXRpb25PYnNlcnZlcigpOwogCi0gICAg
dm9pZCBvYnNlcnZlKE5vZGUqLCBNdXRhdGlvbk9ic2VydmVyT3B0aW9ucyopOworICAgIHZvaWQg
b2JzZXJ2ZShOb2RlKiwgTXV0YXRpb25PYnNlcnZlck9wdGlvbnMpOwogICAgIHZvaWQgZGlzY29u
bmVjdCgpOwogICAgIHZvaWQgb2JzZXJ2ZWROb2RlRGVzdHJ1Y3RlZChOb2RlKik7CiAgICAgdm9p
ZCBlbnF1ZXVlTXV0YXRpb25SZWNvcmQoUGFzc1JlZlB0cjxNdXRhdGlvblJlY29yZD4pOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111354</attachid>
            <date>2011-10-17 17:22:32 -0700</date>
            <delta_ts>2011-10-17 17:24:25 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-70287-20111017172231.patch</filename>
            <type>text/plain</type>
            <size>21704</size>
            <attacher name="Adam Klein">adamk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTc2NTkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBiMjZlYTNlNjAyYTI5MWMx
OTk1NDVkZjhmOTU4MTA3ODM2MzU1N2E3Li4zMWZkZjE0MzdiY2EyNDU2ZGQ5YjkyMTkyZTkyNmMy
NWMzODc4YjUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTEtMTAtMTcgIEFkYW0g
S2xlaW4gIDxhZGFta0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUGFyc2UgTXV0YXRpb25PYnNl
cnZlck9wdGlvbnMgZGlyZWN0bHkgaW50byBhIGJpdGZpZWxkCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI4NworCisgICAgICAgIFJldmlld2VkIGJ5
IFJ5b3N1a2UgTml3YS4KKworICAgICAgICBSZXBsYWNlcyB0aGUgTXV0YXRpb25PYnNlcnZlck9w
dGlvbnMgY2xhc3Mgd2l0aCBhIHR5cGVkZWYsCisgICAgICAgIHVzZWQgdG8gcGFzcyBhIGJpdGZp
ZWxkIGNvbXBvc2VkIG9mIGVudW1zIGRlZmluZWQgaW4KKyAgICAgICAgV2ViS2l0TXV0YXRpb25P
YnNlcnZlci5oLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBiZWNhdXNlIG5vIGJlaGF2aW9yIHNo
b3VsZCBjaGFuZ2UuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAq
IFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnBybzoKKyAgICAgICAgKiBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvSlNEaWN0
aW9uYXJ5Lmg6IFJlbW92ZWQgbm93LXVudXNlZCBtZXRob2QuCisgICAgICAgICogYmluZGluZ3Mv
anMvSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkpTV2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6b2JzZXJ2ZSk6CisgICAgICAgICogYmluZGluZ3Mv
djgvY3VzdG9tL1Y4V2ViS2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpWOFdlYktpdE11dGF0aW9uT2JzZXJ2ZXI6Om9ic2VydmVDYWxsYmFjayk6CisgICAg
ICAgICogZG9tL011dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmg6IFJlbW92ZWQuCisgICAgICAgICog
ZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0
TXV0YXRpb25PYnNlcnZlcjo6b2JzZXJ2ZSk6CisgICAgICAgICogZG9tL1dlYktpdE11dGF0aW9u
T2JzZXJ2ZXIuaDoKKwogMjAxMS0xMC0xNyAgUmFmYWVsIFdlaW5zdGVpbiAgPHJhZmFlbHdAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFtNdXRhdGlvbk9ic2VydmVyc10gSW1wbGVtZW50IFdlYktp
dE11dGF0aW9uT2JzZXJ2ZXIub2JzZXJ2ZSBmb3IgYXR0cmlidXRlcwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmxpc3QuYW0KaW5kZXggODU0ZGFiMGQ3ZTE0ZDg3NTg3Y2FhZmU0ZDliNTA4MmY3YWI4Yzg3
YS4uMTlmODFkM2E1YzA5Y2M1MGM3NDU4OWE0NzAxNzRhOGFmN2YyMzZkNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCkBAIC0xMjM1LDcgKzEyMzUsNiBAQCB3ZWJjb3JlX3NvdXJjZXMg
Kz0gXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbkNhbGxiYWNrLmggXAogCVNvdXJjZS9X
ZWJDb3JlL2RvbS9NdXRhdGlvbkV2ZW50LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL011dGF0
aW9uRXZlbnQuaCBcCi0JU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uT2JzZXJ2ZXJPcHRpb25z
LmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvblJlY29yZC5jcHAgXAogCVNvdXJjZS9X
ZWJDb3JlL2RvbS9NdXRhdGlvblJlY29yZC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vTmFtZWRO
b2RlTWFwLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggOTc5NTJjMWMyMDFkMzdlMmQ2NGE1Yjdi
N2VkNWU1NWU1MzAwMWNjOS4uNjU5ODNkN2Q2NWNlYmNhNTNkZjQ0NzA3ZWY4NmM0ODllNjdmYTUy
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtNTIyNSw3ICs1MjI1LDYgQEAKICAgICAgICAgICAgICdk
b20vTXV0YXRpb25DYWxsYmFjay5oJywKICAgICAgICAgICAgICdkb20vTXV0YXRpb25FdmVudC5j
cHAnLAogICAgICAgICAgICAgJ2RvbS9NdXRhdGlvbkV2ZW50LmgnLAotICAgICAgICAgICAgJ2Rv
bS9NdXRhdGlvbk9ic2VydmVyT3B0aW9ucy5oJywKICAgICAgICAgICAgICdkb20vTXV0YXRpb25S
ZWNvcmQuY3BwJywKICAgICAgICAgICAgICdkb20vTXV0YXRpb25SZWNvcmQuaCcsCiAgICAgICAg
ICAgICAnZG9tL05hbWVOb2RlTGlzdC5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5wcm8gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybwppbmRleCBiMGM0YmQ4MGE4
NTc3NTQxZTkwZDg1OGM3MjlhYjQyMGFmYjEyOWRmLi5mMjhlNDY1NzBmM2EwNzcwMGJkNjhiZjNm
MGEzNzIxMTAxZmUxNDdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybwpAQCAtMTU1MSw3ICsxNTUxLDYgQEAgSEVB
REVSUyArPSBcCiAgICAgZG9tL01vdXNlUmVsYXRlZEV2ZW50LmggXAogICAgIGRvbS9NdXRhdGlv
bkNhbGxiYWNrLmggXAogICAgIGRvbS9NdXRhdGlvbkV2ZW50LmggXAotICAgIGRvbS9NdXRhdGlv
bk9ic2VydmVyT3B0aW9ucy5oIFwKICAgICBkb20vTXV0YXRpb25SZWNvcmQuaCBcCiAgICAgZG9t
L05hbWVkTm9kZU1hcC5oIFwKICAgICBkb20vTmFtZU5vZGVMaXN0LmggXApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGNmNmI1ZTJi
YzBmNmI0ODM2NWE3NmZlMjYzY2Y1Y2Q3NDY4MmFhMDQuLjNiOTVlM2M3OTBmYmY5N2FjOTBlMGE2
ZTM0OTg1ZmIwZGVlYjk3MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTU0NjcsNyArNTQ2Nyw2IEBACiAJCUM2RjA5MDBBMTQz
MjdCNjEwMDY4NTg0OSAvKiBNdXRhdGlvbkNhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYwOTAwMTE0MzI3QjYxMDA2ODU4NDkgLyogTXV0
YXRpb25DYWxsYmFjay5oICovOyB9OwogCQlDNkYwOTAwRTE0MzI3QjYxMDA2ODU4NDkgLyogV2Vi
S2l0TXV0YXRpb25PYnNlcnZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDNkYwOTAwNTE0MzI3QjYxMDA2ODU4NDkgLyogV2ViS2l0TXV0YXRpb25P
YnNlcnZlci5jcHAgKi87IH07CiAJCUM2RjA5MDBGMTQzMjdCNjEwMDY4NTg0OSAvKiBXZWJLaXRN
dXRhdGlvbk9ic2VydmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDNkYwOTAwNjE0MzI3QjYxMDA2ODU4NDkgLyogV2ViS2l0TXV0YXRpb25PYnNlcnZl
ci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCUM2
RjA5MDExMTQzMjdCNjEwMDY4NTg0OSAvKiBNdXRhdGlvbk9ic2VydmVyT3B0aW9ucy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzZGMDkwMDgxNDMyN0I2
MTAwNjg1ODQ5IC8qIE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmggKi87IH07CiAJCUM2RjA5MDI4
MTQzMjdENEYwMDY4NTg0OSAvKiBKU011dGF0aW9uQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzZGMDkwMjAxNDMyN0Q0RjAwNjg1ODQ5
IC8qIEpTTXV0YXRpb25DYWxsYmFjay5jcHAgKi87IH07CiAJCUM2RjA5MDI5MTQzMjdENEYwMDY4
NTg0OSAvKiBKU011dGF0aW9uQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEM2RjA5MDIxMTQzMjdENEYwMDY4NTg0OSAvKiBKU011dGF0aW9u
Q2FsbGJhY2suaCAqLzsgfTsKIAkJQzZGMDkwMkMxNDMyN0Q0RjAwNjg1ODQ5IC8qIEpTV2ViS2l0
TXV0YXRpb25PYnNlcnZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDNkYwOTAyNDE0MzI3RDRGMDA2ODU4NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9i
c2VydmVyLmNwcCAqLzsgfTsKQEAgLTEyNzY3LDcgKzEyNzY2LDYgQEAKIAkJQzZGMDkwMDUxNDMy
N0I2MTAwNjg1ODQ5IC8qIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViS2l0TXV0YXRpb25PYnNlcnZlci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUM2RjA5MDA2MTQzMjdCNjEwMDY4NTg0OSAvKiBXZWJL
aXRNdXRhdGlvbk9ic2VydmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdl
YktpdE11dGF0aW9uT2JzZXJ2ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzZG
MDkwMDcxNDMyN0I2MTAwNjg1ODQ5IC8qIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaWRsICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dDsgcGF0aCA9IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwotCQlDNkYwOTAwODE0MzI3QjYxMDA2ODU4NDkgLyogTXV0YXRpb25P
YnNlcnZlck9wdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTXV0YXRp
b25PYnNlcnZlck9wdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzZGMDkw
MjAxNDMyN0Q0RjAwNjg1ODQ5IC8qIEpTTXV0YXRpb25DYWxsYmFjay5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU011dGF0aW9uQ2FsbGJhY2suY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlDNkYwOTAyMTE0MzI3RDRGMDA2ODU4NDkgLyogSlNNdXRh
dGlvbkNhbGxiYWNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTXV0YXRp
b25DYWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDNkYwOTAyNDE0MzI3
RDRGMDA2ODU4NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlci5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMTEyMiw3ICsyMTEyMCw2IEBACiAJCQkJODUw
MzFCMzMwQTQ0RUZDNzAwRjk5MkUwIC8qIE11dGF0aW9uRXZlbnQuY3BwICovLAogCQkJCTg1MDMx
QjM0MEE0NEVGQzcwMEY5OTJFMCAvKiBNdXRhdGlvbkV2ZW50LmggKi8sCiAJCQkJOTNFRUMxRjMw
OUMyODc3NzAwQzUxNUQxIC8qIE11dGF0aW9uRXZlbnQuaWRsICovLAotCQkJCUM2RjA5MDA4MTQz
MjdCNjEwMDY4NTg0OSAvKiBNdXRhdGlvbk9ic2VydmVyT3B0aW9ucy5oICovLAogCQkJCUM2RjA4
RkI5MTQzMEZFOEYwMDY4NTg0OSAvKiBNdXRhdGlvblJlY29yZC5jcHAgKi8sCiAJCQkJQzZGMDhG
QkExNDMwRkU4RjAwNjg1ODQ5IC8qIE11dGF0aW9uUmVjb3JkLmggKi8sCiAJCQkJQzZGMDhGQkIx
NDMwRkU4RjAwNjg1ODQ5IC8qIE11dGF0aW9uUmVjb3JkLmlkbCAqLywKQEAgLTIzNjI4LDcgKzIz
NjI1LDYgQEAKIAkJCQlCMUFENEU2MzEzQTEyQTBCMDA4NDZCMjcgLyogTXV0YWJsZVRleHRUcmFj
ay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzZGMDkwMEExNDMyN0I2MTAwNjg1ODQ5IC8qIE11dGF0
aW9uQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCTg1MDMxQjRBMEE0NEVGQzcwMEY5OTJF
MCAvKiBNdXRhdGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQlDNkYwOTAxMTE0MzI3QjYx
MDA2ODU4NDkgLyogTXV0YXRpb25PYnNlcnZlck9wdGlvbnMuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUM2RjA4RkJEMTQzMEZFOEYwMDY4NTg0OSAvKiBNdXRhdGlvblJlY29yZC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQTgxODcyMjMwOTc3RDNDMDAwNTgyNkQ5IC8qIE5hbWVkTm9kZU1hcC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQTgxODcyMUUwOTc3RDNDMDAwNTgyNkQ5IC8qIE5hbWVOb2RlTGlzdC5o
IGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RpY3Rpb25hcnkuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGljdGlvbmFyeS5o
CmluZGV4IGYxODBiYTUzMWI0OWM3ZjU5N2ZhOWJmYTUyNmYzZGJiYjQ5Mzc4YjMuLjc3OTBkNzBm
ZTE5ZGQ3ZDIzNzQ2Yjc2ZmY0NjAyNWQzZTg3MmRiOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRGljdGlvbmFyeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRGljdGlvbmFyeS5oCkBAIC01Miw5ICs1Miw2IEBAIHB1YmxpYzoKICAgICB0ZW1w
bGF0ZSA8dHlwZW5hbWUgVCwgdHlwZW5hbWUgUmVzdWx0PgogICAgIGJvb2wgdHJ5R2V0UHJvcGVy
dHkoY29uc3QgY2hhciogcHJvcGVydHlOYW1lLCBUKiBjb250ZXh0LCB2b2lkICgqc2V0dGVyKShU
KiBjb250ZXh0LCBjb25zdCBSZXN1bHQmKSk7CiAKLSAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4K
LSAgICBib29sIHRyeUdldFByb3BlcnR5KGNvbnN0IGNoYXIqIHByb3BlcnR5TmFtZSwgVCYgY29u
dGV4dCwgdm9pZCAoVDo6KnNldHRlcikoYm9vbCkpOwotCiBwcml2YXRlOgogICAgIGVudW0gR2V0
UHJvcGVydHlSZXN1bHQgewogICAgICAgICBFeGNlcHRpb25UaHJvd24sCkBAIC0xMDYsMzAgKzEw
Myw2IEBAIGJvb2wgSlNEaWN0aW9uYXJ5Ojp0cnlHZXRQcm9wZXJ0eShjb25zdCBjaGFyKiBwcm9w
ZXJ0eU5hbWUsIFQqIGNvbnRleHQsIHZvaWQgKCpzCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXRl
bXBsYXRlIDx0eXBlbmFtZSBUPgotYm9vbCBKU0RpY3Rpb25hcnk6OnRyeUdldFByb3BlcnR5KGNv
bnN0IGNoYXIqIHByb3BlcnR5TmFtZSwgVCYgY29udGV4dCwgdm9pZCAoVDo6KnNldHRlcikoYm9v
bCkpCi17Ci0gICAgSlNDOjpKU1ZhbHVlIHZhbHVlOwotICAgIHN3aXRjaCAodHJ5R2V0UHJvcGVy
dHkocHJvcGVydHlOYW1lLCB2YWx1ZSkpIHsKLSAgICBjYXNlIEV4Y2VwdGlvblRocm93bjoKLSAg
ICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGNhc2UgUHJvcGVydHlGb3VuZDogewotICAgICAgICBi
b29sIHJlc3VsdDsKLSAgICAgICAgY29udmVydFZhbHVlKG1fZXhlYywgdmFsdWUsIHJlc3VsdCk7
Ci0KLSAgICAgICAgaWYgKG1fZXhlYy0+aGFkRXhjZXB0aW9uKCkpCi0gICAgICAgICAgICByZXR1
cm4gZmFsc2U7Ci0KLSAgICAgICAgKGNvbnRleHQuKnNldHRlcikocmVzdWx0KTsKLSAgICAgICAg
YnJlYWs7Ci0gICAgfQotICAgIGNhc2UgTm9Qcm9wZXJ0eUZvdW5kOgotICAgICAgICBicmVhazsK
LSAgICB9Ci0KLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQogdGVtcGxhdGUgPHR5cGVuYW1lIFJlc3Vs
dD4KIGJvb2wgSlNEaWN0aW9uYXJ5Ojp0cnlHZXRQcm9wZXJ0eShjb25zdCBjaGFyKiBwcm9wZXJ0
eU5hbWUsIFJlc3VsdCYgZmluYWxSZXN1bHQpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcApp
bmRleCA3NjZiNTlmYjhiODg3ZDYxMzNmYWJhOTI1MTdlZmQ1MmU5YzYxODY1Li5jZDYxM2ZmMTYw
ZTU3NzcyM2YzNWNmMjJlNTFiMWQ2MThiNTBjMzIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViS2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5j
cHAKQEAgLTM4LDcgKzM4LDYgQEAKICNpbmNsdWRlICJKU0RpY3Rpb25hcnkuaCIKICNpbmNsdWRl
ICJKU011dGF0aW9uQ2FsbGJhY2suaCIKICNpbmNsdWRlICJKU05vZGUuaCIKLSNpbmNsdWRlICJN
dXRhdGlvbk9ic2VydmVyT3B0aW9ucy5oIgogI2luY2x1ZGUgIk5vZGUuaCIKICNpbmNsdWRlICJX
ZWJLaXRNdXRhdGlvbk9ic2VydmVyLmgiCiAjaW5jbHVkZSA8cnVudGltZS9FcnJvci5oPgpAQCAt
NzgsMTcgKzc3LDIzIEBAIEpTVmFsdWUgSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpvYnNlcnZl
KEV4ZWNTdGF0ZSogZXhlYykKICAgICB9CiAKICAgICBKU0RpY3Rpb25hcnkgZGljdGlvbmFyeShl
eGVjLCBvcHRpb25zT2JqZWN0KTsKKyAgICBNdXRhdGlvbk9ic2VydmVyT3B0aW9ucyBvcHRpb25z
ID0gMDsKKyAgICBib29sIG9wdGlvbjsKKyAgICBpZiAoZGljdGlvbmFyeS50cnlHZXRQcm9wZXJ0
eSgiY2hpbGRMaXN0Iiwgb3B0aW9uKSAmJiBvcHRpb24pCisgICAgICAgIG9wdGlvbnMgfD0gV2Vi
S2l0TXV0YXRpb25PYnNlcnZlcjo6Q2hpbGRMaXN0OworICAgIGlmIChkaWN0aW9uYXJ5LnRyeUdl
dFByb3BlcnR5KCJhdHRyaWJ1dGVzIiwgb3B0aW9uKSAmJiBvcHRpb24pCisgICAgICAgIG9wdGlv
bnMgfD0gV2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6QXR0cmlidXRlczsKKyAgICBpZiAoZGljdGlv
bmFyeS50cnlHZXRQcm9wZXJ0eSgic3VidHJlZSIsIG9wdGlvbikgJiYgb3B0aW9uKQorICAgICAg
ICBvcHRpb25zIHw9IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXI6OlN1YnRyZWU7CisgICAgaWYgKGRp
Y3Rpb25hcnkudHJ5R2V0UHJvcGVydHkoImF0dHJpYnV0ZU9sZFZhbHVlIiwgb3B0aW9uKSAmJiBv
cHRpb24pCisgICAgICAgIG9wdGlvbnMgfD0gV2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6QXR0cmli
dXRlT2xkVmFsdWU7CisgICAgaWYgKGRpY3Rpb25hcnkudHJ5R2V0UHJvcGVydHkoImNoYXJhY3Rl
ckRhdGFPbGRWYWx1ZSIsIG9wdGlvbikgJiYgb3B0aW9uKQorICAgICAgICBvcHRpb25zIHw9IFdl
YktpdE11dGF0aW9uT2JzZXJ2ZXI6OkNoYXJhY3RlckRhdGFPbGRWYWx1ZTsKIAotICAgIFJlZlB0
cjxNdXRhdGlvbk9ic2VydmVyT3B0aW9ucz4gb3B0aW9ucyA9IE11dGF0aW9uT2JzZXJ2ZXJPcHRp
b25zOjpjcmVhdGUoKTsKLSAgICBpZiAoIWRpY3Rpb25hcnkudHJ5R2V0UHJvcGVydHkoImNoaWxk
TGlzdCIsICpvcHRpb25zLCAmTXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OnNldENoaWxkTGlzdCkK
LSAgICAgICAgfHwgIWRpY3Rpb25hcnkudHJ5R2V0UHJvcGVydHkoImF0dHJpYnV0ZXMiLCAqb3B0
aW9ucywgJk11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zOjpzZXRBdHRyaWJ1dGVzKQotICAgICAgICB8
fCAhZGljdGlvbmFyeS50cnlHZXRQcm9wZXJ0eSgiY2hhcmFjdGVyRGF0YSIsICpvcHRpb25zLCAm
TXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OnNldENoYXJhY3RlckRhdGEpCi0gICAgICAgIHx8ICFk
aWN0aW9uYXJ5LnRyeUdldFByb3BlcnR5KCJzdWJ0cmVlIiwgKm9wdGlvbnMsICZNdXRhdGlvbk9i
c2VydmVyT3B0aW9uczo6c2V0U3VidHJlZSkKLSAgICAgICAgfHwgIWRpY3Rpb25hcnkudHJ5R2V0
UHJvcGVydHkoImF0dHJpYnV0ZU9sZFZhbHVlIiwgKm9wdGlvbnMsICZNdXRhdGlvbk9ic2VydmVy
T3B0aW9uczo6c2V0QXR0cmlidXRlT2xkVmFsdWUpCi0gICAgICAgIHx8ICFkaWN0aW9uYXJ5LnRy
eUdldFByb3BlcnR5KCJjaGFyYWN0ZXJEYXRhT2xkVmFsdWUiLCAqb3B0aW9ucywgJk11dGF0aW9u
T2JzZXJ2ZXJPcHRpb25zOjpzZXRDaGFyYWN0ZXJEYXRhT2xkVmFsdWUpKQorICAgIGlmIChleGVj
LT5oYWRFeGNlcHRpb24oKSkKICAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CiAKLSAgICBp
bXBsKCktPm9ic2VydmUodGFyZ2V0LCBvcHRpb25zLmdldCgpKTsKKyAgICBpbXBsKCktPm9ic2Vy
dmUodGFyZ2V0LCBvcHRpb25zKTsKICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViS2l0TXV0YXRp
b25PYnNlcnZlckN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20v
VjhXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcAppbmRleCA5ZTI4ZmU5ODdkNDhlNTQz
MTNmNjIyZjc2NzhhZWRjMzczODIwMDE2Li44ODA2ODgzYjBlODMzZWNlZGE2MDFhMmQwOWM2OTUx
NjRkMWE4YzZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20v
VjhXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcApAQCAt
MzUsNyArMzUsNiBAQAogI2luY2x1ZGUgIlY4V2ViS2l0TXV0YXRpb25PYnNlcnZlci5oIgogCiAj
aW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgotI2luY2x1ZGUgIk11dGF0aW9uT2JzZXJ2ZXJPcHRp
b25zLmgiCiAjaW5jbHVkZSAiT3B0aW9uc09iamVjdC5oIgogI2luY2x1ZGUgIlY4QmluZGluZy5o
IgogI2luY2x1ZGUgIlY4QmluZGluZ01hY3Jvcy5oIgpAQCAtODYsMjMgKzg1LDIyIEBAIHY4OjpI
YW5kbGU8djg6OlZhbHVlPiBWOFdlYktpdE11dGF0aW9uT2JzZXJ2ZXI6Om9ic2VydmVDYWxsYmFj
ayhjb25zdCB2ODo6QXJndW1lCiAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKFRZUEVfTUlTTUFU
Q0hfRVJSKTsKIAogICAgIE9wdGlvbnNPYmplY3Qgb3B0aW9uc09iamVjdChhcmdzWzFdKTsKLSAg
ICBSZWZQdHI8TXV0YXRpb25PYnNlcnZlck9wdGlvbnM+IG9wdGlvbnMgPSBNdXRhdGlvbk9ic2Vy
dmVyT3B0aW9uczo6Y3JlYXRlKCk7Ci0KKyAgICB1bnNpZ25lZCBvcHRpb25zID0gMDsKICAgICBi
b29sIG9wdGlvbjsKLSAgICBpZiAob3B0aW9uc09iamVjdC5nZXRLZXlWYWx1ZSgiY2hpbGRMaXN0
Iiwgb3B0aW9uKSkKLSAgICAgICAgb3B0aW9ucy0+c2V0Q2hpbGRMaXN0KG9wdGlvbik7Ci0gICAg
aWYgKG9wdGlvbnNPYmplY3QuZ2V0S2V5VmFsdWUoImF0dHJpYnV0ZXMiLCBvcHRpb24pKQotICAg
ICAgICBvcHRpb25zLT5zZXRBdHRyaWJ1dGVzKG9wdGlvbik7Ci0gICAgaWYgKG9wdGlvbnNPYmpl
Y3QuZ2V0S2V5VmFsdWUoImNoYXJhY3RlckRhdGEiLCBvcHRpb24pKQotICAgICAgICBvcHRpb25z
LT5zZXRDaGFyYWN0ZXJEYXRhKG9wdGlvbik7Ci0gICAgaWYgKG9wdGlvbnNPYmplY3QuZ2V0S2V5
VmFsdWUoInN1YnRyZWUiLCBvcHRpb24pKQotICAgICAgICBvcHRpb25zLT5zZXRTdWJ0cmVlKG9w
dGlvbik7Ci0gICAgaWYgKG9wdGlvbnNPYmplY3QuZ2V0S2V5VmFsdWUoImF0dHJpYnV0ZU9sZFZh
bHVlIiwgb3B0aW9uKSkKLSAgICAgICAgb3B0aW9ucy0+c2V0QXR0cmlidXRlT2xkVmFsdWUob3B0
aW9uKTsKLSAgICBpZiAob3B0aW9uc09iamVjdC5nZXRLZXlWYWx1ZSgiY2hhcmFjdGVyRGF0YU9s
ZFZhbHVlIiwgb3B0aW9uKSkKLSAgICAgICAgb3B0aW9ucy0+c2V0Q2hhcmFjdGVyRGF0YU9sZFZh
bHVlKG9wdGlvbik7Ci0KLSAgICBpbXAtPm9ic2VydmUodGFyZ2V0LCBvcHRpb25zLmdldCgpKTsK
KyAgICBpZiAob3B0aW9uc09iamVjdC5nZXRLZXlWYWx1ZSgiY2hpbGRMaXN0Iiwgb3B0aW9uKSAm
JiBvcHRpb24pCisgICAgICAgIG9wdGlvbnMgfD0gV2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6Q2hp
bGRMaXN0OworICAgIGlmIChvcHRpb25zT2JqZWN0LmdldEtleVZhbHVlKCJhdHRyaWJ1dGVzIiwg
b3B0aW9uKSAmJiBvcHRpb24pCisgICAgICAgIG9wdGlvbnMgfD0gV2ViS2l0TXV0YXRpb25PYnNl
cnZlcjo6QXR0cmlidXRlczsKKyAgICBpZiAob3B0aW9uc09iamVjdC5nZXRLZXlWYWx1ZSgiY2hh
cmFjdGVyRGF0YSIsIG9wdGlvbikgJiYgb3B0aW9uKQorICAgICAgICBvcHRpb25zIHw9IFdlYktp
dE11dGF0aW9uT2JzZXJ2ZXI6OkNoYXJhY3RlckRhdGE7CisgICAgaWYgKG9wdGlvbnNPYmplY3Qu
Z2V0S2V5VmFsdWUoInN1YnRyZWUiLCBvcHRpb24pICYmIG9wdGlvbikKKyAgICAgICAgb3B0aW9u
cyB8PSBXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpTdWJ0cmVlOworICAgIGlmIChvcHRpb25zT2Jq
ZWN0LmdldEtleVZhbHVlKCJhdHRyaWJ1dGVPbGRWYWx1ZSIsIG9wdGlvbikgJiYgb3B0aW9uKQor
ICAgICAgICBvcHRpb25zIHw9IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXI6OkF0dHJpYnV0ZU9sZFZh
bHVlOworICAgIGlmIChvcHRpb25zT2JqZWN0LmdldEtleVZhbHVlKCJjaGFyYWN0ZXJEYXRhT2xk
VmFsdWUiLCBvcHRpb24pICYmIG9wdGlvbikKKyAgICAgICAgb3B0aW9ucyB8PSBXZWJLaXRNdXRh
dGlvbk9ic2VydmVyOjpDaGFyYWN0ZXJEYXRhT2xkVmFsdWU7CisKKyAgICBpbXAtPm9ic2VydmUo
dGFyZ2V0LCBvcHRpb25zKTsKICAgICByZXR1cm4gdjg6OkhhbmRsZTx2ODo6VmFsdWU+KCk7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbk9ic2VydmVyT3B0aW9u
cy5oIGIvU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmgKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNmZTVkMWNkMjg0YmQxZjRiODQzNjdhOWU2ZDVhNzE2
ZmZlYmMzZGUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmgKKysrIC9kZXYvbnVs
bApAQCAtMSw5MiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
Ci0gKiBtZXQ6Ci0gKgotICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAqIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIKLSAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUKLSAqIGRpc3RyaWJ1dGlvbi4KLSAqICAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAqIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
Ci0gKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAq
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUCi0gKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LAotICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBNdXRhdGlvbk9ic2VydmVyT3B0aW9uc19oCi0jZGVm
aW5lIE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zX2gKLQotI2lmIEVOQUJMRShNVVRBVElPTl9PQlNF
UlZFUlMpCi0KLSNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgotI2luY2x1ZGUgPHd0Zi9SZWZD
b3VudGVkLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgTXV0YXRpb25PYnNlcnZl
ck9wdGlvbnMgOiBwdWJsaWMgUmVmQ291bnRlZDxNdXRhdGlvbk9ic2VydmVyT3B0aW9ucz4gewot
cHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zPiBj
cmVhdGUoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBNdXRhdGlvbk9ic2Vy
dmVyT3B0aW9ucyk7Ci0gICAgfQotCi0gICAgYm9vbCBjaGlsZExpc3QoKSBjb25zdCB7IHJldHVy
biBtX2NoaWxkTGlzdDsgfQotICAgIHZvaWQgc2V0Q2hpbGRMaXN0KGJvb2wgdmFsdWUpIHsgbV9j
aGlsZExpc3QgPSB2YWx1ZTsgfQotCi0gICAgYm9vbCBhdHRyaWJ1dGVzKCkgY29uc3QgeyByZXR1
cm4gbV9hdHRyaWJ1dGVzOyB9Ci0gICAgdm9pZCBzZXRBdHRyaWJ1dGVzKGJvb2wgdmFsdWUpIHsg
bV9hdHRyaWJ1dGVzID0gdmFsdWU7IH0KLQotICAgIGJvb2wgY2hhcmFjdGVyRGF0YSgpIGNvbnN0
IHsgcmV0dXJuIG1fY2hhcmFjdGVyRGF0YTsgfQotICAgIHZvaWQgc2V0Q2hhcmFjdGVyRGF0YShi
b29sIHZhbHVlKSB7IG1fY2hhcmFjdGVyRGF0YSA9IHZhbHVlOyB9Ci0KLSAgICBib29sIHN1YnRy
ZWUoKSBjb25zdCB7IHJldHVybiBtX3N1YnRyZWU7IH0KLSAgICB2b2lkIHNldFN1YnRyZWUoYm9v
bCB2YWx1ZSkgeyBtX3N1YnRyZWUgPSB2YWx1ZTsgfQotCi0gICAgYm9vbCBhdHRyaWJ1dGVPbGRW
YWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fYXR0cmlidXRlT2xkVmFsdWU7IH0KLSAgICB2b2lkIHNl
dEF0dHJpYnV0ZU9sZFZhbHVlKGJvb2wgdmFsdWUpIHsgbV9hdHRyaWJ1dGVPbGRWYWx1ZSA9IHZh
bHVlOyB9Ci0KLSAgICBib29sIGNoYXJhY3RlckRhdGFPbGRWYWx1ZSgpIGNvbnN0IHsgcmV0dXJu
IG1fYXR0cmlidXRlT2xkVmFsdWU7IH0KLSAgICB2b2lkIHNldENoYXJhY3RlckRhdGFPbGRWYWx1
ZShib29sIHZhbHVlKSB7IG1fY2hhcmFjdGVyRGF0YU9sZFZhbHVlID0gdmFsdWU7IH0KLQotICAg
IC8vIEZJWE1FOiBGaWd1cmUgb3V0IGhvdyB0byBtb2RlbCB0aGlzIGJhc2VkIG9uIHRoZSBJREwu
Ci0gICAgLy8gRE9NU3RyaW5nW10gYXR0cmlidXRlRmlsdGVyOwotCi1wcml2YXRlOgotICAgIE11
dGF0aW9uT2JzZXJ2ZXJPcHRpb25zKCkKLSAgICAgICAgOiBtX2NoaWxkTGlzdChmYWxzZSkKLSAg
ICAgICAgLCBtX2F0dHJpYnV0ZXMoZmFsc2UpCi0gICAgICAgICwgbV9jaGFyYWN0ZXJEYXRhKGZh
bHNlKQotICAgICAgICAsIG1fc3VidHJlZShmYWxzZSkKLSAgICAgICAgLCBtX2F0dHJpYnV0ZU9s
ZFZhbHVlKGZhbHNlKQotICAgICAgICAsIG1fY2hhcmFjdGVyRGF0YU9sZFZhbHVlKGZhbHNlKQot
ICAgIHsKLSAgICB9Ci0KLSAgICBib29sIG1fY2hpbGRMaXN0OwotICAgIGJvb2wgbV9hdHRyaWJ1
dGVzOwotICAgIGJvb2wgbV9jaGFyYWN0ZXJEYXRhOwotICAgIGJvb2wgbV9zdWJ0cmVlOwotICAg
IGJvb2wgbV9hdHRyaWJ1dGVPbGRWYWx1ZTsKLSAgICBib29sIG1fY2hhcmFjdGVyRGF0YU9sZFZh
bHVlOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKE1V
VEFUSU9OX09CU0VSVkVSUykKLQotI2VuZGlmIC8vIE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zX2gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Ob2RlLmNwcAppbmRleCBkMDIxMGQ5ZGYyYmMyNjEzZDNhMzY3ODQ4ZGI0YjhmNDBkNTY0
YWZmLi44ODEzZWIxNDdiNmMyNmU2NjE2OWE3NmYwNmQyMWVkNGM2MzUxOTAxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05v
ZGUuY3BwCkBAIC0yNzA1LDcgKzI3MDUsNyBAQCB2b2lkIE5vZGU6OnJlZ2lzdGVyZWRNdXRhdGlv
bk9ic2VydmVyc09mVHlwZShWZWN0b3I8V2ViS2l0TXV0YXRpb25PYnNlcnZlcio+JiBvYgogICAg
IH0KIH0KIAotTm9kZTo6TXV0YXRpb25SZWdpc3RyYXRpb25SZXN1bHQgTm9kZTo6cmVnaXN0ZXJN
dXRhdGlvbk9ic2VydmVyKFBhc3NSZWZQdHI8V2ViS2l0TXV0YXRpb25PYnNlcnZlcj4gb2JzZXJ2
ZXIsIHVuc2lnbmVkIGNoYXIgb3B0aW9ucykKK05vZGU6Ok11dGF0aW9uUmVnaXN0cmF0aW9uUmVz
dWx0IE5vZGU6OnJlZ2lzdGVyTXV0YXRpb25PYnNlcnZlcihQYXNzUmVmUHRyPFdlYktpdE11dGF0
aW9uT2JzZXJ2ZXI+IG9ic2VydmVyLCBNdXRhdGlvbk9ic2VydmVyT3B0aW9ucyBvcHRpb25zKQog
ewogICAgIFZlY3RvcjxNdXRhdGlvbk9ic2VydmVyRW50cnk+KiBvYnNlcnZlckVudHJpZXMgPSBl
bnN1cmVNdXRhdGlvbk9ic2VydmVyRW50cmllcygpOwogICAgIE11dGF0aW9uT2JzZXJ2ZXJFbnRy
eSBlbnRyeShvYnNlcnZlciwgb3B0aW9ucyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaAppbmRleCBlZGMwMGUxYjY3ZDFm
ZTkwNDE5Mjk2OGE4YjgwN2I2MjY3ZjQyNjVjLi5mNTRlYzQ3OWQwMDE0YTMyNjE1NDIyZDBhOWJi
ODMwZGQyYmU5ODA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKQEAgLTU5OCw3ICs1OTgsNyBAQCBwdWJsaWM6CiAg
ICAgICAgIE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RlcmVkLAogICAgICAgICBNdXRhdGlvblJlZ2lz
dHJhdGlvbk9wdGlvbnNSZXNldAogICAgIH07Ci0gICAgTXV0YXRpb25SZWdpc3RyYXRpb25SZXN1
bHQgcmVnaXN0ZXJNdXRhdGlvbk9ic2VydmVyKFBhc3NSZWZQdHI8V2ViS2l0TXV0YXRpb25PYnNl
cnZlcj4sIHVuc2lnbmVkIGNoYXIgb3B0aW9ucyk7CisgICAgTXV0YXRpb25SZWdpc3RyYXRpb25S
ZXN1bHQgcmVnaXN0ZXJNdXRhdGlvbk9ic2VydmVyKFBhc3NSZWZQdHI8V2ViS2l0TXV0YXRpb25P
YnNlcnZlcj4sIE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zKTsKIAogICAgIHZvaWQgdW5yZWdpc3Rl
ck11dGF0aW9uT2JzZXJ2ZXIoUGFzc1JlZlB0cjxXZWJLaXRNdXRhdGlvbk9ic2VydmVyPik7CiAj
ZW5kaWYgLy8gRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURh
dGEuaAppbmRleCA2OTA4ZDgxY2FhOWE2ZDE2Njg2NDVlNTc5ZTg1OWZiODJjMGNjMjhiLi5lMjU4
YWZhNGUyNmMwZGEyMDZkZTY0ODkxNmRmMjhhOWQ5ZmFlZGU2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGVS
YXJlRGF0YS5oCkBAIC05MCw3ICs5MCw3IEBAIHByaXZhdGU6CiAKICNpZiBFTkFCTEUoTVVUQVRJ
T05fT0JTRVJWRVJTKQogc3RydWN0IE11dGF0aW9uT2JzZXJ2ZXJFbnRyeSB7Ci0gICAgTXV0YXRp
b25PYnNlcnZlckVudHJ5KFBhc3NSZWZQdHI8V2ViS2l0TXV0YXRpb25PYnNlcnZlcj4gb2JzZXJ2
ZXIsIHVuc2lnbmVkIGNoYXIgb3B0aW9ucykKKyAgICBNdXRhdGlvbk9ic2VydmVyRW50cnkoUGFz
c1JlZlB0cjxXZWJLaXRNdXRhdGlvbk9ic2VydmVyPiBvYnNlcnZlciwgTXV0YXRpb25PYnNlcnZl
ck9wdGlvbnMgb3B0aW9ucykKICAgICAgICAgOiBvYnNlcnZlcihvYnNlcnZlcikKICAgICAgICAg
LCBvcHRpb25zKG9wdGlvbnMpCiAgICAgewpAQCAtMTAxLDEzICsxMDEsMTMgQEAgc3RydWN0IE11
dGF0aW9uT2JzZXJ2ZXJFbnRyeSB7CiAgICAgICAgIHJldHVybiBvYnNlcnZlciA9PSBvdGhlci5v
YnNlcnZlcjsKICAgICB9CiAKLSAgICBib29sIG1hdGNoZXModW5zaWduZWQgY2hhciBvcHRpb25z
KSBjb25zdAorICAgIGJvb2wgbWF0Y2hlcyhNdXRhdGlvbk9ic2VydmVyT3B0aW9ucyBvcHRpb25z
KSBjb25zdAogICAgIHsKICAgICAgICAgcmV0dXJuIHRoaXMtPm9wdGlvbnMgJiBvcHRpb25zOwog
ICAgIH0KIAogICAgIFJlZlB0cjxXZWJLaXRNdXRhdGlvbk9ic2VydmVyPiBvYnNlcnZlcjsKLSAg
ICB1bnNpZ25lZCBjaGFyIG9wdGlvbnM7CisgICAgTXV0YXRpb25PYnNlcnZlck9wdGlvbnMgb3B0
aW9uczsKIH07CiAKICNlbmRpZiAvLyBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwCmluZGV4IGJiZmU0Y2I5
ZjRhOWFjYmQzOTI3ZmM1ODIzZjg1NmYzYzE0Mjc0NzcuLjdkNzM2YWU3YmFjNjRjNDU4OGZjYmEy
ZmMzZDNiNzc1Mjk3YmRlMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRN
dXRhdGlvbk9ic2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TXV0YXRp
b25PYnNlcnZlci5jcHAKQEAgLTM0LDcgKzM0LDYgQEAKIAogI2luY2x1ZGUgIldlYktpdE11dGF0
aW9uT2JzZXJ2ZXIuaCIKIAotI2luY2x1ZGUgIk11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmgiCiAj
aW5jbHVkZSAiTXV0YXRpb25DYWxsYmFjay5oIgogI2luY2x1ZGUgIk11dGF0aW9uUmVjb3JkLmgi
CiAjaW5jbHVkZSAiTm9kZS5oIgpAQCAtNTYsMjAgKzU1LDExIEBAIFdlYktpdE11dGF0aW9uT2Jz
ZXJ2ZXI6On5XZWJLaXRNdXRhdGlvbk9ic2VydmVyKCkKIHsKIH0KIAotdm9pZCBXZWJLaXRNdXRh
dGlvbk9ic2VydmVyOjpvYnNlcnZlKE5vZGUqIG5vZGUsIE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25z
KiBvcHRpb25zKQordm9pZCBXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpvYnNlcnZlKE5vZGUqIG5v
ZGUsIE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zIG9wdGlvbnMpCiB7Ci0gICAgdW5zaWduZWQgY2hh
ciBvcHRpb25GbGFncyA9IDA7Ci0KLSAgICAvLyBGSVhNRTogUHVzaCBjb21wb3NpdGlvbiBvZiB0
aGUgb3B0aW9uRmxhZ3MgaW50byB0aGUgY3VzdG9tIGJpbmRpbmcuCi0gICAgaWYgKG9wdGlvbnMt
PmNoaWxkTGlzdCgpKQotICAgICAgICBvcHRpb25GbGFncyB8PSBDaGlsZExpc3Q7Ci0gICAgaWYg
KG9wdGlvbnMtPmF0dHJpYnV0ZXMoKSkKLSAgICAgICAgb3B0aW9uRmxhZ3MgfD0gQXR0cmlidXRl
czsKLSAgICBpZiAob3B0aW9ucy0+Y2hhcmFjdGVyRGF0YSgpKQotICAgICAgICBvcHRpb25GbGFn
cyB8PSBDaGFyYWN0ZXJEYXRhOwotICAgIC8vIEZJWE1FOiBNb3JlIG9wdGlvbnMgY29tcG9zaXRp
b24gd29yayBuZWVkcyB0byBiZSBkb25lIGhlcmUuCi0KLSAgICBpZiAobm9kZS0+cmVnaXN0ZXJN
dXRhdGlvbk9ic2VydmVyKHRoaXMsIG9wdGlvbkZsYWdzKSA9PSBOb2RlOjpNdXRhdGlvbk9ic2Vy
dmVyUmVnaXN0ZXJlZCkKKyAgICAvLyBGSVhNRTogTW9yZSBvcHRpb25zIGNvbXBvc2l0aW9uIHdv
cmsgbmVlZHMgdG8gYmUgZG9uZSBoZXJlLCBlLmcuLCB2YWxpZGF0aW9uLgorCisgICAgaWYgKG5v
ZGUtPnJlZ2lzdGVyTXV0YXRpb25PYnNlcnZlcih0aGlzLCBvcHRpb25zKSA9PSBOb2RlOjpNdXRh
dGlvbk9ic2VydmVyUmVnaXN0ZXJlZCkKICAgICAgICAgbV9vYnNlcnZlZE5vZGVzLmFwcGVuZChu
b2RlKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE11dGF0aW9u
T2JzZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmgK
aW5kZXggNmMxOTVmZWNjZWNmN2YyZjEyYjhlYmVlMjJmMTNjM2U2ODg5MzllNS4uZmMzMjg2MDk5
ODRhYTEyMWEzY2JmODY5NDQwNDYxZWIyY2E2NTk4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
V2ViS2l0TXV0YXRpb25PYnNlcnZlci5oCkBAIC00MSwxMCArNDEsMTEgQEAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogY2xhc3MgTXV0YXRpb25DYWxsYmFjazsKLWNsYXNzIE11dGF0aW9uT2JzZXJ2
ZXJPcHRpb25zOwogY2xhc3MgTXV0YXRpb25SZWNvcmQ7CiBjbGFzcyBOb2RlOwogCit0eXBlZGVm
IHVuc2lnbmVkIGNoYXIgTXV0YXRpb25PYnNlcnZlck9wdGlvbnM7CisKIGNsYXNzIFdlYktpdE11
dGF0aW9uT2JzZXJ2ZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJLaXRNdXRhdGlvbk9ic2VydmVy
PiB7CiBwdWJsaWM6CiAgICAgZW51bSBNdXRhdGlvblR5cGUgewpAQCAtNjUsNyArNjYsNyBAQCBw
dWJsaWM6CiAKICAgICB+V2ViS2l0TXV0YXRpb25PYnNlcnZlcigpOwogCi0gICAgdm9pZCBvYnNl
cnZlKE5vZGUqLCBNdXRhdGlvbk9ic2VydmVyT3B0aW9ucyopOworICAgIHZvaWQgb2JzZXJ2ZShO
b2RlKiwgTXV0YXRpb25PYnNlcnZlck9wdGlvbnMpOwogICAgIHZvaWQgZGlzY29ubmVjdCgpOwog
ICAgIHZvaWQgb2JzZXJ2ZWROb2RlRGVzdHJ1Y3RlZChOb2RlKik7CiAgICAgdm9pZCBlbnF1ZXVl
TXV0YXRpb25SZWNvcmQoUGFzc1JlZlB0cjxNdXRhdGlvblJlY29yZD4pOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111355</attachid>
            <date>2011-10-17 17:24:28 -0700</date>
            <delta_ts>2011-10-17 21:30:08 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-70287-20111017172427.patch</filename>
            <type>text/plain</type>
            <size>21953</size>
            <attacher name="Adam Klein">adamk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTc2NTkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBiMjZlYTNlNjAyYTI5MWMx
OTk1NDVkZjhmOTU4MTA3ODM2MzU1N2E3Li41MzQyMmU4M2JhYWE5ZGYwMGRkMDhjZTk3ZTc3MWI5
MmYzYzM0NDI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTEtMTAtMTcgIEFkYW0g
S2xlaW4gIDxhZGFta0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUGFyc2UgTXV0YXRpb25PYnNl
cnZlck9wdGlvbnMgZGlyZWN0bHkgaW50byBhIGJpdGZpZWxkCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI4NworCisgICAgICAgIFJldmlld2VkIGJ5
IFJ5b3N1a2UgTml3YS4KKworICAgICAgICBSZXBsYWNlcyB0aGUgTXV0YXRpb25PYnNlcnZlck9w
dGlvbnMgY2xhc3Mgd2l0aCBhIHR5cGVkZWYsCisgICAgICAgIHVzZWQgdG8gcGFzcyBhIGJpdGZp
ZWxkIGNvbXBvc2VkIG9mIGVudW1zIGRlZmluZWQgaW4KKyAgICAgICAgV2ViS2l0TXV0YXRpb25P
YnNlcnZlci5oLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBiZWNhdXNlIG5vIGJlaGF2aW9yIHNo
b3VsZCBjaGFuZ2UuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAq
IFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnBybzoKKyAgICAgICAgKiBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvSlNEaWN0
aW9uYXJ5Lmg6IFJlbW92ZWQgbm93LXVudXNlZCBtZXRob2QuCisgICAgICAgICogYmluZGluZ3Mv
anMvSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkpTV2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6b2JzZXJ2ZSk6CisgICAgICAgICogYmluZGluZ3Mv
djgvY3VzdG9tL1Y4V2ViS2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpWOFdlYktpdE11dGF0aW9uT2JzZXJ2ZXI6Om9ic2VydmVDYWxsYmFjayk6CisgICAg
ICAgICogZG9tL011dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmg6IFJlbW92ZWQuCisgICAgICAgICog
ZG9tL05vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6cmVnaXN0ZXJNdXRhdGlvbk9i
c2VydmVyKToKKyAgICAgICAgKiBkb20vTm9kZS5oOgorICAgICAgICAqIGRvbS9Ob2RlUmFyZURh
dGEuaDoKKyAgICAgICAgKFdlYkNvcmU6Ok11dGF0aW9uT2JzZXJ2ZXJFbnRyeTo6TXV0YXRpb25P
YnNlcnZlckVudHJ5KToKKyAgICAgICAgKFdlYkNvcmU6Ok11dGF0aW9uT2JzZXJ2ZXJFbnRyeTo6
bWF0Y2hlcyk6CisgICAgICAgICogZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6V2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6b2JzZXJ2ZSk6CisgICAgICAg
ICogZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaDoKKwogMjAxMS0xMC0xNyAgUmFmYWVsIFdl
aW5zdGVpbiAgPHJhZmFlbHdAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtNdXRhdGlvbk9ic2Vy
dmVyc10gSW1wbGVtZW50IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIub2JzZXJ2ZSBmb3IgYXR0cmli
dXRlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1Nv
dXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggODU0ZGFiMGQ3ZTE0ZDg3NTg3
Y2FhZmU0ZDliNTA4MmY3YWI4Yzg3YS4uMTlmODFkM2E1YzA5Y2M1MGM3NDU4OWE0NzAxNzRhOGFm
N2YyMzZkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0xMjM1LDcgKzEyMzUs
NiBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbkNh
bGxiYWNrLmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbkV2ZW50LmNwcCBcCiAJU291
cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uRXZlbnQuaCBcCi0JU291cmNlL1dlYkNvcmUvZG9tL011
dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvblJl
Y29yZC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvblJlY29yZC5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9kb20vTmFtZWROb2RlTWFwLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggOTc5
NTJjMWMyMDFkMzdlMmQ2NGE1YjdiN2VkNWU1NWU1MzAwMWNjOS4uNjU5ODNkN2Q2NWNlYmNhNTNk
ZjQ0NzA3ZWY4NmM0ODllNjdmYTUyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtNTIyNSw3ICs1MjI1
LDYgQEAKICAgICAgICAgICAgICdkb20vTXV0YXRpb25DYWxsYmFjay5oJywKICAgICAgICAgICAg
ICdkb20vTXV0YXRpb25FdmVudC5jcHAnLAogICAgICAgICAgICAgJ2RvbS9NdXRhdGlvbkV2ZW50
LmgnLAotICAgICAgICAgICAgJ2RvbS9NdXRhdGlvbk9ic2VydmVyT3B0aW9ucy5oJywKICAgICAg
ICAgICAgICdkb20vTXV0YXRpb25SZWNvcmQuY3BwJywKICAgICAgICAgICAgICdkb20vTXV0YXRp
b25SZWNvcmQuaCcsCiAgICAgICAgICAgICAnZG9tL05hbWVOb2RlTGlzdC5jcHAnLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnBybwppbmRleCBiMGM0YmQ4MGE4NTc3NTQxZTkwZDg1OGM3MjlhYjQyMGFmYjEyOWRmLi5mMjhl
NDY1NzBmM2EwNzcwMGJkNjhiZjNmMGEzNzIxMTAxZmUxNDdmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnBybworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybwpAQCAt
MTU1MSw3ICsxNTUxLDYgQEAgSEVBREVSUyArPSBcCiAgICAgZG9tL01vdXNlUmVsYXRlZEV2ZW50
LmggXAogICAgIGRvbS9NdXRhdGlvbkNhbGxiYWNrLmggXAogICAgIGRvbS9NdXRhdGlvbkV2ZW50
LmggXAotICAgIGRvbS9NdXRhdGlvbk9ic2VydmVyT3B0aW9ucy5oIFwKICAgICBkb20vTXV0YXRp
b25SZWNvcmQuaCBcCiAgICAgZG9tL05hbWVkTm9kZU1hcC5oIFwKICAgICBkb20vTmFtZU5vZGVM
aXN0LmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IGNmNmI1ZTJiYzBmNmI0ODM2NWE3NmZlMjYzY2Y1Y2Q3NDY4MmFhMDQuLjNi
OTVlM2M3OTBmYmY5N2FjOTBlMGE2ZTM0OTg1ZmIwZGVlYjk3MDcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTU0NjcsNyArNTQ2
Nyw2IEBACiAJCUM2RjA5MDBBMTQzMjdCNjEwMDY4NTg0OSAvKiBNdXRhdGlvbkNhbGxiYWNrLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYwOTAwMTE0
MzI3QjYxMDA2ODU4NDkgLyogTXV0YXRpb25DYWxsYmFjay5oICovOyB9OwogCQlDNkYwOTAwRTE0
MzI3QjYxMDA2ODU4NDkgLyogV2ViS2l0TXV0YXRpb25PYnNlcnZlci5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYwOTAwNTE0MzI3QjYxMDA2ODU4
NDkgLyogV2ViS2l0TXV0YXRpb25PYnNlcnZlci5jcHAgKi87IH07CiAJCUM2RjA5MDBGMTQzMjdC
NjEwMDY4NTg0OSAvKiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYwOTAwNjE0MzI3QjYxMDA2ODU4NDkgLyog
V2ViS2l0TXV0YXRpb25PYnNlcnZlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07Ci0JCUM2RjA5MDExMTQzMjdCNjEwMDY4NTg0OSAvKiBNdXRhdGlvbk9i
c2VydmVyT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQzZGMDkwMDgxNDMyN0I2MTAwNjg1ODQ5IC8qIE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25z
LmggKi87IH07CiAJCUM2RjA5MDI4MTQzMjdENEYwMDY4NTg0OSAvKiBKU011dGF0aW9uQ2FsbGJh
Y2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzZG
MDkwMjAxNDMyN0Q0RjAwNjg1ODQ5IC8qIEpTTXV0YXRpb25DYWxsYmFjay5jcHAgKi87IH07CiAJ
CUM2RjA5MDI5MTQzMjdENEYwMDY4NTg0OSAvKiBKU011dGF0aW9uQ2FsbGJhY2suaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM2RjA5MDIxMTQzMjdENEYw
MDY4NTg0OSAvKiBKU011dGF0aW9uQ2FsbGJhY2suaCAqLzsgfTsKIAkJQzZGMDkwMkMxNDMyN0Q0
RjAwNjg1ODQ5IC8qIEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlci5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYwOTAyNDE0MzI3RDRGMDA2ODU4NDkg
LyogSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcCAqLzsgfTsKQEAgLTEyNzY3LDcgKzEyNzY2
LDYgQEAKIAkJQzZGMDkwMDUxNDMyN0I2MTAwNjg1ODQ5IC8qIFdlYktpdE11dGF0aW9uT2JzZXJ2
ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViS2l0TXV0YXRp
b25PYnNlcnZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUM2RjA5MDA2MTQz
MjdCNjEwMDY4NTg0OSAvKiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQzZGMDkwMDcxNDMyN0I2MTAwNjg1ODQ5IC8qIFdlYktpdE11dGF0
aW9uT2JzZXJ2ZXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYktpdE11dGF0aW9uT2Jz
ZXJ2ZXIuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlDNkYwOTAwODE0MzI3QjYx
MDA2ODU4NDkgLyogTXV0YXRpb25PYnNlcnZlck9wdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gTXV0YXRpb25PYnNlcnZlck9wdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQzZGMDkwMjAxNDMyN0Q0RjAwNjg1ODQ5IC8qIEpTTXV0YXRpb25DYWxs
YmFjay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU011dGF0aW9u
Q2FsbGJhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDNkYwOTAyMTE0MzI3
RDRGMDA2ODU4NDkgLyogSlNNdXRhdGlvbkNhbGxiYWNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEpTTXV0YXRpb25DYWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlDNkYwOTAyNDE0MzI3RDRGMDA2ODU4NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9ic2Vy
dmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTV2ViS2l0TXV0
YXRpb25PYnNlcnZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMTEyMiw3
ICsyMTEyMCw2IEBACiAJCQkJODUwMzFCMzMwQTQ0RUZDNzAwRjk5MkUwIC8qIE11dGF0aW9uRXZl
bnQuY3BwICovLAogCQkJCTg1MDMxQjM0MEE0NEVGQzcwMEY5OTJFMCAvKiBNdXRhdGlvbkV2ZW50
LmggKi8sCiAJCQkJOTNFRUMxRjMwOUMyODc3NzAwQzUxNUQxIC8qIE11dGF0aW9uRXZlbnQuaWRs
ICovLAotCQkJCUM2RjA5MDA4MTQzMjdCNjEwMDY4NTg0OSAvKiBNdXRhdGlvbk9ic2VydmVyT3B0
aW9ucy5oICovLAogCQkJCUM2RjA4RkI5MTQzMEZFOEYwMDY4NTg0OSAvKiBNdXRhdGlvblJlY29y
ZC5jcHAgKi8sCiAJCQkJQzZGMDhGQkExNDMwRkU4RjAwNjg1ODQ5IC8qIE11dGF0aW9uUmVjb3Jk
LmggKi8sCiAJCQkJQzZGMDhGQkIxNDMwRkU4RjAwNjg1ODQ5IC8qIE11dGF0aW9uUmVjb3JkLmlk
bCAqLywKQEAgLTIzNjI4LDcgKzIzNjI1LDYgQEAKIAkJCQlCMUFENEU2MzEzQTEyQTBCMDA4NDZC
MjcgLyogTXV0YWJsZVRleHRUcmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzZGMDkwMEExNDMy
N0I2MTAwNjg1ODQ5IC8qIE11dGF0aW9uQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCTg1
MDMxQjRBMEE0NEVGQzcwMEY5OTJFMCAvKiBNdXRhdGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLywK
LQkJCQlDNkYwOTAxMTE0MzI3QjYxMDA2ODU4NDkgLyogTXV0YXRpb25PYnNlcnZlck9wdGlvbnMu
aCBpbiBIZWFkZXJzICovLAogCQkJCUM2RjA4RkJEMTQzMEZFOEYwMDY4NTg0OSAvKiBNdXRhdGlv
blJlY29yZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTgxODcyMjMwOTc3RDNDMDAwNTgyNkQ5IC8q
IE5hbWVkTm9kZU1hcC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTgxODcyMUUwOTc3RDNDMDAwNTgy
NkQ5IC8qIE5hbWVOb2RlTGlzdC5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RpY3Rpb25hcnkuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRGljdGlvbmFyeS5oCmluZGV4IGYxODBiYTUzMWI0OWM3ZjU5N2ZhOWJmYTUyNmYz
ZGJiYjQ5Mzc4YjMuLjc3OTBkNzBmZTE5ZGQ3ZDIzNzQ2Yjc2ZmY0NjAyNWQzZTg3MmRiOGMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGljdGlvbmFyeS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGljdGlvbmFyeS5oCkBAIC01Miw5ICs1Miw2
IEBAIHB1YmxpYzoKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVCwgdHlwZW5hbWUgUmVzdWx0Pgog
ICAgIGJvb2wgdHJ5R2V0UHJvcGVydHkoY29uc3QgY2hhciogcHJvcGVydHlOYW1lLCBUKiBjb250
ZXh0LCB2b2lkICgqc2V0dGVyKShUKiBjb250ZXh0LCBjb25zdCBSZXN1bHQmKSk7CiAKLSAgICB0
ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLSAgICBib29sIHRyeUdldFByb3BlcnR5KGNvbnN0IGNoYXIq
IHByb3BlcnR5TmFtZSwgVCYgY29udGV4dCwgdm9pZCAoVDo6KnNldHRlcikoYm9vbCkpOwotCiBw
cml2YXRlOgogICAgIGVudW0gR2V0UHJvcGVydHlSZXN1bHQgewogICAgICAgICBFeGNlcHRpb25U
aHJvd24sCkBAIC0xMDYsMzAgKzEwMyw2IEBAIGJvb2wgSlNEaWN0aW9uYXJ5Ojp0cnlHZXRQcm9w
ZXJ0eShjb25zdCBjaGFyKiBwcm9wZXJ0eU5hbWUsIFQqIGNvbnRleHQsIHZvaWQgKCpzCiAgICAg
cmV0dXJuIHRydWU7CiB9CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPgotYm9vbCBKU0RpY3Rpb25h
cnk6OnRyeUdldFByb3BlcnR5KGNvbnN0IGNoYXIqIHByb3BlcnR5TmFtZSwgVCYgY29udGV4dCwg
dm9pZCAoVDo6KnNldHRlcikoYm9vbCkpCi17Ci0gICAgSlNDOjpKU1ZhbHVlIHZhbHVlOwotICAg
IHN3aXRjaCAodHJ5R2V0UHJvcGVydHkocHJvcGVydHlOYW1lLCB2YWx1ZSkpIHsKLSAgICBjYXNl
IEV4Y2VwdGlvblRocm93bjoKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGNhc2UgUHJvcGVy
dHlGb3VuZDogewotICAgICAgICBib29sIHJlc3VsdDsKLSAgICAgICAgY29udmVydFZhbHVlKG1f
ZXhlYywgdmFsdWUsIHJlc3VsdCk7Ci0KLSAgICAgICAgaWYgKG1fZXhlYy0+aGFkRXhjZXB0aW9u
KCkpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICAgICAgKGNvbnRleHQuKnNldHRl
cikocmVzdWx0KTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGNhc2UgTm9Qcm9wZXJ0eUZv
dW5kOgotICAgICAgICBicmVhazsKLSAgICB9Ci0KLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQogdGVt
cGxhdGUgPHR5cGVuYW1lIFJlc3VsdD4KIGJvb2wgSlNEaWN0aW9uYXJ5Ojp0cnlHZXRQcm9wZXJ0
eShjb25zdCBjaGFyKiBwcm9wZXJ0eU5hbWUsIFJlc3VsdCYgZmluYWxSZXN1bHQpCiB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYktpdE11dGF0aW9uT2JzZXJ2
ZXJDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJLaXRNdXRhdGlv
bk9ic2VydmVyQ3VzdG9tLmNwcAppbmRleCA3NjZiNTlmYjhiODg3ZDYxMzNmYWJhOTI1MTdlZmQ1
MmU5YzYxODY1Li5jZDYxM2ZmMTYwZTU3NzcyM2YzNWNmMjJlNTFiMWQ2MThiNTBjMzIxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYktpdE11dGF0aW9uT2JzZXJ2
ZXJDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViS2l0TXV0
YXRpb25PYnNlcnZlckN1c3RvbS5jcHAKQEAgLTM4LDcgKzM4LDYgQEAKICNpbmNsdWRlICJKU0Rp
Y3Rpb25hcnkuaCIKICNpbmNsdWRlICJKU011dGF0aW9uQ2FsbGJhY2suaCIKICNpbmNsdWRlICJK
U05vZGUuaCIKLSNpbmNsdWRlICJNdXRhdGlvbk9ic2VydmVyT3B0aW9ucy5oIgogI2luY2x1ZGUg
Ik5vZGUuaCIKICNpbmNsdWRlICJXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmgiCiAjaW5jbHVkZSA8
cnVudGltZS9FcnJvci5oPgpAQCAtNzgsMTcgKzc3LDIzIEBAIEpTVmFsdWUgSlNXZWJLaXRNdXRh
dGlvbk9ic2VydmVyOjpvYnNlcnZlKEV4ZWNTdGF0ZSogZXhlYykKICAgICB9CiAKICAgICBKU0Rp
Y3Rpb25hcnkgZGljdGlvbmFyeShleGVjLCBvcHRpb25zT2JqZWN0KTsKKyAgICBNdXRhdGlvbk9i
c2VydmVyT3B0aW9ucyBvcHRpb25zID0gMDsKKyAgICBib29sIG9wdGlvbjsKKyAgICBpZiAoZGlj
dGlvbmFyeS50cnlHZXRQcm9wZXJ0eSgiY2hpbGRMaXN0Iiwgb3B0aW9uKSAmJiBvcHRpb24pCisg
ICAgICAgIG9wdGlvbnMgfD0gV2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6Q2hpbGRMaXN0OworICAg
IGlmIChkaWN0aW9uYXJ5LnRyeUdldFByb3BlcnR5KCJhdHRyaWJ1dGVzIiwgb3B0aW9uKSAmJiBv
cHRpb24pCisgICAgICAgIG9wdGlvbnMgfD0gV2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6QXR0cmli
dXRlczsKKyAgICBpZiAoZGljdGlvbmFyeS50cnlHZXRQcm9wZXJ0eSgic3VidHJlZSIsIG9wdGlv
bikgJiYgb3B0aW9uKQorICAgICAgICBvcHRpb25zIHw9IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXI6
OlN1YnRyZWU7CisgICAgaWYgKGRpY3Rpb25hcnkudHJ5R2V0UHJvcGVydHkoImF0dHJpYnV0ZU9s
ZFZhbHVlIiwgb3B0aW9uKSAmJiBvcHRpb24pCisgICAgICAgIG9wdGlvbnMgfD0gV2ViS2l0TXV0
YXRpb25PYnNlcnZlcjo6QXR0cmlidXRlT2xkVmFsdWU7CisgICAgaWYgKGRpY3Rpb25hcnkudHJ5
R2V0UHJvcGVydHkoImNoYXJhY3RlckRhdGFPbGRWYWx1ZSIsIG9wdGlvbikgJiYgb3B0aW9uKQor
ICAgICAgICBvcHRpb25zIHw9IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXI6OkNoYXJhY3RlckRhdGFP
bGRWYWx1ZTsKIAotICAgIFJlZlB0cjxNdXRhdGlvbk9ic2VydmVyT3B0aW9ucz4gb3B0aW9ucyA9
IE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zOjpjcmVhdGUoKTsKLSAgICBpZiAoIWRpY3Rpb25hcnku
dHJ5R2V0UHJvcGVydHkoImNoaWxkTGlzdCIsICpvcHRpb25zLCAmTXV0YXRpb25PYnNlcnZlck9w
dGlvbnM6OnNldENoaWxkTGlzdCkKLSAgICAgICAgfHwgIWRpY3Rpb25hcnkudHJ5R2V0UHJvcGVy
dHkoImF0dHJpYnV0ZXMiLCAqb3B0aW9ucywgJk11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zOjpzZXRB
dHRyaWJ1dGVzKQotICAgICAgICB8fCAhZGljdGlvbmFyeS50cnlHZXRQcm9wZXJ0eSgiY2hhcmFj
dGVyRGF0YSIsICpvcHRpb25zLCAmTXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OnNldENoYXJhY3Rl
ckRhdGEpCi0gICAgICAgIHx8ICFkaWN0aW9uYXJ5LnRyeUdldFByb3BlcnR5KCJzdWJ0cmVlIiwg
Km9wdGlvbnMsICZNdXRhdGlvbk9ic2VydmVyT3B0aW9uczo6c2V0U3VidHJlZSkKLSAgICAgICAg
fHwgIWRpY3Rpb25hcnkudHJ5R2V0UHJvcGVydHkoImF0dHJpYnV0ZU9sZFZhbHVlIiwgKm9wdGlv
bnMsICZNdXRhdGlvbk9ic2VydmVyT3B0aW9uczo6c2V0QXR0cmlidXRlT2xkVmFsdWUpCi0gICAg
ICAgIHx8ICFkaWN0aW9uYXJ5LnRyeUdldFByb3BlcnR5KCJjaGFyYWN0ZXJEYXRhT2xkVmFsdWUi
LCAqb3B0aW9ucywgJk11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zOjpzZXRDaGFyYWN0ZXJEYXRhT2xk
VmFsdWUpKQorICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKICAgICAgICAgcmV0dXJuIGpz
VW5kZWZpbmVkKCk7CiAKLSAgICBpbXBsKCktPm9ic2VydmUodGFyZ2V0LCBvcHRpb25zLmdldCgp
KTsKKyAgICBpbXBsKCktPm9ic2VydmUodGFyZ2V0LCBvcHRpb25zKTsKICAgICByZXR1cm4ganNV
bmRlZmluZWQoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4V2ViS2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcApp
bmRleCA5ZTI4ZmU5ODdkNDhlNTQzMTNmNjIyZjc2NzhhZWRjMzczODIwMDE2Li44ODA2ODgzYjBl
ODMzZWNlZGE2MDFhMmQwOWM2OTUxNjRkMWE4YzZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXZWJLaXRNdXRhdGlvbk9i
c2VydmVyQ3VzdG9tLmNwcApAQCAtMzUsNyArMzUsNiBAQAogI2luY2x1ZGUgIlY4V2ViS2l0TXV0
YXRpb25PYnNlcnZlci5oIgogCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgotI2luY2x1ZGUg
Ik11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmgiCiAjaW5jbHVkZSAiT3B0aW9uc09iamVjdC5oIgog
I2luY2x1ZGUgIlY4QmluZGluZy5oIgogI2luY2x1ZGUgIlY4QmluZGluZ01hY3Jvcy5oIgpAQCAt
ODYsMjMgKzg1LDIyIEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFdlYktpdE11dGF0aW9uT2Jz
ZXJ2ZXI6Om9ic2VydmVDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lCiAgICAgICAgIHJldHVybiB0
aHJvd0Vycm9yKFRZUEVfTUlTTUFUQ0hfRVJSKTsKIAogICAgIE9wdGlvbnNPYmplY3Qgb3B0aW9u
c09iamVjdChhcmdzWzFdKTsKLSAgICBSZWZQdHI8TXV0YXRpb25PYnNlcnZlck9wdGlvbnM+IG9w
dGlvbnMgPSBNdXRhdGlvbk9ic2VydmVyT3B0aW9uczo6Y3JlYXRlKCk7Ci0KKyAgICB1bnNpZ25l
ZCBvcHRpb25zID0gMDsKICAgICBib29sIG9wdGlvbjsKLSAgICBpZiAob3B0aW9uc09iamVjdC5n
ZXRLZXlWYWx1ZSgiY2hpbGRMaXN0Iiwgb3B0aW9uKSkKLSAgICAgICAgb3B0aW9ucy0+c2V0Q2hp
bGRMaXN0KG9wdGlvbik7Ci0gICAgaWYgKG9wdGlvbnNPYmplY3QuZ2V0S2V5VmFsdWUoImF0dHJp
YnV0ZXMiLCBvcHRpb24pKQotICAgICAgICBvcHRpb25zLT5zZXRBdHRyaWJ1dGVzKG9wdGlvbik7
Ci0gICAgaWYgKG9wdGlvbnNPYmplY3QuZ2V0S2V5VmFsdWUoImNoYXJhY3RlckRhdGEiLCBvcHRp
b24pKQotICAgICAgICBvcHRpb25zLT5zZXRDaGFyYWN0ZXJEYXRhKG9wdGlvbik7Ci0gICAgaWYg
KG9wdGlvbnNPYmplY3QuZ2V0S2V5VmFsdWUoInN1YnRyZWUiLCBvcHRpb24pKQotICAgICAgICBv
cHRpb25zLT5zZXRTdWJ0cmVlKG9wdGlvbik7Ci0gICAgaWYgKG9wdGlvbnNPYmplY3QuZ2V0S2V5
VmFsdWUoImF0dHJpYnV0ZU9sZFZhbHVlIiwgb3B0aW9uKSkKLSAgICAgICAgb3B0aW9ucy0+c2V0
QXR0cmlidXRlT2xkVmFsdWUob3B0aW9uKTsKLSAgICBpZiAob3B0aW9uc09iamVjdC5nZXRLZXlW
YWx1ZSgiY2hhcmFjdGVyRGF0YU9sZFZhbHVlIiwgb3B0aW9uKSkKLSAgICAgICAgb3B0aW9ucy0+
c2V0Q2hhcmFjdGVyRGF0YU9sZFZhbHVlKG9wdGlvbik7Ci0KLSAgICBpbXAtPm9ic2VydmUodGFy
Z2V0LCBvcHRpb25zLmdldCgpKTsKKyAgICBpZiAob3B0aW9uc09iamVjdC5nZXRLZXlWYWx1ZSgi
Y2hpbGRMaXN0Iiwgb3B0aW9uKSAmJiBvcHRpb24pCisgICAgICAgIG9wdGlvbnMgfD0gV2ViS2l0
TXV0YXRpb25PYnNlcnZlcjo6Q2hpbGRMaXN0OworICAgIGlmIChvcHRpb25zT2JqZWN0LmdldEtl
eVZhbHVlKCJhdHRyaWJ1dGVzIiwgb3B0aW9uKSAmJiBvcHRpb24pCisgICAgICAgIG9wdGlvbnMg
fD0gV2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6QXR0cmlidXRlczsKKyAgICBpZiAob3B0aW9uc09i
amVjdC5nZXRLZXlWYWx1ZSgiY2hhcmFjdGVyRGF0YSIsIG9wdGlvbikgJiYgb3B0aW9uKQorICAg
ICAgICBvcHRpb25zIHw9IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXI6OkNoYXJhY3RlckRhdGE7Cisg
ICAgaWYgKG9wdGlvbnNPYmplY3QuZ2V0S2V5VmFsdWUoInN1YnRyZWUiLCBvcHRpb24pICYmIG9w
dGlvbikKKyAgICAgICAgb3B0aW9ucyB8PSBXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpTdWJ0cmVl
OworICAgIGlmIChvcHRpb25zT2JqZWN0LmdldEtleVZhbHVlKCJhdHRyaWJ1dGVPbGRWYWx1ZSIs
IG9wdGlvbikgJiYgb3B0aW9uKQorICAgICAgICBvcHRpb25zIHw9IFdlYktpdE11dGF0aW9uT2Jz
ZXJ2ZXI6OkF0dHJpYnV0ZU9sZFZhbHVlOworICAgIGlmIChvcHRpb25zT2JqZWN0LmdldEtleVZh
bHVlKCJjaGFyYWN0ZXJEYXRhT2xkVmFsdWUiLCBvcHRpb24pICYmIG9wdGlvbikKKyAgICAgICAg
b3B0aW9ucyB8PSBXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpDaGFyYWN0ZXJEYXRhT2xkVmFsdWU7
CisKKyAgICBpbXAtPm9ic2VydmUodGFyZ2V0LCBvcHRpb25zKTsKICAgICByZXR1cm4gdjg6Okhh
bmRsZTx2ODo6VmFsdWU+KCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9N
dXRhdGlvbk9ic2VydmVyT3B0aW9ucy5oIGIvU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uT2Jz
ZXJ2ZXJPcHRpb25zLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNmZTVkMWNkMjg0
YmQxZjRiODQzNjdhOWU2ZDVhNzE2ZmZlYmMzZGUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uT2JzZXJ2ZXJP
cHRpb25zLmgKKysrIC9kZXYvbnVsbApAQCAtMSw5MiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0
IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCi0gKiBtZXQ6Ci0gKgotICogICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUKLSAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKLSAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqIGRpc3RyaWJ1dGlvbi4K
LSAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBv
ZiBpdHMKLSAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0gKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
Ci0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKLSAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLAotICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0g
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBNdXRhdGlvbk9i
c2VydmVyT3B0aW9uc19oCi0jZGVmaW5lIE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zX2gKLQotI2lm
IEVOQUJMRShNVVRBVElPTl9PQlNFUlZFUlMpCi0KLSNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5o
PgotI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQot
Y2xhc3MgTXV0YXRpb25PYnNlcnZlck9wdGlvbnMgOiBwdWJsaWMgUmVmQ291bnRlZDxNdXRhdGlv
bk9ic2VydmVyT3B0aW9ucz4gewotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPE11dGF0
aW9uT2JzZXJ2ZXJPcHRpb25zPiBjcmVhdGUoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0
UmVmKG5ldyBNdXRhdGlvbk9ic2VydmVyT3B0aW9ucyk7Ci0gICAgfQotCi0gICAgYm9vbCBjaGls
ZExpc3QoKSBjb25zdCB7IHJldHVybiBtX2NoaWxkTGlzdDsgfQotICAgIHZvaWQgc2V0Q2hpbGRM
aXN0KGJvb2wgdmFsdWUpIHsgbV9jaGlsZExpc3QgPSB2YWx1ZTsgfQotCi0gICAgYm9vbCBhdHRy
aWJ1dGVzKCkgY29uc3QgeyByZXR1cm4gbV9hdHRyaWJ1dGVzOyB9Ci0gICAgdm9pZCBzZXRBdHRy
aWJ1dGVzKGJvb2wgdmFsdWUpIHsgbV9hdHRyaWJ1dGVzID0gdmFsdWU7IH0KLQotICAgIGJvb2wg
Y2hhcmFjdGVyRGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1fY2hhcmFjdGVyRGF0YTsgfQotICAgIHZv
aWQgc2V0Q2hhcmFjdGVyRGF0YShib29sIHZhbHVlKSB7IG1fY2hhcmFjdGVyRGF0YSA9IHZhbHVl
OyB9Ci0KLSAgICBib29sIHN1YnRyZWUoKSBjb25zdCB7IHJldHVybiBtX3N1YnRyZWU7IH0KLSAg
ICB2b2lkIHNldFN1YnRyZWUoYm9vbCB2YWx1ZSkgeyBtX3N1YnRyZWUgPSB2YWx1ZTsgfQotCi0g
ICAgYm9vbCBhdHRyaWJ1dGVPbGRWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fYXR0cmlidXRlT2xk
VmFsdWU7IH0KLSAgICB2b2lkIHNldEF0dHJpYnV0ZU9sZFZhbHVlKGJvb2wgdmFsdWUpIHsgbV9h
dHRyaWJ1dGVPbGRWYWx1ZSA9IHZhbHVlOyB9Ci0KLSAgICBib29sIGNoYXJhY3RlckRhdGFPbGRW
YWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fYXR0cmlidXRlT2xkVmFsdWU7IH0KLSAgICB2b2lkIHNl
dENoYXJhY3RlckRhdGFPbGRWYWx1ZShib29sIHZhbHVlKSB7IG1fY2hhcmFjdGVyRGF0YU9sZFZh
bHVlID0gdmFsdWU7IH0KLQotICAgIC8vIEZJWE1FOiBGaWd1cmUgb3V0IGhvdyB0byBtb2RlbCB0
aGlzIGJhc2VkIG9uIHRoZSBJREwuCi0gICAgLy8gRE9NU3RyaW5nW10gYXR0cmlidXRlRmlsdGVy
OwotCi1wcml2YXRlOgotICAgIE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zKCkKLSAgICAgICAgOiBt
X2NoaWxkTGlzdChmYWxzZSkKLSAgICAgICAgLCBtX2F0dHJpYnV0ZXMoZmFsc2UpCi0gICAgICAg
ICwgbV9jaGFyYWN0ZXJEYXRhKGZhbHNlKQotICAgICAgICAsIG1fc3VidHJlZShmYWxzZSkKLSAg
ICAgICAgLCBtX2F0dHJpYnV0ZU9sZFZhbHVlKGZhbHNlKQotICAgICAgICAsIG1fY2hhcmFjdGVy
RGF0YU9sZFZhbHVlKGZhbHNlKQotICAgIHsKLSAgICB9Ci0KLSAgICBib29sIG1fY2hpbGRMaXN0
OwotICAgIGJvb2wgbV9hdHRyaWJ1dGVzOwotICAgIGJvb2wgbV9jaGFyYWN0ZXJEYXRhOwotICAg
IGJvb2wgbV9zdWJ0cmVlOwotICAgIGJvb2wgbV9hdHRyaWJ1dGVPbGRWYWx1ZTsKLSAgICBib29s
IG1fY2hhcmFjdGVyRGF0YU9sZFZhbHVlOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQot
Ci0jZW5kaWYgLy8gRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUykKLQotI2VuZGlmIC8vIE11dGF0
aW9uT2JzZXJ2ZXJPcHRpb25zX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2Rl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAppbmRleCBkMDIxMGQ5ZGYyYmMyNjEz
ZDNhMzY3ODQ4ZGI0YjhmNDBkNTY0YWZmLi44ODEzZWIxNDdiNmMyNmU2NjE2OWE3NmYwNmQyMWVk
NGM2MzUxOTAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCkBAIC0yNzA1LDcgKzI3MDUsNyBAQCB2b2lkIE5v
ZGU6OnJlZ2lzdGVyZWRNdXRhdGlvbk9ic2VydmVyc09mVHlwZShWZWN0b3I8V2ViS2l0TXV0YXRp
b25PYnNlcnZlcio+JiBvYgogICAgIH0KIH0KIAotTm9kZTo6TXV0YXRpb25SZWdpc3RyYXRpb25S
ZXN1bHQgTm9kZTo6cmVnaXN0ZXJNdXRhdGlvbk9ic2VydmVyKFBhc3NSZWZQdHI8V2ViS2l0TXV0
YXRpb25PYnNlcnZlcj4gb2JzZXJ2ZXIsIHVuc2lnbmVkIGNoYXIgb3B0aW9ucykKK05vZGU6Ok11
dGF0aW9uUmVnaXN0cmF0aW9uUmVzdWx0IE5vZGU6OnJlZ2lzdGVyTXV0YXRpb25PYnNlcnZlcihQ
YXNzUmVmUHRyPFdlYktpdE11dGF0aW9uT2JzZXJ2ZXI+IG9ic2VydmVyLCBNdXRhdGlvbk9ic2Vy
dmVyT3B0aW9ucyBvcHRpb25zKQogewogICAgIFZlY3RvcjxNdXRhdGlvbk9ic2VydmVyRW50cnk+
KiBvYnNlcnZlckVudHJpZXMgPSBlbnN1cmVNdXRhdGlvbk9ic2VydmVyRW50cmllcygpOwogICAg
IE11dGF0aW9uT2JzZXJ2ZXJFbnRyeSBlbnRyeShvYnNlcnZlciwgb3B0aW9ucyk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUu
aAppbmRleCBlZGMwMGUxYjY3ZDFmZTkwNDE5Mjk2OGE4YjgwN2I2MjY3ZjQyNjVjLi5mNTRlYzQ3
OWQwMDE0YTMyNjE1NDIyZDBhOWJiODMwZGQyYmU5ODA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKQEAgLTU5OCw3
ICs1OTgsNyBAQCBwdWJsaWM6CiAgICAgICAgIE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RlcmVkLAog
ICAgICAgICBNdXRhdGlvblJlZ2lzdHJhdGlvbk9wdGlvbnNSZXNldAogICAgIH07Ci0gICAgTXV0
YXRpb25SZWdpc3RyYXRpb25SZXN1bHQgcmVnaXN0ZXJNdXRhdGlvbk9ic2VydmVyKFBhc3NSZWZQ
dHI8V2ViS2l0TXV0YXRpb25PYnNlcnZlcj4sIHVuc2lnbmVkIGNoYXIgb3B0aW9ucyk7CisgICAg
TXV0YXRpb25SZWdpc3RyYXRpb25SZXN1bHQgcmVnaXN0ZXJNdXRhdGlvbk9ic2VydmVyKFBhc3NS
ZWZQdHI8V2ViS2l0TXV0YXRpb25PYnNlcnZlcj4sIE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zKTsK
IAogICAgIHZvaWQgdW5yZWdpc3Rlck11dGF0aW9uT2JzZXJ2ZXIoUGFzc1JlZlB0cjxXZWJLaXRN
dXRhdGlvbk9ic2VydmVyPik7CiAjZW5kaWYgLy8gRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaAppbmRleCA2OTA4ZDgxY2FhOWE2ZDE2Njg2NDVlNTc5
ZTg1OWZiODJjMGNjMjhiLi5lMjU4YWZhNGUyNmMwZGEyMDZkZTY0ODkxNmRmMjhhOWQ5ZmFlZGU2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oCkBAIC05MCw3ICs5MCw3IEBAIHByaXZhdGU6
CiAKICNpZiBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQogc3RydWN0IE11dGF0aW9uT2JzZXJ2
ZXJFbnRyeSB7Ci0gICAgTXV0YXRpb25PYnNlcnZlckVudHJ5KFBhc3NSZWZQdHI8V2ViS2l0TXV0
YXRpb25PYnNlcnZlcj4gb2JzZXJ2ZXIsIHVuc2lnbmVkIGNoYXIgb3B0aW9ucykKKyAgICBNdXRh
dGlvbk9ic2VydmVyRW50cnkoUGFzc1JlZlB0cjxXZWJLaXRNdXRhdGlvbk9ic2VydmVyPiBvYnNl
cnZlciwgTXV0YXRpb25PYnNlcnZlck9wdGlvbnMgb3B0aW9ucykKICAgICAgICAgOiBvYnNlcnZl
cihvYnNlcnZlcikKICAgICAgICAgLCBvcHRpb25zKG9wdGlvbnMpCiAgICAgewpAQCAtMTAxLDEz
ICsxMDEsMTMgQEAgc3RydWN0IE11dGF0aW9uT2JzZXJ2ZXJFbnRyeSB7CiAgICAgICAgIHJldHVy
biBvYnNlcnZlciA9PSBvdGhlci5vYnNlcnZlcjsKICAgICB9CiAKLSAgICBib29sIG1hdGNoZXMo
dW5zaWduZWQgY2hhciBvcHRpb25zKSBjb25zdAorICAgIGJvb2wgbWF0Y2hlcyhNdXRhdGlvbk9i
c2VydmVyT3B0aW9ucyBvcHRpb25zKSBjb25zdAogICAgIHsKICAgICAgICAgcmV0dXJuIHRoaXMt
Pm9wdGlvbnMgJiBvcHRpb25zOwogICAgIH0KIAogICAgIFJlZlB0cjxXZWJLaXRNdXRhdGlvbk9i
c2VydmVyPiBvYnNlcnZlcjsKLSAgICB1bnNpZ25lZCBjaGFyIG9wdGlvbnM7CisgICAgTXV0YXRp
b25PYnNlcnZlck9wdGlvbnMgb3B0aW9uczsKIH07CiAKICNlbmRpZiAvLyBFTkFCTEUoTVVUQVRJ
T05fT0JTRVJWRVJTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE11dGF0
aW9uT2JzZXJ2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2
ZXIuY3BwCmluZGV4IGJiZmU0Y2I5ZjRhOWFjYmQzOTI3ZmM1ODIzZjg1NmYzYzE0Mjc0NzcuLjdk
NzM2YWU3YmFjNjRjNDU4OGZjYmEyZmMzZDNiNzc1Mjk3YmRlMTQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vV2ViS2l0TXV0YXRpb25PYnNlcnZlci5jcHAKQEAgLTM0LDcgKzM0LDYgQEAKIAog
I2luY2x1ZGUgIldlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaCIKIAotI2luY2x1ZGUgIk11dGF0aW9u
T2JzZXJ2ZXJPcHRpb25zLmgiCiAjaW5jbHVkZSAiTXV0YXRpb25DYWxsYmFjay5oIgogI2luY2x1
ZGUgIk11dGF0aW9uUmVjb3JkLmgiCiAjaW5jbHVkZSAiTm9kZS5oIgpAQCAtNTYsMjAgKzU1LDEx
IEBAIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXI6On5XZWJLaXRNdXRhdGlvbk9ic2VydmVyKCkKIHsK
IH0KIAotdm9pZCBXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpvYnNlcnZlKE5vZGUqIG5vZGUsIE11
dGF0aW9uT2JzZXJ2ZXJPcHRpb25zKiBvcHRpb25zKQordm9pZCBXZWJLaXRNdXRhdGlvbk9ic2Vy
dmVyOjpvYnNlcnZlKE5vZGUqIG5vZGUsIE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zIG9wdGlvbnMp
CiB7Ci0gICAgdW5zaWduZWQgY2hhciBvcHRpb25GbGFncyA9IDA7Ci0KLSAgICAvLyBGSVhNRTog
UHVzaCBjb21wb3NpdGlvbiBvZiB0aGUgb3B0aW9uRmxhZ3MgaW50byB0aGUgY3VzdG9tIGJpbmRp
bmcuCi0gICAgaWYgKG9wdGlvbnMtPmNoaWxkTGlzdCgpKQotICAgICAgICBvcHRpb25GbGFncyB8
PSBDaGlsZExpc3Q7Ci0gICAgaWYgKG9wdGlvbnMtPmF0dHJpYnV0ZXMoKSkKLSAgICAgICAgb3B0
aW9uRmxhZ3MgfD0gQXR0cmlidXRlczsKLSAgICBpZiAob3B0aW9ucy0+Y2hhcmFjdGVyRGF0YSgp
KQotICAgICAgICBvcHRpb25GbGFncyB8PSBDaGFyYWN0ZXJEYXRhOwotICAgIC8vIEZJWE1FOiBN
b3JlIG9wdGlvbnMgY29tcG9zaXRpb24gd29yayBuZWVkcyB0byBiZSBkb25lIGhlcmUuCi0KLSAg
ICBpZiAobm9kZS0+cmVnaXN0ZXJNdXRhdGlvbk9ic2VydmVyKHRoaXMsIG9wdGlvbkZsYWdzKSA9
PSBOb2RlOjpNdXRhdGlvbk9ic2VydmVyUmVnaXN0ZXJlZCkKKyAgICAvLyBGSVhNRTogTW9yZSBv
cHRpb25zIGNvbXBvc2l0aW9uIHdvcmsgbmVlZHMgdG8gYmUgZG9uZSBoZXJlLCBlLmcuLCB2YWxp
ZGF0aW9uLgorCisgICAgaWYgKG5vZGUtPnJlZ2lzdGVyTXV0YXRpb25PYnNlcnZlcih0aGlzLCBv
cHRpb25zKSA9PSBOb2RlOjpNdXRhdGlvbk9ic2VydmVyUmVnaXN0ZXJlZCkKICAgICAgICAgbV9v
YnNlcnZlZE5vZGVzLmFwcGVuZChub2RlKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJL
aXRNdXRhdGlvbk9ic2VydmVyLmgKaW5kZXggNmMxOTVmZWNjZWNmN2YyZjEyYjhlYmVlMjJmMTNj
M2U2ODg5MzllNS4uZmMzMjg2MDk5ODRhYTEyMWEzY2JmODY5NDQwNDYxZWIyY2E2NTk4ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TXV0YXRpb25PYnNlcnZlci5oCkBAIC00MSwxMCAr
NDEsMTEgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgTXV0YXRpb25DYWxsYmFjazsK
LWNsYXNzIE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zOwogY2xhc3MgTXV0YXRpb25SZWNvcmQ7CiBj
bGFzcyBOb2RlOwogCit0eXBlZGVmIHVuc2lnbmVkIGNoYXIgTXV0YXRpb25PYnNlcnZlck9wdGlv
bnM7CisKIGNsYXNzIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxX
ZWJLaXRNdXRhdGlvbk9ic2VydmVyPiB7CiBwdWJsaWM6CiAgICAgZW51bSBNdXRhdGlvblR5cGUg
ewpAQCAtNjUsNyArNjYsNyBAQCBwdWJsaWM6CiAKICAgICB+V2ViS2l0TXV0YXRpb25PYnNlcnZl
cigpOwogCi0gICAgdm9pZCBvYnNlcnZlKE5vZGUqLCBNdXRhdGlvbk9ic2VydmVyT3B0aW9ucyop
OworICAgIHZvaWQgb2JzZXJ2ZShOb2RlKiwgTXV0YXRpb25PYnNlcnZlck9wdGlvbnMpOwogICAg
IHZvaWQgZGlzY29ubmVjdCgpOwogICAgIHZvaWQgb2JzZXJ2ZWROb2RlRGVzdHJ1Y3RlZChOb2Rl
Kik7CiAgICAgdm9pZCBlbnF1ZXVlTXV0YXRpb25SZWNvcmQoUGFzc1JlZlB0cjxNdXRhdGlvblJl
Y29yZD4pOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>