<?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>209406</bug_id>
          
          <creation_ts>2020-03-22 16:18:51 -0700</creation_ts>
          <short_desc>[LFC] Layout::Box::initialContainingBlock() should return const InitialContainingBlock&amp;</short_desc>
          <delta_ts>2020-03-23 21:20:27 -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>kliesen05</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tsavell</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1632702</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-03-22 16:18:51 -0700</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632703</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-03-22 16:20:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/60749715&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632705</commentid>
    <comment_count>2</comment_count>
      <attachid>394234</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-03-22 16:29:48 -0700</bug_when>
    <thetext>Created attachment 394234
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632838</commentid>
    <comment_count>3</comment_count>
      <attachid>394260</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-03-23 07:31:28 -0700</bug_when>
    <thetext>Created attachment 394260
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632856</commentid>
    <comment_count>4</comment_count>
      <attachid>394262</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-03-23 08:41:06 -0700</bug_when>
    <thetext>Created attachment 394262
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632861</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-03-23 09:08:55 -0700</bug_when>
    <thetext>Committed r258847: &lt;https://trac.webkit.org/changeset/258847&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 394262.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632961</commentid>
    <comment_count>6</comment_count>
    <who name="Truitt Savell">tsavell</who>
    <bug_when>2020-03-23 11:49:15 -0700</bug_when>
    <thetext>Reverted r258847 for reason:

Broke testing on Mac Debug with an Assert

Committed r258864: &lt;https://trac.webkit.org/changeset/258864&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1633217</commentid>
    <comment_count>7</comment_count>
      <attachid>394346</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-03-23 20:43:17 -0700</bug_when>
    <thetext>Created attachment 394346
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1633226</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-03-23 21:09:35 -0700</bug_when>
    <thetext>Committed r258904: &lt;https://trac.webkit.org/changeset/258904&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 394346.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394234</attachid>
            <date>2020-03-22 16:29:48 -0700</date>
            <delta_ts>2020-03-23 07:31:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209406-20200322162948.patch</filename>
            <type>text/plain</type>
            <size>21842</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4MDgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjk0N2QxZjY2MjEzMzkz
