<?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>98403</bug_id>
          
          <creation_ts>2012-10-04 06:39:16 -0700</creation_ts>
          <short_desc>SVG image cache is very broken</short_desc>
          <delta_ts>2013-05-29 10:55:12 -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>SVG</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>99984</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Branimir Lambov">blambov</reporter>
          <assigned_to name="Branimir Lambov">blambov</assigned_to>
          <cc>ap</cc>
    
    <cc>beidson</cc>
    
    <cc>eric</cc>
    
    <cc>fmalita</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>janikpiotrek</cc>
    
    <cc>japhet</cc>
    
    <cc>koivisto</cc>
    
    <cc>pdr</cc>
    
    <cc>rakuco</cc>
    
    <cc>schenney</cc>
    
    <cc>shezbaig.wk</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>734646</commentid>
    <comment_count>0</comment_count>
    <who name="Branimir Lambov">blambov</who>
    <bug_when>2012-10-04 06:39:16 -0700</bug_when>
    <thetext>There&apos;s a special cache for SVG images in the webkit code, SVGImageCache.cpp, which is supposed to cache the image as one or more bitmaps so that it can be quickly redrawn. 

This cache is broken in many ways:
* It usually does not apply at all, because it relies on a call to set dimensions that it never receives because it is normally made before the cache is constructed (see CachedImage::setContainerSizeForRenderer). This masks the other problems with the cache as it is hard (but possible) to engage the cache.
* The cache does not take SVG/CSS transformations into account when calculating the cached image scale, which may result in images that are way too big or way too small, in both cases resulting in very ugly rendering.
* The cache re-renders all cached content on all image changes rather than waiting for a renderer to actually request cached data, resulting in wasteful and unnecessary pauses.
* The cache is per-renderer, which is too wasteful and practically defeats its purpose.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>734656</commentid>
    <comment_count>1</comment_count>
      <attachid>167096</attachid>
    <who name="Branimir Lambov">blambov</who>
    <bug_when>2012-10-04 06:57:17 -0700</bug_when>
    <thetext>Created attachment 167096
Example

The attached file illustrates some of the problems on Chrome Linux:
* When the file is opened, usually the cache does not engage and 26 copies of the SVG image are all re-drawn every frame. Performance is very bad, images look good.
* Hitting refresh sometimes causes the page to load with the cache activated. When this happens:
* * The page does not show for a few seconds while 26 copies of the SVG file are rendered at a resolution that is 20x20 times higher than required;
* * After that the animation is smooth, but the images get scaled from the wrong resolution and look bad (non-antialiased).

On Safari getting the cache activated also results in practically frozen image as it tries to do a smooth scale from the absurdly high resolution.

(Sorry for the ZIP file, Chrome and Firefox both crash when attempting to upload this unzipped)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>736571</commentid>
    <comment_count>2</comment_count>
    <who name="Branimir Lambov">blambov</who>
    <bug_when>2012-10-08 01:44:48 -0700</bug_when>
    <thetext>I am working on a patch to fix this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>736769</commentid>
    <comment_count>3</comment_count>
    <who name="Philip Rogers">pdr</who>
    <bug_when>2012-10-08 10:21:31 -0700</bug_when>
    <thetext>Agreed on all points! I&apos;m looking forward to this fix :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>746331</commentid>
    <comment_count>4</comment_count>
      <attachid>169629</attachid>
    <who name="Branimir Lambov">blambov</who>
    <bug_when>2012-10-19 08:44:27 -0700</bug_when>
    <thetext>Created attachment 169629
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>746342</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-10-19 08:53:09 -0700</bug_when>
    <thetext>Did you intend to submit this patch for review? Please mark it &quot;review?&quot; if so by clicking Details link to the right of the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>746350</commentid>
    <comment_count>6</comment_count>
      <attachid>169630</attachid>
    <who name="Branimir Lambov">blambov</who>
    <bug_when>2012-10-19 09:00:55 -0700</bug_when>
    <thetext>Created attachment 169630
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>746352</commentid>
    <comment_count>7</comment_count>
      <attachid>169631</attachid>
    <who name="Branimir Lambov">blambov</who>
    <bug_when>2012-10-19 09:06:53 -0700</bug_when>
    <thetext>Created attachment 169631
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>746354</commentid>
    <comment_count>8</comment_count>
    <who name="Branimir Lambov">blambov</who>
    <bug_when>2012-10-19 09:16:48 -0700</bug_when>
    <thetext>How can I get more information about why the bots fail to apply the patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>746356</commentid>
    <comment_count>9</comment_count>
      <attachid>169631</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-10-19 09:21:31 -0700</bug_when>
    <thetext>Comment on attachment 169631
Patch

This should be split up into multiple patches to make it clear which changes fix which bugs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>746365</commentid>
    <comment_count>10</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2012-10-19 09:27:58 -0700</bug_when>
    <thetext>Nikolas should take a look.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>746372</commentid>
    <comment_count>11</comment_count>
    <who name="Branimir Lambov">blambov</who>
    <bug_when>2012-10-19 09:35:49 -0700</bug_when>
    <thetext>Splitting is going to be very difficult if at all possible.

Apart from the change to SVGPreserveAspectRatio.cpp, this is in fact a single patch that replaces a broken component which causes a number of seemingly unrelated problems.

I can extract the change to SVGPreserveAspectRatio into a separate patch which blocks this, but I cannot split it further without breaking something or losing existing functionality (however broken).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>746397</commentid>
    <comment_count>12</comment_count>
      <attachid>169631</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2012-10-19 10:07:11 -0700</bug_when>
    <thetext>Comment on attachment 169631
Patch

I am surprised that preserve aspect ratio code needs fixes. We had quite some tests for it, but mainly inline code, with the exception of one test on feImage. Did you run pixel tests with the changes?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>746451</commentid>
    <comment_count>13</comment_count>
    <who name="Branimir Lambov">blambov</who>
    <bug_when>2012-10-19 11:02:19 -0700</bug_when>
    <thetext>Yes, I did run pixel tests, and the only two that were affected (with the SVGImageCache code) were
svg/dynamic-updates/SVGFEImageElement-dom-preserveAspectRatio-attr.html
svg/dynamic-updates/SVGFEImageElement-svgdom-preserveAspectRatio-prop.html
which are now rendered properly, in agreement with what the other browsers do.

The code would run fine if the source and destination locations were 0, 0, or if a method other than &apos;slice&apos; was used. I need it to render &lt;img&gt; HTML tags in RenderImage.cpp, where the destination location is practically never 0, 0.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747090</commentid>
    <comment_count>14</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-10-21 07:46:36 -0700</bug_when>
    <thetext>Thanks Branimir, it&apos;s great to see someone revisiting this code. Can you update the patch, so we see if it builds everywhere? Andreas, are you convinced that this is hard to split up?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836886</commentid>
    <comment_count>15</comment_count>
    <who name="Philip Rogers">pdr</who>
    <bug_when>2013-02-19 15:50:34 -0800</bug_when>
    <thetext>Over the past couple months I have fixed most of these issues, so this bug is no longer valid.

- Replaces the broken SVGImageCache class with two separate maps, dealing with container sizes and cached bitmaps separately.
- Makes sure CachedImage stores container size requests made before the image is loaded.
- Wraps relative size SVG images into an ImageWithContainerSize object which takes care to assign the container size immediately before drawing.
- Changes SVGImage to implement drawPattern instead of nativeImageForCurrentFrame to enable SVG patterns to be drawn at the correct scale.
http://trac.webkit.org/changeset/140722 - Preserve container size requests across image loads
http://trac.webkit.org/changeset/142765 - Replace SVG bitmap cache with directly-rendered SVG
http://trac.webkit.org/changeset/143257 - Fix scaling of tiled SVG backgrounds on high-dpi displays
http://trac.webkit.org/changeset/141637 - Change hasAlpha to isKnownToBeOpaque and correct the return value for SVG images.
http://trac.webkit.org/changeset/141303 - Track scale and zoom together when drawing SVG images
http://trac.webkit.org/changeset/139484 - Skip CachedImage::CreateImage if we don&apos;t have image data
http://trac.webkit.org/changeset/138976 - Clear pending container size requests as early as possible
http://trac.webkit.org/changeset/138958 - Refactor client removal in CachedResource::switchClientsToRevalidatedResource
http://trac.webkit.org/changeset/137981 - Queue container size requests while images are loading.

- Implements caching of SVG images as bitmaps rendered at the correct scale.
- Makes sure all bitmap caching takes world transforms into account.
N/A - replaced with directly-rendered SVG.

- Fixes &apos;slice&apos; SVG aspect ratio calculations which were using the wrong offset.
Cleaned up and landed Branimir&apos;s patch: http://trac.webkit.org/changeset/143389

- Fixes incorrect zooming of fixed size SVG images.
TODO(pdr): https://bugs.webkit.org/show_bug.cgi?id=110272</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>894982</commentid>
    <comment_count>16</comment_count>
    <who name="Piotr Janik">janikpiotrek</who>
    <bug_when>2013-05-29 09:35:06 -0700</bug_when>
    <thetext>I&apos;m not familiar with WebKit / Safari release cycle, so can I ask when we should expect fixes mentioned by Philip to show up in stable Safari release?

In general I work on application using JS and SVG animations pretty heavily:
http://lab.dev.concord.org/interactives.html#interactives/sam/DNA-to-proteins/3-modeling-translation.json

If you open this page in Safari 6.0.4 and click &quot;Transcribe&quot; or &quot;Translate&quot; you will notice that the animation isn&apos;t smooth and various objects (&lt;image&gt; tags) show up with a long delay or even don&apos;t show up at all (during transcription - red nucleotides&apos; backbones, during translation - tRNAs =&gt; &quot;green forks&quot; carrying amino acids). Not sure if these problems are related to this bug, but it seems to me that they can.

In WebKit Nightly everything works much better, however occasionally there are still problems with tRNA images (&quot;green forks&quot; during translation, they appear after long delay). Everything works fine and smooth in Chrome.

Do you think these problems can be connected with this particular bug?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>895012</commentid>
    <comment_count>17</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-05-29 10:35:29 -0700</bug_when>
    <thetext>We do not comment on vendors&apos; release cycles, sorry.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>895024</commentid>
    <comment_count>18</comment_count>
    <who name="Philip Rogers">pdr</who>
    <bug_when>2013-05-29 10:55:12 -0700</bug_when>
    <thetext>As AP mentioned, the release cycles are unfortunately not public. If your page works in WebKit nightly though, there&apos;s a pretty good chance it will be in the next Safari release.

For your second issue that&apos;s still present in WebKit nightly, do you mind creating a minimized testcase and filing a separate bug about it? I&apos;m happy to look into it.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>167096</attachid>
            <date>2012-10-04 06:57:17 -0700</date>
            <delta_ts>2012-10-04 06:57:17 -0700</delta_ts>
            <desc>Example</desc>
            <filename>caching.zip</filename>
            <type>application/zip</type>
            <size>45035</size>
            <attacher name="Branimir Lambov">blambov</attacher>
            
              <data encoding="base64">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
uX/3D58VSZJ89urd27vh3b1+ffGP/+nV8j9//8Wbt3/8Wf8eXt3/9N0PP//xx5++/4fPvv/u/qe7
y+fJ75LyVWL/T//47Wc8G+ffvVlO/PHPb+OxL4YHf/75/rv7u+PjE+I/7t9e7nHql//37WevLv/w
WWZvO/3DZ/kfys9e/fHHH+7/yx+/+/7u/XLkm7c/vfnuh+909Oe7+e1ydv7ZPyZ//4XdxW7491/8
/Oflzsv//P3Px5/u/nT/6n7603Ka/f2L03d//o5HP/vHL774+//lX2+2m/3mX5fLPv/jhx+O93c/
/vD5++9+vv/tq/8P79Z8d//ud0ubvPnx+1f/8Cqc4n9+9cpOXv7yOa569Z9fpb//fVFm5W9f/c2r
NEnzPyRFluW/ffW/v0ou//WP/J+/06U/vb3/8NMPr3Th5+mrL5aT/o+E//NbnvU/lv/7P377+R/+
gN/L///zdz+9+uPywOTv9OP+7vu3Py8H/nX73f3b3/3w4/nz3/5b/Nvw9qflb29+PH74/u0P978b
3t5X79/aP/9pqt98/huc8Jvf+vnHHz/8YF+Tln7ku/d3ww92/nI0C89cGnj5/dm7+/s//Z9ffHE+
n393zn/340/DF0vHJdb8n/mZl/d3P4xPn5v+4Q9/+AJ/D2f/9PaPb396+8Px7XLFb/7X5T6/0Vd7
w7/67s2bmx//dPf258/v3vwt39f7gh/ww/13dz988qPv3qht8X+Wsf7qc7v07h+Sv3t19/e45d+9
+pu/uYt9jA9Z7ojB8Mf3P/740+ercbEMhqX3yiT5z1nyRWiv39rR2Hr/ZWnTZDnCNvSbTn/hpnn5
i266uvMPP755u26D409vl+GhZmhvP1/a9m9f/ebDz29/81t/Ibvkdz+/vd/cL/P+3z/cv11OQ/cs
J75beuY3fxv75+MXff6by3Li5VMnTMsJ06dOgNFaTiriPHjyPNqzhyeGMfC77/70p7c/vLl5d/f+
zed2+XpOcVzF4fQbs2LLrZap+3fXf6D9Wv6UrubJXx5mvKFP25/e/r8f3v58v/nhbjGry0D+8qfv
vl86CO9zvlt6/Pyvv3nynN/826v//t+vTju//ffx7v7r5538/Y/zM8/88bl3/PkvnBiM5PG79+//
/bvjGCcS72G9uF+s1o8f7sM5S+sufbhYwN8Hy/d3/2k98f9oDwl2F0bvd3/68PO7z6PZ04WwkH8y
k/g5TvtXnvz+7Q/D/TubM/+2/B/+Jfm33y6P/PzhCbrReRk4bx/89R+X94zfwz/9/O7uj/efrwbX
q48OCqxwv/2dLUU3yxiiXf3cPv2L5ZWXP/z45d3l7ZvPM1s/Plv+39/EORe/7ntetPwRFuO7f//5
8z/+b1nyX5ZX++1/dmNgJ32G5fz90kKf262+DzfFv377Gc+ME+Zqen0WfIHP/vZ7fd0f/+Zv+I8n
x+rn6CSc+j8+Ne5X533xxavlofXSFD/9+bv3/MPfvrIx8MUX//Zv/7is5VisbTn/+y/+/cc30z8u
/313//37f/xP/z9QSwECHgMUAAAACABldURBMY5DsTWvAACPAgIAEAAYAAAAAAABAAAAoIEAAAAA
Y2FjaGluZy1zdmcuaHRtbFVUBQADbZJtUHV4CwABBBvxAQAEiBMAAFBLBQYAAAAAAQABAFYAAAB/
rwAAAAA=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169629</attachid>
            <date>2012-10-19 08:44:27 -0700</date>
            <delta_ts>2012-10-19 09:00:13 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>98403.patch</filename>
            <type>text/plain</type>
            <size>0</size>
            <attacher name="Branimir Lambov">blambov</attacher>
            
              <data encoding="base64"></data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169630</attachid>
            <date>2012-10-19 09:00:55 -0700</date>
            <delta_ts>2012-10-19 09:06:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98403-20121019165938.patch</filename>
            <type>text/plain</type>
            <size>77294</size>
            <attacher name="Branimir Lambov">blambov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAyZTgzZDNjZDY3OWM1ZjBlZTZmZTI4ODc2YjA1MGU1NGFjYmY4OTY5Li5k
Njc5ZDFhYzc1NmUzMWE2MmZjN2QxMWI0OTIyNGUyNmU2ZGZmODE2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTA3IEBACisyMDEyLTEwLTE3ICBCcmFuaW1pciBMYW1ib3YgIDxibGFtYm92QGdvb2ds
ZS5jb20+CisKKyAgICAgICAgU1ZHIGltYWdlIGNhY2hlIGlzIHZlcnkgYnJva2VuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODQwMworCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNvcnRzIG91dCBhIHJhbmdl
IG9mIHByb2JsZW1zIHdpdGggU1ZHIGltYWdlIHJlbmRlcmluZzoKKyAgICAgICAgCisgICAgICAg
IC0gUmVwbGFjZXMgdGhlIGJyb2tlbiBTVkdJbWFnZUNhY2hlIGNsYXNzIHdpdGggdHdvIHNlcGFy
YXRlIG1hcHMsIGRlYWxpbmcKKyAgICAgICAgICB3aXRoIGNvbnRhaW5lciBzaXplcyBhbmQgY2Fj
aGVkIGJpdG1hcHMgc2VwYXJhdGVseS4KKyAgICAgICAgICAgIAorICAgICAgICAtIE1ha2VzIHN1
cmUgQ2FjaGVkSW1hZ2Ugc3RvcmVzIGNvbnRhaW5lciBzaXplIHJlcXVlc3RzIG1hZGUgYmVmb3Jl
IHRoZQorICAgICAgICAgIGltYWdlIGlzIGxvYWRlZC4KKyAgICAgICAgICAgIAorICAgICAgICAt
IFdyYXBzIHJlbGF0aXZlIHNpemUgU1ZHIGltYWdlcyBpbnRvIGFuIEltYWdlV2l0aENvbnRhaW5l
clNpemUgb2JqZWN0CisgICAgICAgICAgd2hpY2ggdGFrZXMgY2FyZSB0byBhc3NpZ24gdGhlIGNv
bnRhaW5lciBzaXplIGltbWVkaWF0ZWx5IGJlZm9yZQorICAgICAgICAgIGRyYXdpbmcuCisgICAg
ICAgICAgICAKKyAgICAgICAgLSBJbXBsZW1lbnRzIGNhY2hpbmcgb2YgU1ZHIGltYWdlcyBhcyBi
aXRtYXBzIHJlbmRlcmVkIGF0IHRoZSBjb3JyZWN0IHNjYWxlLgorICAgICAgICAKKyAgICAgICAg
LSBNYWtlcyBzdXJlIGFsbCBiaXRtYXAgY2FjaGluZyB0YWtlcyB3b3JsZCB0cmFuc2Zvcm1zIGlu
dG8gYWNjb3VudC4KKyAgICAgICAgCisgICAgICAgIC0gQ2hhbmdlcyBTVkdJbWFnZSB0byBpbXBs
ZW1lbnQgZHJhd1BhdHRlcm4gaW5zdGVhZCBvZiBuYXRpdmVJbWFnZUZvckN1cnJlbnRGcmFtZQor
ICAgICAgICAgIHRvIGVuYWJsZSBTVkcgcGF0dGVybnMgdG8gYmUgZHJhd24gYXQgdGhlIGNvcnJl
Y3Qgc2NhbGUuCisgICAgICAgICAgICAKKyAgICAgICAgLSBGaXhlcyBpbmNvcnJlY3Qgem9vbWlu
ZyBvZiBmaXhlZCBzaXplIFNWRyBpbWFnZXMuCisgICAgICAgIAorICAgICAgICAtIEZpeGVzICdz
bGljZScgU1ZHIGFzcGVjdCByYXRpbyBjYWxjdWxhdGlvbnMgd2hpY2ggd2VyZSB1c2luZyB0aGUg
d3JvbmcKKyAgICAgICAgICBvZmZzZXQuCisKKyAgICAgICAgVGVzdHM6IHN2Zy9tdWx0aXBsZS1p
bnN0YW5jZXMvZml4ZWQtc3ZnLWJhY2tncm91bmQtc2NhbGVkLmh0bWwKKyAgICAgICAgICAgICAg
IHN2Zy9tdWx0aXBsZS1pbnN0YW5jZXMvZml4ZWQtc3ZnLWJhY2tncm91bmQuaHRtbAorICAgICAg
ICAgICAgICAgc3ZnL211bHRpcGxlLWluc3RhbmNlcy9maXhlZC1zdmctc3ZnLmh0bWwKKyAgICAg
ICAgICAgICAgIHN2Zy9tdWx0aXBsZS1pbnN0YW5jZXMvZml4ZWQtc3ZnLXRlc3QuaHRtbAorICAg
ICAgICAgICAgICAgc3ZnL211bHRpcGxlLWluc3RhbmNlcy9yZWxhdGl2ZS1zdmctYmFja2dyb3Vu
ZC1zY2FsZWQuaHRtbAorICAgICAgICAgICAgICAgc3ZnL211bHRpcGxlLWluc3RhbmNlcy9yZWxh
dGl2ZS1zdmctYmFja2dyb3VuZC5odG1sCisgICAgICAgICAgICAgICBzdmcvbXVsdGlwbGUtaW5z
dGFuY2VzL3JlbGF0aXZlLXN2Zy1zdmcuaHRtbAorICAgICAgICAgICAgICAgc3ZnL211bHRpcGxl
LWluc3RhbmNlcy9yZWxhdGl2ZS1zdmctdGVzdC5odG1sCisgICAgICAgICAgICAgICBzdmcvem9v
bS9wYWdlL2ZpeGVkLXN2Zy1iYWNrZ3JvdW5kLmh0bWwKKyAgICAgICAgICAgICAgIHN2Zy96b29t
L3BhZ2UvZml4ZWQtc3ZnLXRlc3QuaHRtbAorICAgICAgICAgICAgICAgc3ZnL3pvb20vcGFnZS9y
ZWxhdGl2ZS1zdmctYmFja2dyb3VuZC5odG1sCisgICAgICAgICAgICAgICBzdmcvem9vbS9wYWdl
L3JlbGF0aXZlLXN2Zy10ZXN0Lmh0bWwKKworICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAg
ICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2Fj
aGVkSW1hZ2U6OmRpZFJlbW92ZUNsaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRJbWFn
ZTo6bG9va3VwT3JDcmVhdGVJbWFnZUZvclJlbmRlcmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkNh
Y2hlZEltYWdlOjpzZXRDb250YWluZXJTaXplRm9yUmVuZGVyZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6Q2FjaGVkSW1hZ2U6OmltYWdlU2l6ZUZvclJlbmRlcmVyKToKKyAgICAgICAgKFdlYkNvcmU6
OkNhY2hlZEltYWdlOjpjbGVhcik6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRJbWFnZTo6Y3Jl
YXRlSW1hZ2UpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkSW1hZ2U6OmNsZWFySW1hZ2UpOgor
ICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkSW1hZ2U6OmNoYW5nZWRJblJlY3QpOgorICAgICAgICAo
V2ViQ29yZTo6Q2FjaGVkSW1hZ2U6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBsb2Fk
ZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuaDoKKyAgICAgICAgKENhY2hlZEltYWdlKToKKyAgICAgICAg
KiBsb2FkZXIvY2FjaGUvSW1hZ2VXaXRoQ29udGFpbmVyU2l6ZS5oOiBBZGRlZC4KKyAgICAgICAg
KFdlYkNvcmUpOgorICAgICAgICAoSW1hZ2VXaXRoQ29udGFpbmVyU2l6ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpJbWFnZVdpdGhDb250YWluZXJTaXplOjpzZXRDb250YWluZXJTaXplKToKKyAgICAg
ICAgKFdlYkNvcmU6OkltYWdlV2l0aENvbnRhaW5lclNpemU6OnVzZXNDb250YWluZXJTaXplKToK
KyAgICAgICAgKFdlYkNvcmU6OkltYWdlV2l0aENvbnRhaW5lclNpemU6Omhhc1JlbGF0aXZlV2lk
dGgpOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VXaXRoQ29udGFpbmVyU2l6ZTo6aGFzUmVsYXRp
dmVIZWlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VXaXRoQ29udGFpbmVyU2l6ZTo6Y29t
cHV0ZUludHJpbnNpY0RpbWVuc2lvbnMpOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VXaXRoQ29u
dGFpbmVyU2l6ZTo6c2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZVdpdGhDb250YWluZXJT
aXplOjpkZXN0cm95RGVjb2RlZERhdGEpOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VXaXRoQ29u
dGFpbmVyU2l6ZTo6ZGVjb2RlZFNpemUpOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VXaXRoQ29u
dGFpbmVyU2l6ZTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VX
aXRoQ29udGFpbmVyU2l6ZTo6ZHJhdyk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZVdpdGhDb250
YWluZXJTaXplOjpkcmF3UGF0dGVybik6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZVdpdGhDb250
YWluZXJTaXplOjpnZXRJbWFnZSk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZVdpdGhDb250YWlu
ZXJTaXplOjpjbGVhckltYWdlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZTo6ZHJhd1RpbGVkKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVySW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW1hZ2U6OnBh
aW50SW50b1JlY3QpOgorICAgICAgICAqIHN2Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNWR1ByZXNlcnZlQXNwZWN0UmF0aW86OnRyYW5zZm9ybVJlY3Qp
OgorICAgICAgICAqIHN2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdJbWFnZUNocm9tZUNsaWVudDo6aW52YWxpZGF0ZUNvbnRlbnRzQW5kUm9vdFZpZXcpOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHSW1hZ2U6OnNldENvbnRhaW5lclNpemUpOgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdJbWFnZTo6dXNlc0NvbnRhaW5lclNpemUp
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHSW1hZ2U6OnNpemUpOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHSW1hZ2U6OmRyYXcpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHSW1hZ2U6OmRyYXdQYXR0ZXJu
KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ltYWdlOjp1bmNhY2hlZERyYXcpOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHSW1hZ2U6OnByZXNlcnZlQXNwZWN0UmF0aW8pOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHSW1hZ2U6OmNhY2hlZEltYWdlQXRTY2FsZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdJ
bWFnZTo6aW52YWxpZGF0ZUNhY2hlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ltYWdlOjpyZXBv
cnRNZW1vcnlVc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdJbWFnZTo6ZHVwbGljYXRlKToK
KyAgICAgICAgKiBzdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuaDoKKyAgICAgICAgKFNWR0ltYWdlKToK
KyAgICAgICAgKFdlYkNvcmU6OlNWR0ltYWdlOjpGbG9hdFNpemVIYXNoOjpoYXNoKToKKyAgICAg
ICAgKEZsb2F0U2l6ZUhhc2gpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHSW1hZ2U6OkZsb2F0U2l6
ZUhhc2g6OmVxdWFsKToKKyAgICAgICAgKEZsb2F0U2l6ZUhhc2hUcmFpdHMpOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHSW1hZ2U6OkZsb2F0U2l6ZUhhc2hUcmFpdHM6OmNvbnN0cnVjdERlbGV0ZWRW
YWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdJbWFnZTo6RmxvYXRTaXplSGFzaFRyYWl0czo6
aXNEZWxldGVkVmFsdWUpOgorICAgICAgICAqIHN2Zy9ncmFwaGljcy9TVkdJbWFnZUNhY2hlLmNw
cDogUmVtb3ZlZC4KKyAgICAgICAgKiBzdmcvZ3JhcGhpY3MvU1ZHSW1hZ2VDYWNoZS5oOiBSZW1v
dmVkLgorCiAyMDEyLTEwLTE4ICBQYW4gRGVuZyAgPHBhbi5kZW5nQGludGVsLmNvbT4KIAogICAg
ICAgICBbUmVzb3VyY2UgVGltaW5nXUltcGxlbWVudGF0aW9uIG9mIHJlc291cmNlIHRpbWluZyBi
dWZmZXIgc2l6ZSByZXN0cmljdGlvbiBmdW5jdGlvbmFsaXR5CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXgg
OTAxOTYwNGRjZThhZGNlZjk4Y2Q2M2JjY2ZhZTkxNGI0YTE1ZDM3Ni4uYjRhZjY0NTVlZDI3MDA1
MTBkOTE5ZjlkMzYyMDg5OWQ5ZWI4OTc3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMjA4LDYgKzIw
OCw3IEBACiAgICAgICAgICAgICAnbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmgn
LAogICAgICAgICAgICAgJ2xvYWRlci9jYWNoZS9DYWNoZWRTaGFkZXIuaCcsCiAgICAgICAgICAg
ICAnbG9hZGVyL2NhY2hlL0NhY2hlZFN0eWxlU2hlZXRDbGllbnQuaCcsCisgICAgICAgICAgICAn
bG9hZGVyL2NhY2hlL0ltYWdlV2l0aENvbnRhaW5lclNpemUuaCcsCiAgICAgICAgICAgICAnbG9h
ZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgnLAogICAgICAgICAgICAgJ2xvYWRlci9pY29uL0ljb25D
b250cm9sbGVyLmgnLAogICAgICAgICAgICAgJ2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5oJywK
QEAgLTYzMTgsOCArNjMxOSw2IEBACiAgICAgICAgICAgICAnc3ZnL2FuaW1hdGlvbi9TTUlMVGlt
ZUNvbnRhaW5lci5jcHAnLAogICAgICAgICAgICAgJ3N2Zy9hbmltYXRpb24vU01JTFRpbWVDb250
YWluZXIuaCcsCiAgICAgICAgICAgICAnc3ZnL2FuaW1hdGlvbi9TVkdTTUlMRWxlbWVudC5jcHAn
LAotICAgICAgICAgICAgJ3N2Zy9ncmFwaGljcy9TVkdJbWFnZUNhY2hlLmNwcCcsCi0gICAgICAg
ICAgICAnc3ZnL2dyYXBoaWNzL1NWR0ltYWdlQ2FjaGUuaCcsCiAgICAgICAgICAgICAnc3ZnL2dy
YXBoaWNzL1NWR0ltYWdlLmNwcCcsCiAgICAgICAgICAgICAnc3ZnL2dyYXBoaWNzL1NWR0ltYWdl
LmgnLAogICAgICAgICAgICAgJ3N2Zy9ncmFwaGljcy9maWx0ZXJzL1NWR0ZFSW1hZ2UuY3BwJywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRJbWFnZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuY3BwCmluZGV4IDJiZWM5
ZjE2NjA0NTI0Mjk0ZjY4ZjM5ZjJhZTg5MzliNjZjMjU3NmYuLmYzMjkzMDZjMjljZTRlZjRjNDEz
YzAyYmFhNGE5ODYxM2ZlZTY0MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRJbWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0Nh
Y2hlZEltYWdlLmNwcApAQCAtNCw2ICs0LDcgQEAKICAgICBDb3B5cmlnaHQgKEMpIDIwMDIgV2Fs
ZG8gQmFzdGlhbiAoYmFzdGlhbkBrZGUub3JnKQogICAgIENvcHlyaWdodCAoQykgMjAwNiBTYW11
ZWwgV2VpbmlnIChzYW0ud2VpbmlnQGdtYWlsLmNvbSkKICAgICBDb3B5cmlnaHQgKEMpIDIwMDQs
IDIwMDUsIDIwMDYsIDIwMDcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICAgIENv
cHlyaWdodCAoQykgMjAxMiBHb29nbGUsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAKICAg
ICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yCiAgICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMKQEAgLTEwMCwxMSArMTAxLDkgQEAgdm9pZCBDYWNoZWRJbWFnZTo6ZGlk
QWRkQ2xpZW50KENhY2hlZFJlc291cmNlQ2xpZW50KiBjKQogCiB2b2lkIENhY2hlZEltYWdlOjpk
aWRSZW1vdmVDbGllbnQoQ2FjaGVkUmVzb3VyY2VDbGllbnQqIGMpCiB7CisgICAgQVNTRVJUKGMp
OwogICAgIEFTU0VSVChjLT5yZXNvdXJjZUNsaWVudFR5cGUoKSA9PSBDYWNoZWRJbWFnZUNsaWVu
dDo6ZXhwZWN0ZWRUeXBlKCkpOwotI2lmIEVOQUJMRShTVkcpCi0gICAgaWYgKG1fc3ZnSW1hZ2VD
YWNoZSkKLSAgICAgICAgbV9zdmdJbWFnZUNhY2hlLT5yZW1vdmVDbGllbnRGcm9tQ2FjaGUoc3Rh
dGljX2Nhc3Q8Q2FjaGVkSW1hZ2VDbGllbnQqPihjKSk7Ci0jZW5kaWYKKyAgICBtX2NsaWVudERh
dGFNYXAucmVtb3ZlKHN0YXRpY19jYXN0PENhY2hlZEltYWdlQ2xpZW50Kj4oYykpOwogCiAgICAg
Q2FjaGVkUmVzb3VyY2U6OmRpZFJlbW92ZUNsaWVudChjKTsKIH0KQEAgLTEzMSwyNCArMTMwLDIy
IEBAIGJvb2wgQ2FjaGVkSW1hZ2U6OndpbGxQYWludEJyb2tlbkltYWdlKCkgY29uc3QKICAgICBy
ZXR1cm4gZXJyb3JPY2N1cnJlZCgpICYmIG1fc2hvdWxkUGFpbnRCcm9rZW5JbWFnZTsKIH0KIAot
I2lmIEVOQUJMRShTVkcpCiBpbmxpbmUgSW1hZ2UqIENhY2hlZEltYWdlOjpsb29rdXBPckNyZWF0
ZUltYWdlRm9yUmVuZGVyZXIoY29uc3QgUmVuZGVyT2JqZWN0KiByZW5kZXJlcikKIHsKICAgICBp
ZiAoIW1faW1hZ2UpCiAgICAgICAgIHJldHVybiAwOwotICAgIGlmICghbV9pbWFnZS0+aXNTVkdJ
bWFnZSgpKQorCisgICAgaWYgKCFyZW5kZXJlciB8fCAhbV9pbWFnZS0+dXNlc0NvbnRhaW5lclNp
emUoKSkKICAgICAgICAgcmV0dXJuIG1faW1hZ2UuZ2V0KCk7Ci0gICAgSW1hZ2UqIHVzZUltYWdl
ID0gbV9zdmdJbWFnZUNhY2hlLT5sb29rdXBPckNyZWF0ZUJpdG1hcEltYWdlRm9yUmVuZGVyZXIo
cmVuZGVyZXIpOwotICAgIGlmICh1c2VJbWFnZSA9PSBJbWFnZTo6bnVsbEltYWdlKCkpCisKKyAg
ICBjb25zdCBDYWNoZWRJbWFnZUNsaWVudCogY2xpZW50ID0gcmVuZGVyZXI7CisKKyAgICBJbWFn
ZVdpdGhDb250YWluZXJTaXplKiBkYXRhID0gbV9jbGllbnREYXRhTWFwLmdldChjbGllbnQpOwor
ICAgIGlmICghZGF0YSkKICAgICAgICAgcmV0dXJuIG1faW1hZ2UuZ2V0KCk7Ci0gICAgcmV0dXJu
IHVzZUltYWdlOwotfQotI2Vsc2UKLWlubGluZSBJbWFnZSogQ2FjaGVkSW1hZ2U6Omxvb2t1cE9y
Q3JlYXRlSW1hZ2VGb3JSZW5kZXJlcihjb25zdCBSZW5kZXJPYmplY3QqKQotewotICAgIHJldHVy
biBtX2ltYWdlLmdldCgpOworCisgICAgcmV0dXJuIGRhdGEtPmdldEltYWdlKG1faW1hZ2UpOwog
fQotI2VuZGlmCiAKIEltYWdlKiBDYWNoZWRJbWFnZTo6aW1hZ2UoKQogewpAQCAtMTg2LDIwICsx
ODMsMjUgQEAgSW1hZ2UqIENhY2hlZEltYWdlOjppbWFnZUZvclJlbmRlcmVyKGNvbnN0IFJlbmRl
ck9iamVjdCogcmVuZGVyZXIpCiAKIHZvaWQgQ2FjaGVkSW1hZ2U6OnNldENvbnRhaW5lclNpemVG
b3JSZW5kZXJlcihjb25zdCBSZW5kZXJPYmplY3QqIHJlbmRlcmVyLCBjb25zdCBJbnRTaXplJiBj
b250YWluZXJTaXplLCBmbG9hdCBjb250YWluZXJab29tKQogewotICAgIGlmICghbV9pbWFnZSB8
fCBjb250YWluZXJTaXplLmlzRW1wdHkoKSkKKyAgICBBU1NFUlQocmVuZGVyZXIpOworICAgIGlm
IChjb250YWluZXJTaXplLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwotI2lmIEVOQUJMRShT
VkcpCi0gICAgaWYgKCFtX2ltYWdlLT5pc1NWR0ltYWdlKCkpIHsKLSAgICAgICAgbV9pbWFnZS0+
c2V0Q29udGFpbmVyU2l6ZShjb250YWluZXJTaXplKTsKKworICAgIC8vIElmIHRoZSBpbWFnZSBp
cyBub3QgbG9hZGVkIHlldCwgd2UgZG9uJ3Qga25vdyBpZiB3ZSB3aWxsIG5lZWQgdGhlIGNvbnRh
aW5lciBzaXplLgorICAgIGlmIChtX2ltYWdlICYmICFtX2ltYWdlLT51c2VzQ29udGFpbmVyU2l6
ZSgpKQogICAgICAgICByZXR1cm47CisKKyAgICBGbG9hdFNpemUgZmxvYXRTaXplKGNvbnRhaW5l
clNpemUpOworICAgIGZsb2F0U2l6ZS5zY2FsZSgxIC8gY29udGFpbmVyWm9vbSk7CisgICAgSW50
U2l6ZSBzY2FsZWRTaXplKHJvdW5kZWRJbnRTaXplKGZsb2F0U2l6ZSkpOworCisgICAgSW1hZ2VX
aXRoQ29udGFpbmVyU2l6ZSogZGF0YSA9IG1fY2xpZW50RGF0YU1hcC5nZXQocmVuZGVyZXIpOwor
ICAgIGlmICghZGF0YSkgeworICAgICAgICBkYXRhID0gbmV3IEltYWdlV2l0aENvbnRhaW5lclNp
emUoKTsKKyAgICAgICAgbV9jbGllbnREYXRhTWFwLnNldChyZW5kZXJlciwgYWRvcHRQdHIoZGF0
YSkpOwogICAgIH0KIAotICAgIG1fc3ZnSW1hZ2VDYWNoZS0+c2V0UmVxdWVzdGVkU2l6ZUFuZFNj
YWxlcyhyZW5kZXJlciwgU1ZHSW1hZ2VDYWNoZTo6U2l6ZUFuZFNjYWxlcyhjb250YWluZXJTaXpl
LCBjb250YWluZXJab29tKSk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShyZW5kZXJlcik7Ci0g
ICAgVU5VU0VEX1BBUkFNKGNvbnRhaW5lclpvb20pOwotICAgIG1faW1hZ2UtPnNldENvbnRhaW5l
clNpemUoY29udGFpbmVyU2l6ZSk7Ci0jZW5kaWYKKyAgICBkYXRhLT5zZXRDb250YWluZXJTaXpl
KHNjYWxlZFNpemUpOwogfQogCiBib29sIENhY2hlZEltYWdlOjp1c2VzSW1hZ2VDb250YWluZXJT
aXplKCkgY29uc3QKQEAgLTI0MCwyMSArMjQyLDE0IEBAIEludFNpemUgQ2FjaGVkSW1hZ2U6Omlt
YWdlU2l6ZUZvclJlbmRlcmVyKGNvbnN0IFJlbmRlck9iamVjdCogcmVuZGVyZXIsIGZsb2F0IG11
CiAgICAgZWxzZQogICAgICAgICBpbWFnZVNpemUgPSBtX2ltYWdlLT5zaXplKCk7CiAKLSNpZiBF
TkFCTEUoU1ZHKQotICAgIGlmIChtX2ltYWdlLT5pc1NWR0ltYWdlKCkpIHsKLSAgICAgICAgU1ZH
SW1hZ2VDYWNoZTo6U2l6ZUFuZFNjYWxlcyBzaXplQW5kU2NhbGVzID0gbV9zdmdJbWFnZUNhY2hl
LT5yZXF1ZXN0ZWRTaXplQW5kU2NhbGVzKHJlbmRlcmVyKTsKLSAgICAgICAgaWYgKCFzaXplQW5k
U2NhbGVzLnNpemUuaXNFbXB0eSgpKSB7Ci0gICAgICAgICAgICBmbG9hdCBzY2FsZSA9IHNpemVB
bmRTY2FsZXMuc2NhbGU7Ci0gICAgICAgICAgICBpZiAoIXNjYWxlKSB7Ci0gICAgICAgICAgICAg
ICAgUGFnZSogcGFnZSA9IHJlbmRlcmVyLT5kb2N1bWVudCgpLT5wYWdlKCk7Ci0gICAgICAgICAg
ICAgICAgc2NhbGUgPSBwYWdlLT5kZXZpY2VTY2FsZUZhY3RvcigpICogcGFnZS0+cGFnZVNjYWxl
RmFjdG9yKCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGltYWdlU2l6ZS5zZXRXaWR0
aChzY2FsZSAqIHNpemVBbmRTY2FsZXMuc2l6ZS53aWR0aCgpIC8gc2l6ZUFuZFNjYWxlcy56b29t
KTsKLSAgICAgICAgICAgIGltYWdlU2l6ZS5zZXRIZWlnaHQoc2NhbGUgKiBzaXplQW5kU2NhbGVz
LnNpemUuaGVpZ2h0KCkgLyBzaXplQW5kU2NhbGVzLnpvb20pOworICAgIGlmIChtX2ltYWdlLT51
c2VzQ29udGFpbmVyU2l6ZSgpKSB7CisgICAgICAgIEFTU0VSVChyZW5kZXJlcik7CisKKyAgICAg
ICAgSW1hZ2VXaXRoQ29udGFpbmVyU2l6ZSogZGF0YSA9IG1fY2xpZW50RGF0YU1hcC5nZXQocmVu
ZGVyZXIpOworICAgICAgICBpZiAoZGF0YSkgeworICAgICAgICAgICAgaW1hZ2VTaXplID0gZGF0
YS0+c2l6ZSgpOwogICAgICAgICB9CiAgICAgfQotI2VuZGlmCiAKICAgICBpZiAobXVsdGlwbGll
ciA9PSAxLjBmKQogICAgICAgICByZXR1cm4gaW1hZ2VTaXplOwpAQCAtMjk3LDkgKzI5Miw3IEBA
IHZvaWQgQ2FjaGVkSW1hZ2U6OmNoZWNrU2hvdWxkUGFpbnRCcm9rZW5JbWFnZSgpCiB2b2lkIENh
Y2hlZEltYWdlOjpjbGVhcigpCiB7CiAgICAgZGVzdHJveURlY29kZWREYXRhKCk7Ci0jaWYgRU5B
QkxFKFNWRykKLSAgICBtX3N2Z0ltYWdlQ2FjaGUuY2xlYXIoKTsKLSNlbmRpZgorICAgIG1fY2xp
ZW50RGF0YU1hcC5jbGVhcigpOwogICAgIGNsZWFySW1hZ2UoKTsKICAgICBzZXRFbmNvZGVkU2l6
ZSgwKTsKIH0KQEAgLTMxNyw5ICszMTAsNyBAQCBpbmxpbmUgdm9pZCBDYWNoZWRJbWFnZTo6Y3Jl
YXRlSW1hZ2UoKQogI2VuZGlmCiAjaWYgRU5BQkxFKFNWRykKICAgICBpZiAobV9yZXNwb25zZS5t
aW1lVHlwZSgpID09ICJpbWFnZS9zdmcreG1sIikgewotICAgICAgICBSZWZQdHI8U1ZHSW1hZ2U+
IHN2Z0ltYWdlID0gU1ZHSW1hZ2U6OmNyZWF0ZSh0aGlzKTsKLSAgICAgICAgbV9zdmdJbWFnZUNh
Y2hlID0gU1ZHSW1hZ2VDYWNoZTo6Y3JlYXRlKHN2Z0ltYWdlLmdldCgpKTsKLSAgICAgICAgbV9p
bWFnZSA9IHN2Z0ltYWdlLnJlbGVhc2UoKTsKKyAgICAgICAgbV9pbWFnZSA9IFNWR0ltYWdlOjpj
cmVhdGUodGhpcyk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAjZW5kaWYKQEAgLTMzMyw2ICsz
MjQsOSBAQCBpbmxpbmUgdm9pZCBDYWNoZWRJbWFnZTo6Y2xlYXJJbWFnZSgpCiAgICAgaWYgKG1f
aW1hZ2UpCiAgICAgICAgIG1faW1hZ2UtPnNldEltYWdlT2JzZXJ2ZXIoMCk7CiAgICAgbV9pbWFn
ZS5jbGVhcigpOworCisgICAgZm9yIChDbGllbnREYXRhTWFwOjppdGVyYXRvciBpdCA9IG1fY2xp
ZW50RGF0YU1hcC5iZWdpbigpOyBpdCAhPSBtX2NsaWVudERhdGFNYXAuZW5kKCk7ICsraXQpCisg
ICAgICAgIGl0LT52YWx1ZS0+Y2xlYXJJbWFnZSgpOwogfQogCiBzaXplX3QgQ2FjaGVkSW1hZ2U6
Om1heGltdW1EZWNvZGVkSW1hZ2VTaXplKCkKQEAgLTQ1OSwxMyArNDUzLDYgQEAgdm9pZCBDYWNo
ZWRJbWFnZTo6Y2hhbmdlZEluUmVjdChjb25zdCBJbWFnZSogaW1hZ2UsIGNvbnN0IEludFJlY3Qm
IHJlY3QpCiB7CiAgICAgaWYgKCFpbWFnZSB8fCBpbWFnZSAhPSBtX2ltYWdlKQogICAgICAgICBy
ZXR1cm47Ci0jaWYgRU5BQkxFKFNWRykKLSAgICAvLyBXZSBoYXZlIHRvIHVwZGF0ZSB0aGUgY2Fj
aGVkIEltYWdlQnVmZmVycyBpZiB0aGUgdW5kZXJseWluZyBjb250ZW50IGNoYW5nZWQuCi0gICAg
aWYgKGltYWdlLT5pc1NWR0ltYWdlKCkpIHsKLSAgICAgICAgbV9zdmdJbWFnZUNhY2hlLT5pbWFn
ZUNvbnRlbnRDaGFuZ2VkKCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0jZW5kaWYKICAgICBu
b3RpZnlPYnNlcnZlcnMoJnJlY3QpOwogfQogCkBAIC00NzQsOSArNDYxLDcgQEAgdm9pZCBDYWNo
ZWRJbWFnZTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0
SW5mbykgY29uc3QKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0
aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNhY2hlZFJlc291cmNlSW1hZ2UpOwogICAgIENhY2hl
ZFJlc291cmNlOjpyZXBvcnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKICAgICBpbmZv
LmFkZE1lbWJlcihtX2ltYWdlKTsKLSNpZiBFTkFCTEUoU1ZHKQotICAgIGluZm8uYWRkTWVtYmVy
KG1fc3ZnSW1hZ2VDYWNoZSk7Ci0jZW5kaWYKKyAgICBpbmZvLmFkZE1lbWJlcihtX2NsaWVudERh
dGFNYXApOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9DYWNoZWRJbWFnZS5oCmluZGV4IDNjMTg5YjMwM2IzNTgxNWFlZDJiZmFkNjNiZjBl
NGU4M2QzMzI4ODMuLjIxMzAwNDQ0YWU4MzllMmNiZDVjODg1ZTQ1MmFkNWQ0MTMwYjIwOGUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRJbWFnZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRJbWFnZS5oCkBAIC0zLDYgKzMsNyBA
QAogICAgIENvcHlyaWdodCAoQykgMjAwMSBEaXJrIE11ZWxsZXIgPG11ZWxsZXJAa2RlLm9yZz4K
ICAgICBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyAoc2FtLndlaW5pZ0BnbWFpbC5j
b20pCiAgICAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAgICBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlLCBJbmMu
ICBBbGwgcmlnaHRzIHJlc2VydmVkLgogCiAgICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdh
cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICAgIG1vZGlmeSBpdCB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0yNCw4ICsyNSw4
IEBACiAjZGVmaW5lIENhY2hlZEltYWdlX2gKIAogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlLmgi
Ci0jaW5jbHVkZSAiU1ZHSW1hZ2VDYWNoZS5oIgogI2luY2x1ZGUgIkltYWdlT2JzZXJ2ZXIuaCIK
KyNpbmNsdWRlICJJbWFnZVdpdGhDb250YWluZXJTaXplLmgiCiAjaW5jbHVkZSAiSW50UmVjdC5o
IgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIApAQCAtMTA2LDEwICsxMDcsMTEgQEAgcHJpdmF0
ZToKICAgICB2b2lkIGNoZWNrU2hvdWxkUGFpbnRCcm9rZW5JbWFnZSgpOwogCiAgICAgUmVmUHRy
PEltYWdlPiBtX2ltYWdlOwotI2lmIEVOQUJMRShTVkcpCi0gICAgT3duUHRyPFNWR0ltYWdlQ2Fj
aGU+IG1fc3ZnSW1hZ2VDYWNoZTsKLSNlbmRpZgogICAgIGJvb2wgbV9zaG91bGRQYWludEJyb2tl
bkltYWdlOworCisgICAgdHlwZWRlZiBIYXNoTWFwPGNvbnN0IENhY2hlZEltYWdlQ2xpZW50Kiwg
T3duUHRyPEltYWdlV2l0aENvbnRhaW5lclNpemU+ID4gQ2xpZW50RGF0YU1hcDsKKworICAgIENs
aWVudERhdGFNYXAgbV9jbGllbnREYXRhTWFwOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL0ltYWdlV2l0aENvbnRhaW5lclNpemUuaCBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9jYWNoZS9JbWFnZVdpdGhDb250YWluZXJTaXplLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTk2N2E0NjY2OGM1Yjc4ZjRjYjU4MGY1ZjUwNmU1ZTY0N2RkNjg0NgotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9JbWFnZVdpdGhDb250YWluZXJTaXplLmgK
QEAgLTAsMCArMSwxMTQgQEAKKy8qCisgICAgQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSwgSW5j
LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKworICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3
YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAgICBtb2RpZnkgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICAgIExpY2Vuc2Ug
YXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICAg
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KKworICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0
aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0
aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgICAgTUVSQ0hBTlRBQklMSVRZIG9y
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAgICBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgIFlvdSBz
aG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UKKyAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENP
UFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgICAgQm9zdG9u
LCBNQSAwMjExMC0xMzAxLCBVU0EuCisqLworCisvKgorICAgIFRoaXMgY2xhc3MgcHJvdmlkZXMg
YSB3cmFwcGVyIGZvciBpbWFnZXMgdGhhdCBuZWVkIHRvIGhhdmUgYSBjb250YWluZXIgc2l6ZQor
ICAgIHNldCBhY2NvcmRpbmcgdG8gdGhlIHJlbmRlcmVyIHRoYXQgdXNlcyB0aGVtICh1c3VhbGx5
IFNWRyBpbWFnZXMgd2l0aAorICAgIHJlbGF0aXZlIHNpemUpLgorKi8KKworI2lmbmRlZiBJbWFn
ZVdpdGhDb250YWluZXJTaXplX2gKKyNkZWZpbmUgSW1hZ2VXaXRoQ29udGFpbmVyU2l6ZV9oCisK
KyNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKKyNpbmNsdWRlICJJbWFnZS5oIgorI2luY2x1
ZGUgIlBsYXRmb3JtTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmgiCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworY2xhc3MgSW1hZ2VXaXRoQ29udGFpbmVyU2l6ZSA6IHB1YmxpYyBJbWFnZSB7CitwdWJs
aWM6CisgICAgdmlydHVhbCB2b2lkIHNldENvbnRhaW5lclNpemUoY29uc3QgSW50U2l6ZSYgc2l6
ZSkgeyBtX3NpemUgPSBzaXplOyB9CisgICAgdmlydHVhbCBib29sIHVzZXNDb250YWluZXJTaXpl
KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQorICAgIHZpcnR1YWwgYm9vbCBoYXNSZWxhdGl2ZVdp
ZHRoKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQorICAgIHZpcnR1YWwgYm9vbCBoYXNSZWxhdGl2
ZUhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKyAgICB2aXJ0dWFsIHZvaWQgY29tcHV0
ZUludHJpbnNpY0RpbWVuc2lvbnMoTGVuZ3RoJiBpbnRyaW5zaWNXaWR0aCwgTGVuZ3RoJiBpbnRy
aW5zaWNIZWlnaHQsIEZsb2F0U2l6ZSYgaW50cmluc2ljUmF0aW8pCisgICAgeworICAgICAgICBp
ZiAoIW1faW1hZ2UpCisgICAgICAgICAgICBJbWFnZTo6Y29tcHV0ZUludHJpbnNpY0RpbWVuc2lv
bnMoaW50cmluc2ljV2lkdGgsIGludHJpbnNpY0hlaWdodCwgaW50cmluc2ljUmF0aW8pOworICAg
ICAgICBlbHNlCisgICAgICAgICAgICBtX2ltYWdlLT5jb21wdXRlSW50cmluc2ljRGltZW5zaW9u
cyhpbnRyaW5zaWNXaWR0aCwgaW50cmluc2ljSGVpZ2h0LCBpbnRyaW5zaWNSYXRpbyk7CisgICAg
fQorCisgICAgdmlydHVhbCBJbnRTaXplIHNpemUoKSBjb25zdCB7IHJldHVybiBtX3NpemU7IH0K
KworICAgIHZpcnR1YWwgdm9pZCBkZXN0cm95RGVjb2RlZERhdGEoYm9vbCAvKmRlc3Ryb3lBbGwq
LyA9IHRydWUpIHsgfQorICAgIHZpcnR1YWwgdW5zaWduZWQgZGVjb2RlZFNpemUoKSBjb25zdCB7
IHJldHVybiAwOyB9CisKKyAgICB2aXJ0dWFsIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5
T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKKyAgICB7CisgICAgICAgIE1lbW9y
eUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFBsYXRmb3JtTWVtb3J5VHlw
ZXM6OkltYWdlKTsKKyAgICAgICAgSW1hZ2U6OnJlcG9ydE1lbW9yeVVzYWdlKG1lbW9yeU9iamVj
dEluZm8pOworICAgIH0KKworICAgIHZpcnR1YWwgdm9pZCBkcmF3KEdyYXBoaWNzQ29udGV4dCog
Y29udGV4dCwgY29uc3QgRmxvYXRSZWN0JiBkc3RSZWN0LCBjb25zdCBGbG9hdFJlY3QmIHNyY1Jl
Y3QsIENvbG9yU3BhY2Ugc3R5bGVDb2xvclNwYWNlLCBDb21wb3NpdGVPcGVyYXRvciBjb21wb3Np
dGVPcCkKKyAgICB7CisgICAgICAgIGlmICghbV9pbWFnZSkKKyAgICAgICAgICAgIHJldHVybjsK
KworICAgICAgICBtX2ltYWdlLT5zZXRDb250YWluZXJTaXplKG1fc2l6ZSk7CisKKyAgICAgICAg
Ly8gRGlzYWJsZSBub3RpZmljYXRpb25zLgorICAgICAgICBJbWFnZU9ic2VydmVyICpvYnNlcnZl
ciA9IG1faW1hZ2UtPmltYWdlT2JzZXJ2ZXIoKTsKKyAgICAgICAgbV9pbWFnZS0+c2V0SW1hZ2VP
YnNlcnZlcigwKTsKKworICAgICAgICBjb250ZXh0LT5kcmF3SW1hZ2UobV9pbWFnZS5nZXQoKSwg
c3R5bGVDb2xvclNwYWNlLCBkc3RSZWN0LCBzcmNSZWN0LCBjb21wb3NpdGVPcCk7CisKKyAgICAg
ICAgLy8gUmVlbmFibGUgbm90aWZpY2F0aW9ucy4KKyAgICAgICAgbV9pbWFnZS0+c2V0SW1hZ2VP
YnNlcnZlcihvYnNlcnZlcik7CisgICAgfQorCisgICAgdmlydHVhbCB2b2lkIGRyYXdQYXR0ZXJu
KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgRmxvYXRSZWN0JiBzcmNSZWN0LCBjb25z
dCBBZmZpbmVUcmFuc2Zvcm0mIHBhdHRlcm5UcmFuc2Zvcm0sCisgICAgICAgIGNvbnN0IEZsb2F0
UG9pbnQmIHBoYXNlLCBDb2xvclNwYWNlIHN0eWxlQ29sb3JTcGFjZSwgQ29tcG9zaXRlT3BlcmF0
b3IgY29tcG9zaXRlT3AsIGNvbnN0IEZsb2F0UmVjdCYgZGVzdFJlY3QpCisgICAgeworICAgICAg
ICBpZiAoIW1faW1hZ2UpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgbV9pbWFnZS0+
c2V0Q29udGFpbmVyU2l6ZShtX3NpemUpOworCisgICAgICAgIC8vIERpc2FibGUgbm90aWZpY2F0
aW9ucy4KKyAgICAgICAgSW1hZ2VPYnNlcnZlciAqb2JzZXJ2ZXIgPSBtX2ltYWdlLT5pbWFnZU9i
c2VydmVyKCk7CisgICAgICAgIG1faW1hZ2UtPnNldEltYWdlT2JzZXJ2ZXIoMCk7CisKKyAgICAg
ICAgbV9pbWFnZS0+ZHJhd1BhdHRlcm4oY29udGV4dCwgc3JjUmVjdCwgcGF0dGVyblRyYW5zZm9y
bSwgcGhhc2UsIHN0eWxlQ29sb3JTcGFjZSwgY29tcG9zaXRlT3AsIGRlc3RSZWN0KTsKKworICAg
ICAgICAvLyBSZWVuYWJsZSBub3RpZmljYXRpb25zLgorICAgICAgICBtX2ltYWdlLT5zZXRJbWFn
ZU9ic2VydmVyKG9ic2VydmVyKTsKKyAgICB9CisKKyAgICBJbWFnZSogZ2V0SW1hZ2UoUGFzc1Jl
ZlB0cjxJbWFnZT4gaW1hZ2VUb0VuY2Fwc3VsYXRlKQorICAgIHsKKyAgICAgICAgaWYgKCFtX2lt
YWdlKQorICAgICAgICAgICAgbV9pbWFnZSA9IGltYWdlVG9FbmNhcHN1bGF0ZTsKKworICAgICAg
ICBBU1NFUlQobV9pbWFnZSA9PSBpbWFnZVRvRW5jYXBzdWxhdGUpOworICAgICAgICByZXR1cm4g
dGhpczsKKyAgICB9CisKKyAgICB2b2lkIGNsZWFySW1hZ2UoKQorICAgIHsKKyAgICAgICAgbV9p
bWFnZS5jbGVhcigpOworICAgIH0KKworICAgIFJlZlB0cjxJbWFnZT4gbV9pbWFnZTsKKyAgICBJ
bnRTaXplIG1fc2l6ZTsKK307CisKK30KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvSW1hZ2UuY3BwCmluZGV4IDc4ZTVlNDg2Mzc0NWQ3ODRjY2MyZjFiM2E3NzIxZWIy
YTgwYzFlZTEuLjUxN2M2MDgyMjNmYTk0NzEzNjU1OGZiMDUwNWExMzI1MDY0YjU1NDIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5jcHAKQEAgLTEwOSwxMCArMTA5
LDYgQEAgdm9pZCBJbWFnZTo6ZHJhd1RpbGVkKEdyYXBoaWNzQ29udGV4dCogY3R4dCwgY29uc3Qg
RmxvYXRSZWN0JiBkZXN0UmVjdCwgY29uc3QgRmwKICNlbmRpZgogCiAgICAgRmxvYXRTaXplIGlu
dHJpbnNpY1RpbGVTaXplID0gc2l6ZSgpOwotICAgIGlmIChoYXNSZWxhdGl2ZVdpZHRoKCkpCi0g
ICAgICAgIGludHJpbnNpY1RpbGVTaXplLnNldFdpZHRoKHNjYWxlZFRpbGVTaXplLndpZHRoKCkp
OwotICAgIGlmIChoYXNSZWxhdGl2ZUhlaWdodCgpKQotICAgICAgICBpbnRyaW5zaWNUaWxlU2l6
ZS5zZXRIZWlnaHQoc2NhbGVkVGlsZVNpemUuaGVpZ2h0KCkpOwogCiAgICAgRmxvYXRTaXplIHNj
YWxlKHNjYWxlZFRpbGVTaXplLndpZHRoKCkgLyBpbnRyaW5zaWNUaWxlU2l6ZS53aWR0aCgpLAog
ICAgICAgICAgICAgICAgICAgICBzY2FsZWRUaWxlU2l6ZS5oZWlnaHQoKSAvIGludHJpbnNpY1Rp
bGVTaXplLmhlaWdodCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJJbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3Bw
CmluZGV4IGU5NGZhM2ViZGE0NGJhMjM3NGQ0Y2E0NWU3NTFkOGM1YTE1NGUyYTkuLjFkNDkyYTNj
OGI4ZmRkNjdlMjAxYzhiYTI2ODA0NWIxZDg2NGVhZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckltYWdlLmNwcApAQCAtNDQ4LDYgKzQ0OCwxNyBAQCB2b2lkIFJlbmRlckltYWdl
OjpwYWludEludG9SZWN0KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgTGF5b3V0UmVj
dCYgcmVjdAogICAgIENvbXBvc2l0ZU9wZXJhdG9yIGNvbXBvc2l0ZU9wZXJhdG9yID0gaW1hZ2VF
bHQgPyBpbWFnZUVsdC0+Y29tcG9zaXRlT3BlcmF0b3IoKSA6IENvbXBvc2l0ZVNvdXJjZU92ZXI7
CiAgICAgSW1hZ2UqIGltYWdlID0gbV9pbWFnZVJlc291cmNlLT5pbWFnZSgpLmdldCgpOwogICAg
IGJvb2wgdXNlTG93UXVhbGl0eVNjYWxpbmcgPSBzaG91bGRQYWludEF0TG93UXVhbGl0eShjb250
ZXh0LCBpbWFnZSwgaW1hZ2UsIGFsaWduZWRSZWN0LnNpemUoKSk7CisKKyNpZiBFTkFCTEUoU1ZH
KQorICAgIGlmIChpbWFnZSAmJiBpbWFnZS0+aXNTVkdJbWFnZSgpKSB7CisgICAgICAgIFNWR0lt
YWdlKiBzdmdJbWFnZSA9IHN0YXRpY19jYXN0PFNWR0ltYWdlKj4oaW1hZ2UpOworICAgICAgICBG
bG9hdFJlY3Qgc3JjUmVjdCA9IGltYWdlLT5yZWN0KCk7CisgICAgICAgIEZsb2F0UmVjdCBkc3RS
ZWN0ID0gYWxpZ25lZFJlY3Q7CisgICAgICAgIHN2Z0ltYWdlLT5wcmVzZXJ2ZUFzcGVjdFJhdGlv
KGRzdFJlY3QsIHNyY1JlY3QpOworICAgICAgICBjb250ZXh0LT5kcmF3SW1hZ2UoaW1hZ2UsIHN0
eWxlKCktPmNvbG9yU3BhY2UoKSwgZHN0UmVjdCwgc3JjUmVjdCwgY29tcG9zaXRlT3BlcmF0b3Is
IHNob3VsZFJlc3BlY3RJbWFnZU9yaWVudGF0aW9uKCksIHVzZUxvd1F1YWxpdHlTY2FsaW5nKTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKyNlbmRpZgogICAgIGNvbnRleHQtPmRyYXdJbWFnZSht
X2ltYWdlUmVzb3VyY2UtPmltYWdlKGFsaWduZWRSZWN0LndpZHRoKCksIGFsaWduZWRSZWN0Lmhl
aWdodCgpKS5nZXQoKSwgc3R5bGUoKS0+Y29sb3JTcGFjZSgpLCBhbGlnbmVkUmVjdCwgY29tcG9z
aXRlT3BlcmF0b3IsIHNob3VsZFJlc3BlY3RJbWFnZU9yaWVudGF0aW9uKCksIHVzZUxvd1F1YWxp
dHlTY2FsaW5nKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ByZXNl
cnZlQXNwZWN0UmF0aW8uY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ByZXNlcnZlQXNwZWN0
UmF0aW8uY3BwCmluZGV4IDZhMWNkMTRjNTA1NmU1MDZjYWJlYjM0MDQxYzRmYjFmNDk3ZDJhNWUu
LmFmZWVmMzVmNjc0Njg1Nzc4Y2RhZTA0MzA5YTZiZGRiNzlmYTJhMDkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5jcHAKQEAgLTIyMCwxMiArMjIwLDEy
IEBAIHZvaWQgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbzo6dHJhbnNmb3JtUmVjdChGbG9hdFJlY3Qm
IGRlc3RSZWN0LCBGbG9hdFJlY3QmIHNyY1JlCiAgICAgICAgICAgICBjYXNlIFNWR1ByZXNlcnZl
QXNwZWN0UmF0aW86OlNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSU5ZTUlEOgogICAgICAgICAg
ICAgY2FzZSBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvOjpTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19Y
TUlEWU1JRDoKICAgICAgICAgICAgIGNhc2UgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbzo6U1ZHX1BS
RVNFUlZFQVNQRUNUUkFUSU9fWE1BWFlNSUQ6Ci0gICAgICAgICAgICAgICAgc3JjUmVjdC5zZXRZ
KGRlc3RSZWN0LnkoKSArIGltYWdlU2l6ZS5oZWlnaHQoKSAvIDIgLSBzcmNSZWN0LmhlaWdodCgp
IC8gMik7CisgICAgICAgICAgICAgICAgc3JjUmVjdC5zZXRZKHNyY1JlY3QueSgpICsgaW1hZ2VT
aXplLmhlaWdodCgpIC8gMiAtIHNyY1JlY3QuaGVpZ2h0KCkgLyAyKTsKICAgICAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgICAgIGNhc2UgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbzo6U1ZHX1BS
RVNFUlZFQVNQRUNUUkFUSU9fWE1JTllNQVg6CiAgICAgICAgICAgICBjYXNlIFNWR1ByZXNlcnZl
QXNwZWN0UmF0aW86OlNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSURZTUFYOgogICAgICAgICAg
ICAgY2FzZSBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvOjpTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19Y
TUFYWU1BWDoKLSAgICAgICAgICAgICAgICBzcmNSZWN0LnNldFkoZGVzdFJlY3QueSgpICsgaW1h
Z2VTaXplLmhlaWdodCgpIC0gc3JjUmVjdC5oZWlnaHQoKSk7CisgICAgICAgICAgICAgICAgc3Jj
UmVjdC5zZXRZKHNyY1JlY3QueSgpICsgaW1hZ2VTaXplLmhlaWdodCgpIC0gc3JjUmVjdC5oZWln
aHQoKSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBkZWZhdWx0OgogICAg
ICAgICAgICAgICAgIGJyZWFrOwpAQCAtMjM5LDEyICsyMzksMTIgQEAgdm9pZCBTVkdQcmVzZXJ2
ZUFzcGVjdFJhdGlvOjp0cmFuc2Zvcm1SZWN0KEZsb2F0UmVjdCYgZGVzdFJlY3QsIEZsb2F0UmVj
dCYgc3JjUmUKICAgICAgICAgICAgIGNhc2UgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbzo6U1ZHX1BS
RVNFUlZFQVNQRUNUUkFUSU9fWE1JRFlNSU46CiAgICAgICAgICAgICBjYXNlIFNWR1ByZXNlcnZl
QXNwZWN0UmF0aW86OlNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSURZTUlEOgogICAgICAgICAg
ICAgY2FzZSBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvOjpTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19Y
TUlEWU1BWDoKLSAgICAgICAgICAgICAgICBzcmNSZWN0LnNldFgoZGVzdFJlY3QueCgpICsgaW1h
Z2VTaXplLndpZHRoKCkgLyAyIC0gc3JjUmVjdC53aWR0aCgpIC8gMik7CisgICAgICAgICAgICAg
ICAgc3JjUmVjdC5zZXRYKHNyY1JlY3QueCgpICsgaW1hZ2VTaXplLndpZHRoKCkgLyAyIC0gc3Jj
UmVjdC53aWR0aCgpIC8gMik7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBj
YXNlIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW86OlNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNQVhZ
TUlOOgogICAgICAgICAgICAgY2FzZSBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvOjpTVkdfUFJFU0VS
VkVBU1BFQ1RSQVRJT19YTUFYWU1JRDoKICAgICAgICAgICAgIGNhc2UgU1ZHUHJlc2VydmVBc3Bl
Y3RSYXRpbzo6U1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1BWFlNQVg6Ci0gICAgICAgICAgICAg
ICAgc3JjUmVjdC5zZXRYKGRlc3RSZWN0LngoKSArIGltYWdlU2l6ZS53aWR0aCgpIC0gc3JjUmVj
dC53aWR0aCgpKTsKKyAgICAgICAgICAgICAgICBzcmNSZWN0LnNldFgoc3JjUmVjdC54KCkgKyBp
bWFnZVNpemUud2lkdGgoKSAtIHNyY1JlY3Qud2lkdGgoKSk7CiAgICAgICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAKaW5kZXggNmE3NmZhMzhjNWU3NTM2Yjg3
NDE0NzJiYTRhOTBhZmM4N2JiOWJkNC4uZjA4YzM5M2E4ZTQ1YzM0MzVlYjQ3Y2VhN2NjNDYzMTJi
MDUzODYzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwCkBAIC0y
LDYgKzIsNyBAQAogICogQ29weXJpZ2h0IChDKSAyMDA2IEVyaWMgU2VpZGVsIDxlcmljQHdlYmtp
dC5vcmc+CiAgKiBDb3B5cmlnaHQgKEMpIDIwMDgsIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZCAy
MDExLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
QEAgLTMyLDYgKzMzLDcgQEAKIAogI2luY2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgiCiAjaW5jbHVk
ZSAiRW1wdHlDbGllbnRzLmgiCisjaW5jbHVkZSAiRmxvYXRSZWN0LmgiCiAjaW5jbHVkZSAiRnJh
bWVWaWV3LmgiCiAjaW5jbHVkZSAiSW1hZ2VCdWZmZXIuaCIKICNpbmNsdWRlICJJbWFnZU9ic2Vy
dmVyLmgiCkBAIC02Miw4ICs2NCwxMSBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBpbnZh
bGlkYXRlQ29udGVudHNBbmRSb290Vmlldyhjb25zdCBJbnRSZWN0JiByLCBib29sKQogICAgIHsK
ICAgICAgICAgLy8gSWYgbV9pbWFnZS0+bV9wYWdlIGlzIG51bGwsIHdlJ3JlIGJlaW5nIGRlc3Ry
dWN0ZWQsIGRvbid0IGZpcmUgY2hhbmdlZEluUmVjdCgpIGluIHRoYXQgY2FzZS4KLSAgICAgICAg
aWYgKG1faW1hZ2UgJiYgbV9pbWFnZS0+aW1hZ2VPYnNlcnZlcigpICYmIG1faW1hZ2UtPm1fcGFn
ZSkKLSAgICAgICAgICAgIG1faW1hZ2UtPmltYWdlT2JzZXJ2ZXIoKS0+Y2hhbmdlZEluUmVjdCht
X2ltYWdlLCByKTsKKyAgICAgICAgaWYgKG1faW1hZ2UgJiYgbV9pbWFnZS0+bV9wYWdlKSB7Cisg
ICAgICAgICAgICBpZiAobV9pbWFnZS0+aW1hZ2VPYnNlcnZlcigpKQorICAgICAgICAgICAgICAg
IG1faW1hZ2UtPmltYWdlT2JzZXJ2ZXIoKS0+Y2hhbmdlZEluUmVjdChtX2ltYWdlLCByKTsKKyAg
ICAgICAgICAgIG1faW1hZ2UtPmludmFsaWRhdGVDYWNoZSgpOworICAgICAgICB9CiAgICAgfQog
CiAgICAgU1ZHSW1hZ2UqIG1faW1hZ2U7CkBAIC04NiwxMCArOTEsMzAgQEAgU1ZHSW1hZ2U6On5T
VkdJbWFnZSgpCiAgICAgQVNTRVJUKCFtX2Nocm9tZUNsaWVudCB8fCAhbV9jaHJvbWVDbGllbnQt
PmltYWdlKCkpOwogfQogCi12b2lkIFNWR0ltYWdlOjpzZXRDb250YWluZXJTaXplKGNvbnN0IElu
dFNpemUmKQordm9pZCBTVkdJbWFnZTo6c2V0Q29udGFpbmVyU2l6ZShjb25zdCBJbnRTaXplJiBz
aXplKQogewotICAgIC8vIFNWR0ltYWdlQ2FjaGUgYWxyZWFkeSBpbnRlcmNlcHRlZCB0aGlzIGNh
bGwsIGFzIGl0IHN0b3JlcyAmIGNhY2hlcyB0aGUgZGVzaXJlZCBjb250YWluZXIgc2l6ZXMgJiB6
b29tIGxldmVscy4KLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICBpZiAoIW1fcGFnZSB8
fCAhdXNlc0NvbnRhaW5lclNpemUoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgRnJhbWUqIGZy
YW1lID0gbV9wYWdlLT5tYWluRnJhbWUoKTsKKyAgICBTVkdTVkdFbGVtZW50KiByb290RWxlbWVu
dCA9IHN0YXRpY19jYXN0PFNWR0RvY3VtZW50Kj4oZnJhbWUtPmRvY3VtZW50KCkpLT5yb290RWxl
bWVudCgpOworICAgIGlmICghcm9vdEVsZW1lbnQpCisgICAgICAgIHJldHVybjsKKyAgICBSZW5k
ZXJTVkdSb290KiByZW5kZXJlciA9IHRvUmVuZGVyU1ZHUm9vdChyb290RWxlbWVudC0+cmVuZGVy
ZXIoKSk7CisgICAgaWYgKCFyZW5kZXJlcikKKyAgICAgICAgcmV0dXJuOworCisgICAgRnJhbWVW
aWV3KiB2aWV3ID0gZnJhbWVWaWV3KCk7CisgICAgLy8gSWYgYSBsYXlvdXQgaXMgcGVuZGluZywg
dHJpZ2dlciBpdCBub3cgc28gdGhhdCBub3RpZmljYXRpb25zIGdldCBzZW50LgorICAgIGlmICh2
aWV3LT5uZWVkc0xheW91dCgpKQorICAgICAgICB2aWV3LT5sYXlvdXQoKTsKKworICAgIHJlbmRl
cmVyLT5zZXRDb250YWluZXJTaXplKHNpemUpOworfQorCitib29sIFNWR0ltYWdlOjp1c2VzQ29u
dGFpbmVyU2l6ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGhhc1JlbGF0aXZlV2lkdGgoKSB8fCBo
YXNSZWxhdGl2ZUhlaWdodCgpOwogfQogCiBJbnRTaXplIFNWR0ltYWdlOjpzaXplKCkgY29uc3QK
QEAgLTEyMCw4MyArMTQ1LDUzIEBAIEludFNpemUgU1ZHSW1hZ2U6OnNpemUoKSBjb25zdAogICAg
ICAgICBjdXJyZW50U2l6ZSA9IHJvb3RFbGVtZW50LT5jdXJyZW50Vmlld0JveFJlY3QoKS5zaXpl
KCk7CiAKICAgICBpZiAoIWN1cnJlbnRTaXplLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuIElu
dFNpemUoc3RhdGljX2Nhc3Q8aW50PihjZWlsZihjdXJyZW50U2l6ZS53aWR0aCgpKSksIHN0YXRp
Y19jYXN0PGludD4oY2VpbGYoY3VycmVudFNpemUuaGVpZ2h0KCkpKSk7CisgICAgICAgIHJldHVy
biBleHBhbmRlZEludFNpemUoY3VycmVudFNpemUpOwogCiAgICAgLy8gQXMgbGFzdCByZXNvcnQs
IHVzZSBDU1MgZGVmYXVsdCBpbnRyaW5zaWMgc2l6ZS4KICAgICByZXR1cm4gSW50U2l6ZSgzMDAs
IDE1MCk7CiB9CiAKLXZvaWQgU1ZHSW1hZ2U6OmRyYXdTVkdUb0ltYWdlQnVmZmVyKEltYWdlQnVm
ZmVyKiBidWZmZXIsIGNvbnN0IEludFNpemUmIHNpemUsIGZsb2F0IHpvb20sIGZsb2F0IHNjYWxl
LCBTaG91bGRDbGVhckJ1ZmZlciBzaG91bGRDbGVhcikKK3ZvaWQgU1ZHSW1hZ2U6OmRyYXcoR3Jh
cGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBGbG9hdFJlY3QmIGRzdFJlY3QsIGNvbnN0IEZs
b2F0UmVjdCYgc3JjUmVjdCwgQ29sb3JTcGFjZSBjb2xvclNwYWNlLCBDb21wb3NpdGVPcGVyYXRv
ciBjb21wb3NpdGVPcCkKIHsKLSAgICAvLyBGSVhNRTogVGhpcyBkb2Vzbid0IHdvcmsgY29ycmVj
dGx5IHdpdGggYW5pbWF0aW9ucy4gSWYgYW4gaW1hZ2UgY29udGFpbnMgYW5pbWF0aW9ucywgdGhh
dCBzYXkgcnVuIGZvciAyIHNlY29uZHMsCi0gICAgLy8gYW5kIHdlIGN1cnJlbnRseSBoYXZlIG9u
ZSA8aW1nPiB0aGF0IGRpc3BsYXlzIHVzLiBJZiB3ZSBvcGVuIGFub3RoZXIgZG9jdW1lbnQgcmVm
ZXJlbmNpbmcgdGhlIHNhbWUgU1ZHSW1hZ2UgaXQKLSAgICAvLyB3aWxsIGRpc3BsYXkgdGhlIGRv
Y3VtZW50IGF0IGEgdGltZSB3aGVyZSBhbmltYXRpb25zIGFscmVhZHkgcmFuIC0gZXZlbiB0aG91
Z2ggaXQgaGFzIGl0cyBvd24gSW1hZ2VCdWZmZXIuCi0gICAgLy8gV2UgY3VycmVudGx5IGRvbid0
IGltcGxlbWVudCBTVkdTVkdFbGVtZW50OjpzZXRDdXJyZW50VGltZSwgYW5kIGNhbiBOT1QgZ28g
YmFjayBpbiB0aW1lLCBvbmNlIGFuaW1hdGlvbnMgc3RhcnRlZC4KLSAgICAvLyBUaGVyZSdzIG5v
IHdheSB0byBmaXggdGhpcyBiZXNpZGVzIGF2b2lkaW5nIHN0eWxlL2F0dHJpYnV0ZSBtdXRhdGlv
bnMgZnJvbSBTVkdBbmltYXRpb25FbGVtZW50LgotICAgIEFTU0VSVChidWZmZXIpOwotICAgIEFT
U0VSVCghc2l6ZS5pc0VtcHR5KCkpOwotCiAgICAgaWYgKCFtX3BhZ2UpCiAgICAgICAgIHJldHVy
bjsKIAotICAgIEZyYW1lKiBmcmFtZSA9IG1fcGFnZS0+bWFpbkZyYW1lKCk7Ci0gICAgU1ZHU1ZH
RWxlbWVudCogcm9vdEVsZW1lbnQgPSBzdGF0aWNfY2FzdDxTVkdEb2N1bWVudCo+KGZyYW1lLT5k
b2N1bWVudCgpKS0+cm9vdEVsZW1lbnQoKTsKLSAgICBpZiAoIXJvb3RFbGVtZW50KQotICAgICAg
ICByZXR1cm47Ci0gICAgUmVuZGVyU1ZHUm9vdCogcmVuZGVyZXIgPSB0b1JlbmRlclNWR1Jvb3Qo
cm9vdEVsZW1lbnQtPnJlbmRlcmVyKCkpOwotICAgIGlmICghcmVuZGVyZXIpCi0gICAgICAgIHJl
dHVybjsKLQotICAgIC8vIERyYXcgaW1hZ2UgYXQgcmVxdWVzdGVkIHNpemUuCi0gICAgSW1hZ2VP
YnNlcnZlciogb2JzZXJ2ZXIgPSBpbWFnZU9ic2VydmVyKCk7Ci0gICAgQVNTRVJUKG9ic2VydmVy
KTsKLQotICAgIC8vIFRlbXBvcmFyaWx5IHJlc2V0IGltYWdlIG9ic2VydmVyLCB3ZSBkb24ndCB3
YW50IHRvIHJlY2VpdmUgYW55IGNoYW5nZUluUmVjdCgpIGNhbGxzIGR1ZSB0byB0aGlzIHJlbGF5
b3V0LgotICAgIHNldEltYWdlT2JzZXJ2ZXIoMCk7Ci0KLSAgICAvLyBEaXNhYmxlIHJlcGFpbnRp
bmc7IHdlIGRvbid0IHdhbnQgZGVmZXJyZWQgcmVwYWludHMgdG8gc2NoZWR1bGUgYW55IHRpbWVy
cyBkdWUgdG8gdGhpcyByZWxheW91dC4KLSAgICBmcmFtZS0+dmlldygpLT5iZWdpbkRpc2FibGVS
ZXBhaW50cygpOworICAgIEFmZmluZVRyYW5zZm9ybSB0cmFuc2Zvcm0gPSBjb250ZXh0LT5nZXRD
VE0oKTsKKyAgICBGbG9hdFNpemUgc2NhbGUoZHN0UmVjdC53aWR0aCgpICogdHJhbnNmb3JtLnhT
Y2FsZSgpIC8gc3JjUmVjdC53aWR0aCgpLCBkc3RSZWN0LmhlaWdodCgpICogdHJhbnNmb3JtLnlT
Y2FsZSgpIC8gc3JjUmVjdC5oZWlnaHQoKSk7CiAKLSAgICByZW5kZXJlci0+c2V0Q29udGFpbmVy
U2l6ZShzaXplKTsKLSAgICBmcmFtZS0+dmlldygpLT5yZXNpemUodGhpcy0+c2l6ZSgpKTsKLQot
ICAgIGlmICh6b29tICE9IDEpCi0gICAgICAgIGZyYW1lLT5zZXRQYWdlWm9vbUZhY3Rvcih6b29t
KTsKLQotICAgIC8vIEV2ZW50dWFsbHkgY2xlYXIgaW1hZ2UgYnVmZmVyLgotICAgIEludFJlY3Qg
cmVjdChJbnRQb2ludCgpLCBzaXplKTsKKyAgICBSZWZQdHI8SW1hZ2U+IGNhY2hlZEltYWdlID0g
Y2FjaGVkSW1hZ2VBdFNjYWxlKHNjYWxlKTsKKyAgICBpZiAoY2FjaGVkSW1hZ2UpIHsKKyAgICAg
ICAgRmxvYXRSZWN0IHNyY1NjYWxlZChzcmNSZWN0KTsKKyAgICAgICAgc3JjU2NhbGVkLnNjYWxl
KHNjYWxlLndpZHRoKCksIHNjYWxlLmhlaWdodCgpKTsKIAotICAgIEZsb2F0UmVjdCBzY2FsZWRS
ZWN0KHJlY3QpOwotICAgIHNjYWxlZFJlY3Quc2NhbGUoc2NhbGUpOwotCi0gICAgaWYgKHNob3Vs
ZENsZWFyID09IENsZWFySW1hZ2VCdWZmZXIpCi0gICAgICAgIGJ1ZmZlci0+Y29udGV4dCgpLT5j
bGVhclJlY3QoZW5jbG9zaW5nSW50UmVjdChzY2FsZWRSZWN0KSk7CisgICAgICAgIGNvbnRleHQt
PmRyYXdJbWFnZShjYWNoZWRJbWFnZS5nZXQoKSwgY29sb3JTcGFjZSwgZHN0UmVjdCwgc3JjU2Nh
bGVkLCBjb21wb3NpdGVPcCk7CisgICAgfQorfQogCi0gICAgLy8gRHJhdyBTVkcgb24gdG9wIG9m
IEltYWdlQnVmZmVyLgotICAgIGRyYXcoYnVmZmVyLT5jb250ZXh0KCksIGVuY2xvc2luZ0ludFJl
Y3Qoc2NhbGVkUmVjdCksIHJlY3QsIENvbG9yU3BhY2VEZXZpY2VSR0IsIENvbXBvc2l0ZVNvdXJj
ZU92ZXIpOwordm9pZCBTVkdJbWFnZTo6ZHJhd1BhdHRlcm4oR3JhcGhpY3NDb250ZXh0KiBjb250
ZXh0LCBjb25zdCBGbG9hdFJlY3QmIHNyY1JlY3QsIGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgcGF0
dGVyblRyYW5zZm9ybSwKKyAgICBjb25zdCBGbG9hdFBvaW50JiBwaGFzZSwgQ29sb3JTcGFjZSBj
b2xvclNwYWNlLCBDb21wb3NpdGVPcGVyYXRvciBjb21wb3NpdGVPcCwgY29uc3QgRmxvYXRSZWN0
JiBkc3RSZWN0KQoreworICAgIGlmICghbV9wYWdlKQorICAgICAgICByZXR1cm47CiAKLSAgICAv
LyBSZXNldCBjb250YWluZXIgc2l6ZSAmIHpvb20gdG8gaW5pdGlhbCBzdGF0ZS4gT3RoZXJ3aGlz
ZSB0aGUgc2l6ZSgpIG9mIHRoaXMKLSAgICAvLyBpbWFnZSB3b3VsZCByZXR1cm4gd2hhdGV2ZXIg
bGFzdCBzaXplIHdhcyBzZXQgYnkgZHJhd1NWR1RvSW1hZ2VCdWZmZXIoKS4KLSAgICBpZiAoem9v
bSAhPSAxKQotICAgICAgICBmcmFtZS0+c2V0UGFnZVpvb21GYWN0b3IoMSk7CisgICAgQWZmaW5l
VHJhbnNmb3JtIHRyYW5zZm9ybSA9IGNvbnRleHQtPmdldENUTSgpOworICAgIHRyYW5zZm9ybS5t
dWx0aXBseShwYXR0ZXJuVHJhbnNmb3JtKTsKKyAgICBGbG9hdFNpemUgc2NhbGUodHJhbnNmb3Jt
LnhTY2FsZSgpLCB0cmFuc2Zvcm0ueVNjYWxlKCkpOwogCi0gICAgcmVuZGVyZXItPnNldENvbnRh
aW5lclNpemUoSW50U2l6ZSgpKTsKLSAgICBmcmFtZS0+dmlldygpLT5yZXNpemUodGhpcy0+c2l6
ZSgpKTsKLSAgICBpZiAoZnJhbWUtPnZpZXcoKS0+bmVlZHNMYXlvdXQoKSkKLSAgICAgICAgZnJh
bWUtPnZpZXcoKS0+bGF5b3V0KCk7CisgICAgUmVmUHRyPEltYWdlPiBjYWNoZWRJbWFnZSA9IGNh
Y2hlZEltYWdlQXRTY2FsZShzY2FsZSk7CisgICAgaWYgKGNhY2hlZEltYWdlKSB7CisgICAgICAg
IEZsb2F0UmVjdCBzcmNTY2FsZWQoc3JjUmVjdCk7CisgICAgICAgIHNyY1NjYWxlZC5zY2FsZShz
Y2FsZS53aWR0aCgpLCBzY2FsZS5oZWlnaHQoKSk7CiAKLSAgICBzZXRJbWFnZU9ic2VydmVyKG9i
c2VydmVyKTsKKyAgICAgICAgQWZmaW5lVHJhbnNmb3JtIGFkanVzdGVkUGF0dGVybkNUTSA9IHBh
dHRlcm5UcmFuc2Zvcm07CisgICAgICAgIGFkanVzdGVkUGF0dGVybkNUTS5zY2FsZSgxLjAgLyBz
Y2FsZS53aWR0aCgpLCAxLjAgLyBzY2FsZS5oZWlnaHQoKSk7CiAKLSAgICBmcmFtZS0+dmlldygp
LT5lbmREaXNhYmxlUmVwYWludHMoKTsKKyAgICAgICAgY2FjaGVkSW1hZ2UtPmRyYXdQYXR0ZXJu
KGNvbnRleHQsIHNyY1NjYWxlZCwgYWRqdXN0ZWRQYXR0ZXJuQ1RNLCBwaGFzZSwgY29sb3JTcGFj
ZSwgY29tcG9zaXRlT3AsIGRzdFJlY3QpOworICAgIH0KIH0KIAotdm9pZCBTVkdJbWFnZTo6ZHJh
dyhHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEZsb2F0UmVjdCYgZHN0UmVjdCwgY29u
c3QgRmxvYXRSZWN0JiBzcmNSZWN0LCBDb2xvclNwYWNlLCBDb21wb3NpdGVPcGVyYXRvciBjb21w
b3NpdGVPcCkKK3ZvaWQgU1ZHSW1hZ2U6OnVuY2FjaGVkRHJhdyhHcmFwaGljc0NvbnRleHQqIGNv
bnRleHQsIGNvbnN0IEZsb2F0UmVjdCYgZHN0UmVjdCwgY29uc3QgRmxvYXRSZWN0JiBzcmNSZWN0
LCBDb2xvclNwYWNlLCBDb21wb3NpdGVPcGVyYXRvciBjb21wb3NpdGVPcCkKIHsKLSAgICBpZiAo
IW1fcGFnZSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgRnJhbWVWaWV3KiB2aWV3ID0gZnJhbWVW
aWV3KCk7Ci0KICAgICBHcmFwaGljc0NvbnRleHRTdGF0ZVNhdmVyIHN0YXRlU2F2ZXIoKmNvbnRl
eHQpOwogICAgIGNvbnRleHQtPnNldENvbXBvc2l0ZU9wZXJhdGlvbihjb21wb3NpdGVPcCk7CiAg
ICAgY29udGV4dC0+Y2xpcChlbmNsb3NpbmdJbnRSZWN0KGRzdFJlY3QpKTsKQEAgLTIxMywxMiAr
MjA4LDggQEAgdm9pZCBTVkdJbWFnZTo6ZHJhdyhHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNv
bnN0IEZsb2F0UmVjdCYgZHN0UmVjdCwgY29uc3QgRmwKICAgICBjb250ZXh0LT50cmFuc2xhdGUo
ZGVzdE9mZnNldC54KCksIGRlc3RPZmZzZXQueSgpKTsKICAgICBjb250ZXh0LT5zY2FsZShzY2Fs
ZSk7CiAKLSAgICB2aWV3LT5yZXNpemUoc2l6ZSgpKTsKLQotICAgIGlmICh2aWV3LT5uZWVkc0xh
eW91dCgpKQotICAgICAgICB2aWV3LT5sYXlvdXQoKTsKLQotICAgIHZpZXctPnBhaW50KGNvbnRl
eHQsIEludFJlY3QoMCwgMCwgdmlldy0+d2lkdGgoKSwgdmlldy0+aGVpZ2h0KCkpKTsKKyAgICBG
cmFtZVZpZXcqIHZpZXcgPSBmcmFtZVZpZXcoKTsKKyAgICBmcmFtZVZpZXcoKS0+cGFpbnQoY29u
dGV4dCwgSW50UmVjdCgwLCAwLCB2aWV3LT53aWR0aCgpLCB2aWV3LT5oZWlnaHQoKSkpOwogCiAg
ICAgaWYgKGNvbXBvc2l0ZU9wICE9IENvbXBvc2l0ZVNvdXJjZU92ZXIpCiAgICAgICAgIGNvbnRl
eHQtPmVuZFRyYW5zcGFyZW5jeUxheWVyKCk7CkBAIC0yNDAsNiArMjMxLDE3IEBAIFJlbmRlckJv
eCogU1ZHSW1hZ2U6OmVtYmVkZGVkQ29udGVudEJveCgpIGNvbnN0CiAgICAgcmV0dXJuIHRvUmVu
ZGVyQm94KHJvb3RFbGVtZW50LT5yZW5kZXJlcigpKTsKIH0KIAordm9pZCBTVkdJbWFnZTo6cHJl
c2VydmVBc3BlY3RSYXRpbyhGbG9hdFJlY3QmIGRlc3RSZWN0LCBGbG9hdFJlY3QmIHNyY1JlY3Qp
IGNvbnN0Cit7CisgICAgaWYgKCFtX3BhZ2UgfHwgaGFzUmVsYXRpdmVXaWR0aCgpIHx8IGhhc1Jl
bGF0aXZlSGVpZ2h0KCkpCisgICAgICAgIHJldHVybjsKKyAgICBGcmFtZSogZnJhbWUgPSBtX3Bh
Z2UtPm1haW5GcmFtZSgpOworICAgIFNWR1NWR0VsZW1lbnQqIHJvb3RFbGVtZW50ID0gc3RhdGlj
X2Nhc3Q8U1ZHRG9jdW1lbnQqPihmcmFtZS0+ZG9jdW1lbnQoKSktPnJvb3RFbGVtZW50KCk7Cisg
ICAgaWYgKCFyb290RWxlbWVudCkKKyAgICAgICAgcmV0dXJuOworICAgIHJvb3RFbGVtZW50LT5w
cmVzZXJ2ZUFzcGVjdFJhdGlvKCkudHJhbnNmb3JtUmVjdChkZXN0UmVjdCwgc3JjUmVjdCk7Cit9
CisKIEZyYW1lVmlldyogU1ZHSW1hZ2U6OmZyYW1lVmlldygpIGNvbnN0CiB7CiAgICAgaWYgKCFt
X3BhZ2UpCkBAIC0yODksMjEgKzI5MSw0NCBAQCB2b2lkIFNWR0ltYWdlOjpjb21wdXRlSW50cmlu
c2ljRGltZW5zaW9ucyhMZW5ndGgmIGludHJpbnNpY1dpZHRoLCBMZW5ndGgmIGludHJpbgogICAg
ICAgICBpbnRyaW5zaWNSYXRpbyA9IEZsb2F0U2l6ZShmbG9hdFZhbHVlRm9yTGVuZ3RoKGludHJp
bnNpY1dpZHRoLCAwKSwgZmxvYXRWYWx1ZUZvckxlbmd0aChpbnRyaW5zaWNIZWlnaHQsIDApKTsK
IH0KIAotTmF0aXZlSW1hZ2VQdHIgU1ZHSW1hZ2U6Om5hdGl2ZUltYWdlRm9yQ3VycmVudEZyYW1l
KCkKK1Bhc3NSZWZQdHI8SW1hZ2U+IFNWR0ltYWdlOjpjYWNoZWRJbWFnZUF0U2NhbGUoY29uc3Qg
RmxvYXRTaXplJiBzY2FsZSkKIHsKLSAgICAvLyBGSVhNRTogSW4gb3JkZXIgdG8gc3VwcG9ydCBk
eW5hbWljIFNWR3Mgd2UgbmVlZCB0byBoYXZlIGEgd2F5IHRvIGludmFsaWRhdGUgdGhpcwotICAg
IC8vIGZyYW1lIGNhY2hlLCBvciBiZXR0ZXIgeWV0LCBub3QgdXNlIGEgY2FjaGUgZm9yIHRpbGVk
IGRyYXdpbmcgYXQgYWxsLCBpbnN0ZWFkCi0gICAgLy8gaGF2aW5nIGEgdGlsZWQgZHJhd2luZyBj
YWxsYmFjayAoaG9wZWZ1bGx5IG5vbi12aXJ0dWFsKS4KLSAgICBpZiAoIW1fZnJhbWVDYWNoZSkg
ewotICAgICAgICBpZiAoIW1fcGFnZSkKLSAgICAgICAgICAgIHJldHVybiAwOwotICAgICAgICBP
d25QdHI8SW1hZ2VCdWZmZXI+IGJ1ZmZlciA9IEltYWdlQnVmZmVyOjpjcmVhdGUoc2l6ZSgpLCAx
KTsKLSAgICAgICAgaWYgKCFidWZmZXIpIC8vIGZhaWxlZCB0byBhbGxvY2F0ZSBpbWFnZQotICAg
ICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgIGRyYXcoYnVmZmVyLT5jb250ZXh0KCksIHJlY3Qo
KSwgcmVjdCgpLCBDb2xvclNwYWNlRGV2aWNlUkdCLCBDb21wb3NpdGVTb3VyY2VPdmVyKTsKLSAg
ICAgICAgbV9mcmFtZUNhY2hlID0gYnVmZmVyLT5jb3B5SW1hZ2UoQ29weUJhY2tpbmdTdG9yZSk7
Ci0gICAgfQotICAgIHJldHVybiBtX2ZyYW1lQ2FjaGUtPm5hdGl2ZUltYWdlRm9yQ3VycmVudEZy
YW1lKCk7CisgICAgaWYgKCFtX3BhZ2UpCisgICAgICAgIHJldHVybiAwOworCisgICAgLy8gRG8g
c2l6aW5nIGFuZCBsYXlvdXQgYmVmb3JlIGNoZWNraW5nIHRoZSBjYWNoZSB0byBiZSBhYmxlIHRv
IGludmFsaWRhdGUgaXQgaWYgc29tZXRoaW5nIGhhcyBjaGFuZ2VkLgorICAgIEZyYW1lVmlldyog
dmlldyA9IGZyYW1lVmlldygpOworICAgIHZpZXctPnJlc2l6ZShzaXplKCkpOworCisgICAgaWYg
KHZpZXctPm5lZWRzTGF5b3V0KCkpCisgICAgICAgIHZpZXctPmxheW91dCgpOworCisgICAgUmVm
UHRyPEltYWdlPiBpbWFnZSA9IG1fc2NhbGVUb0NhY2hlZEJpdG1hcE1hcC5nZXQoc2NhbGUpOwor
ICAgIGlmICghIWltYWdlKQorICAgICAgICByZXR1cm4gaW1hZ2U7CisKKyAgICAvLyBUT0RPOiBG
aWd1cmUgb3V0IGlmIGNhY2hpbmcgY2FuIGJlIGRlbGF5ZWQuCisgICAgLy8gVE9ETzogQ2xlYW4g
dXAgY2FjaGUgdGhhdCdzIG5vdCBsaWtlbHkgdG8gYmUgdXNlZCBhbnkgbW9yZS4KKworICAgIEZs
b2F0U2l6ZSBzY2FsZWRTaXplKHNpemUoKSk7CisgICAgc2NhbGVkU2l6ZS5zY2FsZShzY2FsZS53
aWR0aCgpLCBzY2FsZS5oZWlnaHQoKSk7CisKKyAgICBPd25QdHI8SW1hZ2VCdWZmZXI+IGJ1ZmZl
ciA9IEltYWdlQnVmZmVyOjpjcmVhdGUoZXhwYW5kZWRJbnRTaXplKHNjYWxlZFNpemUpLCAxKTsK
KyAgICBpZiAoIWJ1ZmZlcikgLy8gZmFpbGVkIHRvIGFsbG9jYXRlIGltYWdlCisgICAgICAgIHJl
dHVybiAwOworCisgICAgLy8gRHJhdyBpbWFnZSBhdCByZXF1ZXN0ZWQgc2l6ZS4KKyAgICB1bmNh
Y2hlZERyYXcoYnVmZmVyLT5jb250ZXh0KCksIEZsb2F0UmVjdChGbG9hdFBvaW50KCksIHNjYWxl
ZFNpemUpLCByZWN0KCksIENvbG9yU3BhY2VEZXZpY2VSR0IsIENvbXBvc2l0ZVNvdXJjZU92ZXIp
OworICAgIGltYWdlID0gYnVmZmVyLT5jb3B5SW1hZ2UoQ29weUJhY2tpbmdTdG9yZSk7CisKKyAg
ICBtX3NjYWxlVG9DYWNoZWRCaXRtYXBNYXAuc2V0KHNjYWxlLCBpbWFnZSk7CisKKyAgICByZXR1
cm4gaW1hZ2U7Cit9CisKK3ZvaWQgU1ZHSW1hZ2U6OmludmFsaWRhdGVDYWNoZSgpCit7CisgICAg
bV9zY2FsZVRvQ2FjaGVkQml0bWFwTWFwLmNsZWFyKCk7CiB9CiAKIGJvb2wgU1ZHSW1hZ2U6OmRh
dGFDaGFuZ2VkKGJvb2wgYWxsRGF0YVJlY2VpdmVkKQpAQCAtMzYxLDcgKzM4Niw3IEBAIHZvaWQg
U1ZHSW1hZ2U6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVj
dEluZm8pIGNvbnN0CiAgICAgSW1hZ2U6OnJlcG9ydE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdElu
Zm8pOwogICAgIGluZm8uYWRkTWVtYmVyKG1fY2hyb21lQ2xpZW50KTsKICAgICBpbmZvLmFkZE1l
bWJlcihtX3BhZ2UpOwotICAgIGluZm8uYWRkTWVtYmVyKG1fZnJhbWVDYWNoZSk7CisgICAgaW5m
by5hZGRNZW1iZXIobV9zY2FsZVRvQ2FjaGVkQml0bWFwTWFwKTsKIH0KIAogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuaAppbmRleCAzNmIzMmJhYTEyYTIyNDUyOGNiY2E2MmNj
N2U1NWM4ZWJiYTE3MjBmLi5mYTlkOTZkY2FhMzFkZjhiNTJlYjY2ZDAwZjZiODcyMDZlY2IzMGY5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuaApAQCAtMSw2ICsxLDcgQEAK
IC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgRXJpYyBTZWlkZWwgPGVyaWNAd2Via2l0Lm9yZz4K
ICAqIENvcHlyaWdodCAoQykgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAq
CiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjksNyArMzAsMTEgQEAKIAogI2lmIEVO
QUJMRShTVkcpCiAKKyNpbmNsdWRlICJGbG9hdFNpemUuaCIKICNpbmNsdWRlICJJbWFnZS5oIgor
I2luY2x1ZGUgPGxpbWl0cz4KKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0
Zi9IYXNoVHJhaXRzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDYsMTMgKzUxLDgg
QEAgcHVibGljOgogICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNWR0ltYWdlKG9ic2VydmVy
KSk7CiAgICAgfQogCi0gICAgZW51bSBTaG91bGRDbGVhckJ1ZmZlciB7Ci0gICAgICAgIENsZWFy
SW1hZ2VCdWZmZXIsCi0gICAgICAgIERvbnRDbGVhckltYWdlQnVmZmVyCi0gICAgfTsKLQotICAg
IHZvaWQgZHJhd1NWR1RvSW1hZ2VCdWZmZXIoSW1hZ2VCdWZmZXIqLCBjb25zdCBJbnRTaXplJiwg
ZmxvYXQgem9vbSwgZmxvYXQgc2NhbGUsIFNob3VsZENsZWFyQnVmZmVyKTsKICAgICBSZW5kZXJC
b3gqIGVtYmVkZGVkQ29udGVudEJveCgpIGNvbnN0OworICAgIHZvaWQgcHJlc2VydmVBc3BlY3RS
YXRpbyhGbG9hdFJlY3QmIGRlc3RSZWN0LCBGbG9hdFJlY3QmIHNyY1JlY3QpIGNvbnN0OwogICAg
IEZyYW1lVmlldyogZnJhbWVWaWV3KCkgY29uc3Q7CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNTVkdJ
bWFnZSgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KQEAgLTYzLDE0ICs2MywxNSBAQCBwdWJsaWM6
CiAKICAgICB2aXJ0dWFsIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyop
IGNvbnN0IE9WRVJSSURFOwogCisgICAgdmlydHVhbCB2b2lkIHNldENvbnRhaW5lclNpemUoY29u
c3QgSW50U2l6ZSYpOworICAgIHZpcnR1YWwgYm9vbCB1c2VzQ29udGFpbmVyU2l6ZSgpIGNvbnN0
OworCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBTVkdJbWFnZUNocm9tZUNsaWVudDsKICAg
ICB2aXJ0dWFsIH5TVkdJbWFnZSgpOwogCiAgICAgdmlydHVhbCBTdHJpbmcgZmlsZW5hbWVFeHRl
bnNpb24oKSBjb25zdDsKIAotICAgIHZpcnR1YWwgdm9pZCBzZXRDb250YWluZXJTaXplKGNvbnN0
IEludFNpemUmKTsKLSAgICB2aXJ0dWFsIGJvb2wgdXNlc0NvbnRhaW5lclNpemUoKSBjb25zdCB7
IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCB2b2lkIGNvbXB1dGVJbnRyaW5zaWNEaW1lbnNp
b25zKExlbmd0aCYgaW50cmluc2ljV2lkdGgsIExlbmd0aCYgaW50cmluc2ljSGVpZ2h0LCBGbG9h
dFNpemUmIGludHJpbnNpY1JhdGlvKTsKIAogICAgIHZpcnR1YWwgYm9vbCBkYXRhQ2hhbmdlZChi
b29sIGFsbERhdGFSZWNlaXZlZCk7CkBAIC04NCwxMiArODUsNDYgQEAgcHJpdmF0ZToKIAogICAg
IFNWR0ltYWdlKEltYWdlT2JzZXJ2ZXIqKTsKICAgICB2aXJ0dWFsIHZvaWQgZHJhdyhHcmFwaGlj
c0NvbnRleHQqLCBjb25zdCBGbG9hdFJlY3QmIGZyb21SZWN0LCBjb25zdCBGbG9hdFJlY3QmIHRv
UmVjdCwgQ29sb3JTcGFjZSBzdHlsZUNvbG9yU3BhY2UsIENvbXBvc2l0ZU9wZXJhdG9yKTsKKyAg
ICB2aXJ0dWFsIHZvaWQgZHJhd1BhdHRlcm4oR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgRmxvYXRS
ZWN0JiBzcmNSZWN0LCBjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIHBhdHRlcm5UcmFuc2Zvcm0sCisg
ICAgICAgIGNvbnN0IEZsb2F0UG9pbnQmIHBoYXNlLCBDb2xvclNwYWNlIHN0eWxlQ29sb3JTcGFj
ZSwgQ29tcG9zaXRlT3BlcmF0b3IsIGNvbnN0IEZsb2F0UmVjdCYgZGVzdFJlY3QpOwogCi0gICAg
dmlydHVhbCBOYXRpdmVJbWFnZVB0ciBuYXRpdmVJbWFnZUZvckN1cnJlbnRGcmFtZSgpOworICAg
IHZvaWQgdW5jYWNoZWREcmF3KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UmVjdCYgZnJv
bVJlY3QsIGNvbnN0IEZsb2F0UmVjdCYgdG9SZWN0LCBDb2xvclNwYWNlIHN0eWxlQ29sb3JTcGFj
ZSwgQ29tcG9zaXRlT3BlcmF0b3IpOworICAgIFBhc3NSZWZQdHI8SW1hZ2U+IGNhY2hlZEltYWdl
QXRTY2FsZShjb25zdCBGbG9hdFNpemUgJnNjYWxlKTsKKyAgICB2b2lkIGludmFsaWRhdGVDYWNo
ZSgpOwogCiAgICAgT3duUHRyPFNWR0ltYWdlQ2hyb21lQ2xpZW50PiBtX2Nocm9tZUNsaWVudDsK
ICAgICBPd25QdHI8UGFnZT4gbV9wYWdlOwotICAgIFJlZlB0cjxJbWFnZT4gbV9mcmFtZUNhY2hl
OworCisgICAgc3RydWN0IEZsb2F0U2l6ZUhhc2ggeworICAgICAgICBzdGF0aWMgdW5zaWduZWQg
aGFzaChjb25zdCBGbG9hdFNpemUmIGtleSkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJu
IFN0cmluZ0hhc2hlcjo6aGFzaE1lbW9yeTxzaXplb2YoRmxvYXRTaXplKT4oJmtleSk7CisgICAg
ICAgIH0KKworICAgICAgICBzdGF0aWMgYm9vbCBlcXVhbChjb25zdCBGbG9hdFNpemUmIGEsIGNv
bnN0IEZsb2F0U2l6ZSYgYikKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGEgPT0gYjsK
KyAgICAgICAgfQorCisgICAgICAgIHN0YXRpYyBjb25zdCBib29sIHNhZmVUb0NvbXBhcmVUb0Vt
cHR5T3JEZWxldGVkID0gdHJ1ZTsKKyAgICB9OworCisgICAgc3RydWN0IEZsb2F0U2l6ZUhhc2hU
cmFpdHMgOiBXVEY6OkdlbmVyaWNIYXNoVHJhaXRzPEZsb2F0U2l6ZT4geworICAgICAgICBzdGF0
aWMgY29uc3QgYm9vbCBlbXB0eVZhbHVlSXNaZXJvID0gdHJ1ZTsKKworICAgICAgICBzdGF0aWMg
dm9pZCBjb25zdHJ1Y3REZWxldGVkVmFsdWUoRmxvYXRTaXplJiBzbG90KQorICAgICAgICB7Cisg
ICAgICAgICAgICBuZXcgKE5vdE51bGwsICZzbG90KSBGbG9hdFNpemUoc3RkOjpudW1lcmljX2xp
bWl0czxmbG9hdD46OmluZmluaXR5KCksIHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjppbmZp
bml0eSgpKTsKKyAgICAgICAgfQorCisgICAgICAgIHN0YXRpYyBib29sIGlzRGVsZXRlZFZhbHVl
KGNvbnN0IEZsb2F0U2l6ZSYgdmFsdWUpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiB2
YWx1ZSA9PSBGbG9hdFNpemUoc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46OmluZmluaXR5KCks
IHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjppbmZpbml0eSgpKTsKKyAgICAgICAgfQorICAg
IH07CisKKyAgICB0eXBlZGVmIEhhc2hNYXA8RmxvYXRTaXplLCBSZWZQdHI8SW1hZ2U+LCBGbG9h
dFNpemVIYXNoLCBGbG9hdFNpemVIYXNoVHJhaXRzPiBTaXplVG9JbWFnZU1hcDsKKyAgICBTaXpl
VG9JbWFnZU1hcCBtX3NjYWxlVG9DYWNoZWRCaXRtYXBNYXA7CiB9OwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2VDYWNoZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2VDYWNoZS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDM1OGYyY2FhODdmZGFkMzgzYWU5ZDcxMTYxY2FhNTIxMDc3NGEyNWYuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNv
cmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlQ2FjaGUuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMTkw
ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgUmVzZWFyY2ggSW4gTW90aW9uIExp
bWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vu
c2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgot
ICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl
ciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w
ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3
aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBv
ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ug
c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENP
UFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqIEJvc3Rvbiwg
TUEgMDIxMTAtMTMwMSwgVVNBLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRl
ICJTVkdJbWFnZUNhY2hlLmgiCi0KLSNpZiBFTkFCTEUoU1ZHKQotI2luY2x1ZGUgIkNhY2hlZElt
YWdlLmgiCi0jaW5jbHVkZSAiRnJhbWVWaWV3LmgiCi0jaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0
LmgiCi0jaW5jbHVkZSAiSW1hZ2VCdWZmZXIuaCIKLSNpbmNsdWRlICJQYWdlLmgiCi0jaW5jbHVk
ZSAiUmVuZGVyU1ZHUm9vdC5oIgotI2luY2x1ZGUgIlNWR0ltYWdlLmgiCi0KLW5hbWVzcGFjZSBX
ZWJDb3JlIHsKLQotU1ZHSW1hZ2VDYWNoZTo6U1ZHSW1hZ2VDYWNoZShTVkdJbWFnZSogc3ZnSW1h
Z2UpCi0gICAgOiBtX3N2Z0ltYWdlKHN2Z0ltYWdlKQotICAgICwgbV9yZWRyYXdUaW1lcih0aGlz
LCAmU1ZHSW1hZ2VDYWNoZTo6cmVkcmF3VGltZXJGaXJlZCkKLXsKLSAgICBBU1NFUlQobV9zdmdJ
bWFnZSk7Ci19Ci0KLVNWR0ltYWdlQ2FjaGU6On5TVkdJbWFnZUNhY2hlKCkKLXsKLSAgICBtX3Np
emVBbmRTY2FsZXNNYXAuY2xlYXIoKTsKLQotICAgIEltYWdlRGF0YU1hcDo6aXRlcmF0b3IgZW5k
ID0gbV9pbWFnZURhdGFNYXAuZW5kKCk7Ci0gICAgZm9yIChJbWFnZURhdGFNYXA6Oml0ZXJhdG9y
IGl0ID0gbV9pbWFnZURhdGFNYXAuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAg
IC8vIENoZWNrcyBpZiB0aGUgY2xpZW50IChpdC0+a2V5KSBpcyBzdGlsbCB2YWxpZC4gVGhlIGNs
aWVudCBzaG91bGQgcmVtb3ZlIGl0c2VsZiBmcm9tIHRoaXMKLSAgICAgICAgLy8gY2FjaGUgYmVm
b3JlIGl0cyBlbmQgb2YgbGlmZSwgb3RoZXJ3aXNlIHRoZSBmb2xsb3dpbmcgQVNTRVJUIHdpbGwg
Y3Jhc2ggb24gcHVyZSB2aXJ0dWFsCi0gICAgICAgIC8vIGZ1bmN0aW9uIGNhbGwgb3IgYSBnZW5l
cmFsIGNyYXNoLgotICAgICAgICBBU1NFUlQoaXQtPmtleS0+cmVzb3VyY2VDbGllbnRUeXBlKCkg
PT0gQ2FjaGVkSW1hZ2VDbGllbnQ6OmV4cGVjdGVkVHlwZSgpKTsKLSAgICAgICAgZGVsZXRlIGl0
LT52YWx1ZS5idWZmZXI7Ci0gICAgfQotCi0gICAgbV9pbWFnZURhdGFNYXAuY2xlYXIoKTsKLX0K
LQotdm9pZCBTVkdJbWFnZUNhY2hlOjpyZW1vdmVDbGllbnRGcm9tQ2FjaGUoY29uc3QgQ2FjaGVk
SW1hZ2VDbGllbnQqIGNsaWVudCkKLXsKLSAgICBBU1NFUlQoY2xpZW50KTsKLSAgICBtX3NpemVB
bmRTY2FsZXNNYXAucmVtb3ZlKGNsaWVudCk7Ci0KLSAgICBJbWFnZURhdGFNYXA6Oml0ZXJhdG9y
IGl0ID0gbV9pbWFnZURhdGFNYXAuZmluZChjbGllbnQpOwotICAgIGlmIChpdCA9PSBtX2ltYWdl
RGF0YU1hcC5lbmQoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgZGVsZXRlIGl0LT52YWx1ZS5i
dWZmZXI7Ci0gICAgbV9pbWFnZURhdGFNYXAucmVtb3ZlKGl0KTsKLX0KLQotdm9pZCBTVkdJbWFn
ZUNhY2hlOjpzZXRSZXF1ZXN0ZWRTaXplQW5kU2NhbGVzKGNvbnN0IENhY2hlZEltYWdlQ2xpZW50
KiBjbGllbnQsIGNvbnN0IFNpemVBbmRTY2FsZXMmIHNpemVBbmRTY2FsZXMpCi17Ci0gICAgQVNT
RVJUKGNsaWVudCk7Ci0gICAgQVNTRVJUKCFzaXplQW5kU2NhbGVzLnNpemUuaXNFbXB0eSgpKTsK
LSAgICBtX3NpemVBbmRTY2FsZXNNYXAuc2V0KGNsaWVudCwgc2l6ZUFuZFNjYWxlcyk7Ci19Ci0K
LVNWR0ltYWdlQ2FjaGU6OlNpemVBbmRTY2FsZXMgU1ZHSW1hZ2VDYWNoZTo6cmVxdWVzdGVkU2l6
ZUFuZFNjYWxlcyhjb25zdCBDYWNoZWRJbWFnZUNsaWVudCogY2xpZW50KSBjb25zdAotewotICAg
IGlmICghY2xpZW50KQotICAgICAgICByZXR1cm4gU2l6ZUFuZFNjYWxlcygpOwotICAgIFNpemVB
bmRTY2FsZXNNYXA6OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbV9zaXplQW5kU2NhbGVzTWFwLmZpbmQo
Y2xpZW50KTsKLSAgICBpZiAoaXQgPT0gbV9zaXplQW5kU2NhbGVzTWFwLmVuZCgpKQotICAgICAg
ICByZXR1cm4gU2l6ZUFuZFNjYWxlcygpOwotICAgIHJldHVybiBpdC0+dmFsdWU7Ci19Ci0KLXZv
aWQgU1ZHSW1hZ2VDYWNoZTo6aW1hZ2VDb250ZW50Q2hhbmdlZCgpCi17Ci0gICAgSW1hZ2VEYXRh
TWFwOjppdGVyYXRvciBlbmQgPSBtX2ltYWdlRGF0YU1hcC5lbmQoKTsKLSAgICBmb3IgKEltYWdl
RGF0YU1hcDo6aXRlcmF0b3IgaXQgPSBtX2ltYWdlRGF0YU1hcC5iZWdpbigpOyBpdCAhPSBlbmQ7
ICsraXQpCi0gICAgICAgIGl0LT52YWx1ZS5pbWFnZU5lZWRzVXBkYXRlID0gdHJ1ZTsKLQotICAg
IC8vIElmIHdlJ3JlIGluIHRoZSBtaWRkbGUgb2YgbGF5b3V0LCBzdGFydCByZWRyYXdpbmcgZGly
dHkKLSAgICAvLyBpbWFnZXMgb24gYSB0aW1lcjsgb3RoZXJ3aXNlIGl0J3Mgc2FmZSB0byBkcmF3
IGltbWVkaWF0ZWx5LgotICAgIEZyYW1lVmlldyogZnJhbWVWaWV3ID0gbV9zdmdJbWFnZS0+ZnJh
bWVWaWV3KCk7Ci0gICAgaWYgKGZyYW1lVmlldyAmJiAoZnJhbWVWaWV3LT5uZWVkc0xheW91dCgp
IHx8IGZyYW1lVmlldy0+aXNJbkxheW91dCgpKSkgewotICAgICAgICBpZiAoIW1fcmVkcmF3VGlt
ZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgICAgIG1fcmVkcmF3VGltZXIuc3RhcnRPbmVTaG90KDAp
OwotICAgIH0gZWxzZQotICAgICAgIHJlZHJhdygpOwotfQotCi12b2lkIFNWR0ltYWdlQ2FjaGU6
OnJlZHJhdygpCi17Ci0gICAgSW1hZ2VEYXRhTWFwOjppdGVyYXRvciBlbmQgPSBtX2ltYWdlRGF0
YU1hcC5lbmQoKTsKLSAgICBmb3IgKEltYWdlRGF0YU1hcDo6aXRlcmF0b3IgaXQgPSBtX2ltYWdl
RGF0YU1hcC5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAgSW1hZ2VEYXRhJiBk
YXRhID0gaXQtPnZhbHVlOwotICAgICAgICBpZiAoIWRhdGEuaW1hZ2VOZWVkc1VwZGF0ZSkKLSAg
ICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAvLyBJZiB0aGUgY29udGVudCBjaGFuZ2VkIHdl
IHJlZHJhdyB1c2luZyBvdXIgZXhpc3RpbmcgSW1hZ2VCdWZmZXIuCi0gICAgICAgIEFTU0VSVChk
YXRhLmJ1ZmZlcik7Ci0gICAgICAgIEFTU0VSVChkYXRhLmltYWdlKTsKLSAgICAgICAgbV9zdmdJ
bWFnZS0+ZHJhd1NWR1RvSW1hZ2VCdWZmZXIoZGF0YS5idWZmZXIsIGRhdGEuc2l6ZUFuZFNjYWxl
cy5zaXplLCBkYXRhLnNpemVBbmRTY2FsZXMuem9vbSwgZGF0YS5zaXplQW5kU2NhbGVzLnNjYWxl
LCBTVkdJbWFnZTo6Q2xlYXJJbWFnZUJ1ZmZlcik7Ci0gICAgICAgIGRhdGEuaW1hZ2UgPSBkYXRh
LmJ1ZmZlci0+Y29weUltYWdlKENvcHlCYWNraW5nU3RvcmUpOwotICAgICAgICBkYXRhLmltYWdl
TmVlZHNVcGRhdGUgPSBmYWxzZTsKLSAgICB9Ci0gICAgQVNTRVJUKG1fc3ZnSW1hZ2UtPmltYWdl
T2JzZXJ2ZXIoKSk7Ci0gICAgbV9zdmdJbWFnZS0+aW1hZ2VPYnNlcnZlcigpLT5hbmltYXRpb25B
ZHZhbmNlZChtX3N2Z0ltYWdlKTsKLX0KLQotdm9pZCBTVkdJbWFnZUNhY2hlOjpyZWRyYXdUaW1l
ckZpcmVkKFRpbWVyPFNWR0ltYWdlQ2FjaGU+KikKLXsKLSAgICAvLyBXZSBoYXZlIG5vIGd1YXJh
bnRlZSB0aGF0IHRoZSBmcmFtZSBkb2VzIG5vdCByZXF1aXJlIGxheW91dCB3aGVuIHRoZSB0aW1l
ciBmaXJlZC4KLSAgICAvLyBTbyBiZSBzdXJlIHRvIGNoZWNrIGFnYWluIGluIGNhc2UgaXQgaXMg
c3RpbGwgbm90IHNhZmUgdG8gcnVuIHJlZHJhdy4KLSAgICBGcmFtZVZpZXcqIGZyYW1lVmlldyA9
IG1fc3ZnSW1hZ2UtPmZyYW1lVmlldygpOwotICAgIGlmIChmcmFtZVZpZXcgJiYgKGZyYW1lVmll
dy0+bmVlZHNMYXlvdXQoKSB8fCBmcmFtZVZpZXctPmlzSW5MYXlvdXQoKSkpIHsKLSAgICAgICAg
aWYgKCFtX3JlZHJhd1RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgICAgICBtX3JlZHJhd1RpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKLSAgICB9IGVsc2UKLSAgICAgICByZWRyYXcoKTsKLX0KLQotSW1h
Z2UqIFNWR0ltYWdlQ2FjaGU6Omxvb2t1cE9yQ3JlYXRlQml0bWFwSW1hZ2VGb3JSZW5kZXJlcihj
b25zdCBSZW5kZXJPYmplY3QqIHJlbmRlcmVyKQotewotICAgIGlmICghcmVuZGVyZXIpCi0gICAg
ICAgIHJldHVybiBJbWFnZTo6bnVsbEltYWdlKCk7Ci0KLSAgICBjb25zdCBDYWNoZWRJbWFnZUNs
aWVudCogY2xpZW50ID0gcmVuZGVyZXI7Ci0KLSAgICAvLyBUaGUgY2FjaGUgbmVlZHMgdG8ga25v
dyB0aGUgc2l6ZSBvZiB0aGUgcmVuZGVyZXIgYmVmb3JlIHF1ZXJ5aW5nIGFuIGltYWdlIGZvciBp
dC4KLSAgICBTaXplQW5kU2NhbGVzTWFwOjppdGVyYXRvciBzaXplSXQgPSBtX3NpemVBbmRTY2Fs
ZXNNYXAuZmluZChyZW5kZXJlcik7Ci0gICAgaWYgKHNpemVJdCA9PSBtX3NpemVBbmRTY2FsZXNN
YXAuZW5kKCkpCi0gICAgICAgIHJldHVybiBJbWFnZTo6bnVsbEltYWdlKCk7Ci0KLSAgICBJbnRT
aXplIHNpemUgPSBzaXplSXQtPnZhbHVlLnNpemU7Ci0gICAgZmxvYXQgem9vbSA9IHNpemVJdC0+
dmFsdWUuem9vbTsKLSAgICBmbG9hdCBzY2FsZSA9IHNpemVJdC0+dmFsdWUuc2NhbGU7Ci0KLSAg
ICAvLyBGSVhNRSAoODUzMzUpOiBUaGlzIG5lZWRzIHRvIHRha2UgQ1NTIHRyYW5zZm9ybSBzY2Fs
ZSBpbnRvIGFjY291bnQgYXMgd2VsbC4KLSAgICBQYWdlKiBwYWdlID0gcmVuZGVyZXItPmRvY3Vt
ZW50KCktPnBhZ2UoKTsKLSAgICBpZiAoIXNjYWxlKQotICAgICAgICBzY2FsZSA9IHBhZ2UtPmRl
dmljZVNjYWxlRmFjdG9yKCkgKiBwYWdlLT5wYWdlU2NhbGVGYWN0b3IoKTsKLQotICAgIEFTU0VS
VCghc2l6ZS5pc0VtcHR5KCkpOwotCi0gICAgLy8gTG9va3VwIGltYWdlIGZvciBjbGllbnQgaW4g
Y2FjaGUgYW5kIGV2ZW50dWFsbHkgdXBkYXRlIGl0LgotICAgIEltYWdlRGF0YU1hcDo6aXRlcmF0
b3IgaXQgPSBtX2ltYWdlRGF0YU1hcC5maW5kKGNsaWVudCk7Ci0gICAgaWYgKGl0ICE9IG1faW1h
Z2VEYXRhTWFwLmVuZCgpKSB7Ci0gICAgICAgIEltYWdlRGF0YSYgZGF0YSA9IGl0LT52YWx1ZTsK
LQotICAgICAgICAvLyBDb21tb24gY2FzZTogaW1hZ2Ugc2l6ZSAmIHpvb20gcmVtYWluZWQgdGhl
IHNhbWUuCi0gICAgICAgIGlmIChkYXRhLnNpemVBbmRTY2FsZXMuc2l6ZSA9PSBzaXplICYmIGRh
dGEuc2l6ZUFuZFNjYWxlcy56b29tID09IHpvb20gJiYgZGF0YS5zaXplQW5kU2NhbGVzLnNjYWxl
ID09IHNjYWxlKQotICAgICAgICAgICAgcmV0dXJuIGRhdGEuaW1hZ2UuZ2V0KCk7Ci0KLSAgICAg
ICAgLy8gSWYgdGhlIGltYWdlIHNpemUgZm9yIHRoZSBjbGllbnQgY2hhbmdlZCwgd2UgaGF2ZSB0
byBkZWxldGUgdGhlIGJ1ZmZlciwgcmVtb3ZlIHRoZSBpdGVtIGZyb20gdGhlIGNhY2hlIGFuZCBy
ZWNyZWF0ZSBpdC4KLSAgICAgICAgZGVsZXRlIGRhdGEuYnVmZmVyOwotICAgICAgICBtX2ltYWdl
RGF0YU1hcC5yZW1vdmUoaXQpOwotICAgIH0KLQotICAgIEZsb2F0U2l6ZSBzY2FsZWRTaXplKHNp
emUpOwotICAgIHNjYWxlZFNpemUuc2NhbGUoc2NhbGUpOwotCi0gICAgLy8gQ3JlYXRlIGFuZCBj
YWNoZSBuZXcgaW1hZ2UgYW5kIGltYWdlIGJ1ZmZlciBhdCByZXF1ZXN0ZWQgc2l6ZS4KLSAgICBP
d25QdHI8SW1hZ2VCdWZmZXI+IG5ld0J1ZmZlciA9IEltYWdlQnVmZmVyOjpjcmVhdGUoZXhwYW5k
ZWRJbnRTaXplKHNjYWxlZFNpemUpLCAxKTsKLSAgICBpZiAoIW5ld0J1ZmZlcikKLSAgICAgICAg
cmV0dXJuIEltYWdlOjpudWxsSW1hZ2UoKTsKLQotICAgIG1fc3ZnSW1hZ2UtPmRyYXdTVkdUb0lt
YWdlQnVmZmVyKG5ld0J1ZmZlci5nZXQoKSwgc2l6ZSwgem9vbSwgc2NhbGUsIFNWR0ltYWdlOjpE
b250Q2xlYXJJbWFnZUJ1ZmZlcik7Ci0KLSAgICBSZWZQdHI8SW1hZ2U+IG5ld0ltYWdlID0gbmV3
QnVmZmVyLT5jb3B5SW1hZ2UoQ29weUJhY2tpbmdTdG9yZSk7Ci0gICAgSW1hZ2UqIG5ld0ltYWdl
UHRyID0gbmV3SW1hZ2UuZ2V0KCk7Ci0gICAgQVNTRVJUKG5ld0ltYWdlUHRyKTsKLQotICAgIG1f
aW1hZ2VEYXRhTWFwLmFkZChjbGllbnQsIEltYWdlRGF0YShuZXdCdWZmZXIubGVha1B0cigpLCBu
ZXdJbWFnZS5yZWxlYXNlKCksIFNpemVBbmRTY2FsZXMoc2l6ZSwgem9vbSwgc2NhbGUpKSk7Ci0g
ICAgcmV0dXJuIG5ld0ltYWdlUHRyOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNl
bmRpZiAvLyBFTkFCTEUoU1ZHKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBo
aWNzL1NWR0ltYWdlQ2FjaGUuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFn
ZUNhY2hlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUzMzFiNGQ5YTEzOWZjNzZh
ZWI1YzA3Nzc5ODZiN2M4MWVhMDQxNzMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlQ2FjaGUu
aAorKysgL2Rldi9udWxsCkBAIC0xLDEyMiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAy
MDExIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoK
LSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp
dCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3Ig
KGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkg
aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1
dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5
IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt
b3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlz
IGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAq
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwg
RmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqLwotCi0jaWZu
ZGVmIFNWR0ltYWdlQ2FjaGVfaAotI2RlZmluZSBTVkdJbWFnZUNhY2hlX2gKLQotI2lmIEVOQUJM
RShTVkcpCi0jaW5jbHVkZSAiSW1hZ2UuaCIKLSNpbmNsdWRlICJJbnRTaXplLmgiCi0jaW5jbHVk
ZSAiVGltZXIuaCIKLSNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9QYXNz
T3duUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7
Ci0KLWNsYXNzIENhY2hlZEltYWdlOwotY2xhc3MgQ2FjaGVkSW1hZ2VDbGllbnQ7Ci1jbGFzcyBJ
bWFnZUJ1ZmZlcjsKLWNsYXNzIFNWR0ltYWdlOwotY2xhc3MgUmVuZGVyT2JqZWN0OwotCi1jbGFz
cyBTVkdJbWFnZUNhY2hlIHsKLSAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKLXB1YmxpYzoK
LSAgICB+U1ZHSW1hZ2VDYWNoZSgpOwotCi0gICAgc3RhdGljIFBhc3NPd25QdHI8U1ZHSW1hZ2VD
YWNoZT4gY3JlYXRlKFNWR0ltYWdlKiBpbWFnZSkKLSAgICB7Ci0gICAgICAgIHJldHVybiBhZG9w
dFB0cihuZXcgU1ZHSW1hZ2VDYWNoZShpbWFnZSkpOwotICAgIH0KLQotICAgIHN0cnVjdCBTaXpl
QW5kU2NhbGVzIHsKLSAgICAgICAgU2l6ZUFuZFNjYWxlcygpCi0gICAgICAgICAgICA6IHpvb20o
MSkKLSAgICAgICAgICAgICwgc2NhbGUoMCkKLSAgICAgICAgewotICAgICAgICB9Ci0KLSAgICAg
ICAgU2l6ZUFuZFNjYWxlcyhjb25zdCBJbnRTaXplJiBuZXdTaXplLCBmbG9hdCBuZXdab29tLCBm
bG9hdCBuZXdTY2FsZSkKLSAgICAgICAgICAgIDogc2l6ZShuZXdTaXplKQotICAgICAgICAgICAg
LCB6b29tKG5ld1pvb20pCi0gICAgICAgICAgICAsIHNjYWxlKG5ld1NjYWxlKQotICAgICAgICB7
Ci0gICAgICAgIH0KLQotICAgICAgICBTaXplQW5kU2NhbGVzKGNvbnN0IEludFNpemUmIG5ld1Np
emUsIGZsb2F0IG5ld1pvb20pCi0gICAgICAgICAgICA6IHNpemUobmV3U2l6ZSkKLSAgICAgICAg
ICAgICwgem9vbShuZXdab29tKQotICAgICAgICAgICAgLCBzY2FsZSgwKQotICAgICAgICB7Ci0g
ICAgICAgIH0KLQotICAgICAgICBJbnRTaXplIHNpemU7Ci0gICAgICAgIGZsb2F0IHpvb207Ci0g
ICAgICAgIGZsb2F0IHNjYWxlOyAvLyBBIHNjYWxlIG9mIDAgaW5kaWNhdGVzIHRoYXQgdGhlIGRl
ZmF1bHQgc2NhbGUgc2hvdWxkIGJlIHVzZWQuCi0gICAgfTsKLQotICAgIHZvaWQgcmVtb3ZlQ2xp
ZW50RnJvbUNhY2hlKGNvbnN0IENhY2hlZEltYWdlQ2xpZW50Kik7Ci0KLSAgICB2b2lkIHNldFJl
cXVlc3RlZFNpemVBbmRTY2FsZXMoY29uc3QgQ2FjaGVkSW1hZ2VDbGllbnQqLCBjb25zdCBTaXpl
QW5kU2NhbGVzJik7Ci0gICAgU2l6ZUFuZFNjYWxlcyByZXF1ZXN0ZWRTaXplQW5kU2NhbGVzKGNv
bnN0IENhY2hlZEltYWdlQ2xpZW50KikgY29uc3Q7Ci0KLSAgICBJbWFnZSogbG9va3VwT3JDcmVh
dGVCaXRtYXBJbWFnZUZvclJlbmRlcmVyKGNvbnN0IFJlbmRlck9iamVjdCopOwotICAgIHZvaWQg
aW1hZ2VDb250ZW50Q2hhbmdlZCgpOwotCi1wcml2YXRlOgotICAgIFNWR0ltYWdlQ2FjaGUoU1ZH
SW1hZ2UqKTsKLSAgICB2b2lkIHJlZHJhdygpOwotICAgIHZvaWQgcmVkcmF3VGltZXJGaXJlZChU
aW1lcjxTVkdJbWFnZUNhY2hlPiopOwotCi0gICAgc3RydWN0IEltYWdlRGF0YSB7Ci0gICAgICAg
IEltYWdlRGF0YSgpCi0gICAgICAgICAgICA6IGltYWdlTmVlZHNVcGRhdGUoZmFsc2UpCi0gICAg
ICAgICAgICAsIGJ1ZmZlcigwKQotICAgICAgICB7Ci0gICAgICAgIH0KLQotICAgICAgICBJbWFn
ZURhdGEoSW1hZ2VCdWZmZXIqIG5ld0J1ZmZlciwgUGFzc1JlZlB0cjxJbWFnZT4gbmV3SW1hZ2Us
IGNvbnN0IFNpemVBbmRTY2FsZXMmIG5ld1NpemVBbmRTY2FsZXMpCi0gICAgICAgICAgICA6IGlt
YWdlTmVlZHNVcGRhdGUoZmFsc2UpCi0gICAgICAgICAgICAsIHNpemVBbmRTY2FsZXMobmV3U2l6
ZUFuZFNjYWxlcykKLSAgICAgICAgICAgICwgYnVmZmVyKG5ld0J1ZmZlcikKLSAgICAgICAgICAg
ICwgaW1hZ2UobmV3SW1hZ2UpCi0gICAgICAgIHsKLSAgICAgICAgfQotCi0gICAgICAgIGJvb2wg
aW1hZ2VOZWVkc1VwZGF0ZTsKLSAgICAgICAgU2l6ZUFuZFNjYWxlcyBzaXplQW5kU2NhbGVzOwot
Ci0gICAgICAgIEltYWdlQnVmZmVyKiBidWZmZXI7Ci0gICAgICAgIFJlZlB0cjxJbWFnZT4gaW1h
Z2U7Ci0gICAgfTsKLQotICAgIHR5cGVkZWYgSGFzaE1hcDxjb25zdCBDYWNoZWRJbWFnZUNsaWVu
dCosIFNpemVBbmRTY2FsZXM+IFNpemVBbmRTY2FsZXNNYXA7Ci0gICAgdHlwZWRlZiBIYXNoTWFw
PGNvbnN0IENhY2hlZEltYWdlQ2xpZW50KiwgSW1hZ2VEYXRhPiBJbWFnZURhdGFNYXA7Ci0KLSAg
ICBTVkdJbWFnZSogbV9zdmdJbWFnZTsKLSAgICBTaXplQW5kU2NhbGVzTWFwIG1fc2l6ZUFuZFNj
YWxlc01hcDsKLSAgICBJbWFnZURhdGFNYXAgbV9pbWFnZURhdGFNYXA7Ci0gICAgVGltZXI8U1ZH
SW1hZ2VDYWNoZT4gbV9yZWRyYXdUaW1lcjsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
LQotI2VuZGlmIC8vIEVOQUJMRShTVkcpCi0jZW5kaWYgLy8gU1ZHSW1hZ2VDYWNoZV9oCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggNGE5Y2M1YzMyZTJlM2Q1ZThiMTM4OTZjYTUxMGRhNTEyYjNkNjFlZS4uMTUxZGZmYjFhOGY1
MjY0N2JhYjJkMTMwNzhhNjY4MWVmZGVhY2E2ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEy
LTEwLTE3ICBCcmFuaW1pciBMYW1ib3YgIDxibGFtYm92QGdvb2dsZS5jb20+CisKKyAgICAgICAg
U1ZHIGltYWdlIGNhY2hlIGlzIHZlcnkgYnJva2VuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODQwMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIG5ldyB0ZXN0cyBvZiByZW5kZXJpbmcgbXVsdGlw
bGUgaW5zdGFuY2VzIG9mIHRoZSBzYW1lIFNWRyBpbWFnZSwgYXMgd2VsbCBhcworICAgICAgICBD
U1MgdHJhbnNmb3JtIHNjYWxpbmcgYW5kIHpvb20gb24gU1ZHIGltYWdlcy4KKyAgICAgICAgCisg
ICAgICAgIEZsYWdzIGNoYW5nZWQgZXhwZWN0YXRpb25zIGZvciB0ZXN0cyB0aGF0IGFyZSByZW5k
ZXJlZCBzbGlnaHRseSBkaWZmZXJlbnRseSBiZWNhdXNlIG9mCisgICAgICAgIGFzcGVjdCByYXRp
byBjb3JyZWN0aW9uIGNoYW5nZXMuIFRoZSBleHBlY3RhdGlvbnMgd2lsbCBiZSB1cGRhdGVkIHVz
aW5nIHRoZSB3ZWJraXQtcGF0Y2gKKyAgICAgICAgcmViYXNlbGluZSBhZnRlciB0aGUgcGF0Y2gg
aXMgaW4uCisKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zOgor
ICAgICAgICAqIHBsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRm
b3JtL21hYy9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL3F0L1Rlc3RFeHBl
Y3RhdGlvbnM6CisgICAgICAgICogc3ZnL211bHRpcGxlLWluc3RhbmNlcy9maXhlZC1zdmctYmFj
a2dyb3VuZC1zY2FsZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogc3ZnL211bHRpcGxlLWluc3Rh
bmNlcy9maXhlZC1zdmctYmFja2dyb3VuZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvbXVs
dGlwbGUtaW5zdGFuY2VzL2ZpeGVkLXN2Zy1zdmcuaHRtbDogQWRkZWQuCisgICAgICAgICogc3Zn
L211bHRpcGxlLWluc3RhbmNlcy9maXhlZC1zdmctdGVzdC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBzdmcvbXVsdGlwbGUtaW5zdGFuY2VzL3JlbGF0aXZlLXN2Zy1iYWNrZ3JvdW5kLXNjYWxlZC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvbXVsdGlwbGUtaW5zdGFuY2VzL3JlbGF0aXZlLXN2
Zy1iYWNrZ3JvdW5kLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHN2Zy9tdWx0aXBsZS1pbnN0YW5j
ZXMvcmVsYXRpdmUtc3ZnLXN2Zy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvbXVsdGlwbGUt
aW5zdGFuY2VzL3JlbGF0aXZlLXN2Zy10ZXN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHN2Zy9t
dWx0aXBsZS1pbnN0YW5jZXMvcmVzb3VyY2VzL2ZpeGVkLXNpemUuc3ZnOiBBZGRlZC4KKyAgICAg
ICAgKiBzdmcvbXVsdGlwbGUtaW5zdGFuY2VzL3Jlc291cmNlcy9yZWxhdGl2ZS1zaXplLnN2Zzog
QWRkZWQuCisgICAgICAgICogc3ZnL3pvb20vcGFnZS9maXhlZC1zdmctYmFja2dyb3VuZC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvem9vbS9wYWdlL2ZpeGVkLXN2Zy10ZXN0Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHN2Zy96b29tL3BhZ2UvcmVsYXRpdmUtc3ZnLWJhY2tncm91bmQuaHRt
bDogQWRkZWQuCisgICAgICAgICogc3ZnL3pvb20vcGFnZS9yZWxhdGl2ZS1zdmctdGVzdC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvem9vbS9wYWdlL3Jlc291cmNlcy9maXhlZC1zaXplLnN2
ZzogQWRkZWQuCisgICAgICAgICogc3ZnL3pvb20vcGFnZS9yZXNvdXJjZXMvcmVsYXRpdmUtc2l6
ZS5zdmc6IEFkZGVkLgorCiAyMDEyLTEwLTE4ICBQYW4gRGVuZyAgPHBhbi5kZW5nQGludGVsLmNv
bT4KIAogICAgICAgICBbUmVzb3VyY2UgVGltaW5nXVRlc3QgY2FzZXMgZm9yIHNldCBidWZmZXIg
c2l6ZSBmdW5jdGlvbmFsaXR5IGFuZCBldmVudCB3aGVuIGJ1ZmZlciBmdWxsLgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggODM1ZDBhMDFi
NzY0MTkxNTM2ZTQ2NTYyMmRiZjgxYWI5ZWUwOWQwOS4uYzNhNWU3ZDgxNzkwYjU2OWQ3M2M3YjZi
NWM0MDc4ZjE2NzAyMzBiOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9U
ZXN0RXhwZWN0YXRpb25zCkBAIC00MjMzLDMgKzQyMzMsMjEgQEAgd2Via2l0Lm9yZy9iLzk4MjU3
IHBsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL29lcy1lbGVt
ZW50LWkKIAogIyBSZXNvdXJjZSBUaW1pbmcgaXMgbm90IGVuYWJsZSB5ZXQsIHNraXAgaXQuCiB3
ZWJraXQub3JnL2IvNjExMzggaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL0ludGVs
L3Jlc291cmNlLXRpbWluZyBbIFNraXAgXQorCit3ZWJraXQub3JnL2IvOTk4MDIgWyBNb3VudGFp
bkxpb24gXSBmYXN0L2Zvcm1zL3RleHQtY29udHJvbC1pbnRyaW5zaWMtd2lkdGhzLmh0bWwgWyBG
YWlsdXJlIF0KKworIyBSZWJhc2VsaW5lIG5lZWRlZCBmb3IgcGl4ZWwgdGVzdHMuCit3ZWJraXQu
b3JnL2IvOTg0MDMgc3ZnL2FzLWJhY2tncm91bmQtaW1hZ2Uvc3ZnLWFzLWJhY2tncm91bmQtNS5o
dG1sIFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi85ODQwMyBzdmcvYXMt
Ym9yZGVyLWltYWdlL3N2Zy1hcy1ib3JkZXItaW1hZ2UuaHRtbCBbIFBhc3MgSW1hZ2VPbmx5RmFp
bHVyZSBdCit3ZWJraXQub3JnL2IvOTg0MDMgc3ZnL2FzLWltYWdlL2FuaW1hdGVkLXN2Zy1hcy1p
bWFnZS1uby1maXhlZC1pbnRyaW5zaWMtc2l6ZS5odG1sIFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJl
IF0KK3dlYmtpdC5vcmcvYi85ODQwMyBzdmcvYXMtaW1hZ2Uvc2FtZS1pbWFnZS10d28taW5zdGFu
Y2VzLmh0bWwgWyBQYXNzIEltYWdlT25seUZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzk4NDAzIHN2
Zy9hcy1pbWFnZS9zdmctbm9uLWludGVnZXItc2NhbGVkLWltYWdlLmh0bWwgWyBQYXNzIEltYWdl
T25seUZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzk4NDAzIHN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZH
RkVJbWFnZUVsZW1lbnQtZG9tLXByZXNlcnZlQXNwZWN0UmF0aW8tYXR0ci5odG1sIFsgUGFzcyBJ
bWFnZU9ubHlGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi85ODQwMyBzdmcvZHluYW1pYy11cGRhdGVz
L1NWR0ZFSW1hZ2VFbGVtZW50LXN2Z2RvbS1wcmVzZXJ2ZUFzcGVjdFJhdGlvLXByb3AuaHRtbCBb
IFBhc3MgSW1hZ2VPbmx5RmFpbHVyZSBdCit3ZWJraXQub3JnL2IvOTg0MDMgc3ZnL3pvb20vcGFn
ZS96b29tLWJhY2tncm91bmQtaW1hZ2VzLmh0bWwgWyBQYXNzIEltYWdlT25seUZhaWx1cmUgXQor
d2Via2l0Lm9yZy9iLzk4NDAzIHN2Zy96b29tL3BhZ2Uvem9vbS1pbWctcHJlc2VydmVBc3BlY3RS
YXRpby1zdXBwb3J0LTEuaHRtbCBbIFBhc3MgSW1hZ2VPbmx5RmFpbHVyZSBdIAord2Via2l0Lm9y
Zy9iLzk4NDAzIHN2Zy96b29tL3BhZ2Uvem9vbS1zdmctYXMtYmFja2dyb3VuZC13aXRoLXJlbGF0
aXZlLXNpemUuaHRtbCBbIFBhc3MgSW1hZ2VPbmx5RmFpbHVyZSBdCit3ZWJraXQub3JnL2IvOTg0
MDMgY3NzMy9pbWFnZXMvY3Jvc3MtZmFkZS1pbnZhbGlkYXRpb24uaHRtbCBbIFBhc3MgSW1hZ2VP
bmx5RmFpbHVyZSBdCit3ZWJraXQub3JnL2IvOTg0MDMgY3NzMy9pbWFnZXMvY3Jvc3MtZmFkZS1v
dmVyZmxvdy1wb3NpdGlvbi5odG1sIFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0KK3dlYmtpdC5v
cmcvYi85ODQwMyBmYXN0L2JhY2tncm91bmRzL3NpemUvY29udGFpbi1hbmQtY292ZXItem9vbWVk
Lmh0bWwgWyBQYXNzIEltYWdlT25seUZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzk4NDAzIGZhc3Qv
YmFja2dyb3VuZHMvc2l6ZS9jb250YWluLWFuZC1jb3Zlci5odG1sIFsgUGFzcyBJbWFnZU9ubHlG
YWlsdXJlIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0
YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXgg
YjAxNGYzYTM4NzQxZTk0NGExOWVjY2NlMmQ1MGRjOGJiNDNlMjk3OS4uMTdhMmI5NzIzNTU0YWQ3
Y2YyMTlkNDJjNWVjMzU5ZTkxNmNlODRiYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rl
c3RFeHBlY3RhdGlvbnMKQEAgLTIwNjMsMyArMjA2MywxOSBAQCB3ZWJraXQub3JnL2IvOTk2OTEg
Z2FtZXBhZC9nYW1lcGFkLW91dC1vZi1yYW5nZS1jcmFzaGVyLmh0bWwgWyBGYWlsdXJlIF0KIAog
IyBSZXNvdXJjZSBUaW1pbmcgaXMgbm90IGVuYWJsZSB5ZXQsIHNraXAgaXQuCiB3ZWJraXQub3Jn
L2IvNjExMzggaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL0ludGVsL3Jlc291cmNl
LXRpbWluZyBbIFNraXAgXQorCisjIFJlYmFzZWxpbmUgbmVlZGVkIGZvciBwaXhlbCB0ZXN0cy4K
K3dlYmtpdC5vcmcvYi85ODQwMyBzdmcvYXMtYmFja2dyb3VuZC1pbWFnZS9zdmctYXMtYmFja2dy
b3VuZC01Lmh0bWwgWyBQYXNzIEltYWdlT25seUZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzk4NDAz
IHN2Zy9hcy1ib3JkZXItaW1hZ2Uvc3ZnLWFzLWJvcmRlci1pbWFnZS5odG1sIFsgUGFzcyBJbWFn
ZU9ubHlGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi85ODQwMyBzdmcvYXMtaW1hZ2UvYW5pbWF0ZWQt
c3ZnLWFzLWltYWdlLW5vLWZpeGVkLWludHJpbnNpYy1zaXplLmh0bWwgWyBQYXNzIEltYWdlT25s
eUZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzk4NDAzIHN2Zy9hcy1pbWFnZS9zYW1lLWltYWdlLXR3
by1pbnN0YW5jZXMuaHRtbCBbIFBhc3MgSW1hZ2VPbmx5RmFpbHVyZSBdCit3ZWJraXQub3JnL2Iv
OTg0MDMgc3ZnL2FzLWltYWdlL3N2Zy1ub24taW50ZWdlci1zY2FsZWQtaW1hZ2UuaHRtbCBbIFBh
c3MgSW1hZ2VPbmx5RmFpbHVyZSBdCit3ZWJraXQub3JnL2IvOTg0MDMgc3ZnL2R5bmFtaWMtdXBk
YXRlcy9TVkdGRUltYWdlRWxlbWVudC1kb20tcHJlc2VydmVBc3BlY3RSYXRpby1hdHRyLmh0bWwg
WyBQYXNzIEltYWdlT25seUZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzk4NDAzIHN2Zy9keW5hbWlj
LXVwZGF0ZXMvU1ZHRkVJbWFnZUVsZW1lbnQtc3ZnZG9tLXByZXNlcnZlQXNwZWN0UmF0aW8tcHJv
cC5odG1sIFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi85ODQwMyBzdmcv
em9vbS9wYWdlL3pvb20tYmFja2dyb3VuZC1pbWFnZXMuaHRtbCBbIFBhc3MgSW1hZ2VPbmx5RmFp
bHVyZSBdCit3ZWJraXQub3JnL2IvOTg0MDMgc3ZnL3pvb20vcGFnZS96b29tLWltZy1wcmVzZXJ2
ZUFzcGVjdFJhdGlvLXN1cHBvcnQtMS5odG1sIFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0gCit3
ZWJraXQub3JnL2IvOTg0MDMgc3ZnL3pvb20vcGFnZS96b29tLXN2Zy1hcy1iYWNrZ3JvdW5kLXdp
dGgtcmVsYXRpdmUtc2l6ZS5odG1sIFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0KK3dlYmtpdC5v
cmcvYi85ODQwMyBjc3MzL2ltYWdlcy9jcm9zcy1mYWRlLWludmFsaWRhdGlvbi5odG1sIFsgUGFz
cyBJbWFnZU9ubHlGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi85ODQwMyBjc3MzL2ltYWdlcy9jcm9z
cy1mYWRlLW92ZXJmbG93LXBvc2l0aW9uLmh0bWwgWyBQYXNzIEltYWdlT25seUZhaWx1cmUgXQor
d2Via2l0Lm9yZy9iLzk4NDAzIGZhc3QvYmFja2dyb3VuZHMvc2l6ZS9jb250YWluLWFuZC1jb3Zl
ci16b29tZWQuaHRtbCBbIFBhc3MgSW1hZ2VPbmx5RmFpbHVyZSBdCit3ZWJraXQub3JnL2IvOTg0
MDMgZmFzdC9iYWNrZ3JvdW5kcy9zaXplL2NvbnRhaW4tYW5kLWNvdmVyLmh0bWwgWyBQYXNzIElt
YWdlT25seUZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rl
c3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9u
cwppbmRleCA1ZDVhZmFkNWEwNTk3ZDBjNWNiNTA0ZmIwM2I3MThlNWNmYzI3Y2M5Li42MzI4OTRl
MjhkOTUyYzYxNjNlNmUzNjk2MzczMTk2NGQ0ZGUxYjU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTMyMywzICsxMzIzLDE5IEBAIHdlYmtpdC5vcmcv
Yi85ODI1NyBmYXN0L2NhbnZhcy93ZWJnbC9vZXMtZWxlbWVudC1pbmRleC11aW50Lmh0bWwgWyBG
YWlsdXJlIFBhc3MKIAogIyBSZXNvdXJjZSBUaW1pbmcgaXMgbm90IGVuYWJsZSB5ZXQsIHNraXAg
aXQuCiB3ZWJraXQub3JnL2IvNjExMzggaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9u
L0ludGVsL3Jlc291cmNlLXRpbWluZyBbIFNraXAgXQorCisjIFJlYmFzZWxpbmUgbmVlZGVkIGZv
ciBwaXhlbCB0ZXN0cy4KK3dlYmtpdC5vcmcvYi85ODQwMyBzdmcvYXMtYmFja2dyb3VuZC1pbWFn
ZS9zdmctYXMtYmFja2dyb3VuZC01Lmh0bWwgWyBQYXNzIEltYWdlT25seUZhaWx1cmUgXQord2Vi
a2l0Lm9yZy9iLzk4NDAzIHN2Zy9hcy1ib3JkZXItaW1hZ2Uvc3ZnLWFzLWJvcmRlci1pbWFnZS5o
dG1sIFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi85ODQwMyBzdmcvYXMt
aW1hZ2UvYW5pbWF0ZWQtc3ZnLWFzLWltYWdlLW5vLWZpeGVkLWludHJpbnNpYy1zaXplLmh0bWwg
WyBQYXNzIEltYWdlT25seUZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzk4NDAzIHN2Zy9hcy1pbWFn
ZS9zYW1lLWltYWdlLXR3by1pbnN0YW5jZXMuaHRtbCBbIFBhc3MgSW1hZ2VPbmx5RmFpbHVyZSBd
Cit3ZWJraXQub3JnL2IvOTg0MDMgc3ZnL2FzLWltYWdlL3N2Zy1ub24taW50ZWdlci1zY2FsZWQt
aW1hZ2UuaHRtbCBbIFBhc3MgSW1hZ2VPbmx5RmFpbHVyZSBdCit3ZWJraXQub3JnL2IvOTg0MDMg
c3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdGRUltYWdlRWxlbWVudC1kb20tcHJlc2VydmVBc3BlY3RS
YXRpby1hdHRyLmh0bWwgWyBQYXNzIEltYWdlT25seUZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzk4
NDAzIHN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRkVJbWFnZUVsZW1lbnQtc3ZnZG9tLXByZXNlcnZl
QXNwZWN0UmF0aW8tcHJvcC5odG1sIFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0KK3dlYmtpdC5v
cmcvYi85ODQwMyBzdmcvem9vbS9wYWdlL3pvb20tYmFja2dyb3VuZC1pbWFnZXMuaHRtbCBbIFBh
c3MgSW1hZ2VPbmx5RmFpbHVyZSBdCit3ZWJraXQub3JnL2IvOTg0MDMgc3ZnL3pvb20vcGFnZS96
b29tLWltZy1wcmVzZXJ2ZUFzcGVjdFJhdGlvLXN1cHBvcnQtMS5odG1sIFsgUGFzcyBJbWFnZU9u
bHlGYWlsdXJlIF0gCit3ZWJraXQub3JnL2IvOTg0MDMgc3ZnL3pvb20vcGFnZS96b29tLXN2Zy1h
cy1iYWNrZ3JvdW5kLXdpdGgtcmVsYXRpdmUtc2l6ZS5odG1sIFsgUGFzcyBJbWFnZU9ubHlGYWls
dXJlIF0KK3dlYmtpdC5vcmcvYi85ODQwMyBjc3MzL2ltYWdlcy9jcm9zcy1mYWRlLWludmFsaWRh
dGlvbi5odG1sIFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi85ODQwMyBj
c3MzL2ltYWdlcy9jcm9zcy1mYWRlLW92ZXJmbG93LXBvc2l0aW9uLmh0bWwgWyBQYXNzIEltYWdl
T25seUZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzk4NDAzIGZhc3QvYmFja2dyb3VuZHMvc2l6ZS9j
b250YWluLWFuZC1jb3Zlci16b29tZWQuaHRtbCBbIFBhc3MgSW1hZ2VPbmx5RmFpbHVyZSBdCit3
ZWJraXQub3JnL2IvOTg0MDMgZmFzdC9iYWNrZ3JvdW5kcy9zaXplL2NvbnRhaW4tYW5kLWNvdmVy
Lmh0bWwgWyBQYXNzIEltYWdlT25seUZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vcXQvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1Rl
c3RFeHBlY3RhdGlvbnMKaW5kZXggMGQxODRiNTlmYjFhN2U2YzVmNWY2ZDlkMmJjODA5MGVkNzBj
N2RkNy4uMjI3YWY2MGVkZDVkODA1YTA2NzU5MzFmNWY5NjU1MWI0MzdkYTQ2OCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9xdC9UZXN0RXhwZWN0YXRpb25zCkBAIC0yNDQ1LDMgKzI0NDUsMTkgQEAg
d2Via2l0Lm9yZy9iLzk4NjQwIHBsdWdpbnMvcmVmY291bnQtbGVha3MuaHRtbAogCiAjIE5ldyBp
bnNwZWN0b3IvcHJvZmlsZXIvbWVtb3J5LWluc3RydW1lbnRhdGlvbi1jYW52YXMuaHRtbCBmYWls
cyBvbiBKU0MgcGxhdGZvcm1zCiB3ZWJraXQub3JnL2IvOTkwMDEgaW5zcGVjdG9yL3Byb2ZpbGVy
L21lbW9yeS1pbnN0cnVtZW50YXRpb24tY2FudmFzLmh0bWwKKworIyBSZWJhc2VsaW5lIG5lZWRl
ZCBmb3IgcGl4ZWwgdGVzdHMuCit3ZWJraXQub3JnL2IvOTg0MDMgc3ZnL2FzLWJhY2tncm91bmQt
aW1hZ2Uvc3ZnLWFzLWJhY2tncm91bmQtNS5odG1sIFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0K
K3dlYmtpdC5vcmcvYi85ODQwMyBzdmcvYXMtYm9yZGVyLWltYWdlL3N2Zy1hcy1ib3JkZXItaW1h
Z2UuaHRtbCBbIFBhc3MgSW1hZ2VPbmx5RmFpbHVyZSBdCit3ZWJraXQub3JnL2IvOTg0MDMgc3Zn
L2FzLWltYWdlL2FuaW1hdGVkLXN2Zy1hcy1pbWFnZS1uby1maXhlZC1pbnRyaW5zaWMtc2l6ZS5o
dG1sIFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi85ODQwMyBzdmcvYXMt
aW1hZ2Uvc2FtZS1pbWFnZS10d28taW5zdGFuY2VzLmh0bWwgWyBQYXNzIEltYWdlT25seUZhaWx1
cmUgXQord2Via2l0Lm9yZy9iLzk4NDAzIHN2Zy9hcy1pbWFnZS9zdmctbm9uLWludGVnZXItc2Nh
bGVkLWltYWdlLmh0bWwgWyBQYXNzIEltYWdlT25seUZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzk4
NDAzIHN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRkVJbWFnZUVsZW1lbnQtZG9tLXByZXNlcnZlQXNw
ZWN0UmF0aW8tYXR0ci5odG1sIFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0KK3dlYmtpdC5vcmcv
Yi85ODQwMyBzdmcvZHluYW1pYy11cGRhdGVzL1NWR0ZFSW1hZ2VFbGVtZW50LXN2Z2RvbS1wcmVz
ZXJ2ZUFzcGVjdFJhdGlvLXByb3AuaHRtbCBbIFBhc3MgSW1hZ2VPbmx5RmFpbHVyZSBdCit3ZWJr
aXQub3JnL2IvOTg0MDMgc3ZnL3pvb20vcGFnZS96b29tLWJhY2tncm91bmQtaW1hZ2VzLmh0bWwg
WyBQYXNzIEltYWdlT25seUZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzk4NDAzIHN2Zy96b29tL3Bh
Z2Uvem9vbS1pbWctcHJlc2VydmVBc3BlY3RSYXRpby1zdXBwb3J0LTEuaHRtbCBbIFBhc3MgSW1h
Z2VPbmx5RmFpbHVyZSBdIAord2Via2l0Lm9yZy9iLzk4NDAzIHN2Zy96b29tL3BhZ2Uvem9vbS1z
dmctYXMtYmFja2dyb3VuZC13aXRoLXJlbGF0aXZlLXNpemUuaHRtbCBbIFBhc3MgSW1hZ2VPbmx5
RmFpbHVyZSBdCit3ZWJraXQub3JnL2IvOTg0MDMgY3NzMy9pbWFnZXMvY3Jvc3MtZmFkZS1pbnZh
bGlkYXRpb24uaHRtbCBbIFBhc3MgSW1hZ2VPbmx5RmFpbHVyZSBdCit3ZWJraXQub3JnL2IvOTg0
MDMgY3NzMy9pbWFnZXMvY3Jvc3MtZmFkZS1vdmVyZmxvdy1wb3NpdGlvbi5odG1sIFsgUGFzcyBJ
bWFnZU9ubHlGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi85ODQwMyBmYXN0L2JhY2tncm91bmRzL3Np
emUvY29udGFpbi1hbmQtY292ZXItem9vbWVkLmh0bWwgWyBQYXNzIEltYWdlT25seUZhaWx1cmUg
XQord2Via2l0Lm9yZy9iLzk4NDAzIGZhc3QvYmFja2dyb3VuZHMvc2l6ZS9jb250YWluLWFuZC1j
b3Zlci5odG1sIFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N2Zy9tdWx0aXBsZS1pbnN0YW5jZXMvZml4ZWQtc3ZnLWJhY2tncm91bmQtc2NhbGVkLmh0
bWwgYi9MYXlvdXRUZXN0cy9zdmcvbXVsdGlwbGUtaW5zdGFuY2VzL2ZpeGVkLXN2Zy1iYWNrZ3Jv
dW5kLXNjYWxlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ5ODFhODUzMGRmZGM1MjU2NTQ1YTA5ZDliYjll
OGVjMDc3OTE4ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvbXVsdGlwbGUt
aW5zdGFuY2VzL2ZpeGVkLXN2Zy1iYWNrZ3JvdW5kLXNjYWxlZC5odG1sCkBAIC0wLDAgKzEsMzIg
QEAKKzxodG1sPjxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiLz4KKzxtZXRhIGh0dHAtZXF1
aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSIvPgorPHRpdGxlPlJlbGF0aXZl
IHNpemUgU1ZHIHRlc3Q8L3RpdGxlPgorPHN0eWxlPgoraHRtbCwgYm9keSB7d2lkdGg6IDEwMCU7
IGhlaWdodDogMTAwJTt9CitkaXYgeworCWJvcmRlci1zdHlsZTpkYXNoZWQ7IAorCWJvcmRlci13
aWR0aDoycHg7IAorCWJvcmRlci1jb2xvcjpicm93bjsgCisJYmFja2dyb3VuZC1pbWFnZTp1cmwo
cmVzb3VyY2VzL2ZpeGVkLXNpemUuc3ZnKTsgCisJLW1vei10cmFuc2Zvcm06c2NhbGUoMik7CisJ
LW1vei10cmFuc2Zvcm0tb3JpZ2luOjAgMDsKKwktby10cmFuc2Zvcm06c2NhbGUoMik7CisJLW8t
dHJhbnNmb3JtLW9yaWdpbjowIDA7CisJLXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMik7CisJLXdl
YmtpdC10cmFuc2Zvcm0tb3JpZ2luOjAgMDsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KyAgPHA+VGVzdHMgc2NhbGVkIHJlbmRlcmluZyBvZiBTVkcgaW1hZ2Ugd2l0aCBmaXhlZCBzaXpl
LgorICBObyBpbWFnZSBzaG91bGQgZGlzcGxheSBiaXRtYXAgc2NhbGluZyBhcnRpZmFjdHMuPC9w
PgorCisgIDxkaXYgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO2xlZnQ6MTBweDt0b3A6MzBweDt3
aWR0aDo1MHB4O2hlaWdodDo1MHB4OyI+PC9kaXY+CisgIDxkaXYgc3R5bGU9InBvc2l0aW9uOmFi
c29sdXRlO2xlZnQ6MTBweDt0b3A6MTUwcHg7d2lkdGg6MTAwcHg7aGVpZ2h0OjEwMHB4OyI+PC9k
aXY+CisgIDxkaXYgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO2xlZnQ6MzMwcHg7dG9wOjMwcHg7
d2lkdGg6MjAwcHg7aGVpZ2h0OjIwMHB4OyI+PC9kaXY+CisgIDxkaXYgc3R5bGU9InBvc2l0aW9u
OmFic29sdXRlO2xlZnQ6MjIwcHg7dG9wOjMwcHg7d2lkdGg6NTBweDtoZWlnaHQ6MTUwcHg7Ij48
L2Rpdj4KKyAgPGRpdiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7bGVmdDoxMHB4O3RvcDozNjBw
eDt3aWR0aDoxNTBweDtoZWlnaHQ6NTBweDsiPjwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvbXVsdGlwbGUtaW5zdGFuY2VzL2ZpeGVkLXN2Zy1i
YWNrZ3JvdW5kLmh0bWwgYi9MYXlvdXRUZXN0cy9zdmcvbXVsdGlwbGUtaW5zdGFuY2VzL2ZpeGVk
LXN2Zy1iYWNrZ3JvdW5kLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjFmYjIzY2NhNmU1MDViM2JhZDZkOTc5
ZGE3MjBhYzVkYTg3MjIwMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy9tdWx0
aXBsZS1pbnN0YW5jZXMvZml4ZWQtc3ZnLWJhY2tncm91bmQuaHRtbApAQCAtMCwwICsxLDIxIEBA
Cis8aHRtbD48aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ii8+Cis8bWV0YSBodHRwLWVxdWl2
PSJYLVVBLUNvbXBhdGlibGUiIGNvbnRlbnQ9IklFPWVkZ2UiLz4KKzx0aXRsZT5SZWxhdGl2ZSBz
aXplIFNWRyB0ZXN0PC90aXRsZT4KKzxzdHlsZT4KK2h0bWwsIGJvZHkge3dpZHRoOiAxMDAlOyBo
ZWlnaHQ6IDEwMCU7fQorZGl2IHtib3JkZXItc3R5bGU6ZGFzaGVkOyBib3JkZXItd2lkdGg6MnB4
OyBib3JkZXItY29sb3I6YnJvd247IGJhY2tncm91bmQtaW1hZ2U6dXJsKHJlc291cmNlcy9maXhl
ZC1zaXplLnN2Zyk7fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICA8cD5UZXN0cyByZW5k
ZXJpbmcgb2YgU1ZHIGltYWdlIHdpdGggZml4ZWQgc2l6ZS4KKyAgQWxsIGltYWdlcyBzaG91bGQg
YmUgdGlsZWQgY29waWVzIG9mIHRoZSBmaXJzdC48L3A+CisKKyAgPGRpdiBzdHlsZT0icG9zaXRp
b246YWJzb2x1dGU7bGVmdDoxMHB4O3RvcDozMHB4O3dpZHRoOjEwMHB4O2hlaWdodDoxMDBweDsi
PjwvZGl2PgorICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjEwcHg7dG9wOjE1
MHB4O3dpZHRoOjIwMHB4O2hlaWdodDoyMDBweDsiPjwvZGl2PgorICA8ZGl2IHN0eWxlPSJwb3Np
dGlvbjphYnNvbHV0ZTtsZWZ0OjMzMHB4O3RvcDozMHB4O3dpZHRoOjQwMHB4O2hlaWdodDo0MDBw
eDsiPjwvZGl2PgorICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjIyMHB4O3Rv
cDozMHB4O3dpZHRoOjEwMHB4O2hlaWdodDozMDBweDsiPjwvZGl2PgorICA8ZGl2IHN0eWxlPSJw
b3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjEwcHg7dG9wOjM2MHB4O3dpZHRoOjMwMHB4O2hlaWdodDox
MDBweDsiPjwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdmcvbXVsdGlwbGUtaW5zdGFuY2VzL2ZpeGVkLXN2Zy1zdmcuaHRtbCBiL0xheW91dFRlc3Rz
L3N2Zy9tdWx0aXBsZS1pbnN0YW5jZXMvZml4ZWQtc3ZnLXN2Zy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcx
MWFjODllYWRjY2U3NDIwOTMzODMxNjdlMzExNjUwMGFhZDY2NTUKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9zdmcvbXVsdGlwbGUtaW5zdGFuY2VzL2ZpeGVkLXN2Zy1zdmcuaHRtbApA
QCAtMCwwICsxLDE3IEBACisgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3Zn
IiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4y
IiBzdHlsZT0icG9pbnRlci1ldmVudHM6IG5vbmU7IiB3aWR0aD0iMTAwMCIgaGVpZ2h0PSI2MDAi
PgorICAgIDxkZWZzPgorICAgICAgIDxzeW1ib2wgaWQ9InN2ZyIgd2lkdGg9IjEwMCUiIGhlaWdo
dD0iMTAwJSI+CisgICAgICAgICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0
PSIxMDAlIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZT0iYnJvd24iIGZpbGw9Im5vbmUiLz4KKyAg
ICAgICAgIDxpbWFnZSB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiB4bGluazpocmVmPSdyZXNv
dXJjZXMvZml4ZWQtc2l6ZS5zdmcnLz4KKyAgICAgICA8L3N5bWJvbD4KKyAgICA8L2RlZnM+Cisg
ICAgCisgICAgPHRleHQgeD0iMjAiIHk9IjIwIiBmb250LWZhbWlseT0iQXJpYWwiIGZvbnQtc2l6
ZT0iMTUiPlRlc3RzIHJlbmRlcmluZyBvZiBTVkcgaW1hZ2Ugd2l0aCBmaXhlZCBzaXplLgorICAg
IEFsbCBpbWFnZXMgc2hvdWxkIGJlIHJlc2NhbGVkIGNvcGllcyBvZiB0aGUgZmlyc3QgZml0dGlu
ZyBpbnNpZGUgdGhlaXIgYm94LjwvdGV4dD4KKyAgICAKKyAgICA8dXNlIHhsaW5rOmhyZWY9IiNz
dmciIHg9IjEwIiB5PSIzMCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiLz4KKyAgICA8dXNlIHhs
aW5rOmhyZWY9IiNzdmciIHg9IjEwIiB5PSIxNTAiIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIi8+
CisgICAgPHVzZSB4bGluazpocmVmPSIjc3ZnIiB4PSIxMCIgeT0iMzYwIiB3aWR0aD0iMzAwIiBo
ZWlnaHQ9IjEwMCIvPgorICAgIDx1c2UgeGxpbms6aHJlZj0iI3N2ZyIgeD0iMjIwIiB5PSIzMCIg
d2lkdGg9IjEwMCIgaGVpZ2h0PSIzMDAiLz4KKyAgICA8dXNlIHhsaW5rOmhyZWY9IiNzdmciIHg9
IjMzMCIgeT0iMzAiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIi8+CisgIDwvc3ZnPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3ZnL211bHRpcGxlLWluc3RhbmNlcy9maXhlZC1zdmctdGVzdC5o
dG1sIGIvTGF5b3V0VGVzdHMvc3ZnL211bHRpcGxlLWluc3RhbmNlcy9maXhlZC1zdmctdGVzdC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjA4ODM3NTNlYjQyNDhkN2I5NDE2NDRmYTQ2YjQ3ZjM2ZWQwOGQ2N2MK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvbXVsdGlwbGUtaW5zdGFuY2VzL2Zp
eGVkLXN2Zy10ZXN0Lmh0bWwKQEAgLTAsMCArMSwyMiBAQAorPGh0bWw+PGhlYWQ+Cis8bWV0YSBj
aGFyc2V0PSJ1dGYtOCIvPgorPG1ldGEgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIiBjb250
ZW50PSJJRT1lZGdlIi8+Cis8dGl0bGU+UmVsYXRpdmUgc2l6ZSBTVkcgdGVzdDwvdGl0bGU+Cis8
c3R5bGU+CitodG1sLCBib2R5IHt3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlO30KK2ltZyB7Ym9y
ZGVyLXN0eWxlOmRhc2hlZDsgYm9yZGVyLXdpZHRoOjJweDsgYm9yZGVyLWNvbG9yOmJyb3dufQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICA8cD5UZXN0cyByZW5kZXJpbmcgb2YgU1ZHIGlt
YWdlIHdpdGggZml4ZWQgc2l6ZS4KKyAgQWxsIGltYWdlcyBzaG91bGQgYmUgcmVzY2FsZWQgY29w
aWVzIG9mIHRoZSBmaXJzdCBzY2FsZWQgdG8gZmlsbCB0aGUgYm94LjwvcD4KKyAgICAKKyAgPGlt
ZyBzcmM9InJlc291cmNlcy9maXhlZC1zaXplLnN2ZyIgd2lkdGg9IjEwMHB4IiBoZWlnaHQ9IjMw
MHB4Ii8+CisgIDxpbWcgc3JjPSJyZXNvdXJjZXMvZml4ZWQtc2l6ZS5zdmciIHdpZHRoPSIyMDBw
eCIgaGVpZ2h0PSIyMDBweCIvPgorICA8aW1nIHNyYz0icmVzb3VyY2VzL2ZpeGVkLXNpemUuc3Zn
IiB3aWR0aD0iNDAwcHgiIGhlaWdodD0iNDAwcHgiLz4KKyAgPGJyLz4KKyAgPGltZyBzcmM9InJl
c291cmNlcy9maXhlZC1zaXplLnN2ZyIgd2lkdGg9IjEwMHB4IiBoZWlnaHQ9IjEwMHB4Ii8+Cisg
IDxpbWcgc3JjPSJyZXNvdXJjZXMvZml4ZWQtc2l6ZS5zdmciIHdpZHRoPSIzMDBweCIgaGVpZ2h0
PSIxMDBweCIvPgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dmcvbXVsdGlwbGUtaW5zdGFuY2VzL3JlbGF0aXZlLXN2Zy1iYWNrZ3JvdW5kLXNjYWxlZC5odG1s
IGIvTGF5b3V0VGVzdHMvc3ZnL211bHRpcGxlLWluc3RhbmNlcy9yZWxhdGl2ZS1zdmctYmFja2dy
b3VuZC1zY2FsZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYzQ0OTMyMjY2ODdhYmY4MGQ3YzVhYzk3ZDRk
NzgzYzE5MjNhODU5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL211bHRpcGxl
LWluc3RhbmNlcy9yZWxhdGl2ZS1zdmctYmFja2dyb3VuZC1zY2FsZWQuaHRtbApAQCAtMCwwICsx
LDMyIEBACis8aHRtbD48aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ii8+Cis8bWV0YSBodHRw
LWVxdWl2PSJYLVVBLUNvbXBhdGlibGUiIGNvbnRlbnQ9IklFPWVkZ2UiLz4KKzx0aXRsZT5SZWxh
dGl2ZSBzaXplIFNWRyB0ZXN0PC90aXRsZT4KKzxzdHlsZT4KK2h0bWwsIGJvZHkge3dpZHRoOiAx
MDAlOyBoZWlnaHQ6IDEwMCU7fQorZGl2IHsKKwlib3JkZXItc3R5bGU6ZGFzaGVkOyAKKwlib3Jk
ZXItd2lkdGg6MnB4OyAKKwlib3JkZXItY29sb3I6YnJvd247IAorCWJhY2tncm91bmQtaW1hZ2U6
dXJsKHJlc291cmNlcy9yZWxhdGl2ZS1zaXplLnN2Zyk7IAorCS1tb3otdHJhbnNmb3JtOnNjYWxl
KDIpOworCS1tb3otdHJhbnNmb3JtLW9yaWdpbjowIDA7CisJLW8tdHJhbnNmb3JtOnNjYWxlKDIp
OworCS1vLXRyYW5zZm9ybS1vcmlnaW46MCAwOworCS13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDIp
OworCS13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjowIDA7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+CisgIDxwPlRlc3RzIHNjYWxlZCByZW5kZXJpbmcgb2YgU1ZHIGltYWdlIHdpdGggcmVs
YXRpdmUgc2l6ZS4KKyAgTm8gaW1hZ2Ugc2hvdWxkIGRpc3BsYXkgYml0bWFwIHNjYWxpbmcgYXJ0
aWZhY3RzLjwvcD4KKworICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjEwcHg7
dG9wOjMwcHg7d2lkdGg6NTBweDtoZWlnaHQ6NTBweDsiPjwvZGl2PgorICA8ZGl2IHN0eWxlPSJw
b3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjEwcHg7dG9wOjE1MHB4O3dpZHRoOjEwMHB4O2hlaWdodDox
MDBweDsiPjwvZGl2PgorICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjMzMHB4
O3RvcDozMHB4O3dpZHRoOjIwMHB4O2hlaWdodDoyMDBweDsiPjwvZGl2PgorICA8ZGl2IHN0eWxl
PSJwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjIyMHB4O3RvcDozMHB4O3dpZHRoOjUwcHg7aGVpZ2h0
OjE1MHB4OyI+PC9kaXY+CisgIDxkaXYgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO2xlZnQ6MTBw
eDt0b3A6MzYwcHg7d2lkdGg6MTUwcHg7aGVpZ2h0OjUwcHg7Ij48L2Rpdj4KKworPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL211bHRpcGxlLWluc3RhbmNlcy9y
ZWxhdGl2ZS1zdmctYmFja2dyb3VuZC5odG1sIGIvTGF5b3V0VGVzdHMvc3ZnL211bHRpcGxlLWlu
c3RhbmNlcy9yZWxhdGl2ZS1zdmctYmFja2dyb3VuZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY1ZGNkMTdi
ZjkyYTBhNThmMWQ5OTY1YTA4YTNkMjY0YWY0MGU1NjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9zdmcvbXVsdGlwbGUtaW5zdGFuY2VzL3JlbGF0aXZlLXN2Zy1iYWNrZ3JvdW5kLmh0
bWwKQEAgLTAsMCArMSwyMSBAQAorPGh0bWw+PGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIv
PgorPG1ldGEgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIiBjb250ZW50PSJJRT1lZGdlIi8+
Cis8dGl0bGU+UmVsYXRpdmUgc2l6ZSBTVkcgdGVzdDwvdGl0bGU+Cis8c3R5bGU+CitodG1sLCBi
b2R5IHt3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlO30KK2RpdiB7Ym9yZGVyLXN0eWxlOmRhc2hl
ZDsgYm9yZGVyLXdpZHRoOjJweDsgYm9yZGVyLWNvbG9yOmJyb3duOyBiYWNrZ3JvdW5kLWltYWdl
OnVybChyZXNvdXJjZXMvcmVsYXRpdmUtc2l6ZS5zdmcpO30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKyAgPHA+VGhpcyB0ZXN0IHNob3VsZCByZW5kZXIgaW1hZ2VzIHRoYXQgYXJlIHJlc2l6
ZWQgcmF0aGVyIHRoYW4gc2NhbGVkLgorICBUZXh0IHNpemUgc2hvdWxkIGJlIHRoZSBzYW1lIGlu
IGFsbCBib3hlcy48L3A+CisKKyAgPGRpdiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7bGVmdDox
MHB4O3RvcDozMHB4O3dpZHRoOjEwMHB4O2hlaWdodDoxMDBweDsiPjwvZGl2PgorICA8ZGl2IHN0
eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjEwcHg7dG9wOjE1MHB4O3dpZHRoOjIwMHB4O2hl
aWdodDoyMDBweDsiPjwvZGl2PgorICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0
OjMzMHB4O3RvcDozMHB4O3dpZHRoOjQwMHB4O2hlaWdodDo0MDBweDsiPjwvZGl2PgorICA8ZGl2
IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjIyMHB4O3RvcDozMHB4O3dpZHRoOjEwMHB4
O2hlaWdodDozMDBweDsiPjwvZGl2PgorICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTts
ZWZ0OjEwcHg7dG9wOjM2MHB4O3dpZHRoOjMwMHB4O2hlaWdodDoxMDBweDsiPjwvZGl2PgorCis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvbXVsdGlwbGUtaW5z
dGFuY2VzL3JlbGF0aXZlLXN2Zy1zdmcuaHRtbCBiL0xheW91dFRlc3RzL3N2Zy9tdWx0aXBsZS1p
bnN0YW5jZXMvcmVsYXRpdmUtc3ZnLXN2Zy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ5NTFkNzk5ZmI4NWZk
OTNjOGU2NzZhZWVhYjE2ZWM3M2NlNDc1MmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9zdmcvbXVsdGlwbGUtaW5zdGFuY2VzL3JlbGF0aXZlLXN2Zy1zdmcuaHRtbApAQCAtMCwwICsx
LDE2IEBACisgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4
bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4yIiBzdHlsZT0i
cG9pbnRlci1ldmVudHM6IG5vbmU7IiB3aWR0aD0iMTAwMCIgaGVpZ2h0PSI2MDAiPgorICAgIDxk
ZWZzPgorICAgICAgIDxzeW1ib2wgaWQ9InN2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSI+
CisgICAgICAgICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBz
dHJva2Utd2lkdGg9IjEiIHN0cm9rZT0iYnJvd24iIGZpbGw9Im5vbmUiLz4KKyAgICAgICAgIDxp
bWFnZSB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiB4bGluazpocmVmPSdyZXNvdXJjZXMvcmVs
YXRpdmUtc2l6ZS5zdmcnLz4KKyAgICAgICA8L3N5bWJvbD4KKyAgICA8L2RlZnM+CisgICAgCisg
ICAgPHRleHQgeD0iMjAiIHk9IjIwIiBmb250LWZhbWlseT0iQXJpYWwiIGZvbnQtc2l6ZT0iMTUi
PlRlc3RzIHJlbmRlcmluZyBvZiBTVkcgaW1hZ2Ugd2l0aCByZWxhdGl2ZSBjb29yZGluYXRlcy48
L3RleHQ+CisgICAgCisgICAgPHVzZSB4bGluazpocmVmPSIjc3ZnIiB4PSIxMCIgeT0iMzAiIHdp
ZHRoPSIxMDAiIGhlaWdodD0iMTAwIi8+CisgICAgPHVzZSB4bGluazpocmVmPSIjc3ZnIiB4PSIx
MCIgeT0iMTUwIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCIvPgorICAgIDx1c2UgeGxpbms6aHJl
Zj0iI3N2ZyIgeD0iMTAiIHk9IjM2MCIgd2lkdGg9IjMwMCIgaGVpZ2h0PSIxMDAiLz4KKyAgICA8
dXNlIHhsaW5rOmhyZWY9IiNzdmciIHg9IjIyMCIgeT0iMzAiIHdpZHRoPSIxMDAiIGhlaWdodD0i
MzAwIi8+CisgICAgPHVzZSB4bGluazpocmVmPSIjc3ZnIiB4PSIzMzAiIHk9IjMwIiB3aWR0aD0i
NDAwIiBoZWlnaHQ9IjQwMCIvPgorICA8L3N2Zz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2
Zy9tdWx0aXBsZS1pbnN0YW5jZXMvcmVsYXRpdmUtc3ZnLXRlc3QuaHRtbCBiL0xheW91dFRlc3Rz
L3N2Zy9tdWx0aXBsZS1pbnN0YW5jZXMvcmVsYXRpdmUtc3ZnLXRlc3QuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42OWUzNmRmYjdmMmJkYzM5ZDJiMGIzZTZlOGIzZjJhNDU1YzFjNWI5Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvc3ZnL211bHRpcGxlLWluc3RhbmNlcy9yZWxhdGl2ZS1zdmctdGVz
dC5odG1sCkBAIC0wLDAgKzEsMjIgQEAKKzxodG1sPjxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRm
LTgiLz4KKzxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRn
ZSIvPgorPHRpdGxlPlJlbGF0aXZlIHNpemUgU1ZHIHRlc3Q8L3RpdGxlPgorPHN0eWxlPgoraHRt
bCwgYm9keSB7d2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTt9CitpbWcge2JvcmRlci1zdHlsZTpk
YXNoZWQ7IGJvcmRlci13aWR0aDoycHg7IGJvcmRlci1jb2xvcjpicm93bn0KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKyAgPHA+VGhpcyB0ZXN0IHNob3VsZCByZW5kZXIgaW1hZ2VzIHRoYXQg
YXJlIHJlc2l6ZWQgcmF0aGVyIHRoYW4gc2NhbGVkLgorICBUZXh0IHNpemUgc2hvdWxkIGJlIHRo
ZSBzYW1lIGluIGFsbCBib3hlcy48L3A+CisKKyAgPGltZyBzcmM9InJlc291cmNlcy9yZWxhdGl2
ZS1zaXplLnN2ZyIgd2lkdGg9IjEwMHB4IiBoZWlnaHQ9IjMwMHB4Ii8+CisgIDxpbWcgc3JjPSJy
ZXNvdXJjZXMvcmVsYXRpdmUtc2l6ZS5zdmciIHdpZHRoPSIyMDBweCIgaGVpZ2h0PSIyMDBweCIv
PgorICA8aW1nIHNyYz0icmVzb3VyY2VzL3JlbGF0aXZlLXNpemUuc3ZnIiB3aWR0aD0iNDAwcHgi
IGhlaWdodD0iNDAwcHgiLz4KKyAgPGJyLz4KKyAgPGltZyBzcmM9InJlc291cmNlcy9yZWxhdGl2
ZS1zaXplLnN2ZyIgd2lkdGg9IjEwMHB4IiBoZWlnaHQ9IjEwMHB4Ii8+CisgIDxpbWcgc3JjPSJy
ZXNvdXJjZXMvcmVsYXRpdmUtc2l6ZS5zdmciIHdpZHRoPSIzMDBweCIgaGVpZ2h0PSIxMDBweCIv
PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvbXVsdGlw
bGUtaW5zdGFuY2VzL3Jlc291cmNlcy9maXhlZC1zaXplLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9t
dWx0aXBsZS1pbnN0YW5jZXMvcmVzb3VyY2VzL2ZpeGVkLXNpemUuc3ZnCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYz
MDA0YWZmZmEwOTZkZTFjZDBhOTIyY2FlNzY2YTEyOWU2ZGJkNTEKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9zdmcvbXVsdGlwbGUtaW5zdGFuY2VzL3Jlc291cmNlcy9maXhlZC1zaXpl
LnN2ZwpAQCAtMCwwICsxLDkgQEAKKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAv
c3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIKKyAgICB2ZXJz
aW9uPSIxLjEiIHN0eWxlPSJwb2ludGVyLWV2ZW50czogbm9uZTsgd2lkdGg6IDEwMHB4OyBoZWln
aHQ6IDEwMHB4OyIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiPgorICAgIAor
ICAgIDxwb2x5Z29uIHBvaW50cz0iMTAsMTAgOTAsMTAgNTAsNTAiIGZpbGw9ImN5YW4iLz4KKyAg
ICA8Y2lyY2xlIGN4PSI3NSUiIGN5PSI3NSUiIHI9IjIwJSIgZmlsbD0iYmx1ZSIvPgorICAgIDxy
ZWN0IHg9IjEwIiB5PSI3NSUiIHdpZHRoPSIxMDAiIGhlaWdodD0iMjAlIiBmaWxsPSJncmVlbiIv
PgorICAgIDx0ZXh0IGZvbnQtZmFtaWx5PSJBcmlhbCIgZm9udC1zaXplPSIyNSIgeD0iOTAlIiB5
PSI0MCIgZmlsbD0iYmxhY2siIHRleHQtYW5jaG9yPSJlbmQiPlRleHQ8L3RleHQ+CisJCis8L3N2
Zz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9tdWx0aXBsZS1pbnN0YW5jZXMvcmVzb3Vy
Y2VzL3JlbGF0aXZlLXNpemUuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL211bHRpcGxlLWluc3RhbmNl
cy9yZXNvdXJjZXMvcmVsYXRpdmUtc2l6ZS5zdmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjY4NTk3NDNjNWM4NzVk
Y2Y2M2RlMWQyMjJmMTc5YTVlODZlYjI2ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3N2Zy9tdWx0aXBsZS1pbnN0YW5jZXMvcmVzb3VyY2VzL3JlbGF0aXZlLXNpemUuc3ZnCkBAIC0w
LDAgKzEsOSBAQAorPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5z
OnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIgorICAgIHZlcnNpb249IjEuMSIg
c3R5bGU9InBvaW50ZXItZXZlbnRzOiBub25lOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyI+
CisgICAgCisgICAgPHBvbHlnb24gcG9pbnRzPSIxMCwxMCA5MCwxMCA1MCw1MCIgZmlsbD0iY3lh
biIvPgorICAgIDxjaXJjbGUgY3g9Ijc1JSIgY3k9Ijc1JSIgcj0iMjAlIiBmaWxsPSJibHVlIi8+
CisgICAgPHJlY3QgeD0iMTAiIHk9Ijc1JSIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIyMCUiIGZpbGw9
ImdyZWVuIi8+CisgICAgPHRleHQgZm9udC1mYW1pbHk9IkFyaWFsIiBmb250LXNpemU9IjI1IiB4
PSI5MCUiIHk9IjQwIiBmaWxsPSJibGFjayIgdGV4dC1hbmNob3I9ImVuZCI+VGV4dDwvdGV4dD4K
KwkKKzwvc3ZnPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL3pvb20vcGFnZS9maXhlZC1z
dmctYmFja2dyb3VuZC5odG1sIGIvTGF5b3V0VGVzdHMvc3ZnL3pvb20vcGFnZS9maXhlZC1zdmct
YmFja2dyb3VuZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg2ZWI3NDhmYTc5NzRlMzk3ODRmNjIwZTA3MjQx
ZTBhOTczMTJhYzQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvem9vbS9wYWdl
L2ZpeGVkLXN2Zy1iYWNrZ3JvdW5kLmh0bWwKQEAgLTAsMCArMSwyNSBAQAorPGh0bWw+PGhlYWQ+
Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIvPgorPG1ldGEgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRp
YmxlIiBjb250ZW50PSJJRT1lZGdlIi8+Cis8dGl0bGU+UmVsYXRpdmUgc2l6ZSBTVkcgdGVzdDwv
dGl0bGU+Cis8c3R5bGU+CitodG1sLCBib2R5IHt3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlO30K
K2RpdiB7Ym9yZGVyLXN0eWxlOmRhc2hlZDsgYm9yZGVyLXdpZHRoOjJweDsgYm9yZGVyLWNvbG9y
OmJyb3duOyBiYWNrZ3JvdW5kLWltYWdlOnVybChyZXNvdXJjZXMvZml4ZWQtc2l6ZS5zdmcpO30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blJlcGFpbnRUZXN0KCkiPgorICA8
cD5UZXN0cyByZW5kZXJpbmcgb2YgU1ZHIGltYWdlIHdpdGggZml4ZWQgc2l6ZS4KKyAgQWxsIGlt
YWdlcyBzaG91bGQgYmUgdGlsZWQgY29waWVzIG9mIHRoZSBmaXJzdC48L3A+CisKKyAgPGRpdiBz
dHlsZT0icG9zaXRpb246YWJzb2x1dGU7bGVmdDoxMHB4O3RvcDozMHB4O3dpZHRoOjEwMHB4O2hl
aWdodDoxMDBweDsiPjwvZGl2PgorICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0
OjEwcHg7dG9wOjE1MHB4O3dpZHRoOjIwMHB4O2hlaWdodDoyMDBweDsiPjwvZGl2PgorICA8ZGl2
IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjMzMHB4O3RvcDozMHB4O3dpZHRoOjQwMHB4
O2hlaWdodDo0MDBweDsiPjwvZGl2PgorICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTts
ZWZ0OjIyMHB4O3RvcDozMHB4O3dpZHRoOjEwMHB4O2hlaWdodDozMDBweDsiPjwvZGl2PgorICA8
ZGl2IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjEwcHg7dG9wOjM2MHB4O3dpZHRoOjMw
MHB4O2hlaWdodDoxMDBweDsiPjwvZGl2PgorCisgIDxzY3JpcHQ+dmFyIHpvb21Db3VudCA9IDM7
IHdpbmRvdy5zaG91bGRab29tT3V0ID0gdHJ1ZTs8L3NjcmlwdD4KKyAgPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uL2Zhc3QvcmVwYWludC9yZXNvdXJjZXMvcmVwYWludC5qcyI+PC9zY3JpcHQ+CisgIDxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdGVzdFBhZ2Vab29tLmpzIj48L3NjcmlwdD4KKworPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL3pvb20vcGFnZS9maXhl
ZC1zdmctdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvc3ZnL3pvb20vcGFnZS9maXhlZC1zdmctdGVz
dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjc1YTBlOGI2ODM3MTJhNzlmZmRlNzQzMDc3NWU1YzZmMjI5ZjQ2
N2YKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvem9vbS9wYWdlL2ZpeGVkLXN2
Zy10ZXN0Lmh0bWwKQEAgLTAsMCArMSwyNiBAQAorPGh0bWw+PGhlYWQ+Cis8bWV0YSBjaGFyc2V0
PSJ1dGYtOCIvPgorPG1ldGEgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIiBjb250ZW50PSJJ
RT1lZGdlIi8+Cis8dGl0bGU+UmVsYXRpdmUgc2l6ZSBTVkcgdGVzdDwvdGl0bGU+Cis8c3R5bGU+
CitodG1sLCBib2R5IHt3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlO30KK2ltZyB7Ym9yZGVyLXN0
eWxlOmRhc2hlZDsgYm9yZGVyLXdpZHRoOjJweDsgYm9yZGVyLWNvbG9yOmJyb3dufQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuUmVwYWludFRlc3QoKSI+CisgIDxwPlRlc3Rz
IHJlbmRlcmluZyBvZiBTVkcgaW1hZ2Ugd2l0aCBmaXhlZCBzaXplLgorICBBbGwgaW1hZ2VzIHNo
b3VsZCBiZSByZXNjYWxlZCBjb3BpZXMgb2YgdGhlIGZpcnN0IHNjYWxlZCB0byBmaWxsIHRoZSBi
b3guPC9wPgorICAgIAorICA8aW1nIHNyYz0icmVzb3VyY2VzL2ZpeGVkLXNpemUuc3ZnIiB3aWR0
aD0iMTAwcHgiIGhlaWdodD0iMzAwcHgiLz4KKyAgPGltZyBzcmM9InJlc291cmNlcy9maXhlZC1z
aXplLnN2ZyIgd2lkdGg9IjIwMHB4IiBoZWlnaHQ9IjIwMHB4Ii8+CisgIDxpbWcgc3JjPSJyZXNv
dXJjZXMvZml4ZWQtc2l6ZS5zdmciIHdpZHRoPSI0MDBweCIgaGVpZ2h0PSI0MDBweCIvPgorICA8
YnIvPgorICA8aW1nIHNyYz0icmVzb3VyY2VzL2ZpeGVkLXNpemUuc3ZnIiB3aWR0aD0iMTAwcHgi
IGhlaWdodD0iMTAwcHgiLz4KKyAgPGltZyBzcmM9InJlc291cmNlcy9maXhlZC1zaXplLnN2ZyIg
d2lkdGg9IjMwMHB4IiBoZWlnaHQ9IjEwMHB4Ii8+CisKKyAgPHNjcmlwdD52YXIgem9vbUNvdW50
ID0gMzsgd2luZG93LnNob3VsZFpvb21PdXQgPSB0cnVlOzwvc2NyaXB0PgorICA8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vZmFzdC9yZXBhaW50L3Jlc291cmNlcy9yZXBhaW50LmpzIj48L3NjcmlwdD4K
KyAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXN0UGFnZVpvb20uanMiPjwvc2NyaXB0Pgor
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvem9vbS9wYWdl
L3JlbGF0aXZlLXN2Zy1iYWNrZ3JvdW5kLmh0bWwgYi9MYXlvdXRUZXN0cy9zdmcvem9vbS9wYWdl
L3JlbGF0aXZlLXN2Zy1iYWNrZ3JvdW5kLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjM5MzNkODYyYTgxNWFh
NTViZDcwMTZhNmM2ZDQ5MjQ3MDI3NGU1ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3N2Zy96b29tL3BhZ2UvcmVsYXRpdmUtc3ZnLWJhY2tncm91bmQuaHRtbApAQCAtMCwwICsxLDI1
IEBACis8aHRtbD48aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ii8+Cis8bWV0YSBodHRwLWVx
dWl2PSJYLVVBLUNvbXBhdGlibGUiIGNvbnRlbnQ9IklFPWVkZ2UiLz4KKzx0aXRsZT5SZWxhdGl2
ZSBzaXplIFNWRyB0ZXN0PC90aXRsZT4KKzxzdHlsZT4KK2h0bWwsIGJvZHkge3dpZHRoOiAxMDAl
OyBoZWlnaHQ6IDEwMCU7fQorZGl2IHtib3JkZXItc3R5bGU6ZGFzaGVkOyBib3JkZXItd2lkdGg6
MnB4OyBib3JkZXItY29sb3I6YnJvd247IGJhY2tncm91bmQtaW1hZ2U6dXJsKHJlc291cmNlcy9y
ZWxhdGl2ZS1zaXplLnN2Zyk7fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVu
UmVwYWludFRlc3QoKSI+CisgIDxwPlRoaXMgdGVzdCBzaG91bGQgcmVuZGVyIGltYWdlcyB0aGF0
IGFyZSByZXNpemVkIHJhdGhlciB0aGFuIHNjYWxlZC4KKyAgVGV4dCBzaXplIHNob3VsZCBiZSB0
aGUgc2FtZSBpbiBhbGwgYm94ZXMuPC9wPgorCisgIDxkaXYgc3R5bGU9InBvc2l0aW9uOmFic29s
dXRlO2xlZnQ6MTBweDt0b3A6MzBweDt3aWR0aDoxMDBweDtoZWlnaHQ6MTAwcHg7Ij48L2Rpdj4K
KyAgPGRpdiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7bGVmdDoxMHB4O3RvcDoxNTBweDt3aWR0
aDoyMDBweDtoZWlnaHQ6MjAwcHg7Ij48L2Rpdj4KKyAgPGRpdiBzdHlsZT0icG9zaXRpb246YWJz
b2x1dGU7bGVmdDozMzBweDt0b3A6MzBweDt3aWR0aDo0MDBweDtoZWlnaHQ6NDAwcHg7Ij48L2Rp
dj4KKyAgPGRpdiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7bGVmdDoyMjBweDt0b3A6MzBweDt3
aWR0aDoxMDBweDtoZWlnaHQ6MzAwcHg7Ij48L2Rpdj4KKyAgPGRpdiBzdHlsZT0icG9zaXRpb246
YWJzb2x1dGU7bGVmdDoxMHB4O3RvcDozNjBweDt3aWR0aDozMDBweDtoZWlnaHQ6MTAwcHg7Ij48
L2Rpdj4KKworICA8c2NyaXB0PnZhciB6b29tQ291bnQgPSAzOyB3aW5kb3cuc2hvdWxkWm9vbU91
dCA9IHRydWU7PC9zY3JpcHQ+CisgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L3JlcGFpbnQv
cmVzb3VyY2VzL3JlcGFpbnQuanMiPjwvc2NyaXB0PgorICA8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL3Rlc3RQYWdlWm9vbS5qcyI+PC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N2Zy96b29tL3BhZ2UvcmVsYXRpdmUtc3ZnLXRlc3QuaHRtbCBi
L0xheW91dFRlc3RzL3N2Zy96b29tL3BhZ2UvcmVsYXRpdmUtc3ZnLXRlc3QuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5kNGJhYmU5Yjc1Mzg2NTBiODg3NWNmYzI2MmI5YjBhY2FiZjAyOWIzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL3pvb20vcGFnZS9yZWxhdGl2ZS1zdmctdGVzdC5odG1s
CkBAIC0wLDAgKzEsMjYgQEAKKzxodG1sPjxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiLz4K
KzxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSIvPgor
PHRpdGxlPlJlbGF0aXZlIHNpemUgU1ZHIHRlc3Q8L3RpdGxlPgorPHN0eWxlPgoraHRtbCwgYm9k
eSB7d2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTt9CitpbWcge2JvcmRlci1zdHlsZTpkYXNoZWQ7
IGJvcmRlci13aWR0aDoycHg7IGJvcmRlci1jb2xvcjpicm93bn0KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keSBvbmxvYWQ9InJ1blJlcGFpbnRUZXN0KCkiPgorICA8cD5UaGlzIHRlc3Qgc2hvdWxk
IHJlbmRlciBpbWFnZXMgdGhhdCBhcmUgcmVzaXplZCByYXRoZXIgdGhhbiBzY2FsZWQuCisgIFRl
eHQgc2l6ZSBzaG91bGQgYmUgdGhlIHNhbWUgaW4gYWxsIGJveGVzLjwvcD4KKworICA8aW1nIHNy
Yz0icmVzb3VyY2VzL3JlbGF0aXZlLXNpemUuc3ZnIiB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMzAw
cHgiLz4KKyAgPGltZyBzcmM9InJlc291cmNlcy9yZWxhdGl2ZS1zaXplLnN2ZyIgd2lkdGg9IjIw
MHB4IiBoZWlnaHQ9IjIwMHB4Ii8+CisgIDxpbWcgc3JjPSJyZXNvdXJjZXMvcmVsYXRpdmUtc2l6
ZS5zdmciIHdpZHRoPSI0MDBweCIgaGVpZ2h0PSI0MDBweCIvPgorICA8YnIvPgorICA8aW1nIHNy
Yz0icmVzb3VyY2VzL3JlbGF0aXZlLXNpemUuc3ZnIiB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAw
cHgiLz4KKyAgPGltZyBzcmM9InJlc291cmNlcy9yZWxhdGl2ZS1zaXplLnN2ZyIgd2lkdGg9IjMw
MHB4IiBoZWlnaHQ9IjEwMHB4Ii8+CisKKyAgPHNjcmlwdD52YXIgem9vbUNvdW50ID0gMzsgd2lu
ZG93LnNob3VsZFpvb21PdXQgPSB0cnVlOzwvc2NyaXB0PgorICA8c2NyaXB0IHNyYz0iLi4vLi4v
Li4vZmFzdC9yZXBhaW50L3Jlc291cmNlcy9yZXBhaW50LmpzIj48L3NjcmlwdD4KKyAgPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy90ZXN0UGFnZVpvb20uanMiPjwvc2NyaXB0PgorCis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvem9vbS9wYWdlL3Jlc291cmNl
cy9maXhlZC1zaXplLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy96b29tL3BhZ2UvcmVzb3VyY2VzL2Zp
eGVkLXNpemUuc3ZnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYzMDA0YWZmZmEwOTZkZTFjZDBhOTIyY2FlNzY2YTEy
OWU2ZGJkNTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvem9vbS9wYWdlL3Jl
c291cmNlcy9maXhlZC1zaXplLnN2ZwpAQCAtMCwwICsxLDkgQEAKKzxzdmcgeG1sbnM9Imh0dHA6
Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5
OS94bGluayIKKyAgICB2ZXJzaW9uPSIxLjEiIHN0eWxlPSJwb2ludGVyLWV2ZW50czogbm9uZTsg
d2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlN
aWQgc2xpY2UiPgorICAgIAorICAgIDxwb2x5Z29uIHBvaW50cz0iMTAsMTAgOTAsMTAgNTAsNTAi
IGZpbGw9ImN5YW4iLz4KKyAgICA8Y2lyY2xlIGN4PSI3NSUiIGN5PSI3NSUiIHI9IjIwJSIgZmls
bD0iYmx1ZSIvPgorICAgIDxyZWN0IHg9IjEwIiB5PSI3NSUiIHdpZHRoPSIxMDAiIGhlaWdodD0i
MjAlIiBmaWxsPSJncmVlbiIvPgorICAgIDx0ZXh0IGZvbnQtZmFtaWx5PSJBcmlhbCIgZm9udC1z
aXplPSIyNSIgeD0iOTAlIiB5PSI0MCIgZmlsbD0iYmxhY2siIHRleHQtYW5jaG9yPSJlbmQiPlRl
eHQ8L3RleHQ+CisJCis8L3N2Zz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy96b29tL3Bh
Z2UvcmVzb3VyY2VzL3JlbGF0aXZlLXNpemUuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL3pvb20vcGFn
ZS9yZXNvdXJjZXMvcmVsYXRpdmUtc2l6ZS5zdmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjY4NTk3NDNjNWM4NzVk
Y2Y2M2RlMWQyMjJmMTc5YTVlODZlYjI2ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3N2Zy96b29tL3BhZ2UvcmVzb3VyY2VzL3JlbGF0aXZlLXNpemUuc3ZnCkBAIC0wLDAgKzEsOSBA
QAorPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJo
dHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIgorICAgIHZlcnNpb249IjEuMSIgc3R5bGU9InBv
aW50ZXItZXZlbnRzOiBub25lOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyI+CisgICAgCisg
ICAgPHBvbHlnb24gcG9pbnRzPSIxMCwxMCA5MCwxMCA1MCw1MCIgZmlsbD0iY3lhbiIvPgorICAg
IDxjaXJjbGUgY3g9Ijc1JSIgY3k9Ijc1JSIgcj0iMjAlIiBmaWxsPSJibHVlIi8+CisgICAgPHJl
Y3QgeD0iMTAiIHk9Ijc1JSIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIyMCUiIGZpbGw9ImdyZWVuIi8+
CisgICAgPHRleHQgZm9udC1mYW1pbHk9IkFyaWFsIiBmb250LXNpemU9IjI1IiB4PSI5MCUiIHk9
IjQwIiBmaWxsPSJibGFjayIgdGV4dC1hbmNob3I9ImVuZCI+VGV4dDwvdGV4dD4KKwkKKzwvc3Zn
Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169631</attachid>
            <date>2012-10-19 09:06:53 -0700</date>
            <delta_ts>2012-10-19 10:07:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98403-20121019170536.patch</filename>
            <type>text/plain</type>
            <size>77222</size>
            <attacher name="Branimir Lambov">blambov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA5MjI1MThiMWRkMGEwYWE1NTI3YmEyNTI0ZDU4YzM4Y2NmNDg3NDc3Li41
NjZkMjFjYTFmZmVlODlmYTU4OTU3ZWFjOTk3YmIyY2NhZWNiMmNmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTA3IEBACisyMDEyLTEwLTE3ICBCcmFuaW1pciBMYW1ib3YgIDxibGFtYm92QGdvb2ds
ZS5jb20+CisKKyAgICAgICAgU1ZHIGltYWdlIGNhY2hlIGlzIHZlcnkgYnJva2VuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODQwMworCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNvcnRzIG91dCBhIHJhbmdl
IG9mIHByb2JsZW1zIHdpdGggU1ZHIGltYWdlIHJlbmRlcmluZzoKKyAgICAgICAgCisgICAgICAg
IC0gUmVwbGFjZXMgdGhlIGJyb2tlbiBTVkdJbWFnZUNhY2hlIGNsYXNzIHdpdGggdHdvIHNlcGFy
YXRlIG1hcHMsIGRlYWxpbmcKKyAgICAgICAgICB3aXRoIGNvbnRhaW5lciBzaXplcyBhbmQgY2Fj
aGVkIGJpdG1hcHMgc2VwYXJhdGVseS4KKyAgICAgICAgICAgIAorICAgICAgICAtIE1ha2VzIHN1
cmUgQ2FjaGVkSW1hZ2Ugc3RvcmVzIGNvbnRhaW5lciBzaXplIHJlcXVlc3RzIG1hZGUgYmVmb3Jl
IHRoZQorICAgICAgICAgIGltYWdlIGlzIGxvYWRlZC4KKyAgICAgICAgICAgIAorICAgICAgICAt
IFdyYXBzIHJlbGF0aXZlIHNpemUgU1ZHIGltYWdlcyBpbnRvIGFuIEltYWdlV2l0aENvbnRhaW5l
clNpemUgb2JqZWN0CisgICAgICAgICAgd2hpY2ggdGFrZXMgY2FyZSB0byBhc3NpZ24gdGhlIGNv
bnRhaW5lciBzaXplIGltbWVkaWF0ZWx5IGJlZm9yZQorICAgICAgICAgIGRyYXdpbmcuCisgICAg
ICAgICAgICAKKyAgICAgICAgLSBJbXBsZW1lbnRzIGNhY2hpbmcgb2YgU1ZHIGltYWdlcyBhcyBi
aXRtYXBzIHJlbmRlcmVkIGF0IHRoZSBjb3JyZWN0IHNjYWxlLgorICAgICAgICAKKyAgICAgICAg
LSBNYWtlcyBzdXJlIGFsbCBiaXRtYXAgY2FjaGluZyB0YWtlcyB3b3JsZCB0cmFuc2Zvcm1zIGlu
dG8gYWNjb3VudC4KKyAgICAgICAgCisgICAgICAgIC0gQ2hhbmdlcyBTVkdJbWFnZSB0byBpbXBs
ZW1lbnQgZHJhd1BhdHRlcm4gaW5zdGVhZCBvZiBuYXRpdmVJbWFnZUZvckN1cnJlbnRGcmFtZQor
ICAgICAgICAgIHRvIGVuYWJsZSBTVkcgcGF0dGVybnMgdG8gYmUgZHJhd24gYXQgdGhlIGNvcnJl
Y3Qgc2NhbGUuCisgICAgICAgICAgICAKKyAgICAgICAgLSBGaXhlcyBpbmNvcnJlY3Qgem9vbWlu
ZyBvZiBmaXhlZCBzaXplIFNWRyBpbWFnZXMuCisgICAgICAgIAorICAgICAgICAtIEZpeGVzICdz
bGljZScgU1ZHIGFzcGVjdCByYXRpbyBjYWxjdWxhdGlvbnMgd2hpY2ggd2VyZSB1c2luZyB0aGUg
d3JvbmcKKyAgICAgICAgICBvZmZzZXQuCisKKyAgICAgICAgVGVzdHM6IHN2Zy9tdWx0aXBsZS1p
bnN0YW5jZXMvZml4ZWQtc3ZnLWJhY2tncm91bmQtc2NhbGVkLmh0bWwKKyAgICAgICAgICAgICAg
IHN2Zy9tdWx0aXBsZS1pbnN0YW5jZXMvZml4ZWQtc3ZnLWJhY2tncm91bmQuaHRtbAorICAgICAg
ICAgICAgICAgc3ZnL211bHRpcGxlLWluc3RhbmNlcy9maXhlZC1zdmctc3ZnLmh0bWwKKyAgICAg
ICAgICAgICAgIHN2Zy9tdWx0aXBsZS1pbnN0YW5jZXMvZml4ZWQtc3ZnLXRlc3QuaHRtbAorICAg
ICAgICAgICAgICAgc3ZnL211bHRpcGxlLWluc3RhbmNlcy9yZWxhdGl2ZS1zdmctYmFja2dyb3Vu
ZC1zY2FsZWQuaHRtbAorICAgICAgICAgICAgICAgc3ZnL211bHRpcGxlLWluc3RhbmNlcy9yZWxh
dGl2ZS1zdmctYmFja2dyb3VuZC5odG1sCisgICAgICAgICAgICAgICBzdmcvbXVsdGlwbGUtaW5z
dGFuY2VzL3JlbGF0aXZlLXN2Zy1zdmcuaHRtbAorICAgICAgICAgICAgICAgc3ZnL211bHRpcGxl
LWluc3RhbmNlcy9yZWxhdGl2ZS1zdmctdGVzdC5odG1sCisgICAgICAgICAgICAgICBzdmcvem9v
bS9wYWdlL2ZpeGVkLXN2Zy1iYWNrZ3JvdW5kLmh0bWwKKyAgICAgICAgICAgICAgIHN2Zy96b29t
L3BhZ2UvZml4ZWQtc3ZnLXRlc3QuaHRtbAorICAgICAgICAgICAgICAgc3ZnL3pvb20vcGFnZS9y
ZWxhdGl2ZS1zdmctYmFja2dyb3VuZC5odG1sCisgICAgICAgICAgICAgICBzdmcvem9vbS9wYWdl
L3JlbGF0aXZlLXN2Zy10ZXN0Lmh0bWwKKworICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAg
ICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2Fj
aGVkSW1hZ2U6OmRpZFJlbW92ZUNsaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRJbWFn
ZTo6bG9va3VwT3JDcmVhdGVJbWFnZUZvclJlbmRlcmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkNh
Y2hlZEltYWdlOjpzZXRDb250YWluZXJTaXplRm9yUmVuZGVyZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6Q2FjaGVkSW1hZ2U6OmltYWdlU2l6ZUZvclJlbmRlcmVyKToKKyAgICAgICAgKFdlYkNvcmU6
OkNhY2hlZEltYWdlOjpjbGVhcik6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRJbWFnZTo6Y3Jl
YXRlSW1hZ2UpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkSW1hZ2U6OmNsZWFySW1hZ2UpOgor
ICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkSW1hZ2U6OmNoYW5nZWRJblJlY3QpOgorICAgICAgICAo
V2ViQ29yZTo6Q2FjaGVkSW1hZ2U6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBsb2Fk
ZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuaDoKKyAgICAgICAgKENhY2hlZEltYWdlKToKKyAgICAgICAg
KiBsb2FkZXIvY2FjaGUvSW1hZ2VXaXRoQ29udGFpbmVyU2l6ZS5oOiBBZGRlZC4KKyAgICAgICAg
KFdlYkNvcmUpOgorICAgICAgICAoSW1hZ2VXaXRoQ29udGFpbmVyU2l6ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpJbWFnZVdpdGhDb250YWluZXJTaXplOjpzZXRDb250YWluZXJTaXplKToKKyAgICAg
ICAgKFdlYkNvcmU6OkltYWdlV2l0aENvbnRhaW5lclNpemU6OnVzZXNDb250YWluZXJTaXplKToK
KyAgICAgICAgKFdlYkNvcmU6OkltYWdlV2l0aENvbnRhaW5lclNpemU6Omhhc1JlbGF0aXZlV2lk
dGgpOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VXaXRoQ29udGFpbmVyU2l6ZTo6aGFzUmVsYXRp
dmVIZWlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VXaXRoQ29udGFpbmVyU2l6ZTo6Y29t
cHV0ZUludHJpbnNpY0RpbWVuc2lvbnMpOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VXaXRoQ29u
dGFpbmVyU2l6ZTo6c2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZVdpdGhDb250YWluZXJT
aXplOjpkZXN0cm95RGVjb2RlZERhdGEpOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VXaXRoQ29u
dGFpbmVyU2l6ZTo6ZGVjb2RlZFNpemUpOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VXaXRoQ29u
dGFpbmVyU2l6ZTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VX
aXRoQ29udGFpbmVyU2l6ZTo6ZHJhdyk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZVdpdGhDb250
YWluZXJTaXplOjpkcmF3UGF0dGVybik6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZVdpdGhDb250
YWluZXJTaXplOjpnZXRJbWFnZSk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZVdpdGhDb250YWlu
ZXJTaXplOjpjbGVhckltYWdlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZTo6ZHJhd1RpbGVkKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVySW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW1hZ2U6OnBh
aW50SW50b1JlY3QpOgorICAgICAgICAqIHN2Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNWR1ByZXNlcnZlQXNwZWN0UmF0aW86OnRyYW5zZm9ybVJlY3Qp
OgorICAgICAgICAqIHN2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdJbWFnZUNocm9tZUNsaWVudDo6aW52YWxpZGF0ZUNvbnRlbnRzQW5kUm9vdFZpZXcpOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHSW1hZ2U6OnNldENvbnRhaW5lclNpemUpOgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdJbWFnZTo6dXNlc0NvbnRhaW5lclNpemUp
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHSW1hZ2U6OnNpemUpOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHSW1hZ2U6OmRyYXcpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHSW1hZ2U6OmRyYXdQYXR0ZXJu
KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ltYWdlOjp1bmNhY2hlZERyYXcpOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHSW1hZ2U6OnByZXNlcnZlQXNwZWN0UmF0aW8pOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHSW1hZ2U6OmNhY2hlZEltYWdlQXRTY2FsZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdJ
bWFnZTo6aW52YWxpZGF0ZUNhY2hlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ltYWdlOjpyZXBv
cnRNZW1vcnlVc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdJbWFnZTo6ZHVwbGljYXRlKToK
KyAgICAgICAgKiBzdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuaDoKKyAgICAgICAgKFNWR0ltYWdlKToK
KyAgICAgICAgKFdlYkNvcmU6OlNWR0ltYWdlOjpGbG9hdFNpemVIYXNoOjpoYXNoKToKKyAgICAg
ICAgKEZsb2F0U2l6ZUhhc2gpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHSW1hZ2U6OkZsb2F0U2l6
ZUhhc2g6OmVxdWFsKToKKyAgICAgICAgKEZsb2F0U2l6ZUhhc2hUcmFpdHMpOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHSW1hZ2U6OkZsb2F0U2l6ZUhhc2hUcmFpdHM6OmNvbnN0cnVjdERlbGV0ZWRW
YWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdJbWFnZTo6RmxvYXRTaXplSGFzaFRyYWl0czo6
aXNEZWxldGVkVmFsdWUpOgorICAgICAgICAqIHN2Zy9ncmFwaGljcy9TVkdJbWFnZUNhY2hlLmNw
cDogUmVtb3ZlZC4KKyAgICAgICAgKiBzdmcvZ3JhcGhpY3MvU1ZHSW1hZ2VDYWNoZS5oOiBSZW1v
dmVkLgorCiAyMDEyLTEwLTE4ICBLaXJhbiBNdXBwYWxhICA8Y211cHBhbGFAYXBwbGUuY29tPgog
CiAgICAgICAgIEF1dG9tYXRpY2FsbHkgc3RhcnQgcGx1Z2lucyBjcmVhdGVkIHdpdGhpbiBhIHVz
ZXIgZ2VzdHVyZSwgc2tpcHBpbmcgc25hcHNob3R0aW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggOTAx
OTYwNGRjZThhZGNlZjk4Y2Q2M2JjY2ZhZTkxNGI0YTE1ZDM3Ni4uYjRhZjY0NTVlZDI3MDA1MTBk
OTE5ZjlkMzYyMDg5OWQ5ZWI4OTc3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMjA4LDYgKzIwOCw3
IEBACiAgICAgICAgICAgICAnbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmgnLAog
ICAgICAgICAgICAgJ2xvYWRlci9jYWNoZS9DYWNoZWRTaGFkZXIuaCcsCiAgICAgICAgICAgICAn
bG9hZGVyL2NhY2hlL0NhY2hlZFN0eWxlU2hlZXRDbGllbnQuaCcsCisgICAgICAgICAgICAnbG9h
ZGVyL2NhY2hlL0ltYWdlV2l0aENvbnRhaW5lclNpemUuaCcsCiAgICAgICAgICAgICAnbG9hZGVy
L2NhY2hlL01lbW9yeUNhY2hlLmgnLAogICAgICAgICAgICAgJ2xvYWRlci9pY29uL0ljb25Db250
cm9sbGVyLmgnLAogICAgICAgICAgICAgJ2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5oJywKQEAg
LTYzMTgsOCArNjMxOSw2IEBACiAgICAgICAgICAgICAnc3ZnL2FuaW1hdGlvbi9TTUlMVGltZUNv
bnRhaW5lci5jcHAnLAogICAgICAgICAgICAgJ3N2Zy9hbmltYXRpb24vU01JTFRpbWVDb250YWlu
ZXIuaCcsCiAgICAgICAgICAgICAnc3ZnL2FuaW1hdGlvbi9TVkdTTUlMRWxlbWVudC5jcHAnLAot
ICAgICAgICAgICAgJ3N2Zy9ncmFwaGljcy9TVkdJbWFnZUNhY2hlLmNwcCcsCi0gICAgICAgICAg
ICAnc3ZnL2dyYXBoaWNzL1NWR0ltYWdlQ2FjaGUuaCcsCiAgICAgICAgICAgICAnc3ZnL2dyYXBo
aWNzL1NWR0ltYWdlLmNwcCcsCiAgICAgICAgICAgICAnc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmgn
LAogICAgICAgICAgICAgJ3N2Zy9ncmFwaGljcy9maWx0ZXJzL1NWR0ZFSW1hZ2UuY3BwJywKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRJbWFnZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuY3BwCmluZGV4IDJiZWM5ZjE2
NjA0NTI0Mjk0ZjY4ZjM5ZjJhZTg5MzliNjZjMjU3NmYuLmYzMjkzMDZjMjljZTRlZjRjNDEzYzAy
YmFhNGE5ODYxM2ZlZTY0MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRJbWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZEltYWdlLmNwcApAQCAtNCw2ICs0LDcgQEAKICAgICBDb3B5cmlnaHQgKEMpIDIwMDIgV2FsZG8g
QmFzdGlhbiAoYmFzdGlhbkBrZGUub3JnKQogICAgIENvcHlyaWdodCAoQykgMjAwNiBTYW11ZWwg
V2VpbmlnIChzYW0ud2VpbmlnQGdtYWlsLmNvbSkKICAgICBDb3B5cmlnaHQgKEMpIDIwMDQsIDIw
MDUsIDIwMDYsIDIwMDcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICAgIENvcHly
aWdodCAoQykgMjAxMiBHb29nbGUsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAKICAgICBU
aGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yCiAgICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMKQEAgLTEwMCwxMSArMTAxLDkgQEAgdm9pZCBDYWNoZWRJbWFnZTo6ZGlkQWRk
Q2xpZW50KENhY2hlZFJlc291cmNlQ2xpZW50KiBjKQogCiB2b2lkIENhY2hlZEltYWdlOjpkaWRS
ZW1vdmVDbGllbnQoQ2FjaGVkUmVzb3VyY2VDbGllbnQqIGMpCiB7CisgICAgQVNTRVJUKGMpOwog
ICAgIEFTU0VSVChjLT5yZXNvdXJjZUNsaWVudFR5cGUoKSA9PSBDYWNoZWRJbWFnZUNsaWVudDo6
ZXhwZWN0ZWRUeXBlKCkpOwotI2lmIEVOQUJMRShTVkcpCi0gICAgaWYgKG1fc3ZnSW1hZ2VDYWNo
ZSkKLSAgICAgICAgbV9zdmdJbWFnZUNhY2hlLT5yZW1vdmVDbGllbnRGcm9tQ2FjaGUoc3RhdGlj
X2Nhc3Q8Q2FjaGVkSW1hZ2VDbGllbnQqPihjKSk7Ci0jZW5kaWYKKyAgICBtX2NsaWVudERhdGFN
YXAucmVtb3ZlKHN0YXRpY19jYXN0PENhY2hlZEltYWdlQ2xpZW50Kj4oYykpOwogCiAgICAgQ2Fj
aGVkUmVzb3VyY2U6OmRpZFJlbW92ZUNsaWVudChjKTsKIH0KQEAgLTEzMSwyNCArMTMwLDIyIEBA
IGJvb2wgQ2FjaGVkSW1hZ2U6OndpbGxQYWludEJyb2tlbkltYWdlKCkgY29uc3QKICAgICByZXR1
cm4gZXJyb3JPY2N1cnJlZCgpICYmIG1fc2hvdWxkUGFpbnRCcm9rZW5JbWFnZTsKIH0KIAotI2lm
IEVOQUJMRShTVkcpCiBpbmxpbmUgSW1hZ2UqIENhY2hlZEltYWdlOjpsb29rdXBPckNyZWF0ZUlt
YWdlRm9yUmVuZGVyZXIoY29uc3QgUmVuZGVyT2JqZWN0KiByZW5kZXJlcikKIHsKICAgICBpZiAo
IW1faW1hZ2UpCiAgICAgICAgIHJldHVybiAwOwotICAgIGlmICghbV9pbWFnZS0+aXNTVkdJbWFn
ZSgpKQorCisgICAgaWYgKCFyZW5kZXJlciB8fCAhbV9pbWFnZS0+dXNlc0NvbnRhaW5lclNpemUo
KSkKICAgICAgICAgcmV0dXJuIG1faW1hZ2UuZ2V0KCk7Ci0gICAgSW1hZ2UqIHVzZUltYWdlID0g
bV9zdmdJbWFnZUNhY2hlLT5sb29rdXBPckNyZWF0ZUJpdG1hcEltYWdlRm9yUmVuZGVyZXIocmVu
ZGVyZXIpOwotICAgIGlmICh1c2VJbWFnZSA9PSBJbWFnZTo6bnVsbEltYWdlKCkpCisKKyAgICBj
b25zdCBDYWNoZWRJbWFnZUNsaWVudCogY2xpZW50ID0gcmVuZGVyZXI7CisKKyAgICBJbWFnZVdp
dGhDb250YWluZXJTaXplKiBkYXRhID0gbV9jbGllbnREYXRhTWFwLmdldChjbGllbnQpOworICAg
IGlmICghZGF0YSkKICAgICAgICAgcmV0dXJuIG1faW1hZ2UuZ2V0KCk7Ci0gICAgcmV0dXJuIHVz
ZUltYWdlOwotfQotI2Vsc2UKLWlubGluZSBJbWFnZSogQ2FjaGVkSW1hZ2U6Omxvb2t1cE9yQ3Jl
YXRlSW1hZ2VGb3JSZW5kZXJlcihjb25zdCBSZW5kZXJPYmplY3QqKQotewotICAgIHJldHVybiBt
X2ltYWdlLmdldCgpOworCisgICAgcmV0dXJuIGRhdGEtPmdldEltYWdlKG1faW1hZ2UpOwogfQot
I2VuZGlmCiAKIEltYWdlKiBDYWNoZWRJbWFnZTo6aW1hZ2UoKQogewpAQCAtMTg2LDIwICsxODMs
MjUgQEAgSW1hZ2UqIENhY2hlZEltYWdlOjppbWFnZUZvclJlbmRlcmVyKGNvbnN0IFJlbmRlck9i
amVjdCogcmVuZGVyZXIpCiAKIHZvaWQgQ2FjaGVkSW1hZ2U6OnNldENvbnRhaW5lclNpemVGb3JS
ZW5kZXJlcihjb25zdCBSZW5kZXJPYmplY3QqIHJlbmRlcmVyLCBjb25zdCBJbnRTaXplJiBjb250
YWluZXJTaXplLCBmbG9hdCBjb250YWluZXJab29tKQogewotICAgIGlmICghbV9pbWFnZSB8fCBj
b250YWluZXJTaXplLmlzRW1wdHkoKSkKKyAgICBBU1NFUlQocmVuZGVyZXIpOworICAgIGlmIChj
b250YWluZXJTaXplLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwotI2lmIEVOQUJMRShTVkcp
Ci0gICAgaWYgKCFtX2ltYWdlLT5pc1NWR0ltYWdlKCkpIHsKLSAgICAgICAgbV9pbWFnZS0+c2V0
Q29udGFpbmVyU2l6ZShjb250YWluZXJTaXplKTsKKworICAgIC8vIElmIHRoZSBpbWFnZSBpcyBu
b3QgbG9hZGVkIHlldCwgd2UgZG9uJ3Qga25vdyBpZiB3ZSB3aWxsIG5lZWQgdGhlIGNvbnRhaW5l
ciBzaXplLgorICAgIGlmIChtX2ltYWdlICYmICFtX2ltYWdlLT51c2VzQ29udGFpbmVyU2l6ZSgp
KQogICAgICAgICByZXR1cm47CisKKyAgICBGbG9hdFNpemUgZmxvYXRTaXplKGNvbnRhaW5lclNp
emUpOworICAgIGZsb2F0U2l6ZS5zY2FsZSgxIC8gY29udGFpbmVyWm9vbSk7CisgICAgSW50U2l6
ZSBzY2FsZWRTaXplKHJvdW5kZWRJbnRTaXplKGZsb2F0U2l6ZSkpOworCisgICAgSW1hZ2VXaXRo
Q29udGFpbmVyU2l6ZSogZGF0YSA9IG1fY2xpZW50RGF0YU1hcC5nZXQocmVuZGVyZXIpOworICAg
IGlmICghZGF0YSkgeworICAgICAgICBkYXRhID0gbmV3IEltYWdlV2l0aENvbnRhaW5lclNpemUo
KTsKKyAgICAgICAgbV9jbGllbnREYXRhTWFwLnNldChyZW5kZXJlciwgYWRvcHRQdHIoZGF0YSkp
OwogICAgIH0KIAotICAgIG1fc3ZnSW1hZ2VDYWNoZS0+c2V0UmVxdWVzdGVkU2l6ZUFuZFNjYWxl
cyhyZW5kZXJlciwgU1ZHSW1hZ2VDYWNoZTo6U2l6ZUFuZFNjYWxlcyhjb250YWluZXJTaXplLCBj
b250YWluZXJab29tKSk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShyZW5kZXJlcik7Ci0gICAg
VU5VU0VEX1BBUkFNKGNvbnRhaW5lclpvb20pOwotICAgIG1faW1hZ2UtPnNldENvbnRhaW5lclNp
emUoY29udGFpbmVyU2l6ZSk7Ci0jZW5kaWYKKyAgICBkYXRhLT5zZXRDb250YWluZXJTaXplKHNj
YWxlZFNpemUpOwogfQogCiBib29sIENhY2hlZEltYWdlOjp1c2VzSW1hZ2VDb250YWluZXJTaXpl
KCkgY29uc3QKQEAgLTI0MCwyMSArMjQyLDE0IEBAIEludFNpemUgQ2FjaGVkSW1hZ2U6OmltYWdl
U2l6ZUZvclJlbmRlcmVyKGNvbnN0IFJlbmRlck9iamVjdCogcmVuZGVyZXIsIGZsb2F0IG11CiAg
ICAgZWxzZQogICAgICAgICBpbWFnZVNpemUgPSBtX2ltYWdlLT5zaXplKCk7CiAKLSNpZiBFTkFC
TEUoU1ZHKQotICAgIGlmIChtX2ltYWdlLT5pc1NWR0ltYWdlKCkpIHsKLSAgICAgICAgU1ZHSW1h
Z2VDYWNoZTo6U2l6ZUFuZFNjYWxlcyBzaXplQW5kU2NhbGVzID0gbV9zdmdJbWFnZUNhY2hlLT5y
ZXF1ZXN0ZWRTaXplQW5kU2NhbGVzKHJlbmRlcmVyKTsKLSAgICAgICAgaWYgKCFzaXplQW5kU2Nh
bGVzLnNpemUuaXNFbXB0eSgpKSB7Ci0gICAgICAgICAgICBmbG9hdCBzY2FsZSA9IHNpemVBbmRT
Y2FsZXMuc2NhbGU7Ci0gICAgICAgICAgICBpZiAoIXNjYWxlKSB7Ci0gICAgICAgICAgICAgICAg
UGFnZSogcGFnZSA9IHJlbmRlcmVyLT5kb2N1bWVudCgpLT5wYWdlKCk7Ci0gICAgICAgICAgICAg
ICAgc2NhbGUgPSBwYWdlLT5kZXZpY2VTY2FsZUZhY3RvcigpICogcGFnZS0+cGFnZVNjYWxlRmFj
dG9yKCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGltYWdlU2l6ZS5zZXRXaWR0aChz
Y2FsZSAqIHNpemVBbmRTY2FsZXMuc2l6ZS53aWR0aCgpIC8gc2l6ZUFuZFNjYWxlcy56b29tKTsK
LSAgICAgICAgICAgIGltYWdlU2l6ZS5zZXRIZWlnaHQoc2NhbGUgKiBzaXplQW5kU2NhbGVzLnNp
emUuaGVpZ2h0KCkgLyBzaXplQW5kU2NhbGVzLnpvb20pOworICAgIGlmIChtX2ltYWdlLT51c2Vz
Q29udGFpbmVyU2l6ZSgpKSB7CisgICAgICAgIEFTU0VSVChyZW5kZXJlcik7CisKKyAgICAgICAg
SW1hZ2VXaXRoQ29udGFpbmVyU2l6ZSogZGF0YSA9IG1fY2xpZW50RGF0YU1hcC5nZXQocmVuZGVy
ZXIpOworICAgICAgICBpZiAoZGF0YSkgeworICAgICAgICAgICAgaW1hZ2VTaXplID0gZGF0YS0+
c2l6ZSgpOwogICAgICAgICB9CiAgICAgfQotI2VuZGlmCiAKICAgICBpZiAobXVsdGlwbGllciA9
PSAxLjBmKQogICAgICAgICByZXR1cm4gaW1hZ2VTaXplOwpAQCAtMjk3LDkgKzI5Miw3IEBAIHZv
aWQgQ2FjaGVkSW1hZ2U6OmNoZWNrU2hvdWxkUGFpbnRCcm9rZW5JbWFnZSgpCiB2b2lkIENhY2hl
ZEltYWdlOjpjbGVhcigpCiB7CiAgICAgZGVzdHJveURlY29kZWREYXRhKCk7Ci0jaWYgRU5BQkxF
KFNWRykKLSAgICBtX3N2Z0ltYWdlQ2FjaGUuY2xlYXIoKTsKLSNlbmRpZgorICAgIG1fY2xpZW50
RGF0YU1hcC5jbGVhcigpOwogICAgIGNsZWFySW1hZ2UoKTsKICAgICBzZXRFbmNvZGVkU2l6ZSgw
KTsKIH0KQEAgLTMxNyw5ICszMTAsNyBAQCBpbmxpbmUgdm9pZCBDYWNoZWRJbWFnZTo6Y3JlYXRl
SW1hZ2UoKQogI2VuZGlmCiAjaWYgRU5BQkxFKFNWRykKICAgICBpZiAobV9yZXNwb25zZS5taW1l
VHlwZSgpID09ICJpbWFnZS9zdmcreG1sIikgewotICAgICAgICBSZWZQdHI8U1ZHSW1hZ2U+IHN2
Z0ltYWdlID0gU1ZHSW1hZ2U6OmNyZWF0ZSh0aGlzKTsKLSAgICAgICAgbV9zdmdJbWFnZUNhY2hl
ID0gU1ZHSW1hZ2VDYWNoZTo6Y3JlYXRlKHN2Z0ltYWdlLmdldCgpKTsKLSAgICAgICAgbV9pbWFn
ZSA9IHN2Z0ltYWdlLnJlbGVhc2UoKTsKKyAgICAgICAgbV9pbWFnZSA9IFNWR0ltYWdlOjpjcmVh
dGUodGhpcyk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAjZW5kaWYKQEAgLTMzMyw2ICszMjQs
OSBAQCBpbmxpbmUgdm9pZCBDYWNoZWRJbWFnZTo6Y2xlYXJJbWFnZSgpCiAgICAgaWYgKG1faW1h
Z2UpCiAgICAgICAgIG1faW1hZ2UtPnNldEltYWdlT2JzZXJ2ZXIoMCk7CiAgICAgbV9pbWFnZS5j
bGVhcigpOworCisgICAgZm9yIChDbGllbnREYXRhTWFwOjppdGVyYXRvciBpdCA9IG1fY2xpZW50
RGF0YU1hcC5iZWdpbigpOyBpdCAhPSBtX2NsaWVudERhdGFNYXAuZW5kKCk7ICsraXQpCisgICAg
ICAgIGl0LT52YWx1ZS0+Y2xlYXJJbWFnZSgpOwogfQogCiBzaXplX3QgQ2FjaGVkSW1hZ2U6Om1h
eGltdW1EZWNvZGVkSW1hZ2VTaXplKCkKQEAgLTQ1OSwxMyArNDUzLDYgQEAgdm9pZCBDYWNoZWRJ
bWFnZTo6Y2hhbmdlZEluUmVjdChjb25zdCBJbWFnZSogaW1hZ2UsIGNvbnN0IEludFJlY3QmIHJl
Y3QpCiB7CiAgICAgaWYgKCFpbWFnZSB8fCBpbWFnZSAhPSBtX2ltYWdlKQogICAgICAgICByZXR1
cm47Ci0jaWYgRU5BQkxFKFNWRykKLSAgICAvLyBXZSBoYXZlIHRvIHVwZGF0ZSB0aGUgY2FjaGVk
IEltYWdlQnVmZmVycyBpZiB0aGUgdW5kZXJseWluZyBjb250ZW50IGNoYW5nZWQuCi0gICAgaWYg
KGltYWdlLT5pc1NWR0ltYWdlKCkpIHsKLSAgICAgICAgbV9zdmdJbWFnZUNhY2hlLT5pbWFnZUNv
bnRlbnRDaGFuZ2VkKCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0jZW5kaWYKICAgICBub3Rp
ZnlPYnNlcnZlcnMoJnJlY3QpOwogfQogCkBAIC00NzQsOSArNDYxLDcgQEAgdm9pZCBDYWNoZWRJ
bWFnZTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5m
bykgY29uc3QKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlz
LCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNhY2hlZFJlc291cmNlSW1hZ2UpOwogICAgIENhY2hlZFJl
c291cmNlOjpyZXBvcnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKICAgICBpbmZvLmFk
ZE1lbWJlcihtX2ltYWdlKTsKLSNpZiBFTkFCTEUoU1ZHKQotICAgIGluZm8uYWRkTWVtYmVyKG1f
c3ZnSW1hZ2VDYWNoZSk7Ci0jZW5kaWYKKyAgICBpbmZvLmFkZE1lbWJlcihtX2NsaWVudERhdGFN
YXApOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRJbWFnZS5oCmluZGV4IDNjMTg5YjMwM2IzNTgxNWFlZDJiZmFkNjNiZjBlNGU4
M2QzMzI4ODMuLjIxMzAwNDQ0YWU4MzllMmNiZDVjODg1ZTQ1MmFkNWQ0MTMwYjIwOGUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRJbWFnZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRJbWFnZS5oCkBAIC0zLDYgKzMsNyBAQAog
ICAgIENvcHlyaWdodCAoQykgMjAwMSBEaXJrIE11ZWxsZXIgPG11ZWxsZXJAa2RlLm9yZz4KICAg
ICBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyAoc2FtLndlaW5pZ0BnbWFpbC5jb20p
CiAgICAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAgICBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlLCBJbmMuICBB
bGwgcmlnaHRzIHJlc2VydmVkLgogCiAgICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICAgIG1vZGlmeSBpdCB1bmRlciB0aGUg
dGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0yNCw4ICsyNSw4IEBA
CiAjZGVmaW5lIENhY2hlZEltYWdlX2gKIAogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlLmgiCi0j
aW5jbHVkZSAiU1ZHSW1hZ2VDYWNoZS5oIgogI2luY2x1ZGUgIkltYWdlT2JzZXJ2ZXIuaCIKKyNp
bmNsdWRlICJJbWFnZVdpdGhDb250YWluZXJTaXplLmgiCiAjaW5jbHVkZSAiSW50UmVjdC5oIgog
I2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIApAQCAtMTA2LDEwICsxMDcsMTEgQEAgcHJpdmF0ZToK
ICAgICB2b2lkIGNoZWNrU2hvdWxkUGFpbnRCcm9rZW5JbWFnZSgpOwogCiAgICAgUmVmUHRyPElt
YWdlPiBtX2ltYWdlOwotI2lmIEVOQUJMRShTVkcpCi0gICAgT3duUHRyPFNWR0ltYWdlQ2FjaGU+
IG1fc3ZnSW1hZ2VDYWNoZTsKLSNlbmRpZgogICAgIGJvb2wgbV9zaG91bGRQYWludEJyb2tlbklt
YWdlOworCisgICAgdHlwZWRlZiBIYXNoTWFwPGNvbnN0IENhY2hlZEltYWdlQ2xpZW50KiwgT3du
UHRyPEltYWdlV2l0aENvbnRhaW5lclNpemU+ID4gQ2xpZW50RGF0YU1hcDsKKworICAgIENsaWVu
dERhdGFNYXAgbV9jbGllbnREYXRhTWFwOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL0ltYWdlV2l0aENvbnRhaW5lclNpemUuaCBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9JbWFnZVdpdGhDb250YWluZXJTaXplLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTk2
N2E0NjY2OGM1Yjc4ZjRjYjU4MGY1ZjUwNmU1ZTY0N2RkNjg0NgotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9JbWFnZVdpdGhDb250YWluZXJTaXplLmgKQEAg
LTAsMCArMSwxMTQgQEAKKy8qCisgICAgQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSwgSW5jLiAg
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKworICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJl
OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAgICBtb2RpZnkgaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICAgIExpY2Vuc2UgYXMg
cHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICAgIHZl
cnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy
c2lvbi4KKworICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0
IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91
dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAgICBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UKKyAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJ
TkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgICAgQm9zdG9uLCBN
QSAwMjExMC0xMzAxLCBVU0EuCisqLworCisvKgorICAgIFRoaXMgY2xhc3MgcHJvdmlkZXMgYSB3
cmFwcGVyIGZvciBpbWFnZXMgdGhhdCBuZWVkIHRvIGhhdmUgYSBjb250YWluZXIgc2l6ZQorICAg
IHNldCBhY2NvcmRpbmcgdG8gdGhlIHJlbmRlcmVyIHRoYXQgdXNlcyB0aGVtICh1c3VhbGx5IFNW
RyBpbWFnZXMgd2l0aAorICAgIHJlbGF0aXZlIHNpemUpLgorKi8KKworI2lmbmRlZiBJbWFnZVdp
dGhDb250YWluZXJTaXplX2gKKyNkZWZpbmUgSW1hZ2VXaXRoQ29udGFpbmVyU2l6ZV9oCisKKyNp
bmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKKyNpbmNsdWRlICJJbWFnZS5oIgorI2luY2x1ZGUg
IlBsYXRmb3JtTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworY2xhc3MgSW1hZ2VXaXRoQ29udGFpbmVyU2l6ZSA6IHB1YmxpYyBJbWFnZSB7CitwdWJsaWM6
CisgICAgdmlydHVhbCB2b2lkIHNldENvbnRhaW5lclNpemUoY29uc3QgSW50U2l6ZSYgc2l6ZSkg
eyBtX3NpemUgPSBzaXplOyB9CisgICAgdmlydHVhbCBib29sIHVzZXNDb250YWluZXJTaXplKCkg
Y29uc3QgeyByZXR1cm4gdHJ1ZTsgfQorICAgIHZpcnR1YWwgYm9vbCBoYXNSZWxhdGl2ZVdpZHRo
KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQorICAgIHZpcnR1YWwgYm9vbCBoYXNSZWxhdGl2ZUhl
aWdodCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKyAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZUlu
dHJpbnNpY0RpbWVuc2lvbnMoTGVuZ3RoJiBpbnRyaW5zaWNXaWR0aCwgTGVuZ3RoJiBpbnRyaW5z
aWNIZWlnaHQsIEZsb2F0U2l6ZSYgaW50cmluc2ljUmF0aW8pCisgICAgeworICAgICAgICBpZiAo
IW1faW1hZ2UpCisgICAgICAgICAgICBJbWFnZTo6Y29tcHV0ZUludHJpbnNpY0RpbWVuc2lvbnMo
aW50cmluc2ljV2lkdGgsIGludHJpbnNpY0hlaWdodCwgaW50cmluc2ljUmF0aW8pOworICAgICAg
ICBlbHNlCisgICAgICAgICAgICBtX2ltYWdlLT5jb21wdXRlSW50cmluc2ljRGltZW5zaW9ucyhp
bnRyaW5zaWNXaWR0aCwgaW50cmluc2ljSGVpZ2h0LCBpbnRyaW5zaWNSYXRpbyk7CisgICAgfQor
CisgICAgdmlydHVhbCBJbnRTaXplIHNpemUoKSBjb25zdCB7IHJldHVybiBtX3NpemU7IH0KKwor
ICAgIHZpcnR1YWwgdm9pZCBkZXN0cm95RGVjb2RlZERhdGEoYm9vbCAvKmRlc3Ryb3lBbGwqLyA9
IHRydWUpIHsgfQorICAgIHZpcnR1YWwgdW5zaWduZWQgZGVjb2RlZFNpemUoKSBjb25zdCB7IHJl
dHVybiAwOyB9CisKKyAgICB2aXJ0dWFsIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2Jq
ZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKKyAgICB7CisgICAgICAgIE1lbW9yeUNs
YXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFBsYXRmb3JtTWVtb3J5VHlwZXM6
OkltYWdlKTsKKyAgICAgICAgSW1hZ2U6OnJlcG9ydE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdElu
Zm8pOworICAgIH0KKworICAgIHZpcnR1YWwgdm9pZCBkcmF3KEdyYXBoaWNzQ29udGV4dCogY29u
dGV4dCwgY29uc3QgRmxvYXRSZWN0JiBkc3RSZWN0LCBjb25zdCBGbG9hdFJlY3QmIHNyY1JlY3Qs
IENvbG9yU3BhY2Ugc3R5bGVDb2xvclNwYWNlLCBDb21wb3NpdGVPcGVyYXRvciBjb21wb3NpdGVP
cCkKKyAgICB7CisgICAgICAgIGlmICghbV9pbWFnZSkKKyAgICAgICAgICAgIHJldHVybjsKKwor
ICAgICAgICBtX2ltYWdlLT5zZXRDb250YWluZXJTaXplKG1fc2l6ZSk7CisKKyAgICAgICAgLy8g
RGlzYWJsZSBub3RpZmljYXRpb25zLgorICAgICAgICBJbWFnZU9ic2VydmVyICpvYnNlcnZlciA9
IG1faW1hZ2UtPmltYWdlT2JzZXJ2ZXIoKTsKKyAgICAgICAgbV9pbWFnZS0+c2V0SW1hZ2VPYnNl
cnZlcigwKTsKKworICAgICAgICBjb250ZXh0LT5kcmF3SW1hZ2UobV9pbWFnZS5nZXQoKSwgc3R5
bGVDb2xvclNwYWNlLCBkc3RSZWN0LCBzcmNSZWN0LCBjb21wb3NpdGVPcCk7CisKKyAgICAgICAg
Ly8gUmVlbmFibGUgbm90aWZpY2F0aW9ucy4KKyAgICAgICAgbV9pbWFnZS0+c2V0SW1hZ2VPYnNl
cnZlcihvYnNlcnZlcik7CisgICAgfQorCisgICAgdmlydHVhbCB2b2lkIGRyYXdQYXR0ZXJuKEdy
YXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgRmxvYXRSZWN0JiBzcmNSZWN0LCBjb25zdCBB
ZmZpbmVUcmFuc2Zvcm0mIHBhdHRlcm5UcmFuc2Zvcm0sCisgICAgICAgIGNvbnN0IEZsb2F0UG9p
bnQmIHBoYXNlLCBDb2xvclNwYWNlIHN0eWxlQ29sb3JTcGFjZSwgQ29tcG9zaXRlT3BlcmF0b3Ig
Y29tcG9zaXRlT3AsIGNvbnN0IEZsb2F0UmVjdCYgZGVzdFJlY3QpCisgICAgeworICAgICAgICBp
ZiAoIW1faW1hZ2UpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgbV9pbWFnZS0+c2V0
Q29udGFpbmVyU2l6ZShtX3NpemUpOworCisgICAgICAgIC8vIERpc2FibGUgbm90aWZpY2F0aW9u
cy4KKyAgICAgICAgSW1hZ2VPYnNlcnZlciAqb2JzZXJ2ZXIgPSBtX2ltYWdlLT5pbWFnZU9ic2Vy
dmVyKCk7CisgICAgICAgIG1faW1hZ2UtPnNldEltYWdlT2JzZXJ2ZXIoMCk7CisKKyAgICAgICAg
bV9pbWFnZS0+ZHJhd1BhdHRlcm4oY29udGV4dCwgc3JjUmVjdCwgcGF0dGVyblRyYW5zZm9ybSwg
cGhhc2UsIHN0eWxlQ29sb3JTcGFjZSwgY29tcG9zaXRlT3AsIGRlc3RSZWN0KTsKKworICAgICAg
ICAvLyBSZWVuYWJsZSBub3RpZmljYXRpb25zLgorICAgICAgICBtX2ltYWdlLT5zZXRJbWFnZU9i
c2VydmVyKG9ic2VydmVyKTsKKyAgICB9CisKKyAgICBJbWFnZSogZ2V0SW1hZ2UoUGFzc1JlZlB0
cjxJbWFnZT4gaW1hZ2VUb0VuY2Fwc3VsYXRlKQorICAgIHsKKyAgICAgICAgaWYgKCFtX2ltYWdl
KQorICAgICAgICAgICAgbV9pbWFnZSA9IGltYWdlVG9FbmNhcHN1bGF0ZTsKKworICAgICAgICBB
U1NFUlQobV9pbWFnZSA9PSBpbWFnZVRvRW5jYXBzdWxhdGUpOworICAgICAgICByZXR1cm4gdGhp
czsKKyAgICB9CisKKyAgICB2b2lkIGNsZWFySW1hZ2UoKQorICAgIHsKKyAgICAgICAgbV9pbWFn
ZS5jbGVhcigpOworICAgIH0KKworICAgIFJlZlB0cjxJbWFnZT4gbV9pbWFnZTsKKyAgICBJbnRT
aXplIG1fc2l6ZTsKK307CisKK30KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvSW1hZ2UuY3BwCmluZGV4IDc4ZTVlNDg2Mzc0NWQ3ODRjY2MyZjFiM2E3NzIxZWIyYTgw
YzFlZTEuLjUxN2M2MDgyMjNmYTk0NzEzNjU1OGZiMDUwNWExMzI1MDY0YjU1NDIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5jcHAKQEAgLTEwOSwxMCArMTA5LDYg
QEAgdm9pZCBJbWFnZTo6ZHJhd1RpbGVkKEdyYXBoaWNzQ29udGV4dCogY3R4dCwgY29uc3QgRmxv
YXRSZWN0JiBkZXN0UmVjdCwgY29uc3QgRmwKICNlbmRpZgogCiAgICAgRmxvYXRTaXplIGludHJp
bnNpY1RpbGVTaXplID0gc2l6ZSgpOwotICAgIGlmIChoYXNSZWxhdGl2ZVdpZHRoKCkpCi0gICAg
ICAgIGludHJpbnNpY1RpbGVTaXplLnNldFdpZHRoKHNjYWxlZFRpbGVTaXplLndpZHRoKCkpOwot
ICAgIGlmIChoYXNSZWxhdGl2ZUhlaWdodCgpKQotICAgICAgICBpbnRyaW5zaWNUaWxlU2l6ZS5z
ZXRIZWlnaHQoc2NhbGVkVGlsZVNpemUuaGVpZ2h0KCkpOwogCiAgICAgRmxvYXRTaXplIHNjYWxl
KHNjYWxlZFRpbGVTaXplLndpZHRoKCkgLyBpbnRyaW5zaWNUaWxlU2l6ZS53aWR0aCgpLAogICAg
ICAgICAgICAgICAgICAgICBzY2FsZWRUaWxlU2l6ZS5oZWlnaHQoKSAvIGludHJpbnNpY1RpbGVT
aXplLmhlaWdodCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJJbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCmlu
ZGV4IGU5NGZhM2ViZGE0NGJhMjM3NGQ0Y2E0NWU3NTFkOGM1YTE1NGUyYTkuLjFkNDkyYTNjOGI4
ZmRkNjdlMjAxYzhiYTI2ODA0NWIxZDg2NGVhZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckltYWdlLmNwcApAQCAtNDQ4LDYgKzQ0OCwxNyBAQCB2b2lkIFJlbmRlckltYWdlOjpw
YWludEludG9SZWN0KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgTGF5b3V0UmVjdCYg
cmVjdAogICAgIENvbXBvc2l0ZU9wZXJhdG9yIGNvbXBvc2l0ZU9wZXJhdG9yID0gaW1hZ2VFbHQg
PyBpbWFnZUVsdC0+Y29tcG9zaXRlT3BlcmF0b3IoKSA6IENvbXBvc2l0ZVNvdXJjZU92ZXI7CiAg
ICAgSW1hZ2UqIGltYWdlID0gbV9pbWFnZVJlc291cmNlLT5pbWFnZSgpLmdldCgpOwogICAgIGJv
b2wgdXNlTG93UXVhbGl0eVNjYWxpbmcgPSBzaG91bGRQYWludEF0TG93UXVhbGl0eShjb250ZXh0
LCBpbWFnZSwgaW1hZ2UsIGFsaWduZWRSZWN0LnNpemUoKSk7CisKKyNpZiBFTkFCTEUoU1ZHKQor
ICAgIGlmIChpbWFnZSAmJiBpbWFnZS0+aXNTVkdJbWFnZSgpKSB7CisgICAgICAgIFNWR0ltYWdl
KiBzdmdJbWFnZSA9IHN0YXRpY19jYXN0PFNWR0ltYWdlKj4oaW1hZ2UpOworICAgICAgICBGbG9h
dFJlY3Qgc3JjUmVjdCA9IGltYWdlLT5yZWN0KCk7CisgICAgICAgIEZsb2F0UmVjdCBkc3RSZWN0
ID0gYWxpZ25lZFJlY3Q7CisgICAgICAgIHN2Z0ltYWdlLT5wcmVzZXJ2ZUFzcGVjdFJhdGlvKGRz
dFJlY3QsIHNyY1JlY3QpOworICAgICAgICBjb250ZXh0LT5kcmF3SW1hZ2UoaW1hZ2UsIHN0eWxl
KCktPmNvbG9yU3BhY2UoKSwgZHN0UmVjdCwgc3JjUmVjdCwgY29tcG9zaXRlT3BlcmF0b3IsIHNo
b3VsZFJlc3BlY3RJbWFnZU9yaWVudGF0aW9uKCksIHVzZUxvd1F1YWxpdHlTY2FsaW5nKTsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKyNlbmRpZgogICAgIGNvbnRleHQtPmRyYXdJbWFnZShtX2lt
YWdlUmVzb3VyY2UtPmltYWdlKGFsaWduZWRSZWN0LndpZHRoKCksIGFsaWduZWRSZWN0LmhlaWdo
dCgpKS5nZXQoKSwgc3R5bGUoKS0+Y29sb3JTcGFjZSgpLCBhbGlnbmVkUmVjdCwgY29tcG9zaXRl
T3BlcmF0b3IsIHNob3VsZFJlc3BlY3RJbWFnZU9yaWVudGF0aW9uKCksIHVzZUxvd1F1YWxpdHlT
Y2FsaW5nKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ByZXNlcnZl
QXNwZWN0UmF0aW8uY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0
aW8uY3BwCmluZGV4IDZhMWNkMTRjNTA1NmU1MDZjYWJlYjM0MDQxYzRmYjFmNDk3ZDJhNWUuLmFm
ZWVmMzVmNjc0Njg1Nzc4Y2RhZTA0MzA5YTZiZGRiNzlmYTJhMDkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5jcHAKQEAgLTIyMCwxMiArMjIwLDEyIEBA
IHZvaWQgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbzo6dHJhbnNmb3JtUmVjdChGbG9hdFJlY3QmIGRl
c3RSZWN0LCBGbG9hdFJlY3QmIHNyY1JlCiAgICAgICAgICAgICBjYXNlIFNWR1ByZXNlcnZlQXNw
ZWN0UmF0aW86OlNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSU5ZTUlEOgogICAgICAgICAgICAg
Y2FzZSBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvOjpTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlE
WU1JRDoKICAgICAgICAgICAgIGNhc2UgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbzo6U1ZHX1BSRVNF
UlZFQVNQRUNUUkFUSU9fWE1BWFlNSUQ6Ci0gICAgICAgICAgICAgICAgc3JjUmVjdC5zZXRZKGRl
c3RSZWN0LnkoKSArIGltYWdlU2l6ZS5oZWlnaHQoKSAvIDIgLSBzcmNSZWN0LmhlaWdodCgpIC8g
Mik7CisgICAgICAgICAgICAgICAgc3JjUmVjdC5zZXRZKHNyY1JlY3QueSgpICsgaW1hZ2VTaXpl
LmhlaWdodCgpIC8gMiAtIHNyY1JlY3QuaGVpZ2h0KCkgLyAyKTsKICAgICAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgICAgIGNhc2UgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbzo6U1ZHX1BSRVNF
UlZFQVNQRUNUUkFUSU9fWE1JTllNQVg6CiAgICAgICAgICAgICBjYXNlIFNWR1ByZXNlcnZlQXNw
ZWN0UmF0aW86OlNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSURZTUFYOgogICAgICAgICAgICAg
Y2FzZSBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvOjpTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUFY
WU1BWDoKLSAgICAgICAgICAgICAgICBzcmNSZWN0LnNldFkoZGVzdFJlY3QueSgpICsgaW1hZ2VT
aXplLmhlaWdodCgpIC0gc3JjUmVjdC5oZWlnaHQoKSk7CisgICAgICAgICAgICAgICAgc3JjUmVj
dC5zZXRZKHNyY1JlY3QueSgpICsgaW1hZ2VTaXplLmhlaWdodCgpIC0gc3JjUmVjdC5oZWlnaHQo
KSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAg
ICAgICAgICAgIGJyZWFrOwpAQCAtMjM5LDEyICsyMzksMTIgQEAgdm9pZCBTVkdQcmVzZXJ2ZUFz
cGVjdFJhdGlvOjp0cmFuc2Zvcm1SZWN0KEZsb2F0UmVjdCYgZGVzdFJlY3QsIEZsb2F0UmVjdCYg
c3JjUmUKICAgICAgICAgICAgIGNhc2UgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbzo6U1ZHX1BSRVNF
UlZFQVNQRUNUUkFUSU9fWE1JRFlNSU46CiAgICAgICAgICAgICBjYXNlIFNWR1ByZXNlcnZlQXNw
ZWN0UmF0aW86OlNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSURZTUlEOgogICAgICAgICAgICAg
Y2FzZSBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvOjpTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlE
WU1BWDoKLSAgICAgICAgICAgICAgICBzcmNSZWN0LnNldFgoZGVzdFJlY3QueCgpICsgaW1hZ2VT
aXplLndpZHRoKCkgLyAyIC0gc3JjUmVjdC53aWR0aCgpIC8gMik7CisgICAgICAgICAgICAgICAg
c3JjUmVjdC5zZXRYKHNyY1JlY3QueCgpICsgaW1hZ2VTaXplLndpZHRoKCkgLyAyIC0gc3JjUmVj
dC53aWR0aCgpIC8gMik7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNl
IFNWR1ByZXNlcnZlQXNwZWN0UmF0aW86OlNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNQVhZTUlO
OgogICAgICAgICAgICAgY2FzZSBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvOjpTVkdfUFJFU0VSVkVB
U1BFQ1RSQVRJT19YTUFYWU1JRDoKICAgICAgICAgICAgIGNhc2UgU1ZHUHJlc2VydmVBc3BlY3RS
YXRpbzo6U1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1BWFlNQVg6Ci0gICAgICAgICAgICAgICAg
c3JjUmVjdC5zZXRYKGRlc3RSZWN0LngoKSArIGltYWdlU2l6ZS53aWR0aCgpIC0gc3JjUmVjdC53
aWR0aCgpKTsKKyAgICAgICAgICAgICAgICBzcmNSZWN0LnNldFgoc3JjUmVjdC54KCkgKyBpbWFn
ZVNpemUud2lkdGgoKSAtIHNyY1JlY3Qud2lkdGgoKSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAKaW5kZXggNmE3NmZhMzhjNWU3NTM2Yjg3NDE0
NzJiYTRhOTBhZmM4N2JiOWJkNC4uZjA4YzM5M2E4ZTQ1YzM0MzVlYjQ3Y2VhN2NjNDYzMTJiMDUz
ODYzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwCkBAIC0yLDYg
KzIsNyBAQAogICogQ29weXJpZ2h0IChDKSAyMDA2IEVyaWMgU2VpZGVsIDxlcmljQHdlYmtpdC5v
cmc+CiAgKiBDb3B5cmlnaHQgKEMpIDIwMDgsIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICogQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZCAyMDEx
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAg
LTMyLDYgKzMzLDcgQEAKIAogI2luY2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgiCiAjaW5jbHVkZSAi
RW1wdHlDbGllbnRzLmgiCisjaW5jbHVkZSAiRmxvYXRSZWN0LmgiCiAjaW5jbHVkZSAiRnJhbWVW
aWV3LmgiCiAjaW5jbHVkZSAiSW1hZ2VCdWZmZXIuaCIKICNpbmNsdWRlICJJbWFnZU9ic2VydmVy
LmgiCkBAIC02Miw4ICs2NCwxMSBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlk
YXRlQ29udGVudHNBbmRSb290Vmlldyhjb25zdCBJbnRSZWN0JiByLCBib29sKQogICAgIHsKICAg
ICAgICAgLy8gSWYgbV9pbWFnZS0+bV9wYWdlIGlzIG51bGwsIHdlJ3JlIGJlaW5nIGRlc3RydWN0
ZWQsIGRvbid0IGZpcmUgY2hhbmdlZEluUmVjdCgpIGluIHRoYXQgY2FzZS4KLSAgICAgICAgaWYg
KG1faW1hZ2UgJiYgbV9pbWFnZS0+aW1hZ2VPYnNlcnZlcigpICYmIG1faW1hZ2UtPm1fcGFnZSkK
LSAgICAgICAgICAgIG1faW1hZ2UtPmltYWdlT2JzZXJ2ZXIoKS0+Y2hhbmdlZEluUmVjdChtX2lt
YWdlLCByKTsKKyAgICAgICAgaWYgKG1faW1hZ2UgJiYgbV9pbWFnZS0+bV9wYWdlKSB7CisgICAg
ICAgICAgICBpZiAobV9pbWFnZS0+aW1hZ2VPYnNlcnZlcigpKQorICAgICAgICAgICAgICAgIG1f
aW1hZ2UtPmltYWdlT2JzZXJ2ZXIoKS0+Y2hhbmdlZEluUmVjdChtX2ltYWdlLCByKTsKKyAgICAg
ICAgICAgIG1faW1hZ2UtPmludmFsaWRhdGVDYWNoZSgpOworICAgICAgICB9CiAgICAgfQogCiAg
ICAgU1ZHSW1hZ2UqIG1faW1hZ2U7CkBAIC04NiwxMCArOTEsMzAgQEAgU1ZHSW1hZ2U6On5TVkdJ
bWFnZSgpCiAgICAgQVNTRVJUKCFtX2Nocm9tZUNsaWVudCB8fCAhbV9jaHJvbWVDbGllbnQtPmlt
YWdlKCkpOwogfQogCi12b2lkIFNWR0ltYWdlOjpzZXRDb250YWluZXJTaXplKGNvbnN0IEludFNp
emUmKQordm9pZCBTVkdJbWFnZTo6c2V0Q29udGFpbmVyU2l6ZShjb25zdCBJbnRTaXplJiBzaXpl
KQogewotICAgIC8vIFNWR0ltYWdlQ2FjaGUgYWxyZWFkeSBpbnRlcmNlcHRlZCB0aGlzIGNhbGws
IGFzIGl0IHN0b3JlcyAmIGNhY2hlcyB0aGUgZGVzaXJlZCBjb250YWluZXIgc2l6ZXMgJiB6b29t
IGxldmVscy4KLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICBpZiAoIW1fcGFnZSB8fCAh
dXNlc0NvbnRhaW5lclNpemUoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgRnJhbWUqIGZyYW1l
ID0gbV9wYWdlLT5tYWluRnJhbWUoKTsKKyAgICBTVkdTVkdFbGVtZW50KiByb290RWxlbWVudCA9
IHN0YXRpY19jYXN0PFNWR0RvY3VtZW50Kj4oZnJhbWUtPmRvY3VtZW50KCkpLT5yb290RWxlbWVu
dCgpOworICAgIGlmICghcm9vdEVsZW1lbnQpCisgICAgICAgIHJldHVybjsKKyAgICBSZW5kZXJT
VkdSb290KiByZW5kZXJlciA9IHRvUmVuZGVyU1ZHUm9vdChyb290RWxlbWVudC0+cmVuZGVyZXIo
KSk7CisgICAgaWYgKCFyZW5kZXJlcikKKyAgICAgICAgcmV0dXJuOworCisgICAgRnJhbWVWaWV3
KiB2aWV3ID0gZnJhbWVWaWV3KCk7CisgICAgLy8gSWYgYSBsYXlvdXQgaXMgcGVuZGluZywgdHJp
Z2dlciBpdCBub3cgc28gdGhhdCBub3RpZmljYXRpb25zIGdldCBzZW50LgorICAgIGlmICh2aWV3
LT5uZWVkc0xheW91dCgpKQorICAgICAgICB2aWV3LT5sYXlvdXQoKTsKKworICAgIHJlbmRlcmVy
LT5zZXRDb250YWluZXJTaXplKHNpemUpOworfQorCitib29sIFNWR0ltYWdlOjp1c2VzQ29udGFp
bmVyU2l6ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGhhc1JlbGF0aXZlV2lkdGgoKSB8fCBoYXNS
ZWxhdGl2ZUhlaWdodCgpOwogfQogCiBJbnRTaXplIFNWR0ltYWdlOjpzaXplKCkgY29uc3QKQEAg
LTEyMCw4MyArMTQ1LDUzIEBAIEludFNpemUgU1ZHSW1hZ2U6OnNpemUoKSBjb25zdAogICAgICAg
ICBjdXJyZW50U2l6ZSA9IHJvb3RFbGVtZW50LT5jdXJyZW50Vmlld0JveFJlY3QoKS5zaXplKCk7
CiAKICAgICBpZiAoIWN1cnJlbnRTaXplLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuIEludFNp
emUoc3RhdGljX2Nhc3Q8aW50PihjZWlsZihjdXJyZW50U2l6ZS53aWR0aCgpKSksIHN0YXRpY19j
YXN0PGludD4oY2VpbGYoY3VycmVudFNpemUuaGVpZ2h0KCkpKSk7CisgICAgICAgIHJldHVybiBl
eHBhbmRlZEludFNpemUoY3VycmVudFNpemUpOwogCiAgICAgLy8gQXMgbGFzdCByZXNvcnQsIHVz
ZSBDU1MgZGVmYXVsdCBpbnRyaW5zaWMgc2l6ZS4KICAgICByZXR1cm4gSW50U2l6ZSgzMDAsIDE1
MCk7CiB9CiAKLXZvaWQgU1ZHSW1hZ2U6OmRyYXdTVkdUb0ltYWdlQnVmZmVyKEltYWdlQnVmZmVy
KiBidWZmZXIsIGNvbnN0IEludFNpemUmIHNpemUsIGZsb2F0IHpvb20sIGZsb2F0IHNjYWxlLCBT
aG91bGRDbGVhckJ1ZmZlciBzaG91bGRDbGVhcikKK3ZvaWQgU1ZHSW1hZ2U6OmRyYXcoR3JhcGhp
Y3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBGbG9hdFJlY3QmIGRzdFJlY3QsIGNvbnN0IEZsb2F0
UmVjdCYgc3JjUmVjdCwgQ29sb3JTcGFjZSBjb2xvclNwYWNlLCBDb21wb3NpdGVPcGVyYXRvciBj
b21wb3NpdGVPcCkKIHsKLSAgICAvLyBGSVhNRTogVGhpcyBkb2Vzbid0IHdvcmsgY29ycmVjdGx5
IHdpdGggYW5pbWF0aW9ucy4gSWYgYW4gaW1hZ2UgY29udGFpbnMgYW5pbWF0aW9ucywgdGhhdCBz
YXkgcnVuIGZvciAyIHNlY29uZHMsCi0gICAgLy8gYW5kIHdlIGN1cnJlbnRseSBoYXZlIG9uZSA8
aW1nPiB0aGF0IGRpc3BsYXlzIHVzLiBJZiB3ZSBvcGVuIGFub3RoZXIgZG9jdW1lbnQgcmVmZXJl
bmNpbmcgdGhlIHNhbWUgU1ZHSW1hZ2UgaXQKLSAgICAvLyB3aWxsIGRpc3BsYXkgdGhlIGRvY3Vt
ZW50IGF0IGEgdGltZSB3aGVyZSBhbmltYXRpb25zIGFscmVhZHkgcmFuIC0gZXZlbiB0aG91Z2gg
aXQgaGFzIGl0cyBvd24gSW1hZ2VCdWZmZXIuCi0gICAgLy8gV2UgY3VycmVudGx5IGRvbid0IGlt
cGxlbWVudCBTVkdTVkdFbGVtZW50OjpzZXRDdXJyZW50VGltZSwgYW5kIGNhbiBOT1QgZ28gYmFj
ayBpbiB0aW1lLCBvbmNlIGFuaW1hdGlvbnMgc3RhcnRlZC4KLSAgICAvLyBUaGVyZSdzIG5vIHdh
eSB0byBmaXggdGhpcyBiZXNpZGVzIGF2b2lkaW5nIHN0eWxlL2F0dHJpYnV0ZSBtdXRhdGlvbnMg
ZnJvbSBTVkdBbmltYXRpb25FbGVtZW50LgotICAgIEFTU0VSVChidWZmZXIpOwotICAgIEFTU0VS
VCghc2l6ZS5pc0VtcHR5KCkpOwotCiAgICAgaWYgKCFtX3BhZ2UpCiAgICAgICAgIHJldHVybjsK
IAotICAgIEZyYW1lKiBmcmFtZSA9IG1fcGFnZS0+bWFpbkZyYW1lKCk7Ci0gICAgU1ZHU1ZHRWxl
bWVudCogcm9vdEVsZW1lbnQgPSBzdGF0aWNfY2FzdDxTVkdEb2N1bWVudCo+KGZyYW1lLT5kb2N1
bWVudCgpKS0+cm9vdEVsZW1lbnQoKTsKLSAgICBpZiAoIXJvb3RFbGVtZW50KQotICAgICAgICBy
ZXR1cm47Ci0gICAgUmVuZGVyU1ZHUm9vdCogcmVuZGVyZXIgPSB0b1JlbmRlclNWR1Jvb3Qocm9v
dEVsZW1lbnQtPnJlbmRlcmVyKCkpOwotICAgIGlmICghcmVuZGVyZXIpCi0gICAgICAgIHJldHVy
bjsKLQotICAgIC8vIERyYXcgaW1hZ2UgYXQgcmVxdWVzdGVkIHNpemUuCi0gICAgSW1hZ2VPYnNl
cnZlciogb2JzZXJ2ZXIgPSBpbWFnZU9ic2VydmVyKCk7Ci0gICAgQVNTRVJUKG9ic2VydmVyKTsK
LQotICAgIC8vIFRlbXBvcmFyaWx5IHJlc2V0IGltYWdlIG9ic2VydmVyLCB3ZSBkb24ndCB3YW50
IHRvIHJlY2VpdmUgYW55IGNoYW5nZUluUmVjdCgpIGNhbGxzIGR1ZSB0byB0aGlzIHJlbGF5b3V0
LgotICAgIHNldEltYWdlT2JzZXJ2ZXIoMCk7Ci0KLSAgICAvLyBEaXNhYmxlIHJlcGFpbnRpbmc7
IHdlIGRvbid0IHdhbnQgZGVmZXJyZWQgcmVwYWludHMgdG8gc2NoZWR1bGUgYW55IHRpbWVycyBk
dWUgdG8gdGhpcyByZWxheW91dC4KLSAgICBmcmFtZS0+dmlldygpLT5iZWdpbkRpc2FibGVSZXBh
aW50cygpOworICAgIEFmZmluZVRyYW5zZm9ybSB0cmFuc2Zvcm0gPSBjb250ZXh0LT5nZXRDVE0o
KTsKKyAgICBGbG9hdFNpemUgc2NhbGUoZHN0UmVjdC53aWR0aCgpICogdHJhbnNmb3JtLnhTY2Fs
ZSgpIC8gc3JjUmVjdC53aWR0aCgpLCBkc3RSZWN0LmhlaWdodCgpICogdHJhbnNmb3JtLnlTY2Fs
ZSgpIC8gc3JjUmVjdC5oZWlnaHQoKSk7CiAKLSAgICByZW5kZXJlci0+c2V0Q29udGFpbmVyU2l6
ZShzaXplKTsKLSAgICBmcmFtZS0+dmlldygpLT5yZXNpemUodGhpcy0+c2l6ZSgpKTsKLQotICAg
IGlmICh6b29tICE9IDEpCi0gICAgICAgIGZyYW1lLT5zZXRQYWdlWm9vbUZhY3Rvcih6b29tKTsK
LQotICAgIC8vIEV2ZW50dWFsbHkgY2xlYXIgaW1hZ2UgYnVmZmVyLgotICAgIEludFJlY3QgcmVj
dChJbnRQb2ludCgpLCBzaXplKTsKKyAgICBSZWZQdHI8SW1hZ2U+IGNhY2hlZEltYWdlID0gY2Fj
aGVkSW1hZ2VBdFNjYWxlKHNjYWxlKTsKKyAgICBpZiAoY2FjaGVkSW1hZ2UpIHsKKyAgICAgICAg
RmxvYXRSZWN0IHNyY1NjYWxlZChzcmNSZWN0KTsKKyAgICAgICAgc3JjU2NhbGVkLnNjYWxlKHNj
YWxlLndpZHRoKCksIHNjYWxlLmhlaWdodCgpKTsKIAotICAgIEZsb2F0UmVjdCBzY2FsZWRSZWN0
KHJlY3QpOwotICAgIHNjYWxlZFJlY3Quc2NhbGUoc2NhbGUpOwotCi0gICAgaWYgKHNob3VsZENs
ZWFyID09IENsZWFySW1hZ2VCdWZmZXIpCi0gICAgICAgIGJ1ZmZlci0+Y29udGV4dCgpLT5jbGVh
clJlY3QoZW5jbG9zaW5nSW50UmVjdChzY2FsZWRSZWN0KSk7CisgICAgICAgIGNvbnRleHQtPmRy
YXdJbWFnZShjYWNoZWRJbWFnZS5nZXQoKSwgY29sb3JTcGFjZSwgZHN0UmVjdCwgc3JjU2NhbGVk
LCBjb21wb3NpdGVPcCk7CisgICAgfQorfQogCi0gICAgLy8gRHJhdyBTVkcgb24gdG9wIG9mIElt
YWdlQnVmZmVyLgotICAgIGRyYXcoYnVmZmVyLT5jb250ZXh0KCksIGVuY2xvc2luZ0ludFJlY3Qo
c2NhbGVkUmVjdCksIHJlY3QsIENvbG9yU3BhY2VEZXZpY2VSR0IsIENvbXBvc2l0ZVNvdXJjZU92
ZXIpOwordm9pZCBTVkdJbWFnZTo6ZHJhd1BhdHRlcm4oR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0
LCBjb25zdCBGbG9hdFJlY3QmIHNyY1JlY3QsIGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgcGF0dGVy
blRyYW5zZm9ybSwKKyAgICBjb25zdCBGbG9hdFBvaW50JiBwaGFzZSwgQ29sb3JTcGFjZSBjb2xv
clNwYWNlLCBDb21wb3NpdGVPcGVyYXRvciBjb21wb3NpdGVPcCwgY29uc3QgRmxvYXRSZWN0JiBk
c3RSZWN0KQoreworICAgIGlmICghbV9wYWdlKQorICAgICAgICByZXR1cm47CiAKLSAgICAvLyBS
ZXNldCBjb250YWluZXIgc2l6ZSAmIHpvb20gdG8gaW5pdGlhbCBzdGF0ZS4gT3RoZXJ3aGlzZSB0
aGUgc2l6ZSgpIG9mIHRoaXMKLSAgICAvLyBpbWFnZSB3b3VsZCByZXR1cm4gd2hhdGV2ZXIgbGFz
dCBzaXplIHdhcyBzZXQgYnkgZHJhd1NWR1RvSW1hZ2VCdWZmZXIoKS4KLSAgICBpZiAoem9vbSAh
PSAxKQotICAgICAgICBmcmFtZS0+c2V0UGFnZVpvb21GYWN0b3IoMSk7CisgICAgQWZmaW5lVHJh
bnNmb3JtIHRyYW5zZm9ybSA9IGNvbnRleHQtPmdldENUTSgpOworICAgIHRyYW5zZm9ybS5tdWx0
aXBseShwYXR0ZXJuVHJhbnNmb3JtKTsKKyAgICBGbG9hdFNpemUgc2NhbGUodHJhbnNmb3JtLnhT
Y2FsZSgpLCB0cmFuc2Zvcm0ueVNjYWxlKCkpOwogCi0gICAgcmVuZGVyZXItPnNldENvbnRhaW5l
clNpemUoSW50U2l6ZSgpKTsKLSAgICBmcmFtZS0+dmlldygpLT5yZXNpemUodGhpcy0+c2l6ZSgp
KTsKLSAgICBpZiAoZnJhbWUtPnZpZXcoKS0+bmVlZHNMYXlvdXQoKSkKLSAgICAgICAgZnJhbWUt
PnZpZXcoKS0+bGF5b3V0KCk7CisgICAgUmVmUHRyPEltYWdlPiBjYWNoZWRJbWFnZSA9IGNhY2hl
ZEltYWdlQXRTY2FsZShzY2FsZSk7CisgICAgaWYgKGNhY2hlZEltYWdlKSB7CisgICAgICAgIEZs
b2F0UmVjdCBzcmNTY2FsZWQoc3JjUmVjdCk7CisgICAgICAgIHNyY1NjYWxlZC5zY2FsZShzY2Fs
ZS53aWR0aCgpLCBzY2FsZS5oZWlnaHQoKSk7CiAKLSAgICBzZXRJbWFnZU9ic2VydmVyKG9ic2Vy
dmVyKTsKKyAgICAgICAgQWZmaW5lVHJhbnNmb3JtIGFkanVzdGVkUGF0dGVybkNUTSA9IHBhdHRl
cm5UcmFuc2Zvcm07CisgICAgICAgIGFkanVzdGVkUGF0dGVybkNUTS5zY2FsZSgxLjAgLyBzY2Fs
ZS53aWR0aCgpLCAxLjAgLyBzY2FsZS5oZWlnaHQoKSk7CiAKLSAgICBmcmFtZS0+dmlldygpLT5l
bmREaXNhYmxlUmVwYWludHMoKTsKKyAgICAgICAgY2FjaGVkSW1hZ2UtPmRyYXdQYXR0ZXJuKGNv
bnRleHQsIHNyY1NjYWxlZCwgYWRqdXN0ZWRQYXR0ZXJuQ1RNLCBwaGFzZSwgY29sb3JTcGFjZSwg
Y29tcG9zaXRlT3AsIGRzdFJlY3QpOworICAgIH0KIH0KIAotdm9pZCBTVkdJbWFnZTo6ZHJhdyhH
cmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEZsb2F0UmVjdCYgZHN0UmVjdCwgY29uc3Qg
RmxvYXRSZWN0JiBzcmNSZWN0LCBDb2xvclNwYWNlLCBDb21wb3NpdGVPcGVyYXRvciBjb21wb3Np
dGVPcCkKK3ZvaWQgU1ZHSW1hZ2U6OnVuY2FjaGVkRHJhdyhHcmFwaGljc0NvbnRleHQqIGNvbnRl
eHQsIGNvbnN0IEZsb2F0UmVjdCYgZHN0UmVjdCwgY29uc3QgRmxvYXRSZWN0JiBzcmNSZWN0LCBD
b2xvclNwYWNlLCBDb21wb3NpdGVPcGVyYXRvciBjb21wb3NpdGVPcCkKIHsKLSAgICBpZiAoIW1f
cGFnZSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgRnJhbWVWaWV3KiB2aWV3ID0gZnJhbWVWaWV3
KCk7Ci0KICAgICBHcmFwaGljc0NvbnRleHRTdGF0ZVNhdmVyIHN0YXRlU2F2ZXIoKmNvbnRleHQp
OwogICAgIGNvbnRleHQtPnNldENvbXBvc2l0ZU9wZXJhdGlvbihjb21wb3NpdGVPcCk7CiAgICAg
Y29udGV4dC0+Y2xpcChlbmNsb3NpbmdJbnRSZWN0KGRzdFJlY3QpKTsKQEAgLTIxMywxMiArMjA4
LDggQEAgdm9pZCBTVkdJbWFnZTo6ZHJhdyhHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0
IEZsb2F0UmVjdCYgZHN0UmVjdCwgY29uc3QgRmwKICAgICBjb250ZXh0LT50cmFuc2xhdGUoZGVz
dE9mZnNldC54KCksIGRlc3RPZmZzZXQueSgpKTsKICAgICBjb250ZXh0LT5zY2FsZShzY2FsZSk7
CiAKLSAgICB2aWV3LT5yZXNpemUoc2l6ZSgpKTsKLQotICAgIGlmICh2aWV3LT5uZWVkc0xheW91
dCgpKQotICAgICAgICB2aWV3LT5sYXlvdXQoKTsKLQotICAgIHZpZXctPnBhaW50KGNvbnRleHQs
IEludFJlY3QoMCwgMCwgdmlldy0+d2lkdGgoKSwgdmlldy0+aGVpZ2h0KCkpKTsKKyAgICBGcmFt
ZVZpZXcqIHZpZXcgPSBmcmFtZVZpZXcoKTsKKyAgICBmcmFtZVZpZXcoKS0+cGFpbnQoY29udGV4
dCwgSW50UmVjdCgwLCAwLCB2aWV3LT53aWR0aCgpLCB2aWV3LT5oZWlnaHQoKSkpOwogCiAgICAg
aWYgKGNvbXBvc2l0ZU9wICE9IENvbXBvc2l0ZVNvdXJjZU92ZXIpCiAgICAgICAgIGNvbnRleHQt
PmVuZFRyYW5zcGFyZW5jeUxheWVyKCk7CkBAIC0yNDAsNiArMjMxLDE3IEBAIFJlbmRlckJveCog
U1ZHSW1hZ2U6OmVtYmVkZGVkQ29udGVudEJveCgpIGNvbnN0CiAgICAgcmV0dXJuIHRvUmVuZGVy
Qm94KHJvb3RFbGVtZW50LT5yZW5kZXJlcigpKTsKIH0KIAordm9pZCBTVkdJbWFnZTo6cHJlc2Vy
dmVBc3BlY3RSYXRpbyhGbG9hdFJlY3QmIGRlc3RSZWN0LCBGbG9hdFJlY3QmIHNyY1JlY3QpIGNv
bnN0Cit7CisgICAgaWYgKCFtX3BhZ2UgfHwgaGFzUmVsYXRpdmVXaWR0aCgpIHx8IGhhc1JlbGF0
aXZlSGVpZ2h0KCkpCisgICAgICAgIHJldHVybjsKKyAgICBGcmFtZSogZnJhbWUgPSBtX3BhZ2Ut
Pm1haW5GcmFtZSgpOworICAgIFNWR1NWR0VsZW1lbnQqIHJvb3RFbGVtZW50ID0gc3RhdGljX2Nh
c3Q8U1ZHRG9jdW1lbnQqPihmcmFtZS0+ZG9jdW1lbnQoKSktPnJvb3RFbGVtZW50KCk7CisgICAg
aWYgKCFyb290RWxlbWVudCkKKyAgICAgICAgcmV0dXJuOworICAgIHJvb3RFbGVtZW50LT5wcmVz
ZXJ2ZUFzcGVjdFJhdGlvKCkudHJhbnNmb3JtUmVjdChkZXN0UmVjdCwgc3JjUmVjdCk7Cit9CisK
IEZyYW1lVmlldyogU1ZHSW1hZ2U6OmZyYW1lVmlldygpIGNvbnN0CiB7CiAgICAgaWYgKCFtX3Bh
Z2UpCkBAIC0yODksMjEgKzI5MSw0NCBAQCB2b2lkIFNWR0ltYWdlOjpjb21wdXRlSW50cmluc2lj
RGltZW5zaW9ucyhMZW5ndGgmIGludHJpbnNpY1dpZHRoLCBMZW5ndGgmIGludHJpbgogICAgICAg
ICBpbnRyaW5zaWNSYXRpbyA9IEZsb2F0U2l6ZShmbG9hdFZhbHVlRm9yTGVuZ3RoKGludHJpbnNp
Y1dpZHRoLCAwKSwgZmxvYXRWYWx1ZUZvckxlbmd0aChpbnRyaW5zaWNIZWlnaHQsIDApKTsKIH0K
IAotTmF0aXZlSW1hZ2VQdHIgU1ZHSW1hZ2U6Om5hdGl2ZUltYWdlRm9yQ3VycmVudEZyYW1lKCkK
K1Bhc3NSZWZQdHI8SW1hZ2U+IFNWR0ltYWdlOjpjYWNoZWRJbWFnZUF0U2NhbGUoY29uc3QgRmxv
YXRTaXplJiBzY2FsZSkKIHsKLSAgICAvLyBGSVhNRTogSW4gb3JkZXIgdG8gc3VwcG9ydCBkeW5h
bWljIFNWR3Mgd2UgbmVlZCB0byBoYXZlIGEgd2F5IHRvIGludmFsaWRhdGUgdGhpcwotICAgIC8v
IGZyYW1lIGNhY2hlLCBvciBiZXR0ZXIgeWV0LCBub3QgdXNlIGEgY2FjaGUgZm9yIHRpbGVkIGRy
YXdpbmcgYXQgYWxsLCBpbnN0ZWFkCi0gICAgLy8gaGF2aW5nIGEgdGlsZWQgZHJhd2luZyBjYWxs
YmFjayAoaG9wZWZ1bGx5IG5vbi12aXJ0dWFsKS4KLSAgICBpZiAoIW1fZnJhbWVDYWNoZSkgewot
ICAgICAgICBpZiAoIW1fcGFnZSkKLSAgICAgICAgICAgIHJldHVybiAwOwotICAgICAgICBPd25Q
dHI8SW1hZ2VCdWZmZXI+IGJ1ZmZlciA9IEltYWdlQnVmZmVyOjpjcmVhdGUoc2l6ZSgpLCAxKTsK
LSAgICAgICAgaWYgKCFidWZmZXIpIC8vIGZhaWxlZCB0byBhbGxvY2F0ZSBpbWFnZQotICAgICAg
ICAgICAgcmV0dXJuIDA7Ci0gICAgICAgIGRyYXcoYnVmZmVyLT5jb250ZXh0KCksIHJlY3QoKSwg
cmVjdCgpLCBDb2xvclNwYWNlRGV2aWNlUkdCLCBDb21wb3NpdGVTb3VyY2VPdmVyKTsKLSAgICAg
ICAgbV9mcmFtZUNhY2hlID0gYnVmZmVyLT5jb3B5SW1hZ2UoQ29weUJhY2tpbmdTdG9yZSk7Ci0g
ICAgfQotICAgIHJldHVybiBtX2ZyYW1lQ2FjaGUtPm5hdGl2ZUltYWdlRm9yQ3VycmVudEZyYW1l
KCk7CisgICAgaWYgKCFtX3BhZ2UpCisgICAgICAgIHJldHVybiAwOworCisgICAgLy8gRG8gc2l6
aW5nIGFuZCBsYXlvdXQgYmVmb3JlIGNoZWNraW5nIHRoZSBjYWNoZSB0byBiZSBhYmxlIHRvIGlu
dmFsaWRhdGUgaXQgaWYgc29tZXRoaW5nIGhhcyBjaGFuZ2VkLgorICAgIEZyYW1lVmlldyogdmll
dyA9IGZyYW1lVmlldygpOworICAgIHZpZXctPnJlc2l6ZShzaXplKCkpOworCisgICAgaWYgKHZp
ZXctPm5lZWRzTGF5b3V0KCkpCisgICAgICAgIHZpZXctPmxheW91dCgpOworCisgICAgUmVmUHRy
PEltYWdlPiBpbWFnZSA9IG1fc2NhbGVUb0NhY2hlZEJpdG1hcE1hcC5nZXQoc2NhbGUpOworICAg
IGlmICghIWltYWdlKQorICAgICAgICByZXR1cm4gaW1hZ2U7CisKKyAgICAvLyBUT0RPOiBGaWd1
cmUgb3V0IGlmIGNhY2hpbmcgY2FuIGJlIGRlbGF5ZWQuCisgICAgLy8gVE9ETzogQ2xlYW4gdXAg
Y2FjaGUgdGhhdCdzIG5vdCBsaWtlbHkgdG8gYmUgdXNlZCBhbnkgbW9yZS4KKworICAgIEZsb2F0
U2l6ZSBzY2FsZWRTaXplKHNpemUoKSk7CisgICAgc2NhbGVkU2l6ZS5zY2FsZShzY2FsZS53aWR0
aCgpLCBzY2FsZS5oZWlnaHQoKSk7CisKKyAgICBPd25QdHI8SW1hZ2VCdWZmZXI+IGJ1ZmZlciA9
IEltYWdlQnVmZmVyOjpjcmVhdGUoZXhwYW5kZWRJbnRTaXplKHNjYWxlZFNpemUpLCAxKTsKKyAg
ICBpZiAoIWJ1ZmZlcikgLy8gZmFpbGVkIHRvIGFsbG9jYXRlIGltYWdlCisgICAgICAgIHJldHVy
biAwOworCisgICAgLy8gRHJhdyBpbWFnZSBhdCByZXF1ZXN0ZWQgc2l6ZS4KKyAgICB1bmNhY2hl
ZERyYXcoYnVmZmVyLT5jb250ZXh0KCksIEZsb2F0UmVjdChGbG9hdFBvaW50KCksIHNjYWxlZFNp
emUpLCByZWN0KCksIENvbG9yU3BhY2VEZXZpY2VSR0IsIENvbXBvc2l0ZVNvdXJjZU92ZXIpOwor
ICAgIGltYWdlID0gYnVmZmVyLT5jb3B5SW1hZ2UoQ29weUJhY2tpbmdTdG9yZSk7CisKKyAgICBt
X3NjYWxlVG9DYWNoZWRCaXRtYXBNYXAuc2V0KHNjYWxlLCBpbWFnZSk7CisKKyAgICByZXR1cm4g
aW1hZ2U7Cit9CisKK3ZvaWQgU1ZHSW1hZ2U6OmludmFsaWRhdGVDYWNoZSgpCit7CisgICAgbV9z
Y2FsZVRvQ2FjaGVkQml0bWFwTWFwLmNsZWFyKCk7CiB9CiAKIGJvb2wgU1ZHSW1hZ2U6OmRhdGFD
aGFuZ2VkKGJvb2wgYWxsRGF0YVJlY2VpdmVkKQpAQCAtMzYxLDcgKzM4Niw3IEBAIHZvaWQgU1ZH
SW1hZ2U6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdElu
Zm8pIGNvbnN0CiAgICAgSW1hZ2U6OnJlcG9ydE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8p
OwogICAgIGluZm8uYWRkTWVtYmVyKG1fY2hyb21lQ2xpZW50KTsKICAgICBpbmZvLmFkZE1lbWJl
cihtX3BhZ2UpOwotICAgIGluZm8uYWRkTWVtYmVyKG1fZnJhbWVDYWNoZSk7CisgICAgaW5mby5h
ZGRNZW1iZXIobV9zY2FsZVRvQ2FjaGVkQml0bWFwTWFwKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuaAppbmRleCAzNmIzMmJhYTEyYTIyNDUyOGNiY2E2MmNjN2U1
NWM4ZWJiYTE3MjBmLi5mYTlkOTZkY2FhMzFkZjhiNTJlYjY2ZDAwZjZiODcyMDZlY2IzMGY5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuaApAQCAtMSw2ICsxLDcgQEAKIC8q
CiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgRXJpYyBTZWlkZWwgPGVyaWNAd2Via2l0Lm9yZz4KICAq
IENvcHlyaWdodCAoQykgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjksNyArMzAsMTEgQEAKIAogI2lmIEVOQUJM
RShTVkcpCiAKKyNpbmNsdWRlICJGbG9hdFNpemUuaCIKICNpbmNsdWRlICJJbWFnZS5oIgorI2lu
Y2x1ZGUgPGxpbWl0cz4KKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9I
YXNoVHJhaXRzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDYsMTMgKzUxLDggQEAg
cHVibGljOgogICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNWR0ltYWdlKG9ic2VydmVyKSk7
CiAgICAgfQogCi0gICAgZW51bSBTaG91bGRDbGVhckJ1ZmZlciB7Ci0gICAgICAgIENsZWFySW1h
Z2VCdWZmZXIsCi0gICAgICAgIERvbnRDbGVhckltYWdlQnVmZmVyCi0gICAgfTsKLQotICAgIHZv
aWQgZHJhd1NWR1RvSW1hZ2VCdWZmZXIoSW1hZ2VCdWZmZXIqLCBjb25zdCBJbnRTaXplJiwgZmxv
YXQgem9vbSwgZmxvYXQgc2NhbGUsIFNob3VsZENsZWFyQnVmZmVyKTsKICAgICBSZW5kZXJCb3gq
IGVtYmVkZGVkQ29udGVudEJveCgpIGNvbnN0OworICAgIHZvaWQgcHJlc2VydmVBc3BlY3RSYXRp
byhGbG9hdFJlY3QmIGRlc3RSZWN0LCBGbG9hdFJlY3QmIHNyY1JlY3QpIGNvbnN0OwogICAgIEZy
YW1lVmlldyogZnJhbWVWaWV3KCkgY29uc3Q7CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNTVkdJbWFn
ZSgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KQEAgLTYzLDE0ICs2MywxNSBAQCBwdWJsaWM6CiAK
ICAgICB2aXJ0dWFsIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyopIGNv
bnN0IE9WRVJSSURFOwogCisgICAgdmlydHVhbCB2b2lkIHNldENvbnRhaW5lclNpemUoY29uc3Qg
SW50U2l6ZSYpOworICAgIHZpcnR1YWwgYm9vbCB1c2VzQ29udGFpbmVyU2l6ZSgpIGNvbnN0Owor
CiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBTVkdJbWFnZUNocm9tZUNsaWVudDsKICAgICB2
aXJ0dWFsIH5TVkdJbWFnZSgpOwogCiAgICAgdmlydHVhbCBTdHJpbmcgZmlsZW5hbWVFeHRlbnNp
b24oKSBjb25zdDsKIAotICAgIHZpcnR1YWwgdm9pZCBzZXRDb250YWluZXJTaXplKGNvbnN0IElu
dFNpemUmKTsKLSAgICB2aXJ0dWFsIGJvb2wgdXNlc0NvbnRhaW5lclNpemUoKSBjb25zdCB7IHJl
dHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCB2b2lkIGNvbXB1dGVJbnRyaW5zaWNEaW1lbnNpb25z
KExlbmd0aCYgaW50cmluc2ljV2lkdGgsIExlbmd0aCYgaW50cmluc2ljSGVpZ2h0LCBGbG9hdFNp
emUmIGludHJpbnNpY1JhdGlvKTsKIAogICAgIHZpcnR1YWwgYm9vbCBkYXRhQ2hhbmdlZChib29s
IGFsbERhdGFSZWNlaXZlZCk7CkBAIC04NCwxMiArODUsNDYgQEAgcHJpdmF0ZToKIAogICAgIFNW
R0ltYWdlKEltYWdlT2JzZXJ2ZXIqKTsKICAgICB2aXJ0dWFsIHZvaWQgZHJhdyhHcmFwaGljc0Nv
bnRleHQqLCBjb25zdCBGbG9hdFJlY3QmIGZyb21SZWN0LCBjb25zdCBGbG9hdFJlY3QmIHRvUmVj
dCwgQ29sb3JTcGFjZSBzdHlsZUNvbG9yU3BhY2UsIENvbXBvc2l0ZU9wZXJhdG9yKTsKKyAgICB2
aXJ0dWFsIHZvaWQgZHJhd1BhdHRlcm4oR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgRmxvYXRSZWN0
JiBzcmNSZWN0LCBjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIHBhdHRlcm5UcmFuc2Zvcm0sCisgICAg
ICAgIGNvbnN0IEZsb2F0UG9pbnQmIHBoYXNlLCBDb2xvclNwYWNlIHN0eWxlQ29sb3JTcGFjZSwg
Q29tcG9zaXRlT3BlcmF0b3IsIGNvbnN0IEZsb2F0UmVjdCYgZGVzdFJlY3QpOwogCi0gICAgdmly
dHVhbCBOYXRpdmVJbWFnZVB0ciBuYXRpdmVJbWFnZUZvckN1cnJlbnRGcmFtZSgpOworICAgIHZv
aWQgdW5jYWNoZWREcmF3KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UmVjdCYgZnJvbVJl
Y3QsIGNvbnN0IEZsb2F0UmVjdCYgdG9SZWN0LCBDb2xvclNwYWNlIHN0eWxlQ29sb3JTcGFjZSwg
Q29tcG9zaXRlT3BlcmF0b3IpOworICAgIFBhc3NSZWZQdHI8SW1hZ2U+IGNhY2hlZEltYWdlQXRT
Y2FsZShjb25zdCBGbG9hdFNpemUgJnNjYWxlKTsKKyAgICB2b2lkIGludmFsaWRhdGVDYWNoZSgp
OwogCiAgICAgT3duUHRyPFNWR0ltYWdlQ2hyb21lQ2xpZW50PiBtX2Nocm9tZUNsaWVudDsKICAg
ICBPd25QdHI8UGFnZT4gbV9wYWdlOwotICAgIFJlZlB0cjxJbWFnZT4gbV9mcmFtZUNhY2hlOwor
CisgICAgc3RydWN0IEZsb2F0U2l6ZUhhc2ggeworICAgICAgICBzdGF0aWMgdW5zaWduZWQgaGFz
aChjb25zdCBGbG9hdFNpemUmIGtleSkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIFN0
cmluZ0hhc2hlcjo6aGFzaE1lbW9yeTxzaXplb2YoRmxvYXRTaXplKT4oJmtleSk7CisgICAgICAg
IH0KKworICAgICAgICBzdGF0aWMgYm9vbCBlcXVhbChjb25zdCBGbG9hdFNpemUmIGEsIGNvbnN0
IEZsb2F0U2l6ZSYgYikKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGEgPT0gYjsKKyAg
ICAgICAgfQorCisgICAgICAgIHN0YXRpYyBjb25zdCBib29sIHNhZmVUb0NvbXBhcmVUb0VtcHR5
T3JEZWxldGVkID0gdHJ1ZTsKKyAgICB9OworCisgICAgc3RydWN0IEZsb2F0U2l6ZUhhc2hUcmFp
dHMgOiBXVEY6OkdlbmVyaWNIYXNoVHJhaXRzPEZsb2F0U2l6ZT4geworICAgICAgICBzdGF0aWMg
Y29uc3QgYm9vbCBlbXB0eVZhbHVlSXNaZXJvID0gdHJ1ZTsKKworICAgICAgICBzdGF0aWMgdm9p
ZCBjb25zdHJ1Y3REZWxldGVkVmFsdWUoRmxvYXRTaXplJiBzbG90KQorICAgICAgICB7CisgICAg
ICAgICAgICBuZXcgKE5vdE51bGwsICZzbG90KSBGbG9hdFNpemUoc3RkOjpudW1lcmljX2xpbWl0
czxmbG9hdD46OmluZmluaXR5KCksIHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjppbmZpbml0
eSgpKTsKKyAgICAgICAgfQorCisgICAgICAgIHN0YXRpYyBib29sIGlzRGVsZXRlZFZhbHVlKGNv
bnN0IEZsb2F0U2l6ZSYgdmFsdWUpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiB2YWx1
ZSA9PSBGbG9hdFNpemUoc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46OmluZmluaXR5KCksIHN0
ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjppbmZpbml0eSgpKTsKKyAgICAgICAgfQorICAgIH07
CisKKyAgICB0eXBlZGVmIEhhc2hNYXA8RmxvYXRTaXplLCBSZWZQdHI8SW1hZ2U+LCBGbG9hdFNp
emVIYXNoLCBGbG9hdFNpemVIYXNoVHJhaXRzPiBTaXplVG9JbWFnZU1hcDsKKyAgICBTaXplVG9J
bWFnZU1hcCBtX3NjYWxlVG9DYWNoZWRCaXRtYXBNYXA7CiB9OwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2VDYWNoZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2VDYWNoZS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDM1OGYyY2FhODdmZGFkMzgzYWU5ZDcxMTYxY2FhNTIxMDc3NGEyNWYuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUv
c3ZnL2dyYXBoaWNzL1NWR0ltYWdlQ2FjaGUuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMTkwICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0
ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29m
dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVy
IHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2Ug
YXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICog
dmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2
ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0
aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo
b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hv
dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJ
TkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
biwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEg
MDIxMTAtMTMwMSwgVVNBLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJT
VkdJbWFnZUNhY2hlLmgiCi0KLSNpZiBFTkFCTEUoU1ZHKQotI2luY2x1ZGUgIkNhY2hlZEltYWdl
LmgiCi0jaW5jbHVkZSAiRnJhbWVWaWV3LmgiCi0jaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0Lmgi
Ci0jaW5jbHVkZSAiSW1hZ2VCdWZmZXIuaCIKLSNpbmNsdWRlICJQYWdlLmgiCi0jaW5jbHVkZSAi
UmVuZGVyU1ZHUm9vdC5oIgotI2luY2x1ZGUgIlNWR0ltYWdlLmgiCi0KLW5hbWVzcGFjZSBXZWJD
b3JlIHsKLQotU1ZHSW1hZ2VDYWNoZTo6U1ZHSW1hZ2VDYWNoZShTVkdJbWFnZSogc3ZnSW1hZ2Up
Ci0gICAgOiBtX3N2Z0ltYWdlKHN2Z0ltYWdlKQotICAgICwgbV9yZWRyYXdUaW1lcih0aGlzLCAm
U1ZHSW1hZ2VDYWNoZTo6cmVkcmF3VGltZXJGaXJlZCkKLXsKLSAgICBBU1NFUlQobV9zdmdJbWFn
ZSk7Ci19Ci0KLVNWR0ltYWdlQ2FjaGU6On5TVkdJbWFnZUNhY2hlKCkKLXsKLSAgICBtX3NpemVB
bmRTY2FsZXNNYXAuY2xlYXIoKTsKLQotICAgIEltYWdlRGF0YU1hcDo6aXRlcmF0b3IgZW5kID0g
bV9pbWFnZURhdGFNYXAuZW5kKCk7Ci0gICAgZm9yIChJbWFnZURhdGFNYXA6Oml0ZXJhdG9yIGl0
ID0gbV9pbWFnZURhdGFNYXAuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgIC8v
IENoZWNrcyBpZiB0aGUgY2xpZW50IChpdC0+a2V5KSBpcyBzdGlsbCB2YWxpZC4gVGhlIGNsaWVu
dCBzaG91bGQgcmVtb3ZlIGl0c2VsZiBmcm9tIHRoaXMKLSAgICAgICAgLy8gY2FjaGUgYmVmb3Jl
IGl0cyBlbmQgb2YgbGlmZSwgb3RoZXJ3aXNlIHRoZSBmb2xsb3dpbmcgQVNTRVJUIHdpbGwgY3Jh
c2ggb24gcHVyZSB2aXJ0dWFsCi0gICAgICAgIC8vIGZ1bmN0aW9uIGNhbGwgb3IgYSBnZW5lcmFs
IGNyYXNoLgotICAgICAgICBBU1NFUlQoaXQtPmtleS0+cmVzb3VyY2VDbGllbnRUeXBlKCkgPT0g
Q2FjaGVkSW1hZ2VDbGllbnQ6OmV4cGVjdGVkVHlwZSgpKTsKLSAgICAgICAgZGVsZXRlIGl0LT52
YWx1ZS5idWZmZXI7Ci0gICAgfQotCi0gICAgbV9pbWFnZURhdGFNYXAuY2xlYXIoKTsKLX0KLQot
dm9pZCBTVkdJbWFnZUNhY2hlOjpyZW1vdmVDbGllbnRGcm9tQ2FjaGUoY29uc3QgQ2FjaGVkSW1h
Z2VDbGllbnQqIGNsaWVudCkKLXsKLSAgICBBU1NFUlQoY2xpZW50KTsKLSAgICBtX3NpemVBbmRT
Y2FsZXNNYXAucmVtb3ZlKGNsaWVudCk7Ci0KLSAgICBJbWFnZURhdGFNYXA6Oml0ZXJhdG9yIGl0
ID0gbV9pbWFnZURhdGFNYXAuZmluZChjbGllbnQpOwotICAgIGlmIChpdCA9PSBtX2ltYWdlRGF0
YU1hcC5lbmQoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgZGVsZXRlIGl0LT52YWx1ZS5idWZm
ZXI7Ci0gICAgbV9pbWFnZURhdGFNYXAucmVtb3ZlKGl0KTsKLX0KLQotdm9pZCBTVkdJbWFnZUNh
Y2hlOjpzZXRSZXF1ZXN0ZWRTaXplQW5kU2NhbGVzKGNvbnN0IENhY2hlZEltYWdlQ2xpZW50KiBj
bGllbnQsIGNvbnN0IFNpemVBbmRTY2FsZXMmIHNpemVBbmRTY2FsZXMpCi17Ci0gICAgQVNTRVJU
KGNsaWVudCk7Ci0gICAgQVNTRVJUKCFzaXplQW5kU2NhbGVzLnNpemUuaXNFbXB0eSgpKTsKLSAg
ICBtX3NpemVBbmRTY2FsZXNNYXAuc2V0KGNsaWVudCwgc2l6ZUFuZFNjYWxlcyk7Ci19Ci0KLVNW
R0ltYWdlQ2FjaGU6OlNpemVBbmRTY2FsZXMgU1ZHSW1hZ2VDYWNoZTo6cmVxdWVzdGVkU2l6ZUFu
ZFNjYWxlcyhjb25zdCBDYWNoZWRJbWFnZUNsaWVudCogY2xpZW50KSBjb25zdAotewotICAgIGlm
ICghY2xpZW50KQotICAgICAgICByZXR1cm4gU2l6ZUFuZFNjYWxlcygpOwotICAgIFNpemVBbmRT
Y2FsZXNNYXA6OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbV9zaXplQW5kU2NhbGVzTWFwLmZpbmQoY2xp
ZW50KTsKLSAgICBpZiAoaXQgPT0gbV9zaXplQW5kU2NhbGVzTWFwLmVuZCgpKQotICAgICAgICBy
ZXR1cm4gU2l6ZUFuZFNjYWxlcygpOwotICAgIHJldHVybiBpdC0+dmFsdWU7Ci19Ci0KLXZvaWQg
U1ZHSW1hZ2VDYWNoZTo6aW1hZ2VDb250ZW50Q2hhbmdlZCgpCi17Ci0gICAgSW1hZ2VEYXRhTWFw
OjppdGVyYXRvciBlbmQgPSBtX2ltYWdlRGF0YU1hcC5lbmQoKTsKLSAgICBmb3IgKEltYWdlRGF0
YU1hcDo6aXRlcmF0b3IgaXQgPSBtX2ltYWdlRGF0YU1hcC5iZWdpbigpOyBpdCAhPSBlbmQ7ICsr
aXQpCi0gICAgICAgIGl0LT52YWx1ZS5pbWFnZU5lZWRzVXBkYXRlID0gdHJ1ZTsKLQotICAgIC8v
IElmIHdlJ3JlIGluIHRoZSBtaWRkbGUgb2YgbGF5b3V0LCBzdGFydCByZWRyYXdpbmcgZGlydHkK
LSAgICAvLyBpbWFnZXMgb24gYSB0aW1lcjsgb3RoZXJ3aXNlIGl0J3Mgc2FmZSB0byBkcmF3IGlt
bWVkaWF0ZWx5LgotICAgIEZyYW1lVmlldyogZnJhbWVWaWV3ID0gbV9zdmdJbWFnZS0+ZnJhbWVW
aWV3KCk7Ci0gICAgaWYgKGZyYW1lVmlldyAmJiAoZnJhbWVWaWV3LT5uZWVkc0xheW91dCgpIHx8
IGZyYW1lVmlldy0+aXNJbkxheW91dCgpKSkgewotICAgICAgICBpZiAoIW1fcmVkcmF3VGltZXIu
aXNBY3RpdmUoKSkKLSAgICAgICAgICAgIG1fcmVkcmF3VGltZXIuc3RhcnRPbmVTaG90KDApOwot
ICAgIH0gZWxzZQotICAgICAgIHJlZHJhdygpOwotfQotCi12b2lkIFNWR0ltYWdlQ2FjaGU6OnJl
ZHJhdygpCi17Ci0gICAgSW1hZ2VEYXRhTWFwOjppdGVyYXRvciBlbmQgPSBtX2ltYWdlRGF0YU1h
cC5lbmQoKTsKLSAgICBmb3IgKEltYWdlRGF0YU1hcDo6aXRlcmF0b3IgaXQgPSBtX2ltYWdlRGF0
YU1hcC5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAgSW1hZ2VEYXRhJiBkYXRh
ID0gaXQtPnZhbHVlOwotICAgICAgICBpZiAoIWRhdGEuaW1hZ2VOZWVkc1VwZGF0ZSkKLSAgICAg
ICAgICAgIGNvbnRpbnVlOwotICAgICAgICAvLyBJZiB0aGUgY29udGVudCBjaGFuZ2VkIHdlIHJl
ZHJhdyB1c2luZyBvdXIgZXhpc3RpbmcgSW1hZ2VCdWZmZXIuCi0gICAgICAgIEFTU0VSVChkYXRh
LmJ1ZmZlcik7Ci0gICAgICAgIEFTU0VSVChkYXRhLmltYWdlKTsKLSAgICAgICAgbV9zdmdJbWFn
ZS0+ZHJhd1NWR1RvSW1hZ2VCdWZmZXIoZGF0YS5idWZmZXIsIGRhdGEuc2l6ZUFuZFNjYWxlcy5z
aXplLCBkYXRhLnNpemVBbmRTY2FsZXMuem9vbSwgZGF0YS5zaXplQW5kU2NhbGVzLnNjYWxlLCBT
VkdJbWFnZTo6Q2xlYXJJbWFnZUJ1ZmZlcik7Ci0gICAgICAgIGRhdGEuaW1hZ2UgPSBkYXRhLmJ1
ZmZlci0+Y29weUltYWdlKENvcHlCYWNraW5nU3RvcmUpOwotICAgICAgICBkYXRhLmltYWdlTmVl
ZHNVcGRhdGUgPSBmYWxzZTsKLSAgICB9Ci0gICAgQVNTRVJUKG1fc3ZnSW1hZ2UtPmltYWdlT2Jz
ZXJ2ZXIoKSk7Ci0gICAgbV9zdmdJbWFnZS0+aW1hZ2VPYnNlcnZlcigpLT5hbmltYXRpb25BZHZh
bmNlZChtX3N2Z0ltYWdlKTsKLX0KLQotdm9pZCBTVkdJbWFnZUNhY2hlOjpyZWRyYXdUaW1lckZp
cmVkKFRpbWVyPFNWR0ltYWdlQ2FjaGU+KikKLXsKLSAgICAvLyBXZSBoYXZlIG5vIGd1YXJhbnRl
ZSB0aGF0IHRoZSBmcmFtZSBkb2VzIG5vdCByZXF1aXJlIGxheW91dCB3aGVuIHRoZSB0aW1lciBm
aXJlZC4KLSAgICAvLyBTbyBiZSBzdXJlIHRvIGNoZWNrIGFnYWluIGluIGNhc2UgaXQgaXMgc3Rp
bGwgbm90IHNhZmUgdG8gcnVuIHJlZHJhdy4KLSAgICBGcmFtZVZpZXcqIGZyYW1lVmlldyA9IG1f
c3ZnSW1hZ2UtPmZyYW1lVmlldygpOwotICAgIGlmIChmcmFtZVZpZXcgJiYgKGZyYW1lVmlldy0+
bmVlZHNMYXlvdXQoKSB8fCBmcmFtZVZpZXctPmlzSW5MYXlvdXQoKSkpIHsKLSAgICAgICAgaWYg
KCFtX3JlZHJhd1RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgICAgICBtX3JlZHJhd1RpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKLSAgICB9IGVsc2UKLSAgICAgICByZWRyYXcoKTsKLX0KLQotSW1hZ2Uq
IFNWR0ltYWdlQ2FjaGU6Omxvb2t1cE9yQ3JlYXRlQml0bWFwSW1hZ2VGb3JSZW5kZXJlcihjb25z
dCBSZW5kZXJPYmplY3QqIHJlbmRlcmVyKQotewotICAgIGlmICghcmVuZGVyZXIpCi0gICAgICAg
IHJldHVybiBJbWFnZTo6bnVsbEltYWdlKCk7Ci0KLSAgICBjb25zdCBDYWNoZWRJbWFnZUNsaWVu
dCogY2xpZW50ID0gcmVuZGVyZXI7Ci0KLSAgICAvLyBUaGUgY2FjaGUgbmVlZHMgdG8ga25vdyB0
aGUgc2l6ZSBvZiB0aGUgcmVuZGVyZXIgYmVmb3JlIHF1ZXJ5aW5nIGFuIGltYWdlIGZvciBpdC4K
LSAgICBTaXplQW5kU2NhbGVzTWFwOjppdGVyYXRvciBzaXplSXQgPSBtX3NpemVBbmRTY2FsZXNN
YXAuZmluZChyZW5kZXJlcik7Ci0gICAgaWYgKHNpemVJdCA9PSBtX3NpemVBbmRTY2FsZXNNYXAu
ZW5kKCkpCi0gICAgICAgIHJldHVybiBJbWFnZTo6bnVsbEltYWdlKCk7Ci0KLSAgICBJbnRTaXpl
IHNpemUgPSBzaXplSXQtPnZhbHVlLnNpemU7Ci0gICAgZmxvYXQgem9vbSA9IHNpemVJdC0+dmFs
dWUuem9vbTsKLSAgICBmbG9hdCBzY2FsZSA9IHNpemVJdC0+dmFsdWUuc2NhbGU7Ci0KLSAgICAv
LyBGSVhNRSAoODUzMzUpOiBUaGlzIG5lZWRzIHRvIHRha2UgQ1NTIHRyYW5zZm9ybSBzY2FsZSBp
bnRvIGFjY291bnQgYXMgd2VsbC4KLSAgICBQYWdlKiBwYWdlID0gcmVuZGVyZXItPmRvY3VtZW50
KCktPnBhZ2UoKTsKLSAgICBpZiAoIXNjYWxlKQotICAgICAgICBzY2FsZSA9IHBhZ2UtPmRldmlj
ZVNjYWxlRmFjdG9yKCkgKiBwYWdlLT5wYWdlU2NhbGVGYWN0b3IoKTsKLQotICAgIEFTU0VSVCgh
c2l6ZS5pc0VtcHR5KCkpOwotCi0gICAgLy8gTG9va3VwIGltYWdlIGZvciBjbGllbnQgaW4gY2Fj
aGUgYW5kIGV2ZW50dWFsbHkgdXBkYXRlIGl0LgotICAgIEltYWdlRGF0YU1hcDo6aXRlcmF0b3Ig
aXQgPSBtX2ltYWdlRGF0YU1hcC5maW5kKGNsaWVudCk7Ci0gICAgaWYgKGl0ICE9IG1faW1hZ2VE
YXRhTWFwLmVuZCgpKSB7Ci0gICAgICAgIEltYWdlRGF0YSYgZGF0YSA9IGl0LT52YWx1ZTsKLQot
ICAgICAgICAvLyBDb21tb24gY2FzZTogaW1hZ2Ugc2l6ZSAmIHpvb20gcmVtYWluZWQgdGhlIHNh
bWUuCi0gICAgICAgIGlmIChkYXRhLnNpemVBbmRTY2FsZXMuc2l6ZSA9PSBzaXplICYmIGRhdGEu
c2l6ZUFuZFNjYWxlcy56b29tID09IHpvb20gJiYgZGF0YS5zaXplQW5kU2NhbGVzLnNjYWxlID09
IHNjYWxlKQotICAgICAgICAgICAgcmV0dXJuIGRhdGEuaW1hZ2UuZ2V0KCk7Ci0KLSAgICAgICAg
Ly8gSWYgdGhlIGltYWdlIHNpemUgZm9yIHRoZSBjbGllbnQgY2hhbmdlZCwgd2UgaGF2ZSB0byBk
ZWxldGUgdGhlIGJ1ZmZlciwgcmVtb3ZlIHRoZSBpdGVtIGZyb20gdGhlIGNhY2hlIGFuZCByZWNy
ZWF0ZSBpdC4KLSAgICAgICAgZGVsZXRlIGRhdGEuYnVmZmVyOwotICAgICAgICBtX2ltYWdlRGF0
YU1hcC5yZW1vdmUoaXQpOwotICAgIH0KLQotICAgIEZsb2F0U2l6ZSBzY2FsZWRTaXplKHNpemUp
OwotICAgIHNjYWxlZFNpemUuc2NhbGUoc2NhbGUpOwotCi0gICAgLy8gQ3JlYXRlIGFuZCBjYWNo
ZSBuZXcgaW1hZ2UgYW5kIGltYWdlIGJ1ZmZlciBhdCByZXF1ZXN0ZWQgc2l6ZS4KLSAgICBPd25Q
dHI8SW1hZ2VCdWZmZXI+IG5ld0J1ZmZlciA9IEltYWdlQnVmZmVyOjpjcmVhdGUoZXhwYW5kZWRJ
bnRTaXplKHNjYWxlZFNpemUpLCAxKTsKLSAgICBpZiAoIW5ld0J1ZmZlcikKLSAgICAgICAgcmV0
dXJuIEltYWdlOjpudWxsSW1hZ2UoKTsKLQotICAgIG1fc3ZnSW1hZ2UtPmRyYXdTVkdUb0ltYWdl
QnVmZmVyKG5ld0J1ZmZlci5nZXQoKSwgc2l6ZSwgem9vbSwgc2NhbGUsIFNWR0ltYWdlOjpEb250
Q2xlYXJJbWFnZUJ1ZmZlcik7Ci0KLSAgICBSZWZQdHI8SW1hZ2U+IG5ld0ltYWdlID0gbmV3QnVm
ZmVyLT5jb3B5SW1hZ2UoQ29weUJhY2tpbmdTdG9yZSk7Ci0gICAgSW1hZ2UqIG5ld0ltYWdlUHRy
ID0gbmV3SW1hZ2UuZ2V0KCk7Ci0gICAgQVNTRVJUKG5ld0ltYWdlUHRyKTsKLQotICAgIG1faW1h
Z2VEYXRhTWFwLmFkZChjbGllbnQsIEltYWdlRGF0YShuZXdCdWZmZXIubGVha1B0cigpLCBuZXdJ
bWFnZS5yZWxlYXNlKCksIFNpemVBbmRTY2FsZXMoc2l6ZSwgem9vbSwgc2NhbGUpKSk7Ci0gICAg
cmV0dXJuIG5ld0ltYWdlUHRyOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRp
ZiAvLyBFTkFCTEUoU1ZHKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNz
L1NWR0ltYWdlQ2FjaGUuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZUNh
Y2hlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUzMzFiNGQ5YTEzOWZjNzZhZWI1
YzA3Nzc5ODZiN2M4MWVhMDQxNzMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlQ2FjaGUuaAor
KysgL2Rldi9udWxsCkBAIC0xLDEyMiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEx
IFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAq
IFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0
IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMg
ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBX
SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m
Ci0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu
ICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl
IGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxp
YnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlm
dGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqLwotCi0jaWZuZGVm
IFNWR0ltYWdlQ2FjaGVfaAotI2RlZmluZSBTVkdJbWFnZUNhY2hlX2gKLQotI2lmIEVOQUJMRShT
VkcpCi0jaW5jbHVkZSAiSW1hZ2UuaCIKLSNpbmNsdWRlICJJbnRTaXplLmgiCi0jaW5jbHVkZSAi
VGltZXIuaCIKLSNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9QYXNzT3du
UHRyLmg+Ci0jaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0K
LWNsYXNzIENhY2hlZEltYWdlOwotY2xhc3MgQ2FjaGVkSW1hZ2VDbGllbnQ7Ci1jbGFzcyBJbWFn
ZUJ1ZmZlcjsKLWNsYXNzIFNWR0ltYWdlOwotY2xhc3MgUmVuZGVyT2JqZWN0OwotCi1jbGFzcyBT
VkdJbWFnZUNhY2hlIHsKLSAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKLXB1YmxpYzoKLSAg
ICB+U1ZHSW1hZ2VDYWNoZSgpOwotCi0gICAgc3RhdGljIFBhc3NPd25QdHI8U1ZHSW1hZ2VDYWNo
ZT4gY3JlYXRlKFNWR0ltYWdlKiBpbWFnZSkKLSAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFB0
cihuZXcgU1ZHSW1hZ2VDYWNoZShpbWFnZSkpOwotICAgIH0KLQotICAgIHN0cnVjdCBTaXplQW5k
U2NhbGVzIHsKLSAgICAgICAgU2l6ZUFuZFNjYWxlcygpCi0gICAgICAgICAgICA6IHpvb20oMSkK
LSAgICAgICAgICAgICwgc2NhbGUoMCkKLSAgICAgICAgewotICAgICAgICB9Ci0KLSAgICAgICAg
U2l6ZUFuZFNjYWxlcyhjb25zdCBJbnRTaXplJiBuZXdTaXplLCBmbG9hdCBuZXdab29tLCBmbG9h
dCBuZXdTY2FsZSkKLSAgICAgICAgICAgIDogc2l6ZShuZXdTaXplKQotICAgICAgICAgICAgLCB6
b29tKG5ld1pvb20pCi0gICAgICAgICAgICAsIHNjYWxlKG5ld1NjYWxlKQotICAgICAgICB7Ci0g
ICAgICAgIH0KLQotICAgICAgICBTaXplQW5kU2NhbGVzKGNvbnN0IEludFNpemUmIG5ld1NpemUs
IGZsb2F0IG5ld1pvb20pCi0gICAgICAgICAgICA6IHNpemUobmV3U2l6ZSkKLSAgICAgICAgICAg
ICwgem9vbShuZXdab29tKQotICAgICAgICAgICAgLCBzY2FsZSgwKQotICAgICAgICB7Ci0gICAg
ICAgIH0KLQotICAgICAgICBJbnRTaXplIHNpemU7Ci0gICAgICAgIGZsb2F0IHpvb207Ci0gICAg
ICAgIGZsb2F0IHNjYWxlOyAvLyBBIHNjYWxlIG9mIDAgaW5kaWNhdGVzIHRoYXQgdGhlIGRlZmF1
bHQgc2NhbGUgc2hvdWxkIGJlIHVzZWQuCi0gICAgfTsKLQotICAgIHZvaWQgcmVtb3ZlQ2xpZW50
RnJvbUNhY2hlKGNvbnN0IENhY2hlZEltYWdlQ2xpZW50Kik7Ci0KLSAgICB2b2lkIHNldFJlcXVl
c3RlZFNpemVBbmRTY2FsZXMoY29uc3QgQ2FjaGVkSW1hZ2VDbGllbnQqLCBjb25zdCBTaXplQW5k
U2NhbGVzJik7Ci0gICAgU2l6ZUFuZFNjYWxlcyByZXF1ZXN0ZWRTaXplQW5kU2NhbGVzKGNvbnN0
IENhY2hlZEltYWdlQ2xpZW50KikgY29uc3Q7Ci0KLSAgICBJbWFnZSogbG9va3VwT3JDcmVhdGVC
aXRtYXBJbWFnZUZvclJlbmRlcmVyKGNvbnN0IFJlbmRlck9iamVjdCopOwotICAgIHZvaWQgaW1h
Z2VDb250ZW50Q2hhbmdlZCgpOwotCi1wcml2YXRlOgotICAgIFNWR0ltYWdlQ2FjaGUoU1ZHSW1h
Z2UqKTsKLSAgICB2b2lkIHJlZHJhdygpOwotICAgIHZvaWQgcmVkcmF3VGltZXJGaXJlZChUaW1l
cjxTVkdJbWFnZUNhY2hlPiopOwotCi0gICAgc3RydWN0IEltYWdlRGF0YSB7Ci0gICAgICAgIElt
YWdlRGF0YSgpCi0gICAgICAgICAgICA6IGltYWdlTmVlZHNVcGRhdGUoZmFsc2UpCi0gICAgICAg
ICAgICAsIGJ1ZmZlcigwKQotICAgICAgICB7Ci0gICAgICAgIH0KLQotICAgICAgICBJbWFnZURh
dGEoSW1hZ2VCdWZmZXIqIG5ld0J1ZmZlciwgUGFzc1JlZlB0cjxJbWFnZT4gbmV3SW1hZ2UsIGNv
bnN0IFNpemVBbmRTY2FsZXMmIG5ld1NpemVBbmRTY2FsZXMpCi0gICAgICAgICAgICA6IGltYWdl
TmVlZHNVcGRhdGUoZmFsc2UpCi0gICAgICAgICAgICAsIHNpemVBbmRTY2FsZXMobmV3U2l6ZUFu
ZFNjYWxlcykKLSAgICAgICAgICAgICwgYnVmZmVyKG5ld0J1ZmZlcikKLSAgICAgICAgICAgICwg
aW1hZ2UobmV3SW1hZ2UpCi0gICAgICAgIHsKLSAgICAgICAgfQotCi0gICAgICAgIGJvb2wgaW1h
Z2VOZWVkc1VwZGF0ZTsKLSAgICAgICAgU2l6ZUFuZFNjYWxlcyBzaXplQW5kU2NhbGVzOwotCi0g
ICAgICAgIEltYWdlQnVmZmVyKiBidWZmZXI7Ci0gICAgICAgIFJlZlB0cjxJbWFnZT4gaW1hZ2U7
Ci0gICAgfTsKLQotICAgIHR5cGVkZWYgSGFzaE1hcDxjb25zdCBDYWNoZWRJbWFnZUNsaWVudCos
IFNpemVBbmRTY2FsZXM+IFNpemVBbmRTY2FsZXNNYXA7Ci0gICAgdHlwZWRlZiBIYXNoTWFwPGNv
bnN0IENhY2hlZEltYWdlQ2xpZW50KiwgSW1hZ2VEYXRhPiBJbWFnZURhdGFNYXA7Ci0KLSAgICBT
VkdJbWFnZSogbV9zdmdJbWFnZTsKLSAgICBTaXplQW5kU2NhbGVzTWFwIG1fc2l6ZUFuZFNjYWxl
c01hcDsKLSAgICBJbWFnZURhdGFNYXAgbV9pbWFnZURhdGFNYXA7Ci0gICAgVGltZXI8U1ZHSW1h
Z2VDYWNoZT4gbV9yZWRyYXdUaW1lcjsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQot
I2VuZGlmIC8vIEVOQUJMRShTVkcpCi0jZW5kaWYgLy8gU1ZHSW1hZ2VDYWNoZV9oCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
ZTliNTY0MjM1NjExOWQ1OTNkYTU1ZDc3N2U0NjMyMzY4ZTFmMWEwOC4uNGEzYjBlY2MwZGI4MTk0
NjRlMjg2NjI5NjcwYmM5M2U5ZTBiMjYwMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEyLTEw
LTE3ICBCcmFuaW1pciBMYW1ib3YgIDxibGFtYm92QGdvb2dsZS5jb20+CisKKyAgICAgICAgU1ZH
IGltYWdlIGNhY2hlIGlzIHZlcnkgYnJva2VuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD05ODQwMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZGVkIG5ldyB0ZXN0cyBvZiByZW5kZXJpbmcgbXVsdGlwbGUg
aW5zdGFuY2VzIG9mIHRoZSBzYW1lIFNWRyBpbWFnZSwgYXMgd2VsbCBhcworICAgICAgICBDU1Mg
dHJhbnNmb3JtIHNjYWxpbmcgYW5kIHpvb20gb24gU1ZHIGltYWdlcy4KKyAgICAgICAgCisgICAg
ICAgIEZsYWdzIGNoYW5nZWQgZXhwZWN0YXRpb25zIGZvciB0ZXN0cyB0aGF0IGFyZSByZW5kZXJl
ZCBzbGlnaHRseSBkaWZmZXJlbnRseSBiZWNhdXNlIG9mCisgICAgICAgIGFzcGVjdCByYXRpbyBj
b3JyZWN0aW9uIGNoYW5nZXMuIFRoZSBleHBlY3RhdGlvbnMgd2lsbCBiZSB1cGRhdGVkIHVzaW5n
IHRoZSB3ZWJraXQtcGF0Y2gKKyAgICAgICAgcmViYXNlbGluZSBhZnRlciB0aGUgcGF0Y2ggaXMg
aW4uCisKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zOgorICAg
ICAgICAqIHBsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3Jt
L21hYy9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL3F0L1Rlc3RFeHBlY3Rh
dGlvbnM6CisgICAgICAgICogc3ZnL211bHRpcGxlLWluc3RhbmNlcy9maXhlZC1zdmctYmFja2dy
b3VuZC1zY2FsZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogc3ZnL211bHRpcGxlLWluc3RhbmNl
cy9maXhlZC1zdmctYmFja2dyb3VuZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvbXVsdGlw
bGUtaW5zdGFuY2VzL2ZpeGVkLXN2Zy1zdmcuaHRtbDogQWRkZWQuCisgICAgICAgICogc3ZnL211
bHRpcGxlLWluc3RhbmNlcy9maXhlZC1zdmctdGVzdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBz
dmcvbXVsdGlwbGUtaW5zdGFuY2VzL3JlbGF0aXZlLXN2Zy1iYWNrZ3JvdW5kLXNjYWxlZC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvbXVsdGlwbGUtaW5zdGFuY2VzL3JlbGF0aXZlLXN2Zy1i
YWNrZ3JvdW5kLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHN2Zy9tdWx0aXBsZS1pbnN0YW5jZXMv
cmVsYXRpdmUtc3ZnLXN2Zy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvbXVsdGlwbGUtaW5z
dGFuY2VzL3JlbGF0aXZlLXN2Zy10ZXN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHN2Zy9tdWx0
aXBsZS1pbnN0YW5jZXMvcmVzb3VyY2VzL2ZpeGVkLXNpemUuc3ZnOiBBZGRlZC4KKyAgICAgICAg
KiBzdmcvbXVsdGlwbGUtaW5zdGFuY2VzL3Jlc291cmNlcy9yZWxhdGl2ZS1zaXplLnN2ZzogQWRk
ZWQuCisgICAgICAgICogc3ZnL3pvb20vcGFnZS9maXhlZC1zdmctYmFja2dyb3VuZC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBzdmcvem9vbS9wYWdlL2ZpeGVkLXN2Zy10ZXN0Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHN2Zy96b29tL3BhZ2UvcmVsYXRpdmUtc3ZnLWJhY2tncm91bmQuaHRtbDog
QWRkZWQuCisgICAgICAgICogc3ZnL3pvb20vcGFnZS9yZWxhdGl2ZS1zdmctdGVzdC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBzdmcvem9vbS9wYWdlL3Jlc291cmNlcy9maXhlZC1zaXplLnN2Zzog
QWRkZWQuCisgICAgICAgICogc3ZnL3pvb20vcGFnZS9yZXNvdXJjZXMvcmVsYXRpdmUtc2l6ZS5z
dmc6IEFkZGVkLgorCiAyMDEyLTEwLTE4ICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFJlbW92ZSBlbnRyaWVzIGZvciBub3ctcGFzc2luZyB0ZXN0cyBpbiBj
aHJvdW0tbWFjLW1vdW50YWlubGlvbi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDY4YTUxYzFmM2FkZmI2NWNhZTk4MzQxODczOGJkNjQ2
ZWU0MWRmMTMuLmE1MDFjMTNjZTk3NzZhN2Q2ZjhiNTQ2ODA1Y2ZkNTRiMzVlMDA0YzUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwpAQCAtNDIw
MSwzICs0MjAxLDE5IEBAIHdlYmtpdC5vcmcvYi85ODI1NyBwbGF0Zm9ybS9jaHJvbWl1bS92aXJ0
dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9vZXMtZWxlbWVudC1pCiB3ZWJraXQub3JnL2IvNjEx
MzggaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL0ludGVsL3Jlc291cmNlLXRpbWlu
ZyBbIFNraXAgXQogCiB3ZWJraXQub3JnL2IvOTk4MDIgWyBNb3VudGFpbkxpb24gXSBmYXN0L2Zv
cm1zL3RleHQtY29udHJvbC1pbnRyaW5zaWMtd2lkdGhzLmh0bWwgWyBGYWlsdXJlIF0KKworIyBS
ZWJhc2VsaW5lIG5lZWRlZCBmb3IgcGl4ZWwgdGVzdHMuCit3ZWJraXQub3JnL2IvOTg0MDMgc3Zn
L2FzLWJhY2tncm91bmQtaW1hZ2Uvc3ZnLWFzLWJhY2tncm91bmQtNS5odG1sIFsgUGFzcyBJbWFn
ZU9ubHlGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi85ODQwMyBzdmcvYXMtYm9yZGVyLWltYWdlL3N2
Zy1hcy1ib3JkZXItaW1hZ2UuaHRtbCBbIFBhc3MgSW1hZ2VPbmx5RmFpbHVyZSBdCit3ZWJraXQu
b3JnL2IvOTg0MDMgc3ZnL2FzLWltYWdlL2FuaW1hdGVkLXN2Zy1hcy1pbWFnZS1uby1maXhlZC1p
bnRyaW5zaWMtc2l6ZS5odG1sIFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0KK3dlYmtpdC5vcmcv
Yi85ODQwMyBzdmcvYXMtaW1hZ2Uvc2FtZS1pbWFnZS10d28taW5zdGFuY2VzLmh0bWwgWyBQYXNz
IEltYWdlT25seUZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzk4NDAzIHN2Zy9hcy1pbWFnZS9zdmct
bm9uLWludGVnZXItc2NhbGVkLWltYWdlLmh0bWwgWyBQYXNzIEltYWdlT25seUZhaWx1cmUgXQor
d2Via2l0Lm9yZy9iLzk4NDAzIHN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRkVJbWFnZUVsZW1lbnQt
ZG9tLXByZXNlcnZlQXNwZWN0UmF0aW8tYXR0ci5odG1sIFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJl
IF0KK3dlYmtpdC5vcmcvYi85ODQwMyBzdmcvZHluYW1pYy11cGRhdGVzL1NWR0ZFSW1hZ2VFbGVt
ZW50LXN2Z2RvbS1wcmVzZXJ2ZUFzcGVjdFJhdGlvLXByb3AuaHRtbCBbIFBhc3MgSW1hZ2VPbmx5
RmFpbHVyZSBdCit3ZWJraXQub3JnL2IvOTg0MDMgc3ZnL3pvb20vcGFnZS96b29tLWJhY2tncm91
bmQtaW1hZ2VzLmh0bWwgWyBQYXNzIEltYWdlT25seUZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzk4
NDAzIHN2Zy96b29tL3BhZ2Uvem9vbS1pbWctcHJlc2VydmVBc3BlY3RSYXRpby1zdXBwb3J0LTEu
aHRtbCBbIFBhc3MgSW1hZ2VPbmx5RmFpbHVyZSBdIAord2Via2l0Lm9yZy9iLzk4NDAzIHN2Zy96
b29tL3BhZ2Uvem9vbS1zdmctYXMtYmFja2dyb3VuZC13aXRoLXJlbGF0aXZlLXNpemUuaHRtbCBb
IFBhc3MgSW1hZ2VPbmx5RmFpbHVyZSBdCit3ZWJraXQub3JnL2IvOTg0MDMgY3NzMy9pbWFnZXMv
Y3Jvc3MtZmFkZS1pbnZhbGlkYXRpb24uaHRtbCBbIFBhc3MgSW1hZ2VPbmx5RmFpbHVyZSBdCit3
ZWJraXQub3JnL2IvOTg0MDMgY3NzMy9pbWFnZXMvY3Jvc3MtZmFkZS1vdmVyZmxvdy1wb3NpdGlv
bi5odG1sIFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi85ODQwMyBmYXN0
L2JhY2tncm91bmRzL3NpemUvY29udGFpbi1hbmQtY292ZXItem9vbWVkLmh0bWwgWyBQYXNzIElt
YWdlT25seUZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzk4NDAzIGZhc3QvYmFja2dyb3VuZHMvc2l6
ZS9jb250YWluLWFuZC1jb3Zlci5odG1sIFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggYjAxNGYzYTM4NzQxZTk0
NGExOWVjY2NlMmQ1MGRjOGJiNDNlMjk3OS4uMTdhMmI5NzIzNTU0YWQ3Y2YyMTlkNDJjNWVjMzU5
ZTkxNmNlODRiYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBl
Y3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMK
QEAgLTIwNjMsMyArMjA2MywxOSBAQCB3ZWJraXQub3JnL2IvOTk2OTEgZ2FtZXBhZC9nYW1lcGFk
LW91dC1vZi1yYW5nZS1jcmFzaGVyLmh0bWwgWyBGYWlsdXJlIF0KIAogIyBSZXNvdXJjZSBUaW1p
bmcgaXMgbm90IGVuYWJsZSB5ZXQsIHNraXAgaXQuCiB3ZWJraXQub3JnL2IvNjExMzggaHR0cC90
ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL0ludGVsL3Jlc291cmNlLXRpbWluZyBbIFNraXAg
XQorCisjIFJlYmFzZWxpbmUgbmVlZGVkIGZvciBwaXhlbCB0ZXN0cy4KK3dlYmtpdC5vcmcvYi85
ODQwMyBzdmcvYXMtYmFja2dyb3VuZC1pbWFnZS9zdmctYXMtYmFja2dyb3VuZC01Lmh0bWwgWyBQ
YXNzIEltYWdlT25seUZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzk4NDAzIHN2Zy9hcy1ib3JkZXIt
aW1hZ2Uvc3ZnLWFzLWJvcmRlci1pbWFnZS5odG1sIFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0K
K3dlYmtpdC5vcmcvYi85ODQwMyBzdmcvYXMtaW1hZ2UvYW5pbWF0ZWQtc3ZnLWFzLWltYWdlLW5v
LWZpeGVkLWludHJpbnNpYy1zaXplLmh0bWwgWyBQYXNzIEltYWdlT25seUZhaWx1cmUgXQord2Vi
a2l0Lm9yZy9iLzk4NDAzIHN2Zy9hcy1pbWFnZS9zYW1lLWltYWdlLXR3by1pbnN0YW5jZXMuaHRt
bCBbIFBhc3MgSW1hZ2VPbmx5RmFpbHVyZSBdCit3ZWJraXQub3JnL2IvOTg0MDMgc3ZnL2FzLWlt
YWdlL3N2Zy1ub24taW50ZWdlci1zY2FsZWQtaW1hZ2UuaHRtbCBbIFBhc3MgSW1hZ2VPbmx5RmFp
bHVyZSBdCit3ZWJraXQub3JnL2IvOTg0MDMgc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdGRUltYWdl
RWxlbWVudC1kb20tcHJlc2VydmVBc3BlY3RSYXRpby1hdHRyLmh0bWwgWyBQYXNzIEltYWdlT25s
eUZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzk4NDAzIHN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRkVJ
bWFnZUVsZW1lbnQtc3ZnZG9tLXByZXNlcnZlQXNwZWN0UmF0aW8tcHJvcC5odG1sIFsgUGFzcyBJ
bWFnZU9ubHlGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi85ODQwMyBzdmcvem9vbS9wYWdlL3pvb20t
YmFja2dyb3VuZC1pbWFnZXMuaHRtbCBbIFBhc3MgSW1hZ2VPbmx5RmFpbHVyZSBdCit3ZWJraXQu
b3JnL2IvOTg0MDMgc3ZnL3pvb20vcGFnZS96b29tLWltZy1wcmVzZXJ2ZUFzcGVjdFJhdGlvLXN1
cHBvcnQtMS5odG1sIFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0gCit3ZWJraXQub3JnL2IvOTg0
MDMgc3ZnL3pvb20vcGFnZS96b29tLXN2Zy1hcy1iYWNrZ3JvdW5kLXdpdGgtcmVsYXRpdmUtc2l6
ZS5odG1sIFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi85ODQwMyBjc3Mz
L2ltYWdlcy9jcm9zcy1mYWRlLWludmFsaWRhdGlvbi5odG1sIFsgUGFzcyBJbWFnZU9ubHlGYWls
dXJlIF0KK3dlYmtpdC5vcmcvYi85ODQwMyBjc3MzL2ltYWdlcy9jcm9zcy1mYWRlLW92ZXJmbG93
LXBvc2l0aW9uLmh0bWwgWyBQYXNzIEltYWdlT25seUZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzk4
NDAzIGZhc3QvYmFja2dyb3VuZHMvc2l6ZS9jb250YWluLWFuZC1jb3Zlci16b29tZWQuaHRtbCBb
IFBhc3MgSW1hZ2VPbmx5RmFpbHVyZSBdCit3ZWJraXQub3JnL2IvOTg0MDMgZmFzdC9iYWNrZ3Jv
dW5kcy9zaXplL2NvbnRhaW4tYW5kLWNvdmVyLmh0bWwgWyBQYXNzIEltYWdlT25seUZhaWx1cmUg
XQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA1ZDVhZmFk
NWEwNTk3ZDBjNWNiNTA0ZmIwM2I3MThlNWNmYzI3Y2M5Li42MzI4OTRlMjhkOTUyYzYxNjNlNmUz
Njk2MzczMTk2NGQ0ZGUxYjU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
VGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVj
dGF0aW9ucwpAQCAtMTMyMywzICsxMzIzLDE5IEBAIHdlYmtpdC5vcmcvYi85ODI1NyBmYXN0L2Nh
bnZhcy93ZWJnbC9vZXMtZWxlbWVudC1pbmRleC11aW50Lmh0bWwgWyBGYWlsdXJlIFBhc3MKIAog
IyBSZXNvdXJjZSBUaW1pbmcgaXMgbm90IGVuYWJsZSB5ZXQsIHNraXAgaXQuCiB3ZWJraXQub3Jn
L2IvNjExMzggaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL0ludGVsL3Jlc291cmNl
LXRpbWluZyBbIFNraXAgXQorCisjIFJlYmFzZWxpbmUgbmVlZGVkIGZvciBwaXhlbCB0ZXN0cy4K
K3dlYmtpdC5vcmcvYi85ODQwMyBzdmcvYXMtYmFja2dyb3VuZC1pbWFnZS9zdmctYXMtYmFja2dy
b3VuZC01Lmh0bWwgWyBQYXNzIEltYWdlT25seUZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzk4NDAz
IHN2Zy9hcy1ib3JkZXItaW1hZ2Uvc3ZnLWFzLWJvcmRlci1pbWFnZS5odG1sIFsgUGFzcyBJbWFn
ZU9ubHlGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi85ODQwMyBzdmcvYXMtaW1hZ2UvYW5pbWF0ZWQt
c3ZnLWFzLWltYWdlLW5vLWZpeGVkLWludHJpbnNpYy1zaXplLmh0bWwgWyBQYXNzIEltYWdlT25s
eUZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzk4NDAzIHN2Zy9hcy1pbWFnZS9zYW1lLWltYWdlLXR3
by1pbnN0YW5jZXMuaHRtbCBbIFBhc3MgSW1hZ2VPbmx5RmFpbHVyZSBdCit3ZWJraXQub3JnL2Iv
OTg0MDMgc3ZnL2FzLWltYWdlL3N2Zy1ub24taW50ZWdlci1zY2FsZWQtaW1hZ2UuaHRtbCBbIFBh
c3MgSW1hZ2VPbmx5RmFpbHVyZSBdCit3ZWJraXQub3JnL2IvOTg0MDMgc3ZnL2R5bmFtaWMtdXBk
YXRlcy9TVkdGRUltYWdlRWxlbWVudC1kb20tcHJlc2VydmVBc3BlY3RSYXRpby1hdHRyLmh0bWwg
WyBQYXNzIEltYWdlT25seUZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzk4NDAzIHN2Zy9keW5hbWlj
LXVwZGF0ZXMvU1ZHRkVJbWFnZUVsZW1lbnQtc3ZnZG9tLXByZXNlcnZlQXNwZWN0UmF0aW8tcHJv
cC5odG1sIFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi85ODQwMyBzdmcv
em9vbS9wYWdlL3pvb20tYmFja2dyb3VuZC1pbWFnZXMuaHRtbCBbIFBhc3MgSW1hZ2VPbmx5RmFp
bHVyZSBdCit3ZWJraXQub3JnL2IvOTg0MDMgc3ZnL3pvb20vcGFnZS96b29tLWltZy1wcmVzZXJ2
ZUFzcGVjdFJhdGlvLXN1cHBvcnQtMS5odG1sIFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0gCit3
ZWJraXQub3JnL2IvOTg0MDMgc3ZnL3pvb20vcGFnZS96b29tLXN2Zy1hcy1iYWNrZ3JvdW5kLXdp
dGgtcmVsYXRpdmUtc2l6ZS5odG1sIFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0KK3dlYmtpdC5v
cmcvYi85ODQwMyBjc3MzL2ltYWdlcy9jcm9zcy1mYWRlLWludmFsaWRhdGlvbi5odG1sIFsgUGFz
cyBJbWFnZU9ubHlGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi85ODQwMyBjc3MzL2ltYWdlcy9jcm9z
cy1mYWRlLW92ZXJmbG93LXBvc2l0aW9uLmh0bWwgWyBQYXNzIEltYWdlT25seUZhaWx1cmUgXQor
d2Via2l0Lm9yZy9iLzk4NDAzIGZhc3QvYmFja2dyb3VuZHMvc2l6ZS9jb250YWluLWFuZC1jb3Zl
ci16b29tZWQuaHRtbCBbIFBhc3MgSW1hZ2VPbmx5RmFpbHVyZSBdCit3ZWJraXQub3JnL2IvOTg0
MDMgZmFzdC9iYWNrZ3JvdW5kcy9zaXplL2NvbnRhaW4tYW5kLWNvdmVyLmh0bWwgWyBQYXNzIElt
YWdlT25seUZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvVGVz
dEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1Rlc3RFeHBlY3RhdGlvbnMK
aW5kZXggMGQxODRiNTlmYjFhN2U2YzVmNWY2ZDlkMmJjODA5MGVkNzBjN2RkNy4uMjI3YWY2MGVk
ZDVkODA1YTA2NzU5MzFmNWY5NjU1MWI0MzdkYTQ2OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vcXQvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9x
dC9UZXN0RXhwZWN0YXRpb25zCkBAIC0yNDQ1LDMgKzI0NDUsMTkgQEAgd2Via2l0Lm9yZy9iLzk4
NjQwIHBsdWdpbnMvcmVmY291bnQtbGVha3MuaHRtbAogCiAjIE5ldyBpbnNwZWN0b3IvcHJvZmls
ZXIvbWVtb3J5LWluc3RydW1lbnRhdGlvbi1jYW52YXMuaHRtbCBmYWlscyBvbiBKU0MgcGxhdGZv
cm1zCiB3ZWJraXQub3JnL2IvOTkwMDEgaW5zcGVjdG9yL3Byb2ZpbGVyL21lbW9yeS1pbnN0cnVt
ZW50YXRpb24tY2FudmFzLmh0bWwKKworIyBSZWJhc2VsaW5lIG5lZWRlZCBmb3IgcGl4ZWwgdGVz
dHMuCit3ZWJraXQub3JnL2IvOTg0MDMgc3ZnL2FzLWJhY2tncm91bmQtaW1hZ2Uvc3ZnLWFzLWJh
Y2tncm91bmQtNS5odG1sIFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi85
ODQwMyBzdmcvYXMtYm9yZGVyLWltYWdlL3N2Zy1hcy1ib3JkZXItaW1hZ2UuaHRtbCBbIFBhc3Mg
SW1hZ2VPbmx5RmFpbHVyZSBdCit3ZWJraXQub3JnL2IvOTg0MDMgc3ZnL2FzLWltYWdlL2FuaW1h
dGVkLXN2Zy1hcy1pbWFnZS1uby1maXhlZC1pbnRyaW5zaWMtc2l6ZS5odG1sIFsgUGFzcyBJbWFn
ZU9ubHlGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi85ODQwMyBzdmcvYXMtaW1hZ2Uvc2FtZS1pbWFn
ZS10d28taW5zdGFuY2VzLmh0bWwgWyBQYXNzIEltYWdlT25seUZhaWx1cmUgXQord2Via2l0Lm9y
Zy9iLzk4NDAzIHN2Zy9hcy1pbWFnZS9zdmctbm9uLWludGVnZXItc2NhbGVkLWltYWdlLmh0bWwg
WyBQYXNzIEltYWdlT25seUZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzk4NDAzIHN2Zy9keW5hbWlj
LXVwZGF0ZXMvU1ZHRkVJbWFnZUVsZW1lbnQtZG9tLXByZXNlcnZlQXNwZWN0UmF0aW8tYXR0ci5o
dG1sIFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi85ODQwMyBzdmcvZHlu
YW1pYy11cGRhdGVzL1NWR0ZFSW1hZ2VFbGVtZW50LXN2Z2RvbS1wcmVzZXJ2ZUFzcGVjdFJhdGlv
LXByb3AuaHRtbCBbIFBhc3MgSW1hZ2VPbmx5RmFpbHVyZSBdCit3ZWJraXQub3JnL2IvOTg0MDMg
c3ZnL3pvb20vcGFnZS96b29tLWJhY2tncm91bmQtaW1hZ2VzLmh0bWwgWyBQYXNzIEltYWdlT25s
eUZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzk4NDAzIHN2Zy96b29tL3BhZ2Uvem9vbS1pbWctcHJl
c2VydmVBc3BlY3RSYXRpby1zdXBwb3J0LTEuaHRtbCBbIFBhc3MgSW1hZ2VPbmx5RmFpbHVyZSBd
IAord2Via2l0Lm9yZy9iLzk4NDAzIHN2Zy96b29tL3BhZ2Uvem9vbS1zdmctYXMtYmFja2dyb3Vu
ZC13aXRoLXJlbGF0aXZlLXNpemUuaHRtbCBbIFBhc3MgSW1hZ2VPbmx5RmFpbHVyZSBdCit3ZWJr
aXQub3JnL2IvOTg0MDMgY3NzMy9pbWFnZXMvY3Jvc3MtZmFkZS1pbnZhbGlkYXRpb24uaHRtbCBb
IFBhc3MgSW1hZ2VPbmx5RmFpbHVyZSBdCit3ZWJraXQub3JnL2IvOTg0MDMgY3NzMy9pbWFnZXMv
Y3Jvc3MtZmFkZS1vdmVyZmxvdy1wb3NpdGlvbi5odG1sIFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJl
IF0KK3dlYmtpdC5vcmcvYi85ODQwMyBmYXN0L2JhY2tncm91bmRzL3NpemUvY29udGFpbi1hbmQt
Y292ZXItem9vbWVkLmh0bWwgWyBQYXNzIEltYWdlT25seUZhaWx1cmUgXQord2Via2l0Lm9yZy9i
Lzk4NDAzIGZhc3QvYmFja2dyb3VuZHMvc2l6ZS9jb250YWluLWFuZC1jb3Zlci5odG1sIFsgUGFz
cyBJbWFnZU9ubHlGYWlsdXJlIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9tdWx0aXBs
ZS1pbnN0YW5jZXMvZml4ZWQtc3ZnLWJhY2tncm91bmQtc2NhbGVkLmh0bWwgYi9MYXlvdXRUZXN0
cy9zdmcvbXVsdGlwbGUtaW5zdGFuY2VzL2ZpeGVkLXN2Zy1iYWNrZ3JvdW5kLXNjYWxlZC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmQ5ODFhODUzMGRmZGM1MjU2NTQ1YTA5ZDliYjllOGVjMDc3OTE4ODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvbXVsdGlwbGUtaW5zdGFuY2VzL2ZpeGVk
LXN2Zy1iYWNrZ3JvdW5kLXNjYWxlZC5odG1sCkBAIC0wLDAgKzEsMzIgQEAKKzxodG1sPjxoZWFk
PgorPG1ldGEgY2hhcnNldD0idXRmLTgiLz4KKzxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0
aWJsZSIgY29udGVudD0iSUU9ZWRnZSIvPgorPHRpdGxlPlJlbGF0aXZlIHNpemUgU1ZHIHRlc3Q8
L3RpdGxlPgorPHN0eWxlPgoraHRtbCwgYm9keSB7d2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTt9
CitkaXYgeworCWJvcmRlci1zdHlsZTpkYXNoZWQ7IAorCWJvcmRlci13aWR0aDoycHg7IAorCWJv
cmRlci1jb2xvcjpicm93bjsgCisJYmFja2dyb3VuZC1pbWFnZTp1cmwocmVzb3VyY2VzL2ZpeGVk
LXNpemUuc3ZnKTsgCisJLW1vei10cmFuc2Zvcm06c2NhbGUoMik7CisJLW1vei10cmFuc2Zvcm0t
b3JpZ2luOjAgMDsKKwktby10cmFuc2Zvcm06c2NhbGUoMik7CisJLW8tdHJhbnNmb3JtLW9yaWdp
bjowIDA7CisJLXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMik7CisJLXdlYmtpdC10cmFuc2Zvcm0t
b3JpZ2luOjAgMDsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgPHA+VGVzdHMgc2Nh
bGVkIHJlbmRlcmluZyBvZiBTVkcgaW1hZ2Ugd2l0aCBmaXhlZCBzaXplLgorICBObyBpbWFnZSBz
aG91bGQgZGlzcGxheSBiaXRtYXAgc2NhbGluZyBhcnRpZmFjdHMuPC9wPgorCisgIDxkaXYgc3R5
bGU9InBvc2l0aW9uOmFic29sdXRlO2xlZnQ6MTBweDt0b3A6MzBweDt3aWR0aDo1MHB4O2hlaWdo
dDo1MHB4OyI+PC9kaXY+CisgIDxkaXYgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO2xlZnQ6MTBw
eDt0b3A6MTUwcHg7d2lkdGg6MTAwcHg7aGVpZ2h0OjEwMHB4OyI+PC9kaXY+CisgIDxkaXYgc3R5
bGU9InBvc2l0aW9uOmFic29sdXRlO2xlZnQ6MzMwcHg7dG9wOjMwcHg7d2lkdGg6MjAwcHg7aGVp
Z2h0OjIwMHB4OyI+PC9kaXY+CisgIDxkaXYgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO2xlZnQ6
MjIwcHg7dG9wOjMwcHg7d2lkdGg6NTBweDtoZWlnaHQ6MTUwcHg7Ij48L2Rpdj4KKyAgPGRpdiBz
dHlsZT0icG9zaXRpb246YWJzb2x1dGU7bGVmdDoxMHB4O3RvcDozNjBweDt3aWR0aDoxNTBweDto
ZWlnaHQ6NTBweDsiPjwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdmcvbXVsdGlwbGUtaW5zdGFuY2VzL2ZpeGVkLXN2Zy1iYWNrZ3JvdW5kLmh0bWwg
Yi9MYXlvdXRUZXN0cy9zdmcvbXVsdGlwbGUtaW5zdGFuY2VzL2ZpeGVkLXN2Zy1iYWNrZ3JvdW5k
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjFmYjIzY2NhNmU1MDViM2JhZDZkOTc5ZGE3MjBhYzVkYTg3MjIw
MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy9tdWx0aXBsZS1pbnN0YW5jZXMv
Zml4ZWQtc3ZnLWJhY2tncm91bmQuaHRtbApAQCAtMCwwICsxLDIxIEBACis8aHRtbD48aGVhZD4K
KzxtZXRhIGNoYXJzZXQ9InV0Zi04Ii8+Cis8bWV0YSBodHRwLWVxdWl2PSJYLVVBLUNvbXBhdGli
bGUiIGNvbnRlbnQ9IklFPWVkZ2UiLz4KKzx0aXRsZT5SZWxhdGl2ZSBzaXplIFNWRyB0ZXN0PC90
aXRsZT4KKzxzdHlsZT4KK2h0bWwsIGJvZHkge3dpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7fQor
ZGl2IHtib3JkZXItc3R5bGU6ZGFzaGVkOyBib3JkZXItd2lkdGg6MnB4OyBib3JkZXItY29sb3I6
YnJvd247IGJhY2tncm91bmQtaW1hZ2U6dXJsKHJlc291cmNlcy9maXhlZC1zaXplLnN2Zyk7fQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICA8cD5UZXN0cyByZW5kZXJpbmcgb2YgU1ZHIGlt
YWdlIHdpdGggZml4ZWQgc2l6ZS4KKyAgQWxsIGltYWdlcyBzaG91bGQgYmUgdGlsZWQgY29waWVz
IG9mIHRoZSBmaXJzdC48L3A+CisKKyAgPGRpdiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7bGVm
dDoxMHB4O3RvcDozMHB4O3dpZHRoOjEwMHB4O2hlaWdodDoxMDBweDsiPjwvZGl2PgorICA8ZGl2
IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjEwcHg7dG9wOjE1MHB4O3dpZHRoOjIwMHB4
O2hlaWdodDoyMDBweDsiPjwvZGl2PgorICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTts
ZWZ0OjMzMHB4O3RvcDozMHB4O3dpZHRoOjQwMHB4O2hlaWdodDo0MDBweDsiPjwvZGl2PgorICA8
ZGl2IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjIyMHB4O3RvcDozMHB4O3dpZHRoOjEw
MHB4O2hlaWdodDozMDBweDsiPjwvZGl2PgorICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0
ZTtsZWZ0OjEwcHg7dG9wOjM2MHB4O3dpZHRoOjMwMHB4O2hlaWdodDoxMDBweDsiPjwvZGl2Pgor
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvbXVsdGlwbGUt
aW5zdGFuY2VzL2ZpeGVkLXN2Zy1zdmcuaHRtbCBiL0xheW91dFRlc3RzL3N2Zy9tdWx0aXBsZS1p
bnN0YW5jZXMvZml4ZWQtc3ZnLXN2Zy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcxMWFjODllYWRjY2U3NDIw
OTMzODMxNjdlMzExNjUwMGFhZDY2NTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9z
dmcvbXVsdGlwbGUtaW5zdGFuY2VzL2ZpeGVkLXN2Zy1zdmcuaHRtbApAQCAtMCwwICsxLDE3IEBA
CisgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0i
aHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4yIiBzdHlsZT0icG9pbnRl
ci1ldmVudHM6IG5vbmU7IiB3aWR0aD0iMTAwMCIgaGVpZ2h0PSI2MDAiPgorICAgIDxkZWZzPgor
ICAgICAgIDxzeW1ib2wgaWQ9InN2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSI+CisgICAg
ICAgICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBzdHJva2Ut
d2lkdGg9IjEiIHN0cm9rZT0iYnJvd24iIGZpbGw9Im5vbmUiLz4KKyAgICAgICAgIDxpbWFnZSB3
aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiB4bGluazpocmVmPSdyZXNvdXJjZXMvZml4ZWQtc2l6
ZS5zdmcnLz4KKyAgICAgICA8L3N5bWJvbD4KKyAgICA8L2RlZnM+CisgICAgCisgICAgPHRleHQg
eD0iMjAiIHk9IjIwIiBmb250LWZhbWlseT0iQXJpYWwiIGZvbnQtc2l6ZT0iMTUiPlRlc3RzIHJl
bmRlcmluZyBvZiBTVkcgaW1hZ2Ugd2l0aCBmaXhlZCBzaXplLgorICAgIEFsbCBpbWFnZXMgc2hv
dWxkIGJlIHJlc2NhbGVkIGNvcGllcyBvZiB0aGUgZmlyc3QgZml0dGluZyBpbnNpZGUgdGhlaXIg
Ym94LjwvdGV4dD4KKyAgICAKKyAgICA8dXNlIHhsaW5rOmhyZWY9IiNzdmciIHg9IjEwIiB5PSIz
MCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiLz4KKyAgICA8dXNlIHhsaW5rOmhyZWY9IiNzdmci
IHg9IjEwIiB5PSIxNTAiIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIi8+CisgICAgPHVzZSB4bGlu
azpocmVmPSIjc3ZnIiB4PSIxMCIgeT0iMzYwIiB3aWR0aD0iMzAwIiBoZWlnaHQ9IjEwMCIvPgor
ICAgIDx1c2UgeGxpbms6aHJlZj0iI3N2ZyIgeD0iMjIwIiB5PSIzMCIgd2lkdGg9IjEwMCIgaGVp
Z2h0PSIzMDAiLz4KKyAgICA8dXNlIHhsaW5rOmhyZWY9IiNzdmciIHg9IjMzMCIgeT0iMzAiIHdp
ZHRoPSI0MDAiIGhlaWdodD0iNDAwIi8+CisgIDwvc3ZnPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3ZnL211bHRpcGxlLWluc3RhbmNlcy9maXhlZC1zdmctdGVzdC5odG1sIGIvTGF5b3V0VGVz
dHMvc3ZnL211bHRpcGxlLWluc3RhbmNlcy9maXhlZC1zdmctdGVzdC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjA4ODM3NTNlYjQyNDhkN2I5NDE2NDRmYTQ2YjQ3ZjM2ZWQwOGQ2N2MKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9zdmcvbXVsdGlwbGUtaW5zdGFuY2VzL2ZpeGVkLXN2Zy10ZXN0Lmh0
bWwKQEAgLTAsMCArMSwyMiBAQAorPGh0bWw+PGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIv
PgorPG1ldGEgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIiBjb250ZW50PSJJRT1lZGdlIi8+
Cis8dGl0bGU+UmVsYXRpdmUgc2l6ZSBTVkcgdGVzdDwvdGl0bGU+Cis8c3R5bGU+CitodG1sLCBi
b2R5IHt3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlO30KK2ltZyB7Ym9yZGVyLXN0eWxlOmRhc2hl
ZDsgYm9yZGVyLXdpZHRoOjJweDsgYm9yZGVyLWNvbG9yOmJyb3dufQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorICA8cD5UZXN0cyByZW5kZXJpbmcgb2YgU1ZHIGltYWdlIHdpdGggZml4ZWQg
c2l6ZS4KKyAgQWxsIGltYWdlcyBzaG91bGQgYmUgcmVzY2FsZWQgY29waWVzIG9mIHRoZSBmaXJz
dCBzY2FsZWQgdG8gZmlsbCB0aGUgYm94LjwvcD4KKyAgICAKKyAgPGltZyBzcmM9InJlc291cmNl
cy9maXhlZC1zaXplLnN2ZyIgd2lkdGg9IjEwMHB4IiBoZWlnaHQ9IjMwMHB4Ii8+CisgIDxpbWcg
c3JjPSJyZXNvdXJjZXMvZml4ZWQtc2l6ZS5zdmciIHdpZHRoPSIyMDBweCIgaGVpZ2h0PSIyMDBw
eCIvPgorICA8aW1nIHNyYz0icmVzb3VyY2VzL2ZpeGVkLXNpemUuc3ZnIiB3aWR0aD0iNDAwcHgi
IGhlaWdodD0iNDAwcHgiLz4KKyAgPGJyLz4KKyAgPGltZyBzcmM9InJlc291cmNlcy9maXhlZC1z
aXplLnN2ZyIgd2lkdGg9IjEwMHB4IiBoZWlnaHQ9IjEwMHB4Ii8+CisgIDxpbWcgc3JjPSJyZXNv
dXJjZXMvZml4ZWQtc2l6ZS5zdmciIHdpZHRoPSIzMDBweCIgaGVpZ2h0PSIxMDBweCIvPgorCis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvbXVsdGlwbGUtaW5z
dGFuY2VzL3JlbGF0aXZlLXN2Zy1iYWNrZ3JvdW5kLXNjYWxlZC5odG1sIGIvTGF5b3V0VGVzdHMv
c3ZnL211bHRpcGxlLWluc3RhbmNlcy9yZWxhdGl2ZS1zdmctYmFja2dyb3VuZC1zY2FsZWQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5hYzQ0OTMyMjY2ODdhYmY4MGQ3YzVhYzk3ZDRkNzgzYzE5MjNhODU5Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL211bHRpcGxlLWluc3RhbmNlcy9yZWxh
dGl2ZS1zdmctYmFja2dyb3VuZC1zY2FsZWQuaHRtbApAQCAtMCwwICsxLDMyIEBACis8aHRtbD48
aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ii8+Cis8bWV0YSBodHRwLWVxdWl2PSJYLVVBLUNv
bXBhdGlibGUiIGNvbnRlbnQ9IklFPWVkZ2UiLz4KKzx0aXRsZT5SZWxhdGl2ZSBzaXplIFNWRyB0
ZXN0PC90aXRsZT4KKzxzdHlsZT4KK2h0bWwsIGJvZHkge3dpZHRoOiAxMDAlOyBoZWlnaHQ6IDEw
MCU7fQorZGl2IHsKKwlib3JkZXItc3R5bGU6ZGFzaGVkOyAKKwlib3JkZXItd2lkdGg6MnB4OyAK
Kwlib3JkZXItY29sb3I6YnJvd247IAorCWJhY2tncm91bmQtaW1hZ2U6dXJsKHJlc291cmNlcy9y
ZWxhdGl2ZS1zaXplLnN2Zyk7IAorCS1tb3otdHJhbnNmb3JtOnNjYWxlKDIpOworCS1tb3otdHJh
bnNmb3JtLW9yaWdpbjowIDA7CisJLW8tdHJhbnNmb3JtOnNjYWxlKDIpOworCS1vLXRyYW5zZm9y
bS1vcmlnaW46MCAwOworCS13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDIpOworCS13ZWJraXQtdHJh
bnNmb3JtLW9yaWdpbjowIDA7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisgIDxwPlRl
c3RzIHNjYWxlZCByZW5kZXJpbmcgb2YgU1ZHIGltYWdlIHdpdGggcmVsYXRpdmUgc2l6ZS4KKyAg
Tm8gaW1hZ2Ugc2hvdWxkIGRpc3BsYXkgYml0bWFwIHNjYWxpbmcgYXJ0aWZhY3RzLjwvcD4KKwor
ICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjEwcHg7dG9wOjMwcHg7d2lkdGg6
NTBweDtoZWlnaHQ6NTBweDsiPjwvZGl2PgorICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0
ZTtsZWZ0OjEwcHg7dG9wOjE1MHB4O3dpZHRoOjEwMHB4O2hlaWdodDoxMDBweDsiPjwvZGl2Pgor
ICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjMzMHB4O3RvcDozMHB4O3dpZHRo
OjIwMHB4O2hlaWdodDoyMDBweDsiPjwvZGl2PgorICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjphYnNv
bHV0ZTtsZWZ0OjIyMHB4O3RvcDozMHB4O3dpZHRoOjUwcHg7aGVpZ2h0OjE1MHB4OyI+PC9kaXY+
CisgIDxkaXYgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO2xlZnQ6MTBweDt0b3A6MzYwcHg7d2lk
dGg6MTUwcHg7aGVpZ2h0OjUwcHg7Ij48L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3ZnL211bHRpcGxlLWluc3RhbmNlcy9yZWxhdGl2ZS1zdmctYmFj
a2dyb3VuZC5odG1sIGIvTGF5b3V0VGVzdHMvc3ZnL211bHRpcGxlLWluc3RhbmNlcy9yZWxhdGl2
ZS1zdmctYmFja2dyb3VuZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY1ZGNkMTdiZjkyYTBhNThmMWQ5OTY1
YTA4YTNkMjY0YWY0MGU1NjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvbXVs
dGlwbGUtaW5zdGFuY2VzL3JlbGF0aXZlLXN2Zy1iYWNrZ3JvdW5kLmh0bWwKQEAgLTAsMCArMSwy
MSBAQAorPGh0bWw+PGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIvPgorPG1ldGEgaHR0cC1l
cXVpdj0iWC1VQS1Db21wYXRpYmxlIiBjb250ZW50PSJJRT1lZGdlIi8+Cis8dGl0bGU+UmVsYXRp
dmUgc2l6ZSBTVkcgdGVzdDwvdGl0bGU+Cis8c3R5bGU+CitodG1sLCBib2R5IHt3aWR0aDogMTAw
JTsgaGVpZ2h0OiAxMDAlO30KK2RpdiB7Ym9yZGVyLXN0eWxlOmRhc2hlZDsgYm9yZGVyLXdpZHRo
OjJweDsgYm9yZGVyLWNvbG9yOmJyb3duOyBiYWNrZ3JvdW5kLWltYWdlOnVybChyZXNvdXJjZXMv
cmVsYXRpdmUtc2l6ZS5zdmcpO30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgPHA+VGhp
cyB0ZXN0IHNob3VsZCByZW5kZXIgaW1hZ2VzIHRoYXQgYXJlIHJlc2l6ZWQgcmF0aGVyIHRoYW4g
c2NhbGVkLgorICBUZXh0IHNpemUgc2hvdWxkIGJlIHRoZSBzYW1lIGluIGFsbCBib3hlcy48L3A+
CisKKyAgPGRpdiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7bGVmdDoxMHB4O3RvcDozMHB4O3dp
ZHRoOjEwMHB4O2hlaWdodDoxMDBweDsiPjwvZGl2PgorICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjph
YnNvbHV0ZTtsZWZ0OjEwcHg7dG9wOjE1MHB4O3dpZHRoOjIwMHB4O2hlaWdodDoyMDBweDsiPjwv
ZGl2PgorICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjMzMHB4O3RvcDozMHB4
O3dpZHRoOjQwMHB4O2hlaWdodDo0MDBweDsiPjwvZGl2PgorICA8ZGl2IHN0eWxlPSJwb3NpdGlv
bjphYnNvbHV0ZTtsZWZ0OjIyMHB4O3RvcDozMHB4O3dpZHRoOjEwMHB4O2hlaWdodDozMDBweDsi
PjwvZGl2PgorICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjEwcHg7dG9wOjM2
MHB4O3dpZHRoOjMwMHB4O2hlaWdodDoxMDBweDsiPjwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvbXVsdGlwbGUtaW5zdGFuY2VzL3JlbGF0aXZl
LXN2Zy1zdmcuaHRtbCBiL0xheW91dFRlc3RzL3N2Zy9tdWx0aXBsZS1pbnN0YW5jZXMvcmVsYXRp
dmUtc3ZnLXN2Zy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ5NTFkNzk5ZmI4NWZkOTNjOGU2NzZhZWVhYjE2
ZWM3M2NlNDc1MmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvbXVsdGlwbGUt
aW5zdGFuY2VzL3JlbGF0aXZlLXN2Zy1zdmcuaHRtbApAQCAtMCwwICsxLDE2IEBACisgIDxzdmcg
eG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3
dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4yIiBzdHlsZT0icG9pbnRlci1ldmVudHM6
IG5vbmU7IiB3aWR0aD0iMTAwMCIgaGVpZ2h0PSI2MDAiPgorICAgIDxkZWZzPgorICAgICAgIDxz
eW1ib2wgaWQ9InN2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSI+CisgICAgICAgICA8cmVj
dCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBzdHJva2Utd2lkdGg9IjEi
IHN0cm9rZT0iYnJvd24iIGZpbGw9Im5vbmUiLz4KKyAgICAgICAgIDxpbWFnZSB3aWR0aD0iMTAw
JSIgaGVpZ2h0PSIxMDAlIiB4bGluazpocmVmPSdyZXNvdXJjZXMvcmVsYXRpdmUtc2l6ZS5zdmcn
Lz4KKyAgICAgICA8L3N5bWJvbD4KKyAgICA8L2RlZnM+CisgICAgCisgICAgPHRleHQgeD0iMjAi
IHk9IjIwIiBmb250LWZhbWlseT0iQXJpYWwiIGZvbnQtc2l6ZT0iMTUiPlRlc3RzIHJlbmRlcmlu
ZyBvZiBTVkcgaW1hZ2Ugd2l0aCByZWxhdGl2ZSBjb29yZGluYXRlcy48L3RleHQ+CisgICAgCisg
ICAgPHVzZSB4bGluazpocmVmPSIjc3ZnIiB4PSIxMCIgeT0iMzAiIHdpZHRoPSIxMDAiIGhlaWdo
dD0iMTAwIi8+CisgICAgPHVzZSB4bGluazpocmVmPSIjc3ZnIiB4PSIxMCIgeT0iMTUwIiB3aWR0
aD0iMjAwIiBoZWlnaHQ9IjIwMCIvPgorICAgIDx1c2UgeGxpbms6aHJlZj0iI3N2ZyIgeD0iMTAi
IHk9IjM2MCIgd2lkdGg9IjMwMCIgaGVpZ2h0PSIxMDAiLz4KKyAgICA8dXNlIHhsaW5rOmhyZWY9
IiNzdmciIHg9IjIyMCIgeT0iMzAiIHdpZHRoPSIxMDAiIGhlaWdodD0iMzAwIi8+CisgICAgPHVz
ZSB4bGluazpocmVmPSIjc3ZnIiB4PSIzMzAiIHk9IjMwIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQw
MCIvPgorICA8L3N2Zz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9tdWx0aXBsZS1pbnN0
YW5jZXMvcmVsYXRpdmUtc3ZnLXRlc3QuaHRtbCBiL0xheW91dFRlc3RzL3N2Zy9tdWx0aXBsZS1p
bnN0YW5jZXMvcmVsYXRpdmUtc3ZnLXRlc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OWUzNmRmYjdmMmJk
YzM5ZDJiMGIzZTZlOGIzZjJhNDU1YzFjNWI5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvc3ZnL211bHRpcGxlLWluc3RhbmNlcy9yZWxhdGl2ZS1zdmctdGVzdC5odG1sCkBAIC0wLDAg
KzEsMjIgQEAKKzxodG1sPjxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiLz4KKzxtZXRhIGh0
dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSIvPgorPHRpdGxlPlJl
bGF0aXZlIHNpemUgU1ZHIHRlc3Q8L3RpdGxlPgorPHN0eWxlPgoraHRtbCwgYm9keSB7d2lkdGg6
IDEwMCU7IGhlaWdodDogMTAwJTt9CitpbWcge2JvcmRlci1zdHlsZTpkYXNoZWQ7IGJvcmRlci13
aWR0aDoycHg7IGJvcmRlci1jb2xvcjpicm93bn0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KyAgPHA+VGhpcyB0ZXN0IHNob3VsZCByZW5kZXIgaW1hZ2VzIHRoYXQgYXJlIHJlc2l6ZWQgcmF0
aGVyIHRoYW4gc2NhbGVkLgorICBUZXh0IHNpemUgc2hvdWxkIGJlIHRoZSBzYW1lIGluIGFsbCBi
b3hlcy48L3A+CisKKyAgPGltZyBzcmM9InJlc291cmNlcy9yZWxhdGl2ZS1zaXplLnN2ZyIgd2lk
dGg9IjEwMHB4IiBoZWlnaHQ9IjMwMHB4Ii8+CisgIDxpbWcgc3JjPSJyZXNvdXJjZXMvcmVsYXRp
dmUtc2l6ZS5zdmciIHdpZHRoPSIyMDBweCIgaGVpZ2h0PSIyMDBweCIvPgorICA8aW1nIHNyYz0i
cmVzb3VyY2VzL3JlbGF0aXZlLXNpemUuc3ZnIiB3aWR0aD0iNDAwcHgiIGhlaWdodD0iNDAwcHgi
Lz4KKyAgPGJyLz4KKyAgPGltZyBzcmM9InJlc291cmNlcy9yZWxhdGl2ZS1zaXplLnN2ZyIgd2lk
dGg9IjEwMHB4IiBoZWlnaHQ9IjEwMHB4Ii8+CisgIDxpbWcgc3JjPSJyZXNvdXJjZXMvcmVsYXRp
dmUtc2l6ZS5zdmciIHdpZHRoPSIzMDBweCIgaGVpZ2h0PSIxMDBweCIvPgorCis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvbXVsdGlwbGUtaW5zdGFuY2VzL3Jl
c291cmNlcy9maXhlZC1zaXplLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9tdWx0aXBsZS1pbnN0YW5j
ZXMvcmVzb3VyY2VzL2ZpeGVkLXNpemUuc3ZnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYzMDA0YWZmZmEwOTZkZTFj
ZDBhOTIyY2FlNzY2YTEyOWU2ZGJkNTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9z
dmcvbXVsdGlwbGUtaW5zdGFuY2VzL3Jlc291cmNlcy9maXhlZC1zaXplLnN2ZwpAQCAtMCwwICsx
LDkgQEAKKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGlu
az0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIKKyAgICB2ZXJzaW9uPSIxLjEiIHN0eWxl
PSJwb2ludGVyLWV2ZW50czogbm9uZTsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyIgcHJl
c2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiPgorICAgIAorICAgIDxwb2x5Z29uIHBv
aW50cz0iMTAsMTAgOTAsMTAgNTAsNTAiIGZpbGw9ImN5YW4iLz4KKyAgICA8Y2lyY2xlIGN4PSI3
NSUiIGN5PSI3NSUiIHI9IjIwJSIgZmlsbD0iYmx1ZSIvPgorICAgIDxyZWN0IHg9IjEwIiB5PSI3
NSUiIHdpZHRoPSIxMDAiIGhlaWdodD0iMjAlIiBmaWxsPSJncmVlbiIvPgorICAgIDx0ZXh0IGZv
bnQtZmFtaWx5PSJBcmlhbCIgZm9udC1zaXplPSIyNSIgeD0iOTAlIiB5PSI0MCIgZmlsbD0iYmxh
Y2siIHRleHQtYW5jaG9yPSJlbmQiPlRleHQ8L3RleHQ+CisJCis8L3N2Zz4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N2Zy9tdWx0aXBsZS1pbnN0YW5jZXMvcmVzb3VyY2VzL3JlbGF0aXZlLXNp
emUuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL211bHRpcGxlLWluc3RhbmNlcy9yZXNvdXJjZXMvcmVs
YXRpdmUtc2l6ZS5zdmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjY4NTk3NDNjNWM4NzVkY2Y2M2RlMWQyMjJmMTc5
YTVlODZlYjI2ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy9tdWx0aXBsZS1p
bnN0YW5jZXMvcmVzb3VyY2VzL3JlbGF0aXZlLXNpemUuc3ZnCkBAIC0wLDAgKzEsOSBAQAorPHN2
ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8v
d3d3LnczLm9yZy8xOTk5L3hsaW5rIgorICAgIHZlcnNpb249IjEuMSIgc3R5bGU9InBvaW50ZXIt
ZXZlbnRzOiBub25lOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyI+CisgICAgCisgICAgPHBv
bHlnb24gcG9pbnRzPSIxMCwxMCA5MCwxMCA1MCw1MCIgZmlsbD0iY3lhbiIvPgorICAgIDxjaXJj
bGUgY3g9Ijc1JSIgY3k9Ijc1JSIgcj0iMjAlIiBmaWxsPSJibHVlIi8+CisgICAgPHJlY3QgeD0i
MTAiIHk9Ijc1JSIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIyMCUiIGZpbGw9ImdyZWVuIi8+CisgICAg
PHRleHQgZm9udC1mYW1pbHk9IkFyaWFsIiBmb250LXNpemU9IjI1IiB4PSI5MCUiIHk9IjQwIiBm
aWxsPSJibGFjayIgdGV4dC1hbmNob3I9ImVuZCI+VGV4dDwvdGV4dD4KKwkKKzwvc3ZnPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL3pvb20vcGFnZS9maXhlZC1zdmctYmFja2dyb3VuZC5o
dG1sIGIvTGF5b3V0VGVzdHMvc3ZnL3pvb20vcGFnZS9maXhlZC1zdmctYmFja2dyb3VuZC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjg2ZWI3NDhmYTc5NzRlMzk3ODRmNjIwZTA3MjQxZTBhOTczMTJhYzQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvem9vbS9wYWdlL2ZpeGVkLXN2Zy1iYWNr
Z3JvdW5kLmh0bWwKQEAgLTAsMCArMSwyNSBAQAorPGh0bWw+PGhlYWQ+Cis8bWV0YSBjaGFyc2V0
PSJ1dGYtOCIvPgorPG1ldGEgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIiBjb250ZW50PSJJ
RT1lZGdlIi8+Cis8dGl0bGU+UmVsYXRpdmUgc2l6ZSBTVkcgdGVzdDwvdGl0bGU+Cis8c3R5bGU+
CitodG1sLCBib2R5IHt3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlO30KK2RpdiB7Ym9yZGVyLXN0
eWxlOmRhc2hlZDsgYm9yZGVyLXdpZHRoOjJweDsgYm9yZGVyLWNvbG9yOmJyb3duOyBiYWNrZ3Jv
dW5kLWltYWdlOnVybChyZXNvdXJjZXMvZml4ZWQtc2l6ZS5zdmcpO30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blJlcGFpbnRUZXN0KCkiPgorICA8cD5UZXN0cyByZW5kZXJp
bmcgb2YgU1ZHIGltYWdlIHdpdGggZml4ZWQgc2l6ZS4KKyAgQWxsIGltYWdlcyBzaG91bGQgYmUg
dGlsZWQgY29waWVzIG9mIHRoZSBmaXJzdC48L3A+CisKKyAgPGRpdiBzdHlsZT0icG9zaXRpb246
YWJzb2x1dGU7bGVmdDoxMHB4O3RvcDozMHB4O3dpZHRoOjEwMHB4O2hlaWdodDoxMDBweDsiPjwv
ZGl2PgorICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjEwcHg7dG9wOjE1MHB4
O3dpZHRoOjIwMHB4O2hlaWdodDoyMDBweDsiPjwvZGl2PgorICA8ZGl2IHN0eWxlPSJwb3NpdGlv
bjphYnNvbHV0ZTtsZWZ0OjMzMHB4O3RvcDozMHB4O3dpZHRoOjQwMHB4O2hlaWdodDo0MDBweDsi
PjwvZGl2PgorICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjIyMHB4O3RvcDoz
MHB4O3dpZHRoOjEwMHB4O2hlaWdodDozMDBweDsiPjwvZGl2PgorICA8ZGl2IHN0eWxlPSJwb3Np
dGlvbjphYnNvbHV0ZTtsZWZ0OjEwcHg7dG9wOjM2MHB4O3dpZHRoOjMwMHB4O2hlaWdodDoxMDBw
eDsiPjwvZGl2PgorCisgIDxzY3JpcHQ+dmFyIHpvb21Db3VudCA9IDM7IHdpbmRvdy5zaG91bGRa
b29tT3V0ID0gdHJ1ZTs8L3NjcmlwdD4KKyAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvcmVw
YWludC9yZXNvdXJjZXMvcmVwYWludC5qcyI+PC9zY3JpcHQ+CisgIDxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvdGVzdFBhZ2Vab29tLmpzIj48L3NjcmlwdD4KKworPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL3pvb20vcGFnZS9maXhlZC1zdmctdGVzdC5odG1s
IGIvTGF5b3V0VGVzdHMvc3ZnL3pvb20vcGFnZS9maXhlZC1zdmctdGVzdC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjc1YTBlOGI2ODM3MTJhNzlmZmRlNzQzMDc3NWU1YzZmMjI5ZjQ2N2YKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9zdmcvem9vbS9wYWdlL2ZpeGVkLXN2Zy10ZXN0Lmh0bWwKQEAg
LTAsMCArMSwyNiBAQAorPGh0bWw+PGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIvPgorPG1l
dGEgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIiBjb250ZW50PSJJRT1lZGdlIi8+Cis8dGl0
bGU+UmVsYXRpdmUgc2l6ZSBTVkcgdGVzdDwvdGl0bGU+Cis8c3R5bGU+CitodG1sLCBib2R5IHt3
aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlO30KK2ltZyB7Ym9yZGVyLXN0eWxlOmRhc2hlZDsgYm9y
ZGVyLXdpZHRoOjJweDsgYm9yZGVyLWNvbG9yOmJyb3dufQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5IG9ubG9hZD0icnVuUmVwYWludFRlc3QoKSI+CisgIDxwPlRlc3RzIHJlbmRlcmluZyBvZiBT
VkcgaW1hZ2Ugd2l0aCBmaXhlZCBzaXplLgorICBBbGwgaW1hZ2VzIHNob3VsZCBiZSByZXNjYWxl
ZCBjb3BpZXMgb2YgdGhlIGZpcnN0IHNjYWxlZCB0byBmaWxsIHRoZSBib3guPC9wPgorICAgIAor
ICA8aW1nIHNyYz0icmVzb3VyY2VzL2ZpeGVkLXNpemUuc3ZnIiB3aWR0aD0iMTAwcHgiIGhlaWdo
dD0iMzAwcHgiLz4KKyAgPGltZyBzcmM9InJlc291cmNlcy9maXhlZC1zaXplLnN2ZyIgd2lkdGg9
IjIwMHB4IiBoZWlnaHQ9IjIwMHB4Ii8+CisgIDxpbWcgc3JjPSJyZXNvdXJjZXMvZml4ZWQtc2l6
ZS5zdmciIHdpZHRoPSI0MDBweCIgaGVpZ2h0PSI0MDBweCIvPgorICA8YnIvPgorICA8aW1nIHNy
Yz0icmVzb3VyY2VzL2ZpeGVkLXNpemUuc3ZnIiB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgi
Lz4KKyAgPGltZyBzcmM9InJlc291cmNlcy9maXhlZC1zaXplLnN2ZyIgd2lkdGg9IjMwMHB4IiBo
ZWlnaHQ9IjEwMHB4Ii8+CisKKyAgPHNjcmlwdD52YXIgem9vbUNvdW50ID0gMzsgd2luZG93LnNo
b3VsZFpvb21PdXQgPSB0cnVlOzwvc2NyaXB0PgorICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFz
dC9yZXBhaW50L3Jlc291cmNlcy9yZXBhaW50LmpzIj48L3NjcmlwdD4KKyAgPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy90ZXN0UGFnZVpvb20uanMiPjwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvem9vbS9wYWdlL3JlbGF0aXZlLXN2Zy1i
YWNrZ3JvdW5kLmh0bWwgYi9MYXlvdXRUZXN0cy9zdmcvem9vbS9wYWdlL3JlbGF0aXZlLXN2Zy1i
YWNrZ3JvdW5kLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjM5MzNkODYyYTgxNWFhNTViZDcwMTZhNmM2ZDQ5
MjQ3MDI3NGU1ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy96b29tL3BhZ2Uv
cmVsYXRpdmUtc3ZnLWJhY2tncm91bmQuaHRtbApAQCAtMCwwICsxLDI1IEBACis8aHRtbD48aGVh
ZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ii8+Cis8bWV0YSBodHRwLWVxdWl2PSJYLVVBLUNvbXBh
dGlibGUiIGNvbnRlbnQ9IklFPWVkZ2UiLz4KKzx0aXRsZT5SZWxhdGl2ZSBzaXplIFNWRyB0ZXN0
PC90aXRsZT4KKzxzdHlsZT4KK2h0bWwsIGJvZHkge3dpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7
fQorZGl2IHtib3JkZXItc3R5bGU6ZGFzaGVkOyBib3JkZXItd2lkdGg6MnB4OyBib3JkZXItY29s
b3I6YnJvd247IGJhY2tncm91bmQtaW1hZ2U6dXJsKHJlc291cmNlcy9yZWxhdGl2ZS1zaXplLnN2
Zyk7fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuUmVwYWludFRlc3QoKSI+
CisgIDxwPlRoaXMgdGVzdCBzaG91bGQgcmVuZGVyIGltYWdlcyB0aGF0IGFyZSByZXNpemVkIHJh
dGhlciB0aGFuIHNjYWxlZC4KKyAgVGV4dCBzaXplIHNob3VsZCBiZSB0aGUgc2FtZSBpbiBhbGwg
Ym94ZXMuPC9wPgorCisgIDxkaXYgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO2xlZnQ6MTBweDt0
b3A6MzBweDt3aWR0aDoxMDBweDtoZWlnaHQ6MTAwcHg7Ij48L2Rpdj4KKyAgPGRpdiBzdHlsZT0i
cG9zaXRpb246YWJzb2x1dGU7bGVmdDoxMHB4O3RvcDoxNTBweDt3aWR0aDoyMDBweDtoZWlnaHQ6
MjAwcHg7Ij48L2Rpdj4KKyAgPGRpdiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7bGVmdDozMzBw
eDt0b3A6MzBweDt3aWR0aDo0MDBweDtoZWlnaHQ6NDAwcHg7Ij48L2Rpdj4KKyAgPGRpdiBzdHls
ZT0icG9zaXRpb246YWJzb2x1dGU7bGVmdDoyMjBweDt0b3A6MzBweDt3aWR0aDoxMDBweDtoZWln
aHQ6MzAwcHg7Ij48L2Rpdj4KKyAgPGRpdiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7bGVmdDox
MHB4O3RvcDozNjBweDt3aWR0aDozMDBweDtoZWlnaHQ6MTAwcHg7Ij48L2Rpdj4KKworICA8c2Ny
aXB0PnZhciB6b29tQ291bnQgPSAzOyB3aW5kb3cuc2hvdWxkWm9vbU91dCA9IHRydWU7PC9zY3Jp
cHQ+CisgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L3JlcGFpbnQvcmVzb3VyY2VzL3JlcGFp
bnQuanMiPjwvc2NyaXB0PgorICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3Rlc3RQYWdlWm9v
bS5qcyI+PC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N2Zy96b29tL3BhZ2UvcmVsYXRpdmUtc3ZnLXRlc3QuaHRtbCBiL0xheW91dFRlc3RzL3N2
Zy96b29tL3BhZ2UvcmVsYXRpdmUtc3ZnLXRlc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNGJhYmU5Yjc1
Mzg2NTBiODg3NWNmYzI2MmI5YjBhY2FiZjAyOWIzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvc3ZnL3pvb20vcGFnZS9yZWxhdGl2ZS1zdmctdGVzdC5odG1sCkBAIC0wLDAgKzEsMjYg
QEAKKzxodG1sPjxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiLz4KKzxtZXRhIGh0dHAtZXF1
aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSIvPgorPHRpdGxlPlJlbGF0aXZl
IHNpemUgU1ZHIHRlc3Q8L3RpdGxlPgorPHN0eWxlPgoraHRtbCwgYm9keSB7d2lkdGg6IDEwMCU7
IGhlaWdodDogMTAwJTt9CitpbWcge2JvcmRlci1zdHlsZTpkYXNoZWQ7IGJvcmRlci13aWR0aDoy
cHg7IGJvcmRlci1jb2xvcjpicm93bn0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9
InJ1blJlcGFpbnRUZXN0KCkiPgorICA8cD5UaGlzIHRlc3Qgc2hvdWxkIHJlbmRlciBpbWFnZXMg
dGhhdCBhcmUgcmVzaXplZCByYXRoZXIgdGhhbiBzY2FsZWQuCisgIFRleHQgc2l6ZSBzaG91bGQg
YmUgdGhlIHNhbWUgaW4gYWxsIGJveGVzLjwvcD4KKworICA8aW1nIHNyYz0icmVzb3VyY2VzL3Jl
bGF0aXZlLXNpemUuc3ZnIiB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMzAwcHgiLz4KKyAgPGltZyBz
cmM9InJlc291cmNlcy9yZWxhdGl2ZS1zaXplLnN2ZyIgd2lkdGg9IjIwMHB4IiBoZWlnaHQ9IjIw
MHB4Ii8+CisgIDxpbWcgc3JjPSJyZXNvdXJjZXMvcmVsYXRpdmUtc2l6ZS5zdmciIHdpZHRoPSI0
MDBweCIgaGVpZ2h0PSI0MDBweCIvPgorICA8YnIvPgorICA8aW1nIHNyYz0icmVzb3VyY2VzL3Jl
bGF0aXZlLXNpemUuc3ZnIiB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiLz4KKyAgPGltZyBz
cmM9InJlc291cmNlcy9yZWxhdGl2ZS1zaXplLnN2ZyIgd2lkdGg9IjMwMHB4IiBoZWlnaHQ9IjEw
MHB4Ii8+CisKKyAgPHNjcmlwdD52YXIgem9vbUNvdW50ID0gMzsgd2luZG93LnNob3VsZFpvb21P
dXQgPSB0cnVlOzwvc2NyaXB0PgorICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9yZXBhaW50
L3Jlc291cmNlcy9yZXBhaW50LmpzIj48L3NjcmlwdD4KKyAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy90ZXN0UGFnZVpvb20uanMiPjwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvem9vbS9wYWdlL3Jlc291cmNlcy9maXhlZC1zaXplLnN2
ZyBiL0xheW91dFRlc3RzL3N2Zy96b29tL3BhZ2UvcmVzb3VyY2VzL2ZpeGVkLXNpemUuc3ZnCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjYzMDA0YWZmZmEwOTZkZTFjZDBhOTIyY2FlNzY2YTEyOWU2ZGJkNTEKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvem9vbS9wYWdlL3Jlc291cmNlcy9maXhlZC1z
aXplLnN2ZwpAQCAtMCwwICsxLDkgQEAKKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIw
MDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIKKyAgICB2
ZXJzaW9uPSIxLjEiIHN0eWxlPSJwb2ludGVyLWV2ZW50czogbm9uZTsgd2lkdGg6IDEwMHB4OyBo
ZWlnaHQ6IDEwMHB4OyIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiPgorICAg
IAorICAgIDxwb2x5Z29uIHBvaW50cz0iMTAsMTAgOTAsMTAgNTAsNTAiIGZpbGw9ImN5YW4iLz4K
KyAgICA8Y2lyY2xlIGN4PSI3NSUiIGN5PSI3NSUiIHI9IjIwJSIgZmlsbD0iYmx1ZSIvPgorICAg
IDxyZWN0IHg9IjEwIiB5PSI3NSUiIHdpZHRoPSIxMDAiIGhlaWdodD0iMjAlIiBmaWxsPSJncmVl
biIvPgorICAgIDx0ZXh0IGZvbnQtZmFtaWx5PSJBcmlhbCIgZm9udC1zaXplPSIyNSIgeD0iOTAl
IiB5PSI0MCIgZmlsbD0iYmxhY2siIHRleHQtYW5jaG9yPSJlbmQiPlRleHQ8L3RleHQ+CisJCis8
L3N2Zz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy96b29tL3BhZ2UvcmVzb3VyY2VzL3Jl
bGF0aXZlLXNpemUuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL3pvb20vcGFnZS9yZXNvdXJjZXMvcmVs
YXRpdmUtc2l6ZS5zdmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjY4NTk3NDNjNWM4NzVkY2Y2M2RlMWQyMjJmMTc5
YTVlODZlYjI2ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy96b29tL3BhZ2Uv
cmVzb3VyY2VzL3JlbGF0aXZlLXNpemUuc3ZnCkBAIC0wLDAgKzEsOSBAQAorPHN2ZyB4bWxucz0i
aHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9y
Zy8xOTk5L3hsaW5rIgorICAgIHZlcnNpb249IjEuMSIgc3R5bGU9InBvaW50ZXItZXZlbnRzOiBu
b25lOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyI+CisgICAgCisgICAgPHBvbHlnb24gcG9p
bnRzPSIxMCwxMCA5MCwxMCA1MCw1MCIgZmlsbD0iY3lhbiIvPgorICAgIDxjaXJjbGUgY3g9Ijc1
JSIgY3k9Ijc1JSIgcj0iMjAlIiBmaWxsPSJibHVlIi8+CisgICAgPHJlY3QgeD0iMTAiIHk9Ijc1
JSIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIyMCUiIGZpbGw9ImdyZWVuIi8+CisgICAgPHRleHQgZm9u
dC1mYW1pbHk9IkFyaWFsIiBmb250LXNpemU9IjI1IiB4PSI5MCUiIHk9IjQwIiBmaWxsPSJibGFj
ayIgdGV4dC1hbmNob3I9ImVuZCI+VGV4dDwvdGV4dD4KKwkKKzwvc3ZnPgo=
</data>
<flag name="review"
          id="182995"
          type_id="1"
          status="-"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>