<?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>65358</bug_id>
          
          <creation_ts>2011-07-28 20:37:41 -0700</creation_ts>
          <short_desc>[EFL] Fix coding style of pointer type in ewk files</short_desc>
          <delta_ts>2011-07-28 21:44:00 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gyuyoung Kim">gyuyoung.kim</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>gyuyoung.kim</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>443796</commentid>
    <comment_count>0</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-07-28 20:37:41 -0700</bug_when>
    <thetext>Move &apos;*&apos; operator to variable side according to efl coding style. Because, &apos;*&apos; operator is next to variable in EFL coding style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>443797</commentid>
    <comment_count>1</comment_count>
      <attachid>102332</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-07-28 20:39:23 -0700</bug_when>
    <thetext>Created attachment 102332
Patch

This patch is for remained ewk files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>443798</commentid>
    <comment_count>2</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-07-28 20:40:01 -0700</bug_when>
    <thetext>Hello kent, please review this patch too. :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>443800</commentid>
    <comment_count>3</comment_count>
      <attachid>102332</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-07-28 20:45:16 -0700</bug_when>
    <thetext>Comment on attachment 102332
Patch

ok</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>443807</commentid>
    <comment_count>4</comment_count>
      <attachid>102332</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-28 21:43:55 -0700</bug_when>
    <thetext>Comment on attachment 102332
Patch

Clearing flags on attachment: 102332

Committed r91972: &lt;http://trac.webkit.org/changeset/91972&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>443808</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-28 21:44:00 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>102332</attachid>
            <date>2011-07-28 20:39:23 -0700</date>
            <delta_ts>2011-07-28 21:43:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch-codingstyle-ewk.patch</filename>
            <type>text/plain</type>
            <size>46537</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZwppbmRleCA3ODIzNTk1Li40OWM1NGM4IDEwMDc1NQotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTE1IEBACisyMDExLTA3LTI3ICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1A
