<?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>107601</bug_id>
          
          <creation_ts>2013-01-22 17:20:00 -0800</creation_ts>
          <short_desc>Default mouse cursor behavior should be auto-hide for full screen video with custom controls</short_desc>
          <delta_ts>2017-12-01 09:04:34 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=180247</see_also>
          <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>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>alcinnz</cc>
    
    <cc>allan.jensen</cc>
    
    <cc>bdakin</cc>
    
    <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>eoconnor</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>eric</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>graouts</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>rakuco</cc>
    
    <cc>syoichi</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>813596</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-01-22 17:20:00 -0800</bug_when>
    <thetext>Default mouse cursor behavior should be auto-hide for full screen video with custom controls</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813597</commentid>
    <comment_count>1</comment_count>
      <attachid>184089</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-01-22 17:20:14 -0800</bug_when>
    <thetext>Created attachment 184089
WIP

WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814494</commentid>
    <comment_count>2</comment_count>
      <attachid>184281</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-01-23 12:21:45 -0800</bug_when>
    <thetext>Created attachment 184281
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814503</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-23 12:26:39 -0800</bug_when>
    <thetext>Attachment 184281 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/fullscreen/video-cursor-auto-hide-expected.txt&apos;, u&apos;LayoutTests/fullscreen/video-cursor-auto-hide.html&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/css/CSSParser.cpp&apos;, u&apos;Source/WebCore/css/CSSPrimitiveValueMappings.h&apos;, u&apos;Source/WebCore/css/CSSValueKeywords.in&apos;, u&apos;Source/WebCore/css/fullscreen.css&apos;, u&apos;Source/WebCore/html/shadow/MediaControls.cpp&apos;, u&apos;Source/WebCore/page/EventHandler.cpp&apos;, u&apos;Source/WebCore/page/EventHandler.h&apos;, u&apos;Source/WebCore/page/FrameView.h&apos;, u&apos;Source/WebCore/page/Settings.cpp&apos;, u&apos;Source/WebCore/page/Settings.h&apos;, u&apos;Source/WebCore/rendering/RenderTheme.h&apos;, u&apos;Source/WebCore/rendering/style/RenderStyleConstants.h&apos;, u&apos;Source/WebCore/testing/InternalSettings.cpp&apos;, u&apos;Source/WebCore/testing/InternalSettings.h&apos;, u&apos;Source/WebCore/testing/InternalSettings.idl&apos;]&quot; exit_code: 1
Source/WebCore/rendering/style/RenderStyleConstants.h:415:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Total errors found: 1 in 18 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>840108</commentid>
    <comment_count>4</comment_count>
      <attachid>189860</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-02-22 16:40:45 -0800</bug_when>
    <thetext>Created attachment 189860
Patch

-webkit-cursor-visibility: version.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>840116</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-22 16:44:08 -0800</bug_when>
    <thetext>Attachment 189860 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/fullscreen/video-cursor-auto-hide-expected.txt&apos;, u&apos;LayoutTests/fullscreen/video-cursor-auto-hide.html&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/css/CSSComputedStyleDeclaration.cpp&apos;, u&apos;Source/WebCore/css/CSSParser.cpp&apos;, u&apos;Source/WebCore/css/CSSPrimitiveValueMappings.h&apos;, u&apos;Source/WebCore/css/CSSProperty.cpp&apos;, u&apos;Source/WebCore/css/CSSPropertyNames.in&apos;, u&apos;Source/WebCore/css/CSSValueKeywords.in&apos;, u&apos;Source/WebCore/css/StyleBuilder.cpp&apos;, u&apos;Source/WebCore/css/StyleResolver.cpp&apos;, u&apos;Source/WebCore/css/fullscreen.css&apos;, u&apos;Source/WebCore/html/shadow/MediaControls.cpp&apos;, u&apos;Source/WebCore/page/EventHandler.cpp&apos;, u&apos;Source/WebCore/page/EventHandler.h&apos;, u&apos;Source/WebCore/page/FrameView.h&apos;, u&apos;Source/WebCore/page/Settings.cpp&apos;, u&apos;Source/WebCore/page/Settings.h&apos;, u&apos;Source/WebCore/rendering/RenderTheme.h&apos;, u&apos;Source/WebCore/rendering/style/RenderStyle.h&apos;, u&apos;Source/WebCore/rendering/style/RenderStyleConstants.h&apos;, u&apos;Source/WebCore/testing/InternalSettings.cpp&apos;, u&apos;Source/WebCore/testing/InternalSettings.h&apos;, u&apos;Source/WebCore/testing/InternalSettings.idl&apos;]&quot; exit_code: 1
Source/WebCore/rendering/style/RenderStyleConstants.h:422:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Source/WebCore/rendering/style/RenderStyleConstants.h:423:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Source/WebCore/rendering/style/RenderStyle.h:192:  _cursor_visibility_style is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
Total errors found: 3 in 24 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>840464</commentid>
    <comment_count>6</comment_count>
      <attachid>189860</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2013-02-23 14:46:12 -0800</bug_when>
    <thetext>Comment on attachment 189860
Patch

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

&gt; Source/WebCore/css/CSSComputedStyleDeclaration.cpp:1845
&gt; +        case CSSPropertyWebkitCursorVisibility: {
&gt; +            return cssValuePool().createValue(style-&gt;cursorVisibility());
&gt; +        }

These braces shouldn&apos;t be necessary.

&gt; Source/WebCore/testing/InternalSettings.cpp:494
&gt; +void InternalSettings::setTimeWithoutMouseMovementBeforeHidingControls(double time, ExceptionCode&amp; ec)
&gt; +{
&gt; +    InternalSettingsGuardForSettings();
&gt; +    settings()-&gt;setTimeWithoutMouseMovementBeforeHidingControls(time);
&gt; +}

Should InternalSettings also save and restore the auto-hide time so one test doesn&apos;t change it for others?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>840622</commentid>
    <comment_count>7</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-02-24 10:24:50 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 189860 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=189860&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/css/CSSComputedStyleDeclaration.cpp:1845
&gt; &gt; +        case CSSPropertyWebkitCursorVisibility: {
&gt; &gt; +            return cssValuePool().createValue(style-&gt;cursorVisibility());
&gt; &gt; +        }
&gt; 
&gt; These braces shouldn&apos;t be necessary.

I&apos;ll delete them.

&gt; &gt; Source/WebCore/testing/InternalSettings.cpp:494
&gt; &gt; +void InternalSettings::setTimeWithoutMouseMovementBeforeHidingControls(double time, ExceptionCode&amp; ec)
&gt; &gt; +{
&gt; &gt; +    InternalSettingsGuardForSettings();
&gt; &gt; +    settings()-&gt;setTimeWithoutMouseMovementBeforeHidingControls(time);
&gt; &gt; +}
&gt; 
&gt; Should InternalSettings also save and restore the auto-hide time so one test doesn&apos;t change it for others?

Probably. :)  I&apos;ll upload a new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846977</commentid>
    <comment_count>8</comment_count>
      <attachid>191339</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-03-04 16:13:03 -0800</bug_when>
    <thetext>Created attachment 191339
Patch

Added code to InternalSettings::Backup which will restore the original mouse movement timeout.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846981</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-04 16:18:18 -0800</bug_when>
    <thetext>Attachment 191339 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/fullscreen/video-cursor-auto-hide-expected.txt&apos;, u&apos;LayoutTests/fullscreen/video-cursor-auto-hide.html&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/css/CSSComputedStyleDeclaration.cpp&apos;, u&apos;Source/WebCore/css/CSSParser.cpp&apos;, u&apos;Source/WebCore/css/CSSPrimitiveValueMappings.h&apos;, u&apos;Source/WebCore/css/CSSProperty.cpp&apos;, u&apos;Source/WebCore/css/CSSPropertyNames.in&apos;, u&apos;Source/WebCore/css/CSSValueKeywords.in&apos;, u&apos;Source/WebCore/css/StyleBuilder.cpp&apos;, u&apos;Source/WebCore/css/StyleResolver.cpp&apos;, u&apos;Source/WebCore/css/fullscreen.css&apos;, u&apos;Source/WebCore/html/shadow/MediaControls.cpp&apos;, u&apos;Source/WebCore/page/EventHandler.cpp&apos;, u&apos;Source/WebCore/page/EventHandler.h&apos;, u&apos;Source/WebCore/page/FrameView.h&apos;, u&apos;Source/WebCore/page/Settings.cpp&apos;, u&apos;Source/WebCore/page/Settings.h&apos;, u&apos;Source/WebCore/rendering/RenderTheme.h&apos;, u&apos;Source/WebCore/rendering/style/RenderStyle.h&apos;, u&apos;Source/WebCore/rendering/style/RenderStyleConstants.h&apos;, u&apos;Source/WebCore/testing/InternalSettings.cpp&apos;, u&apos;Source/WebCore/testing/InternalSettings.h&apos;, u&apos;Source/WebCore/testing/InternalSettings.idl&apos;]&quot; exit_code: 1
Source/WebCore/rendering/style/RenderStyleConstants.h:422:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Source/WebCore/rendering/style/RenderStyleConstants.h:423:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Source/WebCore/rendering/style/RenderStyle.h:192:  _cursor_visibility_style is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
Total errors found: 3 in 24 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>846990</commentid>
    <comment_count>10</comment_count>
      <attachid>191341</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-03-04 16:25:48 -0800</bug_when>
    <thetext>Created attachment 191341
Patch

&apos;The braces remain&apos; was the name of my high-school band.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846999</commentid>
    <comment_count>11</comment_count>
      <attachid>191339</attachid>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2013-03-04 16:33:56 -0800</bug_when>
    <thetext>Comment on attachment 191339
Patch

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

It seems like this CSS property could be set on any element instead of just a video. Is that okay?

&gt; Source/WebCore/css/CSSComputedStyleDeclaration.cpp:1847
&gt; +        case CSSPropertyWebkitCursorVisibility: {

I don&apos;t think these braces are needed.

&gt;&gt; Source/WebCore/rendering/style/RenderStyle.h:192
&gt;&gt; +        unsigned _cursor_visibility_style : 1; // ECursorVisibility
&gt; 
&gt; _cursor_visibility_style is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]

The underscore thing, though it matches _cursor_style, does seem like it is probably from another era of style guidelines. I would change this to honor the StyleBot&apos;s wishes unless the underscore thing is really the new hotness.

&gt; Source/WebCore/rendering/style/RenderStyleConstants.h:421
&gt; +enum ECursorVisibility {

Starting an enum with an E is also pretty old school. I&apos;d just call this CursorVisibility instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847003</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-04 16:36:23 -0800</bug_when>
    <thetext>Attachment 191341 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/fullscreen/video-cursor-auto-hide-expected.txt&apos;, u&apos;LayoutTests/fullscreen/video-cursor-auto-hide.html&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/css/CSSComputedStyleDeclaration.cpp&apos;, u&apos;Source/WebCore/css/CSSParser.cpp&apos;, u&apos;Source/WebCore/css/CSSPrimitiveValueMappings.h&apos;, u&apos;Source/WebCore/css/CSSProperty.cpp&apos;, u&apos;Source/WebCore/css/CSSPropertyNames.in&apos;, u&apos;Source/WebCore/css/CSSValueKeywords.in&apos;, u&apos;Source/WebCore/css/StyleBuilder.cpp&apos;, u&apos;Source/WebCore/css/StyleResolver.cpp&apos;, u&apos;Source/WebCore/css/fullscreen.css&apos;, u&apos;Source/WebCore/html/shadow/MediaControls.cpp&apos;, u&apos;Source/WebCore/page/EventHandler.cpp&apos;, u&apos;Source/WebCore/page/EventHandler.h&apos;, u&apos;Source/WebCore/page/FrameView.h&apos;, u&apos;Source/WebCore/page/Settings.cpp&apos;, u&apos;Source/WebCore/page/Settings.h&apos;, u&apos;Source/WebCore/rendering/RenderTheme.h&apos;, u&apos;Source/WebCore/rendering/style/RenderStyle.h&apos;, u&apos;Source/WebCore/rendering/style/RenderStyleConstants.h&apos;, u&apos;Source/WebCore/testing/InternalSettings.cpp&apos;, u&apos;Source/WebCore/testing/InternalSettings.h&apos;, u&apos;Source/WebCore/testing/InternalSettings.idl&apos;]&quot; exit_code: 1
Source/WebCore/rendering/style/RenderStyleConstants.h:422:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Source/WebCore/rendering/style/RenderStyleConstants.h:423:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Source/WebCore/rendering/style/RenderStyle.h:192:  _cursor_visibility_style is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
Total errors found: 3 in 24 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>847024</commentid>
    <comment_count>13</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-03-04 16:48:31 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 191339 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=191339&amp;action=review
&gt; 
&gt; It seems like this CSS property could be set on any element instead of just a video. Is that okay?

Yeah.  It genuinely seems useful for non-&lt;video&gt; cases; video games, video-like overlays, &lt;canvas&gt;, etc.

&gt; &gt; Source/WebCore/css/CSSComputedStyleDeclaration.cpp:1847
&gt; &gt; +        case CSSPropertyWebkitCursorVisibility: {
&gt; 
&gt; I don&apos;t think these braces are needed.

Indeed they&apos;re not. (See band name joke above.)

&gt; &gt;&gt; Source/WebCore/rendering/style/RenderStyle.h:192
&gt; &gt;&gt; +        unsigned _cursor_visibility_style : 1; // ECursorVisibility
&gt; &gt; 
&gt; &gt; _cursor_visibility_style is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
&gt; 
&gt; The underscore thing, though it matches _cursor_style, does seem like it is probably from another era of style guidelines. I would change this to honor the StyleBot&apos;s wishes unless the underscore thing is really the new hotness.

I will honor StyleBot.

&gt; &gt; Source/WebCore/rendering/style/RenderStyleConstants.h:421
&gt; &gt; +enum ECursorVisibility {
&gt; 
&gt; Starting an enum with an E is also pretty old school. I&apos;d just call this CursorVisibility instead.

I hear it&apos;s coming back though.  Like jellies!  (I&apos;ll rename it)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847031</commentid>
    <comment_count>14</comment_count>
      <attachid>191354</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-03-04 16:52:14 -0800</bug_when>
    <thetext>Created attachment 191354
Patch

Renamed: ECursorVisibility -&gt; CursorVisibility, _cursor_visibility_style -&gt; m_cursorVisibility.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847039</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-04 16:57:07 -0800</bug_when>
    <thetext>Attachment 191354 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/fullscreen/video-cursor-auto-hide-expected.txt&apos;, u&apos;LayoutTests/fullscreen/video-cursor-auto-hide.html&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/css/CSSComputedStyleDeclaration.cpp&apos;, u&apos;Source/WebCore/css/CSSParser.cpp&apos;, u&apos;Source/WebCore/css/CSSPrimitiveValueMappings.h&apos;, u&apos;Source/WebCore/css/CSSProperty.cpp&apos;, u&apos;Source/WebCore/css/CSSPropertyNames.in&apos;, u&apos;Source/WebCore/css/CSSValueKeywords.in&apos;, u&apos;Source/WebCore/css/StyleBuilder.cpp&apos;, u&apos;Source/WebCore/css/StyleResolver.cpp&apos;, u&apos;Source/WebCore/css/fullscreen.css&apos;, u&apos;Source/WebCore/html/shadow/MediaControls.cpp&apos;, u&apos;Source/WebCore/page/EventHandler.cpp&apos;, u&apos;Source/WebCore/page/EventHandler.h&apos;, u&apos;Source/WebCore/page/FrameView.h&apos;, u&apos;Source/WebCore/page/Settings.cpp&apos;, u&apos;Source/WebCore/page/Settings.h&apos;, u&apos;Source/WebCore/rendering/RenderTheme.h&apos;, u&apos;Source/WebCore/rendering/style/RenderStyle.h&apos;, u&apos;Source/WebCore/rendering/style/RenderStyleConstants.h&apos;, u&apos;Source/WebCore/testing/InternalSettings.cpp&apos;, u&apos;Source/WebCore/testing/InternalSettings.h&apos;, u&apos;Source/WebCore/testing/InternalSettings.idl&apos;]&quot; exit_code: 1
Source/WebCore/rendering/style/RenderStyleConstants.h:422:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Source/WebCore/rendering/style/RenderStyleConstants.h:423:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Total errors found: 2 in 24 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>847154</commentid>
    <comment_count>16</comment_count>
      <attachid>191371</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-03-04 18:20:46 -0800</bug_when>
    <thetext>Created attachment 191371
Patch

Wrapped implementation in ENABLE(CURSOR_VISIBILITY) checks, enabled on mac.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847163</commentid>
    <comment_count>17</comment_count>
      <attachid>191373</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-03-04 18:40:48 -0800</bug_when>
    <thetext>Created attachment 191373
Patch

Rebaselined.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847165</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-04 18:44:25 -0800</bug_when>
    <thetext>Attachment 191373 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/fullscreen/video-cursor-auto-hide-expected.txt&apos;, u&apos;LayoutTests/fullscreen/video-cursor-auto-hide.html&apos;, u&apos;LayoutTests/platform/chromium/TestExpectations&apos;, u&apos;LayoutTests/platform/efl/TestExpectations&apos;, u&apos;LayoutTests/platform/gtk/TestExpectations&apos;, u&apos;LayoutTests/platform/qt/TestExpectations&apos;, u&apos;Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig&apos;, u&apos;Source/WTF/ChangeLog&apos;, u&apos;Source/WTF/wtf/FeatureDefines.h&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/Configurations/FeatureDefines.xcconfig&apos;, u&apos;Source/WebCore/css/CSSComputedStyleDeclaration.cpp&apos;, u&apos;Source/WebCore/css/CSSParser.cpp&apos;, u&apos;Source/WebCore/css/CSSPrimitiveValueMappings.h&apos;, u&apos;Source/WebCore/css/CSSProperty.cpp&apos;, u&apos;Source/WebCore/css/CSSPropertyNames.in&apos;, u&apos;Source/WebCore/css/CSSValueKeywords.in&apos;, u&apos;Source/WebCore/css/StyleBuilder.cpp&apos;, u&apos;Source/WebCore/css/StyleResolver.cpp&apos;, u&apos;Source/WebCore/css/fullscreen.css&apos;, u&apos;Source/WebCore/html/shadow/MediaControls.cpp&apos;, u&apos;Source/WebCore/page/EventHandler.cpp&apos;, u&apos;Source/WebCore/page/EventHandler.h&apos;, u&apos;Source/WebCore/page/FeatureObserver.h&apos;, u&apos;Source/WebCore/page/FrameView.h&apos;, u&apos;Source/WebCore/page/Settings.cpp&apos;, u&apos;Source/WebCore/page/Settings.h&apos;, u&apos;Source/WebCore/rendering/RenderTheme.h&apos;, u&apos;Source/WebCore/rendering/style/RenderStyle.h&apos;, u&apos;Source/WebCore/rendering/style/RenderStyleConstants.h&apos;, u&apos;Source/WebCore/testing/InternalSettings.cpp&apos;, u&apos;Source/WebCore/testing/InternalSettings.h&apos;, u&apos;Source/WebCore/testing/InternalSettings.idl&apos;, u&apos;Source/WebKit/ChangeLog&apos;, u&apos;Source/WebKit/WebKit.vcxproj/FeatureDefines.props&apos;, u&apos;Source/WebKit/mac/ChangeLog&apos;, u&apos;Source/WebKit/mac/Configurations/FeatureDefines.xcconfig&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit2/Configurations/FeatureDefines.xcconfig&apos;]&quot; exit_code: 1
Source/WebCore/rendering/style/RenderStyleConstants.h:423:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Source/WebCore/rendering/style/RenderStyleConstants.h:424:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Total errors found: 2 in 39 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>848245</commentid>
    <comment_count>19</comment_count>
      <attachid>191373</attachid>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2013-03-05 16:41:09 -0800</bug_when>
    <thetext>Comment on attachment 191373
Patch

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

&gt; Source/WebCore/page/EventHandler.cpp:75
&gt; +#include &quot;RenderTheme.h&quot;

Do you need this?

&gt; Source/WebCore/rendering/style/RenderStyleConstants.h:422
&gt; +enum CursorVisibility {

I agree with StyleBot here!! So, CursorVisibilityAuto and CursorVisibilityAutoHide.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848256</commentid>
    <comment_count>20</comment_count>
      <attachid>191373</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-03-05 16:50:51 -0800</bug_when>
    <thetext>Comment on attachment 191373
Patch

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

&gt;&gt; Source/WebCore/page/EventHandler.cpp:75
&gt;&gt; +#include &quot;RenderTheme.h&quot;
&gt; 
&gt; Do you need this?

Ah! this is left over from when timeWithoutMouseMovementBeforeHidingControls() was accessed through RenderTheme rather than Settings. I&apos;ll delete it.

&gt;&gt; Source/WebCore/rendering/style/RenderStyleConstants.h:422
&gt;&gt; +enum CursorVisibility {
&gt; 
&gt; I agree with StyleBot here!! So, CursorVisibilityAuto and CursorVisibilityAutoHide.

I live to serve StyleBot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849438</commentid>
    <comment_count>21</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-03-06 16:30:06 -0800</bug_when>
    <thetext>Committed r145003: &lt;http://trac.webkit.org/changeset/145003&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1376831</commentid>
    <comment_count>22</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2017-12-01 09:04:34 -0800</bug_when>
    <thetext>This caused https://bugs.webkit.org/show_bug.cgi?id=180247.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184089</attachid>
            <date>2013-01-22 17:20:14 -0800</date>
            <delta_ts>2013-01-23 12:21:44 -0800</delta_ts>
            <desc>WIP</desc>
            <filename>bug-107601-20130122171708.patch</filename>
            <type>text/plain</type>
            <size>8195</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNDQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCmluZGV4
IDYwZGMwZDY1NjlkYTEyZjlhYWZjMTQ3Y2Q0MTNlNzQ4MWY1NjZhZGIuLmQ0NmI1M2NjYmNjYzcy
YTAwYmY3NWI3NWZhNmNlODNlZWM3NDk4NzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCkBA
IC0xOTY4LDcgKzE5NjgsNyBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VWYWx1ZShDU1NQcm9wZXJ0
eUlEIHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKICAgICAgICAgICAgIH0gZWxzZSBpZiAoaW5RdWlya3NNb2RlKCkgJiYgdmFsdWUtPmlk
ID09IENTU1ZhbHVlSGFuZCkgLy8gTVNJRSA1IGNvbXBhdGliaWxpdHkgOi8KICAgICAgICAgICAg
ICAgICBsaXN0LT5hcHBlbmQoY3NzVmFsdWVQb29sKCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKENT
U1ZhbHVlUG9pbnRlcikpOwotICAgICAgICAgICAgZWxzZSBpZiAoKHZhbHVlLT5pZCA+PSBDU1NW
YWx1ZUF1dG8gJiYgdmFsdWUtPmlkIDw9IENTU1ZhbHVlV2Via2l0R3JhYmJpbmcpIHx8IHZhbHVl
LT5pZCA9PSBDU1NWYWx1ZUNvcHkgfHwgdmFsdWUtPmlkID09IENTU1ZhbHVlTm9uZSkKKyAgICAg
ICAgICAgIGVsc2UgaWYgKCh2YWx1ZS0+aWQgPj0gQ1NTVmFsdWVBdXRvICYmIHZhbHVlLT5pZCA8
PSBDU1NWYWx1ZVdlYmtpdEF1dG9IaWRlKSB8fCB2YWx1ZS0+aWQgPT0gQ1NTVmFsdWVDb3B5IHx8
IHZhbHVlLT5pZCA9PSBDU1NWYWx1ZU5vbmUpCiAgICAgICAgICAgICAgICAgbGlzdC0+YXBwZW5k
KGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZSh2YWx1ZS0+aWQpKTsKICAgICAg
ICAgICAgIG1fdmFsdWVMaXN0LT5uZXh0KCk7CiAgICAgICAgICAgICBwYXJzZWRWYWx1ZSA9IGxp
c3QucmVsZWFzZSgpOwpAQCAtMTk3OCw3ICsxOTc4LDcgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNl
VmFsdWUoQ1NTUHJvcGVydHlJRCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KQogICAgICAgICAgICAg
aWYgKGluUXVpcmtzTW9kZSgpICYmIHZhbHVlLT5pZCA9PSBDU1NWYWx1ZUhhbmQpIHsgLy8gTVNJ
RSA1IGNvbXBhdGliaWxpdHkgOi8KICAgICAgICAgICAgICAgICBpZCA9IENTU1ZhbHVlUG9pbnRl
cjsKICAgICAgICAgICAgICAgICB2YWxpZFByaW1pdGl2ZSA9IHRydWU7Ci0gICAgICAgICAgICB9
IGVsc2UgaWYgKCh2YWx1ZS0+aWQgPj0gQ1NTVmFsdWVBdXRvICYmIHZhbHVlLT5pZCA8PSBDU1NW
YWx1ZVdlYmtpdEdyYWJiaW5nKSB8fCB2YWx1ZS0+aWQgPT0gQ1NTVmFsdWVDb3B5IHx8IHZhbHVl
LT5pZCA9PSBDU1NWYWx1ZU5vbmUpCisgICAgICAgICAgICB9IGVsc2UgaWYgKCh2YWx1ZS0+aWQg
Pj0gQ1NTVmFsdWVBdXRvICYmIHZhbHVlLT5pZCA8PSBDU1NWYWx1ZVdlYmtpdEF1dG9IaWRlKSB8
fCB2YWx1ZS0+aWQgPT0gQ1NTVmFsdWVDb3B5IHx8IHZhbHVlLT5pZCA9PSBDU1NWYWx1ZU5vbmUp
CiAgICAgICAgICAgICAgICAgdmFsaWRQcmltaXRpdmUgPSB0cnVlOwogICAgICAgICB9IGVsc2Ug
ewogICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAppbmRleCAyZjZmOGQ4YzM1Yzc5YmRjYjYw
MTBiYWYxMTU2YzE4MGM1MjQ2ZDBjLi4wYWFjMjE5ZjlmOWJmMzFmMGY4NTZlYWVmODY3NDY2YzRm
OGE1MzNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVN
YXBwaW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBp
bmdzLmgKQEAgLTExMTQsNiArMTExNCw5IEBAIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2
ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShFQ3Vyc29yIGUpCiAgICAgICAgIGNhc2UgQ1VSU09S
X1dFQktJVF9HUkFCQklORzoKICAgICAgICAgICAgIG1fdmFsdWUuaWRlbnQgPSBDU1NWYWx1ZVdl
YmtpdEdyYWJiaW5nOwogICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQ1VSU09SX1dF
QktJVF9BVVRPX0hJREU6CisgICAgICAgICAgICBtX3ZhbHVlLmlkZW50ID0gQ1NTVmFsdWVXZWJr
aXRBdXRvSGlkZTsKKyAgICAgICAgICAgIGJyZWFrOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgppbmRleCA3NTkyNmY2MjdhMzdmMjA2ZjExNGYxNmE3Nzcy
OWU4ZmQ5MzZlODBiLi5hNjI4NGExZTU3NWZhNTY1MTdjM2JiMzYwZjE0MzNjYzZlMGNhYzQ4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgpAQCAtMzc1LDYgKzM3NSw3IEBA
IGhlbHAKIGFsbC1zY3JvbGwKIC13ZWJraXQtZ3JhYgogLXdlYmtpdC1ncmFiYmluZworLXdlYmtp
dC1hdXRvLWhpZGUKIC8vIG5vbmUKIC8vCiAvLyBDU1NfUFJPUF9ESVJFQ1RJT046CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvZnVsbHNjcmVlbi5jc3MgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvZnVsbHNjcmVlbi5jc3MKaW5kZXggYjkxZjZiY2ZiMDExYWMyNjE3NjFmMjQzMzcyNDUyYTEz
Yjg5YzViOS4uMmExOGZlNDc1YzgyODY2MWQxYTNkNTk1ODcwODBjZGMxNzU3NDI5ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL2Z1bGxzY3JlZW4uY3NzCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9mdWxsc2NyZWVuLmNzcwpAQCAtMzEsNiArMzEsMTAgQEAgdmlkZW86LXdlYmtpdC1m
dWxsLXNjcmVlbiwgYXVkaW86LXdlYmtpdC1mdWxsLXNjcmVlbiB7CiAgICAgZGlzcGxheTogYmxv
Y2sgIWltcG9ydGFudDsKIH0KIAorOi13ZWJraXQtZnVsbC1zY3JlZW4gdmlkZW86aG92ZXIgewor
ICAgIGN1cnNvcjotd2Via2l0LWF1dG8taGlkZTsKK30KKwogaW1nOi13ZWJraXQtZnVsbC1zY3Jl
ZW4gewogICAgIHdpZHRoOiBhdXRvOwogICAgIGhlaWdodDogMTAwJTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RXZlbnRIYW5kbGVyLmNwcAppbmRleCAwZTRhNGEzN2ViMTFhMmJjOTJmMWJjOTZhMWYzZDYxNTUy
NGMzOWMyLi5jNjMyODg1NTJjYWYyZTdlYjMyNDBmODUzOWJlMTlmZDZhM2VhNDVkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCkBAIC03MSw2ICs3MSw3IEBACiAjaW5jbHVkZSAi
UmVuZGVyRnJhbWVTZXQuaCIKICNpbmNsdWRlICJSZW5kZXJMYXllci5oIgogI2luY2x1ZGUgIlJl
bmRlclRleHRDb250cm9sU2luZ2xlTGluZS5oIgorI2luY2x1ZGUgIlJlbmRlclRoZW1lLmgiCiAj
aW5jbHVkZSAiUmVuZGVyVmlldy5oIgogI2luY2x1ZGUgIlJlbmRlcldpZGdldC5oIgogI2luY2x1
ZGUgIlNjcm9sbEFuaW1hdG9yLmgiCkBAIC0zNDcsNiArMzQ4LDcgQEAgRXZlbnRIYW5kbGVyOjpF
dmVudEhhbmRsZXIoRnJhbWUqIGZyYW1lKQogICAgICwgbV9iYXNlRXZlbnRUeXBlKFBsYXRmb3Jt
RXZlbnQ6Ok5vVHlwZSkKICAgICAsIG1fZGlkU3RhcnREcmFnKGZhbHNlKQogICAgICwgbV9kaWRM
b25nUHJlc3NJbnZva2VDb250ZXh0TWVudShmYWxzZSkKKyAgICAsIG1fYXV0b0hpZGVDdXJzb3JU
aW1lcih0aGlzLCAmRXZlbnRIYW5kbGVyOjphdXRvSGlkZUN1cnNvclRpbWVyRmlyZWQpCiB7CiB9
CiAKQEAgLTM2Nyw2ICszNjksNyBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6Y2xlYXIoKQogewogICAg
IG1faG92ZXJUaW1lci5zdG9wKCk7CiAgICAgbV9mYWtlTW91c2VNb3ZlRXZlbnRUaW1lci5zdG9w
KCk7CisgICAgbV9hdXRvSGlkZUN1cnNvclRpbWVyLnN0b3AoKTsKICAgICBtX3Jlc2l6ZUxheWVy
ID0gMDsKICAgICBtX25vZGVVbmRlck1vdXNlID0gMDsKICAgICBtX2xhc3ROb2RlVW5kZXJNb3Vz
ZSA9IDA7CkBAIC0xMjU0LDYgKzEyNTcsMTEgQEAgT3B0aW9uYWxDdXJzb3IgRXZlbnRIYW5kbGVy
OjpzZWxlY3RDdXJzb3IoY29uc3QgTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cyYgZXYKICAg
ICBib29sIGhvcml6b250YWxUZXh0ID0gIXN0eWxlIHx8IHN0eWxlLT5pc0hvcml6b250YWxXcml0
aW5nTW9kZSgpOwogICAgIGNvbnN0IEN1cnNvciYgaUJlYW0gPSBob3Jpem9udGFsVGV4dCA/IGlC
ZWFtQ3Vyc29yKCkgOiB2ZXJ0aWNhbFRleHRDdXJzb3IoKTsKIAorICAgIGlmIChzdHlsZSAmJiBz
dHlsZS0+Y3Vyc29yKCkgPT0gQ1VSU09SX1dFQktJVF9BVVRPX0hJREUpCisgICAgICAgIG1fYXV0
b0hpZGVDdXJzb3JUaW1lci5zdGFydE9uZVNob3QocGFnZS0+dGhlbWUoKS0+dGltZVdpdGhvdXRN
b3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMoKSk7CisgICAgZWxzZQorICAgICAgICBt
X2F1dG9IaWRlQ3Vyc29yVGltZXIuc3RvcCgpOworCiAgICAgLy8gRHVyaW5nIHNlbGVjdGlvbiwg
dXNlIGFuIEktYmVhbSBubyBtYXR0ZXIgd2hhdCB3ZSdyZSBvdmVyLgogICAgIC8vIElmIGEgZHJh
ZyBtYXkgYmUgc3RhcnRpbmcgb3Igd2UncmUgY2FwdHVyaW5nIG1vdXNlIGV2ZW50cyBmb3IgYSBw
YXJ0aWN1bGFyIG5vZGUsIGRvbid0IHRyZWF0IHRoaXMgYXMgYSBzZWxlY3Rpb24uCiAgICAgaWYg
KG1fbW91c2VQcmVzc2VkICYmIG1fbW91c2VEb3duTWF5U3RhcnRTZWxlY3QKQEAgLTEzMTEsNyAr
MTMxOSw5IEBAIE9wdGlvbmFsQ3Vyc29yIEV2ZW50SGFuZGxlcjo6c2VsZWN0Q3Vyc29yKGNvbnN0
IE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMmIGV2CiAgICAgfQogCiAgICAgc3dpdGNoIChz
dHlsZSA/IHN0eWxlLT5jdXJzb3IoKSA6IENVUlNPUl9BVVRPKSB7Ci0gICAgY2FzZSBDVVJTT1Jf
QVVUTzogeworICAgIGNhc2UgQ1VSU09SX0FVVE86CisgICAgY2FzZSBDVVJTT1JfV0VCS0lUX0FV
VE9fSElERToKKyAgICB7CiAgICAgICAgIGJvb2wgZWRpdGFibGUgPSAobm9kZSAmJiBub2RlLT5y
ZW5kZXJlcklzRWRpdGFibGUoKSk7CiAKICAgICAgICAgaWYgKHVzZUhhbmRDdXJzb3Iobm9kZSwg
ZXZlbnQuaXNPdmVyTGluaygpLCBldmVudC5ldmVudCgpLnNoaWZ0S2V5KCkpKQpAQCAtMTQwMiw2
ICsxNDEyLDE1IEBAIE9wdGlvbmFsQ3Vyc29yIEV2ZW50SGFuZGxlcjo6c2VsZWN0Q3Vyc29yKGNv
bnN0IE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMmIGV2CiAgICAgcmV0dXJuIHBvaW50ZXJD
dXJzb3IoKTsKIH0KIAordm9pZCBFdmVudEhhbmRsZXI6OmF1dG9IaWRlQ3Vyc29yVGltZXJGaXJl
ZChUaW1lcjxFdmVudEhhbmRsZXI+KiB0aW1lcikKK3sKKyAgICBBU1NFUlRfVU5VU0VEKHRpbWVy
LCB0aW1lciA9PSAmbV9hdXRvSGlkZUN1cnNvclRpbWVyKTsKKyAgICBtX2N1cnJlbnRNb3VzZUN1
cnNvciA9IG5vbmVDdXJzb3IoKTsKKyAgICBGcmFtZVZpZXcqIHZpZXcgPSBtX2ZyYW1lLT52aWV3
KCk7CisgICAgaWYgKHZpZXcgJiYgdmlldy0+aXNBY3RpdmUoKSkKKyAgICAgICAgdmlldy0+c2V0
Q3Vyc29yKG1fY3VycmVudE1vdXNlQ3Vyc29yKTsKK30KKwogc3RhdGljIExheW91dFBvaW50IGRv
Y3VtZW50UG9pbnRGb3JXaW5kb3dQb2ludChGcmFtZSogZnJhbWUsIGNvbnN0IEludFBvaW50JiB3
aW5kb3dQb2ludCkKIHsKICAgICBGcmFtZVZpZXcqIHZpZXcgPSBmcmFtZS0+dmlldygpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKaW5kZXggM2I4MzYwMjI1YjU4ZTI2NWE1NWViNzhkOTAx
ZTc3YzRkM2I0NGVmOS4uYjBmYjhjZDgxZmE1MjJhY2VhZGVjMjFjOTY1YzZjZmFmNTljYThjMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCkBAIC0zODQsNiArMzg0LDggQEAgcHJpdmF0
ZToKIAogICAgIHZvaWQgc2V0TGFzdEtub3duTW91c2VQb3NpdGlvbihjb25zdCBQbGF0Zm9ybU1v
dXNlRXZlbnQmKTsKIAorICAgIHZvaWQgYXV0b0hpZGVDdXJzb3JUaW1lckZpcmVkKFRpbWVyPEV2
ZW50SGFuZGxlcj4qKTsKKwogICAgIEZyYW1lKiBtX2ZyYW1lOwogCiAgICAgYm9vbCBtX21vdXNl
UHJlc3NlZDsKQEAgLTQ3OCw2ICs0ODAsOCBAQCBwcml2YXRlOgogICAgIFBsYXRmb3JtRXZlbnQ6
OlR5cGUgbV9iYXNlRXZlbnRUeXBlOwogICAgIGJvb2wgbV9kaWRTdGFydERyYWc7CiAgICAgYm9v
bCBtX2RpZExvbmdQcmVzc0ludm9rZUNvbnRleHRNZW51OworCisgICAgVGltZXI8RXZlbnRIYW5k
bGVyPiBtX2F1dG9IaWRlQ3Vyc29yVGltZXI7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZVZpZXcuaAppbmRleCBjN2Q4NzdlYjRmYTNmNGQwMjY0NzcxMGMxNDNi
ODJiN2I3Y2YyNWJlLi4yNWRjYjc5Yzg5YjQxZDQ2OWE5ZmU1MzhlNjkyNDNmNTdiYmU4ODM3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKQEAgLTM5MCw2ICszOTAsOCBAQCBwdWJsaWM6CiAgICAg
dm9pZCBzZXRJbml0aWFsVmlld3BvcnRTaXplKGNvbnN0IEludFNpemUmIHNpemUpIHsgbV9pbml0
aWFsVmlld3BvcnRTaXplID0gc2l6ZTsgfQogI2VuZGlmCiAKKyAgICB2aXJ0dWFsIGJvb2wgaXNB
Y3RpdmUoKSBjb25zdCBPVkVSUklERTsKKwogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgYm9vbCBz
Y3JvbGxDb250ZW50c0Zhc3RQYXRoKGNvbnN0IEludFNpemUmIHNjcm9sbERlbHRhLCBjb25zdCBJ
bnRSZWN0JiByZWN0VG9TY3JvbGwsIGNvbnN0IEludFJlY3QmIGNsaXBSZWN0KTsKICAgICB2aXJ0
dWFsIHZvaWQgc2Nyb2xsQ29udGVudHNTbG93UGF0aChjb25zdCBJbnRSZWN0JiB1cGRhdGVSZWN0
KTsKQEAgLTQzOSw3ICs0NDEsNiBAQCBwcml2YXRlOgogCiAgICAgLy8gU2Nyb2xsYWJsZUFyZWEg
aW50ZXJmYWNlCiAgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVTY3JvbGxiYXJSZWN0KFNjcm9s
bGJhciosIGNvbnN0IEludFJlY3QmKSBPVkVSUklERTsKLSAgICB2aXJ0dWFsIGJvb2wgaXNBY3Rp
dmUoKSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgZ2V0VGlja21hcmtzKFZlY3Rv
cjxJbnRSZWN0PiYpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxUbyhj
b25zdCBJbnRTaXplJikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHNldFZpc2libGVTY3Jv
bGxlclRodW1iUmVjdChjb25zdCBJbnRSZWN0JikgT1ZFUlJJREU7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCmluZGV4IGU3
YzEwOGY0ODJiMmUzYzE5ODVkZGE5YmQwNzA3MDhmNzk5OTIyZGIuLmI4Y2YwYjYxZDZhMTBlMTQy
Njk1ODJjZDAyMzdjYjBmMzJjMjM5MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCkBAIC00MTIsNiArNDEyLDcgQEAg
ZW51bSBFQ3Vyc29yIHsKICAgICBDVVJTT1JfQUxMX1NDUk9MTCwKICAgICBDVVJTT1JfV0VCS0lU
X0dSQUIsCiAgICAgQ1VSU09SX1dFQktJVF9HUkFCQklORywKKyAgICBDVVJTT1JfV0VCS0lUX0FV
VE9fSElERSwKIAogICAgIC8vIFRoZSBmb2xsb3dpbmcgYXJlIGhhbmRsZWQgYXMgZXhjZXB0aW9u
cyBzbyBkb24ndCBuZWVkIHRvIG1hdGNoLgogICAgIENVUlNPUl9DT1BZLAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184281</attachid>
            <date>2013-01-23 12:21:45 -0800</date>
            <delta_ts>2013-02-22 16:40:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107601-20130123121838.patch</filename>
            <type>text/plain</type>
            <size>20408</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNDQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmU2MWQ0M2UwYWYzNjRl
YTI0Mzg3NzRmN2UxNGU4NWIzNTVlNTcyZi4uYWQ5M2Y4NTQ2ZTc2NzVhNjgxMGZjYTE2YWZlMDg2
MjcwZmQzMzU4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYzIEBACisyMDEzLTAxLTIzICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIERlZmF1bHQgbW91c2UgY3Vy
c29yIGJlaGF2aW9yIHNob3VsZCBiZSBhdXRvLWhpZGUgZm9yIGZ1bGwgc2NyZWVuIHZpZGVvIHdp
dGggY3VzdG9tIGNvbnRyb2xzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDc2MDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUZXN0OiBmdWxsc2NyZWVuL3ZpZGVvLWN1cnNvci1hdXRvLWhpZGUuaHRtbAor
CisgICAgICAgIFRvIGZhY2lsaXRhdGUgYXV0b21hdGljYWxseSBoaWRpbmcgdGhlIG1vdXNlIGN1
cnNvciBhZnRlciBhIGNlcnRhaW4gYW1vdW50IG9mIGlkbGUgbW91c2UgdGltZSwKKyAgICAgICAg
YWRkIGEgbmV3IENTUyB2YWx1ZSBmb3IgY3Vyc29yOiwgYW5kIGhhbmRsZSB0aGF0IGN1cnNvciB2
YWx1ZSBpbnNpZGUgb2YgRXZlbnRIYW5kbGVyLiBXaGVuIHRoYXQKKyAgICAgICAgdmFsdWUgaXMg
cHJlc2VudCwgdGhlIEV2ZW50SGFuZGxlciB3aWxsIHN0YXJ0IGEgdGltZXIgd2hpY2gsIHdoZW4g
ZmlyZWQsIHdpbGwgc2V0IHRoZSB2aWV3J3MKKyAgICAgICAgY3Vyc29yIHRvIHRoZSBOb25lIGN1
cnNvci4gU3Vic2VxdWVudCBtb3VzZSBtb3ZlcyB3aWxsIGVpdGhlciBjYW5jZWwgdGhlIHRpbWVy
LCBvciByZXNldCB0aGUKKyAgICAgICAgYXV0by1oaWRlIHRpbWVyLgorCisgICAgICAgIEFkZCBh
IG5ldyBDU1MgY3Vyc29yIHZhbHVlLCAnLXdlYmtpdC1hdXRvLWhpZGUnOgorICAgICAgICAqIGNz
cy9DU1NQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZVZhbHVl
KToKKyAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKToKKyAgICAgICAg
KiBjc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbjoKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVu
ZGVyU3R5bGVDb25zdGFudHMuaDoKKworICAgICAgICBBZGQgYSBydWxlIGZvciB2aWRlbyBkZXNj
ZW5kYW50cyBvZiBmdWxsIHNjcmVlbiBlbGVtZW50cyB0byBhdXRvLWhpZGUgdGhlIGN1cnNvciBv
biBob3ZlcjoKKyAgICAgICAgKiBjc3MvZnVsbHNjcmVlbi5jc3M6CisgICAgICAgICg6LXdlYmtp
dC1mdWxsLXNjcmVlbiB2aWRlbzpob3Zlcik6CisKKyAgICAgICAgQWRkIGEgbmV3IHRpbWVyLCBt
X2F1dG9IaWRlQ3Vyc29yVGltZXIsIHRvIGNvbnRyb2wgcmVzZXR0aW5nIHRoZSB2aWV3J3MgY3Vy
c29yIHRvIE5vbmUgYWZ0ZXIKKyAgICAgICAgZW5vdWdoIG1vdXNlIGlkbGUgdGltZSBoYXMgcGFz
c2VkLgorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkV2ZW50SGFuZGxlcjo6RXZlbnRIYW5kbGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFu
ZGxlcjo6fkV2ZW50SGFuZGxlcik6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmNs
ZWFyKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6c2VsZWN0Q3Vyc29yKToKKyAg
ICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6c3RhcnRBdXRvSGlkZUN1cnNvclRpbWVyKToK
KyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6Y2FuY2VsQXV0b0hpZGVDdXJzb3JUaW1l
cik6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmF1dG9IaWRlQ3Vyc29yVGltZXJG
aXJlZCk6CisgICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIuaDoKKworICAgICAgICBNYWtlIEZy
YW1lVmlldzo6aXNBY3RpdmUoKSBhIHB1YmxpYyBmdW5jdGlvbiAobGlrZSBpdCBpcyBpbiBpdHMg
c3VwZXJjbGFzcykuCisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuaDoKKyAgICAgICAgKEZyYW1l
Vmlldyk6CisKKyAgICAgICAgTW92ZSB0aGUgZGVmaW5pdGlvbiBmb3IgdGltZVdpdGhvdXRNb3Vz
ZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMgZnJvbSBwYWdlLT50aGVtZSgpCisgICAgICAg
IHRvIHBhZ2UtPnNldHRpbmdzKCkgYW5kIGFsbG93IHRoYXQgc2V0dGluZyB0byBiZSBvdmVycmlk
ZGVuIGluIEludGVybmFsU2V0dGluZ3MgZm9yIAorICAgICAgICB0ZXN0aW5nIHB1cnBvc2VzOgor
ICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6
OlNldHRpbmdzKToKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmg6CisgICAgICAgIChXZWJDb3Jl
OjpTZXR0aW5nczo6c2V0VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJv
bHMpOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnRpbWVXaXRob3V0TW91c2VNb3ZlbWVu
dEJlZm9yZUhpZGluZ0NvbnRyb2xzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWUu
aDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3Jl
SGlkaW5nQ29udHJvbHMpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oOgor
ICAgICAgICAoSW50ZXJuYWxTZXR0aW5ncyk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNl
dHRpbmdzLmlkbDoKKyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbHM6OnN0YXJ0SGlkZUZ1bGxzY3JlZW5Db250cm9s
c1RpbWVyKToKKwogMjAxMy0wMS0yMiAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgog
CiAgICAgICAgIEJhY2tncm91bmRIVE1MUGFyc2VyIHNob3VsZCBzaW11bGF0ZSB0cmVlIGJ1aWxk
aW5nIGluIGEgc2VwYXJhdGUgZnVuY3Rpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKaW5kZXgg
NjBkYzBkNjU2OWRhMTJmOWFhZmMxNDdjZDQxM2U3NDgxZjU2NmFkYi4uZDQ2YjUzY2NiY2NjNzJh
MDBiZjc1Yjc1ZmE2Y2U4M2VlYzc0OTg3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1BhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKQEAg
LTE5NjgsNyArMTk2OCw3IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVZhbHVlKENTU1Byb3BlcnR5
SUQgcHJvcElkLCBib29sIGltcG9ydGFudCkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOwogICAgICAgICAgICAgfSBlbHNlIGlmIChpblF1aXJrc01vZGUoKSAmJiB2YWx1ZS0+aWQg
PT0gQ1NTVmFsdWVIYW5kKSAvLyBNU0lFIDUgY29tcGF0aWJpbGl0eSA6LwogICAgICAgICAgICAg
ICAgIGxpc3QtPmFwcGVuZChjc3NWYWx1ZVBvb2woKS5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NT
VmFsdWVQb2ludGVyKSk7Ci0gICAgICAgICAgICBlbHNlIGlmICgodmFsdWUtPmlkID49IENTU1Zh
bHVlQXV0byAmJiB2YWx1ZS0+aWQgPD0gQ1NTVmFsdWVXZWJraXRHcmFiYmluZykgfHwgdmFsdWUt
PmlkID09IENTU1ZhbHVlQ29weSB8fCB2YWx1ZS0+aWQgPT0gQ1NTVmFsdWVOb25lKQorICAgICAg
ICAgICAgZWxzZSBpZiAoKHZhbHVlLT5pZCA+PSBDU1NWYWx1ZUF1dG8gJiYgdmFsdWUtPmlkIDw9
IENTU1ZhbHVlV2Via2l0QXV0b0hpZGUpIHx8IHZhbHVlLT5pZCA9PSBDU1NWYWx1ZUNvcHkgfHwg
dmFsdWUtPmlkID09IENTU1ZhbHVlTm9uZSkKICAgICAgICAgICAgICAgICBsaXN0LT5hcHBlbmQo
Y3NzVmFsdWVQb29sKCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKHZhbHVlLT5pZCkpOwogICAgICAg
ICAgICAgbV92YWx1ZUxpc3QtPm5leHQoKTsKICAgICAgICAgICAgIHBhcnNlZFZhbHVlID0gbGlz
dC5yZWxlYXNlKCk7CkBAIC0xOTc4LDcgKzE5NzgsNyBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VW
YWx1ZShDU1NQcm9wZXJ0eUlEIHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpCiAgICAgICAgICAgICBp
ZiAoaW5RdWlya3NNb2RlKCkgJiYgdmFsdWUtPmlkID09IENTU1ZhbHVlSGFuZCkgeyAvLyBNU0lF
IDUgY29tcGF0aWJpbGl0eSA6LwogICAgICAgICAgICAgICAgIGlkID0gQ1NTVmFsdWVQb2ludGVy
OwogICAgICAgICAgICAgICAgIHZhbGlkUHJpbWl0aXZlID0gdHJ1ZTsKLSAgICAgICAgICAgIH0g
ZWxzZSBpZiAoKHZhbHVlLT5pZCA+PSBDU1NWYWx1ZUF1dG8gJiYgdmFsdWUtPmlkIDw9IENTU1Zh
bHVlV2Via2l0R3JhYmJpbmcpIHx8IHZhbHVlLT5pZCA9PSBDU1NWYWx1ZUNvcHkgfHwgdmFsdWUt
PmlkID09IENTU1ZhbHVlTm9uZSkKKyAgICAgICAgICAgIH0gZWxzZSBpZiAoKHZhbHVlLT5pZCA+
PSBDU1NWYWx1ZUF1dG8gJiYgdmFsdWUtPmlkIDw9IENTU1ZhbHVlV2Via2l0QXV0b0hpZGUpIHx8
IHZhbHVlLT5pZCA9PSBDU1NWYWx1ZUNvcHkgfHwgdmFsdWUtPmlkID09IENTU1ZhbHVlTm9uZSkK
ICAgICAgICAgICAgICAgICB2YWxpZFByaW1pdGl2ZSA9IHRydWU7CiAgICAgICAgIH0gZWxzZSB7
CiAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCmluZGV4IDJmNmY4ZDhjMzVjNzliZGNiNjAx
MGJhZjExNTZjMTgwYzUyNDZkMGMuLjBhYWMyMTlmOWY5YmYzMWYwZjg1NmVhZWY4Njc0NjZjNGY4
YTUzM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1h
cHBpbmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGlu
Z3MuaApAQCAtMTExNCw2ICsxMTE0LDkgQEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZl
VmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKEVDdXJzb3IgZSkKICAgICAgICAgY2FzZSBDVVJTT1Jf
V0VCS0lUX0dSQUJCSU5HOgogICAgICAgICAgICAgbV92YWx1ZS5pZGVudCA9IENTU1ZhbHVlV2Vi
a2l0R3JhYmJpbmc7CiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBDVVJTT1JfV0VC
S0lUX0FVVE9fSElERToKKyAgICAgICAgICAgIG1fdmFsdWUuaWRlbnQgPSBDU1NWYWx1ZVdlYmtp
dEF1dG9IaWRlOworICAgICAgICAgICAgYnJlYWs7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NWYWx1ZUtleXdvcmRzLmluCmluZGV4IDc1OTI2ZjYyN2EzN2YyMDZmMTE0ZjE2YTc3NzI5
ZThmZDkzNmU4MGIuLmE2Mjg0YTFlNTc1ZmE1NjUxN2MzYmIzNjBmMTQzM2NjNmUwY2FjNDggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCkBAIC0zNzUsNiArMzc1LDcgQEAg
aGVscAogYWxsLXNjcm9sbAogLXdlYmtpdC1ncmFiCiAtd2Via2l0LWdyYWJiaW5nCistd2Via2l0
LWF1dG8taGlkZQogLy8gbm9uZQogLy8KIC8vIENTU19QUk9QX0RJUkVDVElPTjoKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9mdWxsc2NyZWVuLmNzcyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9mdWxsc2NyZWVuLmNzcwppbmRleCBiOTFmNmJjZmIwMTFhYzI2MTc2MWYyNDMzNzI0NTJhMTNi
ODljNWI5Li4yYTE4ZmU0NzVjODI4NjYxZDFhM2Q1OTU4NzA4MGNkYzE3NTc0MjlmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvZnVsbHNjcmVlbi5jc3MKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL2Z1bGxzY3JlZW4uY3NzCkBAIC0zMSw2ICszMSwxMCBAQCB2aWRlbzotd2Via2l0LWZ1
bGwtc2NyZWVuLCBhdWRpbzotd2Via2l0LWZ1bGwtc2NyZWVuIHsKICAgICBkaXNwbGF5OiBibG9j
ayAhaW1wb3J0YW50OwogfQogCis6LXdlYmtpdC1mdWxsLXNjcmVlbiB2aWRlbzpob3ZlciB7Cisg
ICAgY3Vyc29yOi13ZWJraXQtYXV0by1oaWRlOworfQorCiBpbWc6LXdlYmtpdC1mdWxsLXNjcmVl
biB7CiAgICAgd2lkdGg6IGF1dG87CiAgICAgaGVpZ2h0OiAxMDAlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9scy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzLmNwcAppbmRleCA5NDliZThkN2E5MjY5YmQ3NDMz
MTgxNjIwNzFkMTA2MThhOWZkODVlLi5lYjJmZGZjYmI2ZjVlMmFhNDM0MGQyYmMxODk5Nzk0ZjI0
OTVlMjQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRy
b2xzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzLmNw
cApAQCAtMjksNiArMjksOCBAQAogI2lmIEVOQUJMRShWSURFTykKICNpbmNsdWRlICJNZWRpYUNv
bnRyb2xzLmgiCiAKKyNpbmNsdWRlICJTZXR0aW5ncy5oIgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIE1lZGlhQ29udHJvbHM6Ok1lZGlhQ29udHJvbHMoRG9jdW1lbnQqIGRvY3VtZW50KQpAQCAt
MzQzLDcgKzM0NSw3IEBAIHZvaWQgTWVkaWFDb250cm9sczo6c3RhcnRIaWRlRnVsbHNjcmVlbkNv
bnRyb2xzVGltZXIoKQogICAgIGlmICghcGFnZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9o
aWRlRnVsbHNjcmVlbkNvbnRyb2xzVGltZXIuc3RhcnRPbmVTaG90KHBhZ2UtPnRoZW1lKCktPnRp
bWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKCkpOworICAgIG1faGlk
ZUZ1bGxzY3JlZW5Db250cm9sc1RpbWVyLnN0YXJ0T25lU2hvdChwYWdlLT5zZXR0aW5ncygpLT50
aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scygpKTsKIH0KIAogdm9p
ZCBNZWRpYUNvbnRyb2xzOjpzdG9wSGlkZUZ1bGxzY3JlZW5Db250cm9sc1RpbWVyKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAppbmRleCAwZTRhNGEzN2ViMTFhMmJjOTJmMWJjOTZh
MWYzZDYxNTUyNGMzOWMyLi4zN2M3YzY3ODM3Yzg5MzU4MjRjNTg2ZmZjOTRkMmJlNzc3YmM0ZTZk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCkBAIC03MSw2ICs3MSw3IEBACiAj
aW5jbHVkZSAiUmVuZGVyRnJhbWVTZXQuaCIKICNpbmNsdWRlICJSZW5kZXJMYXllci5oIgogI2lu
Y2x1ZGUgIlJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5oIgorI2luY2x1ZGUgIlJlbmRlclRo
ZW1lLmgiCiAjaW5jbHVkZSAiUmVuZGVyVmlldy5oIgogI2luY2x1ZGUgIlJlbmRlcldpZGdldC5o
IgogI2luY2x1ZGUgIlNjcm9sbEFuaW1hdG9yLmgiCkBAIC0zNDcsMTIgKzM0OCwxNCBAQCBFdmVu
dEhhbmRsZXI6OkV2ZW50SGFuZGxlcihGcmFtZSogZnJhbWUpCiAgICAgLCBtX2Jhc2VFdmVudFR5
cGUoUGxhdGZvcm1FdmVudDo6Tm9UeXBlKQogICAgICwgbV9kaWRTdGFydERyYWcoZmFsc2UpCiAg
ICAgLCBtX2RpZExvbmdQcmVzc0ludm9rZUNvbnRleHRNZW51KGZhbHNlKQorICAgICwgbV9hdXRv
SGlkZUN1cnNvclRpbWVyKHRoaXMsICZFdmVudEhhbmRsZXI6OmF1dG9IaWRlQ3Vyc29yVGltZXJG
aXJlZCkKIHsKIH0KIAogRXZlbnRIYW5kbGVyOjp+RXZlbnRIYW5kbGVyKCkKIHsKICAgICBBU1NF
UlQoIW1fZmFrZU1vdXNlTW92ZUV2ZW50VGltZXIuaXNBY3RpdmUoKSk7CisgICAgQVNTRVJUKCFt
X2F1dG9IaWRlQ3Vyc29yVGltZXIuaXNBY3RpdmUoKSk7CiB9CiAgICAgCiAjaWYgRU5BQkxFKERS
QUdfU1VQUE9SVCkKQEAgLTM2Nyw2ICszNzAsNyBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6Y2xlYXIo
KQogewogICAgIG1faG92ZXJUaW1lci5zdG9wKCk7CiAgICAgbV9mYWtlTW91c2VNb3ZlRXZlbnRU
aW1lci5zdG9wKCk7CisgICAgY2FuY2VsQXV0b0hpZGVDdXJzb3JUaW1lcigpOwogICAgIG1fcmVz
aXplTGF5ZXIgPSAwOwogICAgIG1fbm9kZVVuZGVyTW91c2UgPSAwOwogICAgIG1fbGFzdE5vZGVV
bmRlck1vdXNlID0gMDsKQEAgLTEyNTQsNiArMTI1OCwxMSBAQCBPcHRpb25hbEN1cnNvciBFdmVu
dEhhbmRsZXI6OnNlbGVjdEN1cnNvcihjb25zdCBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRz
JiBldgogICAgIGJvb2wgaG9yaXpvbnRhbFRleHQgPSAhc3R5bGUgfHwgc3R5bGUtPmlzSG9yaXpv
bnRhbFdyaXRpbmdNb2RlKCk7CiAgICAgY29uc3QgQ3Vyc29yJiBpQmVhbSA9IGhvcml6b250YWxU
ZXh0ID8gaUJlYW1DdXJzb3IoKSA6IHZlcnRpY2FsVGV4dEN1cnNvcigpOwogCisgICAgaWYgKHN0
eWxlICYmIHN0eWxlLT5jdXJzb3IoKSA9PSBDVVJTT1JfV0VCS0lUX0FVVE9fSElERSkKKyAgICAg
ICAgc3RhcnRBdXRvSGlkZUN1cnNvclRpbWVyKCk7CisgICAgZWxzZQorICAgICAgICBjYW5jZWxB
dXRvSGlkZUN1cnNvclRpbWVyKCk7CisKICAgICAvLyBEdXJpbmcgc2VsZWN0aW9uLCB1c2UgYW4g
SS1iZWFtIG5vIG1hdHRlciB3aGF0IHdlJ3JlIG92ZXIuCiAgICAgLy8gSWYgYSBkcmFnIG1heSBi
ZSBzdGFydGluZyBvciB3ZSdyZSBjYXB0dXJpbmcgbW91c2UgZXZlbnRzIGZvciBhIHBhcnRpY3Vs
YXIgbm9kZSwgZG9uJ3QgdHJlYXQgdGhpcyBhcyBhIHNlbGVjdGlvbi4KICAgICBpZiAobV9tb3Vz
ZVByZXNzZWQgJiYgbV9tb3VzZURvd25NYXlTdGFydFNlbGVjdApAQCAtMTMxMSw2ICsxMzIwLDcg
QEAgT3B0aW9uYWxDdXJzb3IgRXZlbnRIYW5kbGVyOjpzZWxlY3RDdXJzb3IoY29uc3QgTW91c2VF
dmVudFdpdGhIaXRUZXN0UmVzdWx0cyYgZXYKICAgICB9CiAKICAgICBzd2l0Y2ggKHN0eWxlID8g
c3R5bGUtPmN1cnNvcigpIDogQ1VSU09SX0FVVE8pIHsKKyAgICBjYXNlIENVUlNPUl9XRUJLSVRf
QVVUT19ISURFOgogICAgIGNhc2UgQ1VSU09SX0FVVE86IHsKICAgICAgICAgYm9vbCBlZGl0YWJs
ZSA9IChub2RlICYmIG5vZGUtPnJlbmRlcmVySXNFZGl0YWJsZSgpKTsKIApAQCAtMTQwMiw2ICsx
NDEyLDM1IEBAIE9wdGlvbmFsQ3Vyc29yIEV2ZW50SGFuZGxlcjo6c2VsZWN0Q3Vyc29yKGNvbnN0
IE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMmIGV2CiAgICAgcmV0dXJuIHBvaW50ZXJDdXJz
b3IoKTsKIH0KIAordm9pZCBFdmVudEhhbmRsZXI6OnN0YXJ0QXV0b0hpZGVDdXJzb3JUaW1lcigp
Cit7CisgICAgUGFnZSogcGFnZSA9IG1fZnJhbWUtPnBhZ2UoKTsKKyAgICBpZiAoIXBhZ2UpCisg
ICAgICAgIHJldHVybjsKKworICAgIG1fYXV0b0hpZGVDdXJzb3JUaW1lci5zdGFydE9uZVNob3Qo
cGFnZS0+c2V0dGluZ3MoKS0+dGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29u
dHJvbHMoKSk7CisKKyAgICAvLyBUaGUgZmFrZSBtb3VzZSBtb3ZlIGV2ZW50IHNjcmV3cyB1cCB0
aGUgYXV0by1oaWRlIGZlYXR1cmUgKGJ5IHJlc2V0dGluZyB0aGUgYXV0by1oaWRlIHRpbWVyKQor
ICAgIC8vIHNvIGNhbmNlbCBhbnkgcGVuZGluZyBmYWtlIG1vdXNlIG1vdmVzLgorICAgIGlmICht
X2Zha2VNb3VzZU1vdmVFdmVudFRpbWVyLmlzQWN0aXZlKCkpCisgICAgICAgIG1fZmFrZU1vdXNl
TW92ZUV2ZW50VGltZXIuc3RvcCgpOworfQorCit2b2lkIEV2ZW50SGFuZGxlcjo6Y2FuY2VsQXV0
b0hpZGVDdXJzb3JUaW1lcigpCit7CisgICAgaWYgKG1fYXV0b0hpZGVDdXJzb3JUaW1lci5pc0Fj
dGl2ZSgpKQorICAgICAgICBtX2F1dG9IaWRlQ3Vyc29yVGltZXIuc3RvcCgpOworfQorCit2b2lk
IEV2ZW50SGFuZGxlcjo6YXV0b0hpZGVDdXJzb3JUaW1lckZpcmVkKFRpbWVyPEV2ZW50SGFuZGxl
cj4qIHRpbWVyKQoreworICAgIEFTU0VSVF9VTlVTRUQodGltZXIsIHRpbWVyID09ICZtX2F1dG9I
aWRlQ3Vyc29yVGltZXIpOworICAgIG1fY3VycmVudE1vdXNlQ3Vyc29yID0gbm9uZUN1cnNvcigp
OworICAgIEZyYW1lVmlldyogdmlldyA9IG1fZnJhbWUtPnZpZXcoKTsKKyAgICBpZiAodmlldyAm
JiB2aWV3LT5pc0FjdGl2ZSgpKQorICAgICAgICB2aWV3LT5zZXRDdXJzb3IobV9jdXJyZW50TW91
c2VDdXJzb3IpOworfQorCiBzdGF0aWMgTGF5b3V0UG9pbnQgZG9jdW1lbnRQb2ludEZvcldpbmRv
d1BvaW50KEZyYW1lKiBmcmFtZSwgY29uc3QgSW50UG9pbnQmIHdpbmRvd1BvaW50KQogewogICAg
IEZyYW1lVmlldyogdmlldyA9IGZyYW1lLT52aWV3KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0V2ZW50SGFuZGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRs
ZXIuaAppbmRleCAzYjgzNjAyMjViNThlMjY1YTU1ZWI3OGQ5MDFlNzdjNGQzYjQ0ZWY5Li5lNDRj
ZTk1OGY2MDdiNjhmZGM2NWVjMWQzM2NiZWVkYzJhNGQzZDM0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZl
bnRIYW5kbGVyLmgKQEAgLTM4NCw2ICszODQsMTAgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgc2V0
TGFzdEtub3duTW91c2VQb3NpdGlvbihjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmKTsKIAorICAg
IHZvaWQgc3RhcnRBdXRvSGlkZUN1cnNvclRpbWVyKCk7CisgICAgdm9pZCBjYW5jZWxBdXRvSGlk
ZUN1cnNvclRpbWVyKCk7CisgICAgdm9pZCBhdXRvSGlkZUN1cnNvclRpbWVyRmlyZWQoVGltZXI8
RXZlbnRIYW5kbGVyPiopOworCiAgICAgRnJhbWUqIG1fZnJhbWU7CiAKICAgICBib29sIG1fbW91
c2VQcmVzc2VkOwpAQCAtNDc4LDYgKzQ4Miw4IEBAIHByaXZhdGU6CiAgICAgUGxhdGZvcm1FdmVu
dDo6VHlwZSBtX2Jhc2VFdmVudFR5cGU7CiAgICAgYm9vbCBtX2RpZFN0YXJ0RHJhZzsKICAgICBi
b29sIG1fZGlkTG9uZ1ByZXNzSW52b2tlQ29udGV4dE1lbnU7CisKKyAgICBUaW1lcjxFdmVudEhh
bmRsZXI+IG1fYXV0b0hpZGVDdXJzb3JUaW1lcjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCmluZGV4IGM3ZDg3N2ViNGZhM2Y0ZDAyNjQ3NzEwYzE0
M2I4MmI3YjdjZjI1YmUuLjI1ZGNiNzljODliNDFkNDY5YTlmZTUzOGU2OTI0M2Y1N2JiZTg4Mzcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaApAQCAtMzkwLDYgKzM5MCw4IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHNldEluaXRpYWxWaWV3cG9ydFNpemUoY29uc3QgSW50U2l6ZSYgc2l6ZSkgeyBtX2lu
aXRpYWxWaWV3cG9ydFNpemUgPSBzaXplOyB9CiAjZW5kaWYKIAorICAgIHZpcnR1YWwgYm9vbCBp
c0FjdGl2ZSgpIGNvbnN0IE9WRVJSSURFOworCiBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCBib29s
IHNjcm9sbENvbnRlbnRzRmFzdFBhdGgoY29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEsIGNvbnN0
IEludFJlY3QmIHJlY3RUb1Njcm9sbCwgY29uc3QgSW50UmVjdCYgY2xpcFJlY3QpOwogICAgIHZp
cnR1YWwgdm9pZCBzY3JvbGxDb250ZW50c1Nsb3dQYXRoKGNvbnN0IEludFJlY3QmIHVwZGF0ZVJl
Y3QpOwpAQCAtNDM5LDcgKzQ0MSw2IEBAIHByaXZhdGU6CiAKICAgICAvLyBTY3JvbGxhYmxlQXJl
YSBpbnRlcmZhY2UKICAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZVNjcm9sbGJhclJlY3QoU2Ny
b2xsYmFyKiwgY29uc3QgSW50UmVjdCYpIE9WRVJSSURFOwotICAgIHZpcnR1YWwgYm9vbCBpc0Fj
dGl2ZSgpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBnZXRUaWNrbWFya3MoVmVj
dG9yPEludFJlY3Q+JikgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHNjcm9sbFRv
KGNvbnN0IEludFNpemUmKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0VmlzaWJsZVNj
cm9sbGVyVGh1bWJSZWN0KGNvbnN0IEludFJlY3QmKSBPVkVSUklERTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0
aW5ncy5jcHAKaW5kZXggN2ZmN2E5NjA1Yjg2YzNkOWJkY2VhMDU4YzQ2MjAxMDQ0Zjk5NDcxZi4u
ZGM0NzRiZTNjYTI1NTM3MGE2ZTcyNTAyZDJiZTliODlhZjVjMzA3YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9T
ZXR0aW5ncy5jcHAKQEAgLTE5Miw2ICsxOTIsNyBAQCBTZXR0aW5nczo6U2V0dGluZ3MoUGFnZSog
cGFnZSkKICNlbmRpZgogICAgICwgbV9zY3JvbGxpbmdQZXJmb3JtYW5jZUxvZ2dpbmdFbmFibGVk
KGZhbHNlKQogICAgICwgbV9hZ2dyZXNzaXZlVGlsZVJldGVudGlvbkVuYWJsZWQoZmFsc2UpCisg
ICAgLCBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKDMpCiAg
ICAgLCBtX3NldEltYWdlTG9hZGluZ1NldHRpbmdzVGltZXIodGhpcywgJlNldHRpbmdzOjppbWFn
ZUxvYWRpbmdTZXR0aW5nc1RpbWVyRmlyZWQpCiB7CiAgICAgLy8gQSBGcmFtZSBtYXkgbm90IGhh
dmUgYmVlbiBjcmVhdGVkIHlldCwgc28gd2UgaW5pdGlhbGl6ZSB0aGUgQXRvbWljU3RyaW5nCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLmgKaW5kZXggMWFhYTI4NmE5ZTMwMjkyYzE4ZmUxMTllMjhiN2YwMDM3
OTJiMmE3My4uNTQ0YzU5ODI5ZmYwZDQwZThiZGQ2MmQzM2RkY2E1Y2RmYTI0ZmIwYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvU2V0dGluZ3MuaApAQCAtMzAzLDYgKzMwMyw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgc3RhdGljIGJvb2wgc2hvdWxkUmVzcGVjdFByaW9yaXR5SW5DU1NBdHRyaWJ1dGVT
ZXR0ZXJzKCk7CiAjZW5kaWYKIAorICAgICAgICB2b2lkIHNldFRpbWVXaXRob3V0TW91c2VNb3Zl
bWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKGRvdWJsZSB0aW1lKSB7IG1fdGltZVdpdGhvdXRNb3Vz
ZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMgPSB0aW1lOyB9CisgICAgICAgIGRvdWJsZSB0
aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scygpIGNvbnN0IHsgcmV0
dXJuIG1fdGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHM7IH0KKwog
ICAgIHByaXZhdGU6CiAgICAgICAgIGV4cGxpY2l0IFNldHRpbmdzKFBhZ2UqKTsKIApAQCAtMzcy
LDYgKzM3NSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgYm9vbCBtX3Njcm9sbGlu
Z1BlcmZvcm1hbmNlTG9nZ2luZ0VuYWJsZWQgOiAxOwogICAgICAgICBib29sIG1fYWdncmVzc2l2
ZVRpbGVSZXRlbnRpb25FbmFibGVkIDogMTsKIAorICAgICAgICBkb3VibGUgbV90aW1lV2l0aG91
dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9sczsKKwogICAgICAgICBUaW1lcjxTZXR0
aW5ncz4gbV9zZXRJbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyOwogICAgICAgICB2b2lkIGltYWdl
TG9hZGluZ1NldHRpbmdzVGltZXJGaXJlZChUaW1lcjxTZXR0aW5ncz4qKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAppbmRleCBiYmI4NmUxOTJlMDA5YzIwNTI5YWNhMTA5
NjRlNDc1N2NjOWRjY2Q4Li42NWNiMzhiMTVlYThlZmQwZDg4ZTE2MWM2Yzk5NzU4NDUxMTlkOTEx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaApAQCAtMjA3LDcgKzIwNyw2
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgdXNlc1ZlcnRpY2FsVm9sdW1lU2xpZGVyKCkg
Y29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgZG91YmxlIG1lZGlhQ29udHJvbHNG
YWRlSW5EdXJhdGlvbigpIHsgcmV0dXJuIDAuMTsgfQogICAgIHZpcnR1YWwgZG91YmxlIG1lZGlh
Q29udHJvbHNGYWRlT3V0RHVyYXRpb24oKSB7IHJldHVybiAwLjM7IH0KLSAgICB2aXJ0dWFsIGRv
dWJsZSB0aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scygpIHsgcmV0
dXJuIDMuMDsgfQogICAgIHZpcnR1YWwgU3RyaW5nIGZvcm1hdE1lZGlhQ29udHJvbHNUaW1lKGZs
b2F0IHRpbWUpIGNvbnN0OwogICAgIHZpcnR1YWwgU3RyaW5nIGZvcm1hdE1lZGlhQ29udHJvbHND
dXJyZW50VGltZShmbG9hdCBjdXJyZW50VGltZSwgZmxvYXQgZHVyYXRpb24pIGNvbnN0OwogICAg
IHZpcnR1YWwgU3RyaW5nIGZvcm1hdE1lZGlhQ29udHJvbHNSZW1haW5pbmdUaW1lKGZsb2F0IGN1
cnJlbnRUaW1lLCBmbG9hdCBkdXJhdGlvbikgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCmluZGV4IGU3YzEwOGY0
ODJiMmUzYzE5ODVkZGE5YmQwNzA3MDhmNzk5OTIyZGIuLmI4Y2YwYjYxZDZhMTBlMTQyNjk1ODJj
ZDAyMzdjYjBmMzJjMjM5MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCkBAIC00MTIsNiArNDEyLDcgQEAgZW51bSBF
Q3Vyc29yIHsKICAgICBDVVJTT1JfQUxMX1NDUk9MTCwKICAgICBDVVJTT1JfV0VCS0lUX0dSQUIs
CiAgICAgQ1VSU09SX1dFQktJVF9HUkFCQklORywKKyAgICBDVVJTT1JfV0VCS0lUX0FVVE9fSElE
RSwKIAogICAgIC8vIFRoZSBmb2xsb3dpbmcgYXJlIGhhbmRsZWQgYXMgZXhjZXB0aW9ucyBzbyBk
b24ndCBuZWVkIHRvIG1hdGNoLgogICAgIENVUlNPUl9DT1BZLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAKaW5kZXggYmYzM2ExNGU0MTRjZTMyNmU2MDQ5YTA0
NjkzODU5MWI3N2VmZGIwYi4uNWYxMTRlYTM2ODUzZmQzNzkyZjU4MWQ0ZmY5NDc2YjY0ZGNjMzAy
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCkBAIC00
NjAsNCArNDYwLDEwIEBAIHZvaWQgSW50ZXJuYWxTZXR0aW5nczo6c2V0SW1hZ2VzRW5hYmxlZChi
b29sIGVuYWJsZWQsIEV4Y2VwdGlvbkNvZGUmIGVjKQogICAgIHNldHRpbmdzKCktPnNldEltYWdl
c0VuYWJsZWQoZW5hYmxlZCk7CiB9CiAKK3ZvaWQgSW50ZXJuYWxTZXR0aW5nczo6c2V0VGltZVdp
dGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMoZG91YmxlIHRpbWUsIEV4Y2Vw
dGlvbkNvZGUmIGVjKQoreworICAgIEludGVybmFsU2V0dGluZ3NHdWFyZEZvclNldHRpbmdzKCk7
CisgICAgc2V0dGluZ3MoKS0+c2V0VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5n
Q29udHJvbHModGltZSk7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxTZXR0aW5ncy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNl
dHRpbmdzLmgKaW5kZXggZWU3NDM5YmJiYjY3OGY5ZTQwNzkwZmMzODQzNDBlNTI1MGE3ZTUwMC4u
ZTdhMTNiYjI5YjFmMDg1MDBlODYxYzFiMjE2NjI2MTU5OTAxNjk4OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKQEAgLTEyMyw2ICsxMjMsNyBAQCBwdWJsaWM6
CiAgICAgdm9pZCBzZXRTdG9yYWdlQmxvY2tpbmdQb2xpY3koY29uc3QgU3RyaW5nJiwgRXhjZXB0
aW9uQ29kZSYpOwogICAgIHZvaWQgc2V0TGFuZ0F0dHJpYnV0ZUF3YXJlRm9ybUNvbnRyb2xVSUVu
YWJsZWQoYm9vbCk7CiAgICAgdm9pZCBzZXRJbWFnZXNFbmFibGVkKGJvb2wgZW5hYmxlZCwgRXhj
ZXB0aW9uQ29kZSYpOworICAgIHZvaWQgc2V0VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3Jl
SGlkaW5nQ29udHJvbHMoZG91YmxlIHRpbWUsIEV4Y2VwdGlvbkNvZGUmKTsKIAogcHJpdmF0ZToK
ICAgICBleHBsaWNpdCBJbnRlcm5hbFNldHRpbmdzKFBhZ2UqKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsCmluZGV4IGNkOGI2ODM4MTJlZTc3NzFiNDJmNGM2
N2RjZGFhZjRkODI5NTNkZjQuLjVlNDRkMTYwMjVjM2FkOTIzNGQ5YmFiNGJmMTU4NDM5YzlmNmFh
NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbApAQCAt
NTgsNCArNTgsNSBAQAogICAgIFtDb25kaXRpb25hbD1WSURFT19UUkFDS10gYm9vbGVhbiBzaG91
bGREaXNwbGF5VHJhY2tLaW5kKGluIERPTVN0cmluZyB0cmFja0tpbmQpIHJhaXNlcyAoRE9NRXhj
ZXB0aW9uKTsKICAgICB2b2lkIHNldFN0b3JhZ2VCbG9ja2luZ1BvbGljeShpbiBET01TdHJpbmcg
cG9saWN5KSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKICAgICB2b2lkIHNldEltYWdlc0VuYWJsZWQo
aW4gYm9vbGVhbiBlbmFibGVkKSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAgICB2b2lkIHNldFRp
bWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKGluIGRvdWJsZSB0aW1l
KSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKIH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggODQ4MDk3MDY0M2FmMTc4ZGEyZjFi
OTBjNmQ5MTJhYTcyZTljOGU1My4uNjI2OTZmODBkZDlkOTQxZWI3N2NlYjkzMGM4MzY2NzlkMzg0
MTJlOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEzLTAxLTIzICBKZXIgTm9ibGUgIDxqZXIu
bm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIERlZmF1bHQgbW91c2UgY3Vyc29yIGJlaGF2aW9y
IHNob3VsZCBiZSBhdXRvLWhpZGUgZm9yIGZ1bGwgc2NyZWVuIHZpZGVvIHdpdGggY3VzdG9tIGNv
bnRyb2xzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDc2MDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IGZ1bGxzY3JlZW4vdmlkZW8tY3Vyc29yLWF1dG8taGlkZS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGZ1bGxzY3JlZW4vdmlkZW8tY3Vyc29yLWF1dG8taGlkZS5odG1sOiBBZGRlZC4K
KwogMjAxMy0wMS0yMiAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+
CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE0MDQzNS4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Z1bGxzY3JlZW4vdmlkZW8tY3Vyc29yLWF1dG8taGlkZS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9mdWxsc2NyZWVuL3ZpZGVvLWN1cnNvci1hdXRvLWhpZGUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjNlYmVmZGUxZDFjMzQ1OWIwNjZmYzNkMzMxNmQzOWFhNzMwODRm
MTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mdWxsc2NyZWVuL3ZpZGVvLWN1cnNv
ci1hdXRvLWhpZGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorVGhpcyB0ZXN0cyB0aGF0
IHRoZSBjdXJzb3IgaGlkZXMgYWZ0ZXIgaG92ZXJpbmcgb3ZlciBhIHZpZGVvIGVsZW1lbnQgaW4g
ZnVsbCBzY3JlZW4gbW9kZS4KKworRVZFTlQod2Via2l0ZnVsbHNjcmVlbmNoYW5nZSkKK0VYUEVD
VEVEICh3aW5kb3cuaW50ZXJuYWxzLmdldEN1cnJlbnRDdXJzb3JJbmZvKGRvY3VtZW50KSA9PSAn
dHlwZT1Qb2ludGVyIGhvdFNwb3Q9MCwwJykgT0sKK0VYUEVDVEVEICh3aW5kb3cuaW50ZXJuYWxz
LmdldEN1cnJlbnRDdXJzb3JJbmZvKGRvY3VtZW50KSA9PSAndHlwZT1Ob25lIGhvdFNwb3Q9MCww
JykgT0sKK0VORCBPRiBURVNUCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Z1bGxzY3JlZW4v
dmlkZW8tY3Vyc29yLWF1dG8taGlkZS5odG1sIGIvTGF5b3V0VGVzdHMvZnVsbHNjcmVlbi92aWRl
by1jdXJzb3ItYXV0by1oaWRlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTc3NjQxZWIxN2FmZTYyMzcyOWM5
MzE0ZDc4Njg0ZGM3NWU3YjBiNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Z1bGxz
Y3JlZW4vdmlkZW8tY3Vyc29yLWF1dG8taGlkZS5odG1sCkBAIC0wLDAgKzEsMzEgQEAKKzxib2R5
PgorICAgIDxwPlRoaXMgdGVzdHMgdGhhdCB0aGUgY3Vyc29yIGhpZGVzIGFmdGVyIGhvdmVyaW5n
IG92ZXIgYSB2aWRlbyBlbGVtZW50IGluIGZ1bGwgc2NyZWVuIG1vZGUuPC9wPgorICAgIDxkaXYg
aWQ9d3JhcHBlcj4KKyAgICAgICAgPHZpZGVvIGlkPSJ2aWRlbyIgd2lkdGg9IjMwMCI+PC92aWRl
bz4KKyAgICA8L2Rpdj4KKyAgICA8c2NyaXB0IHNyYz0iZnVsbC1zY3JlZW4tdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAgdmFyIHdyYXBwZXIgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnd3JhcHBlcicpOworCisgICAgICAgIGZ1bmN0aW9uIGNoZWNrRm9ySGlkZGVu
TW91c2UoKQorICAgICAgICB7CisgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoJ3dpbmRvdy5pbnRl
cm5hbHMuZ2V0Q3VycmVudEN1cnNvckluZm8oZG9jdW1lbnQpJywgJ3R5cGU9Tm9uZSBob3RTcG90
PTAsMCcpOworICAgICAgICAgICAgZW5kVGVzdCgpOworICAgICAgICB9CisKKyAgICAgICAgZnVu
Y3Rpb24gZnVsbHNjcmVlbkNoYW5nZWQoZXZlbnQpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlm
ICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKDApOworICAg
ICAgICAgICAgICAgIHdyYXBwZXJCb3ggPSBpbnRlcm5hbHMuYm91bmRpbmdCb3god3JhcHBlcik7
CisgICAgICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8od3JhcHBlckJveC5sZWZ0
ICsgd3JhcHBlckJveC53aWR0aCAvIDIsIHdyYXBwZXJCb3gudG9wICsgd3JhcHBlckJveC5oZWln
aHQgLyAyKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoJ3dpbmRvdy5pbnRlcm5hbHMu
Z2V0Q3VycmVudEN1cnNvckluZm8oZG9jdW1lbnQpJywgJ3R5cGU9UG9pbnRlciBob3RTcG90PTAs
MCcpOworICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoY2hlY2tGb3JIaWRkZW5Nb3VzZSwgMCk7
CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgbG9nUmVz
dWx0KGZhbHNlLCAid2luZG93LmludGVybmFscyA9PSB1bmRlZmluZWQiKTsKKyAgICAgICAgfQor
ICAgICAgICB3YWl0Rm9yRXZlbnQoZG9jdW1lbnQsICd3ZWJraXRmdWxsc2NyZWVuY2hhbmdlJywg
ZnVsbHNjcmVlbkNoYW5nZWQpOworICAgICAgICBydW5XaXRoS2V5RG93bihmdW5jdGlvbigpe3dy
YXBwZXIud2Via2l0UmVxdWVzdEZ1bGxTY3JlZW4oKX0pOworICAgIDwvc2NyaXB0PgorPC9ib2R5
Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189860</attachid>
            <date>2013-02-22 16:40:45 -0800</date>
            <delta_ts>2013-03-04 16:13:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107601-20130222163704.patch</filename>
            <type>text/plain</type>
            <size>27949</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzODEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjYzNmY5NGNlZjY3ODc1
YTBhOThmMDRlMWI3NmExZjc0YjMzYTk3Zi4uZWZmYjc3N2YxMTk1OGVhYTAxNjc0NzM3MmY5N2Vi
MDA0ZDI1MjMwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcyIEBACisyMDEzLTAyLTIyICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIERlZmF1bHQgbW91c2UgY3Vy
c29yIGJlaGF2aW9yIHNob3VsZCBiZSBhdXRvLWhpZGUgZm9yIGZ1bGwgc2NyZWVuIHZpZGVvIHdp
dGggY3VzdG9tIGNvbnRyb2xzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDc2MDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUZXN0OiBmdWxsc2NyZWVuL3ZpZGVvLWN1cnNvci1hdXRvLWhpZGUuaHRtbAor
CisgICAgICAgIFRvIGZhY2lsaXRhdGUgYXV0b21hdGljYWxseSBoaWRpbmcgdGhlIG1vdXNlIGN1
cnNvciBhZnRlciBhIGNlcnRhaW4gYW1vdW50IG9mIGlkbGUgbW91c2UKKyAgICAgICAgdGltZSwg
YWRkIGEgbmV3IENTUyBwcm9wZXJ0eSAnLXdlYmtpdC1jdXJzb3ItdmlzaWJpbGl0eScsIGFuZCBo
YW5kbGUgdGhhdCB2YWx1ZSBpbnNpZGUgb2YKKyAgICAgICAgRXZlbnRIYW5kbGVyLiBXaGVuIHRo
YXQgdmFsdWUgaXMgcHJlc2VudCwgdGhlIEV2ZW50SGFuZGxlciB3aWxsIHN0YXJ0IGEgdGltZXIg
d2hpY2gsIHdoZW4KKyAgICAgICAgZmlyZWQsIHdpbGwgc2V0IHRoZSB2aWV3J3MgY3Vyc29yIHRv
IHRoZSBOb25lIGN1cnNvci4gU3Vic2VxdWVudCBtb3VzZSBtb3ZlcyB3aWxsIGVpdGhlcgorICAg
ICAgICBjYW5jZWwgdGhlIHRpbWVyLCBvciByZXNldCB0aGUgYXV0by1oaWRlIHRpbWVyLgorCisg
ICAgICAgIEFkZCBhIG5ldyBDU1MgcHJvcGVydHksICctd2Via2l0LWN1cnNvci12aXNpYmlsaXR5
JzoKKyAgICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6Z2V0UHJvcGVydHlDU1NW
YWx1ZSk6CisgICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
U1NQYXJzZXI6OnBhcnNlVmFsdWUpOgorICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1ZU1h
cHBpbmdzLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0
aXZlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJhdG9y
IEVDdXJzb3JWaXNpYmlsaXR5KToKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHkuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHk6OmlzSW5oZXJpdGVkUHJvcGVydHkpOgorICAgICAg
ICAqIGNzcy9DU1NQcm9wZXJ0eU5hbWVzLmluOgorICAgICAgICAqIGNzcy9DU1NWYWx1ZUtleXdv
cmRzLmluOgorICAgICAgICAqIGNzcy9TdHlsZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U3R5bGVCdWlsZGVyOjpTdHlsZUJ1aWxkZXIpOgorICAgICAgICAqIGNzcy9TdHlsZVJlc29s
dmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmVzb2x2ZXI6OmFwcGx5UHJvcGVydHkp
OgorCisgICAgICAgIEFkZCBhIHJ1bGUgZm9yIHZpZGVvIGRlc2NlbmRhbnRzIG9mIGZ1bGwgc2Ny
ZWVuIGVsZW1lbnRzIHRvIGF1dG8taGlkZSB0aGUgY3Vyc29yIG9uIGhvdmVyOgorICAgICAgICAq
IGNzcy9mdWxsc2NyZWVuLmNzczoKKyAgICAgICAgKDotd2Via2l0LWZ1bGwtc2NyZWVuIHZpZGVv
OmhvdmVyKToKKworICAgICAgICBBZGQgYSBuZXcgdGltZXIsIG1fYXV0b0hpZGVDdXJzb3JUaW1l
ciwgdG8gY29udHJvbCByZXNldHRpbmcgdGhlIHZpZXcncyBjdXJzb3IgdG8gTm9uZSBhZnRlcgor
ICAgICAgICBlbm91Z2ggbW91c2UgaWRsZSB0aW1lIGhhcyBwYXNzZWQuCisgICAgICAgICogcGFn
ZS9FdmVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpFdmVu
dEhhbmRsZXIpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjp+RXZlbnRIYW5kbGVy
KToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6Y2xlYXIpOgorICAgICAgICAoV2Vi
Q29yZTo6RXZlbnRIYW5kbGVyOjpzZWxlY3RDdXJzb3IpOgorICAgICAgICAoV2ViQ29yZTo6RXZl
bnRIYW5kbGVyOjpzdGFydEF1dG9IaWRlQ3Vyc29yVGltZXIpOgorICAgICAgICAoV2ViQ29yZTo6
RXZlbnRIYW5kbGVyOjpjYW5jZWxBdXRvSGlkZUN1cnNvclRpbWVyKToKKyAgICAgICAgKFdlYkNv
cmU6OkV2ZW50SGFuZGxlcjo6YXV0b0hpZGVDdXJzb3JUaW1lckZpcmVkKToKKyAgICAgICAgKiBw
YWdlL0V2ZW50SGFuZGxlci5oOgorCisgICAgICAgIE1ha2UgRnJhbWVWaWV3Ojppc0FjdGl2ZSgp
IGEgcHVibGljIGZ1bmN0aW9uIChsaWtlIGl0IGlzIGluIGl0cyBzdXBlcmNsYXNzKS4KKyAgICAg
ICAgKiBwYWdlL0ZyYW1lVmlldy5oOgorICAgICAgICAoRnJhbWVWaWV3KToKKworICAgICAgICBN
b3ZlIHRoZSBkZWZpbml0aW9uIGZvciB0aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRp
bmdDb250cm9scyBmcm9tIHBhZ2UtPnRoZW1lKCkKKyAgICAgICAgdG8gcGFnZS0+c2V0dGluZ3Mo
KSBhbmQgYWxsb3cgdGhhdCBzZXR0aW5nIHRvIGJlIG92ZXJyaWRkZW4gaW4gSW50ZXJuYWxTZXR0
aW5ncyBmb3IgCisgICAgICAgIHRlc3RpbmcgcHVycG9zZXM6CisgICAgICAgICogcGFnZS9TZXR0
aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6U2V0dGluZ3MpOgorICAgICAg
ICAqIHBhZ2UvU2V0dGluZ3MuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRUaW1l
V2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyk6CisgICAgICAgIChXZWJD
b3JlOjpTZXR0aW5nczo6dGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJv
bHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZS5oOgorICAgICAgICAqIHRlc3Rp
bmcvSW50ZXJuYWxTZXR0aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNldHRp
bmdzOjpzZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyk6Cisg
ICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmg6CisgICAgICAgIChJbnRlcm5hbFNl
dHRpbmdzKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsOgorICAgICAg
ICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFDb250cm9sczo6c3RhcnRIaWRlRnVsbHNjcmVlbkNvbnRyb2xzVGltZXIpOgorCiAyMDEzLTAy
LTIyICBNaW4gUWluICA8cWlubWluQGNocm9taXVtLm9yZz4KIAogICAgICAgICBGaXggdGhlIG92
ZXJsYXkgcGxheSBidXR0b24gcG9zaXRpb24gb24gYW5kcm9pZApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAppbmRleCAzMWFkNzM2M2Fi
Y2YyZjg4NGUxMWQwNDgyNmM1ODA2NDA4ZTA4ZDdkLi40ZjQzYzg5MWM3YmRlOTU3M2ZlMDA0NDE0
OThjMjY3N2ViM2IxZTcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0
ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0
ZWRTdHlsZURlY2xhcmF0aW9uLmNwcApAQCAtMjU5LDYgKzI1OSw3IEBAIHN0YXRpYyBjb25zdCBD
U1NQcm9wZXJ0eUlEIGNvbXB1dGVkUHJvcGVydGllc1tdID0gewogICAgIENTU1Byb3BlcnR5V2Vi
a2l0Q29sdW1uUnVsZVdpZHRoLAogICAgIENTU1Byb3BlcnR5V2Via2l0Q29sdW1uU3BhbiwKICAg
ICBDU1NQcm9wZXJ0eVdlYmtpdENvbHVtbldpZHRoLAorICAgIENTU1Byb3BlcnR5V2Via2l0Q3Vy
c29yVmlzaWJpbGl0eSwKICNpZiBFTkFCTEUoREFTSEJPQVJEX1NVUFBPUlQpCiAgICAgQ1NTUHJv
cGVydHlXZWJraXREYXNoYm9hcmRSZWdpb24sCiAjZW5kaWYKQEAgLTE4MzksNiArMTg0MCw5IEBA
IFBhc3NSZWZQdHI8Q1NTVmFsdWU+IENTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6Z2V0UHJv
cGVydHlDU1NWYWx1ZShDU1NQcm9wZXJ0CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICByZXR1
cm4gdmFsdWUucmVsZWFzZSgpOwogICAgICAgICB9CisgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlX
ZWJraXRDdXJzb3JWaXNpYmlsaXR5OiB7CisgICAgICAgICAgICByZXR1cm4gY3NzVmFsdWVQb29s
KCkuY3JlYXRlVmFsdWUoc3R5bGUtPmN1cnNvclZpc2liaWxpdHkoKSk7CisgICAgICAgIH0KICAg
ICAgICAgY2FzZSBDU1NQcm9wZXJ0eURpcmVjdGlvbjoKICAgICAgICAgICAgIHJldHVybiBjc3NW
YWx1ZVBvb2woKS5jcmVhdGVWYWx1ZShzdHlsZS0+ZGlyZWN0aW9uKCkpOwogICAgICAgICBjYXNl
IENTU1Byb3BlcnR5RGlzcGxheToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
YXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKaW5kZXggMDE0YTY2
YmNjZDhmYWEzNWQ0ZTMzOWU2MDI4ZDliMDMzYTczMWJhZS4uZWEyOTVjZjYwOTM3Nzc4MDU0MjFj
MTgwYTRiYzk5ODlkY2U2MmEzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Bh
cnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKQEAgLTIwNjIs
NiArMjA2MiwxMSBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VWYWx1ZShDU1NQcm9wZXJ0eUlEIHBy
b3BJZCwgYm9vbCBpbXBvcnRhbnQpCiAgICAgICAgIGJyZWFrOwogICAgIH0KIAorICAgIGNhc2Ug
Q1NTUHJvcGVydHlXZWJraXRDdXJzb3JWaXNpYmlsaXR5OgorICAgICAgICBpZiAoaWQgPT0gQ1NT
VmFsdWVBdXRvIHx8IGlkID09IENTU1ZhbHVlQXV0b0hpZGUpCisgICAgICAgICAgICB2YWxpZFBy
aW1pdGl2ZSA9IHRydWU7CisgICAgICAgIGJyZWFrOworCiAgICAgY2FzZSBDU1NQcm9wZXJ0eUJh
Y2tncm91bmRBdHRhY2htZW50OgogICAgIGNhc2UgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kQ2xpcDoK
ICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0QmFja2dyb3VuZENsaXA6CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAppbmRleCA1MzJlOTljMjdmZTdk
ODM3ZTgzNjA0Y2NiYmEwYmFhZWZkY2M1Zjk2Li4yZTEwNTU3ZjVlODAxMzFhN2I4MWU4NTQyMzdj
ZjVlY2VmMTM1MDAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZl
VmFsdWVNYXBwaW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1
ZU1hcHBpbmdzLmgKQEAgLTExNjMsNiArMTE2MywzMiBAQCB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQ
cmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgRUN1cnNvcigpIGNvbnN0CiAgICAgcmV0dXJuIHN0YXRp
Y19jYXN0PEVDdXJzb3I+KG1fdmFsdWUuaWRlbnQgLSBDU1NWYWx1ZUF1dG8pOwogfQogCisKK3Rl
bXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShFQ3Vy
c29yVmlzaWJpbGl0eSBlKQorICAgIDogQ1NTVmFsdWUoUHJpbWl0aXZlQ2xhc3MpCit7CisgICAg
bV9wcmltaXRpdmVVbml0VHlwZSA9IENTU19JREVOVDsKKyAgICBzd2l0Y2ggKGUpIHsKKyAgICBj
YXNlIENVUlNPUl9WSVNJQklMSVRZX0FVVE86CisgICAgICAgIG1fdmFsdWUuaWRlbnQgPSBDU1NW
YWx1ZUF1dG87CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ1VSU09SX1ZJU0lCSUxJVFlfQVVU
T19ISURFOgorICAgICAgICBtX3ZhbHVlLmlkZW50ID0gQ1NTVmFsdWVBdXRvSGlkZTsKKyAgICAg
ICAgYnJlYWs7CisgICAgfQorfQorCit0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1
ZTo6b3BlcmF0b3IgRUN1cnNvclZpc2liaWxpdHkoKSBjb25zdAoreworICAgIGlmIChtX3ZhbHVl
LmlkZW50ID09IENTU1ZhbHVlQXV0bykKKyAgICAgICAgcmV0dXJuIENVUlNPUl9WSVNJQklMSVRZ
X0FVVE87CisgICAgaWYgKG1fdmFsdWUuaWRlbnQgPT0gQ1NTVmFsdWVBdXRvSGlkZSkKKyAgICAg
ICAgcmV0dXJuIENVUlNPUl9WSVNJQklMSVRZX0FVVE9fSElERTsKKworICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOworICAgIHJldHVybiBDVVJTT1JfVklTSUJJTElUWV9BVVRPOworfQorCiB0ZW1w
bGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoRURpc3Bs
YXkgZSkKICAgICA6IENTU1ZhbHVlKFByaW1pdGl2ZUNsYXNzKQogewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
cm9wZXJ0eS5jcHAKaW5kZXggM2E0MDJjZmY3NWRmZTM1Y2UyNWJkNTBjODcxN2E1ZTFlNDY1ZDA2
YS4uNGNlZDc4MGU1MGI5MzcwMGZhNzU1ZDU1NDYzNGY5NDZhODkyNDk4NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUHJvcGVydHkuY3BwCkBAIC0zMDIsNiArMzAyLDcgQEAgYm9vbCBDU1NQcm9wZXJ0eTo6
aXNJbmhlcml0ZWRQcm9wZXJ0eShDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQpCiAgICAgY2FzZSBD
U1NQcm9wZXJ0eVdlYmtpdEJvcmRlclZlcnRpY2FsU3BhY2luZzoKICAgICBjYXNlIENTU1Byb3Bl
cnR5V2Via2l0Qm94RGlyZWN0aW9uOgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRDb2xvckNv
cnJlY3Rpb246CisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEN1cnNvclZpc2liaWxpdHk6CiAg
ICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEZvbnRGZWF0dXJlU2V0dGluZ3M6CiAgICAgY2FzZSBD
U1NQcm9wZXJ0eVdlYmtpdEZvbnRLZXJuaW5nOgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRG
b250U21vb3RoaW5nOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5
TmFtZXMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbgppbmRleCBh
YzNmZGU1NjE1YjViMTM5YzhmYWQxNDQ5OTg5NmQ0YWQ3YjY2NmRhLi4zNzQ3ZTIzNTQyNjM1NGQy
ZjQ4YmExZWRkZTlmYTA4OTY3NTc0YTU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUHJvcGVydHlOYW1lcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlO
YW1lcy5pbgpAQCAtMTAwLDYgKzEwMCw3IEBAIGNvbnRlbnQKIGNvdW50ZXItaW5jcmVtZW50CiBj
b3VudGVyLXJlc2V0CiBjdXJzb3IKKy13ZWJraXQtY3Vyc29yLXZpc2liaWxpdHkKIGVtcHR5LWNl
bGxzCiBmbG9hdAogZm9udC1zdHJldGNoCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTVmFsdWVLZXl3b3Jkcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRz
LmluCmluZGV4IDc1OTI2ZjYyN2EzN2YyMDZmMTE0ZjE2YTc3NzI5ZThmZDkzNmU4MGIuLmY4NDAy
YzVjNmIwMGI4ZWY4NDhiZDE1NDBjOThhZWE3ZGE2Mzg0MzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NWYWx1ZUtleXdvcmRzLmluCkBAIC0zNzcsNiArMzc3LDEwIEBAIGFsbC1zY3JvbGwKIC13ZWJr
aXQtZ3JhYmJpbmcKIC8vIG5vbmUKIC8vCisvLyBDU1NfUFJPUF9DVVJTT1JfVklTSUJJTElUWToK
Ky8vIGF1dG8KK2F1dG8taGlkZQorLy8KIC8vIENTU19QUk9QX0RJUkVDVElPTjoKIC8vCiBsdHIK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRlci5jcHAKaW5kZXggMWJiNjEwNGVmOWUyYTY4ZTM3YWFl
MmQxY2M4MGRkMjFiYjQyMjgxZi4uMWNiZDIzMzM4NDU4NjM5NzBhZTE1ZmE5NmJlYmRlNWU4ZmQ5
YzlhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRlci5jcHAKQEAgLTE5ODcsNiArMTk4Nyw3
IEBAIFN0eWxlQnVpbGRlcjo6U3R5bGVCdWlsZGVyKCkKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIo
Q1NTUHJvcGVydHlXZWJraXRDb2x1bW5TcGFuLCBBcHBseVByb3BlcnR5RGVmYXVsdDxDb2x1bW5T
cGFuLCAmUmVuZGVyU3R5bGU6OmNvbHVtblNwYW4sIENvbHVtblNwYW4sICZSZW5kZXJTdHlsZTo6
c2V0Q29sdW1uU3BhbiwgQ29sdW1uU3BhbiwgJlJlbmRlclN0eWxlOjppbml0aWFsQ29sdW1uU3Bh
bj46OmNyZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5
V2Via2l0Q29sdW1uUnVsZVN0eWxlLCBBcHBseVByb3BlcnR5RGVmYXVsdDxFQm9yZGVyU3R5bGUs
ICZSZW5kZXJTdHlsZTo6Y29sdW1uUnVsZVN0eWxlLCBFQm9yZGVyU3R5bGUsICZSZW5kZXJTdHls
ZTo6c2V0Q29sdW1uUnVsZVN0eWxlLCBFQm9yZGVyU3R5bGUsICZSZW5kZXJTdHlsZTo6aW5pdGlh
bEJvcmRlclN0eWxlPjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIo
Q1NTUHJvcGVydHlXZWJraXRDb2x1bW5XaWR0aCwgQXBwbHlQcm9wZXJ0eUF1dG88ZmxvYXQsICZS
ZW5kZXJTdHlsZTo6Y29sdW1uV2lkdGgsICZSZW5kZXJTdHlsZTo6c2V0Q29sdW1uV2lkdGgsICZS
ZW5kZXJTdHlsZTo6aGFzQXV0b0NvbHVtbldpZHRoLCAmUmVuZGVyU3R5bGU6OnNldEhhc0F1dG9D
b2x1bW5XaWR0aCwgQ29tcHV0ZUxlbmd0aD46OmNyZWF0ZUhhbmRsZXIoKSk7CisgICAgc2V0UHJv
cGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0Q3Vyc29yVmlzaWJpbGl0eSwgQXBwbHlQcm9w
ZXJ0eURlZmF1bHQ8RUN1cnNvclZpc2liaWxpdHksICZSZW5kZXJTdHlsZTo6Y3Vyc29yVmlzaWJp
bGl0eSwgRUN1cnNvclZpc2liaWxpdHksICZSZW5kZXJTdHlsZTo6c2V0Q3Vyc29yVmlzaWJpbGl0
eSwgRUN1cnNvclZpc2liaWxpdHksICZSZW5kZXJTdHlsZTo6aW5pdGlhbEN1cnNvclZpc2liaWxp
dHk+OjpjcmVhdGVIYW5kbGVyKCkpOwogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0
eVdlYmtpdEFsaWduQ29udGVudCwgQXBwbHlQcm9wZXJ0eURlZmF1bHQ8RUFsaWduQ29udGVudCwg
JlJlbmRlclN0eWxlOjphbGlnbkNvbnRlbnQsIEVBbGlnbkNvbnRlbnQsICZSZW5kZXJTdHlsZTo6
c2V0QWxpZ25Db250ZW50LCBFQWxpZ25Db250ZW50LCAmUmVuZGVyU3R5bGU6OmluaXRpYWxBbGln
bkNvbnRlbnQ+OjpjcmVhdGVIYW5kbGVyKCkpOwogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQ
cm9wZXJ0eVdlYmtpdEFsaWduSXRlbXMsIEFwcGx5UHJvcGVydHlEZWZhdWx0PEVBbGlnbkl0ZW1z
LCAmUmVuZGVyU3R5bGU6OmFsaWduSXRlbXMsIEVBbGlnbkl0ZW1zLCAmUmVuZGVyU3R5bGU6OnNl
dEFsaWduSXRlbXMsIEVBbGlnbkl0ZW1zLCAmUmVuZGVyU3R5bGU6OmluaXRpYWxBbGlnbkl0ZW1z
Pjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlX
ZWJraXRBbGlnblNlbGYsIEFwcGx5UHJvcGVydHlEZWZhdWx0PEVBbGlnbkl0ZW1zLCAmUmVuZGVy
U3R5bGU6OmFsaWduU2VsZiwgRUFsaWduSXRlbXMsICZSZW5kZXJTdHlsZTo6c2V0QWxpZ25TZWxm
LCBFQWxpZ25JdGVtcywgJlJlbmRlclN0eWxlOjppbml0aWFsQWxpZ25TZWxmPjo6Y3JlYXRlSGFu
ZGxlcigpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAppbmRleCBiZDg1YmY2YmVk
NTJjYWQyNDI5NDM4Y2M3OGM1ZTQzMTg2NmI4ZGIzLi4yN2RlNzMzNjk3ODJkOTQ0N2M4ZTljZWNk
NzQ3OGFlYzc0NDBmYTVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNv
bHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCkBAIC0z
NzMyLDYgKzM3MzIsNyBAQCB2b2lkIFN0eWxlUmVzb2x2ZXI6OmFwcGx5UHJvcGVydHkoU3RhdGUm
IHN0YXRlLCBDU1NQcm9wZXJ0eUlEIGlkLCBDU1NWYWx1ZSogdmFsdQogICAgIGNhc2UgQ1NTUHJv
cGVydHlXZWJraXRDb2x1bW5zOgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRDb2x1bW5TcGFu
OgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRDb2x1bW5XaWR0aDoKKyAgICBjYXNlIENTU1By
b3BlcnR5V2Via2l0Q3Vyc29yVmlzaWJpbGl0eToKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0
QWxpZ25Db250ZW50OgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRBbGlnbkl0ZW1zOgogICAg
IGNhc2UgQ1NTUHJvcGVydHlXZWJraXRBbGlnblNlbGY6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvZnVsbHNjcmVlbi5jc3MgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvZnVsbHNjcmVlbi5j
c3MKaW5kZXggMTI3NjcwYjA3NmU2ZWUzNmY0NzRjZWFjOGI5ZGVlNDY5OWRiMGE4My4uYmU3ZGY1
ODBkYmQ5NWJhMGVhNjZkOGEzODU5Mzg5MjEwODM1ODQ0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL2Z1bGxzY3JlZW4uY3NzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9mdWxsc2Ny
ZWVuLmNzcwpAQCAtMzEsNiArMzEsMTAgQEAgdmlkZW86LXdlYmtpdC1mdWxsLXNjcmVlbiwgYXVk
aW86LXdlYmtpdC1mdWxsLXNjcmVlbiB7CiAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsK
IH0KIAorOi13ZWJraXQtZnVsbC1zY3JlZW4gdmlkZW86aG92ZXIgeworICAgIC13ZWJraXQtY3Vy
c29yLXZpc2liaWxpdHk6YXV0by1oaWRlOworfQorCiBpbWc6LXdlYmtpdC1mdWxsLXNjcmVlbiB7
CiAgICAgd2lkdGg6IGF1dG87CiAgICAgaGVpZ2h0OiAxMDAlOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9scy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzLmNwcAppbmRleCAzODE0ZGVkMTZiMGYwMTQ3ZDJjM2Rj
YzNjNmE3ZDY4ODg4OGY3YmVjLi44ODNhODNhNWY0ODVmYTA3YzQxZTM4NjNjMmJhN2ZlNjM1ODgx
YjEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xz
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzLmNwcApA
QCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIk1lZGlhQ29udHJvbHMuaCIKIAogI2luY2x1ZGUg
IkV4Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5oIgorI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzQ0LDcgKzM0NSw3IEBAIHZvaWQgTWVkaWFDb250cm9s
czo6c3RhcnRIaWRlRnVsbHNjcmVlbkNvbnRyb2xzVGltZXIoKQogICAgIGlmICghcGFnZSkKICAg
ICAgICAgcmV0dXJuOwogCi0gICAgbV9oaWRlRnVsbHNjcmVlbkNvbnRyb2xzVGltZXIuc3RhcnRP
bmVTaG90KHBhZ2UtPnRoZW1lKCktPnRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGlu
Z0NvbnRyb2xzKCkpOworICAgIG1faGlkZUZ1bGxzY3JlZW5Db250cm9sc1RpbWVyLnN0YXJ0T25l
U2hvdChwYWdlLT5zZXR0aW5ncygpLT50aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRp
bmdDb250cm9scygpKTsKIH0KIAogdm9pZCBNZWRpYUNvbnRyb2xzOjpzdG9wSGlkZUZ1bGxzY3Jl
ZW5Db250cm9sc1RpbWVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRI
YW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAppbmRleCA2
YzE1YWM0Zjk5YmI1NjIyNDg2YzMzNmJmMGY0MWQ2M2RjZGIwZjJhLi5mZTY5ZjEwM2Y3MTVkNTdh
NThiMWQxMWU4MTAxOTcwZWViMTJiMjZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0V2ZW50SGFuZGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIu
Y3BwCkBAIC03Miw2ICs3Miw3IEBACiAjaW5jbHVkZSAiUmVuZGVyRnJhbWVTZXQuaCIKICNpbmNs
dWRlICJSZW5kZXJMYXllci5oIgogI2luY2x1ZGUgIlJlbmRlclRleHRDb250cm9sU2luZ2xlTGlu
ZS5oIgorI2luY2x1ZGUgIlJlbmRlclRoZW1lLmgiCiAjaW5jbHVkZSAiUmVuZGVyVmlldy5oIgog
I2luY2x1ZGUgIlJlbmRlcldpZGdldC5oIgogI2luY2x1ZGUgIlNjcm9sbEFuaW1hdG9yLmgiCkBA
IC0zNDksMTIgKzM1MCwxNCBAQCBFdmVudEhhbmRsZXI6OkV2ZW50SGFuZGxlcihGcmFtZSogZnJh
bWUpCiAgICAgLCBtX2Jhc2VFdmVudFR5cGUoUGxhdGZvcm1FdmVudDo6Tm9UeXBlKQogICAgICwg
bV9kaWRTdGFydERyYWcoZmFsc2UpCiAgICAgLCBtX2RpZExvbmdQcmVzc0ludm9rZUNvbnRleHRN
ZW51KGZhbHNlKQorICAgICwgbV9hdXRvSGlkZUN1cnNvclRpbWVyKHRoaXMsICZFdmVudEhhbmRs
ZXI6OmF1dG9IaWRlQ3Vyc29yVGltZXJGaXJlZCkKIHsKIH0KIAogRXZlbnRIYW5kbGVyOjp+RXZl
bnRIYW5kbGVyKCkKIHsKICAgICBBU1NFUlQoIW1fZmFrZU1vdXNlTW92ZUV2ZW50VGltZXIuaXNB
Y3RpdmUoKSk7CisgICAgQVNTRVJUKCFtX2F1dG9IaWRlQ3Vyc29yVGltZXIuaXNBY3RpdmUoKSk7
CiB9CiAgICAgCiAjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKQEAgLTM2OSw2ICszNzIsNyBAQCB2
b2lkIEV2ZW50SGFuZGxlcjo6Y2xlYXIoKQogewogICAgIG1faG92ZXJUaW1lci5zdG9wKCk7CiAg
ICAgbV9mYWtlTW91c2VNb3ZlRXZlbnRUaW1lci5zdG9wKCk7CisgICAgY2FuY2VsQXV0b0hpZGVD
dXJzb3JUaW1lcigpOwogICAgIG1fcmVzaXplTGF5ZXIgPSAwOwogICAgIG1fbm9kZVVuZGVyTW91
c2UgPSAwOwogICAgIG1fbGFzdE5vZGVVbmRlck1vdXNlID0gMDsKQEAgLTEyMzIsNiArMTIzNiwx
MSBAQCBPcHRpb25hbEN1cnNvciBFdmVudEhhbmRsZXI6OnNlbGVjdEN1cnNvcihjb25zdCBNb3Vz
ZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzJiBldgogICAgIGJvb2wgaG9yaXpvbnRhbFRleHQgPSAh
c3R5bGUgfHwgc3R5bGUtPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCk7CiAgICAgY29uc3QgQ3Vy
c29yJiBpQmVhbSA9IGhvcml6b250YWxUZXh0ID8gaUJlYW1DdXJzb3IoKSA6IHZlcnRpY2FsVGV4
dEN1cnNvcigpOwogCisgICAgaWYgKHN0eWxlICYmIHN0eWxlLT5jdXJzb3JWaXNpYmlsaXR5KCkg
PT0gQ1VSU09SX1ZJU0lCSUxJVFlfQVVUT19ISURFKQorICAgICAgICBzdGFydEF1dG9IaWRlQ3Vy
c29yVGltZXIoKTsKKyAgICBlbHNlCisgICAgICAgIGNhbmNlbEF1dG9IaWRlQ3Vyc29yVGltZXIo
KTsKKwogICAgIC8vIER1cmluZyBzZWxlY3Rpb24sIHVzZSBhbiBJLWJlYW0gbm8gbWF0dGVyIHdo
YXQgd2UncmUgb3Zlci4KICAgICAvLyBJZiBhIGRyYWcgbWF5IGJlIHN0YXJ0aW5nIG9yIHdlJ3Jl
IGNhcHR1cmluZyBtb3VzZSBldmVudHMgZm9yIGEgcGFydGljdWxhciBub2RlLCBkb24ndCB0cmVh
dCB0aGlzIGFzIGEgc2VsZWN0aW9uLgogICAgIGlmIChtX21vdXNlUHJlc3NlZCAmJiBtX21vdXNl
RG93bk1heVN0YXJ0U2VsZWN0CkBAIC0xMzgwLDYgKzEzODksMzUgQEAgT3B0aW9uYWxDdXJzb3Ig
RXZlbnRIYW5kbGVyOjpzZWxlY3RDdXJzb3IoY29uc3QgTW91c2VFdmVudFdpdGhIaXRUZXN0UmVz
dWx0cyYgZXYKICAgICByZXR1cm4gcG9pbnRlckN1cnNvcigpOwogfQogCit2b2lkIEV2ZW50SGFu
ZGxlcjo6c3RhcnRBdXRvSGlkZUN1cnNvclRpbWVyKCkKK3sKKyAgICBQYWdlKiBwYWdlID0gbV9m
cmFtZS0+cGFnZSgpOworICAgIGlmICghcGFnZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9h
dXRvSGlkZUN1cnNvclRpbWVyLnN0YXJ0T25lU2hvdChwYWdlLT5zZXR0aW5ncygpLT50aW1lV2l0
aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scygpKTsKKworICAgIC8vIFRoZSBm
YWtlIG1vdXNlIG1vdmUgZXZlbnQgc2NyZXdzIHVwIHRoZSBhdXRvLWhpZGUgZmVhdHVyZSAoYnkg
cmVzZXR0aW5nIHRoZSBhdXRvLWhpZGUgdGltZXIpCisgICAgLy8gc28gY2FuY2VsIGFueSBwZW5k
aW5nIGZha2UgbW91c2UgbW92ZXMuCisgICAgaWYgKG1fZmFrZU1vdXNlTW92ZUV2ZW50VGltZXIu
aXNBY3RpdmUoKSkKKyAgICAgICAgbV9mYWtlTW91c2VNb3ZlRXZlbnRUaW1lci5zdG9wKCk7Cit9
CisKK3ZvaWQgRXZlbnRIYW5kbGVyOjpjYW5jZWxBdXRvSGlkZUN1cnNvclRpbWVyKCkKK3sKKyAg
ICBpZiAobV9hdXRvSGlkZUN1cnNvclRpbWVyLmlzQWN0aXZlKCkpCisgICAgICAgIG1fYXV0b0hp
ZGVDdXJzb3JUaW1lci5zdG9wKCk7Cit9CisKK3ZvaWQgRXZlbnRIYW5kbGVyOjphdXRvSGlkZUN1
cnNvclRpbWVyRmlyZWQoVGltZXI8RXZlbnRIYW5kbGVyPiogdGltZXIpCit7CisgICAgQVNTRVJU
X1VOVVNFRCh0aW1lciwgdGltZXIgPT0gJm1fYXV0b0hpZGVDdXJzb3JUaW1lcik7CisgICAgbV9j
dXJyZW50TW91c2VDdXJzb3IgPSBub25lQ3Vyc29yKCk7CisgICAgRnJhbWVWaWV3KiB2aWV3ID0g
bV9mcmFtZS0+dmlldygpOworICAgIGlmICh2aWV3ICYmIHZpZXctPmlzQWN0aXZlKCkpCisgICAg
ICAgIHZpZXctPnNldEN1cnNvcihtX2N1cnJlbnRNb3VzZUN1cnNvcik7Cit9CisKIHN0YXRpYyBM
YXlvdXRQb2ludCBkb2N1bWVudFBvaW50Rm9yV2luZG93UG9pbnQoRnJhbWUqIGZyYW1lLCBjb25z
dCBJbnRQb2ludCYgd2luZG93UG9pbnQpCiB7CiAgICAgRnJhbWVWaWV3KiB2aWV3ID0gZnJhbWUt
PnZpZXcoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCmluZGV4IDNmYzA3ZjJmYTI1MmY5
YzQ1ZjI0ZjFmNmI1NWU0N2U3YTAwZDc1M2UuLjM5YTM0MjFkMGJhNDAyNTIyN2NiMGI1OWIyYzI2
NDM4MDgxNWE5NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaApAQCAtMzgyLDYgKzM4
MiwxMCBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBzZXRMYXN0S25vd25Nb3VzZVBvc2l0aW9uKGNv
bnN0IFBsYXRmb3JtTW91c2VFdmVudCYpOwogCisgICAgdm9pZCBzdGFydEF1dG9IaWRlQ3Vyc29y
VGltZXIoKTsKKyAgICB2b2lkIGNhbmNlbEF1dG9IaWRlQ3Vyc29yVGltZXIoKTsKKyAgICB2b2lk
IGF1dG9IaWRlQ3Vyc29yVGltZXJGaXJlZChUaW1lcjxFdmVudEhhbmRsZXI+Kik7CisKICAgICBG
cmFtZSogbV9mcmFtZTsKIAogICAgIGJvb2wgbV9tb3VzZVByZXNzZWQ7CkBAIC00NzYsNiArNDgw
LDggQEAgcHJpdmF0ZToKICAgICBQbGF0Zm9ybUV2ZW50OjpUeXBlIG1fYmFzZUV2ZW50VHlwZTsK
ICAgICBib29sIG1fZGlkU3RhcnREcmFnOwogICAgIGJvb2wgbV9kaWRMb25nUHJlc3NJbnZva2VD
b250ZXh0TWVudTsKKworICAgIFRpbWVyPEV2ZW50SGFuZGxlcj4gbV9hdXRvSGlkZUN1cnNvclRp
bWVyOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZVZpZXcuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgK
aW5kZXggNDk0YWU0N2I3MWQ1M2E5M2M1OGY4ODU1MWU1MDYyMWYyN2FlMjQxNy4uNWEyMzA3ZTgx
Njg3ZGFhN2Y2NzdlYzFmMDMzMDYyYTE4MWE0MTJkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZVZpZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5o
CkBAIC0zOTYsNiArMzk2LDggQEAgcHVibGljOgogICAgIHZvaWQgc2V0SW5pdGlhbFZpZXdwb3J0
U2l6ZShjb25zdCBJbnRTaXplJiBzaXplKSB7IG1faW5pdGlhbFZpZXdwb3J0U2l6ZSA9IHNpemU7
IH0KICNlbmRpZgogCisgICAgdmlydHVhbCBib29sIGlzQWN0aXZlKCkgY29uc3QgT1ZFUlJJREU7
CisKIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIGJvb2wgc2Nyb2xsQ29udGVudHNGYXN0UGF0aChj
b25zdCBJbnRTaXplJiBzY3JvbGxEZWx0YSwgY29uc3QgSW50UmVjdCYgcmVjdFRvU2Nyb2xsLCBj
b25zdCBJbnRSZWN0JiBjbGlwUmVjdCk7CiAgICAgdmlydHVhbCB2b2lkIHNjcm9sbENvbnRlbnRz
U2xvd1BhdGgoY29uc3QgSW50UmVjdCYgdXBkYXRlUmVjdCk7CkBAIC00NDUsNyArNDQ3LDYgQEAg
cHJpdmF0ZToKIAogICAgIC8vIFNjcm9sbGFibGVBcmVhIGludGVyZmFjZQogICAgIHZpcnR1YWwg
dm9pZCBpbnZhbGlkYXRlU2Nyb2xsYmFyUmVjdChTY3JvbGxiYXIqLCBjb25zdCBJbnRSZWN0Jikg
T1ZFUlJJREU7Ci0gICAgdmlydHVhbCBib29sIGlzQWN0aXZlKCkgY29uc3QgT1ZFUlJJREU7CiAg
ICAgdmlydHVhbCB2b2lkIGdldFRpY2ttYXJrcyhWZWN0b3I8SW50UmVjdD4mKSBjb25zdCBPVkVS
UklERTsKICAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsVG8oY29uc3QgSW50U2l6ZSYpIE9WRVJSSURF
OwogICAgIHZpcnR1YWwgdm9pZCBzZXRWaXNpYmxlU2Nyb2xsZXJUaHVtYlJlY3QoY29uc3QgSW50
UmVjdCYpIE9WRVJSSURFOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5n
cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAppbmRleCBhODZiMGJmOWM0
M2E2OWRhODc4ZTg2MjNkZmEzZGExMzRjOGZkN2ZmLi43MzI1MzNkNjRhMzBmMjU4ZGIzYmM0NjFl
ODRhZTg2ZGJhOTZkMTViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdz
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcApAQCAtMTg0LDYgKzE4
NCw3IEBAIFNldHRpbmdzOjpTZXR0aW5ncyhQYWdlKiBwYWdlKQogI2VuZGlmCiAgICAgLCBtX3Nj
cm9sbGluZ1BlcmZvcm1hbmNlTG9nZ2luZ0VuYWJsZWQoZmFsc2UpCiAgICAgLCBtX2FnZ3Jlc3Np
dmVUaWxlUmV0ZW50aW9uRW5hYmxlZChmYWxzZSkKKyAgICAsIG1fdGltZVdpdGhvdXRNb3VzZU1v
dmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMoMykKICAgICAsIG1fc2V0SW1hZ2VMb2FkaW5nU2V0
dGluZ3NUaW1lcih0aGlzLCAmU2V0dGluZ3M6OmltYWdlTG9hZGluZ1NldHRpbmdzVGltZXJGaXJl
ZCkKIHsKICAgICAvLyBBIEZyYW1lIG1heSBub3QgaGF2ZSBiZWVuIGNyZWF0ZWQgeWV0LCBzbyB3
ZSBpbml0aWFsaXplIHRoZSBBdG9taWNTdHJpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvU2V0dGluZ3MuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAppbmRleCAy
NWFkOGQ4ZDhiMTMxN2E4YmNjOWFjNzAxOWMwOWUzNWRlOWE0YWI1Li40Y2RlZTUzNWNhYTUwZWU5
MGRmNTYwNGQxMDk0M2ViZjljYWNmNmY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1NldHRpbmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCkBAIC0yNjQs
NiArMjY0LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBzdGF0aWMgYm9vbCBzaG91
bGRSZXNwZWN0UHJpb3JpdHlJbkNTU0F0dHJpYnV0ZVNldHRlcnMoKTsKICNlbmRpZgogCisgICAg
ICAgIHZvaWQgc2V0VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMo
ZG91YmxlIHRpbWUpIHsgbV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250
cm9scyA9IHRpbWU7IH0KKyAgICAgICAgZG91YmxlIHRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJl
Zm9yZUhpZGluZ0NvbnRyb2xzKCkgY29uc3QgeyByZXR1cm4gbV90aW1lV2l0aG91dE1vdXNlTW92
ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9sczsgfQorCiAgICAgcHJpdmF0ZToKICAgICAgICAgZXhw
bGljaXQgU2V0dGluZ3MoUGFnZSopOwogCkBAIC0zMjAsNiArMzIzLDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICBib29sIG1fc2Nyb2xsaW5nUGVyZm9ybWFuY2VMb2dnaW5nRW5hYmxl
ZCA6IDE7CiAgICAgICAgIGJvb2wgbV9hZ2dyZXNzaXZlVGlsZVJldGVudGlvbkVuYWJsZWQgOiAx
OwogCisgICAgICAgIGRvdWJsZSBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGlu
Z0NvbnRyb2xzOworCiAgICAgICAgIFRpbWVyPFNldHRpbmdzPiBtX3NldEltYWdlTG9hZGluZ1Nl
dHRpbmdzVGltZXI7CiAgICAgICAgIHZvaWQgaW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lckZpcmVk
KFRpbWVyPFNldHRpbmdzPiopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGhlbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5o
CmluZGV4IDgxMTZiYTMxOGRkMWIzYzM0NjVjMGJiNDBmNGY5NmNiOWZlNzk4MmIuLjU1NWFjNTA3
Njk2YjVlNmMyMmNlNzhjYzg5MGZjNTc0YWM5Y2EwM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUaGVtZS5oCkBAIC0yMDUsNyArMjA1LDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
Ym9vbCB1c2VzVmVydGljYWxWb2x1bWVTbGlkZXIoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAg
ICAgdmlydHVhbCBkb3VibGUgbWVkaWFDb250cm9sc0ZhZGVJbkR1cmF0aW9uKCkgeyByZXR1cm4g
MC4xOyB9CiAgICAgdmlydHVhbCBkb3VibGUgbWVkaWFDb250cm9sc0ZhZGVPdXREdXJhdGlvbigp
IHsgcmV0dXJuIDAuMzsgfQotICAgIHZpcnR1YWwgZG91YmxlIHRpbWVXaXRob3V0TW91c2VNb3Zl
bWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKCkgeyByZXR1cm4gMy4wOyB9CiAgICAgdmlydHVhbCBT
dHJpbmcgZm9ybWF0TWVkaWFDb250cm9sc1RpbWUoZmxvYXQgdGltZSkgY29uc3Q7CiAgICAgdmly
dHVhbCBTdHJpbmcgZm9ybWF0TWVkaWFDb250cm9sc0N1cnJlbnRUaW1lKGZsb2F0IGN1cnJlbnRU
aW1lLCBmbG9hdCBkdXJhdGlvbikgY29uc3Q7CiAgICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0TWVk
aWFDb250cm9sc1JlbWFpbmluZ1RpbWUoZmxvYXQgY3VycmVudFRpbWUsIGZsb2F0IGR1cmF0aW9u
KSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5k
ZXJTdHlsZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgK
aW5kZXggNzZkOGI4ZDhjMzJlMmY0Y2RmMDI1ODA2ZTAxMGVjZDFjMDE3YWZhYy4uYzkwNmQ5MGQy
YzE2NGI0YmE1ZGMxODljZDRhZjg4MTRhYTJjMGQyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKQEAgLTE2Niw2ICsxNjYsNyBAQCBwcm90ZWN0ZWQ6
CiAgICAgICAgICAgICAgICAgJiYgKF90ZXh0X3RyYW5zZm9ybSA9PSBvdGhlci5fdGV4dF90cmFu
c2Zvcm0pCiAgICAgICAgICAgICAgICAgJiYgKF90ZXh0X2RlY29yYXRpb25zID09IG90aGVyLl90
ZXh0X2RlY29yYXRpb25zKQogICAgICAgICAgICAgICAgICYmIChfY3Vyc29yX3N0eWxlID09IG90
aGVyLl9jdXJzb3Jfc3R5bGUpCisgICAgICAgICAgICAgICAgJiYgKF9jdXJzb3JfdmlzaWJpbGl0
eV9zdHlsZSA9PSBvdGhlci5fY3Vyc29yX3Zpc2liaWxpdHlfc3R5bGUpCiAgICAgICAgICAgICAg
ICAgJiYgKF9kaXJlY3Rpb24gPT0gb3RoZXIuX2RpcmVjdGlvbikKICAgICAgICAgICAgICAgICAm
JiAoX3doaXRlX3NwYWNlID09IG90aGVyLl93aGl0ZV9zcGFjZSkKICAgICAgICAgICAgICAgICAm
JiAoX2JvcmRlcl9jb2xsYXBzZSA9PSBvdGhlci5fYm9yZGVyX2NvbGxhcHNlKQpAQCAtMTg4LDYg
KzE4OSw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgdW5zaWduZWQgX3RleHRfdHJhbnNmb3JtIDog
MjsgLy8gRVRleHRUcmFuc2Zvcm0KICAgICAgICAgdW5zaWduZWQgX3RleHRfZGVjb3JhdGlvbnMg
OiBFVGV4dERlY29yYXRpb25CaXRzOwogICAgICAgICB1bnNpZ25lZCBfY3Vyc29yX3N0eWxlIDog
NjsgLy8gRUN1cnNvcgorICAgICAgICB1bnNpZ25lZCBfY3Vyc29yX3Zpc2liaWxpdHlfc3R5bGUg
OiAxOyAvLyBFQ3Vyc29yVmlzaWJpbGl0eQogICAgICAgICB1bnNpZ25lZCBfZGlyZWN0aW9uIDog
MTsgLy8gVGV4dERpcmVjdGlvbgogICAgICAgICB1bnNpZ25lZCBfd2hpdGVfc3BhY2UgOiAzOyAv
LyBFV2hpdGVTcGFjZQogICAgICAgICAvLyAzMiBiaXRzCkBAIC0yOTMsNiArMjk1LDcgQEAgcHJv
dGVjdGVkOgogICAgICAgICBpbmhlcml0ZWRfZmxhZ3MuX3RleHRfdHJhbnNmb3JtID0gaW5pdGlh
bFRleHRUcmFuc2Zvcm0oKTsKICAgICAgICAgaW5oZXJpdGVkX2ZsYWdzLl90ZXh0X2RlY29yYXRp
b25zID0gaW5pdGlhbFRleHREZWNvcmF0aW9uKCk7CiAgICAgICAgIGluaGVyaXRlZF9mbGFncy5f
Y3Vyc29yX3N0eWxlID0gaW5pdGlhbEN1cnNvcigpOworICAgICAgICBpbmhlcml0ZWRfZmxhZ3Mu
X2N1cnNvcl92aXNpYmlsaXR5X3N0eWxlID0gaW5pdGlhbEN1cnNvclZpc2liaWxpdHkoKTsKICAg
ICAgICAgaW5oZXJpdGVkX2ZsYWdzLl9kaXJlY3Rpb24gPSBpbml0aWFsRGlyZWN0aW9uKCk7CiAg
ICAgICAgIGluaGVyaXRlZF9mbGFncy5fd2hpdGVfc3BhY2UgPSBpbml0aWFsV2hpdGVTcGFjZSgp
OwogICAgICAgICBpbmhlcml0ZWRfZmxhZ3MuX2JvcmRlcl9jb2xsYXBzZSA9IGluaXRpYWxCb3Jk
ZXJDb2xsYXBzZSgpOwpAQCAtNzAwLDYgKzcwMyw3IEBAIHB1YmxpYzoKICAgICBMZW5ndGggcGFk
ZGluZ0VuZCgpIGNvbnN0IHsgcmV0dXJuIHN1cnJvdW5kLT5wYWRkaW5nLmVuZCh3cml0aW5nTW9k
ZSgpLCBkaXJlY3Rpb24oKSk7IH0KIAogICAgIEVDdXJzb3IgY3Vyc29yKCkgY29uc3QgeyByZXR1
cm4gc3RhdGljX2Nhc3Q8RUN1cnNvcj4oaW5oZXJpdGVkX2ZsYWdzLl9jdXJzb3Jfc3R5bGUpOyB9
CisgICAgRUN1cnNvclZpc2liaWxpdHkgY3Vyc29yVmlzaWJpbGl0eSgpIGNvbnN0IHsgcmV0dXJu
IHN0YXRpY19jYXN0PEVDdXJzb3JWaXNpYmlsaXR5Pihpbmhlcml0ZWRfZmxhZ3MuX2N1cnNvcl92
aXNpYmlsaXR5X3N0eWxlKTsgfQogCiAgICAgQ3Vyc29yTGlzdCogY3Vyc29ycygpIGNvbnN0IHsg
cmV0dXJuIHJhcmVJbmhlcml0ZWREYXRhLT5jdXJzb3JEYXRhLmdldCgpOyB9CiAKQEAgLTExOTQs
NiArMTE5OCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEN1cnNvckxpc3QoUGFzc1JlZlB0cjxD
dXJzb3JMaXN0Pik7CiAgICAgdm9pZCBjbGVhckN1cnNvckxpc3QoKTsKIAorICAgIHZvaWQgc2V0
Q3Vyc29yVmlzaWJpbGl0eShFQ3Vyc29yVmlzaWJpbGl0eSBjKSB7IGluaGVyaXRlZF9mbGFncy5f
Y3Vyc29yX3Zpc2liaWxpdHlfc3R5bGUgPSBjOyB9CisKICAgICB2b2lkIHNldEluc2lkZUxpbmso
RUluc2lkZUxpbmsgaW5zaWRlTGluaykgeyBpbmhlcml0ZWRfZmxhZ3MuX2luc2lkZUxpbmsgPSBp
bnNpZGVMaW5rOyB9CiAgICAgdm9pZCBzZXRJc0xpbmsoYm9vbCBiKSB7IG5vbmluaGVyaXRlZF9m
bGFncy5zZXRJc0xpbmsoYik7IH0KIApAQCAtMTU1MCw2ICsxNTU2LDcgQEAgcHVibGljOgogICAg
IHN0YXRpYyBzaG9ydCBpbml0aWFsSG9yaXpvbnRhbEJvcmRlclNwYWNpbmcoKSB7IHJldHVybiAw
OyB9CiAgICAgc3RhdGljIHNob3J0IGluaXRpYWxWZXJ0aWNhbEJvcmRlclNwYWNpbmcoKSB7IHJl
dHVybiAwOyB9CiAgICAgc3RhdGljIEVDdXJzb3IgaW5pdGlhbEN1cnNvcigpIHsgcmV0dXJuIENV
UlNPUl9BVVRPOyB9CisgICAgc3RhdGljIEVDdXJzb3JWaXNpYmlsaXR5IGluaXRpYWxDdXJzb3JW
aXNpYmlsaXR5KCkgeyByZXR1cm4gQ1VSU09SX1ZJU0lCSUxJVFlfQVVUTzsgfQogICAgIHN0YXRp
YyBDb2xvciBpbml0aWFsQ29sb3IoKSB7IHJldHVybiBDb2xvcjo6YmxhY2s7IH0KICAgICBzdGF0
aWMgU3R5bGVJbWFnZSogaW5pdGlhbExpc3RTdHlsZUltYWdlKCkgeyByZXR1cm4gMDsgfQogICAg
IHN0YXRpYyB1bnNpZ25lZCBpbml0aWFsQm9yZGVyV2lkdGgoKSB7IHJldHVybiAzOyB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFu
dHMuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50
cy5oCmluZGV4IDhjMmMwYjU4NmY0YjQ4ZWE5YWQ0MmQwMmFjYmMyNDQyNWUxZDcxMzYuLmJiYTcz
NDE0NDBkODk5OWFkNTIyNmQzMjUzNjM3ODBhNWRiZDhjYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCkBAIC00MTgs
NiArNDE4LDExIEBAIGVudW0gRUN1cnNvciB7CiAgICAgQ1VSU09SX05PTkUKIH07CiAKK2VudW0g
RUN1cnNvclZpc2liaWxpdHkgeworICAgIENVUlNPUl9WSVNJQklMSVRZX0FVVE8sCisgICAgQ1VS
U09SX1ZJU0lCSUxJVFlfQVVUT19ISURFLAorfTsKKwogLy8gVGhlIG9yZGVyIG9mIHRoaXMgZW51
bSBtdXN0IG1hdGNoIHRoZSBvcmRlciBvZiB0aGUgZGlzcGxheSB2YWx1ZXMgaW4gQ1NTVmFsdWVL
ZXl3b3Jkcy5pbi4KIGVudW0gRURpc3BsYXkgewogICAgIElOTElORSwgQkxPQ0ssIExJU1RfSVRF
TSwgUlVOX0lOLCBDT01QQUNULCBJTkxJTkVfQkxPQ0ssCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbFNldHRpbmdzLmNwcAppbmRleCAxMjYyYWVmNWYwM2Y2OGI4ZWM2YjRiNmZlMDE2
ZTM1MWJjNTVlZjUwLi44YzQ2MTRlZTI2N2FkYjY5ZTRmMmZmZDcyYmE3MDAyMTRkNDVlOTRiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAKQEAgLTQ4Nyw0
ICs0ODcsMTAgQEAgdm9pZCBJbnRlcm5hbFNldHRpbmdzOjpzZXRNaW5pbXVtVGltZXJJbnRlcnZh
bChkb3VibGUgaW50ZXJ2YWxJblNlY29uZHMsIEV4Y2VwdGkKICAgICBzZXR0aW5ncygpLT5zZXRN
aW5ET01UaW1lckludGVydmFsKGludGVydmFsSW5TZWNvbmRzKTsKIH0KIAordm9pZCBJbnRlcm5h
bFNldHRpbmdzOjpzZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9s
cyhkb3VibGUgdGltZSwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgSW50ZXJuYWxTZXR0aW5n
c0d1YXJkRm9yU2V0dGluZ3MoKTsKKyAgICBzZXR0aW5ncygpLT5zZXRUaW1lV2l0aG91dE1vdXNl
TW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyh0aW1lKTsKK30KKwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaAppbmRleCBkNjcyNGRhNjliZmM4ZDAxZWFkZDBj
NTk5MWFmOTc3ZGMxMTE4ODI4Li40Yjc1ODQyYTRjYTVlODY2Mjc1MGExMGMxNmU5MDNhZDE0Y2Qz
NTQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3Mu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaApAQCAtMTI2
LDYgKzEyNiw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldExhbmdBdHRyaWJ1dGVBd2FyZUZvcm1D
b250cm9sVUlFbmFibGVkKGJvb2wpOwogICAgIHZvaWQgc2V0SW1hZ2VzRW5hYmxlZChib29sIGVu
YWJsZWQsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lkIHNldE1pbmltdW1UaW1lckludGVydmFs
KGRvdWJsZSBpbnRlcnZhbEluU2Vjb25kcywgRXhjZXB0aW9uQ29kZSYpOworICAgIHZvaWQgc2V0
VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMoZG91YmxlIHRpbWUs
IEV4Y2VwdGlvbkNvZGUmKTsKIAogcHJpdmF0ZToKICAgICBleHBsaWNpdCBJbnRlcm5hbFNldHRp
bmdzKFBhZ2UqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxT
ZXR0aW5ncy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRs
CmluZGV4IDVkZGIwYWU3M2FlMzQxODA0NjFmZDAxNmFiNzVmYWVlYzMzMTNjMTQuLmRkMzQxNjAx
NTJlZmFlMmQ3ZGU1ZDc3Y2M0MDQ3NGIxN2EzZTY5ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbApAQCAtNTksNCArNTksNSBAQAogICAgIHZvaWQgc2V0
U3RvcmFnZUJsb2NraW5nUG9saWN5KGluIERPTVN0cmluZyBwb2xpY3kpIHJhaXNlcyhET01FeGNl
cHRpb24pOwogICAgIHZvaWQgc2V0SW1hZ2VzRW5hYmxlZChpbiBib29sZWFuIGVuYWJsZWQpIHJh
aXNlcyhET01FeGNlcHRpb24pOwogICAgIHZvaWQgc2V0TWluaW11bVRpbWVySW50ZXJ2YWwoaW4g
ZG91YmxlIGludGVydmFsSW5TZWNvbmRzKSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAgICB2b2lk
IHNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKGluIGRvdWJs
ZSB0aW1lKSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKIH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZjQzZmQ1ODlhMmVhZjVl
ZWIwMDA2YTRmOWY5NjBmNDM4NzljMjZmOS4uMDA4Y2QxNmJjOGM1M2VhODc2YTg5NDU0NDYzZTBk
NDM3NmMxNWRiNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEzLTAxLTIzICBKZXIgTm9ibGUg
IDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIERlZmF1bHQgbW91c2UgY3Vyc29yIGJl
aGF2aW9yIHNob3VsZCBiZSBhdXRvLWhpZGUgZm9yIGZ1bGwgc2NyZWVuIHZpZGVvIHdpdGggY3Vz
dG9tIGNvbnRyb2xzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDc2MDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIGZ1bGxzY3JlZW4vdmlkZW8tY3Vyc29yLWF1dG8taGlkZS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGZ1bGxzY3JlZW4vdmlkZW8tY3Vyc29yLWF1dG8taGlkZS5odG1sOiBB
ZGRlZC4KKwogMjAxMy0wMi0yMiAgU3RlcGhlbiBDaGVubmV5ICA8c2NoZW5uZXlAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFtDaHJvbWl1bV0gVGVzdCBleHBlY3RhdGlvbnMgZm9yIG5ld2lzaCB0
ZXN0cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZnVsbHNjcmVlbi92aWRlby1jdXJzb3ItYXV0
by1oaWRlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Z1bGxzY3JlZW4vdmlkZW8tY3Vyc29y
LWF1dG8taGlkZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2ViZWZkZTFkMWMzNDU5YjA2NmZj
M2QzMzE2ZDM5YWE3MzA4NGYxNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Z1bGxz
Y3JlZW4vdmlkZW8tY3Vyc29yLWF1dG8taGlkZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBA
CitUaGlzIHRlc3RzIHRoYXQgdGhlIGN1cnNvciBoaWRlcyBhZnRlciBob3ZlcmluZyBvdmVyIGEg
dmlkZW8gZWxlbWVudCBpbiBmdWxsIHNjcmVlbiBtb2RlLgorCitFVkVOVCh3ZWJraXRmdWxsc2Ny
ZWVuY2hhbmdlKQorRVhQRUNURUQgKHdpbmRvdy5pbnRlcm5hbHMuZ2V0Q3VycmVudEN1cnNvcklu
Zm8oZG9jdW1lbnQpID09ICd0eXBlPVBvaW50ZXIgaG90U3BvdD0wLDAnKSBPSworRVhQRUNURUQg
KHdpbmRvdy5pbnRlcm5hbHMuZ2V0Q3VycmVudEN1cnNvckluZm8oZG9jdW1lbnQpID09ICd0eXBl
PU5vbmUgaG90U3BvdD0wLDAnKSBPSworRU5EIE9GIFRFU1QKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZnVsbHNjcmVlbi92aWRlby1jdXJzb3ItYXV0by1oaWRlLmh0bWwgYi9MYXlvdXRUZXN0
cy9mdWxsc2NyZWVuL3ZpZGVvLWN1cnNvci1hdXRvLWhpZGUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41Nzc2
NDFlYjE3YWZlNjIzNzI5YzkzMTRkNzg2ODRkYzc1ZTdiMGI1Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZnVsbHNjcmVlbi92aWRlby1jdXJzb3ItYXV0by1oaWRlLmh0bWwKQEAgLTAs
MCArMSwzMSBAQAorPGJvZHk+CisgICAgPHA+VGhpcyB0ZXN0cyB0aGF0IHRoZSBjdXJzb3IgaGlk
ZXMgYWZ0ZXIgaG92ZXJpbmcgb3ZlciBhIHZpZGVvIGVsZW1lbnQgaW4gZnVsbCBzY3JlZW4gbW9k
ZS48L3A+CisgICAgPGRpdiBpZD13cmFwcGVyPgorICAgICAgICA8dmlkZW8gaWQ9InZpZGVvIiB3
aWR0aD0iMzAwIj48L3ZpZGVvPgorICAgIDwvZGl2PgorICAgIDxzY3JpcHQgc3JjPSJmdWxsLXNj
cmVlbi10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAgICAgICB2YXIgd3JhcHBl
ciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd3cmFwcGVyJyk7CisKKyAgICAgICAgZnVuY3Rp
b24gY2hlY2tGb3JIaWRkZW5Nb3VzZSgpCisgICAgICAgIHsKKyAgICAgICAgICAgIHRlc3RFeHBl
Y3RlZCgnd2luZG93LmludGVybmFscy5nZXRDdXJyZW50Q3Vyc29ySW5mbyhkb2N1bWVudCknLCAn
dHlwZT1Ob25lIGhvdFNwb3Q9MCwwJyk7CisgICAgICAgICAgICBlbmRUZXN0KCk7CisgICAgICAg
IH0KKworICAgICAgICBmdW5jdGlvbiBmdWxsc2NyZWVuQ2hhbmdlZChldmVudCkKKyAgICAgICAg
eworICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgICAgICAgICAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5n
Q29udHJvbHMoMCk7CisgICAgICAgICAgICAgICAgd3JhcHBlckJveCA9IGludGVybmFscy5ib3Vu
ZGluZ0JveCh3cmFwcGVyKTsKKyAgICAgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVU
byh3cmFwcGVyQm94LmxlZnQgKyB3cmFwcGVyQm94LndpZHRoIC8gMiwgd3JhcHBlckJveC50b3Ag
KyB3cmFwcGVyQm94LmhlaWdodCAvIDIpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgn
d2luZG93LmludGVybmFscy5nZXRDdXJyZW50Q3Vyc29ySW5mbyhkb2N1bWVudCknLCAndHlwZT1Q
b2ludGVyIGhvdFNwb3Q9MCwwJyk7CisgICAgICAgICAgICAgICAgc2V0VGltZW91dChjaGVja0Zv
ckhpZGRlbk1vdXNlLCAwKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgICAgICBsb2dSZXN1bHQoZmFsc2UsICJ3aW5kb3cuaW50ZXJuYWxzID09IHVuZGVmaW5l
ZCIpOworICAgICAgICB9CisgICAgICAgIHdhaXRGb3JFdmVudChkb2N1bWVudCwgJ3dlYmtpdGZ1
bGxzY3JlZW5jaGFuZ2UnLCBmdWxsc2NyZWVuQ2hhbmdlZCk7CisgICAgICAgIHJ1bldpdGhLZXlE
b3duKGZ1bmN0aW9uKCl7d3JhcHBlci53ZWJraXRSZXF1ZXN0RnVsbFNjcmVlbigpfSk7CisgICAg
PC9zY3JpcHQ+Cis8L2JvZHk+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191339</attachid>
            <date>2013-03-04 16:13:03 -0800</date>
            <delta_ts>2013-03-04 16:52:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107601-20130304160911.patch</filename>
            <type>text/plain</type>
            <size>27919</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0NjgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDRiMmQwYjg5ZmM5OTg3
OGUyZmM1Mzg4MmE5ZmQyMmU3MjQ1OTRkMS4uZjIwMDY0OTcxNzJiMTE2ODFmNmY0YzU0YTI4OWNm
MDczYTcyZmM3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcyIEBACisyMDEzLTAyLTIyICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIERlZmF1bHQgbW91c2UgY3Vy
c29yIGJlaGF2aW9yIHNob3VsZCBiZSBhdXRvLWhpZGUgZm9yIGZ1bGwgc2NyZWVuIHZpZGVvIHdp
dGggY3VzdG9tIGNvbnRyb2xzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDc2MDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUZXN0OiBmdWxsc2NyZWVuL3ZpZGVvLWN1cnNvci1hdXRvLWhpZGUuaHRtbAor
CisgICAgICAgIFRvIGZhY2lsaXRhdGUgYXV0b21hdGljYWxseSBoaWRpbmcgdGhlIG1vdXNlIGN1
cnNvciBhZnRlciBhIGNlcnRhaW4gYW1vdW50IG9mIGlkbGUgbW91c2UKKyAgICAgICAgdGltZSwg
YWRkIGEgbmV3IENTUyBwcm9wZXJ0eSAnLXdlYmtpdC1jdXJzb3ItdmlzaWJpbGl0eScsIGFuZCBo
YW5kbGUgdGhhdCB2YWx1ZSBpbnNpZGUgb2YKKyAgICAgICAgRXZlbnRIYW5kbGVyLiBXaGVuIHRo
YXQgdmFsdWUgaXMgcHJlc2VudCwgdGhlIEV2ZW50SGFuZGxlciB3aWxsIHN0YXJ0IGEgdGltZXIg
d2hpY2gsIHdoZW4KKyAgICAgICAgZmlyZWQsIHdpbGwgc2V0IHRoZSB2aWV3J3MgY3Vyc29yIHRv
IHRoZSBOb25lIGN1cnNvci4gU3Vic2VxdWVudCBtb3VzZSBtb3ZlcyB3aWxsIGVpdGhlcgorICAg
ICAgICBjYW5jZWwgdGhlIHRpbWVyLCBvciByZXNldCB0aGUgYXV0by1oaWRlIHRpbWVyLgorCisg
ICAgICAgIEFkZCBhIG5ldyBDU1MgcHJvcGVydHksICctd2Via2l0LWN1cnNvci12aXNpYmlsaXR5
JzoKKyAgICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6Z2V0UHJvcGVydHlDU1NW
YWx1ZSk6CisgICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
U1NQYXJzZXI6OnBhcnNlVmFsdWUpOgorICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1ZU1h
cHBpbmdzLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0
aXZlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJhdG9y
IEVDdXJzb3JWaXNpYmlsaXR5KToKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHkuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHk6OmlzSW5oZXJpdGVkUHJvcGVydHkpOgorICAgICAg
ICAqIGNzcy9DU1NQcm9wZXJ0eU5hbWVzLmluOgorICAgICAgICAqIGNzcy9DU1NWYWx1ZUtleXdv
cmRzLmluOgorICAgICAgICAqIGNzcy9TdHlsZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U3R5bGVCdWlsZGVyOjpTdHlsZUJ1aWxkZXIpOgorICAgICAgICAqIGNzcy9TdHlsZVJlc29s
dmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmVzb2x2ZXI6OmFwcGx5UHJvcGVydHkp
OgorCisgICAgICAgIEFkZCBhIHJ1bGUgZm9yIHZpZGVvIGRlc2NlbmRhbnRzIG9mIGZ1bGwgc2Ny
ZWVuIGVsZW1lbnRzIHRvIGF1dG8taGlkZSB0aGUgY3Vyc29yIG9uIGhvdmVyOgorICAgICAgICAq
IGNzcy9mdWxsc2NyZWVuLmNzczoKKyAgICAgICAgKDotd2Via2l0LWZ1bGwtc2NyZWVuIHZpZGVv
OmhvdmVyKToKKworICAgICAgICBBZGQgYSBuZXcgdGltZXIsIG1fYXV0b0hpZGVDdXJzb3JUaW1l
ciwgdG8gY29udHJvbCByZXNldHRpbmcgdGhlIHZpZXcncyBjdXJzb3IgdG8gTm9uZSBhZnRlcgor
ICAgICAgICBlbm91Z2ggbW91c2UgaWRsZSB0aW1lIGhhcyBwYXNzZWQuCisgICAgICAgICogcGFn
ZS9FdmVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpFdmVu
dEhhbmRsZXIpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjp+RXZlbnRIYW5kbGVy
KToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6Y2xlYXIpOgorICAgICAgICAoV2Vi
Q29yZTo6RXZlbnRIYW5kbGVyOjpzZWxlY3RDdXJzb3IpOgorICAgICAgICAoV2ViQ29yZTo6RXZl
bnRIYW5kbGVyOjpzdGFydEF1dG9IaWRlQ3Vyc29yVGltZXIpOgorICAgICAgICAoV2ViQ29yZTo6
RXZlbnRIYW5kbGVyOjpjYW5jZWxBdXRvSGlkZUN1cnNvclRpbWVyKToKKyAgICAgICAgKFdlYkNv
cmU6OkV2ZW50SGFuZGxlcjo6YXV0b0hpZGVDdXJzb3JUaW1lckZpcmVkKToKKyAgICAgICAgKiBw
YWdlL0V2ZW50SGFuZGxlci5oOgorCisgICAgICAgIE1ha2UgRnJhbWVWaWV3Ojppc0FjdGl2ZSgp
IGEgcHVibGljIGZ1bmN0aW9uIChsaWtlIGl0IGlzIGluIGl0cyBzdXBlcmNsYXNzKS4KKyAgICAg
ICAgKiBwYWdlL0ZyYW1lVmlldy5oOgorICAgICAgICAoRnJhbWVWaWV3KToKKworICAgICAgICBN
b3ZlIHRoZSBkZWZpbml0aW9uIGZvciB0aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRp
bmdDb250cm9scyBmcm9tIHBhZ2UtPnRoZW1lKCkKKyAgICAgICAgdG8gcGFnZS0+c2V0dGluZ3Mo
KSBhbmQgYWxsb3cgdGhhdCBzZXR0aW5nIHRvIGJlIG92ZXJyaWRkZW4gaW4gSW50ZXJuYWxTZXR0
aW5ncyBmb3IgCisgICAgICAgIHRlc3RpbmcgcHVycG9zZXM6CisgICAgICAgICogcGFnZS9TZXR0
aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6U2V0dGluZ3MpOgorICAgICAg
ICAqIHBhZ2UvU2V0dGluZ3MuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRUaW1l
V2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyk6CisgICAgICAgIChXZWJD
b3JlOjpTZXR0aW5nczo6dGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJv
bHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZS5oOgorICAgICAgICAqIHRlc3Rp
bmcvSW50ZXJuYWxTZXR0aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNldHRp
bmdzOjpzZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyk6Cisg
ICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmg6CisgICAgICAgIChJbnRlcm5hbFNl
dHRpbmdzKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsOgorICAgICAg
ICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFDb250cm9sczo6c3RhcnRIaWRlRnVsbHNjcmVlbkNvbnRyb2xzVGltZXIpOgorCiAyMDEzLTAz
LTA0ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CiAKICAgICAgICAgV2Vi
U3BlZWNoOiBjaGFuZ2Ugdm9pY2VVUkkgdG8gdm9pY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggMzhlOGYyOTA0MWQ1NWMz
MzNiZTI0ZjllNjU1NjMwZTU0ZWRhYWYyYi4uNGZjZjUyMmE4NTQ2ZjAwNzY4MWQyYWE3OTFhY2Y1
N2NhMzliZTNlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5
bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5
bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTI2Myw2ICsyNjMsNyBAQCBzdGF0aWMgY29uc3QgQ1NTUHJv
cGVydHlJRCBjb21wdXRlZFByb3BlcnRpZXNbXSA9IHsKICAgICBDU1NQcm9wZXJ0eVdlYmtpdENv
bHVtblJ1bGVXaWR0aCwKICAgICBDU1NQcm9wZXJ0eVdlYmtpdENvbHVtblNwYW4sCiAgICAgQ1NT
UHJvcGVydHlXZWJraXRDb2x1bW5XaWR0aCwKKyAgICBDU1NQcm9wZXJ0eVdlYmtpdEN1cnNvclZp
c2liaWxpdHksCiAjaWYgRU5BQkxFKERBU0hCT0FSRF9TVVBQT1JUKQogICAgIENTU1Byb3BlcnR5
V2Via2l0RGFzaGJvYXJkUmVnaW9uLAogI2VuZGlmCkBAIC0xODQzLDYgKzE4NDQsOSBAQCBQYXNz
UmVmUHRyPENTU1ZhbHVlPiBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5
Q1NTVmFsdWUoQ1NTUHJvcGVydAogICAgICAgICAgICAgfQogICAgICAgICAgICAgcmV0dXJuIHZh
bHVlLnJlbGVhc2UoKTsKICAgICAgICAgfQorICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0
Q3Vyc29yVmlzaWJpbGl0eTogeworICAgICAgICAgICAgcmV0dXJuIGNzc1ZhbHVlUG9vbCgpLmNy
ZWF0ZVZhbHVlKHN0eWxlLT5jdXJzb3JWaXNpYmlsaXR5KCkpOworICAgICAgICB9CiAgICAgICAg
IGNhc2UgQ1NTUHJvcGVydHlEaXJlY3Rpb246CiAgICAgICAgICAgICByZXR1cm4gY3NzVmFsdWVQ
b29sKCkuY3JlYXRlVmFsdWUoc3R5bGUtPmRpcmVjdGlvbigpKTsKICAgICAgICAgY2FzZSBDU1NQ
cm9wZXJ0eURpc3BsYXk6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2Vy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCmluZGV4IDM1NDc2YjA3NDA4
NWQ0ODZmNmMyNzU0ZmM0MzliMjNjNDVlNTM5M2MuLjczZTgzODg5NzA0ZDg1NzdiNDA2OTBhOTQx
NzM0OWU0NDFkOTJlZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCkBAIC0yMDczLDYgKzIw
NzMsMTEgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlVmFsdWUoQ1NTUHJvcGVydHlJRCBwcm9wSWQs
IGJvb2wgaW1wb3J0YW50KQogICAgICAgICBicmVhazsKICAgICB9CiAKKyAgICBjYXNlIENTU1By
b3BlcnR5V2Via2l0Q3Vyc29yVmlzaWJpbGl0eToKKyAgICAgICAgaWYgKGlkID09IENTU1ZhbHVl
QXV0byB8fCBpZCA9PSBDU1NWYWx1ZUF1dG9IaWRlKQorICAgICAgICAgICAgdmFsaWRQcmltaXRp
dmUgPSB0cnVlOworICAgICAgICBicmVhazsKKwogICAgIGNhc2UgQ1NTUHJvcGVydHlCYWNrZ3Jv
dW5kQXR0YWNobWVudDoKICAgICBjYXNlIENTU1Byb3BlcnR5QmFja2dyb3VuZENsaXA6CiAgICAg
Y2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEJhY2tncm91bmRDbGlwOgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKaW5kZXggNTMyZTk5YzI3ZmU3ZDgzN2U4
MzYwNGNjYmJhMGJhYWVmZGNjNWY5Ni4uMmUxMDU1N2Y1ZTgwMTMxYTdiODFlODU0MjM3Y2Y1ZWNl
ZjEzNTAwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVl
TWFwcGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBw
aW5ncy5oCkBAIC0xMTYzLDYgKzExNjMsMzIgQEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0
aXZlVmFsdWU6Om9wZXJhdG9yIEVDdXJzb3IoKSBjb25zdAogICAgIHJldHVybiBzdGF0aWNfY2Fz
dDxFQ3Vyc29yPihtX3ZhbHVlLmlkZW50IC0gQ1NTVmFsdWVBdXRvKTsKIH0KIAorCit0ZW1wbGF0
ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoRUN1cnNvclZp
c2liaWxpdHkgZSkKKyAgICA6IENTU1ZhbHVlKFByaW1pdGl2ZUNsYXNzKQoreworICAgIG1fcHJp
bWl0aXZlVW5pdFR5cGUgPSBDU1NfSURFTlQ7CisgICAgc3dpdGNoIChlKSB7CisgICAgY2FzZSBD
VVJTT1JfVklTSUJJTElUWV9BVVRPOgorICAgICAgICBtX3ZhbHVlLmlkZW50ID0gQ1NTVmFsdWVB
dXRvOworICAgICAgICBicmVhazsKKyAgICBjYXNlIENVUlNPUl9WSVNJQklMSVRZX0FVVE9fSElE
RToKKyAgICAgICAgbV92YWx1ZS5pZGVudCA9IENTU1ZhbHVlQXV0b0hpZGU7CisgICAgICAgIGJy
ZWFrOworICAgIH0KK30KKwordGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6Om9w
ZXJhdG9yIEVDdXJzb3JWaXNpYmlsaXR5KCkgY29uc3QKK3sKKyAgICBpZiAobV92YWx1ZS5pZGVu
dCA9PSBDU1NWYWx1ZUF1dG8pCisgICAgICAgIHJldHVybiBDVVJTT1JfVklTSUJJTElUWV9BVVRP
OworICAgIGlmIChtX3ZhbHVlLmlkZW50ID09IENTU1ZhbHVlQXV0b0hpZGUpCisgICAgICAgIHJl
dHVybiBDVVJTT1JfVklTSUJJTElUWV9BVVRPX0hJREU7CisKKyAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKKyAgICByZXR1cm4gQ1VSU09SX1ZJU0lCSUxJVFlfQVVUTzsKK30KKwogdGVtcGxhdGU8
PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKEVEaXNwbGF5IGUp
CiAgICAgOiBDU1NWYWx1ZShQcmltaXRpdmVDbGFzcykKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVy
dHkuY3BwCmluZGV4IGEyYzBlNmNkYjEyYjRkMTM3MGFiNzQ5NjlkOTEwNzQyYjEzMjYyYzQuLjA5
MWM4NGFjN2E5NTNlMGU4ZDllMTQwZTMxMDE3N2E4NzU2OTY5NTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1Byb3BlcnR5LmNwcApAQCAtMzAyLDYgKzMwMiw3IEBAIGJvb2wgQ1NTUHJvcGVydHk6OmlzSW5o
ZXJpdGVkUHJvcGVydHkoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlEKQogICAgIGNhc2UgQ1NTUHJv
cGVydHlXZWJraXRCb3JkZXJWZXJ0aWNhbFNwYWNpbmc6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdl
YmtpdEJveERpcmVjdGlvbjoKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0Q29sb3JDb3JyZWN0
aW9uOgorICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRDdXJzb3JWaXNpYmlsaXR5OgogICAgIGNh
c2UgQ1NTUHJvcGVydHlXZWJraXRGb250RmVhdHVyZVNldHRpbmdzOgogICAgIGNhc2UgQ1NTUHJv
cGVydHlXZWJraXRGb250S2VybmluZzoKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0Rm9udFNt
b290aGluZzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVz
LmluIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4KaW5kZXggOTZkNjc1
NmQ2NWFjZTY5ZDhiMWVkNDliNzk4MjI2ZDMwMjhjYzQ4Ny4uZTRhNmVmZTNjNDFmN2FkODZjZjky
MzdmYzE2ZmQ3NzNiYmY4YTI1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1By
b3BlcnR5TmFtZXMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMu
aW4KQEAgLTEwMCw2ICsxMDAsNyBAQCBjb250ZW50CiBjb3VudGVyLWluY3JlbWVudAogY291bnRl
ci1yZXNldAogY3Vyc29yCistd2Via2l0LWN1cnNvci12aXNpYmlsaXR5CiBlbXB0eS1jZWxscwog
ZmxvYXQKIGZvbnQtc3RyZXRjaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Zh
bHVlS2V5d29yZHMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgpp
bmRleCA3NTkyNmY2MjdhMzdmMjA2ZjExNGYxNmE3NzcyOWU4ZmQ5MzZlODBiLi5mODQwMmM1YzZi
MDBiOGVmODQ4YmQxNTQwYzk4YWVhN2RhNjM4NDMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFs
dWVLZXl3b3Jkcy5pbgpAQCAtMzc3LDYgKzM3NywxMCBAQCBhbGwtc2Nyb2xsCiAtd2Via2l0LWdy
YWJiaW5nCiAvLyBub25lCiAvLworLy8gQ1NTX1BST1BfQ1VSU09SX1ZJU0lCSUxJVFk6CisvLyBh
dXRvCithdXRvLWhpZGUKKy8vCiAvLyBDU1NfUFJPUF9ESVJFQ1RJT046CiAvLwogbHRyCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZUJ1aWxkZXIuY3BwCmluZGV4IDRkODc4YjJlOWIzMjVlMjVlZTM2YWQ4Y2Jm
MmIyMDBmMmYzODIxMGEuLjQyZTU5YTMxNTYzMzFkNjYxNmU2MzliZjBjMzk4MTQxNjJkZDdiNDAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXIuY3BwCkBAIC0xOTgxLDYgKzE5ODEsNyBAQCBT
dHlsZUJ1aWxkZXI6OlN0eWxlQnVpbGRlcigpCiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1By
b3BlcnR5V2Via2l0Q29sdW1uU3BhbiwgQXBwbHlQcm9wZXJ0eURlZmF1bHQ8Q29sdW1uU3Bhbiwg
JlJlbmRlclN0eWxlOjpjb2x1bW5TcGFuLCBDb2x1bW5TcGFuLCAmUmVuZGVyU3R5bGU6OnNldENv
bHVtblNwYW4sIENvbHVtblNwYW4sICZSZW5kZXJTdHlsZTo6aW5pdGlhbENvbHVtblNwYW4+Ojpj
cmVhdGVIYW5kbGVyKCkpOwogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtp
dENvbHVtblJ1bGVTdHlsZSwgQXBwbHlQcm9wZXJ0eURlZmF1bHQ8RUJvcmRlclN0eWxlLCAmUmVu
ZGVyU3R5bGU6OmNvbHVtblJ1bGVTdHlsZSwgRUJvcmRlclN0eWxlLCAmUmVuZGVyU3R5bGU6OnNl
dENvbHVtblJ1bGVTdHlsZSwgRUJvcmRlclN0eWxlLCAmUmVuZGVyU3R5bGU6OmluaXRpYWxCb3Jk
ZXJTdHlsZT46OmNyZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1By
b3BlcnR5V2Via2l0Q29sdW1uV2lkdGgsIEFwcGx5UHJvcGVydHlBdXRvPGZsb2F0LCAmUmVuZGVy
U3R5bGU6OmNvbHVtbldpZHRoLCAmUmVuZGVyU3R5bGU6OnNldENvbHVtbldpZHRoLCAmUmVuZGVy
U3R5bGU6Omhhc0F1dG9Db2x1bW5XaWR0aCwgJlJlbmRlclN0eWxlOjpzZXRIYXNBdXRvQ29sdW1u
V2lkdGgsIENvbXB1dGVMZW5ndGg+OjpjcmVhdGVIYW5kbGVyKCkpOworICAgIHNldFByb3BlcnR5
SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdEN1cnNvclZpc2liaWxpdHksIEFwcGx5UHJvcGVydHlE
ZWZhdWx0PEVDdXJzb3JWaXNpYmlsaXR5LCAmUmVuZGVyU3R5bGU6OmN1cnNvclZpc2liaWxpdHks
IEVDdXJzb3JWaXNpYmlsaXR5LCAmUmVuZGVyU3R5bGU6OnNldEN1cnNvclZpc2liaWxpdHksIEVD
dXJzb3JWaXNpYmlsaXR5LCAmUmVuZGVyU3R5bGU6OmluaXRpYWxDdXJzb3JWaXNpYmlsaXR5Pjo6
Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJr
aXRBbGlnbkNvbnRlbnQsIEFwcGx5UHJvcGVydHlEZWZhdWx0PEVBbGlnbkNvbnRlbnQsICZSZW5k
ZXJTdHlsZTo6YWxpZ25Db250ZW50LCBFQWxpZ25Db250ZW50LCAmUmVuZGVyU3R5bGU6OnNldEFs
aWduQ29udGVudCwgRUFsaWduQ29udGVudCwgJlJlbmRlclN0eWxlOjppbml0aWFsQWxpZ25Db250
ZW50Pjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVy
dHlXZWJraXRBbGlnbkl0ZW1zLCBBcHBseVByb3BlcnR5RGVmYXVsdDxFQWxpZ25JdGVtcywgJlJl
bmRlclN0eWxlOjphbGlnbkl0ZW1zLCBFQWxpZ25JdGVtcywgJlJlbmRlclN0eWxlOjpzZXRBbGln
bkl0ZW1zLCBFQWxpZ25JdGVtcywgJlJlbmRlclN0eWxlOjppbml0aWFsQWxpZ25JdGVtcz46OmNy
ZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0
QWxpZ25TZWxmLCBBcHBseVByb3BlcnR5RGVmYXVsdDxFQWxpZ25JdGVtcywgJlJlbmRlclN0eWxl
OjphbGlnblNlbGYsIEVBbGlnbkl0ZW1zLCAmUmVuZGVyU3R5bGU6OnNldEFsaWduU2VsZiwgRUFs
aWduSXRlbXMsICZSZW5kZXJTdHlsZTo6aW5pdGlhbEFsaWduU2VsZj46OmNyZWF0ZUhhbmRsZXIo
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKaW5kZXggNTZlMTA5OTU0NjQwMDM0
MGVlYjMyZmEwZjVhN2RjY2E3MTcxMWMzYS4uNGU1YTEyNjQyMjllOTYxZDNjNTM3ZDcxNjliYjY4
OGZjYWY0Njk5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcApAQCAtMzc1OCw2
ICszNzU4LDcgQEAgdm9pZCBTdHlsZVJlc29sdmVyOjphcHBseVByb3BlcnR5KENTU1Byb3BlcnR5
SUQgaWQsIENTU1ZhbHVlKiB2YWx1ZSkKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0Q29sdW1u
czoKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0Q29sdW1uU3BhbjoKICAgICBjYXNlIENTU1By
b3BlcnR5V2Via2l0Q29sdW1uV2lkdGg6CisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEN1cnNv
clZpc2liaWxpdHk6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEFsaWduQ29udGVudDoKICAg
ICBjYXNlIENTU1Byb3BlcnR5V2Via2l0QWxpZ25JdGVtczoKICAgICBjYXNlIENTU1Byb3BlcnR5
V2Via2l0QWxpZ25TZWxmOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL2Z1bGxzY3Jl
ZW4uY3NzIGIvU291cmNlL1dlYkNvcmUvY3NzL2Z1bGxzY3JlZW4uY3NzCmluZGV4IDEyNzY3MGIw
NzZlNmVlMzZmNDc0Y2VhYzhiOWRlZTQ2OTlkYjBhODMuLmJlN2RmNTgwZGJkOTViYTBlYTY2ZDhh
Mzg1OTM4OTIxMDgzNTg0NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9mdWxsc2Ny
ZWVuLmNzcworKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvZnVsbHNjcmVlbi5jc3MKQEAgLTMxLDYg
KzMxLDEwIEBAIHZpZGVvOi13ZWJraXQtZnVsbC1zY3JlZW4sIGF1ZGlvOi13ZWJraXQtZnVsbC1z
Y3JlZW4gewogICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7CiB9CiAKKzotd2Via2l0LWZ1
bGwtc2NyZWVuIHZpZGVvOmhvdmVyIHsKKyAgICAtd2Via2l0LWN1cnNvci12aXNpYmlsaXR5OmF1
dG8taGlkZTsKK30KKwogaW1nOi13ZWJraXQtZnVsbC1zY3JlZW4gewogICAgIHdpZHRoOiBhdXRv
OwogICAgIGhlaWdodDogMTAwJTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L01lZGlhQ29udHJvbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFD
b250cm9scy5jcHAKaW5kZXggMzgxNGRlZDE2YjBmMDE0N2QyYzNkY2MzYzZhN2Q2ODg4ODhmN2Jl
Yy4uODgzYTgzYTVmNDg1ZmEwN2M0MWUzODYzYzJiYTdmZTYzNTg4MWIxMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9scy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9scy5jcHAKQEAgLTMwLDYgKzMwLDcgQEAK
ICNpbmNsdWRlICJNZWRpYUNvbnRyb2xzLmgiCiAKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlUGxh
Y2Vob2xkZXIuaCIKKyNpbmNsdWRlICJTZXR0aW5ncy5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKQEAgLTM0NCw3ICszNDUsNyBAQCB2b2lkIE1lZGlhQ29udHJvbHM6OnN0YXJ0SGlkZUZ1bGxz
Y3JlZW5Db250cm9sc1RpbWVyKCkKICAgICBpZiAoIXBhZ2UpCiAgICAgICAgIHJldHVybjsKIAot
ICAgIG1faGlkZUZ1bGxzY3JlZW5Db250cm9sc1RpbWVyLnN0YXJ0T25lU2hvdChwYWdlLT50aGVt
ZSgpLT50aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scygpKTsKKyAg
ICBtX2hpZGVGdWxsc2NyZWVuQ29udHJvbHNUaW1lci5zdGFydE9uZVNob3QocGFnZS0+c2V0dGlu
Z3MoKS0+dGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMoKSk7CiB9
CiAKIHZvaWQgTWVkaWFDb250cm9sczo6c3RvcEhpZGVGdWxsc2NyZWVuQ29udHJvbHNUaW1lcigp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKaW5kZXggNDM2YmIzNTIwNjE0ODE3Y2Qx
N2IyMmUyYWFmN2U2OTk3YmJmMzQ5Mi4uYzQxOGMyNTM5YjdhYzhiYjU5MTVmNTRmYjcxYTVhYWNm
NDNmZGUyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcApAQCAtNzIsNiArNzIs
NyBAQAogI2luY2x1ZGUgIlJlbmRlckZyYW1lU2V0LmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXIu
aCIKICNpbmNsdWRlICJSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuaCIKKyNpbmNsdWRlICJS
ZW5kZXJUaGVtZS5oIgogI2luY2x1ZGUgIlJlbmRlclZpZXcuaCIKICNpbmNsdWRlICJSZW5kZXJX
aWRnZXQuaCIKICNpbmNsdWRlICJTY3JvbGxBbmltYXRvci5oIgpAQCAtMzQ5LDEyICszNTAsMTQg
QEAgRXZlbnRIYW5kbGVyOjpFdmVudEhhbmRsZXIoRnJhbWUqIGZyYW1lKQogICAgICwgbV9iYXNl
RXZlbnRUeXBlKFBsYXRmb3JtRXZlbnQ6Ok5vVHlwZSkKICAgICAsIG1fZGlkU3RhcnREcmFnKGZh
bHNlKQogICAgICwgbV9kaWRMb25nUHJlc3NJbnZva2VDb250ZXh0TWVudShmYWxzZSkKKyAgICAs
IG1fYXV0b0hpZGVDdXJzb3JUaW1lcih0aGlzLCAmRXZlbnRIYW5kbGVyOjphdXRvSGlkZUN1cnNv
clRpbWVyRmlyZWQpCiB7CiB9CiAKIEV2ZW50SGFuZGxlcjo6fkV2ZW50SGFuZGxlcigpCiB7CiAg
ICAgQVNTRVJUKCFtX2Zha2VNb3VzZU1vdmVFdmVudFRpbWVyLmlzQWN0aXZlKCkpOworICAgIEFT
U0VSVCghbV9hdXRvSGlkZUN1cnNvclRpbWVyLmlzQWN0aXZlKCkpOwogfQogICAgIAogI2lmIEVO
QUJMRShEUkFHX1NVUFBPUlQpCkBAIC0zNjksNiArMzcyLDcgQEAgdm9pZCBFdmVudEhhbmRsZXI6
OmNsZWFyKCkKIHsKICAgICBtX2hvdmVyVGltZXIuc3RvcCgpOwogICAgIG1fZmFrZU1vdXNlTW92
ZUV2ZW50VGltZXIuc3RvcCgpOworICAgIGNhbmNlbEF1dG9IaWRlQ3Vyc29yVGltZXIoKTsKICAg
ICBtX3Jlc2l6ZUxheWVyID0gMDsKICAgICBtX25vZGVVbmRlck1vdXNlID0gMDsKICAgICBtX2xh
c3ROb2RlVW5kZXJNb3VzZSA9IDA7CkBAIC0xMjMzLDYgKzEyMzcsMTEgQEAgT3B0aW9uYWxDdXJz
b3IgRXZlbnRIYW5kbGVyOjpzZWxlY3RDdXJzb3IoY29uc3QgTW91c2VFdmVudFdpdGhIaXRUZXN0
UmVzdWx0cyYgZXYKICAgICBib29sIGhvcml6b250YWxUZXh0ID0gIXN0eWxlIHx8IHN0eWxlLT5p
c0hvcml6b250YWxXcml0aW5nTW9kZSgpOwogICAgIGNvbnN0IEN1cnNvciYgaUJlYW0gPSBob3Jp
em9udGFsVGV4dCA/IGlCZWFtQ3Vyc29yKCkgOiB2ZXJ0aWNhbFRleHRDdXJzb3IoKTsKIAorICAg
IGlmIChzdHlsZSAmJiBzdHlsZS0+Y3Vyc29yVmlzaWJpbGl0eSgpID09IENVUlNPUl9WSVNJQklM
SVRZX0FVVE9fSElERSkKKyAgICAgICAgc3RhcnRBdXRvSGlkZUN1cnNvclRpbWVyKCk7CisgICAg
ZWxzZQorICAgICAgICBjYW5jZWxBdXRvSGlkZUN1cnNvclRpbWVyKCk7CisKICAgICAvLyBEdXJp
bmcgc2VsZWN0aW9uLCB1c2UgYW4gSS1iZWFtIG5vIG1hdHRlciB3aGF0IHdlJ3JlIG92ZXIuCiAg
ICAgLy8gSWYgYSBkcmFnIG1heSBiZSBzdGFydGluZyBvciB3ZSdyZSBjYXB0dXJpbmcgbW91c2Ug
ZXZlbnRzIGZvciBhIHBhcnRpY3VsYXIgbm9kZSwgZG9uJ3QgdHJlYXQgdGhpcyBhcyBhIHNlbGVj
dGlvbi4KICAgICBpZiAobV9tb3VzZVByZXNzZWQgJiYgbV9tb3VzZURvd25NYXlTdGFydFNlbGVj
dApAQCAtMTM4MSw2ICsxMzkwLDM1IEBAIE9wdGlvbmFsQ3Vyc29yIEV2ZW50SGFuZGxlcjo6c2Vs
ZWN0Q3Vyc29yKGNvbnN0IE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMmIGV2CiAgICAgcmV0
dXJuIHBvaW50ZXJDdXJzb3IoKTsKIH0KIAordm9pZCBFdmVudEhhbmRsZXI6OnN0YXJ0QXV0b0hp
ZGVDdXJzb3JUaW1lcigpCit7CisgICAgUGFnZSogcGFnZSA9IG1fZnJhbWUtPnBhZ2UoKTsKKyAg
ICBpZiAoIXBhZ2UpCisgICAgICAgIHJldHVybjsKKworICAgIG1fYXV0b0hpZGVDdXJzb3JUaW1l
ci5zdGFydE9uZVNob3QocGFnZS0+c2V0dGluZ3MoKS0+dGltZVdpdGhvdXRNb3VzZU1vdmVtZW50
QmVmb3JlSGlkaW5nQ29udHJvbHMoKSk7CisKKyAgICAvLyBUaGUgZmFrZSBtb3VzZSBtb3ZlIGV2
ZW50IHNjcmV3cyB1cCB0aGUgYXV0by1oaWRlIGZlYXR1cmUgKGJ5IHJlc2V0dGluZyB0aGUgYXV0
by1oaWRlIHRpbWVyKQorICAgIC8vIHNvIGNhbmNlbCBhbnkgcGVuZGluZyBmYWtlIG1vdXNlIG1v
dmVzLgorICAgIGlmIChtX2Zha2VNb3VzZU1vdmVFdmVudFRpbWVyLmlzQWN0aXZlKCkpCisgICAg
ICAgIG1fZmFrZU1vdXNlTW92ZUV2ZW50VGltZXIuc3RvcCgpOworfQorCit2b2lkIEV2ZW50SGFu
ZGxlcjo6Y2FuY2VsQXV0b0hpZGVDdXJzb3JUaW1lcigpCit7CisgICAgaWYgKG1fYXV0b0hpZGVD
dXJzb3JUaW1lci5pc0FjdGl2ZSgpKQorICAgICAgICBtX2F1dG9IaWRlQ3Vyc29yVGltZXIuc3Rv
cCgpOworfQorCit2b2lkIEV2ZW50SGFuZGxlcjo6YXV0b0hpZGVDdXJzb3JUaW1lckZpcmVkKFRp
bWVyPEV2ZW50SGFuZGxlcj4qIHRpbWVyKQoreworICAgIEFTU0VSVF9VTlVTRUQodGltZXIsIHRp
bWVyID09ICZtX2F1dG9IaWRlQ3Vyc29yVGltZXIpOworICAgIG1fY3VycmVudE1vdXNlQ3Vyc29y
ID0gbm9uZUN1cnNvcigpOworICAgIEZyYW1lVmlldyogdmlldyA9IG1fZnJhbWUtPnZpZXcoKTsK
KyAgICBpZiAodmlldyAmJiB2aWV3LT5pc0FjdGl2ZSgpKQorICAgICAgICB2aWV3LT5zZXRDdXJz
b3IobV9jdXJyZW50TW91c2VDdXJzb3IpOworfQorCiBzdGF0aWMgTGF5b3V0UG9pbnQgZG9jdW1l
bnRQb2ludEZvcldpbmRvd1BvaW50KEZyYW1lKiBmcmFtZSwgY29uc3QgSW50UG9pbnQmIHdpbmRv
d1BvaW50KQogewogICAgIEZyYW1lVmlldyogdmlldyA9IGZyYW1lLT52aWV3KCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9FdmVudEhhbmRsZXIuaAppbmRleCBhMWUwMjJlZGE4OGRlOGY2OWQzZmY3NGMwMGE1ZWQ5
MzAyN2I4NjVlLi5lZDczZjViMWEwNGFlOGVhZjhlMjI0OTA0MGE1MzJlMWI1NjhkN2FhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKQEAgLTM4OCw2ICszODgsMTAgQEAgcHJpdmF0ZToK
IAogICAgIHZvaWQgc2V0TGFzdEtub3duTW91c2VQb3NpdGlvbihjb25zdCBQbGF0Zm9ybU1vdXNl
RXZlbnQmKTsKIAorICAgIHZvaWQgc3RhcnRBdXRvSGlkZUN1cnNvclRpbWVyKCk7CisgICAgdm9p
ZCBjYW5jZWxBdXRvSGlkZUN1cnNvclRpbWVyKCk7CisgICAgdm9pZCBhdXRvSGlkZUN1cnNvclRp
bWVyRmlyZWQoVGltZXI8RXZlbnRIYW5kbGVyPiopOworCiAgICAgRnJhbWUqIG1fZnJhbWU7CiAK
ICAgICBib29sIG1fbW91c2VQcmVzc2VkOwpAQCAtNDgzLDYgKzQ4Nyw4IEBAIHByaXZhdGU6CiAg
ICAgUGxhdGZvcm1FdmVudDo6VHlwZSBtX2Jhc2VFdmVudFR5cGU7CiAgICAgYm9vbCBtX2RpZFN0
YXJ0RHJhZzsKICAgICBib29sIG1fZGlkTG9uZ1ByZXNzSW52b2tlQ29udGV4dE1lbnU7CisKKyAg
ICBUaW1lcjxFdmVudEhhbmRsZXI+IG1fYXV0b0hpZGVDdXJzb3JUaW1lcjsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVW
aWV3LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCmluZGV4IGMwNjE4MzhlNmIy
Yzc3NTQwMWZjMjcxYjRkZjAxZmJkZGFiZTJkYzAuLjlmY2Q4NzQyZjlkMWMzMzIwMDBhOTU5NTY3
OWI5MGU4MzQ5ZWMyOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaApAQCAtMzk3LDYgKzM5Nyw4
IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEluaXRpYWxWaWV3cG9ydFNpemUoY29uc3QgSW50U2l6
ZSYgc2l6ZSkgeyBtX2luaXRpYWxWaWV3cG9ydFNpemUgPSBzaXplOyB9CiAjZW5kaWYKIAorICAg
IHZpcnR1YWwgYm9vbCBpc0FjdGl2ZSgpIGNvbnN0IE9WRVJSSURFOworCiBwcm90ZWN0ZWQ6CiAg
ICAgdmlydHVhbCBib29sIHNjcm9sbENvbnRlbnRzRmFzdFBhdGgoY29uc3QgSW50U2l6ZSYgc2Ny
b2xsRGVsdGEsIGNvbnN0IEludFJlY3QmIHJlY3RUb1Njcm9sbCwgY29uc3QgSW50UmVjdCYgY2xp
cFJlY3QpOwogICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxDb250ZW50c1Nsb3dQYXRoKGNvbnN0IElu
dFJlY3QmIHVwZGF0ZVJlY3QpOwpAQCAtNDQ2LDcgKzQ0OCw2IEBAIHByaXZhdGU6CiAKICAgICAv
LyBTY3JvbGxhYmxlQXJlYSBpbnRlcmZhY2UKICAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZVNj
cm9sbGJhclJlY3QoU2Nyb2xsYmFyKiwgY29uc3QgSW50UmVjdCYpIE9WRVJSSURFOwotICAgIHZp
cnR1YWwgYm9vbCBpc0FjdGl2ZSgpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBn
ZXRUaWNrbWFya3MoVmVjdG9yPEludFJlY3Q+JikgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVh
bCB2b2lkIHNjcm9sbFRvKGNvbnN0IEludFNpemUmKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZv
aWQgc2V0VmlzaWJsZVNjcm9sbGVyVGh1bWJSZWN0KGNvbnN0IEludFJlY3QmKSBPVkVSUklERTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKaW5kZXggY2Q1NWI0OWVmMDkwOWI3YTIzYTUwNDc1MDgz
ZTUzZGI3MzM5YTA0YS4uNDMzYzE0ZmFhMGZlMmI3ODhmYjAzOWQ5YjgwMjg2NmU1YWU1ZDcxYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKQEAgLTE4NCw2ICsxODQsNyBAQCBTZXR0aW5nczo6
U2V0dGluZ3MoUGFnZSogcGFnZSkKICNlbmRpZgogICAgICwgbV9zY3JvbGxpbmdQZXJmb3JtYW5j
ZUxvZ2dpbmdFbmFibGVkKGZhbHNlKQogICAgICwgbV9hZ2dyZXNzaXZlVGlsZVJldGVudGlvbkVu
YWJsZWQoZmFsc2UpCisgICAgLCBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGlu
Z0NvbnRyb2xzKDMpCiAgICAgLCBtX3NldEltYWdlTG9hZGluZ1NldHRpbmdzVGltZXIodGhpcywg
JlNldHRpbmdzOjppbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyRmlyZWQpCiB7CiAgICAgLy8gQSBG
cmFtZSBtYXkgbm90IGhhdmUgYmVlbiBjcmVhdGVkIHlldCwgc28gd2UgaW5pdGlhbGl6ZSB0aGUg
QXRvbWljU3RyaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKaW5kZXggMjVhZDhkOGQ4YjEzMTdhOGJj
YzlhYzcwMTljMDllMzVkZTlhNGFiNS4uNGNkZWU1MzVjYWE1MGVlOTBkZjU2MDRkMTA5NDNlYmY5
Y2FjZjZmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaApAQCAtMjY0LDYgKzI2NCw5IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgc3RhdGljIGJvb2wgc2hvdWxkUmVzcGVjdFByaW9yaXR5
SW5DU1NBdHRyaWJ1dGVTZXR0ZXJzKCk7CiAjZW5kaWYKIAorICAgICAgICB2b2lkIHNldFRpbWVX
aXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKGRvdWJsZSB0aW1lKSB7IG1f
dGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMgPSB0aW1lOyB9Cisg
ICAgICAgIGRvdWJsZSB0aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9s
cygpIGNvbnN0IHsgcmV0dXJuIG1fdGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5n
Q29udHJvbHM7IH0KKwogICAgIHByaXZhdGU6CiAgICAgICAgIGV4cGxpY2l0IFNldHRpbmdzKFBh
Z2UqKTsKIApAQCAtMzIwLDYgKzMyMyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAg
Ym9vbCBtX3Njcm9sbGluZ1BlcmZvcm1hbmNlTG9nZ2luZ0VuYWJsZWQgOiAxOwogICAgICAgICBi
b29sIG1fYWdncmVzc2l2ZVRpbGVSZXRlbnRpb25FbmFibGVkIDogMTsKIAorICAgICAgICBkb3Vi
bGUgbV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9sczsKKwogICAg
ICAgICBUaW1lcjxTZXR0aW5ncz4gbV9zZXRJbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyOwogICAg
ICAgICB2b2lkIGltYWdlTG9hZGluZ1NldHRpbmdzVGltZXJGaXJlZChUaW1lcjxTZXR0aW5ncz4q
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAppbmRleCA4MTE2YmEzMThk
ZDFiM2MzNDY1YzBiYjQwZjRmOTZjYjlmZTc5ODJiLi41NTVhYzUwNzY5NmI1ZTZjMjJjZTc4Y2M4
OTBmYzU3NGFjOWNhMDNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGhlbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaApA
QCAtMjA1LDcgKzIwNSw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgdXNlc1ZlcnRpY2Fs
Vm9sdW1lU2xpZGVyKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgZG91Ymxl
IG1lZGlhQ29udHJvbHNGYWRlSW5EdXJhdGlvbigpIHsgcmV0dXJuIDAuMTsgfQogICAgIHZpcnR1
YWwgZG91YmxlIG1lZGlhQ29udHJvbHNGYWRlT3V0RHVyYXRpb24oKSB7IHJldHVybiAwLjM7IH0K
LSAgICB2aXJ0dWFsIGRvdWJsZSB0aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdD
b250cm9scygpIHsgcmV0dXJuIDMuMDsgfQogICAgIHZpcnR1YWwgU3RyaW5nIGZvcm1hdE1lZGlh
Q29udHJvbHNUaW1lKGZsb2F0IHRpbWUpIGNvbnN0OwogICAgIHZpcnR1YWwgU3RyaW5nIGZvcm1h
dE1lZGlhQ29udHJvbHNDdXJyZW50VGltZShmbG9hdCBjdXJyZW50VGltZSwgZmxvYXQgZHVyYXRp
b24pIGNvbnN0OwogICAgIHZpcnR1YWwgU3RyaW5nIGZvcm1hdE1lZGlhQ29udHJvbHNSZW1haW5p
bmdUaW1lKGZsb2F0IGN1cnJlbnRUaW1lLCBmbG9hdCBkdXJhdGlvbikgY29uc3Q7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCmluZGV4IDJhZTRkNzkwNjI5
ZGM3ZjNiZjAxZjVjYTQxMzBhNmYyOGFmZjgwZjQuLjIzNWJlZjFhNTk1NjQ3MDhjZjFiY2JkMjFl
MGQ4MzczNzFiY2M1OTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9SZW5kZXJTdHlsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5k
ZXJTdHlsZS5oCkBAIC0xNjYsNiArMTY2LDcgQEAgcHJvdGVjdGVkOgogICAgICAgICAgICAgICAg
ICYmIChfdGV4dF90cmFuc2Zvcm0gPT0gb3RoZXIuX3RleHRfdHJhbnNmb3JtKQogICAgICAgICAg
ICAgICAgICYmIChfdGV4dF9kZWNvcmF0aW9ucyA9PSBvdGhlci5fdGV4dF9kZWNvcmF0aW9ucykK
ICAgICAgICAgICAgICAgICAmJiAoX2N1cnNvcl9zdHlsZSA9PSBvdGhlci5fY3Vyc29yX3N0eWxl
KQorICAgICAgICAgICAgICAgICYmIChfY3Vyc29yX3Zpc2liaWxpdHlfc3R5bGUgPT0gb3RoZXIu
X2N1cnNvcl92aXNpYmlsaXR5X3N0eWxlKQogICAgICAgICAgICAgICAgICYmIChfZGlyZWN0aW9u
ID09IG90aGVyLl9kaXJlY3Rpb24pCiAgICAgICAgICAgICAgICAgJiYgKF93aGl0ZV9zcGFjZSA9
PSBvdGhlci5fd2hpdGVfc3BhY2UpCiAgICAgICAgICAgICAgICAgJiYgKF9ib3JkZXJfY29sbGFw
c2UgPT0gb3RoZXIuX2JvcmRlcl9jb2xsYXBzZSkKQEAgLTE4OCw2ICsxODksNyBAQCBwcm90ZWN0
ZWQ6CiAgICAgICAgIHVuc2lnbmVkIF90ZXh0X3RyYW5zZm9ybSA6IDI7IC8vIEVUZXh0VHJhbnNm
b3JtCiAgICAgICAgIHVuc2lnbmVkIF90ZXh0X2RlY29yYXRpb25zIDogRVRleHREZWNvcmF0aW9u
Qml0czsKICAgICAgICAgdW5zaWduZWQgX2N1cnNvcl9zdHlsZSA6IDY7IC8vIEVDdXJzb3IKKyAg
ICAgICAgdW5zaWduZWQgX2N1cnNvcl92aXNpYmlsaXR5X3N0eWxlIDogMTsgLy8gRUN1cnNvclZp
c2liaWxpdHkKICAgICAgICAgdW5zaWduZWQgX2RpcmVjdGlvbiA6IDE7IC8vIFRleHREaXJlY3Rp
b24KICAgICAgICAgdW5zaWduZWQgX3doaXRlX3NwYWNlIDogMzsgLy8gRVdoaXRlU3BhY2UKICAg
ICAgICAgLy8gMzIgYml0cwpAQCAtMjkzLDYgKzI5NSw3IEBAIHByb3RlY3RlZDoKICAgICAgICAg
aW5oZXJpdGVkX2ZsYWdzLl90ZXh0X3RyYW5zZm9ybSA9IGluaXRpYWxUZXh0VHJhbnNmb3JtKCk7
CiAgICAgICAgIGluaGVyaXRlZF9mbGFncy5fdGV4dF9kZWNvcmF0aW9ucyA9IGluaXRpYWxUZXh0
RGVjb3JhdGlvbigpOwogICAgICAgICBpbmhlcml0ZWRfZmxhZ3MuX2N1cnNvcl9zdHlsZSA9IGlu
aXRpYWxDdXJzb3IoKTsKKyAgICAgICAgaW5oZXJpdGVkX2ZsYWdzLl9jdXJzb3JfdmlzaWJpbGl0
eV9zdHlsZSA9IGluaXRpYWxDdXJzb3JWaXNpYmlsaXR5KCk7CiAgICAgICAgIGluaGVyaXRlZF9m
bGFncy5fZGlyZWN0aW9uID0gaW5pdGlhbERpcmVjdGlvbigpOwogICAgICAgICBpbmhlcml0ZWRf
ZmxhZ3MuX3doaXRlX3NwYWNlID0gaW5pdGlhbFdoaXRlU3BhY2UoKTsKICAgICAgICAgaW5oZXJp
dGVkX2ZsYWdzLl9ib3JkZXJfY29sbGFwc2UgPSBpbml0aWFsQm9yZGVyQ29sbGFwc2UoKTsKQEAg
LTcwMCw2ICs3MDMsNyBAQCBwdWJsaWM6CiAgICAgTGVuZ3RoIHBhZGRpbmdFbmQoKSBjb25zdCB7
IHJldHVybiBzdXJyb3VuZC0+cGFkZGluZy5lbmQod3JpdGluZ01vZGUoKSwgZGlyZWN0aW9uKCkp
OyB9CiAKICAgICBFQ3Vyc29yIGN1cnNvcigpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEVD
dXJzb3I+KGluaGVyaXRlZF9mbGFncy5fY3Vyc29yX3N0eWxlKTsgfQorICAgIEVDdXJzb3JWaXNp
YmlsaXR5IGN1cnNvclZpc2liaWxpdHkoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxFQ3Vy
c29yVmlzaWJpbGl0eT4oaW5oZXJpdGVkX2ZsYWdzLl9jdXJzb3JfdmlzaWJpbGl0eV9zdHlsZSk7
IH0KIAogICAgIEN1cnNvckxpc3QqIGN1cnNvcnMoKSBjb25zdCB7IHJldHVybiByYXJlSW5oZXJp
dGVkRGF0YS0+Y3Vyc29yRGF0YS5nZXQoKTsgfQogCkBAIC0xMTk0LDYgKzExOTgsOCBAQCBwdWJs
aWM6CiAgICAgdm9pZCBzZXRDdXJzb3JMaXN0KFBhc3NSZWZQdHI8Q3Vyc29yTGlzdD4pOwogICAg
IHZvaWQgY2xlYXJDdXJzb3JMaXN0KCk7CiAKKyAgICB2b2lkIHNldEN1cnNvclZpc2liaWxpdHko
RUN1cnNvclZpc2liaWxpdHkgYykgeyBpbmhlcml0ZWRfZmxhZ3MuX2N1cnNvcl92aXNpYmlsaXR5
X3N0eWxlID0gYzsgfQorCiAgICAgdm9pZCBzZXRJbnNpZGVMaW5rKEVJbnNpZGVMaW5rIGluc2lk
ZUxpbmspIHsgaW5oZXJpdGVkX2ZsYWdzLl9pbnNpZGVMaW5rID0gaW5zaWRlTGluazsgfQogICAg
IHZvaWQgc2V0SXNMaW5rKGJvb2wgYikgeyBub25pbmhlcml0ZWRfZmxhZ3Muc2V0SXNMaW5rKGIp
OyB9CiAKQEAgLTE1NTAsNiArMTU1Niw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgc2hvcnQgaW5p
dGlhbEhvcml6b250YWxCb3JkZXJTcGFjaW5nKCkgeyByZXR1cm4gMDsgfQogICAgIHN0YXRpYyBz
aG9ydCBpbml0aWFsVmVydGljYWxCb3JkZXJTcGFjaW5nKCkgeyByZXR1cm4gMDsgfQogICAgIHN0
YXRpYyBFQ3Vyc29yIGluaXRpYWxDdXJzb3IoKSB7IHJldHVybiBDVVJTT1JfQVVUTzsgfQorICAg
IHN0YXRpYyBFQ3Vyc29yVmlzaWJpbGl0eSBpbml0aWFsQ3Vyc29yVmlzaWJpbGl0eSgpIHsgcmV0
dXJuIENVUlNPUl9WSVNJQklMSVRZX0FVVE87IH0KICAgICBzdGF0aWMgQ29sb3IgaW5pdGlhbENv
bG9yKCkgeyByZXR1cm4gQ29sb3I6OmJsYWNrOyB9CiAgICAgc3RhdGljIFN0eWxlSW1hZ2UqIGlu
aXRpYWxMaXN0U3R5bGVJbWFnZSgpIHsgcmV0dXJuIDA7IH0KICAgICBzdGF0aWMgdW5zaWduZWQg
aW5pdGlhbEJvcmRlcldpZHRoKCkgeyByZXR1cm4gMzsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmggYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaAppbmRleCA4YzJjMGI1
ODZmNGI0OGVhOWFkNDJkMDJhY2JjMjQ0MjVlMWQ3MTM2Li5iYmE3MzQxNDQwZDg5OTlhZDUyMjZk
MzI1MzYzNzgwYTVkYmQ4Y2I2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaApAQCAtNDE4LDYgKzQxOCwxMSBAQCBlbnVt
IEVDdXJzb3IgewogICAgIENVUlNPUl9OT05FCiB9OwogCitlbnVtIEVDdXJzb3JWaXNpYmlsaXR5
IHsKKyAgICBDVVJTT1JfVklTSUJJTElUWV9BVVRPLAorICAgIENVUlNPUl9WSVNJQklMSVRZX0FV
VE9fSElERSwKK307CisKIC8vIFRoZSBvcmRlciBvZiB0aGlzIGVudW0gbXVzdCBtYXRjaCB0aGUg
b3JkZXIgb2YgdGhlIGRpc3BsYXkgdmFsdWVzIGluIENTU1ZhbHVlS2V5d29yZHMuaW4uCiBlbnVt
IEVEaXNwbGF5IHsKICAgICBJTkxJTkUsIEJMT0NLLCBMSVNUX0lURU0sIFJVTl9JTiwgQ09NUEFD
VCwgSU5MSU5FX0JMT0NLLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbFNldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5n
cy5jcHAKaW5kZXggMTI2MmFlZjVmMDNmNjhiOGVjNmI0YjZmZTAxNmUzNTFiYzU1ZWY1MC4uOGM0
NjE0ZWUyNjdhZGI2OWU0ZjJmZmQ3MmJhNzAwMjE0ZDQ1ZTk0YiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCkBAIC00ODcsNCArNDg3LDEwIEBAIHZvaWQg
SW50ZXJuYWxTZXR0aW5nczo6c2V0TWluaW11bVRpbWVySW50ZXJ2YWwoZG91YmxlIGludGVydmFs
SW5TZWNvbmRzLCBFeGNlcHRpCiAgICAgc2V0dGluZ3MoKS0+c2V0TWluRE9NVGltZXJJbnRlcnZh
bChpbnRlcnZhbEluU2Vjb25kcyk7CiB9CiAKK3ZvaWQgSW50ZXJuYWxTZXR0aW5nczo6c2V0VGlt
ZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMoZG91YmxlIHRpbWUsIEV4
Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIEludGVybmFsU2V0dGluZ3NHdWFyZEZvclNldHRpbmdz
KCk7CisgICAgc2V0dGluZ3MoKS0+c2V0VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlk
aW5nQ29udHJvbHModGltZSk7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bFNldHRpbmdzLmgKaW5kZXggZDY3MjRkYTY5YmZjOGQwMWVhZGQwYzU5OTFhZjk3N2RjMTExODgy
OC4uNGI3NTg0MmE0Y2E1ZTg2NjI3NTBhMTBjMTZlOTAzYWQxNGNkMzU0MyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKQEAgLTEyNiw2ICsxMjYsNyBAQCBwdWJs
aWM6CiAgICAgdm9pZCBzZXRMYW5nQXR0cmlidXRlQXdhcmVGb3JtQ29udHJvbFVJRW5hYmxlZChi
b29sKTsKICAgICB2b2lkIHNldEltYWdlc0VuYWJsZWQoYm9vbCBlbmFibGVkLCBFeGNlcHRpb25D
b2RlJik7CiAgICAgdm9pZCBzZXRNaW5pbXVtVGltZXJJbnRlcnZhbChkb3VibGUgaW50ZXJ2YWxJ
blNlY29uZHMsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2b2lkIHNldFRpbWVXaXRob3V0TW91c2VN
b3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKGRvdWJsZSB0aW1lLCBFeGNlcHRpb25Db2RlJik7
CiAKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgSW50ZXJuYWxTZXR0aW5ncyhQYWdlKik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbAppbmRleCA1ZGRiMGFlNzNh
ZTM0MTgwNDYxZmQwMTZhYjc1ZmFlZWMzMzEzYzE0Li5kZDM0MTYwMTUyZWZhZTJkN2RlNWQ3N2Nj
NDA0NzRiMTdhM2U2OWY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFsU2V0dGluZ3MuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0
aW5ncy5pZGwKQEAgLTU5LDQgKzU5LDUgQEAKICAgICB2b2lkIHNldFN0b3JhZ2VCbG9ja2luZ1Bv
bGljeShpbiBET01TdHJpbmcgcG9saWN5KSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKICAgICB2b2lk
IHNldEltYWdlc0VuYWJsZWQoaW4gYm9vbGVhbiBlbmFibGVkKSByYWlzZXMoRE9NRXhjZXB0aW9u
KTsKICAgICB2b2lkIHNldE1pbmltdW1UaW1lckludGVydmFsKGluIGRvdWJsZSBpbnRlcnZhbElu
U2Vjb25kcykgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisgICAgdm9pZCBzZXRUaW1lV2l0aG91dE1v
dXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyhpbiBkb3VibGUgdGltZSkgcmFpc2VzKERP
TUV4Y2VwdGlvbik7CiB9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGFiNmM5NzBhNTk4YzQxYWVmMmI2ZGRmMDBkZWJlMmI1
YTM3MWU5OGMuLjQ0N2E5YzM0NGRhYTA2NWQ4MmU1ZDcxZGE2ZTM1OTZkODdmOGJkOWIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxMyBAQAorMjAxMy0wMS0yMyAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxl
LmNvbT4KKworICAgICAgICBEZWZhdWx0IG1vdXNlIGN1cnNvciBiZWhhdmlvciBzaG91bGQgYmUg
YXV0by1oaWRlIGZvciBmdWxsIHNjcmVlbiB2aWRlbyB3aXRoIGN1c3RvbSBjb250cm9scworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA3NjAxCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmdWxsc2NyZWVu
L3ZpZGVvLWN1cnNvci1hdXRvLWhpZGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBm
dWxsc2NyZWVuL3ZpZGVvLWN1cnNvci1hdXRvLWhpZGUuaHRtbDogQWRkZWQuCisKIDIwMTMtMDMt
MDQgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWJT
cGVlY2g6IGNoYW5nZSB2b2ljZVVSSSB0byB2b2ljZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZnVsbHNjcmVlbi92aWRlby1jdXJzb3ItYXV0by1oaWRlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2Z1bGxzY3JlZW4vdmlkZW8tY3Vyc29yLWF1dG8taGlkZS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uM2ViZWZkZTFkMWMzNDU5YjA2NmZjM2QzMzE2ZDM5YWE3MzA4NGYxNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Z1bGxzY3JlZW4vdmlkZW8tY3Vyc29yLWF1dG8taGlkZS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitUaGlzIHRlc3RzIHRoYXQgdGhlIGN1cnNvciBo
aWRlcyBhZnRlciBob3ZlcmluZyBvdmVyIGEgdmlkZW8gZWxlbWVudCBpbiBmdWxsIHNjcmVlbiBt
b2RlLgorCitFVkVOVCh3ZWJraXRmdWxsc2NyZWVuY2hhbmdlKQorRVhQRUNURUQgKHdpbmRvdy5p
bnRlcm5hbHMuZ2V0Q3VycmVudEN1cnNvckluZm8oZG9jdW1lbnQpID09ICd0eXBlPVBvaW50ZXIg
aG90U3BvdD0wLDAnKSBPSworRVhQRUNURUQgKHdpbmRvdy5pbnRlcm5hbHMuZ2V0Q3VycmVudEN1
cnNvckluZm8oZG9jdW1lbnQpID09ICd0eXBlPU5vbmUgaG90U3BvdD0wLDAnKSBPSworRU5EIE9G
IFRFU1QKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZnVsbHNjcmVlbi92aWRlby1jdXJzb3It
YXV0by1oaWRlLmh0bWwgYi9MYXlvdXRUZXN0cy9mdWxsc2NyZWVuL3ZpZGVvLWN1cnNvci1hdXRv
LWhpZGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41Nzc2NDFlYjE3YWZlNjIzNzI5YzkzMTRkNzg2ODRkYzc1
ZTdiMGI1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZnVsbHNjcmVlbi92aWRlby1j
dXJzb3ItYXV0by1oaWRlLmh0bWwKQEAgLTAsMCArMSwzMSBAQAorPGJvZHk+CisgICAgPHA+VGhp
cyB0ZXN0cyB0aGF0IHRoZSBjdXJzb3IgaGlkZXMgYWZ0ZXIgaG92ZXJpbmcgb3ZlciBhIHZpZGVv
IGVsZW1lbnQgaW4gZnVsbCBzY3JlZW4gbW9kZS48L3A+CisgICAgPGRpdiBpZD13cmFwcGVyPgor
ICAgICAgICA8dmlkZW8gaWQ9InZpZGVvIiB3aWR0aD0iMzAwIj48L3ZpZGVvPgorICAgIDwvZGl2
PgorICAgIDxzY3JpcHQgc3JjPSJmdWxsLXNjcmVlbi10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICA8
c2NyaXB0PgorICAgICAgICB2YXIgd3JhcHBlciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd3
cmFwcGVyJyk7CisKKyAgICAgICAgZnVuY3Rpb24gY2hlY2tGb3JIaWRkZW5Nb3VzZSgpCisgICAg
ICAgIHsKKyAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgnd2luZG93LmludGVybmFscy5nZXRDdXJy
ZW50Q3Vyc29ySW5mbyhkb2N1bWVudCknLCAndHlwZT1Ob25lIGhvdFNwb3Q9MCwwJyk7CisgICAg
ICAgICAgICBlbmRUZXN0KCk7CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiBmdWxsc2Ny
ZWVuQ2hhbmdlZChldmVudCkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRl
cm5hbHMpIHsKKyAgICAgICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VGltZVdpdGhv
dXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMoMCk7CisgICAgICAgICAgICAgICAg
d3JhcHBlckJveCA9IGludGVybmFscy5ib3VuZGluZ0JveCh3cmFwcGVyKTsKKyAgICAgICAgICAg
ICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyh3cmFwcGVyQm94LmxlZnQgKyB3cmFwcGVyQm94
LndpZHRoIC8gMiwgd3JhcHBlckJveC50b3AgKyB3cmFwcGVyQm94LmhlaWdodCAvIDIpOworICAg
ICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgnd2luZG93LmludGVybmFscy5nZXRDdXJyZW50Q3Vy
c29ySW5mbyhkb2N1bWVudCknLCAndHlwZT1Qb2ludGVyIGhvdFNwb3Q9MCwwJyk7CisgICAgICAg
ICAgICAgICAgc2V0VGltZW91dChjaGVja0ZvckhpZGRlbk1vdXNlLCAwKTsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBsb2dSZXN1bHQoZmFsc2UsICJ3
aW5kb3cuaW50ZXJuYWxzID09IHVuZGVmaW5lZCIpOworICAgICAgICB9CisgICAgICAgIHdhaXRG
b3JFdmVudChkb2N1bWVudCwgJ3dlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UnLCBmdWxsc2NyZWVuQ2hh
bmdlZCk7CisgICAgICAgIHJ1bldpdGhLZXlEb3duKGZ1bmN0aW9uKCl7d3JhcHBlci53ZWJraXRS
ZXF1ZXN0RnVsbFNjcmVlbigpfSk7CisgICAgPC9zY3JpcHQ+Cis8L2JvZHk+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191341</attachid>
            <date>2013-03-04 16:25:48 -0800</date>
            <delta_ts>2013-03-04 16:52:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107601-20130304162156.patch</filename>
            <type>text/plain</type>
            <size>28980</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0NjgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDRiMmQwYjg5ZmM5OTg3
OGUyZmM1Mzg4MmE5ZmQyMmU3MjQ1OTRkMS4uZjIwMDY0OTcxNzJiMTE2ODFmNmY0YzU0YTI4OWNm
MDczYTcyZmM3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcyIEBACisyMDEzLTAyLTIyICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIERlZmF1bHQgbW91c2UgY3Vy
c29yIGJlaGF2aW9yIHNob3VsZCBiZSBhdXRvLWhpZGUgZm9yIGZ1bGwgc2NyZWVuIHZpZGVvIHdp
dGggY3VzdG9tIGNvbnRyb2xzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDc2MDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUZXN0OiBmdWxsc2NyZWVuL3ZpZGVvLWN1cnNvci1hdXRvLWhpZGUuaHRtbAor
CisgICAgICAgIFRvIGZhY2lsaXRhdGUgYXV0b21hdGljYWxseSBoaWRpbmcgdGhlIG1vdXNlIGN1
cnNvciBhZnRlciBhIGNlcnRhaW4gYW1vdW50IG9mIGlkbGUgbW91c2UKKyAgICAgICAgdGltZSwg
YWRkIGEgbmV3IENTUyBwcm9wZXJ0eSAnLXdlYmtpdC1jdXJzb3ItdmlzaWJpbGl0eScsIGFuZCBo
YW5kbGUgdGhhdCB2YWx1ZSBpbnNpZGUgb2YKKyAgICAgICAgRXZlbnRIYW5kbGVyLiBXaGVuIHRo
YXQgdmFsdWUgaXMgcHJlc2VudCwgdGhlIEV2ZW50SGFuZGxlciB3aWxsIHN0YXJ0IGEgdGltZXIg
d2hpY2gsIHdoZW4KKyAgICAgICAgZmlyZWQsIHdpbGwgc2V0IHRoZSB2aWV3J3MgY3Vyc29yIHRv
IHRoZSBOb25lIGN1cnNvci4gU3Vic2VxdWVudCBtb3VzZSBtb3ZlcyB3aWxsIGVpdGhlcgorICAg
ICAgICBjYW5jZWwgdGhlIHRpbWVyLCBvciByZXNldCB0aGUgYXV0by1oaWRlIHRpbWVyLgorCisg
ICAgICAgIEFkZCBhIG5ldyBDU1MgcHJvcGVydHksICctd2Via2l0LWN1cnNvci12aXNpYmlsaXR5
JzoKKyAgICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6Z2V0UHJvcGVydHlDU1NW
YWx1ZSk6CisgICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
U1NQYXJzZXI6OnBhcnNlVmFsdWUpOgorICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1ZU1h
cHBpbmdzLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0
aXZlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJhdG9y
IEVDdXJzb3JWaXNpYmlsaXR5KToKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHkuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHk6OmlzSW5oZXJpdGVkUHJvcGVydHkpOgorICAgICAg
ICAqIGNzcy9DU1NQcm9wZXJ0eU5hbWVzLmluOgorICAgICAgICAqIGNzcy9DU1NWYWx1ZUtleXdv
cmRzLmluOgorICAgICAgICAqIGNzcy9TdHlsZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U3R5bGVCdWlsZGVyOjpTdHlsZUJ1aWxkZXIpOgorICAgICAgICAqIGNzcy9TdHlsZVJlc29s
dmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmVzb2x2ZXI6OmFwcGx5UHJvcGVydHkp
OgorCisgICAgICAgIEFkZCBhIHJ1bGUgZm9yIHZpZGVvIGRlc2NlbmRhbnRzIG9mIGZ1bGwgc2Ny
ZWVuIGVsZW1lbnRzIHRvIGF1dG8taGlkZSB0aGUgY3Vyc29yIG9uIGhvdmVyOgorICAgICAgICAq
IGNzcy9mdWxsc2NyZWVuLmNzczoKKyAgICAgICAgKDotd2Via2l0LWZ1bGwtc2NyZWVuIHZpZGVv
OmhvdmVyKToKKworICAgICAgICBBZGQgYSBuZXcgdGltZXIsIG1fYXV0b0hpZGVDdXJzb3JUaW1l
ciwgdG8gY29udHJvbCByZXNldHRpbmcgdGhlIHZpZXcncyBjdXJzb3IgdG8gTm9uZSBhZnRlcgor
ICAgICAgICBlbm91Z2ggbW91c2UgaWRsZSB0aW1lIGhhcyBwYXNzZWQuCisgICAgICAgICogcGFn
ZS9FdmVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpFdmVu
dEhhbmRsZXIpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjp+RXZlbnRIYW5kbGVy
KToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6Y2xlYXIpOgorICAgICAgICAoV2Vi
Q29yZTo6RXZlbnRIYW5kbGVyOjpzZWxlY3RDdXJzb3IpOgorICAgICAgICAoV2ViQ29yZTo6RXZl
bnRIYW5kbGVyOjpzdGFydEF1dG9IaWRlQ3Vyc29yVGltZXIpOgorICAgICAgICAoV2ViQ29yZTo6
RXZlbnRIYW5kbGVyOjpjYW5jZWxBdXRvSGlkZUN1cnNvclRpbWVyKToKKyAgICAgICAgKFdlYkNv
cmU6OkV2ZW50SGFuZGxlcjo6YXV0b0hpZGVDdXJzb3JUaW1lckZpcmVkKToKKyAgICAgICAgKiBw
YWdlL0V2ZW50SGFuZGxlci5oOgorCisgICAgICAgIE1ha2UgRnJhbWVWaWV3Ojppc0FjdGl2ZSgp
IGEgcHVibGljIGZ1bmN0aW9uIChsaWtlIGl0IGlzIGluIGl0cyBzdXBlcmNsYXNzKS4KKyAgICAg
ICAgKiBwYWdlL0ZyYW1lVmlldy5oOgorICAgICAgICAoRnJhbWVWaWV3KToKKworICAgICAgICBN
b3ZlIHRoZSBkZWZpbml0aW9uIGZvciB0aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRp
bmdDb250cm9scyBmcm9tIHBhZ2UtPnRoZW1lKCkKKyAgICAgICAgdG8gcGFnZS0+c2V0dGluZ3Mo
KSBhbmQgYWxsb3cgdGhhdCBzZXR0aW5nIHRvIGJlIG92ZXJyaWRkZW4gaW4gSW50ZXJuYWxTZXR0
aW5ncyBmb3IgCisgICAgICAgIHRlc3RpbmcgcHVycG9zZXM6CisgICAgICAgICogcGFnZS9TZXR0
aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6U2V0dGluZ3MpOgorICAgICAg
ICAqIHBhZ2UvU2V0dGluZ3MuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRUaW1l
V2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyk6CisgICAgICAgIChXZWJD
b3JlOjpTZXR0aW5nczo6dGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJv
bHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZS5oOgorICAgICAgICAqIHRlc3Rp
bmcvSW50ZXJuYWxTZXR0aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNldHRp
bmdzOjpzZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyk6Cisg
ICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmg6CisgICAgICAgIChJbnRlcm5hbFNl
dHRpbmdzKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsOgorICAgICAg
ICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFDb250cm9sczo6c3RhcnRIaWRlRnVsbHNjcmVlbkNvbnRyb2xzVGltZXIpOgorCiAyMDEzLTAz
LTA0ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CiAKICAgICAgICAgV2Vi
U3BlZWNoOiBjaGFuZ2Ugdm9pY2VVUkkgdG8gdm9pY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggMzhlOGYyOTA0MWQ1NWMz
MzNiZTI0ZjllNjU1NjMwZTU0ZWRhYWYyYi4uZGY5Y2RiZWY4YmM2YzcyNDFhNGY1ODk0Y2U4NDQz
OGFhNGRjZDc2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5
bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5
bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTI2Myw2ICsyNjMsNyBAQCBzdGF0aWMgY29uc3QgQ1NTUHJv
cGVydHlJRCBjb21wdXRlZFByb3BlcnRpZXNbXSA9IHsKICAgICBDU1NQcm9wZXJ0eVdlYmtpdENv
bHVtblJ1bGVXaWR0aCwKICAgICBDU1NQcm9wZXJ0eVdlYmtpdENvbHVtblNwYW4sCiAgICAgQ1NT
UHJvcGVydHlXZWJraXRDb2x1bW5XaWR0aCwKKyAgICBDU1NQcm9wZXJ0eVdlYmtpdEN1cnNvclZp
c2liaWxpdHksCiAjaWYgRU5BQkxFKERBU0hCT0FSRF9TVVBQT1JUKQogICAgIENTU1Byb3BlcnR5
V2Via2l0RGFzaGJvYXJkUmVnaW9uLAogI2VuZGlmCkBAIC0xODQzLDYgKzE4NDQsOCBAQCBQYXNz
UmVmUHRyPENTU1ZhbHVlPiBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5
Q1NTVmFsdWUoQ1NTUHJvcGVydAogICAgICAgICAgICAgfQogICAgICAgICAgICAgcmV0dXJuIHZh
bHVlLnJlbGVhc2UoKTsKICAgICAgICAgfQorICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0
Q3Vyc29yVmlzaWJpbGl0eToKKyAgICAgICAgICAgIHJldHVybiBjc3NWYWx1ZVBvb2woKS5jcmVh
dGVWYWx1ZShzdHlsZS0+Y3Vyc29yVmlzaWJpbGl0eSgpKTsKICAgICAgICAgY2FzZSBDU1NQcm9w
ZXJ0eURpcmVjdGlvbjoKICAgICAgICAgICAgIHJldHVybiBjc3NWYWx1ZVBvb2woKS5jcmVhdGVW
YWx1ZShzdHlsZS0+ZGlyZWN0aW9uKCkpOwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5RGlzcGxh
eToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKaW5kZXggMzU0NzZiMDc0MDg1ZDQ4NmY2YzI3NTRm
YzQzOWIyM2M0NWU1MzkzYy4uNzNlODM4ODk3MDRkODU3N2I0MDY5MGE5NDE3MzQ5ZTQ0MWQ5MmVm
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKQEAgLTIwNzMsNiArMjA3MywxMSBAQCBib29s
IENTU1BhcnNlcjo6cGFyc2VWYWx1ZShDU1NQcm9wZXJ0eUlEIHByb3BJZCwgYm9vbCBpbXBvcnRh
bnQpCiAgICAgICAgIGJyZWFrOwogICAgIH0KIAorICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRD
dXJzb3JWaXNpYmlsaXR5OgorICAgICAgICBpZiAoaWQgPT0gQ1NTVmFsdWVBdXRvIHx8IGlkID09
IENTU1ZhbHVlQXV0b0hpZGUpCisgICAgICAgICAgICB2YWxpZFByaW1pdGl2ZSA9IHRydWU7Cisg
ICAgICAgIGJyZWFrOworCiAgICAgY2FzZSBDU1NQcm9wZXJ0eUJhY2tncm91bmRBdHRhY2htZW50
OgogICAgIGNhc2UgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kQ2xpcDoKICAgICBjYXNlIENTU1Byb3Bl
cnR5V2Via2l0QmFja2dyb3VuZENsaXA6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1p
dGl2ZVZhbHVlTWFwcGluZ3MuaAppbmRleCA1MzJlOTljMjdmZTdkODM3ZTgzNjA0Y2NiYmEwYmFh
ZWZkY2M1Zjk2Li4yZTEwNTU3ZjVlODAxMzFhN2I4MWU4NTQyMzdjZjVlY2VmMTM1MDAyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKQEAgLTEx
NjMsNiArMTE2MywzMiBAQCB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6b3Bl
cmF0b3IgRUN1cnNvcigpIGNvbnN0CiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PEVDdXJzb3I+KG1f
dmFsdWUuaWRlbnQgLSBDU1NWYWx1ZUF1dG8pOwogfQogCisKK3RlbXBsYXRlPD4gaW5saW5lIENT
U1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShFQ3Vyc29yVmlzaWJpbGl0eSBlKQor
ICAgIDogQ1NTVmFsdWUoUHJpbWl0aXZlQ2xhc3MpCit7CisgICAgbV9wcmltaXRpdmVVbml0VHlw
ZSA9IENTU19JREVOVDsKKyAgICBzd2l0Y2ggKGUpIHsKKyAgICBjYXNlIENVUlNPUl9WSVNJQklM
SVRZX0FVVE86CisgICAgICAgIG1fdmFsdWUuaWRlbnQgPSBDU1NWYWx1ZUF1dG87CisgICAgICAg
IGJyZWFrOworICAgIGNhc2UgQ1VSU09SX1ZJU0lCSUxJVFlfQVVUT19ISURFOgorICAgICAgICBt
X3ZhbHVlLmlkZW50ID0gQ1NTVmFsdWVBdXRvSGlkZTsKKyAgICAgICAgYnJlYWs7CisgICAgfQor
fQorCit0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgRUN1cnNv
clZpc2liaWxpdHkoKSBjb25zdAoreworICAgIGlmIChtX3ZhbHVlLmlkZW50ID09IENTU1ZhbHVl
QXV0bykKKyAgICAgICAgcmV0dXJuIENVUlNPUl9WSVNJQklMSVRZX0FVVE87CisgICAgaWYgKG1f
dmFsdWUuaWRlbnQgPT0gQ1NTVmFsdWVBdXRvSGlkZSkKKyAgICAgICAgcmV0dXJuIENVUlNPUl9W
SVNJQklMSVRZX0FVVE9fSElERTsKKworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJl
dHVybiBDVVJTT1JfVklTSUJJTElUWV9BVVRPOworfQorCiB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQ
cmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoRURpc3BsYXkgZSkKICAgICA6IENTU1Zh
bHVlKFByaW1pdGl2ZUNsYXNzKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1Byb3BlcnR5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5jcHAKaW5kZXgg
YTJjMGU2Y2RiMTJiNGQxMzcwYWI3NDk2OWQ5MTA3NDJiMTMyNjJjNC4uMDkxYzg0YWM3YTk1M2Uw
ZThkOWUxNDBlMzEwMTc3YTg3NTY5Njk1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1Byb3BlcnR5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3Bw
CkBAIC0zMDIsNiArMzAyLDcgQEAgYm9vbCBDU1NQcm9wZXJ0eTo6aXNJbmhlcml0ZWRQcm9wZXJ0
eShDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQpCiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEJv
cmRlclZlcnRpY2FsU3BhY2luZzoKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0Qm94RGlyZWN0
aW9uOgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRDb2xvckNvcnJlY3Rpb246CisgICAgY2Fz
ZSBDU1NQcm9wZXJ0eVdlYmtpdEN1cnNvclZpc2liaWxpdHk6CiAgICAgY2FzZSBDU1NQcm9wZXJ0
eVdlYmtpdEZvbnRGZWF0dXJlU2V0dGluZ3M6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEZv
bnRLZXJuaW5nOgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRGb250U21vb3RoaW5nOgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4gYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbgppbmRleCA5NmQ2NzU2ZDY1YWNlNjlkOGIx
ZWQ0OWI3OTgyMjZkMzAyOGNjNDg3Li5lNGE2ZWZlM2M0MWY3YWQ4NmNmOTIzN2ZjMTZmZDc3M2Ji
ZjhhMjUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5p
bgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbgpAQCAtMTAwLDYg
KzEwMCw3IEBAIGNvbnRlbnQKIGNvdW50ZXItaW5jcmVtZW50CiBjb3VudGVyLXJlc2V0CiBjdXJz
b3IKKy13ZWJraXQtY3Vyc29yLXZpc2liaWxpdHkKIGVtcHR5LWNlbGxzCiBmbG9hdAogZm9udC1z
dHJldGNoCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5p
biBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCmluZGV4IDc1OTI2ZjYy
N2EzN2YyMDZmMTE0ZjE2YTc3NzI5ZThmZDkzNmU4MGIuLmY4NDAyYzVjNmIwMGI4ZWY4NDhiZDE1
NDBjOThhZWE3ZGE2Mzg0MzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1
ZUtleXdvcmRzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmlu
CkBAIC0zNzcsNiArMzc3LDEwIEBAIGFsbC1zY3JvbGwKIC13ZWJraXQtZ3JhYmJpbmcKIC8vIG5v
bmUKIC8vCisvLyBDU1NfUFJPUF9DVVJTT1JfVklTSUJJTElUWToKKy8vIGF1dG8KK2F1dG8taGlk
ZQorLy8KIC8vIENTU19QUk9QX0RJUkVDVElPTjoKIC8vCiBsdHIKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxl
QnVpbGRlci5jcHAKaW5kZXggNGQ4NzhiMmU5YjMyNWUyNWVlMzZhZDhjYmYyYjIwMGYyZjM4MjEw
YS4uNDJlNTlhMzE1NjMzMWQ2NjE2ZTYzOWJmMGMzOTgxNDE2MmRkN2I0MCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL1N0eWxlQnVpbGRlci5jcHAKQEAgLTE5ODEsNiArMTk4MSw3IEBAIFN0eWxlQnVpbGRlcjo6
U3R5bGVCdWlsZGVyKCkKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRD
b2x1bW5TcGFuLCBBcHBseVByb3BlcnR5RGVmYXVsdDxDb2x1bW5TcGFuLCAmUmVuZGVyU3R5bGU6
OmNvbHVtblNwYW4sIENvbHVtblNwYW4sICZSZW5kZXJTdHlsZTo6c2V0Q29sdW1uU3BhbiwgQ29s
dW1uU3BhbiwgJlJlbmRlclN0eWxlOjppbml0aWFsQ29sdW1uU3Bhbj46OmNyZWF0ZUhhbmRsZXIo
KSk7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0Q29sdW1uUnVsZVN0
eWxlLCBBcHBseVByb3BlcnR5RGVmYXVsdDxFQm9yZGVyU3R5bGUsICZSZW5kZXJTdHlsZTo6Y29s
dW1uUnVsZVN0eWxlLCBFQm9yZGVyU3R5bGUsICZSZW5kZXJTdHlsZTo6c2V0Q29sdW1uUnVsZVN0
eWxlLCBFQm9yZGVyU3R5bGUsICZSZW5kZXJTdHlsZTo6aW5pdGlhbEJvcmRlclN0eWxlPjo6Y3Jl
YXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRD
b2x1bW5XaWR0aCwgQXBwbHlQcm9wZXJ0eUF1dG88ZmxvYXQsICZSZW5kZXJTdHlsZTo6Y29sdW1u
V2lkdGgsICZSZW5kZXJTdHlsZTo6c2V0Q29sdW1uV2lkdGgsICZSZW5kZXJTdHlsZTo6aGFzQXV0
b0NvbHVtbldpZHRoLCAmUmVuZGVyU3R5bGU6OnNldEhhc0F1dG9Db2x1bW5XaWR0aCwgQ29tcHV0
ZUxlbmd0aD46OmNyZWF0ZUhhbmRsZXIoKSk7CisgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1By
b3BlcnR5V2Via2l0Q3Vyc29yVmlzaWJpbGl0eSwgQXBwbHlQcm9wZXJ0eURlZmF1bHQ8RUN1cnNv
clZpc2liaWxpdHksICZSZW5kZXJTdHlsZTo6Y3Vyc29yVmlzaWJpbGl0eSwgRUN1cnNvclZpc2li
aWxpdHksICZSZW5kZXJTdHlsZTo6c2V0Q3Vyc29yVmlzaWJpbGl0eSwgRUN1cnNvclZpc2liaWxp
dHksICZSZW5kZXJTdHlsZTo6aW5pdGlhbEN1cnNvclZpc2liaWxpdHk+OjpjcmVhdGVIYW5kbGVy
KCkpOwogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdEFsaWduQ29udGVu
dCwgQXBwbHlQcm9wZXJ0eURlZmF1bHQ8RUFsaWduQ29udGVudCwgJlJlbmRlclN0eWxlOjphbGln
bkNvbnRlbnQsIEVBbGlnbkNvbnRlbnQsICZSZW5kZXJTdHlsZTo6c2V0QWxpZ25Db250ZW50LCBF
QWxpZ25Db250ZW50LCAmUmVuZGVyU3R5bGU6OmluaXRpYWxBbGlnbkNvbnRlbnQ+OjpjcmVhdGVI
YW5kbGVyKCkpOwogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdEFsaWdu
SXRlbXMsIEFwcGx5UHJvcGVydHlEZWZhdWx0PEVBbGlnbkl0ZW1zLCAmUmVuZGVyU3R5bGU6OmFs
aWduSXRlbXMsIEVBbGlnbkl0ZW1zLCAmUmVuZGVyU3R5bGU6OnNldEFsaWduSXRlbXMsIEVBbGln
bkl0ZW1zLCAmUmVuZGVyU3R5bGU6OmluaXRpYWxBbGlnbkl0ZW1zPjo6Y3JlYXRlSGFuZGxlcigp
KTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRBbGlnblNlbGYsIEFw
cGx5UHJvcGVydHlEZWZhdWx0PEVBbGlnbkl0ZW1zLCAmUmVuZGVyU3R5bGU6OmFsaWduU2VsZiwg
RUFsaWduSXRlbXMsICZSZW5kZXJTdHlsZTo6c2V0QWxpZ25TZWxmLCBFQWxpZ25JdGVtcywgJlJl
bmRlclN0eWxlOjppbml0aWFsQWxpZ25TZWxmPjo6Y3JlYXRlSGFuZGxlcigpKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9TdHlsZVJlc29sdmVyLmNwcAppbmRleCA1NmUxMDk5NTQ2NDAwMzQwZWViMzJmYTBmNWE3
ZGNjYTcxNzExYzNhLi40ZTVhMTI2NDIyOWU5NjFkM2M1MzdkNzE2OWJiNjg4ZmNhZjQ2OTlhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCkBAIC0zNzU4LDYgKzM3NTgsNyBAQCB2
b2lkIFN0eWxlUmVzb2x2ZXI6OmFwcGx5UHJvcGVydHkoQ1NTUHJvcGVydHlJRCBpZCwgQ1NTVmFs
dWUqIHZhbHVlKQogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRDb2x1bW5zOgogICAgIGNhc2Ug
Q1NTUHJvcGVydHlXZWJraXRDb2x1bW5TcGFuOgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRD
b2x1bW5XaWR0aDoKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0Q3Vyc29yVmlzaWJpbGl0eToK
ICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0QWxpZ25Db250ZW50OgogICAgIGNhc2UgQ1NTUHJv
cGVydHlXZWJraXRBbGlnbkl0ZW1zOgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRBbGlnblNl
bGY6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvZnVsbHNjcmVlbi5jc3MgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvZnVsbHNjcmVlbi5jc3MKaW5kZXggMTI3NjcwYjA3NmU2ZWUzNmY0NzRj
ZWFjOGI5ZGVlNDY5OWRiMGE4My4uYmU3ZGY1ODBkYmQ5NWJhMGVhNjZkOGEzODU5Mzg5MjEwODM1
ODQ0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL2Z1bGxzY3JlZW4uY3NzCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9mdWxsc2NyZWVuLmNzcwpAQCAtMzEsNiArMzEsMTAgQEAgdmlk
ZW86LXdlYmtpdC1mdWxsLXNjcmVlbiwgYXVkaW86LXdlYmtpdC1mdWxsLXNjcmVlbiB7CiAgICAg
ZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsKIH0KIAorOi13ZWJraXQtZnVsbC1zY3JlZW4gdmlk
ZW86aG92ZXIgeworICAgIC13ZWJraXQtY3Vyc29yLXZpc2liaWxpdHk6YXV0by1oaWRlOworfQor
CiBpbWc6LXdlYmtpdC1mdWxsLXNjcmVlbiB7CiAgICAgd2lkdGg6IGF1dG87CiAgICAgaGVpZ2h0
OiAxMDAlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250
cm9scy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzLmNwcApp
bmRleCAzODE0ZGVkMTZiMGYwMTQ3ZDJjM2RjYzNjNmE3ZDY4ODg4OGY3YmVjLi44ODNhODNhNWY0
ODVmYTA3YzQxZTM4NjNjMmJhN2ZlNjM1ODgxYjEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9NZWRpYUNvbnRyb2xzLmNwcApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIk1l
ZGlhQ29udHJvbHMuaCIKIAogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5oIgor
I2luY2x1ZGUgIlNldHRpbmdzLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzQ0LDcg
KzM0NSw3IEBAIHZvaWQgTWVkaWFDb250cm9sczo6c3RhcnRIaWRlRnVsbHNjcmVlbkNvbnRyb2xz
VGltZXIoKQogICAgIGlmICghcGFnZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9oaWRlRnVs
bHNjcmVlbkNvbnRyb2xzVGltZXIuc3RhcnRPbmVTaG90KHBhZ2UtPnRoZW1lKCktPnRpbWVXaXRo
b3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKCkpOworICAgIG1faGlkZUZ1bGxz
Y3JlZW5Db250cm9sc1RpbWVyLnN0YXJ0T25lU2hvdChwYWdlLT5zZXR0aW5ncygpLT50aW1lV2l0
aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scygpKTsKIH0KIAogdm9pZCBNZWRp
YUNvbnRyb2xzOjpzdG9wSGlkZUZ1bGxzY3JlZW5Db250cm9sc1RpbWVyKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRXZlbnRIYW5kbGVyLmNwcAppbmRleCA0MzZiYjM1MjA2MTQ4MTdjZDE3YjIyZTJhYWY3ZTY5
OTdiYmYzNDkyLi5jNDE4YzI1MzliN2FjOGJiNTkxNWY1NGZiNzFhNWFhY2Y0M2ZkZTI1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCkBAIC03Miw2ICs3Miw3IEBACiAjaW5jbHVk
ZSAiUmVuZGVyRnJhbWVTZXQuaCIKICNpbmNsdWRlICJSZW5kZXJMYXllci5oIgogI2luY2x1ZGUg
IlJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5oIgorI2luY2x1ZGUgIlJlbmRlclRoZW1lLmgi
CiAjaW5jbHVkZSAiUmVuZGVyVmlldy5oIgogI2luY2x1ZGUgIlJlbmRlcldpZGdldC5oIgogI2lu
Y2x1ZGUgIlNjcm9sbEFuaW1hdG9yLmgiCkBAIC0zNDksMTIgKzM1MCwxNCBAQCBFdmVudEhhbmRs
ZXI6OkV2ZW50SGFuZGxlcihGcmFtZSogZnJhbWUpCiAgICAgLCBtX2Jhc2VFdmVudFR5cGUoUGxh
dGZvcm1FdmVudDo6Tm9UeXBlKQogICAgICwgbV9kaWRTdGFydERyYWcoZmFsc2UpCiAgICAgLCBt
X2RpZExvbmdQcmVzc0ludm9rZUNvbnRleHRNZW51KGZhbHNlKQorICAgICwgbV9hdXRvSGlkZUN1
cnNvclRpbWVyKHRoaXMsICZFdmVudEhhbmRsZXI6OmF1dG9IaWRlQ3Vyc29yVGltZXJGaXJlZCkK
IHsKIH0KIAogRXZlbnRIYW5kbGVyOjp+RXZlbnRIYW5kbGVyKCkKIHsKICAgICBBU1NFUlQoIW1f
ZmFrZU1vdXNlTW92ZUV2ZW50VGltZXIuaXNBY3RpdmUoKSk7CisgICAgQVNTRVJUKCFtX2F1dG9I
aWRlQ3Vyc29yVGltZXIuaXNBY3RpdmUoKSk7CiB9CiAgICAgCiAjaWYgRU5BQkxFKERSQUdfU1VQ
UE9SVCkKQEAgLTM2OSw2ICszNzIsNyBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6Y2xlYXIoKQogewog
ICAgIG1faG92ZXJUaW1lci5zdG9wKCk7CiAgICAgbV9mYWtlTW91c2VNb3ZlRXZlbnRUaW1lci5z
dG9wKCk7CisgICAgY2FuY2VsQXV0b0hpZGVDdXJzb3JUaW1lcigpOwogICAgIG1fcmVzaXplTGF5
ZXIgPSAwOwogICAgIG1fbm9kZVVuZGVyTW91c2UgPSAwOwogICAgIG1fbGFzdE5vZGVVbmRlck1v
dXNlID0gMDsKQEAgLTEyMzMsNiArMTIzNywxMSBAQCBPcHRpb25hbEN1cnNvciBFdmVudEhhbmRs
ZXI6OnNlbGVjdEN1cnNvcihjb25zdCBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzJiBldgog
ICAgIGJvb2wgaG9yaXpvbnRhbFRleHQgPSAhc3R5bGUgfHwgc3R5bGUtPmlzSG9yaXpvbnRhbFdy
aXRpbmdNb2RlKCk7CiAgICAgY29uc3QgQ3Vyc29yJiBpQmVhbSA9IGhvcml6b250YWxUZXh0ID8g
aUJlYW1DdXJzb3IoKSA6IHZlcnRpY2FsVGV4dEN1cnNvcigpOwogCisgICAgaWYgKHN0eWxlICYm
IHN0eWxlLT5jdXJzb3JWaXNpYmlsaXR5KCkgPT0gQ1VSU09SX1ZJU0lCSUxJVFlfQVVUT19ISURF
KQorICAgICAgICBzdGFydEF1dG9IaWRlQ3Vyc29yVGltZXIoKTsKKyAgICBlbHNlCisgICAgICAg
IGNhbmNlbEF1dG9IaWRlQ3Vyc29yVGltZXIoKTsKKwogICAgIC8vIER1cmluZyBzZWxlY3Rpb24s
IHVzZSBhbiBJLWJlYW0gbm8gbWF0dGVyIHdoYXQgd2UncmUgb3Zlci4KICAgICAvLyBJZiBhIGRy
YWcgbWF5IGJlIHN0YXJ0aW5nIG9yIHdlJ3JlIGNhcHR1cmluZyBtb3VzZSBldmVudHMgZm9yIGEg
cGFydGljdWxhciBub2RlLCBkb24ndCB0cmVhdCB0aGlzIGFzIGEgc2VsZWN0aW9uLgogICAgIGlm
IChtX21vdXNlUHJlc3NlZCAmJiBtX21vdXNlRG93bk1heVN0YXJ0U2VsZWN0CkBAIC0xMzgxLDYg
KzEzOTAsMzUgQEAgT3B0aW9uYWxDdXJzb3IgRXZlbnRIYW5kbGVyOjpzZWxlY3RDdXJzb3IoY29u
c3QgTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cyYgZXYKICAgICByZXR1cm4gcG9pbnRlckN1
cnNvcigpOwogfQogCit2b2lkIEV2ZW50SGFuZGxlcjo6c3RhcnRBdXRvSGlkZUN1cnNvclRpbWVy
KCkKK3sKKyAgICBQYWdlKiBwYWdlID0gbV9mcmFtZS0+cGFnZSgpOworICAgIGlmICghcGFnZSkK
KyAgICAgICAgcmV0dXJuOworCisgICAgbV9hdXRvSGlkZUN1cnNvclRpbWVyLnN0YXJ0T25lU2hv
dChwYWdlLT5zZXR0aW5ncygpLT50aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdD
b250cm9scygpKTsKKworICAgIC8vIFRoZSBmYWtlIG1vdXNlIG1vdmUgZXZlbnQgc2NyZXdzIHVw
IHRoZSBhdXRvLWhpZGUgZmVhdHVyZSAoYnkgcmVzZXR0aW5nIHRoZSBhdXRvLWhpZGUgdGltZXIp
CisgICAgLy8gc28gY2FuY2VsIGFueSBwZW5kaW5nIGZha2UgbW91c2UgbW92ZXMuCisgICAgaWYg
KG1fZmFrZU1vdXNlTW92ZUV2ZW50VGltZXIuaXNBY3RpdmUoKSkKKyAgICAgICAgbV9mYWtlTW91
c2VNb3ZlRXZlbnRUaW1lci5zdG9wKCk7Cit9CisKK3ZvaWQgRXZlbnRIYW5kbGVyOjpjYW5jZWxB
dXRvSGlkZUN1cnNvclRpbWVyKCkKK3sKKyAgICBpZiAobV9hdXRvSGlkZUN1cnNvclRpbWVyLmlz
QWN0aXZlKCkpCisgICAgICAgIG1fYXV0b0hpZGVDdXJzb3JUaW1lci5zdG9wKCk7Cit9CisKK3Zv
aWQgRXZlbnRIYW5kbGVyOjphdXRvSGlkZUN1cnNvclRpbWVyRmlyZWQoVGltZXI8RXZlbnRIYW5k
bGVyPiogdGltZXIpCit7CisgICAgQVNTRVJUX1VOVVNFRCh0aW1lciwgdGltZXIgPT0gJm1fYXV0
b0hpZGVDdXJzb3JUaW1lcik7CisgICAgbV9jdXJyZW50TW91c2VDdXJzb3IgPSBub25lQ3Vyc29y
KCk7CisgICAgRnJhbWVWaWV3KiB2aWV3ID0gbV9mcmFtZS0+dmlldygpOworICAgIGlmICh2aWV3
ICYmIHZpZXctPmlzQWN0aXZlKCkpCisgICAgICAgIHZpZXctPnNldEN1cnNvcihtX2N1cnJlbnRN
b3VzZUN1cnNvcik7Cit9CisKIHN0YXRpYyBMYXlvdXRQb2ludCBkb2N1bWVudFBvaW50Rm9yV2lu
ZG93UG9pbnQoRnJhbWUqIGZyYW1lLCBjb25zdCBJbnRQb2ludCYgd2luZG93UG9pbnQpCiB7CiAg
ICAgRnJhbWVWaWV3KiB2aWV3ID0gZnJhbWUtPnZpZXcoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFu
ZGxlci5oCmluZGV4IGExZTAyMmVkYTg4ZGU4ZjY5ZDNmZjc0YzAwYTVlZDkzMDI3Yjg2NWUuLmVk
NzNmNWIxYTA0YWU4ZWFmOGUyMjQ5MDQwYTUzMmUxYjU2OGQ3YWEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9F
dmVudEhhbmRsZXIuaApAQCAtMzg4LDYgKzM4OCwxMCBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBz
ZXRMYXN0S25vd25Nb3VzZVBvc2l0aW9uKGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYpOwogCisg
ICAgdm9pZCBzdGFydEF1dG9IaWRlQ3Vyc29yVGltZXIoKTsKKyAgICB2b2lkIGNhbmNlbEF1dG9I
aWRlQ3Vyc29yVGltZXIoKTsKKyAgICB2b2lkIGF1dG9IaWRlQ3Vyc29yVGltZXJGaXJlZChUaW1l
cjxFdmVudEhhbmRsZXI+Kik7CisKICAgICBGcmFtZSogbV9mcmFtZTsKIAogICAgIGJvb2wgbV9t
b3VzZVByZXNzZWQ7CkBAIC00ODMsNiArNDg3LDggQEAgcHJpdmF0ZToKICAgICBQbGF0Zm9ybUV2
ZW50OjpUeXBlIG1fYmFzZUV2ZW50VHlwZTsKICAgICBib29sIG1fZGlkU3RhcnREcmFnOwogICAg
IGJvb2wgbV9kaWRMb25nUHJlc3NJbnZva2VDb250ZXh0TWVudTsKKworICAgIFRpbWVyPEV2ZW50
SGFuZGxlcj4gbV9hdXRvSGlkZUN1cnNvclRpbWVyOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKaW5kZXggYzA2MTgzOGU2YjJjNzc1NDAxZmMyNzFi
NGRmMDFmYmRkYWJlMmRjMC4uOWZjZDg3NDJmOWQxYzMzMjAwMGE5NTk1Njc5YjkwZTgzNDllYzI4
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCkBAIC0zOTcsNiArMzk3LDggQEAgcHVibGljOgog
ICAgIHZvaWQgc2V0SW5pdGlhbFZpZXdwb3J0U2l6ZShjb25zdCBJbnRTaXplJiBzaXplKSB7IG1f
aW5pdGlhbFZpZXdwb3J0U2l6ZSA9IHNpemU7IH0KICNlbmRpZgogCisgICAgdmlydHVhbCBib29s
IGlzQWN0aXZlKCkgY29uc3QgT1ZFUlJJREU7CisKIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIGJv
b2wgc2Nyb2xsQ29udGVudHNGYXN0UGF0aChjb25zdCBJbnRTaXplJiBzY3JvbGxEZWx0YSwgY29u
c3QgSW50UmVjdCYgcmVjdFRvU2Nyb2xsLCBjb25zdCBJbnRSZWN0JiBjbGlwUmVjdCk7CiAgICAg
dmlydHVhbCB2b2lkIHNjcm9sbENvbnRlbnRzU2xvd1BhdGgoY29uc3QgSW50UmVjdCYgdXBkYXRl
UmVjdCk7CkBAIC00NDYsNyArNDQ4LDYgQEAgcHJpdmF0ZToKIAogICAgIC8vIFNjcm9sbGFibGVB
cmVhIGludGVyZmFjZQogICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlU2Nyb2xsYmFyUmVjdChT
Y3JvbGxiYXIqLCBjb25zdCBJbnRSZWN0JikgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCBib29sIGlz
QWN0aXZlKCkgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGdldFRpY2ttYXJrcyhW
ZWN0b3I8SW50UmVjdD4mKSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xs
VG8oY29uc3QgSW50U2l6ZSYpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBzZXRWaXNpYmxl
U2Nyb2xsZXJUaHVtYlJlY3QoY29uc3QgSW50UmVjdCYpIE9WRVJSSURFOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Nl
dHRpbmdzLmNwcAppbmRleCBjZDU1YjQ5ZWYwOTA5YjdhMjNhNTA0NzUwODNlNTNkYjczMzlhMDRh
Li40MzNjMTRmYWEwZmUyYjc4OGZiMDM5ZDliODAyODY2ZTVhZTVkNzFiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1NldHRpbmdzLmNwcApAQCAtMTg0LDYgKzE4NCw3IEBAIFNldHRpbmdzOjpTZXR0aW5ncyhQYWdl
KiBwYWdlKQogI2VuZGlmCiAgICAgLCBtX3Njcm9sbGluZ1BlcmZvcm1hbmNlTG9nZ2luZ0VuYWJs
ZWQoZmFsc2UpCiAgICAgLCBtX2FnZ3Jlc3NpdmVUaWxlUmV0ZW50aW9uRW5hYmxlZChmYWxzZSkK
KyAgICAsIG1fdGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMoMykK
ICAgICAsIG1fc2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lcih0aGlzLCAmU2V0dGluZ3M6Omlt
YWdlTG9hZGluZ1NldHRpbmdzVGltZXJGaXJlZCkKIHsKICAgICAvLyBBIEZyYW1lIG1heSBub3Qg
aGF2ZSBiZWVuIGNyZWF0ZWQgeWV0LCBzbyB3ZSBpbml0aWFsaXplIHRoZSBBdG9taWNTdHJpbmcK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvU2V0dGluZ3MuaAppbmRleCAyNWFkOGQ4ZDhiMTMxN2E4YmNjOWFjNzAxOWMwOWUz
NWRlOWE0YWI1Li40Y2RlZTUzNWNhYTUwZWU5MGRmNTYwNGQxMDk0M2ViZjljYWNmNmY4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9TZXR0aW5ncy5oCkBAIC0yNjQsNiArMjY0LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgICAgICBzdGF0aWMgYm9vbCBzaG91bGRSZXNwZWN0UHJpb3JpdHlJbkNTU0F0dHJpYnV0
ZVNldHRlcnMoKTsKICNlbmRpZgogCisgICAgICAgIHZvaWQgc2V0VGltZVdpdGhvdXRNb3VzZU1v
dmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMoZG91YmxlIHRpbWUpIHsgbV90aW1lV2l0aG91dE1v
dXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyA9IHRpbWU7IH0KKyAgICAgICAgZG91Ymxl
IHRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKCkgY29uc3QgeyBy
ZXR1cm4gbV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9sczsgfQor
CiAgICAgcHJpdmF0ZToKICAgICAgICAgZXhwbGljaXQgU2V0dGluZ3MoUGFnZSopOwogCkBAIC0z
MjAsNiArMzIzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29sIG1fc2Nyb2xs
aW5nUGVyZm9ybWFuY2VMb2dnaW5nRW5hYmxlZCA6IDE7CiAgICAgICAgIGJvb2wgbV9hZ2dyZXNz
aXZlVGlsZVJldGVudGlvbkVuYWJsZWQgOiAxOwogCisgICAgICAgIGRvdWJsZSBtX3RpbWVXaXRo
b3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzOworCiAgICAgICAgIFRpbWVyPFNl
dHRpbmdzPiBtX3NldEltYWdlTG9hZGluZ1NldHRpbmdzVGltZXI7CiAgICAgICAgIHZvaWQgaW1h
Z2VMb2FkaW5nU2V0dGluZ3NUaW1lckZpcmVkKFRpbWVyPFNldHRpbmdzPiopOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCmluZGV4IDgxMTZiYTMxOGRkMWIzYzM0NjVjMGJi
NDBmNGY5NmNiOWZlNzk4MmIuLjU1NWFjNTA3Njk2YjVlNmMyMmNlNzhjYzg5MGZjNTc0YWM5Y2Ew
M2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCkBAIC0yMDUsNyArMjA1
LDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCB1c2VzVmVydGljYWxWb2x1bWVTbGlkZXIo
KSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCBkb3VibGUgbWVkaWFDb250cm9s
c0ZhZGVJbkR1cmF0aW9uKCkgeyByZXR1cm4gMC4xOyB9CiAgICAgdmlydHVhbCBkb3VibGUgbWVk
aWFDb250cm9sc0ZhZGVPdXREdXJhdGlvbigpIHsgcmV0dXJuIDAuMzsgfQotICAgIHZpcnR1YWwg
ZG91YmxlIHRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKCkgeyBy
ZXR1cm4gMy4wOyB9CiAgICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0TWVkaWFDb250cm9sc1RpbWUo
ZmxvYXQgdGltZSkgY29uc3Q7CiAgICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0TWVkaWFDb250cm9s
c0N1cnJlbnRUaW1lKGZsb2F0IGN1cnJlbnRUaW1lLCBmbG9hdCBkdXJhdGlvbikgY29uc3Q7CiAg
ICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0TWVkaWFDb250cm9sc1JlbWFpbmluZ1RpbWUoZmxvYXQg
Y3VycmVudFRpbWUsIGZsb2F0IGR1cmF0aW9uKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKaW5kZXggMmFlNGQ3OTA2MjlkYzdmM2JmMDFmNWNh
NDEzMGE2ZjI4YWZmODBmNC4uMjM1YmVmMWE1OTU2NDcwOGNmMWJjYmQyMWUwZDgzNzM3MWJjYzU5
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKQEAg
LTE2Niw2ICsxNjYsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgICAgICAgICAgJiYgKF90ZXh0X3Ry
YW5zZm9ybSA9PSBvdGhlci5fdGV4dF90cmFuc2Zvcm0pCiAgICAgICAgICAgICAgICAgJiYgKF90
ZXh0X2RlY29yYXRpb25zID09IG90aGVyLl90ZXh0X2RlY29yYXRpb25zKQogICAgICAgICAgICAg
ICAgICYmIChfY3Vyc29yX3N0eWxlID09IG90aGVyLl9jdXJzb3Jfc3R5bGUpCisgICAgICAgICAg
ICAgICAgJiYgKF9jdXJzb3JfdmlzaWJpbGl0eV9zdHlsZSA9PSBvdGhlci5fY3Vyc29yX3Zpc2li
aWxpdHlfc3R5bGUpCiAgICAgICAgICAgICAgICAgJiYgKF9kaXJlY3Rpb24gPT0gb3RoZXIuX2Rp
cmVjdGlvbikKICAgICAgICAgICAgICAgICAmJiAoX3doaXRlX3NwYWNlID09IG90aGVyLl93aGl0
ZV9zcGFjZSkKICAgICAgICAgICAgICAgICAmJiAoX2JvcmRlcl9jb2xsYXBzZSA9PSBvdGhlci5f
Ym9yZGVyX2NvbGxhcHNlKQpAQCAtMTg4LDYgKzE4OSw3IEBAIHByb3RlY3RlZDoKICAgICAgICAg
dW5zaWduZWQgX3RleHRfdHJhbnNmb3JtIDogMjsgLy8gRVRleHRUcmFuc2Zvcm0KICAgICAgICAg
dW5zaWduZWQgX3RleHRfZGVjb3JhdGlvbnMgOiBFVGV4dERlY29yYXRpb25CaXRzOwogICAgICAg
ICB1bnNpZ25lZCBfY3Vyc29yX3N0eWxlIDogNjsgLy8gRUN1cnNvcgorICAgICAgICB1bnNpZ25l
ZCBfY3Vyc29yX3Zpc2liaWxpdHlfc3R5bGUgOiAxOyAvLyBFQ3Vyc29yVmlzaWJpbGl0eQogICAg
ICAgICB1bnNpZ25lZCBfZGlyZWN0aW9uIDogMTsgLy8gVGV4dERpcmVjdGlvbgogICAgICAgICB1
bnNpZ25lZCBfd2hpdGVfc3BhY2UgOiAzOyAvLyBFV2hpdGVTcGFjZQogICAgICAgICAvLyAzMiBi
aXRzCkBAIC0yOTMsNiArMjk1LDcgQEAgcHJvdGVjdGVkOgogICAgICAgICBpbmhlcml0ZWRfZmxh
Z3MuX3RleHRfdHJhbnNmb3JtID0gaW5pdGlhbFRleHRUcmFuc2Zvcm0oKTsKICAgICAgICAgaW5o
ZXJpdGVkX2ZsYWdzLl90ZXh0X2RlY29yYXRpb25zID0gaW5pdGlhbFRleHREZWNvcmF0aW9uKCk7
CiAgICAgICAgIGluaGVyaXRlZF9mbGFncy5fY3Vyc29yX3N0eWxlID0gaW5pdGlhbEN1cnNvcigp
OworICAgICAgICBpbmhlcml0ZWRfZmxhZ3MuX2N1cnNvcl92aXNpYmlsaXR5X3N0eWxlID0gaW5p
dGlhbEN1cnNvclZpc2liaWxpdHkoKTsKICAgICAgICAgaW5oZXJpdGVkX2ZsYWdzLl9kaXJlY3Rp
b24gPSBpbml0aWFsRGlyZWN0aW9uKCk7CiAgICAgICAgIGluaGVyaXRlZF9mbGFncy5fd2hpdGVf
c3BhY2UgPSBpbml0aWFsV2hpdGVTcGFjZSgpOwogICAgICAgICBpbmhlcml0ZWRfZmxhZ3MuX2Jv
cmRlcl9jb2xsYXBzZSA9IGluaXRpYWxCb3JkZXJDb2xsYXBzZSgpOwpAQCAtNzAwLDYgKzcwMyw3
IEBAIHB1YmxpYzoKICAgICBMZW5ndGggcGFkZGluZ0VuZCgpIGNvbnN0IHsgcmV0dXJuIHN1cnJv
dW5kLT5wYWRkaW5nLmVuZCh3cml0aW5nTW9kZSgpLCBkaXJlY3Rpb24oKSk7IH0KIAogICAgIEVD
dXJzb3IgY3Vyc29yKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8RUN1cnNvcj4oaW5oZXJp
dGVkX2ZsYWdzLl9jdXJzb3Jfc3R5bGUpOyB9CisgICAgRUN1cnNvclZpc2liaWxpdHkgY3Vyc29y
VmlzaWJpbGl0eSgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEVDdXJzb3JWaXNpYmlsaXR5
Pihpbmhlcml0ZWRfZmxhZ3MuX2N1cnNvcl92aXNpYmlsaXR5X3N0eWxlKTsgfQogCiAgICAgQ3Vy
c29yTGlzdCogY3Vyc29ycygpIGNvbnN0IHsgcmV0dXJuIHJhcmVJbmhlcml0ZWREYXRhLT5jdXJz
b3JEYXRhLmdldCgpOyB9CiAKQEAgLTExOTQsNiArMTE5OCw4IEBAIHB1YmxpYzoKICAgICB2b2lk
IHNldEN1cnNvckxpc3QoUGFzc1JlZlB0cjxDdXJzb3JMaXN0Pik7CiAgICAgdm9pZCBjbGVhckN1
cnNvckxpc3QoKTsKIAorICAgIHZvaWQgc2V0Q3Vyc29yVmlzaWJpbGl0eShFQ3Vyc29yVmlzaWJp
bGl0eSBjKSB7IGluaGVyaXRlZF9mbGFncy5fY3Vyc29yX3Zpc2liaWxpdHlfc3R5bGUgPSBjOyB9
CisKICAgICB2b2lkIHNldEluc2lkZUxpbmsoRUluc2lkZUxpbmsgaW5zaWRlTGluaykgeyBpbmhl
cml0ZWRfZmxhZ3MuX2luc2lkZUxpbmsgPSBpbnNpZGVMaW5rOyB9CiAgICAgdm9pZCBzZXRJc0xp
bmsoYm9vbCBiKSB7IG5vbmluaGVyaXRlZF9mbGFncy5zZXRJc0xpbmsoYik7IH0KIApAQCAtMTU1
MCw2ICsxNTU2LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBzaG9ydCBpbml0aWFsSG9yaXpvbnRh
bEJvcmRlclNwYWNpbmcoKSB7IHJldHVybiAwOyB9CiAgICAgc3RhdGljIHNob3J0IGluaXRpYWxW
ZXJ0aWNhbEJvcmRlclNwYWNpbmcoKSB7IHJldHVybiAwOyB9CiAgICAgc3RhdGljIEVDdXJzb3Ig
aW5pdGlhbEN1cnNvcigpIHsgcmV0dXJuIENVUlNPUl9BVVRPOyB9CisgICAgc3RhdGljIEVDdXJz
b3JWaXNpYmlsaXR5IGluaXRpYWxDdXJzb3JWaXNpYmlsaXR5KCkgeyByZXR1cm4gQ1VSU09SX1ZJ
U0lCSUxJVFlfQVVUTzsgfQogICAgIHN0YXRpYyBDb2xvciBpbml0aWFsQ29sb3IoKSB7IHJldHVy
biBDb2xvcjo6YmxhY2s7IH0KICAgICBzdGF0aWMgU3R5bGVJbWFnZSogaW5pdGlhbExpc3RTdHls
ZUltYWdlKCkgeyByZXR1cm4gMDsgfQogICAgIHN0YXRpYyB1bnNpZ25lZCBpbml0aWFsQm9yZGVy
V2lkdGgoKSB7IHJldHVybiAzOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCmluZGV4IDhjMmMwYjU4NmY0YjQ4ZWE5YWQ0
MmQwMmFjYmMyNDQyNWUxZDcxMzYuLmJiYTczNDE0NDBkODk5OWFkNTIyNmQzMjUzNjM3ODBhNWRi
ZDhjYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJT
dHlsZUNvbnN0YW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5k
ZXJTdHlsZUNvbnN0YW50cy5oCkBAIC00MTgsNiArNDE4LDExIEBAIGVudW0gRUN1cnNvciB7CiAg
ICAgQ1VSU09SX05PTkUKIH07CiAKK2VudW0gRUN1cnNvclZpc2liaWxpdHkgeworICAgIENVUlNP
Ul9WSVNJQklMSVRZX0FVVE8sCisgICAgQ1VSU09SX1ZJU0lCSUxJVFlfQVVUT19ISURFLAorfTsK
KwogLy8gVGhlIG9yZGVyIG9mIHRoaXMgZW51bSBtdXN0IG1hdGNoIHRoZSBvcmRlciBvZiB0aGUg
ZGlzcGxheSB2YWx1ZXMgaW4gQ1NTVmFsdWVLZXl3b3Jkcy5pbi4KIGVudW0gRURpc3BsYXkgewog
ICAgIElOTElORSwgQkxPQ0ssIExJU1RfSVRFTSwgUlVOX0lOLCBDT01QQUNULCBJTkxJTkVfQkxP
Q0ssCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3Mu
Y3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcAppbmRleCAx
MjYyYWVmNWYwM2Y2OGI4ZWM2YjRiNmZlMDE2ZTM1MWJjNTVlZjUwLi5jMGY1ODc3YTQ4NzliMWNh
ZWVlYmI3NzE1NWQ1YzZmYmNmZWI0MGI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxTZXR0aW5ncy5jcHAKQEAgLTk0LDYgKzk0LDcgQEAgSW50ZXJuYWxTZXR0aW5nczo6QmFj
a3VwOjpCYWNrdXAoU2V0dGluZ3MqIHNldHRpbmdzKQogICAgICwgbV9zaG91bGREaXNwbGF5Q2Fw
dGlvbnMoc2V0dGluZ3MtPnNob3VsZERpc3BsYXlDYXB0aW9ucygpKQogICAgICwgbV9zaG91bGRE
aXNwbGF5VGV4dERlc2NyaXB0aW9ucyhzZXR0aW5ncy0+c2hvdWxkRGlzcGxheVRleHREZXNjcmlw
dGlvbnMoKSkKICNlbmRpZgorICAgICwgbV9vcmlnaW5hbFRpbWVXaXRob3V0TW91c2VNb3ZlbWVu
dEJlZm9yZUhpZGluZ0NvbnRyb2xzKHNldHRpbmdzLT50aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRC
ZWZvcmVIaWRpbmdDb250cm9scygpKQogewogfQogCkBAIC0xMjksNiArMTMwLDcgQEAgdm9pZCBJ
bnRlcm5hbFNldHRpbmdzOjpCYWNrdXA6OnJlc3RvcmVUbyhTZXR0aW5ncyogc2V0dGluZ3MpCiAg
ICAgc2V0dGluZ3MtPnNldFNob3VsZERpc3BsYXlDYXB0aW9ucyhtX3Nob3VsZERpc3BsYXlDYXB0
aW9ucyk7CiAgICAgc2V0dGluZ3MtPnNldFNob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zKG1f
c2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnMpOwogI2VuZGlmCisgICAgc2V0dGluZ3MtPnNl
dFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKG1fb3JpZ2luYWxU
aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyk7CiB9CiAKIC8vIFdl
IGNhbid0IHVzZSBSZWZDb3VudGVkU3VwcGxlbWVudCBiZWNhdXNlIHRoYXQgd291bGQgdHJ5IHRv
IG1ha2UgSW50ZXJuYWxTZXR0aW5ncyBSZWZDb3VudGVkCkBAIC00ODcsNCArNDg5LDEwIEBAIHZv
aWQgSW50ZXJuYWxTZXR0aW5nczo6c2V0TWluaW11bVRpbWVySW50ZXJ2YWwoZG91YmxlIGludGVy
dmFsSW5TZWNvbmRzLCBFeGNlcHRpCiAgICAgc2V0dGluZ3MoKS0+c2V0TWluRE9NVGltZXJJbnRl
cnZhbChpbnRlcnZhbEluU2Vjb25kcyk7CiB9CiAKK3ZvaWQgSW50ZXJuYWxTZXR0aW5nczo6c2V0
VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMoZG91YmxlIHRpbWUs
IEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIEludGVybmFsU2V0dGluZ3NHdWFyZEZvclNldHRp
bmdzKCk7CisgICAgc2V0dGluZ3MoKS0+c2V0VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3Jl
SGlkaW5nQ29udHJvbHModGltZSk7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbFNldHRpbmdzLmgKaW5kZXggZDY3MjRkYTY5YmZjOGQwMWVhZGQwYzU5OTFhZjk3N2RjMTEx
ODgyOC4uMjVjMjVmZTA4ODQwNGI0YmJiZmM2M2FkNjEyZDkxMjFmMzBkYWI2NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKQEAgLTgyLDYgKzgyLDcgQEAgcHVi
bGljOgogICAgICAgICBib29sIG1fc2hvdWxkRGlzcGxheUNhcHRpb25zOwogICAgICAgICBib29s
IG1fc2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnM7CiAjZW5kaWYKKyAgICAgICAgYm9vbCBt
X29yaWdpbmFsVGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHM7CiAg
ICAgfTsKIAogICAgIHN0YXRpYyBQYXNzUmVmUHRyPEludGVybmFsU2V0dGluZ3M+IGNyZWF0ZShQ
YWdlKiBwYWdlKQpAQCAtMTI2LDYgKzEyNyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldExhbmdB
dHRyaWJ1dGVBd2FyZUZvcm1Db250cm9sVUlFbmFibGVkKGJvb2wpOwogICAgIHZvaWQgc2V0SW1h
Z2VzRW5hYmxlZChib29sIGVuYWJsZWQsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lkIHNldE1p
bmltdW1UaW1lckludGVydmFsKGRvdWJsZSBpbnRlcnZhbEluU2Vjb25kcywgRXhjZXB0aW9uQ29k
ZSYpOworICAgIHZvaWQgc2V0VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29u
dHJvbHMoZG91YmxlIHRpbWUsIEV4Y2VwdGlvbkNvZGUmKTsKIAogcHJpdmF0ZToKICAgICBleHBs
aWNpdCBJbnRlcm5hbFNldHRpbmdzKFBhZ2UqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFsU2V0dGluZ3MuaWRsCmluZGV4IDVkZGIwYWU3M2FlMzQxODA0NjFmZDAxNmFiNzVmYWVl
YzMzMTNjMTQuLmRkMzQxNjAxNTJlZmFlMmQ3ZGU1ZDc3Y2M0MDQ3NGIxN2EzZTY5ZjYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbApAQCAtNTksNCArNTks
NSBAQAogICAgIHZvaWQgc2V0U3RvcmFnZUJsb2NraW5nUG9saWN5KGluIERPTVN0cmluZyBwb2xp
Y3kpIHJhaXNlcyhET01FeGNlcHRpb24pOwogICAgIHZvaWQgc2V0SW1hZ2VzRW5hYmxlZChpbiBi
b29sZWFuIGVuYWJsZWQpIHJhaXNlcyhET01FeGNlcHRpb24pOwogICAgIHZvaWQgc2V0TWluaW11
bVRpbWVySW50ZXJ2YWwoaW4gZG91YmxlIGludGVydmFsSW5TZWNvbmRzKSByYWlzZXMoRE9NRXhj
ZXB0aW9uKTsKKyAgICB2b2lkIHNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGlu
Z0NvbnRyb2xzKGluIGRvdWJsZSB0aW1lKSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKIH07CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggYWI2Yzk3MGE1OThjNDFhZWYyYjZkZGYwMGRlYmUyYjVhMzcxZTk4Yy4uNDQ3YTljMzQ0ZGFh
MDY1ZDgyZTVkNzFkYTZlMzU5NmQ4N2Y4YmQ5YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEz
LTAxLTIzICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIERlZmF1
bHQgbW91c2UgY3Vyc29yIGJlaGF2aW9yIHNob3VsZCBiZSBhdXRvLWhpZGUgZm9yIGZ1bGwgc2Ny
ZWVuIHZpZGVvIHdpdGggY3VzdG9tIGNvbnRyb2xzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDc2MDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIGZ1bGxzY3JlZW4vdmlkZW8tY3Vyc29yLWF1dG8taGlk
ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZ1bGxzY3JlZW4vdmlkZW8tY3Vyc29y
LWF1dG8taGlkZS5odG1sOiBBZGRlZC4KKwogMjAxMy0wMy0wNCAgQ2hyaXMgRmxlaXphY2ggIDxj
ZmxlaXphY2hAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYlNwZWVjaDogY2hhbmdlIHZvaWNlVVJJ
IHRvIHZvaWNlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mdWxsc2NyZWVuL3ZpZGVvLWN1cnNv
ci1hdXRvLWhpZGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZnVsbHNjcmVlbi92aWRlby1j
dXJzb3ItYXV0by1oaWRlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZWJlZmRlMWQxYzM0NTli
MDY2ZmMzZDMzMTZkMzlhYTczMDg0ZjE0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZnVsbHNjcmVlbi92aWRlby1jdXJzb3ItYXV0by1oaWRlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDcgQEAKK1RoaXMgdGVzdHMgdGhhdCB0aGUgY3Vyc29yIGhpZGVzIGFmdGVyIGhvdmVyaW5nIG92
ZXIgYSB2aWRlbyBlbGVtZW50IGluIGZ1bGwgc2NyZWVuIG1vZGUuCisKK0VWRU5UKHdlYmtpdGZ1
bGxzY3JlZW5jaGFuZ2UpCitFWFBFQ1RFRCAod2luZG93LmludGVybmFscy5nZXRDdXJyZW50Q3Vy
c29ySW5mbyhkb2N1bWVudCkgPT0gJ3R5cGU9UG9pbnRlciBob3RTcG90PTAsMCcpIE9LCitFWFBF
Q1RFRCAod2luZG93LmludGVybmFscy5nZXRDdXJyZW50Q3Vyc29ySW5mbyhkb2N1bWVudCkgPT0g
J3R5cGU9Tm9uZSBob3RTcG90PTAsMCcpIE9LCitFTkQgT0YgVEVTVAorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mdWxsc2NyZWVuL3ZpZGVvLWN1cnNvci1hdXRvLWhpZGUuaHRtbCBiL0xheW91
dFRlc3RzL2Z1bGxzY3JlZW4vdmlkZW8tY3Vyc29yLWF1dG8taGlkZS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU3NzY0MWViMTdhZmU2MjM3MjljOTMxNGQ3ODY4NGRjNzVlN2IwYjUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mdWxsc2NyZWVuL3ZpZGVvLWN1cnNvci1hdXRvLWhpZGUuaHRtbApA
QCAtMCwwICsxLDMxIEBACis8Ym9keT4KKyAgICA8cD5UaGlzIHRlc3RzIHRoYXQgdGhlIGN1cnNv
ciBoaWRlcyBhZnRlciBob3ZlcmluZyBvdmVyIGEgdmlkZW8gZWxlbWVudCBpbiBmdWxsIHNjcmVl
biBtb2RlLjwvcD4KKyAgICA8ZGl2IGlkPXdyYXBwZXI+CisgICAgICAgIDx2aWRlbyBpZD0idmlk
ZW8iIHdpZHRoPSIzMDAiPjwvdmlkZW8+CisgICAgPC9kaXY+CisgICAgPHNjcmlwdCBzcmM9ImZ1
bGwtc2NyZWVuLXRlc3QuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQ+CisgICAgICAgIHZhciB3
cmFwcGVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3dyYXBwZXInKTsKKworICAgICAgICBm
dW5jdGlvbiBjaGVja0ZvckhpZGRlbk1vdXNlKCkKKyAgICAgICAgeworICAgICAgICAgICAgdGVz
dEV4cGVjdGVkKCd3aW5kb3cuaW50ZXJuYWxzLmdldEN1cnJlbnRDdXJzb3JJbmZvKGRvY3VtZW50
KScsICd0eXBlPU5vbmUgaG90U3BvdD0wLDAnKTsKKyAgICAgICAgICAgIGVuZFRlc3QoKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIGZ1bGxzY3JlZW5DaGFuZ2VkKGV2ZW50KQorICAg
ICAgICB7CisgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykgeworICAgICAgICAgICAg
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVI
aWRpbmdDb250cm9scygwKTsKKyAgICAgICAgICAgICAgICB3cmFwcGVyQm94ID0gaW50ZXJuYWxz
LmJvdW5kaW5nQm94KHdyYXBwZXIpOworICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNl
TW92ZVRvKHdyYXBwZXJCb3gubGVmdCArIHdyYXBwZXJCb3gud2lkdGggLyAyLCB3cmFwcGVyQm94
LnRvcCArIHdyYXBwZXJCb3guaGVpZ2h0IC8gMik7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVj
dGVkKCd3aW5kb3cuaW50ZXJuYWxzLmdldEN1cnJlbnRDdXJzb3JJbmZvKGRvY3VtZW50KScsICd0
eXBlPVBvaW50ZXIgaG90U3BvdD0wLDAnKTsKKyAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGNo
ZWNrRm9ySGlkZGVuTW91c2UsIDApOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZQor
ICAgICAgICAgICAgICAgIGxvZ1Jlc3VsdChmYWxzZSwgIndpbmRvdy5pbnRlcm5hbHMgPT0gdW5k
ZWZpbmVkIik7CisgICAgICAgIH0KKyAgICAgICAgd2FpdEZvckV2ZW50KGRvY3VtZW50LCAnd2Vi
a2l0ZnVsbHNjcmVlbmNoYW5nZScsIGZ1bGxzY3JlZW5DaGFuZ2VkKTsKKyAgICAgICAgcnVuV2l0
aEtleURvd24oZnVuY3Rpb24oKXt3cmFwcGVyLndlYmtpdFJlcXVlc3RGdWxsU2NyZWVuKCl9KTsK
KyAgICA8L3NjcmlwdD4KKzwvYm9keT4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191354</attachid>
            <date>2013-03-04 16:52:14 -0800</date>
            <delta_ts>2013-03-04 18:20:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107601-20130304164822.patch</filename>
            <type>text/plain</type>
            <size>28933</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0NjgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDRiMmQwYjg5ZmM5OTg3
OGUyZmM1Mzg4MmE5ZmQyMmU3MjQ1OTRkMS4uZjIwMDY0OTcxNzJiMTE2ODFmNmY0YzU0YTI4OWNm
MDczYTcyZmM3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcyIEBACisyMDEzLTAyLTIyICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIERlZmF1bHQgbW91c2UgY3Vy
c29yIGJlaGF2aW9yIHNob3VsZCBiZSBhdXRvLWhpZGUgZm9yIGZ1bGwgc2NyZWVuIHZpZGVvIHdp
dGggY3VzdG9tIGNvbnRyb2xzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDc2MDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUZXN0OiBmdWxsc2NyZWVuL3ZpZGVvLWN1cnNvci1hdXRvLWhpZGUuaHRtbAor
CisgICAgICAgIFRvIGZhY2lsaXRhdGUgYXV0b21hdGljYWxseSBoaWRpbmcgdGhlIG1vdXNlIGN1
cnNvciBhZnRlciBhIGNlcnRhaW4gYW1vdW50IG9mIGlkbGUgbW91c2UKKyAgICAgICAgdGltZSwg
YWRkIGEgbmV3IENTUyBwcm9wZXJ0eSAnLXdlYmtpdC1jdXJzb3ItdmlzaWJpbGl0eScsIGFuZCBo
YW5kbGUgdGhhdCB2YWx1ZSBpbnNpZGUgb2YKKyAgICAgICAgRXZlbnRIYW5kbGVyLiBXaGVuIHRo
YXQgdmFsdWUgaXMgcHJlc2VudCwgdGhlIEV2ZW50SGFuZGxlciB3aWxsIHN0YXJ0IGEgdGltZXIg
d2hpY2gsIHdoZW4KKyAgICAgICAgZmlyZWQsIHdpbGwgc2V0IHRoZSB2aWV3J3MgY3Vyc29yIHRv
IHRoZSBOb25lIGN1cnNvci4gU3Vic2VxdWVudCBtb3VzZSBtb3ZlcyB3aWxsIGVpdGhlcgorICAg
ICAgICBjYW5jZWwgdGhlIHRpbWVyLCBvciByZXNldCB0aGUgYXV0by1oaWRlIHRpbWVyLgorCisg
ICAgICAgIEFkZCBhIG5ldyBDU1MgcHJvcGVydHksICctd2Via2l0LWN1cnNvci12aXNpYmlsaXR5
JzoKKyAgICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6Z2V0UHJvcGVydHlDU1NW
YWx1ZSk6CisgICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
U1NQYXJzZXI6OnBhcnNlVmFsdWUpOgorICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1ZU1h
cHBpbmdzLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0
aXZlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJhdG9y
IEVDdXJzb3JWaXNpYmlsaXR5KToKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHkuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHk6OmlzSW5oZXJpdGVkUHJvcGVydHkpOgorICAgICAg
ICAqIGNzcy9DU1NQcm9wZXJ0eU5hbWVzLmluOgorICAgICAgICAqIGNzcy9DU1NWYWx1ZUtleXdv
cmRzLmluOgorICAgICAgICAqIGNzcy9TdHlsZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U3R5bGVCdWlsZGVyOjpTdHlsZUJ1aWxkZXIpOgorICAgICAgICAqIGNzcy9TdHlsZVJlc29s
dmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmVzb2x2ZXI6OmFwcGx5UHJvcGVydHkp
OgorCisgICAgICAgIEFkZCBhIHJ1bGUgZm9yIHZpZGVvIGRlc2NlbmRhbnRzIG9mIGZ1bGwgc2Ny
ZWVuIGVsZW1lbnRzIHRvIGF1dG8taGlkZSB0aGUgY3Vyc29yIG9uIGhvdmVyOgorICAgICAgICAq
IGNzcy9mdWxsc2NyZWVuLmNzczoKKyAgICAgICAgKDotd2Via2l0LWZ1bGwtc2NyZWVuIHZpZGVv
OmhvdmVyKToKKworICAgICAgICBBZGQgYSBuZXcgdGltZXIsIG1fYXV0b0hpZGVDdXJzb3JUaW1l
ciwgdG8gY29udHJvbCByZXNldHRpbmcgdGhlIHZpZXcncyBjdXJzb3IgdG8gTm9uZSBhZnRlcgor
ICAgICAgICBlbm91Z2ggbW91c2UgaWRsZSB0aW1lIGhhcyBwYXNzZWQuCisgICAgICAgICogcGFn
ZS9FdmVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpFdmVu
dEhhbmRsZXIpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjp+RXZlbnRIYW5kbGVy
KToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6Y2xlYXIpOgorICAgICAgICAoV2Vi
Q29yZTo6RXZlbnRIYW5kbGVyOjpzZWxlY3RDdXJzb3IpOgorICAgICAgICAoV2ViQ29yZTo6RXZl
bnRIYW5kbGVyOjpzdGFydEF1dG9IaWRlQ3Vyc29yVGltZXIpOgorICAgICAgICAoV2ViQ29yZTo6
RXZlbnRIYW5kbGVyOjpjYW5jZWxBdXRvSGlkZUN1cnNvclRpbWVyKToKKyAgICAgICAgKFdlYkNv
cmU6OkV2ZW50SGFuZGxlcjo6YXV0b0hpZGVDdXJzb3JUaW1lckZpcmVkKToKKyAgICAgICAgKiBw
YWdlL0V2ZW50SGFuZGxlci5oOgorCisgICAgICAgIE1ha2UgRnJhbWVWaWV3Ojppc0FjdGl2ZSgp
IGEgcHVibGljIGZ1bmN0aW9uIChsaWtlIGl0IGlzIGluIGl0cyBzdXBlcmNsYXNzKS4KKyAgICAg
ICAgKiBwYWdlL0ZyYW1lVmlldy5oOgorICAgICAgICAoRnJhbWVWaWV3KToKKworICAgICAgICBN
b3ZlIHRoZSBkZWZpbml0aW9uIGZvciB0aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRp
bmdDb250cm9scyBmcm9tIHBhZ2UtPnRoZW1lKCkKKyAgICAgICAgdG8gcGFnZS0+c2V0dGluZ3Mo
KSBhbmQgYWxsb3cgdGhhdCBzZXR0aW5nIHRvIGJlIG92ZXJyaWRkZW4gaW4gSW50ZXJuYWxTZXR0
aW5ncyBmb3IgCisgICAgICAgIHRlc3RpbmcgcHVycG9zZXM6CisgICAgICAgICogcGFnZS9TZXR0
aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6U2V0dGluZ3MpOgorICAgICAg
ICAqIHBhZ2UvU2V0dGluZ3MuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRUaW1l
V2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyk6CisgICAgICAgIChXZWJD
b3JlOjpTZXR0aW5nczo6dGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJv
bHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZS5oOgorICAgICAgICAqIHRlc3Rp
bmcvSW50ZXJuYWxTZXR0aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNldHRp
bmdzOjpzZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyk6Cisg
ICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmg6CisgICAgICAgIChJbnRlcm5hbFNl
dHRpbmdzKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsOgorICAgICAg
ICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFDb250cm9sczo6c3RhcnRIaWRlRnVsbHNjcmVlbkNvbnRyb2xzVGltZXIpOgorCiAyMDEzLTAz
LTA0ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CiAKICAgICAgICAgV2Vi
U3BlZWNoOiBjaGFuZ2Ugdm9pY2VVUkkgdG8gdm9pY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggMzhlOGYyOTA0MWQ1NWMz
MzNiZTI0ZjllNjU1NjMwZTU0ZWRhYWYyYi4uZGY5Y2RiZWY4YmM2YzcyNDFhNGY1ODk0Y2U4NDQz
OGFhNGRjZDc2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5
bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5
bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTI2Myw2ICsyNjMsNyBAQCBzdGF0aWMgY29uc3QgQ1NTUHJv
cGVydHlJRCBjb21wdXRlZFByb3BlcnRpZXNbXSA9IHsKICAgICBDU1NQcm9wZXJ0eVdlYmtpdENv
bHVtblJ1bGVXaWR0aCwKICAgICBDU1NQcm9wZXJ0eVdlYmtpdENvbHVtblNwYW4sCiAgICAgQ1NT
UHJvcGVydHlXZWJraXRDb2x1bW5XaWR0aCwKKyAgICBDU1NQcm9wZXJ0eVdlYmtpdEN1cnNvclZp
c2liaWxpdHksCiAjaWYgRU5BQkxFKERBU0hCT0FSRF9TVVBQT1JUKQogICAgIENTU1Byb3BlcnR5
V2Via2l0RGFzaGJvYXJkUmVnaW9uLAogI2VuZGlmCkBAIC0xODQzLDYgKzE4NDQsOCBAQCBQYXNz
UmVmUHRyPENTU1ZhbHVlPiBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5
Q1NTVmFsdWUoQ1NTUHJvcGVydAogICAgICAgICAgICAgfQogICAgICAgICAgICAgcmV0dXJuIHZh
bHVlLnJlbGVhc2UoKTsKICAgICAgICAgfQorICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0
Q3Vyc29yVmlzaWJpbGl0eToKKyAgICAgICAgICAgIHJldHVybiBjc3NWYWx1ZVBvb2woKS5jcmVh
dGVWYWx1ZShzdHlsZS0+Y3Vyc29yVmlzaWJpbGl0eSgpKTsKICAgICAgICAgY2FzZSBDU1NQcm9w
ZXJ0eURpcmVjdGlvbjoKICAgICAgICAgICAgIHJldHVybiBjc3NWYWx1ZVBvb2woKS5jcmVhdGVW
YWx1ZShzdHlsZS0+ZGlyZWN0aW9uKCkpOwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5RGlzcGxh
eToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKaW5kZXggMzU0NzZiMDc0MDg1ZDQ4NmY2YzI3NTRm
YzQzOWIyM2M0NWU1MzkzYy4uNzNlODM4ODk3MDRkODU3N2I0MDY5MGE5NDE3MzQ5ZTQ0MWQ5MmVm
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKQEAgLTIwNzMsNiArMjA3MywxMSBAQCBib29s
IENTU1BhcnNlcjo6cGFyc2VWYWx1ZShDU1NQcm9wZXJ0eUlEIHByb3BJZCwgYm9vbCBpbXBvcnRh
bnQpCiAgICAgICAgIGJyZWFrOwogICAgIH0KIAorICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRD
dXJzb3JWaXNpYmlsaXR5OgorICAgICAgICBpZiAoaWQgPT0gQ1NTVmFsdWVBdXRvIHx8IGlkID09
IENTU1ZhbHVlQXV0b0hpZGUpCisgICAgICAgICAgICB2YWxpZFByaW1pdGl2ZSA9IHRydWU7Cisg
ICAgICAgIGJyZWFrOworCiAgICAgY2FzZSBDU1NQcm9wZXJ0eUJhY2tncm91bmRBdHRhY2htZW50
OgogICAgIGNhc2UgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kQ2xpcDoKICAgICBjYXNlIENTU1Byb3Bl
cnR5V2Via2l0QmFja2dyb3VuZENsaXA6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1p
dGl2ZVZhbHVlTWFwcGluZ3MuaAppbmRleCA1MzJlOTljMjdmZTdkODM3ZTgzNjA0Y2NiYmEwYmFh
ZWZkY2M1Zjk2Li45OTdiZTE5MTcwYWYwZWZjNWE0MGJmZWRiYmNmMjAyN2M2OWNlNDgzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKQEAgLTEx
NjMsNiArMTE2MywzMiBAQCB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6b3Bl
cmF0b3IgRUN1cnNvcigpIGNvbnN0CiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PEVDdXJzb3I+KG1f
dmFsdWUuaWRlbnQgLSBDU1NWYWx1ZUF1dG8pOwogfQogCisKK3RlbXBsYXRlPD4gaW5saW5lIENT
U1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShDdXJzb3JWaXNpYmlsaXR5IGUpCisg
ICAgOiBDU1NWYWx1ZShQcmltaXRpdmVDbGFzcykKK3sKKyAgICBtX3ByaW1pdGl2ZVVuaXRUeXBl
ID0gQ1NTX0lERU5UOworICAgIHN3aXRjaCAoZSkgeworICAgIGNhc2UgQ1VSU09SX1ZJU0lCSUxJ
VFlfQVVUTzoKKyAgICAgICAgbV92YWx1ZS5pZGVudCA9IENTU1ZhbHVlQXV0bzsKKyAgICAgICAg
YnJlYWs7CisgICAgY2FzZSBDVVJTT1JfVklTSUJJTElUWV9BVVRPX0hJREU6CisgICAgICAgIG1f
dmFsdWUuaWRlbnQgPSBDU1NWYWx1ZUF1dG9IaWRlOworICAgICAgICBicmVhazsKKyAgICB9Cit9
CisKK3RlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBDdXJzb3JW
aXNpYmlsaXR5KCkgY29uc3QKK3sKKyAgICBpZiAobV92YWx1ZS5pZGVudCA9PSBDU1NWYWx1ZUF1
dG8pCisgICAgICAgIHJldHVybiBDVVJTT1JfVklTSUJJTElUWV9BVVRPOworICAgIGlmIChtX3Zh
bHVlLmlkZW50ID09IENTU1ZhbHVlQXV0b0hpZGUpCisgICAgICAgIHJldHVybiBDVVJTT1JfVklT
SUJJTElUWV9BVVRPX0hJREU7CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1
cm4gQ1VSU09SX1ZJU0lCSUxJVFlfQVVUTzsKK30KKwogdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJp
bWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKEVEaXNwbGF5IGUpCiAgICAgOiBDU1NWYWx1
ZShQcmltaXRpdmVDbGFzcykKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
cm9wZXJ0eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3BwCmluZGV4IGEy
YzBlNmNkYjEyYjRkMTM3MGFiNzQ5NjlkOTEwNzQyYjEzMjYyYzQuLjA5MWM4NGFjN2E5NTNlMGU4
ZDllMTQwZTMxMDE3N2E4NzU2OTY5NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQcm9wZXJ0eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmNwcApA
QCAtMzAyLDYgKzMwMiw3IEBAIGJvb2wgQ1NTUHJvcGVydHk6OmlzSW5oZXJpdGVkUHJvcGVydHko
Q1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlEKQogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRCb3Jk
ZXJWZXJ0aWNhbFNwYWNpbmc6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEJveERpcmVjdGlv
bjoKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0Q29sb3JDb3JyZWN0aW9uOgorICAgIGNhc2Ug
Q1NTUHJvcGVydHlXZWJraXRDdXJzb3JWaXNpYmlsaXR5OgogICAgIGNhc2UgQ1NTUHJvcGVydHlX
ZWJraXRGb250RmVhdHVyZVNldHRpbmdzOgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRGb250
S2VybmluZzoKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0Rm9udFNtb290aGluZzoKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4KaW5kZXggOTZkNjc1NmQ2NWFjZTY5ZDhiMWVk
NDliNzk4MjI2ZDMwMjhjYzQ4Ny4uZTRhNmVmZTNjNDFmN2FkODZjZjkyMzdmYzE2ZmQ3NzNiYmY4
YTI1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4K
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4KQEAgLTEwMCw2ICsx
MDAsNyBAQCBjb250ZW50CiBjb3VudGVyLWluY3JlbWVudAogY291bnRlci1yZXNldAogY3Vyc29y
Cistd2Via2l0LWN1cnNvci12aXNpYmlsaXR5CiBlbXB0eS1jZWxscwogZmxvYXQKIGZvbnQtc3Ry
ZXRjaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4g
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgppbmRleCA3NTkyNmY2Mjdh
MzdmMjA2ZjExNGYxNmE3NzcyOWU4ZmQ5MzZlODBiLi5mODQwMmM1YzZiMDBiOGVmODQ4YmQxNTQw
Yzk4YWVhN2RhNjM4NDMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVL
ZXl3b3Jkcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgpA
QCAtMzc3LDYgKzM3NywxMCBAQCBhbGwtc2Nyb2xsCiAtd2Via2l0LWdyYWJiaW5nCiAvLyBub25l
CiAvLworLy8gQ1NTX1BST1BfQ1VSU09SX1ZJU0lCSUxJVFk6CisvLyBhdXRvCithdXRvLWhpZGUK
Ky8vCiAvLyBDU1NfUFJPUF9ESVJFQ1RJT046CiAvLwogbHRyCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1
aWxkZXIuY3BwCmluZGV4IDRkODc4YjJlOWIzMjVlMjVlZTM2YWQ4Y2JmMmIyMDBmMmYzODIxMGEu
LjliOWRmMDlhZTYxNDU1YmNkYjgwZDVhODQyYTU5M2M0NmRiMjViMmIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TdHlsZUJ1aWxkZXIuY3BwCkBAIC0xOTgxLDYgKzE5ODEsNyBAQCBTdHlsZUJ1aWxkZXI6OlN0
eWxlQnVpbGRlcigpCiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0Q29s
dW1uU3BhbiwgQXBwbHlQcm9wZXJ0eURlZmF1bHQ8Q29sdW1uU3BhbiwgJlJlbmRlclN0eWxlOjpj
b2x1bW5TcGFuLCBDb2x1bW5TcGFuLCAmUmVuZGVyU3R5bGU6OnNldENvbHVtblNwYW4sIENvbHVt
blNwYW4sICZSZW5kZXJTdHlsZTo6aW5pdGlhbENvbHVtblNwYW4+OjpjcmVhdGVIYW5kbGVyKCkp
OwogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdENvbHVtblJ1bGVTdHls
ZSwgQXBwbHlQcm9wZXJ0eURlZmF1bHQ8RUJvcmRlclN0eWxlLCAmUmVuZGVyU3R5bGU6OmNvbHVt
blJ1bGVTdHlsZSwgRUJvcmRlclN0eWxlLCAmUmVuZGVyU3R5bGU6OnNldENvbHVtblJ1bGVTdHls
ZSwgRUJvcmRlclN0eWxlLCAmUmVuZGVyU3R5bGU6OmluaXRpYWxCb3JkZXJTdHlsZT46OmNyZWF0
ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0Q29s
dW1uV2lkdGgsIEFwcGx5UHJvcGVydHlBdXRvPGZsb2F0LCAmUmVuZGVyU3R5bGU6OmNvbHVtbldp
ZHRoLCAmUmVuZGVyU3R5bGU6OnNldENvbHVtbldpZHRoLCAmUmVuZGVyU3R5bGU6Omhhc0F1dG9D
b2x1bW5XaWR0aCwgJlJlbmRlclN0eWxlOjpzZXRIYXNBdXRvQ29sdW1uV2lkdGgsIENvbXB1dGVM
ZW5ndGg+OjpjcmVhdGVIYW5kbGVyKCkpOworICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9w
ZXJ0eVdlYmtpdEN1cnNvclZpc2liaWxpdHksIEFwcGx5UHJvcGVydHlEZWZhdWx0PEN1cnNvclZp
c2liaWxpdHksICZSZW5kZXJTdHlsZTo6Y3Vyc29yVmlzaWJpbGl0eSwgQ3Vyc29yVmlzaWJpbGl0
eSwgJlJlbmRlclN0eWxlOjpzZXRDdXJzb3JWaXNpYmlsaXR5LCBDdXJzb3JWaXNpYmlsaXR5LCAm
UmVuZGVyU3R5bGU6OmluaXRpYWxDdXJzb3JWaXNpYmlsaXR5Pjo6Y3JlYXRlSGFuZGxlcigpKTsK
ICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRBbGlnbkNvbnRlbnQsIEFw
cGx5UHJvcGVydHlEZWZhdWx0PEVBbGlnbkNvbnRlbnQsICZSZW5kZXJTdHlsZTo6YWxpZ25Db250
ZW50LCBFQWxpZ25Db250ZW50LCAmUmVuZGVyU3R5bGU6OnNldEFsaWduQ29udGVudCwgRUFsaWdu
Q29udGVudCwgJlJlbmRlclN0eWxlOjppbml0aWFsQWxpZ25Db250ZW50Pjo6Y3JlYXRlSGFuZGxl
cigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRBbGlnbkl0ZW1z
LCBBcHBseVByb3BlcnR5RGVmYXVsdDxFQWxpZ25JdGVtcywgJlJlbmRlclN0eWxlOjphbGlnbkl0
ZW1zLCBFQWxpZ25JdGVtcywgJlJlbmRlclN0eWxlOjpzZXRBbGlnbkl0ZW1zLCBFQWxpZ25JdGVt
cywgJlJlbmRlclN0eWxlOjppbml0aWFsQWxpZ25JdGVtcz46OmNyZWF0ZUhhbmRsZXIoKSk7CiAg
ICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0QWxpZ25TZWxmLCBBcHBseVBy
b3BlcnR5RGVmYXVsdDxFQWxpZ25JdGVtcywgJlJlbmRlclN0eWxlOjphbGlnblNlbGYsIEVBbGln
bkl0ZW1zLCAmUmVuZGVyU3R5bGU6OnNldEFsaWduU2VsZiwgRUFsaWduSXRlbXMsICZSZW5kZXJT
dHlsZTo6aW5pdGlhbEFsaWduU2VsZj46OmNyZWF0ZUhhbmRsZXIoKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U3R5bGVSZXNvbHZlci5jcHAKaW5kZXggNTZlMTA5OTU0NjQwMDM0MGVlYjMyZmEwZjVhN2RjY2E3
MTcxMWMzYS4uNGU1YTEyNjQyMjllOTYxZDNjNTM3ZDcxNjliYjY4OGZjYWY0Njk5YSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcApAQCAtMzc1OCw2ICszNzU4LDcgQEAgdm9pZCBT
dHlsZVJlc29sdmVyOjphcHBseVByb3BlcnR5KENTU1Byb3BlcnR5SUQgaWQsIENTU1ZhbHVlKiB2
YWx1ZSkKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0Q29sdW1uczoKICAgICBjYXNlIENTU1By
b3BlcnR5V2Via2l0Q29sdW1uU3BhbjoKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0Q29sdW1u
V2lkdGg6CisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEN1cnNvclZpc2liaWxpdHk6CiAgICAg
Y2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEFsaWduQ29udGVudDoKICAgICBjYXNlIENTU1Byb3BlcnR5
V2Via2l0QWxpZ25JdGVtczoKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0QWxpZ25TZWxmOgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL2Z1bGxzY3JlZW4uY3NzIGIvU291cmNlL1dl
YkNvcmUvY3NzL2Z1bGxzY3JlZW4uY3NzCmluZGV4IDEyNzY3MGIwNzZlNmVlMzZmNDc0Y2VhYzhi
OWRlZTQ2OTlkYjBhODMuLmJlN2RmNTgwZGJkOTViYTBlYTY2ZDhhMzg1OTM4OTIxMDgzNTg0NGQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9mdWxsc2NyZWVuLmNzcworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvZnVsbHNjcmVlbi5jc3MKQEAgLTMxLDYgKzMxLDEwIEBAIHZpZGVvOi13
ZWJraXQtZnVsbC1zY3JlZW4sIGF1ZGlvOi13ZWJraXQtZnVsbC1zY3JlZW4gewogICAgIGRpc3Bs
YXk6IGJsb2NrICFpbXBvcnRhbnQ7CiB9CiAKKzotd2Via2l0LWZ1bGwtc2NyZWVuIHZpZGVvOmhv
dmVyIHsKKyAgICAtd2Via2l0LWN1cnNvci12aXNpYmlsaXR5OmF1dG8taGlkZTsKK30KKwogaW1n
Oi13ZWJraXQtZnVsbC1zY3JlZW4gewogICAgIHdpZHRoOiBhdXRvOwogICAgIGhlaWdodDogMTAw
JTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHMu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9scy5jcHAKaW5kZXgg
MzgxNGRlZDE2YjBmMDE0N2QyYzNkY2MzYzZhN2Q2ODg4ODhmN2JlYy4uODgzYTgzYTVmNDg1ZmEw
N2M0MWUzODYzYzJiYTdmZTYzNTg4MWIxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9zaGFkb3cvTWVkaWFDb250cm9scy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFk
b3cvTWVkaWFDb250cm9scy5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJNZWRpYUNv
bnRyb2xzLmgiCiAKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuaCIKKyNpbmNs
dWRlICJTZXR0aW5ncy5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM0NCw3ICszNDUs
NyBAQCB2b2lkIE1lZGlhQ29udHJvbHM6OnN0YXJ0SGlkZUZ1bGxzY3JlZW5Db250cm9sc1RpbWVy
KCkKICAgICBpZiAoIXBhZ2UpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1faGlkZUZ1bGxzY3Jl
ZW5Db250cm9sc1RpbWVyLnN0YXJ0T25lU2hvdChwYWdlLT50aGVtZSgpLT50aW1lV2l0aG91dE1v
dXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scygpKTsKKyAgICBtX2hpZGVGdWxsc2NyZWVu
Q29udHJvbHNUaW1lci5zdGFydE9uZVNob3QocGFnZS0+c2V0dGluZ3MoKS0+dGltZVdpdGhvdXRN
b3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMoKSk7CiB9CiAKIHZvaWQgTWVkaWFDb250
cm9sczo6c3RvcEhpZGVGdWxsc2NyZWVuQ29udHJvbHNUaW1lcigpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2
ZW50SGFuZGxlci5jcHAKaW5kZXggNDM2YmIzNTIwNjE0ODE3Y2QxN2IyMmUyYWFmN2U2OTk3YmJm
MzQ5Mi4uYzQxOGMyNTM5YjdhYzhiYjU5MTVmNTRmYjcxYTVhYWNmNDNmZGUyNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcApAQCAtNzIsNiArNzIsNyBAQAogI2luY2x1ZGUgIlJl
bmRlckZyYW1lU2V0LmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXIuaCIKICNpbmNsdWRlICJSZW5k
ZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuaCIKKyNpbmNsdWRlICJSZW5kZXJUaGVtZS5oIgogI2lu
Y2x1ZGUgIlJlbmRlclZpZXcuaCIKICNpbmNsdWRlICJSZW5kZXJXaWRnZXQuaCIKICNpbmNsdWRl
ICJTY3JvbGxBbmltYXRvci5oIgpAQCAtMzQ5LDEyICszNTAsMTQgQEAgRXZlbnRIYW5kbGVyOjpF
dmVudEhhbmRsZXIoRnJhbWUqIGZyYW1lKQogICAgICwgbV9iYXNlRXZlbnRUeXBlKFBsYXRmb3Jt
RXZlbnQ6Ok5vVHlwZSkKICAgICAsIG1fZGlkU3RhcnREcmFnKGZhbHNlKQogICAgICwgbV9kaWRM
b25nUHJlc3NJbnZva2VDb250ZXh0TWVudShmYWxzZSkKKyAgICAsIG1fYXV0b0hpZGVDdXJzb3JU
aW1lcih0aGlzLCAmRXZlbnRIYW5kbGVyOjphdXRvSGlkZUN1cnNvclRpbWVyRmlyZWQpCiB7CiB9
CiAKIEV2ZW50SGFuZGxlcjo6fkV2ZW50SGFuZGxlcigpCiB7CiAgICAgQVNTRVJUKCFtX2Zha2VN
b3VzZU1vdmVFdmVudFRpbWVyLmlzQWN0aXZlKCkpOworICAgIEFTU0VSVCghbV9hdXRvSGlkZUN1
cnNvclRpbWVyLmlzQWN0aXZlKCkpOwogfQogICAgIAogI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQp
CkBAIC0zNjksNiArMzcyLDcgQEAgdm9pZCBFdmVudEhhbmRsZXI6OmNsZWFyKCkKIHsKICAgICBt
X2hvdmVyVGltZXIuc3RvcCgpOwogICAgIG1fZmFrZU1vdXNlTW92ZUV2ZW50VGltZXIuc3RvcCgp
OworICAgIGNhbmNlbEF1dG9IaWRlQ3Vyc29yVGltZXIoKTsKICAgICBtX3Jlc2l6ZUxheWVyID0g
MDsKICAgICBtX25vZGVVbmRlck1vdXNlID0gMDsKICAgICBtX2xhc3ROb2RlVW5kZXJNb3VzZSA9
IDA7CkBAIC0xMjMzLDYgKzEyMzcsMTEgQEAgT3B0aW9uYWxDdXJzb3IgRXZlbnRIYW5kbGVyOjpz
ZWxlY3RDdXJzb3IoY29uc3QgTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cyYgZXYKICAgICBi
b29sIGhvcml6b250YWxUZXh0ID0gIXN0eWxlIHx8IHN0eWxlLT5pc0hvcml6b250YWxXcml0aW5n
TW9kZSgpOwogICAgIGNvbnN0IEN1cnNvciYgaUJlYW0gPSBob3Jpem9udGFsVGV4dCA/IGlCZWFt
Q3Vyc29yKCkgOiB2ZXJ0aWNhbFRleHRDdXJzb3IoKTsKIAorICAgIGlmIChzdHlsZSAmJiBzdHls
ZS0+Y3Vyc29yVmlzaWJpbGl0eSgpID09IENVUlNPUl9WSVNJQklMSVRZX0FVVE9fSElERSkKKyAg
ICAgICAgc3RhcnRBdXRvSGlkZUN1cnNvclRpbWVyKCk7CisgICAgZWxzZQorICAgICAgICBjYW5j
ZWxBdXRvSGlkZUN1cnNvclRpbWVyKCk7CisKICAgICAvLyBEdXJpbmcgc2VsZWN0aW9uLCB1c2Ug
YW4gSS1iZWFtIG5vIG1hdHRlciB3aGF0IHdlJ3JlIG92ZXIuCiAgICAgLy8gSWYgYSBkcmFnIG1h
eSBiZSBzdGFydGluZyBvciB3ZSdyZSBjYXB0dXJpbmcgbW91c2UgZXZlbnRzIGZvciBhIHBhcnRp
Y3VsYXIgbm9kZSwgZG9uJ3QgdHJlYXQgdGhpcyBhcyBhIHNlbGVjdGlvbi4KICAgICBpZiAobV9t
b3VzZVByZXNzZWQgJiYgbV9tb3VzZURvd25NYXlTdGFydFNlbGVjdApAQCAtMTM4MSw2ICsxMzkw
LDM1IEBAIE9wdGlvbmFsQ3Vyc29yIEV2ZW50SGFuZGxlcjo6c2VsZWN0Q3Vyc29yKGNvbnN0IE1v
dXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMmIGV2CiAgICAgcmV0dXJuIHBvaW50ZXJDdXJzb3Io
KTsKIH0KIAordm9pZCBFdmVudEhhbmRsZXI6OnN0YXJ0QXV0b0hpZGVDdXJzb3JUaW1lcigpCit7
CisgICAgUGFnZSogcGFnZSA9IG1fZnJhbWUtPnBhZ2UoKTsKKyAgICBpZiAoIXBhZ2UpCisgICAg
ICAgIHJldHVybjsKKworICAgIG1fYXV0b0hpZGVDdXJzb3JUaW1lci5zdGFydE9uZVNob3QocGFn
ZS0+c2V0dGluZ3MoKS0+dGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJv
bHMoKSk7CisKKyAgICAvLyBUaGUgZmFrZSBtb3VzZSBtb3ZlIGV2ZW50IHNjcmV3cyB1cCB0aGUg
YXV0by1oaWRlIGZlYXR1cmUgKGJ5IHJlc2V0dGluZyB0aGUgYXV0by1oaWRlIHRpbWVyKQorICAg
IC8vIHNvIGNhbmNlbCBhbnkgcGVuZGluZyBmYWtlIG1vdXNlIG1vdmVzLgorICAgIGlmIChtX2Zh
a2VNb3VzZU1vdmVFdmVudFRpbWVyLmlzQWN0aXZlKCkpCisgICAgICAgIG1fZmFrZU1vdXNlTW92
ZUV2ZW50VGltZXIuc3RvcCgpOworfQorCit2b2lkIEV2ZW50SGFuZGxlcjo6Y2FuY2VsQXV0b0hp
ZGVDdXJzb3JUaW1lcigpCit7CisgICAgaWYgKG1fYXV0b0hpZGVDdXJzb3JUaW1lci5pc0FjdGl2
ZSgpKQorICAgICAgICBtX2F1dG9IaWRlQ3Vyc29yVGltZXIuc3RvcCgpOworfQorCit2b2lkIEV2
ZW50SGFuZGxlcjo6YXV0b0hpZGVDdXJzb3JUaW1lckZpcmVkKFRpbWVyPEV2ZW50SGFuZGxlcj4q
IHRpbWVyKQoreworICAgIEFTU0VSVF9VTlVTRUQodGltZXIsIHRpbWVyID09ICZtX2F1dG9IaWRl
Q3Vyc29yVGltZXIpOworICAgIG1fY3VycmVudE1vdXNlQ3Vyc29yID0gbm9uZUN1cnNvcigpOwor
ICAgIEZyYW1lVmlldyogdmlldyA9IG1fZnJhbWUtPnZpZXcoKTsKKyAgICBpZiAodmlldyAmJiB2
aWV3LT5pc0FjdGl2ZSgpKQorICAgICAgICB2aWV3LT5zZXRDdXJzb3IobV9jdXJyZW50TW91c2VD
dXJzb3IpOworfQorCiBzdGF0aWMgTGF5b3V0UG9pbnQgZG9jdW1lbnRQb2ludEZvcldpbmRvd1Bv
aW50KEZyYW1lKiBmcmFtZSwgY29uc3QgSW50UG9pbnQmIHdpbmRvd1BvaW50KQogewogICAgIEZy
YW1lVmlldyogdmlldyA9IGZyYW1lLT52aWV3KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0V2ZW50SGFuZGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIu
aAppbmRleCBhMWUwMjJlZGE4OGRlOGY2OWQzZmY3NGMwMGE1ZWQ5MzAyN2I4NjVlLi5lZDczZjVi
MWEwNGFlOGVhZjhlMjI0OTA0MGE1MzJlMWI1NjhkN2FhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRI
YW5kbGVyLmgKQEAgLTM4OCw2ICszODgsMTAgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgc2V0TGFz
dEtub3duTW91c2VQb3NpdGlvbihjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmKTsKIAorICAgIHZv
aWQgc3RhcnRBdXRvSGlkZUN1cnNvclRpbWVyKCk7CisgICAgdm9pZCBjYW5jZWxBdXRvSGlkZUN1
cnNvclRpbWVyKCk7CisgICAgdm9pZCBhdXRvSGlkZUN1cnNvclRpbWVyRmlyZWQoVGltZXI8RXZl
bnRIYW5kbGVyPiopOworCiAgICAgRnJhbWUqIG1fZnJhbWU7CiAKICAgICBib29sIG1fbW91c2VQ
cmVzc2VkOwpAQCAtNDgzLDYgKzQ4Nyw4IEBAIHByaXZhdGU6CiAgICAgUGxhdGZvcm1FdmVudDo6
VHlwZSBtX2Jhc2VFdmVudFR5cGU7CiAgICAgYm9vbCBtX2RpZFN0YXJ0RHJhZzsKICAgICBib29s
IG1fZGlkTG9uZ1ByZXNzSW52b2tlQ29udGV4dE1lbnU7CisKKyAgICBUaW1lcjxFdmVudEhhbmRs
ZXI+IG1fYXV0b0hpZGVDdXJzb3JUaW1lcjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZyYW1lVmlldy5oCmluZGV4IGMwNjE4MzhlNmIyYzc3NTQwMWZjMjcxYjRkZjAx
ZmJkZGFiZTJkYzAuLjlmY2Q4NzQyZjlkMWMzMzIwMDBhOTU5NTY3OWI5MGU4MzQ5ZWMyOGYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZVZpZXcuaApAQCAtMzk3LDYgKzM5Nyw4IEBAIHB1YmxpYzoKICAgICB2
b2lkIHNldEluaXRpYWxWaWV3cG9ydFNpemUoY29uc3QgSW50U2l6ZSYgc2l6ZSkgeyBtX2luaXRp
YWxWaWV3cG9ydFNpemUgPSBzaXplOyB9CiAjZW5kaWYKIAorICAgIHZpcnR1YWwgYm9vbCBpc0Fj
dGl2ZSgpIGNvbnN0IE9WRVJSSURFOworCiBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCBib29sIHNj
cm9sbENvbnRlbnRzRmFzdFBhdGgoY29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEsIGNvbnN0IElu
dFJlY3QmIHJlY3RUb1Njcm9sbCwgY29uc3QgSW50UmVjdCYgY2xpcFJlY3QpOwogICAgIHZpcnR1
YWwgdm9pZCBzY3JvbGxDb250ZW50c1Nsb3dQYXRoKGNvbnN0IEludFJlY3QmIHVwZGF0ZVJlY3Qp
OwpAQCAtNDQ2LDcgKzQ0OCw2IEBAIHByaXZhdGU6CiAKICAgICAvLyBTY3JvbGxhYmxlQXJlYSBp
bnRlcmZhY2UKICAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZVNjcm9sbGJhclJlY3QoU2Nyb2xs
YmFyKiwgY29uc3QgSW50UmVjdCYpIE9WRVJSSURFOwotICAgIHZpcnR1YWwgYm9vbCBpc0FjdGl2
ZSgpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBnZXRUaWNrbWFya3MoVmVjdG9y
PEludFJlY3Q+JikgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHNjcm9sbFRvKGNv
bnN0IEludFNpemUmKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0VmlzaWJsZVNjcm9s
bGVyVGh1bWJSZWN0KGNvbnN0IEludFJlY3QmKSBPVkVSUklERTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5n
cy5jcHAKaW5kZXggY2Q1NWI0OWVmMDkwOWI3YTIzYTUwNDc1MDgzZTUzZGI3MzM5YTA0YS4uNDMz
YzE0ZmFhMGZlMmI3ODhmYjAzOWQ5YjgwMjg2NmU1YWU1ZDcxYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0
aW5ncy5jcHAKQEAgLTE4NCw2ICsxODQsNyBAQCBTZXR0aW5nczo6U2V0dGluZ3MoUGFnZSogcGFn
ZSkKICNlbmRpZgogICAgICwgbV9zY3JvbGxpbmdQZXJmb3JtYW5jZUxvZ2dpbmdFbmFibGVkKGZh
bHNlKQogICAgICwgbV9hZ2dyZXNzaXZlVGlsZVJldGVudGlvbkVuYWJsZWQoZmFsc2UpCisgICAg
LCBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKDMpCiAgICAg
LCBtX3NldEltYWdlTG9hZGluZ1NldHRpbmdzVGltZXIodGhpcywgJlNldHRpbmdzOjppbWFnZUxv
YWRpbmdTZXR0aW5nc1RpbWVyRmlyZWQpCiB7CiAgICAgLy8gQSBGcmFtZSBtYXkgbm90IGhhdmUg
YmVlbiBjcmVhdGVkIHlldCwgc28gd2UgaW5pdGlhbGl6ZSB0aGUgQXRvbWljU3RyaW5nCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1NldHRpbmdzLmgKaW5kZXggMjVhZDhkOGQ4YjEzMTdhOGJjYzlhYzcwMTljMDllMzVkZTlh
NGFiNS4uNGNkZWU1MzVjYWE1MGVlOTBkZjU2MDRkMTA5NDNlYmY5Y2FjZjZmOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvU2V0dGluZ3MuaApAQCAtMjY0LDYgKzI2NCw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAgICAgc3RhdGljIGJvb2wgc2hvdWxkUmVzcGVjdFByaW9yaXR5SW5DU1NBdHRyaWJ1dGVTZXR0
ZXJzKCk7CiAjZW5kaWYKIAorICAgICAgICB2b2lkIHNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVu
dEJlZm9yZUhpZGluZ0NvbnRyb2xzKGRvdWJsZSB0aW1lKSB7IG1fdGltZVdpdGhvdXRNb3VzZU1v
dmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMgPSB0aW1lOyB9CisgICAgICAgIGRvdWJsZSB0aW1l
V2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scygpIGNvbnN0IHsgcmV0dXJu
IG1fdGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHM7IH0KKwogICAg
IHByaXZhdGU6CiAgICAgICAgIGV4cGxpY2l0IFNldHRpbmdzKFBhZ2UqKTsKIApAQCAtMzIwLDYg
KzMyMyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgYm9vbCBtX3Njcm9sbGluZ1Bl
cmZvcm1hbmNlTG9nZ2luZ0VuYWJsZWQgOiAxOwogICAgICAgICBib29sIG1fYWdncmVzc2l2ZVRp
bGVSZXRlbnRpb25FbmFibGVkIDogMTsKIAorICAgICAgICBkb3VibGUgbV90aW1lV2l0aG91dE1v
dXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9sczsKKwogICAgICAgICBUaW1lcjxTZXR0aW5n
cz4gbV9zZXRJbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyOwogICAgICAgICB2b2lkIGltYWdlTG9h
ZGluZ1NldHRpbmdzVGltZXJGaXJlZChUaW1lcjxTZXR0aW5ncz4qKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAppbmRleCA4MTE2YmEzMThkZDFiM2MzNDY1YzBiYjQwZjRm
OTZjYjlmZTc5ODJiLi41NTVhYzUwNzY5NmI1ZTZjMjJjZTc4Y2M4OTBmYzU3NGFjOWNhMDNiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaApAQCAtMjA1LDcgKzIwNSw2IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgdXNlc1ZlcnRpY2FsVm9sdW1lU2xpZGVyKCkgY29u
c3QgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgZG91YmxlIG1lZGlhQ29udHJvbHNGYWRl
SW5EdXJhdGlvbigpIHsgcmV0dXJuIDAuMTsgfQogICAgIHZpcnR1YWwgZG91YmxlIG1lZGlhQ29u
dHJvbHNGYWRlT3V0RHVyYXRpb24oKSB7IHJldHVybiAwLjM7IH0KLSAgICB2aXJ0dWFsIGRvdWJs
ZSB0aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scygpIHsgcmV0dXJu
IDMuMDsgfQogICAgIHZpcnR1YWwgU3RyaW5nIGZvcm1hdE1lZGlhQ29udHJvbHNUaW1lKGZsb2F0
IHRpbWUpIGNvbnN0OwogICAgIHZpcnR1YWwgU3RyaW5nIGZvcm1hdE1lZGlhQ29udHJvbHNDdXJy
ZW50VGltZShmbG9hdCBjdXJyZW50VGltZSwgZmxvYXQgZHVyYXRpb24pIGNvbnN0OwogICAgIHZp
cnR1YWwgU3RyaW5nIGZvcm1hdE1lZGlhQ29udHJvbHNSZW1haW5pbmdUaW1lKGZsb2F0IGN1cnJl
bnRUaW1lLCBmbG9hdCBkdXJhdGlvbikgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9SZW5kZXJTdHlsZS5oCmluZGV4IDJhZTRkNzkwNjI5ZGM3ZjNiZjAxZjVjYTQxMzBh
NmYyOGFmZjgwZjQuLjBiNWZiNDQxYmYzYmI1MDAwNTdkYTQ1MzYxZDJhOTgzMTM2Y2FhMjYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBAIC0xNjYs
NiArMTY2LDcgQEAgcHJvdGVjdGVkOgogICAgICAgICAgICAgICAgICYmIChfdGV4dF90cmFuc2Zv
cm0gPT0gb3RoZXIuX3RleHRfdHJhbnNmb3JtKQogICAgICAgICAgICAgICAgICYmIChfdGV4dF9k
ZWNvcmF0aW9ucyA9PSBvdGhlci5fdGV4dF9kZWNvcmF0aW9ucykKICAgICAgICAgICAgICAgICAm
JiAoX2N1cnNvcl9zdHlsZSA9PSBvdGhlci5fY3Vyc29yX3N0eWxlKQorICAgICAgICAgICAgICAg
ICYmIChtX2N1cnNvclZpc2liaWxpdHkgPT0gb3RoZXIubV9jdXJzb3JWaXNpYmlsaXR5KQogICAg
ICAgICAgICAgICAgICYmIChfZGlyZWN0aW9uID09IG90aGVyLl9kaXJlY3Rpb24pCiAgICAgICAg
ICAgICAgICAgJiYgKF93aGl0ZV9zcGFjZSA9PSBvdGhlci5fd2hpdGVfc3BhY2UpCiAgICAgICAg
ICAgICAgICAgJiYgKF9ib3JkZXJfY29sbGFwc2UgPT0gb3RoZXIuX2JvcmRlcl9jb2xsYXBzZSkK
QEAgLTE4OCw2ICsxODksNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIHVuc2lnbmVkIF90ZXh0X3Ry
YW5zZm9ybSA6IDI7IC8vIEVUZXh0VHJhbnNmb3JtCiAgICAgICAgIHVuc2lnbmVkIF90ZXh0X2Rl
Y29yYXRpb25zIDogRVRleHREZWNvcmF0aW9uQml0czsKICAgICAgICAgdW5zaWduZWQgX2N1cnNv
cl9zdHlsZSA6IDY7IC8vIEVDdXJzb3IKKyAgICAgICAgdW5zaWduZWQgbV9jdXJzb3JWaXNpYmls
aXR5IDogMTsgLy8gQ3Vyc29yVmlzaWJpbGl0eQogICAgICAgICB1bnNpZ25lZCBfZGlyZWN0aW9u
IDogMTsgLy8gVGV4dERpcmVjdGlvbgogICAgICAgICB1bnNpZ25lZCBfd2hpdGVfc3BhY2UgOiAz
OyAvLyBFV2hpdGVTcGFjZQogICAgICAgICAvLyAzMiBiaXRzCkBAIC0yOTMsNiArMjk1LDcgQEAg
cHJvdGVjdGVkOgogICAgICAgICBpbmhlcml0ZWRfZmxhZ3MuX3RleHRfdHJhbnNmb3JtID0gaW5p
dGlhbFRleHRUcmFuc2Zvcm0oKTsKICAgICAgICAgaW5oZXJpdGVkX2ZsYWdzLl90ZXh0X2RlY29y
YXRpb25zID0gaW5pdGlhbFRleHREZWNvcmF0aW9uKCk7CiAgICAgICAgIGluaGVyaXRlZF9mbGFn
cy5fY3Vyc29yX3N0eWxlID0gaW5pdGlhbEN1cnNvcigpOworICAgICAgICBpbmhlcml0ZWRfZmxh
Z3MubV9jdXJzb3JWaXNpYmlsaXR5ID0gaW5pdGlhbEN1cnNvclZpc2liaWxpdHkoKTsKICAgICAg
ICAgaW5oZXJpdGVkX2ZsYWdzLl9kaXJlY3Rpb24gPSBpbml0aWFsRGlyZWN0aW9uKCk7CiAgICAg
ICAgIGluaGVyaXRlZF9mbGFncy5fd2hpdGVfc3BhY2UgPSBpbml0aWFsV2hpdGVTcGFjZSgpOwog
ICAgICAgICBpbmhlcml0ZWRfZmxhZ3MuX2JvcmRlcl9jb2xsYXBzZSA9IGluaXRpYWxCb3JkZXJD
b2xsYXBzZSgpOwpAQCAtNzAwLDYgKzcwMyw3IEBAIHB1YmxpYzoKICAgICBMZW5ndGggcGFkZGlu
Z0VuZCgpIGNvbnN0IHsgcmV0dXJuIHN1cnJvdW5kLT5wYWRkaW5nLmVuZCh3cml0aW5nTW9kZSgp
LCBkaXJlY3Rpb24oKSk7IH0KIAogICAgIEVDdXJzb3IgY3Vyc29yKCkgY29uc3QgeyByZXR1cm4g
c3RhdGljX2Nhc3Q8RUN1cnNvcj4oaW5oZXJpdGVkX2ZsYWdzLl9jdXJzb3Jfc3R5bGUpOyB9Cisg
ICAgQ3Vyc29yVmlzaWJpbGl0eSBjdXJzb3JWaXNpYmlsaXR5KCkgY29uc3QgeyByZXR1cm4gc3Rh
dGljX2Nhc3Q8Q3Vyc29yVmlzaWJpbGl0eT4oaW5oZXJpdGVkX2ZsYWdzLm1fY3Vyc29yVmlzaWJp
bGl0eSk7IH0KIAogICAgIEN1cnNvckxpc3QqIGN1cnNvcnMoKSBjb25zdCB7IHJldHVybiByYXJl
SW5oZXJpdGVkRGF0YS0+Y3Vyc29yRGF0YS5nZXQoKTsgfQogCkBAIC0xMTk0LDYgKzExOTgsOCBA
QCBwdWJsaWM6CiAgICAgdm9pZCBzZXRDdXJzb3JMaXN0KFBhc3NSZWZQdHI8Q3Vyc29yTGlzdD4p
OwogICAgIHZvaWQgY2xlYXJDdXJzb3JMaXN0KCk7CiAKKyAgICB2b2lkIHNldEN1cnNvclZpc2li
aWxpdHkoQ3Vyc29yVmlzaWJpbGl0eSBjKSB7IGluaGVyaXRlZF9mbGFncy5tX2N1cnNvclZpc2li
aWxpdHkgPSBjOyB9CisKICAgICB2b2lkIHNldEluc2lkZUxpbmsoRUluc2lkZUxpbmsgaW5zaWRl
TGluaykgeyBpbmhlcml0ZWRfZmxhZ3MuX2luc2lkZUxpbmsgPSBpbnNpZGVMaW5rOyB9CiAgICAg
dm9pZCBzZXRJc0xpbmsoYm9vbCBiKSB7IG5vbmluaGVyaXRlZF9mbGFncy5zZXRJc0xpbmsoYik7
IH0KIApAQCAtMTU1MCw2ICsxNTU2LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBzaG9ydCBpbml0
aWFsSG9yaXpvbnRhbEJvcmRlclNwYWNpbmcoKSB7IHJldHVybiAwOyB9CiAgICAgc3RhdGljIHNo
b3J0IGluaXRpYWxWZXJ0aWNhbEJvcmRlclNwYWNpbmcoKSB7IHJldHVybiAwOyB9CiAgICAgc3Rh
dGljIEVDdXJzb3IgaW5pdGlhbEN1cnNvcigpIHsgcmV0dXJuIENVUlNPUl9BVVRPOyB9CisgICAg
c3RhdGljIEN1cnNvclZpc2liaWxpdHkgaW5pdGlhbEN1cnNvclZpc2liaWxpdHkoKSB7IHJldHVy
biBDVVJTT1JfVklTSUJJTElUWV9BVVRPOyB9CiAgICAgc3RhdGljIENvbG9yIGluaXRpYWxDb2xv
cigpIHsgcmV0dXJuIENvbG9yOjpibGFjazsgfQogICAgIHN0YXRpYyBTdHlsZUltYWdlKiBpbml0
aWFsTGlzdFN0eWxlSW1hZ2UoKSB7IHJldHVybiAwOyB9CiAgICAgc3RhdGljIHVuc2lnbmVkIGlu
aXRpYWxCb3JkZXJXaWR0aCgpIHsgcmV0dXJuIDM7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmgKaW5kZXggOGMyYzBiNTg2
ZjRiNDhlYTlhZDQyZDAyYWNiYzI0NDI1ZTFkNzEzNi4uZjkwYzYzYmE3NzlkNTgyZmVlYjY0NDFl
MWY0ODIwM2EzZDUwZGEwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmgKQEAgLTQxOCw2ICs0MTgsMTEgQEAgZW51bSBF
Q3Vyc29yIHsKICAgICBDVVJTT1JfTk9ORQogfTsKIAorZW51bSBDdXJzb3JWaXNpYmlsaXR5IHsK
KyAgICBDVVJTT1JfVklTSUJJTElUWV9BVVRPLAorICAgIENVUlNPUl9WSVNJQklMSVRZX0FVVE9f
SElERSwKK307CisKIC8vIFRoZSBvcmRlciBvZiB0aGlzIGVudW0gbXVzdCBtYXRjaCB0aGUgb3Jk
ZXIgb2YgdGhlIGRpc3BsYXkgdmFsdWVzIGluIENTU1ZhbHVlS2V5d29yZHMuaW4uCiBlbnVtIEVE
aXNwbGF5IHsKICAgICBJTkxJTkUsIEJMT0NLLCBMSVNUX0lURU0sIFJVTl9JTiwgQ09NUEFDVCwg
SU5MSU5FX0JMT0NLLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bFNldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5j
cHAKaW5kZXggMTI2MmFlZjVmMDNmNjhiOGVjNmI0YjZmZTAxNmUzNTFiYzU1ZWY1MC4uYzBmNTg3
N2E0ODc5YjFjYWVlZWJiNzcxNTVkNWM2ZmJjZmViNDBiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCkBAIC05NCw2ICs5NCw3IEBAIEludGVybmFsU2V0
dGluZ3M6OkJhY2t1cDo6QmFja3VwKFNldHRpbmdzKiBzZXR0aW5ncykKICAgICAsIG1fc2hvdWxk
RGlzcGxheUNhcHRpb25zKHNldHRpbmdzLT5zaG91bGREaXNwbGF5Q2FwdGlvbnMoKSkKICAgICAs
IG1fc2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnMoc2V0dGluZ3MtPnNob3VsZERpc3BsYXlU
ZXh0RGVzY3JpcHRpb25zKCkpCiAjZW5kaWYKKyAgICAsIG1fb3JpZ2luYWxUaW1lV2l0aG91dE1v
dXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyhzZXR0aW5ncy0+dGltZVdpdGhvdXRNb3Vz
ZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMoKSkKIHsKIH0KIApAQCAtMTI5LDYgKzEzMCw3
IEBAIHZvaWQgSW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpyZXN0b3JlVG8oU2V0dGluZ3MqIHNl
dHRpbmdzKQogICAgIHNldHRpbmdzLT5zZXRTaG91bGREaXNwbGF5Q2FwdGlvbnMobV9zaG91bGRE
aXNwbGF5Q2FwdGlvbnMpOwogICAgIHNldHRpbmdzLT5zZXRTaG91bGREaXNwbGF5VGV4dERlc2Ny
aXB0aW9ucyhtX3Nob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zKTsKICNlbmRpZgorICAgIHNl
dHRpbmdzLT5zZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyht
X29yaWdpbmFsVGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMpOwog
fQogCiAvLyBXZSBjYW4ndCB1c2UgUmVmQ291bnRlZFN1cHBsZW1lbnQgYmVjYXVzZSB0aGF0IHdv
dWxkIHRyeSB0byBtYWtlIEludGVybmFsU2V0dGluZ3MgUmVmQ291bnRlZApAQCAtNDg3LDQgKzQ4
OSwxMCBAQCB2b2lkIEludGVybmFsU2V0dGluZ3M6OnNldE1pbmltdW1UaW1lckludGVydmFsKGRv
dWJsZSBpbnRlcnZhbEluU2Vjb25kcywgRXhjZXB0aQogICAgIHNldHRpbmdzKCktPnNldE1pbkRP
TVRpbWVySW50ZXJ2YWwoaW50ZXJ2YWxJblNlY29uZHMpOwogfQogCit2b2lkIEludGVybmFsU2V0
dGluZ3M6OnNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKGRv
dWJsZSB0aW1lLCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBJbnRlcm5hbFNldHRpbmdzR3Vh
cmRGb3JTZXR0aW5ncygpOworICAgIHNldHRpbmdzKCktPnNldFRpbWVXaXRob3V0TW91c2VNb3Zl
bWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKHRpbWUpOworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaCBiL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oCmluZGV4IGQ2NzI0ZGE2OWJmYzhkMDFlYWRkMGM1OTkx
YWY5NzdkYzExMTg4MjguLjI1YzI1ZmUwODg0MDRiNGJiYmZjNjNhZDYxMmQ5MTIxZjMwZGFiNjYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oCkBAIC04Miw2ICs4
Miw3IEBAIHB1YmxpYzoKICAgICAgICAgYm9vbCBtX3Nob3VsZERpc3BsYXlDYXB0aW9uczsKICAg
ICAgICAgYm9vbCBtX3Nob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zOwogI2VuZGlmCisgICAg
ICAgIGJvb2wgbV9vcmlnaW5hbFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0Nv
bnRyb2xzOwogICAgIH07CiAKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxJbnRlcm5hbFNldHRpbmdz
PiBjcmVhdGUoUGFnZSogcGFnZSkKQEAgLTEyNiw2ICsxMjcsNyBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBzZXRMYW5nQXR0cmlidXRlQXdhcmVGb3JtQ29udHJvbFVJRW5hYmxlZChib29sKTsKICAgICB2
b2lkIHNldEltYWdlc0VuYWJsZWQoYm9vbCBlbmFibGVkLCBFeGNlcHRpb25Db2RlJik7CiAgICAg
dm9pZCBzZXRNaW5pbXVtVGltZXJJbnRlcnZhbChkb3VibGUgaW50ZXJ2YWxJblNlY29uZHMsIEV4
Y2VwdGlvbkNvZGUmKTsKKyAgICB2b2lkIHNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9y
ZUhpZGluZ0NvbnRyb2xzKGRvdWJsZSB0aW1lLCBFeGNlcHRpb25Db2RlJik7CiAKIHByaXZhdGU6
CiAgICAgZXhwbGljaXQgSW50ZXJuYWxTZXR0aW5ncyhQYWdlKik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsIGIvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbAppbmRleCA1ZGRiMGFlNzNhZTM0MTgwNDYxZmQw
MTZhYjc1ZmFlZWMzMzEzYzE0Li5kZDM0MTYwMTUyZWZhZTJkN2RlNWQ3N2NjNDA0NzRiMTdhM2U2
OWY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3Mu
aWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5pZGwKQEAg
LTU5LDQgKzU5LDUgQEAKICAgICB2b2lkIHNldFN0b3JhZ2VCbG9ja2luZ1BvbGljeShpbiBET01T
dHJpbmcgcG9saWN5KSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKICAgICB2b2lkIHNldEltYWdlc0Vu
YWJsZWQoaW4gYm9vbGVhbiBlbmFibGVkKSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKICAgICB2b2lk
IHNldE1pbmltdW1UaW1lckludGVydmFsKGluIGRvdWJsZSBpbnRlcnZhbEluU2Vjb25kcykgcmFp
c2VzKERPTUV4Y2VwdGlvbik7CisgICAgdm9pZCBzZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRC
ZWZvcmVIaWRpbmdDb250cm9scyhpbiBkb3VibGUgdGltZSkgcmFpc2VzKERPTUV4Y2VwdGlvbik7
CiB9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IGFiNmM5NzBhNTk4YzQxYWVmMmI2ZGRmMDBkZWJlMmI1YTM3MWU5OGMuLjQ0
N2E5YzM0NGRhYTA2NWQ4MmU1ZDcxZGE2ZTM1OTZkODdmOGJkOWIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
MyBAQAorMjAxMy0wMS0yMyAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KKworICAg
ICAgICBEZWZhdWx0IG1vdXNlIGN1cnNvciBiZWhhdmlvciBzaG91bGQgYmUgYXV0by1oaWRlIGZv
ciBmdWxsIHNjcmVlbiB2aWRlbyB3aXRoIGN1c3RvbSBjb250cm9scworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA3NjAxCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmdWxsc2NyZWVuL3ZpZGVvLWN1cnNv
ci1hdXRvLWhpZGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmdWxsc2NyZWVuL3Zp
ZGVvLWN1cnNvci1hdXRvLWhpZGUuaHRtbDogQWRkZWQuCisKIDIwMTMtMDMtMDQgIENocmlzIEZs
ZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWJTcGVlY2g6IGNoYW5n
ZSB2b2ljZVVSSSB0byB2b2ljZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZnVsbHNjcmVlbi92
aWRlby1jdXJzb3ItYXV0by1oaWRlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Z1bGxzY3Jl
ZW4vdmlkZW8tY3Vyc29yLWF1dG8taGlkZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2ViZWZk
ZTFkMWMzNDU5YjA2NmZjM2QzMzE2ZDM5YWE3MzA4NGYxNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Z1bGxzY3JlZW4vdmlkZW8tY3Vyc29yLWF1dG8taGlkZS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw3IEBACitUaGlzIHRlc3RzIHRoYXQgdGhlIGN1cnNvciBoaWRlcyBhZnRlciBo
b3ZlcmluZyBvdmVyIGEgdmlkZW8gZWxlbWVudCBpbiBmdWxsIHNjcmVlbiBtb2RlLgorCitFVkVO
VCh3ZWJraXRmdWxsc2NyZWVuY2hhbmdlKQorRVhQRUNURUQgKHdpbmRvdy5pbnRlcm5hbHMuZ2V0
Q3VycmVudEN1cnNvckluZm8oZG9jdW1lbnQpID09ICd0eXBlPVBvaW50ZXIgaG90U3BvdD0wLDAn
KSBPSworRVhQRUNURUQgKHdpbmRvdy5pbnRlcm5hbHMuZ2V0Q3VycmVudEN1cnNvckluZm8oZG9j
dW1lbnQpID09ICd0eXBlPU5vbmUgaG90U3BvdD0wLDAnKSBPSworRU5EIE9GIFRFU1QKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZnVsbHNjcmVlbi92aWRlby1jdXJzb3ItYXV0by1oaWRlLmh0
bWwgYi9MYXlvdXRUZXN0cy9mdWxsc2NyZWVuL3ZpZGVvLWN1cnNvci1hdXRvLWhpZGUuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41Nzc2NDFlYjE3YWZlNjIzNzI5YzkzMTRkNzg2ODRkYzc1ZTdiMGI1Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZnVsbHNjcmVlbi92aWRlby1jdXJzb3ItYXV0by1o
aWRlLmh0bWwKQEAgLTAsMCArMSwzMSBAQAorPGJvZHk+CisgICAgPHA+VGhpcyB0ZXN0cyB0aGF0
IHRoZSBjdXJzb3IgaGlkZXMgYWZ0ZXIgaG92ZXJpbmcgb3ZlciBhIHZpZGVvIGVsZW1lbnQgaW4g
ZnVsbCBzY3JlZW4gbW9kZS48L3A+CisgICAgPGRpdiBpZD13cmFwcGVyPgorICAgICAgICA8dmlk
ZW8gaWQ9InZpZGVvIiB3aWR0aD0iMzAwIj48L3ZpZGVvPgorICAgIDwvZGl2PgorICAgIDxzY3Jp
cHQgc3JjPSJmdWxsLXNjcmVlbi10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICB2YXIgd3JhcHBlciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd3cmFwcGVyJyk7CisK
KyAgICAgICAgZnVuY3Rpb24gY2hlY2tGb3JIaWRkZW5Nb3VzZSgpCisgICAgICAgIHsKKyAgICAg
ICAgICAgIHRlc3RFeHBlY3RlZCgnd2luZG93LmludGVybmFscy5nZXRDdXJyZW50Q3Vyc29ySW5m
byhkb2N1bWVudCknLCAndHlwZT1Ob25lIGhvdFNwb3Q9MCwwJyk7CisgICAgICAgICAgICBlbmRU
ZXN0KCk7CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiBmdWxsc2NyZWVuQ2hhbmdlZChl
dmVudCkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAg
ICAgICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VGltZVdpdGhvdXRNb3VzZU1vdmVt
ZW50QmVmb3JlSGlkaW5nQ29udHJvbHMoMCk7CisgICAgICAgICAgICAgICAgd3JhcHBlckJveCA9
IGludGVybmFscy5ib3VuZGluZ0JveCh3cmFwcGVyKTsKKyAgICAgICAgICAgICAgICBldmVudFNl
bmRlci5tb3VzZU1vdmVUbyh3cmFwcGVyQm94LmxlZnQgKyB3cmFwcGVyQm94LndpZHRoIC8gMiwg
d3JhcHBlckJveC50b3AgKyB3cmFwcGVyQm94LmhlaWdodCAvIDIpOworICAgICAgICAgICAgICAg
IHRlc3RFeHBlY3RlZCgnd2luZG93LmludGVybmFscy5nZXRDdXJyZW50Q3Vyc29ySW5mbyhkb2N1
bWVudCknLCAndHlwZT1Qb2ludGVyIGhvdFNwb3Q9MCwwJyk7CisgICAgICAgICAgICAgICAgc2V0
VGltZW91dChjaGVja0ZvckhpZGRlbk1vdXNlLCAwKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgICAgICBsb2dSZXN1bHQoZmFsc2UsICJ3aW5kb3cuaW50ZXJu
YWxzID09IHVuZGVmaW5lZCIpOworICAgICAgICB9CisgICAgICAgIHdhaXRGb3JFdmVudChkb2N1
bWVudCwgJ3dlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UnLCBmdWxsc2NyZWVuQ2hhbmdlZCk7CisgICAg
ICAgIHJ1bldpdGhLZXlEb3duKGZ1bmN0aW9uKCl7d3JhcHBlci53ZWJraXRSZXF1ZXN0RnVsbFNj
cmVlbigpfSk7CisgICAgPC9zY3JpcHQ+Cis8L2JvZHk+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191371</attachid>
            <date>2013-03-04 18:20:46 -0800</date>
            <delta_ts>2013-03-04 18:40:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107601-20130304181653.patch</filename>
            <type>text/plain</type>
            <size>68054</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0NjgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGZiYzFhMzI4NjI4OTJjZDFkNmMxZDYz
Y2Q2OGNkODA5NzhhMjg2ZGMuLjYwMGE1N2MyMDlhNzAzN2I1YzhmMjRiYTQ3Njg4MmZhMmMxODk5
NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTMtMDMtMDQgIEplciBOb2JsZSAgPGplci5ub2Js
ZUBhcHBsZS5jb20+CisKKyAgICAgICAgRGVmYXVsdCBtb3VzZSBjdXJzb3IgYmVoYXZpb3Igc2hv
dWxkIGJlIGF1dG8taGlkZSBmb3IgZnVsbCBzY3JlZW4gdmlkZW8gd2l0aCBjdXN0b20gY29udHJv
bHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNzYw
MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVuYWJs
ZSB0aGUgQ1VSU09SX1ZJU0lCSUxJVFkgZmVhdHVyZS4KKworICAgICAgICAqIHd0Zi9GZWF0dXJl
RGVmaW5lcy5oOgorCiAyMDEzLTAzLTA0ICBMYXN6bG8gR29tYm9zICA8bC5nb21ib3NAc2Ftc3Vu
Zy5jb20+CiAKICAgICAgICAgSlNDX09CSkNfQVBJX0VOQUJMRUQgc2hvdWxkIGJlIHJlbW92ZWQg
ZnJvbSBGZWF0dXJlRGVmaW5lcy5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDRiMmQwYjg5ZmM5OTg3OGUyZmM1
Mzg4MmE5ZmQyMmU3MjQ1OTRkMS4uYjllZjU0MGZiOGFmMDhlZjMzMTc4MWRlMGFjMmY5NzJkZDM5
YTg0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgwIEBACisyMDEzLTAyLTIyICBKZXIgTm9ibGUg
IDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIERlZmF1bHQgbW91c2UgY3Vyc29yIGJl
aGF2aW9yIHNob3VsZCBiZSBhdXRvLWhpZGUgZm9yIGZ1bGwgc2NyZWVuIHZpZGVvIHdpdGggY3Vz
dG9tIGNvbnRyb2xzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDc2MDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUZXN0OiBmdWxsc2NyZWVuL3ZpZGVvLWN1cnNvci1hdXRvLWhpZGUuaHRtbAorCisgICAg
ICAgIFRvIGZhY2lsaXRhdGUgYXV0b21hdGljYWxseSBoaWRpbmcgdGhlIG1vdXNlIGN1cnNvciBh
ZnRlciBhIGNlcnRhaW4gYW1vdW50IG9mIGlkbGUgbW91c2UKKyAgICAgICAgdGltZSwgYWRkIGEg
bmV3IENTUyBwcm9wZXJ0eSAnLXdlYmtpdC1jdXJzb3ItdmlzaWJpbGl0eScsIGFuZCBoYW5kbGUg
dGhhdCB2YWx1ZSBpbnNpZGUgb2YKKyAgICAgICAgRXZlbnRIYW5kbGVyLiBXaGVuIHRoYXQgdmFs
dWUgaXMgcHJlc2VudCwgdGhlIEV2ZW50SGFuZGxlciB3aWxsIHN0YXJ0IGEgdGltZXIgd2hpY2gs
IHdoZW4KKyAgICAgICAgZmlyZWQsIHdpbGwgc2V0IHRoZSB2aWV3J3MgY3Vyc29yIHRvIHRoZSBO
b25lIGN1cnNvci4gU3Vic2VxdWVudCBtb3VzZSBtb3ZlcyB3aWxsIGVpdGhlcgorICAgICAgICBj
YW5jZWwgdGhlIHRpbWVyLCBvciByZXNldCB0aGUgYXV0by1oaWRlIHRpbWVyLgorCisgICAgICAg
IEFkZCBhIG5ldyBDU1MgcHJvcGVydHksICctd2Via2l0LWN1cnNvci12aXNpYmlsaXR5JzoKKyAg
ICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkNTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6Z2V0UHJvcGVydHlDU1NWYWx1ZSk6
CisgICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJz
ZXI6OnBhcnNlVmFsdWUpOgorICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdz
Lmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFs
dWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJhdG9yIEVDdXJz
b3JWaXNpYmlsaXR5KToKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHkuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTUHJvcGVydHk6OmlzSW5oZXJpdGVkUHJvcGVydHkpOgorICAgICAgICAqIGNz
cy9DU1NQcm9wZXJ0eU5hbWVzLmluOgorICAgICAgICAqIGNzcy9DU1NWYWx1ZUtleXdvcmRzLmlu
OgorICAgICAgICAqIGNzcy9TdHlsZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5
bGVCdWlsZGVyOjpTdHlsZUJ1aWxkZXIpOgorICAgICAgICAqIGNzcy9TdHlsZVJlc29sdmVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmVzb2x2ZXI6OmFwcGx5UHJvcGVydHkpOgorCisg
ICAgICAgIEFkZCBhIHJ1bGUgZm9yIHZpZGVvIGRlc2NlbmRhbnRzIG9mIGZ1bGwgc2NyZWVuIGVs
ZW1lbnRzIHRvIGF1dG8taGlkZSB0aGUgY3Vyc29yIG9uIGhvdmVyOgorICAgICAgICAqIGNzcy9m
dWxsc2NyZWVuLmNzczoKKyAgICAgICAgKDotd2Via2l0LWZ1bGwtc2NyZWVuIHZpZGVvOmhvdmVy
KToKKworICAgICAgICBBZGQgYSBuZXcgdGltZXIsIG1fYXV0b0hpZGVDdXJzb3JUaW1lciwgdG8g
Y29udHJvbCByZXNldHRpbmcgdGhlIHZpZXcncyBjdXJzb3IgdG8gTm9uZSBhZnRlcgorICAgICAg
ICBlbm91Z2ggbW91c2UgaWRsZSB0aW1lIGhhcyBwYXNzZWQuCisgICAgICAgICogcGFnZS9FdmVu
dEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpFdmVudEhhbmRs
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjp+RXZlbnRIYW5kbGVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6Y2xlYXIpOgorICAgICAgICAoV2ViQ29yZTo6
RXZlbnRIYW5kbGVyOjpzZWxlY3RDdXJzb3IpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5k
bGVyOjpzdGFydEF1dG9IaWRlQ3Vyc29yVGltZXIpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRI
YW5kbGVyOjpjYW5jZWxBdXRvSGlkZUN1cnNvclRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkV2
ZW50SGFuZGxlcjo6YXV0b0hpZGVDdXJzb3JUaW1lckZpcmVkKToKKyAgICAgICAgKiBwYWdlL0V2
ZW50SGFuZGxlci5oOgorCisgICAgICAgIE1ha2UgRnJhbWVWaWV3Ojppc0FjdGl2ZSgpIGEgcHVi
bGljIGZ1bmN0aW9uIChsaWtlIGl0IGlzIGluIGl0cyBzdXBlcmNsYXNzKS4KKyAgICAgICAgKiBw
YWdlL0ZyYW1lVmlldy5oOgorICAgICAgICAoRnJhbWVWaWV3KToKKworICAgICAgICBNb3ZlIHRo
ZSBkZWZpbml0aW9uIGZvciB0aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250
cm9scyBmcm9tIHBhZ2UtPnRoZW1lKCkKKyAgICAgICAgdG8gcGFnZS0+c2V0dGluZ3MoKSBhbmQg
YWxsb3cgdGhhdCBzZXR0aW5nIHRvIGJlIG92ZXJyaWRkZW4gaW4gSW50ZXJuYWxTZXR0aW5ncyBm
b3IgCisgICAgICAgIHRlc3RpbmcgcHVycG9zZXM6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6U2V0dGluZ3MpOgorICAgICAgICAqIHBh
Z2UvU2V0dGluZ3MuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRUaW1lV2l0aG91
dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyk6CisgICAgICAgIChXZWJDb3JlOjpT
ZXR0aW5nczo6dGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMpOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZS5oOgorICAgICAgICAqIHRlc3RpbmcvSW50
ZXJuYWxTZXR0aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpC
YWNrdXA6OkJhY2t1cCk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpCYWNr
dXA6OnJlc3RvcmVUbyk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpzZXRU
aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyk6CisgICAgICAgICog
dGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmg6CisgICAgICAgIChJbnRlcm5hbFNldHRpbmdzKToK
KyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsOgorICAgICAgICAqIGh0bWwv
c2hhZG93L01lZGlhQ29udHJvbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9s
czo6c3RhcnRIaWRlRnVsbHNjcmVlbkNvbnRyb2xzVGltZXIpOgorCisgICAgICAgIEFkZCBzdXBw
b3J0IHRvIEZlYXR1cmVPYnNlcnZlciBmb3IgQ1VSU09SX1ZJU0lCSUxJVFk6CisgICAgICAgICog
cGFnZS9GZWF0dXJlT2JzZXJ2ZXIuaDoKKworICAgICAgICBFbmFibGUgdGhlIGZlYXR1cmUgZmxh
ZzoKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwog
MjAxMy0wMy0wNCAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgogCiAgICAg
ICAgIFdlYlNwZWVjaDogY2hhbmdlIHZvaWNlVVJJIHRvIHZvaWNlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDQ0ODY0
MGQxNDZmOTFhNzY5ZDExMmZhZGQ4NzU3MWYxMWViMzQ2NWUuLjYyMTU5YmIxZDBiNzcwY2NlNTRk
ZDk0ZWI1YmIwNmU3NzExYzFhNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTMtMDMt
MDQgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgRGVmYXVsdCBt
b3VzZSBjdXJzb3IgYmVoYXZpb3Igc2hvdWxkIGJlIGF1dG8taGlkZSBmb3IgZnVsbCBzY3JlZW4g
dmlkZW8gd2l0aCBjdXN0b20gY29udHJvbHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEwNzYwMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEVuYWJsZSB0aGUgQ1VSU09SX1ZJU0lCSUxJVFkgZmVhdHVyZS4K
KworICAgICAgICAqIFdlYktpdC52Y3hwcm9qL0ZlYXR1cmVEZWZpbmVzLnByb3BzOgorCiAyMDEz
LTAzLTA0ICBSb2dlciBGb25nICA8cm9nZXJfZm9uZ0BhcHBsZS5jb20+CiAKICAgICAgICAgVW5y
ZXZpZXdlZC4gQXBwbGVXaW4gYnVpbGQgZml4LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9t
YWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IGJmZDVlNDhi
MDdmY2Q4YjNhMTBkNDYzODgzOGE4OWI4YmQ4Y2FhYmMuLjVjOTBjNWUwYzQ1MTZkZWE5MGRjYjYz
MmNmNDBhYjM4OTc5NjYzYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAx
My0wMy0wNCAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KKworICAgICAgICBEZWZh
dWx0IG1vdXNlIGN1cnNvciBiZWhhdmlvciBzaG91bGQgYmUgYXV0by1oaWRlIGZvciBmdWxsIHNj
cmVlbiB2aWRlbyB3aXRoIGN1c3RvbSBjb250cm9scworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA3NjAxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgRW5hYmxlIHRoZSBDVVJTT1JfVklTSUJJTElUWSBmZWF0
dXJlLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6
CisKIDIwMTMtMDMtMDQgIE1hcmsgSGFobmVuYmVyZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4K
IAogICAgICAgICBSZW1vdmUgY29udGV4dEludGVybmFsQ29udGV4dCBmcm9tIEpTQ29udGV4dElu
dGVybmFsLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwppbmRleCAxNThhM2JmNzQ3M2I4NzUxZGZjY2IwZTU4MTFlMmY4ZmNl
MmJjNjYxLi5jYzBhMTI0NzI3NmNkMzQ2ZDdiZGY2M2UzYWNmNDM3OTcwNzUzMDI3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCkBAIC0xLDUgKzEsMTYgQEAKIDIwMTMtMDMtMDQgIEplciBOb2JsZSAgPGplci5ub2JsZUBh
cHBsZS5jb20+CiAKKyAgICAgICAgRGVmYXVsdCBtb3VzZSBjdXJzb3IgYmVoYXZpb3Igc2hvdWxk
IGJlIGF1dG8taGlkZSBmb3IgZnVsbCBzY3JlZW4gdmlkZW8gd2l0aCBjdXN0b20gY29udHJvbHMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNzYwMQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVuYWJsZSB0
aGUgQ1VSU09SX1ZJU0lCSUxJVFkgZmVhdHVyZS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCisyMDEzLTAzLTA0ICBKZXIgTm9ibGUgIDxqZXIu
bm9ibGVAYXBwbGUuY29tPgorCiAgICAgICAgIFVucmV2aWV3ZWQgYnVpbGQgZml4OiB3cmFwIHJl
ZmVyZW5jZXMgdG8gUGx1Z2luSW5mb1N0b3JlIHdpdGggCiAgICAgICAgIGd1YXJkcyBmb3IgcGxh
dGZvcm1zIHdoaWNoIGRvIG5vdCBlbmFibGUgTkVUU0NBUEVfUExVR0lOX0FQLgogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcKaW5kZXggYzgyMDYyYjFlMGUzOTA2MWExZWZmYzcxODdkOTg5MGMwNDJl
NTRiNS4uMDU0ODA1NzhlY2IwZjU2Yjk3MGNmZDk0MjAzM2JjNGUyMGNiYzFkYyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZwpAQCAtNTgsNiArNTgsNyBAQCBFTkFCTEVfQ1NTX1ZBUklBQkxFUyA9
IDsKIEVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTID0gOwogRU5BQkxFX0NTUzNfVEVYVCA9
IDsKIEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSyA9IDsKK0VOQUJMRV9DVVJTT1JfVklTSUJJ
TElUWSA9IEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWTsKIEVOQUJMRV9DVVNUT01fU0NIRU1FX0hB
TkRMRVIgPSA7CiBFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQgPSAkKEVOQUJMRV9EQVNIQk9BUkRf
U1VQUE9SVF8kKFBMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVF9tYWNv
c3ggPSBFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQ7CkBAIC0xODMsNCArMTg0LDQgQEAgRU5BQkxF
X1dPUktFUlMgPSBFTkFCTEVfV09SS0VSUzsKIEVOQUJMRV9YSFJfVElNRU9VVCA9IEVOQUJMRV9Y
SFJfVElNRU9VVDsKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5F
UyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFT
KSAkKEVOQUJMRV9CTE9CKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NB
TlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFL
KSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19FWENMVVNJT05T
KSAkKEVOQUJMRV9DU1NfRklMVEVSUykgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAk
KEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5B
QkxFX0NTU19TSEFERVJTKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19T
VElDS1lfUE9TSVRJT04pICQoRU5BQkxFX0NTU19UUkFOU0ZPUk1TX0FOSU1BVElPTlNfVU5QUkVG
SVhFRCkgJChFTkFCTEVfQ1NTX1ZBUklBQkxFUykgJChFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9S
VUxFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykg
JChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9S
VCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVN
UykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0RJQUxPR19FTEVNRU5UKSAkKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKSAkKEVO
QUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRFJBR0dBQkxFX1JFR0lPTikg
JChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQo
RU5BQkxFX0ZJTEVfU1lTVEVNKSAkKEVOQUJMRV9GSUxURVJTKSAkKEVOQUJMRV9GT05UX0xPQURf
RVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFC
TEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5H
KSAkKEVOQUJMRV9ISUdIX0RQSV9DQU5WQVMpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFC
TEVfSUZSQU1FX1NFQU1MRVNTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9J
TlBVVF9TUEVFQ0gpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSkFWQVNDUklQ
VF9ERUJVR0dFUikgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxF
X0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAk
KEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJM
RV9MSU5LX1BSRVJFTkRFUikgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0Up
ICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5B
QkxFX01IVE1MKSAkKEVOQUJMRV9NSUNST0RBVEEpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FM
RSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05PVElGSUNBVElP
TlMpICQoRU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkpICQoRU5BQkxFX1BERktJVF9QTFVHSU4p
ICQoRU5BQkxFX1BMVUdJTl9QUk9YWV9GT1JfVklERU8pICQoRU5BQkxFX1BST0dSRVNTX0VMRU1F
TlQpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElT
VCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVO
QUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9TQ1JJUFRFRF9TUEVFQ0gpICQo
RU5BQkxFX1NIQURPV19ET00pICQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TUEVF
Q0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TUUxfREFUQUJBU0UpICQoRU5BQkxFX1NUWUxFX1NDT1BF
RCkgJChFTkFCTEVfU1VCUElYRUxfTEFZT1VUKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19E
T01fT0JKQ19CSU5ESU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URU1QTEFURV9F
TEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RFWFRfTk9USUZJQ0FU
SU9OU19PTkxZKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX1VTRVJTRUxF
Q1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1dF
QkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9X
RUJfVElNSU5HKSAkKEVOQUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFC
TEVfWFNMVCkgJChGRUFUVVJFX0RFRklORVNfJChQTEFURk9STV9OQU1FKSk7CitGRUFUVVJFX0RF
RklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NB
TlZBUykgJChFTkFCTEVfQkxPQikgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJM
RV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01F
U1NBR0lORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9C
UkVBSykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfRVhDTFVT
SU9OUykgJChFTkFCTEVfQ1NTX0ZJTFRFUlMpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElP
TikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAk
KEVOQUJMRV9DU1NfU0hBREVSUykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9D
U1NfU1RJQ0tZX1BPU0lUSU9OKSAkKEVOQUJMRV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1VO
UFJFRklYRUQpICQoRU5BQkxFX0NTU19WQVJJQUJMRVMpICQoRU5BQkxFX0NTUzNfQ09ORElUSU9O
QUxfUlVMRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJF
QUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hB
TkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVN
RU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1F
TlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRElBTE9HX0VMRU1FTlQp
ICQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVD
VE9SKSAkKEVOQUJMRV9EUkFHR0FCTEVfUkVHSU9OKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEp
ICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMRV9TWVNURU0pICQoRU5B
QkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JF
RU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVf
SElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0hJR0hfRFBJX0NBTlZB
UykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JRlJBTUVfU0VBTUxFU1MpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1NQRUVDSCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxF
X0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9MRUdB
Q1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQo
RU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8p
ICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX0xJTktfUFJFUkVOREVSKSAkKEVOQUJM
RV9NQVRITUwpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElD
UykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01JQ1JP
REFUQSkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09O
VEVOVF9VVElMUykgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFHRV9WSVNJQklM
SVRZX0FQSSkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUExVR0lOX1BST1hZX0ZP
Ul9WSURFTykgJChFTkFCTEVfUFJPR1JFU1NfRUxFTUVOVCkgJChFTkFCTEVfUFJPWElNSVRZX0VW
RU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFC
TEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVF
UlkpICQoRU5BQkxFX1NDUklQVEVEX1NQRUVDSCkgJChFTkFCTEVfU0hBRE9XX0RPTSkgJChFTkFC
TEVfU0hBUkVEX1dPUktFUlMpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NR
TF9EQVRBQkFTRSkgJChFTkFCTEVfU1RZTEVfU0NPUEVEKSAkKEVOQUJMRV9TVUJQSVhFTF9MQVlP
VVQpICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVOQUJM
RV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVU
T1NJWklORykgJChFTkFCTEVfVEVYVF9OT1RJRklDQVRJT05TX09OTFkpICQoRU5BQkxFX1RPVUNI
X0lDT05fTE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAk
KEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykg
JChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dPUktF
UlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEZFQVRVUkVfREVGSU5F
U18kKFBMQVRGT1JNX05BTUUpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVE
ZWZpbmVzLmggYi9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oCmluZGV4IDg4ZmNmNDIz
NzlkZjc2NGEyOGU0OTk5Mjk3Y2MwN2ZkOTllZWM2MmEuLjA2NDZmN2Y2MWY3ZTBiNzQ3MjEwYzE3
NjJmZGI4MDdiNjQzMDNhNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZp
bmVzLmgKKysrIGIvU291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaApAQCAtMTg2LDYgKzE4
NiwxMCBAQAogI2RlZmluZSBFTkFCTEVfV0VCX0FVRElPIDEKICNlbmRpZgogCisjaWYgIWRlZmlu
ZWQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKQorI2RlZmluZSBFTkFCTEVfQ1VSU09SX1ZJU0lC
SUxJVFkgMQorI2VuZGlmCisKICNlbmRpZiAvKiBQTEFURk9STShNQUMpICYmICFQTEFURk9STShJ
T1MpICovCiAKIC8qIC0tLS0tLS0tLSBBcHBsZSBXaW5kb3dzIHBvcnQgLS0tLS0tLS0tICovCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZyBiL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnCmluZGV4IGU5YmMyNTQ1ODY3ZGVmMzUxYjgzYjNiNzdkYmI3NmMyMjM0ZTE3MGIuLmMw
NThlM2QyZjdlYzdlODkzZGU3MWQ2NDkxZTc4ZjM4NGU1ZTYwZjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC01
OCw2ICs1OCw3IEBAIEVOQUJMRV9DU1NfVkFSSUFCTEVTID0gOwogRU5BQkxFX0NTUzNfQ09ORElU
SU9OQUxfUlVMRVMgPSA7CiBFTkFCTEVfQ1NTM19URVhUID0gOwogRU5BQkxFX0NTUzNfVEVYVF9M
SU5FX0JSRUFLID0gOworRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZID0gRU5BQkxFX0NVUlNPUl9W
SVNJQklMSVRZOwogRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUiA9IDsKIEVOQUJMRV9EQVNI
Qk9BUkRfU1VQUE9SVCA9ICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUXyQoUExBVEZPUk1fTkFN
RSkpOwogRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUX21hY29zeCA9IEVOQUJMRV9EQVNIQk9BUkRf
U1VQUE9SVDsKQEAgLTE4Myw0ICsxODQsNCBAQCBFTkFCTEVfV09SS0VSUyA9IEVOQUJMRV9XT1JL
RVJTOwogRU5BQkxFX1hIUl9USU1FT1VUID0gRU5BQkxFX1hIUl9USU1FT1VUOwogRU5BQkxFX1hT
TFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVS
SU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0JMT0IpICQoRU5B
QkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NB
TlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NTUF9ORVhU
KSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19ERVZJQ0Vf
QURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0VYQ0xVU0lPTlMpICQoRU5BQkxFX0NTU19GSUxURVJT
KSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNP
TFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NIQURFUlMpICQoRU5B
QkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTikgJChFTkFC
TEVfQ1NTX1RSQU5TRk9STVNfQU5JTUFUSU9OU19VTlBSRUZJWEVEKSAkKEVOQUJMRV9DU1NfVkFS
SUFCTEVTKSAkKEVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTKSAkKEVOQUJMRV9DU1MzX1RF
WFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1F
X0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9F
TEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VM
RU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRElBTE9HX0VMRU1F
TlQpICQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNU
UlVDVE9SKSAkKEVOQUJMRV9EUkFHR0FCTEVfUkVHSU9OKSAkKEVOQUJMRV9FTkNSWVBURURfTUVE
SUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMRV9TWVNURU0pICQo
RU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExT
Q1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFC
TEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0hJR0hfRFBJX0NB
TlZBUykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JRlJBTUVfU0VBTUxFU1MpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1NQRUVDSCkgJChFTkFCTEVf
SU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEVUSU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5B
QkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9M
RUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMp
ICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVE
SU8pICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX0xJTktfUFJFUkVOREVSKSAkKEVO
QUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElT
VElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01J
Q1JPREFUQSkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1Jf
Q09OVEVOVF9VVElMUykgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFHRV9WSVNJ
QklMSVRZX0FQSSkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUExVR0lOX1BST1hZ
X0ZPUl9WSURFTykgJChFTkFCTEVfUFJPR1JFU1NfRUxFTUVOVCkgJChFTkFCTEVfUFJPWElNSVRZ
X0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChF
TkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFf
UVVFUlkpICQoRU5BQkxFX1NDUklQVEVEX1NQRUVDSCkgJChFTkFCTEVfU0hBRE9XX0RPTSkgJChF
TkFCTEVfU0hBUkVEX1dPUktFUlMpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxF
X1NRTF9EQVRBQkFTRSkgJChFTkFCTEVfU1RZTEVfU0NPUEVEKSAkKEVOQUJMRV9TVUJQSVhFTF9M
QVlPVVQpICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVO
QUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRf
QVVUT1NJWklORykgJChFTkFCTEVfVEVYVF9OT1RJRklDQVRJT05TX09OTFkpICQoRU5BQkxFX1RP
VUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVP
KSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJ
TykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dP
UktFUlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEZFQVRVUkVfREVG
SU5FU18kKFBMQVRGT1JNX05BTUUpKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JF
TkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9CTE9CKSAk
KEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJM
RV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DU1Bf
TkVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfREVW
SUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19FWENMVVNJT05TKSAkKEVOQUJMRV9DU1NfRklM
VEVSUykgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0Vf
UkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TSEFERVJTKSAk
KEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19TVElDS1lfUE9TSVRJT04pICQo
RU5BQkxFX0NTU19UUkFOU0ZPUk1TX0FOSU1BVElPTlNfVU5QUkVGSVhFRCkgJChFTkFCTEVfQ1NT
X1ZBUklBQkxFUykgJChFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUykgJChFTkFCTEVfQ1NT
M19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJ
U0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJP
QVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJB
TlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09S
SUVOVEFUSU9OKSAkKEVOQUJMRV9ESUFMT0dfRUxFTUVOVCkgJChFTkFCTEVfRElSRUNUT1JZX1VQ
TE9BRCkgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0RSQUdHQUJM
RV9SRUdJT04pICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01F
RElBX1YyKSAkKEVOQUJMRV9GSUxFX1NZU1RFTSkgJChFTkFCTEVfRklMVEVSUykgJChFTkFCTEVf
Rk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQ
QUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJf
VEhST1RUTElORykgJChFTkFCTEVfSElHSF9EUElfQ0FOVkFTKSAkKEVOQUJMRV9JQ09OREFUQUJB
U0UpICQoRU5BQkxFX0lGUkFNRV9TRUFNTEVTUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkg
JChFTkFCTEVfSU5QVVRfU1BFRUNIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxF
X0pBVkFTQ1JJUFRfREVCVUdHRVIpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVT
KSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9Q
UkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTElOS19QUkVGRVRD
SCkgJChFTkFCTEVfTElOS19QUkVSRU5ERVIpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVE
SUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVN
RU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTUlDUk9EQVRBKSAkKEVOQUJMRV9NT1VTRV9D
VVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9O
T1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQUdFX1ZJU0lCSUxJVFlfQVBJKSAkKEVOQUJMRV9QREZL
SVRfUExVR0lOKSAkKEVOQUJMRV9QTFVHSU5fUFJPWFlfRk9SX1ZJREVPKSAkKEVOQUJMRV9QUk9H
UkVTU19FTEVNRU5UKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNf
U1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9G
UkFNRSkgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfU0NSSVBURURf
U1BFRUNIKSAkKEVOQUJMRV9TSEFET1dfRE9NKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChF
TkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1FMX0RBVEFCQVNFKSAkKEVOQUJMRV9T
VFlMRV9TQ09QRUQpICQoRU5BQkxFX1NVQlBJWEVMX0xBWU9VVCkgJChFTkFCTEVfU1ZHKSAkKEVO
QUJMRV9TVkdfRE9NX09CSkNfQklORElOR1MpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVf
VEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9URVhU
X05PVElGSUNBVElPTlNfT05MWSkgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJM
RV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAk
KEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfU09DS0VUUykg
JChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV09SS0VSUykgJChFTkFCTEVfWEhSX1RJTUVP
VVQpICQoRU5BQkxFX1hTTFQpICQoRkVBVFVSRV9ERUZJTkVTXyQoUExBVEZPUk1fTkFNRSkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlv
bi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNw
cAppbmRleCAzOGU4ZjI5MDQxZDU1YzMzM2JlMjRmOWU2NTU2MzBlNTRlZGFhZjJiLi4xOGYwNjQy
NTczZDE2NjE3YTY5M2QwNmQ5NjE1NDkwZWJjYzdkMGE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcApAQCAtMjYzLDYgKzI2Myw5
IEBAIHN0YXRpYyBjb25zdCBDU1NQcm9wZXJ0eUlEIGNvbXB1dGVkUHJvcGVydGllc1tdID0gewog
ICAgIENTU1Byb3BlcnR5V2Via2l0Q29sdW1uUnVsZVdpZHRoLAogICAgIENTU1Byb3BlcnR5V2Vi
a2l0Q29sdW1uU3BhbiwKICAgICBDU1NQcm9wZXJ0eVdlYmtpdENvbHVtbldpZHRoLAorI2lmIEVO
QUJMRShDVVJTT1JfVklTSUJJTElUWSkKKyAgICBDU1NQcm9wZXJ0eVdlYmtpdEN1cnNvclZpc2li
aWxpdHksCisjZW5kaWYKICNpZiBFTkFCTEUoREFTSEJPQVJEX1NVUFBPUlQpCiAgICAgQ1NTUHJv
cGVydHlXZWJraXREYXNoYm9hcmRSZWdpb24sCiAjZW5kaWYKQEAgLTE4NDMsNiArMTg0NiwxMCBA
QCBQYXNzUmVmUHRyPENTU1ZhbHVlPiBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OmdldFBy
b3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydAogICAgICAgICAgICAgfQogICAgICAgICAgICAgcmV0
dXJuIHZhbHVlLnJlbGVhc2UoKTsKICAgICAgICAgfQorI2lmIEVOQUJMRShDVVJTT1JfVklTSUJJ
TElUWSkKKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEN1cnNvclZpc2liaWxpdHk6Cisg
ICAgICAgICAgICByZXR1cm4gY3NzVmFsdWVQb29sKCkuY3JlYXRlVmFsdWUoc3R5bGUtPmN1cnNv
clZpc2liaWxpdHkoKSk7CisjZW5kaWYKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eURpcmVjdGlv
bjoKICAgICAgICAgICAgIHJldHVybiBjc3NWYWx1ZVBvb2woKS5jcmVhdGVWYWx1ZShzdHlsZS0+
ZGlyZWN0aW9uKCkpOwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5RGlzcGxheToKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1BhcnNlci5jcHAKaW5kZXggMzU0NzZiMDc0MDg1ZDQ4NmY2YzI3NTRmYzQzOWIyM2M0NWU1
MzkzYy4uOWRkNGE3MjJiYmQ0ZjE5N2U0YjVkNmJhNzI0MWY3OTQ1Y2M2ZDNjOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1BhcnNlci5jcHAKQEAgLTIwNzMsNiArMjA3MywxMyBAQCBib29sIENTU1BhcnNlcjo6
cGFyc2VWYWx1ZShDU1NQcm9wZXJ0eUlEIHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpCiAgICAgICAg
IGJyZWFrOwogICAgIH0KIAorI2lmIEVOQUJMRShDVVJTT1JfVklTSUJJTElUWSkKKyAgICBjYXNl
IENTU1Byb3BlcnR5V2Via2l0Q3Vyc29yVmlzaWJpbGl0eToKKyAgICAgICAgaWYgKGlkID09IENT
U1ZhbHVlQXV0byB8fCBpZCA9PSBDU1NWYWx1ZUF1dG9IaWRlKQorICAgICAgICAgICAgdmFsaWRQ
cmltaXRpdmUgPSB0cnVlOworICAgICAgICBicmVhazsKKyNlbmRpZgorCiAgICAgY2FzZSBDU1NQ
cm9wZXJ0eUJhY2tncm91bmRBdHRhY2htZW50OgogICAgIGNhc2UgQ1NTUHJvcGVydHlCYWNrZ3Jv
dW5kQ2xpcDoKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0QmFja2dyb3VuZENsaXA6CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAppbmRleCA1MzJl
OTljMjdmZTdkODM3ZTgzNjA0Y2NiYmEwYmFhZWZkY2M1Zjk2Li5lOTZkNjQ2Njc1NTY4ZGM5Mjcx
MWQyYWUyMzM5MWZhNDI0NjRiZmMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmlt
aXRpdmVWYWx1ZU1hcHBpbmdzLmgKQEAgLTExNjMsNiArMTE2MywzNCBAQCB0ZW1wbGF0ZTw+IGlu
bGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgRUN1cnNvcigpIGNvbnN0CiAgICAgcmV0
dXJuIHN0YXRpY19jYXN0PEVDdXJzb3I+KG1fdmFsdWUuaWRlbnQgLSBDU1NWYWx1ZUF1dG8pOwog
fQogCisKKyNpZiBFTkFCTEUoQ1VSU09SX1ZJU0lCSUxJVFkpCit0ZW1wbGF0ZTw+IGlubGluZSBD
U1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoQ3Vyc29yVmlzaWJpbGl0eSBlKQor
ICAgIDogQ1NTVmFsdWUoUHJpbWl0aXZlQ2xhc3MpCit7CisgICAgbV9wcmltaXRpdmVVbml0VHlw
ZSA9IENTU19JREVOVDsKKyAgICBzd2l0Y2ggKGUpIHsKKyAgICBjYXNlIENVUlNPUl9WSVNJQklM
SVRZX0FVVE86CisgICAgICAgIG1fdmFsdWUuaWRlbnQgPSBDU1NWYWx1ZUF1dG87CisgICAgICAg
IGJyZWFrOworICAgIGNhc2UgQ1VSU09SX1ZJU0lCSUxJVFlfQVVUT19ISURFOgorICAgICAgICBt
X3ZhbHVlLmlkZW50ID0gQ1NTVmFsdWVBdXRvSGlkZTsKKyAgICAgICAgYnJlYWs7CisgICAgfQor
fQorCit0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgQ3Vyc29y
VmlzaWJpbGl0eSgpIGNvbnN0Cit7CisgICAgaWYgKG1fdmFsdWUuaWRlbnQgPT0gQ1NTVmFsdWVB
dXRvKQorICAgICAgICByZXR1cm4gQ1VSU09SX1ZJU0lCSUxJVFlfQVVUTzsKKyAgICBpZiAobV92
YWx1ZS5pZGVudCA9PSBDU1NWYWx1ZUF1dG9IaWRlKQorICAgICAgICByZXR1cm4gQ1VSU09SX1ZJ
U0lCSUxJVFlfQVVUT19ISURFOworCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0
dXJuIENVUlNPUl9WSVNJQklMSVRZX0FVVE87Cit9CisjZW5kaWYKKwogdGVtcGxhdGU8PiBpbmxp
bmUgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKEVEaXNwbGF5IGUpCiAgICAg
OiBDU1NWYWx1ZShQcmltaXRpdmVDbGFzcykKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcm9wZXJ0eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3Bw
CmluZGV4IGEyYzBlNmNkYjEyYjRkMTM3MGFiNzQ5NjlkOTEwNzQyYjEzMjYyYzQuLmJhOWUzYjkx
MjYwYTVhNWZiNzY1MThkMDJkZDIyMDQ2ODc5N2M5YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQcm9wZXJ0eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3Bl
cnR5LmNwcApAQCAtMzAyLDYgKzMwMiw5IEBAIGJvb2wgQ1NTUHJvcGVydHk6OmlzSW5oZXJpdGVk
UHJvcGVydHkoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlEKQogICAgIGNhc2UgQ1NTUHJvcGVydHlX
ZWJraXRCb3JkZXJWZXJ0aWNhbFNwYWNpbmc6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEJv
eERpcmVjdGlvbjoKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0Q29sb3JDb3JyZWN0aW9uOgor
I2lmIEVOQUJMRShDVVJTT1JfVklTSUJJTElUWSkKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0
Q3Vyc29yVmlzaWJpbGl0eToKKyNlbmRpZgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRGb250
RmVhdHVyZVNldHRpbmdzOgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRGb250S2VybmluZzoK
ICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0Rm9udFNtb290aGluZzoKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1Byb3BlcnR5TmFtZXMuaW4KaW5kZXggOTZkNjc1NmQ2NWFjZTY5ZDhiMWVkNDliNzk4MjI2
ZDMwMjhjYzQ4Ny4uZjhhM2IyNDlhNTdhNTE4Y2IzMjQxMmJlOTNmMmY3ZDhmZGQyZDRiOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4KKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4KQEAgLTEwMCw2ICsxMDAsOSBAQCBj
b250ZW50CiBjb3VudGVyLWluY3JlbWVudAogY291bnRlci1yZXNldAogY3Vyc29yCisjaWYgZGVm
aW5lZChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICYmIEVOQUJMRV9DVVJTT1JfVklTSUJJTElU
WQorLXdlYmtpdC1jdXJzb3ItdmlzaWJpbGl0eQorI2VuZGlmCiBlbXB0eS1jZWxscwogZmxvYXQK
IGZvbnQtc3RyZXRjaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5
d29yZHMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgppbmRleCA3
NTkyNmY2MjdhMzdmMjA2ZjExNGYxNmE3NzcyOWU4ZmQ5MzZlODBiLi5mODQwMmM1YzZiMDBiOGVm
ODQ4YmQxNTQwYzk4YWVhN2RhNjM4NDMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTVmFsdWVLZXl3b3Jkcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3
b3Jkcy5pbgpAQCAtMzc3LDYgKzM3NywxMCBAQCBhbGwtc2Nyb2xsCiAtd2Via2l0LWdyYWJiaW5n
CiAvLyBub25lCiAvLworLy8gQ1NTX1BST1BfQ1VSU09SX1ZJU0lCSUxJVFk6CisvLyBhdXRvCith
dXRvLWhpZGUKKy8vCiAvLyBDU1NfUFJPUF9ESVJFQ1RJT046CiAvLwogbHRyCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TdHlsZUJ1aWxkZXIuY3BwCmluZGV4IDRkODc4YjJlOWIzMjVlMjVlZTM2YWQ4Y2JmMmIyMDBm
MmYzODIxMGEuLjIyNjE1Y2VkMzcyNzI1YTE0NGU4NzRmOGEyYmQxNTM3ODAyMjViOGQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXIuY3BwCkBAIC0xOTgxLDYgKzE5ODEsOSBAQCBTdHlsZUJ1
aWxkZXI6OlN0eWxlQnVpbGRlcigpCiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5
V2Via2l0Q29sdW1uU3BhbiwgQXBwbHlQcm9wZXJ0eURlZmF1bHQ8Q29sdW1uU3BhbiwgJlJlbmRl
clN0eWxlOjpjb2x1bW5TcGFuLCBDb2x1bW5TcGFuLCAmUmVuZGVyU3R5bGU6OnNldENvbHVtblNw
YW4sIENvbHVtblNwYW4sICZSZW5kZXJTdHlsZTo6aW5pdGlhbENvbHVtblNwYW4+OjpjcmVhdGVI
YW5kbGVyKCkpOwogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdENvbHVt
blJ1bGVTdHlsZSwgQXBwbHlQcm9wZXJ0eURlZmF1bHQ8RUJvcmRlclN0eWxlLCAmUmVuZGVyU3R5
bGU6OmNvbHVtblJ1bGVTdHlsZSwgRUJvcmRlclN0eWxlLCAmUmVuZGVyU3R5bGU6OnNldENvbHVt
blJ1bGVTdHlsZSwgRUJvcmRlclN0eWxlLCAmUmVuZGVyU3R5bGU6OmluaXRpYWxCb3JkZXJTdHls
ZT46OmNyZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5
V2Via2l0Q29sdW1uV2lkdGgsIEFwcGx5UHJvcGVydHlBdXRvPGZsb2F0LCAmUmVuZGVyU3R5bGU6
OmNvbHVtbldpZHRoLCAmUmVuZGVyU3R5bGU6OnNldENvbHVtbldpZHRoLCAmUmVuZGVyU3R5bGU6
Omhhc0F1dG9Db2x1bW5XaWR0aCwgJlJlbmRlclN0eWxlOjpzZXRIYXNBdXRvQ29sdW1uV2lkdGgs
IENvbXB1dGVMZW5ndGg+OjpjcmVhdGVIYW5kbGVyKCkpOworI2lmIEVOQUJMRShDVVJTT1JfVklT
SUJJTElUWSkKKyAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRDdXJzb3JW
aXNpYmlsaXR5LCBBcHBseVByb3BlcnR5RGVmYXVsdDxDdXJzb3JWaXNpYmlsaXR5LCAmUmVuZGVy
U3R5bGU6OmN1cnNvclZpc2liaWxpdHksIEN1cnNvclZpc2liaWxpdHksICZSZW5kZXJTdHlsZTo6
c2V0Q3Vyc29yVmlzaWJpbGl0eSwgQ3Vyc29yVmlzaWJpbGl0eSwgJlJlbmRlclN0eWxlOjppbml0
aWFsQ3Vyc29yVmlzaWJpbGl0eT46OmNyZWF0ZUhhbmRsZXIoKSk7CisjZW5kaWYKICAgICBzZXRQ
cm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRBbGlnbkNvbnRlbnQsIEFwcGx5UHJvcGVy
dHlEZWZhdWx0PEVBbGlnbkNvbnRlbnQsICZSZW5kZXJTdHlsZTo6YWxpZ25Db250ZW50LCBFQWxp
Z25Db250ZW50LCAmUmVuZGVyU3R5bGU6OnNldEFsaWduQ29udGVudCwgRUFsaWduQ29udGVudCwg
JlJlbmRlclN0eWxlOjppbml0aWFsQWxpZ25Db250ZW50Pjo6Y3JlYXRlSGFuZGxlcigpKTsKICAg
ICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRBbGlnbkl0ZW1zLCBBcHBseVBy
b3BlcnR5RGVmYXVsdDxFQWxpZ25JdGVtcywgJlJlbmRlclN0eWxlOjphbGlnbkl0ZW1zLCBFQWxp
Z25JdGVtcywgJlJlbmRlclN0eWxlOjpzZXRBbGlnbkl0ZW1zLCBFQWxpZ25JdGVtcywgJlJlbmRl
clN0eWxlOjppbml0aWFsQWxpZ25JdGVtcz46OmNyZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJv
cGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0QWxpZ25TZWxmLCBBcHBseVByb3BlcnR5RGVm
YXVsdDxFQWxpZ25JdGVtcywgJlJlbmRlclN0eWxlOjphbGlnblNlbGYsIEVBbGlnbkl0ZW1zLCAm
UmVuZGVyU3R5bGU6OnNldEFsaWduU2VsZiwgRUFsaWduSXRlbXMsICZSZW5kZXJTdHlsZTo6aW5p
dGlhbEFsaWduU2VsZj46OmNyZWF0ZUhhbmRsZXIoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNv
bHZlci5jcHAKaW5kZXggNTZlMTA5OTU0NjQwMDM0MGVlYjMyZmEwZjVhN2RjY2E3MTcxMWMzYS4u
NDVjMmM3OTUzMjYyMjFiYTA4MzYxYzk3ZjdjZmY4MDJjYmRjMzVjNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TdHlsZVJlc29sdmVyLmNwcApAQCAtMzc1OCw2ICszNzU4LDkgQEAgdm9pZCBTdHlsZVJlc29s
dmVyOjphcHBseVByb3BlcnR5KENTU1Byb3BlcnR5SUQgaWQsIENTU1ZhbHVlKiB2YWx1ZSkKICAg
ICBjYXNlIENTU1Byb3BlcnR5V2Via2l0Q29sdW1uczoKICAgICBjYXNlIENTU1Byb3BlcnR5V2Vi
a2l0Q29sdW1uU3BhbjoKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0Q29sdW1uV2lkdGg6Cisj
aWYgRU5BQkxFKENVUlNPUl9WSVNJQklMSVRZKQorICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRD
dXJzb3JWaXNpYmlsaXR5OgorI2VuZGlmCiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEFsaWdu
Q29udGVudDoKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0QWxpZ25JdGVtczoKICAgICBjYXNl
IENTU1Byb3BlcnR5V2Via2l0QWxpZ25TZWxmOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL2Z1bGxzY3JlZW4uY3NzIGIvU291cmNlL1dlYkNvcmUvY3NzL2Z1bGxzY3JlZW4uY3NzCmlu
ZGV4IDEyNzY3MGIwNzZlNmVlMzZmNDc0Y2VhYzhiOWRlZTQ2OTlkYjBhODMuLmJlN2RmNTgwZGJk
OTViYTBlYTY2ZDhhMzg1OTM4OTIxMDgzNTg0NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9mdWxsc2NyZWVuLmNzcworKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvZnVsbHNjcmVlbi5j
c3MKQEAgLTMxLDYgKzMxLDEwIEBAIHZpZGVvOi13ZWJraXQtZnVsbC1zY3JlZW4sIGF1ZGlvOi13
ZWJraXQtZnVsbC1zY3JlZW4gewogICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7CiB9CiAK
Kzotd2Via2l0LWZ1bGwtc2NyZWVuIHZpZGVvOmhvdmVyIHsKKyAgICAtd2Via2l0LWN1cnNvci12
aXNpYmlsaXR5OmF1dG8taGlkZTsKK30KKwogaW1nOi13ZWJraXQtZnVsbC1zY3JlZW4gewogICAg
IHdpZHRoOiBhdXRvOwogICAgIGhlaWdodDogMTAwJTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9z
aGFkb3cvTWVkaWFDb250cm9scy5jcHAKaW5kZXggMzgxNGRlZDE2YjBmMDE0N2QyYzNkY2MzYzZh
N2Q2ODg4ODhmN2JlYy4uODgzYTgzYTVmNDg1ZmEwN2M0MWUzODYzYzJiYTdmZTYzNTg4MWIxMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9scy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9scy5jcHAKQEAgLTMw
LDYgKzMwLDcgQEAKICNpbmNsdWRlICJNZWRpYUNvbnRyb2xzLmgiCiAKICNpbmNsdWRlICJFeGNl
cHRpb25Db2RlUGxhY2Vob2xkZXIuaCIKKyNpbmNsdWRlICJTZXR0aW5ncy5oIgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKQEAgLTM0NCw3ICszNDUsNyBAQCB2b2lkIE1lZGlhQ29udHJvbHM6OnN0
YXJ0SGlkZUZ1bGxzY3JlZW5Db250cm9sc1RpbWVyKCkKICAgICBpZiAoIXBhZ2UpCiAgICAgICAg
IHJldHVybjsKIAotICAgIG1faGlkZUZ1bGxzY3JlZW5Db250cm9sc1RpbWVyLnN0YXJ0T25lU2hv
dChwYWdlLT50aGVtZSgpLT50aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250
cm9scygpKTsKKyAgICBtX2hpZGVGdWxsc2NyZWVuQ29udHJvbHNUaW1lci5zdGFydE9uZVNob3Qo
cGFnZS0+c2V0dGluZ3MoKS0+dGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29u
dHJvbHMoKSk7CiB9CiAKIHZvaWQgTWVkaWFDb250cm9sczo6c3RvcEhpZGVGdWxsc2NyZWVuQ29u
dHJvbHNUaW1lcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKaW5kZXggNDM2YmIz
NTIwNjE0ODE3Y2QxN2IyMmUyYWFmN2U2OTk3YmJmMzQ5Mi4uNjQyYzMxY2M4Y2NkM2Y0OWNiN2Qz
MzZjZDJlZmQ1NmU5YTYyNjAwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVu
dEhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcApA
QCAtNzIsNiArNzIsNyBAQAogI2luY2x1ZGUgIlJlbmRlckZyYW1lU2V0LmgiCiAjaW5jbHVkZSAi
UmVuZGVyTGF5ZXIuaCIKICNpbmNsdWRlICJSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuaCIK
KyNpbmNsdWRlICJSZW5kZXJUaGVtZS5oIgogI2luY2x1ZGUgIlJlbmRlclZpZXcuaCIKICNpbmNs
dWRlICJSZW5kZXJXaWRnZXQuaCIKICNpbmNsdWRlICJTY3JvbGxBbmltYXRvci5oIgpAQCAtMzQ5
LDEyICszNTAsMTggQEAgRXZlbnRIYW5kbGVyOjpFdmVudEhhbmRsZXIoRnJhbWUqIGZyYW1lKQog
ICAgICwgbV9iYXNlRXZlbnRUeXBlKFBsYXRmb3JtRXZlbnQ6Ok5vVHlwZSkKICAgICAsIG1fZGlk
U3RhcnREcmFnKGZhbHNlKQogICAgICwgbV9kaWRMb25nUHJlc3NJbnZva2VDb250ZXh0TWVudShm
YWxzZSkKKyNpZiBFTkFCTEUoQ1VSU09SX1ZJU0lCSUxJVFkpCisgICAgLCBtX2F1dG9IaWRlQ3Vy
c29yVGltZXIodGhpcywgJkV2ZW50SGFuZGxlcjo6YXV0b0hpZGVDdXJzb3JUaW1lckZpcmVkKQor
I2VuZGlmCiB7CiB9CiAKIEV2ZW50SGFuZGxlcjo6fkV2ZW50SGFuZGxlcigpCiB7CiAgICAgQVNT
RVJUKCFtX2Zha2VNb3VzZU1vdmVFdmVudFRpbWVyLmlzQWN0aXZlKCkpOworI2lmIEVOQUJMRShD
VVJTT1JfVklTSUJJTElUWSkKKyAgICBBU1NFUlQoIW1fYXV0b0hpZGVDdXJzb3JUaW1lci5pc0Fj
dGl2ZSgpKTsKKyNlbmRpZgogfQogICAgIAogI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCkBAIC0z
NjksNiArMzc2LDkgQEAgdm9pZCBFdmVudEhhbmRsZXI6OmNsZWFyKCkKIHsKICAgICBtX2hvdmVy
VGltZXIuc3RvcCgpOwogICAgIG1fZmFrZU1vdXNlTW92ZUV2ZW50VGltZXIuc3RvcCgpOworI2lm
IEVOQUJMRShDVVJTT1JfVklTSUJJTElUWSkKKyAgICBjYW5jZWxBdXRvSGlkZUN1cnNvclRpbWVy
KCk7CisjZW5kaWYKICAgICBtX3Jlc2l6ZUxheWVyID0gMDsKICAgICBtX25vZGVVbmRlck1vdXNl
ID0gMDsKICAgICBtX2xhc3ROb2RlVW5kZXJNb3VzZSA9IDA7CkBAIC0xMjMzLDYgKzEyNDMsMTQg
QEAgT3B0aW9uYWxDdXJzb3IgRXZlbnRIYW5kbGVyOjpzZWxlY3RDdXJzb3IoY29uc3QgTW91c2VF
dmVudFdpdGhIaXRUZXN0UmVzdWx0cyYgZXYKICAgICBib29sIGhvcml6b250YWxUZXh0ID0gIXN0
eWxlIHx8IHN0eWxlLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpOwogICAgIGNvbnN0IEN1cnNv
ciYgaUJlYW0gPSBob3Jpem9udGFsVGV4dCA/IGlCZWFtQ3Vyc29yKCkgOiB2ZXJ0aWNhbFRleHRD
dXJzb3IoKTsKIAorI2lmIEVOQUJMRShDVVJTT1JfVklTSUJJTElUWSkKKyAgICBpZiAoc3R5bGUg
JiYgc3R5bGUtPmN1cnNvclZpc2liaWxpdHkoKSA9PSBDVVJTT1JfVklTSUJJTElUWV9BVVRPX0hJ
REUpIHsKKyAgICAgICAgRmVhdHVyZU9ic2VydmVyOjpvYnNlcnZlKG1fZnJhbWUtPmRvY3VtZW50
KCksIEZlYXR1cmVPYnNlcnZlcjo6Q3Vyc29yVmlzaWJpbGl0eSk7CisgICAgICAgIHN0YXJ0QXV0
b0hpZGVDdXJzb3JUaW1lcigpOworICAgIH0gZWxzZQorICAgICAgICBjYW5jZWxBdXRvSGlkZUN1
cnNvclRpbWVyKCk7CisjZW5kaWYKKwogICAgIC8vIER1cmluZyBzZWxlY3Rpb24sIHVzZSBhbiBJ
LWJlYW0gbm8gbWF0dGVyIHdoYXQgd2UncmUgb3Zlci4KICAgICAvLyBJZiBhIGRyYWcgbWF5IGJl
IHN0YXJ0aW5nIG9yIHdlJ3JlIGNhcHR1cmluZyBtb3VzZSBldmVudHMgZm9yIGEgcGFydGljdWxh
ciBub2RlLCBkb24ndCB0cmVhdCB0aGlzIGFzIGEgc2VsZWN0aW9uLgogICAgIGlmIChtX21vdXNl
UHJlc3NlZCAmJiBtX21vdXNlRG93bk1heVN0YXJ0U2VsZWN0CkBAIC0xMzgxLDYgKzEzOTksMzcg
QEAgT3B0aW9uYWxDdXJzb3IgRXZlbnRIYW5kbGVyOjpzZWxlY3RDdXJzb3IoY29uc3QgTW91c2VF
dmVudFdpdGhIaXRUZXN0UmVzdWx0cyYgZXYKICAgICByZXR1cm4gcG9pbnRlckN1cnNvcigpOwog
fQogCisjaWYgRU5BQkxFKENVUlNPUl9WSVNJQklMSVRZKQordm9pZCBFdmVudEhhbmRsZXI6OnN0
YXJ0QXV0b0hpZGVDdXJzb3JUaW1lcigpCit7CisgICAgUGFnZSogcGFnZSA9IG1fZnJhbWUtPnBh
Z2UoKTsKKyAgICBpZiAoIXBhZ2UpCisgICAgICAgIHJldHVybjsKKworICAgIG1fYXV0b0hpZGVD
dXJzb3JUaW1lci5zdGFydE9uZVNob3QocGFnZS0+c2V0dGluZ3MoKS0+dGltZVdpdGhvdXRNb3Vz
ZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMoKSk7CisKKyAgICAvLyBUaGUgZmFrZSBtb3Vz
ZSBtb3ZlIGV2ZW50IHNjcmV3cyB1cCB0aGUgYXV0by1oaWRlIGZlYXR1cmUgKGJ5IHJlc2V0dGlu
ZyB0aGUgYXV0by1oaWRlIHRpbWVyKQorICAgIC8vIHNvIGNhbmNlbCBhbnkgcGVuZGluZyBmYWtl
IG1vdXNlIG1vdmVzLgorICAgIGlmIChtX2Zha2VNb3VzZU1vdmVFdmVudFRpbWVyLmlzQWN0aXZl
KCkpCisgICAgICAgIG1fZmFrZU1vdXNlTW92ZUV2ZW50VGltZXIuc3RvcCgpOworfQorCit2b2lk
IEV2ZW50SGFuZGxlcjo6Y2FuY2VsQXV0b0hpZGVDdXJzb3JUaW1lcigpCit7CisgICAgaWYgKG1f
YXV0b0hpZGVDdXJzb3JUaW1lci5pc0FjdGl2ZSgpKQorICAgICAgICBtX2F1dG9IaWRlQ3Vyc29y
VGltZXIuc3RvcCgpOworfQorCit2b2lkIEV2ZW50SGFuZGxlcjo6YXV0b0hpZGVDdXJzb3JUaW1l
ckZpcmVkKFRpbWVyPEV2ZW50SGFuZGxlcj4qIHRpbWVyKQoreworICAgIEFTU0VSVF9VTlVTRUQo
dGltZXIsIHRpbWVyID09ICZtX2F1dG9IaWRlQ3Vyc29yVGltZXIpOworICAgIG1fY3VycmVudE1v
dXNlQ3Vyc29yID0gbm9uZUN1cnNvcigpOworICAgIEZyYW1lVmlldyogdmlldyA9IG1fZnJhbWUt
PnZpZXcoKTsKKyAgICBpZiAodmlldyAmJiB2aWV3LT5pc0FjdGl2ZSgpKQorICAgICAgICB2aWV3
LT5zZXRDdXJzb3IobV9jdXJyZW50TW91c2VDdXJzb3IpOworfQorI2VuZGlmCisKIHN0YXRpYyBM
YXlvdXRQb2ludCBkb2N1bWVudFBvaW50Rm9yV2luZG93UG9pbnQoRnJhbWUqIGZyYW1lLCBjb25z
dCBJbnRQb2ludCYgd2luZG93UG9pbnQpCiB7CiAgICAgRnJhbWVWaWV3KiB2aWV3ID0gZnJhbWUt
PnZpZXcoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCmluZGV4IGExZTAyMmVkYTg4ZGU4
ZjY5ZDNmZjc0YzAwYTVlZDkzMDI3Yjg2NWUuLjQ4YTAzOTdmMzcyYjY2OGZiZjM1ZDYxN2M3MmQ0
MDFhY2U1OWMxMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaApAQCAtMzg4LDYgKzM4
OCwxMiBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBzZXRMYXN0S25vd25Nb3VzZVBvc2l0aW9uKGNv
bnN0IFBsYXRmb3JtTW91c2VFdmVudCYpOwogCisjaWYgRU5BQkxFKENVUlNPUl9WSVNJQklMSVRZ
KQorICAgIHZvaWQgc3RhcnRBdXRvSGlkZUN1cnNvclRpbWVyKCk7CisgICAgdm9pZCBjYW5jZWxB
dXRvSGlkZUN1cnNvclRpbWVyKCk7CisgICAgdm9pZCBhdXRvSGlkZUN1cnNvclRpbWVyRmlyZWQo
VGltZXI8RXZlbnRIYW5kbGVyPiopOworI2VuZGlmCisKICAgICBGcmFtZSogbV9mcmFtZTsKIAog
ICAgIGJvb2wgbV9tb3VzZVByZXNzZWQ7CkBAIC00ODMsNiArNDg5LDEwIEBAIHByaXZhdGU6CiAg
ICAgUGxhdGZvcm1FdmVudDo6VHlwZSBtX2Jhc2VFdmVudFR5cGU7CiAgICAgYm9vbCBtX2RpZFN0
YXJ0RHJhZzsKICAgICBib29sIG1fZGlkTG9uZ1ByZXNzSW52b2tlQ29udGV4dE1lbnU7CisKKyNp
ZiBFTkFCTEUoQ1VSU09SX1ZJU0lCSUxJVFkpCisgICAgVGltZXI8RXZlbnRIYW5kbGVyPiBtX2F1
dG9IaWRlQ3Vyc29yVGltZXI7CisjZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRmVhdHVyZU9ic2VydmVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZlYXR1cmVPYnNlcnZlci5oCmluZGV4IDcwMTIzYzNlNDlmNTI3ZDdk
Nzg1Yjk0NWRjMGVhODliMTU5ZWZjZjEuLmY2MWZkZTk0YTFjMDYyNWZmMjU5NDk5MTBhNDY4YjI3
ODU2ZjM4MGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRmVhdHVyZU9ic2VydmVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GZWF0dXJlT2JzZXJ2ZXIuaApAQCAtOTksNiAr
OTksNyBAQCBwdWJsaWM6CiAgICAgICAgIEhUTUxNYXJxdWVlRWxlbWVudCwKICAgICAgICAgQ1NT
T3ZlcmZsb3dNYXJxdWVlLAogICAgICAgICBSZWZsZWN0aW9uLAorICAgICAgICBDdXJzb3JWaXNp
YmlsaXR5LAogICAgICAgICAvLyBBZGQgbmV3IGZlYXR1cmVzIGFib3ZlIHRoaXMgbGluZS4gRG9u
J3QgY2hhbmdlIGFzc2lnbmVkIG51bWJlcnMgb2YgZWFjaCBpdGVtcy4KICAgICAgICAgTnVtYmVy
T2ZGZWF0dXJlcywgLy8gVGhpcyBlbnVtIHZhbHVlIG11c3QgYmUgbGFzdC4KICAgICB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRnJhbWVWaWV3LmgKaW5kZXggYzA2MTgzOGU2YjJjNzc1NDAxZmMyNzFiNGRmMDFmYmRk
YWJlMmRjMC4uOWZjZDg3NDJmOWQxYzMzMjAwMGE5NTk1Njc5YjkwZTgzNDllYzI4ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0ZyYW1lVmlldy5oCkBAIC0zOTcsNiArMzk3LDggQEAgcHVibGljOgogICAgIHZvaWQg
c2V0SW5pdGlhbFZpZXdwb3J0U2l6ZShjb25zdCBJbnRTaXplJiBzaXplKSB7IG1faW5pdGlhbFZp
ZXdwb3J0U2l6ZSA9IHNpemU7IH0KICNlbmRpZgogCisgICAgdmlydHVhbCBib29sIGlzQWN0aXZl
KCkgY29uc3QgT1ZFUlJJREU7CisKIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIGJvb2wgc2Nyb2xs
Q29udGVudHNGYXN0UGF0aChjb25zdCBJbnRTaXplJiBzY3JvbGxEZWx0YSwgY29uc3QgSW50UmVj
dCYgcmVjdFRvU2Nyb2xsLCBjb25zdCBJbnRSZWN0JiBjbGlwUmVjdCk7CiAgICAgdmlydHVhbCB2
b2lkIHNjcm9sbENvbnRlbnRzU2xvd1BhdGgoY29uc3QgSW50UmVjdCYgdXBkYXRlUmVjdCk7CkBA
IC00NDYsNyArNDQ4LDYgQEAgcHJpdmF0ZToKIAogICAgIC8vIFNjcm9sbGFibGVBcmVhIGludGVy
ZmFjZQogICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlU2Nyb2xsYmFyUmVjdChTY3JvbGxiYXIq
LCBjb25zdCBJbnRSZWN0JikgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCBib29sIGlzQWN0aXZlKCkg
Y29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGdldFRpY2ttYXJrcyhWZWN0b3I8SW50
UmVjdD4mKSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsVG8oY29uc3Qg
SW50U2l6ZSYpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBzZXRWaXNpYmxlU2Nyb2xsZXJU
aHVtYlJlY3QoY29uc3QgSW50UmVjdCYpIE9WRVJSSURFOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNw
cAppbmRleCBjZDU1YjQ5ZWYwOTA5YjdhMjNhNTA0NzUwODNlNTNkYjczMzlhMDRhLi40MzNjMTRm
YWEwZmUyYjc4OGZiMDM5ZDliODAyODY2ZTVhZTVkNzFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1NldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdz
LmNwcApAQCAtMTg0LDYgKzE4NCw3IEBAIFNldHRpbmdzOjpTZXR0aW5ncyhQYWdlKiBwYWdlKQog
I2VuZGlmCiAgICAgLCBtX3Njcm9sbGluZ1BlcmZvcm1hbmNlTG9nZ2luZ0VuYWJsZWQoZmFsc2Up
CiAgICAgLCBtX2FnZ3Jlc3NpdmVUaWxlUmV0ZW50aW9uRW5hYmxlZChmYWxzZSkKKyAgICAsIG1f
dGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMoMykKICAgICAsIG1f
c2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lcih0aGlzLCAmU2V0dGluZ3M6OmltYWdlTG9hZGlu
Z1NldHRpbmdzVGltZXJGaXJlZCkKIHsKICAgICAvLyBBIEZyYW1lIG1heSBub3QgaGF2ZSBiZWVu
IGNyZWF0ZWQgeWV0LCBzbyB3ZSBpbml0aWFsaXplIHRoZSBBdG9taWNTdHJpbmcKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
U2V0dGluZ3MuaAppbmRleCAyNWFkOGQ4ZDhiMTMxN2E4YmNjOWFjNzAxOWMwOWUzNWRlOWE0YWI1
Li40Y2RlZTUzNWNhYTUwZWU5MGRmNTYwNGQxMDk0M2ViZjljYWNmNmY4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9T
ZXR0aW5ncy5oCkBAIC0yNjQsNiArMjY0LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICBzdGF0aWMgYm9vbCBzaG91bGRSZXNwZWN0UHJpb3JpdHlJbkNTU0F0dHJpYnV0ZVNldHRlcnMo
KTsKICNlbmRpZgogCisgICAgICAgIHZvaWQgc2V0VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVm
b3JlSGlkaW5nQ29udHJvbHMoZG91YmxlIHRpbWUpIHsgbV90aW1lV2l0aG91dE1vdXNlTW92ZW1l
bnRCZWZvcmVIaWRpbmdDb250cm9scyA9IHRpbWU7IH0KKyAgICAgICAgZG91YmxlIHRpbWVXaXRo
b3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKCkgY29uc3QgeyByZXR1cm4gbV90
aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9sczsgfQorCiAgICAgcHJp
dmF0ZToKICAgICAgICAgZXhwbGljaXQgU2V0dGluZ3MoUGFnZSopOwogCkBAIC0zMjAsNiArMzIz
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29sIG1fc2Nyb2xsaW5nUGVyZm9y
bWFuY2VMb2dnaW5nRW5hYmxlZCA6IDE7CiAgICAgICAgIGJvb2wgbV9hZ2dyZXNzaXZlVGlsZVJl
dGVudGlvbkVuYWJsZWQgOiAxOwogCisgICAgICAgIGRvdWJsZSBtX3RpbWVXaXRob3V0TW91c2VN
b3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzOworCiAgICAgICAgIFRpbWVyPFNldHRpbmdzPiBt
X3NldEltYWdlTG9hZGluZ1NldHRpbmdzVGltZXI7CiAgICAgICAgIHZvaWQgaW1hZ2VMb2FkaW5n
U2V0dGluZ3NUaW1lckZpcmVkKFRpbWVyPFNldHRpbmdzPiopOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZS5oCmluZGV4IDgxMTZiYTMxOGRkMWIzYzM0NjVjMGJiNDBmNGY5NmNi
OWZlNzk4MmIuLjU1NWFjNTA3Njk2YjVlNmMyMmNlNzhjYzg5MGZjNTc0YWM5Y2EwM2IgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCkBAIC0yMDUsNyArMjA1LDYgQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgYm9vbCB1c2VzVmVydGljYWxWb2x1bWVTbGlkZXIoKSBjb25zdCB7
IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCBkb3VibGUgbWVkaWFDb250cm9sc0ZhZGVJbkR1
cmF0aW9uKCkgeyByZXR1cm4gMC4xOyB9CiAgICAgdmlydHVhbCBkb3VibGUgbWVkaWFDb250cm9s
c0ZhZGVPdXREdXJhdGlvbigpIHsgcmV0dXJuIDAuMzsgfQotICAgIHZpcnR1YWwgZG91YmxlIHRp
bWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKCkgeyByZXR1cm4gMy4w
OyB9CiAgICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0TWVkaWFDb250cm9sc1RpbWUoZmxvYXQgdGlt
ZSkgY29uc3Q7CiAgICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0TWVkaWFDb250cm9sc0N1cnJlbnRU
aW1lKGZsb2F0IGN1cnJlbnRUaW1lLCBmbG9hdCBkdXJhdGlvbikgY29uc3Q7CiAgICAgdmlydHVh
bCBTdHJpbmcgZm9ybWF0TWVkaWFDb250cm9sc1JlbWFpbmluZ1RpbWUoZmxvYXQgY3VycmVudFRp
bWUsIGZsb2F0IGR1cmF0aW9uKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1JlbmRlclN0eWxlLmgKaW5kZXggMmFlNGQ3OTA2MjlkYzdmM2JmMDFmNWNhNDEzMGE2ZjI4
YWZmODBmNC4uMGI3YTYyOGM0MjA5NjUxODQ3MjU0MDcxOGFkMDg0OGRlMjEzYzNkNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKQEAgLTE2Niw2ICsx
NjYsOSBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgICAgICAgICAgJiYgKF90ZXh0X3RyYW5zZm9ybSA9
PSBvdGhlci5fdGV4dF90cmFuc2Zvcm0pCiAgICAgICAgICAgICAgICAgJiYgKF90ZXh0X2RlY29y
YXRpb25zID09IG90aGVyLl90ZXh0X2RlY29yYXRpb25zKQogICAgICAgICAgICAgICAgICYmIChf
Y3Vyc29yX3N0eWxlID09IG90aGVyLl9jdXJzb3Jfc3R5bGUpCisjaWYgRU5BQkxFKENVUlNPUl9W
SVNJQklMSVRZKQorICAgICAgICAgICAgICAgICYmIChtX2N1cnNvclZpc2liaWxpdHkgPT0gb3Ro
ZXIubV9jdXJzb3JWaXNpYmlsaXR5KQorI2VuZGlmCiAgICAgICAgICAgICAgICAgJiYgKF9kaXJl
Y3Rpb24gPT0gb3RoZXIuX2RpcmVjdGlvbikKICAgICAgICAgICAgICAgICAmJiAoX3doaXRlX3Nw
YWNlID09IG90aGVyLl93aGl0ZV9zcGFjZSkKICAgICAgICAgICAgICAgICAmJiAoX2JvcmRlcl9j
b2xsYXBzZSA9PSBvdGhlci5fYm9yZGVyX2NvbGxhcHNlKQpAQCAtMTg4LDYgKzE5MSw5IEBAIHBy
b3RlY3RlZDoKICAgICAgICAgdW5zaWduZWQgX3RleHRfdHJhbnNmb3JtIDogMjsgLy8gRVRleHRU
cmFuc2Zvcm0KICAgICAgICAgdW5zaWduZWQgX3RleHRfZGVjb3JhdGlvbnMgOiBFVGV4dERlY29y
YXRpb25CaXRzOwogICAgICAgICB1bnNpZ25lZCBfY3Vyc29yX3N0eWxlIDogNjsgLy8gRUN1cnNv
cgorI2lmIEVOQUJMRShDVVJTT1JfVklTSUJJTElUWSkKKyAgICAgICAgdW5zaWduZWQgbV9jdXJz
b3JWaXNpYmlsaXR5IDogMTsgLy8gQ3Vyc29yVmlzaWJpbGl0eQorI2VuZGlmCiAgICAgICAgIHVu
c2lnbmVkIF9kaXJlY3Rpb24gOiAxOyAvLyBUZXh0RGlyZWN0aW9uCiAgICAgICAgIHVuc2lnbmVk
IF93aGl0ZV9zcGFjZSA6IDM7IC8vIEVXaGl0ZVNwYWNlCiAgICAgICAgIC8vIDMyIGJpdHMKQEAg
LTI5Myw2ICsyOTksOSBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIGluaGVyaXRlZF9mbGFncy5fdGV4
dF90cmFuc2Zvcm0gPSBpbml0aWFsVGV4dFRyYW5zZm9ybSgpOwogICAgICAgICBpbmhlcml0ZWRf
ZmxhZ3MuX3RleHRfZGVjb3JhdGlvbnMgPSBpbml0aWFsVGV4dERlY29yYXRpb24oKTsKICAgICAg
ICAgaW5oZXJpdGVkX2ZsYWdzLl9jdXJzb3Jfc3R5bGUgPSBpbml0aWFsQ3Vyc29yKCk7CisjaWYg
RU5BQkxFKENVUlNPUl9WSVNJQklMSVRZKQorICAgICAgICBpbmhlcml0ZWRfZmxhZ3MubV9jdXJz
b3JWaXNpYmlsaXR5ID0gaW5pdGlhbEN1cnNvclZpc2liaWxpdHkoKTsKKyNlbmRpZgogICAgICAg
ICBpbmhlcml0ZWRfZmxhZ3MuX2RpcmVjdGlvbiA9IGluaXRpYWxEaXJlY3Rpb24oKTsKICAgICAg
ICAgaW5oZXJpdGVkX2ZsYWdzLl93aGl0ZV9zcGFjZSA9IGluaXRpYWxXaGl0ZVNwYWNlKCk7CiAg
ICAgICAgIGluaGVyaXRlZF9mbGFncy5fYm9yZGVyX2NvbGxhcHNlID0gaW5pdGlhbEJvcmRlckNv
bGxhcHNlKCk7CkBAIC03MDAsNiArNzA5LDkgQEAgcHVibGljOgogICAgIExlbmd0aCBwYWRkaW5n
RW5kKCkgY29uc3QgeyByZXR1cm4gc3Vycm91bmQtPnBhZGRpbmcuZW5kKHdyaXRpbmdNb2RlKCks
IGRpcmVjdGlvbigpKTsgfQogCiAgICAgRUN1cnNvciBjdXJzb3IoKSBjb25zdCB7IHJldHVybiBz
dGF0aWNfY2FzdDxFQ3Vyc29yPihpbmhlcml0ZWRfZmxhZ3MuX2N1cnNvcl9zdHlsZSk7IH0KKyNp
ZiBFTkFCTEUoQ1VSU09SX1ZJU0lCSUxJVFkpCisgICAgQ3Vyc29yVmlzaWJpbGl0eSBjdXJzb3JW
aXNpYmlsaXR5KCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8Q3Vyc29yVmlzaWJpbGl0eT4o
aW5oZXJpdGVkX2ZsYWdzLm1fY3Vyc29yVmlzaWJpbGl0eSk7IH0KKyNlbmRpZgogCiAgICAgQ3Vy
c29yTGlzdCogY3Vyc29ycygpIGNvbnN0IHsgcmV0dXJuIHJhcmVJbmhlcml0ZWREYXRhLT5jdXJz
b3JEYXRhLmdldCgpOyB9CiAKQEAgLTExOTQsNiArMTIwNiwxMCBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBzZXRDdXJzb3JMaXN0KFBhc3NSZWZQdHI8Q3Vyc29yTGlzdD4pOwogICAgIHZvaWQgY2xlYXJD
dXJzb3JMaXN0KCk7CiAKKyNpZiBFTkFCTEUoQ1VSU09SX1ZJU0lCSUxJVFkpCisgICAgdm9pZCBz
ZXRDdXJzb3JWaXNpYmlsaXR5KEN1cnNvclZpc2liaWxpdHkgYykgeyBpbmhlcml0ZWRfZmxhZ3Mu
bV9jdXJzb3JWaXNpYmlsaXR5ID0gYzsgfQorI2VuZGlmCisKICAgICB2b2lkIHNldEluc2lkZUxp
bmsoRUluc2lkZUxpbmsgaW5zaWRlTGluaykgeyBpbmhlcml0ZWRfZmxhZ3MuX2luc2lkZUxpbmsg
PSBpbnNpZGVMaW5rOyB9CiAgICAgdm9pZCBzZXRJc0xpbmsoYm9vbCBiKSB7IG5vbmluaGVyaXRl
ZF9mbGFncy5zZXRJc0xpbmsoYik7IH0KIApAQCAtMTU1MCw2ICsxNTY2LDkgQEAgcHVibGljOgog
ICAgIHN0YXRpYyBzaG9ydCBpbml0aWFsSG9yaXpvbnRhbEJvcmRlclNwYWNpbmcoKSB7IHJldHVy
biAwOyB9CiAgICAgc3RhdGljIHNob3J0IGluaXRpYWxWZXJ0aWNhbEJvcmRlclNwYWNpbmcoKSB7
IHJldHVybiAwOyB9CiAgICAgc3RhdGljIEVDdXJzb3IgaW5pdGlhbEN1cnNvcigpIHsgcmV0dXJu
IENVUlNPUl9BVVRPOyB9CisjaWYgRU5BQkxFKENVUlNPUl9WSVNJQklMSVRZKQorICAgIHN0YXRp
YyBDdXJzb3JWaXNpYmlsaXR5IGluaXRpYWxDdXJzb3JWaXNpYmlsaXR5KCkgeyByZXR1cm4gQ1VS
U09SX1ZJU0lCSUxJVFlfQVVUTzsgfQorI2VuZGlmCiAgICAgc3RhdGljIENvbG9yIGluaXRpYWxD
b2xvcigpIHsgcmV0dXJuIENvbG9yOjpibGFjazsgfQogICAgIHN0YXRpYyBTdHlsZUltYWdlKiBp
bml0aWFsTGlzdFN0eWxlSW1hZ2UoKSB7IHJldHVybiAwOyB9CiAgICAgc3RhdGljIHVuc2lnbmVk
IGluaXRpYWxCb3JkZXJXaWR0aCgpIHsgcmV0dXJuIDM7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmgKaW5kZXggOGMyYzBi
NTg2ZjRiNDhlYTlhZDQyZDAyYWNiYzI0NDI1ZTFkNzEzNi4uZjg2NDY4ODY4ZDY3YmMyMDAzZGUz
MjNhM2M0NzQ5YjRkMzMzODhiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmgKQEAgLTQxOCw2ICs0MTgsMTMgQEAgZW51
bSBFQ3Vyc29yIHsKICAgICBDVVJTT1JfTk9ORQogfTsKIAorI2lmIEVOQUJMRShDVVJTT1JfVklT
SUJJTElUWSkKK2VudW0gQ3Vyc29yVmlzaWJpbGl0eSB7CisgICAgQ1VSU09SX1ZJU0lCSUxJVFlf
QVVUTywKKyAgICBDVVJTT1JfVklTSUJJTElUWV9BVVRPX0hJREUsCit9OworI2VuZGlmCisKIC8v
IFRoZSBvcmRlciBvZiB0aGlzIGVudW0gbXVzdCBtYXRjaCB0aGUgb3JkZXIgb2YgdGhlIGRpc3Bs
YXkgdmFsdWVzIGluIENTU1ZhbHVlS2V5d29yZHMuaW4uCiBlbnVtIEVEaXNwbGF5IHsKICAgICBJ
TkxJTkUsIEJMT0NLLCBMSVNUX0lURU0sIFJVTl9JTiwgQ09NUEFDVCwgSU5MSU5FX0JMT0NLLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAKaW5kZXggMTI2MmFl
ZjVmMDNmNjhiOGVjNmI0YjZmZTAxNmUzNTFiYzU1ZWY1MC4uYzBmNTg3N2E0ODc5YjFjYWVlZWJi
NzcxNTVkNWM2ZmJjZmViNDBiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbFNldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
U2V0dGluZ3MuY3BwCkBAIC05NCw2ICs5NCw3IEBAIEludGVybmFsU2V0dGluZ3M6OkJhY2t1cDo6
QmFja3VwKFNldHRpbmdzKiBzZXR0aW5ncykKICAgICAsIG1fc2hvdWxkRGlzcGxheUNhcHRpb25z
KHNldHRpbmdzLT5zaG91bGREaXNwbGF5Q2FwdGlvbnMoKSkKICAgICAsIG1fc2hvdWxkRGlzcGxh
eVRleHREZXNjcmlwdGlvbnMoc2V0dGluZ3MtPnNob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25z
KCkpCiAjZW5kaWYKKyAgICAsIG1fb3JpZ2luYWxUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZv
cmVIaWRpbmdDb250cm9scyhzZXR0aW5ncy0+dGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3Jl
SGlkaW5nQ29udHJvbHMoKSkKIHsKIH0KIApAQCAtMTI5LDYgKzEzMCw3IEBAIHZvaWQgSW50ZXJu
YWxTZXR0aW5nczo6QmFja3VwOjpyZXN0b3JlVG8oU2V0dGluZ3MqIHNldHRpbmdzKQogICAgIHNl
dHRpbmdzLT5zZXRTaG91bGREaXNwbGF5Q2FwdGlvbnMobV9zaG91bGREaXNwbGF5Q2FwdGlvbnMp
OwogICAgIHNldHRpbmdzLT5zZXRTaG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9ucyhtX3Nob3Vs
ZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zKTsKICNlbmRpZgorICAgIHNldHRpbmdzLT5zZXRUaW1l
V2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyhtX29yaWdpbmFsVGltZVdp
dGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMpOwogfQogCiAvLyBXZSBjYW4n
dCB1c2UgUmVmQ291bnRlZFN1cHBsZW1lbnQgYmVjYXVzZSB0aGF0IHdvdWxkIHRyeSB0byBtYWtl
IEludGVybmFsU2V0dGluZ3MgUmVmQ291bnRlZApAQCAtNDg3LDQgKzQ4OSwxMCBAQCB2b2lkIElu
dGVybmFsU2V0dGluZ3M6OnNldE1pbmltdW1UaW1lckludGVydmFsKGRvdWJsZSBpbnRlcnZhbElu
U2Vjb25kcywgRXhjZXB0aQogICAgIHNldHRpbmdzKCktPnNldE1pbkRPTVRpbWVySW50ZXJ2YWwo
aW50ZXJ2YWxJblNlY29uZHMpOwogfQogCit2b2lkIEludGVybmFsU2V0dGluZ3M6OnNldFRpbWVX
aXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKGRvdWJsZSB0aW1lLCBFeGNl
cHRpb25Db2RlJiBlYykKK3sKKyAgICBJbnRlcm5hbFNldHRpbmdzR3VhcmRGb3JTZXR0aW5ncygp
OworICAgIHNldHRpbmdzKCktPnNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGlu
Z0NvbnRyb2xzKHRpbWUpOworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFsU2V0dGluZ3MuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxT
ZXR0aW5ncy5oCmluZGV4IGQ2NzI0ZGE2OWJmYzhkMDFlYWRkMGM1OTkxYWY5NzdkYzExMTg4Mjgu
LjI1YzI1ZmUwODg0MDRiNGJiYmZjNjNhZDYxMmQ5MTIxZjMwZGFiNjYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oCkBAIC04Miw2ICs4Miw3IEBAIHB1YmxpYzoK
ICAgICAgICAgYm9vbCBtX3Nob3VsZERpc3BsYXlDYXB0aW9uczsKICAgICAgICAgYm9vbCBtX3No
b3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zOwogI2VuZGlmCisgICAgICAgIGJvb2wgbV9vcmln
aW5hbFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzOwogICAgIH07
CiAKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxJbnRlcm5hbFNldHRpbmdzPiBjcmVhdGUoUGFnZSog
cGFnZSkKQEAgLTEyNiw2ICsxMjcsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRMYW5nQXR0cmli
dXRlQXdhcmVGb3JtQ29udHJvbFVJRW5hYmxlZChib29sKTsKICAgICB2b2lkIHNldEltYWdlc0Vu
YWJsZWQoYm9vbCBlbmFibGVkLCBFeGNlcHRpb25Db2RlJik7CiAgICAgdm9pZCBzZXRNaW5pbXVt
VGltZXJJbnRlcnZhbChkb3VibGUgaW50ZXJ2YWxJblNlY29uZHMsIEV4Y2VwdGlvbkNvZGUmKTsK
KyAgICB2b2lkIHNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xz
KGRvdWJsZSB0aW1lLCBFeGNlcHRpb25Db2RlJik7CiAKIHByaXZhdGU6CiAgICAgZXhwbGljaXQg
SW50ZXJuYWxTZXR0aW5ncyhQYWdlKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bFNldHRpbmdzLmlkbAppbmRleCA1ZGRiMGFlNzNhZTM0MTgwNDYxZmQwMTZhYjc1ZmFlZWMzMzEz
YzE0Li5kZDM0MTYwMTUyZWZhZTJkN2RlNWQ3N2NjNDA0NzRiMTdhM2U2OWY2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5pZGwKQEAgLTU5LDQgKzU5LDUgQEAK
ICAgICB2b2lkIHNldFN0b3JhZ2VCbG9ja2luZ1BvbGljeShpbiBET01TdHJpbmcgcG9saWN5KSBy
YWlzZXMoRE9NRXhjZXB0aW9uKTsKICAgICB2b2lkIHNldEltYWdlc0VuYWJsZWQoaW4gYm9vbGVh
biBlbmFibGVkKSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKICAgICB2b2lkIHNldE1pbmltdW1UaW1l
ckludGVydmFsKGluIGRvdWJsZSBpbnRlcnZhbEluU2Vjb25kcykgcmFpc2VzKERPTUV4Y2VwdGlv
bik7CisgICAgdm9pZCBzZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250
cm9scyhpbiBkb3VibGUgdGltZSkgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiB9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJLaXQudmN4cHJvai9GZWF0dXJlRGVmaW5lcy5wcm9wcyBiL1Nv
dXJjZS9XZWJLaXQvV2ViS2l0LnZjeHByb2ovRmVhdHVyZURlZmluZXMucHJvcHMKaW5kZXggZTU5
NTc1OGQyNTFmZjZiOWI4NzBmNjFlZTkwMTBlZTRkNTM2ZmU3Ny4uYWEwNTEwMzhmMDNhYjQ2ZTVh
NTNiYjgzMjgzOTc2YzIzNGU4M2VhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQu
dmN4cHJvai9GZWF0dXJlRGVmaW5lcy5wcm9wcworKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC52
Y3hwcm9qL0ZlYXR1cmVEZWZpbmVzLnByb3BzCkBAIC0xOSw2ICsxOSw3IEBACiAgICAgPEVOQUJM
RV9DU1NfU0hBREVSUyAvPg0KICAgICA8RU5BQkxFX0NTU19TVElDS1lfUE9TSVRJT04+RU5BQkxF
X0NTU19TVElDS1lfUE9TSVRJT048L0VOQUJMRV9DU1NfU1RJQ0tZX1BPU0lUSU9OPg0KICAgICA8
RU5BQkxFX0NTU19UUkFOU0ZPUk1TX0FOSU1BVElPTlNfVFJBTlNJVElPTlNfVU5QUkVGSVhFRD5F
TkFCTEVfQ1NTX1RSQU5TRk9STVNfQU5JTUFUSU9OU19UUkFOU0lUSU9OU19VTlBSRUZJWEVEPC9F
TkFCTEVfQ1NTX1RSQU5TRk9STVNfQU5JTUFUSU9OU19UUkFOU0lUSU9OU19VTlBSRUZJWEVEPg0K
KyAgICA8RU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZPkVOQUJMRV9DVVJTT1JfVklTSUJJTElUWTwv
RU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZPg0KICAgICA8RU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFO
RExFUiAvPg0KICAgICA8RU5BQkxFX0RBVEFHUklEIC8+DQogICAgIDxFTkFCTEVfREFUQUxJU1Rf
RUxFTUVOVCAvPg0KQEAgLTg3LDcgKzg4LDcgQEAKICAgPC9Qcm9wZXJ0eUdyb3VwPg0KICAgPEl0
ZW1EZWZpbml0aW9uR3JvdXA+DQogICAgIDxDbENvbXBpbGU+DQotICAgICAgPFByZXByb2Nlc3Nv
ckRlZmluaXRpb25zPiQoRU5BQkxFX0lGUkFNRV9TRUFNTEVTUyk7JChFTkFCTEVfUkVRVUVTVF9B
TklNQVRJT05fRlJBTUUpOyQoRU5BQkxFXzNEX1JFTkRFUklORyk7JChFTkFCTEVfQUNDRUxFUkFU
RURfMkRfQ0FOVkFTKTskKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpOyQo
RU5BQkxFX0JMT0IpOyQoRU5BQkxFX0NBTlZBU19QUk9YWSk7JChFTkFCTEVfQ0hBTk5FTF9NRVNT
QUdJTkcpOyQoRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVMpOyQoRU5BQkxFX0NTUzNfVEVY
VCk7JChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKTskKEVOQUJMRV9DU1NfRklMVEVS
Uyk7JChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKTskKEVOQUJMRV9DU1NfU0hBREVSUyk7JChFTkFC
TEVfQ1NTX0NPTVBPU0lUSU5HKTskKEVOQUJMRV9DU1NfUkVHSU9OUyk7JChFTkFCTEVfQ1NTX0VY
Q0xVU0lPTlMpOyQoRU5BQkxFX0NTU19TVElDS1lfUE9TSVRJT04pOyQoRU5BQkxFX0NTU19UUkFO
U0ZPUk1TX0FOSU1BVElPTlNfVFJBTlNJVElPTlNfVU5QUkVGSVhFRCk7JChFTkFCTEVfQ1VTVE9N
X1NDSEVNRV9IQU5ETEVSKTskKEVOQUJMRV9TUUxfREFUQUJBU0UpOyQoRU5BQkxFX0RBVEFHUklE
KTskKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKTskKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1T
KTskKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpOyQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTik7
JChFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCk7JChFTkFCTEVfRklMVEVSUyk7JChFTkFCTEVfRklM
RV9TWVNURU0pOyQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKTskKEVOQUJMRV9HQU1FUEFEKTskKEVO
QUJMRV9HRU9MT0NBVElPTik7JChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJ
TkcpOyQoRU5BQkxFX0hJR0hfRFBJX0NBTlZBUyk7JChFTkFCTEVfSUNPTkRBVEFCQVNFKTskKEVO
QUJMRV9JTkRFWEVEX0RBVEFCQVNFKTskKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKTskKEVOQUJM
RV9JTlBVVF9TUEVFQ0gpOyQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSk7JChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFVElNRSk7JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKTskKEVOQUJM
RV9JTlBVVF9UWVBFX01PTlRIKTskKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpOyQoRU5BQkxFX0lO
UFVUX1RZUEVfV0VFSyk7JChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUik7JChFTkFCTEVfTEVH
QUNZX0NTU19WRU5ET1JfUFJFRklYRVMpOyQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKTsk
KEVOQUJMRV9MSU5LX1BSRUZFVENIKTskKEVOQUJMRV9MSU5LX1BSRVJFTkRFUik7JChFTkFCTEVf
TUFUSE1MKTskKEVOQUJMRV9NRVRFUl9FTEVNRU5UKTskKEVOQUJMRV9NSUNST0RBVEEpOyQoRU5B
QkxFX05PVElGSUNBVElPTlMpOyQoRU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkpOyQoRU5BQkxF
X1BST0dSRVNTX0VMRU1FTlQpOyQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpOyQoRU5BQkxFX1FV
T1RBKTskKEVOQUJMRV9SRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKTskKEVOQUJMRV9TQ1JJUFRF
RF9TUEVFQ0gpOyQoRU5BQkxFX1NIQURPV19ET00pOyQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKTsk
KEVOQUJMRV9TVFlMRV9TQ09QRUQpOyQoRU5BQkxFX1NWRyk7JChFTkFCTEVfU1ZHX0RPTV9PQkpD
X0JJTkRJTkdTKTskKEVOQUJMRV9TVkdfRk9OVFMpOyQoRU5BQkxFX1NVQlBJWEVMX0xBWU9VVCk7
JChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKTskKEVOQUJMRV9VTkRPX01BTkFHRVIpOyQoRU5BQkxF
X1ZJREVPKTtFTkFCTEVfVklERU9fVFJBQ0s7JChFTkFCTEVfTUVESUFfU09VUkNFKTskKEVOQUJM
RV9NRURJQV9TVEFUSVNUSUNTKTskKEVOQUJMRV9XRUJfU09DS0VUUyk7JChFTkFCTEVfV0VCX1RJ
TUlORyk7JChFTkFCTEVfV09SS0VSUyk7JChFTkFCTEVfWFNMVCk7JShQcmVwcm9jZXNzb3JEZWZp
bml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPg0KKyAgICAgIDxQcmVwcm9jZXNzb3JE
ZWZpbml0aW9ucz4kKEVOQUJMRV9JRlJBTUVfU0VBTUxFU1MpOyQoRU5BQkxFX1JFUVVFU1RfQU5J
TUFUSU9OX0ZSQU1FKTskKEVOQUJMRV8zRF9SRU5ERVJJTkcpOyQoRU5BQkxFX0FDQ0VMRVJBVEVE
XzJEX0NBTlZBUyk7JChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKTskKEVO
QUJMRV9CTE9CKTskKEVOQUJMRV9DQU5WQVNfUFJPWFkpOyQoRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HKTskKEVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTKTskKEVOQUJMRV9DU1MzX1RFWFQp
OyQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSyk7JChFTkFCTEVfQ1NTX0ZJTFRFUlMp
OyQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCk7JChFTkFCTEVfQ1NTX1NIQURFUlMpOyQoRU5BQkxF
X0NTU19DT01QT1NJVElORyk7JChFTkFCTEVfQ1NTX1JFR0lPTlMpOyQoRU5BQkxFX0NTU19FWENM
VVNJT05TKTskKEVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lUSU9OKTskKEVOQUJMRV9DU1NfVFJBTlNG
T1JNU19BTklNQVRJT05TX1RSQU5TSVRJT05TX1VOUFJFRklYRUQpOyQoRU5BQkxFX0NVUlNPUl9W
SVNJQklMSVRZKTskKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpOyQoRU5BQkxFX1NRTF9E
QVRBQkFTRSk7JChFTkFCTEVfREFUQUdSSUQpOyQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpOyQo
RU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpOyQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCk7JChF
TkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKTskKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKTskKEVO
QUJMRV9GSUxURVJTKTskKEVOQUJMRV9GSUxFX1NZU1RFTSk7JChFTkFCTEVfRlVMTFNDUkVFTl9B
UEkpOyQoRU5BQkxFX0dBTUVQQUQpOyQoRU5BQkxFX0dFT0xPQ0FUSU9OKTskKEVOQUJMRV9ISURE
RU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORyk7JChFTkFCTEVfSElHSF9EUElfQ0FOVkFTKTsk
KEVOQUJMRV9JQ09OREFUQUJBU0UpOyQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpOyQoRU5BQkxF
X0lOUFVUX1RZUEVfQ09MT1IpOyQoRU5BQkxFX0lOUFVUX1NQRUVDSCk7JChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFKTskKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FKTskKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FTE9DQUwpOyQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpOyQoRU5BQkxFX0lO
UFVUX1RZUEVfVElNRSk7JChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKTskKEVOQUJMRV9KQVZBU0NS
SVBUX0RFQlVHR0VSKTskKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUyk7JChFTkFC
TEVfTEVHQUNZX05PVElGSUNBVElPTlMpOyQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpOyQoRU5BQkxF
X0xJTktfUFJFUkVOREVSKTskKEVOQUJMRV9NQVRITUwpOyQoRU5BQkxFX01FVEVSX0VMRU1FTlQp
OyQoRU5BQkxFX01JQ1JPREFUQSk7JChFTkFCTEVfTk9USUZJQ0FUSU9OUyk7JChFTkFCTEVfUEFH
RV9WSVNJQklMSVRZX0FQSSk7JChFTkFCTEVfUFJPR1JFU1NfRUxFTUVOVCk7JChFTkFCTEVfUFJP
WElNSVRZX0VWRU5UUyk7JChFTkFCTEVfUVVPVEEpOyQoRU5BQkxFX1JFR0lTVEVSX1BST1RPQ09M
X0hBTkRMRVIpOyQoRU5BQkxFX1NDUklQVEVEX1NQRUVDSCk7JChFTkFCTEVfU0hBRE9XX0RPTSk7
JChFTkFCTEVfU0hBUkVEX1dPUktFUlMpOyQoRU5BQkxFX1NUWUxFX1NDT1BFRCk7JChFTkFCTEVf
U1ZHKTskKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1MpOyQoRU5BQkxFX1NWR19GT05UUyk7
JChFTkFCTEVfU1VCUElYRUxfTEFZT1VUKTskKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpOyQoRU5B
QkxFX1VORE9fTUFOQUdFUik7JChFTkFCTEVfVklERU8pO0VOQUJMRV9WSURFT19UUkFDSzskKEVO
QUJMRV9NRURJQV9TT1VSQ0UpOyQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpOyQoRU5BQkxFX1dF
Ql9TT0NLRVRTKTskKEVOQUJMRV9XRUJfVElNSU5HKTskKEVOQUJMRV9XT1JLRVJTKTskKEVOQUJM
RV9YU0xUKTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlv
bnM+DQogICAgIDwvQ2xDb21waWxlPg0KICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPg0KICAgPEl0
ZW1Hcm91cD4NCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IGU5YmMyNTQ1ODY3ZGVmMzUxYjgzYjNiNzdk
YmI3NmMyMjM0ZTE3MGIuLmMwNThlM2QyZjdlYzdlODkzZGU3MWQ2NDkxZTc4ZjM4NGU1ZTYwZjUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnCkBAIC01OCw2ICs1OCw3IEBAIEVOQUJMRV9DU1NfVkFSSUFCTEVT
ID0gOwogRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVMgPSA7CiBFTkFCTEVfQ1NTM19URVhU
ID0gOwogRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLID0gOworRU5BQkxFX0NVUlNPUl9WSVNJ
QklMSVRZID0gRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZOwogRU5BQkxFX0NVU1RPTV9TQ0hFTUVf
SEFORExFUiA9IDsKIEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCA9ICQoRU5BQkxFX0RBU0hCT0FS
RF9TVVBQT1JUXyQoUExBVEZPUk1fTkFNRSkpOwogRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUX21h
Y29zeCA9IEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVDsKQEAgLTE4Myw0ICsxODQsNCBAQCBFTkFC
TEVfV09SS0VSUyA9IEVOQUJMRV9XT1JLRVJTOwogRU5BQkxFX1hIUl9USU1FT1VUID0gRU5BQkxF
X1hIUl9USU1FT1VUOwogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJ
TkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5W
QVMpICQoRU5BQkxFX0JMT0IpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVf
Q0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNT
QUdJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJF
QUspICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0VYQ0xVU0lP
TlMpICQoRU5BQkxFX0NTU19GSUxURVJTKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChF
TkFCTEVfQ1NTX1NIQURFUlMpICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NT
X1NUSUNLWV9QT1NJVElPTikgJChFTkFCTEVfQ1NTX1RSQU5TRk9STVNfQU5JTUFUSU9OU19VTlBS
RUZJWEVEKSAkKEVOQUJMRV9DU1NfVkFSSUFCTEVTKSAkKEVOQUJMRV9DU1MzX0NPTkRJVElPTkFM
X1JVTEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFL
KSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQ
T1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lU
RU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElP
TikgJChFTkFCTEVfRElBTE9HX0VMRU1FTlQpICQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpICQo
RU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9EUkFHR0FCTEVfUkVHSU9O
KSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikg
JChFTkFCTEVfRklMRV9TWVNURU0pICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZPTlRfTE9B
RF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVO
QUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJ
TkcpICQoRU5BQkxFX0hJR0hfRFBJX0NBTlZBUykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVO
QUJMRV9JRlJBTUVfU0VBTUxFU1MpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxF
X0lOUFVUX1NQRUVDSCkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lO
UFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9KQVZBU0NS
SVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFC
TEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMp
ICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5B
QkxFX0xJTktfUFJFUkVOREVSKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX1NPVVJD
RSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChF
TkFCTEVfTUhUTUwpICQoRU5BQkxFX01JQ1JPREFUQSkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1ND
QUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTk9USUZJQ0FU
SU9OUykgJChFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQSSkgJChFTkFCTEVfUERGS0lUX1BMVUdJ
TikgJChFTkFCTEVfUExVR0lOX1BST1hZX0ZPUl9WSURFTykgJChFTkFCTEVfUFJPR1JFU1NfRUxF
TUVOVCkgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9M
SVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQo
RU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1NDUklQVEVEX1NQRUVDSCkg
JChFTkFCTEVfU0hBRE9XX0RPTSkgJChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQoRU5BQkxFX1NQ
RUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NRTF9EQVRBQkFTRSkgJChFTkFCTEVfU1RZTEVfU0NP
UEVEKSAkKEVOQUJMRV9TVUJQSVhFTF9MQVlPVVQpICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZH
X0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTVBMQVRF
X0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVEVYVF9OT1RJRklD
QVRJT05TX09OTFkpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVVNFUlNF
TEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVf
V0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxF
X1dFQl9USU1JTkcpICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVO
QUJMRV9YU0xUKSAkKEZFQVRVUkVfREVGSU5FU18kKFBMQVRGT1JNX05BTUUpKTsKK0ZFQVRVUkVf
REVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRf
Q0FOVkFTKSAkKEVOQUJMRV9CTE9CKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5B
QkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxf
TUVTU0FHSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9O
X0JSRUFLKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19FWENM
VVNJT05TKSAkKEVOQUJMRV9DU1NfRklMVEVSUykgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFU
SU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMp
ICQoRU5BQkxFX0NTU19TSEFERVJTKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxF
X0NTU19TVElDS1lfUE9TSVRJT04pICQoRU5BQkxFX0NTU19UUkFOU0ZPUk1TX0FOSU1BVElPTlNf
VU5QUkVGSVhFRCkgJChFTkFCTEVfQ1NTX1ZBUklBQkxFUykgJChFTkFCTEVfQ1NTM19DT05ESVRJ
T05BTF9SVUxFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9C
UkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVf
SEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VM
RU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxF
TUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ESUFMT0dfRUxFTUVO
VCkgJChFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCkgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RS
VUNUT1IpICQoRU5BQkxFX0RSQUdHQUJMRV9SRUdJT04pICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJ
QSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxFX1NZU1RFTSkgJChF
TkFCTEVfRklMVEVSUykgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFND
UkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJM
RV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSElHSF9EUElfQ0FO
VkFTKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lGUkFNRV9TRUFNTEVTUykgJChF
TkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5QVVRfU1BFRUNIKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURVRJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIpICQoRU5BQkxFX0xF
R0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykg
JChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJ
TykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTElOS19QUkVSRU5ERVIpICQoRU5B
QkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNU
SUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTUlD
Uk9EQVRBKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9D
T05URU5UX1VUSUxTKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQUdFX1ZJU0lC
SUxJVFlfQVBJKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QTFVHSU5fUFJPWFlf
Rk9SX1ZJREVPKSAkKEVOQUJMRV9QUk9HUkVTU19FTEVNRU5UKSAkKEVOQUJMRV9QUk9YSU1JVFlf
RVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVO
QUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9R
VUVSWSkgJChFTkFCTEVfU0NSSVBURURfU1BFRUNIKSAkKEVOQUJMRV9TSEFET1dfRE9NKSAkKEVO
QUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVf
U1FMX0RBVEFCQVNFKSAkKEVOQUJMRV9TVFlMRV9TQ09QRUQpICQoRU5BQkxFX1NVQlBJWEVMX0xB
WU9VVCkgJChFTkFCTEVfU1ZHKSAkKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1MpICQoRU5B
QkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9B
VVRPU0laSU5HKSAkKEVOQUJMRV9URVhUX05PVElGSUNBVElPTlNfT05MWSkgJChFTkFCTEVfVE9V
Q0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8p
ICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElP
KSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV09S
S0VSUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRkVBVFVSRV9ERUZJ
TkVTXyQoUExBVEZPUk1fTkFNRSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCBlOWJjMjU0NTg2N2RlZjM1MWI4
M2IzYjc3ZGJiNzZjMjIzNGUxNzBiLi5jMDU4ZTNkMmY3ZWM3ZTg5M2RlNzFkNjQ5MWU3OGYzODRl
NWU2MGY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNTgsNiArNTgsNyBAQCBFTkFCTEVfQ1NTX1ZBUklBQkxF
UyA9IDsKIEVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTID0gOwogRU5BQkxFX0NTUzNfVEVY
VCA9IDsKIEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSyA9IDsKK0VOQUJMRV9DVVJTT1JfVklT
SUJJTElUWSA9IEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWTsKIEVOQUJMRV9DVVNUT01fU0NIRU1F
X0hBTkRMRVIgPSA7CiBFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQgPSAkKEVOQUJMRV9EQVNIQk9B
UkRfU1VQUE9SVF8kKFBMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVF9t
YWNvc3ggPSBFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQ7CkBAIC0xODMsNCArMTg0LDQgQEAgRU5B
QkxFX1dPUktFUlMgPSBFTkFCTEVfV09SS0VSUzsKIEVOQUJMRV9YSFJfVElNRU9VVCA9IEVOQUJM
RV9YSFJfVElNRU9VVDsKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVG
SU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FO
VkFTKSAkKEVOQUJMRV9CTE9CKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxF
X0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVT
U0FHSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JS
RUFLKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19FWENMVVNJ
T05TKSAkKEVOQUJMRV9DU1NfRklMVEVSUykgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9O
KSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQo
RU5BQkxFX0NTU19TSEFERVJTKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NT
U19TVElDS1lfUE9TSVRJT04pICQoRU5BQkxFX0NTU19UUkFOU0ZPUk1TX0FOSU1BVElPTlNfVU5Q
UkVGSVhFRCkgJChFTkFCTEVfQ1NTX1ZBUklBQkxFUykgJChFTkFCTEVfQ1NTM19DT05ESVRJT05B
TF9SVUxFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVB
SykgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQ
UE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9J
VEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJ
T04pICQoRU5BQkxFX0RJQUxPR19FTEVNRU5UKSAkKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKSAk
KEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRFJBR0dBQkxFX1JFR0lP
TikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIp
ICQoRU5BQkxFX0ZJTEVfU1lTVEVNKSAkKEVOQUJMRV9GSUxURVJTKSAkKEVOQUJMRV9GT05UX0xP
QURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChF
TkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRM
SU5HKSAkKEVOQUJMRV9ISUdIX0RQSV9DQU5WQVMpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChF
TkFCTEVfSUZSQU1FX1NFQU1MRVNTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJM
RV9JTlBVVF9TUEVFQ0gpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSkFWQVND
UklQVF9ERUJVR0dFUikgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5B
QkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVT
KSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVO
QUJMRV9MSU5LX1BSRVJFTkRFUikgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9TT1VS
Q0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQo
RU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NSUNST0RBVEEpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9T
Q0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05PVElGSUNB
VElPTlMpICQoRU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkpICQoRU5BQkxFX1BERktJVF9QTFVH
SU4pICQoRU5BQkxFX1BMVUdJTl9QUk9YWV9GT1JfVklERU8pICQoRU5BQkxFX1BST0dSRVNTX0VM
RU1FTlQpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhf
TElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAk
KEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9TQ1JJUFRFRF9TUEVFQ0gp
ICQoRU5BQkxFX1NIQURPV19ET00pICQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9T
UEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TUUxfREFUQUJBU0UpICQoRU5BQkxFX1NUWUxFX1ND
T1BFRCkgJChFTkFCTEVfU1VCUElYRUxfTEFZT1VUKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NW
R19ET01fT0JKQ19CSU5ESU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URU1QTEFU
RV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RFWFRfTk9USUZJ
Q0FUSU9OU19PTkxZKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX1VTRVJT
RUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxF
X1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJM
RV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChF
TkFCTEVfWFNMVCkgJChGRUFUVVJFX0RFRklORVNfJChQTEFURk9STV9OQU1FKSk7CitGRUFUVVJF
X0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJE
X0NBTlZBUykgJChFTkFCTEVfQkxPQikgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVO
QUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVM
X01FU1NBR0lORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElP
Tl9CUkVBSykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfRVhD
TFVTSU9OUykgJChFTkFCTEVfQ1NTX0ZJTFRFUlMpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRB
VElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05T
KSAkKEVOQUJMRV9DU1NfU0hBREVSUykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJM
RV9DU1NfU1RJQ0tZX1BPU0lUSU9OKSAkKEVOQUJMRV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05T
X1VOUFJFRklYRUQpICQoRU5BQkxFX0NTU19WQVJJQUJMRVMpICQoRU5BQkxFX0NTUzNfQ09ORElU
SU9OQUxfUlVMRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVf
QlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1F
X0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9F
TEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VM
RU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRElBTE9HX0VMRU1F
TlQpICQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNU
UlVDVE9SKSAkKEVOQUJMRV9EUkFHR0FCTEVfUkVHSU9OKSAkKEVOQUJMRV9FTkNSWVBURURfTUVE
SUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMRV9TWVNURU0pICQo
RU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExT
Q1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFC
TEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0hJR0hfRFBJX0NB
TlZBUykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JRlJBTUVfU0VBTUxFU1MpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1NQRUVDSCkgJChFTkFCTEVf
SU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEVUSU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5B
QkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9M
RUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMp
ICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVE
SU8pICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX0xJTktfUFJFUkVOREVSKSAkKEVO
QUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElT
VElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01J
Q1JPREFUQSkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1Jf
Q09OVEVOVF9VVElMUykgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFHRV9WSVNJ
QklMSVRZX0FQSSkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUExVR0lOX1BST1hZ
X0ZPUl9WSURFTykgJChFTkFCTEVfUFJPR1JFU1NfRUxFTUVOVCkgJChFTkFCTEVfUFJPWElNSVRZ
X0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChF
TkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFf
UVVFUlkpICQoRU5BQkxFX1NDUklQVEVEX1NQRUVDSCkgJChFTkFCTEVfU0hBRE9XX0RPTSkgJChF
TkFCTEVfU0hBUkVEX1dPUktFUlMpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxF
X1NRTF9EQVRBQkFTRSkgJChFTkFCTEVfU1RZTEVfU0NPUEVEKSAkKEVOQUJMRV9TVUJQSVhFTF9M
QVlPVVQpICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVO
QUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRf
QVVUT1NJWklORykgJChFTkFCTEVfVEVYVF9OT1RJRklDQVRJT05TX09OTFkpICQoRU5BQkxFX1RP
VUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVP
KSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJ
TykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dP
UktFUlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEZFQVRVUkVfREVG
SU5FU18kKFBMQVRGT1JNX05BTUUpKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhYjZjOTcwYTU5OGM0MWFlZjJiNmRkZjAw
ZGViZTJiNWEzNzFlOThjLi42ZGJhZGQ3YjI1Y2QxZTQ5ZmE0YTVlNWUxNjNkYTU4MjlmYzIxNTc2
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTMtMDEtMjMgIEplciBOb2JsZSAgPGplci5ub2Js
ZUBhcHBsZS5jb20+CisKKyAgICAgICAgRGVmYXVsdCBtb3VzZSBjdXJzb3IgYmVoYXZpb3Igc2hv
dWxkIGJlIGF1dG8taGlkZSBmb3IgZnVsbCBzY3JlZW4gdmlkZW8gd2l0aCBjdXN0b20gY29udHJv
bHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNzYw
MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZnVs
bHNjcmVlbi92aWRlby1jdXJzb3ItYXV0by1oaWRlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZnVsbHNjcmVlbi92aWRlby1jdXJzb3ItYXV0by1oaWRlLmh0bWw6IEFkZGVkLgorCisg
ICAgICAgIEFkZCBhbiBleHBlY3RlZCBmYWlsaW5nIHJlc3VsdCBpbiBwbGF0Zm9ybXMgd2hpY2gg
ZG8gbm90IGVuYWJsZSBDVVJTT1JfVklTSUJJTElUWS4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJv
bWl1bS9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL2VmbC9UZXN0RXhwZWN0
YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zOgorICAgICAg
ICAqIHBsYXRmb3JtL3F0L1Rlc3RFeHBlY3RhdGlvbnM6CisKKwogMjAxMy0wMy0wNCAgQ2hyaXMg
RmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYlNwZWVjaDogY2hh
bmdlIHZvaWNlVVJJIHRvIHZvaWNlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mdWxsc2NyZWVu
L3ZpZGVvLWN1cnNvci1hdXRvLWhpZGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZnVsbHNj
cmVlbi92aWRlby1jdXJzb3ItYXV0by1oaWRlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZWJl
ZmRlMWQxYzM0NTliMDY2ZmMzZDMzMTZkMzlhYTczMDg0ZjE0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZnVsbHNjcmVlbi92aWRlby1jdXJzb3ItYXV0by1oaWRlLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDcgQEAKK1RoaXMgdGVzdHMgdGhhdCB0aGUgY3Vyc29yIGhpZGVzIGFmdGVy
IGhvdmVyaW5nIG92ZXIgYSB2aWRlbyBlbGVtZW50IGluIGZ1bGwgc2NyZWVuIG1vZGUuCisKK0VW
RU5UKHdlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UpCitFWFBFQ1RFRCAod2luZG93LmludGVybmFscy5n
ZXRDdXJyZW50Q3Vyc29ySW5mbyhkb2N1bWVudCkgPT0gJ3R5cGU9UG9pbnRlciBob3RTcG90PTAs
MCcpIE9LCitFWFBFQ1RFRCAod2luZG93LmludGVybmFscy5nZXRDdXJyZW50Q3Vyc29ySW5mbyhk
b2N1bWVudCkgPT0gJ3R5cGU9Tm9uZSBob3RTcG90PTAsMCcpIE9LCitFTkQgT0YgVEVTVAorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mdWxsc2NyZWVuL3ZpZGVvLWN1cnNvci1hdXRvLWhpZGUu
aHRtbCBiL0xheW91dFRlc3RzL2Z1bGxzY3JlZW4vdmlkZW8tY3Vyc29yLWF1dG8taGlkZS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjU3NzY0MWViMTdhZmU2MjM3MjljOTMxNGQ3ODY4NGRjNzVlN2IwYjUKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mdWxsc2NyZWVuL3ZpZGVvLWN1cnNvci1hdXRv
LWhpZGUuaHRtbApAQCAtMCwwICsxLDMxIEBACis8Ym9keT4KKyAgICA8cD5UaGlzIHRlc3RzIHRo
YXQgdGhlIGN1cnNvciBoaWRlcyBhZnRlciBob3ZlcmluZyBvdmVyIGEgdmlkZW8gZWxlbWVudCBp
biBmdWxsIHNjcmVlbiBtb2RlLjwvcD4KKyAgICA8ZGl2IGlkPXdyYXBwZXI+CisgICAgICAgIDx2
aWRlbyBpZD0idmlkZW8iIHdpZHRoPSIzMDAiPjwvdmlkZW8+CisgICAgPC9kaXY+CisgICAgPHNj
cmlwdCBzcmM9ImZ1bGwtc2NyZWVuLXRlc3QuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIHZhciB3cmFwcGVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3dyYXBwZXInKTsK
KworICAgICAgICBmdW5jdGlvbiBjaGVja0ZvckhpZGRlbk1vdXNlKCkKKyAgICAgICAgeworICAg
ICAgICAgICAgdGVzdEV4cGVjdGVkKCd3aW5kb3cuaW50ZXJuYWxzLmdldEN1cnJlbnRDdXJzb3JJ
bmZvKGRvY3VtZW50KScsICd0eXBlPU5vbmUgaG90U3BvdD0wLDAnKTsKKyAgICAgICAgICAgIGVu
ZFRlc3QoKTsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIGZ1bGxzY3JlZW5DaGFuZ2Vk
KGV2ZW50KQorICAgICAgICB7CisgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykgewor
ICAgICAgICAgICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRUaW1lV2l0aG91dE1vdXNlTW92
ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scygwKTsKKyAgICAgICAgICAgICAgICB3cmFwcGVyQm94
ID0gaW50ZXJuYWxzLmJvdW5kaW5nQm94KHdyYXBwZXIpOworICAgICAgICAgICAgICAgIGV2ZW50
U2VuZGVyLm1vdXNlTW92ZVRvKHdyYXBwZXJCb3gubGVmdCArIHdyYXBwZXJCb3gud2lkdGggLyAy
LCB3cmFwcGVyQm94LnRvcCArIHdyYXBwZXJCb3guaGVpZ2h0IC8gMik7CisgICAgICAgICAgICAg
ICAgdGVzdEV4cGVjdGVkKCd3aW5kb3cuaW50ZXJuYWxzLmdldEN1cnJlbnRDdXJzb3JJbmZvKGRv
Y3VtZW50KScsICd0eXBlPVBvaW50ZXIgaG90U3BvdD0wLDAnKTsKKyAgICAgICAgICAgICAgICBz
ZXRUaW1lb3V0KGNoZWNrRm9ySGlkZGVuTW91c2UsIDApOworICAgICAgICAgICAgfQorICAgICAg
ICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGxvZ1Jlc3VsdChmYWxzZSwgIndpbmRvdy5pbnRl
cm5hbHMgPT0gdW5kZWZpbmVkIik7CisgICAgICAgIH0KKyAgICAgICAgd2FpdEZvckV2ZW50KGRv
Y3VtZW50LCAnd2Via2l0ZnVsbHNjcmVlbmNoYW5nZScsIGZ1bGxzY3JlZW5DaGFuZ2VkKTsKKyAg
ICAgICAgcnVuV2l0aEtleURvd24oZnVuY3Rpb24oKXt3cmFwcGVyLndlYmtpdFJlcXVlc3RGdWxs
U2NyZWVuKCl9KTsKKyAgICA8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDA0MzVjMjBkM2Q0ZTNkMDlmNDJi
NTNiNDIyNDllNWU5NTRmOThlNGYuLmZmZWQ5ZDgyNjdiYjA1NjU0ZTk0Mzc4ZTczYWNhM2YwYmZm
MjZiYjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBl
Y3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0
aW9ucwpAQCAtNDQzNywzICs0NDM3LDYgQEAgY3JidWcuY29tLzE3OTUwMyBmYXN0L2NhbnZhcy93
ZWJnbC9vZXMtdGV4dHVyZS1oYWxmLWZsb2F0Lmh0bWwgWyBGYWlsdXJlIF0KIGNyYnVnLmNvbS8x
Nzk1MDMgcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wvb2Vz
LXRleHR1cmUtaGFsZi1mbG9hdC5odG1sIFsgRmFpbHVyZSBdCiBjcmJ1Zy5jb20vMTc5NTAzIGZh
c3QvY2FudmFzL3dlYmdsL29lcy10ZXh0dXJlLWhhbGYtZmxvYXQtbm90LXN1cHBvcnRlZC5odG1s
IFsgVGltZW91dCBdCiBjcmJ1Zy5jb20vMTc5NTAzIHBsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwv
Z3B1L2Zhc3QvY2FudmFzL3dlYmdsL29lcy10ZXh0dXJlLWhhbGYtZmxvYXQtbm90LXN1cHBvcnRl
ZC5odG1sIFsgVGltZW91dCBdCisKKyMgQ1VSU09SX1ZJU0lCSUxJVFkgaXMgbm90IGVuYWJsZWQg
aW4gY2hyb21pdW0KK3dlYmtpdC5vcmcvYi8xMDc2MDEgZnVsbHNjcmVlbi92aWRlby1jdXJzb3It
YXV0by1oaWRlLmh0bWwgWyBGYWlsdXJlIF0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDI0ZmJjMjQwMWY2
NDc1YWU2YTgxZDI2NjczODZlYWY4NDUwMDQ3MWQuLjY2NGJmNWNiNmJlYzc1NmYzZmEyMzlkNmJi
ODQ4ZTNkYTQ2NDJhMjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0
RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRp
b25zCkBAIC0xODY5LDMgKzE4NjksNiBAQCB3ZWJraXQub3JnL2IvMTEwNjU0IGNzczMvZmxleGJv
eC9idXR0b24uaHRtbCBbIEZhaWx1cmUgXQogCiAjIE5lZWQgc3VwcG9ydCBmb3IgUmVzb3VyY2VI
YW5kbGU6OmRpZENoYW5nZVByaW9yaXR5IGFuZCBEUlQgc3VwcG9ydAogd2Via2l0Lm9yZy9iLzEx
MTAxNiBodHRwL3Rlc3RzL2xvYWRpbmcvcHJvbW90ZS1pbWctcHJlbG9hZC1wcmlvcml0eS5odG1s
IFsgRmFpbHVyZSBdCisKKyMgQ1VSU09SX1ZJU0lCSUxJVFkgaXMgbm90IGVuYWJsZWQgaW4gZWZs
Cit3ZWJraXQub3JnL2IvMTA3NjAxIGZ1bGxzY3JlZW4vdmlkZW8tY3Vyc29yLWF1dG8taGlkZS5o
dG1sIFsgRmFpbHVyZSBdClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA2ZjkyMzBjNDYyYWMzMjRiN2MwMzdm
ZGIzMDZiZDNjZjY1YzM1NjVkLi44YjQ1MTQ0YmI3ZThhYzE3ZTVjMGU4MDY0ZjkwNWFiMmRlZDhk
ZjMyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9u
cworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTQw
Miw2ICsxNDAyLDkgQEAgd2Via2l0Lm9yZy9iLzExMTAxNiBodHRwL3Rlc3RzL2xvYWRpbmcvcHJv
bW90ZS1pbWctcHJlbG9hZC1wcmlvcml0eS5odG1sIFsgRmFpbHUKIAogd2Via2l0Lm9yZy9iLzEx
MTA1OCBwbHVnaW5zL3BsdWdpbi1jbGlwLXN1YmZyYW1lLmh0bWwgWyBGYWlsdXJlIF0KIAorIyBD
VVJTT1JfVklTSUJJTElUWSBpcyBub3QgZW5hYmxlZCBpbiBndGsKK3dlYmtpdC5vcmcvYi8xMDc2
MDEgZnVsbHNjcmVlbi92aWRlby1jdXJzb3ItYXV0by1oaWRlLmh0bWwgWyBGYWlsdXJlIF0KKwog
Iy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KICMgRW5kIG9mIFRlc3RzIGZhaWxpbmcK
ICMvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9xdC9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQv
VGVzdEV4cGVjdGF0aW9ucwppbmRleCBkZDFjZmViODAxOGNlNGE2NDA3YTU0Nzk0MDNmZTVhMGVj
NzFiNGExLi43Y2RhZjA4MTE1MzA3NDg0MDU2NjQxNTU0YWY1NTA0MTdlYjVjY2EyIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL3F0L1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTM2MCw2ICszNjAsOSBAQCB3
ZWJraXQub3JnL2IvODU0NjMgZWRpdGluZy9pbnNlcnRpbmcvdHlwaW5nLXNwYWNlLXRvLXRyaWdn
ZXItc21hcnQtbGluay5odG1sCiAjIGdlc3R1cmVUd29GaW5nZXJUYXAgbm90IGltcGxlbWVudGVk
IGJ5IHRoaXMgcGxhdGZvcm0gKGludHJvZHVjZWQgaW4gcjEzMjQwNikKIHRvdWNoYWRqdXN0bWVu
dC90b3VjaC1saW5rcy10d28tZmluZ2VyLXRhcC5odG1sCiAKKyMgQ1VSU09SX1ZJU0lCSUxJVFkg
aXMgbm90IGVuYWJsZWQgaW4gcXQKK3dlYmtpdC5vcmcvYi8xMDc2MDEgZnVsbHNjcmVlbi92aWRl
by1jdXJzb3ItYXV0by1oaWRlLmh0bWwgWyBGYWlsdXJlIF0KKwogIyA9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0gIwogIyAgICAgICBGZWF0dXJlIG5vdCB5ZXQgc3VwcG9ydGVkLiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIwogIyA9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gIwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191373</attachid>
            <date>2013-03-04 18:40:48 -0800</date>
            <delta_ts>2013-03-05 16:50:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107601-20130304183655.patch</filename>
            <type>text/plain</type>
            <size>67863</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0NzA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGZiYzFhMzI4NjI4OTJjZDFkNmMxZDYz
Y2Q2OGNkODA5NzhhMjg2ZGMuLjYwMGE1N2MyMDlhNzAzN2I1YzhmMjRiYTQ3Njg4MmZhMmMxODk5
NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTMtMDMtMDQgIEplciBOb2JsZSAgPGplci5ub2Js
ZUBhcHBsZS5jb20+CisKKyAgICAgICAgRGVmYXVsdCBtb3VzZSBjdXJzb3IgYmVoYXZpb3Igc2hv
dWxkIGJlIGF1dG8taGlkZSBmb3IgZnVsbCBzY3JlZW4gdmlkZW8gd2l0aCBjdXN0b20gY29udHJv
bHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNzYw
MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVuYWJs
ZSB0aGUgQ1VSU09SX1ZJU0lCSUxJVFkgZmVhdHVyZS4KKworICAgICAgICAqIHd0Zi9GZWF0dXJl
RGVmaW5lcy5oOgorCiAyMDEzLTAzLTA0ICBMYXN6bG8gR29tYm9zICA8bC5nb21ib3NAc2Ftc3Vu
Zy5jb20+CiAKICAgICAgICAgSlNDX09CSkNfQVBJX0VOQUJMRUQgc2hvdWxkIGJlIHJlbW92ZWQg
ZnJvbSBGZWF0dXJlRGVmaW5lcy5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWJiZWRmNjAxNzk5YjVmMWFiMjc2
OGQ5YWI1MzhjMGY3ODE2NGM0ZS4uYzE1NzVkYWIxNTIxZmNlOGUwZGE0YjcyMjFkYjRkNjdjZjAz
NjdmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgwIEBACisyMDEzLTAyLTIyICBKZXIgTm9ibGUg
IDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIERlZmF1bHQgbW91c2UgY3Vyc29yIGJl
aGF2aW9yIHNob3VsZCBiZSBhdXRvLWhpZGUgZm9yIGZ1bGwgc2NyZWVuIHZpZGVvIHdpdGggY3Vz
dG9tIGNvbnRyb2xzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDc2MDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUZXN0OiBmdWxsc2NyZWVuL3ZpZGVvLWN1cnNvci1hdXRvLWhpZGUuaHRtbAorCisgICAg
ICAgIFRvIGZhY2lsaXRhdGUgYXV0b21hdGljYWxseSBoaWRpbmcgdGhlIG1vdXNlIGN1cnNvciBh
ZnRlciBhIGNlcnRhaW4gYW1vdW50IG9mIGlkbGUgbW91c2UKKyAgICAgICAgdGltZSwgYWRkIGEg
bmV3IENTUyBwcm9wZXJ0eSAnLXdlYmtpdC1jdXJzb3ItdmlzaWJpbGl0eScsIGFuZCBoYW5kbGUg
dGhhdCB2YWx1ZSBpbnNpZGUgb2YKKyAgICAgICAgRXZlbnRIYW5kbGVyLiBXaGVuIHRoYXQgdmFs
dWUgaXMgcHJlc2VudCwgdGhlIEV2ZW50SGFuZGxlciB3aWxsIHN0YXJ0IGEgdGltZXIgd2hpY2gs
IHdoZW4KKyAgICAgICAgZmlyZWQsIHdpbGwgc2V0IHRoZSB2aWV3J3MgY3Vyc29yIHRvIHRoZSBO
b25lIGN1cnNvci4gU3Vic2VxdWVudCBtb3VzZSBtb3ZlcyB3aWxsIGVpdGhlcgorICAgICAgICBj
YW5jZWwgdGhlIHRpbWVyLCBvciByZXNldCB0aGUgYXV0by1oaWRlIHRpbWVyLgorCisgICAgICAg
IEFkZCBhIG5ldyBDU1MgcHJvcGVydHksICctd2Via2l0LWN1cnNvci12aXNpYmlsaXR5JzoKKyAg
ICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkNTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6Z2V0UHJvcGVydHlDU1NWYWx1ZSk6
CisgICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJz
ZXI6OnBhcnNlVmFsdWUpOgorICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdz
Lmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFs
dWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJhdG9yIEVDdXJz
b3JWaXNpYmlsaXR5KToKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHkuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTUHJvcGVydHk6OmlzSW5oZXJpdGVkUHJvcGVydHkpOgorICAgICAgICAqIGNz
cy9DU1NQcm9wZXJ0eU5hbWVzLmluOgorICAgICAgICAqIGNzcy9DU1NWYWx1ZUtleXdvcmRzLmlu
OgorICAgICAgICAqIGNzcy9TdHlsZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5
bGVCdWlsZGVyOjpTdHlsZUJ1aWxkZXIpOgorICAgICAgICAqIGNzcy9TdHlsZVJlc29sdmVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmVzb2x2ZXI6OmFwcGx5UHJvcGVydHkpOgorCisg
ICAgICAgIEFkZCBhIHJ1bGUgZm9yIHZpZGVvIGRlc2NlbmRhbnRzIG9mIGZ1bGwgc2NyZWVuIGVs
ZW1lbnRzIHRvIGF1dG8taGlkZSB0aGUgY3Vyc29yIG9uIGhvdmVyOgorICAgICAgICAqIGNzcy9m
dWxsc2NyZWVuLmNzczoKKyAgICAgICAgKDotd2Via2l0LWZ1bGwtc2NyZWVuIHZpZGVvOmhvdmVy
KToKKworICAgICAgICBBZGQgYSBuZXcgdGltZXIsIG1fYXV0b0hpZGVDdXJzb3JUaW1lciwgdG8g
Y29udHJvbCByZXNldHRpbmcgdGhlIHZpZXcncyBjdXJzb3IgdG8gTm9uZSBhZnRlcgorICAgICAg
ICBlbm91Z2ggbW91c2UgaWRsZSB0aW1lIGhhcyBwYXNzZWQuCisgICAgICAgICogcGFnZS9FdmVu
dEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpFdmVudEhhbmRs
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjp+RXZlbnRIYW5kbGVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6Y2xlYXIpOgorICAgICAgICAoV2ViQ29yZTo6
RXZlbnRIYW5kbGVyOjpzZWxlY3RDdXJzb3IpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5k
bGVyOjpzdGFydEF1dG9IaWRlQ3Vyc29yVGltZXIpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRI
YW5kbGVyOjpjYW5jZWxBdXRvSGlkZUN1cnNvclRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkV2
ZW50SGFuZGxlcjo6YXV0b0hpZGVDdXJzb3JUaW1lckZpcmVkKToKKyAgICAgICAgKiBwYWdlL0V2
ZW50SGFuZGxlci5oOgorCisgICAgICAgIE1ha2UgRnJhbWVWaWV3Ojppc0FjdGl2ZSgpIGEgcHVi
bGljIGZ1bmN0aW9uIChsaWtlIGl0IGlzIGluIGl0cyBzdXBlcmNsYXNzKS4KKyAgICAgICAgKiBw
YWdlL0ZyYW1lVmlldy5oOgorICAgICAgICAoRnJhbWVWaWV3KToKKworICAgICAgICBNb3ZlIHRo
ZSBkZWZpbml0aW9uIGZvciB0aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250
cm9scyBmcm9tIHBhZ2UtPnRoZW1lKCkKKyAgICAgICAgdG8gcGFnZS0+c2V0dGluZ3MoKSBhbmQg
YWxsb3cgdGhhdCBzZXR0aW5nIHRvIGJlIG92ZXJyaWRkZW4gaW4gSW50ZXJuYWxTZXR0aW5ncyBm
b3IgCisgICAgICAgIHRlc3RpbmcgcHVycG9zZXM6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6U2V0dGluZ3MpOgorICAgICAgICAqIHBh
Z2UvU2V0dGluZ3MuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRUaW1lV2l0aG91
dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyk6CisgICAgICAgIChXZWJDb3JlOjpT
ZXR0aW5nczo6dGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMpOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZS5oOgorICAgICAgICAqIHRlc3RpbmcvSW50
ZXJuYWxTZXR0aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpC
YWNrdXA6OkJhY2t1cCk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpCYWNr
dXA6OnJlc3RvcmVUbyk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpzZXRU
aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyk6CisgICAgICAgICog
dGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmg6CisgICAgICAgIChJbnRlcm5hbFNldHRpbmdzKToK
KyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsOgorICAgICAgICAqIGh0bWwv
c2hhZG93L01lZGlhQ29udHJvbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9s
czo6c3RhcnRIaWRlRnVsbHNjcmVlbkNvbnRyb2xzVGltZXIpOgorCisgICAgICAgIEFkZCBzdXBw
b3J0IHRvIEZlYXR1cmVPYnNlcnZlciBmb3IgQ1VSU09SX1ZJU0lCSUxJVFk6CisgICAgICAgICog
cGFnZS9GZWF0dXJlT2JzZXJ2ZXIuaDoKKworICAgICAgICBFbmFibGUgdGhlIGZlYXR1cmUgZmxh
ZzoKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwog
MjAxMy0wMy0wNCAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgogCiAgICAg
ICAgIFN1cHBvcnQgV2ViU3BlZWNoIC0gU3BlZWNoIFN5bnRoZXNpcwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA0NDg2
NDBkMTQ2ZjkxYTc2OWQxMTJmYWRkODc1NzFmMTFlYjM0NjVlLi42MjE1OWJiMWQwYjc3MGNjZTU0
ZGQ5NGViNWJiMDZlNzcxMWMxYTcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEzLTAz
LTA0ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIERlZmF1bHQg
bW91c2UgY3Vyc29yIGJlaGF2aW9yIHNob3VsZCBiZSBhdXRvLWhpZGUgZm9yIGZ1bGwgc2NyZWVu
IHZpZGVvIHdpdGggY3VzdG9tIGNvbnRyb2xzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMDc2MDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBFbmFibGUgdGhlIENVUlNPUl9WSVNJQklMSVRZIGZlYXR1cmUu
CisKKyAgICAgICAgKiBXZWJLaXQudmN4cHJvai9GZWF0dXJlRGVmaW5lcy5wcm9wczoKKwogMjAx
My0wMy0wNCAgUm9nZXIgRm9uZyAgPHJvZ2VyX2ZvbmdAYXBwbGUuY29tPgogCiAgICAgICAgIFVu
cmV2aWV3ZWQuIEFwcGxlV2luIGJ1aWxkIGZpeC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
bWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCA4OTY4MzEx
NzcxZDc2ZjRlZTRlYmZkNWZmMmUyMWFmYmZjNTI2YmMyLi40ZDg1NDU1YTU3ZWUzZDdhN2Y2NTI4
MzRjNjgzZWEwM2IxYzdkMzdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIw
MTMtMDMtMDQgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgRGVm
YXVsdCBtb3VzZSBjdXJzb3IgYmVoYXZpb3Igc2hvdWxkIGJlIGF1dG8taGlkZSBmb3IgZnVsbCBz
Y3JlZW4gdmlkZW8gd2l0aCBjdXN0b20gY29udHJvbHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNzYwMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEVuYWJsZSB0aGUgQ1VSU09SX1ZJU0lCSUxJVFkgZmVh
dHVyZS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
OgorCiAyMDEzLTAzLTA0ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CiAK
ICAgICAgICAgU3VwcG9ydCBXZWJTcGVlY2ggLSBTcGVlY2ggU3ludGhlc2lzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5k
ZXggYWQ1ZGUwMjEyZTIyNjc5NTQ3YzMxNTVjZDM3ZWJiZmVjMWMwZTA4MC4uNzZmODMzZjI2OTMy
NDNhMmFiN2U4OTE2NWY0YTNhNWMyYjYxYTFlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBA
CisyMDEzLTAzLTA0ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAg
IERlZmF1bHQgbW91c2UgY3Vyc29yIGJlaGF2aW9yIHNob3VsZCBiZSBhdXRvLWhpZGUgZm9yIGZ1
bGwgc2NyZWVuIHZpZGVvIHdpdGggY3VzdG9tIGNvbnRyb2xzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDc2MDEKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFbmFibGUgdGhlIENVUlNPUl9WSVNJQklMSVRZ
IGZlYXR1cmUuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZzoKKwogMjAxMy0wMy0wNCAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29t
PgogCiAgICAgICAgIFN1cHBvcnQgV2ViU3BlZWNoIC0gU3BlZWNoIFN5bnRoZXNpcwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVE
ZWZpbmVzLnhjY29uZmlnCmluZGV4IDIyNWEyZDhiNmY4ZjkzZDZiMGEyYjYxYThhOThkNTIyMGMw
OTk1N2UuLjdiYjkwMDc5ZTgzN2NhZjg5NzAyM2FlOWY4Y2JkZTYxMzMwNTRkYzMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWcKQEAgLTU4LDYgKzU4LDcgQEAgRU5BQkxFX0NTU19WQVJJQUJMRVMg
PSA7CiBFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUyA9IDsKIEVOQUJMRV9DU1MzX1RFWFQg
PSA7CiBFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUsgPSA7CitFTkFCTEVfQ1VSU09SX1ZJU0lC
SUxJVFkgPSBFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFk7CiBFTkFCTEVfQ1VTVE9NX1NDSEVNRV9I
QU5ETEVSID0gOwogRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUID0gJChFTkFCTEVfREFTSEJPQVJE
X1NVUFBPUlRfJChQTEFURk9STV9OQU1FKSk7CiBFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlRfbWFj
b3N4ID0gRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUOwpAQCAtMTgzLDQgKzE4NCw0IEBAIEVOQUJM
RV9XT1JLRVJTID0gRU5BQkxFX1dPUktFUlM7CiBFTkFCTEVfWEhSX1RJTUVPVVQgPSBFTkFCTEVf
WEhSX1RJTUVPVVQ7CiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklO
RVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZB
UykgJChFTkFCTEVfQkxPQikgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9D
QU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NB
R0lORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVB
SykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfRVhDTFVTSU9O
UykgJChFTkFCTEVfQ1NTX0ZJTFRFUlMpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikg
JChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVO
QUJMRV9DU1NfU0hBREVSUykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1Nf
U1RJQ0tZX1BPU0lUSU9OKSAkKEVOQUJMRV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1VOUFJF
RklYRUQpICQoRU5BQkxFX0NTU19WQVJJQUJMRVMpICQoRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxf
UlVMRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUsp
ICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBP
UlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRF
TVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9O
KSAkKEVOQUJMRV9ESUFMT0dfRUxFTUVOVCkgJChFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCkgJChF
TkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0RSQUdHQUJMRV9SRUdJT04p
ICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAk
KEVOQUJMRV9GSUxFX1NZU1RFTSkgJChFTkFCTEVfRklMVEVSUykgJChFTkFCTEVfRk9OVF9MT0FE
X0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5B
QkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElO
RykgJChFTkFCTEVfSElHSF9EUElfQ0FOVkFTKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5B
QkxFX0lGUkFNRV9TRUFNTEVTUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVf
SU5QVVRfU1BFRUNIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0pBVkFTQ1JJ
UFRfREVCVUdHRVIpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJM
RV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykg
JChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFC
TEVfTElOS19QUkVSRU5ERVIpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfU09VUkNF
KSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVO
QUJMRV9NSFRNTCkgJChFTkFCTEVfTUlDUk9EQVRBKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NB
TEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OT1RJRklDQVRJ
T05TKSAkKEVOQUJMRV9QQUdFX1ZJU0lCSUxJVFlfQVBJKSAkKEVOQUJMRV9QREZLSVRfUExVR0lO
KSAkKEVOQUJMRV9QTFVHSU5fUFJPWFlfRk9SX1ZJREVPKSAkKEVOQUJMRV9QUk9HUkVTU19FTEVN
RU5UKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJ
U1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChF
TkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfU0NSSVBURURfU1BFRUNIKSAk
KEVOQUJMRV9TSEFET1dfRE9NKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVfU1BF
RUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1FMX0RBVEFCQVNFKSAkKEVOQUJMRV9TVFlMRV9TQ09Q
RUQpICQoRU5BQkxFX1NVQlBJWEVMX0xBWU9VVCkgJChFTkFCTEVfU1ZHKSAkKEVOQUJMRV9TVkdf
RE9NX09CSkNfQklORElOR1MpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVNUExBVEVf
RUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9URVhUX05PVElGSUNB
VElPTlNfT05MWSkgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9VU0VSU0VM
RUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9X
RUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVf
V0VCX1RJTUlORykgJChFTkFCTEVfV09SS0VSUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5B
QkxFX1hTTFQpICQoRkVBVFVSRV9ERUZJTkVTXyQoUExBVEZPUk1fTkFNRSkpOworRkVBVFVSRV9E
RUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9D
QU5WQVMpICQoRU5BQkxFX0JMT0IpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFC
TEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9N
RVNTQUdJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05f
QlJFQUspICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0VYQ0xV
U0lPTlMpICQoRU5BQkxFX0NTU19GSUxURVJTKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJ
T04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykg
JChFTkFCTEVfQ1NTX1NIQURFUlMpICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVf
Q1NTX1NUSUNLWV9QT1NJVElPTikgJChFTkFCTEVfQ1NTX1RSQU5TRk9STVNfQU5JTUFUSU9OU19V
TlBSRUZJWEVEKSAkKEVOQUJMRV9DU1NfVkFSSUFCTEVTKSAkKEVOQUJMRV9DU1MzX0NPTkRJVElP
TkFMX1JVTEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JS
RUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9I
QU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxF
TUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVN
RU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RJQUxPR19FTEVNRU5U
KSAkKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJV
Q1RPUikgJChFTkFCTEVfRFJBR0dBQkxFX1JFR0lPTikgJChFTkFCTEVfRU5DUllQVEVEX01FRElB
KSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTEVfU1lTVEVNKSAkKEVO
QUJMRV9GSUxURVJTKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NS
RUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxF
X0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9ISUdIX0RQSV9DQU5W
QVMpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSUZSQU1FX1NFQU1MRVNTKSAkKEVO
QUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTlBVVF9TUEVFQ0gpICQoRU5BQkxFX0lO
UFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFCTEVfTEVH
QUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAk
KEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElP
KSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9MSU5LX1BSRVJFTkRFUikgJChFTkFC
TEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJ
Q1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NSUNS
T0RBVEEpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NP
TlRFTlRfVVRJTFMpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBR0VfVklTSUJJ
TElUWV9BUEkpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BMVUdJTl9QUk9YWV9G
T1JfVklERU8pICQoRU5BQkxFX1BST0dSRVNTX0VMRU1FTlQpICQoRU5BQkxFX1BST1hJTUlUWV9F
VkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5B
QkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FV
RVJZKSAkKEVOQUJMRV9TQ1JJUFRFRF9TUEVFQ0gpICQoRU5BQkxFX1NIQURPV19ET00pICQoRU5B
QkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9T
UUxfREFUQUJBU0UpICQoRU5BQkxFX1NUWUxFX1NDT1BFRCkgJChFTkFCTEVfU1VCUElYRUxfTEFZ
T1VUKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUykgJChFTkFC
TEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FV
VE9TSVpJTkcpICQoRU5BQkxFX1RFWFRfTk9USUZJQ0FUSU9OU19PTkxZKSAkKEVOQUJMRV9UT1VD
SF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykg
JChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8p
ICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XT1JL
RVJTKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChGRUFUVVJFX0RFRklO
RVNfJChQTEFURk9STV9OQU1FKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJl
RGVmaW5lcy5oIGIvU291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaAppbmRleCA4OGZjZjQy
Mzc5ZGY3NjRhMjhlNDk5OTI5N2NjMDdmZDk5ZWVjNjJhLi4wNjQ2ZjdmNjFmN2UwYjc0NzIxMGMx
NzYyZmRiODA3YjY0MzAzYTRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVm
aW5lcy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgKQEAgLTE4Niw2ICsx
ODYsMTAgQEAKICNkZWZpbmUgRU5BQkxFX1dFQl9BVURJTyAxCiAjZW5kaWYKIAorI2lmICFkZWZp
bmVkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkKKyNkZWZpbmUgRU5BQkxFX0NVUlNPUl9WSVNJ
QklMSVRZIDEKKyNlbmRpZgorCiAjZW5kaWYgLyogUExBVEZPUk0oTUFDKSAmJiAhUExBVEZPUk0o
SU9TKSAqLwogCiAvKiAtLS0tLS0tLS0gQXBwbGUgV2luZG93cyBwb3J0IC0tLS0tLS0tLSAqLwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZwppbmRleCA4NmMwMjY3NzliNDM4MGZiNDM0M2FiYjU5M2Y1MjYxYjUwODNhYWJkLi40
NGQ1NDE2YTU0NjY0Njg2M2ExYzg0YWVlZTM0YzkxMTNlN2MzZjNkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9T
b3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAt
NTgsNiArNTgsNyBAQCBFTkFCTEVfQ1NTX1ZBUklBQkxFUyA9IDsKIEVOQUJMRV9DU1MzX0NPTkRJ
VElPTkFMX1JVTEVTID0gOwogRU5BQkxFX0NTUzNfVEVYVCA9IDsKIEVOQUJMRV9DU1MzX1RFWFRf
TElORV9CUkVBSyA9IDsKK0VOQUJMRV9DVVJTT1JfVklTSUJJTElUWSA9IEVOQUJMRV9DVVJTT1Jf
VklTSUJJTElUWTsKIEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIgPSA7CiBFTkFCTEVfREFT
SEJPQVJEX1NVUFBPUlQgPSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVF8kKFBMQVRGT1JNX05B
TUUpKTsKIEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVF9tYWNvc3ggPSBFTkFCTEVfREFTSEJPQVJE
X1NVUFBPUlQ7CkBAIC0xODMsNCArMTg0LDQgQEAgRU5BQkxFX1dPUktFUlMgPSBFTkFCTEVfV09S
S0VSUzsKIEVOQUJMRV9YSFJfVElNRU9VVCA9IEVOQUJMRV9YSFJfVElNRU9VVDsKIEVOQUJMRV9Y
U0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRF
UklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9CTE9CKSAkKEVO
QUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9D
QU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DU1BfTkVY
VCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfREVWSUNF
X0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19FWENMVVNJT05TKSAkKEVOQUJMRV9DU1NfRklMVEVS
UykgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVT
T0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TSEFERVJTKSAkKEVO
QUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19TVElDS1lfUE9TSVRJT04pICQoRU5B
QkxFX0NTU19UUkFOU0ZPUk1TX0FOSU1BVElPTlNfVU5QUkVGSVhFRCkgJChFTkFCTEVfQ1NTX1ZB
UklBQkxFUykgJChFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUykgJChFTkFCTEVfQ1NTM19U
RVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VTVE9NX1NDSEVN
RV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1Rf
RUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19F
TEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RJQUxPR19FTEVN
RU5UKSAkKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05T
VFJVQ1RPUikgJChFTkFCTEVfRFJBR0dBQkxFX1JFR0lPTikgJChFTkFCTEVfRU5DUllQVEVEX01F
RElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTEVfU1lTVEVNKSAk
KEVOQUJMRV9GSUxURVJTKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxM
U0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5B
QkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9ISUdIX0RQSV9D
QU5WQVMpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSUZSQU1FX1NFQU1MRVNTKSAk
KEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTlBVVF9TUEVFQ0gpICQoRU5BQkxF
X0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFCTEVf
TEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05T
KSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FV
RElPKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9MSU5LX1BSRVJFTkRFUikgJChF
TkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJ
U1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9N
SUNST0RBVEEpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9S
X0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBR0VfVklT
SUJJTElUWV9BUEkpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BMVUdJTl9QUk9Y
WV9GT1JfVklERU8pICQoRU5BQkxFX1BST0dSRVNTX0VMRU1FTlQpICQoRU5BQkxFX1BST1hJTUlU
WV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQo
RU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElB
X1FVRVJZKSAkKEVOQUJMRV9TQ1JJUFRFRF9TUEVFQ0gpICQoRU5BQkxFX1NIQURPV19ET00pICQo
RU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJM
RV9TUUxfREFUQUJBU0UpICQoRU5BQkxFX1NUWUxFX1NDT1BFRCkgJChFTkFCTEVfU1VCUElYRUxf
TEFZT1VUKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUykgJChF
TkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhU
X0FVVE9TSVpJTkcpICQoRU5BQkxFX1RFWFRfTk9USUZJQ0FUSU9OU19PTkxZKSAkKEVOQUJMRV9U
T1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURF
TykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVE
SU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9X
T1JLRVJTKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChGRUFUVVJFX0RF
RklORVNfJChQTEFURk9STV9OQU1FKSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9S
RU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQkxPQikg
JChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFC
TEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ1NQ
X05FWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0RF
VklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfRVhDTFVTSU9OUykgJChFTkFCTEVfQ1NTX0ZJ
TFRFUlMpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdF
X1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0hBREVSUykg
JChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lUSU9OKSAk
KEVOQUJMRV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1VOUFJFRklYRUQpICQoRU5BQkxFX0NT
U19WQVJJQUJMRVMpICQoRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVMpICQoRU5BQkxFX0NT
UzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9W
SVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hC
T0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RS
QU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9P
UklFTlRBVElPTikgJChFTkFCTEVfRElBTE9HX0VMRU1FTlQpICQoRU5BQkxFX0RJUkVDVE9SWV9V
UExPQUQpICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9EUkFHR0FC
TEVfUkVHSU9OKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9N
RURJQV9WMikgJChFTkFCTEVfRklMRV9TWVNURU0pICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxF
X0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1F
UEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVS
X1RIUk9UVExJTkcpICQoRU5BQkxFX0hJR0hfRFBJX0NBTlZBUykgJChFTkFCTEVfSUNPTkRBVEFC
QVNFKSAkKEVOQUJMRV9JRlJBTUVfU0VBTUxFU1MpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0Up
ICQoRU5BQkxFX0lOUFVUX1NQRUVDSCkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQo
RU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJM
RV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhF
UykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1Jf
UFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xJTktfUFJFRkVU
Q0gpICQoRU5BQkxFX0xJTktfUFJFUkVOREVSKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01F
RElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxF
TUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01JQ1JPREFUQSkgJChFTkFCTEVfTU9VU0Vf
Q1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVf
Tk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQSSkgJChFTkFCTEVfUERG
S0lUX1BMVUdJTikgJChFTkFCTEVfUExVR0lOX1BST1hZX0ZPUl9WSURFTykgJChFTkFCTEVfUFJP
R1JFU1NfRUxFTUVOVCkgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElD
X1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05f
RlJBTUUpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1NDUklQVEVE
X1NQRUVDSCkgJChFTkFCTEVfU0hBRE9XX0RPTSkgJChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQo
RU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NRTF9EQVRBQkFTRSkgJChFTkFCTEVf
U1RZTEVfU0NPUEVEKSAkKEVOQUJMRV9TVUJQSVhFTF9MQVlPVVQpICQoRU5BQkxFX1NWRykgJChF
TkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxF
X1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVEVY
VF9OT1RJRklDQVRJT05TX09OTFkpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFC
TEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykg
JChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1NPQ0tFVFMp
ICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hIUl9USU1F
T1VUKSAkKEVOQUJMRV9YU0xUKSAkKEZFQVRVUkVfREVGSU5FU18kKFBMQVRGT1JNX05BTUUpKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRp
b24uY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5j
cHAKaW5kZXggZDk5ZTgwY2QyNzkxMjVhNTA3ZjMwYTQ4ZGE5NmU0YjY1N2YxZDhlNy4uMWZkN2Rh
MzkyMzg2ZWNjOTZiMmMxMGM0MGYzZjEyM2RiNzlmOTY5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTI2Myw2ICsyNjMs
OSBAQCBzdGF0aWMgY29uc3QgQ1NTUHJvcGVydHlJRCBjb21wdXRlZFByb3BlcnRpZXNbXSA9IHsK
ICAgICBDU1NQcm9wZXJ0eVdlYmtpdENvbHVtblJ1bGVXaWR0aCwKICAgICBDU1NQcm9wZXJ0eVdl
YmtpdENvbHVtblNwYW4sCiAgICAgQ1NTUHJvcGVydHlXZWJraXRDb2x1bW5XaWR0aCwKKyNpZiBF
TkFCTEUoQ1VSU09SX1ZJU0lCSUxJVFkpCisgICAgQ1NTUHJvcGVydHlXZWJraXRDdXJzb3JWaXNp
YmlsaXR5LAorI2VuZGlmCiAjaWYgRU5BQkxFKERBU0hCT0FSRF9TVVBQT1JUKQogICAgIENTU1By
b3BlcnR5V2Via2l0RGFzaGJvYXJkUmVnaW9uLAogI2VuZGlmCkBAIC0xODQ1LDYgKzE4NDgsMTAg
QEAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRQ
cm9wZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnQKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHJl
dHVybiB2YWx1ZS5yZWxlYXNlKCk7CiAgICAgICAgIH0KKyNpZiBFTkFCTEUoQ1VSU09SX1ZJU0lC
SUxJVFkpCisgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRDdXJzb3JWaXNpYmlsaXR5Ogor
ICAgICAgICAgICAgcmV0dXJuIGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZVZhbHVlKHN0eWxlLT5jdXJz
b3JWaXNpYmlsaXR5KCkpOworI2VuZGlmCiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlEaXJlY3Rp
b246CiAgICAgICAgICAgICByZXR1cm4gY3NzVmFsdWVQb29sKCkuY3JlYXRlVmFsdWUoc3R5bGUt
PmRpcmVjdGlvbigpKTsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eURpc3BsYXk6CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQYXJzZXIuY3BwCmluZGV4IDdjNzA1YmYxNDgxYzIyMzQzNTNmNzI3ZGE5YmU1MGZhNjcw
ZDIzNzcuLjdhZmUwYjQzMjZlNzY4MjFiNWVhZmQ1MTZkMzU3OTg4NDU2MzZlNjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQYXJzZXIuY3BwCkBAIC0yMDczLDYgKzIwNzMsMTMgQEAgYm9vbCBDU1NQYXJzZXI6
OnBhcnNlVmFsdWUoQ1NTUHJvcGVydHlJRCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KQogICAgICAg
ICBicmVhazsKICAgICB9CiAKKyNpZiBFTkFCTEUoQ1VSU09SX1ZJU0lCSUxJVFkpCisgICAgY2Fz
ZSBDU1NQcm9wZXJ0eVdlYmtpdEN1cnNvclZpc2liaWxpdHk6CisgICAgICAgIGlmIChpZCA9PSBD
U1NWYWx1ZUF1dG8gfHwgaWQgPT0gQ1NTVmFsdWVBdXRvSGlkZSkKKyAgICAgICAgICAgIHZhbGlk
UHJpbWl0aXZlID0gdHJ1ZTsKKyAgICAgICAgYnJlYWs7CisjZW5kaWYKKwogICAgIGNhc2UgQ1NT
UHJvcGVydHlCYWNrZ3JvdW5kQXR0YWNobWVudDoKICAgICBjYXNlIENTU1Byb3BlcnR5QmFja2dy
b3VuZENsaXA6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEJhY2tncm91bmRDbGlwOgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKaW5kZXggNTMy
ZTk5YzI3ZmU3ZDgzN2U4MzYwNGNjYmJhMGJhYWVmZGNjNWY5Ni4uZTk2ZDY0NjY3NTU2OGRjOTI3
MTFkMmFlMjMzOTFmYTQyNDY0YmZjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJp
bWl0aXZlVmFsdWVNYXBwaW5ncy5oCkBAIC0xMTYzLDYgKzExNjMsMzQgQEAgdGVtcGxhdGU8PiBp
bmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJhdG9yIEVDdXJzb3IoKSBjb25zdAogICAgIHJl
dHVybiBzdGF0aWNfY2FzdDxFQ3Vyc29yPihtX3ZhbHVlLmlkZW50IC0gQ1NTVmFsdWVBdXRvKTsK
IH0KIAorCisjaWYgRU5BQkxFKENVUlNPUl9WSVNJQklMSVRZKQordGVtcGxhdGU8PiBpbmxpbmUg
Q1NTUHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKEN1cnNvclZpc2liaWxpdHkgZSkK
KyAgICA6IENTU1ZhbHVlKFByaW1pdGl2ZUNsYXNzKQoreworICAgIG1fcHJpbWl0aXZlVW5pdFR5
cGUgPSBDU1NfSURFTlQ7CisgICAgc3dpdGNoIChlKSB7CisgICAgY2FzZSBDVVJTT1JfVklTSUJJ
TElUWV9BVVRPOgorICAgICAgICBtX3ZhbHVlLmlkZW50ID0gQ1NTVmFsdWVBdXRvOworICAgICAg
ICBicmVhazsKKyAgICBjYXNlIENVUlNPUl9WSVNJQklMSVRZX0FVVE9fSElERToKKyAgICAgICAg
bV92YWx1ZS5pZGVudCA9IENTU1ZhbHVlQXV0b0hpZGU7CisgICAgICAgIGJyZWFrOworICAgIH0K
K30KKwordGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJhdG9yIEN1cnNv
clZpc2liaWxpdHkoKSBjb25zdAoreworICAgIGlmIChtX3ZhbHVlLmlkZW50ID09IENTU1ZhbHVl
QXV0bykKKyAgICAgICAgcmV0dXJuIENVUlNPUl9WSVNJQklMSVRZX0FVVE87CisgICAgaWYgKG1f
dmFsdWUuaWRlbnQgPT0gQ1NTVmFsdWVBdXRvSGlkZSkKKyAgICAgICAgcmV0dXJuIENVUlNPUl9W
SVNJQklMSVRZX0FVVE9fSElERTsKKworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJl
dHVybiBDVVJTT1JfVklTSUJJTElUWV9BVVRPOworfQorI2VuZGlmCisKIHRlbXBsYXRlPD4gaW5s
aW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShFRGlzcGxheSBlKQogICAg
IDogQ1NTVmFsdWUoUHJpbWl0aXZlQ2xhc3MpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUHJvcGVydHkuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmNw
cAppbmRleCA0ODk5NmE0OTZjN2QyNzY5ZmJiNmVhOTFjOGYxNGYzMzJhYTNlMGIzLi5iODExY2Q1
YmE5ZGJhOWQ1Njk1ODRkODg2NTI5MTdmMzgzYWFkZGE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUHJvcGVydHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9w
ZXJ0eS5jcHAKQEAgLTMwMiw2ICszMDIsOSBAQCBib29sIENTU1Byb3BlcnR5Ojppc0luaGVyaXRl
ZFByb3BlcnR5KENTU1Byb3BlcnR5SUQgcHJvcGVydHlJRCkKICAgICBjYXNlIENTU1Byb3BlcnR5
V2Via2l0Qm9yZGVyVmVydGljYWxTcGFjaW5nOgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRC
b3hEaXJlY3Rpb246CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdENvbG9yQ29ycmVjdGlvbjoK
KyNpZiBFTkFCTEUoQ1VSU09SX1ZJU0lCSUxJVFkpCisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtp
dEN1cnNvclZpc2liaWxpdHk6CisjZW5kaWYKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0Rm9u
dEZlYXR1cmVTZXR0aW5nczoKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0Rm9udEtlcm5pbmc6
CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEZvbnRTbW9vdGhpbmc6CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQcm9wZXJ0eU5hbWVzLmluCmluZGV4IGM3ODQ1ZWY1MTU4ODM0ZWIyNTMyMTg4ZmU3ZWU0
YzIwNzc3M2JjMzAuLjUzZjJkNTkyMDgwMDQwNTg5NDFlZWViMjAzYTMyZjU5MGI1MDdhY2IgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCkBAIC0xMDAsNiArMTAwLDkgQEAg
Y29udGVudAogY291bnRlci1pbmNyZW1lbnQKIGNvdW50ZXItcmVzZXQKIGN1cnNvcgorI2lmIGRl
ZmluZWQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAmJiBFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJ
VFkKKy13ZWJraXQtY3Vyc29yLXZpc2liaWxpdHkKKyNlbmRpZgogZW1wdHktY2VsbHMKIGZsb2F0
CiBmb250LXN0cmV0Y2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtl
eXdvcmRzLmluIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KaW5kZXgg
NzU5MjZmNjI3YTM3ZjIwNmYxMTRmMTZhNzc3MjllOGZkOTM2ZTgwYi4uZjg0MDJjNWM2YjAwYjhl
Zjg0OGJkMTU0MGM5OGFlYTdkYTYzODQzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1ZhbHVlS2V5d29yZHMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5
d29yZHMuaW4KQEAgLTM3Nyw2ICszNzcsMTAgQEAgYWxsLXNjcm9sbAogLXdlYmtpdC1ncmFiYmlu
ZwogLy8gbm9uZQogLy8KKy8vIENTU19QUk9QX0NVUlNPUl9WSVNJQklMSVRZOgorLy8gYXV0bwor
YXV0by1oaWRlCisvLwogLy8gQ1NTX1BST1BfRElSRUNUSU9OOgogLy8KIGx0cgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvU3R5bGVCdWlsZGVyLmNwcAppbmRleCA0ZDg3OGIyZTliMzI1ZTI1ZWUzNmFkOGNiZjJiMjAw
ZjJmMzgyMTBhLi4yMjYxNWNlZDM3MjcyNWExNDRlODc0ZjhhMmJkMTUzNzgwMjI1YjhkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyLmNwcApAQCAtMTk4MSw2ICsxOTgxLDkgQEAgU3R5bGVC
dWlsZGVyOjpTdHlsZUJ1aWxkZXIoKQogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0
eVdlYmtpdENvbHVtblNwYW4sIEFwcGx5UHJvcGVydHlEZWZhdWx0PENvbHVtblNwYW4sICZSZW5k
ZXJTdHlsZTo6Y29sdW1uU3BhbiwgQ29sdW1uU3BhbiwgJlJlbmRlclN0eWxlOjpzZXRDb2x1bW5T
cGFuLCBDb2x1bW5TcGFuLCAmUmVuZGVyU3R5bGU6OmluaXRpYWxDb2x1bW5TcGFuPjo6Y3JlYXRl
SGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRDb2x1
bW5SdWxlU3R5bGUsIEFwcGx5UHJvcGVydHlEZWZhdWx0PEVCb3JkZXJTdHlsZSwgJlJlbmRlclN0
eWxlOjpjb2x1bW5SdWxlU3R5bGUsIEVCb3JkZXJTdHlsZSwgJlJlbmRlclN0eWxlOjpzZXRDb2x1
bW5SdWxlU3R5bGUsIEVCb3JkZXJTdHlsZSwgJlJlbmRlclN0eWxlOjppbml0aWFsQm9yZGVyU3R5
bGU+OjpjcmVhdGVIYW5kbGVyKCkpOwogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0
eVdlYmtpdENvbHVtbldpZHRoLCBBcHBseVByb3BlcnR5QXV0bzxmbG9hdCwgJlJlbmRlclN0eWxl
Ojpjb2x1bW5XaWR0aCwgJlJlbmRlclN0eWxlOjpzZXRDb2x1bW5XaWR0aCwgJlJlbmRlclN0eWxl
OjpoYXNBdXRvQ29sdW1uV2lkdGgsICZSZW5kZXJTdHlsZTo6c2V0SGFzQXV0b0NvbHVtbldpZHRo
LCBDb21wdXRlTGVuZ3RoPjo6Y3JlYXRlSGFuZGxlcigpKTsKKyNpZiBFTkFCTEUoQ1VSU09SX1ZJ
U0lCSUxJVFkpCisgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0Q3Vyc29y
VmlzaWJpbGl0eSwgQXBwbHlQcm9wZXJ0eURlZmF1bHQ8Q3Vyc29yVmlzaWJpbGl0eSwgJlJlbmRl
clN0eWxlOjpjdXJzb3JWaXNpYmlsaXR5LCBDdXJzb3JWaXNpYmlsaXR5LCAmUmVuZGVyU3R5bGU6
OnNldEN1cnNvclZpc2liaWxpdHksIEN1cnNvclZpc2liaWxpdHksICZSZW5kZXJTdHlsZTo6aW5p
dGlhbEN1cnNvclZpc2liaWxpdHk+OjpjcmVhdGVIYW5kbGVyKCkpOworI2VuZGlmCiAgICAgc2V0
UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0QWxpZ25Db250ZW50LCBBcHBseVByb3Bl
cnR5RGVmYXVsdDxFQWxpZ25Db250ZW50LCAmUmVuZGVyU3R5bGU6OmFsaWduQ29udGVudCwgRUFs
aWduQ29udGVudCwgJlJlbmRlclN0eWxlOjpzZXRBbGlnbkNvbnRlbnQsIEVBbGlnbkNvbnRlbnQs
ICZSZW5kZXJTdHlsZTo6aW5pdGlhbEFsaWduQ29udGVudD46OmNyZWF0ZUhhbmRsZXIoKSk7CiAg
ICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0QWxpZ25JdGVtcywgQXBwbHlQ
cm9wZXJ0eURlZmF1bHQ8RUFsaWduSXRlbXMsICZSZW5kZXJTdHlsZTo6YWxpZ25JdGVtcywgRUFs
aWduSXRlbXMsICZSZW5kZXJTdHlsZTo6c2V0QWxpZ25JdGVtcywgRUFsaWduSXRlbXMsICZSZW5k
ZXJTdHlsZTo6aW5pdGlhbEFsaWduSXRlbXM+OjpjcmVhdGVIYW5kbGVyKCkpOwogICAgIHNldFBy
b3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdEFsaWduU2VsZiwgQXBwbHlQcm9wZXJ0eURl
ZmF1bHQ8RUFsaWduSXRlbXMsICZSZW5kZXJTdHlsZTo6YWxpZ25TZWxmLCBFQWxpZ25JdGVtcywg
JlJlbmRlclN0eWxlOjpzZXRBbGlnblNlbGYsIEVBbGlnbkl0ZW1zLCAmUmVuZGVyU3R5bGU6Omlu
aXRpYWxBbGlnblNlbGY+OjpjcmVhdGVIYW5kbGVyKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVz
b2x2ZXIuY3BwCmluZGV4IGQxNjUxZDVkOTViZjMxM2UwOTcwM2EwNDI5YWRkOWM1ZDliYzIwMjMu
LjJiOGUzNWU1YmRlNTJhOGYyYjJkY2Y2ZTllMDM5ZTc2YjIwMWQ0ODYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvU3R5bGVSZXNvbHZlci5jcHAKQEAgLTM3NjAsNiArMzc2MCw5IEBAIHZvaWQgU3R5bGVSZXNv
bHZlcjo6YXBwbHlQcm9wZXJ0eShDU1NQcm9wZXJ0eUlEIGlkLCBDU1NWYWx1ZSogdmFsdWUpCiAg
ICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdENvbHVtbnM6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdl
YmtpdENvbHVtblNwYW46CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdENvbHVtbldpZHRoOgor
I2lmIEVOQUJMRShDVVJTT1JfVklTSUJJTElUWSkKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0
Q3Vyc29yVmlzaWJpbGl0eToKKyNlbmRpZgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRBbGln
bkNvbnRlbnQ6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEFsaWduSXRlbXM6CiAgICAgY2Fz
ZSBDU1NQcm9wZXJ0eVdlYmtpdEFsaWduU2VsZjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9mdWxsc2NyZWVuLmNzcyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9mdWxsc2NyZWVuLmNzcwpp
bmRleCAxMjc2NzBiMDc2ZTZlZTM2ZjQ3NGNlYWM4YjlkZWU0Njk5ZGIwYTgzLi5iZTdkZjU4MGRi
ZDk1YmEwZWE2NmQ4YTM4NTkzODkyMTA4MzU4NDRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvZnVsbHNjcmVlbi5jc3MKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL2Z1bGxzY3JlZW4u
Y3NzCkBAIC0zMSw2ICszMSwxMCBAQCB2aWRlbzotd2Via2l0LWZ1bGwtc2NyZWVuLCBhdWRpbzot
d2Via2l0LWZ1bGwtc2NyZWVuIHsKICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OwogfQog
Cis6LXdlYmtpdC1mdWxsLXNjcmVlbiB2aWRlbzpob3ZlciB7CisgICAgLXdlYmtpdC1jdXJzb3It
dmlzaWJpbGl0eTphdXRvLWhpZGU7Cit9CisKIGltZzotd2Via2l0LWZ1bGwtc2NyZWVuIHsKICAg
ICB3aWR0aDogYXV0bzsKICAgICBoZWlnaHQ6IDEwMCU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
c2hhZG93L01lZGlhQ29udHJvbHMuY3BwCmluZGV4IDM4MTRkZWQxNmIwZjAxNDdkMmMzZGNjM2M2
YTdkNjg4ODg4ZjdiZWMuLjg4M2E4M2E1ZjQ4NWZhMDdjNDFlMzg2M2MyYmE3ZmU2MzU4ODFiMTMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHMuY3BwCkBAIC0z
MCw2ICszMCw3IEBACiAjaW5jbHVkZSAiTWVkaWFDb250cm9scy5oIgogCiAjaW5jbHVkZSAiRXhj
ZXB0aW9uQ29kZVBsYWNlaG9sZGVyLmgiCisjaW5jbHVkZSAiU2V0dGluZ3MuaCIKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCkBAIC0zNDQsNyArMzQ1LDcgQEAgdm9pZCBNZWRpYUNvbnRyb2xzOjpz
dGFydEhpZGVGdWxsc2NyZWVuQ29udHJvbHNUaW1lcigpCiAgICAgaWYgKCFwYWdlKQogICAgICAg
ICByZXR1cm47CiAKLSAgICBtX2hpZGVGdWxsc2NyZWVuQ29udHJvbHNUaW1lci5zdGFydE9uZVNo
b3QocGFnZS0+dGhlbWUoKS0+dGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29u
dHJvbHMoKSk7CisgICAgbV9oaWRlRnVsbHNjcmVlbkNvbnRyb2xzVGltZXIuc3RhcnRPbmVTaG90
KHBhZ2UtPnNldHRpbmdzKCktPnRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0Nv
bnRyb2xzKCkpOwogfQogCiB2b2lkIE1lZGlhQ29udHJvbHM6OnN0b3BIaWRlRnVsbHNjcmVlbkNv
bnRyb2xzVGltZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRs
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4IDQzNmJi
MzUyMDYxNDgxN2NkMTdiMjJlMmFhZjdlNjk5N2JiZjM0OTIuLjY0MmMzMWNjOGNjZDNmNDljYjdk
MzM2Y2QyZWZkNTZlOWE2MjYwMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZl
bnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAK
QEAgLTcyLDYgKzcyLDcgQEAKICNpbmNsdWRlICJSZW5kZXJGcmFtZVNldC5oIgogI2luY2x1ZGUg
IlJlbmRlckxheWVyLmgiCiAjaW5jbHVkZSAiUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmgi
CisjaW5jbHVkZSAiUmVuZGVyVGhlbWUuaCIKICNpbmNsdWRlICJSZW5kZXJWaWV3LmgiCiAjaW5j
bHVkZSAiUmVuZGVyV2lkZ2V0LmgiCiAjaW5jbHVkZSAiU2Nyb2xsQW5pbWF0b3IuaCIKQEAgLTM0
OSwxMiArMzUwLDE4IEBAIEV2ZW50SGFuZGxlcjo6RXZlbnRIYW5kbGVyKEZyYW1lKiBmcmFtZSkK
ICAgICAsIG1fYmFzZUV2ZW50VHlwZShQbGF0Zm9ybUV2ZW50OjpOb1R5cGUpCiAgICAgLCBtX2Rp
ZFN0YXJ0RHJhZyhmYWxzZSkKICAgICAsIG1fZGlkTG9uZ1ByZXNzSW52b2tlQ29udGV4dE1lbnUo
ZmFsc2UpCisjaWYgRU5BQkxFKENVUlNPUl9WSVNJQklMSVRZKQorICAgICwgbV9hdXRvSGlkZUN1
cnNvclRpbWVyKHRoaXMsICZFdmVudEhhbmRsZXI6OmF1dG9IaWRlQ3Vyc29yVGltZXJGaXJlZCkK
KyNlbmRpZgogewogfQogCiBFdmVudEhhbmRsZXI6On5FdmVudEhhbmRsZXIoKQogewogICAgIEFT
U0VSVCghbV9mYWtlTW91c2VNb3ZlRXZlbnRUaW1lci5pc0FjdGl2ZSgpKTsKKyNpZiBFTkFCTEUo
Q1VSU09SX1ZJU0lCSUxJVFkpCisgICAgQVNTRVJUKCFtX2F1dG9IaWRlQ3Vyc29yVGltZXIuaXNB
Y3RpdmUoKSk7CisjZW5kaWYKIH0KICAgICAKICNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQpAQCAt
MzY5LDYgKzM3Niw5IEBAIHZvaWQgRXZlbnRIYW5kbGVyOjpjbGVhcigpCiB7CiAgICAgbV9ob3Zl
clRpbWVyLnN0b3AoKTsKICAgICBtX2Zha2VNb3VzZU1vdmVFdmVudFRpbWVyLnN0b3AoKTsKKyNp
ZiBFTkFCTEUoQ1VSU09SX1ZJU0lCSUxJVFkpCisgICAgY2FuY2VsQXV0b0hpZGVDdXJzb3JUaW1l
cigpOworI2VuZGlmCiAgICAgbV9yZXNpemVMYXllciA9IDA7CiAgICAgbV9ub2RlVW5kZXJNb3Vz
ZSA9IDA7CiAgICAgbV9sYXN0Tm9kZVVuZGVyTW91c2UgPSAwOwpAQCAtMTIzMyw2ICsxMjQzLDE0
IEBAIE9wdGlvbmFsQ3Vyc29yIEV2ZW50SGFuZGxlcjo6c2VsZWN0Q3Vyc29yKGNvbnN0IE1vdXNl
RXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMmIGV2CiAgICAgYm9vbCBob3Jpem9udGFsVGV4dCA9ICFz
dHlsZSB8fCBzdHlsZS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKTsKICAgICBjb25zdCBDdXJz
b3ImIGlCZWFtID0gaG9yaXpvbnRhbFRleHQgPyBpQmVhbUN1cnNvcigpIDogdmVydGljYWxUZXh0
Q3Vyc29yKCk7CiAKKyNpZiBFTkFCTEUoQ1VSU09SX1ZJU0lCSUxJVFkpCisgICAgaWYgKHN0eWxl
ICYmIHN0eWxlLT5jdXJzb3JWaXNpYmlsaXR5KCkgPT0gQ1VSU09SX1ZJU0lCSUxJVFlfQVVUT19I
SURFKSB7CisgICAgICAgIEZlYXR1cmVPYnNlcnZlcjo6b2JzZXJ2ZShtX2ZyYW1lLT5kb2N1bWVu
dCgpLCBGZWF0dXJlT2JzZXJ2ZXI6OkN1cnNvclZpc2liaWxpdHkpOworICAgICAgICBzdGFydEF1
dG9IaWRlQ3Vyc29yVGltZXIoKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY2FuY2VsQXV0b0hpZGVD
dXJzb3JUaW1lcigpOworI2VuZGlmCisKICAgICAvLyBEdXJpbmcgc2VsZWN0aW9uLCB1c2UgYW4g
SS1iZWFtIG5vIG1hdHRlciB3aGF0IHdlJ3JlIG92ZXIuCiAgICAgLy8gSWYgYSBkcmFnIG1heSBi
ZSBzdGFydGluZyBvciB3ZSdyZSBjYXB0dXJpbmcgbW91c2UgZXZlbnRzIGZvciBhIHBhcnRpY3Vs
YXIgbm9kZSwgZG9uJ3QgdHJlYXQgdGhpcyBhcyBhIHNlbGVjdGlvbi4KICAgICBpZiAobV9tb3Vz
ZVByZXNzZWQgJiYgbV9tb3VzZURvd25NYXlTdGFydFNlbGVjdApAQCAtMTM4MSw2ICsxMzk5LDM3
IEBAIE9wdGlvbmFsQ3Vyc29yIEV2ZW50SGFuZGxlcjo6c2VsZWN0Q3Vyc29yKGNvbnN0IE1vdXNl
RXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMmIGV2CiAgICAgcmV0dXJuIHBvaW50ZXJDdXJzb3IoKTsK
IH0KIAorI2lmIEVOQUJMRShDVVJTT1JfVklTSUJJTElUWSkKK3ZvaWQgRXZlbnRIYW5kbGVyOjpz
dGFydEF1dG9IaWRlQ3Vyc29yVGltZXIoKQoreworICAgIFBhZ2UqIHBhZ2UgPSBtX2ZyYW1lLT5w
YWdlKCk7CisgICAgaWYgKCFwYWdlKQorICAgICAgICByZXR1cm47CisKKyAgICBtX2F1dG9IaWRl
Q3Vyc29yVGltZXIuc3RhcnRPbmVTaG90KHBhZ2UtPnNldHRpbmdzKCktPnRpbWVXaXRob3V0TW91
c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKCkpOworCisgICAgLy8gVGhlIGZha2UgbW91
c2UgbW92ZSBldmVudCBzY3Jld3MgdXAgdGhlIGF1dG8taGlkZSBmZWF0dXJlIChieSByZXNldHRp
bmcgdGhlIGF1dG8taGlkZSB0aW1lcikKKyAgICAvLyBzbyBjYW5jZWwgYW55IHBlbmRpbmcgZmFr
ZSBtb3VzZSBtb3Zlcy4KKyAgICBpZiAobV9mYWtlTW91c2VNb3ZlRXZlbnRUaW1lci5pc0FjdGl2
ZSgpKQorICAgICAgICBtX2Zha2VNb3VzZU1vdmVFdmVudFRpbWVyLnN0b3AoKTsKK30KKwordm9p
ZCBFdmVudEhhbmRsZXI6OmNhbmNlbEF1dG9IaWRlQ3Vyc29yVGltZXIoKQoreworICAgIGlmICht
X2F1dG9IaWRlQ3Vyc29yVGltZXIuaXNBY3RpdmUoKSkKKyAgICAgICAgbV9hdXRvSGlkZUN1cnNv
clRpbWVyLnN0b3AoKTsKK30KKwordm9pZCBFdmVudEhhbmRsZXI6OmF1dG9IaWRlQ3Vyc29yVGlt
ZXJGaXJlZChUaW1lcjxFdmVudEhhbmRsZXI+KiB0aW1lcikKK3sKKyAgICBBU1NFUlRfVU5VU0VE
KHRpbWVyLCB0aW1lciA9PSAmbV9hdXRvSGlkZUN1cnNvclRpbWVyKTsKKyAgICBtX2N1cnJlbnRN
b3VzZUN1cnNvciA9IG5vbmVDdXJzb3IoKTsKKyAgICBGcmFtZVZpZXcqIHZpZXcgPSBtX2ZyYW1l
LT52aWV3KCk7CisgICAgaWYgKHZpZXcgJiYgdmlldy0+aXNBY3RpdmUoKSkKKyAgICAgICAgdmll
dy0+c2V0Q3Vyc29yKG1fY3VycmVudE1vdXNlQ3Vyc29yKTsKK30KKyNlbmRpZgorCiBzdGF0aWMg
TGF5b3V0UG9pbnQgZG9jdW1lbnRQb2ludEZvcldpbmRvd1BvaW50KEZyYW1lKiBmcmFtZSwgY29u
c3QgSW50UG9pbnQmIHdpbmRvd1BvaW50KQogewogICAgIEZyYW1lVmlldyogdmlldyA9IGZyYW1l
LT52aWV3KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaAppbmRleCBhMWUwMjJlZGE4OGRl
OGY2OWQzZmY3NGMwMGE1ZWQ5MzAyN2I4NjVlLi40OGEwMzk3ZjM3MmI2NjhmYmYzNWQ2MTdjNzJk
NDAxYWNlNTljMTAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKQEAgLTM4OCw2ICsz
ODgsMTIgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgc2V0TGFzdEtub3duTW91c2VQb3NpdGlvbihj
b25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmKTsKIAorI2lmIEVOQUJMRShDVVJTT1JfVklTSUJJTElU
WSkKKyAgICB2b2lkIHN0YXJ0QXV0b0hpZGVDdXJzb3JUaW1lcigpOworICAgIHZvaWQgY2FuY2Vs
QXV0b0hpZGVDdXJzb3JUaW1lcigpOworICAgIHZvaWQgYXV0b0hpZGVDdXJzb3JUaW1lckZpcmVk
KFRpbWVyPEV2ZW50SGFuZGxlcj4qKTsKKyNlbmRpZgorCiAgICAgRnJhbWUqIG1fZnJhbWU7CiAK
ICAgICBib29sIG1fbW91c2VQcmVzc2VkOwpAQCAtNDgzLDYgKzQ4OSwxMCBAQCBwcml2YXRlOgog
ICAgIFBsYXRmb3JtRXZlbnQ6OlR5cGUgbV9iYXNlRXZlbnRUeXBlOwogICAgIGJvb2wgbV9kaWRT
dGFydERyYWc7CiAgICAgYm9vbCBtX2RpZExvbmdQcmVzc0ludm9rZUNvbnRleHRNZW51OworCisj
aWYgRU5BQkxFKENVUlNPUl9WSVNJQklMSVRZKQorICAgIFRpbWVyPEV2ZW50SGFuZGxlcj4gbV9h
dXRvSGlkZUN1cnNvclRpbWVyOworI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZlYXR1cmVPYnNlcnZlci5oIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9GZWF0dXJlT2JzZXJ2ZXIuaAppbmRleCA3MDEyM2MzZTQ5ZjUyN2Q3
ZDc4NWI5NDVkYzBlYTg5YjE1OWVmY2YxLi5mNjFmZGU5NGExYzA2MjVmZjI1OTQ5OTEwYTQ2OGIy
Nzg1NmYzODBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZlYXR1cmVPYnNlcnZl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRmVhdHVyZU9ic2VydmVyLmgKQEAgLTk5LDYg
Kzk5LDcgQEAgcHVibGljOgogICAgICAgICBIVE1MTWFycXVlZUVsZW1lbnQsCiAgICAgICAgIENT
U092ZXJmbG93TWFycXVlZSwKICAgICAgICAgUmVmbGVjdGlvbiwKKyAgICAgICAgQ3Vyc29yVmlz
aWJpbGl0eSwKICAgICAgICAgLy8gQWRkIG5ldyBmZWF0dXJlcyBhYm92ZSB0aGlzIGxpbmUuIERv
bid0IGNoYW5nZSBhc3NpZ25lZCBudW1iZXJzIG9mIGVhY2ggaXRlbXMuCiAgICAgICAgIE51bWJl
ck9mRmVhdHVyZXMsIC8vIFRoaXMgZW51bSB2YWx1ZSBtdXN0IGJlIGxhc3QuCiAgICAgfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0ZyYW1lVmlldy5oCmluZGV4IGMwNjE4MzhlNmIyYzc3NTQwMWZjMjcxYjRkZjAxZmJk
ZGFiZTJkYzAuLjlmY2Q4NzQyZjlkMWMzMzIwMDBhOTU5NTY3OWI5MGU4MzQ5ZWMyOGYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZVZpZXcuaApAQCAtMzk3LDYgKzM5Nyw4IEBAIHB1YmxpYzoKICAgICB2b2lk
IHNldEluaXRpYWxWaWV3cG9ydFNpemUoY29uc3QgSW50U2l6ZSYgc2l6ZSkgeyBtX2luaXRpYWxW
aWV3cG9ydFNpemUgPSBzaXplOyB9CiAjZW5kaWYKIAorICAgIHZpcnR1YWwgYm9vbCBpc0FjdGl2
ZSgpIGNvbnN0IE9WRVJSSURFOworCiBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCBib29sIHNjcm9s
bENvbnRlbnRzRmFzdFBhdGgoY29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEsIGNvbnN0IEludFJl
Y3QmIHJlY3RUb1Njcm9sbCwgY29uc3QgSW50UmVjdCYgY2xpcFJlY3QpOwogICAgIHZpcnR1YWwg
dm9pZCBzY3JvbGxDb250ZW50c1Nsb3dQYXRoKGNvbnN0IEludFJlY3QmIHVwZGF0ZVJlY3QpOwpA
QCAtNDQ2LDcgKzQ0OCw2IEBAIHByaXZhdGU6CiAKICAgICAvLyBTY3JvbGxhYmxlQXJlYSBpbnRl
cmZhY2UKICAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZVNjcm9sbGJhclJlY3QoU2Nyb2xsYmFy
KiwgY29uc3QgSW50UmVjdCYpIE9WRVJSSURFOwotICAgIHZpcnR1YWwgYm9vbCBpc0FjdGl2ZSgp
IGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBnZXRUaWNrbWFya3MoVmVjdG9yPElu
dFJlY3Q+JikgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHNjcm9sbFRvKGNvbnN0
IEludFNpemUmKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0VmlzaWJsZVNjcm9sbGVy
VGh1bWJSZWN0KGNvbnN0IEludFJlY3QmKSBPVkVSUklERTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5j
cHAKaW5kZXggY2Q1NWI0OWVmMDkwOWI3YTIzYTUwNDc1MDgzZTUzZGI3MzM5YTA0YS4uNDMzYzE0
ZmFhMGZlMmI3ODhmYjAzOWQ5YjgwMjg2NmU1YWU1ZDcxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5n
cy5jcHAKQEAgLTE4NCw2ICsxODQsNyBAQCBTZXR0aW5nczo6U2V0dGluZ3MoUGFnZSogcGFnZSkK
ICNlbmRpZgogICAgICwgbV9zY3JvbGxpbmdQZXJmb3JtYW5jZUxvZ2dpbmdFbmFibGVkKGZhbHNl
KQogICAgICwgbV9hZ2dyZXNzaXZlVGlsZVJldGVudGlvbkVuYWJsZWQoZmFsc2UpCisgICAgLCBt
X3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKDMpCiAgICAgLCBt
X3NldEltYWdlTG9hZGluZ1NldHRpbmdzVGltZXIodGhpcywgJlNldHRpbmdzOjppbWFnZUxvYWRp
bmdTZXR0aW5nc1RpbWVyRmlyZWQpCiB7CiAgICAgLy8gQSBGcmFtZSBtYXkgbm90IGhhdmUgYmVl
biBjcmVhdGVkIHlldCwgc28gd2UgaW5pdGlhbGl6ZSB0aGUgQXRvbWljU3RyaW5nCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1NldHRpbmdzLmgKaW5kZXggMjVhZDhkOGQ4YjEzMTdhOGJjYzlhYzcwMTljMDllMzVkZTlhNGFi
NS4uNGNkZWU1MzVjYWE1MGVlOTBkZjU2MDRkMTA5NDNlYmY5Y2FjZjZmOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
U2V0dGluZ3MuaApAQCAtMjY0LDYgKzI2NCw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAg
ICAgc3RhdGljIGJvb2wgc2hvdWxkUmVzcGVjdFByaW9yaXR5SW5DU1NBdHRyaWJ1dGVTZXR0ZXJz
KCk7CiAjZW5kaWYKIAorICAgICAgICB2b2lkIHNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJl
Zm9yZUhpZGluZ0NvbnRyb2xzKGRvdWJsZSB0aW1lKSB7IG1fdGltZVdpdGhvdXRNb3VzZU1vdmVt
ZW50QmVmb3JlSGlkaW5nQ29udHJvbHMgPSB0aW1lOyB9CisgICAgICAgIGRvdWJsZSB0aW1lV2l0
aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scygpIGNvbnN0IHsgcmV0dXJuIG1f
dGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHM7IH0KKwogICAgIHBy
aXZhdGU6CiAgICAgICAgIGV4cGxpY2l0IFNldHRpbmdzKFBhZ2UqKTsKIApAQCAtMzIwLDYgKzMy
Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgYm9vbCBtX3Njcm9sbGluZ1BlcmZv
cm1hbmNlTG9nZ2luZ0VuYWJsZWQgOiAxOwogICAgICAgICBib29sIG1fYWdncmVzc2l2ZVRpbGVS
ZXRlbnRpb25FbmFibGVkIDogMTsKIAorICAgICAgICBkb3VibGUgbV90aW1lV2l0aG91dE1vdXNl
TW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9sczsKKwogICAgICAgICBUaW1lcjxTZXR0aW5ncz4g
bV9zZXRJbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyOwogICAgICAgICB2b2lkIGltYWdlTG9hZGlu
Z1NldHRpbmdzVGltZXJGaXJlZChUaW1lcjxTZXR0aW5ncz4qKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGhlbWUuaAppbmRleCA4MTE2YmEzMThkZDFiM2MzNDY1YzBiYjQwZjRmOTZj
YjlmZTc5ODJiLi41NTVhYzUwNzY5NmI1ZTZjMjJjZTc4Y2M4OTBmYzU3NGFjOWNhMDNiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaApAQCAtMjA1LDcgKzIwNSw2IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgdXNlc1ZlcnRpY2FsVm9sdW1lU2xpZGVyKCkgY29uc3Qg
eyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgZG91YmxlIG1lZGlhQ29udHJvbHNGYWRlSW5E
dXJhdGlvbigpIHsgcmV0dXJuIDAuMTsgfQogICAgIHZpcnR1YWwgZG91YmxlIG1lZGlhQ29udHJv
bHNGYWRlT3V0RHVyYXRpb24oKSB7IHJldHVybiAwLjM7IH0KLSAgICB2aXJ0dWFsIGRvdWJsZSB0
aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scygpIHsgcmV0dXJuIDMu
MDsgfQogICAgIHZpcnR1YWwgU3RyaW5nIGZvcm1hdE1lZGlhQ29udHJvbHNUaW1lKGZsb2F0IHRp
bWUpIGNvbnN0OwogICAgIHZpcnR1YWwgU3RyaW5nIGZvcm1hdE1lZGlhQ29udHJvbHNDdXJyZW50
VGltZShmbG9hdCBjdXJyZW50VGltZSwgZmxvYXQgZHVyYXRpb24pIGNvbnN0OwogICAgIHZpcnR1
YWwgU3RyaW5nIGZvcm1hdE1lZGlhQ29udHJvbHNSZW1haW5pbmdUaW1lKGZsb2F0IGN1cnJlbnRU
aW1lLCBmbG9hdCBkdXJhdGlvbikgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9SZW5kZXJTdHlsZS5oCmluZGV4IDkwMzViODI5ODAxMzg0OGNjM2M2NDQ3MDY5NzZkMGRk
NjA5OTY5NDUuLjEyNzY1NTM3ZTg2MWU3YjI2YmFhNGNhNDQ4YjdiODFlMjU5MWZiZWIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBAIC0xNjYsNiAr
MTY2LDkgQEAgcHJvdGVjdGVkOgogICAgICAgICAgICAgICAgICYmIChfdGV4dF90cmFuc2Zvcm0g
PT0gb3RoZXIuX3RleHRfdHJhbnNmb3JtKQogICAgICAgICAgICAgICAgICYmIChfdGV4dF9kZWNv
cmF0aW9ucyA9PSBvdGhlci5fdGV4dF9kZWNvcmF0aW9ucykKICAgICAgICAgICAgICAgICAmJiAo
X2N1cnNvcl9zdHlsZSA9PSBvdGhlci5fY3Vyc29yX3N0eWxlKQorI2lmIEVOQUJMRShDVVJTT1Jf
VklTSUJJTElUWSkKKyAgICAgICAgICAgICAgICAmJiAobV9jdXJzb3JWaXNpYmlsaXR5ID09IG90
aGVyLm1fY3Vyc29yVmlzaWJpbGl0eSkKKyNlbmRpZgogICAgICAgICAgICAgICAgICYmIChfZGly
ZWN0aW9uID09IG90aGVyLl9kaXJlY3Rpb24pCiAgICAgICAgICAgICAgICAgJiYgKF93aGl0ZV9z
cGFjZSA9PSBvdGhlci5fd2hpdGVfc3BhY2UpCiAgICAgICAgICAgICAgICAgJiYgKF9ib3JkZXJf
Y29sbGFwc2UgPT0gb3RoZXIuX2JvcmRlcl9jb2xsYXBzZSkKQEAgLTE4OCw2ICsxOTEsOSBAQCBw
cm90ZWN0ZWQ6CiAgICAgICAgIHVuc2lnbmVkIF90ZXh0X3RyYW5zZm9ybSA6IDI7IC8vIEVUZXh0
VHJhbnNmb3JtCiAgICAgICAgIHVuc2lnbmVkIF90ZXh0X2RlY29yYXRpb25zIDogRVRleHREZWNv
cmF0aW9uQml0czsKICAgICAgICAgdW5zaWduZWQgX2N1cnNvcl9zdHlsZSA6IDY7IC8vIEVDdXJz
b3IKKyNpZiBFTkFCTEUoQ1VSU09SX1ZJU0lCSUxJVFkpCisgICAgICAgIHVuc2lnbmVkIG1fY3Vy
c29yVmlzaWJpbGl0eSA6IDE7IC8vIEN1cnNvclZpc2liaWxpdHkKKyNlbmRpZgogICAgICAgICB1
bnNpZ25lZCBfZGlyZWN0aW9uIDogMTsgLy8gVGV4dERpcmVjdGlvbgogICAgICAgICB1bnNpZ25l
ZCBfd2hpdGVfc3BhY2UgOiAzOyAvLyBFV2hpdGVTcGFjZQogICAgICAgICAvLyAzMiBiaXRzCkBA
IC0yOTMsNiArMjk5LDkgQEAgcHJvdGVjdGVkOgogICAgICAgICBpbmhlcml0ZWRfZmxhZ3MuX3Rl
eHRfdHJhbnNmb3JtID0gaW5pdGlhbFRleHRUcmFuc2Zvcm0oKTsKICAgICAgICAgaW5oZXJpdGVk
X2ZsYWdzLl90ZXh0X2RlY29yYXRpb25zID0gaW5pdGlhbFRleHREZWNvcmF0aW9uKCk7CiAgICAg
ICAgIGluaGVyaXRlZF9mbGFncy5fY3Vyc29yX3N0eWxlID0gaW5pdGlhbEN1cnNvcigpOworI2lm
IEVOQUJMRShDVVJTT1JfVklTSUJJTElUWSkKKyAgICAgICAgaW5oZXJpdGVkX2ZsYWdzLm1fY3Vy
c29yVmlzaWJpbGl0eSA9IGluaXRpYWxDdXJzb3JWaXNpYmlsaXR5KCk7CisjZW5kaWYKICAgICAg
ICAgaW5oZXJpdGVkX2ZsYWdzLl9kaXJlY3Rpb24gPSBpbml0aWFsRGlyZWN0aW9uKCk7CiAgICAg
ICAgIGluaGVyaXRlZF9mbGFncy5fd2hpdGVfc3BhY2UgPSBpbml0aWFsV2hpdGVTcGFjZSgpOwog
ICAgICAgICBpbmhlcml0ZWRfZmxhZ3MuX2JvcmRlcl9jb2xsYXBzZSA9IGluaXRpYWxCb3JkZXJD
b2xsYXBzZSgpOwpAQCAtNzAwLDYgKzcwOSw5IEBAIHB1YmxpYzoKICAgICBMZW5ndGggcGFkZGlu
Z0VuZCgpIGNvbnN0IHsgcmV0dXJuIHN1cnJvdW5kLT5wYWRkaW5nLmVuZCh3cml0aW5nTW9kZSgp
LCBkaXJlY3Rpb24oKSk7IH0KIAogICAgIEVDdXJzb3IgY3Vyc29yKCkgY29uc3QgeyByZXR1cm4g
c3RhdGljX2Nhc3Q8RUN1cnNvcj4oaW5oZXJpdGVkX2ZsYWdzLl9jdXJzb3Jfc3R5bGUpOyB9Cisj
aWYgRU5BQkxFKENVUlNPUl9WSVNJQklMSVRZKQorICAgIEN1cnNvclZpc2liaWxpdHkgY3Vyc29y
VmlzaWJpbGl0eSgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEN1cnNvclZpc2liaWxpdHk+
KGluaGVyaXRlZF9mbGFncy5tX2N1cnNvclZpc2liaWxpdHkpOyB9CisjZW5kaWYKIAogICAgIEN1
cnNvckxpc3QqIGN1cnNvcnMoKSBjb25zdCB7IHJldHVybiByYXJlSW5oZXJpdGVkRGF0YS0+Y3Vy
c29yRGF0YS5nZXQoKTsgfQogCkBAIC0xMTk0LDYgKzEyMDYsMTAgQEAgcHVibGljOgogICAgIHZv
aWQgc2V0Q3Vyc29yTGlzdChQYXNzUmVmUHRyPEN1cnNvckxpc3Q+KTsKICAgICB2b2lkIGNsZWFy
Q3Vyc29yTGlzdCgpOwogCisjaWYgRU5BQkxFKENVUlNPUl9WSVNJQklMSVRZKQorICAgIHZvaWQg
c2V0Q3Vyc29yVmlzaWJpbGl0eShDdXJzb3JWaXNpYmlsaXR5IGMpIHsgaW5oZXJpdGVkX2ZsYWdz
Lm1fY3Vyc29yVmlzaWJpbGl0eSA9IGM7IH0KKyNlbmRpZgorCiAgICAgdm9pZCBzZXRJbnNpZGVM
aW5rKEVJbnNpZGVMaW5rIGluc2lkZUxpbmspIHsgaW5oZXJpdGVkX2ZsYWdzLl9pbnNpZGVMaW5r
ID0gaW5zaWRlTGluazsgfQogICAgIHZvaWQgc2V0SXNMaW5rKGJvb2wgYikgeyBub25pbmhlcml0
ZWRfZmxhZ3Muc2V0SXNMaW5rKGIpOyB9CiAKQEAgLTE1NTAsNiArMTU2Niw5IEBAIHB1YmxpYzoK
ICAgICBzdGF0aWMgc2hvcnQgaW5pdGlhbEhvcml6b250YWxCb3JkZXJTcGFjaW5nKCkgeyByZXR1
cm4gMDsgfQogICAgIHN0YXRpYyBzaG9ydCBpbml0aWFsVmVydGljYWxCb3JkZXJTcGFjaW5nKCkg
eyByZXR1cm4gMDsgfQogICAgIHN0YXRpYyBFQ3Vyc29yIGluaXRpYWxDdXJzb3IoKSB7IHJldHVy
biBDVVJTT1JfQVVUTzsgfQorI2lmIEVOQUJMRShDVVJTT1JfVklTSUJJTElUWSkKKyAgICBzdGF0
aWMgQ3Vyc29yVmlzaWJpbGl0eSBpbml0aWFsQ3Vyc29yVmlzaWJpbGl0eSgpIHsgcmV0dXJuIENV
UlNPUl9WSVNJQklMSVRZX0FVVE87IH0KKyNlbmRpZgogICAgIHN0YXRpYyBDb2xvciBpbml0aWFs
Q29sb3IoKSB7IHJldHVybiBDb2xvcjo6YmxhY2s7IH0KICAgICBzdGF0aWMgU3R5bGVJbWFnZSog
aW5pdGlhbExpc3RTdHlsZUltYWdlKCkgeyByZXR1cm4gMDsgfQogICAgIHN0YXRpYyB1bnNpZ25l
ZCBpbml0aWFsQm9yZGVyV2lkdGgoKSB7IHJldHVybiAzOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCmluZGV4IDhjMmMw
YjU4NmY0YjQ4ZWE5YWQ0MmQwMmFjYmMyNDQyNWUxZDcxMzYuLmY4NjQ2ODg2OGQ2N2JjMjAwM2Rl
MzIzYTNjNDc0OWI0ZDMzMzg4YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCkBAIC00MTgsNiArNDE4LDEzIEBAIGVu
dW0gRUN1cnNvciB7CiAgICAgQ1VSU09SX05PTkUKIH07CiAKKyNpZiBFTkFCTEUoQ1VSU09SX1ZJ
U0lCSUxJVFkpCitlbnVtIEN1cnNvclZpc2liaWxpdHkgeworICAgIENVUlNPUl9WSVNJQklMSVRZ
X0FVVE8sCisgICAgQ1VSU09SX1ZJU0lCSUxJVFlfQVVUT19ISURFLAorfTsKKyNlbmRpZgorCiAv
LyBUaGUgb3JkZXIgb2YgdGhpcyBlbnVtIG11c3QgbWF0Y2ggdGhlIG9yZGVyIG9mIHRoZSBkaXNw
bGF5IHZhbHVlcyBpbiBDU1NWYWx1ZUtleXdvcmRzLmluLgogZW51bSBFRGlzcGxheSB7CiAgICAg
SU5MSU5FLCBCTE9DSywgTElTVF9JVEVNLCBSVU5fSU4sIENPTVBBQ1QsIElOTElORV9CTE9DSywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCmluZGV4IDEyNjJh
ZWY1ZjAzZjY4YjhlYzZiNGI2ZmUwMTZlMzUxYmM1NWVmNTAuLmMwZjU4NzdhNDg3OWIxY2FlZWVi
Yjc3MTU1ZDVjNmZiY2ZlYjQwYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxTZXR0aW5ncy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bFNldHRpbmdzLmNwcApAQCAtOTQsNiArOTQsNyBAQCBJbnRlcm5hbFNldHRpbmdzOjpCYWNrdXA6
OkJhY2t1cChTZXR0aW5ncyogc2V0dGluZ3MpCiAgICAgLCBtX3Nob3VsZERpc3BsYXlDYXB0aW9u
cyhzZXR0aW5ncy0+c2hvdWxkRGlzcGxheUNhcHRpb25zKCkpCiAgICAgLCBtX3Nob3VsZERpc3Bs
YXlUZXh0RGVzY3JpcHRpb25zKHNldHRpbmdzLT5zaG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9u
cygpKQogI2VuZGlmCisgICAgLCBtX29yaWdpbmFsVGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVm
b3JlSGlkaW5nQ29udHJvbHMoc2V0dGluZ3MtPnRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9y
ZUhpZGluZ0NvbnRyb2xzKCkpCiB7CiB9CiAKQEAgLTEyOSw2ICsxMzAsNyBAQCB2b2lkIEludGVy
bmFsU2V0dGluZ3M6OkJhY2t1cDo6cmVzdG9yZVRvKFNldHRpbmdzKiBzZXR0aW5ncykKICAgICBz
ZXR0aW5ncy0+c2V0U2hvdWxkRGlzcGxheUNhcHRpb25zKG1fc2hvdWxkRGlzcGxheUNhcHRpb25z
KTsKICAgICBzZXR0aW5ncy0+c2V0U2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnMobV9zaG91
bGREaXNwbGF5VGV4dERlc2NyaXB0aW9ucyk7CiAjZW5kaWYKKyAgICBzZXR0aW5ncy0+c2V0VGlt
ZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMobV9vcmlnaW5hbFRpbWVX
aXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKTsKIH0KIAogLy8gV2UgY2Fu
J3QgdXNlIFJlZkNvdW50ZWRTdXBwbGVtZW50IGJlY2F1c2UgdGhhdCB3b3VsZCB0cnkgdG8gbWFr
ZSBJbnRlcm5hbFNldHRpbmdzIFJlZkNvdW50ZWQKQEAgLTQ4Nyw0ICs0ODksMTAgQEAgdm9pZCBJ
bnRlcm5hbFNldHRpbmdzOjpzZXRNaW5pbXVtVGltZXJJbnRlcnZhbChkb3VibGUgaW50ZXJ2YWxJ
blNlY29uZHMsIEV4Y2VwdGkKICAgICBzZXR0aW5ncygpLT5zZXRNaW5ET01UaW1lckludGVydmFs
KGludGVydmFsSW5TZWNvbmRzKTsKIH0KIAordm9pZCBJbnRlcm5hbFNldHRpbmdzOjpzZXRUaW1l
V2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyhkb3VibGUgdGltZSwgRXhj
ZXB0aW9uQ29kZSYgZWMpCit7CisgICAgSW50ZXJuYWxTZXR0aW5nc0d1YXJkRm9yU2V0dGluZ3Mo
KTsKKyAgICBzZXR0aW5ncygpLT5zZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRp
bmdDb250cm9scyh0aW1lKTsKK30KKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbFNldHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
U2V0dGluZ3MuaAppbmRleCBkNjcyNGRhNjliZmM4ZDAxZWFkZDBjNTk5MWFmOTc3ZGMxMTE4ODI4
Li4yNWMyNWZlMDg4NDA0YjRiYmJmYzYzYWQ2MTJkOTEyMWYzMGRhYjY2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaApAQCAtODIsNiArODIsNyBAQCBwdWJsaWM6
CiAgICAgICAgIGJvb2wgbV9zaG91bGREaXNwbGF5Q2FwdGlvbnM7CiAgICAgICAgIGJvb2wgbV9z
aG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9uczsKICNlbmRpZgorICAgICAgICBib29sIG1fb3Jp
Z2luYWxUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9sczsKICAgICB9
OwogCiAgICAgc3RhdGljIFBhc3NSZWZQdHI8SW50ZXJuYWxTZXR0aW5ncz4gY3JlYXRlKFBhZ2Uq
IHBhZ2UpCkBAIC0xMjYsNiArMTI3LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0TGFuZ0F0dHJp
YnV0ZUF3YXJlRm9ybUNvbnRyb2xVSUVuYWJsZWQoYm9vbCk7CiAgICAgdm9pZCBzZXRJbWFnZXNF
bmFibGVkKGJvb2wgZW5hYmxlZCwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZvaWQgc2V0TWluaW11
bVRpbWVySW50ZXJ2YWwoZG91YmxlIGludGVydmFsSW5TZWNvbmRzLCBFeGNlcHRpb25Db2RlJik7
CisgICAgdm9pZCBzZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9s
cyhkb3VibGUgdGltZSwgRXhjZXB0aW9uQ29kZSYpOwogCiBwcml2YXRlOgogICAgIGV4cGxpY2l0
IEludGVybmFsU2V0dGluZ3MoUGFnZSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxTZXR0aW5ncy5pZGwKaW5kZXggNWRkYjBhZTczYWUzNDE4MDQ2MWZkMDE2YWI3NWZhZWVjMzMx
M2MxNC4uZGQzNDE2MDE1MmVmYWUyZDdkZTVkNzdjYzQwNDc0YjE3YTNlNjlmNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsCkBAIC01OSw0ICs1OSw1IEBA
CiAgICAgdm9pZCBzZXRTdG9yYWdlQmxvY2tpbmdQb2xpY3koaW4gRE9NU3RyaW5nIHBvbGljeSkg
cmFpc2VzKERPTUV4Y2VwdGlvbik7CiAgICAgdm9pZCBzZXRJbWFnZXNFbmFibGVkKGluIGJvb2xl
YW4gZW5hYmxlZCkgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAgICAgdm9pZCBzZXRNaW5pbXVtVGlt
ZXJJbnRlcnZhbChpbiBkb3VibGUgaW50ZXJ2YWxJblNlY29uZHMpIHJhaXNlcyhET01FeGNlcHRp
b24pOworICAgIHZvaWQgc2V0VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29u
dHJvbHMoaW4gZG91YmxlIHRpbWUpIHJhaXNlcyhET01FeGNlcHRpb24pOwogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0LnZjeHByb2ovRmVhdHVyZURlZmluZXMucHJvcHMgYi9T
b3VyY2UvV2ViS2l0L1dlYktpdC52Y3hwcm9qL0ZlYXR1cmVEZWZpbmVzLnByb3BzCmluZGV4IGU1
OTU3NThkMjUxZmY2YjliODcwZjYxZWU5MDEwZWU0ZDUzNmZlNzcuLmFhMDUxMDM4ZjAzYWI0NmU1
YTUzYmI4MzI4Mzk3NmMyMzRlODNlYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0
LnZjeHByb2ovRmVhdHVyZURlZmluZXMucHJvcHMKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQu
dmN4cHJvai9GZWF0dXJlRGVmaW5lcy5wcm9wcwpAQCAtMTksNiArMTksNyBAQAogICAgIDxFTkFC
TEVfQ1NTX1NIQURFUlMgLz4NCiAgICAgPEVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lUSU9OPkVOQUJM
RV9DU1NfU1RJQ0tZX1BPU0lUSU9OPC9FTkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTj4NCiAgICAg
PEVOQUJMRV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1RSQU5TSVRJT05TX1VOUFJFRklYRUQ+
RU5BQkxFX0NTU19UUkFOU0ZPUk1TX0FOSU1BVElPTlNfVFJBTlNJVElPTlNfVU5QUkVGSVhFRDwv
RU5BQkxFX0NTU19UUkFOU0ZPUk1TX0FOSU1BVElPTlNfVFJBTlNJVElPTlNfVU5QUkVGSVhFRD4N
CisgICAgPEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWT5FTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFk8
L0VOQUJMRV9DVVJTT1JfVklTSUJJTElUWT4NCiAgICAgPEVOQUJMRV9DVVNUT01fU0NIRU1FX0hB
TkRMRVIgLz4NCiAgICAgPEVOQUJMRV9EQVRBR1JJRCAvPg0KICAgICA8RU5BQkxFX0RBVEFMSVNU
X0VMRU1FTlQgLz4NCkBAIC04Nyw3ICs4OCw3IEBACiAgIDwvUHJvcGVydHlHcm91cD4NCiAgIDxJ
dGVtRGVmaW5pdGlvbkdyb3VwPg0KICAgICA8Q2xDb21waWxlPg0KLSAgICAgIDxQcmVwcm9jZXNz
b3JEZWZpbml0aW9ucz4kKEVOQUJMRV9JRlJBTUVfU0VBTUxFU1MpOyQoRU5BQkxFX1JFUVVFU1Rf
QU5JTUFUSU9OX0ZSQU1FKTskKEVOQUJMRV8zRF9SRU5ERVJJTkcpOyQoRU5BQkxFX0FDQ0VMRVJB
VEVEXzJEX0NBTlZBUyk7JChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKTsk
KEVOQUJMRV9CTE9CKTskKEVOQUJMRV9DQU5WQVNfUFJPWFkpOyQoRU5BQkxFX0NIQU5ORUxfTUVT
U0FHSU5HKTskKEVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTKTskKEVOQUJMRV9DU1MzX1RF
WFQpOyQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSyk7JChFTkFCTEVfQ1NTX0ZJTFRF
UlMpOyQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCk7JChFTkFCTEVfQ1NTX1NIQURFUlMpOyQoRU5B
QkxFX0NTU19DT01QT1NJVElORyk7JChFTkFCTEVfQ1NTX1JFR0lPTlMpOyQoRU5BQkxFX0NTU19F
WENMVVNJT05TKTskKEVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lUSU9OKTskKEVOQUJMRV9DU1NfVFJB
TlNGT1JNU19BTklNQVRJT05TX1RSQU5TSVRJT05TX1VOUFJFRklYRUQpOyQoRU5BQkxFX0NVU1RP
TV9TQ0hFTUVfSEFORExFUik7JChFTkFCTEVfU1FMX0RBVEFCQVNFKTskKEVOQUJMRV9EQVRBR1JJ
RCk7JChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCk7JChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVN
Uyk7JChFTkFCTEVfREVUQUlMU19FTEVNRU5UKTskKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04p
OyQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpOyQoRU5BQkxFX0ZJTFRFUlMpOyQoRU5BQkxFX0ZJ
TEVfU1lTVEVNKTskKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSk7JChFTkFCTEVfR0FNRVBBRCk7JChF
TkFCTEVfR0VPTE9DQVRJT04pOyQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRM
SU5HKTskKEVOQUJMRV9ISUdIX0RQSV9DQU5WQVMpOyQoRU5BQkxFX0lDT05EQVRBQkFTRSk7JChF
TkFCTEVfSU5ERVhFRF9EQVRBQkFTRSk7JChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUik7JChFTkFC
TEVfSU5QVVRfU1BFRUNIKTskKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpOyQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURVRJTUUpOyQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCk7JChFTkFC
TEVfSU5QVVRfVFlQRV9NT05USCk7JChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKTskKEVOQUJMRV9J
TlBVVF9UWVBFX1dFRUspOyQoRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIpOyQoRU5BQkxFX0xF
R0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKTskKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUyk7
JChFTkFCTEVfTElOS19QUkVGRVRDSCk7JChFTkFCTEVfTElOS19QUkVSRU5ERVIpOyQoRU5BQkxF
X01BVEhNTCk7JChFTkFCTEVfTUVURVJfRUxFTUVOVCk7JChFTkFCTEVfTUlDUk9EQVRBKTskKEVO
QUJMRV9OT1RJRklDQVRJT05TKTskKEVOQUJMRV9QQUdFX1ZJU0lCSUxJVFlfQVBJKTskKEVOQUJM
RV9QUk9HUkVTU19FTEVNRU5UKTskKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKTskKEVOQUJMRV9R
VU9UQSk7JChFTkFCTEVfUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUik7JChFTkFCTEVfU0NSSVBU
RURfU1BFRUNIKTskKEVOQUJMRV9TSEFET1dfRE9NKTskKEVOQUJMRV9TSEFSRURfV09SS0VSUyk7
JChFTkFCTEVfU1RZTEVfU0NPUEVEKTskKEVOQUJMRV9TVkcpOyQoRU5BQkxFX1NWR19ET01fT0JK
Q19CSU5ESU5HUyk7JChFTkFCTEVfU1ZHX0ZPTlRTKTskKEVOQUJMRV9TVUJQSVhFTF9MQVlPVVQp
OyQoRU5BQkxFX1RFWFRfQVVUT1NJWklORyk7JChFTkFCTEVfVU5ET19NQU5BR0VSKTskKEVOQUJM
RV9WSURFTyk7RU5BQkxFX1ZJREVPX1RSQUNLOyQoRU5BQkxFX01FRElBX1NPVVJDRSk7JChFTkFC
TEVfTUVESUFfU1RBVElTVElDUyk7JChFTkFCTEVfV0VCX1NPQ0tFVFMpOyQoRU5BQkxFX1dFQl9U
SU1JTkcpOyQoRU5BQkxFX1dPUktFUlMpOyQoRU5BQkxFX1hTTFQpOyUoUHJlcHJvY2Vzc29yRGVm
aW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4NCisgICAgICA8UHJlcHJvY2Vzc29y
RGVmaW5pdGlvbnM+JChFTkFCTEVfSUZSQU1FX1NFQU1MRVNTKTskKEVOQUJMRV9SRVFVRVNUX0FO
SU1BVElPTl9GUkFNRSk7JChFTkFCTEVfM0RfUkVOREVSSU5HKTskKEVOQUJMRV9BQ0NFTEVSQVRF
RF8yRF9DQU5WQVMpOyQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORyk7JChF
TkFCTEVfQkxPQik7JChFTkFCTEVfQ0FOVkFTX1BST1hZKTskKEVOQUJMRV9DSEFOTkVMX01FU1NB
R0lORyk7JChFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUyk7JChFTkFCTEVfQ1NTM19URVhU
KTskKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspOyQoRU5BQkxFX0NTU19GSUxURVJT
KTskKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpOyQoRU5BQkxFX0NTU19TSEFERVJTKTskKEVOQUJM
RV9DU1NfQ09NUE9TSVRJTkcpOyQoRU5BQkxFX0NTU19SRUdJT05TKTskKEVOQUJMRV9DU1NfRVhD
TFVTSU9OUyk7JChFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTik7JChFTkFCTEVfQ1NTX1RSQU5T
Rk9STVNfQU5JTUFUSU9OU19UUkFOU0lUSU9OU19VTlBSRUZJWEVEKTskKEVOQUJMRV9DVVJTT1Jf
VklTSUJJTElUWSk7JChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKTskKEVOQUJMRV9TUUxf
REFUQUJBU0UpOyQoRU5BQkxFX0RBVEFHUklEKTskKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKTsk
KEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKTskKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpOyQo
RU5BQkxFX0RFVklDRV9PUklFTlRBVElPTik7JChFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCk7JChF
TkFCTEVfRklMVEVSUyk7JChFTkFCTEVfRklMRV9TWVNURU0pOyQoRU5BQkxFX0ZVTExTQ1JFRU5f
QVBJKTskKEVOQUJMRV9HQU1FUEFEKTskKEVOQUJMRV9HRU9MT0NBVElPTik7JChFTkFCTEVfSElE
REVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpOyQoRU5BQkxFX0hJR0hfRFBJX0NBTlZBUyk7
JChFTkFCTEVfSUNPTkRBVEFCQVNFKTskKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKTskKEVOQUJM
RV9JTlBVVF9UWVBFX0NPTE9SKTskKEVOQUJMRV9JTlBVVF9TUEVFQ0gpOyQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURSk7JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRSk7JChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFVElNRUxPQ0FMKTskKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKTskKEVOQUJMRV9J
TlBVVF9UWVBFX1RJTUUpOyQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSyk7JChFTkFCTEVfSkFWQVND
UklQVF9ERUJVR0dFUik7JChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpOyQoRU5B
QkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKTskKEVOQUJMRV9MSU5LX1BSRUZFVENIKTskKEVOQUJM
RV9MSU5LX1BSRVJFTkRFUik7JChFTkFCTEVfTUFUSE1MKTskKEVOQUJMRV9NRVRFUl9FTEVNRU5U
KTskKEVOQUJMRV9NSUNST0RBVEEpOyQoRU5BQkxFX05PVElGSUNBVElPTlMpOyQoRU5BQkxFX1BB
R0VfVklTSUJJTElUWV9BUEkpOyQoRU5BQkxFX1BST0dSRVNTX0VMRU1FTlQpOyQoRU5BQkxFX1BS
T1hJTUlUWV9FVkVOVFMpOyQoRU5BQkxFX1FVT1RBKTskKEVOQUJMRV9SRUdJU1RFUl9QUk9UT0NP
TF9IQU5ETEVSKTskKEVOQUJMRV9TQ1JJUFRFRF9TUEVFQ0gpOyQoRU5BQkxFX1NIQURPV19ET00p
OyQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKTskKEVOQUJMRV9TVFlMRV9TQ09QRUQpOyQoRU5BQkxF
X1NWRyk7JChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKTskKEVOQUJMRV9TVkdfRk9OVFMp
OyQoRU5BQkxFX1NVQlBJWEVMX0xBWU9VVCk7JChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKTskKEVO
QUJMRV9VTkRPX01BTkFHRVIpOyQoRU5BQkxFX1ZJREVPKTtFTkFCTEVfVklERU9fVFJBQ0s7JChF
TkFCTEVfTUVESUFfU09VUkNFKTskKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKTskKEVOQUJMRV9X
RUJfU09DS0VUUyk7JChFTkFCTEVfV0VCX1RJTUlORyk7JChFTkFCTEVfV09SS0VSUyk7JChFTkFC
TEVfWFNMVCk7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRp
b25zPg0KICAgICA8L0NsQ29tcGlsZT4NCiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4NCiAgIDxJ
dGVtR3JvdXA+DQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCA4NmMwMjY3NzliNDM4MGZiNDM0M2FiYjU5
M2Y1MjYxYjUwODNhYWJkLi40NGQ1NDE2YTU0NjY0Njg2M2ExYzg0YWVlZTM0YzkxMTNlN2MzZjNk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNTgsNiArNTgsNyBAQCBFTkFCTEVfQ1NTX1ZBUklBQkxF
UyA9IDsKIEVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTID0gOwogRU5BQkxFX0NTUzNfVEVY
VCA9IDsKIEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSyA9IDsKK0VOQUJMRV9DVVJTT1JfVklT
SUJJTElUWSA9IEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWTsKIEVOQUJMRV9DVVNUT01fU0NIRU1F
X0hBTkRMRVIgPSA7CiBFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQgPSAkKEVOQUJMRV9EQVNIQk9B
UkRfU1VQUE9SVF8kKFBMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVF9t
YWNvc3ggPSBFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQ7CkBAIC0xODMsNCArMTg0LDQgQEAgRU5B
QkxFX1dPUktFUlMgPSBFTkFCTEVfV09SS0VSUzsKIEVOQUJMRV9YSFJfVElNRU9VVCA9IEVOQUJM
RV9YSFJfVElNRU9VVDsKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVG
SU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FO
VkFTKSAkKEVOQUJMRV9CTE9CKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxF
X0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVT
U0FHSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JS
RUFLKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19FWENMVVNJ
T05TKSAkKEVOQUJMRV9DU1NfRklMVEVSUykgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9O
KSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQo
RU5BQkxFX0NTU19TSEFERVJTKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NT
U19TVElDS1lfUE9TSVRJT04pICQoRU5BQkxFX0NTU19UUkFOU0ZPUk1TX0FOSU1BVElPTlNfVU5Q
UkVGSVhFRCkgJChFTkFCTEVfQ1NTX1ZBUklBQkxFUykgJChFTkFCTEVfQ1NTM19DT05ESVRJT05B
TF9SVUxFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVB
SykgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQ
UE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9J
VEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJ
T04pICQoRU5BQkxFX0RJQUxPR19FTEVNRU5UKSAkKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKSAk
KEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRFJBR0dBQkxFX1JFR0lP
TikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIp
ICQoRU5BQkxFX0ZJTEVfU1lTVEVNKSAkKEVOQUJMRV9GSUxURVJTKSAkKEVOQUJMRV9GT05UX0xP
QURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChF
TkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRM
SU5HKSAkKEVOQUJMRV9ISUdIX0RQSV9DQU5WQVMpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChF
TkFCTEVfSUZSQU1FX1NFQU1MRVNTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJM
RV9JTlBVVF9TUEVFQ0gpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSkFWQVND
UklQVF9ERUJVR0dFUikgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5B
QkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVT
KSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVO
QUJMRV9MSU5LX1BSRVJFTkRFUikgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9TT1VS
Q0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQo
RU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NSUNST0RBVEEpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9T
Q0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05PVElGSUNB
VElPTlMpICQoRU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkpICQoRU5BQkxFX1BERktJVF9QTFVH
SU4pICQoRU5BQkxFX1BMVUdJTl9QUk9YWV9GT1JfVklERU8pICQoRU5BQkxFX1BST0dSRVNTX0VM
RU1FTlQpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhf
TElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAk
KEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9TQ1JJUFRFRF9TUEVFQ0gp
ICQoRU5BQkxFX1NIQURPV19ET00pICQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9T
UEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TUUxfREFUQUJBU0UpICQoRU5BQkxFX1NUWUxFX1ND
T1BFRCkgJChFTkFCTEVfU1VCUElYRUxfTEFZT1VUKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NW
R19ET01fT0JKQ19CSU5ESU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URU1QTEFU
RV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RFWFRfTk9USUZJ
Q0FUSU9OU19PTkxZKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX1VTRVJT
RUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxF
X1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJM
RV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChF
TkFCTEVfWFNMVCkgJChGRUFUVVJFX0RFRklORVNfJChQTEFURk9STV9OQU1FKSk7CitGRUFUVVJF
X0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJE
X0NBTlZBUykgJChFTkFCTEVfQkxPQikgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVO
QUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVM
X01FU1NBR0lORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElP
Tl9CUkVBSykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfRVhD
TFVTSU9OUykgJChFTkFCTEVfQ1NTX0ZJTFRFUlMpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRB
VElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05T
KSAkKEVOQUJMRV9DU1NfU0hBREVSUykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJM
RV9DU1NfU1RJQ0tZX1BPU0lUSU9OKSAkKEVOQUJMRV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05T
X1VOUFJFRklYRUQpICQoRU5BQkxFX0NTU19WQVJJQUJMRVMpICQoRU5BQkxFX0NTUzNfQ09ORElU
SU9OQUxfUlVMRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVf
QlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1F
X0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9F
TEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VM
RU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRElBTE9HX0VMRU1F
TlQpICQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNU
UlVDVE9SKSAkKEVOQUJMRV9EUkFHR0FCTEVfUkVHSU9OKSAkKEVOQUJMRV9FTkNSWVBURURfTUVE
SUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMRV9TWVNURU0pICQo
RU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExT
Q1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFC
TEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0hJR0hfRFBJX0NB
TlZBUykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JRlJBTUVfU0VBTUxFU1MpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1NQRUVDSCkgJChFTkFCTEVf
SU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEVUSU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5B
QkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9M
RUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMp
ICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVE
SU8pICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX0xJTktfUFJFUkVOREVSKSAkKEVO
QUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElT
VElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01J
Q1JPREFUQSkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1Jf
Q09OVEVOVF9VVElMUykgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFHRV9WSVNJ
QklMSVRZX0FQSSkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUExVR0lOX1BST1hZ
X0ZPUl9WSURFTykgJChFTkFCTEVfUFJPR1JFU1NfRUxFTUVOVCkgJChFTkFCTEVfUFJPWElNSVRZ
X0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChF
TkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFf
UVVFUlkpICQoRU5BQkxFX1NDUklQVEVEX1NQRUVDSCkgJChFTkFCTEVfU0hBRE9XX0RPTSkgJChF
TkFCTEVfU0hBUkVEX1dPUktFUlMpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxF
X1NRTF9EQVRBQkFTRSkgJChFTkFCTEVfU1RZTEVfU0NPUEVEKSAkKEVOQUJMRV9TVUJQSVhFTF9M
QVlPVVQpICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVO
QUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRf
QVVUT1NJWklORykgJChFTkFCTEVfVEVYVF9OT1RJRklDQVRJT05TX09OTFkpICQoRU5BQkxFX1RP
VUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVP
KSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJ
TykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dP
UktFUlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEZFQVRVUkVfREVG
SU5FU18kKFBMQVRGT1JNX05BTUUpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYktpdDIvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggODZjMDI2Nzc5YjQzODBmYjQz
NDNhYmI1OTNmNTI2MWI1MDgzYWFiZC4uNDRkNTQxNmE1NDY2NDY4NjNhMWM4NGFlZWUzNGM5MTEz
ZTdjM2YzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcKQEAgLTU4LDYgKzU4LDcgQEAgRU5BQkxFX0NTU19WQVJJQUJM
RVMgPSA7CiBFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUyA9IDsKIEVOQUJMRV9DU1MzX1RF
WFQgPSA7CiBFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUsgPSA7CitFTkFCTEVfQ1VSU09SX1ZJ
U0lCSUxJVFkgPSBFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFk7CiBFTkFCTEVfQ1VTVE9NX1NDSEVN
RV9IQU5ETEVSID0gOwogRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUID0gJChFTkFCTEVfREFTSEJP
QVJEX1NVUFBPUlRfJChQTEFURk9STV9OQU1FKSk7CiBFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlRf
bWFjb3N4ID0gRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUOwpAQCAtMTgzLDQgKzE4NCw0IEBAIEVO
QUJMRV9XT1JLRVJTID0gRU5BQkxFX1dPUktFUlM7CiBFTkFCTEVfWEhSX1RJTUVPVVQgPSBFTkFC
TEVfWEhSX1RJTUVPVVQ7CiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RF
RklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NB
TlZBUykgJChFTkFCTEVfQkxPQikgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJM
RV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01F
U1NBR0lORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9C
UkVBSykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfRVhDTFVT
SU9OUykgJChFTkFCTEVfQ1NTX0ZJTFRFUlMpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElP
TikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAk
KEVOQUJMRV9DU1NfU0hBREVSUykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9D
U1NfU1RJQ0tZX1BPU0lUSU9OKSAkKEVOQUJMRV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1VO
UFJFRklYRUQpICQoRU5BQkxFX0NTU19WQVJJQUJMRVMpICQoRU5BQkxFX0NTUzNfQ09ORElUSU9O
QUxfUlVMRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJF
QUspICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NV
UFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJf
SVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFU
SU9OKSAkKEVOQUJMRV9ESUFMT0dfRUxFTUVOVCkgJChFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCkg
JChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0RSQUdHQUJMRV9SRUdJ
T04pICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1Yy
KSAkKEVOQUJMRV9GSUxFX1NZU1RFTSkgJChFTkFCTEVfRklMVEVSUykgJChFTkFCTEVfRk9OVF9M
T0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQo
RU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RU
TElORykgJChFTkFCTEVfSElHSF9EUElfQ0FOVkFTKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQo
RU5BQkxFX0lGUkFNRV9TRUFNTEVTUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFC
TEVfSU5QVVRfU1BFRUNIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVf
SU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0pBVkFT
Q1JJUFRfREVCVUdHRVIpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVO
QUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhF
UykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChF
TkFCTEVfTElOS19QUkVSRU5ERVIpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfU09V
UkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAk
KEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTUlDUk9EQVRBKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1Jf
U0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OT1RJRklD
QVRJT05TKSAkKEVOQUJMRV9QQUdFX1ZJU0lCSUxJVFlfQVBJKSAkKEVOQUJMRV9QREZLSVRfUExV
R0lOKSAkKEVOQUJMRV9QTFVHSU5fUFJPWFlfRk9SX1ZJREVPKSAkKEVOQUJMRV9QUk9HUkVTU19F
TEVNRU5UKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklY
X0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkg
JChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfU0NSSVBURURfU1BFRUNI
KSAkKEVOQUJMRV9TSEFET1dfRE9NKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVf
U1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1FMX0RBVEFCQVNFKSAkKEVOQUJMRV9TVFlMRV9T
Q09QRUQpICQoRU5BQkxFX1NVQlBJWEVMX0xBWU9VVCkgJChFTkFCTEVfU1ZHKSAkKEVOQUJMRV9T
VkdfRE9NX09CSkNfQklORElOR1MpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVNUExB
VEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9URVhUX05PVElG
SUNBVElPTlNfT05MWSkgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9VU0VS
U0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJM
RV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFC
TEVfV0VCX1RJTUlORykgJChFTkFCTEVfV09SS0VSUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQo
RU5BQkxFX1hTTFQpICQoRkVBVFVSRV9ERUZJTkVTXyQoUExBVEZPUk1fTkFNRSkpOworRkVBVFVS
RV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8y
RF9DQU5WQVMpICQoRU5BQkxFX0JMT0IpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChF
TkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5F
TF9NRVNTQUdJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJ
T05fQlJFQUspICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0VY
Q0xVU0lPTlMpICQoRU5BQkxFX0NTU19GSUxURVJTKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5U
QVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9O
UykgJChFTkFCTEVfQ1NTX1NIQURFUlMpICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFC
TEVfQ1NTX1NUSUNLWV9QT1NJVElPTikgJChFTkFCTEVfQ1NTX1RSQU5TRk9STVNfQU5JTUFUSU9O
U19VTlBSRUZJWEVEKSAkKEVOQUJMRV9DU1NfVkFSSUFCTEVTKSAkKEVOQUJMRV9DU1MzX0NPTkRJ
VElPTkFMX1JVTEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5F
X0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVN
RV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1Rf
RUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19F
TEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RJQUxPR19FTEVN
RU5UKSAkKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05T
VFJVQ1RPUikgJChFTkFCTEVfRFJBR0dBQkxFX1JFR0lPTikgJChFTkFCTEVfRU5DUllQVEVEX01F
RElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTEVfU1lTVEVNKSAk
KEVOQUJMRV9GSUxURVJTKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxM
U0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5B
QkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9ISUdIX0RQSV9D
QU5WQVMpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSUZSQU1FX1NFQU1MRVNTKSAk
KEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTlBVVF9TUEVFQ0gpICQoRU5BQkxF
X0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFCTEVf
TEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05T
KSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FV
RElPKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9MSU5LX1BSRVJFTkRFUikgJChF
TkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJ
U1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9N
SUNST0RBVEEpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9S
X0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBR0VfVklT
SUJJTElUWV9BUEkpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BMVUdJTl9QUk9Y
WV9GT1JfVklERU8pICQoRU5BQkxFX1BST0dSRVNTX0VMRU1FTlQpICQoRU5BQkxFX1BST1hJTUlU
WV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQo
RU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElB
X1FVRVJZKSAkKEVOQUJMRV9TQ1JJUFRFRF9TUEVFQ0gpICQoRU5BQkxFX1NIQURPV19ET00pICQo
RU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJM
RV9TUUxfREFUQUJBU0UpICQoRU5BQkxFX1NUWUxFX1NDT1BFRCkgJChFTkFCTEVfU1VCUElYRUxf
TEFZT1VUKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUykgJChF
TkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhU
X0FVVE9TSVpJTkcpICQoRU5BQkxFX1RFWFRfTk9USUZJQ0FUSU9OU19PTkxZKSAkKEVOQUJMRV9U
T1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURF
TykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVE
SU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9X
T1JLRVJTKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChGRUFUVVJFX0RF
RklORVNfJChQTEFURk9STV9OQU1FKSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZTljZjdlZGJmODAwNjgyZjYyZGU0Zjcx
OTg3ZTk2ZDk3MDc1MmUxZS4uMjM0ZjFhNzc4MjkxYWM0MmQ5YWFjZGNhNzc0YWEwOWFlMTM5NjZi
ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEzLTAxLTIzICBKZXIgTm9ibGUgIDxqZXIubm9i
bGVAYXBwbGUuY29tPgorCisgICAgICAgIERlZmF1bHQgbW91c2UgY3Vyc29yIGJlaGF2aW9yIHNo
b3VsZCBiZSBhdXRvLWhpZGUgZm9yIGZ1bGwgc2NyZWVuIHZpZGVvIHdpdGggY3VzdG9tIGNvbnRy
b2xzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDc2
MDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZ1
bGxzY3JlZW4vdmlkZW8tY3Vyc29yLWF1dG8taGlkZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGZ1bGxzY3JlZW4vdmlkZW8tY3Vyc29yLWF1dG8taGlkZS5odG1sOiBBZGRlZC4KKwor
ICAgICAgICBBZGQgYW4gZXhwZWN0ZWQgZmFpbGluZyByZXN1bHQgaW4gcGxhdGZvcm1zIHdoaWNo
IGRvIG5vdCBlbmFibGUgQ1VSU09SX1ZJU0lCSUxJVFkuCisgICAgICAgICogcGxhdGZvcm0vY2hy
b21pdW0vVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvVGVzdEV4cGVj
dGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9xdC9UZXN0RXhwZWN0YXRpb25zOgorCisKIDIwMTMtMDMtMDQgIFJhZmFl
bCBXZWluc3RlaW4gIDxyYWZhZWx3QGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByMTQ0NTk1LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZnVsbHNjcmVl
bi92aWRlby1jdXJzb3ItYXV0by1oaWRlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Z1bGxz
Y3JlZW4vdmlkZW8tY3Vyc29yLWF1dG8taGlkZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2Vi
ZWZkZTFkMWMzNDU5YjA2NmZjM2QzMzE2ZDM5YWE3MzA4NGYxNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Z1bGxzY3JlZW4vdmlkZW8tY3Vyc29yLWF1dG8taGlkZS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSw3IEBACitUaGlzIHRlc3RzIHRoYXQgdGhlIGN1cnNvciBoaWRlcyBhZnRl
ciBob3ZlcmluZyBvdmVyIGEgdmlkZW8gZWxlbWVudCBpbiBmdWxsIHNjcmVlbiBtb2RlLgorCitF
VkVOVCh3ZWJraXRmdWxsc2NyZWVuY2hhbmdlKQorRVhQRUNURUQgKHdpbmRvdy5pbnRlcm5hbHMu
Z2V0Q3VycmVudEN1cnNvckluZm8oZG9jdW1lbnQpID09ICd0eXBlPVBvaW50ZXIgaG90U3BvdD0w
LDAnKSBPSworRVhQRUNURUQgKHdpbmRvdy5pbnRlcm5hbHMuZ2V0Q3VycmVudEN1cnNvckluZm8o
ZG9jdW1lbnQpID09ICd0eXBlPU5vbmUgaG90U3BvdD0wLDAnKSBPSworRU5EIE9GIFRFU1QKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZnVsbHNjcmVlbi92aWRlby1jdXJzb3ItYXV0by1oaWRl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mdWxsc2NyZWVuL3ZpZGVvLWN1cnNvci1hdXRvLWhpZGUuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41Nzc2NDFlYjE3YWZlNjIzNzI5YzkzMTRkNzg2ODRkYzc1ZTdiMGI1Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZnVsbHNjcmVlbi92aWRlby1jdXJzb3ItYXV0
by1oaWRlLmh0bWwKQEAgLTAsMCArMSwzMSBAQAorPGJvZHk+CisgICAgPHA+VGhpcyB0ZXN0cyB0
aGF0IHRoZSBjdXJzb3IgaGlkZXMgYWZ0ZXIgaG92ZXJpbmcgb3ZlciBhIHZpZGVvIGVsZW1lbnQg
aW4gZnVsbCBzY3JlZW4gbW9kZS48L3A+CisgICAgPGRpdiBpZD13cmFwcGVyPgorICAgICAgICA8
dmlkZW8gaWQ9InZpZGVvIiB3aWR0aD0iMzAwIj48L3ZpZGVvPgorICAgIDwvZGl2PgorICAgIDxz
Y3JpcHQgc3JjPSJmdWxsLXNjcmVlbi10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICB2YXIgd3JhcHBlciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd3cmFwcGVyJyk7
CisKKyAgICAgICAgZnVuY3Rpb24gY2hlY2tGb3JIaWRkZW5Nb3VzZSgpCisgICAgICAgIHsKKyAg
ICAgICAgICAgIHRlc3RFeHBlY3RlZCgnd2luZG93LmludGVybmFscy5nZXRDdXJyZW50Q3Vyc29y
SW5mbyhkb2N1bWVudCknLCAndHlwZT1Ob25lIGhvdFNwb3Q9MCwwJyk7CisgICAgICAgICAgICBl
bmRUZXN0KCk7CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiBmdWxsc2NyZWVuQ2hhbmdl
ZChldmVudCkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsK
KyAgICAgICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VGltZVdpdGhvdXRNb3VzZU1v
dmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMoMCk7CisgICAgICAgICAgICAgICAgd3JhcHBlckJv
eCA9IGludGVybmFscy5ib3VuZGluZ0JveCh3cmFwcGVyKTsKKyAgICAgICAgICAgICAgICBldmVu
dFNlbmRlci5tb3VzZU1vdmVUbyh3cmFwcGVyQm94LmxlZnQgKyB3cmFwcGVyQm94LndpZHRoIC8g
Miwgd3JhcHBlckJveC50b3AgKyB3cmFwcGVyQm94LmhlaWdodCAvIDIpOworICAgICAgICAgICAg
ICAgIHRlc3RFeHBlY3RlZCgnd2luZG93LmludGVybmFscy5nZXRDdXJyZW50Q3Vyc29ySW5mbyhk
b2N1bWVudCknLCAndHlwZT1Qb2ludGVyIGhvdFNwb3Q9MCwwJyk7CisgICAgICAgICAgICAgICAg
c2V0VGltZW91dChjaGVja0ZvckhpZGRlbk1vdXNlLCAwKTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBsb2dSZXN1bHQoZmFsc2UsICJ3aW5kb3cuaW50
ZXJuYWxzID09IHVuZGVmaW5lZCIpOworICAgICAgICB9CisgICAgICAgIHdhaXRGb3JFdmVudChk
b2N1bWVudCwgJ3dlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UnLCBmdWxsc2NyZWVuQ2hhbmdlZCk7Cisg
ICAgICAgIHJ1bldpdGhLZXlEb3duKGZ1bmN0aW9uKCl7d3JhcHBlci53ZWJraXRSZXF1ZXN0RnVs
bFNjcmVlbigpfSk7CisgICAgPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwppbmRleCBlOGUyNTExYWNmMzFjNDUyODhj
MGFiZTc2NTA0NDgyNzQ0OTVlNzVlLi44NGY5NzU1ZmYzMWI2OTRlZjQ4ZGY4NDIyY2VmZDY2Mjc1
Zjk1ODE1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhw
ZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3Rh
dGlvbnMKQEAgLTQ0MTIsMyArNDQxMiw2IEBAIGNyYnVnLmNvbS8xNzk1MDMgcGxhdGZvcm0vY2hy
b21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wvb2VzLXRleHR1cmUtaGFsCiAjIFRo
ZXNlIHRlc3QgYXJlIGZhaWxpbmcgc2luY2UgcjE0NDUxOQogd2Via2l0Lm9yZy9iLzEwOTc2OSBb
IE1hYyBdIGZhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvdG91Y2gtZ2VzdHVyZS1ub3Njcm9sbC1i
b2R5LXloaWRkZW4uaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzEwOTc2OSBbIE1hYyBd
IGZhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvdG91Y2gtZ2VzdHVyZS1ub3Njcm9sbC1ib2R5LXBy
b3BhZ2F0ZWQuaHRtbCBbIEZhaWx1cmUgXSAKKworIyBDVVJTT1JfVklTSUJJTElUWSBpcyBub3Qg
ZW5hYmxlZCBpbiBjaHJvbWl1bQord2Via2l0Lm9yZy9iLzEwNzYwMSBmdWxsc2NyZWVuL3ZpZGVv
LWN1cnNvci1hdXRvLWhpZGUuaHRtbCBbIEZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9l
ZmwvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAyNGZiYzI0MDFmNjQ3NWFlNmE4MWQyNjY3Mzg2ZWFm
ODQ1MDA0NzFkLi42NjRiZjVjYjZiZWM3NTZmM2ZhMjM5ZDZiYjg0OGUzZGE0NjQyYTIwIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucworKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTg2OSwzICsxODY5
LDYgQEAgd2Via2l0Lm9yZy9iLzExMDY1NCBjc3MzL2ZsZXhib3gvYnV0dG9uLmh0bWwgWyBGYWls
dXJlIF0KIAogIyBOZWVkIHN1cHBvcnQgZm9yIFJlc291cmNlSGFuZGxlOjpkaWRDaGFuZ2VQcmlv
cml0eSBhbmQgRFJUIHN1cHBvcnQKIHdlYmtpdC5vcmcvYi8xMTEwMTYgaHR0cC90ZXN0cy9sb2Fk
aW5nL3Byb21vdGUtaW1nLXByZWxvYWQtcHJpb3JpdHkuaHRtbCBbIEZhaWx1cmUgXQorCisjIENV
UlNPUl9WSVNJQklMSVRZIGlzIG5vdCBlbmFibGVkIGluIGVmbAord2Via2l0Lm9yZy9iLzEwNzYw
MSBmdWxsc2NyZWVuL3ZpZGVvLWN1cnNvci1hdXRvLWhpZGUuaHRtbCBbIEZhaWx1cmUgXQpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBl
Y3RhdGlvbnMKaW5kZXggNmY5MjMwYzQ2MmFjMzI0YjdjMDM3ZmRiMzA2YmQzY2Y2NWMzNTY1ZC4u
OGI0NTE0NGJiN2U4YWMxN2U1YzBlODA2NGY5MDVhYjJkZWQ4ZGYzMiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE0MDIsNiArMTQwMiw5IEBAIHdlYmtp
dC5vcmcvYi8xMTEwMTYgaHR0cC90ZXN0cy9sb2FkaW5nL3Byb21vdGUtaW1nLXByZWxvYWQtcHJp
b3JpdHkuaHRtbCBbIEZhaWx1CiAKIHdlYmtpdC5vcmcvYi8xMTEwNTggcGx1Z2lucy9wbHVnaW4t
Y2xpcC1zdWJmcmFtZS5odG1sIFsgRmFpbHVyZSBdCiAKKyMgQ1VSU09SX1ZJU0lCSUxJVFkgaXMg
bm90IGVuYWJsZWQgaW4gZ3RrCit3ZWJraXQub3JnL2IvMTA3NjAxIGZ1bGxzY3JlZW4vdmlkZW8t
Y3Vyc29yLWF1dG8taGlkZS5odG1sIFsgRmFpbHVyZSBdCisKICMvLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vCiAjIEVuZCBvZiBUZXN0cyBmYWlsaW5nCiAjLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvVGVzdEV4
cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1Rlc3RFeHBlY3RhdGlvbnMKaW5k
ZXggZGQxY2ZlYjgwMThjZTRhNjQwN2E1NDc5NDAzZmU1YTBlYzcxYjRhMS4uN2NkYWYwODExNTMw
NzQ4NDA1NjY0MTU1NGFmNTUwNDE3ZWI1Y2NhMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vcXQvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9U
ZXN0RXhwZWN0YXRpb25zCkBAIC0zNjAsNiArMzYwLDkgQEAgd2Via2l0Lm9yZy9iLzg1NDYzIGVk
aXRpbmcvaW5zZXJ0aW5nL3R5cGluZy1zcGFjZS10by10cmlnZ2VyLXNtYXJ0LWxpbmsuaHRtbAog
IyBnZXN0dXJlVHdvRmluZ2VyVGFwIG5vdCBpbXBsZW1lbnRlZCBieSB0aGlzIHBsYXRmb3JtIChp
bnRyb2R1Y2VkIGluIHIxMzI0MDYpCiB0b3VjaGFkanVzdG1lbnQvdG91Y2gtbGlua3MtdHdvLWZp
bmdlci10YXAuaHRtbAogCisjIENVUlNPUl9WSVNJQklMSVRZIGlzIG5vdCBlbmFibGVkIGluIHF0
Cit3ZWJraXQub3JnL2IvMTA3NjAxIGZ1bGxzY3JlZW4vdmlkZW8tY3Vyc29yLWF1dG8taGlkZS5o
dG1sIFsgRmFpbHVyZSBdCisKICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICMKICMgICAgICAgRmVhdHVy
ZSBub3QgeWV0IHN1cHBvcnRlZC4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICMKICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICMK
</data>
<flag name="review"
          id="212320"
          type_id="1"
          status="+"
          setter="bdakin"
    />
          </attachment>
      

    </bug>

</bugzilla>