<?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>194483</bug_id>
          
          <creation_ts>2019-02-10 14:41:27 -0800</creation_ts>
          <short_desc>[LFC] FormattingContext::intrinsicWidthConstraints should compute and save the intrinsic widths consistently.</short_desc>
          <delta_ts>2019-02-11 08:20:42 -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>Layout and Rendering</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="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>darin</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1504727</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-02-10 14:41:27 -0800</bug_when>
    <thetext>and name it computeInstrinsicWidthConstraints</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1504736</commentid>
    <comment_count>1</comment_count>
      <attachid>361647</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-02-10 15:17:31 -0800</bug_when>
    <thetext>Created attachment 361647
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1504745</commentid>
    <comment_count>2</comment_count>
      <attachid>361647</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2019-02-10 15:54:31 -0800</bug_when>
    <thetext>Comment on attachment 361647
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        Rename instrinsicWidthConstraints to computeInstrinsicWidthConstraints and it does not return the width values anymore.

Should also fix the spelling of the word &quot;intrinsic&quot;, which is not spelled &quot;instrinsic&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1504794</commentid>
    <comment_count>3</comment_count>
      <attachid>361657</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-02-10 21:32:07 -0800</bug_when>
    <thetext>Created attachment 361657
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1504868</commentid>
    <comment_count>4</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-02-11 08:19:43 -0800</bug_when>
    <thetext>Committed r241263: &lt;https://trac.webkit.org/changeset/241263&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1504869</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-02-11 08:20:42 -0800</bug_when>
    <thetext>&lt;rdar://problem/47965287&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>361647</attachid>
            <date>2019-02-10 15:17:31 -0800</date>
            <delta_ts>2019-02-10 21:32:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-194483-20190210151730.patch</filename>
            <type>text/plain</type>
            <size>13921</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQxMjUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjk1ZWIxOWZhNzMzYjgx
