<?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>188206</bug_id>
          
          <creation_ts>2018-07-31 14:54:33 -0700</creation_ts>
          <short_desc>[Curl] Change synchronous request logic using MessageQueue to match with Mac port.</short_desc>
          <delta_ts>2018-08-01 20:32:44 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Basuke Suzuki">basuke</reporter>
          <assigned_to name="Basuke Suzuki">basuke</assigned_to>
          <cc>achristensen</cc>
    
    <cc>basuke</cc>
    
    <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fujii</cc>
    
    <cc>galpeter</cc>
    
    <cc>lforschler</cc>
    
    <cc>pvollan</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1446671</commentid>
    <comment_count>0</comment_count>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2018-07-31 14:54:33 -0700</bug_when>
    <thetext>Current implementation uses main thread for synchronous communication. That flow is very different from main logic of CurlRequest. It should be simplified and much more same code should be used for both async and sync communications.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1446957</commentid>
    <comment_count>1</comment_count>
      <attachid>346294</attachid>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2018-08-01 13:43:26 -0700</bug_when>
    <thetext>Created attachment 346294
PATCH</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1446998</commentid>
    <comment_count>2</comment_count>
      <attachid>346294</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-08-01 14:36:55 -0700</bug_when>
    <thetext>Comment on attachment 346294
PATCH

Clearing flags on attachment: 346294

Committed r234480: &lt;https://trac.webkit.org/changeset/234480&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1446999</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-08-01 14:36:56 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1447148</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-08-01 20:32:44 -0700</bug_when>
    <thetext>&lt;rdar://problem/42840444&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>346294</attachid>
            <date>2018-08-01 13:43:26 -0700</date>
            <delta_ts>2018-08-01 14:36:55 -0700</delta_ts>
            <desc>PATCH</desc>
            <filename>188206.diff</filename>
            <type>text/plain</type>
            <size>17585</size>
            <attacher name="Basuke Suzuki">basuke</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBiZmVmNjM5MGE3Yi4uODMwNWI3ZmFkZjggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0NCBAQAorMjAxOC0wOC0wMSAgQmFzdWtlIFN1enVraSAgPEJhc3VrZS5TdXp1a2lAc29u
