<?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>42250</bug_id>
          
          <creation_ts>2010-07-14 05:19:01 -0700</creation_ts>
          <short_desc>Code generator: ensure generated constants match their corresponding enums.</short_desc>
          <delta_ts>2010-07-20 02:24:57 -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>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Marcus Bulach">bulach</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>hamaji</cc>
    
    <cc>japhet</cc>
    
    <cc>jorlow</cc>
    
    <cc>tonyg</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>251122</commentid>
    <comment_count>0</comment_count>
    <who name="Marcus Bulach">bulach</who>
    <bug_when>2010-07-14 05:19:01 -0700</bug_when>
    <thetext>Code generator: ensure generated constants match their corresponding enums.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251124</commentid>
    <comment_count>1</comment_count>
      <attachid>61507</attachid>
    <who name="Marcus Bulach">bulach</who>
    <bug_when>2010-07-14 05:20:42 -0700</bug_when>
    <thetext>Created attachment 61507
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251125</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-07-14 05:23:07 -0700</bug_when>
    <thetext>Attachment 61507 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebCore/bindings/scripts/test/JS/JSTestObj.cpp:1243:  jsTestObjCONST_VALUE_0 is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebCore/bindings/scripts/test/JS/JSTestObj.cpp:1248:  jsTestObjCONST_VALUE_1 is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebCore/bindings/scripts/test/JS/JSTestObj.cpp:1253:  jsTestObjCONST_VALUE_2 is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebCore/bindings/scripts/test/JS/JSTestObj.cpp:1258:  jsTestObjCONST_VALUE_4 is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebCore/bindings/scripts/test/JS/JSTestObj.cpp:1263:  jsTestObjCONST_VALUE_8 is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebCore/bindings/scripts/test/JS/JSTestObj.h:178:  jsTestObjCONST_VALUE_0 is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebCore/bindings/scripts/test/JS/JSTestObj.h:179:  jsTestObjCONST_VALUE_1 is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebCore/bindings/scripts/test/JS/JSTestObj.h:180:  jsTestObjCONST_VALUE_2 is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebCore/bindings/scripts/test/JS/JSTestObj.h:181:  jsTestObjCONST_VALUE_4 is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebCore/bindings/scripts/test/JS/JSTestObj.h:182:  jsTestObjCONST_VALUE_8 is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebCore/bindings/scripts/test/V8/V8TestObj.cpp:1025:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
Total errors found: 11 in 8 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251132</commentid>
    <comment_count>3</comment_count>
    <who name="Marcus Bulach">bulach</who>
    <bug_when>2010-07-14 05:56:20 -0700</bug_when>
    <thetext>As suggested in:
https://bugs.webkit.org/show_bug.cgi?id=41888

The code generator now generates compile-time checks for const / enums.
Notes:
1. There are ~32 exceptions (including 1 possible real mismatch), but real checks are generated for other ~35 classes.

2. This is done only for V8 at the moment. If you think this is something useful, I&apos;ll add to the other generators as well.

3. Most of this patch contains auto-generated (i.e., rebaselined/golden) files to test the bindings.

Please, let me know your thoughts on this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251147</commentid>
    <comment_count>4</comment_count>
      <attachid>61507</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-07-14 06:20:55 -0700</bug_when>
    <thetext>Comment on attachment 61507
Patch

WebCore/bindings/scripts/CodeGeneratorV8.pm:1549
 +  sub shouldCheckEnum
We should add a new attribute to these classes in their IDLs rather than adding stuff to the code generator, I think.

I think I like that we&apos;re black listing (rather than white listing) though.  That way people adding constants in the future will need to opt out rather than in.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251201</commentid>
    <comment_count>5</comment_count>
      <attachid>61523</attachid>
    <who name="Marcus Bulach">bulach</who>
    <bug_when>2010-07-14 08:30:37 -0700</bug_when>
    <thetext>Created attachment 61523
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251206</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-07-14 08:33:02 -0700</bug_when>
    <thetext>Attachment 61523 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebCore/bindings/scripts/test/JS/JSTestObj.cpp:116:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
WebCore/bindings/scripts/test/JS/JSTestObj.cpp:1250:  jsTestObjCONST_VALUE_0 is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebCore/bindings/scripts/test/JS/JSTestObj.cpp:1255:  jsTestObjCONST_VALUE_1 is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebCore/bindings/scripts/test/JS/JSTestObj.cpp:1260:  jsTestObjCONST_VALUE_2 is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebCore/bindings/scripts/test/JS/JSTestObj.cpp:1265:  jsTestObjCONST_VALUE_4 is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebCore/bindings/scripts/test/JS/JSTestObj.cpp:1270:  jsTestObjCONST_VALUE_8 is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebCore/bindings/scripts/test/JS/JSTestObj.h:178:  jsTestObjCONST_VALUE_0 is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebCore/bindings/scripts/test/JS/JSTestObj.h:179:  jsTestObjCONST_VALUE_1 is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebCore/bindings/scripts/test/JS/JSTestObj.h:180:  jsTestObjCONST_VALUE_2 is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebCore/bindings/scripts/test/JS/JSTestObj.h:181:  jsTestObjCONST_VALUE_4 is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebCore/bindings/scripts/test/JS/JSTestObj.h:182:  jsTestObjCONST_VALUE_8 is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebCore/bindings/scripts/test/V8/V8TestObj.cpp:1026:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
Total errors found: 12 in 41 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251207</commentid>
    <comment_count>7</comment_count>
    <who name="Marcus Bulach">bulach</who>
    <bug_when>2010-07-14 08:36:22 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 61507 [details])
&gt; WebCore/bindings/scripts/CodeGeneratorV8.pm:1549
&gt;  +  sub shouldCheckEnum
&gt; We should add a new attribute to these classes in their IDLs rather than adding stuff to the code generator, I think.
&gt; 
&gt; I think I like that we&apos;re black listing (rather than white listing) though.  That way people adding constants in the future will need to opt out rather than in.

I&apos;m not entirely convinced it&apos;s a property of the interface/idl to decide whether or not to check the generated code: the way I see, the code generator is the bit that knows about the details of the generated code and uses the c++ class, not the idl. Anyways, no strong feelings either way.

I added a new property &quot;DontCheckEnums&quot; and spread across the various interfaces where necessary, and also move the code up to CodeGenerator.pm so that both JS and V8 are now sharing this check. another look please?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251210</commentid>
    <comment_count>8</comment_count>
      <attachid>61523</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-07-14 08:40:39 -0700</bug_when>
    <thetext>Comment on attachment 61523
Patch

WebCore/dom/OverflowEvent.idl:26
 +      # FIXME: Remove DontCheckEnums attribute.
Remove it when?

WebCore/svg/SVGGradientElement.idl:28
 +      interface [Conditional=SVG, DontCheckEnums] SVGGradientElement : SVGElement,
Do wrapping like some of the earlier interfaces in this file.



close</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251214</commentid>
    <comment_count>9</comment_count>
      <attachid>61528</attachid>
    <who name="Marcus Bulach">bulach</who>
    <bug_when>2010-07-14 08:58:41 -0700</bug_when>
    <thetext>Created attachment 61528
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251215</commentid>
    <comment_count>10</comment_count>
    <who name="Marcus Bulach">bulach</who>
    <bug_when>2010-07-14 08:59:39 -0700</bug_when>
    <thetext>thanks Jeremy!

