<?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>210399</bug_id>
          
          <creation_ts>2020-04-11 21:08:02 -0700</creation_ts>
          <short_desc>[LFC][TFC] Introduce dedicated SlotPosition/CellSpan structs</short_desc>
          <delta_ts>2020-04-15 23:09:55 -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>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>fujii</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>1640636</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-04-11 21:08:02 -0700</bug_when>
    <thetext>This is in preparation for the column span work</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1640641</commentid>
    <comment_count>1</comment_count>
      <attachid>396208</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-04-11 21:40:06 -0700</bug_when>
    <thetext>Created attachment 396208
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1640679</commentid>
    <comment_count>2</comment_count>
      <attachid>396220</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-04-12 08:58:58 -0700</bug_when>
    <thetext>Created attachment 396220
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1640684</commentid>
    <comment_count>3</comment_count>
      <attachid>396222</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-04-12 09:07:45 -0700</bug_when>
    <thetext>Created attachment 396222
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1640688</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-04-12 09:35:02 -0700</bug_when>
    <thetext>Committed r259981: &lt;https://trac.webkit.org/changeset/259981&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 396222.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1640689</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-04-12 09:36:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/61676609&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1642158</commentid>
    <comment_count>6</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-04-15 23:09:55 -0700</bug_when>
    <thetext>Filed: Bug 210592 – MSVC: LayoutUnits.h(248): warning C4245: &apos;argument&apos;: conversion from &apos;const int&apos; to &apos;size_t&apos;, signed/unsigned mismatch</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>396208</attachid>
            <date>2020-04-11 21:40:06 -0700</date>
            <delta_ts>2020-04-12 08:58:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210399-20200411214006.patch</filename>
            <type>text/plain</type>
            <size>14763</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5NTI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTVhMWMwZTk3OGUwYzc1
