<?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>210830</bug_id>
          
          <creation_ts>2020-04-21 16:59:12 -0700</creation_ts>
          <short_desc>[LFC][TFC] Introduce TableFormattingContext::computeAndDistributeExtraVerticalSpace</short_desc>
          <delta_ts>2020-04-22 07:43:15 -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>1644096</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-04-21 16:59:12 -0700</bug_when>
    <thetext>This is in preparation for being able to compute row heights.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644105</commentid>
    <comment_count>1</comment_count>
      <attachid>397146</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-04-21 17:19:09 -0700</bug_when>
    <thetext>Created attachment 397146
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644282</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-04-22 07:42:42 -0700</bug_when>
    <thetext>Committed r260510: &lt;https://trac.webkit.org/changeset/260510&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 397146.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644283</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-04-22 07:43:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/62184506&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397146</attachid>
            <date>2020-04-21 17:19:09 -0700</date>
            <delta_ts>2020-04-22 07:42:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210830-20200421171908.patch</filename>
            <type>text/plain</type>
            <size>15867</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwMTEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTQ4M2U5OTE4MjU5NWM0
NDE3OWNkNjIyYjgzMGM2Y2QxY2NmNWQ4NS4uMDU5YTg2M2U1ZDZhOGQ1NTFjYzM1MDY1NDg1NGI3
ZGQ3ODQzNzU0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIwLTA0LTIxICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bVEZDXSBJbnRyb2R1
Y2UgVGFibGVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUFuZERpc3RyaWJ1dGVFeHRyYVZlcnRp
Y2FsU3BhY2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIxMDgzMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZCBhIGRlZGljYXRlZCBmdW5jdGlvbiB0byBjb21wdXRlIHByZWZlcnJlZCBoZWlnaHRzIGZv
ciB0aGUgdGFibGUgcm93cy4KKyAgICAgICAgVGhpcyBpcyBpbiBwcmVwYXJhdGlvbiBmb3IgdGhl
IDIgcGFzcyBsYXlvdXQgcmVxdWlyZWQgdG8gZmluYWxpemUgcm93IGhlaWdodC4gCisKKyAgICAg
ICAgKiBsYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5
b3V0OjpGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUJvcmRlckFuZFBhZGRpbmcpOgorICAgICAg
ICAqIGxheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5oOgorICAgICAgICAqIGxheW91dC9Gb3JtYXR0
aW5nQ29udGV4dEdlb21ldHJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Rm9ybWF0
dGluZ0NvbnRleHQ6Okdlb21ldHJ5Ojpjb21wdXRlZFBhZGRpbmcgY29uc3QpOgorICAgICAgICAq
IGxheW91dC90YWJsZWZvcm1hdHRpbmcvVGFibGVGb3JtYXR0aW5nQ29udGV4dC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OlRhYmxlRm9ybWF0dGluZ0NvbnRleHQ6OmxheW91dEluRmxv
d0NvbnRlbnQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpUYWJsZUZvcm1hdHRpbmdDb250
ZXh0OjpsYXlvdXRDZWxsKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6VGFibGVGb3JtYXR0
aW5nQ29udGV4dDo6Y29tcHV0ZUFuZERpc3RyaWJ1dGVFeHRyYVZlcnRpY2FsU3BhY2UpOgorICAg
ICAgICAoV2ViQ29yZTo6TGF5b3V0OjpUYWJsZUZvcm1hdHRpbmdDb250ZXh0OjpzZXRDb21wdXRl
ZEdlb21ldHJ5Rm9yUm93cyk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OlRhYmxlRm9ybWF0
dGluZ0NvbnRleHQ6OnNldENvbXB1dGVkR2VvbWV0cnlGb3JTZWN0aW9ucyk6CisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6OlRhYmxlRm9ybWF0dGluZ0NvbnRleHQ6OnBvc2l0aW9uVGFibGVDZWxs
cyk6IERlbGV0ZWQuCisgICAgICAgICogbGF5b3V0L3RhYmxlZm9ybWF0dGluZy9UYWJsZUZvcm1h
dHRpbmdDb250ZXh0Lmg6CisKIDIwMjAtMDQtMjAgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxl
LmNvbT4KIAogICAgICAgICBbTEZDXVtURkNdIEFkZCBzdXBwb3J0IGZvciBib3JkZXItY29sbGFw
c2U6IGNvbGxhcHNlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRp
bmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5j
cHAKaW5kZXggZmU4OTk1ZWU3MTU5MWFlY2Q5ODQxYTgxNjVmMzYzNzU4OWNiYjNlNS4uNDViYjQ1
ODRlY2UyZDI5MDg1YzlkNWEzYWRmMzE4NzJmMTBiZmYxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuY3BwCkBAIC0xMzAsNyArMTMwLDcgQEAgdm9pZCBGb3Jt
YXR0aW5nQ29udGV4dDo6Y29tcHV0ZUJvcmRlckFuZFBhZGRpbmcoY29uc3QgQm94JiBsYXlvdXRC
b3gsIGNvbnN0IEhvcmkKIHsKICAgICBhdXRvJiBkaXNwbGF5Qm94ID0gZm9ybWF0dGluZ1N0YXRl
KCkuZGlzcGxheUJveChsYXlvdXRCb3gpOwogICAgIGRpc3BsYXlCb3guc2V0Qm9yZGVyKGdlb21l
dHJ5KCkuY29tcHV0ZWRCb3JkZXIobGF5b3V0Qm94KSk7Ci0gICAgZGlzcGxheUJveC5zZXRQYWRk
aW5nKGdlb21ldHJ5KCkuY29tcHV0ZWRQYWRkaW5nKGxheW91dEJveCwgaG9yaXpvbnRhbENvbnN0
cmFpbnQpKTsKKyAgICBkaXNwbGF5Qm94LnNldFBhZGRpbmcoZ2VvbWV0cnkoKS5jb21wdXRlZFBh
ZGRpbmcobGF5b3V0Qm94LCBob3Jpem9udGFsQ29uc3RyYWludC5sb2dpY2FsV2lkdGgpKTsKIH0K
IAogdm9pZCBGb3JtYXR0aW5nQ29udGV4dDo6bGF5b3V0T3V0T2ZGbG93Q29udGVudChJbnZhbGlk
YXRpb25TdGF0ZSYgaW52YWxpZGF0aW9uU3RhdGUsIGNvbnN0IE91dE9mRmxvd0hvcml6b250YWxD
b25zdHJhaW50cyYgcm9vdEhvcml6b250YWxDb25zdHJhaW50cywgY29uc3QgVmVydGljYWxDb25z
dHJhaW50cyYgcm9vdFZlcnRpY2FsQ29uc3RyYWludHMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9G
b3JtYXR0aW5nQ29udGV4dC5oCmluZGV4IDc5NjdlN2Y4YTQxY2Q2NzFkYzdlMTQ1OWE2MTE4N2Zj
NTFlZTQwZmYuLjE4YTUzNDBiMTE0MDFkNzZmNjc2MzY0MmJmMGQyYzYwYjUzZWEwMzIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5oCkBAIC0xMjgsNyArMTI4LDcg
QEAgcHJvdGVjdGVkOgogICAgICAgICBMYXlvdXRVbml0IHNocmlua1RvRml0V2lkdGgoY29uc3Qg
Qm94JiwgTGF5b3V0VW5pdCBhdmFpbGFibGVXaWR0aCk7CiAKICAgICAgICAgRWRnZXMgY29tcHV0
ZWRCb3JkZXIoY29uc3QgQm94JikgY29uc3Q7Ci0gICAgICAgIE9wdGlvbmFsPEVkZ2VzPiBjb21w
dXRlZFBhZGRpbmcoY29uc3QgQm94JiwgY29uc3QgSG9yaXpvbnRhbENvbnN0cmFpbnRzJikgY29u
c3Q7CisgICAgICAgIE9wdGlvbmFsPEVkZ2VzPiBjb21wdXRlZFBhZGRpbmcoY29uc3QgQm94Jiwg
TGF5b3V0VW5pdCBjb250YWluaW5nQmxvY2tXaWR0aCkgY29uc3Q7CiAKICAgICAgICAgQ29tcHV0
ZWRIb3Jpem9udGFsTWFyZ2luIGNvbXB1dGVkSG9yaXpvbnRhbE1hcmdpbihjb25zdCBCb3gmLCBj
b25zdCBIb3Jpem9udGFsQ29uc3RyYWludHMmKSBjb25zdDsKICAgICAgICAgQ29tcHV0ZWRWZXJ0
aWNhbE1hcmdpbiBjb21wdXRlZFZlcnRpY2FsTWFyZ2luKGNvbnN0IEJveCYsIGNvbnN0IEhvcml6
b250YWxDb25zdHJhaW50cyYpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L0Zvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0
L0Zvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwCmluZGV4IDdjMTBmNTNlN2FiZTJhZGM3Njkx
ODMxNjg1MTZkM2Y1ZWM3ZDdmOGMuLmZiMjg0YTkyYjAxODYwNDczN2E5ZDY0OTk1Y2ZiYzkyYzg4
YzA3MDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4
dEdlb21ldHJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRl
eHRHZW9tZXRyeS5jcHAKQEAgLTEwNDksMTMgKzEwNDksMTIgQEAgRWRnZXMgRm9ybWF0dGluZ0Nv
bnRleHQ6Okdlb21ldHJ5Ojpjb21wdXRlZEJvcmRlcihjb25zdCBCb3gmIGxheW91dEJveCkgY29u
c3QKICAgICB9OwogfQogCi1PcHRpb25hbDxFZGdlcz4gRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21l
dHJ5Ojpjb21wdXRlZFBhZGRpbmcoY29uc3QgQm94JiBsYXlvdXRCb3gsIGNvbnN0IEhvcml6b250
YWxDb25zdHJhaW50cyYgaG9yaXpvbnRhbENvbnN0cmFpbnRzKSBjb25zdAorT3B0aW9uYWw8RWRn
ZXM+IEZvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6Y29tcHV0ZWRQYWRkaW5nKGNvbnN0IEJv
eCYgbGF5b3V0Qm94LCBjb25zdCBMYXlvdXRVbml0IGNvbnRhaW5pbmdCbG9ja1dpZHRoKSBjb25z
dAogewogICAgIGlmICghbGF5b3V0Qm94LmlzUGFkZGluZ0FwcGxpY2FibGUoKSkKICAgICAgICAg
cmV0dXJuIFdURjo6bnVsbG9wdDsKIAogICAgIGF1dG8mIHN0eWxlID0gbGF5b3V0Qm94LnN0eWxl
KCk7Ci0gICAgYXV0byBjb250YWluaW5nQmxvY2tXaWR0aCA9IGhvcml6b250YWxDb25zdHJhaW50
cy5sb2dpY2FsV2lkdGg7CiAgICAgTE9HX1dJVEhfU1RSRUFNKEZvcm1hdHRpbmdDb250ZXh0TGF5
b3V0LCBzdHJlYW0gPDwgIltQYWRkaW5nXSAtPiBsYXlvdXRCb3g6ICIgPDwgJmxheW91dEJveCk7
CiAgICAgcmV0dXJuIEVkZ2VzIHsKICAgICAgICAgeyB2YWx1ZUZvckxlbmd0aChzdHlsZS5wYWRk
aW5nTGVmdCgpLCBjb250YWluaW5nQmxvY2tXaWR0aCksIHZhbHVlRm9yTGVuZ3RoKHN0eWxlLnBh
ZGRpbmdSaWdodCgpLCBjb250YWluaW5nQmxvY2tXaWR0aCkgfSwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC90YWJsZWZvcm1hdHRpbmcvVGFibGVGb3JtYXR0aW5nQ29udGV4dC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvdGFibGVmb3JtYXR0aW5nL1RhYmxlRm9ybWF0dGlu
Z0NvbnRleHQuY3BwCmluZGV4IDc4MWMzMGU2ZjZmNjZhOThiMDQxMzA3OGYyYjZlZDZhYWVjNmVj
ZWQuLmQ1MDVmMzZhOTA2MDJiYWExYjBkZDE4MmU3YjZlNjcwNDlmMGQ3ZTAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC90YWJsZWZvcm1hdHRpbmcvVGFibGVGb3JtYXR0aW5nQ29u
dGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L3RhYmxlZm9ybWF0dGluZy9UYWJs
ZUZvcm1hdHRpbmdDb250ZXh0LmNwcApAQCAtNjEsNTUgKzYxLDUzIEBAIFRhYmxlRm9ybWF0dGlu
Z0NvbnRleHQ6OlRhYmxlRm9ybWF0dGluZ0NvbnRleHQoY29uc3QgQ29udGFpbmVyQm94JiBmb3Jt
YXR0aW5nQ29uCiB7CiB9CiAKLXZvaWQgVGFibGVGb3JtYXR0aW5nQ29udGV4dDo6bGF5b3V0SW5G
bG93Q29udGVudChJbnZhbGlkYXRpb25TdGF0ZSYgaW52YWxpZGF0aW9uU3RhdGUsIGNvbnN0IEhv
cml6b250YWxDb25zdHJhaW50cyYgaG9yaXpvbnRhbENvbnN0cmFpbnRzLCBjb25zdCBWZXJ0aWNh
bENvbnN0cmFpbnRzJikKK3ZvaWQgVGFibGVGb3JtYXR0aW5nQ29udGV4dDo6bGF5b3V0SW5GbG93
Q29udGVudChJbnZhbGlkYXRpb25TdGF0ZSYgaW52YWxpZGF0aW9uU3RhdGUsIGNvbnN0IEhvcml6
b250YWxDb25zdHJhaW50cyYgaG9yaXpvbnRhbENvbnN0cmFpbnRzLCBjb25zdCBWZXJ0aWNhbENv
bnN0cmFpbnRzJiB2ZXJ0aWNhbENvbnN0cmFpbnRzKQogewogICAgIGF1dG8mIGdyaWQgPSBmb3Jt
YXR0aW5nU3RhdGUoKS50YWJsZUdyaWQoKTsKLSAgICBhdXRvJiBjb2x1bW5zID0gZ3JpZC5jb2x1
bW5zKCk7Ci0KKyAgICBhdXRvJiBjb2x1bW5MaXN0ID0gZ3JpZC5jb2x1bW5zKCkubGlzdCgpOwor
ICAgIGF1dG8mIHJvd0xpc3QgPSBncmlkLnJvd3MoKS5saXN0KCk7CisgICAgLy8gMS4gQ29tcHV0
ZSB3aWR0aCBhbmQgaGVpZ2h0IGZvciB0aGUgZ3JpZC4KICAgICBjb21wdXRlQW5kRGlzdHJpYnV0
ZUV4dHJhSG9yaXpvbnRhbFNwYWNlKGhvcml6b250YWxDb25zdHJhaW50cy5sb2dpY2FsV2lkdGgp
OwotICAgIC8vIDEuIFBvc2l0aW9uIGVhY2ggY29sdW1uLgotICAgIC8vIEZJWE1FOiBUaGlzIHNo
b3VsZCBhbHNvIGRlYWwgd2l0aCBjb2xsYXBzaW5nIGJvcmRlcnMgZXRjLgorICAgIGNvbXB1dGVB
bmREaXN0cmlidXRlRXh0cmFWZXJ0aWNhbFNwYWNlKGhvcml6b250YWxDb25zdHJhaW50cy5sb2dp
Y2FsV2lkdGgsIHZlcnRpY2FsQ29uc3RyYWludHMubG9naWNhbEhlaWdodCk7CisgICAgLy8gMi4g
UG9zaXRpb24gY29sdW1ucy4KICAgICBhdXRvIGhvcml6b250YWxTcGFjaW5nID0gZ3JpZC5ob3Jp
em9udGFsU3BhY2luZygpOwogICAgIGF1dG8gY29sdW1uTG9naWNhbExlZnQgPSBob3Jpem9udGFs
U3BhY2luZzsKLSAgICBmb3IgKGF1dG8mIGNvbHVtbiA6IGNvbHVtbnMubGlzdCgpKSB7CisgICAg
Zm9yIChhdXRvJiBjb2x1bW4gOiBjb2x1bW5MaXN0KSB7CiAgICAgICAgIGNvbHVtbi5zZXRMb2dp
Y2FsTGVmdChjb2x1bW5Mb2dpY2FsTGVmdCk7Ci0gICAgICAgIGNvbHVtbkxvZ2ljYWxMZWZ0ICs9
IChjb2x1bW4ubG9naWNhbFdpZHRoKCkgKyBob3Jpem9udGFsU3BhY2luZyk7Ci0gICAgfQotCi0g
ICAgLy8gMi4gTGF5b3V0IGVhY2ggdGFibGUgY2VsbCAoYW5kIGNvbXB1dGUgcm93IGhlaWdodCBh
cyB3ZWxsKS4KLSAgICBhdXRvJiBjZWxsTGlzdCA9IGdyaWQuY2VsbHMoKTsKLSAgICBBU1NFUlQo
IWNlbGxMaXN0LmlzRW1wdHkoKSk7Ci0gICAgZm9yIChhdXRvJiBjZWxsIDogY2VsbExpc3QpIHsK
LSAgICAgICAgYXV0byYgY2VsbEJveCA9IGNlbGwtPmJveCgpOwotICAgICAgICBsYXlvdXRDZWxs
KCpjZWxsLCBpbnZhbGlkYXRpb25TdGF0ZSwgaG9yaXpvbnRhbENvbnN0cmFpbnRzKTsKLSAgICAg
ICAgLy8gRklYTUU6IEFkZCBzdXBwb3J0IGZvciBjb2x1bW4gYW5kIHJvdyBzcGFubmluZyBhbmQg
dGhpcyByZXF1aXJlcyBhIDIgcGFzcyBsYXlvdXQuCi0gICAgICAgIGF1dG8mIHJvdyA9IGdyaWQu
cm93cygpLmxpc3QoKS5hdChjZWxsLT5zdGFydFJvdygpKTsKLSAgICAgICAgcm93LnNldExvZ2lj
YWxIZWlnaHQoc3RkOjptYXgocm93LmxvZ2ljYWxIZWlnaHQoKSwgZ2VvbWV0cnlGb3JCb3goY2Vs
bEJveCkubWFyZ2luQm94SGVpZ2h0KCkpKTsKKyAgICAgICAgY29sdW1uTG9naWNhbExlZnQgKz0g
Y29sdW1uLmxvZ2ljYWxXaWR0aCgpICsgaG9yaXpvbnRhbFNwYWNpbmc7CiAgICAgfQotICAgIC8v
IFRoaXMgaXMgYWZ0ZXIgdGhlIHNlY29uZCBwYXNzIHdoZW4gY2VsbCBoZWlnaHRzIGFyZSBmdWxs
eSBjb21wdXRlZC4KLSAgICBhdXRvIHJvd0xvZ2ljYWxUb3AgPSBncmlkLnZlcnRpY2FsU3BhY2lu
ZygpOwotICAgIGZvciAoYXV0byYgcm93IDogZ3JpZC5yb3dzKCkubGlzdCgpKSB7CisgICAgLy8g
My4gUG9zaXRpb24gcm93cy4KKyAgICBhdXRvIHZlcnRpY2FsU3BhY2luZyA9IGdyaWQudmVydGlj
YWxTcGFjaW5nKCk7CisgICAgYXV0byByb3dMb2dpY2FsVG9wID0gdmVydGljYWxTcGFjaW5nOwor
ICAgIGZvciAoYXV0byYgcm93IDogcm93TGlzdCkgewogICAgICAgICByb3cuc2V0TG9naWNhbFRv
cChyb3dMb2dpY2FsVG9wKTsKLSAgICAgICAgcm93TG9naWNhbFRvcCArPSAocm93LmxvZ2ljYWxI
ZWlnaHQoKSArIGdyaWQudmVydGljYWxTcGFjaW5nKCkpOworICAgICAgICByb3dMb2dpY2FsVG9w
ICs9IHJvdy5sb2dpY2FsSGVpZ2h0KCkgKyB2ZXJ0aWNhbFNwYWNpbmc7CiAgICAgfQotCisgICAg
Ly8gNC4gUG9zaXRpb24gY2VsbHMuCisgICAgZm9yIChhdXRvJiBjZWxsIDogZ3JpZC5jZWxscygp
KSB7CisgICAgICAgIGF1dG8mIGNlbGxEaXNwbGF5Qm94ID0gZm9ybWF0dGluZ1N0YXRlKCkuZGlz
cGxheUJveChjZWxsLT5ib3goKSk7CisgICAgICAgIGNlbGxEaXNwbGF5Qm94LnNldFRvcChyb3dM
aXN0W2NlbGwtPnN0YXJ0Um93KCldLmxvZ2ljYWxUb3AoKSk7CisgICAgICAgIGNlbGxEaXNwbGF5
Qm94LnNldExlZnQoY29sdW1uTGlzdFtjZWxsLT5zdGFydENvbHVtbigpXS5sb2dpY2FsTGVmdCgp
KTsKKyAgICB9CisgICAgLy8gNS4gRmluYWwgdGFibGUgY2VsbCBsYXlvdXQuIEF0IHRoaXMgcG9p
bnQgYWxsIHBlcmNlbnRhZ2UgdmFsdWVzIGNhbiBiZSByZXNvbHZlZC4KKyAgICBhdXRvJiBjZWxs
TGlzdCA9IGdyaWQuY2VsbHMoKTsKKyAgICBBU1NFUlQoIWNlbGxMaXN0LmlzRW1wdHkoKSk7Cisg
ICAgZm9yIChhdXRvJiBjZWxsIDogY2VsbExpc3QpCisgICAgICAgIGxheW91dENlbGwoKmNlbGws
IGludmFsaWRhdGlvblN0YXRlLCBob3Jpem9udGFsQ29uc3RyYWludHMubG9naWNhbFdpZHRoKTsK
ICAgICAvLyAzLiBGaW5hbGl6ZSBzaXplIGFuZCBwb3NpdGlvbi4KLSAgICBwb3NpdGlvblRhYmxl
Q2VsbHMoKTsKICAgICBzZXRDb21wdXRlZEdlb21ldHJ5Rm9yU2VjdGlvbnMoKTsKICAgICBzZXRD
b21wdXRlZEdlb21ldHJ5Rm9yUm93cygpOwogfQogCi12b2lkIFRhYmxlRm9ybWF0dGluZ0NvbnRl
eHQ6OmxheW91dENlbGwoY29uc3QgVGFibGVHcmlkOjpDZWxsJiBjZWxsLCBJbnZhbGlkYXRpb25T
dGF0ZSYgaW52YWxpZGF0aW9uU3RhdGUsIGNvbnN0IEhvcml6b250YWxDb25zdHJhaW50cyYgaG9y
aXpvbnRhbENvbnN0cmFpbnRzKQordm9pZCBUYWJsZUZvcm1hdHRpbmdDb250ZXh0OjpsYXlvdXRD
ZWxsKGNvbnN0IFRhYmxlR3JpZDo6Q2VsbCYgY2VsbCwgSW52YWxpZGF0aW9uU3RhdGUmIGludmFs
aWRhdGlvblN0YXRlLCBMYXlvdXRVbml0IGF2YWlsYWJsZUhvcml6b250YWxTcGFjZSkKIHsKICAg
ICBhdXRvJiBjZWxsQm94ID0gY2VsbC5ib3goKTsKLSAgICBjb21wdXRlQm9yZGVyQW5kUGFkZGlu
ZyhjZWxsQm94LCBob3Jpem9udGFsQ29uc3RyYWludHMpOworICAgIGNvbXB1dGVCb3JkZXJBbmRQ
YWRkaW5nKGNlbGxCb3gsIEhvcml6b250YWxDb25zdHJhaW50cyB7IHsgfSwgYXZhaWxhYmxlSG9y
aXpvbnRhbFNwYWNlIH0pOwogICAgIC8vIE1hcmdpbnMgZG8gbm90IGFwcGx5IHRvIGludGVybmFs
IHRhYmxlIGVsZW1lbnRzLgogICAgIGF1dG8mIGNlbGxEaXNwbGF5Qm94ID0gZm9ybWF0dGluZ1N0
YXRlKCkuZGlzcGxheUJveChjZWxsQm94KTsKICAgICBjZWxsRGlzcGxheUJveC5zZXRIb3Jpem9u
dGFsTWFyZ2luKHsgfSk7CiAgICAgY2VsbERpc3BsYXlCb3guc2V0SG9yaXpvbnRhbENvbXB1dGVk
TWFyZ2luKHsgfSk7Ci0gICAgLy8gRG9uJ3Qga25vdyB0aGUgYWN0dWFsIHBvc2l0aW9uIHlldC4K
LSAgICBjZWxsRGlzcGxheUJveC5zZXRUb3BMZWZ0KHsgfSk7Ci0gICAgYXV0byBjb250ZW50V2lk
dGggPSBbJl0geworICAgIGF1dG8gYXZhaWxhYmxlU3BhY2VGb3JDb250ZW50ID0gWyZdIHsKICAg
ICAgICAgYXV0byYgZ3JpZCA9IGZvcm1hdHRpbmdTdGF0ZSgpLnRhYmxlR3JpZCgpOwogICAgICAg
ICBhdXRvJiBjb2x1bW5MaXN0ID0gZ3JpZC5jb2x1bW5zKCkubGlzdCgpOwogICAgICAgICBhdXRv
IGxvZ2ljYWxXaWR0aCA9IExheW91dFVuaXQgeyB9OwpAQCAtMTE5LDcgKzExNyw3IEBAIHZvaWQg
VGFibGVGb3JtYXR0aW5nQ29udGV4dDo6bGF5b3V0Q2VsbChjb25zdCBUYWJsZUdyaWQ6OkNlbGwm
IGNlbGwsIEludmFsaWRhdGlvCiAgICAgICAgIGxvZ2ljYWxXaWR0aCArPSAoY2VsbC5jb2x1bW5T
cGFuKCkgLSAxKSAqIGdyaWQuaG9yaXpvbnRhbFNwYWNpbmcoKTsKICAgICAgICAgcmV0dXJuIGxv
Z2ljYWxXaWR0aCAtIGNlbGxEaXNwbGF5Qm94Lmhvcml6b250YWxNYXJnaW5Cb3JkZXJBbmRQYWRk
aW5nKCk7CiAgICAgfSgpOwotICAgIGNlbGxEaXNwbGF5Qm94LnNldENvbnRlbnRCb3hXaWR0aChj
b250ZW50V2lkdGgpOworICAgIGNlbGxEaXNwbGF5Qm94LnNldENvbnRlbnRCb3hXaWR0aChhdmFp
bGFibGVTcGFjZUZvckNvbnRlbnQpOwogCiAgICAgQVNTRVJUKGNlbGxCb3guZXN0YWJsaXNoZXNC
bG9ja0Zvcm1hdHRpbmdDb250ZXh0KCkpOwogICAgIGlmIChjZWxsQm94Lmhhc0luRmxvd09yRmxv
YXRpbmdDaGlsZCgpKSB7CkBAIC0xMzMsNDYgKzEzMSw2IEBAIHZvaWQgVGFibGVGb3JtYXR0aW5n
Q29udGV4dDo6bGF5b3V0Q2VsbChjb25zdCBUYWJsZUdyaWQ6OkNlbGwmIGNlbGwsIEludmFsaWRh
dGlvCiAgICAgLy8gRklYTUU6IENoZWNrIHdoYXQgdG8gZG8gd2l0aCBvdXQtb2YtZmxvdyBjb250
ZW50LgogfQogCi12b2lkIFRhYmxlRm9ybWF0dGluZ0NvbnRleHQ6OnBvc2l0aW9uVGFibGVDZWxs
cygpCi17Ci0gICAgYXV0byYgZ3JpZCA9IGZvcm1hdHRpbmdTdGF0ZSgpLnRhYmxlR3JpZCgpOwot
ICAgIGF1dG8mIHJvd0xpc3QgPSBncmlkLnJvd3MoKS5saXN0KCk7Ci0gICAgYXV0byYgY29sdW1u
TGlzdCA9IGdyaWQuY29sdW1ucygpLmxpc3QoKTsKLSAgICBmb3IgKGF1dG8mIGNlbGwgOiBncmlk
LmNlbGxzKCkpIHsKLSAgICAgICAgYXV0byYgY2VsbERpc3BsYXlCb3ggPSBmb3JtYXR0aW5nU3Rh
dGUoKS5kaXNwbGF5Qm94KGNlbGwtPmJveCgpKTsKLSAgICAgICAgY2VsbERpc3BsYXlCb3guc2V0
VG9wKHJvd0xpc3QuYXQoY2VsbC0+c3RhcnRSb3coKSkubG9naWNhbFRvcCgpKTsKLSAgICAgICAg
Y2VsbERpc3BsYXlCb3guc2V0TGVmdChjb2x1bW5MaXN0LmF0KGNlbGwtPnN0YXJ0Q29sdW1uKCkp
LmxvZ2ljYWxMZWZ0KCkpOwotICAgIH0KLX0KLQotdm9pZCBUYWJsZUZvcm1hdHRpbmdDb250ZXh0
OjpzZXRDb21wdXRlZEdlb21ldHJ5Rm9yUm93cygpCi17Ci0gICAgYXV0byYgZ3JpZCA9IGZvcm1h
dHRpbmdTdGF0ZSgpLnRhYmxlR3JpZCgpOwotICAgIGF1dG8gcm93V2lkdGggPSBncmlkLmNvbHVt
bnMoKS5sb2dpY2FsV2lkdGgoKSArIDIgKiBncmlkLmhvcml6b250YWxTcGFjaW5nKCk7Ci0KLSAg
ICBmb3IgKGF1dG8mIHJvdyA6IGdyaWQucm93cygpLmxpc3QoKSkgewotICAgICAgICBhdXRvJiBy
b3dEaXNwbGF5Qm94ID0gZm9ybWF0dGluZ1N0YXRlKCkuZGlzcGxheUJveChyb3cuYm94KCkpOwot
ICAgICAgICBpbml0aWFsaXplRGlzcGxheUJveFRvQmxhbmsocm93RGlzcGxheUJveCk7Ci0gICAg
ICAgIHJvd0Rpc3BsYXlCb3guc2V0Q29udGVudEJveEhlaWdodChyb3cubG9naWNhbEhlaWdodCgp
KTsKLSAgICAgICAgcm93RGlzcGxheUJveC5zZXRDb250ZW50Qm94V2lkdGgocm93V2lkdGgpOwot
ICAgICAgICByb3dEaXNwbGF5Qm94LnNldFRvcChyb3cubG9naWNhbFRvcCgpKTsKLSAgICB9Ci19
Ci0KLXZvaWQgVGFibGVGb3JtYXR0aW5nQ29udGV4dDo6c2V0Q29tcHV0ZWRHZW9tZXRyeUZvclNl
Y3Rpb25zKCkKLXsKLSAgICBhdXRvJiBncmlkID0gZm9ybWF0dGluZ1N0YXRlKCkudGFibGVHcmlk
KCk7Ci0gICAgYXV0byBzZWN0aW9uV2lkdGggPSBncmlkLmNvbHVtbnMoKS5sb2dpY2FsV2lkdGgo
KSArIDIgKiBncmlkLmhvcml6b250YWxTcGFjaW5nKCk7Ci0KLSAgICBmb3IgKGF1dG8mIHNlY3Rp
b24gOiBjaGlsZHJlbk9mVHlwZTxCb3g+KHJvb3QoKSkpIHsKLSAgICAgICAgYXV0byYgc2VjdGlv
bkRpc3BsYXlCb3ggPSBmb3JtYXR0aW5nU3RhdGUoKS5kaXNwbGF5Qm94KHNlY3Rpb24pOwotICAg
ICAgICBpbml0aWFsaXplRGlzcGxheUJveFRvQmxhbmsoc2VjdGlvbkRpc3BsYXlCb3gpOwotICAg
ICAgICAvLyBGSVhNRTogU2l6ZSB0YWJsZSBzZWN0aW9ucyBwcm9wZXJseS4KLSAgICAgICAgc2Vj
dGlvbkRpc3BsYXlCb3guc2V0Q29udGVudEJveFdpZHRoKHNlY3Rpb25XaWR0aCk7Ci0gICAgICAg
IHNlY3Rpb25EaXNwbGF5Qm94LnNldENvbnRlbnRCb3hIZWlnaHQoZ3JpZC5yb3dzKCkubGlzdCgp
Lmxhc3QoKS5sb2dpY2FsQm90dG9tKCkgKyBncmlkLnZlcnRpY2FsU3BhY2luZygpKTsKLSAgICB9
Ci19Ci0KIEZvcm1hdHRpbmdDb250ZXh0OjpJbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzIFRhYmxl
Rm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVkSW50cmluc2ljV2lkdGhDb25zdHJhaW50cygpCiB7
CiAgICAgLy8gVGFibGVzIGhhdmUgYSBzbGlnaHR5IGRpZmZlcmVudCBjb25jZXB0IG9mIHNocmlu
ayB0byBmaXQuIEl0J3MgcmVhbGx5IG9ubHkgZGlmZmVyZW50IHdpdGggbm9uLWF1dG8gIndpZHRo
IiB2YWx1ZXMsIHdoZXJlCkBAIC00NzksNiArNDM3LDYyIEBAIHZvaWQgVGFibGVGb3JtYXR0aW5n
Q29udGV4dDo6Y29tcHV0ZUFuZERpc3RyaWJ1dGVFeHRyYUhvcml6b250YWxTcGFjZShMYXlvdXRV
bml0CiAgICAgY29tcHV0ZUNvbHVtbldpZHRocyhDb2x1bW5XaWR0aEJhbGFuY2luZ0Jhc2U6Ok1p
bmltdW1XaWR0aCwgaG9yaXpvbnRhbFNwYWNlVG9EaXN0cmlidXRlKTsKIH0KIAordm9pZCBUYWJs
ZUZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlQW5kRGlzdHJpYnV0ZUV4dHJhVmVydGljYWxTcGFj
ZShMYXlvdXRVbml0IGF2YWlsYWJsZUhvcml6b250YWxTcGFjZSwgT3B0aW9uYWw8TGF5b3V0VW5p
dD4pCit7CisgICAgYXV0byYgZ3JpZCA9IGZvcm1hdHRpbmdTdGF0ZSgpLnRhYmxlR3JpZCgpOwor
ICAgIGF1dG8mIGNvbHVtbnMgPSBncmlkLmNvbHVtbnMoKS5saXN0KCk7CisgICAgYXV0byYgcm93
cyA9IGdyaWQucm93cygpOworCisgICAgVmVjdG9yPGZsb2F0PiByb3duSGVpZ2h0czsKKyAgICAv
LyAxLiBDb2xsZWN0IGluaXRpYWwgcm93IGhlaWdodHMuCisgICAgZm9yIChzaXplX3Qgcm93SW5k
ZXggPSAwOyByb3dJbmRleCA8IHJvd3Muc2l6ZSgpOyArK3Jvd0luZGV4KSB7CisgICAgICAgIGZs
b2F0IG1heGltdW1Db2x1bW5IZWlnaHQgPSAwOworICAgICAgICBmb3IgKHNpemVfdCBjb2x1bW5J
bmRleCA9IDA7IGNvbHVtbkluZGV4IDwgY29sdW1ucy5zaXplKCk7ICsrY29sdW1uSW5kZXgpIHsK
KyAgICAgICAgICAgIGF1dG8mIHNsb3QgPSAqZ3JpZC5zbG90KHsgY29sdW1uSW5kZXgsIHJvd0lu
ZGV4IH0pOworICAgICAgICAgICAgaWYgKHNsb3QuaXNDb2x1bW5TcGFubmVkKCkpCisgICAgICAg
ICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICBhdXRvIGludmFsaWRhdGlvblN0YXRlID0g
SW52YWxpZGF0aW9uU3RhdGUgeyB9OworICAgICAgICAgICAgbGF5b3V0Q2VsbChzbG90LmNlbGwo
KSwgaW52YWxpZGF0aW9uU3RhdGUsIGF2YWlsYWJsZUhvcml6b250YWxTcGFjZSk7CisgICAgICAg
ICAgICBtYXhpbXVtQ29sdW1uSGVpZ2h0ID0gc3RkOjptYXg8ZmxvYXQ+KG1heGltdW1Db2x1bW5I
ZWlnaHQsIGdlb21ldHJ5Rm9yQm94KHNsb3QuY2VsbCgpLmJveCgpKS5oZWlnaHQoKSk7CisgICAg
ICAgIH0KKyAgICAgICAgLy8gPHRyIHN0eWxlPSJoZWlnaHQ6IDEwcHgiPiBpcyBjb25zaWRlcmVk
IGFzIG1pbiBoZWlnaHQuCisgICAgICAgIGF1dG8gY29tcHV0ZWRSb3dIZWlnaHQgPSBnZW9tZXRy
eSgpLmNvbXB1dGVkQ29udGVudEhlaWdodChyb3dzLmxpc3QoKVtyb3dJbmRleF0uYm94KCksIHsg
fSkudmFsdWVPcihMYXlvdXRVbml0IHsgfSk7CisgICAgICAgIC8vIEZJWE1FOiBhZGQgc3VwcG9y
dCBmb3IgYmFzZWxpbmUgc3luY2luZy4KKyAgICAgICAgcm93bkhlaWdodHMuYXBwZW5kKHN0ZDo6
bWF4KG1heGltdW1Db2x1bW5IZWlnaHQsIGNvbXB1dGVkUm93SGVpZ2h0LnRvRmxvYXQoKSkpOwor
ICAgIH0KKworICAgIGZvciAoc2l6ZV90IHJvd0luZGV4ID0gMDsgcm93SW5kZXggPCByb3dzLnNp
emUoKTsgKytyb3dJbmRleCkKKyAgICAgICAgZ3JpZC5yb3dzKCkubGlzdCgpW3Jvd0luZGV4XS5z
ZXRMb2dpY2FsSGVpZ2h0KExheW91dFVuaXQgeyByb3duSGVpZ2h0c1tyb3dJbmRleF0gfSk7Cit9
CisKK3ZvaWQgVGFibGVGb3JtYXR0aW5nQ29udGV4dDo6c2V0Q29tcHV0ZWRHZW9tZXRyeUZvclJv
d3MoKQoreworICAgIGF1dG8mIGdyaWQgPSBmb3JtYXR0aW5nU3RhdGUoKS50YWJsZUdyaWQoKTsK
KyAgICBhdXRvIHJvd1dpZHRoID0gZ3JpZC5jb2x1bW5zKCkubG9naWNhbFdpZHRoKCkgKyAyICog
Z3JpZC5ob3Jpem9udGFsU3BhY2luZygpOworCisgICAgZm9yIChhdXRvJiByb3cgOiBncmlkLnJv
d3MoKS5saXN0KCkpIHsKKyAgICAgICAgYXV0byYgcm93RGlzcGxheUJveCA9IGZvcm1hdHRpbmdT
dGF0ZSgpLmRpc3BsYXlCb3gocm93LmJveCgpKTsKKyAgICAgICAgaW5pdGlhbGl6ZURpc3BsYXlC
b3hUb0JsYW5rKHJvd0Rpc3BsYXlCb3gpOworICAgICAgICByb3dEaXNwbGF5Qm94LnNldENvbnRl
bnRCb3hIZWlnaHQocm93LmxvZ2ljYWxIZWlnaHQoKSk7CisgICAgICAgIHJvd0Rpc3BsYXlCb3gu
c2V0Q29udGVudEJveFdpZHRoKHJvd1dpZHRoKTsKKyAgICAgICAgcm93RGlzcGxheUJveC5zZXRU
b3Aocm93LmxvZ2ljYWxUb3AoKSk7CisgICAgfQorfQorCit2b2lkIFRhYmxlRm9ybWF0dGluZ0Nv
bnRleHQ6OnNldENvbXB1dGVkR2VvbWV0cnlGb3JTZWN0aW9ucygpCit7CisgICAgYXV0byYgZ3Jp
ZCA9IGZvcm1hdHRpbmdTdGF0ZSgpLnRhYmxlR3JpZCgpOworICAgIGF1dG8gc2VjdGlvbldpZHRo
ID0gZ3JpZC5jb2x1bW5zKCkubG9naWNhbFdpZHRoKCkgKyAyICogZ3JpZC5ob3Jpem9udGFsU3Bh
Y2luZygpOworCisgICAgZm9yIChhdXRvJiBzZWN0aW9uIDogY2hpbGRyZW5PZlR5cGU8Qm94Pihy
b290KCkpKSB7CisgICAgICAgIGF1dG8mIHNlY3Rpb25EaXNwbGF5Qm94ID0gZm9ybWF0dGluZ1N0
YXRlKCkuZGlzcGxheUJveChzZWN0aW9uKTsKKyAgICAgICAgaW5pdGlhbGl6ZURpc3BsYXlCb3hU
b0JsYW5rKHNlY3Rpb25EaXNwbGF5Qm94KTsKKyAgICAgICAgLy8gRklYTUU6IFNpemUgdGFibGUg
c2VjdGlvbnMgcHJvcGVybHkuCisgICAgICAgIHNlY3Rpb25EaXNwbGF5Qm94LnNldENvbnRlbnRC
b3hXaWR0aChzZWN0aW9uV2lkdGgpOworICAgICAgICBzZWN0aW9uRGlzcGxheUJveC5zZXRDb250
ZW50Qm94SGVpZ2h0KGdyaWQucm93cygpLmxpc3QoKS5sYXN0KCkubG9naWNhbEJvdHRvbSgpICsg
Z3JpZC52ZXJ0aWNhbFNwYWNpbmcoKSk7CisgICAgfQorfQorCiB9CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC90YWJsZWZvcm1hdHRpbmcvVGFibGVGb3JtYXR0aW5nQ29u
dGV4dC5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L3RhYmxlZm9ybWF0dGluZy9UYWJsZUZvcm1h
dHRpbmdDb250ZXh0LmgKaW5kZXggZGE5ZjhmODA3ZWExMzViZjQ0OGRiZGVmYjMyMzY4MmIxMWFm
M2U4Yy4uNmQ0OGE4NzE2NTgwNjQ1ZDc0YTU3ZTU4NDQ2OWNlMmI0NzRiZTY4YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L3RhYmxlZm9ybWF0dGluZy9UYWJsZUZvcm1hdHRpbmdD
b250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L3RhYmxlZm9ybWF0dGluZy9UYWJs
ZUZvcm1hdHRpbmdDb250ZXh0LmgKQEAgLTYwLDcgKzYwLDcgQEAgcHJpdmF0ZToKICAgICBUYWJs
ZUZvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeSBnZW9tZXRyeSgpIGNvbnN0IHsgcmV0dXJuIEdl
b21ldHJ5KCp0aGlzKTsgfQogCiAgICAgSW50cmluc2ljV2lkdGhDb25zdHJhaW50cyBjb21wdXRl
ZEludHJpbnNpY1dpZHRoQ29uc3RyYWludHMoKSBvdmVycmlkZTsKLSAgICB2b2lkIGxheW91dENl
bGwoY29uc3QgVGFibGVHcmlkOjpDZWxsJiwgSW52YWxpZGF0aW9uU3RhdGUmLCBjb25zdCBIb3Jp
em9udGFsQ29uc3RyYWludHMmKTsKKyAgICB2b2lkIGxheW91dENlbGwoY29uc3QgVGFibGVHcmlk
OjpDZWxsJiwgSW52YWxpZGF0aW9uU3RhdGUmLCBMYXlvdXRVbml0IGF2YWlsYWJsZUhvcml6b250
YWxTcGFjZSk7CiAgICAgdm9pZCBwb3NpdGlvblRhYmxlQ2VsbHMoKTsKICAgICB2b2lkIHNldENv
bXB1dGVkR2VvbWV0cnlGb3JSb3dzKCk7CiAgICAgdm9pZCBzZXRDb21wdXRlZEdlb21ldHJ5Rm9y
U2VjdGlvbnMoKTsKQEAgLTY4LDYgKzY4LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGVuc3VyZVRh
YmxlR3JpZCgpOwogICAgIEludHJpbnNpY1dpZHRoQ29uc3RyYWludHMgY29tcHV0ZWRQcmVmZXJy
ZWRXaWR0aEZvckNvbHVtbnMoKTsKICAgICB2b2lkIGNvbXB1dGVBbmREaXN0cmlidXRlRXh0cmFI
b3Jpem9udGFsU3BhY2UoTGF5b3V0VW5pdCBhdmFpbGFibGVIb3Jpem9udGFsU3BhY2UpOworICAg
IHZvaWQgY29tcHV0ZUFuZERpc3RyaWJ1dGVFeHRyYVZlcnRpY2FsU3BhY2UoTGF5b3V0VW5pdCBh
dmFpbGFibGVIb3Jpem9udGFsU3BhY2UsIE9wdGlvbmFsPExheW91dFVuaXQ+IGF2YWlsYWJsZVZl
cnRpY2FsU3BhY2UpOwogCiAgICAgdm9pZCBpbml0aWFsaXplRGlzcGxheUJveFRvQmxhbmsoRGlz
cGxheTo6Qm94JikgY29uc3Q7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>