<?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>109551</bug_id>
          
          <creation_ts>2013-02-12 00:08:19 -0800</creation_ts>
          <short_desc>[EFL][WK2] Support drag and drop</short_desc>
          <delta_ts>2017-03-11 10:49:17 -0800</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>WONTFIX</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="Gyuyoung Kim">gyuyoung.kim</assigned_to>
          <cc>dynastpsh</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>sh919.park</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>830629</commentid>
    <comment_count>0</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-02-12 00:08:19 -0800</bug_when>
    <thetext>EFL WK2 port doesn&apos;t support drag and drop yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830647</commentid>
    <comment_count>1</comment_count>
      <attachid>187793</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-02-12 00:28:38 -0800</bug_when>
    <thetext>Created attachment 187793
Work-in-progress</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1286714</commentid>
    <comment_count>2</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-03-11 10:49:17 -0800</bug_when>
    <thetext>Closing this bug because the EFL port has been removed from trunk.

If you feel this bug applies to a different upstream WebKit port and was closed in error, please either update the title and reopen the bug, or leave a comment to request this.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>187793</attachid>
            <date>2013-02-12 00:28:38 -0800</date>
            <delta_ts>2013-02-12 00:29:02 -0800</delta_ts>
            <desc>Work-in-progress</desc>
            <filename>bug-109551-20130212172508.patch</filename>
            <type>text/plain</type>
            <size>34638</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyNTg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTE3MTMwZDVjZDgzYTMz
