<?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>35918</bug_id>
          
          <creation_ts>2010-03-09 06:26:58 -0800</creation_ts>
          <short_desc>[EFL] Add EditorClientEfl.{cpp,h} to WebKit/efl/WebCoreSupport.</short_desc>
          <delta_ts>2010-04-15 13:18:15 -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>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>Linux</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>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Leandro Pereira">leandro</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>barbieri</cc>
    
    <cc>bunhere</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gustavo</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hyuki.a.kim</cc>
    
    <cc>hyuki.kim</cc>
    
    <cc>joone.hur</cc>
    
    <cc>rakuco</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>zecke</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>197552</commentid>
    <comment_count>0</comment_count>
    <who name="Leandro Pereira">leandro</who>
    <bug_when>2010-03-09 06:26:58 -0800</bug_when>
    <thetext>+++ This bug was initially created as a clone of Bug #35059 +++

Attached patch adds EFL&apos;s implementation of EditorClientEfl to
WebKit/efl/WebCoreSupport.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197553</commentid>
    <comment_count>1</comment_count>
      <attachid>50301</attachid>
    <who name="Leandro Pereira">leandro</who>
    <bug_when>2010-03-09 06:27:38 -0800</bug_when>
    <thetext>Created attachment 50301
Add EditorClientEfl to WK/efl/WebCoreSupport.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199530</commentid>
    <comment_count>2</comment_count>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2010-03-14 19:00:03 -0700</bug_when>
    <thetext>It would be nice if you could share this table with the Gtk+ port somehow. Or at least create a follow up patch patching both Gtk and Efl to mention the others copy of the table and that they need to be kept in sync.... It would be preferable to not have that duplication.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>206510</commentid>
    <comment_count>3</comment_count>
    <who name="Leandro Pereira">leandro</who>
    <bug_when>2010-03-31 08:02:13 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; It would be nice if you could share this table with the Gtk+ port somehow. Or
&gt; at least create a follow up patch patching both Gtk and Efl to mention the
&gt; others copy of the table and that they need to be kept in sync.... It would be
&gt; preferable to not have that duplication.

There&apos;s a copy of this table in other ports, too (at least with this same name): Wx and Chromium. Do you have any ideas on how this table could be shared amongst all ports that use it, besides having a comment to keep them in sync?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>212968</commentid>
    <comment_count>4</comment_count>
      <attachid>50301</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-04-15 12:04:07 -0700</bug_when>
    <thetext>Comment on attachment 50301
Add EditorClientEfl to WK/efl/WebCoreSupport.

LGTM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>212997</commentid>
    <comment_count>5</comment_count>
      <attachid>50301</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-04-15 13:18:09 -0700</bug_when>
    <thetext>Comment on attachment 50301
Add EditorClientEfl to WK/efl/WebCoreSupport.

Clearing flags on attachment: 50301

Committed r57665: &lt;http://trac.webkit.org/changeset/57665&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>212998</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-04-15 13:18:15 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50301</attachid>
            <date>2010-03-09 06:27:38 -0800</date>
            <delta_ts>2010-04-15 13:18:09 -0700</delta_ts>
            <desc>Add EditorClientEfl to WK/efl/WebCoreSupport.</desc>
            <filename>webkit_efl_webcoresupport-6.diff</filename>
            <type>text/plain</type>
            <size>21040</size>
            <attacher name="Leandro Pereira">leandro</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L0NoYW5nZUxvZwor