ODc1NWI4ZTQ0NDc3ZDFiMDQzMzFhYTJkYi4uNGU3MDhlYzgyNTg5ODY1NjZiOTIzMzU2ZDMwN2Yx
NWY0MjhiZWMzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDIwLTA0LTExICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bVEZDXSBJbnRyb2R1
Y2UgZGVkaWNhdGVkIFNsb3RQb3NpdGlvbi9DZWxsU3BhbiBzdHJ1Y3RzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTAzOTkKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTbG90UG9zaXRpb24uY29sdW1uL3Jv
dyBhbmQgQ2VsbFNwYW4uY29sdW1uL3JvdyByZWFkIGJldHRlci4KKworICAgICAgICAqIGxheW91
dC9MYXlvdXRVbml0cy5oOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpTbG90UG9zaXRpb246
OlNsb3RQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6Om9wZXJhdG9yPT0pOgor
ICAgICAgICAoV1RGOjpTbG90UG9zaXRpb25IYXNoOjpoYXNoKToKKyAgICAgICAgKFdURjo6U2xv
dFBvc2l0aW9uSGFzaDo6ZXF1YWwpOgorICAgICAgICAoV1RGOjpIYXNoVHJhaXRzPFdlYkNvcmU6
OkxheW91dDo6U2xvdFBvc2l0aW9uPjo6ZW1wdHlWYWx1ZSk6CisgICAgICAgIChXVEY6Okhhc2hU
cmFpdHM8V2ViQ29yZTo6TGF5b3V0OjpTbG90UG9zaXRpb24+Ojpjb25zdHJ1Y3REZWxldGVkVmFs
dWUpOgorICAgICAgICAoV1RGOjpIYXNoVHJhaXRzPFdlYkNvcmU6OkxheW91dDo6U2xvdFBvc2l0
aW9uPjo6aXNEZWxldGVkVmFsdWUpOgorICAgICAgICAqIGxheW91dC9sYXlvdXR0cmVlL0xheW91
dEJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJveDo6c2V0Um93U3Bhbik6Cisg
ICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJveDo6c2V0Q29sdW1uU3Bhbik6CisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6OkJveDo6cm93U3BhbiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXQ6OkJveDo6Y29sdW1uU3BhbiBjb25zdCk6CisgICAgICAgICogbGF5b3V0L2xheW91dHRy
ZWUvTGF5b3V0Qm94Lmg6CisgICAgICAgICogbGF5b3V0L3RhYmxlZm9ybWF0dGluZy9UYWJsZUZv
cm1hdHRpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6VGFibGVGb3Jt
YXR0aW5nQ29udGV4dDo6Y29tcHV0ZVByZWZlcnJlZFdpZHRoRm9yQ29sdW1ucyk6CisgICAgICAg
ICogbGF5b3V0L3RhYmxlZm9ybWF0dGluZy9UYWJsZUdyaWQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpUYWJsZUdyaWQ6OkNlbGw6OkNlbGwpOgorICAgICAgICAoV2ViQ29yZTo6TGF5
b3V0OjpUYWJsZUdyaWQ6OmFwcGVuZENlbGwpOgorICAgICAgICAqIGxheW91dC90YWJsZWZvcm1h
dHRpbmcvVGFibGVHcmlkLmg6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OlRhYmxlR3JpZDo6
Q2VsbDo6c3RhcnRDb2x1bW4gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpUYWJs
ZUdyaWQ6OkNlbGw6OmVuZENvbHVtbiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6
OlRhYmxlR3JpZDo6Q2VsbDo6c3RhcnRSb3cgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5
b3V0OjpUYWJsZUdyaWQ6OkNlbGw6OmVuZFJvdyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXQ6OlRhYmxlR3JpZDo6Q2VsbDo6Y29sdW1uU3BhbiBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpMYXlvdXQ6OlRhYmxlR3JpZDo6Q2VsbDo6cm93U3BhbiBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6OlRhYmxlR3JpZDo6Q2VsbDo6c3BhbiBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6OlRhYmxlR3JpZDo6Q2VsbDo6c2l6ZSBjb25zdCk6IERlbGV0ZWQuCisK
IDIwMjAtMDQtMTEgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBb
TEZDXVtURkNdIENsZWFudXAgY2xhc3Mvc3RydWN0L3ZhcmlhYmxlIG5hbWVzIGluIFRhYmxlR3Jp
ZC9UYWJsZUZvcm1hdHRpbmdDb250ZXh0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvTGF5b3V0VW5pdHMuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9MYXlvdXRVbml0cy5oCmlu
ZGV4IGMxMzExZjljNmU5OTYwOWJlNDMwZjA1ODE0NWQwZDBlZjM2M2FmMzQuLmYyNjkyYzI2ZGY0
NmE5NjQyZjE5ZDdiYjFlNGE3YWMwNDZkODUyNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9MYXlvdXRVbml0cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9MYXlvdXRV
bml0cy5oCkBAIC0zMSw2ICszMSw4IEBACiAjaW5jbHVkZSAiTGF5b3V0UG9pbnQuaCIKICNpbmNs
dWRlICJMYXlvdXRSZWN0LmgiCiAjaW5jbHVkZSAiTWFyZ2luVHlwZXMuaCIKKyNpbmNsdWRlIDx3
dGYvSGFzaEZ1bmN0aW9ucy5oPgorI2luY2x1ZGUgPHd0Zi9IYXNoVHJhaXRzLmg+CiAjaW5jbHVk
ZSA8d3RmL09wdGlvbmFsLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTIwOSw2ICsyMTEs
NDggQEAgaW5saW5lIElubGluZUxheW91dFVuaXQgbWF4SW5saW5lTGF5b3V0VW5pdCgpCiAjZW5k
aWYKIH0KIAorc3RydWN0IFNsb3RQb3NpdGlvbiB7CisgICAgU2xvdFBvc2l0aW9uKCkgPSBkZWZh
dWx0OworICAgIFNsb3RQb3NpdGlvbihzaXplX3QgY29sdW1uLCBzaXplX3Qgcm93KTsKKworICAg
IHNpemVfdCBjb2x1bW4geyAwIH07CisgICAgc2l6ZV90IHJvdyB7IDAgfTsKK307CisKK2lubGlu
ZSBTbG90UG9zaXRpb246OlNsb3RQb3NpdGlvbihzaXplX3QgY29sdW1uLCBzaXplX3Qgcm93KSAK
KyAgICA6IGNvbHVtbihjb2x1bW4pIAorICAgICwgcm93KHJvdykKK3sgCiB9CisKK2lubGluZSBi
b29sIG9wZXJhdG9yPT0oY29uc3QgU2xvdFBvc2l0aW9uJiBhLCBjb25zdCBTbG90UG9zaXRpb24m
IGIpCit7CisgICAgcmV0dXJuIGEuY29sdW1uID09IGIuY29sdW1uICYmIGEucm93ID09IGIucm93
OworfQorCitzdHJ1Y3QgQ2VsbFNwYW4geworICAgIHNpemVfdCBjb2x1bW4geyAxIH07CisgICAg
c2l6ZV90IHJvdyB7IDEgfTsKK307CisKIH0KK30KKworbmFtZXNwYWNlIFdURiB7CitzdHJ1Y3Qg
U2xvdFBvc2l0aW9uSGFzaCB7CisgICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgV2ViQ29y
ZTo6TGF5b3V0OjpTbG90UG9zaXRpb24mIHNsb3RQb3NpdGlvbikgeyByZXR1cm4gcGFpckludEhh
c2goc2xvdFBvc2l0aW9uLmNvbHVtbiwgc2xvdFBvc2l0aW9uLnJvdyk7IH0KKyAgICBzdGF0aWMg
Ym9vbCBlcXVhbChjb25zdCBXZWJDb3JlOjpMYXlvdXQ6OlNsb3RQb3NpdGlvbiYgYSwgY29uc3Qg
V2ViQ29yZTo6TGF5b3V0OjpTbG90UG9zaXRpb24mIGIpIHsgcmV0dXJuIGEgPT0gYjsgfQorICAg
IHN0YXRpYyBjb25zdCBib29sIHNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkID0gdHJ1ZTsK
K307Cit0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPFdlYkNvcmU6OkxheW91dDo6U2xvdFBv
c2l0aW9uPiA6IEdlbmVyaWNIYXNoVHJhaXRzPFdlYkNvcmU6OkxheW91dDo6U2xvdFBvc2l0aW9u
PiB7CisgICAgc3RhdGljIFdlYkNvcmU6OkxheW91dDo6U2xvdFBvc2l0aW9uIGVtcHR5VmFsdWUo
KSB7IHJldHVybiBXZWJDb3JlOjpMYXlvdXQ6OlNsb3RQb3NpdGlvbigwLCBXZWJDb3JlOjppbnRN
aW5Gb3JMYXlvdXRVbml0KTsgfQorCisgICAgc3RhdGljIHZvaWQgY29uc3RydWN0RGVsZXRlZFZh
bHVlKFdlYkNvcmU6OkxheW91dDo6U2xvdFBvc2l0aW9uJiBzbG90KSB7IHNsb3QgPSBXZWJDb3Jl
OjpMYXlvdXQ6OlNsb3RQb3NpdGlvbihXZWJDb3JlOjppbnRNaW5Gb3JMYXlvdXRVbml0LCAwKTsg
fQorICAgIHN0YXRpYyBib29sIGlzRGVsZXRlZFZhbHVlKGNvbnN0IFdlYkNvcmU6OkxheW91dDo6
U2xvdFBvc2l0aW9uJiBzbG90KSB7IHJldHVybiBzbG90ID09IFdlYkNvcmU6OkxheW91dDo6U2xv
dFBvc2l0aW9uKFdlYkNvcmU6OmludE1pbkZvckxheW91dFVuaXQsIDApOyB9Cit9OwordGVtcGxh
dGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViQ29yZTo6TGF5b3V0OjpTbG90UG9zaXRpb24+IHsK
KyAgICB0eXBlZGVmIFNsb3RQb3NpdGlvbkhhc2ggSGFzaDsKK307Cit9CisKICNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0Qm94LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dEJveC5jcHAKaW5kZXggZGZm
MDhhNDQ5M2Q1MTMyNWY0MzA0MDM4YzA4MTA5ZDE2YzFkNDI0Zi4uZGFiMDUwNDZiNWNkNjU3M2M1
MWQ1NjNmYjJjYjM4ZTVjMWZjOGQwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2xheW91dHRyZWUvTGF5b3V0Qm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5
b3V0dHJlZS9MYXlvdXRCb3guY3BwCkBAIC0zODcsMjggKzM4NywyOCBAQCBib29sIEJveDo6aXNQ
YWRkaW5nQXBwbGljYWJsZSgpIGNvbnN0CiAgICAgICAgICYmICFpc1RhYmxlQ29sdW1uKCk7CiB9
CiAKLXZvaWQgQm94OjpzZXRSb3dTcGFuKHVuc2lnbmVkIHJvd1NwYW4pCit2b2lkIEJveDo6c2V0
Um93U3BhbihzaXplX3Qgcm93U3BhbikKIHsKLSAgICBlbnN1cmVSYXJlRGF0YSgpLnJvd1NwYW4g
PSByb3dTcGFuOworICAgIGVuc3VyZVJhcmVEYXRhKCkudGFibGVDZWxsU3Bhbi5yb3cgPSByb3dT
cGFuOwogfQogCi12b2lkIEJveDo6c2V0Q29sdW1uU3Bhbih1bnNpZ25lZCBjb2x1bW5TcGFuKQor
dm9pZCBCb3g6OnNldENvbHVtblNwYW4oc2l6ZV90IGNvbHVtblNwYW4pCiB7Ci0gICAgZW5zdXJl
UmFyZURhdGEoKS5jb2x1bW5TcGFuID0gY29sdW1uU3BhbjsKKyAgICBlbnN1cmVSYXJlRGF0YSgp
LnRhYmxlQ2VsbFNwYW4uY29sdW1uID0gY29sdW1uU3BhbjsKIH0KIAotdW5zaWduZWQgQm94Ojpy
b3dTcGFuKCkgY29uc3QKK3NpemVfdCBCb3g6OnJvd1NwYW4oKSBjb25zdAogewogICAgIGlmICgh
aGFzUmFyZURhdGEoKSkKICAgICAgICAgcmV0dXJuIDE7Ci0gICAgcmV0dXJuIHJhcmVEYXRhKCku
cm93U3BhbjsKKyAgICByZXR1cm4gcmFyZURhdGEoKS50YWJsZUNlbGxTcGFuLnJvdzsKIH0KIAot
dW5zaWduZWQgQm94Ojpjb2x1bW5TcGFuKCkgY29uc3QKK3NpemVfdCBCb3g6OmNvbHVtblNwYW4o
KSBjb25zdAogewogICAgIGlmICghaGFzUmFyZURhdGEoKSkKICAgICAgICAgcmV0dXJuIDE7Ci0g
ICAgcmV0dXJuIHJhcmVEYXRhKCkuY29sdW1uU3BhbjsKKyAgICByZXR1cm4gcmFyZURhdGEoKS50
YWJsZUNlbGxTcGFuLmNvbHVtbjsKIH0KIAogdm9pZCBCb3g6OnNldENvbHVtbldpZHRoKExheW91
dFVuaXQgY29sdW1uV2lkdGgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5
b3V0dHJlZS9MYXlvdXRCb3guaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xh
eW91dEJveC5oCmluZGV4IDBiZDQyMjFhZjQ1YmRlYjljNzM0YjFkNjk5NWJjM2ZkODIwMWFmZTIu
LjFlYWMxOGFmZTgwMWUwMmNiZDA4MzYyZmYwNTQ4ZGVjMjAzYjAwNzQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dEJveC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dEJveC5oCkBAIC0yNyw2ICsyNyw3IEBACiAK
ICNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKIAorI2luY2x1ZGUgIkxheW91
dFVuaXRzLmgiCiAjaW5jbHVkZSAiUmVuZGVyU3R5bGUuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFs
bG9jLmg+CiAjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KQEAgLTE1MCwxMSArMTUxLDExIEBAIHB1
YmxpYzoKICAgICBjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUoKSBjb25zdCB7IHJldHVybiBtX3N0
eWxlOyB9CiAKICAgICAvLyBGSVhNRTogRmluZCBhIGJldHRlciBwbGFjZSBmb3IgcmFuZG9tIERP
TSB0aGluZ3MuCi0gICAgdm9pZCBzZXRSb3dTcGFuKHVuc2lnbmVkKTsKLSAgICB1bnNpZ25lZCBy
b3dTcGFuKCkgY29uc3Q7CisgICAgdm9pZCBzZXRSb3dTcGFuKHNpemVfdCk7CisgICAgc2l6ZV90
IHJvd1NwYW4oKSBjb25zdDsKIAotICAgIHZvaWQgc2V0Q29sdW1uU3Bhbih1bnNpZ25lZCk7Ci0g
ICAgdW5zaWduZWQgY29sdW1uU3BhbigpIGNvbnN0OworICAgIHZvaWQgc2V0Q29sdW1uU3Bhbihz
aXplX3QpOworICAgIHNpemVfdCBjb2x1bW5TcGFuKCkgY29uc3Q7CiAKICAgICB2b2lkIHNldENv
bHVtbldpZHRoKExheW91dFVuaXQpOwogICAgIE9wdGlvbmFsPExheW91dFVuaXQ+IGNvbHVtbldp
ZHRoKCkgY29uc3Q7CkBAIC0xNzgsOCArMTc5LDcgQEAgcHJpdmF0ZToKICAgICBwdWJsaWM6CiAg
ICAgICAgIEJveFJhcmVEYXRhKCkgPSBkZWZhdWx0OwogCi0gICAgICAgIHVuc2lnbmVkIHJvd1Nw
YW4geyAxIH07Ci0gICAgICAgIHVuc2lnbmVkIGNvbHVtblNwYW4geyAxIH07CisgICAgICAgIENl
bGxTcGFuIHRhYmxlQ2VsbFNwYW47CiAgICAgICAgIE9wdGlvbmFsPExheW91dFVuaXQ+IGNvbHVt
bldpZHRoOwogICAgIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC90YWJs
ZWZvcm1hdHRpbmcvVGFibGVGb3JtYXR0aW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvdGFibGVmb3JtYXR0aW5nL1RhYmxlRm9ybWF0dGluZ0NvbnRleHQuY3BwCmluZGV4IGIy
NTJkZjY0NzQ0ZGRiYWM1ZGFkYmM1YmEwNjFlZDdiMTRmNDZmYmMuLjA4ZTAyODNmNGVkOGYxNjBm
MGU5YzJmMjUxZTNlNjFiNjQ3M2Q2NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC90YWJsZWZvcm1hdHRpbmcvVGFibGVGb3JtYXR0aW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbGF5b3V0L3RhYmxlZm9ybWF0dGluZy9UYWJsZUZvcm1hdHRpbmdDb250ZXh0LmNw
cApAQCAtMjU5LDIxICsyNTksMjEgQEAgdm9pZCBUYWJsZUZvcm1hdHRpbmdDb250ZXh0Ojpjb21w
dXRlUHJlZmVycmVkV2lkdGhGb3JDb2x1bW5zKCkKICAgICAgICAgICAgIGZvcm1hdHRpbmdTdGF0
ZS5zZXRJbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzRm9yQm94KGNlbGxCb3gsICppbnRyaW5zaWNX
aWR0aCk7CiAgICAgICAgIH0KIAotICAgICAgICBhdXRvIGNvbHVtblNwYW4gPSBjZWxsLT5zaXpl
KCkud2lkdGgoKTsKKyAgICAgICAgYXV0byBjb2x1bW5TcGFuID0gY2VsbC0+c3BhbigpLmNvbHVt
bjsKICAgICAgICAgYXV0byBzbG90SW50cmluc2ljV2lkdGggPSBGb3JtYXR0aW5nQ29udGV4dDo6
SW50cmluc2ljV2lkdGhDb25zdHJhaW50cyB7IGludHJpbnNpY1dpZHRoLT5taW5pbXVtIC8gY29s
dW1uU3BhbiwgaW50cmluc2ljV2lkdGgtPm1heGltdW0gLyBjb2x1bW5TcGFuIH07CiAgICAgICAg
IGF1dG8gaW5pdGlhbFBvc2l0aW9uID0gY2VsbC0+cG9zaXRpb24oKTsKLSAgICAgICAgZm9yIChh
dXRvIGkgPSAwOyBpIDwgY29sdW1uU3BhbjsgKytpKQotICAgICAgICAgICAgZ3JpZC5zbG90KHsg
aW5pdGlhbFBvc2l0aW9uLngoKSArIGksIGluaXRpYWxQb3NpdGlvbi55KCkgfSktPndpZHRoQ29u
c3RyYWludHMgPSBzbG90SW50cmluc2ljV2lkdGg7CisgICAgICAgIGZvciAoc2l6ZV90IGkgPSAw
OyBpIDwgY29sdW1uU3BhbjsgKytpKQorICAgICAgICAgICAgZ3JpZC5zbG90KHsgaW5pdGlhbFBv
c2l0aW9uLmNvbHVtbiArIGksIGluaXRpYWxQb3NpdGlvbi5yb3cgfSktPndpZHRoQ29uc3RyYWlu
dHMgPSBzbG90SW50cmluc2ljV2lkdGg7CiAgICAgfQogICAgIC8vIDIuIEZvciBlYWNoIGNvbHVt
biwgZGV0ZXJtaW5lIGEgbWF4aW11bSBhbmQgbWluaW11bSBjb2x1bW4gd2lkdGggZnJvbSB0aGUg
Y2VsbHMgdGhhdCBzcGFuIG9ubHkgdGhhdCBjb2x1bW4uCiAgICAgLy8gICAgVGhlIG1pbmltdW0g
aXMgdGhhdCByZXF1aXJlZCBieSB0aGUgY2VsbCB3aXRoIHRoZSBsYXJnZXN0IG1pbmltdW0gY2Vs
bCB3aWR0aCAob3IgdGhlIGNvbHVtbiAnd2lkdGgnLCB3aGljaGV2ZXIgaXMgbGFyZ2VyKS4KICAg
ICAvLyAgICBUaGUgbWF4aW11bSBpcyB0aGF0IHJlcXVpcmVkIGJ5IHRoZSBjZWxsIHdpdGggdGhl
IGxhcmdlc3QgbWF4aW11bSBjZWxsIHdpZHRoIChvciB0aGUgY29sdW1uICd3aWR0aCcsIHdoaWNo
ZXZlciBpcyBsYXJnZXIpLgogICAgIGF1dG8mIGNvbHVtbkxpc3QgPSBncmlkLmNvbHVtbnMoKS5s
aXN0KCk7Ci0gICAgaW50IG51bWJlck9mUm93cyA9IGdyaWQucm93cygpLnNpemUoKTsKLSAgICBp
bnQgbnVtYmVyT2ZDb2x1bW5zID0gY29sdW1uTGlzdC5zaXplKCk7Ci0gICAgZm9yIChpbnQgY29s
dW1uSW5kZXggPSAwOyBjb2x1bW5JbmRleCA8IG51bWJlck9mQ29sdW1uczsgKytjb2x1bW5JbmRl
eCkgeworICAgIGF1dG8gbnVtYmVyT2ZSb3dzID0gZ3JpZC5yb3dzKCkuc2l6ZSgpOworICAgIGF1
dG8gbnVtYmVyT2ZDb2x1bW5zID0gY29sdW1uTGlzdC5zaXplKCk7CisgICAgZm9yIChzaXplX3Qg
Y29sdW1uSW5kZXggPSAwOyBjb2x1bW5JbmRleCA8IG51bWJlck9mQ29sdW1uczsgKytjb2x1bW5J
bmRleCkgewogICAgICAgICBhdXRvIGNvbHVtbkludHJpbnNpY1dpZHRocyA9IEZvcm1hdHRpbmdD
b250ZXh0OjpJbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzIHsgfTsKLSAgICAgICAgZm9yIChpbnQg
cm93SW5kZXggPSAwOyByb3dJbmRleCA8IG51bWJlck9mUm93czsgKytyb3dJbmRleCkgeworICAg
ICAgICBmb3IgKHNpemVfdCByb3dJbmRleCA9IDA7IHJvd0luZGV4IDwgbnVtYmVyT2ZSb3dzOyAr
K3Jvd0luZGV4KSB7CiAgICAgICAgICAgICBhdXRvKiBzbG90ID0gZ3JpZC5zbG90KHsgY29sdW1u
SW5kZXgsIHJvd0luZGV4IH0pOwogICAgICAgICAgICAgY29sdW1uSW50cmluc2ljV2lkdGhzLm1p
bmltdW0gPSBzdGQ6Om1heChzbG90LT53aWR0aENvbnN0cmFpbnRzLm1pbmltdW0sIGNvbHVtbklu
dHJpbnNpY1dpZHRocy5taW5pbXVtKTsKICAgICAgICAgICAgIGNvbHVtbkludHJpbnNpY1dpZHRo
cy5tYXhpbXVtID0gc3RkOjptYXgoc2xvdC0+d2lkdGhDb25zdHJhaW50cy5tYXhpbXVtLCBjb2x1
bW5JbnRyaW5zaWNXaWR0aHMubWF4aW11bSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvdGFibGVmb3JtYXR0aW5nL1RhYmxlR3JpZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvdGFibGVmb3JtYXR0aW5nL1RhYmxlR3JpZC5jcHAKaW5kZXggYmFmMTZmYTczY2UyNjZlMjIx
MWI4YWY2ZTc0YjM4NTEzMDhjN2RkZS4uMzYwZDQ3NmM3MmJkOGY4ZTk1ODA4YmM2YTkyZTI3ZGRj
M2Q2MjM5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L3RhYmxlZm9ybWF0dGlu
Zy9UYWJsZUdyaWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC90YWJsZWZvcm1hdHRp
bmcvVGFibGVHcmlkLmNwcApAQCAtMTA4LDEwICsxMDgsMTAgQEAgVGFibGVHcmlkOjpSb3c6OlJv
dyhjb25zdCBCb3gmIHJvd0JveCkKIHsKIH0KIAotVGFibGVHcmlkOjpDZWxsOjpDZWxsKGNvbnN0
IEJveCYgY2VsbEJveCwgU2xvdFBvc2l0aW9uIHBvc2l0aW9uLCBDZWxsU2l6ZSBzaXplKQorVGFi
bGVHcmlkOjpDZWxsOjpDZWxsKGNvbnN0IEJveCYgY2VsbEJveCwgU2xvdFBvc2l0aW9uIHBvc2l0
aW9uLCBDZWxsU3BhbiBzcGFuKQogICAgIDogbV9sYXlvdXRCb3gobWFrZVdlYWtQdHIoY2VsbEJv
eCkpCiAgICAgLCBtX3Bvc2l0aW9uKHBvc2l0aW9uKQotICAgICwgbV9zaXplKHNpemUpCisgICAg
LCBtX3NwYW4oc3BhbikKIHsKIH0KIApAQCAtMTMxLDggKzEzMSw4IEBAIFRhYmxlR3JpZDo6U2xv
dCogVGFibGVHcmlkOjpzbG90KFNsb3RQb3NpdGlvbiBwb3NpdGlvbikKIAogdm9pZCBUYWJsZUdy
aWQ6OmFwcGVuZENlbGwoY29uc3QgQm94JiBjZWxsQm94KQogewotICAgIGludCByb3dTcGFuID0g
Y2VsbEJveC5yb3dTcGFuKCk7Ci0gICAgaW50IGNvbHVtblNwYW4gPSBjZWxsQm94LmNvbHVtblNw
YW4oKTsKKyAgICBhdXRvIHJvd1NwYW4gPSBjZWxsQm94LnJvd1NwYW4oKTsKKyAgICBhdXRvIGNv
bHVtblNwYW4gPSBjZWxsQm94LmNvbHVtblNwYW4oKTsKICAgICBhdXRvIGlzSW5OZXdSb3cgPSAh
Y2VsbEJveC5wcmV2aW91c1NpYmxpbmcoKTsKICAgICBhdXRvIGluaXRpYWxTbG90UG9zaXRpb24g
PSBTbG90UG9zaXRpb24geyB9OwogCkBAIC0xNDEsMjkgKzE0MSwyOSBAQCB2b2lkIFRhYmxlR3Jp
ZDo6YXBwZW5kQ2VsbChjb25zdCBCb3gmIGNlbGxCb3gpCiAgICAgICAgIGF1dG8gbGFzdFNsb3RQ
b3NpdGlvbiA9IGxhc3RDZWxsLT5wb3NpdGlvbigpOwogICAgICAgICAvLyBGaXJzdCB0YWJsZSBj
ZWxsIGluIHRoaXMgcm93PwogICAgICAgICBpZiAoaXNJbk5ld1JvdykKLSAgICAgICAgICAgIGlu
aXRpYWxTbG90UG9zaXRpb24gPSBTbG90UG9zaXRpb24geyAwLCBsYXN0U2xvdFBvc2l0aW9uLnko
KSArIDEgfTsKKyAgICAgICAgICAgIGluaXRpYWxTbG90UG9zaXRpb24gPSBTbG90UG9zaXRpb24g
eyAwLCBsYXN0U2xvdFBvc2l0aW9uLnJvdyArIDEgfTsKICAgICAgICAgZWxzZQotICAgICAgICAg
ICAgaW5pdGlhbFNsb3RQb3NpdGlvbiA9IFNsb3RQb3NpdGlvbiB7IGxhc3RTbG90UG9zaXRpb24u
eCgpICsgMSwgbGFzdFNsb3RQb3NpdGlvbi55KCkgfTsKKyAgICAgICAgICAgIGluaXRpYWxTbG90
UG9zaXRpb24gPSBTbG90UG9zaXRpb24geyBsYXN0U2xvdFBvc2l0aW9uLmNvbHVtbiArIDEsIGxh
c3RTbG90UG9zaXRpb24ucm93IH07CiAKICAgICAgICAgLy8gUGljayB0aGUgbmV4dCBhdmFpbGFi
bGUgc2xvdCBieSBhdm9pZGluZyByb3cgYW5kIGNvbHVtbiBzcGFubmVycy4KICAgICAgICAgd2hp
bGUgKHRydWUpIHsKICAgICAgICAgICAgIGlmICghbV9zbG90TWFwLmNvbnRhaW5zKGluaXRpYWxT
bG90UG9zaXRpb24pKQogICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgaW5pdGlh
bFNsb3RQb3NpdGlvbi5tb3ZlKDEsIDApOworICAgICAgICAgICAgKytpbml0aWFsU2xvdFBvc2l0
aW9uLmNvbHVtbjsKICAgICAgICAgfQogICAgIH0KLSAgICBhdXRvIGNlbGwgPSBtYWtlVW5pcXVl
PENlbGw+KGNlbGxCb3gsIGluaXRpYWxTbG90UG9zaXRpb24sIENlbGxTaXplIHsgY29sdW1uU3Bh
biwgcm93U3BhbiB9KTsKKyAgICBhdXRvIGNlbGwgPSBtYWtlVW5pcXVlPENlbGw+KGNlbGxCb3gs
IGluaXRpYWxTbG90UG9zaXRpb24sIENlbGxTcGFuIHsgY29sdW1uU3Bhbiwgcm93U3BhbiB9KTsK
ICAgICAvLyBSb3cgYW5kIGNvbHVtbiBzcGFubmVycyBjcmVhdGUgYWRkaXRpb25hbCBzbG90cy4K
LSAgICBmb3IgKGludCByb3cgPSAxOyByb3cgPD0gcm93U3BhbjsgKytyb3cpIHsKLSAgICAgICAg
Zm9yIChpbnQgY29sdW1uID0gMTsgY29sdW1uIDw9IGNvbHVtblNwYW47ICsrY29sdW1uKSB7Ci0g
ICAgICAgICAgICBhdXRvIHBvc2l0aW9uID0gU2xvdFBvc2l0aW9uIHsgaW5pdGlhbFNsb3RQb3Np
dGlvbi54KCkgKyBjb2x1bW4gLSAxLCBpbml0aWFsU2xvdFBvc2l0aW9uLnkoKSArIHJvdyAtIDEg
fTsKKyAgICBmb3IgKHNpemVfdCByb3cgPSAxOyByb3cgPD0gcm93U3BhbjsgKytyb3cpIHsKKyAg
ICAgICAgZm9yIChzaXplX3QgY29sdW1uID0gMTsgY29sdW1uIDw9IGNvbHVtblNwYW47ICsrY29s
dW1uKSB7CisgICAgICAgICAgICBhdXRvIHBvc2l0aW9uID0gU2xvdFBvc2l0aW9uIHsgaW5pdGlh
bFNsb3RQb3NpdGlvbi5jb2x1bW4gKyBjb2x1bW4gLSAxLCBpbml0aWFsU2xvdFBvc2l0aW9uLnJv
dyArIHJvdyAtIDEgfTsKICAgICAgICAgICAgIEFTU0VSVCghbV9zbG90TWFwLmNvbnRhaW5zKHBv
c2l0aW9uKSk7CiAgICAgICAgICAgICBtX3Nsb3RNYXAuYWRkKHBvc2l0aW9uLCBtYWtlVW5pcXVl
PFNsb3Q+KCpjZWxsKSk7CiAgICAgICAgIH0KICAgICB9CiAgICAgLy8gSW5pdGlhbGl6ZSBjb2x1
bW5zL3Jvd3MgaWYgbmVlZGVkLgotICAgIGF1dG8gbWlzc2luZ051bWJlck9mQ29sdW1ucyA9IHN0
ZDo6bWF4PGludD4oMCwgaW5pdGlhbFNsb3RQb3NpdGlvbi54KCkgKyBjb2x1bW5TcGFuIC0gbV9j
b2x1bW5zLnNpemUoKSk7IAotICAgIGZvciAoYXV0byBjb2x1bW4gPSAwOyBjb2x1bW4gPCBtaXNz
aW5nTnVtYmVyT2ZDb2x1bW5zOyArK2NvbHVtbikKKyAgICBhdXRvIG1pc3NpbmdOdW1iZXJPZkNv
bHVtbnMgPSBzdGQ6Om1heDxzaXplX3Q+KDAsIGluaXRpYWxTbG90UG9zaXRpb24uY29sdW1uICsg
Y29sdW1uU3BhbiAtIG1fY29sdW1ucy5zaXplKCkpOworICAgIGZvciAoc2l6ZV90IGNvbHVtbiA9
IDA7IGNvbHVtbiA8IG1pc3NpbmdOdW1iZXJPZkNvbHVtbnM7ICsrY29sdW1uKQogICAgICAgICBt
X2NvbHVtbnMuYWRkQW5vbnltb3VzQ29sdW1uKCk7CiAKICAgICBpZiAoaXNJbk5ld1JvdykKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC90YWJsZWZvcm1hdHRpbmcvVGFibGVHcmlk
LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvdGFibGVmb3JtYXR0aW5nL1RhYmxlR3JpZC5oCmlu
ZGV4IGVkZWNhZWI5YWUyZjlkMDFmOWRkZTgwM2RkZmViNWQxNTdlMjQ1MjEuLjIyYzg3OWM0YWFh
Mjg5ZjQyYjQ3MmU5NzUyMTk1MjJlZDlmMTU4MWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC90YWJsZWZvcm1hdHRpbmcvVGFibGVHcmlkLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L3RhYmxlZm9ybWF0dGluZy9UYWJsZUdyaWQuaApAQCAtMjgsNyArMjgsNyBAQAogI2lm
IEVOQUJMRShMQVlPVVRfRk9STUFUVElOR19DT05URVhUKQogCiAjaW5jbHVkZSAiRm9ybWF0dGlu
Z0NvbnRleHQuaCIKLSNpbmNsdWRlICJJbnRQb2ludEhhc2guaCIKKyNpbmNsdWRlICJMYXlvdXRV
bml0cy5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0lzb01hbGxv
Yy5oPgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CkBAIC0xMzgsMzIgKzEzOCwz
MCBAQCBwdWJsaWM6CiAgICAgICAgIFJvd0xpc3QgbV9yb3dMaXN0OwogICAgIH07CiAKLSAgICB1
c2luZyBTbG90UG9zaXRpb24gPSBJbnRQb2ludDsKLSAgICB1c2luZyBDZWxsU2l6ZSA9IEludFNp
emU7CiAgICAgLy8gQ2VsbCByZXByZXNlbnRzIGEgPHRkPiBvciA8dGg+LiBJdCBjYW4gc3BhbiBt
dWx0aXBsZSBzbG90cyBpbiB0aGUgZ3JpZC4KICAgICBjbGFzcyBDZWxsIDogcHVibGljIENhbk1h
a2VXZWFrUHRyPENlbGw+IHsKICAgICAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTkxJTkUo
Q2VsbCk7CiAgICAgcHVibGljOgotICAgICAgICBDZWxsKGNvbnN0IEJveCYsIFNsb3RQb3NpdGlv
biwgQ2VsbFNpemUpOworICAgICAgICBDZWxsKGNvbnN0IEJveCYsIFNsb3RQb3NpdGlvbiwgQ2Vs
bFNwYW4pOwogCi0gICAgICAgIHNpemVfdCBzdGFydENvbHVtbigpIGNvbnN0IHsgcmV0dXJuIG1f
cG9zaXRpb24ueCgpOyB9Ci0gICAgICAgIHNpemVfdCBlbmRDb2x1bW4oKSBjb25zdCB7IHJldHVy
biBtX3Bvc2l0aW9uLngoKSArIG1fc2l6ZS53aWR0aCgpOyB9CisgICAgICAgIHNpemVfdCBzdGFy
dENvbHVtbigpIGNvbnN0IHsgcmV0dXJuIG1fcG9zaXRpb24uY29sdW1uOyB9CisgICAgICAgIHNp
emVfdCBlbmRDb2x1bW4oKSBjb25zdCB7IHJldHVybiBtX3Bvc2l0aW9uLmNvbHVtbiArIG1fc3Bh
bi5jb2x1bW47IH0KIAotICAgICAgICBzaXplX3Qgc3RhcnRSb3coKSBjb25zdCB7IHJldHVybiBt
X3Bvc2l0aW9uLnkoKTsgfQotICAgICAgICBzaXplX3QgZW5kUm93KCkgY29uc3QgeyByZXR1cm4g
bV9wb3NpdGlvbi55KCkgKyBtX3NpemUuaGVpZ2h0KCk7IH0KKyAgICAgICAgc2l6ZV90IHN0YXJ0
Um93KCkgY29uc3QgeyByZXR1cm4gbV9wb3NpdGlvbi5yb3c7IH0KKyAgICAgICAgc2l6ZV90IGVu
ZFJvdygpIGNvbnN0IHsgcmV0dXJuIG1fcG9zaXRpb24ucm93ICsgbV9zcGFuLnJvdzsgfQogCi0g
ICAgICAgIHNpemVfdCBjb2x1bW5TcGFuKCkgY29uc3QgeyByZXR1cm4gbV9zaXplLndpZHRoKCk7
IH0KLSAgICAgICAgc2l6ZV90IHJvd1NwYW4oKSBjb25zdCB7IHJldHVybiBtX3NpemUuaGVpZ2h0
KCk7IH0KKyAgICAgICAgc2l6ZV90IGNvbHVtblNwYW4oKSBjb25zdCB7IHJldHVybiBtX3NwYW4u
Y29sdW1uOyB9CisgICAgICAgIHNpemVfdCByb3dTcGFuKCkgY29uc3QgeyByZXR1cm4gbV9zcGFu
LnJvdzsgfQogCiAgICAgICAgIFNsb3RQb3NpdGlvbiBwb3NpdGlvbigpIGNvbnN0IHsgcmV0dXJu
IG1fcG9zaXRpb247IH0KLSAgICAgICAgQ2VsbFNpemUgc2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1f
c2l6ZTsgfQorICAgICAgICBDZWxsU3BhbiBzcGFuKCkgY29uc3QgeyByZXR1cm4gbV9zcGFuOyB9
CiAKICAgICAgICAgY29uc3QgQm94JiBib3goKSBjb25zdCB7IHJldHVybiAqbV9sYXlvdXRCb3gu
Z2V0KCk7IH0KIAogICAgIHByaXZhdGU6CiAgICAgICAgIFdlYWtQdHI8Y29uc3QgQm94PiBtX2xh
eW91dEJveDsKICAgICAgICAgU2xvdFBvc2l0aW9uIG1fcG9zaXRpb247Ci0gICAgICAgIENlbGxT
aXplIG1fc2l6ZTsKKyAgICAgICAgQ2VsbFNwYW4gbV9zcGFuOwogICAgIH07CiAKICAgICBzdHJ1
Y3QgU2xvdCB7CkBAIC0yMDEsNCArMTk5LDUgQEAgcHJpdmF0ZToKIAogfQogfQorCiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>396220</attachid>
            <date>2020-04-12 08:58:58 -0700</date>
            <delta_ts>2020-04-12 09:07:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210399-20200412085857.patch</filename>
            <type>text/plain</type>
            <size>14760</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5OTc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2NkNDIxZDIwNGZiN2U3