eS5jb20+CisKKyAgICAgICAgW0N1cmxdIENoYW5nZSBzeW5jaHJvbm91cyByZXF1ZXN0IGxvZ2lj
IHVzaW5nIE1lc3NhZ2VRdWV1ZSB0byBtYXRjaCB3aXRoIE1hYyBwb3J0LgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg4MjA2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUG9ydCBzeW5jaHJvbm91cyByZXF1
ZXN0IGxvZ2ljIGZyb20gUmVzb3VyY2VIYW5kbGVNYWMgdG8gdXNlIE1lc3NhZ2VRdWV1ZSBmb3IK
KyAgICAgICAgY2xpZW50IGNhbGxiYWNrIGludm9jYXRpb24uIFRoaXMgbWFrZXMgc2ltcGxpZnkg
dGhlIGxvZ2ljIG9mIEN1cmxSZXF1ZXN0IGJlY2F1c2UKKyAgICAgICAgbm93IGV2ZXJ5IHJlcXVl
c3RzIGFyZSBoYW5kbGVkIGluIEN1cmwgdGhyZWFkIGFuZCB0aGVyZSdzIG5vIGRpZmZlcmVuY2Ug
YmV0d2VlbgorICAgICAgICBzeW5jIGFuZCBhc3luYyByZXF1ZXN0cy4KKworICAgICAgICBUZXN0
OiBDb3ZlcmVkIGJ5IHRoZXNlIHRlc3RzOgorICAgICAgICAtIGh0dHBcdGVzdHNceG1saHR0cHJl
cXVlc3Rcc2ltcGxlLXN5bmMuaHRtbAorICAgICAgICAtIGh0dHBcdGVzdHNceG1saHR0cHJlcXVl
c3RceG1saHR0cHJlcXVlc3QtdW5zYWZlLXJlZGlyZWN0Lmh0bWwKKworICAgICAgICAqIHBsYXRm
b3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oOgorICAgICAgICAqIHBsYXRmb3Jt
L25ldHdvcmsvY3VybC9DdXJsUmVxdWVzdC5jcHA6IFJlbW92ZSBzeW5jaHJvbm91cyByZXF1ZXN0
IGxvZ2ljcy4KKyAgICAgICAgKFdlYkNvcmU6OkN1cmxSZXF1ZXN0OjpDdXJsUmVxdWVzdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpDdXJsUmVxdWVzdDo6aW52YWxpZGF0ZUNsaWVudCk6CisgICAgICAg
IChXZWJDb3JlOjpDdXJsUmVxdWVzdDo6c3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6Q3VybFJl
cXVlc3Q6OmNhbmNlbCk6CisgICAgICAgIChXZWJDb3JlOjpDdXJsUmVxdWVzdDo6cnVuT25NYWlu
VGhyZWFkKTogQWRkZWQgbWVzc2FnZSBxdWV1ZSBoYW5kbGluZy4KKyAgICAgICAgKFdlYkNvcmU6
OkN1cmxSZXF1ZXN0OjpydW5PbldvcmtlclRocmVhZElmUmVxdWlyZWQpOgorICAgICAgICAoV2Vi
Q29yZTo6Q3VybFJlcXVlc3Q6OmRpZFJlY2VpdmVEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OkN1
cmxSZXF1ZXN0OjppbnZva2VEaWRSZWNlaXZlUmVzcG9uc2VGb3JGaWxlKToKKyAgICAgICAgKFdl
YkNvcmU6OkN1cmxSZXF1ZXN0Ojpjb21wbGV0ZURpZFJlY2VpdmVSZXNwb25zZSk6CisgICAgICAg
IChXZWJDb3JlOjpDdXJsUmVxdWVzdDo6dXBkYXRlSGFuZGxlUGF1c2VTdGF0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpDdXJsUmVxdWVzdDo6aXNIYW5kbGVQYXVzZWQgY29uc3QpOgorICAgICAgICAq
IHBsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsUmVxdWVzdC5oOgorICAgICAgICAoV2ViQ29yZTo6
Q3VybFJlcXVlc3Q6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDdXJsUmVxdWVzdDo6cmVz
b3VyY2VSZXF1ZXN0IGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2N1cmwvUmVz
b3VyY2VIYW5kbGVDdXJsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpj
cmVhdGVDdXJsUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6cmVz
dGFydFJlcXVlc3RXaXRoQ3JlZGVudGlhbCk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhh
bmRsZTo6cGxhdGZvcm1Mb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KToKKyAgICAgICAgKFdlYkNv
cmU6OlJlc291cmNlSGFuZGxlOjpwbGF0Zm9ybUNvbnRpbnVlU3luY2hyb25vdXNEaWRSZWNlaXZl
UmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OmNvbnRpbnVlQWZ0
ZXJEaWRSZWNlaXZlUmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6
OmNvbnRpbnVlQWZ0ZXJXaWxsU2VuZFJlcXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3Vy
Y2VIYW5kbGU6OmhhbmRsZURhdGFVUkwpOgorCiAyMDE4LTA3LTI4ICBEYXJpbiBBZGxlciAgPGRh
cmluQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ29jb2FdIFVwZGF0ZSBtb3JlIFdlYkNvcmUgT2Jq
ZWN0aXZlLUMgY29kZSB0byBiZSBBUkMgY29tcGF0aWJsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJuYWwuaAppbmRleCBj
NjY2MDFhMTVmMC4uNzdlMjZlNzMxN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oCkBAIC0zOSw2ICszOSw3
IEBACiAKICNpZiBVU0UoQ1VSTCkKICNpbmNsdWRlICJDdXJsUmVxdWVzdC5oIgorI2luY2x1ZGUg
PHd0Zi9NZXNzYWdlUXVldWUuaD4KICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCkBAIC0x
MjMsNiArMTI0LDcgQEAgcHVibGljOgogICAgIHVuc2lnbmVkIG1fYXV0aEZhaWx1cmVDb3VudCB7
IDAgfTsKICAgICBib29sIG1fYWRkZWRDYWNoZVZhbGlkYXRpb25IZWFkZXJzIHsgZmFsc2UgfTsK
ICAgICBSZWZQdHI8Q3VybFJlcXVlc3Q+IG1fY3VybFJlcXVlc3Q7CisgICAgTWVzc2FnZVF1ZXVl
PFdURjo6RnVuY3Rpb248dm9pZCgpPj4qIG1fbWVzc2FnZVF1ZXVlIHsgfTsKICNlbmRpZgogCiAj
aWYgUExBVEZPUk0oQ09DT0EpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL2N1cmwvQ3VybFJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9jdXJsL0N1cmxSZXF1ZXN0LmNwcAppbmRleCBmYWIxMzhmZmRjYS4uN2U0OTA3NjIwYmQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsUmVx
dWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxS
ZXF1ZXN0LmNwcApAQCAtMzgsMTQgKzM4LDEzIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
c3RhdGljIHZvaWQgcnVuT25NYWluVGhyZWFkKEZ1bmN0aW9uPHZvaWQoKT4mJiB0YXNrKTsKLQot
Q3VybFJlcXVlc3Q6OkN1cmxSZXF1ZXN0KGNvbnN0IFJlc291cmNlUmVxdWVzdCZyZXF1ZXN0LCBD
dXJsUmVxdWVzdENsaWVudCogY2xpZW50LCBib29sIHNob3VsZFN1c3BlbmQsIGJvb2wgZW5hYmxl
TXVsdGlwYXJ0KQorQ3VybFJlcXVlc3Q6OkN1cmxSZXF1ZXN0KGNvbnN0IFJlc291cmNlUmVxdWVz
dCZyZXF1ZXN0LCBDdXJsUmVxdWVzdENsaWVudCogY2xpZW50LCBib29sIHNob3VsZFN1c3BlbmQs
IGJvb2wgZW5hYmxlTXVsdGlwYXJ0LCBNZXNzYWdlUXVldWU8RnVuY3Rpb248dm9pZCgpPj4qIG1l
c3NhZ2VRdWV1ZSkKICAgICA6IG1fcmVxdWVzdChyZXF1ZXN0Lmlzb2xhdGVkQ29weSgpKQogICAg
ICwgbV9jbGllbnQoY2xpZW50KQogICAgICwgbV9zaG91bGRTdXNwZW5kKHNob3VsZFN1c3BlbmQp
CiAgICAgLCBtX2VuYWJsZU11bHRpcGFydChlbmFibGVNdWx0aXBhcnQpCiAgICAgLCBtX2Zvcm1E
YXRhU3RyZWFtKG1fcmVxdWVzdC5odHRwQm9keSgpKQorICAgICwgbV9tZXNzYWdlUXVldWUobWVz
c2FnZVF1ZXVlKQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiB9CkBAIC01NSw2ICs1
NCw3IEBAIHZvaWQgQ3VybFJlcXVlc3Q6OmludmFsaWRhdGVDbGllbnQoKQogICAgIEFTU0VSVChp
c01haW5UaHJlYWQoKSk7CiAKICAgICBtX2NsaWVudCA9IG51bGxwdHI7CisgICAgbV9tZXNzYWdl
UXVldWUgPSBudWxscHRyOwogfQogCiB2b2lkIEN1cmxSZXF1ZXN0OjpzZXRVc2VyUGFzcyhjb25z
dCBTdHJpbmcmIHVzZXIsIGNvbnN0IFN0cmluZyYgcGFzc3dvcmQpCkBAIC02NSw3ICs2NSw3IEBA
IHZvaWQgQ3VybFJlcXVlc3Q6OnNldFVzZXJQYXNzKGNvbnN0IFN0cmluZyYgdXNlciwgY29uc3Qg
U3RyaW5nJiBwYXNzd29yZCkKICAgICBtX3Bhc3N3b3JkID0gcGFzc3dvcmQuaXNvbGF0ZWRDb3B5
KCk7CiB9CiAKLXZvaWQgQ3VybFJlcXVlc3Q6OnN0YXJ0KGJvb2wgaXNTeW5jUmVxdWVzdCkKK3Zv
aWQgQ3VybFJlcXVlc3Q6OnN0YXJ0KCkKIHsKICAgICAvLyBUaGUgcGF1c2luZyBvZiB0cmFuc2Zl
ciBkb2VzIG5vdCB3b3JrIHdpdGggcHJvdG9jb2xzLCBsaWtlIGZpbGU6Ly8uCiAgICAgLy8gVGhl
cmVmb3JlLCBQQVVTRSBjYW4gbm90IGJlIGRvbmUgaW4gZGlkUmVjZWl2ZURhdGEoKS4KQEAgLTc4
LDI4ICs3OCwxMiBAQCB2b2lkIEN1cmxSZXF1ZXN0OjpzdGFydChib29sIGlzU3luY1JlcXVlc3Qp
CiAKICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwogCi0gICAgbV9pc1N5bmNSZXF1ZXN0ID0g
aXNTeW5jUmVxdWVzdDsKLQogICAgIGF1dG8gdXJsID0gbV9yZXF1ZXN0LnVybCgpLmlzb2xhdGVk
Q29weSgpOwogCi0gICAgaWYgKCFtX2lzU3luY1JlcXVlc3QpIHsKLSAgICAgICAgLy8gRm9yIGFz
eW5jaHJvbm91cywgdXNlIEN1cmxSZXF1ZXN0U2NoZWR1bGVyLiBDdXJsIHByb2Nlc3NlcyBydW5z
IG9uIHN1YiB0aHJlYWQuCi0gICAgICAgIGlmICh1cmwuaXNMb2NhbEZpbGUoKSkKLSAgICAgICAg
ICAgIGludm9rZURpZFJlY2VpdmVSZXNwb25zZUZvckZpbGUodXJsKTsKLSAgICAgICAgZWxzZQot
ICAgICAgICAgICAgc3RhcnRXaXRoSm9iTWFuYWdlcigpOwotICAgIH0gZWxzZSB7Ci0gICAgICAg
IC8vIEZvciBzeW5jaHJvbm91cywgZG9lcyBub3QgdXNlIEN1cmxSZXF1ZXN0U2NoZWR1bGVyLiBD
dXJsIHByb2Nlc3NlcyBydW5zIG9uIG1haW4gdGhyZWFkLgotICAgICAgICAvLyBjdXJsX2Vhc3lf
cGVyZm9ybSBibG9ja3MgdW50aWwgdGhlIHRyYW5zZmVyIGlzIGZpbmlzaGVkLgotICAgICAgICBy
ZXRhaW4oKTsKLSAgICAgICAgaWYgKHVybC5pc0xvY2FsRmlsZSgpKQotICAgICAgICAgICAgaW52
b2tlRGlkUmVjZWl2ZVJlc3BvbnNlRm9yRmlsZSh1cmwpOwotCi0gICAgICAgIHNldHVwVHJhbnNm
ZXIoKTsKLSAgICAgICAgQ1VSTGNvZGUgcmVzdWx0Q29kZSA9IG1fY3VybEhhbmRsZS0+cGVyZm9y
bSgpOwotICAgICAgICBkaWRDb21wbGV0ZVRyYW5zZmVyKHJlc3VsdENvZGUpOwotICAgICAgICBy
ZWxlYXNlKCk7Ci0gICAgfQorICAgIGlmICh1cmwuaXNMb2NhbEZpbGUoKSkKKyAgICAgICAgaW52
b2tlRGlkUmVjZWl2ZVJlc3BvbnNlRm9yRmlsZSh1cmwpOworICAgIGVsc2UKKyAgICAgICAgc3Rh
cnRXaXRoSm9iTWFuYWdlcigpOwogfQogCiB2b2lkIEN1cmxSZXF1ZXN0OjpzdGFydFdpdGhKb2JN
YW5hZ2VyKCkKQEAgLTExOCwxOSArMTAyLDE0IEBAIHZvaWQgQ3VybFJlcXVlc3Q6OmNhbmNlbCgp
CiAKICAgICBtX2NhbmNlbGxlZCA9IHRydWU7CiAKLSAgICBpZiAoIW1faXNTeW5jUmVxdWVzdCkg
ewotICAgICAgICBhdXRvJiBzY2hlZHVsZXIgPSBDdXJsQ29udGV4dDo6c2luZ2xldG9uKCkuc2No
ZWR1bGVyKCk7CisgICAgYXV0byYgc2NoZWR1bGVyID0gQ3VybENvbnRleHQ6OnNpbmdsZXRvbigp
LnNjaGVkdWxlcigpOwogCi0gICAgICAgIGlmIChuZWVkVG9JbnZva2VEaWRDYW5jZWxUcmFuc2Zl
cigpKSB7Ci0gICAgICAgICAgICBydW5PbldvcmtlclRocmVhZElmUmVxdWlyZWQoW3RoaXMsIHBy
b3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKV0oKSB7Ci0gICAgICAgICAgICAgICAgZGlkQ2Fu
Y2VsVHJhbnNmZXIoKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9IGVsc2UKLSAgICAgICAg
ICAgIHNjaGVkdWxlci5jYW5jZWwodGhpcyk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgaWYgKG5l
ZWRUb0ludm9rZURpZENhbmNlbFRyYW5zZmVyKCkpCisgICAgaWYgKG5lZWRUb0ludm9rZURpZENh
bmNlbFRyYW5zZmVyKCkpIHsKKyAgICAgICAgcnVuT25Xb3JrZXJUaHJlYWRJZlJlcXVpcmVkKFt0
aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyldKCkgewogICAgICAgICAgICAgZGlk
Q2FuY2VsVHJhbnNmZXIoKTsKLSAgICB9CisgICAgICAgIH0pOworICAgIH0gZWxzZQorICAgICAg
ICBzY2hlZHVsZXIuY2FuY2VsKHRoaXMpOwogCiAgICAgaW52YWxpZGF0ZUNsaWVudCgpOwogfQpA
QCAtMTU4LDkgKzEzNywxMSBAQCB2b2lkIEN1cmxSZXF1ZXN0OjpjYWxsQ2xpZW50KEZ1bmN0aW9u
PHZvaWQoQ3VybFJlcXVlc3QmLCBDdXJsUmVxdWVzdENsaWVudCYpPiYmCiAgICAgfSk7CiB9CiAK
LXN0YXRpYyB2b2lkIHJ1bk9uTWFpblRocmVhZChGdW5jdGlvbjx2b2lkKCk+JiYgdGFzaykKK3Zv
aWQgQ3VybFJlcXVlc3Q6OnJ1bk9uTWFpblRocmVhZChGdW5jdGlvbjx2b2lkKCk+JiYgdGFzaykK
IHsKLSAgICBpZiAoaXNNYWluVGhyZWFkKCkpCisgICAgaWYgKG1fbWVzc2FnZVF1ZXVlKQorICAg
ICAgICBtX21lc3NhZ2VRdWV1ZS0+YXBwZW5kKHN0ZDo6bWFrZV91bmlxdWU8RnVuY3Rpb248dm9p
ZCgpPj4oV1RGTW92ZSh0YXNrKSkpOworICAgIGVsc2UgaWYgKGlzTWFpblRocmVhZCgpKQogICAg
ICAgICB0YXNrKCk7CiAgICAgZWxzZQogICAgICAgICBjYWxsT25NYWluVGhyZWFkKFdURk1vdmUo
dGFzaykpOwpAQCAtMTY4LDcgKzE0OSw3IEBAIHN0YXRpYyB2b2lkIHJ1bk9uTWFpblRocmVhZChG
dW5jdGlvbjx2b2lkKCk+JiYgdGFzaykKIAogdm9pZCBDdXJsUmVxdWVzdDo6cnVuT25Xb3JrZXJU
aHJlYWRJZlJlcXVpcmVkKEZ1bmN0aW9uPHZvaWQoKT4mJiB0YXNrKQogewotICAgIGlmIChpc01h
aW5UaHJlYWQoKSAmJiAhbV9pc1N5bmNSZXF1ZXN0KQorICAgIGlmIChpc01haW5UaHJlYWQoKSkK
ICAgICAgICAgQ3VybENvbnRleHQ6OnNpbmdsZXRvbigpLnNjaGVkdWxlcigpLmNhbGxPbldvcmtl
clRocmVhZChXVEZNb3ZlKHRhc2spKTsKICAgICBlbHNlCiAgICAgICAgIHRhc2soKTsKQEAgLTMz
MiwxOSArMzEzLDEzIEBAIHNpemVfdCBDdXJsUmVxdWVzdDo6ZGlkUmVjZWl2ZURhdGEoUmVmPFNo
YXJlZEJ1ZmZlcj4mJiBidWZmZXIpCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgaWYgKG5lZWRU
b0ludm9rZURpZFJlY2VpdmVSZXNwb25zZSgpKSB7Ci0gICAgICAgIGlmICghbV9pc1N5bmNSZXF1
ZXN0KSB7Ci0gICAgICAgICAgICAvLyBGb3IgYXN5bmNocm9ub3VzLCBwYXVzZSB1bnRpbCBjb21w
bGV0ZURpZFJlY2VpdmVSZXNwb25zZSgpIGlzIGNhbGxlZC4KLSAgICAgICAgICAgIHNldENhbGxi
YWNrUGF1c2VkKHRydWUpOwotICAgICAgICAgICAgaW52b2tlRGlkUmVjZWl2ZVJlc3BvbnNlKG1f
cmVzcG9uc2UsIEFjdGlvbjo6UmVjZWl2ZURhdGEpOwotICAgICAgICAgICAgLy8gQmVjYXVzZSBs
aWJjdXJsIHBhdXNlcyB0aGUgaGFuZGxlIGFmdGVyIHJldHVybmluZyB0aGlzIENVUkxfV1JJVEVG
VU5DX1BBVVNFLAotICAgICAgICAgICAgLy8gd2UgbmVlZCB0byB1cGRhdGUgaXRzIHN0YXRlIGhl
cmUuCi0gICAgICAgICAgICB1cGRhdGVIYW5kbGVQYXVzZVN0YXRlKHRydWUpOwotICAgICAgICAg
ICAgcmV0dXJuIENVUkxfV1JJVEVGVU5DX1BBVVNFOwotICAgICAgICB9Ci0KLSAgICAgICAgLy8g
Rm9yIHN5bmNocm9ub3VzLCBjb21wbGV0ZURpZFJlY2VpdmVSZXNwb25zZSgpIGlzIGNhbGxlZCBp
biBpbnZva2VEaWRSZWNlaXZlUmVzcG9uc2UoKS4KLSAgICAgICAgLy8gSW4gdGhpcyBjYXNlLCBw
YXVzZSBpcyB1bm5lY2Vzc2FyeS4KLSAgICAgICAgaW52b2tlRGlkUmVjZWl2ZVJlc3BvbnNlKG1f
cmVzcG9uc2UsIEFjdGlvbjo6Tm9uZSk7CisgICAgICAgIC8vIFBhdXNlIHVudGlsIGNvbXBsZXRl
RGlkUmVjZWl2ZVJlc3BvbnNlKCkgaXMgY2FsbGVkLgorICAgICAgICBzZXRDYWxsYmFja1BhdXNl
ZCh0cnVlKTsKKyAgICAgICAgaW52b2tlRGlkUmVjZWl2ZVJlc3BvbnNlKG1fcmVzcG9uc2UsIEFj
dGlvbjo6UmVjZWl2ZURhdGEpOworICAgICAgICAvLyBCZWNhdXNlIGxpYmN1cmwgcGF1c2VzIHRo
ZSBoYW5kbGUgYWZ0ZXIgcmV0dXJuaW5nIHRoaXMgQ1VSTF9XUklURUZVTkNfUEFVU0UsCisgICAg
ICAgIC8vIHdlIG5lZWQgdG8gdXBkYXRlIGl0cyBzdGF0ZSBoZXJlLgorICAgICAgICB1cGRhdGVI
YW5kbGVQYXVzZVN0YXRlKHRydWUpOworICAgICAgICByZXR1cm4gQ1VSTF9XUklURUZVTkNfUEFV
U0U7CiAgICAgfQogCiAgICAgYXV0byByZWNlaXZlQnl0ZXMgPSBidWZmZXItPnNpemUoKTsKQEAg
LTUxNywxNSArNDkyLDEwIEBAIHZvaWQgQ3VybFJlcXVlc3Q6Omludm9rZURpZFJlY2VpdmVSZXNw
b25zZUZvckZpbGUoVVJMJiB1cmwpCiAgICAgLy8gRGV0ZXJtaW5lIHRoZSBNSU1FIHR5cGUgYmFz
ZWQgb24gdGhlIHBhdGguCiAgICAgbV9yZXNwb25zZS5oZWFkZXJzLmFwcGVuZChTdHJpbmcoIkNv
bnRlbnQtVHlwZTogIiArIE1JTUVUeXBlUmVnaXN0cnk6OmdldE1JTUVUeXBlRm9yUGF0aChtX3Jl
c3BvbnNlLnVybC5wYXRoKCkpKSk7CiAKLSAgICBpZiAoIW1faXNTeW5jUmVxdWVzdCkgewotICAg
ICAgICAvLyBEaWRSZWNlaXZlUmVzcG9uc2UgbXVzdCBub3QgYmUgY2FsbGVkIGltbWVkaWF0ZWx5
Ci0gICAgICAgIHJ1bk9uV29ya2VyVGhyZWFkSWZSZXF1aXJlZChbdGhpcywgcHJvdGVjdGVkVGhp
cyA9IG1ha2VSZWYoKnRoaXMpXSgpIHsKLSAgICAgICAgICAgIGludm9rZURpZFJlY2VpdmVSZXNw
b25zZShtX3Jlc3BvbnNlLCBBY3Rpb246OlN0YXJ0VHJhbnNmZXIpOwotICAgICAgICB9KTsKLSAg
ICB9IGVsc2UgewotICAgICAgICAvLyBGb3Igc3luY2hyb25vdXMsIGNvbXBsZXRlRGlkUmVjZWl2
ZVJlc3BvbnNlKCkgaXMgY2FsbGVkIGluIHBsYXRmb3JtQ29udGludWVTeW5jaHJvbm91c0RpZFJl
Y2VpdmVSZXNwb25zZSgpLgotICAgICAgICBpbnZva2VEaWRSZWNlaXZlUmVzcG9uc2UobV9yZXNw
b25zZSwgQWN0aW9uOjpOb25lKTsKLSAgICB9CisgICAgLy8gRGlkUmVjZWl2ZVJlc3BvbnNlIG11
c3Qgbm90IGJlIGNhbGxlZCBpbW1lZGlhdGVseQorICAgIHJ1bk9uV29ya2VyVGhyZWFkSWZSZXF1
aXJlZChbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpXSgpIHsKKyAgICAgICAg
aW52b2tlRGlkUmVjZWl2ZVJlc3BvbnNlKG1fcmVzcG9uc2UsIEFjdGlvbjo6U3RhcnRUcmFuc2Zl
cik7CisgICAgfSk7CiB9CiAKIHZvaWQgQ3VybFJlcXVlc3Q6Omludm9rZURpZFJlY2VpdmVSZXNw
b25zZShjb25zdCBDdXJsUmVzcG9uc2UmIHJlc3BvbnNlLCBBY3Rpb24gYmVoYXZpb3JBZnRlcklu
dm9rZSkKQEAgLTU2MSwxMiArNTMxLDkgQEAgdm9pZCBDdXJsUmVxdWVzdDo6Y29tcGxldGVEaWRS
ZWNlaXZlUmVzcG9uc2UoKQogICAgICAgICAvLyBTdGFydCB0cmFuc2ZlciBmb3IgZmlsZSBzY2hl
bWUKICAgICAgICAgc3RhcnRXaXRoSm9iTWFuYWdlcigpOwogICAgIH0gZWxzZSBpZiAobV9hY3Rp
b25BZnRlckludm9rZSA9PSBBY3Rpb246OkZpbmlzaFRyYW5zZmVyKSB7Ci0gICAgICAgIGlmICgh
bV9pc1N5bmNSZXF1ZXN0KSB7Ci0gICAgICAgICAgICBydW5PbldvcmtlclRocmVhZElmUmVxdWly
ZWQoW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgZmluaXNoZWRSZXN1bHRD
b2RlID0gbV9maW5pc2hlZFJlc3VsdENvZGVdKCkgewotICAgICAgICAgICAgICAgIGRpZENvbXBs
ZXRlVHJhbnNmZXIoZmluaXNoZWRSZXN1bHRDb2RlKTsKLSAgICAgICAgICAgIH0pOwotICAgICAg
ICB9IGVsc2UKLSAgICAgICAgICAgIGRpZENvbXBsZXRlVHJhbnNmZXIobV9maW5pc2hlZFJlc3Vs
dENvZGUpOworICAgICAgICBydW5PbldvcmtlclRocmVhZElmUmVxdWlyZWQoW3RoaXMsIHByb3Rl
Y3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgZmluaXNoZWRSZXN1bHRDb2RlID0gbV9maW5pc2hl
ZFJlc3VsdENvZGVdKCkgeworICAgICAgICAgICAgZGlkQ29tcGxldGVUcmFuc2ZlcihmaW5pc2hl
ZFJlc3VsdENvZGUpOworICAgICAgICB9KTsKICAgICB9CiB9CiAKQEAgLTY0MiwxMyArNjA5LDEz
IEBAIHZvaWQgQ3VybFJlcXVlc3Q6OnBhdXNlZFN0YXR1c0NoYW5nZWQoKQogCiB2b2lkIEN1cmxS
ZXF1ZXN0Ojp1cGRhdGVIYW5kbGVQYXVzZVN0YXRlKGJvb2wgcGF1c2VkKQogewotICAgIEFTU0VS
VCghaXNNYWluVGhyZWFkKCkgfHwgbV9pc1N5bmNSZXF1ZXN0KTsKKyAgICBBU1NFUlQoIWlzTWFp
blRocmVhZCgpKTsKICAgICBtX2lzSGFuZGxlUGF1c2VkID0gcGF1c2VkOwogfQogCiBib29sIEN1
cmxSZXF1ZXN0Ojppc0hhbmRsZVBhdXNlZCgpIGNvbnN0CiB7Ci0gICAgQVNTRVJUKCFpc01haW5U
aHJlYWQoKSB8fCBtX2lzU3luY1JlcXVlc3QpOworICAgIEFTU0VSVCghaXNNYWluVGhyZWFkKCkp
OwogICAgIHJldHVybiBtX2lzSGFuZGxlUGF1c2VkOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybFJlcXVlc3QuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsUmVxdWVzdC5oCmluZGV4IDVkMTQ0NTU2NmJj
Li44ZWY4M2E3ZmI0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9jdXJsL0N1cmxSZXF1ZXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9jdXJsL0N1cmxSZXF1ZXN0LmgKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJGaWxlU3lz
dGVtLmgiCiAjaW5jbHVkZSAiTmV0d29ya0xvYWRNZXRyaWNzLmgiCiAjaW5jbHVkZSAiUmVzb3Vy
Y2VSZXF1ZXN0LmgiCisjaW5jbHVkZSA8d3RmL01lc3NhZ2VRdWV1ZS5oPgogI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01Nyw5ICs1OCw5IEBA
IHB1YmxpYzoKICAgICAgICAgWWVzID0gdHJ1ZQogICAgIH07CiAKLSAgICBzdGF0aWMgUmVmPEN1
cmxSZXF1ZXN0PiBjcmVhdGUoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBDdXJsUmVx
dWVzdENsaWVudCYgY2xpZW50LCBTaG91bGRTdXNwZW5kIHNob3VsZFN1c3BlbmQgPSBTaG91bGRT
dXNwZW5kOjpObywgRW5hYmxlTXVsdGlwYXJ0IGVuYWJsZU11bHRpcGFydCA9IEVuYWJsZU11bHRp
cGFydDo6Tm8pCisgICAgc3RhdGljIFJlZjxDdXJsUmVxdWVzdD4gY3JlYXRlKGNvbnN0IFJlc291
cmNlUmVxdWVzdCYgcmVxdWVzdCwgQ3VybFJlcXVlc3RDbGllbnQmIGNsaWVudCwgU2hvdWxkU3Vz
cGVuZCBzaG91bGRTdXNwZW5kID0gU2hvdWxkU3VzcGVuZDo6Tm8sIEVuYWJsZU11bHRpcGFydCBl
bmFibGVNdWx0aXBhcnQgPSBFbmFibGVNdWx0aXBhcnQ6Ok5vLCBNZXNzYWdlUXVldWU8RnVuY3Rp
b248dm9pZCgpPj4qIG1lc3NhZ2VRdWV1ZSA9IG51bGxwdHIpCiAgICAgewotICAgICAgICByZXR1
cm4gYWRvcHRSZWYoKm5ldyBDdXJsUmVxdWVzdChyZXF1ZXN0LCAmY2xpZW50LCBzaG91bGRTdXNw
ZW5kID09IFNob3VsZFN1c3BlbmQ6OlllcywgZW5hYmxlTXVsdGlwYXJ0ID09IEVuYWJsZU11bHRp
cGFydDo6WWVzKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEN1cmxSZXF1ZXN0KHJl
cXVlc3QsICZjbGllbnQsIHNob3VsZFN1c3BlbmQgPT0gU2hvdWxkU3VzcGVuZDo6WWVzLCBlbmFi
bGVNdWx0aXBhcnQgPT0gRW5hYmxlTXVsdGlwYXJ0OjpZZXMsIG1lc3NhZ2VRdWV1ZSkpOwogICAg
IH0KIAogICAgIHZpcnR1YWwgfkN1cmxSZXF1ZXN0KCkgPSBkZWZhdWx0OwpAQCAtNjcsMTMgKzY4
LDEyIEBAIHB1YmxpYzoKICAgICB2b2lkIGludmFsaWRhdGVDbGllbnQoKTsKICAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIHNldFVzZXJQYXNzKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYpOwog
Ci0gICAgdm9pZCBzdGFydChib29sIGlzU3luY1JlcXVlc3QgPSBmYWxzZSk7CisgICAgdm9pZCBz
dGFydCgpOwogICAgIHZvaWQgY2FuY2VsKCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzdXNw
ZW5kKCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCByZXN1bWUoKTsKIAogICAgIGNvbnN0IFJl
c291cmNlUmVxdWVzdCYgcmVzb3VyY2VSZXF1ZXN0KCkgY29uc3QgeyByZXR1cm4gbV9yZXF1ZXN0
OyB9Ci0gICAgYm9vbCBpc1N5bmNSZXF1ZXN0KCkgY29uc3QgeyByZXR1cm4gbV9pc1N5bmNSZXF1
ZXN0OyB9CiAgICAgYm9vbCBpc0NvbXBsZXRlZCgpIGNvbnN0IHsgcmV0dXJuICFtX2N1cmxIYW5k
bGU7IH0KICAgICBib29sIGlzQ2FuY2VsbGVkKCkgY29uc3QgeyByZXR1cm4gbV9jYW5jZWxsZWQ7
IH0KICAgICBib29sIGlzQ29tcGxldGVkT3JDYW5jZWxsZWQoKSBjb25zdCB7IHJldHVybiBpc0Nv
bXBsZXRlZCgpIHx8IGlzQ2FuY2VsbGVkKCk7IH0KQEAgLTk5LDcgKzk5LDcgQEAgcHJpdmF0ZToK
ICAgICAgICAgRmluaXNoVHJhbnNmZXIKICAgICB9OwogCi0gICAgQ3VybFJlcXVlc3QoY29uc3Qg
UmVzb3VyY2VSZXF1ZXN0JiwgQ3VybFJlcXVlc3RDbGllbnQqLCBib29sIHNob3VsZFN1c3BlbmQs
IGJvb2wgZW5hYmxlTXVsdGlwYXJ0KTsKKyAgICBDdXJsUmVxdWVzdChjb25zdCBSZXNvdXJjZVJl
cXVlc3QmLCBDdXJsUmVxdWVzdENsaWVudCosIGJvb2wsIGJvb2wsIE1lc3NhZ2VRdWV1ZTxGdW5j
dGlvbjx2b2lkKCk+PiopOwogCiAgICAgdm9pZCByZXRhaW4oKSBvdmVycmlkZSB7IHJlZigpOyB9
CiAgICAgdm9pZCByZWxlYXNlKCkgb3ZlcnJpZGUgeyBkZXJlZigpOyB9CkBAIC0xMDgsNiArMTA4
LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHN0YXJ0V2l0aEpvYk1hbmFnZXIoKTsKIAogICAgIHZv
aWQgY2FsbENsaWVudChGdW5jdGlvbjx2b2lkKEN1cmxSZXF1ZXN0JiwgQ3VybFJlcXVlc3RDbGll
bnQmKT4mJik7CisgICAgdm9pZCBydW5Pbk1haW5UaHJlYWQoRnVuY3Rpb248dm9pZCgpPiYmKTsK
ICAgICB2b2lkIHJ1bk9uV29ya2VyVGhyZWFkSWZSZXF1aXJlZChGdW5jdGlvbjx2b2lkKCk+JiYp
OwogCiAgICAgLy8gVHJhbnNmZXIgcHJvY2Vzc2luZyBvZiBSZXF1ZXN0IGJvZHksIFJlc3BvbnNl
IGhlYWRlci9ib2R5CkBAIC0xNTMsMTAgKzE1NCw5IEBAIHByaXZhdGU6CiAKIAogICAgIEN1cmxS
ZXF1ZXN0Q2xpZW50KiBtX2NsaWVudCB7IH07Ci0gICAgYm9vbCBtX2lzU3luY1JlcXVlc3QgeyBm
YWxzZSB9OwogICAgIGJvb2wgbV9jYW5jZWxsZWQgeyBmYWxzZSB9OworICAgIE1lc3NhZ2VRdWV1
ZTxGdW5jdGlvbjx2b2lkKCk+PiogbV9tZXNzYWdlUXVldWUgeyB9OwogCi0gICAgLy8gVXNlZCBi
eSB3b3JrZXIgdGhyZWFkIGluIGNhc2Ugb2YgYXN5bmMsIGFuZCBtYWluIHRocmVhZCBpbiBjYXNl
IG9mIHN5bmMuCiAgICAgUmVzb3VyY2VSZXF1ZXN0IG1fcmVxdWVzdDsKICAgICBTdHJpbmcgbV91
c2VyOwogICAgIFN0cmluZyBtX3Bhc3N3b3JkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9jdXJsL1Jlc291cmNlSGFuZGxlQ3VybC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVDdXJsLmNwcAppbmRleCA5
MmI3YzRlNjlkMS4uNmUwYTZlNDViZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZUhhbmRsZUN1cmwuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZUhhbmRsZUN1cmwuY3BwCkBAIC0xNDks
NyArMTQ5LDcgQEAgUmVmPEN1cmxSZXF1ZXN0PiBSZXNvdXJjZUhhbmRsZTo6Y3JlYXRlQ3VybFJl
cXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBSZXEKICAgICB9CiAKICAgICBDdXJsUmVx
dWVzdDo6U2hvdWxkU3VzcGVuZCBzaG91bGRTdXNwZW5kID0gZC0+bV9kZWZlcnNMb2FkaW5nID8g
Q3VybFJlcXVlc3Q6OlNob3VsZFN1c3BlbmQ6OlllcyA6IEN1cmxSZXF1ZXN0OjpTaG91bGRTdXNw
ZW5kOjpObzsKLSAgICBhdXRvIGN1cmxSZXF1ZXN0ID0gQ3VybFJlcXVlc3Q6OmNyZWF0ZShyZXF1
ZXN0LCAqZGVsZWdhdGUoKSwgc2hvdWxkU3VzcGVuZCwgQ3VybFJlcXVlc3Q6OkVuYWJsZU11bHRp
cGFydDo6WWVzKTsKKyAgICBhdXRvIGN1cmxSZXF1ZXN0ID0gQ3VybFJlcXVlc3Q6OmNyZWF0ZShy
ZXF1ZXN0LCAqZGVsZWdhdGUoKSwgc2hvdWxkU3VzcGVuZCwgQ3VybFJlcXVlc3Q6OkVuYWJsZU11
bHRpcGFydDo6WWVzLCBkLT5tX21lc3NhZ2VRdWV1ZSk7CiAgICAgCiAgICAgcmV0dXJuIGN1cmxS
ZXF1ZXN0OwogfQpAQCAtMzcwLDE2ICszNzAsMTUgQEAgdm9pZCBSZXNvdXJjZUhhbmRsZTo6cmVz
dGFydFJlcXVlc3RXaXRoQ3JlZGVudGlhbChjb25zdCBTdHJpbmcmIHVzZXIsIGNvbnN0IFN0cmkK
ICAgICBpZiAoIWQtPm1fY3VybFJlcXVlc3QpCiAgICAgICAgIHJldHVybjsKICAgICAKLSAgICBh
dXRvIHdhc1N5bmNSZXF1ZXN0ID0gZC0+bV9jdXJsUmVxdWVzdC0+aXNTeW5jUmVxdWVzdCgpOwog
ICAgIGF1dG8gcHJldmlvdXNSZXF1ZXN0ID0gZC0+bV9jdXJsUmVxdWVzdC0+cmVzb3VyY2VSZXF1
ZXN0KCk7CiAgICAgZC0+bV9jdXJsUmVxdWVzdC0+Y2FuY2VsKCk7CiAKICAgICBkLT5tX2N1cmxS
ZXF1ZXN0ID0gY3JlYXRlQ3VybFJlcXVlc3QocHJldmlvdXNSZXF1ZXN0LCBSZXF1ZXN0U3RhdHVz
OjpSZXVzZWRSZXF1ZXN0KTsKICAgICBkLT5tX2N1cmxSZXF1ZXN0LT5zZXRVc2VyUGFzcyh1c2Vy
LCBwYXNzd29yZCk7Ci0gICAgZC0+bV9jdXJsUmVxdWVzdC0+c3RhcnQod2FzU3luY1JlcXVlc3Qp
OworICAgIGQtPm1fY3VybFJlcXVlc3QtPnN0YXJ0KCk7CiB9CiAKLXZvaWQgUmVzb3VyY2VIYW5k
bGU6OnBsYXRmb3JtTG9hZFJlc291cmNlU3luY2hyb25vdXNseShOZXR3b3JraW5nQ29udGV4dCog
Y29udGV4dCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBTdG9yZWRDcmVkZW50aWFs
c1BvbGljeSwgUmVzb3VyY2VFcnJvciYgZXJyb3IsIFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNl
LCBWZWN0b3I8Y2hhcj4mIGRhdGEpCit2b2lkIFJlc291cmNlSGFuZGxlOjpwbGF0Zm9ybUxvYWRS
ZXNvdXJjZVN5bmNocm9ub3VzbHkoTmV0d29ya2luZ0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IFJl
c291cmNlUmVxdWVzdCYgcmVxdWVzdCwgU3RvcmVkQ3JlZGVudGlhbHNQb2xpY3kgc3RvcmVkQ3Jl
ZGVudGlhbHNQb2xpY3ksIFJlc291cmNlRXJyb3ImIGVycm9yLCBSZXNvdXJjZVJlc3BvbnNlJiBy
ZXNwb25zZSwgVmVjdG9yPGNoYXI+JiBkYXRhKQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQo
KSk7CiAKQEAgLTM4OSwxOSArMzg4LDIwIEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OnBsYXRmb3Jt
TG9hZFJlc291cmNlU3luY2hyb25vdXNseShOZXR3b3JraW5nQ29udGV4dCogY29udGV4CiAgICAg
Ym9vbCBzaG91bGRDb250ZW50U25pZmYgPSB0cnVlOwogICAgIGJvb2wgc2hvdWxkQ29udGVudEVu
Y29kaW5nU25pZmYgPSB0cnVlOwogICAgIFJlZlB0cjxSZXNvdXJjZUhhbmRsZT4gaGFuZGxlID0g
YWRvcHRSZWYobmV3IFJlc291cmNlSGFuZGxlKGNvbnRleHQsIHJlcXVlc3QsICZjbGllbnQsIGRl
ZmVyc0xvYWRpbmcsIHNob3VsZENvbnRlbnRTbmlmZiwgc2hvdWxkQ29udGVudEVuY29kaW5nU25p
ZmYpKTsKKyAgICBoYW5kbGUtPmQtPm1fbWVzc2FnZVF1ZXVlID0gJmNsaWVudC5tZXNzYWdlUXVl
dWUoKTsKIAogICAgIGlmIChsb2NhbFJlcXVlc3QudXJsKCkucHJvdG9jb2xJc0RhdGEoKSkgewog
ICAgICAgICBoYW5kbGUtPmhhbmRsZURhdGFVUkwoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
IAotICAgIC8vIElmIGRlZmVyc0xvYWRpbmcgaXMgdHJ1ZSBhbmQgd2UgY2FsbCBjdXJsX2Vhc3lf
cGVyZm9ybQotICAgIC8vIG9uIGEgcGF1c2VkIGhhbmRsZSwgbGliY1VSTCB3b3VsZCBkbyB0aGUg
dHJhbnNmZXIgYW55d2F5Ci0gICAgLy8gYW5kIHdlIHdvdWxkIGFzc2VydCBzbyBmb3JjZSBkZWZl
cnNMb2FkaW5nIHRvIGJlIGZhbHNlLgotICAgIGhhbmRsZS0+ZC0+bV9kZWZlcnNMb2FkaW5nID0g
ZmFsc2U7Ci0KICAgICBoYW5kbGUtPmQtPm1fY3VybFJlcXVlc3QgPSBoYW5kbGUtPmNyZWF0ZUN1
cmxSZXF1ZXN0KGxvY2FsUmVxdWVzdCk7Ci0gICAgaGFuZGxlLT5kLT5tX2N1cmxSZXF1ZXN0LT5z
dGFydCh0cnVlKTsKKyAgICBoYW5kbGUtPmQtPm1fY3VybFJlcXVlc3QtPnN0YXJ0KCk7CisKKyAg
ICBkbyB7CisgICAgICAgIGlmIChhdXRvIHRhc2sgPSBjbGllbnQubWVzc2FnZVF1ZXVlKCkud2Fp
dEZvck1lc3NhZ2UoKSkKKyAgICAgICAgICAgICgqdGFzaykoKTsKKyAgICB9IHdoaWxlICghY2xp
ZW50Lm1lc3NhZ2VRdWV1ZSgpLmtpbGxlZCgpICYmICFoYW5kbGUtPmNhbmNlbGxlZE9yQ2xpZW50
bGVzcygpKTsKIAogICAgIGVycm9yID0gY2xpZW50LmVycm9yKCk7CiAgICAgZGF0YS5zd2FwKGNs
aWVudC5tdXRhYmxlRGF0YSgpKTsKQEAgLTQ5NiwxMiArNDk2LDE1IEBAIHZvaWQgUmVzb3VyY2VI
YW5kbGU6OmNvbnRpbnVlQWZ0ZXJXaWxsU2VuZFJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiYgcmVx
dWVzdCkKICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwogCiAgICAgLy8gd2lsbFNlbmRSZXF1
ZXN0IG1pZ2h0IGNhbmNlbCB0aGUgbG9hZC4KLSAgICBpZiAoY2FuY2VsbGVkT3JDbGllbnRsZXNz
KCkgfHwgIWQtPm1fY3VybFJlcXVlc3QgfHwgcmVxdWVzdC5pc051bGwoKSkKKyAgICBpZiAoY2Fu
Y2VsbGVkT3JDbGllbnRsZXNzKCkgfHwgIWQtPm1fY3VybFJlcXVlc3QpCiAgICAgICAgIHJldHVy
bjsKIAotICAgIGF1dG8gd2FzU3luY1JlcXVlc3QgPSBkLT5tX2N1cmxSZXF1ZXN0LT5pc1N5bmNS
ZXF1ZXN0KCk7Ci0gICAgZC0+bV9jdXJsUmVxdWVzdC0+Y2FuY2VsKCk7CisgICAgaWYgKHJlcXVl
c3QuaXNOdWxsKCkpIHsKKyAgICAgICAgY2FuY2VsKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9
CiAKKyAgICBkLT5tX2N1cmxSZXF1ZXN0LT5jYW5jZWwoKTsKICAgICBkLT5tX2N1cmxSZXF1ZXN0
ID0gY3JlYXRlQ3VybFJlcXVlc3QocmVxdWVzdCk7CiAKICAgICBpZiAocHJvdG9jb2xIb3N0QW5k
UG9ydEFyZUVxdWFsKHJlcXVlc3QudXJsKCksIGRlbGVnYXRlKCktPnJlc3BvbnNlKCkudXJsKCkp
KSB7CkBAIC01MDksNyArNTEyLDcgQEAgdm9pZCBSZXNvdXJjZUhhbmRsZTo6Y29udGludWVBZnRl
cldpbGxTZW5kUmVxdWVzdChSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0KQogICAgICAgICAgICAg
ZC0+bV9jdXJsUmVxdWVzdC0+c2V0VXNlclBhc3MoY3JlZGVudGlhbC0+Zmlyc3QsIGNyZWRlbnRp
YWwtPnNlY29uZCk7CiAgICAgfQogCi0gICAgZC0+bV9jdXJsUmVxdWVzdC0+c3RhcnQod2FzU3lu
Y1JlcXVlc3QpOworICAgIGQtPm1fY3VybFJlcXVlc3QtPnN0YXJ0KCk7CiB9CiAKIHZvaWQgUmVz
b3VyY2VIYW5kbGU6OmhhbmRsZURhdGFVUkwoKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>