<?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>213195</bug_id>
          
          <creation_ts>2020-06-15 08:05:58 -0700</creation_ts>
          <short_desc>[LFC]Floats] Cleanup FloatAvoider interface</short_desc>
          <delta_ts>2020-06-17 07:56:19 -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>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>1662645</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-06-15 08:05:58 -0700</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662646</commentid>
    <comment_count>1</comment_count>
      <attachid>401896</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-06-15 08:07:56 -0700</bug_when>
    <thetext>Created attachment 401896
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663479</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-06-17 07:55:53 -0700</bug_when>
    <thetext>Committed r263147: &lt;https://trac.webkit.org/changeset/263147&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 401896.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663480</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-06-17 07:56:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/64448318&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663481</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-06-17 07:56:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/64448323&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>401896</attachid>
            <date>2020-06-15 08:07:56 -0700</date>
            <delta_ts>2020-06-17 07:55:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213195-20200615080755.patch</filename>
            <type>text/plain</type>
            <size>16511</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyNDE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjQ1ZTIzMTdhMTYyZjFm
MGFiZDBkZmY1ZDgxZTIwMjAyNjM5ZTY1ZS4uNTBmNzZkOWMxYjMxZjVkOTM2NWU5NjcxM2Y1NTkw
MDVkYjljNjQ3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIwLTA2LTE1ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11GbG9hdHNdIENsZWFu
dXAgRmxvYXRBdm9pZGVyIGludGVyZmFjZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjEzMTk1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgUmVtb3ZlIHJlZHVuZGFudCBmdW5jdGlvbnMvcGFyYW1ldGVycy4K
KworICAgICAgICAqIGxheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6
OmNvbXB1dGVQb3NpdGlvblRvQXZvaWRGbG9hdHMpOgorICAgICAgICAqIGxheW91dC9mbG9hdHMv
RmxvYXRBdm9pZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6RmxvYXRBdm9pZGVy
OjpGbG9hdEF2b2lkZXIpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpGbG9hdEF2b2lkZXI6
OnRvcExlZnRJbkNvbnRhaW5pbmdCbG9jayBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogbGF5
b3V0L2Zsb2F0cy9GbG9hdEF2b2lkZXIuaDoKKyAgICAgICAgKiBsYXlvdXQvZmxvYXRzL0Zsb2F0
aW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OmZpbmRBdmFpbGFibGVQ
b3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkZsb2F0aW5nQ29udGV4dDo6cG9z
aXRpb25Gb3JGbG9hdCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkZsb2F0aW5n
Q29udGV4dDo6cG9zaXRpb25Gb3JOb25GbG9hdGluZ0Zsb2F0QXZvaWRlciBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OkZsb2F0aW5nQ29udGV4dDo6cG9zaXRpb25Gb3JGb3JtYXR0
aW5nQ29udGV4dFJvb3QgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0
OjpGbG9hdGluZ0NvbnRleHQ6OmZpbmRQb3NpdGlvbkZvckZsb2F0Qm94IGNvbnN0KTogRGVsZXRl
ZC4KKyAgICAgICAgKiBsYXlvdXQvZmxvYXRzL0Zsb2F0aW5nQ29udGV4dC5oOgorCiAyMDIwLTA2
LTE0ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bRmxv
YXRzXSBSZW1vdmUgRmxvYXRCb3ggY2xhc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuY3Bw
CmluZGV4IDk2NzhjOTc0N2Q4MzVmMzZjNTVlYzhkY2Y1MTIyYzI3MGI1NDc3NjQuLjRmZjdjNDE5
MTUwZWZkMGNhMzRhOGVjN2IyYTljMGZjY2EzNWNhNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdD
b250ZXh0LmNwcApAQCAtMjk1LDggKzI5NSw3IEBAIHZvaWQgQmxvY2tGb3JtYXR0aW5nQ29udGV4
dDo6Y29tcHV0ZVBvc2l0aW9uVG9Bdm9pZEZsb2F0cyhjb25zdCBGbG9hdGluZ0NvbnRleHQmCiAg
ICAgICAgIHJldHVybiBjb21wdXRlVmVydGljYWxQb3NpdGlvbkZvckZsb2F0Q2xlYXIoZmxvYXRp
bmdDb250ZXh0LCBsYXlvdXRCb3gpOwogCiAgICAgQVNTRVJUKGxheW91dEJveC5lc3RhYmxpc2hl
c0Zvcm1hdHRpbmdDb250ZXh0KCkpOwotICAgIGlmIChhdXRvIGFkanVzdGVkUG9zaXRpb24gPSBm
bG9hdGluZ0NvbnRleHQucG9zaXRpb25Gb3JGb3JtYXR0aW5nQ29udGV4dFJvb3QobGF5b3V0Qm94
KSkKLSAgICAgICAgZm9ybWF0dGluZ1N0YXRlKCkuZGlzcGxheUJveChsYXlvdXRCb3gpLnNldFRv
cExlZnQoKmFkanVzdGVkUG9zaXRpb24pOworICAgIGZvcm1hdHRpbmdTdGF0ZSgpLmRpc3BsYXlC
b3gobGF5b3V0Qm94KS5zZXRUb3BMZWZ0KGZsb2F0aW5nQ29udGV4dC5wb3NpdGlvbkZvck5vbkZs
b2F0aW5nRmxvYXRBdm9pZGVyKGxheW91dEJveCkpOwogfQogCiB2b2lkIEJsb2NrRm9ybWF0dGlu
Z0NvbnRleHQ6OmNvbXB1dGVWZXJ0aWNhbFBvc2l0aW9uRm9yRmxvYXRDbGVhcihjb25zdCBGbG9h
dGluZ0NvbnRleHQmIGZsb2F0aW5nQ29udGV4dCwgY29uc3QgQm94JiBsYXlvdXRCb3gpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZmxvYXRzL0Zsb2F0QXZvaWRlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvZmxvYXRzL0Zsb2F0QXZvaWRlci5jcHAKaW5kZXggZTQ5YjQ1
YmYxYzk5OTZkMWMyZDQzZjliMzY3MzIzZTI3ZGYzYmQzZS4uYzVlNDEwNjBjOTA3YzdkODNmNDNl
ZDQ0NTlkYzI3ZDU5NjZjYjBkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zs
b2F0cy9GbG9hdEF2b2lkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mbG9hdHMv
RmxvYXRBdm9pZGVyLmNwcApAQCAtMzksMTIgKzM5LDExIEBAIFdURl9NQUtFX0lTT19BTExPQ0FU
RURfSU1QTChGbG9hdEF2b2lkZXIpOwogCiAvLyBGbG9hdGluZyBib3hlcyBpbnRlcnNlY3QgdGhl
aXIgbWFyZ2luIGJveCB3aXRoIHRoZSBvdGhlciBmbG9hdHMgaW4gdGhlIGNvbnRleHQsCiAvLyB3
aGlsZSBvdGhlciBmbG9hdCBhdm9pZGVycyAoZS5nLiBub24tZmxvYXRpbmcgZm9ybWF0dGluZyBj
b250ZXh0IHJvb3RzKSBpbnRlcnNlY3QgdGhlaXIgYm9yZGVyIGJveC4KLUZsb2F0QXZvaWRlcjo6
RmxvYXRBdm9pZGVyKGNvbnN0IEJveCYgbGF5b3V0Qm94LCBMYXlvdXRQb2ludCBhYnNvbHV0ZVRv
cExlZnQsIExheW91dFVuaXQgYm9yZGVyQm94V2lkdGgsIGNvbnN0IEVkZ2VzJiBtYXJnaW4sIExh
eW91dFBvaW50IGNvbnRhaW5pbmdCbG9ja0Fic29sdXRlVG9wTGVmdCwgSG9yaXpvbnRhbEVkZ2Vz
IGNvbnRhaW5pbmdCbG9ja0Fic29sdXRlQ29udGVudEJveCkKK0Zsb2F0QXZvaWRlcjo6RmxvYXRB
dm9pZGVyKGNvbnN0IEJveCYgbGF5b3V0Qm94LCBMYXlvdXRQb2ludCBhYnNvbHV0ZVRvcExlZnQs
IExheW91dFVuaXQgYm9yZGVyQm94V2lkdGgsIGNvbnN0IEVkZ2VzJiBtYXJnaW4sIEhvcml6b250
YWxFZGdlcyBjb250YWluaW5nQmxvY2tBYnNvbHV0ZUNvbnRlbnRCb3gpCiAgICAgOiBtX2xheW91
dEJveChtYWtlV2Vha1B0cihsYXlvdXRCb3gpKQogICAgICwgbV9hYnNvbHV0ZVRvcExlZnQoYWJz
b2x1dGVUb3BMZWZ0KQogICAgICwgbV9ib3JkZXJCb3hXaWR0aChib3JkZXJCb3hXaWR0aCkKICAg
ICAsIG1fbWFyZ2luKG1hcmdpbikKLSAgICAsIG1fY29udGFpbmluZ0Jsb2NrQWJzb2x1dGVUb3BM
ZWZ0KGNvbnRhaW5pbmdCbG9ja0Fic29sdXRlVG9wTGVmdCkKICAgICAsIG1fY29udGFpbmluZ0Js
b2NrQWJzb2x1dGVDb250ZW50Qm94KGNvbnRhaW5pbmdCbG9ja0Fic29sdXRlQ29udGVudEJveCkK
IHsKICAgICBBU1NFUlQobV9sYXlvdXRCb3gtPmVzdGFibGlzaGVzQmxvY2tGb3JtYXR0aW5nQ29u
dGV4dCgpKTsKQEAgLTk2LDE1ICs5NSw2IEBAIGJvb2wgRmxvYXRBdm9pZGVyOjpvdmVyZmxvd3ND
b250YWluaW5nQmxvY2soKSBjb25zdAogICAgIHJldHVybiBtX2NvbnRhaW5pbmdCbG9ja0Fic29s
dXRlQ29udGVudEJveC5yaWdodCA8IHJpZ2h0OwogfQogCi1MYXlvdXRQb2ludCBGbG9hdEF2b2lk
ZXI6OnRvcExlZnRJbkNvbnRhaW5pbmdCbG9jaygpIGNvbnN0Ci17Ci0gICAgLy8gRnJvbSBmb3Jt
YXR0aW5nIHJvb3QgY29vcmRpbmF0ZSBzeXN0ZW0gYmFjayB0byBjb250YWluaW5nIGJsb2NrJ3Mu
Ci0gICAgaWYgKG1fY29udGFpbmluZ0Jsb2NrQWJzb2x1dGVUb3BMZWZ0LmlzWmVybygpKQotICAg
ICAgICByZXR1cm4gbV9hYnNvbHV0ZVRvcExlZnQ7Ci0KLSAgICByZXR1cm4geyBtX2Fic29sdXRl
VG9wTGVmdC54KCkgLSBtX2NvbnRhaW5pbmdCbG9ja0Fic29sdXRlVG9wTGVmdC54KCksIG1fYWJz
b2x1dGVUb3BMZWZ0LnkoKSAtIG1fY29udGFpbmluZ0Jsb2NrQWJzb2x1dGVUb3BMZWZ0LnkoKSB9
OwotfQotCiB9CiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9m
bG9hdHMvRmxvYXRBdm9pZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZmxvYXRzL0Zsb2F0
QXZvaWRlci5oCmluZGV4IGUyMDE4ODdiN2MyYzY5M2UyNTZlZWQ4YWY2ZDAxMzk2NmUwMDhkZjgu
LjdmNGQ4NTZhN2Q1Y2E2OTBjY2IzYjJhZmVlYzhlNGU0ODNhZDQ1MWMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9mbG9hdHMvRmxvYXRBdm9pZGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2Zsb2F0cy9GbG9hdEF2b2lkZXIuaApAQCAtNDEsNyArNDEsNyBAQCBuYW1l
c3BhY2UgTGF5b3V0IHsKIGNsYXNzIEZsb2F0QXZvaWRlciB7CiAgICAgV1RGX01BS0VfSVNPX0FM
TE9DQVRFRChGbG9hdEF2b2lkZXIpOwogcHVibGljOgotICAgIEZsb2F0QXZvaWRlcihjb25zdCBC
b3gmLCBMYXlvdXRQb2ludCBhYnNvbHV0ZVRvcExlZnQsIExheW91dFVuaXQgYm9yZGVyQm94V2lk
dGgsIGNvbnN0IEVkZ2VzJiBtYXJnaW4sIExheW91dFBvaW50IGNvbnRhaW5pbmdCbG9ja0Fic29s
dXRlVG9wTGVmdCwgSG9yaXpvbnRhbEVkZ2VzIGNvbnRhaW5pbmdCbG9ja0Fic29sdXRlQ29udGVu
dEJveCk7CisgICAgRmxvYXRBdm9pZGVyKGNvbnN0IEJveCYsIExheW91dFBvaW50IGFic29sdXRl
VG9wTGVmdCwgTGF5b3V0VW5pdCBib3JkZXJCb3hXaWR0aCwgY29uc3QgRWRnZXMmIG1hcmdpbiwg
SG9yaXpvbnRhbEVkZ2VzIGNvbnRhaW5pbmdCbG9ja0Fic29sdXRlQ29udGVudEJveCk7CiAgICAg
dmlydHVhbCB+RmxvYXRBdm9pZGVyKCkgPSBkZWZhdWx0OwogCiAgICAgdm9pZCBzZXRIb3Jpem9u
dGFsUG9zaXRpb24oTGF5b3V0VW5pdCk7CkBAIC01NCw4ICs1NCw2IEBAIHB1YmxpYzoKICAgICBM
YXlvdXRVbml0IGxlZnQoKSBjb25zdDsKICAgICBMYXlvdXRVbml0IHJpZ2h0KCkgY29uc3Q7CiAK
LSAgICBMYXlvdXRQb2ludCB0b3BMZWZ0SW5Db250YWluaW5nQmxvY2soKSBjb25zdDsKLQogICAg
IGJvb2wgaXNMZWZ0QWxpZ25lZCgpIGNvbnN0IHsgcmV0dXJuIGlzRmxvYXRpbmdCb3goKSA/IGxh
eW91dEJveCgpLmlzTGVmdEZsb2F0aW5nUG9zaXRpb25lZCgpIDogbGF5b3V0Qm94KCkuc3R5bGUo
KS5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCk7IH0KIAogcHJpdmF0ZToKQEAgLTc4LDcgKzc2LDYg
QEAgcHJpdmF0ZToKICAgICAvLyBOb3RlIHRoYXQgZmxvYXQgYXZvaWRlciBzaG91bGQgd29yayB3
aXRoIG5vIGhlaWdodCB2YWx1ZS4KICAgICBMYXlvdXRVbml0IG1fYm9yZGVyQm94V2lkdGg7CiAg
ICAgRWRnZXMgbV9tYXJnaW47Ci0gICAgTGF5b3V0UG9pbnQgbV9jb250YWluaW5nQmxvY2tBYnNv
bHV0ZVRvcExlZnQ7CiAgICAgSG9yaXpvbnRhbEVkZ2VzIG1fY29udGFpbmluZ0Jsb2NrQWJzb2x1
dGVDb250ZW50Qm94OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zs
b2F0cy9GbG9hdGluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zsb2F0cy9G
bG9hdGluZ0NvbnRleHQuY3BwCmluZGV4IDUzNDBjMjc0NGM5MmE4YjFjNThlNTZhM2M5MjQwMzFm
YjAxMDZlNjUuLjhhN2I1NjlhMmNkNjczYzcxZWMzZDgyMzMzYTVhZTYwNWQwMWI2ODAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mbG9hdHMvRmxvYXRpbmdDb250ZXh0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZmxvYXRzL0Zsb2F0aW5nQ29udGV4dC5jcHAKQEAg
LTE1Myw2ICsxNTMsNDggQEAgc3RhdGljIGJvb2wgYXJlRmxvYXRzSG9yaXpvbnRhbGx5U29ydGVk
KGNvbnN0IEZsb2F0aW5nU3RhdGUmIGZsb2F0aW5nU3RhdGUpCiB9CiAjZW5kaWYKIAorc3RhdGlj
IEZsb2F0UGFpcjo6TGVmdFJpZ2h0SW5kZXggZmluZEF2YWlsYWJsZVBvc2l0aW9uKEZsb2F0QXZv
aWRlciYgZmxvYXRBdm9pZGVyLCBjb25zdCBGbG9hdGluZ1N0YXRlOjpGbG9hdExpc3QmIGZsb2F0
cykKK3sKKyAgICBPcHRpb25hbDxQb3NpdGlvbkluQ29udGV4dFJvb3Q+IGJvdHRvbU1vc3Q7Cisg
ICAgT3B0aW9uYWw8RmxvYXRQYWlyOjpMZWZ0UmlnaHRJbmRleD4gaW5uZXJNb3N0TGVmdEFuZFJp
Z2h0OworICAgIGF1dG8gZW5kID0gTGF5b3V0OjplbmQoZmxvYXRzKTsKKyAgICBmb3IgKGF1dG8g
aXRlcmF0b3IgPSBiZWdpbihmbG9hdHMsIHsgZmxvYXRBdm9pZGVyLnRvcCgpIH0pOyBpdGVyYXRv
ciAhPSBlbmQ7ICsraXRlcmF0b3IpIHsKKyAgICAgICAgQVNTRVJUKCEoKml0ZXJhdG9yKS5pc0Vt
cHR5KCkpOworICAgICAgICBhdXRvIGxlZnRSaWdodEZsb2F0UGFpciA9ICppdGVyYXRvcjsKKyAg
ICAgICAgaW5uZXJNb3N0TGVmdEFuZFJpZ2h0ID0gaW5uZXJNb3N0TGVmdEFuZFJpZ2h0LnZhbHVl
T3IoKmxlZnRSaWdodEZsb2F0UGFpcik7CisKKyAgICAgICAgLy8gTW92ZSB0aGUgYm94IGhvcml6
b250YWxseSBzbyB0aGF0IGl0IGVpdGhlcgorICAgICAgICAvLyAxLiBhbGlnbnMgd2l0aCB0aGUg
Y3VycmVudCBmbG9hdGluZyBwYWlyCisgICAgICAgIC8vIDIuIG9yIHdpdGggdGhlIGNvbnRhaW5p
bmcgYmxvY2sncyBjb250ZW50IGJveCBpZiB0aGVyZSdzIG5vIGZsb2F0IHRvIGFsaWduIHdpdGgg
YXQgdGhpcyB2ZXJ0aWNhbCBwb3NpdGlvbi4KKyAgICAgICAgYXV0byBsZWZ0UmlnaHRFZGdlID0g
bGVmdFJpZ2h0RmxvYXRQYWlyLmhvcml6b250YWxDb25zdHJhaW50cygpOworICAgICAgICBpZiAo
YXV0byBob3Jpem9udGFsQ29uc3RyYWludCA9IGZsb2F0QXZvaWRlci5pc0xlZnRBbGlnbmVkKCkg
PyBsZWZ0UmlnaHRFZGdlLmxlZnQgOiBsZWZ0UmlnaHRFZGdlLnJpZ2h0KSAgCisgICAgICAgICAg
ICBmbG9hdEF2b2lkZXIuc2V0SG9yaXpvbnRhbFBvc2l0aW9uKCpob3Jpem9udGFsQ29uc3RyYWlu
dCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGZsb2F0QXZvaWRlci5yZXNldEhvcml6b250
YWxQb3NpdGlvbigpOworICAgICAgICBmbG9hdEF2b2lkZXIuc2V0VmVydGljYWxQb3NpdGlvbihs
ZWZ0UmlnaHRGbG9hdFBhaXIudmVydGljYWxDb25zdHJhaW50KCkpOworCisgICAgICAgIC8vIEVu
c3VyZSB0aGF0IHRoZSBmbG9hdCBhdm9pZGVyCisgICAgICAgIC8vIDEuIGRvZXMgbm90ICJvdmVy
ZmxvdyIgaXRzIGNvbnRhaW5pbmcgYmxvY2sgd2l0aCB0aGUgY3VycmVudCBob3JpenRvbmFsIGNv
bnN0cmFpbnRzLiBJdCBzaW1wbHkgbWVhbnMgdGhhdCB0aGUgZmxvYXQgYXZvaWRlcidzCisgICAg
ICAgIC8vIGNvbnRhaW5pbmcgYmxvY2sgY291bGQgcHVzaCB0aGUgY2FuZGlkYXRlIHBvc2l0aW9u
IGJleW9uZCB0aGUgY3VycmVudCBmbG9hdCBob3Jpem9udGFsbHkgKHRvbyBmYXIgdG8gdGhlIGxl
ZnQvcmlnaHQpCisgICAgICAgIC8vIDIuIGF2b2lkcyBmbG9hdHMgb24gYm90aCBzaWRlcy4KKyAg
ICAgICAgaWYgKCFmbG9hdEF2b2lkZXIub3ZlcmZsb3dzQ29udGFpbmluZ0Jsb2NrKCkgJiYgIWxl
ZnRSaWdodEZsb2F0UGFpci5pbnRlcnNlY3RzKGZsb2F0QXZvaWRlcikpCisgICAgICAgICAgICBy
ZXR1cm4gKmlubmVyTW9zdExlZnRBbmRSaWdodDsKKworICAgICAgICBib3R0b21Nb3N0ID0gbGVm
dFJpZ2h0RmxvYXRQYWlyLmJvdHRvbSgpOworICAgICAgICAvLyBNb3ZlIHRvIHRoZSBuZXh0IGZs
b2F0aW5nIHBhaXIuCisgICAgfQorCisgICAgLy8gVGhlIGNhbmRpZGF0ZSBib3ggaXMgYWxyZWFk
eSBiZWxvdyBvZiBhbGwgdGhlIGZsb2F0cy4KKyAgICBpZiAoIWJvdHRvbU1vc3QpCisgICAgICAg
IHJldHVybiB7IH07CisKKyAgICAvLyBQYXNzZWQgYWxsIHRoZSBmbG9hdHMgYW5kIHN0aWxsIGRv
ZXMgbm90IGZpdD8gUHVzaCBpdCBiZWxvdyB0aGUgbGFzdCBmbG9hdC4KKyAgICBmbG9hdEF2b2lk
ZXIuc2V0VmVydGljYWxQb3NpdGlvbigqYm90dG9tTW9zdCk7CisgICAgZmxvYXRBdm9pZGVyLnJl
c2V0SG9yaXpvbnRhbFBvc2l0aW9uKCk7CisgICAgQVNTRVJUKGlubmVyTW9zdExlZnRBbmRSaWdo
dCk7CisgICAgcmV0dXJuICppbm5lck1vc3RMZWZ0QW5kUmlnaHQ7Cit9CisKIHN0cnVjdCBGbG9h
dGluZ0NvbnRleHQ6OkFic29sdXRlQ29vcmRpbmF0ZVZhbHVlc0ZvckZsb2F0QXZvaWRlciB7CiAg
ICAgRGlzcGxheTo6Qm94IGRpc3BsYXlCb3g7CiAgICAgTGF5b3V0UG9pbnQgY29udGFpbmluZ0Js
b2NrVG9wTGVmdDsKQEAgLTE2Niw3ICsyMDgsNyBAQCBGbG9hdGluZ0NvbnRleHQ6OkZsb2F0aW5n
Q29udGV4dChjb25zdCBDb250YWluZXJCb3gmIGZsb2F0aW5nQ29udGV4dFJvb3QsIGNvbnN0CiB7
CiB9CiAKLVBvaW50IEZsb2F0aW5nQ29udGV4dDo6cG9zaXRpb25Gb3JGbG9hdChjb25zdCBCb3gm
IGxheW91dEJveCwgY29uc3QgSG9yaXpvbnRhbENvbnN0cmFpbnRzJiBob3Jpem9udGFsQ29uc3Ry
YWludHMpIGNvbnN0CitMYXlvdXRQb2ludCBGbG9hdGluZ0NvbnRleHQ6OnBvc2l0aW9uRm9yRmxv
YXQoY29uc3QgQm94JiBsYXlvdXRCb3gsIGNvbnN0IEhvcml6b250YWxDb25zdHJhaW50cyYgaG9y
aXpvbnRhbENvbnN0cmFpbnRzKSBjb25zdAogewogICAgIEFTU0VSVChsYXlvdXRCb3guaXNGbG9h
dGluZ1Bvc2l0aW9uZWQoKSk7CiAgICAgQVNTRVJUKGFyZUZsb2F0c0hvcml6b250YWxseVNvcnRl
ZChtX2Zsb2F0aW5nU3RhdGUpKTsKQEAgLTE5NSwxMyArMjM3LDE1IEBAIFBvaW50IEZsb2F0aW5n
Q29udGV4dDo6cG9zaXRpb25Gb3JGbG9hdChjb25zdCBCb3gmIGxheW91dEJveCwgY29uc3QgSG9y
aXpvbnRhbENvCiAgICAgLy8gVGFrZSB0aGUgc3RhdGljIHBvc2l0aW9uICh3aGVyZSB0aGUgYm94
IHdvdWxkIGdvIGlmIGl0IHdhc24ndCBmbG9hdGluZykgYW5kIGFkanVzdCBpdCB3aXRoIHRoZSBs
YXN0IGZsb2F0LgogICAgIGF1dG8gYWRqdXN0ZWRUb3AgPSBzdGQ6Om1heChhYnNvbHV0ZURpc3Bs
YXlCb3gudG9wKCkgLSBhYnNvbHV0ZURpc3BsYXlCb3gubWFyZ2luQmVmb3JlKCksIHByZXZpb3Vz
RmxvYXRBYnNvbHV0ZVRvcCk7CiAgICAgYWJzb2x1dGVEaXNwbGF5Qm94LnNldFRvcChhZGp1c3Rl
ZFRvcCArIGFic29sdXRlRGlzcGxheUJveC5tYXJnaW5CZWZvcmUoKSk7Ci0gICAgYXV0byBtYXJn
aW4gPSBFZGdlcyB7IHsgYWJzb2x1dGVEaXNwbGF5Qm94LmNvbXB1dGVkTWFyZ2luU3RhcnQoKS52
YWx1ZU9yKDApLCBhYnNvbHV0ZURpc3BsYXlCb3guY29tcHV0ZWRNYXJnaW5FbmQoKS52YWx1ZU9y
KDApIH0sIHsgYWJzb2x1dGVEaXNwbGF5Qm94Lm1hcmdpbkJlZm9yZSgpLCBhYnNvbHV0ZURpc3Bs
YXlCb3gubWFyZ2luQWZ0ZXIoKSB9IH07Ci0gICAgYXV0byBmbG9hdEJveCA9IEZsb2F0QXZvaWRl
ciB7IGxheW91dEJveCwgYWJzb2x1dGVEaXNwbGF5Qm94LnRvcExlZnQoKSwgYWJzb2x1dGVEaXNw
bGF5Qm94LndpZHRoKCksIG1hcmdpbiwgYWJzb2x1dGVEaXNwbGF5Qm94Q29vcmRpbmF0ZXMuY29u
dGFpbmluZ0Jsb2NrVG9wTGVmdCwgYWJzb2x1dGVEaXNwbGF5Qm94Q29vcmRpbmF0ZXMuY29udGFp
bmluZ0Jsb2NrQ29udGVudEJveCB9OwotICAgIGZpbmRQb3NpdGlvbkZvckZsb2F0Qm94KGZsb2F0
Qm94KTsKLSAgICByZXR1cm4gZmxvYXRCb3gudG9wTGVmdEluQ29udGFpbmluZ0Jsb2NrKCk7Cisg
ICAgYXV0byBtYXJnaW5zID0gRWRnZXMgeyB7IGFic29sdXRlRGlzcGxheUJveC5jb21wdXRlZE1h
cmdpblN0YXJ0KCkudmFsdWVPcigwKSwgYWJzb2x1dGVEaXNwbGF5Qm94LmNvbXB1dGVkTWFyZ2lu
RW5kKCkudmFsdWVPcigwKSB9LCB7IGFic29sdXRlRGlzcGxheUJveC5tYXJnaW5CZWZvcmUoKSwg
YWJzb2x1dGVEaXNwbGF5Qm94Lm1hcmdpbkFmdGVyKCkgfSB9OworICAgIGF1dG8gZmxvYXRCb3gg
PSBGbG9hdEF2b2lkZXIgeyBsYXlvdXRCb3gsIGFic29sdXRlRGlzcGxheUJveC50b3BMZWZ0KCks
IGFic29sdXRlRGlzcGxheUJveC53aWR0aCgpLCBtYXJnaW5zLCBhYnNvbHV0ZURpc3BsYXlCb3hD
b29yZGluYXRlcy5jb250YWluaW5nQmxvY2tDb250ZW50Qm94IH07CisgICAgZmluZEF2YWlsYWJs
ZVBvc2l0aW9uKGZsb2F0Qm94LCBtX2Zsb2F0aW5nU3RhdGUuZmxvYXRzKCkpOworICAgIC8vIEZy
b20gZm9ybWF0dGluZyByb290IGNvb3JkaW5hdGUgc3lzdGVtIGJhY2sgdG8gY29udGFpbmluZyBi
bG9jaydzLgorICAgIGF1dG8gY29udGFpbmluZ0Jsb2NrVG9wTGVmdCA9IGFic29sdXRlRGlzcGxh
eUJveENvb3JkaW5hdGVzLmNvbnRhaW5pbmdCbG9ja1RvcExlZnQ7CisgICAgcmV0dXJuIHsgZmxv
YXRCb3gubGVmdCgpICsgbWFyZ2lucy5ob3Jpem9udGFsLmxlZnQgLSBjb250YWluaW5nQmxvY2tU
b3BMZWZ0LngoKSwgZmxvYXRCb3gudG9wKCkgKyBtYXJnaW5zLnZlcnRpY2FsLnRvcCAtIGNvbnRh
aW5pbmdCbG9ja1RvcExlZnQueSgpIH07CiB9CiAKLU9wdGlvbmFsPFBvaW50PiBGbG9hdGluZ0Nv
bnRleHQ6OnBvc2l0aW9uRm9yRm9ybWF0dGluZ0NvbnRleHRSb290KGNvbnN0IEJveCYgbGF5b3V0
Qm94KSBjb25zdAorTGF5b3V0UG9pbnQgRmxvYXRpbmdDb250ZXh0Ojpwb3NpdGlvbkZvck5vbkZs
b2F0aW5nRmxvYXRBdm9pZGVyKGNvbnN0IEJveCYgbGF5b3V0Qm94KSBjb25zdAogewogICAgIEFT
U0VSVChsYXlvdXRCb3guZXN0YWJsaXNoZXNCbG9ja0Zvcm1hdHRpbmdDb250ZXh0KCkpOwogICAg
IEFTU0VSVCghbGF5b3V0Qm94LmlzRmxvYXRpbmdQb3NpdGlvbmVkKCkpOwpAQCAtMjA5LDE0ICsy
NTMsMTUgQEAgT3B0aW9uYWw8UG9pbnQ+IEZsb2F0aW5nQ29udGV4dDo6cG9zaXRpb25Gb3JGb3Jt
YXR0aW5nQ29udGV4dFJvb3QoY29uc3QgQm94JiBsYXkKICAgICBBU1NFUlQoYXJlRmxvYXRzSG9y
aXpvbnRhbGx5U29ydGVkKG1fZmxvYXRpbmdTdGF0ZSkpOwogCiAgICAgaWYgKGlzRW1wdHkoKSkK
LSAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgcmV0dXJuIGZvcm1hdHRpbmdDb250ZXh0KCku
Z2VvbWV0cnlGb3JCb3gobGF5b3V0Qm94KS50b3BMZWZ0KCk7CiAKICAgICBhdXRvIGFic29sdXRl
RGlzcGxheUJveENvb3JkaW5hdGVzID0gdGhpcy0+YWJzb2x1dGVEaXNwbGF5Qm94Q29vcmRpbmF0
ZXMobGF5b3V0Qm94KTsKICAgICBhdXRvIGFic29sdXRlRGlzcGxheUJveCA9IGFic29sdXRlRGlz
cGxheUJveENvb3JkaW5hdGVzLmRpc3BsYXlCb3g7Ci0gICAgYXV0byBtYXJnaW4gPSBFZGdlcyB7
IHsgYWJzb2x1dGVEaXNwbGF5Qm94LmNvbXB1dGVkTWFyZ2luU3RhcnQoKS52YWx1ZU9yKDApLCBh
YnNvbHV0ZURpc3BsYXlCb3guY29tcHV0ZWRNYXJnaW5FbmQoKS52YWx1ZU9yKDApIH0sIHsgYWJz
b2x1dGVEaXNwbGF5Qm94Lm1hcmdpbkJlZm9yZSgpLCBhYnNvbHV0ZURpc3BsYXlCb3gubWFyZ2lu
QWZ0ZXIoKSB9IH07Ci0gICAgYXV0byBmbG9hdEF2b2lkZXIgPSBGbG9hdEF2b2lkZXIgeyBsYXlv
dXRCb3gsIGFic29sdXRlRGlzcGxheUJveC50b3BMZWZ0KCksIGFic29sdXRlRGlzcGxheUJveC53
aWR0aCgpLCBtYXJnaW4sIGFic29sdXRlRGlzcGxheUJveENvb3JkaW5hdGVzLmNvbnRhaW5pbmdC
bG9ja1RvcExlZnQsIGFic29sdXRlRGlzcGxheUJveENvb3JkaW5hdGVzLmNvbnRhaW5pbmdCbG9j
a0NvbnRlbnRCb3ggfTsKKyAgICBhdXRvIG1hcmdpbnMgPSBFZGdlcyB7IHsgYWJzb2x1dGVEaXNw
bGF5Qm94LmNvbXB1dGVkTWFyZ2luU3RhcnQoKS52YWx1ZU9yKDApLCBhYnNvbHV0ZURpc3BsYXlC
b3guY29tcHV0ZWRNYXJnaW5FbmQoKS52YWx1ZU9yKDApIH0sIHsgYWJzb2x1dGVEaXNwbGF5Qm94
Lm1hcmdpbkJlZm9yZSgpLCBhYnNvbHV0ZURpc3BsYXlCb3gubWFyZ2luQWZ0ZXIoKSB9IH07Cisg
ICAgYXV0byBmbG9hdEF2b2lkZXIgPSBGbG9hdEF2b2lkZXIgeyBsYXlvdXRCb3gsIGFic29sdXRl
RGlzcGxheUJveC50b3BMZWZ0KCksIGFic29sdXRlRGlzcGxheUJveC53aWR0aCgpLCBtYXJnaW5z
LCBhYnNvbHV0ZURpc3BsYXlCb3hDb29yZGluYXRlcy5jb250YWluaW5nQmxvY2tDb250ZW50Qm94
IH07CiAgICAgZmluZFBvc2l0aW9uRm9yRm9ybWF0dGluZ0NvbnRleHRSb290KGZsb2F0QXZvaWRl
cik7Ci0gICAgcmV0dXJuIHsgZmxvYXRBdm9pZGVyLnRvcExlZnRJbkNvbnRhaW5pbmdCbG9jaygp
IH07CisgICAgYXV0byBjb250YWluaW5nQmxvY2tUb3BMZWZ0ID0gYWJzb2x1dGVEaXNwbGF5Qm94
Q29vcmRpbmF0ZXMuY29udGFpbmluZ0Jsb2NrVG9wTGVmdDsKKyAgICByZXR1cm4geyBmbG9hdEF2
b2lkZXIubGVmdCgpIC0gY29udGFpbmluZ0Jsb2NrVG9wTGVmdC54KCksIGZsb2F0QXZvaWRlci50
b3AoKSAtIGNvbnRhaW5pbmdCbG9ja1RvcExlZnQueSgpIH07CiB9CiAKIEZsb2F0aW5nQ29udGV4
dDo6Q2xlYXJhbmNlUG9zaXRpb24gRmxvYXRpbmdDb250ZXh0Ojp2ZXJ0aWNhbFBvc2l0aW9uV2l0
aENsZWFyYW5jZShjb25zdCBCb3gmIGxheW91dEJveCkgY29uc3QKQEAgLTM0Niw1MyArMzkxLDYg
QEAgdm9pZCBGbG9hdGluZ0NvbnRleHQ6OmFwcGVuZChjb25zdCBCb3gmIGZsb2F0Qm94KQogICAg
IGZsb2F0aW5nU3RhdGUoKS5hcHBlbmQoRmxvYXRpbmdTdGF0ZTo6RmxvYXRJdGVtIHsgZmxvYXRC
b3gsIG1hcFRvRmxvYXRpbmdTdGF0ZVJvb3QoZmxvYXRCb3gpIH0pOwogfQogCi1zdGF0aWMgRmxv
YXRQYWlyOjpMZWZ0UmlnaHRJbmRleCBmaW5kQXZhaWxhYmxlUG9zaXRpb24oRmxvYXRBdm9pZGVy
JiBmbG9hdEF2b2lkZXIsIGNvbnN0IEZsb2F0aW5nU3RhdGU6OkZsb2F0TGlzdCYgZmxvYXRzKQot
ewotICAgIE9wdGlvbmFsPFBvc2l0aW9uSW5Db250ZXh0Um9vdD4gYm90dG9tTW9zdDsKLSAgICBP
cHRpb25hbDxGbG9hdFBhaXI6OkxlZnRSaWdodEluZGV4PiBpbm5lck1vc3RMZWZ0QW5kUmlnaHQ7
Ci0gICAgYXV0byBlbmQgPSBMYXlvdXQ6OmVuZChmbG9hdHMpOwotICAgIGZvciAoYXV0byBpdGVy
YXRvciA9IGJlZ2luKGZsb2F0cywgeyBmbG9hdEF2b2lkZXIudG9wKCkgfSk7IGl0ZXJhdG9yICE9
IGVuZDsgKytpdGVyYXRvcikgewotICAgICAgICBBU1NFUlQoISgqaXRlcmF0b3IpLmlzRW1wdHko
KSk7Ci0gICAgICAgIGF1dG8gbGVmdFJpZ2h0RmxvYXRQYWlyID0gKml0ZXJhdG9yOwotICAgICAg
ICBpbm5lck1vc3RMZWZ0QW5kUmlnaHQgPSBpbm5lck1vc3RMZWZ0QW5kUmlnaHQudmFsdWVPcigq
bGVmdFJpZ2h0RmxvYXRQYWlyKTsKLQotICAgICAgICAvLyBNb3ZlIHRoZSBib3ggaG9yaXpvbnRh
bGx5IHNvIHRoYXQgaXQgZWl0aGVyCi0gICAgICAgIC8vIDEuIGFsaWducyB3aXRoIHRoZSBjdXJy
ZW50IGZsb2F0aW5nIHBhaXIKLSAgICAgICAgLy8gMi4gb3Igd2l0aCB0aGUgY29udGFpbmluZyBi
bG9jaydzIGNvbnRlbnQgYm94IGlmIHRoZXJlJ3Mgbm8gZmxvYXQgdG8gYWxpZ24gd2l0aCBhdCB0
aGlzIHZlcnRpY2FsIHBvc2l0aW9uLgotICAgICAgICBhdXRvIGxlZnRSaWdodEVkZ2UgPSBsZWZ0
UmlnaHRGbG9hdFBhaXIuaG9yaXpvbnRhbENvbnN0cmFpbnRzKCk7Ci0gICAgICAgIGlmIChhdXRv
IGhvcml6b250YWxDb25zdHJhaW50ID0gZmxvYXRBdm9pZGVyLmlzTGVmdEFsaWduZWQoKSA/IGxl
ZnRSaWdodEVkZ2UubGVmdCA6IGxlZnRSaWdodEVkZ2UucmlnaHQpICAKLSAgICAgICAgICAgIGZs
b2F0QXZvaWRlci5zZXRIb3Jpem9udGFsUG9zaXRpb24oKmhvcml6b250YWxDb25zdHJhaW50KTsK
LSAgICAgICAgZWxzZQotICAgICAgICAgICAgZmxvYXRBdm9pZGVyLnJlc2V0SG9yaXpvbnRhbFBv
c2l0aW9uKCk7Ci0gICAgICAgIGZsb2F0QXZvaWRlci5zZXRWZXJ0aWNhbFBvc2l0aW9uKGxlZnRS
aWdodEZsb2F0UGFpci52ZXJ0aWNhbENvbnN0cmFpbnQoKSk7Ci0KLSAgICAgICAgLy8gRW5zdXJl
IHRoYXQgdGhlIGZsb2F0IGF2b2lkZXIKLSAgICAgICAgLy8gMS4gZG9lcyBub3QgIm92ZXJmbG93
IiBpdHMgY29udGFpbmluZyBibG9jayB3aXRoIHRoZSBjdXJyZW50IGhvcml6dG9uYWwgY29uc3Ry
YWludHMuIEl0IHNpbXBseSBtZWFucyB0aGF0IHRoZSBmbG9hdCBhdm9pZGVyJ3MKLSAgICAgICAg
Ly8gY29udGFpbmluZyBibG9jayBjb3VsZCBwdXNoIHRoZSBjYW5kaWRhdGUgcG9zaXRpb24gYmV5
b25kIHRoZSBjdXJyZW50IGZsb2F0IGhvcml6b250YWxseSAodG9vIGZhciB0byB0aGUgbGVmdC9y
aWdodCkKLSAgICAgICAgLy8gMi4gYXZvaWRzIGZsb2F0cyBvbiBib3RoIHNpZGVzLgotICAgICAg
ICBpZiAoIWZsb2F0QXZvaWRlci5vdmVyZmxvd3NDb250YWluaW5nQmxvY2soKSAmJiAhbGVmdFJp
Z2h0RmxvYXRQYWlyLmludGVyc2VjdHMoZmxvYXRBdm9pZGVyKSkKLSAgICAgICAgICAgIHJldHVy
biAqaW5uZXJNb3N0TGVmdEFuZFJpZ2h0OwotCi0gICAgICAgIGJvdHRvbU1vc3QgPSBsZWZ0Umln
aHRGbG9hdFBhaXIuYm90dG9tKCk7Ci0gICAgICAgIC8vIE1vdmUgdG8gdGhlIG5leHQgZmxvYXRp
bmcgcGFpci4KLSAgICB9Ci0KLSAgICAvLyBUaGUgY2FuZGlkYXRlIGJveCBpcyBhbHJlYWR5IGJl
bG93IG9mIGFsbCB0aGUgZmxvYXRzLgotICAgIGlmICghYm90dG9tTW9zdCkKLSAgICAgICAgcmV0
dXJuIHsgfTsKLQotICAgIC8vIFBhc3NlZCBhbGwgdGhlIGZsb2F0cyBhbmQgc3RpbGwgZG9lcyBu
b3QgZml0PyBQdXNoIGl0IGJlbG93IHRoZSBsYXN0IGZsb2F0LgotICAgIGZsb2F0QXZvaWRlci5z
ZXRWZXJ0aWNhbFBvc2l0aW9uKCpib3R0b21Nb3N0KTsKLSAgICBmbG9hdEF2b2lkZXIucmVzZXRI
b3Jpem9udGFsUG9zaXRpb24oKTsKLSAgICBBU1NFUlQoaW5uZXJNb3N0TGVmdEFuZFJpZ2h0KTsK
LSAgICByZXR1cm4gKmlubmVyTW9zdExlZnRBbmRSaWdodDsKLX0KLQotdm9pZCBGbG9hdGluZ0Nv
bnRleHQ6OmZpbmRQb3NpdGlvbkZvckZsb2F0Qm94KEZsb2F0QXZvaWRlciYgZmxvYXRCb3gpIGNv
bnN0Ci17Ci0gICAgZmluZEF2YWlsYWJsZVBvc2l0aW9uKGZsb2F0Qm94LCBtX2Zsb2F0aW5nU3Rh
dGUuZmxvYXRzKCkpOwotfQotCiB2b2lkIEZsb2F0aW5nQ29udGV4dDo6ZmluZFBvc2l0aW9uRm9y
Rm9ybWF0dGluZ0NvbnRleHRSb290KEZsb2F0QXZvaWRlciYgZmxvYXRBdm9pZGVyKSBjb25zdAog
ewogICAgIC8vIEEgbm9uLWZsb2F0aW5nIGZvcm1hdHRpbmcgcm9vdCdzIGluaXRpYWwgdmVydGlj
YWwgcG9zaXRpb24gaXMgaXRzIHN0YXRpYyBwb3NpdGlvbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9mbG9hdHMvRmxvYXRpbmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvZmxvYXRzL0Zsb2F0aW5nQ29udGV4dC5oCmluZGV4IDkxYWQzMDMxNjY1ODM3YmNiZWFk
NTkxY2NmMTYyMjA2OWViMjZlNjIuLjFhZDU0YzU2MDgwZmJkYzM5MTgzODE2YTE0MmQyNDg5NThi
OGUwMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mbG9hdHMvRmxvYXRpbmdD
b250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zsb2F0cy9GbG9hdGluZ0NvbnRl
eHQuaApAQCAtNDgsOCArNDgsOCBAQCBwdWJsaWM6CiAKICAgICBGbG9hdGluZ1N0YXRlJiBmbG9h
dGluZ1N0YXRlKCkgY29uc3QgeyByZXR1cm4gbV9mbG9hdGluZ1N0YXRlOyB9CiAKLSAgICBQb2lu
dCBwb3NpdGlvbkZvckZsb2F0KGNvbnN0IEJveCYsIGNvbnN0IEhvcml6b250YWxDb25zdHJhaW50
cyYpIGNvbnN0OwotICAgIE9wdGlvbmFsPFBvaW50PiBwb3NpdGlvbkZvckZvcm1hdHRpbmdDb250
ZXh0Um9vdChjb25zdCBCb3gmKSBjb25zdDsKKyAgICBMYXlvdXRQb2ludCBwb3NpdGlvbkZvckZs
b2F0KGNvbnN0IEJveCYsIGNvbnN0IEhvcml6b250YWxDb25zdHJhaW50cyYpIGNvbnN0OworICAg
IExheW91dFBvaW50IHBvc2l0aW9uRm9yTm9uRmxvYXRpbmdGbG9hdEF2b2lkZXIoY29uc3QgQm94
JikgY29uc3Q7CiAKICAgICBzdHJ1Y3QgQ2xlYXJhbmNlUG9zaXRpb24gewogICAgICAgICBPcHRp
b25hbDxQb3NpdGlvbj4gcG9zaXRpb247CkBAIC03MSw3ICs3MSw2IEBAIHByaXZhdGU6CiAgICAg
Y29uc3QgRm9ybWF0dGluZ0NvbnRleHQmIGZvcm1hdHRpbmdDb250ZXh0KCkgY29uc3QgeyByZXR1
cm4gbV9mb3JtYXR0aW5nQ29udGV4dDsgfQogICAgIGNvbnN0IENvbnRhaW5lckJveCYgcm9vdCgp
IGNvbnN0IHsgcmV0dXJuICptX3Jvb3Q7IH0KIAotICAgIHZvaWQgZmluZFBvc2l0aW9uRm9yRmxv
YXRCb3goRmxvYXRBdm9pZGVyJikgY29uc3Q7CiAgICAgdm9pZCBmaW5kUG9zaXRpb25Gb3JGb3Jt
YXR0aW5nQ29udGV4dFJvb3QoRmxvYXRBdm9pZGVyJikgY29uc3Q7CiAKICAgICBzdHJ1Y3QgQWJz
b2x1dGVDb29yZGluYXRlVmFsdWVzRm9yRmxvYXRBdm9pZGVyOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>