<?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>230921</bug_id>
          
          <creation_ts>2021-09-28 15:58:01 -0700</creation_ts>
          <short_desc>[LFC][IFC] Layout::Box should be able to return the first-line style when applicable</short_desc>
          <delta_ts>2021-09-29 10:59:16 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1798089</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2021-09-28 15:58:01 -0700</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798092</commentid>
    <comment_count>1</comment_count>
      <attachid>439540</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-09-28 16:03:34 -0700</bug_when>
    <thetext>Created attachment 439540
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798308</commentid>
    <comment_count>2</comment_count>
      <attachid>439540</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-09-29 07:12:01 -0700</bug_when>
    <thetext>Comment on attachment 439540
Patch

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

&gt; Source/WebCore/layout/integration/LayoutIntegrationBoxTree.cpp:78
&gt; +        std::unique_ptr&lt;RenderStyle&gt; firstLineStyle;
&gt; +        if (childRenderer.style() != childRenderer.firstLineStyle())
&gt; +            firstLineStyle = RenderStyle::clonePtr(childRenderer.firstLineStyle());

I think this can even do faster

if (&amp;renderer.style() != &amp;renderer.firstLineStyle())

&gt; Source/WebCore/layout/integration/LayoutIntegrationBoxTree.cpp:167
&gt; +        if (renderer.style() != renderer.firstLineStyle())

This too</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798414</commentid>
    <comment_count>3</comment_count>
      <attachid>439618</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-09-29 09:59:13 -0700</bug_when>
    <thetext>Created attachment 439618
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798450</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-09-29 10:58:40 -0700</bug_when>
    <thetext>Committed r283234 (242276@main): &lt;https://commits.webkit.org/242276@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 439618.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798452</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-09-29 10:59:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/83679025&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439540</attachid>
            <date>2021-09-28 16:03:34 -0700</date>
            <delta_ts>2021-09-29 09:59:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230921-20210928160333.patch</filename>
            <type>text/plain</type>
            <size>20605</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzMTc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDVmN2FkY2E1NmUwYjQ3
