<?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>148944</bug_id>
          
          <creation_ts>2015-09-07 14:00:40 -0700</creation_ts>
          <short_desc>[CSS Grid Layout] Flex tracks sizing alg must handle 0fr values</short_desc>
          <delta_ts>2015-09-29 05:33:17 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>BlinkMergeCandidate</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>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>hyatt</cc>
    
    <cc>jfernandez</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>rego</cc>
    
    <cc>svillar</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1124165</commentid>
    <comment_count>0</comment_count>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2015-09-07 14:00:40 -0700</bug_when>
    <thetext>We don&apos;t allow 0 as flexible size value, which is not following current specs; it just states that it must be a positive value. 

Besides, we don&apos;t manage properly fraction units when using indefinite size for the grid container. We could use this opportunity to implement the new algorithm for determining the flexible tracks sizes, because we are still using the old one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1124726</commentid>
    <comment_count>1</comment_count>
      <attachid>260884</attachid>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2015-09-09 15:48:15 -0700</bug_when>
    <thetext>Created attachment 260884
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1124741</commentid>
    <comment_count>2</comment_count>
      <attachid>260884</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-09-09 16:17:26 -0700</bug_when>
    <thetext>Comment on attachment 260884
Patch

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

&gt; Source/WebCore/ChangeLog:11
&gt; +        We don&apos;t allow 0 as flexible size value, which is not following current
&gt; +        specs; it just states that it must be a positive value. This patch
&gt; +        adds such change in the parser but some additional logic must be added
&gt; +        as well to handle 0 values during the flex tracks sizing algorithm.

Sorry to be pedantic, but 0 is not a positive value. Often the term nonnegative is used instead of positive to clarify that 0 is allowed. Might be nice to fix the spec language if it’s treating 0 as a positive value.

&gt; Source/WebCore/rendering/RenderGrid.cpp:455
&gt; +    Vector&lt;unsigned&gt; flexibleSizedTracksIndex;

This is a case where adding some inline capacity can improve performance if the vector is normally small. Given that this is a leaf function, I think we could write something like Vector&lt;unsigned, 256&gt;.

&gt; Source/WebCore/rendering/RenderGrid.cpp:476
&gt; +            tracksToTreatAsInflexible.add(trackIndex);

What guarantees that trackIndex won’t be 0xFFFFFFFE or 0xFFFFFFFF? If we can’t guarantee that, then it’s not safe to call add here.

&gt; Source/WebCore/rendering/RenderGrid.cpp:481
&gt; +    return succeed ? hypotheticalFrSize : findFrUnitSize(tracks, tracksSpan, direction, spaceToFill, tracksToTreatAsInflexible);

Is this tail recursion going to be efficient? Can we write this algorithm in a way that’s iterative instead of recursive?

&gt; Source/WebCore/rendering/RenderGrid.h:115
&gt; +    double findFrUnitSize(Vector&lt;GridTrack&gt;&amp;, const GridSpan&amp;, GridTrackSizingDirection, LayoutUnit spaceToFill, TrackIndexSet tracksToTreatAsInflexible = TrackIndexSet()) const;

We would get better performance if we passed in a TrackIndexSet&amp; instead of copying the set every time we make the call. It might be tricky to do it just right, though. It would be really nice not to copy a HashSet every time we recurse, since that’s a non-trivial operation.

Is the right name for this “find fr unit size”? Can we give it a name that doesn’t use that abbreviation, or is “fr” a term of art here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125305</commentid>
    <comment_count>3</comment_count>
      <attachid>260884</attachid>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2015-09-11 16:59:06 -0700</bug_when>
    <thetext>Comment on attachment 260884
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:11
&gt;&gt; +        as well to handle 0 values during the flex tracks sizing algorithm.
&gt; 
&gt; Sorry to be pedantic, but 0 is not a positive value. Often the term nonnegative is used instead of positive to clarify that 0 is allowed. Might be nice to fix the spec language if it’s treating 0 as a positive value.

Hey, np. Actually, spec talks about &quot;non-negative&quot; value so this comment is totally right. I&apos;ll modify the ChangeLog test accordingly.

&gt;&gt; Source/WebCore/rendering/RenderGrid.cpp:481
&gt;&gt; +    return succeed ? hypotheticalFrSize : findFrUnitSize(tracks, tracksSpan, direction, spaceToFill, tracksToTreatAsInflexible);
&gt; 
&gt; Is this tail recursion going to be efficient? Can we write this algorithm in a way that’s iterative instead of recursive?

I think it&apos;s a good idea, I&apos;ll try to find an iterative equivalent logic.

&gt;&gt; Source/WebCore/rendering/RenderGrid.h:115
&gt;&gt; +    double findFrUnitSize(Vector&lt;GridTrack&gt;&amp;, const GridSpan&amp;, GridTrackSizingDirection, LayoutUnit spaceToFill, TrackIndexSet tracksToTreatAsInflexible = TrackIndexSet()) const;
&gt; 
&gt; We would get better performance if we passed in a TrackIndexSet&amp; instead of copying the set every time we make the call. It might be tricky to do it just right, though. It would be really nice not to copy a HashSet every time we recurse, since that’s a non-trivial operation.
&gt; 
&gt; Is the right name for this “find fr unit size”? Can we give it a name that doesn’t use that abbreviation, or is “fr” a term of art here?

Even that my goal would be to find an iterative version of this function, I&apos;ll use the reference anyway as you suggested.  Changing the function name is indeed a good idea as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127106</commentid>
    <comment_count>4</comment_count>
      <attachid>260884</attachid>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2015-09-18 06:34:43 -0700</bug_when>
    <thetext>Comment on attachment 260884
Patch

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

&gt;&gt; Source/WebCore/rendering/RenderGrid.cpp:455
&gt;&gt; +    Vector&lt;unsigned&gt; flexibleSizedTracksIndex;
&gt; 
&gt; This is a case where adding some inline capacity can improve performance if the vector is normally small. Given that this is a leaf function, I think we could write something like Vector&lt;unsigned, 256&gt;.

I&apos;ve been thinking about this and it&apos;s a good idea, indeed, but perhaps 256 is too much. I&apos;ll set the inline capacity to 8, since we are only dealing here with Flexible tracks and we don&apos;t expect many of them in general grid definitions.

&gt;&gt; Source/WebCore/rendering/RenderGrid.cpp:476
&gt;&gt; +            tracksToTreatAsInflexible.add(trackIndex);
&gt; 
&gt; What guarantees that trackIndex won’t be 0xFFFFFFFE or 0xFFFFFFFF? If we can’t guarantee that, then it’s not safe to call add here.

Those indexes are retrieved from a GridSpan structure, which has many assertions verifying that they are non-negative integers. See WebCore/rendering/style/GridResolvedPosition.[cpp, h] for details.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128370</commentid>
    <comment_count>5</comment_count>
      <attachid>261838</attachid>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2015-09-23 13:07:09 -0700</bug_when>
    <thetext>Created attachment 261838
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128373</commentid>
    <comment_count>6</comment_count>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2015-09-23 13:11:07 -0700</bug_when>
    <thetext>Even that we had r+ on the previous patch, I&apos;ve added a new one addressing some of the issues commented in #c2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129002</commentid>
    <comment_count>7</comment_count>
      <attachid>262007</attachid>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2015-09-28 05:23:06 -0700</bug_when>
    <thetext>Created attachment 262007
Using LayoutUnit instead of plain double types.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129215</commentid>
    <comment_count>8</comment_count>
      <attachid>262063</attachid>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2015-09-29 04:23:49 -0700</bug_when>
    <thetext>Created attachment 262063
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129221</commentid>
    <comment_count>9</comment_count>
      <attachid>262066</attachid>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2015-09-29 04:36:41 -0700</bug_when>
    <thetext>Created attachment 262066
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129227</commentid>
    <comment_count>10</comment_count>
      <attachid>262066</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-29 05:33:12 -0700</bug_when>
    <thetext>Comment on attachment 262066
Patch

Clearing flags on attachment: 262066

Committed r190308: &lt;http://trac.webkit.org/changeset/190308&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129228</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-29 05:33:17 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>260884</attachid>
            <date>2015-09-09 15:48:15 -0700</date>
            <delta_ts>2015-09-23 13:07:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-148944-20150910004808.patch</filename>
            <type>text/plain</type>
            <size>26946</size>
            <attacher name="Javier Fernandez">jfernandez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg5NDY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWUwZTRmMGUxNzE1MmM1
ZDExNmM0ODg1ZmIzZDc2MDhlZTZmZmUzNy4uMzUwMDJlZjA5Yjk5NDQ3ZGFhYzAwZjY1ZTE5NTlj
N2QwZTg3YzY1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE1LTA5LTA5ICBKYXZp
ZXIgRmVybmFuZGV6ICA8amZlcm5hbmRlekBpZ2FsaWEuY29tPgorCisgICAgICAgIFtDU1MgR3Jp
ZCBMYXlvdXRdIEZsZXggdHJhY2tzIHNpemluZyBhbGcgbXVzdCBoYW5kbGUgMGZyIHZhbHVlcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ4OTQ0CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgZG9uJ3Qg
YWxsb3cgMCBhcyBmbGV4aWJsZSBzaXplIHZhbHVlLCB3aGljaCBpcyBub3QgZm9sbG93aW5nIGN1
cnJlbnQKKyAgICAgICAgc3BlY3M7IGl0IGp1c3Qgc3RhdGVzIHRoYXQgaXQgbXVzdCBiZSBhIHBv
c2l0aXZlIHZhbHVlLiBUaGlzIHBhdGNoCisgICAgICAgIGFkZHMgc3VjaCBjaGFuZ2UgaW4gdGhl
IHBhcnNlciBidXQgc29tZSBhZGRpdGlvbmFsIGxvZ2ljIG11c3QgYmUgYWRkZWQKKyAgICAgICAg
YXMgd2VsbCB0byBoYW5kbGUgMCB2YWx1ZXMgZHVyaW5nIHRoZSBmbGV4IHRyYWNrcyBzaXppbmcg
YWxnb3JpdGhtLgorCisgICAgICAgIFRoZSBvbGQgYWxnb3JpdGhtIGRpZG4ndCB0YWtlIDAgdmFs
dWVzIGludG8gYWNjb3VudCwgc28gdGhlcmUgaXMgdGhlIHJpc2sKKyAgICAgICAgb2YgZGl2aXNp
b24gYnkgemVyby4gQWRkaXRpb25hbGx5LCBpdCB3YXMgbm90IGhhbmRsaW5nIGZyYWN0aW9uIHZh
bHVlcworICAgICAgICBpbiB0aGUgYmVzdCB3YXkuIFRoZSBsYXN0IHZlcnNpb25zIG9mIHRoZSBz
cGVjIGNoYW5nZWQgdGhpcyBhbGdvcml0aG0gaW4KKyAgICAgICAgb3JkZXIgdG8gaGFuZGxlIGZy
YWN0aW9uIHZhbHVlcyBzbyB0aGF0IHRoZXkgZG9uJ3QgY2F1c2UgZXhwb25lbnRpYWwKKyAgICAg
ICAgZ3JvdyBvZiB0cmFja3MgdXNpbmcgdmFsdWVzIGJpZ2dlciB0aGFuIDEuCisKKyAgICAgICAg
VGhpcyBwYXRjaCBpbXBsZW1lbnRzIGFsc28gc3VjaCBuZXcgYWxnb3JpdGhtLCBzbyB3ZSBjYW4g
ZGVhbCBub3Qgb25seQorICAgICAgICB3aXRoIDAgdmFsdWVzLCBidXQgbWFuYWdpbmcgZnJhY3Rp
b24gdmFsdWVzIHByb3Blcmx5LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywganVzdCBzb21lIGFk
ZGl0aW9uYWwgdGVzdCBjYXNlcyBhbmQgc29tZSBvZiB0aGVtIHJlYmFzZWxpbmVkLgorCisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bm9ybWFs
aXplZEZsZXhGcmFjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJHcmlkOjpjb21wdXRl
VXNlZEJyZWFkdGhPZkdyaWRUcmFja3MpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6
ZmluZEZyVW5pdFNpemUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6R3JpZEl0ZXJh
dG9yOjpHcmlkSXRlcmF0b3IpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3Jp
ZDo6Y29tcHV0ZVVzZWRCcmVhZHRoT2ZNaW5MZW5ndGgpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyR3JpZDo6aGFzRGVmaW5pdGVMb2dpY2FsU2l6ZSk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJHcmlkOjpncmlkVHJhY2tTaXplKTogRGVsZXRlZC4KKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyR3JpZC5oOgorCiAyMDE1LTA5LTA2ICBDaHJpcyBEdW1leiAg
PGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgZGlzcGF0Y2hFdmVudCgpIHNob3VsZCB0aHJv
dyBhbiBJbnZhbGlkU3RhdGVFcnJvciBpZiB0aGUgZXZlbnQncyBpbml0aWFsaXplZCBmbGFnIGlz
IG5vdCBzZXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlk
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcAppbmRleCBjN2Fi
MDFlMGM3NmJiNjExYjkxZDI4OTg2ODBjOTllNGMyMWI2MDk5Li5kODEyOWY5Mzk5ZmM0MDg1M2M3
Mzk0NjhkNDhhNGQ1NzE4YTkwNTc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyR3JpZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdy
aWQuY3BwCkBAIC0xMTYsMTkgKzExNiw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2luZmluaXRl
bHlHcm93YWJsZSB7IGZhbHNlIH07CiB9OwogCi1zdHJ1Y3QgR3JpZFRyYWNrRm9yTm9ybWFsaXph
dGlvbiB7Ci0gICAgR3JpZFRyYWNrRm9yTm9ybWFsaXphdGlvbihjb25zdCBHcmlkVHJhY2smIHRy
YWNrLCBkb3VibGUgZmxleCkKLSAgICAgICAgOiBtX3RyYWNrKCZ0cmFjaykKLSAgICAgICAgLCBt
X2ZsZXgoZmxleCkKLSAgICAgICAgLCBtX25vcm1hbGl6ZWRGbGV4VmFsdWUodHJhY2suYmFzZVNp
emUoKSAvIGZsZXgpCi0gICAgewotICAgIH0KLQotICAgIGNvbnN0IEdyaWRUcmFjayogbV90cmFj
azsKLSAgICBkb3VibGUgbV9mbGV4OwotICAgIExheW91dFVuaXQgbV9ub3JtYWxpemVkRmxleFZh
bHVlOwotfTsKLQogY2xhc3MgUmVuZGVyR3JpZDo6R3JpZEl0ZXJhdG9yIHsKICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShHcmlkSXRlcmF0b3IpOwogcHVibGljOgpAQCAtMzIyLDYgKzMwOSwxMSBA
QCBib29sIFJlbmRlckdyaWQ6OmdyaWRFbGVtZW50SXNTaHJpbmtUb0ZpdCgpCiAgICAgcmV0dXJu
IGlzRmxvYXRpbmdPck91dE9mRmxvd1Bvc2l0aW9uZWQoKTsKIH0KIAorc3RhdGljIGlubGluZSBk
b3VibGUgbm9ybWFsaXplZEZsZXhGcmFjdGlvbihjb25zdCBHcmlkVHJhY2smIHRyYWNrLCBkb3Vi
bGUgZmxleEZhY3RvcikKK3sKKyAgICByZXR1cm4gZmxleEZhY3RvciA+IDEgPyB0cmFjay5iYXNl
U2l6ZSgpIC8gZmxleEZhY3RvciA6IHRyYWNrLmJhc2VTaXplKCkudG9Eb3VibGUoKTsKK30KKwog
dm9pZCBSZW5kZXJHcmlkOjpjb21wdXRlVXNlZEJyZWFkdGhPZkdyaWRUcmFja3MoR3JpZFRyYWNr
U2l6aW5nRGlyZWN0aW9uIGRpcmVjdGlvbiwgR3JpZFNpemluZ0RhdGEmIHNpemluZ0RhdGEsIExh
eW91dFVuaXQmIGF2YWlsYWJsZUxvZ2ljYWxTcGFjZSkKIHsKICAgICBjb25zdCBMYXlvdXRVbml0
IGluaXRpYWxBdmFpbGFibGVMb2dpY2FsU3BhY2UgPSBhdmFpbGFibGVMb2dpY2FsU3BhY2U7CkBA
IC0zODIsMTQgKzM3NCwxMiBAQCB2b2lkIFJlbmRlckdyaWQ6OmNvbXB1dGVVc2VkQnJlYWR0aE9m
R3JpZFRyYWNrcyhHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24gZGlyZWN0aQogICAgICAgICByZXR1
cm47CiAKICAgICAvLyA0LiBHcm93IGFsbCBHcmlkIHRyYWNrcyBoYXZpbmcgYSBmcmFjdGlvbiBh
cyB0aGUgTWF4VHJhY2tTaXppbmdGdW5jdGlvbi4KLSAgICBkb3VibGUgbm9ybWFsaXplZEZyYWN0
aW9uQnJlYWR0aCA9IDA7CisgICAgZG91YmxlIGZsZXhGcmFjdGlvbiA9IDA7CiAgICAgaWYgKCFo
YXNVbmRlZmluZWRSZW1haW5pbmdTcGFjZSkKLSAgICAgICAgbm9ybWFsaXplZEZyYWN0aW9uQnJl
YWR0aCA9IGNvbXB1dGVOb3JtYWxpemVkRnJhY3Rpb25CcmVhZHRoKHRyYWNrcywgR3JpZFNwYW4o
MCwgdHJhY2tzLnNpemUoKSAtIDEpLCBkaXJlY3Rpb24sIGluaXRpYWxBdmFpbGFibGVMb2dpY2Fs
U3BhY2UpOworICAgICAgICBmbGV4RnJhY3Rpb24gPSBmaW5kRnJVbml0U2l6ZSh0cmFja3MsIEdy
aWRTcGFuKDAsIHRyYWNrcy5zaXplKCkgLSAxKSwgZGlyZWN0aW9uLCBpbml0aWFsQXZhaWxhYmxl
TG9naWNhbFNwYWNlKTsKICAgICBlbHNlIHsKLSAgICAgICAgZm9yIChhdXRvIHRyYWNrSW5kZXgg
OiBmbGV4aWJsZVNpemVkVHJhY2tzSW5kZXgpIHsKLSAgICAgICAgICAgIGNvbnN0IEdyaWRUcmFj
a1NpemUmIHRyYWNrU2l6ZSA9IGdyaWRUcmFja1NpemUoZGlyZWN0aW9uLCB0cmFja0luZGV4KTsK
LSAgICAgICAgICAgIG5vcm1hbGl6ZWRGcmFjdGlvbkJyZWFkdGggPSBzdGQ6Om1heChub3JtYWxp
emVkRnJhY3Rpb25CcmVhZHRoLCB0cmFja3NbdHJhY2tJbmRleF0uYmFzZVNpemUoKSAvIHRyYWNr
U2l6ZS5tYXhUcmFja0JyZWFkdGgoKS5mbGV4KCkpOwotICAgICAgICB9CisgICAgICAgIGZvciAo
Y29uc3QgYXV0byYgdHJhY2tJbmRleCA6IGZsZXhpYmxlU2l6ZWRUcmFja3NJbmRleCkKKyAgICAg
ICAgICAgIGZsZXhGcmFjdGlvbiA9IHN0ZDo6bWF4KGZsZXhGcmFjdGlvbiwgbm9ybWFsaXplZEZs
ZXhGcmFjdGlvbih0cmFja3NbdHJhY2tJbmRleF0sIGdyaWRUcmFja1NpemUoZGlyZWN0aW9uLCB0
cmFja0luZGV4KS5tYXhUcmFja0JyZWFkdGgoKS5mbGV4KCkpKTsKIAogICAgICAgICBmb3IgKHVu
c2lnbmVkIGkgPSAwOyBpIDwgZmxleGlibGVTaXplZFRyYWNrc0luZGV4LnNpemUoKTsgKytpKSB7
CiAgICAgICAgICAgICBHcmlkSXRlcmF0b3IgaXRlcmF0b3IobV9ncmlkLCBkaXJlY3Rpb24sIGZs
ZXhpYmxlU2l6ZWRUcmFja3NJbmRleFtpXSk7CkBAIC00MDEsOCArMzkxLDggQEAgdm9pZCBSZW5k
ZXJHcmlkOjpjb21wdXRlVXNlZEJyZWFkdGhPZkdyaWRUcmFja3MoR3JpZFRyYWNrU2l6aW5nRGly
ZWN0aW9uIGRpcmVjdGkKICAgICAgICAgICAgICAgICBpZiAoaSA+IDAgJiYgc3Bhbi5yZXNvbHZl
ZEluaXRpYWxQb3NpdGlvbi50b0ludCgpIDw9IGZsZXhpYmxlU2l6ZWRUcmFja3NJbmRleFtpIC0g
MV0pCiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgICAgICAgICAgZG91
YmxlIGl0ZW1Ob3JtYWxpemVkRmxleEJyZWFkdGggPSBjb21wdXRlTm9ybWFsaXplZEZyYWN0aW9u
QnJlYWR0aCh0cmFja3MsIHNwYW4sIGRpcmVjdGlvbiwgbWF4Q29udGVudEZvckNoaWxkKCpncmlk
SXRlbSwgZGlyZWN0aW9uLCBzaXppbmdEYXRhLmNvbHVtblRyYWNrcykpOwotICAgICAgICAgICAg
ICAgIG5vcm1hbGl6ZWRGcmFjdGlvbkJyZWFkdGggPSBzdGQ6Om1heChub3JtYWxpemVkRnJhY3Rp
b25CcmVhZHRoLCBpdGVtTm9ybWFsaXplZEZsZXhCcmVhZHRoKTsKKyAgICAgICAgICAgICAgICBk
b3VibGUgaXRlbUZsZXhGcmFjdGlvbiA9IGZpbmRGclVuaXRTaXplKHRyYWNrcywgc3BhbiwgZGly
ZWN0aW9uLCBtYXhDb250ZW50Rm9yQ2hpbGQoKmdyaWRJdGVtLCBkaXJlY3Rpb24sIHNpemluZ0Rh
dGEuY29sdW1uVHJhY2tzKSk7CisgICAgICAgICAgICAgICAgZmxleEZyYWN0aW9uID0gc3RkOjpt
YXgoZmxleEZyYWN0aW9uLCBpdGVtRmxleEZyYWN0aW9uKTsKICAgICAgICAgICAgIH0KICAgICAg
ICAgfQogICAgIH0KQEAgLTQxMCw3ICs0MDAsNyBAQCB2b2lkIFJlbmRlckdyaWQ6OmNvbXB1dGVV
c2VkQnJlYWR0aE9mR3JpZFRyYWNrcyhHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24gZGlyZWN0aQog
ICAgIGZvciAoYXV0byB0cmFja0luZGV4IDogZmxleGlibGVTaXplZFRyYWNrc0luZGV4KSB7CiAg
ICAgICAgIGNvbnN0IEdyaWRUcmFja1NpemUmIHRyYWNrU2l6ZSA9IGdyaWRUcmFja1NpemUoZGly
ZWN0aW9uLCB0cmFja0luZGV4KTsKICAgICAgICAgR3JpZFRyYWNrJiB0cmFjayA9IHRyYWNrc1t0
cmFja0luZGV4XTsKLSAgICAgICAgTGF5b3V0VW5pdCBiYXNlU2l6ZSA9IHN0ZDo6bWF4PExheW91
dFVuaXQ+KHRyYWNrLmJhc2VTaXplKCksIG5vcm1hbGl6ZWRGcmFjdGlvbkJyZWFkdGggKiB0cmFj
a1NpemUubWF4VHJhY2tCcmVhZHRoKCkuZmxleCgpKTsKKyAgICAgICAgTGF5b3V0VW5pdCBiYXNl
U2l6ZSA9IHN0ZDo6bWF4PExheW91dFVuaXQ+KHRyYWNrLmJhc2VTaXplKCksIGZsZXhGcmFjdGlv
biAqIHRyYWNrU2l6ZS5tYXhUcmFja0JyZWFkdGgoKS5mbGV4KCkpOwogICAgICAgICB0cmFjay5z
ZXRCYXNlU2l6ZShiYXNlU2l6ZSk7CiAgICAgICAgIGF2YWlsYWJsZUxvZ2ljYWxTcGFjZSAtPSBi
YXNlU2l6ZTsKICAgICB9CkBAIC00NTUsNTcgKzQ0NSw0MCBAQCBMYXlvdXRVbml0IFJlbmRlckdy
aWQ6OmNvbXB1dGVVc2VkQnJlYWR0aE9mU3BlY2lmaWVkTGVuZ3RoKEdyaWRUcmFja1NpemluZ0Rp
cmVjdAogICAgIHJldHVybiB2YWx1ZUZvckxlbmd0aCh0cmFja0xlbmd0aCwgY29tcHV0ZUNvbnRl
bnRMb2dpY2FsSGVpZ2h0KHN0eWxlKCkubG9naWNhbEhlaWdodCgpLCBOdWxsb3B0KS52YWx1ZU9y
KDApKTsKIH0KIAotZG91YmxlIFJlbmRlckdyaWQ6OmNvbXB1dGVOb3JtYWxpemVkRnJhY3Rpb25C
cmVhZHRoKFZlY3RvcjxHcmlkVHJhY2s+JiB0cmFja3MsIGNvbnN0IEdyaWRTcGFuJiB0cmFja3NT
cGFuLCBHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24gZGlyZWN0aW9uLCBMYXlvdXRVbml0IHNwYWNl
VG9GaWxsKSBjb25zdAorZG91YmxlIFJlbmRlckdyaWQ6OmZpbmRGclVuaXRTaXplKFZlY3RvcjxH
cmlkVHJhY2s+JiB0cmFja3MsIGNvbnN0IEdyaWRTcGFuJiB0cmFja3NTcGFuLCBHcmlkVHJhY2tT
aXppbmdEaXJlY3Rpb24gZGlyZWN0aW9uLCBMYXlvdXRVbml0IHNwYWNlVG9GaWxsLCBUcmFja0lu
ZGV4U2V0IHRyYWNrc1RvVHJlYXRBc0luZmxleGlibGUpIGNvbnN0CiB7Ci0gICAgTGF5b3V0VW5p
dCBhbGxvY2F0ZWRTcGFjZTsKLSAgICBWZWN0b3I8R3JpZFRyYWNrRm9yTm9ybWFsaXphdGlvbj4g
dHJhY2tzRm9yTm9ybWFsaXphdGlvbjsKLSAgICBmb3IgKGF1dG8mIHBvc2l0aW9uIDogdHJhY2tz
U3BhbikgewotICAgICAgICBHcmlkVHJhY2smIHRyYWNrID0gdHJhY2tzW3Bvc2l0aW9uLnRvSW50
KCldOwotICAgICAgICBhbGxvY2F0ZWRTcGFjZSArPSB0cmFjay5iYXNlU2l6ZSgpOwotCi0gICAg
ICAgIGNvbnN0IEdyaWRUcmFja1NpemUmIHRyYWNrU2l6ZSA9IGdyaWRUcmFja1NpemUoZGlyZWN0
aW9uLCBwb3NpdGlvbi50b0ludCgpKTsKLSAgICAgICAgaWYgKCF0cmFja1NpemUubWF4VHJhY2tC
cmVhZHRoKCkuaXNGbGV4KCkpCi0gICAgICAgICAgICBjb250aW51ZTsKLQotICAgICAgICB0cmFj
a3NGb3JOb3JtYWxpemF0aW9uLmFwcGVuZChHcmlkVHJhY2tGb3JOb3JtYWxpemF0aW9uKHRyYWNr
LCB0cmFja1NpemUubWF4VHJhY2tCcmVhZHRoKCkuZmxleCgpKSk7Ci0gICAgfQotCi0gICAgLy8g
VGhlIGZ1bmN0aW9uIGlzIG5vdCBjYWxsZWQgaWYgd2UgZG9uJ3QgaGF2ZSA8ZmxleD4gZ3JpZCB0
cmFja3MKLSAgICBBU1NFUlQoIXRyYWNrc0Zvck5vcm1hbGl6YXRpb24uaXNFbXB0eSgpKTsKLQot
ICAgIHN0ZDo6c29ydCh0cmFja3NGb3JOb3JtYWxpemF0aW9uLmJlZ2luKCksIHRyYWNrc0Zvck5v
cm1hbGl6YXRpb24uZW5kKCksCi0gICAgICAgICAgICAgIFtdKGNvbnN0IEdyaWRUcmFja0Zvck5v
cm1hbGl6YXRpb24mIHRyYWNrMSwgY29uc3QgR3JpZFRyYWNrRm9yTm9ybWFsaXphdGlvbiYgdHJh
Y2syKSB7Ci0gICAgICAgICAgICAgICAgICByZXR1cm4gdHJhY2sxLm1fbm9ybWFsaXplZEZsZXhW
YWx1ZSA8IHRyYWNrMi5tX25vcm1hbGl6ZWRGbGV4VmFsdWU7Ci0gICAgICAgICAgICAgIH0pOwot
Ci0gICAgLy8gVGhlc2UgdmFsdWVzIHdvcmsgdG9nZXRoZXI6IGFzIHdlIHdhbGsgb3ZlciBvdXIg
Z3JpZCB0cmFja3MsIHdlIGluY3JlYXNlIGZyYWN0aW9uVmFsdWVCYXNlZE9uR3JpZEl0ZW1zUmF0
aW8KLSAgICAvLyB0byBtYXRjaCBhIGdyaWQgdHJhY2sncyB1c2VkQnJlYWR0aCB0byA8ZmxleD4g
cmF0aW8gdW50aWwgdGhlIHRvdGFsIGZyYWN0aW9ucyBzaXplZCBncmlkIHRyYWNrcyB3b3VsZG4n
dAotICAgIC8vIGZpdCBpbnRvIGF2YWlsYWJsZUxvZ2ljYWxTcGFjZUlnbm9yaW5nRnJhY3Rpb25U
cmFja3MuCi0gICAgZG91YmxlIGFjY3VtdWxhdGVkRnJhY3Rpb25zID0gMDsKLSAgICBMYXlvdXRV
bml0IGZyYWN0aW9uVmFsdWVCYXNlZE9uR3JpZEl0ZW1zUmF0aW8gPSAwOwotICAgIExheW91dFVu
aXQgYXZhaWxhYmxlTG9naWNhbFNwYWNlSWdub3JpbmdGcmFjdGlvblRyYWNrcyA9IHNwYWNlVG9G
aWxsIC0gYWxsb2NhdGVkU3BhY2U7Ci0KLSAgICBmb3IgKGF1dG8mIHRyYWNrIDogdHJhY2tzRm9y
Tm9ybWFsaXphdGlvbikgewotICAgICAgICBpZiAodHJhY2subV9ub3JtYWxpemVkRmxleFZhbHVl
ID4gZnJhY3Rpb25WYWx1ZUJhc2VkT25HcmlkSXRlbXNSYXRpbykgewotICAgICAgICAgICAgLy8g
SWYgdGhlIG5vcm1hbGl6ZWQgZmxleCB2YWx1ZSAod2Ugb3JkZXJlZCB8dHJhY2tzRm9yTm9ybWFs
aXphdGlvbnwgYnkgaW5jcmVhc2luZyBub3JtYWxpemVkIGZsZXggdmFsdWUpCi0gICAgICAgICAg
ICAvLyB3aWxsIG1ha2UgdXMgb3ZlcmZsb3cgb3VyIGNvbnRhaW5lciwgdGhlbiBzdG9wLiBXZSBo
YXZlIHRoZSBwcmV2aW91cyBzdGVwJ3MgcmF0aW8gaXMgdGhlIGJlc3QgZml0LgotICAgICAgICAg
ICAgaWYgKHRyYWNrLm1fbm9ybWFsaXplZEZsZXhWYWx1ZSAqIGFjY3VtdWxhdGVkRnJhY3Rpb25z
ID4gYXZhaWxhYmxlTG9naWNhbFNwYWNlSWdub3JpbmdGcmFjdGlvblRyYWNrcykKLSAgICAgICAg
ICAgICAgICBicmVhazsKKyAgICBpZiAoc3BhY2VUb0ZpbGwgPD0gMCkKKyAgICAgICAgcmV0dXJu
IDA7CiAKLSAgICAgICAgICAgIGZyYWN0aW9uVmFsdWVCYXNlZE9uR3JpZEl0ZW1zUmF0aW8gPSB0
cmFjay5tX25vcm1hbGl6ZWRGbGV4VmFsdWU7CisgICAgZG91YmxlIGZsZXhGYWN0b3JTdW0gPSAw
OworICAgIExheW91dFVuaXQgbGVmdE92ZXJTcGFjZSA9IHNwYWNlVG9GaWxsOworICAgIFZlY3Rv
cjx1bnNpZ25lZD4gZmxleGlibGVTaXplZFRyYWNrc0luZGV4OworICAgIGZvciAoY29uc3QgYXV0
byYgcmVzb2x2ZWRQb3NpdGlvbiA6IHRyYWNrc1NwYW4pIHsKKyAgICAgICAgdW5zaWduZWQgdHJh
Y2tJbmRleCA9IHJlc29sdmVkUG9zaXRpb24udG9JbnQoKTsKKyAgICAgICAgR3JpZFRyYWNrU2l6
ZSB0cmFja1NpemUgPSBncmlkVHJhY2tTaXplKGRpcmVjdGlvbiwgdHJhY2tJbmRleCk7CisgICAg
ICAgIGlmICghdHJhY2tTaXplLm1heFRyYWNrQnJlYWR0aCgpLmlzRmxleCgpIHx8IHRyYWNrc1Rv
VHJlYXRBc0luZmxleGlibGUuY29udGFpbnModHJhY2tJbmRleCkpCisgICAgICAgICAgICBsZWZ0
T3ZlclNwYWNlIC09IHRyYWNrc1t0cmFja0luZGV4XS5iYXNlU2l6ZSgpOworICAgICAgICBlbHNl
IHsKKyAgICAgICAgICAgIGZsZXhpYmxlU2l6ZWRUcmFja3NJbmRleC5hcHBlbmQodHJhY2tJbmRl
eCk7CisgICAgICAgICAgICBmbGV4RmFjdG9yU3VtICs9IHRyYWNrU2l6ZS5tYXhUcmFja0JyZWFk
dGgoKS5mbGV4KCk7CiAgICAgICAgIH0KLQotICAgICAgICBhY2N1bXVsYXRlZEZyYWN0aW9ucyAr
PSB0cmFjay5tX2ZsZXg7Ci0gICAgICAgIC8vIFRoaXMgaXRlbSB3YXMgcHJvY2Vzc2VkIHNvIHdl
IHJlLWFkZCBpdHMgdXNlZCBicmVhZHRoIHRvIHRoZSBhdmFpbGFibGUgc3BhY2UgdG8gYWNjdXJh
dGVseSBjb3VudCB0aGUgcmVtYWluaW5nIHNwYWNlLgotICAgICAgICBhdmFpbGFibGVMb2dpY2Fs
U3BhY2VJZ25vcmluZ0ZyYWN0aW9uVHJhY2tzICs9IHRyYWNrLm1fdHJhY2stPmJhc2VTaXplKCk7
CiAgICAgfQogCiAgICAgLy8gTGV0IGZsZXggZmFjdG9yIHN1bSBiZSB0aGUgc3VtIG9mIHRoZSBm
bGV4IGZhY3RvcnMgb2YgdGhlIGZsZXhpYmxlIHRyYWNrcy4gSWYgdGhpcyB2YWx1ZQogICAgIC8v
IGlzIGxlc3MgdGhhbiAxLCBzZXQgaXQgdG8gMSBpbnN0ZWFkLgotICAgIGlmIChhY2N1bXVsYXRl
ZEZyYWN0aW9ucyA8IDEpCi0gICAgICAgIHJldHVybiBhdmFpbGFibGVMb2dpY2FsU3BhY2VJZ25v
cmluZ0ZyYWN0aW9uVHJhY2tzOworICAgIGRvdWJsZSBoeXBvdGhldGljYWxGclNpemUgPSBmbGV4
RmFjdG9yU3VtID4gMSA/IGxlZnRPdmVyU3BhY2UgLyBmbGV4RmFjdG9yU3VtIDogbGVmdE92ZXJT
cGFjZS50b0RvdWJsZSgpOworCisgICAgLy8gSWYgdGhlIHByb2R1Y3Qgb2YgdGhlIGh5cG90aGV0
aWNhbCBmciBzaXplIGFuZCBhIGZsZXhpYmxlIHRyYWNrJ3MgZmxleCBmYWN0b3IgaXMgbGVzcwor
ICAgIC8vIHRoYW4gdGhlIHRyYWNrJ3MgYmFzZSBzaXplLCByZXN0YXJ0IHRoaXMgYWxnb3JpdGht
IHRyZWF0aW5nIGFsbCBzdWNoIHRyYWNrcyBhcyBpbmZsZXhpYmxlCisgICAgYm9vbCBzdWNjZWVk
ID0gdHJ1ZTsKKyAgICBmb3IgKHVuc2lnbmVkIHRyYWNrSW5kZXggOiBmbGV4aWJsZVNpemVkVHJh
Y2tzSW5kZXgpIHsKKyAgICAgICAgaWYgKGh5cG90aGV0aWNhbEZyU2l6ZSAqIGdyaWRUcmFja1Np
emUoZGlyZWN0aW9uLCB0cmFja0luZGV4KS5tYXhUcmFja0JyZWFkdGgoKS5mbGV4KCkgPCB0cmFj
a3NbdHJhY2tJbmRleF0uYmFzZVNpemUoKS50b0RvdWJsZSgpKSB7CisgICAgICAgICAgICB0cmFj
a3NUb1RyZWF0QXNJbmZsZXhpYmxlLmFkZCh0cmFja0luZGV4KTsKKyAgICAgICAgICAgIHN1Y2Nl
ZWQgPSBmYWxzZTsKKyAgICAgICAgfQorICAgIH0KIAotICAgIHJldHVybiBhdmFpbGFibGVMb2dp
Y2FsU3BhY2VJZ25vcmluZ0ZyYWN0aW9uVHJhY2tzIC8gYWNjdW11bGF0ZWRGcmFjdGlvbnM7Cisg
ICAgcmV0dXJuIHN1Y2NlZWQgPyBoeXBvdGhldGljYWxGclNpemUgOiBmaW5kRnJVbml0U2l6ZSh0
cmFja3MsIHRyYWNrc1NwYW4sIGRpcmVjdGlvbiwgc3BhY2VUb0ZpbGwsIHRyYWNrc1RvVHJlYXRB
c0luZmxleGlibGUpOwogfQogCiBib29sIFJlbmRlckdyaWQ6Omhhc0RlZmluaXRlTG9naWNhbFNp
emUoR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uIGRpcmVjdGlvbikgY29uc3QKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyR3JpZC5oCmluZGV4IDM0YWQyNmE1M2IwMWIxOGJkNjJkYjdkZDJkMTIw
ZTMxM2FkYWZiMzMuLjgxZDQxZGJhYmEzOTdiYjI0YjA2YmM1MTNiNzY2ZGNlMTUxMDhkMjYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuaApAQCAtMTExLDcgKzExMSw4IEBAIHBy
aXZhdGU6CiAgICAgdGVtcGxhdGUgPFRyYWNrU2l6ZUNvbXB1dGF0aW9uUGhhc2U+IHZvaWQgcmVz
b2x2ZUNvbnRlbnRCYXNlZFRyYWNrU2l6aW5nRnVuY3Rpb25zRm9ySXRlbXMoR3JpZFRyYWNrU2l6
aW5nRGlyZWN0aW9uLCBHcmlkU2l6aW5nRGF0YSYsIGNvbnN0IEdyaWRJdGVtc1NwYW5Hcm91cFJh
bmdlJik7CiAgICAgdGVtcGxhdGUgPFRyYWNrU2l6ZUNvbXB1dGF0aW9uUGhhc2U+IHZvaWQgZGlz
dHJpYnV0ZVNwYWNlVG9UcmFja3MoVmVjdG9yPEdyaWRUcmFjayo+JiwgY29uc3QgVmVjdG9yPEdy
aWRUcmFjayo+KiBncm93QmV5b25kR3Jvd3RoTGltaXRzVHJhY2tzLCBMYXlvdXRVbml0JiBhdmFp
bGFibGVMb2dpY2FsU3BhY2UpOwogCi0gICAgZG91YmxlIGNvbXB1dGVOb3JtYWxpemVkRnJhY3Rp
b25CcmVhZHRoKFZlY3RvcjxHcmlkVHJhY2s+JiwgY29uc3QgR3JpZFNwYW4mIHRyYWNrc1NwYW4s
IEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiwgTGF5b3V0VW5pdCBhdmFpbGFibGVMb2dpY2FsU3Bh
Y2UpIGNvbnN0OworICAgIHR5cGVkZWYgSGFzaFNldDx1bnNpZ25lZCwgRGVmYXVsdEhhc2g8dW5z
aWduZWQ+OjpIYXNoLCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPHVuc2lnbmVk
Pj4gVHJhY2tJbmRleFNldDsKKyAgICBkb3VibGUgZmluZEZyVW5pdFNpemUoVmVjdG9yPEdyaWRU
cmFjaz4mLCBjb25zdCBHcmlkU3BhbiYsIEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiwgTGF5b3V0
VW5pdCBzcGFjZVRvRmlsbCwgVHJhY2tJbmRleFNldCB0cmFja3NUb1RyZWF0QXNJbmZsZXhpYmxl
ID0gVHJhY2tJbmRleFNldCgpKSBjb25zdDsKIAogICAgIEdyaWRUcmFja1NpemUgZ3JpZFRyYWNr
U2l6ZShHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24sIHVuc2lnbmVkKSBjb25zdDsKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IGY1MGRkYzRjNDdmMGY4NGMzMGU5ODA4YjNjNGYzZDRiNDdiMTk5ZmQuLjk5YzJkZjZjODg5ODNh
MDE0YjY4YzYwMjdjMjFjMDBjYThhYjdjYTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxNS0w
OS0wOSAgSmF2aWVyIEZlcm5hbmRleiAgPGpmZXJuYW5kZXpAaWdhbGlhLmNvbT4KKworICAgICAg
ICBbQ1NTIEdyaWQgTGF5b3V0XSBGbGV4IHRyYWNrcyBzaXppbmcgYWxnIG11c3QgaGFuZGxlIDBm
ciB2YWx1ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE0ODk0NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFsbG93IDAgYXMgZmxleCBmYWN0b3IgdmFsdWUgYW5kIGltcGxlbWVudCB0aGUgbmV3IGZsZXgg
dHJhY2sgc2l6aW5nIGFsZ29yaXRobS4KKworICAgICAgICAqIGZhc3QvY3NzLWdyaWQtbGF5b3V0
L2ZsZXgtYW5kLW1pbm1heC1jb250ZW50LXJlc29sdXRpb24tcm93cy5odG1sOgorICAgICAgICAq
IGZhc3QvY3NzLWdyaWQtbGF5b3V0L2ZsZXgtY29udGVudC1yZXNvbHV0aW9uLWNvbHVtbnMtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvY3NzLWdyaWQtbGF5b3V0L2ZsZXgtY29udGVudC1y
ZXNvbHV0aW9uLWNvbHVtbnMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Nzcy1ncmlkLWxheW91dC9m
bGV4LWNvbnRlbnQtcmVzb2x1dGlvbi1yb3dzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0
L2Nzcy1ncmlkLWxheW91dC9mbGV4LWNvbnRlbnQtcmVzb2x1dGlvbi1yb3dzLmh0bWw6CisKIDIw
MTUtMDktMDYgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFVucmV2aWV3ZWQsIEVGTCBnYXJkZW5pbmcuIE1hbnkgdGVzdHMgaGF2ZSBiZWVuIGZhaWxl
ZCBzaW5jZSByMTg4NjkyLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1s
YXlvdXQvZmxleC1hbmQtbWlubWF4LWNvbnRlbnQtcmVzb2x1dGlvbi1yb3dzLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9mbGV4LWFuZC1taW5tYXgtY29udGVudC1yZXNv
bHV0aW9uLXJvd3MuaHRtbAppbmRleCA2OWIzZmVlMjBmYzE5MzgwNTRkNTYxZGRiNTVhOTZkNTll
OTA1NGE5Li5mMTZlYmQ2MmJjMGViMTYxNTFmY2RlNDhjMDk2YmRmNTg0YTIwZDQzIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9mbGV4LWFuZC1taW5tYXgtY29u
dGVudC1yZXNvbHV0aW9uLXJvd3MuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlk
LWxheW91dC9mbGV4LWFuZC1taW5tYXgtY29udGVudC1yZXNvbHV0aW9uLXJvd3MuaHRtbApAQCAt
MTIwLDYgKzEyMCw3IEBACiAgICAgPC9kaXY+CiA8L2Rpdj4KIAorPCEtLSBXZSBub3JtYWxpemUg
ZnJhY3Rpb24gZmxleCBmYWN0b3JzIHRvIDEsIHNvIHdlIGRvbid0IGtlZXAgZXhhY3QgcHJvcG9y
dGlvbnMgd2l0aCA+MSBmYWN0b3JzLiAtLT4KIDxkaXYgc3R5bGU9IndpZHRoOiAxMHB4OyBoZWln
aHQ6IDYwcHg7Ij4KICAgICA8ZGl2IGNsYXNzPSJncmlkIGdyaWRXaXRoSW50cmluc2ljU2l6ZUJp
Z2dlclRoYW5GbGV4IiBzdHlsZT0iaGVpZ2h0OiAxMDAlIj4KICAgICAgICAgPGRpdiBjbGFzcz0i
c2l6ZWRUb0dyaWRBcmVhIGZpcnN0Um93Rmlyc3RDb2x1bW4iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9
IjUwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iNDAiPlhYWFhYIFhYWFhYIFhYWFhYIFhYWFhYPC9k
aXY+CkBAIC0xMjcsMTAgKzEyOCwxMSBAQAogICAgIDwvZGl2PgogPC9kaXY+CiAKKzwhLS0gV2Ug
bm9ybWFsaXplIGZyYWN0aW9uIGZsZXggZmFjdG9ycyB0byAxLCBzbyB3ZSBkb24ndCBrZWVwIGV4
YWN0IHByb3BvcnRpb25zIHdpdGggPjEgZmFjdG9ycy4gLS0+CiA8ZGl2IHN0eWxlPSJ3aWR0aDog
MTBweDsgaGVpZ2h0OiA2MHB4OyI+CiAgICAgPGRpdiBjbGFzcz0iZ3JpZCBncmlkV2l0aEludHJp
bnNpY1NpemVCaWdnZXJUaGFuRmxleCI+CiAgICAgICAgIDxkaXYgY2xhc3M9InNpemVkVG9Hcmlk
QXJlYSBmaXJzdFJvd0ZpcnN0Q29sdW1uIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI1MCIgZGF0YS1l
eHBlY3RlZC1oZWlnaHQ9IjQwIj5YWFhYWCBYWFhYWCBYWFhYWCBYWFhYWDwvZGl2PgotICAgICAg
ICA8ZGl2IGNsYXNzPSJzaXplZFRvR3JpZEFyZWEgc2Vjb25kUm93Rmlyc3RDb2x1bW4iIGRhdGEt
ZXhwZWN0ZWQtd2lkdGg9IjUwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTYwIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBjbGFzcz0ic2l6ZWRUb0dyaWRBcmVhIHNlY29uZFJvd0ZpcnN0Q29sdW1uIiBk
YXRhLWV4cGVjdGVkLXdpZHRoPSI1MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjgwIj48L2Rpdj4K
ICAgICA8L2Rpdj4KIDwvZGl2PgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1n
cmlkLWxheW91dC9mbGV4LWNvbnRlbnQtcmVzb2x1dGlvbi1jb2x1bW5zLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2ZsZXgtY29udGVudC1yZXNvbHV0aW9u
LWNvbHVtbnMtZXhwZWN0ZWQudHh0CmluZGV4IDExY2EzMjY0ZDM4NDJiNDExZDU0NjNiZWE4M2Ji
ZDM5OGYwNTg4ODUuLmYwZjlkMmE5ZjI1ODhmZDA4YjgxMGE3OWFiODk2NmVmOWM1MzE3Y2EgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2ZsZXgtY29udGVudC1y
ZXNvbHV0aW9uLWNvbHVtbnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3Nz
LWdyaWQtbGF5b3V0L2ZsZXgtY29udGVudC1yZXNvbHV0aW9uLWNvbHVtbnMtZXhwZWN0ZWQudHh0
CkBAIC0xMywzICsxMyw4IEBAIFBBU1MKIFBBU1MKIFBBU1MKIFBBU1MKK1BBU1MKK1BBU1MKK1BB
U1MKK1BBU1MKK1BBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5
b3V0L2ZsZXgtY29udGVudC1yZXNvbHV0aW9uLWNvbHVtbnMuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvY3NzLWdyaWQtbGF5b3V0L2ZsZXgtY29udGVudC1yZXNvbHV0aW9uLWNvbHVtbnMuaHRtbApp
bmRleCBiODM1MGExOTkxOTU4ZDg0MGRmMzUzZjkxOTEzODNjZjRmNjA4MWE5Li41NGI1MDY5OTIy
MmM2NmNjNDE0ZTk1ZDZhMWVhMzBjMTI4ODgzOWZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2Nzcy1ncmlkLWxheW91dC9mbGV4LWNvbnRlbnQtcmVzb2x1dGlvbi1jb2x1bW5zLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZmxleC1jb250ZW50LXJlc29s
dXRpb24tY29sdW1ucy5odG1sCkBAIC02LDYgKzYsMTAgQEAKICAgICAtd2Via2l0LWdyaWQtdGVt
cGxhdGUtY29sdW1uczogbWlubWF4KDFmciwgNTBweCk7CiAgICAgLXdlYmtpdC1ncmlkLXRlbXBs
YXRlLXJvd3M6IDUwcHg7CiB9CisuZ3JpZFplcm9GbGV4Q29udGVudCB7CisgICAgLXdlYmtpdC1n
cmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgxZnIsIDBweCk7CisgICAgLXdlYmtpdC1ncmlk
LXRlbXBsYXRlLXJvd3M6IDUwcHg7Cit9CiAuZ3JpZE1heEZsZXhDb250ZW50IHsKICAgICAtd2Vi
a2l0LWdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDMwcHgsIDJmcik7CiAgICAgLXdlYmtp
dC1ncmlkLXRlbXBsYXRlLXJvd3M6IDUwcHg7CkBAIC0yMiw2ICsyNiwyNyBAQAogICAgIC13ZWJr
aXQtZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMzAwcHgsIDNmcikgbWlubWF4KDE1MHB4
LCAxZnIpOwogICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dzOiA1MHB4OwogfQorLmdyaWRS
ZXNwZWN0QmFzZVNpemUgeworICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5t
YXgoNzVweCwgMWZyKSBtaW5tYXgoMHB4LCAyZnIpOworICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0
ZS1yb3dzOiA1MHB4OworfQorLmdyaWRSZXNwZWN0UHJvcG9ydGlvbnMgeworICAgIC13ZWJraXQt
Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMHB4LCAuMjVmcikgbWlubWF4KDBweCwgLjVm
cikgbWlubWF4KDBweCwgMmZyKTsKKyAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGUtcm93czogNTBw
eDsKK30KKy5ncmlkUmVzcGVjdEJhc2VTaXplUHJvcG9ydGlvbnMgeworICAgIC13ZWJraXQtZ3Jp
ZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoNTBweCwgLjI1ZnIpIG1pbm1heCgwcHgsIC41ZnIp
IG1pbm1heCgwcHgsIDFmcik7CisgICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlLXJvd3M6IDUwcHg7
Cit9CisuZ3JpZFJlc3BlY3RCYXNlU2l6ZUJlZm9yZVByb3BvcnRpb25zIHsKKyAgICAtd2Via2l0
LWdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDUwcHgsIC4yNWZyKSBtaW5tYXgoMHB4LCAu
NWZyKSBtaW5tYXgoMHB4LCAxZnIpOworICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dzOiA1
MHB4OworfQorLmZpcnN0Um93VGhpcmRDb2x1bW4geworICAgIGJhY2tncm91bmQtY29sb3I6IHll
bGxvdzsKKyAgICAtd2Via2l0LWdyaWQtY29sdW1uOiAzOworICAgIC13ZWJraXQtZ3JpZC1yb3c6
IDE7Cit9CiA8L3N0eWxlPgogPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9jaGVjay1sYXlv
dXQuanMiPjwvc2NyaXB0PgogPGJvZHkgb25sb2FkPSJjaGVja0xheW91dCgnLmdyaWQnKTsiPgpA
QCAtMzQsNiArNTksMTIgQEAKICAgICA8L2Rpdj4KIDwvZGl2PgogCis8ZGl2IHN0eWxlPSJ3aWR0
aDogMTAwcHgiPgorICAgIDxkaXYgY2xhc3M9ImdyaWQgZ3JpZFplcm9GbGV4Q29udGVudCI+Cisg
ICAgICAgIDxkaXYgY2xhc3M9InNpemVkVG9HcmlkQXJlYSBmaXJzdFJvd0ZpcnN0Q29sdW1uIiBk
YXRhLWV4cGVjdGVkLXdpZHRoPSIwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iNTAiPjwvZGl2Pgor
ICAgIDwvZGl2PgorPC9kaXY+CisKIDwhLS0gQWxsb3cgdGhlIGV4dHJhIGxvZ2ljYWwgc3BhY2Ug
ZGlzdHJpYnV0aW9uIHRvIG9jY3VyLiAtLT4KIDxkaXYgc3R5bGU9IndpZHRoOiA0MHB4OyBoZWln
aHQ6IDEwcHgiPgogICAgIDxkaXYgY2xhc3M9ImdyaWQgZ3JpZE1pbkZsZXhDb250ZW50Ij4KQEAg
LTEyMSw1ICsxNTIsNDAgQEAKICAgICA8L2Rpdj4KIDwvZGl2PgogCis8IS0tIEZsZXggdHJhY2sg
bGVuZ3RoIG11c3QgYmUgYXQgbGVhc3QgaXRzIGJhc2VTaXplLiAtLT4KKzxkaXYgc3R5bGU9Indp
ZHRoOiAxMDBweDsgaGVpZ2h0OiAxMHB4OyI+CisgICAgPGRpdiBjbGFzcz0iZ3JpZCBncmlkUmVz
cGVjdEJhc2VTaXplIj4KKyAgICAgICAgPGRpdiBjbGFzcz0ic2l6ZWRUb0dyaWRBcmVhIGZpcnN0
Um93Rmlyc3RDb2x1bW4iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9Ijc1IiBkYXRhLWV4cGVjdGVkLWhl
aWdodD0iNTAiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJzaXplZFRvR3JpZEFyZWEgZmly
c3RSb3dTZWNvbmRDb2x1bW4iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjI1IiBkYXRhLWV4cGVjdGVk
LWhlaWdodD0iNTAiPjwvZGl2PgorICAgIDwvZGl2PgorPC9kaXY+CisKKzwhLS0gRmxleCB0cmFj
ayBsZW5ndGhzIG11c3QgYmUgcHJvcG9ydGlvbmFsIHRvIHRoZWlyIGZsZXggZmFjdG9ycy4uIC0t
PgorPGRpdiBzdHlsZT0id2lkdGg6IDI3NXB4OyBoZWlnaHQ6IDEwcHg7Ij4KKyAgICA8ZGl2IGNs
YXNzPSJncmlkIGdyaWRSZXNwZWN0UHJvcG9ydGlvbnMiPgorICAgICAgICA8ZGl2IGNsYXNzPSJz
aXplZFRvR3JpZEFyZWEgZmlyc3RSb3dGaXJzdENvbHVtbiIgZGF0YS1leHBlY3RlZC13aWR0aD0i
MjUiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI1MCI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9
InNpemVkVG9HcmlkQXJlYSBmaXJzdFJvd1NlY29uZENvbHVtbiIgZGF0YS1leHBlY3RlZC13aWR0
aD0iNTAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI1MCI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xh
c3M9InNpemVkVG9HcmlkQXJlYSBmaXJzdFJvd1RoaXJkQ29sdW1uIiBkYXRhLWV4cGVjdGVkLXdp
ZHRoPSIyMDAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI1MCI+PC9kaXY+CisgICAgPC9kaXY+Cis8
L2Rpdj4KKworPCEtLSBGbGV4IHRyYWNrIGxlbmd0aHMgbXVzdCBiZSBwcm9wb3J0aW9uYWwgYnV0
IHN0aWxsIHJlc3BlY3RpbmcgdGhlaXIgYmFzZSBzaXplcy4gLS0+Cis8ZGl2IHN0eWxlPSJ3aWR0
aDogMzUwcHg7IGhlaWdodDogMTBweDsiPgorICAgIDxkaXYgY2xhc3M9ImdyaWQgZ3JpZFJlc3Bl
Y3RCYXNlU2l6ZVByb3BvcnRpb25zIj4KKyAgICAgICAgPGRpdiBjbGFzcz0ic2l6ZWRUb0dyaWRB
cmVhIGZpcnN0Um93Rmlyc3RDb2x1bW4iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjUwIiBkYXRhLWV4
cGVjdGVkLWhlaWdodD0iNTAiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJzaXplZFRvR3Jp
ZEFyZWEgZmlyc3RSb3dTZWNvbmRDb2x1bW4iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjEwMCIgZGF0
YS1leHBlY3RlZC1oZWlnaHQ9IjUwIj48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0ic2l6ZWRU
b0dyaWRBcmVhIGZpcnN0Um93VGhpcmRDb2x1bW4iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjIwMCIg
ZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjUwIj48L2Rpdj4KKyAgICA8L2Rpdj4KKzwvZGl2PgorCis8
IS0tIE5vdCBlbm91Z2ggc3BhY2UgdG8gcmVwc2VjdCBwcm9wb3J0aW9ucywgYmVjYXVzZSBtaW5U
cmFja0JyZWFkaCBpdCdzIGEgaGFyZGVyIHJlcXVpcmVtZW50IC0tPgorPGRpdiBzdHlsZT0id2lk
dGg6IDI3NXB4OyBoZWlnaHQ6IDEwcHg7Ij4KKyAgICA8ZGl2IGNsYXNzPSJncmlkIGdyaWRSZXNw
ZWN0QmFzZVNpemVCZWZvcmVQcm9wb3J0aW9ucyI+CisgICAgICAgIDxkaXYgY2xhc3M9InNpemVk
VG9HcmlkQXJlYSBmaXJzdFJvd0ZpcnN0Q29sdW1uIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI1MCIg
ZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjUwIj48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0ic2l6
ZWRUb0dyaWRBcmVhIGZpcnN0Um93U2Vjb25kQ29sdW1uIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI3
NSIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjUwIj48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0i
c2l6ZWRUb0dyaWRBcmVhIGZpcnN0Um93VGhpcmRDb2x1bW4iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9
IjE1MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjUwIj48L2Rpdj4KKyAgICA8L2Rpdj4KKzwvZGl2
PgorCiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1n
cmlkLWxheW91dC9mbGV4LWNvbnRlbnQtcmVzb2x1dGlvbi1yb3dzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2ZsZXgtY29udGVudC1yZXNvbHV0aW9uLXJv
d3MtZXhwZWN0ZWQudHh0CmluZGV4IDg5MWVmNTVmMTllYWRhZTEzYjQ1MmJmYTk1MDBlZWVlMmJk
YzA2ZmUuLjZhZmUyOTZiZDZiNGQ4MGIyMWJlNTQyOGY1MGE4ZjY3ZjFjMmFmOTkgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2ZsZXgtY29udGVudC1yZXNvbHV0
aW9uLXJvd3MtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5
b3V0L2ZsZXgtY29udGVudC1yZXNvbHV0aW9uLXJvd3MtZXhwZWN0ZWQudHh0CkBAIC0yMiwzICsy
MiwxMCBAQCBQQVNTCiBQQVNTCiBQQVNTCiBQQVNTCitQQVNTCitQQVNTCitQQVNTCitQQVNTCitQ
QVNTCitQQVNTCitQQVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxh
eW91dC9mbGV4LWNvbnRlbnQtcmVzb2x1dGlvbi1yb3dzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2Nzcy1ncmlkLWxheW91dC9mbGV4LWNvbnRlbnQtcmVzb2x1dGlvbi1yb3dzLmh0bWwKaW5kZXgg
ZTFjYTljNmE0OTk0ZWJiZjhjMWUxYjE2MTczNTRiZjEzYTA1Y2UwNy4uZTFkMjU1OWIwNzVlMWEy
ODBkM2EwZDhmMWUxMGU3NDBkNmExZTg1MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9j
c3MtZ3JpZC1sYXlvdXQvZmxleC1jb250ZW50LXJlc29sdXRpb24tcm93cy5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2ZsZXgtY29udGVudC1yZXNvbHV0aW9uLXJv
d3MuaHRtbApAQCAtNiw2ICs2LDEwIEBACiAgICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWNvbHVt
bnM6IDUwcHg7CiAgICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlLXJvd3M6IG1pbm1heCgxZnIsIDUw
cHgpOwogfQorLmdyaWRaZXJvRmxleENvbnRlbnQgeworICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0
ZS1jb2x1bW5zOiA1MHB4OworICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dzOiBtaW5tYXgo
MWZyLCAwcHgpOworfQogLmdyaWRNYXhGbGV4Q29udGVudCB7CiAgICAgLXdlYmtpdC1ncmlkLXRl
bXBsYXRlLWNvbHVtbnM6IDUwcHg7CiAgICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlLXJvd3M6IG1p
bm1heCgzMHB4LCAyZnIpOwpAQCAtMTgsNiArMjIsMjcgQEAKICAgICAtd2Via2l0LWdyaWQtdGVt
cGxhdGUtY29sdW1uczogNTBweDsKICAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGUtcm93czogbWlu
bWF4KDEwcHgsIDAuNWZyKSBtaW5tYXgoMTBweCwgMmZyKTsKIH0KKy5ncmlkUmVzcGVjdEJhc2VT
aXplIHsKKyAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGUtY29sdW1uczogNTBweDsKKyAgICAtd2Vi
a2l0LWdyaWQtdGVtcGxhdGUtcm93czogbWlubWF4KDc1cHgsIDFmcikgbWlubWF4KDBweCwgMmZy
KTsKK30KKy5ncmlkUmVzcGVjdFByb3BvcnRpb25zIHsKKyAgICAtd2Via2l0LWdyaWQtdGVtcGxh
dGUtY29sdW1uczogNTBweDsKKyAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGUtcm93czogbWlubWF4
KDI1cHgsIC4yNWZyKSBtaW5tYXgoMHB4LCAuNWZyKSBtaW5tYXgoMHB4LCAyZnIpOworfQorLmdy
aWRSZXNwZWN0QmFzZVNpemVQcm9wb3J0aW9ucyB7CisgICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRl
LWNvbHVtbnM6IDUwcHg7CisgICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlLXJvd3M6IG1pbm1heCg1
MHB4LCAuMjVmcikgbWlubWF4KDBweCwgLjVmcikgbWlubWF4KDBweCwgMWZyKTsKK30KKy5ncmlk
UmVzcGVjdEJhc2VTaXplQmVmb3JlUHJvcG9ydGlvbnMgeworICAgIC13ZWJraXQtZ3JpZC10ZW1w
bGF0ZS1jb2x1bW5zOiA1MHB4OworICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dzOiBtaW5t
YXgoNTBweCwgLjI1ZnIpIG1pbm1heCgwcHgsIC41ZnIpIG1pbm1heCgwcHgsIDFmcik7Cit9Cisu
dGhpcmRSb3dGaXJzdENvbHVtbiB7CisgICAgYmFja2dyb3VuZC1jb2xvcjogeWVsbG93OworICAg
IC13ZWJraXQtZ3JpZC1jb2x1bW46IDE7CisgICAgLXdlYmtpdC1ncmlkLXJvdzogMzsKK30KIDwv
c3R5bGU+CiA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2NoZWNrLWxheW91dC5qcyI+PC9z
Y3JpcHQ+CiA8Ym9keSBvbmxvYWQ9ImNoZWNrTGF5b3V0KCcuZ3JpZCcpOyI+CkBAIC0zMSw2ICs1
NiwxMiBAQAogPC9kaXY+CiAKIDxkaXYgc3R5bGU9ImhlaWdodDogMHB4Ij4KKyAgICA8ZGl2IGNs
YXNzPSJncmlkIGdyaWRaZXJvRmxleENvbnRlbnQiPgorICAgICAgICA8ZGl2IGNsYXNzPSJzaXpl
ZFRvR3JpZEFyZWEgZmlyc3RSb3dGaXJzdENvbHVtbiIgZGF0YS1leHBlY3RlZC13aWR0aD0iNTAi
IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIj48L2Rpdj4KKyAgICA8L2Rpdj4KKzwvZGl2PgorCis8
ZGl2IHN0eWxlPSJoZWlnaHQ6IDBweCI+CiAgICAgPGRpdiBjbGFzcz0iZ3JpZCBncmlkTWluRmxl
eENvbnRlbnQiPgogICAgICAgICA8ZGl2IGNsYXNzPSJzaXplZFRvR3JpZEFyZWEgZmlyc3RSb3dG
aXJzdENvbHVtbiIgZGF0YS1leHBlY3RlZC13aWR0aD0iNTAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0
PSI1MCI+PC9kaXY+CiAgICAgPC9kaXY+CkBAIC0xMzcsMTAgKzE2OCwxMSBAQAogICAgIDwvZGl2
PgogPC9kaXY+CiAKKzwhLS0gV2Ugbm9ybWFsaXplIGZyYWN0aW9uIGZsZXggZmFjdG9ycyB0byAx
LCBzbyB3ZSBkb24ndCBrZWVwIGV4YWN0IHByb3BvcnRpb25zIHdpdGggPjEgZmFjdG9ycy4gLS0+
CiA8ZGl2IGNsYXNzPSJjb25zdHJhaW5lZENvbnRhaW5lciI+CiAgICAgPGRpdiBjbGFzcz0iZ3Jp
ZCBncmlkVHdvRG91YmxlTWF4RmxleENvbnRlbnQiPgogICAgICAgICA8ZGl2IGNsYXNzPSJzaXpl
ZFRvR3JpZEFyZWEgZmlyc3RSb3dGaXJzdENvbHVtbiIgZGF0YS1leHBlY3RlZC13aWR0aD0iNTAi
IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIxMCI+PC9kaXY+Ci0gICAgICAgIDxkaXYgY2xhc3M9InNp
emVkVG9HcmlkQXJlYSBzZWNvbmRSb3dGaXJzdENvbHVtbiIgZGF0YS1leHBlY3RlZC13aWR0aD0i
NTAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI0MCI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9
InNpemVkVG9HcmlkQXJlYSBzZWNvbmRSb3dGaXJzdENvbHVtbiIgZGF0YS1leHBlY3RlZC13aWR0
aD0iNTAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIyMCI+PC9kaXY+CiAgICAgPC9kaXY+CiA8L2Rp
dj4KIApAQCAtMTUyLDEwICsxODQsMTEgQEAKICAgICA8L2Rpdj4KIDwvZGl2PgogCis8IS0tIFdl
IG5vcm1hbGl6ZSBmcmFjdGlvbiBmbGV4IGZhY3RvcnMgdG8gMSwgc28gd2UgZG9uJ3Qga2VlcCBl
eGFjdCBwcm9wb3J0aW9ucyB3aXRoID4xIGZhY3RvcnMuIC0tPgogPGRpdiBzdHlsZT0id2lkdGg6
IDEwcHg7IGhlaWdodDogNjBweCI+CiAgICAgPGRpdiBjbGFzcz0iZ3JpZCBncmlkVHdvRG91Ymxl
TWF4RmxleENvbnRlbnQiPgogICAgICAgICA8ZGl2IGNsYXNzPSJzaXplZFRvR3JpZEFyZWEgZmly
c3RSb3dGaXJzdENvbHVtbiIgZGF0YS1leHBlY3RlZC13aWR0aD0iNTAiIGRhdGEtZXhwZWN0ZWQt
aGVpZ2h0PSIxMCI+PC9kaXY+Ci0gICAgICAgIDxkaXYgY2xhc3M9InNpemVkVG9HcmlkQXJlYSBz
ZWNvbmRSb3dGaXJzdENvbHVtbiIgZGF0YS1leHBlY3RlZC13aWR0aD0iNTAiIGRhdGEtZXhwZWN0
ZWQtaGVpZ2h0PSI0MCI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InNpemVkVG9HcmlkQXJl
YSBzZWNvbmRSb3dGaXJzdENvbHVtbiIgZGF0YS1leHBlY3RlZC13aWR0aD0iNTAiIGRhdGEtZXhw
ZWN0ZWQtaGVpZ2h0PSIyMCI+PC9kaXY+CiAgICAgPC9kaXY+CiA8L2Rpdj4KIApAQCAtMTY2LDEw
ICsxOTksNjIgQEAKICAgICA8L2Rpdj4KIDwvZGl2PgogCis8IS0tIFdlIG5vcm1hbGl6ZSBmcmFj
dGlvbiBmbGV4IGZhY3RvcnMgdG8gMSwgc28gd2UgZG9uJ3Qga2VlcCBleGFjdCBwcm9wb3J0aW9u
cyB3aXRoID4xIGZhY3RvcnMuIC0tPgogPGRpdiBzdHlsZT0id2lkdGg6IDEwcHg7IGhlaWdodDog
MTIwcHg7Ij4KICAgICA8ZGl2IGNsYXNzPSJncmlkIGdyaWRUd29Eb3VibGVNYXhGbGV4Q29udGVu
dCI+CiAgICAgICAgIDxkaXYgY2xhc3M9InNpemVkVG9HcmlkQXJlYSBmaXJzdFJvd0ZpcnN0Q29s
dW1uIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI1MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEwIj48
L2Rpdj4KLSAgICAgICAgPGRpdiBjbGFzcz0ic2l6ZWRUb0dyaWRBcmVhIHNlY29uZFJvd0ZpcnN0
Q29sdW1uIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI1MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjQw
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0ic2l6ZWRUb0dyaWRBcmVhIHNlY29uZFJvd0Zp
cnN0Q29sdW1uIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI1MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9
IjIwIj48L2Rpdj4KKyAgICA8L2Rpdj4KKzwvZGl2PgorCis8IS0tIEZsZXggdHJhY2sgbGVuZ3Ro
cyBtdXN0IGJlIHByb3BvcnRpb25hbCB0byB0aGVpciBmbGV4IGZhY3RvcnMuLiAtLT4KKzxkaXYg
c3R5bGU9IndpZHRoOiAxMHB4OyBoZWlnaHQ6IDI3NXB4OyI+CisgICAgPGRpdiBjbGFzcz0iZ3Jp
ZCBncmlkUmVzcGVjdFByb3BvcnRpb25zIiBzdHlsZT0iaGVpZ2h0OiAxMDAlOyI+CisgICAgICAg
IDxkaXYgY2xhc3M9InNpemVkVG9HcmlkQXJlYSBmaXJzdFJvd0ZpcnN0Q29sdW1uIiBkYXRhLWV4
cGVjdGVkLXdpZHRoPSI1MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjI1Ij48L2Rpdj4KKyAgICAg
ICAgPGRpdiBjbGFzcz0ic2l6ZWRUb0dyaWRBcmVhIHNlY29uZFJvd0ZpcnN0Q29sdW1uIiBkYXRh
LWV4cGVjdGVkLXdpZHRoPSI1MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjUwIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBjbGFzcz0ic2l6ZWRUb0dyaWRBcmVhIHRoaXJkUm93Rmlyc3RDb2x1bW4iIGRh
dGEtZXhwZWN0ZWQtd2lkdGg9IjUwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMjAwIj48L2Rpdj4K
KyAgICA8L2Rpdj4KKzwvZGl2PgorCis8ZGl2IHN0eWxlPSJ3aWR0aDogMTBweDsgaGVpZ2h0OiAy
NzVweDsiPgorICAgIDxkaXYgY2xhc3M9ImdyaWQgZ3JpZFJlc3BlY3RQcm9wb3J0aW9ucyI+Cisg
ICAgICAgIDxkaXYgY2xhc3M9InNpemVkVG9HcmlkQXJlYSBmaXJzdFJvd0ZpcnN0Q29sdW1uIiBk
YXRhLWV4cGVjdGVkLXdpZHRoPSI1MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjI1Ij48L2Rpdj4K
KyAgICAgICAgPGRpdiBjbGFzcz0ic2l6ZWRUb0dyaWRBcmVhIHNlY29uZFJvd0ZpcnN0Q29sdW1u
IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI1MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEzIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBjbGFzcz0ic2l6ZWRUb0dyaWRBcmVhIHRoaXJkUm93Rmlyc3RDb2x1
bW4iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjUwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iNTAiPjwv
ZGl2PgorICAgIDwvZGl2PgorPC9kaXY+CisKKzwhLS0gRmxleCB0cmFjayBsZW5ndGhzIG11c3Qg
YmUgcHJvcG9ydGlvbmFsIGJ1dCBzdGlsbCByZXNwZWN0aW5nIHRoZWlyIGJhc2Ugc2l6ZXMuIC0t
PgorPGRpdiBzdHlsZT0id2lkdGg6IDEwcHg7IGhlaWdodDogMzUwcHg7Ij4KKyAgICA8ZGl2IGNs
YXNzPSJncmlkIGdyaWRSZXNwZWN0QmFzZVNpemVQcm9wb3J0aW9ucyIgc3R5bGU9ImhlaWdodDog
MTAwJTsiPgorICAgICAgICA8ZGl2IGNsYXNzPSJzaXplZFRvR3JpZEFyZWEgZmlyc3RSb3dGaXJz
dENvbHVtbiIgZGF0YS1leHBlY3RlZC13aWR0aD0iNTAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI1
MCI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InNpemVkVG9HcmlkQXJlYSBzZWNvbmRSb3dG
aXJzdENvbHVtbiIgZGF0YS1leHBlY3RlZC13aWR0aD0iNTAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0
PSIxMDAiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJzaXplZFRvR3JpZEFyZWEgdGhpcmRS
b3dGaXJzdENvbHVtbiIgZGF0YS1leHBlY3RlZC13aWR0aD0iNTAiIGRhdGEtZXhwZWN0ZWQtaGVp
Z2h0PSIyMDAiPjwvZGl2PgorICAgIDwvZGl2PgorPC9kaXY+CisKKzxkaXYgc3R5bGU9IndpZHRo
OiAxMHB4OyBoZWlnaHQ6IDM1MHB4OyI+CisgICAgPGRpdiBjbGFzcz0iZ3JpZCBncmlkUmVzcGVj
dEJhc2VTaXplUHJvcG9ydGlvbnMiPgorICAgICAgICA8ZGl2IGNsYXNzPSJzaXplZFRvR3JpZEFy
ZWEgZmlyc3RSb3dGaXJzdENvbHVtbiIgZGF0YS1leHBlY3RlZC13aWR0aD0iNTAiIGRhdGEtZXhw
ZWN0ZWQtaGVpZ2h0PSI1MCI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InNpemVkVG9Hcmlk
QXJlYSBzZWNvbmRSb3dGaXJzdENvbHVtbiIgZGF0YS1leHBlY3RlZC13aWR0aD0iNTAiIGRhdGEt
ZXhwZWN0ZWQtaGVpZ2h0PSIyNSI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InNpemVkVG9H
cmlkQXJlYSB0aGlyZFJvd0ZpcnN0Q29sdW1uIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI1MCIgZGF0
YS1leHBlY3RlZC1oZWlnaHQ9IjUwIj48L2Rpdj4KKyAgICA8L2Rpdj4KKzwvZGl2PgorCis8IS0t
IE5vdCBlbm91Z2ggc3BhY2UgdG8gcmVwc2VjdCBwcm9wb3J0aW9ucywgYmVjYXVzZSBtaW5UcmFj
a0JyZWFkaCBpdCdzIGEgaGFyZGVyIHJlcXVpcmVtZW50IC0tPgorPGRpdiBzdHlsZT0id2lkdGg6
IDEwcHg7IGhlaWdodDogMjc1cHg7Ij4KKyAgICA8ZGl2IGNsYXNzPSJncmlkIGdyaWRSZXNwZWN0
QmFzZVNpemVCZWZvcmVQcm9wb3J0aW9ucyIgc3R5bGU9ImhlaWdodDogMTAwJTsiPgorICAgICAg
ICA8ZGl2IGNsYXNzPSJzaXplZFRvR3JpZEFyZWEgZmlyc3RSb3dGaXJzdENvbHVtbiIgZGF0YS1l
eHBlY3RlZC13aWR0aD0iNTAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI1MCI+PC9kaXY+CisgICAg
ICAgIDxkaXYgY2xhc3M9InNpemVkVG9HcmlkQXJlYSBzZWNvbmRSb3dGaXJzdENvbHVtbiIgZGF0
YS1leHBlY3RlZC13aWR0aD0iNTAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI3NSI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgY2xhc3M9InNpemVkVG9HcmlkQXJlYSB0aGlyZFJvd0ZpcnN0Q29sdW1uIiBk
YXRhLWV4cGVjdGVkLXdpZHRoPSI1MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjE1MCI+PC9kaXY+
CisgICAgPC9kaXY+Cis8L2Rpdj4KKworPGRpdiBzdHlsZT0id2lkdGg6IDEwcHg7IGhlaWdodDog
Mjc1cHg7Ij4KKyAgICA8ZGl2IGNsYXNzPSJncmlkIGdyaWRSZXNwZWN0QmFzZVNpemVCZWZvcmVQ
cm9wb3J0aW9ucyI+CisgICAgICAgIDxkaXYgY2xhc3M9InNpemVkVG9HcmlkQXJlYSBmaXJzdFJv
d0ZpcnN0Q29sdW1uIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI1MCIgZGF0YS1leHBlY3RlZC1oZWln
aHQ9IjUwIj48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0ic2l6ZWRUb0dyaWRBcmVhIHNlY29u
ZFJvd0ZpcnN0Q29sdW1uIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI1MCIgZGF0YS1leHBlY3RlZC1o
ZWlnaHQ9IjI1Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0ic2l6ZWRUb0dyaWRBcmVhIHRo
aXJkUm93Rmlyc3RDb2x1bW4iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjUwIiBkYXRhLWV4cGVjdGVk
LWhlaWdodD0iNTAiPjwvZGl2PgogICAgIDwvZGl2PgogPC9kaXY+CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261838</attachid>
            <date>2015-09-23 13:07:09 -0700</date>
            <delta_ts>2015-09-28 05:22:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-148944-20150923220649.patch</filename>
            <type>text/plain</type>
            <size>28178</size>
            <attacher name="Javier Fernandez">jfernandez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg5OTgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWQyNWRhNGMwN2M2MGVl
ZjYzZThkNjUxYzJmZWMzZTQ3NzYzYjYwMi4uMmY5MzFhZGM3NDA1ZjEzMDYwMDZmN2QwN2ZlMDRi
YjY0NzYzYjNiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE1LTA5LTA5ICBKYXZp
ZXIgRmVybmFuZGV6ICA8amZlcm5hbmRlekBpZ2FsaWEuY29tPgorCisgICAgICAgIFtDU1MgR3Jp
ZCBMYXlvdXRdIEZsZXggdHJhY2tzIHNpemluZyBhbGcgbXVzdCBoYW5kbGUgMGZyIHZhbHVlcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ4OTQ0CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgZG9uJ3Qg
YWxsb3cgMCBhcyBmbGV4aWJsZSBzaXplIHZhbHVlLCB3aGljaCBpcyBub3QgZm9sbG93aW5nIGN1
cnJlbnQKKyAgICAgICAgc3BlY3M7IGl0IGp1c3Qgc3RhdGVzIHRoYXQgaXQgbXVzdCBiZSBhIHBv
c2l0aXZlIHZhbHVlLiBUaGlzIHBhdGNoCisgICAgICAgIGFkZHMgc3VjaCBjaGFuZ2UgaW4gdGhl
IHBhcnNlciBidXQgc29tZSBhZGRpdGlvbmFsIGxvZ2ljIG11c3QgYmUgYWRkZWQKKyAgICAgICAg
YXMgd2VsbCB0byBoYW5kbGUgMCB2YWx1ZXMgZHVyaW5nIHRoZSBmbGV4IHRyYWNrcyBzaXppbmcg
YWxnb3JpdGhtLgorCisgICAgICAgIFRoZSBvbGQgYWxnb3JpdGhtIGRpZG4ndCB0YWtlIDAgdmFs
dWVzIGludG8gYWNjb3VudCwgc28gdGhlcmUgaXMgdGhlIHJpc2sKKyAgICAgICAgb2YgZGl2aXNp
b24gYnkgemVyby4gQWRkaXRpb25hbGx5LCBpdCB3YXMgbm90IGhhbmRsaW5nIGZyYWN0aW9uIHZh
bHVlcworICAgICAgICBpbiB0aGUgYmVzdCB3YXkuIFRoZSBsYXN0IHZlcnNpb25zIG9mIHRoZSBz
cGVjIGNoYW5nZWQgdGhpcyBhbGdvcml0aG0gaW4KKyAgICAgICAgb3JkZXIgdG8gaGFuZGxlIGZy
YWN0aW9uIHZhbHVlcyBzbyB0aGF0IHRoZXkgZG9uJ3QgY2F1c2UgZXhwb25lbnRpYWwKKyAgICAg
ICAgZ3JvdyBvZiB0cmFja3MgdXNpbmcgdmFsdWVzIGJpZ2dlciB0aGFuIDEuCisKKyAgICAgICAg
VGhpcyBwYXRjaCBpbXBsZW1lbnRzIGFsc28gc3VjaCBuZXcgYWxnb3JpdGhtLCBzbyB3ZSBjYW4g
ZGVhbCBub3Qgb25seQorICAgICAgICB3aXRoIDAgdmFsdWVzLCBidXQgbWFuYWdpbmcgZnJhY3Rp
b24gdmFsdWVzIHByb3Blcmx5LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywganVzdCBzb21lIGFk
ZGl0aW9uYWwgdGVzdCBjYXNlcyBhbmQgc29tZSBvZiB0aGVtIHJlYmFzZWxpbmVkLgorCisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bm9ybWFs
aXplZEZsZXhGcmFjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJHcmlkOjpjb21wdXRl
VXNlZEJyZWFkdGhPZkdyaWRUcmFja3MpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6
ZmluZEZyVW5pdFNpemUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6R3JpZEl0ZXJh
dG9yOjpHcmlkSXRlcmF0b3IpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3Jp
ZDo6Y29tcHV0ZVVzZWRCcmVhZHRoT2ZNaW5MZW5ndGgpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyR3JpZDo6aGFzRGVmaW5pdGVMb2dpY2FsU2l6ZSk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJHcmlkOjpncmlkVHJhY2tTaXplKTogRGVsZXRlZC4KKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyR3JpZC5oOgorCiAyMDE1LTA5LTE4ICBFcmljIENhcmxzb24g
IDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFtNZWRpYVN0cmVhbV0gRmluaXNo
IGltcGxlbWVudGluZyBNZWRpYURldmljZXMuZW51bWVyYXRlRGV2aWNlcwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwCmluZGV4IDA3ZDk5ZmQ1N2U0OWY2YzdkYjNmYTEzMjM5
ZTE2NWQyNWRjNzRiOGQuLmU4OWQzNGUzNDQ5MTZmYTIwNzI0MTQ4ZTVjMWM4ZTVlYTc4MzE4ZjMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAKQEAgLTExNiwxOSArMTE2
LDYgQEAgcHJpdmF0ZToKICAgICBib29sIG1faW5maW5pdGVseUdyb3dhYmxlIHsgZmFsc2UgfTsK
IH07CiAKLXN0cnVjdCBHcmlkVHJhY2tGb3JOb3JtYWxpemF0aW9uIHsKLSAgICBHcmlkVHJhY2tG
b3JOb3JtYWxpemF0aW9uKGNvbnN0IEdyaWRUcmFjayYgdHJhY2ssIGRvdWJsZSBmbGV4KQotICAg
ICAgICA6IG1fdHJhY2soJnRyYWNrKQotICAgICAgICAsIG1fZmxleChmbGV4KQotICAgICAgICAs
IG1fbm9ybWFsaXplZEZsZXhWYWx1ZSh0cmFjay5iYXNlU2l6ZSgpIC8gZmxleCkKLSAgICB7Ci0g
ICAgfQotCi0gICAgY29uc3QgR3JpZFRyYWNrKiBtX3RyYWNrOwotICAgIGRvdWJsZSBtX2ZsZXg7
Ci0gICAgTGF5b3V0VW5pdCBtX25vcm1hbGl6ZWRGbGV4VmFsdWU7Ci19OwotCiBjbGFzcyBSZW5k
ZXJHcmlkOjpHcmlkSXRlcmF0b3IgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdyaWRJdGVy
YXRvcik7CiBwdWJsaWM6CkBAIC0zNjksNiArMzU2LDExIEBAIGJvb2wgUmVuZGVyR3JpZDo6Z3Jp
ZEVsZW1lbnRJc1Nocmlua1RvRml0KCkKICAgICByZXR1cm4gaXNGbG9hdGluZ09yT3V0T2ZGbG93
UG9zaXRpb25lZCgpOwogfQogCitzdGF0aWMgaW5saW5lIGRvdWJsZSBub3JtYWxpemVkRmxleEZy
YWN0aW9uKGNvbnN0IEdyaWRUcmFjayYgdHJhY2ssIGRvdWJsZSBmbGV4RmFjdG9yKQoreworICAg
IHJldHVybiBmbGV4RmFjdG9yID4gMSA/IHRyYWNrLmJhc2VTaXplKCkgLyBmbGV4RmFjdG9yIDog
dHJhY2suYmFzZVNpemUoKS50b0RvdWJsZSgpOworfQorCiB2b2lkIFJlbmRlckdyaWQ6OmNvbXB1
dGVVc2VkQnJlYWR0aE9mR3JpZFRyYWNrcyhHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24gZGlyZWN0
aW9uLCBHcmlkU2l6aW5nRGF0YSYgc2l6aW5nRGF0YSwgTGF5b3V0VW5pdCYgYXZhaWxhYmxlTG9n
aWNhbFNwYWNlKQogewogICAgIGNvbnN0IExheW91dFVuaXQgaW5pdGlhbEF2YWlsYWJsZUxvZ2lj
YWxTcGFjZSA9IGF2YWlsYWJsZUxvZ2ljYWxTcGFjZTsKQEAgLTQyOSwxNCArNDIxLDEyIEBAIHZv
aWQgUmVuZGVyR3JpZDo6Y29tcHV0ZVVzZWRCcmVhZHRoT2ZHcmlkVHJhY2tzKEdyaWRUcmFja1Np
emluZ0RpcmVjdGlvbiBkaXJlY3RpCiAgICAgICAgIHJldHVybjsKIAogICAgIC8vIDQuIEdyb3cg
YWxsIEdyaWQgdHJhY2tzIGhhdmluZyBhIGZyYWN0aW9uIGFzIHRoZSBNYXhUcmFja1NpemluZ0Z1
bmN0aW9uLgotICAgIGRvdWJsZSBub3JtYWxpemVkRnJhY3Rpb25CcmVhZHRoID0gMDsKKyAgICBk
b3VibGUgZmxleEZyYWN0aW9uID0gMDsKICAgICBpZiAoIWhhc1VuZGVmaW5lZFJlbWFpbmluZ1Nw
YWNlKQotICAgICAgICBub3JtYWxpemVkRnJhY3Rpb25CcmVhZHRoID0gY29tcHV0ZU5vcm1hbGl6
ZWRGcmFjdGlvbkJyZWFkdGgodHJhY2tzLCBHcmlkU3BhbigwLCB0cmFja3Muc2l6ZSgpIC0gMSks
IGRpcmVjdGlvbiwgaW5pdGlhbEF2YWlsYWJsZUxvZ2ljYWxTcGFjZSk7CisgICAgICAgIGZsZXhG
cmFjdGlvbiA9IGZpbmRGbGV4RmFjdG9yVW5pdFNpemUodHJhY2tzLCBHcmlkU3BhbigwLCB0cmFj
a3Muc2l6ZSgpIC0gMSksIGRpcmVjdGlvbiwgaW5pdGlhbEF2YWlsYWJsZUxvZ2ljYWxTcGFjZSk7
CiAgICAgZWxzZSB7Ci0gICAgICAgIGZvciAoYXV0byB0cmFja0luZGV4IDogZmxleGlibGVTaXpl
ZFRyYWNrc0luZGV4KSB7Ci0gICAgICAgICAgICBjb25zdCBHcmlkVHJhY2tTaXplJiB0cmFja1Np
emUgPSBncmlkVHJhY2tTaXplKGRpcmVjdGlvbiwgdHJhY2tJbmRleCk7Ci0gICAgICAgICAgICBu
b3JtYWxpemVkRnJhY3Rpb25CcmVhZHRoID0gc3RkOjptYXgobm9ybWFsaXplZEZyYWN0aW9uQnJl
YWR0aCwgdHJhY2tzW3RyYWNrSW5kZXhdLmJhc2VTaXplKCkgLyB0cmFja1NpemUubWF4VHJhY2tC
cmVhZHRoKCkuZmxleCgpKTsKLSAgICAgICAgfQorICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIHRy
YWNrSW5kZXggOiBmbGV4aWJsZVNpemVkVHJhY2tzSW5kZXgpCisgICAgICAgICAgICBmbGV4RnJh
Y3Rpb24gPSBzdGQ6Om1heChmbGV4RnJhY3Rpb24sIG5vcm1hbGl6ZWRGbGV4RnJhY3Rpb24odHJh
Y2tzW3RyYWNrSW5kZXhdLCBncmlkVHJhY2tTaXplKGRpcmVjdGlvbiwgdHJhY2tJbmRleCkubWF4
VHJhY2tCcmVhZHRoKCkuZmxleCgpKSk7CiAKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsg
aSA8IGZsZXhpYmxlU2l6ZWRUcmFja3NJbmRleC5zaXplKCk7ICsraSkgewogICAgICAgICAgICAg
R3JpZEl0ZXJhdG9yIGl0ZXJhdG9yKG1fZ3JpZCwgZGlyZWN0aW9uLCBmbGV4aWJsZVNpemVkVHJh
Y2tzSW5kZXhbaV0pOwpAQCAtNDQ4LDggKzQzOCw4IEBAIHZvaWQgUmVuZGVyR3JpZDo6Y29tcHV0
ZVVzZWRCcmVhZHRoT2ZHcmlkVHJhY2tzKEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiBkaXJlY3Rp
CiAgICAgICAgICAgICAgICAgaWYgKGkgPiAwICYmIHNwYW4ucmVzb2x2ZWRJbml0aWFsUG9zaXRp
b24udG9JbnQoKSA8PSBmbGV4aWJsZVNpemVkVHJhY2tzSW5kZXhbaSAtIDFdKQogICAgICAgICAg
ICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICAgICAgICAgIGRvdWJsZSBpdGVtTm9ybWFs
aXplZEZsZXhCcmVhZHRoID0gY29tcHV0ZU5vcm1hbGl6ZWRGcmFjdGlvbkJyZWFkdGgodHJhY2tz
LCBzcGFuLCBkaXJlY3Rpb24sIG1heENvbnRlbnRGb3JDaGlsZCgqZ3JpZEl0ZW0sIGRpcmVjdGlv
biwgc2l6aW5nRGF0YS5jb2x1bW5UcmFja3MpKTsKLSAgICAgICAgICAgICAgICBub3JtYWxpemVk
RnJhY3Rpb25CcmVhZHRoID0gc3RkOjptYXgobm9ybWFsaXplZEZyYWN0aW9uQnJlYWR0aCwgaXRl
bU5vcm1hbGl6ZWRGbGV4QnJlYWR0aCk7CisgICAgICAgICAgICAgICAgZG91YmxlIGl0ZW1GbGV4
RnJhY3Rpb24gPSBmaW5kRmxleEZhY3RvclVuaXRTaXplKHRyYWNrcywgc3BhbiwgZGlyZWN0aW9u
LCBtYXhDb250ZW50Rm9yQ2hpbGQoKmdyaWRJdGVtLCBkaXJlY3Rpb24sIHNpemluZ0RhdGEuY29s
dW1uVHJhY2tzKSk7CisgICAgICAgICAgICAgICAgZmxleEZyYWN0aW9uID0gc3RkOjptYXgoZmxl
eEZyYWN0aW9uLCBpdGVtRmxleEZyYWN0aW9uKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQog
ICAgIH0KQEAgLTQ1Nyw3ICs0NDcsNyBAQCB2b2lkIFJlbmRlckdyaWQ6OmNvbXB1dGVVc2VkQnJl
YWR0aE9mR3JpZFRyYWNrcyhHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24gZGlyZWN0aQogICAgIGZv
ciAoYXV0byB0cmFja0luZGV4IDogZmxleGlibGVTaXplZFRyYWNrc0luZGV4KSB7CiAgICAgICAg
IGNvbnN0IEdyaWRUcmFja1NpemUmIHRyYWNrU2l6ZSA9IGdyaWRUcmFja1NpemUoZGlyZWN0aW9u
LCB0cmFja0luZGV4KTsKICAgICAgICAgR3JpZFRyYWNrJiB0cmFjayA9IHRyYWNrc1t0cmFja0lu
ZGV4XTsKLSAgICAgICAgTGF5b3V0VW5pdCBiYXNlU2l6ZSA9IHN0ZDo6bWF4PExheW91dFVuaXQ+
KHRyYWNrLmJhc2VTaXplKCksIG5vcm1hbGl6ZWRGcmFjdGlvbkJyZWFkdGggKiB0cmFja1NpemUu
bWF4VHJhY2tCcmVhZHRoKCkuZmxleCgpKTsKKyAgICAgICAgTGF5b3V0VW5pdCBiYXNlU2l6ZSA9
IHN0ZDo6bWF4PExheW91dFVuaXQ+KHRyYWNrLmJhc2VTaXplKCksIGZsZXhGcmFjdGlvbiAqIHRy
YWNrU2l6ZS5tYXhUcmFja0JyZWFkdGgoKS5mbGV4KCkpOwogICAgICAgICB0cmFjay5zZXRCYXNl
U2l6ZShiYXNlU2l6ZSk7CiAgICAgICAgIGF2YWlsYWJsZUxvZ2ljYWxTcGFjZSAtPSBiYXNlU2l6
ZTsKICAgICB9CkBAIC01MDAsNTcgKzQ5MCw1OCBAQCBMYXlvdXRVbml0IFJlbmRlckdyaWQ6OmNv
bXB1dGVVc2VkQnJlYWR0aE9mU3BlY2lmaWVkTGVuZ3RoKEdyaWRUcmFja1NpemluZ0RpcmVjdAog
ICAgIHJldHVybiB2YWx1ZUZvckxlbmd0aCh0cmFja0xlbmd0aCwgY29tcHV0ZUNvbnRlbnRMb2dp
Y2FsSGVpZ2h0KE1haW5PclByZWZlcnJlZFNpemUsIHN0eWxlKCkubG9naWNhbEhlaWdodCgpLCBO
dWxsb3B0KS52YWx1ZU9yKDApKTsKIH0KIAotZG91YmxlIFJlbmRlckdyaWQ6OmNvbXB1dGVOb3Jt
YWxpemVkRnJhY3Rpb25CcmVhZHRoKFZlY3RvcjxHcmlkVHJhY2s+JiB0cmFja3MsIGNvbnN0IEdy
aWRTcGFuJiB0cmFja3NTcGFuLCBHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24gZGlyZWN0aW9uLCBM
YXlvdXRVbml0IHNwYWNlVG9GaWxsKSBjb25zdAorZG91YmxlIFJlbmRlckdyaWQ6OmNvbXB1dGVG
bGV4RmFjdG9yVW5pdFNpemUoY29uc3QgVmVjdG9yPEdyaWRUcmFjaz4mIHRyYWNrcywgR3JpZFRy
YWNrU2l6aW5nRGlyZWN0aW9uIGRpcmVjdGlvbiwgZG91YmxlIGZsZXhGYWN0b3JTdW0sIGRvdWJs
ZSBsZWZ0T3ZlclNwYWNlLCBjb25zdCBWZWN0b3I8c2l6ZV90LCA4PiYgZmxleGlibGVUcmFja3Ms
IHN0ZDo6dW5pcXVlX3B0cjxUcmFja0luZGV4U2V0PiB0cmFja3NUb1RyZWF0QXNJbmZsZXhpYmxl
KSBjb25zdAogewotICAgIExheW91dFVuaXQgYWxsb2NhdGVkU3BhY2U7Ci0gICAgVmVjdG9yPEdy
aWRUcmFja0Zvck5vcm1hbGl6YXRpb24+IHRyYWNrc0Zvck5vcm1hbGl6YXRpb247Ci0gICAgZm9y
IChhdXRvJiBwb3NpdGlvbiA6IHRyYWNrc1NwYW4pIHsKLSAgICAgICAgR3JpZFRyYWNrJiB0cmFj
ayA9IHRyYWNrc1twb3NpdGlvbi50b0ludCgpXTsKLSAgICAgICAgYWxsb2NhdGVkU3BhY2UgKz0g
dHJhY2suYmFzZVNpemUoKTsKKyAgICAvLyBXZSBkb24ndCB3YW50IGZsZXggZmFjdG9ycyBzdW0g
YmVsb3cgMSBtYWtlIGZhY3RvciB1bml0IHNpemUgdG8gZ3JvdyBleHBvbmVudGlhbGx5LgorICAg
IGRvdWJsZSBoeXBvdGhldGljYWxGYWN0b3JVbml0U2l6ZSA9IGZsZXhGYWN0b3JTdW0gPiAxID8g
bGVmdE92ZXJTcGFjZSAvIGZsZXhGYWN0b3JTdW0gOiBsZWZ0T3ZlclNwYWNlOwogCi0gICAgICAg
IGNvbnN0IEdyaWRUcmFja1NpemUmIHRyYWNrU2l6ZSA9IGdyaWRUcmFja1NpemUoZGlyZWN0aW9u
LCBwb3NpdGlvbi50b0ludCgpKTsKLSAgICAgICAgaWYgKCF0cmFja1NpemUubWF4VHJhY2tCcmVh
ZHRoKCkuaXNGbGV4KCkpCisgICAgLy8gcHJvZHVjdCBvZiB0aGUgaHlwb3RoZXRpY2FsICJmbGV4
IGZhY3RvciB1bml0IiBhbmQgYW55IGZsZXhpYmxlIHRyYWNrJ3MgImZsZXggZmFjdG9yIiBtdXN0
IGJlIGdyYXRlciB0aGFuIHN1Y2ggdHJhY2sncyAiYmFzZSBzaXplIi4KKyAgICBib29sIHZhbGlk
RmxleEZhY3RvclVuaXQgPSB0cnVlOworICAgIGZvciAoYXV0byBpbmRleCA6IGZsZXhpYmxlVHJh
Y2tzKSB7CisgICAgICAgIGlmICh0cmFja3NUb1RyZWF0QXNJbmZsZXhpYmxlICYmIHRyYWNrc1Rv
VHJlYXRBc0luZmxleGlibGUtPmNvbnRhaW5zKGluZGV4KSkKICAgICAgICAgICAgIGNvbnRpbnVl
OwotCi0gICAgICAgIHRyYWNrc0Zvck5vcm1hbGl6YXRpb24uYXBwZW5kKEdyaWRUcmFja0Zvck5v
cm1hbGl6YXRpb24odHJhY2ssIHRyYWNrU2l6ZS5tYXhUcmFja0JyZWFkdGgoKS5mbGV4KCkpKTsK
KyAgICAgICAgZG91YmxlIGJhc2VTaXplID0gdHJhY2tzW2luZGV4XS5iYXNlU2l6ZSgpOworICAg
ICAgICBkb3VibGUgZmxleEZhY3RvciA9IGdyaWRUcmFja1NpemUoZGlyZWN0aW9uLCBpbmRleCku
bWF4VHJhY2tCcmVhZHRoKCkuZmxleCgpOworICAgICAgICAvLyB0cmVhdGluZyBhbGwgc3VjaCB0
cmFja3MgYXMgaW5mbGV4aWJsZS4KKyAgICAgICAgaWYgKGh5cG90aGV0aWNhbEZhY3RvclVuaXRT
aXplICogZmxleEZhY3RvciA8IGJhc2VTaXplKSB7CisgICAgICAgICAgICBsZWZ0T3ZlclNwYWNl
IC09IGJhc2VTaXplOworICAgICAgICAgICAgZmxleEZhY3RvclN1bSAtPSBmbGV4RmFjdG9yOwor
ICAgICAgICAgICAgaWYgKCF0cmFja3NUb1RyZWF0QXNJbmZsZXhpYmxlKQorICAgICAgICAgICAg
ICAgIHRyYWNrc1RvVHJlYXRBc0luZmxleGlibGUgPSBzdGQ6OnVuaXF1ZV9wdHI8VHJhY2tJbmRl
eFNldD4obmV3IFRyYWNrSW5kZXhTZXQoKSk7CisgICAgICAgICAgICB0cmFja3NUb1RyZWF0QXNJ
bmZsZXhpYmxlLT5hZGQoaW5kZXgpOworICAgICAgICAgICAgdmFsaWRGbGV4RmFjdG9yVW5pdCA9
IGZhbHNlOworICAgICAgICB9CiAgICAgfQorICAgIGlmICghdmFsaWRGbGV4RmFjdG9yVW5pdCkK
KyAgICAgICAgcmV0dXJuIGNvbXB1dGVGbGV4RmFjdG9yVW5pdFNpemUodHJhY2tzLCBkaXJlY3Rp
b24sIGZsZXhGYWN0b3JTdW0sIGxlZnRPdmVyU3BhY2UsIGZsZXhpYmxlVHJhY2tzLCBXVEY6Om1v
dmUodHJhY2tzVG9UcmVhdEFzSW5mbGV4aWJsZSkpOworICAgIHJldHVybiBoeXBvdGhldGljYWxG
YWN0b3JVbml0U2l6ZTsKK30KIAotICAgIC8vIFRoZSBmdW5jdGlvbiBpcyBub3QgY2FsbGVkIGlm
IHdlIGRvbid0IGhhdmUgPGZsZXg+IGdyaWQgdHJhY2tzCi0gICAgQVNTRVJUKCF0cmFja3NGb3JO
b3JtYWxpemF0aW9uLmlzRW1wdHkoKSk7Ci0KLSAgICBzdGQ6OnNvcnQodHJhY2tzRm9yTm9ybWFs
aXphdGlvbi5iZWdpbigpLCB0cmFja3NGb3JOb3JtYWxpemF0aW9uLmVuZCgpLAotICAgICAgICAg
ICAgICBbXShjb25zdCBHcmlkVHJhY2tGb3JOb3JtYWxpemF0aW9uJiB0cmFjazEsIGNvbnN0IEdy
aWRUcmFja0Zvck5vcm1hbGl6YXRpb24mIHRyYWNrMikgewotICAgICAgICAgICAgICAgICAgcmV0
dXJuIHRyYWNrMS5tX25vcm1hbGl6ZWRGbGV4VmFsdWUgPCB0cmFjazIubV9ub3JtYWxpemVkRmxl
eFZhbHVlOwotICAgICAgICAgICAgICB9KTsKLQotICAgIC8vIFRoZXNlIHZhbHVlcyB3b3JrIHRv
Z2V0aGVyOiBhcyB3ZSB3YWxrIG92ZXIgb3VyIGdyaWQgdHJhY2tzLCB3ZSBpbmNyZWFzZSBmcmFj
dGlvblZhbHVlQmFzZWRPbkdyaWRJdGVtc1JhdGlvCi0gICAgLy8gdG8gbWF0Y2ggYSBncmlkIHRy
YWNrJ3MgdXNlZEJyZWFkdGggdG8gPGZsZXg+IHJhdGlvIHVudGlsIHRoZSB0b3RhbCBmcmFjdGlv
bnMgc2l6ZWQgZ3JpZCB0cmFja3Mgd291bGRuJ3QKLSAgICAvLyBmaXQgaW50byBhdmFpbGFibGVM
b2dpY2FsU3BhY2VJZ25vcmluZ0ZyYWN0aW9uVHJhY2tzLgotICAgIGRvdWJsZSBhY2N1bXVsYXRl
ZEZyYWN0aW9ucyA9IDA7Ci0gICAgTGF5b3V0VW5pdCBmcmFjdGlvblZhbHVlQmFzZWRPbkdyaWRJ
dGVtc1JhdGlvID0gMDsKLSAgICBMYXlvdXRVbml0IGF2YWlsYWJsZUxvZ2ljYWxTcGFjZUlnbm9y
aW5nRnJhY3Rpb25UcmFja3MgPSBzcGFjZVRvRmlsbCAtIGFsbG9jYXRlZFNwYWNlOwotCi0gICAg
Zm9yIChhdXRvJiB0cmFjayA6IHRyYWNrc0Zvck5vcm1hbGl6YXRpb24pIHsKLSAgICAgICAgaWYg
KHRyYWNrLm1fbm9ybWFsaXplZEZsZXhWYWx1ZSA+IGZyYWN0aW9uVmFsdWVCYXNlZE9uR3JpZEl0
ZW1zUmF0aW8pIHsKLSAgICAgICAgICAgIC8vIElmIHRoZSBub3JtYWxpemVkIGZsZXggdmFsdWUg
KHdlIG9yZGVyZWQgfHRyYWNrc0Zvck5vcm1hbGl6YXRpb258IGJ5IGluY3JlYXNpbmcgbm9ybWFs
aXplZCBmbGV4IHZhbHVlKQotICAgICAgICAgICAgLy8gd2lsbCBtYWtlIHVzIG92ZXJmbG93IG91
ciBjb250YWluZXIsIHRoZW4gc3RvcC4gV2UgaGF2ZSB0aGUgcHJldmlvdXMgc3RlcCdzIHJhdGlv
IGlzIHRoZSBiZXN0IGZpdC4KLSAgICAgICAgICAgIGlmICh0cmFjay5tX25vcm1hbGl6ZWRGbGV4
VmFsdWUgKiBhY2N1bXVsYXRlZEZyYWN0aW9ucyA+IGF2YWlsYWJsZUxvZ2ljYWxTcGFjZUlnbm9y
aW5nRnJhY3Rpb25UcmFja3MpCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgICAg
IGZyYWN0aW9uVmFsdWVCYXNlZE9uR3JpZEl0ZW1zUmF0aW8gPSB0cmFjay5tX25vcm1hbGl6ZWRG
bGV4VmFsdWU7Ci0gICAgICAgIH0KK2RvdWJsZSBSZW5kZXJHcmlkOjpmaW5kRmxleEZhY3RvclVu
aXRTaXplKGNvbnN0IFZlY3RvcjxHcmlkVHJhY2s+JiB0cmFja3MsIGNvbnN0IEdyaWRTcGFuJiB0
cmFja3NTcGFuLCBHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24gZGlyZWN0aW9uLCBMYXlvdXRVbml0
IHNwYWNlVG9GaWxsKSBjb25zdAoreworICAgIGlmIChzcGFjZVRvRmlsbCA8PSAwKQorICAgICAg
ICByZXR1cm4gMDsKIAotICAgICAgICBhY2N1bXVsYXRlZEZyYWN0aW9ucyArPSB0cmFjay5tX2Zs
ZXg7Ci0gICAgICAgIC8vIFRoaXMgaXRlbSB3YXMgcHJvY2Vzc2VkIHNvIHdlIHJlLWFkZCBpdHMg
dXNlZCBicmVhZHRoIHRvIHRoZSBhdmFpbGFibGUgc3BhY2UgdG8gYWNjdXJhdGVseSBjb3VudCB0
aGUgcmVtYWluaW5nIHNwYWNlLgotICAgICAgICBhdmFpbGFibGVMb2dpY2FsU3BhY2VJZ25vcmlu
Z0ZyYWN0aW9uVHJhY2tzICs9IHRyYWNrLm1fdHJhY2stPmJhc2VTaXplKCk7CisgICAgZG91Ymxl
IGZsZXhGYWN0b3JTdW0gPSAwOworICAgIGRvdWJsZSBsZWZ0T3ZlclNwYWNlID0gc3BhY2VUb0Zp
bGw7CisgICAgVmVjdG9yPHNpemVfdCwgOD4gZmxleGlibGVUcmFja3M7CisgICAgZm9yIChjb25z
dCBhdXRvJiByZXNvbHZlZFBvc2l0aW9uIDogdHJhY2tzU3BhbikgeworICAgICAgICBzaXplX3Qg
dHJhY2tJbmRleCA9IHJlc29sdmVkUG9zaXRpb24udG9JbnQoKTsKKyAgICAgICAgR3JpZFRyYWNr
U2l6ZSB0cmFja1NpemUgPSBncmlkVHJhY2tTaXplKGRpcmVjdGlvbiwgdHJhY2tJbmRleCk7Cisg
ICAgICAgIGRvdWJsZSBiYXNlU2l6ZSA9IHRyYWNrc1t0cmFja0luZGV4XS5iYXNlU2l6ZSgpOwor
ICAgICAgICBpZiAoIXRyYWNrU2l6ZS5tYXhUcmFja0JyZWFkdGgoKS5pc0ZsZXgoKSkKKyAgICAg
ICAgICAgIGxlZnRPdmVyU3BhY2UgLT0gYmFzZVNpemU7CisgICAgICAgIGVsc2UgeworICAgICAg
ICAgICAgZG91YmxlIGZsZXhGYWN0b3IgPSB0cmFja1NpemUubWF4VHJhY2tCcmVhZHRoKCkuZmxl
eCgpOworICAgICAgICAgICAgZmxleGlibGVUcmFja3MuYXBwZW5kKHRyYWNrSW5kZXgpOworICAg
ICAgICAgICAgZmxleEZhY3RvclN1bSArPSBmbGV4RmFjdG9yOworICAgICAgICB9CiAgICAgfQog
Ci0gICAgLy8gTGV0IGZsZXggZmFjdG9yIHN1bSBiZSB0aGUgc3VtIG9mIHRoZSBmbGV4IGZhY3Rv
cnMgb2YgdGhlIGZsZXhpYmxlIHRyYWNrcy4gSWYgdGhpcyB2YWx1ZQotICAgIC8vIGlzIGxlc3Mg
dGhhbiAxLCBzZXQgaXQgdG8gMSBpbnN0ZWFkLgotICAgIGlmIChhY2N1bXVsYXRlZEZyYWN0aW9u
cyA8IDEpCi0gICAgICAgIHJldHVybiBhdmFpbGFibGVMb2dpY2FsU3BhY2VJZ25vcmluZ0ZyYWN0
aW9uVHJhY2tzOworICAgIC8vIFRoZSBmdW5jdGlvbiBpcyBub3QgY2FsbGVkIGlmIHdlIGRvbid0
IGhhdmUgPGZsZXg+IGdyaWQgdHJhY2tzCisgICAgQVNTRVJUKCFmbGV4aWJsZVRyYWNrcy5pc0Vt
cHR5KCkpOwogCi0gICAgcmV0dXJuIGF2YWlsYWJsZUxvZ2ljYWxTcGFjZUlnbm9yaW5nRnJhY3Rp
b25UcmFja3MgLyBhY2N1bXVsYXRlZEZyYWN0aW9uczsKKyAgICByZXR1cm4gY29tcHV0ZUZsZXhG
YWN0b3JVbml0U2l6ZSh0cmFja3MsIGRpcmVjdGlvbiwgZmxleEZhY3RvclN1bSwgbGVmdE92ZXJT
cGFjZSwgZmxleGlibGVUcmFja3MpOwogfQogCiBib29sIFJlbmRlckdyaWQ6Omhhc0RlZmluaXRl
TG9naWNhbFNpemUoR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uIGRpcmVjdGlvbikgY29uc3QKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5oCmluZGV4IGVlNzFmZGU2ZWU5M2E0ZTNmNWZh
YmY5ZmE5ZDVlNDNhYjhjMTU1M2IuLjFkNmY3ZGViYzg0MjljYjk1ZGYxMjU5OTdhNDU1ODhkZTBh
ZDdjOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuaApAQCAtMTEzLDcgKzEx
Myw5IEBAIHByaXZhdGU6CiAgICAgdGVtcGxhdGUgPFRyYWNrU2l6ZUNvbXB1dGF0aW9uUGhhc2U+
IHZvaWQgcmVzb2x2ZUNvbnRlbnRCYXNlZFRyYWNrU2l6aW5nRnVuY3Rpb25zRm9ySXRlbXMoR3Jp
ZFRyYWNrU2l6aW5nRGlyZWN0aW9uLCBHcmlkU2l6aW5nRGF0YSYsIGNvbnN0IEdyaWRJdGVtc1Nw
YW5Hcm91cFJhbmdlJik7CiAgICAgdGVtcGxhdGUgPFRyYWNrU2l6ZUNvbXB1dGF0aW9uUGhhc2U+
IHZvaWQgZGlzdHJpYnV0ZVNwYWNlVG9UcmFja3MoVmVjdG9yPEdyaWRUcmFjayo+JiwgY29uc3Qg
VmVjdG9yPEdyaWRUcmFjayo+KiBncm93QmV5b25kR3Jvd3RoTGltaXRzVHJhY2tzLCBMYXlvdXRV
bml0JiBhdmFpbGFibGVMb2dpY2FsU3BhY2UpOwogCi0gICAgZG91YmxlIGNvbXB1dGVOb3JtYWxp
emVkRnJhY3Rpb25CcmVhZHRoKFZlY3RvcjxHcmlkVHJhY2s+JiwgY29uc3QgR3JpZFNwYW4mIHRy
YWNrc1NwYW4sIEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiwgTGF5b3V0VW5pdCBhdmFpbGFibGVM
b2dpY2FsU3BhY2UpIGNvbnN0OworICAgIHR5cGVkZWYgSGFzaFNldDx1bnNpZ25lZCwgRGVmYXVs
dEhhc2g8dW5zaWduZWQ+OjpIYXNoLCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRz
PHVuc2lnbmVkPj4gVHJhY2tJbmRleFNldDsKKyAgICBkb3VibGUgY29tcHV0ZUZsZXhGYWN0b3JV
bml0U2l6ZShjb25zdCBWZWN0b3I8R3JpZFRyYWNrPiYsIEdyaWRUcmFja1NpemluZ0RpcmVjdGlv
biwgZG91YmxlIGZsZXhGYWN0b3JTdW0sIGRvdWJsZSBsZWZ0T3ZlclNwYWNlLCBjb25zdCBWZWN0
b3I8c2l6ZV90LCA4PiYgZmxleGlibGVUcmFja3MsIHN0ZDo6dW5pcXVlX3B0cjxUcmFja0luZGV4
U2V0PiB0cmFja3NUb1RyZWF0QXNJbmZsZXhpYmxlID0gbnVsbHB0cikgY29uc3Q7CisgICAgZG91
YmxlIGZpbmRGbGV4RmFjdG9yVW5pdFNpemUoY29uc3QgVmVjdG9yPEdyaWRUcmFjaz4mLCBjb25z
dCBHcmlkU3BhbiYsIEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiwgTGF5b3V0VW5pdCBzcGFjZVRv
RmlsbCkgY29uc3Q7CiAKICAgICBHcmlkVHJhY2tTaXplIGdyaWRUcmFja1NpemUoR3JpZFRyYWNr
U2l6aW5nRGlyZWN0aW9uLCB1bnNpZ25lZCkgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlZjlkNjUzMWQzM2M0
NjBiMjNiY2Y1YTI3ZGI2ZTg5NzBlMmUxN2FmLi5jZGY2NDRhMGM1OWZlYWNlNTg3YjFiODY5MDI5
MDZiNjE4YjA5Njk5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTUtMDktMDkgIEphdmllciBG
ZXJuYW5kZXogIDxqZmVybmFuZGV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgW0NTUyBHcmlkIExh
eW91dF0gRmxleCB0cmFja3Mgc2l6aW5nIGFsZyBtdXN0IGhhbmRsZSAwZnIgdmFsdWVzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDg5NDQKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBbGxvdyAwIGFzIGZs
ZXggZmFjdG9yIHZhbHVlIGFuZCBpbXBsZW1lbnQgdGhlIG5ldyBmbGV4IHRyYWNrIHNpemluZyBh
bGdvcml0aG0uCisKKyAgICAgICAgKiBmYXN0L2Nzcy1ncmlkLWxheW91dC9mbGV4LWFuZC1taW5t
YXgtY29udGVudC1yZXNvbHV0aW9uLXJvd3MuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Nzcy1ncmlk
LWxheW91dC9mbGV4LWNvbnRlbnQtcmVzb2x1dGlvbi1jb2x1bW5zLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBmYXN0L2Nzcy1ncmlkLWxheW91dC9mbGV4LWNvbnRlbnQtcmVzb2x1dGlvbi1jb2x1
bW5zLmh0bWw6CisgICAgICAgICogZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZmxleC1jb250ZW50LXJl
c29sdXRpb24tcm93cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9jc3MtZ3JpZC1sYXlv
dXQvZmxleC1jb250ZW50LXJlc29sdXRpb24tcm93cy5odG1sOgorCiAyMDE1LTA5LTE4ICBKYWtl
IE5pZWxzZW4gIDxqYWNvYl9uaWVsc2VuQGFwcGxlLmNvbT4KIAogICAgICAgICBsaW5lLWJyZWFr
LWxhbmd1YWdlLXNlbnNpdGl2ZSB0ZXN0cyBzaG91bGQgYmUgbWFya2VkIGFzIGZsYWt5CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9mbGV4LWFuZC1taW5tYXgt
Y29udGVudC1yZXNvbHV0aW9uLXJvd3MuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQt
bGF5b3V0L2ZsZXgtYW5kLW1pbm1heC1jb250ZW50LXJlc29sdXRpb24tcm93cy5odG1sCmluZGV4
IDY5YjNmZWUyMGZjMTkzODA1NGQ1NjFkZGI1NWE5NmQ1OWU5MDU0YTkuLmYxNmViZDYyYmMwZWIx
NjE1MWZjZGU0OGMwOTZiZGY1ODRhMjBkNDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
Y3NzLWdyaWQtbGF5b3V0L2ZsZXgtYW5kLW1pbm1heC1jb250ZW50LXJlc29sdXRpb24tcm93cy5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2ZsZXgtYW5kLW1pbm1h
eC1jb250ZW50LXJlc29sdXRpb24tcm93cy5odG1sCkBAIC0xMjAsNiArMTIwLDcgQEAKICAgICA8
L2Rpdj4KIDwvZGl2PgogCis8IS0tIFdlIG5vcm1hbGl6ZSBmcmFjdGlvbiBmbGV4IGZhY3RvcnMg
dG8gMSwgc28gd2UgZG9uJ3Qga2VlcCBleGFjdCBwcm9wb3J0aW9ucyB3aXRoID4xIGZhY3RvcnMu
IC0tPgogPGRpdiBzdHlsZT0id2lkdGg6IDEwcHg7IGhlaWdodDogNjBweDsiPgogICAgIDxkaXYg
Y2xhc3M9ImdyaWQgZ3JpZFdpdGhJbnRyaW5zaWNTaXplQmlnZ2VyVGhhbkZsZXgiIHN0eWxlPSJo
ZWlnaHQ6IDEwMCUiPgogICAgICAgICA8ZGl2IGNsYXNzPSJzaXplZFRvR3JpZEFyZWEgZmlyc3RS
b3dGaXJzdENvbHVtbiIgZGF0YS1leHBlY3RlZC13aWR0aD0iNTAiIGRhdGEtZXhwZWN0ZWQtaGVp
Z2h0PSI0MCI+WFhYWFggWFhYWFggWFhYWFggWFhYWFg8L2Rpdj4KQEAgLTEyNywxMCArMTI4LDEx
IEBACiAgICAgPC9kaXY+CiA8L2Rpdj4KIAorPCEtLSBXZSBub3JtYWxpemUgZnJhY3Rpb24gZmxl
eCBmYWN0b3JzIHRvIDEsIHNvIHdlIGRvbid0IGtlZXAgZXhhY3QgcHJvcG9ydGlvbnMgd2l0aCA+
MSBmYWN0b3JzLiAtLT4KIDxkaXYgc3R5bGU9IndpZHRoOiAxMHB4OyBoZWlnaHQ6IDYwcHg7Ij4K
ICAgICA8ZGl2IGNsYXNzPSJncmlkIGdyaWRXaXRoSW50cmluc2ljU2l6ZUJpZ2dlclRoYW5GbGV4
Ij4KICAgICAgICAgPGRpdiBjbGFzcz0ic2l6ZWRUb0dyaWRBcmVhIGZpcnN0Um93Rmlyc3RDb2x1
bW4iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjUwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iNDAiPlhY
WFhYIFhYWFhYIFhYWFhYIFhYWFhYPC9kaXY+Ci0gICAgICAgIDxkaXYgY2xhc3M9InNpemVkVG9H
cmlkQXJlYSBzZWNvbmRSb3dGaXJzdENvbHVtbiIgZGF0YS1leHBlY3RlZC13aWR0aD0iNTAiIGRh
dGEtZXhwZWN0ZWQtaGVpZ2h0PSIxNjAiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJzaXpl
ZFRvR3JpZEFyZWEgc2Vjb25kUm93Rmlyc3RDb2x1bW4iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjUw
IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iODAiPjwvZGl2PgogICAgIDwvZGl2PgogPC9kaXY+CiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2ZsZXgtY29udGVu
dC1yZXNvbHV0aW9uLWNvbHVtbnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mt
Z3JpZC1sYXlvdXQvZmxleC1jb250ZW50LXJlc29sdXRpb24tY29sdW1ucy1leHBlY3RlZC50eHQK
aW5kZXggMTFjYTMyNjRkMzg0MmI0MTFkNTQ2M2JlYTgzYmJkMzk4ZjA1ODg4NS4uZjBmOWQyYTlm
MjU4OGZkMDhiODEwYTc5YWI4OTY2ZWY5YzUzMTdjYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZmxleC1jb250ZW50LXJlc29sdXRpb24tY29sdW1ucy1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZmxleC1jb250
ZW50LXJlc29sdXRpb24tY29sdW1ucy1leHBlY3RlZC50eHQKQEAgLTEzLDMgKzEzLDggQEAgUEFT
UwogUEFTUwogUEFTUwogUEFTUworUEFTUworUEFTUworUEFTUworUEFTUworUEFTUwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZmxleC1jb250ZW50LXJlc29s
dXRpb24tY29sdW1ucy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZmxl
eC1jb250ZW50LXJlc29sdXRpb24tY29sdW1ucy5odG1sCmluZGV4IGI4MzUwYTE5OTE5NThkODQw
ZGYzNTNmOTE5MTM4M2NmNGY2MDgxYTkuLjU0YjUwNjk5MjIyYzY2Y2M0MTRlOTVkNmExZWEzMGMx
Mjg4ODM5ZmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2Zs
ZXgtY29udGVudC1yZXNvbHV0aW9uLWNvbHVtbnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2Nzcy1ncmlkLWxheW91dC9mbGV4LWNvbnRlbnQtcmVzb2x1dGlvbi1jb2x1bW5zLmh0bWwKQEAg
LTYsNiArNiwxMCBAQAogICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgo
MWZyLCA1MHB4KTsKICAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGUtcm93czogNTBweDsKIH0KKy5n
cmlkWmVyb0ZsZXhDb250ZW50IHsKKyAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGUtY29sdW1uczog
bWlubWF4KDFmciwgMHB4KTsKKyAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGUtcm93czogNTBweDsK
K30KIC5ncmlkTWF4RmxleENvbnRlbnQgewogICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1jb2x1
bW5zOiBtaW5tYXgoMzBweCwgMmZyKTsKICAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGUtcm93czog
NTBweDsKQEAgLTIyLDYgKzI2LDI3IEBACiAgICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWNvbHVt
bnM6IG1pbm1heCgzMDBweCwgM2ZyKSBtaW5tYXgoMTUwcHgsIDFmcik7CiAgICAgLXdlYmtpdC1n
cmlkLXRlbXBsYXRlLXJvd3M6IDUwcHg7CiB9CisuZ3JpZFJlc3BlY3RCYXNlU2l6ZSB7CisgICAg
LXdlYmtpdC1ncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCg3NXB4LCAxZnIpIG1pbm1heCgw
cHgsIDJmcik7CisgICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlLXJvd3M6IDUwcHg7Cit9CisuZ3Jp
ZFJlc3BlY3RQcm9wb3J0aW9ucyB7CisgICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWNvbHVtbnM6
IG1pbm1heCgwcHgsIC4yNWZyKSBtaW5tYXgoMHB4LCAuNWZyKSBtaW5tYXgoMHB4LCAyZnIpOwor
ICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dzOiA1MHB4OworfQorLmdyaWRSZXNwZWN0QmFz
ZVNpemVQcm9wb3J0aW9ucyB7CisgICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1p
bm1heCg1MHB4LCAuMjVmcikgbWlubWF4KDBweCwgLjVmcikgbWlubWF4KDBweCwgMWZyKTsKKyAg
ICAtd2Via2l0LWdyaWQtdGVtcGxhdGUtcm93czogNTBweDsKK30KKy5ncmlkUmVzcGVjdEJhc2VT
aXplQmVmb3JlUHJvcG9ydGlvbnMgeworICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1jb2x1bW5z
OiBtaW5tYXgoNTBweCwgLjI1ZnIpIG1pbm1heCgwcHgsIC41ZnIpIG1pbm1heCgwcHgsIDFmcik7
CisgICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlLXJvd3M6IDUwcHg7Cit9CisuZmlyc3RSb3dUaGly
ZENvbHVtbiB7CisgICAgYmFja2dyb3VuZC1jb2xvcjogeWVsbG93OworICAgIC13ZWJraXQtZ3Jp
ZC1jb2x1bW46IDM7CisgICAgLXdlYmtpdC1ncmlkLXJvdzogMTsKK30KIDwvc3R5bGU+CiA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2NoZWNrLWxheW91dC5qcyI+PC9zY3JpcHQ+CiA8Ym9k
eSBvbmxvYWQ9ImNoZWNrTGF5b3V0KCcuZ3JpZCcpOyI+CkBAIC0zNCw2ICs1OSwxMiBAQAogICAg
IDwvZGl2PgogPC9kaXY+CiAKKzxkaXYgc3R5bGU9IndpZHRoOiAxMDBweCI+CisgICAgPGRpdiBj
bGFzcz0iZ3JpZCBncmlkWmVyb0ZsZXhDb250ZW50Ij4KKyAgICAgICAgPGRpdiBjbGFzcz0ic2l6
ZWRUb0dyaWRBcmVhIGZpcnN0Um93Rmlyc3RDb2x1bW4iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAi
IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI1MCI+PC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKwog
PCEtLSBBbGxvdyB0aGUgZXh0cmEgbG9naWNhbCBzcGFjZSBkaXN0cmlidXRpb24gdG8gb2NjdXIu
IC0tPgogPGRpdiBzdHlsZT0id2lkdGg6IDQwcHg7IGhlaWdodDogMTBweCI+CiAgICAgPGRpdiBj
bGFzcz0iZ3JpZCBncmlkTWluRmxleENvbnRlbnQiPgpAQCAtMTIxLDUgKzE1Miw0MCBAQAogICAg
IDwvZGl2PgogPC9kaXY+CiAKKzwhLS0gRmxleCB0cmFjayBsZW5ndGggbXVzdCBiZSBhdCBsZWFz
dCBpdHMgYmFzZVNpemUuIC0tPgorPGRpdiBzdHlsZT0id2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEw
cHg7Ij4KKyAgICA8ZGl2IGNsYXNzPSJncmlkIGdyaWRSZXNwZWN0QmFzZVNpemUiPgorICAgICAg
ICA8ZGl2IGNsYXNzPSJzaXplZFRvR3JpZEFyZWEgZmlyc3RSb3dGaXJzdENvbHVtbiIgZGF0YS1l
eHBlY3RlZC13aWR0aD0iNzUiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI1MCI+PC9kaXY+CisgICAg
ICAgIDxkaXYgY2xhc3M9InNpemVkVG9HcmlkQXJlYSBmaXJzdFJvd1NlY29uZENvbHVtbiIgZGF0
YS1leHBlY3RlZC13aWR0aD0iMjUiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI1MCI+PC9kaXY+Cisg
ICAgPC9kaXY+Cis8L2Rpdj4KKworPCEtLSBGbGV4IHRyYWNrIGxlbmd0aHMgbXVzdCBiZSBwcm9w
b3J0aW9uYWwgdG8gdGhlaXIgZmxleCBmYWN0b3JzLi4gLS0+Cis8ZGl2IHN0eWxlPSJ3aWR0aDog
Mjc1cHg7IGhlaWdodDogMTBweDsiPgorICAgIDxkaXYgY2xhc3M9ImdyaWQgZ3JpZFJlc3BlY3RQ
cm9wb3J0aW9ucyI+CisgICAgICAgIDxkaXYgY2xhc3M9InNpemVkVG9HcmlkQXJlYSBmaXJzdFJv
d0ZpcnN0Q29sdW1uIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIyNSIgZGF0YS1leHBlY3RlZC1oZWln
aHQ9IjUwIj48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0ic2l6ZWRUb0dyaWRBcmVhIGZpcnN0
Um93U2Vjb25kQ29sdW1uIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI1MCIgZGF0YS1leHBlY3RlZC1o
ZWlnaHQ9IjUwIj48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0ic2l6ZWRUb0dyaWRBcmVhIGZp
cnN0Um93VGhpcmRDb2x1bW4iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjIwMCIgZGF0YS1leHBlY3Rl
ZC1oZWlnaHQ9IjUwIj48L2Rpdj4KKyAgICA8L2Rpdj4KKzwvZGl2PgorCis8IS0tIEZsZXggdHJh
Y2sgbGVuZ3RocyBtdXN0IGJlIHByb3BvcnRpb25hbCBidXQgc3RpbGwgcmVzcGVjdGluZyB0aGVp
ciBiYXNlIHNpemVzLiAtLT4KKzxkaXYgc3R5bGU9IndpZHRoOiAzNTBweDsgaGVpZ2h0OiAxMHB4
OyI+CisgICAgPGRpdiBjbGFzcz0iZ3JpZCBncmlkUmVzcGVjdEJhc2VTaXplUHJvcG9ydGlvbnMi
PgorICAgICAgICA8ZGl2IGNsYXNzPSJzaXplZFRvR3JpZEFyZWEgZmlyc3RSb3dGaXJzdENvbHVt
biIgZGF0YS1leHBlY3RlZC13aWR0aD0iNTAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI1MCI+PC9k
aXY+CisgICAgICAgIDxkaXYgY2xhc3M9InNpemVkVG9HcmlkQXJlYSBmaXJzdFJvd1NlY29uZENv
bHVtbiIgZGF0YS1leHBlY3RlZC13aWR0aD0iMTAwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iNTAi
PjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJzaXplZFRvR3JpZEFyZWEgZmlyc3RSb3dUaGly
ZENvbHVtbiIgZGF0YS1leHBlY3RlZC13aWR0aD0iMjAwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0i
NTAiPjwvZGl2PgorICAgIDwvZGl2PgorPC9kaXY+CisKKzwhLS0gTm90IGVub3VnaCBzcGFjZSB0
byByZXBzZWN0IHByb3BvcnRpb25zLCBiZWNhdXNlIG1pblRyYWNrQnJlYWRoIGl0J3MgYSBoYXJk
ZXIgcmVxdWlyZW1lbnQgLS0+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMjc1cHg7IGhlaWdodDogMTBw
eDsiPgorICAgIDxkaXYgY2xhc3M9ImdyaWQgZ3JpZFJlc3BlY3RCYXNlU2l6ZUJlZm9yZVByb3Bv
cnRpb25zIj4KKyAgICAgICAgPGRpdiBjbGFzcz0ic2l6ZWRUb0dyaWRBcmVhIGZpcnN0Um93Rmly
c3RDb2x1bW4iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjUwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0i
NTAiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJzaXplZFRvR3JpZEFyZWEgZmlyc3RSb3dT
ZWNvbmRDb2x1bW4iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9Ijc1IiBkYXRhLWV4cGVjdGVkLWhlaWdo
dD0iNTAiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJzaXplZFRvR3JpZEFyZWEgZmlyc3RS
b3dUaGlyZENvbHVtbiIgZGF0YS1leHBlY3RlZC13aWR0aD0iMTUwIiBkYXRhLWV4cGVjdGVkLWhl
aWdodD0iNTAiPjwvZGl2PgorICAgIDwvZGl2PgorPC9kaXY+CisKIDwvYm9keT4KIDwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2ZsZXgtY29udGVu
dC1yZXNvbHV0aW9uLXJvd3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3Jp
ZC1sYXlvdXQvZmxleC1jb250ZW50LXJlc29sdXRpb24tcm93cy1leHBlY3RlZC50eHQKaW5kZXgg
ODkxZWY1NWYxOWVhZGFlMTNiNDUyYmZhOTUwMGVlZWUyYmRjMDZmZS4uNmFmZTI5NmJkNmI0ZDgw
YjIxYmU1NDI4ZjUwYThmNjdmMWMyYWY5OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9j
c3MtZ3JpZC1sYXlvdXQvZmxleC1jb250ZW50LXJlc29sdXRpb24tcm93cy1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZmxleC1jb250ZW50LXJlc29s
dXRpb24tcm93cy1leHBlY3RlZC50eHQKQEAgLTIyLDMgKzIyLDEwIEBAIFBBU1MKIFBBU1MKIFBB
U1MKIFBBU1MKK1BBU1MKK1BBU1MKK1BBU1MKK1BBU1MKK1BBU1MKK1BBU1MKK1BBU1MKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2ZsZXgtY29udGVudC1yZXNv
bHV0aW9uLXJvd3MuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2ZsZXgt
Y29udGVudC1yZXNvbHV0aW9uLXJvd3MuaHRtbAppbmRleCBlMWNhOWM2YTQ5OTRlYmJmOGMxZTFi
MTYxNzM1NGJmMTNhMDVjZTA3Li5lMWQyNTU5YjA3NWUxYTI4MGQzYTBkOGYxZTEwZTc0MGQ2YTFl
ODUwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9mbGV4LWNv
bnRlbnQtcmVzb2x1dGlvbi1yb3dzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3Jp
ZC1sYXlvdXQvZmxleC1jb250ZW50LXJlc29sdXRpb24tcm93cy5odG1sCkBAIC02LDYgKzYsMTAg
QEAKICAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGUtY29sdW1uczogNTBweDsKICAgICAtd2Via2l0
LWdyaWQtdGVtcGxhdGUtcm93czogbWlubWF4KDFmciwgNTBweCk7CiB9CisuZ3JpZFplcm9GbGV4
Q29udGVudCB7CisgICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDUwcHg7CisgICAg
LXdlYmtpdC1ncmlkLXRlbXBsYXRlLXJvd3M6IG1pbm1heCgxZnIsIDBweCk7Cit9CiAuZ3JpZE1h
eEZsZXhDb250ZW50IHsKICAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGUtY29sdW1uczogNTBweDsK
ICAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGUtcm93czogbWlubWF4KDMwcHgsIDJmcik7CkBAIC0x
OCw2ICsyMiwyNyBAQAogICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA1MHB4Owog
ICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dzOiBtaW5tYXgoMTBweCwgMC41ZnIpIG1pbm1h
eCgxMHB4LCAyZnIpOwogfQorLmdyaWRSZXNwZWN0QmFzZVNpemUgeworICAgIC13ZWJraXQtZ3Jp
ZC10ZW1wbGF0ZS1jb2x1bW5zOiA1MHB4OworICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dz
OiBtaW5tYXgoNzVweCwgMWZyKSBtaW5tYXgoMHB4LCAyZnIpOworfQorLmdyaWRSZXNwZWN0UHJv
cG9ydGlvbnMgeworICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA1MHB4OworICAg
IC13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dzOiBtaW5tYXgoMjVweCwgLjI1ZnIpIG1pbm1heCgw
cHgsIC41ZnIpIG1pbm1heCgwcHgsIDJmcik7Cit9CisuZ3JpZFJlc3BlY3RCYXNlU2l6ZVByb3Bv
cnRpb25zIHsKKyAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGUtY29sdW1uczogNTBweDsKKyAgICAt
d2Via2l0LWdyaWQtdGVtcGxhdGUtcm93czogbWlubWF4KDUwcHgsIC4yNWZyKSBtaW5tYXgoMHB4
LCAuNWZyKSBtaW5tYXgoMHB4LCAxZnIpOworfQorLmdyaWRSZXNwZWN0QmFzZVNpemVCZWZvcmVQ
cm9wb3J0aW9ucyB7CisgICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDUwcHg7Cisg
ICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlLXJvd3M6IG1pbm1heCg1MHB4LCAuMjVmcikgbWlubWF4
KDBweCwgLjVmcikgbWlubWF4KDBweCwgMWZyKTsKK30KKy50aGlyZFJvd0ZpcnN0Q29sdW1uIHsK
KyAgICBiYWNrZ3JvdW5kLWNvbG9yOiB5ZWxsb3c7CisgICAgLXdlYmtpdC1ncmlkLWNvbHVtbjog
MTsKKyAgICAtd2Via2l0LWdyaWQtcm93OiAzOworfQogPC9zdHlsZT4KIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvY2hlY2stbGF5b3V0LmpzIj48L3NjcmlwdD4KIDxib2R5IG9ubG9hZD0i
Y2hlY2tMYXlvdXQoJy5ncmlkJyk7Ij4KQEAgLTMxLDYgKzU2LDEyIEBACiA8L2Rpdj4KIAogPGRp
diBzdHlsZT0iaGVpZ2h0OiAwcHgiPgorICAgIDxkaXYgY2xhc3M9ImdyaWQgZ3JpZFplcm9GbGV4
Q29udGVudCI+CisgICAgICAgIDxkaXYgY2xhc3M9InNpemVkVG9HcmlkQXJlYSBmaXJzdFJvd0Zp
cnN0Q29sdW1uIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI1MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9
IjAiPjwvZGl2PgorICAgIDwvZGl2PgorPC9kaXY+CisKKzxkaXYgc3R5bGU9ImhlaWdodDogMHB4
Ij4KICAgICA8ZGl2IGNsYXNzPSJncmlkIGdyaWRNaW5GbGV4Q29udGVudCI+CiAgICAgICAgIDxk
aXYgY2xhc3M9InNpemVkVG9HcmlkQXJlYSBmaXJzdFJvd0ZpcnN0Q29sdW1uIiBkYXRhLWV4cGVj
dGVkLXdpZHRoPSI1MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjUwIj48L2Rpdj4KICAgICA8L2Rp
dj4KQEAgLTEzNywxMCArMTY4LDExIEBACiAgICAgPC9kaXY+CiA8L2Rpdj4KIAorPCEtLSBXZSBu
b3JtYWxpemUgZnJhY3Rpb24gZmxleCBmYWN0b3JzIHRvIDEsIHNvIHdlIGRvbid0IGtlZXAgZXhh
Y3QgcHJvcG9ydGlvbnMgd2l0aCA+MSBmYWN0b3JzLiAtLT4KIDxkaXYgY2xhc3M9ImNvbnN0cmFp
bmVkQ29udGFpbmVyIj4KICAgICA8ZGl2IGNsYXNzPSJncmlkIGdyaWRUd29Eb3VibGVNYXhGbGV4
Q29udGVudCI+CiAgICAgICAgIDxkaXYgY2xhc3M9InNpemVkVG9HcmlkQXJlYSBmaXJzdFJvd0Zp
cnN0Q29sdW1uIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI1MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9
IjEwIj48L2Rpdj4KLSAgICAgICAgPGRpdiBjbGFzcz0ic2l6ZWRUb0dyaWRBcmVhIHNlY29uZFJv
d0ZpcnN0Q29sdW1uIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI1MCIgZGF0YS1leHBlY3RlZC1oZWln
aHQ9IjQwIj48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0ic2l6ZWRUb0dyaWRBcmVhIHNlY29u
ZFJvd0ZpcnN0Q29sdW1uIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI1MCIgZGF0YS1leHBlY3RlZC1o
ZWlnaHQ9IjIwIj48L2Rpdj4KICAgICA8L2Rpdj4KIDwvZGl2PgogCkBAIC0xNTIsMTAgKzE4NCwx
MSBAQAogICAgIDwvZGl2PgogPC9kaXY+CiAKKzwhLS0gV2Ugbm9ybWFsaXplIGZyYWN0aW9uIGZs
ZXggZmFjdG9ycyB0byAxLCBzbyB3ZSBkb24ndCBrZWVwIGV4YWN0IHByb3BvcnRpb25zIHdpdGgg
PjEgZmFjdG9ycy4gLS0+CiA8ZGl2IHN0eWxlPSJ3aWR0aDogMTBweDsgaGVpZ2h0OiA2MHB4Ij4K
ICAgICA8ZGl2IGNsYXNzPSJncmlkIGdyaWRUd29Eb3VibGVNYXhGbGV4Q29udGVudCI+CiAgICAg
ICAgIDxkaXYgY2xhc3M9InNpemVkVG9HcmlkQXJlYSBmaXJzdFJvd0ZpcnN0Q29sdW1uIiBkYXRh
LWV4cGVjdGVkLXdpZHRoPSI1MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEwIj48L2Rpdj4KLSAg
ICAgICAgPGRpdiBjbGFzcz0ic2l6ZWRUb0dyaWRBcmVhIHNlY29uZFJvd0ZpcnN0Q29sdW1uIiBk
YXRhLWV4cGVjdGVkLXdpZHRoPSI1MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjQwIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBjbGFzcz0ic2l6ZWRUb0dyaWRBcmVhIHNlY29uZFJvd0ZpcnN0Q29sdW1u
IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI1MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjIwIj48L2Rp
dj4KICAgICA8L2Rpdj4KIDwvZGl2PgogCkBAIC0xNjYsMTAgKzE5OSw2MiBAQAogICAgIDwvZGl2
PgogPC9kaXY+CiAKKzwhLS0gV2Ugbm9ybWFsaXplIGZyYWN0aW9uIGZsZXggZmFjdG9ycyB0byAx
LCBzbyB3ZSBkb24ndCBrZWVwIGV4YWN0IHByb3BvcnRpb25zIHdpdGggPjEgZmFjdG9ycy4gLS0+
CiA8ZGl2IHN0eWxlPSJ3aWR0aDogMTBweDsgaGVpZ2h0OiAxMjBweDsiPgogICAgIDxkaXYgY2xh
c3M9ImdyaWQgZ3JpZFR3b0RvdWJsZU1heEZsZXhDb250ZW50Ij4KICAgICAgICAgPGRpdiBjbGFz
cz0ic2l6ZWRUb0dyaWRBcmVhIGZpcnN0Um93Rmlyc3RDb2x1bW4iIGRhdGEtZXhwZWN0ZWQtd2lk
dGg9IjUwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTAiPjwvZGl2PgotICAgICAgICA8ZGl2IGNs
YXNzPSJzaXplZFRvR3JpZEFyZWEgc2Vjb25kUm93Rmlyc3RDb2x1bW4iIGRhdGEtZXhwZWN0ZWQt
d2lkdGg9IjUwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iNDAiPjwvZGl2PgorICAgICAgICA8ZGl2
IGNsYXNzPSJzaXplZFRvR3JpZEFyZWEgc2Vjb25kUm93Rmlyc3RDb2x1bW4iIGRhdGEtZXhwZWN0
ZWQtd2lkdGg9IjUwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMjAiPjwvZGl2PgorICAgIDwvZGl2
PgorPC9kaXY+CisKKzwhLS0gRmxleCB0cmFjayBsZW5ndGhzIG11c3QgYmUgcHJvcG9ydGlvbmFs
IHRvIHRoZWlyIGZsZXggZmFjdG9ycy4uIC0tPgorPGRpdiBzdHlsZT0id2lkdGg6IDEwcHg7IGhl
aWdodDogMjc1cHg7Ij4KKyAgICA8ZGl2IGNsYXNzPSJncmlkIGdyaWRSZXNwZWN0UHJvcG9ydGlv
bnMiIHN0eWxlPSJoZWlnaHQ6IDEwMCU7Ij4KKyAgICAgICAgPGRpdiBjbGFzcz0ic2l6ZWRUb0dy
aWRBcmVhIGZpcnN0Um93Rmlyc3RDb2x1bW4iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjUwIiBkYXRh
LWV4cGVjdGVkLWhlaWdodD0iMjUiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJzaXplZFRv
R3JpZEFyZWEgc2Vjb25kUm93Rmlyc3RDb2x1bW4iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjUwIiBk
YXRhLWV4cGVjdGVkLWhlaWdodD0iNTAiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJzaXpl
ZFRvR3JpZEFyZWEgdGhpcmRSb3dGaXJzdENvbHVtbiIgZGF0YS1leHBlY3RlZC13aWR0aD0iNTAi
IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIyMDAiPjwvZGl2PgorICAgIDwvZGl2PgorPC9kaXY+CisK
KzxkaXYgc3R5bGU9IndpZHRoOiAxMHB4OyBoZWlnaHQ6IDI3NXB4OyI+CisgICAgPGRpdiBjbGFz
cz0iZ3JpZCBncmlkUmVzcGVjdFByb3BvcnRpb25zIj4KKyAgICAgICAgPGRpdiBjbGFzcz0ic2l6
ZWRUb0dyaWRBcmVhIGZpcnN0Um93Rmlyc3RDb2x1bW4iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjUw
IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMjUiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJz
aXplZFRvR3JpZEFyZWEgc2Vjb25kUm93Rmlyc3RDb2x1bW4iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9
IjUwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTMiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNz
PSJzaXplZFRvR3JpZEFyZWEgdGhpcmRSb3dGaXJzdENvbHVtbiIgZGF0YS1leHBlY3RlZC13aWR0
aD0iNTAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI1MCI+PC9kaXY+CisgICAgPC9kaXY+Cis8L2Rp
dj4KKworPCEtLSBGbGV4IHRyYWNrIGxlbmd0aHMgbXVzdCBiZSBwcm9wb3J0aW9uYWwgYnV0IHN0
aWxsIHJlc3BlY3RpbmcgdGhlaXIgYmFzZSBzaXplcy4gLS0+Cis8ZGl2IHN0eWxlPSJ3aWR0aDog
MTBweDsgaGVpZ2h0OiAzNTBweDsiPgorICAgIDxkaXYgY2xhc3M9ImdyaWQgZ3JpZFJlc3BlY3RC
YXNlU2l6ZVByb3BvcnRpb25zIiBzdHlsZT0iaGVpZ2h0OiAxMDAlOyI+CisgICAgICAgIDxkaXYg
Y2xhc3M9InNpemVkVG9HcmlkQXJlYSBmaXJzdFJvd0ZpcnN0Q29sdW1uIiBkYXRhLWV4cGVjdGVk
LXdpZHRoPSI1MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjUwIj48L2Rpdj4KKyAgICAgICAgPGRp
diBjbGFzcz0ic2l6ZWRUb0dyaWRBcmVhIHNlY29uZFJvd0ZpcnN0Q29sdW1uIiBkYXRhLWV4cGVj
dGVkLXdpZHRoPSI1MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEwMCI+PC9kaXY+CisgICAgICAg
IDxkaXYgY2xhc3M9InNpemVkVG9HcmlkQXJlYSB0aGlyZFJvd0ZpcnN0Q29sdW1uIiBkYXRhLWV4
cGVjdGVkLXdpZHRoPSI1MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjIwMCI+PC9kaXY+CisgICAg
PC9kaXY+Cis8L2Rpdj4KKworPGRpdiBzdHlsZT0id2lkdGg6IDEwcHg7IGhlaWdodDogMzUwcHg7
Ij4KKyAgICA8ZGl2IGNsYXNzPSJncmlkIGdyaWRSZXNwZWN0QmFzZVNpemVQcm9wb3J0aW9ucyI+
CisgICAgICAgIDxkaXYgY2xhc3M9InNpemVkVG9HcmlkQXJlYSBmaXJzdFJvd0ZpcnN0Q29sdW1u
IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI1MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjUwIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBjbGFzcz0ic2l6ZWRUb0dyaWRBcmVhIHNlY29uZFJvd0ZpcnN0Q29s
dW1uIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI1MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjI1Ij48
L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0ic2l6ZWRUb0dyaWRBcmVhIHRoaXJkUm93Rmlyc3RD
b2x1bW4iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjUwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iNTAi
PjwvZGl2PgorICAgIDwvZGl2PgorPC9kaXY+CisKKzwhLS0gTm90IGVub3VnaCBzcGFjZSB0byBy
ZXBzZWN0IHByb3BvcnRpb25zLCBiZWNhdXNlIG1pblRyYWNrQnJlYWRoIGl0J3MgYSBoYXJkZXIg
cmVxdWlyZW1lbnQgLS0+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMTBweDsgaGVpZ2h0OiAyNzVweDsi
PgorICAgIDxkaXYgY2xhc3M9ImdyaWQgZ3JpZFJlc3BlY3RCYXNlU2l6ZUJlZm9yZVByb3BvcnRp
b25zIiBzdHlsZT0iaGVpZ2h0OiAxMDAlOyI+CisgICAgICAgIDxkaXYgY2xhc3M9InNpemVkVG9H
cmlkQXJlYSBmaXJzdFJvd0ZpcnN0Q29sdW1uIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI1MCIgZGF0
YS1leHBlY3RlZC1oZWlnaHQ9IjUwIj48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0ic2l6ZWRU
b0dyaWRBcmVhIHNlY29uZFJvd0ZpcnN0Q29sdW1uIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI1MCIg
ZGF0YS1leHBlY3RlZC1oZWlnaHQ9Ijc1Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0ic2l6
ZWRUb0dyaWRBcmVhIHRoaXJkUm93Rmlyc3RDb2x1bW4iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjUw
IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTUwIj48L2Rpdj4KKyAgICA8L2Rpdj4KKzwvZGl2Pgor
Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMTBweDsgaGVpZ2h0OiAyNzVweDsiPgorICAgIDxkaXYgY2xh
c3M9ImdyaWQgZ3JpZFJlc3BlY3RCYXNlU2l6ZUJlZm9yZVByb3BvcnRpb25zIj4KKyAgICAgICAg
PGRpdiBjbGFzcz0ic2l6ZWRUb0dyaWRBcmVhIGZpcnN0Um93Rmlyc3RDb2x1bW4iIGRhdGEtZXhw
ZWN0ZWQtd2lkdGg9IjUwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iNTAiPjwvZGl2PgorICAgICAg
ICA8ZGl2IGNsYXNzPSJzaXplZFRvR3JpZEFyZWEgc2Vjb25kUm93Rmlyc3RDb2x1bW4iIGRhdGEt
ZXhwZWN0ZWQtd2lkdGg9IjUwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMjUiPjwvZGl2PgorICAg
ICAgICA8ZGl2IGNsYXNzPSJzaXplZFRvR3JpZEFyZWEgdGhpcmRSb3dGaXJzdENvbHVtbiIgZGF0
YS1leHBlY3RlZC13aWR0aD0iNTAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI1MCI+PC9kaXY+CiAg
ICAgPC9kaXY+CiA8L2Rpdj4KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>262007</attachid>
            <date>2015-09-28 05:23:06 -0700</date>
            <delta_ts>2015-09-29 04:23:42 -0700</delta_ts>
            <desc>Using LayoutUnit instead of plain double types.</desc>
            <filename>bug-148944-20150928142243.patch</filename>
            <type>text/plain</type>
            <size>28174</size>
            <attacher name="Javier Fernandez">jfernandez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg5OTgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWQyNWRhNGMwN2M2MGVl
ZjYzZThkNjUxYzJmZWMzZTQ3NzYzYjYwMi4uMmY5MzFhZGM3NDA1ZjEzMDYwMDZmN2QwN2ZlMDRi
YjY0NzYzYjNiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE1LTA5LTA5ICBKYXZp
ZXIgRmVybmFuZGV6ICA8amZlcm5hbmRlekBpZ2FsaWEuY29tPgorCisgICAgICAgIFtDU1MgR3Jp
ZCBMYXlvdXRdIEZsZXggdHJhY2tzIHNpemluZyBhbGcgbXVzdCBoYW5kbGUgMGZyIHZhbHVlcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ4OTQ0CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgZG9uJ3Qg
YWxsb3cgMCBhcyBmbGV4aWJsZSBzaXplIHZhbHVlLCB3aGljaCBpcyBub3QgZm9sbG93aW5nIGN1
cnJlbnQKKyAgICAgICAgc3BlY3M7IGl0IGp1c3Qgc3RhdGVzIHRoYXQgaXQgbXVzdCBiZSBhIHBv
c2l0aXZlIHZhbHVlLiBUaGlzIHBhdGNoCisgICAgICAgIGFkZHMgc3VjaCBjaGFuZ2UgaW4gdGhl
IHBhcnNlciBidXQgc29tZSBhZGRpdGlvbmFsIGxvZ2ljIG11c3QgYmUgYWRkZWQKKyAgICAgICAg
YXMgd2VsbCB0byBoYW5kbGUgMCB2YWx1ZXMgZHVyaW5nIHRoZSBmbGV4IHRyYWNrcyBzaXppbmcg
YWxnb3JpdGhtLgorCisgICAgICAgIFRoZSBvbGQgYWxnb3JpdGhtIGRpZG4ndCB0YWtlIDAgdmFs
dWVzIGludG8gYWNjb3VudCwgc28gdGhlcmUgaXMgdGhlIHJpc2sKKyAgICAgICAgb2YgZGl2aXNp
b24gYnkgemVyby4gQWRkaXRpb25hbGx5LCBpdCB3YXMgbm90IGhhbmRsaW5nIGZyYWN0aW9uIHZh
bHVlcworICAgICAgICBpbiB0aGUgYmVzdCB3YXkuIFRoZSBsYXN0IHZlcnNpb25zIG9mIHRoZSBz
cGVjIGNoYW5nZWQgdGhpcyBhbGdvcml0aG0gaW4KKyAgICAgICAgb3JkZXIgdG8gaGFuZGxlIGZy
YWN0aW9uIHZhbHVlcyBzbyB0aGF0IHRoZXkgZG9uJ3QgY2F1c2UgZXhwb25lbnRpYWwKKyAgICAg
ICAgZ3JvdyBvZiB0cmFja3MgdXNpbmcgdmFsdWVzIGJpZ2dlciB0aGFuIDEuCisKKyAgICAgICAg
VGhpcyBwYXRjaCBpbXBsZW1lbnRzIGFsc28gc3VjaCBuZXcgYWxnb3JpdGhtLCBzbyB3ZSBjYW4g
ZGVhbCBub3Qgb25seQorICAgICAgICB3aXRoIDAgdmFsdWVzLCBidXQgbWFuYWdpbmcgZnJhY3Rp
b24gdmFsdWVzIHByb3Blcmx5LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywganVzdCBzb21lIGFk
ZGl0aW9uYWwgdGVzdCBjYXNlcyBhbmQgc29tZSBvZiB0aGVtIHJlYmFzZWxpbmVkLgorCisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bm9ybWFs
aXplZEZsZXhGcmFjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJHcmlkOjpjb21wdXRl
VXNlZEJyZWFkdGhPZkdyaWRUcmFja3MpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6
ZmluZEZyVW5pdFNpemUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6R3JpZEl0ZXJh
dG9yOjpHcmlkSXRlcmF0b3IpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3Jp
ZDo6Y29tcHV0ZVVzZWRCcmVhZHRoT2ZNaW5MZW5ndGgpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyR3JpZDo6aGFzRGVmaW5pdGVMb2dpY2FsU2l6ZSk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJHcmlkOjpncmlkVHJhY2tTaXplKTogRGVsZXRlZC4KKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyR3JpZC5oOgorCiAyMDE1LTA5LTE4ICBFcmljIENhcmxzb24g
IDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFtNZWRpYVN0cmVhbV0gRmluaXNo
IGltcGxlbWVudGluZyBNZWRpYURldmljZXMuZW51bWVyYXRlRGV2aWNlcwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwCmluZGV4IDA3ZDk5ZmQ1N2U0OWY2YzdkYjNmYTEzMjM5
ZTE2NWQyNWRjNzRiOGQuLmFlZjk3ZTMwMDkyNWEwNTQ3ODZjYTVkMjhjZTNjYzM0ZjBiNTZjYjMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAKQEAgLTExNiwxOSArMTE2
LDYgQEAgcHJpdmF0ZToKICAgICBib29sIG1faW5maW5pdGVseUdyb3dhYmxlIHsgZmFsc2UgfTsK
IH07CiAKLXN0cnVjdCBHcmlkVHJhY2tGb3JOb3JtYWxpemF0aW9uIHsKLSAgICBHcmlkVHJhY2tG
b3JOb3JtYWxpemF0aW9uKGNvbnN0IEdyaWRUcmFjayYgdHJhY2ssIGRvdWJsZSBmbGV4KQotICAg
ICAgICA6IG1fdHJhY2soJnRyYWNrKQotICAgICAgICAsIG1fZmxleChmbGV4KQotICAgICAgICAs
IG1fbm9ybWFsaXplZEZsZXhWYWx1ZSh0cmFjay5iYXNlU2l6ZSgpIC8gZmxleCkKLSAgICB7Ci0g
ICAgfQotCi0gICAgY29uc3QgR3JpZFRyYWNrKiBtX3RyYWNrOwotICAgIGRvdWJsZSBtX2ZsZXg7
Ci0gICAgTGF5b3V0VW5pdCBtX25vcm1hbGl6ZWRGbGV4VmFsdWU7Ci19OwotCiBjbGFzcyBSZW5k
ZXJHcmlkOjpHcmlkSXRlcmF0b3IgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdyaWRJdGVy
YXRvcik7CiBwdWJsaWM6CkBAIC0zNjksNiArMzU2LDExIEBAIGJvb2wgUmVuZGVyR3JpZDo6Z3Jp
ZEVsZW1lbnRJc1Nocmlua1RvRml0KCkKICAgICByZXR1cm4gaXNGbG9hdGluZ09yT3V0T2ZGbG93
UG9zaXRpb25lZCgpOwogfQogCitzdGF0aWMgaW5saW5lIGRvdWJsZSBub3JtYWxpemVkRmxleEZy
YWN0aW9uKGNvbnN0IEdyaWRUcmFjayYgdHJhY2ssIGRvdWJsZSBmbGV4RmFjdG9yKQoreworICAg
IHJldHVybiBmbGV4RmFjdG9yID4gMSA/IHRyYWNrLmJhc2VTaXplKCkgLyBmbGV4RmFjdG9yIDog
dHJhY2suYmFzZVNpemUoKS50b0RvdWJsZSgpOworfQorCiB2b2lkIFJlbmRlckdyaWQ6OmNvbXB1
dGVVc2VkQnJlYWR0aE9mR3JpZFRyYWNrcyhHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24gZGlyZWN0
aW9uLCBHcmlkU2l6aW5nRGF0YSYgc2l6aW5nRGF0YSwgTGF5b3V0VW5pdCYgYXZhaWxhYmxlTG9n
aWNhbFNwYWNlKQogewogICAgIGNvbnN0IExheW91dFVuaXQgaW5pdGlhbEF2YWlsYWJsZUxvZ2lj
YWxTcGFjZSA9IGF2YWlsYWJsZUxvZ2ljYWxTcGFjZTsKQEAgLTQyOSwxNCArNDIxLDEyIEBAIHZv
aWQgUmVuZGVyR3JpZDo6Y29tcHV0ZVVzZWRCcmVhZHRoT2ZHcmlkVHJhY2tzKEdyaWRUcmFja1Np
emluZ0RpcmVjdGlvbiBkaXJlY3RpCiAgICAgICAgIHJldHVybjsKIAogICAgIC8vIDQuIEdyb3cg
YWxsIEdyaWQgdHJhY2tzIGhhdmluZyBhIGZyYWN0aW9uIGFzIHRoZSBNYXhUcmFja1NpemluZ0Z1
bmN0aW9uLgotICAgIGRvdWJsZSBub3JtYWxpemVkRnJhY3Rpb25CcmVhZHRoID0gMDsKKyAgICBk
b3VibGUgZmxleEZyYWN0aW9uID0gMDsKICAgICBpZiAoIWhhc1VuZGVmaW5lZFJlbWFpbmluZ1Nw
YWNlKQotICAgICAgICBub3JtYWxpemVkRnJhY3Rpb25CcmVhZHRoID0gY29tcHV0ZU5vcm1hbGl6
ZWRGcmFjdGlvbkJyZWFkdGgodHJhY2tzLCBHcmlkU3BhbigwLCB0cmFja3Muc2l6ZSgpIC0gMSks
IGRpcmVjdGlvbiwgaW5pdGlhbEF2YWlsYWJsZUxvZ2ljYWxTcGFjZSk7CisgICAgICAgIGZsZXhG
cmFjdGlvbiA9IGZpbmRGbGV4RmFjdG9yVW5pdFNpemUodHJhY2tzLCBHcmlkU3BhbigwLCB0cmFj
a3Muc2l6ZSgpIC0gMSksIGRpcmVjdGlvbiwgaW5pdGlhbEF2YWlsYWJsZUxvZ2ljYWxTcGFjZSk7
CiAgICAgZWxzZSB7Ci0gICAgICAgIGZvciAoYXV0byB0cmFja0luZGV4IDogZmxleGlibGVTaXpl
ZFRyYWNrc0luZGV4KSB7Ci0gICAgICAgICAgICBjb25zdCBHcmlkVHJhY2tTaXplJiB0cmFja1Np
emUgPSBncmlkVHJhY2tTaXplKGRpcmVjdGlvbiwgdHJhY2tJbmRleCk7Ci0gICAgICAgICAgICBu
b3JtYWxpemVkRnJhY3Rpb25CcmVhZHRoID0gc3RkOjptYXgobm9ybWFsaXplZEZyYWN0aW9uQnJl
YWR0aCwgdHJhY2tzW3RyYWNrSW5kZXhdLmJhc2VTaXplKCkgLyB0cmFja1NpemUubWF4VHJhY2tC
cmVhZHRoKCkuZmxleCgpKTsKLSAgICAgICAgfQorICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIHRy
YWNrSW5kZXggOiBmbGV4aWJsZVNpemVkVHJhY2tzSW5kZXgpCisgICAgICAgICAgICBmbGV4RnJh
Y3Rpb24gPSBzdGQ6Om1heChmbGV4RnJhY3Rpb24sIG5vcm1hbGl6ZWRGbGV4RnJhY3Rpb24odHJh
Y2tzW3RyYWNrSW5kZXhdLCBncmlkVHJhY2tTaXplKGRpcmVjdGlvbiwgdHJhY2tJbmRleCkubWF4
VHJhY2tCcmVhZHRoKCkuZmxleCgpKSk7CiAKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsg
aSA8IGZsZXhpYmxlU2l6ZWRUcmFja3NJbmRleC5zaXplKCk7ICsraSkgewogICAgICAgICAgICAg
R3JpZEl0ZXJhdG9yIGl0ZXJhdG9yKG1fZ3JpZCwgZGlyZWN0aW9uLCBmbGV4aWJsZVNpemVkVHJh
Y2tzSW5kZXhbaV0pOwpAQCAtNDQ4LDggKzQzOCw4IEBAIHZvaWQgUmVuZGVyR3JpZDo6Y29tcHV0
ZVVzZWRCcmVhZHRoT2ZHcmlkVHJhY2tzKEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiBkaXJlY3Rp
CiAgICAgICAgICAgICAgICAgaWYgKGkgPiAwICYmIHNwYW4ucmVzb2x2ZWRJbml0aWFsUG9zaXRp
b24udG9JbnQoKSA8PSBmbGV4aWJsZVNpemVkVHJhY2tzSW5kZXhbaSAtIDFdKQogICAgICAgICAg
ICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICAgICAgICAgIGRvdWJsZSBpdGVtTm9ybWFs
aXplZEZsZXhCcmVhZHRoID0gY29tcHV0ZU5vcm1hbGl6ZWRGcmFjdGlvbkJyZWFkdGgodHJhY2tz
LCBzcGFuLCBkaXJlY3Rpb24sIG1heENvbnRlbnRGb3JDaGlsZCgqZ3JpZEl0ZW0sIGRpcmVjdGlv
biwgc2l6aW5nRGF0YS5jb2x1bW5UcmFja3MpKTsKLSAgICAgICAgICAgICAgICBub3JtYWxpemVk
RnJhY3Rpb25CcmVhZHRoID0gc3RkOjptYXgobm9ybWFsaXplZEZyYWN0aW9uQnJlYWR0aCwgaXRl
bU5vcm1hbGl6ZWRGbGV4QnJlYWR0aCk7CisgICAgICAgICAgICAgICAgZG91YmxlIGl0ZW1GbGV4
RnJhY3Rpb24gPSBmaW5kRmxleEZhY3RvclVuaXRTaXplKHRyYWNrcywgc3BhbiwgZGlyZWN0aW9u
LCBtYXhDb250ZW50Rm9yQ2hpbGQoKmdyaWRJdGVtLCBkaXJlY3Rpb24sIHNpemluZ0RhdGEuY29s
dW1uVHJhY2tzKSk7CisgICAgICAgICAgICAgICAgZmxleEZyYWN0aW9uID0gc3RkOjptYXgoZmxl
eEZyYWN0aW9uLCBpdGVtRmxleEZyYWN0aW9uKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQog
ICAgIH0KQEAgLTQ1Nyw3ICs0NDcsNyBAQCB2b2lkIFJlbmRlckdyaWQ6OmNvbXB1dGVVc2VkQnJl
YWR0aE9mR3JpZFRyYWNrcyhHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24gZGlyZWN0aQogICAgIGZv
ciAoYXV0byB0cmFja0luZGV4IDogZmxleGlibGVTaXplZFRyYWNrc0luZGV4KSB7CiAgICAgICAg
IGNvbnN0IEdyaWRUcmFja1NpemUmIHRyYWNrU2l6ZSA9IGdyaWRUcmFja1NpemUoZGlyZWN0aW9u
LCB0cmFja0luZGV4KTsKICAgICAgICAgR3JpZFRyYWNrJiB0cmFjayA9IHRyYWNrc1t0cmFja0lu
ZGV4XTsKLSAgICAgICAgTGF5b3V0VW5pdCBiYXNlU2l6ZSA9IHN0ZDo6bWF4PExheW91dFVuaXQ+
KHRyYWNrLmJhc2VTaXplKCksIG5vcm1hbGl6ZWRGcmFjdGlvbkJyZWFkdGggKiB0cmFja1NpemUu
bWF4VHJhY2tCcmVhZHRoKCkuZmxleCgpKTsKKyAgICAgICAgTGF5b3V0VW5pdCBiYXNlU2l6ZSA9
IHN0ZDo6bWF4PExheW91dFVuaXQ+KHRyYWNrLmJhc2VTaXplKCksIGZsZXhGcmFjdGlvbiAqIHRy
YWNrU2l6ZS5tYXhUcmFja0JyZWFkdGgoKS5mbGV4KCkpOwogICAgICAgICB0cmFjay5zZXRCYXNl
U2l6ZShiYXNlU2l6ZSk7CiAgICAgICAgIGF2YWlsYWJsZUxvZ2ljYWxTcGFjZSAtPSBiYXNlU2l6
ZTsKICAgICB9CkBAIC01MDAsNTcgKzQ5MCw1NiBAQCBMYXlvdXRVbml0IFJlbmRlckdyaWQ6OmNv
bXB1dGVVc2VkQnJlYWR0aE9mU3BlY2lmaWVkTGVuZ3RoKEdyaWRUcmFja1NpemluZ0RpcmVjdAog
ICAgIHJldHVybiB2YWx1ZUZvckxlbmd0aCh0cmFja0xlbmd0aCwgY29tcHV0ZUNvbnRlbnRMb2dp
Y2FsSGVpZ2h0KE1haW5PclByZWZlcnJlZFNpemUsIHN0eWxlKCkubG9naWNhbEhlaWdodCgpLCBO
dWxsb3B0KS52YWx1ZU9yKDApKTsKIH0KIAotZG91YmxlIFJlbmRlckdyaWQ6OmNvbXB1dGVOb3Jt
YWxpemVkRnJhY3Rpb25CcmVhZHRoKFZlY3RvcjxHcmlkVHJhY2s+JiB0cmFja3MsIGNvbnN0IEdy
aWRTcGFuJiB0cmFja3NTcGFuLCBHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24gZGlyZWN0aW9uLCBM
YXlvdXRVbml0IHNwYWNlVG9GaWxsKSBjb25zdAorZG91YmxlIFJlbmRlckdyaWQ6OmNvbXB1dGVG
bGV4RmFjdG9yVW5pdFNpemUoY29uc3QgVmVjdG9yPEdyaWRUcmFjaz4mIHRyYWNrcywgR3JpZFRy
YWNrU2l6aW5nRGlyZWN0aW9uIGRpcmVjdGlvbiwgZG91YmxlIGZsZXhGYWN0b3JTdW0sIExheW91
dFVuaXQgbGVmdE92ZXJTcGFjZSwgY29uc3QgVmVjdG9yPHNpemVfdCwgOD4mIGZsZXhpYmxlVHJh
Y2tzSW5kZXhlcywgc3RkOjp1bmlxdWVfcHRyPFRyYWNrSW5kZXhTZXQ+IHRyYWNrc1RvVHJlYXRB
c0luZmxleGlibGUpIGNvbnN0CiB7Ci0gICAgTGF5b3V0VW5pdCBhbGxvY2F0ZWRTcGFjZTsKLSAg
ICBWZWN0b3I8R3JpZFRyYWNrRm9yTm9ybWFsaXphdGlvbj4gdHJhY2tzRm9yTm9ybWFsaXphdGlv
bjsKLSAgICBmb3IgKGF1dG8mIHBvc2l0aW9uIDogdHJhY2tzU3BhbikgewotICAgICAgICBHcmlk
VHJhY2smIHRyYWNrID0gdHJhY2tzW3Bvc2l0aW9uLnRvSW50KCldOwotICAgICAgICBhbGxvY2F0
ZWRTcGFjZSArPSB0cmFjay5iYXNlU2l6ZSgpOworICAgIC8vIFdlIHdhbnQgdG8gYXZvaWQgdGhl
IGVmZmVjdCBvZiBmbGV4IGZhY3RvcnMgc3VtIGJlbG93IDEgbWFraW5nIHRoZSBmYWN0b3IgdW5p
dCBzaXplIHRvIGdyb3cgZXhwb25lbnRpYWxseS4KKyAgICBkb3VibGUgaHlwb3RoZXRpY2FsRmFj
dG9yVW5pdFNpemUgPSBsZWZ0T3ZlclNwYWNlIC8gc3RkOjptYXgoMS4wLCBmbGV4RmFjdG9yU3Vt
KTsKIAotICAgICAgICBjb25zdCBHcmlkVHJhY2tTaXplJiB0cmFja1NpemUgPSBncmlkVHJhY2tT
aXplKGRpcmVjdGlvbiwgcG9zaXRpb24udG9JbnQoKSk7Ci0gICAgICAgIGlmICghdHJhY2tTaXpl
Lm1heFRyYWNrQnJlYWR0aCgpLmlzRmxleCgpKQorICAgIC8vIHByb2R1Y3Qgb2YgdGhlIGh5cG90
aGV0aWNhbCAiZmxleCBmYWN0b3IgdW5pdCIgYW5kIGFueSBmbGV4aWJsZSB0cmFjaydzICJmbGV4
IGZhY3RvciIgbXVzdCBiZSBncmF0ZXIgdGhhbiBzdWNoIHRyYWNrJ3MgImJhc2Ugc2l6ZSIuCisg
ICAgYm9vbCB2YWxpZEZsZXhGYWN0b3JVbml0ID0gdHJ1ZTsKKyAgICBmb3IgKGF1dG8gaW5kZXgg
OiBmbGV4aWJsZVRyYWNrc0luZGV4ZXMpIHsKKyAgICAgICAgaWYgKHRyYWNrc1RvVHJlYXRBc0lu
ZmxleGlibGUgJiYgdHJhY2tzVG9UcmVhdEFzSW5mbGV4aWJsZS0+Y29udGFpbnMoaW5kZXgpKQog
ICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgdHJhY2tzRm9yTm9ybWFsaXphdGlvbi5h
cHBlbmQoR3JpZFRyYWNrRm9yTm9ybWFsaXphdGlvbih0cmFjaywgdHJhY2tTaXplLm1heFRyYWNr
QnJlYWR0aCgpLmZsZXgoKSkpOworICAgICAgICBMYXlvdXRVbml0IGJhc2VTaXplID0gdHJhY2tz
W2luZGV4XS5iYXNlU2l6ZSgpOworICAgICAgICBkb3VibGUgZmxleEZhY3RvciA9IGdyaWRUcmFj
a1NpemUoZGlyZWN0aW9uLCBpbmRleCkubWF4VHJhY2tCcmVhZHRoKCkuZmxleCgpOworICAgICAg
ICAvLyB0cmVhdGluZyBhbGwgc3VjaCB0cmFja3MgYXMgaW5mbGV4aWJsZS4KKyAgICAgICAgaWYg
KGJhc2VTaXplID4gaHlwb3RoZXRpY2FsRmFjdG9yVW5pdFNpemUgKiBmbGV4RmFjdG9yKSB7Cisg
ICAgICAgICAgICBsZWZ0T3ZlclNwYWNlIC09IGJhc2VTaXplOworICAgICAgICAgICAgZmxleEZh
Y3RvclN1bSAtPSBmbGV4RmFjdG9yOworICAgICAgICAgICAgaWYgKCF0cmFja3NUb1RyZWF0QXNJ
bmZsZXhpYmxlKQorICAgICAgICAgICAgICAgIHRyYWNrc1RvVHJlYXRBc0luZmxleGlibGUgPSBz
dGQ6OnVuaXF1ZV9wdHI8VHJhY2tJbmRleFNldD4obmV3IFRyYWNrSW5kZXhTZXQoKSk7CisgICAg
ICAgICAgICB0cmFja3NUb1RyZWF0QXNJbmZsZXhpYmxlLT5hZGQoaW5kZXgpOworICAgICAgICAg
ICAgdmFsaWRGbGV4RmFjdG9yVW5pdCA9IGZhbHNlOworICAgICAgICB9CiAgICAgfQorICAgIGlm
ICghdmFsaWRGbGV4RmFjdG9yVW5pdCkKKyAgICAgICAgcmV0dXJuIGNvbXB1dGVGbGV4RmFjdG9y
VW5pdFNpemUodHJhY2tzLCBkaXJlY3Rpb24sIGZsZXhGYWN0b3JTdW0sIGxlZnRPdmVyU3BhY2Us
IGZsZXhpYmxlVHJhY2tzSW5kZXhlcywgV1RGOjptb3ZlKHRyYWNrc1RvVHJlYXRBc0luZmxleGli
bGUpKTsKKyAgICByZXR1cm4gaHlwb3RoZXRpY2FsRmFjdG9yVW5pdFNpemU7Cit9CiAKLSAgICAv
LyBUaGUgZnVuY3Rpb24gaXMgbm90IGNhbGxlZCBpZiB3ZSBkb24ndCBoYXZlIDxmbGV4PiBncmlk
IHRyYWNrcwotICAgIEFTU0VSVCghdHJhY2tzRm9yTm9ybWFsaXphdGlvbi5pc0VtcHR5KCkpOwot
Ci0gICAgc3RkOjpzb3J0KHRyYWNrc0Zvck5vcm1hbGl6YXRpb24uYmVnaW4oKSwgdHJhY2tzRm9y
Tm9ybWFsaXphdGlvbi5lbmQoKSwKLSAgICAgICAgICAgICAgW10oY29uc3QgR3JpZFRyYWNrRm9y
Tm9ybWFsaXphdGlvbiYgdHJhY2sxLCBjb25zdCBHcmlkVHJhY2tGb3JOb3JtYWxpemF0aW9uJiB0
cmFjazIpIHsKLSAgICAgICAgICAgICAgICAgIHJldHVybiB0cmFjazEubV9ub3JtYWxpemVkRmxl
eFZhbHVlIDwgdHJhY2syLm1fbm9ybWFsaXplZEZsZXhWYWx1ZTsKLSAgICAgICAgICAgICAgfSk7
Ci0KLSAgICAvLyBUaGVzZSB2YWx1ZXMgd29yayB0b2dldGhlcjogYXMgd2Ugd2FsayBvdmVyIG91
ciBncmlkIHRyYWNrcywgd2UgaW5jcmVhc2UgZnJhY3Rpb25WYWx1ZUJhc2VkT25HcmlkSXRlbXNS
YXRpbwotICAgIC8vIHRvIG1hdGNoIGEgZ3JpZCB0cmFjaydzIHVzZWRCcmVhZHRoIHRvIDxmbGV4
PiByYXRpbyB1bnRpbCB0aGUgdG90YWwgZnJhY3Rpb25zIHNpemVkIGdyaWQgdHJhY2tzIHdvdWxk
bid0Ci0gICAgLy8gZml0IGludG8gYXZhaWxhYmxlTG9naWNhbFNwYWNlSWdub3JpbmdGcmFjdGlv
blRyYWNrcy4KLSAgICBkb3VibGUgYWNjdW11bGF0ZWRGcmFjdGlvbnMgPSAwOwotICAgIExheW91
dFVuaXQgZnJhY3Rpb25WYWx1ZUJhc2VkT25HcmlkSXRlbXNSYXRpbyA9IDA7Ci0gICAgTGF5b3V0
VW5pdCBhdmFpbGFibGVMb2dpY2FsU3BhY2VJZ25vcmluZ0ZyYWN0aW9uVHJhY2tzID0gc3BhY2VU
b0ZpbGwgLSBhbGxvY2F0ZWRTcGFjZTsKLQotICAgIGZvciAoYXV0byYgdHJhY2sgOiB0cmFja3NG
b3JOb3JtYWxpemF0aW9uKSB7Ci0gICAgICAgIGlmICh0cmFjay5tX25vcm1hbGl6ZWRGbGV4VmFs
dWUgPiBmcmFjdGlvblZhbHVlQmFzZWRPbkdyaWRJdGVtc1JhdGlvKSB7Ci0gICAgICAgICAgICAv
LyBJZiB0aGUgbm9ybWFsaXplZCBmbGV4IHZhbHVlICh3ZSBvcmRlcmVkIHx0cmFja3NGb3JOb3Jt
YWxpemF0aW9ufCBieSBpbmNyZWFzaW5nIG5vcm1hbGl6ZWQgZmxleCB2YWx1ZSkKLSAgICAgICAg
ICAgIC8vIHdpbGwgbWFrZSB1cyBvdmVyZmxvdyBvdXIgY29udGFpbmVyLCB0aGVuIHN0b3AuIFdl
IGhhdmUgdGhlIHByZXZpb3VzIHN0ZXAncyByYXRpbyBpcyB0aGUgYmVzdCBmaXQuCi0gICAgICAg
ICAgICBpZiAodHJhY2subV9ub3JtYWxpemVkRmxleFZhbHVlICogYWNjdW11bGF0ZWRGcmFjdGlv
bnMgPiBhdmFpbGFibGVMb2dpY2FsU3BhY2VJZ25vcmluZ0ZyYWN0aW9uVHJhY2tzKQotICAgICAg
ICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgICAgICBmcmFjdGlvblZhbHVlQmFzZWRPbkdyaWRJ
dGVtc1JhdGlvID0gdHJhY2subV9ub3JtYWxpemVkRmxleFZhbHVlOwotICAgICAgICB9Citkb3Vi
bGUgUmVuZGVyR3JpZDo6ZmluZEZsZXhGYWN0b3JVbml0U2l6ZShjb25zdCBWZWN0b3I8R3JpZFRy
YWNrPiYgdHJhY2tzLCBjb25zdCBHcmlkU3BhbiYgdHJhY2tzU3BhbiwgR3JpZFRyYWNrU2l6aW5n
RGlyZWN0aW9uIGRpcmVjdGlvbiwgTGF5b3V0VW5pdCBsZWZ0T3ZlclNwYWNlKSBjb25zdAorewor
ICAgIGlmIChsZWZ0T3ZlclNwYWNlIDw9IDApCisgICAgICAgIHJldHVybiAwOwogCi0gICAgICAg
IGFjY3VtdWxhdGVkRnJhY3Rpb25zICs9IHRyYWNrLm1fZmxleDsKLSAgICAgICAgLy8gVGhpcyBp
dGVtIHdhcyBwcm9jZXNzZWQgc28gd2UgcmUtYWRkIGl0cyB1c2VkIGJyZWFkdGggdG8gdGhlIGF2
YWlsYWJsZSBzcGFjZSB0byBhY2N1cmF0ZWx5IGNvdW50IHRoZSByZW1haW5pbmcgc3BhY2UuCi0g
ICAgICAgIGF2YWlsYWJsZUxvZ2ljYWxTcGFjZUlnbm9yaW5nRnJhY3Rpb25UcmFja3MgKz0gdHJh
Y2subV90cmFjay0+YmFzZVNpemUoKTsKKyAgICBkb3VibGUgZmxleEZhY3RvclN1bSA9IDA7Cisg
ICAgVmVjdG9yPHNpemVfdCwgOD4gZmxleGlibGVUcmFja3NJbmRleGVzOworICAgIGZvciAoY29u
c3QgYXV0byYgcmVzb2x2ZWRQb3NpdGlvbiA6IHRyYWNrc1NwYW4pIHsKKyAgICAgICAgc2l6ZV90
IHRyYWNrSW5kZXggPSByZXNvbHZlZFBvc2l0aW9uLnRvSW50KCk7CisgICAgICAgIEdyaWRUcmFj
a1NpemUgdHJhY2tTaXplID0gZ3JpZFRyYWNrU2l6ZShkaXJlY3Rpb24sIHRyYWNrSW5kZXgpOwor
ICAgICAgICBpZiAoIXRyYWNrU2l6ZS5tYXhUcmFja0JyZWFkdGgoKS5pc0ZsZXgoKSkKKyAgICAg
ICAgICAgIGxlZnRPdmVyU3BhY2UgLT0gdHJhY2tzW3RyYWNrSW5kZXhdLmJhc2VTaXplKCk7Cisg
ICAgICAgIGVsc2UgeworICAgICAgICAgICAgZG91YmxlIGZsZXhGYWN0b3IgPSB0cmFja1NpemUu
bWF4VHJhY2tCcmVhZHRoKCkuZmxleCgpOworICAgICAgICAgICAgZmxleGlibGVUcmFja3NJbmRl
eGVzLmFwcGVuZCh0cmFja0luZGV4KTsKKyAgICAgICAgICAgIGZsZXhGYWN0b3JTdW0gKz0gZmxl
eEZhY3RvcjsKKyAgICAgICAgfQogICAgIH0KIAotICAgIC8vIExldCBmbGV4IGZhY3RvciBzdW0g
YmUgdGhlIHN1bSBvZiB0aGUgZmxleCBmYWN0b3JzIG9mIHRoZSBmbGV4aWJsZSB0cmFja3MuIElm
IHRoaXMgdmFsdWUKLSAgICAvLyBpcyBsZXNzIHRoYW4gMSwgc2V0IGl0IHRvIDEgaW5zdGVhZC4K
LSAgICBpZiAoYWNjdW11bGF0ZWRGcmFjdGlvbnMgPCAxKQotICAgICAgICByZXR1cm4gYXZhaWxh
YmxlTG9naWNhbFNwYWNlSWdub3JpbmdGcmFjdGlvblRyYWNrczsKKyAgICAvLyBUaGUgZnVuY3Rp
b24gaXMgbm90IGNhbGxlZCBpZiB3ZSBkb24ndCBoYXZlIDxmbGV4PiBncmlkIHRyYWNrcworICAg
IEFTU0VSVCghZmxleGlibGVUcmFja3NJbmRleGVzLmlzRW1wdHkoKSk7CiAKLSAgICByZXR1cm4g
YXZhaWxhYmxlTG9naWNhbFNwYWNlSWdub3JpbmdGcmFjdGlvblRyYWNrcyAvIGFjY3VtdWxhdGVk
RnJhY3Rpb25zOworICAgIHJldHVybiBjb21wdXRlRmxleEZhY3RvclVuaXRTaXplKHRyYWNrcywg
ZGlyZWN0aW9uLCBmbGV4RmFjdG9yU3VtLCBsZWZ0T3ZlclNwYWNlLCBmbGV4aWJsZVRyYWNrc0lu
ZGV4ZXMpOwogfQogCiBib29sIFJlbmRlckdyaWQ6Omhhc0RlZmluaXRlTG9naWNhbFNpemUoR3Jp
ZFRyYWNrU2l6aW5nRGlyZWN0aW9uIGRpcmVjdGlvbikgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyR3JpZC5oCmluZGV4IGVlNzFmZGU2ZWU5M2E0ZTNmNWZhYmY5ZmE5ZDVlNDNhYjhj
MTU1M2IuLjQ4YzczNTIwZjg1ZjNlMWI3N2M0NDYyNjMzNjFkYTgyY2QzODZjNmMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuaApAQCAtMTEzLDcgKzExMyw5IEBAIHByaXZhdGU6
CiAgICAgdGVtcGxhdGUgPFRyYWNrU2l6ZUNvbXB1dGF0aW9uUGhhc2U+IHZvaWQgcmVzb2x2ZUNv
bnRlbnRCYXNlZFRyYWNrU2l6aW5nRnVuY3Rpb25zRm9ySXRlbXMoR3JpZFRyYWNrU2l6aW5nRGly
ZWN0aW9uLCBHcmlkU2l6aW5nRGF0YSYsIGNvbnN0IEdyaWRJdGVtc1NwYW5Hcm91cFJhbmdlJik7
CiAgICAgdGVtcGxhdGUgPFRyYWNrU2l6ZUNvbXB1dGF0aW9uUGhhc2U+IHZvaWQgZGlzdHJpYnV0
ZVNwYWNlVG9UcmFja3MoVmVjdG9yPEdyaWRUcmFjayo+JiwgY29uc3QgVmVjdG9yPEdyaWRUcmFj
ayo+KiBncm93QmV5b25kR3Jvd3RoTGltaXRzVHJhY2tzLCBMYXlvdXRVbml0JiBhdmFpbGFibGVM
b2dpY2FsU3BhY2UpOwogCi0gICAgZG91YmxlIGNvbXB1dGVOb3JtYWxpemVkRnJhY3Rpb25CcmVh
ZHRoKFZlY3RvcjxHcmlkVHJhY2s+JiwgY29uc3QgR3JpZFNwYW4mIHRyYWNrc1NwYW4sIEdyaWRU
cmFja1NpemluZ0RpcmVjdGlvbiwgTGF5b3V0VW5pdCBhdmFpbGFibGVMb2dpY2FsU3BhY2UpIGNv
bnN0OworICAgIHR5cGVkZWYgSGFzaFNldDx1bnNpZ25lZCwgRGVmYXVsdEhhc2g8dW5zaWduZWQ+
OjpIYXNoLCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPHVuc2lnbmVkPj4gVHJh
Y2tJbmRleFNldDsKKyAgICBkb3VibGUgY29tcHV0ZUZsZXhGYWN0b3JVbml0U2l6ZShjb25zdCBW
ZWN0b3I8R3JpZFRyYWNrPiYsIEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiwgZG91YmxlIGZsZXhG
YWN0b3JTdW0sIExheW91dFVuaXQgbGVmdE92ZXJTcGFjZSwgY29uc3QgVmVjdG9yPHNpemVfdCwg
OD4mIGZsZXhpYmxlVHJhY2tzSW5kZXhlcywgc3RkOjp1bmlxdWVfcHRyPFRyYWNrSW5kZXhTZXQ+
IHRyYWNrc1RvVHJlYXRBc0luZmxleGlibGUgPSBudWxscHRyKSBjb25zdDsKKyAgICBkb3VibGUg
ZmluZEZsZXhGYWN0b3JVbml0U2l6ZShjb25zdCBWZWN0b3I8R3JpZFRyYWNrPiYsIGNvbnN0IEdy
aWRTcGFuJiwgR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uLCBMYXlvdXRVbml0IHNwYWNlVG9GaWxs
KSBjb25zdDsKIAogICAgIEdyaWRUcmFja1NpemUgZ3JpZFRyYWNrU2l6ZShHcmlkVHJhY2tTaXpp
bmdEaXJlY3Rpb24sIHVuc2lnbmVkKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGVmOWQ2NTMxZDMzYzQ2MGIy
M2JjZjVhMjdkYjZlODk3MGUyZTE3YWYuLmNkZjY0NGEwYzU5ZmVhY2U1ODdiMWI4NjkwMjkwNmI2
MThiMDk2OTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxNS0wOS0wOSAgSmF2aWVyIEZlcm5h
bmRleiAgPGpmZXJuYW5kZXpAaWdhbGlhLmNvbT4KKworICAgICAgICBbQ1NTIEdyaWQgTGF5b3V0
XSBGbGV4IHRyYWNrcyBzaXppbmcgYWxnIG11c3QgaGFuZGxlIDBmciB2YWx1ZXMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0ODk0NAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFsbG93IDAgYXMgZmxleCBm
YWN0b3IgdmFsdWUgYW5kIGltcGxlbWVudCB0aGUgbmV3IGZsZXggdHJhY2sgc2l6aW5nIGFsZ29y
aXRobS4KKworICAgICAgICAqIGZhc3QvY3NzLWdyaWQtbGF5b3V0L2ZsZXgtYW5kLW1pbm1heC1j
b250ZW50LXJlc29sdXRpb24tcm93cy5odG1sOgorICAgICAgICAqIGZhc3QvY3NzLWdyaWQtbGF5
b3V0L2ZsZXgtY29udGVudC1yZXNvbHV0aW9uLWNvbHVtbnMtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIGZhc3QvY3NzLWdyaWQtbGF5b3V0L2ZsZXgtY29udGVudC1yZXNvbHV0aW9uLWNvbHVtbnMu
aHRtbDoKKyAgICAgICAgKiBmYXN0L2Nzcy1ncmlkLWxheW91dC9mbGV4LWNvbnRlbnQtcmVzb2x1
dGlvbi1yb3dzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2Nzcy1ncmlkLWxheW91dC9m
bGV4LWNvbnRlbnQtcmVzb2x1dGlvbi1yb3dzLmh0bWw6CisKIDIwMTUtMDktMTggIEpha2UgTmll
bHNlbiAgPGphY29iX25pZWxzZW5AYXBwbGUuY29tPgogCiAgICAgICAgIGxpbmUtYnJlYWstbGFu
Z3VhZ2Utc2Vuc2l0aXZlIHRlc3RzIHNob3VsZCBiZSBtYXJrZWQgYXMgZmxha3kKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2ZsZXgtYW5kLW1pbm1heC1jb250
ZW50LXJlc29sdXRpb24tcm93cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlv
dXQvZmxleC1hbmQtbWlubWF4LWNvbnRlbnQtcmVzb2x1dGlvbi1yb3dzLmh0bWwKaW5kZXggNjli
M2ZlZTIwZmMxOTM4MDU0ZDU2MWRkYjU1YTk2ZDU5ZTkwNTRhOS4uZjE2ZWJkNjJiYzBlYjE2MTUx
ZmNkZTQ4YzA5NmJkZjU4NGEyMGQ0MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3Mt
Z3JpZC1sYXlvdXQvZmxleC1hbmQtbWlubWF4LWNvbnRlbnQtcmVzb2x1dGlvbi1yb3dzLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZmxleC1hbmQtbWlubWF4LWNv
bnRlbnQtcmVzb2x1dGlvbi1yb3dzLmh0bWwKQEAgLTEyMCw2ICsxMjAsNyBAQAogICAgIDwvZGl2
PgogPC9kaXY+CiAKKzwhLS0gV2Ugbm9ybWFsaXplIGZyYWN0aW9uIGZsZXggZmFjdG9ycyB0byAx
LCBzbyB3ZSBkb24ndCBrZWVwIGV4YWN0IHByb3BvcnRpb25zIHdpdGggPjEgZmFjdG9ycy4gLS0+
CiA8ZGl2IHN0eWxlPSJ3aWR0aDogMTBweDsgaGVpZ2h0OiA2MHB4OyI+CiAgICAgPGRpdiBjbGFz
cz0iZ3JpZCBncmlkV2l0aEludHJpbnNpY1NpemVCaWdnZXJUaGFuRmxleCIgc3R5bGU9ImhlaWdo
dDogMTAwJSI+CiAgICAgICAgIDxkaXYgY2xhc3M9InNpemVkVG9HcmlkQXJlYSBmaXJzdFJvd0Zp
cnN0Q29sdW1uIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI1MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9
IjQwIj5YWFhYWCBYWFhYWCBYWFhYWCBYWFhYWDwvZGl2PgpAQCAtMTI3LDEwICsxMjgsMTEgQEAK
ICAgICA8L2Rpdj4KIDwvZGl2PgogCis8IS0tIFdlIG5vcm1hbGl6ZSBmcmFjdGlvbiBmbGV4IGZh
Y3RvcnMgdG8gMSwgc28gd2UgZG9uJ3Qga2VlcCBleGFjdCBwcm9wb3J0aW9ucyB3aXRoID4xIGZh
Y3RvcnMuIC0tPgogPGRpdiBzdHlsZT0id2lkdGg6IDEwcHg7IGhlaWdodDogNjBweDsiPgogICAg
IDxkaXYgY2xhc3M9ImdyaWQgZ3JpZFdpdGhJbnRyaW5zaWNTaXplQmlnZ2VyVGhhbkZsZXgiPgog
ICAgICAgICA8ZGl2IGNsYXNzPSJzaXplZFRvR3JpZEFyZWEgZmlyc3RSb3dGaXJzdENvbHVtbiIg
ZGF0YS1leHBlY3RlZC13aWR0aD0iNTAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI0MCI+WFhYWFgg
WFhYWFggWFhYWFggWFhYWFg8L2Rpdj4KLSAgICAgICAgPGRpdiBjbGFzcz0ic2l6ZWRUb0dyaWRB
cmVhIHNlY29uZFJvd0ZpcnN0Q29sdW1uIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI1MCIgZGF0YS1l
eHBlY3RlZC1oZWlnaHQ9IjE2MCI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InNpemVkVG9H
cmlkQXJlYSBzZWNvbmRSb3dGaXJzdENvbHVtbiIgZGF0YS1leHBlY3RlZC13aWR0aD0iNTAiIGRh
dGEtZXhwZWN0ZWQtaGVpZ2h0PSI4MCI+PC9kaXY+CiAgICAgPC9kaXY+CiA8L2Rpdj4KIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZmxleC1jb250ZW50LXJl
c29sdXRpb24tY29sdW1ucy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlk
LWxheW91dC9mbGV4LWNvbnRlbnQtcmVzb2x1dGlvbi1jb2x1bW5zLWV4cGVjdGVkLnR4dAppbmRl
eCAxMWNhMzI2NGQzODQyYjQxMWQ1NDYzYmVhODNiYmQzOThmMDU4ODg1Li5mMGY5ZDJhOWYyNTg4
ZmQwOGI4MTBhNzlhYjg5NjZlZjljNTMxN2NhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2Nzcy1ncmlkLWxheW91dC9mbGV4LWNvbnRlbnQtcmVzb2x1dGlvbi1jb2x1bW5zLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9mbGV4LWNvbnRlbnQt
cmVzb2x1dGlvbi1jb2x1bW5zLWV4cGVjdGVkLnR4dApAQCAtMTMsMyArMTMsOCBAQCBQQVNTCiBQ
QVNTCiBQQVNTCiBQQVNTCitQQVNTCitQQVNTCitQQVNTCitQQVNTCitQQVNTCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9mbGV4LWNvbnRlbnQtcmVzb2x1dGlv
bi1jb2x1bW5zLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9mbGV4LWNv
bnRlbnQtcmVzb2x1dGlvbi1jb2x1bW5zLmh0bWwKaW5kZXggYjgzNTBhMTk5MTk1OGQ4NDBkZjM1
M2Y5MTkxMzgzY2Y0ZjYwODFhOS4uNTRiNTA2OTkyMjJjNjZjYzQxNGU5NWQ2YTFlYTMwYzEyODg4
MzlmZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZmxleC1j
b250ZW50LXJlc29sdXRpb24tY29sdW1ucy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3Nz
LWdyaWQtbGF5b3V0L2ZsZXgtY29udGVudC1yZXNvbHV0aW9uLWNvbHVtbnMuaHRtbApAQCAtNiw2
ICs2LDEwIEBACiAgICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgxZnIs
IDUwcHgpOwogICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dzOiA1MHB4OwogfQorLmdyaWRa
ZXJvRmxleENvbnRlbnQgeworICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5t
YXgoMWZyLCAwcHgpOworICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dzOiA1MHB4OworfQog
LmdyaWRNYXhGbGV4Q29udGVudCB7CiAgICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWNvbHVtbnM6
IG1pbm1heCgzMHB4LCAyZnIpOwogICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dzOiA1MHB4
OwpAQCAtMjIsNiArMjYsMjcgQEAKICAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGUtY29sdW1uczog
bWlubWF4KDMwMHB4LCAzZnIpIG1pbm1heCgxNTBweCwgMWZyKTsKICAgICAtd2Via2l0LWdyaWQt
dGVtcGxhdGUtcm93czogNTBweDsKIH0KKy5ncmlkUmVzcGVjdEJhc2VTaXplIHsKKyAgICAtd2Vi
a2l0LWdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDc1cHgsIDFmcikgbWlubWF4KDBweCwg
MmZyKTsKKyAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGUtcm93czogNTBweDsKK30KKy5ncmlkUmVz
cGVjdFByb3BvcnRpb25zIHsKKyAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlu
bWF4KDBweCwgLjI1ZnIpIG1pbm1heCgwcHgsIC41ZnIpIG1pbm1heCgwcHgsIDJmcik7CisgICAg
LXdlYmtpdC1ncmlkLXRlbXBsYXRlLXJvd3M6IDUwcHg7Cit9CisuZ3JpZFJlc3BlY3RCYXNlU2l6
ZVByb3BvcnRpb25zIHsKKyAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4
KDUwcHgsIC4yNWZyKSBtaW5tYXgoMHB4LCAuNWZyKSBtaW5tYXgoMHB4LCAxZnIpOworICAgIC13
ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dzOiA1MHB4OworfQorLmdyaWRSZXNwZWN0QmFzZVNpemVC
ZWZvcmVQcm9wb3J0aW9ucyB7CisgICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1p
bm1heCg1MHB4LCAuMjVmcikgbWlubWF4KDBweCwgLjVmcikgbWlubWF4KDBweCwgMWZyKTsKKyAg
ICAtd2Via2l0LWdyaWQtdGVtcGxhdGUtcm93czogNTBweDsKK30KKy5maXJzdFJvd1RoaXJkQ29s
dW1uIHsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiB5ZWxsb3c7CisgICAgLXdlYmtpdC1ncmlkLWNv
bHVtbjogMzsKKyAgICAtd2Via2l0LWdyaWQtcm93OiAxOworfQogPC9zdHlsZT4KIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvY2hlY2stbGF5b3V0LmpzIj48L3NjcmlwdD4KIDxib2R5IG9u
bG9hZD0iY2hlY2tMYXlvdXQoJy5ncmlkJyk7Ij4KQEAgLTM0LDYgKzU5LDEyIEBACiAgICAgPC9k
aXY+CiA8L2Rpdj4KIAorPGRpdiBzdHlsZT0id2lkdGg6IDEwMHB4Ij4KKyAgICA8ZGl2IGNsYXNz
PSJncmlkIGdyaWRaZXJvRmxleENvbnRlbnQiPgorICAgICAgICA8ZGl2IGNsYXNzPSJzaXplZFRv
R3JpZEFyZWEgZmlyc3RSb3dGaXJzdENvbHVtbiIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCIgZGF0
YS1leHBlY3RlZC1oZWlnaHQ9IjUwIj48L2Rpdj4KKyAgICA8L2Rpdj4KKzwvZGl2PgorCiA8IS0t
IEFsbG93IHRoZSBleHRyYSBsb2dpY2FsIHNwYWNlIGRpc3RyaWJ1dGlvbiB0byBvY2N1ci4gLS0+
CiA8ZGl2IHN0eWxlPSJ3aWR0aDogNDBweDsgaGVpZ2h0OiAxMHB4Ij4KICAgICA8ZGl2IGNsYXNz
PSJncmlkIGdyaWRNaW5GbGV4Q29udGVudCI+CkBAIC0xMjEsNSArMTUyLDQwIEBACiAgICAgPC9k
aXY+CiA8L2Rpdj4KIAorPCEtLSBGbGV4IHRyYWNrIGxlbmd0aCBtdXN0IGJlIGF0IGxlYXN0IGl0
cyBiYXNlU2l6ZS4gLS0+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMTAwcHg7IGhlaWdodDogMTBweDsi
PgorICAgIDxkaXYgY2xhc3M9ImdyaWQgZ3JpZFJlc3BlY3RCYXNlU2l6ZSI+CisgICAgICAgIDxk
aXYgY2xhc3M9InNpemVkVG9HcmlkQXJlYSBmaXJzdFJvd0ZpcnN0Q29sdW1uIiBkYXRhLWV4cGVj
dGVkLXdpZHRoPSI3NSIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjUwIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBjbGFzcz0ic2l6ZWRUb0dyaWRBcmVhIGZpcnN0Um93U2Vjb25kQ29sdW1uIiBkYXRhLWV4
cGVjdGVkLXdpZHRoPSIyNSIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjUwIj48L2Rpdj4KKyAgICA8
L2Rpdj4KKzwvZGl2PgorCis8IS0tIEZsZXggdHJhY2sgbGVuZ3RocyBtdXN0IGJlIHByb3BvcnRp
b25hbCB0byB0aGVpciBmbGV4IGZhY3RvcnMuLiAtLT4KKzxkaXYgc3R5bGU9IndpZHRoOiAyNzVw
eDsgaGVpZ2h0OiAxMHB4OyI+CisgICAgPGRpdiBjbGFzcz0iZ3JpZCBncmlkUmVzcGVjdFByb3Bv
cnRpb25zIj4KKyAgICAgICAgPGRpdiBjbGFzcz0ic2l6ZWRUb0dyaWRBcmVhIGZpcnN0Um93Rmly
c3RDb2x1bW4iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjI1IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0i
NTAiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJzaXplZFRvR3JpZEFyZWEgZmlyc3RSb3dT
ZWNvbmRDb2x1bW4iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjUwIiBkYXRhLWV4cGVjdGVkLWhlaWdo
dD0iNTAiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJzaXplZFRvR3JpZEFyZWEgZmlyc3RS
b3dUaGlyZENvbHVtbiIgZGF0YS1leHBlY3RlZC13aWR0aD0iMjAwIiBkYXRhLWV4cGVjdGVkLWhl
aWdodD0iNTAiPjwvZGl2PgorICAgIDwvZGl2PgorPC9kaXY+CisKKzwhLS0gRmxleCB0cmFjayBs
ZW5ndGhzIG11c3QgYmUgcHJvcG9ydGlvbmFsIGJ1dCBzdGlsbCByZXNwZWN0aW5nIHRoZWlyIGJh
c2Ugc2l6ZXMuIC0tPgorPGRpdiBzdHlsZT0id2lkdGg6IDM1MHB4OyBoZWlnaHQ6IDEwcHg7Ij4K
KyAgICA8ZGl2IGNsYXNzPSJncmlkIGdyaWRSZXNwZWN0QmFzZVNpemVQcm9wb3J0aW9ucyI+Cisg
ICAgICAgIDxkaXYgY2xhc3M9InNpemVkVG9HcmlkQXJlYSBmaXJzdFJvd0ZpcnN0Q29sdW1uIiBk
YXRhLWV4cGVjdGVkLXdpZHRoPSI1MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjUwIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBjbGFzcz0ic2l6ZWRUb0dyaWRBcmVhIGZpcnN0Um93U2Vjb25kQ29sdW1u
IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIxMDAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI1MCI+PC9k
aXY+CisgICAgICAgIDxkaXYgY2xhc3M9InNpemVkVG9HcmlkQXJlYSBmaXJzdFJvd1RoaXJkQ29s
dW1uIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIyMDAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI1MCI+
PC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKworPCEtLSBOb3QgZW5vdWdoIHNwYWNlIHRvIHJl
cHNlY3QgcHJvcG9ydGlvbnMsIGJlY2F1c2UgbWluVHJhY2tCcmVhZGggaXQncyBhIGhhcmRlciBy
ZXF1aXJlbWVudCAtLT4KKzxkaXYgc3R5bGU9IndpZHRoOiAyNzVweDsgaGVpZ2h0OiAxMHB4OyI+
CisgICAgPGRpdiBjbGFzcz0iZ3JpZCBncmlkUmVzcGVjdEJhc2VTaXplQmVmb3JlUHJvcG9ydGlv
bnMiPgorICAgICAgICA8ZGl2IGNsYXNzPSJzaXplZFRvR3JpZEFyZWEgZmlyc3RSb3dGaXJzdENv
bHVtbiIgZGF0YS1leHBlY3RlZC13aWR0aD0iNTAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI1MCI+
PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InNpemVkVG9HcmlkQXJlYSBmaXJzdFJvd1NlY29u
ZENvbHVtbiIgZGF0YS1leHBlY3RlZC13aWR0aD0iNzUiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI1
MCI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InNpemVkVG9HcmlkQXJlYSBmaXJzdFJvd1Ro
aXJkQ29sdW1uIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIxNTAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0
PSI1MCI+PC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKwogPC9ib2R5PgogPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZmxleC1jb250ZW50LXJl
c29sdXRpb24tcm93cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxh
eW91dC9mbGV4LWNvbnRlbnQtcmVzb2x1dGlvbi1yb3dzLWV4cGVjdGVkLnR4dAppbmRleCA4OTFl
ZjU1ZjE5ZWFkYWUxM2I0NTJiZmE5NTAwZWVlZTJiZGMwNmZlLi42YWZlMjk2YmQ2YjRkODBiMjFi
ZTU0MjhmNTBhOGY2N2YxYzJhZjk5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1n
cmlkLWxheW91dC9mbGV4LWNvbnRlbnQtcmVzb2x1dGlvbi1yb3dzLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9mbGV4LWNvbnRlbnQtcmVzb2x1dGlv
bi1yb3dzLWV4cGVjdGVkLnR4dApAQCAtMjIsMyArMjIsMTAgQEAgUEFTUwogUEFTUwogUEFTUwog
UEFTUworUEFTUworUEFTUworUEFTUworUEFTUworUEFTUworUEFTUworUEFTUwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZmxleC1jb250ZW50LXJlc29sdXRp
b24tcm93cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZmxleC1jb250
ZW50LXJlc29sdXRpb24tcm93cy5odG1sCmluZGV4IGUxY2E5YzZhNDk5NGViYmY4YzFlMWIxNjE3
MzU0YmYxM2EwNWNlMDcuLmUxZDI1NTliMDc1ZTFhMjgwZDNhMGQ4ZjFlMTBlNzQwZDZhMWU4NTAg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2ZsZXgtY29udGVu
dC1yZXNvbHV0aW9uLXJvd3MuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxh
eW91dC9mbGV4LWNvbnRlbnQtcmVzb2x1dGlvbi1yb3dzLmh0bWwKQEAgLTYsNiArNiwxMCBAQAog
ICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA1MHB4OwogICAgIC13ZWJraXQtZ3Jp
ZC10ZW1wbGF0ZS1yb3dzOiBtaW5tYXgoMWZyLCA1MHB4KTsKIH0KKy5ncmlkWmVyb0ZsZXhDb250
ZW50IHsKKyAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGUtY29sdW1uczogNTBweDsKKyAgICAtd2Vi
a2l0LWdyaWQtdGVtcGxhdGUtcm93czogbWlubWF4KDFmciwgMHB4KTsKK30KIC5ncmlkTWF4Rmxl
eENvbnRlbnQgewogICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA1MHB4OwogICAg
IC13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dzOiBtaW5tYXgoMzBweCwgMmZyKTsKQEAgLTE4LDYg
KzIyLDI3IEBACiAgICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDUwcHg7CiAgICAg
LXdlYmtpdC1ncmlkLXRlbXBsYXRlLXJvd3M6IG1pbm1heCgxMHB4LCAwLjVmcikgbWlubWF4KDEw
cHgsIDJmcik7CiB9CisuZ3JpZFJlc3BlY3RCYXNlU2l6ZSB7CisgICAgLXdlYmtpdC1ncmlkLXRl
bXBsYXRlLWNvbHVtbnM6IDUwcHg7CisgICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlLXJvd3M6IG1p
bm1heCg3NXB4LCAxZnIpIG1pbm1heCgwcHgsIDJmcik7Cit9CisuZ3JpZFJlc3BlY3RQcm9wb3J0
aW9ucyB7CisgICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDUwcHg7CisgICAgLXdl
YmtpdC1ncmlkLXRlbXBsYXRlLXJvd3M6IG1pbm1heCgyNXB4LCAuMjVmcikgbWlubWF4KDBweCwg
LjVmcikgbWlubWF4KDBweCwgMmZyKTsKK30KKy5ncmlkUmVzcGVjdEJhc2VTaXplUHJvcG9ydGlv
bnMgeworICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA1MHB4OworICAgIC13ZWJr
aXQtZ3JpZC10ZW1wbGF0ZS1yb3dzOiBtaW5tYXgoNTBweCwgLjI1ZnIpIG1pbm1heCgwcHgsIC41
ZnIpIG1pbm1heCgwcHgsIDFmcik7Cit9CisuZ3JpZFJlc3BlY3RCYXNlU2l6ZUJlZm9yZVByb3Bv
cnRpb25zIHsKKyAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGUtY29sdW1uczogNTBweDsKKyAgICAt
d2Via2l0LWdyaWQtdGVtcGxhdGUtcm93czogbWlubWF4KDUwcHgsIC4yNWZyKSBtaW5tYXgoMHB4
LCAuNWZyKSBtaW5tYXgoMHB4LCAxZnIpOworfQorLnRoaXJkUm93Rmlyc3RDb2x1bW4geworICAg
IGJhY2tncm91bmQtY29sb3I6IHllbGxvdzsKKyAgICAtd2Via2l0LWdyaWQtY29sdW1uOiAxOwor
ICAgIC13ZWJraXQtZ3JpZC1yb3c6IDM7Cit9CiA8L3N0eWxlPgogPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9jaGVjay1sYXlvdXQuanMiPjwvc2NyaXB0PgogPGJvZHkgb25sb2FkPSJjaGVj
a0xheW91dCgnLmdyaWQnKTsiPgpAQCAtMzEsNiArNTYsMTIgQEAKIDwvZGl2PgogCiA8ZGl2IHN0
eWxlPSJoZWlnaHQ6IDBweCI+CisgICAgPGRpdiBjbGFzcz0iZ3JpZCBncmlkWmVyb0ZsZXhDb250
ZW50Ij4KKyAgICAgICAgPGRpdiBjbGFzcz0ic2l6ZWRUb0dyaWRBcmVhIGZpcnN0Um93Rmlyc3RD
b2x1bW4iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjUwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCI+
PC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKworPGRpdiBzdHlsZT0iaGVpZ2h0OiAwcHgiPgog
ICAgIDxkaXYgY2xhc3M9ImdyaWQgZ3JpZE1pbkZsZXhDb250ZW50Ij4KICAgICAgICAgPGRpdiBj
bGFzcz0ic2l6ZWRUb0dyaWRBcmVhIGZpcnN0Um93Rmlyc3RDb2x1bW4iIGRhdGEtZXhwZWN0ZWQt
d2lkdGg9IjUwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iNTAiPjwvZGl2PgogICAgIDwvZGl2PgpA
QCAtMTM3LDEwICsxNjgsMTEgQEAKICAgICA8L2Rpdj4KIDwvZGl2PgogCis8IS0tIFdlIG5vcm1h
bGl6ZSBmcmFjdGlvbiBmbGV4IGZhY3RvcnMgdG8gMSwgc28gd2UgZG9uJ3Qga2VlcCBleGFjdCBw
cm9wb3J0aW9ucyB3aXRoID4xIGZhY3RvcnMuIC0tPgogPGRpdiBjbGFzcz0iY29uc3RyYWluZWRD
b250YWluZXIiPgogICAgIDxkaXYgY2xhc3M9ImdyaWQgZ3JpZFR3b0RvdWJsZU1heEZsZXhDb250
ZW50Ij4KICAgICAgICAgPGRpdiBjbGFzcz0ic2l6ZWRUb0dyaWRBcmVhIGZpcnN0Um93Rmlyc3RD
b2x1bW4iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjUwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTAi
PjwvZGl2PgotICAgICAgICA8ZGl2IGNsYXNzPSJzaXplZFRvR3JpZEFyZWEgc2Vjb25kUm93Rmly
c3RDb2x1bW4iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjUwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0i
NDAiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJzaXplZFRvR3JpZEFyZWEgc2Vjb25kUm93
Rmlyc3RDb2x1bW4iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjUwIiBkYXRhLWV4cGVjdGVkLWhlaWdo
dD0iMjAiPjwvZGl2PgogICAgIDwvZGl2PgogPC9kaXY+CiAKQEAgLTE1MiwxMCArMTg0LDExIEBA
CiAgICAgPC9kaXY+CiA8L2Rpdj4KIAorPCEtLSBXZSBub3JtYWxpemUgZnJhY3Rpb24gZmxleCBm
YWN0b3JzIHRvIDEsIHNvIHdlIGRvbid0IGtlZXAgZXhhY3QgcHJvcG9ydGlvbnMgd2l0aCA+MSBm
YWN0b3JzLiAtLT4KIDxkaXYgc3R5bGU9IndpZHRoOiAxMHB4OyBoZWlnaHQ6IDYwcHgiPgogICAg
IDxkaXYgY2xhc3M9ImdyaWQgZ3JpZFR3b0RvdWJsZU1heEZsZXhDb250ZW50Ij4KICAgICAgICAg
PGRpdiBjbGFzcz0ic2l6ZWRUb0dyaWRBcmVhIGZpcnN0Um93Rmlyc3RDb2x1bW4iIGRhdGEtZXhw
ZWN0ZWQtd2lkdGg9IjUwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTAiPjwvZGl2PgotICAgICAg
ICA8ZGl2IGNsYXNzPSJzaXplZFRvR3JpZEFyZWEgc2Vjb25kUm93Rmlyc3RDb2x1bW4iIGRhdGEt
ZXhwZWN0ZWQtd2lkdGg9IjUwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iNDAiPjwvZGl2PgorICAg
ICAgICA8ZGl2IGNsYXNzPSJzaXplZFRvR3JpZEFyZWEgc2Vjb25kUm93Rmlyc3RDb2x1bW4iIGRh
dGEtZXhwZWN0ZWQtd2lkdGg9IjUwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMjAiPjwvZGl2Pgog
ICAgIDwvZGl2PgogPC9kaXY+CiAKQEAgLTE2NiwxMCArMTk5LDYyIEBACiAgICAgPC9kaXY+CiA8
L2Rpdj4KIAorPCEtLSBXZSBub3JtYWxpemUgZnJhY3Rpb24gZmxleCBmYWN0b3JzIHRvIDEsIHNv
IHdlIGRvbid0IGtlZXAgZXhhY3QgcHJvcG9ydGlvbnMgd2l0aCA+MSBmYWN0b3JzLiAtLT4KIDxk
aXYgc3R5bGU9IndpZHRoOiAxMHB4OyBoZWlnaHQ6IDEyMHB4OyI+CiAgICAgPGRpdiBjbGFzcz0i
Z3JpZCBncmlkVHdvRG91YmxlTWF4RmxleENvbnRlbnQiPgogICAgICAgICA8ZGl2IGNsYXNzPSJz
aXplZFRvR3JpZEFyZWEgZmlyc3RSb3dGaXJzdENvbHVtbiIgZGF0YS1leHBlY3RlZC13aWR0aD0i
NTAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIxMCI+PC9kaXY+Ci0gICAgICAgIDxkaXYgY2xhc3M9
InNpemVkVG9HcmlkQXJlYSBzZWNvbmRSb3dGaXJzdENvbHVtbiIgZGF0YS1leHBlY3RlZC13aWR0
aD0iNTAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI0MCI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xh
c3M9InNpemVkVG9HcmlkQXJlYSBzZWNvbmRSb3dGaXJzdENvbHVtbiIgZGF0YS1leHBlY3RlZC13
aWR0aD0iNTAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIyMCI+PC9kaXY+CisgICAgPC9kaXY+Cis8
L2Rpdj4KKworPCEtLSBGbGV4IHRyYWNrIGxlbmd0aHMgbXVzdCBiZSBwcm9wb3J0aW9uYWwgdG8g
dGhlaXIgZmxleCBmYWN0b3JzLi4gLS0+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMTBweDsgaGVpZ2h0
OiAyNzVweDsiPgorICAgIDxkaXYgY2xhc3M9ImdyaWQgZ3JpZFJlc3BlY3RQcm9wb3J0aW9ucyIg
c3R5bGU9ImhlaWdodDogMTAwJTsiPgorICAgICAgICA8ZGl2IGNsYXNzPSJzaXplZFRvR3JpZEFy
ZWEgZmlyc3RSb3dGaXJzdENvbHVtbiIgZGF0YS1leHBlY3RlZC13aWR0aD0iNTAiIGRhdGEtZXhw
ZWN0ZWQtaGVpZ2h0PSIyNSI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InNpemVkVG9Hcmlk
QXJlYSBzZWNvbmRSb3dGaXJzdENvbHVtbiIgZGF0YS1leHBlY3RlZC13aWR0aD0iNTAiIGRhdGEt
ZXhwZWN0ZWQtaGVpZ2h0PSI1MCI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InNpemVkVG9H
cmlkQXJlYSB0aGlyZFJvd0ZpcnN0Q29sdW1uIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI1MCIgZGF0
YS1leHBlY3RlZC1oZWlnaHQ9IjIwMCI+PC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKworPGRp
diBzdHlsZT0id2lkdGg6IDEwcHg7IGhlaWdodDogMjc1cHg7Ij4KKyAgICA8ZGl2IGNsYXNzPSJn
cmlkIGdyaWRSZXNwZWN0UHJvcG9ydGlvbnMiPgorICAgICAgICA8ZGl2IGNsYXNzPSJzaXplZFRv
R3JpZEFyZWEgZmlyc3RSb3dGaXJzdENvbHVtbiIgZGF0YS1leHBlY3RlZC13aWR0aD0iNTAiIGRh
dGEtZXhwZWN0ZWQtaGVpZ2h0PSIyNSI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InNpemVk
VG9HcmlkQXJlYSBzZWNvbmRSb3dGaXJzdENvbHVtbiIgZGF0YS1leHBlY3RlZC13aWR0aD0iNTAi
IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIxMyI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InNp
emVkVG9HcmlkQXJlYSB0aGlyZFJvd0ZpcnN0Q29sdW1uIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI1
MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjUwIj48L2Rpdj4KKyAgICA8L2Rpdj4KKzwvZGl2Pgor
Cis8IS0tIEZsZXggdHJhY2sgbGVuZ3RocyBtdXN0IGJlIHByb3BvcnRpb25hbCBidXQgc3RpbGwg
cmVzcGVjdGluZyB0aGVpciBiYXNlIHNpemVzLiAtLT4KKzxkaXYgc3R5bGU9IndpZHRoOiAxMHB4
OyBoZWlnaHQ6IDM1MHB4OyI+CisgICAgPGRpdiBjbGFzcz0iZ3JpZCBncmlkUmVzcGVjdEJhc2VT
aXplUHJvcG9ydGlvbnMiIHN0eWxlPSJoZWlnaHQ6IDEwMCU7Ij4KKyAgICAgICAgPGRpdiBjbGFz
cz0ic2l6ZWRUb0dyaWRBcmVhIGZpcnN0Um93Rmlyc3RDb2x1bW4iIGRhdGEtZXhwZWN0ZWQtd2lk
dGg9IjUwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iNTAiPjwvZGl2PgorICAgICAgICA8ZGl2IGNs
YXNzPSJzaXplZFRvR3JpZEFyZWEgc2Vjb25kUm93Rmlyc3RDb2x1bW4iIGRhdGEtZXhwZWN0ZWQt
d2lkdGg9IjUwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTAwIj48L2Rpdj4KKyAgICAgICAgPGRp
diBjbGFzcz0ic2l6ZWRUb0dyaWRBcmVhIHRoaXJkUm93Rmlyc3RDb2x1bW4iIGRhdGEtZXhwZWN0
ZWQtd2lkdGg9IjUwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMjAwIj48L2Rpdj4KKyAgICA8L2Rp
dj4KKzwvZGl2PgorCis8ZGl2IHN0eWxlPSJ3aWR0aDogMTBweDsgaGVpZ2h0OiAzNTBweDsiPgor
ICAgIDxkaXYgY2xhc3M9ImdyaWQgZ3JpZFJlc3BlY3RCYXNlU2l6ZVByb3BvcnRpb25zIj4KKyAg
ICAgICAgPGRpdiBjbGFzcz0ic2l6ZWRUb0dyaWRBcmVhIGZpcnN0Um93Rmlyc3RDb2x1bW4iIGRh
dGEtZXhwZWN0ZWQtd2lkdGg9IjUwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iNTAiPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGNsYXNzPSJzaXplZFRvR3JpZEFyZWEgc2Vjb25kUm93Rmlyc3RDb2x1bW4i
IGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjUwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMjUiPjwvZGl2
PgorICAgICAgICA8ZGl2IGNsYXNzPSJzaXplZFRvR3JpZEFyZWEgdGhpcmRSb3dGaXJzdENvbHVt
biIgZGF0YS1leHBlY3RlZC13aWR0aD0iNTAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI1MCI+PC9k
aXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKworPCEtLSBOb3QgZW5vdWdoIHNwYWNlIHRvIHJlcHNl
Y3QgcHJvcG9ydGlvbnMsIGJlY2F1c2UgbWluVHJhY2tCcmVhZGggaXQncyBhIGhhcmRlciByZXF1
aXJlbWVudCAtLT4KKzxkaXYgc3R5bGU9IndpZHRoOiAxMHB4OyBoZWlnaHQ6IDI3NXB4OyI+Cisg
ICAgPGRpdiBjbGFzcz0iZ3JpZCBncmlkUmVzcGVjdEJhc2VTaXplQmVmb3JlUHJvcG9ydGlvbnMi
IHN0eWxlPSJoZWlnaHQ6IDEwMCU7Ij4KKyAgICAgICAgPGRpdiBjbGFzcz0ic2l6ZWRUb0dyaWRB
cmVhIGZpcnN0Um93Rmlyc3RDb2x1bW4iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjUwIiBkYXRhLWV4
cGVjdGVkLWhlaWdodD0iNTAiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJzaXplZFRvR3Jp
ZEFyZWEgc2Vjb25kUm93Rmlyc3RDb2x1bW4iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjUwIiBkYXRh
LWV4cGVjdGVkLWhlaWdodD0iNzUiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJzaXplZFRv
R3JpZEFyZWEgdGhpcmRSb3dGaXJzdENvbHVtbiIgZGF0YS1leHBlY3RlZC13aWR0aD0iNTAiIGRh
dGEtZXhwZWN0ZWQtaGVpZ2h0PSIxNTAiPjwvZGl2PgorICAgIDwvZGl2PgorPC9kaXY+CisKKzxk
aXYgc3R5bGU9IndpZHRoOiAxMHB4OyBoZWlnaHQ6IDI3NXB4OyI+CisgICAgPGRpdiBjbGFzcz0i
Z3JpZCBncmlkUmVzcGVjdEJhc2VTaXplQmVmb3JlUHJvcG9ydGlvbnMiPgorICAgICAgICA8ZGl2
IGNsYXNzPSJzaXplZFRvR3JpZEFyZWEgZmlyc3RSb3dGaXJzdENvbHVtbiIgZGF0YS1leHBlY3Rl
ZC13aWR0aD0iNTAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI1MCI+PC9kaXY+CisgICAgICAgIDxk
aXYgY2xhc3M9InNpemVkVG9HcmlkQXJlYSBzZWNvbmRSb3dGaXJzdENvbHVtbiIgZGF0YS1leHBl
Y3RlZC13aWR0aD0iNTAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIyNSI+PC9kaXY+CisgICAgICAg
IDxkaXYgY2xhc3M9InNpemVkVG9HcmlkQXJlYSB0aGlyZFJvd0ZpcnN0Q29sdW1uIiBkYXRhLWV4
cGVjdGVkLXdpZHRoPSI1MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjUwIj48L2Rpdj4KICAgICA8
L2Rpdj4KIDwvZGl2PgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>262063</attachid>
            <date>2015-09-29 04:23:49 -0700</date>
            <delta_ts>2015-09-29 04:36:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-148944-20150929132325.patch</filename>
            <type>text/plain</type>
            <size>28087</size>
            <attacher name="Javier Fernandez">jfernandez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg5OTgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWQyNWRhNGMwN2M2MGVl
ZjYzZThkNjUxYzJmZWMzZTQ3NzYzYjYwMi4uZGJmOTVhNjU5YmY0NTAxNGRmMjcxNDQ4N2JlMTEz
YTI1ZjQzOTA1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE1LTA5LTA5ICBKYXZp
ZXIgRmVybmFuZGV6ICA8amZlcm5hbmRlekBpZ2FsaWEuY29tPgorCisgICAgICAgIFtDU1MgR3Jp
ZCBMYXlvdXRdIEZsZXggdHJhY2tzIHNpemluZyBhbGcgbXVzdCBoYW5kbGUgMGZyIHZhbHVlcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ4OTQ0CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgV2UgZG9uJ3QgYWxs
b3cgMCBhcyBmbGV4aWJsZSBzaXplIHZhbHVlLCB3aGljaCBpcyBub3QgZm9sbG93aW5nIGN1cnJl
bnQKKyAgICAgICAgc3BlY3M7IGl0IGp1c3Qgc3RhdGVzIHRoYXQgaXQgbXVzdCBiZSBhIHBvc2l0
aXZlIHZhbHVlLiBUaGlzIHBhdGNoCisgICAgICAgIGFkZHMgc3VjaCBjaGFuZ2UgaW4gdGhlIHBh
cnNlciBidXQgc29tZSBhZGRpdGlvbmFsIGxvZ2ljIG11c3QgYmUgYWRkZWQKKyAgICAgICAgYXMg
d2VsbCB0byBoYW5kbGUgMCB2YWx1ZXMgZHVyaW5nIHRoZSBmbGV4IHRyYWNrcyBzaXppbmcgYWxn
b3JpdGhtLgorCisgICAgICAgIFRoZSBvbGQgYWxnb3JpdGhtIGRpZG4ndCB0YWtlIDAgdmFsdWVz
IGludG8gYWNjb3VudCwgc28gdGhlcmUgaXMgdGhlIHJpc2sKKyAgICAgICAgb2YgZGl2aXNpb24g
YnkgemVyby4gQWRkaXRpb25hbGx5LCBpdCB3YXMgbm90IGhhbmRsaW5nIGZyYWN0aW9uIHZhbHVl
cworICAgICAgICBpbiB0aGUgYmVzdCB3YXkuIFRoZSBsYXN0IHZlcnNpb25zIG9mIHRoZSBzcGVj
IGNoYW5nZWQgdGhpcyBhbGdvcml0aG0gaW4KKyAgICAgICAgb3JkZXIgdG8gaGFuZGxlIGZyYWN0
aW9uIHZhbHVlcyBzbyB0aGF0IHRoZXkgZG9uJ3QgY2F1c2UgZXhwb25lbnRpYWwKKyAgICAgICAg
Z3JvdyBvZiB0cmFja3MgdXNpbmcgdmFsdWVzIGJpZ2dlciB0aGFuIDEuCisKKyAgICAgICAgVGhp
cyBwYXRjaCBpbXBsZW1lbnRzIGFsc28gc3VjaCBuZXcgYWxnb3JpdGhtLCBzbyB3ZSBjYW4gZGVh
bCBub3Qgb25seQorICAgICAgICB3aXRoIDAgdmFsdWVzLCBidXQgbWFuYWdpbmcgZnJhY3Rpb24g
dmFsdWVzIHByb3Blcmx5LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywganVzdCBzb21lIGFkZGl0
aW9uYWwgdGVzdCBjYXNlcyBhbmQgc29tZSBvZiB0aGVtIHJlYmFzZWxpbmVkLgorCisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bm9ybWFsaXpl
ZEZsZXhGcmFjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJHcmlkOjpjb21wdXRlVXNl
ZEJyZWFkdGhPZkdyaWRUcmFja3MpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6Zmlu
ZEZyVW5pdFNpemUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6R3JpZEl0ZXJhdG9y
OjpHcmlkSXRlcmF0b3IpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6
Y29tcHV0ZVVzZWRCcmVhZHRoT2ZNaW5MZW5ndGgpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyR3JpZDo6aGFzRGVmaW5pdGVMb2dpY2FsU2l6ZSk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJHcmlkOjpncmlkVHJhY2tTaXplKTogRGVsZXRlZC4KKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyR3JpZC5oOgorCiAyMDE1LTA5LTE4ICBFcmljIENhcmxzb24gIDxl
cmljLmNhcmxzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFtNZWRpYVN0cmVhbV0gRmluaXNoIGlt
cGxlbWVudGluZyBNZWRpYURldmljZXMuZW51bWVyYXRlRGV2aWNlcwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckdyaWQuY3BwCmluZGV4IDA3ZDk5ZmQ1N2U0OWY2YzdkYjNmYTEzMjM5ZTE2
NWQyNWRjNzRiOGQuLjFlZDFmY2UyY2JjN2Y4N2Y3YmQ5MTVlNWM3YjZhYTNhYmVkNWEzM2YgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAKQEAgLTExNiwxOSArMTE2LDYg
QEAgcHJpdmF0ZToKICAgICBib29sIG1faW5maW5pdGVseUdyb3dhYmxlIHsgZmFsc2UgfTsKIH07
CiAKLXN0cnVjdCBHcmlkVHJhY2tGb3JOb3JtYWxpemF0aW9uIHsKLSAgICBHcmlkVHJhY2tGb3JO
b3JtYWxpemF0aW9uKGNvbnN0IEdyaWRUcmFjayYgdHJhY2ssIGRvdWJsZSBmbGV4KQotICAgICAg
ICA6IG1fdHJhY2soJnRyYWNrKQotICAgICAgICAsIG1fZmxleChmbGV4KQotICAgICAgICAsIG1f
bm9ybWFsaXplZEZsZXhWYWx1ZSh0cmFjay5iYXNlU2l6ZSgpIC8gZmxleCkKLSAgICB7Ci0gICAg
fQotCi0gICAgY29uc3QgR3JpZFRyYWNrKiBtX3RyYWNrOwotICAgIGRvdWJsZSBtX2ZsZXg7Ci0g
ICAgTGF5b3V0VW5pdCBtX25vcm1hbGl6ZWRGbGV4VmFsdWU7Ci19OwotCiBjbGFzcyBSZW5kZXJH
cmlkOjpHcmlkSXRlcmF0b3IgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdyaWRJdGVyYXRv
cik7CiBwdWJsaWM6CkBAIC0zNjksNiArMzU2LDExIEBAIGJvb2wgUmVuZGVyR3JpZDo6Z3JpZEVs
ZW1lbnRJc1Nocmlua1RvRml0KCkKICAgICByZXR1cm4gaXNGbG9hdGluZ09yT3V0T2ZGbG93UG9z
aXRpb25lZCgpOwogfQogCitzdGF0aWMgaW5saW5lIGRvdWJsZSBub3JtYWxpemVkRmxleEZyYWN0
aW9uKGNvbnN0IEdyaWRUcmFjayYgdHJhY2ssIGRvdWJsZSBmbGV4RmFjdG9yKQoreworICAgIHJl
dHVybiB0cmFjay5iYXNlU2l6ZSgpIC8gc3RkOjptYXg8ZG91YmxlPigxLCBmbGV4RmFjdG9yKTsK
K30KKwogdm9pZCBSZW5kZXJHcmlkOjpjb21wdXRlVXNlZEJyZWFkdGhPZkdyaWRUcmFja3MoR3Jp
ZFRyYWNrU2l6aW5nRGlyZWN0aW9uIGRpcmVjdGlvbiwgR3JpZFNpemluZ0RhdGEmIHNpemluZ0Rh
dGEsIExheW91dFVuaXQmIGF2YWlsYWJsZUxvZ2ljYWxTcGFjZSkKIHsKICAgICBjb25zdCBMYXlv
dXRVbml0IGluaXRpYWxBdmFpbGFibGVMb2dpY2FsU3BhY2UgPSBhdmFpbGFibGVMb2dpY2FsU3Bh
Y2U7CkBAIC00MjksMTQgKzQyMSwxMiBAQCB2b2lkIFJlbmRlckdyaWQ6OmNvbXB1dGVVc2VkQnJl
YWR0aE9mR3JpZFRyYWNrcyhHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24gZGlyZWN0aQogICAgICAg
ICByZXR1cm47CiAKICAgICAvLyA0LiBHcm93IGFsbCBHcmlkIHRyYWNrcyBoYXZpbmcgYSBmcmFj
dGlvbiBhcyB0aGUgTWF4VHJhY2tTaXppbmdGdW5jdGlvbi4KLSAgICBkb3VibGUgbm9ybWFsaXpl
ZEZyYWN0aW9uQnJlYWR0aCA9IDA7CisgICAgZG91YmxlIGZsZXhGcmFjdGlvbiA9IDA7CiAgICAg
aWYgKCFoYXNVbmRlZmluZWRSZW1haW5pbmdTcGFjZSkKLSAgICAgICAgbm9ybWFsaXplZEZyYWN0
aW9uQnJlYWR0aCA9IGNvbXB1dGVOb3JtYWxpemVkRnJhY3Rpb25CcmVhZHRoKHRyYWNrcywgR3Jp
ZFNwYW4oMCwgdHJhY2tzLnNpemUoKSAtIDEpLCBkaXJlY3Rpb24sIGluaXRpYWxBdmFpbGFibGVM
b2dpY2FsU3BhY2UpOworICAgICAgICBmbGV4RnJhY3Rpb24gPSBmaW5kRmxleEZhY3RvclVuaXRT
aXplKHRyYWNrcywgR3JpZFNwYW4oMCwgdHJhY2tzLnNpemUoKSAtIDEpLCBkaXJlY3Rpb24sIGlu
aXRpYWxBdmFpbGFibGVMb2dpY2FsU3BhY2UpOwogICAgIGVsc2UgewotICAgICAgICBmb3IgKGF1
dG8gdHJhY2tJbmRleCA6IGZsZXhpYmxlU2l6ZWRUcmFja3NJbmRleCkgewotICAgICAgICAgICAg
Y29uc3QgR3JpZFRyYWNrU2l6ZSYgdHJhY2tTaXplID0gZ3JpZFRyYWNrU2l6ZShkaXJlY3Rpb24s
IHRyYWNrSW5kZXgpOwotICAgICAgICAgICAgbm9ybWFsaXplZEZyYWN0aW9uQnJlYWR0aCA9IHN0
ZDo6bWF4KG5vcm1hbGl6ZWRGcmFjdGlvbkJyZWFkdGgsIHRyYWNrc1t0cmFja0luZGV4XS5iYXNl
U2l6ZSgpIC8gdHJhY2tTaXplLm1heFRyYWNrQnJlYWR0aCgpLmZsZXgoKSk7Ci0gICAgICAgIH0K
KyAgICAgICAgZm9yIChjb25zdCBhdXRvJiB0cmFja0luZGV4IDogZmxleGlibGVTaXplZFRyYWNr
c0luZGV4KQorICAgICAgICAgICAgZmxleEZyYWN0aW9uID0gc3RkOjptYXgoZmxleEZyYWN0aW9u
LCBub3JtYWxpemVkRmxleEZyYWN0aW9uKHRyYWNrc1t0cmFja0luZGV4XSwgZ3JpZFRyYWNrU2l6
ZShkaXJlY3Rpb24sIHRyYWNrSW5kZXgpLm1heFRyYWNrQnJlYWR0aCgpLmZsZXgoKSkpOwogCiAg
ICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBmbGV4aWJsZVNpemVkVHJhY2tzSW5kZXgu
c2l6ZSgpOyArK2kpIHsKICAgICAgICAgICAgIEdyaWRJdGVyYXRvciBpdGVyYXRvcihtX2dyaWQs
IGRpcmVjdGlvbiwgZmxleGlibGVTaXplZFRyYWNrc0luZGV4W2ldKTsKQEAgLTQ0OCw4ICs0Mzgs
NyBAQCB2b2lkIFJlbmRlckdyaWQ6OmNvbXB1dGVVc2VkQnJlYWR0aE9mR3JpZFRyYWNrcyhHcmlk
VHJhY2tTaXppbmdEaXJlY3Rpb24gZGlyZWN0aQogICAgICAgICAgICAgICAgIGlmIChpID4gMCAm
JiBzcGFuLnJlc29sdmVkSW5pdGlhbFBvc2l0aW9uLnRvSW50KCkgPD0gZmxleGlibGVTaXplZFRy
YWNrc0luZGV4W2kgLSAxXSkKICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAg
ICAgICAgICAgICBkb3VibGUgaXRlbU5vcm1hbGl6ZWRGbGV4QnJlYWR0aCA9IGNvbXB1dGVOb3Jt
YWxpemVkRnJhY3Rpb25CcmVhZHRoKHRyYWNrcywgc3BhbiwgZGlyZWN0aW9uLCBtYXhDb250ZW50
Rm9yQ2hpbGQoKmdyaWRJdGVtLCBkaXJlY3Rpb24sIHNpemluZ0RhdGEuY29sdW1uVHJhY2tzKSk7
Ci0gICAgICAgICAgICAgICAgbm9ybWFsaXplZEZyYWN0aW9uQnJlYWR0aCA9IHN0ZDo6bWF4KG5v
cm1hbGl6ZWRGcmFjdGlvbkJyZWFkdGgsIGl0ZW1Ob3JtYWxpemVkRmxleEJyZWFkdGgpOworICAg
ICAgICAgICAgICAgIGZsZXhGcmFjdGlvbiA9IHN0ZDo6bWF4KGZsZXhGcmFjdGlvbiwgZmluZEZs
ZXhGYWN0b3JVbml0U2l6ZSh0cmFja3MsIHNwYW4sIGRpcmVjdGlvbiwgbWF4Q29udGVudEZvckNo
aWxkKCpncmlkSXRlbSwgZGlyZWN0aW9uLCBzaXppbmdEYXRhLmNvbHVtblRyYWNrcykpKTsKICAg
ICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KQEAgLTQ1Nyw3ICs0NDYsNyBAQCB2b2lkIFJl
bmRlckdyaWQ6OmNvbXB1dGVVc2VkQnJlYWR0aE9mR3JpZFRyYWNrcyhHcmlkVHJhY2tTaXppbmdE
aXJlY3Rpb24gZGlyZWN0aQogICAgIGZvciAoYXV0byB0cmFja0luZGV4IDogZmxleGlibGVTaXpl
ZFRyYWNrc0luZGV4KSB7CiAgICAgICAgIGNvbnN0IEdyaWRUcmFja1NpemUmIHRyYWNrU2l6ZSA9
IGdyaWRUcmFja1NpemUoZGlyZWN0aW9uLCB0cmFja0luZGV4KTsKICAgICAgICAgR3JpZFRyYWNr
JiB0cmFjayA9IHRyYWNrc1t0cmFja0luZGV4XTsKLSAgICAgICAgTGF5b3V0VW5pdCBiYXNlU2l6
ZSA9IHN0ZDo6bWF4PExheW91dFVuaXQ+KHRyYWNrLmJhc2VTaXplKCksIG5vcm1hbGl6ZWRGcmFj
dGlvbkJyZWFkdGggKiB0cmFja1NpemUubWF4VHJhY2tCcmVhZHRoKCkuZmxleCgpKTsKKyAgICAg
ICAgTGF5b3V0VW5pdCBiYXNlU2l6ZSA9IHN0ZDo6bWF4PExheW91dFVuaXQ+KHRyYWNrLmJhc2VT
aXplKCksIGZsZXhGcmFjdGlvbiAqIHRyYWNrU2l6ZS5tYXhUcmFja0JyZWFkdGgoKS5mbGV4KCkp
OwogICAgICAgICB0cmFjay5zZXRCYXNlU2l6ZShiYXNlU2l6ZSk7CiAgICAgICAgIGF2YWlsYWJs
ZUxvZ2ljYWxTcGFjZSAtPSBiYXNlU2l6ZTsKICAgICB9CkBAIC01MDAsNTcgKzQ4OSw1NiBAQCBM
YXlvdXRVbml0IFJlbmRlckdyaWQ6OmNvbXB1dGVVc2VkQnJlYWR0aE9mU3BlY2lmaWVkTGVuZ3Ro
KEdyaWRUcmFja1NpemluZ0RpcmVjdAogICAgIHJldHVybiB2YWx1ZUZvckxlbmd0aCh0cmFja0xl
bmd0aCwgY29tcHV0ZUNvbnRlbnRMb2dpY2FsSGVpZ2h0KE1haW5PclByZWZlcnJlZFNpemUsIHN0
eWxlKCkubG9naWNhbEhlaWdodCgpLCBOdWxsb3B0KS52YWx1ZU9yKDApKTsKIH0KIAotZG91Ymxl
IFJlbmRlckdyaWQ6OmNvbXB1dGVOb3JtYWxpemVkRnJhY3Rpb25CcmVhZHRoKFZlY3RvcjxHcmlk
VHJhY2s+JiB0cmFja3MsIGNvbnN0IEdyaWRTcGFuJiB0cmFja3NTcGFuLCBHcmlkVHJhY2tTaXpp
bmdEaXJlY3Rpb24gZGlyZWN0aW9uLCBMYXlvdXRVbml0IHNwYWNlVG9GaWxsKSBjb25zdAorZG91
YmxlIFJlbmRlckdyaWQ6OmNvbXB1dGVGbGV4RmFjdG9yVW5pdFNpemUoY29uc3QgVmVjdG9yPEdy
aWRUcmFjaz4mIHRyYWNrcywgR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uIGRpcmVjdGlvbiwgZG91
YmxlIGZsZXhGYWN0b3JTdW0sIExheW91dFVuaXQgbGVmdE92ZXJTcGFjZSwgY29uc3QgVmVjdG9y
PHNpemVfdCwgOD4mIGZsZXhpYmxlVHJhY2tzSW5kZXhlcywgc3RkOjp1bmlxdWVfcHRyPFRyYWNr
SW5kZXhTZXQ+IHRyYWNrc1RvVHJlYXRBc0luZmxleGlibGUpIGNvbnN0CiB7Ci0gICAgTGF5b3V0
VW5pdCBhbGxvY2F0ZWRTcGFjZTsKLSAgICBWZWN0b3I8R3JpZFRyYWNrRm9yTm9ybWFsaXphdGlv
bj4gdHJhY2tzRm9yTm9ybWFsaXphdGlvbjsKLSAgICBmb3IgKGF1dG8mIHBvc2l0aW9uIDogdHJh
Y2tzU3BhbikgewotICAgICAgICBHcmlkVHJhY2smIHRyYWNrID0gdHJhY2tzW3Bvc2l0aW9uLnRv
SW50KCldOwotICAgICAgICBhbGxvY2F0ZWRTcGFjZSArPSB0cmFjay5iYXNlU2l6ZSgpOworICAg
IC8vIFdlIHdhbnQgdG8gYXZvaWQgdGhlIGVmZmVjdCBvZiBmbGV4IGZhY3RvcnMgc3VtIGJlbG93
IDEgbWFraW5nIHRoZSBmYWN0b3IgdW5pdCBzaXplIHRvIGdyb3cgZXhwb25lbnRpYWxseS4KKyAg
ICBkb3VibGUgaHlwb3RoZXRpY2FsRmFjdG9yVW5pdFNpemUgPSBsZWZ0T3ZlclNwYWNlIC8gc3Rk
OjptYXg8ZG91YmxlPigxLCBmbGV4RmFjdG9yU3VtKTsKIAotICAgICAgICBjb25zdCBHcmlkVHJh
Y2tTaXplJiB0cmFja1NpemUgPSBncmlkVHJhY2tTaXplKGRpcmVjdGlvbiwgcG9zaXRpb24udG9J
bnQoKSk7Ci0gICAgICAgIGlmICghdHJhY2tTaXplLm1heFRyYWNrQnJlYWR0aCgpLmlzRmxleCgp
KQorICAgIC8vIHByb2R1Y3Qgb2YgdGhlIGh5cG90aGV0aWNhbCAiZmxleCBmYWN0b3IgdW5pdCIg
YW5kIGFueSBmbGV4aWJsZSB0cmFjaydzICJmbGV4IGZhY3RvciIgbXVzdCBiZSBncmF0ZXIgdGhh
biBzdWNoIHRyYWNrJ3MgImJhc2Ugc2l6ZSIuCisgICAgYm9vbCB2YWxpZEZsZXhGYWN0b3JVbml0
ID0gdHJ1ZTsKKyAgICBmb3IgKGF1dG8gaW5kZXggOiBmbGV4aWJsZVRyYWNrc0luZGV4ZXMpIHsK
KyAgICAgICAgaWYgKHRyYWNrc1RvVHJlYXRBc0luZmxleGlibGUgJiYgdHJhY2tzVG9UcmVhdEFz
SW5mbGV4aWJsZS0+Y29udGFpbnMoaW5kZXgpKQogICAgICAgICAgICAgY29udGludWU7Ci0KLSAg
ICAgICAgdHJhY2tzRm9yTm9ybWFsaXphdGlvbi5hcHBlbmQoR3JpZFRyYWNrRm9yTm9ybWFsaXph
dGlvbih0cmFjaywgdHJhY2tTaXplLm1heFRyYWNrQnJlYWR0aCgpLmZsZXgoKSkpOworICAgICAg
ICBMYXlvdXRVbml0IGJhc2VTaXplID0gdHJhY2tzW2luZGV4XS5iYXNlU2l6ZSgpOworICAgICAg
ICBkb3VibGUgZmxleEZhY3RvciA9IGdyaWRUcmFja1NpemUoZGlyZWN0aW9uLCBpbmRleCkubWF4
VHJhY2tCcmVhZHRoKCkuZmxleCgpOworICAgICAgICAvLyB0cmVhdGluZyBhbGwgc3VjaCB0cmFj
a3MgYXMgaW5mbGV4aWJsZS4KKyAgICAgICAgaWYgKGJhc2VTaXplID4gaHlwb3RoZXRpY2FsRmFj
dG9yVW5pdFNpemUgKiBmbGV4RmFjdG9yKSB7CisgICAgICAgICAgICBsZWZ0T3ZlclNwYWNlIC09
IGJhc2VTaXplOworICAgICAgICAgICAgZmxleEZhY3RvclN1bSAtPSBmbGV4RmFjdG9yOworICAg
ICAgICAgICAgaWYgKCF0cmFja3NUb1RyZWF0QXNJbmZsZXhpYmxlKQorICAgICAgICAgICAgICAg
IHRyYWNrc1RvVHJlYXRBc0luZmxleGlibGUgPSBzdGQ6OnVuaXF1ZV9wdHI8VHJhY2tJbmRleFNl
dD4obmV3IFRyYWNrSW5kZXhTZXQoKSk7CisgICAgICAgICAgICB0cmFja3NUb1RyZWF0QXNJbmZs
ZXhpYmxlLT5hZGQoaW5kZXgpOworICAgICAgICAgICAgdmFsaWRGbGV4RmFjdG9yVW5pdCA9IGZh
bHNlOworICAgICAgICB9CiAgICAgfQorICAgIGlmICghdmFsaWRGbGV4RmFjdG9yVW5pdCkKKyAg
ICAgICAgcmV0dXJuIGNvbXB1dGVGbGV4RmFjdG9yVW5pdFNpemUodHJhY2tzLCBkaXJlY3Rpb24s
IGZsZXhGYWN0b3JTdW0sIGxlZnRPdmVyU3BhY2UsIGZsZXhpYmxlVHJhY2tzSW5kZXhlcywgV1RG
Ojptb3ZlKHRyYWNrc1RvVHJlYXRBc0luZmxleGlibGUpKTsKKyAgICByZXR1cm4gaHlwb3RoZXRp
Y2FsRmFjdG9yVW5pdFNpemU7Cit9CiAKLSAgICAvLyBUaGUgZnVuY3Rpb24gaXMgbm90IGNhbGxl
ZCBpZiB3ZSBkb24ndCBoYXZlIDxmbGV4PiBncmlkIHRyYWNrcwotICAgIEFTU0VSVCghdHJhY2tz
Rm9yTm9ybWFsaXphdGlvbi5pc0VtcHR5KCkpOwotCi0gICAgc3RkOjpzb3J0KHRyYWNrc0Zvck5v
cm1hbGl6YXRpb24uYmVnaW4oKSwgdHJhY2tzRm9yTm9ybWFsaXphdGlvbi5lbmQoKSwKLSAgICAg
ICAgICAgICAgW10oY29uc3QgR3JpZFRyYWNrRm9yTm9ybWFsaXphdGlvbiYgdHJhY2sxLCBjb25z
dCBHcmlkVHJhY2tGb3JOb3JtYWxpemF0aW9uJiB0cmFjazIpIHsKLSAgICAgICAgICAgICAgICAg
IHJldHVybiB0cmFjazEubV9ub3JtYWxpemVkRmxleFZhbHVlIDwgdHJhY2syLm1fbm9ybWFsaXpl
ZEZsZXhWYWx1ZTsKLSAgICAgICAgICAgICAgfSk7Ci0KLSAgICAvLyBUaGVzZSB2YWx1ZXMgd29y
ayB0b2dldGhlcjogYXMgd2Ugd2FsayBvdmVyIG91ciBncmlkIHRyYWNrcywgd2UgaW5jcmVhc2Ug
ZnJhY3Rpb25WYWx1ZUJhc2VkT25HcmlkSXRlbXNSYXRpbwotICAgIC8vIHRvIG1hdGNoIGEgZ3Jp
ZCB0cmFjaydzIHVzZWRCcmVhZHRoIHRvIDxmbGV4PiByYXRpbyB1bnRpbCB0aGUgdG90YWwgZnJh
Y3Rpb25zIHNpemVkIGdyaWQgdHJhY2tzIHdvdWxkbid0Ci0gICAgLy8gZml0IGludG8gYXZhaWxh
YmxlTG9naWNhbFNwYWNlSWdub3JpbmdGcmFjdGlvblRyYWNrcy4KLSAgICBkb3VibGUgYWNjdW11
bGF0ZWRGcmFjdGlvbnMgPSAwOwotICAgIExheW91dFVuaXQgZnJhY3Rpb25WYWx1ZUJhc2VkT25H
cmlkSXRlbXNSYXRpbyA9IDA7Ci0gICAgTGF5b3V0VW5pdCBhdmFpbGFibGVMb2dpY2FsU3BhY2VJ
Z25vcmluZ0ZyYWN0aW9uVHJhY2tzID0gc3BhY2VUb0ZpbGwgLSBhbGxvY2F0ZWRTcGFjZTsKLQot
ICAgIGZvciAoYXV0byYgdHJhY2sgOiB0cmFja3NGb3JOb3JtYWxpemF0aW9uKSB7Ci0gICAgICAg
IGlmICh0cmFjay5tX25vcm1hbGl6ZWRGbGV4VmFsdWUgPiBmcmFjdGlvblZhbHVlQmFzZWRPbkdy
aWRJdGVtc1JhdGlvKSB7Ci0gICAgICAgICAgICAvLyBJZiB0aGUgbm9ybWFsaXplZCBmbGV4IHZh
bHVlICh3ZSBvcmRlcmVkIHx0cmFja3NGb3JOb3JtYWxpemF0aW9ufCBieSBpbmNyZWFzaW5nIG5v
cm1hbGl6ZWQgZmxleCB2YWx1ZSkKLSAgICAgICAgICAgIC8vIHdpbGwgbWFrZSB1cyBvdmVyZmxv
dyBvdXIgY29udGFpbmVyLCB0aGVuIHN0b3AuIFdlIGhhdmUgdGhlIHByZXZpb3VzIHN0ZXAncyBy
YXRpbyBpcyB0aGUgYmVzdCBmaXQuCi0gICAgICAgICAgICBpZiAodHJhY2subV9ub3JtYWxpemVk
RmxleFZhbHVlICogYWNjdW11bGF0ZWRGcmFjdGlvbnMgPiBhdmFpbGFibGVMb2dpY2FsU3BhY2VJ
Z25vcmluZ0ZyYWN0aW9uVHJhY2tzKQotICAgICAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAg
ICAgICBmcmFjdGlvblZhbHVlQmFzZWRPbkdyaWRJdGVtc1JhdGlvID0gdHJhY2subV9ub3JtYWxp
emVkRmxleFZhbHVlOwotICAgICAgICB9Citkb3VibGUgUmVuZGVyR3JpZDo6ZmluZEZsZXhGYWN0
b3JVbml0U2l6ZShjb25zdCBWZWN0b3I8R3JpZFRyYWNrPiYgdHJhY2tzLCBjb25zdCBHcmlkU3Bh
biYgdHJhY2tzU3BhbiwgR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uIGRpcmVjdGlvbiwgTGF5b3V0
VW5pdCBsZWZ0T3ZlclNwYWNlKSBjb25zdAoreworICAgIGlmIChsZWZ0T3ZlclNwYWNlIDw9IDAp
CisgICAgICAgIHJldHVybiAwOwogCi0gICAgICAgIGFjY3VtdWxhdGVkRnJhY3Rpb25zICs9IHRy
YWNrLm1fZmxleDsKLSAgICAgICAgLy8gVGhpcyBpdGVtIHdhcyBwcm9jZXNzZWQgc28gd2UgcmUt
YWRkIGl0cyB1c2VkIGJyZWFkdGggdG8gdGhlIGF2YWlsYWJsZSBzcGFjZSB0byBhY2N1cmF0ZWx5
IGNvdW50IHRoZSByZW1haW5pbmcgc3BhY2UuCi0gICAgICAgIGF2YWlsYWJsZUxvZ2ljYWxTcGFj
ZUlnbm9yaW5nRnJhY3Rpb25UcmFja3MgKz0gdHJhY2subV90cmFjay0+YmFzZVNpemUoKTsKKyAg
ICBkb3VibGUgZmxleEZhY3RvclN1bSA9IDA7CisgICAgVmVjdG9yPHNpemVfdCwgOD4gZmxleGli
bGVUcmFja3NJbmRleGVzOworICAgIGZvciAoY29uc3QgYXV0byYgcmVzb2x2ZWRQb3NpdGlvbiA6
IHRyYWNrc1NwYW4pIHsKKyAgICAgICAgc2l6ZV90IHRyYWNrSW5kZXggPSByZXNvbHZlZFBvc2l0
aW9uLnRvSW50KCk7CisgICAgICAgIEdyaWRUcmFja1NpemUgdHJhY2tTaXplID0gZ3JpZFRyYWNr
U2l6ZShkaXJlY3Rpb24sIHRyYWNrSW5kZXgpOworICAgICAgICBpZiAoIXRyYWNrU2l6ZS5tYXhU
cmFja0JyZWFkdGgoKS5pc0ZsZXgoKSkKKyAgICAgICAgICAgIGxlZnRPdmVyU3BhY2UgLT0gdHJh
Y2tzW3RyYWNrSW5kZXhdLmJhc2VTaXplKCk7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAg
ZG91YmxlIGZsZXhGYWN0b3IgPSB0cmFja1NpemUubWF4VHJhY2tCcmVhZHRoKCkuZmxleCgpOwor
ICAgICAgICAgICAgZmxleGlibGVUcmFja3NJbmRleGVzLmFwcGVuZCh0cmFja0luZGV4KTsKKyAg
ICAgICAgICAgIGZsZXhGYWN0b3JTdW0gKz0gZmxleEZhY3RvcjsKKyAgICAgICAgfQogICAgIH0K
IAotICAgIC8vIExldCBmbGV4IGZhY3RvciBzdW0gYmUgdGhlIHN1bSBvZiB0aGUgZmxleCBmYWN0
b3JzIG9mIHRoZSBmbGV4aWJsZSB0cmFja3MuIElmIHRoaXMgdmFsdWUKLSAgICAvLyBpcyBsZXNz
IHRoYW4gMSwgc2V0IGl0IHRvIDEgaW5zdGVhZC4KLSAgICBpZiAoYWNjdW11bGF0ZWRGcmFjdGlv
bnMgPCAxKQotICAgICAgICByZXR1cm4gYXZhaWxhYmxlTG9naWNhbFNwYWNlSWdub3JpbmdGcmFj
dGlvblRyYWNrczsKKyAgICAvLyBUaGUgZnVuY3Rpb24gaXMgbm90IGNhbGxlZCBpZiB3ZSBkb24n
dCBoYXZlIDxmbGV4PiBncmlkIHRyYWNrcworICAgIEFTU0VSVCghZmxleGlibGVUcmFja3NJbmRl
eGVzLmlzRW1wdHkoKSk7CiAKLSAgICByZXR1cm4gYXZhaWxhYmxlTG9naWNhbFNwYWNlSWdub3Jp
bmdGcmFjdGlvblRyYWNrcyAvIGFjY3VtdWxhdGVkRnJhY3Rpb25zOworICAgIHJldHVybiBjb21w
dXRlRmxleEZhY3RvclVuaXRTaXplKHRyYWNrcywgZGlyZWN0aW9uLCBmbGV4RmFjdG9yU3VtLCBs
ZWZ0T3ZlclNwYWNlLCBmbGV4aWJsZVRyYWNrc0luZGV4ZXMpOwogfQogCiBib29sIFJlbmRlckdy
aWQ6Omhhc0RlZmluaXRlTG9naWNhbFNpemUoR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uIGRpcmVj
dGlvbikgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJH
cmlkLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5oCmluZGV4IGVlNzFm
ZGU2ZWU5M2E0ZTNmNWZhYmY5ZmE5ZDVlNDNhYjhjMTU1M2IuLjQ4YzczNTIwZjg1ZjNlMWI3N2M0
NDYyNjMzNjFkYTgyY2QzODZjNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJHcmlkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQu
aApAQCAtMTEzLDcgKzExMyw5IEBAIHByaXZhdGU6CiAgICAgdGVtcGxhdGUgPFRyYWNrU2l6ZUNv
bXB1dGF0aW9uUGhhc2U+IHZvaWQgcmVzb2x2ZUNvbnRlbnRCYXNlZFRyYWNrU2l6aW5nRnVuY3Rp
b25zRm9ySXRlbXMoR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uLCBHcmlkU2l6aW5nRGF0YSYsIGNv
bnN0IEdyaWRJdGVtc1NwYW5Hcm91cFJhbmdlJik7CiAgICAgdGVtcGxhdGUgPFRyYWNrU2l6ZUNv
bXB1dGF0aW9uUGhhc2U+IHZvaWQgZGlzdHJpYnV0ZVNwYWNlVG9UcmFja3MoVmVjdG9yPEdyaWRU
cmFjayo+JiwgY29uc3QgVmVjdG9yPEdyaWRUcmFjayo+KiBncm93QmV5b25kR3Jvd3RoTGltaXRz
VHJhY2tzLCBMYXlvdXRVbml0JiBhdmFpbGFibGVMb2dpY2FsU3BhY2UpOwogCi0gICAgZG91Ymxl
IGNvbXB1dGVOb3JtYWxpemVkRnJhY3Rpb25CcmVhZHRoKFZlY3RvcjxHcmlkVHJhY2s+JiwgY29u
c3QgR3JpZFNwYW4mIHRyYWNrc1NwYW4sIEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiwgTGF5b3V0
VW5pdCBhdmFpbGFibGVMb2dpY2FsU3BhY2UpIGNvbnN0OworICAgIHR5cGVkZWYgSGFzaFNldDx1
bnNpZ25lZCwgRGVmYXVsdEhhc2g8dW5zaWduZWQ+OjpIYXNoLCBXVEY6OlVuc2lnbmVkV2l0aFpl
cm9LZXlIYXNoVHJhaXRzPHVuc2lnbmVkPj4gVHJhY2tJbmRleFNldDsKKyAgICBkb3VibGUgY29t
cHV0ZUZsZXhGYWN0b3JVbml0U2l6ZShjb25zdCBWZWN0b3I8R3JpZFRyYWNrPiYsIEdyaWRUcmFj
a1NpemluZ0RpcmVjdGlvbiwgZG91YmxlIGZsZXhGYWN0b3JTdW0sIExheW91dFVuaXQgbGVmdE92
ZXJTcGFjZSwgY29uc3QgVmVjdG9yPHNpemVfdCwgOD4mIGZsZXhpYmxlVHJhY2tzSW5kZXhlcywg
c3RkOjp1bmlxdWVfcHRyPFRyYWNrSW5kZXhTZXQ+IHRyYWNrc1RvVHJlYXRBc0luZmxleGlibGUg
PSBudWxscHRyKSBjb25zdDsKKyAgICBkb3VibGUgZmluZEZsZXhGYWN0b3JVbml0U2l6ZShjb25z
dCBWZWN0b3I8R3JpZFRyYWNrPiYsIGNvbnN0IEdyaWRTcGFuJiwgR3JpZFRyYWNrU2l6aW5nRGly
ZWN0aW9uLCBMYXlvdXRVbml0IHNwYWNlVG9GaWxsKSBjb25zdDsKIAogICAgIEdyaWRUcmFja1Np
emUgZ3JpZFRyYWNrU2l6ZShHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24sIHVuc2lnbmVkKSBjb25z
dDsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IGVmOWQ2NTMxZDMzYzQ2MGIyM2JjZjVhMjdkYjZlODk3MGUyZTE3YWYuLjli
NWZlYWE2MmI5Mzc3MTU5MDgxZThkOTc2ZTAzOWZmNmJmY2JiOTUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
OCBAQAorMjAxNS0wOS0wOSAgSmF2aWVyIEZlcm5hbmRleiAgPGpmZXJuYW5kZXpAaWdhbGlhLmNv
bT4KKworICAgICAgICBbQ1NTIEdyaWQgTGF5b3V0XSBGbGV4IHRyYWNrcyBzaXppbmcgYWxnIG11
c3QgaGFuZGxlIDBmciB2YWx1ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE0ODk0NAorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgor
CisgICAgICAgIEFsbG93IDAgYXMgZmxleCBmYWN0b3IgdmFsdWUgYW5kIGltcGxlbWVudCB0aGUg
bmV3IGZsZXggdHJhY2sgc2l6aW5nIGFsZ29yaXRobS4KKworICAgICAgICAqIGZhc3QvY3NzLWdy
aWQtbGF5b3V0L2ZsZXgtYW5kLW1pbm1heC1jb250ZW50LXJlc29sdXRpb24tcm93cy5odG1sOgor
ICAgICAgICAqIGZhc3QvY3NzLWdyaWQtbGF5b3V0L2ZsZXgtY29udGVudC1yZXNvbHV0aW9uLWNv
bHVtbnMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvY3NzLWdyaWQtbGF5b3V0L2ZsZXgt
Y29udGVudC1yZXNvbHV0aW9uLWNvbHVtbnMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Nzcy1ncmlk
LWxheW91dC9mbGV4LWNvbnRlbnQtcmVzb2x1dGlvbi1yb3dzLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBmYXN0L2Nzcy1ncmlkLWxheW91dC9mbGV4LWNvbnRlbnQtcmVzb2x1dGlvbi1yb3dzLmh0
bWw6CisKIDIwMTUtMDktMTggIEpha2UgTmllbHNlbiAgPGphY29iX25pZWxzZW5AYXBwbGUuY29t
PgogCiAgICAgICAgIGxpbmUtYnJlYWstbGFuZ3VhZ2Utc2Vuc2l0aXZlIHRlc3RzIHNob3VsZCBi
ZSBtYXJrZWQgYXMgZmxha3kKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQt
bGF5b3V0L2ZsZXgtYW5kLW1pbm1heC1jb250ZW50LXJlc29sdXRpb24tcm93cy5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZmxleC1hbmQtbWlubWF4LWNvbnRlbnQtcmVz
b2x1dGlvbi1yb3dzLmh0bWwKaW5kZXggNjliM2ZlZTIwZmMxOTM4MDU0ZDU2MWRkYjU1YTk2ZDU5
ZTkwNTRhOS4uZjE2ZWJkNjJiYzBlYjE2MTUxZmNkZTQ4YzA5NmJkZjU4NGEyMGQ0MyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZmxleC1hbmQtbWlubWF4LWNv
bnRlbnQtcmVzb2x1dGlvbi1yb3dzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3Jp
ZC1sYXlvdXQvZmxleC1hbmQtbWlubWF4LWNvbnRlbnQtcmVzb2x1dGlvbi1yb3dzLmh0bWwKQEAg
LTEyMCw2ICsxMjAsNyBAQAogICAgIDwvZGl2PgogPC9kaXY+CiAKKzwhLS0gV2Ugbm9ybWFsaXpl
IGZyYWN0aW9uIGZsZXggZmFjdG9ycyB0byAxLCBzbyB3ZSBkb24ndCBrZWVwIGV4YWN0IHByb3Bv
cnRpb25zIHdpdGggPjEgZmFjdG9ycy4gLS0+CiA8ZGl2IHN0eWxlPSJ3aWR0aDogMTBweDsgaGVp
Z2h0OiA2MHB4OyI+CiAgICAgPGRpdiBjbGFzcz0iZ3JpZCBncmlkV2l0aEludHJpbnNpY1NpemVC
aWdnZXJUaGFuRmxleCIgc3R5bGU9ImhlaWdodDogMTAwJSI+CiAgICAgICAgIDxkaXYgY2xhc3M9
InNpemVkVG9HcmlkQXJlYSBmaXJzdFJvd0ZpcnN0Q29sdW1uIiBkYXRhLWV4cGVjdGVkLXdpZHRo
PSI1MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjQwIj5YWFhYWCBYWFhYWCBYWFhYWCBYWFhYWDwv
ZGl2PgpAQCAtMTI3LDEwICsxMjgsMTEgQEAKICAgICA8L2Rpdj4KIDwvZGl2PgogCis8IS0tIFdl
IG5vcm1hbGl6ZSBmcmFjdGlvbiBmbGV4IGZhY3RvcnMgdG8gMSwgc28gd2UgZG9uJ3Qga2VlcCBl
eGFjdCBwcm9wb3J0aW9ucyB3aXRoID4xIGZhY3RvcnMuIC0tPgogPGRpdiBzdHlsZT0id2lkdGg6
IDEwcHg7IGhlaWdodDogNjBweDsiPgogICAgIDxkaXYgY2xhc3M9ImdyaWQgZ3JpZFdpdGhJbnRy
aW5zaWNTaXplQmlnZ2VyVGhhbkZsZXgiPgogICAgICAgICA8ZGl2IGNsYXNzPSJzaXplZFRvR3Jp
ZEFyZWEgZmlyc3RSb3dGaXJzdENvbHVtbiIgZGF0YS1leHBlY3RlZC13aWR0aD0iNTAiIGRhdGEt
ZXhwZWN0ZWQtaGVpZ2h0PSI0MCI+WFhYWFggWFhYWFggWFhYWFggWFhYWFg8L2Rpdj4KLSAgICAg
ICAgPGRpdiBjbGFzcz0ic2l6ZWRUb0dyaWRBcmVhIHNlY29uZFJvd0ZpcnN0Q29sdW1uIiBkYXRh
LWV4cGVjdGVkLXdpZHRoPSI1MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjE2MCI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgY2xhc3M9InNpemVkVG9HcmlkQXJlYSBzZWNvbmRSb3dGaXJzdENvbHVtbiIg
ZGF0YS1leHBlY3RlZC13aWR0aD0iNTAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI4MCI+PC9kaXY+
CiAgICAgPC9kaXY+CiA8L2Rpdj4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3Mt
Z3JpZC1sYXlvdXQvZmxleC1jb250ZW50LXJlc29sdXRpb24tY29sdW1ucy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9mbGV4LWNvbnRlbnQtcmVzb2x1dGlv
bi1jb2x1bW5zLWV4cGVjdGVkLnR4dAppbmRleCAxMWNhMzI2NGQzODQyYjQxMWQ1NDYzYmVhODNi
YmQzOThmMDU4ODg1Li5mMGY5ZDJhOWYyNTg4ZmQwOGI4MTBhNzlhYjg5NjZlZjljNTMxN2NhIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9mbGV4LWNvbnRlbnQt
cmVzb2x1dGlvbi1jb2x1bW5zLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nz
cy1ncmlkLWxheW91dC9mbGV4LWNvbnRlbnQtcmVzb2x1dGlvbi1jb2x1bW5zLWV4cGVjdGVkLnR4
dApAQCAtMTMsMyArMTMsOCBAQCBQQVNTCiBQQVNTCiBQQVNTCiBQQVNTCitQQVNTCitQQVNTCitQ
QVNTCitQQVNTCitQQVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxh
eW91dC9mbGV4LWNvbnRlbnQtcmVzb2x1dGlvbi1jb2x1bW5zLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2Nzcy1ncmlkLWxheW91dC9mbGV4LWNvbnRlbnQtcmVzb2x1dGlvbi1jb2x1bW5zLmh0bWwK
aW5kZXggYjgzNTBhMTk5MTk1OGQ4NDBkZjM1M2Y5MTkxMzgzY2Y0ZjYwODFhOS4uNTRiNTA2OTky
MjJjNjZjYzQxNGU5NWQ2YTFlYTMwYzEyODg4MzlmZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZmxleC1jb250ZW50LXJlc29sdXRpb24tY29sdW1ucy5odG1s
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2ZsZXgtY29udGVudC1yZXNv
bHV0aW9uLWNvbHVtbnMuaHRtbApAQCAtNiw2ICs2LDEwIEBACiAgICAgLXdlYmtpdC1ncmlkLXRl
bXBsYXRlLWNvbHVtbnM6IG1pbm1heCgxZnIsIDUwcHgpOwogICAgIC13ZWJraXQtZ3JpZC10ZW1w
bGF0ZS1yb3dzOiA1MHB4OwogfQorLmdyaWRaZXJvRmxleENvbnRlbnQgeworICAgIC13ZWJraXQt
Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMWZyLCAwcHgpOworICAgIC13ZWJraXQtZ3Jp
ZC10ZW1wbGF0ZS1yb3dzOiA1MHB4OworfQogLmdyaWRNYXhGbGV4Q29udGVudCB7CiAgICAgLXdl
YmtpdC1ncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgzMHB4LCAyZnIpOwogICAgIC13ZWJr
aXQtZ3JpZC10ZW1wbGF0ZS1yb3dzOiA1MHB4OwpAQCAtMjIsNiArMjYsMjcgQEAKICAgICAtd2Vi
a2l0LWdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDMwMHB4LCAzZnIpIG1pbm1heCgxNTBw
eCwgMWZyKTsKICAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGUtcm93czogNTBweDsKIH0KKy5ncmlk
UmVzcGVjdEJhc2VTaXplIHsKKyAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlu
bWF4KDc1cHgsIDFmcikgbWlubWF4KDBweCwgMmZyKTsKKyAgICAtd2Via2l0LWdyaWQtdGVtcGxh
dGUtcm93czogNTBweDsKK30KKy5ncmlkUmVzcGVjdFByb3BvcnRpb25zIHsKKyAgICAtd2Via2l0
LWdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDBweCwgLjI1ZnIpIG1pbm1heCgwcHgsIC41
ZnIpIG1pbm1heCgwcHgsIDJmcik7CisgICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlLXJvd3M6IDUw
cHg7Cit9CisuZ3JpZFJlc3BlY3RCYXNlU2l6ZVByb3BvcnRpb25zIHsKKyAgICAtd2Via2l0LWdy
aWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDUwcHgsIC4yNWZyKSBtaW5tYXgoMHB4LCAuNWZy
KSBtaW5tYXgoMHB4LCAxZnIpOworICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dzOiA1MHB4
OworfQorLmdyaWRSZXNwZWN0QmFzZVNpemVCZWZvcmVQcm9wb3J0aW9ucyB7CisgICAgLXdlYmtp
dC1ncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCg1MHB4LCAuMjVmcikgbWlubWF4KDBweCwg
LjVmcikgbWlubWF4KDBweCwgMWZyKTsKKyAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGUtcm93czog
NTBweDsKK30KKy5maXJzdFJvd1RoaXJkQ29sdW1uIHsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiB5
ZWxsb3c7CisgICAgLXdlYmtpdC1ncmlkLWNvbHVtbjogMzsKKyAgICAtd2Via2l0LWdyaWQtcm93
OiAxOworfQogPC9zdHlsZT4KIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvY2hlY2stbGF5
b3V0LmpzIj48L3NjcmlwdD4KIDxib2R5IG9ubG9hZD0iY2hlY2tMYXlvdXQoJy5ncmlkJyk7Ij4K
QEAgLTM0LDYgKzU5LDEyIEBACiAgICAgPC9kaXY+CiA8L2Rpdj4KIAorPGRpdiBzdHlsZT0id2lk
dGg6IDEwMHB4Ij4KKyAgICA8ZGl2IGNsYXNzPSJncmlkIGdyaWRaZXJvRmxleENvbnRlbnQiPgor
ICAgICAgICA8ZGl2IGNsYXNzPSJzaXplZFRvR3JpZEFyZWEgZmlyc3RSb3dGaXJzdENvbHVtbiIg
ZGF0YS1leHBlY3RlZC13aWR0aD0iMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjUwIj48L2Rpdj4K
KyAgICA8L2Rpdj4KKzwvZGl2PgorCiA8IS0tIEFsbG93IHRoZSBleHRyYSBsb2dpY2FsIHNwYWNl
IGRpc3RyaWJ1dGlvbiB0byBvY2N1ci4gLS0+CiA8ZGl2IHN0eWxlPSJ3aWR0aDogNDBweDsgaGVp
Z2h0OiAxMHB4Ij4KICAgICA8ZGl2IGNsYXNzPSJncmlkIGdyaWRNaW5GbGV4Q29udGVudCI+CkBA
IC0xMjEsNSArMTUyLDQwIEBACiAgICAgPC9kaXY+CiA8L2Rpdj4KIAorPCEtLSBGbGV4IHRyYWNr
IGxlbmd0aCBtdXN0IGJlIGF0IGxlYXN0IGl0cyBiYXNlU2l6ZS4gLS0+Cis8ZGl2IHN0eWxlPSJ3
aWR0aDogMTAwcHg7IGhlaWdodDogMTBweDsiPgorICAgIDxkaXYgY2xhc3M9ImdyaWQgZ3JpZFJl
c3BlY3RCYXNlU2l6ZSI+CisgICAgICAgIDxkaXYgY2xhc3M9InNpemVkVG9HcmlkQXJlYSBmaXJz
dFJvd0ZpcnN0Q29sdW1uIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI3NSIgZGF0YS1leHBlY3RlZC1o
ZWlnaHQ9IjUwIj48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0ic2l6ZWRUb0dyaWRBcmVhIGZp
cnN0Um93U2Vjb25kQ29sdW1uIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIyNSIgZGF0YS1leHBlY3Rl
ZC1oZWlnaHQ9IjUwIj48L2Rpdj4KKyAgICA8L2Rpdj4KKzwvZGl2PgorCis8IS0tIEZsZXggdHJh
Y2sgbGVuZ3RocyBtdXN0IGJlIHByb3BvcnRpb25hbCB0byB0aGVpciBmbGV4IGZhY3RvcnMuLiAt
LT4KKzxkaXYgc3R5bGU9IndpZHRoOiAyNzVweDsgaGVpZ2h0OiAxMHB4OyI+CisgICAgPGRpdiBj
bGFzcz0iZ3JpZCBncmlkUmVzcGVjdFByb3BvcnRpb25zIj4KKyAgICAgICAgPGRpdiBjbGFzcz0i
c2l6ZWRUb0dyaWRBcmVhIGZpcnN0Um93Rmlyc3RDb2x1bW4iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9
IjI1IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iNTAiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNz
PSJzaXplZFRvR3JpZEFyZWEgZmlyc3RSb3dTZWNvbmRDb2x1bW4iIGRhdGEtZXhwZWN0ZWQtd2lk
dGg9IjUwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iNTAiPjwvZGl2PgorICAgICAgICA8ZGl2IGNs
YXNzPSJzaXplZFRvR3JpZEFyZWEgZmlyc3RSb3dUaGlyZENvbHVtbiIgZGF0YS1leHBlY3RlZC13
aWR0aD0iMjAwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iNTAiPjwvZGl2PgorICAgIDwvZGl2Pgor
PC9kaXY+CisKKzwhLS0gRmxleCB0cmFjayBsZW5ndGhzIG11c3QgYmUgcHJvcG9ydGlvbmFsIGJ1
dCBzdGlsbCByZXNwZWN0aW5nIHRoZWlyIGJhc2Ugc2l6ZXMuIC0tPgorPGRpdiBzdHlsZT0id2lk
dGg6IDM1MHB4OyBoZWlnaHQ6IDEwcHg7Ij4KKyAgICA8ZGl2IGNsYXNzPSJncmlkIGdyaWRSZXNw
ZWN0QmFzZVNpemVQcm9wb3J0aW9ucyI+CisgICAgICAgIDxkaXYgY2xhc3M9InNpemVkVG9Hcmlk
QXJlYSBmaXJzdFJvd0ZpcnN0Q29sdW1uIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI1MCIgZGF0YS1l
eHBlY3RlZC1oZWlnaHQ9IjUwIj48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0ic2l6ZWRUb0dy
aWRBcmVhIGZpcnN0Um93U2Vjb25kQ29sdW1uIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIxMDAiIGRh
dGEtZXhwZWN0ZWQtaGVpZ2h0PSI1MCI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InNpemVk
VG9HcmlkQXJlYSBmaXJzdFJvd1RoaXJkQ29sdW1uIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIyMDAi
IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI1MCI+PC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKwor
PCEtLSBOb3QgZW5vdWdoIHNwYWNlIHRvIHJlcHNlY3QgcHJvcG9ydGlvbnMsIGJlY2F1c2UgbWlu
VHJhY2tCcmVhZGggaXQncyBhIGhhcmRlciByZXF1aXJlbWVudCAtLT4KKzxkaXYgc3R5bGU9Indp
ZHRoOiAyNzVweDsgaGVpZ2h0OiAxMHB4OyI+CisgICAgPGRpdiBjbGFzcz0iZ3JpZCBncmlkUmVz
cGVjdEJhc2VTaXplQmVmb3JlUHJvcG9ydGlvbnMiPgorICAgICAgICA8ZGl2IGNsYXNzPSJzaXpl
ZFRvR3JpZEFyZWEgZmlyc3RSb3dGaXJzdENvbHVtbiIgZGF0YS1leHBlY3RlZC13aWR0aD0iNTAi
IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI1MCI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InNp
emVkVG9HcmlkQXJlYSBmaXJzdFJvd1NlY29uZENvbHVtbiIgZGF0YS1leHBlY3RlZC13aWR0aD0i
NzUiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI1MCI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9
InNpemVkVG9HcmlkQXJlYSBmaXJzdFJvd1RoaXJkQ29sdW1uIiBkYXRhLWV4cGVjdGVkLXdpZHRo
PSIxNTAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI1MCI+PC9kaXY+CisgICAgPC9kaXY+Cis8L2Rp
dj4KKwogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3Mt
Z3JpZC1sYXlvdXQvZmxleC1jb250ZW50LXJlc29sdXRpb24tcm93cy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9mbGV4LWNvbnRlbnQtcmVzb2x1dGlvbi1y
b3dzLWV4cGVjdGVkLnR4dAppbmRleCA4OTFlZjU1ZjE5ZWFkYWUxM2I0NTJiZmE5NTAwZWVlZTJi
ZGMwNmZlLi42YWZlMjk2YmQ2YjRkODBiMjFiZTU0MjhmNTBhOGY2N2YxYzJhZjk5IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9mbGV4LWNvbnRlbnQtcmVzb2x1
dGlvbi1yb3dzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxh
eW91dC9mbGV4LWNvbnRlbnQtcmVzb2x1dGlvbi1yb3dzLWV4cGVjdGVkLnR4dApAQCAtMjIsMyAr
MjIsMTAgQEAgUEFTUwogUEFTUwogUEFTUwogUEFTUworUEFTUworUEFTUworUEFTUworUEFTUwor
UEFTUworUEFTUworUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1s
YXlvdXQvZmxleC1jb250ZW50LXJlc29sdXRpb24tcm93cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9jc3MtZ3JpZC1sYXlvdXQvZmxleC1jb250ZW50LXJlc29sdXRpb24tcm93cy5odG1sCmluZGV4
IGUxY2E5YzZhNDk5NGViYmY4YzFlMWIxNjE3MzU0YmYxM2EwNWNlMDcuLmUxZDI1NTliMDc1ZTFh
MjgwZDNhMGQ4ZjFlMTBlNzQwZDZhMWU4NTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
Y3NzLWdyaWQtbGF5b3V0L2ZsZXgtY29udGVudC1yZXNvbHV0aW9uLXJvd3MuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9mbGV4LWNvbnRlbnQtcmVzb2x1dGlvbi1y
b3dzLmh0bWwKQEAgLTYsNiArNiwxMCBAQAogICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1jb2x1
bW5zOiA1MHB4OwogICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dzOiBtaW5tYXgoMWZyLCA1
MHB4KTsKIH0KKy5ncmlkWmVyb0ZsZXhDb250ZW50IHsKKyAgICAtd2Via2l0LWdyaWQtdGVtcGxh
dGUtY29sdW1uczogNTBweDsKKyAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGUtcm93czogbWlubWF4
KDFmciwgMHB4KTsKK30KIC5ncmlkTWF4RmxleENvbnRlbnQgewogICAgIC13ZWJraXQtZ3JpZC10
ZW1wbGF0ZS1jb2x1bW5zOiA1MHB4OwogICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dzOiBt
aW5tYXgoMzBweCwgMmZyKTsKQEAgLTE4LDYgKzIyLDI3IEBACiAgICAgLXdlYmtpdC1ncmlkLXRl
bXBsYXRlLWNvbHVtbnM6IDUwcHg7CiAgICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlLXJvd3M6IG1p
bm1heCgxMHB4LCAwLjVmcikgbWlubWF4KDEwcHgsIDJmcik7CiB9CisuZ3JpZFJlc3BlY3RCYXNl
U2l6ZSB7CisgICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDUwcHg7CisgICAgLXdl
YmtpdC1ncmlkLXRlbXBsYXRlLXJvd3M6IG1pbm1heCg3NXB4LCAxZnIpIG1pbm1heCgwcHgsIDJm
cik7Cit9CisuZ3JpZFJlc3BlY3RQcm9wb3J0aW9ucyB7CisgICAgLXdlYmtpdC1ncmlkLXRlbXBs
YXRlLWNvbHVtbnM6IDUwcHg7CisgICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlLXJvd3M6IG1pbm1h
eCgyNXB4LCAuMjVmcikgbWlubWF4KDBweCwgLjVmcikgbWlubWF4KDBweCwgMmZyKTsKK30KKy5n
cmlkUmVzcGVjdEJhc2VTaXplUHJvcG9ydGlvbnMgeworICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0
ZS1jb2x1bW5zOiA1MHB4OworICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dzOiBtaW5tYXgo
NTBweCwgLjI1ZnIpIG1pbm1heCgwcHgsIC41ZnIpIG1pbm1heCgwcHgsIDFmcik7Cit9CisuZ3Jp
ZFJlc3BlY3RCYXNlU2l6ZUJlZm9yZVByb3BvcnRpb25zIHsKKyAgICAtd2Via2l0LWdyaWQtdGVt
cGxhdGUtY29sdW1uczogNTBweDsKKyAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGUtcm93czogbWlu
bWF4KDUwcHgsIC4yNWZyKSBtaW5tYXgoMHB4LCAuNWZyKSBtaW5tYXgoMHB4LCAxZnIpOworfQor
LnRoaXJkUm93Rmlyc3RDb2x1bW4geworICAgIGJhY2tncm91bmQtY29sb3I6IHllbGxvdzsKKyAg
ICAtd2Via2l0LWdyaWQtY29sdW1uOiAxOworICAgIC13ZWJraXQtZ3JpZC1yb3c6IDM7Cit9CiA8
L3N0eWxlPgogPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9jaGVjay1sYXlvdXQuanMiPjwv
c2NyaXB0PgogPGJvZHkgb25sb2FkPSJjaGVja0xheW91dCgnLmdyaWQnKTsiPgpAQCAtMzEsNiAr
NTYsMTIgQEAKIDwvZGl2PgogCiA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDBweCI+CisgICAgPGRpdiBj
bGFzcz0iZ3JpZCBncmlkWmVyb0ZsZXhDb250ZW50Ij4KKyAgICAgICAgPGRpdiBjbGFzcz0ic2l6
ZWRUb0dyaWRBcmVhIGZpcnN0Um93Rmlyc3RDb2x1bW4iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjUw
IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCI+PC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKwor
PGRpdiBzdHlsZT0iaGVpZ2h0OiAwcHgiPgogICAgIDxkaXYgY2xhc3M9ImdyaWQgZ3JpZE1pbkZs
ZXhDb250ZW50Ij4KICAgICAgICAgPGRpdiBjbGFzcz0ic2l6ZWRUb0dyaWRBcmVhIGZpcnN0Um93
Rmlyc3RDb2x1bW4iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjUwIiBkYXRhLWV4cGVjdGVkLWhlaWdo
dD0iNTAiPjwvZGl2PgogICAgIDwvZGl2PgpAQCAtMTM3LDEwICsxNjgsMTEgQEAKICAgICA8L2Rp
dj4KIDwvZGl2PgogCis8IS0tIFdlIG5vcm1hbGl6ZSBmcmFjdGlvbiBmbGV4IGZhY3RvcnMgdG8g
MSwgc28gd2UgZG9uJ3Qga2VlcCBleGFjdCBwcm9wb3J0aW9ucyB3aXRoID4xIGZhY3RvcnMuIC0t
PgogPGRpdiBjbGFzcz0iY29uc3RyYWluZWRDb250YWluZXIiPgogICAgIDxkaXYgY2xhc3M9Imdy
aWQgZ3JpZFR3b0RvdWJsZU1heEZsZXhDb250ZW50Ij4KICAgICAgICAgPGRpdiBjbGFzcz0ic2l6
ZWRUb0dyaWRBcmVhIGZpcnN0Um93Rmlyc3RDb2x1bW4iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjUw
IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTAiPjwvZGl2PgotICAgICAgICA8ZGl2IGNsYXNzPSJz
aXplZFRvR3JpZEFyZWEgc2Vjb25kUm93Rmlyc3RDb2x1bW4iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9
IjUwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iNDAiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNz
PSJzaXplZFRvR3JpZEFyZWEgc2Vjb25kUm93Rmlyc3RDb2x1bW4iIGRhdGEtZXhwZWN0ZWQtd2lk
dGg9IjUwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMjAiPjwvZGl2PgogICAgIDwvZGl2PgogPC9k
aXY+CiAKQEAgLTE1MiwxMCArMTg0LDExIEBACiAgICAgPC9kaXY+CiA8L2Rpdj4KIAorPCEtLSBX
ZSBub3JtYWxpemUgZnJhY3Rpb24gZmxleCBmYWN0b3JzIHRvIDEsIHNvIHdlIGRvbid0IGtlZXAg
ZXhhY3QgcHJvcG9ydGlvbnMgd2l0aCA+MSBmYWN0b3JzLiAtLT4KIDxkaXYgc3R5bGU9IndpZHRo
OiAxMHB4OyBoZWlnaHQ6IDYwcHgiPgogICAgIDxkaXYgY2xhc3M9ImdyaWQgZ3JpZFR3b0RvdWJs
ZU1heEZsZXhDb250ZW50Ij4KICAgICAgICAgPGRpdiBjbGFzcz0ic2l6ZWRUb0dyaWRBcmVhIGZp
cnN0Um93Rmlyc3RDb2x1bW4iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjUwIiBkYXRhLWV4cGVjdGVk
LWhlaWdodD0iMTAiPjwvZGl2PgotICAgICAgICA8ZGl2IGNsYXNzPSJzaXplZFRvR3JpZEFyZWEg
c2Vjb25kUm93Rmlyc3RDb2x1bW4iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjUwIiBkYXRhLWV4cGVj
dGVkLWhlaWdodD0iNDAiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJzaXplZFRvR3JpZEFy
ZWEgc2Vjb25kUm93Rmlyc3RDb2x1bW4iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjUwIiBkYXRhLWV4
cGVjdGVkLWhlaWdodD0iMjAiPjwvZGl2PgogICAgIDwvZGl2PgogPC9kaXY+CiAKQEAgLTE2Niwx
MCArMTk5LDYyIEBACiAgICAgPC9kaXY+CiA8L2Rpdj4KIAorPCEtLSBXZSBub3JtYWxpemUgZnJh
Y3Rpb24gZmxleCBmYWN0b3JzIHRvIDEsIHNvIHdlIGRvbid0IGtlZXAgZXhhY3QgcHJvcG9ydGlv
bnMgd2l0aCA+MSBmYWN0b3JzLiAtLT4KIDxkaXYgc3R5bGU9IndpZHRoOiAxMHB4OyBoZWlnaHQ6
IDEyMHB4OyI+CiAgICAgPGRpdiBjbGFzcz0iZ3JpZCBncmlkVHdvRG91YmxlTWF4RmxleENvbnRl
bnQiPgogICAgICAgICA8ZGl2IGNsYXNzPSJzaXplZFRvR3JpZEFyZWEgZmlyc3RSb3dGaXJzdENv
bHVtbiIgZGF0YS1leHBlY3RlZC13aWR0aD0iNTAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIxMCI+
PC9kaXY+Ci0gICAgICAgIDxkaXYgY2xhc3M9InNpemVkVG9HcmlkQXJlYSBzZWNvbmRSb3dGaXJz
dENvbHVtbiIgZGF0YS1leHBlY3RlZC13aWR0aD0iNTAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI0
MCI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InNpemVkVG9HcmlkQXJlYSBzZWNvbmRSb3dG
aXJzdENvbHVtbiIgZGF0YS1leHBlY3RlZC13aWR0aD0iNTAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0
PSIyMCI+PC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKworPCEtLSBGbGV4IHRyYWNrIGxlbmd0
aHMgbXVzdCBiZSBwcm9wb3J0aW9uYWwgdG8gdGhlaXIgZmxleCBmYWN0b3JzLi4gLS0+Cis8ZGl2
IHN0eWxlPSJ3aWR0aDogMTBweDsgaGVpZ2h0OiAyNzVweDsiPgorICAgIDxkaXYgY2xhc3M9Imdy
aWQgZ3JpZFJlc3BlY3RQcm9wb3J0aW9ucyIgc3R5bGU9ImhlaWdodDogMTAwJTsiPgorICAgICAg
ICA8ZGl2IGNsYXNzPSJzaXplZFRvR3JpZEFyZWEgZmlyc3RSb3dGaXJzdENvbHVtbiIgZGF0YS1l
eHBlY3RlZC13aWR0aD0iNTAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIyNSI+PC9kaXY+CisgICAg
ICAgIDxkaXYgY2xhc3M9InNpemVkVG9HcmlkQXJlYSBzZWNvbmRSb3dGaXJzdENvbHVtbiIgZGF0
YS1leHBlY3RlZC13aWR0aD0iNTAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI1MCI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgY2xhc3M9InNpemVkVG9HcmlkQXJlYSB0aGlyZFJvd0ZpcnN0Q29sdW1uIiBk
YXRhLWV4cGVjdGVkLXdpZHRoPSI1MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjIwMCI+PC9kaXY+
CisgICAgPC9kaXY+Cis8L2Rpdj4KKworPGRpdiBzdHlsZT0id2lkdGg6IDEwcHg7IGhlaWdodDog
Mjc1cHg7Ij4KKyAgICA8ZGl2IGNsYXNzPSJncmlkIGdyaWRSZXNwZWN0UHJvcG9ydGlvbnMiPgor
ICAgICAgICA8ZGl2IGNsYXNzPSJzaXplZFRvR3JpZEFyZWEgZmlyc3RSb3dGaXJzdENvbHVtbiIg
ZGF0YS1leHBlY3RlZC13aWR0aD0iNTAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIyNSI+PC9kaXY+
CisgICAgICAgIDxkaXYgY2xhc3M9InNpemVkVG9HcmlkQXJlYSBzZWNvbmRSb3dGaXJzdENvbHVt
biIgZGF0YS1leHBlY3RlZC13aWR0aD0iNTAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIxMyI+PC9k
aXY+CisgICAgICAgIDxkaXYgY2xhc3M9InNpemVkVG9HcmlkQXJlYSB0aGlyZFJvd0ZpcnN0Q29s
dW1uIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI1MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjUwIj48
L2Rpdj4KKyAgICA8L2Rpdj4KKzwvZGl2PgorCis8IS0tIEZsZXggdHJhY2sgbGVuZ3RocyBtdXN0
IGJlIHByb3BvcnRpb25hbCBidXQgc3RpbGwgcmVzcGVjdGluZyB0aGVpciBiYXNlIHNpemVzLiAt
LT4KKzxkaXYgc3R5bGU9IndpZHRoOiAxMHB4OyBoZWlnaHQ6IDM1MHB4OyI+CisgICAgPGRpdiBj
bGFzcz0iZ3JpZCBncmlkUmVzcGVjdEJhc2VTaXplUHJvcG9ydGlvbnMiIHN0eWxlPSJoZWlnaHQ6
IDEwMCU7Ij4KKyAgICAgICAgPGRpdiBjbGFzcz0ic2l6ZWRUb0dyaWRBcmVhIGZpcnN0Um93Rmly
c3RDb2x1bW4iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjUwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0i
NTAiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJzaXplZFRvR3JpZEFyZWEgc2Vjb25kUm93
Rmlyc3RDb2x1bW4iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjUwIiBkYXRhLWV4cGVjdGVkLWhlaWdo
dD0iMTAwIj48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0ic2l6ZWRUb0dyaWRBcmVhIHRoaXJk
Um93Rmlyc3RDb2x1bW4iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjUwIiBkYXRhLWV4cGVjdGVkLWhl
aWdodD0iMjAwIj48L2Rpdj4KKyAgICA8L2Rpdj4KKzwvZGl2PgorCis8ZGl2IHN0eWxlPSJ3aWR0
aDogMTBweDsgaGVpZ2h0OiAzNTBweDsiPgorICAgIDxkaXYgY2xhc3M9ImdyaWQgZ3JpZFJlc3Bl
Y3RCYXNlU2l6ZVByb3BvcnRpb25zIj4KKyAgICAgICAgPGRpdiBjbGFzcz0ic2l6ZWRUb0dyaWRB
cmVhIGZpcnN0Um93Rmlyc3RDb2x1bW4iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjUwIiBkYXRhLWV4
cGVjdGVkLWhlaWdodD0iNTAiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJzaXplZFRvR3Jp
ZEFyZWEgc2Vjb25kUm93Rmlyc3RDb2x1bW4iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjUwIiBkYXRh
LWV4cGVjdGVkLWhlaWdodD0iMjUiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJzaXplZFRv
R3JpZEFyZWEgdGhpcmRSb3dGaXJzdENvbHVtbiIgZGF0YS1leHBlY3RlZC13aWR0aD0iNTAiIGRh
dGEtZXhwZWN0ZWQtaGVpZ2h0PSI1MCI+PC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKworPCEt
LSBOb3QgZW5vdWdoIHNwYWNlIHRvIHJlcHNlY3QgcHJvcG9ydGlvbnMsIGJlY2F1c2UgbWluVHJh
Y2tCcmVhZGggaXQncyBhIGhhcmRlciByZXF1aXJlbWVudCAtLT4KKzxkaXYgc3R5bGU9IndpZHRo
OiAxMHB4OyBoZWlnaHQ6IDI3NXB4OyI+CisgICAgPGRpdiBjbGFzcz0iZ3JpZCBncmlkUmVzcGVj
dEJhc2VTaXplQmVmb3JlUHJvcG9ydGlvbnMiIHN0eWxlPSJoZWlnaHQ6IDEwMCU7Ij4KKyAgICAg
ICAgPGRpdiBjbGFzcz0ic2l6ZWRUb0dyaWRBcmVhIGZpcnN0Um93Rmlyc3RDb2x1bW4iIGRhdGEt
ZXhwZWN0ZWQtd2lkdGg9IjUwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iNTAiPjwvZGl2PgorICAg
ICAgICA8ZGl2IGNsYXNzPSJzaXplZFRvR3JpZEFyZWEgc2Vjb25kUm93Rmlyc3RDb2x1bW4iIGRh
dGEtZXhwZWN0ZWQtd2lkdGg9IjUwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iNzUiPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGNsYXNzPSJzaXplZFRvR3JpZEFyZWEgdGhpcmRSb3dGaXJzdENvbHVtbiIg
ZGF0YS1leHBlY3RlZC13aWR0aD0iNTAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIxNTAiPjwvZGl2
PgorICAgIDwvZGl2PgorPC9kaXY+CisKKzxkaXYgc3R5bGU9IndpZHRoOiAxMHB4OyBoZWlnaHQ6
IDI3NXB4OyI+CisgICAgPGRpdiBjbGFzcz0iZ3JpZCBncmlkUmVzcGVjdEJhc2VTaXplQmVmb3Jl
UHJvcG9ydGlvbnMiPgorICAgICAgICA8ZGl2IGNsYXNzPSJzaXplZFRvR3JpZEFyZWEgZmlyc3RS
b3dGaXJzdENvbHVtbiIgZGF0YS1leHBlY3RlZC13aWR0aD0iNTAiIGRhdGEtZXhwZWN0ZWQtaGVp
Z2h0PSI1MCI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InNpemVkVG9HcmlkQXJlYSBzZWNv
bmRSb3dGaXJzdENvbHVtbiIgZGF0YS1leHBlY3RlZC13aWR0aD0iNTAiIGRhdGEtZXhwZWN0ZWQt
aGVpZ2h0PSIyNSI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InNpemVkVG9HcmlkQXJlYSB0
aGlyZFJvd0ZpcnN0Q29sdW1uIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI1MCIgZGF0YS1leHBlY3Rl
ZC1oZWlnaHQ9IjUwIj48L2Rpdj4KICAgICA8L2Rpdj4KIDwvZGl2PgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>262066</attachid>
            <date>2015-09-29 04:36:41 -0700</date>
            <delta_ts>2015-09-29 05:33:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-148944-20150929133617.patch</filename>
            <type>text/plain</type>
            <size>28113</size>
            <attacher name="Javier Fernandez">jfernandez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg5OTgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWQyNWRhNGMwN2M2MGVl
ZjYzZThkNjUxYzJmZWMzZTQ3NzYzYjYwMi4uMjFhMWM0YTMzMzNkOTljNTNlZGFkMmE5YWNkNGFl
ZDJjZGM4M2MwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDE1LTA5LTI5ICBKYXZp
ZXIgRmVybmFuZGV6ICA8amZlcm5hbmRlekBpZ2FsaWEuY29tPgorCisgICAgICAgIFtDU1MgR3Jp
ZCBMYXlvdXRdIEZsZXggdHJhY2tzIHNpemluZyBhbGcgbXVzdCBoYW5kbGUgMGZyIHZhbHVlcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ4OTQ0CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgV2UgZG9uJ3QgYWxs
b3cgMCBhcyBmbGV4aWJsZSBzaXplIHZhbHVlLCB3aGljaCBpcyBub3QgZm9sbG93aW5nIGN1cnJl
bnQKKyAgICAgICAgc3BlY3M7IGl0IGp1c3Qgc3RhdGVzIHRoYXQgaXQgbXVzdCBiZSBhIHBvc2l0
aXZlIHZhbHVlLiBUaGlzIHBhdGNoCisgICAgICAgIGFkZHMgc3VjaCBjaGFuZ2UgaW4gdGhlIHBh
cnNlciBidXQgc29tZSBhZGRpdGlvbmFsIGxvZ2ljIG11c3QgYmUgYWRkZWQKKyAgICAgICAgYXMg
d2VsbCB0byBoYW5kbGUgMCB2YWx1ZXMgZHVyaW5nIHRoZSBmbGV4IHRyYWNrcyBzaXppbmcgYWxn
b3JpdGhtLgorCisgICAgICAgIFRoZSBvbGQgYWxnb3JpdGhtIGRpZG4ndCB0YWtlIDAgdmFsdWVz
IGludG8gYWNjb3VudCwgc28gdGhlcmUgaXMgdGhlIHJpc2sKKyAgICAgICAgb2YgZGl2aXNpb24g
YnkgemVyby4gQWRkaXRpb25hbGx5LCBpdCB3YXMgbm90IGhhbmRsaW5nIGZyYWN0aW9uIHZhbHVl
cworICAgICAgICBpbiB0aGUgYmVzdCB3YXkuIFRoZSBsYXN0IHZlcnNpb25zIG9mIHRoZSBzcGVj
IGNoYW5nZWQgdGhpcyBhbGdvcml0aG0gaW4KKyAgICAgICAgb3JkZXIgdG8gaGFuZGxlIGZyYWN0
aW9uIHZhbHVlcyBzbyB0aGF0IHRoZXkgZG9uJ3QgY2F1c2UgZXhwb25lbnRpYWwKKyAgICAgICAg
Z3JvdyBvZiB0cmFja3MgdXNpbmcgdmFsdWVzIGJpZ2dlciB0aGFuIDEuCisKKyAgICAgICAgVGhp
cyBwYXRjaCBpbXBsZW1lbnRzIGFsc28gc3VjaCBuZXcgYWxnb3JpdGhtLCBzbyB3ZSBjYW4gZGVh
bCBub3Qgb25seQorICAgICAgICB3aXRoIDAgdmFsdWVzLCBidXQgbWFuYWdpbmcgZnJhY3Rpb24g
dmFsdWVzIHByb3Blcmx5LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywganVzdCBzb21lIGFkZGl0
aW9uYWwgdGVzdCBjYXNlcyBhbmQgc29tZSBvZiB0aGVtIHJlYmFzZWxpbmVkLgorCisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bm9ybWFsaXpl
ZEZsZXhGcmFjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJHcmlkOjpjb21wdXRlVXNl
ZEJyZWFkdGhPZkdyaWRUcmFja3MpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6Y29t
cHV0ZUZsZXhGYWN0b3JVbml0U2l6ZSk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
R3JpZDo6ZmluZEZsZXhGYWN0b3JVbml0U2l6ZSk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyR3JpZDo6R3JpZFRyYWNrRm9yTm9ybWFsaXphdGlvbik6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJHcmlkOjpjb21wdXRlTm9ybWFsaXplZEZyYWN0aW9uQnJlYWR0aCk6
IERlbGV0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckdyaWQuaDoKKwogMjAxNS0wOS0x
OCAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBbTWVk
aWFTdHJlYW1dIEZpbmlzaCBpbXBsZW1lbnRpbmcgTWVkaWFEZXZpY2VzLmVudW1lcmF0ZURldmlj
ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcAppbmRleCAwN2Q5OWZkNTdl
NDlmNmM3ZGIzZmExMzIzOWUxNjVkMjVkYzc0YjhkLi4xZWQxZmNlMmNiYzdmODdmN2JkOTE1ZTVj
N2I2YWEzYWJlZDVhMzNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyR3JpZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3Bw
CkBAIC0xMTYsMTkgKzExNiw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2luZmluaXRlbHlHcm93
YWJsZSB7IGZhbHNlIH07CiB9OwogCi1zdHJ1Y3QgR3JpZFRyYWNrRm9yTm9ybWFsaXphdGlvbiB7
Ci0gICAgR3JpZFRyYWNrRm9yTm9ybWFsaXphdGlvbihjb25zdCBHcmlkVHJhY2smIHRyYWNrLCBk
b3VibGUgZmxleCkKLSAgICAgICAgOiBtX3RyYWNrKCZ0cmFjaykKLSAgICAgICAgLCBtX2ZsZXgo
ZmxleCkKLSAgICAgICAgLCBtX25vcm1hbGl6ZWRGbGV4VmFsdWUodHJhY2suYmFzZVNpemUoKSAv
IGZsZXgpCi0gICAgewotICAgIH0KLQotICAgIGNvbnN0IEdyaWRUcmFjayogbV90cmFjazsKLSAg
ICBkb3VibGUgbV9mbGV4OwotICAgIExheW91dFVuaXQgbV9ub3JtYWxpemVkRmxleFZhbHVlOwot
fTsKLQogY2xhc3MgUmVuZGVyR3JpZDo6R3JpZEl0ZXJhdG9yIHsKICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShHcmlkSXRlcmF0b3IpOwogcHVibGljOgpAQCAtMzY5LDYgKzM1NiwxMSBAQCBib29s
IFJlbmRlckdyaWQ6OmdyaWRFbGVtZW50SXNTaHJpbmtUb0ZpdCgpCiAgICAgcmV0dXJuIGlzRmxv
YXRpbmdPck91dE9mRmxvd1Bvc2l0aW9uZWQoKTsKIH0KIAorc3RhdGljIGlubGluZSBkb3VibGUg
bm9ybWFsaXplZEZsZXhGcmFjdGlvbihjb25zdCBHcmlkVHJhY2smIHRyYWNrLCBkb3VibGUgZmxl
eEZhY3RvcikKK3sKKyAgICByZXR1cm4gdHJhY2suYmFzZVNpemUoKSAvIHN0ZDo6bWF4PGRvdWJs
ZT4oMSwgZmxleEZhY3Rvcik7Cit9CisKIHZvaWQgUmVuZGVyR3JpZDo6Y29tcHV0ZVVzZWRCcmVh
ZHRoT2ZHcmlkVHJhY2tzKEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiBkaXJlY3Rpb24sIEdyaWRT
aXppbmdEYXRhJiBzaXppbmdEYXRhLCBMYXlvdXRVbml0JiBhdmFpbGFibGVMb2dpY2FsU3BhY2Up
CiB7CiAgICAgY29uc3QgTGF5b3V0VW5pdCBpbml0aWFsQXZhaWxhYmxlTG9naWNhbFNwYWNlID0g
YXZhaWxhYmxlTG9naWNhbFNwYWNlOwpAQCAtNDI5LDE0ICs0MjEsMTIgQEAgdm9pZCBSZW5kZXJH
cmlkOjpjb21wdXRlVXNlZEJyZWFkdGhPZkdyaWRUcmFja3MoR3JpZFRyYWNrU2l6aW5nRGlyZWN0
aW9uIGRpcmVjdGkKICAgICAgICAgcmV0dXJuOwogCiAgICAgLy8gNC4gR3JvdyBhbGwgR3JpZCB0
cmFja3MgaGF2aW5nIGEgZnJhY3Rpb24gYXMgdGhlIE1heFRyYWNrU2l6aW5nRnVuY3Rpb24uCi0g
ICAgZG91YmxlIG5vcm1hbGl6ZWRGcmFjdGlvbkJyZWFkdGggPSAwOworICAgIGRvdWJsZSBmbGV4
RnJhY3Rpb24gPSAwOwogICAgIGlmICghaGFzVW5kZWZpbmVkUmVtYWluaW5nU3BhY2UpCi0gICAg
ICAgIG5vcm1hbGl6ZWRGcmFjdGlvbkJyZWFkdGggPSBjb21wdXRlTm9ybWFsaXplZEZyYWN0aW9u
QnJlYWR0aCh0cmFja3MsIEdyaWRTcGFuKDAsIHRyYWNrcy5zaXplKCkgLSAxKSwgZGlyZWN0aW9u
LCBpbml0aWFsQXZhaWxhYmxlTG9naWNhbFNwYWNlKTsKKyAgICAgICAgZmxleEZyYWN0aW9uID0g
ZmluZEZsZXhGYWN0b3JVbml0U2l6ZSh0cmFja3MsIEdyaWRTcGFuKDAsIHRyYWNrcy5zaXplKCkg
LSAxKSwgZGlyZWN0aW9uLCBpbml0aWFsQXZhaWxhYmxlTG9naWNhbFNwYWNlKTsKICAgICBlbHNl
IHsKLSAgICAgICAgZm9yIChhdXRvIHRyYWNrSW5kZXggOiBmbGV4aWJsZVNpemVkVHJhY2tzSW5k
ZXgpIHsKLSAgICAgICAgICAgIGNvbnN0IEdyaWRUcmFja1NpemUmIHRyYWNrU2l6ZSA9IGdyaWRU
cmFja1NpemUoZGlyZWN0aW9uLCB0cmFja0luZGV4KTsKLSAgICAgICAgICAgIG5vcm1hbGl6ZWRG
cmFjdGlvbkJyZWFkdGggPSBzdGQ6Om1heChub3JtYWxpemVkRnJhY3Rpb25CcmVhZHRoLCB0cmFj
a3NbdHJhY2tJbmRleF0uYmFzZVNpemUoKSAvIHRyYWNrU2l6ZS5tYXhUcmFja0JyZWFkdGgoKS5m
bGV4KCkpOwotICAgICAgICB9CisgICAgICAgIGZvciAoY29uc3QgYXV0byYgdHJhY2tJbmRleCA6
IGZsZXhpYmxlU2l6ZWRUcmFja3NJbmRleCkKKyAgICAgICAgICAgIGZsZXhGcmFjdGlvbiA9IHN0
ZDo6bWF4KGZsZXhGcmFjdGlvbiwgbm9ybWFsaXplZEZsZXhGcmFjdGlvbih0cmFja3NbdHJhY2tJ
bmRleF0sIGdyaWRUcmFja1NpemUoZGlyZWN0aW9uLCB0cmFja0luZGV4KS5tYXhUcmFja0JyZWFk
dGgoKS5mbGV4KCkpKTsKIAogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgZmxleGli
bGVTaXplZFRyYWNrc0luZGV4LnNpemUoKTsgKytpKSB7CiAgICAgICAgICAgICBHcmlkSXRlcmF0
b3IgaXRlcmF0b3IobV9ncmlkLCBkaXJlY3Rpb24sIGZsZXhpYmxlU2l6ZWRUcmFja3NJbmRleFtp
XSk7CkBAIC00NDgsOCArNDM4LDcgQEAgdm9pZCBSZW5kZXJHcmlkOjpjb21wdXRlVXNlZEJyZWFk
dGhPZkdyaWRUcmFja3MoR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uIGRpcmVjdGkKICAgICAgICAg
ICAgICAgICBpZiAoaSA+IDAgJiYgc3Bhbi5yZXNvbHZlZEluaXRpYWxQb3NpdGlvbi50b0ludCgp
IDw9IGZsZXhpYmxlU2l6ZWRUcmFja3NJbmRleFtpIC0gMV0pCiAgICAgICAgICAgICAgICAgICAg
IGNvbnRpbnVlOwogCi0gICAgICAgICAgICAgICAgZG91YmxlIGl0ZW1Ob3JtYWxpemVkRmxleEJy
ZWFkdGggPSBjb21wdXRlTm9ybWFsaXplZEZyYWN0aW9uQnJlYWR0aCh0cmFja3MsIHNwYW4sIGRp
cmVjdGlvbiwgbWF4Q29udGVudEZvckNoaWxkKCpncmlkSXRlbSwgZGlyZWN0aW9uLCBzaXppbmdE
YXRhLmNvbHVtblRyYWNrcykpOwotICAgICAgICAgICAgICAgIG5vcm1hbGl6ZWRGcmFjdGlvbkJy
ZWFkdGggPSBzdGQ6Om1heChub3JtYWxpemVkRnJhY3Rpb25CcmVhZHRoLCBpdGVtTm9ybWFsaXpl
ZEZsZXhCcmVhZHRoKTsKKyAgICAgICAgICAgICAgICBmbGV4RnJhY3Rpb24gPSBzdGQ6Om1heChm
bGV4RnJhY3Rpb24sIGZpbmRGbGV4RmFjdG9yVW5pdFNpemUodHJhY2tzLCBzcGFuLCBkaXJlY3Rp
b24sIG1heENvbnRlbnRGb3JDaGlsZCgqZ3JpZEl0ZW0sIGRpcmVjdGlvbiwgc2l6aW5nRGF0YS5j
b2x1bW5UcmFja3MpKSk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CkBAIC00NTcs
NyArNDQ2LDcgQEAgdm9pZCBSZW5kZXJHcmlkOjpjb21wdXRlVXNlZEJyZWFkdGhPZkdyaWRUcmFj
a3MoR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uIGRpcmVjdGkKICAgICBmb3IgKGF1dG8gdHJhY2tJ
bmRleCA6IGZsZXhpYmxlU2l6ZWRUcmFja3NJbmRleCkgewogICAgICAgICBjb25zdCBHcmlkVHJh
Y2tTaXplJiB0cmFja1NpemUgPSBncmlkVHJhY2tTaXplKGRpcmVjdGlvbiwgdHJhY2tJbmRleCk7
CiAgICAgICAgIEdyaWRUcmFjayYgdHJhY2sgPSB0cmFja3NbdHJhY2tJbmRleF07Ci0gICAgICAg
IExheW91dFVuaXQgYmFzZVNpemUgPSBzdGQ6Om1heDxMYXlvdXRVbml0Pih0cmFjay5iYXNlU2l6
ZSgpLCBub3JtYWxpemVkRnJhY3Rpb25CcmVhZHRoICogdHJhY2tTaXplLm1heFRyYWNrQnJlYWR0
aCgpLmZsZXgoKSk7CisgICAgICAgIExheW91dFVuaXQgYmFzZVNpemUgPSBzdGQ6Om1heDxMYXlv
dXRVbml0Pih0cmFjay5iYXNlU2l6ZSgpLCBmbGV4RnJhY3Rpb24gKiB0cmFja1NpemUubWF4VHJh
Y2tCcmVhZHRoKCkuZmxleCgpKTsKICAgICAgICAgdHJhY2suc2V0QmFzZVNpemUoYmFzZVNpemUp
OwogICAgICAgICBhdmFpbGFibGVMb2dpY2FsU3BhY2UgLT0gYmFzZVNpemU7CiAgICAgfQpAQCAt
NTAwLDU3ICs0ODksNTYgQEAgTGF5b3V0VW5pdCBSZW5kZXJHcmlkOjpjb21wdXRlVXNlZEJyZWFk
dGhPZlNwZWNpZmllZExlbmd0aChHcmlkVHJhY2tTaXppbmdEaXJlY3QKICAgICByZXR1cm4gdmFs
dWVGb3JMZW5ndGgodHJhY2tMZW5ndGgsIGNvbXB1dGVDb250ZW50TG9naWNhbEhlaWdodChNYWlu
T3JQcmVmZXJyZWRTaXplLCBzdHlsZSgpLmxvZ2ljYWxIZWlnaHQoKSwgTnVsbG9wdCkudmFsdWVP
cigwKSk7CiB9CiAKLWRvdWJsZSBSZW5kZXJHcmlkOjpjb21wdXRlTm9ybWFsaXplZEZyYWN0aW9u
QnJlYWR0aChWZWN0b3I8R3JpZFRyYWNrPiYgdHJhY2tzLCBjb25zdCBHcmlkU3BhbiYgdHJhY2tz
U3BhbiwgR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uIGRpcmVjdGlvbiwgTGF5b3V0VW5pdCBzcGFj
ZVRvRmlsbCkgY29uc3QKK2RvdWJsZSBSZW5kZXJHcmlkOjpjb21wdXRlRmxleEZhY3RvclVuaXRT
aXplKGNvbnN0IFZlY3RvcjxHcmlkVHJhY2s+JiB0cmFja3MsIEdyaWRUcmFja1NpemluZ0RpcmVj
dGlvbiBkaXJlY3Rpb24sIGRvdWJsZSBmbGV4RmFjdG9yU3VtLCBMYXlvdXRVbml0IGxlZnRPdmVy
U3BhY2UsIGNvbnN0IFZlY3RvcjxzaXplX3QsIDg+JiBmbGV4aWJsZVRyYWNrc0luZGV4ZXMsIHN0
ZDo6dW5pcXVlX3B0cjxUcmFja0luZGV4U2V0PiB0cmFja3NUb1RyZWF0QXNJbmZsZXhpYmxlKSBj
b25zdAogewotICAgIExheW91dFVuaXQgYWxsb2NhdGVkU3BhY2U7Ci0gICAgVmVjdG9yPEdyaWRU
cmFja0Zvck5vcm1hbGl6YXRpb24+IHRyYWNrc0Zvck5vcm1hbGl6YXRpb247Ci0gICAgZm9yIChh
dXRvJiBwb3NpdGlvbiA6IHRyYWNrc1NwYW4pIHsKLSAgICAgICAgR3JpZFRyYWNrJiB0cmFjayA9
IHRyYWNrc1twb3NpdGlvbi50b0ludCgpXTsKLSAgICAgICAgYWxsb2NhdGVkU3BhY2UgKz0gdHJh
Y2suYmFzZVNpemUoKTsKKyAgICAvLyBXZSB3YW50IHRvIGF2b2lkIHRoZSBlZmZlY3Qgb2YgZmxl
eCBmYWN0b3JzIHN1bSBiZWxvdyAxIG1ha2luZyB0aGUgZmFjdG9yIHVuaXQgc2l6ZSB0byBncm93
IGV4cG9uZW50aWFsbHkuCisgICAgZG91YmxlIGh5cG90aGV0aWNhbEZhY3RvclVuaXRTaXplID0g
bGVmdE92ZXJTcGFjZSAvIHN0ZDo6bWF4PGRvdWJsZT4oMSwgZmxleEZhY3RvclN1bSk7CiAKLSAg
ICAgICAgY29uc3QgR3JpZFRyYWNrU2l6ZSYgdHJhY2tTaXplID0gZ3JpZFRyYWNrU2l6ZShkaXJl
Y3Rpb24sIHBvc2l0aW9uLnRvSW50KCkpOwotICAgICAgICBpZiAoIXRyYWNrU2l6ZS5tYXhUcmFj
a0JyZWFkdGgoKS5pc0ZsZXgoKSkKKyAgICAvLyBwcm9kdWN0IG9mIHRoZSBoeXBvdGhldGljYWwg
ImZsZXggZmFjdG9yIHVuaXQiIGFuZCBhbnkgZmxleGlibGUgdHJhY2sncyAiZmxleCBmYWN0b3Ii
IG11c3QgYmUgZ3JhdGVyIHRoYW4gc3VjaCB0cmFjaydzICJiYXNlIHNpemUiLgorICAgIGJvb2wg
dmFsaWRGbGV4RmFjdG9yVW5pdCA9IHRydWU7CisgICAgZm9yIChhdXRvIGluZGV4IDogZmxleGli
bGVUcmFja3NJbmRleGVzKSB7CisgICAgICAgIGlmICh0cmFja3NUb1RyZWF0QXNJbmZsZXhpYmxl
ICYmIHRyYWNrc1RvVHJlYXRBc0luZmxleGlibGUtPmNvbnRhaW5zKGluZGV4KSkKICAgICAgICAg
ICAgIGNvbnRpbnVlOwotCi0gICAgICAgIHRyYWNrc0Zvck5vcm1hbGl6YXRpb24uYXBwZW5kKEdy
aWRUcmFja0Zvck5vcm1hbGl6YXRpb24odHJhY2ssIHRyYWNrU2l6ZS5tYXhUcmFja0JyZWFkdGgo
KS5mbGV4KCkpKTsKKyAgICAgICAgTGF5b3V0VW5pdCBiYXNlU2l6ZSA9IHRyYWNrc1tpbmRleF0u
YmFzZVNpemUoKTsKKyAgICAgICAgZG91YmxlIGZsZXhGYWN0b3IgPSBncmlkVHJhY2tTaXplKGRp
cmVjdGlvbiwgaW5kZXgpLm1heFRyYWNrQnJlYWR0aCgpLmZsZXgoKTsKKyAgICAgICAgLy8gdHJl
YXRpbmcgYWxsIHN1Y2ggdHJhY2tzIGFzIGluZmxleGlibGUuCisgICAgICAgIGlmIChiYXNlU2l6
ZSA+IGh5cG90aGV0aWNhbEZhY3RvclVuaXRTaXplICogZmxleEZhY3RvcikgeworICAgICAgICAg
ICAgbGVmdE92ZXJTcGFjZSAtPSBiYXNlU2l6ZTsKKyAgICAgICAgICAgIGZsZXhGYWN0b3JTdW0g
LT0gZmxleEZhY3RvcjsKKyAgICAgICAgICAgIGlmICghdHJhY2tzVG9UcmVhdEFzSW5mbGV4aWJs
ZSkKKyAgICAgICAgICAgICAgICB0cmFja3NUb1RyZWF0QXNJbmZsZXhpYmxlID0gc3RkOjp1bmlx
dWVfcHRyPFRyYWNrSW5kZXhTZXQ+KG5ldyBUcmFja0luZGV4U2V0KCkpOworICAgICAgICAgICAg
dHJhY2tzVG9UcmVhdEFzSW5mbGV4aWJsZS0+YWRkKGluZGV4KTsKKyAgICAgICAgICAgIHZhbGlk
RmxleEZhY3RvclVuaXQgPSBmYWxzZTsKKyAgICAgICAgfQogICAgIH0KKyAgICBpZiAoIXZhbGlk
RmxleEZhY3RvclVuaXQpCisgICAgICAgIHJldHVybiBjb21wdXRlRmxleEZhY3RvclVuaXRTaXpl
KHRyYWNrcywgZGlyZWN0aW9uLCBmbGV4RmFjdG9yU3VtLCBsZWZ0T3ZlclNwYWNlLCBmbGV4aWJs
ZVRyYWNrc0luZGV4ZXMsIFdURjo6bW92ZSh0cmFja3NUb1RyZWF0QXNJbmZsZXhpYmxlKSk7Cisg
ICAgcmV0dXJuIGh5cG90aGV0aWNhbEZhY3RvclVuaXRTaXplOworfQogCi0gICAgLy8gVGhlIGZ1
bmN0aW9uIGlzIG5vdCBjYWxsZWQgaWYgd2UgZG9uJ3QgaGF2ZSA8ZmxleD4gZ3JpZCB0cmFja3MK
LSAgICBBU1NFUlQoIXRyYWNrc0Zvck5vcm1hbGl6YXRpb24uaXNFbXB0eSgpKTsKLQotICAgIHN0
ZDo6c29ydCh0cmFja3NGb3JOb3JtYWxpemF0aW9uLmJlZ2luKCksIHRyYWNrc0Zvck5vcm1hbGl6
YXRpb24uZW5kKCksCi0gICAgICAgICAgICAgIFtdKGNvbnN0IEdyaWRUcmFja0Zvck5vcm1hbGl6
YXRpb24mIHRyYWNrMSwgY29uc3QgR3JpZFRyYWNrRm9yTm9ybWFsaXphdGlvbiYgdHJhY2syKSB7
Ci0gICAgICAgICAgICAgICAgICByZXR1cm4gdHJhY2sxLm1fbm9ybWFsaXplZEZsZXhWYWx1ZSA8
IHRyYWNrMi5tX25vcm1hbGl6ZWRGbGV4VmFsdWU7Ci0gICAgICAgICAgICAgIH0pOwotCi0gICAg
Ly8gVGhlc2UgdmFsdWVzIHdvcmsgdG9nZXRoZXI6IGFzIHdlIHdhbGsgb3ZlciBvdXIgZ3JpZCB0
cmFja3MsIHdlIGluY3JlYXNlIGZyYWN0aW9uVmFsdWVCYXNlZE9uR3JpZEl0ZW1zUmF0aW8KLSAg
ICAvLyB0byBtYXRjaCBhIGdyaWQgdHJhY2sncyB1c2VkQnJlYWR0aCB0byA8ZmxleD4gcmF0aW8g
dW50aWwgdGhlIHRvdGFsIGZyYWN0aW9ucyBzaXplZCBncmlkIHRyYWNrcyB3b3VsZG4ndAotICAg
IC8vIGZpdCBpbnRvIGF2YWlsYWJsZUxvZ2ljYWxTcGFjZUlnbm9yaW5nRnJhY3Rpb25UcmFja3Mu
Ci0gICAgZG91YmxlIGFjY3VtdWxhdGVkRnJhY3Rpb25zID0gMDsKLSAgICBMYXlvdXRVbml0IGZy
YWN0aW9uVmFsdWVCYXNlZE9uR3JpZEl0ZW1zUmF0aW8gPSAwOwotICAgIExheW91dFVuaXQgYXZh
aWxhYmxlTG9naWNhbFNwYWNlSWdub3JpbmdGcmFjdGlvblRyYWNrcyA9IHNwYWNlVG9GaWxsIC0g
YWxsb2NhdGVkU3BhY2U7Ci0KLSAgICBmb3IgKGF1dG8mIHRyYWNrIDogdHJhY2tzRm9yTm9ybWFs
aXphdGlvbikgewotICAgICAgICBpZiAodHJhY2subV9ub3JtYWxpemVkRmxleFZhbHVlID4gZnJh
Y3Rpb25WYWx1ZUJhc2VkT25HcmlkSXRlbXNSYXRpbykgewotICAgICAgICAgICAgLy8gSWYgdGhl
IG5vcm1hbGl6ZWQgZmxleCB2YWx1ZSAod2Ugb3JkZXJlZCB8dHJhY2tzRm9yTm9ybWFsaXphdGlv
bnwgYnkgaW5jcmVhc2luZyBub3JtYWxpemVkIGZsZXggdmFsdWUpCi0gICAgICAgICAgICAvLyB3
aWxsIG1ha2UgdXMgb3ZlcmZsb3cgb3VyIGNvbnRhaW5lciwgdGhlbiBzdG9wLiBXZSBoYXZlIHRo
ZSBwcmV2aW91cyBzdGVwJ3MgcmF0aW8gaXMgdGhlIGJlc3QgZml0LgotICAgICAgICAgICAgaWYg
KHRyYWNrLm1fbm9ybWFsaXplZEZsZXhWYWx1ZSAqIGFjY3VtdWxhdGVkRnJhY3Rpb25zID4gYXZh
aWxhYmxlTG9naWNhbFNwYWNlSWdub3JpbmdGcmFjdGlvblRyYWNrcykKLSAgICAgICAgICAgICAg
ICBicmVhazsKLQotICAgICAgICAgICAgZnJhY3Rpb25WYWx1ZUJhc2VkT25HcmlkSXRlbXNSYXRp
byA9IHRyYWNrLm1fbm9ybWFsaXplZEZsZXhWYWx1ZTsKLSAgICAgICAgfQorZG91YmxlIFJlbmRl
ckdyaWQ6OmZpbmRGbGV4RmFjdG9yVW5pdFNpemUoY29uc3QgVmVjdG9yPEdyaWRUcmFjaz4mIHRy
YWNrcywgY29uc3QgR3JpZFNwYW4mIHRyYWNrc1NwYW4sIEdyaWRUcmFja1NpemluZ0RpcmVjdGlv
biBkaXJlY3Rpb24sIExheW91dFVuaXQgbGVmdE92ZXJTcGFjZSkgY29uc3QKK3sKKyAgICBpZiAo
bGVmdE92ZXJTcGFjZSA8PSAwKQorICAgICAgICByZXR1cm4gMDsKIAotICAgICAgICBhY2N1bXVs
YXRlZEZyYWN0aW9ucyArPSB0cmFjay5tX2ZsZXg7Ci0gICAgICAgIC8vIFRoaXMgaXRlbSB3YXMg
cHJvY2Vzc2VkIHNvIHdlIHJlLWFkZCBpdHMgdXNlZCBicmVhZHRoIHRvIHRoZSBhdmFpbGFibGUg
c3BhY2UgdG8gYWNjdXJhdGVseSBjb3VudCB0aGUgcmVtYWluaW5nIHNwYWNlLgotICAgICAgICBh
dmFpbGFibGVMb2dpY2FsU3BhY2VJZ25vcmluZ0ZyYWN0aW9uVHJhY2tzICs9IHRyYWNrLm1fdHJh
Y2stPmJhc2VTaXplKCk7CisgICAgZG91YmxlIGZsZXhGYWN0b3JTdW0gPSAwOworICAgIFZlY3Rv
cjxzaXplX3QsIDg+IGZsZXhpYmxlVHJhY2tzSW5kZXhlczsKKyAgICBmb3IgKGNvbnN0IGF1dG8m
IHJlc29sdmVkUG9zaXRpb24gOiB0cmFja3NTcGFuKSB7CisgICAgICAgIHNpemVfdCB0cmFja0lu
ZGV4ID0gcmVzb2x2ZWRQb3NpdGlvbi50b0ludCgpOworICAgICAgICBHcmlkVHJhY2tTaXplIHRy
YWNrU2l6ZSA9IGdyaWRUcmFja1NpemUoZGlyZWN0aW9uLCB0cmFja0luZGV4KTsKKyAgICAgICAg
aWYgKCF0cmFja1NpemUubWF4VHJhY2tCcmVhZHRoKCkuaXNGbGV4KCkpCisgICAgICAgICAgICBs
ZWZ0T3ZlclNwYWNlIC09IHRyYWNrc1t0cmFja0luZGV4XS5iYXNlU2l6ZSgpOworICAgICAgICBl
bHNlIHsKKyAgICAgICAgICAgIGRvdWJsZSBmbGV4RmFjdG9yID0gdHJhY2tTaXplLm1heFRyYWNr
QnJlYWR0aCgpLmZsZXgoKTsKKyAgICAgICAgICAgIGZsZXhpYmxlVHJhY2tzSW5kZXhlcy5hcHBl
bmQodHJhY2tJbmRleCk7CisgICAgICAgICAgICBmbGV4RmFjdG9yU3VtICs9IGZsZXhGYWN0b3I7
CisgICAgICAgIH0KICAgICB9CiAKLSAgICAvLyBMZXQgZmxleCBmYWN0b3Igc3VtIGJlIHRoZSBz
dW0gb2YgdGhlIGZsZXggZmFjdG9ycyBvZiB0aGUgZmxleGlibGUgdHJhY2tzLiBJZiB0aGlzIHZh
bHVlCi0gICAgLy8gaXMgbGVzcyB0aGFuIDEsIHNldCBpdCB0byAxIGluc3RlYWQuCi0gICAgaWYg
KGFjY3VtdWxhdGVkRnJhY3Rpb25zIDwgMSkKLSAgICAgICAgcmV0dXJuIGF2YWlsYWJsZUxvZ2lj
YWxTcGFjZUlnbm9yaW5nRnJhY3Rpb25UcmFja3M7CisgICAgLy8gVGhlIGZ1bmN0aW9uIGlzIG5v
dCBjYWxsZWQgaWYgd2UgZG9uJ3QgaGF2ZSA8ZmxleD4gZ3JpZCB0cmFja3MKKyAgICBBU1NFUlQo
IWZsZXhpYmxlVHJhY2tzSW5kZXhlcy5pc0VtcHR5KCkpOwogCi0gICAgcmV0dXJuIGF2YWlsYWJs
ZUxvZ2ljYWxTcGFjZUlnbm9yaW5nRnJhY3Rpb25UcmFja3MgLyBhY2N1bXVsYXRlZEZyYWN0aW9u
czsKKyAgICByZXR1cm4gY29tcHV0ZUZsZXhGYWN0b3JVbml0U2l6ZSh0cmFja3MsIGRpcmVjdGlv
biwgZmxleEZhY3RvclN1bSwgbGVmdE92ZXJTcGFjZSwgZmxleGlibGVUcmFja3NJbmRleGVzKTsK
IH0KIAogYm9vbCBSZW5kZXJHcmlkOjpoYXNEZWZpbml0ZUxvZ2ljYWxTaXplKEdyaWRUcmFja1Np
emluZ0RpcmVjdGlvbiBkaXJlY3Rpb24pIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckdyaWQuaAppbmRleCBlZTcxZmRlNmVlOTNhNGUzZjVmYWJmOWZhOWQ1ZTQzYWI4YzE1NTNiLi40
OGM3MzUyMGY4NWYzZTFiNzdjNDQ2MjYzMzYxZGE4MmNkMzg2YzZjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJHcmlkLmgKQEAgLTExMyw3ICsxMTMsOSBAQCBwcml2YXRlOgogICAgIHRl
bXBsYXRlIDxUcmFja1NpemVDb21wdXRhdGlvblBoYXNlPiB2b2lkIHJlc29sdmVDb250ZW50QmFz
ZWRUcmFja1NpemluZ0Z1bmN0aW9uc0Zvckl0ZW1zKEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiwg
R3JpZFNpemluZ0RhdGEmLCBjb25zdCBHcmlkSXRlbXNTcGFuR3JvdXBSYW5nZSYpOwogICAgIHRl
bXBsYXRlIDxUcmFja1NpemVDb21wdXRhdGlvblBoYXNlPiB2b2lkIGRpc3RyaWJ1dGVTcGFjZVRv
VHJhY2tzKFZlY3RvcjxHcmlkVHJhY2sqPiYsIGNvbnN0IFZlY3RvcjxHcmlkVHJhY2sqPiogZ3Jv
d0JleW9uZEdyb3d0aExpbWl0c1RyYWNrcywgTGF5b3V0VW5pdCYgYXZhaWxhYmxlTG9naWNhbFNw
YWNlKTsKIAotICAgIGRvdWJsZSBjb21wdXRlTm9ybWFsaXplZEZyYWN0aW9uQnJlYWR0aChWZWN0
b3I8R3JpZFRyYWNrPiYsIGNvbnN0IEdyaWRTcGFuJiB0cmFja3NTcGFuLCBHcmlkVHJhY2tTaXpp
bmdEaXJlY3Rpb24sIExheW91dFVuaXQgYXZhaWxhYmxlTG9naWNhbFNwYWNlKSBjb25zdDsKKyAg
ICB0eXBlZGVmIEhhc2hTZXQ8dW5zaWduZWQsIERlZmF1bHRIYXNoPHVuc2lnbmVkPjo6SGFzaCwg
V1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1bnNpZ25lZD4+IFRyYWNrSW5kZXhT
ZXQ7CisgICAgZG91YmxlIGNvbXB1dGVGbGV4RmFjdG9yVW5pdFNpemUoY29uc3QgVmVjdG9yPEdy
aWRUcmFjaz4mLCBHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24sIGRvdWJsZSBmbGV4RmFjdG9yU3Vt
LCBMYXlvdXRVbml0IGxlZnRPdmVyU3BhY2UsIGNvbnN0IFZlY3RvcjxzaXplX3QsIDg+JiBmbGV4
aWJsZVRyYWNrc0luZGV4ZXMsIHN0ZDo6dW5pcXVlX3B0cjxUcmFja0luZGV4U2V0PiB0cmFja3NU
b1RyZWF0QXNJbmZsZXhpYmxlID0gbnVsbHB0cikgY29uc3Q7CisgICAgZG91YmxlIGZpbmRGbGV4
RmFjdG9yVW5pdFNpemUoY29uc3QgVmVjdG9yPEdyaWRUcmFjaz4mLCBjb25zdCBHcmlkU3BhbiYs
IEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiwgTGF5b3V0VW5pdCBzcGFjZVRvRmlsbCkgY29uc3Q7
CiAKICAgICBHcmlkVHJhY2tTaXplIGdyaWRUcmFja1NpemUoR3JpZFRyYWNrU2l6aW5nRGlyZWN0
aW9uLCB1bnNpZ25lZCkgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlZjlkNjUzMWQzM2M0NjBiMjNiY2Y1YTI3
ZGI2ZTg5NzBlMmUxN2FmLi5mNTI4NWViMjcwNjRlOTZiNjI0Y2Y2YmJkZWU0ODYwNzRiYjE4ZjQ5
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTUtMDktMjkgIEphdmllciBGZXJuYW5kZXogIDxq
ZmVybmFuZGV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgW0NTUyBHcmlkIExheW91dF0gRmxleCB0
cmFja3Mgc2l6aW5nIGFsZyBtdXN0IGhhbmRsZSAwZnIgdmFsdWVzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDg5NDQKKworICAgICAgICBSZXZpZXdl
ZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBBbGxvdyAwIGFzIGZsZXggZmFjdG9yIHZhbHVl
IGFuZCBpbXBsZW1lbnQgdGhlIG5ldyBmbGV4IHRyYWNrIHNpemluZyBhbGdvcml0aG0uCisKKyAg
ICAgICAgKiBmYXN0L2Nzcy1ncmlkLWxheW91dC9mbGV4LWFuZC1taW5tYXgtY29udGVudC1yZXNv
bHV0aW9uLXJvd3MuaHRtbDogVXBkYXRlZCBzb21lIGNhc2VzLgorICAgICAgICAqIGZhc3QvY3Nz
LWdyaWQtbGF5b3V0L2ZsZXgtY29udGVudC1yZXNvbHV0aW9uLWNvbHVtbnMtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIGZhc3QvY3NzLWdyaWQtbGF5b3V0L2ZsZXgtY29udGVudC1yZXNvbHV0aW9u
LWNvbHVtbnMuaHRtbDogQWRkZWQgc29tZSBuZXcgY2FzZXMuCisgICAgICAgICogZmFzdC9jc3Mt
Z3JpZC1sYXlvdXQvZmxleC1jb250ZW50LXJlc29sdXRpb24tcm93cy1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZmxleC1jb250ZW50LXJlc29sdXRpb24tcm93
cy5odG1sOiBBZGRlZCBzb21lIG5ldyBjYXNlcy4KKwogMjAxNS0wOS0xOCAgSmFrZSBOaWVsc2Vu
ICA8amFjb2JfbmllbHNlbkBhcHBsZS5jb20+CiAKICAgICAgICAgbGluZS1icmVhay1sYW5ndWFn
ZS1zZW5zaXRpdmUgdGVzdHMgc2hvdWxkIGJlIG1hcmtlZCBhcyBmbGFreQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZmxleC1hbmQtbWlubWF4LWNvbnRlbnQt
cmVzb2x1dGlvbi1yb3dzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9m
bGV4LWFuZC1taW5tYXgtY29udGVudC1yZXNvbHV0aW9uLXJvd3MuaHRtbAppbmRleCA2OWIzZmVl
MjBmYzE5MzgwNTRkNTYxZGRiNTVhOTZkNTllOTA1NGE5Li5mMTZlYmQ2MmJjMGViMTYxNTFmY2Rl
NDhjMDk2YmRmNTg0YTIwZDQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlk
LWxheW91dC9mbGV4LWFuZC1taW5tYXgtY29udGVudC1yZXNvbHV0aW9uLXJvd3MuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9mbGV4LWFuZC1taW5tYXgtY29udGVu
dC1yZXNvbHV0aW9uLXJvd3MuaHRtbApAQCAtMTIwLDYgKzEyMCw3IEBACiAgICAgPC9kaXY+CiA8
L2Rpdj4KIAorPCEtLSBXZSBub3JtYWxpemUgZnJhY3Rpb24gZmxleCBmYWN0b3JzIHRvIDEsIHNv
IHdlIGRvbid0IGtlZXAgZXhhY3QgcHJvcG9ydGlvbnMgd2l0aCA+MSBmYWN0b3JzLiAtLT4KIDxk
aXYgc3R5bGU9IndpZHRoOiAxMHB4OyBoZWlnaHQ6IDYwcHg7Ij4KICAgICA8ZGl2IGNsYXNzPSJn
cmlkIGdyaWRXaXRoSW50cmluc2ljU2l6ZUJpZ2dlclRoYW5GbGV4IiBzdHlsZT0iaGVpZ2h0OiAx
MDAlIj4KICAgICAgICAgPGRpdiBjbGFzcz0ic2l6ZWRUb0dyaWRBcmVhIGZpcnN0Um93Rmlyc3RD
b2x1bW4iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjUwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iNDAi
PlhYWFhYIFhYWFhYIFhYWFhYIFhYWFhYPC9kaXY+CkBAIC0xMjcsMTAgKzEyOCwxMSBAQAogICAg
IDwvZGl2PgogPC9kaXY+CiAKKzwhLS0gV2Ugbm9ybWFsaXplIGZyYWN0aW9uIGZsZXggZmFjdG9y
cyB0byAxLCBzbyB3ZSBkb24ndCBrZWVwIGV4YWN0IHByb3BvcnRpb25zIHdpdGggPjEgZmFjdG9y
cy4gLS0+CiA8ZGl2IHN0eWxlPSJ3aWR0aDogMTBweDsgaGVpZ2h0OiA2MHB4OyI+CiAgICAgPGRp
diBjbGFzcz0iZ3JpZCBncmlkV2l0aEludHJpbnNpY1NpemVCaWdnZXJUaGFuRmxleCI+CiAgICAg
ICAgIDxkaXYgY2xhc3M9InNpemVkVG9HcmlkQXJlYSBmaXJzdFJvd0ZpcnN0Q29sdW1uIiBkYXRh
LWV4cGVjdGVkLXdpZHRoPSI1MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjQwIj5YWFhYWCBYWFhY
WCBYWFhYWCBYWFhYWDwvZGl2PgotICAgICAgICA8ZGl2IGNsYXNzPSJzaXplZFRvR3JpZEFyZWEg
c2Vjb25kUm93Rmlyc3RDb2x1bW4iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjUwIiBkYXRhLWV4cGVj
dGVkLWhlaWdodD0iMTYwIj48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0ic2l6ZWRUb0dyaWRB
cmVhIHNlY29uZFJvd0ZpcnN0Q29sdW1uIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI1MCIgZGF0YS1l
eHBlY3RlZC1oZWlnaHQ9IjgwIj48L2Rpdj4KICAgICA8L2Rpdj4KIDwvZGl2PgogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9mbGV4LWNvbnRlbnQtcmVzb2x1
dGlvbi1jb2x1bW5zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5
b3V0L2ZsZXgtY29udGVudC1yZXNvbHV0aW9uLWNvbHVtbnMtZXhwZWN0ZWQudHh0CmluZGV4IDEx
Y2EzMjY0ZDM4NDJiNDExZDU0NjNiZWE4M2JiZDM5OGYwNTg4ODUuLmYwZjlkMmE5ZjI1ODhmZDA4
YjgxMGE3OWFiODk2NmVmOWM1MzE3Y2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3Nz
LWdyaWQtbGF5b3V0L2ZsZXgtY29udGVudC1yZXNvbHV0aW9uLWNvbHVtbnMtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2ZsZXgtY29udGVudC1yZXNv
bHV0aW9uLWNvbHVtbnMtZXhwZWN0ZWQudHh0CkBAIC0xMywzICsxMyw4IEBAIFBBU1MKIFBBU1MK
IFBBU1MKIFBBU1MKK1BBU1MKK1BBU1MKK1BBU1MKK1BBU1MKK1BBU1MKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2ZsZXgtY29udGVudC1yZXNvbHV0aW9uLWNv
bHVtbnMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2ZsZXgtY29udGVu
dC1yZXNvbHV0aW9uLWNvbHVtbnMuaHRtbAppbmRleCBiODM1MGExOTkxOTU4ZDg0MGRmMzUzZjkx
OTEzODNjZjRmNjA4MWE5Li41NGI1MDY5OTIyMmM2NmNjNDE0ZTk1ZDZhMWVhMzBjMTI4ODgzOWZk
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9mbGV4LWNvbnRl
bnQtcmVzb2x1dGlvbi1jb2x1bW5zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3Jp
ZC1sYXlvdXQvZmxleC1jb250ZW50LXJlc29sdXRpb24tY29sdW1ucy5odG1sCkBAIC02LDYgKzYs
MTAgQEAKICAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDFmciwgNTBw
eCk7CiAgICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlLXJvd3M6IDUwcHg7CiB9CisuZ3JpZFplcm9G
bGV4Q29udGVudCB7CisgICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgx
ZnIsIDBweCk7CisgICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlLXJvd3M6IDUwcHg7Cit9CiAuZ3Jp
ZE1heEZsZXhDb250ZW50IHsKICAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlu
bWF4KDMwcHgsIDJmcik7CiAgICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlLXJvd3M6IDUwcHg7CkBA
IC0yMiw2ICsyNiwyNyBAQAogICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5t
YXgoMzAwcHgsIDNmcikgbWlubWF4KDE1MHB4LCAxZnIpOwogICAgIC13ZWJraXQtZ3JpZC10ZW1w
bGF0ZS1yb3dzOiA1MHB4OwogfQorLmdyaWRSZXNwZWN0QmFzZVNpemUgeworICAgIC13ZWJraXQt
Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoNzVweCwgMWZyKSBtaW5tYXgoMHB4LCAyZnIp
OworICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dzOiA1MHB4OworfQorLmdyaWRSZXNwZWN0
UHJvcG9ydGlvbnMgeworICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgo
MHB4LCAuMjVmcikgbWlubWF4KDBweCwgLjVmcikgbWlubWF4KDBweCwgMmZyKTsKKyAgICAtd2Vi
a2l0LWdyaWQtdGVtcGxhdGUtcm93czogNTBweDsKK30KKy5ncmlkUmVzcGVjdEJhc2VTaXplUHJv
cG9ydGlvbnMgeworICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoNTBw
eCwgLjI1ZnIpIG1pbm1heCgwcHgsIC41ZnIpIG1pbm1heCgwcHgsIDFmcik7CisgICAgLXdlYmtp
dC1ncmlkLXRlbXBsYXRlLXJvd3M6IDUwcHg7Cit9CisuZ3JpZFJlc3BlY3RCYXNlU2l6ZUJlZm9y
ZVByb3BvcnRpb25zIHsKKyAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4
KDUwcHgsIC4yNWZyKSBtaW5tYXgoMHB4LCAuNWZyKSBtaW5tYXgoMHB4LCAxZnIpOworICAgIC13
ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dzOiA1MHB4OworfQorLmZpcnN0Um93VGhpcmRDb2x1bW4g
eworICAgIGJhY2tncm91bmQtY29sb3I6IHllbGxvdzsKKyAgICAtd2Via2l0LWdyaWQtY29sdW1u
OiAzOworICAgIC13ZWJraXQtZ3JpZC1yb3c6IDE7Cit9CiA8L3N0eWxlPgogPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9jaGVjay1sYXlvdXQuanMiPjwvc2NyaXB0PgogPGJvZHkgb25sb2Fk
PSJjaGVja0xheW91dCgnLmdyaWQnKTsiPgpAQCAtMzQsNiArNTksMTIgQEAKICAgICA8L2Rpdj4K
IDwvZGl2PgogCis8ZGl2IHN0eWxlPSJ3aWR0aDogMTAwcHgiPgorICAgIDxkaXYgY2xhc3M9Imdy
aWQgZ3JpZFplcm9GbGV4Q29udGVudCI+CisgICAgICAgIDxkaXYgY2xhc3M9InNpemVkVG9Hcmlk
QXJlYSBmaXJzdFJvd0ZpcnN0Q29sdW1uIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIiBkYXRhLWV4
cGVjdGVkLWhlaWdodD0iNTAiPjwvZGl2PgorICAgIDwvZGl2PgorPC9kaXY+CisKIDwhLS0gQWxs
b3cgdGhlIGV4dHJhIGxvZ2ljYWwgc3BhY2UgZGlzdHJpYnV0aW9uIHRvIG9jY3VyLiAtLT4KIDxk
aXYgc3R5bGU9IndpZHRoOiA0MHB4OyBoZWlnaHQ6IDEwcHgiPgogICAgIDxkaXYgY2xhc3M9Imdy
aWQgZ3JpZE1pbkZsZXhDb250ZW50Ij4KQEAgLTEyMSw1ICsxNTIsNDAgQEAKICAgICA8L2Rpdj4K
IDwvZGl2PgogCis8IS0tIEZsZXggdHJhY2sgbGVuZ3RoIG11c3QgYmUgYXQgbGVhc3QgaXRzIGJh
c2VTaXplLiAtLT4KKzxkaXYgc3R5bGU9IndpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMHB4OyI+Cisg
ICAgPGRpdiBjbGFzcz0iZ3JpZCBncmlkUmVzcGVjdEJhc2VTaXplIj4KKyAgICAgICAgPGRpdiBj
bGFzcz0ic2l6ZWRUb0dyaWRBcmVhIGZpcnN0Um93Rmlyc3RDb2x1bW4iIGRhdGEtZXhwZWN0ZWQt
d2lkdGg9Ijc1IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iNTAiPjwvZGl2PgorICAgICAgICA8ZGl2
IGNsYXNzPSJzaXplZFRvR3JpZEFyZWEgZmlyc3RSb3dTZWNvbmRDb2x1bW4iIGRhdGEtZXhwZWN0
ZWQtd2lkdGg9IjI1IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iNTAiPjwvZGl2PgorICAgIDwvZGl2
PgorPC9kaXY+CisKKzwhLS0gRmxleCB0cmFjayBsZW5ndGhzIG11c3QgYmUgcHJvcG9ydGlvbmFs
IHRvIHRoZWlyIGZsZXggZmFjdG9ycy4uIC0tPgorPGRpdiBzdHlsZT0id2lkdGg6IDI3NXB4OyBo
ZWlnaHQ6IDEwcHg7Ij4KKyAgICA8ZGl2IGNsYXNzPSJncmlkIGdyaWRSZXNwZWN0UHJvcG9ydGlv
bnMiPgorICAgICAgICA8ZGl2IGNsYXNzPSJzaXplZFRvR3JpZEFyZWEgZmlyc3RSb3dGaXJzdENv
bHVtbiIgZGF0YS1leHBlY3RlZC13aWR0aD0iMjUiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI1MCI+
PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InNpemVkVG9HcmlkQXJlYSBmaXJzdFJvd1NlY29u
ZENvbHVtbiIgZGF0YS1leHBlY3RlZC13aWR0aD0iNTAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI1
MCI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InNpemVkVG9HcmlkQXJlYSBmaXJzdFJvd1Ro
aXJkQ29sdW1uIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIyMDAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0
PSI1MCI+PC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKworPCEtLSBGbGV4IHRyYWNrIGxlbmd0
aHMgbXVzdCBiZSBwcm9wb3J0aW9uYWwgYnV0IHN0aWxsIHJlc3BlY3RpbmcgdGhlaXIgYmFzZSBz
aXplcy4gLS0+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMzUwcHg7IGhlaWdodDogMTBweDsiPgorICAg
IDxkaXYgY2xhc3M9ImdyaWQgZ3JpZFJlc3BlY3RCYXNlU2l6ZVByb3BvcnRpb25zIj4KKyAgICAg
ICAgPGRpdiBjbGFzcz0ic2l6ZWRUb0dyaWRBcmVhIGZpcnN0Um93Rmlyc3RDb2x1bW4iIGRhdGEt
ZXhwZWN0ZWQtd2lkdGg9IjUwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iNTAiPjwvZGl2PgorICAg
ICAgICA8ZGl2IGNsYXNzPSJzaXplZFRvR3JpZEFyZWEgZmlyc3RSb3dTZWNvbmRDb2x1bW4iIGRh
dGEtZXhwZWN0ZWQtd2lkdGg9IjEwMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjUwIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBjbGFzcz0ic2l6ZWRUb0dyaWRBcmVhIGZpcnN0Um93VGhpcmRDb2x1bW4i
IGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjIwMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjUwIj48L2Rp
dj4KKyAgICA8L2Rpdj4KKzwvZGl2PgorCis8IS0tIE5vdCBlbm91Z2ggc3BhY2UgdG8gcmVwc2Vj
dCBwcm9wb3J0aW9ucywgYmVjYXVzZSBtaW5UcmFja0JyZWFkaCBpdCdzIGEgaGFyZGVyIHJlcXVp
cmVtZW50IC0tPgorPGRpdiBzdHlsZT0id2lkdGg6IDI3NXB4OyBoZWlnaHQ6IDEwcHg7Ij4KKyAg
ICA8ZGl2IGNsYXNzPSJncmlkIGdyaWRSZXNwZWN0QmFzZVNpemVCZWZvcmVQcm9wb3J0aW9ucyI+
CisgICAgICAgIDxkaXYgY2xhc3M9InNpemVkVG9HcmlkQXJlYSBmaXJzdFJvd0ZpcnN0Q29sdW1u
IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI1MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjUwIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBjbGFzcz0ic2l6ZWRUb0dyaWRBcmVhIGZpcnN0Um93U2Vjb25kQ29s
dW1uIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI3NSIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjUwIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0ic2l6ZWRUb0dyaWRBcmVhIGZpcnN0Um93VGhpcmRD
b2x1bW4iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjE1MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjUw
Ij48L2Rpdj4KKyAgICA8L2Rpdj4KKzwvZGl2PgorCiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9mbGV4LWNvbnRlbnQtcmVzb2x1
dGlvbi1yb3dzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0
L2ZsZXgtY29udGVudC1yZXNvbHV0aW9uLXJvd3MtZXhwZWN0ZWQudHh0CmluZGV4IDg5MWVmNTVm
MTllYWRhZTEzYjQ1MmJmYTk1MDBlZWVlMmJkYzA2ZmUuLjZhZmUyOTZiZDZiNGQ4MGIyMWJlNTQy
OGY1MGE4ZjY3ZjFjMmFmOTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQt
bGF5b3V0L2ZsZXgtY29udGVudC1yZXNvbHV0aW9uLXJvd3MtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2ZsZXgtY29udGVudC1yZXNvbHV0aW9uLXJv
d3MtZXhwZWN0ZWQudHh0CkBAIC0yMiwzICsyMiwxMCBAQCBQQVNTCiBQQVNTCiBQQVNTCiBQQVNT
CitQQVNTCitQQVNTCitQQVNTCitQQVNTCitQQVNTCitQQVNTCitQQVNTCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9mbGV4LWNvbnRlbnQtcmVzb2x1dGlvbi1y
b3dzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9mbGV4LWNvbnRlbnQt
cmVzb2x1dGlvbi1yb3dzLmh0bWwKaW5kZXggZTFjYTljNmE0OTk0ZWJiZjhjMWUxYjE2MTczNTRi
ZjEzYTA1Y2UwNy4uZTFkMjU1OWIwNzVlMWEyODBkM2EwZDhmMWUxMGU3NDBkNmExZTg1MCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZmxleC1jb250ZW50LXJl
c29sdXRpb24tcm93cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0
L2ZsZXgtY29udGVudC1yZXNvbHV0aW9uLXJvd3MuaHRtbApAQCAtNiw2ICs2LDEwIEBACiAgICAg
LXdlYmtpdC1ncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDUwcHg7CiAgICAgLXdlYmtpdC1ncmlkLXRl
bXBsYXRlLXJvd3M6IG1pbm1heCgxZnIsIDUwcHgpOwogfQorLmdyaWRaZXJvRmxleENvbnRlbnQg
eworICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA1MHB4OworICAgIC13ZWJraXQt
Z3JpZC10ZW1wbGF0ZS1yb3dzOiBtaW5tYXgoMWZyLCAwcHgpOworfQogLmdyaWRNYXhGbGV4Q29u
dGVudCB7CiAgICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDUwcHg7CiAgICAgLXdl
YmtpdC1ncmlkLXRlbXBsYXRlLXJvd3M6IG1pbm1heCgzMHB4LCAyZnIpOwpAQCAtMTgsNiArMjIs
MjcgQEAKICAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGUtY29sdW1uczogNTBweDsKICAgICAtd2Vi
a2l0LWdyaWQtdGVtcGxhdGUtcm93czogbWlubWF4KDEwcHgsIDAuNWZyKSBtaW5tYXgoMTBweCwg
MmZyKTsKIH0KKy5ncmlkUmVzcGVjdEJhc2VTaXplIHsKKyAgICAtd2Via2l0LWdyaWQtdGVtcGxh
dGUtY29sdW1uczogNTBweDsKKyAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGUtcm93czogbWlubWF4
KDc1cHgsIDFmcikgbWlubWF4KDBweCwgMmZyKTsKK30KKy5ncmlkUmVzcGVjdFByb3BvcnRpb25z
IHsKKyAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGUtY29sdW1uczogNTBweDsKKyAgICAtd2Via2l0
LWdyaWQtdGVtcGxhdGUtcm93czogbWlubWF4KDI1cHgsIC4yNWZyKSBtaW5tYXgoMHB4LCAuNWZy
KSBtaW5tYXgoMHB4LCAyZnIpOworfQorLmdyaWRSZXNwZWN0QmFzZVNpemVQcm9wb3J0aW9ucyB7
CisgICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDUwcHg7CisgICAgLXdlYmtpdC1n
cmlkLXRlbXBsYXRlLXJvd3M6IG1pbm1heCg1MHB4LCAuMjVmcikgbWlubWF4KDBweCwgLjVmcikg
bWlubWF4KDBweCwgMWZyKTsKK30KKy5ncmlkUmVzcGVjdEJhc2VTaXplQmVmb3JlUHJvcG9ydGlv
bnMgeworICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA1MHB4OworICAgIC13ZWJr
aXQtZ3JpZC10ZW1wbGF0ZS1yb3dzOiBtaW5tYXgoNTBweCwgLjI1ZnIpIG1pbm1heCgwcHgsIC41
ZnIpIG1pbm1heCgwcHgsIDFmcik7Cit9CisudGhpcmRSb3dGaXJzdENvbHVtbiB7CisgICAgYmFj
a2dyb3VuZC1jb2xvcjogeWVsbG93OworICAgIC13ZWJraXQtZ3JpZC1jb2x1bW46IDE7CisgICAg
LXdlYmtpdC1ncmlkLXJvdzogMzsKK30KIDwvc3R5bGU+CiA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2NoZWNrLWxheW91dC5qcyI+PC9zY3JpcHQ+CiA8Ym9keSBvbmxvYWQ9ImNoZWNrTGF5
b3V0KCcuZ3JpZCcpOyI+CkBAIC0zMSw2ICs1NiwxMiBAQAogPC9kaXY+CiAKIDxkaXYgc3R5bGU9
ImhlaWdodDogMHB4Ij4KKyAgICA8ZGl2IGNsYXNzPSJncmlkIGdyaWRaZXJvRmxleENvbnRlbnQi
PgorICAgICAgICA8ZGl2IGNsYXNzPSJzaXplZFRvR3JpZEFyZWEgZmlyc3RSb3dGaXJzdENvbHVt
biIgZGF0YS1leHBlY3RlZC13aWR0aD0iNTAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIj48L2Rp
dj4KKyAgICA8L2Rpdj4KKzwvZGl2PgorCis8ZGl2IHN0eWxlPSJoZWlnaHQ6IDBweCI+CiAgICAg
PGRpdiBjbGFzcz0iZ3JpZCBncmlkTWluRmxleENvbnRlbnQiPgogICAgICAgICA8ZGl2IGNsYXNz
PSJzaXplZFRvR3JpZEFyZWEgZmlyc3RSb3dGaXJzdENvbHVtbiIgZGF0YS1leHBlY3RlZC13aWR0
aD0iNTAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI1MCI+PC9kaXY+CiAgICAgPC9kaXY+CkBAIC0x
MzcsMTAgKzE2OCwxMSBAQAogICAgIDwvZGl2PgogPC9kaXY+CiAKKzwhLS0gV2Ugbm9ybWFsaXpl
IGZyYWN0aW9uIGZsZXggZmFjdG9ycyB0byAxLCBzbyB3ZSBkb24ndCBrZWVwIGV4YWN0IHByb3Bv
cnRpb25zIHdpdGggPjEgZmFjdG9ycy4gLS0+CiA8ZGl2IGNsYXNzPSJjb25zdHJhaW5lZENvbnRh
aW5lciI+CiAgICAgPGRpdiBjbGFzcz0iZ3JpZCBncmlkVHdvRG91YmxlTWF4RmxleENvbnRlbnQi
PgogICAgICAgICA8ZGl2IGNsYXNzPSJzaXplZFRvR3JpZEFyZWEgZmlyc3RSb3dGaXJzdENvbHVt
biIgZGF0YS1leHBlY3RlZC13aWR0aD0iNTAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIxMCI+PC9k
aXY+Ci0gICAgICAgIDxkaXYgY2xhc3M9InNpemVkVG9HcmlkQXJlYSBzZWNvbmRSb3dGaXJzdENv
bHVtbiIgZGF0YS1leHBlY3RlZC13aWR0aD0iNTAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI0MCI+
PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InNpemVkVG9HcmlkQXJlYSBzZWNvbmRSb3dGaXJz
dENvbHVtbiIgZGF0YS1leHBlY3RlZC13aWR0aD0iNTAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIy
MCI+PC9kaXY+CiAgICAgPC9kaXY+CiA8L2Rpdj4KIApAQCAtMTUyLDEwICsxODQsMTEgQEAKICAg
ICA8L2Rpdj4KIDwvZGl2PgogCis8IS0tIFdlIG5vcm1hbGl6ZSBmcmFjdGlvbiBmbGV4IGZhY3Rv
cnMgdG8gMSwgc28gd2UgZG9uJ3Qga2VlcCBleGFjdCBwcm9wb3J0aW9ucyB3aXRoID4xIGZhY3Rv
cnMuIC0tPgogPGRpdiBzdHlsZT0id2lkdGg6IDEwcHg7IGhlaWdodDogNjBweCI+CiAgICAgPGRp
diBjbGFzcz0iZ3JpZCBncmlkVHdvRG91YmxlTWF4RmxleENvbnRlbnQiPgogICAgICAgICA8ZGl2
IGNsYXNzPSJzaXplZFRvR3JpZEFyZWEgZmlyc3RSb3dGaXJzdENvbHVtbiIgZGF0YS1leHBlY3Rl
ZC13aWR0aD0iNTAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIxMCI+PC9kaXY+Ci0gICAgICAgIDxk
aXYgY2xhc3M9InNpemVkVG9HcmlkQXJlYSBzZWNvbmRSb3dGaXJzdENvbHVtbiIgZGF0YS1leHBl
Y3RlZC13aWR0aD0iNTAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI0MCI+PC9kaXY+CisgICAgICAg
IDxkaXYgY2xhc3M9InNpemVkVG9HcmlkQXJlYSBzZWNvbmRSb3dGaXJzdENvbHVtbiIgZGF0YS1l
eHBlY3RlZC13aWR0aD0iNTAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIyMCI+PC9kaXY+CiAgICAg
PC9kaXY+CiA8L2Rpdj4KIApAQCAtMTY2LDEwICsxOTksNjIgQEAKICAgICA8L2Rpdj4KIDwvZGl2
PgogCis8IS0tIFdlIG5vcm1hbGl6ZSBmcmFjdGlvbiBmbGV4IGZhY3RvcnMgdG8gMSwgc28gd2Ug
ZG9uJ3Qga2VlcCBleGFjdCBwcm9wb3J0aW9ucyB3aXRoID4xIGZhY3RvcnMuIC0tPgogPGRpdiBz
dHlsZT0id2lkdGg6IDEwcHg7IGhlaWdodDogMTIwcHg7Ij4KICAgICA8ZGl2IGNsYXNzPSJncmlk
IGdyaWRUd29Eb3VibGVNYXhGbGV4Q29udGVudCI+CiAgICAgICAgIDxkaXYgY2xhc3M9InNpemVk
VG9HcmlkQXJlYSBmaXJzdFJvd0ZpcnN0Q29sdW1uIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI1MCIg
ZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEwIj48L2Rpdj4KLSAgICAgICAgPGRpdiBjbGFzcz0ic2l6
ZWRUb0dyaWRBcmVhIHNlY29uZFJvd0ZpcnN0Q29sdW1uIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI1
MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjQwIj48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0i
c2l6ZWRUb0dyaWRBcmVhIHNlY29uZFJvd0ZpcnN0Q29sdW1uIiBkYXRhLWV4cGVjdGVkLXdpZHRo
PSI1MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjIwIj48L2Rpdj4KKyAgICA8L2Rpdj4KKzwvZGl2
PgorCis8IS0tIEZsZXggdHJhY2sgbGVuZ3RocyBtdXN0IGJlIHByb3BvcnRpb25hbCB0byB0aGVp
ciBmbGV4IGZhY3RvcnMuLiAtLT4KKzxkaXYgc3R5bGU9IndpZHRoOiAxMHB4OyBoZWlnaHQ6IDI3
NXB4OyI+CisgICAgPGRpdiBjbGFzcz0iZ3JpZCBncmlkUmVzcGVjdFByb3BvcnRpb25zIiBzdHls
ZT0iaGVpZ2h0OiAxMDAlOyI+CisgICAgICAgIDxkaXYgY2xhc3M9InNpemVkVG9HcmlkQXJlYSBm
aXJzdFJvd0ZpcnN0Q29sdW1uIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI1MCIgZGF0YS1leHBlY3Rl
ZC1oZWlnaHQ9IjI1Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0ic2l6ZWRUb0dyaWRBcmVh
IHNlY29uZFJvd0ZpcnN0Q29sdW1uIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI1MCIgZGF0YS1leHBl
Y3RlZC1oZWlnaHQ9IjUwIj48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0ic2l6ZWRUb0dyaWRB
cmVhIHRoaXJkUm93Rmlyc3RDb2x1bW4iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjUwIiBkYXRhLWV4
cGVjdGVkLWhlaWdodD0iMjAwIj48L2Rpdj4KKyAgICA8L2Rpdj4KKzwvZGl2PgorCis8ZGl2IHN0
eWxlPSJ3aWR0aDogMTBweDsgaGVpZ2h0OiAyNzVweDsiPgorICAgIDxkaXYgY2xhc3M9ImdyaWQg
Z3JpZFJlc3BlY3RQcm9wb3J0aW9ucyI+CisgICAgICAgIDxkaXYgY2xhc3M9InNpemVkVG9Hcmlk
QXJlYSBmaXJzdFJvd0ZpcnN0Q29sdW1uIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI1MCIgZGF0YS1l
eHBlY3RlZC1oZWlnaHQ9IjI1Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0ic2l6ZWRUb0dy
aWRBcmVhIHNlY29uZFJvd0ZpcnN0Q29sdW1uIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI1MCIgZGF0
YS1leHBlY3RlZC1oZWlnaHQ9IjEzIj48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0ic2l6ZWRU
b0dyaWRBcmVhIHRoaXJkUm93Rmlyc3RDb2x1bW4iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjUwIiBk
YXRhLWV4cGVjdGVkLWhlaWdodD0iNTAiPjwvZGl2PgorICAgIDwvZGl2PgorPC9kaXY+CisKKzwh
LS0gRmxleCB0cmFjayBsZW5ndGhzIG11c3QgYmUgcHJvcG9ydGlvbmFsIGJ1dCBzdGlsbCByZXNw
ZWN0aW5nIHRoZWlyIGJhc2Ugc2l6ZXMuIC0tPgorPGRpdiBzdHlsZT0id2lkdGg6IDEwcHg7IGhl
aWdodDogMzUwcHg7Ij4KKyAgICA8ZGl2IGNsYXNzPSJncmlkIGdyaWRSZXNwZWN0QmFzZVNpemVQ
cm9wb3J0aW9ucyIgc3R5bGU9ImhlaWdodDogMTAwJTsiPgorICAgICAgICA8ZGl2IGNsYXNzPSJz
aXplZFRvR3JpZEFyZWEgZmlyc3RSb3dGaXJzdENvbHVtbiIgZGF0YS1leHBlY3RlZC13aWR0aD0i
NTAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI1MCI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9
InNpemVkVG9HcmlkQXJlYSBzZWNvbmRSb3dGaXJzdENvbHVtbiIgZGF0YS1leHBlY3RlZC13aWR0
aD0iNTAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIxMDAiPjwvZGl2PgorICAgICAgICA8ZGl2IGNs
YXNzPSJzaXplZFRvR3JpZEFyZWEgdGhpcmRSb3dGaXJzdENvbHVtbiIgZGF0YS1leHBlY3RlZC13
aWR0aD0iNTAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIyMDAiPjwvZGl2PgorICAgIDwvZGl2Pgor
PC9kaXY+CisKKzxkaXYgc3R5bGU9IndpZHRoOiAxMHB4OyBoZWlnaHQ6IDM1MHB4OyI+CisgICAg
PGRpdiBjbGFzcz0iZ3JpZCBncmlkUmVzcGVjdEJhc2VTaXplUHJvcG9ydGlvbnMiPgorICAgICAg
ICA8ZGl2IGNsYXNzPSJzaXplZFRvR3JpZEFyZWEgZmlyc3RSb3dGaXJzdENvbHVtbiIgZGF0YS1l
eHBlY3RlZC13aWR0aD0iNTAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI1MCI+PC9kaXY+CisgICAg
ICAgIDxkaXYgY2xhc3M9InNpemVkVG9HcmlkQXJlYSBzZWNvbmRSb3dGaXJzdENvbHVtbiIgZGF0
YS1leHBlY3RlZC13aWR0aD0iNTAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIyNSI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgY2xhc3M9InNpemVkVG9HcmlkQXJlYSB0aGlyZFJvd0ZpcnN0Q29sdW1uIiBk
YXRhLWV4cGVjdGVkLXdpZHRoPSI1MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjUwIj48L2Rpdj4K
KyAgICA8L2Rpdj4KKzwvZGl2PgorCis8IS0tIE5vdCBlbm91Z2ggc3BhY2UgdG8gcmVwc2VjdCBw
cm9wb3J0aW9ucywgYmVjYXVzZSBtaW5UcmFja0JyZWFkaCBpdCdzIGEgaGFyZGVyIHJlcXVpcmVt
ZW50IC0tPgorPGRpdiBzdHlsZT0id2lkdGg6IDEwcHg7IGhlaWdodDogMjc1cHg7Ij4KKyAgICA8
ZGl2IGNsYXNzPSJncmlkIGdyaWRSZXNwZWN0QmFzZVNpemVCZWZvcmVQcm9wb3J0aW9ucyIgc3R5
bGU9ImhlaWdodDogMTAwJTsiPgorICAgICAgICA8ZGl2IGNsYXNzPSJzaXplZFRvR3JpZEFyZWEg
Zmlyc3RSb3dGaXJzdENvbHVtbiIgZGF0YS1leHBlY3RlZC13aWR0aD0iNTAiIGRhdGEtZXhwZWN0
ZWQtaGVpZ2h0PSI1MCI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InNpemVkVG9HcmlkQXJl
YSBzZWNvbmRSb3dGaXJzdENvbHVtbiIgZGF0YS1leHBlY3RlZC13aWR0aD0iNTAiIGRhdGEtZXhw
ZWN0ZWQtaGVpZ2h0PSI3NSI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InNpemVkVG9Hcmlk
QXJlYSB0aGlyZFJvd0ZpcnN0Q29sdW1uIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI1MCIgZGF0YS1l
eHBlY3RlZC1oZWlnaHQ9IjE1MCI+PC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKworPGRpdiBz
dHlsZT0id2lkdGg6IDEwcHg7IGhlaWdodDogMjc1cHg7Ij4KKyAgICA8ZGl2IGNsYXNzPSJncmlk
IGdyaWRSZXNwZWN0QmFzZVNpemVCZWZvcmVQcm9wb3J0aW9ucyI+CisgICAgICAgIDxkaXYgY2xh
c3M9InNpemVkVG9HcmlkQXJlYSBmaXJzdFJvd0ZpcnN0Q29sdW1uIiBkYXRhLWV4cGVjdGVkLXdp
ZHRoPSI1MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjUwIj48L2Rpdj4KKyAgICAgICAgPGRpdiBj
bGFzcz0ic2l6ZWRUb0dyaWRBcmVhIHNlY29uZFJvd0ZpcnN0Q29sdW1uIiBkYXRhLWV4cGVjdGVk
LXdpZHRoPSI1MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjI1Ij48L2Rpdj4KKyAgICAgICAgPGRp
diBjbGFzcz0ic2l6ZWRUb0dyaWRBcmVhIHRoaXJkUm93Rmlyc3RDb2x1bW4iIGRhdGEtZXhwZWN0
ZWQtd2lkdGg9IjUwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iNTAiPjwvZGl2PgogICAgIDwvZGl2
PgogPC9kaXY+CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>