YmIzMTY5OGYwOWZiZGFlMTVjNmIzM2M2Zi4uYjQyZDlmYjc1YWQ1YmJiMjQ3ZDc3ZWYzMTYxZWFh
ZTIwNjkyYjA3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDIwLTAzLTIyICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ10gTGF5b3V0OjpCb3g6
OmluaXRpYWxDb250YWluaW5nQmxvY2soKSBzaG91bGQgcmV0dXJuIGNvbnN0IEluaXRpYWxDb250
YWluaW5nQmxvY2smCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMDk0MDYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYwNzQ5NzE1PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVzZSBpczxJbml0aWFsQ29u
dGFpbmluZ0Jsb2NrPiB3aGVyZSBhcHBsaWNhYmxlLgorCisgICAgICAgICogbGF5b3V0L0Zvcm1h
dHRpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Rm9ybWF0dGluZ0Nv
bnRleHQ6Omdlb21ldHJ5Rm9yQm94IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6
Rm9ybWF0dGluZ0NvbnRleHQ6OmNvbGxlY3RPdXRPZkZsb3dEZXNjZW5kYW50c0lmTmVlZGVkKToK
KyAgICAgICAgKiBsYXlvdXQvRm9ybWF0dGluZ0NvbnRleHRRdWlya3MuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpGb3JtYXR0aW5nQ29udGV4dDo6UXVpcmtzOjpoZWlnaHRWYWx1ZU9m
TmVhcmVzdENvbnRhaW5pbmdCbG9ja1dpdGhGaXhlZEhlaWdodCk6CisgICAgICAgICogbGF5b3V0
L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0UXVpcmtzLmNwcDoKKyAgICAg
ICAgKiBsYXlvdXQvZGlzcGxheXRyZWUvRGlzcGxheVBhaW50ZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RGlzcGxheTo6YWJzb2x1dGVEaXNwbGF5Qm94KToKKyAgICAgICAgKiBsYXlvdXQvaW52
YWxpZGF0aW9uL0ludmFsaWRhdGlvblN0YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91
dDo6SW52YWxpZGF0aW9uU3RhdGU6Om1hcmtOZWVkc1VwZGF0ZSk6CisgICAgICAgICogbGF5b3V0
L2xheW91dHRyZWUvTGF5b3V0Qm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Qm94
Ojplc3RhYmxpc2hlc0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6TGF5b3V0OjpCb3g6OmNvbnRhaW5pbmdCbG9jayBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpMYXlvdXQ6OkJveDo6Zm9ybWF0dGluZ0NvbnRleHRSb290IGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OkxheW91dDo6Qm94Ojppbml0aWFsQ29udGFpbmluZ0Jsb2NrIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6Qm94Ojppc0luRm9ybWF0dGluZ0NvbnRleHRPZiBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJveDo6aXNPdmVyZmxvd1Zpc2libGUgY29u
c3QpOgorICAgICAgICAqIGxheW91dC9sYXlvdXR0cmVlL0xheW91dEJveC5oOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpCb3g6OmlzSW5pdGlhbENvbnRhaW5pbmdCbG9jayBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJveDo6aXNJbmxpbmVUZXh0Qm94IGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6Qm94Ojppc0xpbmVCcmVha0JveCBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJveDo6aXNSZXBsYWNlZEJveCBjb25zdCk6CisgICAgICAg
ICogbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0SW5pdGlhbENvbnRhaW5pbmdCbG9jay5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkluaXRpYWxDb250YWluaW5nQmxvY2s6OkluaXRpYWxD
b250YWluaW5nQmxvY2spOgorICAgICAgICAqIGxheW91dC9sYXlvdXR0cmVlL0xheW91dElubGlu
ZVRleHRCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVUZXh0Qm94OjpJ
bmxpbmVUZXh0Qm94KToKKyAgICAgICAgKiBsYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRMaW5lQnJl
YWtCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQnJlYWtCb3g6OkxpbmVC
cmVha0JveCk6CisgICAgICAgICogbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0UmVwbGFjZWRCb3gu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpSZXBsYWNlZEJveDo6UmVwbGFjZWRCb3gp
OgorICAgICAgICAqIGxheW91dC9sYXlvdXR0cmVlL0xheW91dFRyZWVCdWlsZGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6b3V0cHV0TGF5b3V0Qm94KToKKwogMjAyMC0wMy0yMiAg
WmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdIFJlbW92ZSB1
bnVzZWQgTGF5b3V0QW5jZXN0b3JJdGVyYXRvciBjbGFzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9Gb3JtYXR0aW5nQ29udGV4dC5jcHAKaW5kZXggYjY3M2UzMTk2YWQ2MzcwNjk2ZDRjN2NmYTg4
NTQyNGY5YjM2MGJhMi4uZmU4OTk1ZWU3MTU5MWFlY2Q5ODQxYTgxNjVmMzYzNzU4OWNiYjNlNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuY3BwCkBAIC0zNSw2
ICszNSw3IEBACiAjaW5jbHVkZSAiTGF5b3V0Q29udGFpbmVyQm94LmgiCiAjaW5jbHVkZSAiTGF5
b3V0Q29udGV4dC5oIgogI2luY2x1ZGUgIkxheW91dERlc2NlbmRhbnRJdGVyYXRvci5oIgorI2lu
Y2x1ZGUgIkxheW91dEluaXRpYWxDb250YWluaW5nQmxvY2suaCIKICNpbmNsdWRlICJMYXlvdXRS
ZXBsYWNlZEJveC5oIgogI2luY2x1ZGUgIkxheW91dFN0YXRlLmgiCiAjaW5jbHVkZSAiTG9nZ2lu
Zy5oIgpAQCAtMTkyLDcgKzE5Myw3IEBAIGNvbnN0IERpc3BsYXk6OkJveCYgRm9ybWF0dGluZ0Nv
bnRleHQ6Omdlb21ldHJ5Rm9yQm94KGNvbnN0IEJveCYgbGF5b3V0Qm94LCBPcHRpCiAgICAgVU5V
U0VEX1BBUkFNKGVzY2FwZVJlYXNvbik7CiAjaWYgQVNTRVJUX0VOQUJMRUQKICAgICBhdXRvIGlz
T2tUb0FjY2Vzc0Rpc3BsYXlCb3ggPSBbJl0gewotICAgICAgICBpZiAoIWxheW91dEJveC5pc0lu
aXRpYWxDb250YWluaW5nQmxvY2soKSAmJiAmbGF5b3V0Qm94LmZvcm1hdHRpbmdDb250ZXh0Um9v
dCgpID09ICZyb290KCkpIHsKKyAgICAgICAgaWYgKCFpczxJbml0aWFsQ29udGFpbmluZ0Jsb2Nr
PihsYXlvdXRCb3gpICYmICZsYXlvdXRCb3guZm9ybWF0dGluZ0NvbnRleHRSb290KCkgPT0gJnJv
b3QoKSkgewogICAgICAgICAgICAgLy8gVGhpcyBpcyB0aGUgbm9uLWVzY2FwZSBjYXNlIG9mIGFj
Y2Vzc2luZyBhIGJveCdzIGdlb21ldHJ5IGluZm9ybWF0aW9uIHdpdGhpbiB0aGUgc2FtZSBmb3Jt
YXR0aW5nIGNvbnRleHQuCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgfQpAQCAt
MjA0LDE3ICsyMDUsMTcgQEAgY29uc3QgRGlzcGxheTo6Qm94JiBGb3JtYXR0aW5nQ29udGV4dDo6
Z2VvbWV0cnlGb3JCb3goY29uc3QgQm94JiBsYXlvdXRCb3gsIE9wdGkKIAogICAgICAgICBpZiAo
KmVzY2FwZVJlYXNvbiA9PSBFc2NhcGVSZWFzb246OkRvY3VtZW50Qm94U3RyZWNoZXNUb1ZpZXdw
b3J0UXVpcmspIHsKICAgICAgICAgICAgIEFTU0VSVChsYXlvdXRTdGF0ZSgpLmluUXVpcmtzTW9k
ZSgpKTsKLSAgICAgICAgICAgIHJldHVybiBsYXlvdXRCb3guaXNJbml0aWFsQ29udGFpbmluZ0Js
b2NrKCk7CisgICAgICAgICAgICByZXR1cm4gaXM8SW5pdGlhbENvbnRhaW5pbmdCbG9jaz4obGF5
b3V0Qm94KTsKICAgICAgICAgfQogCiAgICAgICAgIGlmICgqZXNjYXBlUmVhc29uID09IEVzY2Fw
ZVJlYXNvbjo6Qm9keVN0cmVjaGVzVG9WaWV3cG9ydFF1aXJrKSB7CiAgICAgICAgICAgICBBU1NF
UlQobGF5b3V0U3RhdGUoKS5pblF1aXJrc01vZGUoKSk7Ci0gICAgICAgICAgICByZXR1cm4gbGF5
b3V0Qm94LmlzSW5pdGlhbENvbnRhaW5pbmdCbG9jaygpIHx8IGxheW91dEJveC5pc0RvY3VtZW50
Qm94KCk7CisgICAgICAgICAgICByZXR1cm4gaXM8SW5pdGlhbENvbnRhaW5pbmdCbG9jaz4obGF5
b3V0Qm94KSB8fCBsYXlvdXRCb3guaXNEb2N1bWVudEJveCgpOwogCiAgICAgICAgIH0KIAogICAg
ICAgICBpZiAoKmVzY2FwZVJlYXNvbiA9PSBFc2NhcGVSZWFzb246OlN0cm9rZU92ZXJmbG93TmVl
ZHNWaWV3cG9ydEdlb21ldHJ5KQotICAgICAgICAgICAgcmV0dXJuIGxheW91dEJveC5pc0luaXRp
YWxDb250YWluaW5nQmxvY2soKTsKKyAgICAgICAgICAgIHJldHVybiBpczxJbml0aWFsQ29udGFp
bmluZ0Jsb2NrPihsYXlvdXRCb3gpOwogCiAgICAgICAgIGlmICgqZXNjYXBlUmVhc29uID09IEVz
Y2FwZVJlYXNvbjo6TmVlZHNHZW9tZXRyeUZyb21Fc3RhYmxpc2hlZEZvcm1hdHRpbmdDb250ZXh0
KSB7CiAgICAgICAgICAgICAvLyBUaGlzIGlzIHRoZSBjYXNlIHdoZW4gYSBmb3JtYXR0aW5nIHJv
b3QgY29sbGVjdHMgZ2VvbWV0cnkgaW5mb3JtYXRpb24gZnJvbSB0aGUgZXN0YWJsaXNoZWQKQEAg
LTI0Myw3ICsyNDQsNyBAQCBjb25zdCBEaXNwbGF5OjpCb3gmIEZvcm1hdHRpbmdDb250ZXh0Ojpn
ZW9tZXRyeUZvckJveChjb25zdCBCb3gmIGxheW91dEJveCwgT3B0aQogICAgICAgICAgICAgQVNT
RVJUKGxheW91dFN0YXRlKCkuaW5RdWlya3NNb2RlKCkpOwogICAgICAgICAgICAgLy8gRmluZCB0
aGUgZmlyc3QgY29udGFpbmluZyBibG9jayB3aXRoIGZpeGVkIGhlaWdodCBxdWlyay4gU2VlIFF1
aXJrczo6aGVpZ2h0VmFsdWVPZk5lYXJlc3RDb250YWluaW5nQmxvY2tXaXRoRml4ZWRIZWlnaHQu
CiAgICAgICAgICAgICAvLyBUaGlzIGlzIG9ubHkgdG8gY2hlY2sgaWYgdGhlIHRhcmdldEZvcm1h
dHRpbmdSb290IGlzIGFuIGFuY2VzdG9yIGZvcm1hdHRpbmcgcm9vdC4KLSAgICAgICAgICAgIGlm
IChsYXlvdXRCb3guaXNJbml0aWFsQ29udGFpbmluZ0Jsb2NrKCkpCisgICAgICAgICAgICBpZiAo
aXM8SW5pdGlhbENvbnRhaW5pbmdCbG9jaz4obGF5b3V0Qm94KSkKICAgICAgICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgIGF1dG8mIHRhcmdldEZvcm1hdHRpbmdSb290ID0gbGF5
b3V0Qm94LmZvcm1hdHRpbmdDb250ZXh0Um9vdCgpOwogICAgICAgICAgICAgYXV0byogYW5jZXN0
b3JGb3JtYXR0aW5nQ29udGV4dFJvb3QgPSAmcm9vdCgpLmZvcm1hdHRpbmdDb250ZXh0Um9vdCgp
OwpAQCAtMjUxLDcgKzI1Miw3IEBAIGNvbnN0IERpc3BsYXk6OkJveCYgRm9ybWF0dGluZ0NvbnRl
eHQ6Omdlb21ldHJ5Rm9yQm94KGNvbnN0IEJveCYgbGF5b3V0Qm94LCBPcHRpCiAgICAgICAgICAg
ICAgICAgaWYgKCZ0YXJnZXRGb3JtYXR0aW5nUm9vdCA9PSBhbmNlc3RvckZvcm1hdHRpbmdDb250
ZXh0Um9vdCkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAg
ICAgYW5jZXN0b3JGb3JtYXR0aW5nQ29udGV4dFJvb3QgPSAmYW5jZXN0b3JGb3JtYXR0aW5nQ29u
dGV4dFJvb3QtPmZvcm1hdHRpbmdDb250ZXh0Um9vdCgpOwotICAgICAgICAgICAgICAgIGlmIChh
bmNlc3RvckZvcm1hdHRpbmdDb250ZXh0Um9vdC0+aXNJbml0aWFsQ29udGFpbmluZ0Jsb2NrKCkp
CisgICAgICAgICAgICAgICAgaWYgKGlzPEluaXRpYWxDb250YWluaW5nQmxvY2s+KCphbmNlc3Rv
ckZvcm1hdHRpbmdDb250ZXh0Um9vdCkpCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVl
OwogICAgICAgICAgICAgfQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMjgwLDcgKzI4
MSw3IEBAIHZvaWQgRm9ybWF0dGluZ0NvbnRleHQ6OmNvbGxlY3RPdXRPZkZsb3dEZXNjZW5kYW50
c0lmTmVlZGVkKCkKICAgICBhdXRvJiByb290ID0gdGhpcy0+cm9vdCgpOwogICAgIGlmICghcm9v
dC5oYXNDaGlsZCgpKQogICAgICAgICByZXR1cm47Ci0gICAgaWYgKCFyb290LmlzUG9zaXRpb25l
ZCgpICYmICFyb290LmlzSW5pdGlhbENvbnRhaW5pbmdCbG9jaygpKQorICAgIGlmICghcm9vdC5p
c1Bvc2l0aW9uZWQoKSAmJiAhaXM8SW5pdGlhbENvbnRhaW5pbmdCbG9jaz4ocm9vdCkpCiAgICAg
ICAgIHJldHVybjsKICAgICAvLyBDb2xsZWN0IHRoZSBvdXQtb2YtZmxvdyBkZXNjZW5kYW50cyBh
dCB0aGUgZm9ybWF0dGluZyByb290IGxldmVsIChhcyBvcHBvc2VkIHRvIGF0IHRoZSBjb250YWlu
aW5nIGJsb2NrIGxldmVsLCB0aG91Z2ggdGhleSBtaWdodCBiZSB0aGUgc2FtZSkuCiAgICAgLy8g
RklYTUU6IFR1cm4gdGhpcyBpbnRvIGEgcmVnaXN0ZXItc2VsZiBhcyBib3hlcyBhcmUgYmVpbmcg
aW5zZXJ0ZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0Nv
bnRleHRRdWlya3MuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0
UXVpcmtzLmNwcAppbmRleCA4YzI2NmZlMzgyYWJiYmUyZDFmMzY0YzFkMDYwOWQ0OGVmOWJhMmI1
Li4yZDE4ODkzZGEwMWRjMWZkYjNlMmIxZjg4Y2Y3ZmZlYWJjZTI2MDM4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHRRdWlya3MuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dFF1aXJrcy5jcHAKQEAgLTMwLDYg
KzMwLDcgQEAKIAogI2luY2x1ZGUgIkRpc3BsYXlCb3guaCIKICNpbmNsdWRlICJMYXlvdXRCb3gu
aCIKKyNpbmNsdWRlICJMYXlvdXRJbml0aWFsQ29udGFpbmluZ0Jsb2NrLmgiCiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIG5hbWVzcGFjZSBMYXlvdXQgewpAQCAtNTksNyArNjAsNyBAQCBMYXlvdXRV
bml0IEZvcm1hdHRpbmdDb250ZXh0OjpRdWlya3M6OmhlaWdodFZhbHVlT2ZOZWFyZXN0Q29udGFp
bmluZ0Jsb2NrV2l0aEZpeAogICAgICAgICAgICAgYm9keUFuZERvY3VtZW50VmVydGljYWxNYXJn
aW5QYWRkaW5nQW5kQm9yZGVyICs9IHZlcnRpY2FsTWFyZ2luLmJlZm9yZS52YWx1ZU9yKDApICsg
dmVydGljYWxNYXJnaW4uYWZ0ZXIudmFsdWVPcigwKSArIHZlcnRpY2FsUGFkZGluZyArIHZlcnRp
Y2FsQm9yZGVyOwogICAgICAgICB9CiAKLSAgICAgICAgaWYgKGNvbnRhaW5pbmdCbG9jay0+aXNJ
bml0aWFsQ29udGFpbmluZ0Jsb2NrKCkpCisgICAgICAgIGlmIChpczxJbml0aWFsQ29udGFpbmlu
Z0Jsb2NrPigqY29udGFpbmluZ0Jsb2NrKSkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBj
b250YWluaW5nQmxvY2sgPSAmY29udGFpbmluZ0Jsb2NrLT5jb250YWluaW5nQmxvY2soKTsKICAg
ICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Js
b2NrRm9ybWF0dGluZ0NvbnRleHRRdWlya3MuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Js
b2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0UXVpcmtzLmNwcAppbmRleCAxNmQ1
YWFlMjlkMWQ0OWFmOGUzZDRiNmRhNTZhZTZkMTA5MThmYjZmLi4yYWUzODJkZWE2NzJiMzYxNWEy
YjZjNmFiNDgzODVlODE3NWQ1MWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
YmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHRRdWlya3MuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4
dFF1aXJrcy5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJEaXNwbGF5Qm94LmgiCiAj
aW5jbHVkZSAiTGF5b3V0Qm94LmgiCiAjaW5jbHVkZSAiTGF5b3V0Q29udGFpbmVyQm94LmgiCisj
aW5jbHVkZSAiTGF5b3V0SW5pdGlhbENvbnRhaW5pbmdCbG9jay5oIgogI2luY2x1ZGUgIkxheW91
dFN0YXRlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9kaXNwbGF5dHJlZS9EaXNwbGF5UGFpbnRlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvZGlzcGxheXRyZWUvRGlzcGxheVBhaW50ZXIuY3BwCmluZGV4IDUxYjBlNWIyYjcw
NjU0Yjg1Nzg4MTRmZTRiMDNhMmFjNjJkM2QyMzUuLjI0MTY1MjVlZGU2NWM2ZGE0ZjI0YmMzNGE1
YjFiNzZkNmVkYzlkODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9kaXNwbGF5
dHJlZS9EaXNwbGF5UGFpbnRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Rpc3Bs
YXl0cmVlL0Rpc3BsYXlQYWludGVyLmNwcApAQCAtMzYsNiArMzYsNyBAQAogI2luY2x1ZGUgIklu
bGluZVRleHRJdGVtLmgiCiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIkxheW91dENv
bnRhaW5lckJveC5oIgorI2luY2x1ZGUgIkxheW91dEluaXRpYWxDb250YWluaW5nQmxvY2suaCIK
ICNpbmNsdWRlICJMYXlvdXRTdGF0ZS5oIgogI2luY2x1ZGUgIlJlbmRlclN0eWxlLmgiCiAjaW5j
bHVkZSAiVGV4dFJ1bi5oIgpAQCAtMTQ1LDExICsxNDYsMTEgQEAgc3RhdGljIEJveCBhYnNvbHV0
ZURpc3BsYXlCb3goY29uc3QgTGF5b3V0OjpMYXlvdXRTdGF0ZSYgbGF5b3V0U3RhdGUsIGNvbnN0
IExheW8KICAgICAvLyBTaG91bGQgbmV2ZXIgcmVhbGx5IGhhcHBlbiBidXQgdGFibGUgY29kZSBp
cyB3YXkgdG9vIGluY29tcGxldGUuCiAgICAgaWYgKCFsYXlvdXRTdGF0ZS5oYXNEaXNwbGF5Qm94
KGxheW91dEJveCkpCiAgICAgICAgIHJldHVybiB7IH07Ci0gICAgaWYgKGxheW91dEJveC5pc0lu
aXRpYWxDb250YWluaW5nQmxvY2soKSkKKyAgICBpZiAoaXM8TGF5b3V0OjpJbml0aWFsQ29udGFp
bmluZ0Jsb2NrPihsYXlvdXRCb3gpKQogICAgICAgICByZXR1cm4gbGF5b3V0U3RhdGUuZGlzcGxh
eUJveEZvckxheW91dEJveChsYXlvdXRCb3gpOwogCiAgICAgYXV0byBhYnNvbHV0ZUJveCA9IEJv
eCB7IGxheW91dFN0YXRlLmRpc3BsYXlCb3hGb3JMYXlvdXRCb3gobGF5b3V0Qm94KSB9OwotICAg
IGZvciAoYXV0byogY29udGFpbmluZ0Jsb2NrID0gJmxheW91dEJveC5jb250YWluaW5nQmxvY2so
KTsgIWNvbnRhaW5pbmdCbG9jay0+aXNJbml0aWFsQ29udGFpbmluZ0Jsb2NrKCk7IGNvbnRhaW5p
bmdCbG9jayA9ICZjb250YWluaW5nQmxvY2stPmNvbnRhaW5pbmdCbG9jaygpKQorICAgIGZvciAo
YXV0byogY29udGFpbmluZ0Jsb2NrID0gJmxheW91dEJveC5jb250YWluaW5nQmxvY2soKTsgIWlz
PExheW91dDo6SW5pdGlhbENvbnRhaW5pbmdCbG9jaz4oKmNvbnRhaW5pbmdCbG9jayk7IGNvbnRh
aW5pbmdCbG9jayA9ICZjb250YWluaW5nQmxvY2stPmNvbnRhaW5pbmdCbG9jaygpKQogICAgICAg
ICBhYnNvbHV0ZUJveC5tb3ZlQnkobGF5b3V0U3RhdGUuZGlzcGxheUJveEZvckxheW91dEJveCgq
Y29udGFpbmluZ0Jsb2NrKS50b3BMZWZ0KCkpOwogICAgIHJldHVybiBhYnNvbHV0ZUJveDsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnZhbGlkYXRpb24vSW52YWxpZGF0
aW9uU3RhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludmFsaWRhdGlvbi9JbnZhbGlk
YXRpb25TdGF0ZS5jcHAKaW5kZXggYTlmYjllMGZkMDk5MDI4NDhlZTFiMmIyZmU5ZTJiOTUzNDJi
NzMyMy4uMjUzZTRkYzI5YmJhZjc3NDcxMWZlZjI0MDkyNWFhNjljYWZkYjYzYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludmFsaWRhdGlvbi9JbnZhbGlkYXRpb25TdGF0ZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludmFsaWRhdGlvbi9JbnZhbGlkYXRpb25T
dGF0ZS5jcHAKQEAgLTQyLDcgKzQyLDcgQEAgSW52YWxpZGF0aW9uU3RhdGU6OkludmFsaWRhdGlv
blN0YXRlKCkKIHZvaWQgSW52YWxpZGF0aW9uU3RhdGU6Om1hcmtOZWVkc1VwZGF0ZShjb25zdCBC
b3gmIGxheW91dEJveCkKIHsKICAgICAvLyBXZSBuZXZlciBsYXkgb3V0IHRoZSBpbml0aWFsIGNv
bnRhaW5pbmcgYmxvY2suIEl0IGFsd2F5cyBoYXMgcHJlLWRldGVybWluZWQgZ2VvbWV0cnkuCi0g
ICAgQVNTRVJUKCFsYXlvdXRCb3guaXNJbml0aWFsQ29udGFpbmluZ0Jsb2NrKCkpOworICAgIEFT
U0VSVCghaXM8SW5pdGlhbENvbnRhaW5pbmdCbG9jaz4obGF5b3V0Qm94KSk7CiAgICAgLy8gRklY
TUU6IFRoaXMgaXMganVzdCBhIHBsYWNlaG9sZGVyIGltcGxlbWVudGF0aW9uLgogICAgIG1fZm9y
bWF0dGluZ0NvbnRleHRSb290cy5hZGQoJmxheW91dEJveC5mb3JtYXR0aW5nQ29udGV4dFJvb3Qo
KSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlv
dXRCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0Qm94LmNw
cAppbmRleCAxMTkyYmIyOTlmZjhkYTU5Y2U5OTdlNDE0NzE1NjE2ZGNlOTcyNDA4Li5iZDdiNWY4
ZTkzMjI3YzRlYjI1YjhkNjk3NTZkZjc0NWVlOGMyODhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9sYXlvdXR0cmVlL0xheW91dEJveC5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2lu
Y2x1ZGUgIkRpc3BsYXlCb3guaCIKICNpbmNsdWRlICJMYXlvdXRDb250YWluZXJCb3guaCIKKyNp
bmNsdWRlICJMYXlvdXRJbml0aWFsQ29udGFpbmluZ0Jsb2NrLmgiCiAjaW5jbHVkZSAiTGF5b3V0
UGhhc2UuaCIKICNpbmNsdWRlICJMYXlvdXRTdGF0ZS5oIgogI2luY2x1ZGUgIlJlbmRlclN0eWxl
LmgiCkBAIC03MCw3ICs3MSw3IEBAIGJvb2wgQm94Ojplc3RhYmxpc2hlc0Zvcm1hdHRpbmdDb250
ZXh0KCkgY29uc3QKIGJvb2wgQm94Ojplc3RhYmxpc2hlc0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQo
KSBjb25zdAogewogICAgIC8vIElDQiBhbHdheXMgY3JlYXRlcyBhIG5ldyAoaW5pdGFsKSBibG9j
ayBmb3JtYXR0aW5nIGNvbnRleHQuCi0gICAgaWYgKGlzSW5pdGlhbENvbnRhaW5pbmdCbG9jaygp
KQorICAgIGlmIChpczxDb250YWluZXJCb3g+KCp0aGlzKSkKICAgICAgICAgcmV0dXJuIHRydWU7
CiAKICAgICBpZiAoaXNUYWJsZVdyYXBwZXJCb3goKSkKQEAgLTE4Myw3ICsxODQsNyBAQCBjb25z
dCBDb250YWluZXJCb3gmIEJveDo6Y29udGFpbmluZ0Jsb2NrKCkgY29uc3QKICAgICAvLyBGaW5k
aW5nIHRoZSBjb250YWluaW5nIGJsb2NrIGJ5IHRyYXZlcnNpbmcgdGhlIHRyZWUgZHVyaW5nIHRy
ZWUgY29uc3RydWN0aW9uIGNvdWxkIHByb3ZpZGUgaW5jb3JyZWN0IHJlc3VsdC4KICAgICBBU1NF
UlQoIVBoYXNlOjppc0luVHJlZUJ1aWxkaW5nKCkpOwogICAgIC8vIElmIHdlIGV2ZXIgZW5kIHVw
IGhlcmUgd2l0aCB0aGUgSUNCLCB3ZSBtdXN0IGJlIGRvaW5nIHNvbWV0aGluZyBub3Qtc28tZ3Jl
YXQuCi0gICAgUkVMRUFTRV9BU1NFUlQoIWlzSW5pdGlhbENvbnRhaW5pbmdCbG9jaygpKTsKKyAg
ICBSRUxFQVNFX0FTU0VSVCghaXM8SW5pdGlhbENvbnRhaW5pbmdCbG9jaz4oKnRoaXMpKTsKICAg
ICAvLyBUaGUgY29udGFpbmluZyBibG9jayBpbiB3aGljaCB0aGUgcm9vdCBlbGVtZW50IGxpdmVz
IGlzIGEgcmVjdGFuZ2xlIGNhbGxlZCB0aGUgaW5pdGlhbCBjb250YWluaW5nIGJsb2NrLgogICAg
IC8vIEZvciBvdGhlciBlbGVtZW50cywgaWYgdGhlIGVsZW1lbnQncyBwb3NpdGlvbiBpcyAncmVs
YXRpdmUnIG9yICdzdGF0aWMnLCB0aGUgY29udGFpbmluZyBibG9jayBpcyBmb3JtZWQgYnkgdGhl
CiAgICAgLy8gY29udGVudCBlZGdlIG9mIHRoZSBuZWFyZXN0IGJsb2NrIGNvbnRhaW5lciBhbmNl
c3RvciBib3ggb3Igd2hpY2ggZXN0YWJsaXNoZXMgYSBmb3JtYXR0aW5nIGNvbnRleHQuCkBAIC0x
OTIsNyArMTkzLDcgQEAgY29uc3QgQ29udGFpbmVyQm94JiBCb3g6OmNvbnRhaW5pbmdCbG9jaygp
IGNvbnN0CiAgICAgLy8gJ3Bvc2l0aW9uJyBvZiAnYWJzb2x1dGUnLCAncmVsYXRpdmUnIG9yICdm
aXhlZCcuCiAgICAgaWYgKCFpc1Bvc2l0aW9uZWQoKSB8fCBpc0luRmxvd1Bvc2l0aW9uZWQoKSkg
ewogICAgICAgICBhdXRvKiBhbmNlc3RvciA9IHBhcmVudCgpOwotICAgICAgICBmb3IgKDsgIWFu
Y2VzdG9yLT5pc0luaXRpYWxDb250YWluaW5nQmxvY2soKTsgYW5jZXN0b3IgPSBhbmNlc3Rvci0+
cGFyZW50KCkpIHsKKyAgICAgICAgZm9yICg7ICFpczxJbml0aWFsQ29udGFpbmluZ0Jsb2NrPigq
YW5jZXN0b3IpOyBhbmNlc3RvciA9IGFuY2VzdG9yLT5wYXJlbnQoKSkgewogICAgICAgICAgICAg
aWYgKGFuY2VzdG9yLT5pc0Jsb2NrQ29udGFpbmVyQm94KCkgfHwgYW5jZXN0b3ItPmVzdGFibGlz
aGVzRm9ybWF0dGluZ0NvbnRleHQoKSkKICAgICAgICAgICAgICAgICByZXR1cm4gKmFuY2VzdG9y
OwogICAgICAgICB9CkBAIC0yMDEsNyArMjAyLDcgQEAgY29uc3QgQ29udGFpbmVyQm94JiBCb3g6
OmNvbnRhaW5pbmdCbG9jaygpIGNvbnN0CiAKICAgICBpZiAoaXNGaXhlZFBvc2l0aW9uZWQoKSkg
ewogICAgICAgICBhdXRvKiBhbmNlc3RvciA9IHBhcmVudCgpOwotICAgICAgICBmb3IgKDsgIWFu
Y2VzdG9yLT5pc0luaXRpYWxDb250YWluaW5nQmxvY2soKTsgYW5jZXN0b3IgPSBhbmNlc3Rvci0+
cGFyZW50KCkpIHsKKyAgICAgICAgZm9yICg7ICFpczxJbml0aWFsQ29udGFpbmluZ0Jsb2NrPigq
YW5jZXN0b3IpOyBhbmNlc3RvciA9IGFuY2VzdG9yLT5wYXJlbnQoKSkgewogICAgICAgICAgICAg
aWYgKGFuY2VzdG9yLT5zdHlsZSgpLmhhc1RyYW5zZm9ybSgpKQogICAgICAgICAgICAgICAgIHJl
dHVybiAqYW5jZXN0b3I7CiAgICAgICAgIH0KQEAgLTIxMCw3ICsyMTEsNyBAQCBjb25zdCBDb250
YWluZXJCb3gmIEJveDo6Y29udGFpbmluZ0Jsb2NrKCkgY29uc3QKIAogICAgIGlmIChpc091dE9m
Rmxvd1Bvc2l0aW9uZWQoKSkgewogICAgICAgICBhdXRvKiBhbmNlc3RvciA9IHBhcmVudCgpOwot
ICAgICAgICBmb3IgKDsgIWFuY2VzdG9yLT5pc0luaXRpYWxDb250YWluaW5nQmxvY2soKTsgYW5j
ZXN0b3IgPSBhbmNlc3Rvci0+cGFyZW50KCkpIHsKKyAgICAgICAgZm9yICg7ICFpczxJbml0aWFs
Q29udGFpbmluZ0Jsb2NrPigqYW5jZXN0b3IpOyBhbmNlc3RvciA9IGFuY2VzdG9yLT5wYXJlbnQo
KSkgewogICAgICAgICAgICAgaWYgKGFuY2VzdG9yLT5pc1Bvc2l0aW9uZWQoKSB8fCBhbmNlc3Rv
ci0+c3R5bGUoKS5oYXNUcmFuc2Zvcm0oKSkKICAgICAgICAgICAgICAgICByZXR1cm4gKmFuY2Vz
dG9yOwogICAgICAgICB9CkBAIC0yMjYsNyArMjI3LDcgQEAgY29uc3QgQ29udGFpbmVyQm94JiBC
b3g6OmZvcm1hdHRpbmdDb250ZXh0Um9vdCgpIGNvbnN0CiAgICAgLy8gRmluZGluZyB0aGUgY29u
dGV4dCByb290IGJ5IHRyYXZlcnNpbmcgdGhlIHRyZWUgZHVyaW5nIHRyZWUgY29uc3RydWN0aW9u
IGNvdWxkIHByb3ZpZGUgaW5jb3JyZWN0IHJlc3VsdC4KICAgICBBU1NFUlQoIVBoYXNlOjppc0lu
VHJlZUJ1aWxkaW5nKCkpOwogICAgIC8vIFdlIHNob3VsZCBuZXZlciBuZWVkIHRvIGFzayB0aGlz
IHF1ZXN0aW9uIG9uIHRoZSBJQ0IuCi0gICAgQVNTRVJUKCFpc0luaXRpYWxDb250YWluaW5nQmxv
Y2soKSk7CisgICAgQVNTRVJUKCFpczxJbml0aWFsQ29udGFpbmluZ0Jsb2NrPigqdGhpcykpOwog
ICAgIC8vIEEgYm94IGxpdmVzIGluIHRoZSBzYW1lIGZvcm1hdHRpbmcgY29udGV4dCBhcyBpdHMg
Y29udGFpbmluZyBibG9jayB1bmxlc3MgdGhlIGNvbnRhaW5pbmcgYmxvY2sgZXN0YWJsaXNoZXMg
YSBmb3JtYXR0aW5nIGNvbnRleHQuCiAgICAgLy8gSG93ZXZlciByZWxhdGl2ZWx5IHBvc2l0aW9u
ZWQgKGluZmxvdykgaW5saW5lIGNvbnRhaW5lciBsaXZlcyBpbiB0aGUgZm9ybWF0dGluZyBjb250
ZXh0IHdoZXJlIGl0cyBwYXJlbnQgbGl2ZXMgdW5sZXNzCiAgICAgLy8gdGhlIHBhcmVudCBlc3Rh
Ymxpc2hlcyBhIGZvcm1hdHRpbmcgY29udGV4dC4KQEAgLTI0MCwyNiArMjQxLDI2IEBAIGNvbnN0
IENvbnRhaW5lckJveCYgQm94Ojpmb3JtYXR0aW5nQ29udGV4dFJvb3QoKSBjb25zdAogICAgIHJl
dHVybiBhbmNlc3Rvci5mb3JtYXR0aW5nQ29udGV4dFJvb3QoKTsKIH0KIAotY29uc3QgQ29udGFp
bmVyQm94JiBCb3g6OmluaXRpYWxDb250YWluaW5nQmxvY2soKSBjb25zdAorY29uc3QgSW5pdGlh
bENvbnRhaW5pbmdCbG9jayYgQm94Ojppbml0aWFsQ29udGFpbmluZ0Jsb2NrKCkgY29uc3QKIHsK
LSAgICBpZiAoaXNJbml0aWFsQ29udGFpbmluZ0Jsb2NrKCkpCi0gICAgICAgIHJldHVybiBkb3du
Y2FzdDxDb250YWluZXJCb3g+KCp0aGlzKTsKKyAgICBpZiAoaXM8SW5pdGlhbENvbnRhaW5pbmdC
bG9jaz4oKnRoaXMpKQorICAgICAgICByZXR1cm4gZG93bmNhc3Q8SW5pdGlhbENvbnRhaW5pbmdC
bG9jaz4oKnRoaXMpOwogCiAgICAgYXV0byogYW5jZXN0b3IgPSBwYXJlbnQoKTsKICAgICBmb3Ig
KDsgYW5jZXN0b3ItPnBhcmVudCgpOyBhbmNlc3RvciA9IGFuY2VzdG9yLT5wYXJlbnQoKSkgeyB9
CiAKLSAgICByZXR1cm4gKmFuY2VzdG9yOworICAgIHJldHVybiBkb3duY2FzdDxJbml0aWFsQ29u
dGFpbmluZ0Jsb2NrPigqYW5jZXN0b3IpOwogfQogCiBib29sIEJveDo6aXNJbkZvcm1hdHRpbmdD
b250ZXh0T2YoY29uc3QgQ29udGFpbmVyQm94JiBmb3JtYXR0aW5nQ29udGV4dFJvb3QpIGNvbnN0
CiB7IAogICAgIEFTU0VSVChmb3JtYXR0aW5nQ29udGV4dFJvb3QuZXN0YWJsaXNoZXNGb3JtYXR0
aW5nQ29udGV4dCgpKTsKLSAgICBBU1NFUlQoIWlzSW5pdGlhbENvbnRhaW5pbmdCbG9jaygpKTsK
KyAgICBBU1NFUlQoIWlzPEluaXRpYWxDb250YWluaW5nQmxvY2s+KCp0aGlzKSk7CiAgICAgYXV0
byogYW5jZXN0b3IgPSAmY29udGFpbmluZ0Jsb2NrKCk7CiAgICAgd2hpbGUgKGFuY2VzdG9yKSB7
CiAgICAgICAgIGlmIChhbmNlc3RvciA9PSAmZm9ybWF0dGluZ0NvbnRleHRSb290KQogICAgICAg
ICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIGlmIChhbmNlc3Rvci0+aXNJbml0aWFsQ29udGFp
bmluZ0Jsb2NrKCkpCisgICAgICAgIGlmIChpczxJbml0aWFsQ29udGFpbmluZ0Jsb2NrPigqYW5j
ZXN0b3IpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBhbmNlc3RvciA9ICZh
bmNlc3Rvci0+Y29udGFpbmluZ0Jsb2NrKCk7CiAgICAgfQpAQCAtMzYwLDcgKzM2MSw3IEBAIGJv
b2wgQm94Ojppc092ZXJmbG93VmlzaWJsZSgpIGNvbnN0CiAgICAgICAgICAgICByZXR1cm4gaXNP
dmVyZmxvd1Zpc2libGU7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KLSAgICBpZiAoaXNJ
bml0aWFsQ29udGFpbmluZ0Jsb2NrKCkpIHsKKyAgICBpZiAoaXM8SW5pdGlhbENvbnRhaW5pbmdC
bG9jaz4oKnRoaXMpKSB7CiAgICAgICAgIGF1dG8qIGRvY3VtZW50Qm94ID0gZG93bmNhc3Q8Q29u
dGFpbmVyQm94PigqdGhpcykuZmlyc3RDaGlsZCgpOwogICAgICAgICBpZiAoIWRvY3VtZW50Qm94
IHx8ICFkb2N1bWVudEJveC0+aXNEb2N1bWVudEJveCgpIHx8ICFpczxDb250YWluZXJCb3g+KGRv
Y3VtZW50Qm94KSkKICAgICAgICAgICAgIHJldHVybiBpc092ZXJmbG93VmlzaWJsZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dEJveC5oIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0Qm94LmgKaW5kZXggZmQ4Nzk5ZjQ1
MGI0ODI1ZTI2NTY0MjI2MmI5NzBiNmM4M2ZjNmQ5OC4uODZkMWI4YTljOGIwNTg4YTY2ZWZlOWVl
Y2EyMTkxNjZlYzdhMDE2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91
dHRyZWUvTGF5b3V0Qm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUv
TGF5b3V0Qm94LmgKQEAgLTQwLDYgKzQwLDcgQEAgY2xhc3MgQm94OwogbmFtZXNwYWNlIExheW91
dCB7CiAKIGNsYXNzIENvbnRhaW5lckJveDsKK2NsYXNzIEluaXRpYWxDb250YWluaW5nQmxvY2s7
CiBjbGFzcyBMYXlvdXRTdGF0ZTsKIGNsYXNzIFRyZWVCdWlsZGVyOwogCkBAIC02MSwxMiArNjIs
MTIgQEAgcHVibGljOgogICAgIH07CiAKICAgICBlbnVtIEJhc2VUeXBlRmxhZyB7Ci0gICAgICAg
IEJveEZsYWcgICAgICAgICAgICAgICAgPSAxIDw8IDAsCi0gICAgICAgIElubGluZVRleHRCb3gg
ICAgICAgICAgPSAxIDw8IDEsCi0gICAgICAgIExpbmVCcmVha0JveCAgICAgICAgICAgPSAxIDw8
IDIsCi0gICAgICAgIFJlcGxhY2VkQm94ICAgICAgICAgICAgPSAxIDw8IDMsCi0gICAgICAgIElu
aXRpYWxDb250YWluaW5nQmxvY2sgPSAxIDw8IDQsCi0gICAgICAgIENvbnRhaW5lckJveEZsYWcg
ICAgICAgPSAxIDw8IDUKKyAgICAgICAgQm94RmxhZyAgICAgICAgICAgICAgICAgICAgPSAxIDw8
IDAsCisgICAgICAgIElubGluZVRleHRCb3hGbGFnICAgICAgICAgID0gMSA8PCAxLAorICAgICAg
ICBMaW5lQnJlYWtCb3hGbGFnICAgICAgICAgICA9IDEgPDwgMiwKKyAgICAgICAgUmVwbGFjZWRC
b3hGbGFnICAgICAgICAgICAgPSAxIDw8IDMsCisgICAgICAgIEluaXRpYWxDb250YWluaW5nQmxv
Y2tGbGFnID0gMSA8PCA0LAorICAgICAgICBDb250YWluZXJCb3hGbGFnICAgICAgICAgICA9IDEg
PDwgNQogICAgIH07CiAgICAgdHlwZWRlZiB1bnNpZ25lZCBCYXNlVHlwZUZsYWdzOwogCkBAIC05
Niw3ICs5Nyw3IEBAIHB1YmxpYzoKIAogICAgIGNvbnN0IENvbnRhaW5lckJveCYgY29udGFpbmlu
Z0Jsb2NrKCkgY29uc3Q7CiAgICAgY29uc3QgQ29udGFpbmVyQm94JiBmb3JtYXR0aW5nQ29udGV4
dFJvb3QoKSBjb25zdDsKLSAgICBjb25zdCBDb250YWluZXJCb3gmIGluaXRpYWxDb250YWluaW5n
QmxvY2soKSBjb25zdDsKKyAgICBjb25zdCBJbml0aWFsQ29udGFpbmluZ0Jsb2NrJiBpbml0aWFs
Q29udGFpbmluZ0Jsb2NrKCkgY29uc3Q7CiAKICAgICBib29sIGlzSW5Gb3JtYXR0aW5nQ29udGV4
dE9mKGNvbnN0IENvbnRhaW5lckJveCYpIGNvbnN0OwogCkBAIC0xMDksNyArMTEwLDcgQEAgcHVi
bGljOgogICAgIGJvb2wgaXNJbmxpbmVCbG9ja0JveCgpIGNvbnN0OwogICAgIGJvb2wgaXNJbmxp
bmVUYWJsZUJveCgpIGNvbnN0OwogICAgIGJvb2wgaXNCbG9ja0NvbnRhaW5lckJveCgpIGNvbnN0
OwotICAgIGJvb2wgaXNJbml0aWFsQ29udGFpbmluZ0Jsb2NrKCkgY29uc3QgeyByZXR1cm4gbV9i
YXNlVHlwZUZsYWdzICYgSW5pdGlhbENvbnRhaW5pbmdCbG9jazsgfQorICAgIGJvb2wgaXNJbml0
aWFsQ29udGFpbmluZ0Jsb2NrKCkgY29uc3QgeyByZXR1cm4gbV9iYXNlVHlwZUZsYWdzICYgSW5p
dGlhbENvbnRhaW5pbmdCbG9ja0ZsYWc7IH0KIAogICAgIGJvb2wgaXNEb2N1bWVudEJveCgpIGNv
bnN0IHsgcmV0dXJuIG1fZWxlbWVudEF0dHJpYnV0ZXMgJiYgbV9lbGVtZW50QXR0cmlidXRlcy52
YWx1ZSgpLmVsZW1lbnRUeXBlID09IEVsZW1lbnRUeXBlOjpEb2N1bWVudDsgfQogICAgIGJvb2wg
aXNCb2R5Qm94KCkgY29uc3QgeyByZXR1cm4gbV9lbGVtZW50QXR0cmlidXRlcyAmJiBtX2VsZW1l
bnRBdHRyaWJ1dGVzLnZhbHVlKCkuZWxlbWVudFR5cGUgPT0gRWxlbWVudFR5cGU6OkJvZHk7IH0K
QEAgLTEzOCw5ICsxMzksOSBAQCBwdWJsaWM6CiAgICAgQm94KiBuZXh0U2libGluZygpIHsgcmV0
dXJuIG1fbmV4dFNpYmxpbmc7IH0KIAogICAgIGJvb2wgaXNDb250YWluZXJCb3goKSBjb25zdCB7
IHJldHVybiBtX2Jhc2VUeXBlRmxhZ3MgJiBDb250YWluZXJCb3hGbGFnOyB9Ci0gICAgYm9vbCBp
c0lubGluZVRleHRCb3goKSBjb25zdCB7IHJldHVybiBtX2Jhc2VUeXBlRmxhZ3MgJiBJbmxpbmVU
ZXh0Qm94OyB9Ci0gICAgYm9vbCBpc0xpbmVCcmVha0JveCgpIGNvbnN0IHsgcmV0dXJuIG1fYmFz
ZVR5cGVGbGFncyAmIExpbmVCcmVha0JveDsgfQotICAgIGJvb2wgaXNSZXBsYWNlZEJveCgpIGNv
bnN0IHsgcmV0dXJuIG1fYmFzZVR5cGVGbGFncyAmIFJlcGxhY2VkQm94OyB9CisgICAgYm9vbCBp
c0lubGluZVRleHRCb3goKSBjb25zdCB7IHJldHVybiBtX2Jhc2VUeXBlRmxhZ3MgJiBJbmxpbmVU
ZXh0Qm94RmxhZzsgfQorICAgIGJvb2wgaXNMaW5lQnJlYWtCb3goKSBjb25zdCB7IHJldHVybiBt
X2Jhc2VUeXBlRmxhZ3MgJiBMaW5lQnJlYWtCb3hGbGFnOyB9CisgICAgYm9vbCBpc1JlcGxhY2Vk
Qm94KCkgY29uc3QgeyByZXR1cm4gbV9iYXNlVHlwZUZsYWdzICYgUmVwbGFjZWRCb3hGbGFnOyB9
CiAKICAgICBib29sIGlzUGFkZGluZ0FwcGxpY2FibGUoKSBjb25zdDsKICAgICBib29sIGlzT3Zl
cmZsb3dWaXNpYmxlKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
bGF5b3V0dHJlZS9MYXlvdXRJbml0aWFsQ29udGFpbmluZ0Jsb2NrLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dEluaXRpYWxDb250YWluaW5nQmxvY2suY3BwCmlu
ZGV4IGMwMzQ5YmM5NmM5MjVkNzc0ODlmMzhhNjlhNzBhNjg2MDExYTRkMDQuLmFjNGNkZjcwZTA5
OTVmYzYyZDBiODU5ZjRkYWM2MDBlZDYyZDI1YmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9sYXlvdXR0cmVlL0xheW91dEluaXRpYWxDb250YWluaW5nQmxvY2suY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dEluaXRpYWxDb250YWluaW5n
QmxvY2suY3BwCkBAIC0zNyw3ICszNyw3IEBAIG5hbWVzcGFjZSBMYXlvdXQgewogV1RGX01BS0Vf
SVNPX0FMTE9DQVRFRF9JTVBMKEluaXRpYWxDb250YWluaW5nQmxvY2spOwogCiBJbml0aWFsQ29u
dGFpbmluZ0Jsb2NrOjpJbml0aWFsQ29udGFpbmluZ0Jsb2NrKFJlbmRlclN0eWxlJiYgc3R5bGUp
Ci0gICAgOiBDb250YWluZXJCb3goeyB9LCBXVEZNb3ZlKHN0eWxlKSwgQm94OjpJbml0aWFsQ29u
dGFpbmluZ0Jsb2NrKQorICAgIDogQ29udGFpbmVyQm94KHsgfSwgV1RGTW92ZShzdHlsZSksIEJv
eDo6SW5pdGlhbENvbnRhaW5pbmdCbG9ja0ZsYWcpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dElubGluZVRleHRCb3guY3BwIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0SW5saW5lVGV4dEJveC5jcHAKaW5k
ZXggMmI4N2M0N2U2MTYwOWFlNjgxZWRjYTExYmM3MTk2YTJhMjgwZTI4Yy4uOTU4N2I2OTU2YzY5
NzQ5ZjlhYWRiOGRkNTFlNzdmOGQwNjMyZTFhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2xheW91dHRyZWUvTGF5b3V0SW5saW5lVGV4dEJveC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0SW5saW5lVGV4dEJveC5jcHAKQEAgLTM3LDcg
KzM3LDcgQEAgbmFtZXNwYWNlIExheW91dCB7CiBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwo
SW5saW5lVGV4dEJveCk7CiAKIElubGluZVRleHRCb3g6OklubGluZVRleHRCb3goU3RyaW5nIGNv
bnRlbnQsIGJvb2wgY2FuVXNlU2ltcGxpZmllZENvbnRlbnRNZWFzdXJpbmcsIFJlbmRlclN0eWxl
JiYgc3R5bGUpCi0gICAgOiBCb3goeyB9LCBXVEZNb3ZlKHN0eWxlKSwgQm94OjpJbmxpbmVUZXh0
Qm94KQorICAgIDogQm94KHsgfSwgV1RGTW92ZShzdHlsZSksIEJveDo6SW5saW5lVGV4dEJveEZs
YWcpCiAgICAgLCBtX2NvbnRlbnQoY29udGVudCkKICAgICAsIG1fY2FuVXNlU2ltcGxpZmllZENv
bnRlbnRNZWFzdXJpbmcoY2FuVXNlU2ltcGxpZmllZENvbnRlbnRNZWFzdXJpbmcpCiB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRMaW5lQnJlYWtC
b3guY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0TGluZUJyZWFr
Qm94LmNwcAppbmRleCBlMjU3NjViYmY3NmM4YzBkNmMxNTAxZTE5MGFhNDVjZmY0MmU2ODk3Li5h
YTAwYjg2Nzc0MjkwZDA5NzlkYmQ2OTMyYzhiM2VhM2E1YjlhMjQzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRMaW5lQnJlYWtCb3guY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dExpbmVCcmVha0JveC5jcHAK
QEAgLTM3LDcgKzM3LDcgQEAgbmFtZXNwYWNlIExheW91dCB7CiBXVEZfTUFLRV9JU09fQUxMT0NB
VEVEX0lNUEwoTGluZUJyZWFrQm94KTsKIAogTGluZUJyZWFrQm94OjpMaW5lQnJlYWtCb3goYm9v
bCBpc09wdGlvbmFsLCBSZW5kZXJTdHlsZSYmIHN0eWxlKQotICAgIDogQm94KHsgfSwgV1RGTW92
ZShzdHlsZSksIEJveDo6TGluZUJyZWFrQm94KQorICAgIDogQm94KHsgfSwgV1RGTW92ZShzdHls
ZSksIEJveDo6TGluZUJyZWFrQm94RmxhZykKICAgICAsIG1faXNPcHRpb25hbChpc09wdGlvbmFs
KQogewogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5
b3V0UmVwbGFjZWRCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5
b3V0UmVwbGFjZWRCb3guY3BwCmluZGV4IDVjNGQyMGZhOTk3YjM5Zjg1YzU3YTg0MTk0MGVlZWE2
Yzk2ZDQ4NWYuLmI2OTBlZmUxNzAzOGE1MTJhZjIwMzUxZTJlNTAwMGUxZWFlY2IwNmYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dFJlcGxhY2VkQm94
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRSZXBsYWNl
ZEJveC5jcHAKQEAgLTM3LDcgKzM3LDcgQEAgbmFtZXNwYWNlIExheW91dCB7CiBXVEZfTUFLRV9J
U09fQUxMT0NBVEVEX0lNUEwoUmVwbGFjZWRCb3gpOwogCiBSZXBsYWNlZEJveDo6UmVwbGFjZWRC
b3goUmVuZGVyU3R5bGUmJiBzdHlsZSkKLSAgICA6IEJveCh7IH0sIFdURk1vdmUoc3R5bGUpLCBC
b3g6OlJlcGxhY2VkQm94KQorICAgIDogQm94KHsgfSwgV1RGTW92ZShzdHlsZSksIEJveDo6UmVw
bGFjZWRCb3hGbGFnKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
bGF5b3V0dHJlZS9MYXlvdXRUcmVlQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
bGF5b3V0dHJlZS9MYXlvdXRUcmVlQnVpbGRlci5jcHAKaW5kZXggZmFiZTk1N2I1ZjQ3YzY2OTZl
ZTJjODJmYjhmMjg4Y2IxNzExODEzZS4uN2JiOTFmM2Q2ZTk0OTY2YTYzNGE1ZjJkMmE0Y2NlMzZk
YTFkZWJlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5
b3V0VHJlZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVl
L0xheW91dFRyZWVCdWlsZGVyLmNwcApAQCAtMzk0LDcgKzM5NCw3IEBAIHN0YXRpYyB2b2lkIG91
dHB1dExheW91dEJveChUZXh0U3RyZWFtJiBzdHJlYW0sIGNvbnN0IEJveCYgbGF5b3V0Qm94LCBj
b25zdCBEaXNwCiAgICAgaWYgKGxheW91dEJveC5pc0Zsb2F0aW5nUG9zaXRpb25lZCgpKQogICAg
ICAgICBzdHJlYW0gPDwgIltmbG9hdF0gIjsKIAotICAgIGlmIChsYXlvdXRCb3guaXNJbml0aWFs
Q29udGFpbmluZ0Jsb2NrKCkpCisgICAgaWYgKGlzPEluaXRpYWxDb250YWluaW5nQmxvY2s+KGxh
eW91dEJveCkpCiAgICAgICAgIHN0cmVhbSA8PCAiSW5pdGlhbCBjb250YWluaW5nIGJsb2NrIjsK
ICAgICBlbHNlIGlmIChsYXlvdXRCb3guaXNEb2N1bWVudEJveCgpKQogICAgICAgICBzdHJlYW0g
PDwgIkhUTUwiOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394260</attachid>
            <date>2020-03-23 07:31:28 -0700</date>
            <delta_ts>2020-03-23 08:41:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209406-20200323073127.patch</filename>
            <type>text/plain</type>
            <size>21871</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4ODM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZThkZTlhOTFhZWJjMGQz
