<?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>133689</bug_id>
          
          <creation_ts>2014-06-10 12:42:23 -0700</creation_ts>
          <short_desc>Add -[WKWebView evaluateJavaScript:completionHandler:]</short_desc>
          <delta_ts>2014-06-10 14:26:24 -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>1014472</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-06-10 12:42:23 -0700</bug_when>
    <thetext>Add -[WKWebView evaluateJavaScript:completionHandler:]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1014476</commentid>
    <comment_count>1</comment_count>
      <attachid>232804</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-06-10 12:48:31 -0700</bug_when>
    <thetext>Created attachment 232804
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1014520</commentid>
    <comment_count>2</comment_count>
      <attachid>232804</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2014-06-10 14:17:02 -0700</bug_when>
    <thetext>Comment on attachment 232804
Patch

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

r=me

&gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm:495
&gt; +                // We don&apos;t want to call the block from within the call that invalidates the web view,
&gt; +                // so defer it here.

Why not?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1014528</commentid>
    <comment_count>3</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-06-10 14:26:24 -0700</bug_when>
    <thetext>Committed r169765: &lt;http://trac.webkit.org/changeset/169765&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>232804</attachid>
            <date>2014-06-10 12:48:31 -0700</date>
            <delta_ts>2014-06-10 14:17:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-133689-20140610124806.patch</filename>
            <type>text/plain</type>
            <size>20925</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY5NzQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTI5ODk0YTQ4Yjc4YTBl
