<?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>146123</bug_id>
          
          <creation_ts>2015-06-18 13:58:40 -0700</creation_ts>
          <short_desc>Provide a way for web developers to draw a Theme-specific Wireless Playback icon</short_desc>
          <delta_ts>2015-06-18 20:32:36 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>WebExposed</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dean Jackson">dino</reporter>
          <assigned_to name="Dean Jackson">dino</assigned_to>
          <cc>bdakin</cc>
    
    <cc>joepeck</cc>
    
    <cc>jond</cc>
    
    <cc>jonlee</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1103025</commentid>
    <comment_count>0</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2015-06-18 13:58:40 -0700</bug_when>
    <thetext>Provide a way for web developers to draw a Theme-specific Wireless Playback icon</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1103026</commentid>
    <comment_count>1</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2015-06-18 13:59:01 -0700</bug_when>
    <thetext>&lt;rdar://problem/21119287&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1103028</commentid>
    <comment_count>2</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2015-06-18 14:01:18 -0700</bug_when>
    <thetext>We&apos;re going to expose a new &lt;image&gt; type to CSS via the function &quot;named-icon(name)&quot;. This will render a system icon, and can be used to get access to platform-specific artwork like Airplay on Cocoa.

e.g. background-image: named-icon(wireless-playback);

Since it is an image generator, a site can adjust it to their theme using normal CSS techniques such as masking.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1103033</commentid>
    <comment_count>3</comment_count>
      <attachid>255133</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2015-06-18 14:17:43 -0700</bug_when>
    <thetext>Created attachment 255133
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1103055</commentid>
    <comment_count>4</comment_count>
      <attachid>255141</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2015-06-18 15:29:08 -0700</bug_when>
    <thetext>Created attachment 255141
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1103063</commentid>
    <comment_count>5</comment_count>
      <attachid>255145</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2015-06-18 15:45:13 -0700</bug_when>
    <thetext>Created attachment 255145
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1103090</commentid>
    <comment_count>6</comment_count>
      <attachid>255153</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2015-06-18 16:53:37 -0700</bug_when>
    <thetext>Created attachment 255153
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1103102</commentid>
    <comment_count>7</comment_count>
      <attachid>255156</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2015-06-18 17:20:13 -0700</bug_when>
    <thetext>Created attachment 255156
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1103104</commentid>
    <comment_count>8</comment_count>
      <attachid>255153</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-06-18 17:24:38 -0700</bug_when>
    <thetext>Comment on attachment 255153
Patch

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

&gt; Source/WebCore/WebCore.xcodeproj/project.pbxproj:8414
&gt; +		314BE3A01B30F6B700141982 /* CSSNamedImageValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = CSSNamedImageValue.h; sourceTree = &quot;&lt;group&gt;&quot;; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; };
&gt; +		314BE3A21B30F6D100141982 /* CSSNamedImageValue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; path = CSSNamedImageValue.cpp; sourceTree = &quot;&lt;group&gt;&quot;; xcLanguageSpecificationIdentifier = xcode.lang.cpp; };
&gt; +		314BE3A41B3103FB00141982 /* NamedImageGeneratedImage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NamedImageGeneratedImage.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
&gt; +		314BE3A51B3103FB00141982 /* NamedImageGeneratedImage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NamedImageGeneratedImage.h; sourceTree = &quot;&lt;group&gt;&quot;; };

Please edit out the xcLanguageSpecificationIdentifier.

&gt; Source/WebCore/WebCore.xcodeproj/project.pbxproj:12724
&gt; +		BC23E76B0DAE88A9009FDC91 /* CSSImageGeneratorValue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; path = CSSImageGeneratorValue.cpp; sourceTree = &quot;&lt;group&gt;&quot;; xcLanguageSpecificationIdentifier = xcode.lang.cpp; };

I don&apos;t think the xcLanguageSpecificationIdentifier should be there.

&gt; Source/WebCore/css/CSSNamedImageValue.h:39
&gt; +    static Ref&lt;CSSNamedImageValue&gt; create(const String&amp; name) { return adoptRef(*new CSSNamedImageValue(name)); }

I think you should unwrap this.

&gt; Source/WebCore/css/CSSNamedImageValue.h:43
&gt; +    bool isFixedSize() const { return false; }

Do named images have implicit size? We should probably say they do.

&gt; Source/WebCore/platform/Theme.cpp:71
&gt; +    context-&gt;scale(FloatSize(rect.size().width() / 100, rect.size().height() / 100));

The beziers below are designed to fit in 100x100?

&gt; Source/WebCore/platform/Theme.cpp:111
&gt; +    Path outline;
&gt; +    outline.moveTo(FloatPoint(59, 58.7));
&gt; +    outline.addBezierCurveTo(FloatPoint(58.1, 58.7), FloatPoint(57.2, 58.4), FloatPoint(56.4, 57.7));
&gt; +    outline.addLineTo(FloatPoint(42, 45.5));
&gt; +    outline.addLineTo(FloatPoint(27.6, 57.8));
&gt; +    outline.addBezierCurveTo(FloatPoint(25.9, 59.2), FloatPoint(23.4, 59), FloatPoint(22, 57.3));
&gt; +    outline.addBezierCurveTo(FloatPoint(20.6, 55.6), FloatPoint(20.8, 53.1), FloatPoint(22.5, 51.7));
&gt; +    outline.addLineTo(FloatPoint(39.5, 37.3));
&gt; +    outline.addBezierCurveTo(FloatPoint(41, 36), FloatPoint(43.2, 36), FloatPoint(44.7, 37.3));
&gt; +    outline.addLineTo(FloatPoint(61.7, 51.7));
&gt; +    outline.addBezierCurveTo(FloatPoint(63.4, 53.1), FloatPoint(63.6, 55.7), FloatPoint(62.2, 57.3));
&gt; +    outline.addBezierCurveTo(FloatPoint(61.3, 58.2), FloatPoint(60.1, 58.7), FloatPoint(59, 58.7));
&gt; +    outline.addLineTo(FloatPoint(59, 58.7));
&gt; +    outline.closeSubpath();
&gt; +
&gt; +    outline.moveTo(FloatPoint(42, 98));
&gt; +    outline.addBezierCurveTo(FloatPoint(39.8, 98), FloatPoint(38, 96.3), FloatPoint(38, 94.2));
&gt; +    outline.addLineTo(FloatPoint(38, 43.6));
&gt; +    outline.addBezierCurveTo(FloatPoint(38, 41.5), FloatPoint(39.8, 39.8), FloatPoint(42, 39.8));
&gt; +    outline.addBezierCurveTo(FloatPoint(44.2, 39.8), FloatPoint(46, 41.5), FloatPoint(46, 43.6));
&gt; +    outline.addLineTo(FloatPoint(46, 94.2));
&gt; +    outline.addBezierCurveTo(FloatPoint(46, 96.3), FloatPoint(44.2, 98), FloatPoint(42, 98));
&gt; +    outline.addLineTo(FloatPoint(42, 98));
&gt; +    outline.closeSubpath();
&gt; +
&gt; +    outline.moveTo(FloatPoint(83.6, 41.6));
&gt; +    outline.addBezierCurveTo(FloatPoint(83.6, 18.6), FloatPoint(65, 0), FloatPoint(42, 0));
&gt; +    outline.addBezierCurveTo(FloatPoint(19, 0), FloatPoint(0.4, 18.6), FloatPoint(0.4, 41.6));
&gt; +    outline.addBezierCurveTo(FloatPoint(0.4, 62.2), FloatPoint(15, 79.2), FloatPoint(35, 82.6));
&gt; +    outline.addLineTo(FloatPoint(35, 74.5));
&gt; +    outline.addBezierCurveTo(FloatPoint(20, 71.2), FloatPoint(8.4, 57.7), FloatPoint(8.4, 41.6));
&gt; +    outline.addBezierCurveTo(FloatPoint(8.4, 23.1), FloatPoint(23.5, 8), FloatPoint(42, 8));
&gt; +    outline.addBezierCurveTo(FloatPoint(60.5, 8), FloatPoint(75.5, 23.1), FloatPoint(75.5, 41.6));
&gt; +    outline.addBezierCurveTo(FloatPoint(75.6, 57.7), FloatPoint(64, 71.2), FloatPoint(49, 74.5));
&gt; +    outline.addLineTo(FloatPoint(49, 82.6));
&gt; +    outline.addBezierCurveTo(FloatPoint(69, 79.3), FloatPoint(83.6, 62.2), FloatPoint(83.6, 41.6));
&gt; +    outline.addLineTo(FloatPoint(83.6, 41.6));
&gt; +    outline.closeSubpath();

Icky. Would be nicer to put a .svg in the bundle.

&gt; Source/WebCore/platform/cocoa/ThemeCocoa.cpp:63
&gt; +    FloatSize wirelessPlaybackSrcSize(32, 24.016);

24.016, really?

&gt; Source/WebCore/platform/graphics/NamedImageGeneratedImage.cpp:57
&gt; +    std::unique_ptr&lt;ImageBuffer&gt; imageBuffer = ImageBuffer::create(size(), 1, ColorSpaceDeviceRGB, context-&gt;isAcceleratedContext() ? Accelerated : Unaccelerated);

Doesn&apos;t createCompatibleBuffer do the right thing?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1103108</commentid>
    <comment_count>9</comment_count>
      <attachid>255153</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2015-06-18 17:28:37 -0700</bug_when>
    <thetext>Comment on attachment 255153
Patch

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

&gt;&gt; Source/WebCore/css/CSSNamedImageValue.h:43
&gt;&gt; +    bool isFixedSize() const { return false; }
&gt; 
&gt; Do named images have implicit size? We should probably say they do.

No. They draw into whatever region they have been given by CSS. At least for now :)

&gt;&gt; Source/WebCore/platform/Theme.cpp:71
&gt;&gt; +    context-&gt;scale(FloatSize(rect.size().width() / 100, rect.size().height() / 100));
&gt; 
&gt; The beziers below are designed to fit in 100x100?

Yes.

&gt;&gt; Source/WebCore/platform/Theme.cpp:111
&gt;&gt; +    outline.closeSubpath();
&gt; 
&gt; Icky. Would be nicer to put a .svg in the bundle.

Then we&apos;d have to load from the bundle, parse the SVG, wait for the Image to be ready, get a RenderImage and paint it. This is probably what we&apos;ll end up doing, but for now I think it is ok to hardcode this single outline.

&gt;&gt; Source/WebCore/platform/cocoa/ThemeCocoa.cpp:63
&gt;&gt; +    FloatSize wirelessPlaybackSrcSize(32, 24.016);
&gt; 
&gt; 24.016, really?

That&apos;s the artwork we were given. See below for the extent of the lines.

&gt;&gt; Source/WebCore/platform/graphics/NamedImageGeneratedImage.cpp:57
&gt;&gt; +    std::unique_ptr&lt;ImageBuffer&gt; imageBuffer = ImageBuffer::create(size(), 1, ColorSpaceDeviceRGB, context-&gt;isAcceleratedContext() ? Accelerated : Unaccelerated);
&gt; 
&gt; Doesn&apos;t createCompatibleBuffer do the right thing?

Maybe. I&apos;ll try. I copied this from crossfades.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1103115</commentid>
    <comment_count>10</comment_count>
      <attachid>255158</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2015-06-18 18:00:16 -0700</bug_when>
    <thetext>Created attachment 255158
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1103116</commentid>
    <comment_count>11</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2015-06-18 18:14:52 -0700</bug_when>
    <thetext>Committed r185731: &lt;http://trac.webkit.org/changeset/185731&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1103143</commentid>
    <comment_count>12</comment_count>
      <attachid>255158</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-06-18 20:32:30 -0700</bug_when>
    <thetext>Comment on attachment 255158
Patch

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

&gt; Source/WebCore/css/CSSParser.cpp:9157
&gt; +        || equalIgnoringCase(value.function-&gt;name, &quot;-webkit-named-image(&quot;);

Should we add this to Web Inspector&apos;s autocompletion?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255133</attachid>
            <date>2015-06-18 14:17:43 -0700</date>
            <delta_ts>2015-06-18 15:29:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146123-20150619071704.patch</filename>
            <type>text/plain</type>
            <size>112142</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1NTU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGM1NDhhNGQwOTNjMGRj
ZWE3N2U2NGU4NmJjODY5YzEwNjI4MWQzMi4uMGI1YmM2YjY1ZjBhNTQ0NTgyN2FjNDZiNTk3NDA1
OGVlOWI5MTliNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc0IEBACisyMDE1LTA2LTE4ICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBQcm92aWRlIGEgd2F5IGZvciB3
ZWIgZGV2ZWxvcGVycyB0byBkcmF3IGEgVGhlbWUtc3BlY2lmaWMgV2lyZWxlc3MgUGxheWJhY2sg
aWNvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ2
MTIzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMTExOTI4Nz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgYSBuYW1lZC1pY29uKCkg
Q1NTIDxpbWFnZT4gZ2VuZXJhdG9yIHRoYXQgYWxsb3dzIGEgc2l0ZSB0bworICAgICAgICByZXF1
ZXN0IGFydHdvcmsgYnkgbmFtZSBhbmQgZ2V0IHRoZSBwbGF0Zm9ybSB2YXJpYW50LiBBdCB0aGUg
bW9tZW50CisgICAgICAgIHdlIG9ubHkgc3VwcG9ydCAid2lyZWxlc3MtcGxheWJhY2siIHdoaWNo
IHJldHVybnMgYSBnZW5lcmljIGljb24gZXZlcnl3aGVyZQorICAgICAgICBidXQgQ29jb2EgcGxh
dGZvcm1zLCB3aGVyZSB3ZSByZW5kZXIgdGhlIEFpclBsYXkgaWNvbi4KKworICAgICAgICBJbiBv
cmRlciB0byBkbyB0aGlzIEkgYWRkZWQgYSBUaGVtZUNvY29hIHRvIHNoYXJlIGFueSBUaGVtZSBj
b2RlIGJldHdlZW4KKyAgICAgICAgTWFjIGFuZCBpT1MuCisKKyAgICAgICAgVGVzdDogZmFzdC9j
c3MvbmFtZWQtaWNvbnMuaHRtbAorCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOiBBZGQgbmV3IGZpbGVzIENTU05hbWVkSWNvblZhbHVlLCBOYW1lZEljb25HZW5l
cmF0ZWRJbWFnZSBhbmQgVGhlbWVDb2NvYS4KKworICAgICAgICAqIGNzcy9DU1NJbWFnZUdlbmVy
YXRvclZhbHVlLmNwcDogSGFuZGxlIHRoZSBuZXcgTmFtZWRJY29uQ2xhc3MgaW4gdGhlIHN3aXRj
aCBzdGF0ZW1lbnRzIGZvciBkb3duY2FzdGluZy4KKyAgICAgICAgKFdlYkNvcmU6OkNTU0ltYWdl
R2VuZXJhdG9yVmFsdWU6OmltYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ltYWdlR2VuZXJh
dG9yVmFsdWU6OmlzRml4ZWRTaXplKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ltYWdlR2VuZXJh
dG9yVmFsdWU6OmlzUGVuZGluZyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NJbWFnZUdlbmVyYXRv
clZhbHVlOjprbm93blRvQmVPcGFxdWUpOgorCisgICAgICAgICogY3NzL0NTU05hbWVkSWNvblZh
bHVlLmNwcDogTmV3IGNsYXNzLiBKdXN0IGhvbGRzIGEgbmFtZSBTdHJpbmcuCisgICAgICAgIChX
ZWJDb3JlOjpDU1NOYW1lZEljb25WYWx1ZTo6Y3VzdG9tQ1NTVGV4dCk6CisgICAgICAgIChXZWJD
b3JlOjpDU1NOYW1lZEljb25WYWx1ZTo6aW1hZ2UpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTTmFt
ZWRJY29uVmFsdWU6OmVxdWFscyk6CisgICAgICAgICogY3NzL0NTU05hbWVkSWNvblZhbHVlLmg6
CisgICAgICAgIChXZWJDb3JlOjpDU1NOYW1lZEljb25WYWx1ZTo6Y3JlYXRlKToKKyAgICAgICAg
KFdlYkNvcmU6OkNTU05hbWVkSWNvblZhbHVlOjppc0ZpeGVkU2l6ZSk6CisgICAgICAgIChXZWJD
b3JlOjpDU1NOYW1lZEljb25WYWx1ZTo6aXNQZW5kaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U05hbWVkSWNvblZhbHVlOjpDU1NOYW1lZEljb25WYWx1ZSk6CisKKyAgICAgICAgKiBjc3MvQ1NT
UGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6aXNHZW5lcmF0ZWRJbWFn
ZVZhbHVlKTogQWxsb3cgIm5hbWVkLWljb24oIi4KKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNl
cjo6cGFyc2VHZW5lcmF0ZWRJbWFnZSk6IENhbGwgcGFyc2VOYW1lZEljb24gaWYgd2UgaGl0IG5h
bWVkLWljb24uCisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlTmFtZWRJY29uKTog
UGFyc2UgdGhlIGZ1bmN0aW9uIGxvb2tpbmcgZm9yIGEgQ1NTIGlkZW50LgorICAgICAgICAqIGNz
cy9DU1NQYXJzZXIuaDoKKworICAgICAgICAqIGNzcy9DU1NWYWx1ZS5jcHA6IEhhbmRsZSBOYW1l
ZEljb25DbGFzcyBpbiB0aGUgdmFyaW91cyBzd2l0Y2ggc3RhdGVtZW50cy4KKyAgICAgICAgKFdl
YkNvcmU6OkNTU1ZhbHVlOjplcXVhbHMpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmNz
c1RleHQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmRlc3Ryb3kpOgorICAgICAgICAq
IGNzcy9DU1NWYWx1ZS5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmlzTmFtZWRJY29u
VmFsdWUpOiBIZWxwZXIgdG8gZGV0ZWN0IHRoZSBjb3JyZWN0IENTU1ZhbHVlIHN1YmNsYXNzLgor
CisgICAgICAgICogcGxhdGZvcm0vVGhlbWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGhlbWU6
OmRyYXdOYW1lZEljb24pOiBEcmF3IGEgZ2VuZXJpYyB3aXJlbGVzcyBwbGF5YmFjayBpY29uLgor
ICAgICAgICAqIHBsYXRmb3JtL1RoZW1lLmg6IEFkZCBkcmF3TmFtZWRJY29uLgorCisgICAgICAg
ICogcGxhdGZvcm0vY29jb2EvVGhlbWVDb2NvYS5jcHA6IE5ldyBzaGFyZWQgYmFzZSBjbGFzcyBm
b3IgVGhlbWVNYWMgYW5kIFRoZW1lSU9TLgorICAgICAgICAoV2ViQ29yZTo6Zml0Q29udGV4dFRv
Qm94KToKKyAgICAgICAgKFdlYkNvcmU6OlRoZW1lQ29jb2E6OmRyYXdOYW1lZEljb24pOiBEcmF3
IGFuIEFpclBsYXkgaWNvbiBmb3Igd2lyZWxlc3MgcGxheWJhY2suCisgICAgICAgICogcGxhdGZv
cm0vY29jb2EvVGhlbWVDb2NvYS5oOgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQ3Jv
c3NmYWRlR2VuZXJhdGVkSW1hZ2UuaDogRHJpdmUtYnkgcmVtb3ZhbCBvZiB1bm5lY2Vzc2FyeSBm
b3J3YXJkIGNsYXNzIGRlZmluaXRpb24uCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9J
bWFnZUJ1ZmZlci5oOiBBZGQgTmFtZWRJY29uR2VuZXJhdGVkSW1hZ2UgYXMgYSBmcmllbmQgY2xh
c3MuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9OYW1lZEljb25HZW5lcmF0ZWRJbWFn
ZS5jcHA6IE5ldyBjbGFzcy4gQ2FsbHMgaW50byB0aGUgVGhlbWUgdG8gcmVuZGVyIHRoZSBhcnR3
b3JrLgorICAgICAgICAoV2ViQ29yZTo6TmFtZWRJY29uR2VuZXJhdGVkSW1hZ2U6Ok5hbWVkSWNv
bkdlbmVyYXRlZEltYWdlKToKKyAgICAgICAgKFdlYkNvcmU6Ok5hbWVkSWNvbkdlbmVyYXRlZElt
YWdlOjpkcmF3KToKKyAgICAgICAgKFdlYkNvcmU6Ok5hbWVkSWNvbkdlbmVyYXRlZEltYWdlOjpk
cmF3UGF0dGVybik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTmFtZWRJY29uR2VuZXJh
dGVkSW1hZ2UuaDoKKworICAgICAgICAqIHBsYXRmb3JtL2lvcy9UaGVtZUlPUy5oOiBJbmhlcml0
IGZyb20gVGhlbWVDb2NvYS4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvVGhlbWVNYWMuaDogRGl0
dG8uCisKIDIwMTUtMDYtMTUgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0
Lm9yZz4KIAogICAgICAgICBbQ29udGVudCBFeHRlbnNpb25zXSBMaW1pdCBudW1iZXIgb2YgcnVs
ZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggMDA1ODc4NjYwMTYzZTEwMDc2MzlkN2UzNGQ1MWMyYjU3Yjg0ZWIxZS4uYzY5MTkw
NGE4NzE3NTNiODlhODIwNDUzNWRjNjZhOTEwMjZiOGEwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTIyMyw2ICsxMjIzLDgg
QEAKIAkJMzEwNzhDQzgxODgwQUFCQjAwODA5OURDIC8qIE9FU1RleHR1cmVIYWxmRmxvYXRMaW5l
YXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxMDc4
Q0MzMTg4MEE2QTYwMDgwOTlEQyAvKiBPRVNUZXh0dXJlSGFsZkZsb2F0TGluZWFyLmggKi87IH07
CiAJCTMxMDc4Q0M5MTg4MEFBQzkwMDgwOTlEQyAvKiBKU09FU1RleHR1cmVIYWxmRmxvYXRMaW5l
YXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzEw
NzhDQzUxODgwQUFBQTAwODA5OURDIC8qIEpTT0VTVGV4dHVyZUhhbGZGbG9hdExpbmVhci5jcHAg
Ki87IH07CiAJCTMxMDc4Q0NBMTg4MEFBQ0UwMDgwOTlEQyAvKiBKU09FU1RleHR1cmVIYWxmRmxv
YXRMaW5lYXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDMxMDc4Q0M2MTg4MEFBQUEwMDgwOTlEQyAvKiBKU09FU1RleHR1cmVIYWxmRmxvYXRMaW5lYXIu
aCAqLzsgfTsKKwkJMzEwRDcxOTUxQjMzNUM5RDAwOUM3QjczIC8qIFRoZW1lQ29jb2EuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzEwRDcxOTMxQjMz
NUM5RDAwOUM3QjczIC8qIFRoZW1lQ29jb2EuY3BwICovOyB9OworCQkzMTBENzE5NjFCMzM1QzlF
MDA5QzdCNzMgLyogVGhlbWVDb2NvYS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMzEwRDcxOTQxQjMzNUM5RDAwOUM3QjczIC8qIFRoZW1lQ29jb2EuaCAq
LzsgfTsKIAkJMzExQzA4QkQxOEVCN0NBRjAwQjY1NjE1IC8qIG1lZGlhQ29udHJvbHNBcHBsZS5j
c3MgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQzFE
RDQxMTdDQzJDNDgwMDhDQjU1RCAvKiBtZWRpYUNvbnRyb2xzQXBwbGUuY3NzICovOyB9OwogCQkz
MTFDMDhCRTE4RUI3Q0FGMDBCNjU2MTUgLyogbWVkaWFDb250cm9sc0FwcGxlLmpzIGluIFJlc291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREU2NTYwRTE3Q0E2RTc2
MDA1MjZCQTcgLyogbWVkaWFDb250cm9sc0FwcGxlLmpzICovOyB9OwogCQkzMTFDMDhCRjE4RUI3
Q0FGMDBCNjU2MTUgLyogbWVkaWFDb250cm9sc2lPUy5jc3MgaW4gUmVzb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQUFGNDVEMTg2OTA5NEUwMDNDMTcxNyAvKiBt
ZWRpYUNvbnRyb2xzaU9TLmNzcyAqLzsgfTsKQEAgLTEyNDUsNiArMTI0NywxMCBAQAogCQkzMTQ2
RkU2RjE4NDQyMEFBMDAxQTkzN0MgLyogT0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxNDZGRTY1MTg0NDIwODcw
MDFBOTM3QyAvKiBPRVNUZXh0dXJlRmxvYXRMaW5lYXIuY3BwICovOyB9OwogCQkzMTQ2RkU3NDE4
NDQyMzcwMDAxQTkzN0MgLyogSlNPRVNUZXh0dXJlRmxvYXRMaW5lYXIuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzE0NkZFNzAxODQ0MjM2NzAwMUE5
MzdDIC8qIEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcCAqLzsgfTsKIAkJMzE0NkZFNzUxODQ0
MjM3MDAwMUE5MzdDIC8qIEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTQ2RkU3MTE4NDQyMzY3MDAxQTkzN0Mg
LyogSlNPRVNUZXh0dXJlRmxvYXRMaW5lYXIuaCAqLzsgfTsKKwkJMzE0QkUzQTExQjMwRjZCNzAw
MTQxOTgyIC8qIENTU05hbWVkSWNvblZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAzMTRCRTNBMDFCMzBGNkI3MDAxNDE5ODIgLyogQ1NTTmFtZWRJ
Y29uVmFsdWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQkzMTRCRTNBMzFCMzBGNkQxMDAxNDE5ODIgLyogQ1NTTmFtZWRJY29uVmFsdWUuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzE0QkUzQTIxQjMw
RjZEMTAwMTQxOTgyIC8qIENTU05hbWVkSWNvblZhbHVlLmNwcCAqLzsgfTsKKwkJMzE0QkUzQTYx
QjMxMDNGQjAwMTQxOTgyIC8qIE5hbWVkSWNvbkdlbmVyYXRlZEltYWdlLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxNEJFM0E0MUIzMTAzRkIwMDE0
MTk4MiAvKiBOYW1lZEljb25HZW5lcmF0ZWRJbWFnZS5jcHAgKi87IH07CisJCTMxNEJFM0E3MUIz
MTAzRkIwMDE0MTk4MiAvKiBOYW1lZEljb25HZW5lcmF0ZWRJbWFnZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzE0QkUzQTUxQjMxMDNGQjAwMTQxOTgy
IC8qIE5hbWVkSWNvbkdlbmVyYXRlZEltYWdlLmggKi87IH07CiAJCTMxNjAyM0YwMTUzMkM0MEMw
MEQ1MEZGNCAvKiBEaWN0aW9uYXJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAzMTYwMjNFRjE1MzJDNDBDMDBENTBGRjQgLyogRGljdGlvbmFyeS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTMxNjExRTVB
MEUxQzRERTAwMEY2QTU3OSAvKiBKU1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxNjExRTU4MEUxQzRERTAw
MEY2QTU3OSAvKiBKU1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcCAqLzsgfTsKIAkJMzE2MTFF
NUIwRTFDNERFMDAwRjZBNTc5IC8qIEpTV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxNjExRTU5MEUxQzRERTAw
MEY2QTU3OSAvKiBKU1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmggKi87IH07CkBAIC04MzgxLDYg
KzgzODcsOCBAQAogCQkzMTA3OENDNDE4ODBBNkE2MDA4MDk5REMgLyogT0VTVGV4dHVyZUhhbGZG
bG9hdExpbmVhci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gT0VTVGV4dHVyZUhhbGZGbG9h
dExpbmVhci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxMDc4Q0M1MTg4MEFB
QUEwMDgwOTlEQyAvKiBKU09FU1RleHR1cmVIYWxmRmxvYXRMaW5lYXIuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNPRVNUZXh0dXJlSGFsZkZsb2F0TGluZWFyLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzEwNzhDQzYxODgwQUFBQTAwODA5OURD
IC8qIEpTT0VTVGV4dHVyZUhhbGZGbG9hdExpbmVhci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBKU09FU1RleHR1cmVIYWxmRmxvYXRMaW5lYXIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMzEwRDcxOTMxQjMzNUM5RDAwOUM3QjczIC8qIFRoZW1lQ29jb2EuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVGhlbWVDb2NvYS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxMEQ3MTk0MUIzMzVDOUQwMDlDN0I3MyAvKiBU
aGVtZUNvY29hLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRoZW1lQ29jb2Eu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzExQzA4QkMxOEUzNUQ2ODAwQjY1NjE1
IC8qIENvbnRyb2xTdGF0ZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29u
dHJvbFN0YXRlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMTI4OEU2RTBFMzAw
NUQ2MDAzNjE5QUUgLyogQ1NTS2V5ZnJhbWVSdWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IENTU0tleWZyYW1lUnVsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTMxMjg4RTZGMEUzMDA1RDYwMDM2MTlBRSAvKiBDU1NLZXlmcmFtZVJ1bGUuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTS2V5ZnJhbWVSdWxlLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC04NDAwLDYgKzg0MDgsMTAgQEAKIAkJMzE0NkZFNjcx
ODQ0MjA4NzAwMUE5MzdDIC8qIE9FU1RleHR1cmVGbG9hdExpbmVhci5pZGwgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0OyBwYXRoID0gT0VTVGV4dHVyZUZsb2F0TGluZWFyLmlkbDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMzE0NkZFNzAxODQ0MjM2NzAwMUE5MzdDIC8qIEpTT0VTVGV4dHVyZUZsb2F0
TGluZWFyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTT0VTVGV4
dHVyZUZsb2F0TGluZWFyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzE0NkZF
NzExODQ0MjM2NzAwMUE5MzdDIC8qIEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxNEJFM0EwMUIzMEY2QjcwMDE0MTk4MiAvKiBDU1NO
YW1lZEljb25WYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDU1NOYW1l
ZEljb25WYWx1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMTRCRTNBMjFCMzBG
NkQxMDAxNDE5ODIgLyogQ1NTTmFtZWRJY29uVmFsdWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gQ1NTTmFtZWRJY29uVmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkzMTRCRTNBNDFCMzEwM0ZCMDAxNDE5ODIgLyogTmFtZWRJY29uR2VuZXJh
dGVkSW1hZ2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTmFtZWRJ
Y29uR2VuZXJhdGVkSW1hZ2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMTRC
RTNBNTFCMzEwM0ZCMDAxNDE5ODIgLyogTmFtZWRJY29uR2VuZXJhdGVkSW1hZ2UuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTmFtZWRJY29uR2VuZXJhdGVkSW1hZ2UuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzE2MDIzRUYxNTMyQzQwQzAwRDUwRkY0IC8qIERp
Y3Rpb25hcnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGljdGlvbmFyeS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMTYxMUU1NDBFMUM0RDRBMDBGNkE1Nzkg
LyogV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdl
YktpdENTU1RyYW5zZm9ybVZhbHVlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MzE2MTFFNTgwRTFDNERFMDAwRjZBNTc5IC8qIEpTV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNXZWJLaXRDU1NUcmFuc2Zv
cm1WYWx1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xODk5MSw2ICsxOTAw
Myw4IEBACiAJCQkJNUQ1OTc1QjExOTYzNUYxMTAwRDAwODc4IC8qIFN5c3RlbVZlcnNpb24uaCAq
LywKIAkJCQk1RDU5NzVCMjE5NjM1RjExMDBEMDA4NzggLyogU3lzdGVtVmVyc2lvbi5tbSAqLywK
IAkJCQk3Q0M1NjRCOTE4QkFDNzIwMDAxQjk2NTIgLyogVGVsZXBob25lTnVtYmVyRGV0ZWN0b3JD
b2NvYS5jcHAgKi8sCisJCQkJMzEwRDcxOTMxQjMzNUM5RDAwOUM3QjczIC8qIFRoZW1lQ29jb2Eu
Y3BwICovLAorCQkJCTMxMEQ3MTk0MUIzMzVDOUQwMDlDN0I3MyAvKiBUaGVtZUNvY29hLmggKi8s
CiAJCQkJNDZEQjdENTYxQjIwRkUzQzAwNTY1MUIyIC8qIFZOb2RlVHJhY2tlckNvY29hLmNwcCAq
LywKIAkJCSk7CiAJCQlwYXRoID0gY29jb2E7CkBAIC0yMDk1Myw2ICsyMDk2Nyw4IEBACiAJCQkJ
MDc5RjVFNEIwRjNCRUJFQTAwNUUwNzgyIC8qIE1lZGlhUGxheWVyUHJpdmF0ZS5oICovLAogCQkJ
CUNENjQxRUIxMTgxOEY1RUQwMEVFNEM0MSAvKiBNZWRpYVNvdXJjZVByaXZhdGUuaCAqLywKIAkJ
CQlDRERDMUU3OTE4QTk1MkYzMDAyN0E5RDQgLyogTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Lmgg
Ki8sCisJCQkJMzE0QkUzQTQxQjMxMDNGQjAwMTQxOTgyIC8qIE5hbWVkSWNvbkdlbmVyYXRlZElt
YWdlLmNwcCAqLywKKwkJCQkzMTRCRTNBNTFCMzEwM0ZCMDAxNDE5ODIgLyogTmFtZWRJY29uR2Vu
ZXJhdGVkSW1hZ2UuaCAqLywKIAkJCQk2QjM0ODA5MjBFRUY1MEQ0MDBBQzFCNDEgLyogTmF0aXZl
SW1hZ2VQdHIuaCAqLywKIAkJCQlCMjc1MzU1MjBCMDUzODE0MDAyQ0U2NEYgLyogUGF0aC5jcHAg
Ki8sCiAJCQkJQjI3NTM1NTMwQjA1MzgxNDAwMkNFNjRGIC8qIFBhdGguaCAqLywKQEAgLTIyNDkz
LDYgKzIyNTA5LDggQEAKIAkJCQlBODBFNkNEMjBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTTWVkaWFS
dWxlLmNwcCAqLywKIAkJCQlBODBFNkNEOTBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTTWVkaWFSdWxl
LmggKi8sCiAJCQkJODVDNTZDQTIwQUE4OUMxMDAwRDk1NzU1IC8qIENTU01lZGlhUnVsZS5pZGwg
Ki8sCisJCQkJMzE0QkUzQTAxQjMwRjZCNzAwMTQxOTgyIC8qIENTU05hbWVkSWNvblZhbHVlLmgg
Ki8sCisJCQkJMzE0QkUzQTIxQjMwRjZEMTAwMTQxOTgyIC8qIENTU05hbWVkSWNvblZhbHVlLmNw
cCAqLywKIAkJCQlGOThGRkY0MjExQTI2NzYyMDBGNTQ4RTggLyogQ1NTT01VdGlscy5jcHAgKi8s
CiAJCQkJRjk4RkZGNDMxMUEyNjc2MjAwRjU0OEU4IC8qIENTU09NVXRpbHMuaCAqLywKIAkJCQlB
ODBFNkNDQjBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTUGFnZVJ1bGUuY3BwICovLApAQCAtMjQxMjAs
NiArMjQxMzgsNyBAQAogCQkJCUUxQkQzMzFDMTgyRDhFRTkwMEMwNUQ5RiAvKiBDcnlwdG9BbGdv
cml0aG1Sc2FTc2FQYXJhbXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxMjVGODJDMTgyMkNGRUMw
MEQ4NENEOSAvKiBDcnlwdG9BbGdvcml0aG1TSEExLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTlB
QzNFRjE4MjREQzc5MDAzNDk0MjYgLyogQ3J5cHRvQWxnb3JpdGhtU0hBMjI0LmggaW4gSGVhZGVy
cyAqLywKKwkJCQkzMTRCRTNBMTFCMzBGNkI3MDAxNDE5ODIgLyogQ1NTTmFtZWRJY29uVmFsdWUu
aCBpbiBIZWFkZXJzICovLAogCQkJCUUxOUFDM0YxMTgyNERDNzkwMDM0OTQyNiAvKiBDcnlwdG9B
bGdvcml0aG1TSEEyNTYuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxOUFDM0YzMTgyNERDNzkwMDM0
OTQyNiAvKiBDcnlwdG9BbGdvcml0aG1TSEEzODQuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxOUFD
M0Y1MTgyNERDNzkwMDM0OTQyNiAvKiBDcnlwdG9BbGdvcml0aG1TSEE1MTIuaCBpbiBIZWFkZXJz
ICovLApAQCAtMjUzNTYsNiArMjUzNzUsNyBAQAogCQkJCUU0NDYxNDNBMENENjg5QzgwMEZBREE3
NSAvKiBKU0hUTUxNZWRpYUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBRTJBRTVDMEEx
RDI2RjIwMEI0MkIyNSAvKiBKU0hUTUxNZW51RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QTgwRTdBMTgwQTE5QzNENjAwN0ZCOEM1IC8qIEpTSFRNTE1ldGFFbGVtZW50LmggaW4gSGVhZGVy
cyAqLywKKwkJCQkzMTRCRTNBNzFCMzEwM0ZCMDAxNDE5ODIgLyogTmFtZWRJY29uR2VuZXJhdGVk
SW1hZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3QkJFMjY3MTFBRkIzRjIwMDA1RUEwMyAvKiBK
U0hUTUxNZXRlckVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBRTJBQjJBMEExQ0U2M0Iw
MEI0MkIyNSAvKiBKU0hUTUxNb2RFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzMwNUM3
QTBDMDc2QkIzMDBDRDIwRjAgLyogSlNIVE1MT2JqZWN0RWxlbWVudC5oIGluIEhlYWRlcnMgKi8s
CkBAIC0yNjc3MCw2ICsyNjc5MCw3IEBACiAJCQkJQjI1NTk5QTQwRDAwRDhCQTAwQkI4MjVDIC8q
IFNWR0ltYWdlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwOEY4NTlENTE0NjNGOUNEMDA2N0Q5MzMg
LyogU1ZHSW1hZ2VDYWNoZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIyMjdBMkQwRDAwQkYyMjAw
NzFCNzgyIC8qIFNWR0ltYWdlRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMzEwRDcxOTYx
QjMzNUM5RTAwOUM3QjczIC8qIFRoZW1lQ29jb2EuaCBpbiBIZWFkZXJzICovLAogCQkJCTA4Rjg1
OUQ1MTQ2M0Y5Q0QwMDY3RDkzNCAvKiBTVkdJbWFnZUZvckNvbnRhaW5lci5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQjI4QzZBMkEwRDAwQzQ0ODAwMzM0QUE0IC8qIFNWR0ltYWdlTG9hZGVyLmggaW4g
SGVhZGVycyAqLywKIAkJCQkwODU0QjAxRjEyNTVFNEU2MDBCOUNERDAgLyogU1ZHSW5saW5lRmxv
d0JveC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yODQ3MCw2ICsyODQ5MSw3IEBACiAJCQkJQTgxMzY5
Q0QwOTczNzRGNjAwRDc0NDYzIC8qIEhUTUxJbnB1dEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJOTMzMDlERTUwOTlFNjQ5MjAwNTZFNTgxIC8qIEhUTUxJbnRlcmNoYW5nZS5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlBODEzNjlFNTA5NzM3NEY2MDBENzQ0NjMgLyogSFRNTEtleWdlbkVs
ZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMzE0QkUzQTYxQjMxMDNGQjAwMTQxOTgyIC8q
IE5hbWVkSWNvbkdlbmVyYXRlZEltYWdlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4MTM2OUUz
MDk3Mzc0RjYwMEQ3NDQ2MyAvKiBIVE1MTGFiZWxFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUE4MTM2OUUxMDk3Mzc0RjYwMEQ3NDQ2MyAvKiBIVE1MTGVnZW5kRWxlbWVudC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlBOEVBNzlGQzBBMTkxNkRGMDBBOEVGNUYgLyogSFRNTExJRWxlbWVu
dC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI4NTEyLDYgKzI4NTM0LDcgQEAKIAkJCQk5NzhBRDY3
NDE0MTMwQThEMDBDN0NBRTMgLyogSFRNTFNwYW5FbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTUzNkQ1QTIxMTkzRTE4RUUwMENFNENBQiAvKiBIVE1MU3Jjc2V0UGFyc2VyLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUE4NzFEQzI2MEExNTIwNTcwMEIxMkE2OCAvKiBIVE1MU3R5bGVFbGVt
ZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTMxMEQ3MTk1MUIzMzVDOUQwMDlDN0I3MyAvKiBU
aGVtZUNvY29hLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUQzRDRFOTcyMTMwQzdDRkUwMDdCQTU0
MCAvKiBIVE1MU3VtbWFyeUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTg3MURCMzIw
QTE1MEJENjAwQjEyQTY4IC8qIEhUTUxUYWJsZUNhcHRpb25FbGVtZW50LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUE4NzFEQjJFMEExNTBCRDYwMEIxMkE2OCAvKiBIVE1MVGFibGVDZWxsRWxlbWVu
dC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI5ODkyLDYgKzI5OTE1LDcgQEAKIAkJCQlCQ0VDMDFC
RDBDMjc0REFDMDA5RjRFQzkgLyogU2NyZWVuLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4NEQ4
MkMyMTFEMzQ3NDgwMDk3Mjk5MCAvKiBTY3JpcHRhYmxlRG9jdW1lbnRQYXJzZXIuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJNDFGMUQyMjAwRUYzNUMyQTAwREE4NzUzIC8qIFNjcmlwdENhY2hlZEZy
YW1lRGF0YS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkzMTRCRTNBMzFCMzBGNkQxMDAxNDE5ODIg
LyogQ1NTTmFtZWRJY29uVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTNCNzBENkYwOUVC
MEM3QzAwOUQ4NDY4IC8qIFNjcmlwdENvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QTgzRTFDNzQwRTQ5MDQyQzAwMTQwQjlDIC8qIFNjcmlwdENvbnRyb2xsZXJNYWMubW0gaW4gU291
cmNlcyAqLywKIAkJCQk0OTk4QUVEMTEzRkIyMjREMDA5MEIxQUEgLyogU2NyaXB0ZWRBbmltYXRp
b25Db250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwCmluZGV4IDE3ZDNlZWI5ZTJiYzE0ZTZiZTc1MWM0NzIz
YzMyNmJhNjNjMGNjYmEuLmIzYjI3YTkwNTAyOTcwMWMyYjhhYjFkNzlkNTY0YTM3MGQzM2Y4Yzcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHAKQEAg
LTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJDU1NGaWx0ZXJJbWFnZVZhbHVlLmgiCiAjaW5jbHVk
ZSAiQ1NTR3JhZGllbnRWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0ltYWdlVmFsdWUuaCIKKyNpbmNs
dWRlICJDU1NOYW1lZEljb25WYWx1ZS5oIgogI2luY2x1ZGUgIkdlbmVyYXRlZEltYWdlLmgiCiAj
aW5jbHVkZSAiUmVuZGVyRWxlbWVudC5oIgogI2luY2x1ZGUgIlN0eWxlQ2FjaGVkSW1hZ2UuaCIK
QEAgLTExMCw2ICsxMTEsOCBAQCBQYXNzUmVmUHRyPEltYWdlPiBDU1NJbWFnZUdlbmVyYXRvclZh
bHVlOjppbWFnZShSZW5kZXJFbGVtZW50KiByZW5kZXJlciwgY29uc3QgRgogICAgIHN3aXRjaCAo
Y2xhc3NUeXBlKCkpIHsKICAgICBjYXNlIENhbnZhc0NsYXNzOgogICAgICAgICByZXR1cm4gZG93
bmNhc3Q8Q1NTQ2FudmFzVmFsdWU+KCp0aGlzKS5pbWFnZShyZW5kZXJlciwgc2l6ZSk7CisgICAg
Y2FzZSBOYW1lZEljb25DbGFzczoKKyAgICAgICAgcmV0dXJuIGRvd25jYXN0PENTU05hbWVkSWNv
blZhbHVlPigqdGhpcykuaW1hZ2UocmVuZGVyZXIsIHNpemUpOwogICAgIGNhc2UgQ3Jvc3NmYWRl
Q2xhc3M6CiAgICAgICAgIHJldHVybiBkb3duY2FzdDxDU1NDcm9zc2ZhZGVWYWx1ZT4oKnRoaXMp
LmltYWdlKHJlbmRlcmVyLCBzaXplKTsKICAgICBjYXNlIEZpbHRlckltYWdlQ2xhc3M6CkBAIC0x
MjksNiArMTMyLDggQEAgYm9vbCBDU1NJbWFnZUdlbmVyYXRvclZhbHVlOjppc0ZpeGVkU2l6ZSgp
IGNvbnN0CiAgICAgc3dpdGNoIChjbGFzc1R5cGUoKSkgewogICAgIGNhc2UgQ2FudmFzQ2xhc3M6
CiAgICAgICAgIHJldHVybiBkb3duY2FzdDxDU1NDYW52YXNWYWx1ZT4oKnRoaXMpLmlzRml4ZWRT
aXplKCk7CisgICAgY2FzZSBOYW1lZEljb25DbGFzczoKKyAgICAgICAgcmV0dXJuIGRvd25jYXN0
PENTU05hbWVkSWNvblZhbHVlPigqdGhpcykuaXNGaXhlZFNpemUoKTsKICAgICBjYXNlIENyb3Nz
ZmFkZUNsYXNzOgogICAgICAgICByZXR1cm4gZG93bmNhc3Q8Q1NTQ3Jvc3NmYWRlVmFsdWU+KCp0
aGlzKS5pc0ZpeGVkU2l6ZSgpOwogICAgIGNhc2UgRmlsdGVySW1hZ2VDbGFzczoKQEAgLTE2OSw2
ICsxNzQsOCBAQCBib29sIENTU0ltYWdlR2VuZXJhdG9yVmFsdWU6OmlzUGVuZGluZygpIGNvbnN0
CiAgICAgICAgIHJldHVybiBkb3duY2FzdDxDU1NDcm9zc2ZhZGVWYWx1ZT4oKnRoaXMpLmlzUGVu
ZGluZygpOwogICAgIGNhc2UgQ2FudmFzQ2xhc3M6CiAgICAgICAgIHJldHVybiBkb3duY2FzdDxD
U1NDYW52YXNWYWx1ZT4oKnRoaXMpLmlzUGVuZGluZygpOworICAgIGNhc2UgTmFtZWRJY29uQ2xh
c3M6CisgICAgICAgIHJldHVybiBkb3duY2FzdDxDU1NOYW1lZEljb25WYWx1ZT4oKnRoaXMpLmlz
UGVuZGluZygpOwogICAgIGNhc2UgRmlsdGVySW1hZ2VDbGFzczoKICAgICAgICAgcmV0dXJuIGRv
d25jYXN0PENTU0ZpbHRlckltYWdlVmFsdWU+KCp0aGlzKS5pc1BlbmRpbmcoKTsKICAgICBjYXNl
IExpbmVhckdyYWRpZW50Q2xhc3M6CkBAIC0xODgsNiArMTk1LDggQEAgYm9vbCBDU1NJbWFnZUdl
bmVyYXRvclZhbHVlOjprbm93blRvQmVPcGFxdWUoY29uc3QgUmVuZGVyRWxlbWVudCogcmVuZGVy
ZXIpIGNvbnMKICAgICAgICAgcmV0dXJuIGRvd25jYXN0PENTU0Nyb3NzZmFkZVZhbHVlPigqdGhp
cykua25vd25Ub0JlT3BhcXVlKHJlbmRlcmVyKTsKICAgICBjYXNlIENhbnZhc0NsYXNzOgogICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgY2FzZSBOYW1lZEljb25DbGFzczoKKyAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgIGNhc2UgRmlsdGVySW1hZ2VDbGFzczoKICAgICAgICAgcmV0dXJuIGRv
d25jYXN0PENTU0ZpbHRlckltYWdlVmFsdWU+KCp0aGlzKS5rbm93blRvQmVPcGFxdWUocmVuZGVy
ZXIpOwogICAgIGNhc2UgTGluZWFyR3JhZGllbnRDbGFzczoKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NOYW1lZEljb25WYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
TmFtZWRJY29uVmFsdWUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc5MjA4ZTlmZmE0OTNkZDA0MjZjOTZlNDg2
OTJiODYzNDkzOTJhOTEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
TmFtZWRJY29uVmFsdWUuY3BwCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTUgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkK
KyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUg
IkNTU05hbWVkSWNvblZhbHVlLmgiCisKKyNpbmNsdWRlICJJbWFnZUJ1ZmZlci5oIgorI2luY2x1
ZGUgIk5hbWVkSWNvbkdlbmVyYXRlZEltYWdlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
U3RyaW5nIENTU05hbWVkSWNvblZhbHVlOjpjdXN0b21DU1NUZXh0KCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gbWFrZVN0cmluZygibmFtZWQtaWNvbigiLCBtX25hbWUsICcpJyk7Cit9CisKK1Bhc3NS
ZWZQdHI8SW1hZ2U+IENTU05hbWVkSWNvblZhbHVlOjppbWFnZShSZW5kZXJFbGVtZW50KiwgY29u
c3QgRmxvYXRTaXplJiBzaXplKQoreworICAgIGlmIChzaXplLmlzRW1wdHkoKSkKKyAgICAgICAg
cmV0dXJuIG51bGxwdHI7CisKKyAgICBtX2dlbmVyYXRlZEltYWdlID0gTmFtZWRJY29uR2VuZXJh
dGVkSW1hZ2U6OmNyZWF0ZShtX25hbWUsIHNpemUpOworCisgICAgcmV0dXJuIG1fZ2VuZXJhdGVk
SW1hZ2UucmVsZWFzZSgpOworfQorCitib29sIENTU05hbWVkSWNvblZhbHVlOjplcXVhbHMoY29u
c3QgQ1NTTmFtZWRJY29uVmFsdWUmIG90aGVyKSBjb25zdAoreworICAgIHJldHVybiBtX25hbWUg
PT0gb3RoZXIubV9uYW1lOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTmFtZWRJY29uVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NOYW1lZEljb25WYWx1ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVhYjc1ZmM4OTVjOGU1ZjAxNWE1
MjllNzdiMDI2ZjA4MzRhN2Q3Y2QKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTTmFtZWRJY29uVmFsdWUuaApAQCAtMCwwICsxLDY1IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBB
TlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
ICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBDU1NOYW1lZEljb25WYWx1ZV9o
CisjZGVmaW5lIENTU05hbWVkSWNvblZhbHVlX2gKKworI2luY2x1ZGUgIkNTU0ltYWdlR2VuZXJh
dG9yVmFsdWUuaCIKKworI2luY2x1ZGUgIkltYWdlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworY2xhc3MgRG9jdW1lbnQ7CisKK2NsYXNzIENTU05hbWVkSWNvblZhbHVlIDogcHVibGljIENT
U0ltYWdlR2VuZXJhdG9yVmFsdWUgeworcHVibGljOgorICAgIHN0YXRpYyBSZWY8Q1NTTmFtZWRJ
Y29uVmFsdWU+IGNyZWF0ZShjb25zdCBTdHJpbmcmIG5hbWUpIHsgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgQ1NTTmFtZWRJY29uVmFsdWUobmFtZSkpOyB9CisKKyAgICBTdHJpbmcgY3VzdG9tQ1NTVGV4
dCgpIGNvbnN0OworCisgICAgYm9vbCBpc0ZpeGVkU2l6ZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNl
OyB9CisgICAgYm9vbCBpc1BlbmRpbmcoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorCisgICAg
UGFzc1JlZlB0cjxJbWFnZT4gaW1hZ2UoUmVuZGVyRWxlbWVudCosIGNvbnN0IEZsb2F0U2l6ZSYp
OworCisgICAgYm9vbCBlcXVhbHMoY29uc3QgQ1NTTmFtZWRJY29uVmFsdWUmKSBjb25zdDsKKwor
cHJpdmF0ZToKKyAgICBleHBsaWNpdCBDU1NOYW1lZEljb25WYWx1ZShjb25zdCBTdHJpbmcmIG5h
bWUpCisgICAgICAgIDogQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZShOYW1lZEljb25DbGFzcykKKyAg
ICAgICAgLCBtX25hbWUobmFtZSkKKyAgICB7CisgICAgfQorCisgICAgU3RyaW5nIG1fbmFtZTsK
KyAgICBSZWZQdHI8SW1hZ2U+IG1fZ2VuZXJhdGVkSW1hZ2U7Cit9OworCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCisKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQ1NTX1ZBTFVFKENTU05hbWVkSWNv
blZhbHVlLCBpc05hbWVkSWNvblZhbHVlKCkpCisKKyNlbmRpZiAvLyBDU1NOYW1lZEljb25WYWx1
ZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCmluZGV4IGIyY2EwMzE3YTE1MjE2M2U5NzQyMDli
Njk0OWIxOTE5NDFlNjBjOTQuLjNiMjUwMGI5ZjA2MTc4YmM4NjUyYzFmYTk5MTM3MjRmMGNjNTk5
ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCkBAIC01MCw2ICs1MCw3IEBACiAjaW5jbHVk
ZSAiQ1NTS2V5ZnJhbWVzUnVsZS5oIgogI2luY2x1ZGUgIkNTU0xpbmVCb3hDb250YWluVmFsdWUu
aCIKICNpbmNsdWRlICJDU1NNZWRpYVJ1bGUuaCIKKyNpbmNsdWRlICJDU1NOYW1lZEljb25WYWx1
ZS5oIgogI2luY2x1ZGUgIkNTU1BhZ2VSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTUHJpbWl0aXZlVmFs
dWUuaCIKICNpbmNsdWRlICJDU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgiCkBAIC05MTUyLDcg
KzkxNTMsOCBAQCBib29sIENTU1BhcnNlcjo6aXNHZW5lcmF0ZWRJbWFnZVZhbHVlKENTU1BhcnNl
clZhbHVlJiB2YWx1ZSkgY29uc3QKICAgICAgICAgfHwgZXF1YWxJZ25vcmluZ0Nhc2UodmFsdWUu
ZnVuY3Rpb24tPm5hbWUsICJyZXBlYXRpbmctcmFkaWFsLWdyYWRpZW50KCIpCiAgICAgICAgIHx8
IGVxdWFsSWdub3JpbmdDYXNlKHZhbHVlLmZ1bmN0aW9uLT5uYW1lLCAiLXdlYmtpdC1jYW52YXMo
IikKICAgICAgICAgfHwgZXF1YWxJZ25vcmluZ0Nhc2UodmFsdWUuZnVuY3Rpb24tPm5hbWUsICIt
d2Via2l0LWNyb3NzLWZhZGUoIikKLSAgICAgICAgfHwgZXF1YWxJZ25vcmluZ0Nhc2UodmFsdWUu
ZnVuY3Rpb24tPm5hbWUsICItd2Via2l0LWZpbHRlcigiKTsKKyAgICAgICAgfHwgZXF1YWxJZ25v
cmluZ0Nhc2UodmFsdWUuZnVuY3Rpb24tPm5hbWUsICItd2Via2l0LWZpbHRlcigiKQorICAgICAg
ICB8fCBlcXVhbElnbm9yaW5nQ2FzZSh2YWx1ZS5mdW5jdGlvbi0+bmFtZSwgIm5hbWVkLWljb24o
Iik7CiB9CiAKIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUdlbmVyYXRlZEltYWdlKENTU1BhcnNlclZh
bHVlTGlzdCYgdmFsdWVMaXN0LCBSZWZQdHI8Q1NTVmFsdWU+JiB2YWx1ZSkKQEAgLTkxOTgsNiAr
OTIwMCw5IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUdlbmVyYXRlZEltYWdlKENTU1BhcnNlclZh
bHVlTGlzdCYgdmFsdWVMaXN0LCBSZWZQdHI8Q1NTVmFsCiAgICAgaWYgKGVxdWFsSWdub3JpbmdD
YXNlKHBhcnNlclZhbHVlLmZ1bmN0aW9uLT5uYW1lLCAiLXdlYmtpdC1maWx0ZXIoIikpCiAgICAg
ICAgIHJldHVybiBwYXJzZUZpbHRlckltYWdlKHZhbHVlTGlzdCwgdmFsdWUpOwogCisgICAgaWYg
KGVxdWFsSWdub3JpbmdDYXNlKHBhcnNlclZhbHVlLmZ1bmN0aW9uLT5uYW1lLCAibmFtZWQtaWNv
bigiKSkKKyAgICAgICAgcmV0dXJuIHBhcnNlTmFtZWRJY29uKHZhbHVlTGlzdCwgdmFsdWUpOwor
CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCkBAIC05MzEwLDYgKzkzMTUsMjEgQEAgYm9vbCBDU1NQ
YXJzZXI6OnBhcnNlQ2FudmFzKENTU1BhcnNlclZhbHVlTGlzdCYgdmFsdWVMaXN0LCBSZWZQdHI8
Q1NTVmFsdWU+JiBjYW4KICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorYm9vbCBDU1NQYXJzZXI6OnBh
cnNlTmFtZWRJY29uKENTU1BhcnNlclZhbHVlTGlzdCYgdmFsdWVMaXN0LCBSZWZQdHI8Q1NTVmFs
dWU+JiBuYW1lZEltYWdlKQoreworICAgIENTU1BhcnNlclZhbHVlTGlzdCogYXJncyA9IHZhbHVl
TGlzdC5jdXJyZW50KCktPmZ1bmN0aW9uLT5hcmdzLmdldCgpOworICAgIGlmICghYXJncyB8fCBh
cmdzLT5zaXplKCkgIT0gMSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgLy8gVGhlIG9u
bHkgYXJndW1lbnQgaXMgdGhlIGltYWdlIG5hbWUuCisgICAgQ1NTUGFyc2VyVmFsdWUqIHZhbHVl
ID0gYXJncy0+Y3VycmVudCgpOworICAgIGlmICghdmFsdWUgfHwgdmFsdWUtPnVuaXQgIT0gQ1NT
UHJpbWl0aXZlVmFsdWU6OkNTU19JREVOVCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAg
bmFtZWRJbWFnZSA9IENTU05hbWVkSWNvblZhbHVlOjpjcmVhdGUodmFsdWUtPnN0cmluZyk7Cisg
ICAgcmV0dXJuIHRydWU7Cit9CisKICNpZiBFTkFCTEUoQ1NTX0lNQUdFX1JFU09MVVRJT04pCiBQ
YXNzUmVmUHRyPENTU1ZhbHVlPiBDU1NQYXJzZXI6OnBhcnNlSW1hZ2VSZXNvbHV0aW9uKCkKIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQYXJzZXIuaAppbmRleCA1Mjk5ZGJiYTBlYWQxNzg4Njg5M2YwN2M1OTAzZDc4
NGY2MjVhM2ExLi42ODU0NjFmNGIyYjk5NzUzNTZlNDNkYjZmMGJlZTVlM2ZkYTU2NDU0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1BhcnNlci5oCkBAIC0yOTAsNiArMjkwLDcgQEAgcHVibGljOgogCiAgICAgLy8g
SW1hZ2UgZ2VuZXJhdG9ycwogICAgIGJvb2wgcGFyc2VDYW52YXMoQ1NTUGFyc2VyVmFsdWVMaXN0
JiwgUmVmUHRyPENTU1ZhbHVlPiYpOworICAgIGJvb2wgcGFyc2VOYW1lZEljb24oQ1NTUGFyc2Vy
VmFsdWVMaXN0JiwgUmVmUHRyPENTU1ZhbHVlPiYpOwogCiAgICAgYm9vbCBwYXJzZURlcHJlY2F0
ZWRHcmFkaWVudChDU1NQYXJzZXJWYWx1ZUxpc3QmLCBSZWZQdHI8Q1NTVmFsdWU+Jik7CiAgICAg
Ym9vbCBwYXJzZURlcHJlY2F0ZWRMaW5lYXJHcmFkaWVudChDU1NQYXJzZXJWYWx1ZUxpc3QmLCBS
ZWZQdHI8Q1NTVmFsdWU+JiwgQ1NTR3JhZGllbnRSZXBlYXQgcmVwZWF0aW5nKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTVmFsdWUuY3BwCmluZGV4IDQzMWRkNDU0OWQyMThkN2UwNWE5NjU1MzY2MDQ1ZDFjNjJjZmJj
YzMuLjMyMjdlYjYxZmNjYTgxMDJkNGJiOTEwYmZmMGU4Yzk1ZmRlMmU0ODggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1ZhbHVlLmNwcApAQCAtNDcsNiArNDcsNyBAQAogI2luY2x1ZGUgIkNTU0luaGVyaXRlZFZh
bHVlLmgiCiAjaW5jbHVkZSAiQ1NTSW5pdGlhbFZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTTGluZUJv
eENvbnRhaW5WYWx1ZS5oIgorI2luY2x1ZGUgIkNTU05hbWVkSWNvblZhbHVlLmgiCiAjaW5jbHVk
ZSAiQ1NTUHJpbWl0aXZlVmFsdWUuaCIKICNpbmNsdWRlICJDU1NSZWZsZWN0VmFsdWUuaCIKICNp
bmNsdWRlICJDU1NTaGFkb3dWYWx1ZS5oIgpAQCAtMTY4LDYgKzE2OSw4IEBAIGJvb2wgQ1NTVmFs
dWU6OmVxdWFscyhjb25zdCBDU1NWYWx1ZSYgb3RoZXIpIGNvbnN0CiAgICAgICAgICAgICByZXR1
cm4gY29tcGFyZUNTU1ZhbHVlczxDU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWU+KCp0aGlzLCBvdGhl
cik7CiAgICAgICAgIGNhc2UgQ2FudmFzQ2xhc3M6CiAgICAgICAgICAgICByZXR1cm4gY29tcGFy
ZUNTU1ZhbHVlczxDU1NDYW52YXNWYWx1ZT4oKnRoaXMsIG90aGVyKTsKKyAgICAgICAgY2FzZSBO
YW1lZEljb25DbGFzczoKKyAgICAgICAgICAgIHJldHVybiBjb21wYXJlQ1NTVmFsdWVzPENTU05h
bWVkSWNvblZhbHVlPigqdGhpcywgb3RoZXIpOwogICAgICAgICBjYXNlIEN1cnNvckltYWdlQ2xh
c3M6CiAgICAgICAgICAgICByZXR1cm4gY29tcGFyZUNTU1ZhbHVlczxDU1NDdXJzb3JJbWFnZVZh
bHVlPigqdGhpcywgb3RoZXIpOwogICAgICAgICBjYXNlIEZpbHRlckltYWdlQ2xhc3M6CkBAIC0y
NjAsNiArMjYzLDggQEAgU3RyaW5nIENTU1ZhbHVlOjpjc3NUZXh0KCkgY29uc3QKICAgICAgICAg
cmV0dXJuIGRvd25jYXN0PENTU0JvcmRlckltYWdlU2xpY2VWYWx1ZT4oKnRoaXMpLmN1c3RvbUNT
U1RleHQoKTsKICAgICBjYXNlIENhbnZhc0NsYXNzOgogICAgICAgICByZXR1cm4gZG93bmNhc3Q8
Q1NTQ2FudmFzVmFsdWU+KCp0aGlzKS5jdXN0b21DU1NUZXh0KCk7CisgICAgY2FzZSBOYW1lZElj
b25DbGFzczoKKyAgICAgICAgcmV0dXJuIGRvd25jYXN0PENTU05hbWVkSWNvblZhbHVlPigqdGhp
cykuY3VzdG9tQ1NTVGV4dCgpOwogICAgIGNhc2UgQ3Vyc29ySW1hZ2VDbGFzczoKICAgICAgICAg
cmV0dXJuIGRvd25jYXN0PENTU0N1cnNvckltYWdlVmFsdWU+KCp0aGlzKS5jdXN0b21DU1NUZXh0
KCk7CiAgICAgY2FzZSBGaWx0ZXJJbWFnZUNsYXNzOgpAQCAtMzUyLDYgKzM1Nyw5IEBAIHZvaWQg
Q1NTVmFsdWU6OmRlc3Ryb3koKQogICAgIGNhc2UgQ2FudmFzQ2xhc3M6CiAgICAgICAgIGRlbGV0
ZSBkb3duY2FzdDxDU1NDYW52YXNWYWx1ZT4odGhpcyk7CiAgICAgICAgIHJldHVybjsKKyAgICBj
YXNlIE5hbWVkSWNvbkNsYXNzOgorICAgICAgICBkZWxldGUgZG93bmNhc3Q8Q1NTTmFtZWRJY29u
VmFsdWU+KHRoaXMpOworICAgICAgICByZXR1cm47CiAgICAgY2FzZSBDdXJzb3JJbWFnZUNsYXNz
OgogICAgICAgICBkZWxldGUgZG93bmNhc3Q8Q1NTQ3Vyc29ySW1hZ2VWYWx1ZT4odGhpcyk7CiAg
ICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5o
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgKaW5kZXggOWE0MDY4Njg5YzE2NzFkZDky
YTUxZjA3ZmNlYTcyY2YxYTA5MDIxNi4uYzkxNjI1NmYzMGJkMDhmYjcwZjg2MjA0OTUyYjMxMGI1
MTc0NmM2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgKQEAgLTc5LDYgKzc5LDcgQEAgcHVibGljOgog
ICAgIGJvb2wgaXNGb250VmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9PSBGb250
Q2xhc3M7IH0KICAgICBib29sIGlzSW1hZ2VHZW5lcmF0b3JWYWx1ZSgpIGNvbnN0IHsgcmV0dXJu
IG1fY2xhc3NUeXBlID49IENhbnZhc0NsYXNzICYmIG1fY2xhc3NUeXBlIDw9IFJhZGlhbEdyYWRp
ZW50Q2xhc3M7IH0KICAgICBib29sIGlzR3JhZGllbnRWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1f
Y2xhc3NUeXBlID49IExpbmVhckdyYWRpZW50Q2xhc3MgJiYgbV9jbGFzc1R5cGUgPD0gUmFkaWFs
R3JhZGllbnRDbGFzczsgfQorICAgIGJvb2wgaXNOYW1lZEljb25WYWx1ZSgpIGNvbnN0IHsgcmV0
dXJuIG1fY2xhc3NUeXBlID09IE5hbWVkSWNvbkNsYXNzOyB9CiAjaWYgRU5BQkxFKENTU19JTUFH
RV9TRVQpCiAgICAgYm9vbCBpc0ltYWdlU2V0VmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNz
VHlwZSA9PSBJbWFnZVNldENsYXNzOyB9CiAjZW5kaWYKQEAgLTEzOSw2ICsxNDAsNyBAQCBwcm90
ZWN0ZWQ6CiAKICAgICAgICAgLy8gSW1hZ2UgZ2VuZXJhdG9yIGNsYXNzZXMuCiAgICAgICAgIENh
bnZhc0NsYXNzLAorICAgICAgICBOYW1lZEljb25DbGFzcywKICAgICAgICAgQ3Jvc3NmYWRlQ2xh
c3MsCiAgICAgICAgIEZpbHRlckltYWdlQ2xhc3MsCiAgICAgICAgIExpbmVhckdyYWRpZW50Q2xh
c3MsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZS5jcHAKaW5kZXggOTY1NDdhN2NmNTZjNTJkOGZkMDgz
MmNlZjgxMjNjYmE4MzZkMzJmZS4uM2E0N2ZjMDNiMmRmZTUwMmQzZGVkNDQ3YjhkZmUyOWM1MzA0
MzhlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lLmNwcApAQCAtMjYsNiArMjYsOCBAQAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlRoZW1lLmgiCiAKKyNpbXBvcnQgIkxvY2FsQ3Vy
cmVudEdyYXBoaWNzQ29udGV4dC5oIgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIExlbmd0aEJv
eCBUaGVtZTo6Y29udHJvbEJvcmRlcihDb250cm9sUGFydCBwYXJ0LCBjb25zdCBGb250Q2FzY2Fk
ZSYsIGNvbnN0IExlbmd0aEJveCYgem9vbWVkQm94LCBmbG9hdCkgY29uc3QKQEAgLTU1LDQgKzU3
LDYwIEBAIExlbmd0aEJveCBUaGVtZTo6Y29udHJvbFBhZGRpbmcoQ29udHJvbFBhcnQgcGFydCwg
Y29uc3QgRm9udENhc2NhZGUmLCBjb25zdCBMZW5nCiAgICAgfQogfQogCit2b2lkIFRoZW1lOjpk
cmF3TmFtZWRJY29uKGNvbnN0IFN0cmluZyYgbmFtZSwgR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0
LCBjb25zdCBGbG9hdFJlY3QmIHJlY3QpIGNvbnN0Cit7CisgICAgLy8gV2Ugb25seSBoYW5kbGUg
b25lIGljb24gYXQgdGhlIG1vbWVudC4KKyAgICBpZiAobmFtZSAhPSAid2lyZWxlc3MtcGxheWJh
Y2siKQorICAgICAgICByZXR1cm47CisKKyAgICBHcmFwaGljc0NvbnRleHRTdGF0ZVNhdmVyIHN0
YXRlU2F2ZXIoKmNvbnRleHQpOworICAgIGNvbnRleHQtPnNldEZpbGxDb2xvcihDb2xvcjo6Ymxh
Y2ssIENvbG9yU3BhY2VEZXZpY2VSR0IpOworCisgICAgLy8gRHJhdyBhIGdlbmVyaWMgV2lyZWxl
c3MgUGxheWJhY2sgaWNvbi4KKworICAgIGNvbnRleHQtPnNjYWxlKEZsb2F0U2l6ZShyZWN0LnNp
emUoKS53aWR0aCgpIC8gMTAwLCByZWN0LnNpemUoKS5oZWlnaHQoKSAvIDEwMCkpOworICAgIGNv
bnRleHQtPnRyYW5zbGF0ZSg4LCAxKTsKKworICAgIFBhdGggb3V0bGluZTsKKyAgICBvdXRsaW5l
Lm1vdmVUbyhGbG9hdFBvaW50KDU5LCA1OC43KSk7CisgICAgb3V0bGluZS5hZGRCZXppZXJDdXJ2
ZVRvKEZsb2F0UG9pbnQoNTguMSwgNTguNyksIEZsb2F0UG9pbnQoNTcuMiwgNTguNCksIEZsb2F0
UG9pbnQoNTYuNCwgNTcuNykpOworICAgIG91dGxpbmUuYWRkTGluZVRvKEZsb2F0UG9pbnQoNDIs
IDQ1LjUpKTsKKyAgICBvdXRsaW5lLmFkZExpbmVUbyhGbG9hdFBvaW50KDI3LjYsIDU3LjgpKTsK
KyAgICBvdXRsaW5lLmFkZEJlemllckN1cnZlVG8oRmxvYXRQb2ludCgyNS45LCA1OS4yKSwgRmxv
YXRQb2ludCgyMy40LCA1OSksIEZsb2F0UG9pbnQoMjIsIDU3LjMpKTsKKyAgICBvdXRsaW5lLmFk
ZEJlemllckN1cnZlVG8oRmxvYXRQb2ludCgyMC42LCA1NS42KSwgRmxvYXRQb2ludCgyMC44LCA1
My4xKSwgRmxvYXRQb2ludCgyMi41LCA1MS43KSk7CisgICAgb3V0bGluZS5hZGRMaW5lVG8oRmxv
YXRQb2ludCgzOS41LCAzNy4zKSk7CisgICAgb3V0bGluZS5hZGRCZXppZXJDdXJ2ZVRvKEZsb2F0
UG9pbnQoNDEsIDM2KSwgRmxvYXRQb2ludCg0My4yLCAzNiksIEZsb2F0UG9pbnQoNDQuNywgMzcu
MykpOworICAgIG91dGxpbmUuYWRkTGluZVRvKEZsb2F0UG9pbnQoNjEuNywgNTEuNykpOworICAg
IG91dGxpbmUuYWRkQmV6aWVyQ3VydmVUbyhGbG9hdFBvaW50KDYzLjQsIDUzLjEpLCBGbG9hdFBv
aW50KDYzLjYsIDU1LjcpLCBGbG9hdFBvaW50KDYyLjIsIDU3LjMpKTsKKyAgICBvdXRsaW5lLmFk
ZEJlemllckN1cnZlVG8oRmxvYXRQb2ludCg2MS4zLCA1OC4yKSwgRmxvYXRQb2ludCg2MC4xLCA1
OC43KSwgRmxvYXRQb2ludCg1OSwgNTguNykpOworICAgIG91dGxpbmUuYWRkTGluZVRvKEZsb2F0
UG9pbnQoNTksIDU4LjcpKTsKKyAgICBvdXRsaW5lLmNsb3NlU3VicGF0aCgpOworCisgICAgb3V0
bGluZS5tb3ZlVG8oRmxvYXRQb2ludCg0MiwgOTgpKTsKKyAgICBvdXRsaW5lLmFkZEJlemllckN1
cnZlVG8oRmxvYXRQb2ludCgzOS44LCA5OCksIEZsb2F0UG9pbnQoMzgsIDk2LjMpLCBGbG9hdFBv
aW50KDM4LCA5NC4yKSk7CisgICAgb3V0bGluZS5hZGRMaW5lVG8oRmxvYXRQb2ludCgzOCwgNDMu
NikpOworICAgIG91dGxpbmUuYWRkQmV6aWVyQ3VydmVUbyhGbG9hdFBvaW50KDM4LCA0MS41KSwg
RmxvYXRQb2ludCgzOS44LCAzOS44KSwgRmxvYXRQb2ludCg0MiwgMzkuOCkpOworICAgIG91dGxp
bmUuYWRkQmV6aWVyQ3VydmVUbyhGbG9hdFBvaW50KDQ0LjIsIDM5LjgpLCBGbG9hdFBvaW50KDQ2
LCA0MS41KSwgRmxvYXRQb2ludCg0NiwgNDMuNikpOworICAgIG91dGxpbmUuYWRkTGluZVRvKEZs
b2F0UG9pbnQoNDYsIDk0LjIpKTsKKyAgICBvdXRsaW5lLmFkZEJlemllckN1cnZlVG8oRmxvYXRQ
b2ludCg0NiwgOTYuMyksIEZsb2F0UG9pbnQoNDQuMiwgOTgpLCBGbG9hdFBvaW50KDQyLCA5OCkp
OworICAgIG91dGxpbmUuYWRkTGluZVRvKEZsb2F0UG9pbnQoNDIsIDk4KSk7CisgICAgb3V0bGlu
ZS5jbG9zZVN1YnBhdGgoKTsKKworICAgIG91dGxpbmUubW92ZVRvKEZsb2F0UG9pbnQoODMuNiwg
NDEuNikpOworICAgIG91dGxpbmUuYWRkQmV6aWVyQ3VydmVUbyhGbG9hdFBvaW50KDgzLjYsIDE4
LjYpLCBGbG9hdFBvaW50KDY1LCAwKSwgRmxvYXRQb2ludCg0MiwgMCkpOworICAgIG91dGxpbmUu
YWRkQmV6aWVyQ3VydmVUbyhGbG9hdFBvaW50KDE5LCAwKSwgRmxvYXRQb2ludCgwLjQsIDE4LjYp
LCBGbG9hdFBvaW50KDAuNCwgNDEuNikpOworICAgIG91dGxpbmUuYWRkQmV6aWVyQ3VydmVUbyhG
bG9hdFBvaW50KDAuNCwgNjIuMiksIEZsb2F0UG9pbnQoMTUsIDc5LjIpLCBGbG9hdFBvaW50KDM1
LCA4Mi42KSk7CisgICAgb3V0bGluZS5hZGRMaW5lVG8oRmxvYXRQb2ludCgzNSwgNzQuNSkpOwor
ICAgIG91dGxpbmUuYWRkQmV6aWVyQ3VydmVUbyhGbG9hdFBvaW50KDIwLCA3MS4yKSwgRmxvYXRQ
b2ludCg4LjQsIDU3LjcpLCBGbG9hdFBvaW50KDguNCwgNDEuNikpOworICAgIG91dGxpbmUuYWRk
QmV6aWVyQ3VydmVUbyhGbG9hdFBvaW50KDguNCwgMjMuMSksIEZsb2F0UG9pbnQoMjMuNSwgOCks
IEZsb2F0UG9pbnQoNDIsIDgpKTsKKyAgICBvdXRsaW5lLmFkZEJlemllckN1cnZlVG8oRmxvYXRQ
b2ludCg2MC41LCA4KSwgRmxvYXRQb2ludCg3NS41LCAyMy4xKSwgRmxvYXRQb2ludCg3NS41LCA0
MS42KSk7CisgICAgb3V0bGluZS5hZGRCZXppZXJDdXJ2ZVRvKEZsb2F0UG9pbnQoNzUuNiwgNTcu
NyksIEZsb2F0UG9pbnQoNjQsIDcxLjIpLCBGbG9hdFBvaW50KDQ5LCA3NC41KSk7CisgICAgb3V0
bGluZS5hZGRMaW5lVG8oRmxvYXRQb2ludCg0OSwgODIuNikpOworICAgIG91dGxpbmUuYWRkQmV6
aWVyQ3VydmVUbyhGbG9hdFBvaW50KDY5LCA3OS4zKSwgRmxvYXRQb2ludCg4My42LCA2Mi4yKSwg
RmxvYXRQb2ludCg4My42LCA0MS42KSk7CisgICAgb3V0bGluZS5hZGRMaW5lVG8oRmxvYXRQb2lu
dCg4My42LCA0MS42KSk7CisgICAgb3V0bGluZS5jbG9zZVN1YnBhdGgoKTsKKworICAgIGNvbnRl
eHQtPmZpbGxQYXRoKG91dGxpbmUpOworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9UaGVtZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWUuaAppbmRl
eCBlY2U4NGNmNjU4YWZmNjE1YTVkZDk3MjU5NzExZTRiYTM0YjZhNTJiLi43ODNjNmM3ZTYwM2Qx
MDhjYTM1ZWIyNmQ2NzM5NTg5YWRkZjJhZjMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9UaGVtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lLmgKQEAg
LTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJDb2xvci5oIgogI2luY2x1ZGUgIkNvbnRyb2xTdGF0
ZXMuaCIKICNpbmNsdWRlICJGb250Q2FzY2FkZS5oIgorI2luY2x1ZGUgIkdyYXBoaWNzVHlwZXMu
aCIKICNpbmNsdWRlICJJbnRSZWN0LmgiCiAjaW5jbHVkZSAiTGVuZ3RoQm94LmgiCiAjaW5jbHVk
ZSAiTGVuZ3RoU2l6ZS5oIgpAQCAtMTA2LDcgKzEwNyw5IEBAIHB1YmxpYzoKICAgICAvLyBUaGUg
cmVjdCBwYXNzZWQgaW4gaXMgaW4gem9vbWVkIGNvb3JkaW5hdGVzLCBzbyB0aGUgaW5mbGF0aW9u
IHNob3VsZCB0YWtlIHRoYXQgaW50byBhY2NvdW50IGFuZCBtYWtlIHN1cmUgdGhlIGluZmxhdGlv
bgogICAgIC8vIGFtb3VudCBpcyBhbHNvIHNjYWxlZCBieSB0aGUgem9vbUZhY3Rvci4KICAgICB2
aXJ0dWFsIHZvaWQgaW5mbGF0ZUNvbnRyb2xQYWludFJlY3QoQ29udHJvbFBhcnQsIGNvbnN0IENv
bnRyb2xTdGF0ZXMqLCBGbG9hdFJlY3QmIC8qem9vbWVkUmVjdCovLCBmbG9hdCAvKnpvb21GYWN0
b3IqLykgY29uc3QgeyB9Ci0gICAgCisKKyAgICB2aXJ0dWFsIHZvaWQgZHJhd05hbWVkSWNvbihj
b25zdCBTdHJpbmcmLCBHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFJlY3QmKSBjb25zdDsK
KwogICAgIC8vIFRoaXMgbWV0aG9kIGlzIGNhbGxlZCBvbmNlLCBmcm9tIFJlbmRlclRoZW1lOjph
ZGp1c3REZWZhdWx0U3R5bGVTaGVldCgpLCB0byBsZXQgZWFjaCBwbGF0Zm9ybSBhZGp1c3QKICAg
ICAvLyB0aGUgZGVmYXVsdCBDU1MgcnVsZXMgaW4gaHRtbC5jc3MuCiAgICAgc3RhdGljIFN0cmlu
ZyBkZWZhdWx0U3R5bGVTaGVldCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vY29jb2EvVGhlbWVDb2NvYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9U
aGVtZUNvY29hLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zM2NlNTRiNTUxZWI1NmEwMzNkMjAzYmE1NzZiNWVk
YTIzY2M2MzI2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29j
b2EvVGhlbWVDb2NvYS5jcHAKQEAgLTAsMCArMSw5MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxNSBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorI2ltcG9ydCAiVGhl
bWVDb2NvYS5oIgorCisjaW1wb3J0ICJHcmFwaGljc0NvbnRleHQuaCIKKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitzdGF0aWMgdm9pZCBmaXRDb250ZXh0VG9Cb3goR3JhcGhpY3NDb250ZXh0KiBj
b250ZXh0LCBjb25zdCBGbG9hdFNpemUmIHNyY0ltYWdlU2l6ZSwgY29uc3QgRmxvYXRTaXplJiBk
c3RTaXplKQoreworICAgIGZsb2F0IHNyY1JhdGlvID0gc3JjSW1hZ2VTaXplLmFzcGVjdFJhdGlv
KCk7CisgICAgZmxvYXQgZHN0UmF0aW8gPSBkc3RTaXplLmFzcGVjdFJhdGlvKCk7CisKKyAgICBm
bG9hdCBzY2FsZTsKKyAgICBmbG9hdCB0cmFuc2xhdGlvblggPSAwOworICAgIGZsb2F0IHRyYW5z
bGF0aW9uWSA9IDA7CisgICAgaWYgKHNyY1JhdGlvID4gZHN0UmF0aW8pIHsKKyAgICAgICAgc2Nh
bGUgPSBkc3RTaXplLndpZHRoKCkgLyBzcmNJbWFnZVNpemUud2lkdGgoKTsKKyAgICAgICAgdHJh
bnNsYXRpb25ZID0gKGRzdFNpemUuaGVpZ2h0KCkgLSBzY2FsZSAqIHNyY0ltYWdlU2l6ZS5oZWln
aHQoKSkgLyAyOworICAgIH0gZWxzZSB7CisgICAgICAgIHNjYWxlID0gZHN0U2l6ZS5oZWlnaHQo
KSAvIHNyY0ltYWdlU2l6ZS5oZWlnaHQoKTsKKyAgICAgICAgdHJhbnNsYXRpb25YID0gKGRzdFNp
emUud2lkdGgoKSAtIHNjYWxlICogc3JjSW1hZ2VTaXplLndpZHRoKCkpIC8gMjsKKyAgICB9Cisg
ICAgY29udGV4dC0+dHJhbnNsYXRlKHRyYW5zbGF0aW9uWCwgdHJhbnNsYXRpb25ZKTsKKyAgICBj
b250ZXh0LT5zY2FsZShGbG9hdFNpemUoc2NhbGUsIHNjYWxlKSk7Cit9CisKK3ZvaWQgVGhlbWVD
b2NvYTo6ZHJhd05hbWVkSWNvbihjb25zdCBTdHJpbmcmIG5hbWUsIEdyYXBoaWNzQ29udGV4dCog
Y29udGV4dCwgY29uc3QgRmxvYXRSZWN0JiByZWN0KSBjb25zdAoreworICAgIC8vIFdlIG9ubHkg
aGFuZGxlIG9uZSBpY29uIGF0IHRoZSBtb21lbnQuCisgICAgaWYgKG5hbWUgIT0gIndpcmVsZXNz
LXBsYXliYWNrIikgeworICAgICAgICBUaGVtZTo6ZHJhd05hbWVkSWNvbihuYW1lLCBjb250ZXh0
LCByZWN0KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIEdyYXBoaWNzQ29udGV4dFN0
YXRlU2F2ZXIgc3RhdGVTYXZlcigqY29udGV4dCk7CisgICAgY29udGV4dC0+c2V0RmlsbENvbG9y
KENvbG9yOjpibGFjaywgQ29sb3JTcGFjZURldmljZVJHQik7CisKKyAgICBGbG9hdFNpemUgd2ly
ZWxlc3NQbGF5YmFja1NyY1NpemUoMzIsIDI0LjAxNik7CisgICAgZml0Q29udGV4dFRvQm94KGNv
bnRleHQsIHdpcmVsZXNzUGxheWJhY2tTcmNTaXplLCByZWN0LnNpemUoKSk7CisKKyAgICBQYXRo
IG91dGxpbmU7CisgICAgb3V0bGluZS5tb3ZlVG8oRmxvYXRQb2ludCgyNC4wNjYsIDE4KSk7Cisg
ICAgb3V0bGluZS5hZGRMaW5lVG8oRmxvYXRQb2ludCgyMi4xMTEsIDE2KSk7CisgICAgb3V0bGlu
ZS5hZGRMaW5lVG8oRmxvYXRQb2ludCgzMCwgMTYpKTsKKyAgICBvdXRsaW5lLmFkZExpbmVUbyhG
bG9hdFBvaW50KDMwLCAyKSk7CisgICAgb3V0bGluZS5hZGRMaW5lVG8oRmxvYXRQb2ludCgyLCAy
KSk7CisgICAgb3V0bGluZS5hZGRMaW5lVG8oRmxvYXRQb2ludCgyLCAxNikpOworICAgIG91dGxp
bmUuYWRkTGluZVRvKEZsb2F0UG9pbnQoOS45MDgsIDE2KSk7CisgICAgb3V0bGluZS5hZGRMaW5l
VG8oRmxvYXRQb2ludCg3Ljk1MywgMTgpKTsKKyAgICBvdXRsaW5lLmFkZExpbmVUbyhGbG9hdFBv
aW50KDAsIDE4KSk7CisgICAgb3V0bGluZS5hZGRMaW5lVG8oRmxvYXRQb2ludCgwLCAwKSk7Cisg
ICAgb3V0bGluZS5hZGRMaW5lVG8oRmxvYXRQb2ludCgzMiwgMCkpOworICAgIG91dGxpbmUuYWRk
TGluZVRvKEZsb2F0UG9pbnQoMzIsIDE4KSk7CisgICAgb3V0bGluZS5hZGRMaW5lVG8oRmxvYXRQ
b2ludCgyNC4wNjYsIDE4KSk7CisgICAgb3V0bGluZS5jbG9zZVN1YnBhdGgoKTsKKyAgICBvdXRs
aW5lLm1vdmVUbyhGbG9hdFBvaW50KDI2LjkxNywgMjQuMDE2KSk7CisgICAgb3V0bGluZS5hZGRM
aW5lVG8oRmxvYXRQb2ludCg1LjA0MCwgMjQuMDE2KSk7CisgICAgb3V0bGluZS5hZGRMaW5lVG8o
RmxvYXRQb2ludCgxNS45NzgsIDEyLjgyOCkpOworICAgIG91dGxpbmUuYWRkTGluZVRvKEZsb2F0
UG9pbnQoMjYuOTE3LCAyNC4wMTYpKTsKKyAgICBvdXRsaW5lLmNsb3NlU3VicGF0aCgpOworICAg
IAorICAgIGNvbnRleHQtPmZpbGxQYXRoKG91dGxpbmUpOworfQorCit9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9UaGVtZUNvY29hLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9jb2NvYS9UaGVtZUNvY29hLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGMxNDRmY2FlOGNjYmJi
NDljZjQxODNmZmIwNjU3NDlkNDA4NmE0YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2NvY29hL1RoZW1lQ29jb2EuaApAQCAtMCwwICsxLDQzIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBUaGVtZUNvY29h
X2gKKyNkZWZpbmUgVGhlbWVDb2NvYV9oCisKKyNpbmNsdWRlICJUaGVtZS5oIgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK2NsYXNzIFRoZW1lQ29jb2EgOiBwdWJsaWMgVGhlbWUgeworcHVibGlj
OgorICAgIFRoZW1lQ29jb2EoKSB7IH0KKyAgICB2aXJ0dWFsIH5UaGVtZUNvY29hKCkgeyB9CisK
KyAgICB2aXJ0dWFsIHZvaWQgZHJhd05hbWVkSWNvbihjb25zdCBTdHJpbmcmLCBHcmFwaGljc0Nv
bnRleHQqLCBjb25zdCBGbG9hdFJlY3QmKSBjb25zdCBvdmVycmlkZTsKK307CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIFRoZW1lQ29jb2FfaApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ3Jvc3NmYWRlR2VuZXJhdGVkSW1hZ2UuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Nyb3NzZmFkZUdlbmVyYXRlZEltYWdl
LmgKaW5kZXggYTlkNThjNTcxNDY1NzAxZjhmZDg2ZjdkYTYyODdkMmRlYTQ4MzkyYS4uNTZhOTg3
NTE0Y2I3MWExN2I0Yzc4MmI3MTg3MTg2YmY3MmEwZTJiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ3Jvc3NmYWRlR2VuZXJhdGVkSW1hZ2UuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Dcm9zc2ZhZGVHZW5lcmF0ZWRJbWFnZS5o
CkBAIC0zNCw4ICszNCw2IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgQ1NTQ3Jv
c3NmYWRlVmFsdWU7Ci0KIGNsYXNzIENyb3NzZmFkZUdlbmVyYXRlZEltYWdlIGZpbmFsIDogcHVi
bGljIEdlbmVyYXRlZEltYWdlIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPENyb3NzZmFkZUdl
bmVyYXRlZEltYWdlPiBjcmVhdGUoSW1hZ2UqIGZyb21JbWFnZSwgSW1hZ2UqIHRvSW1hZ2UsIGZs
b2F0IHBlcmNlbnRhZ2UsIGNvbnN0IEZsb2F0U2l6ZSYgY3Jvc3NmYWRlU2l6ZSwgY29uc3QgRmxv
YXRTaXplJiBzaXplKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvSW1hZ2VCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdl
QnVmZmVyLmgKaW5kZXggZjJlZTUwNmY3NzBiNGQzZDc4NDE3NDdjODYwMzM2YzE2YmVlOWRlYy4u
MGE5YmU5YmE5ZDA3ZjUwY2FmYzU3NDAyZjBhZjY0M2M5YjRiMTQxZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oCkBAIC0xNDksNiArMTQ5LDcg
QEAgcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgR3JhcGhpY3NDb250ZXh0OwogICAgIGZyaWVu
ZCBjbGFzcyBHZW5lcmF0ZWRJbWFnZTsKICAgICBmcmllbmQgY2xhc3MgQ3Jvc3NmYWRlR2VuZXJh
dGVkSW1hZ2U7CisgICAgZnJpZW5kIGNsYXNzIE5hbWVkSWNvbkdlbmVyYXRlZEltYWdlOwogICAg
IGZyaWVuZCBjbGFzcyBHcmFkaWVudEltYWdlOwogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTmFtZWRJY29uR2VuZXJhdGVkSW1hZ2UuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTmFtZWRJY29uR2VuZXJhdGVkSW1h
Z2UuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdkNjYzMmY2N2YzNGI1ODExM2JlZmI1MDliMzY0ZGI0NTMxMmUw
MzUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9O
YW1lZEljb25HZW5lcmF0ZWRJbWFnZS5jcHAKQEAgLTAsMCArMSw2OCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisg
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNp
bmNsdWRlICJOYW1lZEljb25HZW5lcmF0ZWRJbWFnZS5oIgorCisjaW5jbHVkZSAiRmxvYXRSZWN0
LmgiCisjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCisjaW5jbHVkZSAiSW1hZ2VCdWZmZXIu
aCIKKyNpbmNsdWRlICJUaGVtZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK05hbWVkSWNv
bkdlbmVyYXRlZEltYWdlOjpOYW1lZEljb25HZW5lcmF0ZWRJbWFnZShTdHJpbmcgbmFtZSwgY29u
c3QgRmxvYXRTaXplJiBzaXplKQorICAgIDogbV9uYW1lKG5hbWUpCit7CisgICAgc2V0Q29udGFp
bmVyU2l6ZShzaXplKTsKK30KKwordm9pZCBOYW1lZEljb25HZW5lcmF0ZWRJbWFnZTo6ZHJhdyhH
cmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEZsb2F0UmVjdCYgZHN0UmVjdCwgY29uc3Qg
RmxvYXRSZWN0JiBzcmNSZWN0LCBDb2xvclNwYWNlLCBDb21wb3NpdGVPcGVyYXRvciBjb21wb3Np
dGVPcCwgQmxlbmRNb2RlIGJsZW5kTW9kZSwgSW1hZ2VPcmllbnRhdGlvbkRlc2NyaXB0aW9uKQor
eworICAgIEdyYXBoaWNzQ29udGV4dFN0YXRlU2F2ZXIgc3RhdGVTYXZlcigqY29udGV4dCk7Cisg
ICAgY29udGV4dC0+c2V0Q29tcG9zaXRlT3BlcmF0aW9uKGNvbXBvc2l0ZU9wLCBibGVuZE1vZGUp
OworICAgIGNvbnRleHQtPmNsaXAoZHN0UmVjdCk7CisgICAgY29udGV4dC0+dHJhbnNsYXRlKGRz
dFJlY3QueCgpLCBkc3RSZWN0LnkoKSk7CisgICAgaWYgKGRzdFJlY3Quc2l6ZSgpICE9IHNyY1Jl
Y3Quc2l6ZSgpKQorICAgICAgICBjb250ZXh0LT5zY2FsZShGbG9hdFNpemUoZHN0UmVjdC53aWR0
aCgpIC8gc3JjUmVjdC53aWR0aCgpLCBkc3RSZWN0LmhlaWdodCgpIC8gc3JjUmVjdC5oZWlnaHQo
KSkpOworICAgIGNvbnRleHQtPnRyYW5zbGF0ZSgtc3JjUmVjdC54KCksIC1zcmNSZWN0LnkoKSk7
CisKKyAgICBwbGF0Zm9ybVRoZW1lKCktPmRyYXdOYW1lZEljb24obV9uYW1lLCBjb250ZXh0LCBk
c3RSZWN0KTsKK30KKwordm9pZCBOYW1lZEljb25HZW5lcmF0ZWRJbWFnZTo6ZHJhd1BhdHRlcm4o
R3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBGbG9hdFJlY3QmIHNyY1JlY3QsIGNvbnN0
IEFmZmluZVRyYW5zZm9ybSYgcGF0dGVyblRyYW5zZm9ybSwgY29uc3QgRmxvYXRQb2ludCYgcGhh
c2UsIENvbG9yU3BhY2Ugc3R5bGVDb2xvclNwYWNlLCBDb21wb3NpdGVPcGVyYXRvciBjb21wb3Np
dGVPcCwgY29uc3QgRmxvYXRSZWN0JiBkc3RSZWN0LCBCbGVuZE1vZGUgYmxlbmRNb2RlKQorewor
ICAgIHN0ZDo6dW5pcXVlX3B0cjxJbWFnZUJ1ZmZlcj4gaW1hZ2VCdWZmZXIgPSBJbWFnZUJ1ZmZl
cjo6Y3JlYXRlKHNpemUoKSwgMSwgQ29sb3JTcGFjZURldmljZVJHQiwgY29udGV4dC0+aXNBY2Nl
bGVyYXRlZENvbnRleHQoKSA/IEFjY2VsZXJhdGVkIDogVW5hY2NlbGVyYXRlZCk7CisgICAgaWYg
KCFpbWFnZUJ1ZmZlcikKKyAgICAgICAgcmV0dXJuOworCisgICAgR3JhcGhpY3NDb250ZXh0KiBn
cmFwaGljc0NvbnRleHQgPSBpbWFnZUJ1ZmZlci0+Y29udGV4dCgpOworICAgIHBsYXRmb3JtVGhl
bWUoKS0+ZHJhd05hbWVkSWNvbihtX25hbWUsIGdyYXBoaWNzQ29udGV4dCwgRmxvYXRSZWN0KDAs
IDAsIHNpemUoKS53aWR0aCgpLCBzaXplKCkuaGVpZ2h0KCkpKTsKKworICAgIC8vIFRpbGUgdGhl
IGltYWdlIGJ1ZmZlciBpbnRvIHRoZSBjb250ZXh0LgorICAgIGltYWdlQnVmZmVyLT5kcmF3UGF0
dGVybihjb250ZXh0LCBzcmNSZWN0LCBwYXR0ZXJuVHJhbnNmb3JtLCBwaGFzZSwgc3R5bGVDb2xv
clNwYWNlLCBjb21wb3NpdGVPcCwgZHN0UmVjdCwgYmxlbmRNb2RlKTsKK30KKworfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTmFtZWRJY29uR2VuZXJhdGVk
SW1hZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL05hbWVkSWNvbkdlbmVy
YXRlZEltYWdlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2RlOTcxOTlhYmJjZDZkZWNkODA5OGVkNWFkZDA5OWM1
NGFkYWU0OAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL05hbWVkSWNvbkdlbmVyYXRlZEltYWdlLmgKQEAgLTAsMCArMSw1NSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
CisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgTmFtZWRJY29uR2Vu
ZXJhdGVkSW1hZ2VfaAorI2RlZmluZSBOYW1lZEljb25HZW5lcmF0ZWRJbWFnZV9oCisKKyNpbmNs
dWRlICJGbG9hdFNpemUuaCIKKyNpbmNsdWRlICJHZW5lcmF0ZWRJbWFnZS5oIgorI2luY2x1ZGUg
IkltYWdlLmgiCisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK2NsYXNzIE5hbWVkSWNvbkdlbmVyYXRlZEltYWdlIGZpbmFsIDogcHVibGljIEdlbmVyYXRl
ZEltYWdlIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPE5hbWVkSWNvbkdlbmVyYXRlZEltYWdl
PiBjcmVhdGUoU3RyaW5nIG5hbWUsIGNvbnN0IEZsb2F0U2l6ZSYgc2l6ZSkKKyAgICB7CisgICAg
ICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE5hbWVkSWNvbkdlbmVyYXRlZEltYWdlKG5hbWUsIHNp
emUpKTsKKyAgICB9CisKK3Byb3RlY3RlZDoKKyAgICB2aXJ0dWFsIHZvaWQgZHJhdyhHcmFwaGlj
c0NvbnRleHQqLCBjb25zdCBGbG9hdFJlY3QmIGRzdFJlY3QsIGNvbnN0IEZsb2F0UmVjdCYgc3Jj
UmVjdCwgQ29sb3JTcGFjZSBzdHlsZUNvbG9yU3BhY2UsIENvbXBvc2l0ZU9wZXJhdG9yLCBCbGVu
ZE1vZGUsIEltYWdlT3JpZW50YXRpb25EZXNjcmlwdGlvbikgb3ZlcnJpZGU7CisgICAgdmlydHVh
bCB2b2lkIGRyYXdQYXR0ZXJuKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UmVjdCYgc3Jj
UmVjdCwgY29uc3QgQWZmaW5lVHJhbnNmb3JtJiBwYXR0ZXJuVHJhbnNmb3JtLCBjb25zdCBGbG9h
dFBvaW50JiBwaGFzZSwgQ29sb3JTcGFjZSBzdHlsZUNvbG9yU3BhY2UsIENvbXBvc2l0ZU9wZXJh
dG9yLCBjb25zdCBGbG9hdFJlY3QmIGRzdFJlY3QsIEJsZW5kTW9kZSkgb3ZlcnJpZGU7CisKKyAg
ICBOYW1lZEljb25HZW5lcmF0ZWRJbWFnZShTdHJpbmcgbmFtZSwgY29uc3QgRmxvYXRTaXplJik7
CisKK3ByaXZhdGU6CisgICAgU3RyaW5nIG1fbmFtZTsKK307CisKK30KKworI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvVGhlbWVJT1MuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2lvcy9UaGVtZUlPUy5oCmluZGV4IGYzY2M5YmE3M2Q5MTU2NGMwMzA2
ZGZjNmJhMWNhNWRiNDE5NzI5MzMuLjhkODA5ZjIzYzVkMGNmNzM0MDY0ODczYjI5YzQ4Njg2NzA1
NDczYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9UaGVtZUlPUy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9UaGVtZUlPUy5oCkBAIC0yNiwxMSAr
MjYsMTEgQEAKICNpZm5kZWYgVGhlbWVJT1NfaAogI2RlZmluZSBUaGVtZUlPU19oCiAKLSNpbmNs
dWRlICJUaGVtZS5oIgorI2luY2x1ZGUgIlRoZW1lQ29jb2EuaCIKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1jbGFzcyBUaGVtZUlPUyA6IHB1YmxpYyBUaGVtZSB7CitjbGFzcyBUaGVtZUlPUyA6
IHB1YmxpYyBUaGVtZUNvY29hIHsKIHB1YmxpYzoKICAgICBUaGVtZUlPUygpIHsgfQogICAgIHZp
cnR1YWwgflRoZW1lSU9TKCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tYWMvVGhlbWVNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9UaGVtZU1hYy5o
CmluZGV4IDlhZTFlZDExOTRhYzRiMDJkNDdlZjc3OGFlMGNjMjU4OTRiZWFkNmIuLjgzZGI4YTg1
YjU4YmIwOGI5M2U4ZmE2MTFjNmEwZGVlM2QzM2M4MmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21hYy9UaGVtZU1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21hYy9UaGVtZU1hYy5oCkBAIC0yNiw3ICsyNiw3IEBACiAjaWZuZGVmIFRoZW1lTWFjX2gKICNk
ZWZpbmUgVGhlbWVNYWNfaAogCi0jaW5jbHVkZSAiVGhlbWUuaCIKKyNpbmNsdWRlICJUaGVtZUNv
Y29hLmgiCiAKIEBpbnRlcmZhY2UgTlNGb250KFdlYkNvcmVUaGVtZSkKIC0gKE5TU3RyaW5nKil3
ZWJDb3JlRmFtaWx5TmFtZTsKQEAgLTM0LDcgKzM0LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1jbGFzcyBUaGVtZU1hYyA6IHB1YmxpYyBUaGVtZSB7CitjbGFzcyBUaGVtZU1hYyA6IHB1
YmxpYyBUaGVtZUNvY29hIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
ICAgICBUaGVtZU1hYygpIHsgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGM2ZjFlYWM4MGY4YWQ1MzZiZDk1YjgwNWYwMzhm
YjMzMTY1NTVhM2UuLjcxY2M3MTg0ODMwNTZmNDBkY2Q1ZTE3NDJkMjhjNTM3MmNhNDFmZjkgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxOSBAQAorMjAxNS0wNi0xOCAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBs
ZS5jb20+CisKKyAgICAgICAgUHJvdmlkZSBhIHdheSBmb3Igd2ViIGRldmVsb3BlcnMgdG8gZHJh
dyBhIFRoZW1lLXNwZWNpZmljIFdpcmVsZXNzIFBsYXliYWNrIGljb24KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NjEyMworICAgICAgICA8cmRhcjov
L3Byb2JsZW0vMjExMTkyODc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGVzdCB0aGUgbmV3IG5hbWVkLWljb24gQ1NTIGdlbmVyYXRvci4gT25seSAi
d2lyZWxlc3MtcGxheWJhY2siCisgICAgICAgIGlzIHN1cHBvcnRlZCBmb3Igbm93LCBhbmQgaGFz
IHBsYXRmb3JtLXNwZWNpZmljIHJlc3VsdHMgZm9yIENvY29hLgorCisgICAgICAgICogZmFzdC9j
c3MvbmFtZWQtaWNvbnMtZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy9u
YW1lZC1pY29ucy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9jc3Mv
bmFtZWQtaWNvbnMtZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMv
ZmFzdC9jc3MvbmFtZWQtaWNvbnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKwogMjAxNS0wNi0xMyAg
Q2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgogCiAgICAgICAgIEFYOiBXZWJL
aXQgZXhwb3NlcyBhbGwgUnVieSBUZXh0IGFzIFVua25vd24gKEphcGFuZXNlIEVQVUIgYWNjZXNz
aWJpbGl0eSBibG9ja2VyKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvbmFtZWQt
aWNvbnMtZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvbmFtZWQtaWNvbnMtZXhw
ZWN0ZWQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgzMzExM2I4N2EwMTNkNDg3NDRjYTQ2NWVmZjY2NjlmMmNl
NGJkNDgKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDQyOTA4CnpjbWI2QmJ4QFZ2YHZye0MtQVo+
IU4lc0srcSNMQldrP3V8YjBjbFZ8TDZBX29yS0I2QWx8IWVMRylPbl5LRntPeAp6JmlDYHFAMU5o
eW5VUGBTeklSO3Z5NEpQVSs5ejZGUlNwfTIzPEN9aDRxSEs5YFVNO3VBYEtpSWYqdStRXylVZykK
em1ARHspI1p5TWwpNiYtMyghczthMzY3N0srZVRReExSaTNEU1d3VntrSVMwUkxYY05UUHs1cW1v
SlQ7SWkjdUV7CnpKUC1VNHl2R1o8PVdyRkg2eChvYzVeeElBbDNLcC1kcyptPms5I0xDYUIxPnIo
Qjc8dShZJCQ4KTBxRFRBNmAlegp6ZTw4MDJJcDBzPyhYX20+bWM+JEl5WnU1dTx8K1kwT2RvUERH
VHZpIz17SiVSR1MtO0ViZ1dAdiV0YlMlY2pQeHEKejJpWWJpNElpPlVnb3VxVFkqJjxNZGhQaTVV
d2VDTFhPJm5NKE9AeDFBcEZscTlTT2xKUnZvcEoyQTwlNUtrd2l+CnpYajxeKFVtXlk5UG1Kczwl
QX53cDg9MyFraDZLWGl0MFNgaXtjezNsR0koIV5uOCp5bVdIfEpzfE1SSXI+fmk/dQp6aHN4KkpC
RihfRmtsRWA8fExAcDNhTF85TUtmPzttISM2fHlZK0l5e3wzNDIrZig7aHN8QmUqPXtRdVdyTHNl
cFEKejk8a0I9X2N+QHcxZ3srXjMjTTQ5ajZ5ZTgkKExmc20jS0sqJjVCcWZIZ0VyKGpsXlN3el4o
WV9ZfFNsdVNUX0E+CnpqT2h0cjVNTTBFRzhGIXMtVjImbnFkKVV4VnkheUVrZE9jTFF4NlRNdlRl
K313RFQpRCZzNjJ8eGh4clpGU3lDcwp6RXd7RFNJIXZveHMoKFc4QiQ3bHhOMkB9NzNyOGpNfDJ7
QGglNTE1e2tIPmpJPSExfTNVZCEyKFZVN1FwSi1iVz4KenBCPiN8dnJvRGRqPEVGZyNVWkQwbGpv
MU9tUU0oMUxRbTE0OFpPdkUpbSZvUFBvd3tDOzl4ZUtFWlhzPFo8WU5kCnpFMiomaVhWS0dmc1cy
UlFHSStgKVRCKm9eJTgpdzt5UXdtTEdNTkdjU3JleVpkd1BBbk4hVktORDM3QU5gI1dRPAp6Jj0j
PiU0JTBUSGlzbDBkRFl1MzYyKClCe05Mc0J8dE5pT0lNQ3R5dFEyY3hTeWZiPDB0Mmw7Wm83bExG
Py1yJFQKelV7JG5qVG17bnFqLXZ+MGVJeGd4YExPTlhaZV9jUGJJVHZ1UEItcVolfWZgTD9udngr
O2BlX04hYDVDendhbnh9CnpEZkJ8RFZJISM3YCMkd0lmK1E+dXtDdX4xPU10ODBIdzl+fnpRNjYr
a0pqdV43MT9MRlNQcDZicm8pZ0JYdSN1Rgp6QzFjPVpGM2V6dHphc21aMnREfWs9OzY+KUs2WUg2
P1FYUTNqSzFyfTVoPTZFIWorS2RNfTxmYlp9b3N2a3dnV2IKekBhbDhfVGdKWnVEPE9sJkpaWDZH
YURVUDZlKjMzP3M3KEs+ZCN+SDRwen55PVBrfUd5WVY5O1ZUTlNOaV44YH19CnpicUdQTW1rY2dB
S0smYiZ1T0JoQE4qJV9MQD4rR2dmPE0wY3tWOXF+Rk58V3xAb1JoPnJISVpzaD1JSCo2QVopMAp6
YilqV3R0bXYqN0lAJWRvQGxYQkB6Uis3ZC19fGZJVXdqVWl6VT5GVGRKS15yJDhYe1IzJjIzJWZn
e2Zvb2J2Ym8KeiE0dD8hdGU4R3JyJjkjJVJtK15YciVHc1IlNTdtfWslR2ApZVlFbnA+fmZEOztx
UVNXUkxJZXIyK2peVDVkTTFkCnpYRHZ9WWpqJiV1VXsqVFllfV9mKmRNbHJJeD4+SiZwb087VjZf
TykzaXEpTWZ3RXJFaVNNdUNjey15IUB7S0JobQp6PSZjcjt5clBxKkRAeyRDeW1wXn0qRzludDd3
b3UqOWtlSn18NnMxcFZQaXJ+SlhJIV49PTxMNlNMQE1fIXBHZ1gKejt0VWxZVXE9TXFySkR4cDwz
UDRAZGFSS04pdiprYkNkYz4pMkVzc2k9Jk1fUV8/dUFGYDtjbWF4OSt5YDZOaF5qCnpOX0VPKFJN
MDhvTEo/NjFxbldhcWdSVzFMKzNSUFhtek1FNk9ieDdtZWBoYFhwOEkmMWNNSmB9Pj9VPXhJa0dW
Iwp6eFNWM19KPEk1ZnBYO3RhUHAxV01MbGNTeEo1VFVoTUV8WURoQkQxaSlLWD5weStNPURBcVJF
dnJUSjU3bEV1ZEwKendAVH5hUTdQO1YzcF9mY1kyJik0TDUjU2ZOM1J3PENzYit6dWlWKW5LWWdO
YkRBJnN5bUs0aWtPfjJeUmJ5Y2VOCnp5XzEqJTMtJiNPWWwhTFo/KHh0a1pBZnR2eHJ5Sk1QOSNV
MF57bUNQUlV+MEBHKWYzODJjOFRaT0NsQD5VMVRrfAp6NTMjJENASnxta0VDLVhQTyE3TDc9U1hn
NTtFbmFYUFMmNUolZTg7WjZnbVQqOHkla3pfVFIjTUsmdFdJWTZYWFgKekJRS1VDMjViTVE4I2Yp
RlVSRTl+NjVXdDJ6RncxT3YyWUVLK2lETjlnXmhgKThBcj1lKk1QZUBnOG5SQm5NdUpyCnppOFI8
Uy0qT0U3N2kyc1BOZ3pVN3s3I1RXVmslQUJPKX1BbCh3QllMO3h+KDs+ZWFqQUJGKjNEKTI1c0Y3
ZmImYwp6b3k/SSReZ3pBZkZtN1VpY0NjaGV1eiV6fmliSU1+MUVwWTxfaHRPdzBWWCpoKm9tTDZO
KE9gWkB3Y2pQMyQqQmUKendiPms5TCM2Vn5zZ04oWkc2XzE8X0RCfClEJShRd3tnb2w/UVA4MntW
bkZMO2AxdVIqNU4jKn1RWHtAT2ZxeDMpCnplK2R8ayhlLXpoa0wqc01XQmM3WGtKcFlDaX1yNnNZ
ez16R0lDNGRwVlo5XmkrJXE9QmgxPE14U1Zpa1o1PCh5dAp6anc9M2R0LU8kYTJKWWU8ek12SEdQ
TUl2I2IjUVk4SWFje1NtISRXYzlhSChPeyE0PksqSVd3czBhfW5rMitCKWYKemlJaDY8REFjaWV6
dXdAZ285QnlOWSpve0hSZkp4OzQqVnBHV0UtKm5vKlJMKiFsVD04MCNEcW0yYll+YmlhSzAoCnpH
QWZjdW5GbklSVjk0Sz1aRWhJa2tybE85XmZkUjVAMU9yWWQpZiojPHFaZCMxPEpgTHReUmkwanRo
O3whVyh2RAp6VmkoWHMoPi1OZ25fKF9OUUs7OE0/NiNyWi1yTVhuX0x6fl92dCRXOGtjXk9pbjNN
Zj80a2E4Qmp1XmY/K0w8aDYKelFoUnB3ZEE7cj1SQTNLODUwQyQ7dHo/dTAoXmtFNDtuUGpwUChA
Z2hfQGJZKFB5MDY+RGV5P2RnSWlqekhadSh9Cnp1JkFGSTtmVTtVbUE4QnVfOGpLIUFFK3wjdUdO
eTU/fGM9Q0IlaE42Uzc9N2FWfitMcm0wSjl2ZDxBek07Z2NYdwp6UXdgIXpxJiFpe1U/NCRlaTJ7
KSlFPGN0bnJzQzZWZW9lUHJZZDZ0VmdJcksoOUB+Tk9VTEp2dzFgR2ZfPWQwcGgKekpUYnI8YFdk
Jml2Z0o1dFRiUSpoZWs0O2MtRGs7PD40YjgkYH05bykmWTBlTmooVkdzNDBWbUNDNVE3M0YxRjl3
Cnp1QHN6cz4yajxvPGZJQDhBKHk2ez5JP29pQkFVP0JpWUNRVT9Ve2BoP05Te0J6bXBYNz59dD5Y
cUQpUzt7ZF45Rgp6Qnp+fUhSeDBsfHs7TzlYQGEyIUU/aVBLUFEkZ14pdUo/Vm95R1IjWUB8Nm5F
QFVhYio4M25VUEBweD0/dTwkTEgKemU9SmlfNGRRYl5rdWs8NU1QVFRnK0FsO2ZmQ3dKOS1pWk1Q
aX1PIU9YTU5xI2RhKj00TV5KWHJjeXJKXlJEVGtSCnpsODVjSD0lczZHbUBGOTt0c14tc2pYP011
WShKcmV5Zz5OaHp4cWpzY1RzLWh2bUM/KCh0Y347KmAjaTAyXkorcAp6Pilfayg+PC1iNXg0eV5V
blQ5TUEjZlhaV0Nrai1vWEtTbyR6LUZPdG8rIXBTVXs9PFUkUllVQWY7ZW9eMy1rWjQKejNWd0x4
M280UzcyejkxJlE/WEktKXJSJWJQbEdlQyMpYCM7ZnxxVT5sc3J9RDBGS1NiKF85aXVEZ0tSSzVT
bHAoCnpEe1ZJaW0/S3hhclZqPUhkLVJWN1pvSkxhRUwzJTBqYkA1MERlWm56aXc4MCQyNWtxNi12
NElgRlh6VmtzWTlOWQp6OCNkcio8cCRxZipPK3lOalIlSEN0YUlVRzl5V1hMdnFxWEQqKkFEQHt+
WEF3NnNrd2wzWDVoKUxQVmZ8e35uNTgKemd6JEkmUWJhLXZLTHRaLShaZi0zRDtoXnAkKl4mQzwq
MCleWkV3NnRCOGEtTTd9VmlHbU1WcyR1UjtJcyNNdlcyCnphSG41PjNpMitWOTQtc2FzXjhgc1JG
KSlDTWk4YjBMbG92ZyhmJSpZTWUqSzFfRndrSzVaM0oxJnRzaFQ5YnAyOQp6KEw5X2pIcVpIT1oh
UDN7bzVebXZCSjF7fHtvJXxCKTkzO1FWaG4wK2VgV1MoO1l8YGJgKD9rQXBoOTs9Vm8yMTwKelJz
SFlYdlBqdU09ZCZIN3MySz47JjhaWUM9KH1aS009PjFmQWh1P2A1KHR5M0FwaEM3QmdfUTw0Um0/
PW0wbl5+Cnp0ZiNxPjtWOCRZcmd5QWRZSyNvb1poZlM9blFXMk9CfWgxcWkwSDJZbz8oYz9vQWBn
UjlSaio/N0tFU2NaZD9qQwp6NmBVYG0mRW5UUmwtQEl2PWdUMXY5Ujt0ZUYmXjh7cD0rVDVjKXs5
fTxjUlgkTFdYdFJVWSVeNWpFVW94VUMmcjEKelZrPWpFP2c2aHc3QzxmUWh6bXQzYDJlY3dxKz9L
aCo1NFE7QWI4Slh0IVJkeD1+eHF1TVohZWBoUT03X0J7NHE1CnpXc30reT9uRGRFMl9VPyRoQj9M
RzdiTHdSM2F5SVRIb2FYWHU5PyZedmBmYFN8MWo2ITApdj83anU/Z0okZ0FjUwp6Z2ZLamU1alh0
Z0tSbTMxKUowVypFNC1kbVJ4O31KRSRIU1A4X0hmYkxCdT5QTzs3e31wMEQpXmUtYFFRVmxnOSEK
emYpbzd4PU5CYyEocX4mYTtScTlLK312ZCZXKz5odTNkJihvcGZtSiFAJFhJfkMzUyM4Z2BoTyFf
O3V1U3p7TnFSCnpBMWdRaCNBdyVabDRkU0hQfV90YmZzdVNIbXN8WTF0VTBmZG1WeiE4SkxaMTle
YDF9PiMyKGcrank3fkB0PW50Ygp6dHE0YFl2P1BXTmlQLX1URGRpaHtAdzVMSEhBWjVfQFJteDxL
U2k8Yj9LSnQrSWhReDEzbWhROzVhXkJzZz9rWE0Kem9nVnlyV216UHc/bDs7emB5YGwjSHFVRDxa
RVJ4PXhjMnE1N1JzSyFtUlEqM3t5ZFloVWUkMUUtMFdUYy1PdmZ1CnorekhvRypRc1NAWEA/SDQ2
Y0lzTWU7SGFNKDUpdFpYUWlYajtPdktzel8+NXsqe1QwKmNSR3smWTAlfWJzTj5tfQp6cFQxfUNK
MUNGRmxNQU0kdV5URF4lPCZuVig0UlN5O2JrZ0RJdmMtNzYwRElxPHB6SHklIyFFN0k5UXkwTjEp
JkAKend6RVpZanpfdGZwaWBMT0p+SHZtPEZ+fFFfWTUpeVohKiYwTSt3Ul5JSV5vVlZQfHtwb3xx
VTZzd1dgYkdKNTxUCnpPLSsxdUV1WiNPcEtkNmZHbzc+al9DPyMoQ2l4WlVRJmZWZ0IhM2JhSSt8
WklGTUgyQlNyPXdgelhobUQ9NGpJYgp6MjdqbEA0VC1mNmkmN2JAV2VEX312cClyMjdzcFlGOFQ3
QElHZmZuI3JGLXA4JkEhNy1zQWs1T256Kn5VTmJkfHMKejlSZzMkTyk4d0RkcGtvSD9PNWtGK1NJ
RHhtQEYtQD51cyVsNTBFPmp1WVJAZkFCJX4xS1M3UmhUcTxuOFQqZDdDCno0ZUV9N3NsfCM2aWl6
X3xvNzNHUEptKjZEQTA5K2JwYCUjPHBPOEhjfDgoOTNfRVktczlzWThmdWplLW4pfHhrWAp6JWBs
eWt1bV5ESCRpdGBMWTFGLU4oYUZCVyl6Rjd7U25sPU94cithdEVFYFllU0Q+RV5zam9VZCZPe29G
a20mVzQKejdfV3ZFTiN6V19AMyY3NFlNQllpVll2NENibFdsKmwqXzZHci1HRkF6NyVPOSpYN19G
cipHJFQ0alVne1crIThsCnozLXFpU1NESntDM2MyUE9kQ3l3Y09xJkdzdmdRLUt7JTR3dVJZUktP
fE5OOXFhPTh1aUNCZ0A+ZmNsa2smZHMocAp6YT9Zci1iamVfTXlXVFooNjMrQV45V3N9VktkdD4j
MGNabThyTz40SGpHeEl0cGpjVHFFUDl7eE0jOzxed3E5aHIKemAxM1A+bz42cHNrPm0wO3lVdWpB
NDFianNJYXtvUnpLX0p3YDV0STgoJmVjOXEpbUsoQXolSDlxVU5ibnl9TGYhCno3QCR1fm5OU3Jg
TnIzRFc4TVJDKnhMZH1zI1RJTCk4QFdmdmtAMiU/RkJOYHRrQVkjX098NWIqT3BmcmIpajAkZQp6
QnwxWUMrZDspJWhJKUNyT2hJeylGQV98TW5kU1BfYVQzM3wlfDBVcTI8VENKcyt6P3JxQTY2Y1B8
bV98ZVMqKmAKem55RDVAPUN6PX5uRyRSekJVbE9aLTVtYlZyVl9PTUM0QykwaDZAJEJ1bXBBbE9m
eCQ0XigyV3Nld3JfaUxvdE1HCno+dUhBMCQ/WHEhaG9MUytLZDEwMUtaMGFHYjw1ezRyOTNNOW84
c0c2VWhIU2tQMXh6QyZMMUMqU3EmdTdoQXdiQgp6VkwkWTZAOD5HS2R0emcjUSklTClgbjV3VWRi
dlAqWXV0PSVTXylUOzBUQmdqZkV8JWw3SiklczkhXnVpQj1DPW4Kei0lZkdpQFE8eGpIZURpe0wz
MXBLdFl1I3V4NDFnNE9Cd2ZFJnxZPUZWdGVvJUxMdGRVbTlVSTlJJWpeXl5PQDZwCnpucHM1IU9p
UjRKc3V4MDRsbmc2UilPOUc2dGNUSip4RDBeKEZ1NE00K0BjZjlqPDdkWj9gYn5CRldRa2ZsPWNa
fAp6dU5RNCZPM1lBRkAyPHV8KGcwbz17QSVTWEclQj0pTWFwTkpIMmRkaF98JGA7cGtFQk0yUjNy
dWA7bUE/aU5jI0MKenF8WDh5Wl9nQDJ1dnNKUkstT2I/QD02dU9XTl9zfClWJUJVXz9hb0FqJjct
Yz9SSXJQNnxjQm5yVDEyRFJLXkFXCnpMaSlJe2NAZzZnKiFrJmZVeTlWQGtYNnVlNG5LX1BnQD5p
dllea1R3ejJAI1BVX3YxJVFiZSNYNV9NUDRwJk1lcgp6U0p5MCRCWEA0PlJMODhWR0pCUnp5QGYp
Vj4lYXsjJig8Sm9DMiE9OG03bHdBPj1geWNIaSE0U1BvUUN4OHRGWk0Kek83NHwrVjJ7PlJlYEp2
P0p5an4mKlVPYURMIUBBfT0wS3IjVHNMalBufVVjZyNTVjlJeVB3Q05kTTtgQiE9fD4/Cno9PW9h
Kk1ZKGdfa1Z+bll0aSQkKWA/b25TPShpJmNQUyhjdktefHN7PUdjK1JraXh3PE04TjY+ZnpkVCsy
MD5xcwp6bW5oNFk8X15KbiREfTN6ckVCUCp1RFVAcjlgcGNSWjdrdjJuZGlGUkdnYW91d3s5TX5e
YihPN1g9I25jVGVaYz4KemdpYEdDb0pGVyF4PkRuSDV5WV8hSDZ8T305TTN7dyFBb3Z4OEtraFcp
cU9kP2R+ZEBuSUVVUD54bi1oNCU+ez9hCnpfMSMwPlUxZlhWeTdoZmMxK3BobjN9dVFnem0mPXlk
bjQ1KDFTOXxQYnNQeklvJjwzJFpkKWhVKTIkaTBHQXZNTgp6bWVBSmc1eVBUaClRISh9c0MzXzNz
PF9BMXE/RjFeVk1takpSKWJHbU5ZLWZYT3lZdSVZUDZmPEolaXZBJUdxUmsKeklpZSVvMnxUUjJE
bjh9OWYkZ25FZXk2JEdvTSY2PSttaWk2IUJ9cXh1MmE4WGBYYz80Q3EkampLMF8oSTVNQXQpCnpf
en5paFE4IUdjKW5qfEhIPVpvMlEtdSVYQ2c0WmF6S0hMNmcrNWJNRWJxQDFgO3FOQ3t9PWpMZUFA
TXNvMGRPKQp6PFQ2Z3gyMm9aOytafUQhTVJsMmRUQGplRUJAXnhVWFBsLSU5b1lZfiRRLVJePUU9
dkxBeS1PJUNuSktCaGE0dkEKejQ8emR5aGA0LVduSHt9WkpGZjIhaTAqRWFPS31vQVJNcjh+Sygw
VjhSTHg9cUBSVD5gZWdBflNhNFFFX3kza09vCnp2e3J2e0E3YCtaU2hyT3RkX2VCWl50QFQ7VTE/
PlRlTiRETyE2KCZ3VlVKRHUhPT17VndwVnJMLUkxSHc5T2V9bQp6VVZ+IX0qPDZONStnWntBTU1l
Y098MypeMjB+dHFYWiM0a3RgUCtObCFNSkdZYWNQSmJrSVFKZ1V4R0dKOzZlbzsKemZXUnViYWxq
SypYc15KKXY+dWFmUCElZlQhRkprXnNTeExQKSlnd2BMSShSRDBiUF5adz8+K2Y4ZHN2Y2YqO293
CnpjVmkqPG1ROWZKa3RGeDc/QFhUQEQ7Q2pOaTdMe3lge2kkJUZqJHFDdW9GbUUjM25lbWRAJn1m
QlRUUjJtX2lvXwp6LWJ+UUhoPnhaKFU8fCppXkhtQ2s8T01eO2REWn1KI0g7bjJIbm9tfkIlKDko
ZSk7YWVyJSVWd2lCTys8RUFkQ3oKeik4QU4zKWlVcVArP0JSJXp4dn5HRSYxPVZ2eF98V2V0TnhJ
TiE7P3xIQWdCJW1tQHkob1N7Wj9nTkdnUloqJkBLCnpoTT9Fa1BPSU0+bFUlays3NG5JYmFJNDJR
amoqSVlWcDhReEwxaGgqZDcmejRZQGdjX0R0cn0xO3I9RVVmP1pzWAp6e2ptZFV1WShKaDdQa0FQ
RWZMNShUQWJBfWsmPUZXU2tUXkpOO2NoVm5GKnpSNmB+P3lsMU9BcSFgRz51byYqRXIKenA/WUdg
V3gtZzM/X3pSVzV8SGxvXzY2fkdOcEs3OGQwVnN+bCkpJl5VbXslPllvcmNiPWMqKSkmQG9pWUIk
YmhVCnpXM2hlN1A1Z010dClDTTRPc1leM1RlMlJfIUdtRDdzXiRZI3lhYShFTHZubjxtaz8pVlZo
I0Z3PGFWKHdxS2taNAp6amQrS09aKytfWWIyMTsmYzl0UDhGJUdyP0NKP00+eVNBNWQzTHxSe0dC
TjdGZCNYaEYmbGNJJkxYemcrR0FoTXsKeiFFc1Y5IypWaGBTdEteXlJ5ND10a3ltZ0J2PnNTO1ZQ
UGhqKH0xMjlaP3xOMHdjaXlgM3d8OFd5JnZAVWZCVXttCno+b3NgSU1QSkd5QTJ+LVVjMnI8N3tp
dDhoRU1CMDFRciZ4RGckWipeXlQ0bXhLTDJ5JFdLV3QkVnV3VmI7I3RoYgp6T0g0eyUxdUwoP21z
Q0xyRmEpQXdEc31pI3VRN0k2JFcjN1dWP3FZJio0dzNkVXFES3dAVGBJPnNAaGt0dWpARWwKekVa
fldhODg/ejw2fSRGN0RkVD5YeEU7KyhJfVY/TmV7eGheXjk8cHZZUn4qWlhRRnlVKW9yUj9WYDNi
XjMkZVFACnokMT04eDJhcEpVVkRRYGdgXyRkeHhYKHh+NSRsJXVUbygjZCRVUz1VcDxKSD1qfWBJ
KDRvPiNlJkR7R147IVIrOQp6YE1xUyhpUEVYV3UlUk0lc18lMTJnUXxJPituUlp3Ykk2dVhibXRm
bSM3VHYmUlApKSUpKzJjZmttO187QVJjKkEKekF2Z09DZyo9TkducjZRT15IWHBhTXlHbmt5UD4o
NW9HbzFFb0BPJll1Z3dnSU5ZWW1+NmtyKjc+aEE0O3tucztXCnpSMXwjX0ElRkI7Qj5nN2VwdFQy
fERJQkNGenUjRkk0eExJLWZUKU98MyFefHAqQ0dxbSlBaDtfTjcrTm43NGVMVAp6YFZxXzdDTTA7
YDtLbUt1Jl57eWpSV0hqd0Y7YSVfX0EtQzkhTSZVNVFhamdlemZONj9FVCV3Y0VNPWQmKHZZTHYK
ejcpTmY+d21BQTRwPSRWVVU/Kml2XiFsRzxTSm9DO0M7VnJIUCN9c0w1KWxPR0w+b34rTUR+Rm4+
QGgybz08QkskCnpKQ3h7c21vVjF3KGhgMG9sfkg+eSZnNXo/PGp8OVEtJnUodmN5fVRiR3ReQGlO
WmVobkNBeDcoNDROLW1qbntTWgp6KTh3TGskYkY5OSg8SExKQFpRdDZRfDhtYmJHZklSc3diVnNh
XyE4MVQrNzQ8R352I0NJJUlQbigqbjh9Pld8KmAKemt+MjBrKV9lOH02OCVWSmc8K1JtT2kjQVJm
SGpNVD1ePiZmMnQpRUBkSEJeUzhhTlJJYGVPVWA5LVRoYGItY0g3Cno+NkNsVk91ZUJwOzB0aHQ7
O35KOEohN3glVCRPcUZBQ1BaJnw3Ml5LO2hndGt6fkdWb01rbVdyIyY+cjx0bilZUwp6dHRjQks/
KEhsYUQhbDR5QWg7cCpYbCZ1ejNgdjNyVVh1flZaKiFLQXpKdFRZPGVFaTcxU0o9TSFOdD9WVyR+
dkQKei0rdn5HbyRMOTVaSSpGVENvRG1uaT5uV3BUPFJNQnokKzhLMTEqfVl1fnJmVyUkVVB5WXx3
YjZza2xhXzstblZsCnpWaCVrYmRYamBGTFpheUxvOSYoSmNXVGR+d0kkfjNvbipYM2t2TWN2dkI/
LSpAZVFebVJpc2tpc1hgUHNOMys9Uwp6PHIwWXxsaXk1UWFZYmRpJkV5Yi14bU9YKSNEVlN2d1Yr
PW1ATTYodDE5WlNLWSRpMFFKYDtAdlUodzk1eD0zdHQKejl9T3t0aXNDVVZwaH07MHR3U317MnJ1
biRHM3xwM25GWkA+KSlHVl90PWF3ajBZZm17RGdfOHZzdUlqTzkyQiRVCnpMTjNjYnRTRT9tYiZ2
dXo3Y188NmdPai1WZylgOzhvaFY9XmtDPEZIUWdzS24zcU50cFRya15yZ2NHYlUyT05yaAp6VUJs
T0lCUkl+ZDR7TG89V3R3N2VOQyQ/TnhiVTxwM2NJNmJBJCQmd3J3VXp2a05QVzZNPjtYWkgrRj1v
NHZNMHMKekJDKFFqcEl5P0Y9LUoqXnJJKHB3TndKeHM1SE0+WkZtQXN4M2ZRbVgzQko4bHhBTUot
NTQ4OCQ4KmxPWm9eeV9nCnomdV57WjBFS2dFSzR7dUsmVEFAO3g8TSZoKDB1WSFaNnQoVyZgYkhu
eio0fkJLQXo5K21pIyg4U1lta2ltTSElZwp6KCYjekZkPlIhZDFlZzhsKy0xfUlXOHo9cmhBX1Vt
WXZENn56NjZCeFYrJTwpUUkqMXkkI2NLJDliI2Z7X1B7XkEKeiNLQyNodERQOEdnOFglQ1hATjwy
dmVRNFJISlhjMnR6JG5EKXgjSEx5cnVsNmpGQlk0aHt4PVlpWD5IZCR3V2x0CnpmNFc2R0lIYVky
fEZ4VEFafHZEayolVkhkRkRBK3BLbEdXMUJgVk57NVpAR15TRCZUMTBPRkthanRncXgtVmYjMgp6
NTdVeHV6O1VMYFB3OCE4UD4pOSVlUmt1aGFZSDVUNDNWWG9kYDZsbGZYKE5fbDR2OW1mJDRkJEZp
VWFQaHFMOFkKemtrfFI3TzY0Mk1vKDEqZTZ5bWErXiNNRDwxPXNLKnYzOXpsWjQ1S2RMcUx+OU09
RFl8OVpVRjQ0MHdfeF96QSEkCnoqQjNtLTJzaG01bElvNnk9PEdZYzY9bTVZb0BAeD8/LUlkYWN4
VHt0NGpociQraktNMjJseT1MPmNjP0V1WHdmUAp6d2pqIXJrTnUjNTlCZ212KiVrJXhlPmdZWFAp
PzNjNEtReU1ORX1VRGJRJUc4IW1GT0RQI2djZWJOI25Ob2I1KGoKelhLeSspO1I/Kn1tTEtqdWBM
IT9HV0lEQypCS0xGJlJBfnJEUi1HNWohdXg/SlNfbDA1MEw4PzZaY0ZLWClPUUFBCno9OUVjWGs7
Tj1zVmUmTERreiVlKkg+ZSpqcXBvbi0tQHIlS1BnZVlAclYwIW5XUzV4KHE2WFdiTlpSWD5LUngx
cAp6Um98c3RJcDFTV0VTNyZnez1gWGdyaypYbnBzPE9jczt2OF9EWUNtZitefDBeaEN+djkhSGwz
STkxNiVfdkpXVCkKelZpd203dlUjTVpYdn43bWRFTm8oSUZ5aHJeY25YflMtV1NhYjF8YypjJmR0
RiZrWlAoNjI8UmxKUH5xUWw5OUYzCno0ZCVZMm5+K19YPHIoVmgwaUd6PVMhYEdpVk04e0BtSjt1
MiZ2aUhUSj5LQU5BbVN0XlA+TXV1dlpaNE05REZOVwp6MnN8MGQtM2UyZnY4V3E9eyRnTi0kfTZV
MzlDdzI2c0g0WEEyYzQ8UDUkXlUlSTQpNiheLXBZUDRyZlpRQUBnU2gKek1OYmUmV2Nye3ZNZXEp
WEZrYiN3eFEzUnlNUz9HelV+fHBHe2YhKF5XVnpXX2NNTmx2IXw7M0p0QD1rM2VxZlpvCno9IVF6
VWhTe3BtaEx3Zj5eZ016UW01XkQpbGN5I3ZMUj9+VDx+ZHhDNm1zSXdBRDFLWVNvRU9qdyp+c3F1
PSs7NAp6QVJqXkFXYTtsJnpDVWpXPEh3VlBja0MjRmM4WERKUGl5fU1UcT5LZD5sRlk8UWtnamRQ
a0VQWiUkPmlmeDt7S3wKei03VjVZSVJXdjYtd3tySVAtdVUjRkYmR19uR2lEPCZ+SWMjc2dVJSsw
bk4tOWk2WXNJJXN2SXF1K3pwKXZ7dFRJCnpQK19TYCl0KVQyY1REXnQoMVRBXmNQeXQpTlRZeVkp
cHsxND1fOEgoR1J0QyMqaHZJOG4mcDswR3JkOSUwQH52Kgp6aCspKVJ3fm5hRCF6YV9FRU5IQ3NW
fEczWlpjKHJPbiZJKzQzcFJob1Q1ITxlYG9oWSpAfkwxaFlzcEJTdzckT0kKejFnR1QjcHdTbUBx
c1JybVV+cThtIXloRCY0cmFuUi1qOWtMNG0/czVyM0xKRTtXam83KWkyakxxMGJTPCMyWUYhCnpC
S3pEYiRRMmd0KkVeOzFzYigxWDF6e0d5Z3IjXjg4bUJFO3wyKF9kZHNJdl9nSF9LcXJJanh+PXg2
MFRTJn1OfQp6PT0yeihzZDNLPFJkZzE4KEw5YzY7PUNRMUQ7MT9Vaj4lZVAyZWNoYnVoPlUqPTJm
PnFvdHojJDk3UmotR0Bsc24KekI1NHwwN2U/MkBmPEwxbjVpYVZKZCNtQWNqXzg5Ujt9YE85dnJN
MD1wWVVPbHs2UVZaakYzXmZFfjM/dWIyZkBQCnpjcVo0Zih4aTJkRjJTO25XWmBISVU2Kn4za0lI
dWlVUVcwTyk3cXRKeTghdSp5PDFjNjB6WUsxeyFgSTU3N2w1Twp6cmQ9bH1qIXcjU3JHfDIzUzVX
eWhIJGJ6STR0Xj1rVUdSWjgjdDFadTR9YFpRZypwbnFoQmFYaEZZYFM8eHFhPCgKelFDNFpGQ0dL
OChqOD01QDVOWXR9Z3t4RVpScjhwNkh5XkIzKVlYWjxNNV5hSmFOZUBGRyVkZSotSyorI2o+WF5Q
CnpqSTxyamNsTEhue1UjUTkkMSY5fEM9c3cwWH5LWlFCR2toQHtlais4S2g2XkNDcmB0UGx5fUF1
Sk8kWkZsd2BOWAp6eTJVUzk/OFpMcFc4emZpbkxyZm0yYj9mUjYwKThReGB2WkU9ZSpLK2UmUkZ0
dC1fXjlHQih8YytTbXtNVFkqSmwKeiZuZiZndmdmfGBzeEspSGl3WlNfOzF2QHNrbmRvcChvXnwp
RlpzUGhkPztJI1khJX55UigrIXZfYmpXMEx2ZlFMCnptfkhmdU99K3U3dkooWX05TkFYP0dZYW9v
USohaEVCcEZnPndsVWdoX099QkQlMHk0fiUkTihZbFo4ckVPYnxgcwp6XnNHLXJzTmlSO2hTKGU4
dFJCdGF4aHFKKT03MFZRNWVMbU5sazcqXzBAbSVBTSpnNEJqcHlSSztTVmZJWC1+TyMKeihSV3xi
eXFpTjRJdHs3VDdIRkdubENsS2lZVnRne2B9elBHPF5HMCN6Z2dqPHEpKHdwdG5tXz9ucEc+aGhH
S2swCnolWlZZRTZRQXoyMiVWe1pqaiVXaDV0bnQ4WTJeWjlIWXx+bEVBU2FtaiZeR3wkdFNGITxS
dXYlNmxWNiYpOW5mNQp6PUU1N35KeDUkbEohZCZZT2skM2RvNVN7WTJgc1BxLV9AbEZGO2VYYUBV
cldYYTBPSW1zdkBHU28jYU11P0hGTm0KeiNrN3U4YVR2Z1VPfikzdCY4U2dPVmN0WC1KaFlRcks5
SGZLPUdGTDg0NHspX0dBd2YwNTNHLWlrNVlKfXtPLWE4Cno+ekxzJDA/THJGNE9eVTJxckU1cjgo
OVJqcWBueDh5VH5YLXEzMXVjb1puQ2BSeDlMPWxGMD5aej9qc1JvVSMyMwp6PlVLeXhocCUzTE9Z
aEFIMmheZjJuZU90ciorZy1VYTB3b2s8KSkjcEJLbmIjMStISEVZT3Q/b2dKa1A+WmUjVjUKekE1
V1ckZXNrWmBie2xfYiZSPDxSTTlpV3RMJDUrQGE2YWR3YFcqI0YjQTdLPSZGfEh6JWQqR293d140
OUBzViRaCno1JFR6YkVYQmBUZ2hBPXFxVlVgX0kzcldKdiVKQDAmc0dGN1gkPXY9UUx1U0BqdUt2
QUktKH5VX35EeDR7P0omZwp6MFBOdVlXO1NjbmV4RlU3VWkpS3kzZzRCYHlhRkhsKmtYS14mYWd9
N1B8NzZjK1Y+NFJYZyNEcUhJaXozeG1wciQKemdGbkcrNVkxKFotOzBReFpqUnhZeEYpYlE5RGl8
NHMxWnAkNDhENktDM2k5Ul8kK051OWhYekshRmRzQDdJazgxCnpxMGBDM3JeJnQyN0RoVTVZSEA3
JUVVTFRRUVJxV2FqQnpNKUd8NDZpQ3tvd2dkcUI2YSE8YW5EQjVxSCRWYm96Ugp6Yztod3hNVHVC
U0lGayN5M0xVcVlFUERVIzkrQnNxWFJwN0FQM0BtaDRHWX5GemozZU97aEdqaU0lWFNIeHIlcHIK
ekpqNXdoX3tyZT49dnBWY21WaE9TWEFRLTh3bExlRF57Qn1LWCNUay1Qd2F8QUFMcyU3PHo/cFF0
dll5Ozd5Mk1gCnpwMkxlZ2x4QG0+SnphdE81Ymp3QiQ5Q310V2xDITklIUBpYU9CSnYqc2B8ckhL
LVIrQkpAfFpNPT9qMSpWbzJjbwp6YEc8JTU8JWMyNip0fjctZmIlXkdqdWxMQWh+ellwaThiPX41
PHpicSVJYlA0Q3pLOENJMlZlK2hMQXZCZStEekwKekh2IzFYOWlmT34/bUR0c04kZ3opQDErSUdf
TCNTUUB6aE9oREZobiFtZ15qSnJDTlcpenhZVWg9ckpidDV7N1FSCnpJenFSRChjSTk4fDFpTUxD
dV5tN3cmVC0jbFYjNDwoLS0qUHQ2MUAxO3ZXNHhkVk1AT1hqN1lObCtybntvISpoNQp6a0syZE1E
WTRjKi04RVJVRTZsPzMrKnpRdE1fdGMhWTJ5d3ZhbzBRM1V2YGJqZWVeXnZuX2BacllVMk1TQ1o0
UlkKekZUdDtOZUFjTUJrWTdlb2RMTkNjPWQhQG1zVXA7eGo7Vi1oJSpVIzxfeUx8cDUkKmhwb25x
XzJqeCVtdjl6Qz1KCno9aypjailwX15kcGp4NFJaUjYzaj9NUEp0UnJBKFFIdVpvWnFpKWtiX3h8
cHRVeChedT4tTSshTG8kcU5iVGlKQQp6ZkpRZiEzTzUkQU1wa3ppbG5HN2ZiUFpiamJBYGhFSW5a
enEqQylGNlRKdWRreXlEdlE9WG9EWGspfT8tNHg8KHIKek1nI2xBUn4qRmw+VERvS2V0TyhFc1hf
KXRpIVZ3PnYtfGx1VDFOeE8xKFNuPDA0akZgPk9+Pl5FN0lgbnpjUy0zCnokWi1XaUc3X1YlWE5H
PyFeLUxSPWNXNCgyIXZUTyM/eDA1I1FoYyNnNG51QHFKPVNqU2ZZRSo5RlM1JV89SFc2KQp6P2tX
ZWtMbipqZSRIam9WbTB4aHYrKjk2TDlPcWN9JHIrPEd4PCttaE1HYz94V1k7UDVIR0g1RVozemcy
bXE7UXEKem1iODg7TkIhZFcrPXx8dEQkI0hpenFzVFc0b2JgblhOMU9iVlk8LUh3em91O09RZm5x
QXI9bkhQbUpjaG5wb3pHCnoxQV5NPFQ8IUZPPWNpUlRAKzc+YSZ3fTRjXmIpK2BlVmxKKjh+dj90
VHc/VElWPTIzS3UoKEhncipwV29ZWlVwUAp6VHFAe3tfTzc9TD9tZzRObCF9KmZaSGVkNUhkPTls
dFlwd3BleG11WUI5M2BJbnRjR2xZPnZDdiNGMHAzcmVicHwKekh9PjxeNWh5I0lgIWkpRjROM35S
dG5wbXZNRzhheDhANXVTSDQma2l7U19+KV5sODVqSEFKJlZnZnV4K0hQfmdiCnpNPlgtTDZwaj4z
SVczS31GPzs7ZU12ckV3Jkplb1BeUzUkSzdKekNKeCo8YD5KMVJ0OV58NDVeWUE+UVZvaVg9fQp6
aldmXzJmNlAqdSoxSXlfYjYjTjNnY0JyO1ZteHtVbmtYYjVhKEluaFdDfjRORERENzAqRGFjd3ok
NiowVlgpOFYKelUqNUY1I3dTVlJETUUjSypmelBYXzJLWUMjbkM0aWYwYnlMUXY2WCtSVk5iZD9M
ZHFYKTlZVGx2PjlONl93XjNYCnpSQWUoRi1YYj5mckpjWk0rcWpqMEhzTihAVlg7WXxab1AxbHl4
NmJsTWRuY1RTfkBrankyfDIhVXJAX1d4UjxNUQp6WWEpd0VDKSFsTnJvIzNUdCZMRG9TcHdSJmJh
XzZ5RjAmMWVAKm1PbEJxQFkxVWIzcXxOdHp3czl5QXxETkNsRkIKejdGXzVzZ3ZRKU1jeWhGdkBE
KnE5cXclV19nUU9oMUp9IUJJYXowT2pQa3gpRXtveiFEIVBuYmAqMSRXRiFaJWZ0CnpnT3c4RHpi
Q24kO1hJWV4oY0xpZ3JfbVJRRCYqRXBCVTFeJkQkVjIkKmRrY2lBeHdgczN1Y1RYTCRvekpwYWFi
Qwp6SD42eENYPmNhPihmfHhsZUEoa1dLSHI8d0pYKW4/ekNIUSRmVGJ1ZnBgTElZdygkWFhmfUAm
UGVMUGt+dHJJTy0Kej8qZEtpWnB0UVNqWT1TaFklKmRvZD5vfVY2e2ZSRippaG0qSnwldjxLPmg9
SExxJFhkSjI0fTMqTD45WGVZVn1TCno2RE96Ujd9aUQhR2ByUVItPDlaPDgxWF9yOSNBPyRNcHtL
dHV0O2NKZmNNU25qc3tVYkM5ITQ/S0EmQElveCo9Qgp6X3VRODFfblRLX0tpRk5kVVBYLVAqJjNE
fEg4MDwoMF48fm9vUl9OKCsrcW5XOzlneyhVOUtTUjdkUWk3Um9JVncKemNkUzh+KGlXZ2daNW1L
LTxqcXNTY2VsMXNndTdSZytucEhDa2twU2xiUmdFPF8tc3VQST96Rkplam5LTzMhNmF2CnolR0o4
VSNuMWJAWSNRYFlgNkd0KndyMXBYJU9QVztDJk9WWHA1PVZJPGU4ciVUaSt2PVJeZW83UT8pRFBT
ZktaTwp6QVN5Nj45YkBlTm9pV3NkTUp8RFkpSWdTcWJPbEFAPyNSS2pUVTRkWTRrKHpeSEFOZyUk
e1VuTHZiYkRjQXNzT0MKenlzSSo8c09HRTkydX0pWEkpV0hgPm0pZExmJiYwcHhhaXBSOFpOKClD
T2dOS0crfHIxVFApRkxsWDVjSUREOy07CnozenU5LWtgezJ6TzQ2S29QOWdCeGFSMkokSHhtbV9U
Rz9AZUhyRnkpUSEwJDVxfG1SXiRtJkw2cnIqa01pQjNnTwp6JTdlaDkhIV9XTDs7RW1waHorYSVs
XzhiNjFqQDNzU0lUcH0qNEojZFlEeFFNeUc2OTR7TU04QitVRzdJSC1AJFcKekRnQlVBLSh7RCY/
ZWJodmo7V04wUj0lU1VMcVBfOE0ya3dxME1EN31gWWlXQm1oMm5qUyE+cmEqO2Z2cDdoanBxCnpw
VGBqNyZDd34mNGw1eWlwfktyUG1peWlCM1N0eFc5Jkl3U0VVJXVGb1ZLeyhPQjx3RWFOaSh5e2lv
SjdrWncqVQp6UVJEcyo2VG9eMSkkQ3hXPCQ3MShMSmp3bzlkeDNQX289MW5NeVAmMigtRnhjX2d5
S2ZocntfN1VPcmJYWExPeDgKelBIKEBwZSFFS1dlVSVtKCVyNHBSMHMha2JecmhZcktERzBzOWxJ
cHRBISRrLTEpaFY9QUY0T2YzP3U5RERlKjtYCnpnRno8V18kaThiMHBUUlM+Z31BO0twYyFBJmx+
SzVmQm9xfHJ6T0xfdj5lQ2VkOWVucjwpNzh3SWk3KntJO2NxMgp6PzUxckM1Xn5idG1VQGVJIyVE
RGRPMlFNMD5jP05DZTJ+eFNMRV5+X3Z0STYmeXp8OGZ5RG9mem0jJlJ1YllvNSgKek4peGo0PSFy
N2tGcEk4V2F+WUpHU3VqcUxxJm9+RDdWayV5S0NqPkQ0PnshU1pNIURQcDR1ZGtiVXF3TmIwZHU9
Cnp4Z2g5aSNufTBzPUxqSXhlaistJTQ3dlh1TFVBVDN4VFV1KD45a0goOTFUPkc9IytNPzU1TjQw
Y0U9KkkkKTctKwp6KWx6aml7ZWJqXmJmRVBCN1VhJEdpWjFKOS1FTz5uWSpHRGA0I1N0WURxWCRJ
c2BOMntWKGFXKlhCelBEKEFZemIKeiorUGd1N31QdTNMRjY+REZ2P2ZDV3c7I29wRz44QDhzYChL
K0xYOD1lRElQMG98dDl7UHY8ZWsmPH5Gb0lQYDBKCnpqUF5FYGJofUZCJnJzeDZLMEw/djNTY2F4
QkpRSiFHdkMzR1ZhOVhkZ3tEMDkxS2lEczdzWmhhSE5SUXNhPFV3aQp6LUxydmAjYXw8OU1iPXkp
YzQpJk5nKHRYfkM/QVJkXnxiUG5JcDJQTnk3SDRISkA7XldSNjs3MT1ZPmpAJj9XbSgKei1BfD52
QCtKU3dpKFN3LWEhKEQ+XyYmYkBXUU02bU1lXyZfSV4+QlR3dVRlXzxrU35pITk2MFBGY1lONkAw
KChHCnp6PFowS3twYS1+UmtWP0FWM3hvfTtATiVtK1VldXglQGRvXjN0KWljNk0xYXohbXQtcHZA
SVRuOU9nVXAkcU5sPQp6bXxQQmJvYGQ0UiEtPlIhU3tgdlhRJmFec15SXyhzWnJOfnFOR01DVk1r
NDVtR01wdVlxQm5UcWFid1FtPFBnNGkKej8jSU9BRVhKQkdMZ3ZvT1FgVSsmUyZvfkkydndPP3BJ
dXBuMXtAM0Z1ckhoJilqTkpEeH16SmBuMHcpfXZva2RVCnpOcllgantTTTJmcGQkJVVSayZaVkBv
Pn5PMkBAciEkUyl6cnIoMFlZRnZlM0k5WDlIWU9jezBjKnRZUHVqfHoqPQp6MiFBJkZ4U1lAbStN
RGxBUnwtWjJQeD5QKD1mdHlDV1FqWSokZGdGeiRIWE16YX1jOyRfTDlAb2RHfEtSZShwPloKeklq
OEdUb3lGUXY9LUJ0T3Q4NmAyZ2VFbUNgNzBIdVdAUXYlVThHMWZCdCZEMzY/NGhyPWZBRUJQKShg
JUlTfGAkCnpaR1IjZERrcmg8YilzJEEhaXRiSFd5T2lwV20qZFFnVmVMO2dsYWBxWWBCQDtxPktn
aXNoXjlZKWc5QyhFX2RQPwp6d35RO09SPyRXUiRuclNePXZHdGs9bUV7MkhZZ1Q+d3BPez4mOXh4
IzFsPXhtdHVRPzNNNChkQzlJTXB8YyghX0oKenN5dyR9JG5qdEhsUUZIQkJXMWwlNChkVGVuWD5R
bzY1Tl5VRVZyYiVKTFcrMm5iZGYwUXQqZGFQMGsoRUgySXRKCnp7U0NsfHE8X0JIO1g7fElCezti
cDZGRj9AejteRSpSTiViPktyPnApMiNXdHNLQkRsd3slYEV8PDFtKWcpMD57SAp6ZSZFTldQfUdR
MHY4NHQ2TCZFMVlVdmJfOWpHK2x1SHNYPlZ4Yk9XWWBQUHg/Nj0oRkJ1cXMhNUF2dU1Ndkl9QnYK
empAM1EqNWB1MGUoe1huYiZ6bihhKFRqMWllQGRTeWBYY3tIIU1iXlBnJUI+MllteWwqakZDLXNr
RTt7WjJzPFZxCnpXREkhWFNNN3xZJUVVJFpOWWY7aWtuMX05NDBZPzJTK01CRTRvayZnX2x3VTNh
Jj15eHlFS1I2Qkd2fWtediRCcAp6NXs+KVc3KzAqVlhVY0d0SElUX3NmSUJATkRlUkJ7b3RmWTZD
eGJkPFVwVkpkRjRBdWNQfHJBSmZ+c149WiMoR2EKelF0QjhXWFJyUEUoSmhOS1EyYE18Z2Z1P2Vm
TGZ7Mnl0alF8U3d8Znd5dTxBQCRMSTV3SVghKnprYlE+PzJTI21UCnp2WDtEaDFING5URlc3K2I7
MU5xbSNzX208TT1rWEpOM05GfEJ9YkZHcnFPZWotJW8ySSZkfFBLdGwlPmktNmlLKQp6YXE2Mm01
fX1idEE7Kk9rLTVHWShZJkBlSikkXjFVaHEpdnRsbmY4WnJJOGhLPG9gS2gtJHM9QFB+Qz9Edzg+
KEwKej87MChXOEozMXVfbCpyYGhje2VFeEAlOShnYzxOc1VqXilfJkRkdFEtYk8hUyU3fjM4Vztk
YChecm87QkgyMGsoCno8RiQjU2Y0MEByRG5ESXJuZEpEYjBCe257JHkpdjBGUkJxOChGTVFqUU52
djxga149OHVPeDIpQ0g4VGRCJiR0Xwp6MGRiakhHKHAjdGp4LUN+WnAtQH1CQkNsMys1TTUhPiF3
ZHR7dTlia2xzezBpJk97LX5LY1ZyfiRyNE1qKno3YisKeiR+cFFXTX4lJHJRMjJ9NXAhKW88PEpR
akNRRUAxS0JAN3U4VlY8OylPSS0qeGBkc0dTYDVIeCRFRmw1RzQ1JFBZCnpqOWFTdjhYfmxyOTNF
Y2gtV15TXlYzR2gjd1VhWHJXO3pQQWBZI1h5cSpMbEZeeG19RVBuUDhJUUJ5dkRJXjNJNQp6MnI5
WDApZDc3WHl6P3xMXk1yVUBKQVcoPWFodX17eGV0dTRwK1hnYT19SyFfKzYxSkhjR0tIaj00eUMq
JVAlVjYKel5NeFN2YihoIyVhVHV2PXM1PmVNWmZHZkdoPFBYWipiZHslNUJFT1gla0F3YHZmQWQ+
K2Y4YEE7dTxhQUpEOWVgCnpwO2JXYGdST3tSdCl5alU7YE9WUyMlKUxvNj1+Y3NqdD1gNWFOaitK
U3B8eTxOZGttQHlNK1FUVTRfcX1udjlOJAp6Z2o3M3d4ZUZvVT1rPUdBLUl6cEYqPE9nZ0pCPThW
Pnw8PXlKRmhiTDBpUVpac0IxKjRMMk5pYjFhME0lZFpLNiYKektxKFlDYG8wWV9ZdHMyb0g2P0Ix
KDN3YzBKPnJafE5rNENVUSFHQk5wXyFFZ2xhYzJTbmQrJik/VVhFUXNeT1JwCnpGJV9vVV5NLWE2
JiE4UD5yem5IRUh4ZXtuJnxOKHFEXj1zYzZVKGRuSExsP3A/b1RNKWs4JEBGb30lOEBlYU9Uewp6
RUJZMD5LfUFhNnFXR2FXXktDcngwVnw9WFNhckdDRT51M1ZfUEFKNXQ+NGRIYVB6Nk1PSkozdUxj
LTFVIyhfKnQKenMkZ3xEU2xlR0ptPW8hTFZpKVc+eXJNPH1ZaHx3OzkpSForNmN3cGgxYDZJNCMp
P21jRURxJldFXm5+STw7YnNACnpkJiR7QjxUYHFzWkZgSyp4bHtnRVF+NlhzRFJgSSpYVzskJnUt
JlhIIUpRN2Q9S1pJdzM2dH5OampXTV9EaiNAeQp6KXR6UE94N1dWcHlZRCktMFFOSFUhbSl3aztN
WSFrUXw+dXxnMypKKHlyVSZFciFtVT92PXpRTHp9eGJXdTBBJmUKemwzcntERC1FV0RFMTJtQE1g
WTRkTnZpZXBvNi1efmo9aEgjZFhNMnBYVTlKfSNLd1pLe2o9NSNlcU5iVWVPNyM3CnpoP0Z8UU41
RClOc15gUEJORkFQV0xWayY7eX57JF5WMkV1PFpWI29lR1ArVGIqY1dpdEpLSWAjNTFNUjg9RVBA
bgp6OCpJfUZrP3godS16VyMwYjw4TE0xP0s3V09Jd0ZQencoJWJffHZ9PGIhbTBSXlg8bXEkO1Rw
PTgtdUNIeX0yaSQKelEzX2tPNEBFKGlhaz9nY3l+OGV2NFJjfHJgdXFgdHdCZGFHKnVDblJDUGRL
dUROPlRibExXeEBKQHV8U1AxSk5UCnpuZ3luVj1eeEgxazRgJj51K1BvfjVAT25UJXdXelRscXZH
aD9AfVhDciU8VF8kMiQ8SW97eCpvenBaWGRwMmxjdwp6Rlg4dSRLSEZhUzx9dmJzVGV8bW9gTE58
Zyl2REVPTyRncGBISWt1NUMoSE5HJVVQeTk1b2V+TWxBJnZ5Q1kheksKekg+dSpJNFJpZ3smQmhI
Mj9uKW43RFJ9SD14LUA5aTxZYGNtRUVjbW9MJEteO3hSMnlZaEBRd2smdU5oKjlTcEtHCnpgKjVD
VnZeIU9meT5hJVgwQjRiVzA8Z05hTVBrVWN5UGYxWGIjSk4qc0ltfEBhN0MqRT4rJX5feG90PWRO
WDItegp6PVlCfH5YdDRZJUJQKFImWnR7eSVuQVp1RTxPdVEwJV9YQllsQHgxNFg0R2lFQlgmRGFP
d0V+K0MkKDNNcXNQOTIKekhYKlBualJAWDxwQzZLdGB8PW5iKGdVX1NlfVB5N19oN15oJCYrakhH
MShZQ1RlRGJLIVh5PU9XUU0pJlFHdzdfCnpfQ0NrTm9vbiRGOXd8JmVmKzE4JDEkTSo3KFFuNX4p
PHJEQWJ+TD11clVMb3ZqKFJ1NUlVKyVaPGhtV0xpNmAqXwp6UElJPCgjR0g2MzxqeldiPVJWezdZ
aStXdFRGMTkxVzVnfGNONm5Hcnh2R3xAO0BFfmdjNUslMkcpZjU3MmRZaXQKemstJm4rY2huYi0+
YShrJnQ0RSlAPzMoV3xUQGt1NT53KkE0VWdhTWtETURpNi03VCpIPnclNGhJWHtGMj1fNUM7Cnoh
PCpMbHcyYmFOSU4wbEtIdjlpR2o0Rz9tWn5yOFFjcDd6WUojOCMzNlRSOHtuamt1OEY1UVdTYUBy
OEcyUHNDTAp6aDsqO3FtdjBCSisxSk9+MndBMmV0eGs2WDx+UFhrPEsySVZyWH4/SFp6N1phT3M5
Sk4mTzJeYWBWR2FfU0l4U3sKemw1WTBwdVg0fDJ4enk4aShWQVgxNTFqPXhfU0F+Q2pDVjM7ODlv
XmxlKmZ6aXVSQDFCekhDayZHOzx2cnZKKn1JCnpjM15Jb2c0XlA/Y2ZnO0pBTlRIRUNKNl5fVjEw
Ynp4NjtaKm9nP29MPip0QitDRzF8O0l3blZRSlBrKHo3Vzk5Wgp6d3ZMcHpzPzQ/bkA8YyUzRGMo
R1pFUVlnQnxBUWNfO2k5fkNgVmx5bD1nI2hkWF5vPzNnNjtWP0JKOEoraFI1TjUKejB3VXsobGBY
blYqRG8maS16P0tOSjtUTklKUVAoUD5Kb0hSV3NkdVBJX1BSNkooRTcmek94ey07cGMoYmNaMX52
CnomcyZfeUU7QTJTVmhHVnokOXktaTxMWVhQNTU3X3pGTWtZdykoP1ZhYSl9Nn5Ba3pUTHQ4RWhK
KUo+YXowfGtlSQp6cjEpOGJzQF9FWSQ3R30oSmtLJWpibURXQD0le3w/MzdeR3tISHJ6M2NmLUZF
MmVBWXFvWXFqYkN9NHB5OWkye0sKekdRcmgpTnIkOFBKNEtLdTA2I2UpeXk4UVoxNDl2PXZTQSFn
SXF0LVQ+IUJrM1hYe3UjUGpnYStCcUVTczNZbzx0CnohSlJwVnFmYVVCRHV0Nm9icUBBcyFjIXhB
el5XRjBYaT91TlNPNiY1d2lVXnRsQ2tedmdoVyp8YSgjSC1NWjh8Mwp6MUQ8eVNPKyV9R0pwWHR7
MVVeaGZhQCZzNl5kQXo/aFglV1J6MXM9OUtUa0EkUl9SLVk+UStoRURQPmFwOUE9VnsKejM3RmpV
JDRUJW0yPTFTUGQ9elJpYjcqJURVO1RwQCNaTHlJMSF0b3w+ZilEcypLNzNUZzUjIUw0ZCh6YUV6
V15fCnpRQiNAQ0d0ZGpQPCRQcXU5flgwJHJgeFN+TTUlSD8jeEFJUEJWM0BxR3NeNWJQM1NxWVdr
UD96IStsMiVuZjFhRgp6M0VyPXBVZysoNENUOSUjMHlgdU48NEtLUnRvSSFGciY3SzFpZT14PkZp
bj0rX2NrbmBhOCY3RyYpPF4mO3wtSD8KemF3TTd8K09YZyZeNTwzQTQ8Xj9gblJ7JEtCTWAmQkZ2
eXRmbUVMPHxeeytSTHJ5THRHKV5icihAJW5zIV9sQlNZCnp4VkJ2JGReaTVZYlo9cFp7K1BBP2xm
KDxXc2ctKiYoTW05NWlZLUx9bkc3WHpDblVSWjM5WkBaQFc5TmFBJCojPAp6VjB5KG1WVmUyPEMl
M1NKKiNrKFBzRkI0RXJ8ZDMzTGUyNns5Y0t8eUtaQFdyKEktX21sWHFTT2dnalEoaldjazAKej4l
YmFhbVkjazJ1dk09PT9nI0E5YWxOc2AwZmRBayNHV0o0LSg8QGFhfVloemVAPHFsZDN5ZFJuWks2
M2BhaEd1CnpFUFY2cj5qOERxVUV0QTVYUlotPCozZyY7QXJhfG54c0lOXnp2WVcmdzN7WnY5YFM7
elpLVXpUIzxjYFlzfl5CLQp6RXVvdSNBUnQ+VWxUbVh9PENgNVBBdn0rLVMtUkskbDQ5NGhrS012
cXBZN1JSen05IyFAKUB3Jk13blpDQ2BnfTYKeiZ9Y2MpVGJPaVNzZVo0VkRacVpabG1IbypqT2ZQ
cVdzTX5SR2ZsZ25eNyRDMDxrP25yRFltIXFSeSU1TG4hKjBqCnpAVGwqe1ZwRHM+KEUrYi0kVD5j
TT93QmY3XzNRJThze1Q9Qy1IZDtiV2ZycCRuO2czMnZAK0JJJHg4fkFiTWJaKwp6YypEfmcqUzRI
RmNQIyFJcVl8enlKTGNpcXNvN1RsOTM+PSZSJmp3bFU8aXAlXmUkdCp3TCltKSRzWk1ASCFrMSkK
elFjMFp+O24jfFEzNHl0cS1AdWowK0h2PGlRb3YhYj5qd3lucztjSUUrOzg7V0g7fiUqSCMjRWtI
eFl3JDJEeXdVCnozcVJiUlZENUFxNGw8bWFjPG8+aFkxKWZlMVN2eHM+Yys0NyRYJjE7R0cwUGo5
eSkoVCV8e0NMWj1KKkpLMWI0OQp6YHRsTjFwYT5lamdoblheKUhQTjxUdS07M0ZRVkU1SCMwOShI
b19aIWYzNXY/Z0VLcEQ7ZCp8SW59XlcpXk1EI0AKejNNbnx5WFFkfCojM3BFVylWOUIwUys7YiVj
Q2NCKmApOE5jVShPNl5IZEZ8T2ZRdUBnK0xOUEU/eGdaTEtoZEMpCno7bX1ANm1aRmZTbTtBT3ZY
OGtUXzw1Y2ZXe2hJTGtzZkQ/NDJgMW1maCtlSX4xN1F8enUrQ2BUKT07RG90fWJqZgp6PEcpKk80
WCVvMGAlVDd3ZT4lX21nRH4xU1lqVnwzZ0NrZjVgYDZHYmN0b1VRTiUkODN2bUhqQHl2SDdWR0RH
XzsKekYxN1ZsUU42czxsbkdBYXlHUDdFQXtJPWljanhuIVd+Zz5gdmVNOH4xcX5QRUFsbHNoYjM5
S000SHBkPUczRyh1CnpGO1BvbW5CRHdDSkxTUzdNYmN3NHhqST0lNz9JWipxJHBVVmYjSmIpMXAw
bXItSldFJVJ0Vy1WdipScH0jKVA+ewp6YEFPMUpZcnMlfiRpZGJDQGZpY0dlNmtJU0V3RFJlbF9x
PEM7SW4pQylUbUolJUV2d25ffkRVViRicmB4Rm5JJUsKenY9clQ0eUI2b1Z2e00memAoLWNaKD5q
WmctQHA3bColQkFLUSh0b1djeTRfJnV3PVBkM1VKd2FuOUZnSHtZfT0lCno4JUFiS3hOLVNKaV4m
SXR8TDRue3RwcWp5PzRBVUwtMnpjYERfTSFWdVphe1hKanZHMzV4IUcpXl5edlJXSX1hPgp6b3ox
bVUjR2ZALSZUMysyVGxYQ0BjMks7MkF7fE52dDgkKnBFUyFJUWpoUEFPPFZ1fWtIcDtaR3BQbDJM
IT5pK1oKendRMHx1cHd1Qi1gfGgqNkdNP3k5cSZfcVo9NikxKmlhUzljVURvV181TmpvOVM/Ukgt
RWJoSWg9Y0I8V2g2QFZlCnplQTFiaUNAYjFvVVlTYD9pczglMzZXfTQwRElYTFJBNH4pbDVNP3Iy
cWx3dzFkTX1QRTBgb3k+QHR8JTA0QjQxaAp6YXZCWE5ie2Q3emBxJDx1ISRVVSgjdG5gQTsxWG9U
dmxSTUpKflpHQT4lSFBPZHVoMkZ3UX57QVB2dTUqeGdHVzwKeiExNT5pR0FGZVcjKlN9WEMmIStL
Nm9zTGw3YnFgLUQ/WDVhKDtzQVJJXyglPjI2Qjc4dTlKcGZLeCZialBgJUQrCnp6dGMzRj4hVGwj
bjlBO2xeZXFHIz5uPEkqZS0oLXswcHkqJlB1MnslJTxuSVd5KzV2SFEzKFBYKSl8byZ6cGBoUQp6
QUxjfDJTdX4oIztkO2lnRk0wfmQ/OyFtNVQ+JEw/cig1Tys0KTQ8MWlVZEsqQylaJiptLT1Ia1FR
VTFtWlMyRnAKekdEPGM1TyQ1bzkqOTZRX0xaNFopKDc5NjdeKilDO2V4YmJkeiVRK1NkQH1TKHAy
aTc9Z3hvQH5mY3Fjd0V8ZU4qCnprbEJLJWR9TEgtZUpRZThNfkRkX3RSe2wmMFNvMylsdGlVWGpy
OWBOM1JhZFpPMD1mYDZ0eVljVHFKYllzaG9uOQp6T091bUp4eGBrPEdWRmRaJkczQHNOS3J7IzxS
ak00WW5RWj1uc2wqR1YyKElXblJISDU9VVY1Knh6NEg0KitZYHAKenpJQC0rbE08MmcjKy1uOSE7
czNUcTF3fG9GR2dYT25DfX45bEw/P2I/Xk1eRSQ8cmR0QWh3Mn4wQzJIJEIzVnBNCnpuVmt4PGR9
SS1NZ0VXPF5Qckg+LVpBdVU5MTZwZGYmYUVxPEMlX2FfUSE9KEw7JFVjJSRBYCVuaXVaU2hGZl9m
QAp6X25NajkjSCQ5YU53OSEjeDlfPnAxQD0lLUxkWWQ+S1k1cWd1Z3hLKEdBNzQ9Y15WT2p7KlEm
dkc9a3RzaFhaQkgKenlyZnxKU2dOangtUEVlODlLKzlyS2okYWxUSipFRzRNSmJAPXgjJDNWRWZr
Jm5TfTVvbil2UFFjX3ZuKU1vZzMyCnp2XlVrZmA2bntYTG1HI2xyJnNaRzRoeyoyOExDeCFHJV9k
TGh8fGIoTEoyX0BuPUMmOGJaPX02Xko0NiRwdFQ9NAp6NHQ+RyM1YENwKk1RLUs/NF9eOTY4Kkd2
NlZMTEMkKDUpbk1Edz9XZGlEMCo+Y1JtQHwyOEc8ckZSdWU1M0QhdloKejFzMXM3KiRtVHdhX3cy
Q2I4Q1J7Q3Z3dmdJTTt7fl5nUXB1MT9kPXJPeGwzTVJ2JngmSDdXI0R5dWtfT0Vlan09CnptMz1M
JjMwJWpzSH4zaER4LWR9UTI8e1RmSUF5UjdOQC1jbStDTmZudyN2a09hMnJiYE9DZ3FsYWhScFlB
c3NMeQp6eENZZnM5XkheaUBKNSZaQ31nKjZWTXxJektJYkZhPDJwbkh1MGg3IXlfekE4KyZKaCFY
cCFIQyteZ2RaJD0yRUEKelNkSiFVdHliXi14JG9jPmB0KjFwQWZHbm1TSE1qK0xWbWBmej5jczZw
fUtLbGNpeHJVWklHV0gqR1UtSWpBYzdmCnokI0h5K0t+Qmp1KCRKSmYhZm56KDZnQXVqaSZaVShB
WDhweWJrZmE2WiRlV25NbyVYd1MjSGlGMHYmYGB1JG9vRwp6P0AmX1VjVCFuY0l5em9AQ09VSyE7
PEhwUGVSciYhdnFnIXdwPSY2Y0t3O05wa0E7OXB7TUheTD5VTkYjMGN8akMKemhfQkheYlIkTGNg
SiEzWkJBcnBuPkwpemxYWFN5ZnY7MD1uSXw5M3RwTHQqY1NUYGZQYFRCQn5jZ2Z5Qm9nNjZBCnok
WDZ6Zl5EbTBudmM1PUtvJHNKeUQpTz9tVmQ1SH50b2Z3cXMhfVNUUFN+aCp6eTQwYHducDJ5I3It
ezlLWlFxSgp6UTlLM21MMmY9dW9UMz0wbVlWfCNUQzw4bmlOcHptaF5aP2Y3UShOPUJ+MWs9LXck
ezdSTEVQMlY0JEsqZT0mRkAKekgleXghKytsRlNJY2JQNXJERXdtJj9vaklpPTM8PmFLSWQlJkoh
aVNZN0JeaD8+QDY/M2N3b3NDcHNVSWg1anw2CnpNaURTVkxoc01qcU1gQyU9M3dAaygkWlZkZDc3
RU02QT9MTj9tcyV1RkJsK217YkNSWTFKSnVwcE8heTthaHs9Mwp6UzVmMmI9cWU5QzVNRUZLUzZ3
LWtfKHk3VCkmNW1qVkJXNT5rJXlRJTZlUF5pKnlfI2hrOz0jUXVEY3hgMW9Ee0AKei0lU0x+Vyha
di15VGFfTlJgJF8wXi1EdGgmMWFSO2EyN3tKUG4wfFRha2VPa2pzen4kTGFzSVMxUFdqbVp6YiVK
CnpwZDghQnpeVUsyd0MrNVQhNTxkQzQpTlkmQ2ZTYSFuS2llTVhWI0RlSD5LbjEqQiolVmRlQ1FW
aU81SSQ3OGtmdwp6dm9gMyQ8R0U2WWY7RmZQK3pXWEdnZyRiYUJUTlVia01kfDA4S0REaTIqSiNM
TyVtTFgzI3kkbEZDcC1iKU9JPGwKekp0cFJUPG9WKHRlNUJZS2ElTXJ4VVhZZUx8NH0hcW8qTmVv
cXomRCVaYyshX2lJK2E8UmIyPWUyVWhkLSgrTUA9CnpnYHAkJGlpUDshJXxGbTxyUkolP0h2bntv
MT1vXmRqO144WHJOa1NMUFRLZ20jVE5Ncm0rNXlJYUpHQ05RcmNRPAp6WllYfkFrJXRSaCEySyto
Xk8rS2x8RnpTbyhnQyNpb3NOVWU9dG56X15KZFcxVDdocXtGeVBVKjNCd3Nqal4oUSEKeipKMFdO
bWooKVNHcilIV3lrSFZKZm5ERX4qZz05bUAhUlpMaE4tR1F4e3JWbHp+TmJuPDtiWWx2QHcldUBS
anZXCnpRKEIyY0V3YTsjZkhfIUFVazVJXip6JVk7Jm9RSGM1T0QyaTVVZVh6XkdBRHBYKG0hdHJs
WXFub0tfOE1ZKVZ6TQp6aytWbX0mMCE3e3IyPHM4QyFzTTZjclI3YzUlQUBQYnh9a2pFTEVRbFBU
bSMkS2tkREJQP2xAaEotUntNZkZLfjwKekE+RTtMRHlmdW9nT3FmNGl4U2VQbHB2clctN1QkMUJP
PWAoLVFZe1pPUHU9d2JucEZyemQzV317Q0NkaUkxSWM0CnpQdXpLMz50MVZKUloybVF1b2F6NWpy
LXJkWFJ+KkxtM1c9TTQteTs9LTJBRXUxbzgyZkMzQkIjRlVMZzg0Jjg7cQp6ckBuJkdtSVdsWnAq
bWhRNl9EVT5sJjBXdHl7eU9FRXdPNGBhKjQza2p7P3wwRVpWTUd0VyNrXzB9Zn04ZTZzfnoKeno/
an4+b2EmcHhxSFZJaFojenttcTI9Y3E0Vk8xPEA2U0ZgZzstQXIpWCZHdi1JKEtUSmQqI2g3XiMo
eXp6P0ZkCnpuK3QkbWsmKUs2KDFJXiUkSCR5KzR6MlE5Q3hySVRIflRXZT1JJFp3MV45c0VCWDlC
Kz5ha2ZTeWEkYThiQVR1Xwp6VVFuLV5vQ2x2PnxMdCowZkZ9ZzFJSU1rbSVYPC1ydFFFKlI3PyV7
fCpuQzI2VE9oclYqYnNrQkBtUEcqJmk7KDAKeioyNT17ZTx3KHJ6KWEtKHhMYTt5bmlVa1hXXkQ+
aj0hclV1WEktbmdae305KiZ7T2lJYXR5NmFQZnJPajNAKTRJCnpvfShwRkMqUjc0KlhZKDBZbjJi
USQqfW1NbH5USTdNc2N+YVo0NTB1JHxNc1M8bWVIfEUqfTRzdS1NQkhYeXdzdAp6KioyM1JoTDFM
RHdgX3MjbihYaFh4V21BQWVveVk1KkZCPV5scEBvMjMydz04VmV8SnFURkp3U3MrcyVXPz1oJm0K
emx7ayRUKn5KZy1XMjVCPks3YkEwM1A0TjR5WE4yRHdiRmZPVVhoajs8TmBpMGNHPmJ2PW9LaGFr
Smd5VlJXVSN1Cno8I01BWWMkYF4kQDtnRWVAQ2pJQ1dBNU09PShXVVRGeTMxbytfI2k8NDBuWTxv
VmxTSz5afkNPQkZPWmkxYVJDMwp6TXAhTTdCPz53P1pUMTEweXBzS0JTSURENnZpRHdiUXxScVMk
T1RGU1pYY2NvaEgqQlJ1UmRiS3hiUmN+WldRSlYKelpmNDU3ZW9FQjFqdzZQX0E7aVojMVFePEF0
VFFifUFsJGFTd1dFOHdeTlBMVXV0YFgyOVBySnB6UUxPbnpDcVJpCnpDeEZKRTslTkJObDI5WE5U
OyNLRUFJbkFSKz9+Y2NzUVV5O3FQd3Atb2grNzJCT350amVBZDZXS3p6fWVWfEImdAp6QyMhaXlK
T2w9OV4jfDhpMF92bEYrYE9eMlJRIT5JIWFkTSZEK0N3OTViUFIqYnU0bmxYKklLKyFUQ2lyQ3Iq
WlIKej5gLVU+Ri1FPjFkT2RzbVR3dX5BIWVaP1E4KyErTHRpKGAoSDIlYGhoZGR4R2FpVyZDS0Yq
VlJgXz1NVUFyWUs9Cno4ejR1YWoqUDR6cyhLQjtSYTczS1ptYWZNKjZxIysmeEl0aE8jdz1MSGgx
O1VRWUhgMW05bHhNcDlNflhmUH02Pgp6S3xIMyZUUSpqNmRpNz5ud0hUUkFJflBxZ0MrKkFiUXUj
cW1wIVQ0N1NzKm99Um1sJTZAbE9VYmZ6YV57Kik4e3QKenR+Nj8rVlVsRlVnVndUcDJpQ1BMa3NG
eHQ+U0gtc0RjYiRqNnw7UzNMNmViUyQjeWNYc2pEODZjYSoxbkRXQnZKCnp2a2V9eiRjcENTWGh4
P19WST4wfGA7WlBmKCE8czMlcVlFcHRAT2sqUEZiYiZTP0wwbzRMQiZ7XjRUeihKWmQrYwp6JWZT
VUpRVlcoamtqQWcqbE5QcVo7O0xpRkwkPzNNT0NQaCgzd3MmTVkyMGRXNUxITD87dXglNV5OQ2Al
ZnxUem4KemZrRyF5SnBXK0FESnRncXhifSYtdmZ6QjhfKF84SHJ3ZVBUU2gyc3pacG1xWTM5YX4q
Rj1ObyVANV9AJmE0TUpBCnpmb1NXcCE/VVZ7SSFyUFNlKH0pfWxIKCktZi1reC1BViNaLW9jdDdi
aWlaaCghdnRPPTRNJWo9WEQzSUNZQGE8Kwp6V1ZNZ3RAOU18XmNPRT4xezlabnd6QEhhQUtaQGVO
QDYkbVdGOVJeb3ZScFJhMSY5WFcyPmNXfXQlfmFES0syO2MKemY0KilDUSljMSlEK2RKPGNZajJn
WkA2Wig2Nld7VSRTJFVwMDduSFFXKWk+UTlycEZgRmgzYzBvRlR3RWtren1lCnoyQDtkVTgzOGVz
cXtsMDQ3RVFtP3oyT0IyWm5UIXNXSkN4ezk2WkN4eXo+ZU9LcylyQENUV3Ekb1RIREZeT2VXaQp6
VGAkKTQ5MjlIaSt8YXE5SmwoQWg7NWZrd3c3Pi1gQDJ+ZmxlTWV3O0A8filIeWMwcyRvPC1nUXFL
djsjUmhiZE8KemxffjUkQXVLS2RAWipqRndtZmhyYDNXVT0tciVtTHsocX5PX2tRTEI3RVJxeldB
Vjh4eVAyO2JFJlFXTXF8VS0/CnpNKXo4Y1dZQ3xfLUVtciFRJVcpcThJJFhEdH5PdEl1dFQhcml3
dC1ybWFsSnJaZ01+QUhAJFNedmQ0YWtlOXhPaAp6eGdLKTZjKTFWQUJWWFpuOCVvU3xIdXlHaW5Z
TXtDSjBQfUorUC09MihQS1J7c1MzekgyPmRVbGVeZzBeQzcxe3kKemNSI0JhNlJqalJjLVIxQ0Mx
QHFrdk5mRWojTV41dzczWWxldiFid3dkdV42MFNDdk1HQHJBZV9neSRkUVhGcm91Cno8ZGZhZ1ox
azxxKSs+Oy1JZXl+SFFHbm0zVl5nNmZXNn1Gc2lCNnlKR2hYYz1YSChVMTNVI2srN1NlP1hVclpP
Vgp6ZEo+dCZfVzg1PFdyflJoITN7MFJMSnZMU0FnUVZCPTtGaENMMT8wPS08QjxCMVdCPjJRfXJo
N2hwbHd0KHUyWXIKem5vXjVPRG9aVEBsfm42ZkZGOzRvIyVIVXlBTXUySiYrQjViWDEkWDVMbWRV
JG8oezU4PXI2UiFgX0lTb3VZaFNuCnpePEF7cy16SCNDYH11ZCQwNiFEY3ZEa3dEZXlvY1BvRStr
eHlqUTtSRDdZQj1HPl9ndSkmKzk0ckUzNUFJOWU4WAp6NGIxbmtzREB0b0Y8a2tIS3B0emM3ODtm
UntuK3NWYUYpPGI0MUQ8OElaY0IwZCR0bV8hT000ZDRYRWhBODxeWSYKenphZHYjYHNtNntmenNh
eSN+ZkpQKnV+em5YdCp5MnAxVkNqT3dDMSVfXiRhNkcpeyhZalRjdmo4Z0ZpeTFMclo8CnpRS2ZC
NWczZlNMPV5ybnNCWXpINzgjTVloU1VgV3F6fi1PM2BnOSF4QkBOQ0hZTTBie1kxclVEaSRlKDEl
ZFF6Zgp6cU1xLW58MEdgKihKYXt8JkttZDtVQjQrWTBvM3FYU1VvNzl3ZmVCS2IxflklU3UzbEti
JWBXYE1ZRXBFcHhTajwKeklNa0hqQD9gIUgrdHBjc3NALVlRV2pJenJZM01CcHFJP24kdzl2QEJy
anhnSFpzTUdjWlV2MVFqZnY9amorZDZKCnpvVFdlKExXTihFRDdPdCt3NkZuPUNOeFg1ZHthZXk9
N1VJVnFrKiVGaUwke15BZTRgZT04dm57RUMzeFFfTmU5RAp6VE5rZ19rbG4hMDI5d0x0VHc3RTto
Pns7b3h6RjglbUxAcUQqQVlXeHt2U2BUJjQ9SWw3N2Z7ZjRLT1gxcDN3fWUKelZ2aD1hYHNBfFJq
SDgmNGBfe2UqXzFSajZ1NlhyJG5yXmtxbU5seFg5eHsjMitaSn09anRJc09ZbllEcURFR3lrCnpK
MlNPVWhBc2w2KntUQHN4Tkg2d1M4e3g7cTlEK1J6aEpfO25rKU1sWEVKPSNgfHV0fGozfmxiJCUp
TWl7T14oRgp6Iy0+PTBuWVNnTDk+ZloxSitGeHRHcmplSzgmTyNjV3JYLXctKEl2Rj07MiUweHN1
QiomcEpJWDJoWj1YYipSUEgKelgxZkRSe3hqbWw1USVfMjJoRnU/bVJKODdheCROaXo/aHJUQzZ2
OCNDJVhFcFhhcTFQeFNuPzJ7X1JZMWRIdyR7CnpVKSp8QGpFcXpWMiR6NEwlaENFWChMRS1WIW1D
UD16Y1Q4QT1Kc1I2NSY9cEV1OHJWKUFTQ084RUw4eE5BX2kheAp6PGJWXk52RXxmOTJWO3hUKGhU
UzJAQXJXSDJoQzA1eUN9OXdBdTZNaCpkKDlTZGBkUHhmMjsyTE9YIzt9NihzX0oKent8RmhEMjdp
ZUhhUXsqdjY4MDwpQypmN2RSN188OUl+NXY+OFJVV24zYFMobSZyVkdOQVlEND9JKH5oVFVIJGc+
CnpKdWxvZlpSMX0pUV94RGtpTHsjaUdRNTM5QEBFYHhrbWspaTAwIXQzKjYoWUI9K3o5JEdxXzwm
Nz8ycyVIRHJ2Swp6RjFBYFpLPmpPWU5YdUM7NnxffDlCUFk/S0lrZyRVVWlnPHdxQUh6I255Vk5g
I3ApfHJ3d0ZyalFXKzAtVnBKNGYKemc1PFIwWkVtZFBYT1h9WEdMZ3I9ayVkcFppbXpkTitpPUFH
R2pLd081UXFkX15VO2E4Qi05SkU3aTg7ISN8Ti0oCnpBJUlmbnlCMi1UVSNvIVJQT0h3bjxTVXE+
YWNwfDQlO09PQzN2amd7fEdOZntLQUZkWT0yN3B+VVhWcG8zZG03awp6aiVldHM8WDxZcVgraGFX
VXhHMik/eX5ucHQ9YmR2UEo1Uz9uRD9lVjs+S3N3SFAzI0RhZ0VEJjtlQkJ+O2BqYFcKenRRVmlo
NTArS0Nea1NzZSVlNVQoRHJTbilVVmQjRzd8IylqMlY/QjV2cDg+ejRNRy1yI3tFN1pDPHk8U0Vh
KColCnpBKXdAQD9aMUlTfEc+LUlxIX5senUlZTBkX2x5fm9yfGlkbyUmPXw8cGc8Tm1AQTJQfWg9
UCNCWGRCcUApSEA4Uwp6WCVKWj1JTnVZXzdBKk1XeThRQmtGZHQlP1RMdVRndWwrLWU4PmM9MDhX
KyVGSlg1I19ofTAyYER3IVg/ZDJQPmsKek5DQ3x9K1VqJFIyaUx9TEJ8cWpLZUA7IT1UU1Z+aV9y
dDNhX3stdEgya3I+KVFaVmN3SkdpYCpIbDg0U1JfJTc2CnpxaTM9bGlAfVJzSiRURlNeYTBvYm1P
M3RVQ09WU3ZTVGdgSjx0cT9gUk00Pz9COD1ZKGpKc28zRzQ/I3tkLTU8cwp6JittMFg9OUIhcExj
IVkrSjdxbTA8R257Q0txc35VITFlYjA5ZmFnczA2MUJhSnV9WDdjN0ZPIWNIKXozR3ApMiYKekdy
amJLZS1Abz1ZczRIa3U/cyRKZT9JQWVFeF47REJYQllZdCslOTUrflB+UVVrYkZjcH5OR1IrMDhl
MGBwRTwzCnoyKnYrZFIwYjYmMk5eWGpfWT9XQ3tlPWJkP0V5MmlPUDBPZkJwSDk5Ui07SGlRVVBs
cHw4b3FiVHZSV3JidWIzKQp6c25EUGFybyFqR016KTA0enNCNz0wbmByeWgrS3dFTktSa0cmYGMr
NVRveW99UWw9MkxBMGU9amVBRF5HeUNtRGsKemczYj9DN1NlQHhgOGE+fjJINEBSYEt0PDJMYn0p
STd2ZThxJmZ3Z1BIKWpHPXc5JFl3RlBRN053a1lHQXtCZnQwCnpqN3t2OHFEOW47UFlKKVFsMGZA
MEM1VHo3NiNKZ1FxP0slNE8jeTx6e1NrT0duUnNVQWhBXytgO0Q1aio8YW4zYQp6M2pBKTgkViYl
QVh0KjhwayokTFhWJkAkT2psZXJSXmVyZzxXcGYwPTJmRkFubHk7IWhCfTxNMWMwUWUta3R1WSEK
ekpmU1FDVHlrSV9EKU4+eUktMGRLO2R9UiRMRTkrejBTM3VgK0F2bXt2STMoV2N6VGRKMTIzOTYm
RU9kc21MXm13CnpmZVM5TXllJTE3aC1tN15vbmtXbW42eCZ2VEghUkRedmZ7bkQkNE82NVRKeD8/
VmYrdl91NSRDaX1LdENuTlA8Kwp6aiFKcWN8MkJYVXJYcm9IQXxzbnE2KD5BS0F8b0R+TX4mc3Rl
c2ZWez94ejBORDZtRCRhUz87MkctV2tkWDg2OWoKekNebnAqZEdRMUg2NE9oNERLTTV7MDBQclYk
TEptKWdwQDhTbyQjMTJiPzxPKkRJcDZ+b25WPkZOMjhWYV4tPTU/Cnp4eE41cjxnWDVYaWpAME8l
I3NXWEtJYDxmYFBwdV5BeElNWXNfWUMoeXh0U0ArUD5XZDdMcV5pc2I7TU11QGBANwp6d1RtOyZu
Zkw2c0ZSdElvSGBpI3N4aCR8ZlUtfl9SQT00PTN3V3MrOGpaPmVDZmZIOGJQVnNCTk1WY252T1c/
ODUKenpCZEZNa3NjbXdQUFd2R3EqSkNkMTBZT0NURWxmYEFofUkxQ19ZPmBhLStFNHAxZkE4TW9a
QWlQUk1EPUElMkZ8CnpJSTFnNWN3R1JOQFVOJFIxRC1ZLWtXbUhyM2lXRC05TFN2XlkteSE4SnM2
azx3ZXlZeFh6R2RRMTw/elRjYmRSdAp6UyRnM0pHe1ByRyZCPyhWS2h0Ukxka3JgYDd+SDh+NiM5
MjhYXiRnUWExQzxWO19ybHpNYmFmLWRUPlpuXmh0N1UKeip1WlppSzctQnxqQ3t3dzJsTzJ2dGtU
MEZhNHJWdE1BREB8OVhzMVl6Yk9QcFVQZ3BOZDdCaSpyZDRZeXB+XnE9Cnp8MCZjVzx1PkMoX2kk
N1VvOzNtMkRIO0w7P349RUdjPms+WC0xKWc3QT1lY31zenE0MU98S1F+ZWBIRDxWLS0kcwp6eV5A
UWAlQkFzI1Z9fm5SYFRqSytxQGNrNyhCOykxMll7ejJfLSV0OGN2P29GbGt6Plh0ek4rUURqeHZP
cGNtM1gKelFVd1RBOHdJdlBXVXpGcDJyaHpyPEN6K1IxUURNYT5LcWBhaUY3SyRzWjVXJXY3eXd9
PGNxc2hRYCl1aj9gQlNYCnpPMDR2UDZ0QGBoNGJYKE9pYERIWmtAT0cmcjU7T3JSLUdKP3JDbWcj
eEI2TThkPWZEUDlsVihpRW8tPk5aYHozfgp6RjdMdF5KcjF+TDVrTFozX2x+P20+VEA+bVEyLW5z
RnZIclVOY3paT2gwTUJUfEZKK21Mb3lPKEpyWHZsdSQhS08KemVld2ZkQmxyVkNqYEszbzxTYGtV
UWJkLVc+aGsofGJBfj1Uc0Ele3M5MDExRHIxUyY2b3RqI2Y0VEg7fSlEIXx0CnpIVTFtI2d6WXo0
c3RZT0dFfFktRXVZaShPIUtrX1ZTcipGR3kkMXNYSCRSSD1TZFRuJWlvQUM0WjFOZmdwVipaNQp6
antGTE01VUVwI0xzbGdjSm02ckMlZVpjSko+e20mLUk7NWo4fHI/IUVhMCRZRHlhTF5TMHFGRE12
O2V8YWA/WjMKejRlVl5IQUplPXJNV3Y+YzVXQEdfRHBgQG5eTT1oWVpiakJ2IW0xcXJDNCZTRW9J
My16b3k5JHI5WTQkPUVzVHE5CnpxRlpXTSU+Z1hgUExgdmQ9U29KOV9UQlklTkdRUVN7fnBKPXxF
NntEPnpHTT17bUx3MU9BaWxOantMc15pMEckbwp6aW5qd356bCNybkdqZFlRYjR9VHd6JCt7YFc/
MnJ5PnhhdnRZbDxQSCMoSlVzYk14eTVoZ1IydGApUmBIUFJURjcKenghfj1OWFZaNTZkcntGeGJv
dVZRX1peb3BgX15ANVRfSUItcngjWEFDeUM2XzBPR2AwUjIoeyNkRk4rPnNSbndSCnpyT3tpRWdC
MWl5KExHPzVoPSZ8eW1IPWB6Png/bEhzcnw0I2AwVzM5YEo2JW9nak50OyQrTGFAZnJ6Wk1GIX1I
cwp6Sz5EUzFAIyZZfEl6XmBNX3pRZCFKd0l0ciMld1BrZGwke31veEl+dkRlPDMpJmgrWGpGKmd7
MkZUfnpkU1BjX2YKekRwZWFaO2hVJWVAIV98SjY4aUFBUHxSYT52WVd4Xl5NY09Ia0YkbFBwRVY9
KWdDKjJgejRCOXVMYmtmc0BeLUliCnp5VUBRRHJ4MnZ3NmdvWkRWVUtvWW00dEF4YX1ZUytENlZY
Pl4yNzROUXpDYSkhWEkrflhpQ2cmWCN4Vk05KTBWNAp6PDRXb1kjOzBWfjczMVBkUmZiQ35tem5p
Tis/MzQmUVAlJiRDUEN1P3p+NEtrQDQhc054Yk1TKmhXeUU3KVcmZHoKellvXnNaZDN5YTN1KD52
UGgtOVJoO0k3bU1eUWVnQWlncDZSPjtFaGM/P08+YiN0O3pOZk8qJkdDLVo+WCpIM288CnowZXM5
SXBidSNGd0wzTDsjUXJZYl55YWV6PV5gZ15wMDFMYWIqZkNTI0YtNng7NUM1I25ZO2FlNEUzUlk8
JCspVAp6RWolRnQjRGRwbSEzZF8xJDx5SyM8JmY/MmkhIzQ9QjdNYnZEQkVORz51bSt2NjxrbGdD
ZF5FYTF1JWtIU15KJioKeml+emUoOFc0bTMyQEN4WU9IJCV5Zy1pQD5LSz1PbysoIV9UVlcqUzE9
cWA3SzgmaUh3XmtRVUhZVGpnNTFPeX5ECnpXLXcrSGxhYTYhamVVVlhEPXBPNlFmPEFtQmZRdUlL
V3FrUjJ0Vn0qMHl7X3RjcyhYZG8xa15EQHVoZ29OKk1Mcgp6OyRDPXw7eSNPTihWSGd1X1YoP0xW
elNSNCY3JlRSJG8oX057NE1EcG0xRGZQZXRkRE42P0A/JU0jUzs+RE9sKkgKekFOSExVWTgwaFom
LUByRUYqWEd2cVEjTypgLWVvTWs9b0phKHlWQ1l6cTVBYD4+PVVFX3xXaEVTaVBZRkd+bW8tCnpj
ZW50M2QxYjE7X0FTc2VUXkcjRV5KbnFeMGdgMEZSeTEmJWZ2bV9yYzxkfCYyRjd2KEw1c19nMU58
PWM4SHlKNwp6P3w0JVNpQF5pQUlTaVk4YnsrVjRKRUJgbEh7YDNNZ1RWYjJkeSkjdHVjcWByeHk1
amRufTAmfVBVQGVyYytxamQKeiolbXtsTTVjYFYqUk5pK3kmLVl7MG04NGxUKG5AY1NURkVUUj16
dXN8S2d3ZDBTek97YyhRMlZBXm9BMVlrd31XCnpvcn1NQyV+cTVSWFV9UyY5REd5UUByVnhEYiNr
TjRHKS1pWD02QT5YaGYrcCZWVzNRYFlrJjUmWmkoJXgoc1A0NQp6UjQ/MURTUFcxNFQ0JSluYGFu
X21wRVVGeEhwK2I4JWBJPzVZQkc/bUxeckxYeiVMMUNyKTh4ay1MQ1VwKS1BPXoKemxScD1gNzYq
Y1VKc3piV2w0QyFEN0NAZjlyaXZPcyRsPyg9dXJMOCg5OTtwSmQ5cXpgdFFqQ3I9KnYtfHcqYT13
CnpYQUVPXmpSZFZaOVBLciZwJDVFYHU1JGZYdE44MlVXYjBXZ0EjKHJFYmsxRno0M2A3REZJXmZG
cUE4PTMzdSFfVwp6cmchVS12Y0AzTU56PTNiY1dWSSQjc15ZaksheDtRPiVqWSh8STBkJUl0T2M5
Tmo3P2FyMlFFK1d5TFUzKUlhbX0KelE8I3tOQVozRUszJjFAR14wJDV9R2JvU19nPEtpO0BvZylh
anptNS04bm5pQTY/O342R3hNSzBBbDU1RFkxfGVXCnozd2dXKXBgVWpTNUR7ekZJSXI5V0AoOyp5
R35vejE9Jl48b3UqWlFCMmw7WE9tP20qcyhQMFlqTWd5YkpQclFvNgp6c01nM0V4MTdtSnUzPHxB
TCo4Xih8S0ZoeWFeNj1obmZWZS01KUNgZiN0MyEqUiQ/UyFfXmRZdU89ZytgZ05SbysKekRDZ0Fo
WENHOyhgKX1DNCRgRjFsV0ZLU3x7bVYtaWRiM1pkVik8RkxsZm43R0xiOEtVeiZZRUA+XikjPndn
TyslCnp0cypVJSZWTERaTHUmZU9TV0VMZzcmRTQob304QkFRKEY5SXhkMEdkdjwwI1dXRFE0I1JC
XjUxe2pjbVQ/Tjlhdwp6KVIyRiZ3P0VuMnBYPzNmbnQhc2xLaVMpIz9DbnFYXzl1SiRsZkNgUC11
ezE+eXtROEMhTnprdUFZcWJOe0QhQ1gKekBlISEqcVNVREk1fDNHOHMxV2J5Mz8zbWg/V19WQWA0
WmFZU2JLMjFRNDlLKTBQdEhHUSMwdWltSy1iWl99cD8yCno/e35gZUBJRH49TUZaNFNSVnM+e2Iq
P3F5SEwkV3BufGckTkp2P0F7eG1PJWV0PUteIWkjVyh6aktRbjdadjxvUAp6T1UoI1YhTD9gS1RB
RCp7em9yWTNPSk9OPkZCJEFKbllJfVotUThzRSVaZFZBSVAzS2ZHfFZzaWVySG1xOyRqPEkKejxp
TT4+R09oJmUxWmFNRTBQfitPOWd2SmhXYCV+M085NyUyJVQhRU9RSkY1eHFhWE9kazBoZmVaZXk9
ZCZ4JFp6CnppbH11YW19SGdMR0pEI3JsNDhLVzxgTW5zbGkhSUVJS2U2TCNDRCk0alJQRipZO0xq
PTBuJlM5Y3JoV1JWUiQydgp6VzBBcX1kYnkrSTR0XnZwSExsTkJ3ZHpKVnpWV3dsUkYyI3AkQj0j
JHs1UX4+RUkwa21fNWlVVmw7XnREYGJZX3YKek5qc0tTZz1NVSMpRDh4eTFfRiktWUdpYntNYmpa
U19Eb1EwQyhuVyslb05sc0QrVGcqeUwpKjU9WXptKCh5WWZoCno4NSlrS2QkJDI5dnBwQWV1WWcm
ZlNqZ2RnUnBZa2JOcVRtTEt9JWpkX2lxRlIqSSg/ZFo+JSEmdEM2MkdVd292Ngp6UmZFNGt5eWdm
JW08byltd3g3OF9temlZQ01SfD5eUDkmUS0/fl5ORU08Mk5ZSWJZY0VJME1VamNne1JAcVNvcHEK
elZ5VmZSMz0kWCRAeSZiMCZkKCNpMU9Kdyp6SkFBckJDKz0xV2E3IWNRJkgoKHNWR0kjP0VnKDcr
SDM3M2JXJl8rCnpUXyoxPE5XS3x+Pkt5cChBQW9zNUB0PD09T0p1LUN3PF9aSDF3Yz5wRV84QDht
eiE2KHRAfHwrTl5PSjVBQjw2LQp6USZYbjtIOF5+KGYrSUJRZWs7KT12dzhmeEdaX3BaKmJnd0J3
WjAjalB0e2QobnMmd3ZTamVYY2poY2Z9V2NQZiYKelEmfkl+T3ZBfjQ7eCtHcUcoVl91KC1eKy1J
P0EpJCFrN0BhVUs1X2Y4LXJrbmIzdzVFYVQwPXZCMjdjV3dQQ3hICnpBQjFRZmZZO3hTTSR9SFh2
SHRGK0lvYnN8PkVjazsxSDFqaHdRWWRSNWBqN2cmZHc7SFQ4ZCRJO1FTalVQWExtbQp6SktPKksl
aUlTanVSPSZoQjB0V2ZyKXpKIzlMOHdoOCpYI1VMRjI2a2J7Sz5RKHtfWkdNQyFBfWtOcGlOKylA
cDkKeipXJV5xJVJ+TlleJUlubl5aaVl2X1I/R3Qod31lYzVmWUw8ZSN+K2dkejJVOXhzZ35MPF41
YXRAVUw/ITZDJVo5CnooPVp7VzZVSmhsaGlZNVc7NVh4akcyOTQhcjdUWHZnMj0+Q2lYQDkoT0ch
c2JEU05YTXlWNCl0bjNYaHFJXzB4OQp6UyslPmljXyp0O2c/bkdgOH4/JUV0cG5uJXFHYFFNVDcq
JUVZNVZHX2B+QXU+JVJEP0Z0ZTdsY1c2YFRBWFBBeHcKekA7SlVZISFRcVlYNUp9VndwUXYycjF8
UWwoQWpHZ2dxdTNTXjFRNX0/MChlQDZiYH1fSkBAcTE7OUttUyRnO1JDCnpiVj15RXQoZDtXNDZ+
JG9oKTVfe2x3eXh0WlZgR1FMV0h6Um4haktIPiRgX3B7WHxUbFlNa1JaWSVidyUpPHc+Mgp6Jjgx
QH1SJnF2S058PEFJUmluPk85UVpic1E7Uz19OWJoZmY2KDgwMzslOTZUc2R0QDJxKGs4aWdvfj5k
OD0te1gKek1GPiQwJU40bk81Q0pSZkMxTS0yVzFDSSorayt8MkJiP3s0NkMtJko0SkN7UzZUVEBw
KHMzZkl1WihNTz94fVFFCno3fHdJe2Q+MjI4PnxEUihvNTFyMztjcVRUSnIjcnwqe2olO1ZvKDE8
S29xfEx1M0xSTDg+WjlYbFZCanlkPTgqMgp6NT1aa2R5em04ZktkbCh7MDRwTHtRa30qWXEydClx
cUFBQF9YKHJUbSF7RDIpaTAySWxjckIlLXIhN3UmbU11dm0Keih8ZClWN3FPUHxLPzZYU1R8eFdH
dTl6VUQtZit9eVNHbGBhU3lqKCE0R041fmp6MkxuOWs7MnYyP1ZyP1VHSDteCnp0d3khOWEpITkw
WmhVezVIX0ombWZ9Mk8tcmkpXmhKWkx+NE1nVkZ9UTNUbnE9MT9eK3NDRWpoMT11Z1hxNE03SAp6
cVJLQ2tAPUZoT2lnZU98K1dZQld7XmkjZlRTelV3UV5pZlFIUU9tQENqdVdFcCV9JllIXjdQU05i
XjIkaXhzTXkKenhvTVo2bmM1TSEtUXNRdFlIT3RPJjRiZDZPe0p6P19tOVk1aDFld0hlQCViZ0la
KUxkPitYQyFuTlh2REY1TFdqCnp8RFowYkB3bXZ4MklZTDtqdy0qPSpLZn0oWl4rSVVyXnoyVj07
IXFMPFRPZ2RlZylSbD5FX3ZMdHxhdUBOR008SAp6S0RBPjxnVlRGfl80MGxOb0k5R0pLLThEaGdL
M0ljKUtUbDAxZXR1NUdvbjJ9c1pIaVAwYmJFTiNsUncyQT5VMSMKekJUOWl1V3R2QjBtTk47cFU3
azB2XztqQzI9KlZRdDlmJiZKd0BaIyE+KD8/TFFKKWJ2OSg3Wmw+fUooVm15S0NjCno+QUxCbT0t
NXJ4Nzd8fCF5ci1ZT3FKXih4PUt+c0tyUmdxVWFsIUx4REk2JGFOcy0lJk9MM2ZQWjZsPlNmdzdp
awp6SklmI0w5IyZTOU19MlBqK1h7SE9Ra0BKTT84U1Q2JjU9PlBfNDdxeGV6PCokY0dnc3JLbzdT
RzBlUk9vMVhaKkEKejE+TXkrajgxYEc0XnNBPHgpeW5LVFdKcD0+b0hEflU+RFlIY2l1fj83P2Al
TC1Pd0omR3F4VCpZSTt9Xj1ASV9yCnpNY2FJcVgrcURTJD1ac1IhMlNyOVpHREI/dzRJTD8zUVdC
cVIlMjYtd31LY0FLajchJlJ1RVFXe2ZiKGU8WHhxIQp6VWZvNUtpaERXJTc+S044PEtRZSZYOSV0
YkBuNCFDP0dvVGAxKCg9eT47dFo0OVFAKCYyS2BXODxhPmN1MXN9Q0YKelJydkJpVzxTcjR4a2lx
KmRjbjkoekBxfHtqZFliSGg0Q2tYPGpKamZiOFVkblRHTDlfITZ4ZmVxe315Y3M7P0JJCnpjME9D
aWt1XzNzWiliZyZWYWpGdHcyMlpWZmZ4T1dCX3NSVEI8cHJKWil6SzNEQGgrUkUyaWopSnQoPikr
fVpmdQp6KkN9bFVjc083SWdWM2Mpb1pnVGQrLVBDVVFGfVImQmBXPShuWCNmKW1yTjNSKUdESHMz
UGNaZFFLWlMjOGFCJUkKei1lQjJHd2x5TCpYWCYtci1CUkRoVyshN2xGVCl6ckRlfFQzcjVUZjt7
JmlwSiQwbiVsZll2Z31tM1JHRyVGMlljCnp7KyhObWRtbVNHXlIkbWN6IUskZGRfPlQqQS07RE9V
S3R2RGJDNlRETyoyUU5RdjMyezdpfGBNXkx1TV9FQXE5Zwp6aFI2LV9oSTAwTWJMNGpfUmNDdkpH
TF9pUSpCWE88YntQeUVmWGg3PnsjTXlnYiQ2ZGwzJWtqITBjVUczbXFNe1QKek1DdzxFTT94SlFo
KD1LUGJ1fFFHXlJOMmRLSDBWdTErYT5gUnFYY0daM0RCQzBDM2IrO0xaTiZBZHo+Tk87cFErCnpe
cFEoPUdPQDs1Zjs0PndSPG0obSNfXmpzNkw7IW02QH5HZCV0WlIoZyFJWHtfbTM+IXU2TUg0Mksr
b2ZHdVgwXwp6T2dHUUNTfilDRyFkVmJQcVV2bmVBaEZfKDw/dzxeN3dAfGJhQmVkYjwjJUV7RUQl
QWE3O0FQNShFMDI9YFVjeXkKekcpOSshZ09rLT1HUG85KmFvMEJqXjt7UCltSFE1UFYxI2JqekU1
aHhCM3U9e3J6UExTNTY1d3RWTT4jMD42aXZpCno5clpALUQtQDxGbGBDSjN3WSQoKnY7SF59I0Nq
KCp6RntEQzMyZXBRNTQlZWlJKGxESEhCaEhiVjtlayRzOyZpdAp6MHlCNDIqP1YmSzlsJGJIVkxm
Sl45LSUhWFNkYjl4RjR3a3sraXp5V0dAanphNlR0NU16OUhFQzNveWpqSFpZVCUKenVJK21gN3E3
WUpJcipxT152UEFyYT07TyhXeUxCLXBDcllOTE9ZT1l5fmhHTFFwTDNNPStiRj0wMl88V0VPcW9+
CnotTDFneiVNfTk1PU8oN1N7NjV0PzBmNWlyd0h+elJLSWQ3NVpOTjA1VGUmJmNaTC1NOE5Kc3R9
emd6WjtjVlhncQp6bCtuP0koO1FDSXMrWWlHMCNAWmpYQGRmV20lJXt8N0tVZ1k3LVVRJE8mVX1l
dDI3Y2U3REo7RjttNFJTd3BMRHsKem1Rd1Q1UHFgQ2oxMGY5LW95ejxJe2lCJGlIMURjYmlGJkR8
aVhyWDFrM2FfMnkyQE0wP2J7andKUV5qSF5qR19hCnpaMDkwKSp+cTxyZXkqSTBJYmd1dVM/YU9O
cD1jWSlPSzVYUFohIU1acWp2SzNvNVpNYilNMHFtPURFNS1KcDtMPwp6SWkxdzJSP2Z8dUpjaUVt
YEdHYDxKNjl0PCFOPnBveDQ0PlE2UHdad0kjJjc8UEBDeENJNjdvVzdiajNzd0I0N1QKelIlYz9C
Vz1qbi1LZTFsXzJ4PjJlMGwleGRmPlRmJmJSP1MjUig5Zj1rKWJjQWRkI3s9TUdoPER7a3BfZG5Z
MFA0CnpsX2NOajR5UmZKckhYVVo/Zk5ySjtxb2IoTGBsSjRIYFZpaHNyTzdSI1hheWpoNSpBXjB0
MipCQUVCUU8xXj84cgp6ODxfOztgT2YlMkpzaWtTRjJyPmJ6bXZ1JmUtcD8hcmojPnxeQEgzTUFH
fHAhQUlPTztGZn12SCY+anxJNUBYS34Kem00PSUmbG50MHkjYzVDa1pSNihfKHV5U1JaPURzY1pD
Ym1MeTZLKHtxLWxCSU8yMj0jVTZnKn1JOHgtRmtMO2YxCnojUmMza3RFMHNrS3VJO3YoVjZucl9u
eVRgV3pnVHQpeGNZalV6UitnJCVzMzNweHZLN0RianhMbyN6NHJoN3tpRwp6JTd0SkREUCp1Q3cj
eylJdiZnQ19rMWBINVVhTHh3JlFvPF81b3BtRHFOXjc7bEdgTmZSYCQ0VmR+fiNWMkJlV3YKelBI
KnVfOz5sYz5IP2gwWmw3QnIocTFjaktUM2Y9WkxNYUJ7a0VlMDMmKXdOUzN0IVZlX2BWaVVXJE87
fWpiNSQ0Cnp5Pk41T01QNlhAUFNnV0A3KD9za296KjJMd1MhdHRNdThMTXhgTiF7MSZ5VS1VaGl7
ZSZvMXt0R2QpTkE0U3xXbwp6JH40OUNMc1YjVGY0VmAtdjVobmpCdXM0VCs3PW1jRyR2OG9uPn5s
ISh2N0FnSTgqTjdfNHtMYTNuTVY4VTh0XyUKenc3QkJIb2hafiR7R05MWCNZO3YpZjVZRDNadStn
anI7OXtDPnBPTClvdjQ/YnBFPjNve3JuPCVHQGFfMVprfk8kCnpldzVMM15tJlBPekFwT05zbk5o
aT5hKk1IO0UpIWhTYW4wMSV3P2VZKnFPQnNtQHJ9ej1zN0ZOOSM5O0E0e2ljZwp6VG4wLUVRdEBf
e3JFP2wwLTNRPzRXZTQ9NElkJkR9d3AxKmRqfH1MUz5Sfj9GQVBQN3xfYVlqcXMqSnpmN1pPMHYK
elJWI1hZQUE2IUcxZH52alFrfms1LXtJb1N1XkFwQWc0Pi05a0xWd2kkPSVmK1l1PCt9S2E/N3JK
YGAkZ2kwbHc5CnpTd3U/ZVpmMVFRYmwrWDtrMjFePkREcmhWSDheUDhqI1ZnRjlJOStRaHlVa2d6
RTYqdW4wbFlTSEpKb2Umc3NwdAp6R1dQMTN5UGFnIyFTbE5tTSR0R15CTn15Vz4wP2ohd2sxKSU9
ejB6Y01TaXA8aG5XPGYyaU88M3JLZTZ1dGVXTGQKekAwcTJ0aEYoV29SVj1pdEUxOTAhRV56Q2gt
SU1DJiZ9Tz1kOGBlP2ViUCV6I2ExMjtKekJ9PVF1Y0VGNGZ7eWBJCnpUMmp3VXdfdikhWHF8ZHJ0
LXpweHlaJDNoTj8+PylnMHZzJTMtQHEoRTkmRXMzS3U4JU0hak53SmlERDAma3wyRgp6MFlAd1E+
Z3QpSz81X3olPTVIWXtIWEZtJWE1I0owbXFiWShkLW05T1Zkczg0bzhCMURqXig2ZjswUnIxIUJF
JjUKenUkeUs5Z3BGc0d1TmpNeStEeCNPVFgzVHV5Z1ZkJlRqPHk7eGtvPiFXNWNae3k7KEYoYWFQ
UFExKW9aTCFIeSghCnp4O3Q3PTFkSzElM2VxeHVqcE44cWtJWkRCcjxtdmcxeEwlQEItWTxLNFBX
QCFSND5GQ1p+YmppY1Q/RWI+V3NpKgp6dyZDekJUQz5XLVV9cWNIMGNiI19Bb31TbiRtYmt4TVF1
YCk5RDJNaFJCbzhjSlh2PTtjbCtWcj89cFl2Sjc9VDUKejVGMllfSm5sTjQxfXVWKUVCaDxsK1Fg
UCtgbUc2QWU/fFZUTkk/UVIjRVVle1F6WjV2KkxSakRIJWdAa0ViQGY9CnpQUmhNfT5KdTgxUSs0
X2NePnl3SGBkKnlmRWtkb0xUKGlBTCZ4YTF7VCZEeXAzUXx3NFBhb2BZdyNnTm84KX4wIwp6eD1B
WHo4SzF9K1h2Z15CNUBzJnRSQ3ZKMHxORWx0Nmtse3dwMVFEcjE2Jk0xWkJieUA+UDcrRWwzdHNA
N2kqVTMKeloxUFVvIVkwNm9BXj5JbnhhMF9+UmQ3YW12Y2Ercy1nSGgkbGpxcGd3LVdFY3JSeHRz
SnNVJiNoV096RWQraDswCnpBY0M8ZFp0OStTZWx5bzkmcHh4U1hJYXgzbSVVdTk8UmwtclZuP0A5
MGBYN0pCbUdXWHNMRjZMQWc9fWtEUnAmOAp6LWQ1XkQ3ey1eUnNvaExfSykoJEpXeVREeHRHOE9J
YklyK0xONiZJdmEzK0hnS3lCS3E9PUo5RChEUk1jdmpnIUYKem10aWJtJTtRIXxwTmMtU1ZUVT0+
ak4+Ji1yV1Q9KFUoWGBWamQ2TjRyI0JHVUV2TjZeKGRwIWszcUlUZVBBeStGCnp4Zn1zNkh9RUYh
TURnMF54clJmZCtHTXZXZXUmKisycU5aOVo4dGhNdXFBJlRTbFNwaFRaPHxgVUlsTWphZSF1awp6
R0drMFood0xxJEVpIWpxRGZQcXpyRH5lSWlPNExWeFJkRiRsQyk1dEp4bzlEM3otYDhXaChjTSFy
dWVkUz4oJmEKekd5STB2UFFVS2ZKQ0E7dWM7b1lLUS1QPktAMyVfcU5wMERaU3dxdXUmQmcrTHls
NEElOyloRnFvM3szUzUyIzM7Cno8UEpfJUNVRiRVcUorMnQ/KTFGWFJgaTFyUEBWaWhyZlJOPVFg
RiQhe0RAX2dIYyVqdXdmcm1jO2xlVlVgUmd4dwp6KUNVc3hSUFY1SiUqOCtNS0VXaz5ETXBUMWYw
bGNHSU0+aEgxSmFlbHVFd3tYK3FiME03aDxXX2leV2xAQ1Y3MTMKelA4LWtqd3JiLXxlWFA3TG1m
RkFrYjVMWiZHU2prSHtmVGhoVlBSe1NgeTxBQ0BaZD9XSFpyUVpPJjJKS19fRl9mCnpZTG1BUyl2
JTNCOUJsM1RLSXRRVSV0VUxae0dwdTcmbzlAd1dmbj89bTMxUiN8OVBZIy03O1NwZkZwcDVqRlA7
TAp6T3o+YHxGJlc2SEpJJC1aV0NgZTNBYVV1VG5zOEZ8TiZXQTU1a3VzezZTaEo5YHRILTtCbSkl
ZGd8KHsobV5IanAKellxIXtJTCpvdFBITUFPcDA7blRWWDEtOGglcDVJQXlUd2VPUlc9bXEkTCRx
dCZ8WEY7bllXYCY1Vno5XjxWRGAqCnpkM1o0NEJ1NytzOHs2cnBNM2wlYUJ3VCM9RnR4MD0ocXB+
NXRCZjx3RnRXTj1ZT2c/UWs1JHNVTDgyfU1GMSY/bQp6bjM7bVZ4NDwzQFh2PFYhcjlMSHZrSFd2
K3BfPWU8XlhkTHljZnpKOTgpeFk1aW0ra3M+eyU/fldpTWl3dmtOYlMKenR7IXB2JnFxO3k2eyFZ
MEJxWno+cDs2Vno0P31xRTh1dHFKNnIoTFM4QEU1ekViOEhPb2VxUz1iYDJpfj0oKGNLCnp4SFRy
MzNrPS0lPH1eQmFsQSNrNClQUyYoWClKaD0qQytWOyhAPWJZc34qSl9MdmZ3O3pUZkd2QURLRmsm
OCk7SAp6MVdfbG4tRj5JPHpVJDQ0SGZOQ19VSW18Plp0PXN0cUZVPGF1RlI+dSFjRit2ZXNsYmR4
VUlpJCFmcX58IyN+M2MKemV8UzdCJk5tLUBKTzt9TVRxdHJfLVpST1NWclRhbmI/NGUxOHxKQSot
QGhaMCVPX0kkUURAWTtFUWo4NV4wK2VqCnpzOzYwXzxxKUBsSlVUdlZwe191dmBxJXxITTw2I0R2
a1VjXkRJR25XMU14bnV3UiNHLWJ4OH1wO1hSP1gyT2tycAp6d0xpYUVhaEcjTGJVZDcpZGg0UkBI
dW5Wc1pIOG9leHVKMTk8Kj93aEZGZXFHdEE1aDUrfTVDIUNjeTlmMEx5aVoKekYraExYekZEQCRO
RXpwS2xKQ0A4QH5Db3FMekwtYmJyZlhzNXpoKFZBKX08amwkVy1xbig0TnVxWTlVKzRtdXIyCno5
JT8oM0xOfWFsKmFkQFA+WGY9WmR4S1BHZmk7RUFjSzJPYlFZV2hjZHBeZGBNVk98Sjx0Km99elkr
T3Q/OylYcgp6OHpPY3BBKWVqWHJ1dlkrVTx8NF5paFB4bE9QKVo8c2tHPmduSUYmTGpwdTE2Zj9g
TDRCPV9lO0xWZEJMLUhZOFYKeilhMzNQbUcmISFvY2Y7YVA8aWpCcEFMezA/YWFUWHMrKl9YYXtf
KlhTV15jTFhLPlptbSNzIXZCSWI+QXs0UnNFCno+N0JneD5OJShrI3hRan1SRTV1NlBfQkdiKXlw
eF5JS3MxazMhWWVETUU8JTJDa20hR3F3MkAmPUBWeUgkTFg4Owp6PXpPYkIpQHpUZWBnfT4wSnYz
SU1hSTVJWnk+PzM8N2MzWn5CNWQ0U1RqZGtGYTlDVEkoZk8lWW1Ccj4jZDRIbDsKenchenM5cnE9
PTQmMGt5MksybEk4T158VE1GPnNiUGgmZ2Faa0ZfNzVXaCZfeklnckVLTnN0b35YZmI3TEdhaXxh
Cnp4Rj1Fel9IQDVqSnxsKncyYkRie2RwX0xzaCtEcEhOPGhmKEhRbnRael5iN21iZkJ4YGVmWl4r
O3owNTIhPGhLTgp6LWdBdUhFIzVLNFV0eitIdU9xYVlPWXU9M2BSblNRbyZ3dWojLTNoKmMjWFBR
SmoxbnVEaHoxRipFRWpjWmU8YiUKeil4MmheN1F8MVgzTEBMUmlJYkBYKSRYdl8/WGQmOW4wV1Y/
VlJ0IVdQRTElZisrRl5GUnVlWVRNbyFaN2ZabH5kCnooKSk+Yy1Hb0s1T1U8eXd5Mm53TSpMM19Y
X1EyekhHeDVXYkhzUyhwemtNJU1iKm5ycTF5U0xFXnZHTzRCZWlzUwp6a0JUU21FM3piMyQkcVZI
KiYoMUdaOFZPfHNhbCZURTRYQFVuZD9DdmV3XyZEMU01SSR5bWVlNHtsKl5tZHteO1kKemJwaX0o
VmZhYjZvdihgYmltVTtYUTQoS30hdWYxVFcqJiYxXldEb21uPTlgNUBzND5kKkRySzN1YnA+Tl96
ODwxCnpSOE81WTZZSlFoTyVEVjN1Kkc5KEBMK0k3Q3UtNWdyQ0BIcyRmYGgxSDBXcTJZX19Dcilz
dHgydHFGRFN3MyQ9Uwp6TDJ9RD87MVUtQCVHN3ZWRUhAaWl2Z2BGfjRebyMobFI4TVdOZj8ze2s8
b1dJbyNMaSY/ZkdIVUlmRyhLPD80dT0KeiY9YUJrPmA7JjBJTlRfUWJZQyFaIWQjMVB1Xlg8czVE
bSVkX2YwPjVYTmdYcGUoOyVlMzdafFdzKk9yNyQ+SllmCnpFfXpJQS1kSE5BIWYkQ01haWVIIWZW
KjFwUnxgK1lfYzZjcFhraVkke2pjdG52cUljezhSaCtmXiZaMnRuNGI1Mwp6U3Q9YDNecVI1Zjxq
d1o4VUIhNV9ONkVITnFUMHlTSUhTJkpUQnVWYkYhemBURGVQNFdkaSl5VHM5d35sRkZHV1AKendn
KiVzT1U3K0NkfTk0NTc9ViRwWDlmQjZHQHBKfD5nbnpfaHxYY2ghKjFrbFRmVzEhIUhUfTZeKUBh
LTN4Mk0rCnptLXtPdjAraklgXkxHZ0JlNyFVTkRoZD02dCp0e2MrOHFgPG5XcTxKSlVefmhBQlc4
bldAPiptdypPcEI4cytRRAp6YCF8NyY5cWhaZldYV3BvOXtyP016N3A9aSljOTBvNGVjMiNySEJS
NylGKFg9JXxnRFRgTHFgeTQ7bksoKCt1PnMKenMhfHVhIWUmWFA4QThQfDcoP0NhKGl2dXA/NlEp
a0A9aG14Kz80VmdKbkxKWVU2K0xZY3M+fDZiaFVlcVZrTntPCnpMQihrcWZlZE5uNiY4ekQ9PzRa
b24kJH1FdnNIfm9DWmxJS2locSV1JmwxalIxXzMtYlVzbmwpXkl1Z0Z2OGkhVgp6QUYydEQ3OExe
SG91OGNSUmk9OWhnTH1Ta3FEc0wzK2pIZVJgRHk0aTlDQHtOUkQzRkBwQGVGVE5ubTNzd3lRSTUK
em5iZDxIcT1mZT8mJW0qWWM4dUxhSkFQTnZ1SHFKPHBqWisrVVY9SCEqUW83d2VtYn1TMll9RFI7
blMod3ErUyg7CnpiZmtsT2BXc29MPWU1JXQhc214NnVlWG96ZXFsRStLREZhU2dYND1UVDcoeiRD
WlBLSWFrJWAhe1B5dW5fcGdoNwp6NHN5QCZjTC1KVW9sZExxcXUkN2dyNXolUmUxe2A+ISlETDZt
WD05ZGp0ZDNAKHJmZ21KckM8KXBGUWVyZ2AkaS0KeiZmJnFMTDIqfFRZeCVsVjs/dzNWTml+WD5A
SylYaWh1IXFlVWdOIV9GdXUldERXUnQxIWNVUFdneVV5OWAlemBRCnombGtmQ0NJbkdPZWNAXkQk
MTRjZWhSeWFZbzBSbW4lOTh3WlRmOV4mI3xzYll5N0QtfTtGfjFiUjxUIXxWMWJgdAp6a2lycD5l
eyRGK083M08mSVE8SlNmZSRZN1VTTihHQiFVd341Z0RLaUdyKHdyOUlRfEFjYX1BQjgkRC14UX5O
bjgKemhWPE17WCNNTlFeeGdDcjQzR3A7aDw5XzdqP1dUWT52b2M8S3VQbUA+RWppfTtHZD1PZHhj
cWxVIXY8QVBLZWE8CnpWaSNDLV89JTAzbWt1UEMoeThvaj91NXxyZWMoRDBDJDgydVI5YVQ1VHdx
MHhfWU9nJCNhT0h1QUA5NjxJc2hRSgp6XiZ+el5mPmhxfiliKG9fYHFUfW1YSXw1NSFrd2IkSjZN
cS1IRXpQKFJ+WFk5eWFhK3FMISNZaSptJDYyKitOJSoKekBIVjZCNDZ3Z1JUSFhaYVFrWnRgVXI2
WU4lcEJpKWJMeC15b3VBVFVSMEFhKCgwaTBWWTZ2emwoI2c2R2tYeD1qCno4eiktd1dNQUlRTE5L
RnI+fjc4czdHY2IrV08pc3JqPG5yQm9MS1Q0VWFPTW9rQj1ackxPKE18aEAxPyE1ZHh1Ugp6IV9V
QT9JRWswSzdIejs8NWhocX1oOz5lQUUrWmBFVFpFJiRsOz9XfT1ZeX1qXkw2d3xOJiVVKmRyU3p4
WihHSCEKeiM4el5vcUk2T1k7cV9vMCFYfnlvKk50a2t3PismSGJMXyVXO0xtNzBQQ2ZUVnAqWnsk
PmNUJj8oLVZ4PHhVeGNqCnpeeF83NkdSQEtRUnt1TnYlUF9+b3wwT0xZKDhTd3hFZHljOUteJll6
K3g2UzBoYk5pb2J3fHw7R0p+OXo+KXdWTAp6K0hGRHRqNWl4PjNmcWtCT0Zydz05bkAzUiE2IzJF
O1BITl9HdT9JPUdyaUxBSmtnfHpTOzlIWiNeYj49RE9qWGkKemZjPTJkPjdaS0o8KWxpdXhEbjlO
ZDM3eHQ+Pzk3Qz1WUjY9SH1LTnZkTXZ+fj1kc0ZaMVc7dX56USU3UG9HfCFTCnpSRUpfME1gfldq
UD03NWhQTUdfYXhNKVYqTHJ5NU49QUU4VSshKVFsWHshV2F7Sz5OUERjTzA/ODVIY1U2JX1nIwp6
Kzdjbk92S3FMND5PM2k0JHhOIXVLZDlYWGg0QkkpTndFOztuQmg3fUh+X0cjN1d4Vyg7VVJtdSNA
UFRISFcoQmIKejZjTU9jRGVvMjxRX0dFMFRpZUh7UW9WdyREQFAteHZwRDczRCVDVkAmV043aDMx
Rj5VRTs8O3VNV2IzPUYqcT9vCnpmcEtOMkp8dllUUlV5P2B1cGBrNntzP1FPKHNmb3NLX2hUMkZo
YWZAJkN5UkckYVhRUVhSZERjPUYwT3A7ME1iRwp6b05DRzZBMkYmRD0tU15LMFYoMFFmJl9mVTN0
MGNONCg5I18+dDlJa0lkT2VtJHtsTlNFQFRJMkZsfkltJnJwcUIKenc7MT1pVmApKzFDSSFMM043
YilOOCFAREduSW93cFgoTXd8bFVDPHU9RihsflVSTjMlX3VheWphPVU3bV9VaXlvCno3MUhCWihK
WCVhUz9xYXpnP0c1KCRxO25yWD0mdktBajd6TEx1LVErKHV5Z3dLSn04KV9YMHR5Z3ZeNiY+VWwx
Pwp6S0YqZj9iPV5YVit9aVBacGx5YzY9QnpIOyVWSHwtcC1eSm1VN1JrejwxOHYmUzFsQTArbVo5
JComKz9ed184LWYKejBZQkZhNHlKOFl4I3V8Tk82Q2F2SzJrSFZ0TiordGtqdUZpZTZgfjBMV3Bg
KHJ3Yjs4Kmk1SGExMVApZWJ0S3NyCnphMG9iOShSfmU1aCt8KjFVfjZ2JkBoTzMpMlBtSlFiRFM0
aFYhRExKSlNlYyhgK3lNJW1mKVBAYC1KWWA+dC1LYQp6UW96cmgpTF5Xd3U7cj58PkJaS0F6fihH
VkdXVytRdmhuLWxqKSRId0xZTzhqMFhGaG5zRkdMVDVgVCRzezE/XnwKek4oRHxXT19FKVBFWilG
Q3g7a0R1V3dRWHZYNU5JfEQpMG01UmtkbndNJFcqYGZ1TFk0cFpEVU8pSGZzUVJaIXtNCnppdUo7
T0omYzhTbDYkeklzXzMxYG1NNlo3YnU9cXhxRypPYSFwTVRJYjt4dGJxOX0mKGRiOVBhUk5rdjlS
MT1PfQp6azlgSVBCWWojI2pIalhKZE9yMFdkJVQ1UlptdnJCWU5JSGdnQCpCSHYxNVVCLUVLeXFr
VUAkS3NaSy1SQXJSbDcKeiF4c0ViO3w+djxBJWlyaUxkbkEzJXRGZj1fZD16NnUjTChuZldIJW0x
bFNXVjtxUlIrbjx0ZnApcipKU3F2dDt7CnohTkpOYkZEUSZCZSVSKVJaa1NoYS1+RmdkKzxpJGZu
OE1BUDFwZWFVZEFgSjhgdGIjJXAzbnF6UDc0UkVKUzRkYwp6Mz8ydHY1OEArUjVvKXF3RGs5YV9j
R19xS3c8bis0ajtvNGNNLSRBK0M8Qk5DenhSZmZmej5GITJJTj4pe0xzNj8Kekw0X1kyRTRKQmNN
KTROOUY+NHQzeE81YylAM3xWJmB1PFE0eCFmMFJBMCY3QnoqSnd7RkRvSSVpOF9xPDU9YXBBCnpz
RGF2ZjhNeyZTV1QtMDBSJUVEaHlKY1ExeG49Mkx2ej1faVpVJERUI3dvK3FrUGM7ZDxlU2M2JiR1
KT92PE5zRgp6M2BPTGFJT20tTkokT0o7VjNuc0tWdyVlXlVCSWJTKWNkNU1WdSo8aWxwaVdOajxB
VkhiKGpNX0p4VmUwSFJUb0sKej9zRX1nO04rcnNnS3Q2ak1obFNLPjghU0s/bFVjTmw4ZUkjSD1Y
Y0ElV35vbXQmVU8tYTlpcDtWNzZnMVhXVHN7Cno4V2Y8YzxsNVNnPVY3eDRqZHEqZVQkal9sYDFU
RVNtJiQ8Kzhtcmd4SlFuO2pxUUxIS09iKztSe2xBQ0hiKEFfNAp6e2pfbSk/Mj4mRW1Dd3ZGS0te
WE5sTnt1YCtLPUBTc2NWdClna1UjLWBOXlhiUDk7elhWKlYkOWc1Pmt0MCN8Uj0KejNkVWxkR3k8
b1BQSiptR1VubEsxNjUpZkJWQ35hNiZUb2pQbm8/MXc2Sj5Tel9ra34zLWZadkxuPU97dSNpOEx3
CnprcFAySnJUe3hYIUdMWmFTLWJHSEFfQHFWIUxwK3R3PF85Z0hJdW1OZ0p7SGh0ezRTKW0kPUtB
Wm5HVzNWKGhSPgp6XkojPmkqO0B4Ryp+I3QyOVJRZGdPMkJlOD5UPzxGP3o0QiZHZ2hvZUYtS0hK
cXo+TCMmP3lLNTJTe19xQHM0RG0KelRBIXB4enJBZDF6ayo7dk1pZ0hyVSFgeEROQktrVSszJHk9
SEJ9N0YjPnpDcjF1c21HdyRsIVdzelBVN2lxXkpCCnpVTX0qdEc3Z2BUZTZVP044QENCZEpIY2J+
REB4TVFybn1ybTlkOGs/VElYIWl0YnN5KT1LTSFkMmlUeCNncyp2VQp6RD4jI2dCM3FEZEE/SGpu
RF5MOXRrcyZhND17QTBxZT1FNFByJGV8dGVvPFF9dHY2S1BfVHpob05XTF9OSUZeK1oKeiZBVUEl
WSk5RlMmVXYrcWlJTlY3R207S19nV2JZOXppeCRsYipxMHY+QjlSQXYlRDBpYWpoWT9iN3FZanZ6
KEE4CnpLJTgrS05pVVJ4YFBMPzZufn4kLXZabEN7cSpgK30reSZ2fTMmbGFeaW9MXnZfOHdwTG19
eW5+N0pReFpzcSFoSQp6QT0/TCUjJEh1NXUmR0ZoKngtOUljZ1UqayNNKlYpMlYmbjRzVElYO3RK
anQxejcpRmE4QEJ+dDl4dig1Z3EyTVAKek55cXFBK0xUK0kyclZXVUFLT2YrX1h4RTxBZFpWandS
eG4rXlI+bFlCMy11JlNPSz1RNUQ+SXZpM3wjU2t4SntgCnpGbXVgJTtoQjFMX1ZZYCg0bEItT2xI
fk5AYWR1Z1RLRGAjU1A5RzhVdnlRIzsybH1sVl9WSjZDNk85bnJlVURpfAp6VyhOIXZtXjxBZmNs
K3klJCN3fE1FU2xmTCVCYTslPVg0e2E/PFFKaD0qOyR4aHp0dlR5I25rKE1SZD9Yc2p1Xk8Kelle
eVVnJWd2UV5sKER1N21VbiVsN1kldSFQRChtWmkjSWxha3ctflF3KU96RUUlNDxwJH57ZXotVT4j
JW83QkRNCnotck9eLSVOIXcqS0hnS2tYeE1Qbzh1YnZgZTQxaj9MVig3bVNeU1FiQTJKUksxQylj
aHdSWWtNNV80dSVwKFJseAp6OHRNOVRXPUJLMnYlcjJ+V3l0ISsjdjxwRFlNSj4mIUhZS2MoeEdu
cDtmK2Jgc01kWW1CXiYqI2sjM0pUKitYWV8Kem9GfEF7eipHQ04mUm9jc3EqbiRiKFFndzNIIVZQ
QGxQNXA2cz9PWlpRKTEmfTVVfkt4WFlyd315YG0jI3haOVd1CnpIT0RCbD9Tc3EtPjk+a0xuWSVU
b1o+YDd8dVExI0pHX1l2Z1U0QWdNSCo4PkZVSHRpUEdNdTIxVlVYJFlAN3FTVgp6aig7Y1YwTUdw
UHtzaDReMUA7PEdyR3tUMnV5MU1zaUo2WSo5T0Y4NzZwVGhmc0spUWJ0ZUluQnRaaigyRjxmX3QK
eiF7Nz1uKXJZI3hQQCMwVDlzJCY9bWw+WD8rVl5OZXI0TnMmT3c/P1NhND5OMytWTVF2LT0yTFJP
aXBZaW50WDBkCnpLMVY/V1RSdmU3T1lOdnVDa35PU05fRmJ+OyhmSztjPXtoTHAhU0V5MEtleThy
KkhpOUYkWWZxcHNFPXJaVH1QNgp6Rjc+VC1GKElFY1h7YCNBdTgqcH1Zezk/JHRKeWU9UUR2QHEw
LUh6bGckJWl3Q055PypQXmBqRjY5amBLd1p+XiMKejRhKiNMRUFuPFh6K3RhMUlRa2BOamYyfD9y
RytrWHFCNFRSKVZSeUE5VzF1MWZMXzhidnprfUZsPzxXNC0jKy1YCnpWZDxSeDM+RlFpclBrMU1R
NXlsaWR0Vj97ZzMpPDVFamMpPXtkUXlGbCp8dz9yNyQzaVBFQnlRa2QqaUp4WVhsPwp6XmEpbnZ3
d3YqZz16dEgjeVkwMkhBeG53IzlQX298enB1OHY3VGtuQXF6XmJjU3g2c0w+SWJVY05OZTlwM35g
cWMKejgjODdAdTs0QVpKV31+Oz5RQl4mV1d7RWpiT3xDfVArK1JyQz11U1FyVCg9OyZtcmxycm0t
PH5aP2EqdFZFeVd4CnoqQVlNWj17JXtQNkUoKiojTTw/flElVjxqTzt6YnRULTJeNWhXTl9LeGpX
KCRJKks8ZWowJEFMYVIxckxrQlYxKwp6akIqIV49RlFXKFdsOG8jTGdTdDc9MmtxRF9ZZms9LTJS
aDNYakV1X2FVdFhlYk5sX0JrKShLeT1veHkhdVlsaCgKemxXMjgrI0k2d3dwT3lIV0FiIyNZN2Vo
YkEmMGtidCFKKl99PGo5cClSb3BpWnhlVS1LcW9ZMn1ZdXZve3dGN25OCnpGVXtPNWg3IzFCOTh9
VHN3Mzt+U1d0VkkxTWJDKC1CVnRHQUgoNzk5Xio4OUtLSmMwISRTQmdPZkIjeF4+e0JGfgp6Sm9g
bFMlUkxpKDQjK3xAbG9vQW0lZkd1OSNlfGo7cEBab3lvJWtpLTJvND02WjRnanAjJGNRUm07Q35M
dTd4VGkKelIoZDA9PExYRVArKkMjZnc0MUFVXypGcz15NVl8d3tiezg/VzlpUn5gP0RfblN0fGMq
RDFXeHlLZiVlTGM8RTE2CnZgNnVATmxjOExsZSphMER7LWw9dzQtO196YkljZigzN3VtcmBHdnAw
elh5XkU1ezM2NEtse0dgeDtlYyQKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvY3NzL25hbWVkLWljb25zLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2Nzcy9uYW1lZC1pY29ucy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM5NmNkZTU3NDk5N2MyYTE4YzYwYzkw
MmM3N2RhNmU1ZjdmYTMyOWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nz
cy9uYW1lZC1pY29ucy5odG1sCkBAIC0wLDAgKzEsMjcgQEAKKzxzdHlsZT4KK2RpdiB7CisgICAg
d2lkdGg6IDEwMHB4OworICAgIGhlaWdodDogMTAwcHg7CisgICAgbWFyZ2luOiA1cHg7CisgICAg
ZGlzcGxheTogaW5saW5lLWJsb2NrOworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOworICAg
IGJveC1zaXppbmc6IGJvcmRlci1ib3g7Cit9Cisubm9ybWFsIHsKKyAgICBiYWNrZ3JvdW5kLWlt
YWdlOiBuYW1lZC1pY29uKHdpcmVsZXNzLXBsYXliYWNrKTsKKyAgICBiYWNrZ3JvdW5kLXNpemU6
IDEwMCUgMTAwJTsKKyAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OworfQorLm1hc2sg
eworICAgIC13ZWJraXQtbWFzay1pbWFnZTogbmFtZWQtaWNvbih3aXJlbGVzcy1wbGF5YmFjayk7
CisgICAgLXdlYmtpdC1tYXNrLXNpemU6IDEwMCUgMTAwJTsKKyAgICBiYWNrZ3JvdW5kLWNvbG9y
OiBibHVlOworfQorPC9zdHlsZT4KKzxkaXYgY2xhc3M9Im5vcm1hbCIgPjwvZGl2PgorPGRpdiBj
bGFzcz0ibm9ybWFsIiBzdHlsZT0iYmFja2dyb3VuZC1zaXplOiA1MHB4IDUwcHgiPjwvZGl2Pgor
PGRpdiBjbGFzcz0ibm9ybWFsIiBzdHlsZT0iYmFja2dyb3VuZC1zaXplOiA1MHB4IDUwcHg7IGJh
Y2tncm91bmQtcG9zaXRpb246IDUwJSA1MCUiPjwvZGl2PgorPGRpdiBjbGFzcz0ibm9ybWFsIiBz
dHlsZT0id2lkdGg6IDE1MHB4Ij48L2Rpdj4KKzxkaXYgY2xhc3M9Im5vcm1hbCIgc3R5bGU9Imhl
aWdodDogMTUwcHgiPjwvZGl2PgorPGRpdiBjbGFzcz0ibm9ybWFsIiBzdHlsZT0id2lkdGg6IDIw
MHB4OyBoZWlnaHQ6IDIwMHB4OyBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0OyBiYWNrZ3JvdW5k
LXNpemU6IDUwcHggNTBweCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJtYXNrIj48L2Rpdj4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Nzcy9uYW1lZC1pY29ucy1leHBl
Y3RlZC5wbmcgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9jc3MvbmFtZWQtaWNvbnMt
ZXhwZWN0ZWQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJkMDJlNGY1YzUxMjAzMjAwNzA2MmQ2ZTdlMmI4NThi
Mzc3ODI4NTYKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDIwODAyCnpjbWVJYWNPYUprfDFadnNH
UDUhPUxoJlgtKzFuazcyKzdfZ2smKFNKQDNKQnpXelExZzx8YUcpWkE4aV9kKmA7dAp6WlNRJHJ3
fjs9ZD8+WG9ESkhPeGdvJTAqLWU9MWtrXn0xZjtJVWRpKV5LcDUzVXJDay1wOVVXVDFCMitVLTBj
UyMKejcrOCFMNyFXUG9iS3B2eF5LKUQ5KkVMNU9Fa19lYFF4aSlFQ3U8Qkl7enRzTENnOUlVe0s2
KUAwKWkkJkNYWS1XCnotdz1FI0FhSHw2QFBeUUIwY0NDUTVUP1RlU3QkJWVFOFBxUjF7Q0EmP09T
VERuNVpHNWE2TlN4X1l5Q0pYJkg7Kwp6NE9gUXNibjJhTjU1QlJNWExBQGUye0p0LVg7Nm5uUjZz
VH1pU0ojREdUKC1BOEArdCs5JHI7ekJfOD5aXkEtKloKektER2RmI0N6cyo8UGY+NzxeWEQ2SVVm
P1QrTVd2RyNLZjxKOWxTR0RDQSh7dEwpRSU2WH1jU2huK2RDO3RpfWYmCnpRJU02fExqXmRybT1K
N1M1PU4qRzJLV2FWWlV4KHxPRjxfOzliSmFYS3J3RVR7SnNPMU1EOHl9QUxkaklsMFRrPAp6MWx+
TTt7YGQoVk9pYm9XTWJIMHVoNk1XUmtLM14kQE5nTndleCRnNF52PEsoZEB2cG9vPXlUPjIpX3NS
PTF2YWQKekE1KzY3RiomOygxTkkwNGs+anp6QXc4UWFxWXBMSyotQ0prJCRKSTBAOFZ4TW98cnNT
ZHNtbHcmQCpSd21oJHApCnooWGBDfEp8LXxpZk1lbGZHVn5DelhWYG5+eD92aXRwJW14aCZFfWVP
JFp6MWxvaV5uRWBufDRwSjgqeGEpOH0qSwp6emg3eWQ9ITVaNyNHVTJyJUNyekI9NytIfHklJWBE
N2dNTU4jZHdsZjhGNjtTRiMkWWdyO3FzaVlfPllBajZRe30KejI0Qnl2aD05anRPMVhOQiZiQTxq
b0NLPDRtaXlASjNPI3R0UTdfdV4jXyFGQWIlVStWRGJWQ095QWxjPjZHNDNBCnprM2s+c0BkMz9Z
Vn4yUDVhbTFjb1gjfGhhX2V7ey1gQFAzMFBHRyVyXk8xakM4M1RgbiZlOz9GdV8rPjh6NWlefQp6
fEheR0w4dEpDVUlrQUQxa0J+KkwmR0tMIXtgRCkrbHlRanVraHQjR2ZzfnotVzUmV01EPVZYTTwm
U1JXXyQ2Q1oKekB3fUJnJmdZdHolcEI9RCkwdFUrMG1uQDFmPUVCfUIoXnZvajBjNjZSVCQwOyZI
Nmc5UHJFNCNub3w/UGZXNjFsCnohaHhITXpuM19BU3hPQ3JPMyhIZEhTZ25sRmlXa2ZFYkcyfW1J
U1l6bkYpOSk0UzVycjVrPllaVGN4VzxaJCtgKwp6Ny1aTCk+JlljMXxMZE40UGtQQSplT2R1NFR5
ajw9eF9tM1I1eipiVDdaTGF8JigoajFzIz40VCExTipzdzdKKUUKel83OExYMEFfd3lSSF45OXYp
LXllRnxMezlYN1pqKkdYbnBTNHZ1QU1lMjR0KHthRmpNTj99RHdPOENJSyQpfXlHCnptZXkrfjhw
MmNqKHV7TWlSKEpJRS1ULSV+Z3YzSlIjUUcjSER0JllJZDJJc1EhKldwNyEjfiRlYSZMYj12fnJk
Xwp6U2E3SyhhRzNtbE8pI1FnQGI8NWc+VjBkV28kMXRvTnshKVZxNEA/K0lTQCtkQW44VUVINGZ+
KkN4SG9CMmt5MSoKekNMSChNO21+KE08U3ZNMTk3VWh3Sk1TbGhlTlQ9fkp6RWIrNkJERClfYGVW
SiROJmRrXl5pX3E0T1R9aVNAQlVGCno0bVNgU2J+VnYmNiNlYnVEZzBuYCVSdkl3U3crRGl3VjFN
eHhUbGtXP2hAY0txREM1WjxiMHEzeERee2t4a05wQgp6NHZHUFYjZyp+R287enp4Sj1GKEFtOSZ7
byp0bXxfQVduVkttbjxFZk83YHt3TkJqTDNGQENBcHc8dTJJem58bWEKeldYSDBUbmtVd0g/Vl9s
TF9hKzVQNURAdk5HMD1HaGJWQkpAMlNLa1ZzaWhzXndtUnZETkItOSVBPlJGSztGdzlFCnpLTU9j
c3BLTD84WlZrS0VYRlVEaUYkWmooNGkxa3UpKFk2PUBAXmhGKisyZyQycygrZXZPOThrbmR4KmI9
d1c4Ygp6SyVuTzBJKTRefThOKzN2NysrSlRedjtZMisoaVBOTWNTWG1ObGJfdjJ4ZWw+VDNMUjMw
eUtwU19GZUVEdjNmSE8Kem1FUWZoZklneHd8TSNkYzt2diFmd1RAczcmT2U7eWVoSVY9dDcmKDV2
K0FlVmNmYHtpJTB2PXxHRkcyTFQqRlZsCnpCUkNOU25BcDFudH4rT0lzSWk0V25ydVpSantWQCta
e0M0fWtgfnJ+XkBuQVFmfC1wdmRpP1BxUjJtMDYrfjI7OAp6YGozXkAwaDZrbSs0fVFBZXwlZzxx
Nng9T1JRUChIPnNgaiVELSt5PEREazZiJShINVNUdD9fR2R1QCVUTX54en0KemFVWCVLa3BFZDJl
aCF3VjViY2pYck0/MlEwMTZJYFBGc0tKPDFGQz8rZyZLPHJnUTM0RzQzeVhHV3VIZkA+bE8kCnpu
dkJxdGxSME49e18+fU5pdDh9ZE4ranlDS3Nab3JPfjdsYE4oazQ7bmNlU0FLMz84NiRudDJWWVdo
N3FAQktOJAp6eThhP2Q0eU4lUnZKQlNwK0ZiSEpQeXFsRzteUGJhTmRyfDhsaXk+Pm8jJVVoeE9B
Rj9pQm1yUTl6KXVsdD0mPTUKek1zUmVEP1EqY3t5JFNCZkNET3pCQSZwIUV7cTRpSHVgdFF1QF45
Y3BnPDNgPGwrbjNjMF8xX0pJbW93ZylJYlRiCnpNUEdOMEU9VHB0dlcycF9USFRTST9wdyhORHRi
cEFReUt8UmVUPz1QZFJmdTg3JSgyWmRLKXBNQWoyfGtJTXF8ewp6eSlnIWtrJE9YaTdYREZGWnVk
UnskJkRsb1NVb3RUaGY3emVIczI5QHZkdmM/OWBMSyViJChQYXtfJFNNYyhCeVkKenYkNjQtaEZ6
OT1mPDFyZCMlQUBRX2BPNkN7X0RFTSpZNzJYZU99Q0tpNUNwbVVZKmg7O19eSmQ/KjdUTDJqUjY/
CnpWTzNsTVQoZmlqaWU1NH1gZEZOVWpnbzVoaDMmdmlGVCRjQmApezApaFQjbmpEaDRZTihTJU1o
YGBFYjVCcVVIVwp6I158KWJORGo/endKeiFoVWFScFZndCFjTDdVfkhQREtkMFcqMV88SWBna2w4
VCg+JmY7cnFnU3pnYGV1RmlVY0sKelkmeHFeVk4tdT5PY3RicGhzck9qZHhQS3hEQ19kPSQjezsj
PG41dEZGRGlwUUItSjl5SGtxOFVvZiV+R3lMcVQqCnplV1h8S18hPUlwTGBVWlI4MkI8XlEoZWha
I0lFIXklZ0tHfEBBSkQtTz4rakRXekEyUDtqNHkrSjNYVkdpfCZUNQp6dnpad2RtMmJ6JDJvayZ4
d3ZFNVgrPGQ5ZnFBP2k3c2F5TFRoYWYrM3t5R0YzcFBOTHBHPkFpZyRaYVotemxaLXwKeld2PHNH
ajdVP0BQS0h8OHshej02YTV4NiszJFd+dmc2azhKVHhIWW0lVnghJntRT3xzWWFGbmk9K0w5QHFW
QmJOCnpGKy0hUFR6c2hwRHt7TmN0fDVEUXRXaUBiUztGJks7OV5nWHVJQXpkVTl1Yl9TQnt1KnQ/
JXUkMzY4JjdhajJqeAp6bXFnO0JEbWNoeWpoaTB6ayUtd0xNQ0M/Kkd0WTlncF9mfldZUzxpUy03
Kz5WQXQkMmBwPitwb3ZkNnAkIT8oZCEKel9sM19IRTFZK2QmV2xfMzdpTXolKCVDbUxNVjhTJG58
e1oxVjBQQG9VRChKVjRaRDZEeTsxZiM9UHE/a0tWWHYqCnpkJFhGPV9gOWVRIXxyY0ZWSGh3JVVf
OXNlR0pJX2hfY3R8YldmU0JoVTM5Q3hKWHc2fWF+c0FnODNvWXgmNCNFcwp6RlI9dG1fcTFGQjR+
eSg9SEEtSUtfVEsmJGZiRUtXJHklR09UX0J+YCRHJXdYeHtTMX4jYmZuVjtRR3V3VSV1RWIKek4h
RE9HQSRoUEk3STUld2NhcFJHYUdPJE5DVT98ezZfOz9vQiFecmxIelhFWTtPVT9pOS0kcStkVE8h
elZyMjxXCno8bE4zJkY3ZEtBXiFVeGBIOH5+MntjblJwRXtsdWt4c0xrUGBHPko0ZCteWUN1S2dH
I19UR31ObzMtc1Rqckklawp6N3s1QWRDYl9IS1luSlNwMXJrblBtRjtNKT9mN2UxfDVBKDg1RGJf
SDxucnk5dyVvRFNnLVY7Tk57SlMwLVJfY2kKekU5YG9ZRUhDbHVRbk98aVByYUVWO3BWSDRUYiVW
Yjh8bGQ3SzMoNVJpI0RLOTV9RW4xdzcxJHV7UE9aNU9zfnVfCnooPWRZUStCZz1aMnhPYHZVOGxY
KiVPdyhhWDwwKDFTPXN+aUVgdXRZS3tfcDIhRUAtJDMwPWlPST5LMkxxSV9Lewp6I158TGZESytv
Qjs/UWljYDVJcmVLam5SM0NOJUxAUm0jTz5HaEMpKE0kc25BSCN8UVpUai1JcjJRO010b0p6MjAK
eiVKbH14d1JZKnFZWSooUSlDeClsb3xiZGdjalp+UXJPT3F9QSYrMkd5QktVc1pEcUAtIy0oeWpV
eihDXkYpUj9pCnoqYm9WaXRLMSlGbUJoPFBkTiFOS0d8cCtgcmpXKiFgPllFZHIlJkkqK0ZsR3NB
OEB1RnFvS15XLTRHendhUDJ7Ngp6dX40SXtqazNEM0lASldhSGhfLWRBVW0zSkRee0E5bG4+WEdy
NDlDQyY2NG1LX0l7bjAqODlaWFJjIXZfe25BJXUKekZaKjhQQEo0Wm9kUjM4STFCYiFRY3s+U2FY
aUF3K2ReXjBuY1h0RT8qWE1TTD5xN2tPPiV8V25mfH0pN20qTHlkCnpSY21SUCFKM3lyKyF4VmRS
SnY8MU5tK2ZAYiQ0Snk7dF4/XiNJQlg4VSlFTWxQM0hoTysmVTc1aXJ2SVQ1M3tFQwp6QmlwU217
IyVkTWA3T0glLVJAbkwybyE3QHolN2dpMjtpeEJmNllkSHtCbzxyPyEwWGM9NlQ9RWlZYWxUM1ZZ
OUoKems8Q0V8NHRROW5PVmtsJlZHT0lPS0E1WVg2YytGSyskTyVNdz4yIypOclN7ISYqfHFYe3E/
K2deO1dDc1ZnKGJOCnpMfFNieEgjUSNRPVJOKE5yOyo/Vj9BdjUtY2kmVDBuKWkrenlpTEsmMHZI
TXQhYV5RY3koaDlneylWRyUoJWgtNQp6ZE9nUVJ5JGJLOCFjc3BqaUZ0eUxKQ3ckM00qY1kyTE5D
QmRBemdkaHQ5MT1qaDYhV3JBPiEpXjR5fH5HYD9II34Kej9rYnZCK2VnN14xUTI3aXVwWkBsOEly
KSF2QkN9fHhFTmp+PylyPmpLJn5nc2xJYXtOeiUzITlCdjZ7TVk0K2RhCnpEdHBlVmo+PH56c0R5
SXhaRlh7ZEVlQTZ4ZWEkQ2ozXnhRMiEpNi0pX2w+LSpMUloxck5qQk59QG52YHxJM3lEKwp6UGRi
N1R3P1F1VkBNPUEmbkN4KkErJExrd2NIVCsmcjxMQnoxenN9YHJzZ2JhTSNrOUEyLXsqRnBaRkZu
SUJtZnQKej9FfUB1TWkhPXpNdCRiQTVKa1NnQUh5UUJNKDZENVVKVSFxQSh3eXYxfX54YnhCez5o
RipRSGE2elZHNlIlXz9gCnozWnktQEs3Y2A2TiFWNkhoTC0pZVJoN20wX2tmd3N5bFZYXjQ8VndR
Wm87cjFAIWElRjRIZH4rQG0tWD8/RHBhQgp6NF92WjcmPlY+MXBzalJfc0xSdmQma2tuMiNuIXFw
IVZadE1pWShNfkdESHpySU91UmAzITwtKyhZRkVrKkphRUMKelFeUzQlfDhQfCRWSFVwS20mPlRH
UlVLKWc1QDtoJUkxI09ZPz17dFEtfEI8KVR3XyMhUTYkT0FiWlF0NEcwMCQpCnplYEk7aG00RENq
bEBLdCN6VSM+REZqY3h6QkYjZU89SjQ+KSFTel9FLXJkPmtmPnc2ejlKcj5TMW1FKDlIJWo9Pwp6
Mkc1P1hXNmlUYlE/ajc0SU58Pz4zfTkyc2pTUCFKNlVxP214YSVZdEl0fHd9MlRFKWgpUDVjejBf
eEtKamUreD8Kems3Y0x1MlZLV1BKViZDZWhidW0+KmxoMnQmeHVsZl9gckR4eiRZekl7c0YyYDlO
NzJoUmZjVzMoKXMqdntoOFlSCnpRWW8yYFU0aXZrb0hFekZGSVQtKk52a3A0TW1IS0k0P2dqJWtI
dUxjQEJtYD9YMFl7WDZCfkRwZTUqWWA7Xk19TAp6X28wYCZ6bjhFQD1mfiFkeFVueEdiRTBmWXBN
czhYJURkdn4hfk1tYDVxc3w2U1loamhuVE5jNihYWEVfX3A3UE8Kem9sJiEhdD41elRfWU85emIz
SnI3I0B7RyFAUT1kSVU7ZWxrZT5yMSRveCN4YXlzTF4zdGtrfTlDTGBJUF5jbndxCnpEWVQwVmpy
eCs7PTZiRWVaTkp9YTxVPlh2WmwmYmxoK09nNkwpbSE0MlVrZktfbyokKUMhJSFPdDZ6dH1tbis2
dQp6eEcmQSMqdWBfS3NBLVBtdTtkQTNuaD5uc1p0LUViRnhIdFIpV0VKKClJVUg7XiloaE5xSmQ8
XlUkRWt4e25wPi0KejhSKEReaUZRWmVxV2JgMVNKN2JlRWVSeTZUT21XR2J8eFVYLTJ+WShmTipD
cDZwMzM7ayYwfHFLfjsjYWUmLSRDCno4VmUmdnJgO0hTT0FTIyReI1I7Kk83cT1vVEZVYDNMV1Yr
IVhHSkJiJCN8UX5lNXtAfVEoRmxidSlpVCFANFVpQQp6cEQ+NFU+U2wqZm5nemgzT3M2O21wdmk7
WCNZSXNUdVElSXNoS0N9cj0hRWxhbEJyUEZtTkYjd0dncXdwWSppblAKel4jPFBKNTJldChpRyEz
XiR3K2s4Ml42JDAqYD0mQDNXNHU1Rz59PUw2TXVYNmgpK0VRMCFifDlHVkNfaDQmbU5uCnpLS0tp
RDAhe29GWXo+VVl0ZiVueDlEbTMtQHE3TEphQ2JEWD8hdWZYRD87YUBIel40a2o7dHFKQE90ZlNI
UDNXcAp6Qz09Vnd3djspfCV+bUZpRE98QX51ckJmSVo3YUc/VylFV0dueTBQKzBKI3hgZEF3UGRH
eXtWO1dFJGQmTGB+ZlIKemEkPVgxLTlzMGJ6JHFWUEBhYy07YitXVjxWPV5Cb2JOR2pxeyMzOGot
RHtFQUJmN0lrUWBHJT1WTGZXcDY9RilaCnopIVFmJF58YEU0bDVXeSVwKjNBR2VySXhiUT5qUThx
JWBUaHdyKCVUYWBjXyRrO1B8R2NOZDkxK29mZ3lOUj0mTgp6a2pLLSNzT2NaWGFvZyNeKS0pPTt3
OUdKcG9oSE5TQExUbnMhczFoSkdSQ0Q1aTFqNVh2Uy1+YyQ/WClfczg4QnwKenA+NXMoRmZjcFg/
bExUdCh0TGFecldDMT87NitpTF9HPEhhWkAoJnw3bn53UDRIVylxMytGYkpSKWRMNCF+ak57Cnps
TmlBWkE+VWR9S0JQTz9BMn00Pzg8UlhSOFJPRWE8P3NYKjBXbGk4KUw5eT0jKnVYIU1CPyEmcjtL
OGJWPS0oJgp6SkY1NnkqV3JmeCtyZkopKGJYUHV1VSU2Z1Ilfi0xdE4/aGJhSjRnNDQ/Y3hKWVJp
SzM0Mk41ZCh1V2hDdDVITFQKejl2c19pSnhnV1JBKGV1LWpufnZkYGpHXztOSHhTPFpuWj9jSD9i
OXBnPUFPSUtQPSQjR2Q3MzFYSCs3QUJhZjwpCno2dUNfdl5zSk5RdF5pWihaSlhZemYoeWxDej8+
PGxjUVImUWFhT0gmPismV0U/PiQtT1NTUjRGeElzdUlmZ31yJgp6VyQ8KnxzJCkyfnZEWXhXI2ZP
LXFAN1gtKVl4QVBxPXJjPnNHT09CWjtKIWRXI2crWWl7bmE8JGVxNl5nPSVPZEIKei1LPChfJCRf
ZiVtc2dpTXJvV1hOMVk7dXdePV45YkF4R01XKH5gITEmWXF7VWckQzw8Jl9aS0VZV2I5bGFIR25W
CnokWHZvQFopT3xNSW8kdlkqQC05M2J8X1QqKTNQVGBDaSEwWHpsbjliYzNBS0FrSnkrTnUjNHZF
Vj9Qak1VSS1Pawp6X348VF48R2dJJD12PCNkUXp2YDFUSVRZQ2FXdTtPcWFxbFc/RzFEa09LJEly
JD0zKiRRVGojSyMmQVI+aGZAOE0Kek9EK0ErRypfc2ZVaXc/R2F6LShkMVgrXmJHSzxzMFNxNG9J
QTx2TCYkbURBb2V4YFhoWWE7ZWEzbkY7Vmo0RmAkCnpXeW9sMXp4MlpiTCNOSHlaXyhUKGgwaEZi
UGt+QjIxcklgJHtKZzc0PFYhfEdCTCh5REk+THA+dD8jWW4pNWZDagp6Vj87QXs+e148ZG5xNEI1
NlB6fWcqQHlJcDBYbDg/VDxZQTlTeiU7Jl8zezJEVFk7KHs5JDRFb258V2xGV2VTdXgKem18KG8o
U1MrKiVSP2QtSnRYUW9MSGMlVF9FSmhaSEI1TlVhOz4tZHp4PTh5TGJRIXZ3UkhjJTdyXzFBV3VF
enVpCnooZFgjQU5yPDdYUVBRckZmJGNSTEsmI3ZyZ0MmaGpfZilQSVVYZjd6bjBkR143RSkxZUNl
b0dYPGkwYkxRU05Adwp6X19PbnduJm5qV3t5O1U2WnRqK0c4e1BPcTUtc0RLUFYzeXJPR3V3eTBv
fEx9RHtDQEk0enlpNk5xSXkyI1UrKVQKelV0TSFJVHZuMH54MEIxPURPMWVWOUMhPl9sP14tWDdp
XyREMmNqLSVJeEpTX24kY0xldzNTQHFBNlZiPjg1KGooCnp3YT8jSiF8cXkwdmlXOS1GbEB1KEVx
QVlTUWBWP0hoJF5aR0g4SGwpdHgpUmJaMlBTSiZDJFJLKF5GLXJWYzRHRgp6KFpNPDl7eytrPnVr
SE9TbUBCPWF6KzIrX3E5TyMhZnJGJHUxanlaYTtfKE8/emo0QndLVGpwO1k3QFJVcklgTnAKem9L
LTEtOG80VEhwP19JZUJBbXhkbW9uTnl2OGNoTzFBcjtKQytrfl9vNVJKIT8hO3EpZTBGWXpNLTJs
JHI0KXxJCnpqQXpfYjg0UlhFSWx+WUEjU1h4REBhJWdPKFQmeTw4Xjk1WWQ0XklWb3RpcVIrKisr
bzt8RCY/aStSNEQ4Z3dxUwp6R0t+ajIkVHtfZW03fk55TlMlTWNadFJQQ2xLalotK1p+ST53VU02
SDdBWTJ3YVdeSF4hP357QW8mN35gQDQmO3cKemtMJWs/JWIwUENwdi0qWnBRaDhfeGtAQncrU05F
M25xenY4JGpLfG9BKXFYTXpZbHYmTW5LU3ZMTn0lT1dmX2l6CnpecSUkSFNKcV5gWjNhMHc5S2M2
VTR2Knp2TG58bCN4NXxLTGlvJmhXX31PUzlWTGArWTt3b25+Pn5HKztKclFZVwp6KUx7NmlEP2Z4
QHZeYy1DaUZSYmBpX1FmWExWJT1rSX5uaDFWVVNmaiNZJWQ2bTJNJH1Fek5ifXErNWxqNXwrQWgK
eno0I1Q0PHBIRyV5QGg+MldJQ21wY3J3PzBYd0QpXyNZNF9ZPypea3BZSEhVMjhhdnY4VEYhcnFB
VjtUbz4qOEdMCnpfWl5WMmMyMzhpbXIzRW5XY0NtMVAhaTJxVlAyfiZ5dGR0RnhaQj8mTVIpfldy
I1Vge0V8eCVTVDxkNXBFRVlDVQp6MTlickgpcDM+I0tJbUEhYnxIdjNkTExBYjFgZkR4Q2AmX0tK
U0lTXyVCaEgoZjt0MV9lUio9SSNDb1EoQUgpOCUKenRSTCE/NUN6OChnb1VPZztAazxsT2Itekkw
WV5RSGkpOX4zT3IlS1poaHkqUVdDcHg7SStGYlhkQFAhRHJ5MU1sCnpUODxDKi1VeyQkKF4yZ1Yw
Tl5+MGpJQlgmK0FQOEQ0Z21IOUB8ZCltVXFrPiZfTkklIXQ+dVladDczUH1nPT1pZQp6aFUzQnwo
eW5qI2Q1XnBTeiQqXjg1UjJ2ZyRtZEFEdGRncXI5Q2U5SDYmdz1HMHsmc3RUMHM/X05iK1B7SkV1
Q0cKemxDOGxBU01Jd1VDMWF0WVQ9aVh6e3NSYDVSSFlNPnJ2fjM0b19Hc2pkY0pPSChRY3EqXlN9
QFdjdFdAOHImXmB7CnopKGVJYCN4KmdINTVwWmledlAyVT4wKG9sdiRFZyNVcCVydWBnfCNnQ2ck
KUE/djtmMiV6UTxPWVpBO0dBaCtqOwp6LTdFZW8hI309fmU2V15MPVRmfnA8Z1cqM3F4I0M1ekxL
RShjQjRjPWRgK2YmP1N1MGc3MkRkeVlAd1dNNjZ6JloKejFGVndVVS1MazltYW5lczJ8YExjMmBu
an4tWEdOY1JlWW1ZMSROdj1iYDFnKi1+KHQxRW9CP3hONXA3YV4rfE8yCnoyRSFEXkF3YzMheW9s
TGhVPFl4P3JhazU2a3F5QkZZVmlLNzZAYmVgSndeIShLY2I5ZShMX0EtRi0rPVFffTE7UQp6ZH5S
ITY+ODVLTDMxbzVtXjtfUz83akZZJjtMfVJrV2Nyai1DMyFgO3BsVWg5I3VyVCR4TihnaEZgbTdf
Jnsycm8KekY9Kn5yREVoVytyKVAzLTNZdng0diFnJT9Ya3UkdUl2aFNxeiN2Q2BYQip7MUMhRjRS
PXNTcDkxP0d9Tl42dWQ5Cnp0WEBgfHlaMlJCUTJhK2A0WU1tOGFrQ0clJXU4JU1zQEt4RXtjSGRN
UllXRWYzS29Nc09UdTshPER+Kil4P1daQgp6aDE5YC1DXnNkP2cpaW1jenBPZGljZikmfkUyZEJZ
MGVKbDBtYEBOdFR0PlR3a0VRbCVxQmQ8fXRNXlJSVzhqRmcKenRpPD9DUTBGK3RLK0FKP0hlPWc3
e187NTc5YStwWD10M2B6UGN2bCMwSFdAQmJuJikqeDNGY3hlNCVUc1ktQEcwCnpnYG1nNC1QKGJg
LVUtfnNPY0ZTdikzYl9FamplN1dQcjdgR2lPUnMkU1FVWUs1MCpINjh5MG1neWlgZ3BMNkJ+Vwp6
KnJrfj1uVUlkNXdhQlYzVStHRHtHcE5HK0E8SkhzJmhFQSZfbEdXSyM1UUU0MGMwVjBkNnJ9c1Aw
RldTZkpOYmkKem0tNDlURj1mNH1tOT9wIUBCTVczZG5fO09wdlApVVclPUcrdXR6Xn0+bSV7VWc4
VUstOCVUSig1QjYtQTg+bjAhCno2Y2p+KiV9XndycDUyeCREaigpPmFkTWk3PDV7MVFKcDg7ZUBX
SXZhSG1lT2ZeLWw7fDxociQzXjYtdyYxT3AzMwp6PGRNVmlrTiZCVl5DfmVHPVAyez1ZNntpOEd+
OTAxdE9ZPExhckZDIWtaSDIjTXk3OCN4c3VTa0M4RmpkPnZmSFoKelBgX3taSG9IISg8UyRxaGM2
Z2t7V0ooPE4lM2pedXNsaG4qc2ckX211YENmT1NlOWYqSzlaQVpQYjQmYlI1dEBJCnprayZUTS10
WndQNl5TR2R4NytJTTh0RkJze2xfbjx5MHZvaCQ+VldrYUxlflQkKlJ6Vk1KZks+WmBuZTNSOUV8
dgp6M1c0UDg4K04hNVFkK25aQWh8YmMrZCFkdEcyTDZ1N3AmYkJGITBUdHkwaHxOazBeMlZaMiFn
P3ttJEVGYj9hKmIKelhUSG1tYiZsTU17TClBQFVUfVVGKWokKSt5endJP0ZzdlpQQ0E0UUoqblBQ
cV5IRnx1YzRANmNTdUA+T0FKRFVZCnpAT1hVU0RrKTglZmAwOFRJfExsQVQ/JlF7YS0qdXJKOEFA
JF94SWtyTX13VFlHWiQ+QSZDaCVrcDBVSDlKTmpDbgp6azVVZUA5N35uQjY1ZDt9ZkZgZFM9XlhC
ciZaTmgkNyZMRkE/RjFMRnBqWFNadWNBUmlJbjwrRCMkIV4oVSVsVXcKemAkSjJwJEk0Z01JelZG
NkExbm4oN0hXVXZMeDtvPURuSzNCJW0jc24qPlktRnFWPnA+Qih9I3hLP1dGQmF6RWtsCnpZQygw
aWRpKC0mT1lubDZhP0xSPz9mZDA1cnFUTTg1PDVTX3tISyFLNWdUdmxnclVEYzROSHVzKTRmMz9K
fnpNVgp6NThpPmpmczQhTmUhVCtwdzRzZ29ePTNOdDhTYWZ7ZGM3LW5WeFJ8UXl0NmlndURHfGsj
O3czTTdHP3IhQzdtOXcKejRRQkxGe1p8JG9mcSVwPGNAK0VRKz1QVVF0O29mUUk5Wmdnd3U7Z14r
fG9wNkZJdkY2VDZmMEFOcjVBSmMyeDQ7Cnp1bzxxJTFBTyV9V3Y0dkA+fCgzRjJZNV8jLThsb19V
UH1OKjE4Um9ueFNublFRe1UhSWNeVGtvODxyST5IbnNhagp6X0Q/dGQ8dCo+N0Z4TjxFancyPWBO
dHZmQVFZIXomI05FLVcrc2k3ZitmcWdwe31EYlQzaWxsdmotR2JZYDMhMz0Kelc+MztgcHJobC1X
IU5EbDM2djEkXmhhPzBlfm9afTFSOX5qNXFMSGFPdzQtZihga2JGR1JGRX5NNyt8dV5+ZENLCno4
TmQ4LUpMRF4xZUk5azVZN2Z3QkcjYV4ldCpAYEl0PmtiNDdEX1VgdSZAeTVZezdpOFFwUjl0SXRD
ZlJpbklwaAp6KTJZSThBS1QjdEBvZGxJO2hfZVlzKENCO0JJcXVgPjkpanlaY3RuJS00UmRyYHp9
bzgrPn0qeGxzZjQqZWJrMHgKeldYM2tieytRKUIxcXQqJjQ4QGNDKy1Za3hwaHF0ZD55TWB5TnBR
LVpNUm54dHpRYyo0O2RjY2thYDxSJlhGSnNACnotcE1wbFRDbmZeWkJjTmNpfCV3PG09R0R0Q05V
aGljV1NIVDtvYzM8IThzXyQtK2d3e0U+eGUocGpYJDlEPVElMQp6TnpMQChRYVlJPlRQIyNNLTYr
U2ZUSDs+SmpkdkZuTkFpck5WfSRHO2M5bUprc3o7P1NTVCFEaUhkPzBpbXhrbFgKeiE2RkRpWWsx
ez9uJjtWVHt8R0lvbE4kIz87ajhIVl58S1lkeSRobT5zIWIteCopflExZXdrJHYrSTM2fHFXOV9r
CnpVJSlIeFJpK2AlSGNnKDMoZFRVaW1pcFFMTHUwfHxAfmxVZG93YVYrSzctRWZ8TCNmUSg/U3Rk
SkZ8SG4rYmNaVQp6OGFaJWhIUGFgM3Q8RSFIUUpDemZqcDE8Qmx5SjtQR2U2VWVoYiFFU0h8RzB7
OC1nZj08OW98R2ljKzA2eTV5Zm0KekFBSVo8KmdmQDFRJktpUGpMKU9+dzYla3U5cUwqV01lQjtL
MldtbWF0SUpZe0h6V0hybH5MMkZaMXV0NUJ+bklOCnoqZTZAZDc9WHFScGMhVj9udmlHRzcrVXEw
SURsS21weSlNamlSMVUmNExYbiM0ZUY5Y3tiWG8ocGlYO29qISokdQp6RXExdDI3cldCdXt3bU1p
bHFqcEFHWDh0PDAtU0BPIVRkc2txeUdZbU8oVSNPIVRYfHV5N2xTJmBoZFd9ejQpMigKejtfTkpx
WlMlVzslUVJAZDRSaEUzODg2YDUmP3hRMyk0fGR6WTIteVheJGxiUmVWc0whNGlUX09mO1gobjMh
K3Y0CnpJVCM9OFpMN2FmN2BlND9GeUNMcWsqKVZSZTxWcXF5VTMpKD8qTnludCthVmIpMXItV0Uk
R0RrKzd9PTxlTEJuNgp6VzlyKTxZPGkwYHJJbmpleXZKPEZGe211dHQtJkpCLXF0eCE/fDJfanY/
Sm9iWHY3N25Uc0U9ZTw4b2k4RSRwfWIKejJvPzl0bUU2ITszd0AzR3FUX1ZrNyUpdFRhWk5lUiRs
NWBRZFJzQ2V5UVUyKVQkZz53eClKJlY7P0xIbSVVO3dtCnoxPD9LVUw/YDNZP2ckb3pHVEJmJT9h
aVh1Qyg+ZFhxVVIyNGF3Tn5pNW1MdHR8OHsqczY1eGgmP31ORSF4N3tpPgp6dGJmeTBxbG9lYWRe
RWt9M2pCUntxaWdrdyhyNkZ8WjN1JjgpbmNKZ2s7UEQlbGptYW12WHAyUmReVCl8aSM1c2gKekE+
biUwWWUySn1JNGY9fW1SdTQ7e3NPNDw8aE5XdzhfPmImQEF7WUk5ODRkazFlWlB8LW1FYERRTHwt
OE4oRkFwCnpQSGRPb3l4JUUkZGJxb0klIVc4fmZUfDt3ckZUK21xTHB+NG5UX2BPU2VgV2RJQD8q
cWtJPXU3SjBeS0EjZVh7PAp6N0VaKnVARE4lLTRNLWdwdkRsM35PNXghbCg3ck9CP2FVa24yaTxI
Snh1ZXQtYG1TPVZ2MFhzb3gxMHIrTmdMemsKenlRXk5ocFBxRTJgPEZORi1oR0pNbXY1PzJtJUNw
fVY5YGgqYkZSOUY7ZjNQLT8rMUUwITxse1ImRGlVZ05IZURTCnpFWHpVNyFRTXZwbDk8en5KRHRB
aCtpWH5XNGpxN1hOMHZSITNgOypCNHdAfXFxTkV2PGVEMzlfOyheKz1uVTJqSgp6WHg7Vm9fUnlX
S0hRRHtndCl+JlZ1cEZ3MkM2Xz0oUTc0LWFAeTRQWXV0O0BpKjh3Zz5xdyZHe1FBUV8yQTFkSz0K
emFDMkUkSSE/RnsjV0I2dmFKTW8/PihpQyphcl8pc0JVUiFxS2wpJEMtPFNeRF5HQlNYZypnPjBV
RmBoJF9FYSk0CnowcClkRSZ+JiVSPj4hbjtCYzxmaGl9YCRefDgqPjRfR014X0xsVn01cUIjXm1L
U3lnPSF7Y018UzxAZFBmWTFYSwp6cFFCY1FDRCphajAhMmVkeD4xKXRJcVBwVDAoZmN6Z3dYKylQ
dmAhS2JmRjs5Qn47eGZLTVRMcysmfi1UTm9DMSsKejdGbSUxciE+cUVAYy1XQ3t+YmYrKj5xRSle
JHl5flBVdjNQWTBSSyFad0lvK3U3TTIlMF5rfXVGPDI7Uih+QFNFCnppNTFgNTZDWEZpa05RX1JC
a2Ezcy1jSFheaV8reEZ0Qz96ZVVUJXExOX50RiF0QH1rQHtWSWBabldDY2FCOylYPgp6a3RjNn5N
ZDB5MCF0VndwWj1FazV4JWBoY2JYVmpoSXFPTU9vXjVyV0NzeGdpNk0zWVVhUXNlP0soMTsxZTwm
Q0kKeiZyNlVnZDY/c35AWjFaNFVnVW1iZEpHR3FQKiV8Zz05Zn5RcFFkK1Y5UTtlckNAeWBQJChE
R2skOEFhVThyZlF9CnozdHJ9az5Xa2BfOFJtP0d7QTZLVzVPIzlEX2JGa3VJTmBLVU9QUmhXaVZE
c1RlJikzckRDWWQwQWszU3NRPFFaKgp6JCNjQ2tSM2I+SyFhVndiNExlPV8pRkpGfkZTN2c4VSgq
RVlGRmFBX2BEeDNhfEkpKEJvI3JrfillYFVJK0U9LSoKelVVWHt0a0kyIUxAdEc+K0U5Z1BoNitZ
PnhNVXsrNU9jJVVJd1RDYGptbiZiQntpTjEpMW80NUhoVT0lbSVneH1NCnpZcnNNPUd0aGJpVjt+
KTEkZ313PG4waEEhS2JWcGV8RVEwfDRFaml6U0dAKnE0eClQc2Q3eX5CO2tHaGZSVlFGRwp6T2dH
dDxZeyp9X00mRyZFZlkye1Q3YXFIKXpTUmUhJmJyZktCckM3cmd4K1p6Z2leVnVQSiFZZyFJRz1n
NFpCT28Kej4yJW1iey1EZlZnTmYkOztBfEpYb0VXaDlhayk8SXg2VjYoNmZ9ZnxffkdEUz1jMWdL
eGxOLXpKQTZvbz5JREpOCnpCdXIrSmBxQi1kJUZ9Z3xQJjFPOHRBSDtuRSl3Z2s/K0hKdzRfcyZu
clhwclQ3YnJ1aXZTQTJPQSsoJWcyJVJaPwp6RUlHQ0ZLZSYlS3k+PkUkQ2tmUD42cXpnJDVBSyt4
ZUQjNk41U19ZaTRGPWlgKFVPcCk8Vk1TcHpaQnl4VUojd24KenQwRCZpQUg8T2swVz9LUlo0QVle
a3J4ckFgOUhSbiQ5OSMxUnBEVTZkcDRec2Z4e2B3SV9PMiZnSWVzJWVNOT1NCnoyQiNxYjdCMXtG
elJmaDM8aTMjVTgrTSstPEF4Xkh5IyUzOFdLeiQodSMpRlF3M1dMPFZmSCYkZU88bFBsQiNMMwp6
V0dZWWZUWlBIYzc0XklZcGEtKDtSRlU8bzdgXko7ZmNFKmYqSHFhQjJ7UlVHUH1KOEVsSVAta3JC
NTtsPEJqYF8KelBjWnQ+NFlDe1A8X01QTT4jLXJ3PSVodD1KVEhUVHJxaiReUjZ8a3NEfGkhSGtO
dTlaRnA+eklhQjJ9YDJ9UWhzCnp3TUQ2V01LWkkwSUh6dGctKEVqPU1UJkY5e1lPamdgIXs+KkZh
S1dCNWFjZEkmTGRybGtpamxVc2kwVk5wKV9ebgp6YHM9T3MrUS0pWUQmXlMrQUJVUD5wVDtVQkdW
XkReTHtwSV48YVFRSCQwQ1MoS3U/b1AlPWk1UEczdWtDcUlhancKekI7bT19Jn5nR2tlJjdad0t1
Qns8SUl+I1Nyamo0K0k+M2M7akFibGpvI3BwbTU0RmFnNChAIT5Ubjd5UDQpbXJkCnprIWxIQDEz
P3JWWGdOelE7NG1HaWFfQiRmeSpPejQtQUQmTDdnRjxQMldTJHw1OUp5Q3tYRWEyRD1TS2ItbWFl
MQp6YyhtM3BifW9mSmJ8eCNTN2pKKTVte0dsYVNtfF81JHh1fkArKD1nP1c0a2ZQU09IRkBsUDRM
PWlHYUA8VXRAXmgKejRzdlFuQU9gJERIRFVjOU9RWEF3dHclPSM3P1JmMnJwX2UwalAzN14jSmBv
KzAxOVZxVVRoP3ZyaUs5QDd4ezhXCnpgWlAkVTgoc1FXZWYmfGVNJTRDeVlxNz5SUDglTFVgJXda
V2dgNDJpdHU0TVRsdEpSOF4wSl4tY3hzd3A/QVJeJQp6cT04dH1LTU4zMWpKNXo8WlhgP3UzPT12
azNRZyE/ZSEkRChJen53RWYjeEx5PihzIShZNXQjfjB0UzdiNXxYZiQKeil8M3haKVdYaEZSeiRH
bTQwcT0rP0piOX48V3lLM05sME40S3QjIWM2NiN1QGdSUW1fajgtbjk1O29HVVg0WlFHCnpaa1du
OWxTUnJMUGRldGc+SHFXKDdYRE0tMGN3b1opVEw9aUFIezgkTUVHN0M9WlMyPXFYUFhCe2hoMTJi
QlFNdAp6QlFkWHBHR1I2U3AkZSUzS0J0cldfUzNvaypRQUtNOEFTQC1kQG1iS1B0RD5rSGEtPmZZ
M1pvezRWUSglSmtVa1UKenZtUGtFMGdAY3JgSXhDZ3VIUDE9JCY1WUowcDsyQGl7Mj9hKTI7KVAw
JnNRMHFCVEwteEd8TDhsUlpwKUxvNFF7Cnokc01oTiRCSDlXQDJrOz8/ZiQ8ZEhwUEAxbjlORT1M
OF4jaW4tUGhSRVY/QzZpOHw2MTJ9KHgxYzJuQWRpbHNxYQp6Yz1nfXZMVDRDYUF0YDZMMTVpeG82
Nn5rbjFeRGw4aihGRXB5JkhaLSFfUihRcjt6T3h0c3I3QzlPeDl6ejFwJkYKenY+b1hFV0t4JUpg
bUp7Uz56bXlSMH5LeCNGYCNHRF47PVNiJiFMSCFGRU1MVks9b1JgbGF5LVdNZXl1Slg0TmJuCnp4
YnR1Mmp5ZClDRWUmcmpUKkAldVNOZ1J4Q21xOSsqMXVqUikkTnQtJXpzaUIhQFExYno9WEAqQD4j
cHBOI1E/LQp6M2g7bVVBYn43KCRuektNZTc4cj1pd2h6amZwfldEdlRhQ0dkfm10QGJIJGRQclUj
bmBRfDY2SFJYcSZ1KlBrXnUKemBUVldqNyhYPUNYb3lSPXdeJWtlVE4pQG1NOzJKankqOWlyRi1k
JlhXZGpoTDVPKGh7OG51NTVvK0smeml1eSstCnpQeWt8RFluM30mWiUrUzZveDUtJGZYLWZTNlhh
I1ZVcGZqPSpKbXlSNzNFTSpSdEN8czdLKFpndEtAKiVvWDV6aAp6ZC0/SUU3VHE0IUN5V1FAQTBg
SWlHZGV2TksxUUI9UHshNFoqfStfOEFFJjAkYGIrTTxgT0J+RmZAdD1sWn1+elEKejJjNnNhWWpt
dHg3fD83QjdWLW4jY1Jyd1RzT21zPVc7eEF1dVVGYzlBd1lkWldKeC1nQ2pqTH5Ze21raFc8MEk8
Cno5ZGZUfXdSQWNpaX0meUFHZGZfKjs3TkFuWVNqJis2X3NRWG1wenZMclV8e2c2T0ttMlFnVXJK
elhCdmF6RHpjNgp6Z3pEeytOKWVLM0EzbnVwI0E7THhhKUhSPG8xKGl8ZlJLYml6SDB0bWM2aEtg
cnlAJkZ2RW09cmApWWx6WExBckwKejB4SE8qbiNjVHlpT3olcS1UellEUUx9fmZgQik4PmVqPW0z
P0RgN15EezVMXjc8T01JUXE1MnpBe0prfTl9NGV1CnokI056e3JBaGkxRlB7PXlLMlk0UjVJSThu
PCQpbEBjbWUpRkBuS34kPV9WanpyU1U+aDhRZDImVkJeYFVKZk9DRQp6TlBMPTdZTSNRRkZffFMp
bmYkfHFXSE9GNWlmJlBJOV9HZGMwO3JHcjhzNDJ4QyopMzM2KVBUfXhLRGtpJUpSVFYKekFed2Ek
cGJpPExPamt+Pj5OIXZJSTVXVnhHZEVwd1I/eSt4JD1FNEZJQl8mazxsQiRiNjNEaitZNkMjM04l
T2NoCno7UyM3SnlZc0ZUVEBfNmBYbkh6ej97c2ljZF9HUHZfPGdpYip8OTZsU181eys3fDV1TmNR
O1U8Z1MkZnFlUSRZPgp6M3AkPU1zP2MmPXo2b0pRa080ZmpAe0Rldzx6NVBqcCtkO09KUnQ0LT8k
alJvLUJEZTYtdUdhTUU8OCkkdXMwRloKemxEIUMobzlNVGhvNTBlcyF2IXtlQDxIbEF6XnElanhG
QylCIUIrcGg2Z3U7X2dJLTdjXkRhIzF4SWEwe00zOT5rCnpqVl8kZ1pCV0s/ekAobWAxQHhqanVR
Qj5gOyFXQ35FQ34oU144cnV5TjJMdFIwczd3P3NzZF4+X0ohb0s9TmdWXgp6PHRjVHMyR3M2NSM7
JGpMcHcyKT8mSEB4X1FaZDUzektzbFJVaTNoR2NUXnB0ZmMmQDY8PE5wMiN0Wj85WjI7KyoKenZK
RHZrYll9WFZMfDtwOyV6UkNVPUBgflAoZm4/TlFfTChHVFVeYl5MOXdYRXAhO0d7LTJUQlA2QS1j
MnpFTksyCnpvMSE+NUt9TjdVVW9nPU0/X3cpRnorUkFhPWdAaypxX3JWNVVLa3tDVVpDNUhKPmZp
e1F+Mn1vTUtiYHp4Xn1CMwp6MCE8eipGNXV7S0pKUzdacnhLK0ZDKEd1ZmdmQENmSy1aMXJQQUpg
dVExVkcjbDZWIzEqRm5iKSNsK01QWCtYPEYKejYzQyZpbjAmZGB4YGUxI2Y0em1qJEpjaHlqIURu
VTRmcENESFN6aXIlI2B2MSg2X1RHdD0oI241YiVVdkxuSHo7CnpMSGwhXkNuQXxWbVI+TXttSzx0
SURCYCRjR0ZPSXVBTXNoNjU8MSpsdHBoUUJYT1ZxPWojSzxpSGBUdmF6JWc0JAp6SjV6WFJ0LTlW
ISktYjExLU9mXmded3hIcGJaLWdNO1l6MTJSXiFRTThac28pdmtRSCpJZFluc0p3QkA0bzd0N1oK
eksoMzlzOD9eSmQmWSNFX1NecldVZSE+Xmk/X1JBbCVuVnZ5c01kVU9ERHF7T1pGcU0kLUMwX1pE
dlUjP0M1fVJCCnp4RyRQRGZ1eSM5RGo9Xi1mfWRpYl45Nz5YWXFMUCU5TXc7WHtFZXwrbVZHRGFk
eVEoenozRzYpZlNmSSo9RGlIbAp6Yj91KU9MNWZMcXdSYyZHeSFUNVp4XjZhKDZFbDJ6SjhUMDUm
Rj5gQnRxbVQkd0ZtXyV0OyVPeFdmUit1OXFEM2IKenFTNDEyKHNZSDw9YUNBYUBfaXg4MUo1NUBn
UXlBMHVPJl9JKn59cGg/RkpoSG54WTFRMkhLeThXMEYjP2VeWF4pCnoxcUNZWDlWOCE7KlkrMS1J
bEdAcz0maEMhY2VWRip5S2ljVjclKmNUPGh9WWQxITx3SlUrOyo0OGZBej50MDZMKgp6cmdGZGZr
Z0FxZGc3aklzMiRBUTZXK2w2P1dpSFdaaV9QVTc+UWY3dEspMlNxM0BzRT1tPl4/Y3s3NG8jdyok
UFgKemNrSnlOdlZoaSgzMVFUZ2pqQVAoLWRmOERzTlUpUVJRfT44P1RGQnhveTNXQUc9cCE5LWxp
c1pNbkxQWjRSLXM3CnpNb3NwJS1mP2Z3N25FeWVtbSExUmcrMXdIOVhhJkVQMlQ+I3IwTCNiPV5Q
Tj1RfCt9aTxeZnVIWGR9TX13Nk5FXwp6NyY0aCl7JjtrYj9GJFUhaE1RJHpmSSRaKUFmI3NrWUl0
ZGVqJW5xcClrRzRCIXxsO3JuaXJ9R0pRQCk9b0JsU2gKemwjZnNkXmdLWitVZ1psPiE7V0I8OC1R
VSsqST9zdi0kbUkzKyEkMCMyTCN2WF8jMm04d1hWKSl3YTs2RSl0NzFrCnpCVjA5OChjQm9SWiNT
eiYkWWpeQTtsTjxnSjZKYFg8KypWVDsqYE1HNStkKVNpI31iMVhjfkd0RGE+ODZJZF88Ugp6PSY7
RXZxTkQhV2tIOTUyYmJXJUdTcFM5Vj5LP0t8K0l1KWdTIWFNTTxqRCo4YWtoRGd7czhUfW1rSX51
RjMhV1AKeksjbTZ1ayhvTWBvKWE4UTklSG1RMil+dE1eYU9oaFQ0cFR+UFdsaVF2T3Z7MVdSUkxu
VSk3U3xQKTlAMTFCVWV6CnpCOUkxcnF7LUwlR1pPZGgxNGFhdExpMFUpS2hWZWNGSTZzNTxZPiZF
KnVyVVIyS298d3FAWmV0bGxBYFQ7alZZVQp6bEp9dkZpZS1rdU4hKzBYLV4mRVlJcDd3O1lORCR5
TzZqPn1PJUVMSTcmN2ZPZFM5JUpubXpla3MqQGRyUTElSFMKemgmOGtBTWp1bD5NTWlVODFNTjdf
MHtiUSg2Y1FHeCVOXz87Qk8zXiRZMXIzODNHe04xX15OaGtuTE82Witzcl5+CnpQfX1DRWsqKShq
PjZQNDkxU0FaejFVZFNIcUFubHtAYSRLflVhKktoWHYoNXR4Snw3WSEjK2x0LTBwPlokcGprNQp6
cnJESnVDcTc7WUBncm5aYUtHIyUyRCpxaCsmQVgpZkpBK2BFTlZkK0YhfDh7Zys1WGI7Z0R+TE9s
eihIdmVNVUsKenpEc2s0KFZyPTFrNlN8YHgrJTdwPE51QkNpYGV6S3BVOGVIJUxjI35abFFPVjls
X1JoVlN1O0ljaitDbS1fcFFICnp2OXg5M0Y7STAoYG5PZ0BsSSM0WiNAYmh4Y3gmVk1FcTY5M19X
aGhNIVVPdSNCPWZWclA8JUw2e3E4JkIwdEYoagp6TFI2dER5d0xCKyN2VDJrIy1PRVBMNk08bkp5
UFd2elczanZhV3VNc3EoU2MlSkElM0U9PlM1WHNwND4tWTMrTSYKejtZcTIrTFV0VllZPndqSTFA
WDFeSk9GOGtkaiZoPWZwRT1GQ1lhST4kZjRIaCR1aEpXZGBQUU4pSzYoZW92cE5yCnp0K1pwci0w
Vms7O3t8T2x0V0xHJSgmKzc2bkI5RCsqezAwLVVxaUZ+eXR1U20+PERUS29CcSZFI2xxRE1CdnBW
ZAp6aTBwS0J3PyNgSDlCRVV+P2NSRWYyYURZdWQoPTkhMmYzXnQ5NT1KMl8pPCF7O0Y+TkIwND96
dyZaV0cjRmsxeSsKej8wTFBec1kmRVFsOUIydmV8fjQ+cD5ZNEZqSyVmRiVmWjdwZDVtbX1yKDRw
Wm9uMDBTbD1tajIlPVJ7YWYqKGRhCno5RD8mR2ZNKDw8ckwobEpqQHtrWXtXbUplPlZKPzU+VSVD
Mlo4JHRzSXBVUV9EejxZejh8JVhLTGUpZVJyNFBxUgp6bik7fTRoR20ha0ZKUmVULWxAemY4elpM
PSp6Uk1eX1ojVntxJD0pfmxiMnsjVHNleHAtZ3t3NlIrUiRCZnlOJjkKeihGSH5+dWNrODR4TXY/
NzFHNER2WD8lOWJkVUBRTFo2WGlFKyNfKnEoUjBsK1ZJO19YNn1OK0BnY294Yl8xZytXCno+cG5J
NWxpMEtfakg3Qz5XWD8/IVV8Xjd4cWtrOEclU2E2UDVYPmUyZEdZYl5OUEsydU1ve2l9dnZ7RVNB
fGpRUwp6QlhhZSQ5bUVuX3p4PyVieU14VlRvaWRkYyEhJlRoR21gS31EXntpMlJ2b2Y3Nio1cnR5
bnAlZndnJHJUSSY9X34Kek42e2w/M3Z3NSQ9fVFRJHlHRUFxNilXJlgoPm9xSl49en4qd3FtQyVf
dnk0I0t2fDQ0QXhuWH5IfHdTPjlNWkhUCnpqI05FQ1ZOZzVsMj1WakdVU2xeK284UzVlZ3ZuaTZX
UV8mdGZuTHlCPWBieGFTKitoTlMtY1peNjdYO3h2IUQ/ZQp6V1hZSyViJllAeWk9WHNwcTwyd0VW
aipNRD5DSUxZd1RTTHdEQUUtXklXKSVoeUFWWlVNbD45czc8aF5QS3hxYjEKekdVVGlxQmpMR1l6
K2ZKZWNCTm1YSV99YCgkb0VVZktAZjA2Uk9TfGRRK2tpPXszeWkyK1R9YyNRe29AWFl2dkU/CnpS
e21AYFJGaEpzV2Q0OUtgZkZiRjZZWmY4TUZLYFVfRDthTU4ra3JuZDhZZzZwJHVBbC1kcEFBelZO
PjJzLVNUQAp6ISMwdXJANStgN3FOdDVDX2ItaFZSWHNiKWU8aCVkRFlDUWxaQ0ZvMFVXIyhjSE92
by12aiF5N0gkVnJ1UERJYikKekJ0ZXduIzBsV1E3dmg5WWhleXtrI1h1fDRVbHEoQmVsa1M+WHpj
KV5NNlVWOG9zIUp9Vll8YVQzeU4+RkkrZ3JFCnpeRlVLQiF8cXt6MEtkV0BpSEdqUXleYj9oNU5J
SHJgOytEUmp+V0U8ZG1QVDQ2MjQkKHskS05aOVI1PlU8YlBhXwp6QHl9S3FoaHxfcXw3XnVTVGsl
aDxJTFIlVHt9dCloS013TWJnWiQkbHwyUE9obG1Ec0FeUGdEcFBwdFNTUntScXkKaHt7SXYhVjI4
dlo3OTMldXlYRzY8X1p3b3xsfktCbGtUUUR5VWpUST8mSDRaVQoKbGl0ZXJhbCAwCkhjbVY/ZDAw
MDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL25hbWVk
LWljb25zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Nzcy9u
YW1lZC1pY29ucy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2MzMWJhYjRkMjIzMjQ3N2ZkNjVh
MzZiMGU1OGRiNTcyNmQ5YjEwNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9mYXN0L2Nzcy9uYW1lZC1pY29ucy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyNiBA
QAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hU
TUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgp
IHNpemUgNzg0eDU4NAorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDUsNTUpIHNpemUgMTAw
eDEwMCBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQorICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgxMTAsMTQ2KSBzaXplIDR4MTgKKyAgICAgICAgdGV4dCBydW4gYXQgKDExMCwxNDYp
IHdpZHRoIDQ6ICIgIgorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDExOSw1NSkgc2l6ZSAx
MDB4MTAwIFtib3JkZXI6ICgxcHggc29saWQgIzAwMDAwMCldCisgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDIyNCwxNDYpIHNpemUgNHgxOAorICAgICAgICB0ZXh0IHJ1biBhdCAoMjI0LDE0
Nikgd2lkdGggNDogIiAiCisgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMjMzLDU1KSBzaXpl
IDEwMHgxMDAgW2JvcmRlcjogKDFweCBzb2xpZCAjMDAwMDAwKV0KKyAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMzM4LDE0Nikgc2l6ZSA0eDE4CisgICAgICAgIHRleHQgcnVuIGF0ICgzMzgs
MTQ2KSB3aWR0aCA0OiAiICIKKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgzNDcsNTUpIHNp
emUgMTUweDEwMCBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQorICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICg1MDIsMTQ2KSBzaXplIDR4MTgKKyAgICAgICAgdGV4dCBydW4gYXQgKDUw
MiwxNDYpIHdpZHRoIDQ6ICIgIgorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDUxMSw1KSBz
aXplIDEwMHgxNTAgW2JvcmRlcjogKDFweCBzb2xpZCAjMDAwMDAwKV0KKyAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoNjE2LDE0Nikgc2l6ZSA0eDE4CisgICAgICAgIHRleHQgcnVuIGF0ICg2
MTYsMTQ2KSB3aWR0aCA0OiAiICIKKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICg1LDE2OSkg
c2l6ZSAyMDB4MjAwIFtib3JkZXI6ICgxcHggc29saWQgIzAwMDAwMCldCisgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDIxMCwzNjApIHNpemUgNHgxOAorICAgICAgICB0ZXh0IHJ1biBhdCAo
MjEwLDM2MCkgd2lkdGggNDogIiAiCisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSAweDAKK2xheWVyIGF0ICgyMjcsMjc3KSBzaXplIDEwMHgxMDAKKyAgUmVuZGVyQmxvY2sg
e0RJVn0gYXQgKDIxOSwyNjkpIHNpemUgMTAweDEwMCBbYmdjb2xvcj0jMDAwMEZGXSBbYm9yZGVy
OiAoMXB4IHNvbGlkICMwMDAwMDApXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255141</attachid>
            <date>2015-06-18 15:29:08 -0700</date>
            <delta_ts>2015-06-18 15:45:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146123-20150619082828.patch</filename>
            <type>text/plain</type>
            <size>49927</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1NTU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGM1NDhhNGQwOTNjMGRj
ZWE3N2U2NGU4NmJjODY5YzEwNjI4MWQzMi4uMGU3NmZjY2U4ZTE0MzI5ZjMwOWE3MzNiMGJhYWJi
YTE3M2JmNmY5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc0IEBACisyMDE1LTA2LTE4ICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBQcm92aWRlIGEgd2F5IGZvciB3
ZWIgZGV2ZWxvcGVycyB0byBkcmF3IGEgVGhlbWUtc3BlY2lmaWMgV2lyZWxlc3MgUGxheWJhY2sg
aWNvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ2
MTIzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMTExOTI4Nz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgYSAtd2Via2l0LW5hbWVk
LWltYWdlKCkgQ1NTIDxpbWFnZT4gZ2VuZXJhdG9yIHRoYXQgYWxsb3dzIGEgc2l0ZSB0bworICAg
ICAgICByZXF1ZXN0IGFydHdvcmsgYnkgbmFtZSBhbmQgZ2V0IHRoZSBwbGF0Zm9ybSB2YXJpYW50
LiBBdCB0aGUgbW9tZW50CisgICAgICAgIHdlIG9ubHkgc3VwcG9ydCAid2lyZWxlc3MtcGxheWJh
Y2siIHdoaWNoIHJldHVybnMgYSBnZW5lcmljIGltYWdlIGV2ZXJ5d2hlcmUKKyAgICAgICAgYnV0
IENvY29hIHBsYXRmb3Jtcywgd2hlcmUgd2UgcmVuZGVyIHRoZSBBaXJQbGF5IGljb24uCisKKyAg
ICAgICAgSW4gb3JkZXIgdG8gZG8gdGhpcyBJIGFkZGVkIGEgVGhlbWVDb2NvYSB0byBzaGFyZSBh
bnkgVGhlbWUgY29kZSBiZXR3ZWVuCisgICAgICAgIE1hYyBhbmQgaU9TLgorCisgICAgICAgIFRl
c3Q6IGZhc3QvY3NzL25hbWVkLWljb25zLmh0bWwKKworICAgICAgICAqIFdlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajogQWRkIG5ldyBmaWxlcyBDU1NOYW1lZEltYWdlVmFsdWUsIE5h
bWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZSBhbmQgVGhlbWVDb2NvYS4KKworICAgICAgICAqIGNzcy9D
U1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcDogSGFuZGxlIHRoZSBuZXcgTmFtZWRJbWFnZUNsYXNz
IGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50cyBmb3IgZG93bmNhc3RpbmcuCisgICAgICAgIChXZWJD
b3JlOjpDU1NJbWFnZUdlbmVyYXRvclZhbHVlOjppbWFnZSk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NJbWFnZUdlbmVyYXRvclZhbHVlOjppc0ZpeGVkU2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NJbWFnZUdlbmVyYXRvclZhbHVlOjppc1BlbmRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
SW1hZ2VHZW5lcmF0b3JWYWx1ZTo6a25vd25Ub0JlT3BhcXVlKToKKworICAgICAgICAqIGNzcy9D
U1NOYW1lZEltYWdlVmFsdWUuY3BwOiBOZXcgY2xhc3MuIEp1c3QgaG9sZHMgYSBuYW1lIFN0cmlu
Zy4KKyAgICAgICAgKFdlYkNvcmU6OkNTU05hbWVkSW1hZ2VWYWx1ZTo6Y3VzdG9tQ1NTVGV4dCk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NOYW1lZEltYWdlVmFsdWU6OmltYWdlKToKKyAgICAgICAg
KFdlYkNvcmU6OkNTU05hbWVkSW1hZ2VWYWx1ZTo6ZXF1YWxzKToKKyAgICAgICAgKiBjc3MvQ1NT
TmFtZWRJbWFnZVZhbHVlLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NOYW1lZEltYWdlVmFsdWU6
OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NOYW1lZEltYWdlVmFsdWU6OmlzRml4ZWRT
aXplKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU05hbWVkSW1hZ2VWYWx1ZTo6aXNQZW5kaW5nKToK
KyAgICAgICAgKFdlYkNvcmU6OkNTU05hbWVkSW1hZ2VWYWx1ZTo6Q1NTTmFtZWRJbWFnZVZhbHVl
KToKKworICAgICAgICAqIGNzcy9DU1NQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
UGFyc2VyOjppc0dlbmVyYXRlZEltYWdlVmFsdWUpOiBBbGxvdyAiLXdlYmtpdC1uYW1lZC1pbWFn
ZSgiLgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUdlbmVyYXRlZEltYWdlKTog
Q2FsbCBwYXJzZU5hbWVkSW1hZ2UgaWYgd2UgaGl0IG5hbWVkLWljb24uCisgICAgICAgIChXZWJD
b3JlOjpDU1NQYXJzZXI6OnBhcnNlTmFtZWRJbWFnZSk6IFBhcnNlIHRoZSBmdW5jdGlvbiBsb29r
aW5nIGZvciBhIENTUyBpZGVudC4KKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmg6CisKKyAgICAg
ICAgKiBjc3MvQ1NTVmFsdWUuY3BwOiBIYW5kbGUgTmFtZWRJbWFnZUNsYXNzIGluIHRoZSB2YXJp
b3VzIHN3aXRjaCBzdGF0ZW1lbnRzLgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmVxdWFs
cyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6Y3NzVGV4dCk6CisgICAgICAgIChXZWJD
b3JlOjpDU1NWYWx1ZTo6ZGVzdHJveSk6CisgICAgICAgICogY3NzL0NTU1ZhbHVlLmg6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6aXNOYW1lZEltYWdlVmFsdWUpOiBIZWxwZXIgdG8gZGV0
ZWN0IHRoZSBjb3JyZWN0IENTU1ZhbHVlIHN1YmNsYXNzLgorCisgICAgICAgICogcGxhdGZvcm0v
VGhlbWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGhlbWU6OmRyYXdOYW1lZEltYWdlKTogRHJh
dyBhIGdlbmVyaWMgd2lyZWxlc3MgcGxheWJhY2sgaWNvbi4KKyAgICAgICAgKiBwbGF0Zm9ybS9U
aGVtZS5oOiBBZGQgZHJhd05hbWVkSW1hZ2UuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9U
aGVtZUNvY29hLmNwcDogTmV3IHNoYXJlZCBiYXNlIGNsYXNzIGZvciBUaGVtZU1hYyBhbmQgVGhl
bWVJT1MuCisgICAgICAgIChXZWJDb3JlOjpmaXRDb250ZXh0VG9Cb3gpOgorICAgICAgICAoV2Vi
Q29yZTo6VGhlbWVDb2NvYTo6ZHJhd05hbWVkSW1hZ2UpOiBEcmF3IGFuIEFpclBsYXkgaWNvbiBm
b3Igd2lyZWxlc3MgcGxheWJhY2suCisgICAgICAgICogcGxhdGZvcm0vY29jb2EvVGhlbWVDb2Nv
YS5oOgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQ3Jvc3NmYWRlR2VuZXJhdGVkSW1h
Z2UuaDogRHJpdmUtYnkgcmVtb3ZhbCBvZiB1bm5lY2Vzc2FyeSBmb3J3YXJkIGNsYXNzIGRlZmlu
aXRpb24uCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oOiBBZGQg
TmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlIGFzIGEgZnJpZW5kIGNsYXNzLgorCisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlLmNwcDogTmV3IGNsYXNz
LiBDYWxscyBpbnRvIHRoZSBUaGVtZSB0byByZW5kZXIgdGhlIGFydHdvcmsuCisgICAgICAgIChX
ZWJDb3JlOjpOYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2U6Ok5hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFn
ZSk6CisgICAgICAgIChXZWJDb3JlOjpOYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2U6OmRyYXcpOgor
ICAgICAgICAoV2ViQ29yZTo6TmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlOjpkcmF3UGF0dGVybik6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlLmg6
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvVGhlbWVJT1MuaDogSW5oZXJpdCBmcm9tIFRoZW1l
Q29jb2EuCisgICAgICAgICogcGxhdGZvcm0vbWFjL1RoZW1lTWFjLmg6IERpdHRvLgorCiAyMDE1
LTA2LTE1ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgW0NvbnRlbnQgRXh0ZW5zaW9uc10gTGltaXQgbnVtYmVyIG9mIHJ1bGVzLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDAw
NTg3ODY2MDE2M2UxMDA3NjM5ZDdlMzRkNTFjMmI1N2I4NGViMWUuLjUxNzNhMmU1NmRkNWQyMjlk
NzA4Mjg1ZDRlNTgwYzRhNDQwMGMwNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEyMjMsNiArMTIyMyw4IEBACiAJCTMxMDc4
Q0M4MTg4MEFBQkIwMDgwOTlEQyAvKiBPRVNUZXh0dXJlSGFsZkZsb2F0TGluZWFyLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTA3OENDMzE4ODBBNkE2
MDA4MDk5REMgLyogT0VTVGV4dHVyZUhhbGZGbG9hdExpbmVhci5oICovOyB9OwogCQkzMTA3OEND
OTE4ODBBQUM5MDA4MDk5REMgLyogSlNPRVNUZXh0dXJlSGFsZkZsb2F0TGluZWFyLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxMDc4Q0M1MTg4MEFB
QUEwMDgwOTlEQyAvKiBKU09FU1RleHR1cmVIYWxmRmxvYXRMaW5lYXIuY3BwICovOyB9OwogCQkz
MTA3OENDQTE4ODBBQUNFMDA4MDk5REMgLyogSlNPRVNUZXh0dXJlSGFsZkZsb2F0TGluZWFyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTA3OENDNjE4
ODBBQUFBMDA4MDk5REMgLyogSlNPRVNUZXh0dXJlSGFsZkZsb2F0TGluZWFyLmggKi87IH07CisJ
CTMxMEQ3MTk1MUIzMzVDOUQwMDlDN0I3MyAvKiBUaGVtZUNvY29hLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxMEQ3MTkzMUIzMzVDOUQwMDlDN0I3
MyAvKiBUaGVtZUNvY29hLmNwcCAqLzsgfTsKKwkJMzEwRDcxOTYxQjMzNUM5RTAwOUM3QjczIC8q
IFRoZW1lQ29jb2EuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDMxMEQ3MTk0MUIzMzVDOUQwMDlDN0I3MyAvKiBUaGVtZUNvY29hLmggKi87IH07CiAJCTMx
MUMwOEJEMThFQjdDQUYwMEI2NTYxNSAvKiBtZWRpYUNvbnRyb2xzQXBwbGUuY3NzIGluIFJlc291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREMxREQ0MTE3Q0MyQzQ4
MDA4Q0I1NUQgLyogbWVkaWFDb250cm9sc0FwcGxlLmNzcyAqLzsgfTsKIAkJMzExQzA4QkUxOEVC
N0NBRjAwQjY1NjE1IC8qIG1lZGlhQ29udHJvbHNBcHBsZS5qcyBpbiBSZXNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RFNjU2MEUxN0NBNkU3NjAwNTI2QkE3IC8q
IG1lZGlhQ29udHJvbHNBcHBsZS5qcyAqLzsgfTsKIAkJMzExQzA4QkYxOEVCN0NBRjAwQjY1NjE1
IC8qIG1lZGlhQ29udHJvbHNpT1MuY3NzIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBDREFBRjQ1RDE4NjkwOTRFMDAzQzE3MTcgLyogbWVkaWFDb250cm9s
c2lPUy5jc3MgKi87IH07CkBAIC0xMjQ1LDYgKzEyNDcsMTAgQEAKIAkJMzE0NkZFNkYxODQ0MjBB
QTAwMUE5MzdDIC8qIE9FU1RleHR1cmVGbG9hdExpbmVhci5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTQ2RkU2NTE4NDQyMDg3MDAxQTkzN0MgLyog
T0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcCAqLzsgfTsKIAkJMzE0NkZFNzQxODQ0MjM3MDAwMUE5
MzdDIC8qIEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxNDZGRTcwMTg0NDIzNjcwMDFBOTM3QyAvKiBKU09F
U1RleHR1cmVGbG9hdExpbmVhci5jcHAgKi87IH07CiAJCTMxNDZGRTc1MTg0NDIzNzAwMDFBOTM3
QyAvKiBKU09FU1RleHR1cmVGbG9hdExpbmVhci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMzE0NkZFNzExODQ0MjM2NzAwMUE5MzdDIC8qIEpTT0VTVGV4
dHVyZUZsb2F0TGluZWFyLmggKi87IH07CisJCTMxNEJFM0ExMUIzMEY2QjcwMDE0MTk4MiAvKiBD
U1NOYW1lZEltYWdlVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDMxNEJFM0EwMUIzMEY2QjcwMDE0MTk4MiAvKiBDU1NOYW1lZEltYWdlVmFsdWUu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkzMTRC
RTNBMzFCMzBGNkQxMDAxNDE5ODIgLyogQ1NTTmFtZWRJbWFnZVZhbHVlLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxNEJFM0EyMUIzMEY2RDEwMDE0
MTk4MiAvKiBDU1NOYW1lZEltYWdlVmFsdWUuY3BwICovOyB9OworCQkzMTRCRTNBNjFCMzEwM0ZC
MDAxNDE5ODIgLyogTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxNEJFM0E0MUIzMTAzRkIwMDE0MTk4MiAv
KiBOYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2UuY3BwICovOyB9OworCQkzMTRCRTNBNzFCMzEwM0ZC
MDAxNDE5ODIgLyogTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTRCRTNBNTFCMzEwM0ZCMDAxNDE5ODIgLyog
TmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlLmggKi87IH07CiAJCTMxNjAyM0YwMTUzMkM0MEMwMEQ1
MEZGNCAvKiBEaWN0aW9uYXJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAzMTYwMjNFRjE1MzJDNDBDMDBENTBGRjQgLyogRGljdGlvbmFyeS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTMxNjExRTVBMEUx
QzRERTAwMEY2QTU3OSAvKiBKU1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxNjExRTU4MEUxQzRERTAwMEY2
QTU3OSAvKiBKU1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcCAqLzsgfTsKIAkJMzE2MTFFNUIw
RTFDNERFMDAwRjZBNTc5IC8qIEpTV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxNjExRTU5MEUxQzRERTAwMEY2
QTU3OSAvKiBKU1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmggKi87IH07CkBAIC04MzgxLDYgKzgz
ODcsOCBAQAogCQkzMTA3OENDNDE4ODBBNkE2MDA4MDk5REMgLyogT0VTVGV4dHVyZUhhbGZGbG9h
dExpbmVhci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gT0VTVGV4dHVyZUhhbGZGbG9hdExp
bmVhci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxMDc4Q0M1MTg4MEFBQUEw
MDgwOTlEQyAvKiBKU09FU1RleHR1cmVIYWxmRmxvYXRMaW5lYXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNPRVNUZXh0dXJlSGFsZkZsb2F0TGluZWFyLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzEwNzhDQzYxODgwQUFBQTAwODA5OURDIC8q
IEpTT0VTVGV4dHVyZUhhbGZGbG9hdExpbmVhci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBKU09FU1RleHR1cmVIYWxmRmxvYXRMaW5lYXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMzEwRDcxOTMxQjMzNUM5RDAwOUM3QjczIC8qIFRoZW1lQ29jb2EuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVGhlbWVDb2NvYS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxMEQ3MTk0MUIzMzVDOUQwMDlDN0I3MyAvKiBUaGVt
ZUNvY29hLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRoZW1lQ29jb2EuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzExQzA4QkMxOEUzNUQ2ODAwQjY1NjE1IC8q
IENvbnRyb2xTdGF0ZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29udHJv
bFN0YXRlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMTI4OEU2RTBFMzAwNUQ2
MDAzNjE5QUUgLyogQ1NTS2V5ZnJhbWVSdWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IENTU0tleWZyYW1lUnVsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTMxMjg4RTZGMEUzMDA1RDYwMDM2MTlBRSAvKiBDU1NLZXlmcmFtZVJ1bGUuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTS2V5ZnJhbWVSdWxlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC04NDAwLDYgKzg0MDgsMTAgQEAKIAkJMzE0NkZFNjcxODQ0
MjA4NzAwMUE5MzdDIC8qIE9FU1RleHR1cmVGbG9hdExpbmVhci5pZGwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBwYXRoID0gT0VTVGV4dHVyZUZsb2F0TGluZWFyLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMzE0NkZFNzAxODQ0MjM2NzAwMUE5MzdDIC8qIEpTT0VTVGV4dHVyZUZsb2F0TGlu
ZWFyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTT0VTVGV4dHVy
ZUZsb2F0TGluZWFyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzE0NkZFNzEx
ODQ0MjM2NzAwMUE5MzdDIC8qIEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxNEJFM0EwMUIzMEY2QjcwMDE0MTk4MiAvKiBDU1NOYW1l
ZEltYWdlVmFsdWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBsaW5lRW5kaW5nID0gMDsg
cGF0aCA9IENTU05hbWVkSW1hZ2VWYWx1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB4Y0xh
bmd1YWdlU3BlY2lmaWNhdGlvbklkZW50aWZpZXIgPSB4Y29kZS5sYW5nLm9iamNwcDsgfTsKKwkJ
MzE0QkUzQTIxQjMwRjZEMTAwMTQxOTgyIC8qIENTU05hbWVkSW1hZ2VWYWx1ZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IGxpbmVFbmRpbmcgPSAwOyBwYXRoID0gQ1NTTmFtZWRJ
bWFnZVZhbHVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFnZVNwZWNpZmlj
YXRpb25JZGVudGlmaWVyID0geGNvZGUubGFuZy5jcHA7IH07CisJCTMxNEJFM0E0MUIzMTAzRkIw
MDE0MTk4MiAvKiBOYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2UuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzE0QkUzQTUxQjMxMDNGQjAwMTQxOTgyIC8qIE5hbWVk
SW1hZ2VHZW5lcmF0ZWRJbWFnZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBO
YW1lZEltYWdlR2VuZXJhdGVkSW1hZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MzE2MDIzRUYxNTMyQzQwQzAwRDUwRkY0IC8qIERpY3Rpb25hcnkuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gRGljdGlvbmFyeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkzMTYxMUU1NDBFMUM0RDRBMDBGNkE1NzkgLyogV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUu
aWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYktpdENTU1RyYW5zZm9ybVZhbHVlLmlkbDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzE2MTFFNTgwRTFDNERFMDAwRjZBNTc5IC8q
IEpTV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSlNXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC0xMjcwOSw3ICsxMjcyMSw3IEBACiAJCUJDMjI3NDc2MEU4MzY2RTIw
MEU3Rjk3NSAvKiBTVkdSZW5kZXJTdHlsZURlZnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gU1ZHUmVuZGVyU3R5bGVEZWZzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQkMyMjc0NzcwRTgzNjZFMjAwRTdGOTc1IC8qIFNWR1JlbmRlclN0eWxlRGVm
cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdSZW5kZXJTdHlsZURlZnMu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkMyM0U0RTAwREFBQ0UwRjAwOUZEQzkx
IC8qIENTU0dyYWRpZW50VmFsdWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gQ1NTR3JhZGllbnRWYWx1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CUJDMjNFNzZCMERBRTg4QTkwMDlGREM5MSAvKiBDU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU0ltYWdlR2VuZXJhdG9yVmFs
dWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCQzIzRTc2QjBEQUU4OEE5MDA5
RkRDOTEgLyogQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IGxpbmVFbmRpbmcgPSAwOyBwYXRoID0gQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRp
ZmllciA9IHhjb2RlLmxhbmcuY3BwOyB9OwogCQlCQzIzRUU5MTBEQUVEMkJDMDA5RkRDOTEgLyog
Q1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBDU1NJbWFnZUdlbmVyYXRvclZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUJDMjNGMERBMERBRkY0QTQwMDlGREM5MSAvKiBHZW5lcmF0ZWRJbWFnZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBHZW5lcmF0ZWRJbWFnZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlCQzI0NDFDMzBFOEI2NUQwMDA1NTMyMEYgLyogU2Nyb2xsVmlldy5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JvbGxWaWV3LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE4OTkxLDYgKzE5MDAzLDggQEAKIAkJCQk1RDU5
NzVCMTE5NjM1RjExMDBEMDA4NzggLyogU3lzdGVtVmVyc2lvbi5oICovLAogCQkJCTVENTk3NUIy
MTk2MzVGMTEwMEQwMDg3OCAvKiBTeXN0ZW1WZXJzaW9uLm1tICovLAogCQkJCTdDQzU2NEI5MThC
QUM3MjAwMDFCOTY1MiAvKiBUZWxlcGhvbmVOdW1iZXJEZXRlY3RvckNvY29hLmNwcCAqLywKKwkJ
CQkzMTBENzE5MzFCMzM1QzlEMDA5QzdCNzMgLyogVGhlbWVDb2NvYS5jcHAgKi8sCisJCQkJMzEw
RDcxOTQxQjMzNUM5RDAwOUM3QjczIC8qIFRoZW1lQ29jb2EuaCAqLywKIAkJCQk0NkRCN0Q1NjFC
MjBGRTNDMDA1NjUxQjIgLyogVk5vZGVUcmFja2VyQ29jb2EuY3BwICovLAogCQkJKTsKIAkJCXBh
dGggPSBjb2NvYTsKQEAgLTIwOTUzLDYgKzIwOTY3LDggQEAKIAkJCQkwNzlGNUU0QjBGM0JFQkVB
MDA1RTA3ODIgLyogTWVkaWFQbGF5ZXJQcml2YXRlLmggKi8sCiAJCQkJQ0Q2NDFFQjExODE4RjVF
RDAwRUU0QzQxIC8qIE1lZGlhU291cmNlUHJpdmF0ZS5oICovLAogCQkJCUNEREMxRTc5MThBOTUy
RjMwMDI3QTlENCAvKiBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQuaCAqLywKKwkJCQkzMTRCRTNB
NDFCMzEwM0ZCMDAxNDE5ODIgLyogTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlLmNwcCAqLywKKwkJ
CQkzMTRCRTNBNTFCMzEwM0ZCMDAxNDE5ODIgLyogTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlLmgg
Ki8sCiAJCQkJNkIzNDgwOTIwRUVGNTBENDAwQUMxQjQxIC8qIE5hdGl2ZUltYWdlUHRyLmggKi8s
CiAJCQkJQjI3NTM1NTIwQjA1MzgxNDAwMkNFNjRGIC8qIFBhdGguY3BwICovLAogCQkJCUIyNzUz
NTUzMEIwNTM4MTQwMDJDRTY0RiAvKiBQYXRoLmggKi8sCkBAIC0yMjQ5Myw2ICsyMjUwOSw4IEBA
CiAJCQkJQTgwRTZDRDIwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU01lZGlhUnVsZS5jcHAgKi8sCiAJ
CQkJQTgwRTZDRDkwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU01lZGlhUnVsZS5oICovLAogCQkJCTg1
QzU2Q0EyMEFBODlDMTAwMEQ5NTc1NSAvKiBDU1NNZWRpYVJ1bGUuaWRsICovLAorCQkJCTMxNEJF
M0EwMUIzMEY2QjcwMDE0MTk4MiAvKiBDU1NOYW1lZEltYWdlVmFsdWUuaCAqLywKKwkJCQkzMTRC
RTNBMjFCMzBGNkQxMDAxNDE5ODIgLyogQ1NTTmFtZWRJbWFnZVZhbHVlLmNwcCAqLywKIAkJCQlG
OThGRkY0MjExQTI2NzYyMDBGNTQ4RTggLyogQ1NTT01VdGlscy5jcHAgKi8sCiAJCQkJRjk4RkZG
NDMxMUEyNjc2MjAwRjU0OEU4IC8qIENTU09NVXRpbHMuaCAqLywKIAkJCQlBODBFNkNDQjBBMTk4
OUNBMDA3RkI4QzUgLyogQ1NTUGFnZVJ1bGUuY3BwICovLApAQCAtMjQxMjAsNiArMjQxMzgsNyBA
QAogCQkJCUUxQkQzMzFDMTgyRDhFRTkwMEMwNUQ5RiAvKiBDcnlwdG9BbGdvcml0aG1Sc2FTc2FQ
YXJhbXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxMjVGODJDMTgyMkNGRUMwMEQ4NENEOSAvKiBD
cnlwdG9BbGdvcml0aG1TSEExLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTlBQzNFRjE4MjREQzc5
MDAzNDk0MjYgLyogQ3J5cHRvQWxnb3JpdGhtU0hBMjI0LmggaW4gSGVhZGVycyAqLywKKwkJCQkz
MTRCRTNBMTFCMzBGNkI3MDAxNDE5ODIgLyogQ1NTTmFtZWRJbWFnZVZhbHVlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlFMTlBQzNGMTE4MjREQzc5MDAzNDk0MjYgLyogQ3J5cHRvQWxnb3JpdGhtU0hB
MjU2LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTlBQzNGMzE4MjREQzc5MDAzNDk0MjYgLyogQ3J5
cHRvQWxnb3JpdGhtU0hBMzg0LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTlBQzNGNTE4MjREQzc5
MDAzNDk0MjYgLyogQ3J5cHRvQWxnb3JpdGhtU0hBNTEyLmggaW4gSGVhZGVycyAqLywKQEAgLTI1
MzU2LDYgKzI1Mzc1LDcgQEAKIAkJCQlFNDQ2MTQzQTBDRDY4OUM4MDBGQURBNzUgLyogSlNIVE1M
TWVkaWFFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUUyQUU1QzBBMUQyNkYyMDBCNDJC
MjUgLyogSlNIVE1MTWVudUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4MEU3QTE4MEEx
OUMzRDYwMDdGQjhDNSAvKiBKU0hUTUxNZXRhRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
MzE0QkUzQTcxQjMxMDNGQjAwMTQxOTgyIC8qIE5hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQTdCQkUyNjcxMUFGQjNGMjAwMDVFQTAzIC8qIEpTSFRNTE1ldGVy
RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFFMkFCMkEwQTFDRTYzQjAwQjQyQjI1IC8q
IEpTSFRNTE1vZEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMzA1QzdBMEMwNzZCQjMw
MENEMjBGMCAvKiBKU0hUTUxPYmplY3RFbGVtZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTI2Nzcw
LDYgKzI2NzkwLDcgQEAKIAkJCQlCMjU1OTlBNDBEMDBEOEJBMDBCQjgyNUMgLyogU1ZHSW1hZ2Uu
aCBpbiBIZWFkZXJzICovLAogCQkJCTA4Rjg1OUQ1MTQ2M0Y5Q0QwMDY3RDkzMyAvKiBTVkdJbWFn
ZUNhY2hlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyN0EyRDBEMDBCRjIyMDA3MUI3ODIgLyog
U1ZHSW1hZ2VFbGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQkzMTBENzE5NjFCMzM1QzlFMDA5
QzdCNzMgLyogVGhlbWVDb2NvYS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDhGODU5RDUxNDYzRjlD
RDAwNjdEOTM0IC8qIFNWR0ltYWdlRm9yQ29udGFpbmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlC
MjhDNkEyQTBEMDBDNDQ4MDAzMzRBQTQgLyogU1ZHSW1hZ2VMb2FkZXIuaCBpbiBIZWFkZXJzICov
LAogCQkJCTA4NTRCMDFGMTI1NUU0RTYwMEI5Q0REMCAvKiBTVkdJbmxpbmVGbG93Qm94LmggaW4g
SGVhZGVycyAqLywKQEAgLTI4NDcwLDYgKzI4NDkxLDcgQEAKIAkJCQlBODEzNjlDRDA5NzM3NEY2
MDBENzQ0NjMgLyogSFRNTElucHV0RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5MzMw
OURFNTA5OUU2NDkyMDA1NkU1ODEgLyogSFRNTEludGVyY2hhbmdlLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUE4MTM2OUU1MDk3Mzc0RjYwMEQ3NDQ2MyAvKiBIVE1MS2V5Z2VuRWxlbWVudC5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQkzMTRCRTNBNjFCMzEwM0ZCMDAxNDE5ODIgLyogTmFtZWRJbWFn
ZUdlbmVyYXRlZEltYWdlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4MTM2OUUzMDk3Mzc0RjYw
MEQ3NDQ2MyAvKiBIVE1MTGFiZWxFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4MTM2
OUUxMDk3Mzc0RjYwMEQ3NDQ2MyAvKiBIVE1MTGVnZW5kRWxlbWVudC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlBOEVBNzlGQzBBMTkxNkRGMDBBOEVGNUYgLyogSFRNTExJRWxlbWVudC5jcHAgaW4g
U291cmNlcyAqLywKQEAgLTI4NTEyLDYgKzI4NTM0LDcgQEAKIAkJCQk5NzhBRDY3NDE0MTMwQThE
MDBDN0NBRTMgLyogSFRNTFNwYW5FbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUzNkQ1
QTIxMTkzRTE4RUUwMENFNENBQiAvKiBIVE1MU3Jjc2V0UGFyc2VyLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUE4NzFEQzI2MEExNTIwNTcwMEIxMkE2OCAvKiBIVE1MU3R5bGVFbGVtZW50LmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTMxMEQ3MTk1MUIzMzVDOUQwMDlDN0I3MyAvKiBUaGVtZUNvY29h
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUQzRDRFOTcyMTMwQzdDRkUwMDdCQTU0MCAvKiBIVE1M
U3VtbWFyeUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTg3MURCMzIwQTE1MEJENjAw
QjEyQTY4IC8qIEhUTUxUYWJsZUNhcHRpb25FbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUE4NzFEQjJFMEExNTBCRDYwMEIxMkE2OCAvKiBIVE1MVGFibGVDZWxsRWxlbWVudC5jcHAgaW4g
U291cmNlcyAqLywKQEAgLTI5ODkyLDYgKzI5OTE1LDcgQEAKIAkJCQlCQ0VDMDFCRDBDMjc0REFD
MDA5RjRFQzkgLyogU2NyZWVuLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4NEQ4MkMyMTFEMzQ3
NDgwMDk3Mjk5MCAvKiBTY3JpcHRhYmxlRG9jdW1lbnRQYXJzZXIuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJNDFGMUQyMjAwRUYzNUMyQTAwREE4NzUzIC8qIFNjcmlwdENhY2hlZEZyYW1lRGF0YS5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQkzMTRCRTNBMzFCMzBGNkQxMDAxNDE5ODIgLyogQ1NTTmFt
ZWRJbWFnZVZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzQjcwRDZGMDlFQjBDN0MwMDlE
ODQ2OCAvKiBTY3JpcHRDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4M0UxQzc0
MEU0OTA0MkMwMDE0MEI5QyAvKiBTY3JpcHRDb250cm9sbGVyTWFjLm1tIGluIFNvdXJjZXMgKi8s
CiAJCQkJNDk5OEFFRDExM0ZCMjI0RDAwOTBCMUFBIC8qIFNjcmlwdGVkQW5pbWF0aW9uQ29udHJv
bGxlci5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZUdl
bmVyYXRvclZhbHVlLmNwcAppbmRleCAxN2QzZWViOWUyYmMxNGU2YmU3NTFjNDcyM2MzMjZiYTYz
YzBjY2JhLi5lYjQ4ODllZjZlMzI0NjU3NGZhN2ExMjBiZTNiMDg3YjVkNmJmNzJjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwCkBAIC0zMiw2ICsz
Miw3IEBACiAjaW5jbHVkZSAiQ1NTRmlsdGVySW1hZ2VWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0dy
YWRpZW50VmFsdWUuaCIKICNpbmNsdWRlICJDU1NJbWFnZVZhbHVlLmgiCisjaW5jbHVkZSAiQ1NT
TmFtZWRJbWFnZVZhbHVlLmgiCiAjaW5jbHVkZSAiR2VuZXJhdGVkSW1hZ2UuaCIKICNpbmNsdWRl
ICJSZW5kZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAiU3R5bGVDYWNoZWRJbWFnZS5oIgpAQCAtMTEw
LDYgKzExMSw4IEBAIFBhc3NSZWZQdHI8SW1hZ2U+IENTU0ltYWdlR2VuZXJhdG9yVmFsdWU6Omlt
YWdlKFJlbmRlckVsZW1lbnQqIHJlbmRlcmVyLCBjb25zdCBGCiAgICAgc3dpdGNoIChjbGFzc1R5
cGUoKSkgewogICAgIGNhc2UgQ2FudmFzQ2xhc3M6CiAgICAgICAgIHJldHVybiBkb3duY2FzdDxD
U1NDYW52YXNWYWx1ZT4oKnRoaXMpLmltYWdlKHJlbmRlcmVyLCBzaXplKTsKKyAgICBjYXNlIE5h
bWVkSW1hZ2VDbGFzczoKKyAgICAgICAgcmV0dXJuIGRvd25jYXN0PENTU05hbWVkSW1hZ2VWYWx1
ZT4oKnRoaXMpLmltYWdlKHJlbmRlcmVyLCBzaXplKTsKICAgICBjYXNlIENyb3NzZmFkZUNsYXNz
OgogICAgICAgICByZXR1cm4gZG93bmNhc3Q8Q1NTQ3Jvc3NmYWRlVmFsdWU+KCp0aGlzKS5pbWFn
ZShyZW5kZXJlciwgc2l6ZSk7CiAgICAgY2FzZSBGaWx0ZXJJbWFnZUNsYXNzOgpAQCAtMTI5LDYg
KzEzMiw4IEBAIGJvb2wgQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZTo6aXNGaXhlZFNpemUoKSBjb25z
dAogICAgIHN3aXRjaCAoY2xhc3NUeXBlKCkpIHsKICAgICBjYXNlIENhbnZhc0NsYXNzOgogICAg
ICAgICByZXR1cm4gZG93bmNhc3Q8Q1NTQ2FudmFzVmFsdWU+KCp0aGlzKS5pc0ZpeGVkU2l6ZSgp
OworICAgIGNhc2UgTmFtZWRJbWFnZUNsYXNzOgorICAgICAgICByZXR1cm4gZG93bmNhc3Q8Q1NT
TmFtZWRJbWFnZVZhbHVlPigqdGhpcykuaXNGaXhlZFNpemUoKTsKICAgICBjYXNlIENyb3NzZmFk
ZUNsYXNzOgogICAgICAgICByZXR1cm4gZG93bmNhc3Q8Q1NTQ3Jvc3NmYWRlVmFsdWU+KCp0aGlz
KS5pc0ZpeGVkU2l6ZSgpOwogICAgIGNhc2UgRmlsdGVySW1hZ2VDbGFzczoKQEAgLTE2OSw2ICsx
NzQsOCBAQCBib29sIENTU0ltYWdlR2VuZXJhdG9yVmFsdWU6OmlzUGVuZGluZygpIGNvbnN0CiAg
ICAgICAgIHJldHVybiBkb3duY2FzdDxDU1NDcm9zc2ZhZGVWYWx1ZT4oKnRoaXMpLmlzUGVuZGlu
ZygpOwogICAgIGNhc2UgQ2FudmFzQ2xhc3M6CiAgICAgICAgIHJldHVybiBkb3duY2FzdDxDU1ND
YW52YXNWYWx1ZT4oKnRoaXMpLmlzUGVuZGluZygpOworICAgIGNhc2UgTmFtZWRJbWFnZUNsYXNz
OgorICAgICAgICByZXR1cm4gZG93bmNhc3Q8Q1NTTmFtZWRJbWFnZVZhbHVlPigqdGhpcykuaXNQ
ZW5kaW5nKCk7CiAgICAgY2FzZSBGaWx0ZXJJbWFnZUNsYXNzOgogICAgICAgICByZXR1cm4gZG93
bmNhc3Q8Q1NTRmlsdGVySW1hZ2VWYWx1ZT4oKnRoaXMpLmlzUGVuZGluZygpOwogICAgIGNhc2Ug
TGluZWFyR3JhZGllbnRDbGFzczoKQEAgLTE4OCw2ICsxOTUsOCBAQCBib29sIENTU0ltYWdlR2Vu
ZXJhdG9yVmFsdWU6Omtub3duVG9CZU9wYXF1ZShjb25zdCBSZW5kZXJFbGVtZW50KiByZW5kZXJl
cikgY29ucwogICAgICAgICByZXR1cm4gZG93bmNhc3Q8Q1NTQ3Jvc3NmYWRlVmFsdWU+KCp0aGlz
KS5rbm93blRvQmVPcGFxdWUocmVuZGVyZXIpOwogICAgIGNhc2UgQ2FudmFzQ2xhc3M6CiAgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICBjYXNlIE5hbWVkSW1hZ2VDbGFzczoKKyAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgIGNhc2UgRmlsdGVySW1hZ2VDbGFzczoKICAgICAgICAgcmV0dXJuIGRv
d25jYXN0PENTU0ZpbHRlckltYWdlVmFsdWU+KCp0aGlzKS5rbm93blRvQmVPcGFxdWUocmVuZGVy
ZXIpOwogICAgIGNhc2UgTGluZWFyR3JhZGllbnRDbGFzczoKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NOYW1lZEltYWdlVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U05hbWVkSW1hZ2VWYWx1ZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWFkZDU0NmY1M2M3M2Y1ZDVmOGQzMTQ3
ZTFhNDc2N2FiYmNkYzRlYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NOYW1lZEltYWdlVmFsdWUuY3BwCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTUgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBB
TlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
ICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIkNTU05hbWVkSW1hZ2VWYWx1ZS5oIgorCisjaW5jbHVkZSAiSW1hZ2VCdWZmZXIuaCIKKyNp
bmNsdWRlICJOYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2UuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitTdHJpbmcgQ1NTTmFtZWRJbWFnZVZhbHVlOjpjdXN0b21DU1NUZXh0KCkgY29uc3QKK3sK
KyAgICByZXR1cm4gbWFrZVN0cmluZygiLXdlYmtpdC1uYW1lZC1pbWFnZSgiLCBtX25hbWUsICcp
Jyk7Cit9CisKK1Bhc3NSZWZQdHI8SW1hZ2U+IENTU05hbWVkSW1hZ2VWYWx1ZTo6aW1hZ2UoUmVu
ZGVyRWxlbWVudCosIGNvbnN0IEZsb2F0U2l6ZSYgc2l6ZSkKK3sKKyAgICBpZiAoc2l6ZS5pc0Vt
cHR5KCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgbV9nZW5lcmF0ZWRJbWFnZSA9
IE5hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZTo6Y3JlYXRlKG1fbmFtZSwgc2l6ZSk7CisKKyAgICBy
ZXR1cm4gbV9nZW5lcmF0ZWRJbWFnZS5yZWxlYXNlKCk7Cit9CisKK2Jvb2wgQ1NTTmFtZWRJbWFn
ZVZhbHVlOjplcXVhbHMoY29uc3QgQ1NTTmFtZWRJbWFnZVZhbHVlJiBvdGhlcikgY29uc3QKK3sK
KyAgICByZXR1cm4gbV9uYW1lID09IG90aGVyLm1fbmFtZTsKK30KKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU05hbWVkSW1hZ2VWYWx1
ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU05hbWVkSW1hZ2VWYWx1ZS5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5OTRmMzUzYTAwOTMyMzFjM2JkNWNhYWRkMDhhODBkZjMxNWM0N2MKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTmFtZWRJbWFnZVZhbHVlLmgKQEAgLTAsMCArMSw2
NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5k
ZWYgQ1NTTmFtZWRJbWFnZVZhbHVlX2gKKyNkZWZpbmUgQ1NTTmFtZWRJbWFnZVZhbHVlX2gKKwor
I2luY2x1ZGUgIkNTU0ltYWdlR2VuZXJhdG9yVmFsdWUuaCIKKworI2luY2x1ZGUgIkltYWdlLmgi
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRG9jdW1lbnQ7CisKK2NsYXNzIENTU05h
bWVkSW1hZ2VWYWx1ZSA6IHB1YmxpYyBDU1NJbWFnZUdlbmVyYXRvclZhbHVlIHsKK3B1YmxpYzoK
KyAgICBzdGF0aWMgUmVmPENTU05hbWVkSW1hZ2VWYWx1ZT4gY3JlYXRlKGNvbnN0IFN0cmluZyYg
bmFtZSkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBDU1NOYW1lZEltYWdlVmFsdWUobmFtZSkpOyB9
CisKKyAgICBTdHJpbmcgY3VzdG9tQ1NTVGV4dCgpIGNvbnN0OworCisgICAgYm9vbCBpc0ZpeGVk
U2l6ZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisgICAgYm9vbCBpc1BlbmRpbmcoKSBjb25z
dCB7IHJldHVybiBmYWxzZTsgfQorCisgICAgUGFzc1JlZlB0cjxJbWFnZT4gaW1hZ2UoUmVuZGVy
RWxlbWVudCosIGNvbnN0IEZsb2F0U2l6ZSYpOworCisgICAgYm9vbCBlcXVhbHMoY29uc3QgQ1NT
TmFtZWRJbWFnZVZhbHVlJikgY29uc3Q7CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgQ1NTTmFt
ZWRJbWFnZVZhbHVlKGNvbnN0IFN0cmluZyYgbmFtZSkKKyAgICAgICAgOiBDU1NJbWFnZUdlbmVy
YXRvclZhbHVlKE5hbWVkSW1hZ2VDbGFzcykKKyAgICAgICAgLCBtX25hbWUobmFtZSkKKyAgICB7
CisgICAgfQorCisgICAgU3RyaW5nIG1fbmFtZTsKKyAgICBSZWZQdHI8SW1hZ2U+IG1fZ2VuZXJh
dGVkSW1hZ2U7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK1NQRUNJQUxJWkVfVFlQ
RV9UUkFJVFNfQ1NTX1ZBTFVFKENTU05hbWVkSW1hZ2VWYWx1ZSwgaXNOYW1lZEltYWdlVmFsdWUo
KSkKKworI2VuZGlmIC8vIENTU05hbWVkSW1hZ2VWYWx1ZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIu
Y3BwCmluZGV4IGIyY2EwMzE3YTE1MjE2M2U5NzQyMDliNjk0OWIxOTE5NDFlNjBjOTQuLmU3MmUz
ZmIyYjcxNWZmNGY3ZjY5NDVkYTIzYmJjNTNlNDg3ZDEwNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJz
ZXIuY3BwCkBAIC01MCw2ICs1MCw3IEBACiAjaW5jbHVkZSAiQ1NTS2V5ZnJhbWVzUnVsZS5oIgog
I2luY2x1ZGUgIkNTU0xpbmVCb3hDb250YWluVmFsdWUuaCIKICNpbmNsdWRlICJDU1NNZWRpYVJ1
bGUuaCIKKyNpbmNsdWRlICJDU1NOYW1lZEltYWdlVmFsdWUuaCIKICNpbmNsdWRlICJDU1NQYWdl
UnVsZS5oIgogI2luY2x1ZGUgIkNTU1ByaW1pdGl2ZVZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTUHJp
bWl0aXZlVmFsdWVNYXBwaW5ncy5oIgpAQCAtOTE1Miw3ICs5MTUzLDggQEAgYm9vbCBDU1NQYXJz
ZXI6OmlzR2VuZXJhdGVkSW1hZ2VWYWx1ZShDU1NQYXJzZXJWYWx1ZSYgdmFsdWUpIGNvbnN0CiAg
ICAgICAgIHx8IGVxdWFsSWdub3JpbmdDYXNlKHZhbHVlLmZ1bmN0aW9uLT5uYW1lLCAicmVwZWF0
aW5nLXJhZGlhbC1ncmFkaWVudCgiKQogICAgICAgICB8fCBlcXVhbElnbm9yaW5nQ2FzZSh2YWx1
ZS5mdW5jdGlvbi0+bmFtZSwgIi13ZWJraXQtY2FudmFzKCIpCiAgICAgICAgIHx8IGVxdWFsSWdu
b3JpbmdDYXNlKHZhbHVlLmZ1bmN0aW9uLT5uYW1lLCAiLXdlYmtpdC1jcm9zcy1mYWRlKCIpCi0g
ICAgICAgIHx8IGVxdWFsSWdub3JpbmdDYXNlKHZhbHVlLmZ1bmN0aW9uLT5uYW1lLCAiLXdlYmtp
dC1maWx0ZXIoIik7CisgICAgICAgIHx8IGVxdWFsSWdub3JpbmdDYXNlKHZhbHVlLmZ1bmN0aW9u
LT5uYW1lLCAiLXdlYmtpdC1maWx0ZXIoIikKKyAgICAgICAgfHwgZXF1YWxJZ25vcmluZ0Nhc2Uo
dmFsdWUuZnVuY3Rpb24tPm5hbWUsICItd2Via2l0LW5hbWVkLWltYWdlKCIpOwogfQogCiBib29s
IENTU1BhcnNlcjo6cGFyc2VHZW5lcmF0ZWRJbWFnZShDU1NQYXJzZXJWYWx1ZUxpc3QmIHZhbHVl
TGlzdCwgUmVmUHRyPENTU1ZhbHVlPiYgdmFsdWUpCkBAIC05MTk4LDYgKzkyMDAsOSBAQCBib29s
IENTU1BhcnNlcjo6cGFyc2VHZW5lcmF0ZWRJbWFnZShDU1NQYXJzZXJWYWx1ZUxpc3QmIHZhbHVl
TGlzdCwgUmVmUHRyPENTU1ZhbAogICAgIGlmIChlcXVhbElnbm9yaW5nQ2FzZShwYXJzZXJWYWx1
ZS5mdW5jdGlvbi0+bmFtZSwgIi13ZWJraXQtZmlsdGVyKCIpKQogICAgICAgICByZXR1cm4gcGFy
c2VGaWx0ZXJJbWFnZSh2YWx1ZUxpc3QsIHZhbHVlKTsKIAorICAgIGlmIChlcXVhbElnbm9yaW5n
Q2FzZShwYXJzZXJWYWx1ZS5mdW5jdGlvbi0+bmFtZSwgIi13ZWJraXQtbmFtZWQtaW1hZ2UoIikp
CisgICAgICAgIHJldHVybiBwYXJzZU5hbWVkSW1hZ2UodmFsdWVMaXN0LCB2YWx1ZSk7CisKICAg
ICByZXR1cm4gZmFsc2U7CiB9CiAKQEAgLTkzMTAsNiArOTMxNSwyMSBAQCBib29sIENTU1BhcnNl
cjo6cGFyc2VDYW52YXMoQ1NTUGFyc2VyVmFsdWVMaXN0JiB2YWx1ZUxpc3QsIFJlZlB0cjxDU1NW
YWx1ZT4mIGNhbgogICAgIHJldHVybiB0cnVlOwogfQogCitib29sIENTU1BhcnNlcjo6cGFyc2VO
YW1lZEltYWdlKENTU1BhcnNlclZhbHVlTGlzdCYgdmFsdWVMaXN0LCBSZWZQdHI8Q1NTVmFsdWU+
JiBuYW1lZEltYWdlKQoreworICAgIENTU1BhcnNlclZhbHVlTGlzdCogYXJncyA9IHZhbHVlTGlz
dC5jdXJyZW50KCktPmZ1bmN0aW9uLT5hcmdzLmdldCgpOworICAgIGlmICghYXJncyB8fCBhcmdz
LT5zaXplKCkgIT0gMSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgLy8gVGhlIG9ubHkg
YXJndW1lbnQgaXMgdGhlIGltYWdlIG5hbWUuCisgICAgQ1NTUGFyc2VyVmFsdWUqIHZhbHVlID0g
YXJncy0+Y3VycmVudCgpOworICAgIGlmICghdmFsdWUgfHwgdmFsdWUtPnVuaXQgIT0gQ1NTUHJp
bWl0aXZlVmFsdWU6OkNTU19JREVOVCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgbmFt
ZWRJbWFnZSA9IENTU05hbWVkSW1hZ2VWYWx1ZTo6Y3JlYXRlKHZhbHVlLT5zdHJpbmcpOworICAg
IHJldHVybiB0cnVlOworfQorCiAjaWYgRU5BQkxFKENTU19JTUFHRV9SRVNPTFVUSU9OKQogUGFz
c1JlZlB0cjxDU1NWYWx1ZT4gQ1NTUGFyc2VyOjpwYXJzZUltYWdlUmVzb2x1dGlvbigpCiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUGFyc2VyLmgKaW5kZXggNTI5OWRiYmEwZWFkMTc4ODY4OTNmMDdjNTkwM2Q3ODRm
NjI1YTNhMS4uMzk4YzJmNGNlNTU0NWNkYzE2YTQ1YmM1NjEyYTNiNmE1OWUwNGY4OCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQYXJzZXIuaApAQCAtMjkwLDYgKzI5MCw3IEBAIHB1YmxpYzoKIAogICAgIC8vIElt
YWdlIGdlbmVyYXRvcnMKICAgICBib29sIHBhcnNlQ2FudmFzKENTU1BhcnNlclZhbHVlTGlzdCYs
IFJlZlB0cjxDU1NWYWx1ZT4mKTsKKyAgICBib29sIHBhcnNlTmFtZWRJbWFnZShDU1NQYXJzZXJW
YWx1ZUxpc3QmLCBSZWZQdHI8Q1NTVmFsdWU+Jik7CiAKICAgICBib29sIHBhcnNlRGVwcmVjYXRl
ZEdyYWRpZW50KENTU1BhcnNlclZhbHVlTGlzdCYsIFJlZlB0cjxDU1NWYWx1ZT4mKTsKICAgICBi
b29sIHBhcnNlRGVwcmVjYXRlZExpbmVhckdyYWRpZW50KENTU1BhcnNlclZhbHVlTGlzdCYsIFJl
ZlB0cjxDU1NWYWx1ZT4mLCBDU1NHcmFkaWVudFJlcGVhdCByZXBlYXRpbmcpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NWYWx1ZS5jcHAKaW5kZXggNDMxZGQ0NTQ5ZDIxOGQ3ZTA1YTk2NTUzNjYwNDVkMWM2MmNmYmNj
My4uOWViMTlhYjI4MGMyNWYwY2YwZWYzYjc1YzBlMDE2MzIwNjU3NmY2NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTVmFsdWUuY3BwCkBAIC00Nyw2ICs0Nyw3IEBACiAjaW5jbHVkZSAiQ1NTSW5oZXJpdGVkVmFs
dWUuaCIKICNpbmNsdWRlICJDU1NJbml0aWFsVmFsdWUuaCIKICNpbmNsdWRlICJDU1NMaW5lQm94
Q29udGFpblZhbHVlLmgiCisjaW5jbHVkZSAiQ1NTTmFtZWRJbWFnZVZhbHVlLmgiCiAjaW5jbHVk
ZSAiQ1NTUHJpbWl0aXZlVmFsdWUuaCIKICNpbmNsdWRlICJDU1NSZWZsZWN0VmFsdWUuaCIKICNp
bmNsdWRlICJDU1NTaGFkb3dWYWx1ZS5oIgpAQCAtMTY4LDYgKzE2OSw4IEBAIGJvb2wgQ1NTVmFs
dWU6OmVxdWFscyhjb25zdCBDU1NWYWx1ZSYgb3RoZXIpIGNvbnN0CiAgICAgICAgICAgICByZXR1
cm4gY29tcGFyZUNTU1ZhbHVlczxDU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWU+KCp0aGlzLCBvdGhl
cik7CiAgICAgICAgIGNhc2UgQ2FudmFzQ2xhc3M6CiAgICAgICAgICAgICByZXR1cm4gY29tcGFy
ZUNTU1ZhbHVlczxDU1NDYW52YXNWYWx1ZT4oKnRoaXMsIG90aGVyKTsKKyAgICAgICAgY2FzZSBO
YW1lZEltYWdlQ2xhc3M6CisgICAgICAgICAgICByZXR1cm4gY29tcGFyZUNTU1ZhbHVlczxDU1NO
YW1lZEltYWdlVmFsdWU+KCp0aGlzLCBvdGhlcik7CiAgICAgICAgIGNhc2UgQ3Vyc29ySW1hZ2VD
bGFzczoKICAgICAgICAgICAgIHJldHVybiBjb21wYXJlQ1NTVmFsdWVzPENTU0N1cnNvckltYWdl
VmFsdWU+KCp0aGlzLCBvdGhlcik7CiAgICAgICAgIGNhc2UgRmlsdGVySW1hZ2VDbGFzczoKQEAg
LTI2MCw2ICsyNjMsOCBAQCBTdHJpbmcgQ1NTVmFsdWU6OmNzc1RleHQoKSBjb25zdAogICAgICAg
ICByZXR1cm4gZG93bmNhc3Q8Q1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlPigqdGhpcykuY3VzdG9t
Q1NTVGV4dCgpOwogICAgIGNhc2UgQ2FudmFzQ2xhc3M6CiAgICAgICAgIHJldHVybiBkb3duY2Fz
dDxDU1NDYW52YXNWYWx1ZT4oKnRoaXMpLmN1c3RvbUNTU1RleHQoKTsKKyAgICBjYXNlIE5hbWVk
SW1hZ2VDbGFzczoKKyAgICAgICAgcmV0dXJuIGRvd25jYXN0PENTU05hbWVkSW1hZ2VWYWx1ZT4o
KnRoaXMpLmN1c3RvbUNTU1RleHQoKTsKICAgICBjYXNlIEN1cnNvckltYWdlQ2xhc3M6CiAgICAg
ICAgIHJldHVybiBkb3duY2FzdDxDU1NDdXJzb3JJbWFnZVZhbHVlPigqdGhpcykuY3VzdG9tQ1NT
VGV4dCgpOwogICAgIGNhc2UgRmlsdGVySW1hZ2VDbGFzczoKQEAgLTM1Miw2ICszNTcsOSBAQCB2
b2lkIENTU1ZhbHVlOjpkZXN0cm95KCkKICAgICBjYXNlIENhbnZhc0NsYXNzOgogICAgICAgICBk
ZWxldGUgZG93bmNhc3Q8Q1NTQ2FudmFzVmFsdWU+KHRoaXMpOwogICAgICAgICByZXR1cm47Cisg
ICAgY2FzZSBOYW1lZEltYWdlQ2xhc3M6CisgICAgICAgIGRlbGV0ZSBkb3duY2FzdDxDU1NOYW1l
ZEltYWdlVmFsdWU+KHRoaXMpOworICAgICAgICByZXR1cm47CiAgICAgY2FzZSBDdXJzb3JJbWFn
ZUNsYXNzOgogICAgICAgICBkZWxldGUgZG93bmNhc3Q8Q1NTQ3Vyc29ySW1hZ2VWYWx1ZT4odGhp
cyk7CiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NW
YWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgKaW5kZXggOWE0MDY4Njg5YzE2
NzFkZDkyYTUxZjA3ZmNlYTcyY2YxYTA5MDIxNi4uNTllYTFjOTU5Nzg3YTIzMTdiYjAxZWI2MzU5
MTA0NTVjMjM2ODkzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgKQEAgLTc5LDYgKzc5LDcgQEAgcHVi
bGljOgogICAgIGJvb2wgaXNGb250VmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9
PSBGb250Q2xhc3M7IH0KICAgICBib29sIGlzSW1hZ2VHZW5lcmF0b3JWYWx1ZSgpIGNvbnN0IHsg
cmV0dXJuIG1fY2xhc3NUeXBlID49IENhbnZhc0NsYXNzICYmIG1fY2xhc3NUeXBlIDw9IFJhZGlh
bEdyYWRpZW50Q2xhc3M7IH0KICAgICBib29sIGlzR3JhZGllbnRWYWx1ZSgpIGNvbnN0IHsgcmV0
dXJuIG1fY2xhc3NUeXBlID49IExpbmVhckdyYWRpZW50Q2xhc3MgJiYgbV9jbGFzc1R5cGUgPD0g
UmFkaWFsR3JhZGllbnRDbGFzczsgfQorICAgIGJvb2wgaXNOYW1lZEltYWdlVmFsdWUoKSBjb25z
dCB7IHJldHVybiBtX2NsYXNzVHlwZSA9PSBOYW1lZEltYWdlQ2xhc3M7IH0KICNpZiBFTkFCTEUo
Q1NTX0lNQUdFX1NFVCkKICAgICBib29sIGlzSW1hZ2VTZXRWYWx1ZSgpIGNvbnN0IHsgcmV0dXJu
IG1fY2xhc3NUeXBlID09IEltYWdlU2V0Q2xhc3M7IH0KICNlbmRpZgpAQCAtMTM5LDYgKzE0MCw3
IEBAIHByb3RlY3RlZDoKIAogICAgICAgICAvLyBJbWFnZSBnZW5lcmF0b3IgY2xhc3Nlcy4KICAg
ICAgICAgQ2FudmFzQ2xhc3MsCisgICAgICAgIE5hbWVkSW1hZ2VDbGFzcywKICAgICAgICAgQ3Jv
c3NmYWRlQ2xhc3MsCiAgICAgICAgIEZpbHRlckltYWdlQ2xhc3MsCiAgICAgICAgIExpbmVhckdy
YWRpZW50Q2xhc3MsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZS5jcHAKaW5kZXggOTY1NDdhN2NmNTZj
NTJkOGZkMDgzMmNlZjgxMjNjYmE4MzZkMzJmZS4uYjA0YzQxMDk2Y2QzYjNiYjhiMGIwMTBlNmU3
NjYwNWVkOGVkYzU0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lLmNwcApAQCAtMjYsNiArMjYs
OCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlRoZW1lLmgiCiAKKyNpbXBvcnQg
IkdyYXBoaWNzQ29udGV4dC5oIgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIExlbmd0aEJveCBU
aGVtZTo6Y29udHJvbEJvcmRlcihDb250cm9sUGFydCBwYXJ0LCBjb25zdCBGb250Q2FzY2FkZSYs
IGNvbnN0IExlbmd0aEJveCYgem9vbWVkQm94LCBmbG9hdCkgY29uc3QKQEAgLTU1LDQgKzU3LDYw
IEBAIExlbmd0aEJveCBUaGVtZTo6Y29udHJvbFBhZGRpbmcoQ29udHJvbFBhcnQgcGFydCwgY29u
c3QgRm9udENhc2NhZGUmLCBjb25zdCBMZW5nCiAgICAgfQogfQogCit2b2lkIFRoZW1lOjpkcmF3
TmFtZWRJbWFnZShjb25zdCBTdHJpbmcmIG5hbWUsIEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwg
Y29uc3QgRmxvYXRSZWN0JiByZWN0KSBjb25zdAoreworICAgIC8vIFdlIG9ubHkgaGFuZGxlIG9u
ZSBpY29uIGF0IHRoZSBtb21lbnQuCisgICAgaWYgKG5hbWUgIT0gIndpcmVsZXNzLXBsYXliYWNr
IikKKyAgICAgICAgcmV0dXJuOworCisgICAgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciBzdGF0
ZVNhdmVyKCpjb250ZXh0KTsKKyAgICBjb250ZXh0LT5zZXRGaWxsQ29sb3IoQ29sb3I6OmJsYWNr
LCBDb2xvclNwYWNlRGV2aWNlUkdCKTsKKworICAgIC8vIERyYXcgYSBnZW5lcmljIFdpcmVsZXNz
IFBsYXliYWNrIGljb24uCisKKyAgICBjb250ZXh0LT5zY2FsZShGbG9hdFNpemUocmVjdC5zaXpl
KCkud2lkdGgoKSAvIDEwMCwgcmVjdC5zaXplKCkuaGVpZ2h0KCkgLyAxMDApKTsKKyAgICBjb250
ZXh0LT50cmFuc2xhdGUoOCwgMSk7CisKKyAgICBQYXRoIG91dGxpbmU7CisgICAgb3V0bGluZS5t
b3ZlVG8oRmxvYXRQb2ludCg1OSwgNTguNykpOworICAgIG91dGxpbmUuYWRkQmV6aWVyQ3VydmVU
byhGbG9hdFBvaW50KDU4LjEsIDU4LjcpLCBGbG9hdFBvaW50KDU3LjIsIDU4LjQpLCBGbG9hdFBv
aW50KDU2LjQsIDU3LjcpKTsKKyAgICBvdXRsaW5lLmFkZExpbmVUbyhGbG9hdFBvaW50KDQyLCA0
NS41KSk7CisgICAgb3V0bGluZS5hZGRMaW5lVG8oRmxvYXRQb2ludCgyNy42LCA1Ny44KSk7Cisg
ICAgb3V0bGluZS5hZGRCZXppZXJDdXJ2ZVRvKEZsb2F0UG9pbnQoMjUuOSwgNTkuMiksIEZsb2F0
UG9pbnQoMjMuNCwgNTkpLCBGbG9hdFBvaW50KDIyLCA1Ny4zKSk7CisgICAgb3V0bGluZS5hZGRC
ZXppZXJDdXJ2ZVRvKEZsb2F0UG9pbnQoMjAuNiwgNTUuNiksIEZsb2F0UG9pbnQoMjAuOCwgNTMu
MSksIEZsb2F0UG9pbnQoMjIuNSwgNTEuNykpOworICAgIG91dGxpbmUuYWRkTGluZVRvKEZsb2F0
UG9pbnQoMzkuNSwgMzcuMykpOworICAgIG91dGxpbmUuYWRkQmV6aWVyQ3VydmVUbyhGbG9hdFBv
aW50KDQxLCAzNiksIEZsb2F0UG9pbnQoNDMuMiwgMzYpLCBGbG9hdFBvaW50KDQ0LjcsIDM3LjMp
KTsKKyAgICBvdXRsaW5lLmFkZExpbmVUbyhGbG9hdFBvaW50KDYxLjcsIDUxLjcpKTsKKyAgICBv
dXRsaW5lLmFkZEJlemllckN1cnZlVG8oRmxvYXRQb2ludCg2My40LCA1My4xKSwgRmxvYXRQb2lu
dCg2My42LCA1NS43KSwgRmxvYXRQb2ludCg2Mi4yLCA1Ny4zKSk7CisgICAgb3V0bGluZS5hZGRC
ZXppZXJDdXJ2ZVRvKEZsb2F0UG9pbnQoNjEuMywgNTguMiksIEZsb2F0UG9pbnQoNjAuMSwgNTgu
NyksIEZsb2F0UG9pbnQoNTksIDU4LjcpKTsKKyAgICBvdXRsaW5lLmFkZExpbmVUbyhGbG9hdFBv
aW50KDU5LCA1OC43KSk7CisgICAgb3V0bGluZS5jbG9zZVN1YnBhdGgoKTsKKworICAgIG91dGxp
bmUubW92ZVRvKEZsb2F0UG9pbnQoNDIsIDk4KSk7CisgICAgb3V0bGluZS5hZGRCZXppZXJDdXJ2
ZVRvKEZsb2F0UG9pbnQoMzkuOCwgOTgpLCBGbG9hdFBvaW50KDM4LCA5Ni4zKSwgRmxvYXRQb2lu
dCgzOCwgOTQuMikpOworICAgIG91dGxpbmUuYWRkTGluZVRvKEZsb2F0UG9pbnQoMzgsIDQzLjYp
KTsKKyAgICBvdXRsaW5lLmFkZEJlemllckN1cnZlVG8oRmxvYXRQb2ludCgzOCwgNDEuNSksIEZs
b2F0UG9pbnQoMzkuOCwgMzkuOCksIEZsb2F0UG9pbnQoNDIsIDM5LjgpKTsKKyAgICBvdXRsaW5l
LmFkZEJlemllckN1cnZlVG8oRmxvYXRQb2ludCg0NC4yLCAzOS44KSwgRmxvYXRQb2ludCg0Niwg
NDEuNSksIEZsb2F0UG9pbnQoNDYsIDQzLjYpKTsKKyAgICBvdXRsaW5lLmFkZExpbmVUbyhGbG9h
dFBvaW50KDQ2LCA5NC4yKSk7CisgICAgb3V0bGluZS5hZGRCZXppZXJDdXJ2ZVRvKEZsb2F0UG9p
bnQoNDYsIDk2LjMpLCBGbG9hdFBvaW50KDQ0LjIsIDk4KSwgRmxvYXRQb2ludCg0MiwgOTgpKTsK
KyAgICBvdXRsaW5lLmFkZExpbmVUbyhGbG9hdFBvaW50KDQyLCA5OCkpOworICAgIG91dGxpbmUu
Y2xvc2VTdWJwYXRoKCk7CisKKyAgICBvdXRsaW5lLm1vdmVUbyhGbG9hdFBvaW50KDgzLjYsIDQx
LjYpKTsKKyAgICBvdXRsaW5lLmFkZEJlemllckN1cnZlVG8oRmxvYXRQb2ludCg4My42LCAxOC42
KSwgRmxvYXRQb2ludCg2NSwgMCksIEZsb2F0UG9pbnQoNDIsIDApKTsKKyAgICBvdXRsaW5lLmFk
ZEJlemllckN1cnZlVG8oRmxvYXRQb2ludCgxOSwgMCksIEZsb2F0UG9pbnQoMC40LCAxOC42KSwg
RmxvYXRQb2ludCgwLjQsIDQxLjYpKTsKKyAgICBvdXRsaW5lLmFkZEJlemllckN1cnZlVG8oRmxv
YXRQb2ludCgwLjQsIDYyLjIpLCBGbG9hdFBvaW50KDE1LCA3OS4yKSwgRmxvYXRQb2ludCgzNSwg
ODIuNikpOworICAgIG91dGxpbmUuYWRkTGluZVRvKEZsb2F0UG9pbnQoMzUsIDc0LjUpKTsKKyAg
ICBvdXRsaW5lLmFkZEJlemllckN1cnZlVG8oRmxvYXRQb2ludCgyMCwgNzEuMiksIEZsb2F0UG9p
bnQoOC40LCA1Ny43KSwgRmxvYXRQb2ludCg4LjQsIDQxLjYpKTsKKyAgICBvdXRsaW5lLmFkZEJl
emllckN1cnZlVG8oRmxvYXRQb2ludCg4LjQsIDIzLjEpLCBGbG9hdFBvaW50KDIzLjUsIDgpLCBG
bG9hdFBvaW50KDQyLCA4KSk7CisgICAgb3V0bGluZS5hZGRCZXppZXJDdXJ2ZVRvKEZsb2F0UG9p
bnQoNjAuNSwgOCksIEZsb2F0UG9pbnQoNzUuNSwgMjMuMSksIEZsb2F0UG9pbnQoNzUuNSwgNDEu
NikpOworICAgIG91dGxpbmUuYWRkQmV6aWVyQ3VydmVUbyhGbG9hdFBvaW50KDc1LjYsIDU3Ljcp
LCBGbG9hdFBvaW50KDY0LCA3MS4yKSwgRmxvYXRQb2ludCg0OSwgNzQuNSkpOworICAgIG91dGxp
bmUuYWRkTGluZVRvKEZsb2F0UG9pbnQoNDksIDgyLjYpKTsKKyAgICBvdXRsaW5lLmFkZEJlemll
ckN1cnZlVG8oRmxvYXRQb2ludCg2OSwgNzkuMyksIEZsb2F0UG9pbnQoODMuNiwgNjIuMiksIEZs
b2F0UG9pbnQoODMuNiwgNDEuNikpOworICAgIG91dGxpbmUuYWRkTGluZVRvKEZsb2F0UG9pbnQo
ODMuNiwgNDEuNikpOworICAgIG91dGxpbmUuY2xvc2VTdWJwYXRoKCk7CisKKyAgICBjb250ZXh0
LT5maWxsUGF0aChvdXRsaW5lKTsKK30KKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vVGhlbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lLmgKaW5kZXgg
ZWNlODRjZjY1OGFmZjYxNWE1ZGQ5NzI1OTcxMWU0YmEzNGI2YTUyYi4uMTBlMGM3NzNmZTIyNDAx
ZjZiNDRmMWJkNGQ2Y2I2OWU2ZTBmZDY3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vVGhlbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZS5oCkBAIC0y
OSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiQ29sb3IuaCIKICNpbmNsdWRlICJDb250cm9sU3RhdGVz
LmgiCiAjaW5jbHVkZSAiRm9udENhc2NhZGUuaCIKKyNpbmNsdWRlICJHcmFwaGljc1R5cGVzLmgi
CiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIkxlbmd0aEJveC5oIgogI2luY2x1ZGUg
Ikxlbmd0aFNpemUuaCIKQEAgLTEwNiw3ICsxMDcsOSBAQCBwdWJsaWM6CiAgICAgLy8gVGhlIHJl
Y3QgcGFzc2VkIGluIGlzIGluIHpvb21lZCBjb29yZGluYXRlcywgc28gdGhlIGluZmxhdGlvbiBz
aG91bGQgdGFrZSB0aGF0IGludG8gYWNjb3VudCBhbmQgbWFrZSBzdXJlIHRoZSBpbmZsYXRpb24K
ICAgICAvLyBhbW91bnQgaXMgYWxzbyBzY2FsZWQgYnkgdGhlIHpvb21GYWN0b3IuCiAgICAgdmly
dHVhbCB2b2lkIGluZmxhdGVDb250cm9sUGFpbnRSZWN0KENvbnRyb2xQYXJ0LCBjb25zdCBDb250
cm9sU3RhdGVzKiwgRmxvYXRSZWN0JiAvKnpvb21lZFJlY3QqLywgZmxvYXQgLyp6b29tRmFjdG9y
Ki8pIGNvbnN0IHsgfQotICAgIAorCisgICAgdmlydHVhbCB2b2lkIGRyYXdOYW1lZEltYWdlKGNv
bnN0IFN0cmluZyYsIEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UmVjdCYpIGNvbnN0Owor
CiAgICAgLy8gVGhpcyBtZXRob2QgaXMgY2FsbGVkIG9uY2UsIGZyb20gUmVuZGVyVGhlbWU6OmFk
anVzdERlZmF1bHRTdHlsZVNoZWV0KCksIHRvIGxldCBlYWNoIHBsYXRmb3JtIGFkanVzdAogICAg
IC8vIHRoZSBkZWZhdWx0IENTUyBydWxlcyBpbiBodG1sLmNzcy4KICAgICBzdGF0aWMgU3RyaW5n
IGRlZmF1bHRTdHlsZVNoZWV0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9jb2NvYS9UaGVtZUNvY29hLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Ro
ZW1lQ29jb2EuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRhODc5MjhjMGY4NzM0MDU5YzQyYjc5MGQ5ZTMxNzIy
OTVmOGNjZjIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2Nv
YS9UaGVtZUNvY29hLmNwcApAQCAtMCwwICsxLDkwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE1IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisjaW1wb3J0ICJUaGVt
ZUNvY29hLmgiCisKKyNpbXBvcnQgIkdyYXBoaWNzQ29udGV4dC5oIgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK3N0YXRpYyB2b2lkIGZpdENvbnRleHRUb0JveChHcmFwaGljc0NvbnRleHQqIGNv
bnRleHQsIGNvbnN0IEZsb2F0U2l6ZSYgc3JjSW1hZ2VTaXplLCBjb25zdCBGbG9hdFNpemUmIGRz
dFNpemUpCit7CisgICAgZmxvYXQgc3JjUmF0aW8gPSBzcmNJbWFnZVNpemUuYXNwZWN0UmF0aW8o
KTsKKyAgICBmbG9hdCBkc3RSYXRpbyA9IGRzdFNpemUuYXNwZWN0UmF0aW8oKTsKKworICAgIGZs
b2F0IHNjYWxlOworICAgIGZsb2F0IHRyYW5zbGF0aW9uWCA9IDA7CisgICAgZmxvYXQgdHJhbnNs
YXRpb25ZID0gMDsKKyAgICBpZiAoc3JjUmF0aW8gPiBkc3RSYXRpbykgeworICAgICAgICBzY2Fs
ZSA9IGRzdFNpemUud2lkdGgoKSAvIHNyY0ltYWdlU2l6ZS53aWR0aCgpOworICAgICAgICB0cmFu
c2xhdGlvblkgPSAoZHN0U2l6ZS5oZWlnaHQoKSAtIHNjYWxlICogc3JjSW1hZ2VTaXplLmhlaWdo
dCgpKSAvIDI7CisgICAgfSBlbHNlIHsKKyAgICAgICAgc2NhbGUgPSBkc3RTaXplLmhlaWdodCgp
IC8gc3JjSW1hZ2VTaXplLmhlaWdodCgpOworICAgICAgICB0cmFuc2xhdGlvblggPSAoZHN0U2l6
ZS53aWR0aCgpIC0gc2NhbGUgKiBzcmNJbWFnZVNpemUud2lkdGgoKSkgLyAyOworICAgIH0KKyAg
ICBjb250ZXh0LT50cmFuc2xhdGUodHJhbnNsYXRpb25YLCB0cmFuc2xhdGlvblkpOworICAgIGNv
bnRleHQtPnNjYWxlKEZsb2F0U2l6ZShzY2FsZSwgc2NhbGUpKTsKK30KKwordm9pZCBUaGVtZUNv
Y29hOjpkcmF3TmFtZWRJbWFnZShjb25zdCBTdHJpbmcmIG5hbWUsIEdyYXBoaWNzQ29udGV4dCog
Y29udGV4dCwgY29uc3QgRmxvYXRSZWN0JiByZWN0KSBjb25zdAoreworICAgIC8vIFdlIG9ubHkg
aGFuZGxlIG9uZSBpY29uIGF0IHRoZSBtb21lbnQuCisgICAgaWYgKG5hbWUgIT0gIndpcmVsZXNz
LXBsYXliYWNrIikgeworICAgICAgICBUaGVtZTo6ZHJhd05hbWVkSW1hZ2UobmFtZSwgY29udGV4
dCwgcmVjdCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBHcmFwaGljc0NvbnRleHRT
dGF0ZVNhdmVyIHN0YXRlU2F2ZXIoKmNvbnRleHQpOworICAgIGNvbnRleHQtPnNldEZpbGxDb2xv
cihDb2xvcjo6YmxhY2ssIENvbG9yU3BhY2VEZXZpY2VSR0IpOworCisgICAgRmxvYXRTaXplIHdp
cmVsZXNzUGxheWJhY2tTcmNTaXplKDMyLCAyNC4wMTYpOworICAgIGZpdENvbnRleHRUb0JveChj
b250ZXh0LCB3aXJlbGVzc1BsYXliYWNrU3JjU2l6ZSwgcmVjdC5zaXplKCkpOworCisgICAgUGF0
aCBvdXRsaW5lOworICAgIG91dGxpbmUubW92ZVRvKEZsb2F0UG9pbnQoMjQuMDY2LCAxOCkpOwor
ICAgIG91dGxpbmUuYWRkTGluZVRvKEZsb2F0UG9pbnQoMjIuMTExLCAxNikpOworICAgIG91dGxp
bmUuYWRkTGluZVRvKEZsb2F0UG9pbnQoMzAsIDE2KSk7CisgICAgb3V0bGluZS5hZGRMaW5lVG8o
RmxvYXRQb2ludCgzMCwgMikpOworICAgIG91dGxpbmUuYWRkTGluZVRvKEZsb2F0UG9pbnQoMiwg
MikpOworICAgIG91dGxpbmUuYWRkTGluZVRvKEZsb2F0UG9pbnQoMiwgMTYpKTsKKyAgICBvdXRs
aW5lLmFkZExpbmVUbyhGbG9hdFBvaW50KDkuOTA4LCAxNikpOworICAgIG91dGxpbmUuYWRkTGlu
ZVRvKEZsb2F0UG9pbnQoNy45NTMsIDE4KSk7CisgICAgb3V0bGluZS5hZGRMaW5lVG8oRmxvYXRQ
b2ludCgwLCAxOCkpOworICAgIG91dGxpbmUuYWRkTGluZVRvKEZsb2F0UG9pbnQoMCwgMCkpOwor
ICAgIG91dGxpbmUuYWRkTGluZVRvKEZsb2F0UG9pbnQoMzIsIDApKTsKKyAgICBvdXRsaW5lLmFk
ZExpbmVUbyhGbG9hdFBvaW50KDMyLCAxOCkpOworICAgIG91dGxpbmUuYWRkTGluZVRvKEZsb2F0
UG9pbnQoMjQuMDY2LCAxOCkpOworICAgIG91dGxpbmUuY2xvc2VTdWJwYXRoKCk7CisgICAgb3V0
bGluZS5tb3ZlVG8oRmxvYXRQb2ludCgyNi45MTcsIDI0LjAxNikpOworICAgIG91dGxpbmUuYWRk
TGluZVRvKEZsb2F0UG9pbnQoNS4wNDAsIDI0LjAxNikpOworICAgIG91dGxpbmUuYWRkTGluZVRv
KEZsb2F0UG9pbnQoMTUuOTc4LCAxMi44MjgpKTsKKyAgICBvdXRsaW5lLmFkZExpbmVUbyhGbG9h
dFBvaW50KDI2LjkxNywgMjQuMDE2KSk7CisgICAgb3V0bGluZS5jbG9zZVN1YnBhdGgoKTsKKyAg
ICAKKyAgICBjb250ZXh0LT5maWxsUGF0aChvdXRsaW5lKTsKK30KKworfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvVGhlbWVDb2NvYS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vY29jb2EvVGhlbWVDb2NvYS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFkNmI2OTM4ZjA1NjRk
Njg3NTJmMjgwYThiYTNkYzJmYzM1YmU2NGUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9jb2NvYS9UaGVtZUNvY29hLmgKQEAgLTAsMCArMSw0MyBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMg
SVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgVGhlbWVDb2Nv
YV9oCisjZGVmaW5lIFRoZW1lQ29jb2FfaAorCisjaW5jbHVkZSAiVGhlbWUuaCIKKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitjbGFzcyBUaGVtZUNvY29hIDogcHVibGljIFRoZW1lIHsKK3B1Ymxp
YzoKKyAgICBUaGVtZUNvY29hKCkgeyB9CisgICAgdmlydHVhbCB+VGhlbWVDb2NvYSgpIHsgfQor
CisgICAgdmlydHVhbCB2b2lkIGRyYXdOYW1lZEltYWdlKGNvbnN0IFN0cmluZyYsIEdyYXBoaWNz
Q29udGV4dCosIGNvbnN0IEZsb2F0UmVjdCYpIGNvbnN0IG92ZXJyaWRlOworfTsKKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gVGhlbWVDb2NvYV9oCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Dcm9zc2ZhZGVHZW5lcmF0ZWRJbWFnZS5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ3Jvc3NmYWRlR2VuZXJhdGVkSW1h
Z2UuaAppbmRleCBhOWQ1OGM1NzE0NjU3MDFmOGZkODZmN2RhNjI4N2QyZGVhNDgzOTJhLi41NmE5
ODc1MTRjYjcxYTE3YjRjNzgyYjcxODcxODZiZjcyYTBlMmI3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Dcm9zc2ZhZGVHZW5lcmF0ZWRJbWFnZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Nyb3NzZmFkZUdlbmVyYXRlZEltYWdl
LmgKQEAgLTM0LDggKzM0LDYgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBDU1ND
cm9zc2ZhZGVWYWx1ZTsKLQogY2xhc3MgQ3Jvc3NmYWRlR2VuZXJhdGVkSW1hZ2UgZmluYWwgOiBw
dWJsaWMgR2VuZXJhdGVkSW1hZ2UgewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8Q3Jvc3NmYWRl
R2VuZXJhdGVkSW1hZ2U+IGNyZWF0ZShJbWFnZSogZnJvbUltYWdlLCBJbWFnZSogdG9JbWFnZSwg
ZmxvYXQgcGVyY2VudGFnZSwgY29uc3QgRmxvYXRTaXplJiBjcm9zc2ZhZGVTaXplLCBjb25zdCBG
bG9hdFNpemUmIHNpemUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9JbWFnZUJ1ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1h
Z2VCdWZmZXIuaAppbmRleCBmMmVlNTA2Zjc3MGI0ZDNkNzg0MTc0N2M4NjAzMzZjMTZiZWU5ZGVj
Li42NmMxZDhmNzVjYTk3ZThiYTU4OGU3ZWViNjNhYjM1MTRmNjNmNWQ2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmgKQEAgLTE0OSw2ICsxNDks
NyBAQCBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBHcmFwaGljc0NvbnRleHQ7CiAgICAgZnJp
ZW5kIGNsYXNzIEdlbmVyYXRlZEltYWdlOwogICAgIGZyaWVuZCBjbGFzcyBDcm9zc2ZhZGVHZW5l
cmF0ZWRJbWFnZTsKKyAgICBmcmllbmQgY2xhc3MgTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlOwog
ICAgIGZyaWVuZCBjbGFzcyBHcmFkaWVudEltYWdlOwogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL05hbWVkSW1hZ2VHZW5lcmF0
ZWRJbWFnZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDQ2MWNkNDkyNmIxN2EyZmIyYzQ1ZDdhNDlhYmM0NDE5
MDRiYmMwYQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL05hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZS5jcHAKQEAgLTAsMCArMSw2OCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMg
SVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJOYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2UuaCIKKworI2luY2x1ZGUgIkZs
b2F0UmVjdC5oIgorI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgorI2luY2x1ZGUgIkltYWdl
QnVmZmVyLmgiCisjaW5jbHVkZSAiVGhlbWUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitO
YW1lZEltYWdlR2VuZXJhdGVkSW1hZ2U6Ok5hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZShTdHJpbmcg
bmFtZSwgY29uc3QgRmxvYXRTaXplJiBzaXplKQorICAgIDogbV9uYW1lKG5hbWUpCit7CisgICAg
c2V0Q29udGFpbmVyU2l6ZShzaXplKTsKK30KKwordm9pZCBOYW1lZEltYWdlR2VuZXJhdGVkSW1h
Z2U6OmRyYXcoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBGbG9hdFJlY3QmIGRzdFJl
Y3QsIGNvbnN0IEZsb2F0UmVjdCYgc3JjUmVjdCwgQ29sb3JTcGFjZSwgQ29tcG9zaXRlT3BlcmF0
b3IgY29tcG9zaXRlT3AsIEJsZW5kTW9kZSBibGVuZE1vZGUsIEltYWdlT3JpZW50YXRpb25EZXNj
cmlwdGlvbikKK3sKKyAgICBHcmFwaGljc0NvbnRleHRTdGF0ZVNhdmVyIHN0YXRlU2F2ZXIoKmNv
bnRleHQpOworICAgIGNvbnRleHQtPnNldENvbXBvc2l0ZU9wZXJhdGlvbihjb21wb3NpdGVPcCwg
YmxlbmRNb2RlKTsKKyAgICBjb250ZXh0LT5jbGlwKGRzdFJlY3QpOworICAgIGNvbnRleHQtPnRy
YW5zbGF0ZShkc3RSZWN0LngoKSwgZHN0UmVjdC55KCkpOworICAgIGlmIChkc3RSZWN0LnNpemUo
KSAhPSBzcmNSZWN0LnNpemUoKSkKKyAgICAgICAgY29udGV4dC0+c2NhbGUoRmxvYXRTaXplKGRz
dFJlY3Qud2lkdGgoKSAvIHNyY1JlY3Qud2lkdGgoKSwgZHN0UmVjdC5oZWlnaHQoKSAvIHNyY1Jl
Y3QuaGVpZ2h0KCkpKTsKKyAgICBjb250ZXh0LT50cmFuc2xhdGUoLXNyY1JlY3QueCgpLCAtc3Jj
UmVjdC55KCkpOworCisgICAgcGxhdGZvcm1UaGVtZSgpLT5kcmF3TmFtZWRJbWFnZShtX25hbWUs
IGNvbnRleHQsIGRzdFJlY3QpOworfQorCit2b2lkIE5hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZTo6
ZHJhd1BhdHRlcm4oR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBGbG9hdFJlY3QmIHNy
Y1JlY3QsIGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgcGF0dGVyblRyYW5zZm9ybSwgY29uc3QgRmxv
YXRQb2ludCYgcGhhc2UsIENvbG9yU3BhY2Ugc3R5bGVDb2xvclNwYWNlLCBDb21wb3NpdGVPcGVy
YXRvciBjb21wb3NpdGVPcCwgY29uc3QgRmxvYXRSZWN0JiBkc3RSZWN0LCBCbGVuZE1vZGUgYmxl
bmRNb2RlKQoreworICAgIHN0ZDo6dW5pcXVlX3B0cjxJbWFnZUJ1ZmZlcj4gaW1hZ2VCdWZmZXIg
PSBJbWFnZUJ1ZmZlcjo6Y3JlYXRlKHNpemUoKSwgMSwgQ29sb3JTcGFjZURldmljZVJHQiwgY29u
dGV4dC0+aXNBY2NlbGVyYXRlZENvbnRleHQoKSA/IEFjY2VsZXJhdGVkIDogVW5hY2NlbGVyYXRl
ZCk7CisgICAgaWYgKCFpbWFnZUJ1ZmZlcikKKyAgICAgICAgcmV0dXJuOworCisgICAgR3JhcGhp
Y3NDb250ZXh0KiBncmFwaGljc0NvbnRleHQgPSBpbWFnZUJ1ZmZlci0+Y29udGV4dCgpOworICAg
IHBsYXRmb3JtVGhlbWUoKS0+ZHJhd05hbWVkSW1hZ2UobV9uYW1lLCBncmFwaGljc0NvbnRleHQs
IEZsb2F0UmVjdCgwLCAwLCBzaXplKCkud2lkdGgoKSwgc2l6ZSgpLmhlaWdodCgpKSk7CisKKyAg
ICAvLyBUaWxlIHRoZSBpbWFnZSBidWZmZXIgaW50byB0aGUgY29udGV4dC4KKyAgICBpbWFnZUJ1
ZmZlci0+ZHJhd1BhdHRlcm4oY29udGV4dCwgc3JjUmVjdCwgcGF0dGVyblRyYW5zZm9ybSwgcGhh
c2UsIHN0eWxlQ29sb3JTcGFjZSwgY29tcG9zaXRlT3AsIGRzdFJlY3QsIGJsZW5kTW9kZSk7Cit9
CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL05hbWVk
SW1hZ2VHZW5lcmF0ZWRJbWFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
TmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDE3NzhlYjlmOWIxYzRhYjJl
Y2MxNjQ0YzMwMjQ3MTViMzJiMTJhNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL05hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZS5oCkBAIC0wLDAgKzEs
NTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IK
KyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZu
ZGVmIE5hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZV9oCisjZGVmaW5lIE5hbWVkSW1hZ2VHZW5lcmF0
ZWRJbWFnZV9oCisKKyNpbmNsdWRlICJGbG9hdFNpemUuaCIKKyNpbmNsdWRlICJHZW5lcmF0ZWRJ
bWFnZS5oIgorI2luY2x1ZGUgIkltYWdlLmgiCisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE5hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZSBmaW5h
bCA6IHB1YmxpYyBHZW5lcmF0ZWRJbWFnZSB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxOYW1l
ZEltYWdlR2VuZXJhdGVkSW1hZ2U+IGNyZWF0ZShTdHJpbmcgbmFtZSwgY29uc3QgRmxvYXRTaXpl
JiBzaXplKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTmFtZWRJbWFnZUdl
bmVyYXRlZEltYWdlKG5hbWUsIHNpemUpKTsKKyAgICB9CisKK3Byb3RlY3RlZDoKKyAgICB2aXJ0
dWFsIHZvaWQgZHJhdyhHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFJlY3QmIGRzdFJlY3Qs
IGNvbnN0IEZsb2F0UmVjdCYgc3JjUmVjdCwgQ29sb3JTcGFjZSBzdHlsZUNvbG9yU3BhY2UsIENv
bXBvc2l0ZU9wZXJhdG9yLCBCbGVuZE1vZGUsIEltYWdlT3JpZW50YXRpb25EZXNjcmlwdGlvbikg
b3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRyYXdQYXR0ZXJuKEdyYXBoaWNzQ29udGV4dCos
IGNvbnN0IEZsb2F0UmVjdCYgc3JjUmVjdCwgY29uc3QgQWZmaW5lVHJhbnNmb3JtJiBwYXR0ZXJu
VHJhbnNmb3JtLCBjb25zdCBGbG9hdFBvaW50JiBwaGFzZSwgQ29sb3JTcGFjZSBzdHlsZUNvbG9y
U3BhY2UsIENvbXBvc2l0ZU9wZXJhdG9yLCBjb25zdCBGbG9hdFJlY3QmIGRzdFJlY3QsIEJsZW5k
TW9kZSkgb3ZlcnJpZGU7CisKKyAgICBOYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2UoU3RyaW5nIG5h
bWUsIGNvbnN0IEZsb2F0U2l6ZSYpOworCitwcml2YXRlOgorICAgIFN0cmluZyBtX25hbWU7Cit9
OworCit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9z
L1RoZW1lSU9TLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvVGhlbWVJT1MuaAppbmRl
eCBmM2NjOWJhNzNkOTE1NjRjMDMwNmRmYzZiYTFjYTVkYjQxOTcyOTMzLi44ZDgwOWYyM2M1ZDBj
ZjczNDA2NDg3M2IyOWM0ODY4NjcwNTQ3M2E4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pb3MvVGhlbWVJT1MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mv
VGhlbWVJT1MuaApAQCAtMjYsMTEgKzI2LDExIEBACiAjaWZuZGVmIFRoZW1lSU9TX2gKICNkZWZp
bmUgVGhlbWVJT1NfaAogCi0jaW5jbHVkZSAiVGhlbWUuaCIKKyNpbmNsdWRlICJUaGVtZUNvY29h
LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgVGhlbWVJT1MgOiBwdWJsaWMgVGhl
bWUgeworY2xhc3MgVGhlbWVJT1MgOiBwdWJsaWMgVGhlbWVDb2NvYSB7CiBwdWJsaWM6CiAgICAg
VGhlbWVJT1MoKSB7IH0KICAgICB2aXJ0dWFsIH5UaGVtZUlPUygpIHsgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1RoZW1lTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tYWMvVGhlbWVNYWMuaAppbmRleCA5YWUxZWQxMTk0YWM0YjAyZDQ3ZWY3NzhhZTBj
YzI1ODk0YmVhZDZiLi44M2RiOGE4NWI1OGJiMDhiOTNlOGZhNjExYzZhMGRlZTNkMzNjODJlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvVGhlbWVNYWMuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvVGhlbWVNYWMuaApAQCAtMjYsNyArMjYsNyBAQAog
I2lmbmRlZiBUaGVtZU1hY19oCiAjZGVmaW5lIFRoZW1lTWFjX2gKIAotI2luY2x1ZGUgIlRoZW1l
LmgiCisjaW5jbHVkZSAiVGhlbWVDb2NvYS5oIgogCiBAaW50ZXJmYWNlIE5TRm9udChXZWJDb3Jl
VGhlbWUpCiAtIChOU1N0cmluZyopd2ViQ29yZUZhbWlseU5hbWU7CkBAIC0zNCw3ICszNCw3IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgVGhlbWVNYWMgOiBwdWJsaWMgVGhlbWUg
eworY2xhc3MgVGhlbWVNYWMgOiBwdWJsaWMgVGhlbWVDb2NvYSB7CiAgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgVGhlbWVNYWMoKSB7IH0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjNmYxZWFj
ODBmOGFkNTM2YmQ5NWI4MDVmMDM4ZmIzMzE2NTU1YTNlLi5kNjA0ZGE3ZWRjYTE2YjA2NDE0MTgy
ZDU0ZTUwNWRkNGUxYmUwYTQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTUtMDYtMTggIERl
YW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgorCisgICAgICAgIFByb3ZpZGUgYSB3YXkgZm9y
IHdlYiBkZXZlbG9wZXJzIHRvIGRyYXcgYSBUaGVtZS1zcGVjaWZpYyBXaXJlbGVzcyBQbGF5YmFj
ayBpY29uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NDYxMjMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzIxMTE5Mjg3PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3QgdGhlIG5ldyAtd2Via2l0LW5h
bWVkLWltYWdlIENTUyBnZW5lcmF0b3IuIE9ubHkgIndpcmVsZXNzLXBsYXliYWNrIgorICAgICAg
ICBpcyBzdXBwb3J0ZWQgZm9yIG5vdywgYW5kIGhhcyBwbGF0Zm9ybS1zcGVjaWZpYyByZXN1bHRz
IGZvciBDb2NvYS4KKworICAgICAgICAqIGZhc3QvY3NzL25hbWVkLWltYWdlcy1leHBlY3RlZC5w
bmc6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzL25hbWVkLWltYWdlcy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9jc3MvbmFtZWQtaW1hZ2VzLWV4cGVjdGVkLnBu
ZzogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL25hbWVkLWltYWdlcy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorCiAyMDE1LTA2LTEzICBDaHJpcyBGbGVpemFjaCAgPGNmbGVp
emFjaEBhcHBsZS5jb20+CiAKICAgICAgICAgQVg6IFdlYktpdCBleHBvc2VzIGFsbCBSdWJ5IFRl
eHQgYXMgVW5rbm93biAoSmFwYW5lc2UgRVBVQiBhY2Nlc3NpYmlsaXR5IGJsb2NrZXIpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255145</attachid>
            <date>2015-06-18 15:45:13 -0700</date>
            <delta_ts>2015-06-18 16:53:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146123-20150619084434.patch</filename>
            <type>text/plain</type>
            <size>49928</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1NTU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGM1NDhhNGQwOTNjMGRj
ZWE3N2U2NGU4NmJjODY5YzEwNjI4MWQzMi4uMGU3NmZjY2U4ZTE0MzI5ZjMwOWE3MzNiMGJhYWJi
YTE3M2JmNmY5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc0IEBACisyMDE1LTA2LTE4ICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBQcm92aWRlIGEgd2F5IGZvciB3
ZWIgZGV2ZWxvcGVycyB0byBkcmF3IGEgVGhlbWUtc3BlY2lmaWMgV2lyZWxlc3MgUGxheWJhY2sg
aWNvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ2
MTIzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMTExOTI4Nz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgYSAtd2Via2l0LW5hbWVk
LWltYWdlKCkgQ1NTIDxpbWFnZT4gZ2VuZXJhdG9yIHRoYXQgYWxsb3dzIGEgc2l0ZSB0bworICAg
ICAgICByZXF1ZXN0IGFydHdvcmsgYnkgbmFtZSBhbmQgZ2V0IHRoZSBwbGF0Zm9ybSB2YXJpYW50
LiBBdCB0aGUgbW9tZW50CisgICAgICAgIHdlIG9ubHkgc3VwcG9ydCAid2lyZWxlc3MtcGxheWJh
Y2siIHdoaWNoIHJldHVybnMgYSBnZW5lcmljIGltYWdlIGV2ZXJ5d2hlcmUKKyAgICAgICAgYnV0
IENvY29hIHBsYXRmb3Jtcywgd2hlcmUgd2UgcmVuZGVyIHRoZSBBaXJQbGF5IGljb24uCisKKyAg
ICAgICAgSW4gb3JkZXIgdG8gZG8gdGhpcyBJIGFkZGVkIGEgVGhlbWVDb2NvYSB0byBzaGFyZSBh
bnkgVGhlbWUgY29kZSBiZXR3ZWVuCisgICAgICAgIE1hYyBhbmQgaU9TLgorCisgICAgICAgIFRl
c3Q6IGZhc3QvY3NzL25hbWVkLWljb25zLmh0bWwKKworICAgICAgICAqIFdlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajogQWRkIG5ldyBmaWxlcyBDU1NOYW1lZEltYWdlVmFsdWUsIE5h
bWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZSBhbmQgVGhlbWVDb2NvYS4KKworICAgICAgICAqIGNzcy9D
U1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcDogSGFuZGxlIHRoZSBuZXcgTmFtZWRJbWFnZUNsYXNz
IGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50cyBmb3IgZG93bmNhc3RpbmcuCisgICAgICAgIChXZWJD
b3JlOjpDU1NJbWFnZUdlbmVyYXRvclZhbHVlOjppbWFnZSk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NJbWFnZUdlbmVyYXRvclZhbHVlOjppc0ZpeGVkU2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NJbWFnZUdlbmVyYXRvclZhbHVlOjppc1BlbmRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
SW1hZ2VHZW5lcmF0b3JWYWx1ZTo6a25vd25Ub0JlT3BhcXVlKToKKworICAgICAgICAqIGNzcy9D
U1NOYW1lZEltYWdlVmFsdWUuY3BwOiBOZXcgY2xhc3MuIEp1c3QgaG9sZHMgYSBuYW1lIFN0cmlu
Zy4KKyAgICAgICAgKFdlYkNvcmU6OkNTU05hbWVkSW1hZ2VWYWx1ZTo6Y3VzdG9tQ1NTVGV4dCk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NOYW1lZEltYWdlVmFsdWU6OmltYWdlKToKKyAgICAgICAg
KFdlYkNvcmU6OkNTU05hbWVkSW1hZ2VWYWx1ZTo6ZXF1YWxzKToKKyAgICAgICAgKiBjc3MvQ1NT
TmFtZWRJbWFnZVZhbHVlLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NOYW1lZEltYWdlVmFsdWU6
OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NOYW1lZEltYWdlVmFsdWU6OmlzRml4ZWRT
aXplKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU05hbWVkSW1hZ2VWYWx1ZTo6aXNQZW5kaW5nKToK
KyAgICAgICAgKFdlYkNvcmU6OkNTU05hbWVkSW1hZ2VWYWx1ZTo6Q1NTTmFtZWRJbWFnZVZhbHVl
KToKKworICAgICAgICAqIGNzcy9DU1NQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
UGFyc2VyOjppc0dlbmVyYXRlZEltYWdlVmFsdWUpOiBBbGxvdyAiLXdlYmtpdC1uYW1lZC1pbWFn
ZSgiLgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUdlbmVyYXRlZEltYWdlKTog
Q2FsbCBwYXJzZU5hbWVkSW1hZ2UgaWYgd2UgaGl0IG5hbWVkLWljb24uCisgICAgICAgIChXZWJD
b3JlOjpDU1NQYXJzZXI6OnBhcnNlTmFtZWRJbWFnZSk6IFBhcnNlIHRoZSBmdW5jdGlvbiBsb29r
aW5nIGZvciBhIENTUyBpZGVudC4KKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmg6CisKKyAgICAg
ICAgKiBjc3MvQ1NTVmFsdWUuY3BwOiBIYW5kbGUgTmFtZWRJbWFnZUNsYXNzIGluIHRoZSB2YXJp
b3VzIHN3aXRjaCBzdGF0ZW1lbnRzLgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmVxdWFs
cyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6Y3NzVGV4dCk6CisgICAgICAgIChXZWJD
b3JlOjpDU1NWYWx1ZTo6ZGVzdHJveSk6CisgICAgICAgICogY3NzL0NTU1ZhbHVlLmg6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6aXNOYW1lZEltYWdlVmFsdWUpOiBIZWxwZXIgdG8gZGV0
ZWN0IHRoZSBjb3JyZWN0IENTU1ZhbHVlIHN1YmNsYXNzLgorCisgICAgICAgICogcGxhdGZvcm0v
VGhlbWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGhlbWU6OmRyYXdOYW1lZEltYWdlKTogRHJh
dyBhIGdlbmVyaWMgd2lyZWxlc3MgcGxheWJhY2sgaWNvbi4KKyAgICAgICAgKiBwbGF0Zm9ybS9U
aGVtZS5oOiBBZGQgZHJhd05hbWVkSW1hZ2UuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9U
aGVtZUNvY29hLmNwcDogTmV3IHNoYXJlZCBiYXNlIGNsYXNzIGZvciBUaGVtZU1hYyBhbmQgVGhl
bWVJT1MuCisgICAgICAgIChXZWJDb3JlOjpmaXRDb250ZXh0VG9Cb3gpOgorICAgICAgICAoV2Vi
Q29yZTo6VGhlbWVDb2NvYTo6ZHJhd05hbWVkSW1hZ2UpOiBEcmF3IGFuIEFpclBsYXkgaWNvbiBm
b3Igd2lyZWxlc3MgcGxheWJhY2suCisgICAgICAgICogcGxhdGZvcm0vY29jb2EvVGhlbWVDb2Nv
YS5oOgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQ3Jvc3NmYWRlR2VuZXJhdGVkSW1h
Z2UuaDogRHJpdmUtYnkgcmVtb3ZhbCBvZiB1bm5lY2Vzc2FyeSBmb3J3YXJkIGNsYXNzIGRlZmlu
aXRpb24uCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oOiBBZGQg
TmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlIGFzIGEgZnJpZW5kIGNsYXNzLgorCisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlLmNwcDogTmV3IGNsYXNz
LiBDYWxscyBpbnRvIHRoZSBUaGVtZSB0byByZW5kZXIgdGhlIGFydHdvcmsuCisgICAgICAgIChX
ZWJDb3JlOjpOYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2U6Ok5hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFn
ZSk6CisgICAgICAgIChXZWJDb3JlOjpOYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2U6OmRyYXcpOgor
ICAgICAgICAoV2ViQ29yZTo6TmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlOjpkcmF3UGF0dGVybik6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlLmg6
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvVGhlbWVJT1MuaDogSW5oZXJpdCBmcm9tIFRoZW1l
Q29jb2EuCisgICAgICAgICogcGxhdGZvcm0vbWFjL1RoZW1lTWFjLmg6IERpdHRvLgorCiAyMDE1
LTA2LTE1ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgW0NvbnRlbnQgRXh0ZW5zaW9uc10gTGltaXQgbnVtYmVyIG9mIHJ1bGVzLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDAw
NTg3ODY2MDE2M2UxMDA3NjM5ZDdlMzRkNTFjMmI1N2I4NGViMWUuLjUxNzNhMmU1NmRkNWQyMjlk
NzA4Mjg1ZDRlNTgwYzRhNDQwMGMwNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEyMjMsNiArMTIyMyw4IEBACiAJCTMxMDc4
Q0M4MTg4MEFBQkIwMDgwOTlEQyAvKiBPRVNUZXh0dXJlSGFsZkZsb2F0TGluZWFyLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTA3OENDMzE4ODBBNkE2
MDA4MDk5REMgLyogT0VTVGV4dHVyZUhhbGZGbG9hdExpbmVhci5oICovOyB9OwogCQkzMTA3OEND
OTE4ODBBQUM5MDA4MDk5REMgLyogSlNPRVNUZXh0dXJlSGFsZkZsb2F0TGluZWFyLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxMDc4Q0M1MTg4MEFB
QUEwMDgwOTlEQyAvKiBKU09FU1RleHR1cmVIYWxmRmxvYXRMaW5lYXIuY3BwICovOyB9OwogCQkz
MTA3OENDQTE4ODBBQUNFMDA4MDk5REMgLyogSlNPRVNUZXh0dXJlSGFsZkZsb2F0TGluZWFyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTA3OENDNjE4
ODBBQUFBMDA4MDk5REMgLyogSlNPRVNUZXh0dXJlSGFsZkZsb2F0TGluZWFyLmggKi87IH07CisJ
CTMxMEQ3MTk1MUIzMzVDOUQwMDlDN0I3MyAvKiBUaGVtZUNvY29hLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxMEQ3MTkzMUIzMzVDOUQwMDlDN0I3
MyAvKiBUaGVtZUNvY29hLmNwcCAqLzsgfTsKKwkJMzEwRDcxOTYxQjMzNUM5RTAwOUM3QjczIC8q
IFRoZW1lQ29jb2EuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDMxMEQ3MTk0MUIzMzVDOUQwMDlDN0I3MyAvKiBUaGVtZUNvY29hLmggKi87IH07CiAJCTMx
MUMwOEJEMThFQjdDQUYwMEI2NTYxNSAvKiBtZWRpYUNvbnRyb2xzQXBwbGUuY3NzIGluIFJlc291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREMxREQ0MTE3Q0MyQzQ4
MDA4Q0I1NUQgLyogbWVkaWFDb250cm9sc0FwcGxlLmNzcyAqLzsgfTsKIAkJMzExQzA4QkUxOEVC
N0NBRjAwQjY1NjE1IC8qIG1lZGlhQ29udHJvbHNBcHBsZS5qcyBpbiBSZXNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RFNjU2MEUxN0NBNkU3NjAwNTI2QkE3IC8q
IG1lZGlhQ29udHJvbHNBcHBsZS5qcyAqLzsgfTsKIAkJMzExQzA4QkYxOEVCN0NBRjAwQjY1NjE1
IC8qIG1lZGlhQ29udHJvbHNpT1MuY3NzIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBDREFBRjQ1RDE4NjkwOTRFMDAzQzE3MTcgLyogbWVkaWFDb250cm9s
c2lPUy5jc3MgKi87IH07CkBAIC0xMjQ1LDYgKzEyNDcsMTAgQEAKIAkJMzE0NkZFNkYxODQ0MjBB
QTAwMUE5MzdDIC8qIE9FU1RleHR1cmVGbG9hdExpbmVhci5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTQ2RkU2NTE4NDQyMDg3MDAxQTkzN0MgLyog
T0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcCAqLzsgfTsKIAkJMzE0NkZFNzQxODQ0MjM3MDAwMUE5
MzdDIC8qIEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxNDZGRTcwMTg0NDIzNjcwMDFBOTM3QyAvKiBKU09F
U1RleHR1cmVGbG9hdExpbmVhci5jcHAgKi87IH07CiAJCTMxNDZGRTc1MTg0NDIzNzAwMDFBOTM3
QyAvKiBKU09FU1RleHR1cmVGbG9hdExpbmVhci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMzE0NkZFNzExODQ0MjM2NzAwMUE5MzdDIC8qIEpTT0VTVGV4
dHVyZUZsb2F0TGluZWFyLmggKi87IH07CisJCTMxNEJFM0ExMUIzMEY2QjcwMDE0MTk4MiAvKiBD
U1NOYW1lZEltYWdlVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDMxNEJFM0EwMUIzMEY2QjcwMDE0MTk4MiAvKiBDU1NOYW1lZEltYWdlVmFsdWUu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkzMTRC
RTNBMzFCMzBGNkQxMDAxNDE5ODIgLyogQ1NTTmFtZWRJbWFnZVZhbHVlLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxNEJFM0EyMUIzMEY2RDEwMDE0
MTk4MiAvKiBDU1NOYW1lZEltYWdlVmFsdWUuY3BwICovOyB9OworCQkzMTRCRTNBNjFCMzEwM0ZC
MDAxNDE5ODIgLyogTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxNEJFM0E0MUIzMTAzRkIwMDE0MTk4MiAv
KiBOYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2UuY3BwICovOyB9OworCQkzMTRCRTNBNzFCMzEwM0ZC
MDAxNDE5ODIgLyogTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTRCRTNBNTFCMzEwM0ZCMDAxNDE5ODIgLyog
TmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlLmggKi87IH07CiAJCTMxNjAyM0YwMTUzMkM0MEMwMEQ1
MEZGNCAvKiBEaWN0aW9uYXJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAzMTYwMjNFRjE1MzJDNDBDMDBENTBGRjQgLyogRGljdGlvbmFyeS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTMxNjExRTVBMEUx
QzRERTAwMEY2QTU3OSAvKiBKU1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxNjExRTU4MEUxQzRERTAwMEY2
QTU3OSAvKiBKU1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcCAqLzsgfTsKIAkJMzE2MTFFNUIw
RTFDNERFMDAwRjZBNTc5IC8qIEpTV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxNjExRTU5MEUxQzRERTAwMEY2
QTU3OSAvKiBKU1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmggKi87IH07CkBAIC04MzgxLDYgKzgz
ODcsOCBAQAogCQkzMTA3OENDNDE4ODBBNkE2MDA4MDk5REMgLyogT0VTVGV4dHVyZUhhbGZGbG9h
dExpbmVhci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gT0VTVGV4dHVyZUhhbGZGbG9hdExp
bmVhci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxMDc4Q0M1MTg4MEFBQUEw
MDgwOTlEQyAvKiBKU09FU1RleHR1cmVIYWxmRmxvYXRMaW5lYXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNPRVNUZXh0dXJlSGFsZkZsb2F0TGluZWFyLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzEwNzhDQzYxODgwQUFBQTAwODA5OURDIC8q
IEpTT0VTVGV4dHVyZUhhbGZGbG9hdExpbmVhci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBKU09FU1RleHR1cmVIYWxmRmxvYXRMaW5lYXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMzEwRDcxOTMxQjMzNUM5RDAwOUM3QjczIC8qIFRoZW1lQ29jb2EuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVGhlbWVDb2NvYS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxMEQ3MTk0MUIzMzVDOUQwMDlDN0I3MyAvKiBUaGVt
ZUNvY29hLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRoZW1lQ29jb2EuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzExQzA4QkMxOEUzNUQ2ODAwQjY1NjE1IC8q
IENvbnRyb2xTdGF0ZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29udHJv
bFN0YXRlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMTI4OEU2RTBFMzAwNUQ2
MDAzNjE5QUUgLyogQ1NTS2V5ZnJhbWVSdWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IENTU0tleWZyYW1lUnVsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTMxMjg4RTZGMEUzMDA1RDYwMDM2MTlBRSAvKiBDU1NLZXlmcmFtZVJ1bGUuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTS2V5ZnJhbWVSdWxlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC04NDAwLDYgKzg0MDgsMTAgQEAKIAkJMzE0NkZFNjcxODQ0
MjA4NzAwMUE5MzdDIC8qIE9FU1RleHR1cmVGbG9hdExpbmVhci5pZGwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBwYXRoID0gT0VTVGV4dHVyZUZsb2F0TGluZWFyLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMzE0NkZFNzAxODQ0MjM2NzAwMUE5MzdDIC8qIEpTT0VTVGV4dHVyZUZsb2F0TGlu
ZWFyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTT0VTVGV4dHVy
ZUZsb2F0TGluZWFyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzE0NkZFNzEx
ODQ0MjM2NzAwMUE5MzdDIC8qIEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxNEJFM0EwMUIzMEY2QjcwMDE0MTk4MiAvKiBDU1NOYW1l
ZEltYWdlVmFsdWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBsaW5lRW5kaW5nID0gMDsg
cGF0aCA9IENTU05hbWVkSW1hZ2VWYWx1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB4Y0xh
bmd1YWdlU3BlY2lmaWNhdGlvbklkZW50aWZpZXIgPSB4Y29kZS5sYW5nLm9iamNwcDsgfTsKKwkJ
MzE0QkUzQTIxQjMwRjZEMTAwMTQxOTgyIC8qIENTU05hbWVkSW1hZ2VWYWx1ZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IGxpbmVFbmRpbmcgPSAwOyBwYXRoID0gQ1NTTmFtZWRJ
bWFnZVZhbHVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFnZVNwZWNpZmlj
YXRpb25JZGVudGlmaWVyID0geGNvZGUubGFuZy5jcHA7IH07CisJCTMxNEJFM0E0MUIzMTAzRkIw
MDE0MTk4MiAvKiBOYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2UuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzE0QkUzQTUxQjMxMDNGQjAwMTQxOTgyIC8qIE5hbWVk
SW1hZ2VHZW5lcmF0ZWRJbWFnZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBO
YW1lZEltYWdlR2VuZXJhdGVkSW1hZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MzE2MDIzRUYxNTMyQzQwQzAwRDUwRkY0IC8qIERpY3Rpb25hcnkuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gRGljdGlvbmFyeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkzMTYxMUU1NDBFMUM0RDRBMDBGNkE1NzkgLyogV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUu
aWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYktpdENTU1RyYW5zZm9ybVZhbHVlLmlkbDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzE2MTFFNTgwRTFDNERFMDAwRjZBNTc5IC8q
IEpTV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSlNXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC0xMjcwOSw3ICsxMjcyMSw3IEBACiAJCUJDMjI3NDc2MEU4MzY2RTIw
MEU3Rjk3NSAvKiBTVkdSZW5kZXJTdHlsZURlZnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gU1ZHUmVuZGVyU3R5bGVEZWZzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQkMyMjc0NzcwRTgzNjZFMjAwRTdGOTc1IC8qIFNWR1JlbmRlclN0eWxlRGVm
cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdSZW5kZXJTdHlsZURlZnMu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkMyM0U0RTAwREFBQ0UwRjAwOUZEQzkx
IC8qIENTU0dyYWRpZW50VmFsdWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gQ1NTR3JhZGllbnRWYWx1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CUJDMjNFNzZCMERBRTg4QTkwMDlGREM5MSAvKiBDU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU0ltYWdlR2VuZXJhdG9yVmFs
dWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCQzIzRTc2QjBEQUU4OEE5MDA5
RkRDOTEgLyogQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IGxpbmVFbmRpbmcgPSAwOyBwYXRoID0gQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRp
ZmllciA9IHhjb2RlLmxhbmcuY3BwOyB9OwogCQlCQzIzRUU5MTBEQUVEMkJDMDA5RkRDOTEgLyog
Q1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBDU1NJbWFnZUdlbmVyYXRvclZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUJDMjNGMERBMERBRkY0QTQwMDlGREM5MSAvKiBHZW5lcmF0ZWRJbWFnZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBHZW5lcmF0ZWRJbWFnZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlCQzI0NDFDMzBFOEI2NUQwMDA1NTMyMEYgLyogU2Nyb2xsVmlldy5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JvbGxWaWV3LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE4OTkxLDYgKzE5MDAzLDggQEAKIAkJCQk1RDU5
NzVCMTE5NjM1RjExMDBEMDA4NzggLyogU3lzdGVtVmVyc2lvbi5oICovLAogCQkJCTVENTk3NUIy
MTk2MzVGMTEwMEQwMDg3OCAvKiBTeXN0ZW1WZXJzaW9uLm1tICovLAogCQkJCTdDQzU2NEI5MThC
QUM3MjAwMDFCOTY1MiAvKiBUZWxlcGhvbmVOdW1iZXJEZXRlY3RvckNvY29hLmNwcCAqLywKKwkJ
CQkzMTBENzE5MzFCMzM1QzlEMDA5QzdCNzMgLyogVGhlbWVDb2NvYS5jcHAgKi8sCisJCQkJMzEw
RDcxOTQxQjMzNUM5RDAwOUM3QjczIC8qIFRoZW1lQ29jb2EuaCAqLywKIAkJCQk0NkRCN0Q1NjFC
MjBGRTNDMDA1NjUxQjIgLyogVk5vZGVUcmFja2VyQ29jb2EuY3BwICovLAogCQkJKTsKIAkJCXBh
dGggPSBjb2NvYTsKQEAgLTIwOTUzLDYgKzIwOTY3LDggQEAKIAkJCQkwNzlGNUU0QjBGM0JFQkVB
MDA1RTA3ODIgLyogTWVkaWFQbGF5ZXJQcml2YXRlLmggKi8sCiAJCQkJQ0Q2NDFFQjExODE4RjVF
RDAwRUU0QzQxIC8qIE1lZGlhU291cmNlUHJpdmF0ZS5oICovLAogCQkJCUNEREMxRTc5MThBOTUy
RjMwMDI3QTlENCAvKiBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQuaCAqLywKKwkJCQkzMTRCRTNB
NDFCMzEwM0ZCMDAxNDE5ODIgLyogTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlLmNwcCAqLywKKwkJ
CQkzMTRCRTNBNTFCMzEwM0ZCMDAxNDE5ODIgLyogTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlLmgg
Ki8sCiAJCQkJNkIzNDgwOTIwRUVGNTBENDAwQUMxQjQxIC8qIE5hdGl2ZUltYWdlUHRyLmggKi8s
CiAJCQkJQjI3NTM1NTIwQjA1MzgxNDAwMkNFNjRGIC8qIFBhdGguY3BwICovLAogCQkJCUIyNzUz
NTUzMEIwNTM4MTQwMDJDRTY0RiAvKiBQYXRoLmggKi8sCkBAIC0yMjQ5Myw2ICsyMjUwOSw4IEBA
CiAJCQkJQTgwRTZDRDIwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU01lZGlhUnVsZS5jcHAgKi8sCiAJ
CQkJQTgwRTZDRDkwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU01lZGlhUnVsZS5oICovLAogCQkJCTg1
QzU2Q0EyMEFBODlDMTAwMEQ5NTc1NSAvKiBDU1NNZWRpYVJ1bGUuaWRsICovLAorCQkJCTMxNEJF
M0EwMUIzMEY2QjcwMDE0MTk4MiAvKiBDU1NOYW1lZEltYWdlVmFsdWUuaCAqLywKKwkJCQkzMTRC
RTNBMjFCMzBGNkQxMDAxNDE5ODIgLyogQ1NTTmFtZWRJbWFnZVZhbHVlLmNwcCAqLywKIAkJCQlG
OThGRkY0MjExQTI2NzYyMDBGNTQ4RTggLyogQ1NTT01VdGlscy5jcHAgKi8sCiAJCQkJRjk4RkZG
NDMxMUEyNjc2MjAwRjU0OEU4IC8qIENTU09NVXRpbHMuaCAqLywKIAkJCQlBODBFNkNDQjBBMTk4
OUNBMDA3RkI4QzUgLyogQ1NTUGFnZVJ1bGUuY3BwICovLApAQCAtMjQxMjAsNiArMjQxMzgsNyBA
QAogCQkJCUUxQkQzMzFDMTgyRDhFRTkwMEMwNUQ5RiAvKiBDcnlwdG9BbGdvcml0aG1Sc2FTc2FQ
YXJhbXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxMjVGODJDMTgyMkNGRUMwMEQ4NENEOSAvKiBD
cnlwdG9BbGdvcml0aG1TSEExLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTlBQzNFRjE4MjREQzc5
MDAzNDk0MjYgLyogQ3J5cHRvQWxnb3JpdGhtU0hBMjI0LmggaW4gSGVhZGVycyAqLywKKwkJCQkz
MTRCRTNBMTFCMzBGNkI3MDAxNDE5ODIgLyogQ1NTTmFtZWRJbWFnZVZhbHVlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlFMTlBQzNGMTE4MjREQzc5MDAzNDk0MjYgLyogQ3J5cHRvQWxnb3JpdGhtU0hB
MjU2LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTlBQzNGMzE4MjREQzc5MDAzNDk0MjYgLyogQ3J5
cHRvQWxnb3JpdGhtU0hBMzg0LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTlBQzNGNTE4MjREQzc5
MDAzNDk0MjYgLyogQ3J5cHRvQWxnb3JpdGhtU0hBNTEyLmggaW4gSGVhZGVycyAqLywKQEAgLTI1
MzU2LDYgKzI1Mzc1LDcgQEAKIAkJCQlFNDQ2MTQzQTBDRDY4OUM4MDBGQURBNzUgLyogSlNIVE1M
TWVkaWFFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUUyQUU1QzBBMUQyNkYyMDBCNDJC
MjUgLyogSlNIVE1MTWVudUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4MEU3QTE4MEEx
OUMzRDYwMDdGQjhDNSAvKiBKU0hUTUxNZXRhRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
MzE0QkUzQTcxQjMxMDNGQjAwMTQxOTgyIC8qIE5hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQTdCQkUyNjcxMUFGQjNGMjAwMDVFQTAzIC8qIEpTSFRNTE1ldGVy
RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFFMkFCMkEwQTFDRTYzQjAwQjQyQjI1IC8q
IEpTSFRNTE1vZEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMzA1QzdBMEMwNzZCQjMw
MENEMjBGMCAvKiBKU0hUTUxPYmplY3RFbGVtZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTI2Nzcw
LDYgKzI2NzkwLDcgQEAKIAkJCQlCMjU1OTlBNDBEMDBEOEJBMDBCQjgyNUMgLyogU1ZHSW1hZ2Uu
aCBpbiBIZWFkZXJzICovLAogCQkJCTA4Rjg1OUQ1MTQ2M0Y5Q0QwMDY3RDkzMyAvKiBTVkdJbWFn
ZUNhY2hlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyN0EyRDBEMDBCRjIyMDA3MUI3ODIgLyog
U1ZHSW1hZ2VFbGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQkzMTBENzE5NjFCMzM1QzlFMDA5
QzdCNzMgLyogVGhlbWVDb2NvYS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDhGODU5RDUxNDYzRjlD
RDAwNjdEOTM0IC8qIFNWR0ltYWdlRm9yQ29udGFpbmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlC
MjhDNkEyQTBEMDBDNDQ4MDAzMzRBQTQgLyogU1ZHSW1hZ2VMb2FkZXIuaCBpbiBIZWFkZXJzICov
LAogCQkJCTA4NTRCMDFGMTI1NUU0RTYwMEI5Q0REMCAvKiBTVkdJbmxpbmVGbG93Qm94LmggaW4g
SGVhZGVycyAqLywKQEAgLTI4NDcwLDYgKzI4NDkxLDcgQEAKIAkJCQlBODEzNjlDRDA5NzM3NEY2
MDBENzQ0NjMgLyogSFRNTElucHV0RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5MzMw
OURFNTA5OUU2NDkyMDA1NkU1ODEgLyogSFRNTEludGVyY2hhbmdlLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUE4MTM2OUU1MDk3Mzc0RjYwMEQ3NDQ2MyAvKiBIVE1MS2V5Z2VuRWxlbWVudC5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQkzMTRCRTNBNjFCMzEwM0ZCMDAxNDE5ODIgLyogTmFtZWRJbWFn
ZUdlbmVyYXRlZEltYWdlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4MTM2OUUzMDk3Mzc0RjYw
MEQ3NDQ2MyAvKiBIVE1MTGFiZWxFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4MTM2
OUUxMDk3Mzc0RjYwMEQ3NDQ2MyAvKiBIVE1MTGVnZW5kRWxlbWVudC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlBOEVBNzlGQzBBMTkxNkRGMDBBOEVGNUYgLyogSFRNTExJRWxlbWVudC5jcHAgaW4g
U291cmNlcyAqLywKQEAgLTI4NTEyLDYgKzI4NTM0LDcgQEAKIAkJCQk5NzhBRDY3NDE0MTMwQThE
MDBDN0NBRTMgLyogSFRNTFNwYW5FbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUzNkQ1
QTIxMTkzRTE4RUUwMENFNENBQiAvKiBIVE1MU3Jjc2V0UGFyc2VyLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUE4NzFEQzI2MEExNTIwNTcwMEIxMkE2OCAvKiBIVE1MU3R5bGVFbGVtZW50LmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTMxMEQ3MTk1MUIzMzVDOUQwMDlDN0I3MyAvKiBUaGVtZUNvY29h
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUQzRDRFOTcyMTMwQzdDRkUwMDdCQTU0MCAvKiBIVE1M
U3VtbWFyeUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTg3MURCMzIwQTE1MEJENjAw
QjEyQTY4IC8qIEhUTUxUYWJsZUNhcHRpb25FbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUE4NzFEQjJFMEExNTBCRDYwMEIxMkE2OCAvKiBIVE1MVGFibGVDZWxsRWxlbWVudC5jcHAgaW4g
U291cmNlcyAqLywKQEAgLTI5ODkyLDYgKzI5OTE1LDcgQEAKIAkJCQlCQ0VDMDFCRDBDMjc0REFD
MDA5RjRFQzkgLyogU2NyZWVuLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4NEQ4MkMyMTFEMzQ3
NDgwMDk3Mjk5MCAvKiBTY3JpcHRhYmxlRG9jdW1lbnRQYXJzZXIuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJNDFGMUQyMjAwRUYzNUMyQTAwREE4NzUzIC8qIFNjcmlwdENhY2hlZEZyYW1lRGF0YS5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQkzMTRCRTNBMzFCMzBGNkQxMDAxNDE5ODIgLyogQ1NTTmFt
ZWRJbWFnZVZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzQjcwRDZGMDlFQjBDN0MwMDlE
ODQ2OCAvKiBTY3JpcHRDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4M0UxQzc0
MEU0OTA0MkMwMDE0MEI5QyAvKiBTY3JpcHRDb250cm9sbGVyTWFjLm1tIGluIFNvdXJjZXMgKi8s
CiAJCQkJNDk5OEFFRDExM0ZCMjI0RDAwOTBCMUFBIC8qIFNjcmlwdGVkQW5pbWF0aW9uQ29udHJv
bGxlci5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZUdl
bmVyYXRvclZhbHVlLmNwcAppbmRleCAxN2QzZWViOWUyYmMxNGU2YmU3NTFjNDcyM2MzMjZiYTYz
YzBjY2JhLi5lYjQ4ODllZjZlMzI0NjU3NGZhN2ExMjBiZTNiMDg3YjVkNmJmNzJjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwCkBAIC0zMiw2ICsz
Miw3IEBACiAjaW5jbHVkZSAiQ1NTRmlsdGVySW1hZ2VWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0dy
YWRpZW50VmFsdWUuaCIKICNpbmNsdWRlICJDU1NJbWFnZVZhbHVlLmgiCisjaW5jbHVkZSAiQ1NT
TmFtZWRJbWFnZVZhbHVlLmgiCiAjaW5jbHVkZSAiR2VuZXJhdGVkSW1hZ2UuaCIKICNpbmNsdWRl
ICJSZW5kZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAiU3R5bGVDYWNoZWRJbWFnZS5oIgpAQCAtMTEw
LDYgKzExMSw4IEBAIFBhc3NSZWZQdHI8SW1hZ2U+IENTU0ltYWdlR2VuZXJhdG9yVmFsdWU6Omlt
YWdlKFJlbmRlckVsZW1lbnQqIHJlbmRlcmVyLCBjb25zdCBGCiAgICAgc3dpdGNoIChjbGFzc1R5
cGUoKSkgewogICAgIGNhc2UgQ2FudmFzQ2xhc3M6CiAgICAgICAgIHJldHVybiBkb3duY2FzdDxD
U1NDYW52YXNWYWx1ZT4oKnRoaXMpLmltYWdlKHJlbmRlcmVyLCBzaXplKTsKKyAgICBjYXNlIE5h
bWVkSW1hZ2VDbGFzczoKKyAgICAgICAgcmV0dXJuIGRvd25jYXN0PENTU05hbWVkSW1hZ2VWYWx1
ZT4oKnRoaXMpLmltYWdlKHJlbmRlcmVyLCBzaXplKTsKICAgICBjYXNlIENyb3NzZmFkZUNsYXNz
OgogICAgICAgICByZXR1cm4gZG93bmNhc3Q8Q1NTQ3Jvc3NmYWRlVmFsdWU+KCp0aGlzKS5pbWFn
ZShyZW5kZXJlciwgc2l6ZSk7CiAgICAgY2FzZSBGaWx0ZXJJbWFnZUNsYXNzOgpAQCAtMTI5LDYg
KzEzMiw4IEBAIGJvb2wgQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZTo6aXNGaXhlZFNpemUoKSBjb25z
dAogICAgIHN3aXRjaCAoY2xhc3NUeXBlKCkpIHsKICAgICBjYXNlIENhbnZhc0NsYXNzOgogICAg
ICAgICByZXR1cm4gZG93bmNhc3Q8Q1NTQ2FudmFzVmFsdWU+KCp0aGlzKS5pc0ZpeGVkU2l6ZSgp
OworICAgIGNhc2UgTmFtZWRJbWFnZUNsYXNzOgorICAgICAgICByZXR1cm4gZG93bmNhc3Q8Q1NT
TmFtZWRJbWFnZVZhbHVlPigqdGhpcykuaXNGaXhlZFNpemUoKTsKICAgICBjYXNlIENyb3NzZmFk
ZUNsYXNzOgogICAgICAgICByZXR1cm4gZG93bmNhc3Q8Q1NTQ3Jvc3NmYWRlVmFsdWU+KCp0aGlz
KS5pc0ZpeGVkU2l6ZSgpOwogICAgIGNhc2UgRmlsdGVySW1hZ2VDbGFzczoKQEAgLTE2OSw2ICsx
NzQsOCBAQCBib29sIENTU0ltYWdlR2VuZXJhdG9yVmFsdWU6OmlzUGVuZGluZygpIGNvbnN0CiAg
ICAgICAgIHJldHVybiBkb3duY2FzdDxDU1NDcm9zc2ZhZGVWYWx1ZT4oKnRoaXMpLmlzUGVuZGlu
ZygpOwogICAgIGNhc2UgQ2FudmFzQ2xhc3M6CiAgICAgICAgIHJldHVybiBkb3duY2FzdDxDU1ND
YW52YXNWYWx1ZT4oKnRoaXMpLmlzUGVuZGluZygpOworICAgIGNhc2UgTmFtZWRJbWFnZUNsYXNz
OgorICAgICAgICByZXR1cm4gZG93bmNhc3Q8Q1NTTmFtZWRJbWFnZVZhbHVlPigqdGhpcykuaXNQ
ZW5kaW5nKCk7CiAgICAgY2FzZSBGaWx0ZXJJbWFnZUNsYXNzOgogICAgICAgICByZXR1cm4gZG93
bmNhc3Q8Q1NTRmlsdGVySW1hZ2VWYWx1ZT4oKnRoaXMpLmlzUGVuZGluZygpOwogICAgIGNhc2Ug
TGluZWFyR3JhZGllbnRDbGFzczoKQEAgLTE4OCw2ICsxOTUsOCBAQCBib29sIENTU0ltYWdlR2Vu
ZXJhdG9yVmFsdWU6Omtub3duVG9CZU9wYXF1ZShjb25zdCBSZW5kZXJFbGVtZW50KiByZW5kZXJl
cikgY29ucwogICAgICAgICByZXR1cm4gZG93bmNhc3Q8Q1NTQ3Jvc3NmYWRlVmFsdWU+KCp0aGlz
KS5rbm93blRvQmVPcGFxdWUocmVuZGVyZXIpOwogICAgIGNhc2UgQ2FudmFzQ2xhc3M6CiAgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICBjYXNlIE5hbWVkSW1hZ2VDbGFzczoKKyAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgIGNhc2UgRmlsdGVySW1hZ2VDbGFzczoKICAgICAgICAgcmV0dXJuIGRv
d25jYXN0PENTU0ZpbHRlckltYWdlVmFsdWU+KCp0aGlzKS5rbm93blRvQmVPcGFxdWUocmVuZGVy
ZXIpOwogICAgIGNhc2UgTGluZWFyR3JhZGllbnRDbGFzczoKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NOYW1lZEltYWdlVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U05hbWVkSW1hZ2VWYWx1ZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWFkZDU0NmY1M2M3M2Y1ZDVmOGQzMTQ3
ZTFhNDc2N2FiYmNkYzRlYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NOYW1lZEltYWdlVmFsdWUuY3BwCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTUgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBB
TlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
ICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIkNTU05hbWVkSW1hZ2VWYWx1ZS5oIgorCisjaW5jbHVkZSAiSW1hZ2VCdWZmZXIuaCIKKyNp
bmNsdWRlICJOYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2UuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitTdHJpbmcgQ1NTTmFtZWRJbWFnZVZhbHVlOjpjdXN0b21DU1NUZXh0KCkgY29uc3QKK3sK
KyAgICByZXR1cm4gbWFrZVN0cmluZygiLXdlYmtpdC1uYW1lZC1pbWFnZSgiLCBtX25hbWUsICcp
Jyk7Cit9CisKK1Bhc3NSZWZQdHI8SW1hZ2U+IENTU05hbWVkSW1hZ2VWYWx1ZTo6aW1hZ2UoUmVu
ZGVyRWxlbWVudCosIGNvbnN0IEZsb2F0U2l6ZSYgc2l6ZSkKK3sKKyAgICBpZiAoc2l6ZS5pc0Vt
cHR5KCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgbV9nZW5lcmF0ZWRJbWFnZSA9
IE5hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZTo6Y3JlYXRlKG1fbmFtZSwgc2l6ZSk7CisKKyAgICBy
ZXR1cm4gbV9nZW5lcmF0ZWRJbWFnZS5yZWxlYXNlKCk7Cit9CisKK2Jvb2wgQ1NTTmFtZWRJbWFn
ZVZhbHVlOjplcXVhbHMoY29uc3QgQ1NTTmFtZWRJbWFnZVZhbHVlJiBvdGhlcikgY29uc3QKK3sK
KyAgICByZXR1cm4gbV9uYW1lID09IG90aGVyLm1fbmFtZTsKK30KKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU05hbWVkSW1hZ2VWYWx1
ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU05hbWVkSW1hZ2VWYWx1ZS5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5OTRmMzUzYTAwOTMyMzFjM2JkNWNhYWRkMDhhODBkZjMxNWM0N2MKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTmFtZWRJbWFnZVZhbHVlLmgKQEAgLTAsMCArMSw2
NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5k
ZWYgQ1NTTmFtZWRJbWFnZVZhbHVlX2gKKyNkZWZpbmUgQ1NTTmFtZWRJbWFnZVZhbHVlX2gKKwor
I2luY2x1ZGUgIkNTU0ltYWdlR2VuZXJhdG9yVmFsdWUuaCIKKworI2luY2x1ZGUgIkltYWdlLmgi
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRG9jdW1lbnQ7CisKK2NsYXNzIENTU05h
bWVkSW1hZ2VWYWx1ZSA6IHB1YmxpYyBDU1NJbWFnZUdlbmVyYXRvclZhbHVlIHsKK3B1YmxpYzoK
KyAgICBzdGF0aWMgUmVmPENTU05hbWVkSW1hZ2VWYWx1ZT4gY3JlYXRlKGNvbnN0IFN0cmluZyYg
bmFtZSkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBDU1NOYW1lZEltYWdlVmFsdWUobmFtZSkpOyB9
CisKKyAgICBTdHJpbmcgY3VzdG9tQ1NTVGV4dCgpIGNvbnN0OworCisgICAgYm9vbCBpc0ZpeGVk
U2l6ZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisgICAgYm9vbCBpc1BlbmRpbmcoKSBjb25z
dCB7IHJldHVybiBmYWxzZTsgfQorCisgICAgUGFzc1JlZlB0cjxJbWFnZT4gaW1hZ2UoUmVuZGVy
RWxlbWVudCosIGNvbnN0IEZsb2F0U2l6ZSYpOworCisgICAgYm9vbCBlcXVhbHMoY29uc3QgQ1NT
TmFtZWRJbWFnZVZhbHVlJikgY29uc3Q7CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgQ1NTTmFt
ZWRJbWFnZVZhbHVlKGNvbnN0IFN0cmluZyYgbmFtZSkKKyAgICAgICAgOiBDU1NJbWFnZUdlbmVy
YXRvclZhbHVlKE5hbWVkSW1hZ2VDbGFzcykKKyAgICAgICAgLCBtX25hbWUobmFtZSkKKyAgICB7
CisgICAgfQorCisgICAgU3RyaW5nIG1fbmFtZTsKKyAgICBSZWZQdHI8SW1hZ2U+IG1fZ2VuZXJh
dGVkSW1hZ2U7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK1NQRUNJQUxJWkVfVFlQ
RV9UUkFJVFNfQ1NTX1ZBTFVFKENTU05hbWVkSW1hZ2VWYWx1ZSwgaXNOYW1lZEltYWdlVmFsdWUo
KSkKKworI2VuZGlmIC8vIENTU05hbWVkSW1hZ2VWYWx1ZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIu
Y3BwCmluZGV4IGIyY2EwMzE3YTE1MjE2M2U5NzQyMDliNjk0OWIxOTE5NDFlNjBjOTQuLmU3MmUz
ZmIyYjcxNWZmNGY3ZjY5NDVkYTIzYmJjNTNlNDg3ZDEwNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJz
ZXIuY3BwCkBAIC01MCw2ICs1MCw3IEBACiAjaW5jbHVkZSAiQ1NTS2V5ZnJhbWVzUnVsZS5oIgog
I2luY2x1ZGUgIkNTU0xpbmVCb3hDb250YWluVmFsdWUuaCIKICNpbmNsdWRlICJDU1NNZWRpYVJ1
bGUuaCIKKyNpbmNsdWRlICJDU1NOYW1lZEltYWdlVmFsdWUuaCIKICNpbmNsdWRlICJDU1NQYWdl
UnVsZS5oIgogI2luY2x1ZGUgIkNTU1ByaW1pdGl2ZVZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTUHJp
bWl0aXZlVmFsdWVNYXBwaW5ncy5oIgpAQCAtOTE1Miw3ICs5MTUzLDggQEAgYm9vbCBDU1NQYXJz
ZXI6OmlzR2VuZXJhdGVkSW1hZ2VWYWx1ZShDU1NQYXJzZXJWYWx1ZSYgdmFsdWUpIGNvbnN0CiAg
ICAgICAgIHx8IGVxdWFsSWdub3JpbmdDYXNlKHZhbHVlLmZ1bmN0aW9uLT5uYW1lLCAicmVwZWF0
aW5nLXJhZGlhbC1ncmFkaWVudCgiKQogICAgICAgICB8fCBlcXVhbElnbm9yaW5nQ2FzZSh2YWx1
ZS5mdW5jdGlvbi0+bmFtZSwgIi13ZWJraXQtY2FudmFzKCIpCiAgICAgICAgIHx8IGVxdWFsSWdu
b3JpbmdDYXNlKHZhbHVlLmZ1bmN0aW9uLT5uYW1lLCAiLXdlYmtpdC1jcm9zcy1mYWRlKCIpCi0g
ICAgICAgIHx8IGVxdWFsSWdub3JpbmdDYXNlKHZhbHVlLmZ1bmN0aW9uLT5uYW1lLCAiLXdlYmtp
dC1maWx0ZXIoIik7CisgICAgICAgIHx8IGVxdWFsSWdub3JpbmdDYXNlKHZhbHVlLmZ1bmN0aW9u
LT5uYW1lLCAiLXdlYmtpdC1maWx0ZXIoIikKKyAgICAgICAgfHwgZXF1YWxJZ25vcmluZ0Nhc2Uo
dmFsdWUuZnVuY3Rpb24tPm5hbWUsICItd2Via2l0LW5hbWVkLWltYWdlKCIpOwogfQogCiBib29s
IENTU1BhcnNlcjo6cGFyc2VHZW5lcmF0ZWRJbWFnZShDU1NQYXJzZXJWYWx1ZUxpc3QmIHZhbHVl
TGlzdCwgUmVmUHRyPENTU1ZhbHVlPiYgdmFsdWUpCkBAIC05MTk4LDYgKzkyMDAsOSBAQCBib29s
IENTU1BhcnNlcjo6cGFyc2VHZW5lcmF0ZWRJbWFnZShDU1NQYXJzZXJWYWx1ZUxpc3QmIHZhbHVl
TGlzdCwgUmVmUHRyPENTU1ZhbAogICAgIGlmIChlcXVhbElnbm9yaW5nQ2FzZShwYXJzZXJWYWx1
ZS5mdW5jdGlvbi0+bmFtZSwgIi13ZWJraXQtZmlsdGVyKCIpKQogICAgICAgICByZXR1cm4gcGFy
c2VGaWx0ZXJJbWFnZSh2YWx1ZUxpc3QsIHZhbHVlKTsKIAorICAgIGlmIChlcXVhbElnbm9yaW5n
Q2FzZShwYXJzZXJWYWx1ZS5mdW5jdGlvbi0+bmFtZSwgIi13ZWJraXQtbmFtZWQtaW1hZ2UoIikp
CisgICAgICAgIHJldHVybiBwYXJzZU5hbWVkSW1hZ2UodmFsdWVMaXN0LCB2YWx1ZSk7CisKICAg
ICByZXR1cm4gZmFsc2U7CiB9CiAKQEAgLTkzMTAsNiArOTMxNSwyMSBAQCBib29sIENTU1BhcnNl
cjo6cGFyc2VDYW52YXMoQ1NTUGFyc2VyVmFsdWVMaXN0JiB2YWx1ZUxpc3QsIFJlZlB0cjxDU1NW
YWx1ZT4mIGNhbgogICAgIHJldHVybiB0cnVlOwogfQogCitib29sIENTU1BhcnNlcjo6cGFyc2VO
YW1lZEltYWdlKENTU1BhcnNlclZhbHVlTGlzdCYgdmFsdWVMaXN0LCBSZWZQdHI8Q1NTVmFsdWU+
JiBuYW1lZEltYWdlKQoreworICAgIENTU1BhcnNlclZhbHVlTGlzdCogYXJncyA9IHZhbHVlTGlz
dC5jdXJyZW50KCktPmZ1bmN0aW9uLT5hcmdzLmdldCgpOworICAgIGlmICghYXJncyB8fCBhcmdz
LT5zaXplKCkgIT0gMSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgLy8gVGhlIG9ubHkg
YXJndW1lbnQgaXMgdGhlIGltYWdlIG5hbWUuCisgICAgQ1NTUGFyc2VyVmFsdWUqIHZhbHVlID0g
YXJncy0+Y3VycmVudCgpOworICAgIGlmICghdmFsdWUgfHwgdmFsdWUtPnVuaXQgIT0gQ1NTUHJp
bWl0aXZlVmFsdWU6OkNTU19JREVOVCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgbmFt
ZWRJbWFnZSA9IENTU05hbWVkSW1hZ2VWYWx1ZTo6Y3JlYXRlKHZhbHVlLT5zdHJpbmcpOworICAg
IHJldHVybiB0cnVlOworfQorCiAjaWYgRU5BQkxFKENTU19JTUFHRV9SRVNPTFVUSU9OKQogUGFz
c1JlZlB0cjxDU1NWYWx1ZT4gQ1NTUGFyc2VyOjpwYXJzZUltYWdlUmVzb2x1dGlvbigpCiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUGFyc2VyLmgKaW5kZXggNTI5OWRiYmEwZWFkMTc4ODY4OTNmMDdjNTkwM2Q3ODRm
NjI1YTNhMS4uMzk4YzJmNGNlNTU0NWNkYzE2YTQ1YmM1NjEyYTNiNmE1OWUwNGY4OCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQYXJzZXIuaApAQCAtMjkwLDYgKzI5MCw3IEBAIHB1YmxpYzoKIAogICAgIC8vIElt
YWdlIGdlbmVyYXRvcnMKICAgICBib29sIHBhcnNlQ2FudmFzKENTU1BhcnNlclZhbHVlTGlzdCYs
IFJlZlB0cjxDU1NWYWx1ZT4mKTsKKyAgICBib29sIHBhcnNlTmFtZWRJbWFnZShDU1NQYXJzZXJW
YWx1ZUxpc3QmLCBSZWZQdHI8Q1NTVmFsdWU+Jik7CiAKICAgICBib29sIHBhcnNlRGVwcmVjYXRl
ZEdyYWRpZW50KENTU1BhcnNlclZhbHVlTGlzdCYsIFJlZlB0cjxDU1NWYWx1ZT4mKTsKICAgICBi
b29sIHBhcnNlRGVwcmVjYXRlZExpbmVhckdyYWRpZW50KENTU1BhcnNlclZhbHVlTGlzdCYsIFJl
ZlB0cjxDU1NWYWx1ZT4mLCBDU1NHcmFkaWVudFJlcGVhdCByZXBlYXRpbmcpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NWYWx1ZS5jcHAKaW5kZXggNDMxZGQ0NTQ5ZDIxOGQ3ZTA1YTk2NTUzNjYwNDVkMWM2MmNmYmNj
My4uOWViMTlhYjI4MGMyNWYwY2YwZWYzYjc1YzBlMDE2MzIwNjU3NmY2NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTVmFsdWUuY3BwCkBAIC00Nyw2ICs0Nyw3IEBACiAjaW5jbHVkZSAiQ1NTSW5oZXJpdGVkVmFs
dWUuaCIKICNpbmNsdWRlICJDU1NJbml0aWFsVmFsdWUuaCIKICNpbmNsdWRlICJDU1NMaW5lQm94
Q29udGFpblZhbHVlLmgiCisjaW5jbHVkZSAiQ1NTTmFtZWRJbWFnZVZhbHVlLmgiCiAjaW5jbHVk
ZSAiQ1NTUHJpbWl0aXZlVmFsdWUuaCIKICNpbmNsdWRlICJDU1NSZWZsZWN0VmFsdWUuaCIKICNp
bmNsdWRlICJDU1NTaGFkb3dWYWx1ZS5oIgpAQCAtMTY4LDYgKzE2OSw4IEBAIGJvb2wgQ1NTVmFs
dWU6OmVxdWFscyhjb25zdCBDU1NWYWx1ZSYgb3RoZXIpIGNvbnN0CiAgICAgICAgICAgICByZXR1
cm4gY29tcGFyZUNTU1ZhbHVlczxDU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWU+KCp0aGlzLCBvdGhl
cik7CiAgICAgICAgIGNhc2UgQ2FudmFzQ2xhc3M6CiAgICAgICAgICAgICByZXR1cm4gY29tcGFy
ZUNTU1ZhbHVlczxDU1NDYW52YXNWYWx1ZT4oKnRoaXMsIG90aGVyKTsKKyAgICAgICAgY2FzZSBO
YW1lZEltYWdlQ2xhc3M6CisgICAgICAgICAgICByZXR1cm4gY29tcGFyZUNTU1ZhbHVlczxDU1NO
YW1lZEltYWdlVmFsdWU+KCp0aGlzLCBvdGhlcik7CiAgICAgICAgIGNhc2UgQ3Vyc29ySW1hZ2VD
bGFzczoKICAgICAgICAgICAgIHJldHVybiBjb21wYXJlQ1NTVmFsdWVzPENTU0N1cnNvckltYWdl
VmFsdWU+KCp0aGlzLCBvdGhlcik7CiAgICAgICAgIGNhc2UgRmlsdGVySW1hZ2VDbGFzczoKQEAg
LTI2MCw2ICsyNjMsOCBAQCBTdHJpbmcgQ1NTVmFsdWU6OmNzc1RleHQoKSBjb25zdAogICAgICAg
ICByZXR1cm4gZG93bmNhc3Q8Q1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlPigqdGhpcykuY3VzdG9t
Q1NTVGV4dCgpOwogICAgIGNhc2UgQ2FudmFzQ2xhc3M6CiAgICAgICAgIHJldHVybiBkb3duY2Fz
dDxDU1NDYW52YXNWYWx1ZT4oKnRoaXMpLmN1c3RvbUNTU1RleHQoKTsKKyAgICBjYXNlIE5hbWVk
SW1hZ2VDbGFzczoKKyAgICAgICAgcmV0dXJuIGRvd25jYXN0PENTU05hbWVkSW1hZ2VWYWx1ZT4o
KnRoaXMpLmN1c3RvbUNTU1RleHQoKTsKICAgICBjYXNlIEN1cnNvckltYWdlQ2xhc3M6CiAgICAg
ICAgIHJldHVybiBkb3duY2FzdDxDU1NDdXJzb3JJbWFnZVZhbHVlPigqdGhpcykuY3VzdG9tQ1NT
VGV4dCgpOwogICAgIGNhc2UgRmlsdGVySW1hZ2VDbGFzczoKQEAgLTM1Miw2ICszNTcsOSBAQCB2
b2lkIENTU1ZhbHVlOjpkZXN0cm95KCkKICAgICBjYXNlIENhbnZhc0NsYXNzOgogICAgICAgICBk
ZWxldGUgZG93bmNhc3Q8Q1NTQ2FudmFzVmFsdWU+KHRoaXMpOwogICAgICAgICByZXR1cm47Cisg
ICAgY2FzZSBOYW1lZEltYWdlQ2xhc3M6CisgICAgICAgIGRlbGV0ZSBkb3duY2FzdDxDU1NOYW1l
ZEltYWdlVmFsdWU+KHRoaXMpOworICAgICAgICByZXR1cm47CiAgICAgY2FzZSBDdXJzb3JJbWFn
ZUNsYXNzOgogICAgICAgICBkZWxldGUgZG93bmNhc3Q8Q1NTQ3Vyc29ySW1hZ2VWYWx1ZT4odGhp
cyk7CiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NW
YWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgKaW5kZXggOWE0MDY4Njg5YzE2
NzFkZDkyYTUxZjA3ZmNlYTcyY2YxYTA5MDIxNi4uNTllYTFjOTU5Nzg3YTIzMTdiYjAxZWI2MzU5
MTA0NTVjMjM2ODkzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgKQEAgLTc5LDYgKzc5LDcgQEAgcHVi
bGljOgogICAgIGJvb2wgaXNGb250VmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9
PSBGb250Q2xhc3M7IH0KICAgICBib29sIGlzSW1hZ2VHZW5lcmF0b3JWYWx1ZSgpIGNvbnN0IHsg
cmV0dXJuIG1fY2xhc3NUeXBlID49IENhbnZhc0NsYXNzICYmIG1fY2xhc3NUeXBlIDw9IFJhZGlh
bEdyYWRpZW50Q2xhc3M7IH0KICAgICBib29sIGlzR3JhZGllbnRWYWx1ZSgpIGNvbnN0IHsgcmV0
dXJuIG1fY2xhc3NUeXBlID49IExpbmVhckdyYWRpZW50Q2xhc3MgJiYgbV9jbGFzc1R5cGUgPD0g
UmFkaWFsR3JhZGllbnRDbGFzczsgfQorICAgIGJvb2wgaXNOYW1lZEltYWdlVmFsdWUoKSBjb25z
dCB7IHJldHVybiBtX2NsYXNzVHlwZSA9PSBOYW1lZEltYWdlQ2xhc3M7IH0KICNpZiBFTkFCTEUo
Q1NTX0lNQUdFX1NFVCkKICAgICBib29sIGlzSW1hZ2VTZXRWYWx1ZSgpIGNvbnN0IHsgcmV0dXJu
IG1fY2xhc3NUeXBlID09IEltYWdlU2V0Q2xhc3M7IH0KICNlbmRpZgpAQCAtMTM5LDYgKzE0MCw3
IEBAIHByb3RlY3RlZDoKIAogICAgICAgICAvLyBJbWFnZSBnZW5lcmF0b3IgY2xhc3Nlcy4KICAg
ICAgICAgQ2FudmFzQ2xhc3MsCisgICAgICAgIE5hbWVkSW1hZ2VDbGFzcywKICAgICAgICAgQ3Jv
c3NmYWRlQ2xhc3MsCiAgICAgICAgIEZpbHRlckltYWdlQ2xhc3MsCiAgICAgICAgIExpbmVhckdy
YWRpZW50Q2xhc3MsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZS5jcHAKaW5kZXggOTY1NDdhN2NmNTZj
NTJkOGZkMDgzMmNlZjgxMjNjYmE4MzZkMzJmZS4uZWFjNzM1MjU0MWNhNjAwMmRmN2IwODRhNjc3
YzIyZmUwZTlhMTE4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lLmNwcApAQCAtMjYsNiArMjYs
OCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlRoZW1lLmgiCiAKKyNpbmNsdWRl
ICJHcmFwaGljc0NvbnRleHQuaCIKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBMZW5ndGhCb3gg
VGhlbWU6OmNvbnRyb2xCb3JkZXIoQ29udHJvbFBhcnQgcGFydCwgY29uc3QgRm9udENhc2NhZGUm
LCBjb25zdCBMZW5ndGhCb3gmIHpvb21lZEJveCwgZmxvYXQpIGNvbnN0CkBAIC01NSw0ICs1Nyw2
MCBAQCBMZW5ndGhCb3ggVGhlbWU6OmNvbnRyb2xQYWRkaW5nKENvbnRyb2xQYXJ0IHBhcnQsIGNv
bnN0IEZvbnRDYXNjYWRlJiwgY29uc3QgTGVuZwogICAgIH0KIH0KIAordm9pZCBUaGVtZTo6ZHJh
d05hbWVkSW1hZ2UoY29uc3QgU3RyaW5nJiBuYW1lLCBHcmFwaGljc0NvbnRleHQqIGNvbnRleHQs
IGNvbnN0IEZsb2F0UmVjdCYgcmVjdCkgY29uc3QKK3sKKyAgICAvLyBXZSBvbmx5IGhhbmRsZSBv
bmUgaWNvbiBhdCB0aGUgbW9tZW50LgorICAgIGlmIChuYW1lICE9ICJ3aXJlbGVzcy1wbGF5YmFj
ayIpCisgICAgICAgIHJldHVybjsKKworICAgIEdyYXBoaWNzQ29udGV4dFN0YXRlU2F2ZXIgc3Rh
dGVTYXZlcigqY29udGV4dCk7CisgICAgY29udGV4dC0+c2V0RmlsbENvbG9yKENvbG9yOjpibGFj
aywgQ29sb3JTcGFjZURldmljZVJHQik7CisKKyAgICAvLyBEcmF3IGEgZ2VuZXJpYyBXaXJlbGVz
cyBQbGF5YmFjayBpY29uLgorCisgICAgY29udGV4dC0+c2NhbGUoRmxvYXRTaXplKHJlY3Quc2l6
ZSgpLndpZHRoKCkgLyAxMDAsIHJlY3Quc2l6ZSgpLmhlaWdodCgpIC8gMTAwKSk7CisgICAgY29u
dGV4dC0+dHJhbnNsYXRlKDgsIDEpOworCisgICAgUGF0aCBvdXRsaW5lOworICAgIG91dGxpbmUu
bW92ZVRvKEZsb2F0UG9pbnQoNTksIDU4LjcpKTsKKyAgICBvdXRsaW5lLmFkZEJlemllckN1cnZl
VG8oRmxvYXRQb2ludCg1OC4xLCA1OC43KSwgRmxvYXRQb2ludCg1Ny4yLCA1OC40KSwgRmxvYXRQ
b2ludCg1Ni40LCA1Ny43KSk7CisgICAgb3V0bGluZS5hZGRMaW5lVG8oRmxvYXRQb2ludCg0Miwg
NDUuNSkpOworICAgIG91dGxpbmUuYWRkTGluZVRvKEZsb2F0UG9pbnQoMjcuNiwgNTcuOCkpOwor
ICAgIG91dGxpbmUuYWRkQmV6aWVyQ3VydmVUbyhGbG9hdFBvaW50KDI1LjksIDU5LjIpLCBGbG9h
dFBvaW50KDIzLjQsIDU5KSwgRmxvYXRQb2ludCgyMiwgNTcuMykpOworICAgIG91dGxpbmUuYWRk
QmV6aWVyQ3VydmVUbyhGbG9hdFBvaW50KDIwLjYsIDU1LjYpLCBGbG9hdFBvaW50KDIwLjgsIDUz
LjEpLCBGbG9hdFBvaW50KDIyLjUsIDUxLjcpKTsKKyAgICBvdXRsaW5lLmFkZExpbmVUbyhGbG9h
dFBvaW50KDM5LjUsIDM3LjMpKTsKKyAgICBvdXRsaW5lLmFkZEJlemllckN1cnZlVG8oRmxvYXRQ
b2ludCg0MSwgMzYpLCBGbG9hdFBvaW50KDQzLjIsIDM2KSwgRmxvYXRQb2ludCg0NC43LCAzNy4z
KSk7CisgICAgb3V0bGluZS5hZGRMaW5lVG8oRmxvYXRQb2ludCg2MS43LCA1MS43KSk7CisgICAg
b3V0bGluZS5hZGRCZXppZXJDdXJ2ZVRvKEZsb2F0UG9pbnQoNjMuNCwgNTMuMSksIEZsb2F0UG9p
bnQoNjMuNiwgNTUuNyksIEZsb2F0UG9pbnQoNjIuMiwgNTcuMykpOworICAgIG91dGxpbmUuYWRk
QmV6aWVyQ3VydmVUbyhGbG9hdFBvaW50KDYxLjMsIDU4LjIpLCBGbG9hdFBvaW50KDYwLjEsIDU4
LjcpLCBGbG9hdFBvaW50KDU5LCA1OC43KSk7CisgICAgb3V0bGluZS5hZGRMaW5lVG8oRmxvYXRQ
b2ludCg1OSwgNTguNykpOworICAgIG91dGxpbmUuY2xvc2VTdWJwYXRoKCk7CisKKyAgICBvdXRs
aW5lLm1vdmVUbyhGbG9hdFBvaW50KDQyLCA5OCkpOworICAgIG91dGxpbmUuYWRkQmV6aWVyQ3Vy
dmVUbyhGbG9hdFBvaW50KDM5LjgsIDk4KSwgRmxvYXRQb2ludCgzOCwgOTYuMyksIEZsb2F0UG9p
bnQoMzgsIDk0LjIpKTsKKyAgICBvdXRsaW5lLmFkZExpbmVUbyhGbG9hdFBvaW50KDM4LCA0My42
KSk7CisgICAgb3V0bGluZS5hZGRCZXppZXJDdXJ2ZVRvKEZsb2F0UG9pbnQoMzgsIDQxLjUpLCBG
bG9hdFBvaW50KDM5LjgsIDM5LjgpLCBGbG9hdFBvaW50KDQyLCAzOS44KSk7CisgICAgb3V0bGlu
ZS5hZGRCZXppZXJDdXJ2ZVRvKEZsb2F0UG9pbnQoNDQuMiwgMzkuOCksIEZsb2F0UG9pbnQoNDYs
IDQxLjUpLCBGbG9hdFBvaW50KDQ2LCA0My42KSk7CisgICAgb3V0bGluZS5hZGRMaW5lVG8oRmxv
YXRQb2ludCg0NiwgOTQuMikpOworICAgIG91dGxpbmUuYWRkQmV6aWVyQ3VydmVUbyhGbG9hdFBv
aW50KDQ2LCA5Ni4zKSwgRmxvYXRQb2ludCg0NC4yLCA5OCksIEZsb2F0UG9pbnQoNDIsIDk4KSk7
CisgICAgb3V0bGluZS5hZGRMaW5lVG8oRmxvYXRQb2ludCg0MiwgOTgpKTsKKyAgICBvdXRsaW5l
LmNsb3NlU3VicGF0aCgpOworCisgICAgb3V0bGluZS5tb3ZlVG8oRmxvYXRQb2ludCg4My42LCA0
MS42KSk7CisgICAgb3V0bGluZS5hZGRCZXppZXJDdXJ2ZVRvKEZsb2F0UG9pbnQoODMuNiwgMTgu
NiksIEZsb2F0UG9pbnQoNjUsIDApLCBGbG9hdFBvaW50KDQyLCAwKSk7CisgICAgb3V0bGluZS5h
ZGRCZXppZXJDdXJ2ZVRvKEZsb2F0UG9pbnQoMTksIDApLCBGbG9hdFBvaW50KDAuNCwgMTguNiks
IEZsb2F0UG9pbnQoMC40LCA0MS42KSk7CisgICAgb3V0bGluZS5hZGRCZXppZXJDdXJ2ZVRvKEZs
b2F0UG9pbnQoMC40LCA2Mi4yKSwgRmxvYXRQb2ludCgxNSwgNzkuMiksIEZsb2F0UG9pbnQoMzUs
IDgyLjYpKTsKKyAgICBvdXRsaW5lLmFkZExpbmVUbyhGbG9hdFBvaW50KDM1LCA3NC41KSk7Cisg
ICAgb3V0bGluZS5hZGRCZXppZXJDdXJ2ZVRvKEZsb2F0UG9pbnQoMjAsIDcxLjIpLCBGbG9hdFBv
aW50KDguNCwgNTcuNyksIEZsb2F0UG9pbnQoOC40LCA0MS42KSk7CisgICAgb3V0bGluZS5hZGRC
ZXppZXJDdXJ2ZVRvKEZsb2F0UG9pbnQoOC40LCAyMy4xKSwgRmxvYXRQb2ludCgyMy41LCA4KSwg
RmxvYXRQb2ludCg0MiwgOCkpOworICAgIG91dGxpbmUuYWRkQmV6aWVyQ3VydmVUbyhGbG9hdFBv
aW50KDYwLjUsIDgpLCBGbG9hdFBvaW50KDc1LjUsIDIzLjEpLCBGbG9hdFBvaW50KDc1LjUsIDQx
LjYpKTsKKyAgICBvdXRsaW5lLmFkZEJlemllckN1cnZlVG8oRmxvYXRQb2ludCg3NS42LCA1Ny43
KSwgRmxvYXRQb2ludCg2NCwgNzEuMiksIEZsb2F0UG9pbnQoNDksIDc0LjUpKTsKKyAgICBvdXRs
aW5lLmFkZExpbmVUbyhGbG9hdFBvaW50KDQ5LCA4Mi42KSk7CisgICAgb3V0bGluZS5hZGRCZXpp
ZXJDdXJ2ZVRvKEZsb2F0UG9pbnQoNjksIDc5LjMpLCBGbG9hdFBvaW50KDgzLjYsIDYyLjIpLCBG
bG9hdFBvaW50KDgzLjYsIDQxLjYpKTsKKyAgICBvdXRsaW5lLmFkZExpbmVUbyhGbG9hdFBvaW50
KDgzLjYsIDQxLjYpKTsKKyAgICBvdXRsaW5lLmNsb3NlU3VicGF0aCgpOworCisgICAgY29udGV4
dC0+ZmlsbFBhdGgob3V0bGluZSk7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1RoZW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZS5oCmluZGV4
IGVjZTg0Y2Y2NThhZmY2MTVhNWRkOTcyNTk3MTFlNGJhMzRiNmE1MmIuLjEwZTBjNzczZmUyMjQw
MWY2YjQ0ZjFiZDRkNmNiNjllNmUwZmQ2NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1RoZW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWUuaApAQCAt
MjksNiArMjksNyBAQAogI2luY2x1ZGUgIkNvbG9yLmgiCiAjaW5jbHVkZSAiQ29udHJvbFN0YXRl
cy5oIgogI2luY2x1ZGUgIkZvbnRDYXNjYWRlLmgiCisjaW5jbHVkZSAiR3JhcGhpY3NUeXBlcy5o
IgogI2luY2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRlICJMZW5ndGhCb3guaCIKICNpbmNsdWRl
ICJMZW5ndGhTaXplLmgiCkBAIC0xMDYsNyArMTA3LDkgQEAgcHVibGljOgogICAgIC8vIFRoZSBy
ZWN0IHBhc3NlZCBpbiBpcyBpbiB6b29tZWQgY29vcmRpbmF0ZXMsIHNvIHRoZSBpbmZsYXRpb24g
c2hvdWxkIHRha2UgdGhhdCBpbnRvIGFjY291bnQgYW5kIG1ha2Ugc3VyZSB0aGUgaW5mbGF0aW9u
CiAgICAgLy8gYW1vdW50IGlzIGFsc28gc2NhbGVkIGJ5IHRoZSB6b29tRmFjdG9yLgogICAgIHZp
cnR1YWwgdm9pZCBpbmZsYXRlQ29udHJvbFBhaW50UmVjdChDb250cm9sUGFydCwgY29uc3QgQ29u
dHJvbFN0YXRlcyosIEZsb2F0UmVjdCYgLyp6b29tZWRSZWN0Ki8sIGZsb2F0IC8qem9vbUZhY3Rv
ciovKSBjb25zdCB7IH0KLSAgICAKKworICAgIHZpcnR1YWwgdm9pZCBkcmF3TmFtZWRJbWFnZShj
b25zdCBTdHJpbmcmLCBHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFJlY3QmKSBjb25zdDsK
KwogICAgIC8vIFRoaXMgbWV0aG9kIGlzIGNhbGxlZCBvbmNlLCBmcm9tIFJlbmRlclRoZW1lOjph
ZGp1c3REZWZhdWx0U3R5bGVTaGVldCgpLCB0byBsZXQgZWFjaCBwbGF0Zm9ybSBhZGp1c3QKICAg
ICAvLyB0aGUgZGVmYXVsdCBDU1MgcnVsZXMgaW4gaHRtbC5jc3MuCiAgICAgc3RhdGljIFN0cmlu
ZyBkZWZhdWx0U3R5bGVTaGVldCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vY29jb2EvVGhlbWVDb2NvYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9U
aGVtZUNvY29hLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYTg3OTI4YzBmODczNDA1OWM0MmI3OTBkOWUzMTcy
Mjk1ZjhjY2YyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29j
b2EvVGhlbWVDb2NvYS5jcHAKQEAgLTAsMCArMSw5MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxNSBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorI2ltcG9ydCAiVGhl
bWVDb2NvYS5oIgorCisjaW1wb3J0ICJHcmFwaGljc0NvbnRleHQuaCIKKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitzdGF0aWMgdm9pZCBmaXRDb250ZXh0VG9Cb3goR3JhcGhpY3NDb250ZXh0KiBj
b250ZXh0LCBjb25zdCBGbG9hdFNpemUmIHNyY0ltYWdlU2l6ZSwgY29uc3QgRmxvYXRTaXplJiBk
c3RTaXplKQoreworICAgIGZsb2F0IHNyY1JhdGlvID0gc3JjSW1hZ2VTaXplLmFzcGVjdFJhdGlv
KCk7CisgICAgZmxvYXQgZHN0UmF0aW8gPSBkc3RTaXplLmFzcGVjdFJhdGlvKCk7CisKKyAgICBm
bG9hdCBzY2FsZTsKKyAgICBmbG9hdCB0cmFuc2xhdGlvblggPSAwOworICAgIGZsb2F0IHRyYW5z
bGF0aW9uWSA9IDA7CisgICAgaWYgKHNyY1JhdGlvID4gZHN0UmF0aW8pIHsKKyAgICAgICAgc2Nh
bGUgPSBkc3RTaXplLndpZHRoKCkgLyBzcmNJbWFnZVNpemUud2lkdGgoKTsKKyAgICAgICAgdHJh
bnNsYXRpb25ZID0gKGRzdFNpemUuaGVpZ2h0KCkgLSBzY2FsZSAqIHNyY0ltYWdlU2l6ZS5oZWln
aHQoKSkgLyAyOworICAgIH0gZWxzZSB7CisgICAgICAgIHNjYWxlID0gZHN0U2l6ZS5oZWlnaHQo
KSAvIHNyY0ltYWdlU2l6ZS5oZWlnaHQoKTsKKyAgICAgICAgdHJhbnNsYXRpb25YID0gKGRzdFNp
emUud2lkdGgoKSAtIHNjYWxlICogc3JjSW1hZ2VTaXplLndpZHRoKCkpIC8gMjsKKyAgICB9Cisg
ICAgY29udGV4dC0+dHJhbnNsYXRlKHRyYW5zbGF0aW9uWCwgdHJhbnNsYXRpb25ZKTsKKyAgICBj
b250ZXh0LT5zY2FsZShGbG9hdFNpemUoc2NhbGUsIHNjYWxlKSk7Cit9CisKK3ZvaWQgVGhlbWVD
b2NvYTo6ZHJhd05hbWVkSW1hZ2UoY29uc3QgU3RyaW5nJiBuYW1lLCBHcmFwaGljc0NvbnRleHQq
IGNvbnRleHQsIGNvbnN0IEZsb2F0UmVjdCYgcmVjdCkgY29uc3QKK3sKKyAgICAvLyBXZSBvbmx5
IGhhbmRsZSBvbmUgaWNvbiBhdCB0aGUgbW9tZW50LgorICAgIGlmIChuYW1lICE9ICJ3aXJlbGVz
cy1wbGF5YmFjayIpIHsKKyAgICAgICAgVGhlbWU6OmRyYXdOYW1lZEltYWdlKG5hbWUsIGNvbnRl
eHQsIHJlY3QpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgR3JhcGhpY3NDb250ZXh0
U3RhdGVTYXZlciBzdGF0ZVNhdmVyKCpjb250ZXh0KTsKKyAgICBjb250ZXh0LT5zZXRGaWxsQ29s
b3IoQ29sb3I6OmJsYWNrLCBDb2xvclNwYWNlRGV2aWNlUkdCKTsKKworICAgIEZsb2F0U2l6ZSB3
aXJlbGVzc1BsYXliYWNrU3JjU2l6ZSgzMiwgMjQuMDE2KTsKKyAgICBmaXRDb250ZXh0VG9Cb3go
Y29udGV4dCwgd2lyZWxlc3NQbGF5YmFja1NyY1NpemUsIHJlY3Quc2l6ZSgpKTsKKworICAgIFBh
dGggb3V0bGluZTsKKyAgICBvdXRsaW5lLm1vdmVUbyhGbG9hdFBvaW50KDI0LjA2NiwgMTgpKTsK
KyAgICBvdXRsaW5lLmFkZExpbmVUbyhGbG9hdFBvaW50KDIyLjExMSwgMTYpKTsKKyAgICBvdXRs
aW5lLmFkZExpbmVUbyhGbG9hdFBvaW50KDMwLCAxNikpOworICAgIG91dGxpbmUuYWRkTGluZVRv
KEZsb2F0UG9pbnQoMzAsIDIpKTsKKyAgICBvdXRsaW5lLmFkZExpbmVUbyhGbG9hdFBvaW50KDIs
IDIpKTsKKyAgICBvdXRsaW5lLmFkZExpbmVUbyhGbG9hdFBvaW50KDIsIDE2KSk7CisgICAgb3V0
bGluZS5hZGRMaW5lVG8oRmxvYXRQb2ludCg5LjkwOCwgMTYpKTsKKyAgICBvdXRsaW5lLmFkZExp
bmVUbyhGbG9hdFBvaW50KDcuOTUzLCAxOCkpOworICAgIG91dGxpbmUuYWRkTGluZVRvKEZsb2F0
UG9pbnQoMCwgMTgpKTsKKyAgICBvdXRsaW5lLmFkZExpbmVUbyhGbG9hdFBvaW50KDAsIDApKTsK
KyAgICBvdXRsaW5lLmFkZExpbmVUbyhGbG9hdFBvaW50KDMyLCAwKSk7CisgICAgb3V0bGluZS5h
ZGRMaW5lVG8oRmxvYXRQb2ludCgzMiwgMTgpKTsKKyAgICBvdXRsaW5lLmFkZExpbmVUbyhGbG9h
dFBvaW50KDI0LjA2NiwgMTgpKTsKKyAgICBvdXRsaW5lLmNsb3NlU3VicGF0aCgpOworICAgIG91
dGxpbmUubW92ZVRvKEZsb2F0UG9pbnQoMjYuOTE3LCAyNC4wMTYpKTsKKyAgICBvdXRsaW5lLmFk
ZExpbmVUbyhGbG9hdFBvaW50KDUuMDQwLCAyNC4wMTYpKTsKKyAgICBvdXRsaW5lLmFkZExpbmVU
byhGbG9hdFBvaW50KDE1Ljk3OCwgMTIuODI4KSk7CisgICAgb3V0bGluZS5hZGRMaW5lVG8oRmxv
YXRQb2ludCgyNi45MTcsIDI0LjAxNikpOworICAgIG91dGxpbmUuY2xvc2VTdWJwYXRoKCk7Cisg
ICAgCisgICAgY29udGV4dC0+ZmlsbFBhdGgob3V0bGluZSk7Cit9CisKK30KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1RoZW1lQ29jb2EuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2NvY29hL1RoZW1lQ29jb2EuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZDZiNjkzOGYwNTY0
ZDY4NzUyZjI4MGE4YmEzZGMyZmMzNWJlNjRlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vY29jb2EvVGhlbWVDb2NvYS5oCkBAIC0wLDAgKzEsNDMgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFRoZW1lQ29j
b2FfaAorI2RlZmluZSBUaGVtZUNvY29hX2gKKworI2luY2x1ZGUgIlRoZW1lLmgiCisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworY2xhc3MgVGhlbWVDb2NvYSA6IHB1YmxpYyBUaGVtZSB7CitwdWJs
aWM6CisgICAgVGhlbWVDb2NvYSgpIHsgfQorICAgIHZpcnR1YWwgflRoZW1lQ29jb2EoKSB7IH0K
KworICAgIHZpcnR1YWwgdm9pZCBkcmF3TmFtZWRJbWFnZShjb25zdCBTdHJpbmcmLCBHcmFwaGlj
c0NvbnRleHQqLCBjb25zdCBGbG9hdFJlY3QmKSBjb25zdCBvdmVycmlkZTsKK307CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIFRoZW1lQ29jb2FfaApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ3Jvc3NmYWRlR2VuZXJhdGVkSW1hZ2Uu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Nyb3NzZmFkZUdlbmVyYXRlZElt
YWdlLmgKaW5kZXggYTlkNThjNTcxNDY1NzAxZjhmZDg2ZjdkYTYyODdkMmRlYTQ4MzkyYS4uNTZh
OTg3NTE0Y2I3MWExN2I0Yzc4MmI3MTg3MTg2YmY3MmEwZTJiNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ3Jvc3NmYWRlR2VuZXJhdGVkSW1hZ2UuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Dcm9zc2ZhZGVHZW5lcmF0ZWRJbWFn
ZS5oCkBAIC0zNCw4ICszNCw2IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgQ1NT
Q3Jvc3NmYWRlVmFsdWU7Ci0KIGNsYXNzIENyb3NzZmFkZUdlbmVyYXRlZEltYWdlIGZpbmFsIDog
cHVibGljIEdlbmVyYXRlZEltYWdlIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPENyb3NzZmFk
ZUdlbmVyYXRlZEltYWdlPiBjcmVhdGUoSW1hZ2UqIGZyb21JbWFnZSwgSW1hZ2UqIHRvSW1hZ2Us
IGZsb2F0IHBlcmNlbnRhZ2UsIGNvbnN0IEZsb2F0U2l6ZSYgY3Jvc3NmYWRlU2l6ZSwgY29uc3Qg
RmxvYXRTaXplJiBzaXplKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvSW1hZ2VCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0lt
YWdlQnVmZmVyLmgKaW5kZXggZjJlZTUwNmY3NzBiNGQzZDc4NDE3NDdjODYwMzM2YzE2YmVlOWRl
Yy4uNjZjMWQ4Zjc1Y2E5N2U4YmE1ODhlN2VlYjYzYWIzNTE0ZjYzZjVkNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oCkBAIC0xNDksNiArMTQ5
LDcgQEAgcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgR3JhcGhpY3NDb250ZXh0OwogICAgIGZy
aWVuZCBjbGFzcyBHZW5lcmF0ZWRJbWFnZTsKICAgICBmcmllbmQgY2xhc3MgQ3Jvc3NmYWRlR2Vu
ZXJhdGVkSW1hZ2U7CisgICAgZnJpZW5kIGNsYXNzIE5hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZTsK
ICAgICBmcmllbmQgY2xhc3MgR3JhZGllbnRJbWFnZTsKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL05hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFn
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9OYW1lZEltYWdlR2VuZXJh
dGVkSW1hZ2UuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ0NjFjZDQ5MjZiMTdhMmZiMmM0NWQ3YTQ5YWJjNDQx
OTA0YmJjMGEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9OYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2UuY3BwCkBAIC0wLDAgKzEsNjggQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisjaW5jbHVkZSAiTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlLmgiCisKKyNpbmNsdWRlICJG
bG9hdFJlY3QuaCIKKyNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKKyNpbmNsdWRlICJJbWFn
ZUJ1ZmZlci5oIgorI2luY2x1ZGUgIlRoZW1lLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
TmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlOjpOYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2UoU3RyaW5n
IG5hbWUsIGNvbnN0IEZsb2F0U2l6ZSYgc2l6ZSkKKyAgICA6IG1fbmFtZShuYW1lKQoreworICAg
IHNldENvbnRhaW5lclNpemUoc2l6ZSk7Cit9CisKK3ZvaWQgTmFtZWRJbWFnZUdlbmVyYXRlZElt
YWdlOjpkcmF3KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgRmxvYXRSZWN0JiBkc3RS
ZWN0LCBjb25zdCBGbG9hdFJlY3QmIHNyY1JlY3QsIENvbG9yU3BhY2UsIENvbXBvc2l0ZU9wZXJh
dG9yIGNvbXBvc2l0ZU9wLCBCbGVuZE1vZGUgYmxlbmRNb2RlLCBJbWFnZU9yaWVudGF0aW9uRGVz
Y3JpcHRpb24pCit7CisgICAgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciBzdGF0ZVNhdmVyKCpj
b250ZXh0KTsKKyAgICBjb250ZXh0LT5zZXRDb21wb3NpdGVPcGVyYXRpb24oY29tcG9zaXRlT3As
IGJsZW5kTW9kZSk7CisgICAgY29udGV4dC0+Y2xpcChkc3RSZWN0KTsKKyAgICBjb250ZXh0LT50
cmFuc2xhdGUoZHN0UmVjdC54KCksIGRzdFJlY3QueSgpKTsKKyAgICBpZiAoZHN0UmVjdC5zaXpl
KCkgIT0gc3JjUmVjdC5zaXplKCkpCisgICAgICAgIGNvbnRleHQtPnNjYWxlKEZsb2F0U2l6ZShk
c3RSZWN0LndpZHRoKCkgLyBzcmNSZWN0LndpZHRoKCksIGRzdFJlY3QuaGVpZ2h0KCkgLyBzcmNS
ZWN0LmhlaWdodCgpKSk7CisgICAgY29udGV4dC0+dHJhbnNsYXRlKC1zcmNSZWN0LngoKSwgLXNy
Y1JlY3QueSgpKTsKKworICAgIHBsYXRmb3JtVGhlbWUoKS0+ZHJhd05hbWVkSW1hZ2UobV9uYW1l
LCBjb250ZXh0LCBkc3RSZWN0KTsKK30KKwordm9pZCBOYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2U6
OmRyYXdQYXR0ZXJuKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgRmxvYXRSZWN0JiBz
cmNSZWN0LCBjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIHBhdHRlcm5UcmFuc2Zvcm0sIGNvbnN0IEZs
b2F0UG9pbnQmIHBoYXNlLCBDb2xvclNwYWNlIHN0eWxlQ29sb3JTcGFjZSwgQ29tcG9zaXRlT3Bl
cmF0b3IgY29tcG9zaXRlT3AsIGNvbnN0IEZsb2F0UmVjdCYgZHN0UmVjdCwgQmxlbmRNb2RlIGJs
ZW5kTW9kZSkKK3sKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8SW1hZ2VCdWZmZXI+IGltYWdlQnVmZmVy
ID0gSW1hZ2VCdWZmZXI6OmNyZWF0ZShzaXplKCksIDEsIENvbG9yU3BhY2VEZXZpY2VSR0IsIGNv
bnRleHQtPmlzQWNjZWxlcmF0ZWRDb250ZXh0KCkgPyBBY2NlbGVyYXRlZCA6IFVuYWNjZWxlcmF0
ZWQpOworICAgIGlmICghaW1hZ2VCdWZmZXIpCisgICAgICAgIHJldHVybjsKKworICAgIEdyYXBo
aWNzQ29udGV4dCogZ3JhcGhpY3NDb250ZXh0ID0gaW1hZ2VCdWZmZXItPmNvbnRleHQoKTsKKyAg
ICBwbGF0Zm9ybVRoZW1lKCktPmRyYXdOYW1lZEltYWdlKG1fbmFtZSwgZ3JhcGhpY3NDb250ZXh0
LCBGbG9hdFJlY3QoMCwgMCwgc2l6ZSgpLndpZHRoKCksIHNpemUoKS5oZWlnaHQoKSkpOworCisg
ICAgLy8gVGlsZSB0aGUgaW1hZ2UgYnVmZmVyIGludG8gdGhlIGNvbnRleHQuCisgICAgaW1hZ2VC
dWZmZXItPmRyYXdQYXR0ZXJuKGNvbnRleHQsIHNyY1JlY3QsIHBhdHRlcm5UcmFuc2Zvcm0sIHBo
YXNlLCBzdHlsZUNvbG9yU3BhY2UsIGNvbXBvc2l0ZU9wLCBkc3RSZWN0LCBibGVuZE1vZGUpOwor
fQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9OYW1l
ZEltYWdlR2VuZXJhdGVkSW1hZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L05hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAxNzc4ZWI5ZjliMWM0YWIy
ZWNjMTY0NGMzMDI0NzE1YjMyYjEyYTcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9OYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2UuaApAQCAtMCwwICsx
LDU1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
CisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lm
bmRlZiBOYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2VfaAorI2RlZmluZSBOYW1lZEltYWdlR2VuZXJh
dGVkSW1hZ2VfaAorCisjaW5jbHVkZSAiRmxvYXRTaXplLmgiCisjaW5jbHVkZSAiR2VuZXJhdGVk
SW1hZ2UuaCIKKyNpbmNsdWRlICJJbWFnZS5oIgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBOYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2UgZmlu
YWwgOiBwdWJsaWMgR2VuZXJhdGVkSW1hZ2UgeworcHVibGljOgorICAgIHN0YXRpYyBSZWY8TmFt
ZWRJbWFnZUdlbmVyYXRlZEltYWdlPiBjcmVhdGUoU3RyaW5nIG5hbWUsIGNvbnN0IEZsb2F0U2l6
ZSYgc2l6ZSkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE5hbWVkSW1hZ2VH
ZW5lcmF0ZWRJbWFnZShuYW1lLCBzaXplKSk7CisgICAgfQorCitwcm90ZWN0ZWQ6CisgICAgdmly
dHVhbCB2b2lkIGRyYXcoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgRmxvYXRSZWN0JiBkc3RSZWN0
LCBjb25zdCBGbG9hdFJlY3QmIHNyY1JlY3QsIENvbG9yU3BhY2Ugc3R5bGVDb2xvclNwYWNlLCBD
b21wb3NpdGVPcGVyYXRvciwgQmxlbmRNb2RlLCBJbWFnZU9yaWVudGF0aW9uRGVzY3JpcHRpb24p
IG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBkcmF3UGF0dGVybihHcmFwaGljc0NvbnRleHQq
LCBjb25zdCBGbG9hdFJlY3QmIHNyY1JlY3QsIGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgcGF0dGVy
blRyYW5zZm9ybSwgY29uc3QgRmxvYXRQb2ludCYgcGhhc2UsIENvbG9yU3BhY2Ugc3R5bGVDb2xv
clNwYWNlLCBDb21wb3NpdGVPcGVyYXRvciwgY29uc3QgRmxvYXRSZWN0JiBkc3RSZWN0LCBCbGVu
ZE1vZGUpIG92ZXJyaWRlOworCisgICAgTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlKFN0cmluZyBu
YW1lLCBjb25zdCBGbG9hdFNpemUmKTsKKworcHJpdmF0ZToKKyAgICBTdHJpbmcgbV9uYW1lOwor
fTsKKworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lv
cy9UaGVtZUlPUy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1RoZW1lSU9TLmgKaW5k
ZXggZjNjYzliYTczZDkxNTY0YzAzMDZkZmM2YmExY2E1ZGI0MTk3MjkzMy4uOGQ4MDlmMjNjNWQw
Y2Y3MzQwNjQ4NzNiMjljNDg2ODY3MDU0NzNhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vaW9zL1RoZW1lSU9TLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9z
L1RoZW1lSU9TLmgKQEAgLTI2LDExICsyNiwxMSBAQAogI2lmbmRlZiBUaGVtZUlPU19oCiAjZGVm
aW5lIFRoZW1lSU9TX2gKIAotI2luY2x1ZGUgIlRoZW1lLmgiCisjaW5jbHVkZSAiVGhlbWVDb2Nv
YS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFRoZW1lSU9TIDogcHVibGljIFRo
ZW1lIHsKK2NsYXNzIFRoZW1lSU9TIDogcHVibGljIFRoZW1lQ29jb2EgewogcHVibGljOgogICAg
IFRoZW1lSU9TKCkgeyB9CiAgICAgdmlydHVhbCB+VGhlbWVJT1MoKSB7IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9UaGVtZU1hYy5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWFjL1RoZW1lTWFjLmgKaW5kZXggOWFlMWVkMTE5NGFjNGIwMmQ0N2VmNzc4YWUw
Y2MyNTg5NGJlYWQ2Yi4uODNkYjhhODViNThiYjA4YjkzZThmYTYxMWM2YTBkZWUzZDMzYzgyZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1RoZW1lTWFjLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1RoZW1lTWFjLmgKQEAgLTI2LDcgKzI2LDcgQEAK
ICNpZm5kZWYgVGhlbWVNYWNfaAogI2RlZmluZSBUaGVtZU1hY19oCiAKLSNpbmNsdWRlICJUaGVt
ZS5oIgorI2luY2x1ZGUgIlRoZW1lQ29jb2EuaCIKIAogQGludGVyZmFjZSBOU0ZvbnQoV2ViQ29y
ZVRoZW1lKQogLSAoTlNTdHJpbmcqKXdlYkNvcmVGYW1pbHlOYW1lOwpAQCAtMzQsNyArMzQsNyBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFRoZW1lTWFjIDogcHVibGljIFRoZW1l
IHsKK2NsYXNzIFRoZW1lTWFjIDogcHVibGljIFRoZW1lQ29jb2EgewogICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFRoZW1lTWFjKCkgeyB9CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYzZmMWVh
YzgwZjhhZDUzNmJkOTViODA1ZjAzOGZiMzMxNjU1NWEzZS4uZDYwNGRhN2VkY2ExNmIwNjQxNDE4
MmQ1NGU1MDVkZDRlMWJlMGE0OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE1LTA2LTE4ICBE
ZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBQcm92aWRlIGEgd2F5IGZv
ciB3ZWIgZGV2ZWxvcGVycyB0byBkcmF3IGEgVGhlbWUtc3BlY2lmaWMgV2lyZWxlc3MgUGxheWJh
Y2sgaWNvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTQ2MTIzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMTExOTI4Nz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0IHRoZSBuZXcgLXdlYmtpdC1u
YW1lZC1pbWFnZSBDU1MgZ2VuZXJhdG9yLiBPbmx5ICJ3aXJlbGVzcy1wbGF5YmFjayIKKyAgICAg
ICAgaXMgc3VwcG9ydGVkIGZvciBub3csIGFuZCBoYXMgcGxhdGZvcm0tc3BlY2lmaWMgcmVzdWx0
cyBmb3IgQ29jb2EuCisKKyAgICAgICAgKiBmYXN0L2Nzcy9uYW1lZC1pbWFnZXMtZXhwZWN0ZWQu
cG5nOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy9uYW1lZC1pbWFnZXMuaHRtbDogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL25hbWVkLWltYWdlcy1leHBlY3RlZC5w
bmc6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2Nzcy9uYW1lZC1pbWFnZXMt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKwogMjAxNS0wNi0xMyAgQ2hyaXMgRmxlaXphY2ggIDxjZmxl
aXphY2hAYXBwbGUuY29tPgogCiAgICAgICAgIEFYOiBXZWJLaXQgZXhwb3NlcyBhbGwgUnVieSBU
ZXh0IGFzIFVua25vd24gKEphcGFuZXNlIEVQVUIgYWNjZXNzaWJpbGl0eSBibG9ja2VyKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255153</attachid>
            <date>2015-06-18 16:53:37 -0700</date>
            <delta_ts>2015-06-18 17:24:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146123-20150619095259.patch</filename>
            <type>text/plain</type>
            <size>56659</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1NTU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGM1NDhhNGQwOTNjMGRj
ZWE3N2U2NGU4NmJjODY5YzEwNjI4MWQzMi4uMGU3NmZjY2U4ZTE0MzI5ZjMwOWE3MzNiMGJhYWJi
YTE3M2JmNmY5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc0IEBACisyMDE1LTA2LTE4ICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBQcm92aWRlIGEgd2F5IGZvciB3
ZWIgZGV2ZWxvcGVycyB0byBkcmF3IGEgVGhlbWUtc3BlY2lmaWMgV2lyZWxlc3MgUGxheWJhY2sg
aWNvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ2
MTIzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMTExOTI4Nz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgYSAtd2Via2l0LW5hbWVk
LWltYWdlKCkgQ1NTIDxpbWFnZT4gZ2VuZXJhdG9yIHRoYXQgYWxsb3dzIGEgc2l0ZSB0bworICAg
ICAgICByZXF1ZXN0IGFydHdvcmsgYnkgbmFtZSBhbmQgZ2V0IHRoZSBwbGF0Zm9ybSB2YXJpYW50
LiBBdCB0aGUgbW9tZW50CisgICAgICAgIHdlIG9ubHkgc3VwcG9ydCAid2lyZWxlc3MtcGxheWJh
Y2siIHdoaWNoIHJldHVybnMgYSBnZW5lcmljIGltYWdlIGV2ZXJ5d2hlcmUKKyAgICAgICAgYnV0
IENvY29hIHBsYXRmb3Jtcywgd2hlcmUgd2UgcmVuZGVyIHRoZSBBaXJQbGF5IGljb24uCisKKyAg
ICAgICAgSW4gb3JkZXIgdG8gZG8gdGhpcyBJIGFkZGVkIGEgVGhlbWVDb2NvYSB0byBzaGFyZSBh
bnkgVGhlbWUgY29kZSBiZXR3ZWVuCisgICAgICAgIE1hYyBhbmQgaU9TLgorCisgICAgICAgIFRl
c3Q6IGZhc3QvY3NzL25hbWVkLWljb25zLmh0bWwKKworICAgICAgICAqIFdlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajogQWRkIG5ldyBmaWxlcyBDU1NOYW1lZEltYWdlVmFsdWUsIE5h
bWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZSBhbmQgVGhlbWVDb2NvYS4KKworICAgICAgICAqIGNzcy9D
U1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcDogSGFuZGxlIHRoZSBuZXcgTmFtZWRJbWFnZUNsYXNz
IGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50cyBmb3IgZG93bmNhc3RpbmcuCisgICAgICAgIChXZWJD
b3JlOjpDU1NJbWFnZUdlbmVyYXRvclZhbHVlOjppbWFnZSk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NJbWFnZUdlbmVyYXRvclZhbHVlOjppc0ZpeGVkU2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NJbWFnZUdlbmVyYXRvclZhbHVlOjppc1BlbmRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
SW1hZ2VHZW5lcmF0b3JWYWx1ZTo6a25vd25Ub0JlT3BhcXVlKToKKworICAgICAgICAqIGNzcy9D
U1NOYW1lZEltYWdlVmFsdWUuY3BwOiBOZXcgY2xhc3MuIEp1c3QgaG9sZHMgYSBuYW1lIFN0cmlu
Zy4KKyAgICAgICAgKFdlYkNvcmU6OkNTU05hbWVkSW1hZ2VWYWx1ZTo6Y3VzdG9tQ1NTVGV4dCk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NOYW1lZEltYWdlVmFsdWU6OmltYWdlKToKKyAgICAgICAg
KFdlYkNvcmU6OkNTU05hbWVkSW1hZ2VWYWx1ZTo6ZXF1YWxzKToKKyAgICAgICAgKiBjc3MvQ1NT
TmFtZWRJbWFnZVZhbHVlLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NOYW1lZEltYWdlVmFsdWU6
OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NOYW1lZEltYWdlVmFsdWU6OmlzRml4ZWRT
aXplKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU05hbWVkSW1hZ2VWYWx1ZTo6aXNQZW5kaW5nKToK
KyAgICAgICAgKFdlYkNvcmU6OkNTU05hbWVkSW1hZ2VWYWx1ZTo6Q1NTTmFtZWRJbWFnZVZhbHVl
KToKKworICAgICAgICAqIGNzcy9DU1NQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
UGFyc2VyOjppc0dlbmVyYXRlZEltYWdlVmFsdWUpOiBBbGxvdyAiLXdlYmtpdC1uYW1lZC1pbWFn
ZSgiLgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUdlbmVyYXRlZEltYWdlKTog
Q2FsbCBwYXJzZU5hbWVkSW1hZ2UgaWYgd2UgaGl0IG5hbWVkLWljb24uCisgICAgICAgIChXZWJD
b3JlOjpDU1NQYXJzZXI6OnBhcnNlTmFtZWRJbWFnZSk6IFBhcnNlIHRoZSBmdW5jdGlvbiBsb29r
aW5nIGZvciBhIENTUyBpZGVudC4KKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmg6CisKKyAgICAg
ICAgKiBjc3MvQ1NTVmFsdWUuY3BwOiBIYW5kbGUgTmFtZWRJbWFnZUNsYXNzIGluIHRoZSB2YXJp
b3VzIHN3aXRjaCBzdGF0ZW1lbnRzLgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmVxdWFs
cyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6Y3NzVGV4dCk6CisgICAgICAgIChXZWJD
b3JlOjpDU1NWYWx1ZTo6ZGVzdHJveSk6CisgICAgICAgICogY3NzL0NTU1ZhbHVlLmg6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6aXNOYW1lZEltYWdlVmFsdWUpOiBIZWxwZXIgdG8gZGV0
ZWN0IHRoZSBjb3JyZWN0IENTU1ZhbHVlIHN1YmNsYXNzLgorCisgICAgICAgICogcGxhdGZvcm0v
VGhlbWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGhlbWU6OmRyYXdOYW1lZEltYWdlKTogRHJh
dyBhIGdlbmVyaWMgd2lyZWxlc3MgcGxheWJhY2sgaWNvbi4KKyAgICAgICAgKiBwbGF0Zm9ybS9U
aGVtZS5oOiBBZGQgZHJhd05hbWVkSW1hZ2UuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9U
aGVtZUNvY29hLmNwcDogTmV3IHNoYXJlZCBiYXNlIGNsYXNzIGZvciBUaGVtZU1hYyBhbmQgVGhl
bWVJT1MuCisgICAgICAgIChXZWJDb3JlOjpmaXRDb250ZXh0VG9Cb3gpOgorICAgICAgICAoV2Vi
Q29yZTo6VGhlbWVDb2NvYTo6ZHJhd05hbWVkSW1hZ2UpOiBEcmF3IGFuIEFpclBsYXkgaWNvbiBm
b3Igd2lyZWxlc3MgcGxheWJhY2suCisgICAgICAgICogcGxhdGZvcm0vY29jb2EvVGhlbWVDb2Nv
YS5oOgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQ3Jvc3NmYWRlR2VuZXJhdGVkSW1h
Z2UuaDogRHJpdmUtYnkgcmVtb3ZhbCBvZiB1bm5lY2Vzc2FyeSBmb3J3YXJkIGNsYXNzIGRlZmlu
aXRpb24uCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oOiBBZGQg
TmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlIGFzIGEgZnJpZW5kIGNsYXNzLgorCisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlLmNwcDogTmV3IGNsYXNz
LiBDYWxscyBpbnRvIHRoZSBUaGVtZSB0byByZW5kZXIgdGhlIGFydHdvcmsuCisgICAgICAgIChX
ZWJDb3JlOjpOYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2U6Ok5hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFn
ZSk6CisgICAgICAgIChXZWJDb3JlOjpOYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2U6OmRyYXcpOgor
ICAgICAgICAoV2ViQ29yZTo6TmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlOjpkcmF3UGF0dGVybik6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlLmg6
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvVGhlbWVJT1MuaDogSW5oZXJpdCBmcm9tIFRoZW1l
Q29jb2EuCisgICAgICAgICogcGxhdGZvcm0vbWFjL1RoZW1lTWFjLmg6IERpdHRvLgorCiAyMDE1
LTA2LTE1ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgW0NvbnRlbnQgRXh0ZW5zaW9uc10gTGltaXQgbnVtYmVyIG9mIHJ1bGVzLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dAppbmRleCBjM2Q5ZTBmNWIwMTg3OTk1OTA1ZWExZjJhOWVlMzY3ZDY0ZjUyZTc1
Li4yZDAyMzQ2YTdiYzAxYWY2MDNlOWU3MWQ4OTQ1MjkxODk3ODMxZDY0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dApAQCAtMTI4OSw2ICsxMjg5LDcgQEAgc2V0KFdlYkNvcmVfU09VUkNFUwogICAgIGNz
cy9DU1NLZXlmcmFtZXNSdWxlLmNwcAogICAgIGNzcy9DU1NMaW5lQm94Q29udGFpblZhbHVlLmNw
cAogICAgIGNzcy9DU1NNZWRpYVJ1bGUuY3BwCisgICAgY3NzL0NTU05hbWVkSW1hZ2VWYWx1ZS5j
cHAKICAgICBjc3MvQ1NTT01VdGlscy5jcHAKICAgICBjc3MvQ1NTUGFnZVJ1bGUuY3BwCiAgICAg
Y3NzL0NTU1BhcnNlci5jcHAKQEAgLTIxNjMsNiArMjE2NCw3IEBAIHNldChXZWJDb3JlX1NPVVJD
RVMKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9MYXlvdXRSZWN0LmNwcAogICAgIHBsYXRmb3JtL2dy
YXBoaWNzL01hc2tJbWFnZU9wZXJhdGlvbi5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9NZWRp
YVBsYXllci5jcHAKKyAgICBwbGF0Zm9ybS9ncmFwaGljcy9OYW1lZEltYWdlR2VuZXJhdGVkSW1h
Z2UuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvUGF0aC5jcHAKICAgICBwbGF0Zm9ybS9ncmFw
aGljcy9QYXRoVHJhdmVyc2FsU3RhdGUuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvUGF0dGVy
bi5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3Jl
LnZjeHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9q
CmluZGV4IGIxZmQ2ZDg2ZDAyOGJkYmFiNDc1YzMwMDJhNTg0YWNkNmRkMzhjNWQuLmExOTI5OWE1
YjAwZjBhMTkyNGQxMjFiYmU3ZThhMDQ3MzM1NDYzYWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagpAQCAtODIwMyw2ICs4MjAzLDcgQEAKICAg
ICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEludFNpemUuY3BwIiAv
PgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcTGF5b3V0UmVj
dC5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xN
ZWRpYVBsYXllci5jcHAiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxn
cmFwaGljc1xOYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2UuY3BwIiAvPgogICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcUGF0aC5jcHAiIC8+CiAgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xQYXRoVHJhdmVyc2FsU3RhdGUuY3BwIiAv
PgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcUGF0dGVybi5j
cHAiIC8+CkBAIC05NjM0LDYgKzk2MzUsMjAgQEAKICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2lu
MzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgPC9DbENvbXBpbGU+CisgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxjc3NcQ1NTTmFtZWRJbWFnZVZhbHVlLmNwcCI+CisgICAgICA8RXhj
bHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9
PSdEZWJ1Z3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVk
RnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVi
dWd8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVp
bGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5D
YWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJv
bUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdf
V2luQ2Fpcm98eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRG
cm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1
Z1N1ZmZpeHxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVk
RnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVi
dWdTdWZmaXh8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRG
cm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxl
YXNlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9t
QnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNl
fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5D
YWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJv
bUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFz
ZV9XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRl
ZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1By
b2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRl
ZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1By
b2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgPC9DbENvbXBpbGU+
CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxjc3NcQ1NTT01VdGlscy5jcHAiPgogICAgICAg
PEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9y
bSknPT0nRGVidWd8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNs
dWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09
J0RlYnVnfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgpAQCAtMTk5OTksNiArMjAwMTQs
NyBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcTGF5b3V0
UmVjdC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3Nc
TGF5b3V0U2l6ZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3Jh
cGhpY3NcTWVkaWFQbGF5ZXIuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRm
b3JtXGdyYXBoaWNzXE5hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZS5oIiAvPgogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcTmF0aXZlSW1hZ2VQdHIuaCIgLz4KICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXFBhdGguaCIgLz4KICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXFBhdGhUcmF2ZXJzYWxT
dGF0ZS5oIiAvPgpAQCAtMjA1MDQsNiArMjA1MjAsNyBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5cY3NzXENTU0luaXRpYWxWYWx1ZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5cY3NzXENTU0xpbmVCb3hDb250YWluVmFsdWUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXGNzc1xDU1NNZWRpYVJ1bGUuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XGNzc1xDU1NOYW1lZEltYWdlVmFsdWUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XGNzc1xDU1NPTVV0aWxzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxjc3NcQ1NT
UGFnZVJ1bGUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGNzc1xDU1NQYXJzZXIu
aCIgLz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3Jl
LnZjeHByb2ouZmlsdGVycyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3Jl
LnZjeHByb2ouZmlsdGVycwppbmRleCA0MTQ5ZGJhNTQ5ODM5YjE2OTk4MDE2OGYwYTViMmJkN2Ix
ZDc1MDY3Li5kOTBmOGIxNTc3ZTQyOWE2ZjVhNWJmZWVkYWZhMjgyN2RmMDhjNTBkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRl
cnMKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5m
aWx0ZXJzCkBAIC0xMzc3LDYgKzEzNzcsOSBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
cGxhdGZvcm1cZ3JhcGhpY3NcTWVkaWFQbGF5ZXIuY3BwIj4KICAgICAgIDxGaWx0ZXI+cGxhdGZv
cm1cZ3JhcGhpY3M8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KKyAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXE5hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZS5jcHAi
PgorICAgICAgPEZpbHRlcj5wbGF0Zm9ybVxncmFwaGljczwvRmlsdGVyPgorICAgIDwvQ2xDb21w
aWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcUGF0aC5j
cHAiPgogICAgICAgPEZpbHRlcj5wbGF0Zm9ybVxncmFwaGljczwvRmlsdGVyPgogICAgIDwvQ2xD
b21waWxlPgpAQCAtMjE0OCw2ICsyMTUxLDkgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XGNzc1xDU1NNZWRpYVJ1bGUuY3BwIj4KICAgICAgIDxGaWx0ZXI+Y3NzPC9GaWx0ZXI+CiAgICAg
PC9DbENvbXBpbGU+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxjc3NcQ1NTTmFtZWRJbWFn
ZVZhbHVlLmNwcCI+CisgICAgICA8RmlsdGVyPmNzczwvRmlsdGVyPgorICAgIDwvQ2xDb21waWxl
PgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cY3NzXENTU09NVXRpbHMuY3BwIj4KICAgICAg
IDxGaWx0ZXI+Y3NzPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CkBAIC04NTAyLDYgKzg1MDgs
OSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcTWVkaWFQ
bGF5ZXIuaCI+CiAgICAgICA8RmlsdGVyPnBsYXRmb3JtXGdyYXBoaWNzPC9GaWx0ZXI+CiAgICAg
PC9DbEluY2x1ZGU+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGlj
c1xOYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2UuaCI+CisgICAgICA8RmlsdGVyPnBsYXRmb3JtXGdy
YXBoaWNzPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxwbGF0Zm9ybVxncmFwaGljc1xOYXRpdmVJbWFnZVB0ci5oIj4KICAgICAgIDxGaWx0ZXI+
cGxhdGZvcm1cZ3JhcGhpY3M8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KQEAgLTkxMjYsNiAr
OTEzNSw5IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxjc3NcQ1NTTWVkaWFSdWxlLmgi
PgogICAgICAgPEZpbHRlcj5jc3M8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXGNzc1xDU1NOYW1lZEltYWdlVmFsdWUuaCI+CisgICAgICA8Rmls
dGVyPmNzczwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5cY3NzXENTU09NVXRpbHMuaCI+CiAgICAgICA8RmlsdGVyPmNzczwvRmlsdGVyPgogICAg
IDwvQ2xJbmNsdWRlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCmluZGV4IDAwNTg3ODY2MDE2M2UxMDA3NjM5ZDdlMzRkNTFjMmI1N2I4NGVi
MWUuLjUxNzNhMmU1NmRkNWQyMjlkNzA4Mjg1ZDRlNTgwYzRhNDQwMGMwNmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEyMjMs
NiArMTIyMyw4IEBACiAJCTMxMDc4Q0M4MTg4MEFBQkIwMDgwOTlEQyAvKiBPRVNUZXh0dXJlSGFs
ZkZsb2F0TGluZWFyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAzMTA3OENDMzE4ODBBNkE2MDA4MDk5REMgLyogT0VTVGV4dHVyZUhhbGZGbG9hdExpbmVh
ci5oICovOyB9OwogCQkzMTA3OENDOTE4ODBBQUM5MDA4MDk5REMgLyogSlNPRVNUZXh0dXJlSGFs
ZkZsb2F0TGluZWFyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDMxMDc4Q0M1MTg4MEFBQUEwMDgwOTlEQyAvKiBKU09FU1RleHR1cmVIYWxmRmxvYXRM
aW5lYXIuY3BwICovOyB9OwogCQkzMTA3OENDQTE4ODBBQUNFMDA4MDk5REMgLyogSlNPRVNUZXh0
dXJlSGFsZkZsb2F0TGluZWFyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAzMTA3OENDNjE4ODBBQUFBMDA4MDk5REMgLyogSlNPRVNUZXh0dXJlSGFsZkZs
b2F0TGluZWFyLmggKi87IH07CisJCTMxMEQ3MTk1MUIzMzVDOUQwMDlDN0I3MyAvKiBUaGVtZUNv
Y29hLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMx
MEQ3MTkzMUIzMzVDOUQwMDlDN0I3MyAvKiBUaGVtZUNvY29hLmNwcCAqLzsgfTsKKwkJMzEwRDcx
OTYxQjMzNUM5RTAwOUM3QjczIC8qIFRoZW1lQ29jb2EuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxMEQ3MTk0MUIzMzVDOUQwMDlDN0I3MyAvKiBUaGVt
ZUNvY29hLmggKi87IH07CiAJCTMxMUMwOEJEMThFQjdDQUYwMEI2NTYxNSAvKiBtZWRpYUNvbnRy
b2xzQXBwbGUuY3NzIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDREMxREQ0MTE3Q0MyQzQ4MDA4Q0I1NUQgLyogbWVkaWFDb250cm9sc0FwcGxlLmNzcyAq
LzsgfTsKIAkJMzExQzA4QkUxOEVCN0NBRjAwQjY1NjE1IC8qIG1lZGlhQ29udHJvbHNBcHBsZS5q
cyBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RFNjU2
MEUxN0NBNkU3NjAwNTI2QkE3IC8qIG1lZGlhQ29udHJvbHNBcHBsZS5qcyAqLzsgfTsKIAkJMzEx
QzA4QkYxOEVCN0NBRjAwQjY1NjE1IC8qIG1lZGlhQ29udHJvbHNpT1MuY3NzIGluIFJlc291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREFBRjQ1RDE4NjkwOTRFMDAz
QzE3MTcgLyogbWVkaWFDb250cm9sc2lPUy5jc3MgKi87IH07CkBAIC0xMjQ1LDYgKzEyNDcsMTAg
QEAKIAkJMzE0NkZFNkYxODQ0MjBBQTAwMUE5MzdDIC8qIE9FU1RleHR1cmVGbG9hdExpbmVhci5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTQ2RkU2
NTE4NDQyMDg3MDAxQTkzN0MgLyogT0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcCAqLzsgfTsKIAkJ
MzE0NkZFNzQxODQ0MjM3MDAwMUE5MzdDIC8qIEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxNDZGRTcwMTg0
NDIzNjcwMDFBOTM3QyAvKiBKU09FU1RleHR1cmVGbG9hdExpbmVhci5jcHAgKi87IH07CiAJCTMx
NDZGRTc1MTg0NDIzNzAwMDFBOTM3QyAvKiBKU09FU1RleHR1cmVGbG9hdExpbmVhci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzE0NkZFNzExODQ0MjM2
NzAwMUE5MzdDIC8qIEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmggKi87IH07CisJCTMxNEJFM0Ex
MUIzMEY2QjcwMDE0MTk4MiAvKiBDU1NOYW1lZEltYWdlVmFsdWUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxNEJFM0EwMUIzMEY2QjcwMDE0MTk4MiAv
KiBDU1NOYW1lZEltYWdlVmFsdWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQkzMTRCRTNBMzFCMzBGNkQxMDAxNDE5ODIgLyogQ1NTTmFtZWRJbWFn
ZVZhbHVlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDMxNEJFM0EyMUIzMEY2RDEwMDE0MTk4MiAvKiBDU1NOYW1lZEltYWdlVmFsdWUuY3BwICovOyB9
OworCQkzMTRCRTNBNjFCMzEwM0ZCMDAxNDE5ODIgLyogTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdl
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxNEJF
M0E0MUIzMTAzRkIwMDE0MTk4MiAvKiBOYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2UuY3BwICovOyB9
OworCQkzMTRCRTNBNzFCMzEwM0ZCMDAxNDE5ODIgLyogTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTRCRTNB
NTFCMzEwM0ZCMDAxNDE5ODIgLyogTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlLmggKi87IH07CiAJ
CTMxNjAyM0YwMTUzMkM0MEMwMEQ1MEZGNCAvKiBEaWN0aW9uYXJ5LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTYwMjNFRjE1MzJDNDBDMDBENTBGRjQg
LyogRGljdGlvbmFyeS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTMxNjExRTVBMEUxQzRERTAwMEY2QTU3OSAvKiBKU1dlYktpdENTU1RyYW5zZm9y
bVZhbHVlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDMxNjExRTU4MEUxQzRERTAwMEY2QTU3OSAvKiBKU1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNw
cCAqLzsgfTsKIAkJMzE2MTFFNUIwRTFDNERFMDAwRjZBNTc5IC8qIEpTV2ViS2l0Q1NTVHJhbnNm
b3JtVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDMxNjExRTU5MEUxQzRERTAwMEY2QTU3OSAvKiBKU1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmgg
Ki87IH07CkBAIC04MzgxLDYgKzgzODcsOCBAQAogCQkzMTA3OENDNDE4ODBBNkE2MDA4MDk5REMg
LyogT0VTVGV4dHVyZUhhbGZGbG9hdExpbmVhci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
T0VTVGV4dHVyZUhhbGZGbG9hdExpbmVhci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTMxMDc4Q0M1MTg4MEFBQUEwMDgwOTlEQyAvKiBKU09FU1RleHR1cmVIYWxmRmxvYXRMaW5l
YXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNPRVNUZXh0dXJl
SGFsZkZsb2F0TGluZWFyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzEwNzhD
QzYxODgwQUFBQTAwODA5OURDIC8qIEpTT0VTVGV4dHVyZUhhbGZGbG9hdExpbmVhci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU09FU1RleHR1cmVIYWxmRmxvYXRMaW5lYXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzEwRDcxOTMxQjMzNUM5RDAwOUM3Qjcz
IC8qIFRoZW1lQ29jb2EuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
VGhlbWVDb2NvYS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxMEQ3MTk0MUIz
MzVDOUQwMDlDN0I3MyAvKiBUaGVtZUNvY29hLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFRoZW1lQ29jb2EuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzExQzA4
QkMxOEUzNUQ2ODAwQjY1NjE1IC8qIENvbnRyb2xTdGF0ZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQ29udHJvbFN0YXRlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkzMTI4OEU2RTBFMzAwNUQ2MDAzNjE5QUUgLyogQ1NTS2V5ZnJhbWVSdWxlLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU0tleWZyYW1lUnVsZS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxMjg4RTZGMEUzMDA1RDYwMDM2MTlBRSAvKiBD
U1NLZXlmcmFtZVJ1bGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTS2V5
ZnJhbWVSdWxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC04NDAwLDYgKzg0MDgs
MTAgQEAKIAkJMzE0NkZFNjcxODQ0MjA4NzAwMUE5MzdDIC8qIE9FU1RleHR1cmVGbG9hdExpbmVh
ci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gT0VTVGV4dHVyZUZsb2F0TGluZWFyLmlkbDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzE0NkZFNzAxODQ0MjM2NzAwMUE5MzdDIC8q
IEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMzE0NkZFNzExODQ0MjM2NzAwMUE5MzdDIC8qIEpTT0VTVGV4dHVyZUZsb2F0
TGluZWFyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTT0VTVGV4dHVyZUZs
b2F0TGluZWFyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxNEJFM0EwMUIzMEY2
QjcwMDE0MTk4MiAvKiBDU1NOYW1lZEltYWdlVmFsdWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBsaW5lRW5kaW5nID0gMDsgcGF0aCA9IENTU05hbWVkSW1hZ2VWYWx1ZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB4Y0xhbmd1YWdlU3BlY2lmaWNhdGlvbklkZW50aWZpZXIgPSB4Y29k
ZS5sYW5nLm9iamNwcDsgfTsKKwkJMzE0QkUzQTIxQjMwRjZEMTAwMTQxOTgyIC8qIENTU05hbWVk
SW1hZ2VWYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IGxpbmVFbmRpbmcg
PSAwOyBwYXRoID0gQ1NTTmFtZWRJbWFnZVZhbHVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgeGNMYW5ndWFnZVNwZWNpZmljYXRpb25JZGVudGlmaWVyID0geGNvZGUubGFuZy5jcHA7IH07
CisJCTMxNEJFM0E0MUIzMTAzRkIwMDE0MTk4MiAvKiBOYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2Uu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTmFtZWRJbWFnZUdlbmVy
YXRlZEltYWdlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzE0QkUzQTUxQjMx
MDNGQjAwMTQxOTgyIC8qIE5hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBOYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2UuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzE2MDIzRUYxNTMyQzQwQzAwRDUwRkY0IC8qIERpY3Rpb25h
cnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGljdGlvbmFyeS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMTYxMUU1NDBFMUM0RDRBMDBGNkE1NzkgLyogV2Vi
S2l0Q1NTVHJhbnNmb3JtVmFsdWUuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYktpdENT
U1RyYW5zZm9ybVZhbHVlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzE2MTFF
NTgwRTFDNERFMDAwRjZBNTc5IC8qIEpTV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1
ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMjcwOSw3ICsxMjcyMSw3IEBA
CiAJCUJDMjI3NDc2MEU4MzY2RTIwMEU3Rjk3NSAvKiBTVkdSZW5kZXJTdHlsZURlZnMuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1ZHUmVuZGVyU3R5bGVEZWZzLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkMyMjc0NzcwRTgzNjZFMjAwRTdGOTc1
IC8qIFNWR1JlbmRlclN0eWxlRGVmcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBTVkdSZW5kZXJTdHlsZURlZnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkMy
M0U0RTAwREFBQ0UwRjAwOUZEQzkxIC8qIENTU0dyYWRpZW50VmFsdWUuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NTR3JhZGllbnRWYWx1ZS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUJDMjNFNzZCMERBRTg4QTkwMDlGREM5MSAvKiBDU1NJbWFn
ZUdlbmVyYXRvclZhbHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IENTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlCQzIzRTc2QjBEQUU4OEE5MDA5RkRDOTEgLyogQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IGxpbmVFbmRpbmcgPSAwOyBwYXRoID0gQ1NT
SW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3Vh
Z2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9IHhjb2RlLmxhbmcuY3BwOyB9OwogCQlCQzIzRUU5
MTBEQUVEMkJDMDA5RkRDOTEgLyogQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBDU1NJbWFnZUdlbmVyYXRvclZhbHVlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDMjNGMERBMERBRkY0QTQwMDlGREM5MSAvKiBHZW5lcmF0
ZWRJbWFnZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHZW5lcmF0ZWRJbWFn
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzI0NDFDMzBFOEI2NUQwMDA1NTMy
MEYgLyogU2Nyb2xsVmlldy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBTY3JvbGxWaWV3LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE4OTkxLDYg
KzE5MDAzLDggQEAKIAkJCQk1RDU5NzVCMTE5NjM1RjExMDBEMDA4NzggLyogU3lzdGVtVmVyc2lv
bi5oICovLAogCQkJCTVENTk3NUIyMTk2MzVGMTEwMEQwMDg3OCAvKiBTeXN0ZW1WZXJzaW9uLm1t
ICovLAogCQkJCTdDQzU2NEI5MThCQUM3MjAwMDFCOTY1MiAvKiBUZWxlcGhvbmVOdW1iZXJEZXRl
Y3RvckNvY29hLmNwcCAqLywKKwkJCQkzMTBENzE5MzFCMzM1QzlEMDA5QzdCNzMgLyogVGhlbWVD
b2NvYS5jcHAgKi8sCisJCQkJMzEwRDcxOTQxQjMzNUM5RDAwOUM3QjczIC8qIFRoZW1lQ29jb2Eu
aCAqLywKIAkJCQk0NkRCN0Q1NjFCMjBGRTNDMDA1NjUxQjIgLyogVk5vZGVUcmFja2VyQ29jb2Eu
Y3BwICovLAogCQkJKTsKIAkJCXBhdGggPSBjb2NvYTsKQEAgLTIwOTUzLDYgKzIwOTY3LDggQEAK
IAkJCQkwNzlGNUU0QjBGM0JFQkVBMDA1RTA3ODIgLyogTWVkaWFQbGF5ZXJQcml2YXRlLmggKi8s
CiAJCQkJQ0Q2NDFFQjExODE4RjVFRDAwRUU0QzQxIC8qIE1lZGlhU291cmNlUHJpdmF0ZS5oICov
LAogCQkJCUNEREMxRTc5MThBOTUyRjMwMDI3QTlENCAvKiBNZWRpYVNvdXJjZVByaXZhdGVDbGll
bnQuaCAqLywKKwkJCQkzMTRCRTNBNDFCMzEwM0ZCMDAxNDE5ODIgLyogTmFtZWRJbWFnZUdlbmVy
YXRlZEltYWdlLmNwcCAqLywKKwkJCQkzMTRCRTNBNTFCMzEwM0ZCMDAxNDE5ODIgLyogTmFtZWRJ
bWFnZUdlbmVyYXRlZEltYWdlLmggKi8sCiAJCQkJNkIzNDgwOTIwRUVGNTBENDAwQUMxQjQxIC8q
IE5hdGl2ZUltYWdlUHRyLmggKi8sCiAJCQkJQjI3NTM1NTIwQjA1MzgxNDAwMkNFNjRGIC8qIFBh
dGguY3BwICovLAogCQkJCUIyNzUzNTUzMEIwNTM4MTQwMDJDRTY0RiAvKiBQYXRoLmggKi8sCkBA
IC0yMjQ5Myw2ICsyMjUwOSw4IEBACiAJCQkJQTgwRTZDRDIwQTE5ODlDQTAwN0ZCOEM1IC8qIENT
U01lZGlhUnVsZS5jcHAgKi8sCiAJCQkJQTgwRTZDRDkwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU01l
ZGlhUnVsZS5oICovLAogCQkJCTg1QzU2Q0EyMEFBODlDMTAwMEQ5NTc1NSAvKiBDU1NNZWRpYVJ1
bGUuaWRsICovLAorCQkJCTMxNEJFM0EwMUIzMEY2QjcwMDE0MTk4MiAvKiBDU1NOYW1lZEltYWdl
VmFsdWUuaCAqLywKKwkJCQkzMTRCRTNBMjFCMzBGNkQxMDAxNDE5ODIgLyogQ1NTTmFtZWRJbWFn
ZVZhbHVlLmNwcCAqLywKIAkJCQlGOThGRkY0MjExQTI2NzYyMDBGNTQ4RTggLyogQ1NTT01VdGls
cy5jcHAgKi8sCiAJCQkJRjk4RkZGNDMxMUEyNjc2MjAwRjU0OEU4IC8qIENTU09NVXRpbHMuaCAq
LywKIAkJCQlBODBFNkNDQjBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTUGFnZVJ1bGUuY3BwICovLApA
QCAtMjQxMjAsNiArMjQxMzgsNyBAQAogCQkJCUUxQkQzMzFDMTgyRDhFRTkwMEMwNUQ5RiAvKiBD
cnlwdG9BbGdvcml0aG1Sc2FTc2FQYXJhbXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxMjVGODJD
MTgyMkNGRUMwMEQ4NENEOSAvKiBDcnlwdG9BbGdvcml0aG1TSEExLmggaW4gSGVhZGVycyAqLywK
IAkJCQlFMTlBQzNFRjE4MjREQzc5MDAzNDk0MjYgLyogQ3J5cHRvQWxnb3JpdGhtU0hBMjI0Lmgg
aW4gSGVhZGVycyAqLywKKwkJCQkzMTRCRTNBMTFCMzBGNkI3MDAxNDE5ODIgLyogQ1NTTmFtZWRJ
bWFnZVZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTlBQzNGMTE4MjREQzc5MDAzNDk0MjYg
LyogQ3J5cHRvQWxnb3JpdGhtU0hBMjU2LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTlBQzNGMzE4
MjREQzc5MDAzNDk0MjYgLyogQ3J5cHRvQWxnb3JpdGhtU0hBMzg0LmggaW4gSGVhZGVycyAqLywK
IAkJCQlFMTlBQzNGNTE4MjREQzc5MDAzNDk0MjYgLyogQ3J5cHRvQWxnb3JpdGhtU0hBNTEyLmgg
aW4gSGVhZGVycyAqLywKQEAgLTI1MzU2LDYgKzI1Mzc1LDcgQEAKIAkJCQlFNDQ2MTQzQTBDRDY4
OUM4MDBGQURBNzUgLyogSlNIVE1MTWVkaWFFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkx
QUUyQUU1QzBBMUQyNkYyMDBCNDJCMjUgLyogSlNIVE1MTWVudUVsZW1lbnQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUE4MEU3QTE4MEExOUMzRDYwMDdGQjhDNSAvKiBKU0hUTUxNZXRhRWxlbWVudC5o
IGluIEhlYWRlcnMgKi8sCisJCQkJMzE0QkUzQTcxQjMxMDNGQjAwMTQxOTgyIC8qIE5hbWVkSW1h
Z2VHZW5lcmF0ZWRJbWFnZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTdCQkUyNjcxMUFGQjNGMjAw
MDVFQTAzIC8qIEpTSFRNTE1ldGVyRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFFMkFC
MkEwQTFDRTYzQjAwQjQyQjI1IC8qIEpTSFRNTE1vZEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAog
CQkJCUJDMzA1QzdBMEMwNzZCQjMwMENEMjBGMCAvKiBKU0hUTUxPYmplY3RFbGVtZW50LmggaW4g
SGVhZGVycyAqLywKQEAgLTI2NzcwLDYgKzI2NzkwLDcgQEAKIAkJCQlCMjU1OTlBNDBEMDBEOEJB
MDBCQjgyNUMgLyogU1ZHSW1hZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTA4Rjg1OUQ1MTQ2M0Y5
Q0QwMDY3RDkzMyAvKiBTVkdJbWFnZUNhY2hlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyN0Ey
RDBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHSW1hZ2VFbGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJ
CQkzMTBENzE5NjFCMzM1QzlFMDA5QzdCNzMgLyogVGhlbWVDb2NvYS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMDhGODU5RDUxNDYzRjlDRDAwNjdEOTM0IC8qIFNWR0ltYWdlRm9yQ29udGFpbmVyLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCMjhDNkEyQTBEMDBDNDQ4MDAzMzRBQTQgLyogU1ZHSW1hZ2VM
b2FkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTA4NTRCMDFGMTI1NUU0RTYwMEI5Q0REMCAvKiBT
VkdJbmxpbmVGbG93Qm94LmggaW4gSGVhZGVycyAqLywKQEAgLTI4NDcwLDYgKzI4NDkxLDcgQEAK
IAkJCQlBODEzNjlDRDA5NzM3NEY2MDBENzQ0NjMgLyogSFRNTElucHV0RWxlbWVudC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk5MzMwOURFNTA5OUU2NDkyMDA1NkU1ODEgLyogSFRNTEludGVyY2hh
bmdlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4MTM2OUU1MDk3Mzc0RjYwMEQ3NDQ2MyAvKiBI
VE1MS2V5Z2VuRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkzMTRCRTNBNjFCMzEwM0ZC
MDAxNDE5ODIgLyogTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUE4MTM2OUUzMDk3Mzc0RjYwMEQ3NDQ2MyAvKiBIVE1MTGFiZWxFbGVtZW50LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUE4MTM2OUUxMDk3Mzc0RjYwMEQ3NDQ2MyAvKiBIVE1MTGVnZW5kRWxl
bWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEVBNzlGQzBBMTkxNkRGMDBBOEVGNUYgLyog
SFRNTExJRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI4NTEyLDYgKzI4NTM0LDcgQEAK
IAkJCQk5NzhBRDY3NDE0MTMwQThEMDBDN0NBRTMgLyogSFRNTFNwYW5FbGVtZW50LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTUzNkQ1QTIxMTkzRTE4RUUwMENFNENBQiAvKiBIVE1MU3Jjc2V0UGFy
c2VyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4NzFEQzI2MEExNTIwNTcwMEIxMkE2OCAvKiBI
VE1MU3R5bGVFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTMxMEQ3MTk1MUIzMzVDOUQw
MDlDN0I3MyAvKiBUaGVtZUNvY29hLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUQzRDRFOTcyMTMw
QzdDRkUwMDdCQTU0MCAvKiBIVE1MU3VtbWFyeUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQTg3MURCMzIwQTE1MEJENjAwQjEyQTY4IC8qIEhUTUxUYWJsZUNhcHRpb25FbGVtZW50LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUE4NzFEQjJFMEExNTBCRDYwMEIxMkE2OCAvKiBIVE1MVGFi
bGVDZWxsRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI5ODkyLDYgKzI5OTE1LDcgQEAK
IAkJCQlCQ0VDMDFCRDBDMjc0REFDMDA5RjRFQzkgLyogU2NyZWVuLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUE4NEQ4MkMyMTFEMzQ3NDgwMDk3Mjk5MCAvKiBTY3JpcHRhYmxlRG9jdW1lbnRQYXJz
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDFGMUQyMjAwRUYzNUMyQTAwREE4NzUzIC8qIFNj
cmlwdENhY2hlZEZyYW1lRGF0YS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkzMTRCRTNBMzFCMzBG
NkQxMDAxNDE5ODIgLyogQ1NTTmFtZWRJbWFnZVZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTkzQjcwRDZGMDlFQjBDN0MwMDlEODQ2OCAvKiBTY3JpcHRDb250cm9sbGVyLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUE4M0UxQzc0MEU0OTA0MkMwMDE0MEI5QyAvKiBTY3JpcHRDb250cm9sbGVy
TWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNDk5OEFFRDExM0ZCMjI0RDAwOTBCMUFBIC8qIFNj
cmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NBbGxJbk9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTQWxsSW5PbmUuY3BwCmluZGV4IDNmNWRkYmQ1Y2ZkNDZiMGQwMTc5MGI4MjA1ZDZmMTZlMDM0
NjFiZDAuLjUxNmI2ODIxZGY3NWQ2MTZkMGVmNjhiZGRjYTQ2YjExMzI5MzE3MzkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NBbGxJbk9uZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0FsbEluT25lLmNwcApAQCAtNTcsNiArNTcsNyBAQAogI2luY2x1ZGUgIkNTU0lu
aXRpYWxWYWx1ZS5jcHAiCiAjaW5jbHVkZSAiQ1NTTGluZUJveENvbnRhaW5WYWx1ZS5jcHAiCiAj
aW5jbHVkZSAiQ1NTTWVkaWFSdWxlLmNwcCIKKyNpbmNsdWRlICJDU1NOYW1lZEltYWdlVmFsdWUu
Y3BwIgogI2luY2x1ZGUgIkNTU09NVXRpbHMuY3BwIgogI2luY2x1ZGUgIkNTU1BhZ2VSdWxlLmNw
cCIKICNpbmNsdWRlICJDU1NQYXJzZXIuY3BwIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0lt
YWdlR2VuZXJhdG9yVmFsdWUuY3BwCmluZGV4IDE3ZDNlZWI5ZTJiYzE0ZTZiZTc1MWM0NzIzYzMy
NmJhNjNjMGNjYmEuLmViNDg4OWVmNmUzMjQ2NTc0ZmE3YTEyMGJlM2IwODdiNWQ2YmY3MmMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHAKQEAgLTMy
LDYgKzMyLDcgQEAKICNpbmNsdWRlICJDU1NGaWx0ZXJJbWFnZVZhbHVlLmgiCiAjaW5jbHVkZSAi
Q1NTR3JhZGllbnRWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0ltYWdlVmFsdWUuaCIKKyNpbmNsdWRl
ICJDU1NOYW1lZEltYWdlVmFsdWUuaCIKICNpbmNsdWRlICJHZW5lcmF0ZWRJbWFnZS5oIgogI2lu
Y2x1ZGUgIlJlbmRlckVsZW1lbnQuaCIKICNpbmNsdWRlICJTdHlsZUNhY2hlZEltYWdlLmgiCkBA
IC0xMTAsNiArMTExLDggQEAgUGFzc1JlZlB0cjxJbWFnZT4gQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1
ZTo6aW1hZ2UoUmVuZGVyRWxlbWVudCogcmVuZGVyZXIsIGNvbnN0IEYKICAgICBzd2l0Y2ggKGNs
YXNzVHlwZSgpKSB7CiAgICAgY2FzZSBDYW52YXNDbGFzczoKICAgICAgICAgcmV0dXJuIGRvd25j
YXN0PENTU0NhbnZhc1ZhbHVlPigqdGhpcykuaW1hZ2UocmVuZGVyZXIsIHNpemUpOworICAgIGNh
c2UgTmFtZWRJbWFnZUNsYXNzOgorICAgICAgICByZXR1cm4gZG93bmNhc3Q8Q1NTTmFtZWRJbWFn
ZVZhbHVlPigqdGhpcykuaW1hZ2UocmVuZGVyZXIsIHNpemUpOwogICAgIGNhc2UgQ3Jvc3NmYWRl
Q2xhc3M6CiAgICAgICAgIHJldHVybiBkb3duY2FzdDxDU1NDcm9zc2ZhZGVWYWx1ZT4oKnRoaXMp
LmltYWdlKHJlbmRlcmVyLCBzaXplKTsKICAgICBjYXNlIEZpbHRlckltYWdlQ2xhc3M6CkBAIC0x
MjksNiArMTMyLDggQEAgYm9vbCBDU1NJbWFnZUdlbmVyYXRvclZhbHVlOjppc0ZpeGVkU2l6ZSgp
IGNvbnN0CiAgICAgc3dpdGNoIChjbGFzc1R5cGUoKSkgewogICAgIGNhc2UgQ2FudmFzQ2xhc3M6
CiAgICAgICAgIHJldHVybiBkb3duY2FzdDxDU1NDYW52YXNWYWx1ZT4oKnRoaXMpLmlzRml4ZWRT
aXplKCk7CisgICAgY2FzZSBOYW1lZEltYWdlQ2xhc3M6CisgICAgICAgIHJldHVybiBkb3duY2Fz
dDxDU1NOYW1lZEltYWdlVmFsdWU+KCp0aGlzKS5pc0ZpeGVkU2l6ZSgpOwogICAgIGNhc2UgQ3Jv
c3NmYWRlQ2xhc3M6CiAgICAgICAgIHJldHVybiBkb3duY2FzdDxDU1NDcm9zc2ZhZGVWYWx1ZT4o
KnRoaXMpLmlzRml4ZWRTaXplKCk7CiAgICAgY2FzZSBGaWx0ZXJJbWFnZUNsYXNzOgpAQCAtMTY5
LDYgKzE3NCw4IEBAIGJvb2wgQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZTo6aXNQZW5kaW5nKCkgY29u
c3QKICAgICAgICAgcmV0dXJuIGRvd25jYXN0PENTU0Nyb3NzZmFkZVZhbHVlPigqdGhpcykuaXNQ
ZW5kaW5nKCk7CiAgICAgY2FzZSBDYW52YXNDbGFzczoKICAgICAgICAgcmV0dXJuIGRvd25jYXN0
PENTU0NhbnZhc1ZhbHVlPigqdGhpcykuaXNQZW5kaW5nKCk7CisgICAgY2FzZSBOYW1lZEltYWdl
Q2xhc3M6CisgICAgICAgIHJldHVybiBkb3duY2FzdDxDU1NOYW1lZEltYWdlVmFsdWU+KCp0aGlz
KS5pc1BlbmRpbmcoKTsKICAgICBjYXNlIEZpbHRlckltYWdlQ2xhc3M6CiAgICAgICAgIHJldHVy
biBkb3duY2FzdDxDU1NGaWx0ZXJJbWFnZVZhbHVlPigqdGhpcykuaXNQZW5kaW5nKCk7CiAgICAg
Y2FzZSBMaW5lYXJHcmFkaWVudENsYXNzOgpAQCAtMTg4LDYgKzE5NSw4IEBAIGJvb2wgQ1NTSW1h
Z2VHZW5lcmF0b3JWYWx1ZTo6a25vd25Ub0JlT3BhcXVlKGNvbnN0IFJlbmRlckVsZW1lbnQqIHJl
bmRlcmVyKSBjb25zCiAgICAgICAgIHJldHVybiBkb3duY2FzdDxDU1NDcm9zc2ZhZGVWYWx1ZT4o
KnRoaXMpLmtub3duVG9CZU9wYXF1ZShyZW5kZXJlcik7CiAgICAgY2FzZSBDYW52YXNDbGFzczoK
ICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGNhc2UgTmFtZWRJbWFnZUNsYXNzOgorICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgY2FzZSBGaWx0ZXJJbWFnZUNsYXNzOgogICAgICAgICByZXR1
cm4gZG93bmNhc3Q8Q1NTRmlsdGVySW1hZ2VWYWx1ZT4oKnRoaXMpLmtub3duVG9CZU9wYXF1ZShy
ZW5kZXJlcik7CiAgICAgY2FzZSBMaW5lYXJHcmFkaWVudENsYXNzOgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU05hbWVkSW1hZ2VWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTTmFtZWRJbWFnZVZhbHVlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xYWRkNTQ2ZjUzYzczZjVkNWY4
ZDMxNDdlMWE0NzY3YWJiY2RjNGViCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU05hbWVkSW1hZ2VWYWx1ZS5jcHAKQEAgLTAsMCArMSw1NCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNSBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAor
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiQ1NTTmFtZWRJbWFnZVZhbHVlLmgiCisKKyNpbmNsdWRlICJJbWFnZUJ1ZmZlci5o
IgorI2luY2x1ZGUgIk5hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZS5oIgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK1N0cmluZyBDU1NOYW1lZEltYWdlVmFsdWU6OmN1c3RvbUNTU1RleHQoKSBjb25z
dAoreworICAgIHJldHVybiBtYWtlU3RyaW5nKCItd2Via2l0LW5hbWVkLWltYWdlKCIsIG1fbmFt
ZSwgJyknKTsKK30KKworUGFzc1JlZlB0cjxJbWFnZT4gQ1NTTmFtZWRJbWFnZVZhbHVlOjppbWFn
ZShSZW5kZXJFbGVtZW50KiwgY29uc3QgRmxvYXRTaXplJiBzaXplKQoreworICAgIGlmIChzaXpl
LmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBtX2dlbmVyYXRlZElt
YWdlID0gTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlOjpjcmVhdGUobV9uYW1lLCBzaXplKTsKKwor
ICAgIHJldHVybiBtX2dlbmVyYXRlZEltYWdlLnJlbGVhc2UoKTsKK30KKworYm9vbCBDU1NOYW1l
ZEltYWdlVmFsdWU6OmVxdWFscyhjb25zdCBDU1NOYW1lZEltYWdlVmFsdWUmIG90aGVyKSBjb25z
dAoreworICAgIHJldHVybiBtX25hbWUgPT0gb3RoZXIubV9uYW1lOworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTmFtZWRJbWFn
ZVZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTmFtZWRJbWFnZVZhbHVlLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNjk5NGYzNTNhMDA5MzIzMWMzYmQ1Y2FhZGQwOGE4MGRmMzE1YzQ3YwotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NOYW1lZEltYWdlVmFsdWUuaApAQCAtMCww
ICsxLDY1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2lmbmRlZiBDU1NOYW1lZEltYWdlVmFsdWVfaAorI2RlZmluZSBDU1NOYW1lZEltYWdlVmFsdWVf
aAorCisjaW5jbHVkZSAiQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5oIgorCisjaW5jbHVkZSAiSW1h
Z2UuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBEb2N1bWVudDsKKworY2xhc3Mg
Q1NTTmFtZWRJbWFnZVZhbHVlIDogcHVibGljIENTU0ltYWdlR2VuZXJhdG9yVmFsdWUgeworcHVi
bGljOgorICAgIHN0YXRpYyBSZWY8Q1NTTmFtZWRJbWFnZVZhbHVlPiBjcmVhdGUoY29uc3QgU3Ry
aW5nJiBuYW1lKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IENTU05hbWVkSW1hZ2VWYWx1ZShuYW1l
KSk7IH0KKworICAgIFN0cmluZyBjdXN0b21DU1NUZXh0KCkgY29uc3Q7CisKKyAgICBib29sIGlz
Rml4ZWRTaXplKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyAgICBib29sIGlzUGVuZGluZygp
IGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisKKyAgICBQYXNzUmVmUHRyPEltYWdlPiBpbWFnZShS
ZW5kZXJFbGVtZW50KiwgY29uc3QgRmxvYXRTaXplJik7CisKKyAgICBib29sIGVxdWFscyhjb25z
dCBDU1NOYW1lZEltYWdlVmFsdWUmKSBjb25zdDsKKworcHJpdmF0ZToKKyAgICBleHBsaWNpdCBD
U1NOYW1lZEltYWdlVmFsdWUoY29uc3QgU3RyaW5nJiBuYW1lKQorICAgICAgICA6IENTU0ltYWdl
R2VuZXJhdG9yVmFsdWUoTmFtZWRJbWFnZUNsYXNzKQorICAgICAgICAsIG1fbmFtZShuYW1lKQor
ICAgIHsKKyAgICB9CisKKyAgICBTdHJpbmcgbV9uYW1lOworICAgIFJlZlB0cjxJbWFnZT4gbV9n
ZW5lcmF0ZWRJbWFnZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworU1BFQ0lBTEla
RV9UWVBFX1RSQUlUU19DU1NfVkFMVUUoQ1NTTmFtZWRJbWFnZVZhbHVlLCBpc05hbWVkSW1hZ2VW
YWx1ZSgpKQorCisjZW5kaWYgLy8gQ1NTTmFtZWRJbWFnZVZhbHVlX2gKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Bh
cnNlci5jcHAKaW5kZXggYjJjYTAzMTdhMTUyMTYzZTk3NDIwOWI2OTQ5YjE5MTk0MWU2MGM5NC4u
ZTcyZTNmYjJiNzE1ZmY0ZjdmNjk0NWRhMjNiYmM1M2U0ODdkMTA2YyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1BhcnNlci5jcHAKQEAgLTUwLDYgKzUwLDcgQEAKICNpbmNsdWRlICJDU1NLZXlmcmFtZXNSdWxl
LmgiCiAjaW5jbHVkZSAiQ1NTTGluZUJveENvbnRhaW5WYWx1ZS5oIgogI2luY2x1ZGUgIkNTU01l
ZGlhUnVsZS5oIgorI2luY2x1ZGUgIkNTU05hbWVkSW1hZ2VWYWx1ZS5oIgogI2luY2x1ZGUgIkNT
U1BhZ2VSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTUHJpbWl0aXZlVmFsdWUuaCIKICNpbmNsdWRlICJD
U1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgiCkBAIC05MTUyLDcgKzkxNTMsOCBAQCBib29sIENT
U1BhcnNlcjo6aXNHZW5lcmF0ZWRJbWFnZVZhbHVlKENTU1BhcnNlclZhbHVlJiB2YWx1ZSkgY29u
c3QKICAgICAgICAgfHwgZXF1YWxJZ25vcmluZ0Nhc2UodmFsdWUuZnVuY3Rpb24tPm5hbWUsICJy
ZXBlYXRpbmctcmFkaWFsLWdyYWRpZW50KCIpCiAgICAgICAgIHx8IGVxdWFsSWdub3JpbmdDYXNl
KHZhbHVlLmZ1bmN0aW9uLT5uYW1lLCAiLXdlYmtpdC1jYW52YXMoIikKICAgICAgICAgfHwgZXF1
YWxJZ25vcmluZ0Nhc2UodmFsdWUuZnVuY3Rpb24tPm5hbWUsICItd2Via2l0LWNyb3NzLWZhZGUo
IikKLSAgICAgICAgfHwgZXF1YWxJZ25vcmluZ0Nhc2UodmFsdWUuZnVuY3Rpb24tPm5hbWUsICIt
d2Via2l0LWZpbHRlcigiKTsKKyAgICAgICAgfHwgZXF1YWxJZ25vcmluZ0Nhc2UodmFsdWUuZnVu
Y3Rpb24tPm5hbWUsICItd2Via2l0LWZpbHRlcigiKQorICAgICAgICB8fCBlcXVhbElnbm9yaW5n
Q2FzZSh2YWx1ZS5mdW5jdGlvbi0+bmFtZSwgIi13ZWJraXQtbmFtZWQtaW1hZ2UoIik7CiB9CiAK
IGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUdlbmVyYXRlZEltYWdlKENTU1BhcnNlclZhbHVlTGlzdCYg
dmFsdWVMaXN0LCBSZWZQdHI8Q1NTVmFsdWU+JiB2YWx1ZSkKQEAgLTkxOTgsNiArOTIwMCw5IEBA
IGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUdlbmVyYXRlZEltYWdlKENTU1BhcnNlclZhbHVlTGlzdCYg
dmFsdWVMaXN0LCBSZWZQdHI8Q1NTVmFsCiAgICAgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHBhcnNl
clZhbHVlLmZ1bmN0aW9uLT5uYW1lLCAiLXdlYmtpdC1maWx0ZXIoIikpCiAgICAgICAgIHJldHVy
biBwYXJzZUZpbHRlckltYWdlKHZhbHVlTGlzdCwgdmFsdWUpOwogCisgICAgaWYgKGVxdWFsSWdu
b3JpbmdDYXNlKHBhcnNlclZhbHVlLmZ1bmN0aW9uLT5uYW1lLCAiLXdlYmtpdC1uYW1lZC1pbWFn
ZSgiKSkKKyAgICAgICAgcmV0dXJuIHBhcnNlTmFtZWRJbWFnZSh2YWx1ZUxpc3QsIHZhbHVlKTsK
KwogICAgIHJldHVybiBmYWxzZTsKIH0KIApAQCAtOTMxMCw2ICs5MzE1LDIxIEBAIGJvb2wgQ1NT
UGFyc2VyOjpwYXJzZUNhbnZhcyhDU1NQYXJzZXJWYWx1ZUxpc3QmIHZhbHVlTGlzdCwgUmVmUHRy
PENTU1ZhbHVlPiYgY2FuCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK2Jvb2wgQ1NTUGFyc2VyOjpw
YXJzZU5hbWVkSW1hZ2UoQ1NTUGFyc2VyVmFsdWVMaXN0JiB2YWx1ZUxpc3QsIFJlZlB0cjxDU1NW
YWx1ZT4mIG5hbWVkSW1hZ2UpCit7CisgICAgQ1NTUGFyc2VyVmFsdWVMaXN0KiBhcmdzID0gdmFs
dWVMaXN0LmN1cnJlbnQoKS0+ZnVuY3Rpb24tPmFyZ3MuZ2V0KCk7CisgICAgaWYgKCFhcmdzIHx8
IGFyZ3MtPnNpemUoKSAhPSAxKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAvLyBUaGUg
b25seSBhcmd1bWVudCBpcyB0aGUgaW1hZ2UgbmFtZS4KKyAgICBDU1NQYXJzZXJWYWx1ZSogdmFs
dWUgPSBhcmdzLT5jdXJyZW50KCk7CisgICAgaWYgKCF2YWx1ZSB8fCB2YWx1ZS0+dW5pdCAhPSBD
U1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0lERU5UKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICBuYW1lZEltYWdlID0gQ1NTTmFtZWRJbWFnZVZhbHVlOjpjcmVhdGUodmFsdWUtPnN0cmluZyk7
CisgICAgcmV0dXJuIHRydWU7Cit9CisKICNpZiBFTkFCTEUoQ1NTX0lNQUdFX1JFU09MVVRJT04p
CiBQYXNzUmVmUHRyPENTU1ZhbHVlPiBDU1NQYXJzZXI6OnBhcnNlSW1hZ2VSZXNvbHV0aW9uKCkK
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAppbmRleCA1Mjk5ZGJiYTBlYWQxNzg4Njg5M2YwN2M1OTAz
ZDc4NGY2MjVhM2ExLi4zOThjMmY0Y2U1NTQ1Y2RjMTZhNDViYzU2MTJhM2I2YTU5ZTA0Zjg4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1BhcnNlci5oCkBAIC0yOTAsNiArMjkwLDcgQEAgcHVibGljOgogCiAgICAg
Ly8gSW1hZ2UgZ2VuZXJhdG9ycwogICAgIGJvb2wgcGFyc2VDYW52YXMoQ1NTUGFyc2VyVmFsdWVM
aXN0JiwgUmVmUHRyPENTU1ZhbHVlPiYpOworICAgIGJvb2wgcGFyc2VOYW1lZEltYWdlKENTU1Bh
cnNlclZhbHVlTGlzdCYsIFJlZlB0cjxDU1NWYWx1ZT4mKTsKIAogICAgIGJvb2wgcGFyc2VEZXBy
ZWNhdGVkR3JhZGllbnQoQ1NTUGFyc2VyVmFsdWVMaXN0JiwgUmVmUHRyPENTU1ZhbHVlPiYpOwog
ICAgIGJvb2wgcGFyc2VEZXByZWNhdGVkTGluZWFyR3JhZGllbnQoQ1NTUGFyc2VyVmFsdWVMaXN0
JiwgUmVmUHRyPENTU1ZhbHVlPiYsIENTU0dyYWRpZW50UmVwZWF0IHJlcGVhdGluZyk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1ZhbHVlLmNwcAppbmRleCA0MzFkZDQ1NDlkMjE4ZDdlMDVhOTY1NTM2NjA0NWQxYzYy
Y2ZiY2MzLi45ZWIxOWFiMjgwYzI1ZjBjZjBlZjNiNzVjMGUwMTYzMjA2NTc2ZjY3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NWYWx1ZS5jcHAKQEAgLTQ3LDYgKzQ3LDcgQEAKICNpbmNsdWRlICJDU1NJbmhlcml0
ZWRWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0luaXRpYWxWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0xp
bmVCb3hDb250YWluVmFsdWUuaCIKKyNpbmNsdWRlICJDU1NOYW1lZEltYWdlVmFsdWUuaCIKICNp
bmNsdWRlICJDU1NQcmltaXRpdmVWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU1JlZmxlY3RWYWx1ZS5o
IgogI2luY2x1ZGUgIkNTU1NoYWRvd1ZhbHVlLmgiCkBAIC0xNjgsNiArMTY5LDggQEAgYm9vbCBD
U1NWYWx1ZTo6ZXF1YWxzKGNvbnN0IENTU1ZhbHVlJiBvdGhlcikgY29uc3QKICAgICAgICAgICAg
IHJldHVybiBjb21wYXJlQ1NTVmFsdWVzPENTU0JvcmRlckltYWdlU2xpY2VWYWx1ZT4oKnRoaXMs
IG90aGVyKTsKICAgICAgICAgY2FzZSBDYW52YXNDbGFzczoKICAgICAgICAgICAgIHJldHVybiBj
b21wYXJlQ1NTVmFsdWVzPENTU0NhbnZhc1ZhbHVlPigqdGhpcywgb3RoZXIpOworICAgICAgICBj
YXNlIE5hbWVkSW1hZ2VDbGFzczoKKyAgICAgICAgICAgIHJldHVybiBjb21wYXJlQ1NTVmFsdWVz
PENTU05hbWVkSW1hZ2VWYWx1ZT4oKnRoaXMsIG90aGVyKTsKICAgICAgICAgY2FzZSBDdXJzb3JJ
bWFnZUNsYXNzOgogICAgICAgICAgICAgcmV0dXJuIGNvbXBhcmVDU1NWYWx1ZXM8Q1NTQ3Vyc29y
SW1hZ2VWYWx1ZT4oKnRoaXMsIG90aGVyKTsKICAgICAgICAgY2FzZSBGaWx0ZXJJbWFnZUNsYXNz
OgpAQCAtMjYwLDYgKzI2Myw4IEBAIFN0cmluZyBDU1NWYWx1ZTo6Y3NzVGV4dCgpIGNvbnN0CiAg
ICAgICAgIHJldHVybiBkb3duY2FzdDxDU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWU+KCp0aGlzKS5j
dXN0b21DU1NUZXh0KCk7CiAgICAgY2FzZSBDYW52YXNDbGFzczoKICAgICAgICAgcmV0dXJuIGRv
d25jYXN0PENTU0NhbnZhc1ZhbHVlPigqdGhpcykuY3VzdG9tQ1NTVGV4dCgpOworICAgIGNhc2Ug
TmFtZWRJbWFnZUNsYXNzOgorICAgICAgICByZXR1cm4gZG93bmNhc3Q8Q1NTTmFtZWRJbWFnZVZh
bHVlPigqdGhpcykuY3VzdG9tQ1NTVGV4dCgpOwogICAgIGNhc2UgQ3Vyc29ySW1hZ2VDbGFzczoK
ICAgICAgICAgcmV0dXJuIGRvd25jYXN0PENTU0N1cnNvckltYWdlVmFsdWU+KCp0aGlzKS5jdXN0
b21DU1NUZXh0KCk7CiAgICAgY2FzZSBGaWx0ZXJJbWFnZUNsYXNzOgpAQCAtMzUyLDYgKzM1Nyw5
IEBAIHZvaWQgQ1NTVmFsdWU6OmRlc3Ryb3koKQogICAgIGNhc2UgQ2FudmFzQ2xhc3M6CiAgICAg
ICAgIGRlbGV0ZSBkb3duY2FzdDxDU1NDYW52YXNWYWx1ZT4odGhpcyk7CiAgICAgICAgIHJldHVy
bjsKKyAgICBjYXNlIE5hbWVkSW1hZ2VDbGFzczoKKyAgICAgICAgZGVsZXRlIGRvd25jYXN0PENT
U05hbWVkSW1hZ2VWYWx1ZT4odGhpcyk7CisgICAgICAgIHJldHVybjsKICAgICBjYXNlIEN1cnNv
ckltYWdlQ2xhc3M6CiAgICAgICAgIGRlbGV0ZSBkb3duY2FzdDxDU1NDdXJzb3JJbWFnZVZhbHVl
Pih0aGlzKTsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1ZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaAppbmRleCA5YTQwNjg2
ODljMTY3MWRkOTJhNTFmMDdmY2VhNzJjZjFhMDkwMjE2Li41OWVhMWM5NTk3ODdhMjMxN2JiMDFl
YjYzNTkxMDQ1NWMyMzY4OTM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFs
dWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaApAQCAtNzksNiArNzksNyBA
QCBwdWJsaWM6CiAgICAgYm9vbCBpc0ZvbnRWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NU
eXBlID09IEZvbnRDbGFzczsgfQogICAgIGJvb2wgaXNJbWFnZUdlbmVyYXRvclZhbHVlKCkgY29u
c3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPj0gQ2FudmFzQ2xhc3MgJiYgbV9jbGFzc1R5cGUgPD0g
UmFkaWFsR3JhZGllbnRDbGFzczsgfQogICAgIGJvb2wgaXNHcmFkaWVudFZhbHVlKCkgY29uc3Qg
eyByZXR1cm4gbV9jbGFzc1R5cGUgPj0gTGluZWFyR3JhZGllbnRDbGFzcyAmJiBtX2NsYXNzVHlw
ZSA8PSBSYWRpYWxHcmFkaWVudENsYXNzOyB9CisgICAgYm9vbCBpc05hbWVkSW1hZ2VWYWx1ZSgp
IGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IE5hbWVkSW1hZ2VDbGFzczsgfQogI2lmIEVO
QUJMRShDU1NfSU1BR0VfU0VUKQogICAgIGJvb2wgaXNJbWFnZVNldFZhbHVlKCkgY29uc3QgeyBy
ZXR1cm4gbV9jbGFzc1R5cGUgPT0gSW1hZ2VTZXRDbGFzczsgfQogI2VuZGlmCkBAIC0xMzksNiAr
MTQwLDcgQEAgcHJvdGVjdGVkOgogCiAgICAgICAgIC8vIEltYWdlIGdlbmVyYXRvciBjbGFzc2Vz
LgogICAgICAgICBDYW52YXNDbGFzcywKKyAgICAgICAgTmFtZWRJbWFnZUNsYXNzLAogICAgICAg
ICBDcm9zc2ZhZGVDbGFzcywKICAgICAgICAgRmlsdGVySW1hZ2VDbGFzcywKICAgICAgICAgTGlu
ZWFyR3JhZGllbnRDbGFzcywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Ro
ZW1lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lLmNwcAppbmRleCA5NjU0N2E3
Y2Y1NmM1MmQ4ZmQwODMyY2VmODEyM2NiYTgzNmQzMmZlLi5lYWM3MzUyNTQxY2E2MDAyZGY3YjA4
NGE2NzdjMjJmZTBlOWExMTgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9U
aGVtZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWUuY3BwCkBAIC0yNiw2
ICsyNiw4IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiVGhlbWUuaCIKIAorI2lu
Y2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIExlbmd0
aEJveCBUaGVtZTo6Y29udHJvbEJvcmRlcihDb250cm9sUGFydCBwYXJ0LCBjb25zdCBGb250Q2Fz
Y2FkZSYsIGNvbnN0IExlbmd0aEJveCYgem9vbWVkQm94LCBmbG9hdCkgY29uc3QKQEAgLTU1LDQg
KzU3LDYwIEBAIExlbmd0aEJveCBUaGVtZTo6Y29udHJvbFBhZGRpbmcoQ29udHJvbFBhcnQgcGFy
dCwgY29uc3QgRm9udENhc2NhZGUmLCBjb25zdCBMZW5nCiAgICAgfQogfQogCit2b2lkIFRoZW1l
OjpkcmF3TmFtZWRJbWFnZShjb25zdCBTdHJpbmcmIG5hbWUsIEdyYXBoaWNzQ29udGV4dCogY29u
dGV4dCwgY29uc3QgRmxvYXRSZWN0JiByZWN0KSBjb25zdAoreworICAgIC8vIFdlIG9ubHkgaGFu
ZGxlIG9uZSBpY29uIGF0IHRoZSBtb21lbnQuCisgICAgaWYgKG5hbWUgIT0gIndpcmVsZXNzLXBs
YXliYWNrIikKKyAgICAgICAgcmV0dXJuOworCisgICAgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZl
ciBzdGF0ZVNhdmVyKCpjb250ZXh0KTsKKyAgICBjb250ZXh0LT5zZXRGaWxsQ29sb3IoQ29sb3I6
OmJsYWNrLCBDb2xvclNwYWNlRGV2aWNlUkdCKTsKKworICAgIC8vIERyYXcgYSBnZW5lcmljIFdp
cmVsZXNzIFBsYXliYWNrIGljb24uCisKKyAgICBjb250ZXh0LT5zY2FsZShGbG9hdFNpemUocmVj
dC5zaXplKCkud2lkdGgoKSAvIDEwMCwgcmVjdC5zaXplKCkuaGVpZ2h0KCkgLyAxMDApKTsKKyAg
ICBjb250ZXh0LT50cmFuc2xhdGUoOCwgMSk7CisKKyAgICBQYXRoIG91dGxpbmU7CisgICAgb3V0
bGluZS5tb3ZlVG8oRmxvYXRQb2ludCg1OSwgNTguNykpOworICAgIG91dGxpbmUuYWRkQmV6aWVy
Q3VydmVUbyhGbG9hdFBvaW50KDU4LjEsIDU4LjcpLCBGbG9hdFBvaW50KDU3LjIsIDU4LjQpLCBG
bG9hdFBvaW50KDU2LjQsIDU3LjcpKTsKKyAgICBvdXRsaW5lLmFkZExpbmVUbyhGbG9hdFBvaW50
KDQyLCA0NS41KSk7CisgICAgb3V0bGluZS5hZGRMaW5lVG8oRmxvYXRQb2ludCgyNy42LCA1Ny44
KSk7CisgICAgb3V0bGluZS5hZGRCZXppZXJDdXJ2ZVRvKEZsb2F0UG9pbnQoMjUuOSwgNTkuMiks
IEZsb2F0UG9pbnQoMjMuNCwgNTkpLCBGbG9hdFBvaW50KDIyLCA1Ny4zKSk7CisgICAgb3V0bGlu
ZS5hZGRCZXppZXJDdXJ2ZVRvKEZsb2F0UG9pbnQoMjAuNiwgNTUuNiksIEZsb2F0UG9pbnQoMjAu
OCwgNTMuMSksIEZsb2F0UG9pbnQoMjIuNSwgNTEuNykpOworICAgIG91dGxpbmUuYWRkTGluZVRv
KEZsb2F0UG9pbnQoMzkuNSwgMzcuMykpOworICAgIG91dGxpbmUuYWRkQmV6aWVyQ3VydmVUbyhG
bG9hdFBvaW50KDQxLCAzNiksIEZsb2F0UG9pbnQoNDMuMiwgMzYpLCBGbG9hdFBvaW50KDQ0Ljcs
IDM3LjMpKTsKKyAgICBvdXRsaW5lLmFkZExpbmVUbyhGbG9hdFBvaW50KDYxLjcsIDUxLjcpKTsK
KyAgICBvdXRsaW5lLmFkZEJlemllckN1cnZlVG8oRmxvYXRQb2ludCg2My40LCA1My4xKSwgRmxv
YXRQb2ludCg2My42LCA1NS43KSwgRmxvYXRQb2ludCg2Mi4yLCA1Ny4zKSk7CisgICAgb3V0bGlu
ZS5hZGRCZXppZXJDdXJ2ZVRvKEZsb2F0UG9pbnQoNjEuMywgNTguMiksIEZsb2F0UG9pbnQoNjAu
MSwgNTguNyksIEZsb2F0UG9pbnQoNTksIDU4LjcpKTsKKyAgICBvdXRsaW5lLmFkZExpbmVUbyhG
bG9hdFBvaW50KDU5LCA1OC43KSk7CisgICAgb3V0bGluZS5jbG9zZVN1YnBhdGgoKTsKKworICAg
IG91dGxpbmUubW92ZVRvKEZsb2F0UG9pbnQoNDIsIDk4KSk7CisgICAgb3V0bGluZS5hZGRCZXpp
ZXJDdXJ2ZVRvKEZsb2F0UG9pbnQoMzkuOCwgOTgpLCBGbG9hdFBvaW50KDM4LCA5Ni4zKSwgRmxv
YXRQb2ludCgzOCwgOTQuMikpOworICAgIG91dGxpbmUuYWRkTGluZVRvKEZsb2F0UG9pbnQoMzgs
IDQzLjYpKTsKKyAgICBvdXRsaW5lLmFkZEJlemllckN1cnZlVG8oRmxvYXRQb2ludCgzOCwgNDEu
NSksIEZsb2F0UG9pbnQoMzkuOCwgMzkuOCksIEZsb2F0UG9pbnQoNDIsIDM5LjgpKTsKKyAgICBv
dXRsaW5lLmFkZEJlemllckN1cnZlVG8oRmxvYXRQb2ludCg0NC4yLCAzOS44KSwgRmxvYXRQb2lu
dCg0NiwgNDEuNSksIEZsb2F0UG9pbnQoNDYsIDQzLjYpKTsKKyAgICBvdXRsaW5lLmFkZExpbmVU
byhGbG9hdFBvaW50KDQ2LCA5NC4yKSk7CisgICAgb3V0bGluZS5hZGRCZXppZXJDdXJ2ZVRvKEZs
b2F0UG9pbnQoNDYsIDk2LjMpLCBGbG9hdFBvaW50KDQ0LjIsIDk4KSwgRmxvYXRQb2ludCg0Miwg
OTgpKTsKKyAgICBvdXRsaW5lLmFkZExpbmVUbyhGbG9hdFBvaW50KDQyLCA5OCkpOworICAgIG91
dGxpbmUuY2xvc2VTdWJwYXRoKCk7CisKKyAgICBvdXRsaW5lLm1vdmVUbyhGbG9hdFBvaW50KDgz
LjYsIDQxLjYpKTsKKyAgICBvdXRsaW5lLmFkZEJlemllckN1cnZlVG8oRmxvYXRQb2ludCg4My42
LCAxOC42KSwgRmxvYXRQb2ludCg2NSwgMCksIEZsb2F0UG9pbnQoNDIsIDApKTsKKyAgICBvdXRs
aW5lLmFkZEJlemllckN1cnZlVG8oRmxvYXRQb2ludCgxOSwgMCksIEZsb2F0UG9pbnQoMC40LCAx
OC42KSwgRmxvYXRQb2ludCgwLjQsIDQxLjYpKTsKKyAgICBvdXRsaW5lLmFkZEJlemllckN1cnZl
VG8oRmxvYXRQb2ludCgwLjQsIDYyLjIpLCBGbG9hdFBvaW50KDE1LCA3OS4yKSwgRmxvYXRQb2lu
dCgzNSwgODIuNikpOworICAgIG91dGxpbmUuYWRkTGluZVRvKEZsb2F0UG9pbnQoMzUsIDc0LjUp
KTsKKyAgICBvdXRsaW5lLmFkZEJlemllckN1cnZlVG8oRmxvYXRQb2ludCgyMCwgNzEuMiksIEZs
b2F0UG9pbnQoOC40LCA1Ny43KSwgRmxvYXRQb2ludCg4LjQsIDQxLjYpKTsKKyAgICBvdXRsaW5l
LmFkZEJlemllckN1cnZlVG8oRmxvYXRQb2ludCg4LjQsIDIzLjEpLCBGbG9hdFBvaW50KDIzLjUs
IDgpLCBGbG9hdFBvaW50KDQyLCA4KSk7CisgICAgb3V0bGluZS5hZGRCZXppZXJDdXJ2ZVRvKEZs
b2F0UG9pbnQoNjAuNSwgOCksIEZsb2F0UG9pbnQoNzUuNSwgMjMuMSksIEZsb2F0UG9pbnQoNzUu
NSwgNDEuNikpOworICAgIG91dGxpbmUuYWRkQmV6aWVyQ3VydmVUbyhGbG9hdFBvaW50KDc1LjYs
IDU3LjcpLCBGbG9hdFBvaW50KDY0LCA3MS4yKSwgRmxvYXRQb2ludCg0OSwgNzQuNSkpOworICAg
IG91dGxpbmUuYWRkTGluZVRvKEZsb2F0UG9pbnQoNDksIDgyLjYpKTsKKyAgICBvdXRsaW5lLmFk
ZEJlemllckN1cnZlVG8oRmxvYXRQb2ludCg2OSwgNzkuMyksIEZsb2F0UG9pbnQoODMuNiwgNjIu
MiksIEZsb2F0UG9pbnQoODMuNiwgNDEuNikpOworICAgIG91dGxpbmUuYWRkTGluZVRvKEZsb2F0
UG9pbnQoODMuNiwgNDEuNikpOworICAgIG91dGxpbmUuY2xvc2VTdWJwYXRoKCk7CisKKyAgICBj
b250ZXh0LT5maWxsUGF0aChvdXRsaW5lKTsKK30KKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vVGhlbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lLmgK
aW5kZXggZWNlODRjZjY1OGFmZjYxNWE1ZGQ5NzI1OTcxMWU0YmEzNGI2YTUyYi4uMTBlMGM3NzNm
ZTIyNDAxZjZiNDRmMWJkNGQ2Y2I2OWU2ZTBmZDY3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vVGhlbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZS5o
CkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiQ29sb3IuaCIKICNpbmNsdWRlICJDb250cm9s
U3RhdGVzLmgiCiAjaW5jbHVkZSAiRm9udENhc2NhZGUuaCIKKyNpbmNsdWRlICJHcmFwaGljc1R5
cGVzLmgiCiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIkxlbmd0aEJveC5oIgogI2lu
Y2x1ZGUgIkxlbmd0aFNpemUuaCIKQEAgLTEwNiw3ICsxMDcsOSBAQCBwdWJsaWM6CiAgICAgLy8g
VGhlIHJlY3QgcGFzc2VkIGluIGlzIGluIHpvb21lZCBjb29yZGluYXRlcywgc28gdGhlIGluZmxh
dGlvbiBzaG91bGQgdGFrZSB0aGF0IGludG8gYWNjb3VudCBhbmQgbWFrZSBzdXJlIHRoZSBpbmZs
YXRpb24KICAgICAvLyBhbW91bnQgaXMgYWxzbyBzY2FsZWQgYnkgdGhlIHpvb21GYWN0b3IuCiAg
ICAgdmlydHVhbCB2b2lkIGluZmxhdGVDb250cm9sUGFpbnRSZWN0KENvbnRyb2xQYXJ0LCBjb25z
dCBDb250cm9sU3RhdGVzKiwgRmxvYXRSZWN0JiAvKnpvb21lZFJlY3QqLywgZmxvYXQgLyp6b29t
RmFjdG9yKi8pIGNvbnN0IHsgfQotICAgIAorCisgICAgdmlydHVhbCB2b2lkIGRyYXdOYW1lZElt
YWdlKGNvbnN0IFN0cmluZyYsIEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UmVjdCYpIGNv
bnN0OworCiAgICAgLy8gVGhpcyBtZXRob2QgaXMgY2FsbGVkIG9uY2UsIGZyb20gUmVuZGVyVGhl
bWU6OmFkanVzdERlZmF1bHRTdHlsZVNoZWV0KCksIHRvIGxldCBlYWNoIHBsYXRmb3JtIGFkanVz
dAogICAgIC8vIHRoZSBkZWZhdWx0IENTUyBydWxlcyBpbiBodG1sLmNzcy4KICAgICBzdGF0aWMg
U3RyaW5nIGRlZmF1bHRTdHlsZVNoZWV0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jb2NvYS9UaGVtZUNvY29hLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nv
Y29hL1RoZW1lQ29jb2EuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRhODc5MjhjMGY4NzM0MDU5YzQyYjc5MGQ5
ZTMxNzIyOTVmOGNjZjIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9jb2NvYS9UaGVtZUNvY29hLmNwcApAQCAtMCwwICsxLDkwIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBB
TlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
ICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisjaW1wb3J0
ICJUaGVtZUNvY29hLmgiCisKKyNpbXBvcnQgIkdyYXBoaWNzQ29udGV4dC5oIgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK3N0YXRpYyB2b2lkIGZpdENvbnRleHRUb0JveChHcmFwaGljc0NvbnRl
eHQqIGNvbnRleHQsIGNvbnN0IEZsb2F0U2l6ZSYgc3JjSW1hZ2VTaXplLCBjb25zdCBGbG9hdFNp
emUmIGRzdFNpemUpCit7CisgICAgZmxvYXQgc3JjUmF0aW8gPSBzcmNJbWFnZVNpemUuYXNwZWN0
UmF0aW8oKTsKKyAgICBmbG9hdCBkc3RSYXRpbyA9IGRzdFNpemUuYXNwZWN0UmF0aW8oKTsKKwor
ICAgIGZsb2F0IHNjYWxlOworICAgIGZsb2F0IHRyYW5zbGF0aW9uWCA9IDA7CisgICAgZmxvYXQg
dHJhbnNsYXRpb25ZID0gMDsKKyAgICBpZiAoc3JjUmF0aW8gPiBkc3RSYXRpbykgeworICAgICAg
ICBzY2FsZSA9IGRzdFNpemUud2lkdGgoKSAvIHNyY0ltYWdlU2l6ZS53aWR0aCgpOworICAgICAg
ICB0cmFuc2xhdGlvblkgPSAoZHN0U2l6ZS5oZWlnaHQoKSAtIHNjYWxlICogc3JjSW1hZ2VTaXpl
LmhlaWdodCgpKSAvIDI7CisgICAgfSBlbHNlIHsKKyAgICAgICAgc2NhbGUgPSBkc3RTaXplLmhl
aWdodCgpIC8gc3JjSW1hZ2VTaXplLmhlaWdodCgpOworICAgICAgICB0cmFuc2xhdGlvblggPSAo
ZHN0U2l6ZS53aWR0aCgpIC0gc2NhbGUgKiBzcmNJbWFnZVNpemUud2lkdGgoKSkgLyAyOworICAg
IH0KKyAgICBjb250ZXh0LT50cmFuc2xhdGUodHJhbnNsYXRpb25YLCB0cmFuc2xhdGlvblkpOwor
ICAgIGNvbnRleHQtPnNjYWxlKEZsb2F0U2l6ZShzY2FsZSwgc2NhbGUpKTsKK30KKwordm9pZCBU
aGVtZUNvY29hOjpkcmF3TmFtZWRJbWFnZShjb25zdCBTdHJpbmcmIG5hbWUsIEdyYXBoaWNzQ29u
dGV4dCogY29udGV4dCwgY29uc3QgRmxvYXRSZWN0JiByZWN0KSBjb25zdAoreworICAgIC8vIFdl
IG9ubHkgaGFuZGxlIG9uZSBpY29uIGF0IHRoZSBtb21lbnQuCisgICAgaWYgKG5hbWUgIT0gIndp
cmVsZXNzLXBsYXliYWNrIikgeworICAgICAgICBUaGVtZTo6ZHJhd05hbWVkSW1hZ2UobmFtZSwg
Y29udGV4dCwgcmVjdCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBHcmFwaGljc0Nv
bnRleHRTdGF0ZVNhdmVyIHN0YXRlU2F2ZXIoKmNvbnRleHQpOworICAgIGNvbnRleHQtPnNldEZp
bGxDb2xvcihDb2xvcjo6YmxhY2ssIENvbG9yU3BhY2VEZXZpY2VSR0IpOworCisgICAgRmxvYXRT
aXplIHdpcmVsZXNzUGxheWJhY2tTcmNTaXplKDMyLCAyNC4wMTYpOworICAgIGZpdENvbnRleHRU
b0JveChjb250ZXh0LCB3aXJlbGVzc1BsYXliYWNrU3JjU2l6ZSwgcmVjdC5zaXplKCkpOworCisg
ICAgUGF0aCBvdXRsaW5lOworICAgIG91dGxpbmUubW92ZVRvKEZsb2F0UG9pbnQoMjQuMDY2LCAx
OCkpOworICAgIG91dGxpbmUuYWRkTGluZVRvKEZsb2F0UG9pbnQoMjIuMTExLCAxNikpOworICAg
IG91dGxpbmUuYWRkTGluZVRvKEZsb2F0UG9pbnQoMzAsIDE2KSk7CisgICAgb3V0bGluZS5hZGRM
aW5lVG8oRmxvYXRQb2ludCgzMCwgMikpOworICAgIG91dGxpbmUuYWRkTGluZVRvKEZsb2F0UG9p
bnQoMiwgMikpOworICAgIG91dGxpbmUuYWRkTGluZVRvKEZsb2F0UG9pbnQoMiwgMTYpKTsKKyAg
ICBvdXRsaW5lLmFkZExpbmVUbyhGbG9hdFBvaW50KDkuOTA4LCAxNikpOworICAgIG91dGxpbmUu
YWRkTGluZVRvKEZsb2F0UG9pbnQoNy45NTMsIDE4KSk7CisgICAgb3V0bGluZS5hZGRMaW5lVG8o
RmxvYXRQb2ludCgwLCAxOCkpOworICAgIG91dGxpbmUuYWRkTGluZVRvKEZsb2F0UG9pbnQoMCwg
MCkpOworICAgIG91dGxpbmUuYWRkTGluZVRvKEZsb2F0UG9pbnQoMzIsIDApKTsKKyAgICBvdXRs
aW5lLmFkZExpbmVUbyhGbG9hdFBvaW50KDMyLCAxOCkpOworICAgIG91dGxpbmUuYWRkTGluZVRv
KEZsb2F0UG9pbnQoMjQuMDY2LCAxOCkpOworICAgIG91dGxpbmUuY2xvc2VTdWJwYXRoKCk7Cisg
ICAgb3V0bGluZS5tb3ZlVG8oRmxvYXRQb2ludCgyNi45MTcsIDI0LjAxNikpOworICAgIG91dGxp
bmUuYWRkTGluZVRvKEZsb2F0UG9pbnQoNS4wNDAsIDI0LjAxNikpOworICAgIG91dGxpbmUuYWRk
TGluZVRvKEZsb2F0UG9pbnQoMTUuOTc4LCAxMi44MjgpKTsKKyAgICBvdXRsaW5lLmFkZExpbmVU
byhGbG9hdFBvaW50KDI2LjkxNywgMjQuMDE2KSk7CisgICAgb3V0bGluZS5jbG9zZVN1YnBhdGgo
KTsKKyAgICAKKyAgICBjb250ZXh0LT5maWxsUGF0aChvdXRsaW5lKTsKK30KKworfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvVGhlbWVDb2NvYS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvVGhlbWVDb2NvYS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFkNmI2OTM4
ZjA1NjRkNjg3NTJmMjgwYThiYTNkYzJmYzM1YmU2NGUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9UaGVtZUNvY29hLmgKQEAgLTAsMCArMSw0MyBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgVGhl
bWVDb2NvYV9oCisjZGVmaW5lIFRoZW1lQ29jb2FfaAorCisjaW5jbHVkZSAiVGhlbWUuaCIKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBUaGVtZUNvY29hIDogcHVibGljIFRoZW1lIHsK
K3B1YmxpYzoKKyAgICBUaGVtZUNvY29hKCkgeyB9CisgICAgdmlydHVhbCB+VGhlbWVDb2NvYSgp
IHsgfQorCisgICAgdmlydHVhbCB2b2lkIGRyYXdOYW1lZEltYWdlKGNvbnN0IFN0cmluZyYsIEdy
YXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UmVjdCYpIGNvbnN0IG92ZXJyaWRlOworfTsKKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gVGhlbWVDb2NvYV9oCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Dcm9zc2ZhZGVHZW5lcmF0ZWRJ
bWFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ3Jvc3NmYWRlR2VuZXJh
dGVkSW1hZ2UuaAppbmRleCBhOWQ1OGM1NzE0NjU3MDFmOGZkODZmN2RhNjI4N2QyZGVhNDgzOTJh
Li41NmE5ODc1MTRjYjcxYTE3YjRjNzgyYjcxODcxODZiZjcyYTBlMmI3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Dcm9zc2ZhZGVHZW5lcmF0ZWRJbWFnZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Nyb3NzZmFkZUdlbmVyYXRl
ZEltYWdlLmgKQEAgLTM0LDggKzM0LDYgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFz
cyBDU1NDcm9zc2ZhZGVWYWx1ZTsKLQogY2xhc3MgQ3Jvc3NmYWRlR2VuZXJhdGVkSW1hZ2UgZmlu
YWwgOiBwdWJsaWMgR2VuZXJhdGVkSW1hZ2UgewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8Q3Jv
c3NmYWRlR2VuZXJhdGVkSW1hZ2U+IGNyZWF0ZShJbWFnZSogZnJvbUltYWdlLCBJbWFnZSogdG9J
bWFnZSwgZmxvYXQgcGVyY2VudGFnZSwgY29uc3QgRmxvYXRTaXplJiBjcm9zc2ZhZGVTaXplLCBj
b25zdCBGbG9hdFNpemUmIHNpemUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvSW1hZ2VCdWZmZXIuaAppbmRleCBmMmVlNTA2Zjc3MGI0ZDNkNzg0MTc0N2M4NjAzMzZjMTZi
ZWU5ZGVjLi42NmMxZDhmNzVjYTk3ZThiYTU4OGU3ZWViNjNhYjM1MTRmNjNmNWQ2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmgKQEAgLTE0OSw2
ICsxNDksNyBAQCBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBHcmFwaGljc0NvbnRleHQ7CiAg
ICAgZnJpZW5kIGNsYXNzIEdlbmVyYXRlZEltYWdlOwogICAgIGZyaWVuZCBjbGFzcyBDcm9zc2Zh
ZGVHZW5lcmF0ZWRJbWFnZTsKKyAgICBmcmllbmQgY2xhc3MgTmFtZWRJbWFnZUdlbmVyYXRlZElt
YWdlOwogICAgIGZyaWVuZCBjbGFzcyBHcmFkaWVudEltYWdlOwogCiBwcml2YXRlOgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTmFtZWRJbWFnZUdlbmVyYXRl
ZEltYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL05hbWVkSW1hZ2VH
ZW5lcmF0ZWRJbWFnZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDQ2MWNkNDkyNmIxN2EyZmIyYzQ1ZDdhNDlh
YmM0NDE5MDRiYmMwYQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL05hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZS5jcHAKQEAgLTAsMCArMSw2OCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKyNpbmNsdWRlICJOYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2UuaCIKKworI2luY2x1
ZGUgIkZsb2F0UmVjdC5oIgorI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgorI2luY2x1ZGUg
IkltYWdlQnVmZmVyLmgiCisjaW5jbHVkZSAiVGhlbWUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitOYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2U6Ok5hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZShT
dHJpbmcgbmFtZSwgY29uc3QgRmxvYXRTaXplJiBzaXplKQorICAgIDogbV9uYW1lKG5hbWUpCit7
CisgICAgc2V0Q29udGFpbmVyU2l6ZShzaXplKTsKK30KKwordm9pZCBOYW1lZEltYWdlR2VuZXJh
dGVkSW1hZ2U6OmRyYXcoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBGbG9hdFJlY3Qm
IGRzdFJlY3QsIGNvbnN0IEZsb2F0UmVjdCYgc3JjUmVjdCwgQ29sb3JTcGFjZSwgQ29tcG9zaXRl
T3BlcmF0b3IgY29tcG9zaXRlT3AsIEJsZW5kTW9kZSBibGVuZE1vZGUsIEltYWdlT3JpZW50YXRp
b25EZXNjcmlwdGlvbikKK3sKKyAgICBHcmFwaGljc0NvbnRleHRTdGF0ZVNhdmVyIHN0YXRlU2F2
ZXIoKmNvbnRleHQpOworICAgIGNvbnRleHQtPnNldENvbXBvc2l0ZU9wZXJhdGlvbihjb21wb3Np
dGVPcCwgYmxlbmRNb2RlKTsKKyAgICBjb250ZXh0LT5jbGlwKGRzdFJlY3QpOworICAgIGNvbnRl
eHQtPnRyYW5zbGF0ZShkc3RSZWN0LngoKSwgZHN0UmVjdC55KCkpOworICAgIGlmIChkc3RSZWN0
LnNpemUoKSAhPSBzcmNSZWN0LnNpemUoKSkKKyAgICAgICAgY29udGV4dC0+c2NhbGUoRmxvYXRT
aXplKGRzdFJlY3Qud2lkdGgoKSAvIHNyY1JlY3Qud2lkdGgoKSwgZHN0UmVjdC5oZWlnaHQoKSAv
IHNyY1JlY3QuaGVpZ2h0KCkpKTsKKyAgICBjb250ZXh0LT50cmFuc2xhdGUoLXNyY1JlY3QueCgp
LCAtc3JjUmVjdC55KCkpOworCisgICAgcGxhdGZvcm1UaGVtZSgpLT5kcmF3TmFtZWRJbWFnZSht
X25hbWUsIGNvbnRleHQsIGRzdFJlY3QpOworfQorCit2b2lkIE5hbWVkSW1hZ2VHZW5lcmF0ZWRJ
bWFnZTo6ZHJhd1BhdHRlcm4oR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBGbG9hdFJl
Y3QmIHNyY1JlY3QsIGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgcGF0dGVyblRyYW5zZm9ybSwgY29u
c3QgRmxvYXRQb2ludCYgcGhhc2UsIENvbG9yU3BhY2Ugc3R5bGVDb2xvclNwYWNlLCBDb21wb3Np
dGVPcGVyYXRvciBjb21wb3NpdGVPcCwgY29uc3QgRmxvYXRSZWN0JiBkc3RSZWN0LCBCbGVuZE1v
ZGUgYmxlbmRNb2RlKQoreworICAgIHN0ZDo6dW5pcXVlX3B0cjxJbWFnZUJ1ZmZlcj4gaW1hZ2VC
dWZmZXIgPSBJbWFnZUJ1ZmZlcjo6Y3JlYXRlKHNpemUoKSwgMSwgQ29sb3JTcGFjZURldmljZVJH
QiwgY29udGV4dC0+aXNBY2NlbGVyYXRlZENvbnRleHQoKSA/IEFjY2VsZXJhdGVkIDogVW5hY2Nl
bGVyYXRlZCk7CisgICAgaWYgKCFpbWFnZUJ1ZmZlcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
R3JhcGhpY3NDb250ZXh0KiBncmFwaGljc0NvbnRleHQgPSBpbWFnZUJ1ZmZlci0+Y29udGV4dCgp
OworICAgIHBsYXRmb3JtVGhlbWUoKS0+ZHJhd05hbWVkSW1hZ2UobV9uYW1lLCBncmFwaGljc0Nv
bnRleHQsIEZsb2F0UmVjdCgwLCAwLCBzaXplKCkud2lkdGgoKSwgc2l6ZSgpLmhlaWdodCgpKSk7
CisKKyAgICAvLyBUaWxlIHRoZSBpbWFnZSBidWZmZXIgaW50byB0aGUgY29udGV4dC4KKyAgICBp
bWFnZUJ1ZmZlci0+ZHJhd1BhdHRlcm4oY29udGV4dCwgc3JjUmVjdCwgcGF0dGVyblRyYW5zZm9y
bSwgcGhhc2UsIHN0eWxlQ29sb3JTcGFjZSwgY29tcG9zaXRlT3AsIGRzdFJlY3QsIGJsZW5kTW9k
ZSk7Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L05hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDE3NzhlYjlmOWIx
YzRhYjJlY2MxNjQ0YzMwMjQ3MTViMzJiMTJhNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL05hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZS5oCkBAIC0w
LDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaWZuZGVmIE5hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZV9oCisjZGVmaW5lIE5hbWVkSW1hZ2VH
ZW5lcmF0ZWRJbWFnZV9oCisKKyNpbmNsdWRlICJGbG9hdFNpemUuaCIKKyNpbmNsdWRlICJHZW5l
cmF0ZWRJbWFnZS5oIgorI2luY2x1ZGUgIkltYWdlLmgiCisjaW5jbHVkZSA8d3RmL1JlZlB0ci5o
PgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE5hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFn
ZSBmaW5hbCA6IHB1YmxpYyBHZW5lcmF0ZWRJbWFnZSB7CitwdWJsaWM6CisgICAgc3RhdGljIFJl
ZjxOYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2U+IGNyZWF0ZShTdHJpbmcgbmFtZSwgY29uc3QgRmxv
YXRTaXplJiBzaXplKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTmFtZWRJ
bWFnZUdlbmVyYXRlZEltYWdlKG5hbWUsIHNpemUpKTsKKyAgICB9CisKK3Byb3RlY3RlZDoKKyAg
ICB2aXJ0dWFsIHZvaWQgZHJhdyhHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFJlY3QmIGRz
dFJlY3QsIGNvbnN0IEZsb2F0UmVjdCYgc3JjUmVjdCwgQ29sb3JTcGFjZSBzdHlsZUNvbG9yU3Bh
Y2UsIENvbXBvc2l0ZU9wZXJhdG9yLCBCbGVuZE1vZGUsIEltYWdlT3JpZW50YXRpb25EZXNjcmlw
dGlvbikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRyYXdQYXR0ZXJuKEdyYXBoaWNzQ29u
dGV4dCosIGNvbnN0IEZsb2F0UmVjdCYgc3JjUmVjdCwgY29uc3QgQWZmaW5lVHJhbnNmb3JtJiBw
YXR0ZXJuVHJhbnNmb3JtLCBjb25zdCBGbG9hdFBvaW50JiBwaGFzZSwgQ29sb3JTcGFjZSBzdHls
ZUNvbG9yU3BhY2UsIENvbXBvc2l0ZU9wZXJhdG9yLCBjb25zdCBGbG9hdFJlY3QmIGRzdFJlY3Qs
IEJsZW5kTW9kZSkgb3ZlcnJpZGU7CisKKyAgICBOYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2UoU3Ry
aW5nIG5hbWUsIGNvbnN0IEZsb2F0U2l6ZSYpOworCitwcml2YXRlOgorICAgIFN0cmluZyBtX25h
bWU7Cit9OworCit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW9zL1RoZW1lSU9TLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvVGhlbWVJT1Mu
aAppbmRleCBmM2NjOWJhNzNkOTE1NjRjMDMwNmRmYzZiYTFjYTVkYjQxOTcyOTMzLi44ZDgwOWYy
M2M1ZDBjZjczNDA2NDg3M2IyOWM0ODY4NjcwNTQ3M2E4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9pb3MvVGhlbWVJT1MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9pb3MvVGhlbWVJT1MuaApAQCAtMjYsMTEgKzI2LDExIEBACiAjaWZuZGVmIFRoZW1lSU9TX2gK
ICNkZWZpbmUgVGhlbWVJT1NfaAogCi0jaW5jbHVkZSAiVGhlbWUuaCIKKyNpbmNsdWRlICJUaGVt
ZUNvY29hLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgVGhlbWVJT1MgOiBwdWJs
aWMgVGhlbWUgeworY2xhc3MgVGhlbWVJT1MgOiBwdWJsaWMgVGhlbWVDb2NvYSB7CiBwdWJsaWM6
CiAgICAgVGhlbWVJT1MoKSB7IH0KICAgICB2aXJ0dWFsIH5UaGVtZUlPUygpIHsgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1RoZW1lTWFjLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvVGhlbWVNYWMuaAppbmRleCA5YWUxZWQxMTk0YWM0YjAyZDQ3ZWY3
NzhhZTBjYzI1ODk0YmVhZDZiLi44M2RiOGE4NWI1OGJiMDhiOTNlOGZhNjExYzZhMGRlZTNkMzNj
ODJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvVGhlbWVNYWMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvVGhlbWVNYWMuaApAQCAtMjYsNyArMjYs
NyBAQAogI2lmbmRlZiBUaGVtZU1hY19oCiAjZGVmaW5lIFRoZW1lTWFjX2gKIAotI2luY2x1ZGUg
IlRoZW1lLmgiCisjaW5jbHVkZSAiVGhlbWVDb2NvYS5oIgogCiBAaW50ZXJmYWNlIE5TRm9udChX
ZWJDb3JlVGhlbWUpCiAtIChOU1N0cmluZyopd2ViQ29yZUZhbWlseU5hbWU7CkBAIC0zNCw3ICsz
NCw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgVGhlbWVNYWMgOiBwdWJsaWMg
VGhlbWUgeworY2xhc3MgVGhlbWVNYWMgOiBwdWJsaWMgVGhlbWVDb2NvYSB7CiAgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgVGhlbWVNYWMoKSB7IH0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBj
NmYxZWFjODBmOGFkNTM2YmQ5NWI4MDVmMDM4ZmIzMzE2NTU1YTNlLi5kNjA0ZGE3ZWRjYTE2YjA2
NDE0MTgyZDU0ZTUwNWRkNGUxYmUwYTQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTUtMDYt
MTggIERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgorCisgICAgICAgIFByb3ZpZGUgYSB3
YXkgZm9yIHdlYiBkZXZlbG9wZXJzIHRvIGRyYXcgYSBUaGVtZS1zcGVjaWZpYyBXaXJlbGVzcyBQ
bGF5YmFjayBpY29uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNDYxMjMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzIxMTE5Mjg3PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3QgdGhlIG5ldyAtd2Vi
a2l0LW5hbWVkLWltYWdlIENTUyBnZW5lcmF0b3IuIE9ubHkgIndpcmVsZXNzLXBsYXliYWNrIgor
ICAgICAgICBpcyBzdXBwb3J0ZWQgZm9yIG5vdywgYW5kIGhhcyBwbGF0Zm9ybS1zcGVjaWZpYyBy
ZXN1bHRzIGZvciBDb2NvYS4KKworICAgICAgICAqIGZhc3QvY3NzL25hbWVkLWltYWdlcy1leHBl
Y3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzL25hbWVkLWltYWdlcy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9jc3MvbmFtZWQtaW1hZ2VzLWV4cGVj
dGVkLnBuZzogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL25hbWVkLWlt
YWdlcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorCiAyMDE1LTA2LTEzICBDaHJpcyBGbGVpemFjaCAg
PGNmbGVpemFjaEBhcHBsZS5jb20+CiAKICAgICAgICAgQVg6IFdlYktpdCBleHBvc2VzIGFsbCBS
dWJ5IFRleHQgYXMgVW5rbm93biAoSmFwYW5lc2UgRVBVQiBhY2Nlc3NpYmlsaXR5IGJsb2NrZXIp
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255156</attachid>
            <date>2015-06-18 17:20:13 -0700</date>
            <delta_ts>2015-06-18 18:00:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146123-20150619101934.patch</filename>
            <type>text/plain</type>
            <size>57120</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1NTU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGM1NDhhNGQwOTNjMGRj
ZWE3N2U2NGU4NmJjODY5YzEwNjI4MWQzMi4uMGU3NmZjY2U4ZTE0MzI5ZjMwOWE3MzNiMGJhYWJi
YTE3M2JmNmY5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc0IEBACisyMDE1LTA2LTE4ICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBQcm92aWRlIGEgd2F5IGZvciB3
ZWIgZGV2ZWxvcGVycyB0byBkcmF3IGEgVGhlbWUtc3BlY2lmaWMgV2lyZWxlc3MgUGxheWJhY2sg
aWNvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ2
MTIzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMTExOTI4Nz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgYSAtd2Via2l0LW5hbWVk
LWltYWdlKCkgQ1NTIDxpbWFnZT4gZ2VuZXJhdG9yIHRoYXQgYWxsb3dzIGEgc2l0ZSB0bworICAg
ICAgICByZXF1ZXN0IGFydHdvcmsgYnkgbmFtZSBhbmQgZ2V0IHRoZSBwbGF0Zm9ybSB2YXJpYW50
LiBBdCB0aGUgbW9tZW50CisgICAgICAgIHdlIG9ubHkgc3VwcG9ydCAid2lyZWxlc3MtcGxheWJh
Y2siIHdoaWNoIHJldHVybnMgYSBnZW5lcmljIGltYWdlIGV2ZXJ5d2hlcmUKKyAgICAgICAgYnV0
IENvY29hIHBsYXRmb3Jtcywgd2hlcmUgd2UgcmVuZGVyIHRoZSBBaXJQbGF5IGljb24uCisKKyAg
ICAgICAgSW4gb3JkZXIgdG8gZG8gdGhpcyBJIGFkZGVkIGEgVGhlbWVDb2NvYSB0byBzaGFyZSBh
bnkgVGhlbWUgY29kZSBiZXR3ZWVuCisgICAgICAgIE1hYyBhbmQgaU9TLgorCisgICAgICAgIFRl
c3Q6IGZhc3QvY3NzL25hbWVkLWljb25zLmh0bWwKKworICAgICAgICAqIFdlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajogQWRkIG5ldyBmaWxlcyBDU1NOYW1lZEltYWdlVmFsdWUsIE5h
bWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZSBhbmQgVGhlbWVDb2NvYS4KKworICAgICAgICAqIGNzcy9D
U1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcDogSGFuZGxlIHRoZSBuZXcgTmFtZWRJbWFnZUNsYXNz
IGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50cyBmb3IgZG93bmNhc3RpbmcuCisgICAgICAgIChXZWJD
b3JlOjpDU1NJbWFnZUdlbmVyYXRvclZhbHVlOjppbWFnZSk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NJbWFnZUdlbmVyYXRvclZhbHVlOjppc0ZpeGVkU2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NJbWFnZUdlbmVyYXRvclZhbHVlOjppc1BlbmRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
SW1hZ2VHZW5lcmF0b3JWYWx1ZTo6a25vd25Ub0JlT3BhcXVlKToKKworICAgICAgICAqIGNzcy9D
U1NOYW1lZEltYWdlVmFsdWUuY3BwOiBOZXcgY2xhc3MuIEp1c3QgaG9sZHMgYSBuYW1lIFN0cmlu
Zy4KKyAgICAgICAgKFdlYkNvcmU6OkNTU05hbWVkSW1hZ2VWYWx1ZTo6Y3VzdG9tQ1NTVGV4dCk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NOYW1lZEltYWdlVmFsdWU6OmltYWdlKToKKyAgICAgICAg
KFdlYkNvcmU6OkNTU05hbWVkSW1hZ2VWYWx1ZTo6ZXF1YWxzKToKKyAgICAgICAgKiBjc3MvQ1NT
TmFtZWRJbWFnZVZhbHVlLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NOYW1lZEltYWdlVmFsdWU6
OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NOYW1lZEltYWdlVmFsdWU6OmlzRml4ZWRT
aXplKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU05hbWVkSW1hZ2VWYWx1ZTo6aXNQZW5kaW5nKToK
KyAgICAgICAgKFdlYkNvcmU6OkNTU05hbWVkSW1hZ2VWYWx1ZTo6Q1NTTmFtZWRJbWFnZVZhbHVl
KToKKworICAgICAgICAqIGNzcy9DU1NQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
UGFyc2VyOjppc0dlbmVyYXRlZEltYWdlVmFsdWUpOiBBbGxvdyAiLXdlYmtpdC1uYW1lZC1pbWFn
ZSgiLgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUdlbmVyYXRlZEltYWdlKTog
Q2FsbCBwYXJzZU5hbWVkSW1hZ2UgaWYgd2UgaGl0IG5hbWVkLWljb24uCisgICAgICAgIChXZWJD
b3JlOjpDU1NQYXJzZXI6OnBhcnNlTmFtZWRJbWFnZSk6IFBhcnNlIHRoZSBmdW5jdGlvbiBsb29r
aW5nIGZvciBhIENTUyBpZGVudC4KKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmg6CisKKyAgICAg
ICAgKiBjc3MvQ1NTVmFsdWUuY3BwOiBIYW5kbGUgTmFtZWRJbWFnZUNsYXNzIGluIHRoZSB2YXJp
b3VzIHN3aXRjaCBzdGF0ZW1lbnRzLgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmVxdWFs
cyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6Y3NzVGV4dCk6CisgICAgICAgIChXZWJD
b3JlOjpDU1NWYWx1ZTo6ZGVzdHJveSk6CisgICAgICAgICogY3NzL0NTU1ZhbHVlLmg6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6aXNOYW1lZEltYWdlVmFsdWUpOiBIZWxwZXIgdG8gZGV0
ZWN0IHRoZSBjb3JyZWN0IENTU1ZhbHVlIHN1YmNsYXNzLgorCisgICAgICAgICogcGxhdGZvcm0v
VGhlbWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGhlbWU6OmRyYXdOYW1lZEltYWdlKTogRHJh
dyBhIGdlbmVyaWMgd2lyZWxlc3MgcGxheWJhY2sgaWNvbi4KKyAgICAgICAgKiBwbGF0Zm9ybS9U
aGVtZS5oOiBBZGQgZHJhd05hbWVkSW1hZ2UuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9U
aGVtZUNvY29hLmNwcDogTmV3IHNoYXJlZCBiYXNlIGNsYXNzIGZvciBUaGVtZU1hYyBhbmQgVGhl
bWVJT1MuCisgICAgICAgIChXZWJDb3JlOjpmaXRDb250ZXh0VG9Cb3gpOgorICAgICAgICAoV2Vi
Q29yZTo6VGhlbWVDb2NvYTo6ZHJhd05hbWVkSW1hZ2UpOiBEcmF3IGFuIEFpclBsYXkgaWNvbiBm
b3Igd2lyZWxlc3MgcGxheWJhY2suCisgICAgICAgICogcGxhdGZvcm0vY29jb2EvVGhlbWVDb2Nv
YS5oOgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQ3Jvc3NmYWRlR2VuZXJhdGVkSW1h
Z2UuaDogRHJpdmUtYnkgcmVtb3ZhbCBvZiB1bm5lY2Vzc2FyeSBmb3J3YXJkIGNsYXNzIGRlZmlu
aXRpb24uCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oOiBBZGQg
TmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlIGFzIGEgZnJpZW5kIGNsYXNzLgorCisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlLmNwcDogTmV3IGNsYXNz
LiBDYWxscyBpbnRvIHRoZSBUaGVtZSB0byByZW5kZXIgdGhlIGFydHdvcmsuCisgICAgICAgIChX
ZWJDb3JlOjpOYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2U6Ok5hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFn
ZSk6CisgICAgICAgIChXZWJDb3JlOjpOYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2U6OmRyYXcpOgor
ICAgICAgICAoV2ViQ29yZTo6TmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlOjpkcmF3UGF0dGVybik6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlLmg6
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvVGhlbWVJT1MuaDogSW5oZXJpdCBmcm9tIFRoZW1l
Q29jb2EuCisgICAgICAgICogcGxhdGZvcm0vbWFjL1RoZW1lTWFjLmg6IERpdHRvLgorCiAyMDE1
LTA2LTE1ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgW0NvbnRlbnQgRXh0ZW5zaW9uc10gTGltaXQgbnVtYmVyIG9mIHJ1bGVzLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dAppbmRleCBjM2Q5ZTBmNWIwMTg3OTk1OTA1ZWExZjJhOWVlMzY3ZDY0ZjUyZTc1
Li4yZDAyMzQ2YTdiYzAxYWY2MDNlOWU3MWQ4OTQ1MjkxODk3ODMxZDY0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dApAQCAtMTI4OSw2ICsxMjg5LDcgQEAgc2V0KFdlYkNvcmVfU09VUkNFUwogICAgIGNz
cy9DU1NLZXlmcmFtZXNSdWxlLmNwcAogICAgIGNzcy9DU1NMaW5lQm94Q29udGFpblZhbHVlLmNw
cAogICAgIGNzcy9DU1NNZWRpYVJ1bGUuY3BwCisgICAgY3NzL0NTU05hbWVkSW1hZ2VWYWx1ZS5j
cHAKICAgICBjc3MvQ1NTT01VdGlscy5jcHAKICAgICBjc3MvQ1NTUGFnZVJ1bGUuY3BwCiAgICAg
Y3NzL0NTU1BhcnNlci5jcHAKQEAgLTIxNjMsNiArMjE2NCw3IEBAIHNldChXZWJDb3JlX1NPVVJD
RVMKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9MYXlvdXRSZWN0LmNwcAogICAgIHBsYXRmb3JtL2dy
YXBoaWNzL01hc2tJbWFnZU9wZXJhdGlvbi5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9NZWRp
YVBsYXllci5jcHAKKyAgICBwbGF0Zm9ybS9ncmFwaGljcy9OYW1lZEltYWdlR2VuZXJhdGVkSW1h
Z2UuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvUGF0aC5jcHAKICAgICBwbGF0Zm9ybS9ncmFw
aGljcy9QYXRoVHJhdmVyc2FsU3RhdGUuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvUGF0dGVy
bi5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3Jl
LnZjeHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9q
CmluZGV4IGIxZmQ2ZDg2ZDAyOGJkYmFiNDc1YzMwMDJhNTg0YWNkNmRkMzhjNWQuLmExOTI5OWE1
YjAwZjBhMTkyNGQxMjFiYmU3ZThhMDQ3MzM1NDYzYWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagpAQCAtODIwMyw2ICs4MjAzLDcgQEAKICAg
ICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEludFNpemUuY3BwIiAv
PgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcTGF5b3V0UmVj
dC5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xN
ZWRpYVBsYXllci5jcHAiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxn
cmFwaGljc1xOYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2UuY3BwIiAvPgogICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcUGF0aC5jcHAiIC8+CiAgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xQYXRoVHJhdmVyc2FsU3RhdGUuY3BwIiAv
PgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcUGF0dGVybi5j
cHAiIC8+CkBAIC05NjM0LDYgKzk2MzUsMjAgQEAKICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2lu
MzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgPC9DbENvbXBpbGU+CisgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxjc3NcQ1NTTmFtZWRJbWFnZVZhbHVlLmNwcCI+CisgICAgICA8RXhj
bHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9
PSdEZWJ1Z3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVk
RnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVi
dWd8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVp
bGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5D
YWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJv
bUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdf
V2luQ2Fpcm98eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRG
cm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1
Z1N1ZmZpeHxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVk
RnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVi
dWdTdWZmaXh8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRG
cm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxl
YXNlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9t
QnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNl
fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5D
YWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJv
bUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFz
ZV9XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRl
ZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1By
b2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRl
ZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1By
b2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgPC9DbENvbXBpbGU+
CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxjc3NcQ1NTT01VdGlscy5jcHAiPgogICAgICAg
PEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9y
bSknPT0nRGVidWd8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNs
dWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09
J0RlYnVnfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgpAQCAtMTk5OTksNiArMjAwMTQs
NyBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcTGF5b3V0
UmVjdC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3Nc
TGF5b3V0U2l6ZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3Jh
cGhpY3NcTWVkaWFQbGF5ZXIuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRm
b3JtXGdyYXBoaWNzXE5hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZS5oIiAvPgogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcTmF0aXZlSW1hZ2VQdHIuaCIgLz4KICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXFBhdGguaCIgLz4KICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXFBhdGhUcmF2ZXJzYWxT
dGF0ZS5oIiAvPgpAQCAtMjA1MDQsNiArMjA1MjAsNyBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5cY3NzXENTU0luaXRpYWxWYWx1ZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5cY3NzXENTU0xpbmVCb3hDb250YWluVmFsdWUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXGNzc1xDU1NNZWRpYVJ1bGUuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XGNzc1xDU1NOYW1lZEltYWdlVmFsdWUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XGNzc1xDU1NPTVV0aWxzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxjc3NcQ1NT
UGFnZVJ1bGUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGNzc1xDU1NQYXJzZXIu
aCIgLz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3Jl
LnZjeHByb2ouZmlsdGVycyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3Jl
LnZjeHByb2ouZmlsdGVycwppbmRleCA0MTQ5ZGJhNTQ5ODM5YjE2OTk4MDE2OGYwYTViMmJkN2Ix
ZDc1MDY3Li5kOTBmOGIxNTc3ZTQyOWE2ZjVhNWJmZWVkYWZhMjgyN2RmMDhjNTBkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRl
cnMKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5m
aWx0ZXJzCkBAIC0xMzc3LDYgKzEzNzcsOSBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
cGxhdGZvcm1cZ3JhcGhpY3NcTWVkaWFQbGF5ZXIuY3BwIj4KICAgICAgIDxGaWx0ZXI+cGxhdGZv
cm1cZ3JhcGhpY3M8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KKyAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXE5hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZS5jcHAi
PgorICAgICAgPEZpbHRlcj5wbGF0Zm9ybVxncmFwaGljczwvRmlsdGVyPgorICAgIDwvQ2xDb21w
aWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcUGF0aC5j
cHAiPgogICAgICAgPEZpbHRlcj5wbGF0Zm9ybVxncmFwaGljczwvRmlsdGVyPgogICAgIDwvQ2xD
b21waWxlPgpAQCAtMjE0OCw2ICsyMTUxLDkgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XGNzc1xDU1NNZWRpYVJ1bGUuY3BwIj4KICAgICAgIDxGaWx0ZXI+Y3NzPC9GaWx0ZXI+CiAgICAg
PC9DbENvbXBpbGU+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxjc3NcQ1NTTmFtZWRJbWFn
ZVZhbHVlLmNwcCI+CisgICAgICA8RmlsdGVyPmNzczwvRmlsdGVyPgorICAgIDwvQ2xDb21waWxl
PgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cY3NzXENTU09NVXRpbHMuY3BwIj4KICAgICAg
IDxGaWx0ZXI+Y3NzPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CkBAIC04NTAyLDYgKzg1MDgs
OSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcTWVkaWFQ
bGF5ZXIuaCI+CiAgICAgICA8RmlsdGVyPnBsYXRmb3JtXGdyYXBoaWNzPC9GaWx0ZXI+CiAgICAg
PC9DbEluY2x1ZGU+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGlj
c1xOYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2UuaCI+CisgICAgICA8RmlsdGVyPnBsYXRmb3JtXGdy
YXBoaWNzPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxwbGF0Zm9ybVxncmFwaGljc1xOYXRpdmVJbWFnZVB0ci5oIj4KICAgICAgIDxGaWx0ZXI+
cGxhdGZvcm1cZ3JhcGhpY3M8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KQEAgLTkxMjYsNiAr
OTEzNSw5IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxjc3NcQ1NTTWVkaWFSdWxlLmgi
PgogICAgICAgPEZpbHRlcj5jc3M8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXGNzc1xDU1NOYW1lZEltYWdlVmFsdWUuaCI+CisgICAgICA8Rmls
dGVyPmNzczwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5cY3NzXENTU09NVXRpbHMuaCI+CiAgICAgICA8RmlsdGVyPmNzczwvRmlsdGVyPgogICAg
IDwvQ2xJbmNsdWRlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCmluZGV4IDAwNTg3ODY2MDE2M2UxMDA3NjM5ZDdlMzRkNTFjMmI1N2I4NGVi
MWUuLjUxNzNhMmU1NmRkNWQyMjlkNzA4Mjg1ZDRlNTgwYzRhNDQwMGMwNmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEyMjMs
NiArMTIyMyw4IEBACiAJCTMxMDc4Q0M4MTg4MEFBQkIwMDgwOTlEQyAvKiBPRVNUZXh0dXJlSGFs
ZkZsb2F0TGluZWFyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAzMTA3OENDMzE4ODBBNkE2MDA4MDk5REMgLyogT0VTVGV4dHVyZUhhbGZGbG9hdExpbmVh
ci5oICovOyB9OwogCQkzMTA3OENDOTE4ODBBQUM5MDA4MDk5REMgLyogSlNPRVNUZXh0dXJlSGFs
ZkZsb2F0TGluZWFyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDMxMDc4Q0M1MTg4MEFBQUEwMDgwOTlEQyAvKiBKU09FU1RleHR1cmVIYWxmRmxvYXRM
aW5lYXIuY3BwICovOyB9OwogCQkzMTA3OENDQTE4ODBBQUNFMDA4MDk5REMgLyogSlNPRVNUZXh0
dXJlSGFsZkZsb2F0TGluZWFyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAzMTA3OENDNjE4ODBBQUFBMDA4MDk5REMgLyogSlNPRVNUZXh0dXJlSGFsZkZs
b2F0TGluZWFyLmggKi87IH07CisJCTMxMEQ3MTk1MUIzMzVDOUQwMDlDN0I3MyAvKiBUaGVtZUNv
Y29hLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMx
MEQ3MTkzMUIzMzVDOUQwMDlDN0I3MyAvKiBUaGVtZUNvY29hLmNwcCAqLzsgfTsKKwkJMzEwRDcx
OTYxQjMzNUM5RTAwOUM3QjczIC8qIFRoZW1lQ29jb2EuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxMEQ3MTk0MUIzMzVDOUQwMDlDN0I3MyAvKiBUaGVt
ZUNvY29hLmggKi87IH07CiAJCTMxMUMwOEJEMThFQjdDQUYwMEI2NTYxNSAvKiBtZWRpYUNvbnRy
b2xzQXBwbGUuY3NzIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDREMxREQ0MTE3Q0MyQzQ4MDA4Q0I1NUQgLyogbWVkaWFDb250cm9sc0FwcGxlLmNzcyAq
LzsgfTsKIAkJMzExQzA4QkUxOEVCN0NBRjAwQjY1NjE1IC8qIG1lZGlhQ29udHJvbHNBcHBsZS5q
cyBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RFNjU2
MEUxN0NBNkU3NjAwNTI2QkE3IC8qIG1lZGlhQ29udHJvbHNBcHBsZS5qcyAqLzsgfTsKIAkJMzEx
QzA4QkYxOEVCN0NBRjAwQjY1NjE1IC8qIG1lZGlhQ29udHJvbHNpT1MuY3NzIGluIFJlc291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREFBRjQ1RDE4NjkwOTRFMDAz
QzE3MTcgLyogbWVkaWFDb250cm9sc2lPUy5jc3MgKi87IH07CkBAIC0xMjQ1LDYgKzEyNDcsMTAg
QEAKIAkJMzE0NkZFNkYxODQ0MjBBQTAwMUE5MzdDIC8qIE9FU1RleHR1cmVGbG9hdExpbmVhci5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTQ2RkU2
NTE4NDQyMDg3MDAxQTkzN0MgLyogT0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcCAqLzsgfTsKIAkJ
MzE0NkZFNzQxODQ0MjM3MDAwMUE5MzdDIC8qIEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxNDZGRTcwMTg0
NDIzNjcwMDFBOTM3QyAvKiBKU09FU1RleHR1cmVGbG9hdExpbmVhci5jcHAgKi87IH07CiAJCTMx
NDZGRTc1MTg0NDIzNzAwMDFBOTM3QyAvKiBKU09FU1RleHR1cmVGbG9hdExpbmVhci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzE0NkZFNzExODQ0MjM2
NzAwMUE5MzdDIC8qIEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmggKi87IH07CisJCTMxNEJFM0Ex
MUIzMEY2QjcwMDE0MTk4MiAvKiBDU1NOYW1lZEltYWdlVmFsdWUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxNEJFM0EwMUIzMEY2QjcwMDE0MTk4MiAv
KiBDU1NOYW1lZEltYWdlVmFsdWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQkzMTRCRTNBMzFCMzBGNkQxMDAxNDE5ODIgLyogQ1NTTmFtZWRJbWFn
ZVZhbHVlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDMxNEJFM0EyMUIzMEY2RDEwMDE0MTk4MiAvKiBDU1NOYW1lZEltYWdlVmFsdWUuY3BwICovOyB9
OworCQkzMTRCRTNBNjFCMzEwM0ZCMDAxNDE5ODIgLyogTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdl
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxNEJF
M0E0MUIzMTAzRkIwMDE0MTk4MiAvKiBOYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2UuY3BwICovOyB9
OworCQkzMTRCRTNBNzFCMzEwM0ZCMDAxNDE5ODIgLyogTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTRCRTNB
NTFCMzEwM0ZCMDAxNDE5ODIgLyogTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlLmggKi87IH07CiAJ
CTMxNjAyM0YwMTUzMkM0MEMwMEQ1MEZGNCAvKiBEaWN0aW9uYXJ5LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTYwMjNFRjE1MzJDNDBDMDBENTBGRjQg
LyogRGljdGlvbmFyeS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTMxNjExRTVBMEUxQzRERTAwMEY2QTU3OSAvKiBKU1dlYktpdENTU1RyYW5zZm9y
bVZhbHVlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDMxNjExRTU4MEUxQzRERTAwMEY2QTU3OSAvKiBKU1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNw
cCAqLzsgfTsKIAkJMzE2MTFFNUIwRTFDNERFMDAwRjZBNTc5IC8qIEpTV2ViS2l0Q1NTVHJhbnNm
b3JtVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDMxNjExRTU5MEUxQzRERTAwMEY2QTU3OSAvKiBKU1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmgg
Ki87IH07CkBAIC04MzgxLDYgKzgzODcsOCBAQAogCQkzMTA3OENDNDE4ODBBNkE2MDA4MDk5REMg
LyogT0VTVGV4dHVyZUhhbGZGbG9hdExpbmVhci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
T0VTVGV4dHVyZUhhbGZGbG9hdExpbmVhci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTMxMDc4Q0M1MTg4MEFBQUEwMDgwOTlEQyAvKiBKU09FU1RleHR1cmVIYWxmRmxvYXRMaW5l
YXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNPRVNUZXh0dXJl
SGFsZkZsb2F0TGluZWFyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzEwNzhD
QzYxODgwQUFBQTAwODA5OURDIC8qIEpTT0VTVGV4dHVyZUhhbGZGbG9hdExpbmVhci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU09FU1RleHR1cmVIYWxmRmxvYXRMaW5lYXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzEwRDcxOTMxQjMzNUM5RDAwOUM3Qjcz
IC8qIFRoZW1lQ29jb2EuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
VGhlbWVDb2NvYS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxMEQ3MTk0MUIz
MzVDOUQwMDlDN0I3MyAvKiBUaGVtZUNvY29hLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFRoZW1lQ29jb2EuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzExQzA4
QkMxOEUzNUQ2ODAwQjY1NjE1IC8qIENvbnRyb2xTdGF0ZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQ29udHJvbFN0YXRlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkzMTI4OEU2RTBFMzAwNUQ2MDAzNjE5QUUgLyogQ1NTS2V5ZnJhbWVSdWxlLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU0tleWZyYW1lUnVsZS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxMjg4RTZGMEUzMDA1RDYwMDM2MTlBRSAvKiBD
U1NLZXlmcmFtZVJ1bGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTS2V5
ZnJhbWVSdWxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC04NDAwLDYgKzg0MDgs
MTAgQEAKIAkJMzE0NkZFNjcxODQ0MjA4NzAwMUE5MzdDIC8qIE9FU1RleHR1cmVGbG9hdExpbmVh
ci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gT0VTVGV4dHVyZUZsb2F0TGluZWFyLmlkbDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzE0NkZFNzAxODQ0MjM2NzAwMUE5MzdDIC8q
IEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMzE0NkZFNzExODQ0MjM2NzAwMUE5MzdDIC8qIEpTT0VTVGV4dHVyZUZsb2F0
TGluZWFyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTT0VTVGV4dHVyZUZs
b2F0TGluZWFyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxNEJFM0EwMUIzMEY2
QjcwMDE0MTk4MiAvKiBDU1NOYW1lZEltYWdlVmFsdWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBsaW5lRW5kaW5nID0gMDsgcGF0aCA9IENTU05hbWVkSW1hZ2VWYWx1ZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB4Y0xhbmd1YWdlU3BlY2lmaWNhdGlvbklkZW50aWZpZXIgPSB4Y29k
ZS5sYW5nLm9iamNwcDsgfTsKKwkJMzE0QkUzQTIxQjMwRjZEMTAwMTQxOTgyIC8qIENTU05hbWVk
SW1hZ2VWYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IGxpbmVFbmRpbmcg
PSAwOyBwYXRoID0gQ1NTTmFtZWRJbWFnZVZhbHVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgeGNMYW5ndWFnZVNwZWNpZmljYXRpb25JZGVudGlmaWVyID0geGNvZGUubGFuZy5jcHA7IH07
CisJCTMxNEJFM0E0MUIzMTAzRkIwMDE0MTk4MiAvKiBOYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2Uu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTmFtZWRJbWFnZUdlbmVy
YXRlZEltYWdlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzE0QkUzQTUxQjMx
MDNGQjAwMTQxOTgyIC8qIE5hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBOYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2UuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzE2MDIzRUYxNTMyQzQwQzAwRDUwRkY0IC8qIERpY3Rpb25h
cnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGljdGlvbmFyeS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMTYxMUU1NDBFMUM0RDRBMDBGNkE1NzkgLyogV2Vi
S2l0Q1NTVHJhbnNmb3JtVmFsdWUuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYktpdENT
U1RyYW5zZm9ybVZhbHVlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzE2MTFF
NTgwRTFDNERFMDAwRjZBNTc5IC8qIEpTV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1
ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMjcwOSw3ICsxMjcyMSw3IEBA
CiAJCUJDMjI3NDc2MEU4MzY2RTIwMEU3Rjk3NSAvKiBTVkdSZW5kZXJTdHlsZURlZnMuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1ZHUmVuZGVyU3R5bGVEZWZzLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkMyMjc0NzcwRTgzNjZFMjAwRTdGOTc1
IC8qIFNWR1JlbmRlclN0eWxlRGVmcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBTVkdSZW5kZXJTdHlsZURlZnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkMy
M0U0RTAwREFBQ0UwRjAwOUZEQzkxIC8qIENTU0dyYWRpZW50VmFsdWUuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NTR3JhZGllbnRWYWx1ZS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUJDMjNFNzZCMERBRTg4QTkwMDlGREM5MSAvKiBDU1NJbWFn
ZUdlbmVyYXRvclZhbHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IENTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlCQzIzRTc2QjBEQUU4OEE5MDA5RkRDOTEgLyogQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IGxpbmVFbmRpbmcgPSAwOyBwYXRoID0gQ1NT
SW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3Vh
Z2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9IHhjb2RlLmxhbmcuY3BwOyB9OwogCQlCQzIzRUU5
MTBEQUVEMkJDMDA5RkRDOTEgLyogQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBDU1NJbWFnZUdlbmVyYXRvclZhbHVlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDMjNGMERBMERBRkY0QTQwMDlGREM5MSAvKiBHZW5lcmF0
ZWRJbWFnZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHZW5lcmF0ZWRJbWFn
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzI0NDFDMzBFOEI2NUQwMDA1NTMy
MEYgLyogU2Nyb2xsVmlldy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBTY3JvbGxWaWV3LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE4OTkxLDYg
KzE5MDAzLDggQEAKIAkJCQk1RDU5NzVCMTE5NjM1RjExMDBEMDA4NzggLyogU3lzdGVtVmVyc2lv
bi5oICovLAogCQkJCTVENTk3NUIyMTk2MzVGMTEwMEQwMDg3OCAvKiBTeXN0ZW1WZXJzaW9uLm1t
ICovLAogCQkJCTdDQzU2NEI5MThCQUM3MjAwMDFCOTY1MiAvKiBUZWxlcGhvbmVOdW1iZXJEZXRl
Y3RvckNvY29hLmNwcCAqLywKKwkJCQkzMTBENzE5MzFCMzM1QzlEMDA5QzdCNzMgLyogVGhlbWVD
b2NvYS5jcHAgKi8sCisJCQkJMzEwRDcxOTQxQjMzNUM5RDAwOUM3QjczIC8qIFRoZW1lQ29jb2Eu
aCAqLywKIAkJCQk0NkRCN0Q1NjFCMjBGRTNDMDA1NjUxQjIgLyogVk5vZGVUcmFja2VyQ29jb2Eu
Y3BwICovLAogCQkJKTsKIAkJCXBhdGggPSBjb2NvYTsKQEAgLTIwOTUzLDYgKzIwOTY3LDggQEAK
IAkJCQkwNzlGNUU0QjBGM0JFQkVBMDA1RTA3ODIgLyogTWVkaWFQbGF5ZXJQcml2YXRlLmggKi8s
CiAJCQkJQ0Q2NDFFQjExODE4RjVFRDAwRUU0QzQxIC8qIE1lZGlhU291cmNlUHJpdmF0ZS5oICov
LAogCQkJCUNEREMxRTc5MThBOTUyRjMwMDI3QTlENCAvKiBNZWRpYVNvdXJjZVByaXZhdGVDbGll
bnQuaCAqLywKKwkJCQkzMTRCRTNBNDFCMzEwM0ZCMDAxNDE5ODIgLyogTmFtZWRJbWFnZUdlbmVy
YXRlZEltYWdlLmNwcCAqLywKKwkJCQkzMTRCRTNBNTFCMzEwM0ZCMDAxNDE5ODIgLyogTmFtZWRJ
bWFnZUdlbmVyYXRlZEltYWdlLmggKi8sCiAJCQkJNkIzNDgwOTIwRUVGNTBENDAwQUMxQjQxIC8q
IE5hdGl2ZUltYWdlUHRyLmggKi8sCiAJCQkJQjI3NTM1NTIwQjA1MzgxNDAwMkNFNjRGIC8qIFBh
dGguY3BwICovLAogCQkJCUIyNzUzNTUzMEIwNTM4MTQwMDJDRTY0RiAvKiBQYXRoLmggKi8sCkBA
IC0yMjQ5Myw2ICsyMjUwOSw4IEBACiAJCQkJQTgwRTZDRDIwQTE5ODlDQTAwN0ZCOEM1IC8qIENT
U01lZGlhUnVsZS5jcHAgKi8sCiAJCQkJQTgwRTZDRDkwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU01l
ZGlhUnVsZS5oICovLAogCQkJCTg1QzU2Q0EyMEFBODlDMTAwMEQ5NTc1NSAvKiBDU1NNZWRpYVJ1
bGUuaWRsICovLAorCQkJCTMxNEJFM0EwMUIzMEY2QjcwMDE0MTk4MiAvKiBDU1NOYW1lZEltYWdl
VmFsdWUuaCAqLywKKwkJCQkzMTRCRTNBMjFCMzBGNkQxMDAxNDE5ODIgLyogQ1NTTmFtZWRJbWFn
ZVZhbHVlLmNwcCAqLywKIAkJCQlGOThGRkY0MjExQTI2NzYyMDBGNTQ4RTggLyogQ1NTT01VdGls
cy5jcHAgKi8sCiAJCQkJRjk4RkZGNDMxMUEyNjc2MjAwRjU0OEU4IC8qIENTU09NVXRpbHMuaCAq
LywKIAkJCQlBODBFNkNDQjBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTUGFnZVJ1bGUuY3BwICovLApA
QCAtMjQxMjAsNiArMjQxMzgsNyBAQAogCQkJCUUxQkQzMzFDMTgyRDhFRTkwMEMwNUQ5RiAvKiBD
cnlwdG9BbGdvcml0aG1Sc2FTc2FQYXJhbXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxMjVGODJD
MTgyMkNGRUMwMEQ4NENEOSAvKiBDcnlwdG9BbGdvcml0aG1TSEExLmggaW4gSGVhZGVycyAqLywK
IAkJCQlFMTlBQzNFRjE4MjREQzc5MDAzNDk0MjYgLyogQ3J5cHRvQWxnb3JpdGhtU0hBMjI0Lmgg
aW4gSGVhZGVycyAqLywKKwkJCQkzMTRCRTNBMTFCMzBGNkI3MDAxNDE5ODIgLyogQ1NTTmFtZWRJ
bWFnZVZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTlBQzNGMTE4MjREQzc5MDAzNDk0MjYg
LyogQ3J5cHRvQWxnb3JpdGhtU0hBMjU2LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTlBQzNGMzE4
MjREQzc5MDAzNDk0MjYgLyogQ3J5cHRvQWxnb3JpdGhtU0hBMzg0LmggaW4gSGVhZGVycyAqLywK
IAkJCQlFMTlBQzNGNTE4MjREQzc5MDAzNDk0MjYgLyogQ3J5cHRvQWxnb3JpdGhtU0hBNTEyLmgg
aW4gSGVhZGVycyAqLywKQEAgLTI1MzU2LDYgKzI1Mzc1LDcgQEAKIAkJCQlFNDQ2MTQzQTBDRDY4
OUM4MDBGQURBNzUgLyogSlNIVE1MTWVkaWFFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkx
QUUyQUU1QzBBMUQyNkYyMDBCNDJCMjUgLyogSlNIVE1MTWVudUVsZW1lbnQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUE4MEU3QTE4MEExOUMzRDYwMDdGQjhDNSAvKiBKU0hUTUxNZXRhRWxlbWVudC5o
IGluIEhlYWRlcnMgKi8sCisJCQkJMzE0QkUzQTcxQjMxMDNGQjAwMTQxOTgyIC8qIE5hbWVkSW1h
Z2VHZW5lcmF0ZWRJbWFnZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTdCQkUyNjcxMUFGQjNGMjAw
MDVFQTAzIC8qIEpTSFRNTE1ldGVyRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFFMkFC
MkEwQTFDRTYzQjAwQjQyQjI1IC8qIEpTSFRNTE1vZEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAog
CQkJCUJDMzA1QzdBMEMwNzZCQjMwMENEMjBGMCAvKiBKU0hUTUxPYmplY3RFbGVtZW50LmggaW4g
SGVhZGVycyAqLywKQEAgLTI2NzcwLDYgKzI2NzkwLDcgQEAKIAkJCQlCMjU1OTlBNDBEMDBEOEJB
MDBCQjgyNUMgLyogU1ZHSW1hZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTA4Rjg1OUQ1MTQ2M0Y5
Q0QwMDY3RDkzMyAvKiBTVkdJbWFnZUNhY2hlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyN0Ey
RDBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHSW1hZ2VFbGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJ
CQkzMTBENzE5NjFCMzM1QzlFMDA5QzdCNzMgLyogVGhlbWVDb2NvYS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMDhGODU5RDUxNDYzRjlDRDAwNjdEOTM0IC8qIFNWR0ltYWdlRm9yQ29udGFpbmVyLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCMjhDNkEyQTBEMDBDNDQ4MDAzMzRBQTQgLyogU1ZHSW1hZ2VM
b2FkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTA4NTRCMDFGMTI1NUU0RTYwMEI5Q0REMCAvKiBT
VkdJbmxpbmVGbG93Qm94LmggaW4gSGVhZGVycyAqLywKQEAgLTI4NDcwLDYgKzI4NDkxLDcgQEAK
IAkJCQlBODEzNjlDRDA5NzM3NEY2MDBENzQ0NjMgLyogSFRNTElucHV0RWxlbWVudC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk5MzMwOURFNTA5OUU2NDkyMDA1NkU1ODEgLyogSFRNTEludGVyY2hh
bmdlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4MTM2OUU1MDk3Mzc0RjYwMEQ3NDQ2MyAvKiBI
VE1MS2V5Z2VuRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkzMTRCRTNBNjFCMzEwM0ZC
MDAxNDE5ODIgLyogTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUE4MTM2OUUzMDk3Mzc0RjYwMEQ3NDQ2MyAvKiBIVE1MTGFiZWxFbGVtZW50LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUE4MTM2OUUxMDk3Mzc0RjYwMEQ3NDQ2MyAvKiBIVE1MTGVnZW5kRWxl
bWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEVBNzlGQzBBMTkxNkRGMDBBOEVGNUYgLyog
SFRNTExJRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI4NTEyLDYgKzI4NTM0LDcgQEAK
IAkJCQk5NzhBRDY3NDE0MTMwQThEMDBDN0NBRTMgLyogSFRNTFNwYW5FbGVtZW50LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTUzNkQ1QTIxMTkzRTE4RUUwMENFNENBQiAvKiBIVE1MU3Jjc2V0UGFy
c2VyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4NzFEQzI2MEExNTIwNTcwMEIxMkE2OCAvKiBI
VE1MU3R5bGVFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTMxMEQ3MTk1MUIzMzVDOUQw
MDlDN0I3MyAvKiBUaGVtZUNvY29hLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUQzRDRFOTcyMTMw
QzdDRkUwMDdCQTU0MCAvKiBIVE1MU3VtbWFyeUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQTg3MURCMzIwQTE1MEJENjAwQjEyQTY4IC8qIEhUTUxUYWJsZUNhcHRpb25FbGVtZW50LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUE4NzFEQjJFMEExNTBCRDYwMEIxMkE2OCAvKiBIVE1MVGFi
bGVDZWxsRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI5ODkyLDYgKzI5OTE1LDcgQEAK
IAkJCQlCQ0VDMDFCRDBDMjc0REFDMDA5RjRFQzkgLyogU2NyZWVuLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUE4NEQ4MkMyMTFEMzQ3NDgwMDk3Mjk5MCAvKiBTY3JpcHRhYmxlRG9jdW1lbnRQYXJz
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDFGMUQyMjAwRUYzNUMyQTAwREE4NzUzIC8qIFNj
cmlwdENhY2hlZEZyYW1lRGF0YS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkzMTRCRTNBMzFCMzBG
NkQxMDAxNDE5ODIgLyogQ1NTTmFtZWRJbWFnZVZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTkzQjcwRDZGMDlFQjBDN0MwMDlEODQ2OCAvKiBTY3JpcHRDb250cm9sbGVyLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUE4M0UxQzc0MEU0OTA0MkMwMDE0MEI5QyAvKiBTY3JpcHRDb250cm9sbGVy
TWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNDk5OEFFRDExM0ZCMjI0RDAwOTBCMUFBIC8qIFNj
cmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NBbGxJbk9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTQWxsSW5PbmUuY3BwCmluZGV4IDNmNWRkYmQ1Y2ZkNDZiMGQwMTc5MGI4MjA1ZDZmMTZlMDM0
NjFiZDAuLjUxNmI2ODIxZGY3NWQ2MTZkMGVmNjhiZGRjYTQ2YjExMzI5MzE3MzkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NBbGxJbk9uZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0FsbEluT25lLmNwcApAQCAtNTcsNiArNTcsNyBAQAogI2luY2x1ZGUgIkNTU0lu
aXRpYWxWYWx1ZS5jcHAiCiAjaW5jbHVkZSAiQ1NTTGluZUJveENvbnRhaW5WYWx1ZS5jcHAiCiAj
aW5jbHVkZSAiQ1NTTWVkaWFSdWxlLmNwcCIKKyNpbmNsdWRlICJDU1NOYW1lZEltYWdlVmFsdWUu
Y3BwIgogI2luY2x1ZGUgIkNTU09NVXRpbHMuY3BwIgogI2luY2x1ZGUgIkNTU1BhZ2VSdWxlLmNw
cCIKICNpbmNsdWRlICJDU1NQYXJzZXIuY3BwIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0lt
YWdlR2VuZXJhdG9yVmFsdWUuY3BwCmluZGV4IDE3ZDNlZWI5ZTJiYzE0ZTZiZTc1MWM0NzIzYzMy
NmJhNjNjMGNjYmEuLmViNDg4OWVmNmUzMjQ2NTc0ZmE3YTEyMGJlM2IwODdiNWQ2YmY3MmMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHAKQEAgLTMy
LDYgKzMyLDcgQEAKICNpbmNsdWRlICJDU1NGaWx0ZXJJbWFnZVZhbHVlLmgiCiAjaW5jbHVkZSAi
Q1NTR3JhZGllbnRWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0ltYWdlVmFsdWUuaCIKKyNpbmNsdWRl
ICJDU1NOYW1lZEltYWdlVmFsdWUuaCIKICNpbmNsdWRlICJHZW5lcmF0ZWRJbWFnZS5oIgogI2lu
Y2x1ZGUgIlJlbmRlckVsZW1lbnQuaCIKICNpbmNsdWRlICJTdHlsZUNhY2hlZEltYWdlLmgiCkBA
IC0xMTAsNiArMTExLDggQEAgUGFzc1JlZlB0cjxJbWFnZT4gQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1
ZTo6aW1hZ2UoUmVuZGVyRWxlbWVudCogcmVuZGVyZXIsIGNvbnN0IEYKICAgICBzd2l0Y2ggKGNs
YXNzVHlwZSgpKSB7CiAgICAgY2FzZSBDYW52YXNDbGFzczoKICAgICAgICAgcmV0dXJuIGRvd25j
YXN0PENTU0NhbnZhc1ZhbHVlPigqdGhpcykuaW1hZ2UocmVuZGVyZXIsIHNpemUpOworICAgIGNh
c2UgTmFtZWRJbWFnZUNsYXNzOgorICAgICAgICByZXR1cm4gZG93bmNhc3Q8Q1NTTmFtZWRJbWFn
ZVZhbHVlPigqdGhpcykuaW1hZ2UocmVuZGVyZXIsIHNpemUpOwogICAgIGNhc2UgQ3Jvc3NmYWRl
Q2xhc3M6CiAgICAgICAgIHJldHVybiBkb3duY2FzdDxDU1NDcm9zc2ZhZGVWYWx1ZT4oKnRoaXMp
LmltYWdlKHJlbmRlcmVyLCBzaXplKTsKICAgICBjYXNlIEZpbHRlckltYWdlQ2xhc3M6CkBAIC0x
MjksNiArMTMyLDggQEAgYm9vbCBDU1NJbWFnZUdlbmVyYXRvclZhbHVlOjppc0ZpeGVkU2l6ZSgp
IGNvbnN0CiAgICAgc3dpdGNoIChjbGFzc1R5cGUoKSkgewogICAgIGNhc2UgQ2FudmFzQ2xhc3M6
CiAgICAgICAgIHJldHVybiBkb3duY2FzdDxDU1NDYW52YXNWYWx1ZT4oKnRoaXMpLmlzRml4ZWRT
aXplKCk7CisgICAgY2FzZSBOYW1lZEltYWdlQ2xhc3M6CisgICAgICAgIHJldHVybiBkb3duY2Fz
dDxDU1NOYW1lZEltYWdlVmFsdWU+KCp0aGlzKS5pc0ZpeGVkU2l6ZSgpOwogICAgIGNhc2UgQ3Jv
c3NmYWRlQ2xhc3M6CiAgICAgICAgIHJldHVybiBkb3duY2FzdDxDU1NDcm9zc2ZhZGVWYWx1ZT4o
KnRoaXMpLmlzRml4ZWRTaXplKCk7CiAgICAgY2FzZSBGaWx0ZXJJbWFnZUNsYXNzOgpAQCAtMTY5
LDYgKzE3NCw4IEBAIGJvb2wgQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZTo6aXNQZW5kaW5nKCkgY29u
c3QKICAgICAgICAgcmV0dXJuIGRvd25jYXN0PENTU0Nyb3NzZmFkZVZhbHVlPigqdGhpcykuaXNQ
ZW5kaW5nKCk7CiAgICAgY2FzZSBDYW52YXNDbGFzczoKICAgICAgICAgcmV0dXJuIGRvd25jYXN0
PENTU0NhbnZhc1ZhbHVlPigqdGhpcykuaXNQZW5kaW5nKCk7CisgICAgY2FzZSBOYW1lZEltYWdl
Q2xhc3M6CisgICAgICAgIHJldHVybiBkb3duY2FzdDxDU1NOYW1lZEltYWdlVmFsdWU+KCp0aGlz
KS5pc1BlbmRpbmcoKTsKICAgICBjYXNlIEZpbHRlckltYWdlQ2xhc3M6CiAgICAgICAgIHJldHVy
biBkb3duY2FzdDxDU1NGaWx0ZXJJbWFnZVZhbHVlPigqdGhpcykuaXNQZW5kaW5nKCk7CiAgICAg
Y2FzZSBMaW5lYXJHcmFkaWVudENsYXNzOgpAQCAtMTg4LDYgKzE5NSw4IEBAIGJvb2wgQ1NTSW1h
Z2VHZW5lcmF0b3JWYWx1ZTo6a25vd25Ub0JlT3BhcXVlKGNvbnN0IFJlbmRlckVsZW1lbnQqIHJl
bmRlcmVyKSBjb25zCiAgICAgICAgIHJldHVybiBkb3duY2FzdDxDU1NDcm9zc2ZhZGVWYWx1ZT4o
KnRoaXMpLmtub3duVG9CZU9wYXF1ZShyZW5kZXJlcik7CiAgICAgY2FzZSBDYW52YXNDbGFzczoK
ICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGNhc2UgTmFtZWRJbWFnZUNsYXNzOgorICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgY2FzZSBGaWx0ZXJJbWFnZUNsYXNzOgogICAgICAgICByZXR1
cm4gZG93bmNhc3Q8Q1NTRmlsdGVySW1hZ2VWYWx1ZT4oKnRoaXMpLmtub3duVG9CZU9wYXF1ZShy
ZW5kZXJlcik7CiAgICAgY2FzZSBMaW5lYXJHcmFkaWVudENsYXNzOgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU05hbWVkSW1hZ2VWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTTmFtZWRJbWFnZVZhbHVlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xYWRkNTQ2ZjUzYzczZjVkNWY4
ZDMxNDdlMWE0NzY3YWJiY2RjNGViCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU05hbWVkSW1hZ2VWYWx1ZS5jcHAKQEAgLTAsMCArMSw1NCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNSBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAor
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiQ1NTTmFtZWRJbWFnZVZhbHVlLmgiCisKKyNpbmNsdWRlICJJbWFnZUJ1ZmZlci5o
IgorI2luY2x1ZGUgIk5hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZS5oIgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK1N0cmluZyBDU1NOYW1lZEltYWdlVmFsdWU6OmN1c3RvbUNTU1RleHQoKSBjb25z
dAoreworICAgIHJldHVybiBtYWtlU3RyaW5nKCItd2Via2l0LW5hbWVkLWltYWdlKCIsIG1fbmFt
ZSwgJyknKTsKK30KKworUGFzc1JlZlB0cjxJbWFnZT4gQ1NTTmFtZWRJbWFnZVZhbHVlOjppbWFn
ZShSZW5kZXJFbGVtZW50KiwgY29uc3QgRmxvYXRTaXplJiBzaXplKQoreworICAgIGlmIChzaXpl
LmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBtX2dlbmVyYXRlZElt
YWdlID0gTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlOjpjcmVhdGUobV9uYW1lLCBzaXplKTsKKwor
ICAgIHJldHVybiBtX2dlbmVyYXRlZEltYWdlLnJlbGVhc2UoKTsKK30KKworYm9vbCBDU1NOYW1l
ZEltYWdlVmFsdWU6OmVxdWFscyhjb25zdCBDU1NOYW1lZEltYWdlVmFsdWUmIG90aGVyKSBjb25z
dAoreworICAgIHJldHVybiBtX25hbWUgPT0gb3RoZXIubV9uYW1lOworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTmFtZWRJbWFn
ZVZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTmFtZWRJbWFnZVZhbHVlLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNjk5NGYzNTNhMDA5MzIzMWMzYmQ1Y2FhZGQwOGE4MGRmMzE1YzQ3YwotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NOYW1lZEltYWdlVmFsdWUuaApAQCAtMCww
ICsxLDY1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2lmbmRlZiBDU1NOYW1lZEltYWdlVmFsdWVfaAorI2RlZmluZSBDU1NOYW1lZEltYWdlVmFsdWVf
aAorCisjaW5jbHVkZSAiQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5oIgorCisjaW5jbHVkZSAiSW1h
Z2UuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBEb2N1bWVudDsKKworY2xhc3Mg
Q1NTTmFtZWRJbWFnZVZhbHVlIDogcHVibGljIENTU0ltYWdlR2VuZXJhdG9yVmFsdWUgeworcHVi
bGljOgorICAgIHN0YXRpYyBSZWY8Q1NTTmFtZWRJbWFnZVZhbHVlPiBjcmVhdGUoY29uc3QgU3Ry
aW5nJiBuYW1lKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IENTU05hbWVkSW1hZ2VWYWx1ZShuYW1l
KSk7IH0KKworICAgIFN0cmluZyBjdXN0b21DU1NUZXh0KCkgY29uc3Q7CisKKyAgICBib29sIGlz
Rml4ZWRTaXplKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyAgICBib29sIGlzUGVuZGluZygp
IGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisKKyAgICBQYXNzUmVmUHRyPEltYWdlPiBpbWFnZShS
ZW5kZXJFbGVtZW50KiwgY29uc3QgRmxvYXRTaXplJik7CisKKyAgICBib29sIGVxdWFscyhjb25z
dCBDU1NOYW1lZEltYWdlVmFsdWUmKSBjb25zdDsKKworcHJpdmF0ZToKKyAgICBleHBsaWNpdCBD
U1NOYW1lZEltYWdlVmFsdWUoY29uc3QgU3RyaW5nJiBuYW1lKQorICAgICAgICA6IENTU0ltYWdl
R2VuZXJhdG9yVmFsdWUoTmFtZWRJbWFnZUNsYXNzKQorICAgICAgICAsIG1fbmFtZShuYW1lKQor
ICAgIHsKKyAgICB9CisKKyAgICBTdHJpbmcgbV9uYW1lOworICAgIFJlZlB0cjxJbWFnZT4gbV9n
ZW5lcmF0ZWRJbWFnZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworU1BFQ0lBTEla
RV9UWVBFX1RSQUlUU19DU1NfVkFMVUUoQ1NTTmFtZWRJbWFnZVZhbHVlLCBpc05hbWVkSW1hZ2VW
YWx1ZSgpKQorCisjZW5kaWYgLy8gQ1NTTmFtZWRJbWFnZVZhbHVlX2gKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Bh
cnNlci5jcHAKaW5kZXggYjJjYTAzMTdhMTUyMTYzZTk3NDIwOWI2OTQ5YjE5MTk0MWU2MGM5NC4u
ZTcyZTNmYjJiNzE1ZmY0ZjdmNjk0NWRhMjNiYmM1M2U0ODdkMTA2YyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1BhcnNlci5jcHAKQEAgLTUwLDYgKzUwLDcgQEAKICNpbmNsdWRlICJDU1NLZXlmcmFtZXNSdWxl
LmgiCiAjaW5jbHVkZSAiQ1NTTGluZUJveENvbnRhaW5WYWx1ZS5oIgogI2luY2x1ZGUgIkNTU01l
ZGlhUnVsZS5oIgorI2luY2x1ZGUgIkNTU05hbWVkSW1hZ2VWYWx1ZS5oIgogI2luY2x1ZGUgIkNT
U1BhZ2VSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTUHJpbWl0aXZlVmFsdWUuaCIKICNpbmNsdWRlICJD
U1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgiCkBAIC05MTUyLDcgKzkxNTMsOCBAQCBib29sIENT
U1BhcnNlcjo6aXNHZW5lcmF0ZWRJbWFnZVZhbHVlKENTU1BhcnNlclZhbHVlJiB2YWx1ZSkgY29u
c3QKICAgICAgICAgfHwgZXF1YWxJZ25vcmluZ0Nhc2UodmFsdWUuZnVuY3Rpb24tPm5hbWUsICJy
ZXBlYXRpbmctcmFkaWFsLWdyYWRpZW50KCIpCiAgICAgICAgIHx8IGVxdWFsSWdub3JpbmdDYXNl
KHZhbHVlLmZ1bmN0aW9uLT5uYW1lLCAiLXdlYmtpdC1jYW52YXMoIikKICAgICAgICAgfHwgZXF1
YWxJZ25vcmluZ0Nhc2UodmFsdWUuZnVuY3Rpb24tPm5hbWUsICItd2Via2l0LWNyb3NzLWZhZGUo
IikKLSAgICAgICAgfHwgZXF1YWxJZ25vcmluZ0Nhc2UodmFsdWUuZnVuY3Rpb24tPm5hbWUsICIt
d2Via2l0LWZpbHRlcigiKTsKKyAgICAgICAgfHwgZXF1YWxJZ25vcmluZ0Nhc2UodmFsdWUuZnVu
Y3Rpb24tPm5hbWUsICItd2Via2l0LWZpbHRlcigiKQorICAgICAgICB8fCBlcXVhbElnbm9yaW5n
Q2FzZSh2YWx1ZS5mdW5jdGlvbi0+bmFtZSwgIi13ZWJraXQtbmFtZWQtaW1hZ2UoIik7CiB9CiAK
IGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUdlbmVyYXRlZEltYWdlKENTU1BhcnNlclZhbHVlTGlzdCYg
dmFsdWVMaXN0LCBSZWZQdHI8Q1NTVmFsdWU+JiB2YWx1ZSkKQEAgLTkxOTgsNiArOTIwMCw5IEBA
IGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUdlbmVyYXRlZEltYWdlKENTU1BhcnNlclZhbHVlTGlzdCYg
dmFsdWVMaXN0LCBSZWZQdHI8Q1NTVmFsCiAgICAgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHBhcnNl
clZhbHVlLmZ1bmN0aW9uLT5uYW1lLCAiLXdlYmtpdC1maWx0ZXIoIikpCiAgICAgICAgIHJldHVy
biBwYXJzZUZpbHRlckltYWdlKHZhbHVlTGlzdCwgdmFsdWUpOwogCisgICAgaWYgKGVxdWFsSWdu
b3JpbmdDYXNlKHBhcnNlclZhbHVlLmZ1bmN0aW9uLT5uYW1lLCAiLXdlYmtpdC1uYW1lZC1pbWFn
ZSgiKSkKKyAgICAgICAgcmV0dXJuIHBhcnNlTmFtZWRJbWFnZSh2YWx1ZUxpc3QsIHZhbHVlKTsK
KwogICAgIHJldHVybiBmYWxzZTsKIH0KIApAQCAtOTMxMCw2ICs5MzE1LDIxIEBAIGJvb2wgQ1NT
UGFyc2VyOjpwYXJzZUNhbnZhcyhDU1NQYXJzZXJWYWx1ZUxpc3QmIHZhbHVlTGlzdCwgUmVmUHRy
PENTU1ZhbHVlPiYgY2FuCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK2Jvb2wgQ1NTUGFyc2VyOjpw
YXJzZU5hbWVkSW1hZ2UoQ1NTUGFyc2VyVmFsdWVMaXN0JiB2YWx1ZUxpc3QsIFJlZlB0cjxDU1NW
YWx1ZT4mIG5hbWVkSW1hZ2UpCit7CisgICAgQ1NTUGFyc2VyVmFsdWVMaXN0KiBhcmdzID0gdmFs
dWVMaXN0LmN1cnJlbnQoKS0+ZnVuY3Rpb24tPmFyZ3MuZ2V0KCk7CisgICAgaWYgKCFhcmdzIHx8
IGFyZ3MtPnNpemUoKSAhPSAxKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAvLyBUaGUg
b25seSBhcmd1bWVudCBpcyB0aGUgaW1hZ2UgbmFtZS4KKyAgICBDU1NQYXJzZXJWYWx1ZSogdmFs
dWUgPSBhcmdzLT5jdXJyZW50KCk7CisgICAgaWYgKCF2YWx1ZSB8fCB2YWx1ZS0+dW5pdCAhPSBD
U1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0lERU5UKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICBuYW1lZEltYWdlID0gQ1NTTmFtZWRJbWFnZVZhbHVlOjpjcmVhdGUodmFsdWUtPnN0cmluZyk7
CisgICAgcmV0dXJuIHRydWU7Cit9CisKICNpZiBFTkFCTEUoQ1NTX0lNQUdFX1JFU09MVVRJT04p
CiBQYXNzUmVmUHRyPENTU1ZhbHVlPiBDU1NQYXJzZXI6OnBhcnNlSW1hZ2VSZXNvbHV0aW9uKCkK
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAppbmRleCA1Mjk5ZGJiYTBlYWQxNzg4Njg5M2YwN2M1OTAz
ZDc4NGY2MjVhM2ExLi4zOThjMmY0Y2U1NTQ1Y2RjMTZhNDViYzU2MTJhM2I2YTU5ZTA0Zjg4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1BhcnNlci5oCkBAIC0yOTAsNiArMjkwLDcgQEAgcHVibGljOgogCiAgICAg
Ly8gSW1hZ2UgZ2VuZXJhdG9ycwogICAgIGJvb2wgcGFyc2VDYW52YXMoQ1NTUGFyc2VyVmFsdWVM
aXN0JiwgUmVmUHRyPENTU1ZhbHVlPiYpOworICAgIGJvb2wgcGFyc2VOYW1lZEltYWdlKENTU1Bh
cnNlclZhbHVlTGlzdCYsIFJlZlB0cjxDU1NWYWx1ZT4mKTsKIAogICAgIGJvb2wgcGFyc2VEZXBy
ZWNhdGVkR3JhZGllbnQoQ1NTUGFyc2VyVmFsdWVMaXN0JiwgUmVmUHRyPENTU1ZhbHVlPiYpOwog
ICAgIGJvb2wgcGFyc2VEZXByZWNhdGVkTGluZWFyR3JhZGllbnQoQ1NTUGFyc2VyVmFsdWVMaXN0
JiwgUmVmUHRyPENTU1ZhbHVlPiYsIENTU0dyYWRpZW50UmVwZWF0IHJlcGVhdGluZyk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1ZhbHVlLmNwcAppbmRleCA0MzFkZDQ1NDlkMjE4ZDdlMDVhOTY1NTM2NjA0NWQxYzYy
Y2ZiY2MzLi45ZWIxOWFiMjgwYzI1ZjBjZjBlZjNiNzVjMGUwMTYzMjA2NTc2ZjY3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NWYWx1ZS5jcHAKQEAgLTQ3LDYgKzQ3LDcgQEAKICNpbmNsdWRlICJDU1NJbmhlcml0
ZWRWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0luaXRpYWxWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0xp
bmVCb3hDb250YWluVmFsdWUuaCIKKyNpbmNsdWRlICJDU1NOYW1lZEltYWdlVmFsdWUuaCIKICNp
bmNsdWRlICJDU1NQcmltaXRpdmVWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU1JlZmxlY3RWYWx1ZS5o
IgogI2luY2x1ZGUgIkNTU1NoYWRvd1ZhbHVlLmgiCkBAIC0xNjgsNiArMTY5LDggQEAgYm9vbCBD
U1NWYWx1ZTo6ZXF1YWxzKGNvbnN0IENTU1ZhbHVlJiBvdGhlcikgY29uc3QKICAgICAgICAgICAg
IHJldHVybiBjb21wYXJlQ1NTVmFsdWVzPENTU0JvcmRlckltYWdlU2xpY2VWYWx1ZT4oKnRoaXMs
IG90aGVyKTsKICAgICAgICAgY2FzZSBDYW52YXNDbGFzczoKICAgICAgICAgICAgIHJldHVybiBj
b21wYXJlQ1NTVmFsdWVzPENTU0NhbnZhc1ZhbHVlPigqdGhpcywgb3RoZXIpOworICAgICAgICBj
YXNlIE5hbWVkSW1hZ2VDbGFzczoKKyAgICAgICAgICAgIHJldHVybiBjb21wYXJlQ1NTVmFsdWVz
PENTU05hbWVkSW1hZ2VWYWx1ZT4oKnRoaXMsIG90aGVyKTsKICAgICAgICAgY2FzZSBDdXJzb3JJ
bWFnZUNsYXNzOgogICAgICAgICAgICAgcmV0dXJuIGNvbXBhcmVDU1NWYWx1ZXM8Q1NTQ3Vyc29y
SW1hZ2VWYWx1ZT4oKnRoaXMsIG90aGVyKTsKICAgICAgICAgY2FzZSBGaWx0ZXJJbWFnZUNsYXNz
OgpAQCAtMjYwLDYgKzI2Myw4IEBAIFN0cmluZyBDU1NWYWx1ZTo6Y3NzVGV4dCgpIGNvbnN0CiAg
ICAgICAgIHJldHVybiBkb3duY2FzdDxDU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWU+KCp0aGlzKS5j
dXN0b21DU1NUZXh0KCk7CiAgICAgY2FzZSBDYW52YXNDbGFzczoKICAgICAgICAgcmV0dXJuIGRv
d25jYXN0PENTU0NhbnZhc1ZhbHVlPigqdGhpcykuY3VzdG9tQ1NTVGV4dCgpOworICAgIGNhc2Ug
TmFtZWRJbWFnZUNsYXNzOgorICAgICAgICByZXR1cm4gZG93bmNhc3Q8Q1NTTmFtZWRJbWFnZVZh
bHVlPigqdGhpcykuY3VzdG9tQ1NTVGV4dCgpOwogICAgIGNhc2UgQ3Vyc29ySW1hZ2VDbGFzczoK
ICAgICAgICAgcmV0dXJuIGRvd25jYXN0PENTU0N1cnNvckltYWdlVmFsdWU+KCp0aGlzKS5jdXN0
b21DU1NUZXh0KCk7CiAgICAgY2FzZSBGaWx0ZXJJbWFnZUNsYXNzOgpAQCAtMzUyLDYgKzM1Nyw5
IEBAIHZvaWQgQ1NTVmFsdWU6OmRlc3Ryb3koKQogICAgIGNhc2UgQ2FudmFzQ2xhc3M6CiAgICAg
ICAgIGRlbGV0ZSBkb3duY2FzdDxDU1NDYW52YXNWYWx1ZT4odGhpcyk7CiAgICAgICAgIHJldHVy
bjsKKyAgICBjYXNlIE5hbWVkSW1hZ2VDbGFzczoKKyAgICAgICAgZGVsZXRlIGRvd25jYXN0PENT
U05hbWVkSW1hZ2VWYWx1ZT4odGhpcyk7CisgICAgICAgIHJldHVybjsKICAgICBjYXNlIEN1cnNv
ckltYWdlQ2xhc3M6CiAgICAgICAgIGRlbGV0ZSBkb3duY2FzdDxDU1NDdXJzb3JJbWFnZVZhbHVl
Pih0aGlzKTsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1ZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaAppbmRleCA5YTQwNjg2
ODljMTY3MWRkOTJhNTFmMDdmY2VhNzJjZjFhMDkwMjE2Li41OWVhMWM5NTk3ODdhMjMxN2JiMDFl
YjYzNTkxMDQ1NWMyMzY4OTM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFs
dWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaApAQCAtNzksNiArNzksNyBA
QCBwdWJsaWM6CiAgICAgYm9vbCBpc0ZvbnRWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NU
eXBlID09IEZvbnRDbGFzczsgfQogICAgIGJvb2wgaXNJbWFnZUdlbmVyYXRvclZhbHVlKCkgY29u
c3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPj0gQ2FudmFzQ2xhc3MgJiYgbV9jbGFzc1R5cGUgPD0g
UmFkaWFsR3JhZGllbnRDbGFzczsgfQogICAgIGJvb2wgaXNHcmFkaWVudFZhbHVlKCkgY29uc3Qg
eyByZXR1cm4gbV9jbGFzc1R5cGUgPj0gTGluZWFyR3JhZGllbnRDbGFzcyAmJiBtX2NsYXNzVHlw
ZSA8PSBSYWRpYWxHcmFkaWVudENsYXNzOyB9CisgICAgYm9vbCBpc05hbWVkSW1hZ2VWYWx1ZSgp
IGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IE5hbWVkSW1hZ2VDbGFzczsgfQogI2lmIEVO
QUJMRShDU1NfSU1BR0VfU0VUKQogICAgIGJvb2wgaXNJbWFnZVNldFZhbHVlKCkgY29uc3QgeyBy
ZXR1cm4gbV9jbGFzc1R5cGUgPT0gSW1hZ2VTZXRDbGFzczsgfQogI2VuZGlmCkBAIC0xMzksNiAr
MTQwLDcgQEAgcHJvdGVjdGVkOgogCiAgICAgICAgIC8vIEltYWdlIGdlbmVyYXRvciBjbGFzc2Vz
LgogICAgICAgICBDYW52YXNDbGFzcywKKyAgICAgICAgTmFtZWRJbWFnZUNsYXNzLAogICAgICAg
ICBDcm9zc2ZhZGVDbGFzcywKICAgICAgICAgRmlsdGVySW1hZ2VDbGFzcywKICAgICAgICAgTGlu
ZWFyR3JhZGllbnRDbGFzcywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Ro
ZW1lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lLmNwcAppbmRleCA5NjU0N2E3
Y2Y1NmM1MmQ4ZmQwODMyY2VmODEyM2NiYTgzNmQzMmZlLi5lYWM3MzUyNTQxY2E2MDAyZGY3YjA4
NGE2NzdjMjJmZTBlOWExMTgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9U
aGVtZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWUuY3BwCkBAIC0yNiw2
ICsyNiw4IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiVGhlbWUuaCIKIAorI2lu
Y2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIExlbmd0
aEJveCBUaGVtZTo6Y29udHJvbEJvcmRlcihDb250cm9sUGFydCBwYXJ0LCBjb25zdCBGb250Q2Fz
Y2FkZSYsIGNvbnN0IExlbmd0aEJveCYgem9vbWVkQm94LCBmbG9hdCkgY29uc3QKQEAgLTU1LDQg
KzU3LDYwIEBAIExlbmd0aEJveCBUaGVtZTo6Y29udHJvbFBhZGRpbmcoQ29udHJvbFBhcnQgcGFy
dCwgY29uc3QgRm9udENhc2NhZGUmLCBjb25zdCBMZW5nCiAgICAgfQogfQogCit2b2lkIFRoZW1l
OjpkcmF3TmFtZWRJbWFnZShjb25zdCBTdHJpbmcmIG5hbWUsIEdyYXBoaWNzQ29udGV4dCogY29u
dGV4dCwgY29uc3QgRmxvYXRSZWN0JiByZWN0KSBjb25zdAoreworICAgIC8vIFdlIG9ubHkgaGFu
ZGxlIG9uZSBpY29uIGF0IHRoZSBtb21lbnQuCisgICAgaWYgKG5hbWUgIT0gIndpcmVsZXNzLXBs
YXliYWNrIikKKyAgICAgICAgcmV0dXJuOworCisgICAgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZl
ciBzdGF0ZVNhdmVyKCpjb250ZXh0KTsKKyAgICBjb250ZXh0LT5zZXRGaWxsQ29sb3IoQ29sb3I6
OmJsYWNrLCBDb2xvclNwYWNlRGV2aWNlUkdCKTsKKworICAgIC8vIERyYXcgYSBnZW5lcmljIFdp
cmVsZXNzIFBsYXliYWNrIGljb24uCisKKyAgICBjb250ZXh0LT5zY2FsZShGbG9hdFNpemUocmVj
dC5zaXplKCkud2lkdGgoKSAvIDEwMCwgcmVjdC5zaXplKCkuaGVpZ2h0KCkgLyAxMDApKTsKKyAg
ICBjb250ZXh0LT50cmFuc2xhdGUoOCwgMSk7CisKKyAgICBQYXRoIG91dGxpbmU7CisgICAgb3V0
bGluZS5tb3ZlVG8oRmxvYXRQb2ludCg1OSwgNTguNykpOworICAgIG91dGxpbmUuYWRkQmV6aWVy
Q3VydmVUbyhGbG9hdFBvaW50KDU4LjEsIDU4LjcpLCBGbG9hdFBvaW50KDU3LjIsIDU4LjQpLCBG
bG9hdFBvaW50KDU2LjQsIDU3LjcpKTsKKyAgICBvdXRsaW5lLmFkZExpbmVUbyhGbG9hdFBvaW50
KDQyLCA0NS41KSk7CisgICAgb3V0bGluZS5hZGRMaW5lVG8oRmxvYXRQb2ludCgyNy42LCA1Ny44
KSk7CisgICAgb3V0bGluZS5hZGRCZXppZXJDdXJ2ZVRvKEZsb2F0UG9pbnQoMjUuOSwgNTkuMiks
IEZsb2F0UG9pbnQoMjMuNCwgNTkpLCBGbG9hdFBvaW50KDIyLCA1Ny4zKSk7CisgICAgb3V0bGlu
ZS5hZGRCZXppZXJDdXJ2ZVRvKEZsb2F0UG9pbnQoMjAuNiwgNTUuNiksIEZsb2F0UG9pbnQoMjAu
OCwgNTMuMSksIEZsb2F0UG9pbnQoMjIuNSwgNTEuNykpOworICAgIG91dGxpbmUuYWRkTGluZVRv
KEZsb2F0UG9pbnQoMzkuNSwgMzcuMykpOworICAgIG91dGxpbmUuYWRkQmV6aWVyQ3VydmVUbyhG
bG9hdFBvaW50KDQxLCAzNiksIEZsb2F0UG9pbnQoNDMuMiwgMzYpLCBGbG9hdFBvaW50KDQ0Ljcs
IDM3LjMpKTsKKyAgICBvdXRsaW5lLmFkZExpbmVUbyhGbG9hdFBvaW50KDYxLjcsIDUxLjcpKTsK
KyAgICBvdXRsaW5lLmFkZEJlemllckN1cnZlVG8oRmxvYXRQb2ludCg2My40LCA1My4xKSwgRmxv
YXRQb2ludCg2My42LCA1NS43KSwgRmxvYXRQb2ludCg2Mi4yLCA1Ny4zKSk7CisgICAgb3V0bGlu
ZS5hZGRCZXppZXJDdXJ2ZVRvKEZsb2F0UG9pbnQoNjEuMywgNTguMiksIEZsb2F0UG9pbnQoNjAu
MSwgNTguNyksIEZsb2F0UG9pbnQoNTksIDU4LjcpKTsKKyAgICBvdXRsaW5lLmFkZExpbmVUbyhG
bG9hdFBvaW50KDU5LCA1OC43KSk7CisgICAgb3V0bGluZS5jbG9zZVN1YnBhdGgoKTsKKworICAg
IG91dGxpbmUubW92ZVRvKEZsb2F0UG9pbnQoNDIsIDk4KSk7CisgICAgb3V0bGluZS5hZGRCZXpp
ZXJDdXJ2ZVRvKEZsb2F0UG9pbnQoMzkuOCwgOTgpLCBGbG9hdFBvaW50KDM4LCA5Ni4zKSwgRmxv
YXRQb2ludCgzOCwgOTQuMikpOworICAgIG91dGxpbmUuYWRkTGluZVRvKEZsb2F0UG9pbnQoMzgs
IDQzLjYpKTsKKyAgICBvdXRsaW5lLmFkZEJlemllckN1cnZlVG8oRmxvYXRQb2ludCgzOCwgNDEu
NSksIEZsb2F0UG9pbnQoMzkuOCwgMzkuOCksIEZsb2F0UG9pbnQoNDIsIDM5LjgpKTsKKyAgICBv
dXRsaW5lLmFkZEJlemllckN1cnZlVG8oRmxvYXRQb2ludCg0NC4yLCAzOS44KSwgRmxvYXRQb2lu
dCg0NiwgNDEuNSksIEZsb2F0UG9pbnQoNDYsIDQzLjYpKTsKKyAgICBvdXRsaW5lLmFkZExpbmVU
byhGbG9hdFBvaW50KDQ2LCA5NC4yKSk7CisgICAgb3V0bGluZS5hZGRCZXppZXJDdXJ2ZVRvKEZs
b2F0UG9pbnQoNDYsIDk2LjMpLCBGbG9hdFBvaW50KDQ0LjIsIDk4KSwgRmxvYXRQb2ludCg0Miwg
OTgpKTsKKyAgICBvdXRsaW5lLmFkZExpbmVUbyhGbG9hdFBvaW50KDQyLCA5OCkpOworICAgIG91
dGxpbmUuY2xvc2VTdWJwYXRoKCk7CisKKyAgICBvdXRsaW5lLm1vdmVUbyhGbG9hdFBvaW50KDgz
LjYsIDQxLjYpKTsKKyAgICBvdXRsaW5lLmFkZEJlemllckN1cnZlVG8oRmxvYXRQb2ludCg4My42
LCAxOC42KSwgRmxvYXRQb2ludCg2NSwgMCksIEZsb2F0UG9pbnQoNDIsIDApKTsKKyAgICBvdXRs
aW5lLmFkZEJlemllckN1cnZlVG8oRmxvYXRQb2ludCgxOSwgMCksIEZsb2F0UG9pbnQoMC40LCAx
OC42KSwgRmxvYXRQb2ludCgwLjQsIDQxLjYpKTsKKyAgICBvdXRsaW5lLmFkZEJlemllckN1cnZl
VG8oRmxvYXRQb2ludCgwLjQsIDYyLjIpLCBGbG9hdFBvaW50KDE1LCA3OS4yKSwgRmxvYXRQb2lu
dCgzNSwgODIuNikpOworICAgIG91dGxpbmUuYWRkTGluZVRvKEZsb2F0UG9pbnQoMzUsIDc0LjUp
KTsKKyAgICBvdXRsaW5lLmFkZEJlemllckN1cnZlVG8oRmxvYXRQb2ludCgyMCwgNzEuMiksIEZs
b2F0UG9pbnQoOC40LCA1Ny43KSwgRmxvYXRQb2ludCg4LjQsIDQxLjYpKTsKKyAgICBvdXRsaW5l
LmFkZEJlemllckN1cnZlVG8oRmxvYXRQb2ludCg4LjQsIDIzLjEpLCBGbG9hdFBvaW50KDIzLjUs
IDgpLCBGbG9hdFBvaW50KDQyLCA4KSk7CisgICAgb3V0bGluZS5hZGRCZXppZXJDdXJ2ZVRvKEZs
b2F0UG9pbnQoNjAuNSwgOCksIEZsb2F0UG9pbnQoNzUuNSwgMjMuMSksIEZsb2F0UG9pbnQoNzUu
NSwgNDEuNikpOworICAgIG91dGxpbmUuYWRkQmV6aWVyQ3VydmVUbyhGbG9hdFBvaW50KDc1LjYs
IDU3LjcpLCBGbG9hdFBvaW50KDY0LCA3MS4yKSwgRmxvYXRQb2ludCg0OSwgNzQuNSkpOworICAg
IG91dGxpbmUuYWRkTGluZVRvKEZsb2F0UG9pbnQoNDksIDgyLjYpKTsKKyAgICBvdXRsaW5lLmFk
ZEJlemllckN1cnZlVG8oRmxvYXRQb2ludCg2OSwgNzkuMyksIEZsb2F0UG9pbnQoODMuNiwgNjIu
MiksIEZsb2F0UG9pbnQoODMuNiwgNDEuNikpOworICAgIG91dGxpbmUuYWRkTGluZVRvKEZsb2F0
UG9pbnQoODMuNiwgNDEuNikpOworICAgIG91dGxpbmUuY2xvc2VTdWJwYXRoKCk7CisKKyAgICBj
b250ZXh0LT5maWxsUGF0aChvdXRsaW5lKTsKK30KKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vVGhlbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lLmgK
aW5kZXggZWNlODRjZjY1OGFmZjYxNWE1ZGQ5NzI1OTcxMWU0YmEzNGI2YTUyYi4uMTBlMGM3NzNm
ZTIyNDAxZjZiNDRmMWJkNGQ2Y2I2OWU2ZTBmZDY3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vVGhlbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZS5o
CkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiQ29sb3IuaCIKICNpbmNsdWRlICJDb250cm9s
U3RhdGVzLmgiCiAjaW5jbHVkZSAiRm9udENhc2NhZGUuaCIKKyNpbmNsdWRlICJHcmFwaGljc1R5
cGVzLmgiCiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIkxlbmd0aEJveC5oIgogI2lu
Y2x1ZGUgIkxlbmd0aFNpemUuaCIKQEAgLTEwNiw3ICsxMDcsOSBAQCBwdWJsaWM6CiAgICAgLy8g
VGhlIHJlY3QgcGFzc2VkIGluIGlzIGluIHpvb21lZCBjb29yZGluYXRlcywgc28gdGhlIGluZmxh
dGlvbiBzaG91bGQgdGFrZSB0aGF0IGludG8gYWNjb3VudCBhbmQgbWFrZSBzdXJlIHRoZSBpbmZs
YXRpb24KICAgICAvLyBhbW91bnQgaXMgYWxzbyBzY2FsZWQgYnkgdGhlIHpvb21GYWN0b3IuCiAg
ICAgdmlydHVhbCB2b2lkIGluZmxhdGVDb250cm9sUGFpbnRSZWN0KENvbnRyb2xQYXJ0LCBjb25z
dCBDb250cm9sU3RhdGVzKiwgRmxvYXRSZWN0JiAvKnpvb21lZFJlY3QqLywgZmxvYXQgLyp6b29t
RmFjdG9yKi8pIGNvbnN0IHsgfQotICAgIAorCisgICAgdmlydHVhbCB2b2lkIGRyYXdOYW1lZElt
YWdlKGNvbnN0IFN0cmluZyYsIEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UmVjdCYpIGNv
bnN0OworCiAgICAgLy8gVGhpcyBtZXRob2QgaXMgY2FsbGVkIG9uY2UsIGZyb20gUmVuZGVyVGhl
bWU6OmFkanVzdERlZmF1bHRTdHlsZVNoZWV0KCksIHRvIGxldCBlYWNoIHBsYXRmb3JtIGFkanVz
dAogICAgIC8vIHRoZSBkZWZhdWx0IENTUyBydWxlcyBpbiBodG1sLmNzcy4KICAgICBzdGF0aWMg
U3RyaW5nIGRlZmF1bHRTdHlsZVNoZWV0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jb2NvYS9UaGVtZUNvY29hLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nv
Y29hL1RoZW1lQ29jb2EuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRhODc5MjhjMGY4NzM0MDU5YzQyYjc5MGQ5
ZTMxNzIyOTVmOGNjZjIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9jb2NvYS9UaGVtZUNvY29hLmNwcApAQCAtMCwwICsxLDkwIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBB
TlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
ICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisjaW1wb3J0
ICJUaGVtZUNvY29hLmgiCisKKyNpbXBvcnQgIkdyYXBoaWNzQ29udGV4dC5oIgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK3N0YXRpYyB2b2lkIGZpdENvbnRleHRUb0JveChHcmFwaGljc0NvbnRl
eHQqIGNvbnRleHQsIGNvbnN0IEZsb2F0U2l6ZSYgc3JjSW1hZ2VTaXplLCBjb25zdCBGbG9hdFNp
emUmIGRzdFNpemUpCit7CisgICAgZmxvYXQgc3JjUmF0aW8gPSBzcmNJbWFnZVNpemUuYXNwZWN0
UmF0aW8oKTsKKyAgICBmbG9hdCBkc3RSYXRpbyA9IGRzdFNpemUuYXNwZWN0UmF0aW8oKTsKKwor
ICAgIGZsb2F0IHNjYWxlOworICAgIGZsb2F0IHRyYW5zbGF0aW9uWCA9IDA7CisgICAgZmxvYXQg
dHJhbnNsYXRpb25ZID0gMDsKKyAgICBpZiAoc3JjUmF0aW8gPiBkc3RSYXRpbykgeworICAgICAg
ICBzY2FsZSA9IGRzdFNpemUud2lkdGgoKSAvIHNyY0ltYWdlU2l6ZS53aWR0aCgpOworICAgICAg
ICB0cmFuc2xhdGlvblkgPSAoZHN0U2l6ZS5oZWlnaHQoKSAtIHNjYWxlICogc3JjSW1hZ2VTaXpl
LmhlaWdodCgpKSAvIDI7CisgICAgfSBlbHNlIHsKKyAgICAgICAgc2NhbGUgPSBkc3RTaXplLmhl
aWdodCgpIC8gc3JjSW1hZ2VTaXplLmhlaWdodCgpOworICAgICAgICB0cmFuc2xhdGlvblggPSAo
ZHN0U2l6ZS53aWR0aCgpIC0gc2NhbGUgKiBzcmNJbWFnZVNpemUud2lkdGgoKSkgLyAyOworICAg
IH0KKyAgICBjb250ZXh0LT50cmFuc2xhdGUodHJhbnNsYXRpb25YLCB0cmFuc2xhdGlvblkpOwor
ICAgIGNvbnRleHQtPnNjYWxlKEZsb2F0U2l6ZShzY2FsZSwgc2NhbGUpKTsKK30KKwordm9pZCBU
aGVtZUNvY29hOjpkcmF3TmFtZWRJbWFnZShjb25zdCBTdHJpbmcmIG5hbWUsIEdyYXBoaWNzQ29u
dGV4dCogY29udGV4dCwgY29uc3QgRmxvYXRSZWN0JiByZWN0KSBjb25zdAoreworICAgIC8vIFdl
IG9ubHkgaGFuZGxlIG9uZSBpY29uIGF0IHRoZSBtb21lbnQuCisgICAgaWYgKG5hbWUgIT0gIndp
cmVsZXNzLXBsYXliYWNrIikgeworICAgICAgICBUaGVtZTo6ZHJhd05hbWVkSW1hZ2UobmFtZSwg
Y29udGV4dCwgcmVjdCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBHcmFwaGljc0Nv
bnRleHRTdGF0ZVNhdmVyIHN0YXRlU2F2ZXIoKmNvbnRleHQpOworICAgIGNvbnRleHQtPnNldEZp
bGxDb2xvcihDb2xvcjo6YmxhY2ssIENvbG9yU3BhY2VEZXZpY2VSR0IpOworCisgICAgRmxvYXRT
aXplIHdpcmVsZXNzUGxheWJhY2tTcmNTaXplKDMyLCAyNC4wMTYpOworICAgIGZpdENvbnRleHRU
b0JveChjb250ZXh0LCB3aXJlbGVzc1BsYXliYWNrU3JjU2l6ZSwgcmVjdC5zaXplKCkpOworCisg
ICAgUGF0aCBvdXRsaW5lOworICAgIG91dGxpbmUubW92ZVRvKEZsb2F0UG9pbnQoMjQuMDY2LCAx
OCkpOworICAgIG91dGxpbmUuYWRkTGluZVRvKEZsb2F0UG9pbnQoMjIuMTExLCAxNikpOworICAg
IG91dGxpbmUuYWRkTGluZVRvKEZsb2F0UG9pbnQoMzAsIDE2KSk7CisgICAgb3V0bGluZS5hZGRM
aW5lVG8oRmxvYXRQb2ludCgzMCwgMikpOworICAgIG91dGxpbmUuYWRkTGluZVRvKEZsb2F0UG9p
bnQoMiwgMikpOworICAgIG91dGxpbmUuYWRkTGluZVRvKEZsb2F0UG9pbnQoMiwgMTYpKTsKKyAg
ICBvdXRsaW5lLmFkZExpbmVUbyhGbG9hdFBvaW50KDkuOTA4LCAxNikpOworICAgIG91dGxpbmUu
YWRkTGluZVRvKEZsb2F0UG9pbnQoNy45NTMsIDE4KSk7CisgICAgb3V0bGluZS5hZGRMaW5lVG8o
RmxvYXRQb2ludCgwLCAxOCkpOworICAgIG91dGxpbmUuYWRkTGluZVRvKEZsb2F0UG9pbnQoMCwg
MCkpOworICAgIG91dGxpbmUuYWRkTGluZVRvKEZsb2F0UG9pbnQoMzIsIDApKTsKKyAgICBvdXRs
aW5lLmFkZExpbmVUbyhGbG9hdFBvaW50KDMyLCAxOCkpOworICAgIG91dGxpbmUuYWRkTGluZVRv
KEZsb2F0UG9pbnQoMjQuMDY2LCAxOCkpOworICAgIG91dGxpbmUuY2xvc2VTdWJwYXRoKCk7Cisg
ICAgb3V0bGluZS5tb3ZlVG8oRmxvYXRQb2ludCgyNi45MTcsIDI0LjAxNikpOworICAgIG91dGxp
bmUuYWRkTGluZVRvKEZsb2F0UG9pbnQoNS4wNDAsIDI0LjAxNikpOworICAgIG91dGxpbmUuYWRk
TGluZVRvKEZsb2F0UG9pbnQoMTUuOTc4LCAxMi44MjgpKTsKKyAgICBvdXRsaW5lLmFkZExpbmVU
byhGbG9hdFBvaW50KDI2LjkxNywgMjQuMDE2KSk7CisgICAgb3V0bGluZS5jbG9zZVN1YnBhdGgo
KTsKKyAgICAKKyAgICBjb250ZXh0LT5maWxsUGF0aChvdXRsaW5lKTsKK30KKworfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvVGhlbWVDb2NvYS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvVGhlbWVDb2NvYS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFkNmI2OTM4
ZjA1NjRkNjg3NTJmMjgwYThiYTNkYzJmYzM1YmU2NGUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9UaGVtZUNvY29hLmgKQEAgLTAsMCArMSw0MyBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgVGhl
bWVDb2NvYV9oCisjZGVmaW5lIFRoZW1lQ29jb2FfaAorCisjaW5jbHVkZSAiVGhlbWUuaCIKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBUaGVtZUNvY29hIDogcHVibGljIFRoZW1lIHsK
K3B1YmxpYzoKKyAgICBUaGVtZUNvY29hKCkgeyB9CisgICAgdmlydHVhbCB+VGhlbWVDb2NvYSgp
IHsgfQorCisgICAgdmlydHVhbCB2b2lkIGRyYXdOYW1lZEltYWdlKGNvbnN0IFN0cmluZyYsIEdy
YXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UmVjdCYpIGNvbnN0IG92ZXJyaWRlOworfTsKKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gVGhlbWVDb2NvYV9oCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Dcm9zc2ZhZGVHZW5lcmF0ZWRJ
bWFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ3Jvc3NmYWRlR2VuZXJh
dGVkSW1hZ2UuaAppbmRleCBhOWQ1OGM1NzE0NjU3MDFmOGZkODZmN2RhNjI4N2QyZGVhNDgzOTJh
Li41NmE5ODc1MTRjYjcxYTE3YjRjNzgyYjcxODcxODZiZjcyYTBlMmI3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Dcm9zc2ZhZGVHZW5lcmF0ZWRJbWFnZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Nyb3NzZmFkZUdlbmVyYXRl
ZEltYWdlLmgKQEAgLTM0LDggKzM0LDYgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFz
cyBDU1NDcm9zc2ZhZGVWYWx1ZTsKLQogY2xhc3MgQ3Jvc3NmYWRlR2VuZXJhdGVkSW1hZ2UgZmlu
YWwgOiBwdWJsaWMgR2VuZXJhdGVkSW1hZ2UgewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8Q3Jv
c3NmYWRlR2VuZXJhdGVkSW1hZ2U+IGNyZWF0ZShJbWFnZSogZnJvbUltYWdlLCBJbWFnZSogdG9J
bWFnZSwgZmxvYXQgcGVyY2VudGFnZSwgY29uc3QgRmxvYXRTaXplJiBjcm9zc2ZhZGVTaXplLCBj
b25zdCBGbG9hdFNpemUmIHNpemUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvSW1hZ2VCdWZmZXIuaAppbmRleCBmMmVlNTA2Zjc3MGI0ZDNkNzg0MTc0N2M4NjAzMzZjMTZi
ZWU5ZGVjLi42NmMxZDhmNzVjYTk3ZThiYTU4OGU3ZWViNjNhYjM1MTRmNjNmNWQ2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmgKQEAgLTE0OSw2
ICsxNDksNyBAQCBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBHcmFwaGljc0NvbnRleHQ7CiAg
ICAgZnJpZW5kIGNsYXNzIEdlbmVyYXRlZEltYWdlOwogICAgIGZyaWVuZCBjbGFzcyBDcm9zc2Zh
ZGVHZW5lcmF0ZWRJbWFnZTsKKyAgICBmcmllbmQgY2xhc3MgTmFtZWRJbWFnZUdlbmVyYXRlZElt
YWdlOwogICAgIGZyaWVuZCBjbGFzcyBHcmFkaWVudEltYWdlOwogCiBwcml2YXRlOgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTmFtZWRJbWFnZUdlbmVyYXRl
ZEltYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL05hbWVkSW1hZ2VH
ZW5lcmF0ZWRJbWFnZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTBmZWRhODk0ZWMyN2RmNTgzOTk0MTg3Nzdm
MDI5ZWQyM2MwMzhhZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL05hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZS5jcHAKQEAgLTAsMCArMSw4NyBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKyNpbmNsdWRlICJOYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2UuaCIKKworI2luY2x1
ZGUgIkZsb2F0UmVjdC5oIgorI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgorI2luY2x1ZGUg
IkltYWdlQnVmZmVyLmgiCisjaW5jbHVkZSAiVGhlbWUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitOYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2U6Ok5hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZShT
dHJpbmcgbmFtZSwgY29uc3QgRmxvYXRTaXplJiBzaXplKQorICAgIDogbV9uYW1lKG5hbWUpCit7
CisgICAgc2V0Q29udGFpbmVyU2l6ZShzaXplKTsKK30KKwordm9pZCBOYW1lZEltYWdlR2VuZXJh
dGVkSW1hZ2U6OmRyYXcoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBGbG9hdFJlY3Qm
IGRzdFJlY3QsIGNvbnN0IEZsb2F0UmVjdCYgc3JjUmVjdCwgQ29sb3JTcGFjZSwgQ29tcG9zaXRl
T3BlcmF0b3IgY29tcG9zaXRlT3AsIEJsZW5kTW9kZSBibGVuZE1vZGUsIEltYWdlT3JpZW50YXRp
b25EZXNjcmlwdGlvbikKK3sKKyNpZiBVU0UoTkVXX1RIRU1FKQorICAgIEdyYXBoaWNzQ29udGV4
dFN0YXRlU2F2ZXIgc3RhdGVTYXZlcigqY29udGV4dCk7CisgICAgY29udGV4dC0+c2V0Q29tcG9z
aXRlT3BlcmF0aW9uKGNvbXBvc2l0ZU9wLCBibGVuZE1vZGUpOworICAgIGNvbnRleHQtPmNsaXAo
ZHN0UmVjdCk7CisgICAgY29udGV4dC0+dHJhbnNsYXRlKGRzdFJlY3QueCgpLCBkc3RSZWN0Lnko
KSk7CisgICAgaWYgKGRzdFJlY3Quc2l6ZSgpICE9IHNyY1JlY3Quc2l6ZSgpKQorICAgICAgICBj
b250ZXh0LT5zY2FsZShGbG9hdFNpemUoZHN0UmVjdC53aWR0aCgpIC8gc3JjUmVjdC53aWR0aCgp
LCBkc3RSZWN0LmhlaWdodCgpIC8gc3JjUmVjdC5oZWlnaHQoKSkpOworICAgIGNvbnRleHQtPnRy
YW5zbGF0ZSgtc3JjUmVjdC54KCksIC1zcmNSZWN0LnkoKSk7CisKKyAgICBwbGF0Zm9ybVRoZW1l
KCktPmRyYXdOYW1lZEltYWdlKG1fbmFtZSwgY29udGV4dCwgZHN0UmVjdCk7CisjZWxzZQorICAg
IFVOVVNFRF9QQVJBTShjb250ZXh0KTsKKyAgICBVTlVTRURfUEFSQU0oZHN0UmVjdCk7CisgICAg
VU5VU0VEX1BBUkFNKHNyY1JlY3QpOworICAgIFVOVVNFRF9QQVJBTShjb21wb3NpdGVPcCk7Cisg
ICAgVU5VU0VEX1BBUkFNKGJsZW5kTW9kZSk7CisjZW5kaWYKK30KKwordm9pZCBOYW1lZEltYWdl
R2VuZXJhdGVkSW1hZ2U6OmRyYXdQYXR0ZXJuKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29u
c3QgRmxvYXRSZWN0JiBzcmNSZWN0LCBjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIHBhdHRlcm5UcmFu
c2Zvcm0sIGNvbnN0IEZsb2F0UG9pbnQmIHBoYXNlLCBDb2xvclNwYWNlIHN0eWxlQ29sb3JTcGFj
ZSwgQ29tcG9zaXRlT3BlcmF0b3IgY29tcG9zaXRlT3AsIGNvbnN0IEZsb2F0UmVjdCYgZHN0UmVj
dCwgQmxlbmRNb2RlIGJsZW5kTW9kZSkKK3sKKyNpZiBVU0UoTkVXX1RIRU1FKQorICAgIHN0ZDo6
dW5pcXVlX3B0cjxJbWFnZUJ1ZmZlcj4gaW1hZ2VCdWZmZXIgPSBJbWFnZUJ1ZmZlcjo6Y3JlYXRl
KHNpemUoKSwgMSwgQ29sb3JTcGFjZURldmljZVJHQiwgY29udGV4dC0+aXNBY2NlbGVyYXRlZENv
bnRleHQoKSA/IEFjY2VsZXJhdGVkIDogVW5hY2NlbGVyYXRlZCk7CisgICAgaWYgKCFpbWFnZUJ1
ZmZlcikKKyAgICAgICAgcmV0dXJuOworCisgICAgR3JhcGhpY3NDb250ZXh0KiBncmFwaGljc0Nv
bnRleHQgPSBpbWFnZUJ1ZmZlci0+Y29udGV4dCgpOworICAgIHBsYXRmb3JtVGhlbWUoKS0+ZHJh
d05hbWVkSW1hZ2UobV9uYW1lLCBncmFwaGljc0NvbnRleHQsIEZsb2F0UmVjdCgwLCAwLCBzaXpl
KCkud2lkdGgoKSwgc2l6ZSgpLmhlaWdodCgpKSk7CisKKyAgICAvLyBUaWxlIHRoZSBpbWFnZSBi
dWZmZXIgaW50byB0aGUgY29udGV4dC4KKyAgICBpbWFnZUJ1ZmZlci0+ZHJhd1BhdHRlcm4oY29u
dGV4dCwgc3JjUmVjdCwgcGF0dGVyblRyYW5zZm9ybSwgcGhhc2UsIHN0eWxlQ29sb3JTcGFjZSwg
Y29tcG9zaXRlT3AsIGRzdFJlY3QsIGJsZW5kTW9kZSk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJB
TShjb250ZXh0KTsKKyAgICBVTlVTRURfUEFSQU0oc3JjUmVjdCk7CisgICAgVU5VU0VEX1BBUkFN
KHBhdHRlcm5UcmFuc2Zvcm0pOworICAgIFVOVVNFRF9QQVJBTShwaGFzZSk7CisgICAgVU5VU0VE
X1BBUkFNKHN0eWxlQ29sb3JTcGFjZSk7CisgICAgVU5VU0VEX1BBUkFNKGRzdFJlY3QpOworICAg
IFVOVVNFRF9QQVJBTShjb21wb3NpdGVPcCk7CisgICAgVU5VU0VEX1BBUkFNKGJsZW5kTW9kZSk7
CisjZW5kaWYKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9OYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2UuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMTc3OGVi
OWY5YjFjNGFiMmVjYzE2NDRjMzAyNDcxNWIzMmIxMmE3Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlLmgK
QEAgLTAsMCArMSw1NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpZm5kZWYgTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlX2gKKyNkZWZpbmUgTmFtZWRJ
bWFnZUdlbmVyYXRlZEltYWdlX2gKKworI2luY2x1ZGUgIkZsb2F0U2l6ZS5oIgorI2luY2x1ZGUg
IkdlbmVyYXRlZEltYWdlLmgiCisjaW5jbHVkZSAiSW1hZ2UuaCIKKyNpbmNsdWRlIDx3dGYvUmVm
UHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTmFtZWRJbWFnZUdlbmVyYXRl
ZEltYWdlIGZpbmFsIDogcHVibGljIEdlbmVyYXRlZEltYWdlIHsKK3B1YmxpYzoKKyAgICBzdGF0
aWMgUmVmPE5hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZT4gY3JlYXRlKFN0cmluZyBuYW1lLCBjb25z
dCBGbG9hdFNpemUmIHNpemUpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBO
YW1lZEltYWdlR2VuZXJhdGVkSW1hZ2UobmFtZSwgc2l6ZSkpOworICAgIH0KKworcHJvdGVjdGVk
OgorICAgIHZpcnR1YWwgdm9pZCBkcmF3KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UmVj
dCYgZHN0UmVjdCwgY29uc3QgRmxvYXRSZWN0JiBzcmNSZWN0LCBDb2xvclNwYWNlIHN0eWxlQ29s
b3JTcGFjZSwgQ29tcG9zaXRlT3BlcmF0b3IsIEJsZW5kTW9kZSwgSW1hZ2VPcmllbnRhdGlvbkRl
c2NyaXB0aW9uKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgZHJhd1BhdHRlcm4oR3JhcGhp
Y3NDb250ZXh0KiwgY29uc3QgRmxvYXRSZWN0JiBzcmNSZWN0LCBjb25zdCBBZmZpbmVUcmFuc2Zv
cm0mIHBhdHRlcm5UcmFuc2Zvcm0sIGNvbnN0IEZsb2F0UG9pbnQmIHBoYXNlLCBDb2xvclNwYWNl
IHN0eWxlQ29sb3JTcGFjZSwgQ29tcG9zaXRlT3BlcmF0b3IsIGNvbnN0IEZsb2F0UmVjdCYgZHN0
UmVjdCwgQmxlbmRNb2RlKSBvdmVycmlkZTsKKworICAgIE5hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFn
ZShTdHJpbmcgbmFtZSwgY29uc3QgRmxvYXRTaXplJik7CisKK3ByaXZhdGU6CisgICAgU3RyaW5n
IG1fbmFtZTsKK307CisKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pb3MvVGhlbWVJT1MuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9UaGVt
ZUlPUy5oCmluZGV4IGYzY2M5YmE3M2Q5MTU2NGMwMzA2ZGZjNmJhMWNhNWRiNDE5NzI5MzMuLjhk
ODA5ZjIzYzVkMGNmNzM0MDY0ODczYjI5YzQ4Njg2NzA1NDczYTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9UaGVtZUlPUy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2lvcy9UaGVtZUlPUy5oCkBAIC0yNiwxMSArMjYsMTEgQEAKICNpZm5kZWYgVGhlbWVJ
T1NfaAogI2RlZmluZSBUaGVtZUlPU19oCiAKLSNpbmNsdWRlICJUaGVtZS5oIgorI2luY2x1ZGUg
IlRoZW1lQ29jb2EuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBUaGVtZUlPUyA6
IHB1YmxpYyBUaGVtZSB7CitjbGFzcyBUaGVtZUlPUyA6IHB1YmxpYyBUaGVtZUNvY29hIHsKIHB1
YmxpYzoKICAgICBUaGVtZUlPUygpIHsgfQogICAgIHZpcnR1YWwgflRoZW1lSU9TKCkgeyB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvVGhlbWVNYWMuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9UaGVtZU1hYy5oCmluZGV4IDlhZTFlZDExOTRhYzRiMDJk
NDdlZjc3OGFlMGNjMjU4OTRiZWFkNmIuLjgzZGI4YTg1YjU4YmIwOGI5M2U4ZmE2MTFjNmEwZGVl
M2QzM2M4MmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9UaGVtZU1h
Yy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9UaGVtZU1hYy5oCkBAIC0yNiw3
ICsyNiw3IEBACiAjaWZuZGVmIFRoZW1lTWFjX2gKICNkZWZpbmUgVGhlbWVNYWNfaAogCi0jaW5j
bHVkZSAiVGhlbWUuaCIKKyNpbmNsdWRlICJUaGVtZUNvY29hLmgiCiAKIEBpbnRlcmZhY2UgTlNG
b250KFdlYkNvcmVUaGVtZSkKIC0gKE5TU3RyaW5nKil3ZWJDb3JlRmFtaWx5TmFtZTsKQEAgLTM0
LDcgKzM0LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBUaGVtZU1hYyA6IHB1
YmxpYyBUaGVtZSB7CitjbGFzcyBUaGVtZU1hYyA6IHB1YmxpYyBUaGVtZUNvY29hIHsKICAgICBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBUaGVtZU1hYygpIHsgfQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IGM2ZjFlYWM4MGY4YWQ1MzZiZDk1YjgwNWYwMzhmYjMzMTY1NTVhM2UuLmQ2MDRkYTdlZGNh
MTZiMDY0MTQxODJkNTRlNTA1ZGQ0ZTFiZTBhNDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAx
NS0wNi0xOCAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CisKKyAgICAgICAgUHJvdmlk
ZSBhIHdheSBmb3Igd2ViIGRldmVsb3BlcnMgdG8gZHJhdyBhIFRoZW1lLXNwZWNpZmljIFdpcmVs
ZXNzIFBsYXliYWNrIGljb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE0NjEyMworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjExMTkyODc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdCB0aGUgbmV3
IC13ZWJraXQtbmFtZWQtaW1hZ2UgQ1NTIGdlbmVyYXRvci4gT25seSAid2lyZWxlc3MtcGxheWJh
Y2siCisgICAgICAgIGlzIHN1cHBvcnRlZCBmb3Igbm93LCBhbmQgaGFzIHBsYXRmb3JtLXNwZWNp
ZmljIHJlc3VsdHMgZm9yIENvY29hLgorCisgICAgICAgICogZmFzdC9jc3MvbmFtZWQtaW1hZ2Vz
LWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAgICogZmFzdC9jc3MvbmFtZWQtaW1hZ2VzLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2Nzcy9uYW1lZC1pbWFnZXMt
ZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9jc3MvbmFt
ZWQtaW1hZ2VzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisKIDIwMTUtMDYtMTMgIENocmlzIEZsZWl6
YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KIAogICAgICAgICBBWDogV2ViS2l0IGV4cG9zZXMg
YWxsIFJ1YnkgVGV4dCBhcyBVbmtub3duIChKYXBhbmVzZSBFUFVCIGFjY2Vzc2liaWxpdHkgYmxv
Y2tlcikK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255158</attachid>
            <date>2015-06-18 18:00:16 -0700</date>
            <delta_ts>2015-06-18 18:02:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146123-20150619105937.patch</filename>
            <type>text/plain</type>
            <size>119681</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1NTU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGM1NDhhNGQwOTNjMGRj
ZWE3N2U2NGU4NmJjODY5YzEwNjI4MWQzMi4uMGU3NmZjY2U4ZTE0MzI5ZjMwOWE3MzNiMGJhYWJi
YTE3M2JmNmY5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc0IEBACisyMDE1LTA2LTE4ICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBQcm92aWRlIGEgd2F5IGZvciB3
ZWIgZGV2ZWxvcGVycyB0byBkcmF3IGEgVGhlbWUtc3BlY2lmaWMgV2lyZWxlc3MgUGxheWJhY2sg
aWNvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ2
MTIzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMTExOTI4Nz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgYSAtd2Via2l0LW5hbWVk
LWltYWdlKCkgQ1NTIDxpbWFnZT4gZ2VuZXJhdG9yIHRoYXQgYWxsb3dzIGEgc2l0ZSB0bworICAg
ICAgICByZXF1ZXN0IGFydHdvcmsgYnkgbmFtZSBhbmQgZ2V0IHRoZSBwbGF0Zm9ybSB2YXJpYW50
LiBBdCB0aGUgbW9tZW50CisgICAgICAgIHdlIG9ubHkgc3VwcG9ydCAid2lyZWxlc3MtcGxheWJh
Y2siIHdoaWNoIHJldHVybnMgYSBnZW5lcmljIGltYWdlIGV2ZXJ5d2hlcmUKKyAgICAgICAgYnV0
IENvY29hIHBsYXRmb3Jtcywgd2hlcmUgd2UgcmVuZGVyIHRoZSBBaXJQbGF5IGljb24uCisKKyAg
ICAgICAgSW4gb3JkZXIgdG8gZG8gdGhpcyBJIGFkZGVkIGEgVGhlbWVDb2NvYSB0byBzaGFyZSBh
bnkgVGhlbWUgY29kZSBiZXR3ZWVuCisgICAgICAgIE1hYyBhbmQgaU9TLgorCisgICAgICAgIFRl
c3Q6IGZhc3QvY3NzL25hbWVkLWljb25zLmh0bWwKKworICAgICAgICAqIFdlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajogQWRkIG5ldyBmaWxlcyBDU1NOYW1lZEltYWdlVmFsdWUsIE5h
bWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZSBhbmQgVGhlbWVDb2NvYS4KKworICAgICAgICAqIGNzcy9D
U1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcDogSGFuZGxlIHRoZSBuZXcgTmFtZWRJbWFnZUNsYXNz
IGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50cyBmb3IgZG93bmNhc3RpbmcuCisgICAgICAgIChXZWJD
b3JlOjpDU1NJbWFnZUdlbmVyYXRvclZhbHVlOjppbWFnZSk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NJbWFnZUdlbmVyYXRvclZhbHVlOjppc0ZpeGVkU2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NJbWFnZUdlbmVyYXRvclZhbHVlOjppc1BlbmRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
SW1hZ2VHZW5lcmF0b3JWYWx1ZTo6a25vd25Ub0JlT3BhcXVlKToKKworICAgICAgICAqIGNzcy9D
U1NOYW1lZEltYWdlVmFsdWUuY3BwOiBOZXcgY2xhc3MuIEp1c3QgaG9sZHMgYSBuYW1lIFN0cmlu
Zy4KKyAgICAgICAgKFdlYkNvcmU6OkNTU05hbWVkSW1hZ2VWYWx1ZTo6Y3VzdG9tQ1NTVGV4dCk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NOYW1lZEltYWdlVmFsdWU6OmltYWdlKToKKyAgICAgICAg
KFdlYkNvcmU6OkNTU05hbWVkSW1hZ2VWYWx1ZTo6ZXF1YWxzKToKKyAgICAgICAgKiBjc3MvQ1NT
TmFtZWRJbWFnZVZhbHVlLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NOYW1lZEltYWdlVmFsdWU6
OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NOYW1lZEltYWdlVmFsdWU6OmlzRml4ZWRT
aXplKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU05hbWVkSW1hZ2VWYWx1ZTo6aXNQZW5kaW5nKToK
KyAgICAgICAgKFdlYkNvcmU6OkNTU05hbWVkSW1hZ2VWYWx1ZTo6Q1NTTmFtZWRJbWFnZVZhbHVl
KToKKworICAgICAgICAqIGNzcy9DU1NQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
UGFyc2VyOjppc0dlbmVyYXRlZEltYWdlVmFsdWUpOiBBbGxvdyAiLXdlYmtpdC1uYW1lZC1pbWFn
ZSgiLgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUdlbmVyYXRlZEltYWdlKTog
Q2FsbCBwYXJzZU5hbWVkSW1hZ2UgaWYgd2UgaGl0IG5hbWVkLWljb24uCisgICAgICAgIChXZWJD
b3JlOjpDU1NQYXJzZXI6OnBhcnNlTmFtZWRJbWFnZSk6IFBhcnNlIHRoZSBmdW5jdGlvbiBsb29r
aW5nIGZvciBhIENTUyBpZGVudC4KKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmg6CisKKyAgICAg
ICAgKiBjc3MvQ1NTVmFsdWUuY3BwOiBIYW5kbGUgTmFtZWRJbWFnZUNsYXNzIGluIHRoZSB2YXJp
b3VzIHN3aXRjaCBzdGF0ZW1lbnRzLgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmVxdWFs
cyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6Y3NzVGV4dCk6CisgICAgICAgIChXZWJD
b3JlOjpDU1NWYWx1ZTo6ZGVzdHJveSk6CisgICAgICAgICogY3NzL0NTU1ZhbHVlLmg6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6aXNOYW1lZEltYWdlVmFsdWUpOiBIZWxwZXIgdG8gZGV0
ZWN0IHRoZSBjb3JyZWN0IENTU1ZhbHVlIHN1YmNsYXNzLgorCisgICAgICAgICogcGxhdGZvcm0v
VGhlbWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGhlbWU6OmRyYXdOYW1lZEltYWdlKTogRHJh
dyBhIGdlbmVyaWMgd2lyZWxlc3MgcGxheWJhY2sgaWNvbi4KKyAgICAgICAgKiBwbGF0Zm9ybS9U
aGVtZS5oOiBBZGQgZHJhd05hbWVkSW1hZ2UuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9U
aGVtZUNvY29hLmNwcDogTmV3IHNoYXJlZCBiYXNlIGNsYXNzIGZvciBUaGVtZU1hYyBhbmQgVGhl
bWVJT1MuCisgICAgICAgIChXZWJDb3JlOjpmaXRDb250ZXh0VG9Cb3gpOgorICAgICAgICAoV2Vi
Q29yZTo6VGhlbWVDb2NvYTo6ZHJhd05hbWVkSW1hZ2UpOiBEcmF3IGFuIEFpclBsYXkgaWNvbiBm
b3Igd2lyZWxlc3MgcGxheWJhY2suCisgICAgICAgICogcGxhdGZvcm0vY29jb2EvVGhlbWVDb2Nv
YS5oOgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQ3Jvc3NmYWRlR2VuZXJhdGVkSW1h
Z2UuaDogRHJpdmUtYnkgcmVtb3ZhbCBvZiB1bm5lY2Vzc2FyeSBmb3J3YXJkIGNsYXNzIGRlZmlu
aXRpb24uCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oOiBBZGQg
TmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlIGFzIGEgZnJpZW5kIGNsYXNzLgorCisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlLmNwcDogTmV3IGNsYXNz
LiBDYWxscyBpbnRvIHRoZSBUaGVtZSB0byByZW5kZXIgdGhlIGFydHdvcmsuCisgICAgICAgIChX
ZWJDb3JlOjpOYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2U6Ok5hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFn
ZSk6CisgICAgICAgIChXZWJDb3JlOjpOYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2U6OmRyYXcpOgor
ICAgICAgICAoV2ViQ29yZTo6TmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlOjpkcmF3UGF0dGVybik6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlLmg6
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvVGhlbWVJT1MuaDogSW5oZXJpdCBmcm9tIFRoZW1l
Q29jb2EuCisgICAgICAgICogcGxhdGZvcm0vbWFjL1RoZW1lTWFjLmg6IERpdHRvLgorCiAyMDE1
LTA2LTE1ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgW0NvbnRlbnQgRXh0ZW5zaW9uc10gTGltaXQgbnVtYmVyIG9mIHJ1bGVzLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dAppbmRleCBjM2Q5ZTBmNWIwMTg3OTk1OTA1ZWExZjJhOWVlMzY3ZDY0ZjUyZTc1
Li4yZDAyMzQ2YTdiYzAxYWY2MDNlOWU3MWQ4OTQ1MjkxODk3ODMxZDY0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dApAQCAtMTI4OSw2ICsxMjg5LDcgQEAgc2V0KFdlYkNvcmVfU09VUkNFUwogICAgIGNz
cy9DU1NLZXlmcmFtZXNSdWxlLmNwcAogICAgIGNzcy9DU1NMaW5lQm94Q29udGFpblZhbHVlLmNw
cAogICAgIGNzcy9DU1NNZWRpYVJ1bGUuY3BwCisgICAgY3NzL0NTU05hbWVkSW1hZ2VWYWx1ZS5j
cHAKICAgICBjc3MvQ1NTT01VdGlscy5jcHAKICAgICBjc3MvQ1NTUGFnZVJ1bGUuY3BwCiAgICAg
Y3NzL0NTU1BhcnNlci5jcHAKQEAgLTIxNjMsNiArMjE2NCw3IEBAIHNldChXZWJDb3JlX1NPVVJD
RVMKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9MYXlvdXRSZWN0LmNwcAogICAgIHBsYXRmb3JtL2dy
YXBoaWNzL01hc2tJbWFnZU9wZXJhdGlvbi5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9NZWRp
YVBsYXllci5jcHAKKyAgICBwbGF0Zm9ybS9ncmFwaGljcy9OYW1lZEltYWdlR2VuZXJhdGVkSW1h
Z2UuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvUGF0aC5jcHAKICAgICBwbGF0Zm9ybS9ncmFw
aGljcy9QYXRoVHJhdmVyc2FsU3RhdGUuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvUGF0dGVy
bi5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3Jl
LnZjeHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9q
CmluZGV4IGIxZmQ2ZDg2ZDAyOGJkYmFiNDc1YzMwMDJhNTg0YWNkNmRkMzhjNWQuLmExOTI5OWE1
YjAwZjBhMTkyNGQxMjFiYmU3ZThhMDQ3MzM1NDYzYWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagpAQCAtODIwMyw2ICs4MjAzLDcgQEAKICAg
ICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEludFNpemUuY3BwIiAv
PgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcTGF5b3V0UmVj
dC5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xN
ZWRpYVBsYXllci5jcHAiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxn
cmFwaGljc1xOYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2UuY3BwIiAvPgogICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcUGF0aC5jcHAiIC8+CiAgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xQYXRoVHJhdmVyc2FsU3RhdGUuY3BwIiAv
PgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcUGF0dGVybi5j
cHAiIC8+CkBAIC05NjM0LDYgKzk2MzUsMjAgQEAKICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2lu
MzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgPC9DbENvbXBpbGU+CisgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxjc3NcQ1NTTmFtZWRJbWFnZVZhbHVlLmNwcCI+CisgICAgICA8RXhj
bHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9
PSdEZWJ1Z3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVk
RnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVi
dWd8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVp
bGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5D
YWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJv
bUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdf
V2luQ2Fpcm98eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRG
cm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1
Z1N1ZmZpeHxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVk
RnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVi
dWdTdWZmaXh8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRG
cm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxl
YXNlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9t
QnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNl
fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5D
YWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJv
bUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFz
ZV9XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRl
ZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1By
b2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRl
ZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1By
b2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgPC9DbENvbXBpbGU+
CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxjc3NcQ1NTT01VdGlscy5jcHAiPgogICAgICAg
PEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9y
bSknPT0nRGVidWd8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNs
dWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09
J0RlYnVnfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgpAQCAtMTk5OTksNiArMjAwMTQs
NyBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcTGF5b3V0
UmVjdC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3Nc
TGF5b3V0U2l6ZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3Jh
cGhpY3NcTWVkaWFQbGF5ZXIuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRm
b3JtXGdyYXBoaWNzXE5hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZS5oIiAvPgogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcTmF0aXZlSW1hZ2VQdHIuaCIgLz4KICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXFBhdGguaCIgLz4KICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXFBhdGhUcmF2ZXJzYWxT
dGF0ZS5oIiAvPgpAQCAtMjA1MDQsNiArMjA1MjAsNyBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5cY3NzXENTU0luaXRpYWxWYWx1ZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5cY3NzXENTU0xpbmVCb3hDb250YWluVmFsdWUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXGNzc1xDU1NNZWRpYVJ1bGUuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XGNzc1xDU1NOYW1lZEltYWdlVmFsdWUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XGNzc1xDU1NPTVV0aWxzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxjc3NcQ1NT
UGFnZVJ1bGUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGNzc1xDU1NQYXJzZXIu
aCIgLz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3Jl
LnZjeHByb2ouZmlsdGVycyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3Jl
LnZjeHByb2ouZmlsdGVycwppbmRleCA0MTQ5ZGJhNTQ5ODM5YjE2OTk4MDE2OGYwYTViMmJkN2Ix
ZDc1MDY3Li5kOTBmOGIxNTc3ZTQyOWE2ZjVhNWJmZWVkYWZhMjgyN2RmMDhjNTBkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRl
cnMKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5m
aWx0ZXJzCkBAIC0xMzc3LDYgKzEzNzcsOSBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
cGxhdGZvcm1cZ3JhcGhpY3NcTWVkaWFQbGF5ZXIuY3BwIj4KICAgICAgIDxGaWx0ZXI+cGxhdGZv
cm1cZ3JhcGhpY3M8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KKyAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXE5hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZS5jcHAi
PgorICAgICAgPEZpbHRlcj5wbGF0Zm9ybVxncmFwaGljczwvRmlsdGVyPgorICAgIDwvQ2xDb21w
aWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcUGF0aC5j
cHAiPgogICAgICAgPEZpbHRlcj5wbGF0Zm9ybVxncmFwaGljczwvRmlsdGVyPgogICAgIDwvQ2xD
b21waWxlPgpAQCAtMjE0OCw2ICsyMTUxLDkgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XGNzc1xDU1NNZWRpYVJ1bGUuY3BwIj4KICAgICAgIDxGaWx0ZXI+Y3NzPC9GaWx0ZXI+CiAgICAg
PC9DbENvbXBpbGU+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxjc3NcQ1NTTmFtZWRJbWFn
ZVZhbHVlLmNwcCI+CisgICAgICA8RmlsdGVyPmNzczwvRmlsdGVyPgorICAgIDwvQ2xDb21waWxl
PgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cY3NzXENTU09NVXRpbHMuY3BwIj4KICAgICAg
IDxGaWx0ZXI+Y3NzPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CkBAIC04NTAyLDYgKzg1MDgs
OSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcTWVkaWFQ
bGF5ZXIuaCI+CiAgICAgICA8RmlsdGVyPnBsYXRmb3JtXGdyYXBoaWNzPC9GaWx0ZXI+CiAgICAg
PC9DbEluY2x1ZGU+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGlj
c1xOYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2UuaCI+CisgICAgICA8RmlsdGVyPnBsYXRmb3JtXGdy
YXBoaWNzPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxwbGF0Zm9ybVxncmFwaGljc1xOYXRpdmVJbWFnZVB0ci5oIj4KICAgICAgIDxGaWx0ZXI+
cGxhdGZvcm1cZ3JhcGhpY3M8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KQEAgLTkxMjYsNiAr
OTEzNSw5IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxjc3NcQ1NTTWVkaWFSdWxlLmgi
PgogICAgICAgPEZpbHRlcj5jc3M8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXGNzc1xDU1NOYW1lZEltYWdlVmFsdWUuaCI+CisgICAgICA8Rmls
dGVyPmNzczwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5cY3NzXENTU09NVXRpbHMuaCI+CiAgICAgICA8RmlsdGVyPmNzczwvRmlsdGVyPgogICAg
IDwvQ2xJbmNsdWRlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCmluZGV4IDAwNTg3ODY2MDE2M2UxMDA3NjM5ZDdlMzRkNTFjMmI1N2I4NGVi
MWUuLmU4ZjdjNTUwYjRiZDA5MGI1N2UyMWQ3Zjg5ZjFhZGRjNTE1NmRiMjYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEyMjMs
NiArMTIyMyw4IEBACiAJCTMxMDc4Q0M4MTg4MEFBQkIwMDgwOTlEQyAvKiBPRVNUZXh0dXJlSGFs
ZkZsb2F0TGluZWFyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAzMTA3OENDMzE4ODBBNkE2MDA4MDk5REMgLyogT0VTVGV4dHVyZUhhbGZGbG9hdExpbmVh
ci5oICovOyB9OwogCQkzMTA3OENDOTE4ODBBQUM5MDA4MDk5REMgLyogSlNPRVNUZXh0dXJlSGFs
ZkZsb2F0TGluZWFyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDMxMDc4Q0M1MTg4MEFBQUEwMDgwOTlEQyAvKiBKU09FU1RleHR1cmVIYWxmRmxvYXRM
aW5lYXIuY3BwICovOyB9OwogCQkzMTA3OENDQTE4ODBBQUNFMDA4MDk5REMgLyogSlNPRVNUZXh0
dXJlSGFsZkZsb2F0TGluZWFyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAzMTA3OENDNjE4ODBBQUFBMDA4MDk5REMgLyogSlNPRVNUZXh0dXJlSGFsZkZs
b2F0TGluZWFyLmggKi87IH07CisJCTMxMEQ3MTk1MUIzMzVDOUQwMDlDN0I3MyAvKiBUaGVtZUNv
Y29hLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMx
MEQ3MTkzMUIzMzVDOUQwMDlDN0I3MyAvKiBUaGVtZUNvY29hLmNwcCAqLzsgfTsKKwkJMzEwRDcx
OTYxQjMzNUM5RTAwOUM3QjczIC8qIFRoZW1lQ29jb2EuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxMEQ3MTk0MUIzMzVDOUQwMDlDN0I3MyAvKiBUaGVt
ZUNvY29hLmggKi87IH07CiAJCTMxMUMwOEJEMThFQjdDQUYwMEI2NTYxNSAvKiBtZWRpYUNvbnRy
b2xzQXBwbGUuY3NzIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDREMxREQ0MTE3Q0MyQzQ4MDA4Q0I1NUQgLyogbWVkaWFDb250cm9sc0FwcGxlLmNzcyAq
LzsgfTsKIAkJMzExQzA4QkUxOEVCN0NBRjAwQjY1NjE1IC8qIG1lZGlhQ29udHJvbHNBcHBsZS5q
cyBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RFNjU2
MEUxN0NBNkU3NjAwNTI2QkE3IC8qIG1lZGlhQ29udHJvbHNBcHBsZS5qcyAqLzsgfTsKIAkJMzEx
QzA4QkYxOEVCN0NBRjAwQjY1NjE1IC8qIG1lZGlhQ29udHJvbHNpT1MuY3NzIGluIFJlc291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREFBRjQ1RDE4NjkwOTRFMDAz
QzE3MTcgLyogbWVkaWFDb250cm9sc2lPUy5jc3MgKi87IH07CkBAIC0xMjQ1LDYgKzEyNDcsMTAg
QEAKIAkJMzE0NkZFNkYxODQ0MjBBQTAwMUE5MzdDIC8qIE9FU1RleHR1cmVGbG9hdExpbmVhci5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTQ2RkU2
NTE4NDQyMDg3MDAxQTkzN0MgLyogT0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcCAqLzsgfTsKIAkJ
MzE0NkZFNzQxODQ0MjM3MDAwMUE5MzdDIC8qIEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxNDZGRTcwMTg0
NDIzNjcwMDFBOTM3QyAvKiBKU09FU1RleHR1cmVGbG9hdExpbmVhci5jcHAgKi87IH07CiAJCTMx
NDZGRTc1MTg0NDIzNzAwMDFBOTM3QyAvKiBKU09FU1RleHR1cmVGbG9hdExpbmVhci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzE0NkZFNzExODQ0MjM2
NzAwMUE5MzdDIC8qIEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmggKi87IH07CisJCTMxNEJFM0Ex
MUIzMEY2QjcwMDE0MTk4MiAvKiBDU1NOYW1lZEltYWdlVmFsdWUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxNEJFM0EwMUIzMEY2QjcwMDE0MTk4MiAv
KiBDU1NOYW1lZEltYWdlVmFsdWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQkzMTRCRTNBMzFCMzBGNkQxMDAxNDE5ODIgLyogQ1NTTmFtZWRJbWFn
ZVZhbHVlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDMxNEJFM0EyMUIzMEY2RDEwMDE0MTk4MiAvKiBDU1NOYW1lZEltYWdlVmFsdWUuY3BwICovOyB9
OworCQkzMTRCRTNBNjFCMzEwM0ZCMDAxNDE5ODIgLyogTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdl
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxNEJF
M0E0MUIzMTAzRkIwMDE0MTk4MiAvKiBOYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2UuY3BwICovOyB9
OworCQkzMTRCRTNBNzFCMzEwM0ZCMDAxNDE5ODIgLyogTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTRCRTNB
NTFCMzEwM0ZCMDAxNDE5ODIgLyogTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlLmggKi87IH07CiAJ
CTMxNjAyM0YwMTUzMkM0MEMwMEQ1MEZGNCAvKiBEaWN0aW9uYXJ5LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTYwMjNFRjE1MzJDNDBDMDBENTBGRjQg
LyogRGljdGlvbmFyeS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTMxNjExRTVBMEUxQzRERTAwMEY2QTU3OSAvKiBKU1dlYktpdENTU1RyYW5zZm9y
bVZhbHVlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDMxNjExRTU4MEUxQzRERTAwMEY2QTU3OSAvKiBKU1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNw
cCAqLzsgfTsKIAkJMzE2MTFFNUIwRTFDNERFMDAwRjZBNTc5IC8qIEpTV2ViS2l0Q1NTVHJhbnNm
b3JtVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDMxNjExRTU5MEUxQzRERTAwMEY2QTU3OSAvKiBKU1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmgg
Ki87IH07CkBAIC04MzgxLDYgKzgzODcsOCBAQAogCQkzMTA3OENDNDE4ODBBNkE2MDA4MDk5REMg
LyogT0VTVGV4dHVyZUhhbGZGbG9hdExpbmVhci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
T0VTVGV4dHVyZUhhbGZGbG9hdExpbmVhci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTMxMDc4Q0M1MTg4MEFBQUEwMDgwOTlEQyAvKiBKU09FU1RleHR1cmVIYWxmRmxvYXRMaW5l
YXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNPRVNUZXh0dXJl
SGFsZkZsb2F0TGluZWFyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzEwNzhD
QzYxODgwQUFBQTAwODA5OURDIC8qIEpTT0VTVGV4dHVyZUhhbGZGbG9hdExpbmVhci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU09FU1RleHR1cmVIYWxmRmxvYXRMaW5lYXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzEwRDcxOTMxQjMzNUM5RDAwOUM3Qjcz
IC8qIFRoZW1lQ29jb2EuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
VGhlbWVDb2NvYS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxMEQ3MTk0MUIz
MzVDOUQwMDlDN0I3MyAvKiBUaGVtZUNvY29hLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFRoZW1lQ29jb2EuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzExQzA4
QkMxOEUzNUQ2ODAwQjY1NjE1IC8qIENvbnRyb2xTdGF0ZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQ29udHJvbFN0YXRlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkzMTI4OEU2RTBFMzAwNUQ2MDAzNjE5QUUgLyogQ1NTS2V5ZnJhbWVSdWxlLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU0tleWZyYW1lUnVsZS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxMjg4RTZGMEUzMDA1RDYwMDM2MTlBRSAvKiBD
U1NLZXlmcmFtZVJ1bGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTS2V5
ZnJhbWVSdWxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC04NDAwLDYgKzg0MDgs
MTAgQEAKIAkJMzE0NkZFNjcxODQ0MjA4NzAwMUE5MzdDIC8qIE9FU1RleHR1cmVGbG9hdExpbmVh
ci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gT0VTVGV4dHVyZUZsb2F0TGluZWFyLmlkbDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzE0NkZFNzAxODQ0MjM2NzAwMUE5MzdDIC8q
IEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMzE0NkZFNzExODQ0MjM2NzAwMUE5MzdDIC8qIEpTT0VTVGV4dHVyZUZsb2F0
TGluZWFyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTT0VTVGV4dHVyZUZs
b2F0TGluZWFyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxNEJFM0EwMUIzMEY2
QjcwMDE0MTk4MiAvKiBDU1NOYW1lZEltYWdlVmFsdWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBsaW5lRW5kaW5nID0gMDsgcGF0aCA9IENTU05hbWVkSW1hZ2VWYWx1ZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkzMTRCRTNBMjFCMzBGNkQxMDAxNDE5ODIgLyogQ1NTTmFt
ZWRJbWFnZVZhbHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbGluZUVuZGlu
ZyA9IDA7IHBhdGggPSBDU1NOYW1lZEltYWdlVmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkzMTRCRTNBNDFCMzEwM0ZCMDAxNDE5ODIgLyogTmFtZWRJbWFnZUdlbmVyYXRl
ZEltYWdlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5hbWVkSW1h
Z2VHZW5lcmF0ZWRJbWFnZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxNEJF
M0E1MUIzMTAzRkIwMDE0MTk4MiAvKiBOYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2UuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxNjAyM0VGMTUzMkM0MEMwMEQ1MEZGNCAvKiBE
aWN0aW9uYXJ5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERpY3Rpb25hcnku
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzE2MTFFNTQwRTFDNEQ0QTAwRjZBNTc5
IC8qIFdlYktpdENTU1RyYW5zZm9ybVZhbHVlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBX
ZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTMxNjExRTU4MEUxQzRERTAwMEY2QTU3OSAvKiBKU1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTV2ViS2l0Q1NTVHJhbnNm
b3JtVmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTg5OTEsNiArMTkw
MDMsOCBAQAogCQkJCTVENTk3NUIxMTk2MzVGMTEwMEQwMDg3OCAvKiBTeXN0ZW1WZXJzaW9uLmgg
Ki8sCiAJCQkJNUQ1OTc1QjIxOTYzNUYxMTAwRDAwODc4IC8qIFN5c3RlbVZlcnNpb24ubW0gKi8s
CiAJCQkJN0NDNTY0QjkxOEJBQzcyMDAwMUI5NjUyIC8qIFRlbGVwaG9uZU51bWJlckRldGVjdG9y
Q29jb2EuY3BwICovLAorCQkJCTMxMEQ3MTkzMUIzMzVDOUQwMDlDN0I3MyAvKiBUaGVtZUNvY29h
LmNwcCAqLywKKwkJCQkzMTBENzE5NDFCMzM1QzlEMDA5QzdCNzMgLyogVGhlbWVDb2NvYS5oICov
LAogCQkJCTQ2REI3RDU2MUIyMEZFM0MwMDU2NTFCMiAvKiBWTm9kZVRyYWNrZXJDb2NvYS5jcHAg
Ki8sCiAJCQkpOwogCQkJcGF0aCA9IGNvY29hOwpAQCAtMjA5NTMsNiArMjA5NjcsOCBAQAogCQkJ
CTA3OUY1RTRCMEYzQkVCRUEwMDVFMDc4MiAvKiBNZWRpYVBsYXllclByaXZhdGUuaCAqLywKIAkJ
CQlDRDY0MUVCMTE4MThGNUVEMDBFRTRDNDEgLyogTWVkaWFTb3VyY2VQcml2YXRlLmggKi8sCiAJ
CQkJQ0REQzFFNzkxOEE5NTJGMzAwMjdBOUQ0IC8qIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudC5o
ICovLAorCQkJCTMxNEJFM0E0MUIzMTAzRkIwMDE0MTk4MiAvKiBOYW1lZEltYWdlR2VuZXJhdGVk
SW1hZ2UuY3BwICovLAorCQkJCTMxNEJFM0E1MUIzMTAzRkIwMDE0MTk4MiAvKiBOYW1lZEltYWdl
R2VuZXJhdGVkSW1hZ2UuaCAqLywKIAkJCQk2QjM0ODA5MjBFRUY1MEQ0MDBBQzFCNDEgLyogTmF0
aXZlSW1hZ2VQdHIuaCAqLywKIAkJCQlCMjc1MzU1MjBCMDUzODE0MDAyQ0U2NEYgLyogUGF0aC5j
cHAgKi8sCiAJCQkJQjI3NTM1NTMwQjA1MzgxNDAwMkNFNjRGIC8qIFBhdGguaCAqLywKQEAgLTIy
NDkzLDYgKzIyNTA5LDggQEAKIAkJCQlBODBFNkNEMjBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTTWVk
aWFSdWxlLmNwcCAqLywKIAkJCQlBODBFNkNEOTBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTTWVkaWFS
dWxlLmggKi8sCiAJCQkJODVDNTZDQTIwQUE4OUMxMDAwRDk1NzU1IC8qIENTU01lZGlhUnVsZS5p
ZGwgKi8sCisJCQkJMzE0QkUzQTAxQjMwRjZCNzAwMTQxOTgyIC8qIENTU05hbWVkSW1hZ2VWYWx1
ZS5oICovLAorCQkJCTMxNEJFM0EyMUIzMEY2RDEwMDE0MTk4MiAvKiBDU1NOYW1lZEltYWdlVmFs
dWUuY3BwICovLAogCQkJCUY5OEZGRjQyMTFBMjY3NjIwMEY1NDhFOCAvKiBDU1NPTVV0aWxzLmNw
cCAqLywKIAkJCQlGOThGRkY0MzExQTI2NzYyMDBGNTQ4RTggLyogQ1NTT01VdGlscy5oICovLAog
CQkJCUE4MEU2Q0NCMEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NQYWdlUnVsZS5jcHAgKi8sCkBAIC0y
NDEyMCw2ICsyNDEzOCw3IEBACiAJCQkJRTFCRDMzMUMxODJEOEVFOTAwQzA1RDlGIC8qIENyeXB0
b0FsZ29yaXRobVJzYVNzYVBhcmFtcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTEyNUY4MkMxODIy
Q0ZFQzAwRDg0Q0Q5IC8qIENyeXB0b0FsZ29yaXRobVNIQTEuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUUxOUFDM0VGMTgyNERDNzkwMDM0OTQyNiAvKiBDcnlwdG9BbGdvcml0aG1TSEEyMjQuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTMxNEJFM0ExMUIzMEY2QjcwMDE0MTk4MiAvKiBDU1NOYW1lZEltYWdl
VmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxOUFDM0YxMTgyNERDNzkwMDM0OTQyNiAvKiBD
cnlwdG9BbGdvcml0aG1TSEEyNTYuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxOUFDM0YzMTgyNERD
NzkwMDM0OTQyNiAvKiBDcnlwdG9BbGdvcml0aG1TSEEzODQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUUxOUFDM0Y1MTgyNERDNzkwMDM0OTQyNiAvKiBDcnlwdG9BbGdvcml0aG1TSEE1MTIuaCBpbiBI
ZWFkZXJzICovLApAQCAtMjUzNTYsNiArMjUzNzUsNyBAQAogCQkJCUU0NDYxNDNBMENENjg5Qzgw
MEZBREE3NSAvKiBKU0hUTUxNZWRpYUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBRTJB
RTVDMEExRDI2RjIwMEI0MkIyNSAvKiBKU0hUTUxNZW51RWxlbWVudC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQTgwRTdBMTgwQTE5QzNENjAwN0ZCOEM1IC8qIEpTSFRNTE1ldGFFbGVtZW50LmggaW4g
SGVhZGVycyAqLywKKwkJCQkzMTRCRTNBNzFCMzEwM0ZCMDAxNDE5ODIgLyogTmFtZWRJbWFnZUdl
bmVyYXRlZEltYWdlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBN0JCRTI2NzExQUZCM0YyMDAwNUVB
MDMgLyogSlNIVE1MTWV0ZXJFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUUyQUIyQTBB
MUNFNjNCMDBCNDJCMjUgLyogSlNIVE1MTW9kRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QkMzMDVDN0EwQzA3NkJCMzAwQ0QyMEYwIC8qIEpTSFRNTE9iamVjdEVsZW1lbnQuaCBpbiBIZWFk
ZXJzICovLApAQCAtMjY3NzAsNiArMjY3OTAsNyBAQAogCQkJCUIyNTU5OUE0MEQwMEQ4QkEwMEJC
ODI1QyAvKiBTVkdJbWFnZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDhGODU5RDUxNDYzRjlDRDAw
NjdEOTMzIC8qIFNWR0ltYWdlQ2FjaGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyMjI3QTJEMEQw
MEJGMjIwMDcxQjc4MiAvKiBTVkdJbWFnZUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTMx
MEQ3MTk2MUIzMzVDOUUwMDlDN0I3MyAvKiBUaGVtZUNvY29hLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkwOEY4NTlENTE0NjNGOUNEMDA2N0Q5MzQgLyogU1ZHSW1hZ2VGb3JDb250YWluZXIuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUIyOEM2QTJBMEQwMEM0NDgwMDMzNEFBNCAvKiBTVkdJbWFnZUxvYWRl
ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDg1NEIwMUYxMjU1RTRFNjAwQjlDREQwIC8qIFNWR0lu
bGluZUZsb3dCb3guaCBpbiBIZWFkZXJzICovLApAQCAtMjg0NzAsNiArMjg0OTEsNyBAQAogCQkJ
CUE4MTM2OUNEMDk3Mzc0RjYwMEQ3NDQ2MyAvKiBIVE1MSW5wdXRFbGVtZW50LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTkzMzA5REU1MDk5RTY0OTIwMDU2RTU4MSAvKiBIVE1MSW50ZXJjaGFuZ2Uu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTgxMzY5RTUwOTczNzRGNjAwRDc0NDYzIC8qIEhUTUxL
ZXlnZW5FbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTMxNEJFM0E2MUIzMTAzRkIwMDE0
MTk4MiAvKiBOYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QTgxMzY5RTMwOTczNzRGNjAwRDc0NDYzIC8qIEhUTUxMYWJlbEVsZW1lbnQuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQTgxMzY5RTEwOTczNzRGNjAwRDc0NDYzIC8qIEhUTUxMZWdlbmRFbGVtZW50
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4RUE3OUZDMEExOTE2REYwMEE4RUY1RiAvKiBIVE1M
TElFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjg1MTIsNiArMjg1MzQsNyBAQAogCQkJ
CTk3OEFENjc0MTQxMzBBOEQwMEM3Q0FFMyAvKiBIVE1MU3BhbkVsZW1lbnQuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNTM2RDVBMjExOTNFMThFRTAwQ0U0Q0FCIC8qIEhUTUxTcmNzZXRQYXJzZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTg3MURDMjYwQTE1MjA1NzAwQjEyQTY4IC8qIEhUTUxT
dHlsZUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMzEwRDcxOTUxQjMzNUM5RDAwOUM3
QjczIC8qIFRoZW1lQ29jb2EuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRDNENEU5NzIxMzBDN0NG
RTAwN0JBNTQwIC8qIEhUTUxTdW1tYXJ5RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlB
ODcxREIzMjBBMTUwQkQ2MDBCMTJBNjggLyogSFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQTg3MURCMkUwQTE1MEJENjAwQjEyQTY4IC8qIEhUTUxUYWJsZUNl
bGxFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjk4OTIsNiArMjk5MTUsNyBAQAogCQkJ
CUJDRUMwMUJEMEMyNzREQUMwMDlGNEVDOSAvKiBTY3JlZW4uY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQTg0RDgyQzIxMUQzNDc0ODAwOTcyOTkwIC8qIFNjcmlwdGFibGVEb2N1bWVudFBhcnNlci5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk0MUYxRDIyMDBFRjM1QzJBMDBEQTg3NTMgLyogU2NyaXB0
Q2FjaGVkRnJhbWVEYXRhLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTMxNEJFM0EzMUIzMEY2RDEw
MDE0MTk4MiAvKiBDU1NOYW1lZEltYWdlVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTNC
NzBENkYwOUVCMEM3QzAwOUQ4NDY4IC8qIFNjcmlwdENvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQTgzRTFDNzQwRTQ5MDQyQzAwMTQwQjlDIC8qIFNjcmlwdENvbnRyb2xsZXJNYWMu
bW0gaW4gU291cmNlcyAqLywKIAkJCQk0OTk4QUVEMTEzRkIyMjREMDA5MEIxQUEgLyogU2NyaXB0
ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0FsbEluT25lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NB
bGxJbk9uZS5jcHAKaW5kZXggM2Y1ZGRiZDVjZmQ0NmIwZDAxNzkwYjgyMDVkNmYxNmUwMzQ2MWJk
MC4uNTE2YjY4MjFkZjc1ZDYxNmQwZWY2OGJkZGNhNDZiMTEzMjkzMTczOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0FsbEluT25lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTQWxsSW5PbmUuY3BwCkBAIC01Nyw2ICs1Nyw3IEBACiAjaW5jbHVkZSAiQ1NTSW5pdGlh
bFZhbHVlLmNwcCIKICNpbmNsdWRlICJDU1NMaW5lQm94Q29udGFpblZhbHVlLmNwcCIKICNpbmNs
dWRlICJDU1NNZWRpYVJ1bGUuY3BwIgorI2luY2x1ZGUgIkNTU05hbWVkSW1hZ2VWYWx1ZS5jcHAi
CiAjaW5jbHVkZSAiQ1NTT01VdGlscy5jcHAiCiAjaW5jbHVkZSAiQ1NTUGFnZVJ1bGUuY3BwIgog
I2luY2x1ZGUgIkNTU1BhcnNlci5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VH
ZW5lcmF0b3JWYWx1ZS5jcHAKaW5kZXggMTdkM2VlYjllMmJjMTRlNmJlNzUxYzQ3MjNjMzI2YmE2
M2MwY2NiYS4uZWI0ODg5ZWY2ZTMyNDY1NzRmYTdhMTIwYmUzYjA4N2I1ZDZiZjcyYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcApAQCAtMzIsNiAr
MzIsNyBAQAogI2luY2x1ZGUgIkNTU0ZpbHRlckltYWdlVmFsdWUuaCIKICNpbmNsdWRlICJDU1NH
cmFkaWVudFZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTSW1hZ2VWYWx1ZS5oIgorI2luY2x1ZGUgIkNT
U05hbWVkSW1hZ2VWYWx1ZS5oIgogI2luY2x1ZGUgIkdlbmVyYXRlZEltYWdlLmgiCiAjaW5jbHVk
ZSAiUmVuZGVyRWxlbWVudC5oIgogI2luY2x1ZGUgIlN0eWxlQ2FjaGVkSW1hZ2UuaCIKQEAgLTEx
MCw2ICsxMTEsOCBAQCBQYXNzUmVmUHRyPEltYWdlPiBDU1NJbWFnZUdlbmVyYXRvclZhbHVlOjpp
bWFnZShSZW5kZXJFbGVtZW50KiByZW5kZXJlciwgY29uc3QgRgogICAgIHN3aXRjaCAoY2xhc3NU
eXBlKCkpIHsKICAgICBjYXNlIENhbnZhc0NsYXNzOgogICAgICAgICByZXR1cm4gZG93bmNhc3Q8
Q1NTQ2FudmFzVmFsdWU+KCp0aGlzKS5pbWFnZShyZW5kZXJlciwgc2l6ZSk7CisgICAgY2FzZSBO
YW1lZEltYWdlQ2xhc3M6CisgICAgICAgIHJldHVybiBkb3duY2FzdDxDU1NOYW1lZEltYWdlVmFs
dWU+KCp0aGlzKS5pbWFnZShyZW5kZXJlciwgc2l6ZSk7CiAgICAgY2FzZSBDcm9zc2ZhZGVDbGFz
czoKICAgICAgICAgcmV0dXJuIGRvd25jYXN0PENTU0Nyb3NzZmFkZVZhbHVlPigqdGhpcykuaW1h
Z2UocmVuZGVyZXIsIHNpemUpOwogICAgIGNhc2UgRmlsdGVySW1hZ2VDbGFzczoKQEAgLTEyOSw2
ICsxMzIsOCBAQCBib29sIENTU0ltYWdlR2VuZXJhdG9yVmFsdWU6OmlzRml4ZWRTaXplKCkgY29u
c3QKICAgICBzd2l0Y2ggKGNsYXNzVHlwZSgpKSB7CiAgICAgY2FzZSBDYW52YXNDbGFzczoKICAg
ICAgICAgcmV0dXJuIGRvd25jYXN0PENTU0NhbnZhc1ZhbHVlPigqdGhpcykuaXNGaXhlZFNpemUo
KTsKKyAgICBjYXNlIE5hbWVkSW1hZ2VDbGFzczoKKyAgICAgICAgcmV0dXJuIGRvd25jYXN0PENT
U05hbWVkSW1hZ2VWYWx1ZT4oKnRoaXMpLmlzRml4ZWRTaXplKCk7CiAgICAgY2FzZSBDcm9zc2Zh
ZGVDbGFzczoKICAgICAgICAgcmV0dXJuIGRvd25jYXN0PENTU0Nyb3NzZmFkZVZhbHVlPigqdGhp
cykuaXNGaXhlZFNpemUoKTsKICAgICBjYXNlIEZpbHRlckltYWdlQ2xhc3M6CkBAIC0xNjksNiAr
MTc0LDggQEAgYm9vbCBDU1NJbWFnZUdlbmVyYXRvclZhbHVlOjppc1BlbmRpbmcoKSBjb25zdAog
ICAgICAgICByZXR1cm4gZG93bmNhc3Q8Q1NTQ3Jvc3NmYWRlVmFsdWU+KCp0aGlzKS5pc1BlbmRp
bmcoKTsKICAgICBjYXNlIENhbnZhc0NsYXNzOgogICAgICAgICByZXR1cm4gZG93bmNhc3Q8Q1NT
Q2FudmFzVmFsdWU+KCp0aGlzKS5pc1BlbmRpbmcoKTsKKyAgICBjYXNlIE5hbWVkSW1hZ2VDbGFz
czoKKyAgICAgICAgcmV0dXJuIGRvd25jYXN0PENTU05hbWVkSW1hZ2VWYWx1ZT4oKnRoaXMpLmlz
UGVuZGluZygpOwogICAgIGNhc2UgRmlsdGVySW1hZ2VDbGFzczoKICAgICAgICAgcmV0dXJuIGRv
d25jYXN0PENTU0ZpbHRlckltYWdlVmFsdWU+KCp0aGlzKS5pc1BlbmRpbmcoKTsKICAgICBjYXNl
IExpbmVhckdyYWRpZW50Q2xhc3M6CkBAIC0xODgsNiArMTk1LDggQEAgYm9vbCBDU1NJbWFnZUdl
bmVyYXRvclZhbHVlOjprbm93blRvQmVPcGFxdWUoY29uc3QgUmVuZGVyRWxlbWVudCogcmVuZGVy
ZXIpIGNvbnMKICAgICAgICAgcmV0dXJuIGRvd25jYXN0PENTU0Nyb3NzZmFkZVZhbHVlPigqdGhp
cykua25vd25Ub0JlT3BhcXVlKHJlbmRlcmVyKTsKICAgICBjYXNlIENhbnZhc0NsYXNzOgogICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgY2FzZSBOYW1lZEltYWdlQ2xhc3M6CisgICAgICAgIHJl
dHVybiBmYWxzZTsKICAgICBjYXNlIEZpbHRlckltYWdlQ2xhc3M6CiAgICAgICAgIHJldHVybiBk
b3duY2FzdDxDU1NGaWx0ZXJJbWFnZVZhbHVlPigqdGhpcykua25vd25Ub0JlT3BhcXVlKHJlbmRl
cmVyKTsKICAgICBjYXNlIExpbmVhckdyYWRpZW50Q2xhc3M6CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTTmFtZWRJbWFnZVZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NOYW1lZEltYWdlVmFsdWUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFhZGQ1NDZmNTNjNzNmNWQ1ZjhkMzE0
N2UxYTQ3NjdhYmJjZGM0ZWIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTTmFtZWRJbWFnZVZhbHVlLmNwcApAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE1IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQg
QU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNs
dWRlICJDU1NOYW1lZEltYWdlVmFsdWUuaCIKKworI2luY2x1ZGUgIkltYWdlQnVmZmVyLmgiCisj
aW5jbHVkZSAiTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlLmgiCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworU3RyaW5nIENTU05hbWVkSW1hZ2VWYWx1ZTo6Y3VzdG9tQ1NTVGV4dCgpIGNvbnN0Cit7
CisgICAgcmV0dXJuIG1ha2VTdHJpbmcoIi13ZWJraXQtbmFtZWQtaW1hZ2UoIiwgbV9uYW1lLCAn
KScpOworfQorCitQYXNzUmVmUHRyPEltYWdlPiBDU1NOYW1lZEltYWdlVmFsdWU6OmltYWdlKFJl
bmRlckVsZW1lbnQqLCBjb25zdCBGbG9hdFNpemUmIHNpemUpCit7CisgICAgaWYgKHNpemUuaXNF
bXB0eSgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIG1fZ2VuZXJhdGVkSW1hZ2Ug
PSBOYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2U6OmNyZWF0ZShtX25hbWUsIHNpemUpOworCisgICAg
cmV0dXJuIG1fZ2VuZXJhdGVkSW1hZ2UucmVsZWFzZSgpOworfQorCitib29sIENTU05hbWVkSW1h
Z2VWYWx1ZTo6ZXF1YWxzKGNvbnN0IENTU05hbWVkSW1hZ2VWYWx1ZSYgb3RoZXIpIGNvbnN0Cit7
CisgICAgcmV0dXJuIG1fbmFtZSA9PSBvdGhlci5tX25hbWU7Cit9CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NOYW1lZEltYWdlVmFs
dWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NOYW1lZEltYWdlVmFsdWUuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMWNkYWE2MzM4NWRhOGM0NjZjMmE2ODUzNzM3NWYxZmU3ODU2ZmJiCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU05hbWVkSW1hZ2VWYWx1ZS5oCkBAIC0wLDAgKzEs
NjggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IK
KyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZu
ZGVmIENTU05hbWVkSW1hZ2VWYWx1ZV9oCisjZGVmaW5lIENTU05hbWVkSW1hZ2VWYWx1ZV9oCisK
KyNpbmNsdWRlICJDU1NJbWFnZUdlbmVyYXRvclZhbHVlLmgiCisKKyNpbmNsdWRlICJJbWFnZS5o
IgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIERvY3VtZW50OworCitjbGFzcyBDU1NO
YW1lZEltYWdlVmFsdWUgOiBwdWJsaWMgQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZSB7CitwdWJsaWM6
CisgICAgc3RhdGljIFJlZjxDU1NOYW1lZEltYWdlVmFsdWU+IGNyZWF0ZShjb25zdCBTdHJpbmcm
IG5hbWUpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDU1NOYW1lZEltYWdl
VmFsdWUobmFtZSkpOworICAgIH0KKworICAgIFN0cmluZyBjdXN0b21DU1NUZXh0KCkgY29uc3Q7
CisKKyAgICBib29sIGlzRml4ZWRTaXplKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyAgICBi
b29sIGlzUGVuZGluZygpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisKKyAgICBQYXNzUmVmUHRy
PEltYWdlPiBpbWFnZShSZW5kZXJFbGVtZW50KiwgY29uc3QgRmxvYXRTaXplJik7CisKKyAgICBi
b29sIGVxdWFscyhjb25zdCBDU1NOYW1lZEltYWdlVmFsdWUmKSBjb25zdDsKKworcHJpdmF0ZToK
KyAgICBleHBsaWNpdCBDU1NOYW1lZEltYWdlVmFsdWUoY29uc3QgU3RyaW5nJiBuYW1lKQorICAg
ICAgICA6IENTU0ltYWdlR2VuZXJhdG9yVmFsdWUoTmFtZWRJbWFnZUNsYXNzKQorICAgICAgICAs
IG1fbmFtZShuYW1lKQorICAgIHsKKyAgICB9CisKKyAgICBTdHJpbmcgbV9uYW1lOworICAgIFJl
ZlB0cjxJbWFnZT4gbV9nZW5lcmF0ZWRJbWFnZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKKworU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19DU1NfVkFMVUUoQ1NTTmFtZWRJbWFnZVZhbHVl
LCBpc05hbWVkSW1hZ2VWYWx1ZSgpKQorCisjZW5kaWYgLy8gQ1NTTmFtZWRJbWFnZVZhbHVlX2gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKaW5kZXggYjJjYTAzMTdhMTUyMTYzZTk3NDIwOWI2OTQ5
YjE5MTk0MWU2MGM5NC4uZTcyZTNmYjJiNzE1ZmY0ZjdmNjk0NWRhMjNiYmM1M2U0ODdkMTA2YyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKQEAgLTUwLDYgKzUwLDcgQEAKICNpbmNsdWRlICJD
U1NLZXlmcmFtZXNSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTTGluZUJveENvbnRhaW5WYWx1ZS5oIgog
I2luY2x1ZGUgIkNTU01lZGlhUnVsZS5oIgorI2luY2x1ZGUgIkNTU05hbWVkSW1hZ2VWYWx1ZS5o
IgogI2luY2x1ZGUgIkNTU1BhZ2VSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTUHJpbWl0aXZlVmFsdWUu
aCIKICNpbmNsdWRlICJDU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgiCkBAIC05MTUyLDcgKzkx
NTMsOCBAQCBib29sIENTU1BhcnNlcjo6aXNHZW5lcmF0ZWRJbWFnZVZhbHVlKENTU1BhcnNlclZh
bHVlJiB2YWx1ZSkgY29uc3QKICAgICAgICAgfHwgZXF1YWxJZ25vcmluZ0Nhc2UodmFsdWUuZnVu
Y3Rpb24tPm5hbWUsICJyZXBlYXRpbmctcmFkaWFsLWdyYWRpZW50KCIpCiAgICAgICAgIHx8IGVx
dWFsSWdub3JpbmdDYXNlKHZhbHVlLmZ1bmN0aW9uLT5uYW1lLCAiLXdlYmtpdC1jYW52YXMoIikK
ICAgICAgICAgfHwgZXF1YWxJZ25vcmluZ0Nhc2UodmFsdWUuZnVuY3Rpb24tPm5hbWUsICItd2Vi
a2l0LWNyb3NzLWZhZGUoIikKLSAgICAgICAgfHwgZXF1YWxJZ25vcmluZ0Nhc2UodmFsdWUuZnVu
Y3Rpb24tPm5hbWUsICItd2Via2l0LWZpbHRlcigiKTsKKyAgICAgICAgfHwgZXF1YWxJZ25vcmlu
Z0Nhc2UodmFsdWUuZnVuY3Rpb24tPm5hbWUsICItd2Via2l0LWZpbHRlcigiKQorICAgICAgICB8
fCBlcXVhbElnbm9yaW5nQ2FzZSh2YWx1ZS5mdW5jdGlvbi0+bmFtZSwgIi13ZWJraXQtbmFtZWQt
aW1hZ2UoIik7CiB9CiAKIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUdlbmVyYXRlZEltYWdlKENTU1Bh
cnNlclZhbHVlTGlzdCYgdmFsdWVMaXN0LCBSZWZQdHI8Q1NTVmFsdWU+JiB2YWx1ZSkKQEAgLTkx
OTgsNiArOTIwMCw5IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUdlbmVyYXRlZEltYWdlKENTU1Bh
cnNlclZhbHVlTGlzdCYgdmFsdWVMaXN0LCBSZWZQdHI8Q1NTVmFsCiAgICAgaWYgKGVxdWFsSWdu
b3JpbmdDYXNlKHBhcnNlclZhbHVlLmZ1bmN0aW9uLT5uYW1lLCAiLXdlYmtpdC1maWx0ZXIoIikp
CiAgICAgICAgIHJldHVybiBwYXJzZUZpbHRlckltYWdlKHZhbHVlTGlzdCwgdmFsdWUpOwogCisg
ICAgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHBhcnNlclZhbHVlLmZ1bmN0aW9uLT5uYW1lLCAiLXdl
YmtpdC1uYW1lZC1pbWFnZSgiKSkKKyAgICAgICAgcmV0dXJuIHBhcnNlTmFtZWRJbWFnZSh2YWx1
ZUxpc3QsIHZhbHVlKTsKKwogICAgIHJldHVybiBmYWxzZTsKIH0KIApAQCAtOTMxMCw2ICs5MzE1
LDIxIEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUNhbnZhcyhDU1NQYXJzZXJWYWx1ZUxpc3QmIHZh
bHVlTGlzdCwgUmVmUHRyPENTU1ZhbHVlPiYgY2FuCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK2Jv
b2wgQ1NTUGFyc2VyOjpwYXJzZU5hbWVkSW1hZ2UoQ1NTUGFyc2VyVmFsdWVMaXN0JiB2YWx1ZUxp
c3QsIFJlZlB0cjxDU1NWYWx1ZT4mIG5hbWVkSW1hZ2UpCit7CisgICAgQ1NTUGFyc2VyVmFsdWVM
aXN0KiBhcmdzID0gdmFsdWVMaXN0LmN1cnJlbnQoKS0+ZnVuY3Rpb24tPmFyZ3MuZ2V0KCk7Cisg
ICAgaWYgKCFhcmdzIHx8IGFyZ3MtPnNpemUoKSAhPSAxKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisKKyAgICAvLyBUaGUgb25seSBhcmd1bWVudCBpcyB0aGUgaW1hZ2UgbmFtZS4KKyAgICBDU1NQ
YXJzZXJWYWx1ZSogdmFsdWUgPSBhcmdzLT5jdXJyZW50KCk7CisgICAgaWYgKCF2YWx1ZSB8fCB2
YWx1ZS0+dW5pdCAhPSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0lERU5UKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICBuYW1lZEltYWdlID0gQ1NTTmFtZWRJbWFnZVZhbHVlOjpjcmVhdGUo
dmFsdWUtPnN0cmluZyk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKICNpZiBFTkFCTEUoQ1NTX0lN
QUdFX1JFU09MVVRJT04pCiBQYXNzUmVmUHRyPENTU1ZhbHVlPiBDU1NQYXJzZXI6OnBhcnNlSW1h
Z2VSZXNvbHV0aW9uKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJz
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAppbmRleCA1Mjk5ZGJiYTBlYWQx
Nzg4Njg5M2YwN2M1OTAzZDc4NGY2MjVhM2ExLi4zOThjMmY0Y2U1NTQ1Y2RjMTZhNDViYzU2MTJh
M2I2YTU5ZTA0Zjg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCkBAIC0yOTAsNiArMjkwLDcgQEAg
cHVibGljOgogCiAgICAgLy8gSW1hZ2UgZ2VuZXJhdG9ycwogICAgIGJvb2wgcGFyc2VDYW52YXMo
Q1NTUGFyc2VyVmFsdWVMaXN0JiwgUmVmUHRyPENTU1ZhbHVlPiYpOworICAgIGJvb2wgcGFyc2VO
YW1lZEltYWdlKENTU1BhcnNlclZhbHVlTGlzdCYsIFJlZlB0cjxDU1NWYWx1ZT4mKTsKIAogICAg
IGJvb2wgcGFyc2VEZXByZWNhdGVkR3JhZGllbnQoQ1NTUGFyc2VyVmFsdWVMaXN0JiwgUmVmUHRy
PENTU1ZhbHVlPiYpOwogICAgIGJvb2wgcGFyc2VEZXByZWNhdGVkTGluZWFyR3JhZGllbnQoQ1NT
UGFyc2VyVmFsdWVMaXN0JiwgUmVmUHRyPENTU1ZhbHVlPiYsIENTU0dyYWRpZW50UmVwZWF0IHJl
cGVhdGluZyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcAppbmRleCA0MzFkZDQ1NDlkMjE4ZDdlMDVh
OTY1NTM2NjA0NWQxYzYyY2ZiY2MzLi45ZWIxOWFiMjgwYzI1ZjBjZjBlZjNiNzVjMGUwMTYzMjA2
NTc2ZjY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5jcHAKQEAgLTQ3LDYgKzQ3LDcgQEAKICNpbmNs
dWRlICJDU1NJbmhlcml0ZWRWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0luaXRpYWxWYWx1ZS5oIgog
I2luY2x1ZGUgIkNTU0xpbmVCb3hDb250YWluVmFsdWUuaCIKKyNpbmNsdWRlICJDU1NOYW1lZElt
YWdlVmFsdWUuaCIKICNpbmNsdWRlICJDU1NQcmltaXRpdmVWYWx1ZS5oIgogI2luY2x1ZGUgIkNT
U1JlZmxlY3RWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU1NoYWRvd1ZhbHVlLmgiCkBAIC0xNjgsNiAr
MTY5LDggQEAgYm9vbCBDU1NWYWx1ZTo6ZXF1YWxzKGNvbnN0IENTU1ZhbHVlJiBvdGhlcikgY29u
c3QKICAgICAgICAgICAgIHJldHVybiBjb21wYXJlQ1NTVmFsdWVzPENTU0JvcmRlckltYWdlU2xp
Y2VWYWx1ZT4oKnRoaXMsIG90aGVyKTsKICAgICAgICAgY2FzZSBDYW52YXNDbGFzczoKICAgICAg
ICAgICAgIHJldHVybiBjb21wYXJlQ1NTVmFsdWVzPENTU0NhbnZhc1ZhbHVlPigqdGhpcywgb3Ro
ZXIpOworICAgICAgICBjYXNlIE5hbWVkSW1hZ2VDbGFzczoKKyAgICAgICAgICAgIHJldHVybiBj
b21wYXJlQ1NTVmFsdWVzPENTU05hbWVkSW1hZ2VWYWx1ZT4oKnRoaXMsIG90aGVyKTsKICAgICAg
ICAgY2FzZSBDdXJzb3JJbWFnZUNsYXNzOgogICAgICAgICAgICAgcmV0dXJuIGNvbXBhcmVDU1NW
YWx1ZXM8Q1NTQ3Vyc29ySW1hZ2VWYWx1ZT4oKnRoaXMsIG90aGVyKTsKICAgICAgICAgY2FzZSBG
aWx0ZXJJbWFnZUNsYXNzOgpAQCAtMjYwLDYgKzI2Myw4IEBAIFN0cmluZyBDU1NWYWx1ZTo6Y3Nz
VGV4dCgpIGNvbnN0CiAgICAgICAgIHJldHVybiBkb3duY2FzdDxDU1NCb3JkZXJJbWFnZVNsaWNl
VmFsdWU+KCp0aGlzKS5jdXN0b21DU1NUZXh0KCk7CiAgICAgY2FzZSBDYW52YXNDbGFzczoKICAg
ICAgICAgcmV0dXJuIGRvd25jYXN0PENTU0NhbnZhc1ZhbHVlPigqdGhpcykuY3VzdG9tQ1NTVGV4
dCgpOworICAgIGNhc2UgTmFtZWRJbWFnZUNsYXNzOgorICAgICAgICByZXR1cm4gZG93bmNhc3Q8
Q1NTTmFtZWRJbWFnZVZhbHVlPigqdGhpcykuY3VzdG9tQ1NTVGV4dCgpOwogICAgIGNhc2UgQ3Vy
c29ySW1hZ2VDbGFzczoKICAgICAgICAgcmV0dXJuIGRvd25jYXN0PENTU0N1cnNvckltYWdlVmFs
dWU+KCp0aGlzKS5jdXN0b21DU1NUZXh0KCk7CiAgICAgY2FzZSBGaWx0ZXJJbWFnZUNsYXNzOgpA
QCAtMzUyLDYgKzM1Nyw5IEBAIHZvaWQgQ1NTVmFsdWU6OmRlc3Ryb3koKQogICAgIGNhc2UgQ2Fu
dmFzQ2xhc3M6CiAgICAgICAgIGRlbGV0ZSBkb3duY2FzdDxDU1NDYW52YXNWYWx1ZT4odGhpcyk7
CiAgICAgICAgIHJldHVybjsKKyAgICBjYXNlIE5hbWVkSW1hZ2VDbGFzczoKKyAgICAgICAgZGVs
ZXRlIGRvd25jYXN0PENTU05hbWVkSW1hZ2VWYWx1ZT4odGhpcyk7CisgICAgICAgIHJldHVybjsK
ICAgICBjYXNlIEN1cnNvckltYWdlQ2xhc3M6CiAgICAgICAgIGRlbGV0ZSBkb3duY2FzdDxDU1ND
dXJzb3JJbWFnZVZhbHVlPih0aGlzKTsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUu
aAppbmRleCA5YTQwNjg2ODljMTY3MWRkOTJhNTFmMDdmY2VhNzJjZjFhMDkwMjE2Li41OWVhMWM5
NTk3ODdhMjMxN2JiMDFlYjYzNTkxMDQ1NWMyMzY4OTM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaApA
QCAtNzksNiArNzksNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0ZvbnRWYWx1ZSgpIGNvbnN0IHsg
cmV0dXJuIG1fY2xhc3NUeXBlID09IEZvbnRDbGFzczsgfQogICAgIGJvb2wgaXNJbWFnZUdlbmVy
YXRvclZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPj0gQ2FudmFzQ2xhc3MgJiYg
bV9jbGFzc1R5cGUgPD0gUmFkaWFsR3JhZGllbnRDbGFzczsgfQogICAgIGJvb2wgaXNHcmFkaWVu
dFZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPj0gTGluZWFyR3JhZGllbnRDbGFz
cyAmJiBtX2NsYXNzVHlwZSA8PSBSYWRpYWxHcmFkaWVudENsYXNzOyB9CisgICAgYm9vbCBpc05h
bWVkSW1hZ2VWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IE5hbWVkSW1hZ2VD
bGFzczsgfQogI2lmIEVOQUJMRShDU1NfSU1BR0VfU0VUKQogICAgIGJvb2wgaXNJbWFnZVNldFZh
bHVlKCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gSW1hZ2VTZXRDbGFzczsgfQogI2Vu
ZGlmCkBAIC0xMzksNiArMTQwLDcgQEAgcHJvdGVjdGVkOgogCiAgICAgICAgIC8vIEltYWdlIGdl
bmVyYXRvciBjbGFzc2VzLgogICAgICAgICBDYW52YXNDbGFzcywKKyAgICAgICAgTmFtZWRJbWFn
ZUNsYXNzLAogICAgICAgICBDcm9zc2ZhZGVDbGFzcywKICAgICAgICAgRmlsdGVySW1hZ2VDbGFz
cywKICAgICAgICAgTGluZWFyR3JhZGllbnRDbGFzcywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1RoZW1lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lLmNw
cAppbmRleCA5NjU0N2E3Y2Y1NmM1MmQ4ZmQwODMyY2VmODEyM2NiYTgzNmQzMmZlLi5lYWM3MzUy
NTQxY2E2MDAyZGY3YjA4NGE2NzdjMjJmZTBlOWExMTgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9UaGVtZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhl
bWUuY3BwCkBAIC0yNiw2ICsyNiw4IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAi
VGhlbWUuaCIKIAorI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgorCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIExlbmd0aEJveCBUaGVtZTo6Y29udHJvbEJvcmRlcihDb250cm9sUGFydCBwYXJ0
LCBjb25zdCBGb250Q2FzY2FkZSYsIGNvbnN0IExlbmd0aEJveCYgem9vbWVkQm94LCBmbG9hdCkg
Y29uc3QKQEAgLTU1LDQgKzU3LDYwIEBAIExlbmd0aEJveCBUaGVtZTo6Y29udHJvbFBhZGRpbmco
Q29udHJvbFBhcnQgcGFydCwgY29uc3QgRm9udENhc2NhZGUmLCBjb25zdCBMZW5nCiAgICAgfQog
fQogCit2b2lkIFRoZW1lOjpkcmF3TmFtZWRJbWFnZShjb25zdCBTdHJpbmcmIG5hbWUsIEdyYXBo
aWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgRmxvYXRSZWN0JiByZWN0KSBjb25zdAoreworICAg
IC8vIFdlIG9ubHkgaGFuZGxlIG9uZSBpY29uIGF0IHRoZSBtb21lbnQuCisgICAgaWYgKG5hbWUg
IT0gIndpcmVsZXNzLXBsYXliYWNrIikKKyAgICAgICAgcmV0dXJuOworCisgICAgR3JhcGhpY3ND
b250ZXh0U3RhdGVTYXZlciBzdGF0ZVNhdmVyKCpjb250ZXh0KTsKKyAgICBjb250ZXh0LT5zZXRG
aWxsQ29sb3IoQ29sb3I6OmJsYWNrLCBDb2xvclNwYWNlRGV2aWNlUkdCKTsKKworICAgIC8vIERy
YXcgYSBnZW5lcmljIFdpcmVsZXNzIFBsYXliYWNrIGljb24uCisKKyAgICBjb250ZXh0LT5zY2Fs
ZShGbG9hdFNpemUocmVjdC5zaXplKCkud2lkdGgoKSAvIDEwMCwgcmVjdC5zaXplKCkuaGVpZ2h0
KCkgLyAxMDApKTsKKyAgICBjb250ZXh0LT50cmFuc2xhdGUoOCwgMSk7CisKKyAgICBQYXRoIG91
dGxpbmU7CisgICAgb3V0bGluZS5tb3ZlVG8oRmxvYXRQb2ludCg1OSwgNTguNykpOworICAgIG91
dGxpbmUuYWRkQmV6aWVyQ3VydmVUbyhGbG9hdFBvaW50KDU4LjEsIDU4LjcpLCBGbG9hdFBvaW50
KDU3LjIsIDU4LjQpLCBGbG9hdFBvaW50KDU2LjQsIDU3LjcpKTsKKyAgICBvdXRsaW5lLmFkZExp
bmVUbyhGbG9hdFBvaW50KDQyLCA0NS41KSk7CisgICAgb3V0bGluZS5hZGRMaW5lVG8oRmxvYXRQ
b2ludCgyNy42LCA1Ny44KSk7CisgICAgb3V0bGluZS5hZGRCZXppZXJDdXJ2ZVRvKEZsb2F0UG9p
bnQoMjUuOSwgNTkuMiksIEZsb2F0UG9pbnQoMjMuNCwgNTkpLCBGbG9hdFBvaW50KDIyLCA1Ny4z
KSk7CisgICAgb3V0bGluZS5hZGRCZXppZXJDdXJ2ZVRvKEZsb2F0UG9pbnQoMjAuNiwgNTUuNiks
IEZsb2F0UG9pbnQoMjAuOCwgNTMuMSksIEZsb2F0UG9pbnQoMjIuNSwgNTEuNykpOworICAgIG91
dGxpbmUuYWRkTGluZVRvKEZsb2F0UG9pbnQoMzkuNSwgMzcuMykpOworICAgIG91dGxpbmUuYWRk
QmV6aWVyQ3VydmVUbyhGbG9hdFBvaW50KDQxLCAzNiksIEZsb2F0UG9pbnQoNDMuMiwgMzYpLCBG
bG9hdFBvaW50KDQ0LjcsIDM3LjMpKTsKKyAgICBvdXRsaW5lLmFkZExpbmVUbyhGbG9hdFBvaW50
KDYxLjcsIDUxLjcpKTsKKyAgICBvdXRsaW5lLmFkZEJlemllckN1cnZlVG8oRmxvYXRQb2ludCg2
My40LCA1My4xKSwgRmxvYXRQb2ludCg2My42LCA1NS43KSwgRmxvYXRQb2ludCg2Mi4yLCA1Ny4z
KSk7CisgICAgb3V0bGluZS5hZGRCZXppZXJDdXJ2ZVRvKEZsb2F0UG9pbnQoNjEuMywgNTguMiks
IEZsb2F0UG9pbnQoNjAuMSwgNTguNyksIEZsb2F0UG9pbnQoNTksIDU4LjcpKTsKKyAgICBvdXRs
aW5lLmFkZExpbmVUbyhGbG9hdFBvaW50KDU5LCA1OC43KSk7CisgICAgb3V0bGluZS5jbG9zZVN1
YnBhdGgoKTsKKworICAgIG91dGxpbmUubW92ZVRvKEZsb2F0UG9pbnQoNDIsIDk4KSk7CisgICAg
b3V0bGluZS5hZGRCZXppZXJDdXJ2ZVRvKEZsb2F0UG9pbnQoMzkuOCwgOTgpLCBGbG9hdFBvaW50
KDM4LCA5Ni4zKSwgRmxvYXRQb2ludCgzOCwgOTQuMikpOworICAgIG91dGxpbmUuYWRkTGluZVRv
KEZsb2F0UG9pbnQoMzgsIDQzLjYpKTsKKyAgICBvdXRsaW5lLmFkZEJlemllckN1cnZlVG8oRmxv
YXRQb2ludCgzOCwgNDEuNSksIEZsb2F0UG9pbnQoMzkuOCwgMzkuOCksIEZsb2F0UG9pbnQoNDIs
IDM5LjgpKTsKKyAgICBvdXRsaW5lLmFkZEJlemllckN1cnZlVG8oRmxvYXRQb2ludCg0NC4yLCAz
OS44KSwgRmxvYXRQb2ludCg0NiwgNDEuNSksIEZsb2F0UG9pbnQoNDYsIDQzLjYpKTsKKyAgICBv
dXRsaW5lLmFkZExpbmVUbyhGbG9hdFBvaW50KDQ2LCA5NC4yKSk7CisgICAgb3V0bGluZS5hZGRC
ZXppZXJDdXJ2ZVRvKEZsb2F0UG9pbnQoNDYsIDk2LjMpLCBGbG9hdFBvaW50KDQ0LjIsIDk4KSwg
RmxvYXRQb2ludCg0MiwgOTgpKTsKKyAgICBvdXRsaW5lLmFkZExpbmVUbyhGbG9hdFBvaW50KDQy
LCA5OCkpOworICAgIG91dGxpbmUuY2xvc2VTdWJwYXRoKCk7CisKKyAgICBvdXRsaW5lLm1vdmVU
byhGbG9hdFBvaW50KDgzLjYsIDQxLjYpKTsKKyAgICBvdXRsaW5lLmFkZEJlemllckN1cnZlVG8o
RmxvYXRQb2ludCg4My42LCAxOC42KSwgRmxvYXRQb2ludCg2NSwgMCksIEZsb2F0UG9pbnQoNDIs
IDApKTsKKyAgICBvdXRsaW5lLmFkZEJlemllckN1cnZlVG8oRmxvYXRQb2ludCgxOSwgMCksIEZs
b2F0UG9pbnQoMC40LCAxOC42KSwgRmxvYXRQb2ludCgwLjQsIDQxLjYpKTsKKyAgICBvdXRsaW5l
LmFkZEJlemllckN1cnZlVG8oRmxvYXRQb2ludCgwLjQsIDYyLjIpLCBGbG9hdFBvaW50KDE1LCA3
OS4yKSwgRmxvYXRQb2ludCgzNSwgODIuNikpOworICAgIG91dGxpbmUuYWRkTGluZVRvKEZsb2F0
UG9pbnQoMzUsIDc0LjUpKTsKKyAgICBvdXRsaW5lLmFkZEJlemllckN1cnZlVG8oRmxvYXRQb2lu
dCgyMCwgNzEuMiksIEZsb2F0UG9pbnQoOC40LCA1Ny43KSwgRmxvYXRQb2ludCg4LjQsIDQxLjYp
KTsKKyAgICBvdXRsaW5lLmFkZEJlemllckN1cnZlVG8oRmxvYXRQb2ludCg4LjQsIDIzLjEpLCBG
bG9hdFBvaW50KDIzLjUsIDgpLCBGbG9hdFBvaW50KDQyLCA4KSk7CisgICAgb3V0bGluZS5hZGRC
ZXppZXJDdXJ2ZVRvKEZsb2F0UG9pbnQoNjAuNSwgOCksIEZsb2F0UG9pbnQoNzUuNSwgMjMuMSks
IEZsb2F0UG9pbnQoNzUuNSwgNDEuNikpOworICAgIG91dGxpbmUuYWRkQmV6aWVyQ3VydmVUbyhG
bG9hdFBvaW50KDc1LjYsIDU3LjcpLCBGbG9hdFBvaW50KDY0LCA3MS4yKSwgRmxvYXRQb2ludCg0
OSwgNzQuNSkpOworICAgIG91dGxpbmUuYWRkTGluZVRvKEZsb2F0UG9pbnQoNDksIDgyLjYpKTsK
KyAgICBvdXRsaW5lLmFkZEJlemllckN1cnZlVG8oRmxvYXRQb2ludCg2OSwgNzkuMyksIEZsb2F0
UG9pbnQoODMuNiwgNjIuMiksIEZsb2F0UG9pbnQoODMuNiwgNDEuNikpOworICAgIG91dGxpbmUu
YWRkTGluZVRvKEZsb2F0UG9pbnQoODMuNiwgNDEuNikpOworICAgIG91dGxpbmUuY2xvc2VTdWJw
YXRoKCk7CisKKyAgICBjb250ZXh0LT5maWxsUGF0aChvdXRsaW5lKTsKK30KKwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1RoZW1lLmgKaW5kZXggZWNlODRjZjY1OGFmZjYxNWE1ZGQ5NzI1OTcxMWU0YmEzNGI2
YTUyYi4uMTBlMGM3NzNmZTIyNDAxZjZiNDRmMWJkNGQ2Y2I2OWU2ZTBmZDY3NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9UaGVtZS5oCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiQ29sb3IuaCIKICNp
bmNsdWRlICJDb250cm9sU3RhdGVzLmgiCiAjaW5jbHVkZSAiRm9udENhc2NhZGUuaCIKKyNpbmNs
dWRlICJHcmFwaGljc1R5cGVzLmgiCiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIkxl
bmd0aEJveC5oIgogI2luY2x1ZGUgIkxlbmd0aFNpemUuaCIKQEAgLTEwNiw3ICsxMDcsOSBAQCBw
dWJsaWM6CiAgICAgLy8gVGhlIHJlY3QgcGFzc2VkIGluIGlzIGluIHpvb21lZCBjb29yZGluYXRl
cywgc28gdGhlIGluZmxhdGlvbiBzaG91bGQgdGFrZSB0aGF0IGludG8gYWNjb3VudCBhbmQgbWFr
ZSBzdXJlIHRoZSBpbmZsYXRpb24KICAgICAvLyBhbW91bnQgaXMgYWxzbyBzY2FsZWQgYnkgdGhl
IHpvb21GYWN0b3IuCiAgICAgdmlydHVhbCB2b2lkIGluZmxhdGVDb250cm9sUGFpbnRSZWN0KENv
bnRyb2xQYXJ0LCBjb25zdCBDb250cm9sU3RhdGVzKiwgRmxvYXRSZWN0JiAvKnpvb21lZFJlY3Qq
LywgZmxvYXQgLyp6b29tRmFjdG9yKi8pIGNvbnN0IHsgfQotICAgIAorCisgICAgdmlydHVhbCB2
b2lkIGRyYXdOYW1lZEltYWdlKGNvbnN0IFN0cmluZyYsIEdyYXBoaWNzQ29udGV4dCosIGNvbnN0
IEZsb2F0UmVjdCYpIGNvbnN0OworCiAgICAgLy8gVGhpcyBtZXRob2QgaXMgY2FsbGVkIG9uY2Us
IGZyb20gUmVuZGVyVGhlbWU6OmFkanVzdERlZmF1bHRTdHlsZVNoZWV0KCksIHRvIGxldCBlYWNo
IHBsYXRmb3JtIGFkanVzdAogICAgIC8vIHRoZSBkZWZhdWx0IENTUyBydWxlcyBpbiBodG1sLmNz
cy4KICAgICBzdGF0aWMgU3RyaW5nIGRlZmF1bHRTdHlsZVNoZWV0KCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9UaGVtZUNvY29hLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2NvY29hL1RoZW1lQ29jb2EuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRhODc5MjhjMGY4
NzM0MDU5YzQyYjc5MGQ5ZTMxNzIyOTVmOGNjZjIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9UaGVtZUNvY29hLmNwcApAQCAtMCwwICsxLDkwIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29u
ZmlnLmgiCisjaW1wb3J0ICJUaGVtZUNvY29hLmgiCisKKyNpbXBvcnQgIkdyYXBoaWNzQ29udGV4
dC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0YXRpYyB2b2lkIGZpdENvbnRleHRUb0Jv
eChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEZsb2F0U2l6ZSYgc3JjSW1hZ2VTaXpl
LCBjb25zdCBGbG9hdFNpemUmIGRzdFNpemUpCit7CisgICAgZmxvYXQgc3JjUmF0aW8gPSBzcmNJ
bWFnZVNpemUuYXNwZWN0UmF0aW8oKTsKKyAgICBmbG9hdCBkc3RSYXRpbyA9IGRzdFNpemUuYXNw
ZWN0UmF0aW8oKTsKKworICAgIGZsb2F0IHNjYWxlOworICAgIGZsb2F0IHRyYW5zbGF0aW9uWCA9
IDA7CisgICAgZmxvYXQgdHJhbnNsYXRpb25ZID0gMDsKKyAgICBpZiAoc3JjUmF0aW8gPiBkc3RS
YXRpbykgeworICAgICAgICBzY2FsZSA9IGRzdFNpemUud2lkdGgoKSAvIHNyY0ltYWdlU2l6ZS53
aWR0aCgpOworICAgICAgICB0cmFuc2xhdGlvblkgPSAoZHN0U2l6ZS5oZWlnaHQoKSAtIHNjYWxl
ICogc3JjSW1hZ2VTaXplLmhlaWdodCgpKSAvIDI7CisgICAgfSBlbHNlIHsKKyAgICAgICAgc2Nh
bGUgPSBkc3RTaXplLmhlaWdodCgpIC8gc3JjSW1hZ2VTaXplLmhlaWdodCgpOworICAgICAgICB0
cmFuc2xhdGlvblggPSAoZHN0U2l6ZS53aWR0aCgpIC0gc2NhbGUgKiBzcmNJbWFnZVNpemUud2lk
dGgoKSkgLyAyOworICAgIH0KKyAgICBjb250ZXh0LT50cmFuc2xhdGUodHJhbnNsYXRpb25YLCB0
cmFuc2xhdGlvblkpOworICAgIGNvbnRleHQtPnNjYWxlKEZsb2F0U2l6ZShzY2FsZSwgc2NhbGUp
KTsKK30KKwordm9pZCBUaGVtZUNvY29hOjpkcmF3TmFtZWRJbWFnZShjb25zdCBTdHJpbmcmIG5h
bWUsIEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgRmxvYXRSZWN0JiByZWN0KSBjb25z
dAoreworICAgIC8vIFdlIG9ubHkgaGFuZGxlIG9uZSBpY29uIGF0IHRoZSBtb21lbnQuCisgICAg
aWYgKG5hbWUgIT0gIndpcmVsZXNzLXBsYXliYWNrIikgeworICAgICAgICBUaGVtZTo6ZHJhd05h
bWVkSW1hZ2UobmFtZSwgY29udGV4dCwgcmVjdCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
KyAgICBHcmFwaGljc0NvbnRleHRTdGF0ZVNhdmVyIHN0YXRlU2F2ZXIoKmNvbnRleHQpOworICAg
IGNvbnRleHQtPnNldEZpbGxDb2xvcihDb2xvcjo6YmxhY2ssIENvbG9yU3BhY2VEZXZpY2VSR0Ip
OworCisgICAgRmxvYXRTaXplIHdpcmVsZXNzUGxheWJhY2tTcmNTaXplKDMyLCAyNC4wMTYpOwor
ICAgIGZpdENvbnRleHRUb0JveChjb250ZXh0LCB3aXJlbGVzc1BsYXliYWNrU3JjU2l6ZSwgcmVj
dC5zaXplKCkpOworCisgICAgUGF0aCBvdXRsaW5lOworICAgIG91dGxpbmUubW92ZVRvKEZsb2F0
UG9pbnQoMjQuMDY2LCAxOCkpOworICAgIG91dGxpbmUuYWRkTGluZVRvKEZsb2F0UG9pbnQoMjIu
MTExLCAxNikpOworICAgIG91dGxpbmUuYWRkTGluZVRvKEZsb2F0UG9pbnQoMzAsIDE2KSk7Cisg
ICAgb3V0bGluZS5hZGRMaW5lVG8oRmxvYXRQb2ludCgzMCwgMikpOworICAgIG91dGxpbmUuYWRk
TGluZVRvKEZsb2F0UG9pbnQoMiwgMikpOworICAgIG91dGxpbmUuYWRkTGluZVRvKEZsb2F0UG9p
bnQoMiwgMTYpKTsKKyAgICBvdXRsaW5lLmFkZExpbmVUbyhGbG9hdFBvaW50KDkuOTA4LCAxNikp
OworICAgIG91dGxpbmUuYWRkTGluZVRvKEZsb2F0UG9pbnQoNy45NTMsIDE4KSk7CisgICAgb3V0
bGluZS5hZGRMaW5lVG8oRmxvYXRQb2ludCgwLCAxOCkpOworICAgIG91dGxpbmUuYWRkTGluZVRv
KEZsb2F0UG9pbnQoMCwgMCkpOworICAgIG91dGxpbmUuYWRkTGluZVRvKEZsb2F0UG9pbnQoMzIs
IDApKTsKKyAgICBvdXRsaW5lLmFkZExpbmVUbyhGbG9hdFBvaW50KDMyLCAxOCkpOworICAgIG91
dGxpbmUuYWRkTGluZVRvKEZsb2F0UG9pbnQoMjQuMDY2LCAxOCkpOworICAgIG91dGxpbmUuY2xv
c2VTdWJwYXRoKCk7CisgICAgb3V0bGluZS5tb3ZlVG8oRmxvYXRQb2ludCgyNi45MTcsIDI0LjAx
NikpOworICAgIG91dGxpbmUuYWRkTGluZVRvKEZsb2F0UG9pbnQoNS4wNDAsIDI0LjAxNikpOwor
ICAgIG91dGxpbmUuYWRkTGluZVRvKEZsb2F0UG9pbnQoMTUuOTc4LCAxMi44MjgpKTsKKyAgICBv
dXRsaW5lLmFkZExpbmVUbyhGbG9hdFBvaW50KDI2LjkxNywgMjQuMDE2KSk7CisgICAgb3V0bGlu
ZS5jbG9zZVN1YnBhdGgoKTsKKyAgICAKKyAgICBjb250ZXh0LT5maWxsUGF0aChvdXRsaW5lKTsK
K30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvVGhlbWVD
b2NvYS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvVGhlbWVDb2NvYS5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjFkNmI2OTM4ZjA1NjRkNjg3NTJmMjgwYThiYTNkYzJmYzM1YmU2NGUKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9UaGVtZUNvY29hLmgKQEAg
LTAsMCArMSw0MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCBS
aWdodHMgUmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpZm5kZWYgVGhlbWVDb2NvYV9oCisjZGVmaW5lIFRoZW1lQ29jb2FfaAorCisjaW5jbHVk
ZSAiVGhlbWUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBUaGVtZUNvY29hIDog
cHVibGljIFRoZW1lIHsKK3B1YmxpYzoKKyAgICBUaGVtZUNvY29hKCkgeyB9CisgICAgdmlydHVh
bCB+VGhlbWVDb2NvYSgpIHsgfQorCisgICAgdmlydHVhbCB2b2lkIGRyYXdOYW1lZEltYWdlKGNv
bnN0IFN0cmluZyYsIEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UmVjdCYpIGNvbnN0IG92
ZXJyaWRlOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gVGhlbWVD
b2NvYV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Dcm9z
c2ZhZGVHZW5lcmF0ZWRJbWFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Q3Jvc3NmYWRlR2VuZXJhdGVkSW1hZ2UuaAppbmRleCBhOWQ1OGM1NzE0NjU3MDFmOGZkODZmN2Rh
NjI4N2QyZGVhNDgzOTJhLi41NmE5ODc1MTRjYjcxYTE3YjRjNzgyYjcxODcxODZiZjcyYTBlMmI3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Dcm9zc2ZhZGVH
ZW5lcmF0ZWRJbWFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Ny
b3NzZmFkZUdlbmVyYXRlZEltYWdlLmgKQEAgLTM0LDggKzM0LDYgQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1jbGFzcyBDU1NDcm9zc2ZhZGVWYWx1ZTsKLQogY2xhc3MgQ3Jvc3NmYWRlR2Vu
ZXJhdGVkSW1hZ2UgZmluYWwgOiBwdWJsaWMgR2VuZXJhdGVkSW1hZ2UgewogcHVibGljOgogICAg
IHN0YXRpYyBSZWY8Q3Jvc3NmYWRlR2VuZXJhdGVkSW1hZ2U+IGNyZWF0ZShJbWFnZSogZnJvbUlt
YWdlLCBJbWFnZSogdG9JbWFnZSwgZmxvYXQgcGVyY2VudGFnZSwgY29uc3QgRmxvYXRTaXplJiBj
cm9zc2ZhZGVTaXplLCBjb25zdCBGbG9hdFNpemUmIHNpemUpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaAppbmRleCBmMmVlNTA2Zjc3MGI0ZDNkNzg0
MTc0N2M4NjAzMzZjMTZiZWU5ZGVjLi42NmMxZDhmNzVjYTk3ZThiYTU4OGU3ZWViNjNhYjM1MTRm
NjNmNWQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFn
ZUJ1ZmZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVm
ZmVyLmgKQEAgLTE0OSw2ICsxNDksNyBAQCBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBHcmFw
aGljc0NvbnRleHQ7CiAgICAgZnJpZW5kIGNsYXNzIEdlbmVyYXRlZEltYWdlOwogICAgIGZyaWVu
ZCBjbGFzcyBDcm9zc2ZhZGVHZW5lcmF0ZWRJbWFnZTsKKyAgICBmcmllbmQgY2xhc3MgTmFtZWRJ
bWFnZUdlbmVyYXRlZEltYWdlOwogICAgIGZyaWVuZCBjbGFzcyBHcmFkaWVudEltYWdlOwogCiBw
cml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTmFt
ZWRJbWFnZUdlbmVyYXRlZEltYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL05hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWJhOWJmMDM0N2Yw
MWY3ZjBiNDA0ZjY0MTFlYmJlZGVhODdhMTFkOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL05hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZS5jcHAKQEAg
LTAsMCArMSw4OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJOYW1lZEltYWdlR2VuZXJhdGVkSW1h
Z2UuaCIKKworI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgorI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4
dC5oIgorI2luY2x1ZGUgIkltYWdlQnVmZmVyLmgiCisjaW5jbHVkZSAiVGhlbWUuaCIKKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitOYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2U6Ok5hbWVkSW1hZ2VH
ZW5lcmF0ZWRJbWFnZShTdHJpbmcgbmFtZSwgY29uc3QgRmxvYXRTaXplJiBzaXplKQorICAgIDog
bV9uYW1lKG5hbWUpCit7CisgICAgc2V0Q29udGFpbmVyU2l6ZShzaXplKTsKK30KKwordm9pZCBO
YW1lZEltYWdlR2VuZXJhdGVkSW1hZ2U6OmRyYXcoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBj
b25zdCBGbG9hdFJlY3QmIGRzdFJlY3QsIGNvbnN0IEZsb2F0UmVjdCYgc3JjUmVjdCwgQ29sb3JT
cGFjZSwgQ29tcG9zaXRlT3BlcmF0b3IgY29tcG9zaXRlT3AsIEJsZW5kTW9kZSBibGVuZE1vZGUs
IEltYWdlT3JpZW50YXRpb25EZXNjcmlwdGlvbikKK3sKKyNpZiBVU0UoTkVXX1RIRU1FKQorICAg
IEdyYXBoaWNzQ29udGV4dFN0YXRlU2F2ZXIgc3RhdGVTYXZlcigqY29udGV4dCk7CisgICAgY29u
dGV4dC0+c2V0Q29tcG9zaXRlT3BlcmF0aW9uKGNvbXBvc2l0ZU9wLCBibGVuZE1vZGUpOworICAg
IGNvbnRleHQtPmNsaXAoZHN0UmVjdCk7CisgICAgY29udGV4dC0+dHJhbnNsYXRlKGRzdFJlY3Qu
eCgpLCBkc3RSZWN0LnkoKSk7CisgICAgaWYgKGRzdFJlY3Quc2l6ZSgpICE9IHNyY1JlY3Quc2l6
ZSgpKQorICAgICAgICBjb250ZXh0LT5zY2FsZShGbG9hdFNpemUoZHN0UmVjdC53aWR0aCgpIC8g
c3JjUmVjdC53aWR0aCgpLCBkc3RSZWN0LmhlaWdodCgpIC8gc3JjUmVjdC5oZWlnaHQoKSkpOwor
ICAgIGNvbnRleHQtPnRyYW5zbGF0ZSgtc3JjUmVjdC54KCksIC1zcmNSZWN0LnkoKSk7CisKKyAg
ICBwbGF0Zm9ybVRoZW1lKCktPmRyYXdOYW1lZEltYWdlKG1fbmFtZSwgY29udGV4dCwgZHN0UmVj
dCk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShjb250ZXh0KTsKKyAgICBVTlVTRURfUEFSQU0o
ZHN0UmVjdCk7CisgICAgVU5VU0VEX1BBUkFNKHNyY1JlY3QpOworICAgIFVOVVNFRF9QQVJBTShj
b21wb3NpdGVPcCk7CisgICAgVU5VU0VEX1BBUkFNKGJsZW5kTW9kZSk7CisjZW5kaWYKK30KKwor
dm9pZCBOYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2U6OmRyYXdQYXR0ZXJuKEdyYXBoaWNzQ29udGV4
dCogY29udGV4dCwgY29uc3QgRmxvYXRSZWN0JiBzcmNSZWN0LCBjb25zdCBBZmZpbmVUcmFuc2Zv
cm0mIHBhdHRlcm5UcmFuc2Zvcm0sIGNvbnN0IEZsb2F0UG9pbnQmIHBoYXNlLCBDb2xvclNwYWNl
IHN0eWxlQ29sb3JTcGFjZSwgQ29tcG9zaXRlT3BlcmF0b3IgY29tcG9zaXRlT3AsIGNvbnN0IEZs
b2F0UmVjdCYgZHN0UmVjdCwgQmxlbmRNb2RlIGJsZW5kTW9kZSkKK3sKKyNpZiBVU0UoTkVXX1RI
RU1FKQorLy8gICAgc3RkOjp1bmlxdWVfcHRyPEltYWdlQnVmZmVyPiBpbWFnZUJ1ZmZlciA9IElt
YWdlQnVmZmVyOjpjcmVhdGUoc2l6ZSgpLCAxLCBDb2xvclNwYWNlRGV2aWNlUkdCLCBjb250ZXh0
LT5pc0FjY2VsZXJhdGVkQ29udGV4dCgpID8gQWNjZWxlcmF0ZWQgOiBVbmFjY2VsZXJhdGVkKTsK
KyAgICBzdGQ6OnVuaXF1ZV9wdHI8SW1hZ2VCdWZmZXI+IGltYWdlQnVmZmVyID0gY29udGV4dC0+
Y3JlYXRlQ29tcGF0aWJsZUJ1ZmZlcihzaXplKCksIHRydWUpOworICAgIGlmICghaW1hZ2VCdWZm
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIEdyYXBoaWNzQ29udGV4dCogZ3JhcGhpY3NDb250
ZXh0ID0gaW1hZ2VCdWZmZXItPmNvbnRleHQoKTsKKyAgICBwbGF0Zm9ybVRoZW1lKCktPmRyYXdO
YW1lZEltYWdlKG1fbmFtZSwgZ3JhcGhpY3NDb250ZXh0LCBGbG9hdFJlY3QoMCwgMCwgc2l6ZSgp
LndpZHRoKCksIHNpemUoKS5oZWlnaHQoKSkpOworCisgICAgLy8gVGlsZSB0aGUgaW1hZ2UgYnVm
ZmVyIGludG8gdGhlIGNvbnRleHQuCisgICAgaW1hZ2VCdWZmZXItPmRyYXdQYXR0ZXJuKGNvbnRl
eHQsIHNyY1JlY3QsIHBhdHRlcm5UcmFuc2Zvcm0sIHBoYXNlLCBzdHlsZUNvbG9yU3BhY2UsIGNv
bXBvc2l0ZU9wLCBkc3RSZWN0LCBibGVuZE1vZGUpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0o
Y29udGV4dCk7CisgICAgVU5VU0VEX1BBUkFNKHNyY1JlY3QpOworICAgIFVOVVNFRF9QQVJBTShw
YXR0ZXJuVHJhbnNmb3JtKTsKKyAgICBVTlVTRURfUEFSQU0ocGhhc2UpOworICAgIFVOVVNFRF9Q
QVJBTShzdHlsZUNvbG9yU3BhY2UpOworICAgIFVOVVNFRF9QQVJBTShkc3RSZWN0KTsKKyAgICBV
TlVTRURfUEFSQU0oY29tcG9zaXRlT3ApOworICAgIFVOVVNFRF9QQVJBTShibGVuZE1vZGUpOwor
I2VuZGlmCit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL05hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDE3NzhlYjlm
OWIxYzRhYjJlY2MxNjQ0YzMwMjQ3MTViMzJiMTJhNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL05hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZS5oCkBA
IC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisg
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaWZuZGVmIE5hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZV9oCisjZGVmaW5lIE5hbWVkSW1h
Z2VHZW5lcmF0ZWRJbWFnZV9oCisKKyNpbmNsdWRlICJGbG9hdFNpemUuaCIKKyNpbmNsdWRlICJH
ZW5lcmF0ZWRJbWFnZS5oIgorI2luY2x1ZGUgIkltYWdlLmgiCisjaW5jbHVkZSA8d3RmL1JlZlB0
ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE5hbWVkSW1hZ2VHZW5lcmF0ZWRJ
bWFnZSBmaW5hbCA6IHB1YmxpYyBHZW5lcmF0ZWRJbWFnZSB7CitwdWJsaWM6CisgICAgc3RhdGlj
IFJlZjxOYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2U+IGNyZWF0ZShTdHJpbmcgbmFtZSwgY29uc3Qg
RmxvYXRTaXplJiBzaXplKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTmFt
ZWRJbWFnZUdlbmVyYXRlZEltYWdlKG5hbWUsIHNpemUpKTsKKyAgICB9CisKK3Byb3RlY3RlZDoK
KyAgICB2aXJ0dWFsIHZvaWQgZHJhdyhHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFJlY3Qm
IGRzdFJlY3QsIGNvbnN0IEZsb2F0UmVjdCYgc3JjUmVjdCwgQ29sb3JTcGFjZSBzdHlsZUNvbG9y
U3BhY2UsIENvbXBvc2l0ZU9wZXJhdG9yLCBCbGVuZE1vZGUsIEltYWdlT3JpZW50YXRpb25EZXNj
cmlwdGlvbikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRyYXdQYXR0ZXJuKEdyYXBoaWNz
Q29udGV4dCosIGNvbnN0IEZsb2F0UmVjdCYgc3JjUmVjdCwgY29uc3QgQWZmaW5lVHJhbnNmb3Jt
JiBwYXR0ZXJuVHJhbnNmb3JtLCBjb25zdCBGbG9hdFBvaW50JiBwaGFzZSwgQ29sb3JTcGFjZSBz
dHlsZUNvbG9yU3BhY2UsIENvbXBvc2l0ZU9wZXJhdG9yLCBjb25zdCBGbG9hdFJlY3QmIGRzdFJl
Y3QsIEJsZW5kTW9kZSkgb3ZlcnJpZGU7CisKKyAgICBOYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2Uo
U3RyaW5nIG5hbWUsIGNvbnN0IEZsb2F0U2l6ZSYpOworCitwcml2YXRlOgorICAgIFN0cmluZyBt
X25hbWU7Cit9OworCit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vaW9zL1RoZW1lSU9TLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvVGhlbWVJ
T1MuaAppbmRleCBmM2NjOWJhNzNkOTE1NjRjMDMwNmRmYzZiYTFjYTVkYjQxOTcyOTMzLi44ZDgw
OWYyM2M1ZDBjZjczNDA2NDg3M2IyOWM0ODY4NjcwNTQ3M2E4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9pb3MvVGhlbWVJT1MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9pb3MvVGhlbWVJT1MuaApAQCAtMjYsMTEgKzI2LDExIEBACiAjaWZuZGVmIFRoZW1lSU9T
X2gKICNkZWZpbmUgVGhlbWVJT1NfaAogCi0jaW5jbHVkZSAiVGhlbWUuaCIKKyNpbmNsdWRlICJU
aGVtZUNvY29hLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgVGhlbWVJT1MgOiBw
dWJsaWMgVGhlbWUgeworY2xhc3MgVGhlbWVJT1MgOiBwdWJsaWMgVGhlbWVDb2NvYSB7CiBwdWJs
aWM6CiAgICAgVGhlbWVJT1MoKSB7IH0KICAgICB2aXJ0dWFsIH5UaGVtZUlPUygpIHsgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1RoZW1lTWFjLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tYWMvVGhlbWVNYWMuaAppbmRleCA5YWUxZWQxMTk0YWM0YjAyZDQ3
ZWY3NzhhZTBjYzI1ODk0YmVhZDZiLi44M2RiOGE4NWI1OGJiMDhiOTNlOGZhNjExYzZhMGRlZTNk
MzNjODJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvVGhlbWVNYWMu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvVGhlbWVNYWMuaApAQCAtMjYsNyAr
MjYsNyBAQAogI2lmbmRlZiBUaGVtZU1hY19oCiAjZGVmaW5lIFRoZW1lTWFjX2gKIAotI2luY2x1
ZGUgIlRoZW1lLmgiCisjaW5jbHVkZSAiVGhlbWVDb2NvYS5oIgogCiBAaW50ZXJmYWNlIE5TRm9u
dChXZWJDb3JlVGhlbWUpCiAtIChOU1N0cmluZyopd2ViQ29yZUZhbWlseU5hbWU7CkBAIC0zNCw3
ICszNCw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgVGhlbWVNYWMgOiBwdWJs
aWMgVGhlbWUgeworY2xhc3MgVGhlbWVNYWMgOiBwdWJsaWMgVGhlbWVDb2NvYSB7CiAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgVGhlbWVNYWMoKSB7IH0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCBjNmYxZWFjODBmOGFkNTM2YmQ5NWI4MDVmMDM4ZmIzMzE2NTU1YTNlLi5kNjA0ZGE3ZWRjYTE2
YjA2NDE0MTgyZDU0ZTUwNWRkNGUxYmUwYTQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTUt
MDYtMTggIERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgorCisgICAgICAgIFByb3ZpZGUg
YSB3YXkgZm9yIHdlYiBkZXZlbG9wZXJzIHRvIGRyYXcgYSBUaGVtZS1zcGVjaWZpYyBXaXJlbGVz
cyBQbGF5YmFjayBpY29uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNDYxMjMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzIxMTE5Mjg3PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3QgdGhlIG5ldyAt
d2Via2l0LW5hbWVkLWltYWdlIENTUyBnZW5lcmF0b3IuIE9ubHkgIndpcmVsZXNzLXBsYXliYWNr
IgorICAgICAgICBpcyBzdXBwb3J0ZWQgZm9yIG5vdywgYW5kIGhhcyBwbGF0Zm9ybS1zcGVjaWZp
YyByZXN1bHRzIGZvciBDb2NvYS4KKworICAgICAgICAqIGZhc3QvY3NzL25hbWVkLWltYWdlcy1l
eHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzL25hbWVkLWltYWdlcy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9jc3MvbmFtZWQtaW1hZ2VzLWV4
cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL25hbWVk
LWltYWdlcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorCiAyMDE1LTA2LTEzICBDaHJpcyBGbGVpemFj
aCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CiAKICAgICAgICAgQVg6IFdlYktpdCBleHBvc2VzIGFs
bCBSdWJ5IFRleHQgYXMgVW5rbm93biAoSmFwYW5lc2UgRVBVQiBhY2Nlc3NpYmlsaXR5IGJsb2Nr
ZXIpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9uYW1lZC1pbWFnZXMtZXhwZWN0
ZWQucG5nIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvbmFtZWQtaW1hZ2VzLWV4cGVjdGVkLnBuZwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MzMxMTNiODdhMDEzZDQ4NzQ0Y2E0NjVlZmY2NjY5ZjJjZTRiZDQ4CkdJVCBi
aW5hcnkgcGF0Y2gKbGl0ZXJhbCA0MjkwOAp6Y21iNkJieEBWdmB2cntDLUFaPiFOJXNLK3EjTEJX
az91fGIwY2xWfEw2QV9vcktCNkFsfCFlTEcpT25eS0Z7T3gKeiZpQ2BxQDFOaHluVVBgU3pJUjt2
eTRKUFUrOXo2RlJTcH0yMzxDfWg0cUhLOWBVTTt1QWBLaUlmKnUrUV8pVWcpCnptQER7KSNaeU1s
KTYmLTMoIXM7YTM2NzdLK2VUUXhMUmkzRFNXd1Z7a0lTMFJMWGNOVFB7NXFtb0pUO0lpI3VFewp6
SlAtVTR5dkdaPD1XckZINngob2M1XnhJQWwzS3AtZHMqbT5rOSNMQ2FCMT5yKEI3PHUoWSQkOCkw
cURUQTZgJXoKemU8ODAySXAwcz8oWF9tPm1jPiRJeVp1NXU8fCtZME9kb1BER1R2aSM9e0olUkdT
LTtFYmdXQHYldGJTJWNqUHhxCnoyaVliaTRJaT5VZ291cVRZKiY8TWRoUGk1VXdlQ0xYTyZuTShP
QHgxQXBGbHE5U09sSlJ2b3BKMkE8JTVLa3dpfgp6WGo8XihVbV5ZOVBtSnM8JUF+d3A4PTMha2g2
S1hpdDBTYGl7Y3szbEdJKCFebjgqeW1XSHxKc3xNUklyPn5pP3UKemhzeCpKQkYoX0ZrbEVgPHxM
QHAzYUxfOU1LZj87bSEjNnx5WStJeXt8MzQyK2YoO2hzfEJlKj17UXVXckxzZXBRCno5PGtCPV9j
fkB3MWd7K14zI000OWo2eWU4JChMZnNtI0tLKiY1QnFmSGdFcihqbF5Td3peKFlfWXxTbHVTVF9B
Pgp6ak9odHI1TU0wRUc4RiFzLVYyJm5xZClVeFZ5IXlFa2RPY0xReDZUTXZUZSt9d0RUKUQmczYy
fHhoeHJaRlN5Q3MKekV3e0RTSSF2b3hzKChXOEIkN2x4TjJAfTczcjhqTXwye0BoJTUxNXtrSD5q
ST0hMX0zVWQhMihWVTdRcEotYlc+CnpwQj4jfHZyb0RkajxFRmcjVVpEMGxqbzFPbVFNKDFMUW0x
NDhaT3ZFKW0mb1BQb3d7Qzs5eGVLRVpYczxaPFlOZAp6RTIqJmlYVktHZnNXMlJRR0krYClUQipv
XiU4KXc7eVF3bUxHTU5HY1NyZXlaZHdQQW5OIVZLTkQzN0FOYCNXUTwKeiY9Iz4lNCUwVEhpc2ww
ZERZdTM2MigpQntOTHNCfHROaU9JTUN0eXRRMmN4U3lmYjwwdDJsO1pvN2xMRj8tciRUCnpVeyRu
alRte25xai12fjBlSXhneGBMT05YWmVfY1BiSVR2dVBCLXFaJX1mYEw/bnZ4KztgZV9OIWA1Q3p3
YW54fQp6RGZCfERWSSEjN2AjJHdJZitRPnV7Q3V+MT1NdDgwSHc5fn56UTY2K2tKanVeNzE/TEZT
UHA2YnJvKWdCWHUjdUYKekMxYz1aRjNlenR6YXNtWjJ0RH1rPTs2PilLNllINj9RWFEzaksxcn01
aD02RSFqK0tkTX08ZmJafW9zdmt3Z1diCnpAYWw4X1RnSlp1RDxPbCZKWlg2R2FEVVA2ZSozMz9z
NyhLPmQjfkg0cHp+eT1Qa31HeVlWOTtWVE5TTmleOGB9fQp6YnFHUE1ta2NnQUtLJmImdU9CaEBO
KiVfTEA+K0dnZjxNMGN7VjlxfkZOfFd8QG9SaD5ySElac2g9SUgqNkFaKTAKemIpald0dG12KjdJ
QCVkb0BsWEJAelIrN2QtfXxmSVV3alVpelU+RlRkSkteciQ4WHtSMyYyMyVmZ3tmb29idmJvCnoh
NHQ/IXRlOEdyciY5IyVSbSteWHIlR3NSJTU3bX1rJUdgKWVZRW5wPn5mRDs7cVFTV1JMSWVyMitq
XlQ1ZE0xZAp6WER2fVlqaiYldVV7KlRZZX1fZipkTWxySXg+PkomcG9PO1Y2X08pM2lxKU1md0Vy
RWlTTXVDY3steSFAe0tCaG0Kej0mY3I7eXJQcSpEQHskQ3ltcF59Kkc5bnQ3d291KjlrZUp9fDZz
MXBWUGlyfkpYSSFePT08TDZTTEBNXyFwR2dYCno7dFVsWVVxPU1xckpEeHA8M1A0QGRhUktOKXYq
a2JDZGM+KTJFc3NpPSZNX1FfP3VBRmA7Y21heDkreWA2Tmheagp6Tl9FTyhSTTA4b0xKPzYxcW5X
YXFnUlcxTCszUlBYbXpNRTZPYng3bWVgaGBYcDhJJjFjTUpgfT4/VT14SWtHViMKenhTVjNfSjxJ
NWZwWDt0YVBwMVdNTGxjU3hKNVRVaE1FfFlEaEJEMWkpS1g+cHkrTT1EQXFSRXZyVEo1N2xFdWRM
Cnp3QFR+YVE3UDtWM3BfZmNZMiYpNEw1I1NmTjNSdzxDc2IrenVpViluS1lnTmJEQSZzeW1LNGlr
T34yXlJieWNlTgp6eV8xKiUzLSYjT1lsIUxaPyh4dGtaQWZ0dnhyeUpNUDkjVTBee21DUFJVfjBA
RylmMzgyYzhUWk9DbEA+VTFUa3wKejUzIyRDQEp8bWtFQy1YUE8hN0w3PVNYZzU7RW5hWFBTJjVK
JWU4O1o2Z21UKjh5JWt6X1RSI01LJnRXSVk2WFhYCnpCUUtVQzI1Yk1ROCNmKUZVUkU5fjY1V3Qy
ekZ3MU92MllFSytpRE45Z15oYCk4QXI9ZSpNUGVAZzhuUkJuTXVKcgp6aThSPFMtKk9FNzdpMnNQ
Tmd6VTd7NyNUV1ZrJUFCTyl9QWwod0JZTDt4fig7PmVhakFCRiozRCkyNXNGN2ZiJmMKem95P0kk
Xmd6QWZGbTdVaWNDY2hldXolen5pYklNfjFFcFk8X2h0T3cwVlgqaCpvbUw2TihPYFpAd2NqUDMk
KkJlCnp3Yj5rOUwjNlZ+c2dOKFpHNl8xPF9EQnwpRCUoUXd7Z29sP1FQODJ7Vm5GTDtgMXVSKjVO
Iyp9UVh7QE9mcXgzKQp6ZStkfGsoZS16aGtMKnNNV0JjN1hrSnBZQ2l9cjZzWXs9ekdJQzRkcFZa
OV5pKyVxPUJoMTxNeFNWaWtaNTwoeXQKemp3PTNkdC1PJGEySlllPHpNdkhHUE1JdiNiI1FZOElh
Y3tTbSEkV2M5YUgoT3shND5LKklXd3MwYX1uazIrQilmCnppSWg2PERBY2llenV3QGdvOUJ5Tlkq
b3tIUmZKeDs0KlZwR1dFLSpubypSTCohbFQ9ODAjRHFtMmJZfmJpYUswKAp6R0FmY3VuRm5JUlY5
NEs9WkVoSWtrcmxPOV5mZFI1QDFPcllkKWYqIzxxWmQjMTxKYEx0XlJpMGp0aDt8IVcodkQKelZp
KFhzKD4tTmduXyhfTlFLOzhNPzYjclotck1Ybl9Men5fdnQkVzhrY15PaW4zTWY/NGthOEJqdV5m
PytMPGg2CnpRaFJwd2RBO3I9UkEzSzg1MEMkO3R6P3UwKF5rRTQ7blBqcFAoQGdoX0BiWShQeTA2
PkRleT9kZ0lpanpIWnUofQp6dSZBRkk7ZlU7VW1BOEJ1XzhqSyFBRSt8I3VHTnk1P3xjPUNCJWhO
NlM3PTdhVn4rTHJtMEo5dmQ8QXpNO2djWHcKelF3YCF6cSYhaXtVPzQkZWkyeykpRTxjdG5yc0M2
VmVvZVByWWQ2dFZnSXJLKDlAfk5PVUxKdncxYEdmXz1kMHBoCnpKVGJyPGBXZCZpdmdKNXRUYlEq
aGVrNDtjLURrOzw+NGI4JGB9OW8pJlkwZU5qKFZHczQwVm1DQzVRNzNGMUY5dwp6dUBzenM+Mmo8
bzxmSUA4QSh5Nns+ST9vaUJBVT9CaVlDUVU/VXtgaD9OU3tCem1wWDc+fXQ+WHFEKVM7e2ReOUYK
ekJ6fn1IUngwbHx7O085WEBhMiFFP2lQS1BRJGdeKXVKP1ZveUdSI1lAfDZuRUBVYWIqODNuVVBA
cHg9P3U8JExICnplPUppXzRkUWJea3VrPDVNUFRUZytBbDtmZkN3SjktaVpNUGl9TyFPWE1OcSNk
YSo9NE1eSlhyY3lySl5SRFRrUgp6bDg1Y0g9JXM2R21ARjk7dHNeLXNqWD9NdVkoSnJleWc+Tmh6
eHFqc2NUcy1odm1DPygodGN+OypgI2kwMl5KK3AKej4pX2soPjwtYjV4NHleVW5UOU1BI2ZYWldD
a2otb1hLU28kei1GT3RvKyFwU1V7PTxVJFJZVUFmO2VvXjMta1o0CnozVndMeDNvNFM3Mno5MSZR
P1hJLSlyUiViUGxHZUMjKWAjO2Z8cVU+bHNyfUQwRktTYihfOWl1RGdLUks1U2xwKAp6RHtWSWlt
P0t4YXJWaj1IZC1SVjdab0pMYUVMMyUwamJANTBEZVpueml3ODAkMjVrcTYtdjRJYEZYelZrc1k5
TlkKejgjZHIqPHAkcWYqTyt5TmpSJUhDdGFJVUc5eVdYTHZxcVhEKipBREB7flhBdzZza3dsM1g1
aClMUFZmfHt+bjU4CnpneiRJJlFiYS12S0x0Wi0oWmYtM0Q7aF5wJCpeJkM8KjApXlpFdzZ0Qjhh
LU03fVZpR21NVnMkdVI7SXMjTXZXMgp6YUhuNT4zaTIrVjk0LXNhc144YHNSRikpQ01pOGIwTGxv
dmcoZiUqWU1lKksxX0Z3a0s1WjNKMSZ0c2hUOWJwMjkKeihMOV9qSHFaSE9aIVAze281Xm12Qkox
e3x7byV8Qik5MztRVmhuMCtlYFdTKDtZfGBiYCg/a0FwaDk7PVZvMjE8CnpSc0hZWHZQanVNPWQm
SDdzMks+OyY4WllDPSh9WktNPT4xZkFodT9gNSh0eTNBcGhDN0JnX1E8NFJtPz1tMG5efgp6dGYj
cT47VjgkWXJneUFkWUsjb29aaGZTPW5RVzJPQn1oMXFpMEgyWW8/KGM/b0FgZ1I5UmoqPzdLRVNj
WmQ/akMKejZgVWBtJkVuVFJsLUBJdj1nVDF2OVI7dGVGJl44e3A9K1Q1Yyl7OX08Y1JYJExXWHRS
VVklXjVqRVVveFVDJnIxCnpWaz1qRT9nNmh3N0M8ZlFoem10M2AyZWN3cSs/S2gqNTRRO0FiOEpY
dCFSZHg9fnhxdU1aIWVgaFE9N19CezRxNQp6V3N9K3k/bkRkRTJfVT8kaEI/TEc3Ykx3UjNheUlU
SG9hWFh1OT8mXnZgZmBTfDFqNiEwKXY/N2p1P2dKJGdBY1MKemdmS2plNWpYdGdLUm0zMSlKMFcq
RTQtZG1SeDt9SkUkSFNQOF9IZmJMQnU+UE87N3t9cDBEKV5lLWBRUVZsZzkhCnpmKW83eD1OQmMh
KHF+JmE7UnE5Syt9dmQmVys+aHUzZCYob3BmbUohQCRYSX5DM1MjOGdgaE8hXzt1dVN6e05xUgp6
QTFnUWgjQXclWmw0ZFNIUH1fdGJmc3VTSG1zfFkxdFUwZmRtVnohOEpMWjE5XmAxfT4jMihnK2p5
N35AdD1udGIKenRxNGBZdj9QV05pUC19VERkaWh7QHc1TEhIQVo1X0BSbXg8S1NpPGI/S0p0K0lo
UXgxM21oUTs1YV5Cc2c/a1hNCnpvZ1Z5cldtelB3P2w7O3pgeWBsI0hxVUQ8WkVSeD14YzJxNTdS
c0shbVJRKjN7eWRZaFVlJDFFLTBXVGMtT3ZmdQp6K3pIb0cqUXNTQFhAP0g0NmNJc01lO0hhTSg1
KXRaWFFpWGo7T3ZLc3pfPjV7KntUMCpjUkd7JlkwJX1ic04+bX0KenBUMX1DSjFDRkZsTUFNJHVe
VEReJTwmblYoNFJTeTtia2dESXZjLTc2MERJcTxwekh5JSMhRTdJOVF5ME4xKSZACnp3ekVaWWp6
X3RmcGlgTE9Kfkh2bTxGfnxRX1k1KXlaISomME0rd1JeSUleb1ZWUHx7cG98cVU2c3dXYGJHSjU8
VAp6Ty0rMXVFdVojT3BLZDZmR283PmpfQz8jKENpeFpVUSZmVmdCITNiYUkrfFpJRk1IMkJTcj13
YHpYaG1EPTRqSWIKejI3amxANFQtZjZpJjdiQFdlRF99dnApcjI3c3BZRjhUN0BJR2ZmbiNyRi1w
OCZBITctc0FrNU9ueip+VU5iZHxzCno5UmczJE8pOHdEZHBrb0g/TzVrRitTSUR4bUBGLUA+dXMl
bDUwRT5qdVlSQGZBQiV+MUtTN1JoVHE8bjhUKmQ3Qwp6NGVFfTdzbHwjNmlpel98bzczR1BKbSo2
REEwOSticGAlIzxwTzhIY3w4KDkzX0VZLXM5c1k4ZnVqZS1uKXx4a1gKeiVgbHlrdW1eREgkaXRg
TFkxRi1OKGFGQlcpekY3e1NubD1PeHIrYXRFRWBZZVNEPkVec2pvVWQmT3tvRmttJlc0Cno3X1d2
RU4jeldfQDMmNzRZTUJZaVZZdjRDYmxXbCpsKl82R3ItR0ZBejclTzkqWDdfRnIqRyRUNGpVZ3tX
KyE4bAp6My1xaVNTREp7QzNjMlBPZEN5d2NPcSZHc3ZnUS1LeyU0d3VSWVJLT3xOTjlxYT04dWlD
QmdAPmZjbGtrJmRzKHAKemE/WXItYmplX015V1RaKDYzK0FeOVdzfVZLZHQ+IzBjWm04ck8+NEhq
R3hJdHBqY1RxRVA5e3hNIzs8XndxOWhyCnpgMTNQPm8+NnBzaz5tMDt5VXVqQTQxYmpzSWF7b1J6
S19Kd2A1dEk4KCZlYzlxKW1LKEF6JUg5cVVOYm55fUxmIQp6N0AkdX5uTlNyYE5yM0RXOE1SQyp4
TGR9cyNUSUwpOEBXZnZrQDIlP0ZCTmB0a0FZI19PfDViKk9wZnJiKWowJGUKekJ8MVlDK2Q7KSVo
SSlDck9oSXspRkFffE1uZFNQX2FUMzN8JXwwVXEyPFRDSnMrej9ycUE2NmNQfG1ffGVTKipgCnpu
eUQ1QD1Dej1+bkckUnpCVWxPWi01bWJWclZfT01DNEMpMGg2QCRCdW1wQWxPZngkNF4oMldzZXdy
X2lMb3RNRwp6PnVIQTAkP1hxIWhvTFMrS2QxMDFLWjBhR2I8NXs0cjkzTTlvOHNHNlVoSFNrUDF4
ekMmTDFDKlNxJnU3aEF3YkIKelZMJFk2QDg+R0tkdHpnI1EpJUwpYG41d1VkYnZQKll1dD0lU18p
VDswVEJnamZFfCVsN0opJXM5IV51aUI9Qz1uCnotJWZHaUBRPHhqSGVEaXtMMzFwS3RZdSN1eDQx
ZzRPQndmRSZ8WT1GVnRlbyVMTHRkVW05VUk5SSVqXl5eT0A2cAp6bnBzNSFPaVI0SnN1eDA0bG5n
NlIpTzlHNnRjVEoqeEQwXihGdTRNNCtAY2Y5ajw3ZFo/YGJ+QkZXUWtmbD1jWnwKenVOUTQmTzNZ
QUZAMjx1fChnMG89e0ElU1hHJUI9KU1hcE5KSDJkZGhffCRgO3BrRUJNMlIzcnVgO21BP2lOYyND
CnpxfFg4eVpfZ0AydXZzSlJLLU9iP0A9NnVPV05fc3wpViVCVV8/YW9BaiY3LWM/UklyUDZ8Y0Ju
clQxMkRSS15BVwp6TGkpSXtjQGc2ZyohayZmVXk5VkBrWDZ1ZTRuS19QZ0A+aXZZXmtUd3oyQCNQ
VV92MSVRYmUjWDVfTVA0cCZNZXIKelNKeTAkQlhAND5STDg4VkdKQlJ6eUBmKVY+JWF7IyYoPEpv
QzIhPThtN2x3QT49YHljSGkhNFNQb1FDeDh0RlpNCnpPNzR8K1Yyez5SZWBKdj9KeWp+JipVT2FE
TCFAQX09MEtyI1RzTGpQbn1VY2cjU1Y5SXlQd0NOZE07YEIhPXw+Pwp6PT1vYSpNWShnX2tWfm5Z
dGkkJClgP29uUz0oaSZjUFMoY3ZLXnxzez1HYytSa2l4dzxNOE42PmZ6ZFQrMjA+cXMKem1uaDRZ
PF9eSm4kRH0zenJFQlAqdURVQHI5YHBjUlo3a3YybmRpRlJHZ2FvdXd7OU1+XmIoTzdYPSNuY1Rl
WmM+CnpnaWBHQ29KRlcheD5Ebkg1eVlfIUg2fE99OU0ze3chQW92eDhLa2hXKXFPZD9kfmRAbklF
VVA+eG4taDQlPns/YQp6XzEjMD5VMWZYVnk3aGZjMStwaG4zfXVRZ3ptJj15ZG40NSgxUzl8UGJz
UHpJbyY8MyRaZCloVSkyJGkwR0F2TU4Kem1lQUpnNXlQVGgpUSEofXNDM18zczxfQTFxP0YxXlZN
bWpKUiliR21OWS1mWE95WXUlWVA2ZjxKJWl2QSVHcVJrCnpJaWUlbzJ8VFIyRG44fTlmJGduRWV5
NiRHb00mNj0rbWlpNiFCfXF4dTJhOFhgWGM/NENxJGpqSzBfKEk1TUF0KQp6X3p+aWhROCFHYylu
anxISD1abzJRLXUlWENnNFphektITDZnKzViTUVicUAxYDtxTkN7fT1qTGVBQE1zbzBkTykKejxU
Nmd4MjJvWjsrWn1EIU1SbDJkVEBqZUVCQF54VVhQbC0lOW9ZWX4kUS1SXj1FPXZMQXktTyVDbkpL
QmhhNHZBCno0PHpkeWhgNC1Xbkh7fVpKRmYyIWkwKkVhT0t9b0FSTXI4fksoMFY4Ukx4PXFAUlQ+
YGVnQX5TYTRRRV95M2tPbwp6dntydntBN2ArWlNock90ZF9lQlpedEBUO1UxPz5UZU4kRE8hNigm
d1ZVSkR1IT09e1Z3cFZyTC1JMUh3OU9lfW0KelVWfiF9Kjw2TjUrZ1p7QU1NZWNPfDMqXjIwfnRx
WFojNGt0YFArTmwhTUpHWWFjUEpia0lRSmdVeEdHSjs2ZW87CnpmV1J1YmFsaksqWHNeSil2PnVh
ZlAhJWZUIUZKa15zU3hMUCkpZ3dgTEkoUkQwYlBeWnc/PitmOGRzdmNmKjtvdwp6Y1ZpKjxtUTlm
Smt0Rng3P0BYVEBEO0NqTmk3THt5YHtpJCVGaiRxQ3VvRm1FIzNuZW1kQCZ9ZkJUVFIybV9pb18K
ei1iflFIaD54WihVPHwqaV5IbUNrPE9NXjtkRFp9SiNIO24ySG5vbX5CJSg5KGUpO2FlciUlVndp
Qk8rPEVBZEN6CnopOEFOMylpVXFQKz9CUiV6eHZ+R0UmMT1WdnhffFdldE54SU4hOz98SEFnQiVt
bUB5KG9Te1o/Z05HZ1JaKiZASwp6aE0/RWtQT0lNPmxVJWsrNzRuSWJhSTQyUWpqKklZVnA4UXhM
MWhoKmQ3Jno0WUBnY19EdHJ9MTtyPUVVZj9ac1gKentqbWRVdVkoSmg3UGtBUEVmTDUoVEFiQX1r
Jj1GV1NrVF5KTjtjaFZuRip6UjZgfj95bDFPQXEhYEc+dW8mKkVyCnpwP1lHYFd4LWczP196Ulc1
fEhsb182Nn5HTnBLNzhkMFZzfmwpKSZeVW17JT5Zb3JjYj1jKikpJkBvaVlCJGJoVQp6VzNoZTdQ
NWdNdHQpQ000T3NZXjNUZTJSXyFHbUQ3c14kWSN5YWEoRUx2bm48bWs/KVZWaCNGdzxhVih3cUtr
WjQKempkK0tPWisrX1liMjE7JmM5dFA4RiVHcj9DSj9NPnlTQTVkM0x8UntHQk43RmQjWGhGJmxj
SSZMWHpnK0dBaE17CnohRXNWOSMqVmhgU3RLXl5SeTQ9dGt5bWdCdj5zUztWUFBoaih9MTI5Wj98
TjB3Y2l5YDN3fDhXeSZ2QFVmQlV7bQp6Pm9zYElNUEpHeUEyfi1VYzJyPDd7aXQ4aEVNQjAxUXIm
eERnJFoqXl5UNG14S0wyeSRXS1d0JFZ1d1ZiOyN0aGIKek9INHslMXVMKD9tc0NMckZhKUF3RHN9
aSN1UTdJNiRXIzdXVj9xWSYqNHczZFVxREt3QFRgST5zQGhrdHVqQEVsCnpFWn5XYTg4P3o8Nn0k
RjdEZFQ+WHhFOysoSX1WP05le3hoXl45PHB2WVJ+KlpYUUZ5VSlvclI/VmAzYl4zJGVRQAp6JDE9
OHgyYXBKVVZEUWBnYF8kZHh4WCh4fjUkbCV1VG8oI2QkVVM9VXA8Skg9an1gSSg0bz4jZSZEe0de
OyFSKzkKemBNcVMoaVBFWFd1JVJNJXNfJTEyZ1F8ST4rblJad2JJNnVYYm10Zm0jN1R2JlJQKSkl
KSsyY2ZrbTtfO0FSYypBCnpBdmdPQ2cqPU5HbnI2UU9eSFhwYU15R25reVA+KDVvR28xRW9ATyZZ
dWd3Z0lOWVltfjZrcio3PmhBNDt7bnM7Vwp6UjF8I19BJUZCO0I+ZzdlcHRUMnxESUJDRnp1I0ZJ
NHhMSS1mVClPfDMhXnxwKkNHcW0pQWg7X043K05uNzRlTFQKemBWcV83Q00wO2A7S21LdSZee3lq
UldIandGO2ElX19BLUM5IU0mVTVRYWpnZXpmTjY/RVQld2NFTT1kJih2WUx2Cno3KU5mPndtQUE0
cD0kVlVVPyppdl4hbEc8U0pvQztDO1ZySFAjfXNMNSlsT0dMPm9+K01EfkZuPkBoMm89PEJLJAp6
SkN4e3Ntb1YxdyhoYDBvbH5IPnkmZzV6PzxqfDlRLSZ1KHZjeX1UYkd0XkBpTlplaG5DQXg3KDQ0
Ti1tam57U1oKeik4d0xrJGJGOTkoPEhMSkBaUXQ2UXw4bWJiR2ZJUnN3YlZzYV8hODFUKzc0PEd+
diNDSSVJUG4oKm44fT5XfCpgCnprfjIwaylfZTh9NjglVkpnPCtSbU9pI0FSZkhqTVQ9Xj4mZjJ0
KUVAZEhCXlM4YU5SSWBlT1VgOS1UaGBiLWNINwp6PjZDbFZPdWVCcDswdGh0Ozt+SjhKITd4JVQk
T3FGQUNQWiZ8NzJeSztoZ3Rren5HVm9Na21XciMmPnI8dG4pWVMKenR0Y0JLPyhIbGFEIWw0eUFo
O3AqWGwmdXozYHYzclVYdX5WWiohS0F6SnRUWTxlRWk3MVNKPU0hTnQ/VlckfnZECnotK3Z+R28k
TDk1WkkqRlRDb0Rtbmk+bldwVDxSTUJ6JCs4SzExKn1ZdX5yZlclJFVQeVl8d2I2c2tsYV87LW5W
bAp6Vmgla2JkWGpgRkxaYXlMbzkmKEpjV1RkfndJJH4zb24qWDNrdk1jdnZCPy0qQGVRXm1SaXNr
aXNYYFBzTjMrPVMKejxyMFl8bGl5NVFhWWJkaSZFeWIteG1PWCkjRFZTdndWKz1tQE02KHQxOVpT
S1kkaTBRSmA7QHZVKHc5NXg9M3R0Cno5fU97dGlzQ1VWcGh9OzB0d1N9ezJydW4kRzN8cDNuRlpA
PikpR1ZfdD1hd2owWWZte0RnXzh2c3VJak85MkIkVQp6TE4zY2J0U0U/bWImdnV6N2NfPDZnT2ot
VmcpYDs4b2hWPV5rQzxGSFFnc0tuM3FOdHBUcmtecmdjR2JVMk9OcmgKelVCbE9JQlJJfmQ0e0xv
PVd0dzdlTkMkP054YlU8cDNjSTZiQSQkJndyd1V6dmtOUFc2TT47WFpIK0Y9bzR2TTBzCnpCQyhR
anBJeT9GPS1KKl5ySShwd053SnhzNUhNPlpGbUFzeDNmUW1YM0JKOGx4QU1KLTU0ODgkOCpsT1pv
XnlfZwp6JnVee1owRUtnRUs0e3VLJlRBQDt4PE0maCgwdVkhWjZ0KFcmYGJIbnoqNH5CS0F6OStt
aSMoOFNZbWtpbU0hJWcKeigmI3pGZD5SIWQxZWc4bCstMX1JVzh6PXJoQV9VbVl2RDZ+ejY2QnhW
KyU8KVFJKjF5JCNjSyQ5YiNme19Qe15BCnojS0MjaHREUDhHZzhYJUNYQE48MnZlUTRSSEpYYzJ0
eiRuRCl4I0hMeXJ1bDZqRkJZNGh7eD1ZaVg+SGQkd1dsdAp6ZjRXNkdJSGFZMnxGeFRBWnx2RGsq
JVZIZEZEQStwS2xHVzFCYFZOezVaQEdeU0QmVDEwT0ZLYWp0Z3F4LVZmIzIKejU3VXh1ejtVTGBQ
dzghOFA+KTklZVJrdWhhWUg1VDQzVlhvZGA2bGxmWChOX2w0djltZiQ0ZCRGaVVhUGhxTDhZCnpr
a3xSN082NDJNbygxKmU2eW1hK14jTUQ8MT1zSyp2Mzl6bFo0NUtkTHFMfjlNPURZfDlaVUY0NDB3
X3hfekEhJAp6KkIzbS0yc2htNWxJbzZ5PTxHWWM2PW01WW9AQHg/Py1JZGFjeFR7dDRqaHIkK2pL
TTIybHk9TD5jYz9FdVh3ZlAKendqaiFya051IzU5QmdtdiolayV4ZT5nWVhQKT8zYzRLUXlNTkV9
VURiUSVHOCFtRk9EUCNnY2ViTiNuTm9iNShqCnpYS3krKTtSPyp9bUxLanVgTCE/R1dJREMqQktM
RiZSQX5yRFItRzVqIXV4P0pTX2wwNTBMOD82WmNGS1gpT1FBQQp6PTlFY1hrO049c1ZlJkxEa3ol
ZSpIPmUqanFwb24tLUByJUtQZ2VZQHJWMCFuV1M1eChxNlhXYk5aUlg+S1J4MXAKelJvfHN0SXAx
U1dFUzcmZ3s9YFhncmsqWG5wczxPY3M7djhfRFlDbWYrXnwwXmhDfnY5IUhsM0k5MTYlX3ZKV1Qp
CnpWaXdtN3ZVI01aWHZ+N21kRU5vKElGeWhyXmNuWH5TLVdTYWIxfGMqYyZkdEYma1pQKDYyPFJs
SlB+cVFsOTlGMwp6NGQlWTJufitfWDxyKFZoMGlHej1TIWBHaVZNOHtAbUo7dTImdmlIVEo+S0FO
QW1TdF5QPk11dXZaWjRNOURGTlcKejJzfDBkLTNlMmZ2OFdxPXskZ04tJH02VTM5Q3cyNnNINFhB
MmM0PFA1JF5VJUk0KTYoXi1wWVA0cmZaUUFAZ1NoCnpNTmJlJldjcnt2TWVxKVhGa2Ijd3hRM1J5
TVM/R3pVfnxwR3tmISheV1Z6V19jTU5sdiF8OzNKdEA9azNlcWZabwp6PSFRelVoU3twbWhMd2Y+
XmdNelFtNV5EKWxjeSN2TFI/flQ8fmR4QzZtc0l3QUQxS1lTb0VPancqfnNxdT0rOzQKekFSal5B
V2E7bCZ6Q1VqVzxId1ZQY2tDI0ZjOFhESlBpeX1NVHE+S2Q+bEZZPFFrZ2pkUGtFUFolJD5pZng7
e0t8CnotN1Y1WUlSV3Y2LXd7cklQLXVVI0ZGJkdfbkdpRDwmfkljI3NnVSUrMG5OLTlpNllzSSVz
dklxdSt6cCl2e3RUSQp6UCtfU2ApdClUMmNURF50KDFUQV5jUHl0KU5UWXlZKXB7MTQ9XzhIKEdS
dEMjKmh2SThuJnA7MEdyZDklMEB+dioKemgrKSlSd35uYUQhemFfRUVOSENzVnxHM1paYyhyT24m
SSs0M3BSaG9UNSE8ZWBvaFkqQH5MMWhZc3BCU3c3JE9JCnoxZ0dUI3B3U21AcXNScm1VfnE4bSF5
aEQmNHJhblItajlrTDRtP3M1cjNMSkU7V2pvNylpMmpMcTBiUzwjMllGIQp6Qkt6RGIkUTJndCpF
Xjsxc2IoMVgxentHeWdyI144OG1CRTt8MihfZGRzSXZfZ0hfS3FySWp4fj14NjBUUyZ9Tn0Kej09
Mnooc2QzSzxSZGcxOChMOWM2Oz1DUTFEOzE/VWo+JWVQMmVjaGJ1aD5VKj0yZj5xb3R6IyQ5N1Jq
LUdAbHNuCnpCNTR8MDdlPzJAZjxMMW41aWFWSmQjbUFjal84OVI7fWBPOXZyTTA9cFlVT2x7NlFW
WmpGM15mRX4zP3ViMmZAUAp6Y3FaNGYoeGkyZEYyUztuV1pgSElVNip+M2tJSHVpVVFXME8pN3F0
Snk4IXUqeTwxYzYwellLMXshYEk1NzdsNU8KenJkPWx9aiF3I1NyR3wyM1M1V3loSCRiekk0dF49
a1VHUlo4I3QxWnU0fWBaUWcqcG5xaEJhWGhGWWBTPHhxYTwoCnpRQzRaRkNHSzgoajg9NUA1Tll0
fWd7eEVaUnI4cDZIeV5CMylZWFo8TTVeYUphTmVARkclZGUqLUsqKyNqPlheUAp6akk8cmpjbExI
bntVI1E5JDEmOXxDPXN3MFh+S1pRQkdraEB7ZWorOEtoNl5DQ3JgdFBseX1BdUpPJFpGbHdgTlgK
enkyVVM5PzhaTHBXOHpmaW5McmZtMmI/ZlI2MCk4UXhgdlpFPWUqSytlJlJGdHQtX145R0IofGMr
U217TVRZKkpsCnombmYmZ3ZnZnxgc3hLKUhpd1pTXzsxdkBza25kb3Aob158KUZac1BoZD87SSNZ
ISV+eVIoKyF2X2JqVzBMdmZRTAp6bX5IZnVPfSt1N3ZKKFl9OU5BWD9HWWFvb1EqIWhFQnBGZz53
bFVnaF9PfUJEJTB5NH4lJE4oWWxaOHJFT2J8YHMKel5zRy1yc05pUjtoUyhlOHRSQnRheGhxSik9
NzBWUTVlTG1ObGs3Kl8wQG0lQU0qZzRCanB5Uks7U1ZmSVgtfk8jCnooUld8YnlxaU40SXR7N1Q3
SEZHbmxDbEtpWVZ0Z3tgfXpQRzxeRzAjemdnajxxKSh3cHRubV8/bnBHPmhoR0trMAp6JVpWWUU2
UUF6MjIlVntaamolV2g1dG50OFkyXlo5SFl8fmxFQVNhbWomXkd8JHRTRiE8UnV2JTZsVjYmKTlu
ZjUKej1FNTd+Sng1JGxKIWQmWU9rJDNkbzVTe1kyYHNQcS1fQGxGRjtlWGFAVXJXWGEwT0ltc3ZA
R1NvI2FNdT9IRk5tCnojazd1OGFUdmdVT34pM3QmOFNnT1ZjdFgtSmhZUXJLOUhmSz1HRkw4NDR7
KV9HQXdmMDUzRy1pazVZSn17Ty1hOAp6PnpMcyQwP0xyRjRPXlUycXJFNXI4KDlSanFgbng4eVR+
WC1xMzF1Y29abkNgUng5TD1sRjA+Wno/anNSb1UjMjMKej5VS3l4aHAlM0xPWWhBSDJoXmYybmVP
dHIqK2ctVWEwd29rPCkpI3BCS25iIzErSEhFWU90P29nSmtQPlplI1Y1CnpBNVdXJGVza1pgYnts
X2ImUjw8Uk05aVd0TCQ1K0BhNmFkd2BXKiNGI0E3Sz0mRnxIeiVkKkdvd3deNDlAc1YkWgp6NSRU
emJFWEJgVGdoQT1xcVZVYF9JM3JXSnYlSkAwJnNHRjdYJD12PVFMdVNAanVLdkFJLSh+VV9+RHg0
ez9KJmcKejBQTnVZVztTY25leEZVN1VpKUt5M2c0QmB5YUZIbCprWEteJmFnfTdQfDc2YytWPjRS
WGcjRHFISWl6M3htcHIkCnpnRm5HKzVZMShaLTswUXhaalJ4WXhGKWJROURpfDRzMVpwJDQ4RDZL
QzNpOVJfJCtOdTloWHpLIUZkc0A3SWs4MQp6cTBgQzNyXiZ0MjdEaFU1WUhANyVFVUxUUVFScVdh
akJ6TSlHfDQ2aUN7b3dnZHFCNmEhPGFuREI1cUgkVmJvelIKemM7aHd4TVR1QlNJRmsjeTNMVXFZ
RVBEVSM5K0JzcVhScDdBUDNAbWg0R1l+RnpqM2VPe2hHamlNJVhTSHhyJXByCnpKajV3aF97cmU+
PXZwVmNtVmhPU1hBUS04d2xMZURee0J9S1gjVGstUHdhfEFBTHMlNzx6P3BRdHZZeTs3eTJNYAp6
cDJMZWdseEBtPkp6YXRPNWJqd0IkOUN9dFdsQyE5JSFAaWFPQkp2KnNgfHJISy1SK0JKQHxaTT0/
ajEqVm8yY28KemBHPCU1PCVjMjYqdH43LWZiJV5HanVsTEFofnpZcGk4Yj1+NTx6YnElSWJQNEN6
SzhDSTJWZStoTEF2QmUrRHpMCnpIdiMxWDlpZk9+P21EdHNOJGd6KUAxK0lHX0wjU1FAemhPaERG
aG4hbWdeakpyQ05XKXp4WVVoPXJKYnQ1ezdRUgp6SXpxUkQoY0k5OHwxaU1MQ3VebTd3JlQtI2xW
IzQ8KC0tKlB0NjFAMTt2VzR4ZFZNQE9YajdZTmwrcm57byEqaDUKemtLMmRNRFk0YyotOEVSVUU2
bD8zKyp6UXRNX3RjIVkyeXd2YW8wUTNVdmBiamVlXl52bl9gWnJZVTJNU0NaNFJZCnpGVHQ7TmVB
Y01Ca1k3ZW9kTE5DYz1kIUBtc1VwO3hqO1YtaCUqVSM8X3lMfHA1JCpocG9ucV8yanglbXY5ekM9
Sgp6PWsqY2opcF9eZHBqeDRSWlI2M2o/TVBKdFJyQShRSHVab1pxaSlrYl94fHB0VXgoXnU+LU0r
IUxvJHFOYlRpSkEKemZKUWYhM081JEFNcGt6aWxuRzdmYlBaYmpiQWBoRUluWnpxKkMpRjZUSnVk
a3l5RHZRPVhvRFhrKX0/LTR4PChyCnpNZyNsQVJ+KkZsPlREb0tldE8oRXNYXyl0aSFWdz52LXxs
dVQxTnhPMShTbjwwNGpGYD5Pfj5eRTdJYG56Y1MtMwp6JFotV2lHN19WJVhORz8hXi1MUj1jVzQo
MiF2VE8jP3gwNSNRaGMjZzRudUBxSj1TalNmWUUqOUZTNSVfPUhXNikKej9rV2VrTG4qamUkSGpv
Vm0weGh2Kyo5Nkw5T3FjfSRyKzxHeDwrbWhNR2M/eFdZO1A1SEdINUVaM3pnMm1xO1FxCnptYjg4
O05CIWRXKz18fHREJCNIaXpxc1RXNG9iYG5YTjFPYlZZPC1Id3pvdTtPUWZucUFyPW5IUG1KY2hu
cG96Rwp6MUFeTTxUPCFGTz1jaVJUQCs3PmEmd300Y15iKStgZVZsSio4fnY/dFR3P1RJVj0yM0t1
KChIZ3IqcFdvWVpVcFAKelRxQHt7X083PUw/bWc0TmwhfSpmWkhlZDVIZD05bHRZcHdwZXhtdVlC
OTNgSW50Y0dsWT52Q3YjRjBwM3JlYnB8CnpIfT48XjVoeSNJYCFpKUY0TjN+UnRucG12TUc4YXg4
QDV1U0g0Jmtpe1NffilebDg1akhBSiZWZ2Z1eCtIUH5nYgp6TT5YLUw2cGo+M0lXM0t9Rj87O2VN
dnJFdyZKZW9QXlM1JEs3SnpDSngqPGA+SjFSdDlefDQ1XllBPlFWb2lYPX0KempXZl8yZjZQKnUq
MUl5X2I2I04zZ2NCcjtWbXh7VW5rWGI1YShJbmhXQ340TkRERDcwKkRhY3d6JDYqMFZYKThWCnpV
KjVGNSN3U1ZSRE1FI0sqZnpQWF8yS1lDI25DNGlmMGJ5TFF2NlgrUlZOYmQ/TGRxWCk5WVRsdj45
TjZfd14zWAp6UkFlKEYtWGI+ZnJKY1pNK3FqajBIc04oQFZYO1l8Wm9QMWx5eDZibE1kbmNUU35A
a2p5MnwyIVVyQF9XeFI8TVEKellhKXdFQykhbE5ybyMzVHQmTERvU3B3UiZiYV82eUYwJjFlQCpt
T2xCcUBZMVViM3F8TnR6d3M5eUF8RE5DbEZCCno3Rl81c2d2USlNY3loRnZARCpxOXF3JVdfZ1FP
aDFKfSFCSWF6ME9qUGt4KUV7b3ohRCFQbmJgKjEkV0YhWiVmdAp6Z093OER6YkNuJDtYSVleKGNM
aWdyX21SUUQmKkVwQlUxXiZEJFYyJCpka2NpQXh3YHMzdWNUWEwkb3pKcGFhYkMKekg+NnhDWD5j
YT4oZnx4bGVBKGtXS0hyPHdKWCluP3pDSFEkZlRidWZwYExJWXcoJFhYZn1AJlBlTFBrfnRySU8t
Cno/KmRLaVpwdFFTalk9U2hZJSpkb2Q+b31WNntmUkYqaWhtKkp8JXY8Sz5oPUhMcSRYZEoyNH0z
Kkw+OVhlWVZ9Uwp6NkRPelI3fWlEIUdgclFSLTw5Wjw4MVhfcjkjQT8kTXB7S3R1dDtjSmZjTVNu
anN7VWJDOSE0P0tBJkBJb3gqPUIKel91UTgxX25US19LaUZOZFVQWC1QKiYzRHxIODA8KDBePH5v
b1JfTigrK3FuVzs5Z3soVTlLU1I3ZFFpN1JvSVZ3CnpjZFM4fihpV2dnWjVtSy08anFzU2NlbDFz
Z3U3UmcrbnBIQ2trcFNsYlJnRTxfLXN1UEk/ekZKZWpuS08zITZhdgp6JUdKOFUjbjFiQFkjUWBZ
YDZHdCp3cjFwWCVPUFc7QyZPVlhwNT1WSTxlOHIlVGkrdj1SXmVvN1E/KURQU2ZLWk8KekFTeTY+
OWJAZU5vaVdzZE1KfERZKUlnU3FiT2xBQD8jUktqVFU0ZFk0ayh6XkhBTmclJHtVbkx2YmJEY0Fz
c09DCnp5c0kqPHNPR0U5MnV9KVhJKVdIYD5tKWRMZiYmMHB4YWlwUjhaTigpQ09nTktHK3xyMVRQ
KUZMbFg1Y0lERDstOwp6M3p1OS1rYHsyek80NktvUDlnQnhhUjJKJEh4bW1fVEc/QGVIckZ5KVEh
MCQ1cXxtUl4kbSZMNnJyKmtNaUIzZ08KeiU3ZWg5ISFfV0w7O0VtcGh6K2ElbF84YjYxakAzc1NJ
VHB9KjRKI2RZRHhRTXlHNjk0e01NOEIrVUc3SUgtQCRXCnpEZ0JVQS0oe0QmP2ViaHZqO1dOMFI9
JVNVTHFQXzhNMmt3cTBNRDd9YFlpV0JtaDJualMhPnJhKjtmdnA3aGpwcQp6cFRgajcmQ3d+JjRs
NXlpcH5LclBtaXlpQjNTdHhXOSZJd1NFVSV1Rm9WS3soT0I8d0VhTmkoeXtpb0o3a1p3KlUKelFS
RHMqNlRvXjEpJEN4VzwkNzEoTEpqd285ZHgzUF9vPTFuTXlQJjIoLUZ4Y19neUtmaHJ7XzdVT3Ji
WFhMT3g4CnpQSChAcGUhRUtXZVUlbSglcjRwUjBzIWtiXnJoWXJLREcwczlsSXB0QSEkay0xKWhW
PUFGNE9mMz91OUREZSo7WAp6Z0Z6PFdfJGk4YjBwVFJTPmd9QTtLcGMhQSZsfks1ZkJvcXxyek9M
X3Y+ZUNlZDllbnI8KTc4d0lpNyp7STtjcTIKej81MXJDNV5+YnRtVUBlSSMlRERkTzJRTTA+Yz9O
Q2UyfnhTTEVefl92dEk2Jnl6fDhmeURvZnptIyZSdWJZbzUoCnpOKXhqND0hcjdrRnBJOFdhfllK
R1N1anFMcSZvfkQ3VmsleUtDaj5END57IVNaTSFEUHA0dWRrYlVxd05iMGR1PQp6eGdoOWkjbn0w
cz1Makl4ZWorLSU0N3ZYdUxVQVQzeFRVdSg+OWtIKDkxVD5HPSMrTT81NU40MGNFPSpJJCk3LSsK
eilsemppe2Vial5iZkVQQjdVYSRHaVoxSjktRU8+blkqR0RgNCNTdFlEcVgkSXNgTjJ7VihhVypY
QnpQRChBWXpiCnoqK1BndTd9UHUzTEY2PkRGdj9mQ1d3OyNvcEc+OEA4c2AoSytMWDg9ZURJUDBv
fHQ5e1B2PGVrJjx+Rm9JUGAwSgp6alBeRWBiaH1GQiZyc3g2SzBMP3YzU2NheEJKUUohR3ZDM0dW
YTlYZGd7RDA5MUtpRHM3c1poYUhOUlFzYTxVd2kKei1McnZgI2F8PDlNYj15KWM0KSZOZyh0WH5D
P0FSZF58YlBuSXAyUE55N0g0SEpAO15XUjY7NzE9WT5qQCY/V20oCnotQXw+dkArSlN3aShTdy1h
IShEPl8mJmJAV1FNNm1NZV8mX0lePkJUd3VUZV88a1N+aSE5NjBQRmNZTjZAMCgoRwp6ejxaMEt7
cGEtflJrVj9BVjN4b307QE4lbStVZXV4JUBkb14zdClpYzZNMWF6IW10LXB2QElUbjlPZ1VwJHFO
bD0Kem18UEJib2BkNFIhLT5SIVN7YHZYUSZhXnNeUl8oc1pyTn5xTkdNQ1ZNazQ1bUdNcHVZcUJu
VHFhYndRbTxQZzRpCno/I0lPQUVYSkJHTGd2b09RYFUrJlMmb35JMnZ3Tz9wSXVwbjF7QDNGdXJI
aCYpak5KRHh9ekpgbjB3KX12b2tkVQp6TnJZYGp7U00yZnBkJCVVUmsmWlZAbz5+TzJAQHIhJFMp
enJyKDBZWUZ2ZTNJOVg5SFlPY3swYyp0WVB1anx6Kj0KejIhQSZGeFNZQG0rTURsQVJ8LVoyUHg+
UCg9ZnR5Q1dRalkqJGRnRnokSFhNemF9YzskX0w5QG9kR3xLUmUocD5aCnpJajhHVG95RlF2PS1C
dE90ODZgMmdlRW1DYDcwSHVXQFF2JVU4RzFmQnQmRDM2PzRocj1mQUVCUCkoYCVJU3xgJAp6WkdS
I2REa3JoPGIpcyRBIWl0YkhXeU9pcFdtKmRRZ1ZlTDtnbGFgcVlgQkA7cT5LZ2lzaF45WSlnOUMo
RV9kUD8Kend+UTtPUj8kV1IkbnJTXj12R3RrPW1FezJIWWdUPndwT3s+Jjl4eCMxbD14bXR1UT8z
TTQoZEM5SU1wfGMoIV9KCnpzeXckfSRuanRIbFFGSEJCVzFsJTQoZFRlblg+UW82NU5eVUVWcmIl
SkxXKzJuYmRmMFF0KmRhUDBrKEVIMkl0Sgp6e1NDbHxxPF9CSDtYO3xJQns7YnA2RkY/QHo7XkUq
Uk4lYj5Lcj5wKTIjV3RzS0JEbHd7JWBFfDwxbSlnKTA+e0gKemUmRU5XUH1HUTB2ODR0NkwmRTFZ
VXZiXzlqRytsdUhzWD5WeGJPV1lgUFB4PzY9KEZCdXFzITVBdnVNTXZJfUJ2CnpqQDNRKjVgdTBl
KHtYbmImem4oYShUajFpZUBkU3lgWGN7SCFNYl5QZyVCPjJZbXlsKmpGQy1za0U7e1oyczxWcQp6
V0RJIVhTTTd8WSVFVSRaTllmO2lrbjF9OTQwWT8yUytNQkU0b2smZ19sd1UzYSY9eXh5RUtSNkJH
dn1rXnYkQnAKejV7PilXNyswKlZYVWNHdEhJVF9zZklCQE5EZVJCe290Zlk2Q3hiZDxVcFZKZEY0
QXVjUHxyQUpmfnNePVojKEdhCnpRdEI4V1hSclBFKEpoTktRMmBNfGdmdT9lZkxmezJ5dGpRfFN3
fGZ3eXU8QUAkTEk1d0lYISp6a2JRPj8yUyNtVAp6dlg7RGgxSDRuVEZXNytiOzFOcW0jc19tPE09
a1hKTjNORnxCfWJGR3JxT2VqLSVvMkkmZHxQS3RsJT5pLTZpSykKemFxNjJtNX19YnRBOypPay01
R1koWSZAZUopJF4xVWhxKXZ0bG5mOFpySThoSzxvYEtoLSRzPUBQfkM/RHc4PihMCno/OzAoVzhK
MzF1X2wqcmBoY3tlRXhAJTkoZ2M8TnNVal4pXyZEZHRRLWJPIVMlN34zOFc7ZGAoXnJvO0JIMjBr
KAp6PEYkI1NmNDBAckRuRElybmRKRGIwQntueyR5KXYwRlJCcTgoRk1RalFOdnY8YGtePTh1T3gy
KUNIOFRkQiYkdF8KejBkYmpIRyhwI3RqeC1DflpwLUB9QkJDbDMrNU01IT4hd2R0e3U5Ymtsc3sw
aSZPey1+S2NWcn4kcjRNaip6N2IrCnokfnBRV01+JSRyUTIyfTVwISlvPDxKUWpDUUVAMUtCQDd1
OFZWPDspT0ktKnhgZHNHU2A1SHgkRUZsNUc0NSRQWQp6ajlhU3Y4WH5scjkzRWNoLVdeU15WM0do
I3dVYVhyVzt6UEFgWSNYeXEqTGxGXnhtfUVQblA4SVFCeXZESV4zSTUKejJyOVgwKWQ3N1h5ej98
TF5NclVASkFXKD1haHV9e3hldHU0cCtYZ2E9fUshXys2MUpIY0dLSGo9NHlDKiVQJVY2CnpeTXhT
dmIoaCMlYVR1dj1zNT5lTVpmR2ZHaDxQWFoqYmR7JTVCRU9YJWtBd2B2ZkFkPitmOGBBO3U8YUFK
RDllYAp6cDtiV2BnUk97UnQpeWpVO2BPVlMjJSlMbzY9fmNzanQ9YDVhTmorSlNwfHk8TmRrbUB5
TStRVFU0X3F9bnY5TiQKemdqNzN3eGVGb1U9az1HQS1JenBGKjxPZ2dKQj04Vj58PD15SkZoYkww
aVFaWnNCMSo0TDJOaWIxYTBNJWRaSzYmCnpLcShZQ2BvMFlfWXRzMm9INj9CMSgzd2MwSj5yWnxO
azRDVVEhR0JOcF8hRWdsYWMyU25kKyYpP1VYRVFzXk9ScAp6RiVfb1VeTS1hNiYhOFA+cnpuSEVI
eGV7biZ8TihxRF49c2M2VShkbkhMbD9wP29UTSlrOCRARm99JThAZWFPVHsKekVCWTA+S31BYTZx
V0dhV15LQ3J4MFZ8PVhTYXJHQ0U+dTNWX1BBSjV0PjRkSGFQejZNT0pKM3VMYy0xVSMoXyp0Cnpz
JGd8RFNsZUdKbT1vIUxWaSlXPnlyTTx9WWh8dzs5KUhaKzZjd3BoMWA2STQjKT9tY0VEcSZXRV5u
fkk8O2JzQAp6ZCYke0I8VGBxc1pGYEsqeGx7Z0VRfjZYc0RSYEkqWFc7JCZ1LSZYSCFKUTdkPUta
SXczNnR+TmpqV01fRGojQHkKeil0elBPeDdXVnB5WUQpLTBRTkhVIW0pd2s7TVkha1F8PnV8ZzMq
Sih5clUmRXIhbVU/dj16UUx6fXhiV3UwQSZlCnpsM3J7REQtRVdERTEybUBNYFk0ZE52aWVwbzYt
Xn5qPWhII2RYTTJwWFU5Sn0jS3daS3tqPTUjZXFOYlVlTzcjNwp6aD9GfFFONUQpTnNeYFBCTkZB
UFdMVmsmO3l+eyReVjJFdTxaViNvZUdQK1RiKmNXaXRKS0lgIzUxTVI4PUVQQG4KejgqSX1Gaz94
KHUtelcjMGI8OExNMT9LN1dPSXdGUHp3KCViX3x2fTxiIW0wUl5YPG1xJDtUcD04LXVDSHl9Mmkk
CnpRM19rTzRARShpYWs/Z2N5fjhldjRSY3xyYHVxYHR3QmRhRyp1Q25SQ1BkS3VETj5UYmxMV3hA
SkB1fFNQMUpOVAp6bmd5blY9XnhIMWs0YCY+dStQb341QE9uVCV3V3pUbHF2R2g/QH1YQ3IlPFRf
JDIkPElve3gqb3pwWlhkcDJsY3cKekZYOHUkS0hGYVM8fXZic1RlfG1vYExOfGcpdkRFT08kZ3Bg
SElrdTVDKEhORyVVUHk5NW9lfk1sQSZ2eUNZIXpLCnpIPnUqSTRSaWd7JkJoSDI/biluN0RSfUg9
eC1AOWk8WWBjbUVFY21vTCRLXjt4UjJ5WWhAUXdrJnVOaCo5U3BLRwp6YCo1Q1Z2XiFPZnk+YSVY
MEI0YlcwPGdOYU1Qa1VjeVBmMVhiI0pOKnNJbXxAYTdDKkU+KyV+X3hvdD1kTlgyLXoKej1ZQnx+
WHQ0WSVCUChSJlp0e3klbkFadUU8T3VRMCVfWEJZbEB4MTRYNEdpRUJYJkRhT3dFfitDJCgzTXFz
UDkyCnpIWCpQbmpSQFg8cEM2S3RgfD1uYihnVV9TZX1QeTdfaDdeaCQmK2pIRzEoWUNUZURiSyFY
eT1PV1FNKSZRR3c3Xwp6X0NDa05vb24kRjl3fCZlZisxOCQxJE0qNyhRbjV+KTxyREFifkw9dXJV
TG92aihSdTVJVSslWjxobVdMaTZgKl8KelBJSTwoI0dINjM8anpXYj1SVns3WWkrV3RURjE5MVc1
Z3xjTjZuR3J4dkd8QDtARX5nYzVLJTJHKWY1NzJkWWl0CnprLSZuK2NobmItPmEoayZ0NEUpQD8z
KFd8VEBrdTU+dypBNFVnYU1rRE1EaTYtN1QqSD53JTRoSVh7RjI9XzVDOwp6ITwqTGx3MmJhTklO
MGxLSHY5aUdqNEc/bVp+cjhRY3A3ellKIzgjMzZUUjh7bmprdThGNVFXU2FAcjhHMlBzQ0wKemg7
KjtxbXYwQkorMUpPfjJ3QTJldHhrNlg8flBYazxLMklWclh+P0haejdaYU9zOUpOJk8yXmFgVkdh
X1NJeFN7CnpsNVkwcHVYNHwyeHp5OGkoVkFYMTUxaj14X1NBfkNqQ1YzOzg5b15sZSpmeml1UkAx
QnpIQ2smRzs8dnJ2Sip9SQp6YzNeSW9nNF5QP2NmZztKQU5USEVDSjZeX1YxMGJ6eDY7WipvZz9v
TD4qdEIrQ0cxfDtJd25WUUpQayh6N1c5OVoKend2THB6cz80P25APGMlM0RjKEdaRVFZZ0J8QVFj
XztpOX5DYFZseWw9ZyNoZFhebz8zZzY7Vj9CSjhKK2hSNU41Cnowd1V7KGxgWG5WKkRvJmktej9L
Tko7VE5JSlFQKFA+Sm9IUldzZHVQSV9QUjZKKEU3JnpPeHstO3BjKGJjWjF+dgp6JnMmX3lFO0Ey
U1ZoR1Z6JDl5LWk8TFlYUDU1N196Rk1rWXcpKD9WYWEpfTZ+QWt6VEx0OEVoSilKPmF6MHxrZUkK
enIxKThic0BfRVkkN0d9KEprSyVqYm1EV0A9JXt8PzM3Xkd7SEhyejNjZi1GRTJlQVlxb1lxamJD
fTRweTlpMntLCnpHUXJoKU5yJDhQSjRLS3UwNiNlKXl5OFFaMTQ5dj12U0EhZ0lxdC1UPiFCazNY
WHt1I1BqZ2ErQnFFU3MzWW88dAp6IUpScFZxZmFVQkR1dDZvYnFAQXMhYyF4QXpeV0YwWGk/dU5T
TzYmNXdpVV50bENrXnZnaFcqfGEoI0gtTVo4fDMKejFEPHlTTyslfUdKcFh0ezFVXmhmYUAmczZe
ZEF6P2hYJVdSejFzPTlLVGtBJFJfUi1ZPlEraEVEUD5hcDlBPVZ7CnozN0ZqVSQ0VCVtMj0xU1Bk
PXpSaWI3KiVEVTtUcEAjWkx5STEhdG98PmYpRHMqSzczVGc1IyFMNGQoemFFeldeXwp6UUIjQENH
dGRqUDwkUHF1OX5YMCRyYHhTfk01JUg/I3hBSVBCVjNAcUdzXjViUDNTcVlXa1A/eiErbDIlbmYx
YUYKejNFcj1wVWcrKDRDVDklIzB5YHVOPDRLS1J0b0khRnImN0sxaWU9eD5GaW49K19ja25gYTgm
N0cmKTxeJjt8LUg/Cnphd003fCtPWGcmXjU8M0E0PF4/YG5SeyRLQk1gJkJGdnl0Zm1FTDx8Xnsr
UkxyeUx0RyleYnIoQCVucyFfbEJTWQp6eFZCdiRkXmk1WWJaPXBaeytQQT9sZig8V3NnLSomKE1t
OTVpWS1MfW5HN1h6Q25VUlozOVpAWkBXOU5hQSQqIzwKelYweShtVlZlMjxDJTNTSiojayhQc0ZC
NEVyfGQzM0xlMjZ7OWNLfHlLWkBXcihJLV9tbFhxU09nZ2pRKGpXY2swCno+JWJhYW1ZI2sydXZN
PT0/ZyNBOWFsTnNgMGZkQWsjR1dKNC0oPEBhYX1ZaHplQDxxbGQzeWRSblpLNjNgYWhHdQp6RVBW
NnI+ajhEcVVFdEE1WFJaLTwqM2cmO0FyYXxueHNJTl56dllXJncze1p2OWBTO3paS1V6VCM8Y2BZ
c35eQi0KekV1b3UjQVJ0PlVsVG1YfTxDYDVQQXZ9Ky1TLVJLJGw0OTRoa0tNdnFwWTdSUnp9OSMh
QClAdyZNd25aQ0NgZ302CnomfWNjKVRiT2lTc2VaNFZEWnFaWmxtSG8qak9mUHFXc01+UkdmbGdu
XjckQzA8az9uckRZbSFxUnklNUxuISowagp6QFRsKntWcERzPihFK2ItJFQ+Y00/d0JmN18zUSU4
c3tUPUMtSGQ7YldmcnAkbjtnMzJ2QCtCSSR4OH5BYk1iWisKemMqRH5nKlM0SEZjUCMhSXFZfHp5
SkxjaXFzbzdUbDkzPj0mUiZqd2xVPGlwJV5lJHQqd0wpbSkkc1pNQEghazEpCnpRYzBafjtuI3xR
MzR5dHEtQHVqMCtIdjxpUW92IWI+and5bnM7Y0lFKzs4O1dIO34lKkgjI0VrSHhZdyQyRHl3VQp6
M3FSYlJWRDVBcTRsPG1hYzxvPmhZMSlmZTFTdnhzPmMrNDckWCYxO0dHMFBqOXkpKFQlfHtDTFo9
SipKSzFiNDkKemB0bE4xcGE+ZWpnaG5YXilIUE48VHUtOzNGUVZFNUgjMDkoSG9fWiFmMzV2P2dF
S3BEO2QqfElufV5XKV5NRCNACnozTW58eVhRZHwqIzNwRVcpVjlCMFMrO2IlY0NjQipgKThOY1Uo
TzZeSGRGfE9mUXVAZytMTlBFP3hnWkxLaGRDKQp6O219QDZtWkZmU207QU92WDhrVF88NWNmV3to
SUxrc2ZEPzQyYDFtZmgrZUl+MTdRfHp1K0NgVCk9O0RvdH1iamYKejxHKSpPNFglbzBgJVQ3d2U+
JV9tZ0R+MVNZalZ8M2dDa2Y1YGA2R2JjdG9VUU4lJDgzdm1IakB5dkg3VkdER187CnpGMTdWbFFO
NnM8bG5HQWF5R1A3RUF7ST1pY2p4biFXfmc+YHZlTTh+MXF+UEVBbGxzaGIzOUtNNEhwZD1HM0co
dQp6RjtQb21uQkR3Q0pMU1M3TWJjdzR4akk9JTc/SVoqcSRwVVZmI0piKTFwMG1yLUpXRSVSdFct
VnYqUnB9IylQPnsKemBBTzFKWXJzJX4kaWRiQ0BmaWNHZTZrSVNFd0RSZWxfcTxDO0luKUMpVG1K
JSVFdnduX35EVVYkYnJgeEZuSSVLCnp2PXJUNHlCNm9WdntNJnpgKC1jWig+alpnLUBwN2wqJUJB
S1EodG9XY3k0XyZ1dz1QZDNVSndhbjlGZ0h7WX09JQp6OCVBYkt4Ti1TSmleJkl0fEw0bnt0cHFq
eT80QVVMLTJ6Y2BEX00hVnVaYXtYSmp2RzM1eCFHKV5eXnZSV0l9YT4Kem96MW1VI0dmQC0mVDMr
MlRsWENAYzJLOzJBe3xOdnQ4JCpwRVMhSVFqaFBBTzxWdX1rSHA7WkdwUGwyTCE+aStaCnp3UTB8
dXB3dUItYHxoKjZHTT95OXEmX3FaPTYpMSppYVM5Y1VEb1dfNU5qbzlTP1JILUViaEloPWNCPFdo
NkBWZQp6ZUExYmlDQGIxb1VZU2A/aXM4JTM2V300MERJWExSQTR+KWw1TT9yMnFsd3cxZE19UEUw
YG95PkB0fCUwNEI0MWgKemF2QlhOYntkN3pgcSQ8dSEkVVUoI3RuYEE7MVhvVHZsUk1KSn5aR0E+
JUhQT2R1aDJGd1F+e0FQdnU1KnhnR1c8CnohMTU+aUdBRmVXIypTfVhDJiErSzZvc0xsN2JxYC1E
P1g1YSg7c0FSSV8oJT4yNkI3OHU5SnBmS3gmYmpQYCVEKwp6enRjM0Y+IVRsI245QTtsXmVxRyM+
bjxJKmUtKC17MHB5KiZQdTJ7JSU8bklXeSs1dkhRMyhQWCkpfG8menBgaFEKekFMY3wyU3V+KCM7
ZDtpZ0ZNMH5kPzshbTVUPiRMP3IoNU8rNCk0PDFpVWRLKkMpWiYqbS09SGtRUVUxbVpTMkZwCnpH
RDxjNU8kNW85Kjk2UV9MWjRaKSg3OTY3XiopQztleGJiZHolUStTZEB9UyhwMmk3PWd4b0B+ZmNx
Y3dFfGVOKgp6a2xCSyVkfUxILWVKUWU4TX5EZF90UntsJjBTbzMpbHRpVVhqcjlgTjNSYWRaTzA9
ZmA2dHlZY1RxSmJZc2hvbjkKek9PdW1KeHhgazxHVkZkWiZHM0BzTktyeyM8UmpNNFluUVo9bnNs
KkdWMihJV25SSEg1PVVWNSp4ejRINCorWWBwCnp6SUAtK2xNPDJnIystbjkhO3MzVHExd3xvRkdn
WE9uQ31+OWxMPz9iP15NXkUkPHJkdEFodzJ+MEMySCRCM1ZwTQp6blZreDxkfUktTWdFVzxeUHJI
Pi1aQXVVOTE2cGRmJmFFcTxDJV9hX1EhPShMOyRVYyUkQWAlbml1WlNoRmZfZkAKel9uTWo5I0gk
OWFOdzkhI3g5Xz5wMUA9JS1MZFlkPktZNXFndWd4SyhHQTc0PWNeVk9qeypRJnZHPWt0c2hYWkJI
Cnp5cmZ8SlNnTmp4LVBFZTg5Sys5cktqJGFsVEoqRUc0TUpiQD14IyQzVkVmayZuU301b24pdlBR
Y192bilNb2czMgp6dl5Va2ZgNm57WExtRyNsciZzWkc0aHsqMjhMQ3ghRyVfZExofHxiKExKMl9A
bj1DJjhiWj19Nl5KNDYkcHRUPTQKejR0PkcjNWBDcCpNUS1LPzRfXjk2OCpHdjZWTExDJCg1KW5N
RHc/V2RpRDAqPmNSbUB8MjhHPHJGUnVlNTNEIXZaCnoxczFzNyokbVR3YV93MkNiOENSe0N2d3Zn
SU07e35eZ1FwdTE/ZD1yT3hsM01SdiZ4Jkg3VyNEeXVrX09FZWp9PQp6bTM9TCYzMCVqc0h+M2hE
eC1kfVEyPHtUZklBeVI3TkAtY20rQ05mbncjdmtPYTJyYmBPQ2dxbGFoUnBZQXNzTHkKenhDWWZz
OV5IXmlASjUmWkN9Zyo2Vk18SXpLSWJGYTwycG5IdTBoNyF5X3pBOCsmSmghWHAhSEMrXmdkWiQ9
MkVBCnpTZEohVXR5Yl4teCRvYz5gdCoxcEFmR25tU0hNaitMVm1gZno+Y3M2cH1LS2xjaXhyVVpJ
R1dIKkdVLUlqQWM3Zgp6JCNIeStLfkJqdSgkSkpmIWZueig2Z0F1amkmWlUoQVg4cHlia2ZhNlok
ZVduTW8lWHdTI0hpRjB2JmBgdSRvb0cKej9AJl9VY1QhbmNJeXpvQENPVUshOzxIcFBlUnImIXZx
ZyF3cD0mNmNLdztOcGtBOzlwe01IXkw+VU5GIzBjfGpDCnpoX0JIXmJSJExjYEohM1pCQXJwbj5M
KXpsWFhTeWZ2OzA9bkl8OTN0cEx0KmNTVGBmUGBUQkJ+Y2dmeUJvZzY2QQp6JFg2emZeRG0wbnZj
NT1LbyRzSnlEKU8/bVZkNUh+dG9md3FzIX1TVFBTfmgqenk0MGB3bnAyeSNyLXs5S1pRcUoKelE5
SzNtTDJmPXVvVDM9MG1ZVnwjVEM8OG5pTnB6bWheWj9mN1EoTj1CfjFrPS13JHs3UkxFUDJWNCRL
KmU9JkZACnpIJXl4ISsrbEZTSWNiUDVyREV3bSY/b2pJaT0zPD5hS0lkJSZKIWlTWTdCXmg/PkA2
PzNjd29zQ3BzVUloNWp8Ngp6TWlEU1ZMaHNNanFNYEMlPTN3QGsoJFpWZGQ3N0VNNkE/TE4/bXMl
dUZCbCtte2JDUlkxSkp1cHBPIXk7YWh7PTMKelM1ZjJiPXFlOUM1TUVGS1M2dy1rXyh5N1QpJjVt
alZCVzU+ayV5USU2ZVBeaSp5XyNoazs9I1F1RGN4YDFvRHtACnotJVNMflcoWnYteVRhX05SYCRf
MF4tRHRoJjFhUjthMjd7SlBuMHxUYWtlT2tqc3p+JExhc0lTMVBXam1aemIlSgp6cGQ4IUJ6XlVL
MndDKzVUITU8ZEM0KU5ZJkNmU2EhbktpZU1YViNEZUg+S24xKkIqJVZkZUNRVmlPNUkkNzhrZncK
enZvYDMkPEdFNllmO0ZmUCt6V1hHZ2ckYmFCVE5VYmtNZHwwOEtERGkyKkojTE8lbUxYMyN5JGxG
Q3AtYilPSTxsCnpKdHBSVDxvVih0ZTVCWUthJU1yeFVYWWVMfDR9IXFvKk5lb3F6JkQlWmMrIV9p
SSthPFJiMj1lMlVoZC0oK01APQp6Z2BwJCRpaVA7ISV8Rm08clJKJT9Idm57bzE9b15kajteOFhy
TmtTTFBUS2dtI1ROTXJtKzV5SWFKR0NOUXJjUTwKelpZWH5BayV0UmghMksraF5PK0tsfEZ6U28o
Z0MjaW9zTlVlPXRuel9eSmRXMVQ3aHF7RnlQVSozQndzampeKFEhCnoqSjBXTm1qKClTR3IpSFd5
a0hWSmZuREV+Kmc9OW1AIVJaTGhOLUdReHtyVmx6fk5ibjw7YllsdkB3JXVAUmp2Vwp6UShCMmNF
d2E7I2ZIXyFBVWs1SV4qeiVZOyZvUUhjNU9EMmk1VWVYel5HQURwWChtIXRybFlxbm9LXzhNWSlW
ek0KemsrVm19JjAhN3tyMjxzOEMhc002Y3JSN2M1JUFAUGJ4fWtqRUxFUWxQVG0jJEtrZERCUD9s
QGhKLVJ7TWZGS348CnpBPkU7TER5ZnVvZ09xZjRpeFNlUGxwdnJXLTdUJDFCTz1gKC1RWXtaT1B1
PXdibnBGcnpkM1d9e0NDZGlJMUljNAp6UHV6SzM+dDFWSlJaMm1RdW9hejVqci1yZFhSfipMbTNX
PU00LXk7PS0yQUV1MW84MmZDM0JCI0ZVTGc4NCY4O3EKenJAbiZHbUlXbFpwKm1oUTZfRFU+bCYw
V3R5e3lPRUV3TzRgYSo0M2tqez98MEVaVk1HdFcja18wfWZ9OGU2c356Cnp6P2p+Pm9hJnB4cUhW
SWhaI3p7bXEyPWNxNFZPMTxANlNGYGc7LUFyKVgmR3YtSShLVEpkKiNoN14jKHl6ej9GZAp6bit0
JG1rJilLNigxSV4lJEgkeSs0ejJROUN4cklUSH5UV2U9SSRadzFeOXNFQlg5Qis+YWtmU3lhJGE4
YkFUdV8KelVRbi1eb0Nsdj58THQqMGZGfWcxSUlNa20lWDwtcnRRRSpSNz8le3wqbkMyNlRPaHJW
KmJza0JAbVBHKiZpOygwCnoqMjU9e2U8dyhyeilhLSh4TGE7eW5pVWtYV15EPmo9IXJVdVhJLW5n
Wnt9OSome09pSWF0eTZhUGZyT2ozQCk0SQp6b30ocEZDKlI3NCpYWSgwWW4yYlEkKn1tTWx+VEk3
TXNjfmFaNDUwdSR8TXNTPG1lSHxFKn00c3UtTUJIWHl3c3QKeioqMjNSaEwxTER3YF9zI24oWGhY
eFdtQUFlb3lZNSpGQj1ebHBAbzIzMnc9OFZlfEpxVEZKd1NzK3MlVz89aCZtCnpse2skVCp+Smct
VzI1Qj5LN2JBMDNQNE40eVhOMkR3YkZmT1VYaGo7PE5gaTBjRz5idj1vS2hha0pneVZSV1UjdQp6
PCNNQVljJGBeJEA7Z0VlQENqSUNXQTVNPT0oV1VURnkzMW8rXyNpPDQwblk8b1ZsU0s+Wn5DT0JG
T1ppMWFSQzMKek1wIU03Qj8+dz9aVDExMHlwc0tCU0lERDZ2aUR3YlF8UnFTJE9URlNaWGNjb2hI
KkJSdVJkYkt4YlJjflpXUUpWCnpaZjQ1N2VvRUIxanc2UF9BO2laIzFRXjxBdFRRYn1BbCRhU3dX
RTh3Xk5QTFV1dGBYMjlQckpwelFMT256Q3FSaQp6Q3hGSkU7JU5CTmwyOVhOVDsjS0VBSW5BUis/
fmNjc1FVeTtxUHdwLW9oKzcyQk9+dGplQWQ2V0t6en1lVnxCJnQKekMjIWl5Sk9sPTleI3w4aTBf
dmxGK2BPXjJSUSE+SSFhZE0mRCtDdzk1YlBSKmJ1NG5sWCpJSyshVENpckNyKlpSCno+YC1VPkYt
RT4xZE9kc21Ud3V+QSFlWj9ROCshK0x0aShgKEgyJWBoaGRkeEdhaVcmQ0tGKlZSYF89TVVBcllL
PQp6OHo0dWFqKlA0enMoS0I7UmE3M0tabWFmTSo2cSMrJnhJdGhPI3c9TEhoMTtVUVlIYDFtOWx4
TXA5TX5YZlB9Nj4Kekt8SDMmVFEqajZkaTc+bndIVFJBSX5QcWdDKypBYlF1I3FtcCFUNDdTcypv
fVJtbCU2QGxPVWJmemFeeyopOHt0Cnp0fjY/K1ZVbEZVZ1Z3VHAyaUNQTGtzRnh0PlNILXNEY2Ik
ajZ8O1MzTDZlYlMkI3ljWHNqRDg2Y2EqMW5EV0J2Sgp6dmtlfXokY3BDU1hoeD9fVkk+MHxgO1pQ
ZighPHMzJXFZRXB0QE9rKlBGYmImUz9MMG80TEIme140VHooSlpkK2MKeiVmU1VKUVZXKGprakFn
KmxOUHFaOztMaUZMJD8zTU9DUGgoM3dzJk1ZMjBkVzVMSEw/O3V4JTVeTkNgJWZ8VHpuCnpma0ch
eUpwVytBREp0Z3F4Yn0mLXZmekI4XyhfOEhyd2VQVFNoMnN6WnBtcVkzOWF+KkY9Tm8lQDVfQCZh
NE1KQQp6Zm9TV3AhP1VWe0khclBTZSh9KX1sSCgpLWYta3gtQVYjWi1vY3Q3YmlpWmgoIXZ0Tz00
TSVqPVhEM0lDWUBhPCsKeldWTWd0QDlNfF5jT0U+MXs5Wm53ekBIYUFLWkBlTkA2JG1XRjlSXm92
UnBSYTEmOVhXMj5jV310JX5hREtLMjtjCnpmNCopQ1EpYzEpRCtkSjxjWWoyZ1pANlooNjZXe1Uk
UyRVcDA3bkhRVylpPlE5cnBGYEZoM2Mwb0ZUd0Vra3p9ZQp6MkA7ZFU4Mzhlc3F7bDA0N0VRbT96
Mk9CMlpuVCFzV0pDeHs5NlpDeHl6PmVPS3MpckBDVFdxJG9USERGXk9lV2kKelRgJCk0OTI5SGkr
fGFxOUpsKEFoOzVma3d3Nz4tYEAyfmZsZU1ldztAPH4pSHljMHMkbzwtZ1FxS3Y7I1JoYmRPCnps
X341JEF1S0tkQFoqakZ3bWZocmAzV1U9LXIlbUx7KHF+T19rUUxCN0VScXpXQVY4eHlQMjtiRSZR
V01xfFUtPwp6TSl6OGNXWUN8Xy1FbXIhUSVXKXE4SSRYRHR+T3RJdXRUIXJpd3Qtcm1hbEpyWmdN
fkFIQCRTXnZkNGFrZTl4T2gKenhnSyk2YykxVkFCVlhabjglb1N8SHV5R2luWU17Q0owUH1KK1At
PTIoUEtSe3NTM3pIMj5kVWxlXmcwXkM3MXt5CnpjUiNCYTZSampSYy1SMUNDMUBxa3ZOZkVqI01e
NXc3M1lsZXYhYnd3ZHVeNjBTQ3ZNR0ByQWVfZ3kkZFFYRnJvdQp6PGRmYWdaMWs8cSkrPjstSWV5
fkhRR25tM1ZeZzZmVzZ9RnNpQjZ5SkdoWGM9WEgoVTEzVSNrKzdTZT9YVXJaT1YKemRKPnQmX1c4
NTxXcn5SaCEzezBSTEp2TFNBZ1FWQj07RmhDTDE/MD0tPEI8QjFXQj4yUX1yaDdocGx3dCh1Mlly
Cnpub141T0RvWlRAbH5uNmZGRjs0byMlSFV5QU11MkomK0I1YlgxJFg1TG1kVSRvKHs1OD1yNlIh
YF9JU291WWhTbgp6XjxBe3MtekgjQ2B9dWQkMDYhRGN2RGt3RGV5b2NQb0Ura3h5alE7UkQ3WUI9
Rz5fZ3UpJis5NHJFMzVBSTllOFgKejRiMW5rc0RAdG9GPGtrSEtwdHpjNzg7ZlJ7bitzVmFGKTxi
NDFEPDhJWmNCMGQkdG1fIU9NNGQ0WEVoQTg8XlkmCnp6YWR2I2BzbTZ7ZnpzYXkjfmZKUCp1fnpu
WHQqeTJwMVZDak93QzElX14kYTZHKXsoWWpUY3ZqOGdGaXkxTHJaPAp6UUtmQjVnM2ZTTD1ecm5z
Qll6SDc4I01ZaFNVYFdxen4tTzNgZzkheEJATkNIWU0wYntZMXJVRGkkZSgxJWRRemYKenFNcS1u
fDBHYCooSmF7fCZLbWQ7VUI0K1kwbzNxWFNVbzc5d2ZlQktiMX5ZJVN1M2xLYiVgV2BNWUVwRXB4
U2o8CnpJTWtIakA/YCFIK3RwY3NzQC1ZUVdqSXpyWTNNQnBxST9uJHc5dkBCcmp4Z0hac01HY1pV
djFRamZ2PWpqK2Q2Sgp6b1RXZShMV04oRUQ3T3QrdzZGbj1DTnhYNWR7YWV5PTdVSVZxayolRmlM
JHteQWU0YGU9OHZue0VDM3hRX05lOUQKelROa2dfa2xuITAyOXdMdFR3N0U7aD57O294ekY4JW1M
QHFEKkFZV3h7dlNgVCY0PUlsNzdme2Y0S09YMXAzd31lCnpWdmg9YWBzQXxSakg4JjRgX3tlKl8x
Umo2dTZYciRucl5rcW1ObHhYOXh7IzIrWkp9PWp0SXNPWW5ZRHFERUd5awp6SjJTT1VoQXNsNip7
VEBzeE5INndTOHt4O3E5RCtSemhKXztuaylNbFhFSj0jYHx1dHxqM35sYiQlKU1pe09eKEYKeiMt
Pj0wbllTZ0w5PmZaMUorRnh0R3JqZUs4Jk8jY1dyWC13LShJdkY9OzIlMHhzdUIqJnBKSVgyaFo9
WGIqUlBICnpYMWZEUnt4am1sNVElXzIyaEZ1P21SSjg3YXgkTml6P2hyVEM2djgjQyVYRXBYYXEx
UHhTbj8ye19SWTFkSHckewp6VSkqfEBqRXF6VjIkejRMJWhDRVgoTEUtViFtQ1A9emNUOEE9SnNS
NjUmPXBFdThyVilBU0NPOEVMOHhOQV9pIXgKejxiVl5OdkV8ZjkyVjt4VChoVFMyQEFyV0gyaEMw
NXlDfTl3QXU2TWgqZCg5U2RgZFB4ZjI7MkxPWCM7fTYoc19KCnp7fEZoRDI3aWVIYVF7KnY2ODA8
KUMqZjdkUjdfPDlJfjV2PjhSVVduM2BTKG0mclZHTkFZRDQ/SSh+aFRVSCRnPgp6SnVsb2ZaUjF9
KVFfeERraUx7I2lHUTUzOUBARWB4a21rKWkwMCF0Myo2KFlCPSt6OSRHcV88Jjc/MnMlSERydksK
ekYxQWBaSz5qT1lOWHVDOzZ8X3w5QlBZP0tJa2ckVVVpZzx3cUFIeiNueVZOYCNwKXxyd3dGcmpR
VyswLVZwSjRmCnpnNTxSMFpFbWRQWE9YfVhHTGdyPWslZHBaaW16ZE4raT1BR0dqS3dPNVFxZF9e
VTthOEItOUpFN2k4OyEjfE4tKAp6QSVJZm55QjItVFUjbyFSUE9Id248U1VxPmFjcHw0JTtPT0Mz
dmpne3xHTmZ7S0FGZFk9MjdwflVYVnBvM2RtN2sKemolZXRzPFg8WXFYK2hhV1V4RzIpP3l+bnB0
PWJkdlBKNVM/bkQ/ZVY7Pktzd0hQMyNEYWdFRCY7ZUJCfjtgamBXCnp0UVZpaDUwK0tDXmtTc2Ul
ZTVUKERyU24pVVZkI0c3fCMpajJWP0I1dnA4Pno0TUctciN7RTdaQzx5PFNFYSgqJQp6QSl3QEA/
WjFJU3xHPi1JcSF+bHp1JWUwZF9seX5vcnxpZG8lJj18PHBnPE5tQEEyUH1oPVAjQlhkQnFAKUhA
OFMKelglSlo9SU51WV83QSpNV3k4UUJrRmR0JT9UTHVUZ3VsKy1lOD5jPTA4VyslRkpYNSNfaH0w
MmBEdyFYP2QyUD5rCnpOQ0N8fStVaiRSMmlMfUxCfHFqS2VAOyE9VFNWfmlfcnQzYV97LXRIMmty
PilRWlZjd0pHaWAqSGw4NFNSXyU3Ngp6cWkzPWxpQH1Sc0okVEZTXmEwb2JtTzN0VUNPVlN2U1Rn
YEo8dHE/YFJNND8/Qjg9WShqSnNvM0c0PyN7ZC01PHMKeiYrbTBYPTlCIXBMYyFZK0o3cW0wPEdu
e0NLcXN+VSExZWIwOWZhZ3MwNjFCYUp1fVg3YzdGTyFjSCl6M0dwKTImCnpHcmpiS2UtQG89WXM0
SGt1P3MkSmU/SUFlRXheO0RCWEJZWXQrJTk1K35QflFVa2JGY3B+TkdSKzA4ZTBgcEU8Mwp6Mip2
K2RSMGI2JjJOXlhqX1k/V0N7ZT1iZD9FeTJpT1AwT2ZCcEg5OVItO0hpUVVQbHB8OG9xYlR2Uldy
YnViMykKenNuRFBhcm8hakdNeikwNHpzQjc9MG5gcnloK0t3RU5LUmtHJmBjKzVUb3lvfVFsPTJM
QTBlPWplQUReR3lDbURrCnpnM2I/QzdTZUB4YDhhPn4ySDRAUmBLdDwyTGJ9KUk3dmU4cSZmd2dQ
SClqRz13OSRZd0ZQUTdOd2tZR0F7QmZ0MAp6ajd7djhxRDluO1BZSilRbDBmQDBDNVR6NzYjSmdR
cT9LJTRPI3k8entTa09HblJzVUFoQV8rYDtENWoqPGFuM2EKejNqQSk4JFYmJUFYdCo4cGsqJExY
ViZAJE9qbGVyUl5lcmc8V3BmMD0yZkZBbmx5OyFoQn08TTFjMFFlLWt0dVkhCnpKZlNRQ1R5a0lf
RClOPnlJLTBkSztkfVIkTEU5K3owUzN1YCtBdm17dkkzKFdjelRkSjEyMzk2JkVPZHNtTF5tdwp6
ZmVTOU15ZSUxN2gtbTdeb25rV21uNngmdlRIIVJEXnZme25EJDRPNjVUSng/P1ZmK3ZfdTUkQ2l9
S3RDbk5QPCsKemohSnFjfDJCWFVyWHJvSEF8c25xNig+QUtBfG9Efk1+JnN0ZXNmVns/eHowTkQ2
bUQkYVM/OzJHLVdrZFg4NjlqCnpDXm5wKmRHUTFINjRPaDRES001ezAwUHJWJExKbSlncEA4U28k
IzEyYj88TypESXA2fm9uVj5GTjI4VmFeLT01Pwp6eHhONXI8Z1g1WGlqQDBPJSNzV1hLSWA8ZmBQ
cHVeQXhJTVlzX1lDKHl4dFNAK1A+V2Q3THFeaXNiO01NdUBgQDcKendUbTsmbmZMNnNGUnRJb0hg
aSNzeGgkfGZVLX5fUkE9ND0zd1dzKzhqWj5lQ2ZmSDhiUFZzQk5NVmNudk9XPzg1Cnp6QmRGTWtz
Y213UFBXdkdxKkpDZDEwWU9DVEVsZmBBaH1JMUNfWT5gYS0rRTRwMWZBOE1vWkFpUFJNRD1BJTJG
fAp6SUkxZzVjd0dSTkBVTiRSMUQtWS1rV21IcjNpV0QtOUxTdl5ZLXkhOEpzNms8d2V5WXhYekdk
UTE8P3pUY2JkUnQKelMkZzNKR3tQckcmQj8oVktodFJMZGtyYGA3fkg4fjYjOTI4WF4kZ1FhMUM8
Vjtfcmx6TWJhZi1kVD5abl5odDdVCnoqdVpaaUs3LUJ8akN7d3cybE8ydnRrVDBGYTRyVnRNQURA
fDlYczFZemJPUHBVUGdwTmQ3QmkqcmQ0WXlwfl5xPQp6fDAmY1c8dT5DKF9pJDdVbzszbTJESDtM
Oz9+PUVHYz5rPlgtMSlnN0E9ZWN9c3pxNDFPfEtRfmVgSEQ8Vi0tJHMKenleQFFgJUJBcyNWfX5u
UmBUaksrcUBjazcoQjspMTJZe3oyXy0ldDhjdj9vRmxrej5YdHpOK1FEanh2T3BjbTNYCnpRVXdU
QTh3SXZQV1V6RnAycmh6cjxDeitSMVFETWE+S3FgYWlGN0skc1o1VyV2N3l3fTxjcXNoUWApdWo/
YEJTWAp6TzA0dlA2dEBgaDRiWChPaWBESFprQE9HJnI1O09yUi1HSj9yQ21nI3hCNk04ZD1mRFA5
bFYoaUVvLT5OWmB6M34KekY3THReSnIxfkw1a0xaM19sfj9tPlRAPm1RMi1uc0Z2SHJVTmN6Wk9o
ME1CVHxGSittTG95TyhKclh2bHUkIUtPCnplZXdmZEJsclZDamBLM288U2BrVVFiZC1XPmhrKHxi
QX49VHNBJXtzOTAxMURyMVMmNm90aiNmNFRIO30pRCF8dAp6SFUxbSNnell6NHN0WU9HRXxZLUV1
WWkoTyFLa19WU3IqRkd5JDFzWEgkUkg9U2RUbiVpb0FDNFoxTmZncFYqWjUKemp7RkxNNVVFcCNM
c2xnY0ptNnJDJWVaY0pKPnttJi1JOzVqOHxyPyFFYTAkWUR5YUxeUzBxRkRNdjtlfGFgP1ozCno0
ZVZeSEFKZT1yTVd2PmM1V0BHX0RwYEBuXk09aFlaYmpCdiFtMXFyQzQmU0VvSTMtem95OSRyOVk0
JD1Fc1RxOQp6cUZaV00lPmdYYFBMYHZkPVNvSjlfVEJZJU5HUVFTe35wSj18RTZ7RD56R009e21M
dzFPQWlsTmp7THNeaTBHJG8Kemluand+emwjcm5HamRZUWI0fVR3eiQre2BXPzJyeT54YXZ0WWw8
UEgjKEpVc2JNeHk1aGdSMnRgKVJgSFBSVEY3Cnp4IX49TlhWWjU2ZHJ7Rnhib3VWUV9aXm9wYF9e
QDVUX0lCLXJ4I1hBQ3lDNl8wT0dgMFIyKHsjZEZOKz5zUm53Ugp6ck97aUVnQjFpeShMRz81aD0m
fHltSD1gej54P2xIc3J8NCNgMFczOWBKNiVvZ2pOdDskK0xhQGZyelpNRiF9SHMKeks+RFMxQCMm
WXxJel5gTV96UWQhSndJdHIjJXdQa2RsJHt9b3hJfnZEZTwzKSZoK1hqRipnezJGVH56ZFNQY19m
CnpEcGVhWjtoVSVlQCFffEo2OGlBQVB8UmE+dllXeF5eTWNPSGtGJGxQcEVWPSlnQyoyYHo0Qjl1
TGJrZnNAXi1JYgp6eVVAUURyeDJ2dzZnb1pEVlVLb1ltNHRBeGF9WVMrRDZWWD5eMjc0TlF6Q2Ep
IVhJK35YaUNnJlgjeFZNOSkwVjQKejw0V29ZIzswVn43MzFQZFJmYkN+bXpuaU4rPzM0JlFQJSYk
Q1BDdT96fjRLa0A0IXNOeGJNUypoV3lFNylXJmR6CnpZb15zWmQzeWEzdSg+dlBoLTlSaDtJN21N
XlFlZ0FpZ3A2Uj47RWhjPz9PPmIjdDt6TmZPKiZHQy1aPlgqSDNvPAp6MGVzOUlwYnUjRndMM0w7
I1FyWWJeeWFlej1eYGdecDAxTGFiKmZDUyNGLTZ4OzVDNSNuWTthZTRFM1JZPCQrKVQKekVqJUZ0
I0RkcG0hM2RfMSQ8eUsjPCZmPzJpISM0PUI3TWJ2REJFTkc+dW0rdjY8a2xnQ2ReRWExdSVrSFNe
SiYqCnppfnplKDhXNG0zMkBDeFlPSCQleWctaUA+S0s9T28rKCFfVFZXKlMxPXFgN0s4JmlId15r
UVVIWVRqZzUxT3l+RAp6Vy13K0hsYWE2IWplVVZYRD1wTzZRZjxBbUJmUXVJS1dxa1IydFZ9KjB5
e190Y3MoWGRvMWteREB1aGdvTipNTHIKejskQz18O3kjT04oVkhndV9WKD9MVnpTUjQmNyZUUiRv
KF9OezRNRHBtMURmUGV0ZERONj9APyVNI1M7PkRPbCpICnpBTkhMVVk4MGhaJi1AckVGKlhHdnFR
I08qYC1lb01rPW9KYSh5VkNZenE1QWA+Pj1VRV98V2hFU2lQWUZHfm1vLQp6Y2VudDNkMWIxO19B
U3NlVF5HI0VeSm5xXjBnYDBGUnkxJiVmdm1fcmM8ZHwmMkY3dihMNXNfZzFOfD1jOEh5SjcKej98
NCVTaUBeaUFJU2lZOGJ7K1Y0SkVCYGxIe2AzTWdUVmIyZHkpI3R1Y3Fgcnh5NWpkbn0wJn1QVUBl
cmMrcWpkCnoqJW17bE01Y2BWKlJOaSt5Ji1ZezBtODRsVChuQGNTVEZFVFI9enVzfEtnd2QwU3pP
e2MoUTJWQV5vQTFZa3d9Vwp6b3J9TUMlfnE1UlhVfVMmOURHeVFAclZ4RGIja040RyktaVg9NkE+
WGhmK3AmVlczUWBZayY1JlppKCV4KHNQNDUKelI0PzFEU1BXMTRUNCUpbmBhbl9tcEVVRnhIcCti
OCVgST81WUJHP21MXnJMWHolTDFDcik4eGstTENVcCktQT16CnpsUnA9YDc2KmNVSnN6YldsNEMh
RDdDQGY5cml2T3MkbD8oPXVyTDgoOTk7cEpkOXF6YHRRakNyPSp2LXx3KmE9dwp6WEFFT15qUmRW
WjlQS3ImcCQ1RWB1NSRmWHROODJVV2IwV2dBIyhyRWJrMUZ6NDNgN0RGSV5mRnFBOD0zM3UhX1cK
enJnIVUtdmNAM01Oej0zYmNXVkkkI3NeWWpLIXg7UT4lalkofEkwZCVJdE9jOU5qNz9hcjJRRStX
eUxVMylJYW19CnpRPCN7TkFaM0VLMyYxQEdeMCQ1fUdib1NfZzxLaTtAb2cpYWp6bTUtOG5uaUE2
Pzt+Nkd4TUswQWw1NURZMXxlVwp6M3dnVylwYFVqUzVEe3pGSUlyOVdAKDsqeUd+b3oxPSZePG91
KlpRQjJsO1hPbT9tKnMoUDBZak1neWJKUHJRbzYKenNNZzNFeDE3bUp1Mzx8QUwqOF4ofEtGaHlh
XjY9aG5mVmUtNSlDYGYjdDMhKlIkP1MhX15kWXVPPWcrYGdOUm8rCnpEQ2dBaFhDRzsoYCl9QzQk
YEYxbFdGS1N8e21WLWlkYjNaZFYpPEZMbGZuN0dMYjhLVXomWUVAPl4pIz53Z08rJQp6dHMqVSUm
VkxEWkx1JmVPU1dFTGc3JkU0KG99OEJBUShGOUl4ZDBHZHY8MCNXV0RRNCNSQl41MXtqY21UP045
YXcKeilSMkYmdz9FbjJwWD8zZm50IXNsS2lTKSM/Q25xWF85dUokbGZDYFAtdXsxPnl7UThDIU56
a3VBWXFiTntEIUNYCnpAZSEhKnFTVURJNXwzRzhzMVdieTM/M21oP1dfVkFgNFphWVNiSzIxUTQ5
SykwUHRIR1EjMHVpbUstYlpffXA/Mgp6P3t+YGVASUR+PU1GWjRTUlZzPntiKj9xeUhMJFdwbnxn
JE5Kdj9Be3htTyVldD1LXiFpI1coempLUW43WnY8b1AKek9VKCNWIUw/YEtUQUQqe3pvclkzT0pP
Tj5GQiRBSm5ZSX1aLVE4c0UlWmRWQUlQM0tmR3xWc2llckhtcTskajxJCno8aU0+PkdPaCZlMVph
TUUwUH4rTzlndkpoV2AlfjNPOTclMiVUIUVPUUpGNXhxYVhPZGswaGZlWmV5PWQmeCRaegp6aWx9
dWFtfUhnTEdKRCNybDQ4S1c8YE1uc2xpIUlFSUtlNkwjQ0QpNGpSUEYqWTtMaj0wbiZTOWNyaFdS
VlIkMnYKelcwQXF9ZGJ5K0k0dF52cEhMbE5Cd2R6SlZ6Vld3bFJGMiNwJEI9IyR7NVF+PkVJMGtt
XzVpVVZsO150RGBiWV92CnpOanNLU2c9TVUjKUQ4eHkxX0YpLVlHaWJ7TWJqWlNfRG9RMEMoblcr
JW9ObHNEK1RnKnlMKSo1PVl6bSgoeVlmaAp6ODUpa0tkJCQyOXZwcEFldVlnJmZTamdkZ1JwWWti
TnFUbUxLfSVqZF9pcUZSKkkoP2RaPiUhJnRDNjJHVXdvdjYKelJmRTRreXlnZiVtPG8pbXd4Nzhf
bXppWUNNUnw+XlA5JlEtP35eTkVNPDJOWUliWWNFSTBNVWpjZ3tSQHFTb3BxCnpWeVZmUjM9JFgk
QHkmYjAmZCgjaTFPSncqekpBQXJCQys9MVdhNyFjUSZIKChzVkdJIz9FZyg3K0gzNzNiVyZfKwp6
VF8qMTxOV0t8fj5LeXAoQUFvczVAdDw9PU9KdS1DdzxfWkgxd2M+cEVfOEA4bXohNih0QHx8K05e
T0o1QUI8Ni0KelEmWG47SDhefihmK0lCUWVrOyk9dnc4ZnhHWl9wWipiZ3dCd1owI2pQdHtkKG5z
Jnd2U2plWGNqaGNmfVdjUGYmCnpRJn5Jfk92QX40O3grR3FHKFZfdSgtXistST9BKSQhazdAYVVL
NV9mOC1ya25iM3c1RWFUMD12QjI3Y1d3UEN4SAp6QUIxUWZmWTt4U00kfUhYdkh0RitJb2JzfD5F
Y2s7MUgxamh3UVlkUjVgajdnJmR3O0hUOGQkSTtRU2pVUFhMbW0KekpLTypLJWlJU2p1Uj0maEIw
dFdmcil6SiM5TDh3aDgqWCNVTEYyNmtie0s+USh7X1pHTUMhQX1rTnBpTispQHA5CnoqVyVecSVS
fk5ZXiVJbm5eWmlZdl9SP0d0KHd9ZWM1ZllMPGUjfitnZHoyVTl4c2d+TDxeNWF0QFVMPyE2QyVa
OQp6KD1ae1c2VUpobGhpWTVXOzVYeGpHMjk0IXI3VFh2ZzI9PkNpWEA5KE9HIXNiRFNOWE15VjQp
dG4zWGhxSV8weDkKelMrJT5pY18qdDtnP25HYDh+PyVFdHBubiVxR2BRTVQ3KiVFWTVWR19gfkF1
PiVSRD9GdGU3bGNXNmBUQVhQQXh3CnpAO0pVWSEhUXFZWDVKfVZ3cFF2MnIxfFFsKEFqR2dncXUz
U14xUTV9PzAoZUA2YmB9X0pAQHExOzlLbVMkZztSQwp6YlY9eUV0KGQ7VzQ2fiRvaCk1X3tsd3l4
dFpWYEdRTFdIelJuIWpLSD4kYF9we1h8VGxZTWtSWlklYnclKTx3PjIKeiY4MUB9UiZxdktOfDxB
SVJpbj5POVFaYnNRO1M9fTliaGZmNig4MDM7JTk2VHNkdEAycShrOGlnb34+ZDg9LXtYCnpNRj4k
MCVONG5PNUNKUmZDMU0tMlcxQ0kqK2srfDJCYj97NDZDLSZKNEpDe1M2VFRAcChzM2ZJdVooTU8/
eH1RRQp6N3x3SXtkPjIyOD58RFIobzUxcjM7Y3FUVEpyI3J8KntqJTtWbygxPEtvcXxMdTNMUkw4
Plo5WGxWQmp5ZD04KjIKejU9WmtkeXptOGZLZGwoezA0cEx7UWt9KllxMnQpcXFBQUBfWChyVG0h
e0QyKWkwMklsY3JCJS1yITd1Jm1NdXZtCnoofGQpVjdxT1B8Sz82WFNUfHhXR3U5elVELWYrfXlT
R2xgYVN5aighNEdONX5qejJMbjlrOzJ2Mj9Wcj9VR0g7Xgp6dHd5ITlhKSE5MFpoVXs1SF9KJm1m
fTJPLXJpKV5oSlpMfjRNZ1ZGfVEzVG5xPTE/XitzQ0VqaDE9dWdYcTRNN0gKenFSS0NrQD1GaE9p
Z2VPfCtXWUJXe15pI2ZUU3pVd1FeaWZRSFFPbUBDanVXRXAlfSZZSF43UFNOYl4yJGl4c015Cnp4
b01aNm5jNU0hLVFzUXRZSE90TyY0YmQ2T3tKej9fbTlZNWgxZXdIZUAlYmdJWilMZD4rWEMhbk5Y
dkRGNUxXagp6fERaMGJAd212eDJJWUw7anctKj0qS2Z9KFpeK0lVcl56MlY9OyFxTDxUT2dkZWcp
Umw+RV92THR8YXVATkdNPEgKektEQT48Z1ZURn5fNDBsTm9JOUdKSy04RGhnSzNJYylLVGwwMWV0
dTVHb24yfXNaSGlQMGJiRU4jbFJ3MkE+VTEjCnpCVDlpdVd0dkIwbU5OO3BVN2swdl87akMyPSpW
UXQ5ZiYmSndAWiMhPig/P0xRSilidjkoN1psPn1KKFZteUtDYwp6PkFMQm09LTVyeDc3fHwheXIt
WU9xSl4oeD1LfnNLclJncVVhbCFMeERJNiRhTnMtJSZPTDNmUFo2bD5TZnc3aWsKekpJZiNMOSMm
UzlNfTJQaitYe0hPUWtASk0/OFNUNiY1PT5QXzQ3cXhlejwqJGNHZ3NyS283U0cwZVJPbzFYWipB
CnoxPk15K2o4MWBHNF5zQTx4KXluS1RXSnA9Pm9IRH5VPkRZSGNpdX4/Nz9gJUwtT3dKJkdxeFQq
WUk7fV49QElfcgp6TWNhSXFYK3FEUyQ9WnNSITJTcjlaR0RCP3c0SUw/M1FXQnFSJTI2LXd9S2NB
S2o3ISZSdUVRV3tmYihlPFh4cSEKelVmbzVLaWhEVyU3PktOODxLUWUmWDkldGJAbjQhQz9Hb1Rg
MSgoPXk+O3RaNDlRQCgmMktgVzg8YT5jdTFzfUNGCnpScnZCaVc8U3I0eGtpcSpkY245KHpAcXx7
amRZYkhoNENrWDxqSmpmYjhVZG5UR0w5XyE2eGZlcXt9eWNzOz9CSQp6YzBPQ2lrdV8zc1opYmcm
VmFqRnR3MjJaVmZmeE9XQl9zUlRCPHBySlopekszREBoK1JFMmlqKUp0KD4pK31aZnUKeipDfWxV
Y3NPN0lnVjNjKW9aZ1RkKy1QQ1VRRn1SJkJgVz0oblgjZiltck4zUilHREhzM1BjWmRRS1pTIzhh
QiVJCnotZUIyR3dseUwqWFgmLXItQlJEaFcrITdsRlQpenJEZXxUM3I1VGY7eyZpcEokMG4lbGZZ
dmd9bTNSR0clRjJZYwp6eysoTm1kbW1TR15SJG1jeiFLJGRkXz5UKkEtO0RPVUt0dkRiQzZURE8q
MlFOUXYzMns3aXxgTV5MdU1fRUFxOWcKemhSNi1faEkwME1iTDRqX1JjQ3ZKR0xfaVEqQlhPPGJ7
UHlFZlhoNz57I015Z2IkNmRsMyVraiEwY1VHM21xTXtUCnpNQ3c8RU0/eEpRaCg9S1BidXxRR15S
TjJkS0gwVnUxK2E+YFJxWGNHWjNEQkMwQzNiKztMWk4mQWR6Pk5PO3BRKwp6XnBRKD1HT0A7NWY7
ND53UjxtKG0jX15qczZMOyFtNkB+R2QldFpSKGchSVh7X20zPiF1Nk1INDJLK29mR3VYMF8Kek9n
R1FDU34pQ0chZFZiUHFVdm5lQWhGXyg8P3c8Xjd3QHxiYUJlZGI8IyVFe0VEJUFhNztBUDUoRTAy
PWBVY3l5CnpHKTkrIWdPay09R1BvOSphbzBCal47e1ApbUhRNVBWMSNianpFNWh4QjN1PXtyelBM
UzU2NXd0Vk0+IzA+Nml2aQp6OXJaQC1ELUA8RmxgQ0ozd1kkKCp2O0hefSNDaigqekZ7REMzMmVw
UTU0JWVpSShsREhIQmhIYlY7ZWskczsmaXQKejB5QjQyKj9WJks5bCRiSFZMZkpeOS0lIVhTZGI5
eEY0d2t7K2l6eVdHQGp6YTZUdDVNejlIRUMzb3lqakhaWVQlCnp1SSttYDdxN1lKSXIqcU9edlBB
cmE9O08oV3lMQi1wQ3JZTkxPWU9ZeX5oR0xRcEwzTT0rYkY9MDJfPFdFT3Fvfgp6LUwxZ3olTX05
NT1PKDdTezY1dD8wZjVpcndIfnpSS0lkNzVaTk4wNVRlJiZjWkwtTThOSnN0fXpnelo7Y1ZYZ3EK
emwrbj9JKDtRQ0lzK1lpRzAjQFpqWEBkZldtJSV7fDdLVWdZNy1VUSRPJlV9ZXQyN2NlN0RKO0Y7
bTRSU3dwTER7CnptUXdUNVBxYENqMTBmOS1veXo8SXtpQiRpSDFEY2JpRiZEfGlYclgxazNhXzJ5
MkBNMD9ie2p3SlFeakheakdfYQp6WjA5MCkqfnE8cmV5KkkwSWJndXVTP2FPTnA9Y1kpT0s1WFBa
ISFNWnFqdkszbzVaTWIpTTBxbT1ERTUtSnA7TD8KeklpMXcyUj9mfHVKY2lFbWBHR2A8SjY5dDwh
Tj5wb3g0ND5RNlB3WndJIyY3PFBAQ3hDSTY3b1c3Ymozc3dCNDdUCnpSJWM/Qlc9am4tS2UxbF8y
eD4yZTBsJXhkZj5UZiZiUj9TI1IoOWY9ayliY0FkZCN7PU1HaDxEe2twX2RuWTBQNAp6bF9jTmo0
eVJmSnJIWFVaP2ZOcko7cW9iKExgbEo0SGBWaWhzck83UiNYYXlqaDUqQV4wdDIqQkFFQlFPMV4/
OHIKejg8Xzs7YE9mJTJKc2lrU0Yycj5iem12dSZlLXA/IXJqIz58XkBIM01BR3xwIUFJT087RmZ9
dkgmPmp8STVAWEt+CnptND0lJmxudDB5I2M1Q2taUjYoXyh1eVNSWj1Ec2NaQ2JtTHk2Syh7cS1s
QklPMjI9I1U2Zyp9STh4LUZrTDtmMQp6I1JjM2t0RTBza0t1STt2KFY2bnJfbnlUYFd6Z1R0KXhj
WWpVelIrZyQlczMzcHh2SzdEYmp4TG8jejRyaDd7aUcKeiU3dEpERFAqdUN3I3spSXYmZ0NfazFg
SDVVYUx4dyZRbzxfNW9wbURxTl43O2xHYE5mUmAkNFZkfn4jVjJCZVd2CnpQSCp1Xzs+bGM+SD9o
MFpsN0JyKHExY2pLVDNmPVpMTWFCe2tFZTAzJil3TlMzdCFWZV9gVmlVVyRPO31qYjUkNAp6eT5O
NU9NUDZYQFBTZ1dANyg/c2tveioyTHdTIXR0TXU4TE14YE4hezEmeVUtVWhpe2UmbzF7dEdkKU5B
NFN8V28KeiR+NDlDTHNWI1RmNFZgLXY1aG5qQnVzNFQrNz1tY0ckdjhvbj5+bCEodjdBZ0k4Kk43
XzR7TGEzbk1WOFU4dF8lCnp3N0JCSG9oWn4ke0dOTFgjWTt2KWY1WUQzWnUrZ2pyOzl7Qz5wT0wp
b3Y0P2JwRT4zb3tybjwlR0BhXzFaa35PJAp6ZXc1TDNebSZQT3pBcE9Oc25OaGk+YSpNSDtFKSFo
U2FuMDEldz9lWSpxT0JzbUByfXo9czdGTjkjOTtBNHtpY2cKelRuMC1FUXRAX3tyRT9sMC0zUT80
V2U0PTRJZCZEfXdwMSpkanx9TFM+Un4/RkFQUDd8X2FZanFzKkp6ZjdaTzB2CnpSViNYWUFBNiFH
MWR+dmpRa35rNS17SW9TdV5BcEFnND4tOWtMVndpJD0lZitZdTwrfUthPzdySmBgJGdpMGx3OQp6
U3d1P2VaZjFRUWJsK1g7azIxXj5ERHJoVkg4XlA4aiNWZ0Y5STkrUWh5VWtnekU2KnVuMGxZU0hK
Sm9lJnNzcHQKekdXUDEzeVBhZyMhU2xObU0kdEdeQk59eVc+MD9qIXdrMSklPXowemNNU2lwPGhu
VzxmMmlPPDNyS2U2dXRlV0xkCnpAMHEydGhGKFdvUlY9aXRFMTkwIUVeekNoLUlNQyYmfU89ZDhg
ZT9lYlAleiNhMTI7SnpCfT1RdWNFRjRme3lgSQp6VDJqd1V3X3YpIVhxfGRydC16cHh5WiQzaE4/
Pj8pZzB2cyUzLUBxKEU5JkVzM0t1OCVNIWpOd0ppREQwJmt8MkYKejBZQHdRPmd0KUs/NV96JT01
SFl7SFhGbSVhNSNKMG1xYlkoZC1tOU9WZHM4NG84QjFEal4oNmY7MFJyMSFCRSY1Cnp1JHlLOWdw
RnNHdU5qTXkrRHgjT1RYM1R1eWdWZCZUajx5O3hrbz4hVzVjWnt5OyhGKGFhUFBRMSlvWkwhSHko
IQp6eDt0Nz0xZEsxJTNlcXh1anBOOHFrSVpEQnI8bXZnMXhMJUBCLVk8SzRQV0AhUjQ+RkNafmJq
aWNUP0ViPldzaSoKencmQ3pCVEM+Vy1VfXFjSDBjYiNfQW99U24kbWJreE1RdWApOUQyTWhSQm84
Y0pYdj07Y2wrVnI/PXBZdko3PVQ1Cno1RjJZX0pubE40MX11VilFQmg8bCtRYFArYG1HNkFlP3xW
VE5JP1FSI0VVZXtRelo1dipMUmpESCVnQGtFYkBmPQp6UFJoTX0+SnU4MVErNF9jXj55d0hgZCp5
ZkVrZG9MVChpQUwmeGExe1QmRHlwM1F8dzRQYW9gWXcjZ05vOCl+MCMKeng9QVh6OEsxfStYdmde
QjVAcyZ0UkN2SjB8TkVsdDZrbHt3cDFRRHIxNiZNMVpCYnlAPlA3K0VsM3RzQDdpKlUzCnpaMVBV
byFZMDZvQV4+SW54YTBfflJkN2FtdmNhK3MtZ0hoJGxqcXBndy1XRWNyUnh0c0pzVSYjaFdPekVk
K2g7MAp6QWNDPGRadDkrU2VseW85JnB4eFNYSWF4M20lVXU5PFJsLXJWbj9AOTBgWDdKQm1HV1hz
TEY2TEFnPX1rRFJwJjgKei1kNV5EN3stXlJzb2hMX0spKCRKV3lURHh0RzhPSWJJcitMTjYmSXZh
MytIZ0t5QktxPT1KOUQoRFJNY3ZqZyFGCnptdGlibSU7USF8cE5jLVNWVFU9PmpOPiYtcldUPShV
KFhgVmpkNk40ciNCR1VFdk42XihkcCFrM3FJVGVQQXkrRgp6eGZ9czZIfUVGIU1EZzBeeHJSZmQr
R012V2V1JiorMnFOWjlaOHRoTXVxQSZUU2xTcGhUWjx8YFVJbE1qYWUhdWsKekdHazBaKHdMcSRF
aSFqcURmUHF6ckR+ZUlpTzRMVnhSZEYkbEMpNXRKeG85RDN6LWA4V2goY00hcnVlZFM+KCZhCnpH
eUkwdlBRVUtmSkNBO3VjO29ZS1EtUD5LQDMlX3FOcDBEWlN3cXV1JkJnK0x5bDRBJTspaEZxbzN7
M1M1MiMzOwp6PFBKXyVDVUYkVXFKKzJ0PykxRlhSYGkxclBAVmlocmZSTj1RYEYkIXtEQF9nSGMl
anV3ZnJtYztsZVZVYFJneHcKeilDVXN4UlBWNUolKjgrTUtFV2s+RE1wVDFmMGxjR0lNPmhIMUph
ZWx1RXd7WCtxYjBNN2g8V19pXldsQENWNzEzCnpQOC1randyYi18ZVhQN0xtZkZBa2I1TFomR1Nq
a0h7ZlRoaFZQUntTYHk8QUNAWmQ/V0haclFaTyYySktfX0ZfZgp6WUxtQVMpdiUzQjlCbDNUS0l0
UVUldFVMWntHcHU3Jm85QHdXZm4/PW0zMVIjfDlQWSMtNztTcGZGcHA1akZQO0wKek96PmB8RiZX
NkhKSSQtWldDYGUzQWFVdVRuczhGfE4mV0E1NWt1c3s2U2hKOWB0SC07Qm0pJWRnfCh7KG1eSGpw
CnpZcSF7SUwqb3RQSE1BT3AwO25UVlgxLThoJXA1SUF5VHdlT1JXPW1xJEwkcXQmfFhGO25ZV2Am
NVZ6OV48VkRgKgp6ZDNaNDRCdTcrczh7NnJwTTNsJWFCd1QjPUZ0eDA9KHFwfjV0QmY8d0Z0V049
WU9nP1FrNSRzVUw4Mn1NRjEmP20Kem4zO21WeDQ8M0BYdjxWIXI5TEh2a0hXditwXz1lPF5YZEx5
Y2Z6Sjk4KXhZNWltK2tzPnslP35XaU1pd3ZrTmJTCnp0eyFwdiZxcTt5NnshWTBCcVp6PnA7NlZ6
ND99cUU4dXRxSjZyKExTOEBFNXpFYjhIT29lcVM9YmAyaX49KChjSwp6eEhUcjMzaz0tJTx9XkJh
bEEjazQpUFMmKFgpSmg9KkMrVjsoQD1iWXN+KkpfTHZmdzt6VGZHdkFES0ZrJjgpO0gKejFXX2xu
LUY+STx6VSQ0NEhmTkNfVUltfD5adD1zdHFGVTxhdUZSPnUhY0YrdmVzbGJkeFVJaSQhZnF+fCMj
fjNjCnplfFM3QiZObS1ASk87fU1UcXRyXy1aUk9TVnJUYW5iPzRlMTh8SkEqLUBoWjAlT19JJFFE
QFk7RVFqODVeMCtlagp6czs2MF88cSlAbEpVVHZWcHtfdXZgcSV8SE08NiNEdmtVY15ESUduVzFN
eG51d1IjRy1ieDh9cDtYUj9YMk9rcnAKendMaWFFYWhHI0xiVWQ3KWRoNFJASHVuVnNaSDhvZXh1
SjE5PCo/d2hGRmVxR3RBNWg1K301QyFDY3k5ZjBMeWlaCnpGK2hMWHpGREAkTkV6cEtsSkNAOEB+
Q29xTHpMLWJicmZYczV6aChWQSl9PGpsJFctcW4oNE51cVk5VSs0bXVyMgp6OSU/KDNMTn1hbCph
ZEBQPlhmPVpkeEtQR2ZpO0VBY0syT2JRWVdoY2RwXmRgTVZPfEo8dCpvfXpZK090PzspWHIKejh6
T2NwQSllalhydXZZK1U8fDReaWhQeGxPUClaPHNrRz5nbklGJkxqcHUxNmY/YEw0Qj1fZTtMVmRC
TC1IWThWCnopYTMzUG1HJiEhb2NmO2FQPGlqQnBBTHswP2FhVFhzKypfWGF7XypYU1deY0xYSz5a
bW0jcyF2QkliPkF7NFJzRQp6PjdCZ3g+TiUoayN4UWp9UkU1dTZQX0JHYil5cHheSUtzMWszIVll
RE1FPCUyQ2ttIUdxdzJAJj1AVnlIJExYODsKej16T2JCKUB6VGVgZ30+MEp2M0lNYUk1SVp5Pj8z
PDdjM1p+QjVkNFNUamRrRmE5Q1RJKGZPJVltQnI+I2Q0SGw7Cnp3IXpzOXJxPT00JjBreTJLMmxJ
OE9efFRNRj5zYlBoJmdhWmtGXzc1V2gmX3pJZ3JFS05zdG9+WGZiN0xHYWl8YQp6eEY9RXpfSEA1
akp8bCp3MmJEYntkcF9Mc2grRHBITjxoZihIUW50WnpeYjdtYmZCeGBlZlpeKzt6MDUyITxoS04K
ei1nQXVIRSM1SzRVdHorSHVPcWFZT1l1PTNgUm5TUW8md3VqIy0zaCpjI1hQUUpqMW51RGh6MUYq
RUVqY1plPGIlCnopeDJoXjdRfDFYM0xATFJpSWJAWCkkWHZfP1hkJjluMFdWP1ZSdCFXUEUxJWYr
K0ZeRlJ1ZVlUTW8hWjdmWmx+ZAp6KCkpPmMtR29LNU9VPHl3eTJud00qTDNfWF9RMnpIR3g1V2JI
c1MocHprTSVNYipucnExeVNMRV52R080QmVpc1MKemtCVFNtRTN6YjMkJHFWSComKDFHWjhWT3xz
YWwmVEU0WEBVbmQ/Q3Zld18mRDFNNUkkeW1lZTR7bCpebWR7XjtZCnpicGl9KFZmYWI2b3YoYGJp
bVU7WFE0KEt9IXVmMVRXKiYmMV5XRG9tbj05YDVAczQ+ZCpEckszdWJwPk5fejg8MQp6UjhPNVk2
WUpRaE8lRFYzdSpHOShATCtJN0N1LTVnckNASHMkZmBoMUgwV3EyWV9fQ3Ipc3R4MnRxRkRTdzMk
PVMKekwyfUQ/OzFVLUAlRzd2VkVIQGlpdmdgRn40Xm8jKGxSOE1XTmY/M3trPG9XSW8jTGkmP2ZH
SFVJZkcoSzw/NHU9CnomPWFCaz5gOyYwSU5UX1FiWUMhWiFkIzFQdV5YPHM1RG0lZF9mMD41WE5n
WHBlKDslZTM3WnxXcypPcjckPkpZZgp6RX16SUEtZEhOQSFmJENNYWllSCFmVioxcFJ8YCtZX2M2
Y3BYa2lZJHtqY3RudnFJY3s4UmgrZl4mWjJ0bjRiNTMKelN0PWAzXnFSNWY8andaOFVCITVfTjZF
SE5xVDB5U0lIUyZKVEJ1VmJGIXpgVERlUDRXZGkpeVRzOXd+bEZGR1dQCnp3Zyolc09VNytDZH05
NDU3PVYkcFg5ZkI2R0BwSnw+Z256X2h8WGNoISoxa2xUZlcxISFIVH02XilAYS0zeDJNKwp6bS17
T3YwK2pJYF5MR2dCZTchVU5EaGQ9NnQqdHtjKzhxYDxuV3E8SkpVXn5oQUJXOG5XQD4qbXcqT3BC
OHMrUUQKemAhfDcmOXFoWmZXWFdwbzl7cj9NejdwPWkpYzkwbzRlYzIjckhCUjcpRihYPSV8Z0RU
YExxYHk0O25LKCgrdT5zCnpzIXx1YSFlJlhQOEE4UHw3KD9DYShpdnVwPzZRKWtAPWhteCs/NFZn
Sm5MSllVNitMWWNzPnw2YmhVZXFWa057Twp6TEIoa3FmZWRObjYmOHpEPT80Wm9uJCR9RXZzSH5v
Q1psSUtpaHEldSZsMWpSMV8zLWJVc25sKV5JdWdGdjhpIVYKekFGMnRENzhMXkhvdThjUlJpPTlo
Z0x9U2txRHNMMytqSGVSYER5NGk5Q0B7TlJEM0ZAcEBlRlRObm0zc3d5UUk1CnpuYmQ8SHE9ZmU/
JiVtKlljOHVMYUpBUE52dUhxSjxwalorK1VWPUghKlFvN3dlbWJ9UzJZfURSO25TKHdxK1MoOwp6
YmZrbE9gV3NvTD1lNSV0IXNteDZ1ZVhvemVxbEUrS0RGYVNnWDQ9VFQ3KHokQ1pQS0lhayVgIXtQ
eXVuX3BnaDcKejRzeUAmY0wtSlVvbGRMcXF1JDdncjV6JVJlMXtgPiEpREw2bVg9OWRqdGQzQChy
ZmdtSnJDPClwRlFlcmdgJGktCnomZiZxTEwyKnxUWXglbFY7P3czVk5pflg+QEspWGlodSFxZVVn
TiFfRnV1JXREV1J0MSFjVVBXZ3lVeTlgJXpgUQp6JmxrZkNDSW5HT2VjQF5EJDE0Y2VoUnlhWW8w
Um1uJTk4d1pUZjleJiN8c2JZeTdELX07Rn4xYlI8VCF8VjFiYHQKemtpcnA+ZXskRitPNzNPJklR
PEpTZmUkWTdVU04oR0IhVXd+NWdES2lHcih3cjlJUXxBY2F9QUI4JEQteFF+Tm44CnpoVjxNe1gj
TU5RXnhnQ3I0M0dwO2g8OV83aj9XVFk+dm9jPEt1UG1APkVqaX07R2Q9T2R4Y3FsVSF2PEFQS2Vh
PAp6VmkjQy1fPSUwM21rdVBDKHk4b2o/dTV8cmVjKEQwQyQ4MnVSOWFUNVR3cTB4X1lPZyQjYU9I
dUFAOTY8SXNoUUoKel4mfnpeZj5ocX4pYihvX2BxVH1tWEl8NTUha3diJEo2TXEtSEV6UChSflhZ
OXlhYStxTCEjWWkqbSQ2MiorTiUqCnpASFY2QjQ2d2dSVEhYWmFRa1p0YFVyNllOJXBCaSliTHgt
eW91QVRVUjBBYSgoMGkwVlk2dnpsKCNnNkdrWHg9agp6OHopLXdXTUFJUUxOS0ZyPn43OHM3R2Ni
K1dPKXNyajxuckJvTEtUNFVhT01va0I9WnJMTyhNfGhAMT8hNWR4dVIKeiFfVUE/SUVrMEs3SHo7
PDVoaHF9aDs+ZUFFK1pgRVRaRSYkbDs/V309WXl9al5MNnd8TiYlVSpkclN6eFooR0ghCnojOHpe
b3FJNk9ZO3FfbzAhWH55bypOdGtrdz4rJkhiTF8lVztMbTcwUENmVFZwKlp7JD5jVCY/KC1WeDx4
VXhjagp6XnhfNzZHUkBLUVJ7dU52JVBffm98ME9MWSg4U3d4RWR5YzlLXiZZeit4NlMwaGJOaW9i
d3x8O0dKfjl6Pil3VkwKeitIRkR0ajVpeD4zZnFrQk9Gcnc9OW5AM1IhNiMyRTtQSE5fR3U/ST1H
cmlMQUprZ3x6Uzs5SFojXmI+PURPalhpCnpmYz0yZD43WktKPClsaXV4RG45TmQzN3h0Pj85N0M9
VlI2PUh9S052ZE12fn49ZHNGWjFXO3V+elElN1BvR3whUwp6UkVKXzBNYH5XalA9NzVoUE1HX2F4
TSlWKkxyeTVOPUFFOFUrISlRbFh7IVdhe0s+TlBEY08wPzg1SGNVNiV9ZyMKeis3Y25PdktxTDQ+
TzNpNCR4TiF1S2Q5WFhoNEJJKU53RTs7bkJoN31Ifl9HIzdXeFcoO1VSbXUjQFBUSEhXKEJiCno2
Y01PY0RlbzI8UV9HRTBUaWVIe1FvVnckREBQLXh2cEQ3M0QlQ1ZAJldON2gzMUY+VUU7PDt1TVdi
Mz1GKnE/bwp6ZnBLTjJKfHZZVFJVeT9gdXBgazZ7cz9RTyhzZm9zS19oVDJGaGFmQCZDeVJHJGFY
UVFYUmREYz1GME9wOzBNYkcKem9OQ0c2QTJGJkQ9LVNeSzBWKDBRZiZfZlUzdDBjTjQoOSNfPnQ5
SWtJZE9lbSR7bE5TRUBUSTJGbH5JbSZycHFCCnp3OzE9aVZgKSsxQ0khTDNON2IpTjghQERHbklv
d3BYKE13fGxVQzx1PUYobH5VUk4zJV91YXlqYT1VN21fVWl5bwp6NzFIQlooSlglYVM/cWF6Zz9H
NSgkcTtuclg9JnZLQWo3ekxMdS1RKyh1eWd3S0p9OClfWDB0eWd2XjYmPlVsMT8KektGKmY/Yj1e
WFYrfWlQWnBseWM2PUJ6SDslVkh8LXAtXkptVTdSa3o8MTh2JlMxbEEwK21aOSQqJis/XndfOC1m
CnowWUJGYTR5SjhZeCN1fE5PNkNhdksya0hWdE4qK3RranVGaWU2YH4wTFdwYChyd2I7OCppNUhh
MTFQKWVidEtzcgp6YTBvYjkoUn5lNWgrfCoxVX42diZAaE8zKTJQbUpRYkRTNGhWIURMSkpTZWMo
YCt5TSVtZilQQGAtSllgPnQtS2EKelFvenJoKUxeV3d1O3I+fD5CWktBen4oR1ZHV1crUXZobi1s
aikkSHdMWU84ajBYRmhuc0ZHTFQ1YFQkc3sxP158CnpOKER8V09fRSlQRVopRkN4O2tEdVd3UVh2
WDVOSXxEKTBtNVJrZG53TSRXKmBmdUxZNHBaRFVPKUhmc1FSWiF7TQp6aXVKO09KJmM4U2w2JHpJ
c18zMWBtTTZaN2J1PXF4cUcqT2EhcE1USWI7eHRicTl9JihkYjlQYVJOa3Y5UjE9T30Kems5YElQ
QllqIyNqSGpYSmRPcjBXZCVUNVJabXZyQllOSUhnZ0AqQkh2MTVVQi1FS3lxa1VAJEtzWkstUkFy
Umw3CnoheHNFYjt8PnY8QSVpcmlMZG5BMyV0RmY9X2Q9ejZ1I0wobmZXSCVtMWxTV1Y7cVJSK248
dGZwKXIqSlNxdnQ7ewp6IU5KTmJGRFEmQmUlUilSWmtTaGEtfkZnZCs8aSRmbjhNQVAxcGVhVWRB
YEo4YHRiIyVwM25xelA3NFJFSlM0ZGMKejM/MnR2NThAK1I1bylxd0RrOWFfY0dfcUt3PG4rNGo7
bzRjTS0kQStDPEJOQ3p4UmZmZno+RiEySU4+KXtMczY/CnpMNF9ZMkU0SkJjTSk0TjlGPjR0M3hP
NWMpQDN8ViZgdTxRNHghZjBSQTAmN0J6Kkp3e0ZEb0klaThfcTw1PWFwQQp6c0RhdmY4TXsmU1dU
LTAwUiVFRGh5SmNRMXhuPTJMdno9X2laVSREVCN3bytxa1BjO2Q8ZVNjNiYkdSk/djxOc0YKejNg
T0xhSU9tLU5KJE9KO1YzbnNLVnclZV5VQkliUyljZDVNVnUqPGlscGlXTmo8QVZIYihqTV9KeFZl
MEhSVG9LCno/c0V9ZztOK3JzZ0t0NmpNaGxTSz44IVNLP2xVY05sOGVJI0g9WGNBJVd+b210JlVP
LWE5aXA7Vjc2ZzFYV1Rzewp6OFdmPGM8bDVTZz1WN3g0amRxKmVUJGpfbGAxVEVTbSYkPCs4bXJn
eEpRbjtqcVFMSEtPYis7UntsQUNIYihBXzQKentqX20pPzI+JkVtQ3d2RktLXlhObE57dWArSz1A
U3NjVnQpZ2tVIy1gTl5YYlA5O3pYVipWJDlnNT5rdDAjfFI9CnozZFVsZEd5PG9QUEoqbUdVbmxL
MTY1KWZCVkN+YTYmVG9qUG5vPzF3Nko+U3pfa2t+My1mWnZMbj1Pe3UjaThMdwp6a3BQMkpyVHt4
WCFHTFphUy1iR0hBX0BxViFMcCt0dzxfOWdISXVtTmdKe0hodHs0UyltJD1LQVpuR1czVihoUj4K
el5KIz5pKjtAeEcqfiN0MjlSUWRnTzJCZTg+VD88Rj96NEImR2dob2VGLUtISnF6PkwjJj95SzUy
U3tfcUBzNERtCnpUQSFweHpyQWQxemsqO3ZNaWdIclUhYHhETkJLa1UrMyR5PUhCfTdGIz56Q3Ix
dXNtR3ckbCFXc3pQVTdpcV5KQgp6VU19KnRHN2dgVGU2VT9OOEBDQmRKSGNifkRAeE1Rcm59cm05
ZDhrP1RJWCFpdGJzeSk9S00hZDJpVHgjZ3MqdlUKekQ+IyNnQjNxRGRBP0hqbkReTDl0a3MmYTQ9
e0EwcWU9RTRQciRlfHRlbzxRfXR2NktQX1R6aG9OV0xfTklGXitaCnomQVVBJVkpOUZTJlV2K3Fp
SU5WN0dtO0tfZ1diWTl6aXgkbGIqcTB2PkI5UkF2JUQwaWFqaFk/YjdxWWp2eihBOAp6SyU4K0tO
aVVSeGBQTD82bn5+JC12WmxDe3EqYCt9K3kmdn0zJmxhXmlvTF52Xzh3cExtfXlufjdKUXhac3Eh
aEkKekE9P0wlIyRIdTV1JkdGaCp4LTlJY2dVKmsjTSpWKTJWJm40c1RJWDt0Smp0MXo3KUZhOEBC
fnQ5eHYoNWdxMk1QCnpOeXFxQStMVCtJMnJWV1VBS09mK19YeEU8QWRaVmp3UnhuK15SPmxZQjMt
dSZTT0s9UTVEPkl2aTN8I1NreEp7YAp6Rm11YCU7aEIxTF9WWWAoNGxCLU9sSH5OQGFkdWdUS0Rg
I1NQOUc4VXZ5USM7Mmx9bFZfVko2QzZPOW5yZVVEaXwKelcoTiF2bV48QWZjbCt5JSQjd3xNRVNs
ZkwlQmE7JT1YNHthPzxRSmg9KjskeGh6dHZUeSNuayhNUmQ/WHNqdV5PCnpZXnlVZyVndlFebChE
dTdtVW4lbDdZJXUhUEQobVppI0lsYWt3LX5RdylPekVFJTQ8cCR+e2V6LVU+IyVvN0JETQp6LXJP
Xi0lTiF3KktIZ0trWHhNUG84dWJ2YGU0MWo/TFYoN21TXlNRYkEySlJLMUMpY2h3UllrTTVfNHUl
cChSbHgKejh0TTlUVz1CSzJ2JXIyfld5dCErI3Y8cERZTUo+JiFIWUtjKHhHbnA7ZitiYHNNZFlt
Ql4mKiNrIzNKVCorWFlfCnpvRnxBe3oqR0NOJlJvY3NxKm4kYihRZ3czSCFWUEBsUDVwNnM/T1pa
USkxJn01VX5LeFhZcnd9eWBtIyN4WjlXdQp6SE9EQmw/U3NxLT45PmtMblklVG9aPmA3fHVRMSNK
R19ZdmdVNEFnTUgqOD5GVUh0aVBHTXUyMVZVWCRZQDdxU1YKemooO2NWME1HcFB7c2g0XjFAOzxH
ckd7VDJ1eTFNc2lKNlkqOU9GODc2cFRoZnNLKVFidGVJbkJ0WmooMkY8Zl90Cnohezc9bilyWSN4
UEAjMFQ5cyQmPW1sPlg/K1ZeTmVyNE5zJk93Pz9TYTQ+TjMrVk1Rdi09MkxST2lwWWludFgwZAp6
SzFWP1dUUnZlN09ZTnZ1Q2t+T1NOX0ZifjsoZks7Yz17aExwIVNFeTBLZXk4cipIaTlGJFlmcXBz
RT1yWlR9UDYKekY3PlQtRihJRWNYe2AjQXU4KnB9WXs5PyR0SnllPVFEdkBxMC1IemxnJCVpd0NO
eT8qUF5gakY2OWpgS3dafl4jCno0YSojTEVBbjxYeit0YTFJUWtgTmpmMnw/ckcra1hxQjRUUilW
UnlBOVcxdTFmTF84YnZ6a31GbD88VzQtIystWAp6VmQ8UngzPkZRaXJQazFNUTV5bGlkdFY/e2cz
KTw1RWpjKT17ZFF5RmwqfHc/cjckM2lQRUJ5UWtkKmlKeFlYbD8Kel5hKW52d3d2Kmc9enRII3lZ
MDJIQXhudyM5UF9vfHpwdTh2N1RrbkFxel5iY1N4NnNMPkliVWNOTmU5cDN+YHFjCno4Izg3QHU7
NEFaSld9fjs+UUJeJldXe0VqYk98Q31QKytSckM9dVNRclQoPTsmbXJscnJtLTx+Wj9hKnRWRXlX
eAp6KkFZTVo9eyV7UDZFKCoqI008P35RJVY8ak87emJ0VC0yXjVoV05fS3hqVygkSSpLPGVqMCRB
TGFSMXJMa0JWMSsKempCKiFePUZRVyhXbDhvI0xnU3Q3PTJrcURfWWZrPS0yUmgzWGpFdV9hVXRY
ZWJObF9CaykoS3k9b3h5IXVZbGgoCnpsVzI4KyNJNnd3cE95SFdBYiMjWTdlaGJBJjBrYnQhSipf
fTxqOXApUm9waVp4ZVUtS3FvWTJ9WXV2b3t3RjduTgp6RlV7TzVoNyMxQjk4fVRzdzM7flNXdFZJ
MU1iQygtQlZ0R0FIKDc5OV4qODlLS0pjMCEkU0JnT2ZCI3hePntCRn4KekpvYGxTJVJMaSg0Iyt8
QGxvb0FtJWZHdTkjZXxqO3BAWm95byVraS0ybzQ9Nlo0Z2pwIyRjUVJtO0N+THU3eFRpCnpSKGQw
PTxMWEVQKypDI2Z3NDFBVV8qRnM9eTVZfHd7Yns4P1c5aVJ+YD9EX25TdHxjKkQxV3h5S2YlZUxj
PEUxNgp2YDZ1QE5sYzhMbGUqYTBEey1sPXc0LTtfemJJY2YoMzd1bXJgR3ZwMHpYeV5FNXszNjRL
bHtHYHg7ZWMkCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2Nzcy9uYW1lZC1pbWFnZXMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL25hbWVk
LWltYWdlcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJlN2YzOTliMjgwZjFlZjgwMWQxMmQzNjZjOWVhYWFh
N2RmYmRjNzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9uYW1lZC1p
bWFnZXMuaHRtbApAQCAtMCwwICsxLDI3IEBACis8c3R5bGU+CitkaXYgeworICAgIHdpZHRoOiAx
MDBweDsKKyAgICBoZWlnaHQ6IDEwMHB4OworICAgIG1hcmdpbjogNXB4OworICAgIGRpc3BsYXk6
IGlubGluZS1ibG9jazsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjazsKKyAgICBib3gtc2l6
aW5nOiBib3JkZXItYm94OworfQorLm5vcm1hbCB7CisgICAgYmFja2dyb3VuZC1pbWFnZTogLXdl
YmtpdC1uYW1lZC1pbWFnZSh3aXJlbGVzcy1wbGF5YmFjayk7CisgICAgYmFja2dyb3VuZC1zaXpl
OiAxMDAlIDEwMCU7CisgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKK30KKy5tYXNr
IHsKKyAgICAtd2Via2l0LW1hc2staW1hZ2U6IC13ZWJraXQtbmFtZWQtaW1hZ2Uod2lyZWxlc3Mt
cGxheWJhY2spOworICAgIC13ZWJraXQtbWFzay1zaXplOiAxMDAlIDEwMCU7CisgICAgYmFja2dy
b3VuZC1jb2xvcjogYmx1ZTsKK30KKzwvc3R5bGU+Cis8ZGl2IGNsYXNzPSJub3JtYWwiID48L2Rp
dj4KKzxkaXYgY2xhc3M9Im5vcm1hbCIgc3R5bGU9ImJhY2tncm91bmQtc2l6ZTogNTBweCA1MHB4
Ij48L2Rpdj4KKzxkaXYgY2xhc3M9Im5vcm1hbCIgc3R5bGU9ImJhY2tncm91bmQtc2l6ZTogNTBw
eCA1MHB4OyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlIj48L2Rpdj4KKzxkaXYgY2xhc3M9
Im5vcm1hbCIgc3R5bGU9IndpZHRoOiAxNTBweCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJub3JtYWwi
IHN0eWxlPSJoZWlnaHQ6IDE1MHB4Ij48L2Rpdj4KKzxkaXYgY2xhc3M9Im5vcm1hbCIgc3R5bGU9
IndpZHRoOiAyMDBweDsgaGVpZ2h0OiAyMDBweDsgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdDsg
YmFja2dyb3VuZC1zaXplOiA1MHB4IDUwcHgiPjwvZGl2PgorPGRpdiBjbGFzcz0ibWFzayI+PC9k
aXY+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9jc3MvbmFtZWQt
aW1hZ2VzLWV4cGVjdGVkLnBuZyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Nzcy9u
YW1lZC1pbWFnZXMtZXhwZWN0ZWQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJkMDJlNGY1YzUxMjAzMjAwNzA2
MmQ2ZTdlMmI4NThiMzc3ODI4NTYKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDIwODAyCnpjbWVJ
YWNPYUprfDFadnNHUDUhPUxoJlgtKzFuazcyKzdfZ2smKFNKQDNKQnpXelExZzx8YUcpWkE4aV9k
KmA7dAp6WlNRJHJ3fjs9ZD8+WG9ESkhPeGdvJTAqLWU9MWtrXn0xZjtJVWRpKV5LcDUzVXJDay1w
OVVXVDFCMitVLTBjUyMKejcrOCFMNyFXUG9iS3B2eF5LKUQ5KkVMNU9Fa19lYFF4aSlFQ3U8Qkl7
enRzTENnOUlVe0s2KUAwKWkkJkNYWS1XCnotdz1FI0FhSHw2QFBeUUIwY0NDUTVUP1RlU3QkJWVF
OFBxUjF7Q0EmP09TVERuNVpHNWE2TlN4X1l5Q0pYJkg7Kwp6NE9gUXNibjJhTjU1QlJNWExBQGUy
e0p0LVg7Nm5uUjZzVH1pU0ojREdUKC1BOEArdCs5JHI7ekJfOD5aXkEtKloKektER2RmI0N6cyo8
UGY+NzxeWEQ2SVVmP1QrTVd2RyNLZjxKOWxTR0RDQSh7dEwpRSU2WH1jU2huK2RDO3RpfWYmCnpR
JU02fExqXmRybT1KN1M1PU4qRzJLV2FWWlV4KHxPRjxfOzliSmFYS3J3RVR7SnNPMU1EOHl9QUxk
aklsMFRrPAp6MWx+TTt7YGQoVk9pYm9XTWJIMHVoNk1XUmtLM14kQE5nTndleCRnNF52PEsoZEB2
cG9vPXlUPjIpX3NSPTF2YWQKekE1KzY3RiomOygxTkkwNGs+anp6QXc4UWFxWXBMSyotQ0prJCRK
STBAOFZ4TW98cnNTZHNtbHcmQCpSd21oJHApCnooWGBDfEp8LXxpZk1lbGZHVn5DelhWYG5+eD92
aXRwJW14aCZFfWVPJFp6MWxvaV5uRWBufDRwSjgqeGEpOH0qSwp6emg3eWQ9ITVaNyNHVTJyJUNy
ekI9NytIfHklJWBEN2dNTU4jZHdsZjhGNjtTRiMkWWdyO3FzaVlfPllBajZRe30KejI0Qnl2aD05
anRPMVhOQiZiQTxqb0NLPDRtaXlASjNPI3R0UTdfdV4jXyFGQWIlVStWRGJWQ095QWxjPjZHNDNB
CnprM2s+c0BkMz9ZVn4yUDVhbTFjb1gjfGhhX2V7ey1gQFAzMFBHRyVyXk8xakM4M1RgbiZlOz9G
dV8rPjh6NWlefQp6fEheR0w4dEpDVUlrQUQxa0J+KkwmR0tMIXtgRCkrbHlRanVraHQjR2Zzfnot
VzUmV01EPVZYTTwmU1JXXyQ2Q1oKekB3fUJnJmdZdHolcEI9RCkwdFUrMG1uQDFmPUVCfUIoXnZv
ajBjNjZSVCQwOyZINmc5UHJFNCNub3w/UGZXNjFsCnohaHhITXpuM19BU3hPQ3JPMyhIZEhTZ25s
RmlXa2ZFYkcyfW1JU1l6bkYpOSk0UzVycjVrPllaVGN4VzxaJCtgKwp6Ny1aTCk+JlljMXxMZE40
UGtQQSplT2R1NFR5ajw9eF9tM1I1eipiVDdaTGF8JigoajFzIz40VCExTipzdzdKKUUKel83OExY
MEFfd3lSSF45OXYpLXllRnxMezlYN1pqKkdYbnBTNHZ1QU1lMjR0KHthRmpNTj99RHdPOENJSyQp
fXlHCnptZXkrfjhwMmNqKHV7TWlSKEpJRS1ULSV+Z3YzSlIjUUcjSER0JllJZDJJc1EhKldwNyEj
fiRlYSZMYj12fnJkXwp6U2E3SyhhRzNtbE8pI1FnQGI8NWc+VjBkV28kMXRvTnshKVZxNEA/K0lT
QCtkQW44VUVINGZ+KkN4SG9CMmt5MSoKekNMSChNO21+KE08U3ZNMTk3VWh3Sk1TbGhlTlQ9fkp6
RWIrNkJERClfYGVWSiROJmRrXl5pX3E0T1R9aVNAQlVGCno0bVNgU2J+VnYmNiNlYnVEZzBuYCVS
dkl3U3crRGl3VjFNeHhUbGtXP2hAY0txREM1WjxiMHEzeERee2t4a05wQgp6NHZHUFYjZyp+R287
enp4Sj1GKEFtOSZ7byp0bXxfQVduVkttbjxFZk83YHt3TkJqTDNGQENBcHc8dTJJem58bWEKeldY
SDBUbmtVd0g/Vl9sTF9hKzVQNURAdk5HMD1HaGJWQkpAMlNLa1ZzaWhzXndtUnZETkItOSVBPlJG
SztGdzlFCnpLTU9jc3BLTD84WlZrS0VYRlVEaUYkWmooNGkxa3UpKFk2PUBAXmhGKisyZyQycygr
ZXZPOThrbmR4KmI9d1c4Ygp6SyVuTzBJKTRefThOKzN2NysrSlRedjtZMisoaVBOTWNTWG1ObGJf
djJ4ZWw+VDNMUjMweUtwU19GZUVEdjNmSE8Kem1FUWZoZklneHd8TSNkYzt2diFmd1RAczcmT2U7
eWVoSVY9dDcmKDV2K0FlVmNmYHtpJTB2PXxHRkcyTFQqRlZsCnpCUkNOU25BcDFudH4rT0lzSWk0
V25ydVpSantWQCtae0M0fWtgfnJ+XkBuQVFmfC1wdmRpP1BxUjJtMDYrfjI7OAp6YGozXkAwaDZr
bSs0fVFBZXwlZzxxNng9T1JRUChIPnNgaiVELSt5PEREazZiJShINVNUdD9fR2R1QCVUTX54en0K
emFVWCVLa3BFZDJlaCF3VjViY2pYck0/MlEwMTZJYFBGc0tKPDFGQz8rZyZLPHJnUTM0RzQzeVhH
V3VIZkA+bE8kCnpudkJxdGxSME49e18+fU5pdDh9ZE4ranlDS3Nab3JPfjdsYE4oazQ7bmNlU0FL
Mz84NiRudDJWWVdoN3FAQktOJAp6eThhP2Q0eU4lUnZKQlNwK0ZiSEpQeXFsRzteUGJhTmRyfDhs
aXk+Pm8jJVVoeE9BRj9pQm1yUTl6KXVsdD0mPTUKek1zUmVEP1EqY3t5JFNCZkNET3pCQSZwIUV7
cTRpSHVgdFF1QF45Y3BnPDNgPGwrbjNjMF8xX0pJbW93ZylJYlRiCnpNUEdOMEU9VHB0dlcycF9U
SFRTST9wdyhORHRicEFReUt8UmVUPz1QZFJmdTg3JSgyWmRLKXBNQWoyfGtJTXF8ewp6eSlnIWtr
JE9YaTdYREZGWnVkUnskJkRsb1NVb3RUaGY3emVIczI5QHZkdmM/OWBMSyViJChQYXtfJFNNYyhC
eVkKenYkNjQtaEZ6OT1mPDFyZCMlQUBRX2BPNkN7X0RFTSpZNzJYZU99Q0tpNUNwbVVZKmg7O19e
SmQ/KjdUTDJqUjY/CnpWTzNsTVQoZmlqaWU1NH1gZEZOVWpnbzVoaDMmdmlGVCRjQmApezApaFQj
bmpEaDRZTihTJU1oYGBFYjVCcVVIVwp6I158KWJORGo/endKeiFoVWFScFZndCFjTDdVfkhQREtk
MFcqMV88SWBna2w4VCg+JmY7cnFnU3pnYGV1RmlVY0sKelkmeHFeVk4tdT5PY3RicGhzck9qZHhQ
S3hEQ19kPSQjezsjPG41dEZGRGlwUUItSjl5SGtxOFVvZiV+R3lMcVQqCnplV1h8S18hPUlwTGBV
WlI4MkI8XlEoZWhaI0lFIXklZ0tHfEBBSkQtTz4rakRXekEyUDtqNHkrSjNYVkdpfCZUNQp6dnpa
d2RtMmJ6JDJvayZ4d3ZFNVgrPGQ5ZnFBP2k3c2F5TFRoYWYrM3t5R0YzcFBOTHBHPkFpZyRaYVot
emxaLXwKeld2PHNHajdVP0BQS0h8OHshej02YTV4NiszJFd+dmc2azhKVHhIWW0lVnghJntRT3xz
WWFGbmk9K0w5QHFWQmJOCnpGKy0hUFR6c2hwRHt7TmN0fDVEUXRXaUBiUztGJks7OV5nWHVJQXpk
VTl1Yl9TQnt1KnQ/JXUkMzY4JjdhajJqeAp6bXFnO0JEbWNoeWpoaTB6ayUtd0xNQ0M/Kkd0WTln
cF9mfldZUzxpUy03Kz5WQXQkMmBwPitwb3ZkNnAkIT8oZCEKel9sM19IRTFZK2QmV2xfMzdpTXol
KCVDbUxNVjhTJG58e1oxVjBQQG9VRChKVjRaRDZEeTsxZiM9UHE/a0tWWHYqCnpkJFhGPV9gOWVR
IXxyY0ZWSGh3JVVfOXNlR0pJX2hfY3R8YldmU0JoVTM5Q3hKWHc2fWF+c0FnODNvWXgmNCNFcwp6
RlI9dG1fcTFGQjR+eSg9SEEtSUtfVEsmJGZiRUtXJHklR09UX0J+YCRHJXdYeHtTMX4jYmZuVjtR
R3V3VSV1RWIKek4hRE9HQSRoUEk3STUld2NhcFJHYUdPJE5DVT98ezZfOz9vQiFecmxIelhFWTtP
VT9pOS0kcStkVE8helZyMjxXCno8bE4zJkY3ZEtBXiFVeGBIOH5+MntjblJwRXtsdWt4c0xrUGBH
Pko0ZCteWUN1S2dHI19UR31ObzMtc1Rqckklawp6N3s1QWRDYl9IS1luSlNwMXJrblBtRjtNKT9m
N2UxfDVBKDg1RGJfSDxucnk5dyVvRFNnLVY7Tk57SlMwLVJfY2kKekU5YG9ZRUhDbHVRbk98aVBy
YUVWO3BWSDRUYiVWYjh8bGQ3SzMoNVJpI0RLOTV9RW4xdzcxJHV7UE9aNU9zfnVfCnooPWRZUStC
Zz1aMnhPYHZVOGxYKiVPdyhhWDwwKDFTPXN+aUVgdXRZS3tfcDIhRUAtJDMwPWlPST5LMkxxSV9L
ewp6I158TGZESytvQjs/UWljYDVJcmVLam5SM0NOJUxAUm0jTz5HaEMpKE0kc25BSCN8UVpUai1J
cjJRO010b0p6MjAKeiVKbH14d1JZKnFZWSooUSlDeClsb3xiZGdjalp+UXJPT3F9QSYrMkd5QktV
c1pEcUAtIy0oeWpVeihDXkYpUj9pCnoqYm9WaXRLMSlGbUJoPFBkTiFOS0d8cCtgcmpXKiFgPllF
ZHIlJkkqK0ZsR3NBOEB1RnFvS15XLTRHendhUDJ7Ngp6dX40SXtqazNEM0lASldhSGhfLWRBVW0z
SkRee0E5bG4+WEdyNDlDQyY2NG1LX0l7bjAqODlaWFJjIXZfe25BJXUKekZaKjhQQEo0Wm9kUjM4
STFCYiFRY3s+U2FYaUF3K2ReXjBuY1h0RT8qWE1TTD5xN2tPPiV8V25mfH0pN20qTHlkCnpSY21S
UCFKM3lyKyF4VmRSSnY8MU5tK2ZAYiQ0Snk7dF4/XiNJQlg4VSlFTWxQM0hoTysmVTc1aXJ2SVQ1
M3tFQwp6QmlwU217IyVkTWA3T0glLVJAbkwybyE3QHolN2dpMjtpeEJmNllkSHtCbzxyPyEwWGM9
NlQ9RWlZYWxUM1ZZOUoKems8Q0V8NHRROW5PVmtsJlZHT0lPS0E1WVg2YytGSyskTyVNdz4yIypO
clN7ISYqfHFYe3E/K2deO1dDc1ZnKGJOCnpMfFNieEgjUSNRPVJOKE5yOyo/Vj9BdjUtY2kmVDBu
KWkrenlpTEsmMHZITXQhYV5RY3koaDlneylWRyUoJWgtNQp6ZE9nUVJ5JGJLOCFjc3BqaUZ0eUxK
Q3ckM00qY1kyTE5DQmRBemdkaHQ5MT1qaDYhV3JBPiEpXjR5fH5HYD9II34Kej9rYnZCK2VnN14x
UTI3aXVwWkBsOElyKSF2QkN9fHhFTmp+PylyPmpLJn5nc2xJYXtOeiUzITlCdjZ7TVk0K2RhCnpE
dHBlVmo+PH56c0R5SXhaRlh7ZEVlQTZ4ZWEkQ2ozXnhRMiEpNi0pX2w+LSpMUloxck5qQk59QG52
YHxJM3lEKwp6UGRiN1R3P1F1VkBNPUEmbkN4KkErJExrd2NIVCsmcjxMQnoxenN9YHJzZ2JhTSNr
OUEyLXsqRnBaRkZuSUJtZnQKej9FfUB1TWkhPXpNdCRiQTVKa1NnQUh5UUJNKDZENVVKVSFxQSh3
eXYxfX54YnhCez5oRipRSGE2elZHNlIlXz9gCnozWnktQEs3Y2A2TiFWNkhoTC0pZVJoN20wX2tm
d3N5bFZYXjQ8VndRWm87cjFAIWElRjRIZH4rQG0tWD8/RHBhQgp6NF92WjcmPlY+MXBzalJfc0xS
dmQma2tuMiNuIXFwIVZadE1pWShNfkdESHpySU91UmAzITwtKyhZRkVrKkphRUMKelFeUzQlfDhQ
fCRWSFVwS20mPlRHUlVLKWc1QDtoJUkxI09ZPz17dFEtfEI8KVR3XyMhUTYkT0FiWlF0NEcwMCQp
CnplYEk7aG00RENqbEBLdCN6VSM+REZqY3h6QkYjZU89SjQ+KSFTel9FLXJkPmtmPnc2ejlKcj5T
MW1FKDlIJWo9Pwp6Mkc1P1hXNmlUYlE/ajc0SU58Pz4zfTkyc2pTUCFKNlVxP214YSVZdEl0fHd9
MlRFKWgpUDVjejBfeEtKamUreD8Kems3Y0x1MlZLV1BKViZDZWhidW0+KmxoMnQmeHVsZl9gckR4
eiRZekl7c0YyYDlONzJoUmZjVzMoKXMqdntoOFlSCnpRWW8yYFU0aXZrb0hFekZGSVQtKk52a3A0
TW1IS0k0P2dqJWtIdUxjQEJtYD9YMFl7WDZCfkRwZTUqWWA7Xk19TAp6X28wYCZ6bjhFQD1mfiFk
eFVueEdiRTBmWXBNczhYJURkdn4hfk1tYDVxc3w2U1loamhuVE5jNihYWEVfX3A3UE8Kem9sJiEh
dD41elRfWU85emIzSnI3I0B7RyFAUT1kSVU7ZWxrZT5yMSRveCN4YXlzTF4zdGtrfTlDTGBJUF5j
bndxCnpEWVQwVmpyeCs7PTZiRWVaTkp9YTxVPlh2WmwmYmxoK09nNkwpbSE0MlVrZktfbyokKUMh
JSFPdDZ6dH1tbis2dQp6eEcmQSMqdWBfS3NBLVBtdTtkQTNuaD5uc1p0LUViRnhIdFIpV0VKKClJ
VUg7XiloaE5xSmQ8XlUkRWt4e25wPi0KejhSKEReaUZRWmVxV2JgMVNKN2JlRWVSeTZUT21XR2J8
eFVYLTJ+WShmTipDcDZwMzM7ayYwfHFLfjsjYWUmLSRDCno4VmUmdnJgO0hTT0FTIyReI1I7Kk83
cT1vVEZVYDNMV1YrIVhHSkJiJCN8UX5lNXtAfVEoRmxidSlpVCFANFVpQQp6cEQ+NFU+U2wqZm5n
emgzT3M2O21wdmk7WCNZSXNUdVElSXNoS0N9cj0hRWxhbEJyUEZtTkYjd0dncXdwWSppblAKel4j
PFBKNTJldChpRyEzXiR3K2s4Ml42JDAqYD0mQDNXNHU1Rz59PUw2TXVYNmgpK0VRMCFifDlHVkNf
aDQmbU5uCnpLS0tpRDAhe29GWXo+VVl0ZiVueDlEbTMtQHE3TEphQ2JEWD8hdWZYRD87YUBIel40
a2o7dHFKQE90ZlNIUDNXcAp6Qz09Vnd3djspfCV+bUZpRE98QX51ckJmSVo3YUc/VylFV0dueTBQ
KzBKI3hgZEF3UGRHeXtWO1dFJGQmTGB+ZlIKemEkPVgxLTlzMGJ6JHFWUEBhYy07YitXVjxWPV5C
b2JOR2pxeyMzOGotRHtFQUJmN0lrUWBHJT1WTGZXcDY9RilaCnopIVFmJF58YEU0bDVXeSVwKjNB
R2VySXhiUT5qUThxJWBUaHdyKCVUYWBjXyRrO1B8R2NOZDkxK29mZ3lOUj0mTgp6a2pLLSNzT2Na
WGFvZyNeKS0pPTt3OUdKcG9oSE5TQExUbnMhczFoSkdSQ0Q1aTFqNVh2Uy1+YyQ/WClfczg4QnwK
enA+NXMoRmZjcFg/bExUdCh0TGFecldDMT87NitpTF9HPEhhWkAoJnw3bn53UDRIVylxMytGYkpS
KWRMNCF+ak57CnpsTmlBWkE+VWR9S0JQTz9BMn00Pzg8UlhSOFJPRWE8P3NYKjBXbGk4KUw5eT0j
KnVYIU1CPyEmcjtLOGJWPS0oJgp6SkY1NnkqV3JmeCtyZkopKGJYUHV1VSU2Z1Ilfi0xdE4/aGJh
SjRnNDQ/Y3hKWVJpSzM0Mk41ZCh1V2hDdDVITFQKejl2c19pSnhnV1JBKGV1LWpufnZkYGpHXztO
SHhTPFpuWj9jSD9iOXBnPUFPSUtQPSQjR2Q3MzFYSCs3QUJhZjwpCno2dUNfdl5zSk5RdF5pWiha
SlhZemYoeWxDej8+PGxjUVImUWFhT0gmPismV0U/PiQtT1NTUjRGeElzdUlmZ31yJgp6VyQ8Knxz
JCkyfnZEWXhXI2ZPLXFAN1gtKVl4QVBxPXJjPnNHT09CWjtKIWRXI2crWWl7bmE8JGVxNl5nPSVP
ZEIKei1LPChfJCRfZiVtc2dpTXJvV1hOMVk7dXdePV45YkF4R01XKH5gITEmWXF7VWckQzw8Jl9a
S0VZV2I5bGFIR25WCnokWHZvQFopT3xNSW8kdlkqQC05M2J8X1QqKTNQVGBDaSEwWHpsbjliYzNB
S0FrSnkrTnUjNHZFVj9Qak1VSS1Pawp6X348VF48R2dJJD12PCNkUXp2YDFUSVRZQ2FXdTtPcWFx
bFc/RzFEa09LJElyJD0zKiRRVGojSyMmQVI+aGZAOE0Kek9EK0ErRypfc2ZVaXc/R2F6LShkMVgr
XmJHSzxzMFNxNG9JQTx2TCYkbURBb2V4YFhoWWE7ZWEzbkY7Vmo0RmAkCnpXeW9sMXp4MlpiTCNO
SHlaXyhUKGgwaEZiUGt+QjIxcklgJHtKZzc0PFYhfEdCTCh5REk+THA+dD8jWW4pNWZDagp6Vj87
QXs+e148ZG5xNEI1NlB6fWcqQHlJcDBYbDg/VDxZQTlTeiU7Jl8zezJEVFk7KHs5JDRFb258V2xG
V2VTdXgKem18KG8oU1MrKiVSP2QtSnRYUW9MSGMlVF9FSmhaSEI1TlVhOz4tZHp4PTh5TGJRIXZ3
UkhjJTdyXzFBV3VFenVpCnooZFgjQU5yPDdYUVBRckZmJGNSTEsmI3ZyZ0MmaGpfZilQSVVYZjd6
bjBkR143RSkxZUNlb0dYPGkwYkxRU05Adwp6X19PbnduJm5qV3t5O1U2WnRqK0c4e1BPcTUtc0RL
UFYzeXJPR3V3eTBvfEx9RHtDQEk0enlpNk5xSXkyI1UrKVQKelV0TSFJVHZuMH54MEIxPURPMWVW
OUMhPl9sP14tWDdpXyREMmNqLSVJeEpTX24kY0xldzNTQHFBNlZiPjg1KGooCnp3YT8jSiF8cXkw
dmlXOS1GbEB1KEVxQVlTUWBWP0hoJF5aR0g4SGwpdHgpUmJaMlBTSiZDJFJLKF5GLXJWYzRHRgp6
KFpNPDl7eytrPnVrSE9TbUBCPWF6KzIrX3E5TyMhZnJGJHUxanlaYTtfKE8/emo0QndLVGpwO1k3
QFJVcklgTnAKem9LLTEtOG80VEhwP19JZUJBbXhkbW9uTnl2OGNoTzFBcjtKQytrfl9vNVJKIT8h
O3EpZTBGWXpNLTJsJHI0KXxJCnpqQXpfYjg0UlhFSWx+WUEjU1h4REBhJWdPKFQmeTw4Xjk1WWQ0
XklWb3RpcVIrKisrbzt8RCY/aStSNEQ4Z3dxUwp6R0t+ajIkVHtfZW03fk55TlMlTWNadFJQQ2xL
alotK1p+ST53VU02SDdBWTJ3YVdeSF4hP357QW8mN35gQDQmO3cKemtMJWs/JWIwUENwdi0qWnBR
aDhfeGtAQncrU05FM25xenY4JGpLfG9BKXFYTXpZbHYmTW5LU3ZMTn0lT1dmX2l6CnpecSUkSFNK
cV5gWjNhMHc5S2M2VTR2Knp2TG58bCN4NXxLTGlvJmhXX31PUzlWTGArWTt3b25+Pn5HKztKclFZ
Vwp6KUx7NmlEP2Z4QHZeYy1DaUZSYmBpX1FmWExWJT1rSX5uaDFWVVNmaiNZJWQ2bTJNJH1Fek5i
fXErNWxqNXwrQWgKeno0I1Q0PHBIRyV5QGg+MldJQ21wY3J3PzBYd0QpXyNZNF9ZPypea3BZSEhV
MjhhdnY4VEYhcnFBVjtUbz4qOEdMCnpfWl5WMmMyMzhpbXIzRW5XY0NtMVAhaTJxVlAyfiZ5dGR0
RnhaQj8mTVIpfldyI1Vge0V8eCVTVDxkNXBFRVlDVQp6MTlickgpcDM+I0tJbUEhYnxIdjNkTExB
YjFgZkR4Q2AmX0tKU0lTXyVCaEgoZjt0MV9lUio9SSNDb1EoQUgpOCUKenRSTCE/NUN6OChnb1VP
ZztAazxsT2ItekkwWV5RSGkpOX4zT3IlS1poaHkqUVdDcHg7SStGYlhkQFAhRHJ5MU1sCnpUODxD
Ki1VeyQkKF4yZ1YwTl5+MGpJQlgmK0FQOEQ0Z21IOUB8ZCltVXFrPiZfTkklIXQ+dVladDczUH1n
PT1pZQp6aFUzQnwoeW5qI2Q1XnBTeiQqXjg1UjJ2ZyRtZEFEdGRncXI5Q2U5SDYmdz1HMHsmc3RU
MHM/X05iK1B7SkV1Q0cKemxDOGxBU01Jd1VDMWF0WVQ9aVh6e3NSYDVSSFlNPnJ2fjM0b19Hc2pk
Y0pPSChRY3EqXlN9QFdjdFdAOHImXmB7CnopKGVJYCN4KmdINTVwWmledlAyVT4wKG9sdiRFZyNV
cCVydWBnfCNnQ2ckKUE/djtmMiV6UTxPWVpBO0dBaCtqOwp6LTdFZW8hI309fmU2V15MPVRmfnA8
Z1cqM3F4I0M1ekxLRShjQjRjPWRgK2YmP1N1MGc3MkRkeVlAd1dNNjZ6JloKejFGVndVVS1Mazlt
YW5lczJ8YExjMmBuan4tWEdOY1JlWW1ZMSROdj1iYDFnKi1+KHQxRW9CP3hONXA3YV4rfE8yCnoy
RSFEXkF3YzMheW9sTGhVPFl4P3JhazU2a3F5QkZZVmlLNzZAYmVgSndeIShLY2I5ZShMX0EtRi0r
PVFffTE7UQp6ZH5SITY+ODVLTDMxbzVtXjtfUz83akZZJjtMfVJrV2Nyai1DMyFgO3BsVWg5I3Vy
VCR4TihnaEZgbTdfJnsycm8KekY9Kn5yREVoVytyKVAzLTNZdng0diFnJT9Ya3UkdUl2aFNxeiN2
Q2BYQip7MUMhRjRSPXNTcDkxP0d9Tl42dWQ5Cnp0WEBgfHlaMlJCUTJhK2A0WU1tOGFrQ0clJXU4
JU1zQEt4RXtjSGRNUllXRWYzS29Nc09UdTshPER+Kil4P1daQgp6aDE5YC1DXnNkP2cpaW1jenBP
ZGljZikmfkUyZEJZMGVKbDBtYEBOdFR0PlR3a0VRbCVxQmQ8fXRNXlJSVzhqRmcKenRpPD9DUTBG
K3RLK0FKP0hlPWc3e187NTc5YStwWD10M2B6UGN2bCMwSFdAQmJuJikqeDNGY3hlNCVUc1ktQEcw
CnpnYG1nNC1QKGJgLVUtfnNPY0ZTdikzYl9FamplN1dQcjdgR2lPUnMkU1FVWUs1MCpINjh5MG1n
eWlgZ3BMNkJ+Vwp6KnJrfj1uVUlkNXdhQlYzVStHRHtHcE5HK0E8SkhzJmhFQSZfbEdXSyM1UUU0
MGMwVjBkNnJ9c1AwRldTZkpOYmkKem0tNDlURj1mNH1tOT9wIUBCTVczZG5fO09wdlApVVclPUcr
dXR6Xn0+bSV7VWc4VUstOCVUSig1QjYtQTg+bjAhCno2Y2p+KiV9XndycDUyeCREaigpPmFkTWk3
PDV7MVFKcDg7ZUBXSXZhSG1lT2ZeLWw7fDxociQzXjYtdyYxT3AzMwp6PGRNVmlrTiZCVl5DfmVH
PVAyez1ZNntpOEd+OTAxdE9ZPExhckZDIWtaSDIjTXk3OCN4c3VTa0M4RmpkPnZmSFoKelBgX3ta
SG9IISg8UyRxaGM2Z2t7V0ooPE4lM2pedXNsaG4qc2ckX211YENmT1NlOWYqSzlaQVpQYjQmYlI1
dEBJCnprayZUTS10WndQNl5TR2R4NytJTTh0RkJze2xfbjx5MHZvaCQ+VldrYUxlflQkKlJ6Vk1K
Zks+WmBuZTNSOUV8dgp6M1c0UDg4K04hNVFkK25aQWh8YmMrZCFkdEcyTDZ1N3AmYkJGITBUdHkw
aHxOazBeMlZaMiFnP3ttJEVGYj9hKmIKelhUSG1tYiZsTU17TClBQFVUfVVGKWokKSt5endJP0Zz
dlpQQ0E0UUoqblBQcV5IRnx1YzRANmNTdUA+T0FKRFVZCnpAT1hVU0RrKTglZmAwOFRJfExsQVQ/
JlF7YS0qdXJKOEFAJF94SWtyTX13VFlHWiQ+QSZDaCVrcDBVSDlKTmpDbgp6azVVZUA5N35uQjY1
ZDt9ZkZgZFM9XlhCciZaTmgkNyZMRkE/RjFMRnBqWFNadWNBUmlJbjwrRCMkIV4oVSVsVXcKemAk
SjJwJEk0Z01JelZGNkExbm4oN0hXVXZMeDtvPURuSzNCJW0jc24qPlktRnFWPnA+Qih9I3hLP1dG
QmF6RWtsCnpZQygwaWRpKC0mT1lubDZhP0xSPz9mZDA1cnFUTTg1PDVTX3tISyFLNWdUdmxnclVE
YzROSHVzKTRmMz9KfnpNVgp6NThpPmpmczQhTmUhVCtwdzRzZ29ePTNOdDhTYWZ7ZGM3LW5WeFJ8
UXl0NmlndURHfGsjO3czTTdHP3IhQzdtOXcKejRRQkxGe1p8JG9mcSVwPGNAK0VRKz1QVVF0O29m
UUk5Wmdnd3U7Z14rfG9wNkZJdkY2VDZmMEFOcjVBSmMyeDQ7Cnp1bzxxJTFBTyV9V3Y0dkA+fCgz
RjJZNV8jLThsb19VUH1OKjE4Um9ueFNublFRe1UhSWNeVGtvODxyST5IbnNhagp6X0Q/dGQ8dCo+
N0Z4TjxFancyPWBOdHZmQVFZIXomI05FLVcrc2k3ZitmcWdwe31EYlQzaWxsdmotR2JZYDMhMz0K
elc+MztgcHJobC1XIU5EbDM2djEkXmhhPzBlfm9afTFSOX5qNXFMSGFPdzQtZihga2JGR1JGRX5N
Nyt8dV5+ZENLCno4TmQ4LUpMRF4xZUk5azVZN2Z3QkcjYV4ldCpAYEl0PmtiNDdEX1VgdSZAeTVZ
ezdpOFFwUjl0SXRDZlJpbklwaAp6KTJZSThBS1QjdEBvZGxJO2hfZVlzKENCO0JJcXVgPjkpanla
Y3RuJS00UmRyYHp9bzgrPn0qeGxzZjQqZWJrMHgKeldYM2tieytRKUIxcXQqJjQ4QGNDKy1Za3hw
aHF0ZD55TWB5TnBRLVpNUm54dHpRYyo0O2RjY2thYDxSJlhGSnNACnotcE1wbFRDbmZeWkJjTmNp
fCV3PG09R0R0Q05VaGljV1NIVDtvYzM8IThzXyQtK2d3e0U+eGUocGpYJDlEPVElMQp6TnpMQChR
YVlJPlRQIyNNLTYrU2ZUSDs+SmpkdkZuTkFpck5WfSRHO2M5bUprc3o7P1NTVCFEaUhkPzBpbXhr
bFgKeiE2RkRpWWsxez9uJjtWVHt8R0lvbE4kIz87ajhIVl58S1lkeSRobT5zIWIteCopflExZXdr
JHYrSTM2fHFXOV9rCnpVJSlIeFJpK2AlSGNnKDMoZFRVaW1pcFFMTHUwfHxAfmxVZG93YVYrSzct
RWZ8TCNmUSg/U3RkSkZ8SG4rYmNaVQp6OGFaJWhIUGFgM3Q8RSFIUUpDemZqcDE8Qmx5SjtQR2U2
VWVoYiFFU0h8RzB7OC1nZj08OW98R2ljKzA2eTV5Zm0KekFBSVo8KmdmQDFRJktpUGpMKU9+dzYl
a3U5cUwqV01lQjtLMldtbWF0SUpZe0h6V0hybH5MMkZaMXV0NUJ+bklOCnoqZTZAZDc9WHFScGMh
Vj9udmlHRzcrVXEwSURsS21weSlNamlSMVUmNExYbiM0ZUY5Y3tiWG8ocGlYO29qISokdQp6RXEx
dDI3cldCdXt3bU1pbHFqcEFHWDh0PDAtU0BPIVRkc2txeUdZbU8oVSNPIVRYfHV5N2xTJmBoZFd9
ejQpMigKejtfTkpxWlMlVzslUVJAZDRSaEUzODg2YDUmP3hRMyk0fGR6WTIteVheJGxiUmVWc0wh
NGlUX09mO1gobjMhK3Y0CnpJVCM9OFpMN2FmN2BlND9GeUNMcWsqKVZSZTxWcXF5VTMpKD8qTnlu
dCthVmIpMXItV0UkR0RrKzd9PTxlTEJuNgp6VzlyKTxZPGkwYHJJbmpleXZKPEZGe211dHQtJkpC
LXF0eCE/fDJfanY/Sm9iWHY3N25Uc0U9ZTw4b2k4RSRwfWIKejJvPzl0bUU2ITszd0AzR3FUX1Zr
NyUpdFRhWk5lUiRsNWBRZFJzQ2V5UVUyKVQkZz53eClKJlY7P0xIbSVVO3dtCnoxPD9LVUw/YDNZ
P2ckb3pHVEJmJT9haVh1Qyg+ZFhxVVIyNGF3Tn5pNW1MdHR8OHsqczY1eGgmP31ORSF4N3tpPgp6
dGJmeTBxbG9lYWReRWt9M2pCUntxaWdrdyhyNkZ8WjN1JjgpbmNKZ2s7UEQlbGptYW12WHAyUmRe
VCl8aSM1c2gKekE+biUwWWUySn1JNGY9fW1SdTQ7e3NPNDw8aE5XdzhfPmImQEF7WUk5ODRkazFl
WlB8LW1FYERRTHwtOE4oRkFwCnpQSGRPb3l4JUUkZGJxb0klIVc4fmZUfDt3ckZUK21xTHB+NG5U
X2BPU2VgV2RJQD8qcWtJPXU3SjBeS0EjZVh7PAp6N0VaKnVARE4lLTRNLWdwdkRsM35PNXghbCg3
ck9CP2FVa24yaTxISnh1ZXQtYG1TPVZ2MFhzb3gxMHIrTmdMemsKenlRXk5ocFBxRTJgPEZORi1o
R0pNbXY1PzJtJUNwfVY5YGgqYkZSOUY7ZjNQLT8rMUUwITxse1ImRGlVZ05IZURTCnpFWHpVNyFR
TXZwbDk8en5KRHRBaCtpWH5XNGpxN1hOMHZSITNgOypCNHdAfXFxTkV2PGVEMzlfOyheKz1uVTJq
Sgp6WHg7Vm9fUnlXS0hRRHtndCl+JlZ1cEZ3MkM2Xz0oUTc0LWFAeTRQWXV0O0BpKjh3Zz5xdyZH
e1FBUV8yQTFkSz0KemFDMkUkSSE/RnsjV0I2dmFKTW8/PihpQyphcl8pc0JVUiFxS2wpJEMtPFNe
RF5HQlNYZypnPjBVRmBoJF9FYSk0CnowcClkRSZ+JiVSPj4hbjtCYzxmaGl9YCRefDgqPjRfR014
X0xsVn01cUIjXm1LU3lnPSF7Y018UzxAZFBmWTFYSwp6cFFCY1FDRCphajAhMmVkeD4xKXRJcVBw
VDAoZmN6Z3dYKylQdmAhS2JmRjs5Qn47eGZLTVRMcysmfi1UTm9DMSsKejdGbSUxciE+cUVAYy1X
Q3t+YmYrKj5xRSleJHl5flBVdjNQWTBSSyFad0lvK3U3TTIlMF5rfXVGPDI7Uih+QFNFCnppNTFg
NTZDWEZpa05RX1JCa2Ezcy1jSFheaV8reEZ0Qz96ZVVUJXExOX50RiF0QH1rQHtWSWBabldDY2FC
OylYPgp6a3RjNn5NZDB5MCF0VndwWj1FazV4JWBoY2JYVmpoSXFPTU9vXjVyV0NzeGdpNk0zWVVh
UXNlP0soMTsxZTwmQ0kKeiZyNlVnZDY/c35AWjFaNFVnVW1iZEpHR3FQKiV8Zz05Zn5RcFFkK1Y5
UTtlckNAeWBQJChER2skOEFhVThyZlF9CnozdHJ9az5Xa2BfOFJtP0d7QTZLVzVPIzlEX2JGa3VJ
TmBLVU9QUmhXaVZEc1RlJikzckRDWWQwQWszU3NRPFFaKgp6JCNjQ2tSM2I+SyFhVndiNExlPV8p
RkpGfkZTN2c4VSgqRVlGRmFBX2BEeDNhfEkpKEJvI3JrfillYFVJK0U9LSoKelVVWHt0a0kyIUxA
dEc+K0U5Z1BoNitZPnhNVXsrNU9jJVVJd1RDYGptbiZiQntpTjEpMW80NUhoVT0lbSVneH1NCnpZ
cnNNPUd0aGJpVjt+KTEkZ313PG4waEEhS2JWcGV8RVEwfDRFaml6U0dAKnE0eClQc2Q3eX5CO2tH
aGZSVlFGRwp6T2dHdDxZeyp9X00mRyZFZlkye1Q3YXFIKXpTUmUhJmJyZktCckM3cmd4K1p6Z2le
VnVQSiFZZyFJRz1nNFpCT28Kej4yJW1iey1EZlZnTmYkOztBfEpYb0VXaDlhayk8SXg2VjYoNmZ9
ZnxffkdEUz1jMWdLeGxOLXpKQTZvbz5JREpOCnpCdXIrSmBxQi1kJUZ9Z3xQJjFPOHRBSDtuRSl3
Z2s/K0hKdzRfcyZuclhwclQ3YnJ1aXZTQTJPQSsoJWcyJVJaPwp6RUlHQ0ZLZSYlS3k+PkUkQ2tm
UD42cXpnJDVBSyt4ZUQjNk41U19ZaTRGPWlgKFVPcCk8Vk1TcHpaQnl4VUojd24KenQwRCZpQUg8
T2swVz9LUlo0QVlea3J4ckFgOUhSbiQ5OSMxUnBEVTZkcDRec2Z4e2B3SV9PMiZnSWVzJWVNOT1N
CnoyQiNxYjdCMXtGelJmaDM8aTMjVTgrTSstPEF4Xkh5IyUzOFdLeiQodSMpRlF3M1dMPFZmSCYk
ZU88bFBsQiNMMwp6V0dZWWZUWlBIYzc0XklZcGEtKDtSRlU8bzdgXko7ZmNFKmYqSHFhQjJ7UlVH
UH1KOEVsSVAta3JCNTtsPEJqYF8KelBjWnQ+NFlDe1A8X01QTT4jLXJ3PSVodD1KVEhUVHJxaiRe
UjZ8a3NEfGkhSGtOdTlaRnA+eklhQjJ9YDJ9UWhzCnp3TUQ2V01LWkkwSUh6dGctKEVqPU1UJkY5
e1lPamdgIXs+KkZhS1dCNWFjZEkmTGRybGtpamxVc2kwVk5wKV9ebgp6YHM9T3MrUS0pWUQmXlMr
QUJVUD5wVDtVQkdWXkReTHtwSV48YVFRSCQwQ1MoS3U/b1AlPWk1UEczdWtDcUlhancKekI7bT19
Jn5nR2tlJjdad0t1Qns8SUl+I1Nyamo0K0k+M2M7akFibGpvI3BwbTU0RmFnNChAIT5Ubjd5UDQp
bXJkCnprIWxIQDEzP3JWWGdOelE7NG1HaWFfQiRmeSpPejQtQUQmTDdnRjxQMldTJHw1OUp5Q3tY
RWEyRD1TS2ItbWFlMQp6YyhtM3BifW9mSmJ8eCNTN2pKKTVte0dsYVNtfF81JHh1fkArKD1nP1c0
a2ZQU09IRkBsUDRMPWlHYUA8VXRAXmgKejRzdlFuQU9gJERIRFVjOU9RWEF3dHclPSM3P1JmMnJw
X2UwalAzN14jSmBvKzAxOVZxVVRoP3ZyaUs5QDd4ezhXCnpgWlAkVTgoc1FXZWYmfGVNJTRDeVlx
Nz5SUDglTFVgJXdaV2dgNDJpdHU0TVRsdEpSOF4wSl4tY3hzd3A/QVJeJQp6cT04dH1LTU4zMWpK
NXo8WlhgP3UzPT12azNRZyE/ZSEkRChJen53RWYjeEx5PihzIShZNXQjfjB0UzdiNXxYZiQKeil8
M3haKVdYaEZSeiRHbTQwcT0rP0piOX48V3lLM05sME40S3QjIWM2NiN1QGdSUW1fajgtbjk1O29H
VVg0WlFHCnpaa1duOWxTUnJMUGRldGc+SHFXKDdYRE0tMGN3b1opVEw9aUFIezgkTUVHN0M9WlMy
PXFYUFhCe2hoMTJiQlFNdAp6QlFkWHBHR1I2U3AkZSUzS0J0cldfUzNvaypRQUtNOEFTQC1kQG1i
S1B0RD5rSGEtPmZZM1pvezRWUSglSmtVa1UKenZtUGtFMGdAY3JgSXhDZ3VIUDE9JCY1WUowcDsy
QGl7Mj9hKTI7KVAwJnNRMHFCVEwteEd8TDhsUlpwKUxvNFF7Cnokc01oTiRCSDlXQDJrOz8/ZiQ8
ZEhwUEAxbjlORT1MOF4jaW4tUGhSRVY/QzZpOHw2MTJ9KHgxYzJuQWRpbHNxYQp6Yz1nfXZMVDRD
YUF0YDZMMTVpeG82Nn5rbjFeRGw4aihGRXB5JkhaLSFfUihRcjt6T3h0c3I3QzlPeDl6ejFwJkYK
enY+b1hFV0t4JUpgbUp7Uz56bXlSMH5LeCNGYCNHRF47PVNiJiFMSCFGRU1MVks9b1JgbGF5LVdN
ZXl1Slg0TmJuCnp4YnR1Mmp5ZClDRWUmcmpUKkAldVNOZ1J4Q21xOSsqMXVqUikkTnQtJXpzaUIh
QFExYno9WEAqQD4jcHBOI1E/LQp6M2g7bVVBYn43KCRuektNZTc4cj1pd2h6amZwfldEdlRhQ0dk
fm10QGJIJGRQclUjbmBRfDY2SFJYcSZ1KlBrXnUKemBUVldqNyhYPUNYb3lSPXdeJWtlVE4pQG1N
OzJKankqOWlyRi1kJlhXZGpoTDVPKGh7OG51NTVvK0smeml1eSstCnpQeWt8RFluM30mWiUrUzZv
eDUtJGZYLWZTNlhhI1ZVcGZqPSpKbXlSNzNFTSpSdEN8czdLKFpndEtAKiVvWDV6aAp6ZC0/SUU3
VHE0IUN5V1FAQTBgSWlHZGV2TksxUUI9UHshNFoqfStfOEFFJjAkYGIrTTxgT0J+RmZAdD1sWn1+
elEKejJjNnNhWWptdHg3fD83QjdWLW4jY1Jyd1RzT21zPVc7eEF1dVVGYzlBd1lkWldKeC1nQ2pq
TH5Ze21raFc8MEk8Cno5ZGZUfXdSQWNpaX0meUFHZGZfKjs3TkFuWVNqJis2X3NRWG1wenZMclV8
e2c2T0ttMlFnVXJKelhCdmF6RHpjNgp6Z3pEeytOKWVLM0EzbnVwI0E7THhhKUhSPG8xKGl8ZlJL
Yml6SDB0bWM2aEtgcnlAJkZ2RW09cmApWWx6WExBckwKejB4SE8qbiNjVHlpT3olcS1UellEUUx9
fmZgQik4PmVqPW0zP0RgN15EezVMXjc8T01JUXE1MnpBe0prfTl9NGV1CnokI056e3JBaGkxRlB7
PXlLMlk0UjVJSThuPCQpbEBjbWUpRkBuS34kPV9WanpyU1U+aDhRZDImVkJeYFVKZk9DRQp6TlBM
PTdZTSNRRkZffFMpbmYkfHFXSE9GNWlmJlBJOV9HZGMwO3JHcjhzNDJ4QyopMzM2KVBUfXhLRGtp
JUpSVFYKekFed2EkcGJpPExPamt+Pj5OIXZJSTVXVnhHZEVwd1I/eSt4JD1FNEZJQl8mazxsQiRi
NjNEaitZNkMjM04lT2NoCno7UyM3SnlZc0ZUVEBfNmBYbkh6ej97c2ljZF9HUHZfPGdpYip8OTZs
U181eys3fDV1TmNRO1U8Z1MkZnFlUSRZPgp6M3AkPU1zP2MmPXo2b0pRa080ZmpAe0Rldzx6NVBq
cCtkO09KUnQ0LT8kalJvLUJEZTYtdUdhTUU8OCkkdXMwRloKemxEIUMobzlNVGhvNTBlcyF2IXtl
QDxIbEF6XnElanhGQylCIUIrcGg2Z3U7X2dJLTdjXkRhIzF4SWEwe00zOT5rCnpqVl8kZ1pCV0s/
ekAobWAxQHhqanVRQj5gOyFXQ35FQ34oU144cnV5TjJMdFIwczd3P3NzZF4+X0ohb0s9TmdWXgp6
PHRjVHMyR3M2NSM7JGpMcHcyKT8mSEB4X1FaZDUzektzbFJVaTNoR2NUXnB0ZmMmQDY8PE5wMiN0
Wj85WjI7KyoKenZKRHZrYll9WFZMfDtwOyV6UkNVPUBgflAoZm4/TlFfTChHVFVeYl5MOXdYRXAh
O0d7LTJUQlA2QS1jMnpFTksyCnpvMSE+NUt9TjdVVW9nPU0/X3cpRnorUkFhPWdAaypxX3JWNVVL
a3tDVVpDNUhKPmZpe1F+Mn1vTUtiYHp4Xn1CMwp6MCE8eipGNXV7S0pKUzdacnhLK0ZDKEd1Zmdm
QENmSy1aMXJQQUpgdVExVkcjbDZWIzEqRm5iKSNsK01QWCtYPEYKejYzQyZpbjAmZGB4YGUxI2Y0
em1qJEpjaHlqIURuVTRmcENESFN6aXIlI2B2MSg2X1RHdD0oI241YiVVdkxuSHo7CnpMSGwhXkNu
QXxWbVI+TXttSzx0SURCYCRjR0ZPSXVBTXNoNjU8MSpsdHBoUUJYT1ZxPWojSzxpSGBUdmF6JWc0
JAp6SjV6WFJ0LTlWISktYjExLU9mXmded3hIcGJaLWdNO1l6MTJSXiFRTThac28pdmtRSCpJZFlu
c0p3QkA0bzd0N1oKeksoMzlzOD9eSmQmWSNFX1NecldVZSE+Xmk/X1JBbCVuVnZ5c01kVU9ERHF7
T1pGcU0kLUMwX1pEdlUjP0M1fVJCCnp4RyRQRGZ1eSM5RGo9Xi1mfWRpYl45Nz5YWXFMUCU5TXc7
WHtFZXwrbVZHRGFkeVEoenozRzYpZlNmSSo9RGlIbAp6Yj91KU9MNWZMcXdSYyZHeSFUNVp4XjZh
KDZFbDJ6SjhUMDUmRj5gQnRxbVQkd0ZtXyV0OyVPeFdmUit1OXFEM2IKenFTNDEyKHNZSDw9YUNB
YUBfaXg4MUo1NUBnUXlBMHVPJl9JKn59cGg/RkpoSG54WTFRMkhLeThXMEYjP2VeWF4pCnoxcUNZ
WDlWOCE7KlkrMS1JbEdAcz0maEMhY2VWRip5S2ljVjclKmNUPGh9WWQxITx3SlUrOyo0OGZBej50
MDZMKgp6cmdGZGZrZ0FxZGc3aklzMiRBUTZXK2w2P1dpSFdaaV9QVTc+UWY3dEspMlNxM0BzRT1t
Pl4/Y3s3NG8jdyokUFgKemNrSnlOdlZoaSgzMVFUZ2pqQVAoLWRmOERzTlUpUVJRfT44P1RGQnhv
eTNXQUc9cCE5LWxpc1pNbkxQWjRSLXM3CnpNb3NwJS1mP2Z3N25FeWVtbSExUmcrMXdIOVhhJkVQ
MlQ+I3IwTCNiPV5QTj1RfCt9aTxeZnVIWGR9TX13Nk5FXwp6NyY0aCl7JjtrYj9GJFUhaE1RJHpm
SSRaKUFmI3NrWUl0ZGVqJW5xcClrRzRCIXxsO3JuaXJ9R0pRQCk9b0JsU2gKemwjZnNkXmdLWitV
Z1psPiE7V0I8OC1RVSsqST9zdi0kbUkzKyEkMCMyTCN2WF8jMm04d1hWKSl3YTs2RSl0NzFrCnpC
VjA5OChjQm9SWiNTeiYkWWpeQTtsTjxnSjZKYFg8KypWVDsqYE1HNStkKVNpI31iMVhjfkd0RGE+
ODZJZF88Ugp6PSY7RXZxTkQhV2tIOTUyYmJXJUdTcFM5Vj5LP0t8K0l1KWdTIWFNTTxqRCo4YWto
RGd7czhUfW1rSX51RjMhV1AKeksjbTZ1ayhvTWBvKWE4UTklSG1RMil+dE1eYU9oaFQ0cFR+UFds
aVF2T3Z7MVdSUkxuVSk3U3xQKTlAMTFCVWV6CnpCOUkxcnF7LUwlR1pPZGgxNGFhdExpMFUpS2hW
ZWNGSTZzNTxZPiZFKnVyVVIyS298d3FAWmV0bGxBYFQ7alZZVQp6bEp9dkZpZS1rdU4hKzBYLV4m
RVlJcDd3O1lORCR5TzZqPn1PJUVMSTcmN2ZPZFM5JUpubXpla3MqQGRyUTElSFMKemgmOGtBTWp1
bD5NTWlVODFNTjdfMHtiUSg2Y1FHeCVOXz87Qk8zXiRZMXIzODNHe04xX15OaGtuTE82Witzcl5+
CnpQfX1DRWsqKShqPjZQNDkxU0FaejFVZFNIcUFubHtAYSRLflVhKktoWHYoNXR4Snw3WSEjK2x0
LTBwPlokcGprNQp6cnJESnVDcTc7WUBncm5aYUtHIyUyRCpxaCsmQVgpZkpBK2BFTlZkK0YhfDh7
Zys1WGI7Z0R+TE9seihIdmVNVUsKenpEc2s0KFZyPTFrNlN8YHgrJTdwPE51QkNpYGV6S3BVOGVI
JUxjI35abFFPVjlsX1JoVlN1O0ljaitDbS1fcFFICnp2OXg5M0Y7STAoYG5PZ0BsSSM0WiNAYmh4
Y3gmVk1FcTY5M19XaGhNIVVPdSNCPWZWclA8JUw2e3E4JkIwdEYoagp6TFI2dER5d0xCKyN2VDJr
Iy1PRVBMNk08bkp5UFd2elczanZhV3VNc3EoU2MlSkElM0U9PlM1WHNwND4tWTMrTSYKejtZcTIr
TFV0VllZPndqSTFAWDFeSk9GOGtkaiZoPWZwRT1GQ1lhST4kZjRIaCR1aEpXZGBQUU4pSzYoZW92
cE5yCnp0K1pwci0wVms7O3t8T2x0V0xHJSgmKzc2bkI5RCsqezAwLVVxaUZ+eXR1U20+PERUS29C
cSZFI2xxRE1CdnBWZAp6aTBwS0J3PyNgSDlCRVV+P2NSRWYyYURZdWQoPTkhMmYzXnQ5NT1KMl8p
PCF7O0Y+TkIwND96dyZaV0cjRmsxeSsKej8wTFBec1kmRVFsOUIydmV8fjQ+cD5ZNEZqSyVmRiVm
WjdwZDVtbX1yKDRwWm9uMDBTbD1tajIlPVJ7YWYqKGRhCno5RD8mR2ZNKDw8ckwobEpqQHtrWXtX
bUplPlZKPzU+VSVDMlo4JHRzSXBVUV9EejxZejh8JVhLTGUpZVJyNFBxUgp6bik7fTRoR20ha0ZK
UmVULWxAemY4elpMPSp6Uk1eX1ojVntxJD0pfmxiMnsjVHNleHAtZ3t3NlIrUiRCZnlOJjkKeihG
SH5+dWNrODR4TXY/NzFHNER2WD8lOWJkVUBRTFo2WGlFKyNfKnEoUjBsK1ZJO19YNn1OK0BnY294
Yl8xZytXCno+cG5JNWxpMEtfakg3Qz5XWD8/IVV8Xjd4cWtrOEclU2E2UDVYPmUyZEdZYl5OUEsy
dU1ve2l9dnZ7RVNBfGpRUwp6QlhhZSQ5bUVuX3p4PyVieU14VlRvaWRkYyEhJlRoR21gS31EXntp
MlJ2b2Y3Nio1cnR5bnAlZndnJHJUSSY9X34Kek42e2w/M3Z3NSQ9fVFRJHlHRUFxNilXJlgoPm9x
Sl49en4qd3FtQyVfdnk0I0t2fDQ0QXhuWH5IfHdTPjlNWkhUCnpqI05FQ1ZOZzVsMj1WakdVU2xe
K284UzVlZ3ZuaTZXUV8mdGZuTHlCPWBieGFTKitoTlMtY1peNjdYO3h2IUQ/ZQp6V1hZSyViJllA
eWk9WHNwcTwyd0VWaipNRD5DSUxZd1RTTHdEQUUtXklXKSVoeUFWWlVNbD45czc8aF5QS3hxYjEK
ekdVVGlxQmpMR1l6K2ZKZWNCTm1YSV99YCgkb0VVZktAZjA2Uk9TfGRRK2tpPXszeWkyK1R9YyNR
e29AWFl2dkU/CnpSe21AYFJGaEpzV2Q0OUtgZkZiRjZZWmY4TUZLYFVfRDthTU4ra3JuZDhZZzZw
JHVBbC1kcEFBelZOPjJzLVNUQAp6ISMwdXJANStgN3FOdDVDX2ItaFZSWHNiKWU8aCVkRFlDUWxa
Q0ZvMFVXIyhjSE92by12aiF5N0gkVnJ1UERJYikKekJ0ZXduIzBsV1E3dmg5WWhleXtrI1h1fDRV
bHEoQmVsa1M+WHpjKV5NNlVWOG9zIUp9Vll8YVQzeU4+RkkrZ3JFCnpeRlVLQiF8cXt6MEtkV0Bp
SEdqUXleYj9oNU5JSHJgOytEUmp+V0U8ZG1QVDQ2MjQkKHskS05aOVI1PlU8YlBhXwp6QHl9S3Fo
aHxfcXw3XnVTVGslaDxJTFIlVHt9dCloS013TWJnWiQkbHwyUE9obG1Ec0FeUGdEcFBwdFNTUntS
cXkKaHt7SXYhVjI4dlo3OTMldXlYRzY8X1p3b3xsfktCbGtUUUR5VWpUST8mSDRaVQoKbGl0ZXJh
bCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3QvY3NzL25hbWVkLWltYWdlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZmFzdC9jc3MvbmFtZWQtaW1hZ2VzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YzMxYmFi
NGQyMjMyNDc3ZmQ2NWEzNmIwZTU4ZGI1NzI2ZDliMTA2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL25hbWVkLWltYWdlcy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwyNiBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZp
ZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAg
UmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRlckJvZHkg
e0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQg
KDUsNTUpIHNpemUgMTAweDEwMCBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQorICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMTAsMTQ2KSBzaXplIDR4MTgKKyAgICAgICAgdGV4dCBy
dW4gYXQgKDExMCwxNDYpIHdpZHRoIDQ6ICIgIgorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQg
KDExOSw1NSkgc2l6ZSAxMDB4MTAwIFtib3JkZXI6ICgxcHggc29saWQgIzAwMDAwMCldCisgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDIyNCwxNDYpIHNpemUgNHgxOAorICAgICAgICB0ZXh0
IHJ1biBhdCAoMjI0LDE0Nikgd2lkdGggNDogIiAiCisgICAgICBSZW5kZXJCbG9jayB7RElWfSBh
dCAoMjMzLDU1KSBzaXplIDEwMHgxMDAgW2JvcmRlcjogKDFweCBzb2xpZCAjMDAwMDAwKV0KKyAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMzM4LDE0Nikgc2l6ZSA0eDE4CisgICAgICAgIHRl
eHQgcnVuIGF0ICgzMzgsMTQ2KSB3aWR0aCA0OiAiICIKKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9
IGF0ICgzNDcsNTUpIHNpemUgMTUweDEwMCBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQor
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg1MDIsMTQ2KSBzaXplIDR4MTgKKyAgICAgICAg
dGV4dCBydW4gYXQgKDUwMiwxNDYpIHdpZHRoIDQ6ICIgIgorICAgICAgUmVuZGVyQmxvY2sge0RJ
Vn0gYXQgKDUxMSw1KSBzaXplIDEwMHgxNTAgW2JvcmRlcjogKDFweCBzb2xpZCAjMDAwMDAwKV0K
KyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNjE2LDE0Nikgc2l6ZSA0eDE4CisgICAgICAg
IHRleHQgcnVuIGF0ICg2MTYsMTQ2KSB3aWR0aCA0OiAiICIKKyAgICAgIFJlbmRlckJsb2NrIHtE
SVZ9IGF0ICg1LDE2OSkgc2l6ZSAyMDB4MjAwIFtib3JkZXI6ICgxcHggc29saWQgIzAwMDAwMCld
CisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDIxMCwzNjApIHNpemUgNHgxOAorICAgICAg
ICB0ZXh0IHJ1biBhdCAoMjEwLDM2MCkgd2lkdGggNDogIiAiCisgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKK2xheWVyIGF0ICgyMjcsMjc3KSBzaXplIDEwMHgxMDAK
KyAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDIxOSwyNjkpIHNpemUgMTAweDEwMCBbYmdjb2xvcj0j
MDAwMEZGXSBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQo=
</data>
<flag name="review"
          id="280205"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>