MzgyMTg2Nzk3MzI5ZDA1YjYxMTUwZDBjOS4uMWE2NDRkMWQ4NWNiNGE0NDkxMWVkNzQ3OGQ3MWZj
NWM1NjlmZmFhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDIwLTAzLTIzICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ10gTGF5b3V0OjpCb3g6
OmluaXRpYWxDb250YWluaW5nQmxvY2soKSBzaG91bGQgcmV0dXJuIGNvbnN0IEluaXRpYWxDb250
YWluaW5nQmxvY2smCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMDk0MDYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYwNzQ5NzE1PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVzZSBpczxJbml0aWFsQ29u
dGFpbmluZ0Jsb2NrPiB3aGVyZSBhcHBsaWNhYmxlLgorCisgICAgICAgICogbGF5b3V0L0Zvcm1h
dHRpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Rm9ybWF0dGluZ0Nv
bnRleHQ6Omdlb21ldHJ5Rm9yQm94IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6
Rm9ybWF0dGluZ0NvbnRleHQ6OmNvbGxlY3RPdXRPZkZsb3dEZXNjZW5kYW50c0lmTmVlZGVkKToK
KyAgICAgICAgKiBsYXlvdXQvRm9ybWF0dGluZ0NvbnRleHRRdWlya3MuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpGb3JtYXR0aW5nQ29udGV4dDo6UXVpcmtzOjpoZWlnaHRWYWx1ZU9m
TmVhcmVzdENvbnRhaW5pbmdCbG9ja1dpdGhGaXhlZEhlaWdodCk6CisgICAgICAgICogbGF5b3V0
L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0UXVpcmtzLmNwcDoKKyAgICAg
ICAgKiBsYXlvdXQvZGlzcGxheXRyZWUvRGlzcGxheVBhaW50ZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RGlzcGxheTo6YWJzb2x1dGVEaXNwbGF5Qm94KToKKyAgICAgICAgKiBsYXlvdXQvaW52
YWxpZGF0aW9uL0ludmFsaWRhdGlvblN0YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91
dDo6SW52YWxpZGF0aW9uU3RhdGU6Om1hcmtOZWVkc1VwZGF0ZSk6CisgICAgICAgICogbGF5b3V0
L2xheW91dHRyZWUvTGF5b3V0Qm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Qm94
Ojplc3RhYmxpc2hlc0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6TGF5b3V0OjpCb3g6OmNvbnRhaW5pbmdCbG9jayBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpMYXlvdXQ6OkJveDo6Zm9ybWF0dGluZ0NvbnRleHRSb290IGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OkxheW91dDo6Qm94Ojppbml0aWFsQ29udGFpbmluZ0Jsb2NrIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6Qm94Ojppc0luRm9ybWF0dGluZ0NvbnRleHRPZiBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJveDo6aXNPdmVyZmxvd1Zpc2libGUgY29u
c3QpOgorICAgICAgICAqIGxheW91dC9sYXlvdXR0cmVlL0xheW91dEJveC5oOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpCb3g6OmlzSW5pdGlhbENvbnRhaW5pbmdCbG9jayBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJveDo6aXNJbmxpbmVUZXh0Qm94IGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6Qm94Ojppc0xpbmVCcmVha0JveCBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJveDo6aXNSZXBsYWNlZEJveCBjb25zdCk6CisgICAgICAg
ICogbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0SW5pdGlhbENvbnRhaW5pbmdCbG9jay5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkluaXRpYWxDb250YWluaW5nQmxvY2s6OkluaXRpYWxD
b250YWluaW5nQmxvY2spOgorICAgICAgICAqIGxheW91dC9sYXlvdXR0cmVlL0xheW91dElubGlu
ZVRleHRCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVUZXh0Qm94OjpJ
bmxpbmVUZXh0Qm94KToKKyAgICAgICAgKiBsYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRMaW5lQnJl
YWtCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQnJlYWtCb3g6OkxpbmVC
cmVha0JveCk6CisgICAgICAgICogbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0UmVwbGFjZWRCb3gu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpSZXBsYWNlZEJveDo6UmVwbGFjZWRCb3gp
OgorICAgICAgICAqIGxheW91dC9sYXlvdXR0cmVlL0xheW91dFRyZWVCdWlsZGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6b3V0cHV0TGF5b3V0Qm94KToKKwogMjAyMC0wMy0yMyAg
eW91ZW5uIGZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgTWVkaWFEZXZpY2Vz
OjpyZWZyZXNoRGV2aWNlcyBzaG91bGQgdGFrZSBkZXZpY2UgdHlwZSBpbnRvIGFjY291bnQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuY3BwCmluZGV4IGI2NzNlMzE5
NmFkNjM3MDY5NmQ0YzdjZmE4ODU0MjRmOWIzNjBiYTIuLmZlODk5NWVlNzE1OTFhZWNkOTg0MWE4
MTY1ZjM2Mzc1ODljYmIzZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3Jt
YXR0aW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdD
b250ZXh0LmNwcApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIkxheW91dENvbnRhaW5lckJv
eC5oIgogI2luY2x1ZGUgIkxheW91dENvbnRleHQuaCIKICNpbmNsdWRlICJMYXlvdXREZXNjZW5k
YW50SXRlcmF0b3IuaCIKKyNpbmNsdWRlICJMYXlvdXRJbml0aWFsQ29udGFpbmluZ0Jsb2NrLmgi
CiAjaW5jbHVkZSAiTGF5b3V0UmVwbGFjZWRCb3guaCIKICNpbmNsdWRlICJMYXlvdXRTdGF0ZS5o
IgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKQEAgLTE5Miw3ICsxOTMsNyBAQCBjb25zdCBEaXNwbGF5
OjpCb3gmIEZvcm1hdHRpbmdDb250ZXh0OjpnZW9tZXRyeUZvckJveChjb25zdCBCb3gmIGxheW91
dEJveCwgT3B0aQogICAgIFVOVVNFRF9QQVJBTShlc2NhcGVSZWFzb24pOwogI2lmIEFTU0VSVF9F
TkFCTEVECiAgICAgYXV0byBpc09rVG9BY2Nlc3NEaXNwbGF5Qm94ID0gWyZdIHsKLSAgICAgICAg
aWYgKCFsYXlvdXRCb3guaXNJbml0aWFsQ29udGFpbmluZ0Jsb2NrKCkgJiYgJmxheW91dEJveC5m
b3JtYXR0aW5nQ29udGV4dFJvb3QoKSA9PSAmcm9vdCgpKSB7CisgICAgICAgIGlmICghaXM8SW5p
dGlhbENvbnRhaW5pbmdCbG9jaz4obGF5b3V0Qm94KSAmJiAmbGF5b3V0Qm94LmZvcm1hdHRpbmdD
b250ZXh0Um9vdCgpID09ICZyb290KCkpIHsKICAgICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIG5v
bi1lc2NhcGUgY2FzZSBvZiBhY2Nlc3NpbmcgYSBib3gncyBnZW9tZXRyeSBpbmZvcm1hdGlvbiB3
aXRoaW4gdGhlIHNhbWUgZm9ybWF0dGluZyBjb250ZXh0LgogICAgICAgICAgICAgcmV0dXJuIHRy
dWU7CiAgICAgICAgIH0KQEAgLTIwNCwxNyArMjA1LDE3IEBAIGNvbnN0IERpc3BsYXk6OkJveCYg
Rm9ybWF0dGluZ0NvbnRleHQ6Omdlb21ldHJ5Rm9yQm94KGNvbnN0IEJveCYgbGF5b3V0Qm94LCBP
cHRpCiAKICAgICAgICAgaWYgKCplc2NhcGVSZWFzb24gPT0gRXNjYXBlUmVhc29uOjpEb2N1bWVu
dEJveFN0cmVjaGVzVG9WaWV3cG9ydFF1aXJrKSB7CiAgICAgICAgICAgICBBU1NFUlQobGF5b3V0
U3RhdGUoKS5pblF1aXJrc01vZGUoKSk7Ci0gICAgICAgICAgICByZXR1cm4gbGF5b3V0Qm94Lmlz
SW5pdGlhbENvbnRhaW5pbmdCbG9jaygpOworICAgICAgICAgICAgcmV0dXJuIGlzPEluaXRpYWxD
b250YWluaW5nQmxvY2s+KGxheW91dEJveCk7CiAgICAgICAgIH0KIAogICAgICAgICBpZiAoKmVz
Y2FwZVJlYXNvbiA9PSBFc2NhcGVSZWFzb246OkJvZHlTdHJlY2hlc1RvVmlld3BvcnRRdWlyaykg
ewogICAgICAgICAgICAgQVNTRVJUKGxheW91dFN0YXRlKCkuaW5RdWlya3NNb2RlKCkpOwotICAg
ICAgICAgICAgcmV0dXJuIGxheW91dEJveC5pc0luaXRpYWxDb250YWluaW5nQmxvY2soKSB8fCBs
YXlvdXRCb3guaXNEb2N1bWVudEJveCgpOworICAgICAgICAgICAgcmV0dXJuIGlzPEluaXRpYWxD
b250YWluaW5nQmxvY2s+KGxheW91dEJveCkgfHwgbGF5b3V0Qm94LmlzRG9jdW1lbnRCb3goKTsK
IAogICAgICAgICB9CiAKICAgICAgICAgaWYgKCplc2NhcGVSZWFzb24gPT0gRXNjYXBlUmVhc29u
OjpTdHJva2VPdmVyZmxvd05lZWRzVmlld3BvcnRHZW9tZXRyeSkKLSAgICAgICAgICAgIHJldHVy
biBsYXlvdXRCb3guaXNJbml0aWFsQ29udGFpbmluZ0Jsb2NrKCk7CisgICAgICAgICAgICByZXR1
cm4gaXM8SW5pdGlhbENvbnRhaW5pbmdCbG9jaz4obGF5b3V0Qm94KTsKIAogICAgICAgICBpZiAo
KmVzY2FwZVJlYXNvbiA9PSBFc2NhcGVSZWFzb246Ok5lZWRzR2VvbWV0cnlGcm9tRXN0YWJsaXNo
ZWRGb3JtYXR0aW5nQ29udGV4dCkgewogICAgICAgICAgICAgLy8gVGhpcyBpcyB0aGUgY2FzZSB3
aGVuIGEgZm9ybWF0dGluZyByb290IGNvbGxlY3RzIGdlb21ldHJ5IGluZm9ybWF0aW9uIGZyb20g
dGhlIGVzdGFibGlzaGVkCkBAIC0yNDMsNyArMjQ0LDcgQEAgY29uc3QgRGlzcGxheTo6Qm94JiBG
b3JtYXR0aW5nQ29udGV4dDo6Z2VvbWV0cnlGb3JCb3goY29uc3QgQm94JiBsYXlvdXRCb3gsIE9w
dGkKICAgICAgICAgICAgIEFTU0VSVChsYXlvdXRTdGF0ZSgpLmluUXVpcmtzTW9kZSgpKTsKICAg
ICAgICAgICAgIC8vIEZpbmQgdGhlIGZpcnN0IGNvbnRhaW5pbmcgYmxvY2sgd2l0aCBmaXhlZCBo
ZWlnaHQgcXVpcmsuIFNlZSBRdWlya3M6OmhlaWdodFZhbHVlT2ZOZWFyZXN0Q29udGFpbmluZ0Js
b2NrV2l0aEZpeGVkSGVpZ2h0LgogICAgICAgICAgICAgLy8gVGhpcyBpcyBvbmx5IHRvIGNoZWNr
IGlmIHRoZSB0YXJnZXRGb3JtYXR0aW5nUm9vdCBpcyBhbiBhbmNlc3RvciBmb3JtYXR0aW5nIHJv
b3QuCi0gICAgICAgICAgICBpZiAobGF5b3V0Qm94LmlzSW5pdGlhbENvbnRhaW5pbmdCbG9jaygp
KQorICAgICAgICAgICAgaWYgKGlzPEluaXRpYWxDb250YWluaW5nQmxvY2s+KGxheW91dEJveCkp
CiAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICBhdXRvJiB0YXJnZXRG
b3JtYXR0aW5nUm9vdCA9IGxheW91dEJveC5mb3JtYXR0aW5nQ29udGV4dFJvb3QoKTsKICAgICAg
ICAgICAgIGF1dG8qIGFuY2VzdG9yRm9ybWF0dGluZ0NvbnRleHRSb290ID0gJnJvb3QoKS5mb3Jt
YXR0aW5nQ29udGV4dFJvb3QoKTsKQEAgLTI1MSw3ICsyNTIsNyBAQCBjb25zdCBEaXNwbGF5OjpC
b3gmIEZvcm1hdHRpbmdDb250ZXh0OjpnZW9tZXRyeUZvckJveChjb25zdCBCb3gmIGxheW91dEJv
eCwgT3B0aQogICAgICAgICAgICAgICAgIGlmICgmdGFyZ2V0Rm9ybWF0dGluZ1Jvb3QgPT0gYW5j
ZXN0b3JGb3JtYXR0aW5nQ29udGV4dFJvb3QpCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0
cnVlOwogICAgICAgICAgICAgICAgIGFuY2VzdG9yRm9ybWF0dGluZ0NvbnRleHRSb290ID0gJmFu
Y2VzdG9yRm9ybWF0dGluZ0NvbnRleHRSb290LT5mb3JtYXR0aW5nQ29udGV4dFJvb3QoKTsKLSAg
ICAgICAgICAgICAgICBpZiAoYW5jZXN0b3JGb3JtYXR0aW5nQ29udGV4dFJvb3QtPmlzSW5pdGlh
bENvbnRhaW5pbmdCbG9jaygpKQorICAgICAgICAgICAgICAgIGlmIChpczxJbml0aWFsQ29udGFp
bmluZ0Jsb2NrPigqYW5jZXN0b3JGb3JtYXR0aW5nQ29udGV4dFJvb3QpKQogICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKQEAgLTI4MCw3ICsyODEsNyBAQCB2b2lkIEZvcm1hdHRpbmdDb250ZXh0Ojpjb2xsZWN0
T3V0T2ZGbG93RGVzY2VuZGFudHNJZk5lZWRlZCgpCiAgICAgYXV0byYgcm9vdCA9IHRoaXMtPnJv
b3QoKTsKICAgICBpZiAoIXJvb3QuaGFzQ2hpbGQoKSkKICAgICAgICAgcmV0dXJuOwotICAgIGlm
ICghcm9vdC5pc1Bvc2l0aW9uZWQoKSAmJiAhcm9vdC5pc0luaXRpYWxDb250YWluaW5nQmxvY2so
KSkKKyAgICBpZiAoIXJvb3QuaXNQb3NpdGlvbmVkKCkgJiYgIWlzPEluaXRpYWxDb250YWluaW5n
QmxvY2s+KHJvb3QpKQogICAgICAgICByZXR1cm47CiAgICAgLy8gQ29sbGVjdCB0aGUgb3V0LW9m
LWZsb3cgZGVzY2VuZGFudHMgYXQgdGhlIGZvcm1hdHRpbmcgcm9vdCBsZXZlbCAoYXMgb3Bwb3Nl
ZCB0byBhdCB0aGUgY29udGFpbmluZyBibG9jayBsZXZlbCwgdGhvdWdoIHRoZXkgbWlnaHQgYmUg
dGhlIHNhbWUpLgogICAgIC8vIEZJWE1FOiBUdXJuIHRoaXMgaW50byBhIHJlZ2lzdGVyLXNlbGYg
YXMgYm94ZXMgYXJlIGJlaW5nIGluc2VydGVkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0UXVpcmtzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9Gb3JtYXR0aW5nQ29udGV4dFF1aXJrcy5jcHAKaW5kZXggOGMyNjZmZTM4MmFiYmJlMmQxZjM2
NGMxZDA2MDlkNDhlZjliYTJiNS4uMmQxODg5M2RhMDFkYzFmZGIzZTJiMWY4OGNmN2ZmZWFiY2Uy
NjAzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0
UXVpcmtzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHRR
dWlya3MuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbmNsdWRlICJEaXNwbGF5Qm94LmgiCiAj
aW5jbHVkZSAiTGF5b3V0Qm94LmgiCisjaW5jbHVkZSAiTGF5b3V0SW5pdGlhbENvbnRhaW5pbmdC
bG9jay5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBuYW1lc3BhY2UgTGF5b3V0IHsKQEAgLTU5
LDcgKzYwLDcgQEAgTGF5b3V0VW5pdCBGb3JtYXR0aW5nQ29udGV4dDo6UXVpcmtzOjpoZWlnaHRW
YWx1ZU9mTmVhcmVzdENvbnRhaW5pbmdCbG9ja1dpdGhGaXgKICAgICAgICAgICAgIGJvZHlBbmRE
b2N1bWVudFZlcnRpY2FsTWFyZ2luUGFkZGluZ0FuZEJvcmRlciArPSB2ZXJ0aWNhbE1hcmdpbi5i
ZWZvcmUudmFsdWVPcigwKSArIHZlcnRpY2FsTWFyZ2luLmFmdGVyLnZhbHVlT3IoMCkgKyB2ZXJ0
aWNhbFBhZGRpbmcgKyB2ZXJ0aWNhbEJvcmRlcjsKICAgICAgICAgfQogCi0gICAgICAgIGlmIChj
b250YWluaW5nQmxvY2stPmlzSW5pdGlhbENvbnRhaW5pbmdCbG9jaygpKQorICAgICAgICBpZiAo
aXM8SW5pdGlhbENvbnRhaW5pbmdCbG9jaz4oKmNvbnRhaW5pbmdCbG9jaykpCiAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgY29udGFpbmluZ0Jsb2NrID0gJmNvbnRhaW5pbmdCbG9jay0+Y29u
dGFpbmluZ0Jsb2NrKCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0UXVpcmtzLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dFF1
aXJrcy5jcHAKaW5kZXggMTZkNWFhZTI5ZDFkNDlhZjhlM2Q0YjZkYTU2YWU2ZDEwOTE4ZmI2Zi4u
MmFlMzgyZGVhNjcyYjM2MTVhMmI2YzZhYjQ4Mzg1ZTgxNzVkNTFhOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0
UXVpcmtzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Js
b2NrRm9ybWF0dGluZ0NvbnRleHRRdWlya3MuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVk
ZSAiRGlzcGxheUJveC5oIgogI2luY2x1ZGUgIkxheW91dEJveC5oIgogI2luY2x1ZGUgIkxheW91
dENvbnRhaW5lckJveC5oIgorI2luY2x1ZGUgIkxheW91dEluaXRpYWxDb250YWluaW5nQmxvY2su
aCIKICNpbmNsdWRlICJMYXlvdXRTdGF0ZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZGlzcGxheXRyZWUvRGlzcGxheVBhaW50ZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Rpc3BsYXl0cmVlL0Rpc3BsYXlQYWludGVyLmNw
cAppbmRleCBlNDQzMDIxZmIzMzBjM2FlZmMxMWQxZDYxY2VhYzRiODFiNzAwODVmLi5jNmZlMjE5
NjJmMTYyOTE1MWM5ODRkNjgxNjcwYTg5ZWU3MGY1MWE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvZGlzcGxheXRyZWUvRGlzcGxheVBhaW50ZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9kaXNwbGF5dHJlZS9EaXNwbGF5UGFpbnRlci5jcHAKQEAgLTM3LDYgKzM3
LDcgQEAKICNpbmNsdWRlICJJbnRSZWN0LmgiCiAjaW5jbHVkZSAiTGF5b3V0Q29udGFpbmVyQm94
LmgiCiAjaW5jbHVkZSAiTGF5b3V0RGVzY2VuZGFudEl0ZXJhdG9yLmgiCisjaW5jbHVkZSAiTGF5
b3V0SW5pdGlhbENvbnRhaW5pbmdCbG9jay5oIgogI2luY2x1ZGUgIkxheW91dFN0YXRlLmgiCiAj
aW5jbHVkZSAiUmVuZGVyU3R5bGUuaCIKICNpbmNsdWRlICJUZXh0UnVuLmgiCkBAIC0xNDYsMTEg
KzE0NywxMSBAQCBzdGF0aWMgQm94IGFic29sdXRlRGlzcGxheUJveChjb25zdCBMYXlvdXQ6Okxh
eW91dFN0YXRlJiBsYXlvdXRTdGF0ZSwgY29uc3QgTGF5bwogICAgIC8vIFNob3VsZCBuZXZlciBy
ZWFsbHkgaGFwcGVuIGJ1dCB0YWJsZSBjb2RlIGlzIHdheSB0b28gaW5jb21wbGV0ZS4KICAgICBp
ZiAoIWxheW91dFN0YXRlLmhhc0Rpc3BsYXlCb3gobGF5b3V0Qm94KSkKICAgICAgICAgcmV0dXJu
IHsgfTsKLSAgICBpZiAobGF5b3V0Qm94LmlzSW5pdGlhbENvbnRhaW5pbmdCbG9jaygpKQorICAg
IGlmIChpczxMYXlvdXQ6OkluaXRpYWxDb250YWluaW5nQmxvY2s+KGxheW91dEJveCkpCiAgICAg
ICAgIHJldHVybiBsYXlvdXRTdGF0ZS5kaXNwbGF5Qm94Rm9yTGF5b3V0Qm94KGxheW91dEJveCk7
CiAKICAgICBhdXRvIGFic29sdXRlQm94ID0gQm94IHsgbGF5b3V0U3RhdGUuZGlzcGxheUJveEZv
ckxheW91dEJveChsYXlvdXRCb3gpIH07Ci0gICAgZm9yIChhdXRvKiBjb250YWluaW5nQmxvY2sg
PSAmbGF5b3V0Qm94LmNvbnRhaW5pbmdCbG9jaygpOyAhY29udGFpbmluZ0Jsb2NrLT5pc0luaXRp
YWxDb250YWluaW5nQmxvY2soKTsgY29udGFpbmluZ0Jsb2NrID0gJmNvbnRhaW5pbmdCbG9jay0+
Y29udGFpbmluZ0Jsb2NrKCkpCisgICAgZm9yIChhdXRvKiBjb250YWluaW5nQmxvY2sgPSAmbGF5
b3V0Qm94LmNvbnRhaW5pbmdCbG9jaygpOyAhaXM8TGF5b3V0OjpJbml0aWFsQ29udGFpbmluZ0Js
b2NrPigqY29udGFpbmluZ0Jsb2NrKTsgY29udGFpbmluZ0Jsb2NrID0gJmNvbnRhaW5pbmdCbG9j
ay0+Y29udGFpbmluZ0Jsb2NrKCkpCiAgICAgICAgIGFic29sdXRlQm94Lm1vdmVCeShsYXlvdXRT
dGF0ZS5kaXNwbGF5Qm94Rm9yTGF5b3V0Qm94KCpjb250YWluaW5nQmxvY2spLnRvcExlZnQoKSk7
CiAgICAgcmV0dXJuIGFic29sdXRlQm94OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2ludmFsaWRhdGlvbi9JbnZhbGlkYXRpb25TdGF0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvaW52YWxpZGF0aW9uL0ludmFsaWRhdGlvblN0YXRlLmNwcAppbmRleCBhOWZiOWUw
ZmQwOTkwMjg0OGVlMWIyYjJmZTllMmI5NTM0MmI3MzIzLi4yNTNlNGRjMjliYmFmNzc0NzExZmVm
MjQwOTI1YWE2OWNhZmRiNjNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW52
YWxpZGF0aW9uL0ludmFsaWRhdGlvblN0YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvaW52YWxpZGF0aW9uL0ludmFsaWRhdGlvblN0YXRlLmNwcApAQCAtNDIsNyArNDIsNyBAQCBJ
bnZhbGlkYXRpb25TdGF0ZTo6SW52YWxpZGF0aW9uU3RhdGUoKQogdm9pZCBJbnZhbGlkYXRpb25T
dGF0ZTo6bWFya05lZWRzVXBkYXRlKGNvbnN0IEJveCYgbGF5b3V0Qm94KQogewogICAgIC8vIFdl
IG5ldmVyIGxheSBvdXQgdGhlIGluaXRpYWwgY29udGFpbmluZyBibG9jay4gSXQgYWx3YXlzIGhh
cyBwcmUtZGV0ZXJtaW5lZCBnZW9tZXRyeS4KLSAgICBBU1NFUlQoIWxheW91dEJveC5pc0luaXRp
YWxDb250YWluaW5nQmxvY2soKSk7CisgICAgQVNTRVJUKCFpczxJbml0aWFsQ29udGFpbmluZ0Js
b2NrPihsYXlvdXRCb3gpKTsKICAgICAvLyBGSVhNRTogVGhpcyBpcyBqdXN0IGEgcGxhY2Vob2xk
ZXIgaW1wbGVtZW50YXRpb24uCiAgICAgbV9mb3JtYXR0aW5nQ29udGV4dFJvb3RzLmFkZCgmbGF5
b3V0Qm94LmZvcm1hdHRpbmdDb250ZXh0Um9vdCgpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dEJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRCb3guY3BwCmluZGV4IDExOTJiYjI5OWZmOGRhNTljZTk5
N2U0MTQ3MTU2MTZkY2U5NzI0MDguLmJkN2I1ZjhlOTMyMjdjNGViMjViOGQ2OTc1NmRmNzQ1ZWU4
YzI4OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91
dEJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0Qm94
LmNwcApAQCAtMzAsNiArMzAsNyBAQAogCiAjaW5jbHVkZSAiRGlzcGxheUJveC5oIgogI2luY2x1
ZGUgIkxheW91dENvbnRhaW5lckJveC5oIgorI2luY2x1ZGUgIkxheW91dEluaXRpYWxDb250YWlu
aW5nQmxvY2suaCIKICNpbmNsdWRlICJMYXlvdXRQaGFzZS5oIgogI2luY2x1ZGUgIkxheW91dFN0
YXRlLmgiCiAjaW5jbHVkZSAiUmVuZGVyU3R5bGUuaCIKQEAgLTcwLDcgKzcxLDcgQEAgYm9vbCBC
b3g6OmVzdGFibGlzaGVzRm9ybWF0dGluZ0NvbnRleHQoKSBjb25zdAogYm9vbCBCb3g6OmVzdGFi
bGlzaGVzQmxvY2tGb3JtYXR0aW5nQ29udGV4dCgpIGNvbnN0CiB7CiAgICAgLy8gSUNCIGFsd2F5
cyBjcmVhdGVzIGEgbmV3IChpbml0YWwpIGJsb2NrIGZvcm1hdHRpbmcgY29udGV4dC4KLSAgICBp
ZiAoaXNJbml0aWFsQ29udGFpbmluZ0Jsb2NrKCkpCisgICAgaWYgKGlzPENvbnRhaW5lckJveD4o
KnRoaXMpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIGlmIChpc1RhYmxlV3JhcHBlckJv
eCgpKQpAQCAtMTgzLDcgKzE4NCw3IEBAIGNvbnN0IENvbnRhaW5lckJveCYgQm94Ojpjb250YWlu
aW5nQmxvY2soKSBjb25zdAogICAgIC8vIEZpbmRpbmcgdGhlIGNvbnRhaW5pbmcgYmxvY2sgYnkg
dHJhdmVyc2luZyB0aGUgdHJlZSBkdXJpbmcgdHJlZSBjb25zdHJ1Y3Rpb24gY291bGQgcHJvdmlk
ZSBpbmNvcnJlY3QgcmVzdWx0LgogICAgIEFTU0VSVCghUGhhc2U6OmlzSW5UcmVlQnVpbGRpbmco
KSk7CiAgICAgLy8gSWYgd2UgZXZlciBlbmQgdXAgaGVyZSB3aXRoIHRoZSBJQ0IsIHdlIG11c3Qg
YmUgZG9pbmcgc29tZXRoaW5nIG5vdC1zby1ncmVhdC4KLSAgICBSRUxFQVNFX0FTU0VSVCghaXNJ
bml0aWFsQ29udGFpbmluZ0Jsb2NrKCkpOworICAgIFJFTEVBU0VfQVNTRVJUKCFpczxJbml0aWFs
Q29udGFpbmluZ0Jsb2NrPigqdGhpcykpOwogICAgIC8vIFRoZSBjb250YWluaW5nIGJsb2NrIGlu
IHdoaWNoIHRoZSByb290IGVsZW1lbnQgbGl2ZXMgaXMgYSByZWN0YW5nbGUgY2FsbGVkIHRoZSBp
bml0aWFsIGNvbnRhaW5pbmcgYmxvY2suCiAgICAgLy8gRm9yIG90aGVyIGVsZW1lbnRzLCBpZiB0
aGUgZWxlbWVudCdzIHBvc2l0aW9uIGlzICdyZWxhdGl2ZScgb3IgJ3N0YXRpYycsIHRoZSBjb250
YWluaW5nIGJsb2NrIGlzIGZvcm1lZCBieSB0aGUKICAgICAvLyBjb250ZW50IGVkZ2Ugb2YgdGhl
IG5lYXJlc3QgYmxvY2sgY29udGFpbmVyIGFuY2VzdG9yIGJveCBvciB3aGljaCBlc3RhYmxpc2hl
cyBhIGZvcm1hdHRpbmcgY29udGV4dC4KQEAgLTE5Miw3ICsxOTMsNyBAQCBjb25zdCBDb250YWlu
ZXJCb3gmIEJveDo6Y29udGFpbmluZ0Jsb2NrKCkgY29uc3QKICAgICAvLyAncG9zaXRpb24nIG9m
ICdhYnNvbHV0ZScsICdyZWxhdGl2ZScgb3IgJ2ZpeGVkJy4KICAgICBpZiAoIWlzUG9zaXRpb25l
ZCgpIHx8IGlzSW5GbG93UG9zaXRpb25lZCgpKSB7CiAgICAgICAgIGF1dG8qIGFuY2VzdG9yID0g
cGFyZW50KCk7Ci0gICAgICAgIGZvciAoOyAhYW5jZXN0b3ItPmlzSW5pdGlhbENvbnRhaW5pbmdC
bG9jaygpOyBhbmNlc3RvciA9IGFuY2VzdG9yLT5wYXJlbnQoKSkgeworICAgICAgICBmb3IgKDsg
IWlzPEluaXRpYWxDb250YWluaW5nQmxvY2s+KCphbmNlc3Rvcik7IGFuY2VzdG9yID0gYW5jZXN0
b3ItPnBhcmVudCgpKSB7CiAgICAgICAgICAgICBpZiAoYW5jZXN0b3ItPmlzQmxvY2tDb250YWlu
ZXJCb3goKSB8fCBhbmNlc3Rvci0+ZXN0YWJsaXNoZXNGb3JtYXR0aW5nQ29udGV4dCgpKQogICAg
ICAgICAgICAgICAgIHJldHVybiAqYW5jZXN0b3I7CiAgICAgICAgIH0KQEAgLTIwMSw3ICsyMDIs
NyBAQCBjb25zdCBDb250YWluZXJCb3gmIEJveDo6Y29udGFpbmluZ0Jsb2NrKCkgY29uc3QKIAog
ICAgIGlmIChpc0ZpeGVkUG9zaXRpb25lZCgpKSB7CiAgICAgICAgIGF1dG8qIGFuY2VzdG9yID0g
cGFyZW50KCk7Ci0gICAgICAgIGZvciAoOyAhYW5jZXN0b3ItPmlzSW5pdGlhbENvbnRhaW5pbmdC
bG9jaygpOyBhbmNlc3RvciA9IGFuY2VzdG9yLT5wYXJlbnQoKSkgeworICAgICAgICBmb3IgKDsg
IWlzPEluaXRpYWxDb250YWluaW5nQmxvY2s+KCphbmNlc3Rvcik7IGFuY2VzdG9yID0gYW5jZXN0
b3ItPnBhcmVudCgpKSB7CiAgICAgICAgICAgICBpZiAoYW5jZXN0b3ItPnN0eWxlKCkuaGFzVHJh
bnNmb3JtKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuICphbmNlc3RvcjsKICAgICAgICAgfQpA
QCAtMjEwLDcgKzIxMSw3IEBAIGNvbnN0IENvbnRhaW5lckJveCYgQm94Ojpjb250YWluaW5nQmxv
Y2soKSBjb25zdAogCiAgICAgaWYgKGlzT3V0T2ZGbG93UG9zaXRpb25lZCgpKSB7CiAgICAgICAg
IGF1dG8qIGFuY2VzdG9yID0gcGFyZW50KCk7Ci0gICAgICAgIGZvciAoOyAhYW5jZXN0b3ItPmlz
SW5pdGlhbENvbnRhaW5pbmdCbG9jaygpOyBhbmNlc3RvciA9IGFuY2VzdG9yLT5wYXJlbnQoKSkg
eworICAgICAgICBmb3IgKDsgIWlzPEluaXRpYWxDb250YWluaW5nQmxvY2s+KCphbmNlc3Rvcik7
IGFuY2VzdG9yID0gYW5jZXN0b3ItPnBhcmVudCgpKSB7CiAgICAgICAgICAgICBpZiAoYW5jZXN0
b3ItPmlzUG9zaXRpb25lZCgpIHx8IGFuY2VzdG9yLT5zdHlsZSgpLmhhc1RyYW5zZm9ybSgpKQog
ICAgICAgICAgICAgICAgIHJldHVybiAqYW5jZXN0b3I7CiAgICAgICAgIH0KQEAgLTIyNiw3ICsy
MjcsNyBAQCBjb25zdCBDb250YWluZXJCb3gmIEJveDo6Zm9ybWF0dGluZ0NvbnRleHRSb290KCkg
Y29uc3QKICAgICAvLyBGaW5kaW5nIHRoZSBjb250ZXh0IHJvb3QgYnkgdHJhdmVyc2luZyB0aGUg
dHJlZSBkdXJpbmcgdHJlZSBjb25zdHJ1Y3Rpb24gY291bGQgcHJvdmlkZSBpbmNvcnJlY3QgcmVz
dWx0LgogICAgIEFTU0VSVCghUGhhc2U6OmlzSW5UcmVlQnVpbGRpbmcoKSk7CiAgICAgLy8gV2Ug
c2hvdWxkIG5ldmVyIG5lZWQgdG8gYXNrIHRoaXMgcXVlc3Rpb24gb24gdGhlIElDQi4KLSAgICBB
U1NFUlQoIWlzSW5pdGlhbENvbnRhaW5pbmdCbG9jaygpKTsKKyAgICBBU1NFUlQoIWlzPEluaXRp
YWxDb250YWluaW5nQmxvY2s+KCp0aGlzKSk7CiAgICAgLy8gQSBib3ggbGl2ZXMgaW4gdGhlIHNh
bWUgZm9ybWF0dGluZyBjb250ZXh0IGFzIGl0cyBjb250YWluaW5nIGJsb2NrIHVubGVzcyB0aGUg
Y29udGFpbmluZyBibG9jayBlc3RhYmxpc2hlcyBhIGZvcm1hdHRpbmcgY29udGV4dC4KICAgICAv
LyBIb3dldmVyIHJlbGF0aXZlbHkgcG9zaXRpb25lZCAoaW5mbG93KSBpbmxpbmUgY29udGFpbmVy
IGxpdmVzIGluIHRoZSBmb3JtYXR0aW5nIGNvbnRleHQgd2hlcmUgaXRzIHBhcmVudCBsaXZlcyB1
bmxlc3MKICAgICAvLyB0aGUgcGFyZW50IGVzdGFibGlzaGVzIGEgZm9ybWF0dGluZyBjb250ZXh0
LgpAQCAtMjQwLDI2ICsyNDEsMjYgQEAgY29uc3QgQ29udGFpbmVyQm94JiBCb3g6OmZvcm1hdHRp
bmdDb250ZXh0Um9vdCgpIGNvbnN0CiAgICAgcmV0dXJuIGFuY2VzdG9yLmZvcm1hdHRpbmdDb250
ZXh0Um9vdCgpOwogfQogCi1jb25zdCBDb250YWluZXJCb3gmIEJveDo6aW5pdGlhbENvbnRhaW5p
bmdCbG9jaygpIGNvbnN0Citjb25zdCBJbml0aWFsQ29udGFpbmluZ0Jsb2NrJiBCb3g6OmluaXRp
YWxDb250YWluaW5nQmxvY2soKSBjb25zdAogewotICAgIGlmIChpc0luaXRpYWxDb250YWluaW5n
QmxvY2soKSkKLSAgICAgICAgcmV0dXJuIGRvd25jYXN0PENvbnRhaW5lckJveD4oKnRoaXMpOwor
ICAgIGlmIChpczxJbml0aWFsQ29udGFpbmluZ0Jsb2NrPigqdGhpcykpCisgICAgICAgIHJldHVy
biBkb3duY2FzdDxJbml0aWFsQ29udGFpbmluZ0Jsb2NrPigqdGhpcyk7CiAKICAgICBhdXRvKiBh
bmNlc3RvciA9IHBhcmVudCgpOwogICAgIGZvciAoOyBhbmNlc3Rvci0+cGFyZW50KCk7IGFuY2Vz
dG9yID0gYW5jZXN0b3ItPnBhcmVudCgpKSB7IH0KIAotICAgIHJldHVybiAqYW5jZXN0b3I7Cisg
ICAgcmV0dXJuIGRvd25jYXN0PEluaXRpYWxDb250YWluaW5nQmxvY2s+KCphbmNlc3Rvcik7CiB9
CiAKIGJvb2wgQm94Ojppc0luRm9ybWF0dGluZ0NvbnRleHRPZihjb25zdCBDb250YWluZXJCb3gm
IGZvcm1hdHRpbmdDb250ZXh0Um9vdCkgY29uc3QKIHsgCiAgICAgQVNTRVJUKGZvcm1hdHRpbmdD
b250ZXh0Um9vdC5lc3RhYmxpc2hlc0Zvcm1hdHRpbmdDb250ZXh0KCkpOwotICAgIEFTU0VSVCgh
aXNJbml0aWFsQ29udGFpbmluZ0Jsb2NrKCkpOworICAgIEFTU0VSVCghaXM8SW5pdGlhbENvbnRh
aW5pbmdCbG9jaz4oKnRoaXMpKTsKICAgICBhdXRvKiBhbmNlc3RvciA9ICZjb250YWluaW5nQmxv
Y2soKTsKICAgICB3aGlsZSAoYW5jZXN0b3IpIHsKICAgICAgICAgaWYgKGFuY2VzdG9yID09ICZm
b3JtYXR0aW5nQ29udGV4dFJvb3QpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAg
aWYgKGFuY2VzdG9yLT5pc0luaXRpYWxDb250YWluaW5nQmxvY2soKSkKKyAgICAgICAgaWYgKGlz
PEluaXRpYWxDb250YWluaW5nQmxvY2s+KCphbmNlc3RvcikpCiAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CiAgICAgICAgIGFuY2VzdG9yID0gJmFuY2VzdG9yLT5jb250YWluaW5nQmxvY2soKTsK
ICAgICB9CkBAIC0zNjAsNyArMzYxLDcgQEAgYm9vbCBCb3g6OmlzT3ZlcmZsb3dWaXNpYmxlKCkg
Y29uc3QKICAgICAgICAgICAgIHJldHVybiBpc092ZXJmbG93VmlzaWJsZTsKICAgICAgICAgcmV0
dXJuIHRydWU7CiAgICAgfQotICAgIGlmIChpc0luaXRpYWxDb250YWluaW5nQmxvY2soKSkgewor
ICAgIGlmIChpczxJbml0aWFsQ29udGFpbmluZ0Jsb2NrPigqdGhpcykpIHsKICAgICAgICAgYXV0
byogZG9jdW1lbnRCb3ggPSBkb3duY2FzdDxDb250YWluZXJCb3g+KCp0aGlzKS5maXJzdENoaWxk
KCk7CiAgICAgICAgIGlmICghZG9jdW1lbnRCb3ggfHwgIWRvY3VtZW50Qm94LT5pc0RvY3VtZW50
Qm94KCkgfHwgIWlzPENvbnRhaW5lckJveD4oZG9jdW1lbnRCb3gpKQogICAgICAgICAgICAgcmV0
dXJuIGlzT3ZlcmZsb3dWaXNpYmxlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2xheW91dHRyZWUvTGF5b3V0Qm94LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJl
ZS9MYXlvdXRCb3guaAppbmRleCBmZDg3OTlmNDUwYjQ4MjVlMjY1NjQyMjYyYjk3MGI2YzgzZmM2
ZDk4Li44NmQxYjhhOWM4YjA1ODhhNjZlZmU5ZWVjYTIxOTE2NmVjN2EwMTYwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRCb3guaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRCb3guaApAQCAtNDAsNiArNDAsNyBA
QCBjbGFzcyBCb3g7CiBuYW1lc3BhY2UgTGF5b3V0IHsKIAogY2xhc3MgQ29udGFpbmVyQm94Owor
Y2xhc3MgSW5pdGlhbENvbnRhaW5pbmdCbG9jazsKIGNsYXNzIExheW91dFN0YXRlOwogY2xhc3Mg
VHJlZUJ1aWxkZXI7CiAKQEAgLTYxLDEyICs2MiwxMiBAQCBwdWJsaWM6CiAgICAgfTsKIAogICAg
IGVudW0gQmFzZVR5cGVGbGFnIHsKLSAgICAgICAgQm94RmxhZyAgICAgICAgICAgICAgICA9IDEg
PDwgMCwKLSAgICAgICAgSW5saW5lVGV4dEJveCAgICAgICAgICA9IDEgPDwgMSwKLSAgICAgICAg
TGluZUJyZWFrQm94ICAgICAgICAgICA9IDEgPDwgMiwKLSAgICAgICAgUmVwbGFjZWRCb3ggICAg
ICAgICAgICA9IDEgPDwgMywKLSAgICAgICAgSW5pdGlhbENvbnRhaW5pbmdCbG9jayA9IDEgPDwg
NCwKLSAgICAgICAgQ29udGFpbmVyQm94RmxhZyAgICAgICA9IDEgPDwgNQorICAgICAgICBCb3hG
bGFnICAgICAgICAgICAgICAgICAgICA9IDEgPDwgMCwKKyAgICAgICAgSW5saW5lVGV4dEJveEZs
YWcgICAgICAgICAgPSAxIDw8IDEsCisgICAgICAgIExpbmVCcmVha0JveEZsYWcgICAgICAgICAg
ID0gMSA8PCAyLAorICAgICAgICBSZXBsYWNlZEJveEZsYWcgICAgICAgICAgICA9IDEgPDwgMywK
KyAgICAgICAgSW5pdGlhbENvbnRhaW5pbmdCbG9ja0ZsYWcgPSAxIDw8IDQsCisgICAgICAgIENv
bnRhaW5lckJveEZsYWcgICAgICAgICAgID0gMSA8PCA1CiAgICAgfTsKICAgICB0eXBlZGVmIHVu
c2lnbmVkIEJhc2VUeXBlRmxhZ3M7CiAKQEAgLTk2LDcgKzk3LDcgQEAgcHVibGljOgogCiAgICAg
Y29uc3QgQ29udGFpbmVyQm94JiBjb250YWluaW5nQmxvY2soKSBjb25zdDsKICAgICBjb25zdCBD
b250YWluZXJCb3gmIGZvcm1hdHRpbmdDb250ZXh0Um9vdCgpIGNvbnN0OwotICAgIGNvbnN0IENv
bnRhaW5lckJveCYgaW5pdGlhbENvbnRhaW5pbmdCbG9jaygpIGNvbnN0OworICAgIGNvbnN0IElu
aXRpYWxDb250YWluaW5nQmxvY2smIGluaXRpYWxDb250YWluaW5nQmxvY2soKSBjb25zdDsKIAog
ICAgIGJvb2wgaXNJbkZvcm1hdHRpbmdDb250ZXh0T2YoY29uc3QgQ29udGFpbmVyQm94JikgY29u
c3Q7CiAKQEAgLTEwOSw3ICsxMTAsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0lubGluZUJsb2Nr
Qm94KCkgY29uc3Q7CiAgICAgYm9vbCBpc0lubGluZVRhYmxlQm94KCkgY29uc3Q7CiAgICAgYm9v
bCBpc0Jsb2NrQ29udGFpbmVyQm94KCkgY29uc3Q7Ci0gICAgYm9vbCBpc0luaXRpYWxDb250YWlu
aW5nQmxvY2soKSBjb25zdCB7IHJldHVybiBtX2Jhc2VUeXBlRmxhZ3MgJiBJbml0aWFsQ29udGFp
bmluZ0Jsb2NrOyB9CisgICAgYm9vbCBpc0luaXRpYWxDb250YWluaW5nQmxvY2soKSBjb25zdCB7
IHJldHVybiBtX2Jhc2VUeXBlRmxhZ3MgJiBJbml0aWFsQ29udGFpbmluZ0Jsb2NrRmxhZzsgfQog
CiAgICAgYm9vbCBpc0RvY3VtZW50Qm94KCkgY29uc3QgeyByZXR1cm4gbV9lbGVtZW50QXR0cmli
dXRlcyAmJiBtX2VsZW1lbnRBdHRyaWJ1dGVzLnZhbHVlKCkuZWxlbWVudFR5cGUgPT0gRWxlbWVu
dFR5cGU6OkRvY3VtZW50OyB9CiAgICAgYm9vbCBpc0JvZHlCb3goKSBjb25zdCB7IHJldHVybiBt
X2VsZW1lbnRBdHRyaWJ1dGVzICYmIG1fZWxlbWVudEF0dHJpYnV0ZXMudmFsdWUoKS5lbGVtZW50
VHlwZSA9PSBFbGVtZW50VHlwZTo6Qm9keTsgfQpAQCAtMTM4LDkgKzEzOSw5IEBAIHB1YmxpYzoK
ICAgICBCb3gqIG5leHRTaWJsaW5nKCkgeyByZXR1cm4gbV9uZXh0U2libGluZzsgfQogCiAgICAg
Ym9vbCBpc0NvbnRhaW5lckJveCgpIGNvbnN0IHsgcmV0dXJuIG1fYmFzZVR5cGVGbGFncyAmIENv
bnRhaW5lckJveEZsYWc7IH0KLSAgICBib29sIGlzSW5saW5lVGV4dEJveCgpIGNvbnN0IHsgcmV0
dXJuIG1fYmFzZVR5cGVGbGFncyAmIElubGluZVRleHRCb3g7IH0KLSAgICBib29sIGlzTGluZUJy
ZWFrQm94KCkgY29uc3QgeyByZXR1cm4gbV9iYXNlVHlwZUZsYWdzICYgTGluZUJyZWFrQm94OyB9
Ci0gICAgYm9vbCBpc1JlcGxhY2VkQm94KCkgY29uc3QgeyByZXR1cm4gbV9iYXNlVHlwZUZsYWdz
ICYgUmVwbGFjZWRCb3g7IH0KKyAgICBib29sIGlzSW5saW5lVGV4dEJveCgpIGNvbnN0IHsgcmV0
dXJuIG1fYmFzZVR5cGVGbGFncyAmIElubGluZVRleHRCb3hGbGFnOyB9CisgICAgYm9vbCBpc0xp
bmVCcmVha0JveCgpIGNvbnN0IHsgcmV0dXJuIG1fYmFzZVR5cGVGbGFncyAmIExpbmVCcmVha0Jv
eEZsYWc7IH0KKyAgICBib29sIGlzUmVwbGFjZWRCb3goKSBjb25zdCB7IHJldHVybiBtX2Jhc2VU
eXBlRmxhZ3MgJiBSZXBsYWNlZEJveEZsYWc7IH0KIAogICAgIGJvb2wgaXNQYWRkaW5nQXBwbGlj
YWJsZSgpIGNvbnN0OwogICAgIGJvb2wgaXNPdmVyZmxvd1Zpc2libGUoKSBjb25zdDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dEluaXRpYWxDb250
YWluaW5nQmxvY2suY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0
SW5pdGlhbENvbnRhaW5pbmdCbG9jay5jcHAKaW5kZXggYzAzNDliYzk2YzkyNWQ3NzQ4OWYzOGE2
OWE3MGE2ODYwMTFhNGQwNC4uYWM0Y2RmNzBlMDk5NWZjNjJkMGI4NTlmNGRhYzYwMGVkNjJkMjVi
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0SW5p
dGlhbENvbnRhaW5pbmdCbG9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91
dHRyZWUvTGF5b3V0SW5pdGlhbENvbnRhaW5pbmdCbG9jay5jcHAKQEAgLTM3LDcgKzM3LDcgQEAg
bmFtZXNwYWNlIExheW91dCB7CiBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoSW5pdGlhbENv
bnRhaW5pbmdCbG9jayk7CiAKIEluaXRpYWxDb250YWluaW5nQmxvY2s6OkluaXRpYWxDb250YWlu
aW5nQmxvY2soUmVuZGVyU3R5bGUmJiBzdHlsZSkKLSAgICA6IENvbnRhaW5lckJveCh7IH0sIFdU
Rk1vdmUoc3R5bGUpLCBCb3g6OkluaXRpYWxDb250YWluaW5nQmxvY2spCisgICAgOiBDb250YWlu
ZXJCb3goeyB9LCBXVEZNb3ZlKHN0eWxlKSwgQm94OjpJbml0aWFsQ29udGFpbmluZ0Jsb2NrRmxh
ZykKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUv
TGF5b3V0SW5saW5lVGV4dEJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJl
ZS9MYXlvdXRJbmxpbmVUZXh0Qm94LmNwcAppbmRleCAyYjg3YzQ3ZTYxNjA5YWU2ODFlZGNhMTFi
YzcxOTZhMmEyODBlMjhjLi45NTg3YjY5NTZjNjk3NDlmOWFhZGI4ZGQ1MWU3N2Y4ZDA2MzJlMWFj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRJbmxp
bmVUZXh0Qm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlv
dXRJbmxpbmVUZXh0Qm94LmNwcApAQCAtMzcsNyArMzcsNyBAQCBuYW1lc3BhY2UgTGF5b3V0IHsK
IFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChJbmxpbmVUZXh0Qm94KTsKIAogSW5saW5lVGV4
dEJveDo6SW5saW5lVGV4dEJveChTdHJpbmcgY29udGVudCwgYm9vbCBjYW5Vc2VTaW1wbGlmaWVk
Q29udGVudE1lYXN1cmluZywgUmVuZGVyU3R5bGUmJiBzdHlsZSkKLSAgICA6IEJveCh7IH0sIFdU
Rk1vdmUoc3R5bGUpLCBCb3g6OklubGluZVRleHRCb3gpCisgICAgOiBCb3goeyB9LCBXVEZNb3Zl
KHN0eWxlKSwgQm94OjpJbmxpbmVUZXh0Qm94RmxhZykKICAgICAsIG1fY29udGVudChjb250ZW50
KQogICAgICwgbV9jYW5Vc2VTaW1wbGlmaWVkQ29udGVudE1lYXN1cmluZyhjYW5Vc2VTaW1wbGlm
aWVkQ29udGVudE1lYXN1cmluZykKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9sYXlvdXR0cmVlL0xheW91dExpbmVCcmVha0JveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvbGF5b3V0dHJlZS9MYXlvdXRMaW5lQnJlYWtCb3guY3BwCmluZGV4IGUyNTc2NWJiZjc2Yzhj
MGQ2YzE1MDFlMTkwYWE0NWNmZjQyZTY4OTcuLmFhMDBiODY3NzQyOTBkMDk3OWRiZDY5MzJjOGIz
ZWEzYTViOWEyNDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVl
L0xheW91dExpbmVCcmVha0JveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91
dHRyZWUvTGF5b3V0TGluZUJyZWFrQm94LmNwcApAQCAtMzcsNyArMzcsNyBAQCBuYW1lc3BhY2Ug
TGF5b3V0IHsKIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChMaW5lQnJlYWtCb3gpOwogCiBM
aW5lQnJlYWtCb3g6OkxpbmVCcmVha0JveChib29sIGlzT3B0aW9uYWwsIFJlbmRlclN0eWxlJiYg
c3R5bGUpCi0gICAgOiBCb3goeyB9LCBXVEZNb3ZlKHN0eWxlKSwgQm94OjpMaW5lQnJlYWtCb3gp
CisgICAgOiBCb3goeyB9LCBXVEZNb3ZlKHN0eWxlKSwgQm94OjpMaW5lQnJlYWtCb3hGbGFnKQog
ICAgICwgbV9pc09wdGlvbmFsKGlzT3B0aW9uYWwpCiB7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRSZXBsYWNlZEJveC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRSZXBsYWNlZEJveC5jcHAKaW5kZXggNWM0
ZDIwZmE5OTdiMzlmODVjNTdhODQxOTQwZWVlYTZjOTZkNDg1Zi4uYjY5MGVmZTE3MDM4YTUxMmFm
MjAzNTFlMmU1MDAwZTFlYWVjYjA2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2xheW91dHRyZWUvTGF5b3V0UmVwbGFjZWRCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9sYXlvdXR0cmVlL0xheW91dFJlcGxhY2VkQm94LmNwcApAQCAtMzcsNyArMzcsNyBAQCBu
YW1lc3BhY2UgTGF5b3V0IHsKIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChSZXBsYWNlZEJv
eCk7CiAKIFJlcGxhY2VkQm94OjpSZXBsYWNlZEJveChSZW5kZXJTdHlsZSYmIHN0eWxlKQotICAg
IDogQm94KHsgfSwgV1RGTW92ZShzdHlsZSksIEJveDo6UmVwbGFjZWRCb3gpCisgICAgOiBCb3go
eyB9LCBXVEZNb3ZlKHN0eWxlKSwgQm94OjpSZXBsYWNlZEJveEZsYWcpCiB7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dFRyZWVCdWlsZGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dFRyZWVCdWlsZGVy
LmNwcAppbmRleCA1MjQ1YmM0MTc4ZjlhMzM1ZWFlMzRkNmI0OTcwN2JjMzQzZGFmNjE4Li5lMzQz
YmNlY2JhM2ZiZTdlYThlYjM1MjNhM2JkMDMwOGVmMTAxZjE2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRUcmVlQnVpbGRlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0VHJlZUJ1aWxkZXIuY3BwCkBAIC0z
OTUsNyArMzk1LDcgQEAgc3RhdGljIHZvaWQgb3V0cHV0TGF5b3V0Qm94KFRleHRTdHJlYW0mIHN0
cmVhbSwgY29uc3QgQm94JiBsYXlvdXRCb3gsIGNvbnN0IERpc3AKICAgICBpZiAobGF5b3V0Qm94
LmlzRmxvYXRpbmdQb3NpdGlvbmVkKCkpCiAgICAgICAgIHN0cmVhbSA8PCAiW2Zsb2F0XSAiOwog
Ci0gICAgaWYgKGxheW91dEJveC5pc0luaXRpYWxDb250YWluaW5nQmxvY2soKSkKKyAgICBpZiAo
aXM8SW5pdGlhbENvbnRhaW5pbmdCbG9jaz4obGF5b3V0Qm94KSkKICAgICAgICAgc3RyZWFtIDw8
ICJJbml0aWFsIGNvbnRhaW5pbmcgYmxvY2siOwogICAgIGVsc2UgaWYgKGxheW91dEJveC5pc0Rv
Y3VtZW50Qm94KCkpCiAgICAgICAgIHN0cmVhbSA8PCAiSFRNTCI7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394262</attachid>
            <date>2020-03-23 08:41:06 -0700</date>
            <delta_ts>2020-03-23 20:43:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209406-20200323084105.patch</filename>
            <type>text/plain</type>
            <size>21842</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4ODQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2Q2MDA0MTdlZThlNTYx