(In reply to comment #8)
&gt; (From update of attachment 61523 [details])
&gt; WebCore/dom/OverflowEvent.idl:26
&gt;  +      # FIXME: Remove DontCheckEnums attribute.
&gt; Remove it when?
clarified the comment.

&gt; 
&gt; WebCore/svg/SVGGradientElement.idl:28
&gt;  +      interface [Conditional=SVG, DontCheckEnums] SVGGradientElement : SVGElement,
&gt; Do wrapping like some of the earlier interfaces in this file.
done (and tidy up a few others while at it..).

&gt; 
&gt; 
&gt; 
&gt; close</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251217</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-07-14 09:00:57 -0700</bug_when>
    <thetext>Attachment 61528 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebCore/bindings/scripts/test/JS/JSTestObj.cpp:116:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
WebCore/bindings/scripts/test/JS/JSTestObj.cpp:1250:  jsTestObjCONST_VALUE_0 is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebCore/bindings/scripts/test/JS/JSTestObj.cpp:1255:  jsTestObjCONST_VALUE_1 is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebCore/bindings/scripts/test/JS/JSTestObj.cpp:1260:  jsTestObjCONST_VALUE_2 is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebCore/bindings/scripts/test/JS/JSTestObj.cpp:1265:  jsTestObjCONST_VALUE_4 is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebCore/bindings/scripts/test/JS/JSTestObj.cpp:1270:  jsTestObjCONST_VALUE_8 is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebCore/bindings/scripts/test/JS/JSTestObj.h:178:  jsTestObjCONST_VALUE_0 is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebCore/bindings/scripts/test/JS/JSTestObj.h:179:  jsTestObjCONST_VALUE_1 is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebCore/bindings/scripts/test/JS/JSTestObj.h:180:  jsTestObjCONST_VALUE_2 is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebCore/bindings/scripts/test/JS/JSTestObj.h:181:  jsTestObjCONST_VALUE_4 is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebCore/bindings/scripts/test/JS/JSTestObj.h:182:  jsTestObjCONST_VALUE_8 is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebCore/bindings/scripts/test/V8/V8TestObj.cpp:1026:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
Total errors found: 12 in 41 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251244</commentid>
    <comment_count>12</comment_count>
      <attachid>61528</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-07-14 09:49:52 -0700</bug_when>
    <thetext>Comment on attachment 61528
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251263</commentid>
    <comment_count>13</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-07-14 10:20:58 -0700</bug_when>
    <thetext>Why do we need to disable the checking in so many of the existing IDL files? Is it one reason? Multiple reasons? Before we make this the way we do everything in the future, I’d like to understand exactly why our existing code isn’t conformant.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251274</commentid>
    <comment_count>14</comment_count>
    <who name="Marcus Bulach">bulach</who>
    <bug_when>2010-07-14 10:34:38 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; Why do we need to disable the checking in so many of the existing IDL files? Is it one reason? Multiple reasons? Before we make this the way we do everything in the future, I’d like to understand exactly why our existing code isn’t conformant.

Hi Darin,

There are a few reasons, here&apos;s a sample:
1. Node.idl / .h: some of the enums are defined are defined as global constants rather than enums in the .h (DOCUMENT_POSITION_*)

2. DOMCoreException (and a few SVG-related idls): the enum is not defined in the corresponding .h.

3. RangeException.idl / .h: in the header file, the actual constant values are defined in terms of some other value:
BAD_BOUNDARYPOINTS_ERR = RangeExceptionOffset + 1;

4. one other case, OverflowEvent, the values simply don&apos;t match.

on 1 and 4, I&apos;m happy to chase this and clean it up, I think it&apos;s reasonably straightforward. For (2), I think we&apos;d need to keep the check. For (3), I&apos;m not familiar with those bits, so I&apos;m not sure yet whether or not it&apos;s possible to fix.

Please, let me know if this is any clear.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251276</commentid>
    <comment_count>15</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-07-14 10:37:13 -0700</bug_when>
    <thetext>In my opinion, any that are easy to fix should be fixed in the initial check-in. It’s fine to leave some undone -- my concern is that there are 31 uses of it here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251288</commentid>
    <comment_count>16</comment_count>
      <attachid>61528</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-14 10:58:33 -0700</bug_when>
    <thetext>Comment on attachment 61528
Patch

Clearing flags on attachment: 61528

Committed r63331: &lt;http://trac.webkit.org/changeset/63331&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251289</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-14 10:58:39 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251301</commentid>
    <comment_count>18</comment_count>
    <who name="Marcus Bulach">bulach</who>
    <bug_when>2010-07-14 11:19:20 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; In my opinion, any that are easy to fix should be fixed in the initial check-in. It’s fine to leave some undone -- my concern is that there are 31 uses of it here.

Apologies Darin, this landed through the commit queue.
I&apos;ll do a follow up and will cc: you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251373</commentid>
    <comment_count>19</comment_count>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2010-07-14 12:58:45 -0700</bug_when>
    <thetext>(In reply to comment #18)
&gt; (In reply to comment #15)
&gt; &gt; In my opinion, any that are easy to fix should be fixed in the initial check-in. It’s fine to leave some undone -- my concern is that there are 31 uses of it here.
&gt; 
&gt; Apologies Darin, this landed through the commit queue.
&gt; I&apos;ll do a follow up and will cc: you.

Would you mind copying me too? I need to update WebCore/page/Navigation.{idl|h}, but it isn&apos;t immediately clear to me what the correct pattern is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251374</commentid>
    <comment_count>20</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-07-14 12:59:40 -0700</bug_when>
    <thetext>It’s bug 42278.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253625</commentid>
    <comment_count>21</comment_count>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2010-07-20 02:24:57 -0700</bug_when>
    <thetext>Committed r63736: &lt;http://trac.webkit.org/changeset/63736&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>61507</attachid>
            <date>2010-07-14 05:20:42 -0700</date>
            <delta_ts>2010-07-14 08:30:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42250-20100714132040.patch</filename>
            <type>text/plain</type>
            <size>15290</size>
            <attacher name="Marcus Bulach">bulach</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ODg4YzQwMjNhYTE4MjA5YTA0NGIzMWRhNzE2MmU1ZWM0ZjUxOGU3Mi4uNmJjNWYwMTY0MDA4NWYx
YTdkNGQ4Mjk4MGIyMmMxNDczNTYxMjFlNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMSBAQAorMjAxMC0wNy0xNCAgTWFy
Y3VzIEJ1bGFjaCAgPGJ1bGFjaEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ29kZSBnZW5lcmF0b3I6IGVuc3VyZSBnZW5lcmF0
ZWQgY29uc3RhbnRzIG1hdGNoIHRoZWlyIGNvcnJlc3BvbmRpbmcgZW51bXMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjI1MAorCisgICAgICAgIFRl
c3RzOiB1cGRhdGVkIGJpbmRpbmdzIHRlc3RzLiBHZW5lcmF0ZWQgY29kZSBzaG91bGQgY29tcGls
ZS4KKworICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdE9iai5oOgorICAgICAg
ICAoV2ViRE9NVGVzdE9iajo6KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0T2JqLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oik6CisgICAgICAgIChXZWJDb3JlOjpK
U1Rlc3RPYmpQcm90b3R5cGU6OmdldE93blByb3BlcnR5U2xvdCk6CisgICAgICAgIChXZWJDb3Jl
OjpKU1Rlc3RPYmpQcm90b3R5cGU6OmdldE93blByb3BlcnR5RGVzY3JpcHRvcik6CisgICAgICAg
IChXZWJDb3JlOjpqc1Rlc3RPYmpDT05TVF9WQUxVRV8wKToKKyAgICAgICAgKFdlYkNvcmU6Ompz
VGVzdE9iakNPTlNUX1ZBTFVFXzEpOgorICAgICAgICAoV2ViQ29yZTo6anNUZXN0T2JqQ09OU1Rf
VkFMVUVfMik6CisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RPYmpDT05TVF9WQUxVRV80KToKKyAg
ICAgICAgKFdlYkNvcmU6OmpzVGVzdE9iakNPTlNUX1ZBTFVFXzgpOgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouaDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvT2JqQy9ET01UZXN0T2JqLmg6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Rlc3RPYmouaWRsOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRl
c3RPYmouY3BwOgorICAgICAgICAoV2ViQ29yZTo6KToKKyAgICAgICAgKFdlYkNvcmU6OkNvbmZp
Z3VyZVY4VGVzdE9ialRlbXBsYXRlKToKKwogMjAxMC0wNy0xNCAgTmlrb2xhcyBaaW1tZXJtYW5u
ICA8bnppbW1lcm1hbm5AcmltLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRl
bC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgu
cG0gYi9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCmluZGV4IDM4
M2JiNzQ2Y2M4NDRmZjI0OWMxMmQyZTFiMWE5OGQwMmVkM2M3MzguLjFiNDRkNzkwMjY0YWNmMzBh
NTJmM2UwZTUwNjUxYWFjMTQ2Y2E1NmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0Nv
ZGVHZW5lcmF0b3JWOC5wbQpAQCAtMTU0Niw2ICsxNTQ2LDQ3IEBAIHN1YiBHZW5lcmF0ZUltcGxl
bWVudGF0aW9uTWFzcXVlcmFkZXNBc1VuZGVmaW5lZAogICAgIH0KIH0KIAorc3ViIHNob3VsZENo
ZWNrRW51bQoreworICAgIG15ICRuYW1lID0gc2hpZnQ7CisgICAgIyBFbnVtcyBnZW5lcmF0ZWQg
ZnJvbSB0aGVzZSBvYmplY3RzIGFyZW4ndCBjaGVja2VkLgorICAgIG15ICVub25DaGVja2VkRW51
bXMgPSAoCisgICAgICAgICJET01BcHBsaWNhdGlvbkNhY2hlIiA9PiAiMSIsCisgICAgICAgICJE
T01Db3JlRXhjZXB0aW9uIiA9PiAiMSIsCisgICAgICAgICJFdmVudEV4Y2VwdGlvbiIgPT4gIjEi
LAorICAgICAgICAiRmlsZUVycm9yIiA9PiAiMSIsCisgICAgICAgICJGaWxlUmVhZGVyIiA9PiAi
MSIsCisgICAgICAgICJGbG9hdDMyQXJyYXkiID0+ICIxIiwKKyAgICAgICAgIkludDE2QXJyYXki
ID0+ICIxIiwKKyAgICAgICAgIkludDMyQXJyYXkiID0+ICIxIiwKKyAgICAgICAgIkludDhBcnJh
eSIgPT4gIjEiLAorICAgICAgICAiSmF2YVNjcmlwdENhbGxGcmFtZSIgPT4gIjEiLAorICAgICAg
ICAiTm9kZSIgPT4gIjEiLAorICAgICAgICAjIEZJWE1FOiAiT3ZlcmZsb3dFdmVudCIgaGFzIGEg
cmVhbCBtaXNtYXRjaC4KKyAgICAgICAgIk92ZXJmbG93RXZlbnQiID0+ICIxIiwKKyAgICAgICAg
IlJhbmdlRXhjZXB0aW9uIiA9PiAiMSIsCisgICAgICAgICJTUUxFeGNlcHRpb24iID0+ICIxIiwK
KyAgICAgICAgIlNWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50IiA9PiAiMSIsCisg
ICAgICAgICJTVkdFeGNlcHRpb24iID0+ICIxIiwKKyAgICAgICAgIlNWR0ZFQmxlbmRFbGVtZW50
IiA9PiAiMSIsCisgICAgICAgICJTVkdGRUNvbG9yTWF0cml4RWxlbWVudCIgPT4gIjEiLAorICAg
ICAgICAiU1ZHRkVDb21wb3NpdGVFbGVtZW50IiA9PiAiMSIsCisgICAgICAgICJTVkdGRUNvbnZv
bHZlTWF0cml4RWxlbWVudCIgPT4gIjEiLAorICAgICAgICAiU1ZHRkVEaXNwbGFjZW1lbnRNYXBF
bGVtZW50IiA9PiAiMSIsCisgICAgICAgICJTVkdGRU1vcnBob2xvZ3lFbGVtZW50IiA9PiAiMSIs
CisgICAgICAgICJTVkdGRVR1cmJ1bGVuY2VFbGVtZW50IiA9PiAiMSIsCisgICAgICAgICJTVkdH
cmFkaWVudEVsZW1lbnQiID0+ICIxIiwKKyAgICAgICAgIlVpbnQxNkFycmF5IiA9PiAiMSIsCisg
ICAgICAgICJVaW50MzJBcnJheSIgPT4gIjEiLAorICAgICAgICAiVWludDhBcnJheSIgPT4gIjEi
LAorICAgICAgICAiV2ViR0xSZW5kZXJpbmdDb250ZXh0IiA9PiAiMSIsCisgICAgICAgICJXZWJL
aXRDU1NUcmFuc2Zvcm1WYWx1ZSIgPT4gIjEiLAorICAgICAgICAiWE1MSHR0cFJlcXVlc3RFeGNl
cHRpb24iID0+ICIxIiwKKyAgICAgICAgIlhQYXRoRXhjZXB0aW9uIiA9PiAiMSIsCisgICAgKTsK
KyAgICByZXR1cm4gbm90IGV4aXN0cyAkbm9uQ2hlY2tlZEVudW1zeyRuYW1lfTsKK30KKwogc3Vi
IEdlbmVyYXRlSW1wbGVtZW50YXRpb24KIHsKICAgICBteSAkb2JqZWN0ID0gc2hpZnQ7CkBAIC0x
NzUzLDYgKzE3OTQsMTQgQEAgRU5ECiAgICAgfQogICAgIGlmICgkaGFzX2NvbnN0YW50cykgewog
ICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIn07XG4iKTsKKyAgICAgICAgIyBJZiBuZWNlc3Nh
cnksIGNoZWNrIHRoYXQgYWxsIGNvbnN0YW50cyBhcmUgYXZhaWxhYmxlIGFzIGVudW1zIHdpdGgg
dGhlIHNhbWUgdmFsdWUuCisgICAgICAgIGlmIChzaG91bGRDaGVja0VudW0oJGludGVyZmFjZU5h
bWUpKSB7CisgICAgICAgICAgICBmb3JlYWNoIG15ICRjb25zdGFudCAoQHskZGF0YU5vZGUtPmNv
bnN0YW50c30pIHsKKyAgICAgICAgICAgICAgICBteSAkbmFtZSA9ICRjb25zdGFudC0+bmFtZTsK
KyAgICAgICAgICAgICAgICBteSAkdmFsdWUgPSAkY29uc3RhbnQtPnZhbHVlOworICAgICAgICAg
ICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiQ09NUElMRV9BU1NFUlQoJHZhbHVlID09ICR7aW50
ZXJmYWNlTmFtZX06OiRuYW1lLCAke2ludGVyZmFjZU5hbWV9RW51bSR7bmFtZX1Jc1dyb25nKTtc
biIpOworICAgICAgICAgICAgfQorICAgICAgICB9CiAgICAgfQogCiAgICAgcHVzaChAaW1wbENv
bnRlbnREZWNscywgIn0gLy8gbmFtZXNwYWNlICR7aW50ZXJmYWNlTmFtZX1JbnRlcm5hbFxuXG4i
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01U
ZXN0T2JqLmggYi9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdE9i
ai5oCmluZGV4IDFlYjVlZDMzZWQ3MmVjYzZkZTM2N2FjZWFmY2FhMmYwNjdkY2EyMDkuLjg2Yzcx
Njk4ZDZiZjk3MDM3MjdlZmNiY2M5NDJjNjdlY2MzYTNiMzkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0T2JqLmgKKysrIGIvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RPYmouaApAQCAtNDIsNiArNDIsMTQg
QEAgcHVibGljOgogICAgIFdlYkRPTVRlc3RPYmooY29uc3QgV2ViRE9NVGVzdE9iaiYpOwogICAg
IH5XZWJET01UZXN0T2JqKCk7CiAKKyAgICBlbnVtIHsKKyAgICAgICAgV0VCRE9NX0NPTlNUX1ZB
TFVFXzAgPSAwLAorICAgICAgICBXRUJET01fQ09OU1RfVkFMVUVfMSA9IDEsCisgICAgICAgIFdF
QkRPTV9DT05TVF9WQUxVRV8yID0gMiwKKyAgICAgICAgV0VCRE9NX0NPTlNUX1ZBTFVFXzQgPSA0
LAorICAgICAgICBXRUJET01fQ09OU1RfVkFMVUVfOCA9IDgKKyAgICB9OworCiAgICAgaW50IHJl
YWRPbmx5SW50QXR0cigpIGNvbnN0OwogICAgIFdlYkRPTVN0cmluZyByZWFkT25seVN0cmluZ0F0
dHIoKSBjb25zdDsKICAgICBXZWJET01UZXN0T2JqIHJlYWRPbmx5VGVzdE9iakF0dHIoKSBjb25z
dDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9i
ai5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCmlu
ZGV4IDJmNTYxZjlkMWFkNmE3NDYyYzAxOWMzMWY0MmQwYzQ1ZjVjNGU4NjUuLjIyMjU3NDM0MGU4
OWMxNDQ4ZjQzNDZiNDVkZTc3MTg5N2ZkYmYzMzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcApAQCAtMTAwLDEzICsxMDAsMTggQEAgc3RhdGlj
IEpTQ19DT05TVF9IQVNIVEFCTEUgSGFzaFRhYmxlIEpTVGVzdE9ialRhYmxlID0geyA2OCwgNjMs
IEpTVGVzdE9ialRhYmxlVmEKICNkZWZpbmUgVEhVTktfR0VORVJBVE9SKGdlbmVyYXRvcikKICNl
bmRpZgogCi1zdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0T2JqQ29uc3RydWN0b3JU
YWJsZVZhbHVlc1sxXSA9CitzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0T2JqQ29u
c3RydWN0b3JUYWJsZVZhbHVlc1s2XSA9CiB7CisgICAgeyAiQ09OU1RfVkFMVUVfMCIsIERvbnRE
ZWxldGUgfCBSZWFkT25seSwgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0
VmFsdWVGdW5jPihqc1Rlc3RPYmpDT05TVF9WQUxVRV8wKSwgKGludHB0cl90KTAgVEhVTktfR0VO
RVJBVE9SKDApIH0sCisgICAgeyAiQ09OU1RfVkFMVUVfMSIsIERvbnREZWxldGUgfCBSZWFkT25s
eSwgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rl
c3RPYmpDT05TVF9WQUxVRV8xKSwgKGludHB0cl90KTAgVEhVTktfR0VORVJBVE9SKDApIH0sCisg
ICAgeyAiQ09OU1RfVkFMVUVfMiIsIERvbnREZWxldGUgfCBSZWFkT25seSwgKGludHB0cl90KXN0
YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpDT05TVF9WQUxV
RV8yKSwgKGludHB0cl90KTAgVEhVTktfR0VORVJBVE9SKDApIH0sCisgICAgeyAiQ09OU1RfVkFM
VUVfNCIsIERvbnREZWxldGUgfCBSZWFkT25seSwgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3Bl
cnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpDT05TVF9WQUxVRV80KSwgKGludHB0cl90
KTAgVEhVTktfR0VORVJBVE9SKDApIH0sCisgICAgeyAiQ09OU1RfVkFMVUVfOCIsIERvbnREZWxl
dGUgfCBSZWFkT25seSwgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFs
dWVGdW5jPihqc1Rlc3RPYmpDT05TVF9WQUxVRV84KSwgKGludHB0cl90KTAgVEhVTktfR0VORVJB
VE9SKDApIH0sCiAgICAgeyAwLCAwLCAwLCAwIFRIVU5LX0dFTkVSQVRPUigwKSB9CiB9OwogCiAj
dW5kZWYgVEhVTktfR0VORVJBVE9SCi1zdGF0aWMgSlNDX0NPTlNUX0hBU0hUQUJMRSBIYXNoVGFi
bGUgSlNUZXN0T2JqQ29uc3RydWN0b3JUYWJsZSA9IHsgMSwgMCwgSlNUZXN0T2JqQ29uc3RydWN0
b3JUYWJsZVZhbHVlcywgMCB9Oworc3RhdGljIEpTQ19DT05TVF9IQVNIVEFCTEUgSGFzaFRhYmxl
IEpTVGVzdE9iakNvbnN0cnVjdG9yVGFibGUgPSB7IDE2LCAxNSwgSlNUZXN0T2JqQ29uc3RydWN0
b3JUYWJsZVZhbHVlcywgMCB9OwogY2xhc3MgSlNUZXN0T2JqQ29uc3RydWN0b3IgOiBwdWJsaWMg
RE9NQ29uc3RydWN0b3JPYmplY3QgewogcHVibGljOgogICAgIEpTVGVzdE9iakNvbnN0cnVjdG9y
KEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqKTsKQEAgLTE0OCw4ICsxNTMsMTMg
QEAgYm9vbCBKU1Rlc3RPYmpDb25zdHJ1Y3Rvcjo6Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEV4
ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnQKICNkZWZpbmUgVEhVTktfR0VORVJBVE9SKGdlbmVy
YXRvcikKICNlbmRpZgogCi1zdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0T2JqUHJv
dG90eXBlVGFibGVWYWx1ZXNbMzFdID0KK3N0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rl
c3RPYmpQcm90b3R5cGVUYWJsZVZhbHVlc1szNl0gPQogeworICAgIHsgIkNPTlNUX1ZBTFVFXzAi
LCBEb250RGVsZXRlIHwgUmVhZE9ubHksIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNs
b3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqQ09OU1RfVkFMVUVfMCksIChpbnRwdHJfdCkwIFRI
VU5LX0dFTkVSQVRPUigwKSB9LAorICAgIHsgIkNPTlNUX1ZBTFVFXzEiLCBEb250RGVsZXRlIHwg
UmVhZE9ubHksIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVu
Yz4oanNUZXN0T2JqQ09OU1RfVkFMVUVfMSksIChpbnRwdHJfdCkwIFRIVU5LX0dFTkVSQVRPUigw
KSB9LAorICAgIHsgIkNPTlNUX1ZBTFVFXzIiLCBEb250RGVsZXRlIHwgUmVhZE9ubHksIChpbnRw
dHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqQ09O
U1RfVkFMVUVfMiksIChpbnRwdHJfdCkwIFRIVU5LX0dFTkVSQVRPUigwKSB9LAorICAgIHsgIkNP
TlNUX1ZBTFVFXzQiLCBEb250RGVsZXRlIHwgUmVhZE9ubHksIChpbnRwdHJfdClzdGF0aWNfY2Fz
dDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqQ09OU1RfVkFMVUVfNCksIChp
bnRwdHJfdCkwIFRIVU5LX0dFTkVSQVRPUigwKSB9LAorICAgIHsgIkNPTlNUX1ZBTFVFXzgiLCBE
b250RGVsZXRlIHwgUmVhZE9ubHksIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6
OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqQ09OU1RfVkFMVUVfOCksIChpbnRwdHJfdCkwIFRIVU5L
X0dFTkVSQVRPUigwKSB9LAogICAgIHsgInZvaWRNZXRob2QiLCBEb250RGVsZXRlIHwgRnVuY3Rp
b24sIChpbnRwdHJfdClzdGF0aWNfY2FzdDxOYXRpdmVGdW5jdGlvbj4oanNUZXN0T2JqUHJvdG90
eXBlRnVuY3Rpb25Wb2lkTWV0aG9kKSwgKGludHB0cl90KTAgVEhVTktfR0VORVJBVE9SKDApIH0s
CiAgICAgeyAidm9pZE1ldGhvZFdpdGhBcmdzIiwgRG9udERlbGV0ZSB8IEZ1bmN0aW9uLCAoaW50
cHRyX3Qpc3RhdGljX2Nhc3Q8TmF0aXZlRnVuY3Rpb24+KGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0
aW9uVm9pZE1ldGhvZFdpdGhBcmdzKSwgKGludHB0cl90KTMgVEhVTktfR0VORVJBVE9SKDApIH0s
CiAgICAgeyAiaW50TWV0aG9kIiwgRG9udERlbGV0ZSB8IEZ1bmN0aW9uLCAoaW50cHRyX3Qpc3Rh
dGljX2Nhc3Q8TmF0aXZlRnVuY3Rpb24+KGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uSW50TWV0
aG9kKSwgKGludHB0cl90KTAgVEhVTktfR0VORVJBVE9SKDApIH0sCkBAIC0xODQsNyArMTk0LDcg
QEAgc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVlIEpTVGVzdE9ialByb3RvdHlwZVRhYmxlVmFs
dWVzWzMxXSA9CiB9OwogCiAjdW5kZWYgVEhVTktfR0VORVJBVE9SCi1zdGF0aWMgSlNDX0NPTlNU
X0hBU0hUQUJMRSBIYXNoVGFibGUgSlNUZXN0T2JqUHJvdG90eXBlVGFibGUgPSB7IDEzMCwgMTI3
LCBKU1Rlc3RPYmpQcm90b3R5cGVUYWJsZVZhbHVlcywgMCB9Oworc3RhdGljIEpTQ19DT05TVF9I
QVNIVEFCTEUgSGFzaFRhYmxlIEpTVGVzdE9ialByb3RvdHlwZVRhYmxlID0geyAxMzIsIDEyNywg
SlNUZXN0T2JqUHJvdG90eXBlVGFibGVWYWx1ZXMsIDAgfTsKIGNvbnN0IENsYXNzSW5mbyBKU1Rl
c3RPYmpQcm90b3R5cGU6OnNfaW5mbyA9IHsgIlRlc3RPYmpQcm90b3R5cGUiLCAwLCAmSlNUZXN0
T2JqUHJvdG90eXBlVGFibGUsIDAgfTsKIAogSlNPYmplY3QqIEpTVGVzdE9ialByb3RvdHlwZTo6
c2VsZihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCkBAIC0x
OTQsMTIgKzIwNCwxMiBAQCBKU09iamVjdCogSlNUZXN0T2JqUHJvdG90eXBlOjpzZWxmKEV4ZWNT
dGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdAogCiBib29sIEpTVGVzdE9i
alByb3RvdHlwZTo6Z2V0T3duUHJvcGVydHlTbG90KEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRl
bnRpZmllciYgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmIHNsb3QpCiB7Ci0gICAgcmV0dXJu
IGdldFN0YXRpY0Z1bmN0aW9uU2xvdDxKU09iamVjdD4oZXhlYywgJkpTVGVzdE9ialByb3RvdHlw
ZVRhYmxlLCB0aGlzLCBwcm9wZXJ0eU5hbWUsIHNsb3QpOworICAgIHJldHVybiBnZXRTdGF0aWNQ
cm9wZXJ0eVNsb3Q8SlNUZXN0T2JqUHJvdG90eXBlLCBKU09iamVjdD4oZXhlYywgJkpTVGVzdE9i
alByb3RvdHlwZVRhYmxlLCB0aGlzLCBwcm9wZXJ0eU5hbWUsIHNsb3QpOwogfQogCiBib29sIEpT
VGVzdE9ialByb3RvdHlwZTo6Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEV4ZWNTdGF0ZSogZXhl
YywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eURlc2NyaXB0b3ImIGRl
c2NyaXB0b3IpCiB7Ci0gICAgcmV0dXJuIGdldFN0YXRpY0Z1bmN0aW9uRGVzY3JpcHRvcjxKU09i
amVjdD4oZXhlYywgJkpTVGVzdE9ialByb3RvdHlwZVRhYmxlLCB0aGlzLCBwcm9wZXJ0eU5hbWUs
IGRlc2NyaXB0b3IpOworICAgIHJldHVybiBnZXRTdGF0aWNQcm9wZXJ0eURlc2NyaXB0b3I8SlNU
ZXN0T2JqUHJvdG90eXBlLCBKU09iamVjdD4oZXhlYywgJkpTVGVzdE9ialByb3RvdHlwZVRhYmxl
LCB0aGlzLCBwcm9wZXJ0eU5hbWUsIGRlc2NyaXB0b3IpOwogfQogCiBjb25zdCBDbGFzc0luZm8g
SlNUZXN0T2JqOjpzX2luZm8gPSB7ICJUZXN0T2JqIiwgMCwgJkpTVGVzdE9ialRhYmxlLCAwIH07
CkBAIC0xMjI4LDYgKzEyMzgsMzMgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rl
c3RPYmpQcm90b3R5cGVGdW5jdGlvbk92ZXJsb2FkZWRNZXRob2QoRXhlY1N0YXQKICAgICByZXR1
cm4gdGhyb3dWTVR5cGVFcnJvcihleGVjKTsKIH0KIAorLy8gQ29uc3RhbnQgZ2V0dGVycworCitK
U1ZhbHVlIGpzVGVzdE9iakNPTlNUX1ZBTFVFXzAoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlLCBj
b25zdCBJZGVudGlmaWVyJikKK3sKKyAgICByZXR1cm4ganNOdW1iZXIoZXhlYywgc3RhdGljX2Nh
c3Q8aW50PigwKSk7Cit9CisKK0pTVmFsdWUganNUZXN0T2JqQ09OU1RfVkFMVUVfMShFeGVjU3Rh
dGUqIGV4ZWMsIEpTVmFsdWUsIGNvbnN0IElkZW50aWZpZXImKQoreworICAgIHJldHVybiBqc051
bWJlcihleGVjLCBzdGF0aWNfY2FzdDxpbnQ+KDEpKTsKK30KKworSlNWYWx1ZSBqc1Rlc3RPYmpD
T05TVF9WQUxVRV8yKEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSwgY29uc3QgSWRlbnRpZmllciYp
Cit7CisgICAgcmV0dXJuIGpzTnVtYmVyKGV4ZWMsIHN0YXRpY19jYXN0PGludD4oMikpOworfQor
CitKU1ZhbHVlIGpzVGVzdE9iakNPTlNUX1ZBTFVFXzQoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVl
LCBjb25zdCBJZGVudGlmaWVyJikKK3sKKyAgICByZXR1cm4ganNOdW1iZXIoZXhlYywgc3RhdGlj
X2Nhc3Q8aW50Pig0KSk7Cit9CisKK0pTVmFsdWUganNUZXN0T2JqQ09OU1RfVkFMVUVfOChFeGVj
U3RhdGUqIGV4ZWMsIEpTVmFsdWUsIGNvbnN0IElkZW50aWZpZXImKQoreworICAgIHJldHVybiBq
c051bWJlcihleGVjLCBzdGF0aWNfY2FzdDxpbnQ+KDgpKTsKK30KKwogSlNDOjpKU1ZhbHVlIHRv
SlMoSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IFRlc3RPYmoqIG9iamVjdCkKIHsKICAgICByZXR1cm4gZ2V0RE9NT2JqZWN0V3JhcHBlcjxKU1Rl
c3RPYmo+KGV4ZWMsIGdsb2JhbE9iamVjdCwgb2JqZWN0KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5oIGIvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmgKaW5kZXggYzgzZTU2OGEzMDM2NjI5ZWUyM2FkMGIw
OWJhMDVmMDk2YzYyMTViZi4uODQxMjJiN2IyMTQxMmUzMTE5YTg3MjI2NzA2YjJlZTQ1Yzk0YWU1
MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2Jq
LmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmgKQEAg
LTE3Myw2ICsxNzMsMTMgQEAgSlNDOjpKU1ZhbHVlIGpzVGVzdE9iaklkKEpTQzo6RXhlY1N0YXRl
KiwgSlNDOjpKU1ZhbHVlLCBjb25zdCBKU0M6OklkZW50aWZpZXImKTsKIHZvaWQgc2V0SlNUZXN0
T2JqSWQoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTT2JqZWN0KiwgSlNDOjpKU1ZhbHVlKTsKIEpT
Qzo6SlNWYWx1ZSBqc1Rlc3RPYmpIYXNoKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU1ZhbHVlLCBj
b25zdCBKU0M6OklkZW50aWZpZXImKTsKIEpTQzo6SlNWYWx1ZSBqc1Rlc3RPYmpDb25zdHJ1Y3Rv
cihKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNWYWx1ZSwgY29uc3QgSlNDOjpJZGVudGlmaWVyJik7
CisvLyBDb25zdGFudHMKKworSlNDOjpKU1ZhbHVlIGpzVGVzdE9iakNPTlNUX1ZBTFVFXzAoSlND
OjpFeGVjU3RhdGUqLCBKU0M6OkpTVmFsdWUsIGNvbnN0IEpTQzo6SWRlbnRpZmllciYpOworSlND
OjpKU1ZhbHVlIGpzVGVzdE9iakNPTlNUX1ZBTFVFXzEoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpT
VmFsdWUsIGNvbnN0IEpTQzo6SWRlbnRpZmllciYpOworSlNDOjpKU1ZhbHVlIGpzVGVzdE9iakNP
TlNUX1ZBTFVFXzIoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTVmFsdWUsIGNvbnN0IEpTQzo6SWRl
bnRpZmllciYpOworSlNDOjpKU1ZhbHVlIGpzVGVzdE9iakNPTlNUX1ZBTFVFXzQoSlNDOjpFeGVj
U3RhdGUqLCBKU0M6OkpTVmFsdWUsIGNvbnN0IEpTQzo6SWRlbnRpZmllciYpOworSlNDOjpKU1Zh
bHVlIGpzVGVzdE9iakNPTlNUX1ZBTFVFXzgoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTVmFsdWUs
IGNvbnN0IEpTQzo6SWRlbnRpZmllciYpOwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE9iai5o
IGIvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0T2JqLmgKaW5kZXgg
MWVhYzk5MGYzYTk1MDQ3YjU4MzJkZmVjMTI2OGNlM2RhMmI1MDgwYS4uMzNjM2EyZGIzNjY4YjU2
NTg3MWRlYjJkZjhiZGRjZGFjYzViYjE1ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0T2JqLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvT2JqQy9ET01UZXN0T2JqLmgKQEAgLTM0LDYgKzM0LDE0IEBACiBAY2xhc3MgTlNT
dHJpbmc7CiBAcHJvdG9jb2wgRE9NRXZlbnRMaXN0ZW5lcjsKIAorZW51bSB7CisgICAgRE9NX0NP
TlNUX1ZBTFVFXzAgPSAwLAorICAgIERPTV9DT05TVF9WQUxVRV8xID0gMSwKKyAgICBET01fQ09O
U1RfVkFMVUVfMiA9IDIsCisgICAgRE9NX0NPTlNUX1ZBTFVFXzQgPSA0LAorICAgIERPTV9DT05T
VF9WQUxVRV84ID0gOAorfTsKKwogQGludGVyZmFjZSBET01UZXN0T2JqIDogRE9NT2JqZWN0CiAt
IChpbnQpcmVhZE9ubHlJbnRBdHRyOwogLSAoTlNTdHJpbmcgKilyZWFkT25seVN0cmluZ0F0dHI7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbCBi
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRsCmluZGV4IDQzZmMyMTFk
NDY2NjViYzc2M2Q3NWMwMDY5Y2NlYzBjYjZmZmU2NDkuLmY5ZDQxZDdlMTM4Y2ExNDViZTFjMDE3
NmI2ODFlZDc5YjEzMTM0NjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Rlc3RPYmouaWRsCisrKyBiL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RP
YmouaWRsCkBAIC0xMjksNSArMTI5LDEyIEBAIG1vZHVsZSB0ZXN0IHsKICAgICAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIGxvbmcgICAgICBkZXNjcmlwdGlvbjsKICAgICAgICAgYXR0cmlidXRlIGxv
bmcgICAgICAgICAgICAgICBpZDsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmlu
ZyBoYXNoOworCisgICAgICAgIC8vIENoZWNrIGNvbnN0YW50cyBhbmQgZW51bXMuCisgICAgICAg
IGNvbnN0IHVuc2lnbmVkIHNob3J0IENPTlNUX1ZBTFVFXzAgPSAwOworICAgICAgICBjb25zdCB1
bnNpZ25lZCBzaG9ydCBDT05TVF9WQUxVRV8xID0gMTsKKyAgICAgICAgY29uc3QgdW5zaWduZWQg
c2hvcnQgQ09OU1RfVkFMVUVfMiA9IDI7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IENP
TlNUX1ZBTFVFXzQgPSA0OworICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBDT05TVF9WQUxV
RV84ID0gODsKICAgICB9OwogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVjgvVjhUZXN0T2JqLmNwcCBiL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4
L1Y4VGVzdE9iai5jcHAKaW5kZXggMGI5ZDAzNDc5MTgxNDlkY2NhY2JmNTYzOWY2MTc2M2FjOTY5
ZTE1OC4uMzUzMzJlM2IxNDAxMDgxN2I0ZTk4OWJkNGQ5N2NmZGVlODZkMWEwNiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmNwcAorKysgYi9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RPYmouY3BwCkBAIC0xMDE1LDYg
KzEwMTUsMTggQEAgc3RhdGljIGNvbnN0IEJhdGNoZWRDYWxsYmFjayBUZXN0T2JqQ2FsbGJhY2tz
W10gPSB7CiAgICAgeyJtZXRob2RXaXRoTm9uT3B0aW9uYWxBcmdBbmRUd29PcHRpb25hbEFyZ3Mi
LCBUZXN0T2JqSW50ZXJuYWw6Om1ldGhvZFdpdGhOb25PcHRpb25hbEFyZ0FuZFR3b09wdGlvbmFs
QXJnc0NhbGxiYWNrfSwKICAgICB7Im92ZXJsb2FkZWRNZXRob2QiLCBUZXN0T2JqSW50ZXJuYWw6
Om92ZXJsb2FkZWRNZXRob2RDYWxsYmFja30sCiB9Oworc3RhdGljIGNvbnN0IEJhdGNoZWRDb25z
dGFudCBUZXN0T2JqQ29uc3RzW10gPSB7CisgICAgeyJDT05TVF9WQUxVRV8wIiwgc3RhdGljX2Nh
c3Q8c2lnbmVkIGludD4oMCl9LAorICAgIHsiQ09OU1RfVkFMVUVfMSIsIHN0YXRpY19jYXN0PHNp
Z25lZCBpbnQ+KDEpfSwKKyAgICB7IkNPTlNUX1ZBTFVFXzIiLCBzdGF0aWNfY2FzdDxzaWduZWQg
aW50PigyKX0sCisgICAgeyJDT05TVF9WQUxVRV80Iiwgc3RhdGljX2Nhc3Q8c2lnbmVkIGludD4o
NCl9LAorICAgIHsiQ09OU1RfVkFMVUVfOCIsIHN0YXRpY19jYXN0PHNpZ25lZCBpbnQ+KDgpfSwK
K307CitDT01QSUxFX0FTU0VSVCgwID09IFRlc3RPYmo6OkNPTlNUX1ZBTFVFXzAsIFRlc3RPYmpF
bnVtQ09OU1RfVkFMVUVfMElzV3JvbmcpOworQ09NUElMRV9BU1NFUlQoMSA9PSBUZXN0T2JqOjpD
T05TVF9WQUxVRV8xLCBUZXN0T2JqRW51bUNPTlNUX1ZBTFVFXzFJc1dyb25nKTsKK0NPTVBJTEVf
QVNTRVJUKDIgPT0gVGVzdE9iajo6Q09OU1RfVkFMVUVfMiwgVGVzdE9iakVudW1DT05TVF9WQUxV
RV8ySXNXcm9uZyk7CitDT01QSUxFX0FTU0VSVCg0ID09IFRlc3RPYmo6OkNPTlNUX1ZBTFVFXzQs
IFRlc3RPYmpFbnVtQ09OU1RfVkFMVUVfNElzV3JvbmcpOworQ09NUElMRV9BU1NFUlQoOCA9PSBU
ZXN0T2JqOjpDT05TVF9WQUxVRV84LCBUZXN0T2JqRW51bUNPTlNUX1ZBTFVFXzhJc1dyb25nKTsK
IHN0YXRpYyB2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gQ29uZmlndXJlVjhU
ZXN0T2JqVGVtcGxhdGUodjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IGRlc2Mp
CiB7CiAgICAgdjg6OkxvY2FsPHY4OjpTaWduYXR1cmU+IGRlZmF1bHRTaWduYXR1cmUgPSBjb25m
aWd1cmVUZW1wbGF0ZShkZXNjLCAiVGVzdE9iaiIsIHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlv
blRlbXBsYXRlPigpLCBWOFRlc3RPYmo6OmludGVybmFsRmllbGRDb3VudCwKQEAgLTEwNTksNiAr
MTA3MSw3IEBAIHN0YXRpYyB2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gQ29u
ZmlndXJlVjhUZXN0T2JqVGVtcGxhdGUodjg6OlBlcnNpCiAgICAgdjg6OkhhbmRsZTx2ODo6RnVu
Y3Rpb25UZW1wbGF0ZT4gY3VzdG9tQXJnc0FuZEV4Y2VwdGlvbkFyZ3ZbY3VzdG9tQXJnc0FuZEV4
Y2VwdGlvbkFyZ2NdID0geyBWOGxvZzo6R2V0UmF3VGVtcGxhdGUoKSB9OwogICAgIHY4OjpIYW5k
bGU8djg6OlNpZ25hdHVyZT4gY3VzdG9tQXJnc0FuZEV4Y2VwdGlvblNpZ25hdHVyZSA9IHY4OjpT
aWduYXR1cmU6Ok5ldyhkZXNjLCBjdXN0b21BcmdzQW5kRXhjZXB0aW9uQXJnYywgY3VzdG9tQXJn
c0FuZEV4Y2VwdGlvbkFyZ3YpOwogICAgIHByb3RvLT5TZXQodjg6OlN0cmluZzo6TmV3KCJjdXN0
b21BcmdzQW5kRXhjZXB0aW9uIiksIHY4OjpGdW5jdGlvblRlbXBsYXRlOjpOZXcoVGVzdE9iaklu
dGVybmFsOjpjdXN0b21BcmdzQW5kRXhjZXB0aW9uQ2FsbGJhY2ssIHY4OjpIYW5kbGU8djg6OlZh
bHVlPigpLCBjdXN0b21BcmdzQW5kRXhjZXB0aW9uU2lnbmF0dXJlKSk7CisgICAgYmF0Y2hDb25m
aWd1cmVDb25zdGFudHMoZGVzYywgcHJvdG8sIFRlc3RPYmpDb25zdHMsIHNpemVvZihUZXN0T2Jq
Q29uc3RzKSAvIHNpemVvZigqVGVzdE9iakNvbnN0cykpOwogCiAgICAgLy8gQ3VzdG9tIHRvU3Ry
aW5nIHRlbXBsYXRlCiAgICAgZGVzYy0+U2V0KGdldFRvU3RyaW5nTmFtZSgpLCBnZXRUb1N0cmlu
Z1RlbXBsYXRlKCkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>61523</attachid>
            <date>2010-07-14 08:30:37 -0700</date>
            <delta_ts>2010-07-14 08:58:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42250-20100714163035.patch</filename>
            <type>text/plain</type>
            <size>36026</size>
            <attacher name="Marcus Bulach">bulach</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ODg4YzQwMjNhYTE4MjA5YTA0NGIzMWRhNzE2MmU1ZWM0ZjUxOGU3Mi4uYjNjYjk1ZTAxYzEzZDdm
ZTZkNzMzYzM4NjRkNzU4NTUwNDk3Nzg2ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw2NiBAQAorMjAxMC0wNy0xNCAgTWFy
Y3VzIEJ1bGFjaCAgPGJ1bGFjaEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ29kZSBnZW5lcmF0b3I6IGVuc3VyZSBnZW5lcmF0
ZWQgY29uc3RhbnRzIG1hdGNoIHRoZWlyIGNvcnJlc3BvbmRpbmcgZW51bXMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjI1MAorCisgICAgICAgIFNw
ZWNpZmljIGludGVyZmFjZXMgY2FuIHVzZSBEb250Q2hlY2tFbnVtcyBhdHRyaWJ1dGUgdG8gYXZv
aWQgZ2VuZXJhdGluZyB0aGUgY29tcGlsZS10aW1lIGNoZWNrLgorCisgICAgICAgIFRlc3RzOiB1
cGRhdGVkIGJpbmRpbmdzIHRlc3RzLiBHZW5lcmF0ZWQgY29kZSBzaG91bGQgY29tcGlsZS4KKwor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbToKKyAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvQ1BQL1dlYkRPTVRlc3RPYmouaDoKKyAgICAgICAgKFdlYkRPTVRlc3RPYmo6Oik6CisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjopOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0T2JqUHJvdG90eXBlOjpnZXRPd25Q
cm9wZXJ0eVNsb3QpOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0T2JqUHJvdG90eXBlOjpnZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IpOgorICAgICAgICAoV2ViQ29yZTo6anNUZXN0T2JqQ09OU1Rf
VkFMVUVfMCk6CisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RPYmpDT05TVF9WQUxVRV8xKToKKyAg
ICAgICAgKFdlYkNvcmU6OmpzVGVzdE9iakNPTlNUX1ZBTFVFXzIpOgorICAgICAgICAoV2ViQ29y
ZTo6anNUZXN0T2JqQ09OU1RfVkFMVUVfNCk6CisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RPYmpD
T05TVF9WQUxVRV84KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
T2JqLmg6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE9iai5o
OgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbDoKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Oik6CisgICAgICAgIChXZWJDb3JlOjpDb25maWd1cmVWOFRlc3RPYmpUZW1wbGF0ZSk6Cisg
ICAgICAgICogY3NzL1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmlkbDoKKyAgICAgICAgKiBkb20v
RE9NQ29yZUV4Y2VwdGlvbi5pZGw6CisgICAgICAgICogZG9tL0V2ZW50RXhjZXB0aW9uLmlkbDoK
KyAgICAgICAgKiBkb20vTm9kZS5pZGw6CisgICAgICAgICogZG9tL092ZXJmbG93RXZlbnQuaWRs
OgorICAgICAgICAqIGRvbS9SYW5nZUV4Y2VwdGlvbi5pZGw6CisgICAgICAgICogaHRtbC9GaWxl
RXJyb3IuaWRsOgorICAgICAgICAqIGh0bWwvRmlsZVJlYWRlci5pZGw6CisgICAgICAgICogaHRt
bC9jYW52YXMvRmxvYXQzMkFycmF5LmlkbDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9JbnQxNkFy
cmF5LmlkbDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9JbnQzMkFycmF5LmlkbDoKKyAgICAgICAg
KiBodG1sL2NhbnZhcy9JbnQ4QXJyYXkuaWRsOgorICAgICAgICAqIGh0bWwvY2FudmFzL1VpbnQx
NkFycmF5LmlkbDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9VaW50MzJBcnJheS5pZGw6CisgICAg
ICAgICogaHRtbC9jYW52YXMvVWludDhBcnJheS5pZGw6CisgICAgICAgICogaHRtbC9jYW52YXMv
V2ViR0xSZW5kZXJpbmdDb250ZXh0LmlkbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSmF2YVNjcmlw
dENhbGxGcmFtZS5pZGw6CisgICAgICAgICogbG9hZGVyL2FwcGNhY2hlL0RPTUFwcGxpY2F0aW9u
Q2FjaGUuaWRsOgorICAgICAgICAqIHN0b3JhZ2UvU1FMRXhjZXB0aW9uLmlkbDoKKyAgICAgICAg
KiBzdmcvU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQuaWRsOgorICAgICAgICAq
IHN2Zy9TVkdFeGNlcHRpb24uaWRsOgorICAgICAgICAqIHN2Zy9TVkdGRUJsZW5kRWxlbWVudC5p
ZGw6CisgICAgICAgICogc3ZnL1NWR0ZFQ29sb3JNYXRyaXhFbGVtZW50LmlkbDoKKyAgICAgICAg
KiBzdmcvU1ZHRkVDb21wb3NpdGVFbGVtZW50LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHRkVDb252
b2x2ZU1hdHJpeEVsZW1lbnQuaWRsOgorICAgICAgICAqIHN2Zy9TVkdGRURpc3BsYWNlbWVudE1h
cEVsZW1lbnQuaWRsOgorICAgICAgICAqIHN2Zy9TVkdGRU1vcnBob2xvZ3lFbGVtZW50LmlkbDoK
KyAgICAgICAgKiBzdmcvU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5pZGw6CisgICAgICAgICogc3Zn
L1NWR0dyYWRpZW50RWxlbWVudC5pZGw6CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0RXhj
ZXB0aW9uLmlkbDoKKyAgICAgICAgKiB4bWwvWFBhdGhFeGNlcHRpb24uaWRsOgorCiAyMDEwLTA3
LTE0ICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuemltbWVybWFubkByaW0uY29tPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3IucG0gYi9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdl
bmVyYXRvci5wbQppbmRleCBkMTA2OTIwZjdmNGM0ZTc5Mzg4ZmE3OWM0NDZmNWQ3ZTVkOWFhMmNl
Li5kMTcxMWRjYjIwMmMzOGQwYWFjNzk0NGRjOGM0NGFhYTMzZDU5M2UyIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbQorKysgYi9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbQpAQCAtNDY3LDQgKzQ2NywyOCBAQCBzdWIg
U2V0dGVyRXhwcmVzc2lvblByZWZpeAogICAgIHJldHVybiAiJGZ1bmN0aW9uTmFtZSgkY29udGVu
dEF0dHJpYnV0ZU5hbWUsICIKIH0KIAorc3ViIFNob3VsZENoZWNrRW51bXMKK3sKKyAgICBteSAk
ZGF0YU5vZGUgPSBzaGlmdDsKKyAgICByZXR1cm4gbm90ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRy
aWJ1dGVzLT57IkRvbnRDaGVja0VudW1zIn07Cit9CisKK3N1YiBHZW5lcmF0ZUNvbXBpbGVUaW1l
Q2hlY2tGb3JFbnVtc0lmTmVlZGVkCit7CisgICAgbXkgKCRvYmplY3QsICRkYXRhTm9kZSkgPSBA
XzsKKyAgICBteSAkaW50ZXJmYWNlTmFtZSA9ICRkYXRhTm9kZS0+bmFtZTsKKyAgICBteSBAY2hl
Y2tzID0gKCk7CisgICAgIyBJZiBuZWNlc3NhcnksIGNoZWNrIHRoYXQgYWxsIGNvbnN0YW50cyBh
cmUgYXZhaWxhYmxlIGFzIGVudW1zIHdpdGggdGhlIHNhbWUgdmFsdWUuCisgICAgaWYgKFNob3Vs
ZENoZWNrRW51bXMoJGRhdGFOb2RlKSAmJiBAeyRkYXRhTm9kZS0+Y29uc3RhbnRzfSkgeworICAg
ICAgICBwdXNoKEBjaGVja3MsICJcbiIpOworICAgICAgICBmb3JlYWNoIG15ICRjb25zdGFudCAo
QHskZGF0YU5vZGUtPmNvbnN0YW50c30pIHsKKyAgICAgICAgICAgIG15ICRuYW1lID0gJGNvbnN0
YW50LT5uYW1lOworICAgICAgICAgICAgbXkgJHZhbHVlID0gJGNvbnN0YW50LT52YWx1ZTsKKyAg
ICAgICAgICAgIHB1c2goQGNoZWNrcywgIkNPTVBJTEVfQVNTRVJUKCR2YWx1ZSA9PSAke2ludGVy
ZmFjZU5hbWV9OjokbmFtZSwgJHtpbnRlcmZhY2VOYW1lfUVudW0ke25hbWV9SXNXcm9uZ1VzZURv
bnRDaGVja0VudW1zKTtcbiIpOworICAgICAgICB9CisgICAgICAgIHB1c2goQGNoZWNrcywgIlxu
Iik7CisgICAgfQorICAgIHJldHVybiBAY2hlY2tzOworfQorCiAxOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KaW5kZXggYTBhMjA5ODJhZjc4YTY2NzAyNDEx
NWNlOThmOTVjMDc0YmU1YmNkZS4uYWNhZDkwYjBkNDA5NjIwYTZkODZiNzUyMGQyM2JlOTNhZDc4
YmQ3OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JK
Uy5wbQorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBA
IC0xMjQyLDYgKzEyNDIsOCBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcQGhhc2hLZXlzLCBcQGhhc2hTcGVjaWFscywKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXEBoYXNoVmFsdWUxLCBcQGhhc2hWYWx1
ZTIpOwogCisgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAkY29kZUdlbmVyYXRvci0+R2VuZXJh
dGVDb21waWxlVGltZUNoZWNrRm9yRW51bXNJZk5lZWRlZCgkZGF0YU5vZGUpKTsKKwogICAgICAg
ICBteSAkcHJvdG9DbGFzc05hbWUgPSAiJHtjbGFzc05hbWV9UHJvdG90eXBlIjsKIAogICAgICAg
ICBHZW5lcmF0ZUNvbnN0cnVjdG9yRGVjbGFyYXRpb24oXEBpbXBsQ29udGVudCwgJGNsYXNzTmFt
ZSwgJGRhdGFOb2RlKSB1bmxlc3MgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ3Vz
dG9tQ29uc3RydWN0RnVuY3Rpb24ifTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy9Db2RlR2VuZXJhdG9yVjgucG0gYi9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdl
bmVyYXRvclY4LnBtCmluZGV4IDM4M2JiNzQ2Y2M4NDRmZjI0OWMxMmQyZTFiMWE5OGQwMmVkM2M3
MzguLjVlYjZkM2RkYjUxODk0ZWMyOTljMTI1MmU0MDc2ODRiNWVmMDg0MWIgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KKysrIGIvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQpAQCAtMTc1Myw2ICsxNzUzLDcg
QEAgRU5ECiAgICAgfQogICAgIGlmICgkaGFzX2NvbnN0YW50cykgewogICAgICAgICBwdXNoKEBp
bXBsQ29udGVudCwgIn07XG4iKTsKKyAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICRjb2RlR2Vu
ZXJhdG9yLT5HZW5lcmF0ZUNvbXBpbGVUaW1lQ2hlY2tGb3JFbnVtc0lmTmVlZGVkKCRkYXRhTm9k
ZSkpOwogICAgIH0KIAogICAgIHB1c2goQGltcGxDb250ZW50RGVjbHMsICJ9IC8vIG5hbWVzcGFj
ZSAke2ludGVyZmFjZU5hbWV9SW50ZXJuYWxcblxuIik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdE9iai5oIGIvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RPYmouaAppbmRleCAxZWI1ZWQzM2VkNzJlY2M2
ZGUzNjdhY2VhZmNhYTJmMDY3ZGNhMjA5Li44NmM3MTY5OGQ2YmY5NzAzNzI3ZWZjYmNjOTQyYzY3
ZWNjM2EzYjM5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAv
V2ViRE9NVGVzdE9iai5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9X
ZWJET01UZXN0T2JqLmgKQEAgLTQyLDYgKzQyLDE0IEBAIHB1YmxpYzoKICAgICBXZWJET01UZXN0
T2JqKGNvbnN0IFdlYkRPTVRlc3RPYmomKTsKICAgICB+V2ViRE9NVGVzdE9iaigpOwogCisgICAg
ZW51bSB7CisgICAgICAgIFdFQkRPTV9DT05TVF9WQUxVRV8wID0gMCwKKyAgICAgICAgV0VCRE9N
X0NPTlNUX1ZBTFVFXzEgPSAxLAorICAgICAgICBXRUJET01fQ09OU1RfVkFMVUVfMiA9IDIsCisg
ICAgICAgIFdFQkRPTV9DT05TVF9WQUxVRV80ID0gNCwKKyAgICAgICAgV0VCRE9NX0NPTlNUX1ZB
TFVFXzggPSA4CisgICAgfTsKKwogICAgIGludCByZWFkT25seUludEF0dHIoKSBjb25zdDsKICAg
ICBXZWJET01TdHJpbmcgcmVhZE9ubHlTdHJpbmdBdHRyKCkgY29uc3Q7CiAgICAgV2ViRE9NVGVz
dE9iaiByZWFkT25seVRlc3RPYmpBdHRyKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAppbmRleCAyZjU2MWY5ZDFhZDZhNzQ2MmMwMTlj
MzFmNDJkMGM0NWY1YzRlODY1Li42ZTY2N2Y3NWMzMGY1MzI2MTQ0ZjdlNTM3NTBiOGZjNDIwYTM3
MDdmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RP
YmouY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5j
cHAKQEAgLTEwMCwxMyArMTAwLDI1IEBAIHN0YXRpYyBKU0NfQ09OU1RfSEFTSFRBQkxFIEhhc2hU
YWJsZSBKU1Rlc3RPYmpUYWJsZSA9IHsgNjgsIDYzLCBKU1Rlc3RPYmpUYWJsZVZhCiAjZGVmaW5l
IFRIVU5LX0dFTkVSQVRPUihnZW5lcmF0b3IpCiAjZW5kaWYKIAotc3RhdGljIGNvbnN0IEhhc2hU
YWJsZVZhbHVlIEpTVGVzdE9iakNvbnN0cnVjdG9yVGFibGVWYWx1ZXNbMV0gPQorc3RhdGljIGNv
bnN0IEhhc2hUYWJsZVZhbHVlIEpTVGVzdE9iakNvbnN0cnVjdG9yVGFibGVWYWx1ZXNbNl0gPQog
eworICAgIHsgIkNPTlNUX1ZBTFVFXzAiLCBEb250RGVsZXRlIHwgUmVhZE9ubHksIChpbnRwdHJf
dClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqQ09OU1Rf
VkFMVUVfMCksIChpbnRwdHJfdCkwIFRIVU5LX0dFTkVSQVRPUigwKSB9LAorICAgIHsgIkNPTlNU
X1ZBTFVFXzEiLCBEb250RGVsZXRlIHwgUmVhZE9ubHksIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQ
cm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqQ09OU1RfVkFMVUVfMSksIChpbnRw
dHJfdCkwIFRIVU5LX0dFTkVSQVRPUigwKSB9LAorICAgIHsgIkNPTlNUX1ZBTFVFXzIiLCBEb250
RGVsZXRlIHwgUmVhZE9ubHksIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6Okdl
dFZhbHVlRnVuYz4oanNUZXN0T2JqQ09OU1RfVkFMVUVfMiksIChpbnRwdHJfdCkwIFRIVU5LX0dF
TkVSQVRPUigwKSB9LAorICAgIHsgIkNPTlNUX1ZBTFVFXzQiLCBEb250RGVsZXRlIHwgUmVhZE9u
bHksIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNU
ZXN0T2JqQ09OU1RfVkFMVUVfNCksIChpbnRwdHJfdCkwIFRIVU5LX0dFTkVSQVRPUigwKSB9LAor
ICAgIHsgIkNPTlNUX1ZBTFVFXzgiLCBEb250RGVsZXRlIHwgUmVhZE9ubHksIChpbnRwdHJfdClz
dGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqQ09OU1RfVkFM
VUVfOCksIChpbnRwdHJfdCkwIFRIVU5LX0dFTkVSQVRPUigwKSB9LAogICAgIHsgMCwgMCwgMCwg
MCBUSFVOS19HRU5FUkFUT1IoMCkgfQogfTsKIAogI3VuZGVmIFRIVU5LX0dFTkVSQVRPUgotc3Rh
dGljIEpTQ19DT05TVF9IQVNIVEFCTEUgSGFzaFRhYmxlIEpTVGVzdE9iakNvbnN0cnVjdG9yVGFi
bGUgPSB7IDEsIDAsIEpTVGVzdE9iakNvbnN0cnVjdG9yVGFibGVWYWx1ZXMsIDAgfTsKK3N0YXRp
YyBKU0NfQ09OU1RfSEFTSFRBQkxFIEhhc2hUYWJsZSBKU1Rlc3RPYmpDb25zdHJ1Y3RvclRhYmxl
ID0geyAxNiwgMTUsIEpTVGVzdE9iakNvbnN0cnVjdG9yVGFibGVWYWx1ZXMsIDAgfTsKKworQ09N
UElMRV9BU1NFUlQoMCA9PSBUZXN0T2JqOjpDT05TVF9WQUxVRV8wLCBUZXN0T2JqRW51bUNPTlNU
X1ZBTFVFXzBJc1dyb25nVXNlRG9udENoZWNrRW51bXMpOworQ09NUElMRV9BU1NFUlQoMSA9PSBU
ZXN0T2JqOjpDT05TVF9WQUxVRV8xLCBUZXN0T2JqRW51bUNPTlNUX1ZBTFVFXzFJc1dyb25nVXNl
RG9udENoZWNrRW51bXMpOworQ09NUElMRV9BU1NFUlQoMiA9PSBUZXN0T2JqOjpDT05TVF9WQUxV
RV8yLCBUZXN0T2JqRW51bUNPTlNUX1ZBTFVFXzJJc1dyb25nVXNlRG9udENoZWNrRW51bXMpOwor
Q09NUElMRV9BU1NFUlQoNCA9PSBUZXN0T2JqOjpDT05TVF9WQUxVRV80LCBUZXN0T2JqRW51bUNP
TlNUX1ZBTFVFXzRJc1dyb25nVXNlRG9udENoZWNrRW51bXMpOworQ09NUElMRV9BU1NFUlQoOCA9
PSBUZXN0T2JqOjpDT05TVF9WQUxVRV84LCBUZXN0T2JqRW51bUNPTlNUX1ZBTFVFXzhJc1dyb25n
VXNlRG9udENoZWNrRW51bXMpOworCiBjbGFzcyBKU1Rlc3RPYmpDb25zdHJ1Y3RvciA6IHB1Ymxp
YyBET01Db25zdHJ1Y3Rvck9iamVjdCB7CiBwdWJsaWM6CiAgICAgSlNUZXN0T2JqQ29uc3RydWN0
b3IoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCopOwpAQCAtMTQ4LDggKzE2MCwx
MyBAQCBib29sIEpTVGVzdE9iakNvbnN0cnVjdG9yOjpnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
RXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudAogI2RlZmluZSBUSFVOS19HRU5FUkFUT1IoZ2Vu
ZXJhdG9yKQogI2VuZGlmCiAKLXN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RPYmpQ
cm90b3R5cGVUYWJsZVZhbHVlc1szMV0gPQorc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVlIEpT
VGVzdE9ialByb3RvdHlwZVRhYmxlVmFsdWVzWzM2XSA9CiB7CisgICAgeyAiQ09OU1RfVkFMVUVf
MCIsIERvbnREZWxldGUgfCBSZWFkT25seSwgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5
U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpDT05TVF9WQUxVRV8wKSwgKGludHB0cl90KTAg
VEhVTktfR0VORVJBVE9SKDApIH0sCisgICAgeyAiQ09OU1RfVkFMVUVfMSIsIERvbnREZWxldGUg
fCBSZWFkT25seSwgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVG
dW5jPihqc1Rlc3RPYmpDT05TVF9WQUxVRV8xKSwgKGludHB0cl90KTAgVEhVTktfR0VORVJBVE9S
KDApIH0sCisgICAgeyAiQ09OU1RfVkFMVUVfMiIsIERvbnREZWxldGUgfCBSZWFkT25seSwgKGlu
dHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpD
T05TVF9WQUxVRV8yKSwgKGludHB0cl90KTAgVEhVTktfR0VORVJBVE9SKDApIH0sCisgICAgeyAi
Q09OU1RfVkFMVUVfNCIsIERvbnREZWxldGUgfCBSZWFkT25seSwgKGludHB0cl90KXN0YXRpY19j
YXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpDT05TVF9WQUxVRV80KSwg
KGludHB0cl90KTAgVEhVTktfR0VORVJBVE9SKDApIH0sCisgICAgeyAiQ09OU1RfVkFMVUVfOCIs
IERvbnREZWxldGUgfCBSZWFkT25seSwgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xv
dDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpDT05TVF9WQUxVRV84KSwgKGludHB0cl90KTAgVEhV
TktfR0VORVJBVE9SKDApIH0sCiAgICAgeyAidm9pZE1ldGhvZCIsIERvbnREZWxldGUgfCBGdW5j
dGlvbiwgKGludHB0cl90KXN0YXRpY19jYXN0PE5hdGl2ZUZ1bmN0aW9uPihqc1Rlc3RPYmpQcm90
b3R5cGVGdW5jdGlvblZvaWRNZXRob2QpLCAoaW50cHRyX3QpMCBUSFVOS19HRU5FUkFUT1IoMCkg
fSwKICAgICB7ICJ2b2lkTWV0aG9kV2l0aEFyZ3MiLCBEb250RGVsZXRlIHwgRnVuY3Rpb24sIChp
bnRwdHJfdClzdGF0aWNfY2FzdDxOYXRpdmVGdW5jdGlvbj4oanNUZXN0T2JqUHJvdG90eXBlRnVu
Y3Rpb25Wb2lkTWV0aG9kV2l0aEFyZ3MpLCAoaW50cHRyX3QpMyBUSFVOS19HRU5FUkFUT1IoMCkg
fSwKICAgICB7ICJpbnRNZXRob2QiLCBEb250RGVsZXRlIHwgRnVuY3Rpb24sIChpbnRwdHJfdClz
dGF0aWNfY2FzdDxOYXRpdmVGdW5jdGlvbj4oanNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25JbnRN
ZXRob2QpLCAoaW50cHRyX3QpMCBUSFVOS19HRU5FUkFUT1IoMCkgfSwKQEAgLTE4NCw3ICsyMDEs
NyBAQCBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0T2JqUHJvdG90eXBlVGFibGVW
YWx1ZXNbMzFdID0KIH07CiAKICN1bmRlZiBUSFVOS19HRU5FUkFUT1IKLXN0YXRpYyBKU0NfQ09O
U1RfSEFTSFRBQkxFIEhhc2hUYWJsZSBKU1Rlc3RPYmpQcm90b3R5cGVUYWJsZSA9IHsgMTMwLCAx
MjcsIEpTVGVzdE9ialByb3RvdHlwZVRhYmxlVmFsdWVzLCAwIH07CitzdGF0aWMgSlNDX0NPTlNU
X0hBU0hUQUJMRSBIYXNoVGFibGUgSlNUZXN0T2JqUHJvdG90eXBlVGFibGUgPSB7IDEzMiwgMTI3
LCBKU1Rlc3RPYmpQcm90b3R5cGVUYWJsZVZhbHVlcywgMCB9OwogY29uc3QgQ2xhc3NJbmZvIEpT
VGVzdE9ialByb3RvdHlwZTo6c19pbmZvID0geyAiVGVzdE9ialByb3RvdHlwZSIsIDAsICZKU1Rl
c3RPYmpQcm90b3R5cGVUYWJsZSwgMCB9OwogCiBKU09iamVjdCogSlNUZXN0T2JqUHJvdG90eXBl
OjpzZWxmKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKQEAg
LTE5NCwxMiArMjExLDEyIEBAIEpTT2JqZWN0KiBKU1Rlc3RPYmpQcm90b3R5cGU6OnNlbGYoRXhl
Y1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0CiAKIGJvb2wgSlNUZXN0
T2JqUHJvdG90eXBlOjpnZXRPd25Qcm9wZXJ0eVNsb3QoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJ
ZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYgc2xvdCkKIHsKLSAgICByZXR1
cm4gZ2V0U3RhdGljRnVuY3Rpb25TbG90PEpTT2JqZWN0PihleGVjLCAmSlNUZXN0T2JqUHJvdG90
eXBlVGFibGUsIHRoaXMsIHByb3BlcnR5TmFtZSwgc2xvdCk7CisgICAgcmV0dXJuIGdldFN0YXRp
Y1Byb3BlcnR5U2xvdDxKU1Rlc3RPYmpQcm90b3R5cGUsIEpTT2JqZWN0PihleGVjLCAmSlNUZXN0
T2JqUHJvdG90eXBlVGFibGUsIHRoaXMsIHByb3BlcnR5TmFtZSwgc2xvdCk7CiB9CiAKIGJvb2wg
SlNUZXN0T2JqUHJvdG90eXBlOjpnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRXhlY1N0YXRlKiBl
eGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5RGVzY3JpcHRvciYg
ZGVzY3JpcHRvcikKIHsKLSAgICByZXR1cm4gZ2V0U3RhdGljRnVuY3Rpb25EZXNjcmlwdG9yPEpT
T2JqZWN0PihleGVjLCAmSlNUZXN0T2JqUHJvdG90eXBlVGFibGUsIHRoaXMsIHByb3BlcnR5TmFt
ZSwgZGVzY3JpcHRvcik7CisgICAgcmV0dXJuIGdldFN0YXRpY1Byb3BlcnR5RGVzY3JpcHRvcjxK
U1Rlc3RPYmpQcm90b3R5cGUsIEpTT2JqZWN0PihleGVjLCAmSlNUZXN0T2JqUHJvdG90eXBlVGFi
bGUsIHRoaXMsIHByb3BlcnR5TmFtZSwgZGVzY3JpcHRvcik7CiB9CiAKIGNvbnN0IENsYXNzSW5m
byBKU1Rlc3RPYmo6OnNfaW5mbyA9IHsgIlRlc3RPYmoiLCAwLCAmSlNUZXN0T2JqVGFibGUsIDAg
fTsKQEAgLTEyMjgsNiArMTI0NSwzMyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpz
VGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uT3ZlcmxvYWRlZE1ldGhvZChFeGVjU3RhdAogICAgIHJl
dHVybiB0aHJvd1ZNVHlwZUVycm9yKGV4ZWMpOwogfQogCisvLyBDb25zdGFudCBnZXR0ZXJzCisK
K0pTVmFsdWUganNUZXN0T2JqQ09OU1RfVkFMVUVfMChFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUs
IGNvbnN0IElkZW50aWZpZXImKQoreworICAgIHJldHVybiBqc051bWJlcihleGVjLCBzdGF0aWNf
Y2FzdDxpbnQ+KDApKTsKK30KKworSlNWYWx1ZSBqc1Rlc3RPYmpDT05TVF9WQUxVRV8xKEV4ZWNT
dGF0ZSogZXhlYywgSlNWYWx1ZSwgY29uc3QgSWRlbnRpZmllciYpCit7CisgICAgcmV0dXJuIGpz
TnVtYmVyKGV4ZWMsIHN0YXRpY19jYXN0PGludD4oMSkpOworfQorCitKU1ZhbHVlIGpzVGVzdE9i
akNPTlNUX1ZBTFVFXzIoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlLCBjb25zdCBJZGVudGlmaWVy
JikKK3sKKyAgICByZXR1cm4ganNOdW1iZXIoZXhlYywgc3RhdGljX2Nhc3Q8aW50PigyKSk7Cit9
CisKK0pTVmFsdWUganNUZXN0T2JqQ09OU1RfVkFMVUVfNChFeGVjU3RhdGUqIGV4ZWMsIEpTVmFs
dWUsIGNvbnN0IElkZW50aWZpZXImKQoreworICAgIHJldHVybiBqc051bWJlcihleGVjLCBzdGF0
aWNfY2FzdDxpbnQ+KDQpKTsKK30KKworSlNWYWx1ZSBqc1Rlc3RPYmpDT05TVF9WQUxVRV84KEV4
ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSwgY29uc3QgSWRlbnRpZmllciYpCit7CisgICAgcmV0dXJu
IGpzTnVtYmVyKGV4ZWMsIHN0YXRpY19jYXN0PGludD4oOCkpOworfQorCiBKU0M6OkpTVmFsdWUg
dG9KUyhKU0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgVGVzdE9iaiogb2JqZWN0KQogewogICAgIHJldHVybiBnZXRET01PYmplY3RXcmFwcGVyPEpT
VGVzdE9iaj4oZXhlYywgZ2xvYmFsT2JqZWN0LCBvYmplY3QpOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmggYi9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouaAppbmRleCBjODNlNTY4YTMwMzY2MjllZTIzYWQw
YjA5YmEwNWYwOTZjNjIxNWJmLi44NDEyMmI3YjIxNDEyZTMxMTlhODcyMjY3MDZiMmVlNDVjOTRh
ZTUzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RP
YmouaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouaApA
QCAtMTczLDYgKzE3MywxMyBAQCBKU0M6OkpTVmFsdWUganNUZXN0T2JqSWQoSlNDOjpFeGVjU3Rh
dGUqLCBKU0M6OkpTVmFsdWUsIGNvbnN0IEpTQzo6SWRlbnRpZmllciYpOwogdm9pZCBzZXRKU1Rl
c3RPYmpJZChKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNPYmplY3QqLCBKU0M6OkpTVmFsdWUpOwog
SlNDOjpKU1ZhbHVlIGpzVGVzdE9iakhhc2goSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTVmFsdWUs
IGNvbnN0IEpTQzo6SWRlbnRpZmllciYpOwogSlNDOjpKU1ZhbHVlIGpzVGVzdE9iakNvbnN0cnVj
dG9yKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU1ZhbHVlLCBjb25zdCBKU0M6OklkZW50aWZpZXIm
KTsKKy8vIENvbnN0YW50cworCitKU0M6OkpTVmFsdWUganNUZXN0T2JqQ09OU1RfVkFMVUVfMChK
U0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNWYWx1ZSwgY29uc3QgSlNDOjpJZGVudGlmaWVyJik7CitK
U0M6OkpTVmFsdWUganNUZXN0T2JqQ09OU1RfVkFMVUVfMShKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6
SlNWYWx1ZSwgY29uc3QgSlNDOjpJZGVudGlmaWVyJik7CitKU0M6OkpTVmFsdWUganNUZXN0T2Jq
Q09OU1RfVkFMVUVfMihKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNWYWx1ZSwgY29uc3QgSlNDOjpJ
ZGVudGlmaWVyJik7CitKU0M6OkpTVmFsdWUganNUZXN0T2JqQ09OU1RfVkFMVUVfNChKU0M6OkV4
ZWNTdGF0ZSosIEpTQzo6SlNWYWx1ZSwgY29uc3QgSlNDOjpJZGVudGlmaWVyJik7CitKU0M6OkpT
VmFsdWUganNUZXN0T2JqQ09OU1RfVkFMVUVfOChKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNWYWx1
ZSwgY29uc3QgSlNDOjpJZGVudGlmaWVyJik7CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0T2Jq
LmggYi9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmouaAppbmRl
eCAxZWFjOTkwZjNhOTUwNDdiNTgzMmRmZWMxMjY4Y2UzZGEyYjUwODBhLi4zM2MzYTJkYjM2Njhi
NTY1ODcxZGViMmRmOGJkZGNkYWNjNWJiMTVkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmouaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmouaApAQCAtMzQsNiArMzQsMTQgQEAKIEBjbGFzcyBO
U1N0cmluZzsKIEBwcm90b2NvbCBET01FdmVudExpc3RlbmVyOwogCitlbnVtIHsKKyAgICBET01f
Q09OU1RfVkFMVUVfMCA9IDAsCisgICAgRE9NX0NPTlNUX1ZBTFVFXzEgPSAxLAorICAgIERPTV9D
T05TVF9WQUxVRV8yID0gMiwKKyAgICBET01fQ09OU1RfVkFMVUVfNCA9IDQsCisgICAgRE9NX0NP
TlNUX1ZBTFVFXzggPSA4Cit9OworCiBAaW50ZXJmYWNlIERPTVRlc3RPYmogOiBET01PYmplY3QK
IC0gKGludClyZWFkT25seUludEF0dHI7CiAtIChOU1N0cmluZyAqKXJlYWRPbmx5U3RyaW5nQXR0
cjsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRs
IGIvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGwKaW5kZXggNDNmYzIx
MWQ0NjY2NWJjNzYzZDc1YzAwNjljY2VjMGNiNmZmZTY0OS4uZjlkNDFkN2UxMzhjYTE0NWJlMWMw
MTc2YjY4MWVkNzliMTMxMzQ2MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVGVzdE9iai5pZGwKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVz
dE9iai5pZGwKQEAgLTEyOSw1ICsxMjksMTIgQEAgbW9kdWxlIHRlc3QgewogICAgICAgICByZWFk
b25seSBhdHRyaWJ1dGUgbG9uZyAgICAgIGRlc2NyaXB0aW9uOwogICAgICAgICBhdHRyaWJ1dGUg
bG9uZyAgICAgICAgICAgICAgIGlkOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIGhhc2g7CisKKyAgICAgICAgLy8gQ2hlY2sgY29uc3RhbnRzIGFuZCBlbnVtcy4KKyAgICAg
ICAgY29uc3QgdW5zaWduZWQgc2hvcnQgQ09OU1RfVkFMVUVfMCA9IDA7CisgICAgICAgIGNvbnN0
IHVuc2lnbmVkIHNob3J0IENPTlNUX1ZBTFVFXzEgPSAxOworICAgICAgICBjb25zdCB1bnNpZ25l
ZCBzaG9ydCBDT05TVF9WQUxVRV8yID0gMjsKKyAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQg
Q09OU1RfVkFMVUVfNCA9IDQ7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IENPTlNUX1ZB
TFVFXzggPSA4OwogICAgIH07CiB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9WOC9WOFRlc3RPYmouY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
VjgvVjhUZXN0T2JqLmNwcAppbmRleCAwYjlkMDM0NzkxODE0OWRjY2FjYmY1NjM5ZjYxNzYzYWM5
NjllMTU4Li5jMzQ4NzI2YTQ2MGE1NjA3OWRiZWZiNzlkODU4Y2E3NzgyMjlkNGU4IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RPYmouY3BwCisrKyBi
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE9iai5jcHAKQEAgLTEwMTUs
NiArMTAxNSwyMCBAQCBzdGF0aWMgY29uc3QgQmF0Y2hlZENhbGxiYWNrIFRlc3RPYmpDYWxsYmFj
a3NbXSA9IHsKICAgICB7Im1ldGhvZFdpdGhOb25PcHRpb25hbEFyZ0FuZFR3b09wdGlvbmFsQXJn
cyIsIFRlc3RPYmpJbnRlcm5hbDo6bWV0aG9kV2l0aE5vbk9wdGlvbmFsQXJnQW5kVHdvT3B0aW9u
YWxBcmdzQ2FsbGJhY2t9LAogICAgIHsib3ZlcmxvYWRlZE1ldGhvZCIsIFRlc3RPYmpJbnRlcm5h
bDo6b3ZlcmxvYWRlZE1ldGhvZENhbGxiYWNrfSwKIH07CitzdGF0aWMgY29uc3QgQmF0Y2hlZENv
bnN0YW50IFRlc3RPYmpDb25zdHNbXSA9IHsKKyAgICB7IkNPTlNUX1ZBTFVFXzAiLCBzdGF0aWNf
Y2FzdDxzaWduZWQgaW50PigwKX0sCisgICAgeyJDT05TVF9WQUxVRV8xIiwgc3RhdGljX2Nhc3Q8
c2lnbmVkIGludD4oMSl9LAorICAgIHsiQ09OU1RfVkFMVUVfMiIsIHN0YXRpY19jYXN0PHNpZ25l
ZCBpbnQ+KDIpfSwKKyAgICB7IkNPTlNUX1ZBTFVFXzQiLCBzdGF0aWNfY2FzdDxzaWduZWQgaW50
Pig0KX0sCisgICAgeyJDT05TVF9WQUxVRV84Iiwgc3RhdGljX2Nhc3Q8c2lnbmVkIGludD4oOCl9
LAorfTsKKworQ09NUElMRV9BU1NFUlQoMCA9PSBUZXN0T2JqOjpDT05TVF9WQUxVRV8wLCBUZXN0
T2JqRW51bUNPTlNUX1ZBTFVFXzBJc1dyb25nVXNlRG9udENoZWNrRW51bXMpOworQ09NUElMRV9B
U1NFUlQoMSA9PSBUZXN0T2JqOjpDT05TVF9WQUxVRV8xLCBUZXN0T2JqRW51bUNPTlNUX1ZBTFVF
XzFJc1dyb25nVXNlRG9udENoZWNrRW51bXMpOworQ09NUElMRV9BU1NFUlQoMiA9PSBUZXN0T2Jq
OjpDT05TVF9WQUxVRV8yLCBUZXN0T2JqRW51bUNPTlNUX1ZBTFVFXzJJc1dyb25nVXNlRG9udENo
ZWNrRW51bXMpOworQ09NUElMRV9BU1NFUlQoNCA9PSBUZXN0T2JqOjpDT05TVF9WQUxVRV80LCBU
ZXN0T2JqRW51bUNPTlNUX1ZBTFVFXzRJc1dyb25nVXNlRG9udENoZWNrRW51bXMpOworQ09NUElM
RV9BU1NFUlQoOCA9PSBUZXN0T2JqOjpDT05TVF9WQUxVRV84LCBUZXN0T2JqRW51bUNPTlNUX1ZB
TFVFXzhJc1dyb25nVXNlRG9udENoZWNrRW51bXMpOworCiBzdGF0aWMgdjg6OlBlcnNpc3RlbnQ8
djg6OkZ1bmN0aW9uVGVtcGxhdGU+IENvbmZpZ3VyZVY4VGVzdE9ialRlbXBsYXRlKHY4OjpQZXJz
aXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBkZXNjKQogewogICAgIHY4OjpMb2NhbDx2ODo6
U2lnbmF0dXJlPiBkZWZhdWx0U2lnbmF0dXJlID0gY29uZmlndXJlVGVtcGxhdGUoZGVzYywgIlRl
c3RPYmoiLCB2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4oKSwgVjhUZXN0T2Jq
OjppbnRlcm5hbEZpZWxkQ291bnQsCkBAIC0xMDU5LDYgKzEwNzMsNyBAQCBzdGF0aWMgdjg6OlBl
cnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IENvbmZpZ3VyZVY4VGVzdE9ialRlbXBsYXRl
KHY4OjpQZXJzaQogICAgIHY4OjpIYW5kbGU8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IGN1c3RvbUFy
Z3NBbmRFeGNlcHRpb25Bcmd2W2N1c3RvbUFyZ3NBbmRFeGNlcHRpb25BcmdjXSA9IHsgVjhsb2c6
OkdldFJhd1RlbXBsYXRlKCkgfTsKICAgICB2ODo6SGFuZGxlPHY4OjpTaWduYXR1cmU+IGN1c3Rv
bUFyZ3NBbmRFeGNlcHRpb25TaWduYXR1cmUgPSB2ODo6U2lnbmF0dXJlOjpOZXcoZGVzYywgY3Vz
dG9tQXJnc0FuZEV4Y2VwdGlvbkFyZ2MsIGN1c3RvbUFyZ3NBbmRFeGNlcHRpb25Bcmd2KTsKICAg
ICBwcm90by0+U2V0KHY4OjpTdHJpbmc6Ok5ldygiY3VzdG9tQXJnc0FuZEV4Y2VwdGlvbiIpLCB2
ODo6RnVuY3Rpb25UZW1wbGF0ZTo6TmV3KFRlc3RPYmpJbnRlcm5hbDo6Y3VzdG9tQXJnc0FuZEV4
Y2VwdGlvbkNhbGxiYWNrLCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4oKSwgY3VzdG9tQXJnc0FuZEV4
Y2VwdGlvblNpZ25hdHVyZSkpOworICAgIGJhdGNoQ29uZmlndXJlQ29uc3RhbnRzKGRlc2MsIHBy
b3RvLCBUZXN0T2JqQ29uc3RzLCBzaXplb2YoVGVzdE9iakNvbnN0cykgLyBzaXplb2YoKlRlc3RP
YmpDb25zdHMpKTsKIAogICAgIC8vIEN1c3RvbSB0b1N0cmluZyB0ZW1wbGF0ZQogICAgIGRlc2Mt
PlNldChnZXRUb1N0cmluZ05hbWUoKSwgZ2V0VG9TdHJpbmdUZW1wbGF0ZSgpKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvY3NzL1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmlkbCBiL1dlYkNvcmUvY3Nz
L1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmlkbAppbmRleCAwODdhYTgyZTY1ZmQyNDU3M2M4MzM1
MmEyNDU2NzQ1ZTJkNDU4MmZjLi4wMDcwOTdlN2MzOGFjMTUzOWEyOWYzZTAyZWI1NTMyZjgzMjNi
YzM4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5pZGwK
KysrIGIvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuaWRsCkBAIC0yOSw3ICsy
OSw4IEBACiBtb2R1bGUgY3NzIHsKIAogICAgIGludGVyZmFjZSBbCi0gICAgICAgICAgICBIYXNJ
bmRleEdldHRlcgorICAgICAgICAgICAgSGFzSW5kZXhHZXR0ZXIsCisgICAgICAgICAgICBEb250
Q2hlY2tFbnVtcwogICAgIF0gV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUgOiBDU1NWYWx1ZUxpc3Qg
ewogCiAgICAgICAgIC8vIE9wZXJhdGlvblR5cGVzCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9E
T01Db3JlRXhjZXB0aW9uLmlkbCBiL1dlYkNvcmUvZG9tL0RPTUNvcmVFeGNlcHRpb24uaWRsCmlu
ZGV4IDJjYmM1ODlhMzQ0NzMxYzFlYjBiOGIxOGFkNDZiNzNkNWI5ZTRiMmYuLjk0NTcxMmRiZDlm
NzM2NTkxNzQwYWI2MTZkOWRmNDU3OGMwZmI5YzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0RP
TUNvcmVFeGNlcHRpb24uaWRsCisrKyBiL1dlYkNvcmUvZG9tL0RPTUNvcmVFeGNlcHRpb24uaWRs
CkBAIC0yOSw3ICsyOSw4IEBACiBtb2R1bGUgY29yZSB7CiAKICAgICBpbnRlcmZhY2UgWwotICAg
ICAgICBOb1N0YXRpY1RhYmxlcworICAgICAgICBOb1N0YXRpY1RhYmxlcywKKyAgICAgICAgRG9u
dENoZWNrRW51bXMKICAgICBdIERPTUNvcmVFeGNlcHRpb24gewogCiAgICAgICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCAgIGNvZGU7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Rv
bS9FdmVudEV4Y2VwdGlvbi5pZGwgYi9XZWJDb3JlL2RvbS9FdmVudEV4Y2VwdGlvbi5pZGwKaW5k
ZXggMWM4ZmFjNmQ0ZDA5MTY2MjQwZDY0ZTdiYzAzY2Y1ZjBjZmIzNzk0NS4uYzhmMmJkZTBmZmQ1
Mzk0MTE2NzlmZDdiOWFmYjA2OTQ2OTJmYjE3MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRXZl
bnRFeGNlcHRpb24uaWRsCisrKyBiL1dlYkNvcmUvZG9tL0V2ZW50RXhjZXB0aW9uLmlkbApAQCAt
MzAsNyArMzAsOCBAQCBtb2R1bGUgZXZlbnRzIHsKIAogICAgIC8vIEludHJvZHVjZWQgaW4gRE9N
IExldmVsIDI6CiAgICAgaW50ZXJmYWNlIFsKLSAgICAgICAgTm9TdGF0aWNUYWJsZXMKKyAgICAg
ICAgTm9TdGF0aWNUYWJsZXMsCisgICAgICAgIERvbnRDaGVja0VudW1zCiAgICAgXSBFdmVudEV4
Y2VwdGlvbiB7CiAKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0ICAg
Y29kZTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL05vZGUuaWRsIGIvV2ViQ29yZS9kb20vTm9k
ZS5pZGwKaW5kZXggMDcwNDZkMTMwMWVjZTMwZDcxMWUwYTVkYzFlNzE3N2I3OTIxMGFkZi4uZTE1
YjIxMGRhNzJmMjBkMDc3MTU2MzlmNzI4OGQyZTVlNDViOTI4MCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9kb20vTm9kZS5pZGwKKysrIGIvV2ViQ29yZS9kb20vTm9kZS5pZGwKQEAgLTI4LDcgKzI4LDgg
QEAgbW9kdWxlIGNvcmUgewogICAgICAgICBFdmVudFRhcmdldCwKICAgICAgICAgR2VuZXJhdGVO
YXRpdmVDb252ZXJ0ZXIsCiAgICAgICAgIElubGluZUdldE93blByb3BlcnR5U2xvdCwKLSAgICAg
ICAgUG9seW1vcnBoaWMKKyAgICAgICAgUG9seW1vcnBoaWMsCisgICAgICAgIERvbnRDaGVja0Vu
dW1zCiAgICAgXSBOb2RlCiAjaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFO
R1VBR0VfT0JKRUNUSVZFX0MKICAgICAgICAgOiBPYmplY3QsIEV2ZW50VGFyZ2V0CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2RvbS9PdmVyZmxvd0V2ZW50LmlkbCBiL1dlYkNvcmUvZG9tL092ZXJmbG93
RXZlbnQuaWRsCmluZGV4IDBiNGY1YzYwMzc4N2ViZmQ4YzRkM2Y0NDM5YjgyOWUxNmVkYzM2NTUu
LmM5MmIwMmI1MzExNmVjYTY4MjIyZjc3OGQwNGUyZTE5MDdkNzdkYjAgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvZG9tL092ZXJmbG93RXZlbnQuaWRsCisrKyBiL1dlYkNvcmUvZG9tL092ZXJmbG93RXZl
bnQuaWRsCkBAIC0yMyw4ICsyMyw4IEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKICAqLwogbW9kdWxlIGV2
ZW50cyB7Ci0KLSAgICBpbnRlcmZhY2UgT3ZlcmZsb3dFdmVudCA6IEV2ZW50IHsKKyAgICAjIEZJ
WE1FOiBSZW1vdmUgRG9udENoZWNrRW51bXMgYXR0cmlidXRlLgorICAgIGludGVyZmFjZSBbRG9u
dENoZWNrRW51bXNdIE92ZXJmbG93RXZlbnQgOiBFdmVudCB7CiAgICAgICAgIGNvbnN0IHVuc2ln
bmVkIHNob3J0IEhPUklaT05UQUwgPSAwOwogICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBW
RVJUSUNBTCAgID0gMTsKICAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgQk9USCAgICAgICA9
IDI7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9SYW5nZUV4Y2VwdGlvbi5pZGwgYi9XZWJDb3Jl
L2RvbS9SYW5nZUV4Y2VwdGlvbi5pZGwKaW5kZXggMTAwOTEyZGMxYTZhYTIxNjE3ZjViYTRhMjI0
ZWZhOWI0MDVmZGFkYy4uYzdjODU1ODQ4ZmViNGJkN2U3M2M0NTg0M2ZkZWZmOGI2NzAzNDdhNiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vUmFuZ2VFeGNlcHRpb24uaWRsCisrKyBiL1dlYkNvcmUv
ZG9tL1JhbmdlRXhjZXB0aW9uLmlkbApAQCAtMTksNyArMTksNyBAQAogCiBtb2R1bGUgcmFuZ2Vz
IHsKIAotICAgIGludGVyZmFjZSBSYW5nZUV4Y2VwdGlvbiB7CisgICAgaW50ZXJmYWNlIFtEb250
Q2hlY2tFbnVtc10gUmFuZ2VFeGNlcHRpb24gewogCiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSB1bnNpZ25lZCBzaG9ydCAgIGNvZGU7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01T
dHJpbmcgICAgICAgIG5hbWU7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvRmlsZUVycm9yLmlk
bCBiL1dlYkNvcmUvaHRtbC9GaWxlRXJyb3IuaWRsCmluZGV4IGFkYzI1ZThlN2ExMWIzZDVmMWM2
MjFhODViYmIyOTIyOGM5ZjUwZWMuLjU1NWQxMDNkOWIzMmViOTcxMGUyZDM4YjUwMTk4NTgyN2Zi
NDViZTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9GaWxlRXJyb3IuaWRsCisrKyBiL1dlYkNv
cmUvaHRtbC9GaWxlRXJyb3IuaWRsCkBAIC0zMCw3ICszMCw4IEBACiAKIG1vZHVsZSBodG1sIHsK
ICAgICBpbnRlcmZhY2UgWwotICAgICAgICBDb25kaXRpb25hbD1GSUxFX1JFQURFUnxGSUxFX1dS
SVRFUgorICAgICAgICBDb25kaXRpb25hbD1GSUxFX1JFQURFUnxGSUxFX1dSSVRFUiwKKyAgICAg
ICAgRG9udENoZWNrRW51bXMKICAgICBdIEZpbGVFcnJvciB7CiAjaWYgIWRlZmluZWQoTEFOR1VB
R0VfT0JKRUNUSVZFX0MpCiAgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IE5PX01PRElGSUNB
VElPTl9BTExPV0VEX0VSUiA9IDc7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvRmlsZVJlYWRl
ci5pZGwgYi9XZWJDb3JlL2h0bWwvRmlsZVJlYWRlci5pZGwKaW5kZXggYjkzM2Y1MWNmNjY3NGZl
MzFkYmI0NGFkMjlhNWFmYjcyNzQ1ZGMyNy4uYWQwZTE4N2RmZDBiNTdmYjgwNGJlNmE0OWZhNzNh
MGZiMmJjYTJjOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0ZpbGVSZWFkZXIuaWRsCisrKyBi
L1dlYkNvcmUvaHRtbC9GaWxlUmVhZGVyLmlkbApAQCAtMzQsNyArMzQsOCBAQCBtb2R1bGUgaHRt
bCB7CiAgICAgICAgIENhbkJlQ29uc3RydWN0ZWQsCiAgICAgICAgIENhbGxXaXRoPVNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQsCiAgICAgICAgIEV2ZW50VGFyZ2V0LAotICAgICAgICBOb1N0YXRpY1Rh
YmxlcworICAgICAgICBOb1N0YXRpY1RhYmxlcywKKyAgICAgICAgRG9udENoZWNrRW51bXMKICAg
ICBdIEZpbGVSZWFkZXIgewogICAgICAgICAvLyByZWFkeSBzdGF0ZXMKICAgICAgICAgY29uc3Qg
dW5zaWduZWQgc2hvcnQgRU1QVFkgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL2NhbnZh
cy9GbG9hdDMyQXJyYXkuaWRsIGIvV2ViQ29yZS9odG1sL2NhbnZhcy9GbG9hdDMyQXJyYXkuaWRs
CmluZGV4IDY1MWU3NGY2Y2MzY2FhOGY1MjcxMTEwOGY0ODFkOTk0YjEzY2FiNjYuLjVhOTM5Y2E3
YWI3OGY2MWI4Nzc5ODBmNWZkNDg5MDJlMjk3MmVhZjMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRt
bC9jYW52YXMvRmxvYXQzMkFycmF5LmlkbAorKysgYi9XZWJDb3JlL2h0bWwvY2FudmFzL0Zsb2F0
MzJBcnJheS5pZGwKQEAgLTMzLDcgKzMzLDggQEAgbW9kdWxlIGh0bWwgewogICAgICAgICBIYXNO
dW1lcmljSW5kZXhHZXR0ZXIsCiAgICAgICAgIEhhc0N1c3RvbUluZGV4U2V0dGVyLAogICAgICAg
ICBHZW5lcmF0ZU5hdGl2ZUNvbnZlcnRlciwKLSAgICAgICAgQ3VzdG9tVG9KUworICAgICAgICBD
dXN0b21Ub0pTLAorICAgICAgICBEb250Q2hlY2tFbnVtcwogICAgIF0gRmxvYXQzMkFycmF5IDog
QXJyYXlCdWZmZXJWaWV3IHsKICAgICAgICAgY29uc3QgdW5zaWduZWQgaW50IEJZVEVTX1BFUl9F
TEVNRU5UID0gNDsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL2NhbnZhcy9JbnQxNkFycmF5
LmlkbCBiL1dlYkNvcmUvaHRtbC9jYW52YXMvSW50MTZBcnJheS5pZGwKaW5kZXggMDk1NjExYmY1
NzQzMzkzODUzMDljMzQ2Nzc4ZWZiZmVmZTgyZGU1Zi4uMDI0MTdmOGQxYmRjYjA5NTUyMWJkZGIw
NTc4ODFjZmQwODIwMDVmZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL2NhbnZhcy9JbnQxNkFy
cmF5LmlkbAorKysgYi9XZWJDb3JlL2h0bWwvY2FudmFzL0ludDE2QXJyYXkuaWRsCkBAIC0zMiw3
ICszMiw4IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgSGFzTnVtZXJpY0luZGV4R2V0dGVyLAog
ICAgICAgICBIYXNDdXN0b21JbmRleFNldHRlciwKICAgICAgICAgR2VuZXJhdGVOYXRpdmVDb252
ZXJ0ZXIsCi0gICAgICAgIEN1c3RvbVRvSlMKKyAgICAgICAgQ3VzdG9tVG9KUywKKyAgICAgICAg
RG9udENoZWNrRW51bXMKICAgICBdIEludDE2QXJyYXkgOiBBcnJheUJ1ZmZlclZpZXcgewogICAg
ICAgICBjb25zdCB1bnNpZ25lZCBpbnQgQllURVNfUEVSX0VMRU1FTlQgPSAyOwogCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2h0bWwvY2FudmFzL0ludDMyQXJyYXkuaWRsIGIvV2ViQ29yZS9odG1sL2Nh
bnZhcy9JbnQzMkFycmF5LmlkbAppbmRleCA5ZDFlOGVlM2RkNWU1OThhMTkzNGZmYWE3ZmU1ODAz
ZjllMDQ4MzhmLi42OTc3ZDAwNDJlMWYxNzIzNTNiODljODQ4ZTdlODY1YWY5NDY2Njk5IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2h0bWwvY2FudmFzL0ludDMyQXJyYXkuaWRsCisrKyBiL1dlYkNvcmUv
aHRtbC9jYW52YXMvSW50MzJBcnJheS5pZGwKQEAgLTMzLDcgKzMzLDggQEAgbW9kdWxlIGh0bWwg
ewogICAgICAgICBIYXNOdW1lcmljSW5kZXhHZXR0ZXIsCiAgICAgICAgIEhhc0N1c3RvbUluZGV4
U2V0dGVyLAogICAgICAgICBHZW5lcmF0ZU5hdGl2ZUNvbnZlcnRlciwKLSAgICAgICAgQ3VzdG9t
VG9KUworICAgICAgICBDdXN0b21Ub0pTLAorICAgICAgICBEb250Q2hlY2tFbnVtcwogICAgIF0g
SW50MzJBcnJheSA6IEFycmF5QnVmZmVyVmlldyB7CiAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGlu
dCBCWVRFU19QRVJfRUxFTUVOVCA9IDQ7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9jYW52
YXMvSW50OEFycmF5LmlkbCBiL1dlYkNvcmUvaHRtbC9jYW52YXMvSW50OEFycmF5LmlkbAppbmRl
eCA0M2M4M2Y1YzI5N2QwNDBmNzgyMTI5MWU0YTNlZWZjNjFkMTE5YmU3Li40ZGJhOWU0ZTA3MmU4
NTczNGE1MmEwYjk5YjkwMmJhNTM4MzQ1NzU2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL0ludDhBcnJheS5pZGwKKysrIGIvV2ViQ29yZS9odG1sL2NhbnZhcy9JbnQ4QXJyYXkuaWRs
CkBAIC0zMyw3ICszMyw4IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgSGFzTnVtZXJpY0luZGV4
R2V0dGVyLAogICAgICAgICBIYXNDdXN0b21JbmRleFNldHRlciwKICAgICAgICAgR2VuZXJhdGVO
YXRpdmVDb252ZXJ0ZXIsCi0gICAgICAgIEN1c3RvbVRvSlMKKyAgICAgICAgQ3VzdG9tVG9KUywK
KyAgICAgICAgRG9udENoZWNrRW51bXMKICAgICBdIEludDhBcnJheSA6IEFycmF5QnVmZmVyVmll
dyB7CiAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGludCBCWVRFU19QRVJfRUxFTUVOVCA9IDE7CiAK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9jYW52YXMvVWludDE2QXJyYXkuaWRsIGIvV2ViQ29y
ZS9odG1sL2NhbnZhcy9VaW50MTZBcnJheS5pZGwKaW5kZXggNGMzNjlhMDE1ZDU2Y2Y2MmJkN2I1
NTAyMjVmMzVhZWI4MTE1ZWIwMy4uZGUxZTVlMGMxMTNlZmY1ZmIxZjg2ZGRjZWQ5MGU1YTBkYjc2
YTAxOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL2NhbnZhcy9VaW50MTZBcnJheS5pZGwKKysr
IGIvV2ViQ29yZS9odG1sL2NhbnZhcy9VaW50MTZBcnJheS5pZGwKQEAgLTMzLDcgKzMzLDggQEAg
bW9kdWxlIGh0bWwgewogICAgICAgICBIYXNOdW1lcmljSW5kZXhHZXR0ZXIsCiAgICAgICAgIEhh
c0N1c3RvbUluZGV4U2V0dGVyLAogICAgICAgICBHZW5lcmF0ZU5hdGl2ZUNvbnZlcnRlciwKLSAg
ICAgICAgQ3VzdG9tVG9KUworICAgICAgICBDdXN0b21Ub0pTLAorICAgICAgICBEb250Q2hlY2tF
bnVtcwogICAgIF0gVWludDE2QXJyYXkgOiBBcnJheUJ1ZmZlclZpZXcgewogICAgICAgICBjb25z
dCB1bnNpZ25lZCBpbnQgQllURVNfUEVSX0VMRU1FTlQgPSAyOwogCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2h0bWwvY2FudmFzL1VpbnQzMkFycmF5LmlkbCBiL1dlYkNvcmUvaHRtbC9jYW52YXMvVWlu
dDMyQXJyYXkuaWRsCmluZGV4IDI1ZjViNzFmZjM3OTU1ZTc1NjVlMDFkOTQwOWUyMWYyZmE4OTMw
OGMuLmNlNjMyZGQ3OTc4ODVlMTgwNDZjZTZiMTgxZjlkNjJjNGNmMzk5ZGYgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvaHRtbC9jYW52YXMvVWludDMyQXJyYXkuaWRsCisrKyBiL1dlYkNvcmUvaHRtbC9j
YW52YXMvVWludDMyQXJyYXkuaWRsCkBAIC0zMyw3ICszMyw4IEBAIG1vZHVsZSBodG1sIHsKICAg
ICAgICAgSGFzTnVtZXJpY0luZGV4R2V0dGVyLAogICAgICAgICBIYXNDdXN0b21JbmRleFNldHRl
ciwKICAgICAgICAgR2VuZXJhdGVOYXRpdmVDb252ZXJ0ZXIsCi0gICAgICAgIEN1c3RvbVRvSlMK
KyAgICAgICAgQ3VzdG9tVG9KUywKKyAgICAgICAgRG9udENoZWNrRW51bXMKICAgICBdIFVpbnQz
MkFycmF5IDogQXJyYXlCdWZmZXJWaWV3IHsKICAgICAgICAgY29uc3QgdW5zaWduZWQgaW50IEJZ
VEVTX1BFUl9FTEVNRU5UID0gNDsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL2NhbnZhcy9V
aW50OEFycmF5LmlkbCBiL1dlYkNvcmUvaHRtbC9jYW52YXMvVWludDhBcnJheS5pZGwKaW5kZXgg
NzZiOGNkZGI2NTg0YmRmMGUxNmUxNDBiMzZkYTY4ZjNmOTJlYmY5Ni4uYzUyMDg0NGY2NjQ5MGYw
MWJhZjRjNjhjOWY1YWM0NzlmMDJmYzc2ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL2NhbnZh
cy9VaW50OEFycmF5LmlkbAorKysgYi9XZWJDb3JlL2h0bWwvY2FudmFzL1VpbnQ4QXJyYXkuaWRs
CkBAIC0zMyw3ICszMyw4IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgSGFzTnVtZXJpY0luZGV4
R2V0dGVyLAogICAgICAgICBIYXNDdXN0b21JbmRleFNldHRlciwKICAgICAgICAgR2VuZXJhdGVO
YXRpdmVDb252ZXJ0ZXIsCi0gICAgICAgIEN1c3RvbVRvSlMKKyAgICAgICAgQ3VzdG9tVG9KUywK
KyAgICAgICAgRG9udENoZWNrRW51bXMKICAgICBdIFVpbnQ4QXJyYXkgOiBBcnJheUJ1ZmZlclZp
ZXcgewogICAgICAgICBjb25zdCB1bnNpZ25lZCBpbnQgQllURVNfUEVSX0VMRU1FTlQgPSAxOwog
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5p
ZGwgYi9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5pZGwKaW5kZXgg
NDE5N2RhOWI4NThmZDIzMmQxZjYzMDFmYzBmZjgyNmJjMzU5ZmQyNC4uNjU0YzdhYTFiYjhjMjM4
NDVkZTRmMWUxMTk3MmVmOTFiOTdmZDZjNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaWRsCisrKyBiL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0xSZW5kZXJpbmdDb250ZXh0LmlkbApAQCAtMjgsNyArMjgsOCBAQCBtb2R1bGUgaHRtbCB7CiAg
ICAgaW50ZXJmYWNlIFsKICAgICAgICAgQ29uZGl0aW9uYWw9M0RfQ0FOVkFTLAogICAgICAgICBJ
bnRlcmZhY2VVVUlEPTk4ZmI0OGFlLTcyMTYtNDg5Yy04NjJiLThlMTIxN2ZjNDQ0MywKLSAgICAg
ICAgSW1wbGVtZW50YXRpb25VVUlEPWFiNGYwNzgxLTE1MmYtNDUwZS05NTQ2LTViMzk4NzQ5MWE1
NAorICAgICAgICBJbXBsZW1lbnRhdGlvblVVSUQ9YWI0ZjA3ODEtMTUyZi00NTBlLTk1NDYtNWIz
OTg3NDkxYTU0LAorICAgICAgICBEb250Q2hlY2tFbnVtcwogICAgIF0gV2ViR0xSZW5kZXJpbmdD
b250ZXh0IDogQ2FudmFzUmVuZGVyaW5nQ29udGV4dCB7CiAKICAgICAgICAgLyogQ2xlYXJCdWZm
ZXJNYXNrICovCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9KYXZhU2NyaXB0Q2FsbEZy
YW1lLmlkbCBiL1dlYkNvcmUvaW5zcGVjdG9yL0phdmFTY3JpcHRDYWxsRnJhbWUuaWRsCmluZGV4
IDI4ZjRmMzQ5OTMxZDcyZTFlODk3YzM3YzUxN2YyZjk5MTVhYzVjZmIuLjk4YzA3ZjZhMmM5YzRl
NWRiZDgwZjEzYjAwOWRiMWRiYmZhNWI3YzIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9y
L0phdmFTY3JpcHRDYWxsRnJhbWUuaWRsCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0phdmFTY3Jp
cHRDYWxsRnJhbWUuaWRsCkBAIC0yNSw3ICsyNSw3IEBACiAKIG1vZHVsZSBpbnNwZWN0b3Igewog
Ci0gICAgaW50ZXJmYWNlIFtDb25kaXRpb25hbD1KQVZBU0NSSVBUX0RFQlVHR0VSLCBPbWl0Q29u
c3RydWN0b3JdIEphdmFTY3JpcHRDYWxsRnJhbWUgeworICAgIGludGVyZmFjZSBbQ29uZGl0aW9u
YWw9SkFWQVNDUklQVF9ERUJVR0dFUiwgT21pdENvbnN0cnVjdG9yLCBEb250Q2hlY2tFbnVtc10g
SmF2YVNjcmlwdENhbGxGcmFtZSB7CiAKICAgICAgICAgLy8gU2NvcGUgdHlwZQogICAgICAgICBj
b25zdCB1bnNpZ25lZCBzaG9ydCBHTE9CQUxfU0NPUEUgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5pZGwgYi9XZWJDb3JlL2xvYWRl
ci9hcHBjYWNoZS9ET01BcHBsaWNhdGlvbkNhY2hlLmlkbAppbmRleCA4NTI1ZmU2MmFhNzg2ZTVh
OTExNzg1YmU4ODkzZmQzNzhhNDkyYzAxLi45MTEzZmZhYTFkZDFjOTBiNzZmZTllNmNkODAwZTFl
ZWU5OTJhNWFmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9ET01BcHBsaWNh
dGlvbkNhY2hlLmlkbAorKysgYi9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9ET01BcHBsaWNhdGlv
bkNhY2hlLmlkbApAQCAtMjgsNyArMjgsOCBAQCBtb2R1bGUgb2ZmbGluZSB7CiAgICAgaW50ZXJm
YWNlIFsKICAgICAgICAgQ29uZGl0aW9uYWw9T0ZGTElORV9XRUJfQVBQTElDQVRJT05TLAogICAg
ICAgICBFdmVudFRhcmdldCwKLSAgICAgICAgT21pdENvbnN0cnVjdG9yCisgICAgICAgIE9taXRD
b25zdHJ1Y3RvciwKKyAgICAgICAgRG9udENoZWNrRW51bXMKICAgICBdIERPTUFwcGxpY2F0aW9u
Q2FjaGUgewogICAgICAgICAvLyB1cGRhdGUgc3RhdHVzCiAgICAgICAgIGNvbnN0IHVuc2lnbmVk
IHNob3J0IFVOQ0FDSEVEID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9TUUxFeGNl
cHRpb24uaWRsIGIvV2ViQ29yZS9zdG9yYWdlL1NRTEV4Y2VwdGlvbi5pZGwKaW5kZXggOTgzMDE0
MjhjNDRkZjlkMzMwNGNhMmM4Njc1NGM1MjUxNjYwZmZmNC4uY2JiYzMxMWZkMjM5YTljNjdkZDQ4
NjBiNjRkNzhhZmIyNWUwMzFiOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL1NRTEV4Y2Vw
dGlvbi5pZGwKKysrIGIvV2ViQ29yZS9zdG9yYWdlL1NRTEV4Y2VwdGlvbi5pZGwKQEAgLTMyLDcg
KzMyLDggQEAgbW9kdWxlIHN0b3JhZ2UgewogCiAgICAgaW50ZXJmYWNlIFsKICAgICAgICAgQ29u
ZGl0aW9uYWw9REFUQUJBU0UsCi0gICAgICAgIE5vU3RhdGljVGFibGVzCisgICAgICAgIE5vU3Rh
dGljVGFibGVzLAorICAgICAgICBEb250Q2hlY2tFbnVtcwogICAgIF0gU1FMRXhjZXB0aW9uIHsK
ICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgY29kZTsKICAgICAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBtZXNzYWdlOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9zdmcvU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQuaWRsIGIvV2ViQ29yZS9z
dmcvU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQuaWRsCmluZGV4IDk1MGY3N2Q2
NDY1M2FkOGExMWJjM2QxZGM2OGU5MmQ4MjVmNjVlMTcuLjJkNDVmNzE2ZTg2YWFjZDQzYjBlMzE2
MWJmMjU5YThmYzIxZDYyZmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3ZnL1NWR0NvbXBvbmVudFRy
YW5zZmVyRnVuY3Rpb25FbGVtZW50LmlkbAorKysgYi9XZWJDb3JlL3N2Zy9TVkdDb21wb25lbnRU
cmFuc2ZlckZ1bmN0aW9uRWxlbWVudC5pZGwKQEAgLTI1LDcgKzI1LDcgQEAKIAogbW9kdWxlIHN2
ZyB7CiAKLSAgICBpbnRlcmZhY2UgW0NvbmRpdGlvbmFsPVNWRyZGSUxURVJTXSBTVkdDb21wb25l
bnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudCA6IFNWR0VsZW1lbnQgeworICAgIGludGVyZmFjZSBb
Q29uZGl0aW9uYWw9U1ZHJkZJTFRFUlMsIERvbnRDaGVja0VudW1zXSBTVkdDb21wb25lbnRUcmFu
c2ZlckZ1bmN0aW9uRWxlbWVudCA6IFNWR0VsZW1lbnQgewogICAgICAgICAvLyBDb21wb25lbnQg
VHJhbnNmZXIgVHlwZXMKICAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgU1ZHX0ZFQ09NUE9O
RU5UVFJBTlNGRVJfVFlQRV9VTktOT1dOICA9IDA7CiAgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNo
b3J0IFNWR19GRUNPTVBPTkVOVFRSQU5TRkVSX1RZUEVfSURFTlRJVFkgPSAxOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9zdmcvU1ZHRXhjZXB0aW9uLmlkbCBiL1dlYkNvcmUvc3ZnL1NWR0V4Y2VwdGlv
bi5pZGwKaW5kZXggZGI1NjVmZjNkNjE4OTEyMzZmNDQxYzQ2NzU0ZTg3NDVhZjc4MDY2Yy4uM2Yx
ZjhlYzViZDFmNTBjYjdhOTZhYjhmODcxN2VkZWFiODU1YjJjZCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9zdmcvU1ZHRXhjZXB0aW9uLmlkbAorKysgYi9XZWJDb3JlL3N2Zy9TVkdFeGNlcHRpb24uaWRs
CkBAIC0yMSw3ICsyMSw4IEBACiBtb2R1bGUgc3ZnIHsKIAogICAgIGludGVyZmFjZSBbCi0gICAg
ICAgIENvbmRpdGlvbmFsPVNWRworICAgICAgICBDb25kaXRpb25hbD1TVkcsCisgICAgICAgIERv
bnRDaGVja0VudW1zCiAgICAgXSBTVkdFeGNlcHRpb24gewogCiAgICAgICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCAgIGNvZGU7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9T
VkdGRUJsZW5kRWxlbWVudC5pZGwgYi9XZWJDb3JlL3N2Zy9TVkdGRUJsZW5kRWxlbWVudC5pZGwK
aW5kZXggYmI2ZDg2ZGQ2YzM4OGVlYzQ3YjJlNjVmM2ZlNDU5NDQ2YWMzNjYyNC4uNTdkODdkNDQ0
NjQ2MjRjNDBlYzk2OGMxYjQ2MjAwN2MyNDllM2E0YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcv
U1ZHRkVCbGVuZEVsZW1lbnQuaWRsCisrKyBiL1dlYkNvcmUvc3ZnL1NWR0ZFQmxlbmRFbGVtZW50
LmlkbApAQCAtMjUsNyArMjUsNyBAQAogCiBtb2R1bGUgc3ZnIHsKIAotICAgIGludGVyZmFjZSBb
Q29uZGl0aW9uYWw9U1ZHJkZJTFRFUlNdIFNWR0ZFQmxlbmRFbGVtZW50IDogU1ZHRWxlbWVudCwK
KyAgICBpbnRlcmZhY2UgW0NvbmRpdGlvbmFsPVNWRyZGSUxURVJTLCBEb250Q2hlY2tFbnVtc10g
U1ZHRkVCbGVuZEVsZW1lbnQgOiBTVkdFbGVtZW50LAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0
cmlidXRlcyB7CiAgICAgICAgIC8vIEJsZW5kIE1vZGUgVHlwZXMKICAgICAgICAgY29uc3QgdW5z
aWduZWQgc2hvcnQgU1ZHX0ZFQkxFTkRfTU9ERV9VTktOT1dOICA9IDA7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3N2Zy9TVkdGRUNvbG9yTWF0cml4RWxlbWVudC5pZGwgYi9XZWJDb3JlL3N2Zy9TVkdG
RUNvbG9yTWF0cml4RWxlbWVudC5pZGwKaW5kZXggZDcwNDkwNmY4ZGQzNmNmYjEwODY3ZjU4OTdi
NWI4Nzk5OWI4MDAwOS4uZGQ5MDc2ZTkyNTU2MWU0YTBmODVlMTY2OWUxZTI1YTdkNWQ1OWM0OSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQuaWRsCisrKyBi
L1dlYkNvcmUvc3ZnL1NWR0ZFQ29sb3JNYXRyaXhFbGVtZW50LmlkbApAQCAtMjUsNyArMjUsNyBA
QAogCiBtb2R1bGUgc3ZnIHsKIAotICAgIGludGVyZmFjZSBbQ29uZGl0aW9uYWw9U1ZHJkZJTFRF
UlNdIFNWR0ZFQ29sb3JNYXRyaXhFbGVtZW50IDogU1ZHRWxlbWVudCwKKyAgICBpbnRlcmZhY2Ug
W0NvbmRpdGlvbmFsPVNWRyZGSUxURVJTLCBEb250Q2hlY2tFbnVtc10gU1ZHRkVDb2xvck1hdHJp
eEVsZW1lbnQgOiBTVkdFbGVtZW50LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmli
dXRlcyB7CiAgICAgICAgIC8vIENvbG9yIE1hdHJpeCBUeXBlcwogICAgICAgICBjb25zdCB1bnNp
Z25lZCBzaG9ydCBTVkdfRkVDT0xPUk1BVFJJWF9UWVBFX1VOS05PV04gICAgICAgICAgPSAwOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHRkVDb21wb3NpdGVFbGVtZW50LmlkbCBiL1dlYkNv
cmUvc3ZnL1NWR0ZFQ29tcG9zaXRlRWxlbWVudC5pZGwKaW5kZXggZDNhZGIyNWIxZGE4YjFjMzJi
ZDM2MGQzMzBmZTllMTFkNjM5ZmUxZi4uMDJhN2ZkNzAxYjM3YjYwOGU5YjMxYTNjZTllYjMzNTgx
ZjY4YTBkYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHRkVDb21wb3NpdGVFbGVtZW50Lmlk
bAorKysgYi9XZWJDb3JlL3N2Zy9TVkdGRUNvbXBvc2l0ZUVsZW1lbnQuaWRsCkBAIC0yNSw3ICsy
NSw3IEBACiAKIG1vZHVsZSBzdmcgewogCi0gICAgaW50ZXJmYWNlIFtDb25kaXRpb25hbD1TVkcm
RklMVEVSU10gU1ZHRkVDb21wb3NpdGVFbGVtZW50IDogU1ZHRWxlbWVudCwKKyAgICBpbnRlcmZh
Y2UgW0NvbmRpdGlvbmFsPVNWRyZGSUxURVJTLCBEb250Q2hlY2tFbnVtc10gU1ZHRkVDb21wb3Np
dGVFbGVtZW50IDogU1ZHRWxlbWVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1
dGVzIHsKICAgICAgICAgLy8gQ29tcG9zaXRlIE9wZXJhdG9ycwogICAgICAgICBjb25zdCB1bnNp
Z25lZCBzaG9ydCBTVkdfRkVDT01QT1NJVEVfT1BFUkFUT1JfVU5LTk9XTiAgICA9IDA7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3N2Zy9TVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudC5pZGwgYi9XZWJD
b3JlL3N2Zy9TVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudC5pZGwKaW5kZXggNWJlNGMzM2Q3MzU3
ODkxZGMyNzhlYTZlZTJkM2M3ZjRiMjI3NDU1ZC4uMTljYjJlMjBiZmVmNzU4NTY1M2Q2ZTI4OGUw
NjUyOGFmMzcxNjkwNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHRkVDb252b2x2ZU1hdHJp
eEVsZW1lbnQuaWRsCisrKyBiL1dlYkNvcmUvc3ZnL1NWR0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50
LmlkbApAQCAtMjUsNyArMjUsNyBAQAogCiBtb2R1bGUgc3ZnIHsKIAotICAgIGludGVyZmFjZSBb
Q29uZGl0aW9uYWw9U1ZHJkZJTFRFUlMsIEdlbmVyYXRlQ29uc3RydWN0b3JdIFNWR0ZFQ29udm9s
dmVNYXRyaXhFbGVtZW50IDogU1ZHRWxlbWVudCwKKyAgICBpbnRlcmZhY2UgW0NvbmRpdGlvbmFs
PVNWRyZGSUxURVJTLCBHZW5lcmF0ZUNvbnN0cnVjdG9yLCBEb250Q2hlY2tFbnVtc10gU1ZHRkVD
b252b2x2ZU1hdHJpeEVsZW1lbnQgOiBTVkdFbGVtZW50LAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNWR0ZpbHRlclByaW1pdGl2
ZVN0YW5kYXJkQXR0cmlidXRlcyB7CiAgICAgICAgIC8vIEVkZ2UgTW9kZSBWYWx1ZXMKICAgICAg
ICAgY29uc3QgdW5zaWduZWQgc2hvcnQgU1ZHX0VER0VNT0RFX1VOS05PV04gICA9IDA7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3N2Zy9TVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQuaWRsIGIvV2Vi
Q29yZS9zdmcvU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LmlkbAppbmRleCBiMDAzZThmODc3
YmRkZDc2NzQ1NDYyYWRiMGJiNTM1NDQzZDcwOTkyLi5hMzBlMzBkZWM4OGM0NDVlOTNjYTJmODE2
ZDEwN2RiNmU2MDhkZTRmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdGRURpc3BsYWNlbWVu
dE1hcEVsZW1lbnQuaWRsCisrKyBiL1dlYkNvcmUvc3ZnL1NWR0ZFRGlzcGxhY2VtZW50TWFwRWxl
bWVudC5pZGwKQEAgLTI1LDcgKzI1LDcgQEAKIAogbW9kdWxlIHN2ZyB7CiAKLSAgICBpbnRlcmZh
Y2UgW0NvbmRpdGlvbmFsPVNWRyZGSUxURVJTXSBTVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQg
OiBTVkdFbGVtZW50LAorICAgIGludGVyZmFjZSBbQ29uZGl0aW9uYWw9U1ZHJkZJTFRFUlMsIERv
bnRDaGVja0VudW1zXSBTVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQgOiBTVkdFbGVtZW50LAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMgeyAgICAKICAgICAgICAg
Ly8gQ2hhbm5lbCBTZWxlY3RvcnMKICAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgU1ZHX0NI
QU5ORUxfVU5LTk9XTiA9IDA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9TVkdGRU1vcnBob2xv
Z3lFbGVtZW50LmlkbCBiL1dlYkNvcmUvc3ZnL1NWR0ZFTW9ycGhvbG9neUVsZW1lbnQuaWRsCmlu
ZGV4IGZmZDIyODk1N2U2MDEwNGYzMWY3YzY3ZGIxNDA0OTcwZjUxZTBhMzEuLjU1OGRjMGY1ZDBm
Njg1ZDExZWIzYjAyZmE4ZGE0MWM1Yjg5MDgzMTYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3ZnL1NW
R0ZFTW9ycGhvbG9neUVsZW1lbnQuaWRsCisrKyBiL1dlYkNvcmUvc3ZnL1NWR0ZFTW9ycGhvbG9n
eUVsZW1lbnQuaWRsCkBAIC0yNSw3ICsyNSw3IEBACiAKIG1vZHVsZSBzdmcgewogCi0gICAgaW50
ZXJmYWNlIFtDb25kaXRpb25hbD1TVkcmRklMVEVSU10gU1ZHRkVNb3JwaG9sb2d5RWxlbWVudCA6
IFNWR0VsZW1lbnQsCisgICAgaW50ZXJmYWNlIFtDb25kaXRpb25hbD1TVkcmRklMVEVSUywgRG9u
dENoZWNrRW51bXNdIFNWR0ZFTW9ycGhvbG9neUVsZW1lbnQgOiBTVkdFbGVtZW50LAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNW
R0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcyB7CiAgICAgICAgIC8vIE1vcnBob2xv
Z3kgT3BlcmF0b3JzCiAgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFNWR19NT1JQSE9MT0dZ
X09QRVJBVE9SX1VOS05PV04gID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3ZnL1NWR0ZFVHVy
YnVsZW5jZUVsZW1lbnQuaWRsIGIvV2ViQ29yZS9zdmcvU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5p
ZGwKaW5kZXggOTM0ZWRkZjQ0OWRmN2RmN2QwZTkzMmU2MWMxN2UzMDBkYzlmNzY5MS4uMDVmMGYy
ZWVmMjg1ODRhMzRiM2MyZmZlMWE4MGE3MjhhNmM4OWQ0MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9z
dmcvU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5pZGwKKysrIGIvV2ViQ29yZS9zdmcvU1ZHRkVUdXJi
dWxlbmNlRWxlbWVudC5pZGwKQEAgLTI1LDcgKzI1LDcgQEAKIAogbW9kdWxlIHN2ZyB7CiAKLSAg
ICBpbnRlcmZhY2UgW0NvbmRpdGlvbmFsPVNWRyZGSUxURVJTXSBTVkdGRVR1cmJ1bGVuY2VFbGVt
ZW50IDogU1ZHRWxlbWVudCwKKyAgICBpbnRlcmZhY2UgW0NvbmRpdGlvbmFsPVNWRyZGSUxURVJT
LCBEb250Q2hlY2tFbnVtc10gU1ZHRkVUdXJidWxlbmNlRWxlbWVudCA6IFNWR0VsZW1lbnQsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBT
VkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMgeyAKICAgICAgICAgLy8gVHVyYnVs
ZW5jZSBUeXBlcwogICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBTVkdfVFVSQlVMRU5DRV9U
WVBFX1VOS05PV04gICAgICA9IDA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9TVkdHcmFkaWVu
dEVsZW1lbnQuaWRsIGIvV2ViQ29yZS9zdmcvU1ZHR3JhZGllbnRFbGVtZW50LmlkbAppbmRleCA3
NDg1NzgwYTA5MTA1ZDJmNmE1Y2U2NGE1NGFlMTI4Njg5OTRlMzVhLi4wYTc1ZmM0ZWZlNTY0MDBj
ZDAyNzk5YzAxYzIxYWM3MDViMDQwN2NmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdHcmFk
aWVudEVsZW1lbnQuaWRsCisrKyBiL1dlYkNvcmUvc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5pZGwK
QEAgLTI1LDExICsyNSwxMSBAQAogCiBtb2R1bGUgc3ZnIHsKIAotICAgIGludGVyZmFjZSBbQ29u
ZGl0aW9uYWw9U1ZHXSBTVkdHcmFkaWVudEVsZW1lbnQgOiBTVkdFbGVtZW50LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVkdVUklSZWZlcmVu
Y2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNWR1N0eWxhYmxlCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFNWR1VuaXRUeXBlcyAqLyB7Cisg
ICAgaW50ZXJmYWNlIFtDb25kaXRpb25hbD1TVkcsIERvbnRDaGVja0VudW1zXSBTVkdHcmFkaWVu
dEVsZW1lbnQgOiBTVkdFbGVtZW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1ZHVVJJUmVmZXJlbmNlLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNWR1N0
eWxhYmxlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvKiBTVkdVbml0VHlwZXMgKi8gewogICAgICAgICAvLyBTcHJl
YWQgTWV0aG9kIFR5cGVzCiAgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFNWR19TUFJFQURN
RVRIT0RfVU5LTk9XTiA9IDA7CiAgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFNWR19TUFJF
QURNRVRIT0RfUEFEICAgICA9IDE7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3htbC9YTUxIdHRwUmVx
dWVzdEV4Y2VwdGlvbi5pZGwgYi9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbi5p
ZGwKaW5kZXggNzEyMTQ2OGVkYTE4M2M1NDVhNjViYTkzNjJkNTU1MDQ2Y2Y5NjUzMS4uZmZlYTcz
MjQ4ZWQ2ZDQxZmVmZjMwMzY1ZTQ0ZGUyY2NiOTYwZWYwMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS94
bWwvWE1MSHR0cFJlcXVlc3RFeGNlcHRpb24uaWRsCisrKyBiL1dlYkNvcmUveG1sL1hNTEh0dHBS
ZXF1ZXN0RXhjZXB0aW9uLmlkbApAQCAtMjksNyArMjksOCBAQAogbW9kdWxlIHhtbCB7CiAKICAg
ICBpbnRlcmZhY2UgWwotICAgICAgICBOb1N0YXRpY1RhYmxlcworICAgICAgICBOb1N0YXRpY1Rh
YmxlcywKKyAgICAgICAgRG9udENoZWNrRW51bXMKICAgICBdIFhNTEh0dHBSZXF1ZXN0RXhjZXB0
aW9uIHsKIAogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgICBjb2Rl
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS94bWwvWFBhdGhFeGNlcHRpb24uaWRsIGIvV2ViQ29yZS94
bWwvWFBhdGhFeGNlcHRpb24uaWRsCmluZGV4IGQ1YTlhZjZkOWNhZDc5MmM5OTY3NWFiZTA2OTY0
MTU2MzQ0MWYxMTYuLmI1N2RmNTc5OTQ4MzdlZmYxNDQ3NjI3MDY2ZGViMjdlNTVlNzFlNmYgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hQYXRoRXhjZXB0aW9uLmlkbAorKysgYi9XZWJDb3JlL3ht
bC9YUGF0aEV4Y2VwdGlvbi5pZGwKQEAgLTI5LDcgKzI5LDggQEAKIG1vZHVsZSB4cGF0aCB7CiAK
ICAgICBpbnRlcmZhY2UgWwotICAgICAgICBDb25kaXRpb25hbD1YUEFUSAorICAgICAgICBDb25k
aXRpb25hbD1YUEFUSCwKKyAgICAgICAgRG9udENoZWNrRW51bXMKICAgICBdIFhQYXRoRXhjZXB0
aW9uIHsKIAogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgICBjb2Rl
Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>61528</attachid>
            <date>2010-07-14 08:58:41 -0700</date>
            <delta_ts>2010-07-14 10:58:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42250-20100714165839.patch</filename>
            <type>text/plain</type>
            <size>37155</size>
            <attacher name="Marcus Bulach">bulach</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ODg4YzQwMjNhYTE4MjA5YTA0NGIzMWRhNzE2MmU1ZWM0ZjUxOGU3Mi4uYjNjYjk1ZTAxYzEzZDdm
ZTZkNzMzYzM4NjRkNzU4NTUwNDk3Nzg2ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw2NiBAQAorMjAxMC0wNy0xNCAgTWFy
Y3VzIEJ1bGFjaCAgPGJ1bGFjaEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ29kZSBnZW5lcmF0b3I6IGVuc3VyZSBnZW5lcmF0
ZWQgY29uc3RhbnRzIG1hdGNoIHRoZWlyIGNvcnJlc3BvbmRpbmcgZW51bXMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjI1MAorCisgICAgICAgIFNw
ZWNpZmljIGludGVyZmFjZXMgY2FuIHVzZSBEb250Q2hlY2tFbnVtcyBhdHRyaWJ1dGUgdG8gYXZv
aWQgZ2VuZXJhdGluZyB0aGUgY29tcGlsZS10aW1lIGNoZWNrLgorCisgICAgICAgIFRlc3RzOiB1
cGRhdGVkIGJpbmRpbmdzIHRlc3RzLiBHZW5lcmF0ZWQgY29kZSBzaG91bGQgY29tcGlsZS4KKwor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbToKKyAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvQ1BQL1dlYkRPTVRlc3RPYmouaDoKKyAgICAgICAgKFdlYkRPTVRlc3RPYmo6Oik6CisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjopOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0T2JqUHJvdG90eXBlOjpnZXRPd25Q
cm9wZXJ0eVNsb3QpOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0T2JqUHJvdG90eXBlOjpnZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IpOgorICAgICAgICAoV2ViQ29yZTo6anNUZXN0T2JqQ09OU1Rf
VkFMVUVfMCk6CisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RPYmpDT05TVF9WQUxVRV8xKToKKyAg
ICAgICAgKFdlYkNvcmU6OmpzVGVzdE9iakNPTlNUX1ZBTFVFXzIpOgorICAgICAgICAoV2ViQ29y
ZTo6anNUZXN0T2JqQ09OU1RfVkFMVUVfNCk6CisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RPYmpD
T05TVF9WQUxVRV84KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
T2JqLmg6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE9iai5o
OgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbDoKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Oik6CisgICAgICAgIChXZWJDb3JlOjpDb25maWd1cmVWOFRlc3RPYmpUZW1wbGF0ZSk6Cisg
ICAgICAgICogY3NzL1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmlkbDoKKyAgICAgICAgKiBkb20v
RE9NQ29yZUV4Y2VwdGlvbi5pZGw6CisgICAgICAgICogZG9tL0V2ZW50RXhjZXB0aW9uLmlkbDoK
KyAgICAgICAgKiBkb20vTm9kZS5pZGw6CisgICAgICAgICogZG9tL092ZXJmbG93RXZlbnQuaWRs
OgorICAgICAgICAqIGRvbS9SYW5nZUV4Y2VwdGlvbi5pZGw6CisgICAgICAgICogaHRtbC9GaWxl
RXJyb3IuaWRsOgorICAgICAgICAqIGh0bWwvRmlsZVJlYWRlci5pZGw6CisgICAgICAgICogaHRt
bC9jYW52YXMvRmxvYXQzMkFycmF5LmlkbDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9JbnQxNkFy
cmF5LmlkbDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9JbnQzMkFycmF5LmlkbDoKKyAgICAgICAg
KiBodG1sL2NhbnZhcy9JbnQ4QXJyYXkuaWRsOgorICAgICAgICAqIGh0bWwvY2FudmFzL1VpbnQx
NkFycmF5LmlkbDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9VaW50MzJBcnJheS5pZGw6CisgICAg
ICAgICogaHRtbC9jYW52YXMvVWludDhBcnJheS5pZGw6CisgICAgICAgICogaHRtbC9jYW52YXMv
V2ViR0xSZW5kZXJpbmdDb250ZXh0LmlkbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSmF2YVNjcmlw
dENhbGxGcmFtZS5pZGw6CisgICAgICAgICogbG9hZGVyL2FwcGNhY2hlL0RPTUFwcGxpY2F0aW9u
Q2FjaGUuaWRsOgorICAgICAgICAqIHN0b3JhZ2UvU1FMRXhjZXB0aW9uLmlkbDoKKyAgICAgICAg
KiBzdmcvU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQuaWRsOgorICAgICAgICAq
IHN2Zy9TVkdFeGNlcHRpb24uaWRsOgorICAgICAgICAqIHN2Zy9TVkdGRUJsZW5kRWxlbWVudC5p
ZGw6CisgICAgICAgICogc3ZnL1NWR0ZFQ29sb3JNYXRyaXhFbGVtZW50LmlkbDoKKyAgICAgICAg
KiBzdmcvU1ZHRkVDb21wb3NpdGVFbGVtZW50LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHRkVDb252
b2x2ZU1hdHJpeEVsZW1lbnQuaWRsOgorICAgICAgICAqIHN2Zy9TVkdGRURpc3BsYWNlbWVudE1h
cEVsZW1lbnQuaWRsOgorICAgICAgICAqIHN2Zy9TVkdGRU1vcnBob2xvZ3lFbGVtZW50LmlkbDoK
KyAgICAgICAgKiBzdmcvU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5pZGw6CisgICAgICAgICogc3Zn
L1NWR0dyYWRpZW50RWxlbWVudC5pZGw6CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0RXhj
ZXB0aW9uLmlkbDoKKyAgICAgICAgKiB4bWwvWFBhdGhFeGNlcHRpb24uaWRsOgorCiAyMDEwLTA3
LTE0ICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuemltbWVybWFubkByaW0uY29tPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3IucG0gYi9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdl
bmVyYXRvci5wbQppbmRleCBkMTA2OTIwZjdmNGM0ZTc5Mzg4ZmE3OWM0NDZmNWQ3ZTVkOWFhMmNl
Li5kMTcxMWRjYjIwMmMzOGQwYWFjNzk0NGRjOGM0NGFhYTMzZDU5M2UyIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbQorKysgYi9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbQpAQCAtNDY3LDQgKzQ2NywyOCBAQCBzdWIg
U2V0dGVyRXhwcmVzc2lvblByZWZpeAogICAgIHJldHVybiAiJGZ1bmN0aW9uTmFtZSgkY29udGVu
dEF0dHJpYnV0ZU5hbWUsICIKIH0KIAorc3ViIFNob3VsZENoZWNrRW51bXMKK3sKKyAgICBteSAk
ZGF0YU5vZGUgPSBzaGlmdDsKKyAgICByZXR1cm4gbm90ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRy
aWJ1dGVzLT57IkRvbnRDaGVja0VudW1zIn07Cit9CisKK3N1YiBHZW5lcmF0ZUNvbXBpbGVUaW1l
Q2hlY2tGb3JFbnVtc0lmTmVlZGVkCit7CisgICAgbXkgKCRvYmplY3QsICRkYXRhTm9kZSkgPSBA
XzsKKyAgICBteSAkaW50ZXJmYWNlTmFtZSA9ICRkYXRhTm9kZS0+bmFtZTsKKyAgICBteSBAY2hl
Y2tzID0gKCk7CisgICAgIyBJZiBuZWNlc3NhcnksIGNoZWNrIHRoYXQgYWxsIGNvbnN0YW50cyBh
cmUgYXZhaWxhYmxlIGFzIGVudW1zIHdpdGggdGhlIHNhbWUgdmFsdWUuCisgICAgaWYgKFNob3Vs
ZENoZWNrRW51bXMoJGRhdGFOb2RlKSAmJiBAeyRkYXRhTm9kZS0+Y29uc3RhbnRzfSkgeworICAg
ICAgICBwdXNoKEBjaGVja3MsICJcbiIpOworICAgICAgICBmb3JlYWNoIG15ICRjb25zdGFudCAo
QHskZGF0YU5vZGUtPmNvbnN0YW50c30pIHsKKyAgICAgICAgICAgIG15ICRuYW1lID0gJGNvbnN0
YW50LT5uYW1lOworICAgICAgICAgICAgbXkgJHZhbHVlID0gJGNvbnN0YW50LT52YWx1ZTsKKyAg
ICAgICAgICAgIHB1c2goQGNoZWNrcywgIkNPTVBJTEVfQVNTRVJUKCR2YWx1ZSA9PSAke2ludGVy
ZmFjZU5hbWV9OjokbmFtZSwgJHtpbnRlcmZhY2VOYW1lfUVudW0ke25hbWV9SXNXcm9uZ1VzZURv
bnRDaGVja0VudW1zKTtcbiIpOworICAgICAgICB9CisgICAgICAgIHB1c2goQGNoZWNrcywgIlxu
Iik7CisgICAgfQorICAgIHJldHVybiBAY2hlY2tzOworfQorCiAxOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KaW5kZXggYTBhMjA5ODJhZjc4YTY2NzAyNDEx
NWNlOThmOTVjMDc0YmU1YmNkZS4uYWNhZDkwYjBkNDA5NjIwYTZkODZiNzUyMGQyM2JlOTNhZDc4
YmQ3OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JK
Uy5wbQorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBA
IC0xMjQyLDYgKzEyNDIsOCBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcQGhhc2hLZXlzLCBcQGhhc2hTcGVjaWFscywKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXEBoYXNoVmFsdWUxLCBcQGhhc2hWYWx1
ZTIpOwogCisgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAkY29kZUdlbmVyYXRvci0+R2VuZXJh
dGVDb21waWxlVGltZUNoZWNrRm9yRW51bXNJZk5lZWRlZCgkZGF0YU5vZGUpKTsKKwogICAgICAg
ICBteSAkcHJvdG9DbGFzc05hbWUgPSAiJHtjbGFzc05hbWV9UHJvdG90eXBlIjsKIAogICAgICAg
ICBHZW5lcmF0ZUNvbnN0cnVjdG9yRGVjbGFyYXRpb24oXEBpbXBsQ29udGVudCwgJGNsYXNzTmFt
ZSwgJGRhdGFOb2RlKSB1bmxlc3MgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ3Vz
dG9tQ29uc3RydWN0RnVuY3Rpb24ifTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy9Db2RlR2VuZXJhdG9yVjgucG0gYi9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdl
bmVyYXRvclY4LnBtCmluZGV4IDM4M2JiNzQ2Y2M4NDRmZjI0OWMxMmQyZTFiMWE5OGQwMmVkM2M3
MzguLjVlYjZkM2RkYjUxODk0ZWMyOTljMTI1MmU0MDc2ODRiNWVmMDg0MWIgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KKysrIGIvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQpAQCAtMTc1Myw2ICsxNzUzLDcg
QEAgRU5ECiAgICAgfQogICAgIGlmICgkaGFzX2NvbnN0YW50cykgewogICAgICAgICBwdXNoKEBp
bXBsQ29udGVudCwgIn07XG4iKTsKKyAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICRjb2RlR2Vu
ZXJhdG9yLT5HZW5lcmF0ZUNvbXBpbGVUaW1lQ2hlY2tGb3JFbnVtc0lmTmVlZGVkKCRkYXRhTm9k
ZSkpOwogICAgIH0KIAogICAgIHB1c2goQGltcGxDb250ZW50RGVjbHMsICJ9IC8vIG5hbWVzcGFj
ZSAke2ludGVyZmFjZU5hbWV9SW50ZXJuYWxcblxuIik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdE9iai5oIGIvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RPYmouaAppbmRleCAxZWI1ZWQzM2VkNzJlY2M2
ZGUzNjdhY2VhZmNhYTJmMDY3ZGNhMjA5Li44NmM3MTY5OGQ2YmY5NzAzNzI3ZWZjYmNjOTQyYzY3
ZWNjM2EzYjM5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAv
V2ViRE9NVGVzdE9iai5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9X
ZWJET01UZXN0T2JqLmgKQEAgLTQyLDYgKzQyLDE0IEBAIHB1YmxpYzoKICAgICBXZWJET01UZXN0
T2JqKGNvbnN0IFdlYkRPTVRlc3RPYmomKTsKICAgICB+V2ViRE9NVGVzdE9iaigpOwogCisgICAg
ZW51bSB7CisgICAgICAgIFdFQkRPTV9DT05TVF9WQUxVRV8wID0gMCwKKyAgICAgICAgV0VCRE9N
X0NPTlNUX1ZBTFVFXzEgPSAxLAorICAgICAgICBXRUJET01fQ09OU1RfVkFMVUVfMiA9IDIsCisg
ICAgICAgIFdFQkRPTV9DT05TVF9WQUxVRV80ID0gNCwKKyAgICAgICAgV0VCRE9NX0NPTlNUX1ZB
TFVFXzggPSA4CisgICAgfTsKKwogICAgIGludCByZWFkT25seUludEF0dHIoKSBjb25zdDsKICAg
ICBXZWJET01TdHJpbmcgcmVhZE9ubHlTdHJpbmdBdHRyKCkgY29uc3Q7CiAgICAgV2ViRE9NVGVz
dE9iaiByZWFkT25seVRlc3RPYmpBdHRyKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAppbmRleCAyZjU2MWY5ZDFhZDZhNzQ2MmMwMTlj
MzFmNDJkMGM0NWY1YzRlODY1Li42ZTY2N2Y3NWMzMGY1MzI2MTQ0ZjdlNTM3NTBiOGZjNDIwYTM3
MDdmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RP
YmouY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5j
cHAKQEAgLTEwMCwxMyArMTAwLDI1IEBAIHN0YXRpYyBKU0NfQ09OU1RfSEFTSFRBQkxFIEhhc2hU
YWJsZSBKU1Rlc3RPYmpUYWJsZSA9IHsgNjgsIDYzLCBKU1Rlc3RPYmpUYWJsZVZhCiAjZGVmaW5l
IFRIVU5LX0dFTkVSQVRPUihnZW5lcmF0b3IpCiAjZW5kaWYKIAotc3RhdGljIGNvbnN0IEhhc2hU
YWJsZVZhbHVlIEpTVGVzdE9iakNvbnN0cnVjdG9yVGFibGVWYWx1ZXNbMV0gPQorc3RhdGljIGNv
bnN0IEhhc2hUYWJsZVZhbHVlIEpTVGVzdE9iakNvbnN0cnVjdG9yVGFibGVWYWx1ZXNbNl0gPQog
eworICAgIHsgIkNPTlNUX1ZBTFVFXzAiLCBEb250RGVsZXRlIHwgUmVhZE9ubHksIChpbnRwdHJf
dClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqQ09OU1Rf
VkFMVUVfMCksIChpbnRwdHJfdCkwIFRIVU5LX0dFTkVSQVRPUigwKSB9LAorICAgIHsgIkNPTlNU
X1ZBTFVFXzEiLCBEb250RGVsZXRlIHwgUmVhZE9ubHksIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQ
cm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqQ09OU1RfVkFMVUVfMSksIChpbnRw
dHJfdCkwIFRIVU5LX0dFTkVSQVRPUigwKSB9LAorICAgIHsgIkNPTlNUX1ZBTFVFXzIiLCBEb250
RGVsZXRlIHwgUmVhZE9ubHksIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6Okdl
dFZhbHVlRnVuYz4oanNUZXN0T2JqQ09OU1RfVkFMVUVfMiksIChpbnRwdHJfdCkwIFRIVU5LX0dF
TkVSQVRPUigwKSB9LAorICAgIHsgIkNPTlNUX1ZBTFVFXzQiLCBEb250RGVsZXRlIHwgUmVhZE9u
bHksIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNU
ZXN0T2JqQ09OU1RfVkFMVUVfNCksIChpbnRwdHJfdCkwIFRIVU5LX0dFTkVSQVRPUigwKSB9LAor
ICAgIHsgIkNPTlNUX1ZBTFVFXzgiLCBEb250RGVsZXRlIHwgUmVhZE9ubHksIChpbnRwdHJfdClz
dGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqQ09OU1RfVkFM
VUVfOCksIChpbnRwdHJfdCkwIFRIVU5LX0dFTkVSQVRPUigwKSB9LAogICAgIHsgMCwgMCwgMCwg
MCBUSFVOS19HRU5FUkFUT1IoMCkgfQogfTsKIAogI3VuZGVmIFRIVU5LX0dFTkVSQVRPUgotc3Rh
dGljIEpTQ19DT05TVF9IQVNIVEFCTEUgSGFzaFRhYmxlIEpTVGVzdE9iakNvbnN0cnVjdG9yVGFi
bGUgPSB7IDEsIDAsIEpTVGVzdE9iakNvbnN0cnVjdG9yVGFibGVWYWx1ZXMsIDAgfTsKK3N0YXRp
YyBKU0NfQ09OU1RfSEFTSFRBQkxFIEhhc2hUYWJsZSBKU1Rlc3RPYmpDb25zdHJ1Y3RvclRhYmxl
ID0geyAxNiwgMTUsIEpTVGVzdE9iakNvbnN0cnVjdG9yVGFibGVWYWx1ZXMsIDAgfTsKKworQ09N
UElMRV9BU1NFUlQoMCA9PSBUZXN0T2JqOjpDT05TVF9WQUxVRV8wLCBUZXN0T2JqRW51bUNPTlNU
X1ZBTFVFXzBJc1dyb25nVXNlRG9udENoZWNrRW51bXMpOworQ09NUElMRV9BU1NFUlQoMSA9PSBU
ZXN0T2JqOjpDT05TVF9WQUxVRV8xLCBUZXN0T2JqRW51bUNPTlNUX1ZBTFVFXzFJc1dyb25nVXNl
RG9udENoZWNrRW51bXMpOworQ09NUElMRV9BU1NFUlQoMiA9PSBUZXN0T2JqOjpDT05TVF9WQUxV
RV8yLCBUZXN0T2JqRW51bUNPTlNUX1ZBTFVFXzJJc1dyb25nVXNlRG9udENoZWNrRW51bXMpOwor
Q09NUElMRV9BU1NFUlQoNCA9PSBUZXN0T2JqOjpDT05TVF9WQUxVRV80LCBUZXN0T2JqRW51bUNP
TlNUX1ZBTFVFXzRJc1dyb25nVXNlRG9udENoZWNrRW51bXMpOworQ09NUElMRV9BU1NFUlQoOCA9
PSBUZXN0T2JqOjpDT05TVF9WQUxVRV84LCBUZXN0T2JqRW51bUNPTlNUX1ZBTFVFXzhJc1dyb25n
VXNlRG9udENoZWNrRW51bXMpOworCiBjbGFzcyBKU1Rlc3RPYmpDb25zdHJ1Y3RvciA6IHB1Ymxp
YyBET01Db25zdHJ1Y3Rvck9iamVjdCB7CiBwdWJsaWM6CiAgICAgSlNUZXN0T2JqQ29uc3RydWN0
b3IoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCopOwpAQCAtMTQ4LDggKzE2MCwx
MyBAQCBib29sIEpTVGVzdE9iakNvbnN0cnVjdG9yOjpnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
RXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudAogI2RlZmluZSBUSFVOS19HRU5FUkFUT1IoZ2Vu
ZXJhdG9yKQogI2VuZGlmCiAKLXN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RPYmpQ
cm90b3R5cGVUYWJsZVZhbHVlc1szMV0gPQorc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVlIEpT
VGVzdE9ialByb3RvdHlwZVRhYmxlVmFsdWVzWzM2XSA9CiB7CisgICAgeyAiQ09OU1RfVkFMVUVf
MCIsIERvbnREZWxldGUgfCBSZWFkT25seSwgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5
U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpDT05TVF9WQUxVRV8wKSwgKGludHB0cl90KTAg
VEhVTktfR0VORVJBVE9SKDApIH0sCisgICAgeyAiQ09OU1RfVkFMVUVfMSIsIERvbnREZWxldGUg
fCBSZWFkT25seSwgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVG
dW5jPihqc1Rlc3RPYmpDT05TVF9WQUxVRV8xKSwgKGludHB0cl90KTAgVEhVTktfR0VORVJBVE9S
KDApIH0sCisgICAgeyAiQ09OU1RfVkFMVUVfMiIsIERvbnREZWxldGUgfCBSZWFkT25seSwgKGlu
dHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpD
T05TVF9WQUxVRV8yKSwgKGludHB0cl90KTAgVEhVTktfR0VORVJBVE9SKDApIH0sCisgICAgeyAi
Q09OU1RfVkFMVUVfNCIsIERvbnREZWxldGUgfCBSZWFkT25seSwgKGludHB0cl90KXN0YXRpY19j
YXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpDT05TVF9WQUxVRV80KSwg
KGludHB0cl90KTAgVEhVTktfR0VORVJBVE9SKDApIH0sCisgICAgeyAiQ09OU1RfVkFMVUVfOCIs
IERvbnREZWxldGUgfCBSZWFkT25seSwgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xv
dDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpDT05TVF9WQUxVRV84KSwgKGludHB0cl90KTAgVEhV
TktfR0VORVJBVE9SKDApIH0sCiAgICAgeyAidm9pZE1ldGhvZCIsIERvbnREZWxldGUgfCBGdW5j
dGlvbiwgKGludHB0cl90KXN0YXRpY19jYXN0PE5hdGl2ZUZ1bmN0aW9uPihqc1Rlc3RPYmpQcm90
b3R5cGVGdW5jdGlvblZvaWRNZXRob2QpLCAoaW50cHRyX3QpMCBUSFVOS19HRU5FUkFUT1IoMCkg
fSwKICAgICB7ICJ2b2lkTWV0aG9kV2l0aEFyZ3MiLCBEb250RGVsZXRlIHwgRnVuY3Rpb24sIChp
bnRwdHJfdClzdGF0aWNfY2FzdDxOYXRpdmVGdW5jdGlvbj4oanNUZXN0T2JqUHJvdG90eXBlRnVu
Y3Rpb25Wb2lkTWV0aG9kV2l0aEFyZ3MpLCAoaW50cHRyX3QpMyBUSFVOS19HRU5FUkFUT1IoMCkg
fSwKICAgICB7ICJpbnRNZXRob2QiLCBEb250RGVsZXRlIHwgRnVuY3Rpb24sIChpbnRwdHJfdClz
dGF0aWNfY2FzdDxOYXRpdmVGdW5jdGlvbj4oanNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25JbnRN
ZXRob2QpLCAoaW50cHRyX3QpMCBUSFVOS19HRU5FUkFUT1IoMCkgfSwKQEAgLTE4NCw3ICsyMDEs
NyBAQCBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0T2JqUHJvdG90eXBlVGFibGVW
YWx1ZXNbMzFdID0KIH07CiAKICN1bmRlZiBUSFVOS19HRU5FUkFUT1IKLXN0YXRpYyBKU0NfQ09O
U1RfSEFTSFRBQkxFIEhhc2hUYWJsZSBKU1Rlc3RPYmpQcm90b3R5cGVUYWJsZSA9IHsgMTMwLCAx
MjcsIEpTVGVzdE9ialByb3RvdHlwZVRhYmxlVmFsdWVzLCAwIH07CitzdGF0aWMgSlNDX0NPTlNU
X0hBU0hUQUJMRSBIYXNoVGFibGUgSlNUZXN0T2JqUHJvdG90eXBlVGFibGUgPSB7IDEzMiwgMTI3
LCBKU1Rlc3RPYmpQcm90b3R5cGVUYWJsZVZhbHVlcywgMCB9OwogY29uc3QgQ2xhc3NJbmZvIEpT
VGVzdE9ialByb3RvdHlwZTo6c19pbmZvID0geyAiVGVzdE9ialByb3RvdHlwZSIsIDAsICZKU1Rl
c3RPYmpQcm90b3R5cGVUYWJsZSwgMCB9OwogCiBKU09iamVjdCogSlNUZXN0T2JqUHJvdG90eXBl
OjpzZWxmKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKQEAg
LTE5NCwxMiArMjExLDEyIEBAIEpTT2JqZWN0KiBKU1Rlc3RPYmpQcm90b3R5cGU6OnNlbGYoRXhl
Y1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0CiAKIGJvb2wgSlNUZXN0
T2JqUHJvdG90eXBlOjpnZXRPd25Qcm9wZXJ0eVNsb3QoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJ
ZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYgc2xvdCkKIHsKLSAgICByZXR1
cm4gZ2V0U3RhdGljRnVuY3Rpb25TbG90PEpTT2JqZWN0PihleGVjLCAmSlNUZXN0T2JqUHJvdG90
eXBlVGFibGUsIHRoaXMsIHByb3BlcnR5TmFtZSwgc2xvdCk7CisgICAgcmV0dXJuIGdldFN0YXRp
Y1Byb3BlcnR5U2xvdDxKU1Rlc3RPYmpQcm90b3R5cGUsIEpTT2JqZWN0PihleGVjLCAmSlNUZXN0
T2JqUHJvdG90eXBlVGFibGUsIHRoaXMsIHByb3BlcnR5TmFtZSwgc2xvdCk7CiB9CiAKIGJvb2wg
SlNUZXN0T2JqUHJvdG90eXBlOjpnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRXhlY1N0YXRlKiBl
eGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5RGVzY3JpcHRvciYg
ZGVzY3JpcHRvcikKIHsKLSAgICByZXR1cm4gZ2V0U3RhdGljRnVuY3Rpb25EZXNjcmlwdG9yPEpT
T2JqZWN0PihleGVjLCAmSlNUZXN0T2JqUHJvdG90eXBlVGFibGUsIHRoaXMsIHByb3BlcnR5TmFt
ZSwgZGVzY3JpcHRvcik7CisgICAgcmV0dXJuIGdldFN0YXRpY1Byb3BlcnR5RGVzY3JpcHRvcjxK
U1Rlc3RPYmpQcm90b3R5cGUsIEpTT2JqZWN0PihleGVjLCAmSlNUZXN0T2JqUHJvdG90eXBlVGFi
bGUsIHRoaXMsIHByb3BlcnR5TmFtZSwgZGVzY3JpcHRvcik7CiB9CiAKIGNvbnN0IENsYXNzSW5m
byBKU1Rlc3RPYmo6OnNfaW5mbyA9IHsgIlRlc3RPYmoiLCAwLCAmSlNUZXN0T2JqVGFibGUsIDAg
fTsKQEAgLTEyMjgsNiArMTI0NSwzMyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpz
VGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uT3ZlcmxvYWRlZE1ldGhvZChFeGVjU3RhdAogICAgIHJl
dHVybiB0aHJvd1ZNVHlwZUVycm9yKGV4ZWMpOwogfQogCisvLyBDb25zdGFudCBnZXR0ZXJzCisK
K0pTVmFsdWUganNUZXN0T2JqQ09OU1RfVkFMVUVfMChFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUs
IGNvbnN0IElkZW50aWZpZXImKQoreworICAgIHJldHVybiBqc051bWJlcihleGVjLCBzdGF0aWNf
Y2FzdDxpbnQ+KDApKTsKK30KKworSlNWYWx1ZSBqc1Rlc3RPYmpDT05TVF9WQUxVRV8xKEV4ZWNT
dGF0ZSogZXhlYywgSlNWYWx1ZSwgY29uc3QgSWRlbnRpZmllciYpCit7CisgICAgcmV0dXJuIGpz
TnVtYmVyKGV4ZWMsIHN0YXRpY19jYXN0PGludD4oMSkpOworfQorCitKU1ZhbHVlIGpzVGVzdE9i
akNPTlNUX1ZBTFVFXzIoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlLCBjb25zdCBJZGVudGlmaWVy
JikKK3sKKyAgICByZXR1cm4ganNOdW1iZXIoZXhlYywgc3RhdGljX2Nhc3Q8aW50PigyKSk7Cit9
CisKK0pTVmFsdWUganNUZXN0T2JqQ09OU1RfVkFMVUVfNChFeGVjU3RhdGUqIGV4ZWMsIEpTVmFs
dWUsIGNvbnN0IElkZW50aWZpZXImKQoreworICAgIHJldHVybiBqc051bWJlcihleGVjLCBzdGF0
aWNfY2FzdDxpbnQ+KDQpKTsKK30KKworSlNWYWx1ZSBqc1Rlc3RPYmpDT05TVF9WQUxVRV84KEV4
ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSwgY29uc3QgSWRlbnRpZmllciYpCit7CisgICAgcmV0dXJu
IGpzTnVtYmVyKGV4ZWMsIHN0YXRpY19jYXN0PGludD4oOCkpOworfQorCiBKU0M6OkpTVmFsdWUg
dG9KUyhKU0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgVGVzdE9iaiogb2JqZWN0KQogewogICAgIHJldHVybiBnZXRET01PYmplY3RXcmFwcGVyPEpT
VGVzdE9iaj4oZXhlYywgZ2xvYmFsT2JqZWN0LCBvYmplY3QpOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmggYi9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouaAppbmRleCBjODNlNTY4YTMwMzY2MjllZTIzYWQw
YjA5YmEwNWYwOTZjNjIxNWJmLi44NDEyMmI3YjIxNDEyZTMxMTlhODcyMjY3MDZiMmVlNDVjOTRh
ZTUzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RP
YmouaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouaApA
QCAtMTczLDYgKzE3MywxMyBAQCBKU0M6OkpTVmFsdWUganNUZXN0T2JqSWQoSlNDOjpFeGVjU3Rh
dGUqLCBKU0M6OkpTVmFsdWUsIGNvbnN0IEpTQzo6SWRlbnRpZmllciYpOwogdm9pZCBzZXRKU1Rl
c3RPYmpJZChKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNPYmplY3QqLCBKU0M6OkpTVmFsdWUpOwog
SlNDOjpKU1ZhbHVlIGpzVGVzdE9iakhhc2goSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTVmFsdWUs
IGNvbnN0IEpTQzo6SWRlbnRpZmllciYpOwogSlNDOjpKU1ZhbHVlIGpzVGVzdE9iakNvbnN0cnVj
dG9yKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU1ZhbHVlLCBjb25zdCBKU0M6OklkZW50aWZpZXIm
KTsKKy8vIENvbnN0YW50cworCitKU0M6OkpTVmFsdWUganNUZXN0T2JqQ09OU1RfVkFMVUVfMChK
U0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNWYWx1ZSwgY29uc3QgSlNDOjpJZGVudGlmaWVyJik7CitK
U0M6OkpTVmFsdWUganNUZXN0T2JqQ09OU1RfVkFMVUVfMShKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6
SlNWYWx1ZSwgY29uc3QgSlNDOjpJZGVudGlmaWVyJik7CitKU0M6OkpTVmFsdWUganNUZXN0T2Jq
Q09OU1RfVkFMVUVfMihKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNWYWx1ZSwgY29uc3QgSlNDOjpJ
ZGVudGlmaWVyJik7CitKU0M6OkpTVmFsdWUganNUZXN0T2JqQ09OU1RfVkFMVUVfNChKU0M6OkV4
ZWNTdGF0ZSosIEpTQzo6SlNWYWx1ZSwgY29uc3QgSlNDOjpJZGVudGlmaWVyJik7CitKU0M6OkpT
VmFsdWUganNUZXN0T2JqQ09OU1RfVkFMVUVfOChKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNWYWx1
ZSwgY29uc3QgSlNDOjpJZGVudGlmaWVyJik7CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0T2Jq
LmggYi9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmouaAppbmRl
eCAxZWFjOTkwZjNhOTUwNDdiNTgzMmRmZWMxMjY4Y2UzZGEyYjUwODBhLi4zM2MzYTJkYjM2Njhi
NTY1ODcxZGViMmRmOGJkZGNkYWNjNWJiMTVkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmouaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmouaApAQCAtMzQsNiArMzQsMTQgQEAKIEBjbGFzcyBO
U1N0cmluZzsKIEBwcm90b2NvbCBET01FdmVudExpc3RlbmVyOwogCitlbnVtIHsKKyAgICBET01f
Q09OU1RfVkFMVUVfMCA9IDAsCisgICAgRE9NX0NPTlNUX1ZBTFVFXzEgPSAxLAorICAgIERPTV9D
T05TVF9WQUxVRV8yID0gMiwKKyAgICBET01fQ09OU1RfVkFMVUVfNCA9IDQsCisgICAgRE9NX0NP
TlNUX1ZBTFVFXzggPSA4Cit9OworCiBAaW50ZXJmYWNlIERPTVRlc3RPYmogOiBET01PYmplY3QK
IC0gKGludClyZWFkT25seUludEF0dHI7CiAtIChOU1N0cmluZyAqKXJlYWRPbmx5U3RyaW5nQXR0
cjsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRs
IGIvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGwKaW5kZXggNDNmYzIx
MWQ0NjY2NWJjNzYzZDc1YzAwNjljY2VjMGNiNmZmZTY0OS4uZjlkNDFkN2UxMzhjYTE0NWJlMWMw
MTc2YjY4MWVkNzliMTMxMzQ2MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVGVzdE9iai5pZGwKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVz
dE9iai5pZGwKQEAgLTEyOSw1ICsxMjksMTIgQEAgbW9kdWxlIHRlc3QgewogICAgICAgICByZWFk
b25seSBhdHRyaWJ1dGUgbG9uZyAgICAgIGRlc2NyaXB0aW9uOwogICAgICAgICBhdHRyaWJ1dGUg
bG9uZyAgICAgICAgICAgICAgIGlkOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIGhhc2g7CisKKyAgICAgICAgLy8gQ2hlY2sgY29uc3RhbnRzIGFuZCBlbnVtcy4KKyAgICAg
ICAgY29uc3QgdW5zaWduZWQgc2hvcnQgQ09OU1RfVkFMVUVfMCA9IDA7CisgICAgICAgIGNvbnN0
IHVuc2lnbmVkIHNob3J0IENPTlNUX1ZBTFVFXzEgPSAxOworICAgICAgICBjb25zdCB1bnNpZ25l
ZCBzaG9ydCBDT05TVF9WQUxVRV8yID0gMjsKKyAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQg
Q09OU1RfVkFMVUVfNCA9IDQ7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IENPTlNUX1ZB
TFVFXzggPSA4OwogICAgIH07CiB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9WOC9WOFRlc3RPYmouY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
VjgvVjhUZXN0T2JqLmNwcAppbmRleCAwYjlkMDM0NzkxODE0OWRjY2FjYmY1NjM5ZjYxNzYzYWM5
NjllMTU4Li5jMzQ4NzI2YTQ2MGE1NjA3OWRiZWZiNzlkODU4Y2E3NzgyMjlkNGU4IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RPYmouY3BwCisrKyBi
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE9iai5jcHAKQEAgLTEwMTUs
NiArMTAxNSwyMCBAQCBzdGF0aWMgY29uc3QgQmF0Y2hlZENhbGxiYWNrIFRlc3RPYmpDYWxsYmFj
a3NbXSA9IHsKICAgICB7Im1ldGhvZFdpdGhOb25PcHRpb25hbEFyZ0FuZFR3b09wdGlvbmFsQXJn
cyIsIFRlc3RPYmpJbnRlcm5hbDo6bWV0aG9kV2l0aE5vbk9wdGlvbmFsQXJnQW5kVHdvT3B0aW9u
YWxBcmdzQ2FsbGJhY2t9LAogICAgIHsib3ZlcmxvYWRlZE1ldGhvZCIsIFRlc3RPYmpJbnRlcm5h
bDo6b3ZlcmxvYWRlZE1ldGhvZENhbGxiYWNrfSwKIH07CitzdGF0aWMgY29uc3QgQmF0Y2hlZENv
bnN0YW50IFRlc3RPYmpDb25zdHNbXSA9IHsKKyAgICB7IkNPTlNUX1ZBTFVFXzAiLCBzdGF0aWNf
Y2FzdDxzaWduZWQgaW50PigwKX0sCisgICAgeyJDT05TVF9WQUxVRV8xIiwgc3RhdGljX2Nhc3Q8
c2lnbmVkIGludD4oMSl9LAorICAgIHsiQ09OU1RfVkFMVUVfMiIsIHN0YXRpY19jYXN0PHNpZ25l
ZCBpbnQ+KDIpfSwKKyAgICB7IkNPTlNUX1ZBTFVFXzQiLCBzdGF0aWNfY2FzdDxzaWduZWQgaW50
Pig0KX0sCisgICAgeyJDT05TVF9WQUxVRV84Iiwgc3RhdGljX2Nhc3Q8c2lnbmVkIGludD4oOCl9
LAorfTsKKworQ09NUElMRV9BU1NFUlQoMCA9PSBUZXN0T2JqOjpDT05TVF9WQUxVRV8wLCBUZXN0
T2JqRW51bUNPTlNUX1ZBTFVFXzBJc1dyb25nVXNlRG9udENoZWNrRW51bXMpOworQ09NUElMRV9B
U1NFUlQoMSA9PSBUZXN0T2JqOjpDT05TVF9WQUxVRV8xLCBUZXN0T2JqRW51bUNPTlNUX1ZBTFVF
XzFJc1dyb25nVXNlRG9udENoZWNrRW51bXMpOworQ09NUElMRV9BU1NFUlQoMiA9PSBUZXN0T2Jq
OjpDT05TVF9WQUxVRV8yLCBUZXN0T2JqRW51bUNPTlNUX1ZBTFVFXzJJc1dyb25nVXNlRG9udENo
ZWNrRW51bXMpOworQ09NUElMRV9BU1NFUlQoNCA9PSBUZXN0T2JqOjpDT05TVF9WQUxVRV80LCBU
ZXN0T2JqRW51bUNPTlNUX1ZBTFVFXzRJc1dyb25nVXNlRG9udENoZWNrRW51bXMpOworQ09NUElM
RV9BU1NFUlQoOCA9PSBUZXN0T2JqOjpDT05TVF9WQUxVRV84LCBUZXN0T2JqRW51bUNPTlNUX1ZB
TFVFXzhJc1dyb25nVXNlRG9udENoZWNrRW51bXMpOworCiBzdGF0aWMgdjg6OlBlcnNpc3RlbnQ8
djg6OkZ1bmN0aW9uVGVtcGxhdGU+IENvbmZpZ3VyZVY4VGVzdE9ialRlbXBsYXRlKHY4OjpQZXJz
aXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBkZXNjKQogewogICAgIHY4OjpMb2NhbDx2ODo6
U2lnbmF0dXJlPiBkZWZhdWx0U2lnbmF0dXJlID0gY29uZmlndXJlVGVtcGxhdGUoZGVzYywgIlRl
c3RPYmoiLCB2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4oKSwgVjhUZXN0T2Jq
OjppbnRlcm5hbEZpZWxkQ291bnQsCkBAIC0xMDU5LDYgKzEwNzMsNyBAQCBzdGF0aWMgdjg6OlBl
cnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IENvbmZpZ3VyZVY4VGVzdE9ialRlbXBsYXRl
KHY4OjpQZXJzaQogICAgIHY4OjpIYW5kbGU8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IGN1c3RvbUFy
Z3NBbmRFeGNlcHRpb25Bcmd2W2N1c3RvbUFyZ3NBbmRFeGNlcHRpb25BcmdjXSA9IHsgVjhsb2c6
OkdldFJhd1RlbXBsYXRlKCkgfTsKICAgICB2ODo6SGFuZGxlPHY4OjpTaWduYXR1cmU+IGN1c3Rv
bUFyZ3NBbmRFeGNlcHRpb25TaWduYXR1cmUgPSB2ODo6U2lnbmF0dXJlOjpOZXcoZGVzYywgY3Vz
dG9tQXJnc0FuZEV4Y2VwdGlvbkFyZ2MsIGN1c3RvbUFyZ3NBbmRFeGNlcHRpb25Bcmd2KTsKICAg
ICBwcm90by0+U2V0KHY4OjpTdHJpbmc6Ok5ldygiY3VzdG9tQXJnc0FuZEV4Y2VwdGlvbiIpLCB2
ODo6RnVuY3Rpb25UZW1wbGF0ZTo6TmV3KFRlc3RPYmpJbnRlcm5hbDo6Y3VzdG9tQXJnc0FuZEV4
Y2VwdGlvbkNhbGxiYWNrLCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4oKSwgY3VzdG9tQXJnc0FuZEV4
Y2VwdGlvblNpZ25hdHVyZSkpOworICAgIGJhdGNoQ29uZmlndXJlQ29uc3RhbnRzKGRlc2MsIHBy
b3RvLCBUZXN0T2JqQ29uc3RzLCBzaXplb2YoVGVzdE9iakNvbnN0cykgLyBzaXplb2YoKlRlc3RP
YmpDb25zdHMpKTsKIAogICAgIC8vIEN1c3RvbSB0b1N0cmluZyB0ZW1wbGF0ZQogICAgIGRlc2Mt
PlNldChnZXRUb1N0cmluZ05hbWUoKSwgZ2V0VG9TdHJpbmdUZW1wbGF0ZSgpKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvY3NzL1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmlkbCBiL1dlYkNvcmUvY3Nz
L1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmlkbAppbmRleCAwODdhYTgyZTY1ZmQyNDU3M2M4MzM1
MmEyNDU2NzQ1ZTJkNDU4MmZjLi4wMDcwOTdlN2MzOGFjMTUzOWEyOWYzZTAyZWI1NTMyZjgzMjNi
YzM4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5pZGwK
KysrIGIvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuaWRsCkBAIC0yOSw3ICsy
OSw4IEBACiBtb2R1bGUgY3NzIHsKIAogICAgIGludGVyZmFjZSBbCi0gICAgICAgICAgICBIYXNJ
bmRleEdldHRlcgorICAgICAgICAgICAgSGFzSW5kZXhHZXR0ZXIsCisgICAgICAgICAgICBEb250
Q2hlY2tFbnVtcwogICAgIF0gV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUgOiBDU1NWYWx1ZUxpc3Qg
ewogCiAgICAgICAgIC8vIE9wZXJhdGlvblR5cGVzCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9E
T01Db3JlRXhjZXB0aW9uLmlkbCBiL1dlYkNvcmUvZG9tL0RPTUNvcmVFeGNlcHRpb24uaWRsCmlu
ZGV4IDJjYmM1ODlhMzQ0NzMxYzFlYjBiOGIxOGFkNDZiNzNkNWI5ZTRiMmYuLjk0NTcxMmRiZDlm
NzM2NTkxNzQwYWI2MTZkOWRmNDU3OGMwZmI5YzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0RP
TUNvcmVFeGNlcHRpb24uaWRsCisrKyBiL1dlYkNvcmUvZG9tL0RPTUNvcmVFeGNlcHRpb24uaWRs
CkBAIC0yOSw3ICsyOSw4IEBACiBtb2R1bGUgY29yZSB7CiAKICAgICBpbnRlcmZhY2UgWwotICAg
ICAgICBOb1N0YXRpY1RhYmxlcworICAgICAgICBOb1N0YXRpY1RhYmxlcywKKyAgICAgICAgRG9u
dENoZWNrRW51bXMKICAgICBdIERPTUNvcmVFeGNlcHRpb24gewogCiAgICAgICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCAgIGNvZGU7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Rv
bS9FdmVudEV4Y2VwdGlvbi5pZGwgYi9XZWJDb3JlL2RvbS9FdmVudEV4Y2VwdGlvbi5pZGwKaW5k
ZXggMWM4ZmFjNmQ0ZDA5MTY2MjQwZDY0ZTdiYzAzY2Y1ZjBjZmIzNzk0NS4uYzhmMmJkZTBmZmQ1
Mzk0MTE2NzlmZDdiOWFmYjA2OTQ2OTJmYjE3MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRXZl
bnRFeGNlcHRpb24uaWRsCisrKyBiL1dlYkNvcmUvZG9tL0V2ZW50RXhjZXB0aW9uLmlkbApAQCAt
MzAsNyArMzAsOCBAQCBtb2R1bGUgZXZlbnRzIHsKIAogICAgIC8vIEludHJvZHVjZWQgaW4gRE9N
IExldmVsIDI6CiAgICAgaW50ZXJmYWNlIFsKLSAgICAgICAgTm9TdGF0aWNUYWJsZXMKKyAgICAg
ICAgTm9TdGF0aWNUYWJsZXMsCisgICAgICAgIERvbnRDaGVja0VudW1zCiAgICAgXSBFdmVudEV4
Y2VwdGlvbiB7CiAKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0ICAg
Y29kZTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL05vZGUuaWRsIGIvV2ViQ29yZS9kb20vTm9k
ZS5pZGwKaW5kZXggMDcwNDZkMTMwMWVjZTMwZDcxMWUwYTVkYzFlNzE3N2I3OTIxMGFkZi4uZTE1
YjIxMGRhNzJmMjBkMDc3MTU2MzlmNzI4OGQyZTVlNDViOTI4MCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9kb20vTm9kZS5pZGwKKysrIGIvV2ViQ29yZS9kb20vTm9kZS5pZGwKQEAgLTI4LDcgKzI4LDgg
QEAgbW9kdWxlIGNvcmUgewogICAgICAgICBFdmVudFRhcmdldCwKICAgICAgICAgR2VuZXJhdGVO
YXRpdmVDb252ZXJ0ZXIsCiAgICAgICAgIElubGluZUdldE93blByb3BlcnR5U2xvdCwKLSAgICAg
ICAgUG9seW1vcnBoaWMKKyAgICAgICAgUG9seW1vcnBoaWMsCisgICAgICAgIERvbnRDaGVja0Vu
dW1zCiAgICAgXSBOb2RlCiAjaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFO
R1VBR0VfT0JKRUNUSVZFX0MKICAgICAgICAgOiBPYmplY3QsIEV2ZW50VGFyZ2V0CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2RvbS9PdmVyZmxvd0V2ZW50LmlkbCBiL1dlYkNvcmUvZG9tL092ZXJmbG93
RXZlbnQuaWRsCmluZGV4IDBiNGY1YzYwMzc4N2ViZmQ4YzRkM2Y0NDM5YjgyOWUxNmVkYzM2NTUu
LjQ4M2QyYjA0NGQ3Mjk0MDc5YzY2NWQ3ZjVlNGRhZGUzNDVjYWZhNzEgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvZG9tL092ZXJmbG93RXZlbnQuaWRsCisrKyBiL1dlYkNvcmUvZG9tL092ZXJmbG93RXZl
bnQuaWRsCkBAIC0yMyw4ICsyMyw4IEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKICAqLwogbW9kdWxlIGV2
ZW50cyB7Ci0KLSAgICBpbnRlcmZhY2UgT3ZlcmZsb3dFdmVudCA6IEV2ZW50IHsKKyAgICAjIEZJ
WE1FOiBDb252ZXJnZSB0aGVzZSBjb25zdHMgYW5kIE92ZXJmbG93RXZlbnQ6Om9yaWVudFR5cGUg
dmFsdWVzIGFuZCByZW1vdmUgRG9udENoZWNrRW51bXMgYXR0cmlidXRlLgorICAgIGludGVyZmFj
ZSBbRG9udENoZWNrRW51bXNdIE92ZXJmbG93RXZlbnQgOiBFdmVudCB7CiAgICAgICAgIGNvbnN0
IHVuc2lnbmVkIHNob3J0IEhPUklaT05UQUwgPSAwOwogICAgICAgICBjb25zdCB1bnNpZ25lZCBz
aG9ydCBWRVJUSUNBTCAgID0gMTsKICAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgQk9USCAg
ICAgICA9IDI7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9SYW5nZUV4Y2VwdGlvbi5pZGwgYi9X
ZWJDb3JlL2RvbS9SYW5nZUV4Y2VwdGlvbi5pZGwKaW5kZXggMTAwOTEyZGMxYTZhYTIxNjE3ZjVi
YTRhMjI0ZWZhOWI0MDVmZGFkYy4uYzdjODU1ODQ4ZmViNGJkN2U3M2M0NTg0M2ZkZWZmOGI2NzAz
NDdhNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vUmFuZ2VFeGNlcHRpb24uaWRsCisrKyBiL1dl
YkNvcmUvZG9tL1JhbmdlRXhjZXB0aW9uLmlkbApAQCAtMTksNyArMTksNyBAQAogCiBtb2R1bGUg
cmFuZ2VzIHsKIAotICAgIGludGVyZmFjZSBSYW5nZUV4Y2VwdGlvbiB7CisgICAgaW50ZXJmYWNl
IFtEb250Q2hlY2tFbnVtc10gUmFuZ2VFeGNlcHRpb24gewogCiAgICAgICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCAgIGNvZGU7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBET01TdHJpbmcgICAgICAgIG5hbWU7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvRmlsZUVy
cm9yLmlkbCBiL1dlYkNvcmUvaHRtbC9GaWxlRXJyb3IuaWRsCmluZGV4IGFkYzI1ZThlN2ExMWIz
ZDVmMWM2MjFhODViYmIyOTIyOGM5ZjUwZWMuLjU1NWQxMDNkOWIzMmViOTcxMGUyZDM4YjUwMTk4
NTgyN2ZiNDViZTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9GaWxlRXJyb3IuaWRsCisrKyBi
L1dlYkNvcmUvaHRtbC9GaWxlRXJyb3IuaWRsCkBAIC0zMCw3ICszMCw4IEBACiAKIG1vZHVsZSBo
dG1sIHsKICAgICBpbnRlcmZhY2UgWwotICAgICAgICBDb25kaXRpb25hbD1GSUxFX1JFQURFUnxG
SUxFX1dSSVRFUgorICAgICAgICBDb25kaXRpb25hbD1GSUxFX1JFQURFUnxGSUxFX1dSSVRFUiwK
KyAgICAgICAgRG9udENoZWNrRW51bXMKICAgICBdIEZpbGVFcnJvciB7CiAjaWYgIWRlZmluZWQo
TEFOR1VBR0VfT0JKRUNUSVZFX0MpCiAgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IE5PX01P
RElGSUNBVElPTl9BTExPV0VEX0VSUiA9IDc7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvRmls
ZVJlYWRlci5pZGwgYi9XZWJDb3JlL2h0bWwvRmlsZVJlYWRlci5pZGwKaW5kZXggYjkzM2Y1MWNm
NjY3NGZlMzFkYmI0NGFkMjlhNWFmYjcyNzQ1ZGMyNy4uYWQwZTE4N2RmZDBiNTdmYjgwNGJlNmE0
OWZhNzNhMGZiMmJjYTJjOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0ZpbGVSZWFkZXIuaWRs
CisrKyBiL1dlYkNvcmUvaHRtbC9GaWxlUmVhZGVyLmlkbApAQCAtMzQsNyArMzQsOCBAQCBtb2R1
bGUgaHRtbCB7CiAgICAgICAgIENhbkJlQ29uc3RydWN0ZWQsCiAgICAgICAgIENhbGxXaXRoPVNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQsCiAgICAgICAgIEV2ZW50VGFyZ2V0LAotICAgICAgICBOb1N0
YXRpY1RhYmxlcworICAgICAgICBOb1N0YXRpY1RhYmxlcywKKyAgICAgICAgRG9udENoZWNrRW51
bXMKICAgICBdIEZpbGVSZWFkZXIgewogICAgICAgICAvLyByZWFkeSBzdGF0ZXMKICAgICAgICAg
Y29uc3QgdW5zaWduZWQgc2hvcnQgRU1QVFkgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1s
L2NhbnZhcy9GbG9hdDMyQXJyYXkuaWRsIGIvV2ViQ29yZS9odG1sL2NhbnZhcy9GbG9hdDMyQXJy
YXkuaWRsCmluZGV4IDY1MWU3NGY2Y2MzY2FhOGY1MjcxMTEwOGY0ODFkOTk0YjEzY2FiNjYuLjVh
OTM5Y2E3YWI3OGY2MWI4Nzc5ODBmNWZkNDg5MDJlMjk3MmVhZjMgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvaHRtbC9jYW52YXMvRmxvYXQzMkFycmF5LmlkbAorKysgYi9XZWJDb3JlL2h0bWwvY2FudmFz
L0Zsb2F0MzJBcnJheS5pZGwKQEAgLTMzLDcgKzMzLDggQEAgbW9kdWxlIGh0bWwgewogICAgICAg
ICBIYXNOdW1lcmljSW5kZXhHZXR0ZXIsCiAgICAgICAgIEhhc0N1c3RvbUluZGV4U2V0dGVyLAog
ICAgICAgICBHZW5lcmF0ZU5hdGl2ZUNvbnZlcnRlciwKLSAgICAgICAgQ3VzdG9tVG9KUworICAg
ICAgICBDdXN0b21Ub0pTLAorICAgICAgICBEb250Q2hlY2tFbnVtcwogICAgIF0gRmxvYXQzMkFy
cmF5IDogQXJyYXlCdWZmZXJWaWV3IHsKICAgICAgICAgY29uc3QgdW5zaWduZWQgaW50IEJZVEVT
X1BFUl9FTEVNRU5UID0gNDsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL2NhbnZhcy9JbnQx
NkFycmF5LmlkbCBiL1dlYkNvcmUvaHRtbC9jYW52YXMvSW50MTZBcnJheS5pZGwKaW5kZXggMDk1
NjExYmY1NzQzMzkzODUzMDljMzQ2Nzc4ZWZiZmVmZTgyZGU1Zi4uMDI0MTdmOGQxYmRjYjA5NTUy
MWJkZGIwNTc4ODFjZmQwODIwMDVmZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL2NhbnZhcy9J
bnQxNkFycmF5LmlkbAorKysgYi9XZWJDb3JlL2h0bWwvY2FudmFzL0ludDE2QXJyYXkuaWRsCkBA
IC0zMiw3ICszMiw4IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgSGFzTnVtZXJpY0luZGV4R2V0
dGVyLAogICAgICAgICBIYXNDdXN0b21JbmRleFNldHRlciwKICAgICAgICAgR2VuZXJhdGVOYXRp
dmVDb252ZXJ0ZXIsCi0gICAgICAgIEN1c3RvbVRvSlMKKyAgICAgICAgQ3VzdG9tVG9KUywKKyAg
ICAgICAgRG9udENoZWNrRW51bXMKICAgICBdIEludDE2QXJyYXkgOiBBcnJheUJ1ZmZlclZpZXcg
ewogICAgICAgICBjb25zdCB1bnNpZ25lZCBpbnQgQllURVNfUEVSX0VMRU1FTlQgPSAyOwogCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvY2FudmFzL0ludDMyQXJyYXkuaWRsIGIvV2ViQ29yZS9o
dG1sL2NhbnZhcy9JbnQzMkFycmF5LmlkbAppbmRleCA5ZDFlOGVlM2RkNWU1OThhMTkzNGZmYWE3
ZmU1ODAzZjllMDQ4MzhmLi42OTc3ZDAwNDJlMWYxNzIzNTNiODljODQ4ZTdlODY1YWY5NDY2Njk5
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvY2FudmFzL0ludDMyQXJyYXkuaWRsCisrKyBiL1dl
YkNvcmUvaHRtbC9jYW52YXMvSW50MzJBcnJheS5pZGwKQEAgLTMzLDcgKzMzLDggQEAgbW9kdWxl
IGh0bWwgewogICAgICAgICBIYXNOdW1lcmljSW5kZXhHZXR0ZXIsCiAgICAgICAgIEhhc0N1c3Rv
bUluZGV4U2V0dGVyLAogICAgICAgICBHZW5lcmF0ZU5hdGl2ZUNvbnZlcnRlciwKLSAgICAgICAg
Q3VzdG9tVG9KUworICAgICAgICBDdXN0b21Ub0pTLAorICAgICAgICBEb250Q2hlY2tFbnVtcwog
ICAgIF0gSW50MzJBcnJheSA6IEFycmF5QnVmZmVyVmlldyB7CiAgICAgICAgIGNvbnN0IHVuc2ln
bmVkIGludCBCWVRFU19QRVJfRUxFTUVOVCA9IDQ7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRt
bC9jYW52YXMvSW50OEFycmF5LmlkbCBiL1dlYkNvcmUvaHRtbC9jYW52YXMvSW50OEFycmF5Lmlk
bAppbmRleCA0M2M4M2Y1YzI5N2QwNDBmNzgyMTI5MWU0YTNlZWZjNjFkMTE5YmU3Li40ZGJhOWU0
ZTA3MmU4NTczNGE1MmEwYjk5YjkwMmJhNTM4MzQ1NzU2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0
bWwvY2FudmFzL0ludDhBcnJheS5pZGwKKysrIGIvV2ViQ29yZS9odG1sL2NhbnZhcy9JbnQ4QXJy
YXkuaWRsCkBAIC0zMyw3ICszMyw4IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgSGFzTnVtZXJp
Y0luZGV4R2V0dGVyLAogICAgICAgICBIYXNDdXN0b21JbmRleFNldHRlciwKICAgICAgICAgR2Vu
ZXJhdGVOYXRpdmVDb252ZXJ0ZXIsCi0gICAgICAgIEN1c3RvbVRvSlMKKyAgICAgICAgQ3VzdG9t
VG9KUywKKyAgICAgICAgRG9udENoZWNrRW51bXMKICAgICBdIEludDhBcnJheSA6IEFycmF5QnVm
ZmVyVmlldyB7CiAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGludCBCWVRFU19QRVJfRUxFTUVOVCA9
IDE7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9jYW52YXMvVWludDE2QXJyYXkuaWRsIGIv
V2ViQ29yZS9odG1sL2NhbnZhcy9VaW50MTZBcnJheS5pZGwKaW5kZXggNGMzNjlhMDE1ZDU2Y2Y2
MmJkN2I1NTAyMjVmMzVhZWI4MTE1ZWIwMy4uZGUxZTVlMGMxMTNlZmY1ZmIxZjg2ZGRjZWQ5MGU1
YTBkYjc2YTAxOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL2NhbnZhcy9VaW50MTZBcnJheS5p
ZGwKKysrIGIvV2ViQ29yZS9odG1sL2NhbnZhcy9VaW50MTZBcnJheS5pZGwKQEAgLTMzLDcgKzMz
LDggQEAgbW9kdWxlIGh0bWwgewogICAgICAgICBIYXNOdW1lcmljSW5kZXhHZXR0ZXIsCiAgICAg
ICAgIEhhc0N1c3RvbUluZGV4U2V0dGVyLAogICAgICAgICBHZW5lcmF0ZU5hdGl2ZUNvbnZlcnRl
ciwKLSAgICAgICAgQ3VzdG9tVG9KUworICAgICAgICBDdXN0b21Ub0pTLAorICAgICAgICBEb250
Q2hlY2tFbnVtcwogICAgIF0gVWludDE2QXJyYXkgOiBBcnJheUJ1ZmZlclZpZXcgewogICAgICAg
ICBjb25zdCB1bnNpZ25lZCBpbnQgQllURVNfUEVSX0VMRU1FTlQgPSAyOwogCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2h0bWwvY2FudmFzL1VpbnQzMkFycmF5LmlkbCBiL1dlYkNvcmUvaHRtbC9jYW52
YXMvVWludDMyQXJyYXkuaWRsCmluZGV4IDI1ZjViNzFmZjM3OTU1ZTc1NjVlMDFkOTQwOWUyMWYy
ZmE4OTMwOGMuLmNlNjMyZGQ3OTc4ODVlMTgwNDZjZTZiMTgxZjlkNjJjNGNmMzk5ZGYgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvaHRtbC9jYW52YXMvVWludDMyQXJyYXkuaWRsCisrKyBiL1dlYkNvcmUv
aHRtbC9jYW52YXMvVWludDMyQXJyYXkuaWRsCkBAIC0zMyw3ICszMyw4IEBAIG1vZHVsZSBodG1s
IHsKICAgICAgICAgSGFzTnVtZXJpY0luZGV4R2V0dGVyLAogICAgICAgICBIYXNDdXN0b21JbmRl
eFNldHRlciwKICAgICAgICAgR2VuZXJhdGVOYXRpdmVDb252ZXJ0ZXIsCi0gICAgICAgIEN1c3Rv
bVRvSlMKKyAgICAgICAgQ3VzdG9tVG9KUywKKyAgICAgICAgRG9udENoZWNrRW51bXMKICAgICBd
IFVpbnQzMkFycmF5IDogQXJyYXlCdWZmZXJWaWV3IHsKICAgICAgICAgY29uc3QgdW5zaWduZWQg
aW50IEJZVEVTX1BFUl9FTEVNRU5UID0gNDsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL2Nh
bnZhcy9VaW50OEFycmF5LmlkbCBiL1dlYkNvcmUvaHRtbC9jYW52YXMvVWludDhBcnJheS5pZGwK
aW5kZXggNzZiOGNkZGI2NTg0YmRmMGUxNmUxNDBiMzZkYTY4ZjNmOTJlYmY5Ni4uYzUyMDg0NGY2
NjQ5MGYwMWJhZjRjNjhjOWY1YWM0NzlmMDJmYzc2ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1s
L2NhbnZhcy9VaW50OEFycmF5LmlkbAorKysgYi9XZWJDb3JlL2h0bWwvY2FudmFzL1VpbnQ4QXJy
YXkuaWRsCkBAIC0zMyw3ICszMyw4IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgSGFzTnVtZXJp
Y0luZGV4R2V0dGVyLAogICAgICAgICBIYXNDdXN0b21JbmRleFNldHRlciwKICAgICAgICAgR2Vu
ZXJhdGVOYXRpdmVDb252ZXJ0ZXIsCi0gICAgICAgIEN1c3RvbVRvSlMKKyAgICAgICAgQ3VzdG9t
VG9KUywKKyAgICAgICAgRG9udENoZWNrRW51bXMKICAgICBdIFVpbnQ4QXJyYXkgOiBBcnJheUJ1
ZmZlclZpZXcgewogICAgICAgICBjb25zdCB1bnNpZ25lZCBpbnQgQllURVNfUEVSX0VMRU1FTlQg
PSAxOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29u
dGV4dC5pZGwgYi9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5pZGwK
aW5kZXggNDE5N2RhOWI4NThmZDIzMmQxZjYzMDFmYzBmZjgyNmJjMzU5ZmQyNC4uNjU0YzdhYTFi
YjhjMjM4NDVkZTRmMWUxMTk3MmVmOTFiOTdmZDZjNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaWRsCisrKyBiL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmlkbApAQCAtMjgsNyArMjgsOCBAQCBtb2R1bGUgaHRt
bCB7CiAgICAgaW50ZXJmYWNlIFsKICAgICAgICAgQ29uZGl0aW9uYWw9M0RfQ0FOVkFTLAogICAg
ICAgICBJbnRlcmZhY2VVVUlEPTk4ZmI0OGFlLTcyMTYtNDg5Yy04NjJiLThlMTIxN2ZjNDQ0MywK
LSAgICAgICAgSW1wbGVtZW50YXRpb25VVUlEPWFiNGYwNzgxLTE1MmYtNDUwZS05NTQ2LTViMzk4
NzQ5MWE1NAorICAgICAgICBJbXBsZW1lbnRhdGlvblVVSUQ9YWI0ZjA3ODEtMTUyZi00NTBlLTk1
NDYtNWIzOTg3NDkxYTU0LAorICAgICAgICBEb250Q2hlY2tFbnVtcwogICAgIF0gV2ViR0xSZW5k
ZXJpbmdDb250ZXh0IDogQ2FudmFzUmVuZGVyaW5nQ29udGV4dCB7CiAKICAgICAgICAgLyogQ2xl
YXJCdWZmZXJNYXNrICovCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9KYXZhU2NyaXB0
Q2FsbEZyYW1lLmlkbCBiL1dlYkNvcmUvaW5zcGVjdG9yL0phdmFTY3JpcHRDYWxsRnJhbWUuaWRs
CmluZGV4IDI4ZjRmMzQ5OTMxZDcyZTFlODk3YzM3YzUxN2YyZjk5MTVhYzVjZmIuLjIyNTA1OWQ5
MTQwNDU3Y2M5ZWMxOGM2ZGM4MjA5NGFmNmFjNDAzMDIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5z
cGVjdG9yL0phdmFTY3JpcHRDYWxsRnJhbWUuaWRsCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0ph
dmFTY3JpcHRDYWxsRnJhbWUuaWRsCkBAIC0yNSw3ICsyNSwxMSBAQAogCiBtb2R1bGUgaW5zcGVj
dG9yIHsKIAotICAgIGludGVyZmFjZSBbQ29uZGl0aW9uYWw9SkFWQVNDUklQVF9ERUJVR0dFUiwg
T21pdENvbnN0cnVjdG9yXSBKYXZhU2NyaXB0Q2FsbEZyYW1lIHsKKyAgICBpbnRlcmZhY2UgWwor
ICAgICAgICBDb25kaXRpb25hbD1KQVZBU0NSSVBUX0RFQlVHR0VSLAorICAgICAgICBPbWl0Q29u
c3RydWN0b3IsCisgICAgICAgIERvbnRDaGVja0VudW1zCisgICAgXSBKYXZhU2NyaXB0Q2FsbEZy
YW1lIHsKIAogICAgICAgICAvLyBTY29wZSB0eXBlCiAgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNo
b3J0IEdMT0JBTF9TQ09QRSA9IDA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9hcHBjYWNo
ZS9ET01BcHBsaWNhdGlvbkNhY2hlLmlkbCBiL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0RPTUFw
cGxpY2F0aW9uQ2FjaGUuaWRsCmluZGV4IDg1MjVmZTYyYWE3ODZlNWE5MTE3ODViZTg4OTNmZDM3
OGE0OTJjMDEuLjkxMTNmZmFhMWRkMWM5MGI3NmZlOWU2Y2Q4MDBlMWVlZTk5MmE1YWYgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0RPTUFwcGxpY2F0aW9uQ2FjaGUuaWRsCisr
KyBiL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0RPTUFwcGxpY2F0aW9uQ2FjaGUuaWRsCkBAIC0y
OCw3ICsyOCw4IEBAIG1vZHVsZSBvZmZsaW5lIHsKICAgICBpbnRlcmZhY2UgWwogICAgICAgICBD
b25kaXRpb25hbD1PRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMsCiAgICAgICAgIEV2ZW50VGFyZ2V0
LAotICAgICAgICBPbWl0Q29uc3RydWN0b3IKKyAgICAgICAgT21pdENvbnN0cnVjdG9yLAorICAg
ICAgICBEb250Q2hlY2tFbnVtcwogICAgIF0gRE9NQXBwbGljYXRpb25DYWNoZSB7CiAgICAgICAg
IC8vIHVwZGF0ZSBzdGF0dXMKICAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgVU5DQUNIRUQg
PSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL1NRTEV4Y2VwdGlvbi5pZGwgYi9XZWJD
b3JlL3N0b3JhZ2UvU1FMRXhjZXB0aW9uLmlkbAppbmRleCA5ODMwMTQyOGM0NGRmOWQzMzA0Y2Ey
Yzg2NzU0YzUyNTE2NjBmZmY0Li5jYmJjMzExZmQyMzlhOWM2N2RkNDg2MGI2NGQ3OGFmYjI1ZTAz
MWI5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvU1FMRXhjZXB0aW9uLmlkbAorKysgYi9X
ZWJDb3JlL3N0b3JhZ2UvU1FMRXhjZXB0aW9uLmlkbApAQCAtMzIsNyArMzIsOCBAQCBtb2R1bGUg
c3RvcmFnZSB7CiAKICAgICBpbnRlcmZhY2UgWwogICAgICAgICBDb25kaXRpb25hbD1EQVRBQkFT
RSwKLSAgICAgICAgTm9TdGF0aWNUYWJsZXMKKyAgICAgICAgTm9TdGF0aWNUYWJsZXMsCisgICAg
ICAgIERvbnRDaGVja0VudW1zCiAgICAgXSBTUUxFeGNlcHRpb24gewogICAgICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBjb2RlOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1
dGUgRE9NU3RyaW5nIG1lc3NhZ2U7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9TVkdDb21wb25l
bnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudC5pZGwgYi9XZWJDb3JlL3N2Zy9TVkdDb21wb25lbnRU
cmFuc2ZlckZ1bmN0aW9uRWxlbWVudC5pZGwKaW5kZXggOTUwZjc3ZDY0NjUzYWQ4YTExYmMzZDFk
YzY4ZTkyZDgyNWY2NWUxNy4uMGE5ZTA1ZDBhODc3NmM1NzIwMGZlZjk2MDdjMTdmMDZiNTYxNzU5
NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVs
ZW1lbnQuaWRsCisrKyBiL1dlYkNvcmUvc3ZnL1NWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25F
bGVtZW50LmlkbApAQCAtMjUsNyArMjUsMTAgQEAKIAogbW9kdWxlIHN2ZyB7CiAKLSAgICBpbnRl
cmZhY2UgW0NvbmRpdGlvbmFsPVNWRyZGSUxURVJTXSBTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0
aW9uRWxlbWVudCA6IFNWR0VsZW1lbnQgeworICAgIGludGVyZmFjZSBbCisgICAgICAgIENvbmRp
dGlvbmFsPVNWRyZGSUxURVJTLAorICAgICAgICBEb250Q2hlY2tFbnVtcworICAgIF0gU1ZHQ29t
cG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQgOiBTVkdFbGVtZW50IHsKICAgICAgICAgLy8g
Q29tcG9uZW50IFRyYW5zZmVyIFR5cGVzCiAgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFNW
R19GRUNPTVBPTkVOVFRSQU5TRkVSX1RZUEVfVU5LTk9XTiAgPSAwOwogICAgICAgICBjb25zdCB1
bnNpZ25lZCBzaG9ydCBTVkdfRkVDT01QT05FTlRUUkFOU0ZFUl9UWVBFX0lERU5USVRZID0gMTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3ZnL1NWR0V4Y2VwdGlvbi5pZGwgYi9XZWJDb3JlL3N2Zy9T
VkdFeGNlcHRpb24uaWRsCmluZGV4IGRiNTY1ZmYzZDYxODkxMjM2ZjQ0MWM0Njc1NGU4NzQ1YWY3
ODA2NmMuLjNmMWY4ZWM1YmQxZjUwY2I3YTk2YWI4Zjg3MTdlZGVhYjg1NWIyY2QgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvc3ZnL1NWR0V4Y2VwdGlvbi5pZGwKKysrIGIvV2ViQ29yZS9zdmcvU1ZHRXhj
ZXB0aW9uLmlkbApAQCAtMjEsNyArMjEsOCBAQAogbW9kdWxlIHN2ZyB7CiAKICAgICBpbnRlcmZh
Y2UgWwotICAgICAgICBDb25kaXRpb25hbD1TVkcKKyAgICAgICAgQ29uZGl0aW9uYWw9U1ZHLAor
ICAgICAgICBEb250Q2hlY2tFbnVtcwogICAgIF0gU1ZHRXhjZXB0aW9uIHsKIAogICAgICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgICBjb2RlOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9zdmcvU1ZHRkVCbGVuZEVsZW1lbnQuaWRsIGIvV2ViQ29yZS9zdmcvU1ZHRkVCbGVuZEVs
ZW1lbnQuaWRsCmluZGV4IGJiNmQ4NmRkNmMzODhlZWM0N2IyZTY1ZjNmZTQ1OTQ0NmFjMzY2MjQu
LjBjMDg2MDMzYWZlZTVkYjVlMzlmZDAyMzE0ZDNhNTY4ZjRhYTQ0NDMgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvc3ZnL1NWR0ZFQmxlbmRFbGVtZW50LmlkbAorKysgYi9XZWJDb3JlL3N2Zy9TVkdGRUJs
ZW5kRWxlbWVudC5pZGwKQEAgLTI1LDggKzI1LDExIEBACiAKIG1vZHVsZSBzdmcgewogCi0gICAg
aW50ZXJmYWNlIFtDb25kaXRpb25hbD1TVkcmRklMVEVSU10gU1ZHRkVCbGVuZEVsZW1lbnQgOiBT
VkdFbGVtZW50LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcyB7CisgICAgaW50ZXJm
YWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9U1ZHJkZJTFRFUlMsCisgICAgICAgIERvbnRDaGVj
a0VudW1zCisgICAgXSBTVkdGRUJsZW5kRWxlbWVudCA6IFNWR0VsZW1lbnQsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcyB7CiAg
ICAgICAgIC8vIEJsZW5kIE1vZGUgVHlwZXMKICAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQg
U1ZHX0ZFQkxFTkRfTU9ERV9VTktOT1dOICA9IDA7CiAgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNo
b3J0IFNWR19GRUJMRU5EX01PREVfTk9STUFMICAgPSAxOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9z
dmcvU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQuaWRsIGIvV2ViQ29yZS9zdmcvU1ZHRkVDb2xvck1h
dHJpeEVsZW1lbnQuaWRsCmluZGV4IGQ3MDQ5MDZmOGRkMzZjZmIxMDg2N2Y1ODk3YjViODc5OTli
ODAwMDkuLjYxYzViNGE0Njk4Yzg2NDRjNTI5YjczMjcxZGQ0NGRhY2JjNTdkYzIgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvc3ZnL1NWR0ZFQ29sb3JNYXRyaXhFbGVtZW50LmlkbAorKysgYi9XZWJDb3Jl
L3N2Zy9TVkdGRUNvbG9yTWF0cml4RWxlbWVudC5pZGwKQEAgLTI1LDggKzI1LDExIEBACiAKIG1v
ZHVsZSBzdmcgewogCi0gICAgaW50ZXJmYWNlIFtDb25kaXRpb25hbD1TVkcmRklMVEVSU10gU1ZH
RkVDb2xvck1hdHJpeEVsZW1lbnQgOiBTVkdFbGVtZW50LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNWR0ZpbHRlclByaW1pdGl2ZVN0
YW5kYXJkQXR0cmlidXRlcyB7CisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9
U1ZHJkZJTFRFUlMsCisgICAgICAgIERvbnRDaGVja0VudW1zCisgICAgXSBTVkdGRUNvbG9yTWF0
cml4RWxlbWVudCA6IFNWR0VsZW1lbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcyB7CiAgICAgICAgIC8vIENvbG9y
IE1hdHJpeCBUeXBlcwogICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBTVkdfRkVDT0xPUk1B
VFJJWF9UWVBFX1VOS05PV04gICAgICAgICAgPSAwOwogICAgICAgICBjb25zdCB1bnNpZ25lZCBz
aG9ydCBTVkdfRkVDT0xPUk1BVFJJWF9UWVBFX01BVFJJWCAgICAgICAgICAgPSAxOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9zdmcvU1ZHRkVDb21wb3NpdGVFbGVtZW50LmlkbCBiL1dlYkNvcmUvc3Zn
L1NWR0ZFQ29tcG9zaXRlRWxlbWVudC5pZGwKaW5kZXggZDNhZGIyNWIxZGE4YjFjMzJiZDM2MGQz
MzBmZTllMTFkNjM5ZmUxZi4uYWYxZDVjZmEyNTU5ODA0NzAzNTEwM2RlNzc5MDc4ZjNiZGE5YjU5
YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHRkVDb21wb3NpdGVFbGVtZW50LmlkbAorKysg
Yi9XZWJDb3JlL3N2Zy9TVkdGRUNvbXBvc2l0ZUVsZW1lbnQuaWRsCkBAIC0yNSw4ICsyNSwxMSBA
QAogCiBtb2R1bGUgc3ZnIHsKIAotICAgIGludGVyZmFjZSBbQ29uZGl0aW9uYWw9U1ZHJkZJTFRF
UlNdIFNWR0ZFQ29tcG9zaXRlRWxlbWVudCA6IFNWR0VsZW1lbnQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNWR0ZpbHRlclByaW1pdGl2
ZVN0YW5kYXJkQXR0cmlidXRlcyB7CisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9u
YWw9U1ZHJkZJTFRFUlMsCisgICAgICAgIERvbnRDaGVja0VudW1zCisgICAgXSBTVkdGRUNvbXBv
c2l0ZUVsZW1lbnQgOiBTVkdFbGVtZW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
U1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzIHsKICAgICAgICAgLy8gQ29tcG9z
aXRlIE9wZXJhdG9ycwogICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBTVkdfRkVDT01QT1NJ
VEVfT1BFUkFUT1JfVU5LTk9XTiAgICA9IDA7CiAgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0
IFNWR19GRUNPTVBPU0lURV9PUEVSQVRPUl9PVkVSICAgICAgID0gMTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvc3ZnL1NWR0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50LmlkbCBiL1dlYkNvcmUvc3ZnL1NW
R0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50LmlkbAppbmRleCA1YmU0YzMzZDczNTc4OTFkYzI3OGVh
NmVlMmQzYzdmNGIyMjc0NTVkLi5hZmU4NTlkNDU4ZTI2MTM2ODc3ODc0ZDRmOTE3OTA5ZTRhNzk0
YzJlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudC5p
ZGwKKysrIGIvV2ViQ29yZS9zdmcvU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQuaWRsCkBAIC0y
NSw4ICsyNSwxMiBAQAogCiBtb2R1bGUgc3ZnIHsKIAotICAgIGludGVyZmFjZSBbQ29uZGl0aW9u
YWw9U1ZHJkZJTFRFUlMsIEdlbmVyYXRlQ29uc3RydWN0b3JdIFNWR0ZFQ29udm9sdmVNYXRyaXhF
bGVtZW50IDogU1ZHRWxlbWVudCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJp
YnV0ZXMgeworICAgIGludGVyZmFjZSBbCisgICAgICAgIENvbmRpdGlvbmFsPVNWRyZGSUxURVJT
LAorICAgICAgICBHZW5lcmF0ZUNvbnN0cnVjdG9yLAorICAgICAgICBEb250Q2hlY2tFbnVtcwor
ICAgIF0gU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQgOiBTVkdFbGVtZW50LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJp
YnV0ZXMgewogICAgICAgICAvLyBFZGdlIE1vZGUgVmFsdWVzCiAgICAgICAgIGNvbnN0IHVuc2ln
bmVkIHNob3J0IFNWR19FREdFTU9ERV9VTktOT1dOICAgPSAwOwogICAgICAgICBjb25zdCB1bnNp
Z25lZCBzaG9ydCBTVkdfRURHRU1PREVfRFVQTElDQVRFID0gMTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvc3ZnL1NWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudC5pZGwgYi9XZWJDb3JlL3N2Zy9TVkdG
RURpc3BsYWNlbWVudE1hcEVsZW1lbnQuaWRsCmluZGV4IGIwMDNlOGY4NzdiZGRkNzY3NDU0NjJh
ZGIwYmI1MzU0NDNkNzA5OTIuLjFlYjk0NDBkYjY0MTY5NWM1YjE2M2ZhYjU2ZWY0NjE1NzQzNDA2
Y2IgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3ZnL1NWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudC5p
ZGwKKysrIGIvV2ViQ29yZS9zdmcvU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LmlkbApAQCAt
MjUsOCArMjUsMTEgQEAKIAogbW9kdWxlIHN2ZyB7CiAKLSAgICBpbnRlcmZhY2UgW0NvbmRpdGlv
bmFsPVNWRyZGSUxURVJTXSBTVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQgOiBTVkdFbGVtZW50
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMgeyAgICAKKyAgICBp
bnRlcmZhY2UgWworICAgICAgICBDb25kaXRpb25hbD1TVkcmRklMVEVSUywKKyAgICAgICAgRG9u
dENoZWNrRW51bXMKKyAgICBdIFNWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudCA6IFNWR0VsZW1l
bnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVkdGaWx0ZXJQcmltaXRp
dmVTdGFuZGFyZEF0dHJpYnV0ZXMgewogICAgICAgICAvLyBDaGFubmVsIFNlbGVjdG9ycwogICAg
ICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBTVkdfQ0hBTk5FTF9VTktOT1dOID0gMDsKICAgICAg
ICAgY29uc3QgdW5zaWduZWQgc2hvcnQgU1ZHX0NIQU5ORUxfUiAgICAgICA9IDE7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3N2Zy9TVkdGRU1vcnBob2xvZ3lFbGVtZW50LmlkbCBiL1dlYkNvcmUvc3Zn
L1NWR0ZFTW9ycGhvbG9neUVsZW1lbnQuaWRsCmluZGV4IGZmZDIyODk1N2U2MDEwNGYzMWY3YzY3
ZGIxNDA0OTcwZjUxZTBhMzEuLjY0MDIzZTgxNTExNzFiOTA1Yjk1NzkzMGRkMmJmZTYwZWFkMzZm
MmMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3ZnL1NWR0ZFTW9ycGhvbG9neUVsZW1lbnQuaWRsCisr
KyBiL1dlYkNvcmUvc3ZnL1NWR0ZFTW9ycGhvbG9neUVsZW1lbnQuaWRsCkBAIC0yNSw4ICsyNSwx
MSBAQAogCiBtb2R1bGUgc3ZnIHsKIAotICAgIGludGVyZmFjZSBbQ29uZGl0aW9uYWw9U1ZHJkZJ
TFRFUlNdIFNWR0ZFTW9ycGhvbG9neUVsZW1lbnQgOiBTVkdFbGVtZW50LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNWR0ZpbHRl
clByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcyB7CisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAg
Q29uZGl0aW9uYWw9U1ZHJkZJTFRFUlMsCisgICAgICAgIERvbnRDaGVja0VudW1zCisgICAgXSBT
VkdGRU1vcnBob2xvZ3lFbGVtZW50IDogU1ZHRWxlbWVudCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMgewogICAgICAg
ICAvLyBNb3JwaG9sb2d5IE9wZXJhdG9ycwogICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBT
VkdfTU9SUEhPTE9HWV9PUEVSQVRPUl9VTktOT1dOICA9IDA7CiAgICAgICAgIGNvbnN0IHVuc2ln
bmVkIHNob3J0IFNWR19NT1JQSE9MT0dZX09QRVJBVE9SX0VST0RFICAgID0gMTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvc3ZnL1NWR0ZFVHVyYnVsZW5jZUVsZW1lbnQuaWRsIGIvV2ViQ29yZS9zdmcv
U1ZHRkVUdXJidWxlbmNlRWxlbWVudC5pZGwKaW5kZXggOTM0ZWRkZjQ0OWRmN2RmN2QwZTkzMmU2
MWMxN2UzMDBkYzlmNzY5MS4uZjAxMWQ5OTUxMTE4Njk4YWY4MGNlYjQ4OWY5M2ZiMDBjZWMyODEz
YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5pZGwKKysr
IGIvV2ViQ29yZS9zdmcvU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5pZGwKQEAgLTI1LDggKzI1LDEx
IEBACiAKIG1vZHVsZSBzdmcgewogCi0gICAgaW50ZXJmYWNlIFtDb25kaXRpb25hbD1TVkcmRklM
VEVSU10gU1ZHRkVUdXJidWxlbmNlRWxlbWVudCA6IFNWR0VsZW1lbnQsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVkdGaWx0ZXJQcmlt
aXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMgeyAKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25k
aXRpb25hbD1TVkcmRklMVEVSUywKKyAgICAgICAgRG9udENoZWNrRW51bXMKKyAgICBdIFNWR0ZF
VHVyYnVsZW5jZUVsZW1lbnQgOiBTVkdFbGVtZW50LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcyB7CiAgICAgICAgIC8v
IFR1cmJ1bGVuY2UgVHlwZXMKICAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgU1ZHX1RVUkJV
TEVOQ0VfVFlQRV9VTktOT1dOICAgICAgPSAwOwogICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9y
dCBTVkdfVFVSQlVMRU5DRV9UWVBFX0ZSQUNUQUxOT0lTRSA9IDE7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuaWRsIGIvV2ViQ29yZS9zdmcvU1ZHR3JhZGllbnRF
bGVtZW50LmlkbAppbmRleCA3NDg1NzgwYTA5MTA1ZDJmNmE1Y2U2NGE1NGFlMTI4Njg5OTRlMzVh
Li4xNmFjNjM2MTQyYWVhYTRmYzFmNjMwZTIwYWE3MzZkODI1NWYyNTY0IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuaWRsCisrKyBiL1dlYkNvcmUvc3ZnL1NWR0dy
YWRpZW50RWxlbWVudC5pZGwKQEAgLTI1LDExICsyNSwxNCBAQAogCiBtb2R1bGUgc3ZnIHsKIAot
ICAgIGludGVyZmFjZSBbQ29uZGl0aW9uYWw9U1ZHXSBTVkdHcmFkaWVudEVsZW1lbnQgOiBTVkdF
bGVtZW50LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBTVkdVUklSZWZlcmVuY2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNWR1N0eWxhYmxl
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFNW
R1VuaXRUeXBlcyAqLyB7CisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9U1ZH
LAorICAgICAgICBEb250Q2hlY2tFbnVtcworICAgIF0gU1ZHR3JhZGllbnRFbGVtZW50IDogU1ZH
RWxlbWVudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFNWR1VSSVJlZmVyZW5jZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICBTVkdTdHlsYWJsZQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLyogU1ZHVW5pdFR5cGVzICovIHsKICAgICAgICAgLy8gU3ByZWFkIE1ldGhvZCBU
eXBlcwogICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBTVkdfU1BSRUFETUVUSE9EX1VOS05P
V04gPSAwOwogICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBTVkdfU1BSRUFETUVUSE9EX1BB
RCAgICAgPSAxOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RFeGNlcHRp
b24uaWRsIGIvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RFeGNlcHRpb24uaWRsCmluZGV4IDcx
MjE0NjhlZGExODNjNTQ1YTY1YmE5MzYyZDU1NTA0NmNmOTY1MzEuLmZmZWE3MzI0OGVkNmQ0MWZl
ZmYzMDM2NWU0NGRlMmNjYjk2MGVmMDIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hNTEh0dHBS
ZXF1ZXN0RXhjZXB0aW9uLmlkbAorKysgYi9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdEV4Y2Vw
dGlvbi5pZGwKQEAgLTI5LDcgKzI5LDggQEAKIG1vZHVsZSB4bWwgewogCiAgICAgaW50ZXJmYWNl
IFsKLSAgICAgICAgTm9TdGF0aWNUYWJsZXMKKyAgICAgICAgTm9TdGF0aWNUYWJsZXMsCisgICAg
ICAgIERvbnRDaGVja0VudW1zCiAgICAgXSBYTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbiB7CiAKICAg
ICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0ICAgY29kZTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUveG1sL1hQYXRoRXhjZXB0aW9uLmlkbCBiL1dlYkNvcmUveG1sL1hQYXRoRXhj
ZXB0aW9uLmlkbAppbmRleCBkNWE5YWY2ZDljYWQ3OTJjOTk2NzVhYmUwNjk2NDE1NjM0NDFmMTE2
Li5iNTdkZjU3OTk0ODM3ZWZmMTQ0NzYyNzA2NmRlYjI3ZTU1ZTcxZTZmIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3htbC9YUGF0aEV4Y2VwdGlvbi5pZGwKKysrIGIvV2ViQ29yZS94bWwvWFBhdGhFeGNl
cHRpb24uaWRsCkBAIC0yOSw3ICsyOSw4IEBACiBtb2R1bGUgeHBhdGggewogCiAgICAgaW50ZXJm
YWNlIFsKLSAgICAgICAgQ29uZGl0aW9uYWw9WFBBVEgKKyAgICAgICAgQ29uZGl0aW9uYWw9WFBB
VEgsCisgICAgICAgIERvbnRDaGVja0VudW1zCiAgICAgXSBYUGF0aEV4Y2VwdGlvbiB7CiAKICAg
ICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0ICAgY29kZTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>