MTgwZWVlOTllN2IyMzRjNWFhOTU0N2ZmYS4uNzgzMGY4YzEwM2JkOTUxNGU2NWMyMjQ4MGY1ZWMy
NjAxZDBkMThjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDIxLTA5LTI4ICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIExheW91dDo6
Qm94IHNob3VsZCBiZSBhYmxlIHRvIHJldHVybiB0aGUgZmlyc3QtbGluZSBzdHlsZSB3aGVuIGFw
cGxpY2FibGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIzMDkyMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRoaXMgaXMgaW4gcHJlcGFyYXRpb24gZm9yIHN1cHBvcnRpbmcgZmlyc3QtbGluZSBzdHlsZS4K
KworICAgICAgICAqIGxheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkJveFRyZWUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246OnJvb3RCb3hGaXJzdExp
bmVTdHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6Qm94VHJlZTo6
Qm94VHJlZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6Qm94VHJlZTo6
YnVpbGRUcmVlKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpCb3hUcmVl
Ojp1cGRhdGVTdHlsZSk6CisgICAgICAgICogbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0Qm94LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Qm94OjpCb3gpOiBVc2UgdGhlIHJhcmUgZGF0
YSB0byBzdG9yZSBmaXJzdC1saW5lIHN0eWxlLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpC
b3g6OnVwZGF0ZVN0eWxlKToKKyAgICAgICAgKiBsYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRCb3gu
aDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Qm94OjpmaXJzdExpbmVTdHlsZSBjb25zdCk6
CisgICAgICAgICogbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0Q29udGFpbmVyQm94LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6Q29udGFpbmVyQm94OjpDb250YWluZXJCb3gpOgorICAg
ICAgICAqIGxheW91dC9sYXlvdXR0cmVlL0xheW91dENvbnRhaW5lckJveC5oOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpDb250YWluZXJCb3g6OkNvbnRhaW5lckJveCk6CisgICAgICAgICog
bGF5b3V0L2xheW91dHRyZWUvTGF5b3V0SW5pdGlhbENvbnRhaW5pbmdCbG9jay5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OkluaXRpYWxDb250YWluaW5nQmxvY2s6OkluaXRpYWxDb250
YWluaW5nQmxvY2spOgorICAgICAgICAqIGxheW91dC9sYXlvdXR0cmVlL0xheW91dEluaXRpYWxD
b250YWluaW5nQmxvY2suaDoKKyAgICAgICAgKiBsYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRJbmxp
bmVUZXh0Qm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lVGV4dEJveDo6
SW5saW5lVGV4dEJveCk6CisgICAgICAgICogbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0SW5saW5l
VGV4dEJveC5oOgorICAgICAgICAqIGxheW91dC9sYXlvdXR0cmVlL0xheW91dExpbmVCcmVha0Jv
eC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCcmVha0JveDo6TGluZUJyZWFr
Qm94KToKKyAgICAgICAgKiBsYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRMaW5lQnJlYWtCb3guaDoK
KyAgICAgICAgKiBsYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRSZXBsYWNlZEJveC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OlJlcGxhY2VkQm94OjpSZXBsYWNlZEJveCk6CisgICAgICAg
ICogbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0UmVwbGFjZWRCb3guaDoKKwogMjAyMS0wOS0yOCAg
QWxpY2lhIEJveWEgR2FyY8OtYSAgPGFib3lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW01TRV1b
R1N0cmVhbWVyXSBEb24ndCBjcmVhdGUgTWVkaWFTb3VyY2VUcmFja0dTdHJlYW1lciBvYmplY3Rz
IHR3aWNlIGZvciB0aGUgc2FtZSB0cmFjawpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uQm94VHJlZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Cb3hUcmVlLmNwcAppbmRl
eCAzYmRjMzJiYWZkMDAwZDE0MjA2ODcwNjIyZWNjMWE4MDQ5YTNjZDVmLi5hNzQ4ZTU1ZjZkMDI2
MjJlNjk3MjY1M2I3MjZkZWY4NzVjYTI5MjhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Cb3hUcmVlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Cb3hUcmVlLmNw
cApAQCAtNTAsOSArNTAsMTkgQEAgc3RhdGljIFJlbmRlclN0eWxlIHJvb3RCb3hTdHlsZShjb25z
dCBSZW5kZXJTdHlsZSYgc3R5bGUpCiAgICAgcmV0dXJuIGNsb25lZFN0eWxlOwogfQogCitzdGF0
aWMgc3RkOjp1bmlxdWVfcHRyPFJlbmRlclN0eWxlPiByb290Qm94Rmlyc3RMaW5lU3R5bGUoY29u
c3QgUmVuZGVyQmxvY2tGbG93JiByb290KQoreworICAgIGF1dG8mIGZpcnN0TGluZVN0eWxlID0g
cm9vdC5maXJzdExpbmVTdHlsZSgpOworICAgIGlmIChyb290LnN0eWxlKCkgPT0gZmlyc3RMaW5l
U3R5bGUpCisgICAgICAgIHJldHVybiB7IH07CisgICAgYXV0byBjbG9uZWRTdHlsZSA9IFJlbmRl
clN0eWxlOjpjbG9uZVB0cihmaXJzdExpbmVTdHlsZSk7CisgICAgY2xvbmVkU3R5bGUtPnNldEVm
ZmVjdGl2ZURpc3BsYXkoRGlzcGxheVR5cGU6OkJsb2NrKTsKKyAgICByZXR1cm4gY2xvbmVkU3R5
bGU7Cit9CisKIEJveFRyZWU6OkJveFRyZWUoUmVuZGVyQmxvY2tGbG93JiBmbG93KQogICAgIDog
bV9mbG93KGZsb3cpCi0gICAgLCBtX3Jvb3Qocm9vdEJveFN0eWxlKGZsb3cuc3R5bGUoKSkpCisg
ICAgLCBtX3Jvb3Qocm9vdEJveFN0eWxlKGZsb3cuc3R5bGUoKSksIHJvb3RCb3hGaXJzdExpbmVT
dHlsZShmbG93KSkKIHsKICAgICBpZiAoZmxvdy5pc0Fub255bW91cygpKQogICAgICAgICBtX3Jv
b3Quc2V0SXNBbm9ueW1vdXMoKTsKQEAgLTYzLDI3ICs3MywzNyBAQCBCb3hUcmVlOjpCb3hUcmVl
KFJlbmRlckJsb2NrRmxvdyYgZmxvdykKIHZvaWQgQm94VHJlZTo6YnVpbGRUcmVlKCkKIHsKICAg
ICBhdXRvIGNyZWF0ZUNoaWxkQm94ID0gWyZdKFJlbmRlck9iamVjdCYgY2hpbGRSZW5kZXJlcikg
LT4gc3RkOjp1bmlxdWVfcHRyPExheW91dDo6Qm94PiB7CisgICAgICAgIHN0ZDo6dW5pcXVlX3B0
cjxSZW5kZXJTdHlsZT4gZmlyc3RMaW5lU3R5bGU7CisgICAgICAgIGlmIChjaGlsZFJlbmRlcmVy
LnN0eWxlKCkgIT0gY2hpbGRSZW5kZXJlci5maXJzdExpbmVTdHlsZSgpKQorICAgICAgICAgICAg
Zmlyc3RMaW5lU3R5bGUgPSBSZW5kZXJTdHlsZTo6Y2xvbmVQdHIoY2hpbGRSZW5kZXJlci5maXJz
dExpbmVTdHlsZSgpKTsKKwogICAgICAgICBpZiAoaXM8UmVuZGVyVGV4dD4oY2hpbGRSZW5kZXJl
cikpIHsKICAgICAgICAgICAgIGF1dG8mIHRleHRSZW5kZXJlciA9IGRvd25jYXN0PFJlbmRlclRl
eHQ+KGNoaWxkUmVuZGVyZXIpOwogICAgICAgICAgICAgYXV0byBzdHlsZSA9IFJlbmRlclN0eWxl
OjpjcmVhdGVBbm9ueW1vdXNTdHlsZVdpdGhEaXNwbGF5KHRleHRSZW5kZXJlci5zdHlsZSgpLCBE
aXNwbGF5VHlwZTo6SW5saW5lKTsKICAgICAgICAgICAgIHJldHVybiBtYWtlVW5pcXVlPExheW91
dDo6SW5saW5lVGV4dEJveD4oCiAgICAgICAgICAgICAgICAgc3R5bGUudGV4dFNlY3VyaXR5KCkg
PT0gVGV4dFNlY3VyaXR5OjpOb25lID8gdGV4dFJlbmRlcmVyLnRleHQoKSA6IFJlbmRlckJsb2Nr
Ojp1cGRhdGVTZWN1cml0eURpc2NDaGFyYWN0ZXJzKHN0eWxlLCB0ZXh0UmVuZGVyZXIudGV4dCgp
KQotICAgICAgICAgICAgICAgICwgdGV4dFJlbmRlcmVyLmNhblVzZVNpbXBsaWZpZWRUZXh0TWVh
c3VyaW5nKCksIFdURk1vdmUoc3R5bGUpKTsKKyAgICAgICAgICAgICAgICAsIHRleHRSZW5kZXJl
ci5jYW5Vc2VTaW1wbGlmaWVkVGV4dE1lYXN1cmluZygpLCBXVEZNb3ZlKHN0eWxlKSwgV1RGTW92
ZShmaXJzdExpbmVTdHlsZSkpOwogICAgICAgICB9CiAKICAgICAgICAgYXV0byBzdHlsZSA9IFJl
bmRlclN0eWxlOjpjbG9uZShjaGlsZFJlbmRlcmVyLnN0eWxlKCkpOwogICAgICAgICBpZiAoY2hp
bGRSZW5kZXJlci5pc0xpbmVCcmVhaygpKSB7Ci0gICAgICAgICAgICBzdHlsZS5zZXREaXNwbGF5
KERpc3BsYXlUeXBlOjpJbmxpbmUpOwotICAgICAgICAgICAgc3R5bGUuc2V0RmxvYXRpbmcoRmxv
YXQ6Ok5vbmUpOwotICAgICAgICAgICAgc3R5bGUuc2V0UG9zaXRpb24oUG9zaXRpb25UeXBlOjpT
dGF0aWMpOwotICAgICAgICAgICAgcmV0dXJuIG1ha2VVbmlxdWU8TGF5b3V0OjpMaW5lQnJlYWtC
b3g+KGRvd25jYXN0PFJlbmRlckxpbmVCcmVhaz4oY2hpbGRSZW5kZXJlcikuaXNXQlIoKSwgV1RG
TW92ZShzdHlsZSkpOworICAgICAgICAgICAgYXV0byBhZGp1c3RTdHlsZSA9IFsmXSAoYXV0byYg
c3R5bGVUb0FkanVzdCkgeworICAgICAgICAgICAgICAgIHN0eWxlVG9BZGp1c3Quc2V0RGlzcGxh
eShEaXNwbGF5VHlwZTo6SW5saW5lKTsKKyAgICAgICAgICAgICAgICBzdHlsZVRvQWRqdXN0LnNl
dEZsb2F0aW5nKEZsb2F0OjpOb25lKTsKKyAgICAgICAgICAgICAgICBzdHlsZVRvQWRqdXN0LnNl
dFBvc2l0aW9uKFBvc2l0aW9uVHlwZTo6U3RhdGljKTsKKyAgICAgICAgICAgIH07CisgICAgICAg
ICAgICBhZGp1c3RTdHlsZShzdHlsZSk7CisgICAgICAgICAgICBpZiAoZmlyc3RMaW5lU3R5bGUp
CisgICAgICAgICAgICAgICAgYWRqdXN0U3R5bGUoKmZpcnN0TGluZVN0eWxlKTsKKworICAgICAg
ICAgICAgcmV0dXJuIG1ha2VVbmlxdWU8TGF5b3V0OjpMaW5lQnJlYWtCb3g+KGRvd25jYXN0PFJl
bmRlckxpbmVCcmVhaz4oY2hpbGRSZW5kZXJlcikuaXNXQlIoKSwgV1RGTW92ZShzdHlsZSksIFdU
Rk1vdmUoZmlyc3RMaW5lU3R5bGUpKTsKICAgICAgICAgfQogCiAgICAgICAgIGlmIChpczxSZW5k
ZXJSZXBsYWNlZD4oY2hpbGRSZW5kZXJlcikpCi0gICAgICAgICAgICByZXR1cm4gbWFrZVVuaXF1
ZTxMYXlvdXQ6OlJlcGxhY2VkQm94PihMYXlvdXQ6OkJveDo6RWxlbWVudEF0dHJpYnV0ZXMgeyBp
czxSZW5kZXJJbWFnZT4oY2hpbGRSZW5kZXJlcikgPyBMYXlvdXQ6OkJveDo6RWxlbWVudFR5cGU6
OkltYWdlIDogTGF5b3V0OjpCb3g6OkVsZW1lbnRUeXBlOjpHZW5lcmljRWxlbWVudCB9LCBXVEZN
b3ZlKHN0eWxlKSk7CisgICAgICAgICAgICByZXR1cm4gbWFrZVVuaXF1ZTxMYXlvdXQ6OlJlcGxh
Y2VkQm94PihMYXlvdXQ6OkJveDo6RWxlbWVudEF0dHJpYnV0ZXMgeyBpczxSZW5kZXJJbWFnZT4o
Y2hpbGRSZW5kZXJlcikgPyBMYXlvdXQ6OkJveDo6RWxlbWVudFR5cGU6OkltYWdlIDogTGF5b3V0
OjpCb3g6OkVsZW1lbnRUeXBlOjpHZW5lcmljRWxlbWVudCB9LCBXVEZNb3ZlKHN0eWxlKSwgV1RG
TW92ZShmaXJzdExpbmVTdHlsZSkpOwogCiAgICAgICAgIGlmIChpczxSZW5kZXJCbG9jaz4oY2hp
bGRSZW5kZXJlcikpCi0gICAgICAgICAgICByZXR1cm4gbWFrZVVuaXF1ZTxMYXlvdXQ6OlJlcGxh
Y2VkQm94PihMYXlvdXQ6OkJveDo6RWxlbWVudEF0dHJpYnV0ZXMgeyBMYXlvdXQ6OkJveDo6RWxl
bWVudFR5cGU6OkdlbmVyaWNFbGVtZW50IH0sIFdURk1vdmUoc3R5bGUpKTsKKyAgICAgICAgICAg
IHJldHVybiBtYWtlVW5pcXVlPExheW91dDo6UmVwbGFjZWRCb3g+KExheW91dDo6Qm94OjpFbGVt
ZW50QXR0cmlidXRlcyB7IExheW91dDo6Qm94OjpFbGVtZW50VHlwZTo6R2VuZXJpY0VsZW1lbnQg
fSwgV1RGTW92ZShzdHlsZSksIFdURk1vdmUoZmlyc3RMaW5lU3R5bGUpKTsKIAogICAgICAgICBp
ZiAoaXM8UmVuZGVySW5saW5lPihjaGlsZFJlbmRlcmVyKSkgewogICAgICAgICAgICAgaWYgKGNo
aWxkUmVuZGVyZXIucGFyZW50KCktPmlzQW5vbnltb3VzQmxvY2soKSkgewpAQCAtOTEsMTggKzEx
MSwyMyBAQCB2b2lkIEJveFRyZWU6OmJ1aWxkVHJlZSgpCiAgICAgICAgICAgICAgICAgYXV0byYg
cmVuZGVySW5saW5lID0gZG93bmNhc3Q8UmVuZGVySW5saW5lPihjaGlsZFJlbmRlcmVyKTsKICAg
ICAgICAgICAgICAgICBhdXRvIHNob3VsZE5vdFJldGFpbkJvcmRlclBhZGRpbmdBbmRNYXJnaW5T
dGFydCA9IHJlbmRlcklubGluZS5pc0NvbnRpbnVhdGlvbigpOwogICAgICAgICAgICAgICAgIGF1
dG8gc2hvdWxkTm90UmV0YWluQm9yZGVyUGFkZGluZ0FuZE1hcmdpbkVuZCA9ICFyZW5kZXJJbmxp
bmUuaXNDb250aW51YXRpb24oKSAmJiByZW5kZXJJbmxpbmUuaW5saW5lQ29udGludWF0aW9uKCk7
Ci0gICAgICAgICAgICAgICAgaWYgKHNob3VsZE5vdFJldGFpbkJvcmRlclBhZGRpbmdBbmRNYXJn
aW5TdGFydCkgewotICAgICAgICAgICAgICAgICAgICBzdHlsZS5zZXRNYXJnaW5TdGFydChSZW5k
ZXJTdHlsZTo6aW5pdGlhbE1hcmdpbigpKTsKLSAgICAgICAgICAgICAgICAgICAgc3R5bGUucmVz
ZXRCb3JkZXJMZWZ0KCk7Ci0gICAgICAgICAgICAgICAgICAgIHN0eWxlLnNldFBhZGRpbmdMZWZ0
KFJlbmRlclN0eWxlOjppbml0aWFsUGFkZGluZygpKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICAgICAgaWYgKHNob3VsZE5vdFJldGFpbkJvcmRlclBhZGRpbmdBbmRNYXJnaW5FbmQp
IHsKLSAgICAgICAgICAgICAgICAgICAgc3R5bGUuc2V0TWFyZ2luRW5kKFJlbmRlclN0eWxlOjpp
bml0aWFsTWFyZ2luKCkpOwotICAgICAgICAgICAgICAgICAgICBzdHlsZS5yZXNldEJvcmRlclJp
Z2h0KCk7Ci0gICAgICAgICAgICAgICAgICAgIHN0eWxlLnNldFBhZGRpbmdSaWdodChSZW5kZXJT
dHlsZTo6aW5pdGlhbFBhZGRpbmcoKSk7Ci0gICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
ICAgIGF1dG8gYWRqdXN0U3R5bGVGb3JDb250aW51YXRpb24gPSBbJl0gKGF1dG8mIHN0eWxlVG9B
ZGp1c3QpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHNob3VsZE5vdFJldGFpbkJvcmRlclBh
ZGRpbmdBbmRNYXJnaW5TdGFydCkgeworICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGVUb0Fk
anVzdC5zZXRNYXJnaW5TdGFydChSZW5kZXJTdHlsZTo6aW5pdGlhbE1hcmdpbigpKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHN0eWxlVG9BZGp1c3QucmVzZXRCb3JkZXJMZWZ0KCk7CisgICAg
ICAgICAgICAgICAgICAgICAgICBzdHlsZVRvQWRqdXN0LnNldFBhZGRpbmdMZWZ0KFJlbmRlclN0
eWxlOjppbml0aWFsUGFkZGluZygpKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgICAgICAgICBpZiAoc2hvdWxkTm90UmV0YWluQm9yZGVyUGFkZGluZ0FuZE1hcmdpbkVuZCkg
eworICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGVUb0FkanVzdC5zZXRNYXJnaW5FbmQoUmVu
ZGVyU3R5bGU6OmluaXRpYWxNYXJnaW4oKSk7CisgICAgICAgICAgICAgICAgICAgICAgICBzdHls
ZVRvQWRqdXN0LnJlc2V0Qm9yZGVyUmlnaHQoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0
eWxlVG9BZGp1c3Quc2V0UGFkZGluZ1JpZ2h0KFJlbmRlclN0eWxlOjppbml0aWFsUGFkZGluZygp
KTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH07CisgICAgICAgICAg
ICAgICAgYWRqdXN0U3R5bGVGb3JDb250aW51YXRpb24oc3R5bGUpOworICAgICAgICAgICAgICAg
IGlmIChmaXJzdExpbmVTdHlsZSkKKyAgICAgICAgICAgICAgICAgICAgYWRqdXN0U3R5bGVGb3JD
b250aW51YXRpb24oKmZpcnN0TGluZVN0eWxlKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
IHJldHVybiBtYWtlVW5pcXVlPExheW91dDo6Q29udGFpbmVyQm94PihMYXlvdXQ6OkJveDo6RWxl
bWVudEF0dHJpYnV0ZXMgeyBMYXlvdXQ6OkJveDo6RWxlbWVudFR5cGU6OkdlbmVyaWNFbGVtZW50
IH0sIFdURk1vdmUoc3R5bGUpKTsKKyAgICAgICAgICAgIHJldHVybiBtYWtlVW5pcXVlPExheW91
dDo6Q29udGFpbmVyQm94PihMYXlvdXQ6OkJveDo6RWxlbWVudEF0dHJpYnV0ZXMgeyBMYXlvdXQ6
OkJveDo6RWxlbWVudFR5cGU6OkdlbmVyaWNFbGVtZW50IH0sIFdURk1vdmUoc3R5bGUpLCBXVEZN
b3ZlKGZpcnN0TGluZVN0eWxlKSk7CiAgICAgICAgIH0KIAogICAgICAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKQEAgLTEzOCwxNSArMTYzLDIxIEBAIHZvaWQgQm94VHJlZTo6dXBkYXRlU3R5bGUo
Y29uc3QgUmVuZGVyQm94TW9kZWxPYmplY3QmIHJlbmRlcmVyKQogewogICAgIGF1dG8mIGxheW91
dEJveCA9IGxheW91dEJveEZvclJlbmRlcmVyKHJlbmRlcmVyKTsKICAgICBhdXRvJiBzdHlsZSA9
IHJlbmRlcmVyLnN0eWxlKCk7CisgICAgYXV0byBmaXJzdExpbmVTdHlsZSA9IFsmXSAoKSAtPiBz
dGQ6OnVuaXF1ZV9wdHI8UmVuZGVyU3R5bGU+IHsKKyAgICAgICAgaWYgKHJlbmRlcmVyLnN0eWxl
KCkgIT0gcmVuZGVyZXIuZmlyc3RMaW5lU3R5bGUoKSkKKyAgICAgICAgICAgIHJldHVybiBSZW5k
ZXJTdHlsZTo6Y2xvbmVQdHIocmVuZGVyZXIuZmlyc3RMaW5lU3R5bGUoKSk7CisgICAgICAgIHJl
dHVybiBudWxscHRyOworICAgIH07CisKICAgICBpZiAoJmxheW91dEJveCA9PSAmcm9vdExheW91
dEJveCgpKQotICAgICAgICBsYXlvdXRCb3gudXBkYXRlU3R5bGUocm9vdEJveFN0eWxlKHN0eWxl
KSk7CisgICAgICAgIGxheW91dEJveC51cGRhdGVTdHlsZShyb290Qm94U3R5bGUoc3R5bGUpLCBy
b290Qm94Rmlyc3RMaW5lU3R5bGUoZG93bmNhc3Q8UmVuZGVyQmxvY2tGbG93PihyZW5kZXJlcikp
KTsKICAgICBlbHNlCi0gICAgICAgIGxheW91dEJveC51cGRhdGVTdHlsZShzdHlsZSk7CisgICAg
ICAgIGxheW91dEJveC51cGRhdGVTdHlsZShzdHlsZSwgZmlyc3RMaW5lU3R5bGUoKSk7CiAKICAg
ICBpZiAoaXM8TGF5b3V0OjpDb250YWluZXJCb3g+KGxheW91dEJveCkpIHsKICAgICAgICAgZm9y
IChhdXRvKiBjaGlsZCA9IGRvd25jYXN0PExheW91dDo6Q29udGFpbmVyQm94PihsYXlvdXRCb3gp
LmZpcnN0Q2hpbGQoKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nKCkpIHsKICAg
ICAgICAgICAgIGlmIChjaGlsZC0+aXNJbmxpbmVUZXh0Qm94KCkpCi0gICAgICAgICAgICAgICAg
Y2hpbGQtPnVwZGF0ZVN0eWxlKFJlbmRlclN0eWxlOjpjcmVhdGVBbm9ueW1vdXNTdHlsZVdpdGhE
aXNwbGF5KHN0eWxlLCBEaXNwbGF5VHlwZTo6SW5saW5lKSk7CisgICAgICAgICAgICAgICAgY2hp
bGQtPnVwZGF0ZVN0eWxlKFJlbmRlclN0eWxlOjpjcmVhdGVBbm9ueW1vdXNTdHlsZVdpdGhEaXNw
bGF5KHN0eWxlLCBEaXNwbGF5VHlwZTo6SW5saW5lKSwgZmlyc3RMaW5lU3R5bGUoKSk7CiAgICAg
ICAgIH0KICAgICB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0
dHJlZS9MYXlvdXRCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5
b3V0Qm94LmNwcAppbmRleCBmZTBhYTExMTljYzdlMjUyYjViYjRmNjU0OGJhN2U4YzcxMjdjYjQy
Li5jNDA3NmY0NTRkM2EwYWNlOTNkZTYwODM5YmUwZGUzMGNjMGZhMTNiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRCb3guY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dEJveC5jcHAKQEAgLTQyLDEzICs0Miwx
NSBAQCBuYW1lc3BhY2UgTGF5b3V0IHsKIAogV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKEJv
eCk7CiAKLUJveDo6Qm94KHN0ZDo6b3B0aW9uYWw8RWxlbWVudEF0dHJpYnV0ZXM+IGF0dHJpYnV0
ZXMsIFJlbmRlclN0eWxlJiYgc3R5bGUsIE9wdGlvblNldDxCYXNlVHlwZUZsYWc+IGJhc2VUeXBl
RmxhZ3MpCitCb3g6OkJveChzdGQ6Om9wdGlvbmFsPEVsZW1lbnRBdHRyaWJ1dGVzPiBhdHRyaWJ1
dGVzLCBSZW5kZXJTdHlsZSYmIHN0eWxlLCBzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVyU3R5bGU+JiYg
Zmlyc3RMaW5lU3R5bGUsIE9wdGlvblNldDxCYXNlVHlwZUZsYWc+IGJhc2VUeXBlRmxhZ3MpCiAg
ICAgOiBtX3N0eWxlKFdURk1vdmUoc3R5bGUpKQogICAgICwgbV9lbGVtZW50QXR0cmlidXRlcyhh
dHRyaWJ1dGVzKQogICAgICwgbV9iYXNlVHlwZUZsYWdzKGJhc2VUeXBlRmxhZ3MudG9SYXcoKSkK
ICAgICAsIG1faGFzUmFyZURhdGEoZmFsc2UpCiAgICAgLCBtX2lzQW5vbnltb3VzKGZhbHNlKQog
eworICAgIGlmIChmaXJzdExpbmVTdHlsZSkKKyAgICAgICAgZW5zdXJlUmFyZURhdGEoKS5maXJz
dExpbmVTdHlsZSA9IFdURk1vdmUoZmlyc3RMaW5lU3R5bGUpOwogfQogCiBCb3g6On5Cb3goKQpA
QCAtNTcsOSArNTksMTEgQEAgQm94Ojp+Qm94KCkKICAgICAgICAgcmVtb3ZlUmFyZURhdGEoKTsK
IH0KIAotdm9pZCBCb3g6OnVwZGF0ZVN0eWxlKGNvbnN0IFJlbmRlclN0eWxlJiBuZXdTdHlsZSkK
K3ZvaWQgQm94Ojp1cGRhdGVTdHlsZShjb25zdCBSZW5kZXJTdHlsZSYgbmV3U3R5bGUsIHN0ZDo6
dW5pcXVlX3B0cjxSZW5kZXJTdHlsZT4mJiBuZXdGaXJzdExpbmVTdHlsZSkKIHsKICAgICBtX3N0
eWxlID0gUmVuZGVyU3R5bGU6OmNsb25lKG5ld1N0eWxlKTsKKyAgICBpZiAobmV3Rmlyc3RMaW5l
U3R5bGUpCisgICAgICAgIGVuc3VyZVJhcmVEYXRhKCkuZmlyc3RMaW5lU3R5bGUgPSBXVEZNb3Zl
KG5ld0ZpcnN0TGluZVN0eWxlKTsKIH0KIAogYm9vbCBCb3g6OmVzdGFibGlzaGVzRm9ybWF0dGlu
Z0NvbnRleHQoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91
dHRyZWUvTGF5b3V0Qm94LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlv
dXRCb3guaAppbmRleCAzNDI2MTg5MGMyMWU5NTAzMTY4MDhjNTFjNWJmYmM5ZDExYzMxYzJjLi40
ZjZlYTAwODI5MjdhOGQ2ODdkMmE5NmMxZGI4NGYxMTcwZjE3YjNiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRCb3guaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRCb3guaApAQCAtMTU5LDggKzE1OSw5IEBAIHB1
YmxpYzoKICAgICBib29sIGlzUGFkZGluZ0FwcGxpY2FibGUoKSBjb25zdDsKICAgICBib29sIGlz
T3ZlcmZsb3dWaXNpYmxlKCkgY29uc3Q7CiAKLSAgICB2b2lkIHVwZGF0ZVN0eWxlKGNvbnN0IFJl
bmRlclN0eWxlJiBuZXdTdHlsZSk7CisgICAgdm9pZCB1cGRhdGVTdHlsZShjb25zdCBSZW5kZXJT
dHlsZSYgbmV3U3R5bGUsIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJTdHlsZT4mJiBuZXdGaXJzdExp
bmVTdHlsZSk7CiAgICAgY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlKCkgY29uc3QgeyByZXR1cm4g
bV9zdHlsZTsgfQorICAgIGNvbnN0IFJlbmRlclN0eWxlJiBmaXJzdExpbmVTdHlsZSgpIGNvbnN0
IHsgcmV0dXJuIGhhc1JhcmVEYXRhKCkgJiYgcmFyZURhdGEoKS5maXJzdExpbmVTdHlsZSA/ICpy
YXJlRGF0YSgpLmZpcnN0TGluZVN0eWxlIDogbV9zdHlsZTsgfQogCiAgICAgLy8gRklYTUU6IEZp
bmQgYSBiZXR0ZXIgcGxhY2UgZm9yIHJhbmRvbSBET00gdGhpbmdzLgogICAgIHZvaWQgc2V0Um93
U3BhbihzaXplX3QpOwpAQCAtMTgzLDcgKzE4NCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldENh
Y2hlZEdlb21ldHJ5Rm9yTGF5b3V0U3RhdGUoTGF5b3V0U3RhdGUmLCBzdGQ6OnVuaXF1ZV9wdHI8
Qm94R2VvbWV0cnk+KSBjb25zdDsKIAogcHJvdGVjdGVkOgotICAgIEJveChzdGQ6Om9wdGlvbmFs
PEVsZW1lbnRBdHRyaWJ1dGVzPiwgUmVuZGVyU3R5bGUmJiwgT3B0aW9uU2V0PEJhc2VUeXBlRmxh
Zz4pOworICAgIEJveChzdGQ6Om9wdGlvbmFsPEVsZW1lbnRBdHRyaWJ1dGVzPiwgUmVuZGVyU3R5
bGUmJiwgc3RkOjp1bmlxdWVfcHRyPFJlbmRlclN0eWxlPiYmIGZpcnN0TGluZVN0eWxlLCBPcHRp
b25TZXQ8QmFzZVR5cGVGbGFnPik7CiAKIHByaXZhdGU6CiAgICAgY2xhc3MgQm94UmFyZURhdGEg
ewpAQCAtMTkzLDYgKzE5NCw3IEBAIHByaXZhdGU6CiAKICAgICAgICAgQ2VsbFNwYW4gdGFibGVD
ZWxsU3BhbjsKICAgICAgICAgc3RkOjpvcHRpb25hbDxMYXlvdXRVbml0PiBjb2x1bW5XaWR0aDsK
KyAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFJlbmRlclN0eWxlPiBmaXJzdExpbmVTdHlsZTsKICAg
ICB9OwogCiAgICAgYm9vbCBoYXNSYXJlRGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1faGFzUmFyZURh
dGE7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91
dENvbnRhaW5lckJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlv
dXRDb250YWluZXJCb3guY3BwCmluZGV4IDljM2U3MTNmMjA5OTYxYWFmZDdlZDJjZTEzNzU3MzMw
MmQ1YWI0YTYuLmE2MjEzODQyYzY0MzE3MThjNGY3ZGU4ZGE1MThkMzg3ODlmYTEwMDkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dENvbnRhaW5lckJv
eC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0Q29udGFp
bmVyQm94LmNwcApAQCAtMzYsOCArMzYsOCBAQCBuYW1lc3BhY2UgTGF5b3V0IHsKIAogV1RGX01B
S0VfSVNPX0FMTE9DQVRFRF9JTVBMKENvbnRhaW5lckJveCk7CiAKLUNvbnRhaW5lckJveDo6Q29u
dGFpbmVyQm94KHN0ZDo6b3B0aW9uYWw8RWxlbWVudEF0dHJpYnV0ZXM+IGF0dHJpYnV0ZXMsIFJl
bmRlclN0eWxlJiYgc3R5bGUsIE9wdGlvblNldDxCYXNlVHlwZUZsYWc+IGJhc2VUeXBlRmxhZ3Mp
Ci0gICAgOiBCb3goYXR0cmlidXRlcywgV1RGTW92ZShzdHlsZSksIGJhc2VUeXBlRmxhZ3MgfCBD
b250YWluZXJCb3hGbGFnKQorQ29udGFpbmVyQm94OjpDb250YWluZXJCb3goc3RkOjpvcHRpb25h
bDxFbGVtZW50QXR0cmlidXRlcz4gYXR0cmlidXRlcywgUmVuZGVyU3R5bGUmJiBzdHlsZSwgc3Rk
Ojp1bmlxdWVfcHRyPFJlbmRlclN0eWxlPiYmIGZpcnN0TGluZVN0eWxlLCBPcHRpb25TZXQ8QmFz
ZVR5cGVGbGFnPiBiYXNlVHlwZUZsYWdzKQorICAgIDogQm94KGF0dHJpYnV0ZXMsIFdURk1vdmUo
c3R5bGUpLCBXVEZNb3ZlKGZpcnN0TGluZVN0eWxlKSwgYmFzZVR5cGVGbGFncyB8IENvbnRhaW5l
ckJveEZsYWcpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlv
dXR0cmVlL0xheW91dENvbnRhaW5lckJveC5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91
dHRyZWUvTGF5b3V0Q29udGFpbmVyQm94LmgKaW5kZXggZTBhZmE0YThiNzVmOWY0NThiYzY1MjEy
ZWRkMjBmYTNjOTJiYzcwNy4uMWNmYzRmMDFhMGNjOTYzNjE2OWFiYmY1NDBlMjI1ZmEzOGJiYmEz
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0Q29u
dGFpbmVyQm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0
Q29udGFpbmVyQm94LmgKQEAgLTM5LDcgKzM5LDcgQEAgbmFtZXNwYWNlIExheW91dCB7CiBjbGFz
cyBDb250YWluZXJCb3ggOiBwdWJsaWMgQm94IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVE
KENvbnRhaW5lckJveCk7CiBwdWJsaWM6Ci0gICAgQ29udGFpbmVyQm94KHN0ZDo6b3B0aW9uYWw8
RWxlbWVudEF0dHJpYnV0ZXM+LCBSZW5kZXJTdHlsZSYmLCBPcHRpb25TZXQ8QmFzZVR5cGVGbGFn
PiA9IHsgQ29udGFpbmVyQm94RmxhZyB9KTsKKyAgICBDb250YWluZXJCb3goc3RkOjpvcHRpb25h
bDxFbGVtZW50QXR0cmlidXRlcz4sIFJlbmRlclN0eWxlJiYsIHN0ZDo6dW5pcXVlX3B0cjxSZW5k
ZXJTdHlsZT4mJiBmaXJzdExpbmVTdHlsZSA9IG51bGxwdHIsIE9wdGlvblNldDxCYXNlVHlwZUZs
YWc+ID0geyBDb250YWluZXJCb3hGbGFnIH0pOwogCiAgICAgY29uc3QgQm94KiBmaXJzdENoaWxk
KCkgY29uc3QgeyByZXR1cm4gbV9maXJzdENoaWxkOyB9CiAgICAgY29uc3QgQm94KiBmaXJzdElu
Rmxvd0NoaWxkKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5
b3V0dHJlZS9MYXlvdXRJbml0aWFsQ29udGFpbmluZ0Jsb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9sYXlvdXR0cmVlL0xheW91dEluaXRpYWxDb250YWluaW5nQmxvY2suY3BwCmluZGV4
IGFjNGNkZjcwZTA5OTVmYzYyZDBiODU5ZjRkYWM2MDBlZDYyZDI1YmQuLjA3OWIyM2I5NGY5MjYy
NmI5ZGM4YjE0Y2FiMmNmZjFiODc5NTdmMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9sYXlvdXR0cmVlL0xheW91dEluaXRpYWxDb250YWluaW5nQmxvY2suY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dEluaXRpYWxDb250YWluaW5nQmxv
Y2suY3BwCkBAIC0zNiw4ICszNiw4IEBAIG5hbWVzcGFjZSBMYXlvdXQgewogCiBXVEZfTUFLRV9J
U09fQUxMT0NBVEVEX0lNUEwoSW5pdGlhbENvbnRhaW5pbmdCbG9jayk7CiAKLUluaXRpYWxDb250
YWluaW5nQmxvY2s6OkluaXRpYWxDb250YWluaW5nQmxvY2soUmVuZGVyU3R5bGUmJiBzdHlsZSkK
LSAgICA6IENvbnRhaW5lckJveCh7IH0sIFdURk1vdmUoc3R5bGUpLCBCb3g6OkluaXRpYWxDb250
YWluaW5nQmxvY2tGbGFnKQorSW5pdGlhbENvbnRhaW5pbmdCbG9jazo6SW5pdGlhbENvbnRhaW5p
bmdCbG9jayhSZW5kZXJTdHlsZSYmIHN0eWxlLCBzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVyU3R5bGU+
JiYgZmlyc3RMaW5lU3R5bGUpCisgICAgOiBDb250YWluZXJCb3goeyB9LCBXVEZNb3ZlKHN0eWxl
KSwgV1RGTW92ZShmaXJzdExpbmVTdHlsZSksIEJveDo6SW5pdGlhbENvbnRhaW5pbmdCbG9ja0Zs
YWcpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVl
L0xheW91dEluaXRpYWxDb250YWluaW5nQmxvY2suaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9s
YXlvdXR0cmVlL0xheW91dEluaXRpYWxDb250YWluaW5nQmxvY2suaAppbmRleCA5MDJlZGFhOTNj
MzNkZTE3YzNmODc0MjE3MDJiZjM2YjA2MGEwZWQ4Li5iZDljZTdkNTE4N2ZkY2IxZWE4YTFlMjk0
ZGE3ZTc1ZTU3NmYxM2ZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0
dHJlZS9MYXlvdXRJbml0aWFsQ29udGFpbmluZ0Jsb2NrLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2xheW91dHRyZWUvTGF5b3V0SW5pdGlhbENvbnRhaW5pbmdCbG9jay5oCkBAIC0zNiw3
ICszNiw3IEBAIG5hbWVzcGFjZSBMYXlvdXQgewogY2xhc3MgSW5pdGlhbENvbnRhaW5pbmdCbG9j
ayBmaW5hbCA6IHB1YmxpYyBDb250YWluZXJCb3ggewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FU
RUQoSW5pdGlhbENvbnRhaW5pbmdCbG9jayk7CiBwdWJsaWM6Ci0gICAgSW5pdGlhbENvbnRhaW5p
bmdCbG9jayhSZW5kZXJTdHlsZSYmKTsKKyAgICBJbml0aWFsQ29udGFpbmluZ0Jsb2NrKFJlbmRl
clN0eWxlJiYsIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJTdHlsZT4mJiBmaXJzdExpbmVTdHlsZSA9
IG51bGxwdHIpOwogICAgIHZpcnR1YWwgfkluaXRpYWxDb250YWluaW5nQmxvY2soKSA9IGRlZmF1
bHQ7CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0
dHJlZS9MYXlvdXRJbmxpbmVUZXh0Qm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlv
dXR0cmVlL0xheW91dElubGluZVRleHRCb3guY3BwCmluZGV4IDk1ODdiNjk1NmM2OTc0OWY5YWFk
YjhkZDUxZTc3ZjhkMDYzMmUxYWMuLmNjOTM5OTdhNzE3YjAzNDc5NDU2MmFmOTZkYjIwMzg1ZDkw
OThjNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91
dElubGluZVRleHRCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVl
L0xheW91dElubGluZVRleHRCb3guY3BwCkBAIC0zNiw4ICszNiw4IEBAIG5hbWVzcGFjZSBMYXlv
dXQgewogCiBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoSW5saW5lVGV4dEJveCk7CiAKLUlu
bGluZVRleHRCb3g6OklubGluZVRleHRCb3goU3RyaW5nIGNvbnRlbnQsIGJvb2wgY2FuVXNlU2lt
cGxpZmllZENvbnRlbnRNZWFzdXJpbmcsIFJlbmRlclN0eWxlJiYgc3R5bGUpCi0gICAgOiBCb3go
eyB9LCBXVEZNb3ZlKHN0eWxlKSwgQm94OjpJbmxpbmVUZXh0Qm94RmxhZykKK0lubGluZVRleHRC
b3g6OklubGluZVRleHRCb3goU3RyaW5nIGNvbnRlbnQsIGJvb2wgY2FuVXNlU2ltcGxpZmllZENv
bnRlbnRNZWFzdXJpbmcsIFJlbmRlclN0eWxlJiYgc3R5bGUsIHN0ZDo6dW5pcXVlX3B0cjxSZW5k
ZXJTdHlsZT4mJiBmaXJzdExpbmVTdHlsZSkKKyAgICA6IEJveCh7IH0sIFdURk1vdmUoc3R5bGUp
LCBXVEZNb3ZlKGZpcnN0TGluZVN0eWxlKSwgQm94OjpJbmxpbmVUZXh0Qm94RmxhZykKICAgICAs
IG1fY29udGVudChjb250ZW50KQogICAgICwgbV9jYW5Vc2VTaW1wbGlmaWVkQ29udGVudE1lYXN1
cmluZyhjYW5Vc2VTaW1wbGlmaWVkQ29udGVudE1lYXN1cmluZykKIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dElubGluZVRleHRCb3guaCBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dElubGluZVRleHRCb3guaAppbmRl
eCBmMTY3YzNmMDg3MjE5ZGVhNGViMGFhYTRhMTcyMjg4MjEzNTg5ZDc4Li5mOWZiYzVhMzVlZTc2
OGE1MGRkZmZiMGUzZWJlZmI0MmU3Y2I3ODBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRJbmxpbmVUZXh0Qm94LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0SW5saW5lVGV4dEJveC5oCkBAIC0zNyw3ICszNyw3
IEBAIG5hbWVzcGFjZSBMYXlvdXQgewogY2xhc3MgSW5saW5lVGV4dEJveCA6IHB1YmxpYyBCb3gg
ewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoSW5saW5lVGV4dEJveCk7CiBwdWJsaWM6Ci0g
ICAgSW5saW5lVGV4dEJveChTdHJpbmcsIGJvb2wgY2FuVXNlU2ltcGxpZmllZENvbnRlbnRNZWFz
dXJpbmcsIFJlbmRlclN0eWxlJiYpOworICAgIElubGluZVRleHRCb3goU3RyaW5nLCBib29sIGNh
blVzZVNpbXBsaWZpZWRDb250ZW50TWVhc3VyaW5nLCBSZW5kZXJTdHlsZSYmLCBzdGQ6OnVuaXF1
ZV9wdHI8UmVuZGVyU3R5bGU+JiYgZmlyc3RMaW5lU3R5bGUgPSBudWxscHRyKTsKICAgICB2aXJ0
dWFsIH5JbmxpbmVUZXh0Qm94KCkgPSBkZWZhdWx0OwogCiAgICAgU3RyaW5nIGNvbnRlbnQoKSBj
b25zdCB7IHJldHVybiBtX2NvbnRlbnQ7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9sYXlvdXR0cmVlL0xheW91dExpbmVCcmVha0JveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRMaW5lQnJlYWtCb3guY3BwCmluZGV4IGFhMDBiODY3NzQy
OTBkMDk3OWRiZDY5MzJjOGIzZWEzYTViOWEyNDMuLjEzOTE4MmViNjZiYmVmNmU1YzQwM2ZiN2Q0
OGVjZmJiYTU0NGNiOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0
cmVlL0xheW91dExpbmVCcmVha0JveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xh
eW91dHRyZWUvTGF5b3V0TGluZUJyZWFrQm94LmNwcApAQCAtMzYsOCArMzYsOCBAQCBuYW1lc3Bh
Y2UgTGF5b3V0IHsKIAogV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKExpbmVCcmVha0JveCk7
CiAKLUxpbmVCcmVha0JveDo6TGluZUJyZWFrQm94KGJvb2wgaXNPcHRpb25hbCwgUmVuZGVyU3R5
bGUmJiBzdHlsZSkKLSAgICA6IEJveCh7IH0sIFdURk1vdmUoc3R5bGUpLCBCb3g6OkxpbmVCcmVh
a0JveEZsYWcpCitMaW5lQnJlYWtCb3g6OkxpbmVCcmVha0JveChib29sIGlzT3B0aW9uYWwsIFJl
bmRlclN0eWxlJiYgc3R5bGUsIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJTdHlsZT4mJiBmaXJzdExp
bmVTdHlsZSkKKyAgICA6IEJveCh7IH0sIFdURk1vdmUoc3R5bGUpLCBXVEZNb3ZlKGZpcnN0TGlu
ZVN0eWxlKSwgQm94OjpMaW5lQnJlYWtCb3hGbGFnKQogICAgICwgbV9pc09wdGlvbmFsKGlzT3B0
aW9uYWwpCiB7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJl
ZS9MYXlvdXRMaW5lQnJlYWtCb3guaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVl
L0xheW91dExpbmVCcmVha0JveC5oCmluZGV4IGIwYzRhYjg3ZTFlM2VjYzNkMzIyODMyMWJlMWRh
OWU5NjZmZjZhNzkuLmJkOWIxMzUyMWM0OThmMzU4MjlmZjEyYjBhY2YwMjM3NjVjZmQ4NjkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dExpbmVCcmVh
a0JveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dExpbmVC
cmVha0JveC5oCkBAIC0zNyw3ICszNyw3IEBAIG5hbWVzcGFjZSBMYXlvdXQgewogY2xhc3MgTGlu
ZUJyZWFrQm94IDogcHVibGljIEJveCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChMaW5l
QnJlYWtCb3gpOwogcHVibGljOgotICAgIExpbmVCcmVha0JveChib29sIGlzT3B0aW9uYWwsIFJl
bmRlclN0eWxlJiYpOworICAgIExpbmVCcmVha0JveChib29sIGlzT3B0aW9uYWwsIFJlbmRlclN0
eWxlJiYsIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJTdHlsZT4mJiBmaXJzdExpbmVTdHlsZSA9IG51
bGxwdHIpOwogCiAgICAgYm9vbCBpc09wdGlvbmFsKCkgY29uc3QgeyByZXR1cm4gbV9pc09wdGlv
bmFsOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xh
eW91dFJlcGxhY2VkQm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xh
eW91dFJlcGxhY2VkQm94LmNwcAppbmRleCA2NDM4NGI5YTk4M2EyN2MzMTBkNmJmNzMwMTkxZWYy
NzFkYzZlZDk4Li4wNjRhOGNhYjRmNjExNGRlNjViYWE1YzBiMjcxODhlZTBjMTU2NTU1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRSZXBsYWNlZEJv
eC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0UmVwbGFj
ZWRCb3guY3BwCkBAIC0zNiw4ICszNiw4IEBAIG5hbWVzcGFjZSBMYXlvdXQgewogCiBXVEZfTUFL
RV9JU09fQUxMT0NBVEVEX0lNUEwoUmVwbGFjZWRCb3gpOwogCi1SZXBsYWNlZEJveDo6UmVwbGFj
ZWRCb3goc3RkOjpvcHRpb25hbDxFbGVtZW50QXR0cmlidXRlcz4gZWxlbWVudEF0dHJpYnV0ZXMs
IFJlbmRlclN0eWxlJiYgc3R5bGUpCi0gICAgOiBCb3goZWxlbWVudEF0dHJpYnV0ZXMsIFdURk1v
dmUoc3R5bGUpLCBCb3g6OlJlcGxhY2VkQm94RmxhZykKK1JlcGxhY2VkQm94OjpSZXBsYWNlZEJv
eChzdGQ6Om9wdGlvbmFsPEVsZW1lbnRBdHRyaWJ1dGVzPiBlbGVtZW50QXR0cmlidXRlcywgUmVu
ZGVyU3R5bGUmJiBzdHlsZSwgc3RkOjp1bmlxdWVfcHRyPFJlbmRlclN0eWxlPiYmIGZpcnN0TGlu
ZVN0eWxlKQorICAgIDogQm94KGVsZW1lbnRBdHRyaWJ1dGVzLCBXVEZNb3ZlKHN0eWxlKSwgV1RG
TW92ZShmaXJzdExpbmVTdHlsZSksIEJveDo6UmVwbGFjZWRCb3hGbGFnKQogewogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRSZXBsYWNlZEJv
eC5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0UmVwbGFjZWRCb3gu
aAppbmRleCA0NWZlNDc2ZDdmMGM4YzRlN2I4NzA1OTIwNmZmNjNmNTBkOWFiZmM4Li5kZWYxNjk2
ZmU0YzdmODA5ZDE3ZjFmMGFiNDE1MTEzMzE4NzhjMmVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRSZXBsYWNlZEJveC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dFJlcGxhY2VkQm94LmgKQEAgLTM5LDcgKzM5
LDcgQEAgbmFtZXNwYWNlIExheW91dCB7CiBjbGFzcyBSZXBsYWNlZEJveCA6IHB1YmxpYyBCb3gg
ewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoUmVwbGFjZWRCb3gpOwogcHVibGljOgotICAg
IFJlcGxhY2VkQm94KHN0ZDo6b3B0aW9uYWw8RWxlbWVudEF0dHJpYnV0ZXM+LCBSZW5kZXJTdHls
ZSYmKTsKKyAgICBSZXBsYWNlZEJveChzdGQ6Om9wdGlvbmFsPEVsZW1lbnRBdHRyaWJ1dGVzPiwg
UmVuZGVyU3R5bGUmJiwgc3RkOjp1bmlxdWVfcHRyPFJlbmRlclN0eWxlPiYmIGZpcnN0TGluZVN0
eWxlID0gbnVsbHB0cik7CiAgICAgdmlydHVhbCB+UmVwbGFjZWRCb3goKSA9IGRlZmF1bHQ7CiAK
ICAgICB2b2lkIHNldENhY2hlZEltYWdlKENhY2hlZEltYWdlJiBjYWNoZWRJbWFnZSkgeyBtX2Nh
Y2hlZEltYWdlID0gJmNhY2hlZEltYWdlOyB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439618</attachid>
            <date>2021-09-29 09:59:13 -0700</date>
            <delta_ts>2021-09-29 10:58:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230921-20210929095912.patch</filename>
            <type>text/plain</type>
            <size>21121</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzMTc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDVmN2FkY2E1NmUwYjQ3