Y2RmYTUxYWFmZmIwNzM3Mzk5NWM4Nzc0OC4uY2M3Yjg1NmZkNjAyZTQ3MDA3ZTAxYThhZWFhZmRk
ZTY3ODhhNmQwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDIwLTAzLTIzICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ10gTGF5b3V0OjpCb3g6
OmluaXRpYWxDb250YWluaW5nQmxvY2soKSBzaG91bGQgcmV0dXJuIGNvbnN0IEluaXRpYWxDb250
YWluaW5nQmxvY2smCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMDk0MDYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYwNzQ5NzE1PgorCisgICAgICAg
IFJldmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgorCisgICAgICAgIFVzZSBpczxJbml0aWFsQ29u
dGFpbmluZ0Jsb2NrPiB3aGVyZSBhcHBsaWNhYmxlLgorCisgICAgICAgICogbGF5b3V0L0Zvcm1h
dHRpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Rm9ybWF0dGluZ0Nv
bnRleHQ6Omdlb21ldHJ5Rm9yQm94IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6
Rm9ybWF0dGluZ0NvbnRleHQ6OmNvbGxlY3RPdXRPZkZsb3dEZXNjZW5kYW50c0lmTmVlZGVkKToK
KyAgICAgICAgKiBsYXlvdXQvRm9ybWF0dGluZ0NvbnRleHRRdWlya3MuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpGb3JtYXR0aW5nQ29udGV4dDo6UXVpcmtzOjpoZWlnaHRWYWx1ZU9m
TmVhcmVzdENvbnRhaW5pbmdCbG9ja1dpdGhGaXhlZEhlaWdodCk6CisgICAgICAgICogbGF5b3V0
L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0UXVpcmtzLmNwcDoKKyAgICAg
ICAgKiBsYXlvdXQvZGlzcGxheXRyZWUvRGlzcGxheVBhaW50ZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RGlzcGxheTo6YWJzb2x1dGVEaXNwbGF5Qm94KToKKyAgICAgICAgKiBsYXlvdXQvaW52
YWxpZGF0aW9uL0ludmFsaWRhdGlvblN0YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91
dDo6SW52YWxpZGF0aW9uU3RhdGU6Om1hcmtOZWVkc1VwZGF0ZSk6CisgICAgICAgICogbGF5b3V0
L2xheW91dHRyZWUvTGF5b3V0Qm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Qm94
Ojplc3RhYmxpc2hlc0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6TGF5b3V0OjpCb3g6OmNvbnRhaW5pbmdCbG9jayBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpMYXlvdXQ6OkJveDo6Zm9ybWF0dGluZ0NvbnRleHRSb290IGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OkxheW91dDo6Qm94Ojppbml0aWFsQ29udGFpbmluZ0Jsb2NrIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6Qm94Ojppc0luRm9ybWF0dGluZ0NvbnRleHRPZiBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJveDo6aXNPdmVyZmxvd1Zpc2libGUgY29u
c3QpOgorICAgICAgICAqIGxheW91dC9sYXlvdXR0cmVlL0xheW91dEJveC5oOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpCb3g6OmlzSW5pdGlhbENvbnRhaW5pbmdCbG9jayBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJveDo6aXNJbmxpbmVUZXh0Qm94IGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6Qm94Ojppc0xpbmVCcmVha0JveCBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJveDo6aXNSZXBsYWNlZEJveCBjb25zdCk6CisgICAgICAg
ICogbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0SW5pdGlhbENvbnRhaW5pbmdCbG9jay5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkluaXRpYWxDb250YWluaW5nQmxvY2s6OkluaXRpYWxD
b250YWluaW5nQmxvY2spOgorICAgICAgICAqIGxheW91dC9sYXlvdXR0cmVlL0xheW91dElubGlu
ZVRleHRCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVUZXh0Qm94OjpJ
bmxpbmVUZXh0Qm94KToKKyAgICAgICAgKiBsYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRMaW5lQnJl
YWtCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQnJlYWtCb3g6OkxpbmVC
cmVha0JveCk6CisgICAgICAgICogbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0UmVwbGFjZWRCb3gu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpSZXBsYWNlZEJveDo6UmVwbGFjZWRCb3gp
OgorICAgICAgICAqIGxheW91dC9sYXlvdXR0cmVlL0xheW91dFRyZWVCdWlsZGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6b3V0cHV0TGF5b3V0Qm94KToKKwogMjAyMC0wMy0yMyAg
WmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdIFJlbW92ZSB1
bnVzZWQgTGF5b3V0QW5jZXN0b3JJdGVyYXRvciBjbGFzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9Gb3JtYXR0aW5nQ29udGV4dC5jcHAKaW5kZXggYjY3M2UzMTk2YWQ2MzcwNjk2ZDRjN2NmYTg4
NTQyNGY5YjM2MGJhMi4uZmU4OTk1ZWU3MTU5MWFlY2Q5ODQxYTgxNjVmMzYzNzU4OWNiYjNlNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuY3BwCkBAIC0zNSw2
ICszNSw3IEBACiAjaW5jbHVkZSAiTGF5b3V0Q29udGFpbmVyQm94LmgiCiAjaW5jbHVkZSAiTGF5
b3V0Q29udGV4dC5oIgogI2luY2x1ZGUgIkxheW91dERlc2NlbmRhbnRJdGVyYXRvci5oIgorI2lu
Y2x1ZGUgIkxheW91dEluaXRpYWxDb250YWluaW5nQmxvY2suaCIKICNpbmNsdWRlICJMYXlvdXRS
ZXBsYWNlZEJveC5oIgogI2luY2x1ZGUgIkxheW91dFN0YXRlLmgiCiAjaW5jbHVkZSAiTG9nZ2lu
Zy5oIgpAQCAtMTkyLDcgKzE5Myw3IEBAIGNvbnN0IERpc3BsYXk6OkJveCYgRm9ybWF0dGluZ0Nv
bnRleHQ6Omdlb21ldHJ5Rm9yQm94KGNvbnN0IEJveCYgbGF5b3V0Qm94LCBPcHRpCiAgICAgVU5V
U0VEX1BBUkFNKGVzY2FwZVJlYXNvbik7CiAjaWYgQVNTRVJUX0VOQUJMRUQKICAgICBhdXRvIGlz
T2tUb0FjY2Vzc0Rpc3BsYXlCb3ggPSBbJl0gewotICAgICAgICBpZiAoIWxheW91dEJveC5pc0lu
aXRpYWxDb250YWluaW5nQmxvY2soKSAmJiAmbGF5b3V0Qm94LmZvcm1hdHRpbmdDb250ZXh0Um9v
dCgpID09ICZyb290KCkpIHsKKyAgICAgICAgaWYgKCFpczxJbml0aWFsQ29udGFpbmluZ0Jsb2Nr
PihsYXlvdXRCb3gpICYmICZsYXlvdXRCb3guZm9ybWF0dGluZ0NvbnRleHRSb290KCkgPT0gJnJv
b3QoKSkgewogICAgICAgICAgICAgLy8gVGhpcyBpcyB0aGUgbm9uLWVzY2FwZSBjYXNlIG9mIGFj
Y2Vzc2luZyBhIGJveCdzIGdlb21ldHJ5IGluZm9ybWF0aW9uIHdpdGhpbiB0aGUgc2FtZSBmb3Jt
YXR0aW5nIGNvbnRleHQuCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgfQpAQCAt
MjA0LDE3ICsyMDUsMTcgQEAgY29uc3QgRGlzcGxheTo6Qm94JiBGb3JtYXR0aW5nQ29udGV4dDo6
Z2VvbWV0cnlGb3JCb3goY29uc3QgQm94JiBsYXlvdXRCb3gsIE9wdGkKIAogICAgICAgICBpZiAo
KmVzY2FwZVJlYXNvbiA9PSBFc2NhcGVSZWFzb246OkRvY3VtZW50Qm94U3RyZWNoZXNUb1ZpZXdw
b3J0UXVpcmspIHsKICAgICAgICAgICAgIEFTU0VSVChsYXlvdXRTdGF0ZSgpLmluUXVpcmtzTW9k
ZSgpKTsKLSAgICAgICAgICAgIHJldHVybiBsYXlvdXRCb3guaXNJbml0aWFsQ29udGFpbmluZ0Js
b2NrKCk7CisgICAgICAgICAgICByZXR1cm4gaXM8SW5pdGlhbENvbnRhaW5pbmdCbG9jaz4obGF5
b3V0Qm94KTsKICAgICAgICAgfQogCiAgICAgICAgIGlmICgqZXNjYXBlUmVhc29uID09IEVzY2Fw
ZVJlYXNvbjo6Qm9keVN0cmVjaGVzVG9WaWV3cG9ydFF1aXJrKSB7CiAgICAgICAgICAgICBBU1NF
UlQobGF5b3V0U3RhdGUoKS5pblF1aXJrc01vZGUoKSk7Ci0gICAgICAgICAgICByZXR1cm4gbGF5
b3V0Qm94LmlzSW5pdGlhbENvbnRhaW5pbmdCbG9jaygpIHx8IGxheW91dEJveC5pc0RvY3VtZW50
Qm94KCk7CisgICAgICAgICAgICByZXR1cm4gaXM8SW5pdGlhbENvbnRhaW5pbmdCbG9jaz4obGF5
b3V0Qm94KSB8fCBsYXlvdXRCb3guaXNEb2N1bWVudEJveCgpOwogCiAgICAgICAgIH0KIAogICAg
ICAgICBpZiAoKmVzY2FwZVJlYXNvbiA9PSBFc2NhcGVSZWFzb246OlN0cm9rZU92ZXJmbG93TmVl
ZHNWaWV3cG9ydEdlb21ldHJ5KQotICAgICAgICAgICAgcmV0dXJuIGxheW91dEJveC5pc0luaXRp
YWxDb250YWluaW5nQmxvY2soKTsKKyAgICAgICAgICAgIHJldHVybiBpczxJbml0aWFsQ29udGFp
bmluZ0Jsb2NrPihsYXlvdXRCb3gpOwogCiAgICAgICAgIGlmICgqZXNjYXBlUmVhc29uID09IEVz
Y2FwZVJlYXNvbjo6TmVlZHNHZW9tZXRyeUZyb21Fc3RhYmxpc2hlZEZvcm1hdHRpbmdDb250ZXh0
KSB7CiAgICAgICAgICAgICAvLyBUaGlzIGlzIHRoZSBjYXNlIHdoZW4gYSBmb3JtYXR0aW5nIHJv
b3QgY29sbGVjdHMgZ2VvbWV0cnkgaW5mb3JtYXRpb24gZnJvbSB0aGUgZXN0YWJsaXNoZWQKQEAg
LTI0Myw3ICsyNDQsNyBAQCBjb25zdCBEaXNwbGF5OjpCb3gmIEZvcm1hdHRpbmdDb250ZXh0Ojpn
ZW9tZXRyeUZvckJveChjb25zdCBCb3gmIGxheW91dEJveCwgT3B0aQogICAgICAgICAgICAgQVNT
RVJUKGxheW91dFN0YXRlKCkuaW5RdWlya3NNb2RlKCkpOwogICAgICAgICAgICAgLy8gRmluZCB0
aGUgZmlyc3QgY29udGFpbmluZyBibG9jayB3aXRoIGZpeGVkIGhlaWdodCBxdWlyay4gU2VlIFF1
aXJrczo6aGVpZ2h0VmFsdWVPZk5lYXJlc3RDb250YWluaW5nQmxvY2tXaXRoRml4ZWRIZWlnaHQu
CiAgICAgICAgICAgICAvLyBUaGlzIGlzIG9ubHkgdG8gY2hlY2sgaWYgdGhlIHRhcmdldEZvcm1h
dHRpbmdSb290IGlzIGFuIGFuY2VzdG9yIGZvcm1hdHRpbmcgcm9vdC4KLSAgICAgICAgICAgIGlm
IChsYXlvdXRCb3guaXNJbml0aWFsQ29udGFpbmluZ0Jsb2NrKCkpCisgICAgICAgICAgICBpZiAo
aXM8SW5pdGlhbENvbnRhaW5pbmdCbG9jaz4obGF5b3V0Qm94KSkKICAgICAgICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgIGF1dG8mIHRhcmdldEZvcm1hdHRpbmdSb290ID0gbGF5
b3V0Qm94LmZvcm1hdHRpbmdDb250ZXh0Um9vdCgpOwogICAgICAgICAgICAgYXV0byogYW5jZXN0
b3JGb3JtYXR0aW5nQ29udGV4dFJvb3QgPSAmcm9vdCgpLmZvcm1hdHRpbmdDb250ZXh0Um9vdCgp
OwpAQCAtMjUxLDcgKzI1Miw3IEBAIGNvbnN0IERpc3BsYXk6OkJveCYgRm9ybWF0dGluZ0NvbnRl
eHQ6Omdlb21ldHJ5Rm9yQm94KGNvbnN0IEJveCYgbGF5b3V0Qm94LCBPcHRpCiAgICAgICAgICAg
ICAgICAgaWYgKCZ0YXJnZXRGb3JtYXR0aW5nUm9vdCA9PSBhbmNlc3RvckZvcm1hdHRpbmdDb250
ZXh0Um9vdCkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAg
ICAgYW5jZXN0b3JGb3JtYXR0aW5nQ29udGV4dFJvb3QgPSAmYW5jZXN0b3JGb3JtYXR0aW5nQ29u
dGV4dFJvb3QtPmZvcm1hdHRpbmdDb250ZXh0Um9vdCgpOwotICAgICAgICAgICAgICAgIGlmIChh
bmNlc3RvckZvcm1hdHRpbmdDb250ZXh0Um9vdC0+aXNJbml0aWFsQ29udGFpbmluZ0Jsb2NrKCkp
CisgICAgICAgICAgICAgICAgaWYgKGlzPEluaXRpYWxDb250YWluaW5nQmxvY2s+KCphbmNlc3Rv
ckZvcm1hdHRpbmdDb250ZXh0Um9vdCkpCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVl
OwogICAgICAgICAgICAgfQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMjgwLDcgKzI4
MSw3IEBAIHZvaWQgRm9ybWF0dGluZ0NvbnRleHQ6OmNvbGxlY3RPdXRPZkZsb3dEZXNjZW5kYW50
c0lmTmVlZGVkKCkKICAgICBhdXRvJiByb290ID0gdGhpcy0+cm9vdCgpOwogICAgIGlmICghcm9v
dC5oYXNDaGlsZCgpKQogICAgICAgICByZXR1cm47Ci0gICAgaWYgKCFyb290LmlzUG9zaXRpb25l
ZCgpICYmICFyb290LmlzSW5pdGlhbENvbnRhaW5pbmdCbG9jaygpKQorICAgIGlmICghcm9vdC5p
c1Bvc2l0aW9uZWQoKSAmJiAhaXM8SW5pdGlhbENvbnRhaW5pbmdCbG9jaz4ocm9vdCkpCiAgICAg
ICAgIHJldHVybjsKICAgICAvLyBDb2xsZWN0IHRoZSBvdXQtb2YtZmxvdyBkZXNjZW5kYW50cyBh
dCB0aGUgZm9ybWF0dGluZyByb290IGxldmVsIChhcyBvcHBvc2VkIHRvIGF0IHRoZSBjb250YWlu
aW5nIGJsb2NrIGxldmVsLCB0aG91Z2ggdGhleSBtaWdodCBiZSB0aGUgc2FtZSkuCiAgICAgLy8g
RklYTUU6IFR1cm4gdGhpcyBpbnRvIGEgcmVnaXN0ZXItc2VsZiBhcyBib3hlcyBhcmUgYmVpbmcg
aW5zZXJ0ZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0Nv
bnRleHRRdWlya3MuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0
UXVpcmtzLmNwcAppbmRleCA4YzI2NmZlMzgyYWJiYmUyZDFmMzY0YzFkMDYwOWQ0OGVmOWJhMmI1
Li4yZDE4ODkzZGEwMWRjMWZkYjNlMmIxZjg4Y2Y3ZmZlYWJjZTI2MDM4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHRRdWlya3MuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dFF1aXJrcy5jcHAKQEAgLTMwLDYg
KzMwLDcgQEAKIAogI2luY2x1ZGUgIkRpc3BsYXlCb3guaCIKICNpbmNsdWRlICJMYXlvdXRCb3gu
aCIKKyNpbmNsdWRlICJMYXlvdXRJbml0aWFsQ29udGFpbmluZ0Jsb2NrLmgiCiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIG5hbWVzcGFjZSBMYXlvdXQgewpAQCAtNTksNyArNjAsNyBAQCBMYXlvdXRV
bml0IEZvcm1hdHRpbmdDb250ZXh0OjpRdWlya3M6OmhlaWdodFZhbHVlT2ZOZWFyZXN0Q29udGFp
bmluZ0Jsb2NrV2l0aEZpeAogICAgICAgICAgICAgYm9keUFuZERvY3VtZW50VmVydGljYWxNYXJn
aW5QYWRkaW5nQW5kQm9yZGVyICs9IHZlcnRpY2FsTWFyZ2luLmJlZm9yZS52YWx1ZU9yKDApICsg
dmVydGljYWxNYXJnaW4uYWZ0ZXIudmFsdWVPcigwKSArIHZlcnRpY2FsUGFkZGluZyArIHZlcnRp
Y2FsQm9yZGVyOwogICAgICAgICB9CiAKLSAgICAgICAgaWYgKGNvbnRhaW5pbmdCbG9jay0+aXNJ
bml0aWFsQ29udGFpbmluZ0Jsb2NrKCkpCisgICAgICAgIGlmIChpczxJbml0aWFsQ29udGFpbmlu
Z0Jsb2NrPigqY29udGFpbmluZ0Jsb2NrKSkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBj
b250YWluaW5nQmxvY2sgPSAmY29udGFpbmluZ0Jsb2NrLT5jb250YWluaW5nQmxvY2soKTsKICAg
ICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Js
b2NrRm9ybWF0dGluZ0NvbnRleHRRdWlya3MuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Js
b2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0UXVpcmtzLmNwcAppbmRleCAxNmQ1
YWFlMjlkMWQ0OWFmOGUzZDRiNmRhNTZhZTZkMTA5MThmYjZmLi4yYWUzODJkZWE2NzJiMzYxNWEy
YjZjNmFiNDgzODVlODE3NWQ1MWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
YmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHRRdWlya3MuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4
dFF1aXJrcy5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJEaXNwbGF5Qm94LmgiCiAj
aW5jbHVkZSAiTGF5b3V0Qm94LmgiCiAjaW5jbHVkZSAiTGF5b3V0Q29udGFpbmVyQm94LmgiCisj
aW5jbHVkZSAiTGF5b3V0SW5pdGlhbENvbnRhaW5pbmdCbG9jay5oIgogI2luY2x1ZGUgIkxheW91
dFN0YXRlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9kaXNwbGF5dHJlZS9EaXNwbGF5UGFpbnRlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvZGlzcGxheXRyZWUvRGlzcGxheVBhaW50ZXIuY3BwCmluZGV4IDUxYjBlNWIyYjcw
NjU0Yjg1Nzg4MTRmZTRiMDNhMmFjNjJkM2QyMzUuLjI0MTY1MjVlZGU2NWM2ZGE0ZjI0YmMzNGE1
YjFiNzZkNmVkYzlkODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9kaXNwbGF5
dHJlZS9EaXNwbGF5UGFpbnRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Rpc3Bs
YXl0cmVlL0Rpc3BsYXlQYWludGVyLmNwcApAQCAtMzYsNiArMzYsNyBAQAogI2luY2x1ZGUgIklu
bGluZVRleHRJdGVtLmgiCiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIkxheW91dENv
bnRhaW5lckJveC5oIgorI2luY2x1ZGUgIkxheW91dEluaXRpYWxDb250YWluaW5nQmxvY2suaCIK
ICNpbmNsdWRlICJMYXlvdXRTdGF0ZS5oIgogI2luY2x1ZGUgIlJlbmRlclN0eWxlLmgiCiAjaW5j
bHVkZSAiVGV4dFJ1bi5oIgpAQCAtMTQ1LDExICsxNDYsMTEgQEAgc3RhdGljIEJveCBhYnNvbHV0
ZURpc3BsYXlCb3goY29uc3QgTGF5b3V0OjpMYXlvdXRTdGF0ZSYgbGF5b3V0U3RhdGUsIGNvbnN0
IExheW8KICAgICAvLyBTaG91bGQgbmV2ZXIgcmVhbGx5IGhhcHBlbiBidXQgdGFibGUgY29kZSBp
cyB3YXkgdG9vIGluY29tcGxldGUuCiAgICAgaWYgKCFsYXlvdXRTdGF0ZS5oYXNEaXNwbGF5Qm94
KGxheW91dEJveCkpCiAgICAgICAgIHJldHVybiB7IH07Ci0gICAgaWYgKGxheW91dEJveC5pc0lu
aXRpYWxDb250YWluaW5nQmxvY2soKSkKKyAgICBpZiAoaXM8TGF5b3V0OjpJbml0aWFsQ29udGFp
bmluZ0Jsb2NrPihsYXlvdXRCb3gpKQogICAgICAgICByZXR1cm4gbGF5b3V0U3RhdGUuZGlzcGxh
eUJveEZvckxheW91dEJveChsYXlvdXRCb3gpOwogCiAgICAgYXV0byBhYnNvbHV0ZUJveCA9IEJv
eCB7IGxheW91dFN0YXRlLmRpc3BsYXlCb3hGb3JMYXlvdXRCb3gobGF5b3V0Qm94KSB9OwotICAg
IGZvciAoYXV0byogY29udGFpbmluZ0Jsb2NrID0gJmxheW91dEJveC5jb250YWluaW5nQmxvY2so
KTsgIWNvbnRhaW5pbmdCbG9jay0+aXNJbml0aWFsQ29udGFpbmluZ0Jsb2NrKCk7IGNvbnRhaW5p
bmdCbG9jayA9ICZjb250YWluaW5nQmxvY2stPmNvbnRhaW5pbmdCbG9jaygpKQorICAgIGZvciAo
YXV0byogY29udGFpbmluZ0Jsb2NrID0gJmxheW91dEJveC5jb250YWluaW5nQmxvY2soKTsgIWlz
PExheW91dDo6SW5pdGlhbENvbnRhaW5pbmdCbG9jaz4oKmNvbnRhaW5pbmdCbG9jayk7IGNvbnRh
aW5pbmdCbG9jayA9ICZjb250YWluaW5nQmxvY2stPmNvbnRhaW5pbmdCbG9jaygpKQogICAgICAg
ICBhYnNvbHV0ZUJveC5tb3ZlQnkobGF5b3V0U3RhdGUuZGlzcGxheUJveEZvckxheW91dEJveCgq
Y29udGFpbmluZ0Jsb2NrKS50b3BMZWZ0KCkpOwogICAgIHJldHVybiBhYnNvbHV0ZUJveDsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnZhbGlkYXRpb24vSW52YWxpZGF0
aW9uU3RhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludmFsaWRhdGlvbi9JbnZhbGlk
YXRpb25TdGF0ZS5jcHAKaW5kZXggYTlmYjllMGZkMDk5MDI4NDhlZTFiMmIyZmU5ZTJiOTUzNDJi
NzMyMy4uMjUzZTRkYzI5YmJhZjc3NDcxMWZlZjI0MDkyNWFhNjljYWZkYjYzYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludmFsaWRhdGlvbi9JbnZhbGlkYXRpb25TdGF0ZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludmFsaWRhdGlvbi9JbnZhbGlkYXRpb25T
dGF0ZS5jcHAKQEAgLTQyLDcgKzQyLDcgQEAgSW52YWxpZGF0aW9uU3RhdGU6OkludmFsaWRhdGlv
blN0YXRlKCkKIHZvaWQgSW52YWxpZGF0aW9uU3RhdGU6Om1hcmtOZWVkc1VwZGF0ZShjb25zdCBC
b3gmIGxheW91dEJveCkKIHsKICAgICAvLyBXZSBuZXZlciBsYXkgb3V0IHRoZSBpbml0aWFsIGNv
bnRhaW5pbmcgYmxvY2suIEl0IGFsd2F5cyBoYXMgcHJlLWRldGVybWluZWQgZ2VvbWV0cnkuCi0g
ICAgQVNTRVJUKCFsYXlvdXRCb3guaXNJbml0aWFsQ29udGFpbmluZ0Jsb2NrKCkpOworICAgIEFT
U0VSVCghaXM8SW5pdGlhbENvbnRhaW5pbmdCbG9jaz4obGF5b3V0Qm94KSk7CiAgICAgLy8gRklY
TUU6IFRoaXMgaXMganVzdCBhIHBsYWNlaG9sZGVyIGltcGxlbWVudGF0aW9uLgogICAgIG1fZm9y
bWF0dGluZ0NvbnRleHRSb290cy5hZGQoJmxheW91dEJveC5mb3JtYXR0aW5nQ29udGV4dFJvb3Qo
KSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlv
dXRCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0Qm94LmNw
cAppbmRleCAxMTkyYmIyOTlmZjhkYTU5Y2U5OTdlNDE0NzE1NjE2ZGNlOTcyNDA4Li5iZDdiNWY4
ZTkzMjI3YzRlYjI1YjhkNjk3NTZkZjc0NWVlOGMyODhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9sYXlvdXR0cmVlL0xheW91dEJveC5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2lu
Y2x1ZGUgIkRpc3BsYXlCb3guaCIKICNpbmNsdWRlICJMYXlvdXRDb250YWluZXJCb3guaCIKKyNp
bmNsdWRlICJMYXlvdXRJbml0aWFsQ29udGFpbmluZ0Jsb2NrLmgiCiAjaW5jbHVkZSAiTGF5b3V0
UGhhc2UuaCIKICNpbmNsdWRlICJMYXlvdXRTdGF0ZS5oIgogI2luY2x1ZGUgIlJlbmRlclN0eWxl
LmgiCkBAIC03MCw3ICs3MSw3IEBAIGJvb2wgQm94Ojplc3RhYmxpc2hlc0Zvcm1hdHRpbmdDb250
ZXh0KCkgY29uc3QKIGJvb2wgQm94Ojplc3RhYmxpc2hlc0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQo
KSBjb25zdAogewogICAgIC8vIElDQiBhbHdheXMgY3JlYXRlcyBhIG5ldyAoaW5pdGFsKSBibG9j
ayBmb3JtYXR0aW5nIGNvbnRleHQuCi0gICAgaWYgKGlzSW5pdGlhbENvbnRhaW5pbmdCbG9jaygp
KQorICAgIGlmIChpczxDb250YWluZXJCb3g+KCp0aGlzKSkKICAgICAgICAgcmV0dXJuIHRydWU7
CiAKICAgICBpZiAoaXNUYWJsZVdyYXBwZXJCb3goKSkKQEAgLTE4Myw3ICsxODQsNyBAQCBjb25z
dCBDb250YWluZXJCb3gmIEJveDo6Y29udGFpbmluZ0Jsb2NrKCkgY29uc3QKICAgICAvLyBGaW5k
aW5nIHRoZSBjb250YWluaW5nIGJsb2NrIGJ5IHRyYXZlcnNpbmcgdGhlIHRyZWUgZHVyaW5nIHRy
ZWUgY29uc3RydWN0aW9uIGNvdWxkIHByb3ZpZGUgaW5jb3JyZWN0IHJlc3VsdC4KICAgICBBU1NF
UlQoIVBoYXNlOjppc0luVHJlZUJ1aWxkaW5nKCkpOwogICAgIC8vIElmIHdlIGV2ZXIgZW5kIHVw
IGhlcmUgd2l0aCB0aGUgSUNCLCB3ZSBtdXN0IGJlIGRvaW5nIHNvbWV0aGluZyBub3Qtc28tZ3Jl
YXQuCi0gICAgUkVMRUFTRV9BU1NFUlQoIWlzSW5pdGlhbENvbnRhaW5pbmdCbG9jaygpKTsKKyAg
ICBSRUxFQVNFX0FTU0VSVCghaXM8SW5pdGlhbENvbnRhaW5pbmdCbG9jaz4oKnRoaXMpKTsKICAg
ICAvLyBUaGUgY29udGFpbmluZyBibG9jayBpbiB3aGljaCB0aGUgcm9vdCBlbGVtZW50IGxpdmVz
IGlzIGEgcmVjdGFuZ2xlIGNhbGxlZCB0aGUgaW5pdGlhbCBjb250YWluaW5nIGJsb2NrLgogICAg
IC8vIEZvciBvdGhlciBlbGVtZW50cywgaWYgdGhlIGVsZW1lbnQncyBwb3NpdGlvbiBpcyAncmVs
YXRpdmUnIG9yICdzdGF0aWMnLCB0aGUgY29udGFpbmluZyBibG9jayBpcyBmb3JtZWQgYnkgdGhl
CiAgICAgLy8gY29udGVudCBlZGdlIG9mIHRoZSBuZWFyZXN0IGJsb2NrIGNvbnRhaW5lciBhbmNl
c3RvciBib3ggb3Igd2hpY2ggZXN0YWJsaXNoZXMgYSBmb3JtYXR0aW5nIGNvbnRleHQuCkBAIC0x
OTIsNyArMTkzLDcgQEAgY29uc3QgQ29udGFpbmVyQm94JiBCb3g6OmNvbnRhaW5pbmdCbG9jaygp
IGNvbnN0CiAgICAgLy8gJ3Bvc2l0aW9uJyBvZiAnYWJzb2x1dGUnLCAncmVsYXRpdmUnIG9yICdm
aXhlZCcuCiAgICAgaWYgKCFpc1Bvc2l0aW9uZWQoKSB8fCBpc0luRmxvd1Bvc2l0aW9uZWQoKSkg
ewogICAgICAgICBhdXRvKiBhbmNlc3RvciA9IHBhcmVudCgpOwotICAgICAgICBmb3IgKDsgIWFu
Y2VzdG9yLT5pc0luaXRpYWxDb250YWluaW5nQmxvY2soKTsgYW5jZXN0b3IgPSBhbmNlc3Rvci0+
cGFyZW50KCkpIHsKKyAgICAgICAgZm9yICg7ICFpczxJbml0aWFsQ29udGFpbmluZ0Jsb2NrPigq
YW5jZXN0b3IpOyBhbmNlc3RvciA9IGFuY2VzdG9yLT5wYXJlbnQoKSkgewogICAgICAgICAgICAg
aWYgKGFuY2VzdG9yLT5pc0Jsb2NrQ29udGFpbmVyQm94KCkgfHwgYW5jZXN0b3ItPmVzdGFibGlz
aGVzRm9ybWF0dGluZ0NvbnRleHQoKSkKICAgICAgICAgICAgICAgICByZXR1cm4gKmFuY2VzdG9y
OwogICAgICAgICB9CkBAIC0yMDEsNyArMjAyLDcgQEAgY29uc3QgQ29udGFpbmVyQm94JiBCb3g6
OmNvbnRhaW5pbmdCbG9jaygpIGNvbnN0CiAKICAgICBpZiAoaXNGaXhlZFBvc2l0aW9uZWQoKSkg
ewogICAgICAgICBhdXRvKiBhbmNlc3RvciA9IHBhcmVudCgpOwotICAgICAgICBmb3IgKDsgIWFu
Y2VzdG9yLT5pc0luaXRpYWxDb250YWluaW5nQmxvY2soKTsgYW5jZXN0b3IgPSBhbmNlc3Rvci0+
cGFyZW50KCkpIHsKKyAgICAgICAgZm9yICg7ICFpczxJbml0aWFsQ29udGFpbmluZ0Jsb2NrPigq
YW5jZXN0b3IpOyBhbmNlc3RvciA9IGFuY2VzdG9yLT5wYXJlbnQoKSkgewogICAgICAgICAgICAg
aWYgKGFuY2VzdG9yLT5zdHlsZSgpLmhhc1RyYW5zZm9ybSgpKQogICAgICAgICAgICAgICAgIHJl
dHVybiAqYW5jZXN0b3I7CiAgICAgICAgIH0KQEAgLTIxMCw3ICsyMTEsNyBAQCBjb25zdCBDb250
YWluZXJCb3gmIEJveDo6Y29udGFpbmluZ0Jsb2NrKCkgY29uc3QKIAogICAgIGlmIChpc091dE9m
Rmxvd1Bvc2l0aW9uZWQoKSkgewogICAgICAgICBhdXRvKiBhbmNlc3RvciA9IHBhcmVudCgpOwot
ICAgICAgICBmb3IgKDsgIWFuY2VzdG9yLT5pc0luaXRpYWxDb250YWluaW5nQmxvY2soKTsgYW5j
ZXN0b3IgPSBhbmNlc3Rvci0+cGFyZW50KCkpIHsKKyAgICAgICAgZm9yICg7ICFpczxJbml0aWFs
Q29udGFpbmluZ0Jsb2NrPigqYW5jZXN0b3IpOyBhbmNlc3RvciA9IGFuY2VzdG9yLT5wYXJlbnQo
KSkgewogICAgICAgICAgICAgaWYgKGFuY2VzdG9yLT5pc1Bvc2l0aW9uZWQoKSB8fCBhbmNlc3Rv
ci0+c3R5bGUoKS5oYXNUcmFuc2Zvcm0oKSkKICAgICAgICAgICAgICAgICByZXR1cm4gKmFuY2Vz
dG9yOwogICAgICAgICB9CkBAIC0yMjYsNyArMjI3LDcgQEAgY29uc3QgQ29udGFpbmVyQm94JiBC
b3g6OmZvcm1hdHRpbmdDb250ZXh0Um9vdCgpIGNvbnN0CiAgICAgLy8gRmluZGluZyB0aGUgY29u
dGV4dCByb290IGJ5IHRyYXZlcnNpbmcgdGhlIHRyZWUgZHVyaW5nIHRyZWUgY29uc3RydWN0aW9u
IGNvdWxkIHByb3ZpZGUgaW5jb3JyZWN0IHJlc3VsdC4KICAgICBBU1NFUlQoIVBoYXNlOjppc0lu
VHJlZUJ1aWxkaW5nKCkpOwogICAgIC8vIFdlIHNob3VsZCBuZXZlciBuZWVkIHRvIGFzayB0aGlz
IHF1ZXN0aW9uIG9uIHRoZSBJQ0IuCi0gICAgQVNTRVJUKCFpc0luaXRpYWxDb250YWluaW5nQmxv
Y2soKSk7CisgICAgQVNTRVJUKCFpczxJbml0aWFsQ29udGFpbmluZ0Jsb2NrPigqdGhpcykpOwog
ICAgIC8vIEEgYm94IGxpdmVzIGluIHRoZSBzYW1lIGZvcm1hdHRpbmcgY29udGV4dCBhcyBpdHMg
Y29udGFpbmluZyBibG9jayB1bmxlc3MgdGhlIGNvbnRhaW5pbmcgYmxvY2sgZXN0YWJsaXNoZXMg
YSBmb3JtYXR0aW5nIGNvbnRleHQuCiAgICAgLy8gSG93ZXZlciByZWxhdGl2ZWx5IHBvc2l0aW9u
ZWQgKGluZmxvdykgaW5saW5lIGNvbnRhaW5lciBsaXZlcyBpbiB0aGUgZm9ybWF0dGluZyBjb250
ZXh0IHdoZXJlIGl0cyBwYXJlbnQgbGl2ZXMgdW5sZXNzCiAgICAgLy8gdGhlIHBhcmVudCBlc3Rh
Ymxpc2hlcyBhIGZvcm1hdHRpbmcgY29udGV4dC4KQEAgLTI0MCwyNiArMjQxLDI2IEBAIGNvbnN0
IENvbnRhaW5lckJveCYgQm94Ojpmb3JtYXR0aW5nQ29udGV4dFJvb3QoKSBjb25zdAogICAgIHJl
dHVybiBhbmNlc3Rvci5mb3JtYXR0aW5nQ29udGV4dFJvb3QoKTsKIH0KIAotY29uc3QgQ29udGFp
bmVyQm94JiBCb3g6OmluaXRpYWxDb250YWluaW5nQmxvY2soKSBjb25zdAorY29uc3QgSW5pdGlh
bENvbnRhaW5pbmdCbG9jayYgQm94Ojppbml0aWFsQ29udGFpbmluZ0Jsb2NrKCkgY29uc3QKIHsK
LSAgICBpZiAoaXNJbml0aWFsQ29udGFpbmluZ0Jsb2NrKCkpCi0gICAgICAgIHJldHVybiBkb3du
Y2FzdDxDb250YWluZXJCb3g+KCp0aGlzKTsKKyAgICBpZiAoaXM8SW5pdGlhbENvbnRhaW5pbmdC
bG9jaz4oKnRoaXMpKQorICAgICAgICByZXR1cm4gZG93bmNhc3Q8SW5pdGlhbENvbnRhaW5pbmdC
bG9jaz4oKnRoaXMpOwogCiAgICAgYXV0byogYW5jZXN0b3IgPSBwYXJlbnQoKTsKICAgICBmb3Ig
KDsgYW5jZXN0b3ItPnBhcmVudCgpOyBhbmNlc3RvciA9IGFuY2VzdG9yLT5wYXJlbnQoKSkgeyB9
CiAKLSAgICByZXR1cm4gKmFuY2VzdG9yOworICAgIHJldHVybiBkb3duY2FzdDxJbml0aWFsQ29u
dGFpbmluZ0Jsb2NrPigqYW5jZXN0b3IpOwogfQogCiBib29sIEJveDo6aXNJbkZvcm1hdHRpbmdD
b250ZXh0T2YoY29uc3QgQ29udGFpbmVyQm94JiBmb3JtYXR0aW5nQ29udGV4dFJvb3QpIGNvbnN0
CiB7IAogICAgIEFTU0VSVChmb3JtYXR0aW5nQ29udGV4dFJvb3QuZXN0YWJsaXNoZXNGb3JtYXR0
aW5nQ29udGV4dCgpKTsKLSAgICBBU1NFUlQoIWlzSW5pdGlhbENvbnRhaW5pbmdCbG9jaygpKTsK
KyAgICBBU1NFUlQoIWlzPEluaXRpYWxDb250YWluaW5nQmxvY2s+KCp0aGlzKSk7CiAgICAgYXV0
byogYW5jZXN0b3IgPSAmY29udGFpbmluZ0Jsb2NrKCk7CiAgICAgd2hpbGUgKGFuY2VzdG9yKSB7
CiAgICAgICAgIGlmIChhbmNlc3RvciA9PSAmZm9ybWF0dGluZ0NvbnRleHRSb290KQogICAgICAg
ICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIGlmIChhbmNlc3Rvci0+aXNJbml0aWFsQ29udGFp
bmluZ0Jsb2NrKCkpCisgICAgICAgIGlmIChpczxJbml0aWFsQ29udGFpbmluZ0Jsb2NrPigqYW5j
ZXN0b3IpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBhbmNlc3RvciA9ICZh
bmNlc3Rvci0+Y29udGFpbmluZ0Jsb2NrKCk7CiAgICAgfQpAQCAtMzYwLDcgKzM2MSw3IEBAIGJv
b2wgQm94Ojppc092ZXJmbG93VmlzaWJsZSgpIGNvbnN0CiAgICAgICAgICAgICByZXR1cm4gaXNP
dmVyZmxvd1Zpc2libGU7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KLSAgICBpZiAoaXNJ
bml0aWFsQ29udGFpbmluZ0Jsb2NrKCkpIHsKKyAgICBpZiAoaXM8SW5pdGlhbENvbnRhaW5pbmdC
bG9jaz4oKnRoaXMpKSB7CiAgICAgICAgIGF1dG8qIGRvY3VtZW50Qm94ID0gZG93bmNhc3Q8Q29u
dGFpbmVyQm94PigqdGhpcykuZmlyc3RDaGlsZCgpOwogICAgICAgICBpZiAoIWRvY3VtZW50Qm94
IHx8ICFkb2N1bWVudEJveC0+aXNEb2N1bWVudEJveCgpIHx8ICFpczxDb250YWluZXJCb3g+KGRv
Y3VtZW50Qm94KSkKICAgICAgICAgICAgIHJldHVybiBpc092ZXJmbG93VmlzaWJsZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dEJveC5oIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0Qm94LmgKaW5kZXggZmQ4Nzk5ZjQ1
MGI0ODI1ZTI2NTY0MjI2MmI5NzBiNmM4M2ZjNmQ5OC4uODZkMWI4YTljOGIwNTg4YTY2ZWZlOWVl
Y2EyMTkxNjZlYzdhMDE2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91
dHRyZWUvTGF5b3V0Qm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUv
TGF5b3V0Qm94LmgKQEAgLTQwLDYgKzQwLDcgQEAgY2xhc3MgQm94OwogbmFtZXNwYWNlIExheW91
dCB7CiAKIGNsYXNzIENvbnRhaW5lckJveDsKK2NsYXNzIEluaXRpYWxDb250YWluaW5nQmxvY2s7
CiBjbGFzcyBMYXlvdXRTdGF0ZTsKIGNsYXNzIFRyZWVCdWlsZGVyOwogCkBAIC02MSwxMiArNjIs
MTIgQEAgcHVibGljOgogICAgIH07CiAKICAgICBlbnVtIEJhc2VUeXBlRmxhZyB7Ci0gICAgICAg
IEJveEZsYWcgICAgICAgICAgICAgICAgPSAxIDw8IDAsCi0gICAgICAgIElubGluZVRleHRCb3gg
ICAgICAgICAgPSAxIDw8IDEsCi0gICAgICAgIExpbmVCcmVha0JveCAgICAgICAgICAgPSAxIDw8
IDIsCi0gICAgICAgIFJlcGxhY2VkQm94ICAgICAgICAgICAgPSAxIDw8IDMsCi0gICAgICAgIElu
aXRpYWxDb250YWluaW5nQmxvY2sgPSAxIDw8IDQsCi0gICAgICAgIENvbnRhaW5lckJveEZsYWcg
ICAgICAgPSAxIDw8IDUKKyAgICAgICAgQm94RmxhZyAgICAgICAgICAgICAgICAgICAgPSAxIDw8
IDAsCisgICAgICAgIElubGluZVRleHRCb3hGbGFnICAgICAgICAgID0gMSA8PCAxLAorICAgICAg
ICBMaW5lQnJlYWtCb3hGbGFnICAgICAgICAgICA9IDEgPDwgMiwKKyAgICAgICAgUmVwbGFjZWRC
b3hGbGFnICAgICAgICAgICAgPSAxIDw8IDMsCisgICAgICAgIEluaXRpYWxDb250YWluaW5nQmxv
Y2tGbGFnID0gMSA8PCA0LAorICAgICAgICBDb250YWluZXJCb3hGbGFnICAgICAgICAgICA9IDEg
PDwgNQogICAgIH07CiAgICAgdHlwZWRlZiB1bnNpZ25lZCBCYXNlVHlwZUZsYWdzOwogCkBAIC05
Niw3ICs5Nyw3IEBAIHB1YmxpYzoKIAogICAgIGNvbnN0IENvbnRhaW5lckJveCYgY29udGFpbmlu
Z0Jsb2NrKCkgY29uc3Q7CiAgICAgY29uc3QgQ29udGFpbmVyQm94JiBmb3JtYXR0aW5nQ29udGV4
dFJvb3QoKSBjb25zdDsKLSAgICBjb25zdCBDb250YWluZXJCb3gmIGluaXRpYWxDb250YWluaW5n
QmxvY2soKSBjb25zdDsKKyAgICBjb25zdCBJbml0aWFsQ29udGFpbmluZ0Jsb2NrJiBpbml0aWFs
Q29udGFpbmluZ0Jsb2NrKCkgY29uc3Q7CiAKICAgICBib29sIGlzSW5Gb3JtYXR0aW5nQ29udGV4
dE9mKGNvbnN0IENvbnRhaW5lckJveCYpIGNvbnN0OwogCkBAIC0xMDksNyArMTEwLDcgQEAgcHVi
bGljOgogICAgIGJvb2wgaXNJbmxpbmVCbG9ja0JveCgpIGNvbnN0OwogICAgIGJvb2wgaXNJbmxp
bmVUYWJsZUJveCgpIGNvbnN0OwogICAgIGJvb2wgaXNCbG9ja0NvbnRhaW5lckJveCgpIGNvbnN0
OwotICAgIGJvb2wgaXNJbml0aWFsQ29udGFpbmluZ0Jsb2NrKCkgY29uc3QgeyByZXR1cm4gbV9i
YXNlVHlwZUZsYWdzICYgSW5pdGlhbENvbnRhaW5pbmdCbG9jazsgfQorICAgIGJvb2wgaXNJbml0
aWFsQ29udGFpbmluZ0Jsb2NrKCkgY29uc3QgeyByZXR1cm4gbV9iYXNlVHlwZUZsYWdzICYgSW5p
dGlhbENvbnRhaW5pbmdCbG9ja0ZsYWc7IH0KIAogICAgIGJvb2wgaXNEb2N1bWVudEJveCgpIGNv
bnN0IHsgcmV0dXJuIG1fZWxlbWVudEF0dHJpYnV0ZXMgJiYgbV9lbGVtZW50QXR0cmlidXRlcy52
YWx1ZSgpLmVsZW1lbnRUeXBlID09IEVsZW1lbnRUeXBlOjpEb2N1bWVudDsgfQogICAgIGJvb2wg
aXNCb2R5Qm94KCkgY29uc3QgeyByZXR1cm4gbV9lbGVtZW50QXR0cmlidXRlcyAmJiBtX2VsZW1l
bnRBdHRyaWJ1dGVzLnZhbHVlKCkuZWxlbWVudFR5cGUgPT0gRWxlbWVudFR5cGU6OkJvZHk7IH0K
QEAgLTEzOCw5ICsxMzksOSBAQCBwdWJsaWM6CiAgICAgQm94KiBuZXh0U2libGluZygpIHsgcmV0
dXJuIG1fbmV4dFNpYmxpbmc7IH0KIAogICAgIGJvb2wgaXNDb250YWluZXJCb3goKSBjb25zdCB7
IHJldHVybiBtX2Jhc2VUeXBlRmxhZ3MgJiBDb250YWluZXJCb3hGbGFnOyB9Ci0gICAgYm9vbCBp
c0lubGluZVRleHRCb3goKSBjb25zdCB7IHJldHVybiBtX2Jhc2VUeXBlRmxhZ3MgJiBJbmxpbmVU
ZXh0Qm94OyB9Ci0gICAgYm9vbCBpc0xpbmVCcmVha0JveCgpIGNvbnN0IHsgcmV0dXJuIG1fYmFz
ZVR5cGVGbGFncyAmIExpbmVCcmVha0JveDsgfQotICAgIGJvb2wgaXNSZXBsYWNlZEJveCgpIGNv
bnN0IHsgcmV0dXJuIG1fYmFzZVR5cGVGbGFncyAmIFJlcGxhY2VkQm94OyB9CisgICAgYm9vbCBp
c0lubGluZVRleHRCb3goKSBjb25zdCB7IHJldHVybiBtX2Jhc2VUeXBlRmxhZ3MgJiBJbmxpbmVU
ZXh0Qm94RmxhZzsgfQorICAgIGJvb2wgaXNMaW5lQnJlYWtCb3goKSBjb25zdCB7IHJldHVybiBt
X2Jhc2VUeXBlRmxhZ3MgJiBMaW5lQnJlYWtCb3hGbGFnOyB9CisgICAgYm9vbCBpc1JlcGxhY2Vk
Qm94KCkgY29uc3QgeyByZXR1cm4gbV9iYXNlVHlwZUZsYWdzICYgUmVwbGFjZWRCb3hGbGFnOyB9
CiAKICAgICBib29sIGlzUGFkZGluZ0FwcGxpY2FibGUoKSBjb25zdDsKICAgICBib29sIGlzT3Zl
cmZsb3dWaXNpYmxlKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
bGF5b3V0dHJlZS9MYXlvdXRJbml0aWFsQ29udGFpbmluZ0Jsb2NrLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dEluaXRpYWxDb250YWluaW5nQmxvY2suY3BwCmlu
ZGV4IGMwMzQ5YmM5NmM5MjVkNzc0ODlmMzhhNjlhNzBhNjg2MDExYTRkMDQuLmFjNGNkZjcwZTA5
OTVmYzYyZDBiODU5ZjRkYWM2MDBlZDYyZDI1YmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9sYXlvdXR0cmVlL0xheW91dEluaXRpYWxDb250YWluaW5nQmxvY2suY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dEluaXRpYWxDb250YWluaW5n
QmxvY2suY3BwCkBAIC0zNyw3ICszNyw3IEBAIG5hbWVzcGFjZSBMYXlvdXQgewogV1RGX01BS0Vf
SVNPX0FMTE9DQVRFRF9JTVBMKEluaXRpYWxDb250YWluaW5nQmxvY2spOwogCiBJbml0aWFsQ29u
dGFpbmluZ0Jsb2NrOjpJbml0aWFsQ29udGFpbmluZ0Jsb2NrKFJlbmRlclN0eWxlJiYgc3R5bGUp
Ci0gICAgOiBDb250YWluZXJCb3goeyB9LCBXVEZNb3ZlKHN0eWxlKSwgQm94OjpJbml0aWFsQ29u
dGFpbmluZ0Jsb2NrKQorICAgIDogQ29udGFpbmVyQm94KHsgfSwgV1RGTW92ZShzdHlsZSksIEJv
eDo6SW5pdGlhbENvbnRhaW5pbmdCbG9ja0ZsYWcpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dElubGluZVRleHRCb3guY3BwIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0SW5saW5lVGV4dEJveC5jcHAKaW5k
ZXggMmI4N2M0N2U2MTYwOWFlNjgxZWRjYTExYmM3MTk2YTJhMjgwZTI4Yy4uOTU4N2I2OTU2YzY5
NzQ5ZjlhYWRiOGRkNTFlNzdmOGQwNjMyZTFhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2xheW91dHRyZWUvTGF5b3V0SW5saW5lVGV4dEJveC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0SW5saW5lVGV4dEJveC5jcHAKQEAgLTM3LDcg
KzM3LDcgQEAgbmFtZXNwYWNlIExheW91dCB7CiBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwo
SW5saW5lVGV4dEJveCk7CiAKIElubGluZVRleHRCb3g6OklubGluZVRleHRCb3goU3RyaW5nIGNv
bnRlbnQsIGJvb2wgY2FuVXNlU2ltcGxpZmllZENvbnRlbnRNZWFzdXJpbmcsIFJlbmRlclN0eWxl
JiYgc3R5bGUpCi0gICAgOiBCb3goeyB9LCBXVEZNb3ZlKHN0eWxlKSwgQm94OjpJbmxpbmVUZXh0
Qm94KQorICAgIDogQm94KHsgfSwgV1RGTW92ZShzdHlsZSksIEJveDo6SW5saW5lVGV4dEJveEZs
YWcpCiAgICAgLCBtX2NvbnRlbnQoY29udGVudCkKICAgICAsIG1fY2FuVXNlU2ltcGxpZmllZENv
bnRlbnRNZWFzdXJpbmcoY2FuVXNlU2ltcGxpZmllZENvbnRlbnRNZWFzdXJpbmcpCiB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRMaW5lQnJlYWtC
b3guY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0TGluZUJyZWFr
Qm94LmNwcAppbmRleCBlMjU3NjViYmY3NmM4YzBkNmMxNTAxZTE5MGFhNDVjZmY0MmU2ODk3Li5h
YTAwYjg2Nzc0MjkwZDA5NzlkYmQ2OTMyYzhiM2VhM2E1YjlhMjQzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRMaW5lQnJlYWtCb3guY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dExpbmVCcmVha0JveC5jcHAK
QEAgLTM3LDcgKzM3LDcgQEAgbmFtZXNwYWNlIExheW91dCB7CiBXVEZfTUFLRV9JU09fQUxMT0NB
VEVEX0lNUEwoTGluZUJyZWFrQm94KTsKIAogTGluZUJyZWFrQm94OjpMaW5lQnJlYWtCb3goYm9v
bCBpc09wdGlvbmFsLCBSZW5kZXJTdHlsZSYmIHN0eWxlKQotICAgIDogQm94KHsgfSwgV1RGTW92
ZShzdHlsZSksIEJveDo6TGluZUJyZWFrQm94KQorICAgIDogQm94KHsgfSwgV1RGTW92ZShzdHls
ZSksIEJveDo6TGluZUJyZWFrQm94RmxhZykKICAgICAsIG1faXNPcHRpb25hbChpc09wdGlvbmFs
KQogewogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5
b3V0UmVwbGFjZWRCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5
b3V0UmVwbGFjZWRCb3guY3BwCmluZGV4IDVjNGQyMGZhOTk3YjM5Zjg1YzU3YTg0MTk0MGVlZWE2
Yzk2ZDQ4NWYuLmI2OTBlZmUxNzAzOGE1MTJhZjIwMzUxZTJlNTAwMGUxZWFlY2IwNmYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dFJlcGxhY2VkQm94
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRSZXBsYWNl
ZEJveC5jcHAKQEAgLTM3LDcgKzM3LDcgQEAgbmFtZXNwYWNlIExheW91dCB7CiBXVEZfTUFLRV9J
U09fQUxMT0NBVEVEX0lNUEwoUmVwbGFjZWRCb3gpOwogCiBSZXBsYWNlZEJveDo6UmVwbGFjZWRC
b3goUmVuZGVyU3R5bGUmJiBzdHlsZSkKLSAgICA6IEJveCh7IH0sIFdURk1vdmUoc3R5bGUpLCBC
b3g6OlJlcGxhY2VkQm94KQorICAgIDogQm94KHsgfSwgV1RGTW92ZShzdHlsZSksIEJveDo6UmVw
bGFjZWRCb3hGbGFnKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
bGF5b3V0dHJlZS9MYXlvdXRUcmVlQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
bGF5b3V0dHJlZS9MYXlvdXRUcmVlQnVpbGRlci5jcHAKaW5kZXggZmFiZTk1N2I1ZjQ3YzY2OTZl
ZTJjODJmYjhmMjg4Y2IxNzExODEzZS4uN2JiOTFmM2Q2ZTk0OTY2YTYzNGE1ZjJkMmE0Y2NlMzZk
YTFkZWJlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5
b3V0VHJlZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVl
L0xheW91dFRyZWVCdWlsZGVyLmNwcApAQCAtMzk0LDcgKzM5NCw3IEBAIHN0YXRpYyB2b2lkIG91
dHB1dExheW91dEJveChUZXh0U3RyZWFtJiBzdHJlYW0sIGNvbnN0IEJveCYgbGF5b3V0Qm94LCBj
b25zdCBEaXNwCiAgICAgaWYgKGxheW91dEJveC5pc0Zsb2F0aW5nUG9zaXRpb25lZCgpKQogICAg
ICAgICBzdHJlYW0gPDwgIltmbG9hdF0gIjsKIAotICAgIGlmIChsYXlvdXRCb3guaXNJbml0aWFs
Q29udGFpbmluZ0Jsb2NrKCkpCisgICAgaWYgKGlzPEluaXRpYWxDb250YWluaW5nQmxvY2s+KGxh
eW91dEJveCkpCiAgICAgICAgIHN0cmVhbSA8PCAiSW5pdGlhbCBjb250YWluaW5nIGJsb2NrIjsK
ICAgICBlbHNlIGlmIChsYXlvdXRCb3guaXNEb2N1bWVudEJveCgpKQogICAgICAgICBzdHJlYW0g
PDwgIkhUTUwiOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394346</attachid>
            <date>2020-03-23 20:43:17 -0700</date>
            <delta_ts>2020-03-23 21:09:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209406-20200323204317.patch</filename>
            <type>text/plain</type>
            <size>21859</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4ODk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTE5ZmJjOTMyM2JmOTVj
