<?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>86164</bug_id>
          
          <creation_ts>2012-05-10 17:56:16 -0700</creation_ts>
          <short_desc>WebKit2: Add a way to blacklist specific plug-ins/plug-in versions</short_desc>
          <delta_ts>2012-05-10 18:49:02 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>621167</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2012-05-10 17:56:16 -0700</bug_when>
    <thetext>WebKit2: Add a way to blacklist specific plug-ins/plug-in versions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>621171</commentid>
    <comment_count>1</comment_count>
      <attachid>141304</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2012-05-10 18:10:10 -0700</bug_when>
    <thetext>Created attachment 141304
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>621190</commentid>
    <comment_count>2</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2012-05-10 18:49:02 -0700</bug_when>
    <thetext>Committed r116716: &lt;http://trac.webkit.org/changeset/116716&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>141304</attachid>
            <date>2012-05-10 18:10:10 -0700</date>
            <delta_ts>2012-05-10 18:37:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86164-20120510181228.patch</filename>
            <type>text/plain</type>
            <size>35898</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2NzA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYzUyNjk1Yjc1ZWZkYzUy
ODE2ZDViNWQ3YzIyYTc1NDc0YWE4M2EwMy4uYTNlMGRiMmFhNGI4ODkwZGVkNTk4YzFjNDc0Njg2
MDY5MGMwZTI5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDc3IEBACiAyMDEyLTA1LTEwICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKKyAgICAgICAgV2ViS2l0MjogQWRk
IGEgd2F5IHRvIGJsYWNrbGlzdCBzcGVjaWZpYyBwbHVnLWlucy9wbHVnLWluIHZlcnNpb25zCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NjE2NAorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vOTU1MTE5Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIFNoYXJlZC9BUEkvYy9XS0Vycm9yLmg6CisgICAgICAg
IEFkZCBrV0tFcnJvckNvZGVJbnNlY3VyZVBsdWdJblZlcnNpb24gZXJyb3IgY29kZS4KKworICAg
ICAgICAqIFNoYXJlZC9BUElDbGllbnRUcmFpdHMuY3BwOgorICAgICAgICBVcGRhdGUgbm93IHRo
YXQgZGlkRmFpbFRvSW5pdGlhbGl6ZVBsdWdpbiBpcyBkZXByZWNhdGVkLgorCisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5oOgorICAgICAgICBEZXByZWNhdGUgZGlkRmFpbFRvSW5p
dGlhbGl6ZVBsdWdpbiBhbmQgcmVwbGFjZSBpdCB3aXRoIHRoZSBtb3JlIGdlbmVyaWMgcGx1Z2lu
RGlkRmFpbC4gCisgICAgICAgIEFsc28sIGRlcHJlY2F0ZSBtaXNzaW5nUGx1Z2luQnV0dG9uQ2xp
Y2tlZCBhbmQgcmVwbGFjZSBpdCB3aXRoIHVuYXZhaWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tlZC4K
KworICAgICAgICAqIFVJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbkluZm9TdG9yZS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OlBsdWdpbkluZm9TdG9yZTo6c2hvdWxkQmxvY2tQbHVnaW4pOgorICAgICAg
ICBOb24tTWFjIHZlcnNpb24sIGFsd2F5cyByZXR1cm4gZmFsc2UuCisKKyAgICAgICAgKiBVSVBy
b2Nlc3MvUGx1Z2lucy9tYWMvUGx1Z2luSW5mb1N0b3JlTWFjLm1tOgorICAgICAgICAoV2ViS2l0
OjpQbHVnaW5JbmZvU3RvcmU6OnNob3VsZEJsb2NrUGx1Z2luKToKKyAgICAgICAgQ2FsbCBXS1No
b3VsZEJsb2NrUGx1Z2luLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJDb250ZXh0OjpnZXRQbHVnaW5QYXRoKToKKyAgICAgICAgQ2hl
Y2sgaWYgdGhlIHBsdWctaW4gc2hvdWxkIGJlIGJsb2NrZWQuCisKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViQ29udGV4dC5tZXNzYWdlcy5pbjoKKyAgICAgICAgR2V0UGx1Z2luUGF0aCBub3cgdGFr
ZXMgYW4gYWRkaXRpb25hbCBvdXQgcGFyYW1ldGVyLCBhIGJvb2xlYW4gdGhhdCBkZXRlcm1pbmVz
IHdoZXRoZXIgdGhlIHBsdWctaW4KKyAgICAgICAgc2hvdWxkIGJlIGJsb2NrZWQgZnJvbSBsb2Fk
aW5nIG9yIG5vdC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJMb2FkZXJDbGllbnQuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJMb2FkZXJDbGllbnQ6OmRpZEZhaWxUb0luaXRpYWxpemVQbHVn
aW4pOgorICAgICAgICBDYWxsIG1fY2xpZW50LnBsdWdpbkRpZEZhaWwuCisKKyAgICAgICAgKFdl
YktpdDo6V2ViTG9hZGVyQ2xpZW50OjpkaWRCbG9ja0luc2VjdXJlUGx1Z2luVmVyc2lvbik6Cisg
ICAgICAgIERpdHRvLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6dW5hdmFpbGFibGVQbHVnaW5CdXR0b25DbGlj
a2VkKToKKyAgICAgICAgQ2FsbCB0aGUgbG9hZGVyIGNsaWVudC4KKworICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlUHJveHk6OmRpZEJsb2NrSW5zZWN1cmVQbHVnaW5WZXJzaW9uKToKKyAgICAgICAg
RGl0dG8uCisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOgor
ICAgICAgICBSZW5hbWUgTWlzc2luZ1BsdWdpbkJ1dHRvbkNsaWNrZWQgdG8gVW5hdmFpbGFibGVQ
bHVnaW5CdXR0b25DbGlja2VkIGFuZCBhZGQgYSBuZXcgRGlkQmxvY2tJbnNlY3VyZVBsdWdpblZl
cnNpb24gbWVzc2FnZS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJVSUNsaWVudC5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlVJQ2xpZW50Ojp1bmF2YWlsYWJsZVBsdWdpbkJ1dHRvbkNsaWNr
ZWQpOgorICAgICAgICBDYWxsIG1pc3NpbmdQbHVnaW5CdXR0b25DbGlja2VkIGFuZCB1bmF2YWls
YWJsZVBsdWdpbkJ1dHRvbkNsaWNrZWQuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNocm9tZUNs
aWVudDo6c2hvdWxkVW5hdmFpbGFibGVQbHVnaW5NZXNzYWdlQmVCdXR0b24pOgorICAgICAgICAo
V2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6OnVuYXZhaWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tlZCk6
CisgICAgICAgIEhhbmRsZSBSZW5kZXJFbWJlZGRlZE9iamVjdDo6SW5zZWN1cmVQbHVnaW5WZXJz
aW9uLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRl
ckNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lTG9hZGVyQ2xpZW50OjpjcmVh
dGVQbHVnaW4pOgorICAgICAgICBXZWJQYWdlOjpjcmVhdGVQbHVnaW4gbm93IHRha2VzIHRoZSBw
bHVnLWluIGVsZW1lbnQuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmNyZWF0ZVBsdWdpbik6CisgICAgICAgIElm
IHRoZSBwbHVnLWluIGlzIGJsb2NrZWQsIHNldCB0aGUgYXBwcm9wcmlhdGUgdW5hdmFpbGFiaWxp
dHkgcmVhc29uLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6Y2FuUGx1Z2luSGFuZGxlUmVzcG9uc2UpOgorICAgICAgICBVcGRhdGUgbm93
IHRoYXQgR2V0UGx1Z2luUGF0aCByZXR1cm5zIGEgYmxvY2tlZCBwYXJhbWV0ZXIgYXMgd2VsbC4K
KworMjAxMi0wNS0xMCAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgorCiAg
ICAgICAgIFJlbmFtZSB0aGUgbWlzc2luZyBwbHVnLWluIGluZGljYXRvciB0byB0aGUgdW5hdmFp
bGFibGUgcGx1Zy1pbiBpbmRpY2F0b3IKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTg2MTM2CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9BUEkvYy9XS0Vycm9yLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tFcnJvci5o
CmluZGV4IDZmMWY0ZjM2YzI0Yjg0YWUzYjQwODE0NmJlZDNhYTljNzBhZjYzNWQuLmU4MTE3ZjVh
YTNlYzhkYzY4YWM3NzgxNmU2ZDkxZjEwOWU3MjQ1N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9BUEkvYy9XS0Vycm9yLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQ
SS9jL1dLRXJyb3IuaApAQCAtNDIsNiArNDIsNyBAQCBlbnVtIHsKICAgICBrV0tFcnJvckNvZGVK
YXZhVW5hdmFpbGFibGUgPSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAyLAogICAg
IGtXS0Vycm9yQ29kZVBsdWdJbkNhbmNlbGxlZENvbm5lY3Rpb24gPSAgICAgICAgICAgICAgICAg
ICAgICAyMDMsCiAgICAga1dLRXJyb3JDb2RlUGx1Z0luV2lsbEhhbmRsZUxvYWQgPSAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDIwNCwKKyAgICBrV0tFcnJvckNvZGVJbnNlY3VyZVBsdWdJblZl
cnNpb24gPSAgICAgICAgICAgICAgICAgICAgICAgICAgMjA1LAogfTsKIHR5cGVkZWYgdWludDMy
X3QgV0tFcnJvckNvZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElD
bGllbnRUcmFpdHMuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSUNsaWVudFRyYWl0cy5j
cHAKaW5kZXggZjE4ZDI2MzU4MGU5YWU2NGM3YzYzYzYzM2U2YzUyZjIwODRjYTNiYi4uZjFmNjg4
YzBlOTk4NmU2MDQ4YTE2OTBlZDlkNDcyMjBmMjljMjc3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL0FQSUNsaWVudFRyYWl0cy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL0FQSUNsaWVudFRyYWl0cy5jcHAKQEAgLTUyLDcgKzUyLDcgQEAgY29uc3Qgc2l6ZV90IEFQ
SUNsaWVudFRyYWl0czxXS1BhZ2VDb250ZXh0TWVudUNsaWVudD46OmludGVyZmFjZVNpemVzQnlW
ZXJzaW9uW10KIH07CiAKIGNvbnN0IHNpemVfdCBBUElDbGllbnRUcmFpdHM8V0tQYWdlTG9hZGVy
Q2xpZW50Pjo6aW50ZXJmYWNlU2l6ZXNCeVZlcnNpb25bXSA9IHsKLSAgICBvZmZzZXRvZihXS1Bh
Z2VMb2FkZXJDbGllbnQsIGRpZEZhaWxUb0luaXRpYWxpemVQbHVnaW4pLAorICAgIG9mZnNldG9m
KFdLUGFnZUxvYWRlckNsaWVudCwgZGlkRmFpbFRvSW5pdGlhbGl6ZVBsdWdpbl9kZXByZWNhdGVk
Rm9yVXNlV2l0aFYwKSwKICAgICBzaXplb2YoV0tQYWdlTG9hZGVyQ2xpZW50KQogfTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5oIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5oCmluZGV4IGE2ZDhhNjYxYTllZmQwYTY4
MDIwYTYzZmZmNjE0ZTAzM2E4N2EwYWUuLmFlZWZlZTc5NjA4OTIzYWIxNWRjNDRlMjFkMDllZDQw
ZGUzNzNlYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1Bh
Z2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmgKQEAgLTI3
LDYgKzI3LDcgQEAKICNkZWZpbmUgV0tQYWdlX2gKIAogI2luY2x1ZGUgPFdlYktpdDIvV0tCYXNl
Lmg+CisjaW5jbHVkZSA8V2ViS2l0Mi9XS0Vycm9yLmg+CiAjaW5jbHVkZSA8V2ViS2l0Mi9XS0V2
ZW50Lmg+CiAjaW5jbHVkZSA8V2ViS2l0Mi9XS0ZpbmRPcHRpb25zLmg+CiAjaW5jbHVkZSA8V2Vi
S2l0Mi9XS0dlb21ldHJ5Lmg+CkBAIC02OSw5ICs3MCwxMiBAQCB0eXBlZGVmIGJvb2wgKCpXS1Bh
Z2VDYW5BdXRoZW50aWNhdGVBZ2FpbnN0UHJvdGVjdGlvblNwYWNlSW5GcmFtZUNhbGxiYWNrKShX
S1BhZwogdHlwZWRlZiB2b2lkICgqV0tQYWdlRGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlSW5GcmFtZUNhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tGcmFtZVJlZiBmcmFtZSwgV0tB
dXRoZW50aWNhdGlvbkNoYWxsZW5nZVJlZiBhdXRoZW50aWNhdGlvbkNoYWxsZW5nZSwgY29uc3Qg
dm9pZCAqY2xpZW50SW5mbyk7CiB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VEaWRDaGFuZ2VCYWNrRm9y
d2FyZExpc3RDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLQmFja0ZvcndhcmRMaXN0SXRlbVJl
ZiBhZGRlZEl0ZW0sIFdLQXJyYXlSZWYgcmVtb3ZlZEl0ZW1zLCBjb25zdCB2b2lkICpjbGllbnRJ
bmZvKTsKIHR5cGVkZWYgYm9vbCAoKldLUGFnZVNob3VsZEdvVG9CYWNrRm9yd2FyZExpc3RJdGVt
Q2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBXS0JhY2tGb3J3YXJkTGlzdEl0ZW1SZWYgaXRlbSwg
Y29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7Ci10eXBlZGVmIHZvaWQgKCpXS1BhZ2VEaWRGYWlsVG9J
bml0aWFsaXplUGx1Z2luQ2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBXS1N0cmluZ1JlZiBtaW1l
VHlwZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VEaWRO
ZXdGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXRDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdL
VHlwZVJlZiB1c2VyRGF0YSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7CiB0eXBlZGVmIHZvaWQg
KCpXS1BhZ2VXaWxsR29Ub0JhY2tGb3J3YXJkTGlzdEl0ZW1DYWxsYmFjaykoV0tQYWdlUmVmIHBh
Z2UsIFdLQmFja0ZvcndhcmRMaXN0SXRlbVJlZiBpdGVtLCBXS1R5cGVSZWYgdXNlckRhdGEsIGNv
bnN0IHZvaWQgKmNsaWVudEluZm8pOwordHlwZWRlZiB2b2lkICgqV0tQYWdlUGx1Z2luRGlkRmFp
bENhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tFcnJvckNvZGUgZXJyb3JDb2RlLCBXS1N0cmlu
Z1JlZiBtaW1lVHlwZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CisKKy8vIERlcHJlY2F0ZWQK
K3R5cGVkZWYgdm9pZCAoKldLUGFnZURpZEZhaWxUb0luaXRpYWxpemVQbHVnaW5DYWxsYmFja19k
ZXByZWNhdGVkRm9yVXNlV2l0aFYwKShXS1BhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgbWltZVR5
cGUsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwogCiBzdHJ1Y3QgV0tQYWdlTG9hZGVyQ2xpZW50
IHsKICAgICBpbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHZlcnNpb247CkBAIC0xMDQsNyArMTA4LDcgQEAgc3RydWN0IFdL
UGFnZUxvYWRlckNsaWVudCB7CiAgICAgV0tQYWdlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzRGlkQ3Jhc2g7CiAgICAg
V0tQYWdlRGlkQ2hhbmdlQmFja0ZvcndhcmRMaXN0Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBkaWRDaGFuZ2VCYWNrRm9yd2FyZExpc3Q7CiAgICAgV0tQYWdlU2hvdWxkR29U
b0JhY2tGb3J3YXJkTGlzdEl0ZW1DYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICBzaG91
bGRHb1RvQmFja0ZvcndhcmRMaXN0SXRlbTsKLSAgICBXS1BhZ2VEaWRGYWlsVG9Jbml0aWFsaXpl
UGx1Z2luQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpZEZhaWxUb0luaXRp
YWxpemVQbHVnaW47CisgICAgV0tQYWdlRGlkRmFpbFRvSW5pdGlhbGl6ZVBsdWdpbkNhbGxiYWNr
X2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjAgICAgICBkaWRGYWlsVG9Jbml0aWFsaXplUGx1Z2luX2Rl
cHJlY2F0ZWRGb3JVc2VXaXRoVjA7CiAKICAgICAvLyBWZXJzaW9uIDEKICAgICBXS1BhZ2VEaWRE
ZXRlY3RYU1NGb3JGcmFtZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGRpZERldGVjdFhTU0ZvckZyYW1lOwpAQCAtMTE1LDYgKzExOSw3IEBAIHN0cnVjdCBXS1BhZ2VM
b2FkZXJDbGllbnQgewogICAgIFdLUGFnZVdpbGxHb1RvQmFja0ZvcndhcmRMaXN0SXRlbUNhbGxi
YWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lsbEdvVG9CYWNrRm9yd2FyZExpc3RJdGVt
OwogCiAgICAgV0tQYWdlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnRlcmFjdGlvbk9jY3VycmVkV2hpbGVQcm9jZXNzVW5yZXNw
b25zaXZlOworICAgIFdLUGFnZVBsdWdpbkRpZEZhaWxDYWxsYmFjayAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcGx1Z2luRGlkRmFpbDsKIH07CiB0eXBlZGVmIHN0cnVj
dCBXS1BhZ2VMb2FkZXJDbGllbnQgV0tQYWdlTG9hZGVyQ2xpZW50OwogCkBAIC0xNzIsNiArMTc3
LDEzIEBAIHR5cGVkZWYgc3RydWN0IFdLUGFnZVJlc291cmNlTG9hZENsaWVudCBXS1BhZ2VSZXNv
dXJjZUxvYWRDbGllbnQ7CiAKIGVudW0geyBrV0tQYWdlUmVzb3VyY2VMb2FkQ2xpZW50Q3VycmVu
dFZlcnNpb24gPSAwIH07CiAKK2VudW0geworICAgIGtXS1BsdWdpblVuYXZhaWxhYmlsaXR5UmVh
c29uUGx1Z2luTWlzc2luZywKKyAgICBrV0tQbHVnaW5VbmF2YWlsYWJpbGl0eVJlYXNvblBsdWdp
bkNyYXNoZWQsCisgICAga1dLUGx1Z2luVW5hdmFpbGFiaWxpdHlSZWFzb25JbnNlY3VyZVBsdWdp
blZlcnNpb24KK307Cit0eXBlZGVmIHVpbnQzMl90IFdLUGx1Z2luVW5hdmFpbGFiaWxpdHlSZWFz
b247CisKIC8vIFVJIENsaWVudAogdHlwZWRlZiBXS1BhZ2VSZWYgKCpXS1BhZ2VDcmVhdGVOZXdQ
YWdlQ2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBXS1VSTFJlcXVlc3RSZWYgdXJsUmVxdWVzdCwg
V0tEaWN0aW9uYXJ5UmVmIGZlYXR1cmVzLCBXS0V2ZW50TW9kaWZpZXJzIG1vZGlmaWVycywgV0tF
dmVudE1vdXNlQnV0dG9uIG1vdXNlQnV0dG9uLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKIHR5
cGVkZWYgdm9pZCAoKldLUGFnZVJ1bkphdmFTY3JpcHRBbGVydENhbGxiYWNrKShXS1BhZ2VSZWYg
cGFnZSwgV0tTdHJpbmdSZWYgYWxlcnRUZXh0LCBXS0ZyYW1lUmVmIGZyYW1lLCBjb25zdCB2b2lk
ICpjbGllbnRJbmZvKTsKQEAgLTE4Miw3ICsxOTQsNiBAQCB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VG
b2N1c0NhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7CiB0
eXBlZGVmIHZvaWQgKCpXS1BhZ2VVbmZvY3VzQ2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBjb25z
dCB2b2lkICpjbGllbnRJbmZvKTsKIHR5cGVkZWYgdm9pZCAoKldLUGFnZVNldFN0YXR1c1RleHRD
YWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIHRleHQsIGNvbnN0IHZvaWQgKmNs
aWVudEluZm8pOwogdHlwZWRlZiB2b2lkICgqV0tQYWdlTW91c2VEaWRNb3ZlT3ZlckVsZW1lbnRD
YWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLSGl0VGVzdFJlc3VsdFJlZiBoaXRUZXN0UmVzdWx0
LCBXS0V2ZW50TW9kaWZpZXJzIG1vZGlmaWVycywgV0tUeXBlUmVmIHVzZXJEYXRhLCBjb25zdCB2
b2lkICpjbGllbnRJbmZvKTsKLXR5cGVkZWYgdm9pZCAoKldLUGFnZU1pc3NpbmdQbHVnaW5CdXR0
b25DbGlja2VkQ2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBXS1N0cmluZ1JlZiBtaW1lVHlwZSwg
V0tTdHJpbmdSZWYgdXJsLCBXS1N0cmluZ1JlZiBwbHVnaW5zUGFnZVVSTCwgY29uc3Qgdm9pZCog
Y2xpZW50SW5mbyk7CiB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VEaWROb3RIYW5kbGVLZXlFdmVudENh
bGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tOYXRpdmVFdmVudFB0ciBldmVudCwgY29uc3Qgdm9p
ZCAqY2xpZW50SW5mbyk7CiB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VEaWROb3RIYW5kbGVXaGVlbEV2
ZW50Q2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBXS05hdGl2ZUV2ZW50UHRyIGV2ZW50LCBjb25z
dCB2b2lkICpjbGllbnRJbmZvKTsKIHR5cGVkZWYgYm9vbCAoKldLUGFnZUdldFRvb2xiYXJzQXJl
VmlzaWJsZUNhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7
CkBAIC0yMDcsMTAgKzIxOCwxMiBAQCB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VQcmludEZyYW1lQ2Fs
bGJhY2spKFdLUGFnZVJlZiBwYWdlLCBXS0ZyYW1lUmVmIGZyYW1lLCBjb25zdAogdHlwZWRlZiB2
b2lkICgqV0tQYWdlU2F2ZURhdGFUb0ZpbGVJbkRvd25sb2Fkc0ZvbGRlckNhbGxiYWNrKShXS1Bh
Z2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgc3VnZ2VzdGVkRmlsZW5hbWUsIFdLU3RyaW5nUmVmIG1p
bWVUeXBlLCBXS1VSTFJlZiBvcmlnaW5hdGluZ1VSTCwgV0tEYXRhUmVmIGRhdGEsIGNvbnN0IHZv
aWQqIGNsaWVudEluZm8pOwogdHlwZWRlZiBib29sICgqV0tQYWdlU2hvdWxkSW50ZXJydXB0SmF2
YVNjcmlwdENhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7
CiB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VEZWNpZGVQb2xpY3lGb3JOb3RpZmljYXRpb25QZXJtaXNz
aW9uUmVxdWVzdENhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tTZWN1cml0eU9yaWdpblJlZiBv
cmlnaW4sIFdLTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RSZWYgcGVybWlzc2lvblJlcXVl
c3QsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwordHlwZWRlZiB2b2lkICgqV0tQYWdlVW5hdmFp
bGFibGVQbHVnaW5CdXR0b25DbGlja2VkQ2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBXS1BsdWdp
blVuYXZhaWxhYmlsaXR5UmVhc29uIHBsdWdpblVuYXZhaWxhYmlsaXR5UmVhc29uLCBXS1N0cmlu
Z1JlZiBtaW1lVHlwZSwgV0tTdHJpbmdSZWYgdXJsLCBXS1N0cmluZ1JlZiBwbHVnaW5zUGFnZVVS
TCwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiAKIC8vIERlcHJlY2F0ZWQgICAgCiB0eXBlZGVm
IFdLUGFnZVJlZiAoKldLUGFnZUNyZWF0ZU5ld1BhZ2VDYWxsYmFja19kZXByZWNhdGVkRm9yVXNl
V2l0aFYwKShXS1BhZ2VSZWYgcGFnZSwgV0tEaWN0aW9uYXJ5UmVmIGZlYXR1cmVzLCBXS0V2ZW50
TW9kaWZpZXJzIG1vZGlmaWVycywgV0tFdmVudE1vdXNlQnV0dG9uIG1vdXNlQnV0dG9uLCBjb25z
dCB2b2lkICpjbGllbnRJbmZvKTsKIHR5cGVkZWYgdm9pZCAgICAgICgqV0tQYWdlTW91c2VEaWRN
b3ZlT3ZlckVsZW1lbnRDYWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFYwKShXS1BhZ2VSZWYg
cGFnZSwgV0tFdmVudE1vZGlmaWVycyBtb2RpZmllcnMsIFdLVHlwZVJlZiB1c2VyRGF0YSwgY29u
c3Qgdm9pZCAqY2xpZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpXS1BhZ2VNaXNzaW5nUGx1Z2lu
QnV0dG9uQ2xpY2tlZENhbGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjApKFdLUGFnZVJlZiBw
YWdlLCBXS1N0cmluZ1JlZiBtaW1lVHlwZSwgV0tTdHJpbmdSZWYgdXJsLCBXS1N0cmluZ1JlZiBw
bHVnaW5zUGFnZVVSTCwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiAKIHN0cnVjdCBXS1BhZ2VV
SUNsaWVudCB7CiAgICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uOwpAQCAtMjI4LDcgKzI0MSw3IEBAIHN0
cnVjdCBXS1BhZ2VVSUNsaWVudCB7CiAgICAgV0tQYWdlUnVuSmF2YVNjcmlwdFByb21wdENhbGxi
YWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydW5KYXZhU2NyaXB0UHJvbXB0
OwogICAgIFdLUGFnZVNldFN0YXR1c1RleHRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc2V0U3RhdHVzVGV4dDsKICAgICBXS1BhZ2VNb3VzZURpZE1vdmVP
dmVyRWxlbWVudENhbGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjAgICAgICAgIG1vdXNlRGlk
TW92ZU92ZXJFbGVtZW50X2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjA7Ci0gICAgV0tQYWdlTWlzc2lu
Z1BsdWdpbkJ1dHRvbkNsaWNrZWRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICBt
aXNzaW5nUGx1Z2luQnV0dG9uQ2xpY2tlZDsKKyAgICBXS1BhZ2VNaXNzaW5nUGx1Z2luQnV0dG9u
Q2xpY2tlZENhbGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjAgICAgIG1pc3NpbmdQbHVnaW5C
dXR0b25DbGlja2VkX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjA7CiAgICAgV0tQYWdlRGlkTm90SGFu
ZGxlS2V5RXZlbnRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWRO
b3RIYW5kbGVLZXlFdmVudDsKICAgICBXS1BhZ2VEaWROb3RIYW5kbGVXaGVlbEV2ZW50Q2FsbGJh
Y2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpZE5vdEhhbmRsZVdoZWVsRXZlbnQ7
CiAgICAgV0tQYWdlR2V0VG9vbGJhcnNBcmVWaXNpYmxlQ2FsbGJhY2sgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB0b29sYmFyc0FyZVZpc2libGU7CkBAIC0yNjEsNiArMjc0LDcgQEAg
c3RydWN0IFdLUGFnZVVJQ2xpZW50IHsKICAgICBXS1BhZ2VDcmVhdGVOZXdQYWdlQ2FsbGJhY2sg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZU5ld1BhZ2U7CiAg
ICAgV0tQYWdlTW91c2VEaWRNb3ZlT3ZlckVsZW1lbnRDYWxsYmFjayAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBtb3VzZURpZE1vdmVPdmVyRWxlbWVudDsKICAgICBXS1BhZ2VEZWNpZGVQ
b2xpY3lGb3JOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdENhbGxiYWNrICAgICAgICAgIGRl
Y2lkZVBvbGljeUZvck5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0OworICAgIFdLUGFnZVVu
YXZhaWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tlZENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAg
ICAgdW5hdmFpbGFibGVQbHVnaW5CdXR0b25DbGlja2VkOwogfTsKIHR5cGVkZWYgc3RydWN0IFdL
UGFnZVVJQ2xpZW50IFdLUGFnZVVJQ2xpZW50OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5JbmZvU3RvcmUuY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luSW5mb1N0b3JlLmNwcAppbmRleCBjZWYxNGRjZjBkNWRm
MzI2NGY0MGVmYTQ5OGU0MWI0ZTE0ZmI0NzJmLi45Nzc3NWM2MjY5ODViYjdkNzA3NWQ0N2YyODZm
OWM2ZWI4NWFmMDU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lu
cy9QbHVnaW5JbmZvU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVn
aW5zL1BsdWdpbkluZm9TdG9yZS5jcHAKQEAgLTE3NCw2ICsxNzQsMTEgQEAgc3RhdGljIGlubGlu
ZSBTdHJpbmcgcGF0aEV4dGVuc2lvbihjb25zdCBLVVJMJiB1cmwpCiB9CiAKICNpZiAhUExBVEZP
Uk0oTUFDKQorYm9vbCBQbHVnaW5JbmZvU3RvcmU6OnNob3VsZEJsb2NrUGx1Z2luKGNvbnN0IFBs
dWdpbk1vZHVsZUluZm8mKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKwogU3RyaW5n
IFBsdWdpbkluZm9TdG9yZTo6Z2V0TUlNRVR5cGVGb3JFeHRlbnNpb24oY29uc3QgU3RyaW5nJiBl
eHRlbnNpb24pCiB7CiAgICAgcmV0dXJuIE1JTUVUeXBlUmVnaXN0cnk6OmdldE1JTUVUeXBlRm9y
RXh0ZW5zaW9uKGV4dGVuc2lvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvUGx1Z2lucy9QbHVnaW5JbmZvU3RvcmUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Q
bHVnaW5zL1BsdWdpbkluZm9TdG9yZS5oCmluZGV4IDRiZmVjYjQyNDc3NWVkMzMyYmE2ZTJlMGNm
YWU0OWNkYjYyNWU2ZTMuLmYzMDMwM2M4M2UwMmZhMzQ2NTgzZmE2MGZhZjUwOWZhODFjZmQ2MmYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbkluZm9T
dG9yZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbkluZm9T
dG9yZS5oCkBAIC01Myw4ICs1MywxMSBAQCBwdWJsaWM6CiAgICAgLy8gUmV0dXJucyB0aGUgaW5m
byBmb3IgdGhlIHBsdWctaW4gd2l0aCB0aGUgZ2l2ZW4gcGF0aC4KICAgICBQbHVnaW5Nb2R1bGVJ
bmZvIGluZm9Gb3JQbHVnaW5XaXRoUGF0aChjb25zdCBTdHJpbmcmIHBsdWdpblBhdGgpIGNvbnN0
OwogCi1wcml2YXRlOgorICAgIC8vIFJldHVybiB3aGV0aGVyIHRoaXMgcGx1Zy1pbiBzaG91bGQg
YmUgYmxvY2tlZCBmcm9tIGJlaW5nIGluc3RhbnRpYXRlZC4KKyAgICAvLyBOb3RlIHRoYXQgdGhl
IHBsdWctaW4gd2lsbCBzdGlsbCBiZSBzZWVuIGJ5IGUuZy4gbmF2aWdhdG9yLnBsdWdpbnMKKyAg
ICBib29sIHNob3VsZEJsb2NrUGx1Z2luKGNvbnN0IFBsdWdpbk1vZHVsZUluZm8mKSBjb25zdDsK
IAorcHJpdmF0ZToKICAgICBQbHVnaW5Nb2R1bGVJbmZvIGZpbmRQbHVnaW5Gb3JNSU1FVHlwZShj
b25zdCBTdHJpbmcmIG1pbWVUeXBlKSBjb25zdDsKICAgICBQbHVnaW5Nb2R1bGVJbmZvIGZpbmRQ
bHVnaW5Gb3JFeHRlbnNpb24oY29uc3QgU3RyaW5nJiBleHRlbnNpb24sIFN0cmluZyYgbWltZVR5
cGUpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lu
cy9tYWMvUGx1Z2luSW5mb1N0b3JlTWFjLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Bs
dWdpbnMvbWFjL1BsdWdpbkluZm9TdG9yZU1hYy5tbQppbmRleCA2YzYwNDA3ODFlMDg2OTYzYjMy
MzI5N2E2NjgwNjIyZDVmYzcwN2VjLi43YTA0YjUzNTU3OTkwYzQ2NjdhMDUzN2Q2YjdiNWM5Nzc2
YTJhZGQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9tYWMv
UGx1Z2luSW5mb1N0b3JlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVn
aW5zL21hYy9QbHVnaW5JbmZvU3RvcmVNYWMubW0KQEAgLTg5LDYgKzg5LDExIEBAIGJvb2wgUGx1
Z2luSW5mb1N0b3JlOjpzaG91bGRVc2VQbHVnaW4oVmVjdG9yPFBsdWdpbk1vZHVsZUluZm8+JiBh
bHJlYWR5TG9hZGVkUGx1CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK2Jvb2wgUGx1Z2luSW5mb1N0
b3JlOjpzaG91bGRCbG9ja1BsdWdpbihjb25zdCBQbHVnaW5Nb2R1bGVJbmZvJiBwbHVnaW4pIGNv
bnN0Cit7CisgICAgcmV0dXJuIFdLU2hvdWxkQmxvY2tQbHVnaW4ocGx1Z2luLmJ1bmRsZUlkZW50
aWZpZXIsIHBsdWdpbi52ZXJzaW9uU3RyaW5nKTsKK30KKwogU3RyaW5nIFBsdWdpbkluZm9TdG9y
ZTo6Z2V0TUlNRVR5cGVGb3JFeHRlbnNpb24oY29uc3QgU3RyaW5nJiBleHRlbnNpb24pCiB7CiAg
ICAgLy8gRklYTUU6IFRoaXMgc2hvdWxkIGp1c3QgY2FsbCBNSU1FVHlwZVJlZ2lzdHJ5OjpnZXRN
SU1FVHlwZUZvckV4dGVuc2lvbiBhbmQgYmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250
ZXh0LmNwcAppbmRleCBmMWEwZjBmYjc5NmFhYTk4ZjBhNGIyMzdjNDhkZWM2ZjZjNzdkZDgyLi5i
NjI1OGVjZTE2NGMyYTViNWUwYjM0MmM3N2ZkNDEwNDk3YTA2YWIyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwCkBAIC02MjAsNyArNjIwLDcgQEAgdm9pZCBXZWJDb250
ZXh0OjpnZXRQbHVnaW5zKGJvb2wgcmVmcmVzaCwgVmVjdG9yPFBsdWdpbkluZm8+JiBwbHVnaW5J
bmZvcykKICNlbmRpZgogfQogCi12b2lkIFdlYkNvbnRleHQ6OmdldFBsdWdpblBhdGgoY29uc3Qg
U3RyaW5nJiBtaW1lVHlwZSwgY29uc3QgU3RyaW5nJiB1cmxTdHJpbmcsIFN0cmluZyYgcGx1Z2lu
UGF0aCkKK3ZvaWQgV2ViQ29udGV4dDo6Z2V0UGx1Z2luUGF0aChjb25zdCBTdHJpbmcmIG1pbWVU
eXBlLCBjb25zdCBTdHJpbmcmIHVybFN0cmluZywgU3RyaW5nJiBwbHVnaW5QYXRoLCBib29sJiBi
bG9ja2VkKQogewogICAgIE1FU1NBR0VfQ0hFQ0tfVVJMKHVybFN0cmluZyk7CiAKQEAgLTYzMCw2
ICs2MzAsMTIgQEAgdm9pZCBXZWJDb250ZXh0OjpnZXRQbHVnaW5QYXRoKGNvbnN0IFN0cmluZyYg
bWltZVR5cGUsIGNvbnN0IFN0cmluZyYgdXJsU3RyaW5nLAogICAgIGlmICghcGx1Z2luLnBhdGgp
CiAgICAgICAgIHJldHVybjsKIAorICAgIGJsb2NrZWQgPSBmYWxzZTsKKyAgICBpZiAocGx1Z2lu
SW5mb1N0b3JlKCkuc2hvdWxkQmxvY2tQbHVnaW4ocGx1Z2luKSkgeworICAgICAgICBibG9ja2Vk
ID0gdHJ1ZTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIHBsdWdpblBhdGggPSBwbHVn
aW4ucGF0aDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNv
bnRleHQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmgKaW5kZXggZGRm
M2Q3OTMyMTc3Y2E2YjM4ODg5MTQxMTM0YmZkNmU5Yzk1YzRkMi4uZjk0ZGM0YTI4NjgzMGEyOTJh
OGE2OTQ3MzI5Y2Q1OTc2MjUzNDMwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYkNvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4
dC5oCkBAIC0yMTcsNyArMjE3LDcgQEAgcHJpdmF0ZToKIAogICAgIC8vIFBsdWdpbnMKICAgICB2
b2lkIGdldFBsdWdpbnMoYm9vbCByZWZyZXNoLCBWZWN0b3I8V2ViQ29yZTo6UGx1Z2luSW5mbz4m
KTsKLSAgICB2b2lkIGdldFBsdWdpblBhdGgoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgY29uc3Qg
U3RyaW5nJiB1cmxTdHJpbmcsIFN0cmluZyYgcGx1Z2luUGF0aCk7CisgICAgdm9pZCBnZXRQbHVn
aW5QYXRoKGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIGNvbnN0IFN0cmluZyYgdXJsU3RyaW5nLCBT
dHJpbmcmIHBsdWdpblBhdGgsIGJvb2wmIGJsb2NrZWQpOwogI2lmICFFTkFCTEUoUExVR0lOX1BS
T0NFU1MpCiAgICAgdm9pZCBkaWRHZXRTaXRlc1dpdGhQbHVnaW5EYXRhKGNvbnN0IFZlY3RvcjxT
dHJpbmc+JiBzaXRlcywgdWludDY0X3QgY2FsbGJhY2tJRCk7CiAgICAgdm9pZCBkaWRDbGVhclBs
dWdpblNpdGVEYXRhKHVpbnQ2NF90IGNhbGxiYWNrSUQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViQ29udGV4dC5tZXNzYWdlcy5pbgppbmRleCA4NWVhN2EyYjdhMWM5ZGFmYTAz
OWEwNmQ5YTE3NDBmMjg0ODQzMzNiLi5hMTM5N2YwNTU0MGYwZmZkYzk2NjA3ODIyOTMyMGMxMWUw
OWU3MWY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5t
ZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5tZXNz
YWdlcy5pbgpAQCAtMzMsNyArMzMsNyBAQCBtZXNzYWdlcyAtPiBXZWJDb250ZXh0IHsKICAgICAK
ICAgICAjIFBsdWdpbiBtZXNzYWdlcy4KICAgICBHZXRQbHVnaW5zKGJvb2wgcmVmcmVzaCkgLT4g
KFZlY3RvcjxXZWJDb3JlOjpQbHVnaW5JbmZvPiBwbHVnaW5zKQotICAgIEdldFBsdWdpblBhdGgo
V1RGOjpTdHJpbmcgbWltZVR5cGUsIFdURjo6U3RyaW5nIHVybFN0cmluZykgLT4gKFdURjo6U3Ry
aW5nIHBsdWdpblBhdGgpCisgICAgR2V0UGx1Z2luUGF0aChXVEY6OlN0cmluZyBtaW1lVHlwZSwg
V1RGOjpTdHJpbmcgdXJsU3RyaW5nKSAtPiAoV1RGOjpTdHJpbmcgcGx1Z2luUGF0aCwgYm9vbCBi
bG9ja2VkKQogCiAjaWYgIUVOQUJMRShQTFVHSU5fUFJPQ0VTUykKICAgICB2b2lkIERpZEdldFNp
dGVzV2l0aFBsdWdpbkRhdGEoVmVjdG9yPFdURjo6U3RyaW5nPiBzaXRlcywgdWludDY0X3QgY2Fs
bGJhY2tJRCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJMb2FkZXJD
bGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkxvYWRlckNsaWVudC5jcHAK
aW5kZXggY2E5ZDdmNmYxZjE5ZDc4NzQ3OTY0NDkyM2RjZjM2MDMzZDEwYmRjNS4uNWE3ZjcxNzY2
NGJiNTIyM2FhN2QwOTY2ODgwZGNhNWY3NmQyNTA3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYkxvYWRlckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYkxvYWRlckNsaWVudC5jcHAKQEAgLTI2NiwxMCArMjY2LDIxIEBAIHZvaWQgV2Vi
TG9hZGVyQ2xpZW50Ojp3aWxsR29Ub0JhY2tGb3J3YXJkTGlzdEl0ZW0oV2ViUGFnZVByb3h5KiBw
YWdlLCBXZWJCYWNrRm9yCiAKIHZvaWQgV2ViTG9hZGVyQ2xpZW50OjpkaWRGYWlsVG9Jbml0aWFs
aXplUGx1Z2luKFdlYlBhZ2VQcm94eSogcGFnZSwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSkKIHsK
LSAgICBpZiAoIW1fY2xpZW50LmRpZEZhaWxUb0luaXRpYWxpemVQbHVnaW4pCisgICAgaWYgKG1f
Y2xpZW50LmRpZEZhaWxUb0luaXRpYWxpemVQbHVnaW5fZGVwcmVjYXRlZEZvclVzZVdpdGhWMCkK
KyAgICAgICAgbV9jbGllbnQuZGlkRmFpbFRvSW5pdGlhbGl6ZVBsdWdpbl9kZXByZWNhdGVkRm9y
VXNlV2l0aFYwKHRvQVBJKHBhZ2UpLCB0b0FQSShtaW1lVHlwZS5pbXBsKCkpLCBtX2NsaWVudC5j
bGllbnRJbmZvKTsKKworICAgIGlmICghbV9jbGllbnQucGx1Z2luRGlkRmFpbCkKKyAgICAgICAg
cmV0dXJuOworCisgICAgbV9jbGllbnQucGx1Z2luRGlkRmFpbCh0b0FQSShwYWdlKSwga1dLRXJy
b3JDb2RlQ2Fubm90TG9hZFBsdWdJbiwgdG9BUEkobWltZVR5cGUuaW1wbCgpKSwgbV9jbGllbnQu
Y2xpZW50SW5mbyk7Cit9CisKK3ZvaWQgV2ViTG9hZGVyQ2xpZW50OjpkaWRCbG9ja0luc2VjdXJl
UGx1Z2luVmVyc2lvbihXZWJQYWdlUHJveHkqIHBhZ2UsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUp
Cit7CisgICAgaWYgKCFtX2NsaWVudC5wbHVnaW5EaWRGYWlsKQogICAgICAgICByZXR1cm47CiAK
LSAgICBtX2NsaWVudC5kaWRGYWlsVG9Jbml0aWFsaXplUGx1Z2luKHRvQVBJKHBhZ2UpLCB0b0FQ
SShtaW1lVHlwZS5pbXBsKCkpLCBtX2NsaWVudC5jbGllbnRJbmZvKTsKKyAgICBtX2NsaWVudC5w
bHVnaW5EaWRGYWlsKHRvQVBJKHBhZ2UpLCBrV0tFcnJvckNvZGVJbnNlY3VyZVBsdWdJblZlcnNp
b24sIHRvQVBJKG1pbWVUeXBlLmltcGwoKSksIG1fY2xpZW50LmNsaWVudEluZm8pOwogfQogCiB9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJMb2FkZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJMb2FkZXJD
bGllbnQuaAppbmRleCAzOTgxZTJmMGRmMzhiOWM2NDRjNmNjMTg5OWEyN2U2NmZlN2M3ODQxLi5h
Nzg3ODhkNzY4YzgwMGY4ODU3ODIxYzQ4ZWY3YWVmOTllZGNmNzNmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViTG9hZGVyQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYkxvYWRlckNsaWVudC5oCkBAIC04Nyw2ICs4Nyw3IEBAIHB1YmxpYzoK
ICAgICB2b2lkIHdpbGxHb1RvQmFja0ZvcndhcmRMaXN0SXRlbShXZWJQYWdlUHJveHkqLCBXZWJC
YWNrRm9yd2FyZExpc3RJdGVtKiwgQVBJT2JqZWN0Kik7CiAKICAgICB2b2lkIGRpZEZhaWxUb0lu
aXRpYWxpemVQbHVnaW4oV2ViUGFnZVByb3h5KiwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSk7Cisg
ICAgdm9pZCBkaWRCbG9ja0luc2VjdXJlUGx1Z2luVmVyc2lvbihXZWJQYWdlUHJveHkqLCBjb25z
dCBTdHJpbmcmIG1pbWVUeXBlKTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCBlNzAyNGUzN2QzNmE0N2Zl
NDZkNzhiYzM0ZTAwNDczNDM3MDMyYWM1Li5jYTExYjY0Y2FkM2VhZmYwYjVlYjIzYjg5ZTBiODcz
NmVhZTNkOWEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApA
QCAtMjM5OSwxMiArMjM5OSwxMyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6bW91c2VEaWRNb3ZlT3Zl
ckVsZW1lbnQoY29uc3QgV2ViSGl0VGVzdFJlc3VsdDo6RGF0YSYgaGl0VGVzdAogICAgIG1fdWlD
bGllbnQubW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQodGhpcywgaGl0VGVzdFJlc3VsdERhdGEsIG1v
ZGlmaWVycywgdXNlckRhdGEuZ2V0KCkpOwogfQogCi12b2lkIFdlYlBhZ2VQcm94eTo6bWlzc2lu
Z1BsdWdpbkJ1dHRvbkNsaWNrZWQoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgY29uc3QgU3RyaW5n
JiB1cmwsIGNvbnN0IFN0cmluZyYgcGx1Z2luc1BhZ2VVUkwpCit2b2lkIFdlYlBhZ2VQcm94eTo6
dW5hdmFpbGFibGVQbHVnaW5CdXR0b25DbGlja2VkKHVpbnQzMl90IG9wYXF1ZVBsdWdpblVuYXZh
aWxhYmlsaXR5UmVhc29uLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBjb25zdCBTdHJpbmcmIHVy
bCwgY29uc3QgU3RyaW5nJiBwbHVnaW5zUGFnZVVSTCkKIHsKICAgICBNRVNTQUdFX0NIRUNLX1VS
TCh1cmwpOwogICAgIE1FU1NBR0VfQ0hFQ0tfVVJMKHBsdWdpbnNQYWdlVVJMKTsKIAotICAgIG1f
dWlDbGllbnQubWlzc2luZ1BsdWdpbkJ1dHRvbkNsaWNrZWQodGhpcywgbWltZVR5cGUsIHVybCwg
cGx1Z2luc1BhZ2VVUkwpOworICAgIFdLUGx1Z2luVW5hdmFpbGFiaWxpdHlSZWFzb24gcGx1Z2lu
VW5hdmFpbGFiaWxpdHlSZWFzb24gPSBzdGF0aWNfY2FzdDxXS1BsdWdpblVuYXZhaWxhYmlsaXR5
UmVhc29uPihvcGFxdWVQbHVnaW5VbmF2YWlsYWJpbGl0eVJlYXNvbik7CisgICAgbV91aUNsaWVu
dC51bmF2YWlsYWJsZVBsdWdpbkJ1dHRvbkNsaWNrZWQodGhpcywgcGx1Z2luVW5hdmFpbGFiaWxp
dHlSZWFzb24sIG1pbWVUeXBlLCB1cmwsIHBsdWdpbnNQYWdlVVJMKTsKIH0KIAogdm9pZCBXZWJQ
YWdlUHJveHk6OnNldFRvb2xiYXJzQXJlVmlzaWJsZShib29sIHRvb2xiYXJzQXJlVmlzaWJsZSkK
QEAgLTM2MjAsNiArMzYyMSwxMSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkRmFpbFRvSW5pdGlh
bGl6ZVBsdWdpbihjb25zdCBTdHJpbmcmIG1pbWVUeXBlKQogICAgIG1fbG9hZGVyQ2xpZW50LmRp
ZEZhaWxUb0luaXRpYWxpemVQbHVnaW4odGhpcywgbWltZVR5cGUpOwogfQogCit2b2lkIFdlYlBh
Z2VQcm94eTo6ZGlkQmxvY2tJbnNlY3VyZVBsdWdpblZlcnNpb24oY29uc3QgU3RyaW5nJiBtaW1l
VHlwZSkKK3sKKyAgICBtX2xvYWRlckNsaWVudC5kaWRCbG9ja0luc2VjdXJlUGx1Z2luVmVyc2lv
bih0aGlzLCBtaW1lVHlwZSk7Cit9CisKIGJvb2wgV2ViUGFnZVByb3h5Ojp3aWxsSGFuZGxlSG9y
aXpvbnRhbFNjcm9sbEV2ZW50cygpIGNvbnN0CiB7CiAgICAgcmV0dXJuICFtX2NhblNob3J0Q2ly
Y3VpdEhvcml6b250YWxXaGVlbEV2ZW50czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaAppbmRleCA2NGIwOTg0MmI0YjhhZGJhZWQ0YzliMjUzYTdmNWRkOTgyYmRiNDI4Li5l
ZjMzMWZjN2Q3MzViNzIyYzViMWJmMWMxMTc4NWY4MDdlMWM1ODRkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC03MTgsNyArNzE4LDcgQEAgcHJpdmF0ZToKICAg
ICB2b2lkIHNob3VsZEludGVycnVwdEphdmFTY3JpcHQoYm9vbCYgcmVzdWx0KTsKICAgICB2b2lk
IHNldFN0YXR1c1RleHQoY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCBtb3VzZURpZE1vdmVPdmVy
RWxlbWVudChjb25zdCBXZWJIaXRUZXN0UmVzdWx0OjpEYXRhJiBoaXRUZXN0UmVzdWx0RGF0YSwg
dWludDMyX3QgbW9kaWZpZXJzLCBDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqKTsKLSAgICB2b2lk
IG1pc3NpbmdQbHVnaW5CdXR0b25DbGlja2VkKGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIGNvbnN0
IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIHBsdWdpbnNQYWdlVVJMKTsKKyAgICB2b2lkIHVu
YXZhaWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tlZCh1aW50MzJfdCBvcGFxdWVQbHVnaW5VbmF2YWls
YWJpbGl0eVJlYXNvbiwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgY29uc3QgU3RyaW5nJiB1cmws
IGNvbnN0IFN0cmluZyYgcGx1Z2luc1BhZ2VVUkwpOwogICAgIHZvaWQgc2V0VG9vbGJhcnNBcmVW
aXNpYmxlKGJvb2wgdG9vbGJhcnNBcmVWaXNpYmxlKTsKICAgICB2b2lkIGdldFRvb2xiYXJzQXJl
VmlzaWJsZShib29sJiB0b29sYmFyc0FyZVZpc2libGUpOwogICAgIHZvaWQgc2V0TWVudUJhcklz
VmlzaWJsZShib29sIG1lbnVCYXJJc1Zpc2libGUpOwpAQCAtNzQ1LDYgKzc0NSw3IEBAIHByaXZh
dGU6CiAgICAgdm9pZCBkaWRDaGFuZ2VTY3JvbGxPZmZzZXRQaW5uaW5nRm9yTWFpbkZyYW1lKGJv
b2wgcGlubmVkVG9MZWZ0U2lkZSwgYm9vbCBwaW5uZWRUb1JpZ2h0U2lkZSk7CiAgICAgdm9pZCBk
aWRDaGFuZ2VQYWdlQ291bnQodW5zaWduZWQpOwogICAgIHZvaWQgZGlkRmFpbFRvSW5pdGlhbGl6
ZVBsdWdpbihjb25zdCBTdHJpbmcmIG1pbWVUeXBlKTsKKyAgICB2b2lkIGRpZEJsb2NrSW5zZWN1
cmVQbHVnaW5WZXJzaW9uKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpOwogICAgIHZvaWQgc2V0Q2Fu
U2hvcnRDaXJjdWl0SG9yaXpvbnRhbFdoZWVsRXZlbnRzKGJvb2wgY2FuU2hvcnRDaXJjdWl0SG9y
aXpvbnRhbFdoZWVsRXZlbnRzKSB7IG1fY2FuU2hvcnRDaXJjdWl0SG9yaXpvbnRhbFdoZWVsRXZl
bnRzID0gY2FuU2hvcnRDaXJjdWl0SG9yaXpvbnRhbFdoZWVsRXZlbnRzOyB9CiAKICAgICB2b2lk
IHJlYXR0YWNoVG9XZWJQcm9jZXNzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRleCA0MDBhY2VkNWQ4MmVmNjU1NWFjYTllNmU3
ZTI5ZjZhM2VjNWJmM2MwLi40YzQ4YTNjZDg1ZDUzNDcwYzM5MGZlNDJkNmY1ZTgzNWIyNDE3MTU1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3Nh
Z2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2Fn
ZXMuaW4KQEAgLTMwLDcgKzMwLDcgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICBS
dW5KYXZhU2NyaXB0UHJvbXB0KHVpbnQ2NF90IGZyYW1lSUQsIFdURjo6U3RyaW5nIG1lc3NhZ2Us
IFdURjo6U3RyaW5nIGRlZmF1bHRWYWx1ZSkgLT4gKFdURjo6U3RyaW5nIHJlc3VsdCkKICAgICBT
aG91bGRJbnRlcnJ1cHRKYXZhU2NyaXB0KCkgLT4gKGJvb2wgc2hvdWxkSW50ZXJ1cHQpCiAgICAg
TW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQoV2ViS2l0OjpXZWJIaXRUZXN0UmVzdWx0OjpEYXRhIGhp
dFRlc3RSZXN1bHREYXRhLCB1aW50MzJfdCBtb2RpZmllcnMsIFdlYktpdDo6SW5qZWN0ZWRCdW5k
bGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpOwotICAgIE1pc3NpbmdQbHVnaW5CdXR0b25D
bGlja2VkKFdURjo6U3RyaW5nIG1pbWVUeXBlLCBXVEY6OlN0cmluZyB1cmwsIFdURjo6U3RyaW5n
IHBsdWdpbnNQYWdlVVJMKQorICAgIFVuYXZhaWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tlZCh1aW50
MzJfdCBwbHVnaW5VbmF2YWlsYWJpbGl0eVJlYXNvbiwgV1RGOjpTdHJpbmcgbWltZVR5cGUsIFdU
Rjo6U3RyaW5nIHVybCwgV1RGOjpTdHJpbmcgcGx1Z2luc1BhZ2VVUkwpCiAgICAgRGlkQ2hhbmdl
Vmlld3BvcnRQcm9wZXJ0aWVzKFdlYkNvcmU6OlZpZXdwb3J0QXR0cmlidXRlcyBhdHRyaWJ1dGVz
KQogICAgIERpZFJlY2VpdmVFdmVudCh1aW50MzJfdCB0eXBlLCBib29sIGhhbmRsZWQpCiAgICAg
U3RvcFJlc3BvbnNpdmVuZXNzVGltZXIoKQpAQCAtNjYsNiArNjYsNyBAQCBtZXNzYWdlcyAtPiBX
ZWJQYWdlUHJveHkgewogICAgIERpZENoYW5nZVNjcm9sbE9mZnNldFBpbm5pbmdGb3JNYWluRnJh
bWUoYm9vbCBoYXNIb3Jpem9udGFsU2Nyb2xsYmFyLCBib29sIGhhc1ZlcnRpY2FsU2Nyb2xsYmFy
KQogICAgIERpZENoYW5nZVBhZ2VDb3VudCh1bnNpZ25lZCBwYWdlQ291bnQpOwogICAgIERpZEZh
aWxUb0luaXRpYWxpemVQbHVnaW4oV1RGOjpTdHJpbmcgbWltZVR5cGUpCisgICAgRGlkQmxvY2tJ
bnNlY3VyZVBsdWdpblZlcnNpb24oV1RGOjpTdHJpbmcgbWltZVR5cGUpCiAgICAgU2V0Q2FuU2hv
cnRDaXJjdWl0SG9yaXpvbnRhbFdoZWVsRXZlbnRzKGJvb2wgY2FuU2hvcnRDaXJjdWl0SG9yaXpv
bnRhbFdoZWVsRXZlbnRzKQogCiAjaWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViVUlDbGllbnQuY3BwIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlVJQ2xpZW50LmNwcAppbmRleCBkMDEzMTIyMDg4NTY4YzIwMzdj
ZTYyMzM0OWY3ZTZiY2FhMzc5YWU4Li5lZDFmYjkzMGIyODk4Y2E3YWFmYWVhYjYyYmVmZjRlZDkw
NWM1ZWM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViVUlDbGllbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJVSUNsaWVudC5jcHAKQEAgLTE3
NCwxMiArMTc0LDE4IEBAIHZvaWQgV2ViVUlDbGllbnQ6Om1vdXNlRGlkTW92ZU92ZXJFbGVtZW50
KFdlYlBhZ2VQcm94eSogcGFnZSwgY29uc3QgV2ViSGl0VGVzdFJlCiAgICAgbV9jbGllbnQubW91
c2VEaWRNb3ZlT3ZlckVsZW1lbnQodG9BUEkocGFnZSksIHRvQVBJKHdlYkhpdFRlc3RSZXN1bHQu
Z2V0KCkpLCB0b0FQSShtb2RpZmllcnMpLCB0b0FQSSh1c2VyRGF0YSksIG1fY2xpZW50LmNsaWVu
dEluZm8pOwogfQogCi12b2lkIFdlYlVJQ2xpZW50OjptaXNzaW5nUGx1Z2luQnV0dG9uQ2xpY2tl
ZChXZWJQYWdlUHJveHkqIHBhZ2UsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIGNvbnN0IFN0cmlu
ZyYgdXJsLCBjb25zdCBTdHJpbmcmIHBsdWdpbnNQYWdlVVJMKQordm9pZCBXZWJVSUNsaWVudDo6
dW5hdmFpbGFibGVQbHVnaW5CdXR0b25DbGlja2VkKFdlYlBhZ2VQcm94eSogcGFnZSwgV0tQbHVn
aW5VbmF2YWlsYWJpbGl0eVJlYXNvbiBwbHVnaW5VbmF2YWlsYWJpbGl0eVJlYXNvbiwgY29uc3Qg
U3RyaW5nJiBtaW1lVHlwZSwgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFN0cmluZyYgcGx1Z2lu
c1BhZ2VVUkwpCiB7Ci0gICAgaWYgKCFtX2NsaWVudC5taXNzaW5nUGx1Z2luQnV0dG9uQ2xpY2tl
ZCkKKyAgICBpZiAocGx1Z2luVW5hdmFpbGFiaWxpdHlSZWFzb24gPT0ga1dLUGx1Z2luVW5hdmFp
bGFiaWxpdHlSZWFzb25QbHVnaW5NaXNzaW5nKSB7CisgICAgICAgIGlmIChtX2NsaWVudC5taXNz
aW5nUGx1Z2luQnV0dG9uQ2xpY2tlZF9kZXByZWNhdGVkRm9yVXNlV2l0aFYwKQorICAgICAgICAg
ICAgbV9jbGllbnQubWlzc2luZ1BsdWdpbkJ1dHRvbkNsaWNrZWRfZGVwcmVjYXRlZEZvclVzZVdp
dGhWMCh0b0FQSShwYWdlKSwgdG9BUEkobWltZVR5cGUuaW1wbCgpKSwgdG9BUEkodXJsLmltcGwo
KSksIHRvQVBJKHBsdWdpbnNQYWdlVVJMLmltcGwoKSksIG1fY2xpZW50LmNsaWVudEluZm8pOwor
ICAgIH0KKworICAgIGlmICghbV9jbGllbnQudW5hdmFpbGFibGVQbHVnaW5CdXR0b25DbGlja2Vk
KQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2NsaWVudC5taXNzaW5nUGx1Z2luQnV0dG9uQ2xp
Y2tlZCh0b0FQSShwYWdlKSwgdG9BUEkobWltZVR5cGUuaW1wbCgpKSwgdG9BUEkodXJsLmltcGwo
KSksIHRvQVBJKHBsdWdpbnNQYWdlVVJMLmltcGwoKSksIG1fY2xpZW50LmNsaWVudEluZm8pOwor
ICAgIG1fY2xpZW50LnVuYXZhaWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tlZCh0b0FQSShwYWdlKSwg
cGx1Z2luVW5hdmFpbGFiaWxpdHlSZWFzb24sIHRvQVBJKG1pbWVUeXBlLmltcGwoKSksIHRvQVBJ
KHVybC5pbXBsKCkpLCB0b0FQSShwbHVnaW5zUGFnZVVSTC5pbXBsKCkpLCBtX2NsaWVudC5jbGll
bnRJbmZvKTsKKwogfQogCiBib29sIFdlYlVJQ2xpZW50OjppbXBsZW1lbnRzRGlkTm90SGFuZGxl
S2V5RXZlbnQoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlVJQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViVUlDbGllbnQuaAppbmRl
eCA4MzVlNmNlYjdhMDZiM2IzODMyYTJhZDFjYTQ3ODM5MDI3NTVmMzE4Li4yOGNmYjY4NmExZjJj
ZDI4OWI4YjlkODBjMTBkOWU3ZDU3Y2VkMjgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViVUlDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
VUlDbGllbnQuaApAQCAtNzAsNyArNzAsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNldFN0YXR1
c1RleHQoV2ViUGFnZVByb3h5KiwgY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCBtb3VzZURpZE1v
dmVPdmVyRWxlbWVudChXZWJQYWdlUHJveHkqLCBjb25zdCBXZWJIaXRUZXN0UmVzdWx0OjpEYXRh
JiwgV2ViRXZlbnQ6Ok1vZGlmaWVycywgQVBJT2JqZWN0Kik7Ci0gICAgdm9pZCBtaXNzaW5nUGx1
Z2luQnV0dG9uQ2xpY2tlZChXZWJQYWdlUHJveHkqLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBj
b25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiBwbHVnaW5zUGFnZVVSTCk7CisgICAgdm9p
ZCB1bmF2YWlsYWJsZVBsdWdpbkJ1dHRvbkNsaWNrZWQoV2ViUGFnZVByb3h5KiwgV0tQbHVnaW5V
bmF2YWlsYWJpbGl0eVJlYXNvbiwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgY29uc3QgU3RyaW5n
JiB1cmwsIGNvbnN0IFN0cmluZyYgcGx1Z2luc1BhZ2VVUkwpOwogICAgIAogICAgIGJvb2wgaW1w
bGVtZW50c0RpZE5vdEhhbmRsZUtleUV2ZW50KCkgY29uc3Q7CiAgICAgdm9pZCBkaWROb3RIYW5k
bGVLZXlFdmVudChXZWJQYWdlUHJveHkqLCBjb25zdCBOYXRpdmVXZWJLZXlib2FyZEV2ZW50Jik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YkNocm9tZUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5jcHAKaW5kZXggNzE2MTVkYjNiMGI2MjA2ODY3ZWYzOWMwZWQw
Yjc5YmQzYjY1MjhjNC4uNGI3OGM1YTI5YzZjOTAyYTZlMjVmNjA3M2E0NzIxM2I3YTdmNzg2YyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcApAQCAtNDcwLDcgKzQ3MCw3IEBAIHZvaWQgV2ViQ2hy
b21lQ2xpZW50OjpzY3JvbGxSZWN0SW50b1ZpZXcoY29uc3QgSW50UmVjdCYpIGNvbnN0CiAKIGJv
b2wgV2ViQ2hyb21lQ2xpZW50OjpzaG91bGRVbmF2YWlsYWJsZVBsdWdpbk1lc3NhZ2VCZUJ1dHRv
bihSZW5kZXJFbWJlZGRlZE9iamVjdDo6UGx1Z2luVW5hdmFpbGFiaWxpdHlSZWFzb24gcGx1Z2lu
VW5hdmFpbGFiaWxpdHlSZWFzb24pIGNvbnN0CiB7Ci0gICAgaWYgKHBsdWdpblVuYXZhaWxhYmls
aXR5UmVhc29uID09IFJlbmRlckVtYmVkZGVkT2JqZWN0OjpQbHVnaW5NaXNzaW5nKSB7CisgICAg
aWYgKHBsdWdpblVuYXZhaWxhYmlsaXR5UmVhc29uID09IFJlbmRlckVtYmVkZGVkT2JqZWN0OjpQ
bHVnaW5NaXNzaW5nIHx8IHBsdWdpblVuYXZhaWxhYmlsaXR5UmVhc29uID09IFJlbmRlckVtYmVk
ZGVkT2JqZWN0OjpJbnNlY3VyZVBsdWdpblZlcnNpb24pIHsKICAgICAgICAgLy8gRklYTUU6IDxy
ZGFyOi8vcHJvYmxlbS84Nzk0Mzk3PiBXZSBzaG91bGQgb25seSByZXR1cm4gdHJ1ZSB3aGVuIHRo
ZXJlIGlzIGEKICAgICAgICAgLy8gbWlzc2luZ1BsdWdpbkJ1dHRvbkNsaWNrZWQgY2FsbGJhY2sg
ZGVmaW5lZCBvbiB0aGUgUGFnZSBVSSBjbGllbnQuCiAgICAgICAgIHJldHVybiB0cnVlOwpAQCAt
NDgyLDEyICs0ODIsMTEgQEAgYm9vbCBXZWJDaHJvbWVDbGllbnQ6OnNob3VsZFVuYXZhaWxhYmxl
UGx1Z2luTWVzc2FnZUJlQnV0dG9uKFJlbmRlckVtYmVkZGVkT2JqZWMKIHZvaWQgV2ViQ2hyb21l
Q2xpZW50Ojp1bmF2YWlsYWJsZVBsdWdpbkJ1dHRvbkNsaWNrZWQoRWxlbWVudCogZWxlbWVudCwg
UmVuZGVyRW1iZWRkZWRPYmplY3Q6OlBsdWdpblVuYXZhaWxhYmlsaXR5UmVhc29uIHBsdWdpblVu
YXZhaWxhYmlsaXR5UmVhc29uKSBjb25zdAogewogICAgIEFTU0VSVChlbGVtZW50LT5oYXNUYWdO
YW1lKG9iamVjdFRhZykgfHwgZWxlbWVudC0+aGFzVGFnTmFtZShlbWJlZFRhZykpOwotICAgIEFT
U0VSVChwbHVnaW5VbmF2YWlsYWJpbGl0eVJlYXNvbiA9PSBSZW5kZXJFbWJlZGRlZE9iamVjdDo6
UGx1Z2luTWlzc2luZyk7CisgICAgQVNTRVJUKHBsdWdpblVuYXZhaWxhYmlsaXR5UmVhc29uID09
IFJlbmRlckVtYmVkZGVkT2JqZWN0OjpQbHVnaW5NaXNzaW5nIHx8IHBsdWdpblVuYXZhaWxhYmls
aXR5UmVhc29uID09IFJlbmRlckVtYmVkZGVkT2JqZWN0OjpJbnNlY3VyZVBsdWdpblZlcnNpb24p
OwogCiAgICAgSFRNTFBsdWdJbkltYWdlRWxlbWVudCogcGx1Z2luRWxlbWVudCA9IHN0YXRpY19j
YXN0PEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQqPihlbGVtZW50KTsKIAotICAgIGlmIChwbHVnaW5V
bmF2YWlsYWJpbGl0eVJlYXNvbiA9PSBSZW5kZXJFbWJlZGRlZE9iamVjdDo6UGx1Z2luTWlzc2lu
ZykKLSAgICAgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6Ok1pc3NpbmdQ
bHVnaW5CdXR0b25DbGlja2VkKHBsdWdpbkVsZW1lbnQtPnNlcnZpY2VUeXBlKCksIHBsdWdpbkVs
ZW1lbnQtPnVybCgpLCBwbHVnaW5FbGVtZW50LT5nZXRBdHRyaWJ1dGUocGx1Z2luc3BhZ2VBdHRy
KSkpOworICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpVbmF2YWlsYWJs
ZVBsdWdpbkJ1dHRvbkNsaWNrZWQocGx1Z2luVW5hdmFpbGFiaWxpdHlSZWFzb24sIHBsdWdpbkVs
ZW1lbnQtPnNlcnZpY2VUeXBlKCksIHBsdWdpbkVsZW1lbnQtPnVybCgpLCBwbHVnaW5FbGVtZW50
LT5nZXRBdHRyaWJ1dGUocGx1Z2luc3BhZ2VBdHRyKSkpOwogfQogCiB2b2lkIFdlYkNocm9tZUNs
aWVudDo6c2Nyb2xsYmFyc01vZGVEaWRDaGFuZ2UoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9h
ZGVyQ2xpZW50LmNwcAppbmRleCA1MzY2Y2M5ZjRhN2Y1MzhhZTA5ZTE4YjI0OGM0N2ZiZjI3Zjlm
YmI2Li4zNjM3OGQ0ZGI5ZWIwZjRkY2Y4MzM1NjBmYjdiNDcwODc1NDBkZmJmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVy
Q2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcApAQCAtMTMxNyw3ICsxMzE3LDcgQEAgUGFzc1JlZlB0
cjxXaWRnZXQ+IFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpjcmVhdGVQbHVnaW4oY29uc3QgSW50U2l6
ZSYsIEhUTUxQbHVnSW4KICAgICB9CiAjZW5kaWYKIAotICAgIFJlZlB0cjxQbHVnaW4+IHBsdWdp
biA9IHdlYlBhZ2UtPmNyZWF0ZVBsdWdpbihtX2ZyYW1lLCBwYXJhbWV0ZXJzKTsKKyAgICBSZWZQ
dHI8UGx1Z2luPiBwbHVnaW4gPSB3ZWJQYWdlLT5jcmVhdGVQbHVnaW4obV9mcmFtZSwgcGx1Z2lu
RWxlbWVudCwgcGFyYW1ldGVycyk7CiAgICAgaWYgKCFwbHVnaW4pCiAgICAgICAgIHJldHVybiAw
OwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
CmluZGV4IGUzNzVkNDk4Nzk5ODJhMzgxZWE3ZTJjYmE2MWI2M2E5MTUzNWYyNjMuLjQxM2QwZDdh
YmNjMGRhZTlkOTIwNWM0NmQ1NzllZjhhMjMzZGNiOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTkxLDYgKzkxLDcgQEAKICNpbmNsdWRl
IDxXZWJDb3JlL0ZyYW1lVmlldy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSFRNTEZvcm1FbGVtZW50
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9IVE1MSW5wdXRFbGVtZW50Lmg+CisjaW5jbHVkZSA8V2Vi
Q29yZS9IVE1MUGx1Z0luRWxlbWVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSGlzdG9yeUl0ZW0u
aD4KICNpbmNsdWRlIDxXZWJDb3JlL0tleWJvYXJkRXZlbnQuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L01vdXNlRXZlbnQuaD4KQEAgLTM4NSwxMyArMzg2LDIyIEBAIHZvaWQgV2ViUGFnZTo6aW5pdGlh
bGl6ZUluamVjdGVkQnVuZGxlRnVsbFNjcmVlbkNsaWVudChXS0J1bmRsZVBhZ2VGdWxsU2NyZWVu
Q2xpCiB9CiAjZW5kaWYKIAotUGFzc1JlZlB0cjxQbHVnaW4+IFdlYlBhZ2U6OmNyZWF0ZVBsdWdp
bihXZWJGcmFtZSogZnJhbWUsIGNvbnN0IFBsdWdpbjo6UGFyYW1ldGVycyYgcGFyYW1ldGVycykK
K1Bhc3NSZWZQdHI8UGx1Z2luPiBXZWJQYWdlOjpjcmVhdGVQbHVnaW4oV2ViRnJhbWUqIGZyYW1l
LCBIVE1MUGx1Z0luRWxlbWVudCogcGx1Z2luRWxlbWVudCwgY29uc3QgUGx1Z2luOjpQYXJhbWV0
ZXJzJiBwYXJhbWV0ZXJzKQogewogICAgIFN0cmluZyBwbHVnaW5QYXRoOworICAgIGJvb2wgYmxv
Y2tlZDsKIAogICAgIGlmICghV2ViUHJvY2Vzczo6c2hhcmVkKCkuY29ubmVjdGlvbigpLT5zZW5k
U3luYygKICAgICAgICAgICAgIE1lc3NhZ2VzOjpXZWJDb250ZXh0OjpHZXRQbHVnaW5QYXRoKHBh
cmFtZXRlcnMubWltZVR5cGUsIHBhcmFtZXRlcnMudXJsLnN0cmluZygpKSwgCi0gICAgICAgICAg
ICBNZXNzYWdlczo6V2ViQ29udGV4dDo6R2V0UGx1Z2luUGF0aDo6UmVwbHkocGx1Z2luUGF0aCks
IDApKSB7CisgICAgICAgICAgICBNZXNzYWdlczo6V2ViQ29udGV4dDo6R2V0UGx1Z2luUGF0aDo6
UmVwbHkocGx1Z2luUGF0aCwgYmxvY2tlZCksIDApKSB7CisgICAgICAgIHJldHVybiAwOworICAg
IH0KKworICAgIGlmIChibG9ja2VkKSB7CisgICAgICAgIGlmIChwbHVnaW5FbGVtZW50LT5yZW5k
ZXJlcigpLT5pc0VtYmVkZGVkT2JqZWN0KCkpCisgICAgICAgICAgICB0b1JlbmRlckVtYmVkZGVk
T2JqZWN0KHBsdWdpbkVsZW1lbnQtPnJlbmRlcmVyKCkpLT5zZXRQbHVnaW5VbmF2YWlsYWJpbGl0
eVJlYXNvbihSZW5kZXJFbWJlZGRlZE9iamVjdDo6SW5zZWN1cmVQbHVnaW5WZXJzaW9uKTsKKwor
ICAgICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZEJsb2NrSW5zZWN1cmVQbHVn
aW5WZXJzaW9uKHBhcmFtZXRlcnMubWltZVR5cGUpKTsKICAgICAgICAgcmV0dXJuIDA7CiAgICAg
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCA1
NTZjM2ZlZGZhYzlmOTIzZGMzOWM4NDgxM2IzODVjNzQ3MzFmZTFmLi5kMThjNDAxYmY0ZjI1N2Rl
YzVhZmFjNmJiOTIwZjJhOTAyMzIwNThjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmgKQEAgLTEwMyw2ICsxMDMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgY2xhc3MgR3JhcGhpY3NDb250ZXh0OwogICAgIGNsYXNzIEZyYW1lOwogICAgIGNsYXNz
IEZyYW1lVmlldzsKKyAgICBjbGFzcyBIVE1MUGx1Z0luRWxlbWVudDsKICAgICBjbGFzcyBLZXli
b2FyZEV2ZW50OwogICAgIGNsYXNzIFBhZ2U7CiAgICAgY2xhc3MgUHJpbnRDb250ZXh0OwpAQCAt
MjU2LDcgKzI1Nyw3IEBAIHB1YmxpYzoKICAgICBXZWJDb3JlOjpGcmFtZSogbWFpbkZyYW1lKCkg
Y29uc3Q7IC8vIE1heSByZXR1cm4gMC4KICAgICBXZWJDb3JlOjpGcmFtZVZpZXcqIG1haW5GcmFt
ZVZpZXcoKSBjb25zdDsgLy8gTWF5IHJldHVybiAwLgogCi0gICAgUGFzc1JlZlB0cjxQbHVnaW4+
IGNyZWF0ZVBsdWdpbihXZWJGcmFtZSosIGNvbnN0IFBsdWdpbjo6UGFyYW1ldGVycyYpOworICAg
IFBhc3NSZWZQdHI8UGx1Z2luPiBjcmVhdGVQbHVnaW4oV2ViRnJhbWUqLCBXZWJDb3JlOjpIVE1M
UGx1Z0luRWxlbWVudCosIGNvbnN0IFBsdWdpbjo6UGFyYW1ldGVycyYpOwogCiAgICAgRWRpdG9y
U3RhdGUgZWRpdG9yU3RhdGUoKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5jcHAKaW5kZXggYzQzNTIyMWE3OWExODE1YTAzYjllMWRmYWNlMjYzMTdlMzgyMmY4
Ny4uMjBkOTI2MGI3NjFiZDBlMzdiYWFlNzIyNDFlMzQ5NmQ4OGUzZGIyMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCkBAIC03NjQsMTEgKzc2NCwxMiBAQCBXZWJQ
YWdlR3JvdXBQcm94eSogV2ViUHJvY2Vzczo6d2ViUGFnZUdyb3VwKGNvbnN0IFdlYlBhZ2VHcm91
cERhdGEmIHBhZ2VHcm91cERhdAogc3RhdGljIGJvb2wgY2FuUGx1Z2luSGFuZGxlUmVzcG9uc2Uo
Y29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCiB7CiAgICAgU3RyaW5nIHBsdWdpblBh
dGg7CisgICAgYm9vbCBibG9ja2VkOwogCi0gICAgaWYgKCFXZWJQcm9jZXNzOjpzaGFyZWQoKS5j
b25uZWN0aW9uKCktPnNlbmRTeW5jKE1lc3NhZ2VzOjpXZWJDb250ZXh0OjpHZXRQbHVnaW5QYXRo
KHJlc3BvbnNlLm1pbWVUeXBlKCksIHJlc3BvbnNlLnVybCgpLnN0cmluZygpKSwgTWVzc2FnZXM6
OldlYkNvbnRleHQ6OkdldFBsdWdpblBhdGg6OlJlcGx5KHBsdWdpblBhdGgpLCAwKSkKKyAgICBp
ZiAoIVdlYlByb2Nlc3M6OnNoYXJlZCgpLmNvbm5lY3Rpb24oKS0+c2VuZFN5bmMoTWVzc2FnZXM6
OldlYkNvbnRleHQ6OkdldFBsdWdpblBhdGgocmVzcG9uc2UubWltZVR5cGUoKSwgcmVzcG9uc2Uu
dXJsKCkuc3RyaW5nKCkpLCBNZXNzYWdlczo6V2ViQ29udGV4dDo6R2V0UGx1Z2luUGF0aDo6UmVw
bHkocGx1Z2luUGF0aCwgYmxvY2tlZCksIDApKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAg
ICByZXR1cm4gIXBsdWdpblBhdGguaXNFbXB0eSgpOworICAgIHJldHVybiAhYmxvY2tlZCAmJiAh
cGx1Z2luUGF0aC5pc0VtcHR5KCk7CiB9CiAKIGJvb2wgV2ViUHJvY2Vzczo6c2hvdWxkVXNlQ3Vz
dG9tUmVwcmVzZW50YXRpb25Gb3JSZXNwb25zZShjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNw
b25zZSkgY29uc3QKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxv
ZwppbmRleCBiZmYxNGFlYjJkMWJhYzU3NGNlNzlkNmIwMGIzOGFlN2FmYjNhMTYwLi42YjJjNTg3
MGJkZDg2YjQyNDA5NzRiYWRmMWYyODA3MzIxYmI0OWU1IDEwMDY0NAotLS0gYS9Ub29scy9DaGFu
Z2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTItMDUtMTAg
IEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KKworICAgICAgICBXZWJLaXQy
OiBBZGQgYSB3YXkgdG8gYmxhY2tsaXN0IHNwZWNpZmljIHBsdWctaW5zL3BsdWctaW4gdmVyc2lv
bnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg2MTY0
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS85NTUxMTk2PgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSBmb3IgV0syIEFQSSBjaGFuZ2VzLgor
CisgICAgICAgICogTWluaUJyb3dzZXIvbWFjL0Jyb3dzZXJXaW5kb3dDb250cm9sbGVyLm06Cisg
ICAgICAgICgtW0Jyb3dzZXJXaW5kb3dDb250cm9sbGVyIGF3YWtlRnJvbU5pYl0pOgorICAgICAg
ICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpU
ZXN0Q29udHJvbGxlcjo6Y3JlYXRlT3RoZXJQYWdlKToKKyAgICAgICAgKFdUUjo6VGVzdENvbnRy
b2xsZXI6OmluaXRpYWxpemUpOgorCiAyMDEyLTA1LTEwICBEaXJrIFByYW5rZSAgPGRwcmFua2VA
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIG5yd3Q6IFtjaHJvbWl1bV0gZml4IHBhdGggdG8gYXNh
biBzeW1ib2xpemUgc2NyaXB0CmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9tYWMvQnJv
d3NlcldpbmRvd0NvbnRyb2xsZXIubSBiL1Rvb2xzL01pbmlCcm93c2VyL21hYy9Ccm93c2VyV2lu
ZG93Q29udHJvbGxlci5tCmluZGV4IDUxNDRmNTM5MzM1YTAxYzJmNDMyOGI2YWY4Njg5YWE1OWVk
NDVjYjMuLjEzMWJmYTRkZGFkZDcwNjk4MjZlM2JhOWYxNmZiYjViNTM2ZDRmOGYgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL01pbmlCcm93c2VyL21hYy9Ccm93c2VyV2luZG93Q29udHJvbGxlci5tCisrKyBi
L1Rvb2xzL01pbmlCcm93c2VyL21hYy9Ccm93c2VyV2luZG93Q29udHJvbGxlci5tCkBAIC02MTEs
NiArNjExLDcgQEAgLSAodm9pZClhd2FrZUZyb21OaWIKICAgICAgICAgMCwgLy8gZGlkTmV3Rmly
c3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0CiAgICAgICAgIDAsIC8vIHdpbGxHb1RvQmFja0Zvcndh
cmRMaXN0SXRlbQogICAgICAgICAwLCAvLyBpbnRlcmFjdGlvbk9jY3VycmVkV2hpbGVQcm9jZXNz
VW5yZXNwb25zaXZlCisgICAgICAgIDAsIC8vIHBsdWdpbkRpZEZhaWwKICAgICB9OwogICAgIFdL
UGFnZVNldFBhZ2VMb2FkZXJDbGllbnQoX3dlYlZpZXcucGFnZVJlZiwgJmxvYWRDbGllbnQpOwog
ICAgIApAQCAtNjY5LDYgKzY3MCw3IEBAIC0gKHZvaWQpYXdha2VGcm9tTmliCiAgICAgICAgIGNy
ZWF0ZU5ld1BhZ2UsCiAgICAgICAgIG1vdXNlRGlkTW92ZU92ZXJFbGVtZW50LAogICAgICAgICAw
LCAvLyBkZWNpZGVQb2xpY3lGb3JOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdAorICAgICAg
ICAwLCAvLyB1bmF2YWlsYWJsZVBsdWdpbkJ1dHRvbkNsaWNrZWQKICAgICB9OwogICAgIFdLUGFn
ZVNldFBhZ2VVSUNsaWVudChfd2ViVmlldy5wYWdlUmVmLCAmdWlDbGllbnQpOwogfQpkaWZmIC0t
Z2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAgYi9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAppbmRleCBiM2I5Mzk2ZjgxMzgzNGU4
OWZmMWExODM3ZGI1MzBhNGJiNjE3MTQ4Li4yMTllNzQ5NzNiY2U2ZDYyMDg4ZmM4N2I0ODQ4MmFm
MmU0NzgwZTliIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9s
bGVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcApA
QCAtMjEyLDYgKzIxMiw3IEBAIFdLUGFnZVJlZiBUZXN0Q29udHJvbGxlcjo6Y3JlYXRlT3RoZXJQ
YWdlKFdLUGFnZVJlZiBvbGRQYWdlLCBXS1VSTFJlcXVlc3RSZWYsIFdLCiAgICAgICAgIGNyZWF0
ZU90aGVyUGFnZSwKICAgICAgICAgMCwgLy8gbW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQKICAgICAg
ICAgMCwgLy8gZGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QKKyAg
ICAgICAgMCwgLy8gdW5hdmFpbGFibGVQbHVnaW5CdXR0b25DbGlja2VkCiAgICAgfTsKICAgICBX
S1BhZ2VTZXRQYWdlVUlDbGllbnQobmV3UGFnZSwgJm90aGVyUGFnZVVJQ2xpZW50KTsKIApAQCAt
MzcxLDYgKzM3Miw3IEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OmluaXRpYWxpemUoaW50IGFyZ2Ms
IGNvbnN0IGNoYXIqIGFyZ3ZbXSkKICAgICAgICAgY3JlYXRlT3RoZXJQYWdlLAogICAgICAgICAw
LCAvLyBtb3VzZURpZE1vdmVPdmVyRWxlbWVudAogICAgICAgICAwLCAvLyBkZWNpZGVQb2xpY3lG
b3JOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdAorICAgICAgICAwLCAvLyB1bmF2YWlsYWJs
ZVBsdWdpbkJ1dHRvbkNsaWNrZWQKICAgICB9OwogICAgIFdLUGFnZVNldFBhZ2VVSUNsaWVudCht
X21haW5XZWJWaWV3LT5wYWdlKCksICZwYWdlVUlDbGllbnQpOwogCkBAIC00MDYsNiArNDA4LDcg
QEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6aW5pdGlhbGl6ZShpbnQgYXJnYywgY29uc3QgY2hhciog
YXJndltdKQogICAgICAgICAwLCAvLyBkaWROZXdGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXQK
ICAgICAgICAgMCwgLy8gd2lsbEdvVG9CYWNrRm9yd2FyZExpc3RJdGVtCiAgICAgICAgIDAsIC8v
IGludGVyYWN0aW9uT2NjdXJyZWRXaGlsZVByb2Nlc3NVbnJlc3BvbnNpdmUKKyAgICAgICAgMCwg
Ly8gcGx1Z2luRGlkRmFpbAogICAgIH07CiAgICAgV0tQYWdlU2V0UGFnZUxvYWRlckNsaWVudCht
X21haW5XZWJWaWV3LT5wYWdlKCksICZwYWdlTG9hZGVyQ2xpZW50KTsKIH0K
</data>
<flag name="review"
          id="147412"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>