MmZhYzM4YThjYzI0ZDcxZmVmMDUwZjQyMy4uOTZjMmUxMDE0MzBjNWYxODBlNmY2ODc5OTJkODRl
Y2EyNjM3ODY3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDEzLTAyLTEyICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0VGTF1bV0sy
XSBTdXBwb3J0IGRyYWcgYW5kIGRyb3AKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEwOTU1MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZv
cm0vRHJhZ0RhdGEuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoRHJhZ0RhdGEpOgor
ICAgICAgICAqIHBsYXRmb3JtL0RyYWdJbWFnZS5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgICogcGxhdGZvcm0vZWZsL0NsaXBib2FyZEVmbC5oOgorICAgICAgICAoV2ViQ29yZTo6Q2xp
cGJvYXJkRWZsOjpkYXRhT2JqZWN0KToKKyAgICAgICAgKENsaXBib2FyZEVmbCk6CisgICAgICAg
ICogcGxhdGZvcm0vZWZsL0RhdGFPYmplY3RFZmwuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmUpOgorICAgICAgICAoV2ViQ29yZTo6cmVwbGFjZU5vbkJyZWFraW5nU3BhY2VXaXRoU3BhY2Up
OgorICAgICAgICAoV2ViQ29yZTo6RGF0YU9iamVjdEVmbDo6dGV4dCk6CisgICAgICAgIChXZWJD
b3JlOjpEYXRhT2JqZWN0RWZsOjptYXJrdXApOgorICAgICAgICAoV2ViQ29yZTo6RGF0YU9iamVj
dEVmbDo6c2V0VGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpEYXRhT2JqZWN0RWZsOjpzZXRNYXJr
dXApOgorICAgICAgICAoV2ViQ29yZTo6RGF0YU9iamVjdEVmbDo6c2V0VVJJTGlzdCk6CisgICAg
ICAgIChXZWJDb3JlOjpEYXRhT2JqZWN0RWZsOjpzZXRVUkwpOgorICAgICAgICAoV2ViQ29yZTo6
RGF0YU9iamVjdEVmbDo6Y2xlYXJUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFPYmplY3RF
Zmw6OmNsZWFyTWFya3VwKToKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFPYmplY3RFZmw6OnVybExh
YmVsKToKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFPYmplY3RFZmw6OmNsZWFyQWxsRXhjZXB0Rmls
ZW5hbWVzKToKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFPYmplY3RFZmw6OmNsZWFyQWxsKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9lZmwvRGF0YU9iamVjdEVmbC5oOiBBZGRlZC4KKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoRGF0YU9iamVjdEVmbCk6CisgICAgICAgIChXZWJDb3JlOjpEYXRh
T2JqZWN0RWZsOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6RGF0YU9iamVjdEVmbDo6dXJs
KToKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFPYmplY3RFZmw6OnVyaUxpc3QpOgorICAgICAgICAo
V2ViQ29yZTo6RGF0YU9iamVjdEVmbDo6ZmlsZW5hbWVzKToKKyAgICAgICAgKFdlYkNvcmU6OkRh
dGFPYmplY3RFZmw6OnNldFJhbmdlKToKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFPYmplY3RFZmw6
Omhhc1RleHQpOgorICAgICAgICAoV2ViQ29yZTo6RGF0YU9iamVjdEVmbDo6aGFzTWFya3VwKToK
KyAgICAgICAgKFdlYkNvcmU6OkRhdGFPYmplY3RFZmw6Omhhc1VSSUxpc3QpOgorICAgICAgICAo
V2ViQ29yZTo6RGF0YU9iamVjdEVmbDo6aGFzVVJMKToKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFP
YmplY3RFZmw6Omhhc0ZpbGVuYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpEYXRhT2JqZWN0RWZs
OjpjbGVhclVSSUxpc3QpOgorICAgICAgICAoV2ViQ29yZTo6RGF0YU9iamVjdEVmbDo6Y2xlYXJV
UkwpOgorCiAyMDEzLTAyLTExICBWaWF0Y2hlc2xhdiBPc3RhcGVua28gIDxzbC5vc3RhcGVua29A
c2Ftc3VuZy5jb20+CiAKICAgICAgICAgW1F0XVtFRkxdW1dlYkdMXSBNaW5vciByZWZhY3Rvcmlu
ZyBvZiBHcmFwaGljc1N1cmZhY2UvR3JhcGhpY3NTdXJmYWNlR0xYCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOTY2
MjQ3NzMyOTdjNGM2YmIyY2YyMmM4OTE4MGY0ZTQxNDVkZThlYy4uYjJjZjYxODdlYzQ2OGY4ZTBh
NTNiYjExMTc4MzQyZmQ2ZmVlMWJiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDEz
LTAyLTEyICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAg
ICAgW0VGTF1bV0syXSBTdXBwb3J0IGRyYWcgYW5kIGRyb3AKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwOTU1MQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogUGxhdGZvcm1FZmwuY21ha2U6CisgICAgICAg
ICogU2hhcmVkL2VmbC9Bcmd1bWVudENvZGVyc0VmbC5jcHA6IEFkZGVkLgorICAgICAgICAoQ29y
ZUlQQyk6CisgICAgICAgIChDb3JlSVBDOjplbmNvZGVEYXRhT2JqZWN0KToKKyAgICAgICAgKENv
cmVJUEM6OmRlY29kZURhdGFPYmplY3QpOgorICAgICAgICAoQ29yZUlQQzo6OjplbmNvZGUpOgor
ICAgICAgICAoQ29yZUlQQzo6OjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9lZmwvQXJndW1l
bnRDb2RlcnNFZmwuaDoKKyAgICAgICAgKENvcmVJUEMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Q
YWdlQ2xpZW50Lmg6CisgICAgICAgIChQYWdlQ2xpZW50KToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpwZXJmb3Jt
RHJhZ0NvbnRyb2xsZXJBY3Rpb24pOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgIChXZWJQYWdlUHJveHkpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNz
L2VmbC9QYWdlQ2xpZW50QmFzZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRCYXNl
OjpzdGFydERyYWcpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvZWZs
L1BhZ2VDbGllbnRCYXNlLmg6CisgICAgICAgIChQYWdlQ2xpZW50QmFzZSk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEcmFnQ2xpZW50LmNwcDoKKyAgICAgICAgKFdl
YktpdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEcmFnQ2xpZW50
Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9lZmwvV2ViRHJhZ0NsaWVu
dEVmbC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6Y29u
dmVydENhaXJvU3VyZmFjZVRvU2hhcmVhYmxlQml0bWFwKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
RHJhZ0NsaWVudDo6c3RhcnREcmFnKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmg6CisgICAgICAgIChXZWJQYWdlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbjoKKwogMjAxMy0wMi0xMSAgSHVhbmcgRG9uZ3N1bmcg
IDxsdXh0ZWxsYUBjb21wYW55MTAwLm5ldD4KIAogICAgICAgICBDb29yZGluYXRlZCBHcmFwaGlj
czogTWFrZSBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmUgbm90IGtub3cgY29udGVudHMgc2l6ZS4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RyYWdEYXRhLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9EcmFnRGF0YS5oCmluZGV4IGQ2Mzk2OTMxOGIwYTdhY2E5NTM1YTQ1
YWI1ZGY4NTdkYWU0MzMzYmMuLjAwMDM1YWM5MDYyOWExNmJiNWFiZDAwNDI1MWU1MzExNjMxMGYx
ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RyYWdEYXRhLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRHJhZ0RhdGEuaApAQCAtNjMsNyArNjMsMTIgQEAgY2xh
c3MgRGF0YU9iamVjdEd0azsKIHR5cGVkZWYgV2ViQ29yZTo6RGF0YU9iamVjdEd0ayogRHJhZ0Rh
dGFSZWY7CiAjZWxpZiBQTEFURk9STShDSFJPTUlVTSkKICNpbmNsdWRlICJEcmFnRGF0YVJlZi5o
IgotI2VsaWYgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9STShCTEFDS0JFUlJZKQorI2VsaWYgUExB
VEZPUk0oRUZMKQorbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgRGF0YU9iamVjdEVmbDsKK30K
K3R5cGVkZWYgV2ViQ29yZTo6RGF0YU9iamVjdEVmbCogRHJhZ0RhdGFSZWY7CisjZWxpZiBQTEFU
Rk9STShCTEFDS0JFUlJZKQogdHlwZWRlZiB2b2lkKiBEcmFnRGF0YVJlZjsKICNlbmRpZgogCkBA
IC0xMjcsNyArMTMyLDcgQEAgcHVibGljOgogICAgIFN0cmluZyBkcm9wcGVkRmlsZVN5c3RlbUlk
KCkgY29uc3Q7CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShHVEspCisj
aWYgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKQogICAgIC8v
IFRoaXMgY29uc3RydWN0b3Igc2hvdWxkIHVzZWQgb25seSBieSBXZWJLaXQyIElQQyBiZWNhdXNl
IERyYWdEYXRhCiAgICAgLy8gaXMgaW5pdGlhbGl6ZWQgYnkgdGhlIGRlY29kZXIgYW5kIG5vdCBp
biB0aGUgY29uc3RydWN0b3IuCiAgICAgRHJhZ0RhdGEoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0RyYWdJbWFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
RHJhZ0ltYWdlLmgKaW5kZXggZGQ5NzBkMjkzNjkyZTk5Mzg5YWJmZDFhM2ZmZjg3NGM0NjUwYTgz
YS4uOGMzOTk0YTBlOTkyYTJiNTQ3MDgyMzNjMWFkMjQ0OGQ5NzRlNGQzZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRHJhZ0ltYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vRHJhZ0ltYWdlLmgKQEAgLTQ0LDcgKzQ0LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgSEJJ
VE1BUF9fKiBIQklUTUFQOwogY2xhc3Mgd3hEcmFnSW1hZ2U7CiAjZWxpZiBQTEFURk9STShDSFJP
TUlVTSkKICNpbmNsdWRlICJEcmFnSW1hZ2VSZWYuaCIKLSNlbGlmIFBMQVRGT1JNKEdUSykKKyNl
bGlmIFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKQogdHlwZWRlZiBzdHJ1Y3QgX2NhaXJv
X3N1cmZhY2UgY2Fpcm9fc3VyZmFjZV90OwogI2VuZGlmCiAKQEAgLTY3LDkgKzY3LDkgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgIHR5cGVkZWYgSEJJVE1BUCBEcmFnSW1hZ2VSZWY7CiAjZWxp
ZiBQTEFURk9STShXWCkKICAgICB0eXBlZGVmIHd4RHJhZ0ltYWdlKiBEcmFnSW1hZ2VSZWY7Ci0j
ZWxpZiBQTEFURk9STShHVEspCisjZWxpZiBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkK
ICAgICB0eXBlZGVmIGNhaXJvX3N1cmZhY2VfdCogRHJhZ0ltYWdlUmVmOwotI2VsaWYgUExBVEZP
Uk0oRUZMKSB8fCBQTEFURk9STShCTEFDS0JFUlJZKQorI2VsaWYgUExBVEZPUk0oQkxBQ0tCRVJS
WSkKICAgICB0eXBlZGVmIHZvaWQqIERyYWdJbWFnZVJlZjsKICNlbmRpZgogICAgIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL0NsaXBib2FyZEVmbC5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZWZsL0NsaXBib2FyZEVmbC5oCmluZGV4IDkwNGViNTIxN2I3ZmU3
NGI1ZWQzODQzYTczZDkzZWQxNTRlYTU3YzguLjZiMzI2NzJmMzBhOGZjNzA5ZDQyN2M1OTFhYzQw
NTlhN2Y4MzNlYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9DbGlw
Ym9hcmRFZmwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvQ2xpcGJvYXJkRWZs
LmgKQEAgLTIyLDYgKzIyLDcgQEAKICNkZWZpbmUgQ2xpcGJvYXJkRWZsX2gKIAogI2luY2x1ZGUg
IkNsaXBib2FyZC5oIgorI2luY2x1ZGUgIkRhdGFPYmplY3RFZmwuaCIKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogY2xhc3MgQ2FjaGVkSW1hZ2U7CkBAIC02MSw4ICs2MiwxMiBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCBQYXNzUmVmUHRyPERhdGFUcmFuc2Zlckl0ZW1MaXN0PiBpdGVtcygpOwogI2Vu
ZGlmCiAKKyAgICBQYXNzUmVmUHRyPERhdGFPYmplY3RFZmw+IGRhdGFPYmplY3QoKSB7IHJldHVy
biBtX2RhdGFPYmplY3Q7IH0KKwogcHJpdmF0ZToKICAgICBDbGlwYm9hcmRFZmwoQ2xpcGJvYXJk
QWNjZXNzUG9saWN5LCBDbGlwYm9hcmRUeXBlKTsKKworICAgIFJlZlB0cjxEYXRhT2JqZWN0RWZs
PiBtX2RhdGFPYmplY3Q7CiB9OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9lZmwvRGF0YU9iamVjdEVmbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwv
RGF0YU9iamVjdEVmbC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjZjMmQxODg3YzA0OTEyNTA0YzY2ZDk4ODFl
MzEzZTQ3NzIwYmI5OAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2VmbC9EYXRhT2JqZWN0RWZsLmNwcApAQCAtMCwwICsxLDE1MyBAQAorLyoKKyAqICBDb3B5cmln
aHQgKEMpIDIwMDksIE1hcnRpbiBSb2JpbnNvbgorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiAgbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogIExp
Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhl
cgorICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkg
bGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRo
ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJB
TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFC
SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQor
ICogIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgor
ICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2Vu
ZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3Qs
IHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiAgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJh
bmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkRhdGFPYmplY3RFZmwuaCIKKwor
I2luY2x1ZGUgIm1hcmt1cC5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4K
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdGF0aWMgdm9pZCByZXBsYWNlTm9uQnJlYWtpbmdT
cGFjZVdpdGhTcGFjZShTdHJpbmcmIHN0cikKK3sKKyAgICBzdGF0aWMgY29uc3QgVUNoYXIgTm9u
QnJlYWtpbmdTcGFjZUNoYXJhY3RlciA9IDB4QTA7CisgICAgc3RhdGljIGNvbnN0IFVDaGFyIFNw
YWNlQ2hhcmFjdGVyID0gJyAnOworICAgIHN0ci5yZXBsYWNlKE5vbkJyZWFraW5nU3BhY2VDaGFy
YWN0ZXIsIFNwYWNlQ2hhcmFjdGVyKTsKK30KKworU3RyaW5nIERhdGFPYmplY3RFZmw6OnRleHQo
KSBjb25zdAoreworICAgIGlmIChtX3JhbmdlKQorICAgICAgICByZXR1cm4gbV9yYW5nZS0+dGV4
dCgpOworICAgIHJldHVybiBtX3RleHQ7Cit9CisKK1N0cmluZyBEYXRhT2JqZWN0RWZsOjptYXJr
dXAoKSBjb25zdAoreworICAgIGlmIChtX3JhbmdlKQorICAgICAgICByZXR1cm4gY3JlYXRlTWFy
a3VwKG1fcmFuZ2UuZ2V0KCksIDAsIEFubm90YXRlRm9ySW50ZXJjaGFuZ2UsIGZhbHNlLCBSZXNv
bHZlTm9uTG9jYWxVUkxzKTsKKyAgICByZXR1cm4gbV9tYXJrdXA7Cit9CisKK3ZvaWQgRGF0YU9i
amVjdEVmbDo6c2V0VGV4dChjb25zdCBTdHJpbmcmIG5ld1RleHQpCit7CisgICAgbV9yYW5nZSA9
IDA7CisgICAgbV90ZXh0ID0gbmV3VGV4dDsKKyAgICByZXBsYWNlTm9uQnJlYWtpbmdTcGFjZVdp
dGhTcGFjZShtX3RleHQpOworfQorCit2b2lkIERhdGFPYmplY3RFZmw6OnNldE1hcmt1cChjb25z
dCBTdHJpbmcmIG5ld01hcmt1cCkKK3sKKyAgICBtX3JhbmdlID0gMDsKKyAgICBtX21hcmt1cCA9
IG5ld01hcmt1cDsKK30KKwordm9pZCBEYXRhT2JqZWN0RWZsOjpzZXRVUklMaXN0KGNvbnN0IFN0
cmluZyYgdXJpTGlzdFN0cmluZykKK3sKKyAgICBtX3VyaUxpc3QgPSB1cmlMaXN0U3RyaW5nOwor
CisgICAgLy8gVGhpcyBjb2RlIGlzIG9yaWdpbmFsbHkgZnJvbTogcGxhdGZvcm0vY2hyb21pdW0v
Q2hyb21pdW1EYXRhT2JqZWN0LmNwcC4KKyAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIG1ha2UgdGhp
cyBjb2RlIGNyb3NzLXBsYXRmb3JtIGV2ZW50dWFsbHkuCisKKyAgICAvLyBMaW5lIHNlcGFyYXRv
ciBpcyBcclxuIHBlciBSRkMgMjQ4MyAtIGhvd2V2ZXIsIGZvciBjb21wYXRpYmlsaXR5CisgICAg
Ly8gcmVhc29ucyB3ZSBhbHNvIGFsbG93IGp1c3QgXG4gaGVyZS4KKyAgICBWZWN0b3I8U3RyaW5n
PiB1cmlMaXN0OworICAgIHVyaUxpc3RTdHJpbmcuc3BsaXQoJ1xuJywgdXJpTGlzdCk7CisKKyAg
ICAvLyBQcm9jZXNzIHRoZSBpbnB1dCBhbmQgY29weSB0aGUgZmlyc3QgdmFsaWQgVVJMIGludG8g
dGhlIHVybCBtZW1iZXIuCisgICAgLy8gSW4gY2FzZSBubyBVUkxzIGNhbiBiZSBmb3VuZCwgc3Vi
c2VxdWVudCBjYWxscyB0byBnZXREYXRhKCJVUkwiKQorICAgIC8vIHdpbGwgZ2V0IGFuIGVtcHR5
IHN0cmluZy4gVGhpcyBpcyBpbiBsaW5lIHdpdGggdGhlIEhUTUw1IHNwZWMgKHNlZQorICAgIC8v
ICJUaGUgRHJhZ0V2ZW50IGFuZCBEYXRhVHJhbnNmZXIgaW50ZXJmYWNlcyIpLiBBbHNvIGV4dHJh
Y3QgYWxsIGZpbGVuYW1lcworICAgIC8vIGZyb20gdGhlIFVSSSBsaXN0LgorICAgIGJvb2wgc2V0
VVJMID0gZmFsc2U7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCB1cmlMaXN0LnNpemUoKTsg
KytpKSB7CisgICAgICAgIFN0cmluZyYgbGluZSA9IHVyaUxpc3RbaV07CisgICAgICAgIGxpbmUg
PSBsaW5lLnN0cmlwV2hpdGVTcGFjZSgpOworICAgICAgICBpZiAobGluZS5pc0VtcHR5KCkpCisg
ICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgaWYgKGxpbmVbMF0gPT0gJyMnKQorICAgICAg
ICAgICAgY29udGludWU7CisKKyAgICAgICAgS1VSTCB1cmwgPSBLVVJMKEtVUkwoKSwgbGluZSk7
CisgICAgICAgIGlmICh1cmwuaXNWYWxpZCgpKSB7CisgICAgICAgICAgICBpZiAoIXNldFVSTCkg
eworICAgICAgICAgICAgICAgIG1fdXJsID0gdXJsOworICAgICAgICAgICAgICAgIHNldFVSTCA9
IHRydWU7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9Cit9CisKK3ZvaWQgRGF0YU9i
amVjdEVmbDo6c2V0VVJMKGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBsYWJlbCkKK3sK
KyAgICBtX3VybCA9IHVybDsKKyAgICBtX3VyaUxpc3QgPSB1cmw7CisgICAgc2V0VGV4dCh1cmwu
c3RyaW5nKCkpOworCisgICAgU3RyaW5nIGFjdHVhbExhYmVsKGxhYmVsKTsKKyAgICBpZiAoYWN0
dWFsTGFiZWwuaXNFbXB0eSgpKQorICAgICAgICBhY3R1YWxMYWJlbCA9IHVybDsKKworICAgIFN0
cmluZ0J1aWxkZXIgbWFya3VwOworICAgIG1hcmt1cC5hcHBlbmQoIjxhIGhyZWY9XCIiKTsKKyAg
ICBtYXJrdXAuYXBwZW5kKHVybC5zdHJpbmcoKSk7CisgICAgbWFya3VwLmFwcGVuZCgiXCI+Iik7
CisgICAgbWFya3VwLmFwcGVuZCgiPC9hPiIpOworICAgIHNldE1hcmt1cChtYXJrdXAudG9TdHJp
bmcoKSk7Cit9CisKK3ZvaWQgRGF0YU9iamVjdEVmbDo6Y2xlYXJUZXh0KCkKK3sKKyAgICBtX3Jh
bmdlID0gMDsKKyAgICBtX3RleHQgPSAiIjsKK30KKwordm9pZCBEYXRhT2JqZWN0RWZsOjpjbGVh
ck1hcmt1cCgpCit7CisgICAgbV9yYW5nZSA9IDA7CisgICAgbV9tYXJrdXAgPSAiIjsKK30KKwor
U3RyaW5nIERhdGFPYmplY3RFZmw6OnVybExhYmVsKCkgY29uc3QKK3sKKyAgICBpZiAoaGFzVGV4
dCgpKQorICAgICAgICByZXR1cm4gdGV4dCgpOworCisgICAgaWYgKGhhc1VSTCgpKQorICAgICAg
ICByZXR1cm4gdXJsKCk7CisKKyAgICByZXR1cm4gU3RyaW5nKCk7Cit9CisKK3ZvaWQgRGF0YU9i
amVjdEVmbDo6Y2xlYXJBbGxFeGNlcHRGaWxlbmFtZXMoKQoreworICAgIG1fdGV4dCA9ICIiOwor
ICAgIG1fbWFya3VwID0gIiI7CisgICAgbV91cmlMaXN0ID0gIiI7CisgICAgbV91cmwgPSBLVVJM
KCk7CisgICAgbV9yYW5nZSA9IDA7Cit9CisKK3ZvaWQgRGF0YU9iamVjdEVmbDo6Y2xlYXJBbGwo
KQoreworICAgIGNsZWFyQWxsRXhjZXB0RmlsZW5hbWVzKCk7CisgICAgbV9maWxlbmFtZXMuY2xl
YXIoKTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL0Rh
dGFPYmplY3RFZmwuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9EYXRhT2JqZWN0RWZs
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZDM1N2I2NjlmZTVkZTgyOGMwYzRjYmE1Yjg4MzJmMDQ0NmI2ZTllYwot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9EYXRhT2JqZWN0
RWZsLmgKQEAgLTAsMCArMSw3NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOSwgTWFydGlu
IFJvYmluc29uCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9m
IHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQg
YnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9m
IHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoK
KyAqICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs
IGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0
aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiAgTGVzc2VyIEdlbmVyYWwg
UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZl
IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogIExp
Y2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUg
U29mdHdhcmUKKyAqICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRo
IEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKKyAqLworCisjaWZuZGVmIERhdGFP
YmplY3RFZmxfaAorI2RlZmluZSBEYXRhT2JqZWN0RWZsX2gKKworI2luY2x1ZGUgIkZpbGVMaXN0
LmgiCisjaW5jbHVkZSAiS1VSTC5oIgorI2luY2x1ZGUgIlJhbmdlLmgiCisjaW5jbHVkZSA8d3Rm
L1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvZ29iamVjdC9HUmVmUHRyLmg+CisjaW5jbHVk
ZSA8d3RmL3RleHQvQ1N0cmluZy5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4K
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBEYXRhT2JqZWN0RWZsIDogcHVibGljIFJl
ZkNvdW50ZWQ8RGF0YU9iamVjdEVmbD4geworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRy
PERhdGFPYmplY3RFZmw+IGNyZWF0ZSgpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYo
bmV3IERhdGFPYmplY3RFZmwoKSk7CisgICAgfQorCisgICAgY29uc3QgS1VSTCYgdXJsKCkgY29u
c3QgeyByZXR1cm4gbV91cmw7IH0KKyAgICBjb25zdCBTdHJpbmcmIHVyaUxpc3QoKSBjb25zdCB7
IHJldHVybiBtX3VyaUxpc3Q7IH0KKyAgICBjb25zdCBWZWN0b3I8U3RyaW5nPiYgZmlsZW5hbWVz
KCkgY29uc3QgeyByZXR1cm4gbV9maWxlbmFtZXM7IH0KKyAgICB2b2lkIHNldFJhbmdlKFBhc3NS
ZWZQdHI8UmFuZ2U+IG5ld1JhbmdlKSB7IG1fcmFuZ2UgPSBuZXdSYW5nZTsgfQorICAgIHZvaWQg
c2V0VVJMKGNvbnN0IEtVUkwmLCBjb25zdCBTdHJpbmcmKTsKKyAgICBib29sIGhhc1RleHQoKSBj
b25zdCB7IHJldHVybiBtX3JhbmdlIHx8ICFtX3RleHQuaXNFbXB0eSgpOyB9CisgICAgYm9vbCBo
YXNNYXJrdXAoKSBjb25zdCB7IHJldHVybiBtX3JhbmdlIHx8ICFtX21hcmt1cC5pc0VtcHR5KCk7
IH0KKyAgICBib29sIGhhc1VSSUxpc3QoKSBjb25zdCB7IHJldHVybiAhbV91cmlMaXN0LmlzRW1w
dHkoKTsgfQorICAgIGJvb2wgaGFzVVJMKCkgY29uc3QgeyByZXR1cm4gIW1fdXJsLmlzRW1wdHko
KSAmJiBtX3VybC5pc1ZhbGlkKCk7IH0KKyAgICBib29sIGhhc0ZpbGVuYW1lcygpIGNvbnN0IHsg
cmV0dXJuICFtX2ZpbGVuYW1lcy5pc0VtcHR5KCk7IH0KKyAgICB2b2lkIGNsZWFyVVJJTGlzdCgp
IHsgbV91cmlMaXN0ID0gIiI7IH0KKyAgICB2b2lkIGNsZWFyVVJMKCkgeyBtX3VybCA9IEtVUkwo
KTsgfQorCisgICAgU3RyaW5nIHRleHQoKSBjb25zdDsKKyAgICBTdHJpbmcgbWFya3VwKCkgY29u
c3Q7CisgICAgdm9pZCBzZXRUZXh0KGNvbnN0IFN0cmluZyYpOworICAgIHZvaWQgc2V0TWFya3Vw
KGNvbnN0IFN0cmluZyYpOworICAgIHZvaWQgc2V0VVJJTGlzdChjb25zdCBTdHJpbmcmKTsKKyAg
ICBTdHJpbmcgdXJsTGFiZWwoKSBjb25zdDsKKworICAgIHZvaWQgY2xlYXJBbGxFeGNlcHRGaWxl
bmFtZXMoKTsKKyAgICB2b2lkIGNsZWFyQWxsKCk7CisgICAgdm9pZCBjbGVhclRleHQoKTsKKyAg
ICB2b2lkIGNsZWFyTWFya3VwKCk7CisKK3ByaXZhdGU6CisgICAgU3RyaW5nIG1fdGV4dDsKKyAg
ICBTdHJpbmcgbV9tYXJrdXA7CisgICAgS1VSTCBtX3VybDsKKyAgICBTdHJpbmcgbV91cmlMaXN0
OworICAgIFZlY3RvcjxTdHJpbmc+IG1fZmlsZW5hbWVzOworICAgIFJlZlB0cjxSYW5nZT4gbV9y
YW5nZTsKK307CisKK30KKworI2VuZGlmIC8vIERhdGFPYmplY3RFZmxfaApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9y
bUVmbC5jbWFrZQppbmRleCBmNmNlMTc2ZmQzYTQzZmVkZDVkMzRhNzZlOWQ2NWJhODEwYjcxMzNl
Li4zMWM3ZDUxNDk4MDQxM2FiYjU5MGI5NmRhMDU2MTA3YzYxMGM3ZDJmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0
Zm9ybUVmbC5jbWFrZQpAQCAtMTgsNiArMTgsNyBAQCBsaXN0KEFQUEVORCBXZWJLaXQyX1NPVVJD
RVMKIAogICAgIFNoYXJlZC9jYWlyby9TaGFyZWFibGVCaXRtYXBDYWlyby5jcHAKIAorICAgIFNo
YXJlZC9lZmwvQXJndW1lbnRDb2RlcnNFZmwuY3BwCiAgICAgU2hhcmVkL2VmbC9MYXllclRyZWVD
b250ZXh0RWZsLmNwcAogICAgIFNoYXJlZC9lZmwvTmF0aXZlV2ViS2V5Ym9hcmRFdmVudEVmbC5j
cHAKICAgICBTaGFyZWQvZWZsL05hdGl2ZVdlYldoZWVsRXZlbnRFZmwuY3BwCkBAIC0xMzMsNiAr
MTM0LDcgQEAgbGlzdChBUFBFTkQgV2ViS2l0Ml9TT1VSQ0VTCiAgICAgV2ViUHJvY2Vzcy9QbHVn
aW5zL05ldHNjYXBlL3gxMS9OZXRzY2FwZVBsdWdpblgxMS5jcHAKIAogICAgIFdlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvZWZsL1dlYkNvbnRleHRNZW51Q2xpZW50RWZsLmNwcAorICAgIFdlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvZWZsL1dlYkRyYWdDbGllbnRFZmwuY3BwCiAgICAgV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9lZmwvV2ViRWRpdG9yQ2xpZW50RWZsLmNwcAogICAgIFdlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvZWZsL1dlYkVycm9yc0VmbC5jcHAKICAgICBXZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L2VmbC9XZWJQb3B1cE1lbnVFZmwuY3BwCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvZWZsL0FyZ3VtZW50Q29kZXJzRWZsLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9lZmwvQXJndW1lbnRDb2RlcnNFZmwuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRlNGE4YWVm
Y2IxNWZmMTMwODFkMTY3MjNmZjAyZTUyOTU0NmY4OTcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvZWZsL0FyZ3VtZW50Q29kZXJzRWZsLmNwcApAQCAtMCwwICsxLDE2
NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwg
cmlnaHQgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRl
ICJBcmd1bWVudENvZGVyc0VmbC5oIgorCisjaW5jbHVkZSAiQXJndW1lbnRDb2RlcnMuaCIKKyNp
bmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0RhdGFP
YmplY3RFZmwuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CisjaW5jbHVkZSA8
d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1l
c3BhY2UgQ29yZUlQQyB7CisKK3R5cGVkZWYgSGFzaE1hcDxTdHJpbmcgLCBWZWN0b3I8dWludDhf
dD4gPiBNSU1FRGF0YUhhc2hNYXA7CisKKworc3RhdGljIHZvaWQgZW5jb2RlRGF0YU9iamVjdChB
cmd1bWVudEVuY29kZXImIGVuY29kZXIsIGNvbnN0IERhdGFPYmplY3RFZmwqIGRhdGFPYmplY3Qp
Cit7CisgICAgYm9vbCBoYXNUZXh0ID0gZGF0YU9iamVjdC0+aGFzVGV4dCgpOworICAgIGVuY29k
ZXIgPDwgaGFzVGV4dDsKKyAgICBpZiAoaGFzVGV4dCkKKyAgICAgICAgZW5jb2RlciA8PCBkYXRh
T2JqZWN0LT50ZXh0KCk7CisKKyAgICBib29sIGhhc01hcmt1cCA9IGRhdGFPYmplY3QtPmhhc01h
cmt1cCgpOworICAgIGVuY29kZXIgPDwgaGFzTWFya3VwOworICAgIGlmIChoYXNNYXJrdXApCisg
ICAgICAgIGVuY29kZXIgPDwgZGF0YU9iamVjdC0+bWFya3VwKCk7CisKKyAgICBib29sIGhhc1VS
TCA9IGRhdGFPYmplY3QtPmhhc1VSTCgpOworICAgIGVuY29kZXIgPDwgaGFzVVJMOworICAgIGlm
IChoYXNVUkwpCisgICAgICAgIGVuY29kZXIgPDwgZGF0YU9iamVjdC0+dXJsKCkuc3RyaW5nKCk7
CisKKyAgICBib29sIGhhc1VSSUxpc3QgPSBkYXRhT2JqZWN0LT5oYXNVUklMaXN0KCk7CisgICAg
ZW5jb2RlciA8PCBoYXNVUklMaXN0OworICAgIGlmIChoYXNVUklMaXN0KQorICAgICAgICBlbmNv
ZGVyIDw8IGRhdGFPYmplY3QtPnVyaUxpc3QoKTsKK30KKworc3RhdGljIGJvb2wgZGVjb2RlRGF0
YU9iamVjdChBcmd1bWVudERlY29kZXImIGRlY29kZXIsIFJlZlB0cjxEYXRhT2JqZWN0RWZsPiYg
ZGF0YU9iamVjdCkKK3sKKyAgICBSZWZQdHI8RGF0YU9iamVjdEVmbD4gZGF0YSA9IERhdGFPYmpl
Y3RFZmw6OmNyZWF0ZSgpOworCisgICAgYm9vbCBoYXNUZXh0OworICAgIGlmICghZGVjb2Rlci5k
ZWNvZGUoaGFzVGV4dCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoaGFzVGV4dCkg
eworICAgICAgICBTdHJpbmcgdGV4dDsKKyAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZSh0ZXh0
KSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgZGF0YS0+c2V0VGV4dCh0ZXh0
KTsKKyAgICB9CisKKyAgICBib29sIGhhc01hcmt1cDsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2Rl
KGhhc01hcmt1cCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoaGFzTWFya3VwKSB7
CisgICAgICAgIFN0cmluZyBtYXJrdXA7CisgICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGUobWFy
a3VwKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgZGF0YS0+c2V0TWFya3Vw
KG1hcmt1cCk7CisgICAgfQorCisgICAgYm9vbCBoYXNVUkw7CisgICAgaWYgKCFkZWNvZGVyLmRl
Y29kZShoYXNVUkwpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKGhhc1VSTCkgewor
ICAgICAgICBTdHJpbmcgdXJsOworICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHVybCkpCisg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIGRhdGEtPnNldFVSTChLVVJMKEtVUkwo
KSwgdXJsKSwgU3RyaW5nKCkpOworICAgIH0KKworICAgIGJvb2wgaGFzVVJJTGlzdDsKKyAgICBp
ZiAoIWRlY29kZXIuZGVjb2RlKGhhc1VSSUxpc3QpKQorICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgaWYgKGhhc1VSSUxpc3QpIHsKKyAgICAgICAgU3RyaW5nIHVyaUxpc3Q7CisgICAgICAgIGlm
ICghZGVjb2Rlci5kZWNvZGUodXJpTGlzdCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgICAgIGRhdGEtPnNldFVSSUxpc3QodXJpTGlzdCk7CisgICAgfQorCisgICAgYm9vbCBoYXNJ
bWFnZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGhhc0ltYWdlKSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworCisgICAgZGF0YU9iamVjdCA9IGRhdGE7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30K
Kwordm9pZCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkRyYWdEYXRhPjo6ZW5jb2RlKEFyZ3VtZW50
RW5jb2RlciYgZW5jb2RlciwgY29uc3QgRHJhZ0RhdGEmIGRyYWdEYXRhKQoreworICAgIGVuY29k
ZXIgPDwgZHJhZ0RhdGEuY2xpZW50UG9zaXRpb24oKTsKKyAgICBlbmNvZGVyIDw8IGRyYWdEYXRh
Lmdsb2JhbFBvc2l0aW9uKCk7CisgICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDx1aW50NjRfdD4o
ZHJhZ0RhdGEuZHJhZ2dpbmdTb3VyY2VPcGVyYXRpb25NYXNrKCkpOworICAgIGVuY29kZXIgPDwg
c3RhdGljX2Nhc3Q8dWludDY0X3Q+KGRyYWdEYXRhLmZsYWdzKCkpOworCisgICAgRGF0YU9iamVj
dEVmbCogcGxhdGZvcm1EYXRhID0gZHJhZ0RhdGEucGxhdGZvcm1EYXRhKCk7CisgICAgZW5jb2Rl
ciA8PCBzdGF0aWNfY2FzdDxib29sPihwbGF0Zm9ybURhdGEpOworICAgIGlmIChwbGF0Zm9ybURh
dGEpCisgICAgICAgIGVuY29kZURhdGFPYmplY3QoZW5jb2RlciwgcGxhdGZvcm1EYXRhKTsKK30K
KworYm9vbCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkRyYWdEYXRhPjo6ZGVjb2RlKEFyZ3VtZW50
RGVjb2RlciYgZGVjb2RlciwgRHJhZ0RhdGEmIGRyYWdEYXRhKQoreworICAgIEludFBvaW50IGNs
aWVudFBvc2l0aW9uOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUoY2xpZW50UG9zaXRpb24pKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBJbnRQb2ludCBnbG9iYWxQb3NpdGlvbjsKKyAg
ICBpZiAoIWRlY29kZXIuZGVjb2RlKGdsb2JhbFBvc2l0aW9uKSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworCisgICAgdWludDY0X3Qgc291cmNlT3BlcmF0aW9uTWFzazsKKyAgICBpZiAoIWRlY29k
ZXIuZGVjb2RlKHNvdXJjZU9wZXJhdGlvbk1hc2spKQorICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICB1aW50NjRfdCBmbGFnczsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGZsYWdzKSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgYm9vbCBoYXNQbGF0Zm9ybURhdGE7CisgICAgaWYg
KCFkZWNvZGVyLmRlY29kZShoYXNQbGF0Zm9ybURhdGEpKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisKKyAgICBSZWZQdHI8RGF0YU9iamVjdEVmbD4gcGxhdGZvcm1EYXRhOworICAgIGlmIChoYXNQ
bGF0Zm9ybURhdGEpIHsKKyAgICAgICAgaWYgKCFkZWNvZGVEYXRhT2JqZWN0KGRlY29kZXIsIHBs
YXRmb3JtRGF0YSkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgZHJh
Z0RhdGEgPSBEcmFnRGF0YShwbGF0Zm9ybURhdGEucmVsZWFzZSgpLmxlYWtSZWYoKSwgY2xpZW50
UG9zaXRpb24sIGdsb2JhbFBvc2l0aW9uLCBzdGF0aWNfY2FzdDxEcmFnT3BlcmF0aW9uPihzb3Vy
Y2VPcGVyYXRpb25NYXNrKSwKKyAgICAgICAgc3RhdGljX2Nhc3Q8RHJhZ0FwcGxpY2F0aW9uRmxh
Z3M+KGZsYWdzKSk7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL2VmbC9Bcmd1bWVudENvZGVyc0VmbC5oIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL2VmbC9Bcmd1bWVudENvZGVyc0VmbC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM5OWU4NGI0Njhh
N2FhM2VhNWFhZTc2NzIzN2I4Yjc3Y2JmYjk0MTUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvZWZsL0FyZ3VtZW50Q29kZXJzRWZsLmgKQEAgLTAsMCArMSw0NiBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHQg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKworI2lmbmRlZiBBcmd1bWVudENvZGVyc0VmbF9oCisjZGVm
aW5lIEFyZ3VtZW50Q29kZXJzRWZsX2gKKworI2luY2x1ZGUgIkFyZ3VtZW50RGVjb2Rlci5oIgor
I2luY2x1ZGUgIkFyZ3VtZW50RW5jb2Rlci5oIgorI2luY2x1ZGUgIkRyYWdEYXRhLmgiCisKK25h
bWVzcGFjZSBDb3JlSVBDIHsKKwordm9pZCBlbmNvZGUoQXJndW1lbnRFbmNvZGVyJiwgY29uc3Qg
V2ViQ29yZTo6RHJhZ0RhdGEmKTsKK2Jvb2wgZGVjb2RlKEFyZ3VtZW50RGVjb2RlciYsIFdlYkNv
cmU6OkRyYWdEYXRhJik7CisKK3RlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29y
ZTo6RHJhZ0RhdGE+IHsKKyAgICBzdGF0aWMgdm9pZCBlbmNvZGUoQXJndW1lbnRFbmNvZGVyJiwg
Y29uc3QgV2ViQ29yZTo6RHJhZ0RhdGEmKTsKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQXJndW1l
bnREZWNvZGVyJiwgV2ViQ29yZTo6RHJhZ0RhdGEmKTsKK307CisKK30KKworI2VuZGlmIC8vIEFy
Z3VtZW50Q29kZXJzRWZsX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Q
YWdlQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCmluZGV4
IGQwOGNjOTFmNjQ0ZDlhOWY4YmI4NzNlYjRmZTgzMWI5OTgzZjhjNjIuLjlmYjBlNjkzZDdjYTM0
ZjBkZDkzNGVjZTdjZDE2YjFkMzkxNTYwZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9QYWdlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VD
bGllbnQuaApAQCAtMTQwLDcgKzE0MCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZGlk
Q2hhbmdlQ29udGVudHNTaXplKGNvbnN0IFdlYkNvcmU6OkludFNpemUmKSA9IDA7CiAjZW5kaWYK
IAotI2lmIFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShHVEspCisjaWYgUExBVEZPUk0oUVQpIHx8
IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKQogICAgIHZpcnR1YWwgdm9pZCBzdGFydERy
YWcoY29uc3QgV2ViQ29yZTo6RHJhZ0RhdGEmLCBQYXNzUmVmUHRyPFNoYXJlYWJsZUJpdG1hcD4g
ZHJhZ0ltYWdlKSA9IDA7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcAppbmRleCA0YWMzMzkzMDFlNjI5YzljZjhhMzczMzgzZjM5ZGRmNTVlNmQ3NzBl
Li5lMDI4NjRhYmY0NjdjZmE1OTRiNmI3YWI5YTI1NjFmZTU0YzI1MmJlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMTA0LDYgKzEwNCwxMCBAQAogI2lu
Y2x1ZGUgIkFyZ3VtZW50Q29kZXJzR3RrLmgiCiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKEVGTCkK
KyNpbmNsdWRlICJBcmd1bWVudENvZGVyc0VmbC5oIgorI2VuZGlmCisKICNpZiBVU0UoU09VUCkK
ICNpbmNsdWRlICJXZWJTb3VwUmVxdWVzdE1hbmFnZXJQcm94eS5oIgogI2VuZGlmCkBAIC0xMDQ1
LDcgKzEwNDksNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6cGVyZm9ybURyYWdDb250cm9sbGVyQWN0
aW9uKERyYWdDb250cm9sbGVyQWN0aW9uIGFjdGlvbiwgRHJhZwogewogICAgIGlmICghaXNWYWxp
ZCgpKQogICAgICAgICByZXR1cm47Ci0jaWYgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEdUSykK
KyNpZiBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwpCiAgICAg
bV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpQZXJmb3JtRHJhZ0NvbnRyb2xsZXJB
Y3Rpb24oYWN0aW9uLCAqZHJhZ0RhdGEpLCBtX3BhZ2VJRCk7CiAjZWxzZQogICAgIG1fcHJvY2Vz
cy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6UGVyZm9ybURyYWdDb250cm9sbGVyQWN0aW9uKGFj
dGlvbiwgZHJhZ0RhdGEtPmNsaWVudFBvc2l0aW9uKCksIGRyYWdEYXRhLT5nbG9iYWxQb3NpdGlv
bigpLCBkcmFnRGF0YS0+ZHJhZ2dpbmdTb3VyY2VPcGVyYXRpb25NYXNrKCksIGRyYWdTdG9yYWdl
TmFtZSwgZHJhZ0RhdGEtPmZsYWdzKCksIHNhbmRib3hFeHRlbnNpb25IYW5kbGUsIHNhbmRib3hF
eHRlbnNpb25zRm9yVXBsb2FkKSwgbV9wYWdlSUQpOwpAQCAtMTA1Nyw3ICsxMDYxLDcgQEAgdm9p
ZCBXZWJQYWdlUHJveHk6OmRpZFBlcmZvcm1EcmFnQ29udHJvbGxlckFjdGlvbihXZWJDb3JlOjpE
cmFnU2Vzc2lvbiBkcmFnU2Vzc2kKICAgICBtX2N1cnJlbnREcmFnU2Vzc2lvbiA9IGRyYWdTZXNz
aW9uOwogfQogCi0jaWYgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEdUSykKKyNpZiBQTEFURk9S
TShRVCkgfHwgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwpCiB2b2lkIFdlYlBhZ2VQcm94
eTo6c3RhcnREcmFnKGNvbnN0IERyYWdEYXRhJiBkcmFnRGF0YSwgY29uc3QgU2hhcmVhYmxlQml0
bWFwOjpIYW5kbGUmIGRyYWdJbWFnZUhhbmRsZSkKIHsKICAgICBSZWZQdHI8U2hhcmVhYmxlQml0
bWFwPiBkcmFnSW1hZ2UgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5o
CmluZGV4IDBmNjBlN2RlNmU4YWEwYmI4YjdkZjA0OTQ5ZDZkZDAwNzZiZGE1ZmIuLmNiMzU0Zjcx
NGMyOTliNDY0OTUyYTZlODg4NmU5MWNlNmFiMzUxZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmgKQEAgLTU4MSw3ICs1ODEsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBz
ZXRQcm9taXNlZERhdGEoY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgY29uc3QgU2hhcmVk
TWVtb3J5OjpIYW5kbGUmIGltYWdlSGFuZGxlLCB1aW50NjRfdCBpbWFnZVNpemUsIGNvbnN0IFN0
cmluZyYgZmlsZW5hbWUsIGNvbnN0IFN0cmluZyYgZXh0ZW5zaW9uLAogICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IFN0cmluZyYgdGl0bGUsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBT
dHJpbmcmIHZpc2libGVVUkwsIGNvbnN0IFNoYXJlZE1lbW9yeTo6SGFuZGxlJiBhcmNoaXZlSGFu
ZGxlLCB1aW50NjRfdCBhcmNoaXZlU2l6ZSk7CiAjZW5kaWYKLSNpZiBQTEFURk9STShRVCkgfHwg
UExBVEZPUk0oR1RLKQorI2lmIFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRG
T1JNKEVGTCkKICAgICB2b2lkIHN0YXJ0RHJhZyhjb25zdCBXZWJDb3JlOjpEcmFnRGF0YSYsIGNv
bnN0IFNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJiBkcmFnSW1hZ2UpOwogI2VuZGlmCiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2Fn
ZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmlu
CmluZGV4IDMzNjIwMmFiYzY1NWU0NDdjNTQxOTZkZjc4N2U3NmNmMTAwNjY4MzAuLmFiZGVmNmRl
MjBkMGIzMTc0NzA0ODI0MGVjZDAwNWQ4MDUzMDNiYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtMjQyLDcgKzI0Miw3IEBA
IG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAgICAgU2V0RHJhZ0ltYWdlKFdlYkNvcmU6Oklu
dFBvaW50IGNsaWVudFBvc2l0aW9uLCBXZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlIGRy
YWdJbWFnZSwgYm9vbCBsaW5rRHJhZykKICAgICBTZXRQcm9taXNlZERhdGEoV1RGOjpTdHJpbmcg
cGFzdGVib2FyZE5hbWUsIFdlYktpdDo6U2hhcmVkTWVtb3J5OjpIYW5kbGUgaW1hZ2VIYW5kbGUs
IHVpbnQ2NF90IGltYWdlU2l6ZSwgV1RGOjpTdHJpbmcgZmlsZW5hbWUsIFdURjo6U3RyaW5nIGV4
dGVuc2lvbiwgV1RGOjpTdHJpbmcgdGl0bGUsIFdURjo6U3RyaW5nIHVybCwgV1RGOjpTdHJpbmcg
dmlzaWJsZVVSTCwgV2ViS2l0OjpTaGFyZWRNZW1vcnk6OkhhbmRsZSBhcmNoaXZlSGFuZGxlLCB1
aW50NjRfdCBhcmNoaXZlU2l6ZSkKICNlbmRpZgotI2lmIChQTEFURk9STShRVCkgfHwgUExBVEZP
Uk0oR1RLKSkgJiYgRU5BQkxFKERSQUdfU1VQUE9SVCkKKyNpZiAoUExBVEZPUk0oUVQpIHx8IFBM
QVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKSkgJiYgRU5BQkxFKERSQUdfU1VQUE9SVCkKICAg
ICBTdGFydERyYWcoV2ViQ29yZTo6RHJhZ0RhdGEgZHJhZ0RhdGEsIFdlYktpdDo6U2hhcmVhYmxl
Qml0bWFwOjpIYW5kbGUgZHJhZ0ltYWdlKQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9lZmwvUGFnZUNsaWVudEJhc2UuY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL2VmbC9QYWdlQ2xpZW50QmFzZS5jcHAKaW5kZXggNGRmZjcyMWRlMGJmMTMzYTk4
MmM4ZTgzMTRiOTBmOGZlYzY3NmNhZS4uZmY5OGE0NDUwOGEyN2YzNGMwNWNmOTBhYzJlMzEzZWZj
MmM4NTEzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9QYWdlQ2xp
ZW50QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9QYWdlQ2xpZW50
QmFzZS5jcHAKQEAgLTI5OSw0ICsyOTksOSBAQCB2b2lkIFBhZ2VDbGllbnRCYXNlOjpoYW5kbGVE
b3dubG9hZFJlcXVlc3QoRG93bmxvYWRQcm94eSogZG93bmxvYWQpCiAgICAgY29udGV4dC0+ZG93
bmxvYWRNYW5hZ2VyKCktPnJlZ2lzdGVyRG93bmxvYWRKb2IodG9BUEkoZG93bmxvYWQpLCBtX3Zp
ZXcpOwogfQogCit2b2lkIFBhZ2VDbGllbnRCYXNlOjpzdGFydERyYWcoY29uc3QgV2ViQ29yZTo6
RHJhZ0RhdGEmIGRyYWdEYXRhLCBQYXNzUmVmUHRyPFNoYXJlYWJsZUJpdG1hcD4gZHJhZ0ltYWdl
KQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9QYWdlQ2xpZW50QmFzZS5o
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9QYWdlQ2xpZW50QmFzZS5oCmluZGV4IDBm
N2FkOGNmNzcyY2VkZGJhMDAwNjY1ZmI5Njk0ODJkNjY4NjU4ZTAuLjhkYTY4OTA4MGIzMzJkODIx
ZWEzMDQ3YjdkNDA5OTRmNDAxMTQ0M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9lZmwvUGFnZUNsaWVudEJhc2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
ZWZsL1BhZ2VDbGllbnRCYXNlLmgKQEAgLTQ0LDYgKzQ0LDggQEAgcHVibGljOgogCiAgICAgRXdr
VmlldyogdmlldygpIGNvbnN0OwogCisgICAgdmlydHVhbCB2b2lkIHN0YXJ0RHJhZyhjb25zdCBX
ZWJDb3JlOjpEcmFnRGF0YSYsIFBhc3NSZWZQdHI8U2hhcmVhYmxlQml0bWFwPiBkcmFnSW1hZ2Up
OworCiBwcm90ZWN0ZWQ6CiAgICAgZXhwbGljaXQgUGFnZUNsaWVudEJhc2UoRXdrVmlldyopOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YkRyYWdDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJEcmFnQ2xpZW50LmNwcAppbmRleCA5YjZjZDg1ZjNjZDA4YWI5NDM2N2QwMjczMzhiYTY5
OTk4ZjFkZjZjLi40OTk2ZGFhZTFhZmQ2ODU5YjJiOWU4ZTkwODIwMzViOTczOGQzMTliIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRyYWdD
bGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViRHJhZ0NsaWVudC5jcHAKQEAgLTU2LDcgKzU2LDcgQEAgRHJhZ1NvdXJjZUFjdGlvbiBXZWJE
cmFnQ2xpZW50OjpkcmFnU291cmNlQWN0aW9uTWFza0ZvclBvaW50KGNvbnN0IEludFBvaW50JiAv
KncKICAgICByZXR1cm4gRHJhZ1NvdXJjZUFjdGlvbkFueTsKIH0KIAotI2lmICFQTEFURk9STShN
QUMpICYmICFQTEFURk9STShRVCkgJiYgIVBMQVRGT1JNKEdUSykKKyNpZiAhUExBVEZPUk0oTUFD
KSAmJiAhUExBVEZPUk0oUVQpICYmICFQTEFURk9STShHVEspICYmICFQTEFURk9STShFRkwpCiB2
b2lkIFdlYkRyYWdDbGllbnQ6OnN0YXJ0RHJhZyhEcmFnSW1hZ2VSZWYsIGNvbnN0IEludFBvaW50
JiwgY29uc3QgSW50UG9pbnQmLCBDbGlwYm9hcmQqLCBGcmFtZSosIGJvb2wpCiB7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRyYWdD
bGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRHJh
Z0NsaWVudC5oCmluZGV4IGU3MDNmZDJhZjc4NjhhMzU1ZDkxMjNjZDZiNjYzMDYwYzY1ZWEzY2Qu
LmQ3Y2I4YTYxZTg1NmNlZDM2MzVlNzk3ODJkNzYxM2U1NmE2ZjQ4YzkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRHJhZ0NsaWVudC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRHJhZ0NsaWVu
dC5oCkBAIC0yOSw2ICsyOSw3IEBACiAjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKIAogI2luY2x1
ZGUgPFdlYkNvcmUvRHJhZ0NsaWVudC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CiAKIG5hbWVzcGFj
ZSBXZWJLaXQgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L2VmbC9XZWJEcmFnQ2xpZW50RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvZWZsL1dlYkRyYWdDbGllbnRFZmwuY3BwCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmU2OWQ1YmE1OTFkMDA2Y2ZkYzQ2NDIxNDZkZjVkZDFiYzhmMjQ1ZGYKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2VmbC9XZWJEcmFn
Q2xpZW50RWZsLmNwcApAQCAtMCwwICsxLDY5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEx
IElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJX
ZWJEcmFnQ2xpZW50LmgiCisKKyNpbmNsdWRlICJBcmd1bWVudENvZGVyc0VmbC5oIgorI2luY2x1
ZGUgIlNoYXJlYWJsZUJpdG1hcC5oIgorI2luY2x1ZGUgIldlYlBhZ2UuaCIKKyNpbmNsdWRlICJX
ZWJQYWdlUHJveHlNZXNzYWdlcy5oIgorI2luY2x1ZGUgPFdlYkNvcmUvQ2xpcGJvYXJkRWZsLmg+
CisjaW5jbHVkZSA8V2ViQ29yZS9EcmFnRGF0YS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvR3JhcGhp
Y3NDb250ZXh0Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybUNvbnRleHRDYWlyby5oPgor
Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3N0YXRp
YyBQYXNzUmVmUHRyPFNoYXJlYWJsZUJpdG1hcD4gY29udmVydENhaXJvU3VyZmFjZVRvU2hhcmVh
YmxlQml0bWFwKGNhaXJvX3N1cmZhY2VfdCogc3VyZmFjZSkKK3sKKyAgICBpZiAoIXN1cmZhY2Up
CisgICAgICAgIHJldHVybiAwOworCisgICAgSW50U2l6ZSBpbWFnZVNpemUoY2Fpcm9faW1hZ2Vf
c3VyZmFjZV9nZXRfd2lkdGgoc3VyZmFjZSksIGNhaXJvX2ltYWdlX3N1cmZhY2VfZ2V0X2hlaWdo
dChzdXJmYWNlKSk7CisgICAgUmVmUHRyPFNoYXJlYWJsZUJpdG1hcD4gYml0bWFwID0gU2hhcmVh
YmxlQml0bWFwOjpjcmVhdGVTaGFyZWFibGUoaW1hZ2VTaXplLCBTaGFyZWFibGVCaXRtYXA6OlN1
cHBvcnRzQWxwaGEpOworICAgIE93blB0cjxHcmFwaGljc0NvbnRleHQ+IGdyYXBoaWNzQ29udGV4
dCA9IGJpdG1hcC0+Y3JlYXRlR3JhcGhpY3NDb250ZXh0KCk7CisKKyAgICBncmFwaGljc0NvbnRl
eHQtPnBsYXRmb3JtQ29udGV4dCgpLT5kcmF3U3VyZmFjZVRvQ29udGV4dChzdXJmYWNlLCBJbnRS
ZWN0KEludFBvaW50KCksIGltYWdlU2l6ZSksIEludFJlY3QoSW50UG9pbnQoKSwgaW1hZ2VTaXpl
KSwgZ3JhcGhpY3NDb250ZXh0LmdldCgpKTsKKyAgICByZXR1cm4gYml0bWFwLnJlbGVhc2UoKTsK
K30KKwordm9pZCBXZWJEcmFnQ2xpZW50OjpzdGFydERyYWcoRHJhZ0ltYWdlUmVmIGRyYWdJbWFn
ZSwgY29uc3QgSW50UG9pbnQmIGNsaWVudFBvc2l0aW9uLCBjb25zdCBJbnRQb2ludCYgZ2xvYmFs
UG9zaXRpb24sIENsaXBib2FyZCogY2xpcGJvYXJkLCBGcmFtZSosIGJvb2wpCit7CisgICAgUmVm
UHRyPFNoYXJlYWJsZUJpdG1hcD4gYml0bWFwID0gY29udmVydENhaXJvU3VyZmFjZVRvU2hhcmVh
YmxlQml0bWFwKGRyYWdJbWFnZSk7CisgICAgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUgaGFuZGxl
OworCisgICAgLy8gSWYgd2UgaGF2ZSBhIGJpdG1hcCwgYnV0IGNhbm5vdCBjcmVhdGUgYSBoYW5k
bGUgdG8gaXQsIHdlIGZhaWwgZWFybHkuCisgICAgaWYgKGJpdG1hcCAmJiAhYml0bWFwLT5jcmVh
dGVIYW5kbGUoaGFuZGxlKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgUmVmUHRyPERhdGFPYmpl
Y3RFZmw+IGRhdGFPYmplY3QgPSByZWludGVycHJldF9jYXN0PENsaXBib2FyZEVmbCo+KGNsaXBi
b2FyZCktPmRhdGFPYmplY3QoKTsKKyAgICBEcmFnRGF0YSBkcmFnRGF0YShkYXRhT2JqZWN0Lmdl
dCgpLCBjbGllbnRQb3NpdGlvbiwgZ2xvYmFsUG9zaXRpb24sIGNsaXBib2FyZC0+c291cmNlT3Bl
cmF0aW9uKCkpOworICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpTdGFy
dERyYWcoZHJhZ0RhdGEsIGhhbmRsZSkpOworfQorCit9OyAvLyBuYW1lc3BhY2UgV2ViS2l0Lgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IGM0
NzA4Yzg4Y2EyMzg1NjFkZDIxMzgxMWM5Y2NkZDM1ODY1Y2UwZjguLjExODZlYjY2NTljZWNjNTFi
N2U4YzNiMWFmYmFmOGEwMWEzMDAwNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTI0ODMsNyArMjQ4Myw3IEBAIGJvb2wgV2ViUGFnZTo6
aGFuZGxlRWRpdGluZ0tleWJvYXJkRXZlbnQoS2V5Ym9hcmRFdmVudCogZXZ0KQogCiAjaWYgRU5B
QkxFKERSQUdfU1VQUE9SVCkKIAotI2lmIFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShHVEspCisj
aWYgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKQogdm9pZCBX
ZWJQYWdlOjpwZXJmb3JtRHJhZ0NvbnRyb2xsZXJBY3Rpb24odWludDY0X3QgYWN0aW9uLCBXZWJD
b3JlOjpEcmFnRGF0YSBkcmFnRGF0YSkKIHsKICAgICBpZiAoIW1fcGFnZSkgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggYTZlMDYwNjAyNzI1MWM1
ZGIyYzFkZmRmZGI5ODJlZWVlNGJiMjViOC4uMTRiNTNkZDFjNTBhYmZiNzZhZDJmMGI4ZTNkOTk5
MzY0MzM1NDA2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5oCkBAIC04Niw2ICs4NiwxMCBAQAogI2luY2x1ZGUgIldlYlByaW50T3BlcmF0aW9uR3RrLmgi
CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKEVGTCkKKyNpbmNsdWRlICJBcmd1bWVudENvZGVyc0Vm
bC5oIgorI2VuZGlmCisKICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQogI2luY2x1ZGUgPFdlYkNv
cmUvUGxhdGZvcm1Ub3VjaEV2ZW50Lmg+CiAjZW5kaWYKQEAgLTQ4Nyw3ICs0OTEsNyBAQCBwdWJs
aWM6CiAgICAgdm9pZCBjbGVhclNlbGVjdGlvbigpOwogCiAjaWYgRU5BQkxFKERSQUdfU1VQUE9S
VCkKLSNpZiBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oR1RLKQorI2lmIFBMQVRGT1JNKFFUKSB8
fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkKICAgICB2b2lkIHBlcmZvcm1EcmFnQ29u
dHJvbGxlckFjdGlvbih1aW50NjRfdCBhY3Rpb24sIFdlYkNvcmU6OkRyYWdEYXRhKTsKICNlbHNl
CiAgICAgdm9pZCBwZXJmb3JtRHJhZ0NvbnRyb2xsZXJBY3Rpb24odWludDY0X3QgYWN0aW9uLCBX
ZWJDb3JlOjpJbnRQb2ludCBjbGllbnRQb3NpdGlvbiwgV2ViQ29yZTo6SW50UG9pbnQgZ2xvYmFs
UG9zaXRpb24sIHVpbnQ2NF90IGRyYWdnaW5nU291cmNlT3BlcmF0aW9uTWFzaywgY29uc3QgV1RG
OjpTdHJpbmcmIGRyYWdTdG9yYWdlTmFtZSwgdWludDMyX3QgZmxhZ3MsIGNvbnN0IFNhbmRib3hF
eHRlbnNpb246OkhhbmRsZSYsIGNvbnN0IFNhbmRib3hFeHRlbnNpb246OkhhbmRsZUFycmF5Jik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5t
ZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1l
c3NhZ2VzLmluCmluZGV4IDY3YmNlNmEyZDJmODc5MGEwNjhkYzMwZDlmYzgwMzA3YjE1N2QyZGUu
LmYxNGMxNDJiMjMzZWExZTkzMzIxYzEyOWVlMDQ3NmViMGM2ZGU4ZGUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCkBA
IC0xNTgsMTAgKzE1OCwxMCBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlIExlZ2FjeVJlY2VpdmVyIHsK
ICAgICBDb3VudFN0cmluZ01hdGNoZXMoV1RGOjpTdHJpbmcgc3RyaW5nLCB1aW50MzJfdCBmaW5k
T3B0aW9ucywgdW5zaWduZWQgbWF4TWF0Y2hDb3VudCkKIAogICAgICMgRHJhZyBhbmQgZHJvcC4K
LSNpZiAoUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEdUSykpICYmIEVOQUJMRShEUkFHX1NVUFBP
UlQpCisjaWYgKFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkp
ICYmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAgICAgUGVyZm9ybURyYWdDb250cm9sbGVyQWN0aW9u
KHVpbnQ2NF90IGFjdGlvbiwgV2ViQ29yZTo6RHJhZ0RhdGEgZHJhZ0RhdGEpCiAjZW5kaWYKLSNp
ZiAhUExBVEZPUk0oUVQpICYmICFQTEFURk9STShHVEspICYmIEVOQUJMRShEUkFHX1NVUFBPUlQp
CisjaWYgIVBMQVRGT1JNKFFUKSAmJiAhUExBVEZPUk0oR1RLKSAmJiAhUExBVEZPUk0oRUZMKSAm
JiBFTkFCTEUoRFJBR19TVVBQT1JUKQogICAgIFBlcmZvcm1EcmFnQ29udHJvbGxlckFjdGlvbih1
aW50NjRfdCBhY3Rpb24sIFdlYkNvcmU6OkludFBvaW50IGNsaWVudFBvc2l0aW9uLCBXZWJDb3Jl
OjpJbnRQb2ludCBnbG9iYWxQb3NpdGlvbiwgdWludDY0X3QgZHJhZ2dpbmdTb3VyY2VPcGVyYXRp
b25NYXNrLCBXVEY6OlN0cmluZyBkcmFnU3RvcmFnZU5hbWUsIHVpbnQzMl90IGZsYWdzLCBXZWJL
aXQ6OlNhbmRib3hFeHRlbnNpb246OkhhbmRsZSBzYW5kYm94RXh0ZW5zaW9uSGFuZGxlLCBXZWJL
aXQ6OlNhbmRib3hFeHRlbnNpb246OkhhbmRsZUFycmF5IHNhbmRib3hFeHRlbnNpb25zRm9yVXBs
b2FkKQogI2VuZGlmCiAjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkK
</data>
<flag name="commit-queue"
          id="207717"
          type_id="3"
          status="-"
          setter="gyuyoung.kim"
    />
          </attachment>
      

    </bug>

</bugzilla>