<?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>191308</bug_id>
          
          <creation_ts>2018-11-06 08:49:19 -0800</creation_ts>
          <short_desc>CSS grid elements with justify-content: space-around have extra whitespace, sometimes a lot</short_desc>
          <delta_ts>2018-11-06 13:46:24 -0800</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>
          
          <see_also>https://bugs.chromium.org/p/chromium/issues/detail?id=844744</see_also>
          <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="Javier Fernandez">jfernandez</reporter>
          <assigned_to name="Javier Fernandez">jfernandez</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>jfernandez</cc>
    
    <cc>rego</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>svillar</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1475550</commentid>
    <comment_count>0</comment_count>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2018-11-06 08:49:19 -0800</bug_when>
    <thetext>Steps to reproduce the problem:
1. Create a grid element where the total width of the columns is less than the width of the element itself.
2. Add justify-content: space-around to the grid element.
3. Add a child element with a large amount of text, and assign a very narrow overall width on the grid element, as if it were a mobile layout. This makes the bug more pronounced and easier to see.

What is the expected behavior?
The child element should only be as tall as the text inside it, as seen in Firefox.

What went wrong?
A gap appears at the bottom the child element, after the text.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1475553</commentid>
    <comment_count>1</comment_count>
      <attachid>353971</attachid>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2018-11-06 09:11:37 -0800</bug_when>
    <thetext>Created attachment 353971
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1475589</commentid>
    <comment_count>2</comment_count>
      <attachid>353971</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2018-11-06 11:17:25 -0800</bug_when>
    <thetext>Comment on attachment 353971
Patch

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

&gt; Source/WebCore/rendering/GridTrackSizingAlgorithm.cpp:565
&gt; +        // FIXME (jfernandez) Content Alignment should account for this heuristic

Nit. Punctuation.

&gt; Source/WebCore/rendering/RenderGrid.cpp:1605
&gt; +    auto&amp; offset =
&gt; +        isRowAxis ? m_offsetBetweenColumns : m_offsetBetweenRows;

Nit: Should be one line.

&gt; Source/WebCore/rendering/RenderGrid.cpp:1624
&gt; +        positionOffset = LayoutUnit();

I don&apos;t think this line is necessary.

&gt; Source/WebCore/rendering/RenderGrid.cpp:1645
&gt; +            positionOffset = LayoutUnit();

Nor this one.

&gt; Source/WebCore/rendering/RenderGrid.h:42
&gt; +    bool isValid() { return positionOffset &gt;= 0 &amp;&amp; distributionOffset &gt;= 0; }

const</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1475633</commentid>
    <comment_count>3</comment_count>
      <attachid>353989</attachid>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2018-11-06 12:46:06 -0800</bug_when>
    <thetext>Created attachment 353989
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1475670</commentid>
    <comment_count>4</comment_count>
      <attachid>353989</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-11-06 13:45:50 -0800</bug_when>
    <thetext>Comment on attachment 353989
Patch

Clearing flags on attachment: 353989

Committed r237884: &lt;https://trac.webkit.org/changeset/237884&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1475671</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-11-06 13:45:51 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1475672</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-11-06 13:46:24 -0800</bug_when>
    <thetext>&lt;rdar://problem/45854716&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>353971</attachid>
            <date>2018-11-06 09:11:37 -0800</date>
            <delta_ts>2018-11-06 12:46:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-191308-20181106181136.patch</filename>
            <type>text/plain</type>
            <size>38581</size>
            <attacher name="Javier Fernandez">jfernandez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM3ODUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTY0MDlkYWRiMDE2Mzdh