ZGRjNDkxMTdlYjA1YTA1OWZjZjBlYjQ1YS4uZTgwMjYwN2FiYjhkNzgzMmYxYzZmN2IwMGFmMDcw
YTBiZTY4NDEyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE0LTA2LTEwICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIC1bV0tXZWJW
aWV3IGV2YWx1YXRlSmF2YVNjcmlwdDpjb21wbGV0aW9uSGFuZGxlcjpdCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzM2ODkKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzE3MTUyNjg1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogRW5nbGlzaC5scHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzOgorICAgICAg
ICBBZGQgbmV3IGxvY2FsaXphYmxlIHN0cmluZ3MuCisKIDIwMTQtMDYtMTAgIEFuZHJlYXMgS2xp
bmcgIDxha2xpbmdAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1MgV2ViS2l0Ml0gU3RheSBpbiAi
bWVtb3J5IHByZXNzdXJlIiBtb2RlIHVudGlsIHRvbGQgb3RoZXJ3aXNlLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4
IDk3ZTY0N2VmMjI1NzhhMTIyNjY5Y2UyNjQzODk0Mzk2ZmVmYjg2MTYuLmMzZDVkOWE5YjUzZTlj
MWE4MzNhYjY5ZjE0ZjY2YjhiMDVmN2Q3ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NyBAQAor
MjAxNC0wNi0xMCAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgorCisgICAg
ICAgIEFkZCAtW1dLV2ViVmlldyBldmFsdWF0ZUphdmFTY3JpcHQ6Y29tcGxldGlvbkhhbmRsZXI6
XQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMzNjg5
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xNzE1MjY4NT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNoYXJlZC9BUEkvYy9XS0Vycm9yUmVmLmg6
CisgICAgICAgIFJlbW92ZSBXS0Vycm9yQ29kZSB0eXBlZGVmIGZyb20gaGVyZS4KKworICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VMb2FkZXJDbGllbnQuaDoKKyAgICAgICAgVXNlIHVp
bnQzMl90IGluc3RlYWQgb2YgV0tFcnJvckNvZGUuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L0NvY29hL1dLRXJyb3IuaDoKKyAgICAgICAgKE5TX0VOVU0pOgorICAgICAgICBBZGQgYSBXS0Vy
cm9yRG9tYWluIGFuZCBhIFdLRXJyb3JDb2RlIGVudW0uCisKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL0NvY29hL1dLRXJyb3IubW06CisgICAgICAgIChsb2NhbGl6ZWREZXNjcmlwdGlvbkZvckVy
cm9yQ29kZSk6CisgICAgICAgIEhlbHBlciB0aGF0IHJldHVybnMgdGhlIGxvY2FsaXplZCBkZXNj
cmlwdGlvbiBnaXZlbiBhbiBlcnJvciBjb2RlLgorCisgICAgICAgIChjcmVhdGVOU0Vycm9yKToK
KyAgICAgICAgSGVscGVyIHRoYXQgY3JlYXRlcyBhbiBOU0Vycm9yIHdpdGggdGhlIGNvcnJlY3Qg
bG9jYWxpemVkIGRlc2NyaXB0aW9uIGdpdmVuIGFuIGVycm9yIGNvZGUuCisKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0NvY29hL1dLRXJyb3JJbnRlcm5hbC5oOgorICAgICAgICBBZGQgaGVscGVy
cy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lmg6CisgICAgICAg
IEFkZCBldmFsdWF0ZUphdmFTY3JpcHQ6Y29tcGxldGlvbkhhbmRsZXI6IG1ldGhvZC4KKworICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tOgorICAgICAgICAoY2FsbGJh
Y2tFcnJvckNvZGUpOgorICAgICAgICBIZWxwZXIgdGhhdCByZXR1cm5zIGEgV0tFcnJvckNvZGUg
ZnJvbSBhIFdlYktpdDo6Q2FsbGJhY2tCYXNlOjpFcnJvciBlbnVtLgorCisgICAgICAgICgtW1dL
V2ViVmlldyBldmFsdWF0ZUphdmFTY3JpcHQ6Y29tcGxldGlvbkhhbmRsZXI6XSk6CisgICAgICAg
IFJ1biB0aGUgSmF2YVNjcmlwdCBjb2RlIGFuZCBoYW5kbGUgYWxsIHRoZSBlcnJvciBjYXNlcy4K
KworICAgICAgICAoLVtXS1dlYlZpZXcgX3J1bkphdmFTY3JpcHRJbk1haW5GcmFtZTpdKToKKyAg
ICAgICAgUmVpbXBsZW1lbnQgdGhpcyB1c2luZyB0aGUgQVBJIG1ldGhvZC4KKworICAgICAgICAq
IFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgQWRkIG5ldyBmaWxl
cy4KKwogMjAxNC0wNi0wOSAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgog
CiAgICAgICAgIEZpeCBidWlsZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0VuZ2xpc2gu
bHByb2ovTG9jYWxpemFibGUuc3RyaW5ncyBiL1NvdXJjZS9XZWJDb3JlL0VuZ2xpc2gubHByb2ov
TG9jYWxpemFibGUuc3RyaW5ncwppbmRleCBiMzBlYTI4ODQ1M2NmYjhlNDRlMTkzMDE2OGU5YTE4
Y2YxNWUyZWNhLi4zYTNjYzdmYTcyMDMxNTkyNjIzMWRlNGM1Y2YzNzAyMzU2ZGZiNDU0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9FbmdsaXNoLmxwcm9qL0xvY2FsaXphYmxlLnN0cmluZ3MK
KysrIGIvU291cmNlL1dlYkNvcmUvRW5nbGlzaC5scHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzCkBA
IC00OSwxNSArNDksMTUgQEAKIC8qIFZpc2libGUgbmFtZSBvZiB0aGUgd2ViIHByb2Nlc3MuIFRo
ZSBhcmd1bWVudCBpcyB0aGUgYXBwbGljYXRpb24gbmFtZS4gKi8KICIlQCBXZWIgQ29udGVudCIg
PSAiJUAgV2ViIENvbnRlbnQiOwogCi0vKiBMYWJlbCBmb3IgUERGIHBhZ2UgbnVtYmVyIGluZGlj
YXRvci4gVGhlIGFyZ3VtZW50cyBhcmUgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgYW5kIHRvdGFs
IHBhZ2UgY291bnQgKGlPUyBvbmx5KSAqLwotIiVkIG9mICVkIiA9ICIlZCBvZiAlZCI7Ci0KIC8q
IE5hbWUgb2YgYXBwbGljYXRpb24ncyBzaW5nbGUgV2ViQ3J5cHRvIG1hc3RlciBrZXkgaW4gS2V5
Y2hhaW4gKi8KICIlQCBXZWJDcnlwdG8gTWFzdGVyIEtleSIgPSAiJUAgV2ViQ3J5cHRvIE1hc3Rl
ciBLZXkiOwogCiAvKiBMYWJlbCB0byBkZXNjcmliZSB0aGUgbnVtYmVyIG9mIGZpbGVzIHNlbGVj
dGVkIGluIGEgZmlsZSB1cGxvYWQgY29udHJvbCB0aGF0IGFsbG93cyBtdWx0aXBsZSBmaWxlcyAq
LwogIiVkIGZpbGVzIiA9ICIlZCBmaWxlcyI7CiAKKy8qIExhYmVsIGZvciBQREYgcGFnZSBudW1i
ZXIgaW5kaWNhdG9yLiAqLworIiVkIG9mICVkIiA9ICIlZCBvZiAlZCI7CisKIC8qIFByZXNlbnQg
dGhlIG51bWJlciBvZiBzZWxlY3RlZCA8b3B0aW9uPiBpdGVtcyBpbiBhIDxzZWxlY3QgbXVsdGlw
bGU+IGVsZW1lbnQgKGlPUyBvbmx5KSAqLwogIiV6dSBJdGVtcyIgPSAiJXp1IEl0ZW1zIjsKIApA
QCAtODUsNiArODUsOSBAQAogLyogd2luZG93IHRpdGxlIGZvciBhIHN0YW5kYWxvbmUgaW1hZ2Ug
KHVzZXMgbXVsdGlwbGljYXRpb24gc3ltYm9sLCBub3QgeCkgKi8KICI8ZmlsZW5hbWU+ICVkw5cl
ZCBwaXhlbHMiID0gIjxmaWxlbmFtZT4gJWTDlyVkIHBpeGVscyI7CiAKKy8qIFdLRXJyb3JKYXZh
U2NyaXB0RXhjZXB0aW9uT2NjdXJyZWQgZGVzY3JpcHRpb24gKi8KKyJBIEphdmFTY3JpcHQgZXhj
ZXB0aW9uIG9jY3VycmVkIiA9ICJBIEphdmFTY3JpcHQgZXhjZXB0aW9uIG9jY3VycmVkIjsKKwog
LyogVGl0bGUgZm9yIEFkZCB0byBSZWFkaW5nIExpc3QgYWN0aW9uIGJ1dHRvbiAqLwogIkFkZCB0
byBSZWFkaW5nIExpc3QiID0gIkFkZCB0byBSZWFkaW5nIExpc3QiOwogCkBAIC05NCw2ICs5Nyw5
IEBACiAvKiBVbmRvIGFjdGlvbiBuYW1lICovCiAiQWxpZ24gUmlnaHQgKFVuZG8gYWN0aW9uIG5h
bWUpIiA9ICJBbGlnbiBSaWdodCI7CiAKKy8qIFdLRXJyb3JVbmtub3duIGRlc2NyaXB0aW9uICov
CisiQW4gdW5rbm93biBlcnJvciBvY2N1cnJlZCIgPSAiQW4gdW5rbm93biBlcnJvciBvY2N1cnJl
ZCI7CisKIC8qIE1lbnUgaXRlbSBsYWJlbCBmb3IgYXV0b21hdGljIHRyYWNrIHNlbGVjdGlvbiBi
ZWhhdmlvciAqLwogIkF1dG8gKFJlY29tbWVuZGVkKSIgPSAiQXV0byAoUmVjb21tZW5kZWQpIjsK
IApAQCAtNTY1LDYgKzU3MSwxMiBAQAogLyogV2ViS2l0RXJyb3JDYW5ub3RTaG93VVJMIGRlc2Ny
aXB0aW9uICovCiAiVGhlIFVSTCBjYW7igJl0IGJlIHNob3duIiA9ICJUaGUgVVJMIGNhbuKAmXQg
YmUgc2hvd24iOwogCisvKiBXS0Vycm9yV2ViVmlld0ludmFsaWRhdGVkIGRlc2NyaXB0aW9uICov
CisiVGhlIFdLV2ViVmlldyB3YXMgaW52YWxpZGF0ZWQiID0gIlRoZSBXS1dlYlZpZXcgd2FzIGlu
dmFsaWRhdGVkIjsKKworLyogV0tFcnJvcldlYkNvbnRlbnRQcm9jZXNzVGVybWluYXRlZCBkZXNj
cmlwdGlvbiAqLworIlRoZSBXZWIgQ29udGVudCBwcm9jZXNzIHdhcyB0ZXJtaW5hdGVkIiA9ICJU
aGUgV2ViIENvbnRlbnQgcHJvY2VzcyB3YXMgdGVybWluYXRlZCI7CisKIC8qIFdlYktpdEVycm9y
R2VvbG9jYXRpb25Mb2NhdGlvblVua25vd24gZGVzY3JpcHRpb24gKi8KICJUaGUgY3VycmVudCBs
b2NhdGlvbiBjYW5ub3QgYmUgZm91bmQuIiA9ICJUaGUgY3VycmVudCBsb2NhdGlvbiBjYW5ub3Qg
YmUgZm91bmQuIjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dL
RXJyb3JSZWYuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0Vycm9yUmVmLmgKaW5k
ZXggYzEyODBmODgzMTdhNTMzZWFmMDM0OGE3ODdlMTY2YzlkZDM1Y2ZhNi4uNTE1Zjc4MDZmOTU5
Zjk5MThmN2YxZjE4ZDY5ZWFiNzA5ZjBkOGFhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL0FQSS9jL1dLRXJyb3JSZWYuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJ
L2MvV0tFcnJvclJlZi5oCkBAIC00NSw3ICs0NSw2IEBAIGVudW0gewogICAgIGtXS0Vycm9yQ29k
ZUluc2VjdXJlUGx1Z0luVmVyc2lvbiA9ICAgICAgICAgICAgICAgICAgICAgICAgICAyMDUsCiAg
ICAga1dLRXJyb3JJbnRlcm5hbCA9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDMwMCwKIH07Ci10eXBlZGVmIHVpbnQzMl90IFdLRXJyb3JDb2RlOwogCiBXS19FWFBP
UlQgV0tUeXBlSUQgV0tFcnJvckdldFR5cGVJRCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlTG9hZGVyQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlTG9hZGVyQ2xpZW50LmgKaW5kZXggNjk4MzAyN2U5Yjdj
MDQ1MDFhZTVlZWI2ZTdjMjk4ZTgxY2U3OWM3MC4uOTBhMmZiZjhkNzA1NzcwNDczZGUzYWFjNmUw
MTM1YjY5MjE5ZTAwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
L1dLUGFnZUxvYWRlckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XS1BhZ2VMb2FkZXJDbGllbnQuaApAQCAtNzMsMTIgKzczLDEyIEBAIHR5cGVkZWYgYm9vbCAo
KldLUGFnZVNob3VsZEtlZXBDdXJyZW50QmFja0ZvcndhcmRMaXN0SXRlbUluTGlzdENhbGxiYWNr
KShXS1BhZ2VSCiB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VXaWxsR29Ub0JhY2tGb3J3YXJkTGlzdEl0
ZW1DYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLQmFja0ZvcndhcmRMaXN0SXRlbVJlZiBpdGVt
LCBXS1R5cGVSZWYgdXNlckRhdGEsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwogdHlwZWRlZiB2
b2lkICgqV0tQYWdlRGlkTGF5b3V0Q2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBXS0xheW91dE1p
bGVzdG9uZXMgbWlsZXN0b25lcywgV0tUeXBlUmVmIHVzZXJEYXRhLCBjb25zdCB2b2lkICpjbGll
bnRJbmZvKTsKIHR5cGVkZWYgV0tQbHVnaW5Mb2FkUG9saWN5ICgqV0tQYWdlUGx1Z2luTG9hZFBv
bGljeUNhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tQbHVnaW5Mb2FkUG9saWN5IGN1cnJlbnRQ
bHVnaW5Mb2FkUG9saWN5LCBXS0RpY3Rpb25hcnlSZWYgcGx1Z2luSW5mb0RpY3Rpb25hcnksIFdL
U3RyaW5nUmVmKiB1bmF2YWlsYWJpbGl0eURlc2NyaXB0aW9uLCBjb25zdCB2b2lkKiBjbGllbnRJ
bmZvKTsKLXR5cGVkZWYgdm9pZCAoKldLUGFnZVBsdWdpbkRpZEZhaWxDYWxsYmFjaykoV0tQYWdl
UmVmIHBhZ2UsIFdLRXJyb3JDb2RlIGVycm9yQ29kZSwgV0tEaWN0aW9uYXJ5UmVmIHBsdWdpbklu
Zm9EaWN0aW9uYXJ5LCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKK3R5cGVkZWYgdm9pZCAoKldL
UGFnZVBsdWdpbkRpZEZhaWxDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIHVpbnQzMl90IGVycm9y
Q29kZSwgV0tEaWN0aW9uYXJ5UmVmIHBsdWdpbkluZm9EaWN0aW9uYXJ5LCBjb25zdCB2b2lkKiBj
bGllbnRJbmZvKTsKIHR5cGVkZWYgV0tXZWJHTExvYWRQb2xpY3kgKCpXS1BhZ2VXZWJHTExvYWRQ
b2xpY3lDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIHVybCwgY29uc3Qgdm9p
ZCogY2xpZW50SW5mbyk7CiAKIC8vIERlcHJlY2F0ZWQKIHR5cGVkZWYgdm9pZCAoKldLUGFnZURp
ZEZhaWxUb0luaXRpYWxpemVQbHVnaW5DYWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFYwKShX
S1BhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgbWltZVR5cGUsIGNvbnN0IHZvaWQqIGNsaWVudElu
Zm8pOwotdHlwZWRlZiB2b2lkICgqV0tQYWdlUGx1Z2luRGlkRmFpbENhbGxiYWNrX2RlcHJlY2F0
ZWRGb3JVc2VXaXRoVjEpKFdLUGFnZVJlZiBwYWdlLCBXS0Vycm9yQ29kZSBlcnJvckNvZGUsIFdL
U3RyaW5nUmVmIG1pbWVUeXBlLCBXS1N0cmluZ1JlZiBwbHVnaW5JZGVudGlmaWVyLCBXS1N0cmlu
Z1JlZiBwbHVnaW5WZXJzaW9uLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKK3R5cGVkZWYgdm9p
ZCAoKldLUGFnZVBsdWdpbkRpZEZhaWxDYWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFYxKShX
S1BhZ2VSZWYgcGFnZSwgdWludDMyX3QgZXJyb3JDb2RlLCBXS1N0cmluZ1JlZiBtaW1lVHlwZSwg
V0tTdHJpbmdSZWYgcGx1Z2luSWRlbnRpZmllciwgV0tTdHJpbmdSZWYgcGx1Z2luVmVyc2lvbiwg
Y29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiB0eXBlZGVmIFdLUGx1Z2luTG9hZFBvbGljeSAoKldL
UGFnZVBsdWdpbkxvYWRQb2xpY3lDYWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFYyKShXS1Bh
Z2VSZWYgcGFnZSwgV0tQbHVnaW5Mb2FkUG9saWN5IGN1cnJlbnRQbHVnaW5Mb2FkUG9saWN5LCBX
S0RpY3Rpb25hcnlSZWYgcGx1Z2luSW5mb0RpY3Rpb25hcnksIGNvbnN0IHZvaWQqIGNsaWVudElu
Zm8pOwogCiB0eXBlZGVmIHN0cnVjdCBXS1BhZ2VMb2FkZXJDbGllbnRCYXNlIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tFcnJvci5oIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Vycm9yLmgKaW5kZXggOTcyMGRiMWJkYzZh
ZjhjN2I2YjMwMmZlYzI0MzRiYTkxMWY3YzMzNy4uZWI3NGI1NjQwY2Q0ZWIyMWYzMjExOTkyYzNh
OTQ4NDY0ODU0MTAwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS0Vycm9yLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S0Vycm9yLmgKQEAgLTI5LDYgKzI5LDIxIEBACiAKICNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRh
dGlvbi5oPgogCisvKiEgQGNvbnN0YW50IFdLRXJyb3JEb21haW4gSW5kaWNhdGVzIGEgV2ViS2l0
IGVycm9yLiAqLwogV0tfRVhURVJOIE5TU3RyaW5nICogY29uc3QgV0tFcnJvckRvbWFpbiBXS19B
VkFJTEFCTEUoMTBfMCwgOF8wKTsKIAorLyohIEBlbnVtIFdLRXJyb3JDb2RlCisgQGFic3RyYWN0
IENvbnN0YW50cyB1c2VkIGJ5IE5TRXJyb3IgdG8gaW5kaWNhdGUgZXJyb3JzIGluIHRoZSBXZWJL
aXQgZG9tYWluLgorIEBjb25zdGFudCBXS0Vycm9yVW5rbm93biAgICAgICAgICAgICAgICAgICAg
ICAgSW5kaWNhdGVzIHRoYXQgYW4gdW5rbm93biBlcnJvciBvY2N1cnJlZC4KKyBAY29uc3RhbnQg
V0tFcnJvcldlYkNvbnRlbnRQcm9jZXNzVGVybWluYXRlZCAgIEluZGljYXRlcyB0aGF0IHRoZSBX
ZWIgQ29udGVudCBwcm9jZXNzIHdhcyB0ZXJtaW5hdGVkLgorIEBjb25zdGFudCBXS0Vycm9yV2Vi
Vmlld0ludmFsaWRhdGVkICAgICAgICAgICAgSW5kaWNhdGVzIHRoYXQgdGhlIFdLV2ViVmlldyB3
YXMgaW52YWxpZGF0ZWQuCisgQGNvbnN0YW50IFdLRXJyb3JKYXZhU2NyaXB0RXhjZXB0aW9uT2Nj
dXJyZWQgICBJbmRpY2F0ZXMgdGhhdCBhIEphdmFTY3JpcHQgZXhjZXB0aW9uIG9jY3VycmVkLgor
ICovCit0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBXS0Vycm9yQ29kZSkgeworICAgIFdLRXJy
b3JVbmtub3duID0gMSwKKyAgICBXS0Vycm9yV2ViQ29udGVudFByb2Nlc3NUZXJtaW5hdGVkLAor
ICAgIFdLRXJyb3JXZWJWaWV3SW52YWxpZGF0ZWQsCisgICAgV0tFcnJvckphdmFTY3JpcHRFeGNl
cHRpb25PY2N1cnJlZCwKK30gV0tfRU5VTV9BVkFJTEFCTEUoMTBfMTAsIDhfMCk7CisKICNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Vycm9y
Lm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Vycm9yLm1tCmluZGV4
IDA1MTY0MWU3ZGNlZmJkZjk5YWQxNDViODNiMTQ3M2U5ZTRhYzRlM2EuLjI3YjcyMzQ3OGI3MjAw
MTJhNWQ4ZjhjNDdmODE5ODA2ZjI1YmMxMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tFcnJvci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLRXJyb3IubW0KQEAgLTI0LDEwICsyNCwzOCBAQAogICovCiAKICNpbXBv
cnQgImNvbmZpZy5oIgotI2ltcG9ydCAiV0tFcnJvci5oIgorI2ltcG9ydCAiV0tFcnJvckludGVy
bmFsLmgiCiAKICNpZiBXS19BUElfRU5BQkxFRAogCisjaW1wb3J0IDxXZWJDb3JlL0xvY2FsaXpl
ZFN0cmluZ3MuaD4KKyNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KKyNpbXBvcnQgPHd0Zi90ZXh0
L1dURlN0cmluZy5oPgorCiBOU1N0cmluZyAqIGNvbnN0IFdLRXJyb3JEb21haW4gPSBAIldLRXJy
b3JEb21haW4iOwogCitzdGF0aWMgTlNTdHJpbmcgKmxvY2FsaXplZERlc2NyaXB0aW9uRm9yRXJy
b3JDb2RlKFdLRXJyb3JDb2RlIGVycm9yQ29kZSkKK3sKKyAgICBzd2l0Y2ggKGVycm9yQ29kZSkg
eworICAgIGNhc2UgV0tFcnJvclVua25vd246CisgICAgICAgIHJldHVybiBXRUJfVUlfU1RSSU5H
KCJBbiB1bmtub3duIGVycm9yIG9jY3VycmVkIiwgIldLRXJyb3JVbmtub3duIGRlc2NyaXB0aW9u
Iik7CisKKyAgICBjYXNlIFdLRXJyb3JXZWJDb250ZW50UHJvY2Vzc1Rlcm1pbmF0ZWQ6CisgICAg
ICAgIHJldHVybiBXRUJfVUlfU1RSSU5HKCJUaGUgV2ViIENvbnRlbnQgcHJvY2VzcyB3YXMgdGVy
bWluYXRlZCIsICJXS0Vycm9yV2ViQ29udGVudFByb2Nlc3NUZXJtaW5hdGVkIGRlc2NyaXB0aW9u
Iik7CisKKyAgICBjYXNlIFdLRXJyb3JXZWJWaWV3SW52YWxpZGF0ZWQ6CisgICAgICAgIHJldHVy
biBXRUJfVUlfU1RSSU5HKCJUaGUgV0tXZWJWaWV3IHdhcyBpbnZhbGlkYXRlZCIsICJXS0Vycm9y
V2ViVmlld0ludmFsaWRhdGVkIGRlc2NyaXB0aW9uIik7CisKKyAgICBjYXNlIFdLRXJyb3JKYXZh
U2NyaXB0RXhjZXB0aW9uT2NjdXJyZWQ6CisgICAgICAgIHJldHVybiBXRUJfVUlfU1RSSU5HKCJB
IEphdmFTY3JpcHQgZXhjZXB0aW9uIG9jY3VycmVkIiwgIldLRXJyb3JKYXZhU2NyaXB0RXhjZXB0
aW9uT2NjdXJyZWQgZGVzY3JpcHRpb24iKTsKKyAgICB9Cit9CisKK1JldGFpblB0cjxOU0Vycm9y
PiBjcmVhdGVOU0Vycm9yKFdLRXJyb3JDb2RlIGVycm9yQ29kZSkKK3sKKyAgICBhdXRvIHVzZXJJ
bmZvID0gYWRvcHROUyhbW05TRGljdGlvbmFyeSBhbGxvY10gaW5pdFdpdGhPYmplY3RzQW5kS2V5
czpsb2NhbGl6ZWREZXNjcmlwdGlvbkZvckVycm9yQ29kZShlcnJvckNvZGUpLCBOU0xvY2FsaXpl
ZERlc2NyaXB0aW9uS2V5LCBuaWxdKTsKKworICAgIHJldHVybiBhZG9wdE5TKFtbTlNFcnJvciBh
bGxvY10gaW5pdFdpdGhEb21haW46V0tFcnJvckRvbWFpbiBjb2RlOmVycm9yQ29kZSB1c2VySW5m
bzp1c2VySW5mby5nZXQoKV0pOworfQorCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tFcnJvckludGVybmFsLmggYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLRXJyb3JJbnRlcm5hbC5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU0ZWQ5
MDYwOWI4ZjFjNzliOWI1NTA4MzA2NWU5MzVjOGQ3NzExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLRXJyb3JJbnRlcm5hbC5oCkBAIC0w
LDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJXS0Vycm9yLmgiCisKKyNpZiBXS19B
UElfRU5BQkxFRAorCisjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CisjaW1wb3J0ICJHZW5lcmlj
Q2FsbGJhY2suaCIKKworUmV0YWluUHRyPE5TRXJyb3I+IGNyZWF0ZU5TRXJyb3IoV0tFcnJvckNv
ZGUpOworCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlldy5oCmluZGV4IGFiZTM5MDRiYWYxZWVkNTZlYWJjN2U1YzVjMzJiNGE5MTRhZTkwOTQu
LjAxMTUwMzk2ZmM0NDMyMTMyNzc0MGU3YmU3NmEzMWQ1ZTc0Mzc0NGQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3LmgKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcuaApAQCAtMTgzLDYgKzE4Mywx
MyBAQCBXS19DTEFTU19BVkFJTEFCTEUoMTBfMTAsIDhfMCkKICAqLwogLSAodm9pZClzdG9wTG9h
ZGluZzsKIAorLyogQGFic3RyYWN0IEV2YWx1YXRlcyB0aGUgZ2l2ZW4gSmF2YVNjcmlwdCBzdHJp
bmcuCisgQHBhcmFtIGphdmFTY3JpcHRTdHJpbmcgVGhlIEphdmFTY3JpcHQgc3RyaW5nIHRvIGV2
YWx1YXRlLgorIEBwYXJhbSBjb21wbGV0aW9uSGFuZGxlciBBIGJsb2NrIHRvIGludm9rZSB3aGVu
IHNjcmlwdCBldmFsdWF0aW9uIGNvbXBsZXRlcyBvciBmYWlscy4KKyBAZGlzY3Vzc2lvbiBUaGUg
Y29tcGxldGlvbkhhbmRsZXIgaXMgcGFzc2VkIHRoZSByZXN1bHQgb2YgdGhlIHNjcmlwdCBldmFs
dWF0aW9uIG9yIGFuIGVycm9yLgorKi8KKy0gKHZvaWQpZXZhbHVhdGVKYXZhU2NyaXB0OihOU1N0
cmluZyAqKWphdmFTY3JpcHRTdHJpbmcgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKGlkLCBO
U0Vycm9yICopKWNvbXBsZXRpb25IYW5kbGVyOworCiAvKiEgQGFic3RyYWN0IEEgQm9vbGVhbiB2
YWx1ZSBpbmRpY2F0aW5nIHdoZXRoZXIgaG9yaXpvbnRhbCBzd2lwZSBnZXN0dXJlcwogIHdpbGwg
dHJpZ2dlciBiYWNrLWZvcndhcmQgbGlzdCBuYXZpZ2F0aW9ucy4KICBAZGlzY3Vzc2lvbiBUaGUg
ZGVmYXVsdCB2YWx1ZSBpcyBOTy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYlZpZXcubW0KaW5kZXggNTI3NDZjZTA2ZDVhNGQ5NzFhNWYzMzk0YzQ5NzM5MDVj
ODhlMWUyZC4uMjY3NWE0ZTllMmE4NTg0NTdlYzU0MmJhN2Y0NjdiMWUwYjVlNmUzMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KQEAgLTQw
LDYgKzQwLDcgQEAKICNpbXBvcnQgIldLQmFja0ZvcndhcmRMaXN0SW50ZXJuYWwuaCIKICNpbXBv
cnQgIldLQmFja0ZvcndhcmRMaXN0SXRlbUludGVybmFsLmgiCiAjaW1wb3J0ICJXS0Jyb3dzaW5n
Q29udGV4dEhhbmRsZUludGVybmFsLmgiCisjaW1wb3J0ICJXS0Vycm9ySW50ZXJuYWwuaCIKICNp
bXBvcnQgIldLSGlzdG9yeURlbGVnYXRlUHJpdmF0ZS5oIgogI2ltcG9ydCAiV0tOU0RhdGEuaCIK
ICNpbXBvcnQgIldLTlNVUkxFeHRyYXMuaCIKQEAgLTYwLDExICs2MSwxNCBAQAogI2ltcG9ydCAi
V2ViUGFnZUdyb3VwLmgiCiAjaW1wb3J0ICJXZWJQYWdlUHJveHkuaCIKICNpbXBvcnQgIldlYlBy
b2Nlc3NQcm94eS5oIgorI2ltcG9ydCAiV2ViU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgiCiAjaW1w
b3J0ICJfV0tGaW5kRGVsZWdhdGUuaCIKICNpbXBvcnQgIl9XS0Zvcm1EZWxlZ2F0ZS5oIgogI2lt
cG9ydCAiX1dLUmVtb3RlT2JqZWN0UmVnaXN0cnlJbnRlcm5hbC5oIgogI2ltcG9ydCAiX1dLVmlz
aXRlZExpbmtQcm92aWRlckludGVybmFsLmgiCiAjaW1wb3J0ICJfV0tXZWJzaXRlRGF0YVN0b3Jl
SW50ZXJuYWwuaCIKKyNpbXBvcnQgPEphdmFTY3JpcHRDb3JlL0pTQ29udGV4dC5oPgorI2ltcG9y
dCA8SmF2YVNjcmlwdENvcmUvSlNWYWx1ZS5oPgogI2ltcG9ydCA8d3RmL0hhc2hNYXAuaD4KICNp
bXBvcnQgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgpA
QCAtNDU5LDYgKzQ2Myw2MCBAQCBzdGF0aWMgaW50MzJfdCBkZXZpY2VPcmllbnRhdGlvbigpCiAg
ICAgX3BhZ2UtPnN0b3BMb2FkaW5nKCk7CiB9CiAKK3N0YXRpYyBXS0Vycm9yQ29kZSBjYWxsYmFj
a0Vycm9yQ29kZShXZWJLaXQ6OkNhbGxiYWNrQmFzZTo6RXJyb3IgZXJyb3IpCit7CisgICAgc3dp
dGNoIChlcnJvcikgeworICAgIGNhc2UgV2ViS2l0OjpDYWxsYmFja0Jhc2U6OkVycm9yOjpOb25l
OgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIFdLRXJyb3JV
bmtub3duOworCisgICAgY2FzZSBXZWJLaXQ6OkNhbGxiYWNrQmFzZTo6RXJyb3I6OlVua25vd246
CisgICAgICAgIHJldHVybiBXS0Vycm9yVW5rbm93bjsKKworICAgIGNhc2UgV2ViS2l0OjpDYWxs
YmFja0Jhc2U6OkVycm9yOjpQcm9jZXNzRXhpdGVkOgorICAgICAgICByZXR1cm4gV0tFcnJvcldl
YkNvbnRlbnRQcm9jZXNzVGVybWluYXRlZDsKKworICAgIGNhc2UgV2ViS2l0OjpDYWxsYmFja0Jh
c2U6OkVycm9yOjpPd25lcldhc0ludmFsaWRhdGVkOgorICAgICAgICByZXR1cm4gV0tFcnJvcldl
YlZpZXdJbnZhbGlkYXRlZDsKKyAgICB9Cit9CisKKy0gKHZvaWQpZXZhbHVhdGVKYXZhU2NyaXB0
OihOU1N0cmluZyAqKWphdmFTY3JpcHRTdHJpbmcgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4p
KGlkLCBOU0Vycm9yICopKWNvbXBsZXRpb25IYW5kbGVyCit7CisgICAgYXV0byBoYW5kbGVyID0g
YWRvcHROUyhbY29tcGxldGlvbkhhbmRsZXIgY29weV0pOworCisgICAgX3BhZ2UtPnJ1bkphdmFT
Y3JpcHRJbk1haW5GcmFtZShqYXZhU2NyaXB0U3RyaW5nLCBXZWJLaXQ6OlNjcmlwdFZhbHVlQ2Fs
bGJhY2s6OmNyZWF0ZShbaGFuZGxlcl0oV2ViS2l0OjpXZWJTZXJpYWxpemVkU2NyaXB0VmFsdWUq
IHNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSwgV2ViS2l0OjpTY3JpcHRWYWx1ZUNhbGxiYWNrOjpFcnJv
ciBlcnJvckNvZGUpIHsKKyAgICAgICAgYXV0byBjb21wbGV0aW9uSGFuZGxlciA9ICh2b2lkIChe
KShpZCwgTlNFcnJvciAqKSloYW5kbGVyLmdldCgpOworCisgICAgICAgIGlmIChlcnJvckNvZGUg
IT0gV2ViS2l0OjpTY3JpcHRWYWx1ZUNhbGxiYWNrOjpFcnJvcjo6Tm9uZSkgeworICAgICAgICAg
ICAgYXV0byBlcnJvciA9IGNyZWF0ZU5TRXJyb3IoY2FsbGJhY2tFcnJvckNvZGUoZXJyb3JDb2Rl
KSk7CisgICAgICAgICAgICBpZiAoZXJyb3JDb2RlID09IFdlYktpdDo6U2NyaXB0VmFsdWVDYWxs
YmFjazo6RXJyb3I6Ok93bmVyV2FzSW52YWxpZGF0ZWQpIHsKKyAgICAgICAgICAgICAgICAvLyBX
ZSBkb24ndCB3YW50IHRvIGNhbGwgdGhlIGJsb2NrIGZyb20gd2l0aGluIHRoZSBjYWxsIHRoYXQg
aW52YWxpZGF0ZXMgdGhlIHdlYiB2aWV3LAorICAgICAgICAgICAgICAgIC8vIHNvIGRlZmVyIGl0
IGhlcmUuCisgICAgICAgICAgICAgICAgLy8gRklYTUU6IEl0IHdvdWxkIGJlIGV2ZW4gYmV0dGVy
IGlmIEdlbmVyaWNDYWxsYmFjayBkaWQgdGhpcyBmb3IgdXMuCisgICAgICAgICAgICAgICAgZGlz
cGF0Y2hfYXN5bmMoZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUoKSwgW2NvbXBsZXRpb25IYW5kbGVy
LCBlcnJvcl0geworICAgICAgICAgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihuaWwsIGVy
cm9yLmdldCgpKTsKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAgICByZXR1cm47
CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKG5pbCwgZXJy
b3IuZ2V0KCkpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgaWYg
KCFzZXJpYWxpemVkU2NyaXB0VmFsdWUpIHsKKyAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVy
KG5pbCwgY3JlYXRlTlNFcnJvcihXS0Vycm9ySmF2YVNjcmlwdEV4Y2VwdGlvbk9jY3VycmVkKS5n
ZXQoKSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBhdXRvIGNv
bnRleHQgPSBhZG9wdE5TKFtbSlNDb250ZXh0IGFsbG9jXSBpbml0XSk7CisgICAgICAgIEpTVmFs
dWVSZWYgdmFsdWVSZWYgPSBzZXJpYWxpemVkU2NyaXB0VmFsdWUtPmRlc2VyaWFsaXplKFtjb250
ZXh0IEpTR2xvYmFsQ29udGV4dFJlZl0sIDApOworICAgICAgICBKU1ZhbHVlICp2YWx1ZSA9IFtK
U1ZhbHVlIHZhbHVlV2l0aEpTVmFsdWVSZWY6dmFsdWVSZWYgaW5Db250ZXh0OmNvbnRleHQuZ2V0
KCldOworCisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKFt2YWx1ZSB0b09iamVjdF0sIG5pbCk7
CisgICAgfSkpOworfQorCiAjcHJhZ21hIG1hcmsgaU9TLXNwZWNpZmljIG1ldGhvZHMKIAogI2lm
IFBMQVRGT1JNKElPUykKQEAgLTE0MzUsNyArMTQ5Myw3IEBAIHN0YXRpYyBpbmxpbmUgV2ViQ29y
ZTo6TGF5b3V0TWlsZXN0b25lcyBsYXlvdXRNaWxlc3RvbmVzKF9XS1JlbmRlcmluZ1Byb2dyZXNz
RXZlCiAKIC0gKHZvaWQpX3J1bkphdmFTY3JpcHRJbk1haW5GcmFtZTooTlNTdHJpbmcgKilzY3Jp
cHRTdHJpbmcKIHsKLSAgICBfcGFnZS0+cnVuSmF2YVNjcmlwdEluTWFpbkZyYW1lKHNjcmlwdFN0
cmluZywgV2ViS2l0OjpTY3JpcHRWYWx1ZUNhbGxiYWNrOjpjcmVhdGUoW10oYm9vbCwgV2ViS2l0
OjpXZWJTZXJpYWxpemVkU2NyaXB0VmFsdWUqKXt9KSk7CisgICAgW3NlbGYgZXZhbHVhdGVKYXZh
U2NyaXB0OnNjcmlwdFN0cmluZyBjb21wbGV0aW9uSGFuZGxlcjpeKGlkLCBOU0Vycm9yICopIHsg
fV07CiB9CiAKIC0gKHZvaWQpX2dldFdlYkFyY2hpdmVEYXRhV2l0aENvbXBsZXRpb25IYW5kbGVy
Oih2b2lkICheKShOU0RhdGEgKiwgTlNFcnJvciAqKSljb21wbGV0aW9uSGFuZGxlcgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDU0
OTdjODMyYTU1NmNiZWQ3YWRhMzIwMDQzYWJlM2JiZGEzOWU0MjkuLjJiYWVmNDU4ZGVkZjQyOGNh
YjQzOGJiOGU2M2EzMGFhYzRhYTAyMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYktp
dDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQy
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE3MSw2ICsxNzEsNyBAQAogCQkxQTJBNEIw
RTE1ODZBMjI0MDA5MEM5RTkgLyogQ29sb3JTcGFjZURhdGEubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTJBNEFGRDE1ODY5MzkyMDA5MEM5RTkgLyog
Q29sb3JTcGFjZURhdGEubW0gKi87IH07CiAJCTFBMkJCNkQwMTQxMTdCNEQwMDBGMzVENCAvKiBQ
bHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTJCQjZDRTE0MTE3QjREMDAwRjM1RDQg
LyogUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQkx
QTJCQjZEMTE0MTE3QjREMDAwRjM1RDQgLyogUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdl
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyQkI2
Q0YxNDExN0I0RDAwMEYzNUQ0IC8qIFBsdWdpblByb2Nlc3NDb25uZWN0aW9uTWVzc2FnZXMuaCAq
LzsgfTsKKwkJMUEyRDI1MkIxOTQ2ODhGRDAwNDUzN0IwIC8qIFdLRXJyb3JJbnRlcm5hbC5oIGlu
IENvcHkgRmlsZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyRDI1MkEx
OTQ2ODhGRDAwNDUzN0IwIC8qIFdLRXJyb3JJbnRlcm5hbC5oICovOyB9OwogCQkxQTJEODJBNDEy
N0Y0RUFCMDAxRUI5NjIgLyogTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUExRkEzNUMxMjdBNDVCRjAwNTBF
NzA5IC8qIE5QT2JqZWN0TWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKIAkJMUEyRDgyQTUxMjdG
NEVBQjAwMUVCOTYyIC8qIE5QT2JqZWN0TWVzc2FnZVJlY2VpdmVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTFGQTM1QjEyN0E0NUJGMDA1MEU3MDkg
LyogTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXIuaCAqLzsgfTsKIAkJMUEyRDgyQTYxMjdGNEVBQjAw
MUVCOTYyIC8qIE5QT2JqZWN0UHJveHkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMUExRkEyODQxMjdBMTNCQzAwNTBFNzA5IC8qIE5QT2JqZWN0UHJv
eHkuY3BwICovOyB9OwpAQCAtMTg4OSw2ICsxODkwLDcgQEAKIAkJCWRzdFBhdGggPSBXZWJLaXQu
ZnJhbWV3b3JrOwogCQkJZHN0U3ViZm9sZGVyU3BlYyA9IDE7CiAJCQlmaWxlcyA9ICgKKwkJCQkx
QTJEMjUyQjE5NDY4OEZEMDA0NTM3QjAgLyogV0tFcnJvckludGVybmFsLmggaW4gQ29weSBGaWxl
cyAqLywKIAkJCQk1MTBDQzg0OTE2MTNDODVDMDBEMDNFRDMgLyogTmV0d29ya1Byb2Nlc3MuYXBw
IGluIENvcHkgRmlsZXMgKi8sCiAJCQkJQkNERTBBQkYxMzI3MjcwODAwMTI1OUZCIC8qIFBsdWdp
blByb2Nlc3MuYXBwIGluIENvcHkgRmlsZXMgKi8sCiAJCQkJNTFBNjBCMkExODBDQ0VCNTAwRjNC
RjUwIC8qIERhdGFiYXNlUHJvY2Vzcy5hcHAgaW4gQ29weSBGaWxlcyAqLywKQEAgLTIwOTcsNiAr
MjA5OSw3IEBACiAJCTFBMkJCNkNDMTQxMTdBNUYwMDBGMzVENCAvKiBQbHVnaW5Qcm9jZXNzQ29u
bmVjdGlvbi5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQbHVnaW5Qcm9jZXNz
Q29ubmVjdGlvbi5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUEy
QkI2Q0UxNDExN0I0RDAwMEYzNUQ0IC8qIFBsdWdpblByb2Nlc3NDb25uZWN0aW9uTWVzc2FnZVJl
Y2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBsdWdpblBy
b2Nlc3NDb25uZWN0aW9uTWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMUEyQkI2Q0YxNDExN0I0RDAwMEYzNUQ0IC8qIFBsdWdpblByb2Nlc3NDb25uZWN0
aW9uTWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGx1Z2luUHJv
Y2Vzc0Nvbm5lY3Rpb25NZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkx
QTJEMjUyQTE5NDY4OEZEMDA0NTM3QjAgLyogV0tFcnJvckludGVybmFsLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLRXJyb3JJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkxQTJEODQxMTEyN0Y2NEU4MDAxRUI5NjIgLyogTlBPYmplY3RNZXNzYWdl
UmVjZWl2ZXIubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTlBPYmplY3RNZXNz
YWdlUmVjZWl2ZXIubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFB
MkQ4NDM3MTI3RjY1RDUwMDFFQjk2MiAvKiBOUE9iamVjdE1lc3NhZ2VSZWNlaXZlck1lc3NhZ2VS
ZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBOUE9iamVj
dE1lc3NhZ2VSZWNlaXZlck1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTFBMkQ4NDM4MTI3RjY1RDUwMDFFQjk2MiAvKiBOUE9iamVjdE1lc3NhZ2VSZWNl
aXZlck1lc3NhZ2VzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5QT2JqZWN0
TWVzc2FnZVJlY2VpdmVyTWVzc2FnZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTQ5NTcsNiArNDk2MCw3IEBACiAJCQkJMzdDNEMwODgxODE0OUYyMzAwMzY4OEI5IC8qIFdLQmFj
a0ZvcndhcmRMaXN0SXRlbUludGVybmFsLmggKi8sCiAJCQkJMUE3OUQ5RjExOEVCNUVGMTAwOTE0
Q0M1IC8qIFdLQmFja0ZvcndhcmRMaXN0UHJpdmF0ZS5oICovLAogCQkJCTFBRjQ1OTJEMTk0NjRC
MjAwMEY5RDRBMiAvKiBXS0Vycm9yLmggKi8sCisJCQkJMUEyRDI1MkExOTQ2ODhGRDAwNDUzN0Iw
IC8qIFdLRXJyb3JJbnRlcm5hbC5oICovLAogCQkJCTFBRjQ1OTJDMTk0NjRCMjAwMEY5RDRBMiAv
KiBXS0Vycm9yLm1tICovLAogCQkJCTFBNEQ2NjRBMThBMzAzMEUwMEQ4MkUyMSAvKiBXS0ZyYW1l
SW5mby5oICovLAogCQkJCTFBNEQ2NjQ5MThBMzAzMEUwMEQ4MkUyMSAvKiBXS0ZyYW1lSW5mby5t
bSAqLywK
</data>
<flag name="review"
          id="257299"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>