YjIyMzhkZDFlZjMxZTlkODE1MTg4NDVjYS4uNWZkYWRkZGFjMDI0YTRjZWEzNTkxZjg5YjhiZDdi
ZWQzNjdlNDgzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDIwLTA0LTEyICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bVEZDXSBJbnRyb2R1
Y2UgZGVkaWNhdGVkIFNsb3RQb3NpdGlvbi9DZWxsU3BhbiBzdHJ1Y3RzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTAzOTkKKworICAgICAgICBSZXZp
ZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KKworICAgICAgICBTbG90UG9zaXRpb24uY29sdW1uL3Jv
dyBhbmQgQ2VsbFNwYW4uY29sdW1uL3JvdyByZWFkIGJldHRlci4KKworICAgICAgICAqIGxheW91
dC9MYXlvdXRVbml0cy5oOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpTbG90UG9zaXRpb246
OlNsb3RQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6Om9wZXJhdG9yPT0pOgor
ICAgICAgICAoV1RGOjpTbG90UG9zaXRpb25IYXNoOjpoYXNoKToKKyAgICAgICAgKFdURjo6U2xv
dFBvc2l0aW9uSGFzaDo6ZXF1YWwpOgorICAgICAgICAoV1RGOjpIYXNoVHJhaXRzPFdlYkNvcmU6
OkxheW91dDo6U2xvdFBvc2l0aW9uPjo6ZW1wdHlWYWx1ZSk6CisgICAgICAgIChXVEY6Okhhc2hU
cmFpdHM8V2ViQ29yZTo6TGF5b3V0OjpTbG90UG9zaXRpb24+Ojpjb25zdHJ1Y3REZWxldGVkVmFs
dWUpOgorICAgICAgICAoV1RGOjpIYXNoVHJhaXRzPFdlYkNvcmU6OkxheW91dDo6U2xvdFBvc2l0
aW9uPjo6aXNEZWxldGVkVmFsdWUpOgorICAgICAgICAqIGxheW91dC9sYXlvdXR0cmVlL0xheW91
dEJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJveDo6c2V0Um93U3Bhbik6Cisg
ICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJveDo6c2V0Q29sdW1uU3Bhbik6CisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6OkJveDo6cm93U3BhbiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXQ6OkJveDo6Y29sdW1uU3BhbiBjb25zdCk6CisgICAgICAgICogbGF5b3V0L2xheW91dHRy
ZWUvTGF5b3V0Qm94Lmg6CisgICAgICAgICogbGF5b3V0L3RhYmxlZm9ybWF0dGluZy9UYWJsZUZv
cm1hdHRpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6VGFibGVGb3Jt
YXR0aW5nQ29udGV4dDo6Y29tcHV0ZVByZWZlcnJlZFdpZHRoRm9yQ29sdW1ucyk6CisgICAgICAg
ICogbGF5b3V0L3RhYmxlZm9ybWF0dGluZy9UYWJsZUdyaWQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpUYWJsZUdyaWQ6OkNlbGw6OkNlbGwpOgorICAgICAgICAoV2ViQ29yZTo6TGF5
b3V0OjpUYWJsZUdyaWQ6OmFwcGVuZENlbGwpOgorICAgICAgICAqIGxheW91dC90YWJsZWZvcm1h
dHRpbmcvVGFibGVHcmlkLmg6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OlRhYmxlR3JpZDo6
Q2VsbDo6c3RhcnRDb2x1bW4gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpUYWJs
ZUdyaWQ6OkNlbGw6OmVuZENvbHVtbiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6
OlRhYmxlR3JpZDo6Q2VsbDo6c3RhcnRSb3cgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5
b3V0OjpUYWJsZUdyaWQ6OkNlbGw6OmVuZFJvdyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXQ6OlRhYmxlR3JpZDo6Q2VsbDo6Y29sdW1uU3BhbiBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpMYXlvdXQ6OlRhYmxlR3JpZDo6Q2VsbDo6cm93U3BhbiBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6OlRhYmxlR3JpZDo6Q2VsbDo6c3BhbiBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6OlRhYmxlR3JpZDo6Q2VsbDo6c2l6ZSBjb25zdCk6IERlbGV0ZWQuCisK
IDIwMjAtMDQtMTIgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBb
TEZDXVtURkNdIENsZWFudXAgY2xhc3Mvc3RydWN0L3ZhcmlhYmxlIG5hbWVzIGluIFRhYmxlR3Jp
ZC9UYWJsZUZvcm1hdHRpbmdDb250ZXh0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvTGF5b3V0VW5pdHMuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9MYXlvdXRVbml0cy5oCmlu
ZGV4IGMxMzExZjljNmU5OTYwOWJlNDMwZjA1ODE0NWQwZDBlZjM2M2FmMzQuLjkzYmM2NjcwZTQ1
NTZhZmIxNzFlM2FhZjVjZjY3MWIyYTdhNmQ3NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9MYXlvdXRVbml0cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9MYXlvdXRV
bml0cy5oCkBAIC0zMSw2ICszMSw4IEBACiAjaW5jbHVkZSAiTGF5b3V0UG9pbnQuaCIKICNpbmNs
dWRlICJMYXlvdXRSZWN0LmgiCiAjaW5jbHVkZSAiTWFyZ2luVHlwZXMuaCIKKyNpbmNsdWRlIDx3
dGYvSGFzaEZ1bmN0aW9ucy5oPgorI2luY2x1ZGUgPHd0Zi9IYXNoVHJhaXRzLmg+CiAjaW5jbHVk
ZSA8d3RmL09wdGlvbmFsLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTIwOSw2ICsyMTEs
NDggQEAgaW5saW5lIElubGluZUxheW91dFVuaXQgbWF4SW5saW5lTGF5b3V0VW5pdCgpCiAjZW5k
aWYKIH0KIAorc3RydWN0IFNsb3RQb3NpdGlvbiB7CisgICAgU2xvdFBvc2l0aW9uKCkgPSBkZWZh
dWx0OworICAgIFNsb3RQb3NpdGlvbihzaXplX3QgY29sdW1uLCBzaXplX3Qgcm93KTsKKworICAg
IHNpemVfdCBjb2x1bW4geyAwIH07CisgICAgc2l6ZV90IHJvdyB7IDAgfTsKK307CisKK2lubGlu
ZSBTbG90UG9zaXRpb246OlNsb3RQb3NpdGlvbihzaXplX3QgY29sdW1uLCBzaXplX3Qgcm93KQor
ICAgIDogY29sdW1uKGNvbHVtbikKKyAgICAsIHJvdyhyb3cpCit7Cit9CisKK2lubGluZSBib29s
IG9wZXJhdG9yPT0oY29uc3QgU2xvdFBvc2l0aW9uJiBhLCBjb25zdCBTbG90UG9zaXRpb24mIGIp
Cit7CisgICAgcmV0dXJuIGEuY29sdW1uID09IGIuY29sdW1uICYmIGEucm93ID09IGIucm93Owor
fQorCitzdHJ1Y3QgQ2VsbFNwYW4geworICAgIHNpemVfdCBjb2x1bW4geyAxIH07CisgICAgc2l6
ZV90IHJvdyB7IDEgfTsKK307CisKIH0KIH0KKworbmFtZXNwYWNlIFdURiB7CitzdHJ1Y3QgU2xv
dFBvc2l0aW9uSGFzaCB7CisgICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgV2ViQ29yZTo6
TGF5b3V0OjpTbG90UG9zaXRpb24mIHNsb3RQb3NpdGlvbikgeyByZXR1cm4gcGFpckludEhhc2go
c2xvdFBvc2l0aW9uLmNvbHVtbiwgc2xvdFBvc2l0aW9uLnJvdyk7IH0KKyAgICBzdGF0aWMgYm9v
bCBlcXVhbChjb25zdCBXZWJDb3JlOjpMYXlvdXQ6OlNsb3RQb3NpdGlvbiYgYSwgY29uc3QgV2Vi
Q29yZTo6TGF5b3V0OjpTbG90UG9zaXRpb24mIGIpIHsgcmV0dXJuIGEgPT0gYjsgfQorICAgIHN0
YXRpYyBjb25zdCBib29sIHNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkID0gdHJ1ZTsKK307
Cit0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPFdlYkNvcmU6OkxheW91dDo6U2xvdFBvc2l0
aW9uPiA6IEdlbmVyaWNIYXNoVHJhaXRzPFdlYkNvcmU6OkxheW91dDo6U2xvdFBvc2l0aW9uPiB7
CisgICAgc3RhdGljIFdlYkNvcmU6OkxheW91dDo6U2xvdFBvc2l0aW9uIGVtcHR5VmFsdWUoKSB7
IHJldHVybiBXZWJDb3JlOjpMYXlvdXQ6OlNsb3RQb3NpdGlvbigwLCBXZWJDb3JlOjppbnRNaW5G
b3JMYXlvdXRVbml0KTsgfQorCisgICAgc3RhdGljIHZvaWQgY29uc3RydWN0RGVsZXRlZFZhbHVl
KFdlYkNvcmU6OkxheW91dDo6U2xvdFBvc2l0aW9uJiBzbG90KSB7IHNsb3QgPSBXZWJDb3JlOjpM
YXlvdXQ6OlNsb3RQb3NpdGlvbihXZWJDb3JlOjppbnRNaW5Gb3JMYXlvdXRVbml0LCAwKTsgfQor
ICAgIHN0YXRpYyBib29sIGlzRGVsZXRlZFZhbHVlKGNvbnN0IFdlYkNvcmU6OkxheW91dDo6U2xv
dFBvc2l0aW9uJiBzbG90KSB7IHJldHVybiBzbG90ID09IFdlYkNvcmU6OkxheW91dDo6U2xvdFBv
c2l0aW9uKFdlYkNvcmU6OmludE1pbkZvckxheW91dFVuaXQsIDApOyB9Cit9OwordGVtcGxhdGU8
PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViQ29yZTo6TGF5b3V0OjpTbG90UG9zaXRpb24+IHsKKyAg
ICB0eXBlZGVmIFNsb3RQb3NpdGlvbkhhc2ggSGFzaDsKK307Cit9CisKICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0Qm94LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dEJveC5jcHAKaW5kZXggZGZmMDhh
NDQ5M2Q1MTMyNWY0MzA0MDM4YzA4MTA5ZDE2YzFkNDI0Zi4uZGFiMDUwNDZiNWNkNjU3M2M1MWQ1
NjNmYjJjYjM4ZTVjMWZjOGQwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xh
eW91dHRyZWUvTGF5b3V0Qm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0
dHJlZS9MYXlvdXRCb3guY3BwCkBAIC0zODcsMjggKzM4NywyOCBAQCBib29sIEJveDo6aXNQYWRk
aW5nQXBwbGljYWJsZSgpIGNvbnN0CiAgICAgICAgICYmICFpc1RhYmxlQ29sdW1uKCk7CiB9CiAK
LXZvaWQgQm94OjpzZXRSb3dTcGFuKHVuc2lnbmVkIHJvd1NwYW4pCit2b2lkIEJveDo6c2V0Um93
U3BhbihzaXplX3Qgcm93U3BhbikKIHsKLSAgICBlbnN1cmVSYXJlRGF0YSgpLnJvd1NwYW4gPSBy
b3dTcGFuOworICAgIGVuc3VyZVJhcmVEYXRhKCkudGFibGVDZWxsU3Bhbi5yb3cgPSByb3dTcGFu
OwogfQogCi12b2lkIEJveDo6c2V0Q29sdW1uU3Bhbih1bnNpZ25lZCBjb2x1bW5TcGFuKQordm9p
ZCBCb3g6OnNldENvbHVtblNwYW4oc2l6ZV90IGNvbHVtblNwYW4pCiB7Ci0gICAgZW5zdXJlUmFy
ZURhdGEoKS5jb2x1bW5TcGFuID0gY29sdW1uU3BhbjsKKyAgICBlbnN1cmVSYXJlRGF0YSgpLnRh
YmxlQ2VsbFNwYW4uY29sdW1uID0gY29sdW1uU3BhbjsKIH0KIAotdW5zaWduZWQgQm94Ojpyb3dT
cGFuKCkgY29uc3QKK3NpemVfdCBCb3g6OnJvd1NwYW4oKSBjb25zdAogewogICAgIGlmICghaGFz
UmFyZURhdGEoKSkKICAgICAgICAgcmV0dXJuIDE7Ci0gICAgcmV0dXJuIHJhcmVEYXRhKCkucm93
U3BhbjsKKyAgICByZXR1cm4gcmFyZURhdGEoKS50YWJsZUNlbGxTcGFuLnJvdzsKIH0KIAotdW5z
aWduZWQgQm94Ojpjb2x1bW5TcGFuKCkgY29uc3QKK3NpemVfdCBCb3g6OmNvbHVtblNwYW4oKSBj
b25zdAogewogICAgIGlmICghaGFzUmFyZURhdGEoKSkKICAgICAgICAgcmV0dXJuIDE7Ci0gICAg
cmV0dXJuIHJhcmVEYXRhKCkuY29sdW1uU3BhbjsKKyAgICByZXR1cm4gcmFyZURhdGEoKS50YWJs
ZUNlbGxTcGFuLmNvbHVtbjsKIH0KIAogdm9pZCBCb3g6OnNldENvbHVtbldpZHRoKExheW91dFVu
aXQgY29sdW1uV2lkdGgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0
dHJlZS9MYXlvdXRCb3guaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91
dEJveC5oCmluZGV4IDBiZDQyMjFhZjQ1YmRlYjljNzM0YjFkNjk5NWJjM2ZkODIwMWFmZTIuLjFl
YWMxOGFmZTgwMWUwMmNiZDA4MzYyZmYwNTQ4ZGVjMjAzYjAwNzQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dEJveC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dEJveC5oCkBAIC0yNyw2ICsyNyw3IEBACiAKICNp
ZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKIAorI2luY2x1ZGUgIkxheW91dFVu
aXRzLmgiCiAjaW5jbHVkZSAiUmVuZGVyU3R5bGUuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9j
Lmg+CiAjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KQEAgLTE1MCwxMSArMTUxLDExIEBAIHB1Ymxp
YzoKICAgICBjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUoKSBjb25zdCB7IHJldHVybiBtX3N0eWxl
OyB9CiAKICAgICAvLyBGSVhNRTogRmluZCBhIGJldHRlciBwbGFjZSBmb3IgcmFuZG9tIERPTSB0
aGluZ3MuCi0gICAgdm9pZCBzZXRSb3dTcGFuKHVuc2lnbmVkKTsKLSAgICB1bnNpZ25lZCByb3dT
cGFuKCkgY29uc3Q7CisgICAgdm9pZCBzZXRSb3dTcGFuKHNpemVfdCk7CisgICAgc2l6ZV90IHJv
d1NwYW4oKSBjb25zdDsKIAotICAgIHZvaWQgc2V0Q29sdW1uU3Bhbih1bnNpZ25lZCk7Ci0gICAg
dW5zaWduZWQgY29sdW1uU3BhbigpIGNvbnN0OworICAgIHZvaWQgc2V0Q29sdW1uU3BhbihzaXpl
X3QpOworICAgIHNpemVfdCBjb2x1bW5TcGFuKCkgY29uc3Q7CiAKICAgICB2b2lkIHNldENvbHVt
bldpZHRoKExheW91dFVuaXQpOwogICAgIE9wdGlvbmFsPExheW91dFVuaXQ+IGNvbHVtbldpZHRo
KCkgY29uc3Q7CkBAIC0xNzgsOCArMTc5LDcgQEAgcHJpdmF0ZToKICAgICBwdWJsaWM6CiAgICAg
ICAgIEJveFJhcmVEYXRhKCkgPSBkZWZhdWx0OwogCi0gICAgICAgIHVuc2lnbmVkIHJvd1NwYW4g
eyAxIH07Ci0gICAgICAgIHVuc2lnbmVkIGNvbHVtblNwYW4geyAxIH07CisgICAgICAgIENlbGxT
cGFuIHRhYmxlQ2VsbFNwYW47CiAgICAgICAgIE9wdGlvbmFsPExheW91dFVuaXQ+IGNvbHVtbldp
ZHRoOwogICAgIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC90YWJsZWZv
cm1hdHRpbmcvVGFibGVGb3JtYXR0aW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvdGFibGVmb3JtYXR0aW5nL1RhYmxlRm9ybWF0dGluZ0NvbnRleHQuY3BwCmluZGV4IGIyNTJk
ZjY0NzQ0ZGRiYWM1ZGFkYmM1YmEwNjFlZDdiMTRmNDZmYmMuLjA4ZTAyODNmNGVkOGYxNjBmMGU5
YzJmMjUxZTNlNjFiNjQ3M2Q2NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC90
YWJsZWZvcm1hdHRpbmcvVGFibGVGb3JtYXR0aW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L3RhYmxlZm9ybWF0dGluZy9UYWJsZUZvcm1hdHRpbmdDb250ZXh0LmNwcApA
QCAtMjU5LDIxICsyNTksMjEgQEAgdm9pZCBUYWJsZUZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRl
UHJlZmVycmVkV2lkdGhGb3JDb2x1bW5zKCkKICAgICAgICAgICAgIGZvcm1hdHRpbmdTdGF0ZS5z
ZXRJbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzRm9yQm94KGNlbGxCb3gsICppbnRyaW5zaWNXaWR0
aCk7CiAgICAgICAgIH0KIAotICAgICAgICBhdXRvIGNvbHVtblNwYW4gPSBjZWxsLT5zaXplKCku
d2lkdGgoKTsKKyAgICAgICAgYXV0byBjb2x1bW5TcGFuID0gY2VsbC0+c3BhbigpLmNvbHVtbjsK
ICAgICAgICAgYXV0byBzbG90SW50cmluc2ljV2lkdGggPSBGb3JtYXR0aW5nQ29udGV4dDo6SW50
cmluc2ljV2lkdGhDb25zdHJhaW50cyB7IGludHJpbnNpY1dpZHRoLT5taW5pbXVtIC8gY29sdW1u
U3BhbiwgaW50cmluc2ljV2lkdGgtPm1heGltdW0gLyBjb2x1bW5TcGFuIH07CiAgICAgICAgIGF1
dG8gaW5pdGlhbFBvc2l0aW9uID0gY2VsbC0+cG9zaXRpb24oKTsKLSAgICAgICAgZm9yIChhdXRv
IGkgPSAwOyBpIDwgY29sdW1uU3BhbjsgKytpKQotICAgICAgICAgICAgZ3JpZC5zbG90KHsgaW5p
dGlhbFBvc2l0aW9uLngoKSArIGksIGluaXRpYWxQb3NpdGlvbi55KCkgfSktPndpZHRoQ29uc3Ry
YWludHMgPSBzbG90SW50cmluc2ljV2lkdGg7CisgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBp
IDwgY29sdW1uU3BhbjsgKytpKQorICAgICAgICAgICAgZ3JpZC5zbG90KHsgaW5pdGlhbFBvc2l0
aW9uLmNvbHVtbiArIGksIGluaXRpYWxQb3NpdGlvbi5yb3cgfSktPndpZHRoQ29uc3RyYWludHMg
PSBzbG90SW50cmluc2ljV2lkdGg7CiAgICAgfQogICAgIC8vIDIuIEZvciBlYWNoIGNvbHVtbiwg
ZGV0ZXJtaW5lIGEgbWF4aW11bSBhbmQgbWluaW11bSBjb2x1bW4gd2lkdGggZnJvbSB0aGUgY2Vs
bHMgdGhhdCBzcGFuIG9ubHkgdGhhdCBjb2x1bW4uCiAgICAgLy8gICAgVGhlIG1pbmltdW0gaXMg
dGhhdCByZXF1aXJlZCBieSB0aGUgY2VsbCB3aXRoIHRoZSBsYXJnZXN0IG1pbmltdW0gY2VsbCB3
aWR0aCAob3IgdGhlIGNvbHVtbiAnd2lkdGgnLCB3aGljaGV2ZXIgaXMgbGFyZ2VyKS4KICAgICAv
LyAgICBUaGUgbWF4aW11bSBpcyB0aGF0IHJlcXVpcmVkIGJ5IHRoZSBjZWxsIHdpdGggdGhlIGxh
cmdlc3QgbWF4aW11bSBjZWxsIHdpZHRoIChvciB0aGUgY29sdW1uICd3aWR0aCcsIHdoaWNoZXZl
ciBpcyBsYXJnZXIpLgogICAgIGF1dG8mIGNvbHVtbkxpc3QgPSBncmlkLmNvbHVtbnMoKS5saXN0
KCk7Ci0gICAgaW50IG51bWJlck9mUm93cyA9IGdyaWQucm93cygpLnNpemUoKTsKLSAgICBpbnQg
bnVtYmVyT2ZDb2x1bW5zID0gY29sdW1uTGlzdC5zaXplKCk7Ci0gICAgZm9yIChpbnQgY29sdW1u
SW5kZXggPSAwOyBjb2x1bW5JbmRleCA8IG51bWJlck9mQ29sdW1uczsgKytjb2x1bW5JbmRleCkg
eworICAgIGF1dG8gbnVtYmVyT2ZSb3dzID0gZ3JpZC5yb3dzKCkuc2l6ZSgpOworICAgIGF1dG8g
bnVtYmVyT2ZDb2x1bW5zID0gY29sdW1uTGlzdC5zaXplKCk7CisgICAgZm9yIChzaXplX3QgY29s
dW1uSW5kZXggPSAwOyBjb2x1bW5JbmRleCA8IG51bWJlck9mQ29sdW1uczsgKytjb2x1bW5JbmRl
eCkgewogICAgICAgICBhdXRvIGNvbHVtbkludHJpbnNpY1dpZHRocyA9IEZvcm1hdHRpbmdDb250
ZXh0OjpJbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzIHsgfTsKLSAgICAgICAgZm9yIChpbnQgcm93
SW5kZXggPSAwOyByb3dJbmRleCA8IG51bWJlck9mUm93czsgKytyb3dJbmRleCkgeworICAgICAg
ICBmb3IgKHNpemVfdCByb3dJbmRleCA9IDA7IHJvd0luZGV4IDwgbnVtYmVyT2ZSb3dzOyArK3Jv
d0luZGV4KSB7CiAgICAgICAgICAgICBhdXRvKiBzbG90ID0gZ3JpZC5zbG90KHsgY29sdW1uSW5k
ZXgsIHJvd0luZGV4IH0pOwogICAgICAgICAgICAgY29sdW1uSW50cmluc2ljV2lkdGhzLm1pbmlt
dW0gPSBzdGQ6Om1heChzbG90LT53aWR0aENvbnN0cmFpbnRzLm1pbmltdW0sIGNvbHVtbkludHJp
bnNpY1dpZHRocy5taW5pbXVtKTsKICAgICAgICAgICAgIGNvbHVtbkludHJpbnNpY1dpZHRocy5t
YXhpbXVtID0gc3RkOjptYXgoc2xvdC0+d2lkdGhDb25zdHJhaW50cy5tYXhpbXVtLCBjb2x1bW5J
bnRyaW5zaWNXaWR0aHMubWF4aW11bSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvdGFibGVmb3JtYXR0aW5nL1RhYmxlR3JpZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
dGFibGVmb3JtYXR0aW5nL1RhYmxlR3JpZC5jcHAKaW5kZXggYmFmMTZmYTczY2UyNjZlMjIxMWI4
YWY2ZTc0YjM4NTEzMDhjN2RkZS4uMzYwZDQ3NmM3MmJkOGY4ZTk1ODA4YmM2YTkyZTI3ZGRjM2Q2
MjM5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L3RhYmxlZm9ybWF0dGluZy9U
YWJsZUdyaWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC90YWJsZWZvcm1hdHRpbmcv
VGFibGVHcmlkLmNwcApAQCAtMTA4LDEwICsxMDgsMTAgQEAgVGFibGVHcmlkOjpSb3c6OlJvdyhj
b25zdCBCb3gmIHJvd0JveCkKIHsKIH0KIAotVGFibGVHcmlkOjpDZWxsOjpDZWxsKGNvbnN0IEJv
eCYgY2VsbEJveCwgU2xvdFBvc2l0aW9uIHBvc2l0aW9uLCBDZWxsU2l6ZSBzaXplKQorVGFibGVH
cmlkOjpDZWxsOjpDZWxsKGNvbnN0IEJveCYgY2VsbEJveCwgU2xvdFBvc2l0aW9uIHBvc2l0aW9u
LCBDZWxsU3BhbiBzcGFuKQogICAgIDogbV9sYXlvdXRCb3gobWFrZVdlYWtQdHIoY2VsbEJveCkp
CiAgICAgLCBtX3Bvc2l0aW9uKHBvc2l0aW9uKQotICAgICwgbV9zaXplKHNpemUpCisgICAgLCBt
X3NwYW4oc3BhbikKIHsKIH0KIApAQCAtMTMxLDggKzEzMSw4IEBAIFRhYmxlR3JpZDo6U2xvdCog
VGFibGVHcmlkOjpzbG90KFNsb3RQb3NpdGlvbiBwb3NpdGlvbikKIAogdm9pZCBUYWJsZUdyaWQ6
OmFwcGVuZENlbGwoY29uc3QgQm94JiBjZWxsQm94KQogewotICAgIGludCByb3dTcGFuID0gY2Vs
bEJveC5yb3dTcGFuKCk7Ci0gICAgaW50IGNvbHVtblNwYW4gPSBjZWxsQm94LmNvbHVtblNwYW4o
KTsKKyAgICBhdXRvIHJvd1NwYW4gPSBjZWxsQm94LnJvd1NwYW4oKTsKKyAgICBhdXRvIGNvbHVt
blNwYW4gPSBjZWxsQm94LmNvbHVtblNwYW4oKTsKICAgICBhdXRvIGlzSW5OZXdSb3cgPSAhY2Vs
bEJveC5wcmV2aW91c1NpYmxpbmcoKTsKICAgICBhdXRvIGluaXRpYWxTbG90UG9zaXRpb24gPSBT
bG90UG9zaXRpb24geyB9OwogCkBAIC0xNDEsMjkgKzE0MSwyOSBAQCB2b2lkIFRhYmxlR3JpZDo6
YXBwZW5kQ2VsbChjb25zdCBCb3gmIGNlbGxCb3gpCiAgICAgICAgIGF1dG8gbGFzdFNsb3RQb3Np
dGlvbiA9IGxhc3RDZWxsLT5wb3NpdGlvbigpOwogICAgICAgICAvLyBGaXJzdCB0YWJsZSBjZWxs
IGluIHRoaXMgcm93PwogICAgICAgICBpZiAoaXNJbk5ld1JvdykKLSAgICAgICAgICAgIGluaXRp
YWxTbG90UG9zaXRpb24gPSBTbG90UG9zaXRpb24geyAwLCBsYXN0U2xvdFBvc2l0aW9uLnkoKSAr
IDEgfTsKKyAgICAgICAgICAgIGluaXRpYWxTbG90UG9zaXRpb24gPSBTbG90UG9zaXRpb24geyAw
LCBsYXN0U2xvdFBvc2l0aW9uLnJvdyArIDEgfTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAg
aW5pdGlhbFNsb3RQb3NpdGlvbiA9IFNsb3RQb3NpdGlvbiB7IGxhc3RTbG90UG9zaXRpb24ueCgp
ICsgMSwgbGFzdFNsb3RQb3NpdGlvbi55KCkgfTsKKyAgICAgICAgICAgIGluaXRpYWxTbG90UG9z
aXRpb24gPSBTbG90UG9zaXRpb24geyBsYXN0U2xvdFBvc2l0aW9uLmNvbHVtbiArIDEsIGxhc3RT
bG90UG9zaXRpb24ucm93IH07CiAKICAgICAgICAgLy8gUGljayB0aGUgbmV4dCBhdmFpbGFibGUg
c2xvdCBieSBhdm9pZGluZyByb3cgYW5kIGNvbHVtbiBzcGFubmVycy4KICAgICAgICAgd2hpbGUg
KHRydWUpIHsKICAgICAgICAgICAgIGlmICghbV9zbG90TWFwLmNvbnRhaW5zKGluaXRpYWxTbG90
UG9zaXRpb24pKQogICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgaW5pdGlhbFNs
b3RQb3NpdGlvbi5tb3ZlKDEsIDApOworICAgICAgICAgICAgKytpbml0aWFsU2xvdFBvc2l0aW9u
LmNvbHVtbjsKICAgICAgICAgfQogICAgIH0KLSAgICBhdXRvIGNlbGwgPSBtYWtlVW5pcXVlPENl
bGw+KGNlbGxCb3gsIGluaXRpYWxTbG90UG9zaXRpb24sIENlbGxTaXplIHsgY29sdW1uU3Bhbiwg
cm93U3BhbiB9KTsKKyAgICBhdXRvIGNlbGwgPSBtYWtlVW5pcXVlPENlbGw+KGNlbGxCb3gsIGlu
aXRpYWxTbG90UG9zaXRpb24sIENlbGxTcGFuIHsgY29sdW1uU3Bhbiwgcm93U3BhbiB9KTsKICAg
ICAvLyBSb3cgYW5kIGNvbHVtbiBzcGFubmVycyBjcmVhdGUgYWRkaXRpb25hbCBzbG90cy4KLSAg
ICBmb3IgKGludCByb3cgPSAxOyByb3cgPD0gcm93U3BhbjsgKytyb3cpIHsKLSAgICAgICAgZm9y
IChpbnQgY29sdW1uID0gMTsgY29sdW1uIDw9IGNvbHVtblNwYW47ICsrY29sdW1uKSB7Ci0gICAg
ICAgICAgICBhdXRvIHBvc2l0aW9uID0gU2xvdFBvc2l0aW9uIHsgaW5pdGlhbFNsb3RQb3NpdGlv
bi54KCkgKyBjb2x1bW4gLSAxLCBpbml0aWFsU2xvdFBvc2l0aW9uLnkoKSArIHJvdyAtIDEgfTsK
KyAgICBmb3IgKHNpemVfdCByb3cgPSAxOyByb3cgPD0gcm93U3BhbjsgKytyb3cpIHsKKyAgICAg
ICAgZm9yIChzaXplX3QgY29sdW1uID0gMTsgY29sdW1uIDw9IGNvbHVtblNwYW47ICsrY29sdW1u
KSB7CisgICAgICAgICAgICBhdXRvIHBvc2l0aW9uID0gU2xvdFBvc2l0aW9uIHsgaW5pdGlhbFNs
b3RQb3NpdGlvbi5jb2x1bW4gKyBjb2x1bW4gLSAxLCBpbml0aWFsU2xvdFBvc2l0aW9uLnJvdyAr
IHJvdyAtIDEgfTsKICAgICAgICAgICAgIEFTU0VSVCghbV9zbG90TWFwLmNvbnRhaW5zKHBvc2l0
aW9uKSk7CiAgICAgICAgICAgICBtX3Nsb3RNYXAuYWRkKHBvc2l0aW9uLCBtYWtlVW5pcXVlPFNs
b3Q+KCpjZWxsKSk7CiAgICAgICAgIH0KICAgICB9CiAgICAgLy8gSW5pdGlhbGl6ZSBjb2x1bW5z
L3Jvd3MgaWYgbmVlZGVkLgotICAgIGF1dG8gbWlzc2luZ051bWJlck9mQ29sdW1ucyA9IHN0ZDo6
bWF4PGludD4oMCwgaW5pdGlhbFNsb3RQb3NpdGlvbi54KCkgKyBjb2x1bW5TcGFuIC0gbV9jb2x1
bW5zLnNpemUoKSk7IAotICAgIGZvciAoYXV0byBjb2x1bW4gPSAwOyBjb2x1bW4gPCBtaXNzaW5n
TnVtYmVyT2ZDb2x1bW5zOyArK2NvbHVtbikKKyAgICBhdXRvIG1pc3NpbmdOdW1iZXJPZkNvbHVt
bnMgPSBzdGQ6Om1heDxzaXplX3Q+KDAsIGluaXRpYWxTbG90UG9zaXRpb24uY29sdW1uICsgY29s
dW1uU3BhbiAtIG1fY29sdW1ucy5zaXplKCkpOworICAgIGZvciAoc2l6ZV90IGNvbHVtbiA9IDA7
IGNvbHVtbiA8IG1pc3NpbmdOdW1iZXJPZkNvbHVtbnM7ICsrY29sdW1uKQogICAgICAgICBtX2Nv
bHVtbnMuYWRkQW5vbnltb3VzQ29sdW1uKCk7CiAKICAgICBpZiAoaXNJbk5ld1JvdykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC90YWJsZWZvcm1hdHRpbmcvVGFibGVHcmlkLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvdGFibGVmb3JtYXR0aW5nL1RhYmxlR3JpZC5oCmluZGV4
IGVkZWNhZWI5YWUyZjlkMDFmOWRkZTgwM2RkZmViNWQxNTdlMjQ1MjEuLjIyYzg3OWM0YWFhMjg5
ZjQyYjQ3MmU5NzUyMTk1MjJlZDlmMTU4MWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC90YWJsZWZvcm1hdHRpbmcvVGFibGVHcmlkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5
b3V0L3RhYmxlZm9ybWF0dGluZy9UYWJsZUdyaWQuaApAQCAtMjgsNyArMjgsNyBAQAogI2lmIEVO
QUJMRShMQVlPVVRfRk9STUFUVElOR19DT05URVhUKQogCiAjaW5jbHVkZSAiRm9ybWF0dGluZ0Nv
bnRleHQuaCIKLSNpbmNsdWRlICJJbnRQb2ludEhhc2guaCIKKyNpbmNsdWRlICJMYXlvdXRVbml0
cy5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvYy5o
PgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CkBAIC0xMzgsMzIgKzEzOCwzMCBA
QCBwdWJsaWM6CiAgICAgICAgIFJvd0xpc3QgbV9yb3dMaXN0OwogICAgIH07CiAKLSAgICB1c2lu
ZyBTbG90UG9zaXRpb24gPSBJbnRQb2ludDsKLSAgICB1c2luZyBDZWxsU2l6ZSA9IEludFNpemU7
CiAgICAgLy8gQ2VsbCByZXByZXNlbnRzIGEgPHRkPiBvciA8dGg+LiBJdCBjYW4gc3BhbiBtdWx0
aXBsZSBzbG90cyBpbiB0aGUgZ3JpZC4KICAgICBjbGFzcyBDZWxsIDogcHVibGljIENhbk1ha2VX
ZWFrUHRyPENlbGw+IHsKICAgICAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTkxJTkUoQ2Vs
bCk7CiAgICAgcHVibGljOgotICAgICAgICBDZWxsKGNvbnN0IEJveCYsIFNsb3RQb3NpdGlvbiwg
Q2VsbFNpemUpOworICAgICAgICBDZWxsKGNvbnN0IEJveCYsIFNsb3RQb3NpdGlvbiwgQ2VsbFNw
YW4pOwogCi0gICAgICAgIHNpemVfdCBzdGFydENvbHVtbigpIGNvbnN0IHsgcmV0dXJuIG1fcG9z
aXRpb24ueCgpOyB9Ci0gICAgICAgIHNpemVfdCBlbmRDb2x1bW4oKSBjb25zdCB7IHJldHVybiBt
X3Bvc2l0aW9uLngoKSArIG1fc2l6ZS53aWR0aCgpOyB9CisgICAgICAgIHNpemVfdCBzdGFydENv
bHVtbigpIGNvbnN0IHsgcmV0dXJuIG1fcG9zaXRpb24uY29sdW1uOyB9CisgICAgICAgIHNpemVf
dCBlbmRDb2x1bW4oKSBjb25zdCB7IHJldHVybiBtX3Bvc2l0aW9uLmNvbHVtbiArIG1fc3Bhbi5j
b2x1bW47IH0KIAotICAgICAgICBzaXplX3Qgc3RhcnRSb3coKSBjb25zdCB7IHJldHVybiBtX3Bv
c2l0aW9uLnkoKTsgfQotICAgICAgICBzaXplX3QgZW5kUm93KCkgY29uc3QgeyByZXR1cm4gbV9w
b3NpdGlvbi55KCkgKyBtX3NpemUuaGVpZ2h0KCk7IH0KKyAgICAgICAgc2l6ZV90IHN0YXJ0Um93
KCkgY29uc3QgeyByZXR1cm4gbV9wb3NpdGlvbi5yb3c7IH0KKyAgICAgICAgc2l6ZV90IGVuZFJv
dygpIGNvbnN0IHsgcmV0dXJuIG1fcG9zaXRpb24ucm93ICsgbV9zcGFuLnJvdzsgfQogCi0gICAg
ICAgIHNpemVfdCBjb2x1bW5TcGFuKCkgY29uc3QgeyByZXR1cm4gbV9zaXplLndpZHRoKCk7IH0K
LSAgICAgICAgc2l6ZV90IHJvd1NwYW4oKSBjb25zdCB7IHJldHVybiBtX3NpemUuaGVpZ2h0KCk7
IH0KKyAgICAgICAgc2l6ZV90IGNvbHVtblNwYW4oKSBjb25zdCB7IHJldHVybiBtX3NwYW4uY29s
dW1uOyB9CisgICAgICAgIHNpemVfdCByb3dTcGFuKCkgY29uc3QgeyByZXR1cm4gbV9zcGFuLnJv
dzsgfQogCiAgICAgICAgIFNsb3RQb3NpdGlvbiBwb3NpdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1f
cG9zaXRpb247IH0KLSAgICAgICAgQ2VsbFNpemUgc2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2l6
ZTsgfQorICAgICAgICBDZWxsU3BhbiBzcGFuKCkgY29uc3QgeyByZXR1cm4gbV9zcGFuOyB9CiAK
ICAgICAgICAgY29uc3QgQm94JiBib3goKSBjb25zdCB7IHJldHVybiAqbV9sYXlvdXRCb3guZ2V0
KCk7IH0KIAogICAgIHByaXZhdGU6CiAgICAgICAgIFdlYWtQdHI8Y29uc3QgQm94PiBtX2xheW91
dEJveDsKICAgICAgICAgU2xvdFBvc2l0aW9uIG1fcG9zaXRpb247Ci0gICAgICAgIENlbGxTaXpl
IG1fc2l6ZTsKKyAgICAgICAgQ2VsbFNwYW4gbV9zcGFuOwogICAgIH07CiAKICAgICBzdHJ1Y3Qg
U2xvdCB7CkBAIC0yMDEsNCArMTk5LDUgQEAgcHJpdmF0ZToKIAogfQogfQorCiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>396222</attachid>
            <date>2020-04-12 09:07:45 -0700</date>
            <delta_ts>2020-04-12 09:35:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210399-20200412090744.patch</filename>
            <type>text/plain</type>
            <size>14664</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5OTc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2NkNDIxZDIwNGZiN2U3