MjY0NDcyMzVhNGUxMDNiMjJlNjYzNWE5ZC4uZjk4NzJmOWM5N2QxZmU3YWUyODM3ZDA4YjhiZGE3
MjQ3MTk3MGM4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDE4LTExLTA2ICBKYXZp
ZXIgRmVybmFuZGV6ICA8amZlcm5hbmRlekBpZ2FsaWEuY29tPgorCisgICAgICAgIENTUyBncmlk
IGVsZW1lbnRzIHdpdGgganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgaGF2ZSBleHRyYSB3
aGl0ZXNwYWNlLCBzb21ldGltZXMgYSBsb3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE5MTMwOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFRoZSBDU1MgV0cgcmVzb2x2ZWQgWzFdIHRoYXQgQ29udGVudCBB
bGlnbm1lbnQgc2hvdWxkIGFjY291bnQgdG8gdGhlCisgICAgICAgIHRyYWNrIHNpemluZyBhbGdv
cml0aG0uCisKKyAgICAgICAgVGhlIHNpemluZyBhbGdvcml0aG0gaGFzIGJlZW4gbW9kaWZpZWQg
c28gdGhhdCB0d28gbmV3IHN0ZXBzICgxLjUKKyAgICAgICAgYW5kIDIuNSkgd2VyZSBhZGRlZCB0
byBjb21wdXRlIHRoZSBDb250ZW50IEFsaWdubWVudCBvZmZzZXRzIGFmdGVyCisgICAgICAgIHJl
c29sdmluZyB0aGUgY29sdW1ucycgYW5kIHJvd3MnIHNpemVzIHJlc3BlY3RpdmVseS4KKworICAg
ICAgICBUaGlzIGNoYW5nZSBkZWNvdXBsZXMgdGhlIENvbnRlbnQgQWxpZ25tZW50IGxvZ2ljIGZy
b20gdGhlIHRyYWNrcworICAgICAgICBwb3NpdGlvbiwgc28gdGhhdCB3ZSBjYW4gdXNlIGl0IGFz
IHBhcnQgb2YgdGhlIHRyYWNrIHNpemluZyBhbGdvcml0aG0uCisKKyAgICAgICAgSSBhbHNvIGhh
ZCB0byBzdG9yZSB0aGUgd2hvbGUgQ29udGVudEFsaWdubWVudERhdGEgc3RydWN0dXJlIGluIHR3
bworICAgICAgICBjbGFzcyBhdHRyaWJ1dGVzLiBXZSBuZWVkIGJvdGgsIHBvc2l0aW9uIGFuZCBk
aXN0cmlidXRpb24gb2Zmc2V0cywgdG8KKyAgICAgICAgYmUgdXNlZCBpbiBkaWZmZXJlbnQgcGFy
dHMgb2YgdGhlIGxheW91dCBsb2dpYy4KKworICAgICAgICBbMV0gaHR0cHM6Ly9naXRodWIuY29t
L3czYy9jc3N3Zy1kcmFmdHMvaXNzdWVzLzI1NTcKKworICAgICAgICBUZXN0czogaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvbGF5b3V0LWFsZ29yaXRobS9ncmlk
LWNvbnRlbnQtZGlzdHJpYnV0aW9uLW11c3QtYWNjb3VudC1mb3ItdHJhY2stc2l6aW5nLTAwMS5o
dG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtZ3JpZC9sYXlvdXQtYWxnb3JpdGhtL2dyaWQtY29udGVudC1kaXN0cmlidXRpb24tbXVzdC1h
Y2NvdW50LWZvci10cmFjay1zaXppbmctMDAyLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL2xheW91dC1hbGdvcml0aG0vZ3Jp
ZC1jb250ZW50LWRpc3RyaWJ1dGlvbi1tdXN0LWFjY291bnQtZm9yLXRyYWNrLXNpemluZy0wMDMu
aHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWdyaWQvbGF5b3V0LWFsZ29yaXRobS9ncmlkLWNvbnRlbnQtZGlzdHJpYnV0aW9uLW11c3Qt
YWNjb3VudC1mb3ItdHJhY2stc2l6aW5nLTAwNC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9sYXlvdXQtYWxnb3JpdGhtL2dy
aWQtcGVyY2VudC1jb2xzLWZpbGxlZC1zaHJpbmt3cmFwLTAwMS5odG1sCisgICAgICAgICAgICAg
ICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9sYXlvdXQtYWxn
b3JpdGhtL2dyaWQtcGVyY2VudC1jb2xzLXNwYW5uZWQtc2hyaW5rd3JhcC0wMDEuaHRtbAorICAg
ICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQv
bGF5b3V0LWFsZ29yaXRobS9ncmlkLXBlcmNlbnQtcm93cy1maWxsZWQtc2hyaW5rd3JhcC0wMDEu
aHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWdyaWQvbGF5b3V0LWFsZ29yaXRobS9ncmlkLXBlcmNlbnQtcm93cy1zcGFubmVkLXNocmlu
a3dyYXAtMDAxLmh0bWwKKworICAgICAgICAqIHJlbmRlcmluZy9HcmlkVHJhY2tTaXppbmdBbGdv
cml0aG0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtOjpn
cmlkQXJlYUJyZWFkdGhGb3JDaGlsZCBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ckdyaWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6cmVwZWF0VHJhY2tzU2l6
aW5nSWZOZWVkZWQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6bGF5b3V0QmxvY2sp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6Z3JpZEl0ZW1PZmZzZXQgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6dHJhY2tTaXplc0ZvckNvbXB1dGVkU3R5bGUg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6cG9wdWxhdGVHcmlkUG9zaXRp
b25zRm9yRGlyZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6OmdyaWRBcmVh
QnJlYWR0aEZvck91dE9mRmxvd0NoaWxkKToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnRlbnREaXN0
cmlidXRpb25PZmZzZXQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6Y29tcHV0ZUNv
bnRlbnRQb3NpdGlvbkFuZERpc3RyaWJ1dGlvbk9mZnNldCk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJHcmlkOjpub25Db2xsYXBzZWRUcmFja3MgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJHcmlkLmg6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50QWxpZ25tZW50RGF0YTo6
aXNWYWxpZCk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50QWxpZ25tZW50RGF0YTo6ZGVmYXVs
dE9mZnNldHMpOgorCiAyMDE4LTExLTA2ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgU29tZSBtaW5vciBYLUNvbnRlbnQtVHlwZS1PcHRpb25zIHBhcnNpbmcgaXNzdWVz
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxn
b3JpdGhtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkVHJhY2tTaXppbmdBbGdv
cml0aG0uY3BwCmluZGV4IDc1M2ZiYjgxMjY4MGFjYWNmOTFjMDU3YWFkYjRmMmNhNTI5ZDZhOTMu
LmIzYzIxYzVhNDE2ZTFiZTk4NTQ4ZjFhMTdlNGU0ZjhlNDUxYTE0ZmIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0uY3BwCkBA
IC01NTUsMTEgKzU1NSwxOSBAQCBMYXlvdXRVbml0IEdyaWRUcmFja1NpemluZ0FsZ29yaXRobTo6
YXNzdW1lZFJvd3NTaXplRm9yT3J0aG9nb25hbENoaWxkKGNvbnN0IFJlbgogCiBMYXlvdXRVbml0
IEdyaWRUcmFja1NpemluZ0FsZ29yaXRobTo6Z3JpZEFyZWFCcmVhZHRoRm9yQ2hpbGQoY29uc3Qg
UmVuZGVyQm94JiBjaGlsZCwgR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uIGRpcmVjdGlvbikgY29u
c3QKIHsKKyAgICBib29sIGFkZENvbnRlbnRBbGlnbm1lbnRPZmZzZXQgPQorICAgICAgICBkaXJl
Y3Rpb24gPT0gRm9yQ29sdW1ucyAmJiBtX3NpemluZ1N0YXRlID09IFJvd1NpemluZ0ZpcnN0SXRl
cmF0aW9uOwogICAgIC8vIFRvIGRldGVybWluZSB0aGUgY29sdW1uIHRyYWNrJ3Mgc2l6ZSBiYXNl
ZCBvbiBhbiBvcnRob2dvbmFsIGdyaWQgaXRlbSB3ZSBuZWVkIGl0J3MgbG9naWNhbAogICAgIC8v
IGhlaWdodCwgd2hpY2ggbWF5IGRlcGVuZCBvbiB0aGUgcm93IHRyYWNrJ3Mgc2l6ZS4gSXQncyBw
b3NzaWJsZSB0aGF0IHRoZSByb3cgdHJhY2tzIHNpemluZwogICAgIC8vIGxvZ2ljIGhhcyBub3Qg
YmVlbiBwZXJmb3JtZWQgeWV0LCBzbyB3ZSB3aWxsIG5lZWQgdG8gZG8gYW4gZXN0aW1hdGlvbi4K
LSAgICBpZiAoZGlyZWN0aW9uID09IEZvclJvd3MgJiYgbV9zaXppbmdTdGF0ZSA9PSBDb2x1bW5T
aXppbmdGaXJzdEl0ZXJhdGlvbikKLSAgICAgICAgcmV0dXJuIGFzc3VtZWRSb3dzU2l6ZUZvck9y
dGhvZ29uYWxDaGlsZChjaGlsZCk7CisgICAgaWYgKGRpcmVjdGlvbiA9PSBGb3JSb3dzICYmICht
X3NpemluZ1N0YXRlID09IENvbHVtblNpemluZ0ZpcnN0SXRlcmF0aW9uIHx8IG1fc2l6aW5nU3Rh
dGUgPT0gQ29sdW1uU2l6aW5nU2Vjb25kSXRlcmF0aW9uKSkgeworICAgICAgICBBU1NFUlQoR3Jp
ZExheW91dEZ1bmN0aW9uczo6aXNPcnRob2dvbmFsQ2hpbGQoKm1fcmVuZGVyR3JpZCwgY2hpbGQp
KTsKKyAgICAgICAgLy8gRklYTUUgKGpmZXJuYW5kZXopIENvbnRlbnQgQWxpZ25tZW50IHNob3Vs
ZCBhY2NvdW50IGZvciB0aGlzIGhldXJpc3RpYworICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5j
b20vdzNjL2Nzc3dnLWRyYWZ0cy9pc3N1ZXMvMjY5NworICAgICAgICBpZiAobV9zaXppbmdTdGF0
ZSA9PSBDb2x1bW5TaXppbmdGaXJzdEl0ZXJhdGlvbikKKyAgICAgICAgICAgIHJldHVybiBhc3N1
bWVkUm93c1NpemVGb3JPcnRob2dvbmFsQ2hpbGQoY2hpbGQpOworICAgICAgICBhZGRDb250ZW50
QWxpZ25tZW50T2Zmc2V0ID0gdHJ1ZTsKKyAgICB9CiAKICAgICBjb25zdCBWZWN0b3I8R3JpZFRy
YWNrPiYgYWxsVHJhY2tzID0gdHJhY2tzKGRpcmVjdGlvbik7CiAgICAgY29uc3QgR3JpZFNwYW4m
IHNwYW4gPSBtX2dyaWQuZ3JpZEl0ZW1TcGFuKGNoaWxkLCBkaXJlY3Rpb24pOwpAQCAtNTY3LDYg
KzU3NSw5IEBAIExheW91dFVuaXQgR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtOjpncmlkQXJlYUJy
ZWFkdGhGb3JDaGlsZChjb25zdCBSZW5kZXJCb3gmIGNoCiAgICAgZm9yIChhdXRvIHRyYWNrUG9z
aXRpb24gOiBzcGFuKQogICAgICAgICBncmlkQXJlYUJyZWFkdGggKz0gYWxsVHJhY2tzW3RyYWNr
UG9zaXRpb25dLmJhc2VTaXplKCk7CiAKKyAgICBpZiAoYWRkQ29udGVudEFsaWdubWVudE9mZnNl
dCkKKyAgICAgICAgZ3JpZEFyZWFCcmVhZHRoICs9IChzcGFuLmludGVnZXJTcGFuKCkgLSAxKSAq
IG1fcmVuZGVyR3JpZC0+Z3JpZEl0ZW1PZmZzZXQoZGlyZWN0aW9uKTsKKwogICAgIGdyaWRBcmVh
QnJlYWR0aCArPSBtX3JlbmRlckdyaWQtPmd1dHRlcnNTaXplKG1fZ3JpZCwgZGlyZWN0aW9uLCBz
cGFuLnN0YXJ0TGluZSgpLCBzcGFuLmludGVnZXJTcGFuKCksIGF2YWlsYWJsZVNwYWNlKGRpcmVj
dGlvbikpOwogCiAgICAgcmV0dXJuIGdyaWRBcmVhQnJlYWR0aDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJHcmlkLmNwcAppbmRleCA4OTc1ZGU0ZDU0NTZjOWI1Mjc1N2M3YzA2MWE4YjI3
ZmJkNjU2MTE1Li5hMWY2MTI3MGM5OGYyNGUxNzU3YmQ0MjkyOGY4MzMxMzFhMDkxNGFiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwCkBAIC00OSwxNiArNDksNiBAQCBl
bnVtIFRyYWNrU2l6ZVJlc3RyaWN0aW9uIHsKICAgICBGb3JiaWRJbmZpbml0eSwKIH07CiAKLXN0
cnVjdCBDb250ZW50QWxpZ25tZW50RGF0YSB7Ci0gICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
Ci1wdWJsaWM6Ci0gICAgYm9vbCBpc1ZhbGlkKCkgeyByZXR1cm4gcG9zaXRpb25PZmZzZXQgPj0g
MCAmJiBkaXN0cmlidXRpb25PZmZzZXQgPj0gMDsgfQotICAgIHN0YXRpYyBDb250ZW50QWxpZ25t
ZW50RGF0YSBkZWZhdWx0T2Zmc2V0cygpIHsgcmV0dXJuIHstMSwgLTF9OyB9Ci0KLSAgICBMYXlv
dXRVbml0IHBvc2l0aW9uT2Zmc2V0OwotICAgIExheW91dFVuaXQgZGlzdHJpYnV0aW9uT2Zmc2V0
OwotfTsKLQogUmVuZGVyR3JpZDo6UmVuZGVyR3JpZChFbGVtZW50JiBlbGVtZW50LCBSZW5kZXJT
dHlsZSYmIHN0eWxlKQogICAgIDogUmVuZGVyQmxvY2soZWxlbWVudCwgV1RGTW92ZShzdHlsZSks
IDApCiAgICAgLCBtX2dyaWQoKnRoaXMpCkBAIC0xNzAsNyArMTYwLDkgQEAgdm9pZCBSZW5kZXJH
cmlkOjpyZXBlYXRUcmFja3NTaXppbmdJZk5lZWRlZChMYXlvdXRVbml0IGF2YWlsYWJsZVNwYWNl
Rm9yQ29sdW1ucywKICAgICAvLyBjb25kaXRpb24gdG8gZGV0ZWN0IHdoZXRoZXIgY2hpbGQncyBt
aW4tY29udGVudCBjb250cmlidXRpb24gaGFzIGNoYW5nZWQgb3Igbm90LgogICAgIGlmIChtX2dy
aWQuaGFzQW55T3J0aG9nb25hbEdyaWRJdGVtKCkgfHwgbV90cmFja1NpemluZ0FsZ29yaXRobS5o
YXNBbnlQZXJjZW50U2l6ZWRSb3dzSW5kZWZpbml0ZUhlaWdodCgpKSB7CiAgICAgICAgIGNvbXB1
dGVUcmFja1NpemVzRm9yRGVmaW5pdGVTaXplKEZvckNvbHVtbnMsIGF2YWlsYWJsZVNwYWNlRm9y
Q29sdW1ucyk7CisgICAgICAgIGNvbXB1dGVDb250ZW50UG9zaXRpb25BbmREaXN0cmlidXRpb25P
ZmZzZXQoRm9yQ29sdW1ucywgbV90cmFja1NpemluZ0FsZ29yaXRobS5mcmVlU3BhY2UoRm9yQ29s
dW1ucykudmFsdWUoKSwgbm9uQ29sbGFwc2VkVHJhY2tzKEZvckNvbHVtbnMpKTsKICAgICAgICAg
Y29tcHV0ZVRyYWNrU2l6ZXNGb3JEZWZpbml0ZVNpemUoRm9yUm93cywgYXZhaWxhYmxlU3BhY2VG
b3JSb3dzKTsKKyAgICAgICAgY29tcHV0ZUNvbnRlbnRQb3NpdGlvbkFuZERpc3RyaWJ1dGlvbk9m
ZnNldChGb3JSb3dzLCBtX3RyYWNrU2l6aW5nQWxnb3JpdGhtLmZyZWVTcGFjZShGb3JSb3dzKS52
YWx1ZSgpLCBub25Db2xsYXBzZWRUcmFja3MoRm9yUm93cykpOwogICAgIH0KIH0KIApAQCAtMjI2
LDEyICsyMTgsMjAgQEAgdm9pZCBSZW5kZXJHcmlkOjpsYXlvdXRCbG9jayhib29sIHJlbGF5b3V0
Q2hpbGRyZW4sIExheW91dFVuaXQpCiAgICAgICAgIExheW91dFVuaXQgYXZhaWxhYmxlU3BhY2VG
b3JDb2x1bW5zID0gYXZhaWxhYmxlTG9naWNhbFdpZHRoKCk7CiAgICAgICAgIHBsYWNlSXRlbXNP
bkdyaWQobV9ncmlkLCBhdmFpbGFibGVTcGFjZUZvckNvbHVtbnMpOwogCi0gICAgICAgIC8vIEF0
IHRoaXMgcG9pbnQgdGhlIGxvZ2ljYWwgd2lkdGggaXMgYWx3YXlzIGRlZmluaXRlIGFzIHRoZSBh
Ym92ZSBjYWxsIHRvIHVwZGF0ZUxvZ2ljYWxXaWR0aCgpCi0gICAgICAgIC8vIHByb3Blcmx5IHJl
c29sdmVzIGludHJpbnNpYyBzaXplcy4gV2UgY2Fubm90IGRvIHRoZSBzYW1lIGZvciBoZWlnaHRz
IHRob3VnaCBiZWNhdXNlIG1hbnkgY29kZQotICAgICAgICAvLyBwYXRocyBpbnNpZGUgdXBkYXRl
TG9naWNhbEhlaWdodCgpIHJlcXVpcmUgYSBwcmV2aW91cyBjYWxsIHRvIHNldExvZ2ljYWxIZWln
aHQoKSB0byByZXNvbHZlCi0gICAgICAgIC8vIGhlaWdodHMgcHJvcGVybHkgKGxpa2UgZm9yIHBv
c2l0aW9uZWQgaXRlbXMgZm9yIGV4YW1wbGUpLgorICAgICAgICAvLyAxLSBGaXJzdCwgdGhlIHRy
YWNrIHNpemluZyBhbGdvcml0aG0gaXMgdXNlZCB0byByZXNvbHZlIHRoZSBzaXplcyBvZiB0aGUK
KyAgICAgICAgLy8gZ3JpZCBjb2x1bW5zLgorICAgICAgICAvLyBBdCB0aGlzIHBvaW50IHRoZSBs
b2dpY2FsIHdpZHRoIGlzIGFsd2F5cyBkZWZpbml0ZSBhcyB0aGUgYWJvdmUgY2FsbCB0bworICAg
ICAgICAvLyB1cGRhdGVMb2dpY2FsV2lkdGgoKSBwcm9wZXJseSByZXNvbHZlcyBpbnRyaW5zaWMg
c2l6ZXMuIFdlIGNhbm5vdCBkbyB0aGUKKyAgICAgICAgLy8gc2FtZSBmb3IgaGVpZ2h0cyB0aG91
Z2ggYmVjYXVzZSBtYW55IGNvZGUgcGF0aHMgaW5zaWRlCisgICAgICAgIC8vIHVwZGF0ZUxvZ2lj
YWxIZWlnaHQoKSByZXF1aXJlIGEgcHJldmlvdXMgY2FsbCB0byBzZXRMb2dpY2FsSGVpZ2h0KCkg
dG8KKyAgICAgICAgLy8gcmVzb2x2ZSBoZWlnaHRzIHByb3Blcmx5IChsaWtlIGZvciBwb3NpdGlv
bmVkIGl0ZW1zIGZvciBleGFtcGxlKS4KICAgICAgICAgY29tcHV0ZVRyYWNrU2l6ZXNGb3JEZWZp
bml0ZVNpemUoRm9yQ29sdW1ucywgYXZhaWxhYmxlU3BhY2VGb3JDb2x1bW5zKTsKIAorICAgICAg
ICAvLyAxLjUtIENvbXB1dGUgQ29udGVudCBEaXN0cmlidXRpb24gb2Zmc2V0cyBmb3IgY29sdW1u
IHRyYWNrcworICAgICAgICBjb21wdXRlQ29udGVudFBvc2l0aW9uQW5kRGlzdHJpYnV0aW9uT2Zm
c2V0KEZvckNvbHVtbnMsIG1fdHJhY2tTaXppbmdBbGdvcml0aG0uZnJlZVNwYWNlKEZvckNvbHVt
bnMpLnZhbHVlKCksIG5vbkNvbGxhcHNlZFRyYWNrcyhGb3JDb2x1bW5zKSk7CisKKyAgICAgICAg
Ly8gMi0gTmV4dCwgdGhlIHRyYWNrIHNpemluZyBhbGdvcml0aG0gcmVzb2x2ZXMgdGhlIHNpemVz
IG9mIHRoZSBncmlkIHJvd3MsCisgICAgICAgIC8vIHVzaW5nIHRoZSBncmlkIGNvbHVtbiBzaXpl
cyBjYWxjdWxhdGVkIGluIHRoZSBwcmV2aW91cyBzdGVwLgogICAgICAgICBpZiAoIWhhc0RlZmlu
aXRlTG9naWNhbEhlaWdodCkgewogICAgICAgICAgICAgbV9taW5Db250ZW50SGVpZ2h0ID0gTGF5
b3V0VW5pdCgpOwogICAgICAgICAgICAgbV9tYXhDb250ZW50SGVpZ2h0ID0gTGF5b3V0VW5pdCgp
OwpAQCAtMjU2LDYgKzI1Niw5IEBAIHZvaWQgUmVuZGVyR3JpZDo6bGF5b3V0QmxvY2soYm9vbCBy
ZWxheW91dENoaWxkcmVuLCBMYXlvdXRVbml0KQogICAgICAgICBpZiAoIWhhc0RlZmluaXRlTG9n
aWNhbEhlaWdodCkKICAgICAgICAgICAgIG1fdHJhY2tTaXppbmdBbGdvcml0aG0uc2V0RnJlZVNw
YWNlKEZvclJvd3MsIGxvZ2ljYWxIZWlnaHQoKSAtIHRyYWNrQmFzZWRMb2dpY2FsSGVpZ2h0KTsK
IAorICAgICAgICAvLyAyLjUtIENvbXB1dGUgQ29udGVudCBEaXN0cmlidXRpb24gb2Zmc2V0cyBm
b3Igcm93cyB0cmFja3MKKyAgICAgICAgY29tcHV0ZUNvbnRlbnRQb3NpdGlvbkFuZERpc3RyaWJ1
dGlvbk9mZnNldChGb3JSb3dzLCBtX3RyYWNrU2l6aW5nQWxnb3JpdGhtLmZyZWVTcGFjZShGb3JS
b3dzKS52YWx1ZSgpLCBub25Db2xsYXBzZWRUcmFja3MoRm9yUm93cykpOworCiAgICAgICAgIC8v
IDMtIElmIHRoZSBtaW4tY29udGVudCBjb250cmlidXRpb24gb2YgYW55IGdyaWQgaXRlbXMgaGF2
ZSBjaGFuZ2VkIGJhc2VkIG9uIHRoZSByb3cKICAgICAgICAgLy8gc2l6ZXMgY2FsY3VsYXRlZCBp
biBzdGVwIDIsIHN0ZXBzIDEgYW5kIDIgYXJlIHJlcGVhdGVkIHdpdGggdGhlIG5ldyBtaW4tY29u
dGVudAogICAgICAgICAvLyBjb250cmlidXRpb24gKG9uY2Ugb25seSkuCkBAIC0zMTAsNyArMzEz
LDcgQEAgTGF5b3V0VW5pdCBSZW5kZXJHcmlkOjpncmlkR2FwKEdyaWRUcmFja1NpemluZ0RpcmVj
dGlvbiBkaXJlY3Rpb24pIGNvbnN0CiAKIExheW91dFVuaXQgUmVuZGVyR3JpZDo6Z3JpZEl0ZW1P
ZmZzZXQoR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uIGRpcmVjdGlvbikgY29uc3QKIHsKLSAgICBy
ZXR1cm4gZGlyZWN0aW9uID09IEZvclJvd3MgPyBtX29mZnNldEJldHdlZW5Sb3dzIDogbV9vZmZz
ZXRCZXR3ZWVuQ29sdW1uczsKKyAgICByZXR1cm4gZGlyZWN0aW9uID09IEZvclJvd3MgPyBtX29m
ZnNldEJldHdlZW5Sb3dzLmRpc3RyaWJ1dGlvbk9mZnNldCA6IG1fb2Zmc2V0QmV0d2VlbkNvbHVt
bnMuZGlzdHJpYnV0aW9uT2Zmc2V0OwogfQogCiBMYXlvdXRVbml0IFJlbmRlckdyaWQ6Omd1dHRl
cnNTaXplKGNvbnN0IEdyaWQmIGdyaWQsIEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiBkaXJlY3Rp
b24sIHVuc2lnbmVkIHN0YXJ0TGluZSwgdW5zaWduZWQgc3Bhbiwgc3RkOjpvcHRpb25hbDxMYXlv
dXRVbml0PiBhdmFpbGFibGVTaXplKSBjb25zdApAQCAtODA1LDcgKzgwOCw3IEBAIFZlY3RvcjxM
YXlvdXRVbml0PiBSZW5kZXJHcmlkOjp0cmFja1NpemVzRm9yQ29tcHV0ZWRTdHlsZShHcmlkVHJh
Y2tTaXppbmdEaXJlY3RpCiAgICAgYm9vbCBpc1Jvd0F4aXMgPSBkaXJlY3Rpb24gPT0gRm9yQ29s
dW1uczsKICAgICBhdXRvJiBwb3NpdGlvbnMgPSBpc1Jvd0F4aXMgPyBtX2NvbHVtblBvc2l0aW9u
cyA6IG1fcm93UG9zaXRpb25zOwogICAgIHNpemVfdCBudW1Qb3NpdGlvbnMgPSBwb3NpdGlvbnMu
c2l6ZSgpOwotICAgIExheW91dFVuaXQgb2Zmc2V0QmV0d2VlblRyYWNrcyA9IGlzUm93QXhpcyA/
IG1fb2Zmc2V0QmV0d2VlbkNvbHVtbnMgOiBtX29mZnNldEJldHdlZW5Sb3dzOworICAgIExheW91
dFVuaXQgb2Zmc2V0QmV0d2VlblRyYWNrcyA9IGlzUm93QXhpcyA/IG1fb2Zmc2V0QmV0d2VlbkNv
bHVtbnMuZGlzdHJpYnV0aW9uT2Zmc2V0IDogbV9vZmZzZXRCZXR3ZWVuUm93cy5kaXN0cmlidXRp
b25PZmZzZXQ7CiAKICAgICBWZWN0b3I8TGF5b3V0VW5pdD4gdHJhY2tzOwogICAgIGlmIChudW1Q
b3NpdGlvbnMgPCAyKQpAQCAtOTYyLDcgKzk2NSw3IEBAIHZvaWQgUmVuZGVyR3JpZDo6cG9wdWxh
dGVHcmlkUG9zaXRpb25zRm9yRGlyZWN0aW9uKEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiBkaXJl
CiAgICAgdW5zaWduZWQgbGFzdExpbmUgPSBudW1iZXJPZkxpbmVzIC0gMTsKICAgICBib29sIGhh
c0NvbGxhcHNlZFRyYWNrcyA9IG1fZ3JpZC5oYXNBdXRvUmVwZWF0RW1wdHlUcmFja3MoZGlyZWN0
aW9uKTsKICAgICBzaXplX3QgbnVtYmVyT2ZDb2xsYXBzZWRUcmFja3MgPSBoYXNDb2xsYXBzZWRU
cmFja3MgPyBtX2dyaWQuYXV0b1JlcGVhdEVtcHR5VHJhY2tzKGRpcmVjdGlvbiktPnNpemUoKSA6
IDA7Ci0gICAgQ29udGVudEFsaWdubWVudERhdGEgb2Zmc2V0ID0gY29tcHV0ZUNvbnRlbnRQb3Np
dGlvbkFuZERpc3RyaWJ1dGlvbk9mZnNldChkaXJlY3Rpb24sIG1fdHJhY2tTaXppbmdBbGdvcml0
aG0uZnJlZVNwYWNlKGRpcmVjdGlvbikudmFsdWUoKSwgbnVtYmVyT2ZUcmFja3MgLSBudW1iZXJP
ZkNvbGxhcHNlZFRyYWNrcyk7CisgICAgY29uc3QgYXV0byYgb2Zmc2V0ID0gZGlyZWN0aW9uID09
IEZvckNvbHVtbnMgPyBtX29mZnNldEJldHdlZW5Db2x1bW5zIDogbV9vZmZzZXRCZXR3ZWVuUm93
czsKICAgICBhdXRvJiBwb3NpdGlvbnMgPSBpc1Jvd0F4aXMgPyBtX2NvbHVtblBvc2l0aW9ucyA6
IG1fcm93UG9zaXRpb25zOwogICAgIHBvc2l0aW9ucy5yZXNpemUobnVtYmVyT2ZMaW5lcyk7CiAg
ICAgYXV0byBib3JkZXJBbmRQYWRkaW5nID0gaXNSb3dBeGlzID8gYm9yZGVyQW5kUGFkZGluZ0xv
Z2ljYWxMZWZ0KCkgOiBib3JkZXJBbmRQYWRkaW5nQmVmb3JlKCk7CkBAIC05OTksOCArMTAwMiw2
IEBAIHZvaWQgUmVuZGVyR3JpZDo6cG9wdWxhdGVHcmlkUG9zaXRpb25zRm9yRGlyZWN0aW9uKEdy
aWRUcmFja1NpemluZ0RpcmVjdGlvbiBkaXJlCiAgICAgICAgICAgICBwb3NpdGlvbnNbbGFzdExp
bmVdICs9IGdhcEFjY3VtdWxhdG9yIC0gb2Zmc2V0QWNjdW11bGF0b3I7CiAgICAgICAgIH0KICAg
ICB9Ci0gICAgYXV0byYgb2Zmc2V0QmV0d2VlblRyYWNrcyA9IGlzUm93QXhpcyA/IG1fb2Zmc2V0
QmV0d2VlbkNvbHVtbnMgOiBtX29mZnNldEJldHdlZW5Sb3dzOwotICAgIG9mZnNldEJldHdlZW5U
cmFja3MgPSBvZmZzZXQuZGlzdHJpYnV0aW9uT2Zmc2V0OwogfQogCiBzdGF0aWMgTGF5b3V0VW5p
dCBjb21wdXRlT3ZlcmZsb3dBbGlnbm1lbnRPZmZzZXQoT3ZlcmZsb3dBbGlnbm1lbnQgb3ZlcmZs
b3csIExheW91dFVuaXQgdHJhY2tTaXplLCBMYXlvdXRVbml0IGNoaWxkU2l6ZSkKQEAgLTE0NjIs
NyArMTQ2Myw3IEBAIExheW91dFVuaXQgUmVuZGVyR3JpZDo6Z3JpZEFyZWFCcmVhZHRoRm9yT3V0
T2ZGbG93Q2hpbGQoY29uc3QgUmVuZGVyQm94JiBjaGlsZCwKICAgICAgICAgaWYgKGVuZExpbmUg
PiAwICYmIGVuZExpbmUgPCBsYXN0TGluZSkgewogICAgICAgICAgICAgQVNTRVJUKCFtX2dyaWQu
bmVlZHNJdGVtc1BsYWNlbWVudCgpKTsKICAgICAgICAgICAgIGVuZCAtPSBndXR0ZXJzU2l6ZSht
X2dyaWQsIGRpcmVjdGlvbiwgZW5kTGluZSAtIDEsIDIsIGF2YWlsYWJsZVNpemVGb3JHdXR0ZXJz
KTsKLSAgICAgICAgICAgIGVuZCAtPSBpc1Jvd0F4aXMgPyBtX29mZnNldEJldHdlZW5Db2x1bW5z
IDogbV9vZmZzZXRCZXR3ZWVuUm93czsKKyAgICAgICAgICAgIGVuZCAtPSBpc1Jvd0F4aXMgPyBt
X29mZnNldEJldHdlZW5Db2x1bW5zLmRpc3RyaWJ1dGlvbk9mZnNldCA6IG1fb2Zmc2V0QmV0d2Vl
blJvd3MuZGlzdHJpYnV0aW9uT2Zmc2V0OwogICAgICAgICB9CiAgICAgfQogICAgIHJldHVybiBz
dGQ6Om1heChlbmQgLSBzdGFydCwgTGF5b3V0VW5pdCgpKTsKQEAgLTE1NTAsMzUgKzE1NTEsNDYg
QEAgQ29udGVudFBvc2l0aW9uIHN0YXRpYyByZXNvbHZlQ29udGVudERpc3RyaWJ1dGlvbkZhbGxi
YWNrKENvbnRlbnREaXN0cmlidXRpb24gZGkKICAgICByZXR1cm4gQ29udGVudFBvc2l0aW9uOjpO
b3JtYWw7CiB9CiAKLXN0YXRpYyBDb250ZW50QWxpZ25tZW50RGF0YSBjb250ZW50RGlzdHJpYnV0
aW9uT2Zmc2V0KGNvbnN0IExheW91dFVuaXQmIGF2YWlsYWJsZUZyZWVTcGFjZSwgQ29udGVudFBv
c2l0aW9uJiBmYWxsYmFja1Bvc2l0aW9uLCBDb250ZW50RGlzdHJpYnV0aW9uIGRpc3RyaWJ1dGlv
biwgdW5zaWduZWQgbnVtYmVyT2ZHcmlkVHJhY2tzKQorc3RhdGljIHZvaWQgY29udGVudERpc3Ry
aWJ1dGlvbk9mZnNldChDb250ZW50QWxpZ25tZW50RGF0YSYgb2Zmc2V0LCBjb25zdCBMYXlvdXRV
bml0JiBhdmFpbGFibGVGcmVlU3BhY2UsIENvbnRlbnRQb3NpdGlvbiYgZmFsbGJhY2tQb3NpdGlv
biwgQ29udGVudERpc3RyaWJ1dGlvbiBkaXN0cmlidXRpb24sIHVuc2lnbmVkIG51bWJlck9mR3Jp
ZFRyYWNrcykKIHsKICAgICBpZiAoZGlzdHJpYnV0aW9uICE9IENvbnRlbnREaXN0cmlidXRpb246
OkRlZmF1bHQgJiYgZmFsbGJhY2tQb3NpdGlvbiA9PSBDb250ZW50UG9zaXRpb246Ok5vcm1hbCkK
ICAgICAgICAgZmFsbGJhY2tQb3NpdGlvbiA9IHJlc29sdmVDb250ZW50RGlzdHJpYnV0aW9uRmFs
bGJhY2soZGlzdHJpYnV0aW9uKTsKIAorICAgIC8vIEluaXRpYWxpemUgdG8gYW4gaW52YWxpZCBv
ZmZzZXQuCisgICAgb2Zmc2V0LnBvc2l0aW9uT2Zmc2V0ID0gTGF5b3V0VW5pdCgtMSk7CisgICAg
b2Zmc2V0LmRpc3RyaWJ1dGlvbk9mZnNldCA9IExheW91dFVuaXQoLTEpOwogICAgIGlmIChhdmFp
bGFibGVGcmVlU3BhY2UgPD0gMCkKLSAgICAgICAgcmV0dXJuIENvbnRlbnRBbGlnbm1lbnREYXRh
OjpkZWZhdWx0T2Zmc2V0cygpOworICAgICAgICByZXR1cm47CiAKKyAgICBMYXlvdXRVbml0IHBv
c2l0aW9uT2Zmc2V0OwogICAgIExheW91dFVuaXQgZGlzdHJpYnV0aW9uT2Zmc2V0OwogICAgIHN3
aXRjaCAoZGlzdHJpYnV0aW9uKSB7CiAgICAgY2FzZSBDb250ZW50RGlzdHJpYnV0aW9uOjpTcGFj
ZUJldHdlZW46CiAgICAgICAgIGlmIChudW1iZXJPZkdyaWRUcmFja3MgPCAyKQotICAgICAgICAg
ICAgcmV0dXJuIENvbnRlbnRBbGlnbm1lbnREYXRhOjpkZWZhdWx0T2Zmc2V0cygpOwotICAgICAg
ICByZXR1cm4gezAsIGF2YWlsYWJsZUZyZWVTcGFjZSAvIChudW1iZXJPZkdyaWRUcmFja3MgLSAx
KX07CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIGRpc3RyaWJ1dGlvbk9mZnNldCA9IGF2
YWlsYWJsZUZyZWVTcGFjZSAvIChudW1iZXJPZkdyaWRUcmFja3MgLSAxKTsKKyAgICAgICAgcG9z
aXRpb25PZmZzZXQgPSBMYXlvdXRVbml0KCk7CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ29u
dGVudERpc3RyaWJ1dGlvbjo6U3BhY2VBcm91bmQ6CiAgICAgICAgIGlmIChudW1iZXJPZkdyaWRU
cmFja3MgPCAxKQotICAgICAgICAgICAgcmV0dXJuIENvbnRlbnRBbGlnbm1lbnREYXRhOjpkZWZh
dWx0T2Zmc2V0cygpOworICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBkaXN0cmlidXRpb25P
ZmZzZXQgPSBhdmFpbGFibGVGcmVlU3BhY2UgLyBudW1iZXJPZkdyaWRUcmFja3M7Ci0gICAgICAg
IHJldHVybiB7ZGlzdHJpYnV0aW9uT2Zmc2V0IC8gMiwgZGlzdHJpYnV0aW9uT2Zmc2V0fTsKKyAg
ICAgICAgcG9zaXRpb25PZmZzZXQgPSBkaXN0cmlidXRpb25PZmZzZXQgLyAyOworICAgICAgICBi
cmVhazsKICAgICBjYXNlIENvbnRlbnREaXN0cmlidXRpb246OlNwYWNlRXZlbmx5OgogICAgICAg
ICBkaXN0cmlidXRpb25PZmZzZXQgPSBhdmFpbGFibGVGcmVlU3BhY2UgLyAobnVtYmVyT2ZHcmlk
VHJhY2tzICsgMSk7Ci0gICAgICAgIHJldHVybiB7ZGlzdHJpYnV0aW9uT2Zmc2V0LCBkaXN0cmli
dXRpb25PZmZzZXR9OworICAgICAgICBwb3NpdGlvbk9mZnNldCA9IGRpc3RyaWJ1dGlvbk9mZnNl
dDsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDb250ZW50RGlzdHJpYnV0aW9uOjpTdHJldGNo
OgogICAgIGNhc2UgQ29udGVudERpc3RyaWJ1dGlvbjo6RGVmYXVsdDoKLSAgICAgICAgcmV0dXJu
IENvbnRlbnRBbGlnbm1lbnREYXRhOjpkZWZhdWx0T2Zmc2V0cygpOworICAgICAgICByZXR1cm47
CisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJl
dHVybjsKICAgICB9CiAKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gQ29u
dGVudEFsaWdubWVudERhdGE6OmRlZmF1bHRPZmZzZXRzKCk7CisgICAgb2Zmc2V0LnBvc2l0aW9u
T2Zmc2V0ID0gcG9zaXRpb25PZmZzZXQ7CisgICAgb2Zmc2V0LmRpc3RyaWJ1dGlvbk9mZnNldCA9
IGRpc3RyaWJ1dGlvbk9mZnNldDsKIH0KIAogU3R5bGVDb250ZW50QWxpZ25tZW50RGF0YSBSZW5k
ZXJHcmlkOjpjb250ZW50QWxpZ25tZW50KEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiBkaXJlY3Rp
b24pIGNvbnN0CkBAIC0xNTg2LDU0ICsxNTk4LDY5IEBAIFN0eWxlQ29udGVudEFsaWdubWVudERh
dGEgUmVuZGVyR3JpZDo6Y29udGVudEFsaWdubWVudChHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24K
ICAgICByZXR1cm4gZGlyZWN0aW9uID09IEZvckNvbHVtbnMgPyBzdHlsZSgpLnJlc29sdmVkSnVz
dGlmeUNvbnRlbnQoY29udGVudEFsaWdubWVudE5vcm1hbEJlaGF2aW9yR3JpZCgpKSA6IHN0eWxl
KCkucmVzb2x2ZWRBbGlnbkNvbnRlbnQoY29udGVudEFsaWdubWVudE5vcm1hbEJlaGF2aW9yR3Jp
ZCgpKTsKIH0KIAotQ29udGVudEFsaWdubWVudERhdGEgUmVuZGVyR3JpZDo6Y29tcHV0ZUNvbnRl
bnRQb3NpdGlvbkFuZERpc3RyaWJ1dGlvbk9mZnNldChHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24g
ZGlyZWN0aW9uLCBjb25zdCBMYXlvdXRVbml0JiBhdmFpbGFibGVGcmVlU3BhY2UsIHVuc2lnbmVk
IG51bWJlck9mR3JpZFRyYWNrcykgY29uc3QKK3ZvaWQgUmVuZGVyR3JpZDo6Y29tcHV0ZUNvbnRl
bnRQb3NpdGlvbkFuZERpc3RyaWJ1dGlvbk9mZnNldChHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24g
ZGlyZWN0aW9uLCBjb25zdCBMYXlvdXRVbml0JiBhdmFpbGFibGVGcmVlU3BhY2UsIHVuc2lnbmVk
IG51bWJlck9mR3JpZFRyYWNrcykKIHsKICAgICBib29sIGlzUm93QXhpcyA9IGRpcmVjdGlvbiA9
PSBGb3JDb2x1bW5zOworICAgIGF1dG8mIG9mZnNldCA9CisgICAgICAgIGlzUm93QXhpcyA/IG1f
b2Zmc2V0QmV0d2VlbkNvbHVtbnMgOiBtX29mZnNldEJldHdlZW5Sb3dzOwogICAgIGF1dG8gY29u
dGVudEFsaWdubWVudERhdGEgPSBjb250ZW50QWxpZ25tZW50KGRpcmVjdGlvbik7CiAgICAgYXV0
byBwb3NpdGlvbiA9IGNvbnRlbnRBbGlnbm1lbnREYXRhLnBvc2l0aW9uKCk7CiAgICAgLy8gSWYg
PGNvbnRlbnQtZGlzdHJpYnV0aW9uPiB2YWx1ZSBjYW4ndCBiZSBhcHBsaWVkLCAncG9zaXRpb24n
IHdpbGwgYmVjb21lIHRoZSBhc3NvY2lhdGVkCiAgICAgLy8gPGNvbnRlbnQtcG9zaXRpb24+IGZh
bGxiYWNrIHZhbHVlLgotICAgIGF1dG8gY29udGVudEFsaWdubWVudCA9IGNvbnRlbnREaXN0cmli
dXRpb25PZmZzZXQoYXZhaWxhYmxlRnJlZVNwYWNlLCBwb3NpdGlvbiwgY29udGVudEFsaWdubWVu
dERhdGEuZGlzdHJpYnV0aW9uKCksIG51bWJlck9mR3JpZFRyYWNrcyk7Ci0gICAgaWYgKGNvbnRl
bnRBbGlnbm1lbnQuaXNWYWxpZCgpKQotICAgICAgICByZXR1cm4gY29udGVudEFsaWdubWVudDsK
KyAgICBjb250ZW50RGlzdHJpYnV0aW9uT2Zmc2V0KG9mZnNldCwgYXZhaWxhYmxlRnJlZVNwYWNl
LCBwb3NpdGlvbiwgY29udGVudEFsaWdubWVudERhdGEuZGlzdHJpYnV0aW9uKCksIG51bWJlck9m
R3JpZFRyYWNrcyk7CisgICAgaWYgKG9mZnNldC5pc1ZhbGlkKCkpCisgICAgICAgIHJldHVybjsK
IAotICAgIGlmIChhdmFpbGFibGVGcmVlU3BhY2UgPD0gMCAmJiBjb250ZW50QWxpZ25tZW50RGF0
YS5vdmVyZmxvdygpID09IE92ZXJmbG93QWxpZ25tZW50OjpTYWZlKQotICAgICAgICByZXR1cm4g
ezAsIDB9OworICAgIGlmIChhdmFpbGFibGVGcmVlU3BhY2UgPD0gMCAmJiBjb250ZW50QWxpZ25t
ZW50RGF0YS5vdmVyZmxvdygpID09IE92ZXJmbG93QWxpZ25tZW50OjpTYWZlKSB7CisgICAgICAg
IG9mZnNldC5wb3NpdGlvbk9mZnNldCA9IExheW91dFVuaXQoKTsKKyAgICAgICAgb2Zmc2V0LmRp
c3RyaWJ1dGlvbk9mZnNldCA9IExheW91dFVuaXQoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
IAorICAgIExheW91dFVuaXQgcG9zaXRpb25PZmZzZXQ7CiAgICAgc3dpdGNoIChwb3NpdGlvbikg
ewogICAgIGNhc2UgQ29udGVudFBvc2l0aW9uOjpMZWZ0OgotICAgICAgICAvLyBUaGUgYWxpZ24t
Y29udGVudCdzIGF4aXMgaXMgYWx3YXlzIG9ydGhvZ29uYWwgdG8gdGhlIGlubGluZS1heGlzLgot
ICAgICAgICByZXR1cm4gezAsIDB9OworICAgICAgICBBU1NFUlQoaXNSb3dBeGlzKTsKKyAgICAg
ICAgcG9zaXRpb25PZmZzZXQgPSBMYXlvdXRVbml0KCk7CisgICAgICAgIGJyZWFrOwogICAgIGNh
c2UgQ29udGVudFBvc2l0aW9uOjpSaWdodDoKLSAgICAgICAgaWYgKGlzUm93QXhpcykKLSAgICAg
ICAgICAgIHJldHVybiB7YXZhaWxhYmxlRnJlZVNwYWNlLCAwfTsKLSAgICAgICAgLy8gVGhlIGFs
aWduLWNvbnRlbnQncyBheGlzIGlzIGFsd2F5cyBvcnRob2dvbmFsIHRvIHRoZSBpbmxpbmUtYXhp
cy4KLSAgICAgICAgcmV0dXJuIHswLCAwfTsKKyAgICAgICAgQVNTRVJUKGlzUm93QXhpcyk7Cisg
ICAgICAgIHBvc2l0aW9uT2Zmc2V0ID0gYXZhaWxhYmxlRnJlZVNwYWNlOworICAgICAgICBicmVh
azsKICAgICBjYXNlIENvbnRlbnRQb3NpdGlvbjo6Q2VudGVyOgotICAgICAgICByZXR1cm4ge2F2
YWlsYWJsZUZyZWVTcGFjZSAvIDIsIDB9OworICAgICAgICBwb3NpdGlvbk9mZnNldCA9IGF2YWls
YWJsZUZyZWVTcGFjZSAvIDI7CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ29udGVudFBvc2l0
aW9uOjpGbGV4RW5kOiAvLyBPbmx5IHVzZWQgaW4gZmxleCBsYXlvdXQsIGZvciBvdGhlciBsYXlv
dXQsIGl0J3MgZXF1aXZhbGVudCB0byAnZW5kJy4KICAgICBjYXNlIENvbnRlbnRQb3NpdGlvbjo6
RW5kOgogICAgICAgICBpZiAoaXNSb3dBeGlzKQotICAgICAgICAgICAgcmV0dXJuIHtzdHlsZSgp
LmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSA/IGF2YWlsYWJsZUZyZWVTcGFjZSA6IExheW91dFVu
aXQoKSwgTGF5b3V0VW5pdCgpfTsKLSAgICAgICAgcmV0dXJuIHthdmFpbGFibGVGcmVlU3BhY2Us
IDB9OworICAgICAgICAgICAgcG9zaXRpb25PZmZzZXQgPSBzdHlsZSgpLmlzTGVmdFRvUmlnaHRE
aXJlY3Rpb24oKSA/IGF2YWlsYWJsZUZyZWVTcGFjZSA6IExheW91dFVuaXQoKTsKKyAgICAgICAg
ZWxzZQorICAgICAgICAgICAgcG9zaXRpb25PZmZzZXQgPSBhdmFpbGFibGVGcmVlU3BhY2U7Cisg
ICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ29udGVudFBvc2l0aW9uOjpGbGV4U3RhcnQ6IC8vIE9u
bHkgdXNlZCBpbiBmbGV4IGxheW91dCwgZm9yIG90aGVyIGxheW91dCwgaXQncyBlcXVpdmFsZW50
IHRvICdzdGFydCcuCiAgICAgY2FzZSBDb250ZW50UG9zaXRpb246OlN0YXJ0OgogICAgICAgICBp
ZiAoaXNSb3dBeGlzKQotICAgICAgICAgICAgcmV0dXJuIHtzdHlsZSgpLmlzTGVmdFRvUmlnaHRE
aXJlY3Rpb24oKSA/IExheW91dFVuaXQoKSA6IGF2YWlsYWJsZUZyZWVTcGFjZSwgTGF5b3V0VW5p
dCgpfTsKLSAgICAgICAgcmV0dXJuIHswLCAwfTsKKyAgICAgICAgICAgIHBvc2l0aW9uT2Zmc2V0
ID0gc3R5bGUoKS5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkgPyBMYXlvdXRVbml0KCkgOiBhdmFp
bGFibGVGcmVlU3BhY2U7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHBvc2l0aW9uT2Zmc2V0
ID0gTGF5b3V0VW5pdCgpOworICAgICAgICBicmVhazsKICAgICBjYXNlIENvbnRlbnRQb3NpdGlv
bjo6QmFzZWxpbmU6CiAgICAgY2FzZSBDb250ZW50UG9zaXRpb246Okxhc3RCYXNlbGluZToKICAg
ICAgICAgLy8gRklYTUU6IEltcGxlbWVudCB0aGUgcHJldmlvdXMgdmFsdWVzLiBGb3Igbm93LCB3
ZSBhbHdheXMgJ3N0YXJ0JyBhbGlnbi4KICAgICAgICAgLy8gaHR0cDovL3dlYmtpdC5vcmcvYi8x
NDU1NjYKICAgICAgICAgaWYgKGlzUm93QXhpcykKLSAgICAgICAgICAgIHJldHVybiB7c3R5bGUo
KS5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkgPyBMYXlvdXRVbml0KCkgOiBhdmFpbGFibGVGcmVl
U3BhY2UsIExheW91dFVuaXQoKX07Ci0gICAgICAgIHJldHVybiB7MCwgMH07Ci0gICAgY2FzZSBD
b250ZW50UG9zaXRpb246Ok5vcm1hbDoKKyAgICAgICAgICAgIHBvc2l0aW9uT2Zmc2V0ID0gc3R5
bGUoKS5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkgPyBMYXlvdXRVbml0KCkgOiBhdmFpbGFibGVG
cmVlU3BhY2U7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHBvc2l0aW9uT2Zmc2V0ID0gTGF5
b3V0VW5pdCgwKTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBDb250ZW50UG9zaXRpb246Ok5v
cm1hbDoKKyAgICBkZWZhdWx0OgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAg
ICAgcmV0dXJuOwogICAgIH0KIAotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVy
biB7MCwgMH07CisgICAgb2Zmc2V0LnBvc2l0aW9uT2Zmc2V0ID0gcG9zaXRpb25PZmZzZXQ7Cisg
ICAgb2Zmc2V0LmRpc3RyaWJ1dGlvbk9mZnNldCA9IExheW91dFVuaXQoKTsKIH0KIAogTGF5b3V0
VW5pdCBSZW5kZXJHcmlkOjp0cmFuc2xhdGVPdXRPZkZsb3dSVExDb29yZGluYXRlKGNvbnN0IFJl
bmRlckJveCYgY2hpbGQsIExheW91dFVuaXQgY29vcmRpbmF0ZSkgY29uc3QKQEAgLTE2NzUsNiAr
MTcwMiwxNSBAQCBMYXlvdXRQb2ludCBSZW5kZXJHcmlkOjpmaW5kQ2hpbGRMb2dpY2FsUG9zaXRp
b24oY29uc3QgUmVuZGVyQm94JiBjaGlsZCkgY29uc3QKICAgICByZXR1cm4gaXNPcnRob2dvbmFs
Q2hpbGQgPyBjaGlsZExvY2F0aW9uLnRyYW5zcG9zZWRQb2ludCgpIDogY2hpbGRMb2NhdGlvbjsK
IH0KIAordW5zaWduZWQgUmVuZGVyR3JpZDo6bm9uQ29sbGFwc2VkVHJhY2tzKEdyaWRUcmFja1Np
emluZ0RpcmVjdGlvbiBkaXJlY3Rpb24pIGNvbnN0Cit7CisgICAgYXV0byYgdHJhY2tzID0gbV90
cmFja1NpemluZ0FsZ29yaXRobS50cmFja3MoZGlyZWN0aW9uKTsKKyAgICBzaXplX3QgbnVtYmVy
T2ZUcmFja3MgPSB0cmFja3Muc2l6ZSgpOworICAgIGJvb2wgaGFzQ29sbGFwc2VkVHJhY2tzID0g
bV9ncmlkLmhhc0F1dG9SZXBlYXRFbXB0eVRyYWNrcyhkaXJlY3Rpb24pOworICAgIHNpemVfdCBu
dW1iZXJPZkNvbGxhcHNlZFRyYWNrcyA9IGhhc0NvbGxhcHNlZFRyYWNrcyA/IG1fZ3JpZC5hdXRv
UmVwZWF0RW1wdHlUcmFja3MoZGlyZWN0aW9uKS0+c2l6ZSgpIDogMDsKKyAgICByZXR1cm4gbnVt
YmVyT2ZUcmFja3MgLSBudW1iZXJPZkNvbGxhcHNlZFRyYWNrczsKK30KKwogdW5zaWduZWQgUmVu
ZGVyR3JpZDo6bnVtVHJhY2tzKEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiBkaXJlY3Rpb24sIGNv
bnN0IEdyaWQmIGdyaWQpIGNvbnN0CiB7CiAgICAgLy8gRHVlIHRvIGxpbWl0YXRpb25zIGluIG91
ciBpbnRlcm5hbCByZXByZXNlbnRhdGlvbiwgd2UgY2Fubm90IGtub3cgdGhlIG51bWJlciBvZiBj
b2x1bW5zIGZyb20KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJH
cmlkLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5oCmluZGV4IDcxOGQ0
Y2JkZTMyZDNhMzIzNzMzNzI2NTE5NzViMTVjMDMzZTM2ZWIuLjM0ZWRmYTlkOTI3YjYyMjY4NzBk
OTE5MjgyZjU1YWZiNWNjZDI0MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJHcmlkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQu
aApAQCAtMzUsNyArMzUsMTUgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgR3JpZEFyZWE7
CiBjbGFzcyBHcmlkU3BhbjsKIAotc3RydWN0IENvbnRlbnRBbGlnbm1lbnREYXRhOworc3RydWN0
IENvbnRlbnRBbGlnbm1lbnREYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb250ZW50
QWxpZ25tZW50RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIENv
bnRlbnRBbGlnbm1lbnREYXRhKCkgPSBkZWZhdWx0OworICAgIGJvb2wgaXNWYWxpZCgpIHsgcmV0
dXJuIHBvc2l0aW9uT2Zmc2V0ID49IDAgJiYgZGlzdHJpYnV0aW9uT2Zmc2V0ID49IDA7IH0KKwor
ICAgIExheW91dFVuaXQgcG9zaXRpb25PZmZzZXQ7CisgICAgTGF5b3V0VW5pdCBkaXN0cmlidXRp
b25PZmZzZXQ7Cit9OwogCiBlbnVtIEdyaWRBeGlzUG9zaXRpb24ge0dyaWRBeGlzU3RhcnQsIEdy
aWRBeGlzRW5kLCBHcmlkQXhpc0NlbnRlcn07CiBlbnVtIEdyaWRBeGlzIHsgR3JpZFJvd0F4aXMs
IEdyaWRDb2x1bW5BeGlzIH07CkBAIC02NCw2ICs3Miw3IEBAIHB1YmxpYzoKIAogICAgIC8vIFJl
cXVpcmVkIGJ5IEdyaWRUcmFja1NpemluZ0FsZ29yaXRobS4gS2VlcCB0aGVtIHVuZGVyIGNvbnRy
b2wuCiAgICAgTGF5b3V0VW5pdCBndXR0ZXJzU2l6ZShjb25zdCBHcmlkJiwgR3JpZFRyYWNrU2l6
aW5nRGlyZWN0aW9uLCB1bnNpZ25lZCBzdGFydExpbmUsIHVuc2lnbmVkIHNwYW4sIHN0ZDo6b3B0
aW9uYWw8TGF5b3V0VW5pdD4gYXZhaWxhYmxlU2l6ZSkgY29uc3Q7CisgICAgTGF5b3V0VW5pdCBn
cmlkSXRlbU9mZnNldChHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24pIGNvbnN0OwogCiAgICAgU3R5
bGVDb250ZW50QWxpZ25tZW50RGF0YSBjb250ZW50QWxpZ25tZW50KEdyaWRUcmFja1NpemluZ0Rp
cmVjdGlvbikgY29uc3Q7CiAKQEAgLTEzMyw3ICsxNDIsNyBAQCBwcml2YXRlOgogICAgIEdyaWRB
eGlzUG9zaXRpb24gcm93QXhpc1Bvc2l0aW9uRm9yQ2hpbGQoY29uc3QgUmVuZGVyQm94JikgY29u
c3Q7CiAgICAgTGF5b3V0VW5pdCBjb2x1bW5BeGlzT2Zmc2V0Rm9yQ2hpbGQoY29uc3QgUmVuZGVy
Qm94JikgY29uc3Q7CiAgICAgTGF5b3V0VW5pdCByb3dBeGlzT2Zmc2V0Rm9yQ2hpbGQoY29uc3Qg
UmVuZGVyQm94JikgY29uc3Q7Ci0gICAgQ29udGVudEFsaWdubWVudERhdGEgY29tcHV0ZUNvbnRl
bnRQb3NpdGlvbkFuZERpc3RyaWJ1dGlvbk9mZnNldChHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24s
IGNvbnN0IExheW91dFVuaXQmIGF2YWlsYWJsZUZyZWVTcGFjZSwgdW5zaWduZWQgbnVtYmVyT2ZH
cmlkVHJhY2tzKSBjb25zdDsKKyAgICB2b2lkIGNvbXB1dGVDb250ZW50UG9zaXRpb25BbmREaXN0
cmlidXRpb25PZmZzZXQoR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uLCBjb25zdCBMYXlvdXRVbml0
JiBhdmFpbGFibGVGcmVlU3BhY2UsIHVuc2lnbmVkIG51bWJlck9mR3JpZFRyYWNrcyk7CiAgICAg
TGF5b3V0UG9pbnQgZmluZENoaWxkTG9naWNhbFBvc2l0aW9uKGNvbnN0IFJlbmRlckJveCYpIGNv
bnN0OwogICAgIEdyaWRBcmVhIGNhY2hlZEdyaWRBcmVhKGNvbnN0IFJlbmRlckJveCYpIGNvbnN0
OwogICAgIEdyaWRTcGFuIGNhY2hlZEdyaWRTcGFuKGNvbnN0IFJlbmRlckJveCYsIEdyaWRUcmFj
a1NpemluZ0RpcmVjdGlvbikgY29uc3Q7CkBAIC0xNjIsOCArMTcxLDggQEAgcHJpdmF0ZToKIAog
ICAgIExheW91dFVuaXQgZ3JpZEdhcChHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24pIGNvbnN0Owog
ICAgIExheW91dFVuaXQgZ3JpZEdhcChHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24sIHN0ZDo6b3B0
aW9uYWw8TGF5b3V0VW5pdD4gYXZhaWxhYmxlU2l6ZSkgY29uc3Q7Ci0gICAgTGF5b3V0VW5pdCBn
cmlkSXRlbU9mZnNldChHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24pIGNvbnN0OwogCisgICAgdW5z
aWduZWQgbm9uQ29sbGFwc2VkVHJhY2tzKEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbikgY29uc3Q7
CiAgICAgdW5zaWduZWQgbnVtVHJhY2tzKEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiwgY29uc3Qg
R3JpZCYpIGNvbnN0OwogCiAgICAgTGF5b3V0VW5pdCB0cmFuc2xhdGVPdXRPZkZsb3dSVExDb29y
ZGluYXRlKGNvbnN0IFJlbmRlckJveCYsIExheW91dFVuaXQpIGNvbnN0OwpAQCAtMTc1LDggKzE4
NCw4IEBAIHByaXZhdGU6CiAKICAgICBWZWN0b3I8TGF5b3V0VW5pdD4gbV9jb2x1bW5Qb3NpdGlv
bnM7CiAgICAgVmVjdG9yPExheW91dFVuaXQ+IG1fcm93UG9zaXRpb25zOwotICAgIExheW91dFVu
aXQgbV9vZmZzZXRCZXR3ZWVuQ29sdW1uczsKLSAgICBMYXlvdXRVbml0IG1fb2Zmc2V0QmV0d2Vl
blJvd3M7CisgICAgQ29udGVudEFsaWdubWVudERhdGEgbV9vZmZzZXRCZXR3ZWVuQ29sdW1uczsK
KyAgICBDb250ZW50QWxpZ25tZW50RGF0YSBtX29mZnNldEJldHdlZW5Sb3dzOwogCiAgICAgdHlw
ZWRlZiBIYXNoTWFwPGNvbnN0IFJlbmRlckJveCosIHN0ZDo6b3B0aW9uYWw8c2l6ZV90Pj4gT3V0
T2ZGbG93UG9zaXRpb25zTWFwOwogICAgIE91dE9mRmxvd1Bvc2l0aW9uc01hcCBtX291dE9mRmxv
d0l0ZW1Db2x1bW47CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCAyNWFiMDk3YjQ2
ZjYwNzE0OTBkYmYzY2Y1YmU1ZDhlYjY2OTAwMzg4Li5iMTgyOThmNjcwMTc3ODc2NzMzOWNkNWMx
ZDJiODJmMGVhMmU1MDYyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyMyBAQAorMjAxOC0xMS0wNiAgSmF2aWVyIEZlcm5hbmRleiAgPGpmZXJuYW5kZXpAaWdhbGlh
LmNvbT4KKworICAgICAgICBDU1MgZ3JpZCBlbGVtZW50cyB3aXRoIGp1c3RpZnktY29udGVudDog
c3BhY2UtYXJvdW5kIGhhdmUgZXh0cmEgd2hpdGVzcGFjZSwgc29tZXRpbWVzIGEgbG90CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTEzMDgKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBvcnRlZCBXUFQg
dG8gY292ZXIgdGhlIGJlaGF2aW9yIGNoYW5nZXMgYWRkZWQgaW4gdGhpcyBwYXRjaC4KKworICAg
ICAgICAqIHJlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb246CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9sYXlvdXQtYWxnb3JpdGhtL2dyaWQtY29udGVu
dC1kaXN0cmlidXRpb24tbXVzdC1hY2NvdW50LWZvci10cmFjay1zaXppbmctMDAxLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9s
YXlvdXQtYWxnb3JpdGhtL2dyaWQtY29udGVudC1kaXN0cmlidXRpb24tbXVzdC1hY2NvdW50LWZv
ci10cmFjay1zaXppbmctMDAxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWdyaWQvbGF5b3V0LWFsZ29yaXRobS9ncmlkLWNvbnRlbnQtZGlzdHJpYnV0
aW9uLW11c3QtYWNjb3VudC1mb3ItdHJhY2stc2l6aW5nLTAwMi1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvbGF5b3V0LWFsZ29y
aXRobS9ncmlkLWNvbnRlbnQtZGlzdHJpYnV0aW9uLW11c3QtYWNjb3VudC1mb3ItdHJhY2stc2l6
aW5nLTAwMi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1ncmlkL2xheW91dC1hbGdvcml0aG0vZ3JpZC1jb250ZW50LWRpc3RyaWJ1dGlvbi1tdXN0LWFj
Y291bnQtZm9yLXRyYWNrLXNpemluZy0wMDMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL2xheW91dC1hbGdvcml0aG0vZ3JpZC1j
b250ZW50LWRpc3RyaWJ1dGlvbi1tdXN0LWFjY291bnQtZm9yLXRyYWNrLXNpemluZy0wMDMuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9sYXlv
dXQtYWxnb3JpdGhtL2dyaWQtY29udGVudC1kaXN0cmlidXRpb24tbXVzdC1hY2NvdW50LWZvci10
cmFjay1zaXppbmctMDA0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9sYXlvdXQtYWxnb3JpdGhtL2dyaWQtY29udGVudC1kaXN0
cmlidXRpb24tbXVzdC1hY2NvdW50LWZvci10cmFjay1zaXppbmctMDA0Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvbGF5b3V0LWFsZ29yaXRo
bS93M2MtaW1wb3J0LmxvZzoKKwogMjAxOC0xMS0wNiAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEu
Y29tPgogCiAgICAgICAgIFNvbWUgbWlub3IgWC1Db250ZW50LVR5cGUtT3B0aW9ucyBwYXJzaW5n
IGlzc3VlcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9p
bXBvcnQtZXhwZWN0YXRpb25zLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3Vy
Y2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgppbmRleCBlMjJiNWJhZmY1MDFhYWZjNTMyZDY0
NDA5NDkxZmMyYThmNzhhY2VhLi40Njc1OTNlNmZlNDQ0NTZkNWQwMWRkZmRkZWYxNDI2MzI2ODM2
Mzg1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9y
dC1leHBlY3RhdGlvbnMuanNvbgorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3Vy
Y2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgpAQCAtNjgsNiArNjgsNyBAQAogICAgICJ3ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1kaXNwbGF5IjogImltcG9ydCIsIAogICAgICJ3ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkIjogImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1ncmlkL2dyaWQtZGVmaW5pdGlvbi8iOiAiaW1wb3J0IiwgCisgICAgIndl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvbGF5b3V0LWFsZ29yaXRobS8iOiAiaW1wb3J0
IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWxvZ2ljYWwiOiAiaW1wb3J0Iiwg
CiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLW11bHRpY29sIjogImltcG9ydCIsIAog
ICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkiOiAi
aW1wb3J0IiwgCkBAIC0zNTMsNCArMzU0LDQgQEAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtsZXRzIjogInNraXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3gtZnJhbWUtb3B0aW9u
cyI6ICJza2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy94aHIiOiAiaW1wb3J0IgotfQpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL2xheW91dC1hbGdvcml0
aG0vZ3JpZC1jb250ZW50LWRpc3RyaWJ1dGlvbi1tdXN0LWFjY291bnQtZm9yLXRyYWNrLXNpemlu
Zy0wMDEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWdyaWQvbGF5b3V0LWFsZ29yaXRobS9ncmlkLWNvbnRlbnQtZGlzdHJp
YnV0aW9uLW11c3QtYWNjb3VudC1mb3ItdHJhY2stc2l6aW5nLTAwMS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNmRhYTAwMGExMjlhMWM1Y2Q4MTYwNjNjOTcxNTBhZjAwMWU3MmZhNgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1ncmlkL2xheW91dC1hbGdvcml0aG0vZ3JpZC1jb250ZW50LWRpc3RyaWJ1dGlvbi1t
dXN0LWFjY291bnQtZm9yLXRyYWNrLXNpemluZy0wMDEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NCBAQAorWFhYIFhYIFggWFggWCBYWFgKKworUEFTUyAuZ3JpZCAxIAorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9s
YXlvdXQtYWxnb3JpdGhtL2dyaWQtY29udGVudC1kaXN0cmlidXRpb24tbXVzdC1hY2NvdW50LWZv
ci10cmFjay1zaXppbmctMDAxLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9sYXlvdXQtYWxnb3JpdGhtL2dyaWQtY29udGVudC1k
aXN0cmlidXRpb24tbXVzdC1hY2NvdW50LWZvci10cmFjay1zaXppbmctMDAxLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYzFhZTExZmVlZTliODRmZDdlYTEyM2RjMzk2YTdhOTVlNzBlNDczMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1ncmlkL2xheW91dC1hbGdvcml0aG0vZ3JpZC1jb250ZW50LWRpc3RyaWJ1dGlvbi1tdXN0
LWFjY291bnQtZm9yLXRyYWNrLXNpemluZy0wMDEuaHRtbApAQCAtMCwwICsxLDMzIEBACis8IURP
Q1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5DU1MgR3JpZCBMYXlv
dXQgVGVzdDogQ29udGVudCBEaXN0cmlidXRpb24gYW5kIHRoZSB0cmFjayBzaXppbmcgYWxnb3Jp
dGhtPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iSmF2aWVyIEZlcm5hbmRleiBH
YXJjaWEtQm9lbnRlIiBocmVmPSJtYWlsdG86amZlcm5hbmRlekBpZ2FsaWEuY29tIj4KKzxsaW5r
IHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1ncmlkLyNncmlk
LWFsaWduIj4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3Jn
L2Nzcy1hbGlnbi8jY29udGVudC1kaXN0cmlidXRpb24iPgorPGxpbmsgcmVsPSJoZWxwIiBocmVm
PSJodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWFsaWduLyN2YWxkZWYtYWxpZ24tY29udGVu
dC1zcGFjZS1iZXR3ZWVuIj4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vc3Vw
cG9ydC9hbGlnbm1lbnQuY3NzIj4KKzxtZXRhIG5hbWU9ImZsYWdzIiBjb250ZW50PSJhaGVtIj4K
KzxtZXRhIG5hbWU9ImFzc2VydCIgY29udGVudD0iQ29udGVudCBEaXN0cmlidXRpb24gb24gdGhl
IGlubGluZS1heGlzIG1heSBhZmZlY3QgdG8gdGhlIHJvdyB0cmFjaydzIHNpemUuIj4KKzxzdHls
ZT4KKy5ncmlkIHsKKyAgZGlzcGxheTogaW5saW5lLWdyaWQ7CisgIGJhY2tncm91bmQ6IGdyZXk7
CisgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNTBweCA1MHB4OworICBmb250OiAyMHB4LzEgQWhl
bTsKKyAgd2lkdGg6IDIwMHB4OworfQorCisuaXRlbSB7CisgIGdyaWQtY29sdW1uOiBzcGFuIDI7
CisgIGJhY2tncm91bmQ6IGdyZWVuOworfQorPC9zdHlsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL2No
ZWNrLWxheW91dC10aC5qcyI+PC9zY3JpcHQ+CisKKzxib2R5IG9ubG9hZD0iY2hlY2tMYXlvdXQo
Jy5ncmlkJykiPgorICAgIDxkaXYgY2xhc3M9ImdyaWQganVzdGlmeUNvbnRlbnRTcGFjZUJldHdl
ZW4iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjIwMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjQwIj4K
KyAgICAgICAgPGRpdiBjbGFzcz0iaXRlbSIgZGF0YS1leHBlY3RlZC13aWR0aD0iMjAwIiBkYXRh
LWV4cGVjdGVkLWhlaWdodD0iNDAiPlhYWCBYWCBYIFhYIFggWFhYPC9kaXY+CisgICAgPC9kaXY+
Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9sYXlvdXQtYWxnb3JpdGhtL2dyaWQtY29udGVudC1kaXN0
cmlidXRpb24tbXVzdC1hY2NvdW50LWZvci10cmFjay1zaXppbmctMDAyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlk
L2xheW91dC1hbGdvcml0aG0vZ3JpZC1jb250ZW50LWRpc3RyaWJ1dGlvbi1tdXN0LWFjY291bnQt
Zm9yLXRyYWNrLXNpemluZy0wMDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZkYWEwMDBhMTI5
YTFjNWNkODE2MDYzYzk3MTUwYWYwMDFlNzJmYTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9sYXlvdXQt
YWxnb3JpdGhtL2dyaWQtY29udGVudC1kaXN0cmlidXRpb24tbXVzdC1hY2NvdW50LWZvci10cmFj
ay1zaXppbmctMDAyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK1hYWCBYWCBYIFhYIFgg
WFhYCisKK1BBU1MgLmdyaWQgMSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvbGF5b3V0LWFsZ29yaXRobS9ncmlk
LWNvbnRlbnQtZGlzdHJpYnV0aW9uLW11c3QtYWNjb3VudC1mb3ItdHJhY2stc2l6aW5nLTAwMi5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWdyaWQvbGF5b3V0LWFsZ29yaXRobS9ncmlkLWNvbnRlbnQtZGlzdHJpYnV0aW9uLW11c3QtYWNj
b3VudC1mb3ItdHJhY2stc2l6aW5nLTAwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ3ZGZiNjE1NzYxNTRi
YjBlODcwODI2YjQ5YmQ4YTc5ZTA4OTYwNmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9sYXlvdXQtYWxn
b3JpdGhtL2dyaWQtY29udGVudC1kaXN0cmlidXRpb24tbXVzdC1hY2NvdW50LWZvci10cmFjay1z
aXppbmctMDAyLmh0bWwKQEAgLTAsMCArMSwzNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBj
aGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+Q1NTIEdyaWQgTGF5b3V0IFRlc3Q6IENvbnRlbnQgRGlz
dHJpYnV0aW9uIGFuZCB0aGUgdHJhY2sgc2l6aW5nIGFsZ29yaXRobTwvdGl0bGU+Cis8bGluayBy
ZWw9ImF1dGhvciIgdGl0bGU9IkphdmllciBGZXJuYW5kZXogR2FyY2lhLUJvZW50ZSIgaHJlZj0i
bWFpbHRvOmpmZXJuYW5kZXpAaWdhbGlhLmNvbSI+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0
dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtZ3JpZC8jZ3JpZC1hbGlnbiI+Cis8bGluayByZWw9
ImhlbHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtYWxpZ24vI2NvbnRlbnQt
ZGlzdHJpYnV0aW9uIj4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFmdHMuY3Nz
d2cub3JnL2Nzcy1hbGlnbi8jdmFsZGVmLWFsaWduLWNvbnRlbnQtc3BhY2UtYmV0d2VlbiI+Cis8
bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3N1cHBvcnQvYWxpZ25tZW50LmNzcyI+
Cis8bWV0YSBuYW1lPSJmbGFncyIgY29udGVudD0iYWhlbSI+Cis8bWV0YSBuYW1lPSJhc3NlcnQi
IGNvbnRlbnQ9IkNvbnRlbnQgRGlzdHJpYnV0aW9uIG9uIHRoZSBibG9jay1heGlzIG1heSBhZmZl
Y3QgdG8gdGhlIGNvbHVtbiB0cmFjaydzIHNpemUuIj4KKzxzdHlsZT4KKy5ncmlkIHsKKyAgZGlz
cGxheTogaW5saW5lLWdyaWQ7CisgIGJhY2tncm91bmQ6IGdyZXk7CisgIGdyaWQtdGVtcGxhdGUt
cm93czogNTBweCA1MHB4OworICBmb250OiAyMHB4LzEgQWhlbTsKKyAgaGVpZ2h0OiAyMDBweDsK
K30KKworLml0ZW0geworICBncmlkLXJvdzogc3BhbiAyOworICBiYWNrZ3JvdW5kOiBncmVlbjsK
KyAgd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1scjsKK30KKzwvc3R5bGU+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy9jaGVjay1sYXlvdXQtdGguanMiPjwvc2NyaXB0PgorCis8IS0tICBIZXVyaXN0aWMgZm9y
IGVzdGltYXRpbmcgcm93LXNpemUgZm9yIG9ydGhvZ29uYWwgaXRlbXMgc2hvdWxkCithbHNvIGNv
bnNpZGVyIENvbnRlbnQgQWxpZ25tZW50LCBzbyB0aGF0IGdyaWQgY29udGFpbmVyIHdpZHRoIGlz
IDQwcHguCitodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLWRyYWZ0cy9pc3N1ZXMvMjY5NyAg
LS0+Cis8Ym9keSBvbmxvYWQ9ImNoZWNrTGF5b3V0KCcuZ3JpZCcpIj4KKyAgICA8ZGl2IGNsYXNz
PSJncmlkIGp1c3RpZnlDb250ZW50U3RhcnQgYWxpZ25Db250ZW50U3BhY2VCZXR3ZWVuIiBkYXRh
LWV4cGVjdGVkLXdpZHRoPSI4MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjIwMCI+CisgICAgICAg
IDxkaXYgY2xhc3M9Iml0ZW0iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjQwIiBkYXRhLWV4cGVjdGVk
LWhlaWdodD0iMjAwIj5YWFggWFggWCBYWCBYIFhYWDwvZGl2PgorICAgIDwvZGl2PgorPC9ib2R5
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWdyaWQvbGF5b3V0LWFsZ29yaXRobS9ncmlkLWNvbnRlbnQtZGlzdHJpYnV0aW9u
LW11c3QtYWNjb3VudC1mb3ItdHJhY2stc2l6aW5nLTAwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9sYXlvdXQt
YWxnb3JpdGhtL2dyaWQtY29udGVudC1kaXN0cmlidXRpb24tbXVzdC1hY2NvdW50LWZvci10cmFj
ay1zaXppbmctMDAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMWI3NTk4YzE2NzE2OThiZjVk
MTM0ODEzNjY3MDBiMTljOTgwYTdhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvbGF5b3V0LWFsZ29yaXRo
bS9ncmlkLWNvbnRlbnQtZGlzdHJpYnV0aW9uLW11c3QtYWNjb3VudC1mb3ItdHJhY2stc2l6aW5n
LTAwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitYWFhYIFhYWAorWFhYCisKK1BBU1Mg
LmdyaWQgMSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvbGF5b3V0LWFsZ29yaXRobS9ncmlkLWNvbnRlbnQtZGlz
dHJpYnV0aW9uLW11c3QtYWNjb3VudC1mb3ItdHJhY2stc2l6aW5nLTAwMy5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvbGF5b3V0
LWFsZ29yaXRobS9ncmlkLWNvbnRlbnQtZGlzdHJpYnV0aW9uLW11c3QtYWNjb3VudC1mb3ItdHJh
Y2stc2l6aW5nLTAwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJiYTk2NzFmMjRkY2QyZDk0ZDBjYjQ4ZTcz
NGVlMTAxODJiZjA3MWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9sYXlvdXQtYWxnb3JpdGhtL2dyaWQt
Y29udGVudC1kaXN0cmlidXRpb24tbXVzdC1hY2NvdW50LWZvci10cmFjay1zaXppbmctMDAzLmh0
bWwKQEAgLTAsMCArMSwzOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYt
OCI+Cis8dGl0bGU+Q1NTIEdyaWQgTGF5b3V0IFRlc3Q6IENvbnRlbnQgRGlzdHJpYnV0aW9uIGFu
ZCB0aGUgdHJhY2sgc2l6aW5nIGFsZ29yaXRobTwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIg
dGl0bGU9IkphdmllciBGZXJuYW5kZXogR2FyY2lhLUJvZW50ZSIgaHJlZj0ibWFpbHRvOmpmZXJu
YW5kZXpAaWdhbGlhLmNvbSI+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRz
LmNzc3dnLm9yZy9jc3MtZ3JpZC8jZ3JpZC1hbGlnbiI+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9
Imh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtYWxpZ24vI2NvbnRlbnQtZGlzdHJpYnV0aW9u
Ij4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1h
bGlnbi8jdmFsZGVmLWFsaWduLWNvbnRlbnQtc3BhY2UtYXJvdW5kIj4KKzxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgaHJlZj0iLi4vLi4vc3VwcG9ydC9hbGlnbm1lbnQuY3NzIj4KKzxtZXRhIG5hbWU9
ImZsYWdzIiBjb250ZW50PSJhaGVtIj4KKzxtZXRhIG5hbWU9ImFzc2VydCIgY29udGVudD0iQ29u
dGVudCBEaXN0cmlidXRpb24gb2Zmc2V0IGRvZXNuJ3QgYWNjb3VudCBmb3IgdHJhY2tzIHdpdGgg
bm9uLXNwYW5uaW5nIGl0ZW1zLiI+Cis8c3R5bGU+CisuZ3JpZCB7CisgIGRpc3BsYXk6IGlubGlu
ZS1ncmlkOworICBiYWNrZ3JvdW5kOiBncmV5OworICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEw
MHB4OworICBmb250OiAyMHB4LzEgQWhlbTsKKyAgd2lkdGg6IDIwMHB4OworfQorLml0ZW0xIHsK
KyAgYmFja2dyb3VuZDogZ3JlZW47CisgIGdyaWQtY29sdW1uOiAxOworICBncmlkLXJvdzogMTsK
K30KKy5pdGVtMiB7CisgIGJhY2tncm91bmQ6IGJsdWU7CisgIGdyaWQtY29sdW1uOiAxOworICBn
cmlkLXJvdzogMjsKK30KKzwvc3R5bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9jaGVjay1sYXlvdXQt
dGguanMiPjwvc2NyaXB0PgorCis8Ym9keSBvbmxvYWQ9ImNoZWNrTGF5b3V0KCcuZ3JpZCcpIj4K
KyAgICA8ZGl2IGNsYXNzPSJncmlkIGp1c3RpZnlDb250ZW50U3BhY2VBcm91bmQiIGRhdGEtZXhw
ZWN0ZWQtd2lkdGg9IjIwMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjYwIj4KKyAgICAgICAgPGRp
diBjbGFzcz0iaXRlbTEiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjEwMCIgZGF0YS1leHBlY3RlZC1o
ZWlnaHQ9IjQwIj5YWFhYIFhYWDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJpdGVtMiIgZGF0
YS1leHBlY3RlZC13aWR0aD0iMTAwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMjAiPlhYWDwvZGl2
PgorICAgIDwvZGl2PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvbGF5b3V0LWFsZ29yaXRobS9ncmlk
LWNvbnRlbnQtZGlzdHJpYnV0aW9uLW11c3QtYWNjb3VudC1mb3ItdHJhY2stc2l6aW5nLTAwNC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtZ3JpZC9sYXlvdXQtYWxnb3JpdGhtL2dyaWQtY29udGVudC1kaXN0cmlidXRpb24t
bXVzdC1hY2NvdW50LWZvci10cmFjay1zaXppbmctMDA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5hMWI3NTk4YzE2NzE2OThiZjVkMTM0ODEzNjY3MDBiMTljOTgwYTdhCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWdyaWQvbGF5b3V0LWFsZ29yaXRobS9ncmlkLWNvbnRlbnQtZGlzdHJpYnV0aW9uLW11c3QtYWNj
b3VudC1mb3ItdHJhY2stc2l6aW5nLTAwNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitY
WFhYIFhYWAorWFhYCisKK1BBU1MgLmdyaWQgMSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvbGF5b3V0LWFsZ29y
aXRobS9ncmlkLWNvbnRlbnQtZGlzdHJpYnV0aW9uLW11c3QtYWNjb3VudC1mb3ItdHJhY2stc2l6
aW5nLTAwNC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWdyaWQvbGF5b3V0LWFsZ29yaXRobS9ncmlkLWNvbnRlbnQtZGlzdHJpYnV0aW9u
LW11c3QtYWNjb3VudC1mb3ItdHJhY2stc2l6aW5nLTAwNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU2ZGU0
NzMwYTZkMmZiZDkyMjQ4ZWNkZmVmZjVkMmUxZTFkYWY2YTQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9s
YXlvdXQtYWxnb3JpdGhtL2dyaWQtY29udGVudC1kaXN0cmlidXRpb24tbXVzdC1hY2NvdW50LWZv
ci10cmFjay1zaXppbmctMDA0Lmh0bWwKQEAgLTAsMCArMSwzOSBAQAorPCFET0NUWVBFIGh0bWw+
Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+Q1NTIEdyaWQgTGF5b3V0IFRlc3Q6IENv
bnRlbnQgRGlzdHJpYnV0aW9uIGFuZCB0aGUgdHJhY2sgc2l6aW5nIGFsZ29yaXRobTwvdGl0bGU+
Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9IkphdmllciBGZXJuYW5kZXogR2FyY2lhLUJvZW50
ZSIgaHJlZj0ibWFpbHRvOmpmZXJuYW5kZXpAaWdhbGlhLmNvbSI+Cis8bGluayByZWw9ImhlbHAi
IGhyZWY9Imh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtZ3JpZC8jZ3JpZC1hbGlnbiI+Cis8
bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtYWxpZ24v
I2NvbnRlbnQtZGlzdHJpYnV0aW9uIj4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9k
cmFmdHMuY3Nzd2cub3JnL2Nzcy1hbGlnbi8jdmFsZGVmLWFsaWduLWNvbnRlbnQtc3BhY2UtYmV0
d2VlbiI+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3N1cHBvcnQvYWxpZ25t
ZW50LmNzcyI+Cis8bWV0YSBuYW1lPSJmbGFncyIgY29udGVudD0iYWhlbSI+Cis8bWV0YSBuYW1l
PSJhc3NlcnQiIGNvbnRlbnQ9IkNvbnRlbnQgRGlzdHJpYnV0aW9uIG9mZnNldCBkb2Vzbid0IGFj
Y291bnQgZm9yIHJlbGF0aXZlIHNpemVkIHRyYWNrcyB3aXRoIG5vbi1zcGFubmluZyBpdGVtcy4i
PgorPHN0eWxlPgorLmdyaWQgeworICBkaXNwbGF5OiBpbmxpbmUtZ3JpZDsKKyAgYmFja2dyb3Vu
ZDogZ3JleTsKKyAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA1MCU7CisgIGZvbnQ6IDIwcHgvMSBB
aGVtOworfQorCisuaXRlbTEgeworICBiYWNrZ3JvdW5kOiBncmVlbjsKKyAgZ3JpZC1jb2x1bW46
IDE7CisgIGdyaWQtcm93OiAxOworfQorLml0ZW0yIHsKKyAgYmFja2dyb3VuZDogYmx1ZTsKKyAg
Z3JpZC1jb2x1bW46IDI7CisgIGdyaWQtcm93OiAxOworfQorPC9zdHlsZT4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL2NoZWNrLWxheW91dC10aC5qcyI+PC9zY3JpcHQ+CisKKzxib2R5IG9ubG9hZD0iY2hl
Y2tMYXlvdXQoJy5ncmlkJykiPgorICAgIDxkaXYgY2xhc3M9ImdyaWQganVzdGlmeUNvbnRlbnRT
cGFjZUJldHdlZW4iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjIyMCIgZGF0YS1leHBlY3RlZC1oZWln
aHQ9IjQwIj4KKyAgICAgICAgPGRpdiBjbGFzcz0iaXRlbTEiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9
IjExMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjQwIj5YWFhYIFhYWDwvZGl2PgorICAgICAgICA8
ZGl2IGNsYXNzPSJpdGVtMiIgZGF0YS1leHBlY3RlZC13aWR0aD0iNjAiIGRhdGEtZXhwZWN0ZWQt
aGVpZ2h0PSI0MCI+WFhYPC9kaXY+CisgICAgPC9kaXY+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9s
YXlvdXQtYWxnb3JpdGhtL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvbGF5b3V0LWFsZ29yaXRobS93M2MtaW1w
b3J0LmxvZwppbmRleCAwMDVjMTEzMjBiZmZhMDg3MjhhYzU1MzQ4OGJhZGVkOTc5OWEwZGNlLi5i
MmY0YTBmMjk3ZTZiNmI0NGMxNDg3NmMwZGIzYmU3ZGE1NzYyMjkyIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9sYXlv
dXQtYWxnb3JpdGhtL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL2xheW91dC1hbGdvcml0aG0vdzNjLWlt
cG9ydC5sb2cKQEAgLTEsNyArMSw3IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2Vy
ZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2Ug
dGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgogSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0
IG9uIHRoZSBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzCisJaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKIAogVGhl
biBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVp
bXBvcnQKIApAQCAtMTQsNiArMTQsMTAgQEAgUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5k
b3IgcHJlZml4ZXM6CiBOb25lCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIExpc3Qgb2YgZmlsZXM6CisvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvbGF5
b3V0LWFsZ29yaXRobS9ncmlkLWNvbnRlbnQtZGlzdHJpYnV0aW9uLW11c3QtYWNjb3VudC1mb3It
dHJhY2stc2l6aW5nLTAwMS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvbGF5b3V0LWFsZ29yaXRobS9ncmlkLWNvbnRlbnQtZGlz
dHJpYnV0aW9uLW11c3QtYWNjb3VudC1mb3ItdHJhY2stc2l6aW5nLTAwMi5odG1sCisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvbGF5b3V0
LWFsZ29yaXRobS9ncmlkLWNvbnRlbnQtZGlzdHJpYnV0aW9uLW11c3QtYWNjb3VudC1mb3ItdHJh
Y2stc2l6aW5nLTAwMy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWdyaWQvbGF5b3V0LWFsZ29yaXRobS9ncmlkLWNvbnRlbnQtZGlzdHJp
YnV0aW9uLW11c3QtYWNjb3VudC1mb3ItdHJhY2stc2l6aW5nLTAwNC5odG1sCiAvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvbGF5b3V0LWFs
Z29yaXRobS9ncmlkLWZpbmQtZnItc2l6ZS1ndXR0ZXJzLTAwMS5odG1sCiAvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvbGF5b3V0LWFsZ29y
aXRobS9ncmlkLWZpbmQtZnItc2l6ZS1ndXR0ZXJzLTAwMi5odG1sCiAvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvbGF5b3V0LWFsZ29yaXRo
bS9ncmlkLWludHJpbnNpYy1zaXplLXdpdGgtb3J0aG9nb25hbC1pdGVtcy5odG1sCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>353989</attachid>
            <date>2018-11-06 12:46:06 -0800</date>
            <delta_ts>2018-11-06 13:45:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-191308-20181106214605.patch</filename>
            <type>text/plain</type>
            <size>38427</size>
            <attacher name="Javier Fernandez">jfernandez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM3ODUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTY0MDlkYWRiMDE2Mzdh