NzAxNzBmZmZmODdkNTU1MjNjOGU0YjIwYS4uYWYyNjYxMzI1YjkxMjc3MzYwNGE4YTBiZDQ1YzFi
OWM3ZmEyZWZkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDIwLTAzLTIzICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ10gTGF5b3V0OjpCb3g6
OmluaXRpYWxDb250YWluaW5nQmxvY2soKSBzaG91bGQgcmV0dXJuIGNvbnN0IEluaXRpYWxDb250
YWluaW5nQmxvY2smCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMDk0MDYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYwNzQ5NzE1PgorCisgICAgICAg
IFJldmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgorCisgICAgICAgIFVzZSBpczxJbml0aWFsQ29u
dGFpbmluZ0Jsb2NrPiB3aGVyZSBhcHBsaWNhYmxlLgorCisgICAgICAgICogbGF5b3V0L0Zvcm1h
dHRpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Rm9ybWF0dGluZ0Nv
bnRleHQ6Omdlb21ldHJ5Rm9yQm94IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6
Rm9ybWF0dGluZ0NvbnRleHQ6OmNvbGxlY3RPdXRPZkZsb3dEZXNjZW5kYW50c0lmTmVlZGVkKToK
KyAgICAgICAgKiBsYXlvdXQvRm9ybWF0dGluZ0NvbnRleHRRdWlya3MuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpGb3JtYXR0aW5nQ29udGV4dDo6UXVpcmtzOjpoZWlnaHRWYWx1ZU9m
TmVhcmVzdENvbnRhaW5pbmdCbG9ja1dpdGhGaXhlZEhlaWdodCk6CisgICAgICAgICogbGF5b3V0
L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0UXVpcmtzLmNwcDoKKyAgICAg
ICAgKiBsYXlvdXQvZGlzcGxheXRyZWUvRGlzcGxheVBhaW50ZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RGlzcGxheTo6YWJzb2x1dGVEaXNwbGF5Qm94KToKKyAgICAgICAgKiBsYXlvdXQvaW52
YWxpZGF0aW9uL0ludmFsaWRhdGlvblN0YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91
dDo6SW52YWxpZGF0aW9uU3RhdGU6Om1hcmtOZWVkc1VwZGF0ZSk6CisgICAgICAgICogbGF5b3V0
L2xheW91dHRyZWUvTGF5b3V0Qm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Qm94
Ojplc3RhYmxpc2hlc0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6TGF5b3V0OjpCb3g6OmNvbnRhaW5pbmdCbG9jayBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpMYXlvdXQ6OkJveDo6Zm9ybWF0dGluZ0NvbnRleHRSb290IGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OkxheW91dDo6Qm94Ojppbml0aWFsQ29udGFpbmluZ0Jsb2NrIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6Qm94Ojppc0luRm9ybWF0dGluZ0NvbnRleHRPZiBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJveDo6aXNPdmVyZmxvd1Zpc2libGUgY29u
c3QpOgorICAgICAgICAqIGxheW91dC9sYXlvdXR0cmVlL0xheW91dEJveC5oOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpCb3g6OmlzSW5pdGlhbENvbnRhaW5pbmdCbG9jayBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJveDo6aXNJbmxpbmVUZXh0Qm94IGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6Qm94Ojppc0xpbmVCcmVha0JveCBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJveDo6aXNSZXBsYWNlZEJveCBjb25zdCk6CisgICAgICAg
ICogbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0SW5pdGlhbENvbnRhaW5pbmdCbG9jay5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkluaXRpYWxDb250YWluaW5nQmxvY2s6OkluaXRpYWxD
b250YWluaW5nQmxvY2spOgorICAgICAgICAqIGxheW91dC9sYXlvdXR0cmVlL0xheW91dElubGlu
ZVRleHRCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVUZXh0Qm94OjpJ
bmxpbmVUZXh0Qm94KToKKyAgICAgICAgKiBsYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRMaW5lQnJl
YWtCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQnJlYWtCb3g6OkxpbmVC
cmVha0JveCk6CisgICAgICAgICogbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0UmVwbGFjZWRCb3gu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpSZXBsYWNlZEJveDo6UmVwbGFjZWRCb3gp
OgorICAgICAgICAqIGxheW91dC9sYXlvdXR0cmVlL0xheW91dFRyZWVCdWlsZGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6b3V0cHV0TGF5b3V0Qm94KToKKwogMjAyMC0wMy0yMyAg
QWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEFk
ZCBjb25zb2xlIG1lc3NhZ2Ugd2hlbiBsZWdhY3kgVExTIGlzIHVzZWQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuY3BwCmluZGV4IGI2NzNlMzE5NmFkNjM3MDY5NmQ0
YzdjZmE4ODU0MjRmOWIzNjBiYTIuLmZlODk5NWVlNzE1OTFhZWNkOTg0MWE4MTY1ZjM2Mzc1ODlj
YmIzZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmNwcApA
QCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIkxheW91dENvbnRhaW5lckJveC5oIgogI2luY2x1
ZGUgIkxheW91dENvbnRleHQuaCIKICNpbmNsdWRlICJMYXlvdXREZXNjZW5kYW50SXRlcmF0b3Iu
aCIKKyNpbmNsdWRlICJMYXlvdXRJbml0aWFsQ29udGFpbmluZ0Jsb2NrLmgiCiAjaW5jbHVkZSAi
TGF5b3V0UmVwbGFjZWRCb3guaCIKICNpbmNsdWRlICJMYXlvdXRTdGF0ZS5oIgogI2luY2x1ZGUg
IkxvZ2dpbmcuaCIKQEAgLTE5Miw3ICsxOTMsNyBAQCBjb25zdCBEaXNwbGF5OjpCb3gmIEZvcm1h
dHRpbmdDb250ZXh0OjpnZW9tZXRyeUZvckJveChjb25zdCBCb3gmIGxheW91dEJveCwgT3B0aQog
ICAgIFVOVVNFRF9QQVJBTShlc2NhcGVSZWFzb24pOwogI2lmIEFTU0VSVF9FTkFCTEVECiAgICAg
YXV0byBpc09rVG9BY2Nlc3NEaXNwbGF5Qm94ID0gWyZdIHsKLSAgICAgICAgaWYgKCFsYXlvdXRC
b3guaXNJbml0aWFsQ29udGFpbmluZ0Jsb2NrKCkgJiYgJmxheW91dEJveC5mb3JtYXR0aW5nQ29u
dGV4dFJvb3QoKSA9PSAmcm9vdCgpKSB7CisgICAgICAgIGlmICghaXM8SW5pdGlhbENvbnRhaW5p
bmdCbG9jaz4obGF5b3V0Qm94KSAmJiAmbGF5b3V0Qm94LmZvcm1hdHRpbmdDb250ZXh0Um9vdCgp
ID09ICZyb290KCkpIHsKICAgICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIG5vbi1lc2NhcGUgY2Fz
ZSBvZiBhY2Nlc3NpbmcgYSBib3gncyBnZW9tZXRyeSBpbmZvcm1hdGlvbiB3aXRoaW4gdGhlIHNh
bWUgZm9ybWF0dGluZyBjb250ZXh0LgogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAg
IH0KQEAgLTIwNCwxNyArMjA1LDE3IEBAIGNvbnN0IERpc3BsYXk6OkJveCYgRm9ybWF0dGluZ0Nv
bnRleHQ6Omdlb21ldHJ5Rm9yQm94KGNvbnN0IEJveCYgbGF5b3V0Qm94LCBPcHRpCiAKICAgICAg
ICAgaWYgKCplc2NhcGVSZWFzb24gPT0gRXNjYXBlUmVhc29uOjpEb2N1bWVudEJveFN0cmVjaGVz
VG9WaWV3cG9ydFF1aXJrKSB7CiAgICAgICAgICAgICBBU1NFUlQobGF5b3V0U3RhdGUoKS5pblF1
aXJrc01vZGUoKSk7Ci0gICAgICAgICAgICByZXR1cm4gbGF5b3V0Qm94LmlzSW5pdGlhbENvbnRh
aW5pbmdCbG9jaygpOworICAgICAgICAgICAgcmV0dXJuIGlzPEluaXRpYWxDb250YWluaW5nQmxv
Y2s+KGxheW91dEJveCk7CiAgICAgICAgIH0KIAogICAgICAgICBpZiAoKmVzY2FwZVJlYXNvbiA9
PSBFc2NhcGVSZWFzb246OkJvZHlTdHJlY2hlc1RvVmlld3BvcnRRdWlyaykgewogICAgICAgICAg
ICAgQVNTRVJUKGxheW91dFN0YXRlKCkuaW5RdWlya3NNb2RlKCkpOwotICAgICAgICAgICAgcmV0
dXJuIGxheW91dEJveC5pc0luaXRpYWxDb250YWluaW5nQmxvY2soKSB8fCBsYXlvdXRCb3guaXNE
b2N1bWVudEJveCgpOworICAgICAgICAgICAgcmV0dXJuIGlzPEluaXRpYWxDb250YWluaW5nQmxv
Y2s+KGxheW91dEJveCkgfHwgbGF5b3V0Qm94LmlzRG9jdW1lbnRCb3goKTsKIAogICAgICAgICB9
CiAKICAgICAgICAgaWYgKCplc2NhcGVSZWFzb24gPT0gRXNjYXBlUmVhc29uOjpTdHJva2VPdmVy
Zmxvd05lZWRzVmlld3BvcnRHZW9tZXRyeSkKLSAgICAgICAgICAgIHJldHVybiBsYXlvdXRCb3gu
aXNJbml0aWFsQ29udGFpbmluZ0Jsb2NrKCk7CisgICAgICAgICAgICByZXR1cm4gaXM8SW5pdGlh
bENvbnRhaW5pbmdCbG9jaz4obGF5b3V0Qm94KTsKIAogICAgICAgICBpZiAoKmVzY2FwZVJlYXNv
biA9PSBFc2NhcGVSZWFzb246Ok5lZWRzR2VvbWV0cnlGcm9tRXN0YWJsaXNoZWRGb3JtYXR0aW5n
Q29udGV4dCkgewogICAgICAgICAgICAgLy8gVGhpcyBpcyB0aGUgY2FzZSB3aGVuIGEgZm9ybWF0
dGluZyByb290IGNvbGxlY3RzIGdlb21ldHJ5IGluZm9ybWF0aW9uIGZyb20gdGhlIGVzdGFibGlz
aGVkCkBAIC0yNDMsNyArMjQ0LDcgQEAgY29uc3QgRGlzcGxheTo6Qm94JiBGb3JtYXR0aW5nQ29u
dGV4dDo6Z2VvbWV0cnlGb3JCb3goY29uc3QgQm94JiBsYXlvdXRCb3gsIE9wdGkKICAgICAgICAg
ICAgIEFTU0VSVChsYXlvdXRTdGF0ZSgpLmluUXVpcmtzTW9kZSgpKTsKICAgICAgICAgICAgIC8v
IEZpbmQgdGhlIGZpcnN0IGNvbnRhaW5pbmcgYmxvY2sgd2l0aCBmaXhlZCBoZWlnaHQgcXVpcmsu
IFNlZSBRdWlya3M6OmhlaWdodFZhbHVlT2ZOZWFyZXN0Q29udGFpbmluZ0Jsb2NrV2l0aEZpeGVk
SGVpZ2h0LgogICAgICAgICAgICAgLy8gVGhpcyBpcyBvbmx5IHRvIGNoZWNrIGlmIHRoZSB0YXJn
ZXRGb3JtYXR0aW5nUm9vdCBpcyBhbiBhbmNlc3RvciBmb3JtYXR0aW5nIHJvb3QuCi0gICAgICAg
ICAgICBpZiAobGF5b3V0Qm94LmlzSW5pdGlhbENvbnRhaW5pbmdCbG9jaygpKQorICAgICAgICAg
ICAgaWYgKGlzPEluaXRpYWxDb250YWluaW5nQmxvY2s+KGxheW91dEJveCkpCiAgICAgICAgICAg
ICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICBhdXRvJiB0YXJnZXRGb3JtYXR0aW5nUm9v
dCA9IGxheW91dEJveC5mb3JtYXR0aW5nQ29udGV4dFJvb3QoKTsKICAgICAgICAgICAgIGF1dG8q
IGFuY2VzdG9yRm9ybWF0dGluZ0NvbnRleHRSb290ID0gJnJvb3QoKS5mb3JtYXR0aW5nQ29udGV4
dFJvb3QoKTsKQEAgLTI1MSw3ICsyNTIsNyBAQCBjb25zdCBEaXNwbGF5OjpCb3gmIEZvcm1hdHRp
bmdDb250ZXh0OjpnZW9tZXRyeUZvckJveChjb25zdCBCb3gmIGxheW91dEJveCwgT3B0aQogICAg
ICAgICAgICAgICAgIGlmICgmdGFyZ2V0Rm9ybWF0dGluZ1Jvb3QgPT0gYW5jZXN0b3JGb3JtYXR0
aW5nQ29udGV4dFJvb3QpCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAg
ICAgICAgICAgIGFuY2VzdG9yRm9ybWF0dGluZ0NvbnRleHRSb290ID0gJmFuY2VzdG9yRm9ybWF0
dGluZ0NvbnRleHRSb290LT5mb3JtYXR0aW5nQ29udGV4dFJvb3QoKTsKLSAgICAgICAgICAgICAg
ICBpZiAoYW5jZXN0b3JGb3JtYXR0aW5nQ29udGV4dFJvb3QtPmlzSW5pdGlhbENvbnRhaW5pbmdC
bG9jaygpKQorICAgICAgICAgICAgICAgIGlmIChpczxJbml0aWFsQ29udGFpbmluZ0Jsb2NrPigq
YW5jZXN0b3JGb3JtYXR0aW5nQ29udGV4dFJvb3QpKQogICAgICAgICAgICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTI4
MCw3ICsyODEsNyBAQCB2b2lkIEZvcm1hdHRpbmdDb250ZXh0Ojpjb2xsZWN0T3V0T2ZGbG93RGVz
Y2VuZGFudHNJZk5lZWRlZCgpCiAgICAgYXV0byYgcm9vdCA9IHRoaXMtPnJvb3QoKTsKICAgICBp
ZiAoIXJvb3QuaGFzQ2hpbGQoKSkKICAgICAgICAgcmV0dXJuOwotICAgIGlmICghcm9vdC5pc1Bv
c2l0aW9uZWQoKSAmJiAhcm9vdC5pc0luaXRpYWxDb250YWluaW5nQmxvY2soKSkKKyAgICBpZiAo
IXJvb3QuaXNQb3NpdGlvbmVkKCkgJiYgIWlzPEluaXRpYWxDb250YWluaW5nQmxvY2s+KHJvb3Qp
KQogICAgICAgICByZXR1cm47CiAgICAgLy8gQ29sbGVjdCB0aGUgb3V0LW9mLWZsb3cgZGVzY2Vu
ZGFudHMgYXQgdGhlIGZvcm1hdHRpbmcgcm9vdCBsZXZlbCAoYXMgb3Bwb3NlZCB0byBhdCB0aGUg
Y29udGFpbmluZyBibG9jayBsZXZlbCwgdGhvdWdoIHRoZXkgbWlnaHQgYmUgdGhlIHNhbWUpLgog
ICAgIC8vIEZJWE1FOiBUdXJuIHRoaXMgaW50byBhIHJlZ2lzdGVyLXNlbGYgYXMgYm94ZXMgYXJl
IGJlaW5nIGluc2VydGVkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1h
dHRpbmdDb250ZXh0UXVpcmtzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5n
Q29udGV4dFF1aXJrcy5jcHAKaW5kZXggOGMyNjZmZTM4MmFiYmJlMmQxZjM2NGMxZDA2MDlkNDhl
ZjliYTJiNS4uMmQxODg5M2RhMDFkYzFmZGIzZTJiMWY4OGNmN2ZmZWFiY2UyNjAzOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0UXVpcmtzLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHRRdWlya3MuY3BwCkBA
IC0zMCw2ICszMCw3IEBACiAKICNpbmNsdWRlICJEaXNwbGF5Qm94LmgiCiAjaW5jbHVkZSAiTGF5
b3V0Qm94LmgiCisjaW5jbHVkZSAiTGF5b3V0SW5pdGlhbENvbnRhaW5pbmdCbG9jay5oIgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiBuYW1lc3BhY2UgTGF5b3V0IHsKQEAgLTU5LDcgKzYwLDcgQEAg
TGF5b3V0VW5pdCBGb3JtYXR0aW5nQ29udGV4dDo6UXVpcmtzOjpoZWlnaHRWYWx1ZU9mTmVhcmVz
dENvbnRhaW5pbmdCbG9ja1dpdGhGaXgKICAgICAgICAgICAgIGJvZHlBbmREb2N1bWVudFZlcnRp
Y2FsTWFyZ2luUGFkZGluZ0FuZEJvcmRlciArPSB2ZXJ0aWNhbE1hcmdpbi5iZWZvcmUudmFsdWVP
cigwKSArIHZlcnRpY2FsTWFyZ2luLmFmdGVyLnZhbHVlT3IoMCkgKyB2ZXJ0aWNhbFBhZGRpbmcg
KyB2ZXJ0aWNhbEJvcmRlcjsKICAgICAgICAgfQogCi0gICAgICAgIGlmIChjb250YWluaW5nQmxv
Y2stPmlzSW5pdGlhbENvbnRhaW5pbmdCbG9jaygpKQorICAgICAgICBpZiAoaXM8SW5pdGlhbENv
bnRhaW5pbmdCbG9jaz4oKmNvbnRhaW5pbmdCbG9jaykpCiAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgY29udGFpbmluZ0Jsb2NrID0gJmNvbnRhaW5pbmdCbG9jay0+Y29udGFpbmluZ0Jsb2Nr
KCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0
dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0UXVpcmtzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dFF1aXJrcy5jcHAKaW5k
ZXggMTZkNWFhZTI5ZDFkNDlhZjhlM2Q0YjZkYTU2YWU2ZDEwOTE4ZmI2Zi4uMmFlMzgyZGVhNjcy
YjM2MTVhMmI2YzZhYjQ4Mzg1ZTgxNzVkNTFhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0UXVpcmtzLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGlu
Z0NvbnRleHRRdWlya3MuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiRGlzcGxheUJv
eC5oIgogI2luY2x1ZGUgIkxheW91dEJveC5oIgogI2luY2x1ZGUgIkxheW91dENvbnRhaW5lckJv
eC5oIgorI2luY2x1ZGUgIkxheW91dEluaXRpYWxDb250YWluaW5nQmxvY2suaCIKICNpbmNsdWRl
ICJMYXlvdXRTdGF0ZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvZGlzcGxheXRyZWUvRGlzcGxheVBhaW50ZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2Rpc3BsYXl0cmVlL0Rpc3BsYXlQYWludGVyLmNwcAppbmRleCA1MWIw
ZTViMmI3MDY1NGI4NTc4ODE0ZmU0YjAzYTJhYzYyZDNkMjM1Li4yNDE2NTI1ZWRlNjVjNmRhNGYy
NGJjMzRhNWIxYjc2ZDZlZGM5ZDg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
ZGlzcGxheXRyZWUvRGlzcGxheVBhaW50ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9kaXNwbGF5dHJlZS9EaXNwbGF5UGFpbnRlci5jcHAKQEAgLTM2LDYgKzM2LDcgQEAKICNpbmNs
dWRlICJJbmxpbmVUZXh0SXRlbS5oIgogI2luY2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRlICJM
YXlvdXRDb250YWluZXJCb3guaCIKKyNpbmNsdWRlICJMYXlvdXRJbml0aWFsQ29udGFpbmluZ0Js
b2NrLmgiCiAjaW5jbHVkZSAiTGF5b3V0U3RhdGUuaCIKICNpbmNsdWRlICJSZW5kZXJTdHlsZS5o
IgogI2luY2x1ZGUgIlRleHRSdW4uaCIKQEAgLTE0NSwxMSArMTQ2LDExIEBAIHN0YXRpYyBCb3gg
YWJzb2x1dGVEaXNwbGF5Qm94KGNvbnN0IExheW91dDo6TGF5b3V0U3RhdGUmIGxheW91dFN0YXRl
LCBjb25zdCBMYXlvCiAgICAgLy8gU2hvdWxkIG5ldmVyIHJlYWxseSBoYXBwZW4gYnV0IHRhYmxl
IGNvZGUgaXMgd2F5IHRvbyBpbmNvbXBsZXRlLgogICAgIGlmICghbGF5b3V0U3RhdGUuaGFzRGlz
cGxheUJveChsYXlvdXRCb3gpKQogICAgICAgICByZXR1cm4geyB9OwotICAgIGlmIChsYXlvdXRC
b3guaXNJbml0aWFsQ29udGFpbmluZ0Jsb2NrKCkpCisgICAgaWYgKGlzPExheW91dDo6SW5pdGlh
bENvbnRhaW5pbmdCbG9jaz4obGF5b3V0Qm94KSkKICAgICAgICAgcmV0dXJuIGxheW91dFN0YXRl
LmRpc3BsYXlCb3hGb3JMYXlvdXRCb3gobGF5b3V0Qm94KTsKIAogICAgIGF1dG8gYWJzb2x1dGVC
b3ggPSBCb3ggeyBsYXlvdXRTdGF0ZS5kaXNwbGF5Qm94Rm9yTGF5b3V0Qm94KGxheW91dEJveCkg
fTsKLSAgICBmb3IgKGF1dG8qIGNvbnRhaW5pbmdCbG9jayA9ICZsYXlvdXRCb3guY29udGFpbmlu
Z0Jsb2NrKCk7ICFjb250YWluaW5nQmxvY2stPmlzSW5pdGlhbENvbnRhaW5pbmdCbG9jaygpOyBj
b250YWluaW5nQmxvY2sgPSAmY29udGFpbmluZ0Jsb2NrLT5jb250YWluaW5nQmxvY2soKSkKKyAg
ICBmb3IgKGF1dG8qIGNvbnRhaW5pbmdCbG9jayA9ICZsYXlvdXRCb3guY29udGFpbmluZ0Jsb2Nr
KCk7ICFpczxMYXlvdXQ6OkluaXRpYWxDb250YWluaW5nQmxvY2s+KCpjb250YWluaW5nQmxvY2sp
OyBjb250YWluaW5nQmxvY2sgPSAmY29udGFpbmluZ0Jsb2NrLT5jb250YWluaW5nQmxvY2soKSkK
ICAgICAgICAgYWJzb2x1dGVCb3gubW92ZUJ5KGxheW91dFN0YXRlLmRpc3BsYXlCb3hGb3JMYXlv
dXRCb3goKmNvbnRhaW5pbmdCbG9jaykudG9wTGVmdCgpKTsKICAgICByZXR1cm4gYWJzb2x1dGVC
b3g7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW52YWxpZGF0aW9uL0lu
dmFsaWRhdGlvblN0YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnZhbGlkYXRpb24v
SW52YWxpZGF0aW9uU3RhdGUuY3BwCmluZGV4IGE5ZmI5ZTBmZDA5OTAyODQ4ZWUxYjJiMmZlOWUy
Yjk1MzQyYjczMjMuLjI1M2U0ZGMyOWJiYWY3NzQ3MTFmZWYyNDA5MjVhYTY5Y2FmZGI2M2MgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnZhbGlkYXRpb24vSW52YWxpZGF0aW9u
U3RhdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnZhbGlkYXRpb24vSW52YWxp
ZGF0aW9uU3RhdGUuY3BwCkBAIC00Miw3ICs0Miw3IEBAIEludmFsaWRhdGlvblN0YXRlOjpJbnZh
bGlkYXRpb25TdGF0ZSgpCiB2b2lkIEludmFsaWRhdGlvblN0YXRlOjptYXJrTmVlZHNVcGRhdGUo
Y29uc3QgQm94JiBsYXlvdXRCb3gpCiB7CiAgICAgLy8gV2UgbmV2ZXIgbGF5IG91dCB0aGUgaW5p
dGlhbCBjb250YWluaW5nIGJsb2NrLiBJdCBhbHdheXMgaGFzIHByZS1kZXRlcm1pbmVkIGdlb21l
dHJ5LgotICAgIEFTU0VSVCghbGF5b3V0Qm94LmlzSW5pdGlhbENvbnRhaW5pbmdCbG9jaygpKTsK
KyAgICBBU1NFUlQoIWlzPEluaXRpYWxDb250YWluaW5nQmxvY2s+KGxheW91dEJveCkpOwogICAg
IC8vIEZJWE1FOiBUaGlzIGlzIGp1c3QgYSBwbGFjZWhvbGRlciBpbXBsZW1lbnRhdGlvbi4KICAg
ICBtX2Zvcm1hdHRpbmdDb250ZXh0Um9vdHMuYWRkKCZsYXlvdXRCb3guZm9ybWF0dGluZ0NvbnRl
eHRSb290KCkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRy
ZWUvTGF5b3V0Qm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91
dEJveC5jcHAKaW5kZXggMTE5MmJiMjk5ZmY4ZGE1OWNlOTk3ZTQxNDcxNTYxNmRjZTk3MjQwOC4u
NTVhZmM4YWZjN2Y0NWE4MGE1NGEzYWZmNjBmMGVjN2NjNjA1YjNmMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0Qm94LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRCb3guY3BwCkBAIC0zMCw2ICszMCw3IEBA
CiAKICNpbmNsdWRlICJEaXNwbGF5Qm94LmgiCiAjaW5jbHVkZSAiTGF5b3V0Q29udGFpbmVyQm94
LmgiCisjaW5jbHVkZSAiTGF5b3V0SW5pdGlhbENvbnRhaW5pbmdCbG9jay5oIgogI2luY2x1ZGUg
IkxheW91dFBoYXNlLmgiCiAjaW5jbHVkZSAiTGF5b3V0U3RhdGUuaCIKICNpbmNsdWRlICJSZW5k
ZXJTdHlsZS5oIgpAQCAtNzAsNyArNzEsNyBAQCBib29sIEJveDo6ZXN0YWJsaXNoZXNGb3JtYXR0
aW5nQ29udGV4dCgpIGNvbnN0CiBib29sIEJveDo6ZXN0YWJsaXNoZXNCbG9ja0Zvcm1hdHRpbmdD
b250ZXh0KCkgY29uc3QKIHsKICAgICAvLyBJQ0IgYWx3YXlzIGNyZWF0ZXMgYSBuZXcgKGluaXRh
bCkgYmxvY2sgZm9ybWF0dGluZyBjb250ZXh0LgotICAgIGlmIChpc0luaXRpYWxDb250YWluaW5n
QmxvY2soKSkKKyAgICBpZiAoaXM8SW5pdGlhbENvbnRhaW5pbmdCbG9jaz4oKnRoaXMpKQogICAg
ICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIGlmIChpc1RhYmxlV3JhcHBlckJveCgpKQpAQCAtMTgz
LDcgKzE4NCw3IEBAIGNvbnN0IENvbnRhaW5lckJveCYgQm94Ojpjb250YWluaW5nQmxvY2soKSBj
b25zdAogICAgIC8vIEZpbmRpbmcgdGhlIGNvbnRhaW5pbmcgYmxvY2sgYnkgdHJhdmVyc2luZyB0
aGUgdHJlZSBkdXJpbmcgdHJlZSBjb25zdHJ1Y3Rpb24gY291bGQgcHJvdmlkZSBpbmNvcnJlY3Qg
cmVzdWx0LgogICAgIEFTU0VSVCghUGhhc2U6OmlzSW5UcmVlQnVpbGRpbmcoKSk7CiAgICAgLy8g
SWYgd2UgZXZlciBlbmQgdXAgaGVyZSB3aXRoIHRoZSBJQ0IsIHdlIG11c3QgYmUgZG9pbmcgc29t
ZXRoaW5nIG5vdC1zby1ncmVhdC4KLSAgICBSRUxFQVNFX0FTU0VSVCghaXNJbml0aWFsQ29udGFp
bmluZ0Jsb2NrKCkpOworICAgIFJFTEVBU0VfQVNTRVJUKCFpczxJbml0aWFsQ29udGFpbmluZ0Js
b2NrPigqdGhpcykpOwogICAgIC8vIFRoZSBjb250YWluaW5nIGJsb2NrIGluIHdoaWNoIHRoZSBy
b290IGVsZW1lbnQgbGl2ZXMgaXMgYSByZWN0YW5nbGUgY2FsbGVkIHRoZSBpbml0aWFsIGNvbnRh
aW5pbmcgYmxvY2suCiAgICAgLy8gRm9yIG90aGVyIGVsZW1lbnRzLCBpZiB0aGUgZWxlbWVudCdz
IHBvc2l0aW9uIGlzICdyZWxhdGl2ZScgb3IgJ3N0YXRpYycsIHRoZSBjb250YWluaW5nIGJsb2Nr
IGlzIGZvcm1lZCBieSB0aGUKICAgICAvLyBjb250ZW50IGVkZ2Ugb2YgdGhlIG5lYXJlc3QgYmxv
Y2sgY29udGFpbmVyIGFuY2VzdG9yIGJveCBvciB3aGljaCBlc3RhYmxpc2hlcyBhIGZvcm1hdHRp
bmcgY29udGV4dC4KQEAgLTE5Miw3ICsxOTMsNyBAQCBjb25zdCBDb250YWluZXJCb3gmIEJveDo6
Y29udGFpbmluZ0Jsb2NrKCkgY29uc3QKICAgICAvLyAncG9zaXRpb24nIG9mICdhYnNvbHV0ZScs
ICdyZWxhdGl2ZScgb3IgJ2ZpeGVkJy4KICAgICBpZiAoIWlzUG9zaXRpb25lZCgpIHx8IGlzSW5G
bG93UG9zaXRpb25lZCgpKSB7CiAgICAgICAgIGF1dG8qIGFuY2VzdG9yID0gcGFyZW50KCk7Ci0g
ICAgICAgIGZvciAoOyAhYW5jZXN0b3ItPmlzSW5pdGlhbENvbnRhaW5pbmdCbG9jaygpOyBhbmNl
c3RvciA9IGFuY2VzdG9yLT5wYXJlbnQoKSkgeworICAgICAgICBmb3IgKDsgIWlzPEluaXRpYWxD
b250YWluaW5nQmxvY2s+KCphbmNlc3Rvcik7IGFuY2VzdG9yID0gYW5jZXN0b3ItPnBhcmVudCgp
KSB7CiAgICAgICAgICAgICBpZiAoYW5jZXN0b3ItPmlzQmxvY2tDb250YWluZXJCb3goKSB8fCBh
bmNlc3Rvci0+ZXN0YWJsaXNoZXNGb3JtYXR0aW5nQ29udGV4dCgpKQogICAgICAgICAgICAgICAg
IHJldHVybiAqYW5jZXN0b3I7CiAgICAgICAgIH0KQEAgLTIwMSw3ICsyMDIsNyBAQCBjb25zdCBD
b250YWluZXJCb3gmIEJveDo6Y29udGFpbmluZ0Jsb2NrKCkgY29uc3QKIAogICAgIGlmIChpc0Zp
eGVkUG9zaXRpb25lZCgpKSB7CiAgICAgICAgIGF1dG8qIGFuY2VzdG9yID0gcGFyZW50KCk7Ci0g
ICAgICAgIGZvciAoOyAhYW5jZXN0b3ItPmlzSW5pdGlhbENvbnRhaW5pbmdCbG9jaygpOyBhbmNl
c3RvciA9IGFuY2VzdG9yLT5wYXJlbnQoKSkgeworICAgICAgICBmb3IgKDsgIWlzPEluaXRpYWxD
b250YWluaW5nQmxvY2s+KCphbmNlc3Rvcik7IGFuY2VzdG9yID0gYW5jZXN0b3ItPnBhcmVudCgp
KSB7CiAgICAgICAgICAgICBpZiAoYW5jZXN0b3ItPnN0eWxlKCkuaGFzVHJhbnNmb3JtKCkpCiAg
ICAgICAgICAgICAgICAgcmV0dXJuICphbmNlc3RvcjsKICAgICAgICAgfQpAQCAtMjEwLDcgKzIx
MSw3IEBAIGNvbnN0IENvbnRhaW5lckJveCYgQm94Ojpjb250YWluaW5nQmxvY2soKSBjb25zdAog
CiAgICAgaWYgKGlzT3V0T2ZGbG93UG9zaXRpb25lZCgpKSB7CiAgICAgICAgIGF1dG8qIGFuY2Vz
dG9yID0gcGFyZW50KCk7Ci0gICAgICAgIGZvciAoOyAhYW5jZXN0b3ItPmlzSW5pdGlhbENvbnRh
aW5pbmdCbG9jaygpOyBhbmNlc3RvciA9IGFuY2VzdG9yLT5wYXJlbnQoKSkgeworICAgICAgICBm
b3IgKDsgIWlzPEluaXRpYWxDb250YWluaW5nQmxvY2s+KCphbmNlc3Rvcik7IGFuY2VzdG9yID0g
YW5jZXN0b3ItPnBhcmVudCgpKSB7CiAgICAgICAgICAgICBpZiAoYW5jZXN0b3ItPmlzUG9zaXRp
b25lZCgpIHx8IGFuY2VzdG9yLT5zdHlsZSgpLmhhc1RyYW5zZm9ybSgpKQogICAgICAgICAgICAg
ICAgIHJldHVybiAqYW5jZXN0b3I7CiAgICAgICAgIH0KQEAgLTIyNiw3ICsyMjcsNyBAQCBjb25z
dCBDb250YWluZXJCb3gmIEJveDo6Zm9ybWF0dGluZ0NvbnRleHRSb290KCkgY29uc3QKICAgICAv
LyBGaW5kaW5nIHRoZSBjb250ZXh0IHJvb3QgYnkgdHJhdmVyc2luZyB0aGUgdHJlZSBkdXJpbmcg
dHJlZSBjb25zdHJ1Y3Rpb24gY291bGQgcHJvdmlkZSBpbmNvcnJlY3QgcmVzdWx0LgogICAgIEFT
U0VSVCghUGhhc2U6OmlzSW5UcmVlQnVpbGRpbmcoKSk7CiAgICAgLy8gV2Ugc2hvdWxkIG5ldmVy
IG5lZWQgdG8gYXNrIHRoaXMgcXVlc3Rpb24gb24gdGhlIElDQi4KLSAgICBBU1NFUlQoIWlzSW5p
dGlhbENvbnRhaW5pbmdCbG9jaygpKTsKKyAgICBBU1NFUlQoIWlzPEluaXRpYWxDb250YWluaW5n
QmxvY2s+KCp0aGlzKSk7CiAgICAgLy8gQSBib3ggbGl2ZXMgaW4gdGhlIHNhbWUgZm9ybWF0dGlu
ZyBjb250ZXh0IGFzIGl0cyBjb250YWluaW5nIGJsb2NrIHVubGVzcyB0aGUgY29udGFpbmluZyBi
bG9jayBlc3RhYmxpc2hlcyBhIGZvcm1hdHRpbmcgY29udGV4dC4KICAgICAvLyBIb3dldmVyIHJl
bGF0aXZlbHkgcG9zaXRpb25lZCAoaW5mbG93KSBpbmxpbmUgY29udGFpbmVyIGxpdmVzIGluIHRo
ZSBmb3JtYXR0aW5nIGNvbnRleHQgd2hlcmUgaXRzIHBhcmVudCBsaXZlcyB1bmxlc3MKICAgICAv
LyB0aGUgcGFyZW50IGVzdGFibGlzaGVzIGEgZm9ybWF0dGluZyBjb250ZXh0LgpAQCAtMjQwLDI2
ICsyNDEsMjYgQEAgY29uc3QgQ29udGFpbmVyQm94JiBCb3g6OmZvcm1hdHRpbmdDb250ZXh0Um9v
dCgpIGNvbnN0CiAgICAgcmV0dXJuIGFuY2VzdG9yLmZvcm1hdHRpbmdDb250ZXh0Um9vdCgpOwog
fQogCi1jb25zdCBDb250YWluZXJCb3gmIEJveDo6aW5pdGlhbENvbnRhaW5pbmdCbG9jaygpIGNv
bnN0Citjb25zdCBJbml0aWFsQ29udGFpbmluZ0Jsb2NrJiBCb3g6OmluaXRpYWxDb250YWluaW5n
QmxvY2soKSBjb25zdAogewotICAgIGlmIChpc0luaXRpYWxDb250YWluaW5nQmxvY2soKSkKLSAg
ICAgICAgcmV0dXJuIGRvd25jYXN0PENvbnRhaW5lckJveD4oKnRoaXMpOworICAgIGlmIChpczxJ
bml0aWFsQ29udGFpbmluZ0Jsb2NrPigqdGhpcykpCisgICAgICAgIHJldHVybiBkb3duY2FzdDxJ
bml0aWFsQ29udGFpbmluZ0Jsb2NrPigqdGhpcyk7CiAKICAgICBhdXRvKiBhbmNlc3RvciA9IHBh
cmVudCgpOwogICAgIGZvciAoOyBhbmNlc3Rvci0+cGFyZW50KCk7IGFuY2VzdG9yID0gYW5jZXN0
b3ItPnBhcmVudCgpKSB7IH0KIAotICAgIHJldHVybiAqYW5jZXN0b3I7CisgICAgcmV0dXJuIGRv
d25jYXN0PEluaXRpYWxDb250YWluaW5nQmxvY2s+KCphbmNlc3Rvcik7CiB9CiAKIGJvb2wgQm94
Ojppc0luRm9ybWF0dGluZ0NvbnRleHRPZihjb25zdCBDb250YWluZXJCb3gmIGZvcm1hdHRpbmdD
b250ZXh0Um9vdCkgY29uc3QKIHsgCiAgICAgQVNTRVJUKGZvcm1hdHRpbmdDb250ZXh0Um9vdC5l
c3RhYmxpc2hlc0Zvcm1hdHRpbmdDb250ZXh0KCkpOwotICAgIEFTU0VSVCghaXNJbml0aWFsQ29u
dGFpbmluZ0Jsb2NrKCkpOworICAgIEFTU0VSVCghaXM8SW5pdGlhbENvbnRhaW5pbmdCbG9jaz4o
KnRoaXMpKTsKICAgICBhdXRvKiBhbmNlc3RvciA9ICZjb250YWluaW5nQmxvY2soKTsKICAgICB3
aGlsZSAoYW5jZXN0b3IpIHsKICAgICAgICAgaWYgKGFuY2VzdG9yID09ICZmb3JtYXR0aW5nQ29u
dGV4dFJvb3QpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgaWYgKGFuY2VzdG9y
LT5pc0luaXRpYWxDb250YWluaW5nQmxvY2soKSkKKyAgICAgICAgaWYgKGlzPEluaXRpYWxDb250
YWluaW5nQmxvY2s+KCphbmNlc3RvcikpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
ICAgIGFuY2VzdG9yID0gJmFuY2VzdG9yLT5jb250YWluaW5nQmxvY2soKTsKICAgICB9CkBAIC0z
NjAsNyArMzYxLDcgQEAgYm9vbCBCb3g6OmlzT3ZlcmZsb3dWaXNpYmxlKCkgY29uc3QKICAgICAg
ICAgICAgIHJldHVybiBpc092ZXJmbG93VmlzaWJsZTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAg
ICAgfQotICAgIGlmIChpc0luaXRpYWxDb250YWluaW5nQmxvY2soKSkgeworICAgIGlmIChpczxJ
bml0aWFsQ29udGFpbmluZ0Jsb2NrPigqdGhpcykpIHsKICAgICAgICAgYXV0byogZG9jdW1lbnRC
b3ggPSBkb3duY2FzdDxDb250YWluZXJCb3g+KCp0aGlzKS5maXJzdENoaWxkKCk7CiAgICAgICAg
IGlmICghZG9jdW1lbnRCb3ggfHwgIWRvY3VtZW50Qm94LT5pc0RvY3VtZW50Qm94KCkgfHwgIWlz
PENvbnRhaW5lckJveD4oZG9jdW1lbnRCb3gpKQogICAgICAgICAgICAgcmV0dXJuIGlzT3ZlcmZs
b3dWaXNpYmxlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUv
TGF5b3V0Qm94LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRCb3gu
aAppbmRleCBmZDg3OTlmNDUwYjQ4MjVlMjY1NjQyMjYyYjk3MGI2YzgzZmM2ZDk4Li44NmQxYjhh
OWM4YjA1ODhhNjZlZmU5ZWVjYTIxOTE2NmVjN2EwMTYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRCb3guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRCb3guaApAQCAtNDAsNiArNDAsNyBAQCBjbGFzcyBCb3g7
CiBuYW1lc3BhY2UgTGF5b3V0IHsKIAogY2xhc3MgQ29udGFpbmVyQm94OworY2xhc3MgSW5pdGlh
bENvbnRhaW5pbmdCbG9jazsKIGNsYXNzIExheW91dFN0YXRlOwogY2xhc3MgVHJlZUJ1aWxkZXI7
CiAKQEAgLTYxLDEyICs2MiwxMiBAQCBwdWJsaWM6CiAgICAgfTsKIAogICAgIGVudW0gQmFzZVR5
cGVGbGFnIHsKLSAgICAgICAgQm94RmxhZyAgICAgICAgICAgICAgICA9IDEgPDwgMCwKLSAgICAg
ICAgSW5saW5lVGV4dEJveCAgICAgICAgICA9IDEgPDwgMSwKLSAgICAgICAgTGluZUJyZWFrQm94
ICAgICAgICAgICA9IDEgPDwgMiwKLSAgICAgICAgUmVwbGFjZWRCb3ggICAgICAgICAgICA9IDEg
PDwgMywKLSAgICAgICAgSW5pdGlhbENvbnRhaW5pbmdCbG9jayA9IDEgPDwgNCwKLSAgICAgICAg
Q29udGFpbmVyQm94RmxhZyAgICAgICA9IDEgPDwgNQorICAgICAgICBCb3hGbGFnICAgICAgICAg
ICAgICAgICAgICA9IDEgPDwgMCwKKyAgICAgICAgSW5saW5lVGV4dEJveEZsYWcgICAgICAgICAg
PSAxIDw8IDEsCisgICAgICAgIExpbmVCcmVha0JveEZsYWcgICAgICAgICAgID0gMSA8PCAyLAor
ICAgICAgICBSZXBsYWNlZEJveEZsYWcgICAgICAgICAgICA9IDEgPDwgMywKKyAgICAgICAgSW5p
dGlhbENvbnRhaW5pbmdCbG9ja0ZsYWcgPSAxIDw8IDQsCisgICAgICAgIENvbnRhaW5lckJveEZs
YWcgICAgICAgICAgID0gMSA8PCA1CiAgICAgfTsKICAgICB0eXBlZGVmIHVuc2lnbmVkIEJhc2VU
eXBlRmxhZ3M7CiAKQEAgLTk2LDcgKzk3LDcgQEAgcHVibGljOgogCiAgICAgY29uc3QgQ29udGFp
bmVyQm94JiBjb250YWluaW5nQmxvY2soKSBjb25zdDsKICAgICBjb25zdCBDb250YWluZXJCb3gm
IGZvcm1hdHRpbmdDb250ZXh0Um9vdCgpIGNvbnN0OwotICAgIGNvbnN0IENvbnRhaW5lckJveCYg
aW5pdGlhbENvbnRhaW5pbmdCbG9jaygpIGNvbnN0OworICAgIGNvbnN0IEluaXRpYWxDb250YWlu
aW5nQmxvY2smIGluaXRpYWxDb250YWluaW5nQmxvY2soKSBjb25zdDsKIAogICAgIGJvb2wgaXNJ
bkZvcm1hdHRpbmdDb250ZXh0T2YoY29uc3QgQ29udGFpbmVyQm94JikgY29uc3Q7CiAKQEAgLTEw
OSw3ICsxMTAsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0lubGluZUJsb2NrQm94KCkgY29uc3Q7
CiAgICAgYm9vbCBpc0lubGluZVRhYmxlQm94KCkgY29uc3Q7CiAgICAgYm9vbCBpc0Jsb2NrQ29u
dGFpbmVyQm94KCkgY29uc3Q7Ci0gICAgYm9vbCBpc0luaXRpYWxDb250YWluaW5nQmxvY2soKSBj
b25zdCB7IHJldHVybiBtX2Jhc2VUeXBlRmxhZ3MgJiBJbml0aWFsQ29udGFpbmluZ0Jsb2NrOyB9
CisgICAgYm9vbCBpc0luaXRpYWxDb250YWluaW5nQmxvY2soKSBjb25zdCB7IHJldHVybiBtX2Jh
c2VUeXBlRmxhZ3MgJiBJbml0aWFsQ29udGFpbmluZ0Jsb2NrRmxhZzsgfQogCiAgICAgYm9vbCBp
c0RvY3VtZW50Qm94KCkgY29uc3QgeyByZXR1cm4gbV9lbGVtZW50QXR0cmlidXRlcyAmJiBtX2Vs
ZW1lbnRBdHRyaWJ1dGVzLnZhbHVlKCkuZWxlbWVudFR5cGUgPT0gRWxlbWVudFR5cGU6OkRvY3Vt
ZW50OyB9CiAgICAgYm9vbCBpc0JvZHlCb3goKSBjb25zdCB7IHJldHVybiBtX2VsZW1lbnRBdHRy
aWJ1dGVzICYmIG1fZWxlbWVudEF0dHJpYnV0ZXMudmFsdWUoKS5lbGVtZW50VHlwZSA9PSBFbGVt
ZW50VHlwZTo6Qm9keTsgfQpAQCAtMTM4LDkgKzEzOSw5IEBAIHB1YmxpYzoKICAgICBCb3gqIG5l
eHRTaWJsaW5nKCkgeyByZXR1cm4gbV9uZXh0U2libGluZzsgfQogCiAgICAgYm9vbCBpc0NvbnRh
aW5lckJveCgpIGNvbnN0IHsgcmV0dXJuIG1fYmFzZVR5cGVGbGFncyAmIENvbnRhaW5lckJveEZs
YWc7IH0KLSAgICBib29sIGlzSW5saW5lVGV4dEJveCgpIGNvbnN0IHsgcmV0dXJuIG1fYmFzZVR5
cGVGbGFncyAmIElubGluZVRleHRCb3g7IH0KLSAgICBib29sIGlzTGluZUJyZWFrQm94KCkgY29u
c3QgeyByZXR1cm4gbV9iYXNlVHlwZUZsYWdzICYgTGluZUJyZWFrQm94OyB9Ci0gICAgYm9vbCBp
c1JlcGxhY2VkQm94KCkgY29uc3QgeyByZXR1cm4gbV9iYXNlVHlwZUZsYWdzICYgUmVwbGFjZWRC
b3g7IH0KKyAgICBib29sIGlzSW5saW5lVGV4dEJveCgpIGNvbnN0IHsgcmV0dXJuIG1fYmFzZVR5
cGVGbGFncyAmIElubGluZVRleHRCb3hGbGFnOyB9CisgICAgYm9vbCBpc0xpbmVCcmVha0JveCgp
IGNvbnN0IHsgcmV0dXJuIG1fYmFzZVR5cGVGbGFncyAmIExpbmVCcmVha0JveEZsYWc7IH0KKyAg
ICBib29sIGlzUmVwbGFjZWRCb3goKSBjb25zdCB7IHJldHVybiBtX2Jhc2VUeXBlRmxhZ3MgJiBS
ZXBsYWNlZEJveEZsYWc7IH0KIAogICAgIGJvb2wgaXNQYWRkaW5nQXBwbGljYWJsZSgpIGNvbnN0
OwogICAgIGJvb2wgaXNPdmVyZmxvd1Zpc2libGUoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dEluaXRpYWxDb250YWluaW5nQmxvY2su
Y3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0SW5pdGlhbENvbnRh
aW5pbmdCbG9jay5jcHAKaW5kZXggYzAzNDliYzk2YzkyNWQ3NzQ4OWYzOGE2OWE3MGE2ODYwMTFh
NGQwNC4uYWM0Y2RmNzBlMDk5NWZjNjJkMGI4NTlmNGRhYzYwMGVkNjJkMjViZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0SW5pdGlhbENvbnRhaW5p
bmdCbG9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0
SW5pdGlhbENvbnRhaW5pbmdCbG9jay5jcHAKQEAgLTM3LDcgKzM3LDcgQEAgbmFtZXNwYWNlIExh
eW91dCB7CiBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoSW5pdGlhbENvbnRhaW5pbmdCbG9j
ayk7CiAKIEluaXRpYWxDb250YWluaW5nQmxvY2s6OkluaXRpYWxDb250YWluaW5nQmxvY2soUmVu
ZGVyU3R5bGUmJiBzdHlsZSkKLSAgICA6IENvbnRhaW5lckJveCh7IH0sIFdURk1vdmUoc3R5bGUp
LCBCb3g6OkluaXRpYWxDb250YWluaW5nQmxvY2spCisgICAgOiBDb250YWluZXJCb3goeyB9LCBX
VEZNb3ZlKHN0eWxlKSwgQm94OjpJbml0aWFsQ29udGFpbmluZ0Jsb2NrRmxhZykKIHsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0SW5saW5l
VGV4dEJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRJbmxp
bmVUZXh0Qm94LmNwcAppbmRleCAyYjg3YzQ3ZTYxNjA5YWU2ODFlZGNhMTFiYzcxOTZhMmEyODBl
MjhjLi45NTg3YjY5NTZjNjk3NDlmOWFhZGI4ZGQ1MWU3N2Y4ZDA2MzJlMWFjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRJbmxpbmVUZXh0Qm94LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRJbmxpbmVUZXh0
Qm94LmNwcApAQCAtMzcsNyArMzcsNyBAQCBuYW1lc3BhY2UgTGF5b3V0IHsKIFdURl9NQUtFX0lT
T19BTExPQ0FURURfSU1QTChJbmxpbmVUZXh0Qm94KTsKIAogSW5saW5lVGV4dEJveDo6SW5saW5l
VGV4dEJveChTdHJpbmcgY29udGVudCwgYm9vbCBjYW5Vc2VTaW1wbGlmaWVkQ29udGVudE1lYXN1
cmluZywgUmVuZGVyU3R5bGUmJiBzdHlsZSkKLSAgICA6IEJveCh7IH0sIFdURk1vdmUoc3R5bGUp
LCBCb3g6OklubGluZVRleHRCb3gpCisgICAgOiBCb3goeyB9LCBXVEZNb3ZlKHN0eWxlKSwgQm94
OjpJbmxpbmVUZXh0Qm94RmxhZykKICAgICAsIG1fY29udGVudChjb250ZW50KQogICAgICwgbV9j
YW5Vc2VTaW1wbGlmaWVkQ29udGVudE1lYXN1cmluZyhjYW5Vc2VTaW1wbGlmaWVkQ29udGVudE1l
YXN1cmluZykKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVl
L0xheW91dExpbmVCcmVha0JveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJl
ZS9MYXlvdXRMaW5lQnJlYWtCb3guY3BwCmluZGV4IGUyNTc2NWJiZjc2YzhjMGQ2YzE1MDFlMTkw
YWE0NWNmZjQyZTY4OTcuLmFhMDBiODY3NzQyOTBkMDk3OWRiZDY5MzJjOGIzZWEzYTViOWEyNDMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dExpbmVC
cmVha0JveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0
TGluZUJyZWFrQm94LmNwcApAQCAtMzcsNyArMzcsNyBAQCBuYW1lc3BhY2UgTGF5b3V0IHsKIFdU
Rl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChMaW5lQnJlYWtCb3gpOwogCiBMaW5lQnJlYWtCb3g6
OkxpbmVCcmVha0JveChib29sIGlzT3B0aW9uYWwsIFJlbmRlclN0eWxlJiYgc3R5bGUpCi0gICAg
OiBCb3goeyB9LCBXVEZNb3ZlKHN0eWxlKSwgQm94OjpMaW5lQnJlYWtCb3gpCisgICAgOiBCb3go
eyB9LCBXVEZNb3ZlKHN0eWxlKSwgQm94OjpMaW5lQnJlYWtCb3hGbGFnKQogICAgICwgbV9pc09w
dGlvbmFsKGlzT3B0aW9uYWwpCiB7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvbGF5b3V0dHJlZS9MYXlvdXRSZXBsYWNlZEJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvbGF5b3V0dHJlZS9MYXlvdXRSZXBsYWNlZEJveC5jcHAKaW5kZXggNWM0ZDIwZmE5OTdiMzlm
ODVjNTdhODQxOTQwZWVlYTZjOTZkNDg1Zi4uYjY5MGVmZTE3MDM4YTUxMmFmMjAzNTFlMmU1MDAw
ZTFlYWVjYjA2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUv
TGF5b3V0UmVwbGFjZWRCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0
cmVlL0xheW91dFJlcGxhY2VkQm94LmNwcApAQCAtMzcsNyArMzcsNyBAQCBuYW1lc3BhY2UgTGF5
b3V0IHsKIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChSZXBsYWNlZEJveCk7CiAKIFJlcGxh
Y2VkQm94OjpSZXBsYWNlZEJveChSZW5kZXJTdHlsZSYmIHN0eWxlKQotICAgIDogQm94KHsgfSwg
V1RGTW92ZShzdHlsZSksIEJveDo6UmVwbGFjZWRCb3gpCisgICAgOiBCb3goeyB9LCBXVEZNb3Zl
KHN0eWxlKSwgQm94OjpSZXBsYWNlZEJveEZsYWcpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dFRyZWVCdWlsZGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dFRyZWVCdWlsZGVyLmNwcAppbmRleCBm
YWJlOTU3YjVmNDdjNjY5NmVlMmM4MmZiOGYyODhjYjE3MTE4MTNlLi43YmI5MWYzZDZlOTQ5NjZh
NjM0YTVmMmQyYTRjY2UzNmRhMWRlYmVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvbGF5b3V0dHJlZS9MYXlvdXRUcmVlQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2xheW91dHRyZWUvTGF5b3V0VHJlZUJ1aWxkZXIuY3BwCkBAIC0zOTQsNyArMzk0LDcg
QEAgc3RhdGljIHZvaWQgb3V0cHV0TGF5b3V0Qm94KFRleHRTdHJlYW0mIHN0cmVhbSwgY29uc3Qg
Qm94JiBsYXlvdXRCb3gsIGNvbnN0IERpc3AKICAgICBpZiAobGF5b3V0Qm94LmlzRmxvYXRpbmdQ
b3NpdGlvbmVkKCkpCiAgICAgICAgIHN0cmVhbSA8PCAiW2Zsb2F0XSAiOwogCi0gICAgaWYgKGxh
eW91dEJveC5pc0luaXRpYWxDb250YWluaW5nQmxvY2soKSkKKyAgICBpZiAoaXM8SW5pdGlhbENv
bnRhaW5pbmdCbG9jaz4obGF5b3V0Qm94KSkKICAgICAgICAgc3RyZWFtIDw8ICJJbml0aWFsIGNv
bnRhaW5pbmcgYmxvY2siOwogICAgIGVsc2UgaWYgKGxheW91dEJveC5pc0RvY3VtZW50Qm94KCkp
CiAgICAgICAgIHN0cmVhbSA8PCAiSFRNTCI7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>