MTgwZWVlOTllN2IyMzRjNWFhOTU0N2ZmYS4uMzA2NDNjZTMyOTc5ZWIwN2M4MzQ5ODIyY2QxOWQ0
ZDYzYjQyZWI0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDIxLTA5LTI4ICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIExheW91dDo6
Qm94IHNob3VsZCBiZSBhYmxlIHRvIHJldHVybiB0aGUgZmlyc3QtbGluZSBzdHlsZSB3aGVuIGFw
cGxpY2FibGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIzMDkyMQorCisgICAgICAgIFJldmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgorCisgICAgICAg
IFRoaXMgaXMgaW4gcHJlcGFyYXRpb24gZm9yIHN1cHBvcnRpbmcgZmlyc3QtbGluZSBzdHlsZS4K
KworICAgICAgICAqIGxheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkJveFRyZWUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246OnJvb3RCb3hGaXJzdExp
bmVTdHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6Qm94VHJlZTo6
Qm94VHJlZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6Qm94VHJlZTo6
YnVpbGRUcmVlKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpCb3hUcmVl
Ojp1cGRhdGVTdHlsZSk6CisgICAgICAgICogbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0Qm94LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Qm94OjpCb3gpOiBVc2UgdGhlIHJhcmUgZGF0
YSB0byBzdG9yZSBmaXJzdC1saW5lIHN0eWxlLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpC
b3g6OnVwZGF0ZVN0eWxlKToKKyAgICAgICAgKiBsYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRCb3gu
aDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Qm94OjpmaXJzdExpbmVTdHlsZSBjb25zdCk6
CisgICAgICAgICogbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0Q29udGFpbmVyQm94LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6Q29udGFpbmVyQm94OjpDb250YWluZXJCb3gpOgorICAg
ICAgICAqIGxheW91dC9sYXlvdXR0cmVlL0xheW91dENvbnRhaW5lckJveC5oOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpDb250YWluZXJCb3g6OkNvbnRhaW5lckJveCk6CisgICAgICAgICog
bGF5b3V0L2xheW91dHRyZWUvTGF5b3V0SW5pdGlhbENvbnRhaW5pbmdCbG9jay5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OkluaXRpYWxDb250YWluaW5nQmxvY2s6OkluaXRpYWxDb250
YWluaW5nQmxvY2spOgorICAgICAgICAqIGxheW91dC9sYXlvdXR0cmVlL0xheW91dEluaXRpYWxD
b250YWluaW5nQmxvY2suaDoKKyAgICAgICAgKiBsYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRJbmxp
bmVUZXh0Qm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lVGV4dEJveDo6
SW5saW5lVGV4dEJveCk6CisgICAgICAgICogbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0SW5saW5l
VGV4dEJveC5oOgorICAgICAgICAqIGxheW91dC9sYXlvdXR0cmVlL0xheW91dExpbmVCcmVha0Jv
eC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCcmVha0JveDo6TGluZUJyZWFr
Qm94KToKKyAgICAgICAgKiBsYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRMaW5lQnJlYWtCb3guaDoK
KyAgICAgICAgKiBsYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRSZXBsYWNlZEJveC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OlJlcGxhY2VkQm94OjpSZXBsYWNlZEJveCk6CisgICAgICAg
ICogbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0UmVwbGFjZWRCb3guaDoKKwogMjAyMS0wOS0yOCAg
QWxpY2lhIEJveWEgR2FyY8OtYSAgPGFib3lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW01TRV1b
R1N0cmVhbWVyXSBEb24ndCBjcmVhdGUgTWVkaWFTb3VyY2VUcmFja0dTdHJlYW1lciBvYmplY3Rz
IHR3aWNlIGZvciB0aGUgc2FtZSB0cmFjawpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uQm94VHJlZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Cb3hUcmVlLmNwcAppbmRl
eCAzYmRjMzJiYWZkMDAwZDE0MjA2ODcwNjIyZWNjMWE4MDQ5YTNjZDVmLi5hNWE2ZjQ1ZTQyNzcw
NTllNjkxN2IxMGE0Y2ZiOGE0YzUzNTc1MTFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Cb3hUcmVlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Cb3hUcmVlLmNw
cApAQCAtNDMsNiArNDMsOSBAQCBuYW1lc3BhY2UgTGF5b3V0SW50ZWdyYXRpb24gewogCiBzdGF0
aWMgY29uc3RleHByIHNpemVfdCBzbWFsbFRyZWVUaHJlc2hvbGQgPSA4OwogCisvLyBGSVhNRTog
c2VlIHdlYmtpdC5vcmcvYi8yMzA5NjQKKyNkZWZpbmUgQ0FOX1VTRV9GSVJTVF9MSU5FX1NUWUxF
X1JFU09MVkUgMAorCiBzdGF0aWMgUmVuZGVyU3R5bGUgcm9vdEJveFN0eWxlKGNvbnN0IFJlbmRl
clN0eWxlJiBzdHlsZSkKIHsKICAgICBhdXRvIGNsb25lZFN0eWxlID0gUmVuZGVyU3R5bGU6OmNs
b25lKHN0eWxlKTsKQEAgLTUwLDkgKzUzLDI0IEBAIHN0YXRpYyBSZW5kZXJTdHlsZSByb290Qm94
U3R5bGUoY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlKQogICAgIHJldHVybiBjbG9uZWRTdHlsZTsK
IH0KIAorc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJTdHlsZT4gcm9vdEJveEZpcnN0TGlu
ZVN0eWxlKGNvbnN0IFJlbmRlckJsb2NrRmxvdyYgcm9vdCkKK3sKKyNpZiBDQU5fVVNFX0ZJUlNU
X0xJTkVfU1RZTEVfUkVTT0xWRQorICAgIGF1dG8mIGZpcnN0TGluZVN0eWxlID0gcm9vdC5maXJz
dExpbmVTdHlsZSgpOworICAgIGlmIChyb290LnN0eWxlKCkgPT0gZmlyc3RMaW5lU3R5bGUpCisg
ICAgICAgIHJldHVybiB7IH07CisgICAgYXV0byBjbG9uZWRTdHlsZSA9IFJlbmRlclN0eWxlOjpj
bG9uZVB0cihmaXJzdExpbmVTdHlsZSk7CisgICAgY2xvbmVkU3R5bGUtPnNldEVmZmVjdGl2ZURp
c3BsYXkoRGlzcGxheVR5cGU6OkJsb2NrKTsKKyAgICByZXR1cm4gY2xvbmVkU3R5bGU7CisjZWxz
ZQorICAgIFVOVVNFRF9QQVJBTShyb290KTsKKyAgICByZXR1cm4geyB9OworI2VuZGlmCit9CisK
IEJveFRyZWU6OkJveFRyZWUoUmVuZGVyQmxvY2tGbG93JiBmbG93KQogICAgIDogbV9mbG93KGZs
b3cpCi0gICAgLCBtX3Jvb3Qocm9vdEJveFN0eWxlKGZsb3cuc3R5bGUoKSkpCisgICAgLCBtX3Jv
b3Qocm9vdEJveFN0eWxlKGZsb3cuc3R5bGUoKSksIHJvb3RCb3hGaXJzdExpbmVTdHlsZShmbG93
KSkKIHsKICAgICBpZiAoZmxvdy5pc0Fub255bW91cygpKQogICAgICAgICBtX3Jvb3Quc2V0SXNB
bm9ueW1vdXMoKTsKQEAgLTYzLDI3ICs4MSwzOCBAQCBCb3hUcmVlOjpCb3hUcmVlKFJlbmRlckJs
b2NrRmxvdyYgZmxvdykKIHZvaWQgQm94VHJlZTo6YnVpbGRUcmVlKCkKIHsKICAgICBhdXRvIGNy
ZWF0ZUNoaWxkQm94ID0gWyZdKFJlbmRlck9iamVjdCYgY2hpbGRSZW5kZXJlcikgLT4gc3RkOjp1
bmlxdWVfcHRyPExheW91dDo6Qm94PiB7CisgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJT
dHlsZT4gZmlyc3RMaW5lU3R5bGU7CisjaWYgQ0FOX1VTRV9GSVJTVF9MSU5FX1NUWUxFX1JFU09M
VkUKKyAgICAgICAgaWYgKCZjaGlsZFJlbmRlcmVyLnN0eWxlKCkgIT0gJmNoaWxkUmVuZGVyZXIu
Zmlyc3RMaW5lU3R5bGUoKSkKKyAgICAgICAgICAgIGZpcnN0TGluZVN0eWxlID0gUmVuZGVyU3R5
bGU6OmNsb25lUHRyKGNoaWxkUmVuZGVyZXIuZmlyc3RMaW5lU3R5bGUoKSk7CisjZW5kaWYKICAg
ICAgICAgaWYgKGlzPFJlbmRlclRleHQ+KGNoaWxkUmVuZGVyZXIpKSB7CiAgICAgICAgICAgICBh
dXRvJiB0ZXh0UmVuZGVyZXIgPSBkb3duY2FzdDxSZW5kZXJUZXh0PihjaGlsZFJlbmRlcmVyKTsK
ICAgICAgICAgICAgIGF1dG8gc3R5bGUgPSBSZW5kZXJTdHlsZTo6Y3JlYXRlQW5vbnltb3VzU3R5
bGVXaXRoRGlzcGxheSh0ZXh0UmVuZGVyZXIuc3R5bGUoKSwgRGlzcGxheVR5cGU6OklubGluZSk7
CiAgICAgICAgICAgICByZXR1cm4gbWFrZVVuaXF1ZTxMYXlvdXQ6OklubGluZVRleHRCb3g+KAog
ICAgICAgICAgICAgICAgIHN0eWxlLnRleHRTZWN1cml0eSgpID09IFRleHRTZWN1cml0eTo6Tm9u
ZSA/IHRleHRSZW5kZXJlci50ZXh0KCkgOiBSZW5kZXJCbG9jazo6dXBkYXRlU2VjdXJpdHlEaXNj
Q2hhcmFjdGVycyhzdHlsZSwgdGV4dFJlbmRlcmVyLnRleHQoKSkKLSAgICAgICAgICAgICAgICAs
IHRleHRSZW5kZXJlci5jYW5Vc2VTaW1wbGlmaWVkVGV4dE1lYXN1cmluZygpLCBXVEZNb3ZlKHN0
eWxlKSk7CisgICAgICAgICAgICAgICAgLCB0ZXh0UmVuZGVyZXIuY2FuVXNlU2ltcGxpZmllZFRl
eHRNZWFzdXJpbmcoKSwgV1RGTW92ZShzdHlsZSksIFdURk1vdmUoZmlyc3RMaW5lU3R5bGUpKTsK
ICAgICAgICAgfQogCiAgICAgICAgIGF1dG8gc3R5bGUgPSBSZW5kZXJTdHlsZTo6Y2xvbmUoY2hp
bGRSZW5kZXJlci5zdHlsZSgpKTsKICAgICAgICAgaWYgKGNoaWxkUmVuZGVyZXIuaXNMaW5lQnJl
YWsoKSkgewotICAgICAgICAgICAgc3R5bGUuc2V0RGlzcGxheShEaXNwbGF5VHlwZTo6SW5saW5l
KTsKLSAgICAgICAgICAgIHN0eWxlLnNldEZsb2F0aW5nKEZsb2F0OjpOb25lKTsKLSAgICAgICAg
ICAgIHN0eWxlLnNldFBvc2l0aW9uKFBvc2l0aW9uVHlwZTo6U3RhdGljKTsKLSAgICAgICAgICAg
IHJldHVybiBtYWtlVW5pcXVlPExheW91dDo6TGluZUJyZWFrQm94Pihkb3duY2FzdDxSZW5kZXJM
aW5lQnJlYWs+KGNoaWxkUmVuZGVyZXIpLmlzV0JSKCksIFdURk1vdmUoc3R5bGUpKTsKKyAgICAg
ICAgICAgIGF1dG8gYWRqdXN0U3R5bGUgPSBbJl0gKGF1dG8mIHN0eWxlVG9BZGp1c3QpIHsKKyAg
ICAgICAgICAgICAgICBzdHlsZVRvQWRqdXN0LnNldERpc3BsYXkoRGlzcGxheVR5cGU6OklubGlu
ZSk7CisgICAgICAgICAgICAgICAgc3R5bGVUb0FkanVzdC5zZXRGbG9hdGluZyhGbG9hdDo6Tm9u
ZSk7CisgICAgICAgICAgICAgICAgc3R5bGVUb0FkanVzdC5zZXRQb3NpdGlvbihQb3NpdGlvblR5
cGU6OlN0YXRpYyk7CisgICAgICAgICAgICB9OworICAgICAgICAgICAgYWRqdXN0U3R5bGUoc3R5
bGUpOworICAgICAgICAgICAgaWYgKGZpcnN0TGluZVN0eWxlKQorICAgICAgICAgICAgICAgIGFk
anVzdFN0eWxlKCpmaXJzdExpbmVTdHlsZSk7CisKKyAgICAgICAgICAgIHJldHVybiBtYWtlVW5p
cXVlPExheW91dDo6TGluZUJyZWFrQm94Pihkb3duY2FzdDxSZW5kZXJMaW5lQnJlYWs+KGNoaWxk
UmVuZGVyZXIpLmlzV0JSKCksIFdURk1vdmUoc3R5bGUpLCBXVEZNb3ZlKGZpcnN0TGluZVN0eWxl
KSk7CiAgICAgICAgIH0KIAogICAgICAgICBpZiAoaXM8UmVuZGVyUmVwbGFjZWQ+KGNoaWxkUmVu
ZGVyZXIpKQotICAgICAgICAgICAgcmV0dXJuIG1ha2VVbmlxdWU8TGF5b3V0OjpSZXBsYWNlZEJv
eD4oTGF5b3V0OjpCb3g6OkVsZW1lbnRBdHRyaWJ1dGVzIHsgaXM8UmVuZGVySW1hZ2U+KGNoaWxk
UmVuZGVyZXIpID8gTGF5b3V0OjpCb3g6OkVsZW1lbnRUeXBlOjpJbWFnZSA6IExheW91dDo6Qm94
OjpFbGVtZW50VHlwZTo6R2VuZXJpY0VsZW1lbnQgfSwgV1RGTW92ZShzdHlsZSkpOworICAgICAg
ICAgICAgcmV0dXJuIG1ha2VVbmlxdWU8TGF5b3V0OjpSZXBsYWNlZEJveD4oTGF5b3V0OjpCb3g6
OkVsZW1lbnRBdHRyaWJ1dGVzIHsgaXM8UmVuZGVySW1hZ2U+KGNoaWxkUmVuZGVyZXIpID8gTGF5
b3V0OjpCb3g6OkVsZW1lbnRUeXBlOjpJbWFnZSA6IExheW91dDo6Qm94OjpFbGVtZW50VHlwZTo6
R2VuZXJpY0VsZW1lbnQgfSwgV1RGTW92ZShzdHlsZSksIFdURk1vdmUoZmlyc3RMaW5lU3R5bGUp
KTsKIAogICAgICAgICBpZiAoaXM8UmVuZGVyQmxvY2s+KGNoaWxkUmVuZGVyZXIpKQotICAgICAg
ICAgICAgcmV0dXJuIG1ha2VVbmlxdWU8TGF5b3V0OjpSZXBsYWNlZEJveD4oTGF5b3V0OjpCb3g6
OkVsZW1lbnRBdHRyaWJ1dGVzIHsgTGF5b3V0OjpCb3g6OkVsZW1lbnRUeXBlOjpHZW5lcmljRWxl
bWVudCB9LCBXVEZNb3ZlKHN0eWxlKSk7CisgICAgICAgICAgICByZXR1cm4gbWFrZVVuaXF1ZTxM
YXlvdXQ6OlJlcGxhY2VkQm94PihMYXlvdXQ6OkJveDo6RWxlbWVudEF0dHJpYnV0ZXMgeyBMYXlv
dXQ6OkJveDo6RWxlbWVudFR5cGU6OkdlbmVyaWNFbGVtZW50IH0sIFdURk1vdmUoc3R5bGUpLCBX
VEZNb3ZlKGZpcnN0TGluZVN0eWxlKSk7CiAKICAgICAgICAgaWYgKGlzPFJlbmRlcklubGluZT4o
Y2hpbGRSZW5kZXJlcikpIHsKICAgICAgICAgICAgIGlmIChjaGlsZFJlbmRlcmVyLnBhcmVudCgp
LT5pc0Fub255bW91c0Jsb2NrKCkpIHsKQEAgLTkxLDE4ICsxMjAsMjMgQEAgdm9pZCBCb3hUcmVl
OjpidWlsZFRyZWUoKQogICAgICAgICAgICAgICAgIGF1dG8mIHJlbmRlcklubGluZSA9IGRvd25j
YXN0PFJlbmRlcklubGluZT4oY2hpbGRSZW5kZXJlcik7CiAgICAgICAgICAgICAgICAgYXV0byBz
aG91bGROb3RSZXRhaW5Cb3JkZXJQYWRkaW5nQW5kTWFyZ2luU3RhcnQgPSByZW5kZXJJbmxpbmUu
aXNDb250aW51YXRpb24oKTsKICAgICAgICAgICAgICAgICBhdXRvIHNob3VsZE5vdFJldGFpbkJv
cmRlclBhZGRpbmdBbmRNYXJnaW5FbmQgPSAhcmVuZGVySW5saW5lLmlzQ29udGludWF0aW9uKCkg
JiYgcmVuZGVySW5saW5lLmlubGluZUNvbnRpbnVhdGlvbigpOwotICAgICAgICAgICAgICAgIGlm
IChzaG91bGROb3RSZXRhaW5Cb3JkZXJQYWRkaW5nQW5kTWFyZ2luU3RhcnQpIHsKLSAgICAgICAg
ICAgICAgICAgICAgc3R5bGUuc2V0TWFyZ2luU3RhcnQoUmVuZGVyU3R5bGU6OmluaXRpYWxNYXJn
aW4oKSk7Ci0gICAgICAgICAgICAgICAgICAgIHN0eWxlLnJlc2V0Qm9yZGVyTGVmdCgpOwotICAg
ICAgICAgICAgICAgICAgICBzdHlsZS5zZXRQYWRkaW5nTGVmdChSZW5kZXJTdHlsZTo6aW5pdGlh
bFBhZGRpbmcoKSk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmIChzaG91
bGROb3RSZXRhaW5Cb3JkZXJQYWRkaW5nQW5kTWFyZ2luRW5kKSB7Ci0gICAgICAgICAgICAgICAg
ICAgIHN0eWxlLnNldE1hcmdpbkVuZChSZW5kZXJTdHlsZTo6aW5pdGlhbE1hcmdpbigpKTsKLSAg
ICAgICAgICAgICAgICAgICAgc3R5bGUucmVzZXRCb3JkZXJSaWdodCgpOwotICAgICAgICAgICAg
ICAgICAgICBzdHlsZS5zZXRQYWRkaW5nUmlnaHQoUmVuZGVyU3R5bGU6OmluaXRpYWxQYWRkaW5n
KCkpOwotICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBhdXRvIGFkanVzdFN0eWxl
Rm9yQ29udGludWF0aW9uID0gWyZdIChhdXRvJiBzdHlsZVRvQWRqdXN0KSB7CisgICAgICAgICAg
ICAgICAgICAgIGlmIChzaG91bGROb3RSZXRhaW5Cb3JkZXJQYWRkaW5nQW5kTWFyZ2luU3RhcnQp
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlVG9BZGp1c3Quc2V0TWFyZ2luU3RhcnQo
UmVuZGVyU3R5bGU6OmluaXRpYWxNYXJnaW4oKSk7CisgICAgICAgICAgICAgICAgICAgICAgICBz
dHlsZVRvQWRqdXN0LnJlc2V0Qm9yZGVyTGVmdCgpOworICAgICAgICAgICAgICAgICAgICAgICAg
c3R5bGVUb0FkanVzdC5zZXRQYWRkaW5nTGVmdChSZW5kZXJTdHlsZTo6aW5pdGlhbFBhZGRpbmco
KSk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgaWYgKHNob3Vs
ZE5vdFJldGFpbkJvcmRlclBhZGRpbmdBbmRNYXJnaW5FbmQpIHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHN0eWxlVG9BZGp1c3Quc2V0TWFyZ2luRW5kKFJlbmRlclN0eWxlOjppbml0aWFsTWFy
Z2luKCkpOworICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGVUb0FkanVzdC5yZXNldEJvcmRl
clJpZ2h0KCk7CisgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZVRvQWRqdXN0LnNldFBhZGRp
bmdSaWdodChSZW5kZXJTdHlsZTo6aW5pdGlhbFBhZGRpbmcoKSk7CisgICAgICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgICAgICB9OworICAgICAgICAgICAgICAgIGFkanVzdFN0eWxlRm9y
Q29udGludWF0aW9uKHN0eWxlKTsKKyAgICAgICAgICAgICAgICBpZiAoZmlyc3RMaW5lU3R5bGUp
CisgICAgICAgICAgICAgICAgICAgIGFkanVzdFN0eWxlRm9yQ29udGludWF0aW9uKCpmaXJzdExp
bmVTdHlsZSk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICByZXR1cm4gbWFrZVVuaXF1ZTxM
YXlvdXQ6OkNvbnRhaW5lckJveD4oTGF5b3V0OjpCb3g6OkVsZW1lbnRBdHRyaWJ1dGVzIHsgTGF5
b3V0OjpCb3g6OkVsZW1lbnRUeXBlOjpHZW5lcmljRWxlbWVudCB9LCBXVEZNb3ZlKHN0eWxlKSk7
CisgICAgICAgICAgICByZXR1cm4gbWFrZVVuaXF1ZTxMYXlvdXQ6OkNvbnRhaW5lckJveD4oTGF5
b3V0OjpCb3g6OkVsZW1lbnRBdHRyaWJ1dGVzIHsgTGF5b3V0OjpCb3g6OkVsZW1lbnRUeXBlOjpH
ZW5lcmljRWxlbWVudCB9LCBXVEZNb3ZlKHN0eWxlKSwgV1RGTW92ZShmaXJzdExpbmVTdHlsZSkp
OwogICAgICAgICB9CiAKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CkBAIC0xMzgsMTUg
KzE3MiwyNSBAQCB2b2lkIEJveFRyZWU6OnVwZGF0ZVN0eWxlKGNvbnN0IFJlbmRlckJveE1vZGVs
T2JqZWN0JiByZW5kZXJlcikKIHsKICAgICBhdXRvJiBsYXlvdXRCb3ggPSBsYXlvdXRCb3hGb3JS
ZW5kZXJlcihyZW5kZXJlcik7CiAgICAgYXV0byYgc3R5bGUgPSByZW5kZXJlci5zdHlsZSgpOwor
ICAgIGF1dG8gZmlyc3RMaW5lU3R5bGUgPSBbJl0gKCkgLT4gc3RkOjp1bmlxdWVfcHRyPFJlbmRl
clN0eWxlPiB7CisjaWYgQ0FOX1VTRV9GSVJTVF9MSU5FX1NUWUxFX1JFU09MVkUKKyAgICAgICAg
aWYgKCZyZW5kZXJlci5zdHlsZSgpICE9ICZyZW5kZXJlci5maXJzdExpbmVTdHlsZSgpKQorICAg
ICAgICAgICAgcmV0dXJuIFJlbmRlclN0eWxlOjpjbG9uZVB0cihyZW5kZXJlci5maXJzdExpbmVT
dHlsZSgpKTsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisjZWxzZQorICAgICAgICByZXR1cm4g
bnVsbHB0cjsKKyNlbmRpZgorICAgIH07CisKICAgICBpZiAoJmxheW91dEJveCA9PSAmcm9vdExh
eW91dEJveCgpKQotICAgICAgICBsYXlvdXRCb3gudXBkYXRlU3R5bGUocm9vdEJveFN0eWxlKHN0
eWxlKSk7CisgICAgICAgIGxheW91dEJveC51cGRhdGVTdHlsZShyb290Qm94U3R5bGUoc3R5bGUp
LCByb290Qm94Rmlyc3RMaW5lU3R5bGUoZG93bmNhc3Q8UmVuZGVyQmxvY2tGbG93PihyZW5kZXJl
cikpKTsKICAgICBlbHNlCi0gICAgICAgIGxheW91dEJveC51cGRhdGVTdHlsZShzdHlsZSk7Cisg
ICAgICAgIGxheW91dEJveC51cGRhdGVTdHlsZShzdHlsZSwgZmlyc3RMaW5lU3R5bGUoKSk7CiAK
ICAgICBpZiAoaXM8TGF5b3V0OjpDb250YWluZXJCb3g+KGxheW91dEJveCkpIHsKICAgICAgICAg
Zm9yIChhdXRvKiBjaGlsZCA9IGRvd25jYXN0PExheW91dDo6Q29udGFpbmVyQm94PihsYXlvdXRC
b3gpLmZpcnN0Q2hpbGQoKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nKCkpIHsK
ICAgICAgICAgICAgIGlmIChjaGlsZC0+aXNJbmxpbmVUZXh0Qm94KCkpCi0gICAgICAgICAgICAg
ICAgY2hpbGQtPnVwZGF0ZVN0eWxlKFJlbmRlclN0eWxlOjpjcmVhdGVBbm9ueW1vdXNTdHlsZVdp
dGhEaXNwbGF5KHN0eWxlLCBEaXNwbGF5VHlwZTo6SW5saW5lKSk7CisgICAgICAgICAgICAgICAg
Y2hpbGQtPnVwZGF0ZVN0eWxlKFJlbmRlclN0eWxlOjpjcmVhdGVBbm9ueW1vdXNTdHlsZVdpdGhE
aXNwbGF5KHN0eWxlLCBEaXNwbGF5VHlwZTo6SW5saW5lKSwgZmlyc3RMaW5lU3R5bGUoKSk7CiAg
ICAgICAgIH0KICAgICB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5
b3V0dHJlZS9MYXlvdXRCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUv
TGF5b3V0Qm94LmNwcAppbmRleCBmZTBhYTExMTljYzdlMjUyYjViYjRmNjU0OGJhN2U4YzcxMjdj
YjQyLi5jNDA3NmY0NTRkM2EwYWNlOTNkZTYwODM5YmUwZGUzMGNjMGZhMTNiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRCb3guY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dEJveC5jcHAKQEAgLTQyLDEzICs0
MiwxNSBAQCBuYW1lc3BhY2UgTGF5b3V0IHsKIAogV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBM
KEJveCk7CiAKLUJveDo6Qm94KHN0ZDo6b3B0aW9uYWw8RWxlbWVudEF0dHJpYnV0ZXM+IGF0dHJp
YnV0ZXMsIFJlbmRlclN0eWxlJiYgc3R5bGUsIE9wdGlvblNldDxCYXNlVHlwZUZsYWc+IGJhc2VU
eXBlRmxhZ3MpCitCb3g6OkJveChzdGQ6Om9wdGlvbmFsPEVsZW1lbnRBdHRyaWJ1dGVzPiBhdHRy
aWJ1dGVzLCBSZW5kZXJTdHlsZSYmIHN0eWxlLCBzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVyU3R5bGU+
JiYgZmlyc3RMaW5lU3R5bGUsIE9wdGlvblNldDxCYXNlVHlwZUZsYWc+IGJhc2VUeXBlRmxhZ3Mp
CiAgICAgOiBtX3N0eWxlKFdURk1vdmUoc3R5bGUpKQogICAgICwgbV9lbGVtZW50QXR0cmlidXRl
cyhhdHRyaWJ1dGVzKQogICAgICwgbV9iYXNlVHlwZUZsYWdzKGJhc2VUeXBlRmxhZ3MudG9SYXco
KSkKICAgICAsIG1faGFzUmFyZURhdGEoZmFsc2UpCiAgICAgLCBtX2lzQW5vbnltb3VzKGZhbHNl
KQogeworICAgIGlmIChmaXJzdExpbmVTdHlsZSkKKyAgICAgICAgZW5zdXJlUmFyZURhdGEoKS5m
aXJzdExpbmVTdHlsZSA9IFdURk1vdmUoZmlyc3RMaW5lU3R5bGUpOwogfQogCiBCb3g6On5Cb3go
KQpAQCAtNTcsOSArNTksMTEgQEAgQm94Ojp+Qm94KCkKICAgICAgICAgcmVtb3ZlUmFyZURhdGEo
KTsKIH0KIAotdm9pZCBCb3g6OnVwZGF0ZVN0eWxlKGNvbnN0IFJlbmRlclN0eWxlJiBuZXdTdHls
ZSkKK3ZvaWQgQm94Ojp1cGRhdGVTdHlsZShjb25zdCBSZW5kZXJTdHlsZSYgbmV3U3R5bGUsIHN0
ZDo6dW5pcXVlX3B0cjxSZW5kZXJTdHlsZT4mJiBuZXdGaXJzdExpbmVTdHlsZSkKIHsKICAgICBt
X3N0eWxlID0gUmVuZGVyU3R5bGU6OmNsb25lKG5ld1N0eWxlKTsKKyAgICBpZiAobmV3Rmlyc3RM
aW5lU3R5bGUpCisgICAgICAgIGVuc3VyZVJhcmVEYXRhKCkuZmlyc3RMaW5lU3R5bGUgPSBXVEZN
b3ZlKG5ld0ZpcnN0TGluZVN0eWxlKTsKIH0KIAogYm9vbCBCb3g6OmVzdGFibGlzaGVzRm9ybWF0
dGluZ0NvbnRleHQoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xh
eW91dHRyZWUvTGF5b3V0Qm94LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9M
YXlvdXRCb3guaAppbmRleCAzNDI2MTg5MGMyMWU5NTAzMTY4MDhjNTFjNWJmYmM5ZDExYzMxYzJj
Li40ZjZlYTAwODI5MjdhOGQ2ODdkMmE5NmMxZGI4NGYxMTcwZjE3YjNiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRCb3guaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRCb3guaApAQCAtMTU5LDggKzE1OSw5IEBA
IHB1YmxpYzoKICAgICBib29sIGlzUGFkZGluZ0FwcGxpY2FibGUoKSBjb25zdDsKICAgICBib29s
IGlzT3ZlcmZsb3dWaXNpYmxlKCkgY29uc3Q7CiAKLSAgICB2b2lkIHVwZGF0ZVN0eWxlKGNvbnN0
IFJlbmRlclN0eWxlJiBuZXdTdHlsZSk7CisgICAgdm9pZCB1cGRhdGVTdHlsZShjb25zdCBSZW5k
ZXJTdHlsZSYgbmV3U3R5bGUsIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJTdHlsZT4mJiBuZXdGaXJz
dExpbmVTdHlsZSk7CiAgICAgY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlKCkgY29uc3QgeyByZXR1
cm4gbV9zdHlsZTsgfQorICAgIGNvbnN0IFJlbmRlclN0eWxlJiBmaXJzdExpbmVTdHlsZSgpIGNv
bnN0IHsgcmV0dXJuIGhhc1JhcmVEYXRhKCkgJiYgcmFyZURhdGEoKS5maXJzdExpbmVTdHlsZSA/
ICpyYXJlRGF0YSgpLmZpcnN0TGluZVN0eWxlIDogbV9zdHlsZTsgfQogCiAgICAgLy8gRklYTUU6
IEZpbmQgYSBiZXR0ZXIgcGxhY2UgZm9yIHJhbmRvbSBET00gdGhpbmdzLgogICAgIHZvaWQgc2V0
Um93U3BhbihzaXplX3QpOwpAQCAtMTgzLDcgKzE4NCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNl
dENhY2hlZEdlb21ldHJ5Rm9yTGF5b3V0U3RhdGUoTGF5b3V0U3RhdGUmLCBzdGQ6OnVuaXF1ZV9w
dHI8Qm94R2VvbWV0cnk+KSBjb25zdDsKIAogcHJvdGVjdGVkOgotICAgIEJveChzdGQ6Om9wdGlv
bmFsPEVsZW1lbnRBdHRyaWJ1dGVzPiwgUmVuZGVyU3R5bGUmJiwgT3B0aW9uU2V0PEJhc2VUeXBl
RmxhZz4pOworICAgIEJveChzdGQ6Om9wdGlvbmFsPEVsZW1lbnRBdHRyaWJ1dGVzPiwgUmVuZGVy
U3R5bGUmJiwgc3RkOjp1bmlxdWVfcHRyPFJlbmRlclN0eWxlPiYmIGZpcnN0TGluZVN0eWxlLCBP
cHRpb25TZXQ8QmFzZVR5cGVGbGFnPik7CiAKIHByaXZhdGU6CiAgICAgY2xhc3MgQm94UmFyZURh
dGEgewpAQCAtMTkzLDYgKzE5NCw3IEBAIHByaXZhdGU6CiAKICAgICAgICAgQ2VsbFNwYW4gdGFi
bGVDZWxsU3BhbjsKICAgICAgICAgc3RkOjpvcHRpb25hbDxMYXlvdXRVbml0PiBjb2x1bW5XaWR0
aDsKKyAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFJlbmRlclN0eWxlPiBmaXJzdExpbmVTdHlsZTsK
ICAgICB9OwogCiAgICAgYm9vbCBoYXNSYXJlRGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1faGFzUmFy
ZURhdGE7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xh
eW91dENvbnRhaW5lckJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9M
YXlvdXRDb250YWluZXJCb3guY3BwCmluZGV4IDljM2U3MTNmMjA5OTYxYWFmZDdlZDJjZTEzNzU3
MzMwMmQ1YWI0YTYuLmE2MjEzODQyYzY0MzE3MThjNGY3ZGU4ZGE1MThkMzg3ODlmYTEwMDkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dENvbnRhaW5l
ckJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0Q29u
dGFpbmVyQm94LmNwcApAQCAtMzYsOCArMzYsOCBAQCBuYW1lc3BhY2UgTGF5b3V0IHsKIAogV1RG
X01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKENvbnRhaW5lckJveCk7CiAKLUNvbnRhaW5lckJveDo6
Q29udGFpbmVyQm94KHN0ZDo6b3B0aW9uYWw8RWxlbWVudEF0dHJpYnV0ZXM+IGF0dHJpYnV0ZXMs
IFJlbmRlclN0eWxlJiYgc3R5bGUsIE9wdGlvblNldDxCYXNlVHlwZUZsYWc+IGJhc2VUeXBlRmxh
Z3MpCi0gICAgOiBCb3goYXR0cmlidXRlcywgV1RGTW92ZShzdHlsZSksIGJhc2VUeXBlRmxhZ3Mg
fCBDb250YWluZXJCb3hGbGFnKQorQ29udGFpbmVyQm94OjpDb250YWluZXJCb3goc3RkOjpvcHRp
b25hbDxFbGVtZW50QXR0cmlidXRlcz4gYXR0cmlidXRlcywgUmVuZGVyU3R5bGUmJiBzdHlsZSwg
c3RkOjp1bmlxdWVfcHRyPFJlbmRlclN0eWxlPiYmIGZpcnN0TGluZVN0eWxlLCBPcHRpb25TZXQ8
QmFzZVR5cGVGbGFnPiBiYXNlVHlwZUZsYWdzKQorICAgIDogQm94KGF0dHJpYnV0ZXMsIFdURk1v
dmUoc3R5bGUpLCBXVEZNb3ZlKGZpcnN0TGluZVN0eWxlKSwgYmFzZVR5cGVGbGFncyB8IENvbnRh
aW5lckJveEZsYWcpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9s
YXlvdXR0cmVlL0xheW91dENvbnRhaW5lckJveC5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xh
eW91dHRyZWUvTGF5b3V0Q29udGFpbmVyQm94LmgKaW5kZXggZTBhZmE0YThiNzVmOWY0NThiYzY1
MjEyZWRkMjBmYTNjOTJiYzcwNy4uMWNmYzRmMDFhMGNjOTYzNjE2OWFiYmY1NDBlMjI1ZmEzOGJi
YmEzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0
Q29udGFpbmVyQm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5
b3V0Q29udGFpbmVyQm94LmgKQEAgLTM5LDcgKzM5LDcgQEAgbmFtZXNwYWNlIExheW91dCB7CiBj
bGFzcyBDb250YWluZXJCb3ggOiBwdWJsaWMgQm94IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NB
VEVEKENvbnRhaW5lckJveCk7CiBwdWJsaWM6Ci0gICAgQ29udGFpbmVyQm94KHN0ZDo6b3B0aW9u
YWw8RWxlbWVudEF0dHJpYnV0ZXM+LCBSZW5kZXJTdHlsZSYmLCBPcHRpb25TZXQ8QmFzZVR5cGVG
bGFnPiA9IHsgQ29udGFpbmVyQm94RmxhZyB9KTsKKyAgICBDb250YWluZXJCb3goc3RkOjpvcHRp
b25hbDxFbGVtZW50QXR0cmlidXRlcz4sIFJlbmRlclN0eWxlJiYsIHN0ZDo6dW5pcXVlX3B0cjxS
ZW5kZXJTdHlsZT4mJiBmaXJzdExpbmVTdHlsZSA9IG51bGxwdHIsIE9wdGlvblNldDxCYXNlVHlw
ZUZsYWc+ID0geyBDb250YWluZXJCb3hGbGFnIH0pOwogCiAgICAgY29uc3QgQm94KiBmaXJzdENo
aWxkKCkgY29uc3QgeyByZXR1cm4gbV9maXJzdENoaWxkOyB9CiAgICAgY29uc3QgQm94KiBmaXJz
dEluRmxvd0NoaWxkKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
bGF5b3V0dHJlZS9MYXlvdXRJbml0aWFsQ29udGFpbmluZ0Jsb2NrLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dEluaXRpYWxDb250YWluaW5nQmxvY2suY3BwCmlu
ZGV4IGFjNGNkZjcwZTA5OTVmYzYyZDBiODU5ZjRkYWM2MDBlZDYyZDI1YmQuLjA3OWIyM2I5NGY5
MjYyNmI5ZGM4YjE0Y2FiMmNmZjFiODc5NTdmMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9sYXlvdXR0cmVlL0xheW91dEluaXRpYWxDb250YWluaW5nQmxvY2suY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dEluaXRpYWxDb250YWluaW5n
QmxvY2suY3BwCkBAIC0zNiw4ICszNiw4IEBAIG5hbWVzcGFjZSBMYXlvdXQgewogCiBXVEZfTUFL
RV9JU09fQUxMT0NBVEVEX0lNUEwoSW5pdGlhbENvbnRhaW5pbmdCbG9jayk7CiAKLUluaXRpYWxD
b250YWluaW5nQmxvY2s6OkluaXRpYWxDb250YWluaW5nQmxvY2soUmVuZGVyU3R5bGUmJiBzdHls
ZSkKLSAgICA6IENvbnRhaW5lckJveCh7IH0sIFdURk1vdmUoc3R5bGUpLCBCb3g6OkluaXRpYWxD
b250YWluaW5nQmxvY2tGbGFnKQorSW5pdGlhbENvbnRhaW5pbmdCbG9jazo6SW5pdGlhbENvbnRh
aW5pbmdCbG9jayhSZW5kZXJTdHlsZSYmIHN0eWxlLCBzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVyU3R5
bGU+JiYgZmlyc3RMaW5lU3R5bGUpCisgICAgOiBDb250YWluZXJCb3goeyB9LCBXVEZNb3ZlKHN0
eWxlKSwgV1RGTW92ZShmaXJzdExpbmVTdHlsZSksIEJveDo6SW5pdGlhbENvbnRhaW5pbmdCbG9j
a0ZsYWcpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0
cmVlL0xheW91dEluaXRpYWxDb250YWluaW5nQmxvY2suaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9sYXlvdXR0cmVlL0xheW91dEluaXRpYWxDb250YWluaW5nQmxvY2suaAppbmRleCA5MDJlZGFh
OTNjMzNkZTE3YzNmODc0MjE3MDJiZjM2YjA2MGEwZWQ4Li5iZDljZTdkNTE4N2ZkY2IxZWE4YTFl
Mjk0ZGE3ZTc1ZTU3NmYxM2ZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5
b3V0dHJlZS9MYXlvdXRJbml0aWFsQ29udGFpbmluZ0Jsb2NrLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0SW5pdGlhbENvbnRhaW5pbmdCbG9jay5oCkBAIC0z
Niw3ICszNiw3IEBAIG5hbWVzcGFjZSBMYXlvdXQgewogY2xhc3MgSW5pdGlhbENvbnRhaW5pbmdC
bG9jayBmaW5hbCA6IHB1YmxpYyBDb250YWluZXJCb3ggewogICAgIFdURl9NQUtFX0lTT19BTExP
Q0FURUQoSW5pdGlhbENvbnRhaW5pbmdCbG9jayk7CiBwdWJsaWM6Ci0gICAgSW5pdGlhbENvbnRh
aW5pbmdCbG9jayhSZW5kZXJTdHlsZSYmKTsKKyAgICBJbml0aWFsQ29udGFpbmluZ0Jsb2NrKFJl
bmRlclN0eWxlJiYsIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJTdHlsZT4mJiBmaXJzdExpbmVTdHls
ZSA9IG51bGxwdHIpOwogICAgIHZpcnR1YWwgfkluaXRpYWxDb250YWluaW5nQmxvY2soKSA9IGRl
ZmF1bHQ7CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5
b3V0dHJlZS9MYXlvdXRJbmxpbmVUZXh0Qm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9s
YXlvdXR0cmVlL0xheW91dElubGluZVRleHRCb3guY3BwCmluZGV4IDk1ODdiNjk1NmM2OTc0OWY5
YWFkYjhkZDUxZTc3ZjhkMDYzMmUxYWMuLmNjOTM5OTdhNzE3YjAzNDc5NDU2MmFmOTZkYjIwMzg1
ZDkwOThjNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xh
eW91dElubGluZVRleHRCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0
cmVlL0xheW91dElubGluZVRleHRCb3guY3BwCkBAIC0zNiw4ICszNiw4IEBAIG5hbWVzcGFjZSBM
YXlvdXQgewogCiBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoSW5saW5lVGV4dEJveCk7CiAK
LUlubGluZVRleHRCb3g6OklubGluZVRleHRCb3goU3RyaW5nIGNvbnRlbnQsIGJvb2wgY2FuVXNl
U2ltcGxpZmllZENvbnRlbnRNZWFzdXJpbmcsIFJlbmRlclN0eWxlJiYgc3R5bGUpCi0gICAgOiBC
b3goeyB9LCBXVEZNb3ZlKHN0eWxlKSwgQm94OjpJbmxpbmVUZXh0Qm94RmxhZykKK0lubGluZVRl
eHRCb3g6OklubGluZVRleHRCb3goU3RyaW5nIGNvbnRlbnQsIGJvb2wgY2FuVXNlU2ltcGxpZmll
ZENvbnRlbnRNZWFzdXJpbmcsIFJlbmRlclN0eWxlJiYgc3R5bGUsIHN0ZDo6dW5pcXVlX3B0cjxS
ZW5kZXJTdHlsZT4mJiBmaXJzdExpbmVTdHlsZSkKKyAgICA6IEJveCh7IH0sIFdURk1vdmUoc3R5
bGUpLCBXVEZNb3ZlKGZpcnN0TGluZVN0eWxlKSwgQm94OjpJbmxpbmVUZXh0Qm94RmxhZykKICAg
ICAsIG1fY29udGVudChjb250ZW50KQogICAgICwgbV9jYW5Vc2VTaW1wbGlmaWVkQ29udGVudE1l
YXN1cmluZyhjYW5Vc2VTaW1wbGlmaWVkQ29udGVudE1lYXN1cmluZykKIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dElubGluZVRleHRCb3guaCBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dElubGluZVRleHRCb3guaApp
bmRleCBmMTY3YzNmMDg3MjE5ZGVhNGViMGFhYTRhMTcyMjg4MjEzNTg5ZDc4Li5mOWZiYzVhMzVl
ZTc2OGE1MGRkZmZiMGUzZWJlZmI0MmU3Y2I3ODBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRJbmxpbmVUZXh0Qm94LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0SW5saW5lVGV4dEJveC5oCkBAIC0zNyw3ICsz
Nyw3IEBAIG5hbWVzcGFjZSBMYXlvdXQgewogY2xhc3MgSW5saW5lVGV4dEJveCA6IHB1YmxpYyBC
b3ggewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoSW5saW5lVGV4dEJveCk7CiBwdWJsaWM6
Ci0gICAgSW5saW5lVGV4dEJveChTdHJpbmcsIGJvb2wgY2FuVXNlU2ltcGxpZmllZENvbnRlbnRN
ZWFzdXJpbmcsIFJlbmRlclN0eWxlJiYpOworICAgIElubGluZVRleHRCb3goU3RyaW5nLCBib29s
IGNhblVzZVNpbXBsaWZpZWRDb250ZW50TWVhc3VyaW5nLCBSZW5kZXJTdHlsZSYmLCBzdGQ6OnVu
aXF1ZV9wdHI8UmVuZGVyU3R5bGU+JiYgZmlyc3RMaW5lU3R5bGUgPSBudWxscHRyKTsKICAgICB2
aXJ0dWFsIH5JbmxpbmVUZXh0Qm94KCkgPSBkZWZhdWx0OwogCiAgICAgU3RyaW5nIGNvbnRlbnQo
KSBjb25zdCB7IHJldHVybiBtX2NvbnRlbnQ7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9sYXlvdXR0cmVlL0xheW91dExpbmVCcmVha0JveC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRMaW5lQnJlYWtCb3guY3BwCmluZGV4IGFhMDBiODY3
NzQyOTBkMDk3OWRiZDY5MzJjOGIzZWEzYTViOWEyNDMuLjEzOTE4MmViNjZiYmVmNmU1YzQwM2Zi
N2Q0OGVjZmJiYTU0NGNiOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlv
dXR0cmVlL0xheW91dExpbmVCcmVha0JveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2xheW91dHRyZWUvTGF5b3V0TGluZUJyZWFrQm94LmNwcApAQCAtMzYsOCArMzYsOCBAQCBuYW1l
c3BhY2UgTGF5b3V0IHsKIAogV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKExpbmVCcmVha0Jv
eCk7CiAKLUxpbmVCcmVha0JveDo6TGluZUJyZWFrQm94KGJvb2wgaXNPcHRpb25hbCwgUmVuZGVy
U3R5bGUmJiBzdHlsZSkKLSAgICA6IEJveCh7IH0sIFdURk1vdmUoc3R5bGUpLCBCb3g6OkxpbmVC
cmVha0JveEZsYWcpCitMaW5lQnJlYWtCb3g6OkxpbmVCcmVha0JveChib29sIGlzT3B0aW9uYWws
IFJlbmRlclN0eWxlJiYgc3R5bGUsIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJTdHlsZT4mJiBmaXJz
dExpbmVTdHlsZSkKKyAgICA6IEJveCh7IH0sIFdURk1vdmUoc3R5bGUpLCBXVEZNb3ZlKGZpcnN0
TGluZVN0eWxlKSwgQm94OjpMaW5lQnJlYWtCb3hGbGFnKQogICAgICwgbV9pc09wdGlvbmFsKGlz
T3B0aW9uYWwpCiB7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0
dHJlZS9MYXlvdXRMaW5lQnJlYWtCb3guaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0
cmVlL0xheW91dExpbmVCcmVha0JveC5oCmluZGV4IGIwYzRhYjg3ZTFlM2VjYzNkMzIyODMyMWJl
MWRhOWU5NjZmZjZhNzkuLmJkOWIxMzUyMWM0OThmMzU4MjlmZjEyYjBhY2YwMjM3NjVjZmQ4Njkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dExpbmVC
cmVha0JveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dExp
bmVCcmVha0JveC5oCkBAIC0zNyw3ICszNyw3IEBAIG5hbWVzcGFjZSBMYXlvdXQgewogY2xhc3Mg
TGluZUJyZWFrQm94IDogcHVibGljIEJveCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChM
aW5lQnJlYWtCb3gpOwogcHVibGljOgotICAgIExpbmVCcmVha0JveChib29sIGlzT3B0aW9uYWws
IFJlbmRlclN0eWxlJiYpOworICAgIExpbmVCcmVha0JveChib29sIGlzT3B0aW9uYWwsIFJlbmRl
clN0eWxlJiYsIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJTdHlsZT4mJiBmaXJzdExpbmVTdHlsZSA9
IG51bGxwdHIpOwogCiAgICAgYm9vbCBpc09wdGlvbmFsKCkgY29uc3QgeyByZXR1cm4gbV9pc09w
dGlvbmFsOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVl
L0xheW91dFJlcGxhY2VkQm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVl
L0xheW91dFJlcGxhY2VkQm94LmNwcAppbmRleCA2NDM4NGI5YTk4M2EyN2MzMTBkNmJmNzMwMTkx
ZWYyNzFkYzZlZDk4Li4wNjRhOGNhYjRmNjExNGRlNjViYWE1YzBiMjcxODhlZTBjMTU2NTU1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRSZXBsYWNl
ZEJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0UmVw
bGFjZWRCb3guY3BwCkBAIC0zNiw4ICszNiw4IEBAIG5hbWVzcGFjZSBMYXlvdXQgewogCiBXVEZf
TUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoUmVwbGFjZWRCb3gpOwogCi1SZXBsYWNlZEJveDo6UmVw
bGFjZWRCb3goc3RkOjpvcHRpb25hbDxFbGVtZW50QXR0cmlidXRlcz4gZWxlbWVudEF0dHJpYnV0
ZXMsIFJlbmRlclN0eWxlJiYgc3R5bGUpCi0gICAgOiBCb3goZWxlbWVudEF0dHJpYnV0ZXMsIFdU
Rk1vdmUoc3R5bGUpLCBCb3g6OlJlcGxhY2VkQm94RmxhZykKK1JlcGxhY2VkQm94OjpSZXBsYWNl
ZEJveChzdGQ6Om9wdGlvbmFsPEVsZW1lbnRBdHRyaWJ1dGVzPiBlbGVtZW50QXR0cmlidXRlcywg
UmVuZGVyU3R5bGUmJiBzdHlsZSwgc3RkOjp1bmlxdWVfcHRyPFJlbmRlclN0eWxlPiYmIGZpcnN0
TGluZVN0eWxlKQorICAgIDogQm94KGVsZW1lbnRBdHRyaWJ1dGVzLCBXVEZNb3ZlKHN0eWxlKSwg
V1RGTW92ZShmaXJzdExpbmVTdHlsZSksIEJveDo6UmVwbGFjZWRCb3hGbGFnKQogewogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRSZXBsYWNl
ZEJveC5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0UmVwbGFjZWRC
b3guaAppbmRleCA0NWZlNDc2ZDdmMGM4YzRlN2I4NzA1OTIwNmZmNjNmNTBkOWFiZmM4Li5kZWYx
Njk2ZmU0YzdmODA5ZDE3ZjFmMGFiNDE1MTEzMzE4NzhjMmVlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRSZXBsYWNlZEJveC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dFJlcGxhY2VkQm94LmgKQEAgLTM5LDcg
KzM5LDcgQEAgbmFtZXNwYWNlIExheW91dCB7CiBjbGFzcyBSZXBsYWNlZEJveCA6IHB1YmxpYyBC
b3ggewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoUmVwbGFjZWRCb3gpOwogcHVibGljOgot
ICAgIFJlcGxhY2VkQm94KHN0ZDo6b3B0aW9uYWw8RWxlbWVudEF0dHJpYnV0ZXM+LCBSZW5kZXJT
dHlsZSYmKTsKKyAgICBSZXBsYWNlZEJveChzdGQ6Om9wdGlvbmFsPEVsZW1lbnRBdHRyaWJ1dGVz
PiwgUmVuZGVyU3R5bGUmJiwgc3RkOjp1bmlxdWVfcHRyPFJlbmRlclN0eWxlPiYmIGZpcnN0TGlu
ZVN0eWxlID0gbnVsbHB0cik7CiAgICAgdmlydHVhbCB+UmVwbGFjZWRCb3goKSA9IGRlZmF1bHQ7
CiAKICAgICB2b2lkIHNldENhY2hlZEltYWdlKENhY2hlZEltYWdlJiBjYWNoZWRJbWFnZSkgeyBt
X2NhY2hlZEltYWdlID0gJmNhY2hlZEltYWdlOyB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>