<?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>41005</bug_id>
          
          <creation_ts>2010-06-22 12:27:16 -0700</creation_ts>
          <short_desc>[EFL] Implement several notification hooks in FrameLoaderClient</short_desc>
          <delta_ts>2010-07-08 07:38: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>WebKit EFL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</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>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>40930</dependson>
          <blocked>41008</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Lucas De Marchi">lucas.de.marchi</reporter>
          <assigned_to name="Lucas De Marchi">lucas.de.marchi</assigned_to>
          <cc>barbieri</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kenneth</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>241387</commentid>
    <comment_count>0</comment_count>
    <who name="Lucas De Marchi">lucas.de.marchi</who>
    <bug_when>2010-06-22 12:27:16 -0700</bug_when>
    <thetext>[EFL] Implement several notification hooks in FrameLoaderClient</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>241390</commentid>
    <comment_count>1</comment_count>
      <attachid>59403</attachid>
    <who name="Lucas De Marchi">lucas.de.marchi</who>
    <bug_when>2010-06-22 12:34:15 -0700</bug_when>
    <thetext>Created attachment 59403
This patch does not applying without applying #40930 first, so I&apos;m not setting r? not to bother style bot. I hope someone review that one quickly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>241391</commentid>
    <comment_count>2</comment_count>
      <attachid>59404</attachid>
    <who name="Lucas De Marchi">lucas.de.marchi</who>
    <bug_when>2010-06-22 12:36:45 -0700</bug_when>
    <thetext>Created attachment 59404
Patch

Wrong argument to webkit-patch. Fixing filename.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>242554</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-06-24 09:52:36 -0700</bug_when>
    <thetext>Attachment 59404 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;, &apos;--no-squash&apos;]&quot; exit_code: 1
WebKit/efl/ewk/ewk_private.h:55:  Extra space between void and ewk_view_load_provisional  [whitespace/declaration] [3]
WebKit/efl/ewk/ewk_private.h:57:  Extra space between void and ewk_view_frame_main_cleared  [whitespace/declaration] [3]
WebKit/efl/ewk/ewk_private.h:58:  Extra space between void and ewk_view_frame_main_icon_received  [whitespace/declaration] [3]
WebKit/efl/ewk/ewk_private.h:62:  Extra space between void and ewk_view_load_show  [whitespace/declaration] [3]
WebKit/efl/ewk/ewk_private.h:63:  Extra space between void and ewk_view_restore_state  [whitespace/declaration] [3]
WebKit/efl/ewk/ewk_private.h:121:  Extra space between void and ewk_frame_load_provisional  [whitespace/declaration] [3]
WebKit/efl/ewk/ewk_private.h:122:  Extra space between void and ewk_frame_load_firstlayout_finished  [whitespace/declaration] [3]
WebKit/efl/ewk/ewk_private.h:123:  Extra space between void and ewk_frame_load_firstlayout_nonempty_finished  [whitespace/declaration] [3]
WebKit/efl/ewk/ewk_private.h:124:  Extra space between void and ewk_frame_load_document_finished  [whitespace/declaration] [3]
WebKit/efl/ewk/ewk_private.h:129:  Extra space between void and ewk_frame_request_will_send  [whitespace/declaration] [3]
WebKit/efl/ewk/ewk_private.h:130:  Extra space between void and ewk_frame_request_assign_identifier  [whitespace/declaration] [3]
WebKit/efl/ewk/ewk_private.h:131:  Extra space between void and ewk_frame_view_state_save  [whitespace/declaration] [3]
WebKit/efl/ewk/ewk_private.h:133:  Extra space between void and ewk_frame_did_perform_first_navigation  [whitespace/declaration] [3]
Total errors found: 13 in 5 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>247654</commentid>
    <comment_count>4</comment_count>
      <attachid>59404</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-07-07 11:31:05 -0700</bug_when>
    <thetext>Comment on attachment 59404
Patch

Looks good to me. Lots of new useful API :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>247708</commentid>
    <comment_count>5</comment_count>
      <attachid>59404</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-07 13:07:58 -0700</bug_when>
    <thetext>Comment on attachment 59404
Patch

Rejecting patch 59404 from commit-queue.

Failed to run &quot;[u&apos;/Users/eseidel/Projects/CommitQueue/WebKitTools/Scripts/svn-apply&apos;, u&apos;--reviewer&apos;, u&apos;Kenneth Rohde Christiansen&apos;, u&apos;--force&apos;]&quot; exit_code: 1
Last 500 characters of output:
 at 478 (offset 2 lines).
Hunk #5 succeeded at 567 (offset 2 lines).
Hunk #6 succeeded at 581 (offset 2 lines).
Hunk #7 FAILED at 621.
1 out of 7 hunks FAILED -- saving rejects to file WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp.rej
patching file WebKit/efl/ewk/ewk_frame.cpp
Hunk #2 succeeded at 1634 (offset -9 lines).
Hunk #3 succeeded at 1717 (offset -9 lines).
patching file WebKit/efl/ewk/ewk_frame.h
patching file WebKit/efl/ewk/ewk_private.h
Hunk #2 succeeded at 123 (offset 5 lines).

Full output: http://webkit-commit-queue.appspot.com/results/3400371</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>247733</commentid>
    <comment_count>6</comment_count>
      <attachid>60773</attachid>
    <who name="Lucas De Marchi">lucas.de.marchi</who>
    <bug_when>2010-07-07 13:56:57 -0700</bug_when>
    <thetext>Created attachment 60773
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>247736</commentid>
    <comment_count>7</comment_count>
      <attachid>60775</attachid>
    <who name="Lucas De Marchi">lucas.de.marchi</who>
    <bug_when>2010-07-07 14:01:03 -0700</bug_when>
    <thetext>Created attachment 60775
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>247738</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-07-07 14:03:18 -0700</bug_when>
    <thetext>Attachment 60775 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;, &apos;--no-squash&apos;]&quot; exit_code: 1
WebKit/efl/ewk/ewk_private.h:55:  Extra space between void and ewk_view_load_provisional  [whitespace/declaration] [3]
WebKit/efl/ewk/ewk_private.h:57:  Extra space between void and ewk_view_frame_main_cleared  [whitespace/declaration] [3]
WebKit/efl/ewk/ewk_private.h:58:  Extra space between void and ewk_view_frame_main_icon_received  [whitespace/declaration] [3]
WebKit/efl/ewk/ewk_private.h:62:  Extra space between void and ewk_view_load_show  [whitespace/declaration] [3]
WebKit/efl/ewk/ewk_private.h:63:  Extra space between void and ewk_view_restore_state  [whitespace/declaration] [3]
WebKit/efl/ewk/ewk_private.h:126:  Extra space between void and ewk_frame_load_provisional  [whitespace/declaration] [3]
WebKit/efl/ewk/ewk_private.h:127:  Extra space between void and ewk_frame_load_firstlayout_finished  [whitespace/declaration] [3]
WebKit/efl/ewk/ewk_private.h:128:  Extra space between void and ewk_frame_load_firstlayout_nonempty_finished  [whitespace/declaration] [3]
WebKit/efl/ewk/ewk_private.h:129:  Extra space between void and ewk_frame_load_document_finished  [whitespace/declaration] [3]
WebKit/efl/ewk/ewk_private.h:134:  Extra space between void and ewk_frame_request_will_send  [whitespace/declaration] [3]
WebKit/efl/ewk/ewk_private.h:135:  Extra space between void and ewk_frame_request_assign_identifier  [whitespace/declaration] [3]
WebKit/efl/ewk/ewk_private.h:136:  Extra space between void and ewk_frame_view_state_save  [whitespace/declaration] [3]
WebKit/efl/ewk/ewk_private.h:138:  Extra space between void and ewk_frame_did_perform_first_navigation  [whitespace/declaration] [3]
Total errors found: 13 in 5 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>248184</commentid>
    <comment_count>9</comment_count>
      <attachid>60775</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-08 07:37:57 -0700</bug_when>
    <thetext>Comment on attachment 60775
Patch

Clearing flags on attachment: 60775

Committed r62787: &lt;http://trac.webkit.org/changeset/62787&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>248185</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-08 07:38:02 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>59403</attachid>
            <date>2010-06-22 12:34:15 -0700</date>
            <delta_ts>2010-06-22 12:36:39 -0700</delta_ts>
            <desc>This patch does not applying without applying #40930 first, so I&apos;m not setting r? not to bother style bot. I hope someone review that one quickly.</desc>
            <filename>bug-41005-20100622163501.patch</filename>
            <type>text/plain</type>
            <size>16556</size>
            <attacher name="Lucas De Marchi">lucas.de.marchi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9DaGFuZ2VMb2cgYi9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDll
