<?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>145601</bug_id>
          
          <creation_ts>2015-06-03 03:05:29 -0700</creation_ts>
          <short_desc>[Streams API] ReadableJSStream does not need a ReadableStreamSource</short_desc>
          <delta_ts>2015-06-04 01:53:14 -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>WebCore Misc.</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>
          
          <blocked>145640</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>benjamin</cc>
    
    <cc>calvaris</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1099115</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-06-03 03:05:29 -0700</bug_when>
    <thetext>ReadableStreamSource was added as a way to define a simple interface for native sources.
This interface is not well suited to JS sources since the code needed to handle JS sources is scattered between ReadableJSStream and ReadableJSStream::Source.

It may be best to remove ReadableStreamSource from ReadableStream and ReadableJSStream.

We would then reintroduce it when supporting native streams as a member of a ReadableNativeStream.
ReadableNativeStream would be the equivalent of ReadableJSStream for native sources.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1099116</commentid>
    <comment_count>1</comment_count>
      <attachid>254164</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-06-03 03:18:22 -0700</bug_when>
    <thetext>Created attachment 254164
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1099272</commentid>
    <comment_count>2</comment_count>
      <attachid>254164</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-06-03 14:14:38 -0700</bug_when>
    <thetext>Comment on attachment 254164
Patch

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

&gt; Source/WebCore/Modules/streams/ReadableStream.h:87
&gt; +    ReadableStream(ScriptExecutionContext&amp;);

Should add explicit here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1099441</commentid>
    <comment_count>3</comment_count>
      <attachid>254255</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-06-03 23:50:30 -0700</bug_when>
    <thetext>Created attachment 254255
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1099455</commentid>
    <comment_count>4</comment_count>
      <attachid>254255</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-06-04 00:53:21 -0700</bug_when>
    <thetext>Comment on attachment 254255
Patch for landing

Clearing flags on attachment: 254255

Committed r185196: &lt;http://trac.webkit.org/changeset/185196&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1099456</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-06-04 00:53:24 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>254164</attachid>
            <date>2015-06-03 03:18:22 -0700</date>
            <delta_ts>2015-06-03 23:50:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145601-20150603121801.patch</filename>
            <type>text/plain</type>
            <size>17986</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1MTQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzM5OThmMTIyYWNjNWIw