YjIyMzhkZDFlZjMxZTlkODE1MTg4NDVjYS4uNWZkYWRkZGFjMDI0YTRjZWEzNTkxZjg5YjhiZDdi
ZWQzNjdlNDgzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDIwLTA0LTEyICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bVEZDXSBJbnRyb2R1
Y2UgZGVkaWNhdGVkIFNsb3RQb3NpdGlvbi9DZWxsU3BhbiBzdHJ1Y3RzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTAzOTkKKworICAgICAgICBSZXZp
ZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KKworICAgICAgICBTbG90UG9zaXRpb24uY29sdW1uL3Jv
dyBhbmQgQ2VsbFNwYW4uY29sdW1uL3JvdyByZWFkIGJldHRlci4KKworICAgICAgICAqIGxheW91
dC9MYXlvdXRVbml0cy5oOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpTbG90UG9zaXRpb246
OlNsb3RQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6Om9wZXJhdG9yPT0pOgor
ICAgICAgICAoV1RGOjpTbG90UG9zaXRpb25IYXNoOjpoYXNoKToKKyAgICAgICAgKFdURjo6U2xv
dFBvc2l0aW9uSGFzaDo6ZXF1YWwpOgorICAgICAgICAoV1RGOjpIYXNoVHJhaXRzPFdlYkNvcmU6
OkxheW91dDo6U2xvdFBvc2l0aW9uPjo6ZW1wdHlWYWx1ZSk6CisgICAgICAgIChXVEY6Okhhc2hU
cmFpdHM8V2ViQ29yZTo6TGF5b3V0OjpTbG90UG9zaXRpb24+Ojpjb25zdHJ1Y3REZWxldGVkVmFs
dWUpOgorICAgICAgICAoV1RGOjpIYXNoVHJhaXRzPFdlYkNvcmU6OkxheW91dDo6U2xvdFBvc2l0
aW9uPjo6aXNEZWxldGVkVmFsdWUpOgorICAgICAgICAqIGxheW91dC9sYXlvdXR0cmVlL0xheW91
dEJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJveDo6c2V0Um93U3Bhbik6Cisg
ICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJveDo6c2V0Q29sdW1uU3Bhbik6CisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6OkJveDo6cm93U3BhbiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXQ6OkJveDo6Y29sdW1uU3BhbiBjb25zdCk6CisgICAgICAgICogbGF5b3V0L2xheW91dHRy
ZWUvTGF5b3V0Qm94Lmg6CisgICAgICAgICogbGF5b3V0L3RhYmxlZm9ybWF0dGluZy9UYWJsZUZv
cm1hdHRpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6VGFibGVGb3Jt
YXR0aW5nQ29udGV4dDo6Y29tcHV0ZVByZWZlcnJlZFdpZHRoRm9yQ29sdW1ucyk6CisgICAgICAg
ICogbGF5b3V0L3RhYmxlZm9ybWF0dGluZy9UYWJsZUdyaWQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpUYWJsZUdyaWQ6OkNlbGw6OkNlbGwpOgorICAgICAgICAoV2ViQ29yZTo6TGF5
b3V0OjpUYWJsZUdyaWQ6OmFwcGVuZENlbGwpOgorICAgICAgICAqIGxheW91dC90YWJsZWZvcm1h
dHRpbmcvVGFibGVHcmlkLmg6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OlRhYmxlR3JpZDo6
Q2VsbDo6c3RhcnRDb2x1bW4gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpUYWJs
ZUdyaWQ6OkNlbGw6OmVuZENvbHVtbiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6
OlRhYmxlR3JpZDo6Q2VsbDo6c3RhcnRSb3cgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5
b3V0OjpUYWJsZUdyaWQ6OkNlbGw6OmVuZFJvdyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXQ6OlRhYmxlR3JpZDo6Q2VsbDo6Y29sdW1uU3BhbiBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpMYXlvdXQ6OlRhYmxlR3JpZDo6Q2VsbDo6cm93U3BhbiBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6OlRhYmxlR3JpZDo6Q2VsbDo6c3BhbiBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6OlRhYmxlR3JpZDo6Q2VsbDo6c2l6ZSBjb25zdCk6IERlbGV0ZWQuCisK
IDIwMjAtMDQtMTIgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBb
TEZDXVtURkNdIENsZWFudXAgY2xhc3Mvc3RydWN0L3ZhcmlhYmxlIG5hbWVzIGluIFRhYmxlR3Jp
ZC9UYWJsZUZvcm1hdHRpbmdDb250ZXh0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvTGF5b3V0VW5pdHMuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9MYXlvdXRVbml0cy5oCmlu
ZGV4IGMxMzExZjljNmU5OTYwOWJlNDMwZjA1ODE0NWQwZDBlZjM2M2FmMzQuLjkzYmM2NjcwZTQ1
NTZhZmIxNzFlM2FhZjVjZjY3MWIyYTdhNmQ3NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9MYXlvdXRVbml0cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9MYXlvdXRV
bml0cy5oCkBAIC0zMSw2ICszMSw4IEBACiAjaW5jbHVkZSAiTGF5b3V0UG9pbnQuaCIKICNpbmNs
dWRlICJMYXlvdXRSZWN0LmgiCiAjaW5jbHVkZSAiTWFyZ2luVHlwZXMuaCIKKyNpbmNsdWRlIDx3
dGYvSGFzaEZ1bmN0aW9ucy5oPgorI2luY2x1ZGUgPHd0Zi9IYXNoVHJhaXRzLmg+CiAjaW5jbHVk
ZSA8d3RmL09wdGlvbmFsLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTIwOSw2ICsyMTEs
NDggQEAgaW5saW5lIElubGluZUxheW91dFVuaXQgbWF4SW5saW5lTGF5b3V0VW5pdCgpCiAjZW5k
aWYKIH0KIAorc3RydWN0IFNsb3RQb3NpdGlvbiB7CisgICAgU2xvdFBvc2l0aW9uKCkgPSBkZWZh
dWx0OworICAgIFNsb3RQb3NpdGlvbihzaXplX3QgY29sdW1uLCBzaXplX3Qgcm93KTsKKworICAg
IHNpemVfdCBjb2x1bW4geyAwIH07CisgICAgc2l6ZV90IHJvdyB7IDAgfTsKK307CisKK2lubGlu
ZSBTbG90UG9zaXRpb246OlNsb3RQb3NpdGlvbihzaXplX3QgY29sdW1uLCBzaXplX3Qgcm93KQor
ICAgIDogY29sdW1uKGNvbHVtbikKKyAgICAsIHJvdyhyb3cpCit7Cit9CisKK2lubGluZSBib29s
IG9wZXJhdG9yPT0oY29uc3QgU2xvdFBvc2l0aW9uJiBhLCBjb25zdCBTbG90UG9zaXRpb24mIGIp
Cit7CisgICAgcmV0dXJuIGEuY29sdW1uID09IGIuY29sdW1uICYmIGEucm93ID09IGIucm93Owor
fQorCitzdHJ1Y3QgQ2VsbFNwYW4geworICAgIHNpemVfdCBjb2x1bW4geyAxIH07CisgICAgc2l6
ZV90IHJvdyB7IDEgfTsKK307CisKIH0KIH0KKworbmFtZXNwYWNlIFdURiB7CitzdHJ1Y3QgU2xv
dFBvc2l0aW9uSGFzaCB7CisgICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgV2ViQ29yZTo6
TGF5b3V0OjpTbG90UG9zaXRpb24mIHNsb3RQb3NpdGlvbikgeyByZXR1cm4gcGFpckludEhhc2go
c2xvdFBvc2l0aW9uLmNvbHVtbiwgc2xvdFBvc2l0aW9uLnJvdyk7IH0KKyAgICBzdGF0aWMgYm9v
bCBlcXVhbChjb25zdCBXZWJDb3JlOjpMYXlvdXQ6OlNsb3RQb3NpdGlvbiYgYSwgY29uc3QgV2Vi
Q29yZTo6TGF5b3V0OjpTbG90UG9zaXRpb24mIGIpIHsgcmV0dXJuIGEgPT0gYjsgfQorICAgIHN0
YXRpYyBjb25zdCBib29sIHNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkID0gdHJ1ZTsKK307
Cit0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPFdlYkNvcmU6OkxheW91dDo6U2xvdFBvc2l0
aW9uPiA6IEdlbmVyaWNIYXNoVHJhaXRzPFdlYkNvcmU6OkxheW91dDo6U2xvdFBvc2l0aW9uPiB7
CisgICAgc3RhdGljIFdlYkNvcmU6OkxheW91dDo6U2xvdFBvc2l0aW9uIGVtcHR5VmFsdWUoKSB7
IHJldHVybiBXZWJDb3JlOjpMYXlvdXQ6OlNsb3RQb3NpdGlvbigwLCBXZWJDb3JlOjppbnRNaW5G
b3JMYXlvdXRVbml0KTsgfQorCisgICAgc3RhdGljIHZvaWQgY29uc3RydWN0RGVsZXRlZFZhbHVl
KFdlYkNvcmU6OkxheW91dDo6U2xvdFBvc2l0aW9uJiBzbG90KSB7IHNsb3QgPSBXZWJDb3JlOjpM
YXlvdXQ6OlNsb3RQb3NpdGlvbihXZWJDb3JlOjppbnRNaW5Gb3JMYXlvdXRVbml0LCAwKTsgfQor
ICAgIHN0YXRpYyBib29sIGlzRGVsZXRlZFZhbHVlKGNvbnN0IFdlYkNvcmU6OkxheW91dDo6U2xv
dFBvc2l0aW9uJiBzbG90KSB7IHJldHVybiBzbG90ID09IFdlYkNvcmU6OkxheW91dDo6U2xvdFBv
c2l0aW9uKFdlYkNvcmU6OmludE1pbkZvckxheW91dFVuaXQsIDApOyB9Cit9OwordGVtcGxhdGU8
PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViQ29yZTo6TGF5b3V0OjpTbG90UG9zaXRpb24+IHsKKyAg
ICB0eXBlZGVmIFNsb3RQb3NpdGlvbkhhc2ggSGFzaDsKK307Cit9CisKICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0Qm94LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dEJveC5jcHAKaW5kZXggZGZmMDhh
NDQ5M2Q1MTMyNWY0MzA0MDM4YzA4MTA5ZDE2YzFkNDI0Zi4uZGFiMDUwNDZiNWNkNjU3M2M1MWQ1
NjNmYjJjYjM4ZTVjMWZjOGQwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xh
eW91dHRyZWUvTGF5b3V0Qm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0
dHJlZS9MYXlvdXRCb3guY3BwCkBAIC0zODcsMjggKzM4NywyOCBAQCBib29sIEJveDo6aXNQYWRk
aW5nQXBwbGljYWJsZSgpIGNvbnN0CiAgICAgICAgICYmICFpc1RhYmxlQ29sdW1uKCk7CiB9CiAK
LXZvaWQgQm94OjpzZXRSb3dTcGFuKHVuc2lnbmVkIHJvd1NwYW4pCit2b2lkIEJveDo6c2V0Um93
U3BhbihzaXplX3Qgcm93U3BhbikKIHsKLSAgICBlbnN1cmVSYXJlRGF0YSgpLnJvd1NwYW4gPSBy
b3dTcGFuOworICAgIGVuc3VyZVJhcmVEYXRhKCkudGFibGVDZWxsU3Bhbi5yb3cgPSByb3dTcGFu
OwogfQogCi12b2lkIEJveDo6c2V0Q29sdW1uU3Bhbih1bnNpZ25lZCBjb2x1bW5TcGFuKQordm9p
ZCBCb3g6OnNldENvbHVtblNwYW4oc2l6ZV90IGNvbHVtblNwYW4pCiB7Ci0gICAgZW5zdXJlUmFy
ZURhdGEoKS5jb2x1bW5TcGFuID0gY29sdW1uU3BhbjsKKyAgICBlbnN1cmVSYXJlRGF0YSgpLnRh
YmxlQ2VsbFNwYW4uY29sdW1uID0gY29sdW1uU3BhbjsKIH0KIAotdW5zaWduZWQgQm94Ojpyb3dT
cGFuKCkgY29uc3QKK3NpemVfdCBCb3g6OnJvd1NwYW4oKSBjb25zdAogewogICAgIGlmICghaGFz
UmFyZURhdGEoKSkKICAgICAgICAgcmV0dXJuIDE7Ci0gICAgcmV0dXJuIHJhcmVEYXRhKCkucm93
U3BhbjsKKyAgICByZXR1cm4gcmFyZURhdGEoKS50YWJsZUNlbGxTcGFuLnJvdzsKIH0KIAotdW5z
aWduZWQgQm94Ojpjb2x1bW5TcGFuKCkgY29uc3QKK3NpemVfdCBCb3g6OmNvbHVtblNwYW4oKSBj
b25zdAogewogICAgIGlmICghaGFzUmFyZURhdGEoKSkKICAgICAgICAgcmV0dXJuIDE7Ci0gICAg
cmV0dXJuIHJhcmVEYXRhKCkuY29sdW1uU3BhbjsKKyAgICByZXR1cm4gcmFyZURhdGEoKS50YWJs
ZUNlbGxTcGFuLmNvbHVtbjsKIH0KIAogdm9pZCBCb3g6OnNldENvbHVtbldpZHRoKExheW91dFVu
aXQgY29sdW1uV2lkdGgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0
dHJlZS9MYXlvdXRCb3guaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91
dEJveC5oCmluZGV4IDBiZDQyMjFhZjQ1YmRlYjljNzM0YjFkNjk5NWJjM2ZkODIwMWFmZTIuLjFl
YWMxOGFmZTgwMWUwMmNiZDA4MzYyZmYwNTQ4ZGVjMjAzYjAwNzQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dEJveC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dEJveC5oCkBAIC0yNyw2ICsyNyw3IEBACiAKICNp
ZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKIAorI2luY2x1ZGUgIkxheW91dFVu
aXRzLmgiCiAjaW5jbHVkZSAiUmVuZGVyU3R5bGUuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9j
Lmg+CiAjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KQEAgLTE1MCwxMSArMTUxLDExIEBAIHB1Ymxp
YzoKICAgICBjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUoKSBjb25zdCB7IHJldHVybiBtX3N0eWxl
OyB9CiAKICAgICAvLyBGSVhNRTogRmluZCBhIGJldHRlciBwbGFjZSBmb3IgcmFuZG9tIERPTSB0
aGluZ3MuCi0gICAgdm9pZCBzZXRSb3dTcGFuKHVuc2lnbmVkKTsKLSAgICB1bnNpZ25lZCByb3dT
cGFuKCkgY29uc3Q7CisgICAgdm9pZCBzZXRSb3dTcGFuKHNpemVfdCk7CisgICAgc2l6ZV90IHJv
d1NwYW4oKSBjb25zdDsKIAotICAgIHZvaWQgc2V0Q29sdW1uU3Bhbih1bnNpZ25lZCk7Ci0gICAg
dW5zaWduZWQgY29sdW1uU3BhbigpIGNvbnN0OworICAgIHZvaWQgc2V0Q29sdW1uU3BhbihzaXpl
X3QpOworICAgIHNpemVfdCBjb2x1bW5TcGFuKCkgY29uc3Q7CiAKICAgICB2b2lkIHNldENvbHVt
bldpZHRoKExheW91dFVuaXQpOwogICAgIE9wdGlvbmFsPExheW91dFVuaXQ+IGNvbHVtbldpZHRo
KCkgY29uc3Q7CkBAIC0xNzgsOCArMTc5LDcgQEAgcHJpdmF0ZToKICAgICBwdWJsaWM6CiAgICAg
ICAgIEJveFJhcmVEYXRhKCkgPSBkZWZhdWx0OwogCi0gICAgICAgIHVuc2lnbmVkIHJvd1NwYW4g
eyAxIH07Ci0gICAgICAgIHVuc2lnbmVkIGNvbHVtblNwYW4geyAxIH07CisgICAgICAgIENlbGxT
cGFuIHRhYmxlQ2VsbFNwYW47CiAgICAgICAgIE9wdGlvbmFsPExheW91dFVuaXQ+IGNvbHVtbldp
ZHRoOwogICAgIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC90YWJsZWZv
cm1hdHRpbmcvVGFibGVGb3JtYXR0aW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvdGFibGVmb3JtYXR0aW5nL1RhYmxlRm9ybWF0dGluZ0NvbnRleHQuY3BwCmluZGV4IGIyNTJk
ZjY0NzQ0ZGRiYWM1ZGFkYmM1YmEwNjFlZDdiMTRmNDZmYmMuLjA4ZTAyODNmNGVkOGYxNjBmMGU5
YzJmMjUxZTNlNjFiNjQ3M2Q2NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC90
YWJsZWZvcm1hdHRpbmcvVGFibGVGb3JtYXR0aW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L3RhYmxlZm9ybWF0dGluZy9UYWJsZUZvcm1hdHRpbmdDb250ZXh0LmNwcApA
QCAtMjU5LDIxICsyNTksMjEgQEAgdm9pZCBUYWJsZUZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRl
UHJlZmVycmVkV2lkdGhGb3JDb2x1bW5zKCkKICAgICAgICAgICAgIGZvcm1hdHRpbmdTdGF0ZS5z
ZXRJbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzRm9yQm94KGNlbGxCb3gsICppbnRyaW5zaWNXaWR0
aCk7CiAgICAgICAgIH0KIAotICAgICAgICBhdXRvIGNvbHVtblNwYW4gPSBjZWxsLT5zaXplKCku
d2lkdGgoKTsKKyAgICAgICAgYXV0byBjb2x1bW5TcGFuID0gY2VsbC0+c3BhbigpLmNvbHVtbjsK
ICAgICAgICAgYXV0byBzbG90SW50cmluc2ljV2lkdGggPSBGb3JtYXR0aW5nQ29udGV4dDo6SW50
cmluc2ljV2lkdGhDb25zdHJhaW50cyB7IGludHJpbnNpY1dpZHRoLT5taW5pbXVtIC8gY29sdW1u
U3BhbiwgaW50cmluc2ljV2lkdGgtPm1heGltdW0gLyBjb2x1bW5TcGFuIH07CiAgICAgICAgIGF1
dG8gaW5pdGlhbFBvc2l0aW9uID0gY2VsbC0+cG9zaXRpb24oKTsKLSAgICAgICAgZm9yIChhdXRv
IGkgPSAwOyBpIDwgY29sdW1uU3BhbjsgKytpKQotICAgICAgICAgICAgZ3JpZC5zbG90KHsgaW5p
dGlhbFBvc2l0aW9uLngoKSArIGksIGluaXRpYWxQb3NpdGlvbi55KCkgfSktPndpZHRoQ29uc3Ry
YWludHMgPSBzbG90SW50cmluc2ljV2lkdGg7CisgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBp
IDwgY29sdW1uU3BhbjsgKytpKQorICAgICAgICAgICAgZ3JpZC5zbG90KHsgaW5pdGlhbFBvc2l0
aW9uLmNvbHVtbiArIGksIGluaXRpYWxQb3NpdGlvbi5yb3cgfSktPndpZHRoQ29uc3RyYWludHMg
PSBzbG90SW50cmluc2ljV2lkdGg7CiAgICAgfQogICAgIC8vIDIuIEZvciBlYWNoIGNvbHVtbiwg
ZGV0ZXJtaW5lIGEgbWF4aW11bSBhbmQgbWluaW11bSBjb2x1bW4gd2lkdGggZnJvbSB0aGUgY2Vs
bHMgdGhhdCBzcGFuIG9ubHkgdGhhdCBjb2x1bW4uCiAgICAgLy8gICAgVGhlIG1pbmltdW0gaXMg
dGhhdCByZXF1aXJlZCBieSB0aGUgY2VsbCB3aXRoIHRoZSBsYXJnZXN0IG1pbmltdW0gY2VsbCB3
aWR0aCAob3IgdGhlIGNvbHVtbiAnd2lkdGgnLCB3aGljaGV2ZXIgaXMgbGFyZ2VyKS4KICAgICAv
LyAgICBUaGUgbWF4aW11bSBpcyB0aGF0IHJlcXVpcmVkIGJ5IHRoZSBjZWxsIHdpdGggdGhlIGxh
cmdlc3QgbWF4aW11bSBjZWxsIHdpZHRoIChvciB0aGUgY29sdW1uICd3aWR0aCcsIHdoaWNoZXZl
ciBpcyBsYXJnZXIpLgogICAgIGF1dG8mIGNvbHVtbkxpc3QgPSBncmlkLmNvbHVtbnMoKS5saXN0
KCk7Ci0gICAgaW50IG51bWJlck9mUm93cyA9IGdyaWQucm93cygpLnNpemUoKTsKLSAgICBpbnQg
bnVtYmVyT2ZDb2x1bW5zID0gY29sdW1uTGlzdC5zaXplKCk7Ci0gICAgZm9yIChpbnQgY29sdW1u
SW5kZXggPSAwOyBjb2x1bW5JbmRleCA8IG51bWJlck9mQ29sdW1uczsgKytjb2x1bW5JbmRleCkg
eworICAgIGF1dG8gbnVtYmVyT2ZSb3dzID0gZ3JpZC5yb3dzKCkuc2l6ZSgpOworICAgIGF1dG8g
bnVtYmVyT2ZDb2x1bW5zID0gY29sdW1uTGlzdC5zaXplKCk7CisgICAgZm9yIChzaXplX3QgY29s
dW1uSW5kZXggPSAwOyBjb2x1bW5JbmRleCA8IG51bWJlck9mQ29sdW1uczsgKytjb2x1bW5JbmRl
eCkgewogICAgICAgICBhdXRvIGNvbHVtbkludHJpbnNpY1dpZHRocyA9IEZvcm1hdHRpbmdDb250
ZXh0OjpJbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzIHsgfTsKLSAgICAgICAgZm9yIChpbnQgcm93
SW5kZXggPSAwOyByb3dJbmRleCA8IG51bWJlck9mUm93czsgKytyb3dJbmRleCkgeworICAgICAg
ICBmb3IgKHNpemVfdCByb3dJbmRleCA9IDA7IHJvd0luZGV4IDwgbnVtYmVyT2ZSb3dzOyArK3Jv
d0luZGV4KSB7CiAgICAgICAgICAgICBhdXRvKiBzbG90ID0gZ3JpZC5zbG90KHsgY29sdW1uSW5k
ZXgsIHJvd0luZGV4IH0pOwogICAgICAgICAgICAgY29sdW1uSW50cmluc2ljV2lkdGhzLm1pbmlt
dW0gPSBzdGQ6Om1heChzbG90LT53aWR0aENvbnN0cmFpbnRzLm1pbmltdW0sIGNvbHVtbkludHJp
bnNpY1dpZHRocy5taW5pbXVtKTsKICAgICAgICAgICAgIGNvbHVtbkludHJpbnNpY1dpZHRocy5t
YXhpbXVtID0gc3RkOjptYXgoc2xvdC0+d2lkdGhDb25zdHJhaW50cy5tYXhpbXVtLCBjb2x1bW5J
bnRyaW5zaWNXaWR0aHMubWF4aW11bSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvdGFibGVmb3JtYXR0aW5nL1RhYmxlR3JpZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
dGFibGVmb3JtYXR0aW5nL1RhYmxlR3JpZC5jcHAKaW5kZXggYmFmMTZmYTczY2UyNjZlMjIxMWI4
YWY2ZTc0YjM4NTEzMDhjN2RkZS4uMTM2NWU1ZGFjOWJmNTlmNzllNWU1M2UwMWVlMTdiZjk3ZDlh
OTEzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L3RhYmxlZm9ybWF0dGluZy9U
YWJsZUdyaWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC90YWJsZWZvcm1hdHRpbmcv
VGFibGVHcmlkLmNwcApAQCAtMTA4LDEwICsxMDgsMTAgQEAgVGFibGVHcmlkOjpSb3c6OlJvdyhj
b25zdCBCb3gmIHJvd0JveCkKIHsKIH0KIAotVGFibGVHcmlkOjpDZWxsOjpDZWxsKGNvbnN0IEJv
eCYgY2VsbEJveCwgU2xvdFBvc2l0aW9uIHBvc2l0aW9uLCBDZWxsU2l6ZSBzaXplKQorVGFibGVH
cmlkOjpDZWxsOjpDZWxsKGNvbnN0IEJveCYgY2VsbEJveCwgU2xvdFBvc2l0aW9uIHBvc2l0aW9u
LCBDZWxsU3BhbiBzcGFuKQogICAgIDogbV9sYXlvdXRCb3gobWFrZVdlYWtQdHIoY2VsbEJveCkp
CiAgICAgLCBtX3Bvc2l0aW9uKHBvc2l0aW9uKQotICAgICwgbV9zaXplKHNpemUpCisgICAgLCBt
X3NwYW4oc3BhbikKIHsKIH0KIApAQCAtMTMxLDggKzEzMSw4IEBAIFRhYmxlR3JpZDo6U2xvdCog
VGFibGVHcmlkOjpzbG90KFNsb3RQb3NpdGlvbiBwb3NpdGlvbikKIAogdm9pZCBUYWJsZUdyaWQ6
OmFwcGVuZENlbGwoY29uc3QgQm94JiBjZWxsQm94KQogewotICAgIGludCByb3dTcGFuID0gY2Vs
bEJveC5yb3dTcGFuKCk7Ci0gICAgaW50IGNvbHVtblNwYW4gPSBjZWxsQm94LmNvbHVtblNwYW4o
KTsKKyAgICBhdXRvIHJvd1NwYW4gPSBjZWxsQm94LnJvd1NwYW4oKTsKKyAgICBhdXRvIGNvbHVt
blNwYW4gPSBjZWxsQm94LmNvbHVtblNwYW4oKTsKICAgICBhdXRvIGlzSW5OZXdSb3cgPSAhY2Vs
bEJveC5wcmV2aW91c1NpYmxpbmcoKTsKICAgICBhdXRvIGluaXRpYWxTbG90UG9zaXRpb24gPSBT
bG90UG9zaXRpb24geyB9OwogCkBAIC0xNDEsMjggKzE0MSwyOCBAQCB2b2lkIFRhYmxlR3JpZDo6
YXBwZW5kQ2VsbChjb25zdCBCb3gmIGNlbGxCb3gpCiAgICAgICAgIGF1dG8gbGFzdFNsb3RQb3Np
dGlvbiA9IGxhc3RDZWxsLT5wb3NpdGlvbigpOwogICAgICAgICAvLyBGaXJzdCB0YWJsZSBjZWxs
IGluIHRoaXMgcm93PwogICAgICAgICBpZiAoaXNJbk5ld1JvdykKLSAgICAgICAgICAgIGluaXRp
YWxTbG90UG9zaXRpb24gPSBTbG90UG9zaXRpb24geyAwLCBsYXN0U2xvdFBvc2l0aW9uLnkoKSAr
IDEgfTsKKyAgICAgICAgICAgIGluaXRpYWxTbG90UG9zaXRpb24gPSBTbG90UG9zaXRpb24geyAw
LCBsYXN0U2xvdFBvc2l0aW9uLnJvdyArIDEgfTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAg
aW5pdGlhbFNsb3RQb3NpdGlvbiA9IFNsb3RQb3NpdGlvbiB7IGxhc3RTbG90UG9zaXRpb24ueCgp
ICsgMSwgbGFzdFNsb3RQb3NpdGlvbi55KCkgfTsKKyAgICAgICAgICAgIGluaXRpYWxTbG90UG9z
aXRpb24gPSBTbG90UG9zaXRpb24geyBsYXN0U2xvdFBvc2l0aW9uLmNvbHVtbiArIDEsIGxhc3RT
bG90UG9zaXRpb24ucm93IH07CiAKICAgICAgICAgLy8gUGljayB0aGUgbmV4dCBhdmFpbGFibGUg
c2xvdCBieSBhdm9pZGluZyByb3cgYW5kIGNvbHVtbiBzcGFubmVycy4KICAgICAgICAgd2hpbGUg
KHRydWUpIHsKICAgICAgICAgICAgIGlmICghbV9zbG90TWFwLmNvbnRhaW5zKGluaXRpYWxTbG90
UG9zaXRpb24pKQogICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgaW5pdGlhbFNs
b3RQb3NpdGlvbi5tb3ZlKDEsIDApOworICAgICAgICAgICAgKytpbml0aWFsU2xvdFBvc2l0aW9u
LmNvbHVtbjsKICAgICAgICAgfQogICAgIH0KLSAgICBhdXRvIGNlbGwgPSBtYWtlVW5pcXVlPENl
bGw+KGNlbGxCb3gsIGluaXRpYWxTbG90UG9zaXRpb24sIENlbGxTaXplIHsgY29sdW1uU3Bhbiwg
cm93U3BhbiB9KTsKKyAgICBhdXRvIGNlbGwgPSBtYWtlVW5pcXVlPENlbGw+KGNlbGxCb3gsIGlu
aXRpYWxTbG90UG9zaXRpb24sIENlbGxTcGFuIHsgY29sdW1uU3Bhbiwgcm93U3BhbiB9KTsKICAg
ICAvLyBSb3cgYW5kIGNvbHVtbiBzcGFubmVycyBjcmVhdGUgYWRkaXRpb25hbCBzbG90cy4KLSAg
ICBmb3IgKGludCByb3cgPSAxOyByb3cgPD0gcm93U3BhbjsgKytyb3cpIHsKLSAgICAgICAgZm9y
IChpbnQgY29sdW1uID0gMTsgY29sdW1uIDw9IGNvbHVtblNwYW47ICsrY29sdW1uKSB7Ci0gICAg
ICAgICAgICBhdXRvIHBvc2l0aW9uID0gU2xvdFBvc2l0aW9uIHsgaW5pdGlhbFNsb3RQb3NpdGlv
bi54KCkgKyBjb2x1bW4gLSAxLCBpbml0aWFsU2xvdFBvc2l0aW9uLnkoKSArIHJvdyAtIDEgfTsK
KyAgICBmb3IgKHNpemVfdCByb3cgPSAxOyByb3cgPD0gcm93U3BhbjsgKytyb3cpIHsKKyAgICAg
ICAgZm9yIChzaXplX3QgY29sdW1uID0gMTsgY29sdW1uIDw9IGNvbHVtblNwYW47ICsrY29sdW1u
KSB7CisgICAgICAgICAgICBhdXRvIHBvc2l0aW9uID0gU2xvdFBvc2l0aW9uIHsgaW5pdGlhbFNs
b3RQb3NpdGlvbi5jb2x1bW4gKyBjb2x1bW4gLSAxLCBpbml0aWFsU2xvdFBvc2l0aW9uLnJvdyAr
IHJvdyAtIDEgfTsKICAgICAgICAgICAgIEFTU0VSVCghbV9zbG90TWFwLmNvbnRhaW5zKHBvc2l0
aW9uKSk7CiAgICAgICAgICAgICBtX3Nsb3RNYXAuYWRkKHBvc2l0aW9uLCBtYWtlVW5pcXVlPFNs
b3Q+KCpjZWxsKSk7CiAgICAgICAgIH0KICAgICB9CiAgICAgLy8gSW5pdGlhbGl6ZSBjb2x1bW5z
L3Jvd3MgaWYgbmVlZGVkLgotICAgIGF1dG8gbWlzc2luZ051bWJlck9mQ29sdW1ucyA9IHN0ZDo6
bWF4PGludD4oMCwgaW5pdGlhbFNsb3RQb3NpdGlvbi54KCkgKyBjb2x1bW5TcGFuIC0gbV9jb2x1
bW5zLnNpemUoKSk7IAorICAgIGF1dG8gbWlzc2luZ051bWJlck9mQ29sdW1ucyA9IHN0ZDo6bWF4
PGludD4oMCwgaW5pdGlhbFNsb3RQb3NpdGlvbi5jb2x1bW4gKyBjb2x1bW5TcGFuIC0gbV9jb2x1
bW5zLnNpemUoKSk7CiAgICAgZm9yIChhdXRvIGNvbHVtbiA9IDA7IGNvbHVtbiA8IG1pc3NpbmdO
dW1iZXJPZkNvbHVtbnM7ICsrY29sdW1uKQogICAgICAgICBtX2NvbHVtbnMuYWRkQW5vbnltb3Vz
Q29sdW1uKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC90YWJsZWZvcm1h
dHRpbmcvVGFibGVHcmlkLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvdGFibGVmb3JtYXR0aW5n
L1RhYmxlR3JpZC5oCmluZGV4IGVkZWNhZWI5YWUyZjlkMDFmOWRkZTgwM2RkZmViNWQxNTdlMjQ1
MjEuLjIyYzg3OWM0YWFhMjg5ZjQyYjQ3MmU5NzUyMTk1MjJlZDlmMTU4MWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC90YWJsZWZvcm1hdHRpbmcvVGFibGVHcmlkLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L3RhYmxlZm9ybWF0dGluZy9UYWJsZUdyaWQuaApAQCAtMjgs
NyArMjgsNyBAQAogI2lmIEVOQUJMRShMQVlPVVRfRk9STUFUVElOR19DT05URVhUKQogCiAjaW5j
bHVkZSAiRm9ybWF0dGluZ0NvbnRleHQuaCIKLSNpbmNsdWRlICJJbnRQb2ludEhhc2guaCIKKyNp
bmNsdWRlICJMYXlvdXRVbml0cy5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVk
ZSA8d3RmL0lzb01hbGxvYy5oPgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CkBA
IC0xMzgsMzIgKzEzOCwzMCBAQCBwdWJsaWM6CiAgICAgICAgIFJvd0xpc3QgbV9yb3dMaXN0Owog
ICAgIH07CiAKLSAgICB1c2luZyBTbG90UG9zaXRpb24gPSBJbnRQb2ludDsKLSAgICB1c2luZyBD
ZWxsU2l6ZSA9IEludFNpemU7CiAgICAgLy8gQ2VsbCByZXByZXNlbnRzIGEgPHRkPiBvciA8dGg+
LiBJdCBjYW4gc3BhbiBtdWx0aXBsZSBzbG90cyBpbiB0aGUgZ3JpZC4KICAgICBjbGFzcyBDZWxs
IDogcHVibGljIENhbk1ha2VXZWFrUHRyPENlbGw+IHsKICAgICAgICAgV1RGX01BS0VfSVNPX0FM
TE9DQVRFRF9JTkxJTkUoQ2VsbCk7CiAgICAgcHVibGljOgotICAgICAgICBDZWxsKGNvbnN0IEJv
eCYsIFNsb3RQb3NpdGlvbiwgQ2VsbFNpemUpOworICAgICAgICBDZWxsKGNvbnN0IEJveCYsIFNs
b3RQb3NpdGlvbiwgQ2VsbFNwYW4pOwogCi0gICAgICAgIHNpemVfdCBzdGFydENvbHVtbigpIGNv
bnN0IHsgcmV0dXJuIG1fcG9zaXRpb24ueCgpOyB9Ci0gICAgICAgIHNpemVfdCBlbmRDb2x1bW4o
KSBjb25zdCB7IHJldHVybiBtX3Bvc2l0aW9uLngoKSArIG1fc2l6ZS53aWR0aCgpOyB9CisgICAg
ICAgIHNpemVfdCBzdGFydENvbHVtbigpIGNvbnN0IHsgcmV0dXJuIG1fcG9zaXRpb24uY29sdW1u
OyB9CisgICAgICAgIHNpemVfdCBlbmRDb2x1bW4oKSBjb25zdCB7IHJldHVybiBtX3Bvc2l0aW9u
LmNvbHVtbiArIG1fc3Bhbi5jb2x1bW47IH0KIAotICAgICAgICBzaXplX3Qgc3RhcnRSb3coKSBj
b25zdCB7IHJldHVybiBtX3Bvc2l0aW9uLnkoKTsgfQotICAgICAgICBzaXplX3QgZW5kUm93KCkg
Y29uc3QgeyByZXR1cm4gbV9wb3NpdGlvbi55KCkgKyBtX3NpemUuaGVpZ2h0KCk7IH0KKyAgICAg
ICAgc2l6ZV90IHN0YXJ0Um93KCkgY29uc3QgeyByZXR1cm4gbV9wb3NpdGlvbi5yb3c7IH0KKyAg
ICAgICAgc2l6ZV90IGVuZFJvdygpIGNvbnN0IHsgcmV0dXJuIG1fcG9zaXRpb24ucm93ICsgbV9z
cGFuLnJvdzsgfQogCi0gICAgICAgIHNpemVfdCBjb2x1bW5TcGFuKCkgY29uc3QgeyByZXR1cm4g
bV9zaXplLndpZHRoKCk7IH0KLSAgICAgICAgc2l6ZV90IHJvd1NwYW4oKSBjb25zdCB7IHJldHVy
biBtX3NpemUuaGVpZ2h0KCk7IH0KKyAgICAgICAgc2l6ZV90IGNvbHVtblNwYW4oKSBjb25zdCB7
IHJldHVybiBtX3NwYW4uY29sdW1uOyB9CisgICAgICAgIHNpemVfdCByb3dTcGFuKCkgY29uc3Qg
eyByZXR1cm4gbV9zcGFuLnJvdzsgfQogCiAgICAgICAgIFNsb3RQb3NpdGlvbiBwb3NpdGlvbigp
IGNvbnN0IHsgcmV0dXJuIG1fcG9zaXRpb247IH0KLSAgICAgICAgQ2VsbFNpemUgc2l6ZSgpIGNv
bnN0IHsgcmV0dXJuIG1fc2l6ZTsgfQorICAgICAgICBDZWxsU3BhbiBzcGFuKCkgY29uc3QgeyBy
ZXR1cm4gbV9zcGFuOyB9CiAKICAgICAgICAgY29uc3QgQm94JiBib3goKSBjb25zdCB7IHJldHVy
biAqbV9sYXlvdXRCb3guZ2V0KCk7IH0KIAogICAgIHByaXZhdGU6CiAgICAgICAgIFdlYWtQdHI8
Y29uc3QgQm94PiBtX2xheW91dEJveDsKICAgICAgICAgU2xvdFBvc2l0aW9uIG1fcG9zaXRpb247
Ci0gICAgICAgIENlbGxTaXplIG1fc2l6ZTsKKyAgICAgICAgQ2VsbFNwYW4gbV9zcGFuOwogICAg
IH07CiAKICAgICBzdHJ1Y3QgU2xvdCB7CkBAIC0yMDEsNCArMTk5LDUgQEAgcHJpdmF0ZToKIAog
fQogfQorCiAjZW5kaWYK
</data>

          </attachment>
      

    </bug>

</bugzilla>