YmRiNzgzZDRiZTM5NTRhMTEyZjEyZDE4NWQyN2RmYTRlNDQ3ZDMuLjM1YWFmOWUzYmU1NzM3NjVh
ZjI1YTNjNDAwYzkxNTNjMTk5MWI2ZmIgMTAwNjQ0Ci0tLSBhL1dlYktpdC9DaGFuZ2VMb2cKKysr
IGIvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDEwLTA2LTIyICBMdWNhcyBE
ZSBNYXJjaGkgIDxsdWNhcy5kZW1hcmNoaUBwcm9mdXNpb24ubW9iaT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbRUZMXSBJbXBsZW1lbnQgc2V2ZXJh
bCBub3RpZmljYXRpb24gaG9va3MgaW4gRnJhbWVMb2FkZXJDbGllbnQuCisgICAgICAgIFdlIGp1
c3Qgbm90aWZ5IGJyb3dzZXIsIG1ha2luZyB0aGUgYXBwcm9wcmlhdGUgdHlwZSBjb252ZXJzaW9u
cyBhYm91dAorICAgICAgICB0aGUgZXZlbnRzIG9jY3VycmluZyBpbiBXZWJDb3JlLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDEwMDUKKworICAgICAg
ICAqIGVmbC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0Y2hXaWxsU2VuZFJlcXVlc3Qp
OiBhbGxvYyAyIG5ldworICAgICAgICB3cmFwcGVyIHN0cnVjdHVyZXMgaW4gc3RhY2sgaW4gb3Jk
ZXIgdG8gZ2l2ZSBjbGllbnQgdGhlIG9wcG9ydHVuaXR5IHRvCisgICAgICAgIGNoYW5nZSBwYXJh
bWV0ZXJzLiBUaGVuLCBjYWxsIHRoZSBmdW5jdGlvbiBpdCBkZWZpbmVzLgorICAgICAgICAoV2Vi
Q29yZTo6RnJhbWVMb2FkZXJDbGllbnRFZmw6OmFzc2lnbklkZW50aWZpZXJUb0luaXRpYWxSZXF1
ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50RWZsOjpkaWRQZXJmb3Jt
Rmlyc3ROYXZpZ2F0aW9uKTogbm90aWZ5CisgICAgICAgIGNsaWVudC4KKyAgICAgICAgKFdlYkNv
cmU6OkZyYW1lTG9hZGVyQ2xpZW50RWZsOjpzYXZlVmlld1N0YXRlVG9JdGVtKTogbm90aWZ5IGNs
aWVudC4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50RWZsOjpyZXN0b3JlVmll
d1N0YXRlKTogbm90aWZ5IGNsaWVudC4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xp
ZW50RWZsOjpkaXNwYXRjaERpZENoYW5nZUxvY2F0aW9uV2l0aGluUGFnZSk6CisgICAgICAgIG5v
dGlmeSBicm93c2VyIHRoYXQgdGhlIHVybCBjaGFuZ2VkLgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWVMb2FkZXJDbGllbnRFZmw6OmRpc3BhdGNoRGlkUmVjZWl2ZUljb24pOiBub3RpZnkKKyAgICAg
ICAgYnJvd3Nlci4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50RWZsOjpkaXNw
YXRjaERpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkKToKKyAgICAgICAgbm90aWZ5IGJyb3dzZXIuCisg
ICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0Y2hEaWRGaW5pc2hE
b2N1bWVudExvYWQpOiBub3RpZnkKKyAgICAgICAgYnJvd3Nlci4KKyAgICAgICAgKFdlYkNvcmU6
OkZyYW1lTG9hZGVyQ2xpZW50RWZsOjpkaXNwYXRjaERpZEZpcnN0TGF5b3V0KTogbm9yaWZ5Cisg
ICAgICAgIGJyb3dzZXIuCisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudEVmbDo6
ZGlzcGF0Y2hEaWRGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXQpOgorICAgICAgICBub3RpZnkg
YnJvd3Nlci4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50RWZsOjpkaXNwYXRj
aFNob3cpOiBub3RpZnkgYnJvd3Nlci4KKyAgICAgICAgKiBlZmwvZXdrL2V3a19mcmFtZS5jcHA6
CisgICAgICAgIChld2tfZnJhbWVfcmVxdWVzdF93aWxsX3NlbmQpOiBlbWl0IHNpZ25hbCBub3Rp
ZnlpbmcgYnJvd3Nlci4KKyAgICAgICAgKGV3a19mcmFtZV9yZXF1ZXN0X2Fzc2lnbl9pZGVudGlm
aWVyKTogZW1pdCBzaWduYWwgbm90aWZ5aW5nIGJyb3dzZXIuCisgICAgICAgIChld2tfZnJhbWVf
ZGlkX3BlcmZvcm1fZmlyc3RfbmF2aWdhdGlvbik6IGVtaXQgc2lnbmFsIG5vdGlmeWluZyBicm93
c2VyLgorICAgICAgICAoZXdrX2ZyYW1lX3ZpZXdfc3RhdGVfc2F2ZSk6IGVtaXQgc2lnbmFsIG5v
dGlmeWluZyBicm93c2VyLgorICAgICAgICAoZXdrX2ZyYW1lX2xvYWRfcHJvdmlzaW9uYWwpOiBl
bWl0IHNpZ25hbCBub3RpZnlpbmcgYnJvd3Nlci4KKyAgICAgICAgKGV3a19mcmFtZV9sb2FkX2Zp
cnN0bGF5b3V0X2ZpbmlzaGVkKTogZW1pdCBzaWduYWwgbm90aWZ5aW5nIGJyb3dzZXIuCisgICAg
ICAgIChld2tfZnJhbWVfbG9hZF9maXJzdGxheW91dF9ub25lbXB0eV9maW5pc2hlZCk6IGVtaXQg
c2lnbmFsIG5vdGlmeWluZyBicm93c2VyLgorICAgICAgICAoZXdrX2ZyYW1lX2xvYWRfZG9jdW1l
bnRfZmluaXNoZWQpOiBlbWl0IHNpZ25hbCBub3RpZnlpbmcgYnJvd3Nlci4KKyAgICAgICAgKiBl
ZmwvZXdrL2V3a19mcmFtZS5oOiB1cGRhdGUgZG9jdW1lbnRhdGlvbiBhYm91dCBzaWduYWxzIGJl
aW5nIHNlbnQKKyAgICAgICAgYW5kIGltcGxlbWVudCB3cmFwcGVyIHN0cnVjdCBmb3IgUmVzb3Vy
Y2VSZXF1ZXN0LgorICAgICAgICAqIGVmbC9ld2svZXdrX3ByaXZhdGUuaDogZXhwb3J0IHByaXZh
dGUgZnVuY3Rpb25zLgorCiAyMDEwLTA2LTE4ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBh
cHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KZGlmZiAtLWdpdCBh
L1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwuY3BwIGIvV2Vi
S2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5jcHAKaW5kZXggYWYx
YWJlYjZiN2NkMzVlZjJiMmQ0NmIwMzU4ZmQ4OWJmZGE4NzFmYS4uYWIyN2U0YWRmN2U4NGNjOTM4
Yzk0YjIzMWRlNzEwMWNjNWU3Njk0YSAxMDA2NDQKLS0tIGEvV2ViS2l0L2VmbC9XZWJDb3JlU3Vw
cG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5jcHAKKysrIGIvV2ViS2l0L2VmbC9XZWJDb3JlU3Vw
cG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5jcHAKQEAgLTI0OSw5ICsyNDksMjUgQEAgdm9pZCBG
cmFtZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0Y2hEaWRDYW5jZWxBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZShEb2N1bWVudExvYWQKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCi12b2lkIEZyYW1l
TG9hZGVyQ2xpZW50RWZsOjpkaXNwYXRjaFdpbGxTZW5kUmVxdWVzdChEb2N1bWVudExvYWRlcios
IHVuc2lnbmVkIGxvbmcsIFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2Um
KQordm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0Y2hXaWxsU2VuZFJlcXVlc3QoRG9j
dW1lbnRMb2FkZXIqIGxvYWRlciwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBSZXNvdXJjZVJl
cXVlc3QmIGNvcmVSZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBjb3JlUmVzcG9uc2Up
CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBDU3RyaW5nIHVybCA9IGNvcmVSZXF1ZXN0
LnVybCgpLnByZXR0eVVSTCgpLnV0ZjgoKTsKKyAgICBEQkcoIlJlc291cmNlIHVybD0lcyIsIHVy
bC5kYXRhKCkpOworCisgICAgRXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVlc3QgcmVxdWVzdCA9IHsg
MCwgaWRlbnRpZmllciB9OworICAgIEV3a19GcmFtZV9SZXNvdXJjZV9SZXF1ZXN0IG9yaWcgPSBy
ZXF1ZXN0OyAvKiBJbml0aWFsaXplIGNvbnN0IGZpZWxkcy4gKi8KKworICAgIG9yaWcudXJsID0g
cmVxdWVzdC51cmwgPSB1cmwuZGF0YSgpOworCisgICAgZXdrX2ZyYW1lX3JlcXVlc3Rfd2lsbF9z
ZW5kKG1fZnJhbWUsICZyZXF1ZXN0KTsKKworICAgIGlmIChyZXF1ZXN0LnVybCAhPSBvcmlnLnVy
bCkgeworICAgICAgICBjb3JlUmVxdWVzdC5zZXRVUkwoS1VSTChLVVJMKCksIHJlcXVlc3QudXJs
KSk7CisKKyAgICAgICAgLy8gQ2FsbGluZyBjbGllbnQgbWlnaHQgaGF2ZSBjaGFuZ2VkIG91ciB1
cmwgcG9pbnRlci4KKyAgICAgICAgLy8gRnJlZSB0aGUgbmV3IGFsbG9jYXRlZCBzdHJpbmcuCisg
ICAgICAgIGZyZWUoY29uc3RfY2FzdDxjaGFyKj4ocmVxdWVzdC51cmwpKTsKKyAgICB9CiB9CiAK
IGJvb2wgRnJhbWVMb2FkZXJDbGllbnRFZmw6OnNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlKERv
Y3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9uZykKQEAgLTI2MCw5ICsyNzYsMTMgQEAgYm9vbCBG
cmFtZUxvYWRlckNsaWVudEVmbDo6c2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2UoRG9jdW1lbnRM
b2FkZXIqLCB1bnNpZ25lZAogICAgIHJldHVybiBmYWxzZTsKIH0KIAotdm9pZCBGcmFtZUxvYWRl
ckNsaWVudEVmbDo6YXNzaWduSWRlbnRpZmllclRvSW5pdGlhbFJlcXVlc3QodW5zaWduZWQgbG9u
ZyBpZGVudGlmaWVyLCBEb2N1bWVudExvYWRlciosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYpCit2
b2lkIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjphc3NpZ25JZGVudGlmaWVyVG9Jbml0aWFsUmVxdWVz
dCh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIERvY3VtZW50TG9hZGVyKiwgY29uc3QgUmVzb3Vy
Y2VSZXF1ZXN0JiBjb3JlUmVxdWVzdCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIENT
dHJpbmcgdXJsID0gY29yZVJlcXVlc3QudXJsKCkucHJldHR5VVJMKCkudXRmOCgpOworICAgIERC
RygiUmVzb3VyY2UgdXJsPSVzIiwgdXJsLmRhdGEoKSk7CisKKyAgICBFd2tfRnJhbWVfUmVzb3Vy
Y2VfUmVxdWVzdCByZXF1ZXN0ID0geyAwLCBpZGVudGlmaWVyIH07CisgICAgZXdrX2ZyYW1lX3Jl
cXVlc3RfYXNzaWduX2lkZW50aWZpZXIobV9mcmFtZSwgJnJlcXVlc3QpOwogfQogCiB2b2lkIEZy
YW1lTG9hZGVyQ2xpZW50RWZsOjpwb3N0UHJvZ3Jlc3NTdGFydGVkTm90aWZpY2F0aW9uKCkKQEAg
LTQyMSw3ICs0NDEsNyBAQCB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjpkb2N1bWVudEVsZW1l
bnRBdmFpbGFibGUoKQogCiB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjpkaWRQZXJmb3JtRmly
c3ROYXZpZ2F0aW9uKCkgY29uc3QKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIGV3a19m
cmFtZV9kaWRfcGVyZm9ybV9maXJzdF9uYXZpZ2F0aW9uKG1fZnJhbWUpOwogfQogCiB2b2lkIEZy
YW1lTG9hZGVyQ2xpZW50RWZsOjpyZWdpc3RlckZvckljb25Ob3RpZmljYXRpb24oYm9vbCkKQEAg
LTQ1NiwxNCArNDc2LDE3IEBAIHZvaWQgRnJhbWVMb2FkZXJDbGllbnRFZmw6OmZyYW1lTG9hZENv
bXBsZXRlZCgpCiAgICAgLy8gTm90ZTogQ2FuIGJlIGNhbGxlZCBtdWx0aXBsZSB0aW1lcy4KIH0K
IAotdm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6c2F2ZVZpZXdTdGF0ZVRvSXRlbShIaXN0b3J5
SXRlbSopCit2b2lkIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjpzYXZlVmlld1N0YXRlVG9JdGVtKEhp
c3RvcnlJdGVtKiBpdGVtKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgZXdrX2ZyYW1l
X3ZpZXdfc3RhdGVfc2F2ZShtX2ZyYW1lLCBpdGVtKTsKIH0KIAogdm9pZCBGcmFtZUxvYWRlckNs
aWVudEVmbDo6cmVzdG9yZVZpZXdTdGF0ZSgpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAg
ICBBU1NFUlQobV9mcmFtZSk7CisgICAgQVNTRVJUKG1fdmlldyk7CisKKyAgICBld2tfdmlld19y
ZXN0b3JlX3N0YXRlKG1fdmlldywgbV9mcmFtZSk7CiB9CiAKIHZvaWQgRnJhbWVMb2FkZXJDbGll
bnRFZmw6OnVwZGF0ZUdsb2JhbEhpc3RvcnlSZWRpcmVjdExpbmtzKCkKQEAgLTU0Miw3ICs1NjUs
MTEgQEAgdm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0Y2hXaWxsUGVyZm9ybUNsaWVu
dFJlZGlyZWN0KGNvbnN0IEtVUkwmLCBkb3VibGUKIAogdm9pZCBGcmFtZUxvYWRlckNsaWVudEVm
bDo6ZGlzcGF0Y2hEaWRDaGFuZ2VMb2NhdGlvbldpdGhpblBhZ2UoKQogewotICAgIG5vdEltcGxl
bWVudGVkKCk7CisgICAgZXdrX2ZyYW1lX3VyaV9jaGFuZ2VkKG1fZnJhbWUpOworCisgICAgaWYg
KGV3a192aWV3X2ZyYW1lX21haW5fZ2V0KG1fdmlldykgIT0gbV9mcmFtZSkKKyAgICAgICAgcmV0
dXJuOworICAgIGV3a192aWV3X3VyaV9jaGFuZ2VkKG1fdmlldyk7CiB9CiAKIHZvaWQgRnJhbWVM
b2FkZXJDbGllbnRFZmw6OmRpc3BhdGNoV2lsbENsb3NlKCkKQEAgLTU1MiwxMCArNTc5LDE4IEBA
IHZvaWQgRnJhbWVMb2FkZXJDbGllbnRFZmw6OmRpc3BhdGNoV2lsbENsb3NlKCkKIAogdm9pZCBG
cmFtZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0Y2hEaWRSZWNlaXZlSWNvbigpCiB7CisgICAgLyog
cmVwb3J0IHJlY2VpdmVkIGZhdmljb24gb25seSBmb3IgbWFpbiBmcmFtZS4gKi8KKyAgICBpZiAo
ZXdrX3ZpZXdfZnJhbWVfbWFpbl9nZXQobV92aWV3KSAhPSBtX2ZyYW1lKQorICAgICAgICByZXR1
cm47CisKKyAgICBld2tfdmlld19mcmFtZV9tYWluX2ljb25fcmVjZWl2ZWQobV92aWV3KTsKIH0K
IAogdm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0Y2hEaWRTdGFydFByb3Zpc2lvbmFs
TG9hZCgpCiB7CisgICAgZXdrX2ZyYW1lX2xvYWRfcHJvdmlzaW9uYWwobV9mcmFtZSk7CisgICAg
aWYgKGV3a192aWV3X2ZyYW1lX21haW5fZ2V0KG1fdmlldykgPT0gbV9mcmFtZSkKKyAgICAgICAg
ZXdrX3ZpZXdfbG9hZF9wcm92aXNpb25hbChtX3ZpZXcpOwogfQogCiB2b2lkIEZyYW1lTG9hZGVy
Q2xpZW50RWZsOjpkaXNwYXRjaERpZFJlY2VpdmVUaXRsZShjb25zdCBTdHJpbmcmIHRpdGxlKQpA
QCAtNTg0LDIzICs2MTksMjIgQEAgdm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0Y2hE
aWRDb21taXRMb2FkKCkKIAogdm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0Y2hEaWRG
aW5pc2hEb2N1bWVudExvYWQoKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgZXdrX2Zy
YW1lX2xvYWRfZG9jdW1lbnRfZmluaXNoZWQobV9mcmFtZSk7CiB9CiAKIHZvaWQgRnJhbWVMb2Fk
ZXJDbGllbnRFZmw6OmRpc3BhdGNoRGlkRmlyc3RMYXlvdXQoKQogewotICAgIC8vIGVtaXQgbV9m
cmFtZS0+aW5pdGlhbExheW91dENvbXBsZXRlZCgpOwotICAgIG5vdEltcGxlbWVudGVkKCk7Cisg
ICAgZXdrX2ZyYW1lX2xvYWRfZmlyc3RsYXlvdXRfZmluaXNoZWQobV9mcmFtZSk7CiB9CiAKIHZv
aWQgRnJhbWVMb2FkZXJDbGllbnRFZmw6OmRpc3BhdGNoRGlkRmlyc3RWaXN1YWxseU5vbkVtcHR5
TGF5b3V0KCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIGV3a19mcmFtZV9sb2FkX2Zp
cnN0bGF5b3V0X25vbmVtcHR5X2ZpbmlzaGVkKG1fZnJhbWUpOwogfQogCiB2b2lkIEZyYW1lTG9h
ZGVyQ2xpZW50RWZsOjpkaXNwYXRjaFNob3coKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7Cisg
ICAgZXdrX3ZpZXdfbG9hZF9zaG93KG1fdmlldyk7CiB9CiAKIHZvaWQgRnJhbWVMb2FkZXJDbGll
bnRFZmw6OmNhbmNlbFBvbGljeUNoZWNrKCkKZGlmZiAtLWdpdCBhL1dlYktpdC9lZmwvZXdrL2V3
a19mcmFtZS5jcHAgYi9XZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUuY3BwCmluZGV4IDZjYmNlZmVh
ODQyMDM2MTM1YzhhZDA0YTEyZjQ4MDg1NjBkN2UwOTYuLjlhZDM1NTJhNmU5MTU0MWQyNjM1YTQw
MGMyNDhhODNlOTI5YWM2ZjIgMTAwNjQ0Ci0tLSBhL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5j
cHAKKysrIGIvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmNwcApAQCAtMzEsNiArMzEsNyBAQAog
I2luY2x1ZGUgIkZyYW1lVHJlZS5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgogI2luY2x1ZGUg
IkhUTUxQbHVnSW5FbGVtZW50LmgiCisjaW5jbHVkZSAiSGlzdG9yeUl0ZW0uaCIKICNpbmNsdWRl
ICJIaXRUZXN0UmVzdWx0LmgiCiAjaW5jbHVkZSAiS1VSTC5oIgogI2luY2x1ZGUgIlBsYXRmb3Jt
S2V5Ym9hcmRFdmVudC5oIgpAQCAtMTY0Miw2ICsxNjQzLDcwIEBAIFdlYkNvcmU6OkZyYW1lKiBl
d2tfZnJhbWVfY29yZV9nZXQoY29uc3QgRXZhc19PYmplY3QqIG8pCiAKIC8qKgogICogQGludGVy
bmFsCisgKiBSZXBvcnRzIGEgcmVzb3VyY2Ugd2lsbCBiZSByZXF1ZXN0ZWQuIFVzZXIgbWF5IG92
ZXJyaWRlIGJlaGF2aW9yIG9mIHdlYmtpdCBieQorICogY2hhbmdpbmcgdmFsdWVzIGluIEBwYXJh
bSByZXF1ZXN0LgorICoKKyAqIEBwYXJhbSBvIEZyYW1lLgorICogQHBhcmFtIHJlcXVlc3QgUmVx
dWVzdCBkZXRhaWxzIHRoYXQgdXNlciBtYXkgb3ZlcnJpZGUuIFdoZW5ldmVyIHZhbHVlcyBvbgor
ICogdGhpcyBzdHJ1Y3QgY2hhbmdlcywgaXQgbXVzdCBiZSBwcm9wZXJseSBtYWxsb2MnZCBhcyBp
dCB3aWxsIGJlIGZyZWVkCisgKiBhZnRlcndhcmRzLgorICoKKyAqIEVtaXRzIHNpZ25hbDogInJl
c291cmNlLHJlcXVlc3Qsd2lsbHNlbmQiCisgKi8KK3ZvaWQgZXdrX2ZyYW1lX3JlcXVlc3Rfd2ls
bF9zZW5kKEV2YXNfT2JqZWN0ICpvLCBFd2tfRnJhbWVfUmVzb3VyY2VfUmVxdWVzdCAqcmVxdWVz
dCkKK3sKKyAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19jYWxsKG8sICJyZXNvdXJjZSxy
ZXF1ZXN0LHdpbGxzZW5kIiwgcmVxdWVzdCk7Cit9CisKKy8qKgorICogQGludGVybmFsCisgKiBS
ZXBvcnRzIHRoYXQgdGhlcmUncyBhIG5ldyByZXNvdXJjZS4KKyAqCisgKiBAcGFyYW0gbyBGcmFt
ZS4KKyAqIEBwYXJhbSByZXF1ZXN0IE5ldyByZXF1ZXN0IGRldGFpbHMuIE5vIGNoYW5nZXMgYXJl
IGFsbG93ZWQgdG8gZmllbGRzLgorICoKKyAqIEVtaXRzIHNpZ25hbDogInJlc291cmNlLHJlcXVl
c3QsbmV3IgorICovCit2b2lkIGV3a19mcmFtZV9yZXF1ZXN0X2Fzc2lnbl9pZGVudGlmaWVyKEV2
YXNfT2JqZWN0ICpvLCBjb25zdCBFd2tfRnJhbWVfUmVzb3VyY2VfUmVxdWVzdCAqcmVxdWVzdCkK
K3sKKyAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19jYWxsKG8sICJyZXNvdXJjZSxyZXF1
ZXN0LG5ldyIsICh2b2lkICopcmVxdWVzdCk7Cit9CisKKy8qKgorICogQGludGVybmFsCisgKiBS
ZXBvcnRzIHRoYXQgZmlyc3QgbmF2aWdhdGlvbiBvY2N1cnJlZAorICoKKyAqIEBwYXJhbSBvIEZy
YW1lLgorICoKKyAqIEVtaXRzIHNpZ25hbDogIm5hdmlnYXRpb24sZmlyc3QiCisgKi8KK3ZvaWQg
ZXdrX2ZyYW1lX2RpZF9wZXJmb3JtX2ZpcnN0X25hdmlnYXRpb24oRXZhc19PYmplY3QgKm8pCit7
CisgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfY2FsbChvLCAibmF2aWdhdGlvbixmaXJz
dCIsIDApOworfQorCisvKioKKyAqIEBpbnRlcm5hbAorICogUmVwb3J0cyBmcmFtZSB3aWxsIGJl
IHNhdmVkIHRvIGN1cnJlbnQgc3RhdGUKKyAqCisgKiBAcGFyYW0gbyBGcmFtZS4KKyAqIEBwYXJh
bSBpdGVtIEhpc3RvcnkgaXRlbSB0byBzYXZlIGRldGFpbHMgdG8uCisgKgorICogRW1pdHMgc2ln
bmFsOiAic3RhdGUsc2F2ZSIKKyAqLwordm9pZCBld2tfZnJhbWVfdmlld19zdGF0ZV9zYXZlKEV2
YXNfT2JqZWN0ICpvLCBXZWJDb3JlOjpIaXN0b3J5SXRlbSogaXRlbSkKK3sKKyAgICBjb25zdCBj
aGFyICp0aXRsZSA9IGV3a19mcmFtZV90aXRsZV9nZXQobyk7CisgICAgY29uc3QgY2hhciAqdXJp
ID0gZXdrX2ZyYW1lX3VyaV9nZXQobyk7CisKKyAgICBpdGVtLT5zZXRUaXRsZShXZWJDb3JlOjpT
dHJpbmc6OmZyb21VVEY4KHRpdGxlKSk7CisgICAgaXRlbS0+c2V0VVJMU3RyaW5nKFdlYkNvcmU6
OlN0cmluZzo6ZnJvbVVURjgodXJpKSk7CisKKyAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFj
a19jYWxsKG8sICJzdGF0ZSxzYXZlIiwgMCk7Cit9CisKKy8qKgorICogQGludGVybmFsCiAgKiBS
ZXBvcnRzIHRoZSBmcmFtZSBzdGFydGVkIGxvYWRpbmcgc29tZXRoaW5nLgogICoKICAqIEVtaXRz
IHNpZ25hbDogImxvYWQsc3RhcnRlZCIgd2l0aCBubyBwYXJhbWV0ZXJzLgpAQCAtMTY2MSw2ICsx
NzI2LDU4IEBAIHZvaWQgZXdrX2ZyYW1lX2xvYWRfc3RhcnRlZChFdmFzX09iamVjdCogbykKIAog
LyoqCiAgKiBAaW50ZXJuYWwKKyAqIFJlcG9ydHMgdGhlIGZyYW1lIHN0YXJ0ZWQgcHJvdmlzaW9u
YWwgbG9hZC4KKyAqCisgKiBAcGFyYW0gbyBGcmFtZS4KKyAqCisgKiBFbWl0cyBzaWduYWw6ICJs
b2FkLHByb3Zpc2lvbmFsIiB3aXRoIG5vIHBhcmFtZXRlcnMuCisgKi8KK3ZvaWQgZXdrX2ZyYW1l
X2xvYWRfcHJvdmlzaW9uYWwoRXZhc19PYmplY3QqIG8pCit7CisgICAgZXZhc19vYmplY3Rfc21h
cnRfY2FsbGJhY2tfY2FsbChvLCAibG9hZCxwcm92aXNpb25hbCIsIDApOworfQorCisvKioKKyAq
IEBpbnRlcm5hbAorICogUmVwb3J0cyB0aGUgZnJhbWUgZmluaXNoZWQgZmlyc3QgbGF5b3V0Lgor
ICoKKyAqIEBwYXJhbSBvIEZyYW1lLgorICoKKyAqIEVtaXRzIHNpZ25hbDogImxvYWQsZmlyc3Rs
YXlvdXQsZmluaXNoZWQiIHdpdGggbm8gcGFyYW1ldGVycy4KKyAqLwordm9pZCBld2tfZnJhbWVf
bG9hZF9maXJzdGxheW91dF9maW5pc2hlZChFdmFzX09iamVjdCAqbykKK3sKKyAgICBldmFzX29i
amVjdF9zbWFydF9jYWxsYmFja19jYWxsKG8sICJsb2FkLGZpcnN0bGF5b3V0LGZpbmlzaGVkIiwg
MCk7Cit9CisKKy8qKgorICogQGludGVybmFsCisgKiBSZXBvcnRzIHRoZSBmcmFtZSBmaW5pc2hl
ZCBmaXJzdCBub24gZW1wdHkgbGF5b3V0LgorICoKKyAqIEBwYXJhbSBvIEZyYW1lLgorICoKKyAq
IEVtaXRzIHNpZ25hbDogImxvYWQsbm9uZW1wdHlsYXlvdXQsZmluaXNoZWQiIHdpdGggbm8gcGFy
YW1ldGVycy4KKyAqLwordm9pZCBld2tfZnJhbWVfbG9hZF9maXJzdGxheW91dF9ub25lbXB0eV9m
aW5pc2hlZChFdmFzX09iamVjdCAqbykKK3sKKyAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFj
a19jYWxsKG8sICJsb2FkLG5vbmVtcHR5bGF5b3V0LGZpbmlzaGVkIiwgMCk7Cit9CisKKy8qKgor
ICogQGludGVybmFsCisgKiBSZXBvcnRzIHRoZSBsb2FkaW5nIG9mIGEgZG9jdW1lbnQgaGFzIGZp
bmlzaGVkIG9uIGZyYW1lLgorICoKKyAqIEBwYXJhbSBvIEZyYW1lLgorICoKKyAqIEVtaXRzIHNp
Z25hbDogImxvYWQsZG9jdW1lbnQsZmluaXNoZWQiIHdpdGggbm8gcGFyYW1ldGVycy4KKyAqLwor
dm9pZCBld2tfZnJhbWVfbG9hZF9kb2N1bWVudF9maW5pc2hlZChFdmFzX09iamVjdCAqbykKK3sK
KyAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19jYWxsKG8sICJsb2FkLGRvY3VtZW50LGZp
bmlzaGVkIiwgMCk7Cit9CisKKy8qKgorICogQGludGVybmFsCiAgKiBSZXBvcnRzIGxvYWQgZmlu
aXNoZWQsIG9wdGlvbmFsbHkgd2l0aCBlcnJvciBpbmZvcm1hdGlvbi4KICAqCiAgKiBFbWl0cyBz
aWduYWw6ICJsb2FkLGZpbmlzaGVkIiB3aXRoIHBvaW50ZXIgdG8gRXdrX0ZyYW1lX0xvYWRfRXJy
b3IKZGlmZiAtLWdpdCBhL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5oIGIvV2ViS2l0L2VmbC9l
d2svZXdrX2ZyYW1lLmgKaW5kZXggYzcxMjY5YmYxNDcwOTg5MjJkMmI1MzIwM2Q1YWQ5NDJlZjkz
NGJiNy4uMWE5ZmU4MTk1ODE0YWZiNTVjOTBiYTk3MWFlZjAyNWVhNDI3MmYzYyAxMDA2NDQKLS0t
IGEvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmgKKysrIGIvV2ViS2l0L2VmbC9ld2svZXdrX2Zy
YW1lLmgKQEAgLTQ4LDE2ICs0OCwyOCBAQCBleHRlcm4gIkMiIHsKICAqCiAgKiAgLSAidGl0bGUs
Y2hhbmdlZCIsIGNvbnN0IGNoYXIqOiB0aXRsZSBvZiB0aGUgbWFpbiBmcmFtZSBjaGFuZ2VkLgog
ICogIC0gInVyaSxjaGFuZ2VkIiwgY29uc3QgY2hhcio6IHVyaSBvZiB0aGUgbWFpbiBmcmFtZSBj
aGFuZ2VkLgorICogIC0gImxvYWQsZG9jdW1lbnQsZmluaXNoZWQiLCB2b2lkOiBsb2FkaW5nIG9m
IGEgZG9jdW1lbnQgaGFzCisgKiAgICBmaW5pc2hlZCBvbiB0aGlzIGZyYW1lLgorICogIC0gImxv
YWQsbm9uZW1wdHlsYXlvdXQsZmluaXNoZWQiLCB2b2lkOiBmcmFtZSBmaW5pc2hlZCBmaXJzdAor
ICogICAgbm9uLWVtcHR5IGxheW91dC4KICAqICAtICJsb2FkLHN0YXJ0ZWQiLCB2b2lkOiBmcmFt
ZSBzdGFydGVkIGxvYWRpbmcuCiAgKiAgLSAibG9hZCxwcm9ncmVzcyIsIGRvdWJsZSo6IGxvYWQg
cHJvZ3Jlc3MgY2hhbmdlZCAob3ZlcmFsbCB2YWx1ZQogICogICAgZnJvbSAwLjAgdG8gMS4wLCBj
b25uZWN0IHRvIGluZGl2aWR1YWwgZnJhbWVzIGZvciBmaW5lIGdyYWluZWQpLgogICogIC0gImxv
YWQsZmluaXNoZWQiLCBjb25zdCBFd2tfRnJhbWVfTG9hZF9FcnJvcio6IHJlcG9ydHMgbG9hZAog
ICogICAgZmluaXNoZWQgYW5kIGFzIGFyZ3VtZW50IEBjIE5VTEwgaWYgc3VjY2Vzc2Z1bGx5IG9y
IHBvaW50ZXIgdG8KICAqICAgIHN0cnVjdHVyZSBkZWZpbmluZyB0aGUgZXJyb3IuCisgKiAgLSAi
bG9hZCxwcm92aXNpb25hbCIsIHZvaWQ6IGZyYW1lIHN0YXJ0ZWQgcHJvdmlzaW9uYWwgbG9hZC4K
KyAqICAtICJsb2FkLGZpcnN0bGF5b3V0LGZpbmlzaGVkIiwgdm9pZDogZnJhbWUgZmluaXNoZWQg
Zmlyc3QgbGF5b3V0LgogICogIC0gImxvYWQsZXJyb3IiLCBjb25zdCBFd2tfRnJhbWVfTG9hZF9F
cnJvcio6IHJlcG9ydHMgbG9hZCBmYWlsZWQKICAqICAgIGFuZCBhcyBhcmd1bWVudCBhIHBvaW50
ZXIgdG8gc3RydWN0dXJlIGRlZmluaW5nIHRoZSBlcnJvci4KICAqICAtICJjb250ZW50cyxzaXpl
LGNoYW5nZWQiLCBFdmFzX0Nvb3JkWzJdOiByZXBvcnRzIGNvbnRlbnRzIHNpemUKICAqICAgIGNo
YW5nZWQgZHVlIG5ldyBsYXlvdXQsIHNjcmlwdCBhY3Rpb25zIG9yIGFueSBvdGhlciBldmVudHMu
CisgKiAgLSAibmF2aWdhdGlvbixmaXJzdCIsIHZvaWQ6IGZpcnN0IG5hdmlnYXRpb24gb2NjdXJy
ZWQuCisgKiAgLSAicmVzb3VyY2UscmVxdWVzdCxuZXciLCBFd2tfRnJhbWVfUmVzb3VyY2VfUmVx
dWVzdCo6IHJlcG9ydHMgdGhhdAorICogICAgdGhlcmUncyBhIG5ldyByZXNvdXJjZSByZXF1ZXN0
LgorICogIC0gInJlc291cmNlLHJlcXVlc3Qsd2lsbHNlbmQiLCBFd2tfRnJhbWVfUmVzb3VyY2Vf
UmVxdWVzdCo6IGEgcmVzb3VyY2Ugd2lsbAorICogICAgYmUgcmVxdWVzdGVkLgorICogIC0gInN0
YXRlLHNhdmUiLCB2b2lkOiBmcmFtZSdzIHN0YXRlIHdpbGwgYmUgc2F2ZWQgYXMgYSBoaXN0b3J5
IGl0ZW0uCiAgKi8KIAogCkBAIC04Miw2ICs5NCwxOSBAQCBzdHJ1Y3QgX0V3a19GcmFtZV9Mb2Fk
X0Vycm9yIHsKIH07CiAKIC8qKgorICogU3RydWN0dXJlIHVzZWQgdG8gcmVwb3J0IHJlc291cmNl
IHJlcXVlc3RzCisgKgorICogRGV0YWlscyBnaXZlbiBiZWZvcmUgYSByZXNvdXJjZSBpcyBsb2Fk
ZWQgb24gYSBnaXZlbiBmcmFtZS4gSXQncyB1c2VkIGJ5CisgKiBld2tfZnJhbWVfcmVxdWVzdF93
aWxsX3NlbmQoKSB0byBpbmZvcm0gdGhlIGRldGFpbHMgb2YgYSB0by1iZS1sb2FkZWQKKyAqIHJl
c291cmNlLCBhbGxvd2luZyB0aGVtIHRvIGJlIG92ZXJyaWRkZW4uCisgKi8KK3R5cGVkZWYgc3Ry
dWN0IF9Fd2tfRnJhbWVfUmVzb3VyY2VfUmVxdWVzdCBFd2tfRnJhbWVfUmVzb3VyY2VfUmVxdWVz
dDsKK3N0cnVjdCBfRXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVlc3QgeworICAgIGNvbnN0IGNoYXIg
KnVybDsgLyoqPCB1cmwgb2YgdGhpcyByZXNvdXJjZSAqLworICAgIGNvbnN0IHVuc2lnbmVkIGxv
bmcgaWRlbnRpZmllcjsgLyoqPCByZXNvdXJjZSdzIGlkZW50aWZpZXIuIENhbiBub3QgYmUgY2hh
bmdlZCAqLworfTsKKworLyoqCiAgKiBTdHJ1Y3R1cmUgdXNlZCB0byByZXBvcnQgaGl0IHRlc3Qg
cmVzdWx0cy4KICAqLwogdHlwZWRlZiBzdHJ1Y3QgX0V3a19IaXRfVGVzdCBFd2tfSGl0X1Rlc3Q7
CmRpZmYgLS1naXQgYS9XZWJLaXQvZWZsL2V3ay9ld2tfcHJpdmF0ZS5oIGIvV2ViS2l0L2VmbC9l
d2svZXdrX3ByaXZhdGUuaAppbmRleCAzYWQ2NWZjMWEzZDZiM2RhZmY4ZGZhMzU3NDU1MTcwZmQw
MGU1M2IxLi44MTQ4MmFmYzFkODQ3NzY0MTQxN2FkZmJkYTY5MGU0OWYwNzcwOTc5IDEwMDY0NAot
LS0gYS9XZWJLaXQvZWZsL2V3ay9ld2tfcHJpdmF0ZS5oCisrKyBiL1dlYktpdC9lZmwvZXdrL2V3
a19wcml2YXRlLmgKQEAgLTUyLDEwICs1MiwxNSBAQCB2b2lkICAgICAgICAgICAgIGV3a192aWV3
X3JlYWR5KEV2YXNfT2JqZWN0ICpvKTsKIHZvaWQgICAgICAgICAgICAgZXdrX3ZpZXdfdGl0bGVf
c2V0KEV2YXNfT2JqZWN0ICpvLCBjb25zdCBjaGFyICp0aXRsZSk7CiB2b2lkICAgICAgICAgICAg
IGV3a192aWV3X3VyaV9jaGFuZ2VkKEV2YXNfT2JqZWN0ICpvKTsKIHZvaWQgICAgICAgICAgICAg
ZXdrX3ZpZXdfbG9hZF9zdGFydGVkKEV2YXNfT2JqZWN0ICpvKTsKK3ZvaWQgICAgICAgICAgICAg
ZXdrX3ZpZXdfbG9hZF9wcm92aXNpb25hbChFdmFzX09iamVjdCAqbyk7CiB2b2lkICAgICAgICAg
ICAgIGV3a192aWV3X2ZyYW1lX21haW5fbG9hZF9zdGFydGVkKEV2YXNfT2JqZWN0ICpvKTsKK3Zv
aWQgICAgICAgICAgICAgZXdrX3ZpZXdfZnJhbWVfbWFpbl9jbGVhcmVkKEV2YXNfT2JqZWN0ICpv
KTsKK3ZvaWQgICAgICAgICAgICAgZXdrX3ZpZXdfZnJhbWVfbWFpbl9pY29uX3JlY2VpdmVkKEV2
YXNfT2JqZWN0ICpvKTsKIHZvaWQgICAgICAgICAgICAgZXdrX3ZpZXdfbG9hZF9maW5pc2hlZChF
dmFzX09iamVjdCAqbywgY29uc3QgRXdrX0ZyYW1lX0xvYWRfRXJyb3IgKmVycm9yKTsKIHZvaWQg
ICAgICAgICAgICAgZXdrX3ZpZXdfbG9hZF9lcnJvcihFdmFzX09iamVjdCAqbywgY29uc3QgRXdr
X0ZyYW1lX0xvYWRfRXJyb3IgKmVycm9yKTsKIHZvaWQgICAgICAgICAgICAgZXdrX3ZpZXdfbG9h
ZF9wcm9ncmVzc19jaGFuZ2VkKEV2YXNfT2JqZWN0ICpvKTsKK3ZvaWQgICAgICAgICAgICAgZXdr
X3ZpZXdfbG9hZF9zaG93KEV2YXNfT2JqZWN0KiBvKTsKK3ZvaWQgICAgICAgICAgICAgZXdrX3Zp
ZXdfcmVzdG9yZV9zdGF0ZShFdmFzX09iamVjdCAqbywgRXZhc19PYmplY3QgKmZyYW1lKTsKIEV2
YXNfT2JqZWN0ICAgICAqZXdrX3ZpZXdfd2luZG93X2NyZWF0ZShFdmFzX09iamVjdCAqbywgRWlu
YV9Cb29sIGphdmFzY3JpcHQsIGNvbnN0IFdlYkNvcmU6OldpbmRvd0ZlYXR1cmVzKiBjb3JlRmVh
dHVyZXMpOwogCiB2b2lkICAgICAgICAgICAgIGV3a192aWV3X21vdXNlX2xpbmtfaG92ZXJfaW4o
RXZhc19PYmplY3QgKm8sIHZvaWQgKmRhdGEpOwpAQCAtMTEzLDEwICsxMTgsMjAgQEAgV2ViQ29y
ZTo6RnJhbWUgICAqZXdrX2ZyYW1lX2NvcmVfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvKTsKIHZv
aWQgICAgICAgICAgICAgIGV3a19mcmFtZV9jb3JlX2dvbmUoRXZhc19PYmplY3QgKm8pOwogCiB2
b2lkICAgICAgICAgICAgICBld2tfZnJhbWVfbG9hZF9zdGFydGVkKEV2YXNfT2JqZWN0ICpvKTsK
K3ZvaWQgICAgICAgICAgICAgIGV3a19mcmFtZV9sb2FkX3Byb3Zpc2lvbmFsKEV2YXNfT2JqZWN0
ICpvKTsKK3ZvaWQgICAgICAgICAgICAgIGV3a19mcmFtZV9sb2FkX2ZpcnN0bGF5b3V0X2Zpbmlz
aGVkKEV2YXNfT2JqZWN0ICpvKTsKK3ZvaWQgICAgICAgICAgICAgIGV3a19mcmFtZV9sb2FkX2Zp
cnN0bGF5b3V0X25vbmVtcHR5X2ZpbmlzaGVkKEV2YXNfT2JqZWN0ICpvKTsKK3ZvaWQgICAgICAg
ICAgICAgIGV3a19mcmFtZV9sb2FkX2RvY3VtZW50X2ZpbmlzaGVkKEV2YXNfT2JqZWN0ICpvKTsK
IHZvaWQgICAgICAgICAgICAgIGV3a19mcmFtZV9sb2FkX2ZpbmlzaGVkKEV2YXNfT2JqZWN0ICpv
LCBjb25zdCBjaGFyICplcnJvcl9kb21haW4sIGludCBlcnJvcl9jb2RlLCBFaW5hX0Jvb2wgaXNf
Y2FuY2VsbGF0aW9uLCBjb25zdCBjaGFyICplcnJvcl9kZXNjcmlwdGlvbiwgY29uc3QgY2hhciAq
ZmFpbGluZ191cmwpOwogdm9pZCAgICAgICAgICAgICAgZXdrX2ZyYW1lX2xvYWRfZXJyb3IoRXZh
c19PYmplY3QgKm8sIGNvbnN0IGNoYXIgKmVycm9yX2RvbWFpbiwgaW50IGVycm9yX2NvZGUsIEVp
bmFfQm9vbCBpc19jYW5jZWxsYXRpb24sIGNvbnN0IGNoYXIgKmVycm9yX2Rlc2NyaXB0aW9uLCBj
b25zdCBjaGFyICpmYWlsaW5nX3VybCk7CiB2b2lkICAgICAgICAgICAgICBld2tfZnJhbWVfbG9h
ZF9wcm9ncmVzc19jaGFuZ2VkKEV2YXNfT2JqZWN0ICpvKTsKIAordm9pZCAgICAgICAgICAgICAg
ZXdrX2ZyYW1lX3JlcXVlc3Rfd2lsbF9zZW5kKEV2YXNfT2JqZWN0ICpvLCBFd2tfRnJhbWVfUmVz
b3VyY2VfUmVxdWVzdCAqcmVxdWVzdCk7Cit2b2lkICAgICAgICAgICAgICBld2tfZnJhbWVfcmVx
dWVzdF9hc3NpZ25faWRlbnRpZmllcihFdmFzX09iamVjdCAqbywgY29uc3QgRXdrX0ZyYW1lX1Jl
c291cmNlX1JlcXVlc3QgKnJlcXVlc3QpOwordm9pZCAgICAgICAgICAgICAgZXdrX2ZyYW1lX3Zp
ZXdfc3RhdGVfc2F2ZShFdmFzX09iamVjdCAqbywgV2ViQ29yZTo6SGlzdG9yeUl0ZW0qIGl0ZW0p
OworCit2b2lkICAgICAgICAgICAgICBld2tfZnJhbWVfZGlkX3BlcmZvcm1fZmlyc3RfbmF2aWdh
dGlvbihFdmFzX09iamVjdCAqbyk7CisKIHZvaWQgICAgICAgICAgICAgIGV3a19mcmFtZV9jb250
ZW50c19zaXplX2NoYW5nZWQoRXZhc19PYmplY3QgKm8sIEV2YXNfQ29vcmQgdywgRXZhc19Db29y
ZCBoKTsKIHZvaWQgICAgICAgICAgICAgIGV3a19mcmFtZV90aXRsZV9zZXQoRXZhc19PYmplY3Qg
Km8sIGNvbnN0IGNoYXIgKnRpdGxlKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>59404</attachid>
            <date>2010-06-22 12:36:45 -0700</date>
            <delta_ts>2010-07-07 13:56:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-41005-20100622163731.patch</filename>
            <type>text/plain</type>
            <size>16556</size>
            <attacher name="Lucas De Marchi">lucas.de.marchi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9DaGFuZ2VMb2cgYi9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDll
YmRiNzgzZDRiZTM5NTRhMTEyZjEyZDE4NWQyN2RmYTRlNDQ3ZDMuLjM1YWFmOWUzYmU1NzM3NjVh
ZjI1YTNjNDAwYzkxNTNjMTk5MWI2ZmIgMTAwNjQ0Ci0tLSBhL1dlYktpdC9DaGFuZ2VMb2cKKysr
IGIvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDEwLTA2LTIyICBMdWNhcyBE
ZSBNYXJjaGkgIDxsdWNhcy5kZW1hcmNoaUBwcm9mdXNpb24ubW9iaT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbRUZMXSBJbXBsZW1lbnQgc2V2ZXJh
bCBub3RpZmljYXRpb24gaG9va3MgaW4gRnJhbWVMb2FkZXJDbGllbnQuCisgICAgICAgIFdlIGp1
c3Qgbm90aWZ5IGJyb3dzZXIsIG1ha2luZyB0aGUgYXBwcm9wcmlhdGUgdHlwZSBjb252ZXJzaW9u
cyBhYm91dAorICAgICAgICB0aGUgZXZlbnRzIG9jY3VycmluZyBpbiBXZWJDb3JlLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDEwMDUKKworICAgICAg
ICAqIGVmbC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0Y2hXaWxsU2VuZFJlcXVlc3Qp
OiBhbGxvYyAyIG5ldworICAgICAgICB3cmFwcGVyIHN0cnVjdHVyZXMgaW4gc3RhY2sgaW4gb3Jk
ZXIgdG8gZ2l2ZSBjbGllbnQgdGhlIG9wcG9ydHVuaXR5IHRvCisgICAgICAgIGNoYW5nZSBwYXJh
bWV0ZXJzLiBUaGVuLCBjYWxsIHRoZSBmdW5jdGlvbiBpdCBkZWZpbmVzLgorICAgICAgICAoV2Vi
Q29yZTo6RnJhbWVMb2FkZXJDbGllbnRFZmw6OmFzc2lnbklkZW50aWZpZXJUb0luaXRpYWxSZXF1
ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50RWZsOjpkaWRQZXJmb3Jt
Rmlyc3ROYXZpZ2F0aW9uKTogbm90aWZ5CisgICAgICAgIGNsaWVudC4KKyAgICAgICAgKFdlYkNv
cmU6OkZyYW1lTG9hZGVyQ2xpZW50RWZsOjpzYXZlVmlld1N0YXRlVG9JdGVtKTogbm90aWZ5IGNs
aWVudC4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50RWZsOjpyZXN0b3JlVmll
d1N0YXRlKTogbm90aWZ5IGNsaWVudC4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xp
ZW50RWZsOjpkaXNwYXRjaERpZENoYW5nZUxvY2F0aW9uV2l0aGluUGFnZSk6CisgICAgICAgIG5v
dGlmeSBicm93c2VyIHRoYXQgdGhlIHVybCBjaGFuZ2VkLgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWVMb2FkZXJDbGllbnRFZmw6OmRpc3BhdGNoRGlkUmVjZWl2ZUljb24pOiBub3RpZnkKKyAgICAg
ICAgYnJvd3Nlci4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50RWZsOjpkaXNw
YXRjaERpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkKToKKyAgICAgICAgbm90aWZ5IGJyb3dzZXIuCisg
ICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0Y2hEaWRGaW5pc2hE
b2N1bWVudExvYWQpOiBub3RpZnkKKyAgICAgICAgYnJvd3Nlci4KKyAgICAgICAgKFdlYkNvcmU6
OkZyYW1lTG9hZGVyQ2xpZW50RWZsOjpkaXNwYXRjaERpZEZpcnN0TGF5b3V0KTogbm9yaWZ5Cisg
ICAgICAgIGJyb3dzZXIuCisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudEVmbDo6
ZGlzcGF0Y2hEaWRGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXQpOgorICAgICAgICBub3RpZnkg
YnJvd3Nlci4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50RWZsOjpkaXNwYXRj
aFNob3cpOiBub3RpZnkgYnJvd3Nlci4KKyAgICAgICAgKiBlZmwvZXdrL2V3a19mcmFtZS5jcHA6
CisgICAgICAgIChld2tfZnJhbWVfcmVxdWVzdF93aWxsX3NlbmQpOiBlbWl0IHNpZ25hbCBub3Rp
ZnlpbmcgYnJvd3Nlci4KKyAgICAgICAgKGV3a19mcmFtZV9yZXF1ZXN0X2Fzc2lnbl9pZGVudGlm
aWVyKTogZW1pdCBzaWduYWwgbm90aWZ5aW5nIGJyb3dzZXIuCisgICAgICAgIChld2tfZnJhbWVf
ZGlkX3BlcmZvcm1fZmlyc3RfbmF2aWdhdGlvbik6IGVtaXQgc2lnbmFsIG5vdGlmeWluZyBicm93
c2VyLgorICAgICAgICAoZXdrX2ZyYW1lX3ZpZXdfc3RhdGVfc2F2ZSk6IGVtaXQgc2lnbmFsIG5v
dGlmeWluZyBicm93c2VyLgorICAgICAgICAoZXdrX2ZyYW1lX2xvYWRfcHJvdmlzaW9uYWwpOiBl
bWl0IHNpZ25hbCBub3RpZnlpbmcgYnJvd3Nlci4KKyAgICAgICAgKGV3a19mcmFtZV9sb2FkX2Zp
cnN0bGF5b3V0X2ZpbmlzaGVkKTogZW1pdCBzaWduYWwgbm90aWZ5aW5nIGJyb3dzZXIuCisgICAg
ICAgIChld2tfZnJhbWVfbG9hZF9maXJzdGxheW91dF9ub25lbXB0eV9maW5pc2hlZCk6IGVtaXQg
c2lnbmFsIG5vdGlmeWluZyBicm93c2VyLgorICAgICAgICAoZXdrX2ZyYW1lX2xvYWRfZG9jdW1l
bnRfZmluaXNoZWQpOiBlbWl0IHNpZ25hbCBub3RpZnlpbmcgYnJvd3Nlci4KKyAgICAgICAgKiBl
ZmwvZXdrL2V3a19mcmFtZS5oOiB1cGRhdGUgZG9jdW1lbnRhdGlvbiBhYm91dCBzaWduYWxzIGJl
aW5nIHNlbnQKKyAgICAgICAgYW5kIGltcGxlbWVudCB3cmFwcGVyIHN0cnVjdCBmb3IgUmVzb3Vy
Y2VSZXF1ZXN0LgorICAgICAgICAqIGVmbC9ld2svZXdrX3ByaXZhdGUuaDogZXhwb3J0IHByaXZh
dGUgZnVuY3Rpb25zLgorCiAyMDEwLTA2LTE4ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBh
cHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KZGlmZiAtLWdpdCBh
L1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwuY3BwIGIvV2Vi
S2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5jcHAKaW5kZXggYWYx
YWJlYjZiN2NkMzVlZjJiMmQ0NmIwMzU4ZmQ4OWJmZGE4NzFmYS4uYWIyN2U0YWRmN2U4NGNjOTM4
Yzk0YjIzMWRlNzEwMWNjNWU3Njk0YSAxMDA2NDQKLS0tIGEvV2ViS2l0L2VmbC9XZWJDb3JlU3Vw
cG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5jcHAKKysrIGIvV2ViS2l0L2VmbC9XZWJDb3JlU3Vw
cG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5jcHAKQEAgLTI0OSw5ICsyNDksMjUgQEAgdm9pZCBG
cmFtZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0Y2hEaWRDYW5jZWxBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZShEb2N1bWVudExvYWQKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCi12b2lkIEZyYW1l
TG9hZGVyQ2xpZW50RWZsOjpkaXNwYXRjaFdpbGxTZW5kUmVxdWVzdChEb2N1bWVudExvYWRlcios
IHVuc2lnbmVkIGxvbmcsIFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2Um
KQordm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0Y2hXaWxsU2VuZFJlcXVlc3QoRG9j
dW1lbnRMb2FkZXIqIGxvYWRlciwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBSZXNvdXJjZVJl
cXVlc3QmIGNvcmVSZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBjb3JlUmVzcG9uc2Up
CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBDU3RyaW5nIHVybCA9IGNvcmVSZXF1ZXN0
LnVybCgpLnByZXR0eVVSTCgpLnV0ZjgoKTsKKyAgICBEQkcoIlJlc291cmNlIHVybD0lcyIsIHVy
bC5kYXRhKCkpOworCisgICAgRXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVlc3QgcmVxdWVzdCA9IHsg
MCwgaWRlbnRpZmllciB9OworICAgIEV3a19GcmFtZV9SZXNvdXJjZV9SZXF1ZXN0IG9yaWcgPSBy
ZXF1ZXN0OyAvKiBJbml0aWFsaXplIGNvbnN0IGZpZWxkcy4gKi8KKworICAgIG9yaWcudXJsID0g
cmVxdWVzdC51cmwgPSB1cmwuZGF0YSgpOworCisgICAgZXdrX2ZyYW1lX3JlcXVlc3Rfd2lsbF9z
ZW5kKG1fZnJhbWUsICZyZXF1ZXN0KTsKKworICAgIGlmIChyZXF1ZXN0LnVybCAhPSBvcmlnLnVy
bCkgeworICAgICAgICBjb3JlUmVxdWVzdC5zZXRVUkwoS1VSTChLVVJMKCksIHJlcXVlc3QudXJs
KSk7CisKKyAgICAgICAgLy8gQ2FsbGluZyBjbGllbnQgbWlnaHQgaGF2ZSBjaGFuZ2VkIG91ciB1
cmwgcG9pbnRlci4KKyAgICAgICAgLy8gRnJlZSB0aGUgbmV3IGFsbG9jYXRlZCBzdHJpbmcuCisg
ICAgICAgIGZyZWUoY29uc3RfY2FzdDxjaGFyKj4ocmVxdWVzdC51cmwpKTsKKyAgICB9CiB9CiAK
IGJvb2wgRnJhbWVMb2FkZXJDbGllbnRFZmw6OnNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlKERv
Y3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9uZykKQEAgLTI2MCw5ICsyNzYsMTMgQEAgYm9vbCBG
cmFtZUxvYWRlckNsaWVudEVmbDo6c2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2UoRG9jdW1lbnRM
b2FkZXIqLCB1bnNpZ25lZAogICAgIHJldHVybiBmYWxzZTsKIH0KIAotdm9pZCBGcmFtZUxvYWRl
ckNsaWVudEVmbDo6YXNzaWduSWRlbnRpZmllclRvSW5pdGlhbFJlcXVlc3QodW5zaWduZWQgbG9u
ZyBpZGVudGlmaWVyLCBEb2N1bWVudExvYWRlciosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYpCit2
b2lkIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjphc3NpZ25JZGVudGlmaWVyVG9Jbml0aWFsUmVxdWVz
dCh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIERvY3VtZW50TG9hZGVyKiwgY29uc3QgUmVzb3Vy
Y2VSZXF1ZXN0JiBjb3JlUmVxdWVzdCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIENT
dHJpbmcgdXJsID0gY29yZVJlcXVlc3QudXJsKCkucHJldHR5VVJMKCkudXRmOCgpOworICAgIERC
RygiUmVzb3VyY2UgdXJsPSVzIiwgdXJsLmRhdGEoKSk7CisKKyAgICBFd2tfRnJhbWVfUmVzb3Vy
Y2VfUmVxdWVzdCByZXF1ZXN0ID0geyAwLCBpZGVudGlmaWVyIH07CisgICAgZXdrX2ZyYW1lX3Jl
cXVlc3RfYXNzaWduX2lkZW50aWZpZXIobV9mcmFtZSwgJnJlcXVlc3QpOwogfQogCiB2b2lkIEZy
YW1lTG9hZGVyQ2xpZW50RWZsOjpwb3N0UHJvZ3Jlc3NTdGFydGVkTm90aWZpY2F0aW9uKCkKQEAg
LTQyMSw3ICs0NDEsNyBAQCB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjpkb2N1bWVudEVsZW1l
bnRBdmFpbGFibGUoKQogCiB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjpkaWRQZXJmb3JtRmly
c3ROYXZpZ2F0aW9uKCkgY29uc3QKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIGV3a19m
cmFtZV9kaWRfcGVyZm9ybV9maXJzdF9uYXZpZ2F0aW9uKG1fZnJhbWUpOwogfQogCiB2b2lkIEZy
YW1lTG9hZGVyQ2xpZW50RWZsOjpyZWdpc3RlckZvckljb25Ob3RpZmljYXRpb24oYm9vbCkKQEAg
LTQ1NiwxNCArNDc2LDE3IEBAIHZvaWQgRnJhbWVMb2FkZXJDbGllbnRFZmw6OmZyYW1lTG9hZENv
bXBsZXRlZCgpCiAgICAgLy8gTm90ZTogQ2FuIGJlIGNhbGxlZCBtdWx0aXBsZSB0aW1lcy4KIH0K
IAotdm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6c2F2ZVZpZXdTdGF0ZVRvSXRlbShIaXN0b3J5
SXRlbSopCit2b2lkIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjpzYXZlVmlld1N0YXRlVG9JdGVtKEhp
c3RvcnlJdGVtKiBpdGVtKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgZXdrX2ZyYW1l
X3ZpZXdfc3RhdGVfc2F2ZShtX2ZyYW1lLCBpdGVtKTsKIH0KIAogdm9pZCBGcmFtZUxvYWRlckNs
aWVudEVmbDo6cmVzdG9yZVZpZXdTdGF0ZSgpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAg
ICBBU1NFUlQobV9mcmFtZSk7CisgICAgQVNTRVJUKG1fdmlldyk7CisKKyAgICBld2tfdmlld19y
ZXN0b3JlX3N0YXRlKG1fdmlldywgbV9mcmFtZSk7CiB9CiAKIHZvaWQgRnJhbWVMb2FkZXJDbGll
bnRFZmw6OnVwZGF0ZUdsb2JhbEhpc3RvcnlSZWRpcmVjdExpbmtzKCkKQEAgLTU0Miw3ICs1NjUs
MTEgQEAgdm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0Y2hXaWxsUGVyZm9ybUNsaWVu
dFJlZGlyZWN0KGNvbnN0IEtVUkwmLCBkb3VibGUKIAogdm9pZCBGcmFtZUxvYWRlckNsaWVudEVm
bDo6ZGlzcGF0Y2hEaWRDaGFuZ2VMb2NhdGlvbldpdGhpblBhZ2UoKQogewotICAgIG5vdEltcGxl
bWVudGVkKCk7CisgICAgZXdrX2ZyYW1lX3VyaV9jaGFuZ2VkKG1fZnJhbWUpOworCisgICAgaWYg
KGV3a192aWV3X2ZyYW1lX21haW5fZ2V0KG1fdmlldykgIT0gbV9mcmFtZSkKKyAgICAgICAgcmV0
dXJuOworICAgIGV3a192aWV3X3VyaV9jaGFuZ2VkKG1fdmlldyk7CiB9CiAKIHZvaWQgRnJhbWVM
b2FkZXJDbGllbnRFZmw6OmRpc3BhdGNoV2lsbENsb3NlKCkKQEAgLTU1MiwxMCArNTc5LDE4IEBA
IHZvaWQgRnJhbWVMb2FkZXJDbGllbnRFZmw6OmRpc3BhdGNoV2lsbENsb3NlKCkKIAogdm9pZCBG
cmFtZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0Y2hEaWRSZWNlaXZlSWNvbigpCiB7CisgICAgLyog
cmVwb3J0IHJlY2VpdmVkIGZhdmljb24gb25seSBmb3IgbWFpbiBmcmFtZS4gKi8KKyAgICBpZiAo
ZXdrX3ZpZXdfZnJhbWVfbWFpbl9nZXQobV92aWV3KSAhPSBtX2ZyYW1lKQorICAgICAgICByZXR1
cm47CisKKyAgICBld2tfdmlld19mcmFtZV9tYWluX2ljb25fcmVjZWl2ZWQobV92aWV3KTsKIH0K
IAogdm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0Y2hEaWRTdGFydFByb3Zpc2lvbmFs
TG9hZCgpCiB7CisgICAgZXdrX2ZyYW1lX2xvYWRfcHJvdmlzaW9uYWwobV9mcmFtZSk7CisgICAg
aWYgKGV3a192aWV3X2ZyYW1lX21haW5fZ2V0KG1fdmlldykgPT0gbV9mcmFtZSkKKyAgICAgICAg
ZXdrX3ZpZXdfbG9hZF9wcm92aXNpb25hbChtX3ZpZXcpOwogfQogCiB2b2lkIEZyYW1lTG9hZGVy
Q2xpZW50RWZsOjpkaXNwYXRjaERpZFJlY2VpdmVUaXRsZShjb25zdCBTdHJpbmcmIHRpdGxlKQpA
QCAtNTg0LDIzICs2MTksMjIgQEAgdm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0Y2hE
aWRDb21taXRMb2FkKCkKIAogdm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0Y2hEaWRG
aW5pc2hEb2N1bWVudExvYWQoKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgZXdrX2Zy
YW1lX2xvYWRfZG9jdW1lbnRfZmluaXNoZWQobV9mcmFtZSk7CiB9CiAKIHZvaWQgRnJhbWVMb2Fk
ZXJDbGllbnRFZmw6OmRpc3BhdGNoRGlkRmlyc3RMYXlvdXQoKQogewotICAgIC8vIGVtaXQgbV9m
cmFtZS0+aW5pdGlhbExheW91dENvbXBsZXRlZCgpOwotICAgIG5vdEltcGxlbWVudGVkKCk7Cisg
ICAgZXdrX2ZyYW1lX2xvYWRfZmlyc3RsYXlvdXRfZmluaXNoZWQobV9mcmFtZSk7CiB9CiAKIHZv
aWQgRnJhbWVMb2FkZXJDbGllbnRFZmw6OmRpc3BhdGNoRGlkRmlyc3RWaXN1YWxseU5vbkVtcHR5
TGF5b3V0KCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIGV3a19mcmFtZV9sb2FkX2Zp
cnN0bGF5b3V0X25vbmVtcHR5X2ZpbmlzaGVkKG1fZnJhbWUpOwogfQogCiB2b2lkIEZyYW1lTG9h
ZGVyQ2xpZW50RWZsOjpkaXNwYXRjaFNob3coKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7Cisg
ICAgZXdrX3ZpZXdfbG9hZF9zaG93KG1fdmlldyk7CiB9CiAKIHZvaWQgRnJhbWVMb2FkZXJDbGll
bnRFZmw6OmNhbmNlbFBvbGljeUNoZWNrKCkKZGlmZiAtLWdpdCBhL1dlYktpdC9lZmwvZXdrL2V3
a19mcmFtZS5jcHAgYi9XZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUuY3BwCmluZGV4IDZjYmNlZmVh
ODQyMDM2MTM1YzhhZDA0YTEyZjQ4MDg1NjBkN2UwOTYuLjlhZDM1NTJhNmU5MTU0MWQyNjM1YTQw
MGMyNDhhODNlOTI5YWM2ZjIgMTAwNjQ0Ci0tLSBhL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5j
cHAKKysrIGIvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmNwcApAQCAtMzEsNiArMzEsNyBAQAog
I2luY2x1ZGUgIkZyYW1lVHJlZS5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgogI2luY2x1ZGUg
IkhUTUxQbHVnSW5FbGVtZW50LmgiCisjaW5jbHVkZSAiSGlzdG9yeUl0ZW0uaCIKICNpbmNsdWRl
ICJIaXRUZXN0UmVzdWx0LmgiCiAjaW5jbHVkZSAiS1VSTC5oIgogI2luY2x1ZGUgIlBsYXRmb3Jt
S2V5Ym9hcmRFdmVudC5oIgpAQCAtMTY0Miw2ICsxNjQzLDcwIEBAIFdlYkNvcmU6OkZyYW1lKiBl
d2tfZnJhbWVfY29yZV9nZXQoY29uc3QgRXZhc19PYmplY3QqIG8pCiAKIC8qKgogICogQGludGVy
bmFsCisgKiBSZXBvcnRzIGEgcmVzb3VyY2Ugd2lsbCBiZSByZXF1ZXN0ZWQuIFVzZXIgbWF5IG92
ZXJyaWRlIGJlaGF2aW9yIG9mIHdlYmtpdCBieQorICogY2hhbmdpbmcgdmFsdWVzIGluIEBwYXJh
bSByZXF1ZXN0LgorICoKKyAqIEBwYXJhbSBvIEZyYW1lLgorICogQHBhcmFtIHJlcXVlc3QgUmVx
dWVzdCBkZXRhaWxzIHRoYXQgdXNlciBtYXkgb3ZlcnJpZGUuIFdoZW5ldmVyIHZhbHVlcyBvbgor
ICogdGhpcyBzdHJ1Y3QgY2hhbmdlcywgaXQgbXVzdCBiZSBwcm9wZXJseSBtYWxsb2MnZCBhcyBp
dCB3aWxsIGJlIGZyZWVkCisgKiBhZnRlcndhcmRzLgorICoKKyAqIEVtaXRzIHNpZ25hbDogInJl
c291cmNlLHJlcXVlc3Qsd2lsbHNlbmQiCisgKi8KK3ZvaWQgZXdrX2ZyYW1lX3JlcXVlc3Rfd2ls
bF9zZW5kKEV2YXNfT2JqZWN0ICpvLCBFd2tfRnJhbWVfUmVzb3VyY2VfUmVxdWVzdCAqcmVxdWVz
dCkKK3sKKyAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19jYWxsKG8sICJyZXNvdXJjZSxy
ZXF1ZXN0LHdpbGxzZW5kIiwgcmVxdWVzdCk7Cit9CisKKy8qKgorICogQGludGVybmFsCisgKiBS
ZXBvcnRzIHRoYXQgdGhlcmUncyBhIG5ldyByZXNvdXJjZS4KKyAqCisgKiBAcGFyYW0gbyBGcmFt
ZS4KKyAqIEBwYXJhbSByZXF1ZXN0IE5ldyByZXF1ZXN0IGRldGFpbHMuIE5vIGNoYW5nZXMgYXJl
IGFsbG93ZWQgdG8gZmllbGRzLgorICoKKyAqIEVtaXRzIHNpZ25hbDogInJlc291cmNlLHJlcXVl
c3QsbmV3IgorICovCit2b2lkIGV3a19mcmFtZV9yZXF1ZXN0X2Fzc2lnbl9pZGVudGlmaWVyKEV2
YXNfT2JqZWN0ICpvLCBjb25zdCBFd2tfRnJhbWVfUmVzb3VyY2VfUmVxdWVzdCAqcmVxdWVzdCkK
K3sKKyAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19jYWxsKG8sICJyZXNvdXJjZSxyZXF1
ZXN0LG5ldyIsICh2b2lkICopcmVxdWVzdCk7Cit9CisKKy8qKgorICogQGludGVybmFsCisgKiBS
ZXBvcnRzIHRoYXQgZmlyc3QgbmF2aWdhdGlvbiBvY2N1cnJlZAorICoKKyAqIEBwYXJhbSBvIEZy
YW1lLgorICoKKyAqIEVtaXRzIHNpZ25hbDogIm5hdmlnYXRpb24sZmlyc3QiCisgKi8KK3ZvaWQg
ZXdrX2ZyYW1lX2RpZF9wZXJmb3JtX2ZpcnN0X25hdmlnYXRpb24oRXZhc19PYmplY3QgKm8pCit7
CisgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfY2FsbChvLCAibmF2aWdhdGlvbixmaXJz
dCIsIDApOworfQorCisvKioKKyAqIEBpbnRlcm5hbAorICogUmVwb3J0cyBmcmFtZSB3aWxsIGJl
IHNhdmVkIHRvIGN1cnJlbnQgc3RhdGUKKyAqCisgKiBAcGFyYW0gbyBGcmFtZS4KKyAqIEBwYXJh
bSBpdGVtIEhpc3RvcnkgaXRlbSB0byBzYXZlIGRldGFpbHMgdG8uCisgKgorICogRW1pdHMgc2ln
bmFsOiAic3RhdGUsc2F2ZSIKKyAqLwordm9pZCBld2tfZnJhbWVfdmlld19zdGF0ZV9zYXZlKEV2
YXNfT2JqZWN0ICpvLCBXZWJDb3JlOjpIaXN0b3J5SXRlbSogaXRlbSkKK3sKKyAgICBjb25zdCBj
aGFyICp0aXRsZSA9IGV3a19mcmFtZV90aXRsZV9nZXQobyk7CisgICAgY29uc3QgY2hhciAqdXJp
ID0gZXdrX2ZyYW1lX3VyaV9nZXQobyk7CisKKyAgICBpdGVtLT5zZXRUaXRsZShXZWJDb3JlOjpT
dHJpbmc6OmZyb21VVEY4KHRpdGxlKSk7CisgICAgaXRlbS0+c2V0VVJMU3RyaW5nKFdlYkNvcmU6
OlN0cmluZzo6ZnJvbVVURjgodXJpKSk7CisKKyAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFj
a19jYWxsKG8sICJzdGF0ZSxzYXZlIiwgMCk7Cit9CisKKy8qKgorICogQGludGVybmFsCiAgKiBS
ZXBvcnRzIHRoZSBmcmFtZSBzdGFydGVkIGxvYWRpbmcgc29tZXRoaW5nLgogICoKICAqIEVtaXRz
IHNpZ25hbDogImxvYWQsc3RhcnRlZCIgd2l0aCBubyBwYXJhbWV0ZXJzLgpAQCAtMTY2MSw2ICsx
NzI2LDU4IEBAIHZvaWQgZXdrX2ZyYW1lX2xvYWRfc3RhcnRlZChFdmFzX09iamVjdCogbykKIAog
LyoqCiAgKiBAaW50ZXJuYWwKKyAqIFJlcG9ydHMgdGhlIGZyYW1lIHN0YXJ0ZWQgcHJvdmlzaW9u
YWwgbG9hZC4KKyAqCisgKiBAcGFyYW0gbyBGcmFtZS4KKyAqCisgKiBFbWl0cyBzaWduYWw6ICJs
b2FkLHByb3Zpc2lvbmFsIiB3aXRoIG5vIHBhcmFtZXRlcnMuCisgKi8KK3ZvaWQgZXdrX2ZyYW1l
X2xvYWRfcHJvdmlzaW9uYWwoRXZhc19PYmplY3QqIG8pCit7CisgICAgZXZhc19vYmplY3Rfc21h
cnRfY2FsbGJhY2tfY2FsbChvLCAibG9hZCxwcm92aXNpb25hbCIsIDApOworfQorCisvKioKKyAq
IEBpbnRlcm5hbAorICogUmVwb3J0cyB0aGUgZnJhbWUgZmluaXNoZWQgZmlyc3QgbGF5b3V0Lgor
ICoKKyAqIEBwYXJhbSBvIEZyYW1lLgorICoKKyAqIEVtaXRzIHNpZ25hbDogImxvYWQsZmlyc3Rs
YXlvdXQsZmluaXNoZWQiIHdpdGggbm8gcGFyYW1ldGVycy4KKyAqLwordm9pZCBld2tfZnJhbWVf
bG9hZF9maXJzdGxheW91dF9maW5pc2hlZChFdmFzX09iamVjdCAqbykKK3sKKyAgICBldmFzX29i
amVjdF9zbWFydF9jYWxsYmFja19jYWxsKG8sICJsb2FkLGZpcnN0bGF5b3V0LGZpbmlzaGVkIiwg
MCk7Cit9CisKKy8qKgorICogQGludGVybmFsCisgKiBSZXBvcnRzIHRoZSBmcmFtZSBmaW5pc2hl
ZCBmaXJzdCBub24gZW1wdHkgbGF5b3V0LgorICoKKyAqIEBwYXJhbSBvIEZyYW1lLgorICoKKyAq
IEVtaXRzIHNpZ25hbDogImxvYWQsbm9uZW1wdHlsYXlvdXQsZmluaXNoZWQiIHdpdGggbm8gcGFy
YW1ldGVycy4KKyAqLwordm9pZCBld2tfZnJhbWVfbG9hZF9maXJzdGxheW91dF9ub25lbXB0eV9m
aW5pc2hlZChFdmFzX09iamVjdCAqbykKK3sKKyAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFj
a19jYWxsKG8sICJsb2FkLG5vbmVtcHR5bGF5b3V0LGZpbmlzaGVkIiwgMCk7Cit9CisKKy8qKgor
ICogQGludGVybmFsCisgKiBSZXBvcnRzIHRoZSBsb2FkaW5nIG9mIGEgZG9jdW1lbnQgaGFzIGZp
bmlzaGVkIG9uIGZyYW1lLgorICoKKyAqIEBwYXJhbSBvIEZyYW1lLgorICoKKyAqIEVtaXRzIHNp
Z25hbDogImxvYWQsZG9jdW1lbnQsZmluaXNoZWQiIHdpdGggbm8gcGFyYW1ldGVycy4KKyAqLwor
dm9pZCBld2tfZnJhbWVfbG9hZF9kb2N1bWVudF9maW5pc2hlZChFdmFzX09iamVjdCAqbykKK3sK
KyAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19jYWxsKG8sICJsb2FkLGRvY3VtZW50LGZp
bmlzaGVkIiwgMCk7Cit9CisKKy8qKgorICogQGludGVybmFsCiAgKiBSZXBvcnRzIGxvYWQgZmlu
aXNoZWQsIG9wdGlvbmFsbHkgd2l0aCBlcnJvciBpbmZvcm1hdGlvbi4KICAqCiAgKiBFbWl0cyBz
aWduYWw6ICJsb2FkLGZpbmlzaGVkIiB3aXRoIHBvaW50ZXIgdG8gRXdrX0ZyYW1lX0xvYWRfRXJy
b3IKZGlmZiAtLWdpdCBhL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5oIGIvV2ViS2l0L2VmbC9l
d2svZXdrX2ZyYW1lLmgKaW5kZXggYzcxMjY5YmYxNDcwOTg5MjJkMmI1MzIwM2Q1YWQ5NDJlZjkz
NGJiNy4uMWE5ZmU4MTk1ODE0YWZiNTVjOTBiYTk3MWFlZjAyNWVhNDI3MmYzYyAxMDA2NDQKLS0t
IGEvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmgKKysrIGIvV2ViS2l0L2VmbC9ld2svZXdrX2Zy
YW1lLmgKQEAgLTQ4LDE2ICs0OCwyOCBAQCBleHRlcm4gIkMiIHsKICAqCiAgKiAgLSAidGl0bGUs
Y2hhbmdlZCIsIGNvbnN0IGNoYXIqOiB0aXRsZSBvZiB0aGUgbWFpbiBmcmFtZSBjaGFuZ2VkLgog
ICogIC0gInVyaSxjaGFuZ2VkIiwgY29uc3QgY2hhcio6IHVyaSBvZiB0aGUgbWFpbiBmcmFtZSBj
aGFuZ2VkLgorICogIC0gImxvYWQsZG9jdW1lbnQsZmluaXNoZWQiLCB2b2lkOiBsb2FkaW5nIG9m
IGEgZG9jdW1lbnQgaGFzCisgKiAgICBmaW5pc2hlZCBvbiB0aGlzIGZyYW1lLgorICogIC0gImxv
YWQsbm9uZW1wdHlsYXlvdXQsZmluaXNoZWQiLCB2b2lkOiBmcmFtZSBmaW5pc2hlZCBmaXJzdAor
ICogICAgbm9uLWVtcHR5IGxheW91dC4KICAqICAtICJsb2FkLHN0YXJ0ZWQiLCB2b2lkOiBmcmFt
ZSBzdGFydGVkIGxvYWRpbmcuCiAgKiAgLSAibG9hZCxwcm9ncmVzcyIsIGRvdWJsZSo6IGxvYWQg
cHJvZ3Jlc3MgY2hhbmdlZCAob3ZlcmFsbCB2YWx1ZQogICogICAgZnJvbSAwLjAgdG8gMS4wLCBj
b25uZWN0IHRvIGluZGl2aWR1YWwgZnJhbWVzIGZvciBmaW5lIGdyYWluZWQpLgogICogIC0gImxv
YWQsZmluaXNoZWQiLCBjb25zdCBFd2tfRnJhbWVfTG9hZF9FcnJvcio6IHJlcG9ydHMgbG9hZAog
ICogICAgZmluaXNoZWQgYW5kIGFzIGFyZ3VtZW50IEBjIE5VTEwgaWYgc3VjY2Vzc2Z1bGx5IG9y
IHBvaW50ZXIgdG8KICAqICAgIHN0cnVjdHVyZSBkZWZpbmluZyB0aGUgZXJyb3IuCisgKiAgLSAi
bG9hZCxwcm92aXNpb25hbCIsIHZvaWQ6IGZyYW1lIHN0YXJ0ZWQgcHJvdmlzaW9uYWwgbG9hZC4K
KyAqICAtICJsb2FkLGZpcnN0bGF5b3V0LGZpbmlzaGVkIiwgdm9pZDogZnJhbWUgZmluaXNoZWQg
Zmlyc3QgbGF5b3V0LgogICogIC0gImxvYWQsZXJyb3IiLCBjb25zdCBFd2tfRnJhbWVfTG9hZF9F
cnJvcio6IHJlcG9ydHMgbG9hZCBmYWlsZWQKICAqICAgIGFuZCBhcyBhcmd1bWVudCBhIHBvaW50
ZXIgdG8gc3RydWN0dXJlIGRlZmluaW5nIHRoZSBlcnJvci4KICAqICAtICJjb250ZW50cyxzaXpl
LGNoYW5nZWQiLCBFdmFzX0Nvb3JkWzJdOiByZXBvcnRzIGNvbnRlbnRzIHNpemUKICAqICAgIGNo
YW5nZWQgZHVlIG5ldyBsYXlvdXQsIHNjcmlwdCBhY3Rpb25zIG9yIGFueSBvdGhlciBldmVudHMu
CisgKiAgLSAibmF2aWdhdGlvbixmaXJzdCIsIHZvaWQ6IGZpcnN0IG5hdmlnYXRpb24gb2NjdXJy
ZWQuCisgKiAgLSAicmVzb3VyY2UscmVxdWVzdCxuZXciLCBFd2tfRnJhbWVfUmVzb3VyY2VfUmVx
dWVzdCo6IHJlcG9ydHMgdGhhdAorICogICAgdGhlcmUncyBhIG5ldyByZXNvdXJjZSByZXF1ZXN0
LgorICogIC0gInJlc291cmNlLHJlcXVlc3Qsd2lsbHNlbmQiLCBFd2tfRnJhbWVfUmVzb3VyY2Vf
UmVxdWVzdCo6IGEgcmVzb3VyY2Ugd2lsbAorICogICAgYmUgcmVxdWVzdGVkLgorICogIC0gInN0
YXRlLHNhdmUiLCB2b2lkOiBmcmFtZSdzIHN0YXRlIHdpbGwgYmUgc2F2ZWQgYXMgYSBoaXN0b3J5
IGl0ZW0uCiAgKi8KIAogCkBAIC04Miw2ICs5NCwxOSBAQCBzdHJ1Y3QgX0V3a19GcmFtZV9Mb2Fk
X0Vycm9yIHsKIH07CiAKIC8qKgorICogU3RydWN0dXJlIHVzZWQgdG8gcmVwb3J0IHJlc291cmNl
IHJlcXVlc3RzCisgKgorICogRGV0YWlscyBnaXZlbiBiZWZvcmUgYSByZXNvdXJjZSBpcyBsb2Fk
ZWQgb24gYSBnaXZlbiBmcmFtZS4gSXQncyB1c2VkIGJ5CisgKiBld2tfZnJhbWVfcmVxdWVzdF93
aWxsX3NlbmQoKSB0byBpbmZvcm0gdGhlIGRldGFpbHMgb2YgYSB0by1iZS1sb2FkZWQKKyAqIHJl
c291cmNlLCBhbGxvd2luZyB0aGVtIHRvIGJlIG92ZXJyaWRkZW4uCisgKi8KK3R5cGVkZWYgc3Ry
dWN0IF9Fd2tfRnJhbWVfUmVzb3VyY2VfUmVxdWVzdCBFd2tfRnJhbWVfUmVzb3VyY2VfUmVxdWVz
dDsKK3N0cnVjdCBfRXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVlc3QgeworICAgIGNvbnN0IGNoYXIg
KnVybDsgLyoqPCB1cmwgb2YgdGhpcyByZXNvdXJjZSAqLworICAgIGNvbnN0IHVuc2lnbmVkIGxv
bmcgaWRlbnRpZmllcjsgLyoqPCByZXNvdXJjZSdzIGlkZW50aWZpZXIuIENhbiBub3QgYmUgY2hh
bmdlZCAqLworfTsKKworLyoqCiAgKiBTdHJ1Y3R1cmUgdXNlZCB0byByZXBvcnQgaGl0IHRlc3Qg
cmVzdWx0cy4KICAqLwogdHlwZWRlZiBzdHJ1Y3QgX0V3a19IaXRfVGVzdCBFd2tfSGl0X1Rlc3Q7
CmRpZmYgLS1naXQgYS9XZWJLaXQvZWZsL2V3ay9ld2tfcHJpdmF0ZS5oIGIvV2ViS2l0L2VmbC9l
d2svZXdrX3ByaXZhdGUuaAppbmRleCAzYWQ2NWZjMWEzZDZiM2RhZmY4ZGZhMzU3NDU1MTcwZmQw
MGU1M2IxLi44MTQ4MmFmYzFkODQ3NzY0MTQxN2FkZmJkYTY5MGU0OWYwNzcwOTc5IDEwMDY0NAot
LS0gYS9XZWJLaXQvZWZsL2V3ay9ld2tfcHJpdmF0ZS5oCisrKyBiL1dlYktpdC9lZmwvZXdrL2V3
a19wcml2YXRlLmgKQEAgLTUyLDEwICs1MiwxNSBAQCB2b2lkICAgICAgICAgICAgIGV3a192aWV3
X3JlYWR5KEV2YXNfT2JqZWN0ICpvKTsKIHZvaWQgICAgICAgICAgICAgZXdrX3ZpZXdfdGl0bGVf
c2V0KEV2YXNfT2JqZWN0ICpvLCBjb25zdCBjaGFyICp0aXRsZSk7CiB2b2lkICAgICAgICAgICAg
IGV3a192aWV3X3VyaV9jaGFuZ2VkKEV2YXNfT2JqZWN0ICpvKTsKIHZvaWQgICAgICAgICAgICAg
ZXdrX3ZpZXdfbG9hZF9zdGFydGVkKEV2YXNfT2JqZWN0ICpvKTsKK3ZvaWQgICAgICAgICAgICAg
ZXdrX3ZpZXdfbG9hZF9wcm92aXNpb25hbChFdmFzX09iamVjdCAqbyk7CiB2b2lkICAgICAgICAg
ICAgIGV3a192aWV3X2ZyYW1lX21haW5fbG9hZF9zdGFydGVkKEV2YXNfT2JqZWN0ICpvKTsKK3Zv
aWQgICAgICAgICAgICAgZXdrX3ZpZXdfZnJhbWVfbWFpbl9jbGVhcmVkKEV2YXNfT2JqZWN0ICpv
KTsKK3ZvaWQgICAgICAgICAgICAgZXdrX3ZpZXdfZnJhbWVfbWFpbl9pY29uX3JlY2VpdmVkKEV2
YXNfT2JqZWN0ICpvKTsKIHZvaWQgICAgICAgICAgICAgZXdrX3ZpZXdfbG9hZF9maW5pc2hlZChF
dmFzX09iamVjdCAqbywgY29uc3QgRXdrX0ZyYW1lX0xvYWRfRXJyb3IgKmVycm9yKTsKIHZvaWQg
ICAgICAgICAgICAgZXdrX3ZpZXdfbG9hZF9lcnJvcihFdmFzX09iamVjdCAqbywgY29uc3QgRXdr
X0ZyYW1lX0xvYWRfRXJyb3IgKmVycm9yKTsKIHZvaWQgICAgICAgICAgICAgZXdrX3ZpZXdfbG9h
ZF9wcm9ncmVzc19jaGFuZ2VkKEV2YXNfT2JqZWN0ICpvKTsKK3ZvaWQgICAgICAgICAgICAgZXdr
X3ZpZXdfbG9hZF9zaG93KEV2YXNfT2JqZWN0KiBvKTsKK3ZvaWQgICAgICAgICAgICAgZXdrX3Zp
ZXdfcmVzdG9yZV9zdGF0ZShFdmFzX09iamVjdCAqbywgRXZhc19PYmplY3QgKmZyYW1lKTsKIEV2
YXNfT2JqZWN0ICAgICAqZXdrX3ZpZXdfd2luZG93X2NyZWF0ZShFdmFzX09iamVjdCAqbywgRWlu
YV9Cb29sIGphdmFzY3JpcHQsIGNvbnN0IFdlYkNvcmU6OldpbmRvd0ZlYXR1cmVzKiBjb3JlRmVh
dHVyZXMpOwogCiB2b2lkICAgICAgICAgICAgIGV3a192aWV3X21vdXNlX2xpbmtfaG92ZXJfaW4o
RXZhc19PYmplY3QgKm8sIHZvaWQgKmRhdGEpOwpAQCAtMTEzLDEwICsxMTgsMjAgQEAgV2ViQ29y
ZTo6RnJhbWUgICAqZXdrX2ZyYW1lX2NvcmVfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvKTsKIHZv
aWQgICAgICAgICAgICAgIGV3a19mcmFtZV9jb3JlX2dvbmUoRXZhc19PYmplY3QgKm8pOwogCiB2
b2lkICAgICAgICAgICAgICBld2tfZnJhbWVfbG9hZF9zdGFydGVkKEV2YXNfT2JqZWN0ICpvKTsK
K3ZvaWQgICAgICAgICAgICAgIGV3a19mcmFtZV9sb2FkX3Byb3Zpc2lvbmFsKEV2YXNfT2JqZWN0
ICpvKTsKK3ZvaWQgICAgICAgICAgICAgIGV3a19mcmFtZV9sb2FkX2ZpcnN0bGF5b3V0X2Zpbmlz
aGVkKEV2YXNfT2JqZWN0ICpvKTsKK3ZvaWQgICAgICAgICAgICAgIGV3a19mcmFtZV9sb2FkX2Zp
cnN0bGF5b3V0X25vbmVtcHR5X2ZpbmlzaGVkKEV2YXNfT2JqZWN0ICpvKTsKK3ZvaWQgICAgICAg
ICAgICAgIGV3a19mcmFtZV9sb2FkX2RvY3VtZW50X2ZpbmlzaGVkKEV2YXNfT2JqZWN0ICpvKTsK
IHZvaWQgICAgICAgICAgICAgIGV3a19mcmFtZV9sb2FkX2ZpbmlzaGVkKEV2YXNfT2JqZWN0ICpv
LCBjb25zdCBjaGFyICplcnJvcl9kb21haW4sIGludCBlcnJvcl9jb2RlLCBFaW5hX0Jvb2wgaXNf
Y2FuY2VsbGF0aW9uLCBjb25zdCBjaGFyICplcnJvcl9kZXNjcmlwdGlvbiwgY29uc3QgY2hhciAq
ZmFpbGluZ191cmwpOwogdm9pZCAgICAgICAgICAgICAgZXdrX2ZyYW1lX2xvYWRfZXJyb3IoRXZh
c19PYmplY3QgKm8sIGNvbnN0IGNoYXIgKmVycm9yX2RvbWFpbiwgaW50IGVycm9yX2NvZGUsIEVp
bmFfQm9vbCBpc19jYW5jZWxsYXRpb24sIGNvbnN0IGNoYXIgKmVycm9yX2Rlc2NyaXB0aW9uLCBj
b25zdCBjaGFyICpmYWlsaW5nX3VybCk7CiB2b2lkICAgICAgICAgICAgICBld2tfZnJhbWVfbG9h
ZF9wcm9ncmVzc19jaGFuZ2VkKEV2YXNfT2JqZWN0ICpvKTsKIAordm9pZCAgICAgICAgICAgICAg
ZXdrX2ZyYW1lX3JlcXVlc3Rfd2lsbF9zZW5kKEV2YXNfT2JqZWN0ICpvLCBFd2tfRnJhbWVfUmVz
b3VyY2VfUmVxdWVzdCAqcmVxdWVzdCk7Cit2b2lkICAgICAgICAgICAgICBld2tfZnJhbWVfcmVx
dWVzdF9hc3NpZ25faWRlbnRpZmllcihFdmFzX09iamVjdCAqbywgY29uc3QgRXdrX0ZyYW1lX1Jl
c291cmNlX1JlcXVlc3QgKnJlcXVlc3QpOwordm9pZCAgICAgICAgICAgICAgZXdrX2ZyYW1lX3Zp
ZXdfc3RhdGVfc2F2ZShFdmFzX09iamVjdCAqbywgV2ViQ29yZTo6SGlzdG9yeUl0ZW0qIGl0ZW0p
OworCit2b2lkICAgICAgICAgICAgICBld2tfZnJhbWVfZGlkX3BlcmZvcm1fZmlyc3RfbmF2aWdh
dGlvbihFdmFzX09iamVjdCAqbyk7CisKIHZvaWQgICAgICAgICAgICAgIGV3a19mcmFtZV9jb250
ZW50c19zaXplX2NoYW5nZWQoRXZhc19PYmplY3QgKm8sIEV2YXNfQ29vcmQgdywgRXZhc19Db29y
ZCBoKTsKIHZvaWQgICAgICAgICAgICAgIGV3a19mcmFtZV90aXRsZV9zZXQoRXZhc19PYmplY3Qg
Km8sIGNvbnN0IGNoYXIgKnRpdGxlKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>60773</attachid>
            <date>2010-07-07 13:56:57 -0700</date>
            <delta_ts>2010-07-07 13:58:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-41005-20100707175750.patch</filename>
            <type>text/plain</type>
            <size>16568</size>
            <attacher name="Lucas De Marchi">lucas.de.marchi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9DaGFuZ2VMb2cgYi9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDEx
N2YwNjhlYjRhNTdkYzYwNzU0YWY0ODJhMTZlMzQyNWVjM2YwZDMuLmEwMTVlZmExNzI3ODM1MmFl
ODQyNzAyZmI0MTY3ZWU2YjMwODAzNWYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9DaGFuZ2VMb2cKKysr
IGIvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDEwLTA3LTA3ICBMdWNhcyBE
ZSBNYXJjaGkgIDxsdWNhcy5kZW1hcmNoaUBwcm9mdXNpb24ubW9iaT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbRUZMXSBJbXBsZW1lbnQgc2V2ZXJh
bCBub3RpZmljYXRpb24gaG9va3MgaW4gRnJhbWVMb2FkZXJDbGllbnQuCisgICAgICAgIFdlIGp1
c3Qgbm90aWZ5IGJyb3dzZXIsIG1ha2luZyB0aGUgYXBwcm9wcmlhdGUgdHlwZSBjb252ZXJzaW9u
cyBhYm91dAorICAgICAgICB0aGUgZXZlbnRzIG9jY3VycmluZyBpbiBXZWJDb3JlLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDEwMDUKKworICAgICAg
ICAqIGVmbC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0Y2hXaWxsU2VuZFJlcXVlc3Qp
OiBhbGxvYyAyIG5ldworICAgICAgICB3cmFwcGVyIHN0cnVjdHVyZXMgaW4gc3RhY2sgaW4gb3Jk
ZXIgdG8gZ2l2ZSBjbGllbnQgdGhlIG9wcG9ydHVuaXR5IHRvCisgICAgICAgIGNoYW5nZSBwYXJh
bWV0ZXJzLiBUaGVuLCBjYWxsIHRoZSBmdW5jdGlvbiBpdCBkZWZpbmVzLgorICAgICAgICAoV2Vi
Q29yZTo6RnJhbWVMb2FkZXJDbGllbnRFZmw6OmFzc2lnbklkZW50aWZpZXJUb0luaXRpYWxSZXF1
ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50RWZsOjpkaWRQZXJmb3Jt
Rmlyc3ROYXZpZ2F0aW9uKTogbm90aWZ5CisgICAgICAgIGNsaWVudC4KKyAgICAgICAgKFdlYkNv
cmU6OkZyYW1lTG9hZGVyQ2xpZW50RWZsOjpzYXZlVmlld1N0YXRlVG9JdGVtKTogbm90aWZ5IGNs
aWVudC4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50RWZsOjpyZXN0b3JlVmll
d1N0YXRlKTogbm90aWZ5IGNsaWVudC4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xp
ZW50RWZsOjpkaXNwYXRjaERpZENoYW5nZUxvY2F0aW9uV2l0aGluUGFnZSk6CisgICAgICAgIG5v
dGlmeSBicm93c2VyIHRoYXQgdGhlIHVybCBjaGFuZ2VkLgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWVMb2FkZXJDbGllbnRFZmw6OmRpc3BhdGNoRGlkUmVjZWl2ZUljb24pOiBub3RpZnkKKyAgICAg
ICAgYnJvd3Nlci4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50RWZsOjpkaXNw
YXRjaERpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkKToKKyAgICAgICAgbm90aWZ5IGJyb3dzZXIuCisg
ICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0Y2hEaWRGaW5pc2hE
b2N1bWVudExvYWQpOiBub3RpZnkKKyAgICAgICAgYnJvd3Nlci4KKyAgICAgICAgKFdlYkNvcmU6
OkZyYW1lTG9hZGVyQ2xpZW50RWZsOjpkaXNwYXRjaERpZEZpcnN0TGF5b3V0KTogbm9yaWZ5Cisg
ICAgICAgIGJyb3dzZXIuCisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudEVmbDo6
ZGlzcGF0Y2hEaWRGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXQpOgorICAgICAgICBub3RpZnkg
YnJvd3Nlci4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50RWZsOjpkaXNwYXRj
aFNob3cpOiBub3RpZnkgYnJvd3Nlci4KKyAgICAgICAgKiBlZmwvZXdrL2V3a19mcmFtZS5jcHA6
CisgICAgICAgIChld2tfZnJhbWVfcmVxdWVzdF93aWxsX3NlbmQpOiBlbWl0IHNpZ25hbCBub3Rp
ZnlpbmcgYnJvd3Nlci4KKyAgICAgICAgKGV3a19mcmFtZV9yZXF1ZXN0X2Fzc2lnbl9pZGVudGlm
aWVyKTogZW1pdCBzaWduYWwgbm90aWZ5aW5nIGJyb3dzZXIuCisgICAgICAgIChld2tfZnJhbWVf
ZGlkX3BlcmZvcm1fZmlyc3RfbmF2aWdhdGlvbik6IGVtaXQgc2lnbmFsIG5vdGlmeWluZyBicm93
c2VyLgorICAgICAgICAoZXdrX2ZyYW1lX3ZpZXdfc3RhdGVfc2F2ZSk6IGVtaXQgc2lnbmFsIG5v
dGlmeWluZyBicm93c2VyLgorICAgICAgICAoZXdrX2ZyYW1lX2xvYWRfcHJvdmlzaW9uYWwpOiBl
bWl0IHNpZ25hbCBub3RpZnlpbmcgYnJvd3Nlci4KKyAgICAgICAgKGV3a19mcmFtZV9sb2FkX2Zp
cnN0bGF5b3V0X2ZpbmlzaGVkKTogZW1pdCBzaWduYWwgbm90aWZ5aW5nIGJyb3dzZXIuCisgICAg
ICAgIChld2tfZnJhbWVfbG9hZF9maXJzdGxheW91dF9ub25lbXB0eV9maW5pc2hlZCk6IGVtaXQg
c2lnbmFsIG5vdGlmeWluZyBicm93c2VyLgorICAgICAgICAoZXdrX2ZyYW1lX2xvYWRfZG9jdW1l
bnRfZmluaXNoZWQpOiBlbWl0IHNpZ25hbCBub3RpZnlpbmcgYnJvd3Nlci4KKyAgICAgICAgKiBl
ZmwvZXdrL2V3a19mcmFtZS5oOiB1cGRhdGUgZG9jdW1lbnRhdGlvbiBhYm91dCBzaWduYWxzIGJl
aW5nIHNlbnQKKyAgICAgICAgYW5kIGltcGxlbWVudCB3cmFwcGVyIHN0cnVjdCBmb3IgUmVzb3Vy
Y2VSZXF1ZXN0LgorICAgICAgICAqIGVmbC9ld2svZXdrX3ByaXZhdGUuaDogZXhwb3J0IHByaXZh
dGUgZnVuY3Rpb25zLgorCiAyMDEwLTA3LTA3ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBh
cHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KZGlmZiAtLWdpdCBh
L1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwuY3BwIGIvV2Vi
S2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5jcHAKaW5kZXggYTFk
NGY5MGQ3ZjYwMjcyM2ZiNmE4NmYzMWU4ODI2ZmZjNGY2ZDdhOC4uMzBhYWRlYzBjYWE1ZDhjYzE0
YTA0YzY0ZGJmYzVlM2Y2ZmE2MzcyMSAxMDA2NDQKLS0tIGEvV2ViS2l0L2VmbC9XZWJDb3JlU3Vw
cG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5jcHAKKysrIGIvV2ViS2l0L2VmbC9XZWJDb3JlU3Vw
cG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5jcHAKQEAgLTI1MSw5ICsyNTEsMjUgQEAgdm9pZCBG
cmFtZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0Y2hEaWRDYW5jZWxBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZShEb2N1bWVudExvYWQKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCi12b2lkIEZyYW1l
TG9hZGVyQ2xpZW50RWZsOjpkaXNwYXRjaFdpbGxTZW5kUmVxdWVzdChEb2N1bWVudExvYWRlcios
IHVuc2lnbmVkIGxvbmcsIFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2Um
KQordm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0Y2hXaWxsU2VuZFJlcXVlc3QoRG9j
dW1lbnRMb2FkZXIqIGxvYWRlciwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBSZXNvdXJjZVJl
cXVlc3QmIGNvcmVSZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBjb3JlUmVzcG9uc2Up
CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBDU3RyaW5nIHVybCA9IGNvcmVSZXF1ZXN0
LnVybCgpLnByZXR0eVVSTCgpLnV0ZjgoKTsKKyAgICBEQkcoIlJlc291cmNlIHVybD0lcyIsIHVy
bC5kYXRhKCkpOworCisgICAgRXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVlc3QgcmVxdWVzdCA9IHsg
MCwgaWRlbnRpZmllciB9OworICAgIEV3a19GcmFtZV9SZXNvdXJjZV9SZXF1ZXN0IG9yaWcgPSBy
ZXF1ZXN0OyAvKiBJbml0aWFsaXplIGNvbnN0IGZpZWxkcy4gKi8KKworICAgIG9yaWcudXJsID0g
cmVxdWVzdC51cmwgPSB1cmwuZGF0YSgpOworCisgICAgZXdrX2ZyYW1lX3JlcXVlc3Rfd2lsbF9z
ZW5kKG1fZnJhbWUsICZyZXF1ZXN0KTsKKworICAgIGlmIChyZXF1ZXN0LnVybCAhPSBvcmlnLnVy
bCkgeworICAgICAgICBjb3JlUmVxdWVzdC5zZXRVUkwoS1VSTChLVVJMKCksIHJlcXVlc3QudXJs
KSk7CisKKyAgICAgICAgLy8gQ2FsbGluZyBjbGllbnQgbWlnaHQgaGF2ZSBjaGFuZ2VkIG91ciB1
cmwgcG9pbnRlci4KKyAgICAgICAgLy8gRnJlZSB0aGUgbmV3IGFsbG9jYXRlZCBzdHJpbmcuCisg
ICAgICAgIGZyZWUoY29uc3RfY2FzdDxjaGFyKj4ocmVxdWVzdC51cmwpKTsKKyAgICB9CiB9CiAK
IGJvb2wgRnJhbWVMb2FkZXJDbGllbnRFZmw6OnNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlKERv
Y3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9uZykKQEAgLTI2Miw5ICsyNzgsMTMgQEAgYm9vbCBG
cmFtZUxvYWRlckNsaWVudEVmbDo6c2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2UoRG9jdW1lbnRM
b2FkZXIqLCB1bnNpZ25lZAogICAgIHJldHVybiBmYWxzZTsKIH0KIAotdm9pZCBGcmFtZUxvYWRl
ckNsaWVudEVmbDo6YXNzaWduSWRlbnRpZmllclRvSW5pdGlhbFJlcXVlc3QodW5zaWduZWQgbG9u
ZyBpZGVudGlmaWVyLCBEb2N1bWVudExvYWRlciosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYpCit2
b2lkIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjphc3NpZ25JZGVudGlmaWVyVG9Jbml0aWFsUmVxdWVz
dCh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIERvY3VtZW50TG9hZGVyKiwgY29uc3QgUmVzb3Vy
Y2VSZXF1ZXN0JiBjb3JlUmVxdWVzdCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIENT
dHJpbmcgdXJsID0gY29yZVJlcXVlc3QudXJsKCkucHJldHR5VVJMKCkudXRmOCgpOworICAgIERC
RygiUmVzb3VyY2UgdXJsPSVzIiwgdXJsLmRhdGEoKSk7CisKKyAgICBFd2tfRnJhbWVfUmVzb3Vy
Y2VfUmVxdWVzdCByZXF1ZXN0ID0geyAwLCBpZGVudGlmaWVyIH07CisgICAgZXdrX2ZyYW1lX3Jl
cXVlc3RfYXNzaWduX2lkZW50aWZpZXIobV9mcmFtZSwgJnJlcXVlc3QpOwogfQogCiB2b2lkIEZy
YW1lTG9hZGVyQ2xpZW50RWZsOjpwb3N0UHJvZ3Jlc3NTdGFydGVkTm90aWZpY2F0aW9uKCkKQEAg
LTQyMyw3ICs0NDMsNyBAQCB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjpkb2N1bWVudEVsZW1l
bnRBdmFpbGFibGUoKQogCiB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjpkaWRQZXJmb3JtRmly
c3ROYXZpZ2F0aW9uKCkgY29uc3QKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIGV3a19m
cmFtZV9kaWRfcGVyZm9ybV9maXJzdF9uYXZpZ2F0aW9uKG1fZnJhbWUpOwogfQogCiB2b2lkIEZy
YW1lTG9hZGVyQ2xpZW50RWZsOjpyZWdpc3RlckZvckljb25Ob3RpZmljYXRpb24oYm9vbCkKQEAg
LTQ1OCwxNCArNDc4LDE3IEBAIHZvaWQgRnJhbWVMb2FkZXJDbGllbnRFZmw6OmZyYW1lTG9hZENv
bXBsZXRlZCgpCiAgICAgLy8gTm90ZTogQ2FuIGJlIGNhbGxlZCBtdWx0aXBsZSB0aW1lcy4KIH0K
IAotdm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6c2F2ZVZpZXdTdGF0ZVRvSXRlbShIaXN0b3J5
SXRlbSopCit2b2lkIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjpzYXZlVmlld1N0YXRlVG9JdGVtKEhp
c3RvcnlJdGVtKiBpdGVtKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgZXdrX2ZyYW1l
X3ZpZXdfc3RhdGVfc2F2ZShtX2ZyYW1lLCBpdGVtKTsKIH0KIAogdm9pZCBGcmFtZUxvYWRlckNs
aWVudEVmbDo6cmVzdG9yZVZpZXdTdGF0ZSgpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAg
ICBBU1NFUlQobV9mcmFtZSk7CisgICAgQVNTRVJUKG1fdmlldyk7CisKKyAgICBld2tfdmlld19y
ZXN0b3JlX3N0YXRlKG1fdmlldywgbV9mcmFtZSk7CiB9CiAKIHZvaWQgRnJhbWVMb2FkZXJDbGll
bnRFZmw6OnVwZGF0ZUdsb2JhbEhpc3RvcnlSZWRpcmVjdExpbmtzKCkKQEAgLTU0NCw3ICs1Njcs
MTEgQEAgdm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0Y2hXaWxsUGVyZm9ybUNsaWVu
dFJlZGlyZWN0KGNvbnN0IEtVUkwmLCBkb3VibGUKIAogdm9pZCBGcmFtZUxvYWRlckNsaWVudEVm
bDo6ZGlzcGF0Y2hEaWRDaGFuZ2VMb2NhdGlvbldpdGhpblBhZ2UoKQogewotICAgIG5vdEltcGxl
bWVudGVkKCk7CisgICAgZXdrX2ZyYW1lX3VyaV9jaGFuZ2VkKG1fZnJhbWUpOworCisgICAgaWYg
KGV3a192aWV3X2ZyYW1lX21haW5fZ2V0KG1fdmlldykgIT0gbV9mcmFtZSkKKyAgICAgICAgcmV0
dXJuOworICAgIGV3a192aWV3X3VyaV9jaGFuZ2VkKG1fdmlldyk7CiB9CiAKIHZvaWQgRnJhbWVM
b2FkZXJDbGllbnRFZmw6OmRpc3BhdGNoV2lsbENsb3NlKCkKQEAgLTU1NCwxMCArNTgxLDE4IEBA
IHZvaWQgRnJhbWVMb2FkZXJDbGllbnRFZmw6OmRpc3BhdGNoV2lsbENsb3NlKCkKIAogdm9pZCBG
cmFtZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0Y2hEaWRSZWNlaXZlSWNvbigpCiB7CisgICAgLyog
cmVwb3J0IHJlY2VpdmVkIGZhdmljb24gb25seSBmb3IgbWFpbiBmcmFtZS4gKi8KKyAgICBpZiAo
ZXdrX3ZpZXdfZnJhbWVfbWFpbl9nZXQobV92aWV3KSAhPSBtX2ZyYW1lKQorICAgICAgICByZXR1
cm47CisKKyAgICBld2tfdmlld19mcmFtZV9tYWluX2ljb25fcmVjZWl2ZWQobV92aWV3KTsKIH0K
IAogdm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0Y2hEaWRTdGFydFByb3Zpc2lvbmFs
TG9hZCgpCiB7CisgICAgZXdrX2ZyYW1lX2xvYWRfcHJvdmlzaW9uYWwobV9mcmFtZSk7CisgICAg
aWYgKGV3a192aWV3X2ZyYW1lX21haW5fZ2V0KG1fdmlldykgPT0gbV9mcmFtZSkKKyAgICAgICAg
ZXdrX3ZpZXdfbG9hZF9wcm92aXNpb25hbChtX3ZpZXcpOwogfQogCiB2b2lkIEZyYW1lTG9hZGVy
Q2xpZW50RWZsOjpkaXNwYXRjaERpZFJlY2VpdmVUaXRsZShjb25zdCBTdHJpbmcmIHRpdGxlKQpA
QCAtNTkxLDIzICs2MjYsMjMgQEAgdm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0Y2hE
aWRDb21taXRMb2FkKCkKIAogdm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0Y2hEaWRG
aW5pc2hEb2N1bWVudExvYWQoKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgZXdrX2Zy
YW1lX2xvYWRfZG9jdW1lbnRfZmluaXNoZWQobV9mcmFtZSk7CiB9CiAKIHZvaWQgRnJhbWVMb2Fk
ZXJDbGllbnRFZmw6OmRpc3BhdGNoRGlkRmlyc3RMYXlvdXQoKQogewotICAgIC8vIGVtaXQgbV9m
cmFtZS0+aW5pdGlhbExheW91dENvbXBsZXRlZCgpOwogICAgIG1faW5pdExheW91dENvbXBsZXRl
ZCA9IHRydWU7CisgICAgZXdrX2ZyYW1lX2xvYWRfZmlyc3RsYXlvdXRfZmluaXNoZWQobV9mcmFt
ZSk7CiB9CiAKIHZvaWQgRnJhbWVMb2FkZXJDbGllbnRFZmw6OmRpc3BhdGNoRGlkRmlyc3RWaXN1
YWxseU5vbkVtcHR5TGF5b3V0KCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIGV3a19m
cmFtZV9sb2FkX2ZpcnN0bGF5b3V0X25vbmVtcHR5X2ZpbmlzaGVkKG1fZnJhbWUpOwogfQogCiB2
b2lkIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjpkaXNwYXRjaFNob3coKQogewotICAgIG5vdEltcGxl
bWVudGVkKCk7CisgICAgZXdrX3ZpZXdfbG9hZF9zaG93KG1fdmlldyk7CiB9CiAKIHZvaWQgRnJh
bWVMb2FkZXJDbGllbnRFZmw6OmNhbmNlbFBvbGljeUNoZWNrKCkKZGlmZiAtLWdpdCBhL1dlYktp
dC9lZmwvZXdrL2V3a19mcmFtZS5jcHAgYi9XZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUuY3BwCmlu
ZGV4IGVjNTYyMjE5ZDE1YThmYzY5MzBiM2M1MGIzNDIwODdhZGFjNjcwYTQuLmNhNzZmMDI2Yzk4
NjIyZmQ3YjExN2FlOWIxNWY3MDdkZWEzOTU5MzggMTAwNjQ0Ci0tLSBhL1dlYktpdC9lZmwvZXdr
L2V3a19mcmFtZS5jcHAKKysrIGIvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmNwcApAQCAtMzEs
NiArMzEsNyBAQAogI2luY2x1ZGUgIkZyYW1lVHJlZS5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5o
IgogI2luY2x1ZGUgIkhUTUxQbHVnSW5FbGVtZW50LmgiCisjaW5jbHVkZSAiSGlzdG9yeUl0ZW0u
aCIKICNpbmNsdWRlICJIaXRUZXN0UmVzdWx0LmgiCiAjaW5jbHVkZSAiS1VSTC5oIgogI2luY2x1
ZGUgIlBsYXRmb3JtS2V5Ym9hcmRFdmVudC5oIgpAQCAtMTYzMyw2ICsxNjM0LDcwIEBAIFdlYkNv
cmU6OkZyYW1lKiBld2tfZnJhbWVfY29yZV9nZXQoY29uc3QgRXZhc19PYmplY3QqIG8pCiAKIC8q
KgogICogQGludGVybmFsCisgKiBSZXBvcnRzIGEgcmVzb3VyY2Ugd2lsbCBiZSByZXF1ZXN0ZWQu
IFVzZXIgbWF5IG92ZXJyaWRlIGJlaGF2aW9yIG9mIHdlYmtpdCBieQorICogY2hhbmdpbmcgdmFs
dWVzIGluIEBwYXJhbSByZXF1ZXN0LgorICoKKyAqIEBwYXJhbSBvIEZyYW1lLgorICogQHBhcmFt
IHJlcXVlc3QgUmVxdWVzdCBkZXRhaWxzIHRoYXQgdXNlciBtYXkgb3ZlcnJpZGUuIFdoZW5ldmVy
IHZhbHVlcyBvbgorICogdGhpcyBzdHJ1Y3QgY2hhbmdlcywgaXQgbXVzdCBiZSBwcm9wZXJseSBt
YWxsb2MnZCBhcyBpdCB3aWxsIGJlIGZyZWVkCisgKiBhZnRlcndhcmRzLgorICoKKyAqIEVtaXRz
IHNpZ25hbDogInJlc291cmNlLHJlcXVlc3Qsd2lsbHNlbmQiCisgKi8KK3ZvaWQgZXdrX2ZyYW1l
X3JlcXVlc3Rfd2lsbF9zZW5kKEV2YXNfT2JqZWN0ICpvLCBFd2tfRnJhbWVfUmVzb3VyY2VfUmVx
dWVzdCAqcmVxdWVzdCkKK3sKKyAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19jYWxsKG8s
ICJyZXNvdXJjZSxyZXF1ZXN0LHdpbGxzZW5kIiwgcmVxdWVzdCk7Cit9CisKKy8qKgorICogQGlu
dGVybmFsCisgKiBSZXBvcnRzIHRoYXQgdGhlcmUncyBhIG5ldyByZXNvdXJjZS4KKyAqCisgKiBA
cGFyYW0gbyBGcmFtZS4KKyAqIEBwYXJhbSByZXF1ZXN0IE5ldyByZXF1ZXN0IGRldGFpbHMuIE5v
IGNoYW5nZXMgYXJlIGFsbG93ZWQgdG8gZmllbGRzLgorICoKKyAqIEVtaXRzIHNpZ25hbDogInJl
c291cmNlLHJlcXVlc3QsbmV3IgorICovCit2b2lkIGV3a19mcmFtZV9yZXF1ZXN0X2Fzc2lnbl9p
ZGVudGlmaWVyKEV2YXNfT2JqZWN0ICpvLCBjb25zdCBFd2tfRnJhbWVfUmVzb3VyY2VfUmVxdWVz
dCAqcmVxdWVzdCkKK3sKKyAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19jYWxsKG8sICJy
ZXNvdXJjZSxyZXF1ZXN0LG5ldyIsICh2b2lkICopcmVxdWVzdCk7Cit9CisKKy8qKgorICogQGlu
dGVybmFsCisgKiBSZXBvcnRzIHRoYXQgZmlyc3QgbmF2aWdhdGlvbiBvY2N1cnJlZAorICoKKyAq
IEBwYXJhbSBvIEZyYW1lLgorICoKKyAqIEVtaXRzIHNpZ25hbDogIm5hdmlnYXRpb24sZmlyc3Qi
CisgKi8KK3ZvaWQgZXdrX2ZyYW1lX2RpZF9wZXJmb3JtX2ZpcnN0X25hdmlnYXRpb24oRXZhc19P
YmplY3QgKm8pCit7CisgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfY2FsbChvLCAibmF2
aWdhdGlvbixmaXJzdCIsIDApOworfQorCisvKioKKyAqIEBpbnRlcm5hbAorICogUmVwb3J0cyBm
cmFtZSB3aWxsIGJlIHNhdmVkIHRvIGN1cnJlbnQgc3RhdGUKKyAqCisgKiBAcGFyYW0gbyBGcmFt
ZS4KKyAqIEBwYXJhbSBpdGVtIEhpc3RvcnkgaXRlbSB0byBzYXZlIGRldGFpbHMgdG8uCisgKgor
ICogRW1pdHMgc2lnbmFsOiAic3RhdGUsc2F2ZSIKKyAqLwordm9pZCBld2tfZnJhbWVfdmlld19z
dGF0ZV9zYXZlKEV2YXNfT2JqZWN0ICpvLCBXZWJDb3JlOjpIaXN0b3J5SXRlbSogaXRlbSkKK3sK
KyAgICBjb25zdCBjaGFyICp0aXRsZSA9IGV3a19mcmFtZV90aXRsZV9nZXQobyk7CisgICAgY29u
c3QgY2hhciAqdXJpID0gZXdrX2ZyYW1lX3VyaV9nZXQobyk7CisKKyAgICBpdGVtLT5zZXRUaXRs
ZShXZWJDb3JlOjpTdHJpbmc6OmZyb21VVEY4KHRpdGxlKSk7CisgICAgaXRlbS0+c2V0VVJMU3Ry
aW5nKFdlYkNvcmU6OlN0cmluZzo6ZnJvbVVURjgodXJpKSk7CisKKyAgICBldmFzX29iamVjdF9z
bWFydF9jYWxsYmFja19jYWxsKG8sICJzdGF0ZSxzYXZlIiwgMCk7Cit9CisKKy8qKgorICogQGlu
dGVybmFsCiAgKiBSZXBvcnRzIHRoZSBmcmFtZSBzdGFydGVkIGxvYWRpbmcgc29tZXRoaW5nLgog
ICoKICAqIEVtaXRzIHNpZ25hbDogImxvYWQsc3RhcnRlZCIgd2l0aCBubyBwYXJhbWV0ZXJzLgpA
QCAtMTY1Miw2ICsxNzE3LDU4IEBAIHZvaWQgZXdrX2ZyYW1lX2xvYWRfc3RhcnRlZChFdmFzX09i
amVjdCogbykKIAogLyoqCiAgKiBAaW50ZXJuYWwKKyAqIFJlcG9ydHMgdGhlIGZyYW1lIHN0YXJ0
ZWQgcHJvdmlzaW9uYWwgbG9hZC4KKyAqCisgKiBAcGFyYW0gbyBGcmFtZS4KKyAqCisgKiBFbWl0
cyBzaWduYWw6ICJsb2FkLHByb3Zpc2lvbmFsIiB3aXRoIG5vIHBhcmFtZXRlcnMuCisgKi8KK3Zv
aWQgZXdrX2ZyYW1lX2xvYWRfcHJvdmlzaW9uYWwoRXZhc19PYmplY3QqIG8pCit7CisgICAgZXZh
c19vYmplY3Rfc21hcnRfY2FsbGJhY2tfY2FsbChvLCAibG9hZCxwcm92aXNpb25hbCIsIDApOwor
fQorCisvKioKKyAqIEBpbnRlcm5hbAorICogUmVwb3J0cyB0aGUgZnJhbWUgZmluaXNoZWQgZmly
c3QgbGF5b3V0LgorICoKKyAqIEBwYXJhbSBvIEZyYW1lLgorICoKKyAqIEVtaXRzIHNpZ25hbDog
ImxvYWQsZmlyc3RsYXlvdXQsZmluaXNoZWQiIHdpdGggbm8gcGFyYW1ldGVycy4KKyAqLwordm9p
ZCBld2tfZnJhbWVfbG9hZF9maXJzdGxheW91dF9maW5pc2hlZChFdmFzX09iamVjdCAqbykKK3sK
KyAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19jYWxsKG8sICJsb2FkLGZpcnN0bGF5b3V0
LGZpbmlzaGVkIiwgMCk7Cit9CisKKy8qKgorICogQGludGVybmFsCisgKiBSZXBvcnRzIHRoZSBm
cmFtZSBmaW5pc2hlZCBmaXJzdCBub24gZW1wdHkgbGF5b3V0LgorICoKKyAqIEBwYXJhbSBvIEZy
YW1lLgorICoKKyAqIEVtaXRzIHNpZ25hbDogImxvYWQsbm9uZW1wdHlsYXlvdXQsZmluaXNoZWQi
IHdpdGggbm8gcGFyYW1ldGVycy4KKyAqLwordm9pZCBld2tfZnJhbWVfbG9hZF9maXJzdGxheW91
dF9ub25lbXB0eV9maW5pc2hlZChFdmFzX09iamVjdCAqbykKK3sKKyAgICBldmFzX29iamVjdF9z
bWFydF9jYWxsYmFja19jYWxsKG8sICJsb2FkLG5vbmVtcHR5bGF5b3V0LGZpbmlzaGVkIiwgMCk7
Cit9CisKKy8qKgorICogQGludGVybmFsCisgKiBSZXBvcnRzIHRoZSBsb2FkaW5nIG9mIGEgZG9j
dW1lbnQgaGFzIGZpbmlzaGVkIG9uIGZyYW1lLgorICoKKyAqIEBwYXJhbSBvIEZyYW1lLgorICoK
KyAqIEVtaXRzIHNpZ25hbDogImxvYWQsZG9jdW1lbnQsZmluaXNoZWQiIHdpdGggbm8gcGFyYW1l
dGVycy4KKyAqLwordm9pZCBld2tfZnJhbWVfbG9hZF9kb2N1bWVudF9maW5pc2hlZChFdmFzX09i
amVjdCAqbykKK3sKKyAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19jYWxsKG8sICJsb2Fk
LGRvY3VtZW50LGZpbmlzaGVkIiwgMCk7Cit9CisKKy8qKgorICogQGludGVybmFsCiAgKiBSZXBv
cnRzIGxvYWQgZmluaXNoZWQsIG9wdGlvbmFsbHkgd2l0aCBlcnJvciBpbmZvcm1hdGlvbi4KICAq
CiAgKiBFbWl0cyBzaWduYWw6ICJsb2FkLGZpbmlzaGVkIiB3aXRoIHBvaW50ZXIgdG8gRXdrX0Zy
YW1lX0xvYWRfRXJyb3IKZGlmZiAtLWdpdCBhL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5oIGIv
V2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmgKaW5kZXggYzcxMjY5YmYxNDcwOTg5MjJkMmI1MzIw
M2Q1YWQ5NDJlZjkzNGJiNy4uMWE5ZmU4MTk1ODE0YWZiNTVjOTBiYTk3MWFlZjAyNWVhNDI3MmYz
YyAxMDA2NDQKLS0tIGEvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmgKKysrIGIvV2ViS2l0L2Vm
bC9ld2svZXdrX2ZyYW1lLmgKQEAgLTQ4LDE2ICs0OCwyOCBAQCBleHRlcm4gIkMiIHsKICAqCiAg
KiAgLSAidGl0bGUsY2hhbmdlZCIsIGNvbnN0IGNoYXIqOiB0aXRsZSBvZiB0aGUgbWFpbiBmcmFt
ZSBjaGFuZ2VkLgogICogIC0gInVyaSxjaGFuZ2VkIiwgY29uc3QgY2hhcio6IHVyaSBvZiB0aGUg
bWFpbiBmcmFtZSBjaGFuZ2VkLgorICogIC0gImxvYWQsZG9jdW1lbnQsZmluaXNoZWQiLCB2b2lk
OiBsb2FkaW5nIG9mIGEgZG9jdW1lbnQgaGFzCisgKiAgICBmaW5pc2hlZCBvbiB0aGlzIGZyYW1l
LgorICogIC0gImxvYWQsbm9uZW1wdHlsYXlvdXQsZmluaXNoZWQiLCB2b2lkOiBmcmFtZSBmaW5p
c2hlZCBmaXJzdAorICogICAgbm9uLWVtcHR5IGxheW91dC4KICAqICAtICJsb2FkLHN0YXJ0ZWQi
LCB2b2lkOiBmcmFtZSBzdGFydGVkIGxvYWRpbmcuCiAgKiAgLSAibG9hZCxwcm9ncmVzcyIsIGRv
dWJsZSo6IGxvYWQgcHJvZ3Jlc3MgY2hhbmdlZCAob3ZlcmFsbCB2YWx1ZQogICogICAgZnJvbSAw
LjAgdG8gMS4wLCBjb25uZWN0IHRvIGluZGl2aWR1YWwgZnJhbWVzIGZvciBmaW5lIGdyYWluZWQp
LgogICogIC0gImxvYWQsZmluaXNoZWQiLCBjb25zdCBFd2tfRnJhbWVfTG9hZF9FcnJvcio6IHJl
cG9ydHMgbG9hZAogICogICAgZmluaXNoZWQgYW5kIGFzIGFyZ3VtZW50IEBjIE5VTEwgaWYgc3Vj
Y2Vzc2Z1bGx5IG9yIHBvaW50ZXIgdG8KICAqICAgIHN0cnVjdHVyZSBkZWZpbmluZyB0aGUgZXJy
b3IuCisgKiAgLSAibG9hZCxwcm92aXNpb25hbCIsIHZvaWQ6IGZyYW1lIHN0YXJ0ZWQgcHJvdmlz
aW9uYWwgbG9hZC4KKyAqICAtICJsb2FkLGZpcnN0bGF5b3V0LGZpbmlzaGVkIiwgdm9pZDogZnJh
bWUgZmluaXNoZWQgZmlyc3QgbGF5b3V0LgogICogIC0gImxvYWQsZXJyb3IiLCBjb25zdCBFd2tf
RnJhbWVfTG9hZF9FcnJvcio6IHJlcG9ydHMgbG9hZCBmYWlsZWQKICAqICAgIGFuZCBhcyBhcmd1
bWVudCBhIHBvaW50ZXIgdG8gc3RydWN0dXJlIGRlZmluaW5nIHRoZSBlcnJvci4KICAqICAtICJj
b250ZW50cyxzaXplLGNoYW5nZWQiLCBFdmFzX0Nvb3JkWzJdOiByZXBvcnRzIGNvbnRlbnRzIHNp
emUKICAqICAgIGNoYW5nZWQgZHVlIG5ldyBsYXlvdXQsIHNjcmlwdCBhY3Rpb25zIG9yIGFueSBv
dGhlciBldmVudHMuCisgKiAgLSAibmF2aWdhdGlvbixmaXJzdCIsIHZvaWQ6IGZpcnN0IG5hdmln
YXRpb24gb2NjdXJyZWQuCisgKiAgLSAicmVzb3VyY2UscmVxdWVzdCxuZXciLCBFd2tfRnJhbWVf
UmVzb3VyY2VfUmVxdWVzdCo6IHJlcG9ydHMgdGhhdAorICogICAgdGhlcmUncyBhIG5ldyByZXNv
dXJjZSByZXF1ZXN0LgorICogIC0gInJlc291cmNlLHJlcXVlc3Qsd2lsbHNlbmQiLCBFd2tfRnJh
bWVfUmVzb3VyY2VfUmVxdWVzdCo6IGEgcmVzb3VyY2Ugd2lsbAorICogICAgYmUgcmVxdWVzdGVk
LgorICogIC0gInN0YXRlLHNhdmUiLCB2b2lkOiBmcmFtZSdzIHN0YXRlIHdpbGwgYmUgc2F2ZWQg
YXMgYSBoaXN0b3J5IGl0ZW0uCiAgKi8KIAogCkBAIC04Miw2ICs5NCwxOSBAQCBzdHJ1Y3QgX0V3
a19GcmFtZV9Mb2FkX0Vycm9yIHsKIH07CiAKIC8qKgorICogU3RydWN0dXJlIHVzZWQgdG8gcmVw
b3J0IHJlc291cmNlIHJlcXVlc3RzCisgKgorICogRGV0YWlscyBnaXZlbiBiZWZvcmUgYSByZXNv
dXJjZSBpcyBsb2FkZWQgb24gYSBnaXZlbiBmcmFtZS4gSXQncyB1c2VkIGJ5CisgKiBld2tfZnJh
bWVfcmVxdWVzdF93aWxsX3NlbmQoKSB0byBpbmZvcm0gdGhlIGRldGFpbHMgb2YgYSB0by1iZS1s
b2FkZWQKKyAqIHJlc291cmNlLCBhbGxvd2luZyB0aGVtIHRvIGJlIG92ZXJyaWRkZW4uCisgKi8K
K3R5cGVkZWYgc3RydWN0IF9Fd2tfRnJhbWVfUmVzb3VyY2VfUmVxdWVzdCBFd2tfRnJhbWVfUmVz
b3VyY2VfUmVxdWVzdDsKK3N0cnVjdCBfRXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVlc3QgeworICAg
IGNvbnN0IGNoYXIgKnVybDsgLyoqPCB1cmwgb2YgdGhpcyByZXNvdXJjZSAqLworICAgIGNvbnN0
IHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllcjsgLyoqPCByZXNvdXJjZSdzIGlkZW50aWZpZXIuIENh
biBub3QgYmUgY2hhbmdlZCAqLworfTsKKworLyoqCiAgKiBTdHJ1Y3R1cmUgdXNlZCB0byByZXBv
cnQgaGl0IHRlc3QgcmVzdWx0cy4KICAqLwogdHlwZWRlZiBzdHJ1Y3QgX0V3a19IaXRfVGVzdCBF
d2tfSGl0X1Rlc3Q7CmRpZmYgLS1naXQgYS9XZWJLaXQvZWZsL2V3ay9ld2tfcHJpdmF0ZS5oIGIv
V2ViS2l0L2VmbC9ld2svZXdrX3ByaXZhdGUuaAppbmRleCA3NGM1ZmQxMjQ4ZmE4MjY0NTllOWJh
ZDhjYmUyNTgyZTY3YjNhNmYyLi40OTFkNDUzOGIxYmExNGM0YzQ2YjEyZjQxZTc5N2Y2YjNlN2Y1
MmYzIDEwMDY0NAotLS0gYS9XZWJLaXQvZWZsL2V3ay9ld2tfcHJpdmF0ZS5oCisrKyBiL1dlYktp
dC9lZmwvZXdrL2V3a19wcml2YXRlLmgKQEAgLTUyLDEwICs1MiwxNSBAQCB2b2lkICAgICAgICAg
ICAgIGV3a192aWV3X3JlYWR5KEV2YXNfT2JqZWN0ICpvKTsKIHZvaWQgICAgICAgICAgICAgZXdr
X3ZpZXdfdGl0bGVfc2V0KEV2YXNfT2JqZWN0ICpvLCBjb25zdCBjaGFyICp0aXRsZSk7CiB2b2lk
ICAgICAgICAgICAgIGV3a192aWV3X3VyaV9jaGFuZ2VkKEV2YXNfT2JqZWN0ICpvKTsKIHZvaWQg
ICAgICAgICAgICAgZXdrX3ZpZXdfbG9hZF9zdGFydGVkKEV2YXNfT2JqZWN0ICpvKTsKK3ZvaWQg
ICAgICAgICAgICAgZXdrX3ZpZXdfbG9hZF9wcm92aXNpb25hbChFdmFzX09iamVjdCAqbyk7CiB2
b2lkICAgICAgICAgICAgIGV3a192aWV3X2ZyYW1lX21haW5fbG9hZF9zdGFydGVkKEV2YXNfT2Jq
ZWN0ICpvKTsKK3ZvaWQgICAgICAgICAgICAgZXdrX3ZpZXdfZnJhbWVfbWFpbl9jbGVhcmVkKEV2
YXNfT2JqZWN0ICpvKTsKK3ZvaWQgICAgICAgICAgICAgZXdrX3ZpZXdfZnJhbWVfbWFpbl9pY29u
X3JlY2VpdmVkKEV2YXNfT2JqZWN0ICpvKTsKIHZvaWQgICAgICAgICAgICAgZXdrX3ZpZXdfbG9h
ZF9maW5pc2hlZChFdmFzX09iamVjdCAqbywgY29uc3QgRXdrX0ZyYW1lX0xvYWRfRXJyb3IgKmVy
cm9yKTsKIHZvaWQgICAgICAgICAgICAgZXdrX3ZpZXdfbG9hZF9lcnJvcihFdmFzX09iamVjdCAq
bywgY29uc3QgRXdrX0ZyYW1lX0xvYWRfRXJyb3IgKmVycm9yKTsKIHZvaWQgICAgICAgICAgICAg
ZXdrX3ZpZXdfbG9hZF9wcm9ncmVzc19jaGFuZ2VkKEV2YXNfT2JqZWN0ICpvKTsKK3ZvaWQgICAg
ICAgICAgICAgZXdrX3ZpZXdfbG9hZF9zaG93KEV2YXNfT2JqZWN0KiBvKTsKK3ZvaWQgICAgICAg
ICAgICAgZXdrX3ZpZXdfcmVzdG9yZV9zdGF0ZShFdmFzX09iamVjdCAqbywgRXZhc19PYmplY3Qg
KmZyYW1lKTsKIEV2YXNfT2JqZWN0ICAgICAqZXdrX3ZpZXdfd2luZG93X2NyZWF0ZShFdmFzX09i
amVjdCAqbywgRWluYV9Cb29sIGphdmFzY3JpcHQsIGNvbnN0IFdlYkNvcmU6OldpbmRvd0ZlYXR1
cmVzKiBjb3JlRmVhdHVyZXMpOwogCiB2b2lkICAgICAgICAgICAgIGV3a192aWV3X21vdXNlX2xp
bmtfaG92ZXJfaW4oRXZhc19PYmplY3QgKm8sIHZvaWQgKmRhdGEpOwpAQCAtMTE4LDEwICsxMjMs
MjAgQEAgV2ViQ29yZTo6RnJhbWUgICAqZXdrX2ZyYW1lX2NvcmVfZ2V0KGNvbnN0IEV2YXNfT2Jq
ZWN0ICpvKTsKIHZvaWQgICAgICAgICAgICAgIGV3a19mcmFtZV9jb3JlX2dvbmUoRXZhc19PYmpl
Y3QgKm8pOwogCiB2b2lkICAgICAgICAgICAgICBld2tfZnJhbWVfbG9hZF9zdGFydGVkKEV2YXNf
T2JqZWN0ICpvKTsKK3ZvaWQgICAgICAgICAgICAgIGV3a19mcmFtZV9sb2FkX3Byb3Zpc2lvbmFs
KEV2YXNfT2JqZWN0ICpvKTsKK3ZvaWQgICAgICAgICAgICAgIGV3a19mcmFtZV9sb2FkX2ZpcnN0
bGF5b3V0X2ZpbmlzaGVkKEV2YXNfT2JqZWN0ICpvKTsKK3ZvaWQgICAgICAgICAgICAgIGV3a19m
cmFtZV9sb2FkX2ZpcnN0bGF5b3V0X25vbmVtcHR5X2ZpbmlzaGVkKEV2YXNfT2JqZWN0ICpvKTsK
K3ZvaWQgICAgICAgICAgICAgIGV3a19mcmFtZV9sb2FkX2RvY3VtZW50X2ZpbmlzaGVkKEV2YXNf
T2JqZWN0ICpvKTsKIHZvaWQgICAgICAgICAgICAgIGV3a19mcmFtZV9sb2FkX2ZpbmlzaGVkKEV2
YXNfT2JqZWN0ICpvLCBjb25zdCBjaGFyICplcnJvcl9kb21haW4sIGludCBlcnJvcl9jb2RlLCBF
aW5hX0Jvb2wgaXNfY2FuY2VsbGF0aW9uLCBjb25zdCBjaGFyICplcnJvcl9kZXNjcmlwdGlvbiwg
Y29uc3QgY2hhciAqZmFpbGluZ191cmwpOwogdm9pZCAgICAgICAgICAgICAgZXdrX2ZyYW1lX2xv
YWRfZXJyb3IoRXZhc19PYmplY3QgKm8sIGNvbnN0IGNoYXIgKmVycm9yX2RvbWFpbiwgaW50IGVy
cm9yX2NvZGUsIEVpbmFfQm9vbCBpc19jYW5jZWxsYXRpb24sIGNvbnN0IGNoYXIgKmVycm9yX2Rl
c2NyaXB0aW9uLCBjb25zdCBjaGFyICpmYWlsaW5nX3VybCk7CiB2b2lkICAgICAgICAgICAgICBl
d2tfZnJhbWVfbG9hZF9wcm9ncmVzc19jaGFuZ2VkKEV2YXNfT2JqZWN0ICpvKTsKIAordm9pZCAg
ICAgICAgICAgICAgZXdrX2ZyYW1lX3JlcXVlc3Rfd2lsbF9zZW5kKEV2YXNfT2JqZWN0ICpvLCBF
d2tfRnJhbWVfUmVzb3VyY2VfUmVxdWVzdCAqcmVxdWVzdCk7Cit2b2lkICAgICAgICAgICAgICBl
d2tfZnJhbWVfcmVxdWVzdF9hc3NpZ25faWRlbnRpZmllcihFdmFzX09iamVjdCAqbywgY29uc3Qg
RXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVlc3QgKnJlcXVlc3QpOwordm9pZCAgICAgICAgICAgICAg
ZXdrX2ZyYW1lX3ZpZXdfc3RhdGVfc2F2ZShFdmFzX09iamVjdCAqbywgV2ViQ29yZTo6SGlzdG9y
eUl0ZW0qIGl0ZW0pOworCit2b2lkICAgICAgICAgICAgICBld2tfZnJhbWVfZGlkX3BlcmZvcm1f
Zmlyc3RfbmF2aWdhdGlvbihFdmFzX09iamVjdCAqbyk7CisKIHZvaWQgICAgICAgICAgICAgIGV3
a19mcmFtZV9jb250ZW50c19zaXplX2NoYW5nZWQoRXZhc19PYmplY3QgKm8sIEV2YXNfQ29vcmQg
dywgRXZhc19Db29yZCBoKTsKIHZvaWQgICAgICAgICAgICAgIGV3a19mcmFtZV90aXRsZV9zZXQo
RXZhc19PYmplY3QgKm8sIGNvbnN0IGNoYXIgKnRpdGxlKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>60775</attachid>
            <date>2010-07-07 14:01:03 -0700</date>
            <delta_ts>2010-07-08 07:37:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-41005-20100707180155.patch</filename>
            <type>text/plain</type>
            <size>16568</size>
            <attacher name="Lucas De Marchi">lucas.de.marchi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9DaGFuZ2VMb2cgYi9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDEx
N2YwNjhlYjRhNTdkYzYwNzU0YWY0ODJhMTZlMzQyNWVjM2YwZDMuLmEwMTVlZmExNzI3ODM1MmFl
ODQyNzAyZmI0MTY3ZWU2YjMwODAzNWYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9DaGFuZ2VMb2cKKysr
IGIvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDEwLTA3LTA3ICBMdWNhcyBE
ZSBNYXJjaGkgIDxsdWNhcy5kZW1hcmNoaUBwcm9mdXNpb24ubW9iaT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbRUZMXSBJbXBsZW1lbnQgc2V2ZXJh
bCBub3RpZmljYXRpb24gaG9va3MgaW4gRnJhbWVMb2FkZXJDbGllbnQuCisgICAgICAgIFdlIGp1
c3Qgbm90aWZ5IGJyb3dzZXIsIG1ha2luZyB0aGUgYXBwcm9wcmlhdGUgdHlwZSBjb252ZXJzaW9u
cyBhYm91dAorICAgICAgICB0aGUgZXZlbnRzIG9jY3VycmluZyBpbiBXZWJDb3JlLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDEwMDUKKworICAgICAg
ICAqIGVmbC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0Y2hXaWxsU2VuZFJlcXVlc3Qp
OiBhbGxvYyAyIG5ldworICAgICAgICB3cmFwcGVyIHN0cnVjdHVyZXMgaW4gc3RhY2sgaW4gb3Jk
ZXIgdG8gZ2l2ZSBjbGllbnQgdGhlIG9wcG9ydHVuaXR5IHRvCisgICAgICAgIGNoYW5nZSBwYXJh
bWV0ZXJzLiBUaGVuLCBjYWxsIHRoZSBmdW5jdGlvbiBpdCBkZWZpbmVzLgorICAgICAgICAoV2Vi
Q29yZTo6RnJhbWVMb2FkZXJDbGllbnRFZmw6OmFzc2lnbklkZW50aWZpZXJUb0luaXRpYWxSZXF1
ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50RWZsOjpkaWRQZXJmb3Jt
Rmlyc3ROYXZpZ2F0aW9uKTogbm90aWZ5CisgICAgICAgIGNsaWVudC4KKyAgICAgICAgKFdlYkNv
cmU6OkZyYW1lTG9hZGVyQ2xpZW50RWZsOjpzYXZlVmlld1N0YXRlVG9JdGVtKTogbm90aWZ5IGNs
aWVudC4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50RWZsOjpyZXN0b3JlVmll
d1N0YXRlKTogbm90aWZ5IGNsaWVudC4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xp
ZW50RWZsOjpkaXNwYXRjaERpZENoYW5nZUxvY2F0aW9uV2l0aGluUGFnZSk6CisgICAgICAgIG5v
dGlmeSBicm93c2VyIHRoYXQgdGhlIHVybCBjaGFuZ2VkLgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWVMb2FkZXJDbGllbnRFZmw6OmRpc3BhdGNoRGlkUmVjZWl2ZUljb24pOiBub3RpZnkKKyAgICAg
ICAgYnJvd3Nlci4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50RWZsOjpkaXNw
YXRjaERpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkKToKKyAgICAgICAgbm90aWZ5IGJyb3dzZXIuCisg
ICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0Y2hEaWRGaW5pc2hE
b2N1bWVudExvYWQpOiBub3RpZnkKKyAgICAgICAgYnJvd3Nlci4KKyAgICAgICAgKFdlYkNvcmU6
OkZyYW1lTG9hZGVyQ2xpZW50RWZsOjpkaXNwYXRjaERpZEZpcnN0TGF5b3V0KTogbm9yaWZ5Cisg
ICAgICAgIGJyb3dzZXIuCisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudEVmbDo6
ZGlzcGF0Y2hEaWRGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXQpOgorICAgICAgICBub3RpZnkg
YnJvd3Nlci4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50RWZsOjpkaXNwYXRj
aFNob3cpOiBub3RpZnkgYnJvd3Nlci4KKyAgICAgICAgKiBlZmwvZXdrL2V3a19mcmFtZS5jcHA6
CisgICAgICAgIChld2tfZnJhbWVfcmVxdWVzdF93aWxsX3NlbmQpOiBlbWl0IHNpZ25hbCBub3Rp
ZnlpbmcgYnJvd3Nlci4KKyAgICAgICAgKGV3a19mcmFtZV9yZXF1ZXN0X2Fzc2lnbl9pZGVudGlm
aWVyKTogZW1pdCBzaWduYWwgbm90aWZ5aW5nIGJyb3dzZXIuCisgICAgICAgIChld2tfZnJhbWVf
ZGlkX3BlcmZvcm1fZmlyc3RfbmF2aWdhdGlvbik6IGVtaXQgc2lnbmFsIG5vdGlmeWluZyBicm93
c2VyLgorICAgICAgICAoZXdrX2ZyYW1lX3ZpZXdfc3RhdGVfc2F2ZSk6IGVtaXQgc2lnbmFsIG5v
dGlmeWluZyBicm93c2VyLgorICAgICAgICAoZXdrX2ZyYW1lX2xvYWRfcHJvdmlzaW9uYWwpOiBl
bWl0IHNpZ25hbCBub3RpZnlpbmcgYnJvd3Nlci4KKyAgICAgICAgKGV3a19mcmFtZV9sb2FkX2Zp
cnN0bGF5b3V0X2ZpbmlzaGVkKTogZW1pdCBzaWduYWwgbm90aWZ5aW5nIGJyb3dzZXIuCisgICAg
ICAgIChld2tfZnJhbWVfbG9hZF9maXJzdGxheW91dF9ub25lbXB0eV9maW5pc2hlZCk6IGVtaXQg
c2lnbmFsIG5vdGlmeWluZyBicm93c2VyLgorICAgICAgICAoZXdrX2ZyYW1lX2xvYWRfZG9jdW1l
bnRfZmluaXNoZWQpOiBlbWl0IHNpZ25hbCBub3RpZnlpbmcgYnJvd3Nlci4KKyAgICAgICAgKiBl
ZmwvZXdrL2V3a19mcmFtZS5oOiB1cGRhdGUgZG9jdW1lbnRhdGlvbiBhYm91dCBzaWduYWxzIGJl
aW5nIHNlbnQKKyAgICAgICAgYW5kIGltcGxlbWVudCB3cmFwcGVyIHN0cnVjdCBmb3IgUmVzb3Vy
Y2VSZXF1ZXN0LgorICAgICAgICAqIGVmbC9ld2svZXdrX3ByaXZhdGUuaDogZXhwb3J0IHByaXZh
dGUgZnVuY3Rpb25zLgorCiAyMDEwLTA3LTA3ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBh
cHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KZGlmZiAtLWdpdCBh
L1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwuY3BwIGIvV2Vi
S2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5jcHAKaW5kZXggYTFk
NGY5MGQ3ZjYwMjcyM2ZiNmE4NmYzMWU4ODI2ZmZjNGY2ZDdhOC4uMzBhYWRlYzBjYWE1ZDhjYzE0
YTA0YzY0ZGJmYzVlM2Y2ZmE2MzcyMSAxMDA2NDQKLS0tIGEvV2ViS2l0L2VmbC9XZWJDb3JlU3Vw
cG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5jcHAKKysrIGIvV2ViS2l0L2VmbC9XZWJDb3JlU3Vw
cG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5jcHAKQEAgLTI1MSw5ICsyNTEsMjUgQEAgdm9pZCBG
cmFtZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0Y2hEaWRDYW5jZWxBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZShEb2N1bWVudExvYWQKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCi12b2lkIEZyYW1l
TG9hZGVyQ2xpZW50RWZsOjpkaXNwYXRjaFdpbGxTZW5kUmVxdWVzdChEb2N1bWVudExvYWRlcios
IHVuc2lnbmVkIGxvbmcsIFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2Um
KQordm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0Y2hXaWxsU2VuZFJlcXVlc3QoRG9j
dW1lbnRMb2FkZXIqIGxvYWRlciwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBSZXNvdXJjZVJl
cXVlc3QmIGNvcmVSZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBjb3JlUmVzcG9uc2Up
CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBDU3RyaW5nIHVybCA9IGNvcmVSZXF1ZXN0
LnVybCgpLnByZXR0eVVSTCgpLnV0ZjgoKTsKKyAgICBEQkcoIlJlc291cmNlIHVybD0lcyIsIHVy
bC5kYXRhKCkpOworCisgICAgRXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVlc3QgcmVxdWVzdCA9IHsg
MCwgaWRlbnRpZmllciB9OworICAgIEV3a19GcmFtZV9SZXNvdXJjZV9SZXF1ZXN0IG9yaWcgPSBy
ZXF1ZXN0OyAvKiBJbml0aWFsaXplIGNvbnN0IGZpZWxkcy4gKi8KKworICAgIG9yaWcudXJsID0g
cmVxdWVzdC51cmwgPSB1cmwuZGF0YSgpOworCisgICAgZXdrX2ZyYW1lX3JlcXVlc3Rfd2lsbF9z
ZW5kKG1fZnJhbWUsICZyZXF1ZXN0KTsKKworICAgIGlmIChyZXF1ZXN0LnVybCAhPSBvcmlnLnVy
bCkgeworICAgICAgICBjb3JlUmVxdWVzdC5zZXRVUkwoS1VSTChLVVJMKCksIHJlcXVlc3QudXJs
KSk7CisKKyAgICAgICAgLy8gQ2FsbGluZyBjbGllbnQgbWlnaHQgaGF2ZSBjaGFuZ2VkIG91ciB1
cmwgcG9pbnRlci4KKyAgICAgICAgLy8gRnJlZSB0aGUgbmV3IGFsbG9jYXRlZCBzdHJpbmcuCisg
ICAgICAgIGZyZWUoY29uc3RfY2FzdDxjaGFyKj4ocmVxdWVzdC51cmwpKTsKKyAgICB9CiB9CiAK
IGJvb2wgRnJhbWVMb2FkZXJDbGllbnRFZmw6OnNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlKERv
Y3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9uZykKQEAgLTI2Miw5ICsyNzgsMTMgQEAgYm9vbCBG
cmFtZUxvYWRlckNsaWVudEVmbDo6c2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2UoRG9jdW1lbnRM
b2FkZXIqLCB1bnNpZ25lZAogICAgIHJldHVybiBmYWxzZTsKIH0KIAotdm9pZCBGcmFtZUxvYWRl
ckNsaWVudEVmbDo6YXNzaWduSWRlbnRpZmllclRvSW5pdGlhbFJlcXVlc3QodW5zaWduZWQgbG9u
ZyBpZGVudGlmaWVyLCBEb2N1bWVudExvYWRlciosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYpCit2
b2lkIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjphc3NpZ25JZGVudGlmaWVyVG9Jbml0aWFsUmVxdWVz
dCh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIERvY3VtZW50TG9hZGVyKiwgY29uc3QgUmVzb3Vy
Y2VSZXF1ZXN0JiBjb3JlUmVxdWVzdCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIENT
dHJpbmcgdXJsID0gY29yZVJlcXVlc3QudXJsKCkucHJldHR5VVJMKCkudXRmOCgpOworICAgIERC
RygiUmVzb3VyY2UgdXJsPSVzIiwgdXJsLmRhdGEoKSk7CisKKyAgICBFd2tfRnJhbWVfUmVzb3Vy
Y2VfUmVxdWVzdCByZXF1ZXN0ID0geyAwLCBpZGVudGlmaWVyIH07CisgICAgZXdrX2ZyYW1lX3Jl
cXVlc3RfYXNzaWduX2lkZW50aWZpZXIobV9mcmFtZSwgJnJlcXVlc3QpOwogfQogCiB2b2lkIEZy
YW1lTG9hZGVyQ2xpZW50RWZsOjpwb3N0UHJvZ3Jlc3NTdGFydGVkTm90aWZpY2F0aW9uKCkKQEAg
LTQyMyw3ICs0NDMsNyBAQCB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjpkb2N1bWVudEVsZW1l
bnRBdmFpbGFibGUoKQogCiB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjpkaWRQZXJmb3JtRmly
c3ROYXZpZ2F0aW9uKCkgY29uc3QKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIGV3a19m
cmFtZV9kaWRfcGVyZm9ybV9maXJzdF9uYXZpZ2F0aW9uKG1fZnJhbWUpOwogfQogCiB2b2lkIEZy
YW1lTG9hZGVyQ2xpZW50RWZsOjpyZWdpc3RlckZvckljb25Ob3RpZmljYXRpb24oYm9vbCkKQEAg
LTQ1OCwxNCArNDc4LDE3IEBAIHZvaWQgRnJhbWVMb2FkZXJDbGllbnRFZmw6OmZyYW1lTG9hZENv
bXBsZXRlZCgpCiAgICAgLy8gTm90ZTogQ2FuIGJlIGNhbGxlZCBtdWx0aXBsZSB0aW1lcy4KIH0K
IAotdm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6c2F2ZVZpZXdTdGF0ZVRvSXRlbShIaXN0b3J5
SXRlbSopCit2b2lkIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjpzYXZlVmlld1N0YXRlVG9JdGVtKEhp
c3RvcnlJdGVtKiBpdGVtKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgZXdrX2ZyYW1l
X3ZpZXdfc3RhdGVfc2F2ZShtX2ZyYW1lLCBpdGVtKTsKIH0KIAogdm9pZCBGcmFtZUxvYWRlckNs
aWVudEVmbDo6cmVzdG9yZVZpZXdTdGF0ZSgpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAg
ICBBU1NFUlQobV9mcmFtZSk7CisgICAgQVNTRVJUKG1fdmlldyk7CisKKyAgICBld2tfdmlld19y
ZXN0b3JlX3N0YXRlKG1fdmlldywgbV9mcmFtZSk7CiB9CiAKIHZvaWQgRnJhbWVMb2FkZXJDbGll
bnRFZmw6OnVwZGF0ZUdsb2JhbEhpc3RvcnlSZWRpcmVjdExpbmtzKCkKQEAgLTU0NCw3ICs1Njcs
MTEgQEAgdm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0Y2hXaWxsUGVyZm9ybUNsaWVu
dFJlZGlyZWN0KGNvbnN0IEtVUkwmLCBkb3VibGUKIAogdm9pZCBGcmFtZUxvYWRlckNsaWVudEVm
bDo6ZGlzcGF0Y2hEaWRDaGFuZ2VMb2NhdGlvbldpdGhpblBhZ2UoKQogewotICAgIG5vdEltcGxl
bWVudGVkKCk7CisgICAgZXdrX2ZyYW1lX3VyaV9jaGFuZ2VkKG1fZnJhbWUpOworCisgICAgaWYg
KGV3a192aWV3X2ZyYW1lX21haW5fZ2V0KG1fdmlldykgIT0gbV9mcmFtZSkKKyAgICAgICAgcmV0
dXJuOworICAgIGV3a192aWV3X3VyaV9jaGFuZ2VkKG1fdmlldyk7CiB9CiAKIHZvaWQgRnJhbWVM
b2FkZXJDbGllbnRFZmw6OmRpc3BhdGNoV2lsbENsb3NlKCkKQEAgLTU1NCwxMCArNTgxLDE4IEBA
IHZvaWQgRnJhbWVMb2FkZXJDbGllbnRFZmw6OmRpc3BhdGNoV2lsbENsb3NlKCkKIAogdm9pZCBG
cmFtZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0Y2hEaWRSZWNlaXZlSWNvbigpCiB7CisgICAgLyog
cmVwb3J0IHJlY2VpdmVkIGZhdmljb24gb25seSBmb3IgbWFpbiBmcmFtZS4gKi8KKyAgICBpZiAo
ZXdrX3ZpZXdfZnJhbWVfbWFpbl9nZXQobV92aWV3KSAhPSBtX2ZyYW1lKQorICAgICAgICByZXR1
cm47CisKKyAgICBld2tfdmlld19mcmFtZV9tYWluX2ljb25fcmVjZWl2ZWQobV92aWV3KTsKIH0K
IAogdm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0Y2hEaWRTdGFydFByb3Zpc2lvbmFs
TG9hZCgpCiB7CisgICAgZXdrX2ZyYW1lX2xvYWRfcHJvdmlzaW9uYWwobV9mcmFtZSk7CisgICAg
aWYgKGV3a192aWV3X2ZyYW1lX21haW5fZ2V0KG1fdmlldykgPT0gbV9mcmFtZSkKKyAgICAgICAg
ZXdrX3ZpZXdfbG9hZF9wcm92aXNpb25hbChtX3ZpZXcpOwogfQogCiB2b2lkIEZyYW1lTG9hZGVy
Q2xpZW50RWZsOjpkaXNwYXRjaERpZFJlY2VpdmVUaXRsZShjb25zdCBTdHJpbmcmIHRpdGxlKQpA
QCAtNTkxLDIzICs2MjYsMjMgQEAgdm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0Y2hE
aWRDb21taXRMb2FkKCkKIAogdm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0Y2hEaWRG
aW5pc2hEb2N1bWVudExvYWQoKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgZXdrX2Zy
YW1lX2xvYWRfZG9jdW1lbnRfZmluaXNoZWQobV9mcmFtZSk7CiB9CiAKIHZvaWQgRnJhbWVMb2Fk
ZXJDbGllbnRFZmw6OmRpc3BhdGNoRGlkRmlyc3RMYXlvdXQoKQogewotICAgIC8vIGVtaXQgbV9m
cmFtZS0+aW5pdGlhbExheW91dENvbXBsZXRlZCgpOwogICAgIG1faW5pdExheW91dENvbXBsZXRl
ZCA9IHRydWU7CisgICAgZXdrX2ZyYW1lX2xvYWRfZmlyc3RsYXlvdXRfZmluaXNoZWQobV9mcmFt
ZSk7CiB9CiAKIHZvaWQgRnJhbWVMb2FkZXJDbGllbnRFZmw6OmRpc3BhdGNoRGlkRmlyc3RWaXN1
YWxseU5vbkVtcHR5TGF5b3V0KCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIGV3a19m
cmFtZV9sb2FkX2ZpcnN0bGF5b3V0X25vbmVtcHR5X2ZpbmlzaGVkKG1fZnJhbWUpOwogfQogCiB2
b2lkIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjpkaXNwYXRjaFNob3coKQogewotICAgIG5vdEltcGxl
bWVudGVkKCk7CisgICAgZXdrX3ZpZXdfbG9hZF9zaG93KG1fdmlldyk7CiB9CiAKIHZvaWQgRnJh
bWVMb2FkZXJDbGllbnRFZmw6OmNhbmNlbFBvbGljeUNoZWNrKCkKZGlmZiAtLWdpdCBhL1dlYktp
dC9lZmwvZXdrL2V3a19mcmFtZS5jcHAgYi9XZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUuY3BwCmlu
ZGV4IGVjNTYyMjE5ZDE1YThmYzY5MzBiM2M1MGIzNDIwODdhZGFjNjcwYTQuLmNhNzZmMDI2Yzk4
NjIyZmQ3YjExN2FlOWIxNWY3MDdkZWEzOTU5MzggMTAwNjQ0Ci0tLSBhL1dlYktpdC9lZmwvZXdr
L2V3a19mcmFtZS5jcHAKKysrIGIvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmNwcApAQCAtMzEs
NiArMzEsNyBAQAogI2luY2x1ZGUgIkZyYW1lVHJlZS5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5o
IgogI2luY2x1ZGUgIkhUTUxQbHVnSW5FbGVtZW50LmgiCisjaW5jbHVkZSAiSGlzdG9yeUl0ZW0u
aCIKICNpbmNsdWRlICJIaXRUZXN0UmVzdWx0LmgiCiAjaW5jbHVkZSAiS1VSTC5oIgogI2luY2x1
ZGUgIlBsYXRmb3JtS2V5Ym9hcmRFdmVudC5oIgpAQCAtMTYzMyw2ICsxNjM0LDcwIEBAIFdlYkNv
cmU6OkZyYW1lKiBld2tfZnJhbWVfY29yZV9nZXQoY29uc3QgRXZhc19PYmplY3QqIG8pCiAKIC8q
KgogICogQGludGVybmFsCisgKiBSZXBvcnRzIGEgcmVzb3VyY2Ugd2lsbCBiZSByZXF1ZXN0ZWQu
IFVzZXIgbWF5IG92ZXJyaWRlIGJlaGF2aW9yIG9mIHdlYmtpdCBieQorICogY2hhbmdpbmcgdmFs
dWVzIGluIEBwYXJhbSByZXF1ZXN0LgorICoKKyAqIEBwYXJhbSBvIEZyYW1lLgorICogQHBhcmFt
IHJlcXVlc3QgUmVxdWVzdCBkZXRhaWxzIHRoYXQgdXNlciBtYXkgb3ZlcnJpZGUuIFdoZW5ldmVy
IHZhbHVlcyBvbgorICogdGhpcyBzdHJ1Y3QgY2hhbmdlcywgaXQgbXVzdCBiZSBwcm9wZXJseSBt
YWxsb2MnZCBhcyBpdCB3aWxsIGJlIGZyZWVkCisgKiBhZnRlcndhcmRzLgorICoKKyAqIEVtaXRz
IHNpZ25hbDogInJlc291cmNlLHJlcXVlc3Qsd2lsbHNlbmQiCisgKi8KK3ZvaWQgZXdrX2ZyYW1l
X3JlcXVlc3Rfd2lsbF9zZW5kKEV2YXNfT2JqZWN0ICpvLCBFd2tfRnJhbWVfUmVzb3VyY2VfUmVx
dWVzdCAqcmVxdWVzdCkKK3sKKyAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19jYWxsKG8s
ICJyZXNvdXJjZSxyZXF1ZXN0LHdpbGxzZW5kIiwgcmVxdWVzdCk7Cit9CisKKy8qKgorICogQGlu
dGVybmFsCisgKiBSZXBvcnRzIHRoYXQgdGhlcmUncyBhIG5ldyByZXNvdXJjZS4KKyAqCisgKiBA
cGFyYW0gbyBGcmFtZS4KKyAqIEBwYXJhbSByZXF1ZXN0IE5ldyByZXF1ZXN0IGRldGFpbHMuIE5v
IGNoYW5nZXMgYXJlIGFsbG93ZWQgdG8gZmllbGRzLgorICoKKyAqIEVtaXRzIHNpZ25hbDogInJl
c291cmNlLHJlcXVlc3QsbmV3IgorICovCit2b2lkIGV3a19mcmFtZV9yZXF1ZXN0X2Fzc2lnbl9p
ZGVudGlmaWVyKEV2YXNfT2JqZWN0ICpvLCBjb25zdCBFd2tfRnJhbWVfUmVzb3VyY2VfUmVxdWVz
dCAqcmVxdWVzdCkKK3sKKyAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19jYWxsKG8sICJy
ZXNvdXJjZSxyZXF1ZXN0LG5ldyIsICh2b2lkICopcmVxdWVzdCk7Cit9CisKKy8qKgorICogQGlu
dGVybmFsCisgKiBSZXBvcnRzIHRoYXQgZmlyc3QgbmF2aWdhdGlvbiBvY2N1cnJlZAorICoKKyAq
IEBwYXJhbSBvIEZyYW1lLgorICoKKyAqIEVtaXRzIHNpZ25hbDogIm5hdmlnYXRpb24sZmlyc3Qi
CisgKi8KK3ZvaWQgZXdrX2ZyYW1lX2RpZF9wZXJmb3JtX2ZpcnN0X25hdmlnYXRpb24oRXZhc19P
YmplY3QgKm8pCit7CisgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfY2FsbChvLCAibmF2
aWdhdGlvbixmaXJzdCIsIDApOworfQorCisvKioKKyAqIEBpbnRlcm5hbAorICogUmVwb3J0cyBm
cmFtZSB3aWxsIGJlIHNhdmVkIHRvIGN1cnJlbnQgc3RhdGUKKyAqCisgKiBAcGFyYW0gbyBGcmFt
ZS4KKyAqIEBwYXJhbSBpdGVtIEhpc3RvcnkgaXRlbSB0byBzYXZlIGRldGFpbHMgdG8uCisgKgor
ICogRW1pdHMgc2lnbmFsOiAic3RhdGUsc2F2ZSIKKyAqLwordm9pZCBld2tfZnJhbWVfdmlld19z
dGF0ZV9zYXZlKEV2YXNfT2JqZWN0ICpvLCBXZWJDb3JlOjpIaXN0b3J5SXRlbSogaXRlbSkKK3sK
KyAgICBjb25zdCBjaGFyICp0aXRsZSA9IGV3a19mcmFtZV90aXRsZV9nZXQobyk7CisgICAgY29u
c3QgY2hhciAqdXJpID0gZXdrX2ZyYW1lX3VyaV9nZXQobyk7CisKKyAgICBpdGVtLT5zZXRUaXRs
ZShXZWJDb3JlOjpTdHJpbmc6OmZyb21VVEY4KHRpdGxlKSk7CisgICAgaXRlbS0+c2V0VVJMU3Ry
aW5nKFdlYkNvcmU6OlN0cmluZzo6ZnJvbVVURjgodXJpKSk7CisKKyAgICBldmFzX29iamVjdF9z
bWFydF9jYWxsYmFja19jYWxsKG8sICJzdGF0ZSxzYXZlIiwgMCk7Cit9CisKKy8qKgorICogQGlu
dGVybmFsCiAgKiBSZXBvcnRzIHRoZSBmcmFtZSBzdGFydGVkIGxvYWRpbmcgc29tZXRoaW5nLgog
ICoKICAqIEVtaXRzIHNpZ25hbDogImxvYWQsc3RhcnRlZCIgd2l0aCBubyBwYXJhbWV0ZXJzLgpA
QCAtMTY1Miw2ICsxNzE3LDU4IEBAIHZvaWQgZXdrX2ZyYW1lX2xvYWRfc3RhcnRlZChFdmFzX09i
amVjdCogbykKIAogLyoqCiAgKiBAaW50ZXJuYWwKKyAqIFJlcG9ydHMgdGhlIGZyYW1lIHN0YXJ0
ZWQgcHJvdmlzaW9uYWwgbG9hZC4KKyAqCisgKiBAcGFyYW0gbyBGcmFtZS4KKyAqCisgKiBFbWl0
cyBzaWduYWw6ICJsb2FkLHByb3Zpc2lvbmFsIiB3aXRoIG5vIHBhcmFtZXRlcnMuCisgKi8KK3Zv
aWQgZXdrX2ZyYW1lX2xvYWRfcHJvdmlzaW9uYWwoRXZhc19PYmplY3QqIG8pCit7CisgICAgZXZh
c19vYmplY3Rfc21hcnRfY2FsbGJhY2tfY2FsbChvLCAibG9hZCxwcm92aXNpb25hbCIsIDApOwor
fQorCisvKioKKyAqIEBpbnRlcm5hbAorICogUmVwb3J0cyB0aGUgZnJhbWUgZmluaXNoZWQgZmly
c3QgbGF5b3V0LgorICoKKyAqIEBwYXJhbSBvIEZyYW1lLgorICoKKyAqIEVtaXRzIHNpZ25hbDog
ImxvYWQsZmlyc3RsYXlvdXQsZmluaXNoZWQiIHdpdGggbm8gcGFyYW1ldGVycy4KKyAqLwordm9p
ZCBld2tfZnJhbWVfbG9hZF9maXJzdGxheW91dF9maW5pc2hlZChFdmFzX09iamVjdCAqbykKK3sK
KyAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19jYWxsKG8sICJsb2FkLGZpcnN0bGF5b3V0
LGZpbmlzaGVkIiwgMCk7Cit9CisKKy8qKgorICogQGludGVybmFsCisgKiBSZXBvcnRzIHRoZSBm
cmFtZSBmaW5pc2hlZCBmaXJzdCBub24gZW1wdHkgbGF5b3V0LgorICoKKyAqIEBwYXJhbSBvIEZy
YW1lLgorICoKKyAqIEVtaXRzIHNpZ25hbDogImxvYWQsbm9uZW1wdHlsYXlvdXQsZmluaXNoZWQi
IHdpdGggbm8gcGFyYW1ldGVycy4KKyAqLwordm9pZCBld2tfZnJhbWVfbG9hZF9maXJzdGxheW91
dF9ub25lbXB0eV9maW5pc2hlZChFdmFzX09iamVjdCAqbykKK3sKKyAgICBldmFzX29iamVjdF9z
bWFydF9jYWxsYmFja19jYWxsKG8sICJsb2FkLG5vbmVtcHR5bGF5b3V0LGZpbmlzaGVkIiwgMCk7
Cit9CisKKy8qKgorICogQGludGVybmFsCisgKiBSZXBvcnRzIHRoZSBsb2FkaW5nIG9mIGEgZG9j
dW1lbnQgaGFzIGZpbmlzaGVkIG9uIGZyYW1lLgorICoKKyAqIEBwYXJhbSBvIEZyYW1lLgorICoK
KyAqIEVtaXRzIHNpZ25hbDogImxvYWQsZG9jdW1lbnQsZmluaXNoZWQiIHdpdGggbm8gcGFyYW1l
dGVycy4KKyAqLwordm9pZCBld2tfZnJhbWVfbG9hZF9kb2N1bWVudF9maW5pc2hlZChFdmFzX09i
amVjdCAqbykKK3sKKyAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19jYWxsKG8sICJsb2Fk
LGRvY3VtZW50LGZpbmlzaGVkIiwgMCk7Cit9CisKKy8qKgorICogQGludGVybmFsCiAgKiBSZXBv
cnRzIGxvYWQgZmluaXNoZWQsIG9wdGlvbmFsbHkgd2l0aCBlcnJvciBpbmZvcm1hdGlvbi4KICAq
CiAgKiBFbWl0cyBzaWduYWw6ICJsb2FkLGZpbmlzaGVkIiB3aXRoIHBvaW50ZXIgdG8gRXdrX0Zy
YW1lX0xvYWRfRXJyb3IKZGlmZiAtLWdpdCBhL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5oIGIv
V2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmgKaW5kZXggYzcxMjY5YmYxNDcwOTg5MjJkMmI1MzIw
M2Q1YWQ5NDJlZjkzNGJiNy4uMWE5ZmU4MTk1ODE0YWZiNTVjOTBiYTk3MWFlZjAyNWVhNDI3MmYz
YyAxMDA2NDQKLS0tIGEvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmgKKysrIGIvV2ViS2l0L2Vm
bC9ld2svZXdrX2ZyYW1lLmgKQEAgLTQ4LDE2ICs0OCwyOCBAQCBleHRlcm4gIkMiIHsKICAqCiAg
KiAgLSAidGl0bGUsY2hhbmdlZCIsIGNvbnN0IGNoYXIqOiB0aXRsZSBvZiB0aGUgbWFpbiBmcmFt
ZSBjaGFuZ2VkLgogICogIC0gInVyaSxjaGFuZ2VkIiwgY29uc3QgY2hhcio6IHVyaSBvZiB0aGUg
bWFpbiBmcmFtZSBjaGFuZ2VkLgorICogIC0gImxvYWQsZG9jdW1lbnQsZmluaXNoZWQiLCB2b2lk
OiBsb2FkaW5nIG9mIGEgZG9jdW1lbnQgaGFzCisgKiAgICBmaW5pc2hlZCBvbiB0aGlzIGZyYW1l
LgorICogIC0gImxvYWQsbm9uZW1wdHlsYXlvdXQsZmluaXNoZWQiLCB2b2lkOiBmcmFtZSBmaW5p
c2hlZCBmaXJzdAorICogICAgbm9uLWVtcHR5IGxheW91dC4KICAqICAtICJsb2FkLHN0YXJ0ZWQi
LCB2b2lkOiBmcmFtZSBzdGFydGVkIGxvYWRpbmcuCiAgKiAgLSAibG9hZCxwcm9ncmVzcyIsIGRv
dWJsZSo6IGxvYWQgcHJvZ3Jlc3MgY2hhbmdlZCAob3ZlcmFsbCB2YWx1ZQogICogICAgZnJvbSAw
LjAgdG8gMS4wLCBjb25uZWN0IHRvIGluZGl2aWR1YWwgZnJhbWVzIGZvciBmaW5lIGdyYWluZWQp
LgogICogIC0gImxvYWQsZmluaXNoZWQiLCBjb25zdCBFd2tfRnJhbWVfTG9hZF9FcnJvcio6IHJl
cG9ydHMgbG9hZAogICogICAgZmluaXNoZWQgYW5kIGFzIGFyZ3VtZW50IEBjIE5VTEwgaWYgc3Vj
Y2Vzc2Z1bGx5IG9yIHBvaW50ZXIgdG8KICAqICAgIHN0cnVjdHVyZSBkZWZpbmluZyB0aGUgZXJy
b3IuCisgKiAgLSAibG9hZCxwcm92aXNpb25hbCIsIHZvaWQ6IGZyYW1lIHN0YXJ0ZWQgcHJvdmlz
aW9uYWwgbG9hZC4KKyAqICAtICJsb2FkLGZpcnN0bGF5b3V0LGZpbmlzaGVkIiwgdm9pZDogZnJh
bWUgZmluaXNoZWQgZmlyc3QgbGF5b3V0LgogICogIC0gImxvYWQsZXJyb3IiLCBjb25zdCBFd2tf
RnJhbWVfTG9hZF9FcnJvcio6IHJlcG9ydHMgbG9hZCBmYWlsZWQKICAqICAgIGFuZCBhcyBhcmd1
bWVudCBhIHBvaW50ZXIgdG8gc3RydWN0dXJlIGRlZmluaW5nIHRoZSBlcnJvci4KICAqICAtICJj
b250ZW50cyxzaXplLGNoYW5nZWQiLCBFdmFzX0Nvb3JkWzJdOiByZXBvcnRzIGNvbnRlbnRzIHNp
emUKICAqICAgIGNoYW5nZWQgZHVlIG5ldyBsYXlvdXQsIHNjcmlwdCBhY3Rpb25zIG9yIGFueSBv
dGhlciBldmVudHMuCisgKiAgLSAibmF2aWdhdGlvbixmaXJzdCIsIHZvaWQ6IGZpcnN0IG5hdmln
YXRpb24gb2NjdXJyZWQuCisgKiAgLSAicmVzb3VyY2UscmVxdWVzdCxuZXciLCBFd2tfRnJhbWVf
UmVzb3VyY2VfUmVxdWVzdCo6IHJlcG9ydHMgdGhhdAorICogICAgdGhlcmUncyBhIG5ldyByZXNv
dXJjZSByZXF1ZXN0LgorICogIC0gInJlc291cmNlLHJlcXVlc3Qsd2lsbHNlbmQiLCBFd2tfRnJh
bWVfUmVzb3VyY2VfUmVxdWVzdCo6IGEgcmVzb3VyY2Ugd2lsbAorICogICAgYmUgcmVxdWVzdGVk
LgorICogIC0gInN0YXRlLHNhdmUiLCB2b2lkOiBmcmFtZSdzIHN0YXRlIHdpbGwgYmUgc2F2ZWQg
YXMgYSBoaXN0b3J5IGl0ZW0uCiAgKi8KIAogCkBAIC04Miw2ICs5NCwxOSBAQCBzdHJ1Y3QgX0V3
a19GcmFtZV9Mb2FkX0Vycm9yIHsKIH07CiAKIC8qKgorICogU3RydWN0dXJlIHVzZWQgdG8gcmVw
b3J0IHJlc291cmNlIHJlcXVlc3RzCisgKgorICogRGV0YWlscyBnaXZlbiBiZWZvcmUgYSByZXNv
dXJjZSBpcyBsb2FkZWQgb24gYSBnaXZlbiBmcmFtZS4gSXQncyB1c2VkIGJ5CisgKiBld2tfZnJh
bWVfcmVxdWVzdF93aWxsX3NlbmQoKSB0byBpbmZvcm0gdGhlIGRldGFpbHMgb2YgYSB0by1iZS1s
b2FkZWQKKyAqIHJlc291cmNlLCBhbGxvd2luZyB0aGVtIHRvIGJlIG92ZXJyaWRkZW4uCisgKi8K
K3R5cGVkZWYgc3RydWN0IF9Fd2tfRnJhbWVfUmVzb3VyY2VfUmVxdWVzdCBFd2tfRnJhbWVfUmVz
b3VyY2VfUmVxdWVzdDsKK3N0cnVjdCBfRXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVlc3QgeworICAg
IGNvbnN0IGNoYXIgKnVybDsgLyoqPCB1cmwgb2YgdGhpcyByZXNvdXJjZSAqLworICAgIGNvbnN0
IHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllcjsgLyoqPCByZXNvdXJjZSdzIGlkZW50aWZpZXIuIENh
biBub3QgYmUgY2hhbmdlZCAqLworfTsKKworLyoqCiAgKiBTdHJ1Y3R1cmUgdXNlZCB0byByZXBv
cnQgaGl0IHRlc3QgcmVzdWx0cy4KICAqLwogdHlwZWRlZiBzdHJ1Y3QgX0V3a19IaXRfVGVzdCBF
d2tfSGl0X1Rlc3Q7CmRpZmYgLS1naXQgYS9XZWJLaXQvZWZsL2V3ay9ld2tfcHJpdmF0ZS5oIGIv
V2ViS2l0L2VmbC9ld2svZXdrX3ByaXZhdGUuaAppbmRleCA3NGM1ZmQxMjQ4ZmE4MjY0NTllOWJh
ZDhjYmUyNTgyZTY3YjNhNmYyLi40OTFkNDUzOGIxYmExNGM0YzQ2YjEyZjQxZTc5N2Y2YjNlN2Y1
MmYzIDEwMDY0NAotLS0gYS9XZWJLaXQvZWZsL2V3ay9ld2tfcHJpdmF0ZS5oCisrKyBiL1dlYktp
dC9lZmwvZXdrL2V3a19wcml2YXRlLmgKQEAgLTUyLDEwICs1MiwxNSBAQCB2b2lkICAgICAgICAg
ICAgIGV3a192aWV3X3JlYWR5KEV2YXNfT2JqZWN0ICpvKTsKIHZvaWQgICAgICAgICAgICAgZXdr
X3ZpZXdfdGl0bGVfc2V0KEV2YXNfT2JqZWN0ICpvLCBjb25zdCBjaGFyICp0aXRsZSk7CiB2b2lk
ICAgICAgICAgICAgIGV3a192aWV3X3VyaV9jaGFuZ2VkKEV2YXNfT2JqZWN0ICpvKTsKIHZvaWQg
ICAgICAgICAgICAgZXdrX3ZpZXdfbG9hZF9zdGFydGVkKEV2YXNfT2JqZWN0ICpvKTsKK3ZvaWQg
ICAgICAgICAgICAgZXdrX3ZpZXdfbG9hZF9wcm92aXNpb25hbChFdmFzX09iamVjdCAqbyk7CiB2
b2lkICAgICAgICAgICAgIGV3a192aWV3X2ZyYW1lX21haW5fbG9hZF9zdGFydGVkKEV2YXNfT2Jq
ZWN0ICpvKTsKK3ZvaWQgICAgICAgICAgICAgZXdrX3ZpZXdfZnJhbWVfbWFpbl9jbGVhcmVkKEV2
YXNfT2JqZWN0ICpvKTsKK3ZvaWQgICAgICAgICAgICAgZXdrX3ZpZXdfZnJhbWVfbWFpbl9pY29u
X3JlY2VpdmVkKEV2YXNfT2JqZWN0ICpvKTsKIHZvaWQgICAgICAgICAgICAgZXdrX3ZpZXdfbG9h
ZF9maW5pc2hlZChFdmFzX09iamVjdCAqbywgY29uc3QgRXdrX0ZyYW1lX0xvYWRfRXJyb3IgKmVy
cm9yKTsKIHZvaWQgICAgICAgICAgICAgZXdrX3ZpZXdfbG9hZF9lcnJvcihFdmFzX09iamVjdCAq
bywgY29uc3QgRXdrX0ZyYW1lX0xvYWRfRXJyb3IgKmVycm9yKTsKIHZvaWQgICAgICAgICAgICAg
ZXdrX3ZpZXdfbG9hZF9wcm9ncmVzc19jaGFuZ2VkKEV2YXNfT2JqZWN0ICpvKTsKK3ZvaWQgICAg
ICAgICAgICAgZXdrX3ZpZXdfbG9hZF9zaG93KEV2YXNfT2JqZWN0KiBvKTsKK3ZvaWQgICAgICAg
ICAgICAgZXdrX3ZpZXdfcmVzdG9yZV9zdGF0ZShFdmFzX09iamVjdCAqbywgRXZhc19PYmplY3Qg
KmZyYW1lKTsKIEV2YXNfT2JqZWN0ICAgICAqZXdrX3ZpZXdfd2luZG93X2NyZWF0ZShFdmFzX09i
amVjdCAqbywgRWluYV9Cb29sIGphdmFzY3JpcHQsIGNvbnN0IFdlYkNvcmU6OldpbmRvd0ZlYXR1
cmVzKiBjb3JlRmVhdHVyZXMpOwogCiB2b2lkICAgICAgICAgICAgIGV3a192aWV3X21vdXNlX2xp
bmtfaG92ZXJfaW4oRXZhc19PYmplY3QgKm8sIHZvaWQgKmRhdGEpOwpAQCAtMTE4LDEwICsxMjMs
MjAgQEAgV2ViQ29yZTo6RnJhbWUgICAqZXdrX2ZyYW1lX2NvcmVfZ2V0KGNvbnN0IEV2YXNfT2Jq
ZWN0ICpvKTsKIHZvaWQgICAgICAgICAgICAgIGV3a19mcmFtZV9jb3JlX2dvbmUoRXZhc19PYmpl
Y3QgKm8pOwogCiB2b2lkICAgICAgICAgICAgICBld2tfZnJhbWVfbG9hZF9zdGFydGVkKEV2YXNf
T2JqZWN0ICpvKTsKK3ZvaWQgICAgICAgICAgICAgIGV3a19mcmFtZV9sb2FkX3Byb3Zpc2lvbmFs
KEV2YXNfT2JqZWN0ICpvKTsKK3ZvaWQgICAgICAgICAgICAgIGV3a19mcmFtZV9sb2FkX2ZpcnN0
bGF5b3V0X2ZpbmlzaGVkKEV2YXNfT2JqZWN0ICpvKTsKK3ZvaWQgICAgICAgICAgICAgIGV3a19m
cmFtZV9sb2FkX2ZpcnN0bGF5b3V0X25vbmVtcHR5X2ZpbmlzaGVkKEV2YXNfT2JqZWN0ICpvKTsK
K3ZvaWQgICAgICAgICAgICAgIGV3a19mcmFtZV9sb2FkX2RvY3VtZW50X2ZpbmlzaGVkKEV2YXNf
T2JqZWN0ICpvKTsKIHZvaWQgICAgICAgICAgICAgIGV3a19mcmFtZV9sb2FkX2ZpbmlzaGVkKEV2
YXNfT2JqZWN0ICpvLCBjb25zdCBjaGFyICplcnJvcl9kb21haW4sIGludCBlcnJvcl9jb2RlLCBF
aW5hX0Jvb2wgaXNfY2FuY2VsbGF0aW9uLCBjb25zdCBjaGFyICplcnJvcl9kZXNjcmlwdGlvbiwg
Y29uc3QgY2hhciAqZmFpbGluZ191cmwpOwogdm9pZCAgICAgICAgICAgICAgZXdrX2ZyYW1lX2xv
YWRfZXJyb3IoRXZhc19PYmplY3QgKm8sIGNvbnN0IGNoYXIgKmVycm9yX2RvbWFpbiwgaW50IGVy
cm9yX2NvZGUsIEVpbmFfQm9vbCBpc19jYW5jZWxsYXRpb24sIGNvbnN0IGNoYXIgKmVycm9yX2Rl
c2NyaXB0aW9uLCBjb25zdCBjaGFyICpmYWlsaW5nX3VybCk7CiB2b2lkICAgICAgICAgICAgICBl
d2tfZnJhbWVfbG9hZF9wcm9ncmVzc19jaGFuZ2VkKEV2YXNfT2JqZWN0ICpvKTsKIAordm9pZCAg
ICAgICAgICAgICAgZXdrX2ZyYW1lX3JlcXVlc3Rfd2lsbF9zZW5kKEV2YXNfT2JqZWN0ICpvLCBF
d2tfRnJhbWVfUmVzb3VyY2VfUmVxdWVzdCAqcmVxdWVzdCk7Cit2b2lkICAgICAgICAgICAgICBl
d2tfZnJhbWVfcmVxdWVzdF9hc3NpZ25faWRlbnRpZmllcihFdmFzX09iamVjdCAqbywgY29uc3Qg
RXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVlc3QgKnJlcXVlc3QpOwordm9pZCAgICAgICAgICAgICAg
ZXdrX2ZyYW1lX3ZpZXdfc3RhdGVfc2F2ZShFdmFzX09iamVjdCAqbywgV2ViQ29yZTo6SGlzdG9y
eUl0ZW0qIGl0ZW0pOworCit2b2lkICAgICAgICAgICAgICBld2tfZnJhbWVfZGlkX3BlcmZvcm1f
Zmlyc3RfbmF2aWdhdGlvbihFdmFzX09iamVjdCAqbyk7CisKIHZvaWQgICAgICAgICAgICAgIGV3
a19mcmFtZV9jb250ZW50c19zaXplX2NoYW5nZWQoRXZhc19PYmplY3QgKm8sIEV2YXNfQ29vcmQg
dywgRXZhc19Db29yZCBoKTsKIHZvaWQgICAgICAgICAgICAgIGV3a19mcmFtZV90aXRsZV9zZXQo
RXZhc19PYmplY3QgKm8sIGNvbnN0IGNoYXIgKnRpdGxlKTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>