c2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0VGTF0gRml4IGNvZGluZyBzdHlsZSBvZiBwb2ludGVy
IHR5cGUgaW4gZXdrIGZpbGVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NjUzNTgKKworICAgICAgICBNb3ZlICcqJyBvcGVyYXRvciB0byB2YXJpYWJs
ZSBzaWRlIGFjY29yZGluZyB0byBlZmwgY29kaW5nIHN0eWxlLgorICAgICAgICBCZWNhdXNlLCAn
Kicgb3BlcmF0b3IgaXMgbmV4dCB0byB2YXJpYWJsZSBpbiBFRkwgY29kaW5nIHN0eWxlLgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZXdrL2V3a19h
dXRoLmNwcDoKKyAgICAgICAgKGV3a19hdXRoX2NyZWRlbnRpYWxzX3NldCk6CisgICAgICAgICog
ZXdrL2V3a19hdXRoLmg6CisgICAgICAgICogZXdrL2V3a19hdXRoX3NvdXAuY3BwOgorICAgICAg
ICAoX0V3a19BdXRoX0RhdGE6OmV3a19hdXRoX3NvdXBfZGlhbG9nX2NsYXNzX2luaXQpOgorICAg
ICAgICAoX0V3a19BdXRoX0RhdGE6OmV3a19hdXRoX3NvdXBfZGlhbG9nX2luaXQpOgorICAgICAg
ICAoX0V3a19BdXRoX0RhdGE6OmV3a19hdXRoX3NvdXBfY3JlZGVudGlhbHNfc2V0KToKKyAgICAg
ICAgKF9Fd2tfQXV0aF9EYXRhOjpzZXNzaW9uX2F1dGhlbnRpY2F0ZSk6CisgICAgICAgIChfRXdr
X0F1dGhfRGF0YTo6ZnJlZV9hdXRoX2RhdGEpOgorICAgICAgICAoX0V3a19BdXRoX0RhdGE6OmF0
dGFjaCk6CisgICAgICAgIChfRXdrX0F1dGhfRGF0YTo6ZGV0YWNoKToKKyAgICAgICAgKiBld2sv
ZXdrX2F1dGhfc291cC5oOgorICAgICAgICAqIGV3ay9ld2tfY29udGV4dG1lbnUuY3BwOgorICAg
ICAgICAoZXdrX2NvbnRleHRfbWVudV9yZWYpOgorICAgICAgICAoZXdrX2NvbnRleHRfbWVudV91
bnJlZik6CisgICAgICAgIChld2tfY29udGV4dF9tZW51X2Rlc3Ryb3kpOgorICAgICAgICAoZXdr
X2NvbnRleHRfbWVudV9pdGVtX2xpc3RfZ2V0KToKKyAgICAgICAgKGV3a19jb250ZXh0X21lbnVf
aXRlbV9uZXcpOgorICAgICAgICAoZXdrX2NvbnRleHRfbWVudV9pdGVtX3NlbGVjdCk6CisgICAg
ICAgIChld2tfY29udGV4dF9tZW51X2l0ZW1fZnJlZSk6CisgICAgICAgIChld2tfY29udGV4dF9t
ZW51X2l0ZW1fdHlwZV9nZXQpOgorICAgICAgICAoZXdrX2NvbnRleHRfbWVudV9pdGVtX3R5cGVf
c2V0KToKKyAgICAgICAgKGV3a19jb250ZXh0X21lbnVfaXRlbV9hY3Rpb25fZ2V0KToKKyAgICAg
ICAgKGV3a19jb250ZXh0X21lbnVfaXRlbV9hY3Rpb25fc2V0KToKKyAgICAgICAgKGV3a19jb250
ZXh0X21lbnVfaXRlbV90aXRsZV9nZXQpOgorICAgICAgICAoZXdrX2NvbnRleHRfbWVudV9pdGVt
X3RpdGxlX3NldCk6CisgICAgICAgIChld2tfY29udGV4dF9tZW51X2l0ZW1fY2hlY2tlZF9nZXQp
OgorICAgICAgICAoZXdrX2NvbnRleHRfbWVudV9pdGVtX2NoZWNrZWRfc2V0KToKKyAgICAgICAg
KGV3a19jb250ZXh0X21lbnVfaXRlbV9lbmFibGVkX2dldCk6CisgICAgICAgIChld2tfY29udGV4
dF9tZW51X25ldyk6CisgICAgICAgIChld2tfY29udGV4dF9tZW51X2ZyZWUpOgorICAgICAgICAo
ZXdrX2NvbnRleHRfbWVudV9pdGVtX2FwcGVuZCk6CisgICAgICAgIChld2tfY29udGV4dF9tZW51
X2N1c3RvbV9nZXQpOgorICAgICAgICAoZXdrX2NvbnRleHRfbWVudV9zaG93KToKKyAgICAgICAg
KiBld2svZXdrX2NvbnRleHRtZW51Lmg6CisgICAgICAgICogZXdrL2V3a19jb29raWVzLmNwcDoK
KyAgICAgICAgKGV3a19jb29raWVzX2ZpbGVfc2V0KToKKyAgICAgICAgKGV3a19jb29raWVzX2Ns
ZWFyKToKKyAgICAgICAgKGV3a19jb29raWVzX2dldF9hbGwpOgorICAgICAgICAoZXdrX2Nvb2tp
ZXNfY29va2llX2RlbCk6CisgICAgICAgIChld2tfY29va2llc19wb2xpY3lfc2V0KToKKyAgICAg
ICAgKGV3a19jb29raWVzX3BvbGljeV9nZXQpOgorICAgICAgICAqIGV3ay9ld2tfaGlzdG9yeS5j
cHA6CisgICAgICAgIChfZXdrX2hpc3RvcnlfaXRlbV9uZXcpOgorICAgICAgICAoX2V3a19oaXN0
b3J5X2l0ZW1fbGlzdF9nZXQpOgorICAgICAgICAoZXdrX2hpc3RvcnlfZm9yd2FyZCk6CisgICAg
ICAgIChld2tfaGlzdG9yeV9iYWNrKToKKyAgICAgICAgKGV3a19oaXN0b3J5X2hpc3RvcnlfaXRl
bV9hZGQpOgorICAgICAgICAoZXdrX2hpc3RvcnlfaGlzdG9yeV9pdGVtX3NldCk6CisgICAgICAg
IChld2tfaGlzdG9yeV9oaXN0b3J5X2l0ZW1fYmFja19nZXQpOgorICAgICAgICAoZXdrX2hpc3Rv
cnlfaGlzdG9yeV9pdGVtX2N1cnJlbnRfZ2V0KToKKyAgICAgICAgKGV3a19oaXN0b3J5X2hpc3Rv
cnlfaXRlbV9mb3J3YXJkX2dldCk6CisgICAgICAgIChld2tfaGlzdG9yeV9oaXN0b3J5X2l0ZW1f
bnRoX2dldCk6CisgICAgICAgIChld2tfaGlzdG9yeV9oaXN0b3J5X2l0ZW1fY29udGFpbnMpOgor
ICAgICAgICAoZXdrX2hpc3RvcnlfZm9yd2FyZF9saXN0X2dldCk6CisgICAgICAgIChld2tfaGlz
dG9yeV9mb3J3YXJkX2xpc3RfZ2V0X3dpdGhfbGltaXQpOgorICAgICAgICAoZXdrX2hpc3Rvcnlf
Zm9yd2FyZF9saXN0X2xlbmd0aCk6CisgICAgICAgIChld2tfaGlzdG9yeV9iYWNrX2xpc3RfZ2V0
KToKKyAgICAgICAgKGV3a19oaXN0b3J5X2JhY2tfbGlzdF9nZXRfd2l0aF9saW1pdCk6CisgICAg
ICAgIChld2tfaGlzdG9yeV9iYWNrX2xpc3RfbGVuZ3RoKToKKyAgICAgICAgKGV3a19oaXN0b3J5
X2xpbWl0X2dldCk6CisgICAgICAgIChld2tfaGlzdG9yeV9saW1pdF9zZXQpOgorICAgICAgICAo
ZXdrX2hpc3RvcnlfaXRlbV9uZXcpOgorICAgICAgICAoX2V3a19oaXN0b3J5X2l0ZW1fZnJlZSk6
CisgICAgICAgIChld2tfaGlzdG9yeV9pdGVtX2ZyZWUpOgorICAgICAgICAoZXdrX2hpc3Rvcnlf
aXRlbV9saXN0X2ZyZWUpOgorICAgICAgICAoZXdrX2hpc3RvcnlfaXRlbV90aXRsZV9nZXQpOgor
ICAgICAgICAoZXdrX2hpc3RvcnlfaXRlbV90aXRsZV9hbHRlcm5hdGVfZ2V0KToKKyAgICAgICAg
KGV3a19oaXN0b3J5X2l0ZW1fdGl0bGVfYWx0ZXJuYXRlX3NldCk6CisgICAgICAgIChld2tfaGlz
dG9yeV9pdGVtX3VyaV9nZXQpOgorICAgICAgICAoZXdrX2hpc3RvcnlfaXRlbV91cmlfb3JpZ2lu
YWxfZ2V0KToKKyAgICAgICAgKGV3a19oaXN0b3J5X2l0ZW1fdGltZV9sYXN0X3Zpc2l0ZWRfZ2V0
KToKKyAgICAgICAgKGV3a19oaXN0b3J5X2l0ZW1faWNvbl9zdXJmYWNlX2dldCk6CisgICAgICAg
IChld2tfaGlzdG9yeV9pdGVtX2ljb25fb2JqZWN0X2FkZCk6CisgICAgICAgIChld2tfaGlzdG9y
eV9pdGVtX3BhZ2VfY2FjaGVfZXhpc3RzKToKKyAgICAgICAgKGV3a19oaXN0b3J5X2l0ZW1fdmlz
aXRfY291bnQpOgorICAgICAgICAoZXdrX2hpc3RvcnlfaXRlbV92aXNpdF9sYXN0X2ZhaWxlZCk6
CisgICAgICAgIChld2tfaGlzdG9yeV9uZXcpOgorICAgICAgICAoZXdrX2hpc3RvcnlfZnJlZSk6
CisgICAgICAgICogZXdrL2V3a19tYWluLmNwcDoKKyAgICAgICAgKF9ld2tfaW5pdF9ib2R5KToK
KyAgICAgICAgKiBld2svZXdrX25ldHdvcmsuY3BwOgorICAgICAgICAoZXdrX25ldHdvcmtfcHJv
eHlfdXJpX3NldCk6CisgICAgICAgIChld2tfbmV0d29ya19wcm94eV91cmlfZ2V0KToKKyAgICAg
ICAgKiBld2svZXdrX25ldHdvcmsuaDoKKyAgICAgICAgKiBld2svZXdrX3ByaXZhdGUuaDoKKyAg
ICAgICAgKiBld2svZXdrX3NldHRpbmdzLmNwcDoKKyAgICAgICAgKGV3a19zZXR0aW5nc19pY29u
X2RhdGFiYXNlX3BhdGhfZ2V0KToKKyAgICAgICAgKGV3a19zZXR0aW5nc19pY29uX2RhdGFiYXNl
X2ljb25fc3VyZmFjZV9nZXQpOgorICAgICAgICAoZXdrX3NldHRpbmdzX2ljb25fZGF0YWJhc2Vf
aWNvbl9vYmplY3RfYWRkKToKKyAgICAgICAgKGV3a19zZXR0aW5nc19kZWZhdWx0X3VzZXJfYWdl
bnRfZ2V0KToKKyAgICAgICAgKiBld2svZXdrX3V0aWwuY3BwOgorICAgICAgICAoZXdrX3V0aWxf
aW1hZ2VfZnJvbV9jYWlyb19zdXJmYWNlX2FkZCk6CisgICAgICAgICogZXdrL2V3a191dGlsLmg6
CisgICAgICAgICogZXdrL2V3a193aW5kb3dfZmVhdHVyZXMuY3BwOgorICAgICAgICAoZXdrX3dp
bmRvd19mZWF0dXJlc191bnJlZik6CisgICAgICAgIChld2tfd2luZG93X2ZlYXR1cmVzX3JlZik6
CisgICAgICAgIChld2tfd2luZG93X2ZlYXR1cmVzX2Jvb2xfcHJvcGVydHlfZ2V0KToKKyAgICAg
ICAgKGV3a193aW5kb3dfZmVhdHVyZXNfaW50X3Byb3BlcnR5X2dldCk6CisgICAgICAgIChld2tf
d2luZG93X2ZlYXR1cmVzX25ld19mcm9tX2NvcmUpOgorICAgICAgICAqIGV3ay9ld2tfd2luZG93
X2ZlYXR1cmVzLmg6CisKIDIwMTEtMDctMjYgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUBz
YW1zdW5nLmNvbT4KIAogICAgICAgICBbRUZMXSBGaXggcG9pbnRlciBvcGVyYXRvciBjb2Rpbmcg
c3R5bGUgaW4gZXdrX3ZpZXcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdr
X2F1dGguY3BwIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19hdXRoLmNwcAppbmRleCBlZjIx
MmU3Li40ZGQ5M2M2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2F1dGgu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfYXV0aC5jcHAKQEAgLTM2LDcgKzM2
LDcgQEAgdm9pZCBld2tfYXV0aF9zaG93X2RpYWxvZ19jYWxsYmFja19zZXQoRXdrX0F1dGhfU2hv
d19EaWFsb2dfQ2FsbGJhY2sgY2FsbGJhY2spCiAjZW5kaWYKIH0KIAotdm9pZCBld2tfYXV0aF9j
cmVkZW50aWFsc19zZXQoY2hhciogdXNlcm5hbWUsIGNoYXIqIHBhc3N3b3JkLCB2b2lkKiBkYXRh
KQordm9pZCBld2tfYXV0aF9jcmVkZW50aWFsc19zZXQoY2hhciAqdXNlcm5hbWUsIGNoYXIgKnBh
c3N3b3JkLCB2b2lkICpkYXRhKQogewogI2lmIFVTRShTT1VQKQogICAgIGV3a19hdXRoX3NvdXBf
Y3JlZGVudGlhbHNfc2V0KHVzZXJuYW1lLCBwYXNzd29yZCwgZGF0YSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2F1dGguaCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9l
d2tfYXV0aC5oCmluZGV4IDZjODFlODAuLmE0NzU2MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvZWZsL2V3ay9ld2tfYXV0aC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfYXV0
aC5oCkBAIC0zOCw3ICszOCw3IEBAIGV4dGVybiAiQyIgewogICogQHBhcmFtIHVyaSB1cmkKICAq
IEBwYXJhbSBkYXRhIHBvaW50cyB0byBXZWJLaXRBdXRoRGF0YQogICovCi10eXBlZGVmIHZvaWQg
KCpFd2tfQXV0aF9TaG93X0RpYWxvZ19DYWxsYmFjaykoY29uc3QgY2hhciogcmVhbG0sIGNvbnN0
IGNoYXIqIHVyaSwgdm9pZCogZGF0YSk7Cit0eXBlZGVmIHZvaWQgKCpFd2tfQXV0aF9TaG93X0Rp
YWxvZ19DYWxsYmFjaykoY29uc3QgY2hhciAqcmVhbG0sIGNvbnN0IGNoYXIgKnVyaSwgdm9pZCAq
ZGF0YSk7CiAKIC8qKgogICogU2V0cyBjYWxsYmFjayB0byBiZSBjYWxsZWQgd2hlbiBhdXRoZW50
aWNhdGlvbiBpcyByZXF1aXJlZApAQCAtNTIsNyArNTIsNyBAQCBFQVBJIHZvaWQgZXdrX2F1dGhf
c2hvd19kaWFsb2dfY2FsbGJhY2tfc2V0KEV3a19BdXRoX1Nob3dfRGlhbG9nX0NhbGxiYWNrKTsK
ICAqIEBwYXJhbSBwYXNzd29yZCB1c2VyIHBhc3N3b3JkCiAgKiBAcGFyYW0gZGF0YSBzb3VwIGF1
dGhlbnRpY2F0aW9uIGRhdGEKICAqLwotRUFQSSB2b2lkIGV3a19hdXRoX2NyZWRlbnRpYWxzX3Nl
dChjaGFyKiB1c2VybmFtZSwgY2hhciogcGFzc3dvcmQsIHZvaWQqIGRhdGEpOworRUFQSSB2b2lk
IGV3a19hdXRoX2NyZWRlbnRpYWxzX3NldChjaGFyICp1c2VybmFtZSwgY2hhciAqcGFzc3dvcmQs
IHZvaWQgKmRhdGEpOwogCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvZWZsL2V3ay9ld2tfYXV0aF9zb3VwLmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3
ay9ld2tfYXV0aF9zb3VwLmNwcAppbmRleCA5NTg3ZTEzLi4zOTBlOGJkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2F1dGhfc291cC5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9lZmwvZXdrL2V3a19hdXRoX3NvdXAuY3BwCkBAIC00MCw5ICs0MCw5IEBAIGV4dGVybiAiQyIg
ewogICovCiAKIHR5cGVkZWYgc3RydWN0IF9Fd2tfQXV0aF9EYXRhIHsKLSAgICBTb3VwTWVzc2Fn
ZSogbXNnOwotICAgIFNvdXBBdXRoKiBhdXRoOwotICAgIFNvdXBTZXNzaW9uKiBzZXNzaW9uOwor
ICAgIFNvdXBNZXNzYWdlICptc2c7CisgICAgU291cEF1dGggKmF1dGg7CisgICAgU291cFNlc3Np
b24gKnNlc3Npb247CiB9IEV3a19BdXRoX0RhdGE7CiAKIHN0YXRpYyBFd2tfQXV0aF9TaG93X0Rp
YWxvZ19DYWxsYmFjayBld2tfYXV0aF9zaG93X2RpYWxvZ19jYWxsYmFjayA9IDA7CkBAIC01NSwx
MSArNTUsMTEgQEAgc3RhdGljIHZvaWQgZnJlZV9hdXRoX2RhdGEoRXdrX0F1dGhfRGF0YSopOwog
R19ERUZJTkVfVFlQRV9XSVRIX0NPREUoRXdrX1NvdXBfQXV0aF9EaWFsb2csIGV3a19hdXRoX3Nv
dXBfZGlhbG9nLCBHX1RZUEVfT0JKRUNULAogICAgICAgICAgICAgICAgICAgICAgICAgR19JTVBM
RU1FTlRfSU5URVJGQUNFKFNPVVBfVFlQRV9TRVNTSU9OX0ZFQVRVUkUsIGV3a19hdXRoX3NvdXBf
ZGlhbG9nX3Nlc3Npb25fZmVhdHVyZV9pbml0KSkKIAotc3RhdGljIHZvaWQgZXdrX2F1dGhfc291
cF9kaWFsb2dfY2xhc3NfaW5pdChFd2tfU291cF9BdXRoX0RpYWxvZ0NsYXNzKiBrbGFzcykKK3N0
YXRpYyB2b2lkIGV3a19hdXRoX3NvdXBfZGlhbG9nX2NsYXNzX2luaXQoRXdrX1NvdXBfQXV0aF9E
aWFsb2dDbGFzcyAqa2xhc3MpCiB7CiB9CiAKLXN0YXRpYyB2b2lkIGV3a19hdXRoX3NvdXBfZGlh
bG9nX2luaXQoRXdrX1NvdXBfQXV0aF9EaWFsb2cqIGluc3RhbmNlKQorc3RhdGljIHZvaWQgZXdr
X2F1dGhfc291cF9kaWFsb2dfaW5pdChFd2tfU291cF9BdXRoX0RpYWxvZyAqaW5zdGFuY2UpCiB7
CiB9CiAKQEAgLTc0LDI3ICs3NCwyNyBAQCB2b2lkIGV3a19hdXRoX3NvdXBfc2hvd19kaWFsb2df
Y2FsbGJhY2tfc2V0KEV3a19BdXRoX1Nob3dfRGlhbG9nX0NhbGxiYWNrIGNhbGxiYQogICAgIGV3
a19hdXRoX3Nob3dfZGlhbG9nX2NhbGxiYWNrID0gY2FsbGJhY2s7CiB9CiAKLXZvaWQgZXdrX2F1
dGhfc291cF9jcmVkZW50aWFsc19zZXQoY29uc3QgY2hhciogdXNlcm5hbWUsIGNvbnN0IGNoYXIq
IHBhc3N3b3JkLCB2b2lkKiBkYXRhKQordm9pZCBld2tfYXV0aF9zb3VwX2NyZWRlbnRpYWxzX3Nl
dChjb25zdCBjaGFyICp1c2VybmFtZSwgY29uc3QgY2hhciAqcGFzc3dvcmQsIHZvaWQgKmRhdGEp
CiB7CiAgICAgaWYgKCFkYXRhKQogICAgICAgICByZXR1cm47CiAKLSAgICBFd2tfQXV0aF9EYXRh
KiBhdXRoX2RhdGEgPSAoRXdrX0F1dGhfRGF0YSopZGF0YTsKKyAgICBFd2tfQXV0aF9EYXRhICph
dXRoX2RhdGEgPSAoRXdrX0F1dGhfRGF0YSAqKWRhdGE7CiAgICAgc291cF9hdXRoX2F1dGhlbnRp
Y2F0ZShhdXRoX2RhdGEtPmF1dGgsIHVzZXJuYW1lLCBwYXNzd29yZCk7CiAgICAgc291cF9zZXNz
aW9uX3VucGF1c2VfbWVzc2FnZShhdXRoX2RhdGEtPnNlc3Npb24sIGF1dGhfZGF0YS0+bXNnKTsK
ICAgICBmcmVlX2F1dGhfZGF0YShhdXRoX2RhdGEpOwogfQogCi1zdGF0aWMgdm9pZCBzZXNzaW9u
X2F1dGhlbnRpY2F0ZShTb3VwU2Vzc2lvbiogc2Vzc2lvbiwgU291cE1lc3NhZ2UqIG1zZywgU291
cEF1dGgqIGF1dGgsIGdib29sZWFuIHJldHJ5aW5nLCBncG9pbnRlciAvKiB1c2VyX2RhdGEgKi8p
CitzdGF0aWMgdm9pZCBzZXNzaW9uX2F1dGhlbnRpY2F0ZShTb3VwU2Vzc2lvbiAqc2Vzc2lvbiwg
U291cE1lc3NhZ2UgKm1zZywgU291cEF1dGggKmF1dGgsIGdib29sZWFuIHJldHJ5aW5nLCBncG9p
bnRlciAvKiB1c2VyX2RhdGEgKi8pCiB7Ci0gICAgU291cFVSSSogdXJpOwotICAgIEV3a19BdXRo
X0RhdGEqIGF1dGhfZGF0YTsKLSAgICBjb25zdCBjaGFyKiByZWFsbTsKKyAgICBTb3VwVVJJICp1
cmk7CisgICAgRXdrX0F1dGhfRGF0YSAqYXV0aF9kYXRhOworICAgIGNvbnN0IGNoYXIgKnJlYWxt
OwogCiAgICAgaWYgKCFld2tfYXV0aF9zaG93X2RpYWxvZ19jYWxsYmFjaykKICAgICAgICAgcmV0
dXJuOwogCi0gICAgYXV0aF9kYXRhID0gKEV3a19BdXRoX0RhdGEqKWNhbGxvYygxLCBzaXplb2Yo
RXdrX0F1dGhfRGF0YSkpOworICAgIGF1dGhfZGF0YSA9IChFd2tfQXV0aF9EYXRhICopY2FsbG9j
KDEsIHNpemVvZihFd2tfQXV0aF9EYXRhKSk7CiAKICAgICBpZiAoIWF1dGhfZGF0YSkgewogICAg
ICAgICBDUklUSUNBTCgiY291bGQgbm90IGFsbG9jYXRlIEV3a19BdXRoX0RhdGEiKTsKQEAgLTEx
OCw3ICsxMTgsNyBAQCBzdGF0aWMgdm9pZCBzZXNzaW9uX2F1dGhlbnRpY2F0ZShTb3VwU2Vzc2lv
biogc2Vzc2lvbiwgU291cE1lc3NhZ2UqIG1zZywgU291cEF1dAogICAgIGV3a19hdXRoX3Nob3df
ZGlhbG9nX2NhbGxiYWNrKHJlYWxtLCBzb3VwX3VyaV90b19zdHJpbmcodXJpLCBUUlVFKSwgYXV0
aF9kYXRhKTsKIH0KIAotc3RhdGljIHZvaWQgZnJlZV9hdXRoX2RhdGEoRXdrX0F1dGhfRGF0YSog
YXV0aF9kYXRhKQorc3RhdGljIHZvaWQgZnJlZV9hdXRoX2RhdGEoRXdrX0F1dGhfRGF0YSAqYXV0
aF9kYXRhKQogewogICAgIGdfb2JqZWN0X3VucmVmKGF1dGhfZGF0YS0+bXNnKTsKICAgICBnX29i
amVjdF91bnJlZihhdXRoX2RhdGEtPnNlc3Npb24pOwpAQCAtMTI2LDE0ICsxMjYsMTQgQEAgc3Rh
dGljIHZvaWQgZnJlZV9hdXRoX2RhdGEoRXdrX0F1dGhfRGF0YSogYXV0aF9kYXRhKQogICAgIGZy
ZWUoYXV0aF9kYXRhKTsKIH0KIAotc3RhdGljIHZvaWQgYXR0YWNoKFNvdXBTZXNzaW9uRmVhdHVy
ZSogbWFuYWdlciwgU291cFNlc3Npb24qIHNlc3Npb24pCitzdGF0aWMgdm9pZCBhdHRhY2goU291
cFNlc3Npb25GZWF0dXJlICptYW5hZ2VyLCBTb3VwU2Vzc2lvbiAqc2Vzc2lvbikKIHsKICAgICBn
X3NpZ25hbF9jb25uZWN0KHNlc3Npb24sICJhdXRoZW50aWNhdGUiLCBHX0NBTExCQUNLKHNlc3Np
b25fYXV0aGVudGljYXRlKSwgbWFuYWdlcik7CiB9CiAKLXN0YXRpYyB2b2lkIGRldGFjaChTb3Vw
U2Vzc2lvbkZlYXR1cmUqIG1hbmFnZXIsIFNvdXBTZXNzaW9uKiBzZXNzaW9uKQorc3RhdGljIHZv
aWQgZGV0YWNoKFNvdXBTZXNzaW9uRmVhdHVyZSAqbWFuYWdlciwgU291cFNlc3Npb24gKnNlc3Np
b24pCiB7Ci0gICAgZ19zaWduYWxfaGFuZGxlcnNfZGlzY29ubmVjdF9ieV9mdW5jKHNlc3Npb24s
ICh2b2lkKilzZXNzaW9uX2F1dGhlbnRpY2F0ZSwgbWFuYWdlcik7CisgICAgZ19zaWduYWxfaGFu
ZGxlcnNfZGlzY29ubmVjdF9ieV9mdW5jKHNlc3Npb24sICh2b2lkICopc2Vzc2lvbl9hdXRoZW50
aWNhdGUsIG1hbmFnZXIpOwogfQogCiAjaWZkZWYgX19jcGx1c3BsdXMKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfYXV0aF9zb3VwLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9l
d2svZXdrX2F1dGhfc291cC5oCmluZGV4IDhlZmNlYWEuLmJkMjZiMDQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfYXV0aF9zb3VwLmgKKysrIGIvU291cmNlL1dlYktpdC9l
ZmwvZXdrL2V3a19hdXRoX3NvdXAuaApAQCAtNTgsNyArNTgsNyBAQCB2b2lkIGV3a19hdXRoX3Nv
dXBfc2hvd19kaWFsb2dfY2FsbGJhY2tfc2V0KEV3a19BdXRoX1Nob3dfRGlhbG9nX0NhbGxiYWNr
IGNhbGxiYQogICogIEBwYXJhbSBwYXNzd29yZCBwYXNzd29yZAogICogIEBwYXJhbSBkYXRhIHNv
dXAgYXV0aGVudGljYXRpb24gZGF0YQogICovCi12b2lkIGV3a19hdXRoX3NvdXBfY3JlZGVudGlh
bHNfc2V0KGNvbnN0IGNoYXIqIHVzZXJuYW1lLCBjb25zdCBjaGFyKiBwYXNzd29yZCwgdm9pZCog
ZGF0YSk7Cit2b2lkIGV3a19hdXRoX3NvdXBfY3JlZGVudGlhbHNfc2V0KGNvbnN0IGNoYXIgKnVz
ZXJuYW1lLCBjb25zdCBjaGFyICpwYXNzd29yZCwgdm9pZCAqZGF0YSk7CiAKICNpZmRlZiBfX2Nw
bHVzcGx1cwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19jb250ZXh0
bWVudS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2NvbnRleHRtZW51LmNwcAppbmRl
eCBkN2EwMTRhLi5mM2U4YzgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdr
X2NvbnRleHRtZW51LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2NvbnRleHRt
ZW51LmNwcApAQCAtMzgsMTEgKzM4LDExIEBACiBzdHJ1Y3QgX0V3a19Db250ZXh0X01lbnUgewog
ICAgIHVuc2lnbmVkIGludCBfX3JlZjsgLyoqPCB0aGUgcmVmZXJlbmNlIGNvdW50IG9mIHRoZSBv
YmplY3QgKi8KICNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKLSAgICBXZWJDb3JlOjpDb250ZXh0
TWVudUNvbnRyb2xsZXIqIGNvbnRyb2xsZXI7IC8qKjwgdGhlIFdlYkNvcmUncyBvYmplY3Qgd2hp
Y2ggaXMgcmVzcG9uc2libGUgZm9yIHRoZSBjb250ZXh0IG1lbnUgKi8KKyAgICBXZWJDb3JlOjpD
b250ZXh0TWVudUNvbnRyb2xsZXIgKmNvbnRyb2xsZXI7IC8qKjwgdGhlIFdlYkNvcmUncyBvYmpl
Y3Qgd2hpY2ggaXMgcmVzcG9uc2libGUgZm9yIHRoZSBjb250ZXh0IG1lbnUgKi8KICNlbmRpZgot
ICAgIEV2YXNfT2JqZWN0KiB2aWV3OyAvKio8IHRoZSB2aWV3IG9iamVjdCAqLworICAgIEV2YXNf
T2JqZWN0ICp2aWV3OyAvKio8IHRoZSB2aWV3IG9iamVjdCAqLwogCi0gICAgRWluYV9MaXN0KiBp
dGVtczsgLyoqPCB0aGUgbGlzdCBvZiBpdGVtcyAqLworICAgIEVpbmFfTGlzdCAqaXRlbXM7IC8q
KjwgdGhlIGxpc3Qgb2YgaXRlbXMgKi8KIH07CiAKIC8qKgpAQCAtNTMsOCArNTMsOCBAQCBzdHJ1
Y3QgX0V3a19Db250ZXh0X01lbnVfSXRlbSB7CiAgICAgRXdrX0NvbnRleHRfTWVudV9JdGVtX1R5
cGUgdHlwZTsgLyoqPCBjb250YWlucyB0aGUgdHlwZSBvZiB0aGUgaXRlbSAqLwogICAgIEV3a19D
b250ZXh0X01lbnVfQWN0aW9uIGFjdGlvbjsgLyoqPCBjb250YWlucyB0aGUgYWN0aW9uIG9mIHRo
ZSBpdGVtICovCiAKLSAgICBjb25zdCBjaGFyKiB0aXRsZTsgLyoqPCBjb250YWlucyB0aGUgdGl0
bGUgb2YgdGhlIGl0ZW0gKi8KLSAgICBFd2tfQ29udGV4dF9NZW51KiBzdWJtZW51OyAvKio8IGNv
bnRhaW5zIHRoZSBwb2ludGVyIHRvIHRoZSBzdWJtZW51IG9mIHRoZSBpdGVtICovCisgICAgY29u
c3QgY2hhciAqdGl0bGU7IC8qKjwgY29udGFpbnMgdGhlIHRpdGxlIG9mIHRoZSBpdGVtICovCisg
ICAgRXdrX0NvbnRleHRfTWVudSAqc3VibWVudTsgLyoqPCBjb250YWlucyB0aGUgcG9pbnRlciB0
byB0aGUgc3VibWVudSBvZiB0aGUgaXRlbSAqLwogCiAgICAgRWluYV9Cb29sIGNoZWNrZWQ6MTsK
ICAgICBFaW5hX0Jvb2wgZW5hYmxlZDoxOwpAQCAtNjUsNyArNjUsNyBAQCBzdHJ1Y3QgX0V3a19D
b250ZXh0X01lbnVfSXRlbSB7CiAgKgogICogQHBhcmFtIG1lbnUgdGhlIGNvbnRleHQgbWVudSBv
YmplY3QgdG8gaW5jcmVhc2UgdGhlIHJlZmVyZW5jZSBjb3VudAogICovCi12b2lkIGV3a19jb250
ZXh0X21lbnVfcmVmKEV3a19Db250ZXh0X01lbnUqIG1lbnUpCit2b2lkIGV3a19jb250ZXh0X21l
bnVfcmVmKEV3a19Db250ZXh0X01lbnUgKm1lbnUpCiB7CiAgICAgRUlOQV9TQUZFVFlfT05fTlVM
TF9SRVRVUk4obWVudSk7CiAgICAgbWVudS0+X19yZWYrKzsKQEAgLTc4LDEwICs3OCwxMCBAQCB2
b2lkIGV3a19jb250ZXh0X21lbnVfcmVmKEV3a19Db250ZXh0X01lbnUqIG1lbnUpCiAgKgogICog
QHBhcmFtIG1lbnUgdGhlIGNvbnRleHQgbWVudSBvYmplY3QgdG8gZGVjcmVhc2UgdGhlIHJlZmVy
ZW5jZSBjb3VudAogICovCi12b2lkIGV3a19jb250ZXh0X21lbnVfdW5yZWYoRXdrX0NvbnRleHRf
TWVudSogbWVudSkKK3ZvaWQgZXdrX2NvbnRleHRfbWVudV91bnJlZihFd2tfQ29udGV4dF9NZW51
ICptZW51KQogewogICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOKG1lbnUpOwotICAgIHZv
aWQqIGl0ZW07CisgICAgdm9pZCAqaXRlbTsKIAogICAgIGlmICgtLW1lbnUtPl9fcmVmKQogICAg
ICAgICByZXR1cm47CkBAIC0xMDAsNyArMTAwLDcgQEAgdm9pZCBld2tfY29udGV4dF9tZW51X3Vu
cmVmKEV3a19Db250ZXh0X01lbnUqIG1lbnUpCiAgKgogICogQHNlZSBld2tfY29udGV4dF9tZW51
X2l0ZW1fZnJlZQogICovCi1FaW5hX0Jvb2wgZXdrX2NvbnRleHRfbWVudV9kZXN0cm95KEV3a19D
b250ZXh0X01lbnUqIG1lbnUpCitFaW5hX0Jvb2wgZXdrX2NvbnRleHRfbWVudV9kZXN0cm95KEV3
a19Db250ZXh0X01lbnUgKm1lbnUpCiB7CiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCiAgICAg
RUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKG1lbnUsIEVJTkFfRkFMU0UpOwpAQCAtMTE4
LDcgKzExOCw3IEBAIEVpbmFfQm9vbCBld2tfY29udGV4dF9tZW51X2Rlc3Ryb3koRXdrX0NvbnRl
eHRfTWVudSogbWVudSkKICAqIEBwYXJhbSBvIHRoZSBjb250ZXh0IG1lbnUgb2JqZWN0IHRvIGdl
dCBsaXN0IG9mIHRoZSBpdGVtcwogICogQHJldHVybiB0aGUgbGlzdCBvZiB0aGUgaXRlbXMgb24g
c3VjY2VzcyBvciBAYyAwIG9uIGZhaWx1cmUKICAqLwotY29uc3QgRWluYV9MaXN0KiBld2tfY29u
dGV4dF9tZW51X2l0ZW1fbGlzdF9nZXQoRXdrX0NvbnRleHRfTWVudSogbykKK2NvbnN0IEVpbmFf
TGlzdCAqZXdrX2NvbnRleHRfbWVudV9pdGVtX2xpc3RfZ2V0KEV3a19Db250ZXh0X01lbnUgKm8p
CiB7CiAgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKG8sIDApOwogCkBAIC0xMzgs
MTEgKzEzOCwxMSBAQCBjb25zdCBFaW5hX0xpc3QqIGV3a19jb250ZXh0X21lbnVfaXRlbV9saXN0
X2dldChFd2tfQ29udGV4dF9NZW51KiBvKQogICoKICAqIEBub3RlIFRoZSByZXR1cm4gdmFsdWUg
QGIgc2hvdWxkIEBiIGJlIGZyZWVkIGFmdGVyIHVzZS4KICAqLwotRXdrX0NvbnRleHRfTWVudV9J
dGVtKiBld2tfY29udGV4dF9tZW51X2l0ZW1fbmV3KEV3a19Db250ZXh0X01lbnVfSXRlbV9UeXBl
IHR5cGUsCi0gICAgICAgIEV3a19Db250ZXh0X01lbnVfQWN0aW9uIGFjdGlvbiwgRXdrX0NvbnRl
eHRfTWVudSogc3VibWVudSwKLSAgICAgICAgY29uc3QgY2hhciogdGl0bGUsIEVpbmFfQm9vbCBj
aGVja2VkLCBFaW5hX0Jvb2wgZW5hYmxlZCkKK0V3a19Db250ZXh0X01lbnVfSXRlbSAqZXdrX2Nv
bnRleHRfbWVudV9pdGVtX25ldyhFd2tfQ29udGV4dF9NZW51X0l0ZW1fVHlwZSB0eXBlLAorICAg
ICAgICBFd2tfQ29udGV4dF9NZW51X0FjdGlvbiBhY3Rpb24sIEV3a19Db250ZXh0X01lbnUgKnN1
Ym1lbnUsCisgICAgICAgIGNvbnN0IGNoYXIgKnRpdGxlLCBFaW5hX0Jvb2wgY2hlY2tlZCwgRWlu
YV9Cb29sIGVuYWJsZWQpCiB7Ci0gICAgRXdrX0NvbnRleHRfTWVudV9JdGVtKiBpdGVtID0gKEV3
a19Db250ZXh0X01lbnVfSXRlbSopIG1hbGxvYyhzaXplb2YoKml0ZW0pKTsKKyAgICBFd2tfQ29u
dGV4dF9NZW51X0l0ZW0gKml0ZW0gPSAoRXdrX0NvbnRleHRfTWVudV9JdGVtICopIG1hbGxvYyhz
aXplb2YoKml0ZW0pKTsKICAgICBpZiAoIWl0ZW0pCiAgICAgICAgIHJldHVybiAwOwogCkBAIC0x
NjMsNyArMTYzLDcgQEAgRXdrX0NvbnRleHRfTWVudV9JdGVtKiBld2tfY29udGV4dF9tZW51X2l0
ZW1fbmV3KEV3a19Db250ZXh0X01lbnVfSXRlbV9UeXBlIHR5cGUKICAqIEBwYXJhbSBpdGVtIHRo
ZSBpdGVtIGlzIHNlbGVjdGVkCiAgKiBAcmV0dXJuIEBjIEVJTkFfVFJVRSBvbiBzdWNjZXNzIG9y
IEBjIEVJTkFfRkFMU0Ugb24gZmFpbHVyZQogICovCi1FaW5hX0Jvb2wgZXdrX2NvbnRleHRfbWVu
dV9pdGVtX3NlbGVjdChFd2tfQ29udGV4dF9NZW51KiBtZW51LCBFd2tfQ29udGV4dF9NZW51X0l0
ZW0qIGl0ZW0pCitFaW5hX0Jvb2wgZXdrX2NvbnRleHRfbWVudV9pdGVtX3NlbGVjdChFd2tfQ29u
dGV4dF9NZW51ICptZW51LCBFd2tfQ29udGV4dF9NZW51X0l0ZW0gKml0ZW0pCiB7CiAjaWYgRU5B
QkxFKENPTlRFWFRfTUVOVVMpCiAgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKG1l
bnUsIEVJTkFfRkFMU0UpOwpAQCAtMTg4LDcgKzE4OCw3IEBAIEVpbmFfQm9vbCBld2tfY29udGV4
dF9tZW51X2l0ZW1fc2VsZWN0KEV3a19Db250ZXh0X01lbnUqIG1lbnUsIEV3a19Db250ZXh0X01l
bnVfCiAgKiBAc2VlIGV3a19jb250ZXh0X21lbnVfZGVzdHJveQogICogQHNlZSBld2tfY29udGV4
dF9tZW51X3VucmVmCiAgKi8KLXZvaWQgZXdrX2NvbnRleHRfbWVudV9pdGVtX2ZyZWUoRXdrX0Nv
bnRleHRfTWVudV9JdGVtKiBpdGVtKQordm9pZCBld2tfY29udGV4dF9tZW51X2l0ZW1fZnJlZShF
d2tfQ29udGV4dF9NZW51X0l0ZW0gKml0ZW0pCiB7CiAgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9S
RVRVUk4oaXRlbSk7CiAKQEAgLTIwNCw3ICsyMDQsNyBAQCB2b2lkIGV3a19jb250ZXh0X21lbnVf
aXRlbV9mcmVlKEV3a19Db250ZXh0X01lbnVfSXRlbSogaXRlbSkKICAqCiAgKiBAc2VlIGV3a19j
b250ZXh0X21lbnVfaXRlbV90eXBlX3NldAogICovCi1Fd2tfQ29udGV4dF9NZW51X0l0ZW1fVHlw
ZSBld2tfY29udGV4dF9tZW51X2l0ZW1fdHlwZV9nZXQoRXdrX0NvbnRleHRfTWVudV9JdGVtKiBv
KQorRXdrX0NvbnRleHRfTWVudV9JdGVtX1R5cGUgZXdrX2NvbnRleHRfbWVudV9pdGVtX3R5cGVf
Z2V0KEV3a19Db250ZXh0X01lbnVfSXRlbSAqbykKIHsKICAgICBFSU5BX1NBRkVUWV9PTl9OVUxM
X1JFVFVSTl9WQUwobywgRVdLX0FDVElPTl9UWVBFKTsKICAgICByZXR1cm4gby0+dHlwZTsKQEAg
LTIxOSw3ICsyMTksNyBAQCBFd2tfQ29udGV4dF9NZW51X0l0ZW1fVHlwZSBld2tfY29udGV4dF9t
ZW51X2l0ZW1fdHlwZV9nZXQoRXdrX0NvbnRleHRfTWVudV9JdGVtKgogICoKICAqIEBzZWUgZXdr
X2NvbnRleHRfbWVudV9pdGVtX3R5cGVfZ2V0CiAgKi8KLUVpbmFfQm9vbCBld2tfY29udGV4dF9t
ZW51X2l0ZW1fdHlwZV9zZXQoRXdrX0NvbnRleHRfTWVudV9JdGVtKiBvLCBFd2tfQ29udGV4dF9N
ZW51X0l0ZW1fVHlwZSB0eXBlKQorRWluYV9Cb29sIGV3a19jb250ZXh0X21lbnVfaXRlbV90eXBl
X3NldChFd2tfQ29udGV4dF9NZW51X0l0ZW0gKm8sIEV3a19Db250ZXh0X01lbnVfSXRlbV9UeXBl
IHR5cGUpCiB7CiAgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKG8sIEVJTkFfRkFM
U0UpOwogICAgIG8tPnR5cGUgPSB0eXBlOwpAQCAtMjM0LDcgKzIzNCw3IEBAIEVpbmFfQm9vbCBl
d2tfY29udGV4dF9tZW51X2l0ZW1fdHlwZV9zZXQoRXdrX0NvbnRleHRfTWVudV9JdGVtKiBvLCBF
d2tfQ29udGV4dF9NCiAgKgogICogQHNlZSBld2tfY29udGV4dF9tZW51X2l0ZW1fYWN0aW9uX3Nl
dAogICovCi1Fd2tfQ29udGV4dF9NZW51X0FjdGlvbiBld2tfY29udGV4dF9tZW51X2l0ZW1fYWN0
aW9uX2dldChFd2tfQ29udGV4dF9NZW51X0l0ZW0qIG8pCitFd2tfQ29udGV4dF9NZW51X0FjdGlv
biBld2tfY29udGV4dF9tZW51X2l0ZW1fYWN0aW9uX2dldChFd2tfQ29udGV4dF9NZW51X0l0ZW0g
Km8pCiB7CiAgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKG8sIEVXS19DT05URVhU
X01FTlVfSVRFTV9UQUdfTk9fQUNUSU9OKTsKICAgICByZXR1cm4gby0+YWN0aW9uOwpAQCAtMjQ5
LDcgKzI0OSw3IEBAIEV3a19Db250ZXh0X01lbnVfQWN0aW9uIGV3a19jb250ZXh0X21lbnVfaXRl
bV9hY3Rpb25fZ2V0KEV3a19Db250ZXh0X01lbnVfSXRlbSoKICAqCiAgKiBAc2VlIGV3a19jb250
ZXh0X21lbnVfaXRlbV9hY3Rpb25fZ2V0CiAgKi8KLUVpbmFfQm9vbCBld2tfY29udGV4dF9tZW51
X2l0ZW1fYWN0aW9uX3NldChFd2tfQ29udGV4dF9NZW51X0l0ZW0qIG8sIEV3a19Db250ZXh0X01l
bnVfQWN0aW9uIGFjdGlvbikKK0VpbmFfQm9vbCBld2tfY29udGV4dF9tZW51X2l0ZW1fYWN0aW9u
X3NldChFd2tfQ29udGV4dF9NZW51X0l0ZW0gKm8sIEV3a19Db250ZXh0X01lbnVfQWN0aW9uIGFj
dGlvbikKIHsKICAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwobywgRUlOQV9GQUxT
RSk7CiAgICAgby0+YWN0aW9uID0gYWN0aW9uOwpAQCAtMjY0LDcgKzI2NCw3IEBAIEVpbmFfQm9v
bCBld2tfY29udGV4dF9tZW51X2l0ZW1fYWN0aW9uX3NldChFd2tfQ29udGV4dF9NZW51X0l0ZW0q
IG8sIEV3a19Db250ZXh0CiAgKgogICogQHNlZSBld2tfY29udGV4dF9tZW51X2l0ZW1fdGl0bGVf
c2V0CiAgKi8KLWNvbnN0IGNoYXIqIGV3a19jb250ZXh0X21lbnVfaXRlbV90aXRsZV9nZXQoRXdr
X0NvbnRleHRfTWVudV9JdGVtKiBvKQorY29uc3QgY2hhciAqZXdrX2NvbnRleHRfbWVudV9pdGVt
X3RpdGxlX2dldChFd2tfQ29udGV4dF9NZW51X0l0ZW0gKm8pCiB7CiAgICAgRUlOQV9TQUZFVFlf
T05fTlVMTF9SRVRVUk5fVkFMKG8sIDApOwogICAgIHJldHVybiBvLT50aXRsZTsKQEAgLTI3OSwy
MCArMjc5LDIwIEBAIGNvbnN0IGNoYXIqIGV3a19jb250ZXh0X21lbnVfaXRlbV90aXRsZV9nZXQo
RXdrX0NvbnRleHRfTWVudV9JdGVtKiBvKQogICoKICAqIEBzZWUgZXdrX2NvbnRleHRfbWVudV9p
dGVtX3RpdGxlX2dldAogICovCi1jb25zdCBjaGFyKiBld2tfY29udGV4dF9tZW51X2l0ZW1fdGl0
bGVfc2V0KEV3a19Db250ZXh0X01lbnVfSXRlbSogbywgY29uc3QgY2hhciogdGl0bGUpCitjb25z
dCBjaGFyICpld2tfY29udGV4dF9tZW51X2l0ZW1fdGl0bGVfc2V0KEV3a19Db250ZXh0X01lbnVf
SXRlbSAqbywgY29uc3QgY2hhciAqdGl0bGUpCiB7CiAgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9S
RVRVUk5fVkFMKG8sIDApOwogICAgIGVpbmFfc3RyaW5nc2hhcmVfcmVwbGFjZSgmby0+dGl0bGUs
IHRpdGxlKTsKICAgICByZXR1cm4gby0+dGl0bGU7CiB9CiAKLUVpbmFfQm9vbCBld2tfY29udGV4
dF9tZW51X2l0ZW1fY2hlY2tlZF9nZXQoRXdrX0NvbnRleHRfTWVudV9JdGVtKiBvKQorRWluYV9C
b29sIGV3a19jb250ZXh0X21lbnVfaXRlbV9jaGVja2VkX2dldChFd2tfQ29udGV4dF9NZW51X0l0
ZW0gKm8pCiB7CiAgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKG8sIEVJTkFfRkFM
U0UpOwogICAgIHJldHVybiBvLT5jaGVja2VkOwogfQogCi1FaW5hX0Jvb2wgZXdrX2NvbnRleHRf
bWVudV9pdGVtX2NoZWNrZWRfc2V0KEV3a19Db250ZXh0X01lbnVfSXRlbSogbywgRWluYV9Cb29s
IGNoZWNrZWQpCitFaW5hX0Jvb2wgZXdrX2NvbnRleHRfbWVudV9pdGVtX2NoZWNrZWRfc2V0KEV3
a19Db250ZXh0X01lbnVfSXRlbSAqbywgRWluYV9Cb29sIGNoZWNrZWQpCiB7CiAgICAgRUlOQV9T
QUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKG8sIEVJTkFfRkFMU0UpOwogICAgIG8tPmNoZWNrZWQg
PSBjaGVja2VkOwpAQCAtMzA3LDcgKzMwNyw3IEBAIEVpbmFfQm9vbCBld2tfY29udGV4dF9tZW51
X2l0ZW1fY2hlY2tlZF9zZXQoRXdrX0NvbnRleHRfTWVudV9JdGVtKiBvLCBFaW5hX0Jvb2wKICAq
CiAgKiBAc2VlIGV3a19jb250ZXh0X21lbnVfaXRlbV9lbmFibGVkX3NldAogICovCi1FaW5hX0Jv
b2wgZXdrX2NvbnRleHRfbWVudV9pdGVtX2VuYWJsZWRfZ2V0KEV3a19Db250ZXh0X01lbnVfSXRl
bSogbykKK0VpbmFfQm9vbCBld2tfY29udGV4dF9tZW51X2l0ZW1fZW5hYmxlZF9nZXQoRXdrX0Nv
bnRleHRfTWVudV9JdGVtICpvKQogewogICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZB
TChvLCBFSU5BX0ZBTFNFKTsKICAgICByZXR1cm4gby0+ZW5hYmxlZDsKQEAgLTM0NCw3ICszNDQs
NyBAQCBFaW5hX0Jvb2wgZXdrX2NvbnRleHRfbWVudV9pdGVtX2VuYWJsZWRfc2V0KEV3a19Db250
ZXh0X01lbnVfSXRlbSAqbywgRWluYV9Cb29sCiAgKgogICogQG5vdGUgZW1pdHMgYSBzaWduYWwg
ImNvbnRleHRtZW51LG5ldyIKICAqLwotRXdrX0NvbnRleHRfTWVudSogZXdrX2NvbnRleHRfbWVu
dV9uZXcoRXZhc19PYmplY3QqIHZpZXcsIFdlYkNvcmU6OkNvbnRleHRNZW51Q29udHJvbGxlciog
Y29udHJvbGxlcikKK0V3a19Db250ZXh0X01lbnUgKmV3a19jb250ZXh0X21lbnVfbmV3KEV2YXNf
T2JqZWN0ICp2aWV3LCBXZWJDb3JlOjpDb250ZXh0TWVudUNvbnRyb2xsZXIgKmNvbnRyb2xsZXIp
CiB7CiAgICAgRXdrX0NvbnRleHRfTWVudSogbWVudTsKICAgICBFSU5BX1NBRkVUWV9PTl9OVUxM
X1JFVFVSTl9WQUwodmlldywgMCk7CkBAIC0zNzgsNyArMzc4LDcgQEAgRXdrX0NvbnRleHRfTWVu
dSogZXdrX2NvbnRleHRfbWVudV9uZXcoRXZhc19PYmplY3QqIHZpZXcsIFdlYkNvcmU6OkNvbnRl
eHRNZW51Q28KICAqIEBzZWUgZXdrX2NvbnRleHRfbWVudV91bnJlZgogICogQHNlZSBld2tfY29u
dGV4dF9tZW51X2Rlc3Ryb3kKICAqLwotRWluYV9Cb29sIGV3a19jb250ZXh0X21lbnVfZnJlZShF
d2tfQ29udGV4dF9NZW51KiBvKQorRWluYV9Cb29sIGV3a19jb250ZXh0X21lbnVfZnJlZShFd2tf
Q29udGV4dF9NZW51ICpvKQogewogICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTChv
LCBFSU5BX0ZBTFNFKTsKICAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19jYWxsKG8tPnZp
ZXcsICJjb250ZXh0bWVudSxmcmVlIiwgbyk7CkBAIC0zOTcsMTIgKzM5NywxMiBAQCBFaW5hX0Jv
b2wgZXdrX2NvbnRleHRfbWVudV9mcmVlKEV3a19Db250ZXh0X01lbnUqIG8pCiAgKgogICogQHNl
ZSBld2tfY29udGV4dF9tZW51X2l0ZW1fbmV3CiAgKi8KLXZvaWQgZXdrX2NvbnRleHRfbWVudV9p
dGVtX2FwcGVuZChFd2tfQ29udGV4dF9NZW51KiBvLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW0m
IGNvcmUpCit2b2lkIGV3a19jb250ZXh0X21lbnVfaXRlbV9hcHBlbmQoRXdrX0NvbnRleHRfTWVu
dSAqbywgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtICZjb3JlKQogewogICAgIEV3a19Db250ZXh0
X01lbnVfSXRlbV9UeXBlIHR5cGUgPSBzdGF0aWNfY2FzdDxFd2tfQ29udGV4dF9NZW51X0l0ZW1f
VHlwZT4oY29yZS50eXBlKCkpOwogICAgIEV3a19Db250ZXh0X01lbnVfQWN0aW9uIGFjdGlvbiA9
IHN0YXRpY19jYXN0PEV3a19Db250ZXh0X01lbnVfQWN0aW9uPihjb3JlLmFjdGlvbigpKTsKIAot
ICAgIEV3a19Db250ZXh0X01lbnVfSXRlbSogbWVudV9pdGVtID0gZXdrX2NvbnRleHRfbWVudV9p
dGVtX25ldworICAgIEV3a19Db250ZXh0X01lbnVfSXRlbSAqbWVudV9pdGVtID0gZXdrX2NvbnRl
eHRfbWVudV9pdGVtX25ldwogICAgICAgICAodHlwZSwgYWN0aW9uLCAwLCBjb3JlLnRpdGxlKCku
dXRmOCgpLmRhdGEoKSwgY29yZS5jaGVja2VkKCksCiAgICAgICAgICBjb3JlLmVuYWJsZWQoKSk7
CiAgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk4obWVudV9pdGVtKTsKQEAgLTQyMyw3ICs0
MjMsNyBAQCB2b2lkIGV3a19jb250ZXh0X21lbnVfaXRlbV9hcHBlbmQoRXdrX0NvbnRleHRfTWVu
dSogbywgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtJgogICoKICAqIEBzZWUgZXdrX2NvbnRleHRf
bWVudV9pdGVtX2xpc3RfZ2V0CiAgKi8KLUV3a19Db250ZXh0X01lbnUqIGV3a19jb250ZXh0X21l
bnVfY3VzdG9tX2dldChFd2tfQ29udGV4dF9NZW51KiBvKQorRXdrX0NvbnRleHRfTWVudSAqZXdr
X2NvbnRleHRfbWVudV9jdXN0b21fZ2V0KEV3a19Db250ZXh0X01lbnUgKm8pCiB7CiAgICAgRUlO
QV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKG8sIDApOwogCkBAIC00MzgsNyArNDM4LDcgQEAg
RXdrX0NvbnRleHRfTWVudSogZXdrX2NvbnRleHRfbWVudV9jdXN0b21fZ2V0KEV3a19Db250ZXh0
X01lbnUqIG8pCiAgKgogICogQHBhcmFtIG8gdGhlIGNvbnRleHQgbWVudSBvYmplY3QKICAqLwot
dm9pZCBld2tfY29udGV4dF9tZW51X3Nob3coRXdrX0NvbnRleHRfTWVudSogbykKK3ZvaWQgZXdr
X2NvbnRleHRfbWVudV9zaG93KEV3a19Db250ZXh0X01lbnUgKm8pCiB7CiAgICAgRUlOQV9TQUZF
VFlfT05fTlVMTF9SRVRVUk4obyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3
ay9ld2tfY29udGV4dG1lbnUuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfY29udGV4dG1l
bnUuaAppbmRleCAwZDBiNGY5Li5iMmQwNzkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9ld2svZXdrX2NvbnRleHRtZW51LmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19j
b250ZXh0bWVudS5oCkBAIC0xNTEsMjUgKzE1MSwyNSBAQCB0eXBlZGVmIHN0cnVjdCBfRXdrX0Nv
bnRleHRfTWVudV9JdGVtICAgICAgIEV3a19Db250ZXh0X01lbnVfSXRlbTsKIAogLyoqKioqKioq
KioqKioqKioqKioqKioqKioqIEV4cG9ydGVkIGZ1bmN0aW9ucyAqKioqKioqKioqKioqKioqKioq
KioqKi8KIAotRUFQSSB2b2lkICAgICAgICAgICAgICAgICAgICAgICAgZXdrX2NvbnRleHRfbWVu
dV9yZWYoRXdrX0NvbnRleHRfTWVudSogbWVudSk7Ci1FQVBJIHZvaWQgICAgICAgICAgICAgICAg
ICAgICAgICBld2tfY29udGV4dF9tZW51X3VucmVmKEV3a19Db250ZXh0X01lbnUqIG1lbnUpOwot
RUFQSSBFaW5hX0Jvb2wgICAgICAgICAgICAgICAgICAgZXdrX2NvbnRleHRfbWVudV9kZXN0cm95
KEV3a19Db250ZXh0X01lbnUqIG1lbnUpOwotCi1FQVBJIGNvbnN0IEVpbmFfTGlzdCogICAgICAg
ICAgICBld2tfY29udGV4dF9tZW51X2l0ZW1fbGlzdF9nZXQoRXdrX0NvbnRleHRfTWVudSogbyk7
Ci0KLUVBUEkgRXdrX0NvbnRleHRfTWVudV9JdGVtKiAgICAgIGV3a19jb250ZXh0X21lbnVfaXRl
bV9uZXcoRXdrX0NvbnRleHRfTWVudV9JdGVtX1R5cGUgdHlwZSwgRXdrX0NvbnRleHRfTWVudV9B
Y3Rpb24gYWN0aW9uLCBFd2tfQ29udGV4dF9NZW51KiBzdWJtZW51LCBjb25zdCBjaGFyKiB0aXRs
ZSwgRWluYV9Cb29sIGNoZWNrZWQsIEVpbmFfQm9vbCBlbmFibGVkKTsKLUVBUEkgdm9pZCAgICAg
ICAgICAgICAgICAgICAgICAgIGV3a19jb250ZXh0X21lbnVfaXRlbV9mcmVlKEV3a19Db250ZXh0
X01lbnVfSXRlbSogaXRlbSk7Ci1FQVBJIEVpbmFfQm9vbCAgICAgICAgICAgICAgICAgICBld2tf
Y29udGV4dF9tZW51X2l0ZW1fc2VsZWN0KEV3a19Db250ZXh0X01lbnUqIG1lbnUsIEV3a19Db250
ZXh0X01lbnVfSXRlbSogaXRlbSk7Ci1FQVBJIEV3a19Db250ZXh0X01lbnVfSXRlbV9UeXBlICBl
d2tfY29udGV4dF9tZW51X2l0ZW1fdHlwZV9nZXQoRXdrX0NvbnRleHRfTWVudV9JdGVtKiBvKTsK
LUVBUEkgRWluYV9Cb29sICAgICAgICAgICAgICAgICAgIGV3a19jb250ZXh0X21lbnVfaXRlbV90
eXBlX3NldChFd2tfQ29udGV4dF9NZW51X0l0ZW0qIG8sIEV3a19Db250ZXh0X01lbnVfSXRlbV9U
eXBlIHR5cGUpOwotRUFQSSBFd2tfQ29udGV4dF9NZW51X0FjdGlvbiAgICAgZXdrX2NvbnRleHRf
bWVudV9pdGVtX2FjdGlvbl9nZXQoRXdrX0NvbnRleHRfTWVudV9JdGVtKiBvKTsKLUVBUEkgRWlu
YV9Cb29sICAgICAgICAgICAgICAgICAgIGV3a19jb250ZXh0X21lbnVfaXRlbV9hY3Rpb25fc2V0
KEV3a19Db250ZXh0X01lbnVfSXRlbSogbywgRXdrX0NvbnRleHRfTWVudV9BY3Rpb24gYWN0aW9u
KTsKLUVBUEkgY29uc3QgY2hhciogICAgICAgICAgICAgICAgIGV3a19jb250ZXh0X21lbnVfaXRl
bV90aXRsZV9nZXQoRXdrX0NvbnRleHRfTWVudV9JdGVtKiBvKTsKLUVBUEkgY29uc3QgY2hhciog
ICAgICAgICAgICAgICAgIGV3a19jb250ZXh0X21lbnVfaXRlbV90aXRsZV9zZXQoRXdrX0NvbnRl
eHRfTWVudV9JdGVtKiBvLCBjb25zdCBjaGFyKiB0aXRsZSk7Ci1FQVBJIEVpbmFfQm9vbCAgICAg
ICAgICAgICAgICAgICBld2tfY29udGV4dF9tZW51X2l0ZW1fY2hlY2tlZF9nZXQoRXdrX0NvbnRl
eHRfTWVudV9JdGVtKiBvKTsKLUVBUEkgRWluYV9Cb29sICAgICAgICAgICAgICAgICAgIGV3a19j
b250ZXh0X21lbnVfaXRlbV9jaGVja2VkX3NldChFd2tfQ29udGV4dF9NZW51X0l0ZW0qIG8sIEVp
bmFfQm9vbCBjaGVja2VkKTsKLUVBUEkgRWluYV9Cb29sICAgICAgICAgICAgICAgICAgIGV3a19j
b250ZXh0X21lbnVfaXRlbV9lbmFibGVkX2dldChFd2tfQ29udGV4dF9NZW51X0l0ZW0qIG8pOwot
RUFQSSBFaW5hX0Jvb2wgICAgICAgICAgICAgICAgICAgZXdrX2NvbnRleHRfbWVudV9pdGVtX2Vu
YWJsZWRfc2V0KEV3a19Db250ZXh0X01lbnVfSXRlbSogbywgRWluYV9Cb29sIGVuYWJsZWQpOwor
RUFQSSB2b2lkICAgICAgICAgICAgICAgICAgICAgICAgZXdrX2NvbnRleHRfbWVudV9yZWYoRXdr
X0NvbnRleHRfTWVudSAqbWVudSk7CitFQVBJIHZvaWQgICAgICAgICAgICAgICAgICAgICAgICBl
d2tfY29udGV4dF9tZW51X3VucmVmKEV3a19Db250ZXh0X01lbnUgKm1lbnUpOworRUFQSSBFaW5h
X0Jvb2wgICAgICAgICAgICAgICAgICAgZXdrX2NvbnRleHRfbWVudV9kZXN0cm95KEV3a19Db250
ZXh0X01lbnUgKm1lbnUpOworCitFQVBJIGNvbnN0IEVpbmFfTGlzdCAgICAgICAgICAgICpld2tf
Y29udGV4dF9tZW51X2l0ZW1fbGlzdF9nZXQoRXdrX0NvbnRleHRfTWVudSAqbyk7CisKK0VBUEkg
RXdrX0NvbnRleHRfTWVudV9JdGVtICAgICAgKmV3a19jb250ZXh0X21lbnVfaXRlbV9uZXcoRXdr
X0NvbnRleHRfTWVudV9JdGVtX1R5cGUgdHlwZSwgRXdrX0NvbnRleHRfTWVudV9BY3Rpb24gYWN0
aW9uLCBFd2tfQ29udGV4dF9NZW51ICpzdWJtZW51LCBjb25zdCBjaGFyICp0aXRsZSwgRWluYV9C
b29sIGNoZWNrZWQsIEVpbmFfQm9vbCBlbmFibGVkKTsKK0VBUEkgdm9pZCAgICAgICAgICAgICAg
ICAgICAgICAgIGV3a19jb250ZXh0X21lbnVfaXRlbV9mcmVlKEV3a19Db250ZXh0X01lbnVfSXRl
bSAqaXRlbSk7CitFQVBJIEVpbmFfQm9vbCAgICAgICAgICAgICAgICAgICBld2tfY29udGV4dF9t
ZW51X2l0ZW1fc2VsZWN0KEV3a19Db250ZXh0X01lbnUgKm1lbnUsIEV3a19Db250ZXh0X01lbnVf
SXRlbSAqaXRlbSk7CitFQVBJIEV3a19Db250ZXh0X01lbnVfSXRlbV9UeXBlICBld2tfY29udGV4
dF9tZW51X2l0ZW1fdHlwZV9nZXQoRXdrX0NvbnRleHRfTWVudV9JdGVtICpvKTsKK0VBUEkgRWlu
YV9Cb29sICAgICAgICAgICAgICAgICAgIGV3a19jb250ZXh0X21lbnVfaXRlbV90eXBlX3NldChF
d2tfQ29udGV4dF9NZW51X0l0ZW0gKm8sIEV3a19Db250ZXh0X01lbnVfSXRlbV9UeXBlIHR5cGUp
OworRUFQSSBFd2tfQ29udGV4dF9NZW51X0FjdGlvbiAgICAgZXdrX2NvbnRleHRfbWVudV9pdGVt
X2FjdGlvbl9nZXQoRXdrX0NvbnRleHRfTWVudV9JdGVtICpvKTsKK0VBUEkgRWluYV9Cb29sICAg
ICAgICAgICAgICAgICAgIGV3a19jb250ZXh0X21lbnVfaXRlbV9hY3Rpb25fc2V0KEV3a19Db250
ZXh0X01lbnVfSXRlbSAqbywgRXdrX0NvbnRleHRfTWVudV9BY3Rpb24gYWN0aW9uKTsKK0VBUEkg
Y29uc3QgY2hhciAgICAgICAgICAgICAgICAgKmV3a19jb250ZXh0X21lbnVfaXRlbV90aXRsZV9n
ZXQoRXdrX0NvbnRleHRfTWVudV9JdGVtICpvKTsKK0VBUEkgY29uc3QgY2hhciAgICAgICAgICAg
ICAgICAgKmV3a19jb250ZXh0X21lbnVfaXRlbV90aXRsZV9zZXQoRXdrX0NvbnRleHRfTWVudV9J
dGVtICpvLCBjb25zdCBjaGFyICp0aXRsZSk7CitFQVBJIEVpbmFfQm9vbCAgICAgICAgICAgICAg
ICAgICBld2tfY29udGV4dF9tZW51X2l0ZW1fY2hlY2tlZF9nZXQoRXdrX0NvbnRleHRfTWVudV9J
dGVtICpvKTsKK0VBUEkgRWluYV9Cb29sICAgICAgICAgICAgICAgICAgIGV3a19jb250ZXh0X21l
bnVfaXRlbV9jaGVja2VkX3NldChFd2tfQ29udGV4dF9NZW51X0l0ZW0gKm8sIEVpbmFfQm9vbCBj
aGVja2VkKTsKK0VBUEkgRWluYV9Cb29sICAgICAgICAgICAgICAgICAgIGV3a19jb250ZXh0X21l
bnVfaXRlbV9lbmFibGVkX2dldChFd2tfQ29udGV4dF9NZW51X0l0ZW0gKm8pOworRUFQSSBFaW5h
X0Jvb2wgICAgICAgICAgICAgICAgICAgZXdrX2NvbnRleHRfbWVudV9pdGVtX2VuYWJsZWRfc2V0
KEV3a19Db250ZXh0X01lbnVfSXRlbSAqbywgRWluYV9Cb29sIGVuYWJsZWQpOwogCiAjaWZkZWYg
X19jcGx1c3BsdXMKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfY29v
a2llcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2Nvb2tpZXMuY3BwCmluZGV4IDg5
MWNlYWIuLmQ5OGFkNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfY29v
a2llcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19jb29raWVzLmNwcApAQCAt
NDgsNyArNDgsNyBAQAogRWluYV9Cb29sIGV3a19jb29raWVzX2ZpbGVfc2V0KGNvbnN0IGNoYXIg
KmZpbGVuYW1lKQogewogI2lmIFVTRShTT1VQKQotICAgIFNvdXBDb29raWVKYXIqIGNvb2tpZUph
ciA9IDA7CisgICAgU291cENvb2tpZUphciAqY29va2llSmFyID0gMDsKICAgICBpZiAoZmlsZW5h
bWUpCiAgICAgICAgIGNvb2tpZUphciA9IHNvdXBfY29va2llX2phcl90ZXh0X25ldyhmaWxlbmFt
ZSwgRkFMU0UpOwogICAgIGVsc2UKQEAgLTU5LDggKzU5LDggQEAgRWluYV9Cb29sIGV3a19jb29r
aWVzX2ZpbGVfc2V0KGNvbnN0IGNoYXIgKmZpbGVuYW1lKQogCiAgICAgc291cF9jb29raWVfamFy
X3NldF9hY2NlcHRfcG9saWN5KGNvb2tpZUphciwgU09VUF9DT09LSUVfSkFSX0FDQ0VQVF9OT19U
SElSRF9QQVJUWSk7CiAKLSAgICBTb3VwU2Vzc2lvbiogc2Vzc2lvbiA9IFdlYkNvcmU6OlJlc291
cmNlSGFuZGxlOjpkZWZhdWx0U2Vzc2lvbigpOwotICAgIFNvdXBTZXNzaW9uRmVhdHVyZSogb2xk
amFyID0gc291cF9zZXNzaW9uX2dldF9mZWF0dXJlKHNlc3Npb24sIFNPVVBfVFlQRV9DT09LSUVf
SkFSKTsKKyAgICBTb3VwU2Vzc2lvbiAqc2Vzc2lvbiA9IFdlYkNvcmU6OlJlc291cmNlSGFuZGxl
OjpkZWZhdWx0U2Vzc2lvbigpOworICAgIFNvdXBTZXNzaW9uRmVhdHVyZSAqb2xkamFyID0gc291
cF9zZXNzaW9uX2dldF9mZWF0dXJlKHNlc3Npb24sIFNPVVBfVFlQRV9DT09LSUVfSkFSKTsKICAg
ICBpZiAob2xkamFyKQogICAgICAgICBzb3VwX3Nlc3Npb25fcmVtb3ZlX2ZlYXR1cmUoc2Vzc2lv
biwgb2xkamFyKTsKIApAQCAtNzksMTMgKzc5LDEzIEBAIEVpbmFfQm9vbCBld2tfY29va2llc19m
aWxlX3NldChjb25zdCBjaGFyICpmaWxlbmFtZSkKIHZvaWQgZXdrX2Nvb2tpZXNfY2xlYXIodm9p
ZCkKIHsKICNpZiBVU0UoU09VUCkKLSAgICBHU0xpc3QqIGw7Ci0gICAgR1NMaXN0KiBwOwotICAg
IFNvdXBDb29raWVKYXIqIGNvb2tpZUphciA9IFdlYkNvcmU6OmRlZmF1bHRDb29raWVKYXIoKTsK
KyAgICBHU0xpc3QgKmw7CisgICAgR1NMaXN0ICpwOworICAgIFNvdXBDb29raWVKYXIgKmNvb2tp
ZUphciA9IFdlYkNvcmU6OmRlZmF1bHRDb29raWVKYXIoKTsKIAogICAgIGwgPSBzb3VwX2Nvb2tp
ZV9qYXJfYWxsX2Nvb2tpZXMoY29va2llSmFyKTsKICAgICBmb3IgKHAgPSBsOyBwOyBwID0gcC0+
bmV4dCkKLSAgICAgICAgc291cF9jb29raWVfamFyX2RlbGV0ZV9jb29raWUoY29va2llSmFyLCAo
U291cENvb2tpZSopcC0+ZGF0YSk7CisgICAgICAgIHNvdXBfY29va2llX2phcl9kZWxldGVfY29v
a2llKGNvb2tpZUphciwgKFNvdXBDb29raWUgKilwLT5kYXRhKTsKIAogICAgIHNvdXBfY29va2ll
c19mcmVlKGwpOwogI2VuZGlmCkBAIC05NiwxOCArOTYsMTggQEAgdm9pZCBld2tfY29va2llc19j
bGVhcih2b2lkKQogICoKICAqIEByZXR1cm4gYW4gQGMgRWluYV9MaXN0IHdpdGggYWxsIHRoZSBj
b29raWVzIGluIHRoZSBjb29raWUgamFyLgogICovCi1FaW5hX0xpc3QqIGV3a19jb29raWVzX2dl
dF9hbGwodm9pZCkKK0VpbmFfTGlzdCAqZXdrX2Nvb2tpZXNfZ2V0X2FsbCh2b2lkKQogewotICAg
IEVpbmFfTGlzdCogZWwgPSAwOworICAgIEVpbmFfTGlzdCAqZWwgPSAwOwogI2lmIFVTRShTT1VQ
KQotICAgIEdTTGlzdCogbDsKLSAgICBHU0xpc3QqIHA7Ci0gICAgU291cENvb2tpZUphciogY29v
a2llSmFyID0gV2ViQ29yZTo6ZGVmYXVsdENvb2tpZUphcigpOworICAgIEdTTGlzdCAqbDsKKyAg
ICBHU0xpc3QgKnA7CisgICAgU291cENvb2tpZUphciAqY29va2llSmFyID0gV2ViQ29yZTo6ZGVm
YXVsdENvb2tpZUphcigpOwogCiAgICAgbCA9IHNvdXBfY29va2llX2phcl9hbGxfY29va2llcyhj
b29raWVKYXIpOwogICAgIGZvciAocCA9IGw7IHA7IHAgPSBwLT5uZXh0KSB7Ci0gICAgICAgIFNv
dXBDb29raWUqIGNvb2tpZSA9IHN0YXRpY19jYXN0PFNvdXBDb29raWUqPihwLT5kYXRhKTsKLSAg
ICAgICAgRXdrX0Nvb2tpZSogYyA9IHN0YXRpY19jYXN0PEV3a19Db29raWUqPihtYWxsb2Moc2l6
ZW9mKCpjKSkpOworICAgICAgICBTb3VwQ29va2llICpjb29raWUgPSBzdGF0aWNfY2FzdDxTb3Vw
Q29va2llKj4ocC0+ZGF0YSk7CisgICAgICAgIEV3a19Db29raWUgKmMgPSBzdGF0aWNfY2FzdDxF
d2tfQ29va2llKj4obWFsbG9jKHNpemVvZigqYykpKTsKICAgICAgICAgYy0+bmFtZSA9IHN0cmR1
cChjb29raWUtPm5hbWUpOwogICAgICAgICBjLT52YWx1ZSA9IHN0cmR1cChjb29raWUtPnZhbHVl
KTsKICAgICAgICAgYy0+ZG9tYWluID0gc3RyZHVwKGNvb2tpZS0+ZG9tYWluKTsKQEAgLTEzNywx
MyArMTM3LDEzIEBAIHZvaWQgZXdrX2Nvb2tpZXNfY29va2llX2RlbChFd2tfQ29va2llICpjb29r
aWUpCiAgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk4oY29va2llKTsKICAgICBHU0xpc3Qq
IGw7CiAgICAgR1NMaXN0KiBwOwotICAgIFNvdXBDb29raWVKYXIqIGNvb2tpZUphciA9IFdlYkNv
cmU6OmRlZmF1bHRDb29raWVKYXIoKTsKLSAgICBTb3VwQ29va2llKiBjMSA9IHNvdXBfY29va2ll
X25ldygKKyAgICBTb3VwQ29va2llSmFyICpjb29raWVKYXIgPSBXZWJDb3JlOjpkZWZhdWx0Q29v
a2llSmFyKCk7CisgICAgU291cENvb2tpZSAqYzEgPSBzb3VwX2Nvb2tpZV9uZXcoCiAgICAgICAg
IGNvb2tpZS0+bmFtZSwgY29va2llLT52YWx1ZSwgY29va2llLT5kb21haW4sIGNvb2tpZS0+cGF0
aCwgLTEpOwogCiAgICAgbCA9IHNvdXBfY29va2llX2phcl9hbGxfY29va2llcyhjb29raWVKYXIp
OwogICAgIGZvciAocCA9IGw7IHA7IHAgPSBwLT5uZXh0KSB7Ci0gICAgICAgIFNvdXBDb29raWUq
IGMyID0gc3RhdGljX2Nhc3Q8U291cENvb2tpZSo+KHAtPmRhdGEpOworICAgICAgICBTb3VwQ29v
a2llICpjMiA9IHN0YXRpY19jYXN0PFNvdXBDb29raWUqPihwLT5kYXRhKTsKICAgICAgICAgaWYg
KHNvdXBfY29va2llX2VxdWFsKGMxLCBjMikpIHsKICAgICAgICAgICAgIHNvdXBfY29va2llX2ph
cl9kZWxldGVfY29va2llKGNvb2tpZUphciwgYzIpOwogICAgICAgICAgICAgYnJlYWs7CkBAIC0x
ODEsNyArMTgxLDcgQEAgdm9pZCBld2tfY29va2llc19jb29raWVfZnJlZShFd2tfQ29va2llICpj
b29raWUpCiB2b2lkIGV3a19jb29raWVzX3BvbGljeV9zZXQoRXdrX0Nvb2tpZV9Qb2xpY3kgcCkK
IHsKICNpZiBVU0UoU09VUCkKLSAgICBTb3VwQ29va2llSmFyKiBjb29raWVKYXIgPSBXZWJDb3Jl
OjpkZWZhdWx0Q29va2llSmFyKCk7CisgICAgU291cENvb2tpZUphciAqY29va2llSmFyID0gV2Vi
Q29yZTo6ZGVmYXVsdENvb2tpZUphcigpOwogICAgIFNvdXBDb29raWVKYXJBY2NlcHRQb2xpY3kg
cG9saWN5OwogCiAgICAgcG9saWN5ID0gU09VUF9DT09LSUVfSkFSX0FDQ0VQVF9BTFdBWVM7CkBA
IC0yMTEsNyArMjExLDcgQEAgRXdrX0Nvb2tpZV9Qb2xpY3kgZXdrX2Nvb2tpZXNfcG9saWN5X2dl
dCh2b2lkKQogewogICAgIEV3a19Db29raWVfUG9saWN5IGV3a19wb2xpY3kgPSBFV0tfQ09PS0lF
X0pBUl9BQ0NFUFRfQUxXQVlTOwogI2lmIFVTRShTT1VQKQotICAgIFNvdXBDb29raWVKYXIqIGNv
b2tpZUphciA9IFdlYkNvcmU6OmRlZmF1bHRDb29raWVKYXIoKTsKKyAgICBTb3VwQ29va2llSmFy
ICpjb29raWVKYXIgPSBXZWJDb3JlOjpkZWZhdWx0Q29va2llSmFyKCk7CiAgICAgU291cENvb2tp
ZUphckFjY2VwdFBvbGljeSBwb2xpY3k7CiAKICAgICBwb2xpY3kgPSBzb3VwX2Nvb2tpZV9qYXJf
Z2V0X2FjY2VwdF9wb2xpY3koY29va2llSmFyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
ZWZsL2V3ay9ld2tfbWFpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX21haW4uY3Bw
CmluZGV4IDc1MTk1NWIuLjNmYWJmM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3
ay9ld2tfbWFpbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19tYWluLmNwcApA
QCAtMjA3LDcgKzIwNyw3IEBAIEVpbmFfQm9vbCBfZXdrX2luaXRfYm9keSh2b2lkKQogICAgIC8v
IFRPRE86IHRoaXMgc2hvdWxkIG1vdmUgdG8gV2ViQ29yZSwgYWxyZWFkeSByZXBvcnRlZCB0byB3
ZWJraXQtZ3RrIGZvbGtzOgogI2lmIFVTRShTT1VQKQogICAgIGlmICgxKSB7Ci0gICAgICAgIFNv
dXBTZXNzaW9uKiBzZXNzaW9uID0gV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OmRlZmF1bHRTZXNz
aW9uKCk7CisgICAgICAgIFNvdXBTZXNzaW9uICpzZXNzaW9uID0gV2ViQ29yZTo6UmVzb3VyY2VI
YW5kbGU6OmRlZmF1bHRTZXNzaW9uKCk7CiAgICAgICAgIHNvdXBfc2Vzc2lvbl9hZGRfZmVhdHVy
ZV9ieV90eXBlKHNlc3Npb24sIFNPVVBfVFlQRV9DT05URU5UX1NOSUZGRVIpOwogICAgICAgICBz
b3VwX3Nlc3Npb25fYWRkX2ZlYXR1cmVfYnlfdHlwZShzZXNzaW9uLCBTT1VQX1RZUEVfQ09OVEVO
VF9ERUNPREVSKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19uZXR3
b3JrLmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfbmV0d29yay5jcHAKaW5kZXggZTgy
OTQwMy4uM2Q5ZjgyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19uZXR3
b3JrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX25ldHdvcmsuY3BwCkBAIC0z
NSwxMCArMzUsMTAgQEAKICAqCiAgKiBAcGFyYW0gcHJveHkgVVJJIHRvIHNldC4KICAqLwotdm9p
ZCBld2tfbmV0d29ya19wcm94eV91cmlfc2V0KGNvbnN0IGNoYXIqIHByb3h5KQordm9pZCBld2tf
bmV0d29ya19wcm94eV91cmlfc2V0KGNvbnN0IGNoYXIgKnByb3h5KQogewogI2lmIFVTRShTT1VQ
KQotICAgIFNvdXBTZXNzaW9uKiBzZXNzaW9uID0gV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OmRl
ZmF1bHRTZXNzaW9uKCk7CisgICAgU291cFNlc3Npb24gKnNlc3Npb24gPSBXZWJDb3JlOjpSZXNv
dXJjZUhhbmRsZTo6ZGVmYXVsdFNlc3Npb24oKTsKIAogICAgIGlmICghcHJveHkpIHsKICAgICAg
ICAgRVJSKCJubyBwcm94eSB1cmkuIHJlbW92ZSBwcm94eSBmZWF0dXJlIGluIHNvdXAuIik7CkBA
IC00Niw3ICs0Niw3IEBAIHZvaWQgZXdrX25ldHdvcmtfcHJveHlfdXJpX3NldChjb25zdCBjaGFy
KiBwcm94eSkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIFNvdXBVUkkqIHVyaSA9IHNv
dXBfdXJpX25ldyhwcm94eSk7CisgICAgU291cFVSSSAqdXJpID0gc291cF91cmlfbmV3KHByb3h5
KTsKICAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTih1cmkpOwogCiAgICAgZ19vYmplY3Rf
c2V0KHNlc3Npb24sIFNPVVBfU0VTU0lPTl9QUk9YWV9VUkksIHVyaSwgTlVMTCk7CkBAIC02Mywx
MSArNjMsMTEgQEAgdm9pZCBld2tfbmV0d29ya19wcm94eV91cmlfc2V0KGNvbnN0IGNoYXIqIHBy
b3h5KQogICoKICAqIEByZXR1cm4gY3VycmVudCBwcm94eSBVUkkgb3IgQGMgMCBpZiBpdCdzIG5v
dCBzZXQuCiAgKi8KLWNvbnN0IGNoYXIqIGV3a19uZXR3b3JrX3Byb3h5X3VyaV9nZXQodm9pZCkK
K2NvbnN0IGNoYXIgKmV3a19uZXR3b3JrX3Byb3h5X3VyaV9nZXQodm9pZCkKIHsKICNpZiBVU0Uo
U09VUCkKLSAgICBTb3VwVVJJKiB1cmk7Ci0gICAgU291cFNlc3Npb24qIHNlc3Npb24gPSBXZWJD
b3JlOjpSZXNvdXJjZUhhbmRsZTo6ZGVmYXVsdFNlc3Npb24oKTsKKyAgICBTb3VwVVJJICp1cmk7
CisgICAgU291cFNlc3Npb24gKnNlc3Npb24gPSBXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6ZGVm
YXVsdFNlc3Npb24oKTsKICAgICBnX29iamVjdF9nZXQoc2Vzc2lvbiwgU09VUF9TRVNTSU9OX1BS
T1hZX1VSSSwgJnVyaSwgTlVMTCk7CiAKICAgICBpZiAoIXVyaSkgewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9lZmwvZXdrL2V3a19uZXR3b3JrLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2sv
ZXdrX25ldHdvcmsuaAppbmRleCBlMmY4ZDU3Li5jMGZiMThkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9ld2svZXdrX25ldHdvcmsuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2sv
ZXdrX25ldHdvcmsuaApAQCAtMzEsOCArMzEsOCBAQAogZXh0ZXJuICJDIiB7CiAjZW5kaWYKIAot
RUFQSSB2b2lkICAgICAgICAgICAgIGV3a19uZXR3b3JrX3Byb3h5X3VyaV9zZXQoY29uc3QgY2hh
ciogcHJveHkpOwotRUFQSSBjb25zdCBjaGFyKiAgICAgIGV3a19uZXR3b3JrX3Byb3h5X3VyaV9n
ZXQodm9pZCk7CitFQVBJIHZvaWQgICAgICAgICAgICAgZXdrX25ldHdvcmtfcHJveHlfdXJpX3Nl
dChjb25zdCBjaGFyICpwcm94eSk7CitFQVBJIGNvbnN0IGNoYXIgICAgICAqZXdrX25ldHdvcmtf
cHJveHlfdXJpX2dldCh2b2lkKTsKIAogRUFQSSB2b2lkICAgICAgICAgICAgIGV3a19uZXR3b3Jr
X3N0YXRlX25vdGlmaWVyX29ubGluZV9zZXQoRWluYV9Cb29sIG9ubGluZSk7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfcHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9l
ZmwvZXdrL2V3a19wcml2YXRlLmgKaW5kZXggMTA3NmM2Ni4uMzMzMThkNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19wcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9l
ZmwvZXdrL2V3a19wcml2YXRlLmgKQEAgLTU0LDcgKzU0LDcgQEAgc3RydWN0IENvbnRleHRNZW51
SXRlbTsKIH0KIAogdm9pZCBld2tfdmlld19yZWFkeShFdmFzX09iamVjdCAqbyk7Ci12b2lkIGV3
a192aWV3X2lucHV0X21ldGhvZF9zdGF0ZV9zZXQoRXZhc19PYmplY3QqIG8sIEVpbmFfQm9vbCBh
Y3RpdmUpOwordm9pZCBld2tfdmlld19pbnB1dF9tZXRob2Rfc3RhdGVfc2V0KEV2YXNfT2JqZWN0
ICpvLCBFaW5hX0Jvb2wgYWN0aXZlKTsKIHZvaWQgZXdrX3ZpZXdfdGl0bGVfc2V0KEV2YXNfT2Jq
ZWN0ICpvLCBjb25zdCBjaGFyICp0aXRsZSk7CiB2b2lkIGV3a192aWV3X3VyaV9jaGFuZ2VkKEV2
YXNfT2JqZWN0ICpvKTsKIHZvaWQgZXdrX3ZpZXdfbG9hZF9zdGFydGVkKEV2YXNfT2JqZWN0ICpv
KTsKQEAgLTY1LDkgKzY1LDkgQEAgdm9pZCBld2tfdmlld19mcmFtZV9tYWluX2ljb25fcmVjZWl2
ZWQoRXZhc19PYmplY3QgKm8pOwogdm9pZCBld2tfdmlld19sb2FkX2ZpbmlzaGVkKEV2YXNfT2Jq
ZWN0ICpvLCBjb25zdCBFd2tfRnJhbWVfTG9hZF9FcnJvciAqZXJyb3IpOwogdm9pZCBld2tfdmll
d19sb2FkX2Vycm9yKEV2YXNfT2JqZWN0ICpvLCBjb25zdCBFd2tfRnJhbWVfTG9hZF9FcnJvciAq
ZXJyb3IpOwogdm9pZCBld2tfdmlld19sb2FkX3Byb2dyZXNzX2NoYW5nZWQoRXZhc19PYmplY3Qg
Km8pOwotdm9pZCBld2tfdmlld19sb2FkX3Nob3coRXZhc19PYmplY3QqIG8pOwordm9pZCBld2tf
dmlld19sb2FkX3Nob3coRXZhc19PYmplY3QgKm8pOwogdm9pZCBld2tfdmlld19yZXN0b3JlX3N0
YXRlKEV2YXNfT2JqZWN0ICpvLCBFdmFzX09iamVjdCAqZnJhbWUpOwotRXZhc19PYmplY3QgKmV3
a192aWV3X3dpbmRvd19jcmVhdGUoRXZhc19PYmplY3QgKm8sIEVpbmFfQm9vbCBqYXZhc2NyaXB0
LCBjb25zdCBXZWJDb3JlOjpXaW5kb3dGZWF0dXJlcyogY29yZUZlYXR1cmVzKTsKK0V2YXNfT2Jq
ZWN0ICpld2tfdmlld193aW5kb3dfY3JlYXRlKEV2YXNfT2JqZWN0ICpvLCBFaW5hX0Jvb2wgamF2
YXNjcmlwdCwgY29uc3QgV2ViQ29yZTo6V2luZG93RmVhdHVyZXMgKmNvcmVGZWF0dXJlcyk7CiB2
b2lkIGV3a192aWV3X3dpbmRvd19jbG9zZShFdmFzX09iamVjdCAqbyk7CiAKIHZvaWQgZXdrX3Zp
ZXdfbW91c2VfbGlua19ob3Zlcl9pbihFdmFzX09iamVjdCAqbywgdm9pZCAqZGF0YSk7CkBAIC05
NiwyMiArOTYsMjIgQEAgRWluYV9Cb29sIGV3a192aWV3X3J1bl9qYXZhc2NyaXB0X3Byb21wdChF
dmFzX09iamVjdCAqbywgRXZhc19PYmplY3QgKmZyYW1lLCBjb24KIEVpbmFfQm9vbCBld2tfdmll
d19zaG91bGRfaW50ZXJydXB0X2phdmFzY3JpcHQoRXZhc19PYmplY3QgKm8pOwogdWludDY0X3Qg
ZXdrX3ZpZXdfZXhjZWVkZWRfZGF0YWJhc2VfcXVvdGEoRXZhc19PYmplY3QgKm8sIEV2YXNfT2Jq
ZWN0ICpmcmFtZSwgY29uc3QgY2hhciAqZGF0YWJhc2VOYW1lLCB1aW50NjRfdCBjdXJyZW50X3Np
emUsIHVpbnQ2NF90IGV4cGVjdGVkX3NpemUpOwogCi1FaW5hX0Jvb2wgZXdrX3ZpZXdfcnVuX29w
ZW5fcGFuZWwoRXZhc19PYmplY3QqIG8sIEV2YXNfT2JqZWN0KiBmcmFtZSwgRWluYV9Cb29sIGFs
bG93c19tdWx0aXBsZV9maWxlcywgY29uc3QgY2hhciogYWNjZXB0X3R5cGVzLCBFaW5hX0xpc3Qq
KiBzZWxlY3RlZF9maWxlbmFtZXMpOworRWluYV9Cb29sIGV3a192aWV3X3J1bl9vcGVuX3BhbmVs
KEV2YXNfT2JqZWN0ICpvLCBFdmFzX09iamVjdCAqZnJhbWUsIEVpbmFfQm9vbCBhbGxvd3NfbXVs
dGlwbGVfZmlsZXMsIGNvbnN0IGNoYXIgKmFjY2VwdF90eXBlcywgRWluYV9MaXN0ICoqc2VsZWN0
ZWRfZmlsZW5hbWVzKTsKIAogdm9pZCBld2tfdmlld19yZXBhaW50KEV2YXNfT2JqZWN0ICpvLCBF
dmFzX0Nvb3JkIHgsIEV2YXNfQ29vcmQgeSwgRXZhc19Db29yZCB3LCBFdmFzX0Nvb3JkIGgpOwog
dm9pZCBld2tfdmlld19zY3JvbGwoRXZhc19PYmplY3QgKm8sIEV2YXNfQ29vcmQgZHgsIEV2YXNf
Q29vcmQgZHksIEV2YXNfQ29vcmQgc3gsIEV2YXNfQ29vcmQgc3ksIEV2YXNfQ29vcmQgc3csIEV2
YXNfQ29vcmQgc2gsIEV2YXNfQ29vcmQgY3gsIEV2YXNfQ29vcmQgY3ksIEV2YXNfQ29vcmQgY3cs
IEV2YXNfQ29vcmQgY2gsIEVpbmFfQm9vbCBtYWluX2ZyYW1lKTsKIFdlYkNvcmU6OlBhZ2UgKmV3
a192aWV3X2NvcmVfcGFnZV9nZXQoY29uc3QgRXZhc19PYmplY3QgKm8pOwogCi1XVEY6OlBhc3NS
ZWZQdHI8V2ViQ29yZTo6RnJhbWU+IGV3a192aWV3X2ZyYW1lX2NyZWF0ZShFdmFzX09iamVjdCAq
bywgRXZhc19PYmplY3QgKmZyYW1lLCBjb25zdCBXVEY6OlN0cmluZyYgbmFtZSwgV2ViQ29yZTo6
SFRNTEZyYW1lT3duZXJFbGVtZW50KiBvd25lckVsZW1lbnQsIGNvbnN0IFdlYkNvcmU6OktVUkwm
IHVybCwgY29uc3QgV1RGOjpTdHJpbmcmIHJlZmVycmVyKTsKK1dURjo6UGFzc1JlZlB0cjxXZWJD
b3JlOjpGcmFtZT4gZXdrX3ZpZXdfZnJhbWVfY3JlYXRlKEV2YXNfT2JqZWN0ICpvLCBFdmFzX09i
amVjdCAqZnJhbWUsIGNvbnN0IFdURjo6U3RyaW5nJiBuYW1lLCBXZWJDb3JlOjpIVE1MRnJhbWVP
d25lckVsZW1lbnQgKm93bmVyRWxlbWVudCwgY29uc3QgV2ViQ29yZTo6S1VSTCAmdXJsLCBjb25z
dCBXVEY6OlN0cmluZyAmcmVmZXJyZXIpOwogCi1XVEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6V2lk
Z2V0PiBld2tfdmlld19wbHVnaW5fY3JlYXRlKEV2YXNfT2JqZWN0KiBvLCBFdmFzX09iamVjdCog
ZnJhbWUsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmIHBsdWdpblNpemUsIFdlYkNvcmU6OkhUTUxQ
bHVnSW5FbGVtZW50KiBlbGVtZW50LCBjb25zdCBXZWJDb3JlOjpLVVJMJiB1cmwsIGNvbnN0IFdU
Rjo6VmVjdG9yPFdURjo6U3RyaW5nPiYgcGFyYW1OYW1lcywgY29uc3QgV1RGOjpWZWN0b3I8V1RG
OjpTdHJpbmc+JiBwYXJhbVZhbHVlcywgY29uc3QgV1RGOjpTdHJpbmcmIG1pbWVUeXBlLCBib29s
IGxvYWRNYW51YWxseSk7CitXVEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6V2lkZ2V0PiBld2tfdmll
d19wbHVnaW5fY3JlYXRlKEV2YXNfT2JqZWN0ICpvLCBFdmFzX09iamVjdCAqZnJhbWUsIGNvbnN0
IFdlYkNvcmU6OkludFNpemUgJnBsdWdpblNpemUsIFdlYkNvcmU6OkhUTUxQbHVnSW5FbGVtZW50
ICplbGVtZW50LCBjb25zdCBXZWJDb3JlOjpLVVJMICZ1cmwsIGNvbnN0IFdURjo6VmVjdG9yPFdU
Rjo6U3RyaW5nPiAmcGFyYW1OYW1lcywgY29uc3QgV1RGOjpWZWN0b3I8V1RGOjpTdHJpbmc+ICZw
YXJhbVZhbHVlcywgY29uc3QgV1RGOjpTdHJpbmcgJm1pbWVUeXBlLCBib29sIGxvYWRNYW51YWxs
eSk7CiAKLXZvaWQgZXdrX3ZpZXdfcG9wdXBfbmV3KEV2YXNfT2JqZWN0ICpvLCBXZWJDb3JlOjpQ
b3B1cE1lbnVDbGllbnQqIGNsaWVudCwgaW50IHNlbGVjdGVkLCBjb25zdCBXZWJDb3JlOjpJbnRS
ZWN0JiByZWN0KTsKLXZvaWQgZXdrX3ZpZXdfdmlld3BvcnRfYXR0cmlidXRlc19zZXQoRXZhc19P
YmplY3QgKm8sIGNvbnN0IFdlYkNvcmU6OlZpZXdwb3J0QXJndW1lbnRzJiBhcmd1bWVudHMpOwor
dm9pZCBld2tfdmlld19wb3B1cF9uZXcoRXZhc19PYmplY3QgKm8sIFdlYkNvcmU6OlBvcHVwTWVu
dUNsaWVudCAqY2xpZW50LCBpbnQgc2VsZWN0ZWQsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QgJnJl
Y3QpOwordm9pZCBld2tfdmlld192aWV3cG9ydF9hdHRyaWJ1dGVzX3NldChFdmFzX09iamVjdCAq
bywgY29uc3QgV2ViQ29yZTo6Vmlld3BvcnRBcmd1bWVudHMgJmFyZ3VtZW50cyk7CiAKIHZvaWQg
ZXdrX3ZpZXdfZG93bmxvYWRfcmVxdWVzdChFdmFzX09iamVjdCAqbywgRXdrX0Rvd25sb2FkICpk
b3dubG9hZCk7CiAKLXZvaWQgZXdrX3ZpZXdfZWRpdG9yX2NsaWVudF9zZWxlY3Rpb25fY2hhbmdl
ZChFdmFzX09iamVjdCogbyk7Cit2b2lkIGV3a192aWV3X2VkaXRvcl9jbGllbnRfc2VsZWN0aW9u
X2NoYW5nZWQoRXZhc19PYmplY3QgKm8pOwogCiBpbnQgZXdrX3V0aWxfZHBpX2dldCh2b2lkKTsK
IApAQCAtMTI2LDcgKzEyNiw3IEBAIHZvaWQgZXdrX2hpc3RvcnlfZnJlZShFd2tfSGlzdG9yeSAq
aGlzdG9yeSk7CiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCiBFd2tfQ29udGV4dF9NZW51ICpl
d2tfY29udGV4dF9tZW51X25ldyhFdmFzX09iamVjdCAqdmlldywgV2ViQ29yZTo6Q29udGV4dE1l
bnVDb250cm9sbGVyICpjb250cm9sbGVyKTsKIEVpbmFfQm9vbCBld2tfY29udGV4dF9tZW51X2Zy
ZWUoRXdrX0NvbnRleHRfTWVudSAqbyk7Ci12b2lkIGV3a19jb250ZXh0X21lbnVfaXRlbV9hcHBl
bmQoRXdrX0NvbnRleHRfTWVudSAqbywgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtJiBjb3JlKTsK
K3ZvaWQgZXdrX2NvbnRleHRfbWVudV9pdGVtX2FwcGVuZChFd2tfQ29udGV4dF9NZW51ICpvLCBX
ZWJDb3JlOjpDb250ZXh0TWVudUl0ZW0gJmNvcmUpOwogRXdrX0NvbnRleHRfTWVudSAqZXdrX2Nv
bnRleHRfbWVudV9jdXN0b21fZ2V0KEV3a19Db250ZXh0X01lbnUgKm8pOwogdm9pZCBld2tfY29u
dGV4dF9tZW51X3Nob3coRXdrX0NvbnRleHRfTWVudSAqbyk7CiAjZW5kaWYKQEAgLTEzOCwxMSAr
MTM4LDExIEBAIHZvaWQgZXdrX3ZpZXdfcmVwYWludF9hZGQoRXdrX1ZpZXdfUHJpdmF0ZV9EYXRh
ICpwcml2LCBFdmFzX0Nvb3JkIHgsIEV2YXNfQ29vcmQKIAogdm9pZCBld2tfdmlld19sYXlvdXRf
aWZfbmVlZGVkX3JlY3Vyc2l2ZShFd2tfVmlld19Qcml2YXRlX0RhdGEgKnByaXYpOwogCi1Fd2tf
V2luZG93X0ZlYXR1cmVzICpld2tfd2luZG93X2ZlYXR1cmVzX25ld19mcm9tX2NvcmUoY29uc3Qg
V2ViQ29yZTo6V2luZG93RmVhdHVyZXMqIGNvcmUpOworRXdrX1dpbmRvd19GZWF0dXJlcyAqZXdr
X3dpbmRvd19mZWF0dXJlc19uZXdfZnJvbV9jb3JlKGNvbnN0IFdlYkNvcmU6OldpbmRvd0ZlYXR1
cmVzICpjb3JlKTsKIAogRXZhc19PYmplY3QgKmV3a19mcmFtZV9hZGQoRXZhcyAqZSk7CiBFaW5h
X0Jvb2wgZXdrX2ZyYW1lX2luaXQoRXZhc19PYmplY3QgKm8sIEV2YXNfT2JqZWN0ICp2aWV3LCBX
ZWJDb3JlOjpGcmFtZSAqZnJhbWUpOwotRXZhc19PYmplY3QgKmV3a19mcmFtZV9jaGlsZF9hZGQo
RXZhc19PYmplY3QgKm8sIFdURjo6UGFzc1JlZlB0cjxXZWJDb3JlOjpGcmFtZT4gY2hpbGQsIGNv
bnN0IFdURjo6U3RyaW5nJiBuYW1lLCBjb25zdCBXZWJDb3JlOjpLVVJMJiB1cmwsIGNvbnN0IFdU
Rjo6U3RyaW5nJiByZWZlcnJlcik7CitFdmFzX09iamVjdCAqZXdrX2ZyYW1lX2NoaWxkX2FkZChF
dmFzX09iamVjdCAqbywgV1RGOjpQYXNzUmVmUHRyPFdlYkNvcmU6OkZyYW1lPiBjaGlsZCwgY29u
c3QgV1RGOjpTdHJpbmcgJm5hbWUsIGNvbnN0IFdlYkNvcmU6OktVUkwgJnVybCwgY29uc3QgV1RG
OjpTdHJpbmcgJnJlZmVycmVyKTsKIAogV2ViQ29yZTo6RnJhbWUgKmV3a19mcmFtZV9jb3JlX2dl
dChjb25zdCBFdmFzX09iamVjdCAqbyk7CiB2b2lkIGV3a19mcmFtZV9jb3JlX2dvbmUoRXZhc19P
YmplY3QgKm8pOwpAQCAtMTY5LDkgKzE2OSw5IEBAIHZvaWQgZXdrX2ZyYW1lX3ZpZXdfY3JlYXRl
X2Zvcl92aWV3KEV2YXNfT2JqZWN0ICpvLCBFdmFzX09iamVjdCAqdmlldyk7CiBFaW5hX0Jvb2wg
ZXdrX2ZyYW1lX3VyaV9jaGFuZ2VkKEV2YXNfT2JqZWN0ICpvKTsKIHZvaWQgZXdrX2ZyYW1lX2Zv
cmNlX2xheW91dChFdmFzX09iamVjdCAqbyk7CiAKLVdURjo6UGFzc1JlZlB0cjxXZWJDb3JlOjpX
aWRnZXQ+IGV3a19mcmFtZV9wbHVnaW5fY3JlYXRlKEV2YXNfT2JqZWN0KiBvLCBjb25zdCBXZWJD
b3JlOjpJbnRTaXplJiBwbHVnaW5TaXplLCBXZWJDb3JlOjpIVE1MUGx1Z0luRWxlbWVudCogZWxl
bWVudCwgY29uc3QgV2ViQ29yZTo6S1VSTCYgdXJsLCBjb25zdCBXVEY6OlZlY3RvcjxXVEY6OlN0
cmluZz4mIHBhcmFtTmFtZXMsIGNvbnN0IFdURjo6VmVjdG9yPFdURjo6U3RyaW5nPiYgcGFyYW1W
YWx1ZXMsIGNvbnN0IFdURjo6U3RyaW5nJiBtaW1lVHlwZSwgYm9vbCBsb2FkTWFudWFsbHkpOwor
V1RGOjpQYXNzUmVmUHRyPFdlYkNvcmU6OldpZGdldD4gZXdrX2ZyYW1lX3BsdWdpbl9jcmVhdGUo
RXZhc19PYmplY3QgKm8sIGNvbnN0IFdlYkNvcmU6OkludFNpemUgJnBsdWdpblNpemUsIFdlYkNv
cmU6OkhUTUxQbHVnSW5FbGVtZW50ICplbGVtZW50LCBjb25zdCBXZWJDb3JlOjpLVVJMICZ1cmws
IGNvbnN0IFdURjo6VmVjdG9yPFdURjo6U3RyaW5nPiAmcGFyYW1OYW1lcywgY29uc3QgV1RGOjpW
ZWN0b3I8V1RGOjpTdHJpbmc+ICZwYXJhbVZhbHVlcywgY29uc3QgV1RGOjpTdHJpbmcgJm1pbWVU
eXBlLCBib29sIGxvYWRNYW51YWxseSk7CiAKLUVpbmFfQm9vbCBld2tfdmlld19uYXZpZ2F0aW9u
X3BvbGljeV9kZWNpc2lvbihFdmFzX09iamVjdCogbywgRXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVl
c3QqIHJlcXVlc3QpOworRWluYV9Cb29sIGV3a192aWV3X25hdmlnYXRpb25fcG9saWN5X2RlY2lz
aW9uKEV2YXNfT2JqZWN0ICpvLCBFd2tfRnJhbWVfUmVzb3VyY2VfUmVxdWVzdCAqcmVxdWVzdCk7
CiAKIHZvaWQgZXdrX3ZpZXdfY29udGVudHNfc2l6ZV9jaGFuZ2VkKEV2YXNfT2JqZWN0ICpvLCBF
dmFzX0Nvb3JkIHcsIEV2YXNfQ29vcmQgaCk7CiAKQEAgLTE3OSw3ICsxNzksNyBAQCBXZWJDb3Jl
OjpGbG9hdFJlY3QgZXdrX3ZpZXdfcGFnZV9yZWN0X2dldChFdmFzX09iamVjdCAqbyk7CiAKIGNv
bnN0IGNoYXIqIGV3a19zZXR0aW5nc19kZWZhdWx0X3VzZXJfYWdlbnRfZ2V0KHZvaWQpOwogCi12
b2lkIGV3a19mcmFtZV9lZGl0b3JfY2xpZW50X3NlbGVjdGlvbl9jaGFuZ2VkKEV2YXNfT2JqZWN0
KiBvKTsKK3ZvaWQgZXdrX2ZyYW1lX2VkaXRvcl9jbGllbnRfc2VsZWN0aW9uX2NoYW5nZWQoRXZh
c19PYmplY3QgKm8pOwogCiAjaWZkZWYgX19jcGx1c3BsdXMKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9lZmwvZXdrL2V3a19zZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2sv
ZXdrX3NldHRpbmdzLmNwcAppbmRleCA3NzgxNDgwLi5kYjhhNTdjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2VmbC9ld2svZXdrX3NldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Vm
bC9ld2svZXdrX3NldHRpbmdzLmNwcApAQCAtMTk3LDcgKzE5Nyw3IEBAIEVpbmFfQm9vbCBld2tf
c2V0dGluZ3NfaWNvbl9kYXRhYmFzZV9wYXRoX3NldChjb25zdCBjaGFyICpkaXJlY3RvcnkpCiAg
KgogICogQHJldHVybiBkYXRhYmFzZSBwYXRoIG9yIEBjIDAgaWYgbm9uZSBpcyBzZXQgb3IgZGF0
YWJhc2UgaXMgY2xvc2VkCiAgKi8KLWNvbnN0IGNoYXIqIGV3a19zZXR0aW5nc19pY29uX2RhdGFi
YXNlX3BhdGhfZ2V0KHZvaWQpCitjb25zdCBjaGFyICpld2tfc2V0dGluZ3NfaWNvbl9kYXRhYmFz
ZV9wYXRoX2dldCh2b2lkKQogewogICAgIGlmICghV2ViQ29yZTo6aWNvbkRhdGFiYXNlKCkuaXNF
bmFibGVkKCkpCiAgICAgICAgIHJldHVybiAwOwpAQCAtMjM3LDcgKzIzNyw3IEBAIEVpbmFfQm9v
bCBld2tfc2V0dGluZ3NfaWNvbl9kYXRhYmFzZV9jbGVhcih2b2lkKQogICoKICAqIEByZXR1cm4g
Y2Fpcm8gc3VyZmFjZSBpZiBhbnksIG9yIEBjIDAgb24gZmFpbHVyZQogICovCi1jYWlyb19zdXJm
YWNlX3QqIGV3a19zZXR0aW5nc19pY29uX2RhdGFiYXNlX2ljb25fc3VyZmFjZV9nZXQoY29uc3Qg
Y2hhciAqdXJsKQorY2Fpcm9fc3VyZmFjZV90ICpld2tfc2V0dGluZ3NfaWNvbl9kYXRhYmFzZV9p
Y29uX3N1cmZhY2VfZ2V0KGNvbnN0IGNoYXIgKnVybCkKIHsKICAgICBFSU5BX1NBRkVUWV9PTl9O
VUxMX1JFVFVSTl9WQUwodXJsLCAwKTsKIApAQCAtMjY4LDE0ICsyNjgsMTQgQEAgY2Fpcm9fc3Vy
ZmFjZV90KiBld2tfc2V0dGluZ3NfaWNvbl9kYXRhYmFzZV9pY29uX3N1cmZhY2VfZ2V0KGNvbnN0
IGNoYXIgKnVybCkKICAqIEByZXR1cm4gbmV3bHkgYWxsb2NhdGVkIEV2YXNfT2JqZWN0IGluc3Rh
bmNlIG9yIEBjIDAgb24KICAqICAgICAgICAgZXJyb3JzLiBEZWxldGUgdGhlIG9iamVjdCB3aXRo
IGV2YXNfb2JqZWN0X2RlbCgpLgogICovCi1FdmFzX09iamVjdCogZXdrX3NldHRpbmdzX2ljb25f
ZGF0YWJhc2VfaWNvbl9vYmplY3RfYWRkKGNvbnN0IGNoYXIqIHVybCwgRXZhcyogY2FudmFzKQor
RXZhc19PYmplY3QgKmV3a19zZXR0aW5nc19pY29uX2RhdGFiYXNlX2ljb25fb2JqZWN0X2FkZChj
b25zdCBjaGFyICp1cmwsIEV2YXMgKmNhbnZhcykKIHsKICAgICBFSU5BX1NBRkVUWV9PTl9OVUxM
X1JFVFVSTl9WQUwodXJsLCAwKTsKICAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwo
Y2FudmFzLCAwKTsKIAogICAgIFdlYkNvcmU6OktVUkwga3VybChXZWJDb3JlOjpLVVJMKCksIFdU
Rjo6U3RyaW5nOjpmcm9tVVRGOCh1cmwpKTsKLSAgICBXZWJDb3JlOjpJbWFnZSogaWNvbiA9IFdl
YkNvcmU6Omljb25EYXRhYmFzZSgpLnN5bmNocm9ub3VzSWNvbkZvclBhZ2VVUkwoa3VybC5zdHJp
bmcoKSwgV2ViQ29yZTo6SW50U2l6ZSgxNiwgMTYpKTsKLSAgICBjYWlyb19zdXJmYWNlX3QqIHN1
cmZhY2U7CisgICAgV2ViQ29yZTo6SW1hZ2UgKmljb24gPSBXZWJDb3JlOjppY29uRGF0YWJhc2Uo
KS5zeW5jaHJvbm91c0ljb25Gb3JQYWdlVVJMKGt1cmwuc3RyaW5nKCksIFdlYkNvcmU6OkludFNp
emUoMTYsIDE2KSk7CisgICAgY2Fpcm9fc3VyZmFjZV90ICpzdXJmYWNlOwogCiAgICAgaWYgKCFp
Y29uKSB7CiAgICAgICAgIEVSUigibm8gaWNvbiBmb3IgdXJsICVzIiwgdXJsKTsKQEAgLTM1OSw3
ICszNTksNyBAQCB2b2lkIGV3a19zZXR0aW5nc19yZXBhaW50X3Rocm90dGxpbmdfc2V0KGRvdWJs
ZSBkZWZlcnJlZF9yZXBhaW50X2RlbGF5LCBkb3VibGUgaQogICoKICAqIEByZXR1cm4gYSBwb2lu
dGVyIHRvIGFuIGVpbmFfc3RyaW5nc2hhcmUgY29udGFpbmluZyB0aGUgdXNlciBhZ2VudCBzdHJp
bmcKICAqLwotY29uc3QgY2hhciogZXdrX3NldHRpbmdzX2RlZmF1bHRfdXNlcl9hZ2VudF9nZXQo
dm9pZCkKK2NvbnN0IGNoYXIgKmV3a19zZXR0aW5nc19kZWZhdWx0X3VzZXJfYWdlbnRfZ2V0KHZv
aWQpCiB7CiAgICAgV1RGOjpTdHJpbmcgdWFfdmVyc2lvbiA9IG1ha2VTdHJpbmcoU3RyaW5nOjpu
dW1iZXIoV0VCS0lUX1VTRVJfQUdFTlRfTUFKT1JfVkVSU0lPTiksICcuJywgU3RyaW5nOjpudW1i
ZXIoV0VCS0lUX1VTRVJfQUdFTlRfTUlOT1JfVkVSU0lPTiksICcrJyk7CiAgICAgV1RGOjpTdHJp
bmcgc3RhdGljX3VhID0gbWFrZVN0cmluZygiTW96aWxsYS81LjAgKCIsIF9ld2tfc2V0dGluZ3Nf
d2Via2l0X3BsYXRmb3JtX2dldCgpLCAiOyAiLCBfZXdrX3NldHRpbmdzX3dlYmtpdF9vc192ZXJz
aW9uX2dldCgpLCAiKSBBcHBsZVdlYktpdC8iLCB1YV92ZXJzaW9uKSArIG1ha2VTdHJpbmcoIiAo
S0hUTUwsIGxpa2UgR2Vja28pIFZlcnNpb24vNS4wIFNhZmFyaS8iLCB1YV92ZXJzaW9uKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdXRpbC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L2VmbC9ld2svZXdrX3V0aWwuY3BwCmluZGV4IGJiZWMxNzIuLjgxMzE5ZWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdXRpbC5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9lZmwvZXdrL2V3a191dGlsLmNwcApAQCAtMzUsMTUgKzM1LDE1IEBACiAgKiBAcGFyYW0gc3Vy
ZmFjZSBjYWlybyByZXByZXNlbnRhdGlvbiBvZiBhbiBpbWFnZQogICogQHJldHVybiBjb252ZXJ0
ZWQgY2Fpcm9fc3VyZmFjZSBvYmplY3QgdG8gdGhlIEV2YXNfT2JqZWN0CiAgKi8KLUV2YXNfT2Jq
ZWN0KiBld2tfdXRpbF9pbWFnZV9mcm9tX2NhaXJvX3N1cmZhY2VfYWRkKEV2YXMqIGNhbnZhcywg
Y2Fpcm9fc3VyZmFjZV90KiBzdXJmYWNlKQorRXZhc19PYmplY3QgKmV3a191dGlsX2ltYWdlX2Zy
b21fY2Fpcm9fc3VyZmFjZV9hZGQoRXZhcyAqY2FudmFzLCBjYWlyb19zdXJmYWNlX3QgKnN1cmZh
Y2UpCiB7CiAgICAgY2Fpcm9fc3RhdHVzX3Qgc3RhdHVzOwogICAgIGNhaXJvX3N1cmZhY2VfdHlw
ZV90IHR5cGU7CiAgICAgY2Fpcm9fZm9ybWF0X3QgZm9ybWF0OwogICAgIGludCB3LCBoLCBzdHJp
ZGU7Ci0gICAgRXZhc19PYmplY3QqIGltYWdlOwotICAgIGNvbnN0IHZvaWQqIHNyYzsKLSAgICB2
b2lkKiBkc3Q7CisgICAgRXZhc19PYmplY3QgKmltYWdlOworICAgIGNvbnN0IHZvaWQgKnNyYzsK
KyAgICB2b2lkICpkc3Q7CiAKICAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoY2Fu
dmFzLCAwKTsKICAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoc3VyZmFjZSwgMCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3V0aWwuaCBiL1NvdXJjZS9X
ZWJLaXQvZWZsL2V3ay9ld2tfdXRpbC5oCmluZGV4IDIzNzE4ODguLjNiMzJkOWMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdXRpbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL2V3ay9ld2tfdXRpbC5oCkBAIC0yOSw2ICsyOSw2IEBACiAjaW5jbHVkZSA8RXZhcy5oPgog
I2luY2x1ZGUgPGNhaXJvLmg+CiAKLUV2YXNfT2JqZWN0KiBld2tfdXRpbF9pbWFnZV9mcm9tX2Nh
aXJvX3N1cmZhY2VfYWRkKEV2YXMqIGNhbnZhcywgY2Fpcm9fc3VyZmFjZV90KiBzdXJmYWNlKTsK
K0V2YXNfT2JqZWN0ICpld2tfdXRpbF9pbWFnZV9mcm9tX2NhaXJvX3N1cmZhY2VfYWRkKEV2YXMg
KmNhbnZhcywgY2Fpcm9fc3VyZmFjZV90ICpzdXJmYWNlKTsKIAogI2VuZGlmIC8vIGV3a191dGls
X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfd2luZG93X2ZlYXR1cmVz
LmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfd2luZG93X2ZlYXR1cmVzLmNwcAppbmRl
eCBhYmNlNGI2Li4xYTcyZTM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdr
X3dpbmRvd19mZWF0dXJlcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a193aW5k
b3dfZmVhdHVyZXMuY3BwCkBAIC0zMiw3ICszMiw3IEBACiAgKi8KIHN0cnVjdCBfRXdrX1dpbmRv
d19GZWF0dXJlcyB7CiAgICAgdW5zaWduZWQgaW50IF9fcmVmOwotICAgIFdlYkNvcmU6OldpbmRv
d0ZlYXR1cmVzKiBjb3JlOworICAgIFdlYkNvcmU6OldpbmRvd0ZlYXR1cmVzICpjb3JlOwogfTsK
IAogLyoqCkBAIC00Miw3ICs0Miw3IEBAIHN0cnVjdCBfRXdrX1dpbmRvd19GZWF0dXJlcyB7CiAg
KgogICogQHBhcmFtIHdpbmRvd19mZWF0dXJlcyB0aGUgb2JqZWN0IHRvIGRlY3JlYXNlIHJlZmVy
ZW5jZSBjb3VudAogICovCi12b2lkIGV3a193aW5kb3dfZmVhdHVyZXNfdW5yZWYoRXdrX1dpbmRv
d19GZWF0dXJlcyogd2luZG93X2ZlYXR1cmVzKQordm9pZCBld2tfd2luZG93X2ZlYXR1cmVzX3Vu
cmVmKEV3a19XaW5kb3dfRmVhdHVyZXMgKndpbmRvd19mZWF0dXJlcykKIHsKICAgICBFSU5BX1NB
RkVUWV9PTl9OVUxMX1JFVFVSTih3aW5kb3dfZmVhdHVyZXMpOwogICAgIEVJTkFfU0FGRVRZX09O
X0ZBTFNFX1JFVFVSTih3aW5kb3dfZmVhdHVyZXMtPl9fcmVmID4gMCk7CkBAIC02MCw3ICs2MCw3
IEBAIHZvaWQgZXdrX3dpbmRvd19mZWF0dXJlc191bnJlZihFd2tfV2luZG93X0ZlYXR1cmVzKiB3
aW5kb3dfZmVhdHVyZXMpCiAgKgogICogQHBhcmFtIHdpbmRvd19mZWF0dXJlcyB0aGUgb2JqZWN0
IHRvIGluY3JlYXNlIHJlZmVyZW5jZSBjb3VudAogICovCi12b2lkIGV3a193aW5kb3dfZmVhdHVy
ZXNfcmVmKEV3a19XaW5kb3dfRmVhdHVyZXMqIHdpbmRvd19mZWF0dXJlcykKK3ZvaWQgZXdrX3dp
bmRvd19mZWF0dXJlc19yZWYoRXdrX1dpbmRvd19GZWF0dXJlcyAqd2luZG93X2ZlYXR1cmVzKQog
ewogICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOKHdpbmRvd19mZWF0dXJlcyk7CiAgICAg
d2luZG93X2ZlYXR1cmVzLT5fX3JlZisrOwpAQCAtODIsNyArODIsNyBAQCB2b2lkIGV3a193aW5k
b3dfZmVhdHVyZXNfcmVmKEV3a19XaW5kb3dfRmVhdHVyZXMqIHdpbmRvd19mZWF0dXJlcykKICAq
CiAgKiBAc2VlIGV3a193aW5kb3dfZmVhdHVyZXNfaW50X3Byb3BlcnR5X2dldAogICovCi12b2lk
IGV3a193aW5kb3dfZmVhdHVyZXNfYm9vbF9wcm9wZXJ0eV9nZXQoRXdrX1dpbmRvd19GZWF0dXJl
cyogd2luZG93X2ZlYXR1cmVzLCBFaW5hX0Jvb2wqIHRvb2xiYXJfdmlzaWJsZSwgRWluYV9Cb29s
KiBzdGF0dXNiYXJfdmlzaWJsZSwgRWluYV9Cb29sKiBzY3JvbGxiYXJzX3Zpc2libGUsIEVpbmFf
Qm9vbCogbWVudWJhcl92aXNpYmxlLCBFaW5hX0Jvb2wqIGxvY2F0aW9uYmFyX3Zpc2libGUsIEVp
bmFfQm9vbCogZnVsbHNjcmVlbikKK3ZvaWQgZXdrX3dpbmRvd19mZWF0dXJlc19ib29sX3Byb3Bl
cnR5X2dldChFd2tfV2luZG93X0ZlYXR1cmVzICp3aW5kb3dfZmVhdHVyZXMsIEVpbmFfQm9vbCAq
dG9vbGJhcl92aXNpYmxlLCBFaW5hX0Jvb2wgKnN0YXR1c2Jhcl92aXNpYmxlLCBFaW5hX0Jvb2wg
KnNjcm9sbGJhcnNfdmlzaWJsZSwgRWluYV9Cb29sICptZW51YmFyX3Zpc2libGUsIEVpbmFfQm9v
bCAqbG9jYXRpb25iYXJfdmlzaWJsZSwgRWluYV9Cb29sICpmdWxsc2NyZWVuKQogewogICAgIEVJ
TkFfU0FGRVRZX09OX05VTExfUkVUVVJOKHdpbmRvd19mZWF0dXJlcyk7CiAgICAgRUlOQV9TQUZF
VFlfT05fTlVMTF9SRVRVUk4od2luZG93X2ZlYXR1cmVzLT5jb3JlKTsKQEAgLTEyMyw3ICsxMjMs
NyBAQCB2b2lkIGV3a193aW5kb3dfZmVhdHVyZXNfYm9vbF9wcm9wZXJ0eV9nZXQoRXdrX1dpbmRv
d19GZWF0dXJlcyogd2luZG93X2ZlYXR1cmVzLAogICoKICAqIEBzZWUgZXdrX3dpbmRvd19mZWF0
dXJlc19ib29sX3Byb3BlcnR5X2dldAogICovCi12b2lkIGV3a193aW5kb3dfZmVhdHVyZXNfaW50
X3Byb3BlcnR5X2dldChFd2tfV2luZG93X0ZlYXR1cmVzKiB3aW5kb3dfZmVhdHVyZXMsIGludCog
eCwgaW50KiB5LCBpbnQqIHcsIGludCogaCkKK3ZvaWQgZXdrX3dpbmRvd19mZWF0dXJlc19pbnRf
cHJvcGVydHlfZ2V0KEV3a19XaW5kb3dfRmVhdHVyZXMgKndpbmRvd19mZWF0dXJlcywgaW50ICp4
LCBpbnQgKnksIGludCAqdywgaW50ICpoKQogewogICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVU
VVJOKHdpbmRvd19mZWF0dXJlcyk7CiAgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk4od2lu
ZG93X2ZlYXR1cmVzLT5jb3JlKTsKQEAgLTE1Miw5ICsxNTIsOSBAQCB2b2lkIGV3a193aW5kb3df
ZmVhdHVyZXNfaW50X3Byb3BlcnR5X2dldChFd2tfV2luZG93X0ZlYXR1cmVzKiB3aW5kb3dfZmVh
dHVyZXMsCiAgKiBpdCBpcyBlbWJlZGRlZCBpbnNpZGUgdGhlIEV3a19XaW5kb3dfRmVhdHVyZXMg
d2hvc2UgcmVmIGNvdW50IGlzIGluaXRpYWxpemVkLCBpZiBjb3JlIGlzIEBjIDAgYSBuZXcgb25l
IGlzIGNyZWF0ZWQgd2l0aCB0aGUgZGVmYXVsdCBmZWF0dXJlcy4KICAqIEByZXR1cm5zIGEgbmV3
IGFsbG9jYXRlZCB0aGUgRXdrX1dpbmRvd19GZWF0dXJlcyBvYmplY3QKICAqLwotRXdrX1dpbmRv
d19GZWF0dXJlcyogZXdrX3dpbmRvd19mZWF0dXJlc19uZXdfZnJvbV9jb3JlKGNvbnN0IFdlYkNv
cmU6OldpbmRvd0ZlYXR1cmVzKiBjb3JlKQorRXdrX1dpbmRvd19GZWF0dXJlcyAqZXdrX3dpbmRv
d19mZWF0dXJlc19uZXdfZnJvbV9jb3JlKGNvbnN0IFdlYkNvcmU6OldpbmRvd0ZlYXR1cmVzICpj
b3JlKQogewotICAgIEV3a19XaW5kb3dfRmVhdHVyZXMqIHdpbmRvd19mZWF0dXJlcyA9IHN0YXRp
Y19jYXN0PEV3a19XaW5kb3dfRmVhdHVyZXMqPihtYWxsb2Moc2l6ZW9mKCp3aW5kb3dfZmVhdHVy
ZXMpKSk7CisgICAgRXdrX1dpbmRvd19GZWF0dXJlcyAqd2luZG93X2ZlYXR1cmVzID0gc3RhdGlj
X2Nhc3Q8RXdrX1dpbmRvd19GZWF0dXJlcyo+KG1hbGxvYyhzaXplb2YoKndpbmRvd19mZWF0dXJl
cykpKTsKIAogICAgIGlmIChjb3JlKQogICAgICAgICB3aW5kb3dfZmVhdHVyZXMtPmNvcmUgPSBu
ZXcgV2ViQ29yZTo6V2luZG93RmVhdHVyZXMoKmNvcmUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9lZmwvZXdrL2V3a193aW5kb3dfZmVhdHVyZXMuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3
ay9ld2tfd2luZG93X2ZlYXR1cmVzLmgKaW5kZXggMDRkNmYwNC4uYmYyMDM5NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a193aW5kb3dfZmVhdHVyZXMuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2VmbC9ld2svZXdrX3dpbmRvd19mZWF0dXJlcy5oCkBAIC0zNSwxMSArMzUsMTEg
QEAgZXh0ZXJuICJDIiB7CiAvKiogQ3JlYXRlcyBhIHR5cGUgbmFtZSBmb3IgX0V3a19XaW5kb3df
RmVhdHVyZXMuICovCiB0eXBlZGVmIHN0cnVjdCBfRXdrX1dpbmRvd19GZWF0dXJlcyBFd2tfV2lu
ZG93X0ZlYXR1cmVzOwogCi1FQVBJIHZvaWQgICAgICAgICBld2tfd2luZG93X2ZlYXR1cmVzX3Vu
cmVmKEV3a19XaW5kb3dfRmVhdHVyZXMqIHdpbmRvd19mZWF0dXJlcyk7Ci1FQVBJIHZvaWQgICAg
ICAgICBld2tfd2luZG93X2ZlYXR1cmVzX3JlZihFd2tfV2luZG93X0ZlYXR1cmVzKiB3aW5kb3df
ZmVhdHVyZXMpOworRUFQSSB2b2lkICAgICAgICAgZXdrX3dpbmRvd19mZWF0dXJlc191bnJlZihF
d2tfV2luZG93X0ZlYXR1cmVzICp3aW5kb3dfZmVhdHVyZXMpOworRUFQSSB2b2lkICAgICAgICAg
ZXdrX3dpbmRvd19mZWF0dXJlc19yZWYoRXdrX1dpbmRvd19GZWF0dXJlcyAqd2luZG93X2ZlYXR1
cmVzKTsKIAotRUFQSSB2b2lkICAgICAgICAgZXdrX3dpbmRvd19mZWF0dXJlc19ib29sX3Byb3Bl
cnR5X2dldChFd2tfV2luZG93X0ZlYXR1cmVzKiB3aW5kb3dfZmVhdHVyZXMsIEVpbmFfQm9vbCog
dG9vbGJhcl92aXNpYmxlLCBFaW5hX0Jvb2wqIHN0YXR1c2Jhcl92aXNpYmxlLCBFaW5hX0Jvb2wq
IHNjcm9sbGJhcnNfdmlzaWJsZSwgRWluYV9Cb29sKiBtZW51YmFyX3Zpc2libGUsIEVpbmFfQm9v
bCogbG9jYXRpb25iYXJfdmlzaWJsZSwgRWluYV9Cb29sKiBmdWxsc2NyZWVuKTsKLUVBUEkgdm9p
ZCAgICAgICAgIGV3a193aW5kb3dfZmVhdHVyZXNfaW50X3Byb3BlcnR5X2dldChFd2tfV2luZG93
X0ZlYXR1cmVzKiB3aW5kb3dfZmVhdHVyZXMsIGludCogeCwgaW50KiB5LCBpbnQqIHcsIGludCog
aCk7CitFQVBJIHZvaWQgICAgICAgICBld2tfd2luZG93X2ZlYXR1cmVzX2Jvb2xfcHJvcGVydHlf
Z2V0KEV3a19XaW5kb3dfRmVhdHVyZXMgKndpbmRvd19mZWF0dXJlcywgRWluYV9Cb29sICp0b29s
YmFyX3Zpc2libGUsIEVpbmFfQm9vbCAqc3RhdHVzYmFyX3Zpc2libGUsIEVpbmFfQm9vbCAqc2Ny
b2xsYmFyc192aXNpYmxlLCBFaW5hX0Jvb2wgKm1lbnViYXJfdmlzaWJsZSwgRWluYV9Cb29sICps
b2NhdGlvbmJhcl92aXNpYmxlLCBFaW5hX0Jvb2wgKmZ1bGxzY3JlZW4pOworRUFQSSB2b2lkICAg
ICAgICAgZXdrX3dpbmRvd19mZWF0dXJlc19pbnRfcHJvcGVydHlfZ2V0KEV3a19XaW5kb3dfRmVh
dHVyZXMgKndpbmRvd19mZWF0dXJlcywgaW50ICp4LCBpbnQgKnksIGludCAqdywgaW50ICpoKTsK
IAogI2lmZGVmIF9fY3BsdXNwbHVzCiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>