NmQyZWY5NWYwYzdjMmY4MDcwYzYwOWNkMi4uNDQ2ZDBiOGFlODNlNjYxMTZiYTVlMTY1MTNjZDM2
OWE3M2NmYjU4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDE1LTA2LTAzICBYYWJp
ZXIgUm9kcmlndWV6IENhbHZhciAgPGNhbHZhcmlzQGlnYWxpYS5jb20+IGFuZCBZb3Vlbm4gRmFi
bGV0IDx5b3Vlbm4uZmFibGV0QGNyZi5jYW5vbi5mcj4KKworICAgICAgICBbU3RyZWFtcyBBUEld
IFJlYWRhYmxlSlNTdHJlYW0gZG9lcyBub3QgbmVlZCBhIFJlYWRhYmxlU3RyZWFtU291cmNlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDU2MDEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb3ZlcmVkIGJ5
IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3Ry
ZWFtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlYWRhYmxlU3RyZWFtOjpSZWFkYWJsZVN0cmVh
bSk6IFJlbW9lZCBtX3NvdXJjZS4KKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVT
dHJlYW0uaDogRGl0dG8KKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1T
b3VyY2UuaDogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hw
cm9qOiBSZW1vdmluZyBNb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1Tb3VyY2UuaC4KKyAg
ICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnM6IERpdHRvLgor
ICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogRGl0dG8uCisgICAg
ICAgICogYmluZGluZ3MvanMvUmVhZGFibGVKU1N0cmVhbS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZWFkYWJsZUpTU3RyZWFtOjpnbG9iYWxPYmplY3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVh
ZGFibGVKU1N0cmVhbTo6ZG9TdGFydCk6IEVxdWl2YWxlbnQgb2YgUmVhZGFibGVKU1N0cmVhbTo6
U291cmNlOjpzdGFydCgpLgorICAgICAgICAoV2ViQ29yZTo6UmVhZGFibGVKU1N0cmVhbTo6Y3Jl
YXRlKTogVXBkYXRlZCBhY2NvcmRpbmcgbmV3IGNvbnN0cnVjdG9yLgorICAgICAgICAoV2ViQ29y
ZTo6UmVhZGFibGVKU1N0cmVhbTo6UmVhZGFibGVKU1N0cmVhbSk6CisgICAgICAgIChXZWJDb3Jl
OjpzdGFydFJlYWRhYmxlU3RyZWFtQXN5bmMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
UmVhZGFibGVKU1N0cmVhbTo6anNDb250cm9sbGVyKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OlJlYWRhYmxlSlNTdHJlYW06OnN0b3JlRXJyb3IpOiBEZWxldGVkLgorICAgICAgICAqIGJp
bmRpbmdzL2pzL1JlYWRhYmxlSlNTdHJlYW0uaDogQWRkZWQgbV9zb3VyY2UgbWVtYmVyIHRvIHN0
b3JlIHRoZSBKUyBzb3VyY2UgYXMgYSBKUyBvYmplY3QuCisKIDIwMTUtMDYtMDIgIEFsZXhleSBQ
cm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgaU9TIGJ1aWxkIGZpeApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbS5jcHAKaW5k
ZXggZjAxOWI0NDE2ZjMxMTZhNmFjNzM4NDA4Nzg3Njk1NzRkYmYzMTBiNS4uODBjMDU2MjU5ZTJm
MmE5ZGQ4Y2QxMDI4NTUxMzA4Yzc1YjZjZTNkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW0uY3BwCkBAIC00MSw5ICs0MSw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogREVGSU5FX0RFQlVHX09OTFlfR0xPQkFMKFdURjo6UmVmQ291bnRl
ZExlYWtDb3VudGVyLCByZWFkYWJsZVN0cmVhbUNvdW50ZXIsICgiUmVhZGFibGVTdHJlYW0iKSk7
CiAKLVJlYWRhYmxlU3RyZWFtOjpSZWFkYWJsZVN0cmVhbShTY3JpcHRFeGVjdXRpb25Db250ZXh0
JiBzY3JpcHRFeGVjdXRpb25Db250ZXh0LCBSZWY8UmVhZGFibGVTdHJlYW1Tb3VyY2U+JiYgc291
cmNlKQorUmVhZGFibGVTdHJlYW06OlJlYWRhYmxlU3RyZWFtKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpCiAgICAgOiBBY3RpdmVET01PYmplY3QoJnNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQpCi0gICAgLCBtX3NvdXJjZShXVEY6Om1vdmUoc291cmNlKSkKIHsK
ICNpZm5kZWYgTkRFQlVHCiAgICAgcmVhZGFibGVTdHJlYW1Db3VudGVyLmluY3JlbWVudCgpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFt
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW0uaAppbmRl
eCAyYmQyY2E1MjE4YjFiNjYwMDNhYWYyOWM1MGJkNzgyNjFmNDA3YjU3Li5iMTcwMDEzOWM3Njg4
MjI1NTEzMzU1ZDE0YWExMDJjNjQ1ZDk0YzI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW0uaApAQCAtMzMsMTAgKzMzLDExIEBACiAjaWYgRU5B
QkxFKFNUUkVBTVNfQVBJKQogCiAjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCi0jaW5jbHVk
ZSAiUmVhZGFibGVTdHJlYW1Tb3VyY2UuaCIKICNpbmNsdWRlICJTY3JpcHRXcmFwcGFibGUuaCIK
ICNpbmNsdWRlIDxmdW5jdGlvbmFsPgogI2luY2x1ZGUgPHd0Zi9SZWYuaD4KKyNpbmNsdWRlIDx3
dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIEpT
QyB7CiBjbGFzcyBKU1ZhbHVlOwpAQCAtNzMsOCArNzQsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBj
aGFuZ2VTdGF0ZVRvQ2xvc2VkKCk7CiAgICAgdm9pZCBjaGFuZ2VTdGF0ZVRvRXJyb3JlZCgpOwog
Ci0gICAgUmVhZGFibGVTdHJlYW1Tb3VyY2UmIHNvdXJjZSgpIHsgcmV0dXJuIG1fc291cmNlLmdl
dCgpOyB9Ci0KICAgICB0eXBlZGVmIHN0ZDo6ZnVuY3Rpb248dm9pZChKU0M6OkpTVmFsdWUpPiBG
YWlsdXJlQ2FsbGJhY2s7CiAKICAgICB0eXBlZGVmIHN0ZDo6ZnVuY3Rpb248dm9pZCgpPiBDbG9z
ZWRTdWNjZXNzQ2FsbGJhY2s7CkBAIC04NSw3ICs4NCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJl
YWQoUmVhZFN1Y2Nlc3NDYWxsYmFjayYmLCBSZWFkRW5kQ2FsbGJhY2smJiwgRmFpbHVyZUNhbGxi
YWNrJiYpOwogCiBwcm90ZWN0ZWQ6Ci0gICAgUmVhZGFibGVTdHJlYW0oU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYsIFJlZjxSZWFkYWJsZVN0cmVhbVNvdXJjZT4mJik7CisgICAgUmVhZGFibGVTdHJl
YW0oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpOwogCiBwcml2YXRlOgogICAgIC8vIEFjdGl2ZURP
TU9iamVjdCBBUEkuCkBAIC0xMTEsNyArMTEwLDYgQEAgcHJpdmF0ZToKICAgICBWZWN0b3I8UmVh
ZENhbGxiYWNrcz4gbV9yZWFkUmVxdWVzdHM7CiAKICAgICBTdGF0ZSBtX3N0YXRlIHsgU3RhdGU6
OlJlYWRhYmxlIH07Ci0gICAgUmVmPFJlYWRhYmxlU3RyZWFtU291cmNlPiBtX3NvdXJjZTsKIH07
CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJs
ZVN0cmVhbVNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxl
U3RyZWFtU291cmNlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE4ZmNmMjFhZDk5
YzcxMTBmMTAyNGMyNGQ2Y2M3ODI4N2ZhMmJjYTAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRh
YmxlU3RyZWFtU291cmNlLmgKKysrIC9kZXYvbnVsbApAQCAtMSw2NCArMCwwIEBACi0vKgotICog
Q29weXJpZ2h0IChDKSAyMDE1IENhbm9uIEluYy4KLSAqIENvcHlyaWdodCAoQykgMjAxNSBJZ2Fs
aWEgUy5MLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
LCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIHJlcXVpcmVk
IHRvIGJlIG1ldDoKLSAqCi0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiAgUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqIDMuICBOZWl0aGVy
IHRoZSBuYW1lIG9mIENhbm9uIEluYy4gbm9yIHRoZSBuYW1lcyBvZgotICogICAgIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQKLSAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBDQU5P
TiBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQotICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRAotICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQ0FOT04gSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCi0gKiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMCi0gKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgotICogU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKLSAq
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksCi0gKiBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KLSAqLwotCi0jaWZuZGVmIFJlYWRhYmxlU3RyZWFtU291cmNlX2gKLSNkZWZpbmUgUmVh
ZGFibGVTdHJlYW1Tb3VyY2VfaAotCi0jaWYgRU5BQkxFKFNUUkVBTVNfQVBJKQotCi0jaW5jbHVk
ZSAiRXhjZXB0aW9uQ29kZS5oIgotI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+Ci0jaW5jbHVk
ZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotLy8gUmVh
ZGFibGVTdHJlYW1Tb3VyY2UgaXMgdGhlIGludGVyZmFjZSB1c2VkIGJ5IFJlYWRhYmxlU3RyZWFt
IHRvIHB1bGwgZGF0YS4KLWNsYXNzIFJlYWRhYmxlU3RyZWFtU291cmNlOiBwdWJsaWMgUmVmQ291
bnRlZDxSZWFkYWJsZVN0cmVhbVNvdXJjZT4gewotcHVibGljOgotICAgIHZpcnR1YWwgflJlYWRh
YmxlU3RyZWFtU291cmNlKCkgeyB9Ci0KLSAgICB2aXJ0dWFsIHZvaWQgcHVsbCgpIHsgfQotCi0g
ICAgdmlydHVhbCBib29sIHNob3VsZEFwcGx5QmFja3ByZXNzdXJlKHVuc2lnbmVkIC8qcXVldWVT
aXplKi8pCi0gICAgewotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0KLSAgICAvLyBSZXR1
cm4gdHJ1ZSBpZiBjYW5jZWxsZWQgKHN5bmMgY2FzZSkgYW5kIGZhbHNlIGluIGFzeW5jIGNhc2Uu
Ci0gICAgdmlydHVhbCBib29sIGNhbmNlbChjb25zdCBTdHJpbmcmIC8qcmVhc29uKi8pCi0gICAg
ewotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci19OwotCi19Ci0KLSNlbmRpZgotCi0jZW5k
aWYgLy8gUmVhZGFibGVTdHJlYW1Tb3VyY2VfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
dmN4cHJvai9XZWJDb3JlLnZjeHByb2oKaW5kZXggOTJiOWIzZmY5OWIxZDA3MTgzYTc1N2VkYzQ3
OWE4MGYzOGM3OTc3Mi4uNmQ0NWVhZjczYWFiMDc4ZjhiYTE4NWJhMmE1M2Q5Mjg4Yzk4NmViZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJv
agorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCkBA
IC0xOTQ2NSw3ICsxOTQ2NSw2IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxNb2R1bGVz
XHN0cmVhbXNcUmVhZGFibGVTdHJlYW0uaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XE1vZHVsZXNcc3RyZWFtc1xSZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXIuaCIgLz4KICAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcc3RyZWFtc1xSZWFkYWJsZVN0cmVhbVJlYWRlci5o
IiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cTW9kdWxlc1xzdHJlYW1zXFJlYWRhYmxl
U3RyZWFtU291cmNlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxNb2R1bGVzXHdl
YmRhdGFiYXNlXEFic3RyYWN0RGF0YWJhc2VTZXJ2ZXIuaCIgLz4KICAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXE1vZHVsZXNcd2ViZGF0YWJhc2VcQ2hhbmdlVmVyc2lvbkRhdGEuaCIgLz4KICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcd2ViZGF0YWJhc2VcQ2hhbmdlVmVyc2lv
bldyYXBwZXIuaCIgLz4KQEAgLTIxNzcyLDQgKzIxNzcxLDQgQEAKICAgPEltcG9ydEdyb3VwIExh
YmVsPSJFeHRlbnNpb25UYXJnZXRzIj4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRz
UGF0aClcQnVpbGRDdXN0b21pemF0aW9uc1xtYXNtLnRhcmdldHMiIC8+CiAgIDwvSW1wb3J0R3Jv
dXA+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9Qcm9qZWN0Pgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJv
ai5maWx0ZXJzIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJv
ai5maWx0ZXJzCmluZGV4IDM0OWE2OWU2MDAzNmM4YzczZTUyOGI2NmRiN2ZhNmMxNmNhOGExNjEu
LjlmM2I1ZmJhZDE4ZWZiZDQ5ZDFmZWE1MGEyMDY2MDcxYmIyODQyOWIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMK
QEAgLTE1MjMwLDkgKzE1MjMwLDYgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRm
b3JtXGdyYXBoaWNzXEZvbnRDYXNjYWRlRm9udHMuaCI+CiAgICAgICA8RmlsdGVyPnBsYXRmb3Jt
XGdyYXBoaWNzPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+Ci0gICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxNb2R1bGVzXHN0cmVhbXNcUmVhZGFibGVTdHJlYW1Tb3VyY2UuaCI+Ci0gICAgICA8
RmlsdGVyPk1vZHVsZXNcc3RyZWFtczwvRmlsdGVyPgotICAgIDwvQ2xJbmNsdWRlPgogICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5cTW9kdWxlc1xzdHJlYW1zXFJlYWRhYmxlU3RyZWFtLmgiPgog
ICAgICAgPEZpbHRlcj5Nb2R1bGVzXHN0cmVhbXM8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpp
bmRleCBhOGZlOGI1NzYzMjJmZGE5Mzc3M2NkZjhkYTJkMDcyOTUxOGU4YTU5Li40YjAwNGEzYjVh
NzMzYjA0Y2ZkZWI4MDAxZDcxNThiZjFhMTc0MDg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNDgxLDcgKzE0ODEsNiBAQAog
CQk0MTlGQUZCMTFBQkFCREVEMDA1QjgyOEIgLyogSlNSZWFkYWJsZVN0cmVhbVJlYWRlckN1c3Rv
bS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTlG
QUZCMDFBQkFCRDdCMDA1QjgyOEIgLyogSlNSZWFkYWJsZVN0cmVhbVJlYWRlckN1c3RvbS5jcHAg
Ki87IH07CiAJCTQxQTAyM0VGMUEzOURCN0EwMEY3MjJDRiAvKiBSZWFkYWJsZVN0cmVhbS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUEwMjNFQjFB
MzlEQjc5MDBGNzIyQ0YgLyogUmVhZGFibGVTdHJlYW0uY3BwICovOyB9OwogCQk0MUEwMjNGMDFB
MzlEQjdBMDBGNzIyQ0YgLyogUmVhZGFibGVTdHJlYW0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxQTAyM0VDMUEzOURCNzkwMEY3MjJDRiAvKiBSZWFk
YWJsZVN0cmVhbS5oICovOyB9OwotCQk0MUEwMjNGMjFBMzlEQjdBMDBGNzIyQ0YgLyogUmVhZGFi
bGVTdHJlYW1Tb3VyY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQxQTAyM0VFMUEzOURCN0EwMEY3MjJDRiAvKiBSZWFkYWJsZVN0cmVhbVNvdXJjZS5o
ICovOyB9OwogCQk0MUEwMjNGNjFBMzlEQkNCMDBGNzIyQ0YgLyogSlNSZWFkYWJsZVN0cmVhbUN1
c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
MUEwMjNGMzFBMzlEQkNCMDBGNzIyQ0YgLyogSlNSZWFkYWJsZVN0cmVhbUN1c3RvbS5jcHAgKi87
IH07CiAJCTQxQTNENThFMTAxQzE1MkQwMDMxNkQwNyAvKiBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFBM0Q1
OEMxMDFDMTUyRDAwMzE2RDA3IC8qIERlZGljYXRlZFdvcmtlclRocmVhZC5jcHAgKi87IH07CiAJ
CTQxQTNENThGMTAxQzE1MkQwMDMxNkQwNyAvKiBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxQTNENThEMTAxQzE1
MkQwMDMxNkQwNyAvKiBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQuaCAqLzsgfTsKQEAgLTg2MzIsNyAr
ODYzMSw2IEBACiAJCTQxQTAyM0VCMUEzOURCNzkwMEY3MjJDRiAvKiBSZWFkYWJsZVN0cmVhbS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZWFkYWJsZVN0cmVhbS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxQTAyM0VDMUEzOURCNzkwMEY3MjJD
RiAvKiBSZWFkYWJsZVN0cmVhbS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBS
ZWFkYWJsZVN0cmVhbS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MUEwMjNFRDFB
MzlEQjc5MDBGNzIyQ0YgLyogUmVhZGFibGVTdHJlYW0uaWRsICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0
aCA9IFJlYWRhYmxlU3RyZWFtLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDFB
MDIzRUUxQTM5REI3QTAwRjcyMkNGIC8qIFJlYWRhYmxlU3RyZWFtU291cmNlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlYWRhYmxlU3RyZWFtU291cmNlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxQTAyM0YzMUEzOURCQ0IwMEY3MjJDRiAvKiBKU1JlYWRh
YmxlU3RyZWFtQ3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEpTUmVhZGFibGVTdHJlYW1DdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk0MUEzRDU4QzEwMUMxNTJEMDAzMTZEMDcgLyogRGVkaWNhdGVkV29ya2VyVGhyZWFkLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERlZGljYXRlZFdvcmtlclRocmVh
ZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxQTNENThEMTAxQzE1MkQwMDMx
NkQwNyAvKiBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gRGVkaWNhdGVkV29ya2VyVGhyZWFkLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC0xNTk3Miw3ICsxNTk3MCw2IEBACiAJCQkJNDE5RkFGQUIxQUJBQkNENTAwNUI4MjhC
IC8qIFJlYWRhYmxlU3RyZWFtUmVhZGVyLmNwcCAqLywKIAkJCQk0MTlGQUZBQzFBQkFCQ0Q1MDA1
QjgyOEIgLyogUmVhZGFibGVTdHJlYW1SZWFkZXIuaCAqLywKIAkJCQk0MTlGQUZBRDFBQkFCQ0Q1
MDA1QjgyOEIgLyogUmVhZGFibGVTdHJlYW1SZWFkZXIuaWRsICovLAotCQkJCTQxQTAyM0VFMUEz
OURCN0EwMEY3MjJDRiAvKiBSZWFkYWJsZVN0cmVhbVNvdXJjZS5oICovLAogCQkJKTsKIAkJCXBh
dGggPSBzdHJlYW1zOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTI2MTQ3LDcgKzI2
MTQ0LDYgQEAKIAkJCQk0MTk4QkRGMTFBODExNDMxMDBCMjJGQjUgLyogUmVhZGFibGVKU1N0cmVh
bS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDFBMDIzRjAxQTM5REI3QTAwRjcyMkNGIC8qIFJlYWRh
YmxlU3RyZWFtLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTlGQUZBRjFBQkFCRDBDMDA1QjgyOEIg
LyogUmVhZGFibGVTdHJlYW1SZWFkZXIuaCBpbiBIZWFkZXJzICovLAotCQkJCTQxQTAyM0YyMUEz
OURCN0EwMEY3MjJDRiAvKiBSZWFkYWJsZVN0cmVhbVNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJRkQzMTYwM0MxMkIwMjY3NjAwQzFBMzU5IC8qIFJlYWx0aW1lQW5hbHlzZXIuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTRBNEY2NTcxMUFBOTk3RjEwMEUzOENERCAvKiBSZWFsdGltZU1lZGlhU291
cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk0QTRGNjU3MjFBQTk5N0YxMDBFMzhDREQgLyogUmVh
bHRpbWVNZWRpYVNvdXJjZUNhcGFiaWxpdGllcy5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9SZWFkYWJsZUpTU3RyZWFtLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1JlYWRhYmxlSlNTdHJlYW0uY3BwCmluZGV4IGQ0ODczMTQw
ZmYwODlmODVkMjA1YmU1MDhkYjk3ZmU4MzJiYmRhZmUuLmM5NTkzYTkxMWQ4NTViNGI0Nzk2YzU5
NjZkOTg3M2YzZWI0YmYwNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1JlYWRhYmxlSlNTdHJlYW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Jl
YWRhYmxlSlNTdHJlYW0uY3BwCkBAIC01OSwxOSArNTksNyBAQCBzdGF0aWMgaW5saW5lIEpTVmFs
dWUgY2FsbEZ1bmN0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSBqc0Z1bmN0aW9uLCBKU1Zh
bHVlCiAgICAgcmV0dXJuIGNhbGwoZXhlYywganNGdW5jdGlvbiwgY2FsbFR5cGUsIGNhbGxEYXRh
LCB0aGlzVmFsdWUsIGFyZ3VtZW50cywgZXhjZXB0aW9uKTsKIH0KIAotUmVmPFJlYWRhYmxlSlNT
dHJlYW06OlNvdXJjZT4gUmVhZGFibGVKU1N0cmVhbTo6U291cmNlOjpjcmVhdGUoRXhlY1N0YXRl
JiBleGVjKQotewotICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNvdXJjZShleGVjKSk7Ci19Ci0K
LVJlYWRhYmxlSlNTdHJlYW06OlNvdXJjZTo6U291cmNlKEV4ZWNTdGF0ZSYgZXhlYykKLXsKLSAg
ICBBU1NFUlRfV0lUSF9NRVNTQUdFKCFleGVjLmFyZ3VtZW50Q291bnQoKSB8fCBleGVjLmFyZ3Vt
ZW50KDApLmlzT2JqZWN0KCksICJDYWxsZXIgb2YgUmVhZGFibGVKU1N0cmVhbTo6U291cmNlIGNv
bnN0cnVjdG9yIHNob3VsZCBlbnN1cmUgdGhhdCBwYXNzZWQgYXJndW1lbnQgaWYgYW55IGlzIGFu
IG9iamVjdC4iKTsKLSAgICBKU09iamVjdCogc291cmNlID0gIGV4ZWMuYXJndW1lbnRDb3VudCgp
ID8gZXhlYy5hcmd1bWVudCgwKS5nZXRPYmplY3QoKSA6IEpTRmluYWxPYmplY3Q6OmNyZWF0ZShl
eGVjLnZtKCksIEpTRmluYWxPYmplY3Q6OmNyZWF0ZVN0cnVjdHVyZShleGVjLnZtKCksIGV4ZWMu
Y2FsbGVlKCktPmdsb2JhbE9iamVjdCgpLCBqc051bGwoKSwgMSkpOwotICAgIG1fc291cmNlLnNl
dChleGVjLnZtKCksIHNvdXJjZSk7Ci19Ci0KLUpTRE9NR2xvYmFsT2JqZWN0KiBSZWFkYWJsZUpT
U3RyZWFtOjpTb3VyY2U6Omdsb2JhbE9iamVjdCgpCitKU0RPTUdsb2JhbE9iamVjdCogUmVhZGFi
bGVKU1N0cmVhbTo6Z2xvYmFsT2JqZWN0KCkKIHsKICAgICByZXR1cm4ganNEeW5hbWljQ2FzdDxK
U0RPTUdsb2JhbE9iamVjdCo+KG1fc291cmNlLT5nbG9iYWxPYmplY3QoKSk7CiB9CkBAIC04NCw3
ICs3Miw3IEBAIHN0YXRpYyB2b2lkIHN0YXJ0UmVhZGFibGVTdHJlYW1Bc3luYyhSZWFkYWJsZVN0
cmVhbSYgcmVhZGFibGVTdHJlYW0pCiAgICAgfSk7CiB9CiAKLXZvaWQgUmVhZGFibGVKU1N0cmVh
bTo6U291cmNlOjpzdGFydChFeGVjU3RhdGUmIGV4ZWMsIFJlYWRhYmxlSlNTdHJlYW0mIHJlYWRh
YmxlU3RyZWFtKQordm9pZCBSZWFkYWJsZUpTU3RyZWFtOjpkb1N0YXJ0KEV4ZWNTdGF0ZSYgZXhl
YykKIHsKICAgICBKU0xvY2tIb2xkZXIgbG9jaygmZXhlYyk7CiAKQEAgLTkzLDEyICs4MSwxMiBA
QCB2b2lkIFJlYWRhYmxlSlNTdHJlYW06OlNvdXJjZTo6c3RhcnQoRXhlY1N0YXRlJiBleGVjLCBS
ZWFkYWJsZUpTU3RyZWFtJiByZWFkYWJsZQogICAgICAgICBpZiAoIXN0YXJ0RnVuY3Rpb24uaXNV
bmRlZmluZWQoKSkKICAgICAgICAgICAgIHRocm93Vk1FcnJvcigmZXhlYywgY3JlYXRlVHlwZUVy
cm9yKCZleGVjLCBBU0NJSUxpdGVyYWwoIlJlYWRhYmxlU3RyZWFtIGNvbnN0cnVjdG9yIG9iamVj
dCBzdGFydCBwcm9wZXJ0eSBzaG91bGQgYmUgYSBmdW5jdGlvbi4iKSkpOwogICAgICAgICBlbHNl
Ci0gICAgICAgICAgICBzdGFydFJlYWRhYmxlU3RyZWFtQXN5bmMocmVhZGFibGVTdHJlYW0pOwor
ICAgICAgICAgICAgc3RhcnRSZWFkYWJsZVN0cmVhbUFzeW5jKCp0aGlzKTsKICAgICAgICAgcmV0
dXJuOwogICAgIH0KIAogICAgIE1hcmtlZEFyZ3VtZW50QnVmZmVyIGFyZ3VtZW50czsKLSAgICBh
cmd1bWVudHMuYXBwZW5kKHJlYWRhYmxlU3RyZWFtLmpzQ29udHJvbGxlcihleGVjLCBnbG9iYWxP
YmplY3QoKSkpOworICAgIGFyZ3VtZW50cy5hcHBlbmQoanNDb250cm9sbGVyKGV4ZWMsIGdsb2Jh
bE9iamVjdCgpKSk7CiAKICAgICBKU1ZhbHVlIGV4Y2VwdGlvbjsKICAgICBjYWxsRnVuY3Rpb24o
JmV4ZWMsIHN0YXJ0RnVuY3Rpb24sIG1fc291cmNlLmdldCgpLCBhcmd1bWVudHMsICZleGNlcHRp
b24pOwpAQCAtMTA5LDI2ICs5NywyMyBAQCB2b2lkIFJlYWRhYmxlSlNTdHJlYW06OlNvdXJjZTo6
c3RhcnQoRXhlY1N0YXRlJiBleGVjLCBSZWFkYWJsZUpTU3RyZWFtJiByZWFkYWJsZQogICAgIH0K
IAogICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgaGFuZGxpbmcgcHJvbWlzZSBhcyByZXN1bHQgb2Yg
Y2FsbGluZyBzdGFydCBmdW5jdGlvbi4KLSAgICBzdGFydFJlYWRhYmxlU3RyZWFtQXN5bmMocmVh
ZGFibGVTdHJlYW0pOworICAgIHN0YXJ0UmVhZGFibGVTdHJlYW1Bc3luYygqdGhpcyk7CiB9CiAK
IFJlZjxSZWFkYWJsZUpTU3RyZWFtPiBSZWFkYWJsZUpTU3RyZWFtOjpjcmVhdGUoRXhlY1N0YXRl
JiBleGVjLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KQog
ewotICAgIFJlZjxSZWFkYWJsZUpTU3RyZWFtOjpTb3VyY2U+IHNvdXJjZSA9IFJlYWRhYmxlSlNT
dHJlYW06OlNvdXJjZTo6Y3JlYXRlKGV4ZWMpOwotICAgIFJlZjxSZWFkYWJsZUpTU3RyZWFtPiBy
ZWFkYWJsZVN0cmVhbSA9IGFkb3B0UmVmKCpuZXcgUmVhZGFibGVKU1N0cmVhbShzY3JpcHRFeGVj
dXRpb25Db250ZXh0LCBXVEY6Om1vdmUoc291cmNlKSkpOworICAgIEFTU0VSVF9XSVRIX01FU1NB
R0UoIWV4ZWMuYXJndW1lbnRDb3VudCgpIHx8IGV4ZWMuYXJndW1lbnQoMCkuaXNPYmplY3QoKSwg
IkNhbGxlciBvZiBSZWFkYWJsZUpTU3RyZWFtIGNvbnN0cnVjdG9yIHNob3VsZCBlbnN1cmUgdGhh
dCBwYXNzZWQgYXJndW1lbnQgaWYgYW55IGlzIGFuIG9iamVjdC4iKTsKKyAgICBKU09iamVjdCog
c291cmNlID0gIGV4ZWMuYXJndW1lbnRDb3VudCgpID8gZXhlYy5hcmd1bWVudCgwKS5nZXRPYmpl
Y3QoKSA6IEpTRmluYWxPYmplY3Q6OmNyZWF0ZShleGVjLnZtKCksIEpTRmluYWxPYmplY3Q6OmNy
ZWF0ZVN0cnVjdHVyZShleGVjLnZtKCksIGV4ZWMuY2FsbGVlKCktPmdsb2JhbE9iamVjdCgpLCBq
c051bGwoKSwgMSkpOwogCi0gICAgcmVhZGFibGVTdHJlYW0tPmpzU291cmNlKCkuc3RhcnQoZXhl
YywgcmVhZGFibGVTdHJlYW0uZ2V0KCkpOworICAgIFJlZjxSZWFkYWJsZUpTU3RyZWFtPiByZWFk
YWJsZVN0cmVhbSA9IGFkb3B0UmVmKCpuZXcgUmVhZGFibGVKU1N0cmVhbShzY3JpcHRFeGVjdXRp
b25Db250ZXh0LCBleGVjLCBzb3VyY2UpKTsKKyAgICByZWFkYWJsZVN0cmVhbS0+ZG9TdGFydChl
eGVjKTsKICAgICByZXR1cm4gcmVhZGFibGVTdHJlYW07CiB9CiAKLVJlYWRhYmxlSlNTdHJlYW06
OlJlYWRhYmxlSlNTdHJlYW0oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgc2NyaXB0RXhlY3V0aW9u
Q29udGV4dCwgUmVmPFJlYWRhYmxlSlNTdHJlYW06OlNvdXJjZT4mJiBzb3VyY2UpCi0gICAgOiBS
ZWFkYWJsZVN0cmVhbShzY3JpcHRFeGVjdXRpb25Db250ZXh0LCBXVEY6Om1vdmUoc291cmNlKSkK
LXsKLX0KLQotUmVhZGFibGVKU1N0cmVhbTo6U291cmNlJiBSZWFkYWJsZUpTU3RyZWFtOjpqc1Nv
dXJjZSgpCitSZWFkYWJsZUpTU3RyZWFtOjpSZWFkYWJsZUpTU3RyZWFtKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIEV4ZWNTdGF0ZSYgZXhlYywgSlNPYmpl
Y3QqIHNvdXJjZSkKKyAgICA6IFJlYWRhYmxlU3RyZWFtKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQp
CiB7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PFJlYWRhYmxlSlNTdHJlYW06OlNvdXJjZSY+KHNv
dXJjZSgpKTsKKyAgICBtX3NvdXJjZS5zZXQoZXhlYy52bSgpLCBzb3VyY2UpOwogfQogCiBKU1Zh
bHVlIFJlYWRhYmxlSlNTdHJlYW06OmpzQ29udHJvbGxlcihFeGVjU3RhdGUmIGV4ZWMsIEpTRE9N
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9SZWFkYWJsZUpTU3RyZWFtLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9SZWFkYWJsZUpTU3RyZWFtLmgKaW5kZXggNjhhYjg5YTZkNmY2NGEzOWY2YWU1MTAzODdmMDI2
YTgwMDE2ZGU3ZC4uNmM1NzJmZTAwMmE1OTE3YWU4ZTIxZTEyNmM0NzJlMmQ1MTQzODY0MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvUmVhZGFibGVKU1N0cmVhbS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1JlYWRhYmxlSlNTdHJlYW0uaApAQCAtMzMs
OCArMzMsNiBAQAogI2lmIEVOQUJMRShTVFJFQU1TX0FQSSkKIAogI2luY2x1ZGUgIlJlYWRhYmxl
U3RyZWFtLmgiCi0jaW5jbHVkZSAiUmVhZGFibGVTdHJlYW1SZWFkZXIuaCIKLSNpbmNsdWRlICJS
ZWFkYWJsZVN0cmVhbVNvdXJjZS5oIgogI2luY2x1ZGUgPGhlYXAvU3Ryb25nLmg+CiAjaW5jbHVk
ZSA8aGVhcC9TdHJvbmdJbmxpbmVzLmg+CiAjaW5jbHVkZSA8cnVudGltZS9KU0NKU1ZhbHVlLmg+
CkBAIC00NywzNyArNDUsMjcgQEAgY2xhc3MgSlNET01HbG9iYWxPYmplY3Q7CiBjbGFzcyBSZWFk
YWJsZVN0cmVhbUNvbnRyb2xsZXI7CiAKIGNsYXNzIFJlYWRhYmxlSlNTdHJlYW06IHB1YmxpYyBS
ZWFkYWJsZVN0cmVhbSB7Ci1wcml2YXRlOgotICAgIGNsYXNzIFNvdXJjZTogcHVibGljIFJlYWRh
YmxlU3RyZWFtU291cmNlIHsKLSAgICBwdWJsaWM6Ci0gICAgICAgIHN0YXRpYyBSZWY8U291cmNl
PiBjcmVhdGUoSlNDOjpFeGVjU3RhdGUmKTsKLQotICAgICAgICBKU0RPTUdsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0KCk7Ci0gICAgICAgIHZvaWQgc3RhcnQoSlNDOjpFeGVjU3RhdGUmLCBSZWFk
YWJsZUpTU3RyZWFtJik7Ci0KLSAgICBwcml2YXRlOgotICAgICAgICBTb3VyY2UoSlNDOjpFeGVj
U3RhdGUmKTsKLQotICAgICAgICBKU0M6OlN0cm9uZzxKU0M6OkpTT2JqZWN0PiBtX3NvdXJjZTsK
LSAgICB9OwotCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxSZWFkYWJsZUpTU3RyZWFtPiBjcmVh
dGUoSlNDOjpFeGVjU3RhdGUmLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik7CiAKLSAgICBSZWFk
YWJsZUpTU3RyZWFtOjpTb3VyY2UmIGpzU291cmNlKCk7CiAgICAgSlNDOjpKU1ZhbHVlIGpzQ29u
dHJvbGxlcihKU0M6OkV4ZWNTdGF0ZSYsIEpTRE9NR2xvYmFsT2JqZWN0Kik7CiAKICAgICB2b2lk
IHN0b3JlRXJyb3IoSlNDOjpFeGVjU3RhdGUmKTsKICAgICBKU0M6OkpTVmFsdWUgZXJyb3IoKSB7
IHJldHVybiBtX2Vycm9yLmdldCgpOyB9CiAKIHByaXZhdGU6Ci0gICAgUmVhZGFibGVKU1N0cmVh
bShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgUmVmPFJlYWRhYmxlSlNTdHJlYW06OlNvdXJjZT4m
Jik7CisgICAgUmVhZGFibGVKU1N0cmVhbShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgSlNDOjpF
eGVjU3RhdGUmLCBKU0M6OkpTT2JqZWN0Kik7CisKKyAgICB2b2lkIGRvU3RhcnQoSlNDOjpFeGVj
U3RhdGUmKTsKIAogICAgIHZpcnR1YWwgYm9vbCBoYXNWYWx1ZSgpIGNvbnN0IG92ZXJyaWRlOwog
ICAgIHZpcnR1YWwgSlNDOjpKU1ZhbHVlIHJlYWQoKSBvdmVycmlkZTsKIAorICAgIEpTRE9NR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QoKTsKKwogICAgIHN0ZDo6dW5pcXVlX3B0cjxSZWFkYWJs
ZVN0cmVhbUNvbnRyb2xsZXI+IG1fY29udHJvbGxlcjsKICAgICBKU0M6OlN0cm9uZzxKU0M6OlVu
a25vd24+IG1fZXJyb3I7CisgICAgSlNDOjpTdHJvbmc8SlNDOjpKU09iamVjdD4gbV9zb3VyY2U7
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>254255</attachid>
            <date>2015-06-03 23:50:30 -0700</date>
            <delta_ts>2015-06-04 00:53:21 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-145601-20150604085008.patch</filename>
            <type>text/plain</type>
            <size>18039</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1MTkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2FmOTc4MGM4NmRlOTVh