KysgV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEwLTAzLTA5ICBMZWFuZHJv
IFBlcmVpcmEgIDxsZWFuZHJvQHByb2Z1c2lvbi5tb2JpPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBFRkwgcG9ydCBmaWxlcyB0byBlZmwvV2Vi
Q29yZVN1cHBvcnQuCisgICAgICAgIGh0dHA6Ly93ZWJraXQub3JnL2IvMzU5MTgKKworICAgICAg
ICAqIGVmbC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuY3BwOiBBZGRlZC4KKyAgICAg
ICAgKiBlZmwvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmg6IEFkZGVkLgorCiAyMDEw
LTAzLTA0ICBNYXJrIFJvd2UgIDxtcm93ZUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgU2FtIFdlaW5pZy4KSW5kZXg6IFdlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xp
ZW50RWZsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSAvZGV2L251bGwKKysrIFdlYktpdC9lZmwvV2ViQ29y
ZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmNwcApAQCAtMCwwICsxLDQ5MyBAQAorLyoKKyAqICBD
b3B5cmlnaHQgKEMpIDIwMDcgQWxwIFRva2VyIDxhbHBAYXRva2VyLmNvbT4KKyAqICBDb3B5cmln
aHQgKEMpIDIwMDggTnVhbnRpIEx0ZC4KKyAqICBDb3B5cmlnaHQgKEMpIDIwMDggSU5kVCAtIElu
c3RpdHV0byBOb2tpYSBkZSBUZWNub2xvZ2lhCisgKiAgQ29weXJpZ2h0IChDKSAyMDA5LTIwMTAg
UHJvRlVTSU9OIGVtYmVkZGVkIHN5c3RlbXMKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDktMjAxMCBT
YW1zdW5nIEVsZWN0cm9uaWNzCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJl
OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqICBtb2RpZnkgaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhcyBw
dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiAgdmVy
c2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz
aW9uLgorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh
dCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiAgTGVzc2Vy
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiAgWW91IHNo
b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1Ymxp
YworICogIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8g
dGhlIEZyZWUgU29mdHdhcmUKKyAqICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJl
ZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRWRpdG9yQ2xpZW50RWZsLmgiCisKKyNpbmNsdWRl
ICJFV2ViS2l0LmgiCisjaW5jbHVkZSAiRWRpdENvbW1hbmQuaCIKKyNpbmNsdWRlICJFZGl0b3Iu
aCIKKyNpbmNsdWRlICJFdmVudE5hbWVzLmgiCisjaW5jbHVkZSAiRm9jdXNDb250cm9sbGVyLmgi
CisjaW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJLZXlib2FyZENvZGVzLmgiCisjaW5jbHVk
ZSAiS2V5Ym9hcmRFdmVudC5oIgorI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCisjaW5jbHVk
ZSAiUGFnZS5oIgorI2luY2x1ZGUgIlBsYXRmb3JtS2V5Ym9hcmRFdmVudC5oIgorI2luY2x1ZGUg
ImV3a19wcml2YXRlLmgiCisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK3ZvaWQgRWRpdG9yQ2xpZW50RWZsOjpzZXRJbnB1dE1ldGhvZFN0YXRlKGJv
b2wgYWN0aXZlKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK2Jvb2wgRWRpdG9yQ2xp
ZW50RWZsOjpzaG91bGREZWxldGVSYW5nZShSYW5nZSopCit7CisgICAgbm90SW1wbGVtZW50ZWQo
KTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworYm9vbCBFZGl0b3JDbGllbnRFZmw6OnNob3VsZFNo
b3dEZWxldGVJbnRlcmZhY2UoSFRNTEVsZW1lbnQqKQoreworICAgIHJldHVybiBmYWxzZTsKK30K
KworYm9vbCBFZGl0b3JDbGllbnRFZmw6OmlzQ29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVk
KCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9v
bCBFZGl0b3JDbGllbnRFZmw6OmlzR3JhbW1hckNoZWNraW5nRW5hYmxlZCgpCit7CisgICAgbm90
SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2ludCBFZGl0b3JDbGllbnRF
Zmw6OnNwZWxsQ2hlY2tlckRvY3VtZW50VGFnKCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOwor
ICAgIHJldHVybiAwOworfQorCitib29sIEVkaXRvckNsaWVudEVmbDo6c2hvdWxkQmVnaW5FZGl0
aW5nKFJhbmdlKikKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiB0cnVlOwor
fQorCitib29sIEVkaXRvckNsaWVudEVmbDo6c2hvdWxkRW5kRWRpdGluZyhSYW5nZSopCit7Cisg
ICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworYm9vbCBFZGl0b3JD
bGllbnRFZmw6OnNob3VsZEluc2VydFRleHQoY29uc3QgU3RyaW5nJiwgUmFuZ2UqLCBFZGl0b3JJ
bnNlcnRBY3Rpb24pCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gdHJ1ZTsK
K30KKworYm9vbCBFZGl0b3JDbGllbnRFZmw6OnNob3VsZENoYW5nZVNlbGVjdGVkUmFuZ2UoUmFu
Z2UqLCBSYW5nZSosIEVBZmZpbml0eSwgYm9vbCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOwor
ICAgIHJldHVybiB0cnVlOworfQorCitib29sIEVkaXRvckNsaWVudEVmbDo6c2hvdWxkQXBwbHlT
dHlsZShDU1NTdHlsZURlY2xhcmF0aW9uKiwgUmFuZ2UqKQoreworICAgIG5vdEltcGxlbWVudGVk
KCk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK2Jvb2wgRWRpdG9yQ2xpZW50RWZsOjpzaG91bGRN
b3ZlUmFuZ2VBZnRlckRlbGV0ZShSYW5nZSosIFJhbmdlKikKK3sKKyAgICBub3RJbXBsZW1lbnRl
ZCgpOworICAgIHJldHVybiB0cnVlOworfQorCit2b2lkIEVkaXRvckNsaWVudEVmbDo6ZGlkQmVn
aW5FZGl0aW5nKCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCit2b2lkIEVkaXRvckNs
aWVudEVmbDo6cmVzcG9uZFRvQ2hhbmdlZENvbnRlbnRzKCkKK3sKKyAgICBub3RJbXBsZW1lbnRl
ZCgpOworfQorCit2b2lkIEVkaXRvckNsaWVudEVmbDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlv
bigpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwordm9pZCBFZGl0b3JDbGllbnRFZmw6
OmRpZEVuZEVkaXRpbmcoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK3ZvaWQgRWRp
dG9yQ2xpZW50RWZsOjpkaWRXcml0ZVNlbGVjdGlvblRvUGFzdGVib2FyZCgpCit7CisgICAgbm90
SW1wbGVtZW50ZWQoKTsKK30KKwordm9pZCBFZGl0b3JDbGllbnRFZmw6OmRpZFNldFNlbGVjdGlv
blR5cGVzRm9yUGFzdGVib2FyZCgpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKworYm9v
bCBFZGl0b3JDbGllbnRFZmw6OmlzRWRpdGFibGUoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7
CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIEVkaXRvckNsaWVudEVmbDo6cmVnaXN0ZXJD
b21tYW5kRm9yVW5kbyhXVEY6OlBhc3NSZWZQdHI8RWRpdENvbW1hbmQ+KQoreworICAgIG5vdElt
cGxlbWVudGVkKCk7Cit9CisKK3ZvaWQgRWRpdG9yQ2xpZW50RWZsOjpyZWdpc3RlckNvbW1hbmRG
b3JSZWRvKFdURjo6UGFzc1JlZlB0cjxFZGl0Q29tbWFuZD4pCit7CisgICAgbm90SW1wbGVtZW50
ZWQoKTsKK30KKwordm9pZCBFZGl0b3JDbGllbnRFZmw6OmNsZWFyVW5kb1JlZG9PcGVyYXRpb25z
KCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCitib29sIEVkaXRvckNsaWVudEVmbDo6
Y2FuVW5kbygpIGNvbnN0Cit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gZmFs
c2U7Cit9CisKK2Jvb2wgRWRpdG9yQ2xpZW50RWZsOjpjYW5SZWRvKCkgY29uc3QKK3sKKyAgICBu
b3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiBmYWxzZTsKK30KKwordm9pZCBFZGl0b3JDbGll
bnRFZmw6OnVuZG8oKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK3ZvaWQgRWRpdG9y
Q2xpZW50RWZsOjpyZWRvKCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCitib29sIEVk
aXRvckNsaWVudEVmbDo6c2hvdWxkSW5zZXJ0Tm9kZShOb2RlKiwgUmFuZ2UqLCBFZGl0b3JJbnNl
cnRBY3Rpb24pCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30K
Kwordm9pZCBFZGl0b3JDbGllbnRFZmw6OnBhZ2VEZXN0cm95ZWQoKQoreworICAgIGRlbGV0ZSB0
aGlzOworfQorCitib29sIEVkaXRvckNsaWVudEVmbDo6c21hcnRJbnNlcnREZWxldGVFbmFibGVk
KCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9v
bCBFZGl0b3JDbGllbnRFZmw6OmlzU2VsZWN0VHJhaWxpbmdXaGl0ZXNwYWNlRW5hYmxlZCgpCit7
CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgRWRp
dG9yQ2xpZW50RWZsOjp0b2dnbGVDb250aW51b3VzU3BlbGxDaGVja2luZygpCit7CisgICAgbm90
SW1wbGVtZW50ZWQoKTsKK30KKwordm9pZCBFZGl0b3JDbGllbnRFZmw6OnRvZ2dsZUdyYW1tYXJD
aGVja2luZygpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKworc3RhdGljIGNvbnN0IHVu
c2lnbmVkIEN0cmxLZXkgPSAxIDw8IDA7CitzdGF0aWMgY29uc3QgdW5zaWduZWQgQWx0S2V5ID0g
MSA8PCAxOworc3RhdGljIGNvbnN0IHVuc2lnbmVkIFNoaWZ0S2V5ID0gMSA8PCAyOworCitzdHJ1
Y3QgS2V5RG93bkVudHJ5IHsKKyAgICB1bnNpZ25lZCB2aXJ0dWFsS2V5OworICAgIHVuc2lnbmVk
IG1vZGlmaWVyczsKKyAgICBjb25zdCBjaGFyKiBuYW1lOworfTsKKworc3RydWN0IEtleVByZXNz
RW50cnkgeworICAgIHVuc2lnbmVkIGNoYXJDb2RlOworICAgIHVuc2lnbmVkIG1vZGlmaWVyczsK
KyAgICBjb25zdCBjaGFyKiBuYW1lOworfTsKKworc3RhdGljIGNvbnN0IEtleURvd25FbnRyeSBr
ZXlEb3duRW50cmllc1tdID0geworICAgIHsgVktfTEVGVCwgICAwLCAgICAgICAgICAgICAgICAg
ICJNb3ZlTGVmdCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAorICAgIHsg
VktfTEVGVCwgICBTaGlmdEtleSwgICAgICAgICAgICJNb3ZlTGVmdEFuZE1vZGlmeVNlbGVjdGlv
biIgICAgICAgICAgICAgICAgICB9LAorICAgIHsgVktfTEVGVCwgICBDdHJsS2V5LCAgICAgICAg
ICAgICJNb3ZlV29yZExlZnQiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAorICAg
IHsgVktfTEVGVCwgICBDdHJsS2V5IHwgU2hpZnRLZXksICJNb3ZlV29yZExlZnRBbmRNb2RpZnlT
ZWxlY3Rpb24iICAgICAgICAgICAgICB9LAorICAgIHsgVktfUklHSFQsICAwLCAgICAgICAgICAg
ICAgICAgICJNb3ZlUmlnaHQiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAor
ICAgIHsgVktfUklHSFQsICBTaGlmdEtleSwgICAgICAgICAgICJNb3ZlUmlnaHRBbmRNb2RpZnlT
ZWxlY3Rpb24iICAgICAgICAgICAgICAgICB9LAorICAgIHsgVktfUklHSFQsICBDdHJsS2V5LCAg
ICAgICAgICAgICJNb3ZlV29yZFJpZ2h0IiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9
LAorICAgIHsgVktfUklHSFQsICBDdHJsS2V5IHwgU2hpZnRLZXksICJNb3ZlV29yZFJpZ2h0QW5k
TW9kaWZ5U2VsZWN0aW9uIiAgICAgICAgICAgICB9LAorICAgIHsgVktfVVAsICAgICAwLCAgICAg
ICAgICAgICAgICAgICJNb3ZlVXAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB9LAorICAgIHsgVktfVVAsICAgICBTaGlmdEtleSwgICAgICAgICAgICJNb3ZlVXBBbmRNb2Rp
ZnlTZWxlY3Rpb24iICAgICAgICAgICAgICAgICAgICB9LAorICAgIHsgVktfUFJJT1IsICBTaGlm
dEtleSwgICAgICAgICAgICJNb3ZlUGFnZVVwQW5kTW9kaWZ5U2VsZWN0aW9uIiAgICAgICAgICAg
ICAgICB9LAorICAgIHsgVktfRE9XTiwgICAwLCAgICAgICAgICAgICAgICAgICJNb3ZlRG93biIg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAorICAgIHsgVktfRE9XTiwgICBT
aGlmdEtleSwgICAgICAgICAgICJNb3ZlRG93bkFuZE1vZGlmeVNlbGVjdGlvbiIgICAgICAgICAg
ICAgICAgICB9LAorICAgIHsgVktfTkVYVCwgICBTaGlmdEtleSwgICAgICAgICAgICJNb3ZlUGFn
ZURvd25BbmRNb2RpZnlTZWxlY3Rpb24iICAgICAgICAgICAgICB9LAorICAgIHsgVktfUFJJT1Is
ICAwLCAgICAgICAgICAgICAgICAgICJNb3ZlUGFnZVVwIiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB9LAorICAgIHsgVktfTkVYVCwgICAwLCAgICAgICAgICAgICAgICAgICJNb3Zl
UGFnZURvd24iICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAorICAgIHsgVktfSE9N
RSwgICAwLCAgICAgICAgICAgICAgICAgICJNb3ZlVG9CZWdpbm5pbmdPZkxpbmUiICAgICAgICAg
ICAgICAgICAgICAgICB9LAorICAgIHsgVktfSE9NRSwgICBTaGlmdEtleSwgICAgICAgICAgICJN
b3ZlVG9CZWdpbm5pbmdPZkxpbmVBbmRNb2RpZnlTZWxlY3Rpb24iICAgICB9LAorICAgIHsgVktf
SE9NRSwgICBDdHJsS2V5LCAgICAgICAgICAgICJNb3ZlVG9CZWdpbm5pbmdPZkRvY3VtZW50IiAg
ICAgICAgICAgICAgICAgICB9LAorICAgIHsgVktfSE9NRSwgICBDdHJsS2V5IHwgU2hpZnRLZXks
ICJNb3ZlVG9CZWdpbm5pbmdPZkRvY3VtZW50QW5kTW9kaWZ5U2VsZWN0aW9uIiB9LAorCisgICAg
eyBWS19FTkQsICAgIDAsICAgICAgICAgICAgICAgICAgIk1vdmVUb0VuZE9mTGluZSIgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIH0sCisgICAgeyBWS19FTkQsICAgIFNoaWZ0S2V5LCAgICAg
ICAgICAgIk1vdmVUb0VuZE9mTGluZUFuZE1vZGlmeVNlbGVjdGlvbiIgICAgICAgICAgIH0sCisg
ICAgeyBWS19FTkQsICAgIEN0cmxLZXksICAgICAgICAgICAgIk1vdmVUb0VuZE9mRG9jdW1lbnQi
ICAgICAgICAgICAgICAgICAgICAgICAgIH0sCisgICAgeyBWS19FTkQsICAgIEN0cmxLZXkgfCBT
aGlmdEtleSwgIk1vdmVUb0VuZE9mRG9jdW1lbnRBbmRNb2RpZnlTZWxlY3Rpb24iICAgICAgIH0s
CisKKyAgICB7IFZLX0JBQ0ssICAgMCwgICAgICAgICAgICAgICAgICAiRGVsZXRlQmFja3dhcmQi
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICB7IFZLX0JBQ0ssICAgU2hpZnRL
ZXksICAgICAgICAgICAiRGVsZXRlQmFja3dhcmQiICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfSwKKyAgICB7IFZLX0RFTEVURSwgMCwgICAgICAgICAgICAgICAgICAiRGVsZXRlRm9yd2Fy
ZCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICB7IFZLX0JBQ0ssICAgQ3Ry
bEtleSwgICAgICAgICAgICAiRGVsZXRlV29yZEJhY2t3YXJkIiAgICAgICAgICAgICAgICAgICAg
ICAgICAgfSwKKyAgICB7IFZLX0RFTEVURSwgQ3RybEtleSwgICAgICAgICAgICAiRGVsZXRlV29y
ZEZvcndhcmQiICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKworICAgIHsgJ0InLCAgICAg
ICBDdHJsS2V5LCAgICAgICAgICAgICJUb2dnbGVCb2xkIiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB9LAorICAgIHsgJ0knLCAgICAgICBDdHJsS2V5LCAgICAgICAgICAgICJUb2dn
bGVJdGFsaWMiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAorCisgICAgeyBWS19F
U0NBUEUsIDAsICAgICAgICAgICAgICAgICAgIkNhbmNlbCIgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIH0sCisgICAgeyBWS19PRU1fUEVSSU9ELCBDdHJsS2V5LCAgICAgICAg
IkNhbmNlbCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCisgICAgeyBW
S19UQUIsICAgIDAsICAgICAgICAgICAgICAgICAgIkluc2VydFRhYiIgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIH0sCisgICAgeyBWS19UQUIsICAgIFNoaWZ0S2V5LCAgICAgICAg
ICAgIkluc2VydEJhY2t0YWIiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCisgICAg
eyBWS19SRVRVUk4sIDAsICAgICAgICAgICAgICAgICAgIkluc2VydE5ld2xpbmUiICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIH0sCisgICAgeyBWS19SRVRVUk4sIEN0cmxLZXksICAgICAg
ICAgICAgIkluc2VydE5ld2xpbmUiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCisg
ICAgeyBWS19SRVRVUk4sIEFsdEtleSwgICAgICAgICAgICAgIkluc2VydE5ld2xpbmUiICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIH0sCisgICAgeyBWS19SRVRVUk4sIEFsdEtleSB8IFNo
aWZ0S2V5LCAgIkluc2VydE5ld2xpbmUiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0s
Cit9OworCitzdGF0aWMgY29uc3QgS2V5UHJlc3NFbnRyeSBrZXlQcmVzc0VudHJpZXNbXSA9IHsK
KyAgICB7ICdcdCcsICAgMCwgICAgICAgICAgICAgICAgICAiSW5zZXJ0VGFiIiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICB7ICdcdCcsICAgU2hpZnRLZXksICAgICAg
ICAgICAiSW5zZXJ0QmFja3RhYiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAg
ICB7ICdccicsICAgMCwgICAgICAgICAgICAgICAgICAiSW5zZXJ0TmV3bGluZSIgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICB7ICdccicsICAgQ3RybEtleSwgICAgICAgICAg
ICAiSW5zZXJ0TmV3bGluZSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICB7
ICdccicsICAgQWx0S2V5LCAgICAgICAgICAgICAiSW5zZXJ0TmV3bGluZSIgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfSwKKyAgICB7ICdccicsICAgQWx0S2V5IHwgU2hpZnRLZXksICAi
SW5zZXJ0TmV3bGluZSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKK307CisKKyNk
ZWZpbmUgQVJSQVlTSVpFKGFycmF5KSAoc2l6ZW9mKGFycmF5KSAvIHNpemVvZigoYXJyYXkpWzBd
KSkKKworY29uc3QgY2hhciogRWRpdG9yQ2xpZW50RWZsOjppbnRlcnByZXRLZXlFdmVudChjb25z
dCBLZXlib2FyZEV2ZW50KiBldmVudCkKK3sKKyAgICBBU1NFUlQoZXZlbnQtPnR5cGUoKSA9PSBl
dmVudE5hbWVzKCkua2V5ZG93bkV2ZW50IHx8IGV2ZW50LT50eXBlKCkgPT0gZXZlbnROYW1lcygp
LmtleXByZXNzRXZlbnQpOworCisgICAgc3RhdGljIEhhc2hNYXA8aW50LCBjb25zdCBjaGFyKj4q
IGtleURvd25Db21tYW5kc01hcCA9IDA7CisgICAgc3RhdGljIEhhc2hNYXA8aW50LCBjb25zdCBj
aGFyKj4qIGtleVByZXNzQ29tbWFuZHNNYXAgPSAwOworCisgICAgaWYgKCFrZXlEb3duQ29tbWFu
ZHNNYXApIHsKKyAgICAgICAga2V5RG93bkNvbW1hbmRzTWFwID0gbmV3IEhhc2hNYXA8aW50LCBj
b25zdCBjaGFyKj47CisgICAgICAgIGtleVByZXNzQ29tbWFuZHNNYXAgPSBuZXcgSGFzaE1hcDxp
bnQsIGNvbnN0IGNoYXIqPjsKKworICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgQVJS
QVlTSVpFKGtleURvd25FbnRyaWVzKTsgaSsrKQorICAgICAgICAgICAga2V5RG93bkNvbW1hbmRz
TWFwLT5zZXQoa2V5RG93bkVudHJpZXNbaV0ubW9kaWZpZXJzIDw8IDE2IHwga2V5RG93bkVudHJp
ZXNbaV0udmlydHVhbEtleSwga2V5RG93bkVudHJpZXNbaV0ubmFtZSk7CisKKyAgICAgICAgZm9y
ICh1bnNpZ25lZCBpID0gMDsgaSA8IEFSUkFZU0laRShrZXlQcmVzc0VudHJpZXMpOyBpKyspCisg
ICAgICAgICAgICBrZXlQcmVzc0NvbW1hbmRzTWFwLT5zZXQoa2V5UHJlc3NFbnRyaWVzW2ldLm1v
ZGlmaWVycyA8PCAxNiB8IGtleVByZXNzRW50cmllc1tpXS5jaGFyQ29kZSwga2V5UHJlc3NFbnRy
aWVzW2ldLm5hbWUpOworICAgIH0KKworICAgIHVuc2lnbmVkIG1vZGlmaWVycyA9IDA7CisgICAg
aWYgKGV2ZW50LT5zaGlmdEtleSgpKQorICAgICAgICBtb2RpZmllcnMgfD0gU2hpZnRLZXk7Cisg
ICAgaWYgKGV2ZW50LT5hbHRLZXkoKSkKKyAgICAgICAgbW9kaWZpZXJzIHw9IEFsdEtleTsKKyAg
ICBpZiAoZXZlbnQtPmN0cmxLZXkoKSkKKyAgICAgICAgbW9kaWZpZXJzIHw9IEN0cmxLZXk7CisK
KyAgICBpZiAoZXZlbnQtPnR5cGUoKSA9PSBldmVudE5hbWVzKCkua2V5ZG93bkV2ZW50KSB7Cisg
ICAgICAgIGludCBtYXBLZXkgPSBtb2RpZmllcnMgPDwgMTYgfCBldmVudC0+a2V5Q29kZSgpOwor
ICAgICAgICByZXR1cm4gbWFwS2V5ID8ga2V5RG93bkNvbW1hbmRzTWFwLT5nZXQobWFwS2V5KSA6
IDA7CisgICAgfQorCisgICAgaW50IG1hcEtleSA9IG1vZGlmaWVycyA8PCAxNiB8IGV2ZW50LT5j
aGFyQ29kZSgpOworICAgIHJldHVybiBtYXBLZXkgPyBrZXlQcmVzc0NvbW1hbmRzTWFwLT5nZXQo
bWFwS2V5KSA6IDA7Cit9CisKK2Jvb2wgRWRpdG9yQ2xpZW50RWZsOjpoYW5kbGVFZGl0aW5nS2V5
Ym9hcmRFdmVudChLZXlib2FyZEV2ZW50KiBldmVudCkKK3sKKyAgICBOb2RlKiBub2RlID0gZXZl
bnQtPnRhcmdldCgpLT50b05vZGUoKTsKKyAgICBBU1NFUlQobm9kZSk7CisgICAgRnJhbWUqIGZy
YW1lID0gbm9kZS0+ZG9jdW1lbnQoKS0+ZnJhbWUoKTsKKyAgICBBU1NFUlQoZnJhbWUpOworCisg
ICAgY29uc3QgUGxhdGZvcm1LZXlib2FyZEV2ZW50KiBrZXlFdmVudCA9IGV2ZW50LT5rZXlFdmVu
dCgpOworICAgIGlmICgha2V5RXZlbnQpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGJv
b2wgY2FyZXRCcm93c2luZyA9IGZyYW1lLT5zZXR0aW5ncygpLT5jYXJldEJyb3dzaW5nRW5hYmxl
ZCgpOworICAgIGlmIChjYXJldEJyb3dzaW5nKSB7CisgICAgICAgIHN3aXRjaCAoa2V5RXZlbnQt
PndpbmRvd3NWaXJ0dWFsS2V5Q29kZSgpKSB7CisgICAgICAgIGNhc2UgVktfTEVGVDoKKyAgICAg
ICAgICAgIGZyYW1lLT5zZWxlY3Rpb24oKS0+bW9kaWZ5KGtleUV2ZW50LT5zaGlmdEtleSgpID8g
U2VsZWN0aW9uQ29udHJvbGxlcjo6RVhURU5EIDogU2VsZWN0aW9uQ29udHJvbGxlcjo6TU9WRSwK
KyAgICAgICAgICAgICAgICAgICAgU2VsZWN0aW9uQ29udHJvbGxlcjo6TEVGVCwKKyAgICAgICAg
ICAgICAgICAgICAga2V5RXZlbnQtPmN0cmxLZXkoKSA/IFdvcmRHcmFudWxhcml0eSA6IENoYXJh
Y3RlckdyYW51bGFyaXR5LAorICAgICAgICAgICAgICAgICAgICB0cnVlKTsKKyAgICAgICAgICAg
IHJldHVybiB0cnVlOworICAgICAgICBjYXNlIFZLX1JJR0hUOgorICAgICAgICAgICAgZnJhbWUt
PnNlbGVjdGlvbigpLT5tb2RpZnkoa2V5RXZlbnQtPnNoaWZ0S2V5KCkgPyBTZWxlY3Rpb25Db250
cm9sbGVyOjpFWFRFTkQgOiBTZWxlY3Rpb25Db250cm9sbGVyOjpNT1ZFLAorICAgICAgICAgICAg
ICAgICAgICBTZWxlY3Rpb25Db250cm9sbGVyOjpSSUdIVCwKKyAgICAgICAgICAgICAgICAgICAg
a2V5RXZlbnQtPmN0cmxLZXkoKSA/IFdvcmRHcmFudWxhcml0eSA6IENoYXJhY3RlckdyYW51bGFy
aXR5LAorICAgICAgICAgICAgICAgICAgICB0cnVlKTsKKyAgICAgICAgICAgIHJldHVybiB0cnVl
OworICAgICAgICBjYXNlIFZLX1VQOgorICAgICAgICAgICAgZnJhbWUtPnNlbGVjdGlvbigpLT5t
b2RpZnkoa2V5RXZlbnQtPnNoaWZ0S2V5KCkgPyBTZWxlY3Rpb25Db250cm9sbGVyOjpFWFRFTkQg
OiBTZWxlY3Rpb25Db250cm9sbGVyOjpNT1ZFLAorICAgICAgICAgICAgICAgICAgICBTZWxlY3Rp
b25Db250cm9sbGVyOjpCQUNLV0FSRCwKKyAgICAgICAgICAgICAgICAgICAga2V5RXZlbnQtPmN0
cmxLZXkoKSA/IFBhcmFncmFwaEdyYW51bGFyaXR5IDogTGluZUdyYW51bGFyaXR5LAorICAgICAg
ICAgICAgICAgICAgICB0cnVlKTsKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICBj
YXNlIFZLX0RPV046CisgICAgICAgICAgICBmcmFtZS0+c2VsZWN0aW9uKCktPm1vZGlmeShrZXlF
dmVudC0+c2hpZnRLZXkoKSA/IFNlbGVjdGlvbkNvbnRyb2xsZXI6OkVYVEVORCA6IFNlbGVjdGlv
bkNvbnRyb2xsZXI6Ok1PVkUsCisgICAgICAgICAgICAgICAgICAgIFNlbGVjdGlvbkNvbnRyb2xs
ZXI6OkZPUldBUkQsCisgICAgICAgICAgICAgICAgICAgIGtleUV2ZW50LT5jdHJsS2V5KCkgPyBQ
YXJhZ3JhcGhHcmFudWxhcml0eSA6IExpbmVHcmFudWxhcml0eSwKKyAgICAgICAgICAgICAgICAg
ICAgdHJ1ZSk7CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorICAgIH0KKwor
ICAgIEVkaXRvcjo6Q29tbWFuZCBjb21tYW5kID0gZnJhbWUtPmVkaXRvcigpLT5jb21tYW5kKGlu
dGVycHJldEtleUV2ZW50KGV2ZW50KSk7CisKKyAgICBpZiAoa2V5RXZlbnQtPnR5cGUoKSA9PSBQ
bGF0Zm9ybUtleWJvYXJkRXZlbnQ6OlJhd0tleURvd24pIHsKKyAgICAgICAgLy8gV2ViS2l0IGRv
ZXNuJ3QgaGF2ZSBlbm91Z2ggaW5mb3JtYXRpb24gYWJvdXQgbW9kZSB0byBkZWNpZGUgaG93IGNv
bW1hbmRzIHRoYXQganVzdCBpbnNlcnQgdGV4dCBpZiBleGVjdXRlZCB2aWEgRWRpdG9yIHNob3Vs
ZCBiZSB0cmVhdGVkLAorICAgICAgICAvLyBzbyB3ZSBsZWF2ZSBpdCB1cG9uIFdlYkNvcmUgdG8g
ZWl0aGVyIGhhbmRsZSB0aGVtIGltbWVkaWF0ZWx5IChlLmcuIFRhYiB0aGF0IGNoYW5nZXMgZm9j
dXMpIG9yIGxldCBhIGtleXByZXNzIGV2ZW50IGJlIGdlbmVyYXRlZAorICAgICAgICAvLyAoZS5n
LiBUYWIgdGhhdCBpbnNlcnRzIGEgVGFiIGNoYXJhY3Rlciwgb3IgRW50ZXIpLgorICAgICAgICBy
ZXR1cm4gIWNvbW1hbmQuaXNUZXh0SW5zZXJ0aW9uKCkgJiYgY29tbWFuZC5leGVjdXRlKGV2ZW50
KTsKKyAgICB9CisKKyAgICBpZiAoY29tbWFuZC5leGVjdXRlKGV2ZW50KSkKKyAgICAgICAgcmV0
dXJuIHRydWU7CisKKyAgICAvLyBEb24ndCBpbnNlcnQgbnVsbCBvciBjb250cm9sIGNoYXJhY3Rl
cnMgYXMgdGhleSBjYW4gcmVzdWx0IGluIHVuZXhwZWN0ZWQgYmVoYXZpb3VyCisgICAgaWYgKGV2
ZW50LT5jaGFyQ29kZSgpIDwgJyAnKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAvLyBE
b24ndCBpbnNlcnQgYW55dGhpbmcgaWYgYSBtb2RpZmllciBpcyBwcmVzc2VkCisgICAgaWYgKGtl
eUV2ZW50LT5jdHJsS2V5KCkgfHwga2V5RXZlbnQtPmFsdEtleSgpKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisKKyAgICByZXR1cm4gZnJhbWUtPmVkaXRvcigpLT5pbnNlcnRUZXh0KGV2ZW50LT5r
ZXlFdmVudCgpLT50ZXh0KCksIGV2ZW50KTsKK30KKwordm9pZCBFZGl0b3JDbGllbnRFZmw6Omhh
bmRsZUtleWJvYXJkRXZlbnQoS2V5Ym9hcmRFdmVudCogZXZlbnQpCit7CisgICAgaWYgKGhhbmRs
ZUVkaXRpbmdLZXlib2FyZEV2ZW50KGV2ZW50KSkKKyAgICAgICAgZXZlbnQtPnNldERlZmF1bHRI
YW5kbGVkKCk7Cit9CisKK3ZvaWQgRWRpdG9yQ2xpZW50RWZsOjpoYW5kbGVJbnB1dE1ldGhvZEtl
eWRvd24oS2V5Ym9hcmRFdmVudCogZXZlbnQpCit7Cit9CisKK0VkaXRvckNsaWVudEVmbDo6RWRp
dG9yQ2xpZW50RWZsKEV2YXNfT2JqZWN0ICp2aWV3KQorICAgIDogbV92aWV3KHZpZXcpCit7Cisg
ICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKworRWRpdG9yQ2xpZW50RWZsOjp+RWRpdG9yQ2xpZW50
RWZsKCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCit2b2lkIEVkaXRvckNsaWVudEVm
bDo6dGV4dEZpZWxkRGlkQmVnaW5FZGl0aW5nKEVsZW1lbnQqKQoreworfQorCit2b2lkIEVkaXRv
ckNsaWVudEVmbDo6dGV4dEZpZWxkRGlkRW5kRWRpdGluZyhFbGVtZW50KikKK3sKKyAgICBub3RJ
bXBsZW1lbnRlZCgpOworfQorCit2b2lkIEVkaXRvckNsaWVudEVmbDo6dGV4dERpZENoYW5nZUlu
VGV4dEZpZWxkKEVsZW1lbnQqKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK2Jvb2wg
RWRpdG9yQ2xpZW50RWZsOjpkb1RleHRGaWVsZENvbW1hbmRGcm9tRXZlbnQoRWxlbWVudCosIEtl
eWJvYXJkRXZlbnQqKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKwordm9pZCBFZGl0b3JDbGll
bnRFZmw6OnRleHRXaWxsQmVEZWxldGVkSW5UZXh0RmllbGQoRWxlbWVudCopCit7CisgICAgbm90
SW1wbGVtZW50ZWQoKTsKK30KKwordm9pZCBFZGl0b3JDbGllbnRFZmw6OnRleHREaWRDaGFuZ2VJ
blRleHRBcmVhKEVsZW1lbnQqKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK3ZvaWQg
RWRpdG9yQ2xpZW50RWZsOjppZ25vcmVXb3JkSW5TcGVsbERvY3VtZW50KGNvbnN0IFN0cmluZyYp
Cit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwordm9pZCBFZGl0b3JDbGllbnRFZmw6Omxl
YXJuV29yZChjb25zdCBTdHJpbmcmKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK3Zv
aWQgRWRpdG9yQ2xpZW50RWZsOjpjaGVja1NwZWxsaW5nT2ZTdHJpbmcoY29uc3QgVUNoYXIqLCBp
bnQsIGludCosIGludCopCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKworU3RyaW5nIEVk
aXRvckNsaWVudEVmbDo6Z2V0QXV0b0NvcnJlY3RTdWdnZXN0aW9uRm9yTWlzc3BlbGxlZFdvcmQo
Y29uc3QgU3RyaW5nJikKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiBTdHJp
bmcoKTsKK30KKwordm9pZCBFZGl0b3JDbGllbnRFZmw6OmNoZWNrR3JhbW1hck9mU3RyaW5nKGNv
bnN0IFVDaGFyKiwgaW50LCBWZWN0b3I8R3JhbW1hckRldGFpbD4mLCBpbnQqLCBpbnQqKQorewor
ICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK3ZvaWQgRWRpdG9yQ2xpZW50RWZsOjp1cGRhdGVT
cGVsbGluZ1VJV2l0aEdyYW1tYXJTdHJpbmcoY29uc3QgU3RyaW5nJiwgY29uc3QgR3JhbW1hckRl
dGFpbCYpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwordm9pZCBFZGl0b3JDbGllbnRF
Zmw6OnVwZGF0ZVNwZWxsaW5nVUlXaXRoTWlzc3BlbGxlZFdvcmQoY29uc3QgU3RyaW5nJikKK3sK
KyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCit2b2lkIEVkaXRvckNsaWVudEVmbDo6c2hvd1Nw
ZWxsaW5nVUkoYm9vbCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCitib29sIEVkaXRv
ckNsaWVudEVmbDo6c3BlbGxpbmdVSUlzU2hvd2luZygpCit7CisgICAgbm90SW1wbGVtZW50ZWQo
KTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgRWRpdG9yQ2xpZW50RWZsOjpnZXRHdWVz
c2VzRm9yV29yZChjb25zdCBTdHJpbmcmLCBWZWN0b3I8U3RyaW5nPiYpCit7CisgICAgbm90SW1w
bGVtZW50ZWQoKTsKK30KKworfQpJbmRleDogV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9FZGl0
b3JDbGllbnRFZmwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSAvZGV2L251bGwKKysrIFdlYktpdC9lZmwvV2Vi
Q29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmgKQEAgLTAsMCArMSwxMjAgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+
CisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgWmFjayBSdXNpbiA8emFja0BrZGUub3JnPgorICogQ29w
eXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MDggSU5kVCAtIEluc3RpdHV0byBOb2tpYSBkZSBUZWNub2xvZ2lhCisgKiBDb3B5cmlnaHQgKEMp
IDIwMDktMjAxMCBQcm9GVVNJT04gZW1iZWRkZWQgc3lzdGVtcworICogQ29weXJpZ2h0IChDKSAy
MDA5LTIwMTAgU2Ftc3VuZyBFbGVjdHJvbmljcworICoKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01Q
VVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBV
VEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2lmbmRlZiBFZGl0b3JDbGllbnRFZmxfaAorI2RlZmluZSBFZGl0b3JDbGllbnRF
ZmxfaAorCisjaW5jbHVkZSAiRWRpdG9yQ2xpZW50LmgiCisjaW5jbHVkZSA8RXZhcy5oPgorCisj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgUGFn
ZTsKKworY2xhc3MgRWRpdG9yQ2xpZW50RWZsIDogcHVibGljIEVkaXRvckNsaWVudCB7CitwdWJs
aWM6CisgICAgRWRpdG9yQ2xpZW50RWZsKEV2YXNfT2JqZWN0ICp2aWV3KTsKKyAgICB+RWRpdG9y
Q2xpZW50RWZsKCk7CisKKyAgICAvLyBmcm9tIEVkaXRvckNsaWVudAorICAgIHZpcnR1YWwgdm9p
ZCBwYWdlRGVzdHJveWVkKCk7CisKKyAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkRGVsZXRlUmFuZ2Uo
UmFuZ2UqKTsKKyAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkU2hvd0RlbGV0ZUludGVyZmFjZShIVE1M
RWxlbWVudCopOworICAgIHZpcnR1YWwgYm9vbCBzbWFydEluc2VydERlbGV0ZUVuYWJsZWQoKTsK
KyAgICB2aXJ0dWFsIGJvb2wgaXNTZWxlY3RUcmFpbGluZ1doaXRlc3BhY2VFbmFibGVkKCk7Cisg
ICAgdmlydHVhbCBib29sIGlzQ29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKCk7CisgICAg
dmlydHVhbCB2b2lkIHRvZ2dsZUNvbnRpbnVvdXNTcGVsbENoZWNraW5nKCk7CisgICAgdmlydHVh
bCBib29sIGlzR3JhbW1hckNoZWNraW5nRW5hYmxlZCgpOworICAgIHZpcnR1YWwgdm9pZCB0b2dn
bGVHcmFtbWFyQ2hlY2tpbmcoKTsKKyAgICB2aXJ0dWFsIGludCBzcGVsbENoZWNrZXJEb2N1bWVu
dFRhZygpOworCisgICAgdmlydHVhbCBib29sIGlzRWRpdGFibGUoKTsKKworICAgIHZpcnR1YWwg
Ym9vbCBzaG91bGRCZWdpbkVkaXRpbmcoUmFuZ2UqKTsKKyAgICB2aXJ0dWFsIGJvb2wgc2hvdWxk
RW5kRWRpdGluZyhSYW5nZSopOworICAgIHZpcnR1YWwgYm9vbCBzaG91bGRJbnNlcnROb2RlKE5v
ZGUqLCBSYW5nZSosIEVkaXRvckluc2VydEFjdGlvbik7CisgICAgdmlydHVhbCBib29sIHNob3Vs
ZEluc2VydFRleHQoY29uc3QgU3RyaW5nJiwgUmFuZ2UqLCBFZGl0b3JJbnNlcnRBY3Rpb24pOwor
ICAgIHZpcnR1YWwgYm9vbCBzaG91bGRDaGFuZ2VTZWxlY3RlZFJhbmdlKFJhbmdlKiBmcm9tUmFu
Z2UsIFJhbmdlKiB0b1JhbmdlLCBFQWZmaW5pdHksIGJvb2wgc3RpbGxTZWxlY3RpbmcpOworCisg
ICAgdmlydHVhbCBib29sIHNob3VsZEFwcGx5U3R5bGUoQ1NTU3R5bGVEZWNsYXJhdGlvbiosIFJh
bmdlKik7CisKKyAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkTW92ZVJhbmdlQWZ0ZXJEZWxldGUoUmFu
Z2UqLCBSYW5nZSopOworCisgICAgdmlydHVhbCB2b2lkIGRpZEJlZ2luRWRpdGluZygpOworICAg
IHZpcnR1YWwgdm9pZCByZXNwb25kVG9DaGFuZ2VkQ29udGVudHMoKTsKKyAgICB2aXJ0dWFsIHZv
aWQgcmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbigpOworICAgIHZpcnR1YWwgdm9pZCBkaWRFbmRF
ZGl0aW5nKCk7CisgICAgdmlydHVhbCB2b2lkIGRpZFdyaXRlU2VsZWN0aW9uVG9QYXN0ZWJvYXJk
KCk7CisgICAgdmlydHVhbCB2b2lkIGRpZFNldFNlbGVjdGlvblR5cGVzRm9yUGFzdGVib2FyZCgp
OworCisgICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyQ29tbWFuZEZvclVuZG8oV1RGOjpQYXNzUmVm
UHRyPEVkaXRDb21tYW5kPik7CisgICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyQ29tbWFuZEZvclJl
ZG8oV1RGOjpQYXNzUmVmUHRyPEVkaXRDb21tYW5kPik7CisgICAgdmlydHVhbCB2b2lkIGNsZWFy
VW5kb1JlZG9PcGVyYXRpb25zKCk7CisKKyAgICB2aXJ0dWFsIGJvb2wgY2FuVW5kbygpIGNvbnN0
OworICAgIHZpcnR1YWwgYm9vbCBjYW5SZWRvKCkgY29uc3Q7CisKKyAgICB2aXJ0dWFsIHZvaWQg
dW5kbygpOworICAgIHZpcnR1YWwgdm9pZCByZWRvKCk7CisKKyAgICB2aXJ0dWFsIGNvbnN0IGNo
YXIqIGludGVycHJldEtleUV2ZW50KGNvbnN0IEtleWJvYXJkRXZlbnQqIGV2ZW50KTsKKyAgICB2
aXJ0dWFsIGJvb2wgaGFuZGxlRWRpdGluZ0tleWJvYXJkRXZlbnQoS2V5Ym9hcmRFdmVudCopOwor
ICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVLZXlib2FyZEV2ZW50KEtleWJvYXJkRXZlbnQqKTsKKyAg
ICB2aXJ0dWFsIHZvaWQgaGFuZGxlSW5wdXRNZXRob2RLZXlkb3duKEtleWJvYXJkRXZlbnQqKTsK
KworICAgIHZpcnR1YWwgdm9pZCB0ZXh0RmllbGREaWRCZWdpbkVkaXRpbmcoRWxlbWVudCopOwor
ICAgIHZpcnR1YWwgdm9pZCB0ZXh0RmllbGREaWRFbmRFZGl0aW5nKEVsZW1lbnQqKTsKKyAgICB2
aXJ0dWFsIHZvaWQgdGV4dERpZENoYW5nZUluVGV4dEZpZWxkKEVsZW1lbnQqKTsKKyAgICB2aXJ0
dWFsIGJvb2wgZG9UZXh0RmllbGRDb21tYW5kRnJvbUV2ZW50KEVsZW1lbnQqLCBLZXlib2FyZEV2
ZW50Kik7CisgICAgdmlydHVhbCB2b2lkIHRleHRXaWxsQmVEZWxldGVkSW5UZXh0RmllbGQoRWxl
bWVudCopOworICAgIHZpcnR1YWwgdm9pZCB0ZXh0RGlkQ2hhbmdlSW5UZXh0QXJlYShFbGVtZW50
Kik7CisKKyAgICB2aXJ0dWFsIHZvaWQgaWdub3JlV29yZEluU3BlbGxEb2N1bWVudChjb25zdCBT
dHJpbmcmKTsKKyAgICB2aXJ0dWFsIHZvaWQgbGVhcm5Xb3JkKGNvbnN0IFN0cmluZyYpOworICAg
IHZpcnR1YWwgdm9pZCBjaGVja1NwZWxsaW5nT2ZTdHJpbmcoY29uc3QgVUNoYXIqLCBpbnQgbGVu
Z3RoLCBpbnQqIG1pc3NwZWxsaW5nTG9jYXRpb24sIGludCogbWlzc3BlbGxpbmdMZW5ndGgpOwor
ICAgIHZpcnR1YWwgU3RyaW5nIGdldEF1dG9Db3JyZWN0U3VnZ2VzdGlvbkZvck1pc3NwZWxsZWRX
b3JkKGNvbnN0IFN0cmluZyYgbWlzc3BlbGxlZFdvcmQpOworICAgIHZpcnR1YWwgdm9pZCBjaGVj
a0dyYW1tYXJPZlN0cmluZyhjb25zdCBVQ2hhciosIGludCBsZW5ndGgsIFdURjo6VmVjdG9yPEdy
YW1tYXJEZXRhaWw+JiwgaW50KiBiYWRHcmFtbWFyTG9jYXRpb24sIGludCogYmFkR3JhbW1hckxl
bmd0aCk7CisgICAgdmlydHVhbCB2b2lkIHVwZGF0ZVNwZWxsaW5nVUlXaXRoR3JhbW1hclN0cmlu
Zyhjb25zdCBTdHJpbmcmLCBjb25zdCBHcmFtbWFyRGV0YWlsJik7CisgICAgdmlydHVhbCB2b2lk
IHVwZGF0ZVNwZWxsaW5nVUlXaXRoTWlzc3BlbGxlZFdvcmQoY29uc3QgU3RyaW5nJik7CisgICAg
dmlydHVhbCB2b2lkIHNob3dTcGVsbGluZ1VJKGJvb2wgc2hvdyk7CisgICAgdmlydHVhbCBib29s
IHNwZWxsaW5nVUlJc1Nob3dpbmcoKTsKKyAgICB2aXJ0dWFsIHZvaWQgZ2V0R3Vlc3Nlc0Zvcldv
cmQoY29uc3QgU3RyaW5nJiwgV1RGOjpWZWN0b3I8U3RyaW5nPiYgZ3Vlc3Nlcyk7CisgICAgdmly
dHVhbCB2b2lkIHNldElucHV0TWV0aG9kU3RhdGUoYm9vbCBlbmFibGVkKTsKKworcHJpdmF0ZToK
KyAgICBFdmFzX09iamVjdCAqbV92aWV3OworfTsKK30KKworI2VuZGlmIC8vIEVkaXRvckNsaWVu
dEVmbF9oCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>