MjY0NDcyMzVhNGUxMDNiMjJlNjYzNWE5ZC4uNjIyOTdkMjZlNGI3MTBmMGU2NzUyZmJhNDczOTgz
ZDI4OWYzMjhmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDE4LTExLTA2ICBKYXZp
ZXIgRmVybmFuZGV6ICA8amZlcm5hbmRlekBpZ2FsaWEuY29tPgorCisgICAgICAgIENTUyBncmlk
IGVsZW1lbnRzIHdpdGgganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgaGF2ZSBleHRyYSB3
aGl0ZXNwYWNlLCBzb21ldGltZXMgYSBsb3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE5MTMwOAorCisgICAgICAgIFJldmlld2VkIGJ5IERlYW4gSmFj
a3Nvbi4KKworICAgICAgICBUaGUgQ1NTIFdHIHJlc29sdmVkIFsxXSB0aGF0IENvbnRlbnQgQWxp
Z25tZW50IHNob3VsZCBhY2NvdW50IHRvIHRoZQorICAgICAgICB0cmFjayBzaXppbmcgYWxnb3Jp
dGhtLgorCisgICAgICAgIFRoZSBzaXppbmcgYWxnb3JpdGhtIGhhcyBiZWVuIG1vZGlmaWVkIHNv
IHRoYXQgdHdvIG5ldyBzdGVwcyAoMS41CisgICAgICAgIGFuZCAyLjUpIHdlcmUgYWRkZWQgdG8g
Y29tcHV0ZSB0aGUgQ29udGVudCBBbGlnbm1lbnQgb2Zmc2V0cyBhZnRlcgorICAgICAgICByZXNv
bHZpbmcgdGhlIGNvbHVtbnMnIGFuZCByb3dzJyBzaXplcyByZXNwZWN0aXZlbHkuCisKKyAgICAg
ICAgVGhpcyBjaGFuZ2UgZGVjb3VwbGVzIHRoZSBDb250ZW50IEFsaWdubWVudCBsb2dpYyBmcm9t
IHRoZSB0cmFja3MKKyAgICAgICAgcG9zaXRpb24sIHNvIHRoYXQgd2UgY2FuIHVzZSBpdCBhcyBw
YXJ0IG9mIHRoZSB0cmFjayBzaXppbmcgYWxnb3JpdGhtLgorCisgICAgICAgIEkgYWxzbyBoYWQg
dG8gc3RvcmUgdGhlIHdob2xlIENvbnRlbnRBbGlnbm1lbnREYXRhIHN0cnVjdHVyZSBpbiB0d28K
KyAgICAgICAgY2xhc3MgYXR0cmlidXRlcy4gV2UgbmVlZCBib3RoLCBwb3NpdGlvbiBhbmQgZGlz
dHJpYnV0aW9uIG9mZnNldHMsIHRvCisgICAgICAgIGJlIHVzZWQgaW4gZGlmZmVyZW50IHBhcnRz
IG9mIHRoZSBsYXlvdXQgbG9naWMuCisKKyAgICAgICAgWzFdIGh0dHBzOi8vZ2l0aHViLmNvbS93
M2MvY3Nzd2ctZHJhZnRzL2lzc3Vlcy8yNTU3CisKKyAgICAgICAgVGVzdHM6IGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL2xheW91dC1hbGdvcml0aG0vZ3JpZC1j
b250ZW50LWRpc3RyaWJ1dGlvbi1tdXN0LWFjY291bnQtZm9yLXRyYWNrLXNpemluZy0wMDEuaHRt
bAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWdyaWQvbGF5b3V0LWFsZ29yaXRobS9ncmlkLWNvbnRlbnQtZGlzdHJpYnV0aW9uLW11c3QtYWNj
b3VudC1mb3ItdHJhY2stc2l6aW5nLTAwMi5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9sYXlvdXQtYWxnb3JpdGhtL2dyaWQt
Y29udGVudC1kaXN0cmlidXRpb24tbXVzdC1hY2NvdW50LWZvci10cmFjay1zaXppbmctMDAzLmh0
bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1ncmlkL2xheW91dC1hbGdvcml0aG0vZ3JpZC1jb250ZW50LWRpc3RyaWJ1dGlvbi1tdXN0LWFj
Y291bnQtZm9yLXRyYWNrLXNpemluZy0wMDQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvbGF5b3V0LWFsZ29yaXRobS9ncmlk
LXBlcmNlbnQtY29scy1maWxsZWQtc2hyaW5rd3JhcC0wMDEuaHRtbAorICAgICAgICAgICAgICAg
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvbGF5b3V0LWFsZ29y
aXRobS9ncmlkLXBlcmNlbnQtY29scy1zcGFubmVkLXNocmlua3dyYXAtMDAxLmh0bWwKKyAgICAg
ICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL2xh
eW91dC1hbGdvcml0aG0vZ3JpZC1wZXJjZW50LXJvd3MtZmlsbGVkLXNocmlua3dyYXAtMDAxLmh0
bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1ncmlkL2xheW91dC1hbGdvcml0aG0vZ3JpZC1wZXJjZW50LXJvd3Mtc3Bhbm5lZC1zaHJpbmt3
cmFwLTAwMS5odG1sCisKKyAgICAgICAgKiByZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxnb3Jp
dGhtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyaWRUcmFja1NpemluZ0FsZ29yaXRobTo6Z3Jp
ZEFyZWFCcmVhZHRoRm9yQ2hpbGQgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJH
cmlkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6OnJlcGVhdFRyYWNrc1Npemlu
Z0lmTmVlZGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6OmxheW91dEJsb2NrKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6OmdyaWRJdGVtT2Zmc2V0IGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6OnRyYWNrU2l6ZXNGb3JDb21wdXRlZFN0eWxlIGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6OnBvcHVsYXRlR3JpZFBvc2l0aW9u
c0ZvckRpcmVjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJHcmlkOjpncmlkQXJlYUJy
ZWFkdGhGb3JPdXRPZkZsb3dDaGlsZCk6CisgICAgICAgIChXZWJDb3JlOjpjb250ZW50RGlzdHJp
YnV0aW9uT2Zmc2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6OmNvbXB1dGVDb250
ZW50UG9zaXRpb25BbmREaXN0cmlidXRpb25PZmZzZXQpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyR3JpZDo6bm9uQ29sbGFwc2VkVHJhY2tzIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyR3JpZC5oOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudEFsaWdubWVudERhdGE6Omlz
VmFsaWQpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudEFsaWdubWVudERhdGE6OmRlZmF1bHRP
ZmZzZXRzKToKKwogMjAxOC0xMS0wNiAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgogCiAg
ICAgICAgIFNvbWUgbWlub3IgWC1Db250ZW50LVR5cGUtT3B0aW9ucyBwYXJzaW5nIGlzc3Vlcwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29y
aXRobS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxnb3Jp
dGhtLmNwcAppbmRleCA3NTNmYmI4MTI2ODBhY2FjZjkxYzA1N2FhZGI0ZjJjYTUyOWQ2YTkzLi4x
ZjcyMTQ3MjQ4ZDE5NjNjZjhhNjJiY2Y0Yzg2YTIxNzhiZjQzYTExIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtLmNwcApAQCAt
NTU1LDExICs1NTUsMTkgQEAgTGF5b3V0VW5pdCBHcmlkVHJhY2tTaXppbmdBbGdvcml0aG06OmFz
c3VtZWRSb3dzU2l6ZUZvck9ydGhvZ29uYWxDaGlsZChjb25zdCBSZW4KIAogTGF5b3V0VW5pdCBH
cmlkVHJhY2tTaXppbmdBbGdvcml0aG06OmdyaWRBcmVhQnJlYWR0aEZvckNoaWxkKGNvbnN0IFJl
bmRlckJveCYgY2hpbGQsIEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiBkaXJlY3Rpb24pIGNvbnN0
CiB7CisgICAgYm9vbCBhZGRDb250ZW50QWxpZ25tZW50T2Zmc2V0ID0KKyAgICAgICAgZGlyZWN0
aW9uID09IEZvckNvbHVtbnMgJiYgbV9zaXppbmdTdGF0ZSA9PSBSb3dTaXppbmdGaXJzdEl0ZXJh
dGlvbjsKICAgICAvLyBUbyBkZXRlcm1pbmUgdGhlIGNvbHVtbiB0cmFjaydzIHNpemUgYmFzZWQg
b24gYW4gb3J0aG9nb25hbCBncmlkIGl0ZW0gd2UgbmVlZCBpdCdzIGxvZ2ljYWwKICAgICAvLyBo
ZWlnaHQsIHdoaWNoIG1heSBkZXBlbmQgb24gdGhlIHJvdyB0cmFjaydzIHNpemUuIEl0J3MgcG9z
c2libGUgdGhhdCB0aGUgcm93IHRyYWNrcyBzaXppbmcKICAgICAvLyBsb2dpYyBoYXMgbm90IGJl
ZW4gcGVyZm9ybWVkIHlldCwgc28gd2Ugd2lsbCBuZWVkIHRvIGRvIGFuIGVzdGltYXRpb24uCi0g
ICAgaWYgKGRpcmVjdGlvbiA9PSBGb3JSb3dzICYmIG1fc2l6aW5nU3RhdGUgPT0gQ29sdW1uU2l6
aW5nRmlyc3RJdGVyYXRpb24pCi0gICAgICAgIHJldHVybiBhc3N1bWVkUm93c1NpemVGb3JPcnRo
b2dvbmFsQ2hpbGQoY2hpbGQpOworICAgIGlmIChkaXJlY3Rpb24gPT0gRm9yUm93cyAmJiAobV9z
aXppbmdTdGF0ZSA9PSBDb2x1bW5TaXppbmdGaXJzdEl0ZXJhdGlvbiB8fCBtX3NpemluZ1N0YXRl
ID09IENvbHVtblNpemluZ1NlY29uZEl0ZXJhdGlvbikpIHsKKyAgICAgICAgQVNTRVJUKEdyaWRM
YXlvdXRGdW5jdGlvbnM6OmlzT3J0aG9nb25hbENoaWxkKCptX3JlbmRlckdyaWQsIGNoaWxkKSk7
CisgICAgICAgIC8vIEZJWE1FIChqZmVybmFuZGV6KSBDb250ZW50IEFsaWdubWVudCBzaG91bGQg
YWNjb3VudCBmb3IgdGhpcyBoZXVyaXN0aWMuCisgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNv
bS93M2MvY3Nzd2ctZHJhZnRzL2lzc3Vlcy8yNjk3CisgICAgICAgIGlmIChtX3NpemluZ1N0YXRl
ID09IENvbHVtblNpemluZ0ZpcnN0SXRlcmF0aW9uKQorICAgICAgICAgICAgcmV0dXJuIGFzc3Vt
ZWRSb3dzU2l6ZUZvck9ydGhvZ29uYWxDaGlsZChjaGlsZCk7CisgICAgICAgIGFkZENvbnRlbnRB
bGlnbm1lbnRPZmZzZXQgPSB0cnVlOworICAgIH0KIAogICAgIGNvbnN0IFZlY3RvcjxHcmlkVHJh
Y2s+JiBhbGxUcmFja3MgPSB0cmFja3MoZGlyZWN0aW9uKTsKICAgICBjb25zdCBHcmlkU3BhbiYg
c3BhbiA9IG1fZ3JpZC5ncmlkSXRlbVNwYW4oY2hpbGQsIGRpcmVjdGlvbik7CkBAIC01NjcsNiAr
NTc1LDkgQEAgTGF5b3V0VW5pdCBHcmlkVHJhY2tTaXppbmdBbGdvcml0aG06OmdyaWRBcmVhQnJl
YWR0aEZvckNoaWxkKGNvbnN0IFJlbmRlckJveCYgY2gKICAgICBmb3IgKGF1dG8gdHJhY2tQb3Np
dGlvbiA6IHNwYW4pCiAgICAgICAgIGdyaWRBcmVhQnJlYWR0aCArPSBhbGxUcmFja3NbdHJhY2tQ
b3NpdGlvbl0uYmFzZVNpemUoKTsKIAorICAgIGlmIChhZGRDb250ZW50QWxpZ25tZW50T2Zmc2V0
KQorICAgICAgICBncmlkQXJlYUJyZWFkdGggKz0gKHNwYW4uaW50ZWdlclNwYW4oKSAtIDEpICog
bV9yZW5kZXJHcmlkLT5ncmlkSXRlbU9mZnNldChkaXJlY3Rpb24pOworCiAgICAgZ3JpZEFyZWFC
cmVhZHRoICs9IG1fcmVuZGVyR3JpZC0+Z3V0dGVyc1NpemUobV9ncmlkLCBkaXJlY3Rpb24sIHNw
YW4uc3RhcnRMaW5lKCksIHNwYW4uaW50ZWdlclNwYW4oKSwgYXZhaWxhYmxlU3BhY2UoZGlyZWN0
aW9uKSk7CiAKICAgICByZXR1cm4gZ3JpZEFyZWFCcmVhZHRoOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckdyaWQuY3BwCmluZGV4IDg5NzVkZTRkNTQ1NmM5YjUyNzU3YzdjMDYxYThiMjdm
YmQ2NTYxMTUuLjYwMTJkZmRjMjU0MDA3ODM4NjM0YWFjMjQ2NjhjMDBhNTZiN2FjZTEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAKQEAgLTQ5LDE2ICs0OSw2IEBAIGVu
dW0gVHJhY2tTaXplUmVzdHJpY3Rpb24gewogICAgIEZvcmJpZEluZmluaXR5LAogfTsKIAotc3Ry
dWN0IENvbnRlbnRBbGlnbm1lbnREYXRhIHsKLSAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
LXB1YmxpYzoKLSAgICBib29sIGlzVmFsaWQoKSB7IHJldHVybiBwb3NpdGlvbk9mZnNldCA+PSAw
ICYmIGRpc3RyaWJ1dGlvbk9mZnNldCA+PSAwOyB9Ci0gICAgc3RhdGljIENvbnRlbnRBbGlnbm1l
bnREYXRhIGRlZmF1bHRPZmZzZXRzKCkgeyByZXR1cm4gey0xLCAtMX07IH0KLQotICAgIExheW91
dFVuaXQgcG9zaXRpb25PZmZzZXQ7Ci0gICAgTGF5b3V0VW5pdCBkaXN0cmlidXRpb25PZmZzZXQ7
Ci19OwotCiBSZW5kZXJHcmlkOjpSZW5kZXJHcmlkKEVsZW1lbnQmIGVsZW1lbnQsIFJlbmRlclN0
eWxlJiYgc3R5bGUpCiAgICAgOiBSZW5kZXJCbG9jayhlbGVtZW50LCBXVEZNb3ZlKHN0eWxlKSwg
MCkKICAgICAsIG1fZ3JpZCgqdGhpcykKQEAgLTE3MCw3ICsxNjAsOSBAQCB2b2lkIFJlbmRlckdy
aWQ6OnJlcGVhdFRyYWNrc1NpemluZ0lmTmVlZGVkKExheW91dFVuaXQgYXZhaWxhYmxlU3BhY2VG
b3JDb2x1bW5zLAogICAgIC8vIGNvbmRpdGlvbiB0byBkZXRlY3Qgd2hldGhlciBjaGlsZCdzIG1p
bi1jb250ZW50IGNvbnRyaWJ1dGlvbiBoYXMgY2hhbmdlZCBvciBub3QuCiAgICAgaWYgKG1fZ3Jp
ZC5oYXNBbnlPcnRob2dvbmFsR3JpZEl0ZW0oKSB8fCBtX3RyYWNrU2l6aW5nQWxnb3JpdGhtLmhh
c0FueVBlcmNlbnRTaXplZFJvd3NJbmRlZmluaXRlSGVpZ2h0KCkpIHsKICAgICAgICAgY29tcHV0
ZVRyYWNrU2l6ZXNGb3JEZWZpbml0ZVNpemUoRm9yQ29sdW1ucywgYXZhaWxhYmxlU3BhY2VGb3JD
b2x1bW5zKTsKKyAgICAgICAgY29tcHV0ZUNvbnRlbnRQb3NpdGlvbkFuZERpc3RyaWJ1dGlvbk9m
ZnNldChGb3JDb2x1bW5zLCBtX3RyYWNrU2l6aW5nQWxnb3JpdGhtLmZyZWVTcGFjZShGb3JDb2x1
bW5zKS52YWx1ZSgpLCBub25Db2xsYXBzZWRUcmFja3MoRm9yQ29sdW1ucykpOwogICAgICAgICBj
b21wdXRlVHJhY2tTaXplc0ZvckRlZmluaXRlU2l6ZShGb3JSb3dzLCBhdmFpbGFibGVTcGFjZUZv
clJvd3MpOworICAgICAgICBjb21wdXRlQ29udGVudFBvc2l0aW9uQW5kRGlzdHJpYnV0aW9uT2Zm
c2V0KEZvclJvd3MsIG1fdHJhY2tTaXppbmdBbGdvcml0aG0uZnJlZVNwYWNlKEZvclJvd3MpLnZh
bHVlKCksIG5vbkNvbGxhcHNlZFRyYWNrcyhGb3JSb3dzKSk7CiAgICAgfQogfQogCkBAIC0yMjYs
MTIgKzIxOCwyMCBAQCB2b2lkIFJlbmRlckdyaWQ6OmxheW91dEJsb2NrKGJvb2wgcmVsYXlvdXRD
aGlsZHJlbiwgTGF5b3V0VW5pdCkKICAgICAgICAgTGF5b3V0VW5pdCBhdmFpbGFibGVTcGFjZUZv
ckNvbHVtbnMgPSBhdmFpbGFibGVMb2dpY2FsV2lkdGgoKTsKICAgICAgICAgcGxhY2VJdGVtc09u
R3JpZChtX2dyaWQsIGF2YWlsYWJsZVNwYWNlRm9yQ29sdW1ucyk7CiAKLSAgICAgICAgLy8gQXQg
dGhpcyBwb2ludCB0aGUgbG9naWNhbCB3aWR0aCBpcyBhbHdheXMgZGVmaW5pdGUgYXMgdGhlIGFi
b3ZlIGNhbGwgdG8gdXBkYXRlTG9naWNhbFdpZHRoKCkKLSAgICAgICAgLy8gcHJvcGVybHkgcmVz
b2x2ZXMgaW50cmluc2ljIHNpemVzLiBXZSBjYW5ub3QgZG8gdGhlIHNhbWUgZm9yIGhlaWdodHMg
dGhvdWdoIGJlY2F1c2UgbWFueSBjb2RlCi0gICAgICAgIC8vIHBhdGhzIGluc2lkZSB1cGRhdGVM
b2dpY2FsSGVpZ2h0KCkgcmVxdWlyZSBhIHByZXZpb3VzIGNhbGwgdG8gc2V0TG9naWNhbEhlaWdo
dCgpIHRvIHJlc29sdmUKLSAgICAgICAgLy8gaGVpZ2h0cyBwcm9wZXJseSAobGlrZSBmb3IgcG9z
aXRpb25lZCBpdGVtcyBmb3IgZXhhbXBsZSkuCisgICAgICAgIC8vIDEtIEZpcnN0LCB0aGUgdHJh
Y2sgc2l6aW5nIGFsZ29yaXRobSBpcyB1c2VkIHRvIHJlc29sdmUgdGhlIHNpemVzIG9mIHRoZQor
ICAgICAgICAvLyBncmlkIGNvbHVtbnMuCisgICAgICAgIC8vIEF0IHRoaXMgcG9pbnQgdGhlIGxv
Z2ljYWwgd2lkdGggaXMgYWx3YXlzIGRlZmluaXRlIGFzIHRoZSBhYm92ZSBjYWxsIHRvCisgICAg
ICAgIC8vIHVwZGF0ZUxvZ2ljYWxXaWR0aCgpIHByb3Blcmx5IHJlc29sdmVzIGludHJpbnNpYyBz
aXplcy4gV2UgY2Fubm90IGRvIHRoZQorICAgICAgICAvLyBzYW1lIGZvciBoZWlnaHRzIHRob3Vn
aCBiZWNhdXNlIG1hbnkgY29kZSBwYXRocyBpbnNpZGUKKyAgICAgICAgLy8gdXBkYXRlTG9naWNh
bEhlaWdodCgpIHJlcXVpcmUgYSBwcmV2aW91cyBjYWxsIHRvIHNldExvZ2ljYWxIZWlnaHQoKSB0
bworICAgICAgICAvLyByZXNvbHZlIGhlaWdodHMgcHJvcGVybHkgKGxpa2UgZm9yIHBvc2l0aW9u
ZWQgaXRlbXMgZm9yIGV4YW1wbGUpLgogICAgICAgICBjb21wdXRlVHJhY2tTaXplc0ZvckRlZmlu
aXRlU2l6ZShGb3JDb2x1bW5zLCBhdmFpbGFibGVTcGFjZUZvckNvbHVtbnMpOwogCisgICAgICAg
IC8vIDEuNS0gQ29tcHV0ZSBDb250ZW50IERpc3RyaWJ1dGlvbiBvZmZzZXRzIGZvciBjb2x1bW4g
dHJhY2tzCisgICAgICAgIGNvbXB1dGVDb250ZW50UG9zaXRpb25BbmREaXN0cmlidXRpb25PZmZz
ZXQoRm9yQ29sdW1ucywgbV90cmFja1NpemluZ0FsZ29yaXRobS5mcmVlU3BhY2UoRm9yQ29sdW1u
cykudmFsdWUoKSwgbm9uQ29sbGFwc2VkVHJhY2tzKEZvckNvbHVtbnMpKTsKKworICAgICAgICAv
LyAyLSBOZXh0LCB0aGUgdHJhY2sgc2l6aW5nIGFsZ29yaXRobSByZXNvbHZlcyB0aGUgc2l6ZXMg
b2YgdGhlIGdyaWQgcm93cywKKyAgICAgICAgLy8gdXNpbmcgdGhlIGdyaWQgY29sdW1uIHNpemVz
IGNhbGN1bGF0ZWQgaW4gdGhlIHByZXZpb3VzIHN0ZXAuCiAgICAgICAgIGlmICghaGFzRGVmaW5p
dGVMb2dpY2FsSGVpZ2h0KSB7CiAgICAgICAgICAgICBtX21pbkNvbnRlbnRIZWlnaHQgPSBMYXlv
dXRVbml0KCk7CiAgICAgICAgICAgICBtX21heENvbnRlbnRIZWlnaHQgPSBMYXlvdXRVbml0KCk7
CkBAIC0yNTYsNiArMjU2LDkgQEAgdm9pZCBSZW5kZXJHcmlkOjpsYXlvdXRCbG9jayhib29sIHJl
bGF5b3V0Q2hpbGRyZW4sIExheW91dFVuaXQpCiAgICAgICAgIGlmICghaGFzRGVmaW5pdGVMb2dp
Y2FsSGVpZ2h0KQogICAgICAgICAgICAgbV90cmFja1NpemluZ0FsZ29yaXRobS5zZXRGcmVlU3Bh
Y2UoRm9yUm93cywgbG9naWNhbEhlaWdodCgpIC0gdHJhY2tCYXNlZExvZ2ljYWxIZWlnaHQpOwog
CisgICAgICAgIC8vIDIuNS0gQ29tcHV0ZSBDb250ZW50IERpc3RyaWJ1dGlvbiBvZmZzZXRzIGZv
ciByb3dzIHRyYWNrcworICAgICAgICBjb21wdXRlQ29udGVudFBvc2l0aW9uQW5kRGlzdHJpYnV0
aW9uT2Zmc2V0KEZvclJvd3MsIG1fdHJhY2tTaXppbmdBbGdvcml0aG0uZnJlZVNwYWNlKEZvclJv
d3MpLnZhbHVlKCksIG5vbkNvbGxhcHNlZFRyYWNrcyhGb3JSb3dzKSk7CisKICAgICAgICAgLy8g
My0gSWYgdGhlIG1pbi1jb250ZW50IGNvbnRyaWJ1dGlvbiBvZiBhbnkgZ3JpZCBpdGVtcyBoYXZl
IGNoYW5nZWQgYmFzZWQgb24gdGhlIHJvdwogICAgICAgICAvLyBzaXplcyBjYWxjdWxhdGVkIGlu
IHN0ZXAgMiwgc3RlcHMgMSBhbmQgMiBhcmUgcmVwZWF0ZWQgd2l0aCB0aGUgbmV3IG1pbi1jb250
ZW50CiAgICAgICAgIC8vIGNvbnRyaWJ1dGlvbiAob25jZSBvbmx5KS4KQEAgLTMxMCw3ICszMTMs
NyBAQCBMYXlvdXRVbml0IFJlbmRlckdyaWQ6OmdyaWRHYXAoR3JpZFRyYWNrU2l6aW5nRGlyZWN0
aW9uIGRpcmVjdGlvbikgY29uc3QKIAogTGF5b3V0VW5pdCBSZW5kZXJHcmlkOjpncmlkSXRlbU9m
ZnNldChHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24gZGlyZWN0aW9uKSBjb25zdAogewotICAgIHJl
dHVybiBkaXJlY3Rpb24gPT0gRm9yUm93cyA/IG1fb2Zmc2V0QmV0d2VlblJvd3MgOiBtX29mZnNl
dEJldHdlZW5Db2x1bW5zOworICAgIHJldHVybiBkaXJlY3Rpb24gPT0gRm9yUm93cyA/IG1fb2Zm
c2V0QmV0d2VlblJvd3MuZGlzdHJpYnV0aW9uT2Zmc2V0IDogbV9vZmZzZXRCZXR3ZWVuQ29sdW1u
cy5kaXN0cmlidXRpb25PZmZzZXQ7CiB9CiAKIExheW91dFVuaXQgUmVuZGVyR3JpZDo6Z3V0dGVy
c1NpemUoY29uc3QgR3JpZCYgZ3JpZCwgR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uIGRpcmVjdGlv
biwgdW5zaWduZWQgc3RhcnRMaW5lLCB1bnNpZ25lZCBzcGFuLCBzdGQ6Om9wdGlvbmFsPExheW91
dFVuaXQ+IGF2YWlsYWJsZVNpemUpIGNvbnN0CkBAIC04MDUsNyArODA4LDcgQEAgVmVjdG9yPExh
eW91dFVuaXQ+IFJlbmRlckdyaWQ6OnRyYWNrU2l6ZXNGb3JDb21wdXRlZFN0eWxlKEdyaWRUcmFj
a1NpemluZ0RpcmVjdGkKICAgICBib29sIGlzUm93QXhpcyA9IGRpcmVjdGlvbiA9PSBGb3JDb2x1
bW5zOwogICAgIGF1dG8mIHBvc2l0aW9ucyA9IGlzUm93QXhpcyA/IG1fY29sdW1uUG9zaXRpb25z
IDogbV9yb3dQb3NpdGlvbnM7CiAgICAgc2l6ZV90IG51bVBvc2l0aW9ucyA9IHBvc2l0aW9ucy5z
aXplKCk7Ci0gICAgTGF5b3V0VW5pdCBvZmZzZXRCZXR3ZWVuVHJhY2tzID0gaXNSb3dBeGlzID8g
bV9vZmZzZXRCZXR3ZWVuQ29sdW1ucyA6IG1fb2Zmc2V0QmV0d2VlblJvd3M7CisgICAgTGF5b3V0
VW5pdCBvZmZzZXRCZXR3ZWVuVHJhY2tzID0gaXNSb3dBeGlzID8gbV9vZmZzZXRCZXR3ZWVuQ29s
dW1ucy5kaXN0cmlidXRpb25PZmZzZXQgOiBtX29mZnNldEJldHdlZW5Sb3dzLmRpc3RyaWJ1dGlv
bk9mZnNldDsKIAogICAgIFZlY3RvcjxMYXlvdXRVbml0PiB0cmFja3M7CiAgICAgaWYgKG51bVBv
c2l0aW9ucyA8IDIpCkBAIC05NjIsNyArOTY1LDcgQEAgdm9pZCBSZW5kZXJHcmlkOjpwb3B1bGF0
ZUdyaWRQb3NpdGlvbnNGb3JEaXJlY3Rpb24oR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uIGRpcmUK
ICAgICB1bnNpZ25lZCBsYXN0TGluZSA9IG51bWJlck9mTGluZXMgLSAxOwogICAgIGJvb2wgaGFz
Q29sbGFwc2VkVHJhY2tzID0gbV9ncmlkLmhhc0F1dG9SZXBlYXRFbXB0eVRyYWNrcyhkaXJlY3Rp
b24pOwogICAgIHNpemVfdCBudW1iZXJPZkNvbGxhcHNlZFRyYWNrcyA9IGhhc0NvbGxhcHNlZFRy
YWNrcyA/IG1fZ3JpZC5hdXRvUmVwZWF0RW1wdHlUcmFja3MoZGlyZWN0aW9uKS0+c2l6ZSgpIDog
MDsKLSAgICBDb250ZW50QWxpZ25tZW50RGF0YSBvZmZzZXQgPSBjb21wdXRlQ29udGVudFBvc2l0
aW9uQW5kRGlzdHJpYnV0aW9uT2Zmc2V0KGRpcmVjdGlvbiwgbV90cmFja1NpemluZ0FsZ29yaXRo
bS5mcmVlU3BhY2UoZGlyZWN0aW9uKS52YWx1ZSgpLCBudW1iZXJPZlRyYWNrcyAtIG51bWJlck9m
Q29sbGFwc2VkVHJhY2tzKTsKKyAgICBjb25zdCBhdXRvJiBvZmZzZXQgPSBkaXJlY3Rpb24gPT0g
Rm9yQ29sdW1ucyA/IG1fb2Zmc2V0QmV0d2VlbkNvbHVtbnMgOiBtX29mZnNldEJldHdlZW5Sb3dz
OwogICAgIGF1dG8mIHBvc2l0aW9ucyA9IGlzUm93QXhpcyA/IG1fY29sdW1uUG9zaXRpb25zIDog
bV9yb3dQb3NpdGlvbnM7CiAgICAgcG9zaXRpb25zLnJlc2l6ZShudW1iZXJPZkxpbmVzKTsKICAg
ICBhdXRvIGJvcmRlckFuZFBhZGRpbmcgPSBpc1Jvd0F4aXMgPyBib3JkZXJBbmRQYWRkaW5nTG9n
aWNhbExlZnQoKSA6IGJvcmRlckFuZFBhZGRpbmdCZWZvcmUoKTsKQEAgLTk5OSw4ICsxMDAyLDYg
QEAgdm9pZCBSZW5kZXJHcmlkOjpwb3B1bGF0ZUdyaWRQb3NpdGlvbnNGb3JEaXJlY3Rpb24oR3Jp
ZFRyYWNrU2l6aW5nRGlyZWN0aW9uIGRpcmUKICAgICAgICAgICAgIHBvc2l0aW9uc1tsYXN0TGlu
ZV0gKz0gZ2FwQWNjdW11bGF0b3IgLSBvZmZzZXRBY2N1bXVsYXRvcjsKICAgICAgICAgfQogICAg
IH0KLSAgICBhdXRvJiBvZmZzZXRCZXR3ZWVuVHJhY2tzID0gaXNSb3dBeGlzID8gbV9vZmZzZXRC
ZXR3ZWVuQ29sdW1ucyA6IG1fb2Zmc2V0QmV0d2VlblJvd3M7Ci0gICAgb2Zmc2V0QmV0d2VlblRy
YWNrcyA9IG9mZnNldC5kaXN0cmlidXRpb25PZmZzZXQ7CiB9CiAKIHN0YXRpYyBMYXlvdXRVbml0
IGNvbXB1dGVPdmVyZmxvd0FsaWdubWVudE9mZnNldChPdmVyZmxvd0FsaWdubWVudCBvdmVyZmxv
dywgTGF5b3V0VW5pdCB0cmFja1NpemUsIExheW91dFVuaXQgY2hpbGRTaXplKQpAQCAtMTQ2Miw3
ICsxNDYzLDcgQEAgTGF5b3V0VW5pdCBSZW5kZXJHcmlkOjpncmlkQXJlYUJyZWFkdGhGb3JPdXRP
ZkZsb3dDaGlsZChjb25zdCBSZW5kZXJCb3gmIGNoaWxkLAogICAgICAgICBpZiAoZW5kTGluZSA+
IDAgJiYgZW5kTGluZSA8IGxhc3RMaW5lKSB7CiAgICAgICAgICAgICBBU1NFUlQoIW1fZ3JpZC5u
ZWVkc0l0ZW1zUGxhY2VtZW50KCkpOwogICAgICAgICAgICAgZW5kIC09IGd1dHRlcnNTaXplKG1f
Z3JpZCwgZGlyZWN0aW9uLCBlbmRMaW5lIC0gMSwgMiwgYXZhaWxhYmxlU2l6ZUZvckd1dHRlcnMp
OwotICAgICAgICAgICAgZW5kIC09IGlzUm93QXhpcyA/IG1fb2Zmc2V0QmV0d2VlbkNvbHVtbnMg
OiBtX29mZnNldEJldHdlZW5Sb3dzOworICAgICAgICAgICAgZW5kIC09IGlzUm93QXhpcyA/IG1f
b2Zmc2V0QmV0d2VlbkNvbHVtbnMuZGlzdHJpYnV0aW9uT2Zmc2V0IDogbV9vZmZzZXRCZXR3ZWVu
Um93cy5kaXN0cmlidXRpb25PZmZzZXQ7CiAgICAgICAgIH0KICAgICB9CiAgICAgcmV0dXJuIHN0
ZDo6bWF4KGVuZCAtIHN0YXJ0LCBMYXlvdXRVbml0KCkpOwpAQCAtMTU1MCwzNSArMTU1MSw0NiBA
QCBDb250ZW50UG9zaXRpb24gc3RhdGljIHJlc29sdmVDb250ZW50RGlzdHJpYnV0aW9uRmFsbGJh
Y2soQ29udGVudERpc3RyaWJ1dGlvbiBkaQogICAgIHJldHVybiBDb250ZW50UG9zaXRpb246Ok5v
cm1hbDsKIH0KIAotc3RhdGljIENvbnRlbnRBbGlnbm1lbnREYXRhIGNvbnRlbnREaXN0cmlidXRp
b25PZmZzZXQoY29uc3QgTGF5b3V0VW5pdCYgYXZhaWxhYmxlRnJlZVNwYWNlLCBDb250ZW50UG9z
aXRpb24mIGZhbGxiYWNrUG9zaXRpb24sIENvbnRlbnREaXN0cmlidXRpb24gZGlzdHJpYnV0aW9u
LCB1bnNpZ25lZCBudW1iZXJPZkdyaWRUcmFja3MpCitzdGF0aWMgdm9pZCBjb250ZW50RGlzdHJp
YnV0aW9uT2Zmc2V0KENvbnRlbnRBbGlnbm1lbnREYXRhJiBvZmZzZXQsIGNvbnN0IExheW91dFVu
aXQmIGF2YWlsYWJsZUZyZWVTcGFjZSwgQ29udGVudFBvc2l0aW9uJiBmYWxsYmFja1Bvc2l0aW9u
LCBDb250ZW50RGlzdHJpYnV0aW9uIGRpc3RyaWJ1dGlvbiwgdW5zaWduZWQgbnVtYmVyT2ZHcmlk
VHJhY2tzKQogewogICAgIGlmIChkaXN0cmlidXRpb24gIT0gQ29udGVudERpc3RyaWJ1dGlvbjo6
RGVmYXVsdCAmJiBmYWxsYmFja1Bvc2l0aW9uID09IENvbnRlbnRQb3NpdGlvbjo6Tm9ybWFsKQog
ICAgICAgICBmYWxsYmFja1Bvc2l0aW9uID0gcmVzb2x2ZUNvbnRlbnREaXN0cmlidXRpb25GYWxs
YmFjayhkaXN0cmlidXRpb24pOwogCisgICAgLy8gSW5pdGlhbGl6ZSB0byBhbiBpbnZhbGlkIG9m
ZnNldC4KKyAgICBvZmZzZXQucG9zaXRpb25PZmZzZXQgPSBMYXlvdXRVbml0KC0xKTsKKyAgICBv
ZmZzZXQuZGlzdHJpYnV0aW9uT2Zmc2V0ID0gTGF5b3V0VW5pdCgtMSk7CiAgICAgaWYgKGF2YWls
YWJsZUZyZWVTcGFjZSA8PSAwKQotICAgICAgICByZXR1cm4gQ29udGVudEFsaWdubWVudERhdGE6
OmRlZmF1bHRPZmZzZXRzKCk7CisgICAgICAgIHJldHVybjsKIAorICAgIExheW91dFVuaXQgcG9z
aXRpb25PZmZzZXQ7CiAgICAgTGF5b3V0VW5pdCBkaXN0cmlidXRpb25PZmZzZXQ7CiAgICAgc3dp
dGNoIChkaXN0cmlidXRpb24pIHsKICAgICBjYXNlIENvbnRlbnREaXN0cmlidXRpb246OlNwYWNl
QmV0d2VlbjoKICAgICAgICAgaWYgKG51bWJlck9mR3JpZFRyYWNrcyA8IDIpCi0gICAgICAgICAg
ICByZXR1cm4gQ29udGVudEFsaWdubWVudERhdGE6OmRlZmF1bHRPZmZzZXRzKCk7Ci0gICAgICAg
IHJldHVybiB7MCwgYXZhaWxhYmxlRnJlZVNwYWNlIC8gKG51bWJlck9mR3JpZFRyYWNrcyAtIDEp
fTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgZGlzdHJpYnV0aW9uT2Zmc2V0ID0gYXZh
aWxhYmxlRnJlZVNwYWNlIC8gKG51bWJlck9mR3JpZFRyYWNrcyAtIDEpOworICAgICAgICBwb3Np
dGlvbk9mZnNldCA9IExheW91dFVuaXQoKTsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDb250
ZW50RGlzdHJpYnV0aW9uOjpTcGFjZUFyb3VuZDoKICAgICAgICAgaWYgKG51bWJlck9mR3JpZFRy
YWNrcyA8IDEpCi0gICAgICAgICAgICByZXR1cm4gQ29udGVudEFsaWdubWVudERhdGE6OmRlZmF1
bHRPZmZzZXRzKCk7CisgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIGRpc3RyaWJ1dGlvbk9m
ZnNldCA9IGF2YWlsYWJsZUZyZWVTcGFjZSAvIG51bWJlck9mR3JpZFRyYWNrczsKLSAgICAgICAg
cmV0dXJuIHtkaXN0cmlidXRpb25PZmZzZXQgLyAyLCBkaXN0cmlidXRpb25PZmZzZXR9OworICAg
ICAgICBwb3NpdGlvbk9mZnNldCA9IGRpc3RyaWJ1dGlvbk9mZnNldCAvIDI7CisgICAgICAgIGJy
ZWFrOwogICAgIGNhc2UgQ29udGVudERpc3RyaWJ1dGlvbjo6U3BhY2VFdmVubHk6CiAgICAgICAg
IGRpc3RyaWJ1dGlvbk9mZnNldCA9IGF2YWlsYWJsZUZyZWVTcGFjZSAvIChudW1iZXJPZkdyaWRU
cmFja3MgKyAxKTsKLSAgICAgICAgcmV0dXJuIHtkaXN0cmlidXRpb25PZmZzZXQsIGRpc3RyaWJ1
dGlvbk9mZnNldH07CisgICAgICAgIHBvc2l0aW9uT2Zmc2V0ID0gZGlzdHJpYnV0aW9uT2Zmc2V0
OworICAgICAgICBicmVhazsKICAgICBjYXNlIENvbnRlbnREaXN0cmlidXRpb246OlN0cmV0Y2g6
CiAgICAgY2FzZSBDb250ZW50RGlzdHJpYnV0aW9uOjpEZWZhdWx0OgotICAgICAgICByZXR1cm4g
Q29udGVudEFsaWdubWVudERhdGE6OmRlZmF1bHRPZmZzZXRzKCk7CisgICAgICAgIHJldHVybjsK
KyAgICBkZWZhdWx0OgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0
dXJuOwogICAgIH0KIAotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiBDb250
ZW50QWxpZ25tZW50RGF0YTo6ZGVmYXVsdE9mZnNldHMoKTsKKyAgICBvZmZzZXQucG9zaXRpb25P
ZmZzZXQgPSBwb3NpdGlvbk9mZnNldDsKKyAgICBvZmZzZXQuZGlzdHJpYnV0aW9uT2Zmc2V0ID0g
ZGlzdHJpYnV0aW9uT2Zmc2V0OwogfQogCiBTdHlsZUNvbnRlbnRBbGlnbm1lbnREYXRhIFJlbmRl
ckdyaWQ6OmNvbnRlbnRBbGlnbm1lbnQoR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uIGRpcmVjdGlv
bikgY29uc3QKQEAgLTE1ODYsNTQgKzE1OTgsNjQgQEAgU3R5bGVDb250ZW50QWxpZ25tZW50RGF0
YSBSZW5kZXJHcmlkOjpjb250ZW50QWxpZ25tZW50KEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbgog
ICAgIHJldHVybiBkaXJlY3Rpb24gPT0gRm9yQ29sdW1ucyA/IHN0eWxlKCkucmVzb2x2ZWRKdXN0
aWZ5Q29udGVudChjb250ZW50QWxpZ25tZW50Tm9ybWFsQmVoYXZpb3JHcmlkKCkpIDogc3R5bGUo
KS5yZXNvbHZlZEFsaWduQ29udGVudChjb250ZW50QWxpZ25tZW50Tm9ybWFsQmVoYXZpb3JHcmlk
KCkpOwogfQogCi1Db250ZW50QWxpZ25tZW50RGF0YSBSZW5kZXJHcmlkOjpjb21wdXRlQ29udGVu
dFBvc2l0aW9uQW5kRGlzdHJpYnV0aW9uT2Zmc2V0KEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiBk
aXJlY3Rpb24sIGNvbnN0IExheW91dFVuaXQmIGF2YWlsYWJsZUZyZWVTcGFjZSwgdW5zaWduZWQg
bnVtYmVyT2ZHcmlkVHJhY2tzKSBjb25zdAordm9pZCBSZW5kZXJHcmlkOjpjb21wdXRlQ29udGVu
dFBvc2l0aW9uQW5kRGlzdHJpYnV0aW9uT2Zmc2V0KEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiBk
aXJlY3Rpb24sIGNvbnN0IExheW91dFVuaXQmIGF2YWlsYWJsZUZyZWVTcGFjZSwgdW5zaWduZWQg
bnVtYmVyT2ZHcmlkVHJhY2tzKQogewogICAgIGJvb2wgaXNSb3dBeGlzID0gZGlyZWN0aW9uID09
IEZvckNvbHVtbnM7CisgICAgYXV0byYgb2Zmc2V0ID0KKyAgICAgICAgaXNSb3dBeGlzID8gbV9v
ZmZzZXRCZXR3ZWVuQ29sdW1ucyA6IG1fb2Zmc2V0QmV0d2VlblJvd3M7CiAgICAgYXV0byBjb250
ZW50QWxpZ25tZW50RGF0YSA9IGNvbnRlbnRBbGlnbm1lbnQoZGlyZWN0aW9uKTsKICAgICBhdXRv
IHBvc2l0aW9uID0gY29udGVudEFsaWdubWVudERhdGEucG9zaXRpb24oKTsKICAgICAvLyBJZiA8
Y29udGVudC1kaXN0cmlidXRpb24+IHZhbHVlIGNhbid0IGJlIGFwcGxpZWQsICdwb3NpdGlvbicg
d2lsbCBiZWNvbWUgdGhlIGFzc29jaWF0ZWQKICAgICAvLyA8Y29udGVudC1wb3NpdGlvbj4gZmFs
bGJhY2sgdmFsdWUuCi0gICAgYXV0byBjb250ZW50QWxpZ25tZW50ID0gY29udGVudERpc3RyaWJ1
dGlvbk9mZnNldChhdmFpbGFibGVGcmVlU3BhY2UsIHBvc2l0aW9uLCBjb250ZW50QWxpZ25tZW50
RGF0YS5kaXN0cmlidXRpb24oKSwgbnVtYmVyT2ZHcmlkVHJhY2tzKTsKLSAgICBpZiAoY29udGVu
dEFsaWdubWVudC5pc1ZhbGlkKCkpCi0gICAgICAgIHJldHVybiBjb250ZW50QWxpZ25tZW50Owor
ICAgIGNvbnRlbnREaXN0cmlidXRpb25PZmZzZXQob2Zmc2V0LCBhdmFpbGFibGVGcmVlU3BhY2Us
IHBvc2l0aW9uLCBjb250ZW50QWxpZ25tZW50RGF0YS5kaXN0cmlidXRpb24oKSwgbnVtYmVyT2ZH
cmlkVHJhY2tzKTsKKyAgICBpZiAob2Zmc2V0LmlzVmFsaWQoKSkKKyAgICAgICAgcmV0dXJuOwog
Ci0gICAgaWYgKGF2YWlsYWJsZUZyZWVTcGFjZSA8PSAwICYmIGNvbnRlbnRBbGlnbm1lbnREYXRh
Lm92ZXJmbG93KCkgPT0gT3ZlcmZsb3dBbGlnbm1lbnQ6OlNhZmUpCi0gICAgICAgIHJldHVybiB7
MCwgMH07CisgICAgaWYgKGF2YWlsYWJsZUZyZWVTcGFjZSA8PSAwICYmIGNvbnRlbnRBbGlnbm1l
bnREYXRhLm92ZXJmbG93KCkgPT0gT3ZlcmZsb3dBbGlnbm1lbnQ6OlNhZmUpIHsKKyAgICAgICAg
b2Zmc2V0LnBvc2l0aW9uT2Zmc2V0ID0gTGF5b3V0VW5pdCgpOworICAgICAgICBvZmZzZXQuZGlz
dHJpYnV0aW9uT2Zmc2V0ID0gTGF5b3V0VW5pdCgpOworICAgICAgICByZXR1cm47CisgICAgfQog
CisgICAgTGF5b3V0VW5pdCBwb3NpdGlvbk9mZnNldDsKICAgICBzd2l0Y2ggKHBvc2l0aW9uKSB7
CiAgICAgY2FzZSBDb250ZW50UG9zaXRpb246OkxlZnQ6Ci0gICAgICAgIC8vIFRoZSBhbGlnbi1j
b250ZW50J3MgYXhpcyBpcyBhbHdheXMgb3J0aG9nb25hbCB0byB0aGUgaW5saW5lLWF4aXMuCi0g
ICAgICAgIHJldHVybiB7MCwgMH07CisgICAgICAgIEFTU0VSVChpc1Jvd0F4aXMpOworICAgICAg
ICBicmVhazsKICAgICBjYXNlIENvbnRlbnRQb3NpdGlvbjo6UmlnaHQ6Ci0gICAgICAgIGlmIChp
c1Jvd0F4aXMpCi0gICAgICAgICAgICByZXR1cm4ge2F2YWlsYWJsZUZyZWVTcGFjZSwgMH07Ci0g
ICAgICAgIC8vIFRoZSBhbGlnbi1jb250ZW50J3MgYXhpcyBpcyBhbHdheXMgb3J0aG9nb25hbCB0
byB0aGUgaW5saW5lLWF4aXMuCi0gICAgICAgIHJldHVybiB7MCwgMH07CisgICAgICAgIEFTU0VS
VChpc1Jvd0F4aXMpOworICAgICAgICBwb3NpdGlvbk9mZnNldCA9IGF2YWlsYWJsZUZyZWVTcGFj
ZTsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDb250ZW50UG9zaXRpb246OkNlbnRlcjoKLSAg
ICAgICAgcmV0dXJuIHthdmFpbGFibGVGcmVlU3BhY2UgLyAyLCAwfTsKKyAgICAgICAgcG9zaXRp
b25PZmZzZXQgPSBhdmFpbGFibGVGcmVlU3BhY2UgLyAyOworICAgICAgICBicmVhazsKICAgICBj
YXNlIENvbnRlbnRQb3NpdGlvbjo6RmxleEVuZDogLy8gT25seSB1c2VkIGluIGZsZXggbGF5b3V0
LCBmb3Igb3RoZXIgbGF5b3V0LCBpdCdzIGVxdWl2YWxlbnQgdG8gJ2VuZCcuCiAgICAgY2FzZSBD
b250ZW50UG9zaXRpb246OkVuZDoKICAgICAgICAgaWYgKGlzUm93QXhpcykKLSAgICAgICAgICAg
IHJldHVybiB7c3R5bGUoKS5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkgPyBhdmFpbGFibGVGcmVl
U3BhY2UgOiBMYXlvdXRVbml0KCksIExheW91dFVuaXQoKX07Ci0gICAgICAgIHJldHVybiB7YXZh
aWxhYmxlRnJlZVNwYWNlLCAwfTsKKyAgICAgICAgICAgIHBvc2l0aW9uT2Zmc2V0ID0gc3R5bGUo
KS5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkgPyBhdmFpbGFibGVGcmVlU3BhY2UgOiBMYXlvdXRV
bml0KCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHBvc2l0aW9uT2Zmc2V0ID0gYXZhaWxh
YmxlRnJlZVNwYWNlOworICAgICAgICBicmVhazsKICAgICBjYXNlIENvbnRlbnRQb3NpdGlvbjo6
RmxleFN0YXJ0OiAvLyBPbmx5IHVzZWQgaW4gZmxleCBsYXlvdXQsIGZvciBvdGhlciBsYXlvdXQs
IGl0J3MgZXF1aXZhbGVudCB0byAnc3RhcnQnLgogICAgIGNhc2UgQ29udGVudFBvc2l0aW9uOjpT
dGFydDoKICAgICAgICAgaWYgKGlzUm93QXhpcykKLSAgICAgICAgICAgIHJldHVybiB7c3R5bGUo
KS5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkgPyBMYXlvdXRVbml0KCkgOiBhdmFpbGFibGVGcmVl
U3BhY2UsIExheW91dFVuaXQoKX07Ci0gICAgICAgIHJldHVybiB7MCwgMH07CisgICAgICAgICAg
ICBwb3NpdGlvbk9mZnNldCA9IHN0eWxlKCkuaXNMZWZ0VG9SaWdodERpcmVjdGlvbigpID8gTGF5
b3V0VW5pdCgpIDogYXZhaWxhYmxlRnJlZVNwYWNlOworICAgICAgICBicmVhazsKICAgICBjYXNl
IENvbnRlbnRQb3NpdGlvbjo6QmFzZWxpbmU6CiAgICAgY2FzZSBDb250ZW50UG9zaXRpb246Okxh
c3RCYXNlbGluZToKICAgICAgICAgLy8gRklYTUU6IEltcGxlbWVudCB0aGUgcHJldmlvdXMgdmFs
dWVzLiBGb3Igbm93LCB3ZSBhbHdheXMgJ3N0YXJ0JyBhbGlnbi4KICAgICAgICAgLy8gaHR0cDov
L3dlYmtpdC5vcmcvYi8xNDU1NjYKICAgICAgICAgaWYgKGlzUm93QXhpcykKLSAgICAgICAgICAg
IHJldHVybiB7c3R5bGUoKS5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkgPyBMYXlvdXRVbml0KCkg
OiBhdmFpbGFibGVGcmVlU3BhY2UsIExheW91dFVuaXQoKX07Ci0gICAgICAgIHJldHVybiB7MCwg
MH07Ci0gICAgY2FzZSBDb250ZW50UG9zaXRpb246Ok5vcm1hbDoKKyAgICAgICAgICAgIHBvc2l0
aW9uT2Zmc2V0ID0gc3R5bGUoKS5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkgPyBMYXlvdXRVbml0
KCkgOiBhdmFpbGFibGVGcmVlU3BhY2U7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ29udGVu
dFBvc2l0aW9uOjpOb3JtYWw6CisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7CisgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKLSAgICByZXR1cm4gezAsIDB9OworICAgIG9mZnNldC5wb3NpdGlvbk9mZnNldCA9IHBvc2l0
aW9uT2Zmc2V0OworICAgIG9mZnNldC5kaXN0cmlidXRpb25PZmZzZXQgPSBMYXlvdXRVbml0KCk7
CiB9CiAKIExheW91dFVuaXQgUmVuZGVyR3JpZDo6dHJhbnNsYXRlT3V0T2ZGbG93UlRMQ29vcmRp
bmF0ZShjb25zdCBSZW5kZXJCb3gmIGNoaWxkLCBMYXlvdXRVbml0IGNvb3JkaW5hdGUpIGNvbnN0
CkBAIC0xNjc1LDYgKzE2OTcsMTUgQEAgTGF5b3V0UG9pbnQgUmVuZGVyR3JpZDo6ZmluZENoaWxk
TG9naWNhbFBvc2l0aW9uKGNvbnN0IFJlbmRlckJveCYgY2hpbGQpIGNvbnN0CiAgICAgcmV0dXJu
IGlzT3J0aG9nb25hbENoaWxkID8gY2hpbGRMb2NhdGlvbi50cmFuc3Bvc2VkUG9pbnQoKSA6IGNo
aWxkTG9jYXRpb247CiB9CiAKK3Vuc2lnbmVkIFJlbmRlckdyaWQ6Om5vbkNvbGxhcHNlZFRyYWNr
cyhHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24gZGlyZWN0aW9uKSBjb25zdAoreworICAgIGF1dG8m
IHRyYWNrcyA9IG1fdHJhY2tTaXppbmdBbGdvcml0aG0udHJhY2tzKGRpcmVjdGlvbik7CisgICAg
c2l6ZV90IG51bWJlck9mVHJhY2tzID0gdHJhY2tzLnNpemUoKTsKKyAgICBib29sIGhhc0NvbGxh
cHNlZFRyYWNrcyA9IG1fZ3JpZC5oYXNBdXRvUmVwZWF0RW1wdHlUcmFja3MoZGlyZWN0aW9uKTsK
KyAgICBzaXplX3QgbnVtYmVyT2ZDb2xsYXBzZWRUcmFja3MgPSBoYXNDb2xsYXBzZWRUcmFja3Mg
PyBtX2dyaWQuYXV0b1JlcGVhdEVtcHR5VHJhY2tzKGRpcmVjdGlvbiktPnNpemUoKSA6IDA7Cisg
ICAgcmV0dXJuIG51bWJlck9mVHJhY2tzIC0gbnVtYmVyT2ZDb2xsYXBzZWRUcmFja3M7Cit9CisK
IHVuc2lnbmVkIFJlbmRlckdyaWQ6Om51bVRyYWNrcyhHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24g
ZGlyZWN0aW9uLCBjb25zdCBHcmlkJiBncmlkKSBjb25zdAogewogICAgIC8vIER1ZSB0byBsaW1p
dGF0aW9ucyBpbiBvdXIgaW50ZXJuYWwgcmVwcmVzZW50YXRpb24sIHdlIGNhbm5vdCBrbm93IHRo
ZSBudW1iZXIgb2YgY29sdW1ucyBmcm9tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyR3JpZC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQu
aAppbmRleCA3MThkNGNiZGUzMmQzYTMyMzczMzcyNjUxOTc1YjE1YzAzM2UzNmViLi44YjVhZjFi
ZmUzYjhmNWZkYWQzYTg5N2RmMDM1NTY2MjlmNmViOGM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJHcmlkLmgKQEAgLTM1LDcgKzM1LDE1IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNs
YXNzIEdyaWRBcmVhOwogY2xhc3MgR3JpZFNwYW47CiAKLXN0cnVjdCBDb250ZW50QWxpZ25tZW50
RGF0YTsKK3N0cnVjdCBDb250ZW50QWxpZ25tZW50RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ29udGVudEFsaWdubWVudERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1
YmxpYzoKKyAgICBDb250ZW50QWxpZ25tZW50RGF0YSgpID0gZGVmYXVsdDsKKyAgICBib29sIGlz
VmFsaWQoKSBjb25zdCB7IHJldHVybiBwb3NpdGlvbk9mZnNldCA+PSAwICYmIGRpc3RyaWJ1dGlv
bk9mZnNldCA+PSAwOyB9CisKKyAgICBMYXlvdXRVbml0IHBvc2l0aW9uT2Zmc2V0OworICAgIExh
eW91dFVuaXQgZGlzdHJpYnV0aW9uT2Zmc2V0OworfTsKIAogZW51bSBHcmlkQXhpc1Bvc2l0aW9u
IHtHcmlkQXhpc1N0YXJ0LCBHcmlkQXhpc0VuZCwgR3JpZEF4aXNDZW50ZXJ9OwogZW51bSBHcmlk
QXhpcyB7IEdyaWRSb3dBeGlzLCBHcmlkQ29sdW1uQXhpcyB9OwpAQCAtNjQsNiArNzIsNyBAQCBw
dWJsaWM6CiAKICAgICAvLyBSZXF1aXJlZCBieSBHcmlkVHJhY2tTaXppbmdBbGdvcml0aG0uIEtl
ZXAgdGhlbSB1bmRlciBjb250cm9sLgogICAgIExheW91dFVuaXQgZ3V0dGVyc1NpemUoY29uc3Qg
R3JpZCYsIEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiwgdW5zaWduZWQgc3RhcnRMaW5lLCB1bnNp
Z25lZCBzcGFuLCBzdGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IGF2YWlsYWJsZVNpemUpIGNvbnN0
OworICAgIExheW91dFVuaXQgZ3JpZEl0ZW1PZmZzZXQoR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9u
KSBjb25zdDsKIAogICAgIFN0eWxlQ29udGVudEFsaWdubWVudERhdGEgY29udGVudEFsaWdubWVu
dChHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24pIGNvbnN0OwogCkBAIC0xMzMsNyArMTQyLDcgQEAg
cHJpdmF0ZToKICAgICBHcmlkQXhpc1Bvc2l0aW9uIHJvd0F4aXNQb3NpdGlvbkZvckNoaWxkKGNv
bnN0IFJlbmRlckJveCYpIGNvbnN0OwogICAgIExheW91dFVuaXQgY29sdW1uQXhpc09mZnNldEZv
ckNoaWxkKGNvbnN0IFJlbmRlckJveCYpIGNvbnN0OwogICAgIExheW91dFVuaXQgcm93QXhpc09m
ZnNldEZvckNoaWxkKGNvbnN0IFJlbmRlckJveCYpIGNvbnN0OwotICAgIENvbnRlbnRBbGlnbm1l
bnREYXRhIGNvbXB1dGVDb250ZW50UG9zaXRpb25BbmREaXN0cmlidXRpb25PZmZzZXQoR3JpZFRy
YWNrU2l6aW5nRGlyZWN0aW9uLCBjb25zdCBMYXlvdXRVbml0JiBhdmFpbGFibGVGcmVlU3BhY2Us
IHVuc2lnbmVkIG51bWJlck9mR3JpZFRyYWNrcykgY29uc3Q7CisgICAgdm9pZCBjb21wdXRlQ29u
dGVudFBvc2l0aW9uQW5kRGlzdHJpYnV0aW9uT2Zmc2V0KEdyaWRUcmFja1NpemluZ0RpcmVjdGlv
biwgY29uc3QgTGF5b3V0VW5pdCYgYXZhaWxhYmxlRnJlZVNwYWNlLCB1bnNpZ25lZCBudW1iZXJP
ZkdyaWRUcmFja3MpOwogICAgIExheW91dFBvaW50IGZpbmRDaGlsZExvZ2ljYWxQb3NpdGlvbihj
b25zdCBSZW5kZXJCb3gmKSBjb25zdDsKICAgICBHcmlkQXJlYSBjYWNoZWRHcmlkQXJlYShjb25z
dCBSZW5kZXJCb3gmKSBjb25zdDsKICAgICBHcmlkU3BhbiBjYWNoZWRHcmlkU3Bhbihjb25zdCBS
ZW5kZXJCb3gmLCBHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24pIGNvbnN0OwpAQCAtMTYyLDggKzE3
MSw4IEBAIHByaXZhdGU6CiAKICAgICBMYXlvdXRVbml0IGdyaWRHYXAoR3JpZFRyYWNrU2l6aW5n
RGlyZWN0aW9uKSBjb25zdDsKICAgICBMYXlvdXRVbml0IGdyaWRHYXAoR3JpZFRyYWNrU2l6aW5n
RGlyZWN0aW9uLCBzdGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IGF2YWlsYWJsZVNpemUpIGNvbnN0
OwotICAgIExheW91dFVuaXQgZ3JpZEl0ZW1PZmZzZXQoR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9u
KSBjb25zdDsKIAorICAgIHVuc2lnbmVkIG5vbkNvbGxhcHNlZFRyYWNrcyhHcmlkVHJhY2tTaXpp
bmdEaXJlY3Rpb24pIGNvbnN0OwogICAgIHVuc2lnbmVkIG51bVRyYWNrcyhHcmlkVHJhY2tTaXpp
bmdEaXJlY3Rpb24sIGNvbnN0IEdyaWQmKSBjb25zdDsKIAogICAgIExheW91dFVuaXQgdHJhbnNs
YXRlT3V0T2ZGbG93UlRMQ29vcmRpbmF0ZShjb25zdCBSZW5kZXJCb3gmLCBMYXlvdXRVbml0KSBj
b25zdDsKQEAgLTE3NSw4ICsxODQsOCBAQCBwcml2YXRlOgogCiAgICAgVmVjdG9yPExheW91dFVu
aXQ+IG1fY29sdW1uUG9zaXRpb25zOwogICAgIFZlY3RvcjxMYXlvdXRVbml0PiBtX3Jvd1Bvc2l0
aW9uczsKLSAgICBMYXlvdXRVbml0IG1fb2Zmc2V0QmV0d2VlbkNvbHVtbnM7Ci0gICAgTGF5b3V0
VW5pdCBtX29mZnNldEJldHdlZW5Sb3dzOworICAgIENvbnRlbnRBbGlnbm1lbnREYXRhIG1fb2Zm
c2V0QmV0d2VlbkNvbHVtbnM7CisgICAgQ29udGVudEFsaWdubWVudERhdGEgbV9vZmZzZXRCZXR3
ZWVuUm93czsKIAogICAgIHR5cGVkZWYgSGFzaE1hcDxjb25zdCBSZW5kZXJCb3gqLCBzdGQ6Om9w
dGlvbmFsPHNpemVfdD4+IE91dE9mRmxvd1Bvc2l0aW9uc01hcDsKICAgICBPdXRPZkZsb3dQb3Np
dGlvbnNNYXAgbV9vdXRPZkZsb3dJdGVtQ29sdW1uOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VM
b2cKaW5kZXggMjVhYjA5N2I0NmY2MDcxNDkwZGJmM2NmNWJlNWQ4ZWI2NjkwMDM4OC4uYjRiMWY4
YzMwNjNiZmEzNzc2Y2QxYjViNDgzNzZjN2FkMWQ4ZDYyMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTgtMTEtMDYgIEphdmllciBGZXJuYW5kZXog
IDxqZmVybmFuZGV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgQ1NTIGdyaWQgZWxlbWVudHMgd2l0
aCBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCBoYXZlIGV4dHJhIHdoaXRlc3BhY2UsIHNv
bWV0aW1lcyBhIGxvdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTkxMzA4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGVhbiBKYWNrc29uLgorCisgICAg
ICAgIEltcG9ydGVkIFdQVCB0byBjb3ZlciB0aGUgYmVoYXZpb3IgY2hhbmdlcyBhZGRlZCBpbiB0
aGlzIHBhdGNoLgorCisgICAgICAgICogcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNv
bjoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL2xheW91dC1hbGdv
cml0aG0vZ3JpZC1jb250ZW50LWRpc3RyaWJ1dGlvbi1tdXN0LWFjY291bnQtZm9yLXRyYWNrLXNp
emluZy0wMDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1ncmlkL2xheW91dC1hbGdvcml0aG0vZ3JpZC1jb250ZW50LWRpc3RyaWJ1dGlv
bi1tdXN0LWFjY291bnQtZm9yLXRyYWNrLXNpemluZy0wMDEuaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9sYXlvdXQtYWxnb3JpdGhtL2dyaWQt
Y29udGVudC1kaXN0cmlidXRpb24tbXVzdC1hY2NvdW50LWZvci10cmFjay1zaXppbmctMDAyLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Z3JpZC9sYXlvdXQtYWxnb3JpdGhtL2dyaWQtY29udGVudC1kaXN0cmlidXRpb24tbXVzdC1hY2Nv
dW50LWZvci10cmFjay1zaXppbmctMDAyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvbGF5b3V0LWFsZ29yaXRobS9ncmlkLWNvbnRlbnQtZGlz
dHJpYnV0aW9uLW11c3QtYWNjb3VudC1mb3ItdHJhY2stc2l6aW5nLTAwMy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvbGF5b3V0
LWFsZ29yaXRobS9ncmlkLWNvbnRlbnQtZGlzdHJpYnV0aW9uLW11c3QtYWNjb3VudC1mb3ItdHJh
Y2stc2l6aW5nLTAwMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1ncmlkL2xheW91dC1hbGdvcml0aG0vZ3JpZC1jb250ZW50LWRpc3RyaWJ1dGlvbi1t
dXN0LWFjY291bnQtZm9yLXRyYWNrLXNpemluZy0wMDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL2xheW91dC1hbGdvcml0aG0v
Z3JpZC1jb250ZW50LWRpc3RyaWJ1dGlvbi1tdXN0LWFjY291bnQtZm9yLXRyYWNrLXNpemluZy0w
MDQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3Jp
ZC9sYXlvdXQtYWxnb3JpdGhtL3czYy1pbXBvcnQubG9nOgorCiAyMDE4LTExLTA2ICBSb2IgQnVp
cyAgPHJidWlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgU29tZSBtaW5vciBYLUNvbnRlbnQtVHlw
ZS1PcHRpb25zIHBhcnNpbmcgaXNzdWVzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbiBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uCmluZGV4IGUyMmI1
YmFmZjUwMWFhZmM1MzJkNjQ0MDk0OTFmYzJhOGY3OGFjZWEuLjQ2NzU5M2U2ZmU0NDQ1NmQ1ZDAx
ZGRmZGRlZjE0MjYzMjY4MzYzODUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uCkBAIC02OCw2ICs2
OCw3IEBACiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWRpc3BsYXkiOiAiaW1wb3J0
IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQiOiAiaW1wb3J0IiwgCiAg
ICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvZ3JpZC1kZWZpbml0aW9uLyI6ICJp
bXBvcnQiLCAKKyAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9sYXlvdXQtYWxn
b3JpdGhtLyI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtbG9n
aWNhbCI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtbXVsdGlj
b2wiOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRp
ZXMtdmFsdWVzLWFwaSI6ICJpbXBvcnQiLCAKQEAgLTM1Myw0ICszNTQsNCBAQAogICAgICJ3ZWIt
cGxhdGZvcm0tdGVzdHMvd29ya2xldHMiOiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVz
dHMveC1mcmFtZS1vcHRpb25zIjogInNraXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3ho
ciI6ICJpbXBvcnQiCi19ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorfQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdy
aWQvbGF5b3V0LWFsZ29yaXRobS9ncmlkLWNvbnRlbnQtZGlzdHJpYnV0aW9uLW11c3QtYWNjb3Vu
dC1mb3ItdHJhY2stc2l6aW5nLTAwMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9sYXlvdXQtYWxnb3JpdGhtL2dy
aWQtY29udGVudC1kaXN0cmlidXRpb24tbXVzdC1hY2NvdW50LWZvci10cmFjay1zaXppbmctMDAx
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZGFhMDAwYTEyOWExYzVjZDgxNjA2M2M5NzE1MGFm
MDAxZTcyZmE2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvbGF5b3V0LWFsZ29yaXRobS9ncmlkLWNvbnRl
bnQtZGlzdHJpYnV0aW9uLW11c3QtYWNjb3VudC1mb3ItdHJhY2stc2l6aW5nLTAwMS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSw0IEBACitYWFggWFggWCBYWCBYIFhYWAorCitQQVNTIC5ncmlkIDEg
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1ncmlkL2xheW91dC1hbGdvcml0aG0vZ3JpZC1jb250ZW50LWRpc3RyaWJ1dGlv
bi1tdXN0LWFjY291bnQtZm9yLXRyYWNrLXNpemluZy0wMDEuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL2xheW91dC1hbGdvcml0
aG0vZ3JpZC1jb250ZW50LWRpc3RyaWJ1dGlvbi1tdXN0LWFjY291bnQtZm9yLXRyYWNrLXNpemlu
Zy0wMDEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMWFlMTFmZWVlOWI4NGZkN2VhMTIzZGMzOTZhN2E5NWU3
MGU0NzMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvbGF5b3V0LWFsZ29yaXRobS9ncmlkLWNvbnRlbnQt
ZGlzdHJpYnV0aW9uLW11c3QtYWNjb3VudC1mb3ItdHJhY2stc2l6aW5nLTAwMS5odG1sCkBAIC0w
LDAgKzEsMzMgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRp
dGxlPkNTUyBHcmlkIExheW91dCBUZXN0OiBDb250ZW50IERpc3RyaWJ1dGlvbiBhbmQgdGhlIHRy
YWNrIHNpemluZyBhbGdvcml0aG08L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJK
YXZpZXIgRmVybmFuZGV6IEdhcmNpYS1Cb2VudGUiIGhyZWY9Im1haWx0bzpqZmVybmFuZGV6QGln
YWxpYS5jb20iPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2RyYWZ0cy5jc3N3Zy5v
cmcvY3NzLWdyaWQvI2dyaWQtYWxpZ24iPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczov
L2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWFsaWduLyNjb250ZW50LWRpc3RyaWJ1dGlvbiI+Cis8bGlu
ayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtYWxpZ24vI3Zh
bGRlZi1hbGlnbi1jb250ZW50LXNwYWNlLWJldHdlZW4iPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiBocmVmPSIuLi8uLi9zdXBwb3J0L2FsaWdubWVudC5jc3MiPgorPG1ldGEgbmFtZT0iZmxhZ3Mi
IGNvbnRlbnQ9ImFoZW0iPgorPG1ldGEgbmFtZT0iYXNzZXJ0IiBjb250ZW50PSJDb250ZW50IERp
c3RyaWJ1dGlvbiBvbiB0aGUgaW5saW5lLWF4aXMgbWF5IGFmZmVjdCB0byB0aGUgcm93IHRyYWNr
J3Mgc2l6ZS4iPgorPHN0eWxlPgorLmdyaWQgeworICBkaXNwbGF5OiBpbmxpbmUtZ3JpZDsKKyAg
YmFja2dyb3VuZDogZ3JleTsKKyAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA1MHB4IDUwcHg7Cisg
IGZvbnQ6IDIwcHgvMSBBaGVtOworICB3aWR0aDogMjAwcHg7Cit9CisKKy5pdGVtIHsKKyAgZ3Jp
ZC1jb2x1bW46IHNwYW4gMjsKKyAgYmFja2dyb3VuZDogZ3JlZW47Cit9Cis8L3N0eWxlPgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvY2hlY2stbGF5b3V0LXRoLmpzIj48L3NjcmlwdD4KKworPGJvZHkgb25s
b2FkPSJjaGVja0xheW91dCgnLmdyaWQnKSI+CisgICAgPGRpdiBjbGFzcz0iZ3JpZCBqdXN0aWZ5
Q29udGVudFNwYWNlQmV0d2VlbiIgZGF0YS1leHBlY3RlZC13aWR0aD0iMjAwIiBkYXRhLWV4cGVj
dGVkLWhlaWdodD0iNDAiPgorICAgICAgICA8ZGl2IGNsYXNzPSJpdGVtIiBkYXRhLWV4cGVjdGVk
LXdpZHRoPSIyMDAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI0MCI+WFhYIFhYIFggWFggWCBYWFg8
L2Rpdj4KKyAgICA8L2Rpdj4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL2xheW91dC1hbGdvcml0aG0v
Z3JpZC1jb250ZW50LWRpc3RyaWJ1dGlvbi1tdXN0LWFjY291bnQtZm9yLXRyYWNrLXNpemluZy0w
MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWdyaWQvbGF5b3V0LWFsZ29yaXRobS9ncmlkLWNvbnRlbnQtZGlzdHJpYnV0
aW9uLW11c3QtYWNjb3VudC1mb3ItdHJhY2stc2l6aW5nLTAwMi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNmRhYTAwMGExMjlhMWM1Y2Q4MTYwNjNjOTcxNTBhZjAwMWU3MmZhNgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1ncmlkL2xheW91dC1hbGdvcml0aG0vZ3JpZC1jb250ZW50LWRpc3RyaWJ1dGlvbi1tdXN0
LWFjY291bnQtZm9yLXRyYWNrLXNpemluZy0wMDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBA
QAorWFhYIFhYIFggWFggWCBYWFgKKworUEFTUyAuZ3JpZCAxIAorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9sYXlv
dXQtYWxnb3JpdGhtL2dyaWQtY29udGVudC1kaXN0cmlidXRpb24tbXVzdC1hY2NvdW50LWZvci10
cmFjay1zaXppbmctMDAyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9sYXlvdXQtYWxnb3JpdGhtL2dyaWQtY29udGVudC1kaXN0
cmlidXRpb24tbXVzdC1hY2NvdW50LWZvci10cmFjay1zaXppbmctMDAyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNDdkZmI2MTU3NjE1NGJiMGU4NzA4MjZiNDliZDhhNzllMDg5NjA2YwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1ncmlkL2xheW91dC1hbGdvcml0aG0vZ3JpZC1jb250ZW50LWRpc3RyaWJ1dGlvbi1tdXN0LWFj
Y291bnQtZm9yLXRyYWNrLXNpemluZy0wMDIuaHRtbApAQCAtMCwwICsxLDM3IEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5DU1MgR3JpZCBMYXlvdXQg
VGVzdDogQ29udGVudCBEaXN0cmlidXRpb24gYW5kIHRoZSB0cmFjayBzaXppbmcgYWxnb3JpdGht
PC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iSmF2aWVyIEZlcm5hbmRleiBHYXJj
aWEtQm9lbnRlIiBocmVmPSJtYWlsdG86amZlcm5hbmRlekBpZ2FsaWEuY29tIj4KKzxsaW5rIHJl
bD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1ncmlkLyNncmlkLWFs
aWduIj4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nz
cy1hbGlnbi8jY29udGVudC1kaXN0cmlidXRpb24iPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJo
dHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWFsaWduLyN2YWxkZWYtYWxpZ24tY29udGVudC1z
cGFjZS1iZXR3ZWVuIj4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vc3VwcG9y
dC9hbGlnbm1lbnQuY3NzIj4KKzxtZXRhIG5hbWU9ImZsYWdzIiBjb250ZW50PSJhaGVtIj4KKzxt
ZXRhIG5hbWU9ImFzc2VydCIgY29udGVudD0iQ29udGVudCBEaXN0cmlidXRpb24gb24gdGhlIGJs
b2NrLWF4aXMgbWF5IGFmZmVjdCB0byB0aGUgY29sdW1uIHRyYWNrJ3Mgc2l6ZS4iPgorPHN0eWxl
PgorLmdyaWQgeworICBkaXNwbGF5OiBpbmxpbmUtZ3JpZDsKKyAgYmFja2dyb3VuZDogZ3JleTsK
KyAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiA1MHB4IDUwcHg7CisgIGZvbnQ6IDIwcHgvMSBBaGVtOwor
ICBoZWlnaHQ6IDIwMHB4OworfQorCisuaXRlbSB7CisgIGdyaWQtcm93OiBzcGFuIDI7CisgIGJh
Y2tncm91bmQ6IGdyZWVuOworICB3cml0aW5nLW1vZGU6IHZlcnRpY2FsLWxyOworfQorPC9zdHls
ZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL2NoZWNrLWxheW91dC10aC5qcyI+PC9zY3JpcHQ+CisKKzwh
LS0gIEhldXJpc3RpYyBmb3IgZXN0aW1hdGluZyByb3ctc2l6ZSBmb3Igb3J0aG9nb25hbCBpdGVt
cyBzaG91bGQKK2Fsc28gY29uc2lkZXIgQ29udGVudCBBbGlnbm1lbnQsIHNvIHRoYXQgZ3JpZCBj
b250YWluZXIgd2lkdGggaXMgNDBweC4KK2h0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctZHJh
ZnRzL2lzc3Vlcy8yNjk3ICAtLT4KKzxib2R5IG9ubG9hZD0iY2hlY2tMYXlvdXQoJy5ncmlkJyki
PgorICAgIDxkaXYgY2xhc3M9ImdyaWQganVzdGlmeUNvbnRlbnRTdGFydCBhbGlnbkNvbnRlbnRT
cGFjZUJldHdlZW4iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjgwIiBkYXRhLWV4cGVjdGVkLWhlaWdo
dD0iMjAwIj4KKyAgICAgICAgPGRpdiBjbGFzcz0iaXRlbSIgZGF0YS1leHBlY3RlZC13aWR0aD0i
NDAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIyMDAiPlhYWCBYWCBYIFhYIFggWFhYPC9kaXY+Cisg
ICAgPC9kaXY+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9sYXlvdXQtYWxnb3JpdGhtL2dyaWQtY29u
dGVudC1kaXN0cmlidXRpb24tbXVzdC1hY2NvdW50LWZvci10cmFjay1zaXppbmctMDAzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1ncmlkL2xheW91dC1hbGdvcml0aG0vZ3JpZC1jb250ZW50LWRpc3RyaWJ1dGlvbi1tdXN0
LWFjY291bnQtZm9yLXRyYWNrLXNpemluZy0wMDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEx
Yjc1OThjMTY3MTY5OGJmNWQxMzQ4MTM2NjcwMGIxOWM5ODBhN2EKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3Jp
ZC9sYXlvdXQtYWxnb3JpdGhtL2dyaWQtY29udGVudC1kaXN0cmlidXRpb24tbXVzdC1hY2NvdW50
LWZvci10cmFjay1zaXppbmctMDAzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1hYWFgg
WFhYCitYWFgKKworUEFTUyAuZ3JpZCAxIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9sYXlvdXQtYWxnb3JpdGht
L2dyaWQtY29udGVudC1kaXN0cmlidXRpb24tbXVzdC1hY2NvdW50LWZvci10cmFjay1zaXppbmct
MDAzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtZ3JpZC9sYXlvdXQtYWxnb3JpdGhtL2dyaWQtY29udGVudC1kaXN0cmlidXRpb24tbXVz
dC1hY2NvdW50LWZvci10cmFjay1zaXppbmctMDAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmJhOTY3MWYy
NGRjZDJkOTRkMGNiNDhlNzM0ZWUxMDE4MmJmMDcxYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL2xheW91
dC1hbGdvcml0aG0vZ3JpZC1jb250ZW50LWRpc3RyaWJ1dGlvbi1tdXN0LWFjY291bnQtZm9yLXRy
YWNrLXNpemluZy0wMDMuaHRtbApAQCAtMCwwICsxLDM5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxt
ZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5DU1MgR3JpZCBMYXlvdXQgVGVzdDogQ29udGVu
dCBEaXN0cmlidXRpb24gYW5kIHRoZSB0cmFjayBzaXppbmcgYWxnb3JpdGhtPC90aXRsZT4KKzxs
aW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iSmF2aWVyIEZlcm5hbmRleiBHYXJjaWEtQm9lbnRlIiBo
cmVmPSJtYWlsdG86amZlcm5hbmRlekBpZ2FsaWEuY29tIj4KKzxsaW5rIHJlbD0iaGVscCIgaHJl
Zj0iaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1ncmlkLyNncmlkLWFsaWduIj4KKzxsaW5r
IHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1hbGlnbi8jY29u
dGVudC1kaXN0cmlidXRpb24iPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2RyYWZ0
cy5jc3N3Zy5vcmcvY3NzLWFsaWduLyN2YWxkZWYtYWxpZ24tY29udGVudC1zcGFjZS1hcm91bmQi
PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9zdXBwb3J0L2FsaWdubWVudC5j
c3MiPgorPG1ldGEgbmFtZT0iZmxhZ3MiIGNvbnRlbnQ9ImFoZW0iPgorPG1ldGEgbmFtZT0iYXNz
ZXJ0IiBjb250ZW50PSJDb250ZW50IERpc3RyaWJ1dGlvbiBvZmZzZXQgZG9lc24ndCBhY2NvdW50
IGZvciB0cmFja3Mgd2l0aCBub24tc3Bhbm5pbmcgaXRlbXMuIj4KKzxzdHlsZT4KKy5ncmlkIHsK
KyAgZGlzcGxheTogaW5saW5lLWdyaWQ7CisgIGJhY2tncm91bmQ6IGdyZXk7CisgIGdyaWQtdGVt
cGxhdGUtY29sdW1uczogMTAwcHg7CisgIGZvbnQ6IDIwcHgvMSBBaGVtOworICB3aWR0aDogMjAw
cHg7Cit9CisuaXRlbTEgeworICBiYWNrZ3JvdW5kOiBncmVlbjsKKyAgZ3JpZC1jb2x1bW46IDE7
CisgIGdyaWQtcm93OiAxOworfQorLml0ZW0yIHsKKyAgYmFja2dyb3VuZDogYmx1ZTsKKyAgZ3Jp
ZC1jb2x1bW46IDE7CisgIGdyaWQtcm93OiAyOworfQorPC9zdHlsZT4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL2NoZWNrLWxheW91dC10aC5qcyI+PC9zY3JpcHQ+CisKKzxib2R5IG9ubG9hZD0iY2hlY2tM
YXlvdXQoJy5ncmlkJykiPgorICAgIDxkaXYgY2xhc3M9ImdyaWQganVzdGlmeUNvbnRlbnRTcGFj
ZUFyb3VuZCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMjAwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0i
NjAiPgorICAgICAgICA8ZGl2IGNsYXNzPSJpdGVtMSIgZGF0YS1leHBlY3RlZC13aWR0aD0iMTAw
IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iNDAiPlhYWFggWFhYPC9kaXY+CisgICAgICAgIDxkaXYg
Y2xhc3M9Iml0ZW0yIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIxMDAiIGRhdGEtZXhwZWN0ZWQtaGVp
Z2h0PSIyMCI+WFhYPC9kaXY+CisgICAgPC9kaXY+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9sYXlv
dXQtYWxnb3JpdGhtL2dyaWQtY29udGVudC1kaXN0cmlidXRpb24tbXVzdC1hY2NvdW50LWZvci10
cmFjay1zaXppbmctMDA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL2xheW91dC1hbGdvcml0aG0vZ3JpZC1jb250
ZW50LWRpc3RyaWJ1dGlvbi1tdXN0LWFjY291bnQtZm9yLXRyYWNrLXNpemluZy0wMDQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmExYjc1OThjMTY3MTY5OGJmNWQxMzQ4MTM2NjcwMGIxOWM5ODBh
N2EKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9sYXlvdXQtYWxnb3JpdGhtL2dyaWQtY29udGVudC1kaXN0
cmlidXRpb24tbXVzdC1hY2NvdW50LWZvci10cmFjay1zaXppbmctMDA0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDUgQEAKK1hYWFggWFhYCitYWFgKKworUEFTUyAuZ3JpZCAxIAorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Z3JpZC9sYXlvdXQtYWxnb3JpdGhtL2dyaWQtY29udGVudC1kaXN0cmlidXRpb24tbXVzdC1hY2Nv
dW50LWZvci10cmFjay1zaXppbmctMDA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9sYXlvdXQtYWxnb3JpdGhtL2dyaWQtY29u
dGVudC1kaXN0cmlidXRpb24tbXVzdC1hY2NvdW50LWZvci10cmFjay1zaXppbmctMDA0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZTZkZTQ3MzBhNmQyZmJkOTIyNDhlY2RmZWZmNWQyZTFlMWRhZjZhNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1ncmlkL2xheW91dC1hbGdvcml0aG0vZ3JpZC1jb250ZW50LWRpc3RyaWJ1dGlv
bi1tdXN0LWFjY291bnQtZm9yLXRyYWNrLXNpemluZy0wMDQuaHRtbApAQCAtMCwwICsxLDM5IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5DU1MgR3Jp
ZCBMYXlvdXQgVGVzdDogQ29udGVudCBEaXN0cmlidXRpb24gYW5kIHRoZSB0cmFjayBzaXppbmcg
YWxnb3JpdGhtPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iSmF2aWVyIEZlcm5h
bmRleiBHYXJjaWEtQm9lbnRlIiBocmVmPSJtYWlsdG86amZlcm5hbmRlekBpZ2FsaWEuY29tIj4K
KzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1ncmlk
LyNncmlkLWFsaWduIj4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFmdHMuY3Nz
d2cub3JnL2Nzcy1hbGlnbi8jY29udGVudC1kaXN0cmlidXRpb24iPgorPGxpbmsgcmVsPSJoZWxw
IiBocmVmPSJodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWFsaWduLyN2YWxkZWYtYWxpZ24t
Y29udGVudC1zcGFjZS1iZXR3ZWVuIj4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4v
Li4vc3VwcG9ydC9hbGlnbm1lbnQuY3NzIj4KKzxtZXRhIG5hbWU9ImZsYWdzIiBjb250ZW50PSJh
aGVtIj4KKzxtZXRhIG5hbWU9ImFzc2VydCIgY29udGVudD0iQ29udGVudCBEaXN0cmlidXRpb24g
b2Zmc2V0IGRvZXNuJ3QgYWNjb3VudCBmb3IgcmVsYXRpdmUgc2l6ZWQgdHJhY2tzIHdpdGggbm9u
LXNwYW5uaW5nIGl0ZW1zLiI+Cis8c3R5bGU+CisuZ3JpZCB7CisgIGRpc3BsYXk6IGlubGluZS1n
cmlkOworICBiYWNrZ3JvdW5kOiBncmV5OworICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDUwJTsK
KyAgZm9udDogMjBweC8xIEFoZW07Cit9CisKKy5pdGVtMSB7CisgIGJhY2tncm91bmQ6IGdyZWVu
OworICBncmlkLWNvbHVtbjogMTsKKyAgZ3JpZC1yb3c6IDE7Cit9CisuaXRlbTIgeworICBiYWNr
Z3JvdW5kOiBibHVlOworICBncmlkLWNvbHVtbjogMjsKKyAgZ3JpZC1yb3c6IDE7Cit9Cis8L3N0
eWxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvY2hlY2stbGF5b3V0LXRoLmpzIj48L3NjcmlwdD4KKwor
PGJvZHkgb25sb2FkPSJjaGVja0xheW91dCgnLmdyaWQnKSI+CisgICAgPGRpdiBjbGFzcz0iZ3Jp
ZCBqdXN0aWZ5Q29udGVudFNwYWNlQmV0d2VlbiIgZGF0YS1leHBlY3RlZC13aWR0aD0iMjIwIiBk
YXRhLWV4cGVjdGVkLWhlaWdodD0iNDAiPgorICAgICAgICA8ZGl2IGNsYXNzPSJpdGVtMSIgZGF0
YS1leHBlY3RlZC13aWR0aD0iMTEwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iNDAiPlhYWFggWFhY
PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9Iml0ZW0yIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI2
MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjQwIj5YWFg8L2Rpdj4KKyAgICA8L2Rpdj4KKzwvYm9k
eT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1ncmlkL2xheW91dC1hbGdvcml0aG0vdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9sYXlvdXQt
YWxnb3JpdGhtL3czYy1pbXBvcnQubG9nCmluZGV4IDAwNWMxMTMyMGJmZmEwODcyOGFjNTUzNDg4
YmFkZWQ5Nzk5YTBkY2UuLmIyZjRhMGYyOTdlNmI2YjQ0YzE0ODc2YzBkYjNiZTdkYTU3NjIyOTIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1ncmlkL2xheW91dC1hbGdvcml0aG0vdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvbGF5b3V0
LWFsZ29yaXRobS93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDcgQEAKIFRoZSB0ZXN0cyBpbiB0
aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8g
Tk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCiBJbnN0ZWFkLCBjcmVh
dGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29t
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3Jt
LXRlc3RzL3dwdAogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3Rz
IGluIFdlYktpdCB0byByZWltcG9ydAogCkBAIC0xNCw2ICsxNCwxMCBAQCBQcm9wZXJ0eSB2YWx1
ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKIE5vbmUKIC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogTGlz
dCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtZ3JpZC9sYXlvdXQtYWxnb3JpdGhtL2dyaWQtY29udGVudC1kaXN0cmlidXRpb24t
bXVzdC1hY2NvdW50LWZvci10cmFjay1zaXppbmctMDAxLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9sYXlvdXQtYWxnb3JpdGht
L2dyaWQtY29udGVudC1kaXN0cmlidXRpb24tbXVzdC1hY2NvdW50LWZvci10cmFjay1zaXppbmct
MDAyLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtZ3JpZC9sYXlvdXQtYWxnb3JpdGhtL2dyaWQtY29udGVudC1kaXN0cmlidXRpb24tbXVz
dC1hY2NvdW50LWZvci10cmFjay1zaXppbmctMDAzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9sYXlvdXQtYWxnb3JpdGhtL2dy
aWQtY29udGVudC1kaXN0cmlidXRpb24tbXVzdC1hY2NvdW50LWZvci10cmFjay1zaXppbmctMDA0
Lmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtZ3JpZC9sYXlvdXQtYWxnb3JpdGhtL2dyaWQtZmluZC1mci1zaXplLWd1dHRlcnMtMDAxLmh0
bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Z3JpZC9sYXlvdXQtYWxnb3JpdGhtL2dyaWQtZmluZC1mci1zaXplLWd1dHRlcnMtMDAyLmh0bWwK
IC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3Jp
ZC9sYXlvdXQtYWxnb3JpdGhtL2dyaWQtaW50cmluc2ljLXNpemUtd2l0aC1vcnRob2dvbmFsLWl0
ZW1zLmh0bWwK
</data>

          </attachment>
      

    </bug>

</bugzilla>