NWU4NjdlZTljMTZkNjY3NzBjMzgyODdkMC4uMjIwNTZkOTM5OTE4ZTZlNmU4OTg3ZjdmYmVhYjhh
OTMxYWJlMDE4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDE1LTA2LTAzICBYYWJp
ZXIgUm9kcmlndWV6IENhbHZhciAgPGNhbHZhcmlzQGlnYWxpYS5jb20+IGFuZCBZb3Vlbm4gRmFi
bGV0IDx5b3Vlbm4uZmFibGV0QGNyZi5jYW5vbi5mcj4KKworICAgICAgICBbU3RyZWFtcyBBUEld
IFJlYWRhYmxlSlNTdHJlYW0gZG9lcyBub3QgbmVlZCBhIFJlYWRhYmxlU3RyZWFtU291cmNlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDU2MDEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBDb3ZlcmVkIGJ5IGV4
aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFt
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlYWRhYmxlU3RyZWFtOjpSZWFkYWJsZVN0cmVhbSk6
IFJlbW9lZCBtX3NvdXJjZS4KKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJl
YW0uaDogRGl0dG8KKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1Tb3Vy
Y2UuaDogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9q
OiBSZW1vdmluZyBNb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1Tb3VyY2UuaC4KKyAgICAg
ICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnM6IERpdHRvLgorICAg
ICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogRGl0dG8uCisgICAgICAg
ICogYmluZGluZ3MvanMvUmVhZGFibGVKU1N0cmVhbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZWFkYWJsZUpTU3RyZWFtOjpnbG9iYWxPYmplY3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVhZGFi
bGVKU1N0cmVhbTo6ZG9TdGFydCk6IEVxdWl2YWxlbnQgb2YgUmVhZGFibGVKU1N0cmVhbTo6U291
cmNlOjpzdGFydCgpLgorICAgICAgICAoV2ViQ29yZTo6UmVhZGFibGVKU1N0cmVhbTo6Y3JlYXRl
KTogVXBkYXRlZCBhY2NvcmRpbmcgbmV3IGNvbnN0cnVjdG9yLgorICAgICAgICAoV2ViQ29yZTo6
UmVhZGFibGVKU1N0cmVhbTo6UmVhZGFibGVKU1N0cmVhbSk6CisgICAgICAgIChXZWJDb3JlOjpz
dGFydFJlYWRhYmxlU3RyZWFtQXN5bmMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVh
ZGFibGVKU1N0cmVhbTo6anNDb250cm9sbGVyKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OlJlYWRhYmxlSlNTdHJlYW06OnN0b3JlRXJyb3IpOiBEZWxldGVkLgorICAgICAgICAqIGJpbmRp
bmdzL2pzL1JlYWRhYmxlSlNTdHJlYW0uaDogQWRkZWQgbV9zb3VyY2UgbWVtYmVyIHRvIHN0b3Jl
IHRoZSBKUyBzb3VyY2UgYXMgYSBKUyBvYmplY3QuCisKIDIwMTUtMDYtMDMgIFphbGFuIEJ1anRh
cyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBVc2UgYm9yZGVyQm94UmVjdCBpbnN0ZWFk
IG9mIGNvbnRlbnRCb3hSZWN0IGZvciBiYWNrZHJvcCBmaWx0ZXIuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW0uY3BwIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtLmNwcAppbmRleCBmMDE5YjQ0MTZm
MzExNmE2YWM3Mzg0MDg3ODc2OTU3NGRiZjMxMGI1Li44MGMwNTYyNTllMmYyYTlkZDhjZDEwMjg1
NTEzMDhjNzViNmNlM2QyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVh
bXMvUmVhZGFibGVTdHJlYW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFt
cy9SZWFkYWJsZVN0cmVhbS5jcHAKQEAgLTQxLDkgKzQxLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBERUZJTkVfREVCVUdfT05MWV9HTE9CQUwoV1RGOjpSZWZDb3VudGVkTGVha0NvdW50ZXIs
IHJlYWRhYmxlU3RyZWFtQ291bnRlciwgKCJSZWFkYWJsZVN0cmVhbSIpKTsKIAotUmVhZGFibGVT
dHJlYW06OlJlYWRhYmxlU3RyZWFtKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIHNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQsIFJlZjxSZWFkYWJsZVN0cmVhbVNvdXJjZT4mJiBzb3VyY2UpCitSZWFkYWJs
ZVN0cmVhbTo6UmVhZGFibGVTdHJlYW0oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCkKICAgICA6IEFjdGl2ZURPTU9iamVjdCgmc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCkKLSAgICAsIG1fc291cmNlKFdURjo6bW92ZShzb3VyY2UpKQogewogI2lmbmRlZiBOREVC
VUcKICAgICByZWFkYWJsZVN0cmVhbUNvdW50ZXIuaW5jcmVtZW50KCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW0uaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbS5oCmluZGV4IDJiZDJjYTUyMThi
MWI2NjAwM2FhZjI5YzUwYmQ3ODI2MWY0MDdiNTcuLmQxZDMzNDRhYzZjNGQyYTYyN2FkMTUxM2Y0
YTA1YzMzZmI3MmE1NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFt
cy9SZWFkYWJsZVN0cmVhbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9S
ZWFkYWJsZVN0cmVhbS5oCkBAIC0zMywxMCArMzMsMTEgQEAKICNpZiBFTkFCTEUoU1RSRUFNU19B
UEkpCiAKICNpbmNsdWRlICJBY3RpdmVET01PYmplY3QuaCIKLSNpbmNsdWRlICJSZWFkYWJsZVN0
cmVhbVNvdXJjZS5oIgogI2luY2x1ZGUgIlNjcmlwdFdyYXBwYWJsZS5oIgogI2luY2x1ZGUgPGZ1
bmN0aW9uYWw+CiAjaW5jbHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVk
Lmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIGNsYXNzIEpT
VmFsdWU7CkBAIC03Myw4ICs3NCw2IEBAIHB1YmxpYzoKICAgICB2b2lkIGNoYW5nZVN0YXRlVG9D
bG9zZWQoKTsKICAgICB2b2lkIGNoYW5nZVN0YXRlVG9FcnJvcmVkKCk7CiAKLSAgICBSZWFkYWJs
ZVN0cmVhbVNvdXJjZSYgc291cmNlKCkgeyByZXR1cm4gbV9zb3VyY2UuZ2V0KCk7IH0KLQogICAg
IHR5cGVkZWYgc3RkOjpmdW5jdGlvbjx2b2lkKEpTQzo6SlNWYWx1ZSk+IEZhaWx1cmVDYWxsYmFj
azsKIAogICAgIHR5cGVkZWYgc3RkOjpmdW5jdGlvbjx2b2lkKCk+IENsb3NlZFN1Y2Nlc3NDYWxs
YmFjazsKQEAgLTg1LDcgKzg0LDcgQEAgcHVibGljOgogICAgIHZvaWQgcmVhZChSZWFkU3VjY2Vz
c0NhbGxiYWNrJiYsIFJlYWRFbmRDYWxsYmFjayYmLCBGYWlsdXJlQ2FsbGJhY2smJik7CiAKIHBy
b3RlY3RlZDoKLSAgICBSZWFkYWJsZVN0cmVhbShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgUmVm
PFJlYWRhYmxlU3RyZWFtU291cmNlPiYmKTsKKyAgICBleHBsaWNpdCBSZWFkYWJsZVN0cmVhbShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0Jik7CiAKIHByaXZhdGU6CiAgICAgLy8gQWN0aXZlRE9NT2Jq
ZWN0IEFQSS4KQEAgLTExMSw3ICsxMTAsNiBAQCBwcml2YXRlOgogICAgIFZlY3RvcjxSZWFkQ2Fs
bGJhY2tzPiBtX3JlYWRSZXF1ZXN0czsKIAogICAgIFN0YXRlIG1fc3RhdGUgeyBTdGF0ZTo6UmVh
ZGFibGUgfTsKLSAgICBSZWY8UmVhZGFibGVTdHJlYW1Tb3VyY2U+IG1fc291cmNlOwogfTsKIAog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3Ry
ZWFtU291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJl
YW1Tb3VyY2UuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYThmY2YyMWFkOTljNzEx
MGYxMDI0YzI0ZDZjYzc4Mjg3ZmEyYmNhMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVT
dHJlYW1Tb3VyY2UuaAorKysgL2Rldi9udWxsCkBAIC0xLDY0ICswLDAgQEAKLS8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTUgQ2Fub24gSW5jLgotICogQ29weXJpZ2h0IChDKSAyMDE1IElnYWxpYSBT
LkwuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQsIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgcmVxdWlyZWQgdG8g
YmUgbWV0OgotICoKLSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICogMy4gIE5laXRoZXIgdGhl
IG5hbWUgb2YgQ2Fub24gSW5jLiBub3IgdGhlIG5hbWVzIG9mCi0gKiAgICAgaXRzIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAot
ICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIENBTk9OIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVECi0gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBD
QU5PTiBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKLSAqIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwKLSAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCi0gKiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgotICogQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwKLSAqIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgotICovCi0KLSNpZm5kZWYgUmVhZGFibGVTdHJlYW1Tb3VyY2VfaAotI2RlZmluZSBSZWFkYWJs
ZVN0cmVhbVNvdXJjZV9oCi0KLSNpZiBFTkFCTEUoU1RSRUFNU19BUEkpCi0KLSNpbmNsdWRlICJF
eGNlcHRpb25Db2RlLmgiCi0jaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KLSNpbmNsdWRlIDx3
dGYvdGV4dC9XVEZTdHJpbmcuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi0vLyBSZWFkYWJs
ZVN0cmVhbVNvdXJjZSBpcyB0aGUgaW50ZXJmYWNlIHVzZWQgYnkgUmVhZGFibGVTdHJlYW0gdG8g
cHVsbCBkYXRhLgotY2xhc3MgUmVhZGFibGVTdHJlYW1Tb3VyY2U6IHB1YmxpYyBSZWZDb3VudGVk
PFJlYWRhYmxlU3RyZWFtU291cmNlPiB7Ci1wdWJsaWM6Ci0gICAgdmlydHVhbCB+UmVhZGFibGVT
dHJlYW1Tb3VyY2UoKSB7IH0KLQotICAgIHZpcnR1YWwgdm9pZCBwdWxsKCkgeyB9Ci0KLSAgICB2
aXJ0dWFsIGJvb2wgc2hvdWxkQXBwbHlCYWNrcHJlc3N1cmUodW5zaWduZWQgLypxdWV1ZVNpemUq
LykKLSAgICB7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLQotICAgIC8vIFJldHVybiB0
cnVlIGlmIGNhbmNlbGxlZCAoc3luYyBjYXNlKSBhbmQgZmFsc2UgaW4gYXN5bmMgY2FzZS4KLSAg
ICB2aXJ0dWFsIGJvb2wgY2FuY2VsKGNvbnN0IFN0cmluZyYgLypyZWFzb24qLykKLSAgICB7Ci0g
ICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLX07Ci0KLX0KLQotI2VuZGlmCi0KLSNlbmRpZiAv
LyBSZWFkYWJsZVN0cmVhbVNvdXJjZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hw
cm9qL1dlYkNvcmUudmN4cHJvagppbmRleCA2ODliYzU0MWE5YjI0NjJhY2NiMDRlN2NlNWU5YWU5
M2E3ZGYyZTBjLi40NmZmMzJkZTY5ZTJkN2YxM2YxNjhmZWRmNDA1YmRmMGExNzgxNmVlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKQEAgLTE5
NDY1LDcgKzE5NDY1LDYgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcc3Ry
ZWFtc1xSZWFkYWJsZVN0cmVhbS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cTW9k
dWxlc1xzdHJlYW1zXFJlYWRhYmxlU3RyZWFtQ29udHJvbGxlci5oIiAvPgogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5cTW9kdWxlc1xzdHJlYW1zXFJlYWRhYmxlU3RyZWFtUmVhZGVyLmgiIC8+
Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxNb2R1bGVzXHN0cmVhbXNcUmVhZGFibGVTdHJl
YW1Tb3VyY2UuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcd2ViZGF0
YWJhc2VcQWJzdHJhY3REYXRhYmFzZVNlcnZlci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5cTW9kdWxlc1x3ZWJkYXRhYmFzZVxDaGFuZ2VWZXJzaW9uRGF0YS5oIiAvPgogICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5cTW9kdWxlc1x3ZWJkYXRhYmFzZVxDaGFuZ2VWZXJzaW9uV3Jh
cHBlci5oIiAvPgpAQCAtMjE3NzIsNCArMjE3NzEsNCBAQAogICA8SW1wb3J0R3JvdXAgTGFiZWw9
IkV4dGVuc2lvblRhcmdldHMiPgogICAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRo
KVxCdWlsZEN1c3RvbWl6YXRpb25zXG1hc20udGFyZ2V0cyIgLz4KICAgPC9JbXBvcnRHcm91cD4K
LTwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L1Byb2plY3Q+CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZp
bHRlcnMgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZp
bHRlcnMKaW5kZXggMjhiMDAwMWU1MTk4ZGI3Mzg1NWU2YzJjN2ZjYWVkYzcxMzQ2YzE3MC4uZDJj
NmQxYjE4NjhmOWQwNDRmZjdmYjE5MDQzNjEyYTRmNWU4YWU4MyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwpAQCAt
MTUyMzAsOSArMTUyMzAsNiBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1c
Z3JhcGhpY3NcRm9udENhc2NhZGVGb250cy5oIj4KICAgICAgIDxGaWx0ZXI+cGxhdGZvcm1cZ3Jh
cGhpY3M8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXE1vZHVsZXNcc3RyZWFtc1xSZWFkYWJsZVN0cmVhbVNvdXJjZS5oIj4KLSAgICAgIDxGaWx0
ZXI+TW9kdWxlc1xzdHJlYW1zPC9GaWx0ZXI+Ci0gICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxNb2R1bGVzXHN0cmVhbXNcUmVhZGFibGVTdHJlYW0uaCI+CiAgICAg
ICA8RmlsdGVyPk1vZHVsZXNcc3RyZWFtczwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IDRlNzE3YTQwZjE1YTYzYTNlNTYxYjAzNjdiYjNkNmUxMWQwMWUxZDkuLmQ3ZDVjY2FjMTMwYjhk
YjhkOTgyMDg2MmFkMGRlODhmMzQ1NjdmMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE0ODEsNyArMTQ4MSw2IEBACiAJCTQx
OUZBRkIxMUFCQUJERUQwMDVCODI4QiAvKiBKU1JlYWRhYmxlU3RyZWFtUmVhZGVyQ3VzdG9tLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxOUZBRkIw
MUFCQUJEN0IwMDVCODI4QiAvKiBKU1JlYWRhYmxlU3RyZWFtUmVhZGVyQ3VzdG9tLmNwcCAqLzsg
fTsKIAkJNDFBMDIzRUYxQTM5REI3QTAwRjcyMkNGIC8qIFJlYWRhYmxlU3RyZWFtLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxQTAyM0VCMUEzOURC
NzkwMEY3MjJDRiAvKiBSZWFkYWJsZVN0cmVhbS5jcHAgKi87IH07CiAJCTQxQTAyM0YwMUEzOURC
N0EwMEY3MjJDRiAvKiBSZWFkYWJsZVN0cmVhbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDFBMDIzRUMxQTM5REI3OTAwRjcyMkNGIC8qIFJlYWRhYmxl
U3RyZWFtLmggKi87IH07Ci0JCTQxQTAyM0YyMUEzOURCN0EwMEY3MjJDRiAvKiBSZWFkYWJsZVN0
cmVhbVNvdXJjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDFBMDIzRUUxQTM5REI3QTAwRjcyMkNGIC8qIFJlYWRhYmxlU3RyZWFtU291cmNlLmggKi87
IH07CiAJCTQxQTAyM0Y2MUEzOURCQ0IwMEY3MjJDRiAvKiBKU1JlYWRhYmxlU3RyZWFtQ3VzdG9t
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxQTAy
M0YzMUEzOURCQ0IwMEY3MjJDRiAvKiBKU1JlYWRhYmxlU3RyZWFtQ3VzdG9tLmNwcCAqLzsgfTsK
IAkJNDFBM0Q1OEUxMDFDMTUyRDAwMzE2RDA3IC8qIERlZGljYXRlZFdvcmtlclRocmVhZC5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUEzRDU4QzEw
MUMxNTJEMDAzMTZEMDcgLyogRGVkaWNhdGVkV29ya2VyVGhyZWFkLmNwcCAqLzsgfTsKIAkJNDFB
M0Q1OEYxMDFDMTUyRDAwMzE2RDA3IC8qIERlZGljYXRlZFdvcmtlclRocmVhZC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFBM0Q1OEQxMDFDMTUyRDAw
MzE2RDA3IC8qIERlZGljYXRlZFdvcmtlclRocmVhZC5oICovOyB9OwpAQCAtODYzNCw3ICs4NjMz
LDYgQEAKIAkJNDFBMDIzRUIxQTM5REI3OTAwRjcyMkNGIC8qIFJlYWRhYmxlU3RyZWFtLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlYWRhYmxlU3RyZWFtLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFBMDIzRUMxQTM5REI3OTAwRjcyMkNGIC8q
IFJlYWRhYmxlU3RyZWFtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlYWRh
YmxlU3RyZWFtLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxQTAyM0VEMUEzOURC
NzkwMEY3MjJDRiAvKiBSZWFkYWJsZVN0cmVhbS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
UmVhZGFibGVTdHJlYW0uaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0MUEwMjNF
RTFBMzlEQjdBMDBGNzIyQ0YgLyogUmVhZGFibGVTdHJlYW1Tb3VyY2UuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gUmVhZGFibGVTdHJlYW1Tb3VyY2UuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNDFBMDIzRjMxQTM5REJDQjAwRjcyMkNGIC8qIEpTUmVhZGFibGVT
dHJlYW1DdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNS
ZWFkYWJsZVN0cmVhbUN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQx
QTNENThDMTAxQzE1MkQwMDMxNkQwNyAvKiBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGVkaWNhdGVkV29ya2VyVGhyZWFkLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFBM0Q1OEQxMDFDMTUyRDAwMzE2RDA3
IC8qIERlZGljYXRlZFdvcmtlclRocmVhZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTE1OTgwLDcgKzE1OTc4LDYgQEAKIAkJCQk0MTlGQUZBQjFBQkFCQ0Q1MDA1QjgyOEIgLyog
UmVhZGFibGVTdHJlYW1SZWFkZXIuY3BwICovLAogCQkJCTQxOUZBRkFDMUFCQUJDRDUwMDVCODI4
QiAvKiBSZWFkYWJsZVN0cmVhbVJlYWRlci5oICovLAogCQkJCTQxOUZBRkFEMUFCQUJDRDUwMDVC
ODI4QiAvKiBSZWFkYWJsZVN0cmVhbVJlYWRlci5pZGwgKi8sCi0JCQkJNDFBMDIzRUUxQTM5REI3
QTAwRjcyMkNGIC8qIFJlYWRhYmxlU3RyZWFtU291cmNlLmggKi8sCiAJCQkpOwogCQkJcGF0aCA9
IHN0cmVhbXM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMjYxNTYsNyArMjYxNTMs
NiBAQAogCQkJCTQxOThCREYxMUE4MTE0MzEwMEIyMkZCNSAvKiBSZWFkYWJsZUpTU3RyZWFtLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk0MUEwMjNGMDFBMzlEQjdBMDBGNzIyQ0YgLyogUmVhZGFibGVT
dHJlYW0uaCBpbiBIZWFkZXJzICovLAogCQkJCTQxOUZBRkFGMUFCQUJEMEMwMDVCODI4QiAvKiBS
ZWFkYWJsZVN0cmVhbVJlYWRlci5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNDFBMDIzRjIxQTM5REI3
QTAwRjcyMkNGIC8qIFJlYWRhYmxlU3RyZWFtU291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlG
RDMxNjAzQzEyQjAyNjc2MDBDMUEzNTkgLyogUmVhbHRpbWVBbmFseXNlci5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNEE0RjY1NzExQUE5OTdGMTAwRTM4Q0REIC8qIFJlYWx0aW1lTWVkaWFTb3VyY2Uu
aCBpbiBIZWFkZXJzICovLAogCQkJCTRBNEY2NTcyMUFBOTk3RjEwMEUzOENERCAvKiBSZWFsdGlt
ZU1lZGlhU291cmNlQ2FwYWJpbGl0aWVzLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1JlYWRhYmxlSlNTdHJlYW0uY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvUmVhZGFibGVKU1N0cmVhbS5jcHAKaW5kZXggZDQ4NzMxNDBmZjA4
OWY4NWQyMDViZTUwOGRiOTdmZTgzMmJiZGFmZS4uYzk1OTNhOTExZDg1NWI0YjQ3OTZjNTk2NmQ5
ODczZjNlYjRiZjA0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvUmVh
ZGFibGVKU1N0cmVhbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvUmVhZGFi
bGVKU1N0cmVhbS5jcHAKQEAgLTU5LDE5ICs1OSw3IEBAIHN0YXRpYyBpbmxpbmUgSlNWYWx1ZSBj
YWxsRnVuY3Rpb24oRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIGpzRnVuY3Rpb24sIEpTVmFsdWUK
ICAgICByZXR1cm4gY2FsbChleGVjLCBqc0Z1bmN0aW9uLCBjYWxsVHlwZSwgY2FsbERhdGEsIHRo
aXNWYWx1ZSwgYXJndW1lbnRzLCBleGNlcHRpb24pOwogfQogCi1SZWY8UmVhZGFibGVKU1N0cmVh
bTo6U291cmNlPiBSZWFkYWJsZUpTU3RyZWFtOjpTb3VyY2U6OmNyZWF0ZShFeGVjU3RhdGUmIGV4
ZWMpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU291cmNlKGV4ZWMpKTsKLX0KLQotUmVh
ZGFibGVKU1N0cmVhbTo6U291cmNlOjpTb3VyY2UoRXhlY1N0YXRlJiBleGVjKQotewotICAgIEFT
U0VSVF9XSVRIX01FU1NBR0UoIWV4ZWMuYXJndW1lbnRDb3VudCgpIHx8IGV4ZWMuYXJndW1lbnQo
MCkuaXNPYmplY3QoKSwgIkNhbGxlciBvZiBSZWFkYWJsZUpTU3RyZWFtOjpTb3VyY2UgY29uc3Ry
dWN0b3Igc2hvdWxkIGVuc3VyZSB0aGF0IHBhc3NlZCBhcmd1bWVudCBpZiBhbnkgaXMgYW4gb2Jq
ZWN0LiIpOwotICAgIEpTT2JqZWN0KiBzb3VyY2UgPSAgZXhlYy5hcmd1bWVudENvdW50KCkgPyBl
eGVjLmFyZ3VtZW50KDApLmdldE9iamVjdCgpIDogSlNGaW5hbE9iamVjdDo6Y3JlYXRlKGV4ZWMu
dm0oKSwgSlNGaW5hbE9iamVjdDo6Y3JlYXRlU3RydWN0dXJlKGV4ZWMudm0oKSwgZXhlYy5jYWxs
ZWUoKS0+Z2xvYmFsT2JqZWN0KCksIGpzTnVsbCgpLCAxKSk7Ci0gICAgbV9zb3VyY2Uuc2V0KGV4
ZWMudm0oKSwgc291cmNlKTsKLX0KLQotSlNET01HbG9iYWxPYmplY3QqIFJlYWRhYmxlSlNTdHJl
YW06OlNvdXJjZTo6Z2xvYmFsT2JqZWN0KCkKK0pTRE9NR2xvYmFsT2JqZWN0KiBSZWFkYWJsZUpT
U3RyZWFtOjpnbG9iYWxPYmplY3QoKQogewogICAgIHJldHVybiBqc0R5bmFtaWNDYXN0PEpTRE9N
R2xvYmFsT2JqZWN0Kj4obV9zb3VyY2UtPmdsb2JhbE9iamVjdCgpKTsKIH0KQEAgLTg0LDcgKzcy
LDcgQEAgc3RhdGljIHZvaWQgc3RhcnRSZWFkYWJsZVN0cmVhbUFzeW5jKFJlYWRhYmxlU3RyZWFt
JiByZWFkYWJsZVN0cmVhbSkKICAgICB9KTsKIH0KIAotdm9pZCBSZWFkYWJsZUpTU3RyZWFtOjpT
b3VyY2U6OnN0YXJ0KEV4ZWNTdGF0ZSYgZXhlYywgUmVhZGFibGVKU1N0cmVhbSYgcmVhZGFibGVT
dHJlYW0pCit2b2lkIFJlYWRhYmxlSlNTdHJlYW06OmRvU3RhcnQoRXhlY1N0YXRlJiBleGVjKQog
ewogICAgIEpTTG9ja0hvbGRlciBsb2NrKCZleGVjKTsKIApAQCAtOTMsMTIgKzgxLDEyIEBAIHZv
aWQgUmVhZGFibGVKU1N0cmVhbTo6U291cmNlOjpzdGFydChFeGVjU3RhdGUmIGV4ZWMsIFJlYWRh
YmxlSlNTdHJlYW0mIHJlYWRhYmxlCiAgICAgICAgIGlmICghc3RhcnRGdW5jdGlvbi5pc1VuZGVm
aW5lZCgpKQogICAgICAgICAgICAgdGhyb3dWTUVycm9yKCZleGVjLCBjcmVhdGVUeXBlRXJyb3Io
JmV4ZWMsIEFTQ0lJTGl0ZXJhbCgiUmVhZGFibGVTdHJlYW0gY29uc3RydWN0b3Igb2JqZWN0IHN0
YXJ0IHByb3BlcnR5IHNob3VsZCBiZSBhIGZ1bmN0aW9uLiIpKSk7CiAgICAgICAgIGVsc2UKLSAg
ICAgICAgICAgIHN0YXJ0UmVhZGFibGVTdHJlYW1Bc3luYyhyZWFkYWJsZVN0cmVhbSk7CisgICAg
ICAgICAgICBzdGFydFJlYWRhYmxlU3RyZWFtQXN5bmMoKnRoaXMpOwogICAgICAgICByZXR1cm47
CiAgICAgfQogCiAgICAgTWFya2VkQXJndW1lbnRCdWZmZXIgYXJndW1lbnRzOwotICAgIGFyZ3Vt
ZW50cy5hcHBlbmQocmVhZGFibGVTdHJlYW0uanNDb250cm9sbGVyKGV4ZWMsIGdsb2JhbE9iamVj
dCgpKSk7CisgICAgYXJndW1lbnRzLmFwcGVuZChqc0NvbnRyb2xsZXIoZXhlYywgZ2xvYmFsT2Jq
ZWN0KCkpKTsKIAogICAgIEpTVmFsdWUgZXhjZXB0aW9uOwogICAgIGNhbGxGdW5jdGlvbigmZXhl
Yywgc3RhcnRGdW5jdGlvbiwgbV9zb3VyY2UuZ2V0KCksIGFyZ3VtZW50cywgJmV4Y2VwdGlvbik7
CkBAIC0xMDksMjYgKzk3LDIzIEBAIHZvaWQgUmVhZGFibGVKU1N0cmVhbTo6U291cmNlOjpzdGFy
dChFeGVjU3RhdGUmIGV4ZWMsIFJlYWRhYmxlSlNTdHJlYW0mIHJlYWRhYmxlCiAgICAgfQogCiAg
ICAgLy8gRklYTUU6IEltcGxlbWVudCBoYW5kbGluZyBwcm9taXNlIGFzIHJlc3VsdCBvZiBjYWxs
aW5nIHN0YXJ0IGZ1bmN0aW9uLgotICAgIHN0YXJ0UmVhZGFibGVTdHJlYW1Bc3luYyhyZWFkYWJs
ZVN0cmVhbSk7CisgICAgc3RhcnRSZWFkYWJsZVN0cmVhbUFzeW5jKCp0aGlzKTsKIH0KIAogUmVm
PFJlYWRhYmxlSlNTdHJlYW0+IFJlYWRhYmxlSlNTdHJlYW06OmNyZWF0ZShFeGVjU3RhdGUmIGV4
ZWMsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpCiB7Ci0g
ICAgUmVmPFJlYWRhYmxlSlNTdHJlYW06OlNvdXJjZT4gc291cmNlID0gUmVhZGFibGVKU1N0cmVh
bTo6U291cmNlOjpjcmVhdGUoZXhlYyk7Ci0gICAgUmVmPFJlYWRhYmxlSlNTdHJlYW0+IHJlYWRh
YmxlU3RyZWFtID0gYWRvcHRSZWYoKm5ldyBSZWFkYWJsZUpTU3RyZWFtKHNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQsIFdURjo6bW92ZShzb3VyY2UpKSk7CisgICAgQVNTRVJUX1dJVEhfTUVTU0FHRSgh
ZXhlYy5hcmd1bWVudENvdW50KCkgfHwgZXhlYy5hcmd1bWVudCgwKS5pc09iamVjdCgpLCAiQ2Fs
bGVyIG9mIFJlYWRhYmxlSlNTdHJlYW0gY29uc3RydWN0b3Igc2hvdWxkIGVuc3VyZSB0aGF0IHBh
c3NlZCBhcmd1bWVudCBpZiBhbnkgaXMgYW4gb2JqZWN0LiIpOworICAgIEpTT2JqZWN0KiBzb3Vy
Y2UgPSAgZXhlYy5hcmd1bWVudENvdW50KCkgPyBleGVjLmFyZ3VtZW50KDApLmdldE9iamVjdCgp
IDogSlNGaW5hbE9iamVjdDo6Y3JlYXRlKGV4ZWMudm0oKSwgSlNGaW5hbE9iamVjdDo6Y3JlYXRl
U3RydWN0dXJlKGV4ZWMudm0oKSwgZXhlYy5jYWxsZWUoKS0+Z2xvYmFsT2JqZWN0KCksIGpzTnVs
bCgpLCAxKSk7CiAKLSAgICByZWFkYWJsZVN0cmVhbS0+anNTb3VyY2UoKS5zdGFydChleGVjLCBy
ZWFkYWJsZVN0cmVhbS5nZXQoKSk7CisgICAgUmVmPFJlYWRhYmxlSlNTdHJlYW0+IHJlYWRhYmxl
U3RyZWFtID0gYWRvcHRSZWYoKm5ldyBSZWFkYWJsZUpTU3RyZWFtKHNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQsIGV4ZWMsIHNvdXJjZSkpOworICAgIHJlYWRhYmxlU3RyZWFtLT5kb1N0YXJ0KGV4ZWMp
OwogICAgIHJldHVybiByZWFkYWJsZVN0cmVhbTsKIH0KIAotUmVhZGFibGVKU1N0cmVhbTo6UmVh
ZGFibGVKU1N0cmVhbShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBzY3JpcHRFeGVjdXRpb25Db250
ZXh0LCBSZWY8UmVhZGFibGVKU1N0cmVhbTo6U291cmNlPiYmIHNvdXJjZSkKLSAgICA6IFJlYWRh
YmxlU3RyZWFtKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIFdURjo6bW92ZShzb3VyY2UpKQotewot
fQotCi1SZWFkYWJsZUpTU3RyZWFtOjpTb3VyY2UmIFJlYWRhYmxlSlNTdHJlYW06OmpzU291cmNl
KCkKK1JlYWRhYmxlSlNTdHJlYW06OlJlYWRhYmxlSlNTdHJlYW0oU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgRXhlY1N0YXRlJiBleGVjLCBKU09iamVjdCog
c291cmNlKQorICAgIDogUmVhZGFibGVTdHJlYW0oc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkKIHsK
LSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8UmVhZGFibGVKU1N0cmVhbTo6U291cmNlJj4oc291cmNl
KCkpOworICAgIG1fc291cmNlLnNldChleGVjLnZtKCksIHNvdXJjZSk7CiB9CiAKIEpTVmFsdWUg
UmVhZGFibGVKU1N0cmVhbTo6anNDb250cm9sbGVyKEV4ZWNTdGF0ZSYgZXhlYywgSlNET01HbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1JlYWRhYmxlSlNTdHJlYW0uaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Jl
YWRhYmxlSlNTdHJlYW0uaAppbmRleCA2OGFiODlhNmQ2ZjY0YTM5ZjZhZTUxMDM4N2YwMjZhODAw
MTZkZTdkLi42YzU3MmZlMDAyYTU5MTdhZThlMjFlMTI2YzQ3MmUyZDUxNDM4NjQwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9SZWFkYWJsZUpTU3RyZWFtLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvUmVhZGFibGVKU1N0cmVhbS5oCkBAIC0zMyw4ICsz
Myw2IEBACiAjaWYgRU5BQkxFKFNUUkVBTVNfQVBJKQogCiAjaW5jbHVkZSAiUmVhZGFibGVTdHJl
YW0uaCIKLSNpbmNsdWRlICJSZWFkYWJsZVN0cmVhbVJlYWRlci5oIgotI2luY2x1ZGUgIlJlYWRh
YmxlU3RyZWFtU291cmNlLmgiCiAjaW5jbHVkZSA8aGVhcC9TdHJvbmcuaD4KICNpbmNsdWRlIDxo
ZWFwL1N0cm9uZ0lubGluZXMuaD4KICNpbmNsdWRlIDxydW50aW1lL0pTQ0pTVmFsdWUuaD4KQEAg
LTQ3LDM3ICs0NSwyNyBAQCBjbGFzcyBKU0RPTUdsb2JhbE9iamVjdDsKIGNsYXNzIFJlYWRhYmxl
U3RyZWFtQ29udHJvbGxlcjsKIAogY2xhc3MgUmVhZGFibGVKU1N0cmVhbTogcHVibGljIFJlYWRh
YmxlU3RyZWFtIHsKLXByaXZhdGU6Ci0gICAgY2xhc3MgU291cmNlOiBwdWJsaWMgUmVhZGFibGVT
dHJlYW1Tb3VyY2UgewotICAgIHB1YmxpYzoKLSAgICAgICAgc3RhdGljIFJlZjxTb3VyY2U+IGNy
ZWF0ZShKU0M6OkV4ZWNTdGF0ZSYpOwotCi0gICAgICAgIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QoKTsKLSAgICAgICAgdm9pZCBzdGFydChKU0M6OkV4ZWNTdGF0ZSYsIFJlYWRhYmxl
SlNTdHJlYW0mKTsKLQotICAgIHByaXZhdGU6Ci0gICAgICAgIFNvdXJjZShKU0M6OkV4ZWNTdGF0
ZSYpOwotCi0gICAgICAgIEpTQzo6U3Ryb25nPEpTQzo6SlNPYmplY3Q+IG1fc291cmNlOwotICAg
IH07Ci0KIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFJlYWRhYmxlSlNTdHJlYW0+IGNyZWF0ZShK
U0M6OkV4ZWNTdGF0ZSYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKTsKIAotICAgIFJlYWRhYmxl
SlNTdHJlYW06OlNvdXJjZSYganNTb3VyY2UoKTsKICAgICBKU0M6OkpTVmFsdWUganNDb250cm9s
bGVyKEpTQzo6RXhlY1N0YXRlJiwgSlNET01HbG9iYWxPYmplY3QqKTsKIAogICAgIHZvaWQgc3Rv
cmVFcnJvcihKU0M6OkV4ZWNTdGF0ZSYpOwogICAgIEpTQzo6SlNWYWx1ZSBlcnJvcigpIHsgcmV0
dXJuIG1fZXJyb3IuZ2V0KCk7IH0KIAogcHJpdmF0ZToKLSAgICBSZWFkYWJsZUpTU3RyZWFtKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBSZWY8UmVhZGFibGVKU1N0cmVhbTo6U291cmNlPiYmKTsK
KyAgICBSZWFkYWJsZUpTU3RyZWFtKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBKU0M6OkV4ZWNT
dGF0ZSYsIEpTQzo6SlNPYmplY3QqKTsKKworICAgIHZvaWQgZG9TdGFydChKU0M6OkV4ZWNTdGF0
ZSYpOwogCiAgICAgdmlydHVhbCBib29sIGhhc1ZhbHVlKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAg
dmlydHVhbCBKU0M6OkpTVmFsdWUgcmVhZCgpIG92ZXJyaWRlOwogCisgICAgSlNET01HbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCgpOworCiAgICAgc3RkOjp1bmlxdWVfcHRyPFJlYWRhYmxlU3Ry
ZWFtQ29udHJvbGxlcj4gbV9jb250cm9sbGVyOwogICAgIEpTQzo6U3Ryb25nPEpTQzo6VW5rbm93
bj4gbV9lcnJvcjsKKyAgICBKU0M6OlN0cm9uZzxKU0M6OkpTT2JqZWN0PiBtX3NvdXJjZTsKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
</data>

          </attachment>
      

    </bug>

</bugzilla>