YmI0ODk0MWE4MGE3NWY0YzAyNTVjYWMyZC4uNDMyZDA3ZTM1ZmIyOGM1MWUxOGMxNzZhYmVmNDVh
MzBlM2QwOThhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE5LTAyLTEwICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ10gRm9ybWF0dGluZ0Nv
bnRleHQ6Omluc3RyaW5zaWNXaWR0aENvbnN0cmFpbnRzIHNob3VsZCBjb21wdXRlIGFuZCBzYXZl
IHRoZSBpbnRyaW5zaWMgd2lkdGhzIGNvbnNpc3RlbnRseS4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NDQ4MworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbmFtZSBpbnN0cmluc2ljV2lkdGhDb25zdHJh
aW50cyB0byBjb21wdXRlSW5zdHJpbnNpY1dpZHRoQ29uc3RyYWludHMgYW5kIGl0IGRvZXMgbm90
IHJldHVybiB0aGUgd2lkdGggdmFsdWVzIGFueW1vcmUuCisKKyAgICAgICAgKiBsYXlvdXQvRm9y
bWF0dGluZ0NvbnRleHQuaDoKKyAgICAgICAgKiBsYXlvdXQvRm9ybWF0dGluZ0NvbnRleHRHZW9t
ZXRyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkZvcm1hdHRpbmdDb250ZXh0OjpH
ZW9tZXRyeTo6c2hyaW5rVG9GaXRXaWR0aCk6CisgICAgICAgICogbGF5b3V0L1ZlcmlmaWNhdGlv
bi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxheW91dFN0YXRlOjp2ZXJpZnlBbmRP
dXRwdXRNaXNtYXRjaGluZ0xheW91dFRyZWUgY29uc3QpOgorICAgICAgICAqIGxheW91dC9ibG9j
a2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVJbnN0cmluc2ljV2lkdGhD
b25zdHJhaW50cyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0
dGluZ0NvbnRleHQ6Omluc3RyaW5zaWNXaWR0aENvbnN0cmFpbnRzIGNvbnN0KTogRGVsZXRlZC4K
KyAgICAgICAgKiBsYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQu
aDoKKyAgICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29u
dGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUZvcm1hdHRpbmdDb250
ZXh0Ojpjb21wdXRlSW5zdHJpbnNpY1dpZHRoQ29uc3RyYWludHMgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUludHJpbnNp
Y1dpZHRoRm9yRm9ybWF0dGluZ0NvbnRleHRSb290IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6Omluc3RyaW5zaWNXaWR0aENvbnN0cmFp
bnRzIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9J
bmxpbmVGb3JtYXR0aW5nQ29udGV4dC5oOgorCiAyMDE5LTAyLTEwICBaYWxhbiBCdWp0YXMgIDx6
YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bSUZDXSBBZGQgaW50cmluc2ljIHdpZHRo
IHN1cHBvcnQgZm9yIGlubGluZS1ibG9jayBib3hlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9y
bWF0dGluZ0NvbnRleHQuaAppbmRleCA2MjUzMGEzZmRlMGQxN2U0Njg4NzNhY2VhMGUzYzQ2OTkx
ZDUzNTljLi4wNDc3YWFiN2E4MjJlYTk2MjYwYjQwNzc0YjVjNGM1M2YwNDA3NmRhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuaApAQCAtNTYsNyArNTYsNyBAQCBw
dWJsaWM6CiAgICAgICAgIExheW91dFVuaXQgbWluaW11bTsKICAgICAgICAgTGF5b3V0VW5pdCBt
YXhpbXVtOwogICAgIH07Ci0gICAgdmlydHVhbCBJbnN0cmluc2ljV2lkdGhDb25zdHJhaW50cyBp
bnN0cmluc2ljV2lkdGhDb25zdHJhaW50cygpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQg
Y29tcHV0ZUluc3RyaW5zaWNXaWR0aENvbnN0cmFpbnRzKCkgY29uc3QgPSAwOwogCiAgICAgc3Rh
dGljIERpc3BsYXk6OkJveCBtYXBCb3hUb0FuY2VzdG9yKGNvbnN0IExheW91dFN0YXRlJiwgY29u
c3QgQm94JiwgY29uc3QgQ29udGFpbmVyJiBhbmNlc3Rvcik7CiAgICAgc3RhdGljIExheW91dFVu
aXQgbWFwVG9wVG9BbmNlc3Rvcihjb25zdCBMYXlvdXRTdGF0ZSYsIGNvbnN0IEJveCYsIGNvbnN0
IENvbnRhaW5lciYgYW5jZXN0b3IpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L0Zvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zv
cm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwCmluZGV4IGFmYTBiYzQ4OWQ4Yjc5OTUzYWJhYjhj
ODMyMWFhOTdjZTc0NDU2NzUuLjE1MTdhMDdjMWU5MTA0ZTRiYmE5N2EzMDdkMGMyZmUxYzQ2YTVj
ZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dEdl
b21ldHJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHRH
ZW9tZXRyeS5jcHAKQEAgLTIzOCw2ICsyMzgsNyBAQCBMYXlvdXRVbml0IEZvcm1hdHRpbmdDb250
ZXh0OjpHZW9tZXRyeTo6c2hyaW5rVG9GaXRXaWR0aChMYXlvdXRTdGF0ZSYgbGF5b3V0U3RhdAog
ewogICAgIExPR19XSVRIX1NUUkVBTShGb3JtYXR0aW5nQ29udGV4dExheW91dCwgc3RyZWFtIDw8
ICJbV2lkdGhdIC0+IHNocmluayB0byBmaXQgLT4gdW5zdXBwb3J0ZWQgLT4gd2lkdGgoIiA8PCBM
YXlvdXRVbml0IHsgfSA8PCAicHgpIGxheW91dEJveDogIiA8PCAmZm9ybWF0dGluZ1Jvb3QgPDwg
IikiKTsKICAgICBBU1NFUlQoZm9ybWF0dGluZ1Jvb3QuZXN0YWJsaXNoZXNGb3JtYXR0aW5nQ29u
dGV4dCgpKTsKKyAgICBBU1NFUlQodXNlZFZhbHVlcy5jb250YWluaW5nQmxvY2tXaWR0aC5oYXNW
YWx1ZSgpKTsKIAogICAgIC8vIENhbGN1bGF0aW9uIG9mIHRoZSBzaHJpbmstdG8tZml0IHdpZHRo
IGlzIHNpbWlsYXIgdG8gY2FsY3VsYXRpbmcgdGhlIHdpZHRoIG9mIGEgdGFibGUgY2VsbCB1c2lu
ZyB0aGUgYXV0b21hdGljIHRhYmxlIGxheW91dCBhbGdvcml0aG0uCiAgICAgLy8gUm91Z2hseTog
Y2FsY3VsYXRlIHRoZSBwcmVmZXJyZWQgd2lkdGggYnkgZm9ybWF0dGluZyB0aGUgY29udGVudCB3
aXRob3V0IGJyZWFraW5nIGxpbmVzIG90aGVyIHRoYW4gd2hlcmUgZXhwbGljaXQgbGluZSBicmVh
a3Mgb2NjdXIsCkBAIC0yNDYsMTAgKzI0NywxNCBAQCBMYXlvdXRVbml0IEZvcm1hdHRpbmdDb250
ZXh0OjpHZW9tZXRyeTo6c2hyaW5rVG9GaXRXaWR0aChMYXlvdXRTdGF0ZSYgbGF5b3V0U3RhdAog
ICAgIC8vICdwYWRkaW5nLWxlZnQnLCAncGFkZGluZy1yaWdodCcsICdib3JkZXItcmlnaHQtd2lk
dGgnLCAnbWFyZ2luLXJpZ2h0JywgYW5kIHRoZSB3aWR0aHMgb2YgYW55IHJlbGV2YW50IHNjcm9s
bCBiYXJzLgogCiAgICAgLy8gVGhlbiB0aGUgc2hyaW5rLXRvLWZpdCB3aWR0aCBpczogbWluKG1h
eChwcmVmZXJyZWQgbWluaW11bSB3aWR0aCwgYXZhaWxhYmxlIHdpZHRoKSwgcHJlZmVycmVkIHdp
ZHRoKS4KLSAgICBBU1NFUlQodXNlZFZhbHVlcy5jb250YWluaW5nQmxvY2tXaWR0aC5oYXNWYWx1
ZSgpKTsKKyAgICBhdXRvJiBmb3JtYXR0aW5nU3RhdGVGb3JSb290ID0gbGF5b3V0U3RhdGUuZm9y
bWF0dGluZ1N0YXRlRm9yQm94KGZvcm1hdHRpbmdSb290KTsKKyAgICBhdXRvIGluc3RyaW5zaWNX
aWR0aENvbnN0cmFpbnRzID0gZm9ybWF0dGluZ1N0YXRlRm9yUm9vdC5pbnN0cmluc2ljV2lkdGhD
b25zdHJhaW50cyhmb3JtYXR0aW5nUm9vdCk7CisgICAgaWYgKCFpbnN0cmluc2ljV2lkdGhDb25z
dHJhaW50cykgeworICAgICAgICBsYXlvdXRTdGF0ZS5jcmVhdGVGb3JtYXR0aW5nQ29udGV4dChm
b3JtYXR0aW5nUm9vdCktPmNvbXB1dGVJbnN0cmluc2ljV2lkdGhDb25zdHJhaW50cygpOworICAg
ICAgICBpbnN0cmluc2ljV2lkdGhDb25zdHJhaW50cyA9IGZvcm1hdHRpbmdTdGF0ZUZvclJvb3Qu
aW5zdHJpbnNpY1dpZHRoQ29uc3RyYWludHMoZm9ybWF0dGluZ1Jvb3QpOworICAgIH0KICAgICBh
dXRvIGF2YWlsYWJsZVdpZHRoID0gKnVzZWRWYWx1ZXMuY29udGFpbmluZ0Jsb2NrV2lkdGg7Ci0g
ICAgYXV0byBpbnN0cmluc2ljV2lkdGhDb25zdHJhaW50cyA9IGxheW91dFN0YXRlLmNyZWF0ZUZv
cm1hdHRpbmdDb250ZXh0KGZvcm1hdHRpbmdSb290KS0+aW5zdHJpbnNpY1dpZHRoQ29uc3RyYWlu
dHMoKTsKLSAgICByZXR1cm4gc3RkOjptaW4oc3RkOjptYXgoaW5zdHJpbnNpY1dpZHRoQ29uc3Ry
YWludHMubWluaW11bSwgYXZhaWxhYmxlV2lkdGgpLCBpbnN0cmluc2ljV2lkdGhDb25zdHJhaW50
cy5tYXhpbXVtKTsKKyAgICByZXR1cm4gc3RkOjptaW4oc3RkOjptYXgoaW5zdHJpbnNpY1dpZHRo
Q29uc3RyYWludHMtPm1pbmltdW0sIGF2YWlsYWJsZVdpZHRoKSwgaW5zdHJpbnNpY1dpZHRoQ29u
c3RyYWludHMtPm1heGltdW0pOwogfQogCiBWZXJ0aWNhbEdlb21ldHJ5IEZvcm1hdHRpbmdDb250
ZXh0OjpHZW9tZXRyeTo6b3V0T2ZGbG93Tm9uUmVwbGFjZWRWZXJ0aWNhbEdlb21ldHJ5KGNvbnN0
IExheW91dFN0YXRlJiBsYXlvdXRTdGF0ZSwgY29uc3QgQm94JiBsYXlvdXRCb3gsIFVzZWRWZXJ0
aWNhbFZhbHVlcyB1c2VkVmFsdWVzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5jcHAKaW5k
ZXggNTU3ZDFlYTNjYmJiZWYzMDBiOGYyYWJhMTZjOTMyOTJhNGRkNWY2Yy4uMGJiMDhkOTFkZjVi
YTVlMTI1N2VjMThlMDY2NmJmNWI3MTcyYWQ0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRl
eHQuY3BwCkBAIC0zOTIsMjAgKzM5MiwxNiBAQCB2b2lkIEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6
OmNvbXB1dGVIZWlnaHRBbmRNYXJnaW4oY29uc3QgQm94JiBsYXlvdXRCb3gpIGNvbnN0CiAgICAg
TWFyZ2luQ29sbGFwc2U6OnVwZGF0ZU1hcmdpbkFmdGVyRm9yUHJldmlvdXNTaWJsaW5nKGxheW91
dFN0YXRlLCBsYXlvdXRCb3gpOwogfQogCi1Gb3JtYXR0aW5nQ29udGV4dDo6SW5zdHJpbnNpY1dp
ZHRoQ29uc3RyYWludHMgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6aW5zdHJpbnNpY1dpZHRoQ29u
c3RyYWludHMoKSBjb25zdAordm9pZCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlSW5z
dHJpbnNpY1dpZHRoQ29uc3RyYWludHMoKSBjb25zdAogewogICAgIGF1dG8mIGxheW91dFN0YXRl
ID0gdGhpcy0+bGF5b3V0U3RhdGUoKTsKICAgICBhdXRvJiBmb3JtYXR0aW5nUm9vdCA9IHJvb3Qo
KTsKICAgICBhdXRvJiBmb3JtYXR0aW5nU3RhdGVGb3JSb290ID0gbGF5b3V0U3RhdGUuZm9ybWF0
dGluZ1N0YXRlRm9yQm94KGZvcm1hdHRpbmdSb290KTsKLSAgICBpZiAoYXV0byBpbnN0cmluc2lj
V2lkdGhDb25zdHJhaW50cyA9IGZvcm1hdHRpbmdTdGF0ZUZvclJvb3QuaW5zdHJpbnNpY1dpZHRo
Q29uc3RyYWludHMoZm9ybWF0dGluZ1Jvb3QpKQotICAgICAgICByZXR1cm4gKmluc3RyaW5zaWNX
aWR0aENvbnN0cmFpbnRzOworICAgIEFTU0VSVCghZm9ybWF0dGluZ1N0YXRlRm9yUm9vdC5pbnN0
cmluc2ljV2lkdGhDb25zdHJhaW50cyhmb3JtYXR0aW5nUm9vdCkpOwogCiAgICAgLy8gQ2FuIHdl
IGp1c3QgY29tcHV0ZSB0aGVtIHdpdGhvdXQgY2hlY2tpbmcgdGhlIGNoaWxkcmVuPwotICAgIGlm
ICghR2VvbWV0cnk6Omluc3RyaW5zaWNXaWR0aENvbnN0cmFpbnRzTmVlZENoaWxkcmVuV2lkdGgo
Zm9ybWF0dGluZ1Jvb3QpKSB7Ci0gICAgICAgIGF1dG8gaW5zdHJpbnNpY1dpZHRoQ29uc3RyYWlu
dHMgPSBHZW9tZXRyeTo6aW5zdHJpbnNpY1dpZHRoQ29uc3RyYWludHMobGF5b3V0U3RhdGUsIGZv
cm1hdHRpbmdSb290KTsKLSAgICAgICAgZm9ybWF0dGluZ1N0YXRlRm9yUm9vdC5zZXRJbnN0cmlu
c2ljV2lkdGhDb25zdHJhaW50cyhmb3JtYXR0aW5nUm9vdCwgaW5zdHJpbnNpY1dpZHRoQ29uc3Ry
YWludHMpOwotICAgICAgICByZXR1cm4gaW5zdHJpbnNpY1dpZHRoQ29uc3RyYWludHM7Ci0gICAg
fQorICAgIGlmICghR2VvbWV0cnk6Omluc3RyaW5zaWNXaWR0aENvbnN0cmFpbnRzTmVlZENoaWxk
cmVuV2lkdGgoZm9ybWF0dGluZ1Jvb3QpKQorICAgICAgICByZXR1cm4gZm9ybWF0dGluZ1N0YXRl
Rm9yUm9vdC5zZXRJbnN0cmluc2ljV2lkdGhDb25zdHJhaW50cyhmb3JtYXR0aW5nUm9vdCwgR2Vv
bWV0cnk6Omluc3RyaW5zaWNXaWR0aENvbnN0cmFpbnRzKGxheW91dFN0YXRlLCBmb3JtYXR0aW5n
Um9vdCkpOwogCiAgICAgLy8gVmlzaXQgdGhlIGluLWZsb3cgZGVzY2VuZGFudHMgYW5kIGNvbXB1
dGUgdGhlaXIgbWluL21heCBpbnRyaW5zaWMgd2lkdGggaWYgbmVlZGVkLgogICAgIC8vIDEuIEdv
IGFsbCB0aGUgd2F5IGRvd24gdG8gdGhlIGxlYWYgbm9kZQpAQCAtNDIxLDE2ICs0MTcsMTggQEAg
Rm9ybWF0dGluZ0NvbnRleHQ6Okluc3RyaW5zaWNXaWR0aENvbnN0cmFpbnRzIEJsb2NrRm9ybWF0
dGluZ0NvbnRleHQ6Omluc3RyaW5zaWMKICAgICB3aGlsZSAoIXF1ZXVlLmlzRW1wdHkoKSkgewog
ICAgICAgICB3aGlsZSAodHJ1ZSkgewogICAgICAgICAgICAgYXV0byYgY2hpbGRCb3ggPSAqcXVl
dWUubGFzdCgpOwotICAgICAgICAgICAgYXV0byBza2lwRGVzY2VuZGFudHMgPSBmb3JtYXR0aW5n
U3RhdGUuaW5zdHJpbnNpY1dpZHRoQ29uc3RyYWludHMoY2hpbGRCb3gpIHx8ICFHZW9tZXRyeTo6
aW5zdHJpbnNpY1dpZHRoQ29uc3RyYWludHNOZWVkQ2hpbGRyZW5XaWR0aChjaGlsZEJveCkgfHwg
Y2hpbGRCb3guZXN0YWJsaXNoZXNGb3JtYXR0aW5nQ29udGV4dCgpOworICAgICAgICAgICAgYXV0
byBjaGlsZEluc3RyaW5zaWNXaWR0aENvbnN0cmFpbnRzID0gZm9ybWF0dGluZ1N0YXRlLmluc3Ry
aW5zaWNXaWR0aENvbnN0cmFpbnRzKGNoaWxkQm94KTsgCisgICAgICAgICAgICBhdXRvIHNraXBE
ZXNjZW5kYW50cyA9IGNoaWxkSW5zdHJpbnNpY1dpZHRoQ29uc3RyYWludHMgfHwgIUdlb21ldHJ5
OjppbnN0cmluc2ljV2lkdGhDb25zdHJhaW50c05lZWRDaGlsZHJlbldpZHRoKGNoaWxkQm94KSB8
fCBjaGlsZEJveC5lc3RhYmxpc2hlc0Zvcm1hdHRpbmdDb250ZXh0KCk7CiAKICAgICAgICAgICAg
IGlmIChza2lwRGVzY2VuZGFudHMpIHsKLSAgICAgICAgICAgICAgICBJbnN0cmluc2ljV2lkdGhD
b25zdHJhaW50cyBpbnN0cmluc2ljV2lkdGhDb25zdHJhaW50czsKLSAgICAgICAgICAgICAgICBp
ZiAoIUdlb21ldHJ5OjppbnN0cmluc2ljV2lkdGhDb25zdHJhaW50c05lZWRDaGlsZHJlbldpZHRo
KGNoaWxkQm94KSkKLSAgICAgICAgICAgICAgICAgICAgaW5zdHJpbnNpY1dpZHRoQ29uc3RyYWlu
dHMgPSBHZW9tZXRyeTo6aW5zdHJpbnNpY1dpZHRoQ29uc3RyYWludHMobGF5b3V0U3RhdGUsIGNo
aWxkQm94KTsKLSAgICAgICAgICAgICAgICBlbHNlIGlmIChjaGlsZEJveC5lc3RhYmxpc2hlc0Zv
cm1hdHRpbmdDb250ZXh0KCkpCi0gICAgICAgICAgICAgICAgICAgIGluc3RyaW5zaWNXaWR0aENv
bnN0cmFpbnRzID0gbGF5b3V0U3RhdGUuY3JlYXRlRm9ybWF0dGluZ0NvbnRleHQoY2hpbGRCb3gp
LT5pbnN0cmluc2ljV2lkdGhDb25zdHJhaW50cygpOwotICAgICAgICAgICAgICAgIGZvcm1hdHRp
bmdTdGF0ZS5zZXRJbnN0cmluc2ljV2lkdGhDb25zdHJhaW50cyhjaGlsZEJveCwgaW5zdHJpbnNp
Y1dpZHRoQ29uc3RyYWludHMpOwotCisgICAgICAgICAgICAgICAgaWYgKCFjaGlsZEluc3RyaW5z
aWNXaWR0aENvbnN0cmFpbnRzKSB7CisgICAgICAgICAgICAgICAgICAgIGlmICghR2VvbWV0cnk6
Omluc3RyaW5zaWNXaWR0aENvbnN0cmFpbnRzTmVlZENoaWxkcmVuV2lkdGgoY2hpbGRCb3gpKQor
ICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0dGluZ1N0YXRlLnNldEluc3RyaW5zaWNXaWR0
aENvbnN0cmFpbnRzKGNoaWxkQm94LCBHZW9tZXRyeTo6aW5zdHJpbnNpY1dpZHRoQ29uc3RyYWlu
dHMobGF5b3V0U3RhdGUsIGNoaWxkQm94KSk7CisgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYg
KGNoaWxkQm94LmVzdGFibGlzaGVzRm9ybWF0dGluZ0NvbnRleHQoKSkKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGxheW91dFN0YXRlLmNyZWF0ZUZvcm1hdHRpbmdDb250ZXh0KGNoaWxkQm94KS0+
Y29tcHV0ZUluc3RyaW5zaWNXaWR0aENvbnN0cmFpbnRzKCk7CisgICAgICAgICAgICAgICAgICAg
IGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAg
ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBxdWV1ZS5yZW1vdmVMYXN0KCk7CiAgICAg
ICAgICAgICAgICAgaWYgKCFjaGlsZEJveC5uZXh0SW5GbG93T3JGbG9hdGluZ1NpYmxpbmcoKSkK
ICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC00NTAsMTAgKzQ0OCw3IEBAIEZvcm1hdHRp
bmdDb250ZXh0OjpJbnN0cmluc2ljV2lkdGhDb25zdHJhaW50cyBCbG9ja0Zvcm1hdHRpbmdDb250
ZXh0OjppbnN0cmluc2ljCiAgICAgICAgICAgICBxdWV1ZS5hcHBlbmQoZG93bmNhc3Q8Q29udGFp
bmVyPihjaGlsZEJveCkubmV4dEluRmxvd09yRmxvYXRpbmdTaWJsaW5nKCkpOwogICAgICAgICB9
CiAgICAgfQotCi0gICAgYXV0byBpbnN0cmluc2ljV2lkdGhDb25zdHJhaW50cyA9IEdlb21ldHJ5
OjppbnN0cmluc2ljV2lkdGhDb25zdHJhaW50cyhsYXlvdXRTdGF0ZSwgZm9ybWF0dGluZ1Jvb3Qp
OwotICAgIGZvcm1hdHRpbmdTdGF0ZUZvclJvb3Quc2V0SW5zdHJpbnNpY1dpZHRoQ29uc3RyYWlu
dHMoZm9ybWF0dGluZ1Jvb3QsIGluc3RyaW5zaWNXaWR0aENvbnN0cmFpbnRzKTsgCi0gICAgcmV0
dXJuIGluc3RyaW5zaWNXaWR0aENvbnN0cmFpbnRzOworICAgIGZvcm1hdHRpbmdTdGF0ZUZvclJv
b3Quc2V0SW5zdHJpbnNpY1dpZHRoQ29uc3RyYWludHMoZm9ybWF0dGluZ1Jvb3QsIEdlb21ldHJ5
OjppbnN0cmluc2ljV2lkdGhDb25zdHJhaW50cyhsYXlvdXRTdGF0ZSwgZm9ybWF0dGluZ1Jvb3Qp
KTsgCiB9CiAKIExheW91dFVuaXQgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6dmVydGljYWxQb3Np
dGlvbldpdGhNYXJnaW4oY29uc3QgQm94JiBsYXlvdXRCb3gsIGNvbnN0IFVzZWRWZXJ0aWNhbE1h
cmdpbiYgdmVydGljYWxNYXJnaW4pIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5oCmlu
ZGV4IDdkOTVjYjRkYzQ5YWQ1NDc1OTRkNGNjOGI5YTRmMDZkNDBhNDQwY2MuLjQzNGIwM2MzYTk5
NDUzYTg3YjQ4M2YwZWI5MWM0MjNjZThjM2MzNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4
dC5oCkBAIC02Nyw3ICs2Nyw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjb21wdXRlRXN0aW1hdGVk
VmVydGljYWxQb3NpdGlvbkZvckZvcm1hdHRpbmdSb290KGNvbnN0IEJveCYpIGNvbnN0OwogICAg
IHZvaWQgY29tcHV0ZUVzdGltYXRlZFZlcnRpY2FsUG9zaXRpb25Gb3JGbG9hdENsZWFyKGNvbnN0
IEZsb2F0aW5nQ29udGV4dCYsIGNvbnN0IEJveCYpIGNvbnN0OwogCi0gICAgSW5zdHJpbnNpY1dp
ZHRoQ29uc3RyYWludHMgaW5zdHJpbnNpY1dpZHRoQ29uc3RyYWludHMoKSBjb25zdCBvdmVycmlk
ZTsKKyAgICB2b2lkIGNvbXB1dGVJbnN0cmluc2ljV2lkdGhDb25zdHJhaW50cygpIGNvbnN0IG92
ZXJyaWRlOwogICAgIExheW91dFVuaXQgdmVydGljYWxQb3NpdGlvbldpdGhNYXJnaW4oY29uc3Qg
Qm94JiwgY29uc3QgVXNlZFZlcnRpY2FsTWFyZ2luJikgY29uc3Q7CiAKICAgICAvLyBUaGlzIGNs
YXNzIGltcGxlbWVudHMgcG9zaXRpb25pbmcgYW5kIHNpemluZyBmb3IgYm94ZXMgcGFydGljaXBh
dGluZyBpbiBhIGJsb2NrIGZvcm1hdHRpbmcgY29udGV4dC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRp
bmdDb250ZXh0LmNwcAppbmRleCA5Mzc2MmM2NTIzZGM2MGU3NjRhMDA2NjkyMzA2ZmRmYTFjYTMy
ZjY3Li5hMjUzNzNkNDA2NTkwZWU0OTZkOTJjMDlkYWY3NjBmMTk5ZWY3OWNkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5n
Q29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcv
SW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwCkBAIC05MiwxNCArOTIsMTMgQEAgdm9pZCBJbmxp
bmVGb3JtYXR0aW5nQ29udGV4dDo6bGF5b3V0KCkgY29uc3QKICAgICBMT0dfV0lUSF9TVFJFQU0o
Rm9ybWF0dGluZ0NvbnRleHRMYXlvdXQsIHN0cmVhbSA8PCAiW0VuZF0gLT4gaW5saW5lIGZvcm1h
dHRpbmcgY29udGV4dCAtPiBmb3JtYXR0aW5nIHJvb3QoIiA8PCAmcm9vdCA8PCAiKSIpOwogfQog
Ci1Gb3JtYXR0aW5nQ29udGV4dDo6SW5zdHJpbnNpY1dpZHRoQ29uc3RyYWludHMgSW5saW5lRm9y
bWF0dGluZ0NvbnRleHQ6Omluc3RyaW5zaWNXaWR0aENvbnN0cmFpbnRzKCkgY29uc3QKK3ZvaWQg
SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVJbnN0cmluc2ljV2lkdGhDb25zdHJhaW50
cygpIGNvbnN0CiB7CiAgICAgQVNTRVJUKGlzPENvbnRhaW5lcj4ocm9vdCgpKSk7CiAKICAgICBh
dXRvJiBsYXlvdXRTdGF0ZSA9IHRoaXMtPmxheW91dFN0YXRlKCk7CiAgICAgYXV0byYgcm9vdCA9
IGRvd25jYXN0PENvbnRhaW5lcj4odGhpcy0+cm9vdCgpKTsKLSAgICBpZiAoYXV0byBpbnN0cmlu
c2ljV2lkdGhDb25zdHJhaW50cyA9IGxheW91dFN0YXRlLmZvcm1hdHRpbmdTdGF0ZUZvckJveChy
b290KS5pbnN0cmluc2ljV2lkdGhDb25zdHJhaW50cyhyb290KSkKLSAgICAgICAgcmV0dXJuICpp
bnN0cmluc2ljV2lkdGhDb25zdHJhaW50czsKKyAgICBBU1NFUlQoIWxheW91dFN0YXRlLmZvcm1h
dHRpbmdTdGF0ZUZvckJveChyb290KS5pbnN0cmluc2ljV2lkdGhDb25zdHJhaW50cyhyb290KSk7
CiAKICAgICBWZWN0b3I8Y29uc3QgQm94Kj4gZm9ybWF0dGluZ0NvbnRleHRSb290TGlzdDsKICAg
ICBhdXRvIHVzZWRWYWx1ZXMgPSBVc2VkSG9yaXpvbnRhbFZhbHVlcyB7IH07CkBAIC0xNTAsNyAr
MTQ5LDYgQEAgRm9ybWF0dGluZ0NvbnRleHQ6Okluc3RyaW5zaWNXaWR0aENvbnN0cmFpbnRzIElu
bGluZUZvcm1hdHRpbmdDb250ZXh0OjppbnN0cmluc2kKIAogICAgIGF1dG8gaW5zdHJpbnNpY1dp
ZHRoQ29uc3RyYWludHMgPSBGb3JtYXR0aW5nQ29udGV4dDo6SW5zdHJpbnNpY1dpZHRoQ29uc3Ry
YWludHMgeyBtYXhpbXVtTGluZVdpZHRoKDApLCBtYXhpbXVtTGluZVdpZHRoKExheW91dFVuaXQ6
Om1heCgpKSB9OwogICAgIGxheW91dFN0YXRlLmZvcm1hdHRpbmdTdGF0ZUZvckJveChyb290KS5z
ZXRJbnN0cmluc2ljV2lkdGhDb25zdHJhaW50cyhyb290LCBpbnN0cmluc2ljV2lkdGhDb25zdHJh
aW50cyk7Ci0gICAgcmV0dXJuIGluc3RyaW5zaWNXaWR0aENvbnN0cmFpbnRzOwogfQogCiB2b2lk
IElubGluZUZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlSW50cmluc2ljV2lkdGhGb3JGb3JtYXR0
aW5nQ29udGV4dFJvb3QoY29uc3QgQm94JiBsYXlvdXRCb3gpIGNvbnN0CkBAIC0xNjAsNyArMTU4
LDcgQEAgdm9pZCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUludHJpbnNpY1dpZHRo
Rm9yRm9ybWF0dGluZ0NvbnRleHRSb290KGNvbnMKICAgICBhdXRvIHVzZWRWYWx1ZXMgPSBVc2Vk
SG9yaXpvbnRhbFZhbHVlcyB7IH07CiAgICAgY29tcHV0ZUJvcmRlckFuZFBhZGRpbmcobGF5b3V0
Qm94LCB1c2VkVmFsdWVzKTsKICAgICBjb21wdXRlTWFyZ2luKGRvd25jYXN0PElubGluZUNvbnRh
aW5lcj4obGF5b3V0Qm94KSwgdXNlZFZhbHVlcyk7Ci0gICAgbGF5b3V0U3RhdGUoKS5jcmVhdGVG
b3JtYXR0aW5nQ29udGV4dChsYXlvdXRCb3gpLT5pbnN0cmluc2ljV2lkdGhDb25zdHJhaW50cygp
OworICAgIGxheW91dFN0YXRlKCkuY3JlYXRlRm9ybWF0dGluZ0NvbnRleHQobGF5b3V0Qm94KS0+
Y29tcHV0ZUluc3RyaW5zaWNXaWR0aENvbnN0cmFpbnRzKCk7CiB9CiAKIHZvaWQgSW5saW5lRm9y
bWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVNYXJnaW4oY29uc3QgSW5saW5lQ29udGFpbmVyJiBpbmxp
bmVDb250YWluZXIsIFVzZWRIb3Jpem9udGFsVmFsdWVzIHVzZWRWYWx1ZXMpIGNvbnN0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3Jt
YXR0aW5nQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcv
SW5saW5lRm9ybWF0dGluZ0NvbnRleHQuaAppbmRleCA2ZjljN2FjYmE5NGUwODM4NDA5ODJjNmRi
NmRkYmRkZTZlMjdiNGU5Li44ZGQ0ZWQ1YTBjODE4MmNiZmEzN2RjYmMxNWUwYTdiZjI4Y2ZkMzJk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9Jbmxp
bmVGb3JtYXR0aW5nQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVm
b3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmgKQEAgLTUwLDYgKzUwLDggQEAgcHVi
bGljOgogICAgIHZvaWQgbGF5b3V0KCkgY29uc3Qgb3ZlcnJpZGU7CiAKIHByaXZhdGU6CisgICAg
dm9pZCBjb21wdXRlSW5zdHJpbnNpY1dpZHRoQ29uc3RyYWludHMoKSBjb25zdCBvdmVycmlkZTsK
KwogICAgIGNsYXNzIExpbmVMYXlvdXQgewogICAgIHB1YmxpYzoKICAgICAgICAgTGluZUxheW91
dChjb25zdCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dCYpOwpAQCAtOTQsNyArOTYsNiBAQCBwcml2
YXRlOgogICAgIHZvaWQgY29tcHV0ZVdpZHRoQW5kTWFyZ2luKGNvbnN0IEJveCYsIFVzZWRIb3Jp
em9udGFsVmFsdWVzKSBjb25zdDsKIAogICAgIHZvaWQgY29sbGVjdElubGluZUNvbnRlbnQoSW5s
aW5lUnVuUHJvdmlkZXImKSBjb25zdDsKLSAgICBJbnN0cmluc2ljV2lkdGhDb25zdHJhaW50cyBp
bnN0cmluc2ljV2lkdGhDb25zdHJhaW50cygpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAgSW5saW5l
Rm9ybWF0dGluZ1N0YXRlJiBmb3JtYXR0aW5nU3RhdGUoKSBjb25zdCB7IHJldHVybiBkb3duY2Fz
dDxJbmxpbmVGb3JtYXR0aW5nU3RhdGU+KEZvcm1hdHRpbmdDb250ZXh0Ojpmb3JtYXR0aW5nU3Rh
dGUoKSk7IH0KIH07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>361657</attachid>
            <date>2019-02-10 21:32:07 -0800</date>
            <delta_ts>2019-02-11 07:40:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>Patch.txt</filename>
            <type>text/plain</type>
            <size>13241</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBhMTYxOGRhNThlYy4uM2Y5MDE2ZTRlYzQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNSBAQAorMjAxOS0wMi0xMCAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgor
CisgICAgICAgIFtMRkNdIEZvcm1hdHRpbmdDb250ZXh0OjppbnRyaW5zaWNXaWR0aENvbnN0cmFp
bnRzIHNob3VsZCBjb21wdXRlIGFuZCBzYXZlIHRoZSBpbnRyaW5zaWMgd2lkdGhzIGNvbnNpc3Rl
bnRseS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5
NDQ4MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJl
bmFtZSBpbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzIHRvIGNvbXB1dGVJbnRyaW5zaWNXaWR0aENv
bnN0cmFpbnRzIChpdCBkb2VzIG5vdCByZXR1cm4gdGhlIHdpZHRoIHZhbHVlcyBhbnltb3JlKS4K
KworICAgICAgICAqIGxheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5oOgorICAgICAgICAqIGxheW91
dC9Gb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91
dDo6Rm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpzaHJpbmtUb0ZpdFdpZHRoKToKKyAgICAg
ICAgKiBsYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRl
SW50cmluc2ljV2lkdGhDb25zdHJhaW50cyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6OmludHJpbnNpY1dpZHRoQ29uc3RyYWludHMgY29u
c3QpOiBEZWxldGVkLgorICAgICAgICAqIGxheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3Jt
YXR0aW5nQ29udGV4dC5oOgorICAgICAgICAqIGxheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGlu
ZUZvcm1hdHRpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5l
Rm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVJbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzIGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNv
bXB1dGVJbnRyaW5zaWNXaWR0aEZvckZvcm1hdHRpbmdDb250ZXh0Um9vdCBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUZvcm1hdHRpbmdDb250ZXh0OjppbnRyaW5zaWNX
aWR0aENvbnN0cmFpbnRzIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBsYXlvdXQvaW5saW5l
Zm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5oOgorCiAyMDE5LTAyLTEwICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ10gRml4IHNwZWxsaW5n
IGVycm9yLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250
ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuaAppbmRleCA4
MjFiZGY3ZDZmMy4uYTgxNzQyYTRjOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9Gb3JtYXR0aW5nQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0
aW5nQ29udGV4dC5oCkBAIC01Niw3ICs1Niw3IEBAIHB1YmxpYzoKICAgICAgICAgTGF5b3V0VW5p
dCBtaW5pbXVtOwogICAgICAgICBMYXlvdXRVbml0IG1heGltdW07CiAgICAgfTsKLSAgICB2aXJ0
dWFsIEludHJpbnNpY1dpZHRoQ29uc3RyYWludHMgaW50cmluc2ljV2lkdGhDb25zdHJhaW50cygp
IGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZUludHJpbnNpY1dpZHRoQ29uc3Ry
YWludHMoKSBjb25zdCA9IDA7CiAKICAgICBzdGF0aWMgRGlzcGxheTo6Qm94IG1hcEJveFRvQW5j
ZXN0b3IoY29uc3QgTGF5b3V0U3RhdGUmLCBjb25zdCBCb3gmLCBjb25zdCBDb250YWluZXImIGFu
Y2VzdG9yKTsKICAgICBzdGF0aWMgTGF5b3V0VW5pdCBtYXBUb3BUb0FuY2VzdG9yKGNvbnN0IExh
eW91dFN0YXRlJiwgY29uc3QgQm94JiwgY29uc3QgQ29udGFpbmVyJiBhbmNlc3Rvcik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAK
aW5kZXggMWI5NmEzOTk1YmQuLmI3ZWRmNGZlMzZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwCkBAIC0yMzgsNiArMjM4LDcg
QEAgTGF5b3V0VW5pdCBGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OnNocmlua1RvRml0V2lk
dGgoTGF5b3V0U3RhdGUmIGxheW91dFN0YXQKIHsKICAgICBMT0dfV0lUSF9TVFJFQU0oRm9ybWF0
dGluZ0NvbnRleHRMYXlvdXQsIHN0cmVhbSA8PCAiW1dpZHRoXSAtPiBzaHJpbmsgdG8gZml0IC0+
IHVuc3VwcG9ydGVkIC0+IHdpZHRoKCIgPDwgTGF5b3V0VW5pdCB7IH0gPDwgInB4KSBsYXlvdXRC
b3g6ICIgPDwgJmZvcm1hdHRpbmdSb290IDw8ICIpIik7CiAgICAgQVNTRVJUKGZvcm1hdHRpbmdS
b290LmVzdGFibGlzaGVzRm9ybWF0dGluZ0NvbnRleHQoKSk7CisgICAgQVNTRVJUKHVzZWRWYWx1
ZXMuY29udGFpbmluZ0Jsb2NrV2lkdGguaGFzVmFsdWUoKSk7CiAKICAgICAvLyBDYWxjdWxhdGlv
biBvZiB0aGUgc2hyaW5rLXRvLWZpdCB3aWR0aCBpcyBzaW1pbGFyIHRvIGNhbGN1bGF0aW5nIHRo
ZSB3aWR0aCBvZiBhIHRhYmxlIGNlbGwgdXNpbmcgdGhlIGF1dG9tYXRpYyB0YWJsZSBsYXlvdXQg
YWxnb3JpdGhtLgogICAgIC8vIFJvdWdobHk6IGNhbGN1bGF0ZSB0aGUgcHJlZmVycmVkIHdpZHRo
IGJ5IGZvcm1hdHRpbmcgdGhlIGNvbnRlbnQgd2l0aG91dCBicmVha2luZyBsaW5lcyBvdGhlciB0
aGFuIHdoZXJlIGV4cGxpY2l0IGxpbmUgYnJlYWtzIG9jY3VyLApAQCAtMjQ2LDEwICsyNDcsMTQg
QEAgTGF5b3V0VW5pdCBGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OnNocmlua1RvRml0V2lk
dGgoTGF5b3V0U3RhdGUmIGxheW91dFN0YXQKICAgICAvLyAncGFkZGluZy1sZWZ0JywgJ3BhZGRp
bmctcmlnaHQnLCAnYm9yZGVyLXJpZ2h0LXdpZHRoJywgJ21hcmdpbi1yaWdodCcsIGFuZCB0aGUg
d2lkdGhzIG9mIGFueSByZWxldmFudCBzY3JvbGwgYmFycy4KIAogICAgIC8vIFRoZW4gdGhlIHNo
cmluay10by1maXQgd2lkdGggaXM6IG1pbihtYXgocHJlZmVycmVkIG1pbmltdW0gd2lkdGgsIGF2
YWlsYWJsZSB3aWR0aCksIHByZWZlcnJlZCB3aWR0aCkuCi0gICAgQVNTRVJUKHVzZWRWYWx1ZXMu
Y29udGFpbmluZ0Jsb2NrV2lkdGguaGFzVmFsdWUoKSk7CisgICAgYXV0byYgZm9ybWF0dGluZ1N0
YXRlRm9yUm9vdCA9IGxheW91dFN0YXRlLmZvcm1hdHRpbmdTdGF0ZUZvckJveChmb3JtYXR0aW5n
Um9vdCk7CisgICAgYXV0byBpbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzID0gZm9ybWF0dGluZ1N0
YXRlRm9yUm9vdC5pbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzKGZvcm1hdHRpbmdSb290KTsKKyAg
ICBpZiAoIWludHJpbnNpY1dpZHRoQ29uc3RyYWludHMpIHsKKyAgICAgICAgbGF5b3V0U3RhdGUu
Y3JlYXRlRm9ybWF0dGluZ0NvbnRleHQoZm9ybWF0dGluZ1Jvb3QpLT5jb21wdXRlSW50cmluc2lj
V2lkdGhDb25zdHJhaW50cygpOworICAgICAgICBpbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzID0g
Zm9ybWF0dGluZ1N0YXRlRm9yUm9vdC5pbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzKGZvcm1hdHRp
bmdSb290KTsKKyAgICB9CiAgICAgYXV0byBhdmFpbGFibGVXaWR0aCA9ICp1c2VkVmFsdWVzLmNv
bnRhaW5pbmdCbG9ja1dpZHRoOwotICAgIGF1dG8gaW50cmluc2ljV2lkdGhDb25zdHJhaW50cyA9
IGxheW91dFN0YXRlLmNyZWF0ZUZvcm1hdHRpbmdDb250ZXh0KGZvcm1hdHRpbmdSb290KS0+aW50
cmluc2ljV2lkdGhDb25zdHJhaW50cygpOwotICAgIHJldHVybiBzdGQ6Om1pbihzdGQ6Om1heChp
bnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzLm1pbmltdW0sIGF2YWlsYWJsZVdpZHRoKSwgaW50cmlu
c2ljV2lkdGhDb25zdHJhaW50cy5tYXhpbXVtKTsKKyAgICByZXR1cm4gc3RkOjptaW4oc3RkOjpt
YXgoaW50cmluc2ljV2lkdGhDb25zdHJhaW50cy0+bWluaW11bSwgYXZhaWxhYmxlV2lkdGgpLCBp
bnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzLT5tYXhpbXVtKTsKIH0KIAogVmVydGljYWxHZW9tZXRy
eSBGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6Om91dE9mRmxvd05vblJlcGxhY2VkVmVydGlj
YWxHZW9tZXRyeShjb25zdCBMYXlvdXRTdGF0ZSYgbGF5b3V0U3RhdGUsIGNvbnN0IEJveCYgbGF5
b3V0Qm94LCBVc2VkVmVydGljYWxWYWx1ZXMgdXNlZFZhbHVlcykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGlu
Z0NvbnRleHQuY3BwCmluZGV4IGM3NjkwMDA0NTc2Li40ZjBjOWUzNDFmMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250
ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2Nr
Rm9ybWF0dGluZ0NvbnRleHQuY3BwCkBAIC0zOTIsMjAgKzM5MiwxNiBAQCB2b2lkIEJsb2NrRm9y
bWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVIZWlnaHRBbmRNYXJnaW4oY29uc3QgQm94JiBsYXlvdXRC
b3gpIGNvbnN0CiAgICAgTWFyZ2luQ29sbGFwc2U6OnVwZGF0ZU1hcmdpbkFmdGVyRm9yUHJldmlv
dXNTaWJsaW5nKGxheW91dFN0YXRlLCBsYXlvdXRCb3gpOwogfQogCi1Gb3JtYXR0aW5nQ29udGV4
dDo6SW50cmluc2ljV2lkdGhDb25zdHJhaW50cyBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjppbnRy
aW5zaWNXaWR0aENvbnN0cmFpbnRzKCkgY29uc3QKK3ZvaWQgQmxvY2tGb3JtYXR0aW5nQ29udGV4
dDo6Y29tcHV0ZUludHJpbnNpY1dpZHRoQ29uc3RyYWludHMoKSBjb25zdAogewogICAgIGF1dG8m
IGxheW91dFN0YXRlID0gdGhpcy0+bGF5b3V0U3RhdGUoKTsKICAgICBhdXRvJiBmb3JtYXR0aW5n
Um9vdCA9IHJvb3QoKTsKICAgICBhdXRvJiBmb3JtYXR0aW5nU3RhdGVGb3JSb290ID0gbGF5b3V0
U3RhdGUuZm9ybWF0dGluZ1N0YXRlRm9yQm94KGZvcm1hdHRpbmdSb290KTsKLSAgICBpZiAoYXV0
byBpbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzID0gZm9ybWF0dGluZ1N0YXRlRm9yUm9vdC5pbnRy
aW5zaWNXaWR0aENvbnN0cmFpbnRzKGZvcm1hdHRpbmdSb290KSkKLSAgICAgICAgcmV0dXJuICpp
bnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzOworICAgIEFTU0VSVCghZm9ybWF0dGluZ1N0YXRlRm9y
Um9vdC5pbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzKGZvcm1hdHRpbmdSb290KSk7CiAKICAgICAv
LyBDYW4gd2UganVzdCBjb21wdXRlIHRoZW0gd2l0aG91dCBjaGVja2luZyB0aGUgY2hpbGRyZW4/
Ci0gICAgaWYgKCFHZW9tZXRyeTo6aW50cmluc2ljV2lkdGhDb25zdHJhaW50c05lZWRDaGlsZHJl
bldpZHRoKGZvcm1hdHRpbmdSb290KSkgewotICAgICAgICBhdXRvIGludHJpbnNpY1dpZHRoQ29u
c3RyYWludHMgPSBHZW9tZXRyeTo6aW50cmluc2ljV2lkdGhDb25zdHJhaW50cyhsYXlvdXRTdGF0
ZSwgZm9ybWF0dGluZ1Jvb3QpOwotICAgICAgICBmb3JtYXR0aW5nU3RhdGVGb3JSb290LnNldElu
dHJpbnNpY1dpZHRoQ29uc3RyYWludHMoZm9ybWF0dGluZ1Jvb3QsIGludHJpbnNpY1dpZHRoQ29u
c3RyYWludHMpOwotICAgICAgICByZXR1cm4gaW50cmluc2ljV2lkdGhDb25zdHJhaW50czsKLSAg
ICB9CisgICAgaWYgKCFHZW9tZXRyeTo6aW50cmluc2ljV2lkdGhDb25zdHJhaW50c05lZWRDaGls
ZHJlbldpZHRoKGZvcm1hdHRpbmdSb290KSkKKyAgICAgICAgcmV0dXJuIGZvcm1hdHRpbmdTdGF0
ZUZvclJvb3Quc2V0SW50cmluc2ljV2lkdGhDb25zdHJhaW50cyhmb3JtYXR0aW5nUm9vdCwgR2Vv
bWV0cnk6OmludHJpbnNpY1dpZHRoQ29uc3RyYWludHMobGF5b3V0U3RhdGUsIGZvcm1hdHRpbmdS
b290KSk7CiAKICAgICAvLyBWaXNpdCB0aGUgaW4tZmxvdyBkZXNjZW5kYW50cyBhbmQgY29tcHV0
ZSB0aGVpciBtaW4vbWF4IGludHJpbnNpYyB3aWR0aCBpZiBuZWVkZWQuCiAgICAgLy8gMS4gR28g
YWxsIHRoZSB3YXkgZG93biB0byB0aGUgbGVhZiBub2RlCkBAIC00MjEsMTYgKzQxNywxOCBAQCBG
b3JtYXR0aW5nQ29udGV4dDo6SW50cmluc2ljV2lkdGhDb25zdHJhaW50cyBCbG9ja0Zvcm1hdHRp
bmdDb250ZXh0OjppbnRyaW5zaWNXaQogICAgIHdoaWxlICghcXVldWUuaXNFbXB0eSgpKSB7CiAg
ICAgICAgIHdoaWxlICh0cnVlKSB7CiAgICAgICAgICAgICBhdXRvJiBjaGlsZEJveCA9ICpxdWV1
ZS5sYXN0KCk7Ci0gICAgICAgICAgICBhdXRvIHNraXBEZXNjZW5kYW50cyA9IGZvcm1hdHRpbmdT
dGF0ZS5pbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzKGNoaWxkQm94KSB8fCAhR2VvbWV0cnk6Omlu
dHJpbnNpY1dpZHRoQ29uc3RyYWludHNOZWVkQ2hpbGRyZW5XaWR0aChjaGlsZEJveCkgfHwgY2hp
bGRCb3guZXN0YWJsaXNoZXNGb3JtYXR0aW5nQ29udGV4dCgpOworICAgICAgICAgICAgYXV0byBj
aGlsZEludHJpbnNpY1dpZHRoQ29uc3RyYWludHMgPSBmb3JtYXR0aW5nU3RhdGUuaW50cmluc2lj
V2lkdGhDb25zdHJhaW50cyhjaGlsZEJveCk7CisgICAgICAgICAgICBhdXRvIHNraXBEZXNjZW5k
YW50cyA9IGNoaWxkSW50cmluc2ljV2lkdGhDb25zdHJhaW50cyB8fCAhR2VvbWV0cnk6OmludHJp
bnNpY1dpZHRoQ29uc3RyYWludHNOZWVkQ2hpbGRyZW5XaWR0aChjaGlsZEJveCkgfHwgY2hpbGRC
b3guZXN0YWJsaXNoZXNGb3JtYXR0aW5nQ29udGV4dCgpOwogCiAgICAgICAgICAgICBpZiAoc2tp
cERlc2NlbmRhbnRzKSB7Ci0gICAgICAgICAgICAgICAgSW50cmluc2ljV2lkdGhDb25zdHJhaW50
cyBpbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzOwotICAgICAgICAgICAgICAgIGlmICghR2VvbWV0
cnk6OmludHJpbnNpY1dpZHRoQ29uc3RyYWludHNOZWVkQ2hpbGRyZW5XaWR0aChjaGlsZEJveCkp
Ci0gICAgICAgICAgICAgICAgICAgIGludHJpbnNpY1dpZHRoQ29uc3RyYWludHMgPSBHZW9tZXRy
eTo6aW50cmluc2ljV2lkdGhDb25zdHJhaW50cyhsYXlvdXRTdGF0ZSwgY2hpbGRCb3gpOwotICAg
ICAgICAgICAgICAgIGVsc2UgaWYgKGNoaWxkQm94LmVzdGFibGlzaGVzRm9ybWF0dGluZ0NvbnRl
eHQoKSkKLSAgICAgICAgICAgICAgICAgICAgaW50cmluc2ljV2lkdGhDb25zdHJhaW50cyA9IGxh
eW91dFN0YXRlLmNyZWF0ZUZvcm1hdHRpbmdDb250ZXh0KGNoaWxkQm94KS0+aW50cmluc2ljV2lk
dGhDb25zdHJhaW50cygpOwotICAgICAgICAgICAgICAgIGZvcm1hdHRpbmdTdGF0ZS5zZXRJbnRy
aW5zaWNXaWR0aENvbnN0cmFpbnRzKGNoaWxkQm94LCBpbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRz
KTsKLQorICAgICAgICAgICAgICAgIGlmICghY2hpbGRJbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRz
KSB7CisgICAgICAgICAgICAgICAgICAgIGlmICghR2VvbWV0cnk6OmludHJpbnNpY1dpZHRoQ29u
c3RyYWludHNOZWVkQ2hpbGRyZW5XaWR0aChjaGlsZEJveCkpCisgICAgICAgICAgICAgICAgICAg
ICAgICBmb3JtYXR0aW5nU3RhdGUuc2V0SW50cmluc2ljV2lkdGhDb25zdHJhaW50cyhjaGlsZEJv
eCwgR2VvbWV0cnk6OmludHJpbnNpY1dpZHRoQ29uc3RyYWludHMobGF5b3V0U3RhdGUsIGNoaWxk
Qm94KSk7CisgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGNoaWxkQm94LmVzdGFibGlzaGVz
Rm9ybWF0dGluZ0NvbnRleHQoKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGxheW91dFN0YXRl
LmNyZWF0ZUZvcm1hdHRpbmdDb250ZXh0KGNoaWxkQm94KS0+Y29tcHV0ZUludHJpbnNpY1dpZHRo
Q29uc3RyYWludHMoKTsKKyAgICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAg
ICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgICAgICAgICAgfQogICAgICAg
ICAgICAgICAgIHF1ZXVlLnJlbW92ZUxhc3QoKTsKICAgICAgICAgICAgICAgICBpZiAoIWNoaWxk
Qm94Lm5leHRJbkZsb3dPckZsb2F0aW5nU2libGluZygpKQogICAgICAgICAgICAgICAgICAgICBi
cmVhazsKQEAgLTQ1MCwxMCArNDQ4LDcgQEAgRm9ybWF0dGluZ0NvbnRleHQ6OkludHJpbnNpY1dp
ZHRoQ29uc3RyYWludHMgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6aW50cmluc2ljV2kKICAgICAg
ICAgICAgIHF1ZXVlLmFwcGVuZChkb3duY2FzdDxDb250YWluZXI+KGNoaWxkQm94KS5uZXh0SW5G
bG93T3JGbG9hdGluZ1NpYmxpbmcoKSk7CiAgICAgICAgIH0KICAgICB9Ci0KLSAgICBhdXRvIGlu
dHJpbnNpY1dpZHRoQ29uc3RyYWludHMgPSBHZW9tZXRyeTo6aW50cmluc2ljV2lkdGhDb25zdHJh
aW50cyhsYXlvdXRTdGF0ZSwgZm9ybWF0dGluZ1Jvb3QpOwotICAgIGZvcm1hdHRpbmdTdGF0ZUZv
clJvb3Quc2V0SW50cmluc2ljV2lkdGhDb25zdHJhaW50cyhmb3JtYXR0aW5nUm9vdCwgaW50cmlu
c2ljV2lkdGhDb25zdHJhaW50cyk7IAotICAgIHJldHVybiBpbnRyaW5zaWNXaWR0aENvbnN0cmFp
bnRzOworICAgIGZvcm1hdHRpbmdTdGF0ZUZvclJvb3Quc2V0SW50cmluc2ljV2lkdGhDb25zdHJh
aW50cyhmb3JtYXR0aW5nUm9vdCwgR2VvbWV0cnk6OmludHJpbnNpY1dpZHRoQ29uc3RyYWludHMo
bGF5b3V0U3RhdGUsIGZvcm1hdHRpbmdSb290KSk7CiB9CiAKIExheW91dFVuaXQgQmxvY2tGb3Jt
YXR0aW5nQ29udGV4dDo6dmVydGljYWxQb3NpdGlvbldpdGhNYXJnaW4oY29uc3QgQm94JiBsYXlv
dXRCb3gsIGNvbnN0IFVzZWRWZXJ0aWNhbE1hcmdpbiYgdmVydGljYWxNYXJnaW4pIGNvbnN0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9y
bWF0dGluZ0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcv
QmxvY2tGb3JtYXR0aW5nQ29udGV4dC5oCmluZGV4IDk5ZDRkZjllMWFmLi5jYjIxZjlmMzRlZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zv
cm1hdHRpbmdDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0
dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0LmgKQEAgLTY3LDcgKzY3LDcgQEAgcHJpdmF0ZToK
ICAgICB2b2lkIGNvbXB1dGVFc3RpbWF0ZWRWZXJ0aWNhbFBvc2l0aW9uRm9yRm9ybWF0dGluZ1Jv
b3QoY29uc3QgQm94JikgY29uc3Q7CiAgICAgdm9pZCBjb21wdXRlRXN0aW1hdGVkVmVydGljYWxQ
b3NpdGlvbkZvckZsb2F0Q2xlYXIoY29uc3QgRmxvYXRpbmdDb250ZXh0JiwgY29uc3QgQm94Jikg
Y29uc3Q7CiAKLSAgICBJbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzIGludHJpbnNpY1dpZHRoQ29u
c3RyYWludHMoKSBjb25zdCBvdmVycmlkZTsKKyAgICB2b2lkIGNvbXB1dGVJbnRyaW5zaWNXaWR0
aENvbnN0cmFpbnRzKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgTGF5b3V0VW5pdCB2ZXJ0aWNhbFBv
c2l0aW9uV2l0aE1hcmdpbihjb25zdCBCb3gmLCBjb25zdCBVc2VkVmVydGljYWxNYXJnaW4mKSBj
b25zdDsKIAogICAgIC8vIFRoaXMgY2xhc3MgaW1wbGVtZW50cyBwb3NpdGlvbmluZyBhbmQgc2l6
aW5nIGZvciBib3hlcyBwYXJ0aWNpcGF0aW5nIGluIGEgYmxvY2sgZm9ybWF0dGluZyBjb250ZXh0
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5s
aW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZv
cm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwCmluZGV4IGQ5NDg2Y2U2ZWE3Li44
MDNhNDZiNzU3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1h
dHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcApAQCAtOTIs
MTQgKzkyLDEzIEBAIHZvaWQgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmxheW91dCgpIGNvbnN0
CiAgICAgTE9HX1dJVEhfU1RSRUFNKEZvcm1hdHRpbmdDb250ZXh0TGF5b3V0LCBzdHJlYW0gPDwg
IltFbmRdIC0+IGlubGluZSBmb3JtYXR0aW5nIGNvbnRleHQgLT4gZm9ybWF0dGluZyByb290KCIg
PDwgJnJvb3QgPDwgIikiKTsKIH0KIAotRm9ybWF0dGluZ0NvbnRleHQ6OkludHJpbnNpY1dpZHRo
Q29uc3RyYWludHMgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmludHJpbnNpY1dpZHRoQ29uc3Ry
YWludHMoKSBjb25zdAordm9pZCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUludHJp
bnNpY1dpZHRoQ29uc3RyYWludHMoKSBjb25zdAogewogICAgIEFTU0VSVChpczxDb250YWluZXI+
KHJvb3QoKSkpOwogCiAgICAgYXV0byYgbGF5b3V0U3RhdGUgPSB0aGlzLT5sYXlvdXRTdGF0ZSgp
OwogICAgIGF1dG8mIHJvb3QgPSBkb3duY2FzdDxDb250YWluZXI+KHRoaXMtPnJvb3QoKSk7Ci0g
ICAgaWYgKGF1dG8gaW50cmluc2ljV2lkdGhDb25zdHJhaW50cyA9IGxheW91dFN0YXRlLmZvcm1h
dHRpbmdTdGF0ZUZvckJveChyb290KS5pbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzKHJvb3QpKQot
ICAgICAgICByZXR1cm4gKmludHJpbnNpY1dpZHRoQ29uc3RyYWludHM7CisgICAgQVNTRVJUKCFs
YXlvdXRTdGF0ZS5mb3JtYXR0aW5nU3RhdGVGb3JCb3gocm9vdCkuaW50cmluc2ljV2lkdGhDb25z
dHJhaW50cyhyb290KSk7CiAKICAgICBWZWN0b3I8Y29uc3QgQm94Kj4gZm9ybWF0dGluZ0NvbnRl
eHRSb290TGlzdDsKICAgICBhdXRvIHVzZWRWYWx1ZXMgPSBVc2VkSG9yaXpvbnRhbFZhbHVlcyB7
IH07CkBAIC0xNTAsNyArMTQ5LDYgQEAgRm9ybWF0dGluZ0NvbnRleHQ6OkludHJpbnNpY1dpZHRo
Q29uc3RyYWludHMgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmludHJpbnNpY1cKIAogICAgIGF1
dG8gaW50cmluc2ljV2lkdGhDb25zdHJhaW50cyA9IEZvcm1hdHRpbmdDb250ZXh0OjpJbnRyaW5z
aWNXaWR0aENvbnN0cmFpbnRzIHsgbWF4aW11bUxpbmVXaWR0aCgwKSwgbWF4aW11bUxpbmVXaWR0
aChMYXlvdXRVbml0OjptYXgoKSkgfTsKICAgICBsYXlvdXRTdGF0ZS5mb3JtYXR0aW5nU3RhdGVG
b3JCb3gocm9vdCkuc2V0SW50cmluc2ljV2lkdGhDb25zdHJhaW50cyhyb290LCBpbnRyaW5zaWNX
aWR0aENvbnN0cmFpbnRzKTsKLSAgICByZXR1cm4gaW50cmluc2ljV2lkdGhDb25zdHJhaW50czsK
IH0KIAogdm9pZCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUludHJpbnNpY1dpZHRo
Rm9yRm9ybWF0dGluZ0NvbnRleHRSb290KGNvbnN0IEJveCYgbGF5b3V0Qm94KSBjb25zdApAQCAt
MTYwLDcgKzE1OCw3IEBAIHZvaWQgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVJbnRy
aW5zaWNXaWR0aEZvckZvcm1hdHRpbmdDb250ZXh0Um9vdChjb25zCiAgICAgYXV0byB1c2VkVmFs
dWVzID0gVXNlZEhvcml6b250YWxWYWx1ZXMgeyB9OwogICAgIGNvbXB1dGVCb3JkZXJBbmRQYWRk
aW5nKGxheW91dEJveCwgdXNlZFZhbHVlcyk7CiAgICAgY29tcHV0ZU1hcmdpbihkb3duY2FzdDxJ
bmxpbmVDb250YWluZXI+KGxheW91dEJveCksIHVzZWRWYWx1ZXMpOwotICAgIGxheW91dFN0YXRl
KCkuY3JlYXRlRm9ybWF0dGluZ0NvbnRleHQobGF5b3V0Qm94KS0+aW50cmluc2ljV2lkdGhDb25z
dHJhaW50cygpOworICAgIGxheW91dFN0YXRlKCkuY3JlYXRlRm9ybWF0dGluZ0NvbnRleHQobGF5
b3V0Qm94KS0+Y29tcHV0ZUludHJpbnNpY1dpZHRoQ29uc3RyYWludHMoKTsKIH0KIAogdm9pZCBJ
bmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZU1hcmdpbihjb25zdCBJbmxpbmVDb250YWlu
ZXImIGlubGluZUNvbnRhaW5lciwgVXNlZEhvcml6b250YWxWYWx1ZXMgdXNlZFZhbHVlcykgY29u
c3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lu
bGluZUZvcm1hdHRpbmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9y
bWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5oCmluZGV4IDgxNTAzNThiZGM3Li44MTJk
OWRkNjQwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRp
bmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
aW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5oCkBAIC01MCw2ICs1MCw4
IEBAIHB1YmxpYzoKICAgICB2b2lkIGxheW91dCgpIGNvbnN0IG92ZXJyaWRlOwogCiBwcml2YXRl
OgorICAgIHZvaWQgY29tcHV0ZUludHJpbnNpY1dpZHRoQ29uc3RyYWludHMoKSBjb25zdCBvdmVy
cmlkZTsKKwogICAgIGNsYXNzIExpbmVMYXlvdXQgewogICAgIHB1YmxpYzoKICAgICAgICAgTGlu
ZUxheW91dChjb25zdCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dCYpOwpAQCAtOTQsNyArOTYsNiBA
QCBwcml2YXRlOgogICAgIHZvaWQgY29tcHV0ZVdpZHRoQW5kTWFyZ2luKGNvbnN0IEJveCYsIFVz
ZWRIb3Jpem9udGFsVmFsdWVzKSBjb25zdDsKIAogICAgIHZvaWQgY29sbGVjdElubGluZUNvbnRl
bnQoSW5saW5lUnVuUHJvdmlkZXImKSBjb25zdDsKLSAgICBJbnRyaW5zaWNXaWR0aENvbnN0cmFp
bnRzIGludHJpbnNpY1dpZHRoQ29uc3RyYWludHMoKSBjb25zdCBvdmVycmlkZTsKIAogICAgIElu
bGluZUZvcm1hdHRpbmdTdGF0ZSYgZm9ybWF0dGluZ1N0YXRlKCkgY29uc3QgeyByZXR1cm4gZG93
bmNhc3Q8SW5saW5lRm9ybWF0dGluZ1N0YXRlPihGb3JtYXR0aW5nQ29udGV4dDo6Zm9ybWF0dGlu
Z1N0YXRlKCkpOyB9CiB9Owo=
</data>
<flag name="review"
          id="378311"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>